@realtek/core-theme 0.0.272 → 0.0.274

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./Breadcrumb-C6BLIsQr.cjs"),t=require("./authApi-CiLt3WJ5.cjs"),n=require("./diceCandidateMapper-MB-yyU21.cjs");let r=require("react");r=e.Pr(r,1);let i=require("antd"),a=require("@ant-design/icons"),o=require("react/jsx-runtime"),s=require("react-router-dom"),c=require("dayjs");c=e.Pr(c,1);let l=require("prop-types");l=e.Pr(l,1);async function u(e,{method:n=`POST`,params:r={},body:i={}}={}){let a={"Content-Type":`application/json`,Authorization:`Bearer ${await t.i()}`},o=new URLSearchParams({moduleName:e});Object.entries(r).forEach(([e,t])=>{t!=null&&t!==``&&o.append(e,String(t))});let s={method:n,headers:a};(n===`POST`||n===`PUT`)&&(s.body=JSON.stringify(i??{}));let c=await fetch(`${t.b}/dashboard/cards?${o.toString()}`,s);if(!c.ok)throw Error(`API ${c.status}: ${c.statusText}`);return c.json()}async function d(e={}){let n=await t.i(),r=await fetch(`${t.b}/dynamic-common-count`,{method:`POST`,headers:{"Content-Type":`application/json`,Authorization:`Bearer ${n}`},body:JSON.stringify(e)});if(!r.ok)throw Error(`API ${r.status}: ${r.statusText}`);return r.json()}async function f(e={}){let n=await t.i(),r=await fetch(`${t.b}/dashboard-calendar`,{method:`POST`,headers:{"Content-Type":`application/json`,Authorization:`Bearer ${n}`},body:JSON.stringify(e)});if(!r.ok)throw Error(`API ${r.status}: ${r.statusText}`);return r.json()}async function p(){return t.t(t.b,`/users/hierarchy-tree`)}var{Title:m,Text:h}=i.Typography,g=[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`],_=[`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`,`Sun`],v=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],y={green:`#22c55e`,red:`#ef4444`,orange:`#f97316`,blue:`#3b82f6`};function b(e){return y[e]||e||`#586888`}function x(e){return String(e).padStart(2,`0`)}function S(e,t,n=`Sun`){let r=new Date(e,t,1).getDay(),i=n===`Mon`?r===0?6:r-1:r,a=new Date(e,t+1,0).getDate(),o=[];for(let e=0;e<i;e++)o.push({day:null,cur:!1});for(let e=1;e<=a;e++)o.push({day:e,cur:!0});for(;o.length%7!=0;)o.push({day:null,cur:!1});return o}function C(e,t){let n=[];for(let r=0;r<e.length;r+=t)n.push(e.slice(r,r+t));return n}function w(e){if(!e)return{text:``,author:null};let t=e.match(/\n\s*-\s*([^\n]+)\s*$/);return t?{text:e.slice(0,t.index).trim(),author:t[1].trim()}:{text:e.trim(),author:null}}function T(e=[]){let t={};return e.forEach(e=>{t[e.date]=(e.events||[]).map(e=>{let{text:t,author:n}=w(e.description);return{color:e.color,label:e.label,title:e.title,text:t,author:n}})}),t}function E({events:e}){return(0,o.jsx)(`div`,{style:{maxWidth:280,maxHeight:260,overflowY:`auto`},children:e.map((t,n)=>(0,o.jsxs)(`div`,{style:{display:`flex`,gap:8,padding:`6px 0`,borderBottom:n<e.length-1?`1px solid #f0f0f0`:`none`},children:[(0,o.jsx)(`span`,{className:`calendar-dot`,style:{background:b(t.color),marginTop:6,flexShrink:0}}),(0,o.jsxs)(`div`,{style:{minWidth:0},children:[(0,o.jsx)(h,{strong:!0,style:{fontSize:13,display:`block`},children:t.title||t.label}),t.text&&(0,o.jsx)(h,{style:{fontSize:12,color:`#555`,whiteSpace:`pre-line`,wordBreak:`break-word`},children:t.text}),t.author&&(0,o.jsxs)(h,{style:{fontSize:11,color:`#999`,display:`block`,marginTop:2},children:[`— `,t.author]})]})]},n))})}function D({userIds:e=[],days:t=void 0,startDay:n=`Sun`,renderDayContent:s=void 0,onDayClick:c=void 0,headerExtra:l=void 0,legend:u=void 0,readonly:d=!1,className:p=``,monthLabel:y=void 0,year:w=void 0,month:D=void 0,onPrevMonth:O=void 0,onNextMonth:k=void 0,prevDisabled:A=!1,nextDisabled:j=!1}){let M=t!==void 0||s!==void 0||c!==void 0,N=new Date,[P,F]=(0,r.useState)({year:N.getFullYear(),month:N.getMonth()}),I=w!=null&&D!=null?{year:Number(w),month:Number(D)-1}:P,[L,R]=(0,r.useState)({}),[z,B]=(0,r.useState)([]),[ee,te]=(0,r.useState)(!1),[V,ne]=(0,r.useState)(null),re=JSON.stringify(e),H=n===`Mon`?_:g,U=(0,r.useCallback)(async()=>{te(!0);try{let t=await f({userIds:e});t?.status&&t?.data?(B(t.data.legend||[]),R(T(t.data.days||[]))):(B([]),R({}))}catch(e){console.error(`CalendarCard fetch error:`,e)}finally{te(!1)}},[re]);(0,r.useEffect)(()=>{M||U()},[M,U]),(0,r.useEffect)(()=>(window.addEventListener(`dashboard-calendar:refresh`,U),()=>window.removeEventListener(`dashboard-calendar:refresh`,U)),[U]);let ie=O??(()=>F(e=>e.month===0?{year:e.year-1,month:11}:{...e,month:e.month-1})),ae=k??(()=>F(e=>e.month===11?{year:e.year+1,month:0}:{...e,month:e.month+1})),oe=C(S(I.year,I.month,n),7),se={};t!==void 0&&(t||[]).forEach(e=>{e?.date&&(se[e.date]=e)});let ce=u??z,le=y??`${v[I.month]} ${I.year}`;return(0,o.jsx)(i.Card,{className:`calendar-card${p?` ${p}`:``}`,title:(0,o.jsxs)(`div`,{className:`calendar-header-title`,children:[(0,o.jsx)(a.CalendarOutlined,{}),(0,o.jsx)(m,{level:5,style:{margin:0},children:le}),l]}),extra:(0,o.jsxs)(`div`,{className:`calendar-nav`,style:{display:`flex`,alignItems:`center`,gap:6},children:[(0,o.jsx)(i.Tooltip,{title:`Previous month`,children:(0,o.jsx)(i.Button,{type:`text`,icon:(0,o.jsx)(a.LeftOutlined,{}),size:`small`,onClick:ie,disabled:A})}),(0,o.jsx)(i.Tooltip,{title:`Next month`,children:(0,o.jsx)(i.Button,{type:`text`,icon:(0,o.jsx)(a.RightOutlined,{}),size:`small`,onClick:ae,disabled:j})})]}),children:(0,o.jsxs)(i.Spin,{spinning:ee,children:[(0,o.jsx)(i.Row,{gutter:[6,0],className:`calendar-day-names`,children:H.map(e=>(0,o.jsx)(i.Col,{flex:`1`,className:`calendar-day-name`,children:e},e))}),(0,o.jsx)(`div`,{className:`calendar-weeks`,children:oe.map((e,t)=>(0,o.jsx)(i.Row,{gutter:[6,6],align:`top`,className:`calendar-week-row`,children:e.map((e,t)=>{if(!e.cur||e.day===null)return(0,o.jsx)(i.Col,{flex:`1`,children:(0,o.jsx)(`div`,{className:`calendar-cell calendar-cell--filler`})},t);let n=`${I.year}-${x(I.month+1)}-${x(e.day)}`,r=e.day===N.getDate()&&I.month===N.getMonth()&&I.year===N.getFullYear();if(M){let a=se[n]??null;return s?(0,o.jsx)(i.Col,{flex:`1`,children:s(n,a,{isToday:r,readonly:d})},t):(0,o.jsx)(i.Col,{flex:`1`,children:(0,o.jsx)(`div`,{className:[`calendar-cell`,r?`today`:``,d?`calendar-cell--readonly`:``].filter(Boolean).join(` `),onClick:()=>!d&&c?.(n,a),style:{cursor:d?`default`:`pointer`},children:(0,o.jsx)(`div`,{className:`calendar-cell-inner`,children:(0,o.jsx)(h,{className:`calendar-cell-number`,children:e.day})})})},t)}let a=L[n]||[],l=[...new Set(a.map(e=>e.color))].slice(0,3);return(0,o.jsx)(i.Col,{flex:`1`,children:(0,o.jsx)(`div`,{className:`calendar-cell${r?` today`:``}`,children:(0,o.jsxs)(`div`,{className:`calendar-cell-inner`,children:[(0,o.jsx)(h,{className:`calendar-cell-number`,children:e.day}),a.length>0&&(0,o.jsx)(i.Popover,{open:V===n,trigger:`click`,content:(0,o.jsx)(E,{events:a}),placement:`topRight`,destroyTooltipOnHide:!0,onOpenChange:e=>ne(e?n:null),children:(0,o.jsx)(`div`,{className:`calendar-cell-dots`,children:l.map((e,t)=>(0,o.jsx)(`span`,{className:`calendar-dot`,style:{background:b(e)}},t))})})]})})},t)})},t))}),ce.length>0&&(0,o.jsx)(`div`,{className:`calendar-legend`,children:ce.map(({label:e,color:t,icon:n})=>(0,o.jsxs)(`div`,{className:`calendar-legend-item`,children:[n?(0,o.jsx)(`span`,{className:`calendar-legend-badge`,style:{background:b(t)},children:n}):(0,o.jsx)(`span`,{className:`calendar-legend-dot`,style:{background:b(t)}}),(0,o.jsx)(h,{children:e})]},e))})]})})}function O(e){return e!=null}function k(e){let t=String(e);return t.charAt(0).toUpperCase()+t.slice(1)}function A(e,t){if(!e||typeof e!=`object`)return null;let n=e.key??e.value??e.id??String(t),r=e.title??e.tabTitle??e.label??e.name,a=e.count??e.countValue;return!n||!r?null:{...e,key:String(n),label:(0,o.jsxs)(i.Space,{size:6,children:[(0,o.jsx)(`span`,{children:k(r)}),O(a)&&(0,o.jsx)(i.Badge,{className:`dynamic-tabs-count`,count:a,overflowCount:2**53-1})]})}}function j({tabs:e=[],activeKey:t,onChange:n,className:r,extra:a}){let s=e.map(A).filter(Boolean);return s.length?(0,o.jsx)(i.Tabs,{activeKey:s.some(e=>e.key===t)?t:s[0].key,className:r,items:s,onChange:n,tabBarExtraContent:a}):null}function M(){return{tenantId:localStorage.getItem(`tenantId`)||``,businessId:localStorage.getItem(`businessId`)||``,businessUnitId:localStorage.getItem(`businessUnitId`)||``}}function N(){return Number(localStorage.getItem(`userId`))||0}var P=e=>e?.data??e,F=new Map;function I(e){return e?.recruiterId??e?.legacyUserId??e?.user_id??e?.userId??e?.USER_ID??e?.id??e?._id}function L(e){return!e||typeof e!=`object`?``:[e.first_name??e.firstName??e.FIRST_NAME,e.last_name??e.lastName??e.LAST_NAME].filter(Boolean).join(` `).trim()||e.recruiterName||e.name||e.user_name||e.userName||e.USER_NAME||e.email||``}async function R(e){let n=String(e??``).trim();return n?(F.has(n)||F.set(n,t.a(t.b,`/get-detailed-view?userId=${encodeURIComponent(n)}`).then(e=>L(e?.data??e??null)).catch(()=>``)),F.get(n)):``}async function z(e){let t=await R(I(e));return{...e,name:t||L(e)}}async function B(e,n,r){return P(await t.a(t.b,`/module-data-update`,{method:`PUT`,body:JSON.stringify({module:e,ids:n,updates:{status:r}})}))}async function ee(e,n){let r=Array.isArray(n)?n:[n],i=await Promise.all(r.filter(Boolean).map(n=>t.a(t.b,`/module/delete/${encodeURIComponent(n)}?module=${encodeURIComponent(e)}`,{method:`DELETE`})));return i[i.length-1]??{}}async function te(e){return P(await t.a(t.S,`/joblist`,{method:`POST`,body:JSON.stringify({...M(),searchQuery:e,userId:N()})}))}async function V(e=``){return t.t(t.S,`/users/any${e?`?search=${encodeURIComponent(e)}`:``}`)}async function ne({relatedIds:e,module:n,title:r,targetDate:i,notes:a}){return t.a(t.S,`/notes`,{method:`POST`,body:JSON.stringify({schemaVersion:1,...M(),title:r,notes:a,notesFor:n||`general`,notesRelatedId:Array.isArray(e)&&e.length?e:null,reminder:i?{type:`single`,time:i,interval:``}:null,targetDate:i||null})})}async function re(e,{title:n,targetDate:r,notes:i}){return t.a(t.S,`/notes/${encodeURIComponent(e)}`,{method:`PUT`,body:JSON.stringify({title:n,notes:i,reminder:r?{type:`single`,time:r,interval:``}:null,targetDate:r||null})})}async function H(e){return t.a(t.S,`/notes/${encodeURIComponent(e)}/resolve`,{method:`PUT`})}async function U({jobId:e,candidateIds:n,hiringStage:r}){return t.a(t.S,`/source/hiringStgUpdate`,{method:`PUT`,body:JSON.stringify({...M(),multiJobId:Array.isArray(e)?e:[e],applicantId:Array.isArray(n)?n:[n],updateStatus:String(r??``).toLowerCase(),updateStatusType:`call`,responseType:`responded`,hiriringStatusChangeType:`tagToJobs`,comments:``,userId:N()})})}async function ie(){return P(await t.a(t.b,`/masters/dropdown?masterName=candidateGroups&offset=0&limit=50`))}async function ae({candidateIds:e,groupId:n,groupName:r}){return P(await t.a(t.x,`/actions/update-group`,{method:`PUT`,body:JSON.stringify({candidateIds:e,groupId:n,groupName:r})}))}async function oe({jobIds:e,rate:n,priority:r}){return t.a(t.S,`/assign?type=self`,{method:`PUT`,body:JSON.stringify({multiJobId:Array.isArray(e)?e:[e],userId:N(),schemaVersion:1,...M(),priority:r==null?`false`:String(r),priorityFrom:null,recruitersData:[]})})}async function se(e){if(!e)return{assignedUsers:[],totalSubmissions:0,targetSubmissions:0,message:``};let n=await t.a(t.S,`/self-assign?jobId=${encodeURIComponent(e)}`),r=n?.data,i=n?.message??``;return Array.isArray(r)?{assignedUsers:await Promise.all(r.map(z)),totalSubmissions:0,targetSubmissions:0,message:i}:!r||typeof r!=`object`?{assignedUsers:[],totalSubmissions:0,targetSubmissions:0,message:i}:{assignedUsers:await Promise.all((Array.isArray(r.assignedUsers)?r.assignedUsers:[]).map(z)),totalSubmissions:r.totalSubmissions??0,targetSubmissions:r.targetSubmissions??0,message:i}}function ce(e){let t=e?.user_id??e?.userId??e?.USER_ID??e?.legacyUserId??e?.id??e?._id,n=t==null?``:String(t).trim();if(!n)return null;let r=[e?.first_name??e?.firstName,e?.last_name??e?.lastName].filter(Boolean).join(` `).trim(),i=e?.name||e?.user_name||e?.userName||e?.USER_NAME||r||e?.email||n;return{...e,label:String(i),value:n}}async function le(){let e=await t.t(t.S,`/users/manager`);return(Array.isArray(e)?e:e?[e]:[]).map(ce).filter(Boolean)}async function W(e){if(!e)return{recruitersData:[]};let n=await t.t(t.S,`/pay-details/${encodeURIComponent(e)}`),r=n&&typeof n==`object`&&Array.isArray(n.recruiters)?n.recruiters:[],i=(await Promise.all(r.map(async e=>{let t=e?.recruiterId??e?.user_id??e?.userId??e?.id;if(t==null||t===``)return null;let n=L(e),r=n?{...e,name:n}:await z({...e,recruiterId:t});return{recruiterId:t,id:t,user_id:t,name:r.name,role_name:r.role_name??r.roleName??``,reporting_name:r.reporting_name??r.reportingName??``}}))).filter(Boolean);return{...n&&typeof n==`object`?n:{},recruitersData:i}}function G(e){let t=typeof e==`object`?e?.recruiterId??e?.user_id??e?.userId??e?.id:e,n=Number(t);return Number.isInteger(n)&&n>0?n:null}function K({jobIds:e,userId:t,rate:n,priority:r,removedIds:i,existingRecruiters:a}){let o=new Set((i??[]).map(String)),s=(a??[]).map(G).filter(e=>e!==null&&!o.has(String(e))),c=(Array.isArray(t)?t:[t]).map(G).filter(e=>e!==null);if(c.length===0)throw Error(`A valid user must be selected before assigning the job`);let l=Array.from(new Set([...s,...c]));return{multiJobId:Array.isArray(e)?e:[e],userId:c[0],schemaVersion:1,...M(),priority:String(r??!1),priorityFrom:``,recruitersData:l}}async function ue(e){return t.a(t.S,`/assign?type=other`,{method:`PUT`,body:JSON.stringify(K(e))})}async function de({submissionId:e,isMail:n=!1}){return P(await t.a(t.b,`/submissions/move-to-onboarding`,{method:`POST`,body:JSON.stringify({submissionId:e,isMail:!!n})}))}async function fe(e,n){return P(await t.a(t.b,`/submissions/approve`,{method:`POST`,body:JSON.stringify({submissionId:e,...n})}))}async function pe(e){return P(await t.a(t.b,`/submissions/vms-approve?submissionId=${encodeURIComponent(e)}`))}async function me(e,{submissionId:n=``,billRate:r,payRate:i,currency:a=`$`,rateUnit:o=`hr`,referralId:s,referralRate:c,referralType:l,referralEnabled:u,vmsPercent:d=0,documentIds:f=[],remarks:p=null}={}){let m=e?`/workforce-engagements/${encodeURIComponent(e)}/cfo-approval/send`:`/submissions/${encodeURIComponent(n)}/cfo-approval/send`;if(!e&&!n)throw Error(`Submission is required to send for approval.`);let h=typeof window<`u`?window.location.origin:``,g=e||n;return P(await t.a(t.C,m,{method:`POST`,body:JSON.stringify({proposedRate:{candidateProposedRate:Number(r)||0,candidateProposedRateCurrency:a,candidateProposedRateCurrencySymbol:``,candidateProposedRateUnit:o},candidateRate:{candidateAcceptedRate:Number(i)||0,candidateAcceptedCurrency:a,candidateAcceptedCurrencySymbol:``,candidateAcceptedPayUnit:o,candidateAcceptedRateNegotiable:!1},...s!=null&&s!==``?{referralId:s}:{},...c==null?{}:{referralRate:Number(c)||0},...l!=null&&l!==``?{referralType:l}:{},...u==null?{}:{referralEnabled:!!u},vmsPercent:Number(d)||0,documentIds:f,remarks:p,approvalUrl:`${h}/cfo-approval/${encodeURIComponent(g)}`})}))}async function he({submissionId:e,rejectReasonId:n,rejectReason:r,rejectReasonComments:i}){return P(await t.a(t.b,`/submissions/reject`,{method:`POST`,body:JSON.stringify({submissionId:e,rejectReasonId:n,rejectReason:r,rejectReasonComments:i})}))}async function ge({jobId:e,applicantId:n}){return P(await t.a(t.b,`/submissions/exists?${new URLSearchParams({jobId:String(e??``),applicantId:String(n??``)}).toString()}`))??{exists:!1}}async function _e({searchQuery:e,candidateId:n}){let r=P(await t.a(t.b,`/quick-submit/job-search`,{method:`POST`,body:JSON.stringify({searchQuery:e??``,candidateId:n?String(n):``})}));return Array.isArray(r)?r:[]}async function ve({search:e,jobId:n}){let r=P(await t.a(t.b,`/quick-submit/candidate-search`,{method:`POST`,body:JSON.stringify({search:e??``,jobId:n?String(n):``})}));return Array.isArray(r)?r:[]}async function ye({jobId:e,applicantId:n,jobIds:r,applicantIds:i}){let a=!!e,o={};if(e&&(o.jobId=String(e)),n&&(o.applicantId=String(n)),Array.isArray(r)&&(o.jobIds=r.filter(Boolean).map(String)),Array.isArray(i)&&(o.applicantIds=i.filter(Boolean).map(String)),!(a?o.applicantIds:o.jobIds)?.length)return new Map;let s=P(await t.a(t.b,`/submissions/exists-bulk`,{method:`POST`,body:JSON.stringify(o)}))?.pairs??[];return new Map(s.map(e=>[String(a?e.applicantId:e.jobId),{submissionId:e.submissionId??``,submittedAt:e.submittedAt??null}]))}async function be({jobId:e,candidateIds:n}){return t.a(t.S,`/source/hiringStgUpdate`,{method:`PUT`,body:JSON.stringify({...M(),multiJobId:Array.isArray(e)?e:[e],applicantId:Array.isArray(n)?n:[n],updateStatus:`pipeline`,updateStatusType:`call`,responseType:`responded`,hiriringStatusChangeType:`tagToJobs`,comments:``,userId:N()})})}var xe={jobsCount:[`total`,`Total Jobs`,`active`,`Active Jobs`,`myAssignedCount`,`My Jobs`],submissionCount:[`Selected`,`Submitted to client`,`Submitted to Client`,`Not Submitted`,`Approved`]};function Se(e){return xe[e]??null}var Ce={stickyNotes:{title:`Sticky Notes`,variant:`sticky`,request:{method:`GET`,params:{limit:20,offset:0}},listPath:`data.data`,maxCount:4,viewAllUrl:`/viewall-sticky`,refreshEvent:`sticky-notes:refresh`,pillKey:`status`,headingKey:`title`,bodyKey:`notes`,bodyLines:3,footerLeftKey:`createdByName`,footerRightKey:`createdAt`,dateKey:`reminder.time`,colorBy:`status`,colorMap:{Note:`green`,Tagged:`red`},color:`auto`},jobsCount:{variant:`counts`,dynamicCommonCount:{module:`jobs`,keys:[`jobRecruitmentStatus`,`jobStatus`]},listPath:``,layout:`4x2`,groupSeparator:``,labelMap:{total:`Total Jobs`,active:`Active Jobs`,myAssignedCount:`My Jobs`},color:`#f1f3f8`,show:Se(`jobsCount`),hide:[`inactive`,`submitted`,`noSubmissions`]},submissionCount:{title:`Total Client Submission`,tooltipText:`Includes all submissions that are pending and submitted to the client.`,variant:`submission`,dynamicCommonCount:{module:`submissions`,keys:[`clientSubmissionStatus.clientSubmissionStatusText`]},listPath:``,totalKey:`total`,labelMap:{Selected:`Selected`,"Submitted to client":`Submitted to Client`,"Not Submitted":`Not Submitted`,Approved:`Approved`},colorMap:{Selected:`rgb(234, 175, 12)`,"Submitted to client":`green`,"Not Submitted":`red`,Approved:`#1d4ed8`},show:Se(`submissionCount`)},leadAptitude:{title:`Aptitude Test Results`,variant:`assessment`,request:{method:`GET`,params:{}},listPath:`data`,totalKey:`totalScore`,maxKey:`maximumScore`,statusKey:`status`,attemptDateKey:`attemptDate`,timeTakenKey:`timeTaken`,rankKey:`rank`,labelMap:{logicalReasoning:`Logical Reasoning`,quantitativeAptitude:`Quantitative Aptitude`,verbalAbility:`Verbal Ability`},colorMap:{logicalReasoning:`#7c3aed`,quantitativeAptitude:`#0891b2`,verbalAbility:`#16a34a`},hide:[`status`,`attemptDate`,`timeTaken`,`rank`,`maximumScore`]},onboardingCount:{variant:`counts`,dynamicCommonCount:{module:`onboarding`,keys:[`onboardingObStage`]},listPath:``,frame:!0,frameTitle:`Onboarding`,frameClassName:`onboarding-card`,viewAll:!0,footer:!0,columns:4,valueMap:{inProgress:`Under Review`,hired:`Onboarded`,projectCompleted:`Project cycle closed`,archive:`No longer active`},labelMap:{inProgress:`In Progress`,hired:`Hired`,projectCompleted:`Project Completed`,archive:`Archive`},aggregateMap:{inProgress:[`inProgress`,`In Progress`],hired:[`hired`,`Hired`,`Active`],projectCompleted:[`projectCompleted`,`Project Completed`,`Completed`],archive:[`archive`,`Archive`,`Not Hired`,`Candidate Backout`]},show:Se(`onboardingCount`),hide:[`total`,`totalGrossMargin`,`totalNetMargin`]},timesheetMonthlySummary:{variant:`metrics`,title:`Monthly Summary`,valueSuffix:` hrs`,rows:[{key:`unapprovedPayableHours`,label:`Unapproved Payable hours`,sublabel:`(S + O)`},{key:`nonPayableHours`,label:`Non-payable hours`,sublabel:`(Leave/Holidays)`},{key:`approvedPayableHours`,label:`Approved Payable hours`,valueColor:`#15803d`}]},timesheetWeeklyTotals:{variant:`metrics`,title:`Weekly Totals (S + O)`,plainHeader:!0,valueSuffix:` hrs`,listRows:{itemValueKey:`weeklyTotals.payable`,itemLabel:(e,t)=>{let n=e.weekStart?(0,c.default)(e.weekStart).format(`MMM D`):``,r=e.weekEnd?(0,c.default)(e.weekEnd).format(`MMM D`):``,i=`Week ${e.weekNumber??t+1}`;return n&&r?`${i} (${n} - ${r})`:i}}},timesheetHourBreakdown:{variant:`bars`,valueSuffix:` hrs`,rows:[{key:`totalSTHours`,label:`Standard`,color:`#1d4ed8`,bg:`#D0E6FF`},{key:`totalOTHours`,label:`Overtime`,color:`#15803d`,bg:`#d9f7e3`},{key:`leaveHours`,label:`Leaves`,color:`#b45309`,bg:`#FFECBA`},{key:`holidayHours`,label:`Holidays`,color:`#6d28d9`,bg:`#ede9fe`,fallback:0}]},financeKpiRow:{variant:`kpi`}},we=[`blue`,`green`,`purple`,`peach`,`red`,`gray`],Te=[`purple`,`peach`,`green`],Ee=[`#1d4ed8`,`#ef4444`,`#16a34a`,`#9333ea`,`#f59e0b`,`#0891b2`],De={blue:`#1d4ed8`,green:`#16a34a`,purple:`#9333ea`,peach:`#f97316`,red:`#ef4444`,gray:`#6b7280`};function Oe(){let e=(typeof window<`u`&&window.__CORE_THEME_CONFIG__?.cardConfig)??{};return{...Ce,...e}}var ke={timesheet:{currentLabel:`Standard`,currentColor:`blue`,pastLabel:`Supplementary`,pastColor:`gold`,thresholdMonths:0}};function Ae(e){let t=(typeof window<`u`&&window.__CORE_THEME_CONFIG__?.periodBadgeConfig)??{};return{...ke[e],...t[e]}}function je({current:t,pageSize:n,total:r,onChange:a,onPageSizeChange:s}){let c=Math.min((t-1)*n+1,r),l=Math.min(t*n,r);return(0,o.jsxs)(i.Flex,{align:`center`,justify:`space-between`,className:`custom-pagination`,style:{color:e.jr.textSecondary},children:[(0,o.jsxs)(i.Space,{size:5,align:`center`,children:[(0,o.jsx)(e.Ar,{variant:`body`,color:`secondary`,children:`Show`}),(0,o.jsx)(i.Select,{value:n,size:`small`,style:{width:72},popupMatchSelectWidth:72,onChange:e=>{s(e),a(1)},options:[{value:10,label:`10`},{value:12,label:`12`},{value:25,label:`25`},{value:50,label:`50`},{value:100,label:`100`}]}),(0,o.jsx)(e.Ar,{variant:`body`,color:`secondary`,children:`/ page`})]}),(0,o.jsxs)(i.Space,{size:16,align:`center`,children:[(0,o.jsx)(e.Ar,{variant:`body`,color:`secondary`,children:`Showing ${c} - ${l} of ${r}`}),(0,o.jsx)(i.Pagination,{current:t,pageSize:n,total:r,showSizeChanger:!1,showQuickJumper:!1,showLessItems:!0,onChange:a})]})]})}var{Title:Me,Text:q}=i.Typography;function J(e,t){return Array.isArray(t)?t.map(t=>J(e,t)).filter(Ne).join(` `):typeof t==`string`&&t.includes(`.`)?t.split(`.`).reduce((e,t)=>e==null?e:e[t],e):e[t]}var Ne=e=>e!=null&&e!==``;function Y(e,t,n={}){return{...n,...e.styles?.[t]||{}}}function Pe(e){return Ne(e.title)?(0,o.jsx)(Me,{level:5,style:Y(e,`headerTitle`),children:e.title}):void 0}function Fe(e,t){return Ne(e.title)?t:void 0}function Ie(e){return[`blue`,`green`,`purple`,`peach`,`red`,`gray`].includes(Ye(e))}function Le(e,t){let n=t||``,r=Y(e,`card`);return Ne(n)?Ie(n)?{className:n,style:r}:{className:``,style:{...r,background:n,borderColor:e.styles?.card?.borderColor||n}}:{className:``,style:r}}function X(e,t){return t?t.split(`.`).reduce((e,t)=>e==null?e:e[t],e):e}function Re(e){return String(e).replace(/([a-z0-9])([A-Z])/g,`$1 $2`).replace(/[_-]+/g,` `).replace(/\s+/g,` `).trim().replace(/\b\w/g,e=>e.toUpperCase())}function ze(e){if(!Ne(e))return null;let t=new Date(e);return isNaN(t)||t.getFullYear()<=1?null:t.toLocaleDateString(`en-GB`,{day:`2-digit`,month:`long`,year:`numeric`})}function Be(e){let t=Number(e);return Number.isFinite(t)&&t>=0?t:null}function Ve(e){return String(e??``).replace(/(?:\s*\(\d+[\d,]*\))+\s*$/,``).trim()}function He(e,t){let n=[e?.data?.total,e?.data?.count,e?.data?.totalCount,e?.data?.pagination?.total,e?.data?.data?.total,e?.data?.data?.count,e?.data?.data?.totalCount,e?.total,e?.count,e?.totalCount,e?.pagination?.total],r=[e?.data?.todoCount,e?.data?.toDoCount,e?.data?.pendingCount,e?.data?.data?.todoCount,e?.data?.data?.toDoCount,e?.todoCount,e?.toDoCount,e?.pendingCount],i=[e?.data?.resolvedCount,e?.data?.data?.resolvedCount,e?.resolvedCount],a=r.map(Be).find(e=>e!==null),o=i.map(Be).find(e=>e!==null),s=n.map(Be).find(e=>e!==null),c=a!==null&&o!==null?a+o:null,l=Array.isArray(t)?t.length:null;return{totalCount:s??c??l,todoCount:a,resolvedCount:o}}function Ue(e,t){let n=RegExp(`^${t}\\d+$`);return Object.keys(e).filter(e=>e===t||n.test(e)).map(n=>({field:e[n],n:n===t?1:Number(n.slice(t.length))})).sort((e,t)=>t.n-e.n).map(e=>e.field)}function We(e){return Math.max(1,Math.floor(24/(e||4)))}function Ge(e){if(typeof e!=`string`)return{};let t=e.toLowerCase().replace(/\s/g,``).match(/^(\d+)x(\d+)$/);if(!t)return{};let n=Number(t[1]);return{columns:n,maxCount:n*Number(t[2])}}function Ke(e,t){let n=Ge(e.layout),r=e.columns??n.columns??t,i=e.maxCount??n.maxCount;return{columns:r,span:We(r),maxCount:i}}function qe(e,t){return t?e.slice(0,t):e}function Je(e,t){return e.color?e.color===`auto`?we[t%we.length]:e.color:``}var Ye=e=>String(e??``).trim().toLowerCase();function Xe(e,t){return(Array.isArray(t)?t:[t]).some(t=>Ne(t)&&Ye(t)===Ye(e))}function Ze(e,t){if(!e.colorMap)return null;let n=Object.keys(e.colorMap).find(e=>Xe(e,t));return n?e.colorMap[n]:null}function Qe(e,t,n){if(!e.labelMap)return n;let r=Object.keys(e.labelMap).find(e=>Xe(e,t));return r?e.labelMap[r]:n}function $e(e,t){if(!e.valueMap)return null;let n=Object.keys(e.valueMap).find(e=>Xe(e,t));return n?e.valueMap[n]:null}function et(e,t){return!Array.isArray(e.show)||e.show.length===0?!0:e.show.some(e=>Xe(e,t))}function tt(e,t,n){return et(e,t)?Array.isArray(e.hide)?e.hide.some(e=>typeof e==`number`?e===n:Xe(e,t)):!1:!0}function nt(e,t){for(let n of Ue(e,`titleKey`)){let e=J(t,n);if(Ne(e))return e}return null}function rt(e){return!e||typeof e!=`object`||Array.isArray(e)?[]:Object.entries(e).filter(([,e])=>typeof e==`number`||typeof e==`string`&&e!==``&&!isNaN(e)).map(([e,t])=>({key:e,label:Re(e),value:Number(t)}))}function it(e,t){let n=e?.data??e,r=Array.isArray(n?.fields)?n.fields:null,i=t.dynamicCommonCount?.keys?.[0],a=r?[...r.find(e=>e.key===i)?[r.find(e=>e.key===i)]:[],...r.filter(e=>e.key!==i)]:[n];return a.some(e=>Array.isArray(e?.counts))?a.reduce((e,t)=>!t||!Array.isArray(t.counts)?e:(e.total=Math.max(Number(e.total)||0,Number(t.total)||0),t.counts.forEach(({key:t,count:n})=>{e[t]=Number(n)||0}),e),{total:0}):n}function at(e,t){let n=rt(e),r=t.totalKey,i=r?J(e||{},r):void 0,a=r&&Ne(i)&&!isNaN(i),o=n.map((e,t)=>({...e,_i:t})).filter(e=>!(a&&Xe(r,[e.key,e.label]))).filter(e=>!tt(t,[e.key,e.label],e._i)).map((e,n)=>{let r=Ze(t,[e.key,e.label]),i=r?De[Ye(r)]||r:Ee[e._i%Ee.length];return{label:Qe(t,[e.key,e.label],e.label),value:e.value,barColor:i,accentColor:n===0?`#f97316`:null,showInfo:n===0}});return{total:a?Number(i):o.reduce((e,t)=>e+t.value,0),rows:qe(o,Ke(t,1).maxCount)}}function ot({item:e,group:t,color:n}){let r=n=>Ue(t,n).map(t=>J(e,t)).filter(Ne),a=r(`titleKey`),s=r(`countKey`),c=r(`nameKey`),l=r(`valueKey`),u=Le(t,n);return(0,o.jsxs)(i.Card,{className:`dyn-card-item ${u.className}`.trim(),style:u.style,bordered:!0,children:[a.map((e,n)=>(0,o.jsx)(q,{className:`dyn-card-title`,style:Y(t,`cardTitle`),children:e},`t${n}`)),s.map((e,n)=>(0,o.jsx)(i.Statistic,{value:e,className:`dyn-card-stat`,valueStyle:Y(t,`cardValue`)},`c${n}`)),c.map((e,n)=>(0,o.jsx)(q,{className:`dyn-card-name`,style:Y(t,`cardName`),children:e},`n${n}`)),l.length>0&&(0,o.jsx)(`div`,{className:`dyn-card-footer`,style:Y(t,`cardFooter`),children:l.map((e,n)=>(0,o.jsx)(q,{className:`dyn-card-sub`,style:Y(t,`cardSub`),children:e},`v${n}`))})]})}function st({group:e}){let{span:t,maxCount:n}=Ke(e,4),r=qe((Array.isArray(e.list)?e.list:[]).map((t,n)=>({item:t,name:nt(e,t),_i:n})).filter(t=>!tt(e,t.name,t._i)),n);return(0,o.jsx)(i.Card,{className:`dyn-card-section`,style:Y(e,`section`),title:Pe(e),extra:Fe(e,(0,o.jsxs)(q,{type:`secondary`,style:Y(e,`headerExtra`),children:[r.length,` cards`]})),children:(0,o.jsx)(i.Row,{gutter:[16,16],children:r.map(n=>{let r=Ze(e,n.name)||Je(e,n._i);return(0,o.jsx)(i.Col,{xs:24,sm:12,md:t>=12?12:t*2,lg:t,xl:t,children:(0,o.jsx)(ot,{item:n.item,group:e,color:r})},n._i)})})})}function ct({group:e,items:t}){let{span:n,maxCount:r}=Ke(e,4),a=qe(t.map((e,t)=>({...e,_i:t})).filter(t=>!tt(e,[t.key,t.label],t._i)),r);return(0,o.jsx)(i.Card,{className:`dyn-card-section`,style:Y(e,`section`),title:Pe(e),extra:Fe(e,(0,o.jsxs)(q,{type:`secondary`,style:Y(e,`headerExtra`),children:[a.length,` cards`]})),children:(0,o.jsx)(i.Row,{gutter:[16,16],children:a.map(t=>{let r=Le(e,Ze(e,[t.key,t.label])||Je(e,t._i));return(0,o.jsx)(i.Col,{xs:24,sm:12,md:n>=12?12:n*2,lg:n,xl:n,children:(0,o.jsxs)(i.Card,{className:`dyn-card-item ${r.className}`.trim(),style:r.style,bordered:!0,children:[(0,o.jsx)(q,{className:`dyn-card-title`,style:Y(e,`cardTitle`),children:Qe(e,[t.key,t.label],t.label)}),(0,o.jsx)(i.Statistic,{value:t.value,groupSeparator:e.groupSeparator??`,`,className:`dyn-card-stat`,valueStyle:Y(e,`cardValue`)}),Ne($e(e,[t.key,t.label]))&&(0,o.jsx)(q,{className:`dyn-card-sub`,style:Y(e,`cardSub`),children:$e(e,[t.key,t.label])})]})},t._i)})})})}function lt({group:e,data:t}){let{total:n,rows:r}=at(t,e),s=e.tooltipText;return(0,o.jsxs)(i.Card,{className:`submission-card`,style:Y(e,`card`),children:[Ne(e.title)&&(0,o.jsxs)(i.Row,{justify:`space-between`,align:`middle`,className:`submission-header`,style:Y(e,`submissionHeader`),children:[(0,o.jsx)(i.Col,{children:(0,o.jsxs)(q,{className:`submission-title`,style:Y(e,`submissionTitle`),children:[e.title,` `,s&&(0,o.jsx)(i.Tooltip,{title:s,children:(0,o.jsx)(a.InfoCircleOutlined,{className:`submission-info-icon`,style:Y(e,`infoIcon`)})})]})}),(0,o.jsx)(i.Col,{children:(0,o.jsx)(q,{className:`submission-total`,style:Y(e,`submissionTotal`),children:Number(n||0).toLocaleString()})})]}),(0,o.jsx)(`div`,{className:`submission-rows`,style:Y(e,`submissionRows`),children:r.map((t,r)=>(0,o.jsxs)(`div`,{children:[(0,o.jsxs)(i.Row,{justify:`space-between`,align:`middle`,className:`submission-row-header`,style:Y(e,`submissionRowHeader`),children:[(0,o.jsx)(i.Col,{children:(0,o.jsx)(i.Row,{align:`middle`,gutter:6,children:(0,o.jsx)(i.Col,{children:(0,o.jsx)(q,{className:`submission-row-label`,style:Y(e,`submissionRowLabel`),children:t.label})})})}),(0,o.jsx)(i.Col,{children:(0,o.jsx)(q,{className:`submission-row-value`,style:Y(e,`submissionRowValue`),children:t.value})})]}),(0,o.jsx)(`div`,{className:`submission-bar-track`,style:Y(e,`submissionBarTrack`),children:(0,o.jsx)(`div`,{className:`submission-bar-fill`,style:{width:`${t.value/(n||1)*100}%`,background:t.barColor}})})]},`${t.label}-${r}`))})]})}function ut(e){if(!Ne(e))return`-`;let t=new Date(e);return!Number.isNaN(t.getTime())&&/date|time/i.test(String(e))?t.toLocaleString(void 0,{dateStyle:`medium`,timeStyle:`short`}):String(e)}function dt({group:e,data:t}){let n=e.totalKey??`totalScore`,r=e.maxKey??`maximumScore`,a=e.statusKey??`status`,s=e.attemptDateKey??`attemptDate`,c=e.timeTakenKey??`timeTaken`,l=e.rankKey??`rank`,u=Number(J(t||{},n)??0),d=Number(J(t||{},r)??100)||100,f=Math.max(0,Math.min(100,Math.round(u/d*100))),p=at(t,{...e,totalKey:n,hide:[...Array.isArray(e.hide)?e.hide:[],r,a,s,c,l]}).rows,m=[{key:a,label:e.statusLabel??`Status`},{key:s,label:e.attemptDateLabel??`Attempt Date`},{key:c,label:e.timeTakenLabel??`Time Taken`},{key:l,label:e.rankLabel??`Rank`}].filter(e=>Ne(J(t||{},e.key)));return(0,o.jsxs)(i.Card,{className:`assessment-card`,style:Y(e,`card`),title:Pe(e),children:[(0,o.jsxs)(`div`,{className:`assessment-card__top`,children:[(0,o.jsx)(i.Progress,{type:`circle`,percent:f,format:()=>`${Number(u||0).toLocaleString()}/${d.toLocaleString()}`,strokeColor:e.scoreColor??`#6d4aff`,trailColor:e.trailColor??`#edf0f5`}),(0,o.jsx)(`dl`,{className:`assessment-card__meta`,children:m.map(e=>(0,o.jsxs)(`div`,{className:`assessment-card__meta-row`,children:[(0,o.jsx)(`dt`,{children:e.label}),(0,o.jsx)(`dd`,{children:ut(J(t||{},e.key))})]},e.key))})]}),(0,o.jsx)(`div`,{className:`submission-rows assessment-card__rows`,style:Y(e,`submissionRows`),children:p.map(t=>(0,o.jsxs)(`div`,{children:[(0,o.jsxs)(i.Row,{justify:`space-between`,align:`middle`,className:`submission-row-header`,style:Y(e,`submissionRowHeader`),children:[(0,o.jsx)(i.Col,{children:(0,o.jsx)(q,{className:`submission-row-label`,style:Y(e,`submissionRowLabel`),children:t.label})}),(0,o.jsx)(i.Col,{children:(0,o.jsx)(q,{className:`submission-row-value`,style:Y(e,`submissionRowValue`),children:t.value})})]}),(0,o.jsx)(`div`,{className:`submission-bar-track`,style:Y(e,`submissionBarTrack`),children:(0,o.jsx)(`div`,{className:`submission-bar-fill`,style:{width:`${Math.max(0,Math.min(100,Number(t.value)/d*100))}%`,background:t.barColor}})})]},t.label))})]})}function ft(e,t={},n={}){let r=Ne(e)?e:t.fallback;if(!Ne(r))return`-`;let i=Number(r);if(!Number.isFinite(i))return String(r);let a=t.suffix??n.valueSuffix??``;return`${i.toFixed(1).replace(/\.0$/,``)}${a}`}function pt({group:e,data:t}){let n=Array.isArray(t);return(0,o.jsxs)(i.Card,{className:`timesheet-summary-card`,size:`small`,children:[Ne(e.title)&&(e.plainHeader?(0,o.jsx)(q,{type:`secondary`,style:{fontSize:12,fontWeight:600},children:e.title}):(0,o.jsxs)(`div`,{className:`timesheet-summary-card__head`,children:[(0,o.jsx)(Me,{level:5,style:{margin:0},children:e.title}),e.headerExtra]})),!n&&(0,o.jsx)(`div`,{className:`timesheet-summary-card__metrics`,children:(e.rows??[]).map(n=>(0,o.jsxs)(`div`,{className:`timesheet-summary-card__metric-row`,children:[(0,o.jsxs)(q,{type:`secondary`,style:{fontSize:12},children:[n.label,` `,n.sublabel&&(0,o.jsx)(`span`,{style:{fontSize:11},children:n.sublabel})]}),(0,o.jsx)(q,{strong:!0,style:{fontSize:13,whiteSpace:`nowrap`,color:n.valueColor},children:ft(J(t??{},n.key),n,e)})]},n.key))}),n&&t.length>0&&(0,o.jsx)(`div`,{className:`timesheet-summary-card__weekly`,children:t.map((t,n)=>(0,o.jsxs)(`div`,{className:`timesheet-summary-card__week-row`,children:[(0,o.jsx)(q,{type:`secondary`,style:{fontSize:12},children:e.listRows?.itemLabel?e.listRows.itemLabel(t,n):`Row ${n+1}`}),(0,o.jsx)(q,{strong:!0,style:{fontSize:12},children:ft(J(t,e.listRows?.itemValueKey),e.listRows,e)})]},n))})]})}function mt({group:e,data:t}){return(0,o.jsxs)(i.Card,{className:`timesheet-summary-card`,size:`small`,children:[(Ne(e.title)||e.headerExtra)&&(0,o.jsxs)(`div`,{className:`timesheet-summary-card__head`,children:[Ne(e.title)&&(0,o.jsx)(Me,{level:5,style:{margin:0},children:e.title}),e.headerExtra]}),(0,o.jsx)(`div`,{className:`timesheet-summary-card__bars`,children:(e.rows??[]).map(n=>(0,o.jsxs)(`div`,{className:`timesheet-summary-card__bar`,style:{background:n.bg},children:[(0,o.jsx)(q,{style:{fontSize:12,color:n.color,fontWeight:500},children:n.label}),(0,o.jsx)(q,{strong:!0,style:{fontSize:13,color:n.color},children:ft(J(t??{},n.key),n,e)})]},n.key))})]})}function ht({group:e,data:t}){let n=Array.isArray(t)?t:[],r=`finance-kpi-row${e.compact?` finance-kpi-row--compact`:``}`;if(e.loading){let e=n.length||4;return(0,o.jsx)(`div`,{className:r,children:Array.from({length:e},(e,t)=>(0,o.jsxs)(`div`,{className:`finance-kpi fin-kpi--skeleton`,children:[(0,o.jsx)(`span`,{className:`fin-skeleton fin-skeleton--label`}),(0,o.jsx)(`span`,{className:`fin-skeleton fin-skeleton--value`})]},t))})}return(0,o.jsx)(`div`,{className:r,children:n.map(e=>(0,o.jsxs)(`div`,{className:`finance-kpi fin-kpi--${e.tone??`neutral`}`,children:[e.icon?(0,o.jsx)(`span`,{className:`fin-kpi__icon`,children:e.icon}):null,(0,o.jsxs)(`span`,{className:`fin-kpi__body`,children:[(0,o.jsx)(`span`,{className:`finance-kpi__label`,children:e.label}),(0,o.jsx)(`strong`,{className:`finance-kpi__value`,children:e.value}),e.sub??e.hint?(0,o.jsx)(`span`,{className:`finance-kpi__hint`,children:e.sub??e.hint}):null]})]},e.key??e.label))})}function gt(e,t){return Ye(J(t,e.pillKey||`status`))===`resolved`}function _t(e,t){return Ne(e.dateKey?ze(J(t,e.dateKey)):null)}function vt(e,t){let n=Ye(J(t,e.pillKey||`status`));if(n===`tagged`||n===`tag user`||n===`tagged user`)return!0;let r=t?.receiver??t?.receivers??t?.receiverId??t?.receiverName??t?.taggedUser;if(Array.isArray(r))return r.length>0;if(r&&typeof r==`object`)return Object.keys(r).length>0;if(Ne(r))return!0;let i=`${J(t,e.headingKey||`title`)??``} ${J(t,e.bodyKey||`notes`)??``}`;return/(^|\s)@[^\s]+/.test(i)}function yt(e,t,n){return gt(e,t)?`gray`:vt(e,t)?`blue`:_t(e,t)?`peach`:Ze(e,e.colorBy?J(t,e.colorBy):null)||(e.color&&e.color!==`auto`?e.color:Te[n%Te.length])}function bt(e,t){let{start:n,end:r}=e.dateRange||{};if(!n||!r)return!0;let i=J(t,e.footerRightKey||`createdAt`);if(!Ne(i))return!0;let a=new Date(i);return isNaN(a)?!0:a>=n&&a<=r}function xt(e,t,n){let r=t.dateKey?ze(J(e,t.dateKey)):null;return{type:yt(t,e,n),pill:t.pillKey?J(e,t.pillKey):null,heading:t.headingKey?J(e,t.headingKey):null,body:t.bodyKey?J(e,t.bodyKey):null,footerLeft:t.footerLeftKey?J(e,t.footerLeftKey):null,footerRight:t.footerRightKey?ze(J(e,t.footerRightKey)):null,dot:r?`#f97316`:null,date:r}}function St({text:e,lines:t,style:n}){let a=(0,r.useRef)(null),[s,c]=(0,r.useState)(!1);(0,r.useEffect)(()=>{let e=a.current;if(!e)return;let t=0,n=()=>{t=requestAnimationFrame(()=>{let t=e.scrollHeight-e.clientHeight>1;c(e=>e===t?e:t)})};n();let r=new ResizeObserver(n);return r.observe(e),()=>{cancelAnimationFrame(t),r.disconnect()}},[e,t]);let l=(0,o.jsx)(`div`,{ref:a,className:`sticky-note-body${t?` clamp-${t}`:``}`,style:n,children:e});return(0,o.jsx)(i.Popover,{trigger:`hover`,placement:`topLeft`,overlayClassName:`sticky-note-popover`,content:s?(0,o.jsx)(`div`,{className:`sticky-note-popover-content`,children:e}):null,open:s?void 0:!1,children:l})}function Ct({group:e}){let t=(0,s.useNavigate)(),n=(0,s.useLocation)(),c=()=>t(`/popup/sticky-notes`,{state:{background:n,selectedIds:[],selectedRecords:[],moduleName:`general`,popupContext:{}}}),l=e=>t(`/popup/sticky-notes`,{state:{background:n,selectedIds:[],selectedRecords:[],moduleName:`general`,popupContext:{editingNoteId:e._id??e.id,editingHeading:e.title,editingComments:e.notes,editingTargetDate:e.reminder?.time||void 0}}}),[u,d]=(0,r.useState)(new Set),f=async e=>{let t=e._id??e.id;d(e=>new Set(e).add(t));try{await H(t),i.message.success(`Note resolved`)}catch{i.message.error(`Failed to resolve note`),d(e=>{let n=new Set(e);return n.delete(t),n})}},{span:p,maxCount:m}=Ke(e,2),h=t=>e.colorBy?J(t,e.colorBy):e.headingKey?J(t,e.headingKey):null,g=(Array.isArray(e.list)?e.list:[]).filter(e=>!u.has(e._id??e.id)).map((e,t)=>({item:e,_i:t})).filter(({item:t,_i:n})=>!tt(e,h(t),n)).filter(({item:t})=>bt(e,t)),[_,v]=(0,r.useState)(`todo`),y=g.filter(({item:t})=>!gt(e,t)),b=g.filter(({item:t})=>gt(e,t)),x=e.showTabs,S=x?_===`resolved`?b:y:g,[C,w]=(0,r.useState)(e.pageSize||12),[T,E]=(0,r.useState)(1);(0,r.useEffect)(()=>{E(1)},[_,e.dateRange]);let D=Math.max(1,Math.ceil(S.length/C));(0,r.useEffect)(()=>{E(e=>Math.min(e,D))},[D]);let O=x?S.slice((T-1)*C,T*C):qe(g,m);return(0,o.jsxs)(i.Card,{className:`sticky-card`,style:Y(e,`section`),title:Pe(e),extra:Fe(e,(0,o.jsxs)(`div`,{className:`sticky-card-actions`,children:[e.headerExtra,(0,o.jsx)(i.Tooltip,{title:`Add note`,children:(0,o.jsx)(i.Button,{type:`text`,icon:(0,o.jsx)(a.PlusOutlined,{}),size:`small`,onClick:c})}),Ne(e.viewAllUrl)&&(0,o.jsx)(i.Button,{type:`link`,size:`small`,onClick:()=>t(e.viewAllUrl,{state:{moduleName:e.moduleName,title:e.title,request:e.request}}),children:`View all`})]})),children:[x&&(0,o.jsx)(j,{activeKey:_,onChange:v,tabs:[{key:`todo`,title:`To-do`,count:y.length},{key:`resolved`,title:`Resolved Notes`,count:b.length}]}),O.length===0?(0,o.jsx)(i.Empty,{description:`No notes found`}):(0,o.jsx)(`div`,{className:x?`sticky-notes-scroll`:void 0,children:(0,o.jsx)(i.Row,{gutter:[12,12],children:O.map(({item:t,_i:n})=>{let r=xt(t,e,n),s=Le(e,r.type);return(0,o.jsx)(i.Col,{xs:24,sm:24,md:p>=12?12:p*2,lg:p,xl:p,children:(0,o.jsxs)(`div`,{className:`sticky-note ${s.className}`.trim(),style:s.style,children:[(0,o.jsxs)(i.Space,{size:4,className:`sticky-note-hover-actions`,children:[(0,o.jsx)(i.Tooltip,{title:`Edit`,children:(0,o.jsx)(i.Button,{type:`text`,size:`small`,icon:(0,o.jsx)(a.EditOutlined,{}),onClick:()=>l(t)})}),(0,o.jsx)(i.Tooltip,{title:`Resolve`,children:(0,o.jsx)(i.Button,{type:`text`,size:`small`,icon:(0,o.jsx)(a.CheckCircleOutlined,{}),onClick:()=>f(t)})})]}),(0,o.jsxs)(i.Space,{size:8,align:`center`,className:`sticky-note-pill-row`,children:[Ne(r.pill)&&(0,o.jsxs)(i.Tag,{style:Y(e,`stickyPill`),children:[r.dot&&(0,o.jsx)(`span`,{className:`sticky-note-dot`,style:{background:r.dot}}),r.pill]}),r.date&&(0,o.jsx)(q,{className:`sticky-note-date`,style:Y(e,`stickyDate`),children:r.date})]}),Ne(r.heading)&&(0,o.jsx)(q,{strong:!0,className:`sticky-note-heading`,style:Y(e,`stickyHeading`),children:r.heading}),Ne(r.body)&&(0,o.jsx)(St,{text:r.body,lines:e.bodyLines,style:Y(e,`stickyBody`)}),(0,o.jsxs)(i.Row,{justify:`space-between`,align:`middle`,className:`sticky-note-footer`,style:Y(e,`stickyFooter`),children:[(0,o.jsx)(i.Col,{children:(0,o.jsx)(q,{style:Y(e,`stickyFooterText`),children:r.footerLeft})}),(0,o.jsx)(i.Col,{children:(0,o.jsx)(q,{style:Y(e,`stickyFooterText`),children:r.footerRight})})]})]})},n)})})}),x&&S.length>0&&(0,o.jsx)(`div`,{className:`sticky-notes-pagination`,children:(0,o.jsx)(je,{current:T,pageSize:C,total:S.length,onChange:E,onPageSizeChange:w})})]})}function wt({group:e,children:t}){let n=e.frameClassName||`dyn-frame`,r=e.viewAll?(0,o.jsx)(`a`,{className:`dyn-frame-view-all`,children:typeof e.viewAll==`string`?e.viewAll:`View all`}):void 0;return(0,o.jsxs)(i.Card,{className:n,title:e.frameTitle,extra:r,children:[t,e.footer&&(0,o.jsx)(`div`,{className:`${n}-footer`})]})}function Tt({group:e,data:t}){let n=e.variant===`sticky`?Ve(e.title):e.title,r=e.variant===`sticky`&&Ne(e.totalCount)?`${n} (${Number(e.totalCount).toLocaleString()})`:n,i=r===e.title?e:{...e,title:r},a=i.frame?{...i,title:void 0}:i,s=a.variant===`sticky`?(0,o.jsx)(Ct,{group:{...a,list:Array.isArray(t)?t:[]}}):a.variant===`counts`?(0,o.jsx)(ct,{group:a,items:rt(t)}):a.variant===`submission`?(0,o.jsx)(lt,{group:a,data:t}):a.variant===`assessment`?(0,o.jsx)(dt,{group:a,data:t}):a.variant===`metrics`?(0,o.jsx)(pt,{group:a,data:t}):a.variant===`bars`?(0,o.jsx)(mt,{group:a,data:t}):a.variant===`kpi`?(0,o.jsx)(ht,{group:a,data:t}):(0,o.jsx)(st,{group:{...a,list:Array.isArray(t)?t:[]}});return i.frame?(0,o.jsx)(wt,{group:i,children:s}):s}function Et({moduleName:e,title:t,maxCount:n,layout:a,columns:s,request:c,viewAll:l=!0,staticData:f,showTabs:p,dateRange:m,headerExtra:h,rows:g,loading:_}){let v=Oe()[e],y=(0,r.useMemo)(()=>{if(!v)return v;let r={title:t,maxCount:n,layout:a,columns:s,showTabs:p,dateRange:m,headerExtra:h,rows:g,loading:_},i={...v,moduleName:e};for(let e in r)Ne(r[e])&&(i[e]=r[e]);return c&&(i.request={...v.request,...c,params:{...v.request?.params,...c.params},body:{...v.request?.body,...c.body}}),l||(i.viewAllUrl=void 0),i},[v,t,n,a,s,c?JSON.stringify(c):``,l,p,m,h,g?JSON.stringify(g):``,_]),[b,x]=(0,r.useState)({moduleName:null,resp:null,error:null}),[S,C]=(0,r.useState)(0);(0,r.useEffect)(()=>{if(!y?.refreshEvent)return;let e=()=>C(e=>e+1);return window.addEventListener(y.refreshEvent,e),()=>window.removeEventListener(y.refreshEvent,e)},[y?.refreshEvent]),(0,r.useEffect)(()=>{if(!y)return;if(f!==void 0){x({moduleName:e,resp:it(f,y),error:null});return}if(y.dynamicCommonCount){let t=!0;return d(y.dynamicCommonCount).then(n=>{t&&x({moduleName:e,resp:it(n,y),error:null})}).catch(n=>{t&&x({moduleName:e,resp:null,error:n})}),()=>{t=!1}}if(!y.request)return;let t=!0;return u(e,y.request).then(n=>{t&&x({moduleName:e,resp:n,error:null})}).catch(n=>{t&&x({moduleName:e,resp:null,error:n})}),()=>{t=!1}},[e,y,f,S]);let w=b.moduleName!==e,T=w?null:b.error,E=w?null:b.resp;if(!y)return(0,o.jsx)(i.Empty,{description:`Unknown dashboard module: ${e}`});if(w)return(0,o.jsx)(i.Card,{className:`dyn-card-section`,style:Y(y,`section`),title:Pe(y),children:(0,o.jsx)(`div`,{style:{textAlign:`center`,padding:24},children:(0,o.jsx)(i.Spin,{})})});if(T)return(0,o.jsx)(i.Card,{className:`dyn-card-section`,style:Y(y,`section`),title:Pe(y),children:(0,o.jsx)(i.Empty,{description:`Failed to load: ${T.message}`})});let D=X(E,y.listPath),O=y.variant===`sticky`?He(E,D):null;return(0,o.jsx)(Tt,{group:y.variant===`sticky`?{...y,...O}:y,data:D})}function Dt({moduleName:e,title:t,layout:n,columns:r,maxCount:a,request:s,viewAll:c,staticData:l,showTabs:u,dateRange:d,headerExtra:f,rows:p,loading:m}){return e?(0,o.jsx)(`div`,{className:`dyn-cards`,children:(0,o.jsx)(Et,{moduleName:e,title:t,layout:n,columns:r,maxCount:a,request:s,viewAll:c,staticData:l,showTabs:u,dateRange:d,headerExtra:f,rows:p,loading:m})}):(0,o.jsx)(i.Empty,{description:`DynamicCards: a moduleName prop is required`})}var{Text:Ot}=i.Typography;function kt(e){return(e??[]).map(e=>({key:e.userId,title:e.isSelf?`${e.name} (You)`:e.name,searchText:`${e.name} ${e.email??``}`.toLowerCase(),children:kt(e.children)}))}function At(e,t){let n=[];for(let r of e){let e=At(r.children??[],t);(r.searchText.includes(t)||e.length>0)&&n.push({...r,children:e})}return n}function jt(e,t=[]){for(let n of e)t.push(n.key),jt(n.children??[],t);return t}function Mt({value:e=[],onChange:t}){let[n,s]=(0,r.useState)(null),[c,l]=(0,r.useState)(!0),[u,d]=(0,r.useState)(null),[f,m]=(0,r.useState)(``),[h,g]=(0,r.useState)(!1);(0,r.useEffect)(()=>{let e=!0;return p().then(t=>{e&&s(kt(t?.users))}).catch(t=>{e&&d(t)}).finally(()=>{e&&l(!1)}),()=>{e=!1}},[]);let _=f.trim().toLowerCase(),v=(0,r.useMemo)(()=>_&&n?At(n,_):n,[n,_]),y=_?{expandedKeys:jt(v??[])}:{};return(0,o.jsx)(i.Popover,{content:(0,o.jsxs)(`div`,{style:{width:280},children:[(0,o.jsx)(i.Input.Search,{placeholder:`Search users`,allowClear:!0,value:f,onChange:e=>m(e.target.value),style:{marginBottom:8}}),c&&(0,o.jsx)(`div`,{style:{padding:24,textAlign:`center`},children:(0,o.jsx)(i.Spin,{size:`small`})}),u&&(0,o.jsx)(i.Empty,{description:`Could not load users`}),!c&&!u&&(v?.length?(0,o.jsx)(`div`,{style:{maxHeight:280,overflow:`auto`},children:(0,o.jsx)(i.Tree,{checkable:!0,selectable:!1,defaultExpandAll:!0,treeData:v,checkedKeys:e,onCheck:(e,n)=>t(n.checkedNodes.map(e=>e.key)),...y})}):(0,o.jsx)(i.Empty,{image:i.Empty.PRESENTED_IMAGE_SIMPLE,description:`No users`})),e.length>0&&(0,o.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`,alignItems:`center`,marginTop:8,paddingTop:8,borderTop:`1px solid #f0f0f0`},children:[(0,o.jsxs)(Ot,{type:`secondary`,children:[e.length,` selected`]}),(0,o.jsx)(i.Button,{type:`link`,size:`small`,onClick:()=>t([]),children:`Clear`})]})]}),trigger:`click`,placement:`bottomRight`,open:h,onOpenChange:g,children:(0,o.jsx)(i.Badge,{count:e.length,size:`small`,offset:[-4,4],children:(0,o.jsxs)(i.Button,{icon:(0,o.jsx)(a.FilterOutlined,{}),children:[`Filter by `,(0,o.jsx)(a.DownOutlined,{style:{fontSize:10}})]})})})}function Nt(e,t={}){let n=Array.isArray(e?.autoValueRules)?e.autoValueRules:[];for(let e of n){let n=Array.isArray(e?.whenRoleId)?e.whenRoleId.map(Number):[],r=Array.isArray(e?.whenUserId)?e.whenUserId.map(Number):[],i=t.roleId!==void 0&&n.includes(t.roleId),a=t.userId!==void 0&&r.includes(t.userId);if(i||a)return{matched:!0,value:e.value}}return{matched:!1,value:void 0}}var Pt=`authToken`,Ft=`authUser`,It=`authLoginSession`,Lt=[`access_token`,`refresh_token`,`id_token`,`token_type`,`expires_in`,`refresh_expires_in`,`menu`,`footermenu`,`menuPermission`,`default_values`,`roleId`,`companyName`,`preferred_Username`,`user_Email`,`userName`,`userId`,`tenantId`,`businessId`,`businessUnitId`,`activeKey`,`ct_project_id`,`ct_project_name`],Rt=`test-flows`,zt=[{value:`module`,label:`Module`,isVisible:!0,type:`text`},{value:`flow`,label:`Flow`,isVisible:!0,type:`text`},{value:`step_order`,label:`Step Order`,isVisible:!0,type:`number`},{value:`keyword`,label:`Action`,isVisible:!0,type:`text`},{value:`description`,label:`Description`,isVisible:!0,type:`text`},{value:`target`,label:`Key`,isVisible:!0,type:`text`},{value:`tags`,label:`Tags`,isVisible:!0,type:`text`},{value:`value`,label:`Value`,isVisible:!0,type:`text`},{value:`expected`,label:`Expected`,isVisible:!0,type:`text`}],Bt=`lms-flows`,Vt=[{value:`module`,label:`Module`,isVisible:!0,type:`text`},{value:`flow`,label:`Flow`,isVisible:!0,type:`text`},{value:`step_order`,label:`Step Order`,isVisible:!0,type:`number`},{value:`keyword`,label:`Action`,isVisible:!0,type:`text`},{value:`description`,label:`Description`,isVisible:!0,type:`text`},{value:`target`,label:`Key`,isVisible:!0,type:`text`},{value:`tags`,label:`Tags`,isVisible:!0,type:`text`},{value:`value`,label:`Value`,isVisible:!0,type:`text`},{value:`expected`,label:`Expected`,isVisible:!0,type:`text`}];function Ht(){let e=localStorage.getItem(Pt),t=sessionStorage.getItem(It)===`1`;return e&&t?e:null}async function Ut({jobId:e,limit:n=10,offset:r=0,sortBy:i=`new`,type:a=`myVendor`}){return await Zt(t.S,`/vendor/hotlist`,{method:`POST`,body:JSON.stringify({jobId:e,limit:n,offset:r,sortBy:i,type:a})})}async function Wt(e){let n=await Zt(t.x,`/get-bulkmail-details?jobId=${encodeURIComponent(e)}`);return n.data??n}async function Gt({jobId:e,toMail:n,ccMail:r,bccMail:i,subject:a,contents:o}){let s=localStorage.getItem(`tenantId`)||`93c782a4aa626175e5d11afa`,c=localStorage.getItem(`businessId`)||`83c782a4aa626175e5d11afa`,l=localStorage.getItem(`businessUnitId`)||`63b57588fd768a839dbc0f63`,u=new FormData;u.append(`json`,JSON.stringify({schemaVersion:1,tenantId:s,businessId:c,businessUnitId:l,jobId:e,toMail:n,ccMail:r,bccMail:i,contents:o,subject:a}));let{"Content-Type":d,...f}=await Xt(),p=await fetch(`${t.x}/send-bulkmail`,{method:`POST`,headers:f,body:u});if(p.status===401&&Kt(),!p.ok)throw Error(`API ${p.status}: ${p.statusText}`);let m=await p.text();return m?JSON.parse(m):{}}function Kt(){localStorage.removeItem(Pt),localStorage.removeItem(Ft),Lt.forEach(e=>localStorage.removeItem(e)),sessionStorage.removeItem(It),window.dispatchEvent(new Event(`auth:logout`))}function qt(e=``){let t=String(e??``).trim();return t===`myJobs`||t===`allJobs`||t===`fulfilled`?t:``}function Jt(t){let n=String(e.Er(t)??``).trim().toLowerCase();return n===`job`||n===`jobs`}async function Yt(){let e=Ht();if(e)return e;let t=Error(`Authentication required`);throw t.status=401,t}async function Xt(){return{"Content-Type":`application/json`,Authorization:`Bearer ${await Yt()}`}}async function Zt(e,t,n={}){let r=await Xt(),i={...n,headers:{...r,...n.headers}},a=await fetch(`${e}${t}`,i);if(a.status===401&&Kt(),!a.ok){let e=Error(`API ${a.status}: ${a.statusText}`);throw e.status=a.status,e}return a.json()}async function Qt(e,t){let n=await Zt(e,t);return n.data??n}async function $t(e){return Qt(t.C,e)}async function en(e){return Qt(t.b,e)}async function tn(t){return t===Rt?zt:t===Bt?Vt:$t(`/filter-dropdown-fields?module=${encodeURIComponent(e.Er(t))}`)}async function nn(t,{configType:n,userId:r,roleId:i}={}){if(t===Rt)return zt;if(t===Bt)return Vt;let a=new URLSearchParams({module:e.Er(t)});return n&&a.set(`configType`,n),r!=null&&a.set(`userId`,String(r)),i!=null&&a.set(`roleId`,String(i)),en(`/admin/field-config?${a}`)}async function rn({limit:e=10,offset:t=0,search:n=``,module:r=``,keyword:i=``,tags:a=``,active:o}={}){let s=new URLSearchParams({limit:String(e),offset:String(t)});return n&&s.append(`search`,n),r&&s.append(`module`,r),i&&s.append(`keyword`,i),a&&s.append(`tags`,a),o!=null&&o!==``&&s.append(`active`,String(o)),en(`/test-flows?${s.toString()}`)}async function an({limit:e=10,offset:t=0,search:n=``,module:r=``,keyword:i=``,tags:a=``,active:o}={}){let s=new URLSearchParams({limit:String(e),offset:String(t)});return n&&s.append(`search`,n),r&&s.append(`module`,r),i&&s.append(`keyword`,i),a&&s.append(`tags`,a),o!=null&&o!==``&&s.append(`active`,String(o)),en(`/lms-flows?${s.toString()}`)}async function on(n,r=10,i=0,a={}){let{scope:o=``,sort:s=``,sortDir:c=``,search:l=``,filters:u=[],queryParams:d={}}=a;if(n===Rt){let e=await rn({limit:r,offset:i}),t=Array.isArray(e?.items)?e.items:[],n=Number(e?.total)||0;return{items:t,total:n,limit:r,offset:i,tabs:[{key:`all`,title:`Test Cases`,count:n}]}}if(n===Bt){let e=await an({limit:r,offset:i}),t=Array.isArray(e?.items)?e.items:[],n=Number(e?.total)||0;return{items:t,total:n,limit:r,offset:i,tabs:[{key:`all`,title:`LMS Cases`,count:n}]}}let f=new URLSearchParams({module:e.Er(n),limit:String(r),offset:String(i)}),p=Jt(n)?qt(o):String(o??``).trim();p&&f.set(`scope`,p),s&&f.set(`sort`,s),c&&f.set(`sortDir`,c),String(l??``).trim()&&f.set(`search`,String(l).trim());let m=fn(u.filter(e=>e?.field));m.length&&f.set(`filters`,JSON.stringify(m)),Object.entries(d??{}).forEach(([e,t])=>{t!=null&&String(t).trim()!==``&&f.set(e,String(t))});let h=await Zt(t.b,`/module-data-list?${f.toString()}`),g=sn(h),_=g.some(e=>un(e)),v=g.some(e=>dn(e));if(_||v)try{let{transformDiceResponseToInternalFormat:e}=await Promise.resolve().then(()=>require("./diceCandidateMapper-CCsJWM_a.cjs")),t=e(h,h),n=t?.data?.data??[];return{items:n,total:ln(h,p)||ln(t,p)||n.length,limit:r,offset:i,tabs:t?.data?.tabs??h?.tabs??h?.data?.tabs??[],fields:t?.data?.fields??h?.fields??h?.data?.fields??[],tabField:t?.data?.tabField??h?.tabField??h?.data?.tabField??``,actionRules:t?.data?.actionRules??h?.data?.actionRules??[],actions:t?.data?.actions??h?.data?.actions??[],columnActions:t?.data?.columnActions??h?.data?.columnActions??[]}}catch(e){console.error(`[getModuleDataList] Dice transformation failed:`,e)}return h}function sn(e){let t=e?.data??e,n=Array.isArray(t)?t:t?.rows??t?.records??t?.items??t?.list??t?.data??e?.items??e?.records??[];return Array.isArray(n)?n:[]}function cn(...e){for(let t of e){let e=Number(t);if(Number.isFinite(e))return e}}function ln(e,t=``){let n=e?.data??e,r=sn(e),i=e?.count,a=n?.count,o=String(t??``).trim().toLowerCase();if(i&&typeof i==`object`){let e=cn(o?i[o]:void 0,i.total,i.searchCount,i.count);if(e!==void 0)return e}if(a&&typeof a==`object`){let e=cn(o?a[o]:void 0,a.total,a.searchCount,a.count);if(e!==void 0)return e}return cn(e?.total,typeof i==`object`?void 0:i,e?.totalCount,n?.total,typeof a==`object`?void 0:a,n?.totalCount,r.length)??0}function un(e){let t=e?.skills??e?.technicalSkills??e?.primarySkills;return!Array.isArray(t)||t.length===0?!1:t.some(e=>e&&typeof e==`object`&&(`skill`in e||`lastUsed`in e))}function dn(e){return[e?.sourceType,e?.profileSource,e?.selectedSource,e?.customFields?.sourceType,e?.customFields?.profileSource].flat().some(e=>String(e??``).trim().toLowerCase()===`dice`)||!!e?.customFields?.diceProfileData}function fn(e){let t=[];for(let n of e){if(!n.field)continue;let e=n.operator===`or`?`or`:`and`;if(n.operator===`isEmpty`){t.push({field:n.field,op:`isEmpty`,operator:`and`});continue}if(n.operator===`notEmpty`){t.push({field:n.field,op:`notEmpty`,operator:`and`});continue}if(n.filterInputType===`text`){let r=typeof n.value==`string`?n.value.trim():``;r&&t.push({field:n.field,op:`contains`,value:r,operator:e});continue}if(n.from||n.to){n.from&&t.push({field:n.field,op:`gte`,value:String(n.from),operator:e}),n.to&&t.push({field:n.field,op:`lte`,value:String(n.to),operator:`and`});continue}Array.isArray(n.values)&&n.values.length>0&&t.push({field:n.field,op:`in`,values:n.values.map(String),operator:e})}return t}async function pn(t,n,r=``,i={}){let{limit:a=50,offset:o=0,dataSource:s,groupName:c,lookup:l}=i,u=new URLSearchParams({module:e.Er(t),field:n,value:r,limit:String(a),offset:String(o)});return s&&u.set(`dataSource`,s),s===`group`&&c&&u.set(`groupName`,c),s===`lookup`&&l?.collection&&(u.set(`lookupCollection`,l.collection),l.displayField&&u.set(`lookupField`,l.displayField)),$t(`/filter-dropdown-values?${u}`)}function mn(e){let t=e?.data??e,n=Array.isArray(t)?t:Array.isArray(t?.groups)?t.groups:Array.isArray(e?.groups)?e.groups:[],r=t?.recordMeta??e?.recordMeta;return r&&typeof r==`object`&&(n.recordMeta=r),n}async function hn({module:e,id:n,view:r}={}){if(!e)throw Error(`module is required to fetch form groups`);let i=await Xt(),a=new URLSearchParams({module:e});n&&a.set(`id`,String(n)),r&&a.set(`view`,String(r));let o=await fetch(`${t.b}/admin/form-groups?${a.toString()}`,{method:`GET`,headers:i});if(!o.ok)throw Error(`API ${o.status}: ${o.statusText}`);return mn(await o.json())}async function gn({searchQuery:e,candidateId:n}){let r=localStorage.getItem(`tenantId`)||`93c782a4aa626175e5d11afa`,i=localStorage.getItem(`businessId`)||`83c782a4aa626175e5d11afa`,a=localStorage.getItem(`businessUnitId`)||`63b57588fd768a839dbc0f63`,o=Number(localStorage.getItem(`userId`))||1;return Zt(t.S,`/joblist`,{method:`POST`,body:JSON.stringify({tenantId:r,businessId:i,businessUnitId:a,searchQuery:e,userId:o,candidateId:Array.isArray(n)?n:[n]})})}async function _n(e=``){return Qt(t.S,`/users/any${e?`?search=${encodeURIComponent(e)}`:``}`)}function vn(e){if(!e||typeof e!=`string`)return null;try{let t=e.split(`.`)[1];if(!t)return null;let n=t.replace(/-/g,`+`).replace(/_/g,`/`),r=n.padEnd(Math.ceil(n.length/4)*4,`=`);return JSON.parse(atob(r))}catch{return null}}function yn(){return vn(localStorage.getItem(`access_token`)||localStorage.getItem(`authToken`))??{}}function bn(){let e=yn();return{userId:e.userId??e.user_id??e.USER_ID,roleId:e.roleId??e.role_id??e.ROLE_ID}}function xn(){let e=bn();return{userId:e.userId??localStorage.getItem(`userId`)??void 0,roleId:e.roleId??localStorage.getItem(`roleId`)??void 0}}function Sn(e){let[t,n]=(0,r.useState)([]),[i,a]=(0,r.useState)(!1),[o,s]=(0,r.useState)(null);return(0,r.useEffect)(()=>{if(!e)return;let t=!1;return a(!0),s(null),tn(e).then(e=>{t||n(Array.isArray(e)?e:[])}).catch(e=>{t||s(e.message)}).finally(()=>{t||a(!1)}),()=>{t=!0}},[e]),{fields:t,loading:i,error:o}}function Cn(e){let[t,n]=(0,r.useState)(null),[i,a]=(0,r.useState)(!1),[o,s]=(0,r.useState)(null);return(0,r.useEffect)(()=>{if(!e)return;let t=!1;return a(!0),s(null),nn(e).then(e=>{t||n(Array.isArray(e)?e:null)}).catch(e=>{t||s(e.message)}).finally(()=>{t||a(!1)}),()=>{t=!0}},[e]),{config:t,loading:i,error:o}}function wn(e){let[t,n]=(0,r.useState)([]),[i,a]=(0,r.useState)(!1),[o,s]=(0,r.useState)(null);return(0,r.useEffect)(()=>{if(!e)return;let t=!1;a(!0),s(null);let{userId:r,roleId:i}=xn(),o=e=>{let t=e?.isVisible??e?.is_visible??e?.visible;return t==null?!0:typeof t==`boolean`?t:typeof t==`string`?![`false`,`0`,`no`,`hide`,`hidden`].includes(t.toLowerCase()):!!t};return nn(e,{configType:`filter`,userId:r,roleId:i}).then(async t=>{let n=(Array.isArray(t)?t:t?.visibleFields??[]).filter(o);if(n.length>0)return n;let r=await tn(e);return Array.isArray(r)?r.filter(o):[]}).then(e=>{t||n(Array.isArray(e)?e:[])}).catch(e=>{t||s(e.message)}).finally(()=>{t||a(!1)}),()=>{t=!0}},[e]),{fields:t,loading:i,error:o}}var Tn={campaign:`campaingns`,campaigns:`campaingns`};function En(e,t){return e===t||`${e}s`===t||`${t}s`===e}function Dn(e){try{let t=localStorage.getItem(`menu`);if(!t)return null;let n=JSON.parse(t);if(!Array.isArray(n))return null;let r=n.find(t=>{let n=String(t?.key??``).trim().toLowerCase();return n&&En(e,n)});return r?String(r.key).trim().toLowerCase():null}catch{return null}}function On(e){try{let t=localStorage.getItem(`menuPermission`);if(!t||!e)return{};let n=JSON.parse(t);if(!n||typeof n!=`object`)return{};let r=String(e).trim().toLowerCase(),i=Tn[r]??Dn(r)??r,a=Object.keys(n),o=e=>e.trim().toLowerCase(),s=a.find(e=>o(e)===i)??a.find(e=>En(i,o(e)))??a.find(e=>En(r,o(e)));return(s?n[s]:null)??{}}catch{return{}}}function kn(e){return e==null?!0:Number(e)!==0&&e!==!1&&e!==`0`}function An(e){return(0,r.useMemo)(()=>{let t=On(e);return{canView:kn(t.view),canAdd:kn(t.add),canEdit:kn(t.edit),canDelete:kn(t.delete),canApprove:kn(t.approve),canReject:kn(t.reject)}},[e])}function jn(e){return[e?.key,e?.label,e?.name].filter(Boolean).join(` `).trim().toLowerCase()}function Mn(e){let t=String(e?.permissionKey??``).trim().toLowerCase();if([`add`,`edit`,`delete`].includes(t))return t;if(e?.danger)return`delete`;let n=jn(e);return/(^|[\s_-])edit([\s_-]|$)/.test(n)?`edit`:/(^|[\s_-])(add|create)([\s_-]|$)/.test(n)?`add`:null}function Nn(e,t){if(e!=null)return t.length===0?e:Array.isArray(e)?e.map(e=>Nn(e,t)).filter(e=>e!=null).flat():Nn(e[t[0]],t.slice(1))}function Pn(e,t){if(!t||typeof t!=`string`||!e)return;if(t in e)return e[t];let n=Nn(e,t.split(`.`));if(n!==void 0&&!(Array.isArray(n)&&n.length===0))return n;let r=t.split(`.`).pop();return r===t?void 0:e[r]}function Fn(){try{return typeof localStorage<`u`?localStorage.getItem(`userId`)??``:``}catch{return``}}var In={"{currentuserid}":Fn,"{currentuser}":Fn,"{me}":Fn};function Ln(e){let t=In[String(e??``).trim().toLowerCase()];return t?t():e}function Rn(e){return String(e??``).trim().toLowerCase()}function zn(e){return e==null||e===``||Array.isArray(e)&&e.length===0}function Bn(e,t,n){let r=e?.operator,i=r===`scope`?n:Pn(t,e?.field),a=Ln(e?.value),o=Rn(i),s=Rn(a);if(r===`eq`||r===`scope`)return o===s;if(r===`ne`)return o!==s;if(r===`isEmpty`)return zn(i);if(r===`notEmpty`)return!zn(i);if(r===`fieldEq`)return o===Rn(Pn(t,e?.compareField));if(r===`includes`||r===`notIncludes`){let e=(Array.isArray(i)?i:[i]).some(e=>Rn(e)===s)&&s!==``;return r===`includes`?e:!e}return r===`contains`?Array.isArray(i)?i.some(e=>Rn(e).includes(s)):o.includes(s):!1}function Vn(e,t,n,r){let i=Array.isArray(n)?n:[];return i.length?i.some(n=>n?.isActive!==!1&&(n?.blockedActions??[]).map(String).includes(String(e))&&(n?.conditions??[]).every(e=>Bn(e,t,r))):!1}function Hn(e,t,n,r){let i=(Array.isArray(n)?n:[]).find(n=>n?.isActive!==!1&&(n?.disabledActions??[]).map(String).includes(String(e))&&(n?.conditions??[]).every(e=>Bn(e,t,r)));return i?i.description||`${e} is temporarily unavailable`:null}function Un(e,t,n){let r=e?.doneWhen;return!r||!r.field||!Bn(r,t,n)?null:{label:e.doneLabel||e.label,tone:e.doneTone||`success`}}function Wn(e,t,n,r){let i=Array.isArray(t)?t:[];return i.length?i.some(t=>Vn(e,t,n,r)):!1}var Gn=e.Nr({actionRules:()=>Zn,actions:()=>Qn,columnActions:()=>$n,default:()=>er,fields:()=>Yn,rows:()=>Kn,synthesizeFieldsFromRows:()=>!0,tabField:()=>Xn,tabs:()=>Jn,total:()=>qn,visibilityFlag:()=>null}),Kn={sources:[`payload`],paths:[`rows`,`records`,`items`,`list`,`data`]},qn={sources:[`response`,`payload`],paths:[`total`,`count`,`totalCount`]},Jn={sources:[`response`,`payload`],paths:[`tabs`,`tabList`]},Yn={sources:[`response`,`payload`],paths:[`fields`,`fieldConfig`]},Xn={sources:[`payload`],paths:[`tabField`]},Zn={sources:[`payload`],paths:[`actionRules`]},Qn={sources:[`payload`],paths:[`actions`]},$n={sources:[`payload`],paths:[`columnActions`]},er={rows:Kn,total:qn,tabs:Jn,fields:Yn,tabField:Xn,actionRules:Zn,actions:Qn,columnActions:$n,synthesizeFieldsFromRows:!0,visibilityFlag:null},tr=Object.assign({"../../config/responseMappings/default.json":Gn});function nr(e){if(!e)return null;for(let t of Object.keys(tr))if(t.split(`/`).pop().replace(/\.json$/,``)===e){let e=tr[t];return e.default??e}return null}function rr(e){let t=nr(e);return t?{...er,...t}:er}function ir(e,t){return String(t).split(`.`).reduce((e,t)=>e?.[t],e)}function ar(e,t,n){if(!n)return;let r={response:e,payload:t};for(let e of n.sources)for(let t of n.paths){let n=ir(r[e],t);if(n!==void 0)return n}}function or(...e){for(let t of e){let e=Number(t);if(Number.isFinite(e))return e}}function sr(e){return e.replace(/([A-Z])/g,` $1`).replace(/^./,e=>e.toUpperCase())}var cr=/token|password|passwd|secret|apikey|api_key|auth|credential|salary|ssn|ein\b/i;function lr(e){return cr.test(e)}function ur(e){let t=e[0];return t?Object.keys(t).filter(e=>!e.startsWith(`_`)&&!lr(e)&&typeof t[e]!=`object`).map(e=>({value:e,field:e,label:sr(e),isVisible:!0})):[]}function dr(e,t){return t?e.filter(e=>e[t]===1||e[t]===!0||e[t]===void 0).map(e=>({...e,isVisible:!0})):e}var fr=5e3,pr=300,mr=100,hr=100,gr=300,_r=100;function vr(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function yr(e,t){return Array.isArray(e)?e.slice(0,t):[]}function br(e,t){return yr(e,t).filter(vr)}function xr(e,t){return br(e,t).filter(e=>typeof e.value==`string`||typeof e.field==`string`)}var Sr=/^\s*(javascript|data|vbscript|file):/i,Cr=[`url`,`href`,`routeUrl`,`routeURL`];function wr(e){let t={...e};for(let e of Cr)typeof t[e]==`string`&&Sr.test(t[e])&&delete t[e];return t}function Tr(e,t){return br(e,t).map(wr)}function Er(e,t){return e.flatMap(e=>{let n=ir(e,t);return n==null?[]:(Array.isArray(n)?n:[n]).filter(e=>e!=null).map(e=>vr(e)?e:{value:e})})}function Dr(t,n){let{baseModule:r,nestedPath:i}=e.Dr(n),a=rr(r),o=t?.data??t,s=yr(Array.isArray(o)?o:ar(t,o,a.rows),fr);i&&(s=yr(Er(s,i),fr),console.log(`[mapListResponse] module "${r}" → nested path "${i}": ${s.length} row(s)`));let c=ar(t,o,a.total),l=vr(c)?or(c.total,c.searchCount,c.count):c,u=Number(l??s.length)||0,d=br(ar(t,o,a.tabs),mr),f=i?[]:ar(t,o,a.fields),p=Array.isArray(f)?f:[];p.length===0&&(i||a.synthesizeFieldsFromRows)&&(p=ur(s)),p=xr(p,pr),a.visibilityFlag&&(p=dr(p,a.visibilityFlag));let m=ar(t,o,a.tabField);return{rows:s,total:u,tabs:d,fields:p,tabField:typeof m==`string`?m:``,actionRules:Tr(ar(t,o,a.actionRules),gr),actions:Tr(ar(t,o,a.actions),hr),columnActions:Tr(ar(t,o,a.columnActions),_r)}}var Or={jobs:{module:`jobs`,keys:[`jobRecruitmentStatus`,`jobStatus`],dateField:`createdAt`},candidates:{module:`candidates`,keys:[`candidateSummary`],items:[{key:`created`,label:`Created`,collection:`candidates`,countType:`documents`,dateField:`createdAt`},{key:`submitted`,label:`Submitted`,collection:`submissions`,countType:`distinct`,distinctField:`applicantId`,dateField:`submittedAt`},{key:`onboarded`,label:`Onboarded`,collection:`onboarding`,countType:`distinct`,distinctField:`candidateId`,dateField:`onboardingActivity.activityTime`,filters:{onboardingObStage:[`Completed`]}}]},submissions:{module:`submission`,keys:[`internalSubmissionStatus.internalSubmissionStatusText`,`clientSubmissionStatus.clientSubmissionStatusText`],dateField:`createdAt`}},kr={jobSummary:[{label:`Open`,field:`jobStatus`,keys:[`open`,`active`]},{label:`Partially Fulfilled`,field:`jobRecruitmentStatus`,keys:[`partially fulfilled`,`partiallyFulfilled`]},{label:`Fulfilled`,field:`jobRecruitmentStatus`,keys:[`fulfilled`]},{label:`In-active / Closed`,field:`jobStatus`,keys:[`closed`,`inactive`,`in-active`]}]};function Ar(e){return String(e??``).trim().toLowerCase()}function jr(e,t){return{label:e,count:Number.isFinite(Number(t))?Number(t):0}}function Mr(e){return Array.isArray(e?.counts)?e.counts:[]}function Nr(e,t){return e?.key===t?e:(Array.isArray(e?.fields)?e.fields:[]).find(e=>e?.key===t)??{}}function Pr(e,t){let n=Array.isArray(t)?t:[t],r=Array.isArray(e?.counts)?e.counts:[],i=n.filter(Boolean).map(Ar),a=r.find(e=>[e?.key,e?.label].map(Ar).some(e=>i.includes(e)));if(a)return Number(a.count)||0;for(let t of n){let n=e?.[t];if(Number.isFinite(Number(n)))return Number(n)}return 0}function Fr(e,t){let n=(Array.isArray(t)?t:[t].filter(Boolean)).map(Ar);return Mr(e).reduce((e,t)=>{let r=Ar(t?.key??t?.label);return n.includes(r)?e+(Number(t?.count)||0):e},0)}function Ir(e){let t=Ar(e);return t.includes(`candidate`)?Or.candidates:t.includes(`submission`)?Or.submissions:t.includes(`job`)?Or.jobs:null}function Lr(e){return kr[e]??null}function Rr(e){return Array.isArray(e?.counts)||e?.openCount!==void 0||e?.myAssignedCount!==void 0?[jr(`Open`,Pr(e,[`openCount`,`open`])),jr(`Partially Fulfilled`,Pr(e,[`partiallyFulfilledCount`,`partially fulfilled`])),jr(`Fulfilled`,Pr(e,[`fulfilledCount`,`fulfilled`])),jr(`In-active / Closed`,Pr(e,[`closedCount`,`closed`,`inactive`,`in active`]))]:(Lr(`jobSummary`)??[]).map(t=>{let n=Nr(e,t.field);return jr(t.label,Fr(n,t.keys??[]))})}function zr(e){return Mr(e).map(({label:e,key:t,count:n})=>jr(e||t,n))}function Br(e){let t=Array.isArray(e?.fields)?e.fields:[],n=t.find(e=>e.key===`clientSubmissionStatus.clientSubmissionStatusText`)??{},r=t.find(e=>e.key===`internalSubmissionStatus.internalSubmissionStatusText`)??{},i=e=>Array.isArray(e.counts)?e.counts.map(({label:e,count:t})=>jr(e,t)):[],a=Number(n.total)||0,o=Number(r.total)||0;return{total:a+o,clientCount:a,internalCount:o,clientBreakdown:i(n),internalBreakdown:i(r)}}var{RangePicker:Vr}=i.DatePicker,Hr=[{value:`today`,label:`Today`},{value:`yesterday`,label:`Yesterday`},{value:`last-7-days`,label:`Last 7 Days`},{value:`last-30-days`,label:`Last 30 Days`},{value:`this-month`,label:`This Month`},{value:`last-month`,label:`Last Month`},{value:`custom-range`,label:`Custom Range`}];function Ur(e){return e.closest(`.view-summary-card`)??document.body}function Wr(e){return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`}function Gr(e,t){let n=new Date(e);return n.setDate(n.getDate()+t),n}function Kr(e){let t=new Date,n=new Date(t.getFullYear(),t.getMonth(),1),r=new Date(t.getFullYear(),t.getMonth()-1,1),i=new Date(t.getFullYear(),t.getMonth(),0);if(e===`today`)return{startDate:t,endDate:t};if(e===`yesterday`){let e=Gr(t,-1);return{startDate:e,endDate:e}}return e===`last-30-days`?{startDate:Gr(t,-29),endDate:t}:e===`this-month`?{startDate:n,endDate:t}:e===`last-month`?{startDate:r,endDate:i}:{startDate:Gr(t,-6),endDate:t}}function qr(e,t){if(e===`custom-range`){let[e,n]=t??[];return!e||!n?null:{startDate:e.format(`YYYY-MM-DD`),endDate:n.format(`YYYY-MM-DD`)}}let n=Kr(e);return{startDate:Wr(n.startDate),endDate:Wr(n.endDate)}}function Jr(e){return String(e??``).trim().toLowerCase()}function Yr(e){return String(e??``).replace(/[-_]+/g,` `).replace(/\s+/g,` `).trim().replace(/\b\w/g,e=>e.toUpperCase())}function Xr(e){let t=Jr(e);return t.includes(`candidate`)?`Candidate`:t.includes(`submission`)?`Submission`:t.includes(`job`)?`Job`:Yr(e||`List`)}function Zr(e){return e?.data??e}function Qr(e,t){let n={module:e.module,dateRange:{startDate:t.startDate,endDate:t.endDate}};return e.summary&&(n.summary=e.summary),Array.isArray(e.items)&&e.items.length>0&&(n.items=e.items),Array.isArray(e.keys)&&e.keys.length>0&&(n.keys=e.keys),e.dateField&&(n.dateRange.key=e.dateField),n}function $r({moduleName:t,open:n,onClose:s}){let c=Xr(t),l=Jr(t),u=l.includes(`submission`),f=l.includes(`job`),p=l.includes(`candidate`),m=Ir(t),h=u?`last-30-days`:`last-7-days`,[g,_]=(0,r.useState)(h),[v,y]=(0,r.useState)(null),[b,x]=(0,r.useState)(null),[S,C]=(0,r.useState)(null),[w,T]=(0,r.useState)(null),[E,D]=(0,r.useState)(``),O=Rr(b),k=zr(S),A=Br(w),j=Math.max(A.total,1),M=Math.round(A.internalCount/j*100),N=Math.max(0,100-M),P=g===`custom-range`;return(0,r.useEffect)(()=>{n&&(_(h),y(null))},[h,n]),(0,r.useEffect)(()=>{if(!n||!m)return;let e=qr(g,v);if(!e)return;let t=!1;return D(``),d(Qr(m,e)).then(e=>{if(t)return;let n=Zr(e);if(f){x(n),C(null),T(null);return}if(p){C(n),x(null),T(null);return}T(n),x(null),C(null)}).catch(e=>{t||(x(null),C(null),T(null),D(e.message||`Could not load summary`))}),()=>{t=!0}},[v,p,f,u,n,g,m]),n?(0,o.jsxs)(`div`,{className:`view-summary-layer`,role:`presentation`,children:[(0,o.jsx)(`div`,{className:`view-summary-scrim`}),(0,o.jsxs)(i.Card,{"aria-label":`${c} summary`,bordered:!1,className:`view-summary-card view-summary-card--${u?`submission`:`simple`}`,children:[(0,o.jsx)(i.Button,{"aria-label":`Close summary`,className:`view-summary-close`,icon:(0,o.jsx)(a.CloseOutlined,{}),type:`text`,onClick:s}),(0,o.jsxs)(`header`,{className:`view-summary-header`,children:[(0,o.jsxs)(e.Ar,{className:`view-summary-title`,color:`primary`,size:`md`,tag:`h2`,variant:`h2`,weight:`medium`,children:[c,` Summary`]}),(0,o.jsx)(i.Select,{"aria-label":`Summary date range`,className:`view-summary-range`,popupClassName:`view-summary-range-dropdown`,getPopupContainer:Ur,popupMatchSelectWidth:!1,value:g,options:Hr,onChange:e=>{_(e),e!==`custom-range`&&y(null)}})]}),u?(0,o.jsxs)(o.Fragment,{children:[P&&(0,o.jsx)(Vr,{allowClear:!0,className:`view-summary-custom-range view-summary-custom-range--full`,format:`MMM DD, YYYY`,getPopupContainer:Ur,placeholder:[`Start date`,`End date`],value:v,onChange:y}),(0,o.jsxs)(`section`,{className:`view-summary-submission-top`,"aria-label":`Submission totals`,children:[(0,o.jsxs)(`div`,{className:`view-summary-donut`,style:{"--summary-internal":`${M}%`,"--summary-client":`${N}%`},children:[(0,o.jsx)(e.Ar,{color:`success`,size:`2xl`,tag:`span`,variant:`metric`,weight:`semibold`,children:A.total}),(0,o.jsx)(e.Ar,{color:`success`,size:`xs`,tag:`span`,variant:`caption`,weight:`semibold`,children:`Total`})]}),(0,o.jsxs)(`div`,{className:`view-summary-legend`,children:[(0,o.jsxs)(e.Ar,{color:`muted`,size:`sm`,tag:`span`,variant:`body`,weight:`regular`,children:[(0,o.jsx)(`i`,{className:`view-summary-dot view-summary-dot--internal`}),`Internal`,(0,o.jsx)(e.Ar,{color:`primary`,size:`sm`,tag:`b`,variant:`body`,weight:`regular`,children:A.internalCount})]}),(0,o.jsxs)(e.Ar,{color:`muted`,size:`sm`,tag:`span`,variant:`body`,weight:`regular`,children:[(0,o.jsx)(`i`,{className:`view-summary-dot view-summary-dot--client`}),`Client`,(0,o.jsx)(e.Ar,{color:`primary`,size:`sm`,tag:`b`,variant:`body`,weight:`regular`,children:A.clientCount})]})]})]}),(0,o.jsx)(`div`,{className:`view-summary-divider`}),(0,o.jsxs)(`section`,{className:`view-summary-breakdown`,children:[(0,o.jsx)(e.Ar,{className:`view-summary-subtitle`,color:`primary`,size:`md`,tag:`h3`,variant:`h4`,weight:`medium`,children:`Internal Breakdown`}),A.internalBreakdown.length>0?A.internalBreakdown.map(t=>(0,o.jsxs)(`div`,{className:`view-summary-row view-summary-row--bullet`,children:[(0,o.jsxs)(e.Ar,{color:`muted`,size:`sm`,tag:`span`,variant:`body`,weight:`regular`,children:[(0,o.jsx)(`i`,{className:`view-summary-dot view-summary-dot--internal`}),t.label]}),(0,o.jsx)(e.Ar,{color:`primary`,size:`sm`,tag:`b`,variant:`body`,weight:`regular`,children:t.count})]},`internal-${t.label}`)):(0,o.jsx)(e.Ar,{color:`muted`,size:`sm`,tag:`p`,variant:`body`,weight:`regular`,children:`No internal data found`}),(0,o.jsx)(e.Ar,{className:`view-summary-subtitle`,color:`primary`,size:`md`,tag:`h3`,variant:`h4`,weight:`medium`,children:`Client Breakdown`}),A.clientBreakdown.length>0?A.clientBreakdown.map(t=>(0,o.jsxs)(`div`,{className:`view-summary-row view-summary-row--bullet`,children:[(0,o.jsxs)(e.Ar,{color:`muted`,size:`sm`,tag:`span`,variant:`body`,weight:`regular`,children:[(0,o.jsx)(`i`,{className:`view-summary-dot view-summary-dot--client`}),t.label]}),(0,o.jsx)(e.Ar,{color:`primary`,size:`sm`,tag:`b`,variant:`body`,weight:`regular`,children:t.count})]},`client-${t.label}`)):(0,o.jsx)(e.Ar,{color:`muted`,size:`sm`,tag:`p`,variant:`body`,weight:`regular`,children:`No client data found`}),E&&(0,o.jsx)(e.Ar,{color:`danger`,size:`xs`,tag:`p`,variant:`caption`,children:E})]})]}):(0,o.jsxs)(`section`,{className:`view-summary-breakdown`,children:[(0,o.jsxs)(`div`,{className:`view-summary-section-head`,children:[(0,o.jsxs)(e.Ar,{className:`view-summary-section-title`,color:`primary`,size:`md`,tag:`h3`,variant:`h3`,weight:`medium`,children:[`All `,c]}),P&&(0,o.jsx)(Vr,{allowClear:!0,className:`view-summary-custom-range`,format:`MMM DD, YYYY`,getPopupContainer:Ur,placeholder:[`Start date`,`End date`],value:v,onChange:y})]}),(0,o.jsx)(`div`,{className:`view-summary-divider`}),l.includes(`job`)&&(0,o.jsx)(e.Ar,{className:`view-summary-breakdown-title`,color:`primary`,size:`sm`,tag:`h4`,variant:`h4`,weight:`regular`,children:`Breakdown`}),(p?k:O).map(t=>(0,o.jsxs)(`div`,{className:`view-summary-row`,children:[(0,o.jsx)(e.Ar,{color:`muted`,size:`sm`,tag:`span`,variant:`body`,children:t.label}),(0,o.jsx)(e.Ar,{color:`primary`,size:`sm`,tag:`b`,variant:`body`,children:t.count})]},t.label)),E&&(0,o.jsx)(e.Ar,{color:`danger`,size:`xs`,tag:`p`,variant:`caption`,children:E})]})]})]}):null}function ei(e){let[t,n]=(0,r.useState)({}),[i,a]=(0,r.useState)(new Set),o=(0,r.useRef)({}),s=(e,t)=>{a(n=>{let r=new Set(n);return t?r.add(e):r.delete(e),r})};return{valuesByField:t,loadingFields:i,fetchValues:(0,r.useCallback)((t,r=``,i={})=>{if(!t||!e)return;o.current[t]&&clearTimeout(o.current[t]);let a=r?300:0;o.current[t]=setTimeout(async()=>{s(t,!0);try{let a=await pn(e,t,r,i),o=Array.isArray(a)?a.map(e=>({label:String(e.label),value:e.value})):[];n(e=>({...e,[t]:o}))}catch{}finally{s(t,!1)}},a)},[e])}}var ti=[{label:`Last 7 days`,getDates:()=>[(0,c.default)().subtract(6,`day`),(0,c.default)()]},{label:`This month`,getDates:()=>[(0,c.default)().startOf(`month`),(0,c.default)()]},{label:`Overdue`,getDates:()=>[null,(0,c.default)().subtract(1,`day`)]}];function ni({value:e,onChange:t,disabled:n}){return(0,o.jsxs)(i.Flex,{vertical:!0,gap:4,children:[(0,o.jsx)(i.DatePicker.RangePicker,{value:e,onChange:t,disabled:n,style:{width:`100%`},allowEmpty:[!0,!0],disabledDate:e=>e&&e.isAfter((0,c.default)(),`day`)}),!n&&(0,o.jsx)(i.Space,{size:4,wrap:!0,children:ti.map(({label:e,getDates:n})=>(0,o.jsx)(i.Tag,{className:`filter-date-shortcut`,onClick:()=>t?.(n()),children:e},e))})]})}var ri=[{label:`AND`,value:`and`},{label:`OR`,value:`or`},{label:`Is Empty`,value:`isEmpty`},{label:`Not Empty`,value:`notEmpty`}],ii=[{label:`Yes`,value:`true`},{label:`No`,value:`false`}];function ai({value:e,onChange:t,disabled:n}){let[r,a]=Array.isArray(e)?e:[void 0,void 0];return(0,o.jsxs)(i.Flex,{gap:8,children:[(0,o.jsx)(i.InputNumber,{disabled:n,placeholder:`Min`,value:r,onChange:e=>t?.([e,a]),style:{flex:1}}),(0,o.jsx)(i.InputNumber,{disabled:n,placeholder:`Max`,value:a,onChange:e=>t?.([r,e]),style:{flex:1}})]})}var oi={operator:`and`,field:void 0,values:[]};function si({filterInputType:e,fieldType:t,disabled:n,loading:r,valueOptions:a,onSearch:s,onOpen:c}){let l=e||(t===`boolean`?`boolean`:null)||(t===`date`?`datepicker`:null)||(t===`number`?`number-range`:null)||`dropdown`;return l===`boolean`?(0,o.jsx)(i.Select,{allowClear:!0,disabled:n,mode:`multiple`,options:ii,placeholder:`Select value`}):l===`text`?(0,o.jsx)(i.Input,{disabled:n,placeholder:`Type keyword...`,allowClear:!0}):l===`datepicker`?(0,o.jsx)(ni,{disabled:n}):l===`number-range`?(0,o.jsx)(ai,{disabled:n}):l===`checkbox`?(0,o.jsx)(i.Spin,{spinning:r,children:(0,o.jsx)(i.Checkbox.Group,{disabled:n,options:a,style:{display:`flex`,flexWrap:`wrap`,gap:`4px 16px`}})}):l===`radio`?(0,o.jsx)(i.Spin,{spinning:r,children:(0,o.jsx)(i.Radio.Group,{disabled:n,options:a,style:{display:`flex`,flexWrap:`wrap`,gap:`4px 16px`}})}):(0,o.jsx)(i.Select,{allowClear:!0,disabled:n,loading:r,mode:`multiple`,options:a,placeholder:n?`Select field first`:`Select values`,showSearch:!0,filterOption:!1,onSearch:s,onDropdownVisibleChange:c})}function ci(e){return e.label??e.fieldLabel??e.name??e.fieldName??e.value}function li(e){return e.value??e.field??e.fieldName??e.name??e.label}function ui(e,t){let n=t.find(t=>t.value===e.field),r=e.filterInputType??n?.filterInputType,i=r===`datepicker`||!r&&n?.type===`date`,a=r===`text`,o=e.values??[];return a?o=e.value??``:i&&(o=[e.from?(0,c.default)(e.from):null,e.to?(0,c.default)(e.to):null]),{field:e.field,operator:e.operator??`and`,values:o,locked:n?.isDefaultFilter??!1}}function di({moduleName:t,open:n=!1,filters:s=[],onClose:c,onApply:l,onReset:u}){let[d]=i.Form.useForm(),f=i.Form.useWatch(`filters`,d)??[],{fields:p,loading:m,error:h}=wn(n?t:null),g=(0,r.useMemo)(()=>(p??[]).map(e=>({label:ci(e),value:li(e),type:e.type,filterInputType:e.filterInputType,dataSource:e.dataSource,groupName:e.groupName,lookup:e.lookup??null,isDefaultFilter:e.isDefaultFilter===1||e.isDefaultFilter===`1`||e.isDefaultFilter===!0})).filter(e=>e.label&&e.value),[p]),_=(0,r.useMemo)(()=>g.filter(e=>e.isDefaultFilter),[g]),v=(0,r.useMemo)(()=>_.map(e=>String(e.value)).sort().join(`|`),[_]),y=g,{valuesByField:b,loadingFields:x,fetchValues:S}=ei(t);function C(e){let t=g.find(t=>t.value===e),n=t?.filterInputType;!e||n===`datepicker`||n===`number-range`||n===`text`||!n&&[`boolean`,`date`,`number`].includes(t?.type)||S(e,``,{dataSource:t?.lookup?.collection?`lookup`:t?.dataSource,groupName:t?.groupName,lookup:t?.lookup})}function w(){return _.length>0?_.map(e=>({operator:`and`,field:e.value,values:[],locked:e.isDefaultFilter})):[oi]}function T(e=[]){let t=e.filter(e=>e?.field),n=new Set(t.map(e=>String(e.field))),r=[..._.filter(e=>!n.has(String(e.value))).map(e=>({operator:`and`,field:e.value,values:[],locked:!0})),...t].map(e=>({...e,locked:_.some(t=>String(t.value)===String(e.field))}));return r.length>0?r:[oi]}let E=(0,r.useRef)(!1),D=(0,r.useRef)(s);(0,r.useEffect)(()=>{if(s===D.current)return;if(D.current=s,E.current){E.current=!1;return}let e=T((s??[]).filter(e=>e.field).map(e=>ui(e,g)));d.setFieldsValue({filters:e}),e.forEach(e=>C(e.field))},[s,g]);let O=(0,r.useRef)(!1),k=(0,r.useRef)(``),A=(0,r.useRef)(t),j=(0,r.useRef)(!1);(0,r.useEffect)(()=>{t!==A.current&&(A.current=t,O.current=!1,k.current=``,j.current=!1)},[t]),(0,r.useEffect)(()=>{if(!n)return;let e=k.current!==v;if(O.current&&!e)return;let t=j.current&&!m,r=!m&&g.length>0;if(j.current=m,!t&&!r)return;let i=O.current;O.current=!0,k.current=v;let a=d.getFieldValue(`filters`)??[],o=T(i||a.length>0?a:w());d.setFieldsValue({filters:o}),o.forEach(e=>C(e.field))},[n,m,g,v]);function M(){E.current=!0;let e=w();d.setFieldsValue({filters:e}),e.forEach(e=>C(e.field)),l?.({moduleName:t,filters:[]}),u?.(),c?.()}function N(){E.current=!0;let e=(d.getFieldsValue().filters??[]).filter(e=>!P(e)).map(e=>{let t={...e};delete t.locked;let n=g.find(e=>e.value===t.field),r=n?.label??t.field,i=n?.filterInputType,a=i===`datepicker`||n?.type===`date`,o=i===`number-range`||!i&&n?.type===`number`,s=i===`text`;if(a){let[e,n]=Array.isArray(t.values)?t.values:[],a=e=>e?typeof e.format==`function`?e.format(`YYYY-MM-DD`):typeof e.toISOString==`function`||e instanceof Date?e.toISOString().substring(0,10):null:null,o=a(e),s=a(n);return{...t,values:[o,s].filter(Boolean),from:o??void 0,to:s??void 0,fieldLabel:r,filterInputType:i}}if(o){let[e,n]=Array.isArray(t.values)?t.values:[];return{...t,values:[e,n].filter(e=>e!=null),from:e==null?void 0:String(e),to:n==null?void 0:String(n),fieldLabel:r,filterInputType:i}}if(s){let e=typeof t.values==`string`?t.values.trim():``;return{...t,value:e,values:[],fieldLabel:r,filterInputType:i}}return{...t,values:t.values??[],fieldLabel:r,filterInputType:i}});l?.({moduleName:t,filters:e}),c?.()}function P(e){if(!e?.field)return!0;if(e.operator===`isEmpty`||e.operator===`notEmpty`)return!1;let{values:t}=e;return typeof t==`string`?t.trim()===``:Array.isArray(t)?t.length===0||t.every(e=>e==null||e===``):!0}let F=f.length===0||f.every(P);function I(e,t){let n=d.getFieldValue(`filters`)??[];d.setFieldValue(`filters`,n.map((t,n)=>n===e?{...t,values:[]}:t));let r=g.find(e=>e.value===t),i=r?.filterInputType;!t||i===`datepicker`||i===`number-range`||i===`text`||!i&&[`boolean`,`date`,`number`].includes(r?.type)||S(t,``,{dataSource:r?.lookup?.collection?`lookup`:r?.dataSource,groupName:r?.groupName,lookup:r?.lookup})}return(0,o.jsxs)(i.Drawer,{title:(0,o.jsx)(e.Ar,{variant:`card-title`,color:`primary`,children:`Filters`}),placement:`right`,width:720,open:n,onClose:c,rootClassName:`dynamic-field-filter`,maskClosable:!1,footer:(0,o.jsxs)(i.Space,{className:`dynamic-field-filter__footer`,children:[(0,o.jsx)(e.z,{onClick:M,children:`Reset`}),(0,o.jsx)(e.z,{variant:`primary`,onClick:N,disabled:F,children:`Apply`})]}),children:[h&&(0,o.jsx)(i.Alert,{type:`error`,message:`Could not load filter fields`,description:h,style:{marginBottom:16},showIcon:!0}),(0,o.jsx)(i.Spin,{spinning:m,tip:`Loading fields…`,children:(0,o.jsx)(i.Form,{form:d,layout:`vertical`,className:`dynamic-field-filter__form`,initialValues:{filters:[oi]},children:(0,o.jsx)(i.Form.List,{name:`filters`,children:(t,{add:n,remove:r})=>(0,o.jsxs)(i.Space,{direction:`vertical`,className:`dynamic-field-filter__rows`,children:[t.map((n,s)=>{let c=f[s]?.field,l=f[s]?.operator,u=g.find(e=>e.value===c),d=u?.isDefaultFilter===!0,p=!c||l===`isEmpty`||l===`notEmpty`,h=u?.type??`text`,_=u?.filterInputType,v=b[c]??[],C=x.has(c),w=new Set(f.filter((e,t)=>t!==s).map(e=>e?.field).filter(Boolean).map(String)),T=d?g.filter(e=>e.value===c):y.filter(e=>!w.has(String(e.value)));return(0,o.jsxs)(i.Space,{direction:`vertical`,className:`dynamic-field-filter__row`,children:[t.length>1&&!d&&(0,o.jsx)(e.z,{variant:`danger`,htmlType:`button`,icon:(0,o.jsx)(a.DeleteOutlined,{}),"aria-label":`Remove filter row`,className:`dynamic-field-filter__remove`,onClick:()=>r(n.name)}),s>0&&(0,o.jsx)(i.Flex,{justify:`center`,children:(0,o.jsx)(i.Form.Item,{name:[n.name,`operator`],rules:[{required:!0,message:`Select condition`}],className:`dynamic-field-filter__operator`,children:(0,o.jsx)(i.Select,{options:ri,placeholder:`Condition`})})}),(0,o.jsxs)(i.Flex,{align:`end`,gap:`middle`,wrap:!0,children:[(0,o.jsx)(i.Form.Item,{label:(0,o.jsx)(e.Ar,{variant:`label`,color:`secondary`,children:`Field`}),style:{flex:1,minWidth:220},children:d?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e.Ar,{variant:`body`,className:`dynamic-field-filter__locked-field`,children:u?.label??c}),(0,o.jsx)(i.Form.Item,{name:[n.name,`field`],noStyle:!0,children:(0,o.jsx)(i.Input,{type:`hidden`})})]}):(0,o.jsx)(i.Form.Item,{name:[n.name,`field`],rules:[{required:!0,message:`Select field`}],noStyle:!0,children:(0,o.jsx)(i.Select,{allowClear:!0,showSearch:!0,placeholder:`Select field`,options:T,optionFilterProp:`label`,loading:m,onChange:e=>I(n.name,e)})})}),(0,o.jsx)(i.Form.Item,{label:(0,o.jsx)(e.Ar,{variant:`label`,color:`secondary`,children:`Values`}),name:[n.name,`values`],style:{flex:1,minWidth:220},children:si({filterInputType:_,fieldType:h,disabled:p,loading:C,valueOptions:v,onSearch:e=>{c&&S(c,e,{dataSource:u?.lookup?.collection?`lookup`:u?.dataSource,groupName:u?.groupName,lookup:u?.lookup})},onOpen:e=>{e&&c&&S(c,``,{dataSource:u?.lookup?.collection?`lookup`:u?.dataSource,groupName:u?.groupName,lookup:u?.lookup})}})})]})]},n.key)}),(0,o.jsx)(e.z,{htmlType:`button`,variant:`soft`,icon:(0,o.jsx)(a.PlusOutlined,{}),disabled:y.length>0&&f.filter(e=>e?.field).length>=y.length,onClick:()=>n(oi),children:`Add Row`})]})})})})]})}var fi=`data:image/svg+xml,%3csvg%20width='12'%20height='12'%20viewBox='0%200%2012%2012'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M6.00035%204.69941C4.74567%204.69941%203.72701%205.71807%203.72701%206.97275C3.72701%208.22745%204.74567%209.24609%206.00035%209.24609C7.25503%209.24609%208.2737%208.22745%208.2737%206.97275C8.2737%205.71807%207.25503%204.69941%206.00035%204.69941ZM6.00035%205.87128C6.60827%205.87128%207.10182%206.36485%207.10182%206.97275C7.10182%207.58067%206.60827%208.07422%206.00035%208.07422C5.39243%208.07422%204.89888%207.58067%204.89888%206.97275C4.89888%206.36485%205.39243%205.87128%206.00035%205.87128ZM2.06843%206.41445C2.85434%204.9331%204.16742%203.92578%206.00035%203.92578C7.83328%203.92578%209.14637%204.9331%209.93227%206.41445C10.0838%206.70013%2010.4388%206.80902%2010.7245%206.65745C11.0102%206.50587%2011.1191%206.15091%2010.9675%205.86523C9.97758%203.9994%208.30902%202.75391%206.00035%202.75391C3.69169%202.75391%202.02312%203.9994%201.03322%205.86523C0.881648%206.15091%200.990538%206.50587%201.27619%206.65745C1.56187%206.80902%201.91686%206.70013%202.06843%206.41445Z'%20fill='%23586888'/%3e%3c/svg%3e`,pi=`data:image/svg+xml,%3csvg%20width='14'%20height='14'%20viewBox='0%200%2014%2014'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cmask%20id='path-1-inside-1_8856_23533'%20fill='white'%3e%3crect%20x='1.40039'%20y='1.40039'%20width='5.09086'%20height='5.09086'%20rx='0.727266'/%3e%3c/mask%3e%3crect%20x='1.40039'%20y='1.40039'%20width='5.09086'%20height='5.09086'%20rx='0.727266'%20stroke='%23586888'%20stroke-width='1.5'%20mask='url(%23path-1-inside-1_8856_23533)'/%3e%3cmask%20id='path-2-inside-2_8856_23533'%20fill='white'%3e%3crect%20x='1.40039'%20y='7.50781'%20width='5.09086'%20height='5.09086'%20rx='0.727266'/%3e%3c/mask%3e%3crect%20x='1.40039'%20y='7.50781'%20width='5.09086'%20height='5.09086'%20rx='0.727266'%20stroke='%23586888'%20stroke-width='1.5'%20mask='url(%23path-2-inside-2_8856_23533)'/%3e%3cline%20x1='7.375'%20y1='2.93555'%20x2='12.225'%20y2='2.93555'%20stroke='%23586888'%20stroke-width='0.75'%20stroke-linecap='round'/%3e%3cline%20x1='7.375'%20y1='5.83398'%20x2='12.225'%20y2='5.83398'%20stroke='%23586888'%20stroke-width='0.75'%20stroke-linecap='round'/%3e%3cline%20x1='7.375'%20y1='8.87305'%20x2='12.225'%20y2='8.87305'%20stroke='%23586888'%20stroke-width='0.75'%20stroke-linecap='round'/%3e%3cline%20x1='7.375'%20y1='11.7227'%20x2='12.225'%20y2='11.7227'%20stroke='%23586888'%20stroke-width='0.75'%20stroke-linecap='round'/%3e%3c/svg%3e`,{Text:mi}=i.Typography;function hi(e){return _i(e?.label,e?.fieldLabel,e?.name,e?.fieldName,e?.value,e?.field)}function gi(e){return _i(e?.value,e?.field,e?.fieldName,e?.name,e?.label)}function _i(...e){return e.find(e=>e!=null&&String(e).trim()!==``)}function vi(e){return String(e??``).replace(/\[(\-?\d+)\]/g,`.$1`).split(`.`).filter(Boolean)}function yi(e,t){if(!(!t||typeof t!=`string`))return vi(t).reduce((e,t)=>{if(e!=null){if(/^-?\d+$/.test(t)){if(!Array.isArray(e))return;let n=Number(t);return e[n<0?e.length+n:n]}return e?.[t]}},e)}function bi(e,t){return t===`id`?e?.id??e?._id:e?.[t]??yi(e,t)}function xi(e,t){if(!Array.isArray(e)||e.length===0||!t)return;let n=e[e.length-1];if(n!=null)return typeof n==`object`?yi(n,t):n}function Si(e){if(Array.isArray(e))return e.some(Si);if(e==null)return!1;let t=String(e).trim().toLowerCase();return t?![`all`,`internal`].includes(t):!1}function Ci(e){let t=Object.keys(e??{}).find(e=>/^customFields\.[^.]*profiledata\./i.test(e)&&!/^customFields\.internalprofiledata\./i.test(e));if(t)return t.replace(/^customFields\./i,``).replace(/profiledata\..*$/i,``);let n=e?.customFields;if(!n||typeof n!=`object`)return``;let r=Object.keys(n).find(e=>/profiledata$/i.test(e)&&!/^internalprofiledata$/i.test(e)&&n[e]&&typeof n[e]==`object`);return r?r.replace(/profiledata$/i,``):``}function wi(e){if(typeof e?.isVisible==`boolean`&&!e.isVisible||typeof e?.isVisible==`string`&&e.isVisible.toLowerCase()===`false`)return!1;let t=gi(e);return!t||typeof t!=`string`?!1:/^customFields\.[^.]*profiledata\./i.test(t)&&!/^customFields\.internalprofiledata\./i.test(t)}function Ti(e){return[e?.sourceType,e?.profileSource,e?.selectedSource,e?.customFields?.sourceType,e?.customFields?.profileSource].some(Si)||!!Ci(e)}function Ei(e,t){let n=bi(e,t);return n==null||n===``?`-`:Array.isArray(n)?n.join(`, `):typeof n==`object`?Object.values(n).join(` `):n}function Di(e){if(!e)return``;let t=e instanceof Date?e:new Date(e);if(Number.isNaN(t.getTime()))return String(e);let n=new Intl.DateTimeFormat(`en-US`,{month:`short`,day:`2-digit`,year:`numeric`,hour:`2-digit`,minute:`2-digit`,hour12:!0}).formatToParts(t),r=e=>n.find(t=>t.type===e)?.value??``;return`${`${r(`month`)} ${r(`day`)},${r(`year`)}`} | ${`${r(`hour`)}:${r(`minute`)} ${r(`dayPeriod`)}`}`}function Oi(e){return String(e||`U`).trim().charAt(0).toUpperCase()||`U`}function ki(e,t){let n=t.find(t=>{let n=bi(e,t);return n!=null&&n!==``});return n?Ei(e,n):``}function Ai(e,t){let n=bi(t,e.key),r=Array.isArray(n)?n:n?[n]:[],i=e.renderConfig??{},a=[i.nameField,i.labelField,`recruiterName`,`name`,`fullName`,`displayName`,`userName`,`email`,`recruiterEmail`].filter(Boolean),o=[i.metaField,i.dateField,i.assignedDateField,`assignedDateTime`,`assignedDate`,`createdAt`].filter(Boolean);return r.map((e,t)=>{let n=typeof e==`object`&&e?e:{value:e},r=ki(n,a)||String(e||`User`),i=ki(n,o);return{key:ki(n,[`recruiterId`,`id`,`_id`,`email`,`recruiterEmail`])||`${r}-${t}`,name:r,initial:Oi(r),meta:Di(i)}})}function ji({item:e}){return(0,o.jsxs)(`div`,{className:`job-avatar-tooltip`,children:[(0,o.jsx)(`div`,{className:`job-avatar-tooltip-name`,children:e.name}),e.meta&&(0,o.jsx)(`div`,{className:`job-avatar-tooltip-meta`,children:e.meta})]})}function Mi({items:e}){return(0,o.jsx)(`div`,{className:`job-avatar-more-tooltip`,children:e.map(e=>(0,o.jsx)(ji,{item:e},e.key))})}function Ni(e){return typeof e==`boolean`?e:typeof e==`string`?e.toLowerCase()===`true`:!!e}function Pi(e){return e==null?``:Array.isArray(e)?e.join(`,`):typeof e==`object`?Object.values(e).join(` `):String(e)}function Fi(e,t){return e?String(e).replace(/\{([^}]+)\}/g,(e,n)=>encodeURIComponent(Pi(bi(t,n)))).replace(/:([A-Za-z_][\w.]*)/g,(e,n)=>encodeURIComponent(Pi(bi(t,n)))):``}function Ii(e){return/^(https?:\/\/|\/)/i.test(String(e))}function Li(e,t){let n=String(e??``).trim().toLowerCase();if(n===`blank`||n===`_blank`)return`_blank`;if(n===`self`||n===`_self`)return`_self`;if(n)return e;if(/^https?:\/\//i.test(String(t)))return`_blank`}function Ri(e){return/^https?:\/\//i.test(String(e))}function zi(e,t,n){let r=e.routeUrl??e.routeURL??e.linkTemplate??e.linkUrl??e.href??e.url??e.action;return r?Fi(r,t):Ii(n)?String(n):``}function Bi(e,t){if(!t||t.length<3||!e||typeof e!=`string`||e===`-`)return e;let n=e.toLowerCase(),r=t.toLowerCase(),i=[],a=0;for(;a<=e.length;){let s=n.indexOf(r,a);if(s===-1){i.push(e.slice(a));break}s>a&&i.push(e.slice(a,s)),i.push((0,o.jsx)(`mark`,{className:`search-highlight`,style:{backgroundColor:`#ffff00`,color:`inherit`,padding:0,borderRadius:2},children:e.slice(s,s+t.length)},s)),a=s+t.length}return i}function Vi(e,t,n,r=``){let a=zi(e,t,n),c=Li(e.linkTarget,a),l=Bi(n,r);return Ri(a)?(0,o.jsx)(i.Tooltip,{title:n===`-`?void 0:n,children:(0,o.jsx)(`a`,{className:`job-cell-link job-cell-value`,href:a,rel:c===`_blank`?`noreferrer`:void 0,target:c,children:l})}):(0,o.jsx)(i.Tooltip,{title:n===`-`?void 0:n,children:(0,o.jsx)(s.Link,{className:`job-cell-link job-cell-value`,target:c,to:a||`#`,children:l})})}function Hi(e){let t=[e?.props,e?.props?.format,e?.props?.display,e?.props?.dateDisplay,e?.renderConfig?.format,e?.renderConfig?.display,e?.renderConfig?.dateDisplay,e?.dateDisplay].map(e=>typeof e==`string`?e.trim().toLowerCase():``).find(Boolean);return t===`datetime`||t===`time`?t:`date`}function Ui(e,t){if(e==null||e===``)return`-`;let n=e instanceof Date?e:new Date(e);if(Number.isNaN(n.getTime()))return Ei({value:e},`value`);let r=new Intl.DateTimeFormat(`en-US`,{month:`short`,day:`2-digit`,year:`numeric`,hour:`2-digit`,minute:`2-digit`,hour12:!0,timeZone:`UTC`}).formatToParts(n),i=e=>r.find(t=>t.type===e)?.value??``,a=`${i(`month`)}, ${i(`day`)}, ${i(`year`)}`,o=`${i(`hour`)}:${i(`minute`)} ${i(`dayPeriod`)}`,s=Hi(t);return s===`time`?o:s===`datetime`?`${a} | ${o}`:a}function Wi(e){return/date/i.test(`${e.key??``} ${e.label??``} ${e.type??``}`)}function Gi(e){return e==null||e===``?`-`:Array.isArray(e)?e.join(`, `):typeof e==`object`?Object.values(e).join(` `):e}function Ki(e,t,n){let r=String(t??``).trim();if(!r)return`-`;let i=r.replace(/^record\./,``);if(n?.renderConfig?.lastItemField??n?.renderConfig?.arrayDisplayField){let t=vi(i);for(let n=t.length-1;n>=1;--n){let r=bi(e,t.slice(0,n).join(`.`));if(!Array.isArray(r))continue;let i=r[r.length-1];return i==null?`-`:Gi(yi(i,t.slice(n).join(`.`)))}let r=n?.key,a=r?bi(e,r):void 0;if(r&&Array.isArray(a)){let e=a[a.length-1];if(i===r)return Gi(e);let t=`${r}.`;if(i.startsWith(t))return Gi(yi(e,i.slice(t.length)))}}return Ei(e,i)}function qi(e,t,n){return typeof e!=`string`||e.trim()===``?``:e.replace(/\{\{\s*([^}]+?)\s*\}\}/g,(e,r)=>{let i=Ki(t,r,n);return i===`-`?``:String(i)}).replace(/\s+/g,` `).trim()}function Ji(e,t){let n=bi(t,e.key),r=qi(e.displayTemplate,t,e),i=e.renderConfig?.lastItemField??e.renderConfig?.arrayDisplayField;if(r)return r;if(i){let e=xi(n,i);return e!=null&&e!==``?Array.isArray(e)?e.join(`, `):typeof e==`object`?Object.values(e).join(` `):e:`-`}return Wi(e)?Ui(n,e):Ei(t,e.key)}function Yi(e){return e===`-`||typeof e!=`string`||!e.trim()?e:e.replace(/\b([A-Za-z])([A-Za-z]*)\b/g,(e,t,n)=>e.length>1&&e===e.toUpperCase()?e:`${t.toUpperCase()}${n.toLowerCase()}`)}function Xi(e){return typeof e!=`string`||!e.includes(`-`)?e:e.replace(/(^|\s)-\s*(\d+)(?=\s*[A-Za-z])/,`$10-$2`).replace(/(\d+)\s*-\s*(?=[A-Za-z])/,`$1-0 `)}function Zi(e){let t=e.map((e,t)=>({field:e,index:t}));return t.some(({field:e})=>e.order!==void 0&&e.order!==null&&e.order!==``)?[...t].sort((e,t)=>{let n=Number(e.field.order),r=Number(t.field.order),i=Number.isFinite(n),a=Number.isFinite(r);return i&&a&&n!==r?n-r:i===a?e.index-t.index:i?-1:1}).map(({field:e})=>e):e}function Qi(e){return e.iconUrl??e.iconURL??e.icon??e.iconPath}function $i(e){return Array.isArray(e)?e.map((e,t)=>({...e,key:e.key??e.name??e.label??e.routeUrl??e.type??String(t),label:e.label??e.name??e.title??e.type??`Action`,iconUrl:Qi(e)})).filter(e=>e.iconUrl):[]}function ea(e,t,n=[],r){if(Vn(e.key,t,n,r)||Array.isArray(e.conditions)&&e.conditions.length>0&&!e.conditions.every(e=>Bn(e,t,r)))return!1;let i=e?.showIfField??e?.visibleWhenField;return i?Bn({field:i,operator:e?.showIfOperator||`eq`,value:e?.showIfValue??e?.visibleWhenValue??``},t,r):!0}function ta(e,t={}){let n=Mn(e);return n===`add`?t.canAdd!==!1:n===`edit`?t.canEdit!==!1:n===`delete`?t.canDelete!==!1:!0}function na(e,t,n){let r=Fi(e.routeUrl??e.routeURL??e.url??e.href,t),a=ba(e.type),c=(0,o.jsx)(`img`,{src:e.iconUrl,alt:e.label,className:`job-field-action-icon`}),l=`job-field-action-button`,u=e.__done,d=e.__disabledReason;return u||d?(0,o.jsx)(i.Tooltip,{title:u?u.label:d,children:(0,o.jsx)(`button`,{"aria-label":u?u.label:`${e.label} (unavailable)`,className:`${l} job-field-action-button--done`,type:`button`,disabled:!0,children:c})},e.key):typeof e.onClick==`function`?(0,o.jsx)(i.Tooltip,{title:e.label,children:(0,o.jsx)(`button`,{"aria-label":e.label,className:`job-field-action-button`,type:`button`,onClick:n=>{n.stopPropagation(),e.onClick(t)},children:(0,o.jsx)(`img`,{src:e.iconUrl,alt:e.label,className:`job-field-action-icon`})})},e.key):a===`popup`&&r?(0,o.jsx)(i.Tooltip,{title:e.label,children:(0,o.jsx)(`button`,{"aria-label":e.label,className:l,type:`button`,onClick:()=>n?.(r,t),children:c})},e.key):r&&(a===`page`||r.startsWith(`/`))?(0,o.jsx)(i.Tooltip,{title:e.label,children:(0,o.jsx)(s.Link,{"aria-label":e.label,className:l,to:r,children:c})},e.key):r?(0,o.jsx)(i.Tooltip,{title:e.label,children:(0,o.jsx)(`a`,{"aria-label":e.label,className:l,href:r,rel:`noreferrer`,target:`_blank`,children:c})},e.key):(0,o.jsx)(i.Tooltip,{title:e.label,children:(0,o.jsx)(`button`,{"aria-label":e.label,className:l,type:`button`,children:c})},e.key)}function ra(e){let t=Array.isArray(e.secondaryFields)?e.secondaryFields:[],n=e.secondaryField?[e.secondaryField]:[];return[...t,...n].filter((e,t,n)=>e&&n.indexOf(e)===t)}function ia(e,t){let n=e.secondarySeparator??` `,r=ra(e).map(e=>Ei(t,e)).filter(e=>e!==`-`);return r.length?r.join(` ${n} `):``}function aa(e){return Yi(Xi(e))}function oa(e,t){if(!Array.isArray(e.valueStyles))return null;let n=ba(t);return e.valueStyles.find(e=>ba(e?.value)===n||ba(e?.label)===n)??null}function sa(e){let t=e?.color,n=e?.bg??e?.background??e?.backgroundColor;return{...t?{"--job-cell-badge-color":t}:{},...n?{"--job-cell-badge-bg":n}:{}}}function ca(e){return ba(e?.varient??e?.variant).replace(/[^a-z0-9-]/g,`-`)}function la(e,t){let n=oa(e,t),r=n??e.commonStyle??{},a=n?.label??t,s=(typeof a==`string`?a.trim():a)||`-`,c=ca(r),l=[`job-cell-badge`,`job-cell-value`,c?`job-cell-badge--${c}`:``].filter(Boolean).join(` `),u=!n&&typeof s==`string`&&s.includes(`,`)?s.split(`,`).map(e=>e.trim()).filter(Boolean):null,d=u&&u.length>1?`${u.slice(0,1).join(`, `)} +${u.length-1}`:s,f=sa(r);return(0,o.jsx)(i.Tooltip,{title:s===`-`?void 0:s,children:(0,o.jsx)(i.Tag,{className:l,style:f,children:d})})}function ua(e,t){let n=Ai(e,t),r=n.slice(0,2),a=n.slice(2);return n.length?(0,o.jsxs)(`span`,{className:`job-avatar-group`,children:[r.map((e,t)=>(0,o.jsx)(i.Tooltip,{overlayClassName:`job-avatar-tooltip-overlay`,title:(0,o.jsx)(ji,{item:e}),children:(0,o.jsx)(i.Avatar,{className:`job-avatar job-avatar--${t+1}`,children:e.initial})},e.key)),a.length>0&&(0,o.jsx)(i.Tooltip,{overlayClassName:`job-avatar-tooltip-overlay job-avatar-more-tooltip-overlay`,title:(0,o.jsx)(Mi,{items:a}),children:(0,o.jsxs)(i.Avatar,{className:`job-avatar job-avatar--more`,children:[`+`,a.length]})})]}):(0,o.jsx)(mi,{className:`job-cell-primary job-cell-value`,children:`-`})}function da(e,t,n=``,r,a={},s=[],c){if(ba(e.renderType)===`avatar`)return ua(e,t);let l=aa(Ji(e,t)),u=$i(e.actionButtons).filter(e=>ea(e,t,s,c)).filter(e=>ta(e,a)).map(e=>({...e,__done:Un(e,t,c),__disabledReason:Hn(e.key,t,s,c)})),d=aa(ia(e,t));return(0,o.jsxs)(`span`,{className:`job-cell-content`,children:[(0,o.jsxs)(`span`,{className:`job-cell-main-line`,children:[ba(e.renderType)===`badge`&&l!==`-`?la(e,l):!Ni(e.isLink)||l===`-`?(0,o.jsx)(i.Tooltip,{title:l===`-`?void 0:l,children:(0,o.jsx)(mi,{className:`job-cell-primary job-cell-value`,children:Bi(l,n)})}):Vi(e,t,l,n),u.length>0&&(0,o.jsx)(`span`,{className:`job-field-actions`,children:u.map(e=>na(e,t,r))})]}),d&&(0,o.jsx)(i.Tooltip,{title:d,children:(0,o.jsx)(`span`,{className:`job-cell-secondary`,children:Bi(d,n)})})]})}var fa=130,pa=230,ma=7.2,ha=26,ga=8,_a=44,va=20;function ya(e,t){let n=String(e.label??``).length*ga+_a;if(ba(e.renderType)===`avatar`)return Math.max(Math.round(n),120);let r=0;for(let n of t){let t=String(aa(Ji(e,n))??``),i=String(aa(ia(e,n))??``);r=Math.max(r,t.length,i.length)}let i=ba(e.renderType)===`badge`?24:0,a=r*ma+ha+i;return Math.round(Math.min(Math.max(n,a,fa),pa))}function ba(e){return String(e??``).trim().toLowerCase()}function xa(e,t){return e?.key??e?.value??e?.id??(t===void 0?void 0:String(t))}function Sa(e){return ba(e)}function Ca(e){return[`all`,``].includes(Sa(e))}function wa(e,t,n,r,i){if(Ca(t))return!0;let a=ba(n?.filterValue??n?.status??n?.title??n?.tabTitle??n?.name??(typeof n?.label==`string`?n.label:void 0)??n?.value??n?.key??t),o=n?.field??n?.fieldName??n?.filterField??n?.dataIndex??i;if(o)return ba(Ei(e,o))===a;let s=r.filter(e=>{let t=ba(e.key),n=ba(e.label);return t.includes(`status`)||n.includes(`status`)});return(s.length?s:r).some(t=>ba(Ei(e,t.key))===a)}function Ta(e,t,n){return typeof n==`function`?n(e,t):typeof n==`string`?e?.[n]:e.id??e._id??e.key??t}function Ea(e){return!!e?.closest?.(`a,button,input,textarea,select,label,[role="button"],[role="menuitem"],.ant-checkbox,.ant-radio,.ant-dropdown,.ant-dropdown-trigger,.ant-table-selection-column,.job-field-actions,.job-row-eye-button`)}function Da(e){return e.label??e.name??e.title??e.value}function Oa(e,t){return e.key??e.value??e.route??e.name??String(t)}var ka={delete:(0,o.jsx)(a.DeleteOutlined,{}),edit:(0,o.jsx)(a.EditOutlined,{}),mail:(0,o.jsx)(a.MailOutlined,{}),shareAlt:(0,o.jsx)(a.ShareAltOutlined,{}),swap:(0,o.jsx)(a.RightOutlined,{}),thunderbolt:(0,o.jsx)(a.ThunderboltOutlined,{}),userAdd:(0,o.jsx)(a.UserAddOutlined,{}),userSwitch:(0,o.jsx)(a.UserSwitchOutlined,{})};function Aa(e,t){let n={key:e.key,label:t?t.label:e.label,icon:ka[e.icon]??void 0,danger:t?void 0:e.danger||void 0,disabled:!!t||void 0,title:t?t.label:void 0};return e.children?.length&&(n.children=e.children.map(e=>Aa(e))),n}function ja(e,t,n){return!e?.doneWhen?.field||!t?.length?null:t.every(t=>Un(e,t,n))?Un(e,t[0],n):null}function Ma(e,t){return e.filter(t).map(e=>e.children?.length?{...e,children:Ma(e.children,t)}:e)}function Na(e){let t=[];for(let n of e)t.push(n),n.children?.length&&t.push(...Na(n.children));return t}function Pa(e){return Array.isArray(e)?e.map((e,t)=>{let n=Da(e),r=Oa(e,t);return!n||!r?null:{...e,key:String(r),label:n,route:e.route||e.routeTemplate||(e.actionType===`modal`&&(e.popupKey||r)?`/popup/${e.popupKey||r}`:``),children:e.children?.length?Pa(e.children):void 0}}).filter(Boolean):[]}function Fa(t,n){return!t.permissionKey||!n.length?!0:n.every(n=>e.m(yi(n,`actionPermission.${t.permissionKey}`)))}function Ia(e,t){return t?e===`asc`?`desc`:e===`desc`?``:`asc`:`asc`}function La(e){return e===`asc`?`Ascending`:e===`desc`?`Descending`:`Neutral`}function Ra({label:e,sortDir:t,sortable:n,onSort:r}){if(!n)return(0,o.jsx)(`span`,{className:`job-table-header-label`,children:e});let s=La(t);return(0,o.jsxs)(`div`,{className:`job-table-header-content`,children:[(0,o.jsx)(`span`,{className:`job-table-header-label`,title:typeof e==`string`?e:void 0,children:e}),(0,o.jsx)(i.Tooltip,{title:s,mouseEnterDelay:.08,overlayClassName:`job-sort-tooltip`,children:(0,o.jsx)(`button`,{type:`button`,className:`job-table-sort-trigger${t?` job-table-sort-trigger--active`:``}`,"aria-label":`Sort ${typeof e==`string`?e:`column`}, ${s}`,onClick:e=>{e.preventDefault(),e.stopPropagation(),r?.()},children:(0,o.jsxs)(`span`,{className:`job-table-sort-icon-stack`,children:[(0,o.jsx)(a.CaretUpOutlined,{className:`job-table-sort-icon job-table-sort-icon--up${t===`asc`?` job-table-sort-icon--active`:``}`}),(0,o.jsx)(a.CaretDownOutlined,{className:`job-table-sort-icon job-table-sort-icon--down${t===`desc`?` job-table-sort-icon--active`:``}`})]})})})]})}function za({moduleName:e,activeTabScope:t,pageSize:n,sort:r,sortDir:i,queryParams:a}){return[e??``,t??``,n,r??``,i??``,a?JSON.stringify(a):``].join(`|`)}function Ba(e){let t=Number(e);return Number.isInteger(t)&&t>0?t:1}function Va(e){for(let t of e.keys()){let e=/^p(\d+)$/.exec(t);if(e)return Ba(e[1])}return 1}function Ha(e){[...e.keys()].forEach(t=>{(/^p\d+$/.test(t)||t===`page`)&&e.delete(t)})}var Ua=[],Wa={};function Ga({record:e,fields:t,selected:n,onSelect:r,onPreview:a,onRecordClick:s,isControlled:c,selectionMode:l=`checkbox`,onPopupAction:u,permissions:d}){let f=t.find(e=>e.cardRole===`name`),p=t.find(e=>e.cardRole===`action`),m=t.find(e=>e.cardRole===`headerAction`),h=t.filter(e=>e!==f&&e!==p&&e!==m),g=f?Ei(e,gi(f)):``,_=p?.render?p.render(bi(e,gi(p)),e):null,v=m?.render?m.render(bi(e,gi(m)),e):null;return(0,o.jsxs)(`div`,{className:`param-card${n?` param-card--selected`:``}`,"aria-selected":n,onClick:e=>{Ea(e.target)||s?.()},role:s?`button`:void 0,tabIndex:s?0:void 0,onKeyDown:e=>{!s||e.key!==`Enter`&&e.key!==` `||(e.preventDefault(),s())},children:[(0,o.jsx)(`div`,{className:`param-card__header`,children:(0,o.jsxs)(`div`,{className:`param-card__name-row`,children:[l===`checkbox`&&(0,o.jsx)(i.Checkbox,{checked:n,onChange:r,onClick:e=>e.stopPropagation(),className:`param-card__checkbox`}),a&&(0,o.jsx)(`button`,{type:`button`,className:`job-row-eye-button`,"aria-label":`Preview`,onClick:e=>{e.stopPropagation(),a()},children:(0,o.jsx)(`img`,{src:`data:image/svg+xml,%3csvg%20width='12'%20height='12'%20viewBox='0%200%2012%2012'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M6.00035%204.69941C4.74567%204.69941%203.72701%205.71807%203.72701%206.97275C3.72701%208.22745%204.74567%209.24609%206.00035%209.24609C7.25503%209.24609%208.2737%208.22745%208.2737%206.97275C8.2737%205.71807%207.25503%204.69941%206.00035%204.69941ZM6.00035%205.87128C6.60827%205.87128%207.10182%206.36485%207.10182%206.97275C7.10182%207.58067%206.60827%208.07422%206.00035%208.07422C5.39243%208.07422%204.89888%207.58067%204.89888%206.97275C4.89888%206.36485%205.39243%205.87128%206.00035%205.87128ZM2.06843%206.41445C2.85434%204.9331%204.16742%203.92578%206.00035%203.92578C7.83328%203.92578%209.14637%204.9331%209.93227%206.41445C10.0838%206.70013%2010.4388%206.80902%2010.7245%206.65745C11.0102%206.50587%2011.1191%206.15091%2010.9675%205.86523C9.97758%203.9994%208.30902%202.75391%206.00035%202.75391C3.69169%202.75391%202.02312%203.9994%201.03322%205.86523C0.881648%206.15091%200.990538%206.50587%201.27619%206.65745C1.56187%206.80902%201.91686%206.70013%202.06843%206.41445Z'%20fill='%23586888'/%3e%3c/svg%3e`,alt:``,className:`job-row-eye-icon`})}),(0,o.jsx)(mi,{className:`param-card__name`,children:g}),v&&(0,o.jsx)(`div`,{className:`param-card__header-actions`,children:v})]})}),h.length>0&&(0,o.jsx)(`div`,{className:`param-card__body-fields`,children:h.map(t=>{let n=gi(t),r=bi(e,n),i=c&&typeof t.render==`function`?t.render(r,e):da(t,e,``,u,d);return(0,o.jsxs)(`div`,{className:`param-card__field-row`,children:[(0,o.jsx)(mi,{className:`param-card__field-label`,children:hi(t)}),(0,o.jsx)(`div`,{className:`param-card__field-value`,children:i})]},n)})}),(0,o.jsx)(`div`,{className:`param-card__divider`}),(0,o.jsxs)(`div`,{className:`param-card__footer`,children:[(0,o.jsx)(`div`,{className:`param-card__footer-left`}),(0,o.jsx)(`div`,{className:`param-card__footer-right`,children:_})]})]})}function Ka(e){return!!(e.operator===`isEmpty`||e.operator===`notEmpty`||e.value||e.from||e.to||Array.isArray(e.values)&&e.values.length>0)}function qa(e){return e.fieldLabel?e.fieldLabel:(e.field??``).replace(/([A-Z])/g,` $1`).replace(/^(.)/,e=>e.toUpperCase()).trim()}function Ja(e){if(e.operator===`isEmpty`)return`Is Empty`;if(e.operator===`notEmpty`)return`Not Empty`;if(e.value)return`"${e.value}"`;if(e.from&&e.to)return`${e.from} to ${e.to}`;if(e.from)return`from ${e.from}`;if(e.to)return`to ${e.to}`;if(Array.isArray(e.values)&&e.values.length>0){let t=e.values.slice(0,2).join(`, `);return e.values.length>2?`${t} +${e.values.length-2}`:t}return``}function Ya({filters:e,onRemove:t,onClearAll:n}){let r=(e??[]).map((e,t)=>({row:e,originalIdx:t})).filter(({row:e})=>e.field&&Ka(e));return r.length===0?null:(0,o.jsxs)(i.Flex,{gap:6,wrap:`wrap`,align:`center`,className:`filter-chips-bar`,children:[(0,o.jsx)(mi,{className:`filter-chips-bar__label`,children:`Filters:`}),r.map(({row:e,originalIdx:n})=>(0,o.jsxs)(i.Tag,{closable:!0,onClose:()=>t(n),className:`filter-chip`,children:[(0,o.jsx)(`span`,{className:`filter-chip__field`,children:qa(e)}),(0,o.jsx)(`span`,{className:`filter-chip__sep`,children:`: `}),(0,o.jsx)(`span`,{className:`filter-chip__value`,children:Ja(e)})]},`${e.field}-${n}`)),r.length>1&&(0,o.jsx)(i.Button,{type:`link`,size:`small`,onClick:n,className:`filter-chips-clear`,children:`Clear all`})]})}function Xa({moduleName:n,authToken:c,actions:l=[],actionRules:u=[],breadcrumbItems:d=[],dataSource:f=[],className:p=``,initialPageSize:m=10,onAction:h,onSummaryClick:g,rowKey:_,showSummaryButton:v=!1,summaryButtonLabel:y=`View Summary`,summaryRoute:b,showFieldButton:x=!0,fieldButtonLabel:S=`View Field`,fieldButtonRoute:C,tabs:w,tableClassName:T=`job-list-table`,fields:E=Ua,fieldOverrides:D=null,extraFields:O=Ua,listName:k=``,loading:A=!1,total:M,current:N,pageSize:P,onPageChange:F,onPageSizeChange:I,onSearch:L,toolbarExtra:R=null,showSearch:z=!0,searchPlaceholder:B=`Min 3 Chars, press Enter to search`,searchFields:ee=Ua,showViewToggle:te=!1,activeView:V=`list`,onViewChange:ne,createAction:re,onRecordClick:H,selectedRecordId:U,selectionMode:ie=`checkbox`,compact:ae=!1,onSelectionChange:oe,selectedSource:se,onTabChange:ce,fetchData:le=on,responseMapper:W=Dr,queryParams:G=Wa,defaultVisibleColumnCount:K=6,showAdd:ue=!0,lockOuterPageScroll:de=!1}){let fe=(0,s.useNavigate)(),pe=(0,s.useLocation)(),me=e.Er(n),he=!!de,{canView:ge,canAdd:_e,canEdit:ve,canDelete:ye}=An(me),be=(0,r.useMemo)(()=>G??Wa,[JSON.stringify(G??Wa)]),[xe]=(0,s.useSearchParams)(),Se=Va(xe),[Ce,we]=(0,r.useState)(`all`),[Te,Ee]=(0,r.useState)(``),[De,Oe]=(0,r.useState)(``),[ke,Ae]=(0,r.useState)(!1),[Me,q]=(0,r.useState)([]),[J,Ne]=(0,r.useState)([]),[Y,Pe]=(0,r.useState)([]),[Fe,Ie]=(0,r.useState)(0),[Le,X]=(0,r.useState)({current:Se,pageSize:m}),[Re,ze]=(0,r.useState)({sort:``,sortDir:``}),[Be,Ve]=(0,r.useState)([]),[He,Ue]=(0,r.useState)(!1),[We,Ge]=(0,r.useState)([]);(0,r.useEffect)(()=>(c&&t.h(c),()=>{c&&t.n()}),[c]),(0,r.useEffect)(()=>{if(he)return document.documentElement.classList.add(`listview-page-scroll-lock`),document.body.classList.add(`listview-page-scroll-lock`),()=>{document.documentElement.classList.remove(`listview-page-scroll-lock`),document.body.classList.remove(`listview-page-scroll-lock`)}},[he]);let Ke=(0,r.useRef)(null),[qe,Je]=(0,r.useState)(0),Ye=(0,r.useRef)();(0,r.useEffect)(()=>{let e=Ke.current;if(!e||typeof ResizeObserver>`u`)return;let t=new ResizeObserver(e=>{let t=e[0]?.contentRect?.width;typeof t==`number`&&Je(t)});return t.observe(e),()=>t.disconnect()},[]);let Xe=(e,t)=>String(Ta(e,t,_)),Ze=(e,t)=>String(Xe(e,t))===String(U??``),Qe=(e,t)=>{let n=Xe(e,t);n&&H?.(e,n)},$e=(e,t)=>{Ne(e),Pe(t),oe?.(e,t)},[et,tt]=(0,r.useState)(f),[nt,rt]=(0,r.useState)(f.length),[it,at]=(0,r.useState)([]),[ot,st]=(0,r.useState)([]),[ct,lt]=(0,r.useState)(``),[ut,dt]=(0,r.useState)([]),[ft,pt]=(0,r.useState)([]),[mt,ht]=(0,r.useState)(!1),[gt,_t]=(0,r.useState)(null),[vt,yt]=(0,r.useState)(null),[bt,xt]=(0,r.useState)(!1),St=!!(F||I||L),Ct=St?f:et,wt=St?M??0:nt,Tt=St?E:ot,Et=(0,r.useMemo)(()=>Ct.some(e=>Ti(e)),[Ct]),Dt=(0,r.useMemo)(()=>Tt.some(e=>wi(e)),[Tt]),Ot=Et||Dt?`card`:V,kt=l.length>0?l:ut,At=u.length>0?u:ft,jt=(0,r.useMemo)(()=>Pa(kt),[kt]),Mt=(0,r.useMemo)(()=>new Map(Na(jt).map(e=>[e.key,e])),[jt]),Nt=(0,r.useMemo)(()=>Ma(jt,t=>{let n=Mn(t);return n===`add`&&!_e||n===`edit`&&!ve||n===`delete`&&!ye||!e.h(t.permission,me)||t.showInList===!1?!1:t.allowedTabs?t.allowedTabs.some(e=>ba(e)===ba(Ce)):!0}),[jt,Ce,_e,ve,ye,me]),Pt=(0,r.useMemo)(()=>Ma(Nt,e=>(J.length===1||e.allowMultiple||e.danger)&&Fa(e,Y)&&!Wn(e.key,Y,At,Ce)),[Ce,At,J.length,Y,Nt]),Ft=typeof n==`string`?n.trim().length>0:!!n,It=Ft?`/${me}-create${re?`?action=${encodeURIComponent(re)}`:``}`:``;(0,r.useEffect)(()=>{Ft&&!ge&&fe(`/`,{replace:!0})},[ge,Ft,fe]);let Lt=(e,{replace:t=!1}={})=>{let n=new URLSearchParams(xe);Ha(n);let r=[n.toString(),e>1?`p${e}`:``].filter(Boolean).join(`&`);r!==pe.search.replace(/^\?/,``)&&fe({pathname:pe.pathname,search:r?`?${r}`:``},{replace:t})},Rt=(e,t)=>{X(t=>({...t,current:e})),Lt(e,t)},zt=()=>{Rt(1,{replace:!0})},{config:Bt,loading:Vt,error:Ht}=Cn(!St&&Ft?n:null),Ut=(0,r.useCallback)(e=>{let t=Re.sort===e,n=Ia(Re.sortDir,t),r=n?String(e):``;ze({sort:r,sortDir:n}),typeof L==`function`&&L(r,n),zt()},[L,zt,Re.sort,Re.sortDir]);(0,r.useEffect)(()=>{X(e=>e.current===Se?e:{...e,current:Se})},[Se]),(0,r.useEffect)(()=>{St&&X(e=>{let t=Ba(N??e.current),n=Number(P)>0?Number(P):e.pageSize;return e.current===t&&e.pageSize===n?e:{current:t,pageSize:n}})},[N,P,St]);let Wt=pe.state?.refreshTimestamp;(0,r.useEffect)(()=>{Wt&&($e([],[]),Ie(e=>e+1))},[Wt]);let Gt=(0,r.useMemo)(()=>{let e=[...Array.isArray(w)?w:[],...it],t=Sa(Ce);return e.find((e,n)=>Sa(xa(e,n))===t)},[Ce,it,w]),Kt=Gt?.field??Gt?.fieldName??Gt?.filterField??Gt?.dataIndex??ct,qt=Ca(Ce)?``:Ce,Jt=!qt&&!Ca(Ce)&&ba(Kt).length>0,Yt=De.trim().length>=3,Xt=Yt?De.trim():``,Zt=Me.some(e=>e.field),Qt=za({moduleName:n,activeTabScope:qt,pageSize:Le.pageSize,sort:Re.sort,sortDir:Re.sortDir,queryParams:be}),$t=Le.current===1&&vt?.key===Qt;(0,r.useEffect)(()=>{if(St)return;if(!Ft){tt([]),rt(0),at([]),st([]),lt(``),dt([]),pt([]),_t(null);return}let e=!1,t=Yt&&nt>Le.pageSize,r=t?nt:Le.pageSize,a=t?0:(Le.current-1)*Le.pageSize;return ht(!(!Yt&&!Zt&&Le.current===1&&$t)),_t(null),le(n,r,a,{scope:qt,sort:Re.sort,sortDir:Re.sortDir,search:Xt,filters:Me,queryParams:be}).then(t=>{if(e)return;let{rows:r,total:i,tabs:a,fields:o,tabField:s,actions:c,actionRules:l}=W(t,n);tt(r),rt(i),at(a),st(o),lt(s),dt(c),pt(l),!Yt&&!Zt&&Le.current===1&&yt({key:Qt,rows:r,total:i,tabs:a,fields:o,tabField:s,actions:c,actionRules:l})}).catch(t=>{e||(tt([]),rt(0),at([]),st([]),lt(``),dt([]),pt([]),_t(t.message),Ft&&i.message.error(`Invalid module name or data could not be loaded.`))}).finally(()=>{e||ht(!1)}),()=>{e=!0}},[Xt,qt,Me,Qt,le,Zt,Yt,Ft,$t,n,nt,Le.current,Le.pageSize,Fe,W,Re.sort,Re.sortDir,be]);let en=(0,r.useMemo)(()=>{let e=St&&Array.isArray(E)&&E.length,t=!St&&Array.isArray(ot)&&ot.length,n=!Ht&&Array.isArray(Bt)&&Bt.length,r=e?E:t?ot:n?Bt:[],i=new Map(ot.map(e=>[gi(e),e]).filter(([e])=>e)),a=r.map(e=>{let t=gi(e),n=i.get(t)??{},r=t&&D&&typeof D==`object`?D[t]:null,a=r?.renderConfig?{...n.renderConfig??e.renderConfig??{},...r.renderConfig}:e.renderConfig??n.renderConfig??null;return{...n,...e,...r??{},...a?{renderConfig:a}:{},key:t,label:hi(r??e)??hi(e)??hi(n)}}).filter(e=>e.key&&e.label),o=(Array.isArray(O)?O:[]).map((e,t)=>{let n=gi(e);return n?{...e,key:n,label:hi(e)??`Field ${t+1}`,isVirtual:e.isVirtual??!0,isVisible:typeof e.isVisible==`boolean`?e.isVisible:!0}:null}).filter(Boolean);return Zi([...a,...o])},[Bt,Ht,E,O,D,St,ot]),tn=(0,r.useMemo)(()=>en.filter(e=>typeof e.isVisible==`boolean`?e.isVisible:typeof e.isVisible==`string`?e.isVisible.toLowerCase()===`true`:!0).map(e=>({key:e.key,label:e.label})),[en]),nn=tn.map(e=>e.key),rn=Be.filter(e=>nn.includes(e)),an=rn.length?rn:tn.slice(0,K).map(e=>e.key),sn=Math.min(K,tn.length),cn=an.length>K,ln=(0,r.useMemo)(()=>en.filter(e=>!e.cardHidden&&(e.tableHidden||an.includes(e.key))),[en,an]),un=(0,r.useMemo)(()=>{let e=Te.toLowerCase(),t=Ct,n=Jt?t.filter(e=>wa(e,Ce,Gt,en,Kt)):t,r=ee.length?en.filter(e=>ee.includes(e.key)):en;return!e||e.length<3?n:n.filter(t=>r.some(n=>String(Ei(t,n.key)).toLowerCase().includes(e)||ra(n).some(n=>String(Ei(t,n)).toLowerCase().includes(e))))},[Ce,Gt,Kt,Jt,Ct,en,Te,ee]),dn=(0,r.useMemo)(()=>{if(!Yt)return un;let e=(Le.current-1)*Le.pageSize;return un.slice(e,e+Le.pageSize)},[un,Yt,Le.current,Le.pageSize]),fn=Yt?un.length:wt,pn=De.trim().length>=3,mn=String(un.length).padStart(2,`0`),hn=wt>0||Ct.length>0,gn=Ft?gt?`Invalid module name or data could not be loaded.`:Ht?`Field configuration failed to load.`:`No data found.`:`Please provide a module name to view data.`,_n=(0,r.useMemo)(()=>{let e=Array.isArray(w)?w:[];return e.length?e:it.length?it:[{key:`all`,title:n??`List`,count:fn}]},[n,it,fn,w]);(0,r.useEffect)(()=>{if(!_n.length)return;let e=Sa(Ce);if(!_n.some((t,n)=>Sa(xa(t,n))===e)){let e=xa(_n[0],0);e&&we(String(e))}},[Ce,_n]),(0,r.useEffect)(()=>{if(se===void 0||!_n.length||se===Ye.current)return;Ye.current=se;let e=_n.find((e,t)=>Sa(xa(e,t))===Sa(se)),t=e?String(xa(e,_n.indexOf(e))):``;t&&we(e=>t===e?e:t)},[_n,se]);let vn=e=>{fe(`/popup/preview`,{state:{background:pe,moduleName:me,record:e,fields:en.map(e=>{let t={};return Object.entries(e).forEach(([e,n])=>{typeof n!=`function`&&(t[e]=n)}),t})}})},yn=(e,t)=>{let n=Fi(e,t),r=n.startsWith(`/`)?n:`/${n}`,i=t?._id??t?.id;fe(r,{state:{background:pe,selectedIds:i===void 0?[]:[i],selectedRecords:[t],moduleName:me,popupContext:{},popupAction:{}}})},bn=(0,r.useMemo)(()=>{let e={dataIndex:`icons`,key:`icons`,visibilityKey:`jobsGroup`,fixed:`left`,width:25,render:(e,t)=>(0,o.jsxs)(i.Space,{size:4,className:`job-row-icons`,children:[(0,o.jsx)(`button`,{type:`button`,className:`job-row-eye-button`,"aria-label":`Preview job`,onClick:()=>vn(t),children:(0,o.jsx)(`img`,{src:fi,alt:``,className:`job-row-eye-icon`})}),t.hasLinkedIn&&(0,o.jsx)(i.Tooltip,{title:`LinkedIn`,children:(0,o.jsx)(a.LinkedinFilled,{className:`job-row-linkedin-icon`})})]})},t=en.filter(e=>an.includes(e.key)).map((e,t)=>{let n=Re.sort===e.key?Re.sortDir:``;return{title:Ra({label:e.label,sortDir:n,sortable:hn,onSort:()=>Ut(e.key)}),dataIndex:e.key,key:e.key,fixed:t===0?`left`:void 0,ellipsis:{showTitle:!1},width:ya(e,dn),render:(t,n)=>da(e,n,De,yn,{canAdd:_e,canEdit:ve,canDelete:ye},At,qt)}});if(!(cn||St)&&qe>0&&t.length>0){let n=e.width+(hn&&ie===`checkbox`?48:0)+va,r=t.reduce((e,t)=>e+t.width,0),i=qe-n-r;i>0&&r>0&&t.forEach(e=>{e.width=Math.floor(e.width+i*(e.width/r))})}return[e,...t]},[Ce,_e,ye,ve,De,At,Ut,cn,hn,St,pe,n,fe,en,dn,ie,Re.sort,Re.sortDir,qe,Nt,an]),xn=(0,r.useCallback)(e=>{let t=_n.find((t,n)=>Sa(xa(t,n))===Sa(e)),n=String(t?xa(t,_n.indexOf(t)):e);if(we(n),Ne([]),Pe([]),zt(),typeof ce==`function`){let e=t?.key??t?.value??t?.id??n;Ye.current=e,ce(e)}},[ce,_n,zt]);function Sn(e,n,r){let a=Mt.get(String(e));if(a&&a.actionType!==`group`){if(typeof h==`function`&&h({key:a.key,label:a.label,selectedIds:n,selectedRecords:r}),typeof a.onClick==`function`){a.onClick({action:a,selectedIds:n,selectedRecords:r});return}if(a.actionType===`copy`){let e=r.map(e=>yi(e,a.copyField||`id`)??e?._id).filter(e=>e!=null);navigator.clipboard.writeText(e.join(`
2
- `)).then(()=>i.message.success(`Copied to clipboard`)).catch(()=>i.message.error(`Could not copy to clipboard`));return}if(a.actionType===`api`&&a.apiPath){let e=r[0]??{},o=Fi(a.apiPath,e);t.a(t.b,o.startsWith(`/`)?o:`/${o}`,{method:a.apiMethod||`POST`,body:[`GET`,`DELETE`].includes(String(a.apiMethod).toUpperCase())?void 0:JSON.stringify({ids:n,records:r})}).then(()=>{i.message.success(`${a.label} completed`),Ie(e=>e+1)}).catch(e=>i.message.error(e.message||`${a.label} failed`));return}if(a.route){let e=r[0]??{},t=Fi(a.route,e),i=t.startsWith(`/`)?t:`/${t}`;if(a.route.startsWith(`/popup/`)||a.route.startsWith(`popup/`)){fe(i,{state:{background:pe,selectedIds:n,selectedRecords:r,moduleName:me,popupContext:a.popupState??{},popupAction:{key:a.key,apiMethod:a.apiMethod,apiPath:a.apiPath,defaultTemplateId:a.defaultTemplateId},...a.popupState}});return}fe(i)}}}function wn({key:e}){let t=Na(Pt).find(t=>String(t.key)===String(e));t&&ja(t,Y,Ce)||Sn(e,J,Y)}let Tn=an.length===tn.length,En=an.length>0&&!Tn,Dn=(e,t)=>{Ve(n=>{let r=tn.slice(0,K).map(e=>e.key),i=n.length?n:r;return t?i.includes(e)?i:[...i,e]:i.length<=sn?i:i.filter(t=>t!==e)})},On=()=>{if(typeof g==`function`){g();return}if(b){fe(b);return}xt(!0)},kn=()=>{C&&fe(C)};(0,r.useEffect)(()=>{if(!bt)return;let e=e=>{e.key===`Escape`&&xt(!1)};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[bt]);let jn=()=>{$t&&(tt(vt.rows),rt(vt.total),at(vt.tabs),st(vt.fields),lt(vt.tabField),dt(vt.actions??[]),pt(vt.actionRules??[]),_t(null),ht(!1))},Nn=e=>{let t=e.target.value,n=t.trim().length<3,r=Me.some(e=>e.field);n&&(Oe(``),r||jn()),Ee(t),zt()},Pn=()=>{let e=Te.trim();e.length>=3&&(Oe(e),zt())},Fn=()=>{jn(),q([]),$e([],[]),zt()};(0,r.useEffect)(()=>{Ot===`card`&&(Ge([]),$e([],[]))},[Le.current,Le.pageSize,Ce,Ot]);let In=e=>{Ge(t=>{let n=t.includes(e)?t.filter(t=>t!==e):[...t,e];return $e(n,dn.filter((e,t)=>n.includes(String(Ta(e,t,_))))),n})},Ln=(0,o.jsxs)(`div`,{className:`column-visibility-menu`,onClick:e=>e.stopPropagation(),children:[(0,o.jsx)(i.Checkbox,{checked:Tn,indeterminate:En,onChange:e=>{Ve(e.target.checked?tn.map(e=>e.key):tn.slice(0,K).map(e=>e.key))},children:`Select All`}),(0,o.jsx)(`div`,{className:`column-visibility-menu__list`,children:tn.map(e=>(0,o.jsx)(i.Checkbox,{checked:an.includes(e.key),disabled:an.includes(e.key)&&an.length<=sn,onChange:t=>Dn(e.key,t.target.checked),children:e.label},e.key))})]});return(0,o.jsxs)(`div`,{className:`antd dynamic-list-view${ae?` list-view--compact`:``}${he?` list-view--page-scroll-lock`:``} ${p}`.trim(),children:[d.length>0&&(0,o.jsx)(`div`,{className:`job-list-header`,children:(0,o.jsx)(e.t,{items:d})}),(0,o.jsx)(i.Card,{className:`job-tabs-card`,children:(0,o.jsxs)(i.Flex,{align:`center`,justify:`space-between`,children:[(0,o.jsx)(j,{activeKey:Ce,tabs:_n,onChange:xn}),(0,o.jsxs)(i.Flex,{align:`center`,gap:8,children:[R,hn&&(0,o.jsx)(i.Input,{prefix:(0,o.jsx)(a.SearchOutlined,{className:`job-search-icon`}),placeholder:B,value:Te,onChange:Nn,onPressEnter:Pn,allowClear:!0,className:`job-search-input`}),!St&&_e&&ue&&(0,o.jsx)(i.Tooltip,{title:`Add`,children:(0,o.jsx)(i.Button,{"aria-label":`Add`,className:`job-toolbar-icon-button`,icon:(0,o.jsx)(a.PlusOutlined,{}),onClick:()=>{It&&fe(It)}})}),hn&&(0,o.jsx)(i.Tooltip,{title:`Filter`,children:(0,o.jsx)(i.Badge,{count:Me.filter(e=>e.field&&Ka(e)).length,size:`small`,offset:[-2,2],children:(0,o.jsx)(i.Button,{"aria-label":`Filter`,className:`job-toolbar-icon-button`,icon:(0,o.jsx)(a.FilterOutlined,{}),onClick:()=>Ae(!0)})})}),te&&hn&&(0,o.jsxs)(i.Flex,{align:`center`,gap:6,children:[(0,o.jsx)(i.Tooltip,{title:`List View`,children:(0,o.jsx)(i.Button,{className:`job-toolbar-icon-button param-view-toggle-btn${Ot===`list`?` param-view-toggle-btn--active`:``}`,icon:(0,o.jsx)(a.UnorderedListOutlined,{}),onClick:()=>{ne?.(`list`),Ge([]),$e([],[])}})}),(0,o.jsx)(i.Tooltip,{title:`Card View`,children:(0,o.jsx)(i.Button,{className:`job-toolbar-icon-button param-view-toggle-btn${Ot===`card`?` param-view-toggle-btn--active`:``}`,icon:(0,o.jsx)(a.AppstoreOutlined,{}),onClick:()=>{ne?.(`card`),Ge([]),$e([],[])}})})]}),v&&(0,o.jsx)(i.Button,{className:`job-summary-button`,type:`primary`,onClick:On,children:y}),x&&C&&(0,o.jsx)(i.Button,{className:`job-summary-button`,type:`primary`,onClick:kn,children:S})]})]})}),hn&&(0,o.jsx)(o.Fragment,{children:(0,o.jsx)(i.Card,{className:`job-toolbar-card`,children:(0,o.jsxs)(i.Flex,{className:`p-flex`,align:`center`,justify:`space-between`,children:[(0,o.jsxs)(i.Flex,{align:`center`,gap:3,children:[Ot===`card`&&(0,o.jsx)(i.Checkbox,{checked:dn.length>0&&We.length>=dn.length,indeterminate:We.length>0&&We.length<dn.length,className:`param-card-view__select-all`,onChange:()=>{if(We.length>0)Ge([]),$e([],[]);else{let e=dn.map((e,t)=>String(Ta(e,t,_)));Ge(e),$e(e,[...dn])}},children:`Select All`}),(0,o.jsx)(i.Dropdown,{open:He,onOpenChange:Ue,trigger:[`click`],dropdownRender:()=>Ln,placement:`bottomLeft`,overlayClassName:`column-visibility-dropdown`,children:(0,o.jsx)(i.Button,{"aria-label":`Display columns`,type:`text`,icon:(0,o.jsx)(`img`,{src:`data:image/svg+xml,%3csvg%20width='14'%20height='14'%20viewBox='0%200%2014%2014'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cmask%20id='path-1-inside-1_8856_23533'%20fill='white'%3e%3crect%20x='1.40039'%20y='1.40039'%20width='5.09086'%20height='5.09086'%20rx='0.727266'/%3e%3c/mask%3e%3crect%20x='1.40039'%20y='1.40039'%20width='5.09086'%20height='5.09086'%20rx='0.727266'%20stroke='%23586888'%20stroke-width='1.5'%20mask='url(%23path-1-inside-1_8856_23533)'/%3e%3cmask%20id='path-2-inside-2_8856_23533'%20fill='white'%3e%3crect%20x='1.40039'%20y='7.50781'%20width='5.09086'%20height='5.09086'%20rx='0.727266'/%3e%3c/mask%3e%3crect%20x='1.40039'%20y='7.50781'%20width='5.09086'%20height='5.09086'%20rx='0.727266'%20stroke='%23586888'%20stroke-width='1.5'%20mask='url(%23path-2-inside-2_8856_23533)'/%3e%3cline%20x1='7.375'%20y1='2.93555'%20x2='12.225'%20y2='2.93555'%20stroke='%23586888'%20stroke-width='0.75'%20stroke-linecap='round'/%3e%3cline%20x1='7.375'%20y1='5.83398'%20x2='12.225'%20y2='5.83398'%20stroke='%23586888'%20stroke-width='0.75'%20stroke-linecap='round'/%3e%3cline%20x1='7.375'%20y1='8.87305'%20x2='12.225'%20y2='8.87305'%20stroke='%23586888'%20stroke-width='0.75'%20stroke-linecap='round'/%3e%3cline%20x1='7.375'%20y1='11.7227'%20x2='12.225'%20y2='11.7227'%20stroke='%23586888'%20stroke-width='0.75'%20stroke-linecap='round'/%3e%3c/svg%3e`,alt:``,className:`job-action-list-icon`}),size:`small`,className:`job-actions-button job-column-display-button`,children:(0,o.jsx)(a.DownOutlined,{className:`job-actions-caret`})})}),Pt.length>0&&J.length>0&&(0,o.jsx)(i.Dropdown,{menu:{items:Pt.map(e=>Aa(e,ja(e,Y,Ce))),onClick:wn},trigger:[`click`],children:(0,o.jsxs)(i.Button,{type:`text`,size:`small`,className:`job-actions-button job-actions-menu-button`,children:[(0,o.jsx)(`img`,{src:`data:image/svg+xml,%3csvg%20width='14'%20height='14'%20viewBox='0%200%2014%2014'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M12.6279%206.78121C12.6857%206.88148%2012.7014%207.00057%2012.6715%207.11239C12.6417%207.22422%2012.5688%207.31967%2012.4688%207.37785L7.21875%2010.4403C7.15185%2010.4794%207.0758%2010.4999%206.99836%2010.4999C6.92092%2010.4999%206.84487%2010.4794%206.77797%2010.4403L1.52797%207.37785C1.42936%207.31859%201.35806%207.22289%201.32951%207.11145C1.30095%207.00001%201.31744%206.88181%201.37539%206.78244C1.43335%206.68306%201.52811%206.61052%201.63916%206.5805C1.75022%206.55048%201.86863%206.56542%201.96875%206.62207L7%209.55605L12.0312%206.62207C12.1315%206.56428%2012.2506%206.54858%2012.3624%206.57841C12.4743%206.60824%2012.5697%206.68116%2012.6279%206.78121ZM1.3125%204.37496C1.31267%204.29833%201.33297%204.22309%201.37136%204.15677C1.40975%204.09045%201.46489%204.03538%201.53125%203.99707L6.78125%200.934566C6.84815%200.895555%206.9242%200.875%207.00164%200.875C7.07908%200.875%207.15513%200.895555%207.22203%200.934566L12.472%203.99707C12.5381%204.0356%2012.5929%204.09076%2012.6309%204.15707C12.669%204.22337%2012.6891%204.2985%2012.6891%204.37496C12.6891%204.45142%2012.669%204.52654%2012.6309%204.59285C12.5929%204.65915%2012.5381%204.71432%2012.472%204.75285L7.22203%207.81535C7.15513%207.85436%207.07908%207.87491%207.00164%207.87491C6.9242%207.87491%206.84815%207.85436%206.78125%207.81535L1.53125%204.75285C1.46489%204.71453%201.40975%204.65946%201.37136%204.59314C1.33297%204.52682%201.31267%204.45159%201.3125%204.37496ZM2.61844%204.37496L7%206.93105L11.3816%204.37496L7%201.81886L2.61844%204.37496ZM7.65625%2011.7993L7%2012.1821L1.96875%209.24707C1.86913%209.19747%201.75436%209.18769%201.64779%209.21973C1.54122%209.25177%201.45087%209.32322%201.39512%209.41953C1.33937%209.51583%201.32241%209.62977%201.3477%209.73814C1.37299%209.84651%201.43863%209.94117%201.53125%2010.0028L6.78125%2013.0653C6.84815%2013.1044%206.9242%2013.1249%207.00164%2013.1249C7.07908%2013.1249%207.15513%2013.1044%207.22203%2013.0653L8.09703%2012.5551C8.14746%2012.5266%208.19171%2012.4883%208.22723%2012.4426C8.26275%2012.3968%208.28882%2012.3444%208.30394%2012.2885C8.31906%2012.2326%208.32291%2012.1742%208.31529%2012.1167C8.30766%2012.0593%208.28871%2012.004%208.25952%2011.9539C8.23033%2011.9039%208.19149%2011.8601%208.14526%2011.8252C8.09903%2011.7903%208.04632%2011.7649%207.9902%2011.7505C7.93408%2011.7361%207.87566%2011.7331%207.81833%2011.7414C7.761%2011.7498%207.70591%2011.7695%207.65625%2011.7993Z'%20fill='%236B7280'/%3e%3cpath%20d='M10.6036%2011.3825L13.4607%209.4477C13.5813%209.36599%2013.614%209.20256%2013.5341%209.08069L13.0105%208.282C12.9303%208.15966%2012.7665%208.12478%2012.6434%208.20383L9.54053%2010.1964L8.94939%2011.4054C8.84904%2011.6106%209.03632%2011.8387%209.25715%2011.7803L10.4338%2011.469C10.4561%2011.4631%2010.4776%2011.4543%2010.4977%2011.4429L10.6036%2011.3825ZM9.54053%2010.1964L10.6036%2011.3825'%20stroke='%236B7280'%20stroke-width='0.6'/%3e%3c/svg%3e`,alt:``,className:`job-actions-frame-icon`}),`Actions `,(0,o.jsx)(a.DownOutlined,{className:`job-actions-caret`})]})}),J.length>0&&(0,o.jsxs)(mi,{className:`job-selected-count`,children:[`Selected (`,J.length,`)`]})]}),pn&&(0,o.jsxs)(mi,{className:`job-search-results-count`,children:[`Search Results (`,mn,`)`]})]})})}),Zt&&(0,o.jsx)(Ya,{filters:Me,onRemove:e=>{q(Me.filter((t,n)=>n!==e)),zt()},onClearAll:Fn}),(0,o.jsx)(`div`,{ref:Ke,className:`job-table-measure`,children:(0,o.jsx)(i.Spin,{spinning:St?A:Vt||mt,children:Ot===`card`?dn.length===0?(0,o.jsx)(i.Empty,{image:i.Empty.PRESENTED_IMAGE_SIMPLE,description:gn,className:`param-card-view__empty`,children:!St&&_e&&ue&&It&&!gt&&(0,o.jsx)(i.Button,{type:`primary`,icon:(0,o.jsx)(a.PlusOutlined,{}),onClick:()=>fe(It),children:`Add New`})}):(0,o.jsx)(`div`,{className:`param-card-view__grid`,children:dn.map((e,t)=>{let n=String(Ta(e,t,_));return(0,o.jsx)(Ga,{record:e,fields:ln,selected:ie===`checkbox`?We.includes(n):Ze(e,t),isControlled:St,onPreview:()=>vn(e),onSelect:()=>In(n),onPopupAction:yn,onRecordClick:H?()=>Qe(e,t):void 0,selectionMode:ie,permissions:{canAdd:_e,canEdit:ve,canDelete:ye}},n)})}):(0,o.jsx)(i.Table,{rowSelection:hn&&ie===`checkbox`?{type:`checkbox`,fixed:!0,columnWidth:48,selectedRowKeys:J,onChange:(e,t)=>{$e(e,t)},columnTitle:(()=>{let e=dn.length,t=e>0&&J.length>=e,n=J.length>0&&!t;return(0,o.jsx)(i.Checkbox,{checked:t,indeterminate:n,onChange:()=>{n||t?$e([],[]):$e(dn.map((e,t)=>Ta(e,t,_)),[...dn])}})})()}:void 0,columns:bn,dataSource:dn,size:`middle`,tableLayout:`fixed`,scroll:{x:cn||St?`max-content`:void 0,y:`calc(100vh - 300px)`},pagination:!1,locale:{emptyText:(0,o.jsx)(i.Empty,{image:i.Empty.PRESENTED_IMAGE_SIMPLE,description:gn})},className:`${T} ${ae?`list-view-table--compact`:``}`.trim(),onRow:H?(e,t)=>({onClick:n=>{Ea(n.target)||Qe(e,t)},"aria-selected":Ze(e,t)}):void 0,rowClassName:U==null?void 0:(e,t)=>Ze(e,t)?`list-view-row--active`:``,rowKey:(e,t)=>Ta(e,t,_)})})}),hn?(0,o.jsx)(je,{current:Le.current,pageSize:Le.pageSize,total:fn,onChange:(e,t)=>{if(St&&typeof F==`function`){F(e,t??Le.pageSize);return}Rt(e)},onPageSizeChange:e=>{if(St&&typeof I==`function`){I(e);return}X({current:1,pageSize:e}),Lt(1,{replace:!0})}}):void 0,(0,o.jsx)(di,{moduleName:me,open:ke,filters:Me,onClose:()=>Ae(!1),onApply:({filters:e})=>{q(e),zt()},onReset:Fn}),(0,o.jsx)($r,{moduleName:me,open:bt,rows:et,tabs:_n,total:fn,onClose:()=>xt(!1)})]})}var Za=new Map,Qa=0;function $a(e){let t=`ph_${Date.now()}_${Qa+=1}`;return Za.set(t,e),e.finally(()=>{setTimeout(()=>Za.delete(t),0)}).catch(()=>{}),t}function eo(e){if(!e)return;let t=Za.get(e);return Za.delete(e),t}async function to({jobId:e,applicantId:n,timeoutMs:r=15e3}){if(!e||!n)return[];let i=new AbortController,a=setTimeout(()=>i.abort(),r);try{let r=await t.i(),a=await fetch(`${t.b}/skill-match`,{method:`POST`,headers:{"Content-Type":`application/json`,Authorization:`Bearer ${r}`},body:JSON.stringify({jobId:e,applicantId:n}),signal:i.signal});if(!a.ok)return[];let o=await a.json(),s=o?.data?.relevantSkills??o?.relevantSkills;return Array.isArray(s)?s.filter(e=>typeof e==`string`&&e.trim()):[]}catch{return[]}finally{clearTimeout(a)}}async function no({isFromSubmission:e,jobId:n,submissionId:r,search:i=``}={}){let a={search:i};e?a.submissionId=r:a.jobId=n;let o=await t.a(t.x,`/quicksubmit/list`,{method:`POST`,body:JSON.stringify(a)});return o.data??o}async function ro(e){if(!e)throw Error(`Dice candidate ID is required`);let n=await t.i(),r=`${t.b}/dicemigrate/${encodeURIComponent(String(e))}`;process.env.NODE_ENV===`development`&&console.log(`[DiceMigration] Request URL:`,r);let i=await fetch(r,{method:`GET`,headers:{"Content-Type":`application/json`,Authorization:`Bearer ${n}`}}),a=await i.json().catch(()=>null);if(!i.ok){let e=Error(a?.message??a?.error??`Failed to migrate candidate (${i.status})`);throw e.status=i.status,e}return a}function io(e){return e&&typeof e==`object`?io(e.value??e.key??e.id??e.label??e.name):String(e??``).trim().toLowerCase()}function ao(e){return(Array.isArray(e)?e:[e]).flat().map(io).filter((e,t,n)=>e&&e!==`all`&&n.indexOf(e)===t)}function oo(e,t=`internal`){let n=ao(e);if(n.includes(`internal`))return`internal`;let r=io(t);return n[0]?n[0]:r||(t===``?``:`internal`)}function so(e){return String(e??``).replace(/[-_]+/g,` `).replace(/\s+/g,` `).trim().replace(/\b\w/g,e=>e.toUpperCase())}function co(e){return io(e?.key??e?.value??e?.id??e?.source??e?.name??e?.title??e?.label)}function lo(e){let t=e?.count??e?.countValue,n=Number(t);return Number.isFinite(n)?n:void 0}function uo(e,t,n,r,i){if(e===r){let n=Number(t?.[e]);if(Number.isFinite(n))return n;let r=Number(i);if(Number.isFinite(r))return r}let a=n.get(e);if(a!==void 0)return a}function fo({sources:e=[],activeSource:t=`internal`,activeCount:n=0,responseCounts:r={},currentTabs:i=[],backendTabs:a=[]}={}){let o=new Map((Array.isArray(i)?i:[]).map(e=>[co(e),lo(e)]).filter(([e,t])=>e&&t!==void 0)),s=new Map;(Array.isArray(a)?a:[]).forEach(e=>{let t=co(e);t&&s.set(t,{key:t,title:e.title??e.label??e.name??so(t),...lo(e)===void 0?{}:{count:lo(e)}})});let c=ao(e);return(c.length?c:[t]).forEach(e=>{if(!e||s.has(e))return;let i=uo(e,r,o,t,n);s.set(e,{key:e,title:so(e),...i===void 0?{}:{count:i}})}),Array.from(s.values())}function po(e){return[e?.sourceType,e?.profileSource,e?.selectedSource,e?.source,e?.provider,e?.customFields?.sourceType,e?.customFields?.profileSource,e?.customFields?.source,e?.customFields?.provider].flat().map(io).filter(Boolean)}function mo(e,t,n){let r=io(t);return r?po(e).includes(r)?!0:typeof n==`function`?n(e):!1:!1}var ho=[{source:`dice`,field:`__sourceAction_dice_migrate`,label:`Action`,buttonLabel:`Migrate`,completedLabel:`Migrated`,successMessage:`Candidate migrated successfully.`,errorMessage:`Failed to migrate candidate.`,isRecordFromSource:e=>!!e?.customFields?.diceProfileData,getRecordId:n.i,execute:ro}];function go({rows:e=[],selectedSource:t=``}={}){return ho.filter(n=>io(t)===n.source||e.some(e=>mo(e,n.source,n.isRecordFromSource)))}function _o(e,t,n=``){return io(n)===e.source||mo(t,e.source,e.isRecordFromSource)}function vo(e,t){let n=e?.getRecordId?.(t);return n?`${e.source}:${e.field}:${n}`:``}async function yo(e,t){let n=e?.getRecordId?.(t);if(!n)throw Error(`${e?.buttonLabel??`Action`} ID is required`);return e.execute(n,t)}var bo=e.Nr({default:()=>Ss}),{Text:xo}=i.Typography,{TextArea:So}=i.Input,Co=[],wo=[(0,o.jsx)(a.UserOutlined,{}),(0,o.jsx)(a.EnvironmentOutlined,{}),(0,o.jsx)(a.SolutionOutlined,{}),(0,o.jsx)(a.InfoCircleOutlined,{}),(0,o.jsx)(a.FileTextOutlined,{})],To={email:(0,o.jsx)(a.MailOutlined,{className:`v1-input-icon`}),contactNumber:(0,o.jsx)(a.PhoneOutlined,{className:`v1-input-icon`}),phone:(0,o.jsx)(a.PhoneOutlined,{className:`v1-input-icon`}),currentLocation:(0,o.jsx)(a.EnvironmentOutlined,{className:`v1-input-icon`}),preferredLocation:(0,o.jsx)(a.EnvironmentOutlined,{className:`v1-input-icon`}),skills:(0,o.jsx)(a.TagsOutlined,{className:`v1-input-icon`}),firstName:(0,o.jsx)(a.UserOutlined,{className:`v1-input-icon`}),lastName:(0,o.jsx)(a.UserOutlined,{className:`v1-input-icon`})},Eo=e=>e===!0||e===1||e===`1`,Do=(t,n)=>(t?.edit===void 0||Eo(t.edit))&&(!t?.editablePermission||e.h(t.editablePermission,n));function Oo(e=[]){return e.map(e=>typeof e==`string`?{label:e,value:e}:{label:e.label??e.name??e.value,value:e.value??e.id??e.name??e.label})}function ko(e){return String(e??``).split(`.`).map(e=>e.trim()).filter(Boolean)}function Ao(e,t){return Array.isArray(e)&&e.length>1?[...e.slice(0,-1),t]:[t]}function jo({form:t,field:n,absoluteName:a}){let[s,c]=(0,r.useState)(!1),[l,u]=(0,r.useState)(null),d=(0,r.useRef)(null),f=i.Form.useWatch(n.verifyResultField?Ao(a,n.verifyResultField):[`__noop_verify__`],{form:t,preserve:!0}),p=i.Form.useWatch(a,t);return(0,r.useEffect)(()=>{let e=String(p??``).trim();if(f===!0&&d.current===null&&e){d.current=e;return}f===!0&&d.current!==null&&e!==d.current&&(n.verifyResultField&&t.setFieldValue(Ao(a,n.verifyResultField),!1),n.verifyTimestampField&&t.setFieldValue(Ao(a,n.verifyTimestampField),void 0),d.current=null)},[a,p,n.verifyResultField,n.verifyTimestampField,t,f]),n.verifyAction===`email`?f===!0?l&&!l.mailboxConfirmed&&(l.catchAll||l.result===`risky`)?(0,o.jsx)(i.Tooltip,{title:l.reason||`This domain accepts every address, so the mailbox could not be confirmed. Delivery is proven only once the account email is actually sent.`,children:(0,o.jsx)(xo,{type:`warning`,strong:!0,className:`v1-verify-field-wrap`,children:n.verifyUnconfirmedLabel||`Accepted`})}):(0,o.jsx)(xo,{type:`success`,strong:!0,className:`v1-verify-field-wrap`,children:n.verifySuccessLabel||`Valid`}):(0,o.jsx)(i.Button,{size:`small`,loading:s,onClick:async()=>{let r=String(p??``).trim();if(!r){i.message.warning(`Enter an email first`);return}c(!0);try{let o=await e.br(r);d.current=o.valid?r:null,u(o.valid?o:null),n.verifyResultField&&t.setFieldValue(Ao(a,n.verifyResultField),o.valid),n.verifyTimestampField&&t.setFieldValue(Ao(a,n.verifyTimestampField),o.valid?new Date().toISOString():void 0),o.valid?o.mailboxConfirmed?i.message.success(`Email verified — the mail server confirmed this mailbox`):i.message.warning(o.reason||`The domain can receive mail, but this exact mailbox could not be confirmed`):i.message.error(o.reason?`Invalid email: ${o.reason}`:`Email could not be verified`)}catch(e){d.current=null,u(null),n.verifyResultField&&t.setFieldValue(Ao(a,n.verifyResultField),!1),n.verifyTimestampField&&t.setFieldValue(Ao(a,n.verifyTimestampField),void 0),i.message.error(e?.message||`Could not verify email`)}finally{c(!1)}},className:`v1-verify-field-wrap`,children:f===!1?n.verifyRetryLabel||`Re Verify`:n.verifyIdleLabel||`Verify Email`}):null}function Mo({form:t,field:n,siblingPrefix:r,locked:a,combined:s=!1}){let c=e.a(n,i.Form.useWatch(e.r(n?.labelWhen,r),t),s);return s?c:(0,o.jsx)(ys,{field:n,label:c,locked:a})}function No({form:e,groups:t,action:n,disabled:r,loading:a,onFire:s}){let c=i.Form.useWatch(e=>t.some(t=>{if(!t.addRow||!t.requireValidatedField)return!1;let n=e?.[t.name]??[];return n.length===0||n.some(e=>!e?.[t.requireValidatedField])}),{form:e,preserve:!0}),l=i.Form.useWatch(n?.enabledWhen?.field,e),u=!n?.enabledWhen?.field||Lo(n.enabledWhen,l);return(0,o.jsx)(i.Button,{type:n?.tone===`primary`?`primary`:`default`,onClick:s,disabled:r||c||!u,loading:a,children:n?.label||`Submit`})}function Po({form:e,groups:t,disabled:n,loading:r,onClick:a,children:s}){let c=i.Form.useWatch(e=>t.some(t=>{if(!t.addRow||!t.requireValidatedField)return!1;let n=e?.[t.name]??[];return n.length===0||n.some(e=>!e?.[t.requireValidatedField])}),{form:e,preserve:!0}),l=n||c,u=t.find(e=>e.submitDisabledMessage)?.submitDisabledMessage,d=t.find(e=>e.requireValidatedField)?.requireValidatedFieldMessage,f=c?d||u||`Verify every required row before submitting.`:u||`Complete all mandatory fields before submitting.`,p=(0,o.jsx)(i.Button,{type:`primary`,onClick:a,disabled:l,loading:r,children:s});return l&&!r?(0,o.jsx)(i.Tooltip,{title:f,children:(0,o.jsx)(`span`,{style:{display:`inline-flex`,cursor:`not-allowed`},children:p})}):p}function Fo({form:t,rules:n,watchPaths:a,targetPath:o,resetOnNoMatch:s=!0}){let c=i.Form.useWatch(e=>JSON.stringify(a.map(({path:t})=>t.reduce((e,t)=>e==null?e:e[t],e)??null)),{form:t,preserve:!0}),l=(0,r.useRef)(void 0),u=(0,r.useRef)(!0);return(0,r.useEffect)(()=>{let r=c?JSON.parse(c):[],i={};a.forEach(({field:e},t)=>{i[e]=r[t]});let d=u.current;u.current=!1;let f=e.C({rules:n,watched:i,current:t.getFieldValue(o),lastApplied:l.current,clearOnMismatch:s,initial:d});f.action===`set`?(t.setFieldValue(o,f.value),l.current=f.value):f.action===`clear`&&(t.setFieldValue(o,void 0),l.current=void 0)},[c]),null}function Io({form:e,config:n,watchPath:a}){let o=i.Form.useWatch(a,e),s=(0,r.useRef)(void 0);return(0,r.useEffect)(()=>{if(Jo(o)||o===s.current)return;s.current=o;let r=new URLSearchParams({[n.queryParam]:String(o)});t.a(t.b,`${n.endpoint}?${r.toString()}`).then(t=>{let r=t?.data??t;Object.entries(n.mapResponseToFields).forEach(([t,i])=>{let a=ko(t);n.onlyIfEmpty&&!Jo(e.getFieldValue(a))||e.setFieldValue(a,r?.[i])})}).catch(()=>{})},[o]),null}function Lo(e,t){if(!e?.field)return!0;let n=String(t??``),r=String(e.value??``),i=()=>r.split(`,`).map(e=>e.trim());switch(e.operator){case`eq`:return n===r;case`neq`:return n!==r;case`in`:return i().includes(n);case`notIn`:return!i().includes(n);case`truthy`:return Eo(t);case`falsy`:return!Eo(t);case`empty`:case`isEmpty`:return t==null||n.trim()===``||Array.isArray(t)&&t.length===0;case`notEmpty`:return!(t==null||n.trim()===``||Array.isArray(t)&&t.length===0);default:return!0}}function Ro({form:e,showIf:t,render:n}){return Lo(t,i.Form.useWatch(t.field,e))?n():null}var zo=(0,r.createContext)(!1);function Bo({form:e,group:t,children:n}){let a=(0,r.useContext)(zo),s=t?.disabledIf?.field?ko(t.disabledIf.field):[`__noop_group_disabled__`],c=i.Form.useWatch(s,e),l=t?.disabledIf?.field?Lo(t.disabledIf,c):!1,u=a||!!t?.disabled||l;return(0,o.jsx)(zo.Provider,{value:u,children:n})}function Vo(e,t){return String(t??``).split(`.`).reduce((e,t)=>e?.[t],e)}function Ho(e){return e==null||e===``?!1:Array.isArray(e)?e.length>0&&e.some(Ho):typeof e==`object`?Object.values(e).some(Ho):!0}function Uo(e){return Array.isArray(e)?e:Array.isArray(e?.groups)?e.groups:Array.isArray(e?.data)?e.data:Array.isArray(e?.data?.groups)?e.data.groups:Co}function Wo(t=[],n,r,i){let a=i??new Set;return[...Uo(t)].filter(t=>!Eo(t.hideGroup)&&!Eo(t.hideGroupInForm)&&e.Ot(r,t.name)).sort((e,t)=>Number(e.order??0)-Number(t.order??0)).map(t=>({...t,fields:[...t.fields??[]].map(e=>a.has(e.field)?{...e,show:1,req:1}:e).filter(i=>String(i.field??``).trim()!==``&&i.showOnAdd!==!1&&!Eo(i.clientScope)&&(!i.visiblePermission||e.h(i.visiblePermission,n))&&e.Et(r,t.name,i.field)).map(n=>e.Dt(r,t.name,n.field)?n:{...n,disabled:!0}).sort((e,t)=>Number(e.order??0)-Number(t.order??0))})).filter(e=>e.fields.length)}function Go(e){if(!Array.isArray(e))return null;let t={};return e.forEach(e=>{e.addRow||(e.fields??[]).forEach(e=>{!e.field||e.value===void 0||e.value===null||(t[e.field]=e.value,e.payloadKey&&e.payloadKey!==e.field&&(t[e.payloadKey]=e.value))})}),Object.keys(t).length>0?t:null}function Ko(t,n){if(!(!t||!n))for(let r of[n.prefillFrom,n.field,n.payloadKey]){if(!r)continue;let n=t[r];if(n??=e.yt(t,r),n!=null)return n}}function qo(e){if(Array.isArray(e))return e.flatMap(e=>qo(e));if(!e||typeof e!=`object`)return[];let t=e.uploadedFileName??e.name??Object.entries(e).find(([e])=>e.endsWith(`UploadName`))?.[1]??``,n=e.location??e.url??Object.entries(e).find(([e])=>e.endsWith(`CopyLocation`))?.[1]??``;return!t&&!n?[]:[{uid:n||t||`-1`,name:t||`file`,status:`done`,url:n,existing:!0,stored:e}]}var Jo=e=>e==null||e===``,Yo=e=>String(e).replace(/<[^>]*>/g,``).replace(/&nbsp;/g,` `).replace(/&amp;/g,`&`).replace(/&lt;/g,`<`).replace(/&gt;/g,`>`).trim(),Xo=({label:e,message:t,value:n,compare:r,text:i})=>({validator:(a,o)=>Jo(o)||r(Number(o),Number(n))?Promise.resolve():Promise.reject(Error(t??`${e} ${i} ${n}`))});function Zo(e){if(!e)return null;if(typeof e.valueOf==`function`){let t=e.valueOf();return Number.isNaN(t)?null:t}let t=new Date(e).getTime();return Number.isNaN(t)?null:t}function Qo(e){if(!e)return null;let t=(0,c.default)(e);return t.isValid()?t.startOf(`day`).valueOf():null}function $o(e){if(!e)return null;let t=(0,c.default)(e);return t.isValid()?t.hour()*60+t.minute():null}function es(t,n){return e.M(t,n)}var ts=({label:e,message:t,value:n,rule:r,form:i,name:a,compare:o,text:s})=>({validator:async(c,l)=>{let u=n??r.compareField??r.field;if(!u||Jo(l))return Promise.resolve();let d=i.getFieldValue(es(a,u));if(Jo(d))return Promise.resolve();let f=Number(l),p=Number(d);return Number.isNaN(f)||Number.isNaN(p)||o(f,p)?Promise.resolve():Promise.reject(Error(t??`${e} ${s} ${u}`))}}),ns={noPastDate:({label:e,message:t})=>({validator:(n,r)=>{if(Jo(r))return Promise.resolve();let i=Zo(r);if(i===null)return Promise.resolve();let a=new Date;return a.setHours(0,0,0,0),i<a.getTime()?Promise.reject(Error(t??`${e} cannot be a past date`)):Promise.resolve()}}),noFutureDate:({label:e,message:t})=>({validator:(n,r)=>{if(Jo(r))return Promise.resolve();let i=Zo(r);if(i===null)return Promise.resolve();let a=new Date;return a.setHours(23,59,59,999),i>a.getTime()?Promise.reject(Error(t??`${e} cannot be a future date`)):Promise.resolve()}}),minAge:({label:e,message:t,value:n})=>({validator:(e,r)=>{if(Jo(r))return Promise.resolve();let i=Zo(r);if(i===null)return Promise.resolve();let a=Number(n??18),o=new Date;return o.setFullYear(o.getFullYear()-a),o.setHours(23,59,59,999),i>o.getTime()?Promise.reject(Error(t??`Must be at least ${a} years old`)):Promise.resolve()}}),dateAfterField:({field:e,label:t,message:n,value:r,rule:i,form:a,name:o})=>({validator:async(e,s)=>{let c=r??i.compareField??i.field;if(!c)return Promise.resolve();let l=es(o,c),u=a.getFieldValue(l);if(Jo(u)||Jo(s))return Promise.resolve();let d=Qo(u),f=Qo(s);return d===null||f===null?Promise.resolve():f<d?Promise.reject(Error(n??`${t} should not be before Start Date`)):Promise.resolve()}}),dateBeforeField:({label:e,message:t,value:n,rule:r,form:i,name:a})=>({validator:async(o,s)=>{let c=n??r.compareField??r.field;if(!c||Jo(s))return Promise.resolve();let l=i.getFieldValue(es(a,c));if(Jo(l))return Promise.resolve();let u=Qo(s),d=Qo(l);return u===null||d===null||u<=d?Promise.resolve():Promise.reject(Error(t??`${e} must be on or before ${c}`))}}),timeAfterField:({label:e,message:t,value:n,rule:r,form:i,name:a})=>({validator:async(o,s)=>{let c=n??r.compareField??r.field;if(!c||Jo(s))return Promise.resolve();let l=i.getFieldValue(es(a,c));if(Jo(l))return Promise.resolve();let u=$o(s),d=$o(l);return u===null||d===null||u>d?Promise.resolve():Promise.reject(Error(t??`${e} must be after ${c}`))}}),timeBeforeField:({label:e,message:t,value:n,rule:r,form:i,name:a})=>({validator:async(o,s)=>{let c=n??r.compareField??r.field;if(!c||Jo(s))return Promise.resolve();let l=i.getFieldValue(es(a,c));if(Jo(l))return Promise.resolve();let u=$o(s),d=$o(l);return u===null||d===null||u<d?Promise.resolve():Promise.reject(Error(t??`${e} must be before ${c}`))}}),greaterThanField:e=>ts({...e,compare:(e,t)=>e>=t,text:`must be greater than or equal to`}),strictGreaterThanField:e=>ts({...e,compare:(e,t)=>e>t,text:`must be greater than`}),strictLessThanField:e=>ts({...e,compare:(e,t)=>e<t,text:`must be less than`}),lessThanOrEqualField:e=>ts({...e,compare:(e,t)=>e<=t,text:`must be less than or equal to`}),maxFromField:t=>e.P(t),maxFieldWithFallback:({label:t,message:n,value:r,rule:i,form:a,name:o})=>({validator:async(s,c)=>{let l=e.A({input:c,compareFields:e.j(r??i.compareFields),readValue:e=>a.getFieldValue(es(o,e))});return l.ok?Promise.resolve():Promise.reject(Error(n??`${t} must not exceed ${l.field}`))}}),required:({field:e,message:t})=>({validator:(n,r)=>{let i=r==null||r===``||Array.isArray(r)&&r.length===0;return!i&&e?.type===`text-editor`&&(i=Yo(r)===``),i?Promise.reject(Error(t??`Mandatory Field`)):Promise.resolve()}}),email:({label:t,message:n})=>e.Z(t,n),unique:({field:t,rule:n,uniqueContext:r})=>e.W({field:t,validation:n,context:r}),emailTags:({label:t,message:n})=>({validator:(r,i)=>{let a=(Array.isArray(i)?i:[]).find(t=>!e.Q(t));return a?Promise.reject(Error(n??`${t} contains an invalid email: ${a}`)):Promise.resolve()}}),url:({label:e,message:t})=>({type:`url`,message:t??`Enter valid ${e}`}),number:({label:e,message:t})=>({pattern:/^[0-9]+$/,message:t??`${e} must be a number`}),phone:({message:t})=>({validator:(n,r)=>{if(r==null||r===``)return Promise.resolve();let{total:i}=e.Ft();return e.It(r).length===i?Promise.resolve():Promise.reject(Error(t??`Phone number must contain exactly ${i} digits`))}}),minLength3:({label:e,message:t})=>({validator:(n,r)=>!r||String(r).trim().length>=3?Promise.resolve():Promise.reject(Error(t??`${e} must be at least 3 characters`))}),minLength5:({label:e,message:t})=>({validator:(n,r)=>!r||String(r).trim().length>=5?Promise.resolve():Promise.reject(Error(t??`${e} must be at least 5 characters`))}),len:({label:e,message:t,value:n})=>({len:Number(n),message:t??`${e} must be ${n} characters`}),pattern:({label:e,message:t,rule:n})=>({pattern:new RegExp(n.pattern??n.value,n.flags),message:t??`Enter valid ${e}`}),min:({field:e,label:t,message:n,value:r})=>e.type===`number`?Xo({label:t,message:n,value:r,compare:(e,t)=>e>=t,text:`must be at least`}):{validator:(i,a)=>{if(a==null||a===``)return Promise.resolve();let o=e.type===`text-editor`?Yo(a):String(a);return o===``||o.length>=Number(r)?Promise.resolve():Promise.reject(Error(n??`${t} must be at least ${r} characters`))}},max:({field:e,label:t,message:n,value:r})=>e.type===`number`?Xo({label:t,message:n,value:r,compare:(e,t)=>e<=t,text:`must not exceed`}):{validator:(i,a)=>{if(a==null||a===``)return Promise.resolve();let o=e.type===`text-editor`?Yo(a):String(a);return o===``||o.length<=Number(r)?Promise.resolve():Promise.reject(Error(n??`${t} must not exceed ${r} characters`))}}};function rs(e,t,n,r,i,a){let o=typeof e==`string`?{type:e}:e,s=o.type??o.rule??o.name,c=o.value??o.length??o.min??o.max,l=t.label??t.field??`Field`,u=ns[s];return u?u({field:t,label:l,message:o.message,rule:o,value:c,form:n,name:r,prefixFor:i,uniqueContext:a}):o}function is(e,t){return Array.isArray(e)&&e.length>1?[...e.slice(0,-1),t]:[t]}function as(e,t,n){return Eo(e?.req)||(e?.validations??e?.validation??e?.rules??[]).some(e=>(typeof e==`string`?e:e?.type)===`required`)?!0:e?.requiredIfField&&t&&n?Eo(t.getFieldValue(is(n,e.requiredIfField))):!1}function os(t,n,r,i=!1,a=void 0,o=void 0){let s=t.label??t.field??`Field`,c=t.validations??t.validation??t.rules??[],l=c.some(e=>(typeof e==`string`?e:e?.type)===`required`),u=c.some(e=>(typeof e==`string`?e:e?.type)===`email`),d=[];return!i&&Eo(t.req)&&!l&&(t.disabledByField&&d.push({validator:(e,i)=>Eo(n.getFieldValue(is(r,t.disabledByField)))?Promise.resolve():i==null||i===``?Promise.reject(Error(`Mandatory Field`)):Promise.resolve()}),!i&&t.requiredIfField&&!l?d.push({validator:(e,i)=>Eo(n.getFieldValue(is(r,t.requiredIfField)))&&(i==null||i===``)?Promise.reject(Error(`Mandatory Field`)):Promise.resolve()}):d.push({required:!0,message:`Mandatory Field`})),(t.type===`email`||t.formatter===`email`)&&!u&&d.push(e.Z(s)),t.type===`number`&&d.push(Eo(t.decimal)?{pattern:/^\d+(\.\d+)?$/,message:`${s} must be a number`}:{pattern:/^[0-9]+$/,message:`${s} must be a number`}),e.U([...d,...c.map(e=>rs(e,t,n,r,a,o)),e.Tt(t)])}function ss(e,t){let n=(e.validations??e.validation??e.rules??[]).find(e=>(typeof e==`string`?e:e?.type)===t);if(!(!n||typeof n==`string`))return n.value??n.length??n[t]}function cs(e){let t=e.len??ss(e,`len`),n=e.min??ss(e,`min`),r=e.max??ss(e,`max`);return e.type===`number`?{min:n??void 0,max:r??void 0}:{minLength:n??void 0,maxLength:e.maxLength??t??r??void 0}}function ls(e,t,n){let r=e.validations??e.validation??e.rules??[],i=[];for(let e of r){let r=typeof e==`string`?e:e?.type;if(r===`noPastDate`&&i.push(e=>{if(!e)return!1;let t=new Date;return t.setHours(0,0,0,0),Zo(e)<t.getTime()}),r===`noFutureDate`&&i.push(e=>{if(!e)return!1;let t=new Date;return t.setHours(23,59,59,999),Zo(e)>t.getTime()}),r===`minAge`){let t=Number(e?.value??18);i.push(e=>{if(!e)return!1;let n=new Date;return n.setFullYear(n.getFullYear()-t),n.setHours(23,59,59,999),Zo(e)>n.getTime()})}if(r===`dateAfterField`||r===`dateBeforeField`){let a=e?.value??e?.compareField??e?.field;if(!a)continue;i.push(e=>{if(!e)return!1;let i=t.getFieldValue(es(n,a));if(Jo(i))return!1;let o=Qo(e),s=Qo(i);return o===null||s===null?!1:r===`dateAfterField`?o<s:o>s})}}return i.length?e=>i.some(t=>t(e)):void 0}function us(e){let t=e.validations??e.validation??e.rules??[];for(let e of t){let t=typeof e==`string`?e:e?.type;if(t===`minAge`){let t=Number(e?.value??18);return(0,c.default)().subtract(t,`year`)}if(t===`noFutureDate`||t===`noPastDate`)return(0,c.default)()}}function ds(t,n){return n?n===`phone`?e.jt(t):n===`digits`?t.replace(/\D/g,``).slice(0,10):n===`email`||n===`noSpaces`?t.replace(/\s/g,``):n===`name`?t.replace(/\s+/g,` `).trimStart().replace(/\b\w/g,e=>e.toUpperCase()):t:t}function fs(e=``){let t=String(e).toLowerCase();return t===`job`?`jobs`:t===`candidate`?`candidates`:t===`submissions`?`submission`:t}var ps=new Set([`selectedSource`,`source`,`sourceType`,`scope`]);function ms(e){return e==null?!1:typeof e==`string`?e.trim().length>0:typeof e==`number`?Number.isFinite(e):typeof e==`boolean`?e:c.default.isDayjs(e)?e.isValid():Array.isArray(e)?e.some(ms):typeof e==`object`?`value`in e||`label`in e||`name`in e?ms(e.value??e.label??e.name):Object.entries(e).some(([e,t])=>!ps.has(e)&&ms(t)):!1}function hs(e={}){return Object.entries(e??{}).some(([e,t])=>!ps.has(e)&&ms(t))}function gs(t,n,r={},i=``){let a=new FormData;e._t(t,n,{scope:`flat`,module:i}).forEach(({formKey:e,file:t})=>{a.append(e,t)});let o={...r,...e.ht(t,n,{module:i})};return o.schemaVersion=1,a.append(`json`,JSON.stringify(o)),a}function _s({field:n,form:s,name:c,moduleName:l,value:u,checked:d,onChange:f,scopeValues:p={},onAiUpload:m,formDisabled:h,rowFieldKeys:g}){let _=n.type??`text`,v=!Do(n,l),[y,b]=(0,r.useState)(null),[x,S]=(0,r.useState)(!1),[C,w]=(0,r.useState)(``),[T,E]=(0,r.useState)(``),[D,O]=(0,r.useState)(``),[k,A]=(0,r.useState)(0),[j,M]=(0,r.useState)({open:!1,docs:[],index:0}),[N,P]=(0,r.useState)(null),F=(0,r.useRef)([]),I=Array.isArray(c)&&c.length>=3&&typeof c[1]==`number`,L=n.lookupFilterValueFrom?ko(n.lookupFilterValueFrom):[`__lookup_filter_${n.field}`],R=n.lookupFilterValueFrom&&I?[...c.slice(0,2),...ko(n.lookupFilterValueFrom)]:[`__noop_row_filter__`],z=i.Form.useWatch(L,s),B=i.Form.useWatch(R,s),ee=Jo(B)?z:B,te=n.disabledByField?Array.isArray(c)&&c.length>1?[...c.slice(0,-1),n.disabledByField]:[n.disabledByField]:[`__noop_disabled_watch__`],V=i.Form.useWatch(te,s),ne=n.disabledIf?.field?ko(n.disabledIf.field):[`__noop_disabled_if__`],re=n.disabledIf?.field&&I?[...c.slice(0,2),...ko(n.disabledIf.field)]:[`__noop_disabled_if_row__`],H=i.Form.useWatch(ne,s),U=i.Form.useWatch(re,s),ie=n.disabledIf?.field?e.i(n.disabledIf,Jo(U)?H:U):!1,ae=n.optionsFromField||``,oe=ae?ko(ae):[`__noop_options_from__`],se=ae&&I&&(!g||g.has(ae))?[...c.slice(0,2),...ko(ae)]:[`__noop_options_from_row__`],ce=i.Form.useWatch(oe,s),le=i.Form.useWatch(se,s),W=Jo(le)?ce:le,G=Eo(n.prefillWhenExclusive)&&n.prefillWhen?.length?n.prefillWhen:null,K=i.Form.useWatch(t=>G?JSON.stringify(e.x(G).map(e=>{let n=e=>e.reduce((e,t)=>e==null?e:e[t],t),r=I&&(!g||g.has(e))?n([...c.slice(0,2),...ko(e)]):void 0;return(Jo(r)?n(ko(e)):r)??null})):``,{form:s,preserve:!0}),ue=(0,r.useMemo)(()=>{if(!G||!K)return null;let t=JSON.parse(K),n={};return e.x(G).forEach((e,r)=>{n[e]=t[r]}),n},[K]),de=(0,r.useContext)(zo),fe=n.exclusiveInGroup&&I?[c[0]]:[`__noop_exclusive_watch__`],pe=i.Form.useWatch(fe,s),me=(0,r.useMemo)(()=>{if(!n.exclusiveInGroup||!I||!Array.isArray(pe))return!1;let e=c[1],t=c[c.length-1];return pe.some((n,r)=>r!==e&&Eo(n?.[t]))},[n.exclusiveInGroup,I,pe,c]),he=v||!!n.disabled||ie||(n.disabledByField?Eo(V):!1)||!!h||de||me,ge=n.lookupFilterValueFrom?p[n.lookupFilterValueFrom]:void 0,_e=Jo(ge)?ee:ge;(0,r.useEffect)(()=>{if(_===`location`){let e=!1;S(!0);async function r(){try{let r=await t.a(t.b,`/admin/location-dropdown-values?${new URLSearchParams({search:C,limit:String(n.limit??50),offset:`0`})}`),i=r?.data??r??[];e||b(Oo(Array.isArray(i)?i:[]))}catch(t){console.error(`[AddFormV1] Failed to fetch locations for "${n.field}":`,t),e||b([])}finally{e||S(!1)}}return r(),()=>{e=!0}}let r=n.dataSource;if(![`select`,`radio`,`checkbox`].includes(_)||!r||r===`static`)return;if(r===`lookup`&&n.lookupFilterField&&Jo(_e)){b([]),S(!1);return}if(r===`lookup`&&n.lookupMinSearchLength&&T.trim().length<n.lookupMinSearchLength){b([]),S(!1);return}let i=!1;S(!0);async function a(){try{let a=[];if(r===`master`||r===`module`)a=await e.Cr(l,n.field,r===`master`?D:``,n.limit??50,0,{dataSource:r,masterName:n.masterName,groupName:n.groupName});else if(r===`lookup`){let r=new URLSearchParams({collection:n.lookupCollection??``,displayField:n.displayField??``,valueField:n.valueField??`_id`});n.displayField2&&r.set(`displayField2`,n.displayField2),T&&r.set(`search`,T),n.lookupFilterField&&!Jo(_e)&&(r.set(`filterField`,n.lookupFilterField),r.set(`filterValue`,String(_e)));let i={field:n.field,extraFields:n.extraFields,optionsRequireExtraField:n.optionsRequireExtraField,optionsRequireExtraValue:n.optionsRequireExtraValue,optionsHierarchyParentField:n.optionsHierarchyParentField,optionsHierarchySelfFrom:n.optionsHierarchySelfFrom},o=e.v(i);o.length&&r.set(`extraFields`,o.join(`,`));let s=await t.a(t.b,`/admin/lookup-dropdown-values?${r}`);a=s?.data??s??[],a=e._(a,i,{source:`AddFormV1`})}else if(r===`group`){let e=(n.groupName??``).toLowerCase().trim();if(e===`users`||e===`user`){let e=await t.a(t.b,`/get-all-users?limit=500&offset=0`),n=e?.data?.users??e?.users??e?.data??[];a=Array.isArray(n)?n.map(e=>({label:[e.firstName,e.lastName].filter(Boolean).join(` `).trim()||e.userName||e.email||String(e.userId),value:e.userId??e.id})):[]}}i||(F.current=Array.isArray(a)?a:[],b(Oo(F.current)))}catch(e){console.error(`[AddFormV1] Failed to fetch options for "${n.field}":`,e),i||b([])}finally{i||S(!1)}}return a(),()=>{i=!0}},[_,n.dataSource,n.field,n.limit,n.lookupCollection,n.displayField,n.displayField2,n.valueField,n.lookupFilterField,_e,n.groupName,n.masterName,C,T,D,l,n.extraFields,n.optionsRequireExtraField,n.optionsRequireExtraValue,n.optionsHierarchyParentField,n.optionsHierarchySelfFrom,k,n.lookupMinSearchLength]);let ve=Oo(n.options??n.values??[]),ye=y??ve,be=ae?e.y(ye,W):ye,xe=G?e.b(be,G,ue??{}):be,Se=(n.multiSelect?`multiple`:n.mode??(Eo(n.multiple)?`multiple`:void 0))??(e.vt(n)===`array`?`multiple`:void 0),Ce=Eo(n.allowCustomValues),we=Ce?`tags`:Se,Te=!!n.multiSelect||Eo(n.multiple)||e.vt(n)===`array`||Se===`multiple`,Ee=Ce?typeof n.tokenSeparators==`string`&&n.tokenSeparators?n.tokenSeparators.split(``):[`,`]:void 0,De=[`select`,`location`].includes(_),Oe=n.hidePlaceholder?void 0:n.placeholder??`${De?`Select`:`Enter`} ${String(n.label??``).toLowerCase()}`,ke=cs(n),Ae=e=>{f?.(e),setTimeout(()=>{s.validateFields([c]).catch(()=>{})},0)},je=e.I({field:n,form:s,name:c,moduleName:l,scopeValues:p,ownValue:u,onDone:(t,r)=>{A(e=>e+1);let i=e.vt(n)!==`array`&&!n.multiSelect&&!n.multiple;t===`create`&&r!=null&&i&&Ae(e.wt(n)?{value:r}:r)}}),Me=n.validator?.type?{...n.validator,title:n.validator.title||n.label||`Field`}:null,q={...ke,disabled:he,placeholder:Oe,prefix:n.icon?null:To[n.field],value:u??``,onChange:t=>{let r=n.formatter?ds(t.target.value,n.formatter):t.target.value;if(Me){let{cleaned:t,error:n}=e.Y(r,Me,`change`);P(n),r=t}Ae(r)},...Me&&{onBlur:t=>{let{cleaned:n,error:r}=e.Y(t.target.value,Me,`blur`);P(r),n!==t.target.value&&Ae(n)},onKeyPress:t=>{let n=e.X(Me.type);if(!n||t.which===0||t.keyCode===8||t.keyCode===13)return;let r=String.fromCharCode(t.which??t.keyCode);if(!n.test(r)){t.preventDefault();let e=`${Me.title} — invalid character.`;P(e),setTimeout(()=>P(t=>t===e?null:t),1800)}},maxLength:Me.maxLength??ke.maxLength}};if(_===`tagify`)return(0,o.jsx)(i.Select,{value:u,allowClear:!0,disabled:he,mode:`tags`,placeholder:Oe,onChange:Ae});if(_===`location`)return(0,o.jsx)(i.Select,{value:u,allowClear:!0,showSearch:!0,filterOption:!1,disabled:he,loading:x,options:xe,placeholder:Oe,notFoundContent:x?(0,o.jsx)(i.Spin,{size:`small`}):void 0,onSearch:w,onFocus:()=>w(e=>e),onChange:Ae});if(_===`select`){let t=n.dataSource===`lookup`,r=n.dataSource===`master`,a=t||r,l=e.wt(n),d=e.Ct(n,u,xe),f=Ce&&!Te?d==null||d===``?void 0:Array.isArray(d)?d:[d]:d;return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(i.Select,{value:f,labelInValue:l||void 0,allowClear:!0,showSearch:n.showSearch!==!1,optionFilterProp:`label`,filterOption:a?!1:void 0,disabled:he,loading:x,mode:we,tokenSeparators:Ee,options:xe,placeholder:Oe,notFoundContent:x?(0,o.jsx)(i.Spin,{size:`small`}):void 0,onSearch:t?E:r?O:void 0,onChange:e=>{let t=Ce&&!Te&&Array.isArray(e)?e.length?e[e.length-1]:void 0:e;if(Ae(t),n.autofillFrom?.length){let e=t&&!Array.isArray(t)&&typeof t==`object`?t.value:t,r=Array.isArray(c)&&c.length>=3&&typeof c[1]==`number`;if(t==null)n.autofillFrom.forEach(({targetField:e})=>{let t=r?[...c.slice(0,2),...ko(e)]:ko(e);s.setFieldValue(t,null)});else if(F.current.length>0){let t=n.valueField??`_id`,i=F.current.find(n=>Vo(n,t)===e||n._id===e||n.id===e||n.value===e);i&&n.autofillFrom.forEach(({optionKey:e,targetField:t})=>{let n=Vo(i,e)??i.extraData?.[e]??null,a=r?[...c.slice(0,2),...ko(t)]:ko(t);s.setFieldValue(a,n)})}}},dropdownRender:je.footer?e=>(0,o.jsxs)(o.Fragment,{children:[e,je.footer]}):void 0}),je.modal]})}if(_===`radio`)return(0,o.jsx)(i.Radio.Group,{value:u,disabled:he,options:xe,onChange:e=>Ae(e.target.value)});if(_===`checkbox`)return xe.length>0?(0,o.jsx)(i.Checkbox.Group,{value:u,disabled:he,options:xe,onChange:Ae}):(0,o.jsx)(i.Checkbox,{checked:!!(d??u),disabled:he,onChange:e=>{let t=e.target.checked;if(Ae(t),n.linkedClearField&&t){let e=Array.isArray(c)&&c.length>1?[...c.slice(0,-1),n.linkedClearField]:[n.linkedClearField];s.setFieldValue(e,null)}},children:n.checkboxLabel??n.label});if(_===`text-editor`)return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e.kr,{value:u??s.getFieldValue(c)??``,disabled:he,placeholder:Oe,onChange:t=>{if(Me){let{error:n}=e.Y(t,Me,`change`);P(n)}Ae(t)}}),N&&(0,o.jsx)(`div`,{className:`v1-input-validator-hint`,children:N})]});if(_===`textarea`)return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(So,{...q,rows:n.rows??3,className:`v1-scroll-textarea`}),N&&(0,o.jsx)(`div`,{className:`v1-input-validator-hint`,children:N})]});if(_===`date`)return(0,o.jsx)(i.DatePicker,{disabled:he,placeholder:Oe,style:{width:`100%`},suffixIcon:(0,o.jsx)(a.CalendarOutlined,{}),value:u??null,disabledDate:ls(n,s,c),defaultPickerValue:us(n),onChange:e=>Ae(e)});if(_===`time`)return(0,o.jsx)(i.TimePicker,{disabled:he,placeholder:Oe,style:{width:`100%`},value:u??null,onChange:e=>Ae(e)});if(_===`file`){let t=n.validations??n.validation??n.rules??[],r=t.find(e=>(typeof e==`string`?e:e?.type)===`fileType`),s=t.find(e=>(typeof e==`string`?e:e?.type)===`fileSize`),c=t.find(e=>(typeof e==`string`?e:e?.type)===`maxFiles`),l=e.V(n),d=l?l.exts.map(e=>`.${e}`).join(`,`):r?.value?r.value.split(`,`).map(e=>`.${e.trim().replace(/^\./,``)}`).join(`,`):void 0,f=s?Number(s?.value??5):void 0,p=c?Number(c?.value??1):Eo(n.multiple)?n.maxCount??5:1,h=Array.isArray(u)?u:[],g=h.length<p,_=e=>e?e<1024*1024?`${(e/1024).toFixed(0)} KB`:`${(e/1024/1024).toFixed(2)} MB`:``,v=e=>{let t=(e??``).split(`.`).pop()?.toLowerCase();return t===`pdf`?(0,o.jsx)(a.FilePdfOutlined,{className:`v1-file-type-icon v1-file-icon-pdf`}):[`doc`,`docx`].includes(t)?(0,o.jsx)(a.FileWordOutlined,{className:`v1-file-type-icon v1-file-icon-word`}):[`xls`,`xlsx`,`csv`].includes(t)?(0,o.jsx)(a.FileExcelOutlined,{className:`v1-file-type-icon v1-file-icon-excel`}):[`jpg`,`jpeg`,`png`,`gif`,`svg`,`webp`].includes(t)?(0,o.jsx)(a.FileImageOutlined,{className:`v1-file-type-icon v1-file-icon-image`}):(0,o.jsx)(a.FileOutlined,{className:`v1-file-type-icon v1-file-icon-default`})},y=e=>{Ae(h.filter((t,n)=>n!==e))},b=(e,t)=>{M({open:!0,docs:h.map(e=>{let t=e.url??e.thumbUrl??``;return!t&&e.originFileObj instanceof File&&(t=URL.createObjectURL(e.originFileObj)),{url:t,name:e.name??`file`}}).filter(e=>e.url),index:t??0})},x=p>1,S=p-h.length,C=[l?l.hint:d?d.split(`,`).map(e=>e.replace(`.`,``).toUpperCase()).join(`, `):null,f?`up to ${f} MB`:null].filter(Boolean).join(` `),w=x&&h.length>0?[C,`${S} of ${p} remaining`].filter(Boolean).join(` • `):C,T=h.length>0?`Add ${x?`more files`:`file`}`:n.buttonLabel??`Upload ${n.label??`File`}`,E=e=>{if(h.length>=p)return i.Upload.LIST_IGNORE;if(d){let t=(e.name.split(`.`).pop()??``).toLowerCase();if(!d.split(`,`).map(e=>e.replace(/^\./,``).toLowerCase()).includes(t))return i.message.error(l?l.error:r?.message??`Only ${r.value} files are allowed`),i.Upload.LIST_IGNORE}return f!==void 0&&e.size/1024/1024>f?(i.message.error(s?.message??`File must be smaller than ${f} MB`),i.Upload.LIST_IGNORE):!1},D=({fileList:e})=>{let t=e.slice(0,p);if(Ae(t),m&&t.length>h.length){let e=t[t.length-1];e?.originFileObj&&m(e.originFileObj)}},O={accept:d,fileList:h,showUploadList:!1,multiple:!0,maxCount:p,beforeUpload:E,onChange:D,disabled:he},k=h.map((e,t)=>(0,o.jsxs)(`div`,{className:`v1-file-item`,children:[(0,o.jsx)(`div`,{className:`v1-file-item-icon`,children:v(e.name)}),(0,o.jsxs)(`div`,{className:`v1-file-item-info`,children:[(0,o.jsx)(`span`,{className:`v1-file-item-name`,title:e.name,children:e.name}),(0,o.jsx)(`span`,{className:`v1-file-item-meta`,children:e.existing?`Previously uploaded`:`${_(e.size)}${e.size?` • `:``}Uploaded just now`})]}),(0,o.jsxs)(i.Space,{size:6,className:`v1-file-item-actions`,children:[(0,o.jsx)(i.Button,{size:`small`,icon:(0,o.jsx)(a.EyeOutlined,{}),onClick:()=>b(e,t),className:`v1-file-view-btn`,children:`View`}),(0,o.jsx)(i.Button,{size:`small`,danger:!0,icon:(0,o.jsx)(a.DeleteOutlined,{}),onClick:()=>y(t),className:`v1-file-delete-btn`})]})]},e.uid??t)),A=(0,o.jsx)(e.Or,{documents:j.docs,open:j.open,onClose:()=>M(e=>({...e,open:!1})),initialIndex:j.index});if(x){let e=h.length>0?`Upload more ${n.label??`files`}`:n.buttonLabel??`Upload ${n.label??`File`}`;return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(`div`,{className:`v1-file-upload-wrapper`,children:[g&&(0,o.jsx)(i.Upload,{...O,style:{width:`100%`,display:`block`},children:(0,o.jsxs)(`div`,{className:`v1-upload-dropzone v1-upload-dropzone-center${he?` v1-upload-dropzone-disabled`:``}`,children:[(0,o.jsxs)(`div`,{className:`v1-upload-dropzone-title-row`,children:[(0,o.jsx)(a.CloudUploadOutlined,{className:`v1-upload-cloud-icon v1-upload-cloud-icon-sm`}),(0,o.jsx)(`span`,{className:`v1-upload-dropzone-title v1-upload-dropzone-title-blue`,children:e})]}),(0,o.jsx)(`span`,{className:`v1-upload-dropzone-sub`,children:`Drag & drop or click to upload`}),C&&(0,o.jsx)(`span`,{className:`v1-upload-dropzone-sub`,children:C})]})}),h.length>0&&(0,o.jsx)(`div`,{className:`v1-file-grid`,children:k}),g&&h.length>0&&(0,o.jsx)(i.Upload,{...O,style:{display:`inline-block`},children:(0,o.jsx)(i.Button,{type:`link`,size:`small`,icon:(0,o.jsx)(a.PlusOutlined,{}),className:`v1-add-more-files-btn`,children:`Add more files`})})]}),A]})}return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(`div`,{className:`v1-file-upload-wrapper`,children:[h.length>0&&(0,o.jsx)(`div`,{className:`v1-file-rows-single`,children:k}),g&&(0,o.jsx)(i.Upload,{accept:d,fileList:h,showUploadList:!1,multiple:!1,maxCount:1,beforeUpload:E,onChange:D,disabled:he,style:{width:`100%`,display:`block`},children:(0,o.jsxs)(`div`,{className:`v1-upload-dropzone v1-upload-dropzone-single${he?` v1-upload-dropzone-disabled`:``}`,children:[(0,o.jsx)(a.CloudUploadOutlined,{className:`v1-upload-cloud-icon`}),(0,o.jsx)(`span`,{className:`v1-upload-dropzone-title`,children:T}),w&&(0,o.jsxs)(`span`,{className:`v1-upload-dropzone-sub`,children:[`— `,w]})]})})]}),A]})}return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(i.Input,{...q,type:_===`number`?`number`:_,..._===`number`&&Eo(n.decimal)?{step:`any`}:{},...n.suffix?{suffix:n.suffix}:{}}),N&&(0,o.jsx)(`div`,{className:`v1-input-validator-hint`,children:N})]})}function vs({icon:e,title:t}){return(0,o.jsxs)(i.Space,{size:10,align:`center`,children:[(0,o.jsx)(`div`,{className:`v1-section-icon-box`,children:e}),(0,o.jsx)(xo,{strong:!0,className:`v1-section-label`,children:t})]})}function ys({field:t,label:n,locked:r}){if(!n)return n;let s=e.g(t),c=!!s;return!c&&!r?n:(0,o.jsxs)(`span`,{className:`v1-field-label-with-info`,children:[(0,o.jsx)(`span`,{children:n}),c&&(0,o.jsx)(i.Tooltip,{title:s,children:(0,o.jsx)(a.InfoCircleOutlined,{className:`v1-field-info-icon`})}),r&&(0,o.jsx)(i.Tooltip,{title:`You don't have permission to edit this field`,children:(0,o.jsx)(a.LockOutlined,{className:`v1-field-info-icon`})})]})}function bs({group:e}){return!Eo(e?.infoEnabled)||Jo(e?.infoText)?null:(0,o.jsx)(xo,{type:`secondary`,className:`v1-group-info-message`,children:e.infoText})}function xs({group:e}){return!Eo(e?.toggleEnabled)||Jo(e?.toggleField)?null:(0,o.jsxs)(i.Space,{size:6,align:`center`,onClick:e=>e.stopPropagation(),children:[(0,o.jsx)(xo,{type:`secondary`,className:`v1-combine-toggle-label`,children:e.toggleLabel||`Toggle`}),(0,o.jsx)(i.Form.Item,{name:e.toggleField,valuePropName:`checked`,initialValue:!!e.toggleValue,noStyle:!0,children:(0,o.jsx)(i.Switch,{size:`small`})})]})}function Ss({moduleName:n,action:c,authToken:l,clientId:u,region:d,formGroups:f,loading:p=!1,error:m=``,breadcrumbItems:h=[],formType:g=`add`,submitText:_,cancelPath:v=`/candidates`,onSubmit:y,initialRecord:b=null,prefillFromUrl:x=!1,extraPayload:S=null,presetClientId:C=null,listViewProps:w={},selectedScope:T=``,searchActionContext:E=null,embedded:D=!1,onSuccess:O=null,onCancel:k=null}){(0,r.useEffect)(()=>(l&&t.h(l),()=>{l&&t.n()}),[l]);let A=g===`search`,j=_??(A?`Search`:`Create`),M=(0,s.useNavigate)(),N=(0,s.useLocation)(),P=(0,r.useRef)(null),F=(0,r.useRef)(null),I=(0,s.useParams)(),[L]=(0,s.useSearchParams)(),[R]=i.Form.useForm(),z=i.Form.useWatch([],R),[B,ee]=(0,r.useState)(!1),[te,V]=(0,r.useState)({}),[ne,re]=(0,r.useState)([]),[H,U]=(0,r.useState)(!!n),[ie,ae]=(0,r.useState)(``),[oe,se]=(0,r.useState)(``),[ce,le]=(0,r.useState)(!1),[W,G]=(0,r.useState)({searched:!1,rows:[],total:0,fields:[],actions:[],actionRules:[],loading:!1}),[K,ue]=(0,r.useState)({current:1,pageSize:10}),[de,fe]=(0,r.useState)({}),[pe,me]=(0,r.useState)(`internal`),[he,ge]=(0,r.useState)([]),[_e,ve]=(0,r.useState)({}),[ye,be]=(0,r.useState)([]),[xe,Se]=(0,r.useState)(u??``),[Ce,we]=(0,r.useState)(d??``),[Te,Ee]=(0,r.useState)(null),[De,Oe]=(0,r.useState)(!1),[ke,Ae]=(0,r.useState)(null),[je,Me]=(0,r.useState)(()=>new Set),q=n?ne:f??Co,J=n?H:p,Ne=n?ie:m,[Y,Pe]=(0,r.useState)(``),Fe=I?.jobId&&I.jobId!==`_`?I.jobId:L.get(`jobId`)||``;(0,r.useEffect)(()=>{if(u||C||!Fe)return;let t=!1;return(async()=>{try{let n=Go(Uo(await e.Sr({module:`jobs`,id:Fe})))??{},r=n.clientId??n.client??``,i=r&&typeof r==`object`?r.id??r.value??``:r;!t&&i&&Pe(String(i))}catch(e){console.error(`Client-scope resolve from job failed:`,e)}})(),()=>{t=!0}},[u,C,Fe]);let Ie=u||C||Y||xe,Le=d||Ce;(0,r.useEffect)(()=>{e.Pt()},[]),(0,r.useEffect)(()=>{let t=!1;return queueMicrotask(()=>{if(!t){if(!n){Ae(null);return}e.Hn({roleId:localStorage.getItem(`roleId`)},n,{clientId:Ie,region:Le}).then(e=>{t||Ae(Array.isArray(e)&&e.length?e:null)}).catch(()=>{t||Ae(null)})}}),()=>{t=!0}},[n,Ie,Le]),(0,r.useEffect)(()=>{let t=!1;return queueMicrotask(()=>{if(!t){if(!n){Me(new Set);return}e.Rn(n).then(e=>{t||Me(new Set(Array.isArray(e)?e:[]))}).catch(()=>{t||Me(new Set)})}}),()=>{t=!0}},[n]);let X=(0,r.useMemo)(()=>Wo(q,n,ke,je),[q,n,ke,je]),[Re,ze]=(0,r.useState)(0),Be=(0,r.useMemo)(()=>e.K({checkFieldUnique:e.H,onPendingChange:ze}),[]),Ve=(0,r.useMemo)(()=>A?void 0:{checker:Be,module:n,clientId:Ie||void 0,region:Le||void 0},[A,Be,n,Ie,Le]),He=(0,r.useMemo)(()=>e.G(X),[X]),Ue=(0,r.useMemo)(()=>e.dt(X),[X]),We=(0,r.useRef)({}),Ge=(0,r.useRef)(null),Ke=(0,r.useMemo)(()=>X.flatMap(e=>e.formActions??[]),[X]),qe=e.tt({form:R,groups:X,module:n}),[Je,Ye]=(0,r.useState)(`list`),Xe=A&&!hs(z),{hasClientScope:Ze,clientGateMessage:Qe,clientGateResetOnChange:$e}=(0,r.useMemo)(()=>{let e=Uo(q).flatMap(e=>e.fields??[]).find(e=>Eo(e.clientScope));return e?{hasClientScope:!0,clientGateMessage:e.clientGateMessage||``,clientGateResetOnChange:Eo(e.clientGateResetOnChange)}:{hasClientScope:!1,clientGateMessage:``,clientGateResetOnChange:!1}},[q]),et=e=>{if($e){R.resetFields();let e=R.getFieldsValue(!0);R.setFieldsValue(Object.fromEntries(Object.keys(e).map(e=>[e,void 0]))),G({searched:!1,rows:[],total:0,fields:[],loading:!1}),ue({current:1,pageSize:10})}Se(e??``)},tt=Ze&&!Ie,nt=(0,r.useCallback)(()=>e.fn({limit:200}).then(be).catch(()=>be([])),[]);(0,r.useEffect)(()=>{!Ze||C||Y||nt()},[Ze,C,Y,nt]);let rt=e.I({field:{field:`clientId`,quickCreate:!0,quickCreateModule:`clients`,quickCreateLabel:`Add Client`,lookupCollection:`clients`,displayField:`clientName`,quickCreateNotice:{enabled:!0,title:`New Client Created`,showCreator:!0,showRecordName:!0,recordLabel:`Client name`,creatorLabel:`Created by`}},form:R,name:`clientId`,moduleName:n,scopeValues:{},ownValue:Ie,onDone:(e,t)=>{nt(),e===`create`&&t!=null&&et(String(t))}});(0,r.useEffect)(()=>{if(!n)return;let t=!1;async function r(){try{U(!0),ae(``);let r=A?await e.wn(n,`search`,c):await e.Sr({module:n,action:c,clientId:Ie,region:Le});t||(re(Uo(A?r?.[0]:r)),A&&se(r?.[0]?.label||``))}catch(e){console.error(`Failed to fetch ${n} form groups:`,e),t||ae(e?.message||`Failed to fetch form groups`)}finally{t||U(!1)}}return r(),()=>{t=!0}},[n,c,A,Ie,Le]);let it=(0,r.useMemo)(()=>{if(!x)return null;let e=L.get(`candidateId`)||``,t=L.get(`submissionId`)||``,n=String(L.get(`isFromSubmission`))===`true`,r=I.jobId&&I.jobId!==`_`?I.jobId:L.get(`jobId`)||``,i=n&&t?{module:`submissions`,id:t}:e?{module:`candidates`,id:e}:null,a={};return e&&(a.applicantId=e),r&&(a.jobId=r),{source:i,linkage:Object.keys(a).length?a:null}},[x,L,I]);(0,r.useEffect)(()=>{let t=it?.source;if(!t)return;let n=!1;async function r(){try{Oe(!0);let r=await e.Sr({module:t.module,id:t.id});n||Ee(Uo(r))}catch(e){console.error(`Failed to fetch prefill data:`,e),n||Ee([])}finally{n||Oe(!1)}}return r(),()=>{n=!0}},[it]);let at=(0,r.useMemo)(()=>Te?Object.fromEntries(Te.filter(e=>e.addRow&&Array.isArray(e.rows)&&e.rows.length>0).map(e=>[e.payloadKey||e.name,e.rows])):{},[Te]),ot=(0,r.useMemo)(()=>Go(Te),[Te]),st=(0,r.useMemo)(()=>{let e=new Set;return X.forEach(t=>(t.fields??[]).forEach(t=>{t.prefillFromModule&&e.add(fs(t.prefillFromModule))})),[...e]},[X]),[ct,lt]=(0,r.useState)({});(0,r.useEffect)(()=>{let t=it?.linkage;if(!t||st.length===0)return;let n=!1;return st.forEach(async r=>{let i=e.T(r,t);if(i)try{let t=Go(Uo(await e.Sr({module:r,id:i})));!n&&t&&lt(e=>({...e,[r]:t}))}catch(e){console.error(`Context prefill fetch failed for ${r}:`,e)}}),()=>{n=!0}},[st,it]),(0,r.useEffect)(()=>{let t=b??ot;if(!t&&Object.keys(ct).length===0||J||X.length===0)return;let n={};X.forEach(r=>{if(r.toggleEnabled&&r.toggleField&&t){let e=Ko(t,{field:r.toggleField});e!=null&&(n[r.toggleField]=!!e)}r.addRow||(r.fields??[]).forEach(r=>{if(!r.field||Eo(r.addRow))return;let i=r.prefillFromModule?ct[fs(r.prefillFromModule)]:t;if(!i)return;let a=Ko(i,r);if(a!=null)if(r.type===`file`){let t=qo(a);t.length>0&&e.at(n,r.field,t)}else e.at(n,r.field,e.mt(r,a))})}),Object.keys(n).length>0&&R.setFieldsValue(n)},[b,ot,ct,J,X,R]),(0,r.useEffect)(()=>{let e=N?.state?.relevantSkillsToken,t=N?.state?.relevantSkillsInputs,n=t?.jobId??it?.linkage?.jobId??``,r=t?.applicantId??t?.candidateId??it?.linkage?.applicantId??``;if(!(e||t)||J||X.length===0)return;let i=X.filter(e=>Eo(e.addRow)&&e.skillMatchField);if(i.length===0)return;let a=e||`inputs:${n}:${r}`,o;if(P.current===a&&F.current?o=F.current:(o=e?eo(e):void 0,(!o||typeof o.then!=`function`)&&n&&r&&(o=to({jobId:n,applicantId:r}).catch(()=>[])),P.current=a,F.current=o),!o||typeof o.then!=`function`)return;let s=!1;return o.then(e=>{if(s||!Array.isArray(e)||e.length===0)return;let t={};i.forEach(n=>{let r=R.getFieldValue(n.name),i=Array.isArray(r)?r:[],a=new Map;i.forEach(e=>{let t=String(e?.[n.skillMatchField]??``).trim().toLowerCase();t&&!a.has(t)&&a.set(t,e)}),t[n.name]=e.map(e=>a.get(String(e).trim().toLowerCase())??{[n.skillMatchField]:e})}),Object.keys(t).length>0&&R.setFieldsValue(t)}).catch(()=>{}),()=>{s=!0}},[N?.state?.relevantSkillsToken,N?.state?.relevantSkillsInputs,it?.linkage?.jobId,it?.linkage?.applicantId,J,X,R]);let ut={...Ze&&Ie?{clientId:Ie}:{},...it?.linkage??S??{}},dt=!tt&&!J&&(!it?.source||Te!==null&&!De),ft=t=>{let n=at[t.prefillFrom||t.payloadKey||t.name],r=Math.max(0,Number(t.minRows??0)||0),i=e.xt(t);if(!n||n.length===0){let e=t.initialRows===void 0?r:Math.max(r,Math.max(0,Number(t.initialRows)||0));return Array.from({length:e},()=>({...i}))}let a=n.map(n=>{let r={...i};return(t.fields??[]).forEach(t=>{if(!t.field||t.type===`file`)return;let i=Ko(n,t);i!=null&&(r[t.field]=Eo(t.addRow)?e.gt(t,i):e.mt(t,i))}),r});for(;a.length<r;)a.push({...i});return a},pt=(0,r.useMemo)(()=>{let t={};return X.forEach(e=>{e.addRow&&(t[e.name]=ft(e))}),e.pt(Ue,t)},[X,at,Ue]),mt=e=>V(t=>({...t,[e]:!t[e]})),ht=()=>{R.resetFields(),V({}),me(`internal`),ge([])},gt=(0,r.useCallback)(async(t,r,a={})=>{if(!A)return;let o=Number(a.pageSize)>0?Number(a.pageSize):K.pageSize,s=Number(a.current),c=Number.isFinite(s)&&s>0?Math.floor(s):1;try{fe(t),ue({current:c,pageSize:o}),G(e=>({...e,loading:!0,searched:!0}));let i=ao(t?.selectedSource),a=r?oo(r,pe):i.includes(`internal`)?`internal`:oo(t?.selectedSource,pe),s={...t,selectedSource:a};console.log(`[AddFormV1] Calling searchModuleData with scope:`,a);let l=await e.Tr(n||`candidates`,s,{limit:o,offset:(c-1)*o},{scope:a});me(a),G({searched:!0,rows:l.rows,total:l.total,fields:l.fields,actions:l.actions??[],actionRules:l.actionRules??[],loading:!1}),ge(e=>fo({sources:i,activeSource:a,activeCount:l.total,responseCounts:l.counts,currentTabs:e,backendTabs:l.tabs}))}catch(e){console.error(`Search failed:`,e),i.message.error(e?.message||`Failed to search records`),G({searched:!0,rows:[],total:0,fields:[],actions:[],actionRules:[],loading:!1})}},[A,n,pe,K.pageSize]),_t=(0,r.useCallback)(async(e,t)=>{let n=vo(e,t);ve(e=>({...e,[n]:{...e[n]??{},loading:!0}}));try{let r=await yo(e,t);i.message.success(r?.message??r?.data?.message??e.successMessage??`Action completed successfully.`),ve(e=>({...e,[n]:{loading:!1,completed:!0}}))}catch(t){i.message.error(t?.message||e.errorMessage||`Action failed.`),ve(e=>({...e,[n]:{...e[n]??{},loading:!1}}))}finally{ve(e=>({...e,[n]:{...e[n]??{},loading:!1}}))}},[]),vt=(0,r.useCallback)(e=>{let t=oo(e,pe);me(t),ue({current:1,pageSize:K.pageSize}),Object.keys(de).length>0&&gt(de,t,{current:1,pageSize:K.pageSize})},[K.pageSize,de,gt,pe]),yt=(0,r.useCallback)((e,t)=>{let n=Number(t)>0?Number(t):K.pageSize,r=Number(e)>0?Number(e):1;if(Object.keys(de).length===0){ue({current:r,pageSize:n});return}gt(de,pe,{current:r,pageSize:n})},[gt,de,K.pageSize,pe]),bt=(0,r.useCallback)(e=>{let t=Number(e)>0?Number(e):K.pageSize;if(Object.keys(de).length===0){ue({current:1,pageSize:t});return}gt(de,pe,{current:1,pageSize:t})},[gt,de,K.pageSize,pe]),xt=t=>{let n=e.q(t,{uniqueRules:He});return n.length===0?!1:(R.setFields(n.map(e=>({name:e.name??e.field,errors:[e.message]}))),V({}),e.l({errorFields:n.map(e=>{let t=e.name??e.field;return{name:Array.isArray(t)?t:[t],errors:[e.message]}})},R),!0)},St=async t=>{if(A){await gt(t);return}if(y){await y(t,{moduleName:n,groups:X,extraPayload:ut??{},payload:{...ut??{},...e.ht(t,X,{module:n})}});return}if(!n){console.log(`Form values:`,t);return}try{le(!0);let r=await e.xr(n,gs(t,X,ut??{},n));if(r?.status===!1){if(xt(r))return;i.message.error(e.u(X,n,`add`,r?.error||r?.message||r?.data));return}let a=e._t(t,X,{scope:`addRow`,indexed:!0,module:n}),o=r?.id??r?.data?.id??r?.data?._id??r?._id;if(a.length>0&&o)try{await e.Ut(n,o,{...ut??{},...e.ht(t,X,{module:n})},a)}catch(e){console.error(`Document file attach (post-create update) failed:`,e),i.message.warning(`Record created, but attaching document files failed. Edit the record to re-upload.`)}let s=e._t(t,X,{module:n});if(s.length>0&&o)try{await e.Gt(n,o,s)}catch(e){console.error(`Document registry upload failed:`,e),i.message.warning(`Record created, but saving its document records failed.`)}let c=e.d(X,n,`add`);if(c&&i.message.success(c),R.resetFields(),D&&O){O(o,t);return}let l=Ge.current??e.f(X);if(!l){let e=fs(n);e===`jobs`?M(`/jobs`):e===`candidates`?M(`/candidates`):e===`onboarding`?M(`/onboarding`):e===`submission`&&M(`/submissions`)}else if(l.mode===`back`)M(-1);else if(l.mode===`route`||l.mode===`detail`){let n=e.p(l.target,o,t);n&&M(n)}}catch(t){if(console.error(`Failed to create ${n}:`,t),xt(t))return;i.message.error(e.u(X,n,`add`,t?.data?.error||t?.data?.message||t?.message))}finally{le(!1),Ge.current=null}},Ct=(t,n,r)=>{let i=t.validations??t.validation??t.rules??[];return[...i.filter(e=>(typeof e==`string`?e:e?.type)===`maxFromField`).map(t=>e.N(t,n,r)).filter(Boolean),...i.filter(e=>{let t=typeof e==`string`?e:e?.type;return[`dateAfterField`,`greaterThanField`,`strictGreaterThanField`,`strictLessThanField`,`lessThanOrEqualField`,`maxFieldWithFallback`,`dateBeforeField`,`timeAfterField`,`timeBeforeField`].includes(t)}).map(e=>String(e.value??e.compareField??e.field??``).split(`,`).map(e=>e.trim()).filter(Boolean).map(e=>es(n,e))).flat().filter(Boolean)]},wt=(e,t)=>typeof e==`function`?e(t):e,Tt=(e,t,n)=>{if(!e?.field)return!0;let r=wt(n,e.field),i=t(r==null?[e.field]:[...Array.isArray(r)?r:[r],e.field]);switch(e.operator){case`eq`:return String(i??``)===String(e.value??``);case`neq`:return String(i??``)!==String(e.value??``);case`truthy`:return i!=null&&i!==``&&i!==!1;case`falsy`:return i==null||i===``||i===!1;case`notEmpty`:return Array.isArray(i)?i.length>0:!!i;case`in`:return String(e.value??``).split(`,`).map(e=>e.trim()).includes(String(i??``));case`notIn`:return!String(e.value??``).split(`,`).map(e=>e.trim()).includes(String(i??``));default:return!0}},Et=(e,t,n)=>{if(!e)return!0;let r=Array.isArray(e.conditions)?e.conditions.filter(e=>e?.field):[];if(r.length){let i=r.map(e=>Tt(e,t,n)),a=String(e.logic??`and`).toLowerCase()===`or`,o=a?i.some(Boolean):i.every(Boolean);if(e.field){let r=Tt(e,t,n);o=a?o||r:o&&r}return o}return Tt(e,t,n)},Dt=e=>!!(e?.field||e?.conditions?.some?.(e=>e?.field)),[Ot,kt]=(0,r.useState)({}),At=e=>String(e?.field??``),jt=(0,r.useMemo)(()=>t.o(),[]),Mt=(t,a,s,c={})=>{let l=typeof t.field==`string`&&t.field.includes(`.`)?t.field.split(`.`):null,u=l??t.field,d=a===void 0?u:[a,...l??[t.field]],f=s!==void 0&&a!==void 0?[...Array.isArray(s)?s:[s],...Array.isArray(d)?d:[d]]:d,p=t.type===`checkbox`&&(t.options&&t.options.length>0||t.dataSource&&t.dataSource!==`static`),m=!p&&t.type===`checkbox`?`checked`:`value`,h=!!t.editablePermission&&!e.h(t.editablePermission,n),g=s!==void 0&&a!==void 0?[...Array.isArray(s)?s:[s],a]:null,_=e=>g&&(!c.rowFieldKeys||c.rowFieldKeys.has(e))?g:null,v=c.inline||c.hideLabel||!p&&t.type===`checkbox`?``:(0,o.jsx)(Mo,{form:R,field:t,siblingPrefix:t.labelWhen?.field?_(t.labelWhen.field):g,locked:h}),y=Ct(t,f,_),b=e.g(t),x=c.inline||t.type===`file`&&Eo(t.multiple)||t.type===`text-editor`?24:t.col??12,S=Nt(t,jt),C=a===void 0&&t.type!==`file`&&S.matched&&S.value!==void 0&&S.value!==``?S.value:a===void 0&&t.type!==`file`&&t.defaultValue!==void 0&&t.defaultValue!==``?t.defaultValue:void 0,w=(t.aiActions||[]).filter(e=>e.trigger===`click`),T=(t.aiActions||[]).find(e=>e.trigger===`upload`),E=(0,o.jsx)(i.Form.Item,{label:v,name:d,extra:t.helpText?(0,o.jsx)(xo,{type:`secondary`,className:`v1-field-help-text`,children:t.helpText}):void 0,rules:os(t,R,f,A,_,Ve),required:as(t,R,f),dependencies:y,valuePropName:m,initialValue:C,getValueFromEvent:t.type===`file`?e=>Array.isArray(e)?e:e?.fileList:void 0,validateTrigger:[`onBlur`,`onChange`],children:(0,o.jsx)(_s,{field:t,form:R,name:f,rowFieldKeys:c.rowFieldKeys,moduleName:n,scopeValues:{clientId:Ie},onAiUpload:T?e=>qe.runAction(c.groupNameForActions,t,T,e):void 0,formDisabled:qe.busy},t.refreshToken==null?void 0:`${t.field}-refresh-${t.refreshToken}`)}),D=b&&!v?(0,o.jsx)(i.Tooltip,{title:b,children:(0,o.jsx)(`span`,{className:`v1-field-tooltip-wrap`,children:E})}):E,O=w.length>0?(()=>{let n=e.et(w),r=r=>(0,o.jsx)(e.$,{position:r,actions:n[r],aiActions:qe,groupName:c.groupNameForActions,field:t},r);return(0,o.jsxs)(`div`,{className:`v1-ai-action-wrap`,children:[r(`top-left`),r(`top-center`),r(`top-right`),D,r(`bottom-left`),r(`bottom-center`),r(`bottom-right`)]})})():D,k=e=>a===void 0?e:[a,e],j=t.verifyAction?(0,o.jsxs)(o.Fragment,{children:[t.verifyResultField&&(0,o.jsx)(i.Form.Item,{name:k(t.verifyResultField),hidden:!0,noStyle:!0,children:(0,o.jsx)(i.Input,{})}),t.verifyTimestampField&&(0,o.jsx)(i.Form.Item,{name:k(t.verifyTimestampField),hidden:!0,noStyle:!0,children:(0,o.jsx)(i.Input,{})})]}):null,M=t.verifyAction?(0,o.jsxs)(`div`,{className:`v1-verify-field-row`,children:[O,(0,o.jsx)(jo,{form:R,field:t,absoluteName:f}),j]}):O,N=c.inline?{flex:`${Number(t.combineWidth)>0?Number(t.combineWidth):1} 1 0`,maxWidth:`none`}:void 0,P=t.autoFillFromApi?(0,o.jsx)(Io,{form:R,config:t.autoFillFromApi,watchPath:f},`${t.field}-autoFillFromApi`):null,F=t.prefillWhen?.length?(0,o.jsx)(Fo,{form:R,rules:t.prefillWhen,watchPaths:e.S(t.prefillWhen,f,e.F,_),targetPath:f,resetOnNoMatch:t.prefillWhenReset!==!1},`${t.field}-prefillWhen`):null;if(t.show===0)return(0,o.jsxs)(r.Fragment,{children:[F,P,(0,o.jsx)(i.Form.Item,{name:d,hidden:!0,noStyle:!0,children:(0,o.jsx)(`input`,{type:`hidden`})})]},t.field);let I=!c.inline&&e.n(t).length>0,L=n=>I?e.s(t,x,t=>n(e.r(t,_(t.field)))):x;return Dt(t.showIf)||I?(0,o.jsxs)(r.Fragment,{children:[F,P,(0,o.jsx)(i.Form.Item,{shouldUpdate:!0,noStyle:!0,children:({getFieldValue:e})=>!Dt(t.showIf)||Et(t.showIf,e,_)?(0,o.jsx)(i.Col,{xs:24,md:L(e),style:N,className:c.inline?`v1-combine-cell`:void 0,children:M}):null})]},t.field):(0,o.jsxs)(r.Fragment,{children:[F,P,(0,o.jsx)(i.Col,{xs:24,md:x,style:N,className:c.inline?`v1-combine-cell`:void 0,children:M})]},t.field)},Pt=t=>{let r=typeof t.field==`string`&&t.field.includes(`.`)?t.field.split(`.`):[t.field],s=!!t.editablePermission&&!e.h(t.editablePermission,n),c=(0,o.jsx)(ys,{field:t,label:t.label,locked:s}),l=e.St(t),u=Array.isArray(t.subFields)&&t.subFields.length>0,d=u?t.subFields.map(e=>({...e,show:1,edit:1})):null,f=Math.max(0,Number(t.minRows??0)||0),p=t.maxRows!==void 0&&t.maxRows!==``&&Number(t.maxRows)>0?Number(t.maxRows):0,m=e.gt(t,Ko(b??ot??{},t));return(0,o.jsx)(i.Col,{xs:24,md:24,children:(0,o.jsx)(i.Form.Item,{label:c,required:as(t),colon:!1,className:`v1-combine-field`,children:(0,o.jsx)(i.Form.List,{name:r,initialValue:m,rules:[{validator:async(e,n=[])=>{if(as(t)&&!(u?n.some(e=>Ho(e)):n.some(e=>e!=null&&e!==``&&!(Array.isArray(e)&&e.length===0))))throw Error(`Mandatory Field`);if(f>0&&n.length<f)throw Error(`Keep at least ${f} ${u?`row`:`value`}${f>1?`s`:``}.`)}}],children:(e,{add:s,remove:c},{errors:m})=>(0,o.jsxs)(`div`,{className:`v1-addrow-wrapper`,children:[e.map(({key:s,name:p})=>(0,o.jsxs)(`div`,{className:`v1-addrow-item`,children:[(0,o.jsx)(i.Button,{type:`text`,danger:!0,icon:(0,o.jsx)(a.DeleteOutlined,{}),onClick:()=>c(p),disabled:e.length<=f,className:`v1-addrow-delete-btn`}),(0,o.jsx)(`div`,{className:`v1-addrow-fields`,children:u?(0,o.jsx)(i.Row,{gutter:[24,0],align:`top`,children:It(d,p,r[0],!1,t.field)}):(0,o.jsx)(i.Form.Item,{name:[p],noStyle:!0,valuePropName:t.type===`checkbox`&&!t.options?.length?`checked`:`value`,getValueFromEvent:t.type===`file`?e=>Array.isArray(e)?e:e?.fileList:void 0,rules:os(l,R,[...r,p],A),children:(0,o.jsx)(_s,{field:l,form:R,name:[...r,p],moduleName:n,scopeValues:{clientId:Ie},formDisabled:qe.busy})})})]},s)),(!p||e.length<p)&&(0,o.jsx)(i.Button,{type:`link`,icon:(0,o.jsx)(a.PlusOutlined,{}),onClick:()=>s(),className:`v1-addrow-add-btn`,children:t.addLabel??`Add ${t.label??`Value`}`}),(0,o.jsx)(i.Form.ErrorList,{errors:m})]})})})},t.field)},Ft=(t,r,s)=>{let c=typeof t.field==`string`&&t.field.includes(`.`)?t.field.split(`.`):[t.field],l=!!t.editablePermission&&!e.h(t.editablePermission,n),u=(0,o.jsx)(ys,{field:t,label:t.label,locked:l}),d=e.St(t),f=Array.isArray(t.subFields)&&t.subFields.length>0,p=f?t.subFields.map(e=>({...e,show:1,edit:1})):null,m=Math.max(0,Number(t.minRows??0)||0),h=t.maxRows!==void 0&&t.maxRows!==``&&Number(t.maxRows)>0?Number(t.maxRows):0,g=[r,...c],_=[...Array.isArray(s)?s:[s],r,...c],v=e.gt(t,void 0);return(0,o.jsx)(i.Col,{xs:24,md:f?24:t.col??24,children:(0,o.jsx)(i.Form.Item,{label:u,required:as(t),colon:!1,className:`v1-combine-field`,children:(0,o.jsx)(i.Form.List,{name:g,initialValue:v,rules:f?[{validator:async(e,n=[])=>{if(as(t)&&!n.some(e=>Ho(e)))throw Error(`Mandatory Field`);if(m>0&&n.length<m)throw Error(`Keep at least ${m} row${m>1?`s`:``}.`)}}]:[],children:(e,{add:r,remove:s},{errors:c})=>(0,o.jsxs)(`div`,{className:`v1-addrow-wrapper`,children:[e.map(({key:r,name:c})=>{let l=[..._,c];return(0,o.jsxs)(`div`,{className:`v1-addrow-item`,children:[(0,o.jsx)(i.Button,{type:`text`,danger:!0,icon:(0,o.jsx)(a.DeleteOutlined,{}),onClick:()=>s(c),disabled:e.length<=m,className:`v1-addrow-delete-btn`}),(0,o.jsx)(`div`,{className:`v1-addrow-fields`,children:f?(0,o.jsx)(i.Row,{gutter:[24,0],align:`top`,children:It(p,c,_,!1,t.field)}):(0,o.jsx)(i.Form.Item,{name:[c],noStyle:!0,valuePropName:t.type===`checkbox`&&!t.options?.length?`checked`:`value`,getValueFromEvent:t.type===`file`?e=>Array.isArray(e)?e:e?.fileList:void 0,rules:os(d,R,l,A),children:(0,o.jsx)(_s,{field:d,form:R,name:l,moduleName:n,scopeValues:{clientId:Ie},formDisabled:qe.busy})})})]},r)}),(!h||e.length<h)&&(0,o.jsx)(i.Button,{type:`link`,icon:(0,o.jsx)(a.PlusOutlined,{}),onClick:()=>r(),className:`v1-addrow-add-btn`,children:t.addLabel??`Add ${t.label??`Value`}`}),(0,o.jsx)(i.Form.ErrorList,{errors:c})]})})})},`${s}-${r}-${t.field}`)},It=(e,t,n,r=!1,a)=>{let s=new Set,c=[],l=new Set(e.map(e=>e.field).filter(Boolean)),u=e.filter(e=>e.show===void 0||Eo(e.show)||e.show===0&&!!e.prefillWhen?.length);return u.forEach(e=>{if(Eo(e.addRow)&&t===void 0){c.push(Pt(e));return}if(Eo(e.addRow)&&t!==void 0){c.push(Ft(e,t,n));return}let d=e.combineKey?.trim?.();if(!d){c.push(Mt(e,t,n,{hideLabel:r,groupNameForActions:a,rowFieldKeys:l}));return}let f=`${n??`root`}:${t??`root`}:${d}`;if(s.has(f))return;let p=u.filter(e=>e.combineKey===d);p.forEach(e=>s.add(`${n??`root`}:${t??`root`}:${e.combineKey}`));let m=p.find(e=>e.combineLabel)??e,h=n!==void 0&&t!==void 0?[...Array.isArray(n)?n:[n],t]:null,g=(0,o.jsx)(Mo,{form:R,field:m,siblingPrefix:h,combined:!0}),_=p.find(e=>e.combineToggleTarget)?.combineToggleTarget,v=p.find(e=>e.combineToggleLabel)?.combineToggleLabel??`Show range`,y=f,b=p.some(e=>Eo(e.combineWrap)),x=Number(p.find(e=>[12,24].includes(Number(e.combineSpan)))?.combineSpan),S=_?p.find(e=>At(e)===_):null,C=S?.field?.includes?.(`.`)?S.field.split(`.`):[S?.field].filter(Boolean),w=S?n!==void 0&&t!==void 0?[n,t,...C]:C.length>1?C:S.field:null,T=p.some(e=>as(e)),E=[12,24].includes(x)?x:p.length>=3?24:12,D=e=>h&&(!l||l.has(e))?h:null,O=p.some(e=>Dt(e.showIf)),k=e=>p.some(t=>!Dt(t.showIf)||Et(t.showIf,e,D)),A=(0,o.jsx)(i.Col,{xs:24,md:E,children:(0,o.jsx)(i.Form.Item,{label:g,required:T,colon:!1,className:`v1-combine-field`,children:(0,o.jsx)(i.Form.Item,{noStyle:!0,shouldUpdate:!0,children:({getFieldValue:e})=>{let r=w?!Jo(e(w)):!1,a=Ot[y]??r,s=_&&!a?p.filter(e=>At(e)!==_):p;return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(i.Row,{gutter:[8,0],align:`top`,wrap:b,className:`v1-combine-row${b?` v1-combine-row-wrap`:``}`,children:s.map(e=>Mt(T?{...e,req:1}:e,t,n,{inline:!0}))}),_&&(0,o.jsxs)(`div`,{className:`v1-combine-range`,children:[(0,o.jsx)(i.Switch,{size:`small`,checked:a,onChange:e=>{!e&&w&&(R.setFieldValue(w,void 0),R.validateFields([w]).catch(()=>{})),kt(t=>({...t,[y]:e}))}}),(0,o.jsx)(xo,{type:`secondary`,className:`v1-combine-toggle-label`,children:v})]})]})}})})},f);c.push(O?(0,o.jsx)(i.Form.Item,{shouldUpdate:!0,noStyle:!0,children:({getFieldValue:e})=>k(e)?A:null},f):A)}),c},Lt=(0,r.useMemo)(()=>{if(W.fields?.length)return W.fields;let e=W.rows[0];return e?Object.keys(e).filter(t=>!t.startsWith(`_`)&&typeof e[t]!=`object`).map(e=>({value:e,field:e,label:e.replace(/([A-Z])/g,` $1`).replace(/^./,e=>e.toUpperCase()),isVisible:!0})):[]},[W.fields,W.rows]),Rt=e=>!Array.isArray(e)||e.length===0?`card`:e.some(e=>[e?.sourceType,e?.profileSource,e?.selectedSource,e?.customFields?.sourceType,e?.customFields?.profileSource].some(e=>{if(e==null)return!1;let t=String(e).trim().toLowerCase();return t?![`all`,`internal`].includes(t):!1}))?`list`:`card`;(0,r.useMemo)(()=>Rt(W.rows),[W.rows]);let zt=(0,r.useMemo)(()=>{let e=go({rows:W.rows,selectedSource:pe});if(!e.length)return Lt;let t=new Set(e.map(e=>e.field));return[...Lt.filter(e=>e.cardRole!==`action`&&!t.has(e.value)),...e.map(e=>({value:e.field,field:e.field,label:e.label??`Action`,cardRole:`action`,isVisible:!0,tableHidden:!0,sorter:!1,render:(t,n)=>{if(!_o(e,n,pe))return null;let r=vo(e,n),a=_e[r]??{},s=!r||a.completed;return(0,o.jsx)(i.Button,{type:`primary`,size:`small`,loading:a.loading,disabled:s,onClick:()=>_t(e,n),children:a.completed?e.completedLabel:e.buttonLabel})}}))]},[_t,Lt,W.rows,pe,_e]),Bt=(0,r.useMemo)(()=>{if(!E)return W.actions;let e=t=>({...t,popupState:{...E,...t.popupState},...t.children?{children:t.children.map(e)}:{}});return(W.actions??[]).map(e)},[W.actions,E]),Vt=t=>{let n=t.name??t.id??``,r=e.ft(Ue,n),s=!!r&&r.leaderName!==n,c=r?X.find(e=>e.name===r.leaderName)??t:t,l=Math.max(0,Number(c.minRows??0)||0),u=Math.max(0,Number(c.maxRows??0)||0),d=r?r.memberNames:[n],f=()=>{d.forEach(n=>{let r=X.find(e=>e.name===n)??t;We.current[n]?.add(e.xt(r))})},p=e=>{d.forEach(t=>We.current[t]?.remove(e))};return t.addRow?(0,o.jsx)(i.Form.List,{name:n,initialValue:pt[n]??[],rules:s?[]:[{validator:async(e,n=[])=>{if(!(Eo(t.toggleEnabled)&&t.toggleField&&R.getFieldValue(t.toggleField))){if(l>0&&n.length<l)throw Error(`Keep at least ${l} row${l>1?`s`:``}.`);if(Eo(t.requireOne)&&n.some(e=>!Ho(e)))throw Error(`Fill at least one field in each added row.`)}}}],children:(e,{add:r,remove:d},{errors:m})=>(We.current[n]={add:r,remove:d},(0,o.jsxs)(`div`,{className:`v1-addrow-wrapper`,children:[(0,o.jsx)(`div`,{className:`v1-addrow-topbar`,children:s?(0,o.jsxs)(xo,{type:`secondary`,className:`v1-addrow-linked-hint`,children:[`Rows added via `,c.label??c.name]}):(!u||e.length<u)&&(0,o.jsx)(i.Button,{type:`link`,icon:(0,o.jsx)(a.PlusOutlined,{}),onClick:f,className:`v1-addrow-add-btn`,children:t.addLabel??`Add ${t.label??`Row`}`})}),Eo(t.sharedRowLabels)&&e.length>0&&(0,o.jsx)(i.Row,{gutter:[24,0],className:`v1-addrow-header`,children:t.fields.filter(e=>e.show===void 0||Eo(e.show)).map(e=>(0,o.jsx)(i.Col,{md:e.col??12,className:`v1-addrow-header-label`,children:e.label},At(e)))}),e.map(({key:r,name:s})=>(0,o.jsxs)(`div`,{className:`v1-addrow-item`,children:[(0,o.jsx)(i.Button,{type:`text`,danger:!0,icon:(0,o.jsx)(a.DeleteOutlined,{}),onClick:()=>p(s),disabled:e.length<=l,className:`v1-addrow-delete-btn`}),(0,o.jsx)(`div`,{className:`v1-addrow-fields`,children:(0,o.jsx)(i.Row,{gutter:[24,0],align:`top`,children:It(t.fields,s,n,Eo(t.sharedRowLabels),n)})})]},r)),(0,o.jsx)(i.Form.ErrorList,{errors:m})]}))}):(0,o.jsx)(i.Row,{gutter:[24,0],children:It(t.fields,void 0,void 0,!1,n)})},Ht=e=>X.filter(t=>t!==e&&t.mergeInto&&String(t.mergeInto)===String(e.name)),Ut=e=>!!(e.mergeInto&&X.some(t=>t!==e&&String(t.name)===String(e.mergeInto))),Wt=(e,t)=>{let n=e.name??e.id??String(t),r=Vt(e),s=Ht(e);return(0,o.jsx)(i.Card,{className:`v1-card v1-edit-card`,title:(0,o.jsx)(vs,{icon:wo[t%wo.length],title:A?oe||e.label:e.label??e.name??`Details`}),extra:(0,o.jsxs)(i.Space,{size:8,align:`center`,className:`v1-group-actions`,children:[(0,o.jsx)(bs,{group:e}),(0,o.jsx)(xs,{group:e}),(0,o.jsx)(i.Button,{type:`text`,size:`small`,icon:te[n]?(0,o.jsx)(a.DownOutlined,{}):(0,o.jsx)(a.UpOutlined,{}),onClick:e=>{e.stopPropagation(),mt(n)}})]}),children:(0,o.jsx)(i.Form.Item,{noStyle:!0,shouldUpdate:!0,children:({getFieldValue:t})=>{let i=Eo(e.toggleEnabled)&&e.toggleField&&!!t(e.toggleField);return(0,o.jsxs)(`div`,{style:{display:te[n]||i?`none`:`block`},children:[r,s.map(e=>{let t=(0,o.jsxs)(`div`,{className:`v1-merged-group`,children:[(0,o.jsx)(`div`,{className:`v1-merged-group-title`,children:e.label??e.name}),Vt(e)]},e.name);return e.showIf?.field?(0,o.jsx)(Ro,{form:R,showIf:e.showIf,render:()=>t},e.name):t})]})}})},n)};return(0,o.jsxs)(`main`,{children:[h.length>0&&(0,o.jsx)(e.t,{items:h}),(0,o.jsxs)(`div`,{className:`v1-edit-page`,children:[Ze&&!C&&!Y&&(0,o.jsx)(i.Card,{className:`v1-card v1-edit-card v1-client-gate-card`,children:(0,o.jsxs)(i.Space,{direction:`vertical`,size:12,style:{width:`100%`},children:[(0,o.jsx)(vs,{icon:(0,o.jsx)(a.UserOutlined,{}),title:`Select Client`}),Qe&&(0,o.jsx)(xo,{type:`secondary`,children:Qe}),(0,o.jsx)(i.Row,{gutter:[16,0],children:(0,o.jsxs)(i.Col,{xs:24,md:14,children:[(0,o.jsx)(i.Select,{showSearch:!0,allowClear:!0,placeholder:`Select client`,style:{width:`100%`},value:Ie||void 0,optionFilterProp:`label`,options:ye.map(e=>({value:e._id??e.id,label:e.clientName??e.name??e.clientRefrenceId??e._id})).filter(e=>e.value),onChange:et,dropdownRender:rt.footer?e=>(0,o.jsxs)(o.Fragment,{children:[e,rt.footer]}):void 0}),rt.modal]})})]})}),(0,o.jsx)(`div`,{className:`v1-page-inner`,children:(0,o.jsx)(i.Spin,{spinning:!dt&&!tt||qe.busy,description:qe.busy?`Running AI action…`:`Loading form fields...`,children:(0,o.jsxs)(i.Form,{form:R,layout:`vertical`,colon:!1,className:`v1-form`,disabled:qe.busy,requiredMark:(e,{required:t})=>(0,o.jsxs)(o.Fragment,{children:[e,t&&(0,o.jsx)(`span`,{className:`v1-required-mark`,children:` *`})]}),onFinish:St,onFinishFailed:t=>{V({}),e.l(t,R)},children:[dt&&X.filter(e=>!Ut(e)).map((e,t)=>(0,o.jsx)(Bo,{form:R,group:e,children:e.showIf?.field?(0,o.jsx)(Ro,{form:R,showIf:e.showIf,render:()=>Wt(e,t)}):Wt(e,t)},e.name??`grp-${t}`)),dt&&!Ne&&X.length===0&&(0,o.jsx)(i.Alert,{type:`info`,showIcon:!0,message:A?`No search configuration found.`:`No form fields are configured.`}),dt&&A&&(0,o.jsx)(`div`,{className:`v1-search-form-actions`,children:(0,o.jsxs)(i.Space,{size:12,children:[(0,o.jsx)(i.Button,{onClick:ht,disabled:!X.length,children:`Reset`}),(0,o.jsx)(i.Button,{onClick:()=>M(v),children:`Back`}),(0,o.jsx)(i.Button,{type:`primary`,htmlType:`submit`,disabled:ce||!X.length||Xe,loading:ce,children:j})]})})]})})}),!A&&(0,o.jsxs)(`div`,{className:D?`v1-footer v1-footer--embedded`:`v1-footer`,children:[(0,o.jsx)(xo,{type:`secondary`,children:`All Unsaved Changes will be lost if you cancel and reload.`}),(0,o.jsxs)(i.Space,{size:12,children:[(0,o.jsx)(i.Button,{onClick:()=>D&&k?k():M(v),children:`Cancel`}),Ke.map((e,t)=>(0,o.jsx)(No,{form:R,groups:X,action:e,disabled:!dt||ce||Re>0||!X.length,loading:ce,onFire:()=>{Ge.current=e.afterSubmit??{mode:`stay`},e.setValuesBeforeSubmit&&R.setFieldsValue(e.setValuesBeforeSubmit),R.submit()}},`${e.label??`action`}-${t}`)),(0,o.jsx)(Po,{form:R,groups:X,onClick:()=>{Ge.current=null,R.submit()},disabled:!dt||ce||Re>0||!X.length,loading:ce,children:j})]})]}),A&&W.searched&&(0,o.jsx)(Xa,{moduleName:n,breadcrumbItems:[],dataSource:W.rows,fields:zt,total:W.total,loading:W.loading,current:K.current,pageSize:K.pageSize,showViewToggle:!0,activeView:Je,onViewChange:Ye,onPageChange:yt,onPageSizeChange:bt,showSearch:!1,tabs:he,selectedSource:pe,onTabChange:vt,actions:Bt,actionRules:W.actionRules})]})]})}function Cs({className:e=``,variant:t=`default`,showIcon:n=!0,...r}){return(0,o.jsx)(i.Alert,{className:`app-alert app-alert--${t} ${e}`.trim(),showIcon:n,...r})}function ws(e){let t=e=>new Date(e.getFullYear(),e.getMonth(),e.getDate()),n=Math.round((t(new Date)-t(e))/864e5);return n<=0?`Today`:n===1?`1 Day ago`:`${n} Days ago`}function Ts(e=[],t){let n=new Map;return e.forEach(e=>{let r=new Date(t(e));if(Number.isNaN(r.getTime()))return;let i=r.toDateString();n.has(i)||n.set(i,{date:r,items:[]}),n.get(i).items.push(e)}),[...n.values()].sort((e,t)=>t.date-e.date)}function Es(e){return new Date(e).toLocaleDateString(`en-US`,{year:`numeric`,month:`long`,day:`numeric`})}function Ds(e){return new Date(e).toLocaleDateString(`en-US`,{year:`numeric`,month:`short`,day:`numeric`})}function Os(e){return new Date(e).toLocaleTimeString(`en-US`,{hour:`numeric`,minute:`numeric`,hour12:!0})}function ks({row:e,last:t,getTime:n,getAuthor:r,getMeta:i,renderBody:a}){let s=n(e),c=r?.(e),l=i?.(e);return(0,o.jsxs)(`div`,{className:`znx-an-item`,children:[(0,o.jsxs)(`div`,{className:`znx-an-rail`,children:[l?(0,o.jsx)(`span`,{className:`znx-an-icon-dot znx-an-icon-dot--${l.tone}`,title:l.label,children:l.icon}):(0,o.jsx)(`span`,{className:`znx-an-dot`}),!t&&(0,o.jsx)(`span`,{className:`znx-an-line`})]}),(0,o.jsxs)(`div`,{className:`znx-an-content`,children:[a(e),(0,o.jsxs)(`div`,{className:`znx-an-meta`,title:`${Es(s)} at ${Os(s)}`,children:[c&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(`span`,{className:`znx-an-author`,children:c}),(0,o.jsx)(`span`,{className:`znx-an-sep`,"aria-hidden":`true`})]}),(0,o.jsx)(`span`,{className:`znx-an-time`,children:Os(s)}),(0,o.jsx)(`span`,{className:`znx-an-sep`,"aria-hidden":`true`}),(0,o.jsx)(`span`,{className:`znx-an-date`,children:Ds(s)})]})]})]})}function As({rows:e=[],getTime:t,getKey:n,getAuthor:r,getMeta:a,renderBody:s,emptyText:c=`Nothing here yet.`,grouped:l=!0}){if(!l)return e.length?(0,o.jsx)(`div`,{className:`znx-an-flat`,children:e.map((i,c)=>(0,o.jsx)(ks,{row:i,last:c===e.length-1,getTime:t,getAuthor:r,getMeta:a,renderBody:s},n(i,c)))}):(0,o.jsx)(`div`,{className:`znx-an-empty`,children:(0,o.jsx)(i.Empty,{image:i.Empty.PRESENTED_IMAGE_SIMPLE,description:c})});let u=Ts(e,t);return u.length?(0,o.jsx)(i.Collapse,{className:`znx-an-collapse`,defaultActiveKey:[`0`],ghost:!0,items:u.map((e,i)=>({key:String(i),label:(0,o.jsxs)(`span`,{className:`znx-an-group`,children:[(0,o.jsx)(`span`,{className:`znx-an-group-day`,children:ws(e.date)}),(0,o.jsx)(`span`,{className:`znx-an-group-date`,children:Ds(e.date)}),(0,o.jsx)(`span`,{className:`znx-an-group-count`,children:e.items.length})]}),children:e.items.map((i,c)=>(0,o.jsx)(ks,{row:i,last:c===e.items.length-1,getTime:t,getAuthor:r,getMeta:a,renderBody:s},n(i,c)))}))}):(0,o.jsx)(`div`,{className:`znx-an-empty`,children:(0,o.jsx)(i.Empty,{image:i.Empty.PRESENTED_IMAGE_SIMPLE,description:c})})}var js={add:`created`,create:`created`,created:`created`,update:`updated`,updated:`updated`,edit:`updated`,edited:`updated`,update_log:`updated`,update_proof:`updated`,notes:`note`,note:`note`,comment:`note`,assign:`assigned`,assigned:`assigned`,assignment:`assigned`,reassign:`assigned`,reassigned:`assigned`,submit:`submitted`,submitted:`submitted`,submission:`submitted`,"internal submission":`submitted`,send_for_approval:`sendForApproval`,"send for approval":`sendForApproval`,sendforapproval:`sendForApproval`,resubmit:`resubmitted`,resubmitted:`resubmitted`,resent_for_approval:`resent`,reject:`rejected`,rejected:`rejected`,reject_days:`rejected`,declined:`rejected`,decline:`rejected`,approve:`approved`,approved:`approved`,approve_days:`approved`,reopen:`reopened`,reopened:`reopened`,delete:`deleted`,deleted:`deleted`,remove:`deleted`,removed:`deleted`,status:`status`,"status change":`status`,statuschange:`status`,document:`document`,documents:`document`,upload:`document`,uploaded:`document`,attachment:`document`},Ms={created:{tone:`success`,icon:(0,o.jsx)(a.PlusOutlined,{}),label:`Created`},updated:{tone:`info`,icon:(0,o.jsx)(a.EditOutlined,{}),label:`Updated`},note:{tone:`neutral`,icon:(0,o.jsx)(a.MessageOutlined,{}),label:`Note`},assigned:{tone:`purple`,icon:(0,o.jsx)(a.UserSwitchOutlined,{}),label:`Assigned`},submitted:{tone:`info`,icon:(0,o.jsx)(a.SendOutlined,{}),label:`Submitted`},sendForApproval:{tone:`info`,icon:(0,o.jsx)(a.SendOutlined,{}),label:`Send for Approval`},resubmitted:{tone:`purple`,icon:(0,o.jsx)(a.RedoOutlined,{}),label:`Re-submitted`},resent:{tone:`purple`,icon:(0,o.jsx)(a.RedoOutlined,{}),label:`Resend for Approval`},approved:{tone:`success`,icon:(0,o.jsx)(a.CheckOutlined,{}),label:`Approved`},rejected:{tone:`danger`,icon:(0,o.jsx)(a.CloseOutlined,{}),label:`Rejected`},reopened:{tone:`neutral`,icon:(0,o.jsx)(a.UndoOutlined,{}),label:`Reopened`},deleted:{tone:`danger`,icon:(0,o.jsx)(a.DeleteOutlined,{}),label:`Deleted`},status:{tone:`warning`,icon:(0,o.jsx)(a.SwapOutlined,{}),label:`Status changed`},document:{tone:`info`,icon:(0,o.jsx)(a.PaperClipOutlined,{}),label:`Document`},scheduled:{tone:`warning`,icon:(0,o.jsx)(a.ClockCircleOutlined,{}),label:`Scheduled`},default:{tone:`neutral`,icon:(0,o.jsx)(a.HistoryOutlined,{}),label:`Activity`}},Ns=[[/\b(?:submitted|sent|send)\b[\s\S]*\b(?:cfo|finance)\b[\s\S]*\bfor approval\b/i,`sendForApproval`],[/\bsend(?:ing)?\s+for\s+approval\b/i,`sendForApproval`],[/\breject/i,`rejected`],[/\bresent\b/i,`resent`],[/\bresubmit/i,`resubmitted`],[/\bapprov/i,`approved`],[/\bsubmit/i,`submitted`],[/\breassign|\bassign/i,`assigned`],[/\bdelete|\bremov/i,`deleted`],[/\breopen/i,`reopened`],[/\bstatus/i,`status`],[/\bdocument|\battach|\bupload/i,`document`],[/\bnote/i,`note`],[/\bupdat|\bchang|\bedit/i,`updated`],[/\bcreat|\badded\b/i,`created`]];function Ps(e,t){let n=String(e||``).trim().toLowerCase();if(n&&js[n])return js[n];let r=String(t||``);for(let[e,t]of Ns)if(e.test(r))return t;return`default`}function Fs(e={},t=``){return Ms[Ps(e.activityType??e.activity_type??e.type??e.action,t||e.activityComments)]??Ms.default}function Is(e=``){if(typeof document>`u`)return String(e);let t=document.createElement(`div`);return t.innerHTML=e,t.textContent||t.innerText||``}var Ls=[{id:`a1`,activityTime:new Date().toISOString(),activityComments:`Job <b>created</b> and assigned to the recruitment team.`},{id:`a2`,activityTime:new Date(Date.now()-2*864e5).toISOString(),activityComments:`Status changed to <b>Active</b>.`}];function Rs({activity:e,grouped:t=!0}){return(0,o.jsx)(`div`,{className:`znx-an-body`,children:(0,o.jsx)(`div`,{className:`znx-an-scroll`,children:(0,o.jsx)(As,{rows:(0,r.useMemo)(()=>Array.isArray(e)?e:Ls,[e]),grouped:t,getTime:e=>e.activityTime??e.createdAt,getKey:(e,t)=>e.id??e._id??t,emptyText:`No activity here.`,getMeta:e=>Fs(e,e.activityComments),renderBody:e=>{let t=Fs(e,e.activityComments);return(0,o.jsxs)(`div`,{className:`znx-an-comment`,children:[(0,o.jsx)(`span`,{className:`znx-an-tag znx-an-tag--${t.tone}`,children:t.label}),Is(e.activityComments)]})}})})})}function zs(e){let t=e?.user_name??e?.userName??e?.username,n=`${e?.first_name??e?.firstName??``} ${e?.last_name??e?.lastName??``}`.trim(),r=e?.email??``,i=t??n.replace(/\s+/g,``)??r??String(e?.user_id??e?.id??``),a=[t,n,r].filter(Boolean).join(` - `)||String(i);return{value:String(i),label:a}}var Bs=[{id:`n1`,createdAt:new Date().toISOString(),author:`You`,notes:`Shortlisted 3 candidates, sharing profiles with @Hiring Manager today.`}];function Vs(e=``){return e.split(/(\s+)/).map((e,t)=>e.startsWith(`@`)&&e.length>1?(0,o.jsx)(`span`,{className:`znx-an-mention`,children:e},t):(0,o.jsx)(`span`,{children:e},t))}function Hs({notes:e,users:t=[],onAddNote:n}){let[a]=i.Form.useForm(),[s,c]=(0,r.useState)(()=>Array.isArray(e)?e:Bs),[l,u]=(0,r.useState)(!1),[d,f]=(0,r.useState)(null),[p,m]=(0,r.useState)(!1),h=(0,r.useRef)(null),g=Array.isArray(e)?e:s,_=(0,r.useMemo)(()=>t.map(e=>({value:e.display??e.value,label:e.display??e.label})),[t]),v=d??_;return(0,o.jsxs)(`div`,{className:`znx-an-body`,children:[(0,o.jsxs)(i.Form,{form:a,onFinish:async({note:e})=>{let t=(e??``).trim();if(t){u(!0);try{n?await n(t):c(e=>[{id:`local-${Date.now()}`,createdAt:new Date().toISOString(),author:`You`,notes:t},...e]),a.resetFields(),i.message.success(`Notes added successfully`)}catch{i.message.error(`Something went wrong, please try again.`)}finally{u(!1)}}},className:`znx-an-composer`,children:[(0,o.jsx)(i.Form.Item,{name:`note`,rules:[{required:!0,message:`Notes is required`}],style:{marginBottom:0},children:(0,o.jsx)(i.Mentions,{rows:3,prefix:`@`,options:v,loading:p,filterOption:!1,onSearch:e=>{clearTimeout(h.current),m(!0),h.current=setTimeout(()=>{_n(e).then(e=>{f((Array.isArray(e)?e:e?.items??e?.list??e?.data??[]).map(zs))}).catch(()=>f([])).finally(()=>m(!1))},300)},placeholder:`Add your notes on the job, use '@' to mention`})}),(0,o.jsx)(`div`,{className:`znx-an-composer-actions`,children:(0,o.jsx)(i.Button,{type:`primary`,size:`small`,htmlType:`submit`,loading:l,children:`Post`})})]}),(0,o.jsx)(`div`,{className:`znx-an-scroll`,children:(0,o.jsx)(As,{rows:g,getTime:e=>e.createdAt??e.activityTime,getKey:(e,t)=>e.id??e._id??t,getAuthor:e=>e.author,emptyText:`No notes here.`,renderBody:e=>(0,o.jsx)(`div`,{className:`znx-an-comment`,children:Vs(e.notes)})})})]})}function Us({moduleName:t,id:n,users:a=[],showActivity:s=!0,showNotes:c=!0,defaultActiveKey:l=`activity`,refreshKey:u=0,className:d=``}){let[f,p]=(0,r.useState)(null),[m,h]=(0,r.useState)(null);(0,r.useEffect)(()=>{if(!t||!n)return;let r=!1;async function i(){let[i,a]=await Promise.all([s?e.Rt(t,n).catch(()=>[]):Promise.resolve(null),c?e.Vt(n).catch(()=>[]):Promise.resolve(null)]);r||(p(i),h(a))}return i(),()=>{r=!0}},[t,n,s,c,u]);let g=(0,r.useCallback)(async r=>{if(!n)return;await e.Lt({relatedId:n,notes:r,notesFor:t});let[i,a]=await Promise.all([e.Vt(n).catch(()=>[]),s?e.Rt(t,n).catch(()=>[]):Promise.resolve(f)]);h(i),s&&p(a)},[n,t,s,f]),_=[s&&{key:`activity`,title:`Activity`,count:Array.isArray(f)?f.length:void 0,children:(0,o.jsx)(Rs,{activity:f})},c&&{key:`notes`,title:`Notes`,count:Array.isArray(m)?m.length:void 0,children:(0,o.jsx)(Hs,{notes:m,users:a,onAddNote:n?g:void 0})}].filter(Boolean),[v,y]=(0,r.useState)(_.some(e=>e.key===l)?l:_[0]?.key);return(0,o.jsx)(i.Card,{className:[`znx-an-card`,d].filter(Boolean).join(` `),styles:{body:{padding:0}},children:(0,o.jsx)(j,{className:`znx-an-tabs`,tabs:_,activeKey:v,onChange:y})})}Us.propTypes={moduleName:l.default.string,id:l.default.string,users:l.default.array,showActivity:l.default.bool,showNotes:l.default.bool,defaultActiveKey:l.default.string,refreshKey:l.default.oneOfType([l.default.number,l.default.string]),className:l.default.string};function Ws({assignees:e,extraAssignees:t}){return(0,o.jsxs)(i.Avatar.Group,{maxCount:3,size:`small`,children:[e.map((e,t)=>(0,o.jsx)(i.Tooltip,{title:e.initials,children:(0,o.jsx)(i.Avatar,{size:`small`,style:{backgroundColor:e.color,fontSize:10,fontWeight:600,cursor:`default`},children:e.initials})},t)),t>0&&(0,o.jsxs)(i.Avatar,{size:`small`,style:{backgroundColor:`#d9d9d9`,color:`#555`,fontSize:10},children:[`+`,t]})]})}var Gs=[`.xlsx`,`.xls`,`.csv`],Ks=10,qs={".xlsx":[`application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`],".xls":[`application/vnd.ms-excel`],".csv":[`text/csv`,`application/csv`,`text/plain`]},Js=[{test:(e,t)=>e===`.pdf`||t===`application/pdf`,label:`PDF`},{test:(e,t)=>t.startsWith(`image/`)||[`.jpg`,`.jpeg`,`.png`,`.gif`,`.webp`,`.heic`,`.bmp`,`.svg`].includes(e),label:`Image`},{test:e=>[`.doc`,`.docx`].includes(e),label:`Word document`},{test:e=>[`.zip`,`.rar`,`.7z`].includes(e),label:`Archive`},{test:e=>[`.txt`,`.json`,`.xml`].includes(e),label:`Plain text`}];function Ys(e=``){let t=e.lastIndexOf(`.`);return t===-1?``:e.slice(t).toLowerCase()}function Xs(e=0){return e<1024?`${e} B`:e<1024*1024?`${Math.ceil(e/1024)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}function Zs(e=Gs){let t=e.map(e=>e.toLowerCase());return t.concat(t.flatMap(e=>qs[e]??[])).join(`,`)}function Qs(e,{accept:t=Gs,maxSizeMB:n=10}={}){if(!e)return`No file selected.`;let r=Ys(e.name),i=(e.type||``).toLowerCase(),a=t.map(e=>e.toLowerCase()),o=a.join(`, `);if(!r)return`"${e.name}" has no file extension. Only ${o} files are allowed.`;if(!a.includes(r)){let e=Js.find(e=>e.test(r,i));return e?`${e.label} files are not supported. Only ${o} files are allowed.`:`"${r}" files are not supported. Only ${o} files are allowed.`}let s=qs[r];return i&&s&&!s.includes(i)?`"${e.name}" is not a real ${r} file (detected ${i}). Re-save it from Excel and try again.`:e.size===0?`"${e.name}" is empty. Fill in at least one row before uploading.`:e.size>n*1024*1024?`File is ${Xs(e.size)}. The limit is ${n} MB.`:null}function $s(){return(0,o.jsxs)(`svg`,{className:`bulk-upload-art`,viewBox:`0 0 72 72`,focusable:`false`,"aria-hidden":`true`,children:[(0,o.jsx)(`rect`,{x:`12`,y:`6`,width:`36`,height:`48`,rx:`5`,className:`bulk-upload-art__sheet`}),(0,o.jsx)(`path`,{d:`M20 20h20M20 28h20M20 36h12`,className:`bulk-upload-art__lines`}),(0,o.jsx)(`circle`,{cx:`50`,cy:`48`,r:`15`,className:`bulk-upload-art__badge`}),(0,o.jsx)(`path`,{d:`M50 55V41m0 0-6 6m6-6 6 6`,className:`bulk-upload-art__arrow`})]})}function ec({title:t,description:n,breadcrumbItems:c,backTo:l,backLabel:u=`Back`,templateLabel:d=`Download Sample Template`,templateTitle:f=`Sample template`,templateHint:p=`Pre-filled with the exact column names the importer expects. Do not rename or reorder the columns.`,instructions:m=[],accept:h=Gs,maxSizeMB:g=10,onDownloadTemplate:_,onUpload:v,renderResult:y,extraSidebar:b}){let x=(0,r.useRef)(null),[S,C]=(0,r.useState)(!1),[w,T]=(0,r.useState)(!1),[E,D]=(0,r.useState)(!1),[O,k]=(0,r.useState)(null),[A,j]=(0,r.useState)(null),[M,N]=(0,r.useState)(null),[P,F]=(0,r.useState)(0),I=(0,r.useMemo)(()=>h.map(e=>e.toLowerCase()),[h]),L=(0,r.useMemo)(()=>Zs(I),[I]),R=(0,r.useCallback)(()=>{k(null),j(null),N(null),C(!1),F(e=>e+1)},[]),z=(0,r.useCallback)(async()=>{if(_){T(!0);try{await _(),i.message.success(`Sample template downloaded.`)}catch(e){i.message.error(e?.message||`Could not download the template.`)}finally{T(!1)}}},[_]),B=(0,r.useCallback)(async e=>{if(!e||E)return;F(e=>e+1);let t=Qs(e,{accept:I,maxSizeMB:g});if(t){k(null),N(null),j(t);return}j(null),N(null),k({name:e.name,size:e.size}),D(!0);try{N(await v(e))}catch(e){j(e?.message||`Upload failed. Please try again.`)}finally{D(!1)}},[I,g,v,E]),ee=()=>{E||x.current?.click()},te=[`bulk-upload-dropzone`,S?`is-dragging`:``,E?`is-busy`:``,A?`is-error`:``,M&&!A?`is-done`:``].filter(Boolean).join(` `);return(0,o.jsxs)(`div`,{className:`bulk-upload-panel`,children:[c?.length?(0,o.jsx)(`div`,{className:`bulk-upload-breadcrumb`,children:(0,o.jsx)(e.t,{items:c})}):null,(0,o.jsxs)(`div`,{className:`bulk-upload-frame`,children:[(0,o.jsxs)(`header`,{className:`bulk-upload-header`,children:[(0,o.jsx)(`div`,{className:`bulk-upload-header__icon`,"aria-hidden":`true`,children:(0,o.jsx)(a.FileExcelOutlined,{})}),(0,o.jsxs)(`div`,{className:`bulk-upload-header__text`,children:[(0,o.jsx)(`h1`,{className:`bulk-upload-header__title`,children:t}),n?(0,o.jsx)(`p`,{className:`bulk-upload-header__desc`,children:n}):null]}),l?(0,o.jsx)(s.Link,{className:`bulk-upload-header__back`,to:l,children:(0,o.jsx)(i.Button,{type:`text`,icon:(0,o.jsx)(a.ArrowLeftOutlined,{}),children:u})}):null]}),(0,o.jsxs)(`div`,{className:`bulk-upload-grid`,children:[(0,o.jsxs)(`section`,{className:`bulk-upload-card bulk-upload-card--drop`,children:[(0,o.jsxs)(`div`,{className:`bulk-upload-card__head`,children:[(0,o.jsx)(`span`,{className:`bulk-upload-step`,children:`Step 2`}),(0,o.jsx)(`h2`,{className:`bulk-upload-card__title`,children:`Upload the filled file`})]}),(0,o.jsxs)(`div`,{role:`button`,tabIndex:E?-1:0,"aria-disabled":E,"aria-label":`Upload the filled file — click to browse, or drop a file here`,className:te,onClick:ee,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),ee())},onDragOver:e=>{e.preventDefault(),E||C(!0)},onDragLeave:()=>C(!1),onDrop:e=>{e.preventDefault(),C(!1),B(e.dataTransfer.files?.[0])},children:[(0,o.jsx)($s,{}),(0,o.jsx)(`p`,{className:`bulk-upload-dropzone__title`,children:S?`Drop the file to start uploading`:`Drag & drop your file here`}),(0,o.jsxs)(`p`,{className:`bulk-upload-dropzone__sub`,children:[`or `,(0,o.jsx)(`span`,{className:`bulk-upload-dropzone__link`,children:`browse from your computer`})]}),(0,o.jsxs)(`div`,{className:`bulk-upload-chips`,children:[I.map(e=>(0,o.jsx)(i.Tag,{className:`bulk-upload-chip bulk-upload-chip--ok`,children:e},e)),(0,o.jsx)(i.Tooltip,{title:`These file types are rejected before upload`,children:(0,o.jsx)(i.Tag,{className:`bulk-upload-chip bulk-upload-chip--no`,children:`.pdf .jpg .png not allowed`})})]}),(0,o.jsxs)(`p`,{className:`bulk-upload-dropzone__limit`,children:[`Maximum size `,g,` MB`]})]}),(0,o.jsx)(`input`,{ref:x,hidden:!0,type:`file`,accept:L,onChange:e=>B(e.target.files?.[0])},P),O?(0,o.jsxs)(`div`,{className:`bulk-upload-file ${A?`is-error`:``}`,children:[(0,o.jsx)(`span`,{className:`bulk-upload-file__icon`,children:E?(0,o.jsx)(a.FileExcelOutlined,{}):A?(0,o.jsx)(a.CloseCircleFilled,{}):(0,o.jsx)(a.CheckCircleFilled,{})}),(0,o.jsxs)(`span`,{className:`bulk-upload-file__meta`,children:[(0,o.jsx)(`span`,{className:`bulk-upload-file__name`,title:O.name,children:O.name}),(0,o.jsxs)(`span`,{className:`bulk-upload-file__size`,children:[Xs(O.size),E?` · uploading…`:A?` · failed`:` · processed`]})]}),E?null:(0,o.jsx)(i.Button,{type:`text`,size:`small`,icon:M?(0,o.jsx)(a.ReloadOutlined,{}):(0,o.jsx)(a.DeleteOutlined,{}),onClick:R,children:M?`Upload another`:`Remove`})]}):null,E?(0,o.jsx)(i.Progress,{percent:99,status:`active`,showInfo:!1,size:`small`,className:`bulk-upload-progress`}):null,A?(0,o.jsx)(i.Alert,{type:`error`,showIcon:!0,className:`bulk-upload-alert`,title:`File not accepted`,description:A}):null]}),(0,o.jsxs)(`aside`,{className:`bulk-upload-side`,children:[(0,o.jsxs)(`section`,{className:`bulk-upload-card bulk-upload-card--template`,children:[(0,o.jsxs)(`div`,{className:`bulk-upload-card__head`,children:[(0,o.jsx)(`span`,{className:`bulk-upload-step`,children:`Step 1`}),(0,o.jsx)(`h2`,{className:`bulk-upload-card__title`,children:f})]}),(0,o.jsx)(`p`,{className:`bulk-upload-side__hint`,children:p}),(0,o.jsx)(i.Button,{block:!0,icon:(0,o.jsx)(a.DownloadOutlined,{}),loading:w,onClick:z,className:`bulk-upload-template-btn`,children:d})]}),m.length?(0,o.jsxs)(`section`,{className:`bulk-upload-card bulk-upload-card--rules`,children:[(0,o.jsx)(`h2`,{className:`bulk-upload-card__title`,children:`Before you upload`}),(0,o.jsx)(`ul`,{className:`bulk-upload-rules`,children:m.map(e=>(0,o.jsx)(`li`,{children:e},e))})]}):null,b]})]}),M&&y?(0,o.jsx)(`div`,{className:`bulk-upload-result`,children:y(M,{reset:R})}):null]})]})}var tc=e.Nr({getJobById:()=>lc,getJobDetailView:()=>nc,updateJobDescription:()=>uc});async function nc(e){let n=await t.i(),r=new URLSearchParams({jobId:String(e)}),i=await fetch(`${t.S}/jobs?${r}`,{method:`GET`,headers:{"Content-Type":`application/json`,Authorization:`Bearer ${n}`}});if(!i.ok)throw Error(`API ${i.status}: ${i.statusText}`);let a=await i.json();return a.data??a}var rc={email:`zinnext@realtekconsulting.net`,user_pwd:`Admin@123*`},ic=null;async function ac(){return ic||(ic=fetch(`${t.b}/login`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(rc)}).then(async e=>{if(!e.ok)throw Error(`Login failed: ${e.status}`);let t=await e.json(),n=t.token??t.access_token??t.data?.token??t.data?.access_token;if(!n)throw Error(`No token in login response`);return localStorage.setItem(`authToken`,n),n}).finally(()=>{ic=null}),ic)}async function oc(){return(t.l()??localStorage.getItem(`authToken`))||ac()}async function sc(e){let n=await oc(),r=await fetch(`${t.b}${e}`,{headers:{"Content-Type":`application/json`,Authorization:`Bearer ${n}`}});if(r.status===401&&(localStorage.removeItem(`authToken`),n=await ac(),r=await fetch(`${t.b}${e}`,{headers:{"Content-Type":`application/json`,Authorization:`Bearer ${n}`}})),!r.ok)throw Error(`API ${r.status}: ${r.statusText}`);let i=await r.json();return i.data??i}async function cc(e,n){let r=await oc(),i=await fetch(`${t.b}${e}`,{method:`PUT`,headers:{"Content-Type":`application/json`,Authorization:`Bearer ${r}`},body:JSON.stringify(n)});if(i.status===401&&(localStorage.removeItem(`authToken`),r=await ac(),i=await fetch(`${t.b}${e}`,{method:`PUT`,headers:{"Content-Type":`application/json`,Authorization:`Bearer ${r}`},body:JSON.stringify(n)})),!i.ok)throw Error(`API ${i.status}: ${i.statusText}`);return i.json()}async function lc(e){return sc(`/jobs/${e}`)}async function uc(e,t){return cc(`/jobs/${e}`,{rawDescription:t})}var{Text:dc}=i.Typography,fc=2;function pc({jobId:e,sections:t=[],meta:n=[],rawDescription:s=``,onSaved:c}){let[l,u]=(0,r.useState)(!1),[d,f]=(0,r.useState)(!1),[p,m]=(0,r.useState)(``),[h,g]=(0,r.useState)(!1),_=[...t].sort((e,t)=>(e.displayOrder??0)-(t.displayOrder??0)),v=l?_:_.slice(0,fc),y=_.length>fc;function b(){m(s),f(!0)}function x(){f(!1),m(``)}async function S(){if(!p.trim()){i.message.warning(`Please enter a job description`);return}g(!0);try{await uc(e,p.trim());let t=await lc(e);c?.(t),f(!1),m(``),i.message.success(`Description updated successfully`)}catch{i.message.error(`Failed to update description`)}finally{g(!1)}}return d?(0,o.jsxs)(i.Space,{direction:`vertical`,style:{width:`100%`},size:8,children:[(0,o.jsx)(i.Input.TextArea,{rows:10,value:p,onChange:e=>m(e.target.value),placeholder:`Paste raw job description here...`}),(0,o.jsxs)(i.Space,{children:[(0,o.jsx)(i.Button,{type:`primary`,loading:h,onClick:S,children:`Save & Parse`}),(0,o.jsx)(i.Button,{onClick:x,children:`Cancel`})]})]}):(0,o.jsxs)(`div`,{className:`desc-block`,children:[(0,o.jsx)(`div`,{className:`desc-block-toolbar`,children:(0,o.jsx)(a.EditOutlined,{className:`desc-edit-icon`,onClick:b})}),!t.length&&!n.length?(0,o.jsx)(dc,{type:`secondary`,children:`No description available.`}):(0,o.jsxs)(`div`,{className:`jdv-ats-desc`,children:[n.length>0&&(0,o.jsx)(`div`,{className:`jdv-ats-meta-grid`,children:n.map(({fieldKey:e,fieldLabel:t,value:n})=>(0,o.jsxs)(`div`,{className:`jdv-ats-meta-row`,children:[(0,o.jsx)(`span`,{className:`jdv-ats-meta-key`,children:t}),(0,o.jsx)(`span`,{className:`jdv-ats-meta-val`,children:n})]},e))}),(0,o.jsx)(`div`,{className:`jdv-ats-sections`,children:v.map(({sectionKey:e,sectionTitle:t,renderType:n,content:r=[]})=>n===`education`?(0,o.jsxs)(`div`,{className:`education-block`,children:[(0,o.jsxs)(`div`,{className:`education-header`,children:[(0,o.jsx)(`span`,{children:`🎓`}),(0,o.jsx)(`span`,{children:t})]}),(0,o.jsx)(`ul`,{className:`education-list`,children:r.map((e,t)=>(0,o.jsx)(`li`,{className:`education-list-item`,children:e},t))})]},e):(0,o.jsxs)(`div`,{className:`jdv-ats-section`,children:[(0,o.jsx)(`div`,{className:`jdv-ats-section-hd`,children:(0,o.jsx)(`span`,{children:t})}),n===`chips`?(0,o.jsx)(i.Space,{size:[6,6],wrap:!0,style:{marginTop:8},children:r.map((e,t)=>(0,o.jsx)(i.Tag,{className:`jdv-skill-tag`,children:e},t))}):(0,o.jsx)(`ul`,{className:`jdv-ats-bullets`,children:r.map((e,t)=>(0,o.jsx)(`li`,{className:`jdv-ats-bullet-item`,children:e},t))})]},e))}),y&&(0,o.jsx)(`span`,{className:`jdv-desc-toggle`,onClick:()=>u(e=>!e),children:l?`Show less`:`Show more (${t.length-fc} more sections)`})]})]})}function mc(){return Number(localStorage.getItem(`userId`))||0}function hc(e,{id:t,moduleName:n,record:i}={}){let a=(0,r.useMemo)(()=>Array.isArray(e)?e:[],[e]),o=(0,r.useMemo)(()=>a.filter(e=>typeof e?.visibleWhen==`function`),[a]),[s,c]=(0,r.useState)({});return(0,r.useEffect)(()=>{if(!o.length)return;let e=!1,r={id:t,moduleName:n,record:i,currentUserId:mc()};return o.forEach(n=>{let i=`${t}:${n.key}`;Promise.resolve().then(()=>n.visibleWhen(r)).then(t=>{e||c(e=>({...e,[i]:t!==!1}))}).catch(()=>{e||c(e=>({...e,[i]:!0}))})}),()=>{e=!0}},[o,t,n,i]),(0,r.useMemo)(()=>a.filter(e=>typeof e?.visibleWhen==`function`?s[`${t}:${e.key}`]===!0:!0),[a,s,t])}var gc=[{field:`baId`,label:`BA`,icon:`idcard`},{field:`clientName`,icon:`bank`,tooltip:`Client`},{field:`employerName`,icon:`team`,badgeField:`engagementType`,tooltip:`Employer`},{field:`projectName`,icon:`project`,tooltip:`Project`},{field:`batchPriority`,icon:`idcard`,tooltip:`Priority`},{field:`paymentTermsLabel`,icon:`cycle`,tooltip:`Payment Terms`},{field:`paymentDeadlineLabel`,icon:`period`,tooltip:`Payment Deadline`},{field:`batchName`,icon:`project`,tooltip:`Payment Batch`},{field:`period.label`,icon:`period`,tooltip:`Period`}],_c=e.Nr({billingConfig:()=>vc,default:()=>vc}),vc={module:`billing`,tabs:[],header:{variant:`finance`,title:`candidateName`,eyebrow:`designation`,statusField:`billing.status`,chips:gc}},yc={USD:`$`,INR:`₹`,EUR:`€`,GBP:`£`,AUD:`$`,CAD:`$`},bc=e=>e==null||e===``||Array.isArray(e)&&e.length===0,xc=e=>!bc(e);function Sc(e){let t=wc(e);return t.charAt(0).toUpperCase()+t.slice(1)}function Cc(e){return e&&typeof e==`object`&&!Array.isArray(e)&&`id`in e&&`value`in e?e.id??e.value:e}function wc(e){return Array.isArray(e)?e.filter(e=>!bc(e)).map(e=>wc(e)).filter(Boolean).join(`, `):e&&typeof e==`object`&&`id`in e&&`value`in e?String(e.value??e.id??``):String(e??``)}function Tc(e){return bc(e)?``:yc[String(e).toUpperCase()]??String(e)}function Ec(e){if(bc(e))return``;let t=new Date(e);return Number.isNaN(t.getTime())?``:`${t.toLocaleDateString(`en-US`,{month:`short`,day:`2-digit`,year:`numeric`})} | ${t.toLocaleTimeString(`en-US`,{hour:`2-digit`,minute:`2-digit`,hour12:!0}).replace(/\s/g,``).toUpperCase()}`}function Dc({start:e,end:t,sym:n=``,unit:r}={}){return bc(e)||Number(e)<=0?``:`${n}${!bc(t)&&Number(t)>0?`${e} - ${t}`:`${e}`}${bc(r)?``:`/${r}`}`}function Oc(e){let t=wc(e).toLowerCase();return[`active`,`open`,`hired`,`approved`,`fulfilled`,`submitted`].includes(t)?`success`:[`inactive`,`closed`,`rejected`,`high`].includes(t)?`error`:[`hold`,`on hold`,`pending`,`unread`,`medium`].includes(t)?`warning`:`default`}var kc=e.Nr({candidateConfig:()=>Ac,default:()=>Ac}),Ac={module:`candidate`,tabs:[{key:`details`,label:`Details`},{key:`jobs`,label:`Jobs`},{key:`emails`,label:`Emails`},{key:`attachments`,label:`Attachments`}],header:{title:[`firstName`,`middleName`,`lastName`],eyebrow:`source`,status:({val:e,has:t})=>t(e(`status`))?{label:Sc(e(`status`)),color:Oc(e(`status`))}:e(`applicantPlacedStatus`)===!0?{label:`Placed`,color:`success`}:null,ids:[{label:`Candidate ID`,field:[`applicantRefrenceId`,`applicantReferenceId`,`candidateReferenceId`]}],meta:[{icon:`designation`,field:`designation`},{icon:`location`,field:[`currentLocation`,`preferredLocation`]},{icon:`experience`,compute:jc},{icon:`employment`,field:`workAuthorisation`},{icon:`rate`,prefix:`Expected: `,compute:Mc}],timestamp:{label:`Created Date`,field:[`createdAt`,`createdDate`]}}};function jc({val:e,has:t}){let n=t(e(`yearOfExperience`))?e(`yearOfExperience`):e(`experience`);if(!t(n))return``;let r=e(`monthOfExperience`);return`${n} yrs${t(r)&&Number(r)>0?` ${r} mo`:``}`}function Mc({val:e}){let t=e(`expectedPayDetails`)??{};return Dc({start:t.expectedPay??e(`expectedPay`),sym:t.expectedPayCurrencySymbol??Tc(t.expectedPayCurrency),unit:t.expectedPayUnit})}var Nc=e=>e===!0||e===1||e===`1`;function Pc(e){return e==null||e===``?!0:Array.isArray(e)?e.length===0:typeof e==`object`?Object.values(e).every(e=>Pc(e)):!1}function Fc(t){return e.ut(t).filter(e=>e?.location||e?.url)}function Ic(e){return Fc(e).length>0}function Lc(e){return Nc(e?.hideWhenEmpty)||Nc(e?.hideWhenEmptyInDetail)||Nc(e?.renderOptions?.hideWhenEmpty)||Nc(e?.renderOptions?.hideWhenEmptyInDetail)}function Rc(e){return Nc(e?.hideWhenZero)||Nc(e?.renderOptions?.hideWhenZero)}function zc(e){if(typeof e==`number`)return e===0;if(typeof e==`string`){let t=e.trim();return t!==``&&Number.isFinite(Number(t))&&Number(t)===0}return!1}function Bc(e,t){let n=Rc(e);return!Lc(e)&&!n?!1:e?.type===`file`||e?.type===`document`||e?.renderType===`document`?!Ic(t):Pc(t)||n&&zc(t)}var Vc=e=>e==null||e===``;function Hc(e,t){return String(t??``).split(`.`).filter(Boolean).reduce((e,t)=>e?.[t],e)}function Uc(e){let t=String(e??``).trim().replace(/[\s()-]/g,``);if(!t)return``;let n=t.replace(/^\+/,``);return/^\d{1,4}$/.test(n)?`+${n}`:``}function Wc(e){let t=String(e?.field??``).trim(),n=t.replace(/(number|no|phone|mobile|contact)$/i,``);return[...t?[`${t}CountryCode`,`${t}Code`]:[],...n&&n!==t?[`${n}CountryCode`]:[],`countryCode`,`phoneCountryCode`,`mobileCountryCode`,`contactCountryCode`,`dialCode`,`isdCode`]}function Gc(e,t,n=``){let r=e?.renderOptions?.countryCodeField??e?.countryCodeField,i=r?[r,...Wc(e)]:Wc(e);for(let e of i){let n=Uc(Hc(t,e));if(n)return n}return Uc(n)}function Kc(e){let t=String(e??``).trim(),n=t.match(/^(\+\d{1,4})[\s-]*(.*)$/);return n?{code:n[1],rest:n[2]}:{code:``,rest:t}}function qc(t,n=``){if(Vc(t))return``;let{code:r,rest:i}=Kc(t),a=r||Uc(n),o=e.jt(i)||i;return`${a?`${a} `:``}${o}`.trim()}function Jc(t,n,r){return qc(n,Gc(t,r,e.Nt()))}var Yc=e=>e===!0||e===1||e===`1`;function Xc(e=[]){let t={};for(let n of e??[])for(let e of n?.fields??[]){if(!e?.field||e.value===void 0)continue;let n=e.value,r=n&&typeof n==`object`&&!Array.isArray(n)&&`value`in n?n.value:n;t[e.field]=r,e.payloadKey&&t[e.payloadKey]===void 0&&(t[e.payloadKey]=r)}return t}function Zc(t,n){let r=e.c(t?.showIf);return!r.length||Yc(t?.ignoreShowIfInDetail)||!r.every(e=>Object.prototype.hasOwnProperty.call(n??{},e.field))?!0:e.o(t.showIf,e=>n[e])}function Qc(e){let t=e?.detailLabelWhen;if(Array.isArray(t)&&t.length)return t;let n=e?.labelWhen;return n?[n]:[]}function $c(t,n){let r=t?.label;if(Yc(t?.ignoreLabelWhenInDetail))return r;for(let r of Qc(t))if(!(!r?.field||!r?.label)&&Object.prototype.hasOwnProperty.call(n??{},r.field)&&e.i(r,n[r.field]))return r.label;return r}var el=/(currency|symbol|unit|type)/i,tl=/(rate|budget|amount)/i,nl=e=>typeof e==`number`||typeof e==`string`&&e.trim()!==``&&!Number.isNaN(Number(e)),rl=e=>e===!0||e===1||e===`1`;function il(e,t){return!e||!t||!rl(e.appendHistory)?!1:[e.historyField,...e.historyFields??[]].includes(t)}function al(e,t){let n=String(t??``).trim();if(!n)return``;let r=`${e}.`;return n.startsWith(r)?n.slice(r.length):n}function ol(e,t=[]){let n=`${e}.`,r=[];return(t??[]).forEach(t=>{il(t,e)&&(t.fields??[]).forEach(e=>{let t=String(e?.field??``);if(!t.startsWith(n))return;let i=t.slice(n.length);i&&!r.includes(i)&&r.push(i)})}),r}function sl(e,t=[],n){for(let r of t??[]){if(!il(r,e))continue;let t=al(e,r?.[n]?.[e]);if(t)return t}return``}var cl=(e,t)=>!!t&&e!=null&&Object.prototype.hasOwnProperty.call(e,t)&&e[t]!==void 0;function ll(e){let t=Object.entries(e??{}).find(([e,t])=>tl.test(e)&&!el.test(e)&&nl(t));return t?t[0]:``}function ul(e){let t=Object.keys(e??{});return t.find(t=>/currencysymbol/i.test(t)&&String(e[t]??``).trim()!==``)||t.find(t=>/currency/i.test(t)&&String(e[t]??``).trim()!==``)||t.find(t=>/symbol/i.test(t)&&String(e[t]??``).trim()!==``)||``}function dl(e){return Object.keys(e??{}).find(e=>/unit/i.test(e))||``}function fl(e,t,n=[]){let r=ol(t,n),i=sl(t,n,`historyAmountFields`),a=r.find(e=>!el.test(e)),o=cl(e,i)&&i||cl(e,a)&&a||ll(e),s=sl(t,n,`historyCurrencyFields`),c=r.find(t=>/symbol/i.test(t)&&cl(e,t)&&String(e[t]??``).trim()!==``),l=r.find(e=>/currency/i.test(e)&&!/symbol/i.test(e)),u=cl(e,s)&&s||c||cl(e,l)&&l||ul(e),d=sl(t,n,`historyUnitFields`),f=r.find(e=>/unit/i.test(e)),p=cl(e,d)&&d||cl(e,f)&&f||dl(e);return{amountKey:o||``,currencyKey:u||``,unitKey:p||``}}function pl(e,t,n=[]){let{amountKey:r,currencyKey:i,unitKey:a}=fl(e,t,n);return{amountKey:r,currencyKey:i,unitKey:a,amount:r?e?.[r]:void 0,currency:i?e?.[i]:``,unit:a?e?.[a]:``}}var ml={USD:`$`,INR:`₹`,GBP:`£`,EUR:`€`,CAD:`C$`,AUD:`A$`,SGD:`S$`,JPY:`¥`};function hl(e,t=`$`){let n=String(e??``).trim();return n?ml[n.toUpperCase()]||(/^[A-Za-z]{2,}$/.test(n)?t:n):t}var gl={hr:`Hourly`,hour:`Hourly`,hours:`Hourly`,hourly:`Hourly`,day:`Daily`,daily:`Daily`,week:`Weekly`,weekly:`Weekly`,month:`Monthly`,monthly:`Monthly`,year:`Yearly`,yearly:`Yearly`,annual:`Yearly`,annually:`Yearly`};function _l(e,t=``){let n=String(e??``).trim();return n?gl[n.toLowerCase()]??n.charAt(0).toUpperCase()+n.slice(1):t}var vl={Hourly:`hr`,Daily:`day`,Weekly:`wk`,Monthly:`mo`,Yearly:`yr`};function yl(e,t=``){let n=_l(e,``);return n?vl[n]??n.toLowerCase():t}function bl(e){if(typeof e==`number`)return Number.isFinite(e)?e:NaN;let t=String(e??``).trim().replace(/[,\s]/g,``).replace(/[^0-9eE+.\-]/g,``);if(!t)return NaN;let n=Number(t);return Number.isFinite(n)?n:NaN}function xl(e,{decimals:t}={}){let n=bl(e);return Number.isNaN(n)?String(e??``):n.toLocaleString(void 0,{minimumFractionDigits:t??0,maximumFractionDigits:t??2})}function Sl(e,t=`$`,n={}){let r=bl(e);if(Number.isNaN(r))return String(e??``);let i=hl(t);return`${r<0?`−`:``}${i}${xl(Math.abs(r),n)}`}function Cl(e,t=`$`,n,r={}){let i=Sl(e,t,r),a=_l(n,``);return a?`${i} / ${a}`:i}var{Text:wl}=i.Typography,Tl=e=>e==null||e===``,El=/^\d{4}-\d{2}-\d{2}([T ]\d{2}:\d{2}|$)/;function Dl(e){return String(e).replace(/\w\S*/g,e=>e.length>1&&e===e.toUpperCase()?e:e.charAt(0).toUpperCase()+e.slice(1).toLowerCase())}function Ol(e){return!(typeof e!=`string`||!e.trim()||!/[a-z]/i.test(e)||e.includes(`@`)||/^https?:\/\//i.test(e)||/^[a-f0-9]{24}$/i.test(e)||/<[a-z][\s\S]*>/i.test(e))}function kl(e,t){if(Tl(e))return``;let n=String(e);return t===!1?n:Ol(n)?Dl(n):n}function Al(e,t,n){return Object.values(e).filter(e=>!Tl(e)&&typeof e!=`object`).map(e=>kl(e,t)).join(n)}function jl(e,t){if(!e)return e;switch(t){case`upper`:return String(e).toUpperCase();case`lower`:return String(e).toLowerCase();case`title`:return Dl(e);default:return e}}var Ml=e=>e&&typeof e==`object`&&!Array.isArray(e)&&`value`in e&&`id`in e;function Nl(e,t,n){return Tl(e)?``:Ml(e)?kl(e.value??e.id,t):Array.isArray(e)?e.map(e=>Ml(e)?kl(e.value??e.id,t):e&&typeof e==`object`?Al(e,t,n):kl(e,t)).filter(Boolean).join(n):typeof e==`boolean`?e?`Yes`:`No`:typeof e==`object`?Al(e,t,n):kl(e,t)}function Pl(e,t,n){if(Array.isArray(e))return e.map(e=>Ml(e)?kl(e.value??e.id,t):e&&typeof e==`object`?Al(e,t,n):kl(e,t)).filter(e=>e!==``);if(typeof e==`string`)return e.split(`,`).map(e=>kl(e.trim(),t)).filter(Boolean);let r=Nl(e,t,n);return r?[r]:[]}function Fl({name:e}){let t=String(e||``).split(`.`).pop().toLowerCase();return t===`pdf`?(0,o.jsx)(a.FilePdfOutlined,{className:`v1-file-chip__icon`}):t===`doc`||t===`docx`?(0,o.jsx)(a.FileWordOutlined,{className:`v1-file-chip__icon`}):[`png`,`jpg`,`jpeg`,`gif`,`webp`,`bmp`,`svg`].includes(t)?(0,o.jsx)(a.FileImageOutlined,{className:`v1-file-chip__icon`}):[`txt`,`csv`,`json`,`md`].includes(t)?(0,o.jsx)(a.FileTextOutlined,{className:`v1-file-chip__icon`}):(0,o.jsx)(a.FileOutlined,{className:`v1-file-chip__icon`})}Fl.propTypes={name:l.default.string};function Il(e){return e?.renderType&&e.renderType!==`auto`?e.renderType:e?.documentPreview===!0?`document`:e?.formatter===`phone`||e?.type===`phone`?`phone`:e?.displayAs===`tag`?`tag`:e?.displayAs===`text`?`text`:`auto`}function Ll({value:t,mode:n,empty:s,style:c}){let[l,u]=(0,r.useState)(!1),[d,f]=(0,r.useState)(0),p=e.ut(t);if(!p.length)return(0,o.jsx)(wl,{strong:!0,className:`v1-detail-value`,style:c,children:s});let m=p.filter(e=>e.url);return n===`text`?(0,o.jsx)(wl,{strong:!0,className:`v1-detail-value`,style:c,children:p.map(e=>e.name).join(`, `)}):n===`tag`?(0,o.jsx)(`span`,{className:`v1-detail-value v1-detail-tags`,children:p.map((e,t)=>(0,o.jsx)(i.Tag,{icon:(0,o.jsx)(a.PaperClipOutlined,{}),children:e.name},t))}):n===`link`||n===`download`?(0,o.jsx)(`span`,{className:`v1-detail-value v1-doc-list`,children:(0,o.jsx)(`span`,{className:`v1-file-list`,children:p.map((e,t)=>e.url?(0,o.jsxs)(`a`,{className:`v1-file-chip`,href:e.url,target:`_blank`,rel:`noopener noreferrer`,download:n===`download`?e.name||``:void 0,title:e.name,children:[(0,o.jsx)(Fl,{name:e.name}),(0,o.jsx)(`span`,{className:`v1-file-chip__name`,children:e.name}),n===`download`?(0,o.jsx)(a.DownloadOutlined,{className:`v1-file-chip__action`}):(0,o.jsx)(a.LinkOutlined,{className:`v1-file-chip__action`})]},t):(0,o.jsxs)(`span`,{className:`v1-file-chip v1-file-chip--disabled`,title:`No file location`,children:[(0,o.jsx)(Fl,{name:e.name}),(0,o.jsx)(`span`,{className:`v1-file-chip__name`,children:e.name})]},t))})}):(0,o.jsxs)(`div`,{className:`v1-detail-value v1-doc-list`,children:[(0,o.jsx)(`div`,{className:`v1-file-list`,children:p.map((e,t)=>e.url?(0,o.jsxs)(`button`,{type:`button`,className:`v1-file-chip`,onClick:()=>{f(m.indexOf(e)),u(!0)},title:`Preview ${e.name}`,children:[(0,o.jsx)(Fl,{name:e.name}),(0,o.jsx)(`span`,{className:`v1-file-chip__name`,children:e.name}),(0,o.jsx)(a.EyeOutlined,{className:`v1-file-chip__action`})]},t):(0,o.jsxs)(`span`,{className:`v1-file-chip v1-file-chip--disabled`,title:`No preview available for this file`,children:[(0,o.jsx)(Fl,{name:e.name}),(0,o.jsx)(`span`,{className:`v1-file-chip__name`,children:e.name})]},t))}),(0,o.jsx)(e.Or,{documents:m,open:l,onClose:()=>u(!1),initialIndex:d})]})}Ll.propTypes={value:l.default.any,mode:l.default.string,empty:l.default.string,style:l.default.object};function Rl(e,t={}){return Number.isNaN(bl(e))?String(e??``):`${t.currencySymbol?hl(t.currencySymbol,``):``}${xl(e,{decimals:t.decimals})}`}function zl({field:t,record:n}){let{value:r,type:s,prefix:l=``,suffix:u=``,color:d=``,capitalize:f}=t??{},p=t?.renderOptions??{},m=e.Mt(),h=m.emptyPlaceholder,g=m.separator||`, `,_=d?{color:d}:void 0,v=p.tagColor||d||void 0,y=p.textTransform&&p.textTransform!==`none`?p.textTransform:null,b=e=>`${l?`${l} `:``}${e}${u?` ${u}`:``}`,x=e=>y?jl(e,y):e,S=e=>(0,o.jsx)(wl,{strong:!0,className:`v1-detail-value`,style:_,children:x(e)}),C=e=>(0,o.jsx)(wl,{strong:!0,className:`v1-detail-value v1-detail-token`,style:_,children:x(e)}),w=e=>(0,o.jsx)(`span`,{className:`v1-detail-value v1-detail-tags`,children:(0,o.jsx)(i.Tag,{color:v,children:x(e)})}),T=Il(t);if(T!==`document`&&Tl(r)&&!p.showEmpty)return S(h);switch(T){case`document`:return(0,o.jsx)(Ll,{value:r,mode:p.documentMode||`preview`,empty:h,style:_});case`text`:return S(b(Nl(r,f,g)));case`tag`:case`chip`:return w(b(Nl(r,f,g)));case`badge`:{let e=x(Nl(r,f,g));return(0,o.jsx)(`span`,{className:`v1-detail-value`,children:(0,o.jsx)(i.Badge,{color:v||`blue`,text:e})})}case`tags`:case`multitag`:case`skills`:{let e=Pl(r,f,g);return e.length?(0,o.jsx)(`span`,{className:`v1-detail-value v1-detail-tags`,children:e.map((e,t)=>(0,o.jsx)(i.Tag,{color:v,children:x(e)},t))}):S(h)}case`link`:{let t=Nl(r,!1,g);return(0,o.jsx)(`a`,{className:`v1-detail-value v1-doc-link`,href:/^https?:\/\//i.test(t)?t:e.lt(t)||t,target:`_blank`,rel:`noopener noreferrer`,children:x(b(t))})}case`email`:{let e=Nl(r,!1,g);return(0,o.jsxs)(`a`,{className:`v1-detail-value`,href:`mailto:${e}`,children:[(0,o.jsx)(a.MailOutlined,{}),` `,e]})}case`phone`:{let e=Nl(r,!1,g),i=Jc(t,e,n);return(0,o.jsxs)(`a`,{className:`v1-detail-value v1-detail-token`,href:`tel:${e.replace(/[^0-9+]/g,``)}`,children:[(0,o.jsx)(a.PhoneOutlined,{}),` `,x(b(i))]})}case`date`:{let e=(0,c.default)(r),t=p.dateFormat||m.dateFormat;return C(b(e.isValid()?e.format(t):Nl(r,f,g)))}case`currency`:return C(b(Rl(r,p)));case`budget`:{let e=Rl(r,p),t=p.unit?String(p.unit):``,n=t&&p.budgetUnitMap?p.budgetUnitMap[t]??t:t;return C(`${e}${n?`/${n}`:``}`)}case`html`:return(0,o.jsx)(`span`,{className:`v1-detail-value`,style:_,dangerouslySetInnerHTML:{__html:String(r??``)}});default:break}if(Tl(r))return S(h);let E=s===`date`,D=typeof r==`string`&&El.test(r.trim());if(E||D){let e=(0,c.default)(r);if(e.isValid())return S(b(e.format(m.dateFormat)))}if(Ml(r))return S(b(kl(r.value??r.id,f)));if(Array.isArray(r)){let e=Pl(r,f,g);return e.length?(0,o.jsx)(`span`,{className:`v1-detail-value v1-detail-tags`,children:e.map((e,t)=>(0,o.jsx)(i.Tag,{color:v,children:e},t))}):S(h)}return S(typeof r==`boolean`?r?m.booleanTrueLabel:m.booleanFalseLabel:typeof r==`object`?Al(r,f,g)||h:b(kl(r,f)))}zl.propTypes={field:l.default.object,record:l.default.object};var{Text:Bl}=i.Typography,Vl=[(0,o.jsx)(a.UserOutlined,{}),(0,o.jsx)(a.EnvironmentOutlined,{}),(0,o.jsx)(a.SolutionOutlined,{}),(0,o.jsx)(a.InfoCircleOutlined,{}),(0,o.jsx)(a.FileTextOutlined,{})],Hl=e=>e===!0||e===1||e===`1`,Ul=[`jobDescription`,`description`,`rawDescription`,`jobDescriptionText`];function Wl(e=[]){for(let t of e)for(let e of t.fields??[]){let t=Ul.includes(e.field),n=/description/i.test(e.label??``);if((t||n)&&typeof e.value==`string`&&e.value.trim())return{...e,key:e.field,value:e.value}}return null}function Gl(e=[]){let t=Xc(e);return[...e].filter(e=>!Hl(e.hideGroup)&&!Hl(e.hideGroupInDetail)).filter(e=>Zc(e,t)).sort((e,t)=>Number(e.order??0)-Number(t.order??0)).map(e=>({...e,fields:[...e.fields??[]].filter(e=>String(e.field??``).trim()!==``&&(e.show===void 0||Hl(e.show))&&Zc(e,t)).map(e=>({...e,label:$c(e,t)})).sort((e,t)=>Number(e.order??0)-Number(t.order??0))})).filter(e=>e.fields.length)}function Kl(e){let t=e?.data??e;return Array.isArray(t)?t:t?.data??t?.rows??t?.records??t?.items??t?.list??[]}function ql(e,...t){for(let n of t){let t=String(n).split(`.`).reduce((e,t)=>e?.[t],e);if(t!=null&&t!==``)return t}return``}function Jl(e){let t=String(ql(e,`isDeleted`,`deleted`)).toLowerCase(),n=String(ql(e,`assignmentStatus`,`status`)).toLowerCase();return t!==`true`&&t!==`1`&&![`removed`,`inactive`,`deleted`].includes(n)}function Yl(e=[],t){let n={candidateIds:new Set,engagementIds:new Set([String(t??``)].filter(Boolean))},r=e?.recordMeta;[`_id`,`id`,`workforceEngagementId`,`engagementId`].forEach(e=>{let t=r?.[e];t!=null&&t!==``&&n.engagementIds.add(String(t))}),[`candidateId`,`candidate_id`,`applicantId`].forEach(e=>{let t=r?.[e];t!=null&&t!==``&&n.candidateIds.add(String(t))});for(let t of e??[])for(let e of t.fields??[])[`candidateId`,`candidate_id`,`applicantId`].includes(e?.field)&&e.value&&n.candidateIds.add(String(e.value?.id??e.value?.value??e.value)),[`workforceEngagementId`,`engagementId`].includes(e?.field)&&e.value&&n.engagementIds.add(String(e.value?.id??e.value?.value??e.value));return n}async function Xl(t){let n=ql(t,`batchName`,`batch_name`,`batch.name`,`batch.title`);if(n)return String(n);let r=String(ql(t,`batchId`,`batch_id`));if(!r)return``;for(let t of[`batches`,`batch`])try{let n=ql(Kl(await e.wr(t,500,0)).find(e=>String(ql(e,`_id`,`id`,`batchId`,`batch_id`))===r),`batchName`,`batch_name`,`name`,`title`);if(n)return String(n)}catch{}return r}async function Zl(t,n,r){let i=String(r??``).trim().toLowerCase();if(![`candidate`,`candidates`,`onboarding`].includes(i))return t;let{candidateIds:a,engagementIds:o}=Yl(t,n);if(!a.size&&!o.size)return t;let s=Kl(await e.wr(`batchCandidates`,1e3,0)).filter(Jl).find(e=>a.has(String(ql(e,`candidateId`,`candidate_id`)))||o.has(String(ql(e,`workforceEngagementId`,`engagementId`))));if(!s)return t;let c=await Xl(s);return c?[...t,{id:`candidate-batch-summary`,name:`candidateBatch`,label:`Batch`,order:9999,fields:[{field:`batchName`,label:`Batch Name`,type:`text`,value:c,show:!0,order:1}]}]:t}function Ql({icon:e,title:t}){return(0,o.jsxs)(i.Space,{size:10,align:`center`,children:[(0,o.jsx)(`div`,{className:`v1-section-icon-box`,children:e}),(0,o.jsx)(Bl,{strong:!0,className:`v1-section-label`,children:t})]})}function $l({value:e}){let t=String(e??``);return/<[a-z][\s\S]*>/i.test(t)?(0,o.jsx)(`div`,{className:`v1-detail-value`,style:{whiteSpace:`normal`,lineHeight:1.7},dangerouslySetInnerHTML:{__html:t}}):(0,o.jsx)(`div`,{className:`v1-detail-value`,style:{whiteSpace:`pre-wrap`,lineHeight:1.7},children:t})}function eu({moduleName:n,id:s,refreshKey:l=0,onDescriptionSaved:u}){let[d,f]=(0,r.useState)([]),[p,m]=(0,r.useState)(!!n),[h,g]=(0,r.useState)(``),[_,v]=(0,r.useState)(!1),[y,b]=(0,r.useState)(``),[x,S]=(0,r.useState)(!1),[C,w]=(0,r.useState)([]);(0,r.useEffect)(()=>{if(!n||!s){Promise.resolve().then(()=>w([]));return}let t=!1;return e.Wt(n,s).then(e=>{t||w(Array.isArray(e)?e:e?.data??[])}).catch(()=>{t||w([])}),()=>{t=!0}},[n,s,l]);let[T,E]=(0,r.useState)(null),[D,O]=(0,r.useState)({}),[k,A]=(0,r.useState)({});(0,r.useEffect)(()=>{if(!n||!s){E(null);return}let e=!1;return t.a(t.b,`/module/list?module=${encodeURIComponent(n)}&id=${encodeURIComponent(s)}`).then(t=>{let n=t?.data?.data??t?.data??[];e||E(Array.isArray(n)?n[0]:null)}).catch(()=>{e||E(null)}),()=>{e=!0}},[n,s,l]),(0,r.useEffect)(()=>{let n=!1;return t.a(t.b,`/module/list?module=users`).then(t=>{let r=t?.data?.data??t?.data??[];n||O(e.R(r))}).catch(()=>{}),()=>{n=!0}},[]),(0,r.useEffect)(()=>{if(!n)return;let t=!1;async function r(){try{m(!0),g(``);let[r]=await Promise.all([hn({module:n,id:s,view:`detail`}),e.Pt()]),i=await Zl(Array.isArray(r)?r:[],s,n);t||f(i)}catch(e){console.error(`Failed to fetch ${n} detail fields:`,e),t||g(e?.message||`Failed to fetch detail fields`)}finally{t||m(!1)}}return r(),()=>{t=!0}},[n,s,l]);let j=(0,r.useMemo)(()=>Gl(d),[d]),M=(0,r.useMemo)(()=>{let e=new Set;return d.forEach(t=>{Hl(t.appendHistory)&&[t.historyField,...t.historyFields||[]].filter(Boolean).forEach(t=>e.add(t))}),e},[d]);(0,r.useEffect)(()=>{if(!T||!M.size)return;let t=new Set;if(M.forEach(e=>{let n=T[e];Array.isArray(n)&&n.forEach(e=>{let n=e?.updatedBy??e?.changedBy;if(n==null||n===``)return;let r=String(n);!D[r]&&!k[r]&&t.add(r)})}),!t.size)return;let n=!1;return Promise.all([...t].map(t=>e.L(t).then(e=>[t,e]))).then(e=>{let t=Object.fromEntries(e.filter(([,e])=>e));!n&&Object.keys(t).length&&A(e=>({...e,...t}))}).catch(()=>{}),()=>{n=!0}},[T,M,D,k]);let N={proposedRate:`Proposed Rate`,candidateBudget:`Candidate Rate`},P=(e,t,n)=>{let r=`${e}.`,i=t=>[t?.historyField,...t?.historyFields||[]].includes(e);for(let r of t??[]){if(!i(r))continue;let t=r.historyLabels?.[e];if(t)return t;let a=r.historyLabelFrom?.[e];if(a){let t=(r.fields??[]).find(e=>e?.field===a);if(t)return $c(t,n)||N[e]||e}}for(let i of t??[])for(let t of i?.fields??[])if(String(t?.field??``).startsWith(r))return $c(t,n)||N[e]||e;return N[e]||e},F=(t,n)=>{let{amount:r,currency:i,unit:a}=pl(t,n,d),o=t?.timestamp?.$date??t?.timestamp??t?.updatedAt?.$date??t?.updatedAt??t?.changedAt?.$date??t?.changedAt,s=t?.updatedBy??t?.changedBy,l=r==null||r===``?null:Number(r);return{amount:l!=null&&!Number.isNaN(l)?`${hl(i)}${xl(l)}`:`—`,unit:_l(a),when:o&&(0,c.default)(o).isValid()?(0,c.default)(o).format(`${e.Mt().dateFormat} · h:mm A`):``,by:s==null?``:D[String(s)]||k[String(s)]||``}},I=(0,r.useMemo)(()=>{if(!T)return[];let e=Xc(d),t=[];return M.forEach(n=>{let r=T[n];if(!Array.isArray(r)||r.length===0)return;let i=r.filter(e=>e&&(e.timestamp||e.updatedAt||e.changedAt));i.length!==0&&t.push({key:n,label:P(n,d,e),entries:[...i].reverse().map(e=>F(e,n))})}),t},[T,d,M,D,k]),L=(0,r.useMemo)(()=>{let e=new Set(I.map(e=>e.key));return e.size?j.map(t=>{if(!Hl(t.appendHistory))return t;let n=[t.historyField,...t.historyFields||[]].filter(t=>t&&e.has(t));return n.length?{...t,fields:t.fields.filter(e=>!n.some(t=>String(e.field??``).startsWith(`${t}.`)))}:t}).filter(e=>e.fields.length):j},[j,I]),R=(0,r.useMemo)(()=>{let e=new Set(I.map(e=>e.key)),t=d.find(t=>Hl(t.appendHistory)&&[t.historyField,...t.historyFields||[]].some(t=>t&&e.has(t)));return t?.label??t?.name??`Rate Details`},[d,I]),z=n===`job`,B=(0,r.useMemo)(()=>z?Wl(d):null,[z,d]),ee=()=>{v(!1),b(``)},te=async()=>{if(!y.trim()){i.message.warning(`Please enter a job description`);return}S(!0);try{await uc(s,y.trim()),v(!1),b(``),m(!0);let e=await hn({module:n,id:s,view:`detail`});f(Array.isArray(e)?e:[]),i.message.success(`Description updated and parsed successfully`),u?.()}catch{i.message.error(`Failed to update description`)}finally{S(!1),m(!1)}},V=e=>{let t=Number(e.detailCol);if(Number.isFinite(t)&&t>0)return Math.max(1,Math.min(3,Math.round(t/8)));let n=typeof e.value==`string`?e.value:``;return e.renderType===`document`||e.type===`text-editor`||n.length>120?3:/\s(?:·|-|–|\/)\s/.test(n)&&n.length>=16?2:1},ne=e=>e.renderType===`document`||e.type===`text-editor`?!0:(typeof e.value==`string`?e.value:``).length>60,re=(0,r.useMemo)(()=>Xc(d),[d]),H=(e,t=``,n=re)=>{let r=e.label??e.field,i=ne(e),a=typeof e.value==`string`?e.value:void 0;return(0,o.jsx)(`div`,{className:`v1-detail-cell${i?` v1-detail-cell--wrap`:``}`,style:{"--v1-cell-span":V(e)},children:(0,o.jsxs)(`div`,{className:`v1-detail-field`,title:!i&&a?`${r}: ${a}`:void 0,children:[(0,o.jsx)(Bl,{type:`secondary`,className:`v1-detail-label`,title:r,children:r}),(0,o.jsx)(zl,{field:e,record:n})]})},`${e.field}${t}`)},U=/^\d{4}-\d{2}-\d{2}([T ]\d{2}:\d{2}|$)/,ie=(t,n,r=re)=>{if(n==null||typeof n==`object`)return``;let i=String(n).trim();if(!i)return``;if(t?.type===`date`||t?.renderType===`date`||U.test(i)){let n=(0,c.default)(i);if(n.isValid())return n.format(t?.renderOptions?.dateFormat||e.Mt().dateFormat)}return(t?.formatter===`phone`||t?.type===`phone`||t?.renderType===`phone`)&&Jc(t,i,r)||i},ae=(e,t)=>{let n=String(e?.label??``).trim();if(!n)return``;let r=String(t??``).toLowerCase().split(/[\s/]+/).filter(Boolean),i=n.split(/\s+/),a=0;for(;a<i.length;){let e=i[a].toLowerCase();if(!r.some(t=>t===e||t.startsWith(e)||e.startsWith(t)))break;a+=1}return i.slice(a).join(` `).trim()},oe=(e,t,n,r,i=re)=>{let a=e.map(e=>({field:e,cell:n(e)})),s=a.filter(({cell:e})=>le(e)).map(({cell:e})=>({...e,renderType:`document`})).filter(e=>Ic(e.value)),c=typeof t.combineLabel==`string`&&t.combineLabel.trim()?t.combineLabel:t.label??t.field,l=a.filter(({cell:e})=>!le(e)).filter(({cell:e})=>!Bc(e,e.value)).map(({field:e,cell:t})=>({key:e.field,label:ae(e,c),text:ie(e,t.value,i)})).filter(e=>e.text!==``);if(!l.length&&!s.length&&Bc(t,void 0))return null;let u=l.map(e=>`${e.label?`${e.label} `:``}${e.text}`).join(` · `),d=V({detailCol:t.detailCol,value:u});return(0,o.jsx)(`div`,{className:`v1-detail-cell v1-detail-cell--wrap`,style:{"--v1-cell-span":s.length?Math.max(d,2):d},children:(0,o.jsxs)(`div`,{className:`v1-detail-field`,children:[(0,o.jsx)(Bl,{type:`secondary`,className:`v1-detail-label`,title:c,children:c}),(l.length>0||s.length===0)&&(0,o.jsx)(`div`,{className:`v1-detail-value v1-detail-parts`,children:l.length?l.map((e,t)=>(0,o.jsxs)(`span`,{className:`v1-detail-part`,children:[t>0&&(0,o.jsx)(`span`,{className:`v1-detail-part-sep`,"aria-hidden":`true`,children:`·`}),e.label&&(0,o.jsx)(`span`,{className:`v1-detail-part-label`,children:e.label}),(0,o.jsx)(`span`,{children:e.text})]},`${e.key}-part`)):`—`}),s.map(e=>(0,o.jsx)(zl,{field:e},`${e.field}-doc`))]})},`${t.field}-merged${r}`)},se=(e,t,n=``,r=re)=>{let i=new Set,a=[];return e.forEach(o=>{let s=o.combineKey?.trim?.();if(s){if(i.has(s))return;i.add(s);let o=e.filter(e=>e.combineKey?.trim?.()===s);if(o.length>1){let e=oe(o,o.find(e=>e.combineLabel)??o[0],t,n,r);e&&a.push(e);return}}let c=t(o);Bc(c,c.value)||a.push(H(c,n,r))}),a},ce=(0,r.useMemo)(()=>{let e={};for(let t of C){let n=t.fieldName||t.field||`file`;(e[n]??=[]).push({location:t.s3Key??t.location??t.uniqueName??``,name:t.fileName??t.name??``,fileUrl:t.fileUrl??t.url??``})}return e},[C]),le=e=>e.type===`file`||e.type===`document`||e.renderType===`document`,W=e=>ce[e.field]||e.fileKey&&ce[e.fileKey]||null,G=e=>String(e?.name||e?.location||``).trim().toLowerCase(),K=t=>{let[n]=e.ut(t);return!n||!n.location&&!n.url?null:G(n)},ue=(e,t=[])=>{let n=new Set,r=[],i=e=>{if(e==null||e===``)return;let t=K(e);t!==null&&(t&&n.has(t)||(t&&n.add(t),r.push(e)))};return t.forEach(i),(Array.isArray(e)?e:[e]).forEach(i),r},de=t=>e.ut(t).map(G).filter(Boolean),fe=e=>{let t=(e.validations??[]).find(e=>e?.type===`maxFiles`);return t?Math.max(1,Number(t.value??1)):Hl(e.multiple)?Math.max(1,Number(e.maxCount??5)):Math.max(1,Number(e.maxCount??1))},pe=(e,t,n)=>{let r=fe(e);if(t.length<=r)return t;let[i]=de(n);return(i?[...t].sort((e,t)=>Number(K(t)===i)-Number(K(e)===i)):t).slice(0,r)},me=(t,n)=>{if(t.type===`file`||t.type===`document`)return{...t,renderType:`document`,value:n};let r=[t.field,t.payloadKey].filter(Boolean).map(t=>e.yt(n,t)).find(e=>e!=null);return{...t,value:r}},he=e=>{if(!le(e))return e;let t=pe(e,ue(e.value,W(e)??[]),e.value);return t.length?{...e,renderType:`document`,value:t}:e},ge=(e,t,n)=>{let r=e.name??e.id??String(t),a=Array.isArray(e.rows)?e.rows:[],s=new Set(a.flatMap(e=>de(e))),c=[],l=new Set;return n.filter(le).forEach(e=>{(W(e)??[]).forEach(e=>{let t=G(e);!t||s.has(t)||l.has(t)||(l.add(t),c.push(e))})}),(0,o.jsxs)(i.Card,{size:`small`,className:`v1-card v1-detail-card`,title:(0,o.jsx)(Ql,{icon:Vl[t%Vl.length],title:e.label??e.name??`Details`}),children:[a.length===0&&c.length===0?(0,o.jsx)(i.Empty,{image:i.Empty.PRESENTED_IMAGE_SIMPLE,description:`No ${e.label??`records`} added`}):a.map((t,r)=>(0,o.jsxs)(`div`,{className:`v1-detail-addrow-item`,children:[a.length>1&&(0,o.jsxs)(Bl,{strong:!0,className:`v1-detail-addrow-index`,children:[e.label??`Record`,` `,r+1]}),(0,o.jsx)(`div`,{className:`v1-detail-grid`,children:se(n,e=>me(e,t),`-${r}`,t)})]},r)),c.length>0&&(0,o.jsx)(`div`,{className:`v1-detail-addrow-item`,children:(0,o.jsx)(`div`,{className:`v1-detail-grid`,children:H({field:`${r}-files`,label:`Uploaded Files`,renderType:`document`,detailCol:24,value:c})})})]},r)},_e=(e,t)=>{let n=e.name??e.id??String(t),r=B?e.fields.filter(e=>e.field!==B.key):e.fields;return r.length?e.addRow?ge(e,t,r):(0,o.jsx)(i.Card,{size:`small`,className:`v1-card v1-detail-card`,title:(0,o.jsx)(Ql,{icon:Vl[t%Vl.length],title:e.label??e.name??`Details`}),children:(0,o.jsx)(`div`,{className:`v1-detail-grid`,children:se(r,he)})},n):null},ve=()=>(0,o.jsx)(i.Card,{size:`small`,className:`v1-card v1-detail-card`,title:(0,o.jsx)(Ql,{icon:(0,o.jsx)(a.HistoryOutlined,{}),title:R}),children:I.map((e,t)=>(0,o.jsxs)(`div`,{className:`v1-rh-section${t>0?` v1-rh-section--gap`:``}`,children:[(0,o.jsx)(`div`,{className:`v1-rh-section-title`,children:e.label}),(0,o.jsx)(`div`,{className:`v1-rate-history`,children:e.entries.map((e,t)=>(0,o.jsxs)(`div`,{className:`v1-rh-item${t===0?` v1-rh-latest`:``}`,children:[(0,o.jsx)(`span`,{className:`v1-rh-amount`,children:e.amount}),e.unit&&(0,o.jsxs)(`span`,{className:`v1-rh-unit`,children:[`/ `,e.unit]}),e.by&&(0,o.jsxs)(`span`,{className:`v1-rh-chip`,children:[(0,o.jsx)(a.UserOutlined,{}),` `,e.by]}),e.when&&(0,o.jsxs)(`span`,{className:`v1-rh-chip`,children:[(0,o.jsx)(a.ClockCircleOutlined,{}),` `,e.when]}),t===0&&(0,o.jsx)(`span`,{className:`v1-rh-badge`,children:`Latest`})]},t))})]},e.key))},`rate-details-history`),ye=(0,r.useMemo)(()=>{let e=d.find(e=>Hl(e.appendHistory)&&e.historyAfterGroup);return String(e?.historyAfterGroup??``).trim().toLowerCase()},[d]),be=e=>ye?String(e.name??``).trim().toLowerCase()===ye:/current_employer|employer_details/i.test(e.name||``)||(e.fields||[]).some(e=>e.field===`employerId`);return(0,o.jsx)(i.Spin,{spinning:p,tip:`Loading detail fields...`,children:(0,o.jsxs)(`div`,{className:`v1-detail-left`,children:[h&&(0,o.jsx)(i.Alert,{type:`error`,showIcon:!0,message:`Unable to load detail fields`,description:h,className:`v1-detail-alert`}),!p&&!h&&L.length===0&&I.length===0&&(0,o.jsx)(i.Empty,{description:`No detail fields are configured.`}),L.flatMap((e,t)=>{let n=[_e(e,t)];return be(e)&&I.length>0&&n.push(ve()),n}),I.length>0&&!L.some(be)&&ve(),z&&B?.value&&(0,o.jsx)(i.Card,{size:`small`,className:`v1-card v1-detail-card`,title:(0,o.jsx)(Ql,{icon:(0,o.jsx)(a.FileTextOutlined,{}),title:`Description`}),children:_?(0,o.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:12},children:[(0,o.jsx)(`div`,{style:{background:`#ffffff`,border:`1px solid #d6e4f0`,borderRadius:8,padding:`4px`,boxShadow:`0 2px 8px rgba(0,0,0,0.04)`},children:(0,o.jsx)(i.Input.TextArea,{rows:10,value:y,onChange:e=>b(e.target.value),placeholder:B.hidePlaceholder?void 0:B.placeholder,style:{fontSize:13,lineHeight:1.65,border:`none`,boxShadow:`none`,resize:`vertical`,padding:`12px 14px`}})}),(0,o.jsxs)(`div`,{style:{display:`flex`,gap:8},children:[(0,o.jsx)(e.z,{variant:`primary`,size:`small`,loading:x,onClick:te,children:`Save & Parse`}),(0,o.jsx)(e.z,{size:`small`,onClick:ee,children:`Cancel`})]})]}):(0,o.jsx)($l,{value:B.value})})]})})}var tu=e.Nr({buildJobHeaderData:()=>lu,default:()=>nu,jobConfig:()=>nu}),nu={module:`job`,tabs:[{key:`details`,label:`Details`},{key:`candidates`,label:`Candidates`}],tabContent:{details:{render:({id:e,refreshKey:t,onDescriptionSaved:n})=>r.default.createElement(i.Row,{gutter:[16,16],align:`stretch`},r.default.createElement(i.Col,{key:`main`,xs:24,lg:16},r.default.createElement(eu,{moduleName:`job`,id:e,refreshKey:t,onDescriptionSaved:n})),r.default.createElement(i.Col,{key:`side`,xs:24,lg:8},r.default.createElement(Us,{moduleName:`job`,id:e})))}},header:{title:`jobTitle`,eyebrow:({val:e})=>{let t=[];return xc(iu(e))&&t.push(wc(iu(e))),xc(au(e))&&t.push(`MSP Id ${wc(au(e))}`),t.length?t.join(` - `):xc(e(`jobReferenceId`))?String(e(`jobReferenceId`)):``},clientName:({val:e})=>iu(e),titleIds:[],status:{field:`jobStatus`},ids:[{label:`Zinnext Job ID`,field:`jobReferenceId`},{label:`Client Rate`,compute:su}],meta:[{icon:`location`,field:`jobLocation`},{icon:`experience`,compute:ou},{icon:`employment`,fields:[`employmentType`,`jobRemoteStatus`],join:` · `}],stats:[{label:`Target submissions`,field:[`targetSubmission`,`targetSubmissions`]},{label:`In Pipeline`,compute:cu,always:!0}],timestamp:{label:`Created Date`,field:[`createdAt`,`jobCreatedDateTime`,`createdDate`]}}},ru=(e,...t)=>t.map(t=>e(t)).find(xc),iu=e=>ru(e,`clientName`,`client.name`,`client`,`clientId`,`accountName`),au=e=>ru(e,`mspReqId`,`mspreqId`,`msReqId`,`mspId`,`mspRequirementId`);function ou({val:e}){let t=e(`experience.experienceRequiredFrom`);if(!xc(t))return``;let n=e(`experience.experienceRequiredTo`);return`${t}${xc(n)?` - ${n}`:``} years`}function su({val:e}){let t=e(`jobPayDetails`)??{},n=t.clientBudgetStart??ru(e,`clientBudgetStart`,`clientRateStart`);return xc(n)?Dc({start:n,end:t.clientBudgetEnd??ru(e,`clientBudgetEnd`,`clientRateEnd`),sym:t.clientBudgetCurrencySymbol??Tc(t.clientBudgetCurrency)??``,unit:t.clientBudgetUnit??ru(e,`clientBudgetUnit`)}):``}function cu({val:e}){let t=e(`submissions`),n=ru(e,`pipelineCount`,`PipelineCount`,`inPipeline`,`inPipelineCount`)??(Array.isArray(t)?t.length:void 0);return xc(n)?n:0}function lu({val:e,has:t}){let n,r=[];t(e(`jobReferenceId`))&&(n=String(e(`jobReferenceId`)));let i=[e(`jobTitle`)].filter(t).map(wc).join(` `)||`-`,a=null;if(t(e(`jobSource`))&&(a={label:Sc(e(`jobSource`)),color:`#10b981`,textColor:`#ffffff`}),t(e(`jobLocation`))&&r.push({icon:`location`,text:wc(e(`jobLocation`))}),t(e(`experience.experienceRequiredFrom`))){let n=e(`experience.experienceRequiredFrom`),i=e(`experience.experienceRequiredTo`);r.push({icon:`experience`,text:`${n}${t(i)?` - ${i}`:``} years`})}let o=[e(`employmentType`),wc(e(`jobRemoteStatus`))].filter(t).join(` - `);o&&r.push({icon:`employment`,text:o});let s=t(e(`clientId`))?Cc(e(`clientId`)):null;return{eyebrow:n,title:i,status:a,meta:r,clientId:s}}var uu=e.Nr({default:()=>du,payrollConfig:()=>du}),du={module:`payroll`,tabs:[],header:{variant:`finance`,title:`candidateName`,eyebrow:`designation`,statusField:`payroll.status`,chips:gc}},fu=e.Nr({default:()=>pu,submissionConfig:()=>pu}),pu={module:`submission`,tabs:[],header:{title:[`firstName`,`lastName`],eyebrow:({val:e,has:t})=>[mu(e),e(`jobTitle`)].filter(t).map(wc).join(` - `),clientName:({val:e})=>mu(e),status:({val:e,has:t})=>{let n=e(`internalSubmissionStatus`)??{},r=n.internalSubmissionStatusText;return t(r)?{label:Sc(r),color:{positive:`success`,negative:`error`,neutral:`default`}[n.internalSubmissionStatusType]??Oc(r)}:null},ids:[{label:`Submission ID`,field:[`submissionId`,`clientSubmissionId`]},{label:`MS Req ID`,field:[`mspReqId`,`mspreqId`]},{label:`Client Req ID`,field:[`jobClientRefrenceId`,`jobClientReferenceId`,`clientJobReferenceId`]},{label:`Job ID`,field:[`jobRefrenceId`,`jobReferenceId`]}],meta:[{icon:`location`,field:`jobLocation`},{icon:`experience`,field:[`relevantExperienceYears`,`workExperienceYears`],suffix:` yrs`},{icon:`employment`,field:`workAuthorisation`},{icon:`rate`,prefix:`Client rate: `,compute:hu},{icon:`rate`,prefix:`Candidate rate: `,compute:gu}],timestamp:{label:`Created Date`,field:[`submittedAt`,`createdAt`,`createdDate`]}}},mu=e=>e(`clientName`)??e(`client.name`);function hu({val:e}){let t=e(`clientBudget`)??e(`candidateBudget`)??{};return Dc({start:t.clientBudgetStart??t.candidateBudgetStart,end:t.clientBudgetEnd??t.candidateBudgetEnd,sym:t.clientBudgetCurrencySymbol??t.candidateBudgetCurrencySymbol??Tc(t.clientBudgetCurrency??t.candidateBudgetCurrency),unit:t.clientBudgetUnit??t.candidateBudgetUnit??`Hour`})}function gu({val:e}){let t=e(`candidateRate`)??{},n=e(`proposedRate`)??{};return Dc({start:t.candidateAcceptedRate,sym:t.candidateAcceptedCurrencySymbol??Tc(t.candidateAcceptedCurrency),unit:t.candidateAcceptedPayUnit??`Hour`})||Dc({start:n.candidateProposedRate,sym:n.candidateProposedRateCurrencySymbol??Tc(n.candidateProposedRateCurrency),unit:n.candidateProposedRateUnit??`Hour`})}var _u=e.Nr({default:()=>vu,submissionJobConfig:()=>vu}),vu={module:`submissionJob`,tabs:[],buildData:lu};function yu(e,t){let n=Array.isArray(t)?t:[t];for(let t of n)if(xc(e(t)))return e(t)}function bu(e,t,n=` `){return t.map(t=>e(t)).filter(xc).map(wc).join(n)}function xu(e,t){let{val:n}=e,r;if(typeof t.compute==`function`)r=t.compute(e);else if(t.join)r=bu(n,t.fields??[],t.join);else{let e=yu(n,t.field);r=xc(e)?wc(e):``}return xc(r)?`${t.prefix??``}${wc(r)}${t.suffix??``}`:``}function Su(e){return typeof e==`function`?{compute:e}:typeof e==`string`||Array.isArray(e)?{field:e}:e}function Cu(e={},t){let{val:n}=t,r={};if(e.title!==void 0&&(r.title=bu(n,Array.isArray(e.title)?e.title:[e.title])||`-`),e.eyebrow!==void 0&&(r.eyebrow=xu(t,Su(e.eyebrow))||void 0),e.clientName!==void 0&&(r.clientName=xu(t,Su(e.clientName))||void 0),e.status!==void 0)if(typeof e.status==`function`)r.status=e.status(t)??null;else{let t=yu(n,e.status.field);r.status=xc(t)?{label:Sc(t),color:Oc(t)}:null}let i=(e=[])=>e.map(e=>{let r=typeof e.compute==`function`?e.compute(t):wc(yu(n,e.field)??``);return{label:e.label,value:r}}).filter(e=>xc(e.value));if(e.ids!==void 0&&(r.ids=i(e.ids)),e.titleIds!==void 0&&(r.titleIds=i(e.titleIds)),e.meta!==void 0&&(r.meta=e.meta.map(e=>({icon:e.icon,text:xu(t,e)})).filter(e=>xc(e.text))),e.stats!==void 0&&(r.stats=e.stats.map(e=>{let r=typeof e.compute==`function`?e.compute(t):yu(n,e.field),i=xc(r)?wc(r):e.always?wc(e.fallback??0):void 0;return{label:e.label,value:i}}).filter(e=>e.value!==void 0)),e.timestamp!==void 0){let t=Ec(yu(n,e.timestamp.field));r.timestamp=xc(t)?{label:e.timestamp.label,value:t}:null}return r}var wu=Object.assign({"./modules/billingConfig.js":_c,"./modules/candidateConfig.js":kc,"./modules/jobConfig.js":tu,"./modules/payrollConfig.js":uu,"./modules/submissionConfig.js":fu,"./modules/submissionJobConfig.js":_u}),Tu={};Object.values(wu).forEach(e=>{let t=e.default??Object.values(e)[0];t?.module&&(Tu[t.module]=t)});var Eu={job:`job`,jobs:`job`,candidate:`candidate`,candidates:`candidate`,applicant:`candidate`,applicants:`candidate`,submission:`submission`,submissions:`submission`,vendor:`vendor`,vendors:`vendor`,onboarding:`onboarding`};function Du(){let e=(typeof window<`u`&&window.__CORE_THEME_CONFIG__?.detailConfig)??{};return Object.keys(e).length?{...Tu,...e}:Tu}function Ou(e=``,t=Tu){let n=String(e).trim();if(t[n])return n;let r=n.toLowerCase();if(t[r])return r;let i=Eu[r];if(i&&t[i])return i;let a=r.endsWith(`s`)?r.slice(0,-1):`${r}s`;return t[a]?a:i??r}function ku(e=[]){let t=new Map;return e.forEach(e=>{(e.fields??[]).forEach(e=>{t.has(e.field)||t.set(e.field,e)})}),t}function Au(e,t){for(let n of t)if(n.includes(`+`)){let t=n.split(`+`).map(t=>e(t)).filter(xc).map(wc).join(` `);if(t)return t}else if(xc(e(n)))return e(n)}function ju({val:e}){let t=Au(e,[`jobTitle`,`firstName+lastName`,`name`,`fullName`,`title`,`clientName`,`vendorCompanyName`,`companyName`])||`-`,n=Au(e,[`clientName`,`source`,`designation`,`jobReferenceId`,`applicantRefrenceId`]),r=xc(n)?wc(n):void 0,i=Au(e,[`status`,`jobStatus`,`submissionStatus`,`stage`]),a=xc(i)?{label:Sc(i),color:Oc(i)}:null,o=[];[[`Reference ID`,[`jobReferenceId`,`applicantRefrenceId`,`submissionId`,`referenceId`,`refId`]],[`Client Req ID`,[`clientJobReferenceId`,`jobClientRefrenceId`,`clientReqId`]],[`MS Req ID`,[`mspreqId`,`mspReqId`]]].forEach(([t,n])=>{let r=Au(e,n);xc(r)&&o.push({label:t,value:wc(r)})});let s=[],c=Au(e,[`jobLocation`,`currentLocation`,`location`]);xc(c)&&s.push({icon:`location`,text:wc(c)});let l=Au(e,[`designation`]);xc(l)&&s.push({icon:`designation`,text:wc(l)});let u=Ec(Au(e,[`createdAt`,`submittedAt`,`createdDate`]));return{eyebrow:r,title:t,status:a,ids:o,meta:s,timestamp:xc(u)?{label:`Created Date`,value:u}:null}}function Mu(e){let t=Du();return t[Ou(e,t)]??null}function Nu(e,t=[],{aux:n}={}){if(!t.length)return null;let r=Du(),i=r[Ou(e,r)],a=ku(t),o=e=>{let n=a.get(e);if(!n){let n=t.recordMeta;return n&&(e===`createdAt`||e===`updatedAt`)?n[e]:void 0}return bc(n.value)&&[`status`,`jobStatus`,`submissionStatus`].includes(e)&&!bc(n.defaultValue)?n.defaultValue:n.value},s=e=>a.get(e)??null,c=typeof n==`function`?n:()=>()=>void 0,l=ju({val:o,has:xc}),u=i?.buildData?i.buildData({val:o,has:xc,field:s,aux:c})??{}:i?.header?Cu(i.header,{val:o,has:xc,field:s,aux:c}):{},d=(e,t)=>Array.isArray(e)?e:t??[],f=u.status===!1?null:u.status??l.status??null;return{eyebrow:u.eyebrow??l.eyebrow,title:u.title??l.title??`-`,clientName:u.clientName??null,clientId:u.clientId??null,status:f,titleIds:d(u.titleIds,l.titleIds),meta:d(u.meta,l.meta),ids:d(u.ids,l.ids),stats:u.stats??[],timestamp:u.timestamp??l.timestamp??null,tabs:i?.tabs??[]}}var Pu=e=>e==null||e===``,Fu={positive:`success`,success:`success`,negative:`error`,error:`error`,warning:`warning`,info:`processing`,neutral:`default`,default:`default`};function Iu(e){return e?(Array.isArray(e)?e:[e]).filter(e=>e?.field&&e?.label):[]}function Lu(t,n){let r=typeof n==`function`?n:()=>void 0;for(let n of Iu(t?.labelWhen)){let t=r(n.field);if(t!==void 0&&e.i(n,t))return n.label}return t?.label??``}function Ru(e){let t=e?.valueStyles;if(!Array.isArray(t)||!t.length)return null;let n=String(e?.value??e?.text??``).trim().toLowerCase();if(!n)return null;let r=t.find(e=>String(e?.value??``).trim().toLowerCase()===n||String(e?.label??``).trim().toLowerCase()===n);return r?{color:r.color||void 0,bg:r.bg??r.background??r.backgroundColor??void 0}:null}function zu(e,t){let n=Lu(e,t),r=e?.value,i=Pu(e?.text)?[n,Pu(r)?``:String(r)].filter(Boolean).join(n&&!Pu(r)?`: `:``):String(e.text),a=e?.variant===`pill`?`pill`:`text`;if(a!==`pill`)return{icon:e?.icon,text:i,variant:a};let o=Ru(e);return{icon:e?.icon,text:i,label:n,value:Pu(r)?``:String(r),variant:a,tagColor:o?.color||o?.bg?void 0:Fu[e?.tone]??`default`,tagStyle:o?.color||o?.bg?{color:o.color,backgroundColor:o.bg,borderColor:o.bg??o.color}:void 0}}function Bu(e){return!e||typeof e!=`object`?[]:Object.entries(e).map(([e,t])=>{if(!t||typeof t!=`object`)return null;let n=String(t.module??``).trim(),r=t.id==null?``:String(t.id).trim();return!e||!n||!r?null:{key:String(e),module:n,id:r}}).filter(Boolean)}function Vu(e){return Bu(e).map(({key:e,module:t,id:n})=>`${e}:${t}:${n}`).sort().join(`|`)}function Hu(e){let t=new Map;for(let n of e??[])for(let e of n?.fields??[])e?.field!=null&&!t.has(e.field)&&t.set(e.field,e.value);return e=>t.get(e)}function Uu(e){let t=new Map;for(let[n,r]of Object.entries(e??{}))t.set(n,Hu(r));let n=()=>void 0;return e=>t.get(e)??n}var Wu=e=>{let t=Number(e);return Number.isFinite(t)?t:0};function Gu(e,t=`$`){let n=bl(e);return Sl(Number.isNaN(n)?0:n,hl(t),{decimals:2})}function Ku(e){return`${Wu(e).toFixed(2)} hrs`}function qu(e,t=`$`,n=`hr`){let r=yl(n,``),i=Gu(e,t);return r?`${i}/${r}`:i}function Ju(e){return`${parseFloat(Wu(e).toFixed(2))}%`}function Yu(e){let t=String(e??``).trim().split(/\s+/).filter(Boolean);return t.length?t.slice(0,2).map(e=>e[0].toUpperCase()).join(``):`·`}var Xu={TIMESHEET_APPROVED:{label:`Timesheet Approved`,icon:`check`,tone:`success`},BILLING_READY:{label:`Ready for Billing`,icon:`file`,tone:`info`},BILLING_INVOICED:{label:`Invoice Generated`,icon:`file`,tone:`info`},BILLING_PAID:{label:`Client Payment Received`,icon:`dollar`,tone:`success`},PAYROLL_PROCESSING:{label:`Payroll Processing Started`,icon:`sync`,tone:`warning`},PAYROLL_PAID:{label:`Payroll Disbursed`,icon:`dollar`,tone:`success`},PAYSLIP_GENERATED:{label:`Payslip Generated`,icon:`file`,tone:`info`}};function Zu(e){return Xu[e]||{label:String(e??``).toLowerCase().split(`_`).filter(Boolean).map(e=>e[0].toUpperCase()+e.slice(1)).join(` `)||`Activity`,icon:`file`,tone:`neutral`}}function Qu(e){return(Array.isArray(e)?e:[]).find(e=>e?.event===`TIMESHEET_APPROVED`)?.at??null}var $u=e=>({enabled:!0,variant:e,disabledReason:null}),ed=e=>({enabled:!1,variant:`default`,disabledReason:e}),td=[`PaymentNotReceived`,`Invoiced`,`Paid`],nd=[`Ready`,`Processing`,`Paid`];function rd(e){switch(e){case`PaymentNotReceived`:return{generateInvoice:$u(`primary`),recordPayment:ed(`Generate the invoice first`),markPaid:ed(`Generate the invoice first`)};case`Invoiced`:return{generateInvoice:ed(`Invoice already generated`),recordPayment:$u(`primary`),markPaid:$u(`default`)};case`Partially Received`:return{generateInvoice:ed(`Invoice already generated`),recordPayment:$u(`primary`),markPaid:$u(`default`)};case`Received`:case`Paid`:return{generateInvoice:ed(`Payment already received`),recordPayment:ed(`Payment already received`),markPaid:ed(`Payment already received`)};default:return{generateInvoice:ed(`Unavailable in the current status`),recordPayment:ed(`Unavailable in the current status`),markPaid:ed(`Unavailable in the current status`)}}}function id(e){switch(e){case`Ready`:return{process:$u(`primary`),generatePayslip:ed(`Mark the payroll paid first`),markPaid:ed(`Process the payroll first`)};case`Processing`:return{process:ed(`Payroll is already processing`),generatePayslip:ed(`Mark the payroll paid first`),markPaid:$u(`primary`)};case`Paid`:return{process:ed(`Payroll already paid`),generatePayslip:$u(`primary`),markPaid:ed(`Payroll already paid`)};default:return{process:ed(`Unavailable in the current status`),generatePayslip:ed(`Unavailable in the current status`),markPaid:ed(`Unavailable in the current status`)}}}function ad(e,t){if(e===`billing`){let e=Math.max(td.indexOf(t),0);return[{key:`approved`,label:`Timesheet Approved`,state:`done`},{key:`invoiced`,label:`Invoice Raised`,state:e>=1?`done`:`current`},{key:`paid`,label:`Payment Received`,state:e>=2?`done`:e===1?`current`:`pending`}]}let n=Math.max(nd.indexOf(t),0);return[{key:`approved`,label:`Timesheet Approved`,state:`done`},{key:`processing`,label:`Processing`,state:n>=1?`done`:`current`},{key:`paid`,label:`Paid`,state:n>=2?`done`:n===1?`current`:`pending`}]}var od=e=>Wu(e?.leave?.CL)+Wu(e?.leave?.SL),sd=e=>Wu(e?.workingHours?.ST),cd=e=>Wu(e?.workingHours?.OT);function ld(e){let t=Array.isArray(e)?e:[],n={loggedDays:0,approvedDays:0,rejectedDays:0,pendingDays:0,leaveDays:0,holidayDays:0,weekOffDays:0,stHours:0,otHours:0,leaveHours:0,totalHours:0,avgHoursPerLoggedDay:0};return t.forEach(e=>{let t=sd(e),r=cd(e),i=od(e);(e?.isLogged||t>0||r>0)&&(n.loggedDays+=1,e?.status===`approved`?n.approvedDays+=1:e?.status===`rejected`?n.rejectedDays+=1:n.pendingDays+=1),i>0&&(n.leaveDays+=1),e?.isHoliday&&(n.holidayDays+=1),e?.isWeekOff&&(n.weekOffDays+=1),n.stHours+=t,n.otHours+=r,n.leaveHours+=i,n.totalHours+=t+r}),n.avgHoursPerLoggedDay=n.loggedDays?n.totalHours/n.loggedDays:0,n}function ud(e,t){return(Array.isArray(e)?e:[]).filter(e=>!!e?.isLogged||sd(e)>0||cd(e)>0||od(e)>0||e?.isHoliday).map(e=>{let n=sd(e),r=cd(e),i=n+r;return{key:e.date,date:e.date,day:e.day||``,st:n,ot:r,leave:od(e),isHoliday:!!e?.isHoliday,total:i,amount:i*Wu(t),status:e?.status||`logged`,reviewer:e?.reviewedByName||``,remarks:e?.rejectionReason||e?.notes||``}})}function dd(e){let[t,n,r]=String(e??``).split(`-`).map(Number);return!t||!n||!r?null:new Date(t,n-1,r)}var fd=e=>e.toLocaleDateString(`en-US`,{month:`short`,day:`numeric`});function pd(e,t){let n=Array.isArray(e)?e:[],r=new Map;return n.forEach(e=>{let n=dd(e?.date);if(!n)return;let i=sd(e),a=cd(e),o=od(e);if(!e?.isLogged&&i<=0&&a<=0&&o<=0)return;let s=(n.getDay()+6)%7,c=new Date(n.getFullYear(),n.getMonth(),n.getDate()-s),l=c.getTime();if(!r.has(l)){let e=new Date(c.getFullYear(),c.getMonth(),c.getDate()+6);r.set(l,{weekStart:c,weekEnd:e,label:`${fd(c)} – ${fd(e)}`,st:0,ot:0,leaveHours:0,total:0,amount:0,days:0})}let u=r.get(l);u.st+=i,u.ot+=a,u.leaveHours+=o,u.total+=i+a,u.amount+=(i+a)*Wu(t),(e?.isLogged||i>0||a>0)&&(u.days+=1)}),[...r.values()].sort((e,t)=>e.weekStart-t.weekStart)}function md(e,{high:t=25,low:n=10}={}){let r=Wu(e);return r>=t?`high`:r<n?`low`:`mid`}function hd(e){let t=e==null?``:String(e);return/[",\n\r]/.test(t)?`"${t.replace(/"/g,`""`)}"`:t}function gd(e,t){return[t.map(e=>hd(e.label)).join(`,`),...(e??[]).map(e=>t.map(t=>hd(t.format?t.format(e[t.key],e):e[t.key])).join(`,`))].join(`\r
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./Breadcrumb-C6BLIsQr.cjs"),t=require("./authApi-CiLt3WJ5.cjs"),n=require("./diceCandidateMapper-MB-yyU21.cjs");let r=require("react");r=e.Pr(r,1);let i=require("antd"),a=require("@ant-design/icons"),o=require("react/jsx-runtime"),s=require("react-router-dom"),c=require("dayjs");c=e.Pr(c,1);let l=require("prop-types");l=e.Pr(l,1);async function u(e,{method:n=`POST`,params:r={},body:i={}}={}){let a={"Content-Type":`application/json`,Authorization:`Bearer ${await t.i()}`},o=new URLSearchParams({moduleName:e});Object.entries(r).forEach(([e,t])=>{t!=null&&t!==``&&o.append(e,String(t))});let s={method:n,headers:a};(n===`POST`||n===`PUT`)&&(s.body=JSON.stringify(i??{}));let c=await fetch(`${t.b}/dashboard/cards?${o.toString()}`,s);if(!c.ok)throw Error(`API ${c.status}: ${c.statusText}`);return c.json()}async function d(e={}){let n=await t.i(),r=await fetch(`${t.b}/dynamic-common-count`,{method:`POST`,headers:{"Content-Type":`application/json`,Authorization:`Bearer ${n}`},body:JSON.stringify(e)});if(!r.ok)throw Error(`API ${r.status}: ${r.statusText}`);return r.json()}async function f(e={}){let n=await t.i(),r=await fetch(`${t.b}/dashboard-calendar`,{method:`POST`,headers:{"Content-Type":`application/json`,Authorization:`Bearer ${n}`},body:JSON.stringify(e)});if(!r.ok)throw Error(`API ${r.status}: ${r.statusText}`);return r.json()}async function p(){return t.t(t.b,`/users/hierarchy-tree`)}var{Title:m,Text:h}=i.Typography,g=[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`],_=[`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`,`Sun`],v=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],y={green:`#22c55e`,red:`#ef4444`,orange:`#f97316`,blue:`#3b82f6`};function b(e){return y[e]||e||`#586888`}function x(e){return String(e).padStart(2,`0`)}function S(e,t,n=`Sun`){let r=new Date(e,t,1).getDay(),i=n===`Mon`?r===0?6:r-1:r,a=new Date(e,t+1,0).getDate(),o=[];for(let e=0;e<i;e++)o.push({day:null,cur:!1});for(let e=1;e<=a;e++)o.push({day:e,cur:!0});for(;o.length%7!=0;)o.push({day:null,cur:!1});return o}function C(e,t){let n=[];for(let r=0;r<e.length;r+=t)n.push(e.slice(r,r+t));return n}function w(e){if(!e)return{text:``,author:null};let t=e.match(/\n\s*-\s*([^\n]+)\s*$/);return t?{text:e.slice(0,t.index).trim(),author:t[1].trim()}:{text:e.trim(),author:null}}function T(e=[]){let t={};return e.forEach(e=>{t[e.date]=(e.events||[]).map(e=>{let{text:t,author:n}=w(e.description);return{color:e.color,label:e.label,title:e.title,text:t,author:n}})}),t}function E({events:e}){return(0,o.jsx)(`div`,{style:{maxWidth:280,maxHeight:260,overflowY:`auto`},children:e.map((t,n)=>(0,o.jsxs)(`div`,{style:{display:`flex`,gap:8,padding:`6px 0`,borderBottom:n<e.length-1?`1px solid #f0f0f0`:`none`},children:[(0,o.jsx)(`span`,{className:`calendar-dot`,style:{background:b(t.color),marginTop:6,flexShrink:0}}),(0,o.jsxs)(`div`,{style:{minWidth:0},children:[(0,o.jsx)(h,{strong:!0,style:{fontSize:13,display:`block`},children:t.title||t.label}),t.text&&(0,o.jsx)(h,{style:{fontSize:12,color:`#555`,whiteSpace:`pre-line`,wordBreak:`break-word`},children:t.text}),t.author&&(0,o.jsxs)(h,{style:{fontSize:11,color:`#999`,display:`block`,marginTop:2},children:[`— `,t.author]})]})]},n))})}function D({userIds:e=[],days:t=void 0,startDay:n=`Sun`,renderDayContent:s=void 0,onDayClick:c=void 0,headerExtra:l=void 0,legend:u=void 0,readonly:d=!1,className:p=``,monthLabel:y=void 0,year:w=void 0,month:D=void 0,onPrevMonth:O=void 0,onNextMonth:k=void 0,prevDisabled:A=!1,nextDisabled:j=!1}){let M=t!==void 0||s!==void 0||c!==void 0,N=new Date,[P,F]=(0,r.useState)({year:N.getFullYear(),month:N.getMonth()}),I=w!=null&&D!=null?{year:Number(w),month:Number(D)-1}:P,[L,R]=(0,r.useState)({}),[z,B]=(0,r.useState)([]),[ee,te]=(0,r.useState)(!1),[V,ne]=(0,r.useState)(null),re=JSON.stringify(e),H=n===`Mon`?_:g,U=(0,r.useCallback)(async()=>{te(!0);try{let t=await f({userIds:e});t?.status&&t?.data?(B(t.data.legend||[]),R(T(t.data.days||[]))):(B([]),R({}))}catch(e){console.error(`CalendarCard fetch error:`,e)}finally{te(!1)}},[re]);(0,r.useEffect)(()=>{M||U()},[M,U]),(0,r.useEffect)(()=>(window.addEventListener(`dashboard-calendar:refresh`,U),()=>window.removeEventListener(`dashboard-calendar:refresh`,U)),[U]);let ie=O??(()=>F(e=>e.month===0?{year:e.year-1,month:11}:{...e,month:e.month-1})),ae=k??(()=>F(e=>e.month===11?{year:e.year+1,month:0}:{...e,month:e.month+1})),oe=C(S(I.year,I.month,n),7),se={};t!==void 0&&(t||[]).forEach(e=>{e?.date&&(se[e.date]=e)});let ce=u??z,le=y??`${v[I.month]} ${I.year}`;return(0,o.jsx)(i.Card,{className:`calendar-card${p?` ${p}`:``}`,title:(0,o.jsxs)(`div`,{className:`calendar-header-title`,children:[(0,o.jsx)(a.CalendarOutlined,{}),(0,o.jsx)(m,{level:5,style:{margin:0},children:le}),l]}),extra:(0,o.jsxs)(`div`,{className:`calendar-nav`,style:{display:`flex`,alignItems:`center`,gap:6},children:[(0,o.jsx)(i.Tooltip,{title:`Previous month`,children:(0,o.jsx)(i.Button,{type:`text`,icon:(0,o.jsx)(a.LeftOutlined,{}),size:`small`,onClick:ie,disabled:A})}),(0,o.jsx)(i.Tooltip,{title:`Next month`,children:(0,o.jsx)(i.Button,{type:`text`,icon:(0,o.jsx)(a.RightOutlined,{}),size:`small`,onClick:ae,disabled:j})})]}),children:(0,o.jsxs)(i.Spin,{spinning:ee,children:[(0,o.jsx)(i.Row,{gutter:[6,0],className:`calendar-day-names`,children:H.map(e=>(0,o.jsx)(i.Col,{flex:`1`,className:`calendar-day-name`,children:e},e))}),(0,o.jsx)(`div`,{className:`calendar-weeks`,children:oe.map((e,t)=>(0,o.jsx)(i.Row,{gutter:[6,6],align:`top`,className:`calendar-week-row`,children:e.map((e,t)=>{if(!e.cur||e.day===null)return(0,o.jsx)(i.Col,{flex:`1`,children:(0,o.jsx)(`div`,{className:`calendar-cell calendar-cell--filler`})},t);let n=`${I.year}-${x(I.month+1)}-${x(e.day)}`,r=e.day===N.getDate()&&I.month===N.getMonth()&&I.year===N.getFullYear();if(M){let a=se[n]??null;return s?(0,o.jsx)(i.Col,{flex:`1`,children:s(n,a,{isToday:r,readonly:d})},t):(0,o.jsx)(i.Col,{flex:`1`,children:(0,o.jsx)(`div`,{className:[`calendar-cell`,r?`today`:``,d?`calendar-cell--readonly`:``].filter(Boolean).join(` `),onClick:()=>!d&&c?.(n,a),style:{cursor:d?`default`:`pointer`},children:(0,o.jsx)(`div`,{className:`calendar-cell-inner`,children:(0,o.jsx)(h,{className:`calendar-cell-number`,children:e.day})})})},t)}let a=L[n]||[],l=[...new Set(a.map(e=>e.color))].slice(0,3);return(0,o.jsx)(i.Col,{flex:`1`,children:(0,o.jsx)(`div`,{className:`calendar-cell${r?` today`:``}`,children:(0,o.jsxs)(`div`,{className:`calendar-cell-inner`,children:[(0,o.jsx)(h,{className:`calendar-cell-number`,children:e.day}),a.length>0&&(0,o.jsx)(i.Popover,{open:V===n,trigger:`click`,content:(0,o.jsx)(E,{events:a}),placement:`topRight`,destroyTooltipOnHide:!0,onOpenChange:e=>ne(e?n:null),children:(0,o.jsx)(`div`,{className:`calendar-cell-dots`,children:l.map((e,t)=>(0,o.jsx)(`span`,{className:`calendar-dot`,style:{background:b(e)}},t))})})]})})},t)})},t))}),ce.length>0&&(0,o.jsx)(`div`,{className:`calendar-legend`,children:ce.map(({label:e,color:t,icon:n})=>(0,o.jsxs)(`div`,{className:`calendar-legend-item`,children:[n?(0,o.jsx)(`span`,{className:`calendar-legend-badge`,style:{background:b(t)},children:n}):(0,o.jsx)(`span`,{className:`calendar-legend-dot`,style:{background:b(t)}}),(0,o.jsx)(h,{children:e})]},e))})]})})}function O(e){return e!=null}function k(e){let t=String(e);return t.charAt(0).toUpperCase()+t.slice(1)}function A(e,t){if(!e||typeof e!=`object`)return null;let n=e.key??e.value??e.id??String(t),r=e.title??e.tabTitle??e.label??e.name,a=e.count??e.countValue;return!n||!r?null:{...e,key:String(n),label:(0,o.jsxs)(i.Space,{size:6,children:[(0,o.jsx)(`span`,{children:k(r)}),O(a)&&(0,o.jsx)(i.Badge,{className:`dynamic-tabs-count`,count:a,overflowCount:2**53-1})]})}}function j({tabs:e=[],activeKey:t,onChange:n,className:r,extra:a}){let s=e.map(A).filter(Boolean);return s.length?(0,o.jsx)(i.Tabs,{activeKey:s.some(e=>e.key===t)?t:s[0].key,className:r,items:s,onChange:n,tabBarExtraContent:a}):null}function M(){return{tenantId:localStorage.getItem(`tenantId`)||``,businessId:localStorage.getItem(`businessId`)||``,businessUnitId:localStorage.getItem(`businessUnitId`)||``}}function N(){return Number(localStorage.getItem(`userId`))||0}var P=e=>e?.data??e,F=new Map;function I(e){return e?.recruiterId??e?.legacyUserId??e?.user_id??e?.userId??e?.USER_ID??e?.id??e?._id}function L(e){return!e||typeof e!=`object`?``:[e.first_name??e.firstName??e.FIRST_NAME,e.last_name??e.lastName??e.LAST_NAME].filter(Boolean).join(` `).trim()||e.recruiterName||e.name||e.user_name||e.userName||e.USER_NAME||e.email||``}async function R(e){let n=String(e??``).trim();return n?(F.has(n)||F.set(n,t.a(t.b,`/get-detailed-view?userId=${encodeURIComponent(n)}`).then(e=>L(e?.data??e??null)).catch(()=>``)),F.get(n)):``}async function z(e){let t=await R(I(e));return{...e,name:t||L(e)}}async function B(e,n,r){return P(await t.a(t.b,`/module-data-update`,{method:`PUT`,body:JSON.stringify({module:e,ids:n,updates:{status:r}})}))}async function ee(e,n){let r=Array.isArray(n)?n:[n],i=await Promise.all(r.filter(Boolean).map(n=>t.a(t.b,`/module/delete/${encodeURIComponent(n)}?module=${encodeURIComponent(e)}`,{method:`DELETE`})));return i[i.length-1]??{}}async function te(e){return P(await t.a(t.S,`/joblist`,{method:`POST`,body:JSON.stringify({...M(),searchQuery:e,userId:N()})}))}async function V(e=``){return t.t(t.S,`/users/any${e?`?search=${encodeURIComponent(e)}`:``}`)}async function ne({relatedIds:e,module:n,title:r,targetDate:i,notes:a}){return t.a(t.S,`/notes`,{method:`POST`,body:JSON.stringify({schemaVersion:1,...M(),title:r,notes:a,notesFor:n||`general`,notesRelatedId:Array.isArray(e)&&e.length?e:null,reminder:i?{type:`single`,time:i,interval:``}:null,targetDate:i||null})})}async function re(e,{title:n,targetDate:r,notes:i}){return t.a(t.S,`/notes/${encodeURIComponent(e)}`,{method:`PUT`,body:JSON.stringify({title:n,notes:i,reminder:r?{type:`single`,time:r,interval:``}:null,targetDate:r||null})})}async function H(e){return t.a(t.S,`/notes/${encodeURIComponent(e)}/resolve`,{method:`PUT`})}async function U({jobId:e,candidateIds:n,hiringStage:r}){return t.a(t.S,`/source/hiringStgUpdate`,{method:`PUT`,body:JSON.stringify({...M(),multiJobId:Array.isArray(e)?e:[e],applicantId:Array.isArray(n)?n:[n],updateStatus:String(r??``).toLowerCase(),updateStatusType:`call`,responseType:`responded`,hiriringStatusChangeType:`tagToJobs`,comments:``,userId:N()})})}async function ie(){return P(await t.a(t.b,`/masters/dropdown?masterName=candidateGroups&offset=0&limit=50`))}async function ae({candidateIds:e,groupId:n,groupName:r}){return P(await t.a(t.x,`/actions/update-group`,{method:`PUT`,body:JSON.stringify({candidateIds:e,groupId:n,groupName:r})}))}async function oe({jobIds:e,rate:n,priority:r}){return t.a(t.S,`/assign?type=self`,{method:`PUT`,body:JSON.stringify({multiJobId:Array.isArray(e)?e:[e],userId:N(),schemaVersion:1,...M(),priority:r==null?`false`:String(r),priorityFrom:null,recruitersData:[]})})}async function se(e){if(!e)return{assignedUsers:[],totalSubmissions:0,targetSubmissions:0,message:``};let n=await t.a(t.S,`/self-assign?jobId=${encodeURIComponent(e)}`),r=n?.data,i=n?.message??``;return Array.isArray(r)?{assignedUsers:await Promise.all(r.map(z)),totalSubmissions:0,targetSubmissions:0,message:i}:!r||typeof r!=`object`?{assignedUsers:[],totalSubmissions:0,targetSubmissions:0,message:i}:{assignedUsers:await Promise.all((Array.isArray(r.assignedUsers)?r.assignedUsers:[]).map(z)),totalSubmissions:r.totalSubmissions??0,targetSubmissions:r.targetSubmissions??0,message:i}}function ce(e){let t=e?.user_id??e?.userId??e?.USER_ID??e?.legacyUserId??e?.id??e?._id,n=t==null?``:String(t).trim();if(!n)return null;let r=[e?.first_name??e?.firstName,e?.last_name??e?.lastName].filter(Boolean).join(` `).trim(),i=e?.name||e?.user_name||e?.userName||e?.USER_NAME||r||e?.email||n;return{...e,label:String(i),value:n}}async function le(){let e=await t.t(t.S,`/users/manager`);return(Array.isArray(e)?e:e?[e]:[]).map(ce).filter(Boolean)}async function W(e){if(!e)return{recruitersData:[]};let n=await t.t(t.S,`/pay-details/${encodeURIComponent(e)}`),r=n&&typeof n==`object`&&Array.isArray(n.recruiters)?n.recruiters:[],i=(await Promise.all(r.map(async e=>{let t=e?.recruiterId??e?.user_id??e?.userId??e?.id;if(t==null||t===``)return null;let n=L(e),r=n?{...e,name:n}:await z({...e,recruiterId:t});return{recruiterId:t,id:t,user_id:t,name:r.name,role_name:r.role_name??r.roleName??``,reporting_name:r.reporting_name??r.reportingName??``}}))).filter(Boolean);return{...n&&typeof n==`object`?n:{},recruitersData:i}}function G(e){let t=typeof e==`object`?e?.recruiterId??e?.user_id??e?.userId??e?.id:e,n=Number(t);return Number.isInteger(n)&&n>0?n:null}function K({jobIds:e,userId:t,rate:n,priority:r,removedIds:i,existingRecruiters:a}){let o=new Set((i??[]).map(String)),s=(a??[]).map(G).filter(e=>e!==null&&!o.has(String(e))),c=(Array.isArray(t)?t:[t]).map(G).filter(e=>e!==null);if(c.length===0)throw Error(`A valid user must be selected before assigning the job`);let l=Array.from(new Set([...s,...c]));return{multiJobId:Array.isArray(e)?e:[e],userId:c[0],schemaVersion:1,...M(),priority:String(r??!1),priorityFrom:``,recruitersData:l}}async function ue(e){return t.a(t.S,`/assign?type=other`,{method:`PUT`,body:JSON.stringify(K(e))})}async function de({submissionId:e,isMail:n=!1}){return P(await t.a(t.b,`/submissions/move-to-onboarding`,{method:`POST`,body:JSON.stringify({submissionId:e,isMail:!!n})}))}async function fe(e,n){return P(await t.a(t.b,`/submissions/approve`,{method:`POST`,body:JSON.stringify({submissionId:e,...n})}))}async function pe(e){return P(await t.a(t.b,`/submissions/vms-approve?submissionId=${encodeURIComponent(e)}`))}async function me(e,{submissionId:n=``,billRate:r,payRate:i,currency:a=`$`,rateUnit:o=`hr`,referralId:s,referralRate:c,referralType:l,referralEnabled:u,vmsPercent:d=0,documentIds:f=[],remarks:p=null}={}){let m=e?`/workforce-engagements/${encodeURIComponent(e)}/cfo-approval/send`:`/submissions/${encodeURIComponent(n)}/cfo-approval/send`;if(!e&&!n)throw Error(`Submission is required to send for approval.`);let h=typeof window<`u`?window.location.origin:``,g=e||n;return P(await t.a(t.C,m,{method:`POST`,body:JSON.stringify({proposedRate:{candidateProposedRate:Number(r)||0,candidateProposedRateCurrency:a,candidateProposedRateCurrencySymbol:``,candidateProposedRateUnit:o},candidateRate:{candidateAcceptedRate:Number(i)||0,candidateAcceptedCurrency:a,candidateAcceptedCurrencySymbol:``,candidateAcceptedPayUnit:o,candidateAcceptedRateNegotiable:!1},...s!=null&&s!==``?{referralId:s}:{},...c==null?{}:{referralRate:Number(c)||0},...l!=null&&l!==``?{referralType:l}:{},...u==null?{}:{referralEnabled:!!u},vmsPercent:Number(d)||0,documentIds:f,remarks:p,approvalUrl:`${h}/cfo-approval/${encodeURIComponent(g)}`})}))}async function he({submissionId:e,rejectReasonId:n,rejectReason:r,rejectReasonComments:i}){return P(await t.a(t.b,`/submissions/reject`,{method:`POST`,body:JSON.stringify({submissionId:e,rejectReasonId:n,rejectReason:r,rejectReasonComments:i})}))}async function ge({jobId:e,applicantId:n}){return P(await t.a(t.b,`/submissions/exists?${new URLSearchParams({jobId:String(e??``),applicantId:String(n??``)}).toString()}`))??{exists:!1}}async function _e({searchQuery:e,candidateId:n}){let r=P(await t.a(t.b,`/quick-submit/job-search`,{method:`POST`,body:JSON.stringify({searchQuery:e??``,candidateId:n?String(n):``})}));return Array.isArray(r)?r:[]}async function ve({search:e,jobId:n}){let r=P(await t.a(t.b,`/quick-submit/candidate-search`,{method:`POST`,body:JSON.stringify({search:e??``,jobId:n?String(n):``})}));return Array.isArray(r)?r:[]}async function ye({jobId:e,applicantId:n,jobIds:r,applicantIds:i}){let a=!!e,o={};if(e&&(o.jobId=String(e)),n&&(o.applicantId=String(n)),Array.isArray(r)&&(o.jobIds=r.filter(Boolean).map(String)),Array.isArray(i)&&(o.applicantIds=i.filter(Boolean).map(String)),!(a?o.applicantIds:o.jobIds)?.length)return new Map;let s=P(await t.a(t.b,`/submissions/exists-bulk`,{method:`POST`,body:JSON.stringify(o)}))?.pairs??[];return new Map(s.map(e=>[String(a?e.applicantId:e.jobId),{submissionId:e.submissionId??``,submittedAt:e.submittedAt??null}]))}async function be({jobId:e,candidateIds:n}){return t.a(t.S,`/source/hiringStgUpdate`,{method:`PUT`,body:JSON.stringify({...M(),multiJobId:Array.isArray(e)?e:[e],applicantId:Array.isArray(n)?n:[n],updateStatus:`pipeline`,updateStatusType:`call`,responseType:`responded`,hiriringStatusChangeType:`tagToJobs`,comments:``,userId:N()})})}var xe={jobsCount:[`total`,`Total Jobs`,`active`,`Active Jobs`,`myAssignedCount`,`My Jobs`],submissionCount:[`Selected`,`Submitted to client`,`Submitted to Client`,`Not Submitted`,`Approved`]};function Se(e){return xe[e]??null}var Ce={stickyNotes:{title:`Sticky Notes`,variant:`sticky`,request:{method:`GET`,params:{limit:20,offset:0}},listPath:`data.data`,maxCount:4,viewAllUrl:`/viewall-sticky`,refreshEvent:`sticky-notes:refresh`,pillKey:`status`,headingKey:`title`,bodyKey:`notes`,bodyLines:3,footerLeftKey:`createdByName`,footerRightKey:`createdAt`,dateKey:`reminder.time`,colorBy:`status`,colorMap:{Note:`green`,Tagged:`red`},color:`auto`},jobsCount:{variant:`counts`,dynamicCommonCount:{module:`jobs`,keys:[`jobRecruitmentStatus`,`jobStatus`]},listPath:``,layout:`4x2`,groupSeparator:``,labelMap:{total:`Total Jobs`,active:`Active Jobs`,myAssignedCount:`My Jobs`},color:`#f1f3f8`,show:Se(`jobsCount`),hide:[`inactive`,`submitted`,`noSubmissions`]},submissionCount:{title:`Total Client Submission`,tooltipText:`Includes all submissions that are pending and submitted to the client.`,variant:`submission`,dynamicCommonCount:{module:`submissions`,keys:[`clientSubmissionStatus.clientSubmissionStatusText`]},listPath:``,totalKey:`total`,labelMap:{Selected:`Selected`,"Submitted to client":`Submitted to Client`,"Not Submitted":`Not Submitted`,Approved:`Approved`},colorMap:{Selected:`rgb(234, 175, 12)`,"Submitted to client":`green`,"Not Submitted":`red`,Approved:`#1d4ed8`},show:Se(`submissionCount`)},leadAptitude:{title:`Aptitude Test Results`,variant:`assessment`,request:{method:`GET`,params:{}},listPath:`data`,totalKey:`totalScore`,maxKey:`maximumScore`,statusKey:`status`,attemptDateKey:`attemptDate`,timeTakenKey:`timeTaken`,rankKey:`rank`,labelMap:{logicalReasoning:`Logical Reasoning`,quantitativeAptitude:`Quantitative Aptitude`,verbalAbility:`Verbal Ability`},colorMap:{logicalReasoning:`#7c3aed`,quantitativeAptitude:`#0891b2`,verbalAbility:`#16a34a`},hide:[`status`,`attemptDate`,`timeTaken`,`rank`,`maximumScore`]},onboardingCount:{variant:`counts`,dynamicCommonCount:{module:`onboarding`,keys:[`onboardingObStage`]},listPath:``,frame:!0,frameTitle:`Onboarding`,frameClassName:`onboarding-card`,viewAll:!0,footer:!0,columns:4,valueMap:{inProgress:`Under Review`,hired:`Onboarded`,projectCompleted:`Project cycle closed`,archive:`No longer active`},labelMap:{inProgress:`In Progress`,hired:`Hired`,projectCompleted:`Project Completed`,archive:`Archive`},aggregateMap:{inProgress:[`inProgress`,`In Progress`],hired:[`hired`,`Hired`,`Active`],projectCompleted:[`projectCompleted`,`Project Completed`,`Completed`],archive:[`archive`,`Archive`,`Not Hired`,`Candidate Backout`]},show:Se(`onboardingCount`),hide:[`total`,`totalGrossMargin`,`totalNetMargin`]},timesheetMonthlySummary:{variant:`metrics`,title:`Monthly Summary`,valueSuffix:` hrs`,rows:[{key:`unapprovedPayableHours`,label:`Unapproved Payable hours`,sublabel:`(S + O)`},{key:`nonPayableHours`,label:`Non-payable hours`,sublabel:`(Leave/Holidays)`},{key:`approvedPayableHours`,label:`Approved Payable hours`,valueColor:`#15803d`}]},timesheetWeeklyTotals:{variant:`metrics`,title:`Weekly Totals (S + O)`,plainHeader:!0,valueSuffix:` hrs`,listRows:{itemValueKey:`weeklyTotals.payable`,itemLabel:(e,t)=>{let n=e.weekStart?(0,c.default)(e.weekStart).format(`MMM D`):``,r=e.weekEnd?(0,c.default)(e.weekEnd).format(`MMM D`):``,i=`Week ${e.weekNumber??t+1}`;return n&&r?`${i} (${n} - ${r})`:i}}},timesheetHourBreakdown:{variant:`bars`,valueSuffix:` hrs`,rows:[{key:`totalSTHours`,label:`Standard`,color:`#1d4ed8`,bg:`#D0E6FF`},{key:`totalOTHours`,label:`Overtime`,color:`#15803d`,bg:`#d9f7e3`},{key:`leaveHours`,label:`Leaves`,color:`#b45309`,bg:`#FFECBA`},{key:`holidayHours`,label:`Holidays`,color:`#6d28d9`,bg:`#ede9fe`,fallback:0}]},financeKpiRow:{variant:`kpi`}},we=[`blue`,`green`,`purple`,`peach`,`red`,`gray`],Te=[`purple`,`peach`,`green`],Ee=[`#1d4ed8`,`#ef4444`,`#16a34a`,`#9333ea`,`#f59e0b`,`#0891b2`],De={blue:`#1d4ed8`,green:`#16a34a`,purple:`#9333ea`,peach:`#f97316`,red:`#ef4444`,gray:`#6b7280`};function Oe(){let e=(typeof window<`u`&&window.__CORE_THEME_CONFIG__?.cardConfig)??{};return{...Ce,...e}}var ke={timesheet:{currentLabel:`Standard`,currentColor:`blue`,pastLabel:`Supplementary`,pastColor:`gold`,thresholdMonths:0}};function Ae(e){let t=(typeof window<`u`&&window.__CORE_THEME_CONFIG__?.periodBadgeConfig)??{};return{...ke[e],...t[e]}}function je({current:t,pageSize:n,total:r,onChange:a,onPageSizeChange:s}){let c=Math.min((t-1)*n+1,r),l=Math.min(t*n,r);return(0,o.jsxs)(i.Flex,{align:`center`,justify:`space-between`,className:`custom-pagination`,style:{color:e.jr.textSecondary},children:[(0,o.jsxs)(i.Space,{size:5,align:`center`,children:[(0,o.jsx)(e.Ar,{variant:`body`,color:`secondary`,children:`Show`}),(0,o.jsx)(i.Select,{value:n,size:`small`,style:{width:72},popupMatchSelectWidth:72,onChange:e=>{s(e),a(1)},options:[{value:10,label:`10`},{value:12,label:`12`},{value:25,label:`25`},{value:50,label:`50`},{value:100,label:`100`}]}),(0,o.jsx)(e.Ar,{variant:`body`,color:`secondary`,children:`/ page`})]}),(0,o.jsxs)(i.Space,{size:16,align:`center`,children:[(0,o.jsx)(e.Ar,{variant:`body`,color:`secondary`,children:`Showing ${c} - ${l} of ${r}`}),(0,o.jsx)(i.Pagination,{current:t,pageSize:n,total:r,showSizeChanger:!1,showQuickJumper:!1,showLessItems:!0,onChange:a})]})]})}var{Title:Me,Text:q}=i.Typography;function J(e,t){return Array.isArray(t)?t.map(t=>J(e,t)).filter(Ne).join(` `):typeof t==`string`&&t.includes(`.`)?t.split(`.`).reduce((e,t)=>e==null?e:e[t],e):e[t]}var Ne=e=>e!=null&&e!==``;function Y(e,t,n={}){return{...n,...e.styles?.[t]||{}}}function Pe(e){return Ne(e.title)?(0,o.jsx)(Me,{level:5,style:Y(e,`headerTitle`),children:e.title}):void 0}function Fe(e,t){return Ne(e.title)?t:void 0}function Ie(e){return[`blue`,`green`,`purple`,`peach`,`red`,`gray`].includes(Ye(e))}function Le(e,t){let n=t||``,r=Y(e,`card`);return Ne(n)?Ie(n)?{className:n,style:r}:{className:``,style:{...r,background:n,borderColor:e.styles?.card?.borderColor||n}}:{className:``,style:r}}function X(e,t){return t?t.split(`.`).reduce((e,t)=>e==null?e:e[t],e):e}function Re(e){return String(e).replace(/([a-z0-9])([A-Z])/g,`$1 $2`).replace(/[_-]+/g,` `).replace(/\s+/g,` `).trim().replace(/\b\w/g,e=>e.toUpperCase())}function ze(e){if(!Ne(e))return null;let t=new Date(e);return isNaN(t)||t.getFullYear()<=1?null:t.toLocaleDateString(`en-GB`,{day:`2-digit`,month:`long`,year:`numeric`})}function Be(e){let t=Number(e);return Number.isFinite(t)&&t>=0?t:null}function Ve(e){return String(e??``).replace(/(?:\s*\(\d+[\d,]*\))+\s*$/,``).trim()}function He(e,t){let n=[e?.data?.total,e?.data?.count,e?.data?.totalCount,e?.data?.pagination?.total,e?.data?.data?.total,e?.data?.data?.count,e?.data?.data?.totalCount,e?.total,e?.count,e?.totalCount,e?.pagination?.total],r=[e?.data?.todoCount,e?.data?.toDoCount,e?.data?.pendingCount,e?.data?.data?.todoCount,e?.data?.data?.toDoCount,e?.todoCount,e?.toDoCount,e?.pendingCount],i=[e?.data?.resolvedCount,e?.data?.data?.resolvedCount,e?.resolvedCount],a=r.map(Be).find(e=>e!==null),o=i.map(Be).find(e=>e!==null),s=n.map(Be).find(e=>e!==null),c=a!==null&&o!==null?a+o:null,l=Array.isArray(t)?t.length:null;return{totalCount:s??c??l,todoCount:a,resolvedCount:o}}function Ue(e,t){let n=RegExp(`^${t}\\d+$`);return Object.keys(e).filter(e=>e===t||n.test(e)).map(n=>({field:e[n],n:n===t?1:Number(n.slice(t.length))})).sort((e,t)=>t.n-e.n).map(e=>e.field)}function We(e){return Math.max(1,Math.floor(24/(e||4)))}function Ge(e){if(typeof e!=`string`)return{};let t=e.toLowerCase().replace(/\s/g,``).match(/^(\d+)x(\d+)$/);if(!t)return{};let n=Number(t[1]);return{columns:n,maxCount:n*Number(t[2])}}function Ke(e,t){let n=Ge(e.layout),r=e.columns??n.columns??t,i=e.maxCount??n.maxCount;return{columns:r,span:We(r),maxCount:i}}function qe(e,t){return t?e.slice(0,t):e}function Je(e,t){return e.color?e.color===`auto`?we[t%we.length]:e.color:``}var Ye=e=>String(e??``).trim().toLowerCase();function Xe(e,t){return(Array.isArray(t)?t:[t]).some(t=>Ne(t)&&Ye(t)===Ye(e))}function Ze(e,t){if(!e.colorMap)return null;let n=Object.keys(e.colorMap).find(e=>Xe(e,t));return n?e.colorMap[n]:null}function Qe(e,t,n){if(!e.labelMap)return n;let r=Object.keys(e.labelMap).find(e=>Xe(e,t));return r?e.labelMap[r]:n}function $e(e,t){if(!e.valueMap)return null;let n=Object.keys(e.valueMap).find(e=>Xe(e,t));return n?e.valueMap[n]:null}function et(e,t){return!Array.isArray(e.show)||e.show.length===0?!0:e.show.some(e=>Xe(e,t))}function tt(e,t,n){return et(e,t)?Array.isArray(e.hide)?e.hide.some(e=>typeof e==`number`?e===n:Xe(e,t)):!1:!0}function nt(e,t){for(let n of Ue(e,`titleKey`)){let e=J(t,n);if(Ne(e))return e}return null}function rt(e){return!e||typeof e!=`object`||Array.isArray(e)?[]:Object.entries(e).filter(([,e])=>typeof e==`number`||typeof e==`string`&&e!==``&&!isNaN(e)).map(([e,t])=>({key:e,label:Re(e),value:Number(t)}))}function it(e,t){let n=e?.data??e,r=Array.isArray(n?.fields)?n.fields:null,i=t.dynamicCommonCount?.keys?.[0],a=r?[...r.find(e=>e.key===i)?[r.find(e=>e.key===i)]:[],...r.filter(e=>e.key!==i)]:[n];return a.some(e=>Array.isArray(e?.counts))?a.reduce((e,t)=>!t||!Array.isArray(t.counts)?e:(e.total=Math.max(Number(e.total)||0,Number(t.total)||0),t.counts.forEach(({key:t,count:n})=>{e[t]=Number(n)||0}),e),{total:0}):n}function at(e,t){let n=rt(e),r=t.totalKey,i=r?J(e||{},r):void 0,a=r&&Ne(i)&&!isNaN(i),o=n.map((e,t)=>({...e,_i:t})).filter(e=>!(a&&Xe(r,[e.key,e.label]))).filter(e=>!tt(t,[e.key,e.label],e._i)).map((e,n)=>{let r=Ze(t,[e.key,e.label]),i=r?De[Ye(r)]||r:Ee[e._i%Ee.length];return{label:Qe(t,[e.key,e.label],e.label),value:e.value,barColor:i,accentColor:n===0?`#f97316`:null,showInfo:n===0}});return{total:a?Number(i):o.reduce((e,t)=>e+t.value,0),rows:qe(o,Ke(t,1).maxCount)}}function ot({item:e,group:t,color:n}){let r=n=>Ue(t,n).map(t=>J(e,t)).filter(Ne),a=r(`titleKey`),s=r(`countKey`),c=r(`nameKey`),l=r(`valueKey`),u=Le(t,n);return(0,o.jsxs)(i.Card,{className:`dyn-card-item ${u.className}`.trim(),style:u.style,bordered:!0,children:[a.map((e,n)=>(0,o.jsx)(q,{className:`dyn-card-title`,style:Y(t,`cardTitle`),children:e},`t${n}`)),s.map((e,n)=>(0,o.jsx)(i.Statistic,{value:e,className:`dyn-card-stat`,valueStyle:Y(t,`cardValue`)},`c${n}`)),c.map((e,n)=>(0,o.jsx)(q,{className:`dyn-card-name`,style:Y(t,`cardName`),children:e},`n${n}`)),l.length>0&&(0,o.jsx)(`div`,{className:`dyn-card-footer`,style:Y(t,`cardFooter`),children:l.map((e,n)=>(0,o.jsx)(q,{className:`dyn-card-sub`,style:Y(t,`cardSub`),children:e},`v${n}`))})]})}function st({group:e}){let{span:t,maxCount:n}=Ke(e,4),r=qe((Array.isArray(e.list)?e.list:[]).map((t,n)=>({item:t,name:nt(e,t),_i:n})).filter(t=>!tt(e,t.name,t._i)),n);return(0,o.jsx)(i.Card,{className:`dyn-card-section`,style:Y(e,`section`),title:Pe(e),extra:Fe(e,(0,o.jsxs)(q,{type:`secondary`,style:Y(e,`headerExtra`),children:[r.length,` cards`]})),children:(0,o.jsx)(i.Row,{gutter:[16,16],children:r.map(n=>{let r=Ze(e,n.name)||Je(e,n._i);return(0,o.jsx)(i.Col,{xs:24,sm:12,md:t>=12?12:t*2,lg:t,xl:t,children:(0,o.jsx)(ot,{item:n.item,group:e,color:r})},n._i)})})})}function ct({group:e,items:t}){let{span:n,maxCount:r}=Ke(e,4),a=qe(t.map((e,t)=>({...e,_i:t})).filter(t=>!tt(e,[t.key,t.label],t._i)),r);return(0,o.jsx)(i.Card,{className:`dyn-card-section`,style:Y(e,`section`),title:Pe(e),extra:Fe(e,(0,o.jsxs)(q,{type:`secondary`,style:Y(e,`headerExtra`),children:[a.length,` cards`]})),children:(0,o.jsx)(i.Row,{gutter:[16,16],children:a.map(t=>{let r=Le(e,Ze(e,[t.key,t.label])||Je(e,t._i));return(0,o.jsx)(i.Col,{xs:24,sm:12,md:n>=12?12:n*2,lg:n,xl:n,children:(0,o.jsxs)(i.Card,{className:`dyn-card-item ${r.className}`.trim(),style:r.style,bordered:!0,children:[(0,o.jsx)(q,{className:`dyn-card-title`,style:Y(e,`cardTitle`),children:Qe(e,[t.key,t.label],t.label)}),(0,o.jsx)(i.Statistic,{value:t.value,groupSeparator:e.groupSeparator??`,`,className:`dyn-card-stat`,valueStyle:Y(e,`cardValue`)}),Ne($e(e,[t.key,t.label]))&&(0,o.jsx)(q,{className:`dyn-card-sub`,style:Y(e,`cardSub`),children:$e(e,[t.key,t.label])})]})},t._i)})})})}function lt({group:e,data:t}){let{total:n,rows:r}=at(t,e),s=e.tooltipText;return(0,o.jsxs)(i.Card,{className:`submission-card`,style:Y(e,`card`),children:[Ne(e.title)&&(0,o.jsxs)(i.Row,{justify:`space-between`,align:`middle`,className:`submission-header`,style:Y(e,`submissionHeader`),children:[(0,o.jsx)(i.Col,{children:(0,o.jsxs)(q,{className:`submission-title`,style:Y(e,`submissionTitle`),children:[e.title,` `,s&&(0,o.jsx)(i.Tooltip,{title:s,children:(0,o.jsx)(a.InfoCircleOutlined,{className:`submission-info-icon`,style:Y(e,`infoIcon`)})})]})}),(0,o.jsx)(i.Col,{children:(0,o.jsx)(q,{className:`submission-total`,style:Y(e,`submissionTotal`),children:Number(n||0).toLocaleString()})})]}),(0,o.jsx)(`div`,{className:`submission-rows`,style:Y(e,`submissionRows`),children:r.map((t,r)=>(0,o.jsxs)(`div`,{children:[(0,o.jsxs)(i.Row,{justify:`space-between`,align:`middle`,className:`submission-row-header`,style:Y(e,`submissionRowHeader`),children:[(0,o.jsx)(i.Col,{children:(0,o.jsx)(i.Row,{align:`middle`,gutter:6,children:(0,o.jsx)(i.Col,{children:(0,o.jsx)(q,{className:`submission-row-label`,style:Y(e,`submissionRowLabel`),children:t.label})})})}),(0,o.jsx)(i.Col,{children:(0,o.jsx)(q,{className:`submission-row-value`,style:Y(e,`submissionRowValue`),children:t.value})})]}),(0,o.jsx)(`div`,{className:`submission-bar-track`,style:Y(e,`submissionBarTrack`),children:(0,o.jsx)(`div`,{className:`submission-bar-fill`,style:{width:`${t.value/(n||1)*100}%`,background:t.barColor}})})]},`${t.label}-${r}`))})]})}function ut(e){if(!Ne(e))return`-`;let t=new Date(e);return!Number.isNaN(t.getTime())&&/date|time/i.test(String(e))?t.toLocaleString(void 0,{dateStyle:`medium`,timeStyle:`short`}):String(e)}function dt({group:e,data:t}){let n=e.totalKey??`totalScore`,r=e.maxKey??`maximumScore`,a=e.statusKey??`status`,s=e.attemptDateKey??`attemptDate`,c=e.timeTakenKey??`timeTaken`,l=e.rankKey??`rank`,u=Number(J(t||{},n)??0),d=Number(J(t||{},r)??100)||100,f=Math.max(0,Math.min(100,Math.round(u/d*100))),p=at(t,{...e,totalKey:n,hide:[...Array.isArray(e.hide)?e.hide:[],r,a,s,c,l]}).rows,m=[{key:a,label:e.statusLabel??`Status`},{key:s,label:e.attemptDateLabel??`Attempt Date`},{key:c,label:e.timeTakenLabel??`Time Taken`},{key:l,label:e.rankLabel??`Rank`}].filter(e=>Ne(J(t||{},e.key)));return(0,o.jsxs)(i.Card,{className:`assessment-card`,style:Y(e,`card`),title:Pe(e),children:[(0,o.jsxs)(`div`,{className:`assessment-card__top`,children:[(0,o.jsx)(i.Progress,{type:`circle`,percent:f,format:()=>`${Number(u||0).toLocaleString()}/${d.toLocaleString()}`,strokeColor:e.scoreColor??`#6d4aff`,trailColor:e.trailColor??`#edf0f5`}),(0,o.jsx)(`dl`,{className:`assessment-card__meta`,children:m.map(e=>(0,o.jsxs)(`div`,{className:`assessment-card__meta-row`,children:[(0,o.jsx)(`dt`,{children:e.label}),(0,o.jsx)(`dd`,{children:ut(J(t||{},e.key))})]},e.key))})]}),(0,o.jsx)(`div`,{className:`submission-rows assessment-card__rows`,style:Y(e,`submissionRows`),children:p.map(t=>(0,o.jsxs)(`div`,{children:[(0,o.jsxs)(i.Row,{justify:`space-between`,align:`middle`,className:`submission-row-header`,style:Y(e,`submissionRowHeader`),children:[(0,o.jsx)(i.Col,{children:(0,o.jsx)(q,{className:`submission-row-label`,style:Y(e,`submissionRowLabel`),children:t.label})}),(0,o.jsx)(i.Col,{children:(0,o.jsx)(q,{className:`submission-row-value`,style:Y(e,`submissionRowValue`),children:t.value})})]}),(0,o.jsx)(`div`,{className:`submission-bar-track`,style:Y(e,`submissionBarTrack`),children:(0,o.jsx)(`div`,{className:`submission-bar-fill`,style:{width:`${Math.max(0,Math.min(100,Number(t.value)/d*100))}%`,background:t.barColor}})})]},t.label))})]})}function ft(e,t={},n={}){let r=Ne(e)?e:t.fallback;if(!Ne(r))return`-`;let i=Number(r);if(!Number.isFinite(i))return String(r);let a=t.suffix??n.valueSuffix??``;return`${i.toFixed(1).replace(/\.0$/,``)}${a}`}function pt({group:e,data:t}){let n=Array.isArray(t);return(0,o.jsxs)(i.Card,{className:`timesheet-summary-card`,size:`small`,children:[Ne(e.title)&&(e.plainHeader?(0,o.jsx)(q,{type:`secondary`,style:{fontSize:12,fontWeight:600},children:e.title}):(0,o.jsxs)(`div`,{className:`timesheet-summary-card__head`,children:[(0,o.jsx)(Me,{level:5,style:{margin:0},children:e.title}),e.headerExtra]})),!n&&(0,o.jsx)(`div`,{className:`timesheet-summary-card__metrics`,children:(e.rows??[]).map(n=>(0,o.jsxs)(`div`,{className:`timesheet-summary-card__metric-row`,children:[(0,o.jsxs)(q,{type:`secondary`,style:{fontSize:12},children:[n.label,` `,n.sublabel&&(0,o.jsx)(`span`,{style:{fontSize:11},children:n.sublabel})]}),(0,o.jsx)(q,{strong:!0,style:{fontSize:13,whiteSpace:`nowrap`,color:n.valueColor},children:ft(J(t??{},n.key),n,e)})]},n.key))}),n&&t.length>0&&(0,o.jsx)(`div`,{className:`timesheet-summary-card__weekly`,children:t.map((t,n)=>(0,o.jsxs)(`div`,{className:`timesheet-summary-card__week-row`,children:[(0,o.jsx)(q,{type:`secondary`,style:{fontSize:12},children:e.listRows?.itemLabel?e.listRows.itemLabel(t,n):`Row ${n+1}`}),(0,o.jsx)(q,{strong:!0,style:{fontSize:12},children:ft(J(t,e.listRows?.itemValueKey),e.listRows,e)})]},n))})]})}function mt({group:e,data:t}){return(0,o.jsxs)(i.Card,{className:`timesheet-summary-card`,size:`small`,children:[(Ne(e.title)||e.headerExtra)&&(0,o.jsxs)(`div`,{className:`timesheet-summary-card__head`,children:[Ne(e.title)&&(0,o.jsx)(Me,{level:5,style:{margin:0},children:e.title}),e.headerExtra]}),(0,o.jsx)(`div`,{className:`timesheet-summary-card__bars`,children:(e.rows??[]).map(n=>(0,o.jsxs)(`div`,{className:`timesheet-summary-card__bar`,style:{background:n.bg},children:[(0,o.jsx)(q,{style:{fontSize:12,color:n.color,fontWeight:500},children:n.label}),(0,o.jsx)(q,{strong:!0,style:{fontSize:13,color:n.color},children:ft(J(t??{},n.key),n,e)})]},n.key))})]})}function ht({group:e,data:t}){let n=Array.isArray(t)?t:[],r=`finance-kpi-row${e.compact?` finance-kpi-row--compact`:``}`;if(e.loading){let e=n.length||4;return(0,o.jsx)(`div`,{className:r,children:Array.from({length:e},(e,t)=>(0,o.jsxs)(`div`,{className:`finance-kpi fin-kpi--skeleton`,children:[(0,o.jsx)(`span`,{className:`fin-skeleton fin-skeleton--label`}),(0,o.jsx)(`span`,{className:`fin-skeleton fin-skeleton--value`})]},t))})}return(0,o.jsx)(`div`,{className:r,children:n.map(e=>(0,o.jsxs)(`div`,{className:`finance-kpi fin-kpi--${e.tone??`neutral`}`,children:[e.icon?(0,o.jsx)(`span`,{className:`fin-kpi__icon`,children:e.icon}):null,(0,o.jsxs)(`span`,{className:`fin-kpi__body`,children:[(0,o.jsx)(`span`,{className:`finance-kpi__label`,children:e.label}),(0,o.jsx)(`strong`,{className:`finance-kpi__value`,children:e.value}),e.sub??e.hint?(0,o.jsx)(`span`,{className:`finance-kpi__hint`,children:e.sub??e.hint}):null]})]},e.key??e.label))})}function gt(e,t){return Ye(J(t,e.pillKey||`status`))===`resolved`}function _t(e,t){return Ne(e.dateKey?ze(J(t,e.dateKey)):null)}function vt(e,t){let n=Ye(J(t,e.pillKey||`status`));if(n===`tagged`||n===`tag user`||n===`tagged user`)return!0;let r=t?.receiver??t?.receivers??t?.receiverId??t?.receiverName??t?.taggedUser;if(Array.isArray(r))return r.length>0;if(r&&typeof r==`object`)return Object.keys(r).length>0;if(Ne(r))return!0;let i=`${J(t,e.headingKey||`title`)??``} ${J(t,e.bodyKey||`notes`)??``}`;return/(^|\s)@[^\s]+/.test(i)}function yt(e,t,n){return gt(e,t)?`gray`:vt(e,t)?`blue`:_t(e,t)?`peach`:Ze(e,e.colorBy?J(t,e.colorBy):null)||(e.color&&e.color!==`auto`?e.color:Te[n%Te.length])}function bt(e,t){let{start:n,end:r}=e.dateRange||{};if(!n||!r)return!0;let i=J(t,e.footerRightKey||`createdAt`);if(!Ne(i))return!0;let a=new Date(i);return isNaN(a)?!0:a>=n&&a<=r}function xt(e,t,n){let r=t.dateKey?ze(J(e,t.dateKey)):null;return{type:yt(t,e,n),pill:t.pillKey?J(e,t.pillKey):null,heading:t.headingKey?J(e,t.headingKey):null,body:t.bodyKey?J(e,t.bodyKey):null,footerLeft:t.footerLeftKey?J(e,t.footerLeftKey):null,footerRight:t.footerRightKey?ze(J(e,t.footerRightKey)):null,dot:r?`#f97316`:null,date:r}}function St({text:e,lines:t,style:n}){let a=(0,r.useRef)(null),[s,c]=(0,r.useState)(!1);(0,r.useEffect)(()=>{let e=a.current;if(!e)return;let t=0,n=()=>{t=requestAnimationFrame(()=>{let t=e.scrollHeight-e.clientHeight>1;c(e=>e===t?e:t)})};n();let r=new ResizeObserver(n);return r.observe(e),()=>{cancelAnimationFrame(t),r.disconnect()}},[e,t]);let l=(0,o.jsx)(`div`,{ref:a,className:`sticky-note-body${t?` clamp-${t}`:``}`,style:n,children:e});return(0,o.jsx)(i.Popover,{trigger:`hover`,placement:`topLeft`,overlayClassName:`sticky-note-popover`,content:s?(0,o.jsx)(`div`,{className:`sticky-note-popover-content`,children:e}):null,open:s?void 0:!1,children:l})}function Ct({group:e}){let t=(0,s.useNavigate)(),n=(0,s.useLocation)(),c=()=>t(`/popup/sticky-notes`,{state:{background:n,selectedIds:[],selectedRecords:[],moduleName:`general`,popupContext:{}}}),l=e=>t(`/popup/sticky-notes`,{state:{background:n,selectedIds:[],selectedRecords:[],moduleName:`general`,popupContext:{editingNoteId:e._id??e.id,editingHeading:e.title,editingComments:e.notes,editingTargetDate:e.reminder?.time||void 0}}}),[u,d]=(0,r.useState)(new Set),f=async e=>{let t=e._id??e.id;d(e=>new Set(e).add(t));try{await H(t),i.message.success(`Note resolved`)}catch{i.message.error(`Failed to resolve note`),d(e=>{let n=new Set(e);return n.delete(t),n})}},{span:p,maxCount:m}=Ke(e,2),h=t=>e.colorBy?J(t,e.colorBy):e.headingKey?J(t,e.headingKey):null,g=(Array.isArray(e.list)?e.list:[]).filter(e=>!u.has(e._id??e.id)).map((e,t)=>({item:e,_i:t})).filter(({item:t,_i:n})=>!tt(e,h(t),n)).filter(({item:t})=>bt(e,t)),[_,v]=(0,r.useState)(`todo`),y=g.filter(({item:t})=>!gt(e,t)),b=g.filter(({item:t})=>gt(e,t)),x=e.showTabs,S=x?_===`resolved`?b:y:g,[C,w]=(0,r.useState)(e.pageSize||12),[T,E]=(0,r.useState)(1);(0,r.useEffect)(()=>{E(1)},[_,e.dateRange]);let D=Math.max(1,Math.ceil(S.length/C));(0,r.useEffect)(()=>{E(e=>Math.min(e,D))},[D]);let O=x?S.slice((T-1)*C,T*C):qe(g,m);return(0,o.jsxs)(i.Card,{className:`sticky-card`,style:Y(e,`section`),title:Pe(e),extra:Fe(e,(0,o.jsxs)(`div`,{className:`sticky-card-actions`,children:[e.headerExtra,(0,o.jsx)(i.Tooltip,{title:`Add note`,children:(0,o.jsx)(i.Button,{type:`text`,icon:(0,o.jsx)(a.PlusOutlined,{}),size:`small`,onClick:c})}),Ne(e.viewAllUrl)&&(0,o.jsx)(i.Button,{type:`link`,size:`small`,onClick:()=>t(e.viewAllUrl,{state:{moduleName:e.moduleName,title:e.title,request:e.request}}),children:`View all`})]})),children:[x&&(0,o.jsx)(j,{activeKey:_,onChange:v,tabs:[{key:`todo`,title:`To-do`,count:y.length},{key:`resolved`,title:`Resolved Notes`,count:b.length}]}),O.length===0?(0,o.jsx)(i.Empty,{description:`No notes found`}):(0,o.jsx)(`div`,{className:x?`sticky-notes-scroll`:void 0,children:(0,o.jsx)(i.Row,{gutter:[12,12],children:O.map(({item:t,_i:n})=>{let r=xt(t,e,n),s=Le(e,r.type);return(0,o.jsx)(i.Col,{xs:24,sm:24,md:p>=12?12:p*2,lg:p,xl:p,children:(0,o.jsxs)(`div`,{className:`sticky-note ${s.className}`.trim(),style:s.style,children:[(0,o.jsxs)(i.Space,{size:4,className:`sticky-note-hover-actions`,children:[(0,o.jsx)(i.Tooltip,{title:`Edit`,children:(0,o.jsx)(i.Button,{type:`text`,size:`small`,icon:(0,o.jsx)(a.EditOutlined,{}),onClick:()=>l(t)})}),(0,o.jsx)(i.Tooltip,{title:`Resolve`,children:(0,o.jsx)(i.Button,{type:`text`,size:`small`,icon:(0,o.jsx)(a.CheckCircleOutlined,{}),onClick:()=>f(t)})})]}),(0,o.jsxs)(i.Space,{size:8,align:`center`,className:`sticky-note-pill-row`,children:[Ne(r.pill)&&(0,o.jsxs)(i.Tag,{style:Y(e,`stickyPill`),children:[r.dot&&(0,o.jsx)(`span`,{className:`sticky-note-dot`,style:{background:r.dot}}),r.pill]}),r.date&&(0,o.jsx)(q,{className:`sticky-note-date`,style:Y(e,`stickyDate`),children:r.date})]}),Ne(r.heading)&&(0,o.jsx)(q,{strong:!0,className:`sticky-note-heading`,style:Y(e,`stickyHeading`),children:r.heading}),Ne(r.body)&&(0,o.jsx)(St,{text:r.body,lines:e.bodyLines,style:Y(e,`stickyBody`)}),(0,o.jsxs)(i.Row,{justify:`space-between`,align:`middle`,className:`sticky-note-footer`,style:Y(e,`stickyFooter`),children:[(0,o.jsx)(i.Col,{children:(0,o.jsx)(q,{style:Y(e,`stickyFooterText`),children:r.footerLeft})}),(0,o.jsx)(i.Col,{children:(0,o.jsx)(q,{style:Y(e,`stickyFooterText`),children:r.footerRight})})]})]})},n)})})}),x&&S.length>0&&(0,o.jsx)(`div`,{className:`sticky-notes-pagination`,children:(0,o.jsx)(je,{current:T,pageSize:C,total:S.length,onChange:E,onPageSizeChange:w})})]})}function wt({group:e,children:t}){let n=e.frameClassName||`dyn-frame`,r=e.viewAll?(0,o.jsx)(`a`,{className:`dyn-frame-view-all`,children:typeof e.viewAll==`string`?e.viewAll:`View all`}):void 0;return(0,o.jsxs)(i.Card,{className:n,title:e.frameTitle,extra:r,children:[t,e.footer&&(0,o.jsx)(`div`,{className:`${n}-footer`})]})}function Tt({group:e,data:t}){let n=e.variant===`sticky`?Ve(e.title):e.title,r=e.variant===`sticky`&&Ne(e.totalCount)?`${n} (${Number(e.totalCount).toLocaleString()})`:n,i=r===e.title?e:{...e,title:r},a=i.frame?{...i,title:void 0}:i,s=a.variant===`sticky`?(0,o.jsx)(Ct,{group:{...a,list:Array.isArray(t)?t:[]}}):a.variant===`counts`?(0,o.jsx)(ct,{group:a,items:rt(t)}):a.variant===`submission`?(0,o.jsx)(lt,{group:a,data:t}):a.variant===`assessment`?(0,o.jsx)(dt,{group:a,data:t}):a.variant===`metrics`?(0,o.jsx)(pt,{group:a,data:t}):a.variant===`bars`?(0,o.jsx)(mt,{group:a,data:t}):a.variant===`kpi`?(0,o.jsx)(ht,{group:a,data:t}):(0,o.jsx)(st,{group:{...a,list:Array.isArray(t)?t:[]}});return i.frame?(0,o.jsx)(wt,{group:i,children:s}):s}function Et({moduleName:e,title:t,maxCount:n,layout:a,columns:s,request:c,viewAll:l=!0,staticData:f,showTabs:p,dateRange:m,headerExtra:h,rows:g,loading:_}){let v=Oe()[e],y=(0,r.useMemo)(()=>{if(!v)return v;let r={title:t,maxCount:n,layout:a,columns:s,showTabs:p,dateRange:m,headerExtra:h,rows:g,loading:_},i={...v,moduleName:e};for(let e in r)Ne(r[e])&&(i[e]=r[e]);return c&&(i.request={...v.request,...c,params:{...v.request?.params,...c.params},body:{...v.request?.body,...c.body}}),l||(i.viewAllUrl=void 0),i},[v,t,n,a,s,c?JSON.stringify(c):``,l,p,m,h,g?JSON.stringify(g):``,_]),[b,x]=(0,r.useState)({moduleName:null,resp:null,error:null}),[S,C]=(0,r.useState)(0);(0,r.useEffect)(()=>{if(!y?.refreshEvent)return;let e=()=>C(e=>e+1);return window.addEventListener(y.refreshEvent,e),()=>window.removeEventListener(y.refreshEvent,e)},[y?.refreshEvent]),(0,r.useEffect)(()=>{if(!y)return;if(f!==void 0){x({moduleName:e,resp:it(f,y),error:null});return}if(y.dynamicCommonCount){let t=!0;return d(y.dynamicCommonCount).then(n=>{t&&x({moduleName:e,resp:it(n,y),error:null})}).catch(n=>{t&&x({moduleName:e,resp:null,error:n})}),()=>{t=!1}}if(!y.request)return;let t=!0;return u(e,y.request).then(n=>{t&&x({moduleName:e,resp:n,error:null})}).catch(n=>{t&&x({moduleName:e,resp:null,error:n})}),()=>{t=!1}},[e,y,f,S]);let w=b.moduleName!==e,T=w?null:b.error,E=w?null:b.resp;if(!y)return(0,o.jsx)(i.Empty,{description:`Unknown dashboard module: ${e}`});if(w)return(0,o.jsx)(i.Card,{className:`dyn-card-section`,style:Y(y,`section`),title:Pe(y),children:(0,o.jsx)(`div`,{style:{textAlign:`center`,padding:24},children:(0,o.jsx)(i.Spin,{})})});if(T)return(0,o.jsx)(i.Card,{className:`dyn-card-section`,style:Y(y,`section`),title:Pe(y),children:(0,o.jsx)(i.Empty,{description:`Failed to load: ${T.message}`})});let D=X(E,y.listPath),O=y.variant===`sticky`?He(E,D):null;return(0,o.jsx)(Tt,{group:y.variant===`sticky`?{...y,...O}:y,data:D})}function Dt({moduleName:e,title:t,layout:n,columns:r,maxCount:a,request:s,viewAll:c,staticData:l,showTabs:u,dateRange:d,headerExtra:f,rows:p,loading:m}){return e?(0,o.jsx)(`div`,{className:`dyn-cards`,children:(0,o.jsx)(Et,{moduleName:e,title:t,layout:n,columns:r,maxCount:a,request:s,viewAll:c,staticData:l,showTabs:u,dateRange:d,headerExtra:f,rows:p,loading:m})}):(0,o.jsx)(i.Empty,{description:`DynamicCards: a moduleName prop is required`})}var{Text:Ot}=i.Typography;function kt(e){return(e??[]).map(e=>({key:e.userId,title:e.isSelf?`${e.name} (You)`:e.name,searchText:`${e.name} ${e.email??``}`.toLowerCase(),children:kt(e.children)}))}function At(e,t){let n=[];for(let r of e){let e=At(r.children??[],t);(r.searchText.includes(t)||e.length>0)&&n.push({...r,children:e})}return n}function jt(e,t=[]){for(let n of e)t.push(n.key),jt(n.children??[],t);return t}function Mt({value:e=[],onChange:t}){let[n,s]=(0,r.useState)(null),[c,l]=(0,r.useState)(!0),[u,d]=(0,r.useState)(null),[f,m]=(0,r.useState)(``),[h,g]=(0,r.useState)(!1);(0,r.useEffect)(()=>{let e=!0;return p().then(t=>{e&&s(kt(t?.users))}).catch(t=>{e&&d(t)}).finally(()=>{e&&l(!1)}),()=>{e=!1}},[]);let _=f.trim().toLowerCase(),v=(0,r.useMemo)(()=>_&&n?At(n,_):n,[n,_]),y=_?{expandedKeys:jt(v??[])}:{};return(0,o.jsx)(i.Popover,{content:(0,o.jsxs)(`div`,{style:{width:280},children:[(0,o.jsx)(i.Input.Search,{placeholder:`Search users`,allowClear:!0,value:f,onChange:e=>m(e.target.value),style:{marginBottom:8}}),c&&(0,o.jsx)(`div`,{style:{padding:24,textAlign:`center`},children:(0,o.jsx)(i.Spin,{size:`small`})}),u&&(0,o.jsx)(i.Empty,{description:`Could not load users`}),!c&&!u&&(v?.length?(0,o.jsx)(`div`,{style:{maxHeight:280,overflow:`auto`},children:(0,o.jsx)(i.Tree,{checkable:!0,selectable:!1,defaultExpandAll:!0,treeData:v,checkedKeys:e,onCheck:(e,n)=>t(n.checkedNodes.map(e=>e.key)),...y})}):(0,o.jsx)(i.Empty,{image:i.Empty.PRESENTED_IMAGE_SIMPLE,description:`No users`})),e.length>0&&(0,o.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`,alignItems:`center`,marginTop:8,paddingTop:8,borderTop:`1px solid #f0f0f0`},children:[(0,o.jsxs)(Ot,{type:`secondary`,children:[e.length,` selected`]}),(0,o.jsx)(i.Button,{type:`link`,size:`small`,onClick:()=>t([]),children:`Clear`})]})]}),trigger:`click`,placement:`bottomRight`,open:h,onOpenChange:g,children:(0,o.jsx)(i.Badge,{count:e.length,size:`small`,offset:[-4,4],children:(0,o.jsxs)(i.Button,{icon:(0,o.jsx)(a.FilterOutlined,{}),children:[`Filter by `,(0,o.jsx)(a.DownOutlined,{style:{fontSize:10}})]})})})}function Nt(e,t={}){let n=Array.isArray(e?.autoValueRules)?e.autoValueRules:[];for(let e of n){let n=Array.isArray(e?.whenRoleId)?e.whenRoleId.map(Number):[],r=Array.isArray(e?.whenUserId)?e.whenUserId.map(Number):[],i=t.roleId!==void 0&&n.includes(t.roleId),a=t.userId!==void 0&&r.includes(t.userId);if(i||a)return{matched:!0,value:e.value}}return{matched:!1,value:void 0}}var Pt=`authToken`,Ft=`authUser`,It=`authLoginSession`,Lt=[`access_token`,`refresh_token`,`id_token`,`token_type`,`expires_in`,`refresh_expires_in`,`menu`,`footermenu`,`menuPermission`,`default_values`,`roleId`,`companyName`,`preferred_Username`,`user_Email`,`userName`,`userId`,`tenantId`,`businessId`,`businessUnitId`,`activeKey`,`ct_project_id`,`ct_project_name`],Rt=`test-flows`,zt=[{value:`module`,label:`Module`,isVisible:!0,type:`text`},{value:`flow`,label:`Flow`,isVisible:!0,type:`text`},{value:`step_order`,label:`Step Order`,isVisible:!0,type:`number`},{value:`keyword`,label:`Action`,isVisible:!0,type:`text`},{value:`description`,label:`Description`,isVisible:!0,type:`text`},{value:`target`,label:`Key`,isVisible:!0,type:`text`},{value:`tags`,label:`Tags`,isVisible:!0,type:`text`},{value:`value`,label:`Value`,isVisible:!0,type:`text`},{value:`expected`,label:`Expected`,isVisible:!0,type:`text`}],Bt=`lms-flows`,Vt=[{value:`module`,label:`Module`,isVisible:!0,type:`text`},{value:`flow`,label:`Flow`,isVisible:!0,type:`text`},{value:`step_order`,label:`Step Order`,isVisible:!0,type:`number`},{value:`keyword`,label:`Action`,isVisible:!0,type:`text`},{value:`description`,label:`Description`,isVisible:!0,type:`text`},{value:`target`,label:`Key`,isVisible:!0,type:`text`},{value:`tags`,label:`Tags`,isVisible:!0,type:`text`},{value:`value`,label:`Value`,isVisible:!0,type:`text`},{value:`expected`,label:`Expected`,isVisible:!0,type:`text`}];function Ht(){let e=localStorage.getItem(Pt),t=sessionStorage.getItem(It)===`1`;return e&&t?e:null}async function Ut({jobId:e,limit:n=10,offset:r=0,sortBy:i=`new`,type:a=`myVendor`}){return await Zt(t.S,`/vendor/hotlist`,{method:`POST`,body:JSON.stringify({jobId:e,limit:n,offset:r,sortBy:i,type:a})})}async function Wt(e){let n=await Zt(t.x,`/get-bulkmail-details?jobId=${encodeURIComponent(e)}`);return n.data??n}async function Gt({jobId:e,toMail:n,ccMail:r,bccMail:i,subject:a,contents:o}){let s=localStorage.getItem(`tenantId`)||`93c782a4aa626175e5d11afa`,c=localStorage.getItem(`businessId`)||`83c782a4aa626175e5d11afa`,l=localStorage.getItem(`businessUnitId`)||`63b57588fd768a839dbc0f63`,u=new FormData;u.append(`json`,JSON.stringify({schemaVersion:1,tenantId:s,businessId:c,businessUnitId:l,jobId:e,toMail:n,ccMail:r,bccMail:i,contents:o,subject:a}));let{"Content-Type":d,...f}=await Xt(),p=await fetch(`${t.x}/send-bulkmail`,{method:`POST`,headers:f,body:u});if(p.status===401&&Kt(),!p.ok)throw Error(`API ${p.status}: ${p.statusText}`);let m=await p.text();return m?JSON.parse(m):{}}function Kt(){localStorage.removeItem(Pt),localStorage.removeItem(Ft),Lt.forEach(e=>localStorage.removeItem(e)),sessionStorage.removeItem(It),window.dispatchEvent(new Event(`auth:logout`))}function qt(e=``){let t=String(e??``).trim();return t===`myJobs`||t===`allJobs`||t===`fulfilled`?t:``}function Jt(t){let n=String(e.Er(t)??``).trim().toLowerCase();return n===`job`||n===`jobs`}async function Yt(){let e=Ht();if(e)return e;let t=Error(`Authentication required`);throw t.status=401,t}async function Xt(){return{"Content-Type":`application/json`,Authorization:`Bearer ${await Yt()}`}}async function Zt(e,t,n={}){let r=await Xt(),i={...n,headers:{...r,...n.headers}},a=await fetch(`${e}${t}`,i);if(a.status===401&&Kt(),!a.ok){let e=Error(`API ${a.status}: ${a.statusText}`);throw e.status=a.status,e}return a.json()}async function Qt(e,t){let n=await Zt(e,t);return n.data??n}async function $t(e){return Qt(t.C,e)}async function en(e){return Qt(t.b,e)}async function tn(t){return t===Rt?zt:t===Bt?Vt:$t(`/filter-dropdown-fields?module=${encodeURIComponent(e.Er(t))}`)}async function nn(t,{configType:n,userId:r,roleId:i}={}){if(t===Rt)return zt;if(t===Bt)return Vt;let a=new URLSearchParams({module:e.Er(t)});return n&&a.set(`configType`,n),r!=null&&a.set(`userId`,String(r)),i!=null&&a.set(`roleId`,String(i)),en(`/admin/field-config?${a}`)}async function rn({limit:e=10,offset:t=0,search:n=``,module:r=``,keyword:i=``,tags:a=``,active:o}={}){let s=new URLSearchParams({limit:String(e),offset:String(t)});return n&&s.append(`search`,n),r&&s.append(`module`,r),i&&s.append(`keyword`,i),a&&s.append(`tags`,a),o!=null&&o!==``&&s.append(`active`,String(o)),en(`/test-flows?${s.toString()}`)}async function an({limit:e=10,offset:t=0,search:n=``,module:r=``,keyword:i=``,tags:a=``,active:o}={}){let s=new URLSearchParams({limit:String(e),offset:String(t)});return n&&s.append(`search`,n),r&&s.append(`module`,r),i&&s.append(`keyword`,i),a&&s.append(`tags`,a),o!=null&&o!==``&&s.append(`active`,String(o)),en(`/lms-flows?${s.toString()}`)}async function on(n,r=10,i=0,a={}){let{scope:o=``,sort:s=``,sortDir:c=``,search:l=``,filters:u=[],queryParams:d={}}=a;if(n===Rt){let e=await rn({limit:r,offset:i}),t=Array.isArray(e?.items)?e.items:[],n=Number(e?.total)||0;return{items:t,total:n,limit:r,offset:i,tabs:[{key:`all`,title:`Test Cases`,count:n}]}}if(n===Bt){let e=await an({limit:r,offset:i}),t=Array.isArray(e?.items)?e.items:[],n=Number(e?.total)||0;return{items:t,total:n,limit:r,offset:i,tabs:[{key:`all`,title:`LMS Cases`,count:n}]}}let f=new URLSearchParams({module:e.Er(n),limit:String(r),offset:String(i)}),p=Jt(n)?qt(o):String(o??``).trim();p&&f.set(`scope`,p),s&&f.set(`sort`,s),c&&f.set(`sortDir`,c),String(l??``).trim()&&f.set(`search`,String(l).trim());let m=fn(u.filter(e=>e?.field));m.length&&f.set(`filters`,JSON.stringify(m)),Object.entries(d??{}).forEach(([e,t])=>{t!=null&&String(t).trim()!==``&&f.set(e,String(t))});let h=await Zt(t.b,`/module-data-list?${f.toString()}`),g=sn(h),_=g.some(e=>un(e)),v=g.some(e=>dn(e));if(_||v)try{let{transformDiceResponseToInternalFormat:e}=await Promise.resolve().then(()=>require("./diceCandidateMapper-CCsJWM_a.cjs")),t=e(h,h),n=t?.data?.data??[];return{items:n,total:ln(h,p)||ln(t,p)||n.length,limit:r,offset:i,tabs:t?.data?.tabs??h?.tabs??h?.data?.tabs??[],fields:t?.data?.fields??h?.fields??h?.data?.fields??[],tabField:t?.data?.tabField??h?.tabField??h?.data?.tabField??``,actionRules:t?.data?.actionRules??h?.data?.actionRules??[],actions:t?.data?.actions??h?.data?.actions??[],columnActions:t?.data?.columnActions??h?.data?.columnActions??[]}}catch(e){console.error(`[getModuleDataList] Dice transformation failed:`,e)}return h}function sn(e){let t=e?.data??e,n=Array.isArray(t)?t:t?.rows??t?.records??t?.items??t?.list??t?.data??e?.items??e?.records??[];return Array.isArray(n)?n:[]}function cn(...e){for(let t of e){let e=Number(t);if(Number.isFinite(e))return e}}function ln(e,t=``){let n=e?.data??e,r=sn(e),i=e?.count,a=n?.count,o=String(t??``).trim().toLowerCase();if(i&&typeof i==`object`){let e=cn(o?i[o]:void 0,i.total,i.searchCount,i.count);if(e!==void 0)return e}if(a&&typeof a==`object`){let e=cn(o?a[o]:void 0,a.total,a.searchCount,a.count);if(e!==void 0)return e}return cn(e?.total,typeof i==`object`?void 0:i,e?.totalCount,n?.total,typeof a==`object`?void 0:a,n?.totalCount,r.length)??0}function un(e){let t=e?.skills??e?.technicalSkills??e?.primarySkills;return!Array.isArray(t)||t.length===0?!1:t.some(e=>e&&typeof e==`object`&&(`skill`in e||`lastUsed`in e))}function dn(e){return[e?.sourceType,e?.profileSource,e?.selectedSource,e?.customFields?.sourceType,e?.customFields?.profileSource].flat().some(e=>String(e??``).trim().toLowerCase()===`dice`)||!!e?.customFields?.diceProfileData}function fn(e){let t=[];for(let n of e){if(!n.field)continue;let e=n.operator===`or`?`or`:`and`;if(n.operator===`isEmpty`){t.push({field:n.field,op:`isEmpty`,operator:`and`});continue}if(n.operator===`notEmpty`){t.push({field:n.field,op:`notEmpty`,operator:`and`});continue}if(n.filterInputType===`text`){let r=typeof n.value==`string`?n.value.trim():``;r&&t.push({field:n.field,op:`contains`,value:r,operator:e});continue}if(n.from||n.to){n.from&&t.push({field:n.field,op:`gte`,value:String(n.from),operator:e}),n.to&&t.push({field:n.field,op:`lte`,value:String(n.to),operator:`and`});continue}Array.isArray(n.values)&&n.values.length>0&&t.push({field:n.field,op:`in`,values:n.values.map(String),operator:e})}return t}async function pn(t,n,r=``,i={}){let{limit:a=50,offset:o=0,dataSource:s,groupName:c,lookup:l}=i,u=new URLSearchParams({module:e.Er(t),field:n,value:r,limit:String(a),offset:String(o)});return s&&u.set(`dataSource`,s),s===`group`&&c&&u.set(`groupName`,c),s===`lookup`&&l?.collection&&(u.set(`lookupCollection`,l.collection),l.displayField&&u.set(`lookupField`,l.displayField)),$t(`/filter-dropdown-values?${u}`)}function mn(e){let t=e?.data??e,n=Array.isArray(t)?t:Array.isArray(t?.groups)?t.groups:Array.isArray(e?.groups)?e.groups:[],r=t?.recordMeta??e?.recordMeta;return r&&typeof r==`object`&&(n.recordMeta=r),n}async function hn({module:e,id:n,view:r}={}){if(!e)throw Error(`module is required to fetch form groups`);let i=await Xt(),a=new URLSearchParams({module:e});n&&a.set(`id`,String(n)),r&&a.set(`view`,String(r));let o=await fetch(`${t.b}/admin/form-groups?${a.toString()}`,{method:`GET`,headers:i});if(!o.ok)throw Error(`API ${o.status}: ${o.statusText}`);return mn(await o.json())}async function gn({searchQuery:e,candidateId:n}){let r=localStorage.getItem(`tenantId`)||`93c782a4aa626175e5d11afa`,i=localStorage.getItem(`businessId`)||`83c782a4aa626175e5d11afa`,a=localStorage.getItem(`businessUnitId`)||`63b57588fd768a839dbc0f63`,o=Number(localStorage.getItem(`userId`))||1;return Zt(t.S,`/joblist`,{method:`POST`,body:JSON.stringify({tenantId:r,businessId:i,businessUnitId:a,searchQuery:e,userId:o,candidateId:Array.isArray(n)?n:[n]})})}async function _n(e=``){return Qt(t.S,`/users/any${e?`?search=${encodeURIComponent(e)}`:``}`)}function vn(e){if(!e||typeof e!=`string`)return null;try{let t=e.split(`.`)[1];if(!t)return null;let n=t.replace(/-/g,`+`).replace(/_/g,`/`),r=n.padEnd(Math.ceil(n.length/4)*4,`=`);return JSON.parse(atob(r))}catch{return null}}function yn(){return vn(localStorage.getItem(`access_token`)||localStorage.getItem(`authToken`))??{}}function bn(){let e=yn();return{userId:e.userId??e.user_id??e.USER_ID,roleId:e.roleId??e.role_id??e.ROLE_ID}}function xn(){let e=bn();return{userId:e.userId??localStorage.getItem(`userId`)??void 0,roleId:e.roleId??localStorage.getItem(`roleId`)??void 0}}function Sn(e){let[t,n]=(0,r.useState)([]),[i,a]=(0,r.useState)(!1),[o,s]=(0,r.useState)(null);return(0,r.useEffect)(()=>{if(!e)return;let t=!1;return a(!0),s(null),tn(e).then(e=>{t||n(Array.isArray(e)?e:[])}).catch(e=>{t||s(e.message)}).finally(()=>{t||a(!1)}),()=>{t=!0}},[e]),{fields:t,loading:i,error:o}}function Cn(e){let[t,n]=(0,r.useState)(null),[i,a]=(0,r.useState)(!1),[o,s]=(0,r.useState)(null);return(0,r.useEffect)(()=>{if(!e)return;let t=!1;return a(!0),s(null),nn(e).then(e=>{t||n(Array.isArray(e)?e:null)}).catch(e=>{t||s(e.message)}).finally(()=>{t||a(!1)}),()=>{t=!0}},[e]),{config:t,loading:i,error:o}}function wn(e){let[t,n]=(0,r.useState)([]),[i,a]=(0,r.useState)(!1),[o,s]=(0,r.useState)(null);return(0,r.useEffect)(()=>{if(!e)return;let t=!1;a(!0),s(null);let{userId:r,roleId:i}=xn(),o=e=>{let t=e?.isVisible??e?.is_visible??e?.visible;return t==null?!0:typeof t==`boolean`?t:typeof t==`string`?![`false`,`0`,`no`,`hide`,`hidden`].includes(t.toLowerCase()):!!t};return nn(e,{configType:`filter`,userId:r,roleId:i}).then(async t=>{let n=(Array.isArray(t)?t:t?.visibleFields??[]).filter(o);if(n.length>0)return n;let r=await tn(e);return Array.isArray(r)?r.filter(o):[]}).then(e=>{t||n(Array.isArray(e)?e:[])}).catch(e=>{t||s(e.message)}).finally(()=>{t||a(!1)}),()=>{t=!0}},[e]),{fields:t,loading:i,error:o}}var Tn={campaign:`campaingns`,campaigns:`campaingns`};function En(e,t){return e===t||`${e}s`===t||`${t}s`===e}function Dn(e){try{let t=localStorage.getItem(`menu`);if(!t)return null;let n=JSON.parse(t);if(!Array.isArray(n))return null;let r=n.find(t=>{let n=String(t?.key??``).trim().toLowerCase();return n&&En(e,n)});return r?String(r.key).trim().toLowerCase():null}catch{return null}}function On(e){try{let t=localStorage.getItem(`menuPermission`);if(!t||!e)return{};let n=JSON.parse(t);if(!n||typeof n!=`object`)return{};let r=String(e).trim().toLowerCase(),i=Tn[r]??Dn(r)??r,a=Object.keys(n),o=e=>e.trim().toLowerCase(),s=a.find(e=>o(e)===i)??a.find(e=>En(i,o(e)))??a.find(e=>En(r,o(e)));return(s?n[s]:null)??{}}catch{return{}}}function kn(e){return e==null?!0:Number(e)!==0&&e!==!1&&e!==`0`}function An(e){return(0,r.useMemo)(()=>{let t=On(e);return{canView:kn(t.view),canAdd:kn(t.add),canEdit:kn(t.edit),canDelete:kn(t.delete),canApprove:kn(t.approve),canReject:kn(t.reject)}},[e])}function jn(e){return[e?.key,e?.label,e?.name].filter(Boolean).join(` `).trim().toLowerCase()}function Mn(e){let t=String(e?.permissionKey??``).trim().toLowerCase();if([`add`,`edit`,`delete`].includes(t))return t;if(e?.danger)return`delete`;let n=jn(e);return/(^|[\s_-])edit([\s_-]|$)/.test(n)?`edit`:/(^|[\s_-])(add|create)([\s_-]|$)/.test(n)?`add`:null}function Nn(e,t){if(e!=null)return t.length===0?e:Array.isArray(e)?e.map(e=>Nn(e,t)).filter(e=>e!=null).flat():Nn(e[t[0]],t.slice(1))}function Pn(e,t){if(!t||typeof t!=`string`||!e)return;if(t in e)return e[t];let n=Nn(e,t.split(`.`));if(n!==void 0&&!(Array.isArray(n)&&n.length===0))return n;let r=t.split(`.`).pop();return r===t?void 0:e[r]}function Fn(){try{return typeof localStorage<`u`?localStorage.getItem(`userId`)??``:``}catch{return``}}var In={"{currentuserid}":Fn,"{currentuser}":Fn,"{me}":Fn};function Ln(e){let t=In[String(e??``).trim().toLowerCase()];return t?t():e}function Rn(e){return String(e??``).trim().toLowerCase()}function zn(e){return e==null||e===``||Array.isArray(e)&&e.length===0}function Bn(e,t,n){let r=e?.operator,i=r===`scope`?n:Pn(t,e?.field),a=Ln(e?.value),o=Rn(i),s=Rn(a);if(r===`eq`||r===`scope`)return o===s;if(r===`ne`)return o!==s;if(r===`isEmpty`)return zn(i);if(r===`notEmpty`)return!zn(i);if(r===`fieldEq`)return o===Rn(Pn(t,e?.compareField));if(r===`includes`||r===`notIncludes`){let e=(Array.isArray(i)?i:[i]).some(e=>Rn(e)===s)&&s!==``;return r===`includes`?e:!e}return r===`contains`?Array.isArray(i)?i.some(e=>Rn(e).includes(s)):o.includes(s):!1}function Vn(e,t,n,r){let i=Array.isArray(n)?n:[];return i.length?i.some(n=>n?.isActive!==!1&&(n?.blockedActions??[]).map(String).includes(String(e))&&(n?.conditions??[]).every(e=>Bn(e,t,r))):!1}function Hn(e,t,n,r){let i=(Array.isArray(n)?n:[]).find(n=>n?.isActive!==!1&&(n?.disabledActions??[]).map(String).includes(String(e))&&(n?.conditions??[]).every(e=>Bn(e,t,r)));return i?i.description||`${e} is temporarily unavailable`:null}function Un(e,t,n){let r=e?.doneWhen;return!r||!r.field||!Bn(r,t,n)?null:{label:e.doneLabel||e.label,tone:e.doneTone||`success`}}function Wn(e,t,n,r){let i=Array.isArray(t)?t:[];return i.length?i.some(t=>Vn(e,t,n,r)):!1}var Gn=e.Nr({actionRules:()=>Zn,actions:()=>Qn,columnActions:()=>$n,default:()=>er,fields:()=>Yn,rows:()=>Kn,synthesizeFieldsFromRows:()=>!0,tabField:()=>Xn,tabs:()=>Jn,total:()=>qn,visibilityFlag:()=>null}),Kn={sources:[`payload`],paths:[`rows`,`records`,`items`,`list`,`data`]},qn={sources:[`response`,`payload`],paths:[`total`,`count`,`totalCount`]},Jn={sources:[`response`,`payload`],paths:[`tabs`,`tabList`]},Yn={sources:[`response`,`payload`],paths:[`fields`,`fieldConfig`]},Xn={sources:[`payload`],paths:[`tabField`]},Zn={sources:[`payload`],paths:[`actionRules`]},Qn={sources:[`payload`],paths:[`actions`]},$n={sources:[`payload`],paths:[`columnActions`]},er={rows:Kn,total:qn,tabs:Jn,fields:Yn,tabField:Xn,actionRules:Zn,actions:Qn,columnActions:$n,synthesizeFieldsFromRows:!0,visibilityFlag:null},tr=Object.assign({"../../config/responseMappings/default.json":Gn});function nr(e){if(!e)return null;for(let t of Object.keys(tr))if(t.split(`/`).pop().replace(/\.json$/,``)===e){let e=tr[t];return e.default??e}return null}function rr(e){let t=nr(e);return t?{...er,...t}:er}function ir(e,t){return String(t).split(`.`).reduce((e,t)=>e?.[t],e)}function ar(e,t,n){if(!n)return;let r={response:e,payload:t};for(let e of n.sources)for(let t of n.paths){let n=ir(r[e],t);if(n!==void 0)return n}}function or(...e){for(let t of e){let e=Number(t);if(Number.isFinite(e))return e}}function sr(e){return e.replace(/([A-Z])/g,` $1`).replace(/^./,e=>e.toUpperCase())}var cr=/token|password|passwd|secret|apikey|api_key|auth|credential|salary|ssn|ein\b/i;function lr(e){return cr.test(e)}function ur(e){let t=e[0];return t?Object.keys(t).filter(e=>!e.startsWith(`_`)&&!lr(e)&&typeof t[e]!=`object`).map(e=>({value:e,field:e,label:sr(e),isVisible:!0})):[]}function dr(e,t){return t?e.filter(e=>e[t]===1||e[t]===!0||e[t]===void 0).map(e=>({...e,isVisible:!0})):e}var fr=5e3,pr=300,mr=100,hr=100,gr=300,_r=100;function vr(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function yr(e,t){return Array.isArray(e)?e.slice(0,t):[]}function br(e,t){return yr(e,t).filter(vr)}function xr(e,t){return br(e,t).filter(e=>typeof e.value==`string`||typeof e.field==`string`)}var Sr=/^\s*(javascript|data|vbscript|file):/i,Cr=[`url`,`href`,`routeUrl`,`routeURL`];function wr(e){let t={...e};for(let e of Cr)typeof t[e]==`string`&&Sr.test(t[e])&&delete t[e];return t}function Tr(e,t){return br(e,t).map(wr)}function Er(e,t){return e.flatMap(e=>{let n=ir(e,t);return n==null?[]:(Array.isArray(n)?n:[n]).filter(e=>e!=null).map(e=>vr(e)?e:{value:e})})}function Dr(t,n){let{baseModule:r,nestedPath:i}=e.Dr(n),a=rr(r),o=t?.data??t,s=yr(Array.isArray(o)?o:ar(t,o,a.rows),fr);i&&(s=yr(Er(s,i),fr),console.log(`[mapListResponse] module "${r}" → nested path "${i}": ${s.length} row(s)`));let c=ar(t,o,a.total),l=vr(c)?or(c.total,c.searchCount,c.count):c,u=Number(l??s.length)||0,d=br(ar(t,o,a.tabs),mr),f=i?[]:ar(t,o,a.fields),p=Array.isArray(f)?f:[];p.length===0&&(i||a.synthesizeFieldsFromRows)&&(p=ur(s)),p=xr(p,pr),a.visibilityFlag&&(p=dr(p,a.visibilityFlag));let m=ar(t,o,a.tabField);return{rows:s,total:u,tabs:d,fields:p,tabField:typeof m==`string`?m:``,actionRules:Tr(ar(t,o,a.actionRules),gr),actions:Tr(ar(t,o,a.actions),hr),columnActions:Tr(ar(t,o,a.columnActions),_r)}}var Or={jobs:{module:`jobs`,keys:[`jobRecruitmentStatus`,`jobStatus`],dateField:`createdAt`},candidates:{module:`candidates`,keys:[`candidateSummary`],items:[{key:`created`,label:`Created`,collection:`candidates`,countType:`documents`,dateField:`createdAt`},{key:`submitted`,label:`Submitted`,collection:`submissions`,countType:`distinct`,distinctField:`applicantId`,dateField:`submittedAt`},{key:`onboarded`,label:`Onboarded`,collection:`onboarding`,countType:`distinct`,distinctField:`candidateId`,dateField:`onboardingActivity.activityTime`,filters:{onboardingObStage:[`Completed`]}}]},submissions:{module:`submission`,keys:[`internalSubmissionStatus.internalSubmissionStatusText`,`clientSubmissionStatus.clientSubmissionStatusText`],dateField:`createdAt`}},kr={jobSummary:[{label:`Open`,field:`jobStatus`,keys:[`open`,`active`]},{label:`Partially Fulfilled`,field:`jobRecruitmentStatus`,keys:[`partially fulfilled`,`partiallyFulfilled`]},{label:`Fulfilled`,field:`jobRecruitmentStatus`,keys:[`fulfilled`]},{label:`In-active / Closed`,field:`jobStatus`,keys:[`closed`,`inactive`,`in-active`]}]};function Ar(e){return String(e??``).trim().toLowerCase()}function jr(e,t){return{label:e,count:Number.isFinite(Number(t))?Number(t):0}}function Mr(e){return Array.isArray(e?.counts)?e.counts:[]}function Nr(e,t){return e?.key===t?e:(Array.isArray(e?.fields)?e.fields:[]).find(e=>e?.key===t)??{}}function Pr(e,t){let n=Array.isArray(t)?t:[t],r=Array.isArray(e?.counts)?e.counts:[],i=n.filter(Boolean).map(Ar),a=r.find(e=>[e?.key,e?.label].map(Ar).some(e=>i.includes(e)));if(a)return Number(a.count)||0;for(let t of n){let n=e?.[t];if(Number.isFinite(Number(n)))return Number(n)}return 0}function Fr(e,t){let n=(Array.isArray(t)?t:[t].filter(Boolean)).map(Ar);return Mr(e).reduce((e,t)=>{let r=Ar(t?.key??t?.label);return n.includes(r)?e+(Number(t?.count)||0):e},0)}function Ir(e){let t=Ar(e);return t.includes(`candidate`)?Or.candidates:t.includes(`submission`)?Or.submissions:t.includes(`job`)?Or.jobs:null}function Lr(e){return kr[e]??null}function Rr(e){return Array.isArray(e?.counts)||e?.openCount!==void 0||e?.myAssignedCount!==void 0?[jr(`Open`,Pr(e,[`openCount`,`open`])),jr(`Partially Fulfilled`,Pr(e,[`partiallyFulfilledCount`,`partially fulfilled`])),jr(`Fulfilled`,Pr(e,[`fulfilledCount`,`fulfilled`])),jr(`In-active / Closed`,Pr(e,[`closedCount`,`closed`,`inactive`,`in active`]))]:(Lr(`jobSummary`)??[]).map(t=>{let n=Nr(e,t.field);return jr(t.label,Fr(n,t.keys??[]))})}function zr(e){return Mr(e).map(({label:e,key:t,count:n})=>jr(e||t,n))}function Br(e){let t=Array.isArray(e?.fields)?e.fields:[],n=t.find(e=>e.key===`clientSubmissionStatus.clientSubmissionStatusText`)??{},r=t.find(e=>e.key===`internalSubmissionStatus.internalSubmissionStatusText`)??{},i=e=>Array.isArray(e.counts)?e.counts.map(({label:e,count:t})=>jr(e,t)):[],a=Number(n.total)||0,o=Number(r.total)||0;return{total:a+o,clientCount:a,internalCount:o,clientBreakdown:i(n),internalBreakdown:i(r)}}var{RangePicker:Vr}=i.DatePicker,Hr=[{value:`today`,label:`Today`},{value:`yesterday`,label:`Yesterday`},{value:`last-7-days`,label:`Last 7 Days`},{value:`last-30-days`,label:`Last 30 Days`},{value:`this-month`,label:`This Month`},{value:`last-month`,label:`Last Month`},{value:`custom-range`,label:`Custom Range`}];function Ur(e){return e.closest(`.view-summary-card`)??document.body}function Wr(e){return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`}function Gr(e,t){let n=new Date(e);return n.setDate(n.getDate()+t),n}function Kr(e){let t=new Date,n=new Date(t.getFullYear(),t.getMonth(),1),r=new Date(t.getFullYear(),t.getMonth()-1,1),i=new Date(t.getFullYear(),t.getMonth(),0);if(e===`today`)return{startDate:t,endDate:t};if(e===`yesterday`){let e=Gr(t,-1);return{startDate:e,endDate:e}}return e===`last-30-days`?{startDate:Gr(t,-29),endDate:t}:e===`this-month`?{startDate:n,endDate:t}:e===`last-month`?{startDate:r,endDate:i}:{startDate:Gr(t,-6),endDate:t}}function qr(e,t){if(e===`custom-range`){let[e,n]=t??[];return!e||!n?null:{startDate:e.format(`YYYY-MM-DD`),endDate:n.format(`YYYY-MM-DD`)}}let n=Kr(e);return{startDate:Wr(n.startDate),endDate:Wr(n.endDate)}}function Jr(e){return String(e??``).trim().toLowerCase()}function Yr(e){return String(e??``).replace(/[-_]+/g,` `).replace(/\s+/g,` `).trim().replace(/\b\w/g,e=>e.toUpperCase())}function Xr(e){let t=Jr(e);return t.includes(`candidate`)?`Candidate`:t.includes(`submission`)?`Submission`:t.includes(`job`)?`Job`:Yr(e||`List`)}function Zr(e){return e?.data??e}function Qr(e,t){let n={module:e.module,dateRange:{startDate:t.startDate,endDate:t.endDate}};return e.summary&&(n.summary=e.summary),Array.isArray(e.items)&&e.items.length>0&&(n.items=e.items),Array.isArray(e.keys)&&e.keys.length>0&&(n.keys=e.keys),e.dateField&&(n.dateRange.key=e.dateField),n}function $r({moduleName:t,open:n,onClose:s}){let c=Xr(t),l=Jr(t),u=l.includes(`submission`),f=l.includes(`job`),p=l.includes(`candidate`),m=Ir(t),h=u?`last-30-days`:`last-7-days`,[g,_]=(0,r.useState)(h),[v,y]=(0,r.useState)(null),[b,x]=(0,r.useState)(null),[S,C]=(0,r.useState)(null),[w,T]=(0,r.useState)(null),[E,D]=(0,r.useState)(``),O=Rr(b),k=zr(S),A=Br(w),j=Math.max(A.total,1),M=Math.round(A.internalCount/j*100),N=Math.max(0,100-M),P=g===`custom-range`;return(0,r.useEffect)(()=>{n&&(_(h),y(null))},[h,n]),(0,r.useEffect)(()=>{if(!n||!m)return;let e=qr(g,v);if(!e)return;let t=!1;return D(``),d(Qr(m,e)).then(e=>{if(t)return;let n=Zr(e);if(f){x(n),C(null),T(null);return}if(p){C(n),x(null),T(null);return}T(n),x(null),C(null)}).catch(e=>{t||(x(null),C(null),T(null),D(e.message||`Could not load summary`))}),()=>{t=!0}},[v,p,f,u,n,g,m]),n?(0,o.jsxs)(`div`,{className:`view-summary-layer`,role:`presentation`,children:[(0,o.jsx)(`div`,{className:`view-summary-scrim`}),(0,o.jsxs)(i.Card,{"aria-label":`${c} summary`,bordered:!1,className:`view-summary-card view-summary-card--${u?`submission`:`simple`}`,children:[(0,o.jsx)(i.Button,{"aria-label":`Close summary`,className:`view-summary-close`,icon:(0,o.jsx)(a.CloseOutlined,{}),type:`text`,onClick:s}),(0,o.jsxs)(`header`,{className:`view-summary-header`,children:[(0,o.jsxs)(e.Ar,{className:`view-summary-title`,color:`primary`,size:`md`,tag:`h2`,variant:`h2`,weight:`medium`,children:[c,` Summary`]}),(0,o.jsx)(i.Select,{"aria-label":`Summary date range`,className:`view-summary-range`,popupClassName:`view-summary-range-dropdown`,getPopupContainer:Ur,popupMatchSelectWidth:!1,value:g,options:Hr,onChange:e=>{_(e),e!==`custom-range`&&y(null)}})]}),u?(0,o.jsxs)(o.Fragment,{children:[P&&(0,o.jsx)(Vr,{allowClear:!0,className:`view-summary-custom-range view-summary-custom-range--full`,format:`MMM DD, YYYY`,getPopupContainer:Ur,placeholder:[`Start date`,`End date`],value:v,onChange:y}),(0,o.jsxs)(`section`,{className:`view-summary-submission-top`,"aria-label":`Submission totals`,children:[(0,o.jsxs)(`div`,{className:`view-summary-donut`,style:{"--summary-internal":`${M}%`,"--summary-client":`${N}%`},children:[(0,o.jsx)(e.Ar,{color:`success`,size:`2xl`,tag:`span`,variant:`metric`,weight:`semibold`,children:A.total}),(0,o.jsx)(e.Ar,{color:`success`,size:`xs`,tag:`span`,variant:`caption`,weight:`semibold`,children:`Total`})]}),(0,o.jsxs)(`div`,{className:`view-summary-legend`,children:[(0,o.jsxs)(e.Ar,{color:`muted`,size:`sm`,tag:`span`,variant:`body`,weight:`regular`,children:[(0,o.jsx)(`i`,{className:`view-summary-dot view-summary-dot--internal`}),`Internal`,(0,o.jsx)(e.Ar,{color:`primary`,size:`sm`,tag:`b`,variant:`body`,weight:`regular`,children:A.internalCount})]}),(0,o.jsxs)(e.Ar,{color:`muted`,size:`sm`,tag:`span`,variant:`body`,weight:`regular`,children:[(0,o.jsx)(`i`,{className:`view-summary-dot view-summary-dot--client`}),`Client`,(0,o.jsx)(e.Ar,{color:`primary`,size:`sm`,tag:`b`,variant:`body`,weight:`regular`,children:A.clientCount})]})]})]}),(0,o.jsx)(`div`,{className:`view-summary-divider`}),(0,o.jsxs)(`section`,{className:`view-summary-breakdown`,children:[(0,o.jsx)(e.Ar,{className:`view-summary-subtitle`,color:`primary`,size:`md`,tag:`h3`,variant:`h4`,weight:`medium`,children:`Internal Breakdown`}),A.internalBreakdown.length>0?A.internalBreakdown.map(t=>(0,o.jsxs)(`div`,{className:`view-summary-row view-summary-row--bullet`,children:[(0,o.jsxs)(e.Ar,{color:`muted`,size:`sm`,tag:`span`,variant:`body`,weight:`regular`,children:[(0,o.jsx)(`i`,{className:`view-summary-dot view-summary-dot--internal`}),t.label]}),(0,o.jsx)(e.Ar,{color:`primary`,size:`sm`,tag:`b`,variant:`body`,weight:`regular`,children:t.count})]},`internal-${t.label}`)):(0,o.jsx)(e.Ar,{color:`muted`,size:`sm`,tag:`p`,variant:`body`,weight:`regular`,children:`No internal data found`}),(0,o.jsx)(e.Ar,{className:`view-summary-subtitle`,color:`primary`,size:`md`,tag:`h3`,variant:`h4`,weight:`medium`,children:`Client Breakdown`}),A.clientBreakdown.length>0?A.clientBreakdown.map(t=>(0,o.jsxs)(`div`,{className:`view-summary-row view-summary-row--bullet`,children:[(0,o.jsxs)(e.Ar,{color:`muted`,size:`sm`,tag:`span`,variant:`body`,weight:`regular`,children:[(0,o.jsx)(`i`,{className:`view-summary-dot view-summary-dot--client`}),t.label]}),(0,o.jsx)(e.Ar,{color:`primary`,size:`sm`,tag:`b`,variant:`body`,weight:`regular`,children:t.count})]},`client-${t.label}`)):(0,o.jsx)(e.Ar,{color:`muted`,size:`sm`,tag:`p`,variant:`body`,weight:`regular`,children:`No client data found`}),E&&(0,o.jsx)(e.Ar,{color:`danger`,size:`xs`,tag:`p`,variant:`caption`,children:E})]})]}):(0,o.jsxs)(`section`,{className:`view-summary-breakdown`,children:[(0,o.jsxs)(`div`,{className:`view-summary-section-head`,children:[(0,o.jsxs)(e.Ar,{className:`view-summary-section-title`,color:`primary`,size:`md`,tag:`h3`,variant:`h3`,weight:`medium`,children:[`All `,c]}),P&&(0,o.jsx)(Vr,{allowClear:!0,className:`view-summary-custom-range`,format:`MMM DD, YYYY`,getPopupContainer:Ur,placeholder:[`Start date`,`End date`],value:v,onChange:y})]}),(0,o.jsx)(`div`,{className:`view-summary-divider`}),l.includes(`job`)&&(0,o.jsx)(e.Ar,{className:`view-summary-breakdown-title`,color:`primary`,size:`sm`,tag:`h4`,variant:`h4`,weight:`regular`,children:`Breakdown`}),(p?k:O).map(t=>(0,o.jsxs)(`div`,{className:`view-summary-row`,children:[(0,o.jsx)(e.Ar,{color:`muted`,size:`sm`,tag:`span`,variant:`body`,children:t.label}),(0,o.jsx)(e.Ar,{color:`primary`,size:`sm`,tag:`b`,variant:`body`,children:t.count})]},t.label)),E&&(0,o.jsx)(e.Ar,{color:`danger`,size:`xs`,tag:`p`,variant:`caption`,children:E})]})]})]}):null}function ei(e){let[t,n]=(0,r.useState)({}),[i,a]=(0,r.useState)(new Set),o=(0,r.useRef)({}),s=(e,t)=>{a(n=>{let r=new Set(n);return t?r.add(e):r.delete(e),r})};return{valuesByField:t,loadingFields:i,fetchValues:(0,r.useCallback)((t,r=``,i={})=>{if(!t||!e)return;o.current[t]&&clearTimeout(o.current[t]);let a=r?300:0;o.current[t]=setTimeout(async()=>{s(t,!0);try{let a=await pn(e,t,r,i),o=Array.isArray(a)?a.map(e=>({label:String(e.label),value:e.value})):[];n(e=>({...e,[t]:o}))}catch{}finally{s(t,!1)}},a)},[e])}}var ti=[{label:`Last 7 days`,getDates:()=>[(0,c.default)().subtract(6,`day`),(0,c.default)()]},{label:`This month`,getDates:()=>[(0,c.default)().startOf(`month`),(0,c.default)()]},{label:`Overdue`,getDates:()=>[null,(0,c.default)().subtract(1,`day`)]}];function ni({value:e,onChange:t,disabled:n}){return(0,o.jsxs)(i.Flex,{vertical:!0,gap:4,children:[(0,o.jsx)(i.DatePicker.RangePicker,{value:e,onChange:t,disabled:n,style:{width:`100%`},allowEmpty:[!0,!0],disabledDate:e=>e&&e.isAfter((0,c.default)(),`day`)}),!n&&(0,o.jsx)(i.Space,{size:4,wrap:!0,children:ti.map(({label:e,getDates:n})=>(0,o.jsx)(i.Tag,{className:`filter-date-shortcut`,onClick:()=>t?.(n()),children:e},e))})]})}var ri=[{label:`AND`,value:`and`},{label:`OR`,value:`or`},{label:`Is Empty`,value:`isEmpty`},{label:`Not Empty`,value:`notEmpty`}],ii=[{label:`Yes`,value:`true`},{label:`No`,value:`false`}];function ai({value:e,onChange:t,disabled:n}){let[r,a]=Array.isArray(e)?e:[void 0,void 0];return(0,o.jsxs)(i.Flex,{gap:8,children:[(0,o.jsx)(i.InputNumber,{disabled:n,placeholder:`Min`,value:r,onChange:e=>t?.([e,a]),style:{flex:1}}),(0,o.jsx)(i.InputNumber,{disabled:n,placeholder:`Max`,value:a,onChange:e=>t?.([r,e]),style:{flex:1}})]})}var oi={operator:`and`,field:void 0,values:[]};function si({filterInputType:e,fieldType:t,disabled:n,loading:r,valueOptions:a,onSearch:s,onOpen:c}){let l=e||(t===`boolean`?`boolean`:null)||(t===`date`?`datepicker`:null)||(t===`number`?`number-range`:null)||`dropdown`;return l===`boolean`?(0,o.jsx)(i.Select,{allowClear:!0,disabled:n,mode:`multiple`,options:ii,placeholder:`Select value`}):l===`text`?(0,o.jsx)(i.Input,{disabled:n,placeholder:`Type keyword...`,allowClear:!0}):l===`datepicker`?(0,o.jsx)(ni,{disabled:n}):l===`number-range`?(0,o.jsx)(ai,{disabled:n}):l===`checkbox`?(0,o.jsx)(i.Spin,{spinning:r,children:(0,o.jsx)(i.Checkbox.Group,{disabled:n,options:a,style:{display:`flex`,flexWrap:`wrap`,gap:`4px 16px`}})}):l===`radio`?(0,o.jsx)(i.Spin,{spinning:r,children:(0,o.jsx)(i.Radio.Group,{disabled:n,options:a,style:{display:`flex`,flexWrap:`wrap`,gap:`4px 16px`}})}):(0,o.jsx)(i.Select,{allowClear:!0,disabled:n,loading:r,mode:`multiple`,options:a,placeholder:n?`Select field first`:`Select values`,showSearch:!0,filterOption:!1,onSearch:s,onDropdownVisibleChange:c})}function ci(e){return e.label??e.fieldLabel??e.name??e.fieldName??e.value}function li(e){return e.value??e.field??e.fieldName??e.name??e.label}function ui(e,t){let n=t.find(t=>t.value===e.field),r=e.filterInputType??n?.filterInputType,i=r===`datepicker`||!r&&n?.type===`date`,a=r===`text`,o=e.values??[];return a?o=e.value??``:i&&(o=[e.from?(0,c.default)(e.from):null,e.to?(0,c.default)(e.to):null]),{field:e.field,operator:e.operator??`and`,values:o,locked:n?.isDefaultFilter??!1}}function di({moduleName:t,open:n=!1,filters:s=[],onClose:c,onApply:l,onReset:u}){let[d]=i.Form.useForm(),f=i.Form.useWatch(`filters`,d)??[],{fields:p,loading:m,error:h}=wn(n?t:null),g=(0,r.useMemo)(()=>(p??[]).map(e=>({label:ci(e),value:li(e),type:e.type,filterInputType:e.filterInputType,dataSource:e.dataSource,groupName:e.groupName,lookup:e.lookup??null,isDefaultFilter:e.isDefaultFilter===1||e.isDefaultFilter===`1`||e.isDefaultFilter===!0})).filter(e=>e.label&&e.value),[p]),_=(0,r.useMemo)(()=>g.filter(e=>e.isDefaultFilter),[g]),v=(0,r.useMemo)(()=>_.map(e=>String(e.value)).sort().join(`|`),[_]),y=g,{valuesByField:b,loadingFields:x,fetchValues:S}=ei(t);function C(e){let t=g.find(t=>t.value===e),n=t?.filterInputType;!e||n===`datepicker`||n===`number-range`||n===`text`||!n&&[`boolean`,`date`,`number`].includes(t?.type)||S(e,``,{dataSource:t?.lookup?.collection?`lookup`:t?.dataSource,groupName:t?.groupName,lookup:t?.lookup})}function w(){return _.length>0?_.map(e=>({operator:`and`,field:e.value,values:[],locked:e.isDefaultFilter})):[oi]}function T(e=[]){let t=e.filter(e=>e?.field),n=new Set(t.map(e=>String(e.field))),r=[..._.filter(e=>!n.has(String(e.value))).map(e=>({operator:`and`,field:e.value,values:[],locked:!0})),...t].map(e=>({...e,locked:_.some(t=>String(t.value)===String(e.field))}));return r.length>0?r:[oi]}let E=(0,r.useRef)(!1),D=(0,r.useRef)(s);(0,r.useEffect)(()=>{if(s===D.current)return;if(D.current=s,E.current){E.current=!1;return}let e=T((s??[]).filter(e=>e.field).map(e=>ui(e,g)));d.setFieldsValue({filters:e}),e.forEach(e=>C(e.field))},[s,g]);let O=(0,r.useRef)(!1),k=(0,r.useRef)(``),A=(0,r.useRef)(t),j=(0,r.useRef)(!1);(0,r.useEffect)(()=>{t!==A.current&&(A.current=t,O.current=!1,k.current=``,j.current=!1)},[t]),(0,r.useEffect)(()=>{if(!n)return;let e=k.current!==v;if(O.current&&!e)return;let t=j.current&&!m,r=!m&&g.length>0;if(j.current=m,!t&&!r)return;let i=O.current;O.current=!0,k.current=v;let a=d.getFieldValue(`filters`)??[],o=T(i||a.length>0?a:w());d.setFieldsValue({filters:o}),o.forEach(e=>C(e.field))},[n,m,g,v]);function M(){E.current=!0;let e=w();d.setFieldsValue({filters:e}),e.forEach(e=>C(e.field)),l?.({moduleName:t,filters:[]}),u?.(),c?.()}function N(){E.current=!0;let e=(d.getFieldsValue().filters??[]).filter(e=>!P(e)).map(e=>{let t={...e};delete t.locked;let n=g.find(e=>e.value===t.field),r=n?.label??t.field,i=n?.filterInputType,a=i===`datepicker`||n?.type===`date`,o=i===`number-range`||!i&&n?.type===`number`,s=i===`text`;if(a){let[e,n]=Array.isArray(t.values)?t.values:[],a=e=>e?typeof e.format==`function`?e.format(`YYYY-MM-DD`):typeof e.toISOString==`function`||e instanceof Date?e.toISOString().substring(0,10):null:null,o=a(e),s=a(n);return{...t,values:[o,s].filter(Boolean),from:o??void 0,to:s??void 0,fieldLabel:r,filterInputType:i}}if(o){let[e,n]=Array.isArray(t.values)?t.values:[];return{...t,values:[e,n].filter(e=>e!=null),from:e==null?void 0:String(e),to:n==null?void 0:String(n),fieldLabel:r,filterInputType:i}}if(s){let e=typeof t.values==`string`?t.values.trim():``;return{...t,value:e,values:[],fieldLabel:r,filterInputType:i}}return{...t,values:t.values??[],fieldLabel:r,filterInputType:i}});l?.({moduleName:t,filters:e}),c?.()}function P(e){if(!e?.field)return!0;if(e.operator===`isEmpty`||e.operator===`notEmpty`)return!1;let{values:t}=e;return typeof t==`string`?t.trim()===``:Array.isArray(t)?t.length===0||t.every(e=>e==null||e===``):!0}let F=f.length===0||f.every(P);function I(e,t){let n=d.getFieldValue(`filters`)??[];d.setFieldValue(`filters`,n.map((t,n)=>n===e?{...t,values:[]}:t));let r=g.find(e=>e.value===t),i=r?.filterInputType;!t||i===`datepicker`||i===`number-range`||i===`text`||!i&&[`boolean`,`date`,`number`].includes(r?.type)||S(t,``,{dataSource:r?.lookup?.collection?`lookup`:r?.dataSource,groupName:r?.groupName,lookup:r?.lookup})}return(0,o.jsxs)(i.Drawer,{title:(0,o.jsx)(e.Ar,{variant:`card-title`,color:`primary`,children:`Filters`}),placement:`right`,width:720,open:n,onClose:c,rootClassName:`dynamic-field-filter`,maskClosable:!1,footer:(0,o.jsxs)(i.Space,{className:`dynamic-field-filter__footer`,children:[(0,o.jsx)(e.z,{onClick:M,children:`Reset`}),(0,o.jsx)(e.z,{variant:`primary`,onClick:N,disabled:F,children:`Apply`})]}),children:[h&&(0,o.jsx)(i.Alert,{type:`error`,message:`Could not load filter fields`,description:h,style:{marginBottom:16},showIcon:!0}),(0,o.jsx)(i.Spin,{spinning:m,tip:`Loading fields…`,children:(0,o.jsx)(i.Form,{form:d,layout:`vertical`,className:`dynamic-field-filter__form`,initialValues:{filters:[oi]},children:(0,o.jsx)(i.Form.List,{name:`filters`,children:(t,{add:n,remove:r})=>(0,o.jsxs)(i.Space,{direction:`vertical`,className:`dynamic-field-filter__rows`,children:[t.map((n,s)=>{let c=f[s]?.field,l=f[s]?.operator,u=g.find(e=>e.value===c),d=u?.isDefaultFilter===!0,p=!c||l===`isEmpty`||l===`notEmpty`,h=u?.type??`text`,_=u?.filterInputType,v=b[c]??[],C=x.has(c),w=new Set(f.filter((e,t)=>t!==s).map(e=>e?.field).filter(Boolean).map(String)),T=d?g.filter(e=>e.value===c):y.filter(e=>!w.has(String(e.value)));return(0,o.jsxs)(i.Space,{direction:`vertical`,className:`dynamic-field-filter__row`,children:[t.length>1&&!d&&(0,o.jsx)(e.z,{variant:`danger`,htmlType:`button`,icon:(0,o.jsx)(a.DeleteOutlined,{}),"aria-label":`Remove filter row`,className:`dynamic-field-filter__remove`,onClick:()=>r(n.name)}),s>0&&(0,o.jsx)(i.Flex,{justify:`center`,children:(0,o.jsx)(i.Form.Item,{name:[n.name,`operator`],rules:[{required:!0,message:`Select condition`}],className:`dynamic-field-filter__operator`,children:(0,o.jsx)(i.Select,{options:ri,placeholder:`Condition`})})}),(0,o.jsxs)(i.Flex,{align:`end`,gap:`middle`,wrap:!0,children:[(0,o.jsx)(i.Form.Item,{label:(0,o.jsx)(e.Ar,{variant:`label`,color:`secondary`,children:`Field`}),style:{flex:1,minWidth:220},children:d?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e.Ar,{variant:`body`,className:`dynamic-field-filter__locked-field`,children:u?.label??c}),(0,o.jsx)(i.Form.Item,{name:[n.name,`field`],noStyle:!0,children:(0,o.jsx)(i.Input,{type:`hidden`})})]}):(0,o.jsx)(i.Form.Item,{name:[n.name,`field`],rules:[{required:!0,message:`Select field`}],noStyle:!0,children:(0,o.jsx)(i.Select,{allowClear:!0,showSearch:!0,placeholder:`Select field`,options:T,optionFilterProp:`label`,loading:m,onChange:e=>I(n.name,e)})})}),(0,o.jsx)(i.Form.Item,{label:(0,o.jsx)(e.Ar,{variant:`label`,color:`secondary`,children:`Values`}),name:[n.name,`values`],style:{flex:1,minWidth:220},children:si({filterInputType:_,fieldType:h,disabled:p,loading:C,valueOptions:v,onSearch:e=>{c&&S(c,e,{dataSource:u?.lookup?.collection?`lookup`:u?.dataSource,groupName:u?.groupName,lookup:u?.lookup})},onOpen:e=>{e&&c&&S(c,``,{dataSource:u?.lookup?.collection?`lookup`:u?.dataSource,groupName:u?.groupName,lookup:u?.lookup})}})})]})]},n.key)}),(0,o.jsx)(e.z,{htmlType:`button`,variant:`soft`,icon:(0,o.jsx)(a.PlusOutlined,{}),disabled:y.length>0&&f.filter(e=>e?.field).length>=y.length,onClick:()=>n(oi),children:`Add Row`})]})})})})]})}var fi=`data:image/svg+xml,%3csvg%20width='12'%20height='12'%20viewBox='0%200%2012%2012'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M6.00035%204.69941C4.74567%204.69941%203.72701%205.71807%203.72701%206.97275C3.72701%208.22745%204.74567%209.24609%206.00035%209.24609C7.25503%209.24609%208.2737%208.22745%208.2737%206.97275C8.2737%205.71807%207.25503%204.69941%206.00035%204.69941ZM6.00035%205.87128C6.60827%205.87128%207.10182%206.36485%207.10182%206.97275C7.10182%207.58067%206.60827%208.07422%206.00035%208.07422C5.39243%208.07422%204.89888%207.58067%204.89888%206.97275C4.89888%206.36485%205.39243%205.87128%206.00035%205.87128ZM2.06843%206.41445C2.85434%204.9331%204.16742%203.92578%206.00035%203.92578C7.83328%203.92578%209.14637%204.9331%209.93227%206.41445C10.0838%206.70013%2010.4388%206.80902%2010.7245%206.65745C11.0102%206.50587%2011.1191%206.15091%2010.9675%205.86523C9.97758%203.9994%208.30902%202.75391%206.00035%202.75391C3.69169%202.75391%202.02312%203.9994%201.03322%205.86523C0.881648%206.15091%200.990538%206.50587%201.27619%206.65745C1.56187%206.80902%201.91686%206.70013%202.06843%206.41445Z'%20fill='%23586888'/%3e%3c/svg%3e`,pi=`data:image/svg+xml,%3csvg%20width='14'%20height='14'%20viewBox='0%200%2014%2014'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cmask%20id='path-1-inside-1_8856_23533'%20fill='white'%3e%3crect%20x='1.40039'%20y='1.40039'%20width='5.09086'%20height='5.09086'%20rx='0.727266'/%3e%3c/mask%3e%3crect%20x='1.40039'%20y='1.40039'%20width='5.09086'%20height='5.09086'%20rx='0.727266'%20stroke='%23586888'%20stroke-width='1.5'%20mask='url(%23path-1-inside-1_8856_23533)'/%3e%3cmask%20id='path-2-inside-2_8856_23533'%20fill='white'%3e%3crect%20x='1.40039'%20y='7.50781'%20width='5.09086'%20height='5.09086'%20rx='0.727266'/%3e%3c/mask%3e%3crect%20x='1.40039'%20y='7.50781'%20width='5.09086'%20height='5.09086'%20rx='0.727266'%20stroke='%23586888'%20stroke-width='1.5'%20mask='url(%23path-2-inside-2_8856_23533)'/%3e%3cline%20x1='7.375'%20y1='2.93555'%20x2='12.225'%20y2='2.93555'%20stroke='%23586888'%20stroke-width='0.75'%20stroke-linecap='round'/%3e%3cline%20x1='7.375'%20y1='5.83398'%20x2='12.225'%20y2='5.83398'%20stroke='%23586888'%20stroke-width='0.75'%20stroke-linecap='round'/%3e%3cline%20x1='7.375'%20y1='8.87305'%20x2='12.225'%20y2='8.87305'%20stroke='%23586888'%20stroke-width='0.75'%20stroke-linecap='round'/%3e%3cline%20x1='7.375'%20y1='11.7227'%20x2='12.225'%20y2='11.7227'%20stroke='%23586888'%20stroke-width='0.75'%20stroke-linecap='round'/%3e%3c/svg%3e`,{Text:mi}=i.Typography;function hi(e){return _i(e?.label,e?.fieldLabel,e?.name,e?.fieldName,e?.value,e?.field)}function gi(e){return _i(e?.value,e?.field,e?.fieldName,e?.name,e?.label)}function _i(...e){return e.find(e=>e!=null&&String(e).trim()!==``)}function vi(e){return String(e??``).replace(/\[(\-?\d+)\]/g,`.$1`).split(`.`).filter(Boolean)}function yi(e,t){if(!(!t||typeof t!=`string`))return vi(t).reduce((e,t)=>{if(e!=null){if(/^-?\d+$/.test(t)){if(!Array.isArray(e))return;let n=Number(t);return e[n<0?e.length+n:n]}return e?.[t]}},e)}function bi(e,t){return t===`id`?e?.id??e?._id:e?.[t]??yi(e,t)}function xi(e,t){if(!Array.isArray(e)||e.length===0||!t)return;let n=e[e.length-1];if(n!=null)return typeof n==`object`?yi(n,t):n}function Si(e){if(Array.isArray(e))return e.some(Si);if(e==null)return!1;let t=String(e).trim().toLowerCase();return t?![`all`,`internal`].includes(t):!1}function Ci(e){let t=Object.keys(e??{}).find(e=>/^customFields\.[^.]*profiledata\./i.test(e)&&!/^customFields\.internalprofiledata\./i.test(e));if(t)return t.replace(/^customFields\./i,``).replace(/profiledata\..*$/i,``);let n=e?.customFields;if(!n||typeof n!=`object`)return``;let r=Object.keys(n).find(e=>/profiledata$/i.test(e)&&!/^internalprofiledata$/i.test(e)&&n[e]&&typeof n[e]==`object`);return r?r.replace(/profiledata$/i,``):``}function wi(e){if(typeof e?.isVisible==`boolean`&&!e.isVisible||typeof e?.isVisible==`string`&&e.isVisible.toLowerCase()===`false`)return!1;let t=gi(e);return!t||typeof t!=`string`?!1:/^customFields\.[^.]*profiledata\./i.test(t)&&!/^customFields\.internalprofiledata\./i.test(t)}function Ti(e){return[e?.sourceType,e?.profileSource,e?.selectedSource,e?.customFields?.sourceType,e?.customFields?.profileSource].some(Si)||!!Ci(e)}function Ei(e,t){let n=bi(e,t);return n==null||n===``?`-`:Array.isArray(n)?n.join(`, `):typeof n==`object`?Object.values(n).join(` `):n}function Di(e){if(!e)return``;let t=e instanceof Date?e:new Date(e);if(Number.isNaN(t.getTime()))return String(e);let n=new Intl.DateTimeFormat(`en-US`,{month:`short`,day:`2-digit`,year:`numeric`,hour:`2-digit`,minute:`2-digit`,hour12:!0}).formatToParts(t),r=e=>n.find(t=>t.type===e)?.value??``;return`${`${r(`month`)} ${r(`day`)},${r(`year`)}`} | ${`${r(`hour`)}:${r(`minute`)} ${r(`dayPeriod`)}`}`}function Oi(e){return String(e||`U`).trim().charAt(0).toUpperCase()||`U`}function ki(e,t){let n=t.find(t=>{let n=bi(e,t);return n!=null&&n!==``});return n?Ei(e,n):``}function Ai(e,t){let n=bi(t,e.key),r=Array.isArray(n)?n:n?[n]:[],i=e.renderConfig??{},a=[i.nameField,i.labelField,`recruiterName`,`name`,`fullName`,`displayName`,`userName`,`email`,`recruiterEmail`].filter(Boolean),o=[i.metaField,i.dateField,i.assignedDateField,`assignedDateTime`,`assignedDate`,`createdAt`].filter(Boolean);return r.map((e,t)=>{let n=typeof e==`object`&&e?e:{value:e},r=ki(n,a)||String(e||`User`),i=ki(n,o);return{key:ki(n,[`recruiterId`,`id`,`_id`,`email`,`recruiterEmail`])||`${r}-${t}`,name:r,initial:Oi(r),meta:Di(i)}})}function ji({item:e}){return(0,o.jsxs)(`div`,{className:`job-avatar-tooltip`,children:[(0,o.jsx)(`div`,{className:`job-avatar-tooltip-name`,children:e.name}),e.meta&&(0,o.jsx)(`div`,{className:`job-avatar-tooltip-meta`,children:e.meta})]})}function Mi({items:e}){return(0,o.jsx)(`div`,{className:`job-avatar-more-tooltip`,children:e.map(e=>(0,o.jsx)(ji,{item:e},e.key))})}function Ni(e){return typeof e==`boolean`?e:typeof e==`string`?e.toLowerCase()===`true`:!!e}function Pi(e){return e==null?``:Array.isArray(e)?e.join(`,`):typeof e==`object`?Object.values(e).join(` `):String(e)}function Fi(e,t){return e?String(e).replace(/\{([^}]+)\}/g,(e,n)=>encodeURIComponent(Pi(bi(t,n)))).replace(/:([A-Za-z_][\w.]*)/g,(e,n)=>encodeURIComponent(Pi(bi(t,n)))):``}function Ii(e){return/^(https?:\/\/|\/)/i.test(String(e))}function Li(e,t){let n=String(e??``).trim().toLowerCase();if(n===`blank`||n===`_blank`)return`_blank`;if(n===`self`||n===`_self`)return`_self`;if(n)return e;if(/^https?:\/\//i.test(String(t)))return`_blank`}function Ri(e){return/^https?:\/\//i.test(String(e))}function zi(e,t,n){let r=e.routeUrl??e.routeURL??e.linkTemplate??e.linkUrl??e.href??e.url??e.action;return r?Fi(r,t):Ii(n)?String(n):``}function Bi(e,t){if(!t||t.length<3||!e||typeof e!=`string`||e===`-`)return e;let n=e.toLowerCase(),r=t.toLowerCase(),i=[],a=0;for(;a<=e.length;){let s=n.indexOf(r,a);if(s===-1){i.push(e.slice(a));break}s>a&&i.push(e.slice(a,s)),i.push((0,o.jsx)(`mark`,{className:`search-highlight`,style:{backgroundColor:`#ffff00`,color:`inherit`,padding:0,borderRadius:2},children:e.slice(s,s+t.length)},s)),a=s+t.length}return i}function Vi(e,t,n,r=``){let a=zi(e,t,n),c=Li(e.linkTarget,a),l=Bi(n,r);return Ri(a)?(0,o.jsx)(i.Tooltip,{title:n===`-`?void 0:n,children:(0,o.jsx)(`a`,{className:`job-cell-link job-cell-value`,href:a,rel:c===`_blank`?`noreferrer`:void 0,target:c,children:l})}):(0,o.jsx)(i.Tooltip,{title:n===`-`?void 0:n,children:(0,o.jsx)(s.Link,{className:`job-cell-link job-cell-value`,target:c,to:a||`#`,children:l})})}function Hi(e){let t=[e?.props,e?.props?.format,e?.props?.display,e?.props?.dateDisplay,e?.renderConfig?.format,e?.renderConfig?.display,e?.renderConfig?.dateDisplay,e?.dateDisplay].map(e=>typeof e==`string`?e.trim().toLowerCase():``).find(Boolean);return t===`datetime`||t===`time`?t:`date`}function Ui(e,t){if(e==null||e===``)return`-`;let n=e instanceof Date?e:new Date(e);if(Number.isNaN(n.getTime()))return Ei({value:e},`value`);let r=new Intl.DateTimeFormat(`en-US`,{month:`short`,day:`2-digit`,year:`numeric`,hour:`2-digit`,minute:`2-digit`,hour12:!0,timeZone:`UTC`}).formatToParts(n),i=e=>r.find(t=>t.type===e)?.value??``,a=`${i(`month`)}, ${i(`day`)}, ${i(`year`)}`,o=`${i(`hour`)}:${i(`minute`)} ${i(`dayPeriod`)}`,s=Hi(t);return s===`time`?o:s===`datetime`?`${a} | ${o}`:a}function Wi(e){return/date/i.test(`${e.key??``} ${e.label??``} ${e.type??``}`)}function Gi(e){return e==null||e===``?`-`:Array.isArray(e)?e.join(`, `):typeof e==`object`?Object.values(e).join(` `):e}function Ki(e,t,n){let r=String(t??``).trim();if(!r)return`-`;let i=r.replace(/^record\./,``);if(n?.renderConfig?.lastItemField??n?.renderConfig?.arrayDisplayField){let t=vi(i);for(let n=t.length-1;n>=1;--n){let r=bi(e,t.slice(0,n).join(`.`));if(!Array.isArray(r))continue;let i=r[r.length-1];return i==null?`-`:Gi(yi(i,t.slice(n).join(`.`)))}let r=n?.key,a=r?bi(e,r):void 0;if(r&&Array.isArray(a)){let e=a[a.length-1];if(i===r)return Gi(e);let t=`${r}.`;if(i.startsWith(t))return Gi(yi(e,i.slice(t.length)))}}return Ei(e,i)}function qi(e,t,n){return typeof e!=`string`||e.trim()===``?``:e.replace(/\{\{\s*([^}]+?)\s*\}\}/g,(e,r)=>{let i=Ki(t,r,n);return i===`-`?``:String(i)}).replace(/\s+/g,` `).trim()}function Ji(e,t){let n=bi(t,e.key),r=qi(e.displayTemplate,t,e),i=e.renderConfig?.lastItemField??e.renderConfig?.arrayDisplayField;if(r)return r;if(i){let e=xi(n,i);return e!=null&&e!==``?Array.isArray(e)?e.join(`, `):typeof e==`object`?Object.values(e).join(` `):e:`-`}return Wi(e)?Ui(n,e):Ei(t,e.key)}function Yi(e){return e===`-`||typeof e!=`string`||!e.trim()?e:e.replace(/\b([A-Za-z])([A-Za-z]*)\b/g,(e,t,n)=>e.length>1&&e===e.toUpperCase()?e:`${t.toUpperCase()}${n.toLowerCase()}`)}function Xi(e){return typeof e!=`string`||!e.includes(`-`)?e:e.replace(/(^|\s)-\s*(\d+)(?=\s*[A-Za-z])/,`$10-$2`).replace(/(\d+)\s*-\s*(?=[A-Za-z])/,`$1-0 `)}function Zi(e){let t=e.map((e,t)=>({field:e,index:t}));return t.some(({field:e})=>e.order!==void 0&&e.order!==null&&e.order!==``)?[...t].sort((e,t)=>{let n=Number(e.field.order),r=Number(t.field.order),i=Number.isFinite(n),a=Number.isFinite(r);return i&&a&&n!==r?n-r:i===a?e.index-t.index:i?-1:1}).map(({field:e})=>e):e}function Qi(e){return e.iconUrl??e.iconURL??e.icon??e.iconPath}function $i(e){return Array.isArray(e)?e.map((e,t)=>({...e,key:e.key??e.name??e.label??e.routeUrl??e.type??String(t),label:e.label??e.name??e.title??e.type??`Action`,iconUrl:Qi(e)})).filter(e=>e.iconUrl):[]}function ea(e,t,n=[],r){if(Vn(e.key,t,n,r)||Array.isArray(e.conditions)&&e.conditions.length>0&&!e.conditions.every(e=>Bn(e,t,r)))return!1;let i=e?.showIfField??e?.visibleWhenField;return i?Bn({field:i,operator:e?.showIfOperator||`eq`,value:e?.showIfValue??e?.visibleWhenValue??``},t,r):!0}function ta(e,t={}){let n=Mn(e);return n===`add`?t.canAdd!==!1:n===`edit`?t.canEdit!==!1:n===`delete`?t.canDelete!==!1:!0}function na(e,t,n){if(typeof e.onClick==`function`)return(0,o.jsx)(i.Tooltip,{title:e.label,children:(0,o.jsx)(`button`,{"aria-label":e.label,className:`job-field-action-button`,type:`button`,onClick:n=>{n.stopPropagation(),e.onClick(t)},children:(0,o.jsx)(`img`,{src:e.iconUrl,alt:e.label,className:`job-field-action-icon`})})},e.key);let r=Fi(e.routeUrl??e.routeURL??e.url??e.href,t),a=ba(e.type),c=(0,o.jsx)(`img`,{src:e.iconUrl,alt:e.label,className:`job-field-action-icon`}),l=`job-field-action-button`,u=e.__done,d=e.__disabledReason;return u||d?(0,o.jsx)(i.Tooltip,{title:u?u.label:d,children:(0,o.jsx)(`button`,{"aria-label":u?u.label:`${e.label} (unavailable)`,className:`${l} job-field-action-button--done`,type:`button`,disabled:!0,children:c})},e.key):typeof e.onClick==`function`?(0,o.jsx)(i.Tooltip,{title:e.label,children:(0,o.jsx)(`button`,{"aria-label":e.label,className:`job-field-action-button`,type:`button`,onClick:n=>{n.stopPropagation(),e.onClick(t)},children:(0,o.jsx)(`img`,{src:e.iconUrl,alt:e.label,className:`job-field-action-icon`})})},e.key):a===`popup`&&r?(0,o.jsx)(i.Tooltip,{title:e.label,children:(0,o.jsx)(`button`,{"aria-label":e.label,className:l,type:`button`,onClick:()=>n?.(r,t),children:c})},e.key):r&&(a===`page`||r.startsWith(`/`))?(0,o.jsx)(i.Tooltip,{title:e.label,children:(0,o.jsx)(s.Link,{"aria-label":e.label,className:l,to:r,children:c})},e.key):r?(0,o.jsx)(i.Tooltip,{title:e.label,children:(0,o.jsx)(`a`,{"aria-label":e.label,className:l,href:r,rel:`noreferrer`,target:`_blank`,children:c})},e.key):(0,o.jsx)(i.Tooltip,{title:e.label,children:(0,o.jsx)(`button`,{"aria-label":e.label,className:l,type:`button`,children:c})},e.key)}function ra(e){let t=Array.isArray(e.secondaryFields)?e.secondaryFields:[],n=e.secondaryField?[e.secondaryField]:[];return[...t,...n].filter((e,t,n)=>e&&n.indexOf(e)===t)}function ia(e,t){let n=e.secondarySeparator??` `,r=ra(e).map(e=>Ei(t,e)).filter(e=>e!==`-`);return r.length?r.join(` ${n} `):``}function aa(e){return Yi(Xi(e))}function oa(e,t){if(!Array.isArray(e.valueStyles))return null;let n=ba(t);return e.valueStyles.find(e=>ba(e?.value)===n||ba(e?.label)===n)??null}function sa(e){let t=e?.color,n=e?.bg??e?.background??e?.backgroundColor;return{...t?{"--job-cell-badge-color":t}:{},...n?{"--job-cell-badge-bg":n}:{}}}function ca(e){return ba(e?.varient??e?.variant).replace(/[^a-z0-9-]/g,`-`)}function la(e,t){let n=oa(e,t),r=n??e.commonStyle??{},a=n?.label??t,s=(typeof a==`string`?a.trim():a)||`-`,c=ca(r),l=[`job-cell-badge`,`job-cell-value`,c?`job-cell-badge--${c}`:``].filter(Boolean).join(` `),u=!n&&typeof s==`string`&&s.includes(`,`)?s.split(`,`).map(e=>e.trim()).filter(Boolean):null,d=u&&u.length>1?`${u.slice(0,1).join(`, `)} +${u.length-1}`:s,f=sa(r);return(0,o.jsx)(i.Tooltip,{title:s===`-`?void 0:s,children:(0,o.jsx)(i.Tag,{className:l,style:f,children:d})})}function ua(e,t){let n=Ai(e,t),r=n.slice(0,2),a=n.slice(2);return n.length?(0,o.jsxs)(`span`,{className:`job-avatar-group`,children:[r.map((e,t)=>(0,o.jsx)(i.Tooltip,{overlayClassName:`job-avatar-tooltip-overlay`,title:(0,o.jsx)(ji,{item:e}),children:(0,o.jsx)(i.Avatar,{className:`job-avatar job-avatar--${t+1}`,children:e.initial})},e.key)),a.length>0&&(0,o.jsx)(i.Tooltip,{overlayClassName:`job-avatar-tooltip-overlay job-avatar-more-tooltip-overlay`,title:(0,o.jsx)(Mi,{items:a}),children:(0,o.jsxs)(i.Avatar,{className:`job-avatar job-avatar--more`,children:[`+`,a.length]})})]}):(0,o.jsx)(mi,{className:`job-cell-primary job-cell-value`,children:`-`})}function da(e,t,n=``,r,a={},s=[],c){if(ba(e.renderType)===`avatar`)return ua(e,t);let l=aa(Ji(e,t)),u=$i(e.actionButtons).filter(e=>ea(e,t,s,c)).filter(e=>ta(e,a)).map(e=>({...e,__done:Un(e,t,c),__disabledReason:Hn(e.key,t,s,c)})),d=aa(ia(e,t));return(0,o.jsxs)(`span`,{className:`job-cell-content`,children:[(0,o.jsxs)(`span`,{className:`job-cell-main-line`,children:[ba(e.renderType)===`badge`&&l!==`-`?la(e,l):!Ni(e.isLink)||l===`-`?(0,o.jsx)(i.Tooltip,{title:l===`-`?void 0:l,children:(0,o.jsx)(mi,{className:`job-cell-primary job-cell-value`,children:Bi(l,n)})}):Vi(e,t,l,n),u.length>0&&(0,o.jsx)(`span`,{className:`job-field-actions`,children:u.map(e=>na(e,t,r))})]}),d&&(0,o.jsx)(i.Tooltip,{title:d,children:(0,o.jsx)(`span`,{className:`job-cell-secondary`,children:Bi(d,n)})})]})}var fa=130,pa=230,ma=7.2,ha=26,ga=8,_a=44,va=20;function ya(e,t){let n=String(e.label??``).length*ga+_a;if(ba(e.renderType)===`avatar`)return Math.max(Math.round(n),120);let r=0;for(let n of t){let t=String(aa(Ji(e,n))??``),i=String(aa(ia(e,n))??``);r=Math.max(r,t.length,i.length)}let i=ba(e.renderType)===`badge`?24:0,a=r*ma+ha+i;return Math.round(Math.min(Math.max(n,a,fa),pa))}function ba(e){return String(e??``).trim().toLowerCase()}function xa(e,t){return e?.key??e?.value??e?.id??(t===void 0?void 0:String(t))}function Sa(e){return ba(e)}function Ca(e){return[`all`,``].includes(Sa(e))}function wa(e,t,n,r,i){if(Ca(t))return!0;let a=ba(n?.filterValue??n?.status??n?.title??n?.tabTitle??n?.name??(typeof n?.label==`string`?n.label:void 0)??n?.value??n?.key??t),o=n?.field??n?.fieldName??n?.filterField??n?.dataIndex??i;if(o)return ba(Ei(e,o))===a;let s=r.filter(e=>{let t=ba(e.key),n=ba(e.label);return t.includes(`status`)||n.includes(`status`)});return(s.length?s:r).some(t=>ba(Ei(e,t.key))===a)}function Ta(e,t,n){return typeof n==`function`?n(e,t):typeof n==`string`?e?.[n]:e.id??e._id??e.key??t}function Ea(e){return!!e?.closest?.(`a,button,input,textarea,select,label,[role="button"],[role="menuitem"],.ant-checkbox,.ant-radio,.ant-dropdown,.ant-dropdown-trigger,.ant-table-selection-column,.job-field-actions,.job-row-eye-button`)}function Da(e){return e.label??e.name??e.title??e.value}function Oa(e,t){return e.key??e.value??e.route??e.name??String(t)}var ka={delete:(0,o.jsx)(a.DeleteOutlined,{}),edit:(0,o.jsx)(a.EditOutlined,{}),mail:(0,o.jsx)(a.MailOutlined,{}),shareAlt:(0,o.jsx)(a.ShareAltOutlined,{}),swap:(0,o.jsx)(a.RightOutlined,{}),thunderbolt:(0,o.jsx)(a.ThunderboltOutlined,{}),userAdd:(0,o.jsx)(a.UserAddOutlined,{}),userSwitch:(0,o.jsx)(a.UserSwitchOutlined,{})};function Aa(e,t){let n={key:e.key,label:t?t.label:e.label,icon:ka[e.icon]??void 0,danger:t?void 0:e.danger||void 0,disabled:!!t||void 0,title:t?t.label:void 0};return e.children?.length&&(n.children=e.children.map(e=>Aa(e))),n}function ja(e,t,n){return!e?.doneWhen?.field||!t?.length?null:t.every(t=>Un(e,t,n))?Un(e,t[0],n):null}function Ma(e,t){return e.filter(t).map(e=>e.children?.length?{...e,children:Ma(e.children,t)}:e)}function Na(e){let t=[];for(let n of e)t.push(n),n.children?.length&&t.push(...Na(n.children));return t}function Pa(e){return Array.isArray(e)?e.map((e,t)=>{let n=Da(e),r=Oa(e,t);return!n||!r?null:{...e,key:String(r),label:n,route:e.route||e.routeTemplate||(e.actionType===`modal`&&(e.popupKey||r)?`/popup/${e.popupKey||r}`:``),children:e.children?.length?Pa(e.children):void 0}}).filter(Boolean):[]}function Fa(t,n){return!t.permissionKey||!n.length?!0:n.every(n=>e.m(yi(n,`actionPermission.${t.permissionKey}`)))}function Ia(e,t){return t?e===`asc`?`desc`:e===`desc`?``:`asc`:`asc`}function La(e){return e===`asc`?`Ascending`:e===`desc`?`Descending`:`Neutral`}function Ra({label:e,sortDir:t,sortable:n,onSort:r}){if(!n)return(0,o.jsx)(`span`,{className:`job-table-header-label`,children:e});let s=La(t);return(0,o.jsxs)(`div`,{className:`job-table-header-content`,children:[(0,o.jsx)(`span`,{className:`job-table-header-label`,title:typeof e==`string`?e:void 0,children:e}),(0,o.jsx)(i.Tooltip,{title:s,mouseEnterDelay:.08,overlayClassName:`job-sort-tooltip`,children:(0,o.jsx)(`button`,{type:`button`,className:`job-table-sort-trigger${t?` job-table-sort-trigger--active`:``}`,"aria-label":`Sort ${typeof e==`string`?e:`column`}, ${s}`,onClick:e=>{e.preventDefault(),e.stopPropagation(),r?.()},children:(0,o.jsxs)(`span`,{className:`job-table-sort-icon-stack`,children:[(0,o.jsx)(a.CaretUpOutlined,{className:`job-table-sort-icon job-table-sort-icon--up${t===`asc`?` job-table-sort-icon--active`:``}`}),(0,o.jsx)(a.CaretDownOutlined,{className:`job-table-sort-icon job-table-sort-icon--down${t===`desc`?` job-table-sort-icon--active`:``}`})]})})})]})}function za({moduleName:e,activeTabScope:t,pageSize:n,sort:r,sortDir:i,queryParams:a}){return[e??``,t??``,n,r??``,i??``,a?JSON.stringify(a):``].join(`|`)}function Ba(e){let t=Number(e);return Number.isInteger(t)&&t>0?t:1}function Va(e){for(let t of e.keys()){let e=/^p(\d+)$/.exec(t);if(e)return Ba(e[1])}return 1}function Ha(e){[...e.keys()].forEach(t=>{(/^p\d+$/.test(t)||t===`page`)&&e.delete(t)})}var Ua=[],Wa={};function Ga({record:e,fields:t,selected:n,onSelect:r,onPreview:a,onRecordClick:s,isControlled:c,selectionMode:l=`checkbox`,onPopupAction:u,permissions:d}){let f=t.find(e=>e.cardRole===`name`),p=t.find(e=>e.cardRole===`action`),m=t.find(e=>e.cardRole===`headerAction`),h=t.filter(e=>e!==f&&e!==p&&e!==m),g=f?Ei(e,gi(f)):``,_=p?.render?p.render(bi(e,gi(p)),e):null,v=m?.render?m.render(bi(e,gi(m)),e):null;return(0,o.jsxs)(`div`,{className:`param-card${n?` param-card--selected`:``}`,"aria-selected":n,onClick:e=>{Ea(e.target)||s?.()},role:s?`button`:void 0,tabIndex:s?0:void 0,onKeyDown:e=>{!s||e.key!==`Enter`&&e.key!==` `||(e.preventDefault(),s())},children:[(0,o.jsx)(`div`,{className:`param-card__header`,children:(0,o.jsxs)(`div`,{className:`param-card__name-row`,children:[l===`checkbox`&&(0,o.jsx)(i.Checkbox,{checked:n,onChange:r,onClick:e=>e.stopPropagation(),className:`param-card__checkbox`}),a&&(0,o.jsx)(`button`,{type:`button`,className:`job-row-eye-button`,"aria-label":`Preview`,onClick:e=>{e.stopPropagation(),a()},children:(0,o.jsx)(`img`,{src:`data:image/svg+xml,%3csvg%20width='12'%20height='12'%20viewBox='0%200%2012%2012'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M6.00035%204.69941C4.74567%204.69941%203.72701%205.71807%203.72701%206.97275C3.72701%208.22745%204.74567%209.24609%206.00035%209.24609C7.25503%209.24609%208.2737%208.22745%208.2737%206.97275C8.2737%205.71807%207.25503%204.69941%206.00035%204.69941ZM6.00035%205.87128C6.60827%205.87128%207.10182%206.36485%207.10182%206.97275C7.10182%207.58067%206.60827%208.07422%206.00035%208.07422C5.39243%208.07422%204.89888%207.58067%204.89888%206.97275C4.89888%206.36485%205.39243%205.87128%206.00035%205.87128ZM2.06843%206.41445C2.85434%204.9331%204.16742%203.92578%206.00035%203.92578C7.83328%203.92578%209.14637%204.9331%209.93227%206.41445C10.0838%206.70013%2010.4388%206.80902%2010.7245%206.65745C11.0102%206.50587%2011.1191%206.15091%2010.9675%205.86523C9.97758%203.9994%208.30902%202.75391%206.00035%202.75391C3.69169%202.75391%202.02312%203.9994%201.03322%205.86523C0.881648%206.15091%200.990538%206.50587%201.27619%206.65745C1.56187%206.80902%201.91686%206.70013%202.06843%206.41445Z'%20fill='%23586888'/%3e%3c/svg%3e`,alt:``,className:`job-row-eye-icon`})}),(0,o.jsx)(mi,{className:`param-card__name`,children:g}),v&&(0,o.jsx)(`div`,{className:`param-card__header-actions`,children:v})]})}),h.length>0&&(0,o.jsx)(`div`,{className:`param-card__body-fields`,children:h.map(t=>{let n=gi(t),r=bi(e,n),i=c&&typeof t.render==`function`?t.render(r,e):da(t,e,``,u,d);return(0,o.jsxs)(`div`,{className:`param-card__field-row`,children:[(0,o.jsx)(mi,{className:`param-card__field-label`,children:hi(t)}),(0,o.jsx)(`div`,{className:`param-card__field-value`,children:i})]},n)})}),(0,o.jsx)(`div`,{className:`param-card__divider`}),(0,o.jsxs)(`div`,{className:`param-card__footer`,children:[(0,o.jsx)(`div`,{className:`param-card__footer-left`}),(0,o.jsx)(`div`,{className:`param-card__footer-right`,children:_})]})]})}function Ka(e){return!!(e.operator===`isEmpty`||e.operator===`notEmpty`||e.value||e.from||e.to||Array.isArray(e.values)&&e.values.length>0)}function qa(e){return e.fieldLabel?e.fieldLabel:(e.field??``).replace(/([A-Z])/g,` $1`).replace(/^(.)/,e=>e.toUpperCase()).trim()}function Ja(e){if(e.operator===`isEmpty`)return`Is Empty`;if(e.operator===`notEmpty`)return`Not Empty`;if(e.value)return`"${e.value}"`;if(e.from&&e.to)return`${e.from} to ${e.to}`;if(e.from)return`from ${e.from}`;if(e.to)return`to ${e.to}`;if(Array.isArray(e.values)&&e.values.length>0){let t=e.values.slice(0,2).join(`, `);return e.values.length>2?`${t} +${e.values.length-2}`:t}return``}function Ya({filters:e,onRemove:t,onClearAll:n}){let r=(e??[]).map((e,t)=>({row:e,originalIdx:t})).filter(({row:e})=>e.field&&Ka(e));return r.length===0?null:(0,o.jsxs)(i.Flex,{gap:6,wrap:`wrap`,align:`center`,className:`filter-chips-bar`,children:[(0,o.jsx)(mi,{className:`filter-chips-bar__label`,children:`Filters:`}),r.map(({row:e,originalIdx:n})=>(0,o.jsxs)(i.Tag,{closable:!0,onClose:()=>t(n),className:`filter-chip`,children:[(0,o.jsx)(`span`,{className:`filter-chip__field`,children:qa(e)}),(0,o.jsx)(`span`,{className:`filter-chip__sep`,children:`: `}),(0,o.jsx)(`span`,{className:`filter-chip__value`,children:Ja(e)})]},`${e.field}-${n}`)),r.length>1&&(0,o.jsx)(i.Button,{type:`link`,size:`small`,onClick:n,className:`filter-chips-clear`,children:`Clear all`})]})}function Xa({moduleName:n,authToken:c,actions:l=[],actionRules:u=[],breadcrumbItems:d=[],dataSource:f=[],className:p=``,initialPageSize:m=10,onAction:h,onSummaryClick:g,rowKey:_,showSummaryButton:v=!1,summaryButtonLabel:y=`View Summary`,summaryRoute:b,showFieldButton:x=!0,fieldButtonLabel:S=`View Field`,fieldButtonRoute:C,tabs:w,tableClassName:T=`job-list-table`,fields:E=Ua,fieldOverrides:D=null,extraFields:O=Ua,listName:k=``,loading:A=!1,total:M,current:N,pageSize:P,onPageChange:F,onPageSizeChange:I,onSearch:L,toolbarExtra:R=null,showSearch:z=!0,searchPlaceholder:B=`Min 3 Chars, press Enter to search`,searchFields:ee=Ua,showViewToggle:te=!1,activeView:V=`list`,onViewChange:ne,createAction:re,onRecordClick:H,selectedRecordId:U,selectionMode:ie=`checkbox`,compact:ae=!1,onSelectionChange:oe,selectedSource:se,onTabChange:ce,fetchData:le=on,responseMapper:W=Dr,queryParams:G=Wa,defaultVisibleColumnCount:K=6,showAdd:ue=!0,lockOuterPageScroll:de=!1}){let fe=(0,s.useNavigate)(),pe=(0,s.useLocation)(),me=e.Er(n),he=!!de,{canView:ge,canAdd:_e,canEdit:ve,canDelete:ye}=An(me),be=(0,r.useMemo)(()=>G??Wa,[JSON.stringify(G??Wa)]),[xe]=(0,s.useSearchParams)(),Se=Va(xe),[Ce,we]=(0,r.useState)(`all`),[Te,Ee]=(0,r.useState)(``),[De,Oe]=(0,r.useState)(``),[ke,Ae]=(0,r.useState)(!1),[Me,q]=(0,r.useState)([]),[J,Ne]=(0,r.useState)([]),[Y,Pe]=(0,r.useState)([]),[Fe,Ie]=(0,r.useState)(0),[Le,X]=(0,r.useState)({current:Se,pageSize:m}),[Re,ze]=(0,r.useState)({sort:``,sortDir:``}),[Be,Ve]=(0,r.useState)([]),[He,Ue]=(0,r.useState)(!1),[We,Ge]=(0,r.useState)([]);(0,r.useEffect)(()=>(c&&t.h(c),()=>{c&&t.n()}),[c]),(0,r.useEffect)(()=>{if(he)return document.documentElement.classList.add(`listview-page-scroll-lock`),document.body.classList.add(`listview-page-scroll-lock`),()=>{document.documentElement.classList.remove(`listview-page-scroll-lock`),document.body.classList.remove(`listview-page-scroll-lock`)}},[he]);let Ke=(0,r.useRef)(null),[qe,Je]=(0,r.useState)(0),Ye=(0,r.useRef)();(0,r.useEffect)(()=>{let e=Ke.current;if(!e||typeof ResizeObserver>`u`)return;let t=new ResizeObserver(e=>{let t=e[0]?.contentRect?.width;typeof t==`number`&&Je(t)});return t.observe(e),()=>t.disconnect()},[]);let Xe=(e,t)=>String(Ta(e,t,_)),Ze=(e,t)=>String(Xe(e,t))===String(U??``),Qe=(e,t)=>{let n=Xe(e,t);n&&H?.(e,n)},$e=(e,t)=>{Ne(e),Pe(t),oe?.(e,t)},[et,tt]=(0,r.useState)(f),[nt,rt]=(0,r.useState)(f.length),[it,at]=(0,r.useState)([]),[ot,st]=(0,r.useState)([]),[ct,lt]=(0,r.useState)(``),[ut,dt]=(0,r.useState)([]),[ft,pt]=(0,r.useState)([]),[mt,ht]=(0,r.useState)(!1),[gt,_t]=(0,r.useState)(null),[vt,yt]=(0,r.useState)(null),[bt,xt]=(0,r.useState)(!1),St=!!(F||I||L),Ct=St?f:et,wt=St?M??0:nt,Tt=St?E:ot,Et=(0,r.useMemo)(()=>Ct.some(e=>Ti(e)),[Ct]),Dt=(0,r.useMemo)(()=>Tt.some(e=>wi(e)),[Tt]),Ot=Et||Dt?`card`:V,kt=l.length>0?l:ut,At=u.length>0?u:ft,jt=(0,r.useMemo)(()=>Pa(kt),[kt]),Mt=(0,r.useMemo)(()=>new Map(Na(jt).map(e=>[e.key,e])),[jt]),Nt=(0,r.useMemo)(()=>Ma(jt,t=>{let n=Mn(t);return n===`add`&&!_e||n===`edit`&&!ve||n===`delete`&&!ye||!e.h(t.permission,me)||t.showInList===!1?!1:t.allowedTabs?t.allowedTabs.some(e=>ba(e)===ba(Ce)):!0}),[jt,Ce,_e,ve,ye,me]),Pt=(0,r.useMemo)(()=>Ma(Nt,e=>(J.length===1||e.allowMultiple||e.danger)&&Fa(e,Y)&&!Wn(e.key,Y,At,Ce)),[Ce,At,J.length,Y,Nt]),Ft=typeof n==`string`?n.trim().length>0:!!n,It=Ft?`/${me}-create${re?`?action=${encodeURIComponent(re)}`:``}`:``;(0,r.useEffect)(()=>{Ft&&!ge&&fe(`/`,{replace:!0})},[ge,Ft,fe]);let Lt=(e,{replace:t=!1}={})=>{let n=new URLSearchParams(xe);Ha(n);let r=[n.toString(),e>1?`p${e}`:``].filter(Boolean).join(`&`);r!==pe.search.replace(/^\?/,``)&&fe({pathname:pe.pathname,search:r?`?${r}`:``},{replace:t})},Rt=(e,t)=>{X(t=>({...t,current:e})),Lt(e,t)},zt=()=>{Rt(1,{replace:!0})},{config:Bt,loading:Vt,error:Ht}=Cn(!St&&Ft?n:null),Ut=(0,r.useCallback)(e=>{let t=Re.sort===e,n=Ia(Re.sortDir,t),r=n?String(e):``;ze({sort:r,sortDir:n}),typeof L==`function`&&L(r,n),zt()},[L,zt,Re.sort,Re.sortDir]);(0,r.useEffect)(()=>{X(e=>e.current===Se?e:{...e,current:Se})},[Se]),(0,r.useEffect)(()=>{St&&X(e=>{let t=Ba(N??e.current),n=Number(P)>0?Number(P):e.pageSize;return e.current===t&&e.pageSize===n?e:{current:t,pageSize:n}})},[N,P,St]);let Wt=pe.state?.refreshTimestamp;(0,r.useEffect)(()=>{Wt&&($e([],[]),Ie(e=>e+1))},[Wt]);let Gt=(0,r.useMemo)(()=>{let e=[...Array.isArray(w)?w:[],...it],t=Sa(Ce);return e.find((e,n)=>Sa(xa(e,n))===t)},[Ce,it,w]),Kt=Gt?.field??Gt?.fieldName??Gt?.filterField??Gt?.dataIndex??ct,qt=Ca(Ce)?``:Ce,Jt=!qt&&!Ca(Ce)&&ba(Kt).length>0,Yt=De.trim().length>=3,Xt=Yt?De.trim():``,Zt=Me.some(e=>e.field),Qt=za({moduleName:n,activeTabScope:qt,pageSize:Le.pageSize,sort:Re.sort,sortDir:Re.sortDir,queryParams:be}),$t=Le.current===1&&vt?.key===Qt;(0,r.useEffect)(()=>{if(St)return;if(!Ft){tt([]),rt(0),at([]),st([]),lt(``),dt([]),pt([]),_t(null);return}let e=!1,t=Yt&&nt>Le.pageSize,r=t?nt:Le.pageSize,a=t?0:(Le.current-1)*Le.pageSize;return ht(!(!Yt&&!Zt&&Le.current===1&&$t)),_t(null),le(n,r,a,{scope:qt,sort:Re.sort,sortDir:Re.sortDir,search:Xt,filters:Me,queryParams:be}).then(t=>{if(e)return;let{rows:r,total:i,tabs:a,fields:o,tabField:s,actions:c,actionRules:l}=W(t,n);tt(r),rt(i),at(a),st(o),lt(s),dt(c),pt(l),!Yt&&!Zt&&Le.current===1&&yt({key:Qt,rows:r,total:i,tabs:a,fields:o,tabField:s,actions:c,actionRules:l})}).catch(t=>{e||(tt([]),rt(0),at([]),st([]),lt(``),dt([]),pt([]),_t(t.message),Ft&&i.message.error(`Invalid module name or data could not be loaded.`))}).finally(()=>{e||ht(!1)}),()=>{e=!0}},[Xt,qt,Me,Qt,le,Zt,Yt,Ft,$t,n,nt,Le.current,Le.pageSize,Fe,W,Re.sort,Re.sortDir,be]);let en=(0,r.useMemo)(()=>{let e=St&&Array.isArray(E)&&E.length,t=!St&&Array.isArray(ot)&&ot.length,n=!Ht&&Array.isArray(Bt)&&Bt.length,r=e?E:t?ot:n?Bt:[],i=new Map(ot.map(e=>[gi(e),e]).filter(([e])=>e)),a=r.map(e=>{let t=gi(e),n=i.get(t)??{},r=t&&D&&typeof D==`object`?D[t]:null,a=r?.renderConfig?{...n.renderConfig??e.renderConfig??{},...r.renderConfig}:e.renderConfig??n.renderConfig??null;return{...n,...e,...r??{},...a?{renderConfig:a}:{},key:t,label:hi(r??e)??hi(e)??hi(n)}}).filter(e=>e.key&&e.label),o=(Array.isArray(O)?O:[]).map((e,t)=>{let n=gi(e);return n?{...e,key:n,label:hi(e)??`Field ${t+1}`,isVirtual:e.isVirtual??!0,isVisible:typeof e.isVisible==`boolean`?e.isVisible:!0}:null}).filter(Boolean);return Zi([...a,...o])},[Bt,Ht,E,O,D,St,ot]),tn=(0,r.useMemo)(()=>en.filter(e=>typeof e.isVisible==`boolean`?e.isVisible:typeof e.isVisible==`string`?e.isVisible.toLowerCase()===`true`:!0).map(e=>({key:e.key,label:e.label})),[en]),nn=tn.map(e=>e.key),rn=Be.filter(e=>nn.includes(e)),an=rn.length?rn:tn.slice(0,K).map(e=>e.key),sn=Math.min(K,tn.length),cn=an.length>K,ln=(0,r.useMemo)(()=>en.filter(e=>!e.cardHidden&&(e.tableHidden||an.includes(e.key))),[en,an]),un=(0,r.useMemo)(()=>{let e=Te.toLowerCase(),t=Ct,n=Jt?t.filter(e=>wa(e,Ce,Gt,en,Kt)):t,r=ee.length?en.filter(e=>ee.includes(e.key)):en;return!e||e.length<3?n:n.filter(t=>r.some(n=>String(Ei(t,n.key)).toLowerCase().includes(e)||ra(n).some(n=>String(Ei(t,n)).toLowerCase().includes(e))))},[Ce,Gt,Kt,Jt,Ct,en,Te,ee]),dn=(0,r.useMemo)(()=>{if(!Yt)return un;let e=(Le.current-1)*Le.pageSize;return un.slice(e,e+Le.pageSize)},[un,Yt,Le.current,Le.pageSize]),fn=Yt?un.length:wt,pn=De.trim().length>=3,mn=String(un.length).padStart(2,`0`),hn=wt>0||Ct.length>0,gn=Ft?gt?`Invalid module name or data could not be loaded.`:Ht?`Field configuration failed to load.`:`No data found.`:`Please provide a module name to view data.`,_n=(0,r.useMemo)(()=>{let e=Array.isArray(w)?w:[];return e.length?e:it.length?it:[{key:`all`,title:n??`List`,count:fn}]},[n,it,fn,w]);(0,r.useEffect)(()=>{if(!_n.length)return;let e=Sa(Ce);if(!_n.some((t,n)=>Sa(xa(t,n))===e)){let e=xa(_n[0],0);e&&we(String(e))}},[Ce,_n]),(0,r.useEffect)(()=>{if(se===void 0||!_n.length||se===Ye.current)return;Ye.current=se;let e=_n.find((e,t)=>Sa(xa(e,t))===Sa(se)),t=e?String(xa(e,_n.indexOf(e))):``;t&&we(e=>t===e?e:t)},[_n,se]);let vn=e=>{fe(`/popup/preview`,{state:{background:pe,moduleName:me,record:e,fields:en.map(e=>{let t={};return Object.entries(e).forEach(([e,n])=>{typeof n!=`function`&&(t[e]=n)}),t})}})},yn=(e,t)=>{let n=Fi(e,t),r=n.startsWith(`/`)?n:`/${n}`,i=t?._id??t?.id;fe(r,{state:{background:pe,selectedIds:i===void 0?[]:[i],selectedRecords:[t],moduleName:me,popupContext:{},popupAction:{}}})},bn=(0,r.useMemo)(()=>{let e={dataIndex:`icons`,key:`icons`,visibilityKey:`jobsGroup`,fixed:`left`,width:25,render:(e,t)=>(0,o.jsxs)(i.Space,{size:4,className:`job-row-icons`,children:[(0,o.jsx)(`button`,{type:`button`,className:`job-row-eye-button`,"aria-label":`Preview job`,onClick:()=>vn(t),children:(0,o.jsx)(`img`,{src:fi,alt:``,className:`job-row-eye-icon`})}),t.hasLinkedIn&&(0,o.jsx)(i.Tooltip,{title:`LinkedIn`,children:(0,o.jsx)(a.LinkedinFilled,{className:`job-row-linkedin-icon`})})]})},t=en.filter(e=>an.includes(e.key)).map((e,t)=>{let n=Re.sort===e.key?Re.sortDir:``;return{title:Ra({label:e.label,sortDir:n,sortable:hn,onSort:()=>Ut(e.key)}),dataIndex:e.key,key:e.key,fixed:t===0?`left`:void 0,ellipsis:{showTitle:!1},width:ya(e,dn),render:(t,n)=>da(e,n,De,yn,{canAdd:_e,canEdit:ve,canDelete:ye},At,qt)}});if(!(cn||St)&&qe>0&&t.length>0){let n=e.width+(hn&&ie===`checkbox`?48:0)+va,r=t.reduce((e,t)=>e+t.width,0),i=qe-n-r;i>0&&r>0&&t.forEach(e=>{e.width=Math.floor(e.width+i*(e.width/r))})}return[e,...t]},[Ce,_e,ye,ve,De,At,Ut,cn,hn,St,pe,n,fe,en,dn,ie,Re.sort,Re.sortDir,qe,Nt,an]),xn=(0,r.useCallback)(e=>{let t=_n.find((t,n)=>Sa(xa(t,n))===Sa(e)),n=String(t?xa(t,_n.indexOf(t)):e);if(we(n),Ne([]),Pe([]),zt(),typeof ce==`function`){let e=t?.key??t?.value??t?.id??n;Ye.current=e,ce(e)}},[ce,_n,zt]);function Sn(e,n,r){let a=Mt.get(String(e));if(a&&a.actionType!==`group`){if(typeof h==`function`&&h({key:a.key,label:a.label,selectedIds:n,selectedRecords:r}),typeof a.onClick==`function`){a.onClick({action:a,selectedIds:n,selectedRecords:r});return}if(a.actionType===`copy`){let e=r.map(e=>yi(e,a.copyField||`id`)??e?._id).filter(e=>e!=null);navigator.clipboard.writeText(e.join(`
2
+ `)).then(()=>i.message.success(`Copied to clipboard`)).catch(()=>i.message.error(`Could not copy to clipboard`));return}if(a.actionType===`api`&&a.apiPath){let e=r[0]??{},o=Fi(a.apiPath,e);t.a(t.b,o.startsWith(`/`)?o:`/${o}`,{method:a.apiMethod||`POST`,body:[`GET`,`DELETE`].includes(String(a.apiMethod).toUpperCase())?void 0:JSON.stringify({ids:n,records:r})}).then(()=>{i.message.success(`${a.label} completed`),Ie(e=>e+1)}).catch(e=>i.message.error(e.message||`${a.label} failed`));return}if(a.route){let e=r[0]??{},t=Fi(a.route,e),i=t.startsWith(`/`)?t:`/${t}`;if(a.route.startsWith(`/popup/`)||a.route.startsWith(`popup/`)){let t=a.popupKey||a.route?.replace(/^\/popup\//i,``)||``,o=/(?:^|\/)(?:quick(?:-|_)?submit|submit)(?:$|\/)/i.test(t),s=new URLSearchParams(pe.search).get(`jobId`),c=a.popupState?.jobId??a.popupState?.jobID??a.popupState?.jobId??e.jobId??e.job?.id??e.job?._id??s,l=a.popupState?.candidateId??a.popupState?.applicantId??e.id??e._id??e.applicantId??e.candidateId;if(o&&c&&l){let e=new URLSearchParams;e.set(`candidateId`,String(l)),e.set(`isFromSubmission`,`false`),fe(`/submission-create/${encodeURIComponent(String(c))}?${e.toString()}`);return}fe(i,{state:{background:pe,selectedIds:n,selectedRecords:r,moduleName:me,popupContext:a.popupState??{},popupAction:{key:a.key,apiMethod:a.apiMethod,apiPath:a.apiPath,defaultTemplateId:a.defaultTemplateId},...a.popupState}});return}fe(i)}}}function wn({key:e}){let t=Na(Pt).find(t=>String(t.key)===String(e));t&&ja(t,Y,Ce)||Sn(e,J,Y)}let Tn=an.length===tn.length,En=an.length>0&&!Tn,Dn=(e,t)=>{Ve(n=>{let r=tn.slice(0,K).map(e=>e.key),i=n.length?n:r;return t?i.includes(e)?i:[...i,e]:i.length<=sn?i:i.filter(t=>t!==e)})},On=()=>{if(typeof g==`function`){g();return}if(b){fe(b);return}xt(!0)},kn=()=>{C&&fe(C)};(0,r.useEffect)(()=>{if(!bt)return;let e=e=>{e.key===`Escape`&&xt(!1)};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[bt]);let jn=()=>{$t&&(tt(vt.rows),rt(vt.total),at(vt.tabs),st(vt.fields),lt(vt.tabField),dt(vt.actions??[]),pt(vt.actionRules??[]),_t(null),ht(!1))},Nn=e=>{let t=e.target.value,n=t.trim().length<3,r=Me.some(e=>e.field);n&&(Oe(``),r||jn()),Ee(t),zt()},Pn=()=>{let e=Te.trim();e.length>=3&&(Oe(e),zt())},Fn=()=>{jn(),q([]),$e([],[]),zt()};(0,r.useEffect)(()=>{Ot===`card`&&(Ge([]),$e([],[]))},[Le.current,Le.pageSize,Ce,Ot]);let In=e=>{Ge(t=>{let n=t.includes(e)?t.filter(t=>t!==e):[...t,e];return $e(n,dn.filter((e,t)=>n.includes(String(Ta(e,t,_))))),n})},Ln=(0,o.jsxs)(`div`,{className:`column-visibility-menu`,onClick:e=>e.stopPropagation(),children:[(0,o.jsx)(i.Checkbox,{checked:Tn,indeterminate:En,onChange:e=>{Ve(e.target.checked?tn.map(e=>e.key):tn.slice(0,K).map(e=>e.key))},children:`Select All`}),(0,o.jsx)(`div`,{className:`column-visibility-menu__list`,children:tn.map(e=>(0,o.jsx)(i.Checkbox,{checked:an.includes(e.key),disabled:an.includes(e.key)&&an.length<=sn,onChange:t=>Dn(e.key,t.target.checked),children:e.label},e.key))})]});return(0,o.jsxs)(`div`,{className:`antd dynamic-list-view${ae?` list-view--compact`:``}${he?` list-view--page-scroll-lock`:``} ${p}`.trim(),children:[d.length>0&&(0,o.jsx)(`div`,{className:`job-list-header`,children:(0,o.jsx)(e.t,{items:d})}),(0,o.jsx)(i.Card,{className:`job-tabs-card`,children:(0,o.jsxs)(i.Flex,{align:`center`,justify:`space-between`,children:[(0,o.jsx)(j,{activeKey:Ce,tabs:_n,onChange:xn}),(0,o.jsxs)(i.Flex,{align:`center`,gap:8,children:[R,hn&&(0,o.jsx)(i.Input,{prefix:(0,o.jsx)(a.SearchOutlined,{className:`job-search-icon`}),placeholder:B,value:Te,onChange:Nn,onPressEnter:Pn,allowClear:!0,className:`job-search-input`}),!St&&_e&&ue&&(0,o.jsx)(i.Tooltip,{title:`Add`,children:(0,o.jsx)(i.Button,{"aria-label":`Add`,className:`job-toolbar-icon-button`,icon:(0,o.jsx)(a.PlusOutlined,{}),onClick:()=>{It&&fe(It)}})}),hn&&(0,o.jsx)(i.Tooltip,{title:`Filter`,children:(0,o.jsx)(i.Badge,{count:Me.filter(e=>e.field&&Ka(e)).length,size:`small`,offset:[-2,2],children:(0,o.jsx)(i.Button,{"aria-label":`Filter`,className:`job-toolbar-icon-button`,icon:(0,o.jsx)(a.FilterOutlined,{}),onClick:()=>Ae(!0)})})}),te&&hn&&(0,o.jsxs)(i.Flex,{align:`center`,gap:6,children:[(0,o.jsx)(i.Tooltip,{title:`List View`,children:(0,o.jsx)(i.Button,{className:`job-toolbar-icon-button param-view-toggle-btn${Ot===`list`?` param-view-toggle-btn--active`:``}`,icon:(0,o.jsx)(a.UnorderedListOutlined,{}),onClick:()=>{ne?.(`list`),Ge([]),$e([],[])}})}),(0,o.jsx)(i.Tooltip,{title:`Card View`,children:(0,o.jsx)(i.Button,{className:`job-toolbar-icon-button param-view-toggle-btn${Ot===`card`?` param-view-toggle-btn--active`:``}`,icon:(0,o.jsx)(a.AppstoreOutlined,{}),onClick:()=>{ne?.(`card`),Ge([]),$e([],[])}})})]}),v&&(0,o.jsx)(i.Button,{className:`job-summary-button`,type:`primary`,onClick:On,children:y}),x&&C&&(0,o.jsx)(i.Button,{className:`job-summary-button`,type:`primary`,onClick:kn,children:S})]})]})}),hn&&(0,o.jsx)(o.Fragment,{children:(0,o.jsx)(i.Card,{className:`job-toolbar-card`,children:(0,o.jsxs)(i.Flex,{className:`p-flex`,align:`center`,justify:`space-between`,children:[(0,o.jsxs)(i.Flex,{align:`center`,gap:3,children:[Ot===`card`&&(0,o.jsx)(i.Checkbox,{checked:dn.length>0&&We.length>=dn.length,indeterminate:We.length>0&&We.length<dn.length,className:`param-card-view__select-all`,onChange:()=>{if(We.length>0)Ge([]),$e([],[]);else{let e=dn.map((e,t)=>String(Ta(e,t,_)));Ge(e),$e(e,[...dn])}},children:`Select All`}),(0,o.jsx)(i.Dropdown,{open:He,onOpenChange:Ue,trigger:[`click`],dropdownRender:()=>Ln,placement:`bottomLeft`,overlayClassName:`column-visibility-dropdown`,children:(0,o.jsx)(i.Button,{"aria-label":`Display columns`,type:`text`,icon:(0,o.jsx)(`img`,{src:`data:image/svg+xml,%3csvg%20width='14'%20height='14'%20viewBox='0%200%2014%2014'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cmask%20id='path-1-inside-1_8856_23533'%20fill='white'%3e%3crect%20x='1.40039'%20y='1.40039'%20width='5.09086'%20height='5.09086'%20rx='0.727266'/%3e%3c/mask%3e%3crect%20x='1.40039'%20y='1.40039'%20width='5.09086'%20height='5.09086'%20rx='0.727266'%20stroke='%23586888'%20stroke-width='1.5'%20mask='url(%23path-1-inside-1_8856_23533)'/%3e%3cmask%20id='path-2-inside-2_8856_23533'%20fill='white'%3e%3crect%20x='1.40039'%20y='7.50781'%20width='5.09086'%20height='5.09086'%20rx='0.727266'/%3e%3c/mask%3e%3crect%20x='1.40039'%20y='7.50781'%20width='5.09086'%20height='5.09086'%20rx='0.727266'%20stroke='%23586888'%20stroke-width='1.5'%20mask='url(%23path-2-inside-2_8856_23533)'/%3e%3cline%20x1='7.375'%20y1='2.93555'%20x2='12.225'%20y2='2.93555'%20stroke='%23586888'%20stroke-width='0.75'%20stroke-linecap='round'/%3e%3cline%20x1='7.375'%20y1='5.83398'%20x2='12.225'%20y2='5.83398'%20stroke='%23586888'%20stroke-width='0.75'%20stroke-linecap='round'/%3e%3cline%20x1='7.375'%20y1='8.87305'%20x2='12.225'%20y2='8.87305'%20stroke='%23586888'%20stroke-width='0.75'%20stroke-linecap='round'/%3e%3cline%20x1='7.375'%20y1='11.7227'%20x2='12.225'%20y2='11.7227'%20stroke='%23586888'%20stroke-width='0.75'%20stroke-linecap='round'/%3e%3c/svg%3e`,alt:``,className:`job-action-list-icon`}),size:`small`,className:`job-actions-button job-column-display-button`,children:(0,o.jsx)(a.DownOutlined,{className:`job-actions-caret`})})}),Pt.length>0&&J.length>0&&(0,o.jsx)(i.Dropdown,{menu:{items:Pt.map(e=>Aa(e,ja(e,Y,Ce))),onClick:wn},trigger:[`click`],children:(0,o.jsxs)(i.Button,{type:`text`,size:`small`,className:`job-actions-button job-actions-menu-button`,children:[(0,o.jsx)(`img`,{src:`data:image/svg+xml,%3csvg%20width='14'%20height='14'%20viewBox='0%200%2014%2014'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M12.6279%206.78121C12.6857%206.88148%2012.7014%207.00057%2012.6715%207.11239C12.6417%207.22422%2012.5688%207.31967%2012.4688%207.37785L7.21875%2010.4403C7.15185%2010.4794%207.0758%2010.4999%206.99836%2010.4999C6.92092%2010.4999%206.84487%2010.4794%206.77797%2010.4403L1.52797%207.37785C1.42936%207.31859%201.35806%207.22289%201.32951%207.11145C1.30095%207.00001%201.31744%206.88181%201.37539%206.78244C1.43335%206.68306%201.52811%206.61052%201.63916%206.5805C1.75022%206.55048%201.86863%206.56542%201.96875%206.62207L7%209.55605L12.0312%206.62207C12.1315%206.56428%2012.2506%206.54858%2012.3624%206.57841C12.4743%206.60824%2012.5697%206.68116%2012.6279%206.78121ZM1.3125%204.37496C1.31267%204.29833%201.33297%204.22309%201.37136%204.15677C1.40975%204.09045%201.46489%204.03538%201.53125%203.99707L6.78125%200.934566C6.84815%200.895555%206.9242%200.875%207.00164%200.875C7.07908%200.875%207.15513%200.895555%207.22203%200.934566L12.472%203.99707C12.5381%204.0356%2012.5929%204.09076%2012.6309%204.15707C12.669%204.22337%2012.6891%204.2985%2012.6891%204.37496C12.6891%204.45142%2012.669%204.52654%2012.6309%204.59285C12.5929%204.65915%2012.5381%204.71432%2012.472%204.75285L7.22203%207.81535C7.15513%207.85436%207.07908%207.87491%207.00164%207.87491C6.9242%207.87491%206.84815%207.85436%206.78125%207.81535L1.53125%204.75285C1.46489%204.71453%201.40975%204.65946%201.37136%204.59314C1.33297%204.52682%201.31267%204.45159%201.3125%204.37496ZM2.61844%204.37496L7%206.93105L11.3816%204.37496L7%201.81886L2.61844%204.37496ZM7.65625%2011.7993L7%2012.1821L1.96875%209.24707C1.86913%209.19747%201.75436%209.18769%201.64779%209.21973C1.54122%209.25177%201.45087%209.32322%201.39512%209.41953C1.33937%209.51583%201.32241%209.62977%201.3477%209.73814C1.37299%209.84651%201.43863%209.94117%201.53125%2010.0028L6.78125%2013.0653C6.84815%2013.1044%206.9242%2013.1249%207.00164%2013.1249C7.07908%2013.1249%207.15513%2013.1044%207.22203%2013.0653L8.09703%2012.5551C8.14746%2012.5266%208.19171%2012.4883%208.22723%2012.4426C8.26275%2012.3968%208.28882%2012.3444%208.30394%2012.2885C8.31906%2012.2326%208.32291%2012.1742%208.31529%2012.1167C8.30766%2012.0593%208.28871%2012.004%208.25952%2011.9539C8.23033%2011.9039%208.19149%2011.8601%208.14526%2011.8252C8.09903%2011.7903%208.04632%2011.7649%207.9902%2011.7505C7.93408%2011.7361%207.87566%2011.7331%207.81833%2011.7414C7.761%2011.7498%207.70591%2011.7695%207.65625%2011.7993Z'%20fill='%236B7280'/%3e%3cpath%20d='M10.6036%2011.3825L13.4607%209.4477C13.5813%209.36599%2013.614%209.20256%2013.5341%209.08069L13.0105%208.282C12.9303%208.15966%2012.7665%208.12478%2012.6434%208.20383L9.54053%2010.1964L8.94939%2011.4054C8.84904%2011.6106%209.03632%2011.8387%209.25715%2011.7803L10.4338%2011.469C10.4561%2011.4631%2010.4776%2011.4543%2010.4977%2011.4429L10.6036%2011.3825ZM9.54053%2010.1964L10.6036%2011.3825'%20stroke='%236B7280'%20stroke-width='0.6'/%3e%3c/svg%3e`,alt:``,className:`job-actions-frame-icon`}),`Actions `,(0,o.jsx)(a.DownOutlined,{className:`job-actions-caret`})]})}),J.length>0&&(0,o.jsxs)(mi,{className:`job-selected-count`,children:[`Selected (`,J.length,`)`]})]}),pn&&(0,o.jsxs)(mi,{className:`job-search-results-count`,children:[`Search Results (`,mn,`)`]})]})})}),Zt&&(0,o.jsx)(Ya,{filters:Me,onRemove:e=>{q(Me.filter((t,n)=>n!==e)),zt()},onClearAll:Fn}),(0,o.jsx)(`div`,{ref:Ke,className:`job-table-measure`,children:(0,o.jsx)(i.Spin,{spinning:St?A:Vt||mt,children:Ot===`card`?dn.length===0?(0,o.jsx)(i.Empty,{image:i.Empty.PRESENTED_IMAGE_SIMPLE,description:gn,className:`param-card-view__empty`,children:!St&&_e&&ue&&It&&!gt&&(0,o.jsx)(i.Button,{type:`primary`,icon:(0,o.jsx)(a.PlusOutlined,{}),onClick:()=>fe(It),children:`Add New`})}):(0,o.jsx)(`div`,{className:`param-card-view__grid`,children:dn.map((e,t)=>{let n=String(Ta(e,t,_));return(0,o.jsx)(Ga,{record:e,fields:ln,selected:ie===`checkbox`?We.includes(n):Ze(e,t),isControlled:St,onPreview:()=>vn(e),onSelect:()=>In(n),onPopupAction:yn,onRecordClick:H?()=>Qe(e,t):void 0,selectionMode:ie,permissions:{canAdd:_e,canEdit:ve,canDelete:ye}},n)})}):(0,o.jsx)(i.Table,{rowSelection:hn&&ie===`checkbox`?{type:`checkbox`,fixed:!0,columnWidth:48,selectedRowKeys:J,onChange:(e,t)=>{$e(e,t)},columnTitle:(()=>{let e=dn.length,t=e>0&&J.length>=e,n=J.length>0&&!t;return(0,o.jsx)(i.Checkbox,{checked:t,indeterminate:n,onChange:()=>{n||t?$e([],[]):$e(dn.map((e,t)=>Ta(e,t,_)),[...dn])}})})()}:void 0,columns:bn,dataSource:dn,size:`middle`,tableLayout:`fixed`,scroll:{x:cn||St?`max-content`:void 0,y:`calc(100vh - 300px)`},pagination:!1,locale:{emptyText:(0,o.jsx)(i.Empty,{image:i.Empty.PRESENTED_IMAGE_SIMPLE,description:gn})},className:`${T} ${ae?`list-view-table--compact`:``}`.trim(),onRow:H?(e,t)=>({onClick:n=>{Ea(n.target)||Qe(e,t)},"aria-selected":Ze(e,t)}):void 0,rowClassName:U==null?void 0:(e,t)=>Ze(e,t)?`list-view-row--active`:``,rowKey:(e,t)=>Ta(e,t,_)})})}),hn?(0,o.jsx)(je,{current:Le.current,pageSize:Le.pageSize,total:fn,onChange:(e,t)=>{if(St&&typeof F==`function`){F(e,t??Le.pageSize);return}Rt(e)},onPageSizeChange:e=>{if(St&&typeof I==`function`){I(e);return}X({current:1,pageSize:e}),Lt(1,{replace:!0})}}):void 0,(0,o.jsx)(di,{moduleName:me,open:ke,filters:Me,onClose:()=>Ae(!1),onApply:({filters:e})=>{q(e),zt()},onReset:Fn}),(0,o.jsx)($r,{moduleName:me,open:bt,rows:et,tabs:_n,total:fn,onClose:()=>xt(!1)})]})}var Za=new Map,Qa=0;function $a(e){let t=`ph_${Date.now()}_${Qa+=1}`;return Za.set(t,e),e.finally(()=>{setTimeout(()=>Za.delete(t),0)}).catch(()=>{}),t}function eo(e){if(!e)return;let t=Za.get(e);return Za.delete(e),t}async function to({jobId:e,applicantId:n,timeoutMs:r=15e3}){if(!e||!n)return[];let i=new AbortController,a=setTimeout(()=>i.abort(),r);try{let r=await t.i(),a=await fetch(`${t.b}/skill-match`,{method:`POST`,headers:{"Content-Type":`application/json`,Authorization:`Bearer ${r}`},body:JSON.stringify({jobId:e,applicantId:n}),signal:i.signal});if(!a.ok)return[];let o=await a.json(),s=o?.data?.relevantSkills??o?.relevantSkills;return Array.isArray(s)?s.filter(e=>typeof e==`string`&&e.trim()):[]}catch{return[]}finally{clearTimeout(a)}}async function no({isFromSubmission:e,jobId:n,submissionId:r,search:i=``}={}){let a={search:i};e?a.submissionId=r:a.jobId=n;let o=await t.a(t.x,`/quicksubmit/list`,{method:`POST`,body:JSON.stringify(a)});return o.data??o}async function ro(e){if(!e)throw Error(`Dice candidate ID is required`);let n=await t.i(),r=`${t.b}/dicemigrate/${encodeURIComponent(String(e))}`;process.env.NODE_ENV===`development`&&console.log(`[DiceMigration] Request URL:`,r);let i=await fetch(r,{method:`GET`,headers:{"Content-Type":`application/json`,Authorization:`Bearer ${n}`}}),a=await i.json().catch(()=>null);if(!i.ok){let e=Error(a?.message??a?.error??`Failed to migrate candidate (${i.status})`);throw e.status=i.status,e}return a}function io(e){return e&&typeof e==`object`?io(e.value??e.key??e.id??e.label??e.name):String(e??``).trim().toLowerCase()}function ao(e){return(Array.isArray(e)?e:[e]).flat().map(io).filter((e,t,n)=>e&&e!==`all`&&n.indexOf(e)===t)}function oo(e,t=`internal`){let n=ao(e);if(n.includes(`internal`))return`internal`;let r=io(t);return n[0]?n[0]:r||(t===``?``:`internal`)}function so(e){return String(e??``).replace(/[-_]+/g,` `).replace(/\s+/g,` `).trim().replace(/\b\w/g,e=>e.toUpperCase())}function co(e){return io(e?.key??e?.value??e?.id??e?.source??e?.name??e?.title??e?.label)}function lo(e){let t=e?.count??e?.countValue,n=Number(t);return Number.isFinite(n)?n:void 0}function uo(e,t,n,r,i){if(e===r){let n=Number(t?.[e]);if(Number.isFinite(n))return n;let r=Number(i);if(Number.isFinite(r))return r}let a=n.get(e);if(a!==void 0)return a}function fo({sources:e=[],activeSource:t=`internal`,activeCount:n=0,responseCounts:r={},currentTabs:i=[],backendTabs:a=[]}={}){let o=new Map((Array.isArray(i)?i:[]).map(e=>[co(e),lo(e)]).filter(([e,t])=>e&&t!==void 0)),s=new Map;(Array.isArray(a)?a:[]).forEach(e=>{let t=co(e);t&&s.set(t,{key:t,title:e.title??e.label??e.name??so(t),...lo(e)===void 0?{}:{count:lo(e)}})});let c=ao(e);return(c.length?c:[t]).forEach(e=>{if(!e||s.has(e))return;let i=uo(e,r,o,t,n);s.set(e,{key:e,title:so(e),...i===void 0?{}:{count:i}})}),Array.from(s.values())}function po(e){return[e?.sourceType,e?.profileSource,e?.selectedSource,e?.source,e?.provider,e?.customFields?.sourceType,e?.customFields?.profileSource,e?.customFields?.source,e?.customFields?.provider].flat().map(io).filter(Boolean)}function mo(e,t,n){let r=io(t);return r?po(e).includes(r)?!0:typeof n==`function`?n(e):!1:!1}var ho=[{source:`dice`,field:`__sourceAction_dice_migrate`,label:`Action`,buttonLabel:`Migrate`,completedLabel:`Migrated`,successMessage:`Candidate migrated successfully.`,errorMessage:`Failed to migrate candidate.`,isRecordFromSource:e=>!!e?.customFields?.diceProfileData,getRecordId:n.i,execute:ro}];function go({rows:e=[],selectedSource:t=``}={}){return ho.filter(n=>io(t)===n.source||e.some(e=>mo(e,n.source,n.isRecordFromSource)))}function _o(e,t,n=``){return io(n)===e.source||mo(t,e.source,e.isRecordFromSource)}function vo(e,t){let n=e?.getRecordId?.(t);return n?`${e.source}:${e.field}:${n}`:``}async function yo(e,t){let n=e?.getRecordId?.(t);if(!n)throw Error(`${e?.buttonLabel??`Action`} ID is required`);return e.execute(n,t)}var bo=e.Nr({default:()=>Ss}),{Text:xo}=i.Typography,{TextArea:So}=i.Input,Co=[],wo=[(0,o.jsx)(a.UserOutlined,{}),(0,o.jsx)(a.EnvironmentOutlined,{}),(0,o.jsx)(a.SolutionOutlined,{}),(0,o.jsx)(a.InfoCircleOutlined,{}),(0,o.jsx)(a.FileTextOutlined,{})],To={email:(0,o.jsx)(a.MailOutlined,{className:`v1-input-icon`}),contactNumber:(0,o.jsx)(a.PhoneOutlined,{className:`v1-input-icon`}),phone:(0,o.jsx)(a.PhoneOutlined,{className:`v1-input-icon`}),currentLocation:(0,o.jsx)(a.EnvironmentOutlined,{className:`v1-input-icon`}),preferredLocation:(0,o.jsx)(a.EnvironmentOutlined,{className:`v1-input-icon`}),skills:(0,o.jsx)(a.TagsOutlined,{className:`v1-input-icon`}),firstName:(0,o.jsx)(a.UserOutlined,{className:`v1-input-icon`}),lastName:(0,o.jsx)(a.UserOutlined,{className:`v1-input-icon`})},Eo=e=>e===!0||e===1||e===`1`,Do=(t,n)=>(t?.edit===void 0||Eo(t.edit))&&(!t?.editablePermission||e.h(t.editablePermission,n));function Oo(e=[]){return e.map(e=>typeof e==`string`?{label:e,value:e}:{label:e.label??e.name??e.value,value:e.value??e.id??e.name??e.label})}function ko(e){return String(e??``).split(`.`).map(e=>e.trim()).filter(Boolean)}function Ao(e,t){return Array.isArray(e)&&e.length>1?[...e.slice(0,-1),t]:[t]}function jo({form:t,field:n,absoluteName:a}){let[s,c]=(0,r.useState)(!1),[l,u]=(0,r.useState)(null),d=(0,r.useRef)(null),f=i.Form.useWatch(n.verifyResultField?Ao(a,n.verifyResultField):[`__noop_verify__`],{form:t,preserve:!0}),p=i.Form.useWatch(a,t);return(0,r.useEffect)(()=>{let e=String(p??``).trim();if(f===!0&&d.current===null&&e){d.current=e;return}f===!0&&d.current!==null&&e!==d.current&&(n.verifyResultField&&t.setFieldValue(Ao(a,n.verifyResultField),!1),n.verifyTimestampField&&t.setFieldValue(Ao(a,n.verifyTimestampField),void 0),d.current=null)},[a,p,n.verifyResultField,n.verifyTimestampField,t,f]),n.verifyAction===`email`?f===!0?l&&!l.mailboxConfirmed&&(l.catchAll||l.result===`risky`)?(0,o.jsx)(i.Tooltip,{title:l.reason||`This domain accepts every address, so the mailbox could not be confirmed. Delivery is proven only once the account email is actually sent.`,children:(0,o.jsx)(xo,{type:`warning`,strong:!0,className:`v1-verify-field-wrap`,children:n.verifyUnconfirmedLabel||`Accepted`})}):(0,o.jsx)(xo,{type:`success`,strong:!0,className:`v1-verify-field-wrap`,children:n.verifySuccessLabel||`Valid`}):(0,o.jsx)(i.Button,{size:`small`,loading:s,onClick:async()=>{let r=String(p??``).trim();if(!r){i.message.warning(`Enter an email first`);return}c(!0);try{let o=await e.br(r);d.current=o.valid?r:null,u(o.valid?o:null),n.verifyResultField&&t.setFieldValue(Ao(a,n.verifyResultField),o.valid),n.verifyTimestampField&&t.setFieldValue(Ao(a,n.verifyTimestampField),o.valid?new Date().toISOString():void 0),o.valid?o.mailboxConfirmed?i.message.success(`Email verified — the mail server confirmed this mailbox`):i.message.warning(o.reason||`The domain can receive mail, but this exact mailbox could not be confirmed`):i.message.error(o.reason?`Invalid email: ${o.reason}`:`Email could not be verified`)}catch(e){d.current=null,u(null),n.verifyResultField&&t.setFieldValue(Ao(a,n.verifyResultField),!1),n.verifyTimestampField&&t.setFieldValue(Ao(a,n.verifyTimestampField),void 0),i.message.error(e?.message||`Could not verify email`)}finally{c(!1)}},className:`v1-verify-field-wrap`,children:f===!1?n.verifyRetryLabel||`Re Verify`:n.verifyIdleLabel||`Verify Email`}):null}function Mo({form:t,field:n,siblingPrefix:r,locked:a,combined:s=!1}){let c=e.a(n,i.Form.useWatch(e.r(n?.labelWhen,r),t),s);return s?c:(0,o.jsx)(ys,{field:n,label:c,locked:a})}function No({form:e,groups:t,action:n,disabled:r,loading:a,onFire:s}){let c=i.Form.useWatch(e=>t.some(t=>{if(!t.addRow||!t.requireValidatedField)return!1;let n=e?.[t.name]??[];return n.length===0||n.some(e=>!e?.[t.requireValidatedField])}),{form:e,preserve:!0}),l=i.Form.useWatch(n?.enabledWhen?.field,e),u=!n?.enabledWhen?.field||Lo(n.enabledWhen,l);return(0,o.jsx)(i.Button,{type:n?.tone===`primary`?`primary`:`default`,onClick:s,disabled:r||c||!u,loading:a,children:n?.label||`Submit`})}function Po({form:e,groups:t,disabled:n,loading:r,onClick:a,children:s}){let c=i.Form.useWatch(e=>t.some(t=>{if(!t.addRow||!t.requireValidatedField)return!1;let n=e?.[t.name]??[];return n.length===0||n.some(e=>!e?.[t.requireValidatedField])}),{form:e,preserve:!0}),l=n||c,u=t.find(e=>e.submitDisabledMessage)?.submitDisabledMessage,d=t.find(e=>e.requireValidatedField)?.requireValidatedFieldMessage,f=c?d||u||`Verify every required row before submitting.`:u||`Complete all mandatory fields before submitting.`,p=(0,o.jsx)(i.Button,{type:`primary`,onClick:a,disabled:l,loading:r,children:s});return l&&!r?(0,o.jsx)(i.Tooltip,{title:f,children:(0,o.jsx)(`span`,{style:{display:`inline-flex`,cursor:`not-allowed`},children:p})}):p}function Fo({form:t,rules:n,watchPaths:a,targetPath:o,resetOnNoMatch:s=!0}){let c=i.Form.useWatch(e=>JSON.stringify(a.map(({path:t})=>t.reduce((e,t)=>e==null?e:e[t],e)??null)),{form:t,preserve:!0}),l=(0,r.useRef)(void 0),u=(0,r.useRef)(!0);return(0,r.useEffect)(()=>{let r=c?JSON.parse(c):[],i={};a.forEach(({field:e},t)=>{i[e]=r[t]});let d=u.current;u.current=!1;let f=e.C({rules:n,watched:i,current:t.getFieldValue(o),lastApplied:l.current,clearOnMismatch:s,initial:d});f.action===`set`?(t.setFieldValue(o,f.value),l.current=f.value):f.action===`clear`&&(t.setFieldValue(o,void 0),l.current=void 0)},[c]),null}function Io({form:e,config:n,watchPath:a}){let o=i.Form.useWatch(a,e),s=(0,r.useRef)(void 0);return(0,r.useEffect)(()=>{if(Jo(o)||o===s.current)return;s.current=o;let r=new URLSearchParams({[n.queryParam]:String(o)});t.a(t.b,`${n.endpoint}?${r.toString()}`).then(t=>{let r=t?.data??t;Object.entries(n.mapResponseToFields).forEach(([t,i])=>{let a=ko(t);n.onlyIfEmpty&&!Jo(e.getFieldValue(a))||e.setFieldValue(a,r?.[i])})}).catch(()=>{})},[o]),null}function Lo(e,t){if(!e?.field)return!0;let n=String(t??``),r=String(e.value??``),i=()=>r.split(`,`).map(e=>e.trim());switch(e.operator){case`eq`:return n===r;case`neq`:return n!==r;case`in`:return i().includes(n);case`notIn`:return!i().includes(n);case`truthy`:return Eo(t);case`falsy`:return!Eo(t);case`empty`:case`isEmpty`:return t==null||n.trim()===``||Array.isArray(t)&&t.length===0;case`notEmpty`:return!(t==null||n.trim()===``||Array.isArray(t)&&t.length===0);default:return!0}}function Ro({form:e,showIf:t,render:n}){return Lo(t,i.Form.useWatch(t.field,e))?n():null}var zo=(0,r.createContext)(!1);function Bo({form:e,group:t,children:n}){let a=(0,r.useContext)(zo),s=t?.disabledIf?.field?ko(t.disabledIf.field):[`__noop_group_disabled__`],c=i.Form.useWatch(s,e),l=t?.disabledIf?.field?Lo(t.disabledIf,c):!1,u=a||!!t?.disabled||l;return(0,o.jsx)(zo.Provider,{value:u,children:n})}function Vo(e,t){return String(t??``).split(`.`).reduce((e,t)=>e?.[t],e)}function Ho(e){return e==null||e===``?!1:Array.isArray(e)?e.length>0&&e.some(Ho):typeof e==`object`?Object.values(e).some(Ho):!0}function Uo(e){return Array.isArray(e)?e:Array.isArray(e?.groups)?e.groups:Array.isArray(e?.data)?e.data:Array.isArray(e?.data?.groups)?e.data.groups:Co}function Wo(t=[],n,r,i){let a=i??new Set;return[...Uo(t)].filter(t=>!Eo(t.hideGroup)&&!Eo(t.hideGroupInForm)&&e.Ot(r,t.name)).sort((e,t)=>Number(e.order??0)-Number(t.order??0)).map(t=>({...t,fields:[...t.fields??[]].map(e=>a.has(e.field)?{...e,show:1,req:1}:e).filter(i=>String(i.field??``).trim()!==``&&i.showOnAdd!==!1&&!Eo(i.clientScope)&&(!i.visiblePermission||e.h(i.visiblePermission,n))&&e.Et(r,t.name,i.field)).map(n=>e.Dt(r,t.name,n.field)?n:{...n,disabled:!0}).sort((e,t)=>Number(e.order??0)-Number(t.order??0))})).filter(e=>e.fields.length)}function Go(e){if(!Array.isArray(e))return null;let t={};return e.forEach(e=>{e.addRow||(e.fields??[]).forEach(e=>{!e.field||e.value===void 0||e.value===null||(t[e.field]=e.value,e.payloadKey&&e.payloadKey!==e.field&&(t[e.payloadKey]=e.value))})}),Object.keys(t).length>0?t:null}function Ko(t,n){if(!(!t||!n))for(let r of[n.prefillFrom,n.field,n.payloadKey]){if(!r)continue;let n=t[r];if(n??=e.yt(t,r),n!=null)return n}}function qo(e){if(Array.isArray(e))return e.flatMap(e=>qo(e));if(!e||typeof e!=`object`)return[];let t=e.uploadedFileName??e.name??Object.entries(e).find(([e])=>e.endsWith(`UploadName`))?.[1]??``,n=e.location??e.url??Object.entries(e).find(([e])=>e.endsWith(`CopyLocation`))?.[1]??``;return!t&&!n?[]:[{uid:n||t||`-1`,name:t||`file`,status:`done`,url:n,existing:!0,stored:e}]}var Jo=e=>e==null||e===``,Yo=e=>String(e).replace(/<[^>]*>/g,``).replace(/&nbsp;/g,` `).replace(/&amp;/g,`&`).replace(/&lt;/g,`<`).replace(/&gt;/g,`>`).trim(),Xo=({label:e,message:t,value:n,compare:r,text:i})=>({validator:(a,o)=>Jo(o)||r(Number(o),Number(n))?Promise.resolve():Promise.reject(Error(t??`${e} ${i} ${n}`))});function Zo(e){if(!e)return null;if(typeof e.valueOf==`function`){let t=e.valueOf();return Number.isNaN(t)?null:t}let t=new Date(e).getTime();return Number.isNaN(t)?null:t}function Qo(e){if(!e)return null;let t=(0,c.default)(e);return t.isValid()?t.startOf(`day`).valueOf():null}function $o(e){if(!e)return null;let t=(0,c.default)(e);return t.isValid()?t.hour()*60+t.minute():null}function es(t,n){return e.M(t,n)}var ts=({label:e,message:t,value:n,rule:r,form:i,name:a,compare:o,text:s})=>({validator:async(c,l)=>{let u=n??r.compareField??r.field;if(!u||Jo(l))return Promise.resolve();let d=i.getFieldValue(es(a,u));if(Jo(d))return Promise.resolve();let f=Number(l),p=Number(d);return Number.isNaN(f)||Number.isNaN(p)||o(f,p)?Promise.resolve():Promise.reject(Error(t??`${e} ${s} ${u}`))}}),ns={noPastDate:({label:e,message:t})=>({validator:(n,r)=>{if(Jo(r))return Promise.resolve();let i=Zo(r);if(i===null)return Promise.resolve();let a=new Date;return a.setHours(0,0,0,0),i<a.getTime()?Promise.reject(Error(t??`${e} cannot be a past date`)):Promise.resolve()}}),noFutureDate:({label:e,message:t})=>({validator:(n,r)=>{if(Jo(r))return Promise.resolve();let i=Zo(r);if(i===null)return Promise.resolve();let a=new Date;return a.setHours(23,59,59,999),i>a.getTime()?Promise.reject(Error(t??`${e} cannot be a future date`)):Promise.resolve()}}),minAge:({label:e,message:t,value:n})=>({validator:(e,r)=>{if(Jo(r))return Promise.resolve();let i=Zo(r);if(i===null)return Promise.resolve();let a=Number(n??18),o=new Date;return o.setFullYear(o.getFullYear()-a),o.setHours(23,59,59,999),i>o.getTime()?Promise.reject(Error(t??`Must be at least ${a} years old`)):Promise.resolve()}}),dateAfterField:({field:e,label:t,message:n,value:r,rule:i,form:a,name:o})=>({validator:async(e,s)=>{let c=r??i.compareField??i.field;if(!c)return Promise.resolve();let l=es(o,c),u=a.getFieldValue(l);if(Jo(u)||Jo(s))return Promise.resolve();let d=Qo(u),f=Qo(s);return d===null||f===null?Promise.resolve():f<d?Promise.reject(Error(n??`${t} should not be before Start Date`)):Promise.resolve()}}),dateBeforeField:({label:e,message:t,value:n,rule:r,form:i,name:a})=>({validator:async(o,s)=>{let c=n??r.compareField??r.field;if(!c||Jo(s))return Promise.resolve();let l=i.getFieldValue(es(a,c));if(Jo(l))return Promise.resolve();let u=Qo(s),d=Qo(l);return u===null||d===null||u<=d?Promise.resolve():Promise.reject(Error(t??`${e} must be on or before ${c}`))}}),timeAfterField:({label:e,message:t,value:n,rule:r,form:i,name:a})=>({validator:async(o,s)=>{let c=n??r.compareField??r.field;if(!c||Jo(s))return Promise.resolve();let l=i.getFieldValue(es(a,c));if(Jo(l))return Promise.resolve();let u=$o(s),d=$o(l);return u===null||d===null||u>d?Promise.resolve():Promise.reject(Error(t??`${e} must be after ${c}`))}}),timeBeforeField:({label:e,message:t,value:n,rule:r,form:i,name:a})=>({validator:async(o,s)=>{let c=n??r.compareField??r.field;if(!c||Jo(s))return Promise.resolve();let l=i.getFieldValue(es(a,c));if(Jo(l))return Promise.resolve();let u=$o(s),d=$o(l);return u===null||d===null||u<d?Promise.resolve():Promise.reject(Error(t??`${e} must be before ${c}`))}}),greaterThanField:e=>ts({...e,compare:(e,t)=>e>=t,text:`must be greater than or equal to`}),strictGreaterThanField:e=>ts({...e,compare:(e,t)=>e>t,text:`must be greater than`}),strictLessThanField:e=>ts({...e,compare:(e,t)=>e<t,text:`must be less than`}),lessThanOrEqualField:e=>ts({...e,compare:(e,t)=>e<=t,text:`must be less than or equal to`}),maxFromField:t=>e.P(t),maxFieldWithFallback:({label:t,message:n,value:r,rule:i,form:a,name:o})=>({validator:async(s,c)=>{let l=e.A({input:c,compareFields:e.j(r??i.compareFields),readValue:e=>a.getFieldValue(es(o,e))});return l.ok?Promise.resolve():Promise.reject(Error(n??`${t} must not exceed ${l.field}`))}}),required:({field:e,message:t})=>({validator:(n,r)=>{let i=r==null||r===``||Array.isArray(r)&&r.length===0;return!i&&e?.type===`text-editor`&&(i=Yo(r)===``),i?Promise.reject(Error(t??`Mandatory Field`)):Promise.resolve()}}),email:({label:t,message:n})=>e.Z(t,n),unique:({field:t,rule:n,uniqueContext:r})=>e.W({field:t,validation:n,context:r}),emailTags:({label:t,message:n})=>({validator:(r,i)=>{let a=(Array.isArray(i)?i:[]).find(t=>!e.Q(t));return a?Promise.reject(Error(n??`${t} contains an invalid email: ${a}`)):Promise.resolve()}}),url:({label:e,message:t})=>({type:`url`,message:t??`Enter valid ${e}`}),number:({label:e,message:t})=>({pattern:/^[0-9]+$/,message:t??`${e} must be a number`}),phone:({message:t})=>({validator:(n,r)=>{if(r==null||r===``)return Promise.resolve();let{total:i}=e.Ft();return e.It(r).length===i?Promise.resolve():Promise.reject(Error(t??`Phone number must contain exactly ${i} digits`))}}),minLength3:({label:e,message:t})=>({validator:(n,r)=>!r||String(r).trim().length>=3?Promise.resolve():Promise.reject(Error(t??`${e} must be at least 3 characters`))}),minLength5:({label:e,message:t})=>({validator:(n,r)=>!r||String(r).trim().length>=5?Promise.resolve():Promise.reject(Error(t??`${e} must be at least 5 characters`))}),len:({label:e,message:t,value:n})=>({len:Number(n),message:t??`${e} must be ${n} characters`}),pattern:({label:e,message:t,rule:n})=>({pattern:new RegExp(n.pattern??n.value,n.flags),message:t??`Enter valid ${e}`}),min:({field:e,label:t,message:n,value:r})=>e.type===`number`?Xo({label:t,message:n,value:r,compare:(e,t)=>e>=t,text:`must be at least`}):{validator:(i,a)=>{if(a==null||a===``)return Promise.resolve();let o=e.type===`text-editor`?Yo(a):String(a);return o===``||o.length>=Number(r)?Promise.resolve():Promise.reject(Error(n??`${t} must be at least ${r} characters`))}},max:({field:e,label:t,message:n,value:r})=>e.type===`number`?Xo({label:t,message:n,value:r,compare:(e,t)=>e<=t,text:`must not exceed`}):{validator:(i,a)=>{if(a==null||a===``)return Promise.resolve();let o=e.type===`text-editor`?Yo(a):String(a);return o===``||o.length<=Number(r)?Promise.resolve():Promise.reject(Error(n??`${t} must not exceed ${r} characters`))}}};function rs(e,t,n,r,i,a){let o=typeof e==`string`?{type:e}:e,s=o.type??o.rule??o.name,c=o.value??o.length??o.min??o.max,l=t.label??t.field??`Field`,u=ns[s];return u?u({field:t,label:l,message:o.message,rule:o,value:c,form:n,name:r,prefixFor:i,uniqueContext:a}):o}function is(e,t){return Array.isArray(e)&&e.length>1?[...e.slice(0,-1),t]:[t]}function as(e,t,n){return Eo(e?.req)||(e?.validations??e?.validation??e?.rules??[]).some(e=>(typeof e==`string`?e:e?.type)===`required`)?!0:e?.requiredIfField&&t&&n?Eo(t.getFieldValue(is(n,e.requiredIfField))):!1}function os(t,n,r,i=!1,a=void 0,o=void 0){let s=t.label??t.field??`Field`,c=t.validations??t.validation??t.rules??[],l=c.some(e=>(typeof e==`string`?e:e?.type)===`required`),u=c.some(e=>(typeof e==`string`?e:e?.type)===`email`),d=[];return!i&&Eo(t.req)&&!l&&(t.disabledByField&&d.push({validator:(e,i)=>Eo(n.getFieldValue(is(r,t.disabledByField)))?Promise.resolve():i==null||i===``?Promise.reject(Error(`Mandatory Field`)):Promise.resolve()}),!i&&t.requiredIfField&&!l?d.push({validator:(e,i)=>Eo(n.getFieldValue(is(r,t.requiredIfField)))&&(i==null||i===``)?Promise.reject(Error(`Mandatory Field`)):Promise.resolve()}):d.push({required:!0,message:`Mandatory Field`})),(t.type===`email`||t.formatter===`email`)&&!u&&d.push(e.Z(s)),t.type===`number`&&d.push(Eo(t.decimal)?{pattern:/^\d+(\.\d+)?$/,message:`${s} must be a number`}:{pattern:/^[0-9]+$/,message:`${s} must be a number`}),e.U([...d,...c.map(e=>rs(e,t,n,r,a,o)),e.Tt(t)])}function ss(e,t){let n=(e.validations??e.validation??e.rules??[]).find(e=>(typeof e==`string`?e:e?.type)===t);if(!(!n||typeof n==`string`))return n.value??n.length??n[t]}function cs(e){let t=e.len??ss(e,`len`),n=e.min??ss(e,`min`),r=e.max??ss(e,`max`);return e.type===`number`?{min:n??void 0,max:r??void 0}:{minLength:n??void 0,maxLength:e.maxLength??t??r??void 0}}function ls(e,t,n){let r=e.validations??e.validation??e.rules??[],i=[];for(let e of r){let r=typeof e==`string`?e:e?.type;if(r===`noPastDate`&&i.push(e=>{if(!e)return!1;let t=new Date;return t.setHours(0,0,0,0),Zo(e)<t.getTime()}),r===`noFutureDate`&&i.push(e=>{if(!e)return!1;let t=new Date;return t.setHours(23,59,59,999),Zo(e)>t.getTime()}),r===`minAge`){let t=Number(e?.value??18);i.push(e=>{if(!e)return!1;let n=new Date;return n.setFullYear(n.getFullYear()-t),n.setHours(23,59,59,999),Zo(e)>n.getTime()})}if(r===`dateAfterField`||r===`dateBeforeField`){let a=e?.value??e?.compareField??e?.field;if(!a)continue;i.push(e=>{if(!e)return!1;let i=t.getFieldValue(es(n,a));if(Jo(i))return!1;let o=Qo(e),s=Qo(i);return o===null||s===null?!1:r===`dateAfterField`?o<s:o>s})}}return i.length?e=>i.some(t=>t(e)):void 0}function us(e){let t=e.validations??e.validation??e.rules??[];for(let e of t){let t=typeof e==`string`?e:e?.type;if(t===`minAge`){let t=Number(e?.value??18);return(0,c.default)().subtract(t,`year`)}if(t===`noFutureDate`||t===`noPastDate`)return(0,c.default)()}}function ds(t,n){return n?n===`phone`?e.jt(t):n===`digits`?t.replace(/\D/g,``).slice(0,10):n===`email`||n===`noSpaces`?t.replace(/\s/g,``):n===`name`?t.replace(/\s+/g,` `).trimStart().replace(/\b\w/g,e=>e.toUpperCase()):t:t}function fs(e=``){let t=String(e).toLowerCase();return t===`job`?`jobs`:t===`candidate`?`candidates`:t===`submissions`?`submission`:t}var ps=new Set([`selectedSource`,`source`,`sourceType`,`scope`]);function ms(e){return e==null?!1:typeof e==`string`?e.trim().length>0:typeof e==`number`?Number.isFinite(e):typeof e==`boolean`?e:c.default.isDayjs(e)?e.isValid():Array.isArray(e)?e.some(ms):typeof e==`object`?`value`in e||`label`in e||`name`in e?ms(e.value??e.label??e.name):Object.entries(e).some(([e,t])=>!ps.has(e)&&ms(t)):!1}function hs(e={}){return Object.entries(e??{}).some(([e,t])=>!ps.has(e)&&ms(t))}function gs(t,n,r={},i=``){let a=new FormData;e._t(t,n,{scope:`flat`,module:i}).forEach(({formKey:e,file:t})=>{a.append(e,t)});let o={...r,...e.ht(t,n,{module:i})};return o.schemaVersion=1,a.append(`json`,JSON.stringify(o)),a}function _s({field:n,form:s,name:c,moduleName:l,value:u,checked:d,onChange:f,scopeValues:p={},onAiUpload:m,formDisabled:h,rowFieldKeys:g}){let _=n.type??`text`,v=!Do(n,l),[y,b]=(0,r.useState)(null),[x,S]=(0,r.useState)(!1),[C,w]=(0,r.useState)(``),[T,E]=(0,r.useState)(``),[D,O]=(0,r.useState)(``),[k,A]=(0,r.useState)(0),[j,M]=(0,r.useState)({open:!1,docs:[],index:0}),[N,P]=(0,r.useState)(null),F=(0,r.useRef)([]),I=Array.isArray(c)&&c.length>=3&&typeof c[1]==`number`,L=n.lookupFilterValueFrom?ko(n.lookupFilterValueFrom):[`__lookup_filter_${n.field}`],R=n.lookupFilterValueFrom&&I?[...c.slice(0,2),...ko(n.lookupFilterValueFrom)]:[`__noop_row_filter__`],z=i.Form.useWatch(L,s),B=i.Form.useWatch(R,s),ee=Jo(B)?z:B,te=n.disabledByField?Array.isArray(c)&&c.length>1?[...c.slice(0,-1),n.disabledByField]:[n.disabledByField]:[`__noop_disabled_watch__`],V=i.Form.useWatch(te,s),ne=n.disabledIf?.field?ko(n.disabledIf.field):[`__noop_disabled_if__`],re=n.disabledIf?.field&&I?[...c.slice(0,2),...ko(n.disabledIf.field)]:[`__noop_disabled_if_row__`],H=i.Form.useWatch(ne,s),U=i.Form.useWatch(re,s),ie=n.disabledIf?.field?e.i(n.disabledIf,Jo(U)?H:U):!1,ae=n.optionsFromField||``,oe=ae?ko(ae):[`__noop_options_from__`],se=ae&&I&&(!g||g.has(ae))?[...c.slice(0,2),...ko(ae)]:[`__noop_options_from_row__`],ce=i.Form.useWatch(oe,s),le=i.Form.useWatch(se,s),W=Jo(le)?ce:le,G=Eo(n.prefillWhenExclusive)&&n.prefillWhen?.length?n.prefillWhen:null,K=i.Form.useWatch(t=>G?JSON.stringify(e.x(G).map(e=>{let n=e=>e.reduce((e,t)=>e==null?e:e[t],t),r=I&&(!g||g.has(e))?n([...c.slice(0,2),...ko(e)]):void 0;return(Jo(r)?n(ko(e)):r)??null})):``,{form:s,preserve:!0}),ue=(0,r.useMemo)(()=>{if(!G||!K)return null;let t=JSON.parse(K),n={};return e.x(G).forEach((e,r)=>{n[e]=t[r]}),n},[K]),de=(0,r.useContext)(zo),fe=n.exclusiveInGroup&&I?[c[0]]:[`__noop_exclusive_watch__`],pe=i.Form.useWatch(fe,s),me=(0,r.useMemo)(()=>{if(!n.exclusiveInGroup||!I||!Array.isArray(pe))return!1;let e=c[1],t=c[c.length-1];return pe.some((n,r)=>r!==e&&Eo(n?.[t]))},[n.exclusiveInGroup,I,pe,c]),he=v||!!n.disabled||ie||(n.disabledByField?Eo(V):!1)||!!h||de||me,ge=n.lookupFilterValueFrom?p[n.lookupFilterValueFrom]:void 0,_e=Jo(ge)?ee:ge;(0,r.useEffect)(()=>{if(_===`location`){let e=!1;S(!0);async function r(){try{let r=await t.a(t.b,`/admin/location-dropdown-values?${new URLSearchParams({search:C,limit:String(n.limit??50),offset:`0`})}`),i=r?.data??r??[];e||b(Oo(Array.isArray(i)?i:[]))}catch(t){console.error(`[AddFormV1] Failed to fetch locations for "${n.field}":`,t),e||b([])}finally{e||S(!1)}}return r(),()=>{e=!0}}let r=n.dataSource;if(![`select`,`radio`,`checkbox`].includes(_)||!r||r===`static`)return;if(r===`lookup`&&n.lookupFilterField&&Jo(_e)){b([]),S(!1);return}if(r===`lookup`&&n.lookupMinSearchLength&&T.trim().length<n.lookupMinSearchLength){b([]),S(!1);return}let i=!1;S(!0);async function a(){try{let a=[];if(r===`master`||r===`module`)a=await e.Cr(l,n.field,r===`master`?D:``,n.limit??50,0,{dataSource:r,masterName:n.masterName,groupName:n.groupName});else if(r===`lookup`){let r=new URLSearchParams({collection:n.lookupCollection??``,displayField:n.displayField??``,valueField:n.valueField??`_id`});n.displayField2&&r.set(`displayField2`,n.displayField2),T&&r.set(`search`,T),n.lookupFilterField&&!Jo(_e)&&(r.set(`filterField`,n.lookupFilterField),r.set(`filterValue`,String(_e)));let i={field:n.field,extraFields:n.extraFields,optionsRequireExtraField:n.optionsRequireExtraField,optionsRequireExtraValue:n.optionsRequireExtraValue,optionsHierarchyParentField:n.optionsHierarchyParentField,optionsHierarchySelfFrom:n.optionsHierarchySelfFrom},o=e.v(i);o.length&&r.set(`extraFields`,o.join(`,`));let s=await t.a(t.b,`/admin/lookup-dropdown-values?${r}`);a=s?.data??s??[],a=e._(a,i,{source:`AddFormV1`})}else if(r===`group`){let e=(n.groupName??``).toLowerCase().trim();if(e===`users`||e===`user`){let e=await t.a(t.b,`/get-all-users?limit=500&offset=0`),n=e?.data?.users??e?.users??e?.data??[];a=Array.isArray(n)?n.map(e=>({label:[e.firstName,e.lastName].filter(Boolean).join(` `).trim()||e.userName||e.email||String(e.userId),value:e.userId??e.id})):[]}}i||(F.current=Array.isArray(a)?a:[],b(Oo(F.current)))}catch(e){console.error(`[AddFormV1] Failed to fetch options for "${n.field}":`,e),i||b([])}finally{i||S(!1)}}return a(),()=>{i=!0}},[_,n.dataSource,n.field,n.limit,n.lookupCollection,n.displayField,n.displayField2,n.valueField,n.lookupFilterField,_e,n.groupName,n.masterName,C,T,D,l,n.extraFields,n.optionsRequireExtraField,n.optionsRequireExtraValue,n.optionsHierarchyParentField,n.optionsHierarchySelfFrom,k,n.lookupMinSearchLength]);let ve=Oo(n.options??n.values??[]),ye=y??ve,be=ae?e.y(ye,W):ye,xe=G?e.b(be,G,ue??{}):be,Se=(n.multiSelect?`multiple`:n.mode??(Eo(n.multiple)?`multiple`:void 0))??(e.vt(n)===`array`?`multiple`:void 0),Ce=Eo(n.allowCustomValues),we=Ce?`tags`:Se,Te=!!n.multiSelect||Eo(n.multiple)||e.vt(n)===`array`||Se===`multiple`,Ee=Ce?typeof n.tokenSeparators==`string`&&n.tokenSeparators?n.tokenSeparators.split(``):[`,`]:void 0,De=[`select`,`location`].includes(_),Oe=n.hidePlaceholder?void 0:n.placeholder??`${De?`Select`:`Enter`} ${String(n.label??``).toLowerCase()}`,ke=cs(n),Ae=e=>{f?.(e),setTimeout(()=>{s.validateFields([c]).catch(()=>{})},0)},je=e.I({field:n,form:s,name:c,moduleName:l,scopeValues:p,ownValue:u,onDone:(t,r)=>{A(e=>e+1);let i=e.vt(n)!==`array`&&!n.multiSelect&&!n.multiple;t===`create`&&r!=null&&i&&Ae(e.wt(n)?{value:r}:r)}}),Me=n.validator?.type?{...n.validator,title:n.validator.title||n.label||`Field`}:null,q={...ke,disabled:he,placeholder:Oe,prefix:n.icon?null:To[n.field],value:u??``,onChange:t=>{let r=n.formatter?ds(t.target.value,n.formatter):t.target.value;if(Me){let{cleaned:t,error:n}=e.Y(r,Me,`change`);P(n),r=t}Ae(r)},...Me&&{onBlur:t=>{let{cleaned:n,error:r}=e.Y(t.target.value,Me,`blur`);P(r),n!==t.target.value&&Ae(n)},onKeyPress:t=>{let n=e.X(Me.type);if(!n||t.which===0||t.keyCode===8||t.keyCode===13)return;let r=String.fromCharCode(t.which??t.keyCode);if(!n.test(r)){t.preventDefault();let e=`${Me.title} — invalid character.`;P(e),setTimeout(()=>P(t=>t===e?null:t),1800)}},maxLength:Me.maxLength??ke.maxLength}};if(_===`tagify`)return(0,o.jsx)(i.Select,{value:u,allowClear:!0,disabled:he,mode:`tags`,placeholder:Oe,onChange:Ae});if(_===`location`)return(0,o.jsx)(i.Select,{value:u,allowClear:!0,showSearch:!0,filterOption:!1,disabled:he,loading:x,options:xe,placeholder:Oe,notFoundContent:x?(0,o.jsx)(i.Spin,{size:`small`}):void 0,onSearch:w,onFocus:()=>w(e=>e),onChange:Ae});if(_===`select`){let t=n.dataSource===`lookup`,r=n.dataSource===`master`,a=t||r,l=e.wt(n),d=e.Ct(n,u,xe),f=Ce&&!Te?d==null||d===``?void 0:Array.isArray(d)?d:[d]:d;return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(i.Select,{value:f,labelInValue:l||void 0,allowClear:!0,showSearch:n.showSearch!==!1,optionFilterProp:`label`,filterOption:a?!1:void 0,disabled:he,loading:x,mode:we,tokenSeparators:Ee,options:xe,placeholder:Oe,notFoundContent:x?(0,o.jsx)(i.Spin,{size:`small`}):void 0,onSearch:t?E:r?O:void 0,onChange:e=>{let t=Ce&&!Te&&Array.isArray(e)?e.length?e[e.length-1]:void 0:e;if(Ae(t),n.autofillFrom?.length){let e=t&&!Array.isArray(t)&&typeof t==`object`?t.value:t,r=Array.isArray(c)&&c.length>=3&&typeof c[1]==`number`;if(t==null)n.autofillFrom.forEach(({targetField:e})=>{let t=r?[...c.slice(0,2),...ko(e)]:ko(e);s.setFieldValue(t,null)});else if(F.current.length>0){let t=n.valueField??`_id`,i=F.current.find(n=>Vo(n,t)===e||n._id===e||n.id===e||n.value===e);i&&n.autofillFrom.forEach(({optionKey:e,targetField:t})=>{let n=Vo(i,e)??i.extraData?.[e]??null,a=r?[...c.slice(0,2),...ko(t)]:ko(t);s.setFieldValue(a,n)})}}},dropdownRender:je.footer?e=>(0,o.jsxs)(o.Fragment,{children:[e,je.footer]}):void 0}),je.modal]})}if(_===`radio`)return(0,o.jsx)(i.Radio.Group,{value:u,disabled:he,options:xe,onChange:e=>Ae(e.target.value)});if(_===`checkbox`)return xe.length>0?(0,o.jsx)(i.Checkbox.Group,{value:u,disabled:he,options:xe,onChange:Ae}):(0,o.jsx)(i.Checkbox,{checked:!!(d??u),disabled:he,onChange:e=>{let t=e.target.checked;if(Ae(t),n.linkedClearField&&t){let e=Array.isArray(c)&&c.length>1?[...c.slice(0,-1),n.linkedClearField]:[n.linkedClearField];s.setFieldValue(e,null)}},children:n.checkboxLabel??n.label});if(_===`text-editor`)return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e.kr,{value:u??s.getFieldValue(c)??``,disabled:he,placeholder:Oe,onChange:t=>{if(Me){let{error:n}=e.Y(t,Me,`change`);P(n)}Ae(t)}}),N&&(0,o.jsx)(`div`,{className:`v1-input-validator-hint`,children:N})]});if(_===`textarea`)return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(So,{...q,rows:n.rows??3,className:`v1-scroll-textarea`}),N&&(0,o.jsx)(`div`,{className:`v1-input-validator-hint`,children:N})]});if(_===`date`)return(0,o.jsx)(i.DatePicker,{disabled:he,placeholder:Oe,style:{width:`100%`},suffixIcon:(0,o.jsx)(a.CalendarOutlined,{}),value:u??null,disabledDate:ls(n,s,c),defaultPickerValue:us(n),onChange:e=>Ae(e)});if(_===`time`)return(0,o.jsx)(i.TimePicker,{disabled:he,placeholder:Oe,style:{width:`100%`},value:u??null,onChange:e=>Ae(e)});if(_===`file`){let t=n.validations??n.validation??n.rules??[],r=t.find(e=>(typeof e==`string`?e:e?.type)===`fileType`),s=t.find(e=>(typeof e==`string`?e:e?.type)===`fileSize`),c=t.find(e=>(typeof e==`string`?e:e?.type)===`maxFiles`),l=e.V(n),d=l?l.exts.map(e=>`.${e}`).join(`,`):r?.value?r.value.split(`,`).map(e=>`.${e.trim().replace(/^\./,``)}`).join(`,`):void 0,f=s?Number(s?.value??5):void 0,p=c?Number(c?.value??1):Eo(n.multiple)?n.maxCount??5:1,h=Array.isArray(u)?u:[],g=h.length<p,_=e=>e?e<1024*1024?`${(e/1024).toFixed(0)} KB`:`${(e/1024/1024).toFixed(2)} MB`:``,v=e=>{let t=(e??``).split(`.`).pop()?.toLowerCase();return t===`pdf`?(0,o.jsx)(a.FilePdfOutlined,{className:`v1-file-type-icon v1-file-icon-pdf`}):[`doc`,`docx`].includes(t)?(0,o.jsx)(a.FileWordOutlined,{className:`v1-file-type-icon v1-file-icon-word`}):[`xls`,`xlsx`,`csv`].includes(t)?(0,o.jsx)(a.FileExcelOutlined,{className:`v1-file-type-icon v1-file-icon-excel`}):[`jpg`,`jpeg`,`png`,`gif`,`svg`,`webp`].includes(t)?(0,o.jsx)(a.FileImageOutlined,{className:`v1-file-type-icon v1-file-icon-image`}):(0,o.jsx)(a.FileOutlined,{className:`v1-file-type-icon v1-file-icon-default`})},y=e=>{Ae(h.filter((t,n)=>n!==e))},b=(e,t)=>{M({open:!0,docs:h.map(e=>{let t=e.url??e.thumbUrl??``;return!t&&e.originFileObj instanceof File&&(t=URL.createObjectURL(e.originFileObj)),{url:t,name:e.name??`file`}}).filter(e=>e.url),index:t??0})},x=p>1,S=p-h.length,C=[l?l.hint:d?d.split(`,`).map(e=>e.replace(`.`,``).toUpperCase()).join(`, `):null,f?`up to ${f} MB`:null].filter(Boolean).join(` `),w=x&&h.length>0?[C,`${S} of ${p} remaining`].filter(Boolean).join(` • `):C,T=h.length>0?`Add ${x?`more files`:`file`}`:n.buttonLabel??`Upload ${n.label??`File`}`,E=e=>{if(h.length>=p)return i.Upload.LIST_IGNORE;if(d){let t=(e.name.split(`.`).pop()??``).toLowerCase();if(!d.split(`,`).map(e=>e.replace(/^\./,``).toLowerCase()).includes(t))return i.message.error(l?l.error:r?.message??`Only ${r.value} files are allowed`),i.Upload.LIST_IGNORE}return f!==void 0&&e.size/1024/1024>f?(i.message.error(s?.message??`File must be smaller than ${f} MB`),i.Upload.LIST_IGNORE):!1},D=({fileList:e})=>{let t=e.slice(0,p);if(Ae(t),m&&t.length>h.length){let e=t[t.length-1];e?.originFileObj&&m(e.originFileObj)}},O={accept:d,fileList:h,showUploadList:!1,multiple:!0,maxCount:p,beforeUpload:E,onChange:D,disabled:he},k=h.map((e,t)=>(0,o.jsxs)(`div`,{className:`v1-file-item`,children:[(0,o.jsx)(`div`,{className:`v1-file-item-icon`,children:v(e.name)}),(0,o.jsxs)(`div`,{className:`v1-file-item-info`,children:[(0,o.jsx)(`span`,{className:`v1-file-item-name`,title:e.name,children:e.name}),(0,o.jsx)(`span`,{className:`v1-file-item-meta`,children:e.existing?`Previously uploaded`:`${_(e.size)}${e.size?` • `:``}Uploaded just now`})]}),(0,o.jsxs)(i.Space,{size:6,className:`v1-file-item-actions`,children:[(0,o.jsx)(i.Button,{size:`small`,icon:(0,o.jsx)(a.EyeOutlined,{}),onClick:()=>b(e,t),className:`v1-file-view-btn`,children:`View`}),(0,o.jsx)(i.Button,{size:`small`,danger:!0,icon:(0,o.jsx)(a.DeleteOutlined,{}),onClick:()=>y(t),className:`v1-file-delete-btn`})]})]},e.uid??t)),A=(0,o.jsx)(e.Or,{documents:j.docs,open:j.open,onClose:()=>M(e=>({...e,open:!1})),initialIndex:j.index});if(x){let e=h.length>0?`Upload more ${n.label??`files`}`:n.buttonLabel??`Upload ${n.label??`File`}`;return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(`div`,{className:`v1-file-upload-wrapper`,children:[g&&(0,o.jsx)(i.Upload,{...O,style:{width:`100%`,display:`block`},children:(0,o.jsxs)(`div`,{className:`v1-upload-dropzone v1-upload-dropzone-center${he?` v1-upload-dropzone-disabled`:``}`,children:[(0,o.jsxs)(`div`,{className:`v1-upload-dropzone-title-row`,children:[(0,o.jsx)(a.CloudUploadOutlined,{className:`v1-upload-cloud-icon v1-upload-cloud-icon-sm`}),(0,o.jsx)(`span`,{className:`v1-upload-dropzone-title v1-upload-dropzone-title-blue`,children:e})]}),(0,o.jsx)(`span`,{className:`v1-upload-dropzone-sub`,children:`Drag & drop or click to upload`}),C&&(0,o.jsx)(`span`,{className:`v1-upload-dropzone-sub`,children:C})]})}),h.length>0&&(0,o.jsx)(`div`,{className:`v1-file-grid`,children:k}),g&&h.length>0&&(0,o.jsx)(i.Upload,{...O,style:{display:`inline-block`},children:(0,o.jsx)(i.Button,{type:`link`,size:`small`,icon:(0,o.jsx)(a.PlusOutlined,{}),className:`v1-add-more-files-btn`,children:`Add more files`})})]}),A]})}return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(`div`,{className:`v1-file-upload-wrapper`,children:[h.length>0&&(0,o.jsx)(`div`,{className:`v1-file-rows-single`,children:k}),g&&(0,o.jsx)(i.Upload,{accept:d,fileList:h,showUploadList:!1,multiple:!1,maxCount:1,beforeUpload:E,onChange:D,disabled:he,style:{width:`100%`,display:`block`},children:(0,o.jsxs)(`div`,{className:`v1-upload-dropzone v1-upload-dropzone-single${he?` v1-upload-dropzone-disabled`:``}`,children:[(0,o.jsx)(a.CloudUploadOutlined,{className:`v1-upload-cloud-icon`}),(0,o.jsx)(`span`,{className:`v1-upload-dropzone-title`,children:T}),w&&(0,o.jsxs)(`span`,{className:`v1-upload-dropzone-sub`,children:[`— `,w]})]})})]}),A]})}return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(i.Input,{...q,type:_===`number`?`number`:_,..._===`number`&&Eo(n.decimal)?{step:`any`}:{},...n.suffix?{suffix:n.suffix}:{}}),N&&(0,o.jsx)(`div`,{className:`v1-input-validator-hint`,children:N})]})}function vs({icon:e,title:t}){return(0,o.jsxs)(i.Space,{size:10,align:`center`,children:[(0,o.jsx)(`div`,{className:`v1-section-icon-box`,children:e}),(0,o.jsx)(xo,{strong:!0,className:`v1-section-label`,children:t})]})}function ys({field:t,label:n,locked:r}){if(!n)return n;let s=e.g(t),c=!!s;return!c&&!r?n:(0,o.jsxs)(`span`,{className:`v1-field-label-with-info`,children:[(0,o.jsx)(`span`,{children:n}),c&&(0,o.jsx)(i.Tooltip,{title:s,children:(0,o.jsx)(a.InfoCircleOutlined,{className:`v1-field-info-icon`})}),r&&(0,o.jsx)(i.Tooltip,{title:`You don't have permission to edit this field`,children:(0,o.jsx)(a.LockOutlined,{className:`v1-field-info-icon`})})]})}function bs({group:e}){return!Eo(e?.infoEnabled)||Jo(e?.infoText)?null:(0,o.jsx)(xo,{type:`secondary`,className:`v1-group-info-message`,children:e.infoText})}function xs({group:e}){return!Eo(e?.toggleEnabled)||Jo(e?.toggleField)?null:(0,o.jsxs)(i.Space,{size:6,align:`center`,onClick:e=>e.stopPropagation(),children:[(0,o.jsx)(xo,{type:`secondary`,className:`v1-combine-toggle-label`,children:e.toggleLabel||`Toggle`}),(0,o.jsx)(i.Form.Item,{name:e.toggleField,valuePropName:`checked`,initialValue:!!e.toggleValue,noStyle:!0,children:(0,o.jsx)(i.Switch,{size:`small`})})]})}function Ss({moduleName:n,action:c,authToken:l,clientId:u,region:d,formGroups:f,loading:p=!1,error:m=``,breadcrumbItems:h=[],formType:g=`add`,submitText:_,cancelPath:v=`/candidates`,onSubmit:y,initialRecord:b=null,prefillFromUrl:x=!1,extraPayload:S=null,presetClientId:C=null,listViewProps:w={},selectedScope:T=``,searchActionContext:E=null,embedded:D=!1,onSuccess:O=null,onCancel:k=null}){(0,r.useEffect)(()=>(l&&t.h(l),()=>{l&&t.n()}),[l]);let A=g===`search`,j=_??(A?`Search`:`Create`),M=(0,s.useNavigate)(),N=(0,s.useLocation)(),P=(0,r.useRef)(null),F=(0,r.useRef)(null),I=(0,s.useParams)(),[L]=(0,s.useSearchParams)(),[R]=i.Form.useForm(),z=i.Form.useWatch([],R),[B,ee]=(0,r.useState)(!1),[te,V]=(0,r.useState)({}),[ne,re]=(0,r.useState)([]),[H,U]=(0,r.useState)(!!n),[ie,ae]=(0,r.useState)(``),[oe,se]=(0,r.useState)(``),[ce,le]=(0,r.useState)(!1),[W,G]=(0,r.useState)({searched:!1,rows:[],total:0,fields:[],actions:[],actionRules:[],loading:!1}),[K,ue]=(0,r.useState)({current:1,pageSize:10}),[de,fe]=(0,r.useState)({}),[pe,me]=(0,r.useState)(`internal`),[he,ge]=(0,r.useState)([]),[_e,ve]=(0,r.useState)({}),[ye,be]=(0,r.useState)([]),[xe,Se]=(0,r.useState)(u??``),[Ce,we]=(0,r.useState)(d??``),[Te,Ee]=(0,r.useState)(null),[De,Oe]=(0,r.useState)(!1),[ke,Ae]=(0,r.useState)(null),[je,Me]=(0,r.useState)(()=>new Set),q=n?ne:f??Co,J=n?H:p,Ne=n?ie:m,[Y,Pe]=(0,r.useState)(``),Fe=I?.jobId&&I.jobId!==`_`?I.jobId:L.get(`jobId`)||``;(0,r.useEffect)(()=>{if(u||C||!Fe)return;let t=!1;return(async()=>{try{let n=Go(Uo(await e.Sr({module:`jobs`,id:Fe})))??{},r=n.clientId??n.client??``,i=r&&typeof r==`object`?r.id??r.value??``:r;!t&&i&&Pe(String(i))}catch(e){console.error(`Client-scope resolve from job failed:`,e)}})(),()=>{t=!0}},[u,C,Fe]);let Ie=u||C||Y||xe,Le=d||Ce;(0,r.useEffect)(()=>{e.Pt()},[]),(0,r.useEffect)(()=>{let t=!1;return queueMicrotask(()=>{if(!t){if(!n){Ae(null);return}e.Hn({roleId:localStorage.getItem(`roleId`)},n,{clientId:Ie,region:Le}).then(e=>{t||Ae(Array.isArray(e)&&e.length?e:null)}).catch(()=>{t||Ae(null)})}}),()=>{t=!0}},[n,Ie,Le]),(0,r.useEffect)(()=>{let t=!1;return queueMicrotask(()=>{if(!t){if(!n){Me(new Set);return}e.Rn(n).then(e=>{t||Me(new Set(Array.isArray(e)?e:[]))}).catch(()=>{t||Me(new Set)})}}),()=>{t=!0}},[n]);let X=(0,r.useMemo)(()=>Wo(q,n,ke,je),[q,n,ke,je]),[Re,ze]=(0,r.useState)(0),Be=(0,r.useMemo)(()=>e.K({checkFieldUnique:e.H,onPendingChange:ze}),[]),Ve=(0,r.useMemo)(()=>A?void 0:{checker:Be,module:n,clientId:Ie||void 0,region:Le||void 0},[A,Be,n,Ie,Le]),He=(0,r.useMemo)(()=>e.G(X),[X]),Ue=(0,r.useMemo)(()=>e.dt(X),[X]),We=(0,r.useRef)({}),Ge=(0,r.useRef)(null),Ke=(0,r.useMemo)(()=>X.flatMap(e=>e.formActions??[]),[X]),qe=e.tt({form:R,groups:X,module:n}),[Je,Ye]=(0,r.useState)(`list`),Xe=A&&!hs(z),{hasClientScope:Ze,clientGateMessage:Qe,clientGateResetOnChange:$e}=(0,r.useMemo)(()=>{let e=Uo(q).flatMap(e=>e.fields??[]).find(e=>Eo(e.clientScope));return e?{hasClientScope:!0,clientGateMessage:e.clientGateMessage||``,clientGateResetOnChange:Eo(e.clientGateResetOnChange)}:{hasClientScope:!1,clientGateMessage:``,clientGateResetOnChange:!1}},[q]),et=e=>{if($e){R.resetFields();let e=R.getFieldsValue(!0);R.setFieldsValue(Object.fromEntries(Object.keys(e).map(e=>[e,void 0]))),G({searched:!1,rows:[],total:0,fields:[],loading:!1}),ue({current:1,pageSize:10})}Se(e??``)},tt=Ze&&!Ie,nt=(0,r.useCallback)(()=>e.fn({limit:200}).then(be).catch(()=>be([])),[]);(0,r.useEffect)(()=>{!Ze||C||Y||nt()},[Ze,C,Y,nt]);let rt=e.I({field:{field:`clientId`,quickCreate:!0,quickCreateModule:`clients`,quickCreateLabel:`Add Client`,lookupCollection:`clients`,displayField:`clientName`,quickCreateNotice:{enabled:!0,title:`New Client Created`,showCreator:!0,showRecordName:!0,recordLabel:`Client name`,creatorLabel:`Created by`}},form:R,name:`clientId`,moduleName:n,scopeValues:{},ownValue:Ie,onDone:(e,t)=>{nt(),e===`create`&&t!=null&&et(String(t))}});(0,r.useEffect)(()=>{if(!n)return;let t=!1;async function r(){try{U(!0),ae(``);let r=A?await e.wn(n,`search`,c):await e.Sr({module:n,action:c,clientId:Ie,region:Le});t||(re(Uo(A?r?.[0]:r)),A&&se(r?.[0]?.label||``))}catch(e){console.error(`Failed to fetch ${n} form groups:`,e),t||ae(e?.message||`Failed to fetch form groups`)}finally{t||U(!1)}}return r(),()=>{t=!0}},[n,c,A,Ie,Le]);let it=(0,r.useMemo)(()=>{if(!x)return null;let e=L.get(`candidateId`)||``,t=L.get(`submissionId`)||``,n=String(L.get(`isFromSubmission`))===`true`,r=I.jobId&&I.jobId!==`_`?I.jobId:L.get(`jobId`)||``,i=n&&t?{module:`submissions`,id:t}:e?{module:`candidates`,id:e}:null,a={};return e&&(a.applicantId=e),r&&(a.jobId=r),{source:i,linkage:Object.keys(a).length?a:null}},[x,L,I]);(0,r.useEffect)(()=>{let t=it?.source;if(!t)return;let n=!1;async function r(){try{Oe(!0);let r=await e.Sr({module:t.module,id:t.id});n||Ee(Uo(r))}catch(e){console.error(`Failed to fetch prefill data:`,e),n||Ee([])}finally{n||Oe(!1)}}return r(),()=>{n=!0}},[it]);let at=(0,r.useMemo)(()=>Te?Object.fromEntries(Te.filter(e=>e.addRow&&Array.isArray(e.rows)&&e.rows.length>0).map(e=>[e.payloadKey||e.name,e.rows])):{},[Te]),ot=(0,r.useMemo)(()=>Go(Te),[Te]),st=(0,r.useMemo)(()=>{let e=new Set;return X.forEach(t=>(t.fields??[]).forEach(t=>{t.prefillFromModule&&e.add(fs(t.prefillFromModule))})),[...e]},[X]),[ct,lt]=(0,r.useState)({});(0,r.useEffect)(()=>{let t=it?.linkage;if(!t||st.length===0)return;let n=!1;return st.forEach(async r=>{let i=e.T(r,t);if(i)try{let t=Go(Uo(await e.Sr({module:r,id:i})));!n&&t&&lt(e=>({...e,[r]:t}))}catch(e){console.error(`Context prefill fetch failed for ${r}:`,e)}}),()=>{n=!0}},[st,it]),(0,r.useEffect)(()=>{let t=b??ot;if(!t&&Object.keys(ct).length===0||J||X.length===0)return;let n={};X.forEach(r=>{if(r.toggleEnabled&&r.toggleField&&t){let e=Ko(t,{field:r.toggleField});e!=null&&(n[r.toggleField]=!!e)}r.addRow||(r.fields??[]).forEach(r=>{if(!r.field||Eo(r.addRow))return;let i=r.prefillFromModule?ct[fs(r.prefillFromModule)]:t;if(!i)return;let a=Ko(i,r);if(a!=null)if(r.type===`file`){let t=qo(a);t.length>0&&e.at(n,r.field,t)}else e.at(n,r.field,e.mt(r,a))})}),Object.keys(n).length>0&&R.setFieldsValue(n)},[b,ot,ct,J,X,R]),(0,r.useEffect)(()=>{let e=N?.state?.relevantSkillsToken,t=N?.state?.relevantSkillsInputs,n=t?.jobId??it?.linkage?.jobId??``,r=t?.applicantId??t?.candidateId??it?.linkage?.applicantId??``;if(!(e||t)||J||X.length===0)return;let i=X.filter(e=>Eo(e.addRow)&&e.skillMatchField);if(i.length===0)return;let a=e||`inputs:${n}:${r}`,o;if(P.current===a&&F.current?o=F.current:(o=e?eo(e):void 0,(!o||typeof o.then!=`function`)&&n&&r&&(o=to({jobId:n,applicantId:r}).catch(()=>[])),P.current=a,F.current=o),!o||typeof o.then!=`function`)return;let s=!1;return o.then(e=>{if(s||!Array.isArray(e)||e.length===0)return;let t={};i.forEach(n=>{let r=R.getFieldValue(n.name),i=Array.isArray(r)?r:[],a=new Map;i.forEach(e=>{let t=String(e?.[n.skillMatchField]??``).trim().toLowerCase();t&&!a.has(t)&&a.set(t,e)}),t[n.name]=e.map(e=>a.get(String(e).trim().toLowerCase())??{[n.skillMatchField]:e})}),Object.keys(t).length>0&&R.setFieldsValue(t)}).catch(()=>{}),()=>{s=!0}},[N?.state?.relevantSkillsToken,N?.state?.relevantSkillsInputs,it?.linkage?.jobId,it?.linkage?.applicantId,J,X,R]);let ut={...Ze&&Ie?{clientId:Ie}:{},...it?.linkage??S??{}},dt=!tt&&!J&&(!it?.source||Te!==null&&!De),ft=t=>{let n=at[t.prefillFrom||t.payloadKey||t.name],r=Math.max(0,Number(t.minRows??0)||0),i=e.xt(t);if(!n||n.length===0){let e=t.initialRows===void 0?r:Math.max(r,Math.max(0,Number(t.initialRows)||0));return Array.from({length:e},()=>({...i}))}let a=n.map(n=>{let r={...i};return(t.fields??[]).forEach(t=>{if(!t.field||t.type===`file`)return;let i=Ko(n,t);i!=null&&(r[t.field]=Eo(t.addRow)?e.gt(t,i):e.mt(t,i))}),r});for(;a.length<r;)a.push({...i});return a},pt=(0,r.useMemo)(()=>{let t={};return X.forEach(e=>{e.addRow&&(t[e.name]=ft(e))}),e.pt(Ue,t)},[X,at,Ue]),mt=e=>V(t=>({...t,[e]:!t[e]})),ht=()=>{R.resetFields(),V({}),me(`internal`),ge([])},gt=(0,r.useCallback)(async(t,r,a={})=>{if(!A)return;let o=Number(a.pageSize)>0?Number(a.pageSize):K.pageSize,s=Number(a.current),c=Number.isFinite(s)&&s>0?Math.floor(s):1;try{fe(t),ue({current:c,pageSize:o}),G(e=>({...e,loading:!0,searched:!0}));let i=ao(t?.selectedSource),a=r?oo(r,pe):i.includes(`internal`)?`internal`:oo(t?.selectedSource,pe),s={...t,selectedSource:a};console.log(`[AddFormV1] Calling searchModuleData with scope:`,a);let l=await e.Tr(n||`candidates`,s,{limit:o,offset:(c-1)*o},{scope:a});me(a),G({searched:!0,rows:l.rows,total:l.total,fields:l.fields,actions:l.actions??[],actionRules:l.actionRules??[],loading:!1}),ge(e=>fo({sources:i,activeSource:a,activeCount:l.total,responseCounts:l.counts,currentTabs:e,backendTabs:l.tabs}))}catch(e){console.error(`Search failed:`,e),i.message.error(e?.message||`Failed to search records`),G({searched:!0,rows:[],total:0,fields:[],actions:[],actionRules:[],loading:!1})}},[A,n,pe,K.pageSize]),_t=(0,r.useCallback)(async(e,t)=>{let n=vo(e,t);ve(e=>({...e,[n]:{...e[n]??{},loading:!0}}));try{let r=await yo(e,t);i.message.success(r?.message??r?.data?.message??e.successMessage??`Action completed successfully.`),ve(e=>({...e,[n]:{loading:!1,completed:!0}}))}catch(t){i.message.error(t?.message||e.errorMessage||`Action failed.`),ve(e=>({...e,[n]:{...e[n]??{},loading:!1}}))}finally{ve(e=>({...e,[n]:{...e[n]??{},loading:!1}}))}},[]),vt=(0,r.useCallback)(e=>{let t=oo(e,pe);me(t),ue({current:1,pageSize:K.pageSize}),Object.keys(de).length>0&&gt(de,t,{current:1,pageSize:K.pageSize})},[K.pageSize,de,gt,pe]),yt=(0,r.useCallback)((e,t)=>{let n=Number(t)>0?Number(t):K.pageSize,r=Number(e)>0?Number(e):1;if(Object.keys(de).length===0){ue({current:r,pageSize:n});return}gt(de,pe,{current:r,pageSize:n})},[gt,de,K.pageSize,pe]),bt=(0,r.useCallback)(e=>{let t=Number(e)>0?Number(e):K.pageSize;if(Object.keys(de).length===0){ue({current:1,pageSize:t});return}gt(de,pe,{current:1,pageSize:t})},[gt,de,K.pageSize,pe]),xt=t=>{let n=e.q(t,{uniqueRules:He});return n.length===0?!1:(R.setFields(n.map(e=>({name:e.name??e.field,errors:[e.message]}))),V({}),e.l({errorFields:n.map(e=>{let t=e.name??e.field;return{name:Array.isArray(t)?t:[t],errors:[e.message]}})},R),!0)},St=async t=>{if(A){await gt(t);return}if(y){await y(t,{moduleName:n,groups:X,extraPayload:ut??{},payload:{...ut??{},...e.ht(t,X,{module:n})}});return}if(!n){console.log(`Form values:`,t);return}try{le(!0);let r=await e.xr(n,gs(t,X,ut??{},n));if(r?.status===!1){if(xt(r))return;i.message.error(e.u(X,n,`add`,r?.error||r?.message||r?.data));return}let a=e._t(t,X,{scope:`addRow`,indexed:!0,module:n}),o=r?.id??r?.data?.id??r?.data?._id??r?._id;if(a.length>0&&o)try{await e.Ut(n,o,{...ut??{},...e.ht(t,X,{module:n})},a)}catch(e){console.error(`Document file attach (post-create update) failed:`,e),i.message.warning(`Record created, but attaching document files failed. Edit the record to re-upload.`)}let s=e._t(t,X,{module:n});if(s.length>0&&o)try{await e.Gt(n,o,s)}catch(e){console.error(`Document registry upload failed:`,e),i.message.warning(`Record created, but saving its document records failed.`)}let c=e.d(X,n,`add`);if(c&&i.message.success(c),R.resetFields(),D&&O){O(o,t);return}let l=Ge.current??e.f(X);if(!l){let e=fs(n);e===`jobs`?M(`/jobs`):e===`candidates`?M(`/candidates`):e===`onboarding`?M(`/onboarding`):e===`submission`&&M(`/submissions`)}else if(l.mode===`back`)M(-1);else if(l.mode===`route`||l.mode===`detail`){let n=e.p(l.target,o,t);n&&M(n)}}catch(t){if(console.error(`Failed to create ${n}:`,t),xt(t))return;i.message.error(e.u(X,n,`add`,t?.data?.error||t?.data?.message||t?.message))}finally{le(!1),Ge.current=null}},Ct=(t,n,r)=>{let i=t.validations??t.validation??t.rules??[];return[...i.filter(e=>(typeof e==`string`?e:e?.type)===`maxFromField`).map(t=>e.N(t,n,r)).filter(Boolean),...i.filter(e=>{let t=typeof e==`string`?e:e?.type;return[`dateAfterField`,`greaterThanField`,`strictGreaterThanField`,`strictLessThanField`,`lessThanOrEqualField`,`maxFieldWithFallback`,`dateBeforeField`,`timeAfterField`,`timeBeforeField`].includes(t)}).map(e=>String(e.value??e.compareField??e.field??``).split(`,`).map(e=>e.trim()).filter(Boolean).map(e=>es(n,e))).flat().filter(Boolean)]},wt=(e,t)=>typeof e==`function`?e(t):e,Tt=(e,t,n)=>{if(!e?.field)return!0;let r=wt(n,e.field),i=t(r==null?[e.field]:[...Array.isArray(r)?r:[r],e.field]);switch(e.operator){case`eq`:return String(i??``)===String(e.value??``);case`neq`:return String(i??``)!==String(e.value??``);case`truthy`:return i!=null&&i!==``&&i!==!1;case`falsy`:return i==null||i===``||i===!1;case`notEmpty`:return Array.isArray(i)?i.length>0:!!i;case`in`:return String(e.value??``).split(`,`).map(e=>e.trim()).includes(String(i??``));case`notIn`:return!String(e.value??``).split(`,`).map(e=>e.trim()).includes(String(i??``));default:return!0}},Et=(e,t,n)=>{if(!e)return!0;let r=Array.isArray(e.conditions)?e.conditions.filter(e=>e?.field):[];if(r.length){let i=r.map(e=>Tt(e,t,n)),a=String(e.logic??`and`).toLowerCase()===`or`,o=a?i.some(Boolean):i.every(Boolean);if(e.field){let r=Tt(e,t,n);o=a?o||r:o&&r}return o}return Tt(e,t,n)},Dt=e=>!!(e?.field||e?.conditions?.some?.(e=>e?.field)),[Ot,kt]=(0,r.useState)({}),At=e=>String(e?.field??``),jt=(0,r.useMemo)(()=>t.o(),[]),Mt=(t,a,s,c={})=>{let l=typeof t.field==`string`&&t.field.includes(`.`)?t.field.split(`.`):null,u=l??t.field,d=a===void 0?u:[a,...l??[t.field]],f=s!==void 0&&a!==void 0?[...Array.isArray(s)?s:[s],...Array.isArray(d)?d:[d]]:d,p=t.type===`checkbox`&&(t.options&&t.options.length>0||t.dataSource&&t.dataSource!==`static`),m=!p&&t.type===`checkbox`?`checked`:`value`,h=!!t.editablePermission&&!e.h(t.editablePermission,n),g=s!==void 0&&a!==void 0?[...Array.isArray(s)?s:[s],a]:null,_=e=>g&&(!c.rowFieldKeys||c.rowFieldKeys.has(e))?g:null,v=c.inline||c.hideLabel||!p&&t.type===`checkbox`?``:(0,o.jsx)(Mo,{form:R,field:t,siblingPrefix:t.labelWhen?.field?_(t.labelWhen.field):g,locked:h}),y=Ct(t,f,_),b=e.g(t),x=c.inline||t.type===`file`&&Eo(t.multiple)||t.type===`text-editor`?24:t.col??12,S=Nt(t,jt),C=a===void 0&&t.type!==`file`&&S.matched&&S.value!==void 0&&S.value!==``?S.value:a===void 0&&t.type!==`file`&&t.defaultValue!==void 0&&t.defaultValue!==``?t.defaultValue:void 0,w=(t.aiActions||[]).filter(e=>e.trigger===`click`),T=(t.aiActions||[]).find(e=>e.trigger===`upload`),E=(0,o.jsx)(i.Form.Item,{label:v,name:d,extra:t.helpText?(0,o.jsx)(xo,{type:`secondary`,className:`v1-field-help-text`,children:t.helpText}):void 0,rules:os(t,R,f,A,_,Ve),required:as(t,R,f),dependencies:y,valuePropName:m,initialValue:C,getValueFromEvent:t.type===`file`?e=>Array.isArray(e)?e:e?.fileList:void 0,validateTrigger:[`onBlur`,`onChange`],children:(0,o.jsx)(_s,{field:t,form:R,name:f,rowFieldKeys:c.rowFieldKeys,moduleName:n,scopeValues:{clientId:Ie},onAiUpload:T?e=>qe.runAction(c.groupNameForActions,t,T,e):void 0,formDisabled:qe.busy},t.refreshToken==null?void 0:`${t.field}-refresh-${t.refreshToken}`)}),D=b&&!v?(0,o.jsx)(i.Tooltip,{title:b,children:(0,o.jsx)(`span`,{className:`v1-field-tooltip-wrap`,children:E})}):E,O=w.length>0?(()=>{let n=e.et(w),r=r=>(0,o.jsx)(e.$,{position:r,actions:n[r],aiActions:qe,groupName:c.groupNameForActions,field:t},r);return(0,o.jsxs)(`div`,{className:`v1-ai-action-wrap`,children:[r(`top-left`),r(`top-center`),r(`top-right`),D,r(`bottom-left`),r(`bottom-center`),r(`bottom-right`)]})})():D,k=e=>a===void 0?e:[a,e],j=t.verifyAction?(0,o.jsxs)(o.Fragment,{children:[t.verifyResultField&&(0,o.jsx)(i.Form.Item,{name:k(t.verifyResultField),hidden:!0,noStyle:!0,children:(0,o.jsx)(i.Input,{})}),t.verifyTimestampField&&(0,o.jsx)(i.Form.Item,{name:k(t.verifyTimestampField),hidden:!0,noStyle:!0,children:(0,o.jsx)(i.Input,{})})]}):null,M=t.verifyAction?(0,o.jsxs)(`div`,{className:`v1-verify-field-row`,children:[O,(0,o.jsx)(jo,{form:R,field:t,absoluteName:f}),j]}):O,N=c.inline?{flex:`${Number(t.combineWidth)>0?Number(t.combineWidth):1} 1 0`,maxWidth:`none`}:void 0,P=t.autoFillFromApi?(0,o.jsx)(Io,{form:R,config:t.autoFillFromApi,watchPath:f},`${t.field}-autoFillFromApi`):null,F=t.prefillWhen?.length?(0,o.jsx)(Fo,{form:R,rules:t.prefillWhen,watchPaths:e.S(t.prefillWhen,f,e.F,_),targetPath:f,resetOnNoMatch:t.prefillWhenReset!==!1},`${t.field}-prefillWhen`):null;if(t.show===0)return(0,o.jsxs)(r.Fragment,{children:[F,P,(0,o.jsx)(i.Form.Item,{name:d,hidden:!0,noStyle:!0,children:(0,o.jsx)(`input`,{type:`hidden`})})]},t.field);let I=!c.inline&&e.n(t).length>0,L=n=>I?e.s(t,x,t=>n(e.r(t,_(t.field)))):x;return Dt(t.showIf)||I?(0,o.jsxs)(r.Fragment,{children:[F,P,(0,o.jsx)(i.Form.Item,{shouldUpdate:!0,noStyle:!0,children:({getFieldValue:e})=>!Dt(t.showIf)||Et(t.showIf,e,_)?(0,o.jsx)(i.Col,{xs:24,md:L(e),style:N,className:c.inline?`v1-combine-cell`:void 0,children:M}):null})]},t.field):(0,o.jsxs)(r.Fragment,{children:[F,P,(0,o.jsx)(i.Col,{xs:24,md:x,style:N,className:c.inline?`v1-combine-cell`:void 0,children:M})]},t.field)},Pt=t=>{let r=typeof t.field==`string`&&t.field.includes(`.`)?t.field.split(`.`):[t.field],s=!!t.editablePermission&&!e.h(t.editablePermission,n),c=(0,o.jsx)(ys,{field:t,label:t.label,locked:s}),l=e.St(t),u=Array.isArray(t.subFields)&&t.subFields.length>0,d=u?t.subFields.map(e=>({...e,show:1,edit:1})):null,f=Math.max(0,Number(t.minRows??0)||0),p=t.maxRows!==void 0&&t.maxRows!==``&&Number(t.maxRows)>0?Number(t.maxRows):0,m=e.gt(t,Ko(b??ot??{},t));return(0,o.jsx)(i.Col,{xs:24,md:24,children:(0,o.jsx)(i.Form.Item,{label:c,required:as(t),colon:!1,className:`v1-combine-field`,children:(0,o.jsx)(i.Form.List,{name:r,initialValue:m,rules:[{validator:async(e,n=[])=>{if(as(t)&&!(u?n.some(e=>Ho(e)):n.some(e=>e!=null&&e!==``&&!(Array.isArray(e)&&e.length===0))))throw Error(`Mandatory Field`);if(f>0&&n.length<f)throw Error(`Keep at least ${f} ${u?`row`:`value`}${f>1?`s`:``}.`)}}],children:(e,{add:s,remove:c},{errors:m})=>(0,o.jsxs)(`div`,{className:`v1-addrow-wrapper`,children:[e.map(({key:s,name:p})=>(0,o.jsxs)(`div`,{className:`v1-addrow-item`,children:[(0,o.jsx)(i.Button,{type:`text`,danger:!0,icon:(0,o.jsx)(a.DeleteOutlined,{}),onClick:()=>c(p),disabled:e.length<=f,className:`v1-addrow-delete-btn`}),(0,o.jsx)(`div`,{className:`v1-addrow-fields`,children:u?(0,o.jsx)(i.Row,{gutter:[24,0],align:`top`,children:It(d,p,r[0],!1,t.field)}):(0,o.jsx)(i.Form.Item,{name:[p],noStyle:!0,valuePropName:t.type===`checkbox`&&!t.options?.length?`checked`:`value`,getValueFromEvent:t.type===`file`?e=>Array.isArray(e)?e:e?.fileList:void 0,rules:os(l,R,[...r,p],A),children:(0,o.jsx)(_s,{field:l,form:R,name:[...r,p],moduleName:n,scopeValues:{clientId:Ie},formDisabled:qe.busy})})})]},s)),(!p||e.length<p)&&(0,o.jsx)(i.Button,{type:`link`,icon:(0,o.jsx)(a.PlusOutlined,{}),onClick:()=>s(),className:`v1-addrow-add-btn`,children:t.addLabel??`Add ${t.label??`Value`}`}),(0,o.jsx)(i.Form.ErrorList,{errors:m})]})})})},t.field)},Ft=(t,r,s)=>{let c=typeof t.field==`string`&&t.field.includes(`.`)?t.field.split(`.`):[t.field],l=!!t.editablePermission&&!e.h(t.editablePermission,n),u=(0,o.jsx)(ys,{field:t,label:t.label,locked:l}),d=e.St(t),f=Array.isArray(t.subFields)&&t.subFields.length>0,p=f?t.subFields.map(e=>({...e,show:1,edit:1})):null,m=Math.max(0,Number(t.minRows??0)||0),h=t.maxRows!==void 0&&t.maxRows!==``&&Number(t.maxRows)>0?Number(t.maxRows):0,g=[r,...c],_=[...Array.isArray(s)?s:[s],r,...c],v=e.gt(t,void 0);return(0,o.jsx)(i.Col,{xs:24,md:f?24:t.col??24,children:(0,o.jsx)(i.Form.Item,{label:u,required:as(t),colon:!1,className:`v1-combine-field`,children:(0,o.jsx)(i.Form.List,{name:g,initialValue:v,rules:f?[{validator:async(e,n=[])=>{if(as(t)&&!n.some(e=>Ho(e)))throw Error(`Mandatory Field`);if(m>0&&n.length<m)throw Error(`Keep at least ${m} row${m>1?`s`:``}.`)}}]:[],children:(e,{add:r,remove:s},{errors:c})=>(0,o.jsxs)(`div`,{className:`v1-addrow-wrapper`,children:[e.map(({key:r,name:c})=>{let l=[..._,c];return(0,o.jsxs)(`div`,{className:`v1-addrow-item`,children:[(0,o.jsx)(i.Button,{type:`text`,danger:!0,icon:(0,o.jsx)(a.DeleteOutlined,{}),onClick:()=>s(c),disabled:e.length<=m,className:`v1-addrow-delete-btn`}),(0,o.jsx)(`div`,{className:`v1-addrow-fields`,children:f?(0,o.jsx)(i.Row,{gutter:[24,0],align:`top`,children:It(p,c,_,!1,t.field)}):(0,o.jsx)(i.Form.Item,{name:[c],noStyle:!0,valuePropName:t.type===`checkbox`&&!t.options?.length?`checked`:`value`,getValueFromEvent:t.type===`file`?e=>Array.isArray(e)?e:e?.fileList:void 0,rules:os(d,R,l,A),children:(0,o.jsx)(_s,{field:d,form:R,name:l,moduleName:n,scopeValues:{clientId:Ie},formDisabled:qe.busy})})})]},r)}),(!h||e.length<h)&&(0,o.jsx)(i.Button,{type:`link`,icon:(0,o.jsx)(a.PlusOutlined,{}),onClick:()=>r(),className:`v1-addrow-add-btn`,children:t.addLabel??`Add ${t.label??`Value`}`}),(0,o.jsx)(i.Form.ErrorList,{errors:c})]})})})},`${s}-${r}-${t.field}`)},It=(e,t,n,r=!1,a)=>{let s=new Set,c=[],l=new Set(e.map(e=>e.field).filter(Boolean)),u=e.filter(e=>e.show===void 0||Eo(e.show)||e.show===0&&!!e.prefillWhen?.length);return u.forEach(e=>{if(Eo(e.addRow)&&t===void 0){c.push(Pt(e));return}if(Eo(e.addRow)&&t!==void 0){c.push(Ft(e,t,n));return}let d=e.combineKey?.trim?.();if(!d){c.push(Mt(e,t,n,{hideLabel:r,groupNameForActions:a,rowFieldKeys:l}));return}let f=`${n??`root`}:${t??`root`}:${d}`;if(s.has(f))return;let p=u.filter(e=>e.combineKey===d);p.forEach(e=>s.add(`${n??`root`}:${t??`root`}:${e.combineKey}`));let m=p.find(e=>e.combineLabel)??e,h=n!==void 0&&t!==void 0?[...Array.isArray(n)?n:[n],t]:null,g=(0,o.jsx)(Mo,{form:R,field:m,siblingPrefix:h,combined:!0}),_=p.find(e=>e.combineToggleTarget)?.combineToggleTarget,v=p.find(e=>e.combineToggleLabel)?.combineToggleLabel??`Show range`,y=f,b=p.some(e=>Eo(e.combineWrap)),x=Number(p.find(e=>[12,24].includes(Number(e.combineSpan)))?.combineSpan),S=_?p.find(e=>At(e)===_):null,C=S?.field?.includes?.(`.`)?S.field.split(`.`):[S?.field].filter(Boolean),w=S?n!==void 0&&t!==void 0?[n,t,...C]:C.length>1?C:S.field:null,T=p.some(e=>as(e)),E=[12,24].includes(x)?x:p.length>=3?24:12,D=e=>h&&(!l||l.has(e))?h:null,O=p.some(e=>Dt(e.showIf)),k=e=>p.some(t=>!Dt(t.showIf)||Et(t.showIf,e,D)),A=(0,o.jsx)(i.Col,{xs:24,md:E,children:(0,o.jsx)(i.Form.Item,{label:g,required:T,colon:!1,className:`v1-combine-field`,children:(0,o.jsx)(i.Form.Item,{noStyle:!0,shouldUpdate:!0,children:({getFieldValue:e})=>{let r=w?!Jo(e(w)):!1,a=Ot[y]??r,s=_&&!a?p.filter(e=>At(e)!==_):p;return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(i.Row,{gutter:[8,0],align:`top`,wrap:b,className:`v1-combine-row${b?` v1-combine-row-wrap`:``}`,children:s.map(e=>Mt(T?{...e,req:1}:e,t,n,{inline:!0}))}),_&&(0,o.jsxs)(`div`,{className:`v1-combine-range`,children:[(0,o.jsx)(i.Switch,{size:`small`,checked:a,onChange:e=>{!e&&w&&(R.setFieldValue(w,void 0),R.validateFields([w]).catch(()=>{})),kt(t=>({...t,[y]:e}))}}),(0,o.jsx)(xo,{type:`secondary`,className:`v1-combine-toggle-label`,children:v})]})]})}})})},f);c.push(O?(0,o.jsx)(i.Form.Item,{shouldUpdate:!0,noStyle:!0,children:({getFieldValue:e})=>k(e)?A:null},f):A)}),c},Lt=(0,r.useMemo)(()=>{if(W.fields?.length)return W.fields;let e=W.rows[0];return e?Object.keys(e).filter(t=>!t.startsWith(`_`)&&typeof e[t]!=`object`).map(e=>({value:e,field:e,label:e.replace(/([A-Z])/g,` $1`).replace(/^./,e=>e.toUpperCase()),isVisible:!0})):[]},[W.fields,W.rows]),Rt=e=>!Array.isArray(e)||e.length===0?`card`:e.some(e=>[e?.sourceType,e?.profileSource,e?.selectedSource,e?.customFields?.sourceType,e?.customFields?.profileSource].some(e=>{if(e==null)return!1;let t=String(e).trim().toLowerCase();return t?![`all`,`internal`].includes(t):!1}))?`list`:`card`;(0,r.useMemo)(()=>Rt(W.rows),[W.rows]);let zt=(0,r.useMemo)(()=>{let e=go({rows:W.rows,selectedSource:pe});if(!e.length)return Lt;let t=new Set(e.map(e=>e.field));return[...Lt.filter(e=>e.cardRole!==`action`&&!t.has(e.value)),...e.map(e=>({value:e.field,field:e.field,label:e.label??`Action`,cardRole:`action`,isVisible:!0,tableHidden:!0,sorter:!1,render:(t,n)=>{if(!_o(e,n,pe))return null;let r=vo(e,n),a=_e[r]??{},s=!r||a.completed;return(0,o.jsx)(i.Button,{type:`primary`,size:`small`,loading:a.loading,disabled:s,onClick:()=>_t(e,n),children:a.completed?e.completedLabel:e.buttonLabel})}}))]},[_t,Lt,W.rows,pe,_e]),Bt=(0,r.useMemo)(()=>{if(!E)return W.actions;let e=t=>({...t,popupState:{...E,...t.popupState},...t.children?{children:t.children.map(e)}:{}});return(W.actions??[]).map(e)},[W.actions,E]),Vt=t=>{let n=t.name??t.id??``,r=e.ft(Ue,n),s=!!r&&r.leaderName!==n,c=r?X.find(e=>e.name===r.leaderName)??t:t,l=Math.max(0,Number(c.minRows??0)||0),u=Math.max(0,Number(c.maxRows??0)||0),d=r?r.memberNames:[n],f=()=>{d.forEach(n=>{let r=X.find(e=>e.name===n)??t;We.current[n]?.add(e.xt(r))})},p=e=>{d.forEach(t=>We.current[t]?.remove(e))};return t.addRow?(0,o.jsx)(i.Form.List,{name:n,initialValue:pt[n]??[],rules:s?[]:[{validator:async(e,n=[])=>{if(!(Eo(t.toggleEnabled)&&t.toggleField&&R.getFieldValue(t.toggleField))){if(l>0&&n.length<l)throw Error(`Keep at least ${l} row${l>1?`s`:``}.`);if(Eo(t.requireOne)&&n.some(e=>!Ho(e)))throw Error(`Fill at least one field in each added row.`)}}}],children:(e,{add:r,remove:d},{errors:m})=>(We.current[n]={add:r,remove:d},(0,o.jsxs)(`div`,{className:`v1-addrow-wrapper`,children:[(0,o.jsx)(`div`,{className:`v1-addrow-topbar`,children:s?(0,o.jsxs)(xo,{type:`secondary`,className:`v1-addrow-linked-hint`,children:[`Rows added via `,c.label??c.name]}):(!u||e.length<u)&&(0,o.jsx)(i.Button,{type:`link`,icon:(0,o.jsx)(a.PlusOutlined,{}),onClick:f,className:`v1-addrow-add-btn`,children:t.addLabel??`Add ${t.label??`Row`}`})}),Eo(t.sharedRowLabels)&&e.length>0&&(0,o.jsx)(i.Row,{gutter:[24,0],className:`v1-addrow-header`,children:t.fields.filter(e=>e.show===void 0||Eo(e.show)).map(e=>(0,o.jsx)(i.Col,{md:e.col??12,className:`v1-addrow-header-label`,children:e.label},At(e)))}),e.map(({key:r,name:s})=>(0,o.jsxs)(`div`,{className:`v1-addrow-item`,children:[(0,o.jsx)(i.Button,{type:`text`,danger:!0,icon:(0,o.jsx)(a.DeleteOutlined,{}),onClick:()=>p(s),disabled:e.length<=l,className:`v1-addrow-delete-btn`}),(0,o.jsx)(`div`,{className:`v1-addrow-fields`,children:(0,o.jsx)(i.Row,{gutter:[24,0],align:`top`,children:It(t.fields,s,n,Eo(t.sharedRowLabels),n)})})]},r)),(0,o.jsx)(i.Form.ErrorList,{errors:m})]}))}):(0,o.jsx)(i.Row,{gutter:[24,0],children:It(t.fields,void 0,void 0,!1,n)})},Ht=e=>X.filter(t=>t!==e&&t.mergeInto&&String(t.mergeInto)===String(e.name)),Ut=e=>!!(e.mergeInto&&X.some(t=>t!==e&&String(t.name)===String(e.mergeInto))),Wt=(e,t)=>{let n=e.name??e.id??String(t),r=Vt(e),s=Ht(e);return(0,o.jsx)(i.Card,{className:`v1-card v1-edit-card`,title:(0,o.jsx)(vs,{icon:wo[t%wo.length],title:A?oe||e.label:e.label??e.name??`Details`}),extra:(0,o.jsxs)(i.Space,{size:8,align:`center`,className:`v1-group-actions`,children:[(0,o.jsx)(bs,{group:e}),(0,o.jsx)(xs,{group:e}),(0,o.jsx)(i.Button,{type:`text`,size:`small`,icon:te[n]?(0,o.jsx)(a.DownOutlined,{}):(0,o.jsx)(a.UpOutlined,{}),onClick:e=>{e.stopPropagation(),mt(n)}})]}),children:(0,o.jsx)(i.Form.Item,{noStyle:!0,shouldUpdate:!0,children:({getFieldValue:t})=>{let i=Eo(e.toggleEnabled)&&e.toggleField&&!!t(e.toggleField);return(0,o.jsxs)(`div`,{style:{display:te[n]||i?`none`:`block`},children:[r,s.map(e=>{let t=(0,o.jsxs)(`div`,{className:`v1-merged-group`,children:[(0,o.jsx)(`div`,{className:`v1-merged-group-title`,children:e.label??e.name}),Vt(e)]},e.name);return e.showIf?.field?(0,o.jsx)(Ro,{form:R,showIf:e.showIf,render:()=>t},e.name):t})]})}})},n)};return(0,o.jsxs)(`main`,{children:[h.length>0&&(0,o.jsx)(e.t,{items:h}),(0,o.jsxs)(`div`,{className:`v1-edit-page`,children:[Ze&&!C&&!Y&&(0,o.jsx)(i.Card,{className:`v1-card v1-edit-card v1-client-gate-card`,children:(0,o.jsxs)(i.Space,{direction:`vertical`,size:12,style:{width:`100%`},children:[(0,o.jsx)(vs,{icon:(0,o.jsx)(a.UserOutlined,{}),title:`Select Client`}),Qe&&(0,o.jsx)(xo,{type:`secondary`,children:Qe}),(0,o.jsx)(i.Row,{gutter:[16,0],children:(0,o.jsxs)(i.Col,{xs:24,md:14,children:[(0,o.jsx)(i.Select,{showSearch:!0,allowClear:!0,placeholder:`Select client`,style:{width:`100%`},value:Ie||void 0,optionFilterProp:`label`,options:ye.map(e=>({value:e._id??e.id,label:e.clientName??e.name??e.clientRefrenceId??e._id})).filter(e=>e.value),onChange:et,dropdownRender:rt.footer?e=>(0,o.jsxs)(o.Fragment,{children:[e,rt.footer]}):void 0}),rt.modal]})})]})}),(0,o.jsx)(`div`,{className:`v1-page-inner`,children:(0,o.jsx)(i.Spin,{spinning:!dt&&!tt||qe.busy,description:qe.busy?`Running AI action…`:`Loading form fields...`,children:(0,o.jsxs)(i.Form,{form:R,layout:`vertical`,colon:!1,className:`v1-form`,disabled:qe.busy,requiredMark:(e,{required:t})=>(0,o.jsxs)(o.Fragment,{children:[e,t&&(0,o.jsx)(`span`,{className:`v1-required-mark`,children:` *`})]}),onFinish:St,onFinishFailed:t=>{V({}),e.l(t,R)},children:[dt&&X.filter(e=>!Ut(e)).map((e,t)=>(0,o.jsx)(Bo,{form:R,group:e,children:e.showIf?.field?(0,o.jsx)(Ro,{form:R,showIf:e.showIf,render:()=>Wt(e,t)}):Wt(e,t)},e.name??`grp-${t}`)),dt&&!Ne&&X.length===0&&(0,o.jsx)(i.Alert,{type:`info`,showIcon:!0,message:A?`No search configuration found.`:`No form fields are configured.`}),dt&&A&&(0,o.jsx)(`div`,{className:`v1-search-form-actions`,children:(0,o.jsxs)(i.Space,{size:12,children:[(0,o.jsx)(i.Button,{onClick:ht,disabled:!X.length,children:`Reset`}),(0,o.jsx)(i.Button,{onClick:()=>M(v),children:`Back`}),(0,o.jsx)(i.Button,{type:`primary`,htmlType:`submit`,disabled:ce||!X.length||Xe,loading:ce,children:j})]})})]})})}),!A&&(0,o.jsxs)(`div`,{className:D?`v1-footer v1-footer--embedded`:`v1-footer`,children:[(0,o.jsx)(xo,{type:`secondary`,children:`All Unsaved Changes will be lost if you cancel and reload.`}),(0,o.jsxs)(i.Space,{size:12,children:[(0,o.jsx)(i.Button,{onClick:()=>D&&k?k():M(v),children:`Cancel`}),Ke.map((e,t)=>(0,o.jsx)(No,{form:R,groups:X,action:e,disabled:!dt||ce||Re>0||!X.length,loading:ce,onFire:()=>{Ge.current=e.afterSubmit??{mode:`stay`},e.setValuesBeforeSubmit&&R.setFieldsValue(e.setValuesBeforeSubmit),R.submit()}},`${e.label??`action`}-${t}`)),(0,o.jsx)(Po,{form:R,groups:X,onClick:()=>{Ge.current=null,R.submit()},disabled:!dt||ce||Re>0||!X.length,loading:ce,children:j})]})]}),A&&W.searched&&(0,o.jsx)(Xa,{moduleName:n,breadcrumbItems:[],dataSource:W.rows,fields:zt,total:W.total,loading:W.loading,current:K.current,pageSize:K.pageSize,showViewToggle:!0,activeView:Je,onViewChange:Ye,onPageChange:yt,onPageSizeChange:bt,showSearch:!1,tabs:he,selectedSource:pe,onTabChange:vt,actions:Bt,actionRules:W.actionRules})]})]})}function Cs({className:e=``,variant:t=`default`,showIcon:n=!0,...r}){return(0,o.jsx)(i.Alert,{className:`app-alert app-alert--${t} ${e}`.trim(),showIcon:n,...r})}function ws(e){let t=e=>new Date(e.getFullYear(),e.getMonth(),e.getDate()),n=Math.round((t(new Date)-t(e))/864e5);return n<=0?`Today`:n===1?`1 Day ago`:`${n} Days ago`}function Ts(e=[],t){let n=new Map;return e.forEach(e=>{let r=new Date(t(e));if(Number.isNaN(r.getTime()))return;let i=r.toDateString();n.has(i)||n.set(i,{date:r,items:[]}),n.get(i).items.push(e)}),[...n.values()].sort((e,t)=>t.date-e.date)}function Es(e){return new Date(e).toLocaleDateString(`en-US`,{year:`numeric`,month:`long`,day:`numeric`})}function Ds(e){return new Date(e).toLocaleDateString(`en-US`,{year:`numeric`,month:`short`,day:`numeric`})}function Os(e){return new Date(e).toLocaleTimeString(`en-US`,{hour:`numeric`,minute:`numeric`,hour12:!0})}function ks({row:e,last:t,getTime:n,getAuthor:r,getMeta:i,renderBody:a}){let s=n(e),c=r?.(e),l=i?.(e);return(0,o.jsxs)(`div`,{className:`znx-an-item`,children:[(0,o.jsxs)(`div`,{className:`znx-an-rail`,children:[l?(0,o.jsx)(`span`,{className:`znx-an-icon-dot znx-an-icon-dot--${l.tone}`,title:l.label,children:l.icon}):(0,o.jsx)(`span`,{className:`znx-an-dot`}),!t&&(0,o.jsx)(`span`,{className:`znx-an-line`})]}),(0,o.jsxs)(`div`,{className:`znx-an-content`,children:[a(e),(0,o.jsxs)(`div`,{className:`znx-an-meta`,title:`${Es(s)} at ${Os(s)}`,children:[c&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(`span`,{className:`znx-an-author`,children:c}),(0,o.jsx)(`span`,{className:`znx-an-sep`,"aria-hidden":`true`})]}),(0,o.jsx)(`span`,{className:`znx-an-time`,children:Os(s)}),(0,o.jsx)(`span`,{className:`znx-an-sep`,"aria-hidden":`true`}),(0,o.jsx)(`span`,{className:`znx-an-date`,children:Ds(s)})]})]})]})}function As({rows:e=[],getTime:t,getKey:n,getAuthor:r,getMeta:a,renderBody:s,emptyText:c=`Nothing here yet.`,grouped:l=!0}){if(!l)return e.length?(0,o.jsx)(`div`,{className:`znx-an-flat`,children:e.map((i,c)=>(0,o.jsx)(ks,{row:i,last:c===e.length-1,getTime:t,getAuthor:r,getMeta:a,renderBody:s},n(i,c)))}):(0,o.jsx)(`div`,{className:`znx-an-empty`,children:(0,o.jsx)(i.Empty,{image:i.Empty.PRESENTED_IMAGE_SIMPLE,description:c})});let u=Ts(e,t);return u.length?(0,o.jsx)(i.Collapse,{className:`znx-an-collapse`,defaultActiveKey:[`0`],ghost:!0,items:u.map((e,i)=>({key:String(i),label:(0,o.jsxs)(`span`,{className:`znx-an-group`,children:[(0,o.jsx)(`span`,{className:`znx-an-group-day`,children:ws(e.date)}),(0,o.jsx)(`span`,{className:`znx-an-group-date`,children:Ds(e.date)}),(0,o.jsx)(`span`,{className:`znx-an-group-count`,children:e.items.length})]}),children:e.items.map((i,c)=>(0,o.jsx)(ks,{row:i,last:c===e.items.length-1,getTime:t,getAuthor:r,getMeta:a,renderBody:s},n(i,c)))}))}):(0,o.jsx)(`div`,{className:`znx-an-empty`,children:(0,o.jsx)(i.Empty,{image:i.Empty.PRESENTED_IMAGE_SIMPLE,description:c})})}var js={add:`created`,create:`created`,created:`created`,update:`updated`,updated:`updated`,edit:`updated`,edited:`updated`,update_log:`updated`,update_proof:`updated`,notes:`note`,note:`note`,comment:`note`,assign:`assigned`,assigned:`assigned`,assignment:`assigned`,reassign:`assigned`,reassigned:`assigned`,submit:`submitted`,submitted:`submitted`,submission:`submitted`,"internal submission":`submitted`,send_for_approval:`sendForApproval`,"send for approval":`sendForApproval`,sendforapproval:`sendForApproval`,resubmit:`resubmitted`,resubmitted:`resubmitted`,resent_for_approval:`resent`,reject:`rejected`,rejected:`rejected`,reject_days:`rejected`,declined:`rejected`,decline:`rejected`,approve:`approved`,approved:`approved`,approve_days:`approved`,reopen:`reopened`,reopened:`reopened`,delete:`deleted`,deleted:`deleted`,remove:`deleted`,removed:`deleted`,status:`status`,"status change":`status`,statuschange:`status`,document:`document`,documents:`document`,upload:`document`,uploaded:`document`,attachment:`document`},Ms={created:{tone:`success`,icon:(0,o.jsx)(a.PlusOutlined,{}),label:`Created`},updated:{tone:`info`,icon:(0,o.jsx)(a.EditOutlined,{}),label:`Updated`},note:{tone:`neutral`,icon:(0,o.jsx)(a.MessageOutlined,{}),label:`Note`},assigned:{tone:`purple`,icon:(0,o.jsx)(a.UserSwitchOutlined,{}),label:`Assigned`},submitted:{tone:`info`,icon:(0,o.jsx)(a.SendOutlined,{}),label:`Submitted`},sendForApproval:{tone:`info`,icon:(0,o.jsx)(a.SendOutlined,{}),label:`Send for Approval`},resubmitted:{tone:`purple`,icon:(0,o.jsx)(a.RedoOutlined,{}),label:`Re-submitted`},resent:{tone:`purple`,icon:(0,o.jsx)(a.RedoOutlined,{}),label:`Resend for Approval`},approved:{tone:`success`,icon:(0,o.jsx)(a.CheckOutlined,{}),label:`Approved`},rejected:{tone:`danger`,icon:(0,o.jsx)(a.CloseOutlined,{}),label:`Rejected`},reopened:{tone:`neutral`,icon:(0,o.jsx)(a.UndoOutlined,{}),label:`Reopened`},deleted:{tone:`danger`,icon:(0,o.jsx)(a.DeleteOutlined,{}),label:`Deleted`},status:{tone:`warning`,icon:(0,o.jsx)(a.SwapOutlined,{}),label:`Status changed`},document:{tone:`info`,icon:(0,o.jsx)(a.PaperClipOutlined,{}),label:`Document`},scheduled:{tone:`warning`,icon:(0,o.jsx)(a.ClockCircleOutlined,{}),label:`Scheduled`},default:{tone:`neutral`,icon:(0,o.jsx)(a.HistoryOutlined,{}),label:`Activity`}},Ns=[[/\b(?:submitted|sent|send)\b[\s\S]*\b(?:cfo|finance)\b[\s\S]*\bfor approval\b/i,`sendForApproval`],[/\bsend(?:ing)?\s+for\s+approval\b/i,`sendForApproval`],[/\breject/i,`rejected`],[/\bresent\b/i,`resent`],[/\bresubmit/i,`resubmitted`],[/\bapprov/i,`approved`],[/\bsubmit/i,`submitted`],[/\breassign|\bassign/i,`assigned`],[/\bdelete|\bremov/i,`deleted`],[/\breopen/i,`reopened`],[/\bstatus/i,`status`],[/\bdocument|\battach|\bupload/i,`document`],[/\bnote/i,`note`],[/\bupdat|\bchang|\bedit/i,`updated`],[/\bcreat|\badded\b/i,`created`]];function Ps(e,t){let n=String(e||``).trim().toLowerCase();if(n&&js[n])return js[n];let r=String(t||``);for(let[e,t]of Ns)if(e.test(r))return t;return`default`}function Fs(e={},t=``){return Ms[Ps(e.activityType??e.activity_type??e.type??e.action,t||e.activityComments)]??Ms.default}function Is(e=``){if(typeof document>`u`)return String(e);let t=document.createElement(`div`);return t.innerHTML=e,t.textContent||t.innerText||``}var Ls=[{id:`a1`,activityTime:new Date().toISOString(),activityComments:`Job <b>created</b> and assigned to the recruitment team.`},{id:`a2`,activityTime:new Date(Date.now()-2*864e5).toISOString(),activityComments:`Status changed to <b>Active</b>.`}];function Rs({activity:e,grouped:t=!0}){return(0,o.jsx)(`div`,{className:`znx-an-body`,children:(0,o.jsx)(`div`,{className:`znx-an-scroll`,children:(0,o.jsx)(As,{rows:(0,r.useMemo)(()=>Array.isArray(e)?e:Ls,[e]),grouped:t,getTime:e=>e.activityTime??e.createdAt,getKey:(e,t)=>e.id??e._id??t,emptyText:`No activity here.`,getMeta:e=>Fs(e,e.activityComments),renderBody:e=>{let t=Fs(e,e.activityComments);return(0,o.jsxs)(`div`,{className:`znx-an-comment`,children:[(0,o.jsx)(`span`,{className:`znx-an-tag znx-an-tag--${t.tone}`,children:t.label}),Is(e.activityComments)]})}})})})}function zs(e){let t=e?.user_name??e?.userName??e?.username,n=`${e?.first_name??e?.firstName??``} ${e?.last_name??e?.lastName??``}`.trim(),r=e?.email??``,i=t??n.replace(/\s+/g,``)??r??String(e?.user_id??e?.id??``),a=[t,n,r].filter(Boolean).join(` - `)||String(i);return{value:String(i),label:a}}var Bs=[{id:`n1`,createdAt:new Date().toISOString(),author:`You`,notes:`Shortlisted 3 candidates, sharing profiles with @Hiring Manager today.`}];function Vs(e=``){return e.split(/(\s+)/).map((e,t)=>e.startsWith(`@`)&&e.length>1?(0,o.jsx)(`span`,{className:`znx-an-mention`,children:e},t):(0,o.jsx)(`span`,{children:e},t))}function Hs({notes:e,users:t=[],onAddNote:n}){let[a]=i.Form.useForm(),[s,c]=(0,r.useState)(()=>Array.isArray(e)?e:Bs),[l,u]=(0,r.useState)(!1),[d,f]=(0,r.useState)(null),[p,m]=(0,r.useState)(!1),h=(0,r.useRef)(null),g=Array.isArray(e)?e:s,_=(0,r.useMemo)(()=>t.map(e=>({value:e.display??e.value,label:e.display??e.label})),[t]),v=d??_;return(0,o.jsxs)(`div`,{className:`znx-an-body`,children:[(0,o.jsxs)(i.Form,{form:a,onFinish:async({note:e})=>{let t=(e??``).trim();if(t){u(!0);try{n?await n(t):c(e=>[{id:`local-${Date.now()}`,createdAt:new Date().toISOString(),author:`You`,notes:t},...e]),a.resetFields(),i.message.success(`Notes added successfully`)}catch{i.message.error(`Something went wrong, please try again.`)}finally{u(!1)}}},className:`znx-an-composer`,children:[(0,o.jsx)(i.Form.Item,{name:`note`,rules:[{required:!0,message:`Notes is required`}],style:{marginBottom:0},children:(0,o.jsx)(i.Mentions,{rows:3,prefix:`@`,options:v,loading:p,filterOption:!1,onSearch:e=>{clearTimeout(h.current),m(!0),h.current=setTimeout(()=>{_n(e).then(e=>{f((Array.isArray(e)?e:e?.items??e?.list??e?.data??[]).map(zs))}).catch(()=>f([])).finally(()=>m(!1))},300)},placeholder:`Add your notes on the job, use '@' to mention`})}),(0,o.jsx)(`div`,{className:`znx-an-composer-actions`,children:(0,o.jsx)(i.Button,{type:`primary`,size:`small`,htmlType:`submit`,loading:l,children:`Post`})})]}),(0,o.jsx)(`div`,{className:`znx-an-scroll`,children:(0,o.jsx)(As,{rows:g,getTime:e=>e.createdAt??e.activityTime,getKey:(e,t)=>e.id??e._id??t,getAuthor:e=>e.author,emptyText:`No notes here.`,renderBody:e=>(0,o.jsx)(`div`,{className:`znx-an-comment`,children:Vs(e.notes)})})})]})}function Us({moduleName:t,id:n,users:a=[],showActivity:s=!0,showNotes:c=!0,defaultActiveKey:l=`activity`,refreshKey:u=0,className:d=``}){let[f,p]=(0,r.useState)(null),[m,h]=(0,r.useState)(null);(0,r.useEffect)(()=>{if(!t||!n)return;let r=!1;async function i(){let[i,a]=await Promise.all([s?e.Rt(t,n).catch(()=>[]):Promise.resolve(null),c?e.Vt(n).catch(()=>[]):Promise.resolve(null)]);r||(p(i),h(a))}return i(),()=>{r=!0}},[t,n,s,c,u]);let g=(0,r.useCallback)(async r=>{if(!n)return;await e.Lt({relatedId:n,notes:r,notesFor:t});let[i,a]=await Promise.all([e.Vt(n).catch(()=>[]),s?e.Rt(t,n).catch(()=>[]):Promise.resolve(f)]);h(i),s&&p(a)},[n,t,s,f]),_=[s&&{key:`activity`,title:`Activity`,count:Array.isArray(f)?f.length:void 0,children:(0,o.jsx)(Rs,{activity:f})},c&&{key:`notes`,title:`Notes`,count:Array.isArray(m)?m.length:void 0,children:(0,o.jsx)(Hs,{notes:m,users:a,onAddNote:n?g:void 0})}].filter(Boolean),[v,y]=(0,r.useState)(_.some(e=>e.key===l)?l:_[0]?.key);return(0,o.jsx)(i.Card,{className:[`znx-an-card`,d].filter(Boolean).join(` `),styles:{body:{padding:0}},children:(0,o.jsx)(j,{className:`znx-an-tabs`,tabs:_,activeKey:v,onChange:y})})}Us.propTypes={moduleName:l.default.string,id:l.default.string,users:l.default.array,showActivity:l.default.bool,showNotes:l.default.bool,defaultActiveKey:l.default.string,refreshKey:l.default.oneOfType([l.default.number,l.default.string]),className:l.default.string};function Ws({assignees:e,extraAssignees:t}){return(0,o.jsxs)(i.Avatar.Group,{maxCount:3,size:`small`,children:[e.map((e,t)=>(0,o.jsx)(i.Tooltip,{title:e.initials,children:(0,o.jsx)(i.Avatar,{size:`small`,style:{backgroundColor:e.color,fontSize:10,fontWeight:600,cursor:`default`},children:e.initials})},t)),t>0&&(0,o.jsxs)(i.Avatar,{size:`small`,style:{backgroundColor:`#d9d9d9`,color:`#555`,fontSize:10},children:[`+`,t]})]})}var Gs=[`.xlsx`,`.xls`,`.csv`],Ks=10,qs={".xlsx":[`application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`],".xls":[`application/vnd.ms-excel`],".csv":[`text/csv`,`application/csv`,`text/plain`]},Js=[{test:(e,t)=>e===`.pdf`||t===`application/pdf`,label:`PDF`},{test:(e,t)=>t.startsWith(`image/`)||[`.jpg`,`.jpeg`,`.png`,`.gif`,`.webp`,`.heic`,`.bmp`,`.svg`].includes(e),label:`Image`},{test:e=>[`.doc`,`.docx`].includes(e),label:`Word document`},{test:e=>[`.zip`,`.rar`,`.7z`].includes(e),label:`Archive`},{test:e=>[`.txt`,`.json`,`.xml`].includes(e),label:`Plain text`}];function Ys(e=``){let t=e.lastIndexOf(`.`);return t===-1?``:e.slice(t).toLowerCase()}function Xs(e=0){return e<1024?`${e} B`:e<1024*1024?`${Math.ceil(e/1024)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}function Zs(e=Gs){let t=e.map(e=>e.toLowerCase());return t.concat(t.flatMap(e=>qs[e]??[])).join(`,`)}function Qs(e,{accept:t=Gs,maxSizeMB:n=10}={}){if(!e)return`No file selected.`;let r=Ys(e.name),i=(e.type||``).toLowerCase(),a=t.map(e=>e.toLowerCase()),o=a.join(`, `);if(!r)return`"${e.name}" has no file extension. Only ${o} files are allowed.`;if(!a.includes(r)){let e=Js.find(e=>e.test(r,i));return e?`${e.label} files are not supported. Only ${o} files are allowed.`:`"${r}" files are not supported. Only ${o} files are allowed.`}let s=qs[r];return i&&s&&!s.includes(i)?`"${e.name}" is not a real ${r} file (detected ${i}). Re-save it from Excel and try again.`:e.size===0?`"${e.name}" is empty. Fill in at least one row before uploading.`:e.size>n*1024*1024?`File is ${Xs(e.size)}. The limit is ${n} MB.`:null}function $s(){return(0,o.jsxs)(`svg`,{className:`bulk-upload-art`,viewBox:`0 0 72 72`,focusable:`false`,"aria-hidden":`true`,children:[(0,o.jsx)(`rect`,{x:`12`,y:`6`,width:`36`,height:`48`,rx:`5`,className:`bulk-upload-art__sheet`}),(0,o.jsx)(`path`,{d:`M20 20h20M20 28h20M20 36h12`,className:`bulk-upload-art__lines`}),(0,o.jsx)(`circle`,{cx:`50`,cy:`48`,r:`15`,className:`bulk-upload-art__badge`}),(0,o.jsx)(`path`,{d:`M50 55V41m0 0-6 6m6-6 6 6`,className:`bulk-upload-art__arrow`})]})}function ec({title:t,description:n,breadcrumbItems:c,backTo:l,backLabel:u=`Back`,templateLabel:d=`Download Sample Template`,templateTitle:f=`Sample template`,templateHint:p=`Pre-filled with the exact column names the importer expects. Do not rename or reorder the columns.`,instructions:m=[],accept:h=Gs,maxSizeMB:g=10,onDownloadTemplate:_,onUpload:v,renderResult:y,extraSidebar:b}){let x=(0,r.useRef)(null),[S,C]=(0,r.useState)(!1),[w,T]=(0,r.useState)(!1),[E,D]=(0,r.useState)(!1),[O,k]=(0,r.useState)(null),[A,j]=(0,r.useState)(null),[M,N]=(0,r.useState)(null),[P,F]=(0,r.useState)(0),I=(0,r.useMemo)(()=>h.map(e=>e.toLowerCase()),[h]),L=(0,r.useMemo)(()=>Zs(I),[I]),R=(0,r.useCallback)(()=>{k(null),j(null),N(null),C(!1),F(e=>e+1)},[]),z=(0,r.useCallback)(async()=>{if(_){T(!0);try{await _(),i.message.success(`Sample template downloaded.`)}catch(e){i.message.error(e?.message||`Could not download the template.`)}finally{T(!1)}}},[_]),B=(0,r.useCallback)(async e=>{if(!e||E)return;F(e=>e+1);let t=Qs(e,{accept:I,maxSizeMB:g});if(t){k(null),N(null),j(t);return}j(null),N(null),k({name:e.name,size:e.size}),D(!0);try{N(await v(e))}catch(e){j(e?.message||`Upload failed. Please try again.`)}finally{D(!1)}},[I,g,v,E]),ee=()=>{E||x.current?.click()},te=[`bulk-upload-dropzone`,S?`is-dragging`:``,E?`is-busy`:``,A?`is-error`:``,M&&!A?`is-done`:``].filter(Boolean).join(` `);return(0,o.jsxs)(`div`,{className:`bulk-upload-panel`,children:[c?.length?(0,o.jsx)(`div`,{className:`bulk-upload-breadcrumb`,children:(0,o.jsx)(e.t,{items:c})}):null,(0,o.jsxs)(`div`,{className:`bulk-upload-frame`,children:[(0,o.jsxs)(`header`,{className:`bulk-upload-header`,children:[(0,o.jsx)(`div`,{className:`bulk-upload-header__icon`,"aria-hidden":`true`,children:(0,o.jsx)(a.FileExcelOutlined,{})}),(0,o.jsxs)(`div`,{className:`bulk-upload-header__text`,children:[(0,o.jsx)(`h1`,{className:`bulk-upload-header__title`,children:t}),n?(0,o.jsx)(`p`,{className:`bulk-upload-header__desc`,children:n}):null]}),l?(0,o.jsx)(s.Link,{className:`bulk-upload-header__back`,to:l,children:(0,o.jsx)(i.Button,{type:`text`,icon:(0,o.jsx)(a.ArrowLeftOutlined,{}),children:u})}):null]}),(0,o.jsxs)(`div`,{className:`bulk-upload-grid`,children:[(0,o.jsxs)(`section`,{className:`bulk-upload-card bulk-upload-card--drop`,children:[(0,o.jsxs)(`div`,{className:`bulk-upload-card__head`,children:[(0,o.jsx)(`span`,{className:`bulk-upload-step`,children:`Step 2`}),(0,o.jsx)(`h2`,{className:`bulk-upload-card__title`,children:`Upload the filled file`})]}),(0,o.jsxs)(`div`,{role:`button`,tabIndex:E?-1:0,"aria-disabled":E,"aria-label":`Upload the filled file — click to browse, or drop a file here`,className:te,onClick:ee,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),ee())},onDragOver:e=>{e.preventDefault(),E||C(!0)},onDragLeave:()=>C(!1),onDrop:e=>{e.preventDefault(),C(!1),B(e.dataTransfer.files?.[0])},children:[(0,o.jsx)($s,{}),(0,o.jsx)(`p`,{className:`bulk-upload-dropzone__title`,children:S?`Drop the file to start uploading`:`Drag & drop your file here`}),(0,o.jsxs)(`p`,{className:`bulk-upload-dropzone__sub`,children:[`or `,(0,o.jsx)(`span`,{className:`bulk-upload-dropzone__link`,children:`browse from your computer`})]}),(0,o.jsxs)(`div`,{className:`bulk-upload-chips`,children:[I.map(e=>(0,o.jsx)(i.Tag,{className:`bulk-upload-chip bulk-upload-chip--ok`,children:e},e)),(0,o.jsx)(i.Tooltip,{title:`These file types are rejected before upload`,children:(0,o.jsx)(i.Tag,{className:`bulk-upload-chip bulk-upload-chip--no`,children:`.pdf .jpg .png not allowed`})})]}),(0,o.jsxs)(`p`,{className:`bulk-upload-dropzone__limit`,children:[`Maximum size `,g,` MB`]})]}),(0,o.jsx)(`input`,{ref:x,hidden:!0,type:`file`,accept:L,onChange:e=>B(e.target.files?.[0])},P),O?(0,o.jsxs)(`div`,{className:`bulk-upload-file ${A?`is-error`:``}`,children:[(0,o.jsx)(`span`,{className:`bulk-upload-file__icon`,children:E?(0,o.jsx)(a.FileExcelOutlined,{}):A?(0,o.jsx)(a.CloseCircleFilled,{}):(0,o.jsx)(a.CheckCircleFilled,{})}),(0,o.jsxs)(`span`,{className:`bulk-upload-file__meta`,children:[(0,o.jsx)(`span`,{className:`bulk-upload-file__name`,title:O.name,children:O.name}),(0,o.jsxs)(`span`,{className:`bulk-upload-file__size`,children:[Xs(O.size),E?` · uploading…`:A?` · failed`:` · processed`]})]}),E?null:(0,o.jsx)(i.Button,{type:`text`,size:`small`,icon:M?(0,o.jsx)(a.ReloadOutlined,{}):(0,o.jsx)(a.DeleteOutlined,{}),onClick:R,children:M?`Upload another`:`Remove`})]}):null,E?(0,o.jsx)(i.Progress,{percent:99,status:`active`,showInfo:!1,size:`small`,className:`bulk-upload-progress`}):null,A?(0,o.jsx)(i.Alert,{type:`error`,showIcon:!0,className:`bulk-upload-alert`,title:`File not accepted`,description:A}):null]}),(0,o.jsxs)(`aside`,{className:`bulk-upload-side`,children:[(0,o.jsxs)(`section`,{className:`bulk-upload-card bulk-upload-card--template`,children:[(0,o.jsxs)(`div`,{className:`bulk-upload-card__head`,children:[(0,o.jsx)(`span`,{className:`bulk-upload-step`,children:`Step 1`}),(0,o.jsx)(`h2`,{className:`bulk-upload-card__title`,children:f})]}),(0,o.jsx)(`p`,{className:`bulk-upload-side__hint`,children:p}),(0,o.jsx)(i.Button,{block:!0,icon:(0,o.jsx)(a.DownloadOutlined,{}),loading:w,onClick:z,className:`bulk-upload-template-btn`,children:d})]}),m.length?(0,o.jsxs)(`section`,{className:`bulk-upload-card bulk-upload-card--rules`,children:[(0,o.jsx)(`h2`,{className:`bulk-upload-card__title`,children:`Before you upload`}),(0,o.jsx)(`ul`,{className:`bulk-upload-rules`,children:m.map(e=>(0,o.jsx)(`li`,{children:e},e))})]}):null,b]})]}),M&&y?(0,o.jsx)(`div`,{className:`bulk-upload-result`,children:y(M,{reset:R})}):null]})]})}var tc=e.Nr({getJobById:()=>lc,getJobDetailView:()=>nc,updateJobDescription:()=>uc});async function nc(e){let n=await t.i(),r=new URLSearchParams({jobId:String(e)}),i=await fetch(`${t.S}/jobs?${r}`,{method:`GET`,headers:{"Content-Type":`application/json`,Authorization:`Bearer ${n}`}});if(!i.ok)throw Error(`API ${i.status}: ${i.statusText}`);let a=await i.json();return a.data??a}var rc={email:`zinnext@realtekconsulting.net`,user_pwd:`Admin@123*`},ic=null;async function ac(){return ic||(ic=fetch(`${t.b}/login`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(rc)}).then(async e=>{if(!e.ok)throw Error(`Login failed: ${e.status}`);let t=await e.json(),n=t.token??t.access_token??t.data?.token??t.data?.access_token;if(!n)throw Error(`No token in login response`);return localStorage.setItem(`authToken`,n),n}).finally(()=>{ic=null}),ic)}async function oc(){return(t.l()??localStorage.getItem(`authToken`))||ac()}async function sc(e){let n=await oc(),r=await fetch(`${t.b}${e}`,{headers:{"Content-Type":`application/json`,Authorization:`Bearer ${n}`}});if(r.status===401&&(localStorage.removeItem(`authToken`),n=await ac(),r=await fetch(`${t.b}${e}`,{headers:{"Content-Type":`application/json`,Authorization:`Bearer ${n}`}})),!r.ok)throw Error(`API ${r.status}: ${r.statusText}`);let i=await r.json();return i.data??i}async function cc(e,n){let r=await oc(),i=await fetch(`${t.b}${e}`,{method:`PUT`,headers:{"Content-Type":`application/json`,Authorization:`Bearer ${r}`},body:JSON.stringify(n)});if(i.status===401&&(localStorage.removeItem(`authToken`),r=await ac(),i=await fetch(`${t.b}${e}`,{method:`PUT`,headers:{"Content-Type":`application/json`,Authorization:`Bearer ${r}`},body:JSON.stringify(n)})),!i.ok)throw Error(`API ${i.status}: ${i.statusText}`);return i.json()}async function lc(e){return sc(`/jobs/${e}`)}async function uc(e,t){return cc(`/jobs/${e}`,{rawDescription:t})}var{Text:dc}=i.Typography,fc=2;function pc({jobId:e,sections:t=[],meta:n=[],rawDescription:s=``,onSaved:c}){let[l,u]=(0,r.useState)(!1),[d,f]=(0,r.useState)(!1),[p,m]=(0,r.useState)(``),[h,g]=(0,r.useState)(!1),_=[...t].sort((e,t)=>(e.displayOrder??0)-(t.displayOrder??0)),v=l?_:_.slice(0,fc),y=_.length>fc;function b(){m(s),f(!0)}function x(){f(!1),m(``)}async function S(){if(!p.trim()){i.message.warning(`Please enter a job description`);return}g(!0);try{await uc(e,p.trim());let t=await lc(e);c?.(t),f(!1),m(``),i.message.success(`Description updated successfully`)}catch{i.message.error(`Failed to update description`)}finally{g(!1)}}return d?(0,o.jsxs)(i.Space,{direction:`vertical`,style:{width:`100%`},size:8,children:[(0,o.jsx)(i.Input.TextArea,{rows:10,value:p,onChange:e=>m(e.target.value),placeholder:`Paste raw job description here...`}),(0,o.jsxs)(i.Space,{children:[(0,o.jsx)(i.Button,{type:`primary`,loading:h,onClick:S,children:`Save & Parse`}),(0,o.jsx)(i.Button,{onClick:x,children:`Cancel`})]})]}):(0,o.jsxs)(`div`,{className:`desc-block`,children:[(0,o.jsx)(`div`,{className:`desc-block-toolbar`,children:(0,o.jsx)(a.EditOutlined,{className:`desc-edit-icon`,onClick:b})}),!t.length&&!n.length?(0,o.jsx)(dc,{type:`secondary`,children:`No description available.`}):(0,o.jsxs)(`div`,{className:`jdv-ats-desc`,children:[n.length>0&&(0,o.jsx)(`div`,{className:`jdv-ats-meta-grid`,children:n.map(({fieldKey:e,fieldLabel:t,value:n})=>(0,o.jsxs)(`div`,{className:`jdv-ats-meta-row`,children:[(0,o.jsx)(`span`,{className:`jdv-ats-meta-key`,children:t}),(0,o.jsx)(`span`,{className:`jdv-ats-meta-val`,children:n})]},e))}),(0,o.jsx)(`div`,{className:`jdv-ats-sections`,children:v.map(({sectionKey:e,sectionTitle:t,renderType:n,content:r=[]})=>n===`education`?(0,o.jsxs)(`div`,{className:`education-block`,children:[(0,o.jsxs)(`div`,{className:`education-header`,children:[(0,o.jsx)(`span`,{children:`🎓`}),(0,o.jsx)(`span`,{children:t})]}),(0,o.jsx)(`ul`,{className:`education-list`,children:r.map((e,t)=>(0,o.jsx)(`li`,{className:`education-list-item`,children:e},t))})]},e):(0,o.jsxs)(`div`,{className:`jdv-ats-section`,children:[(0,o.jsx)(`div`,{className:`jdv-ats-section-hd`,children:(0,o.jsx)(`span`,{children:t})}),n===`chips`?(0,o.jsx)(i.Space,{size:[6,6],wrap:!0,style:{marginTop:8},children:r.map((e,t)=>(0,o.jsx)(i.Tag,{className:`jdv-skill-tag`,children:e},t))}):(0,o.jsx)(`ul`,{className:`jdv-ats-bullets`,children:r.map((e,t)=>(0,o.jsx)(`li`,{className:`jdv-ats-bullet-item`,children:e},t))})]},e))}),y&&(0,o.jsx)(`span`,{className:`jdv-desc-toggle`,onClick:()=>u(e=>!e),children:l?`Show less`:`Show more (${t.length-fc} more sections)`})]})]})}function mc(){return Number(localStorage.getItem(`userId`))||0}function hc(e,{id:t,moduleName:n,record:i}={}){let a=(0,r.useMemo)(()=>Array.isArray(e)?e:[],[e]),o=(0,r.useMemo)(()=>a.filter(e=>typeof e?.visibleWhen==`function`),[a]),[s,c]=(0,r.useState)({});return(0,r.useEffect)(()=>{if(!o.length)return;let e=!1,r={id:t,moduleName:n,record:i,currentUserId:mc()};return o.forEach(n=>{let i=`${t}:${n.key}`;Promise.resolve().then(()=>n.visibleWhen(r)).then(t=>{e||c(e=>({...e,[i]:t!==!1}))}).catch(()=>{e||c(e=>({...e,[i]:!0}))})}),()=>{e=!0}},[o,t,n,i]),(0,r.useMemo)(()=>a.filter(e=>typeof e?.visibleWhen==`function`?s[`${t}:${e.key}`]===!0:!0),[a,s,t])}var gc=[{field:`baId`,label:`BA`,icon:`idcard`},{field:`clientName`,icon:`bank`,tooltip:`Client`},{field:`employerName`,icon:`team`,badgeField:`engagementType`,tooltip:`Employer`},{field:`projectName`,icon:`project`,tooltip:`Project`},{field:`batchPriority`,icon:`idcard`,tooltip:`Priority`},{field:`paymentTermsLabel`,icon:`cycle`,tooltip:`Payment Terms`},{field:`paymentDeadlineLabel`,icon:`period`,tooltip:`Payment Deadline`},{field:`batchName`,icon:`project`,tooltip:`Payment Batch`},{field:`period.label`,icon:`period`,tooltip:`Period`}],_c=e.Nr({billingConfig:()=>vc,default:()=>vc}),vc={module:`billing`,tabs:[],header:{variant:`finance`,title:`candidateName`,eyebrow:`designation`,statusField:`billing.status`,chips:gc}},yc={USD:`$`,INR:`₹`,EUR:`€`,GBP:`£`,AUD:`$`,CAD:`$`},bc=e=>e==null||e===``||Array.isArray(e)&&e.length===0,xc=e=>!bc(e);function Sc(e){let t=wc(e);return t.charAt(0).toUpperCase()+t.slice(1)}function Cc(e){return e&&typeof e==`object`&&!Array.isArray(e)&&`id`in e&&`value`in e?e.id??e.value:e}function wc(e){return Array.isArray(e)?e.filter(e=>!bc(e)).map(e=>wc(e)).filter(Boolean).join(`, `):e&&typeof e==`object`&&`id`in e&&`value`in e?String(e.value??e.id??``):String(e??``)}function Tc(e){return bc(e)?``:yc[String(e).toUpperCase()]??String(e)}function Ec(e){if(bc(e))return``;let t=new Date(e);return Number.isNaN(t.getTime())?``:`${t.toLocaleDateString(`en-US`,{month:`short`,day:`2-digit`,year:`numeric`})} | ${t.toLocaleTimeString(`en-US`,{hour:`2-digit`,minute:`2-digit`,hour12:!0}).replace(/\s/g,``).toUpperCase()}`}function Dc({start:e,end:t,sym:n=``,unit:r}={}){return bc(e)||Number(e)<=0?``:`${n}${!bc(t)&&Number(t)>0?`${e} - ${t}`:`${e}`}${bc(r)?``:`/${r}`}`}function Oc(e){let t=wc(e).toLowerCase();return[`active`,`open`,`hired`,`approved`,`fulfilled`,`submitted`].includes(t)?`success`:[`inactive`,`closed`,`rejected`,`high`].includes(t)?`error`:[`hold`,`on hold`,`pending`,`unread`,`medium`].includes(t)?`warning`:`default`}var kc=e.Nr({candidateConfig:()=>Ac,default:()=>Ac}),Ac={module:`candidate`,tabs:[{key:`details`,label:`Details`},{key:`jobs`,label:`Jobs`},{key:`emails`,label:`Emails`},{key:`attachments`,label:`Attachments`}],header:{title:[`firstName`,`middleName`,`lastName`],eyebrow:`source`,status:({val:e,has:t})=>t(e(`status`))?{label:Sc(e(`status`)),color:Oc(e(`status`))}:e(`applicantPlacedStatus`)===!0?{label:`Placed`,color:`success`}:null,ids:[{label:`Candidate ID`,field:[`applicantRefrenceId`,`applicantReferenceId`,`candidateReferenceId`]}],meta:[{icon:`designation`,field:`designation`},{icon:`location`,field:[`currentLocation`,`preferredLocation`]},{icon:`experience`,compute:jc},{icon:`employment`,field:`workAuthorisation`},{icon:`rate`,prefix:`Expected: `,compute:Mc}],timestamp:{label:`Created Date`,field:[`createdAt`,`createdDate`]}}};function jc({val:e,has:t}){let n=t(e(`yearOfExperience`))?e(`yearOfExperience`):e(`experience`);if(!t(n))return``;let r=e(`monthOfExperience`);return`${n} yrs${t(r)&&Number(r)>0?` ${r} mo`:``}`}function Mc({val:e}){let t=e(`expectedPayDetails`)??{};return Dc({start:t.expectedPay??e(`expectedPay`),sym:t.expectedPayCurrencySymbol??Tc(t.expectedPayCurrency),unit:t.expectedPayUnit})}var Nc=e=>e===!0||e===1||e===`1`;function Pc(e){return e==null||e===``?!0:Array.isArray(e)?e.length===0:typeof e==`object`?Object.values(e).every(e=>Pc(e)):!1}function Fc(t){return e.ut(t).filter(e=>e?.location||e?.url)}function Ic(e){return Fc(e).length>0}function Lc(e){return Nc(e?.hideWhenEmpty)||Nc(e?.hideWhenEmptyInDetail)||Nc(e?.renderOptions?.hideWhenEmpty)||Nc(e?.renderOptions?.hideWhenEmptyInDetail)}function Rc(e){return Nc(e?.hideWhenZero)||Nc(e?.renderOptions?.hideWhenZero)}function zc(e){if(typeof e==`number`)return e===0;if(typeof e==`string`){let t=e.trim();return t!==``&&Number.isFinite(Number(t))&&Number(t)===0}return!1}function Bc(e,t){let n=Rc(e);return!Lc(e)&&!n?!1:e?.type===`file`||e?.type===`document`||e?.renderType===`document`?!Ic(t):Pc(t)||n&&zc(t)}var Vc=e=>e==null||e===``;function Hc(e,t){return String(t??``).split(`.`).filter(Boolean).reduce((e,t)=>e?.[t],e)}function Uc(e){let t=String(e??``).trim().replace(/[\s()-]/g,``);if(!t)return``;let n=t.replace(/^\+/,``);return/^\d{1,4}$/.test(n)?`+${n}`:``}function Wc(e){let t=String(e?.field??``).trim(),n=t.replace(/(number|no|phone|mobile|contact)$/i,``);return[...t?[`${t}CountryCode`,`${t}Code`]:[],...n&&n!==t?[`${n}CountryCode`]:[],`countryCode`,`phoneCountryCode`,`mobileCountryCode`,`contactCountryCode`,`dialCode`,`isdCode`]}function Gc(e,t,n=``){let r=e?.renderOptions?.countryCodeField??e?.countryCodeField,i=r?[r,...Wc(e)]:Wc(e);for(let e of i){let n=Uc(Hc(t,e));if(n)return n}return Uc(n)}function Kc(e){let t=String(e??``).trim(),n=t.match(/^(\+\d{1,4})[\s-]*(.*)$/);return n?{code:n[1],rest:n[2]}:{code:``,rest:t}}function qc(t,n=``){if(Vc(t))return``;let{code:r,rest:i}=Kc(t),a=r||Uc(n),o=e.jt(i)||i;return`${a?`${a} `:``}${o}`.trim()}function Jc(t,n,r){return qc(n,Gc(t,r,e.Nt()))}var Yc=e=>e===!0||e===1||e===`1`;function Xc(e=[]){let t={};for(let n of e??[])for(let e of n?.fields??[]){if(!e?.field||e.value===void 0)continue;let n=e.value,r=n&&typeof n==`object`&&!Array.isArray(n)&&`value`in n?n.value:n;t[e.field]=r,e.payloadKey&&t[e.payloadKey]===void 0&&(t[e.payloadKey]=r)}return t}function Zc(t,n){let r=e.c(t?.showIf);return!r.length||Yc(t?.ignoreShowIfInDetail)||!r.every(e=>Object.prototype.hasOwnProperty.call(n??{},e.field))?!0:e.o(t.showIf,e=>n[e])}function Qc(e){let t=e?.detailLabelWhen;if(Array.isArray(t)&&t.length)return t;let n=e?.labelWhen;return n?[n]:[]}function $c(t,n){let r=t?.label;if(Yc(t?.ignoreLabelWhenInDetail))return r;for(let r of Qc(t))if(!(!r?.field||!r?.label)&&Object.prototype.hasOwnProperty.call(n??{},r.field)&&e.i(r,n[r.field]))return r.label;return r}var el=/(currency|symbol|unit|type)/i,tl=/(rate|budget|amount)/i,nl=e=>typeof e==`number`||typeof e==`string`&&e.trim()!==``&&!Number.isNaN(Number(e)),rl=e=>e===!0||e===1||e===`1`;function il(e,t){return!e||!t||!rl(e.appendHistory)?!1:[e.historyField,...e.historyFields??[]].includes(t)}function al(e,t){let n=String(t??``).trim();if(!n)return``;let r=`${e}.`;return n.startsWith(r)?n.slice(r.length):n}function ol(e,t=[]){let n=`${e}.`,r=[];return(t??[]).forEach(t=>{il(t,e)&&(t.fields??[]).forEach(e=>{let t=String(e?.field??``);if(!t.startsWith(n))return;let i=t.slice(n.length);i&&!r.includes(i)&&r.push(i)})}),r}function sl(e,t=[],n){for(let r of t??[]){if(!il(r,e))continue;let t=al(e,r?.[n]?.[e]);if(t)return t}return``}var cl=(e,t)=>!!t&&e!=null&&Object.prototype.hasOwnProperty.call(e,t)&&e[t]!==void 0;function ll(e){let t=Object.entries(e??{}).find(([e,t])=>tl.test(e)&&!el.test(e)&&nl(t));return t?t[0]:``}function ul(e){let t=Object.keys(e??{});return t.find(t=>/currencysymbol/i.test(t)&&String(e[t]??``).trim()!==``)||t.find(t=>/currency/i.test(t)&&String(e[t]??``).trim()!==``)||t.find(t=>/symbol/i.test(t)&&String(e[t]??``).trim()!==``)||``}function dl(e){return Object.keys(e??{}).find(e=>/unit/i.test(e))||``}function fl(e,t,n=[]){let r=ol(t,n),i=sl(t,n,`historyAmountFields`),a=r.find(e=>!el.test(e)),o=cl(e,i)&&i||cl(e,a)&&a||ll(e),s=sl(t,n,`historyCurrencyFields`),c=r.find(t=>/symbol/i.test(t)&&cl(e,t)&&String(e[t]??``).trim()!==``),l=r.find(e=>/currency/i.test(e)&&!/symbol/i.test(e)),u=cl(e,s)&&s||c||cl(e,l)&&l||ul(e),d=sl(t,n,`historyUnitFields`),f=r.find(e=>/unit/i.test(e)),p=cl(e,d)&&d||cl(e,f)&&f||dl(e);return{amountKey:o||``,currencyKey:u||``,unitKey:p||``}}function pl(e,t,n=[]){let{amountKey:r,currencyKey:i,unitKey:a}=fl(e,t,n);return{amountKey:r,currencyKey:i,unitKey:a,amount:r?e?.[r]:void 0,currency:i?e?.[i]:``,unit:a?e?.[a]:``}}var ml={USD:`$`,INR:`₹`,GBP:`£`,EUR:`€`,CAD:`C$`,AUD:`A$`,SGD:`S$`,JPY:`¥`};function hl(e,t=`$`){let n=String(e??``).trim();return n?ml[n.toUpperCase()]||(/^[A-Za-z]{2,}$/.test(n)?t:n):t}var gl={hr:`Hourly`,hour:`Hourly`,hours:`Hourly`,hourly:`Hourly`,day:`Daily`,daily:`Daily`,week:`Weekly`,weekly:`Weekly`,month:`Monthly`,monthly:`Monthly`,year:`Yearly`,yearly:`Yearly`,annual:`Yearly`,annually:`Yearly`};function _l(e,t=``){let n=String(e??``).trim();return n?gl[n.toLowerCase()]??n.charAt(0).toUpperCase()+n.slice(1):t}var vl={Hourly:`hr`,Daily:`day`,Weekly:`wk`,Monthly:`mo`,Yearly:`yr`};function yl(e,t=``){let n=_l(e,``);return n?vl[n]??n.toLowerCase():t}function bl(e){if(typeof e==`number`)return Number.isFinite(e)?e:NaN;let t=String(e??``).trim().replace(/[,\s]/g,``).replace(/[^0-9eE+.\-]/g,``);if(!t)return NaN;let n=Number(t);return Number.isFinite(n)?n:NaN}function xl(e,{decimals:t}={}){let n=bl(e);return Number.isNaN(n)?String(e??``):n.toLocaleString(void 0,{minimumFractionDigits:t??0,maximumFractionDigits:t??2})}function Sl(e,t=`$`,n={}){let r=bl(e);if(Number.isNaN(r))return String(e??``);let i=hl(t);return`${r<0?`−`:``}${i}${xl(Math.abs(r),n)}`}function Cl(e,t=`$`,n,r={}){let i=Sl(e,t,r),a=_l(n,``);return a?`${i} / ${a}`:i}var{Text:wl}=i.Typography,Tl=e=>e==null||e===``,El=/^\d{4}-\d{2}-\d{2}([T ]\d{2}:\d{2}|$)/;function Dl(e){return String(e).replace(/\w\S*/g,e=>e.length>1&&e===e.toUpperCase()?e:e.charAt(0).toUpperCase()+e.slice(1).toLowerCase())}function Ol(e){return!(typeof e!=`string`||!e.trim()||!/[a-z]/i.test(e)||e.includes(`@`)||/^https?:\/\//i.test(e)||/^[a-f0-9]{24}$/i.test(e)||/<[a-z][\s\S]*>/i.test(e))}function kl(e,t){if(Tl(e))return``;let n=String(e);return t===!1?n:Ol(n)?Dl(n):n}function Al(e,t,n){return Object.values(e).filter(e=>!Tl(e)&&typeof e!=`object`).map(e=>kl(e,t)).join(n)}function jl(e,t){if(!e)return e;switch(t){case`upper`:return String(e).toUpperCase();case`lower`:return String(e).toLowerCase();case`title`:return Dl(e);default:return e}}var Ml=e=>e&&typeof e==`object`&&!Array.isArray(e)&&`value`in e&&`id`in e;function Nl(e,t,n){return Tl(e)?``:Ml(e)?kl(e.value??e.id,t):Array.isArray(e)?e.map(e=>Ml(e)?kl(e.value??e.id,t):e&&typeof e==`object`?Al(e,t,n):kl(e,t)).filter(Boolean).join(n):typeof e==`boolean`?e?`Yes`:`No`:typeof e==`object`?Al(e,t,n):kl(e,t)}function Pl(e,t,n){if(Array.isArray(e))return e.map(e=>Ml(e)?kl(e.value??e.id,t):e&&typeof e==`object`?Al(e,t,n):kl(e,t)).filter(e=>e!==``);if(typeof e==`string`)return e.split(`,`).map(e=>kl(e.trim(),t)).filter(Boolean);let r=Nl(e,t,n);return r?[r]:[]}function Fl({name:e}){let t=String(e||``).split(`.`).pop().toLowerCase();return t===`pdf`?(0,o.jsx)(a.FilePdfOutlined,{className:`v1-file-chip__icon`}):t===`doc`||t===`docx`?(0,o.jsx)(a.FileWordOutlined,{className:`v1-file-chip__icon`}):[`png`,`jpg`,`jpeg`,`gif`,`webp`,`bmp`,`svg`].includes(t)?(0,o.jsx)(a.FileImageOutlined,{className:`v1-file-chip__icon`}):[`txt`,`csv`,`json`,`md`].includes(t)?(0,o.jsx)(a.FileTextOutlined,{className:`v1-file-chip__icon`}):(0,o.jsx)(a.FileOutlined,{className:`v1-file-chip__icon`})}Fl.propTypes={name:l.default.string};function Il(e){return e?.renderType&&e.renderType!==`auto`?e.renderType:e?.documentPreview===!0?`document`:e?.formatter===`phone`||e?.type===`phone`?`phone`:e?.displayAs===`tag`?`tag`:e?.displayAs===`text`?`text`:`auto`}function Ll({value:t,mode:n,empty:s,style:c}){let[l,u]=(0,r.useState)(!1),[d,f]=(0,r.useState)(0),p=e.ut(t);if(!p.length)return(0,o.jsx)(wl,{strong:!0,className:`v1-detail-value`,style:c,children:s});let m=p.filter(e=>e.url);return n===`text`?(0,o.jsx)(wl,{strong:!0,className:`v1-detail-value`,style:c,children:p.map(e=>e.name).join(`, `)}):n===`tag`?(0,o.jsx)(`span`,{className:`v1-detail-value v1-detail-tags`,children:p.map((e,t)=>(0,o.jsx)(i.Tag,{icon:(0,o.jsx)(a.PaperClipOutlined,{}),children:e.name},t))}):n===`link`||n===`download`?(0,o.jsx)(`span`,{className:`v1-detail-value v1-doc-list`,children:(0,o.jsx)(`span`,{className:`v1-file-list`,children:p.map((e,t)=>e.url?(0,o.jsxs)(`a`,{className:`v1-file-chip`,href:e.url,target:`_blank`,rel:`noopener noreferrer`,download:n===`download`?e.name||``:void 0,title:e.name,children:[(0,o.jsx)(Fl,{name:e.name}),(0,o.jsx)(`span`,{className:`v1-file-chip__name`,children:e.name}),n===`download`?(0,o.jsx)(a.DownloadOutlined,{className:`v1-file-chip__action`}):(0,o.jsx)(a.LinkOutlined,{className:`v1-file-chip__action`})]},t):(0,o.jsxs)(`span`,{className:`v1-file-chip v1-file-chip--disabled`,title:`No file location`,children:[(0,o.jsx)(Fl,{name:e.name}),(0,o.jsx)(`span`,{className:`v1-file-chip__name`,children:e.name})]},t))})}):(0,o.jsxs)(`div`,{className:`v1-detail-value v1-doc-list`,children:[(0,o.jsx)(`div`,{className:`v1-file-list`,children:p.map((e,t)=>e.url?(0,o.jsxs)(`button`,{type:`button`,className:`v1-file-chip`,onClick:()=>{f(m.indexOf(e)),u(!0)},title:`Preview ${e.name}`,children:[(0,o.jsx)(Fl,{name:e.name}),(0,o.jsx)(`span`,{className:`v1-file-chip__name`,children:e.name}),(0,o.jsx)(a.EyeOutlined,{className:`v1-file-chip__action`})]},t):(0,o.jsxs)(`span`,{className:`v1-file-chip v1-file-chip--disabled`,title:`No preview available for this file`,children:[(0,o.jsx)(Fl,{name:e.name}),(0,o.jsx)(`span`,{className:`v1-file-chip__name`,children:e.name})]},t))}),(0,o.jsx)(e.Or,{documents:m,open:l,onClose:()=>u(!1),initialIndex:d})]})}Ll.propTypes={value:l.default.any,mode:l.default.string,empty:l.default.string,style:l.default.object};function Rl(e,t={}){return Number.isNaN(bl(e))?String(e??``):`${t.currencySymbol?hl(t.currencySymbol,``):``}${xl(e,{decimals:t.decimals})}`}function zl({field:t,record:n}){let{value:r,type:s,prefix:l=``,suffix:u=``,color:d=``,capitalize:f}=t??{},p=t?.renderOptions??{},m=e.Mt(),h=m.emptyPlaceholder,g=m.separator||`, `,_=d?{color:d}:void 0,v=p.tagColor||d||void 0,y=p.textTransform&&p.textTransform!==`none`?p.textTransform:null,b=e=>`${l?`${l} `:``}${e}${u?` ${u}`:``}`,x=e=>y?jl(e,y):e,S=e=>(0,o.jsx)(wl,{strong:!0,className:`v1-detail-value`,style:_,children:x(e)}),C=e=>(0,o.jsx)(wl,{strong:!0,className:`v1-detail-value v1-detail-token`,style:_,children:x(e)}),w=e=>(0,o.jsx)(`span`,{className:`v1-detail-value v1-detail-tags`,children:(0,o.jsx)(i.Tag,{color:v,children:x(e)})}),T=Il(t);if(T!==`document`&&Tl(r)&&!p.showEmpty)return S(h);switch(T){case`document`:return(0,o.jsx)(Ll,{value:r,mode:p.documentMode||`preview`,empty:h,style:_});case`text`:return S(b(Nl(r,f,g)));case`tag`:case`chip`:return w(b(Nl(r,f,g)));case`badge`:{let e=x(Nl(r,f,g));return(0,o.jsx)(`span`,{className:`v1-detail-value`,children:(0,o.jsx)(i.Badge,{color:v||`blue`,text:e})})}case`tags`:case`multitag`:case`skills`:{let e=Pl(r,f,g);return e.length?(0,o.jsx)(`span`,{className:`v1-detail-value v1-detail-tags`,children:e.map((e,t)=>(0,o.jsx)(i.Tag,{color:v,children:x(e)},t))}):S(h)}case`link`:{let t=Nl(r,!1,g);return(0,o.jsx)(`a`,{className:`v1-detail-value v1-doc-link`,href:/^https?:\/\//i.test(t)?t:e.lt(t)||t,target:`_blank`,rel:`noopener noreferrer`,children:x(b(t))})}case`email`:{let e=Nl(r,!1,g);return(0,o.jsxs)(`a`,{className:`v1-detail-value`,href:`mailto:${e}`,children:[(0,o.jsx)(a.MailOutlined,{}),` `,e]})}case`phone`:{let e=Nl(r,!1,g),i=Jc(t,e,n);return(0,o.jsxs)(`a`,{className:`v1-detail-value v1-detail-token`,href:`tel:${e.replace(/[^0-9+]/g,``)}`,children:[(0,o.jsx)(a.PhoneOutlined,{}),` `,x(b(i))]})}case`date`:{let e=(0,c.default)(r),t=p.dateFormat||m.dateFormat;return C(b(e.isValid()?e.format(t):Nl(r,f,g)))}case`currency`:return C(b(Rl(r,p)));case`budget`:{let e=Rl(r,p),t=p.unit?String(p.unit):``,n=t&&p.budgetUnitMap?p.budgetUnitMap[t]??t:t;return C(`${e}${n?`/${n}`:``}`)}case`html`:return(0,o.jsx)(`span`,{className:`v1-detail-value`,style:_,dangerouslySetInnerHTML:{__html:String(r??``)}});default:break}if(Tl(r))return S(h);let E=s===`date`,D=typeof r==`string`&&El.test(r.trim());if(E||D){let e=(0,c.default)(r);if(e.isValid())return S(b(e.format(m.dateFormat)))}if(Ml(r))return S(b(kl(r.value??r.id,f)));if(Array.isArray(r)){let e=Pl(r,f,g);return e.length?(0,o.jsx)(`span`,{className:`v1-detail-value v1-detail-tags`,children:e.map((e,t)=>(0,o.jsx)(i.Tag,{color:v,children:e},t))}):S(h)}return S(typeof r==`boolean`?r?m.booleanTrueLabel:m.booleanFalseLabel:typeof r==`object`?Al(r,f,g)||h:b(kl(r,f)))}zl.propTypes={field:l.default.object,record:l.default.object};var{Text:Bl}=i.Typography,Vl=[(0,o.jsx)(a.UserOutlined,{}),(0,o.jsx)(a.EnvironmentOutlined,{}),(0,o.jsx)(a.SolutionOutlined,{}),(0,o.jsx)(a.InfoCircleOutlined,{}),(0,o.jsx)(a.FileTextOutlined,{})],Hl=e=>e===!0||e===1||e===`1`,Ul=[`jobDescription`,`description`,`rawDescription`,`jobDescriptionText`];function Wl(e=[]){for(let t of e)for(let e of t.fields??[]){let t=Ul.includes(e.field),n=/description/i.test(e.label??``);if((t||n)&&typeof e.value==`string`&&e.value.trim())return{...e,key:e.field,value:e.value}}return null}function Gl(e=[]){let t=Xc(e);return[...e].filter(e=>!Hl(e.hideGroup)&&!Hl(e.hideGroupInDetail)).filter(e=>Zc(e,t)).sort((e,t)=>Number(e.order??0)-Number(t.order??0)).map(e=>({...e,fields:[...e.fields??[]].filter(e=>String(e.field??``).trim()!==``&&(e.show===void 0||Hl(e.show))&&Zc(e,t)).map(e=>({...e,label:$c(e,t)})).sort((e,t)=>Number(e.order??0)-Number(t.order??0))})).filter(e=>e.fields.length)}function Kl(e){let t=e?.data??e;return Array.isArray(t)?t:t?.data??t?.rows??t?.records??t?.items??t?.list??[]}function ql(e,...t){for(let n of t){let t=String(n).split(`.`).reduce((e,t)=>e?.[t],e);if(t!=null&&t!==``)return t}return``}function Jl(e){let t=String(ql(e,`isDeleted`,`deleted`)).toLowerCase(),n=String(ql(e,`assignmentStatus`,`status`)).toLowerCase();return t!==`true`&&t!==`1`&&![`removed`,`inactive`,`deleted`].includes(n)}function Yl(e=[],t){let n={candidateIds:new Set,engagementIds:new Set([String(t??``)].filter(Boolean))},r=e?.recordMeta;[`_id`,`id`,`workforceEngagementId`,`engagementId`].forEach(e=>{let t=r?.[e];t!=null&&t!==``&&n.engagementIds.add(String(t))}),[`candidateId`,`candidate_id`,`applicantId`].forEach(e=>{let t=r?.[e];t!=null&&t!==``&&n.candidateIds.add(String(t))});for(let t of e??[])for(let e of t.fields??[])[`candidateId`,`candidate_id`,`applicantId`].includes(e?.field)&&e.value&&n.candidateIds.add(String(e.value?.id??e.value?.value??e.value)),[`workforceEngagementId`,`engagementId`].includes(e?.field)&&e.value&&n.engagementIds.add(String(e.value?.id??e.value?.value??e.value));return n}async function Xl(t){let n=ql(t,`batchName`,`batch_name`,`batch.name`,`batch.title`);if(n)return String(n);let r=String(ql(t,`batchId`,`batch_id`));if(!r)return``;for(let t of[`batches`,`batch`])try{let n=ql(Kl(await e.wr(t,500,0)).find(e=>String(ql(e,`_id`,`id`,`batchId`,`batch_id`))===r),`batchName`,`batch_name`,`name`,`title`);if(n)return String(n)}catch{}return r}async function Zl(t,n,r){let i=String(r??``).trim().toLowerCase();if(![`candidate`,`candidates`,`onboarding`].includes(i))return t;let{candidateIds:a,engagementIds:o}=Yl(t,n);if(!a.size&&!o.size)return t;let s=Kl(await e.wr(`batchCandidates`,1e3,0)).filter(Jl).find(e=>a.has(String(ql(e,`candidateId`,`candidate_id`)))||o.has(String(ql(e,`workforceEngagementId`,`engagementId`))));if(!s)return t;let c=await Xl(s);return c?[...t,{id:`candidate-batch-summary`,name:`candidateBatch`,label:`Batch`,order:9999,fields:[{field:`batchName`,label:`Batch Name`,type:`text`,value:c,show:!0,order:1}]}]:t}function Ql({icon:e,title:t}){return(0,o.jsxs)(i.Space,{size:10,align:`center`,children:[(0,o.jsx)(`div`,{className:`v1-section-icon-box`,children:e}),(0,o.jsx)(Bl,{strong:!0,className:`v1-section-label`,children:t})]})}function $l({value:e}){let t=String(e??``);return/<[a-z][\s\S]*>/i.test(t)?(0,o.jsx)(`div`,{className:`v1-detail-value`,style:{whiteSpace:`normal`,lineHeight:1.7},dangerouslySetInnerHTML:{__html:t}}):(0,o.jsx)(`div`,{className:`v1-detail-value`,style:{whiteSpace:`pre-wrap`,lineHeight:1.7},children:t})}function eu({moduleName:n,id:s,refreshKey:l=0,onDescriptionSaved:u}){let[d,f]=(0,r.useState)([]),[p,m]=(0,r.useState)(!!n),[h,g]=(0,r.useState)(``),[_,v]=(0,r.useState)(!1),[y,b]=(0,r.useState)(``),[x,S]=(0,r.useState)(!1),[C,w]=(0,r.useState)([]);(0,r.useEffect)(()=>{if(!n||!s){Promise.resolve().then(()=>w([]));return}let t=!1;return e.Wt(n,s).then(e=>{t||w(Array.isArray(e)?e:e?.data??[])}).catch(()=>{t||w([])}),()=>{t=!0}},[n,s,l]);let[T,E]=(0,r.useState)(null),[D,O]=(0,r.useState)({}),[k,A]=(0,r.useState)({});(0,r.useEffect)(()=>{if(!n||!s){E(null);return}let e=!1;return t.a(t.b,`/module/list?module=${encodeURIComponent(n)}&id=${encodeURIComponent(s)}`).then(t=>{let n=t?.data?.data??t?.data??[];e||E(Array.isArray(n)?n[0]:null)}).catch(()=>{e||E(null)}),()=>{e=!0}},[n,s,l]),(0,r.useEffect)(()=>{let n=!1;return t.a(t.b,`/module/list?module=users`).then(t=>{let r=t?.data?.data??t?.data??[];n||O(e.R(r))}).catch(()=>{}),()=>{n=!0}},[]),(0,r.useEffect)(()=>{if(!n)return;let t=!1;async function r(){try{m(!0),g(``);let[r]=await Promise.all([hn({module:n,id:s,view:`detail`}),e.Pt()]),i=await Zl(Array.isArray(r)?r:[],s,n);t||f(i)}catch(e){console.error(`Failed to fetch ${n} detail fields:`,e),t||g(e?.message||`Failed to fetch detail fields`)}finally{t||m(!1)}}return r(),()=>{t=!0}},[n,s,l]);let j=(0,r.useMemo)(()=>Gl(d),[d]),M=(0,r.useMemo)(()=>{let e=new Set;return d.forEach(t=>{Hl(t.appendHistory)&&[t.historyField,...t.historyFields||[]].filter(Boolean).forEach(t=>e.add(t))}),e},[d]);(0,r.useEffect)(()=>{if(!T||!M.size)return;let t=new Set;if(M.forEach(e=>{let n=T[e];Array.isArray(n)&&n.forEach(e=>{let n=e?.updatedBy??e?.changedBy;if(n==null||n===``)return;let r=String(n);!D[r]&&!k[r]&&t.add(r)})}),!t.size)return;let n=!1;return Promise.all([...t].map(t=>e.L(t).then(e=>[t,e]))).then(e=>{let t=Object.fromEntries(e.filter(([,e])=>e));!n&&Object.keys(t).length&&A(e=>({...e,...t}))}).catch(()=>{}),()=>{n=!0}},[T,M,D,k]);let N={proposedRate:`Proposed Rate`,candidateBudget:`Candidate Rate`},P=(e,t,n)=>{let r=`${e}.`,i=t=>[t?.historyField,...t?.historyFields||[]].includes(e);for(let r of t??[]){if(!i(r))continue;let t=r.historyLabels?.[e];if(t)return t;let a=r.historyLabelFrom?.[e];if(a){let t=(r.fields??[]).find(e=>e?.field===a);if(t)return $c(t,n)||N[e]||e}}for(let i of t??[])for(let t of i?.fields??[])if(String(t?.field??``).startsWith(r))return $c(t,n)||N[e]||e;return N[e]||e},F=(t,n)=>{let{amount:r,currency:i,unit:a}=pl(t,n,d),o=t?.timestamp?.$date??t?.timestamp??t?.updatedAt?.$date??t?.updatedAt??t?.changedAt?.$date??t?.changedAt,s=t?.updatedBy??t?.changedBy,l=r==null||r===``?null:Number(r);return{amount:l!=null&&!Number.isNaN(l)?`${hl(i)}${xl(l)}`:`—`,unit:_l(a),when:o&&(0,c.default)(o).isValid()?(0,c.default)(o).format(`${e.Mt().dateFormat} · h:mm A`):``,by:s==null?``:D[String(s)]||k[String(s)]||``}},I=(0,r.useMemo)(()=>{if(!T)return[];let e=Xc(d),t=[];return M.forEach(n=>{let r=T[n];if(!Array.isArray(r)||r.length===0)return;let i=r.filter(e=>e&&(e.timestamp||e.updatedAt||e.changedAt));i.length!==0&&t.push({key:n,label:P(n,d,e),entries:[...i].reverse().map(e=>F(e,n))})}),t},[T,d,M,D,k]),L=(0,r.useMemo)(()=>{let e=new Set(I.map(e=>e.key));return e.size?j.map(t=>{if(!Hl(t.appendHistory))return t;let n=[t.historyField,...t.historyFields||[]].filter(t=>t&&e.has(t));return n.length?{...t,fields:t.fields.filter(e=>!n.some(t=>String(e.field??``).startsWith(`${t}.`)))}:t}).filter(e=>e.fields.length):j},[j,I]),R=(0,r.useMemo)(()=>{let e=new Set(I.map(e=>e.key)),t=d.find(t=>Hl(t.appendHistory)&&[t.historyField,...t.historyFields||[]].some(t=>t&&e.has(t)));return t?.label??t?.name??`Rate Details`},[d,I]),z=n===`job`,B=(0,r.useMemo)(()=>z?Wl(d):null,[z,d]),ee=()=>{v(!1),b(``)},te=async()=>{if(!y.trim()){i.message.warning(`Please enter a job description`);return}S(!0);try{await uc(s,y.trim()),v(!1),b(``),m(!0);let e=await hn({module:n,id:s,view:`detail`});f(Array.isArray(e)?e:[]),i.message.success(`Description updated and parsed successfully`),u?.()}catch{i.message.error(`Failed to update description`)}finally{S(!1),m(!1)}},V=e=>{let t=Number(e.detailCol);if(Number.isFinite(t)&&t>0)return Math.max(1,Math.min(3,Math.round(t/8)));let n=typeof e.value==`string`?e.value:``;return e.renderType===`document`||e.type===`text-editor`||n.length>120?3:/\s(?:·|-|–|\/)\s/.test(n)&&n.length>=16?2:1},ne=e=>e.renderType===`document`||e.type===`text-editor`?!0:(typeof e.value==`string`?e.value:``).length>60,re=(0,r.useMemo)(()=>Xc(d),[d]),H=(e,t=``,n=re)=>{let r=e.label??e.field,i=ne(e),a=typeof e.value==`string`?e.value:void 0;return(0,o.jsx)(`div`,{className:`v1-detail-cell${i?` v1-detail-cell--wrap`:``}`,style:{"--v1-cell-span":V(e)},children:(0,o.jsxs)(`div`,{className:`v1-detail-field`,title:!i&&a?`${r}: ${a}`:void 0,children:[(0,o.jsx)(Bl,{type:`secondary`,className:`v1-detail-label`,title:r,children:r}),(0,o.jsx)(zl,{field:e,record:n})]})},`${e.field}${t}`)},U=/^\d{4}-\d{2}-\d{2}([T ]\d{2}:\d{2}|$)/,ie=(t,n,r=re)=>{if(n==null||typeof n==`object`)return``;let i=String(n).trim();if(!i)return``;if(t?.type===`date`||t?.renderType===`date`||U.test(i)){let n=(0,c.default)(i);if(n.isValid())return n.format(t?.renderOptions?.dateFormat||e.Mt().dateFormat)}return(t?.formatter===`phone`||t?.type===`phone`||t?.renderType===`phone`)&&Jc(t,i,r)||i},ae=(e,t)=>{let n=String(e?.label??``).trim();if(!n)return``;let r=String(t??``).toLowerCase().split(/[\s/]+/).filter(Boolean),i=n.split(/\s+/),a=0;for(;a<i.length;){let e=i[a].toLowerCase();if(!r.some(t=>t===e||t.startsWith(e)||e.startsWith(t)))break;a+=1}return i.slice(a).join(` `).trim()},oe=(e,t,n,r,i=re)=>{let a=e.map(e=>({field:e,cell:n(e)})),s=a.filter(({cell:e})=>le(e)).map(({cell:e})=>({...e,renderType:`document`})).filter(e=>Ic(e.value)),c=typeof t.combineLabel==`string`&&t.combineLabel.trim()?t.combineLabel:t.label??t.field,l=a.filter(({cell:e})=>!le(e)).filter(({cell:e})=>!Bc(e,e.value)).map(({field:e,cell:t})=>({key:e.field,label:ae(e,c),text:ie(e,t.value,i)})).filter(e=>e.text!==``);if(!l.length&&!s.length&&Bc(t,void 0))return null;let u=l.map(e=>`${e.label?`${e.label} `:``}${e.text}`).join(` · `),d=V({detailCol:t.detailCol,value:u});return(0,o.jsx)(`div`,{className:`v1-detail-cell v1-detail-cell--wrap`,style:{"--v1-cell-span":s.length?Math.max(d,2):d},children:(0,o.jsxs)(`div`,{className:`v1-detail-field`,children:[(0,o.jsx)(Bl,{type:`secondary`,className:`v1-detail-label`,title:c,children:c}),(l.length>0||s.length===0)&&(0,o.jsx)(`div`,{className:`v1-detail-value v1-detail-parts`,children:l.length?l.map((e,t)=>(0,o.jsxs)(`span`,{className:`v1-detail-part`,children:[t>0&&(0,o.jsx)(`span`,{className:`v1-detail-part-sep`,"aria-hidden":`true`,children:`·`}),e.label&&(0,o.jsx)(`span`,{className:`v1-detail-part-label`,children:e.label}),(0,o.jsx)(`span`,{children:e.text})]},`${e.key}-part`)):`—`}),s.map(e=>(0,o.jsx)(zl,{field:e},`${e.field}-doc`))]})},`${t.field}-merged${r}`)},se=(e,t,n=``,r=re)=>{let i=new Set,a=[];return e.forEach(o=>{let s=o.combineKey?.trim?.();if(s){if(i.has(s))return;i.add(s);let o=e.filter(e=>e.combineKey?.trim?.()===s);if(o.length>1){let e=oe(o,o.find(e=>e.combineLabel)??o[0],t,n,r);e&&a.push(e);return}}let c=t(o);Bc(c,c.value)||a.push(H(c,n,r))}),a},ce=(0,r.useMemo)(()=>{let e={};for(let t of C){let n=t.fieldName||t.field||`file`;(e[n]??=[]).push({location:t.s3Key??t.location??t.uniqueName??``,name:t.fileName??t.name??``,fileUrl:t.fileUrl??t.url??``})}return e},[C]),le=e=>e.type===`file`||e.type===`document`||e.renderType===`document`,W=e=>ce[e.field]||e.fileKey&&ce[e.fileKey]||null,G=e=>String(e?.name||e?.location||``).trim().toLowerCase(),K=t=>{let[n]=e.ut(t);return!n||!n.location&&!n.url?null:G(n)},ue=(e,t=[])=>{let n=new Set,r=[],i=e=>{if(e==null||e===``)return;let t=K(e);t!==null&&(t&&n.has(t)||(t&&n.add(t),r.push(e)))};return t.forEach(i),(Array.isArray(e)?e:[e]).forEach(i),r},de=t=>e.ut(t).map(G).filter(Boolean),fe=e=>{let t=(e.validations??[]).find(e=>e?.type===`maxFiles`);return t?Math.max(1,Number(t.value??1)):Hl(e.multiple)?Math.max(1,Number(e.maxCount??5)):Math.max(1,Number(e.maxCount??1))},pe=(e,t,n)=>{let r=fe(e);if(t.length<=r)return t;let[i]=de(n);return(i?[...t].sort((e,t)=>Number(K(t)===i)-Number(K(e)===i)):t).slice(0,r)},me=(t,n)=>{if(t.type===`file`||t.type===`document`)return{...t,renderType:`document`,value:n};let r=[t.field,t.payloadKey].filter(Boolean).map(t=>e.yt(n,t)).find(e=>e!=null);return{...t,value:r}},he=e=>{if(!le(e))return e;let t=pe(e,ue(e.value,W(e)??[]),e.value);return t.length?{...e,renderType:`document`,value:t}:e},ge=(e,t,n)=>{let r=e.name??e.id??String(t),a=Array.isArray(e.rows)?e.rows:[],s=new Set(a.flatMap(e=>de(e))),c=[],l=new Set;return n.filter(le).forEach(e=>{(W(e)??[]).forEach(e=>{let t=G(e);!t||s.has(t)||l.has(t)||(l.add(t),c.push(e))})}),(0,o.jsxs)(i.Card,{size:`small`,className:`v1-card v1-detail-card`,title:(0,o.jsx)(Ql,{icon:Vl[t%Vl.length],title:e.label??e.name??`Details`}),children:[a.length===0&&c.length===0?(0,o.jsx)(i.Empty,{image:i.Empty.PRESENTED_IMAGE_SIMPLE,description:`No ${e.label??`records`} added`}):a.map((t,r)=>(0,o.jsxs)(`div`,{className:`v1-detail-addrow-item`,children:[a.length>1&&(0,o.jsxs)(Bl,{strong:!0,className:`v1-detail-addrow-index`,children:[e.label??`Record`,` `,r+1]}),(0,o.jsx)(`div`,{className:`v1-detail-grid`,children:se(n,e=>me(e,t),`-${r}`,t)})]},r)),c.length>0&&(0,o.jsx)(`div`,{className:`v1-detail-addrow-item`,children:(0,o.jsx)(`div`,{className:`v1-detail-grid`,children:H({field:`${r}-files`,label:`Uploaded Files`,renderType:`document`,detailCol:24,value:c})})})]},r)},_e=(e,t)=>{let n=e.name??e.id??String(t),r=B?e.fields.filter(e=>e.field!==B.key):e.fields;return r.length?e.addRow?ge(e,t,r):(0,o.jsx)(i.Card,{size:`small`,className:`v1-card v1-detail-card`,title:(0,o.jsx)(Ql,{icon:Vl[t%Vl.length],title:e.label??e.name??`Details`}),children:(0,o.jsx)(`div`,{className:`v1-detail-grid`,children:se(r,he)})},n):null},ve=()=>(0,o.jsx)(i.Card,{size:`small`,className:`v1-card v1-detail-card`,title:(0,o.jsx)(Ql,{icon:(0,o.jsx)(a.HistoryOutlined,{}),title:R}),children:I.map((e,t)=>(0,o.jsxs)(`div`,{className:`v1-rh-section${t>0?` v1-rh-section--gap`:``}`,children:[(0,o.jsx)(`div`,{className:`v1-rh-section-title`,children:e.label}),(0,o.jsx)(`div`,{className:`v1-rate-history`,children:e.entries.map((e,t)=>(0,o.jsxs)(`div`,{className:`v1-rh-item${t===0?` v1-rh-latest`:``}`,children:[(0,o.jsx)(`span`,{className:`v1-rh-amount`,children:e.amount}),e.unit&&(0,o.jsxs)(`span`,{className:`v1-rh-unit`,children:[`/ `,e.unit]}),e.by&&(0,o.jsxs)(`span`,{className:`v1-rh-chip`,children:[(0,o.jsx)(a.UserOutlined,{}),` `,e.by]}),e.when&&(0,o.jsxs)(`span`,{className:`v1-rh-chip`,children:[(0,o.jsx)(a.ClockCircleOutlined,{}),` `,e.when]}),t===0&&(0,o.jsx)(`span`,{className:`v1-rh-badge`,children:`Latest`})]},t))})]},e.key))},`rate-details-history`),ye=(0,r.useMemo)(()=>{let e=d.find(e=>Hl(e.appendHistory)&&e.historyAfterGroup);return String(e?.historyAfterGroup??``).trim().toLowerCase()},[d]),be=e=>ye?String(e.name??``).trim().toLowerCase()===ye:/current_employer|employer_details/i.test(e.name||``)||(e.fields||[]).some(e=>e.field===`employerId`);return(0,o.jsx)(i.Spin,{spinning:p,tip:`Loading detail fields...`,children:(0,o.jsxs)(`div`,{className:`v1-detail-left`,children:[h&&(0,o.jsx)(i.Alert,{type:`error`,showIcon:!0,message:`Unable to load detail fields`,description:h,className:`v1-detail-alert`}),!p&&!h&&L.length===0&&I.length===0&&(0,o.jsx)(i.Empty,{description:`No detail fields are configured.`}),L.flatMap((e,t)=>{let n=[_e(e,t)];return be(e)&&I.length>0&&n.push(ve()),n}),I.length>0&&!L.some(be)&&ve(),z&&B?.value&&(0,o.jsx)(i.Card,{size:`small`,className:`v1-card v1-detail-card`,title:(0,o.jsx)(Ql,{icon:(0,o.jsx)(a.FileTextOutlined,{}),title:`Description`}),children:_?(0,o.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:12},children:[(0,o.jsx)(`div`,{style:{background:`#ffffff`,border:`1px solid #d6e4f0`,borderRadius:8,padding:`4px`,boxShadow:`0 2px 8px rgba(0,0,0,0.04)`},children:(0,o.jsx)(i.Input.TextArea,{rows:10,value:y,onChange:e=>b(e.target.value),placeholder:B.hidePlaceholder?void 0:B.placeholder,style:{fontSize:13,lineHeight:1.65,border:`none`,boxShadow:`none`,resize:`vertical`,padding:`12px 14px`}})}),(0,o.jsxs)(`div`,{style:{display:`flex`,gap:8},children:[(0,o.jsx)(e.z,{variant:`primary`,size:`small`,loading:x,onClick:te,children:`Save & Parse`}),(0,o.jsx)(e.z,{size:`small`,onClick:ee,children:`Cancel`})]})]}):(0,o.jsx)($l,{value:B.value})})]})})}var tu=e.Nr({buildJobHeaderData:()=>lu,default:()=>nu,jobConfig:()=>nu}),nu={module:`job`,tabs:[{key:`details`,label:`Details`},{key:`candidates`,label:`Candidates`}],tabContent:{details:{render:({id:e,refreshKey:t,onDescriptionSaved:n})=>r.default.createElement(i.Row,{gutter:[16,16],align:`stretch`},r.default.createElement(i.Col,{key:`main`,xs:24,lg:16},r.default.createElement(eu,{moduleName:`job`,id:e,refreshKey:t,onDescriptionSaved:n})),r.default.createElement(i.Col,{key:`side`,xs:24,lg:8},r.default.createElement(Us,{moduleName:`job`,id:e})))}},header:{title:`jobTitle`,eyebrow:({val:e})=>{let t=[];return xc(iu(e))&&t.push(wc(iu(e))),xc(au(e))&&t.push(`MSP Id ${wc(au(e))}`),t.length?t.join(` - `):xc(e(`jobReferenceId`))?String(e(`jobReferenceId`)):``},clientName:({val:e})=>iu(e),titleIds:[],status:{field:`jobStatus`},ids:[{label:`Zinnext Job ID`,field:`jobReferenceId`},{label:`Client Rate`,compute:su}],meta:[{icon:`location`,field:`jobLocation`},{icon:`experience`,compute:ou},{icon:`employment`,fields:[`employmentType`,`jobRemoteStatus`],join:` · `}],stats:[{label:`Target submissions`,field:[`targetSubmission`,`targetSubmissions`]},{label:`In Pipeline`,compute:cu,always:!0}],timestamp:{label:`Created Date`,field:[`createdAt`,`jobCreatedDateTime`,`createdDate`]}}},ru=(e,...t)=>t.map(t=>e(t)).find(xc),iu=e=>ru(e,`clientName`,`client.name`,`client`,`clientId`,`accountName`),au=e=>ru(e,`mspReqId`,`mspreqId`,`msReqId`,`mspId`,`mspRequirementId`);function ou({val:e}){let t=e(`experience.experienceRequiredFrom`);if(!xc(t))return``;let n=e(`experience.experienceRequiredTo`);return`${t}${xc(n)?` - ${n}`:``} years`}function su({val:e}){let t=e(`jobPayDetails`)??{},n=t.clientBudgetStart??ru(e,`clientBudgetStart`,`clientRateStart`);return xc(n)?Dc({start:n,end:t.clientBudgetEnd??ru(e,`clientBudgetEnd`,`clientRateEnd`),sym:t.clientBudgetCurrencySymbol??Tc(t.clientBudgetCurrency)??``,unit:t.clientBudgetUnit??ru(e,`clientBudgetUnit`)}):``}function cu({val:e}){let t=e(`submissions`),n=ru(e,`pipelineCount`,`PipelineCount`,`inPipeline`,`inPipelineCount`)??(Array.isArray(t)?t.length:void 0);return xc(n)?n:0}function lu({val:e,has:t}){let n,r=[];t(e(`jobReferenceId`))&&(n=String(e(`jobReferenceId`)));let i=[e(`jobTitle`)].filter(t).map(wc).join(` `)||`-`,a=null;if(t(e(`jobSource`))&&(a={label:Sc(e(`jobSource`)),color:`#10b981`,textColor:`#ffffff`}),t(e(`jobLocation`))&&r.push({icon:`location`,text:wc(e(`jobLocation`))}),t(e(`experience.experienceRequiredFrom`))){let n=e(`experience.experienceRequiredFrom`),i=e(`experience.experienceRequiredTo`);r.push({icon:`experience`,text:`${n}${t(i)?` - ${i}`:``} years`})}let o=[e(`employmentType`),wc(e(`jobRemoteStatus`))].filter(t).join(` - `);o&&r.push({icon:`employment`,text:o});let s=t(e(`clientId`))?Cc(e(`clientId`)):null;return{eyebrow:n,title:i,status:a,meta:r,clientId:s}}var uu=e.Nr({default:()=>du,payrollConfig:()=>du}),du={module:`payroll`,tabs:[],header:{variant:`finance`,title:`candidateName`,eyebrow:`designation`,statusField:`payroll.status`,chips:gc}},fu=e.Nr({default:()=>pu,submissionConfig:()=>pu}),pu={module:`submission`,tabs:[],header:{title:[`firstName`,`lastName`],eyebrow:({val:e,has:t})=>[mu(e),e(`jobTitle`)].filter(t).map(wc).join(` - `),clientName:({val:e})=>mu(e),status:({val:e,has:t})=>{let n=e(`internalSubmissionStatus`)??{},r=n.internalSubmissionStatusText;return t(r)?{label:Sc(r),color:{positive:`success`,negative:`error`,neutral:`default`}[n.internalSubmissionStatusType]??Oc(r)}:null},ids:[{label:`Submission ID`,field:[`submissionId`,`clientSubmissionId`]},{label:`MS Req ID`,field:[`mspReqId`,`mspreqId`]},{label:`Client Req ID`,field:[`jobClientRefrenceId`,`jobClientReferenceId`,`clientJobReferenceId`]},{label:`Job ID`,field:[`jobRefrenceId`,`jobReferenceId`]}],meta:[{icon:`location`,field:`jobLocation`},{icon:`experience`,field:[`relevantExperienceYears`,`workExperienceYears`],suffix:` yrs`},{icon:`employment`,field:`workAuthorisation`},{icon:`rate`,prefix:`Client rate: `,compute:hu},{icon:`rate`,prefix:`Candidate rate: `,compute:gu}],timestamp:{label:`Created Date`,field:[`submittedAt`,`createdAt`,`createdDate`]}}},mu=e=>e(`clientName`)??e(`client.name`);function hu({val:e}){let t=e(`clientBudget`)??e(`candidateBudget`)??{};return Dc({start:t.clientBudgetStart??t.candidateBudgetStart,end:t.clientBudgetEnd??t.candidateBudgetEnd,sym:t.clientBudgetCurrencySymbol??t.candidateBudgetCurrencySymbol??Tc(t.clientBudgetCurrency??t.candidateBudgetCurrency),unit:t.clientBudgetUnit??t.candidateBudgetUnit??`Hour`})}function gu({val:e}){let t=e(`candidateRate`)??{},n=e(`proposedRate`)??{};return Dc({start:t.candidateAcceptedRate,sym:t.candidateAcceptedCurrencySymbol??Tc(t.candidateAcceptedCurrency),unit:t.candidateAcceptedPayUnit??`Hour`})||Dc({start:n.candidateProposedRate,sym:n.candidateProposedRateCurrencySymbol??Tc(n.candidateProposedRateCurrency),unit:n.candidateProposedRateUnit??`Hour`})}var _u=e.Nr({default:()=>vu,submissionJobConfig:()=>vu}),vu={module:`submissionJob`,tabs:[],buildData:lu};function yu(e,t){let n=Array.isArray(t)?t:[t];for(let t of n)if(xc(e(t)))return e(t)}function bu(e,t,n=` `){return t.map(t=>e(t)).filter(xc).map(wc).join(n)}function xu(e,t){let{val:n}=e,r;if(typeof t.compute==`function`)r=t.compute(e);else if(t.join)r=bu(n,t.fields??[],t.join);else{let e=yu(n,t.field);r=xc(e)?wc(e):``}return xc(r)?`${t.prefix??``}${wc(r)}${t.suffix??``}`:``}function Su(e){return typeof e==`function`?{compute:e}:typeof e==`string`||Array.isArray(e)?{field:e}:e}function Cu(e={},t){let{val:n}=t,r={};if(e.title!==void 0&&(r.title=bu(n,Array.isArray(e.title)?e.title:[e.title])||`-`),e.eyebrow!==void 0&&(r.eyebrow=xu(t,Su(e.eyebrow))||void 0),e.clientName!==void 0&&(r.clientName=xu(t,Su(e.clientName))||void 0),e.status!==void 0)if(typeof e.status==`function`)r.status=e.status(t)??null;else{let t=yu(n,e.status.field);r.status=xc(t)?{label:Sc(t),color:Oc(t)}:null}let i=(e=[])=>e.map(e=>{let r=typeof e.compute==`function`?e.compute(t):wc(yu(n,e.field)??``);return{label:e.label,value:r}}).filter(e=>xc(e.value));if(e.ids!==void 0&&(r.ids=i(e.ids)),e.titleIds!==void 0&&(r.titleIds=i(e.titleIds)),e.meta!==void 0&&(r.meta=e.meta.map(e=>({icon:e.icon,text:xu(t,e)})).filter(e=>xc(e.text))),e.stats!==void 0&&(r.stats=e.stats.map(e=>{let r=typeof e.compute==`function`?e.compute(t):yu(n,e.field),i=xc(r)?wc(r):e.always?wc(e.fallback??0):void 0;return{label:e.label,value:i}}).filter(e=>e.value!==void 0)),e.timestamp!==void 0){let t=Ec(yu(n,e.timestamp.field));r.timestamp=xc(t)?{label:e.timestamp.label,value:t}:null}return r}var wu=Object.assign({"./modules/billingConfig.js":_c,"./modules/candidateConfig.js":kc,"./modules/jobConfig.js":tu,"./modules/payrollConfig.js":uu,"./modules/submissionConfig.js":fu,"./modules/submissionJobConfig.js":_u}),Tu={};Object.values(wu).forEach(e=>{let t=e.default??Object.values(e)[0];t?.module&&(Tu[t.module]=t)});var Eu={job:`job`,jobs:`job`,candidate:`candidate`,candidates:`candidate`,applicant:`candidate`,applicants:`candidate`,submission:`submission`,submissions:`submission`,vendor:`vendor`,vendors:`vendor`,onboarding:`onboarding`};function Du(){let e=(typeof window<`u`&&window.__CORE_THEME_CONFIG__?.detailConfig)??{};return Object.keys(e).length?{...Tu,...e}:Tu}function Ou(e=``,t=Tu){let n=String(e).trim();if(t[n])return n;let r=n.toLowerCase();if(t[r])return r;let i=Eu[r];if(i&&t[i])return i;let a=r.endsWith(`s`)?r.slice(0,-1):`${r}s`;return t[a]?a:i??r}function ku(e=[]){let t=new Map;return e.forEach(e=>{(e.fields??[]).forEach(e=>{t.has(e.field)||t.set(e.field,e)})}),t}function Au(e,t){for(let n of t)if(n.includes(`+`)){let t=n.split(`+`).map(t=>e(t)).filter(xc).map(wc).join(` `);if(t)return t}else if(xc(e(n)))return e(n)}function ju({val:e}){let t=Au(e,[`jobTitle`,`firstName+lastName`,`name`,`fullName`,`title`,`clientName`,`vendorCompanyName`,`companyName`])||`-`,n=Au(e,[`clientName`,`source`,`designation`,`jobReferenceId`,`applicantRefrenceId`]),r=xc(n)?wc(n):void 0,i=Au(e,[`status`,`jobStatus`,`submissionStatus`,`stage`]),a=xc(i)?{label:Sc(i),color:Oc(i)}:null,o=[];[[`Reference ID`,[`jobReferenceId`,`applicantRefrenceId`,`submissionId`,`referenceId`,`refId`]],[`Client Req ID`,[`clientJobReferenceId`,`jobClientRefrenceId`,`clientReqId`]],[`MS Req ID`,[`mspreqId`,`mspReqId`]]].forEach(([t,n])=>{let r=Au(e,n);xc(r)&&o.push({label:t,value:wc(r)})});let s=[],c=Au(e,[`jobLocation`,`currentLocation`,`location`]);xc(c)&&s.push({icon:`location`,text:wc(c)});let l=Au(e,[`designation`]);xc(l)&&s.push({icon:`designation`,text:wc(l)});let u=Ec(Au(e,[`createdAt`,`submittedAt`,`createdDate`]));return{eyebrow:r,title:t,status:a,ids:o,meta:s,timestamp:xc(u)?{label:`Created Date`,value:u}:null}}function Mu(e){let t=Du();return t[Ou(e,t)]??null}function Nu(e,t=[],{aux:n}={}){if(!t.length)return null;let r=Du(),i=r[Ou(e,r)],a=ku(t),o=e=>{let n=a.get(e);if(!n){let n=t.recordMeta;return n&&(e===`createdAt`||e===`updatedAt`)?n[e]:void 0}return bc(n.value)&&[`status`,`jobStatus`,`submissionStatus`].includes(e)&&!bc(n.defaultValue)?n.defaultValue:n.value},s=e=>a.get(e)??null,c=typeof n==`function`?n:()=>()=>void 0,l=ju({val:o,has:xc}),u=i?.buildData?i.buildData({val:o,has:xc,field:s,aux:c})??{}:i?.header?Cu(i.header,{val:o,has:xc,field:s,aux:c}):{},d=(e,t)=>Array.isArray(e)?e:t??[],f=u.status===!1?null:u.status??l.status??null;return{eyebrow:u.eyebrow??l.eyebrow,title:u.title??l.title??`-`,clientName:u.clientName??null,clientId:u.clientId??null,status:f,titleIds:d(u.titleIds,l.titleIds),meta:d(u.meta,l.meta),ids:d(u.ids,l.ids),stats:u.stats??[],timestamp:u.timestamp??l.timestamp??null,tabs:i?.tabs??[]}}var Pu=e=>e==null||e===``,Fu={positive:`success`,success:`success`,negative:`error`,error:`error`,warning:`warning`,info:`processing`,neutral:`default`,default:`default`};function Iu(e){return e?(Array.isArray(e)?e:[e]).filter(e=>e?.field&&e?.label):[]}function Lu(t,n){let r=typeof n==`function`?n:()=>void 0;for(let n of Iu(t?.labelWhen)){let t=r(n.field);if(t!==void 0&&e.i(n,t))return n.label}return t?.label??``}function Ru(e){let t=e?.valueStyles;if(!Array.isArray(t)||!t.length)return null;let n=String(e?.value??e?.text??``).trim().toLowerCase();if(!n)return null;let r=t.find(e=>String(e?.value??``).trim().toLowerCase()===n||String(e?.label??``).trim().toLowerCase()===n);return r?{color:r.color||void 0,bg:r.bg??r.background??r.backgroundColor??void 0}:null}function zu(e,t){let n=Lu(e,t),r=e?.value,i=Pu(e?.text)?[n,Pu(r)?``:String(r)].filter(Boolean).join(n&&!Pu(r)?`: `:``):String(e.text),a=e?.variant===`pill`?`pill`:`text`;if(a!==`pill`)return{icon:e?.icon,text:i,variant:a};let o=Ru(e);return{icon:e?.icon,text:i,label:n,value:Pu(r)?``:String(r),variant:a,tagColor:o?.color||o?.bg?void 0:Fu[e?.tone]??`default`,tagStyle:o?.color||o?.bg?{color:o.color,backgroundColor:o.bg,borderColor:o.bg??o.color}:void 0}}function Bu(e){return!e||typeof e!=`object`?[]:Object.entries(e).map(([e,t])=>{if(!t||typeof t!=`object`)return null;let n=String(t.module??``).trim(),r=t.id==null?``:String(t.id).trim();return!e||!n||!r?null:{key:String(e),module:n,id:r}}).filter(Boolean)}function Vu(e){return Bu(e).map(({key:e,module:t,id:n})=>`${e}:${t}:${n}`).sort().join(`|`)}function Hu(e){let t=new Map;for(let n of e??[])for(let e of n?.fields??[])e?.field!=null&&!t.has(e.field)&&t.set(e.field,e.value);return e=>t.get(e)}function Uu(e){let t=new Map;for(let[n,r]of Object.entries(e??{}))t.set(n,Hu(r));let n=()=>void 0;return e=>t.get(e)??n}var Wu=e=>{let t=Number(e);return Number.isFinite(t)?t:0};function Gu(e,t=`$`){let n=bl(e);return Sl(Number.isNaN(n)?0:n,hl(t),{decimals:2})}function Ku(e){return`${Wu(e).toFixed(2)} hrs`}function qu(e,t=`$`,n=`hr`){let r=yl(n,``),i=Gu(e,t);return r?`${i}/${r}`:i}function Ju(e){return`${parseFloat(Wu(e).toFixed(2))}%`}function Yu(e){let t=String(e??``).trim().split(/\s+/).filter(Boolean);return t.length?t.slice(0,2).map(e=>e[0].toUpperCase()).join(``):`·`}var Xu={TIMESHEET_APPROVED:{label:`Timesheet Approved`,icon:`check`,tone:`success`},BILLING_READY:{label:`Ready for Billing`,icon:`file`,tone:`info`},BILLING_INVOICED:{label:`Invoice Generated`,icon:`file`,tone:`info`},BILLING_PAID:{label:`Client Payment Received`,icon:`dollar`,tone:`success`},PAYROLL_PROCESSING:{label:`Payroll Processing Started`,icon:`sync`,tone:`warning`},PAYROLL_PAID:{label:`Payroll Disbursed`,icon:`dollar`,tone:`success`},PAYSLIP_GENERATED:{label:`Payslip Generated`,icon:`file`,tone:`info`}};function Zu(e){return Xu[e]||{label:String(e??``).toLowerCase().split(`_`).filter(Boolean).map(e=>e[0].toUpperCase()+e.slice(1)).join(` `)||`Activity`,icon:`file`,tone:`neutral`}}function Qu(e){return(Array.isArray(e)?e:[]).find(e=>e?.event===`TIMESHEET_APPROVED`)?.at??null}var $u=e=>({enabled:!0,variant:e,disabledReason:null}),ed=e=>({enabled:!1,variant:`default`,disabledReason:e}),td=[`PaymentNotReceived`,`Invoiced`,`Paid`],nd=[`Ready`,`Processing`,`Paid`];function rd(e){switch(e){case`PaymentNotReceived`:return{generateInvoice:$u(`primary`),recordPayment:ed(`Generate the invoice first`),markPaid:ed(`Generate the invoice first`)};case`Invoiced`:return{generateInvoice:ed(`Invoice already generated`),recordPayment:$u(`primary`),markPaid:$u(`default`)};case`Partially Received`:return{generateInvoice:ed(`Invoice already generated`),recordPayment:$u(`primary`),markPaid:$u(`default`)};case`Received`:case`Paid`:return{generateInvoice:ed(`Payment already received`),recordPayment:ed(`Payment already received`),markPaid:ed(`Payment already received`)};default:return{generateInvoice:ed(`Unavailable in the current status`),recordPayment:ed(`Unavailable in the current status`),markPaid:ed(`Unavailable in the current status`)}}}function id(e){switch(e){case`Ready`:return{process:$u(`primary`),generatePayslip:ed(`Mark the payroll paid first`),markPaid:ed(`Process the payroll first`)};case`Processing`:return{process:ed(`Payroll is already processing`),generatePayslip:ed(`Mark the payroll paid first`),markPaid:$u(`primary`)};case`Paid`:return{process:ed(`Payroll already paid`),generatePayslip:$u(`primary`),markPaid:ed(`Payroll already paid`)};default:return{process:ed(`Unavailable in the current status`),generatePayslip:ed(`Unavailable in the current status`),markPaid:ed(`Unavailable in the current status`)}}}function ad(e,t){if(e===`billing`){let e=Math.max(td.indexOf(t),0);return[{key:`approved`,label:`Timesheet Approved`,state:`done`},{key:`invoiced`,label:`Invoice Raised`,state:e>=1?`done`:`current`},{key:`paid`,label:`Payment Received`,state:e>=2?`done`:e===1?`current`:`pending`}]}let n=Math.max(nd.indexOf(t),0);return[{key:`approved`,label:`Timesheet Approved`,state:`done`},{key:`processing`,label:`Processing`,state:n>=1?`done`:`current`},{key:`paid`,label:`Paid`,state:n>=2?`done`:n===1?`current`:`pending`}]}var od=e=>Wu(e?.leave?.CL)+Wu(e?.leave?.SL),sd=e=>Wu(e?.workingHours?.ST),cd=e=>Wu(e?.workingHours?.OT);function ld(e){let t=Array.isArray(e)?e:[],n={loggedDays:0,approvedDays:0,rejectedDays:0,pendingDays:0,leaveDays:0,holidayDays:0,weekOffDays:0,stHours:0,otHours:0,leaveHours:0,totalHours:0,avgHoursPerLoggedDay:0};return t.forEach(e=>{let t=sd(e),r=cd(e),i=od(e);(e?.isLogged||t>0||r>0)&&(n.loggedDays+=1,e?.status===`approved`?n.approvedDays+=1:e?.status===`rejected`?n.rejectedDays+=1:n.pendingDays+=1),i>0&&(n.leaveDays+=1),e?.isHoliday&&(n.holidayDays+=1),e?.isWeekOff&&(n.weekOffDays+=1),n.stHours+=t,n.otHours+=r,n.leaveHours+=i,n.totalHours+=t+r}),n.avgHoursPerLoggedDay=n.loggedDays?n.totalHours/n.loggedDays:0,n}function ud(e,t){return(Array.isArray(e)?e:[]).filter(e=>!!e?.isLogged||sd(e)>0||cd(e)>0||od(e)>0||e?.isHoliday).map(e=>{let n=sd(e),r=cd(e),i=n+r;return{key:e.date,date:e.date,day:e.day||``,st:n,ot:r,leave:od(e),isHoliday:!!e?.isHoliday,total:i,amount:i*Wu(t),status:e?.status||`logged`,reviewer:e?.reviewedByName||``,remarks:e?.rejectionReason||e?.notes||``}})}function dd(e){let[t,n,r]=String(e??``).split(`-`).map(Number);return!t||!n||!r?null:new Date(t,n-1,r)}var fd=e=>e.toLocaleDateString(`en-US`,{month:`short`,day:`numeric`});function pd(e,t){let n=Array.isArray(e)?e:[],r=new Map;return n.forEach(e=>{let n=dd(e?.date);if(!n)return;let i=sd(e),a=cd(e),o=od(e);if(!e?.isLogged&&i<=0&&a<=0&&o<=0)return;let s=(n.getDay()+6)%7,c=new Date(n.getFullYear(),n.getMonth(),n.getDate()-s),l=c.getTime();if(!r.has(l)){let e=new Date(c.getFullYear(),c.getMonth(),c.getDate()+6);r.set(l,{weekStart:c,weekEnd:e,label:`${fd(c)} – ${fd(e)}`,st:0,ot:0,leaveHours:0,total:0,amount:0,days:0})}let u=r.get(l);u.st+=i,u.ot+=a,u.leaveHours+=o,u.total+=i+a,u.amount+=(i+a)*Wu(t),(e?.isLogged||i>0||a>0)&&(u.days+=1)}),[...r.values()].sort((e,t)=>e.weekStart-t.weekStart)}function md(e,{high:t=25,low:n=10}={}){let r=Wu(e);return r>=t?`high`:r<n?`low`:`mid`}function hd(e){let t=e==null?``:String(e);return/[",\n\r]/.test(t)?`"${t.replace(/"/g,`""`)}"`:t}function gd(e,t){return[t.map(e=>hd(e.label)).join(`,`),...(e??[]).map(e=>t.map(t=>hd(t.format?t.format(e[t.key],e):e[t.key])).join(`,`))].join(`\r
3
3
  `)}function _d(e){let t=new Map;return(Array.isArray(e)?e:[]).forEach(e=>{let n=e?.field??e?.key??e?.value;n&&t.set(n,e)}),t}function vd(e,t,n){return(e instanceof Map?e:_d(e)).get(t)?.label||n}function yd(e,t,n){let r=(e instanceof Map?e:_d(e)).get(t)?.valueStyles;if(!Array.isArray(r)||!r.length||n==null)return null;let i=String(n).toLowerCase(),a=r.find(e=>String(e.value??``).toLowerCase()===i||String(e.label??``).toLowerCase()===i);return a?{color:a.color,bg:a.bg??a.background??a.backgroundColor,label:a.label}:null}function bd(e,t){let n=new Blob([``,t],{type:`text/csv;charset=utf-8;`}),r=URL.createObjectURL(n),i=document.createElement(`a`);i.href=r,i.download=e,document.body.appendChild(i),i.click(),document.body.removeChild(i),URL.revokeObjectURL(r)}var xd={Draft:{label:`Draft`,tone:`neutral`},Ready:{label:`Ready`,tone:`gold`},Invoiced:{label:`Invoiced`,tone:`info`},Processing:{label:`Processing`,tone:`info`,pulse:!0},Paid:{label:`Paid`,tone:`success`},Overdue:{label:`Overdue`,tone:`danger`},PaymentNotReceived:{label:`Not Received`,tone:`warning`,full:`Payment Not Received`},"Partially Received":{label:`Partially Received`,tone:`gold`},Received:{label:`Received`,tone:`success`},"Ready to Pay":{label:`Ready to Pay`,tone:`info`,pulse:!0},PartiallyPaid:{label:`Partially Paid`,tone:`gold`},approved:{label:`Approved`,tone:`success`},rejected:{label:`Rejected`,tone:`danger`},logged:{label:`Pending`,tone:`gold`}};function Sd({status:e=`Ready`,size:t,styleOverride:n}){let r=xd[e]??{label:String(e),tone:`neutral`},a=n?.label??r.label,s=n?{color:n.color,background:n.bg,borderColor:n.color}:void 0,c=(0,o.jsxs)(`span`,{className:`fin-pill${n?``:` fin-pill--${r.tone}`}${t===`sm`?` fin-pill--sm`:``}`,style:s,children:[(0,o.jsx)(`span`,{className:`fin-pill__dot${r.pulse?` fin-pill__dot--pulse`:``}`}),a]});return r.full?(0,o.jsx)(i.Tooltip,{title:r.full,children:c}):c}function Cd({items:e=[],loading:t=!1,compact:n=!1}){let r=`finance-kpi-row${n?` finance-kpi-row--compact`:``}`;if(t){let t=e.length||4;return(0,o.jsx)(`div`,{className:r,children:Array.from({length:t},(e,t)=>(0,o.jsxs)(`div`,{className:`finance-kpi fin-kpi--skeleton`,children:[(0,o.jsx)(`span`,{className:`fin-skeleton fin-skeleton--label`}),(0,o.jsx)(`span`,{className:`fin-skeleton fin-skeleton--value`})]},t))})}return(0,o.jsx)(`div`,{className:r,children:e.map(e=>(0,o.jsxs)(`div`,{className:`finance-kpi fin-kpi--${e.tone??`neutral`}`,children:[e.icon?(0,o.jsx)(`span`,{className:`fin-kpi__icon`,children:e.icon}):null,(0,o.jsxs)(`span`,{className:`fin-kpi__body`,children:[(0,o.jsx)(`span`,{className:`finance-kpi__label`,children:e.label}),(0,o.jsx)(`strong`,{className:`finance-kpi__value`,children:e.value}),e.sub??e.hint?(0,o.jsx)(`span`,{className:`finance-kpi__hint`,children:e.sub??e.hint}):null]})]},e.key??e.label))})}function wd({days:e=[]}){return(0,o.jsx)(`div`,{className:`finance-hours-grid`,children:e.map(e=>(0,o.jsxs)(`div`,{className:`finance-hours-grid__day`,children:[(0,o.jsx)(`span`,{children:e.date}),(0,o.jsx)(`strong`,{children:Number(e?.workingHours?.ST??0)+Number(e?.workingHours?.OT??0)})]},e.date))})}function Td({icon:e,title:t,description:n,action:r,compact:i=!1}){return(0,o.jsxs)(`div`,{className:`fin-empty${i?` fin-empty--compact`:``}`,children:[(0,o.jsx)(`span`,{className:`fin-empty__icon`,children:e??(0,o.jsx)(a.InboxOutlined,{})}),(0,o.jsx)(`strong`,{className:`fin-empty__title`,children:t}),n?(0,o.jsx)(`span`,{className:`fin-empty__desc`,children:n}):null,r?(0,o.jsx)(`span`,{className:`fin-empty__action`,children:r}):null]})}function Ed({title:e,extra:t,children:n,empty:r,className:i=``,span:a}){return(0,o.jsxs)(`section`,{className:`fin-section${a?` fin-section--span`:``}${i?` ${i}`:``}`,children:[e?(0,o.jsxs)(`header`,{className:`fin-section__head`,children:[(0,o.jsx)(`h4`,{className:`fin-section__title`,children:e}),t?(0,o.jsx)(`span`,{className:`fin-section__extra`,children:t}):null]}):null,(0,o.jsx)(`div`,{className:`fin-section__body`,children:r?(0,o.jsx)(Td,{compact:!0,...r}):n})]})}function Dd({label:e,value:t,hint:n,strong:r,accent:i,negative:a}){return(0,o.jsxs)(`div`,{className:[`fin-line`,r?`fin-line--strong`:``,i?`fin-line--accent`:``,a?`fin-line--negative`:``].filter(Boolean).join(` `),children:[(0,o.jsxs)(`span`,{className:`fin-line__label`,children:[e,n!=null&&n!==``?(0,o.jsx)(`span`,{className:`fin-line__hint`,children:n}):null]}),(0,o.jsx)(`span`,{className:`fin-line__value`,children:t})]})}function Od(){return(0,o.jsx)(`div`,{className:`fin-divider`})}function kd({terms:e=[]}){return(0,o.jsx)(`div`,{className:`fin-equation`,children:e.map((e,t)=>e.op?(0,o.jsx)(`span`,{className:`fin-eq__op`,children:e.op},`op-${t}`):(0,o.jsxs)(`span`,{className:`fin-eq__term${e.tone?` fin-eq__term--${e.tone}`:``}`,children:[(0,o.jsx)(`span`,{className:`fin-eq__num`,children:e.value}),(0,o.jsx)(`span`,{className:`fin-eq__lbl`,children:e.label})]},e.label??t))})}function Ad({steps:e=[]}){return(0,o.jsx)(`div`,{className:`fin-steps`,children:e.map((e,t)=>(0,o.jsxs)(`div`,{className:`fin-step fin-step--${e.state}`,children:[t>0?(0,o.jsx)(`span`,{className:`fin-step__line`}):null,(0,o.jsx)(`span`,{className:`fin-step__dot`,children:e.state===`done`?(0,o.jsx)(a.CheckOutlined,{}):null}),(0,o.jsx)(`span`,{className:`fin-step__label`,children:e.label})]},e.key??e.label))})}var jd={check:(0,o.jsx)(a.CheckCircleFilled,{}),dollar:(0,o.jsx)(a.DollarCircleFilled,{}),sync:(0,o.jsx)(a.SyncOutlined,{}),file:(0,o.jsx)(a.FileTextFilled,{})};function Md(e){if(!e)return``;let t=Date.now()-new Date(e).getTime();if(!Number.isFinite(t)||t<0)return``;let n=Math.floor(t/6e4);if(n<1)return`just now`;if(n<60)return`${n}m ago`;let r=Math.floor(n/60);if(r<24)return`${r}h ago`;let i=Math.floor(r/24);if(i<30)return`${i}d ago`;let a=Math.floor(i/30);return a<12?`${a}mo ago`:`${Math.floor(a/12)}y ago`}function Nd({events:e=[],emptyState:t}){let n=(Array.isArray(e)?[...e]:[]).reverse();return n.length?(0,o.jsx)(`div`,{className:`fin-tl`,children:n.map((e,t)=>{let r=Zu(e?.event);return(0,o.jsxs)(`div`,{className:`fin-tl__item`,children:[(0,o.jsxs)(`div`,{className:`fin-tl__rail`,children:[(0,o.jsx)(`span`,{className:`fin-tl__icon fin-tl__icon--${r.tone}`,children:jd[r.icon]??jd.file}),t<n.length-1?(0,o.jsx)(`span`,{className:`fin-tl__line`}):null]}),(0,o.jsxs)(`div`,{className:`fin-tl__body`,children:[(0,o.jsxs)(`div`,{className:`fin-tl__head`,children:[(0,o.jsx)(`strong`,{className:`fin-tl__label`,children:r.label}),e?.by?(0,o.jsx)(`span`,{className:`fin-tl__actor`,children:e.by}):null]}),(0,o.jsxs)(`div`,{className:`fin-tl__meta`,children:[e?.at?(0,o.jsx)(`span`,{children:(0,c.default)(e.at).format(`MMM D, YYYY · h:mm A`)}):null,e?.at?(0,o.jsx)(`span`,{className:`fin-tl__rel`,children:Md(e.at)}):null]})]})]},`${e?.event}-${e?.at}-${t}`)})}):(0,o.jsx)(Td,{icon:(0,o.jsx)(a.ClockCircleOutlined,{}),title:`No activity yet`,description:`Workflow events will appear here as this record moves through its lifecycle.`,...t??{}})}var Pd=[`blue`,`indigo`,`purple`,`green`];function Fd(e){let t=String(e??``),n=0;for(let e=0;e<t.length;e++)n=n*31+t.charCodeAt(e)|0;return Pd[Math.abs(n)%Pd.length]}function Id({name:e,size:t=`md`}){return(0,o.jsx)(`span`,{className:`fin-avatar fin-avatar--${Fd(e)} fin-avatar--${t}`,children:Yu(e)})}function Ld({name:e,secondary:t,link:n=!1}){return(0,o.jsxs)(`div`,{className:`fin-cell-employee`,children:[(0,o.jsx)(Id,{name:e}),(0,o.jsxs)(`span`,{className:`fin-cell-employee__text`,children:[(0,o.jsx)(`strong`,{className:`fin-cell__primary${n?` fin-cell__primary--link`:``}`,children:e||`—`}),t?(0,o.jsx)(`span`,{className:`fin-cell__secondary`,children:t}):null]})]})}function Rd({primary:e,secondary:t,link:n=!1}){return(0,o.jsxs)(`div`,{className:`fin-cell-text`,children:[(0,o.jsx)(`span`,{className:`fin-cell__primary${n?` fin-cell__primary--link`:``}`,children:e||`—`}),t?(0,o.jsx)(`span`,{className:`fin-cell__secondary`,children:t}):null]})}function zd({value:e,sub:t,strong:n=!1}){return(0,o.jsxs)(`div`,{className:`fin-cell-money`,children:[(0,o.jsx)(`span`,{className:`fin-cell-money__value${n?` fin-cell-money__value--strong`:``}`,children:typeof e==`number`?Gu(e):e??`—`}),t?(0,o.jsx)(`span`,{className:`fin-cell__secondary`,children:t}):null]})}function Bd({children:e,tone:t=`neutral`,title:n}){return(0,o.jsx)(`span`,{className:`fin-badge fin-badge--${t}`,title:n,children:e})}function Vd({margin:e,marginPercent:t}){let n=md(t);return(0,o.jsxs)(`div`,{className:`fin-cell-margin`,children:[(0,o.jsxs)(Bd,{tone:n===`high`?`success`:n===`low`?`danger`:`neutral`,children:[Number(t??0).toFixed(1),`%`]}),e==null?null:(0,o.jsx)(`span`,{className:`fin-cell__secondary`,children:Gu(e)})]})}function Hd(){return(0,o.jsx)(a.RightOutlined,{className:`fin-table__chevron`})}function Ud({rows:e=8}){return(0,o.jsx)(`div`,{className:`fin-table-skeleton`,children:Array.from({length:e},(e,t)=>(0,o.jsxs)(`div`,{className:`fin-table-skeleton__row`,children:[(0,o.jsx)(`span`,{className:`fin-skeleton fin-skeleton--avatar`}),(0,o.jsx)(`span`,{className:`fin-skeleton fin-skeleton--lg`}),(0,o.jsx)(`span`,{className:`fin-skeleton fin-skeleton--md`}),(0,o.jsx)(`span`,{className:`fin-skeleton fin-skeleton--md`}),(0,o.jsx)(`span`,{className:`fin-skeleton fin-skeleton--sm`}),(0,o.jsx)(`span`,{className:`fin-skeleton fin-skeleton--pill`})]},t))})}function Wd({columns:e,rows:t=[],rowKey:n=`timesheetId`,loading:r=!1,onRowClick:a,page:s,limit:c,total:l=0,onPageChange:u,onLimitChange:d,emptyState:f,scrollX:p=1100}){return r&&!t.length?(0,o.jsx)(Ud,{}):!r&&!t.length?(0,o.jsx)(`div`,{className:`fin-table-card`,children:(0,o.jsx)(Td,{title:`No records found`,description:`Try widening the month filter or clearing quick filters — finance records live in their timesheet's month.`,...f??{}})}):(0,o.jsxs)(`div`,{className:`fin-table-card`,children:[(0,o.jsx)(i.Table,{className:`fin-table`,size:`small`,columns:e,dataSource:t,rowKey:n,loading:r,pagination:!1,sticky:!0,scroll:{x:p},onRow:e=>({onClick:t=>{t.target.closest(`button, a, input, .fin-copy`)||a?.(e)}}),rowClassName:()=>a?`fin-table__row fin-table__row--clickable`:`fin-table__row`}),l>0&&s!=null?(0,o.jsx)(`div`,{className:`fin-table__pagination`,children:(0,o.jsx)(je,{current:s,pageSize:c,total:l,onChange:e=>u?.(e),onPageSizeChange:e=>d?.(e)})}):null]})}var Gd={location:(0,o.jsx)(a.EnvironmentOutlined,{}),designation:(0,o.jsx)(a.SolutionOutlined,{}),experience:(0,o.jsx)(a.ClockCircleOutlined,{}),employment:(0,o.jsx)(a.LaptopOutlined,{}),rate:(0,o.jsx)(a.DollarOutlined,{}),source:(0,o.jsx)(a.AimOutlined,{}),resume:(0,o.jsx)(a.FileTextOutlined,{}),edit:(0,o.jsx)(a.EditOutlined,{}),approve:(0,o.jsx)(a.CheckCircleOutlined,{}),reject:(0,o.jsx)(a.CloseCircleOutlined,{}),export:(0,o.jsx)(a.ExportOutlined,{}),openJd:(0,o.jsx)(a.ExportOutlined,{}),link:(0,o.jsx)(a.LinkOutlined,{}),shareAlt:(0,o.jsx)(a.ShareAltOutlined,{}),idcard:(0,o.jsx)(a.IdcardOutlined,{}),bank:(0,o.jsx)(a.BankOutlined,{}),team:(0,o.jsx)(a.TeamOutlined,{}),project:(0,o.jsx)(a.ProjectOutlined,{}),cycle:(0,o.jsx)(a.SyncOutlined,{}),period:(0,o.jsx)(a.CalendarOutlined,{}),PlayCircleOutlined:(0,o.jsx)(a.PlayCircleOutlined,{}),DollarOutlined:(0,o.jsx)(a.DollarOutlined,{}),FileTextOutlined:(0,o.jsx)(a.FileTextOutlined,{}),FileDoneOutlined:(0,o.jsx)(a.FileDoneOutlined,{})};function Kd({chip:e}){let t=e.icon?(0,o.jsx)(`span`,{className:`fin-meta-chip__icon`,children:e.icon}):null;return(0,o.jsxs)(`span`,{className:`fin-meta-chip`,children:[e.tooltip&&t?(0,o.jsx)(i.Tooltip,{title:e.tooltip,children:t}):t,e.label?(0,o.jsx)(`span`,{className:`fin-meta-chip__label`,children:e.label}):null,(0,o.jsx)(`span`,{className:`fin-meta-chip__value`,children:e.value??`—`}),e.badge?(0,o.jsx)(`span`,{className:`fin-badge fin-badge--brand`,children:e.badge}):null]})}function qd(e){return Array.isArray(e)?e.map(qd):e&&typeof e==`object`&&`id`in e&&`value`in e?e.id??e.value:e}function Jd(e,t){let n={_id:t,id:t},r=e?.recordMeta;if(r&&typeof r==`object`)for(let[e,t]of Object.entries(r))e in n||(n[e]=t);for(let t of e??[])for(let e of t.fields??[])e?.field!=null&&e.value!==void 0&&(n[e.field]=qd(e.value));return n}function Yd(e){return e==null?``:Array.isArray(e)?e.join(`,`):String(typeof e==`object`?e.id??e.value??``:e)}function Xd(e,t){return String(e).replace(/\{([^}]+)\}/g,(e,n)=>encodeURIComponent(Yd(t?.[n]))).replace(/:([A-Za-z_][\w]*)/g,(e,n)=>encodeURIComponent(Yd(t?.[n])))}function Zd(e,t){return String(t||``).split(`.`).reduce((e,t)=>e?.[t],e)}function Qd(e){return String(e??``).trim().toLowerCase()}function $d(e,t,n,r){return Vn(e.key,t,n,r)}function ef(e,t,n,r){return Hn(e.key,t,n,r)}function tf(e){let t=String(e.key??``);return{...e,key:t,label:e.label||t,route:e.route||e.routeTemplate||(e.actionType===`modal`&&(e.popupKey||t)?`/popup/${e.popupKey||t}`:``)}}function nf(t,n){let r=(t??[]).flatMap(e=>e.fields??[]),i=!n||/resume|cv/i.test(n),a=r.find(e=>e.field===n)??(i?r.find(e=>/resume|cv/i.test(`${e.field??``} ${e.label??``}`)):void 0);if(!a)return[];let o=String(a.type??``).trim().toLowerCase();if(!(o===`file`||o===`document`||o===`upload`)&&typeof a.value==`string`&&a.value.trim()){let e=o===`text-editor`||/<[^>]+>/.test(a.value);return[{name:a.label||n||`Document`,type:e?`html`:`text`,content:a.value}]}let s=e.ut(a.value).filter(e=>e.url);if(s.length)return s;if(typeof a.value==`string`&&a.value.trim()){let e=o===`text-editor`||/<[^>]+>/.test(a.value);return[{name:a.label||n||`Document`,type:e?`html`:`text`,content:a.value}]}return[]}function rf({moduleName:n,id:c,customConfigName:l,auxRecords:u,authToken:d,onAction:f,onTabChange:p,onHeaderData:m,hideActions:h=!1,defaultTab:g,refreshKey:_=0}){let v=(0,s.useNavigate)(),y=(0,s.useLocation)(),[b,x]=(0,r.useState)([]),[S,C]=(0,r.useState)([]),[w,T]=(0,r.useState)([]),[E,D]=(0,r.useState)(!1),[O,k]=(0,r.useState)([]),[A,j]=(0,r.useState)(0),M=l||n;(0,r.useEffect)(()=>(d&&t.h(d),()=>{d&&t.n()}),[d]),(0,r.useEffect)(()=>{if(!n)return;let t=!1;async function r(){try{let[r,i]=await Promise.all([hn({module:n,id:c,view:`detail`}),e.zt(M).catch(()=>({actions:[],actionRules:[]})),e.Pt()]);t||(x(Array.isArray(r)?r:[]),C(i.actions??[]),T(i.actionRules??[]))}catch(e){console.error(`Failed to fetch ${n} header fields:`,e),t||(x([]),C([]),T([]))}}return r(),()=>{t=!0}},[n,M,c,_,A]);let[N,P]=(0,r.useState)({signature:``,groups:{}}),F=Vu(u);(0,r.useEffect)(()=>{let e=Bu(u);if(!e.length)return;let t=!1;return Promise.all(e.map(async e=>{let t=await hn({module:e.module,id:e.id,view:`detail`}).catch(()=>[]);return[e.key,Array.isArray(t)?t:[]]})).then(e=>{t||P({signature:F,groups:Object.fromEntries(e)})}).catch(()=>{t||P({signature:F,groups:{}})}),()=>{t=!0}},[F,_]);let I=(0,r.useMemo)(()=>Uu(N.signature===F?N.groups:{}),[N,F]),L=(0,r.useMemo)(()=>Nu(M,b,{aux:I}),[M,b,I]);(0,r.useEffect)(()=>{L&&m&&m(L)},[L]);let{eyebrow:R,title:z=`-`,status:B,titleIds:ee=[],meta:te=[],ids:V=[],tabs:ne=[],stats:re=[],timestamp:H=null}=L??{},{canAdd:U,canEdit:ie,canDelete:ae}=An(n),oe=(0,r.useMemo)(()=>Jd(b,c),[b,c]),se=hc(ne,{id:c,moduleName:n,record:oe}),ce=Mu(M)?.resolveScope,[le,W]=(0,r.useState)(void 0);(0,r.useEffect)(()=>{if(typeof ce!=`function`||!c)return;let e=!1,t=Number(localStorage.getItem(`userId`))||0;return Promise.resolve().then(()=>ce({id:c,moduleName:n,record:oe,currentUserId:t})).then(t=>{e||W(t??null)}).catch(()=>{e||W(null)}),()=>{e=!0}},[ce,c,n,b]);let G=typeof ce!=`function`||le!==void 0,K=(0,r.useMemo)(()=>G?S.filter(e=>e.showInDetail??e.showInList).map(tf).filter(e=>!$d(e,oe,w,le??void 0)):[],[w,S,oe,le,G]);function ue(t){let n=Mn(t);if(n===`add`&&!U||n===`edit`&&!ie||n===`delete`&&!ae||!e.h(t.permission,M))return!1;if(t.permissionKey){let e=Zd(oe,`actionPermission.${t.permissionKey}`);if(e===!1||e===0||e===`0`)return!1}return!0}let[de,fe]=(0,r.useState)({sourceDefaultTab:g,selectedTab:g}),pe=de.sourceDefaultTab===g?de.selectedTab:g,me=se.some(e=>e.key===pe)?pe:se[0]?.key,he=e=>!e.allowedTabs?.length||e.allowedTabs.some(e=>Qd(e)===Qd(me)),ge=K.filter(e=>e.detailPlacement===`primary`&&ue(e)&&he(e)),_e=K.filter(e=>e.detailPlacement!==`primary`&&ue(e)&&he(e));if(!L)return null;let ve=r=>{let a=[...ge,..._e].find(e=>e.key===r);if(a?.actionType===`document`&&a.documentField){let t=nf(b,a.documentField);if(t.length){k(t),D(!0);return}e.Wt(a.documentModule||n,a.documentIdField?Zd(oe,a.documentIdField):c,a.documentField).then(e=>{let t=(e?.data??[]).map(e=>({name:e.fileName||e.name||e.uploadedFileName||a.documentField,url:e.fileUrl||e.url||``,type:`file`})).filter(e=>e.url);t.length?(k(t),D(!0)):i.message.warning(`No ${(a.label||`document`).toLowerCase()} available`)}).catch(()=>i.message.warning(`No ${(a.label||`document`).toLowerCase()} available`));return}if(a?.actionType===`copy`){let e=Zd(oe,a.copyField||`id`);navigator.clipboard.writeText(Yd(e)).then(()=>i.message.success(`Copied to clipboard`)).catch(()=>i.message.error(`Could not copy to clipboard`));return}if(a?.actionType===`api`&&a.apiPath){let e=Xd(a.apiPath,oe),o=String(a.apiMethod||`POST`).toUpperCase();t.a(t.b,e.startsWith(`/`)?e:`/${e}`,{method:o,body:[`GET`,`DELETE`].includes(o)?void 0:JSON.stringify({ids:[c],record:oe})}).then(()=>{i.message.success(`${a.label} completed`),j(e=>e+1),f?.(r,{moduleName:n,id:c,action:a,refreshed:!0})}).catch(e=>i.message.error(e.message||`${a.label} failed`));return}if(a?.route){let e=typeof a.route==`function`?a.route(c):Xd(a.route,Jd(b,c));if(a.linkTarget===`_blank`){window.open(e,`_blank`,`noopener`);return}e.startsWith(`/popup/`)?v(e,{state:{background:y,moduleName:n,selectedIds:[c],selectedRecords:[oe],popupContext:a.popupState??{},popupAction:{key:a.key,apiMethod:a.apiMethod,apiPath:a.apiPath,defaultTemplateId:a.defaultTemplateId},...a.popupState}}):v(e);return}f?.(r,{moduleName:n,id:c,action:a})},ye=e=>{fe({sourceDefaultTab:g,selectedTab:e}),p?.(e,{moduleName:n,id:c})},be=_e.map(e=>{let t=Un(e,oe,le??void 0),n=!t&&ef(e,oe,w,le??void 0);return{key:e.key,label:t?t.label:e.label,danger:e.danger,disabled:!!t||!!n,title:n||void 0,onClick:t||n?void 0:()=>ve(e.key)}}),xe=Mu(M)?.header;if(xe?.variant===`finance`){let t=e=>e==null?``:Array.isArray(e)?e.map(t).filter(Boolean).join(`, `):String(typeof e==`object`?e.value??e.label??e.name??e.id??``:e),r={};for(let e of b??[])for(let t of e.fields??[])t?.field!=null&&(r[t.field]=t.value);let a=e=>t(r[e]),s=a(xe.statusField),c=(xe.chips??[]).map(e=>({key:e.field,icon:e.icon?Gd[e.icon]:void 0,label:e.label,value:a(e.field)||`—`,badge:e.badgeField&&a(e.badgeField)||void 0,tooltip:e.tooltip})),l=h?[]:ge.map(e=>{let t=Un(e,oe,le??void 0),n=!t&&ef(e,oe,w,le??void 0);return{key:e.key,label:t?t.label:e.label,icon:e.icon?Gd[e.icon]:void 0,enabled:!t&&!n,variant:e.tone,disabledReason:n||void 0,onClick:t||n?void 0:()=>ve(e.key)}}),u=s?ad(n,s):[];return(0,o.jsxs)(`div`,{className:`fin-detail-header`,children:[(0,o.jsxs)(`div`,{className:`fin-dh__top`,children:[(0,o.jsxs)(`div`,{className:`fin-dh__identity`,children:[(0,o.jsx)(Id,{name:z,size:`lg`}),(0,o.jsxs)(`div`,{className:`fin-dh__who`,children:[(0,o.jsxs)(`div`,{className:`fin-dh__name-row`,children:[(0,o.jsx)(`h2`,{className:`fin-dh__name`,children:z||`Details`}),s?(0,o.jsx)(Sd,{status:s}):null]}),R?(0,o.jsx)(`span`,{className:`fin-dh__designation`,children:R}):null]})]}),l.length?(0,o.jsx)(`div`,{className:`fin-dh__actions`,children:l.map(t=>{let n=(0,o.jsx)(e.z,{variant:t.enabled?t.variant??`default`:`default`,icon:t.icon,disabled:!t.enabled,onClick:t.onClick,children:t.label},t.key??t.label);return t.enabled||!t.disabledReason?n:(0,o.jsx)(i.Tooltip,{title:t.disabledReason,children:(0,o.jsx)(`span`,{className:`fin-dh__action-wrap`,children:n})},t.key??t.label)})}):null]}),c.length?(0,o.jsx)(`div`,{className:`fin-dh__chips`,children:c.map(e=>(0,o.jsx)(Kd,{chip:e},e.key??e.label))}):null,u.length?(0,o.jsx)(Ad,{steps:u}):null]})}return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(i.Card,{className:`znx-dh-card`,children:[(0,o.jsxs)(`div`,{className:`znx-dh-top`,children:[(0,o.jsxs)(`div`,{className:`znx-dh-left`,children:[R&&(0,o.jsx)(`div`,{className:`znx-dh-eyebrow`,children:R}),(0,o.jsxs)(`div`,{className:`znx-dh-titlerow`,children:[(0,o.jsx)(`span`,{className:`znx-dh-title`,children:z}),ee.map(e=>(0,o.jsxs)(`span`,{className:`znx-dh-titleid`,children:[(0,o.jsxs)(`span`,{className:`znx-dh-id-label`,children:[e.label,`:`]}),` `,e.value]},e.label)),B&&(0,o.jsx)(i.Tag,{color:B.color,className:`znx-dh-status`,style:{backgroundColor:B.backgroundColor??B.color,borderColor:B.backgroundColor??B.color,color:B.textColor},children:B.label})]}),V.length>0&&(0,o.jsx)(`div`,{className:`znx-dh-ids`,children:V.map(e=>(0,o.jsxs)(`span`,{className:`znx-dh-id`,children:[(0,o.jsxs)(`span`,{className:`znx-dh-id-label`,children:[e.label,`:`]}),` `,e.value]},e.label))}),te.length>0&&(0,o.jsx)(`div`,{className:`znx-dh-meta`,children:te.map((e,t)=>{let n=zu(e,e=>Zd(oe,e)??oe?.[e]);return(0,o.jsxs)(`span`,{className:`znx-dh-meta-item`,children:[n.icon&&Gd[n.icon]&&(0,o.jsx)(`span`,{className:`znx-dh-meta-icon`,children:Gd[n.icon]}),n.variant===`pill`?(0,o.jsxs)(o.Fragment,{children:[n.label&&(0,o.jsxs)(`span`,{className:`znx-dh-meta-label`,children:[n.label,`:`]}),(0,o.jsx)(i.Tag,{className:`znx-dh-meta-pill`,color:n.tagColor,style:n.tagStyle,children:n.value||n.text})]}):(0,o.jsx)(`span`,{children:n.text})]},t)})})]}),!h&&(0,o.jsxs)(`div`,{className:`znx-dh-actions-col`,children:[(0,o.jsxs)(`div`,{className:`znx-dh-actions`,children:[ge.map(e=>{let t=Un(e,oe,le??void 0),n=!t&&ef(e,oe,w,le??void 0),r=(0,o.jsx)(i.Button,{type:`text`,disabled:!!t||!!n,className:`znx-dh-btn znx-dh-btn--${t?t.tone:e.tone??`primary`}${t?` znx-dh-btn--done`:``}`,icon:t?(0,o.jsx)(a.CheckCircleOutlined,{}):e.icon?Gd[e.icon]:void 0,onClick:t||n?void 0:()=>ve(e.key),children:t?t.label:e.label},e.key);return n?(0,o.jsx)(i.Tooltip,{title:n,children:(0,o.jsx)(`span`,{children:r})},e.key):r}),_e.length>0&&(0,o.jsx)(i.Dropdown,{trigger:[`click`],placement:`bottomRight`,menu:{items:be},children:(0,o.jsx)(i.Button,{type:`text`,className:`znx-dh-more`,icon:(0,o.jsx)(a.MoreOutlined,{})})})]}),re.length>0&&(0,o.jsx)(`div`,{className:`znx-dh-stats`,children:re.map(e=>(0,o.jsxs)(`div`,{className:`znx-dh-stat`,children:[(0,o.jsx)(`span`,{className:`znx-dh-stat-value`,children:e.value}),(0,o.jsx)(`span`,{className:`znx-dh-stat-label`,children:e.label})]},e.label))}),H?.value&&(0,o.jsxs)(`div`,{className:`znx-dh-created`,children:[`Created on `,H.value]})]})]}),se.length>0&&(0,o.jsx)(`div`,{className:`znx-dh-tabs`,children:se.map(e=>(0,o.jsx)(`button`,{type:`button`,className:`znx-dh-tab${me===e.key?` is-active`:``}`,onClick:()=>ye(e.key),children:e.label},e.key))})]}),(0,o.jsx)(e.Or,{documents:O,open:E,onClose:()=>D(!1)})]})}var af={};function of(){let e=(typeof window<`u`&&window.__CORE_THEME_CONFIG__?.tabContentRegistry)??{};if(!Object.keys(e).length)return af;let t={...af};return Object.entries(e).forEach(([e,n])=>{t[e]={...t[e]??{},...n}}),t}function sf(e,t){return!t||t===`details`?null:of()[e]?.[t]??null}function cf(){let e=(0,s.useLocation)();return e.state?.refreshTimestamp??e.state?.__refreshedAt??0}function lf({component:e,id:t,moduleName:n,onDescriptionSaved:r}){return e?(0,o.jsx)(e,{id:t,moduleName:n,onDescriptionSaved:r}):null}var{Text:uf}=i.Typography;function df({moduleName:e,id:t,backPath:n=``,showFooter:a=!0,users:c=[],showActivity:l=!0,showNotes:u=!0,onHeaderAction:d,onHeaderTabChange:f,onHeaderData:p}){let m=(0,s.useNavigate)(),h=(0,s.useParams)(),[g,_]=(0,s.useSearchParams)(),v=(0,s.useLocation)(),y=t||h.id||g.get(`jobId`)||g.get(`id`)||v.state?.record?._id||v.state?.record?.id,b=g.get(`tab`)||`details`,[x,S]=(0,r.useState)(0),C=cf(),w=(e,t)=>{let n=new URLSearchParams(g);n.set(`tab`,e),_(n,{replace:!0}),f?.(e,t)},T=()=>S(e=>e+1),E=(e,t)=>{d?.(e,t)},D=(0,r.useMemo)(()=>Mu(e)?.tabs??[],[e]),O=hc(D,{id:y,moduleName:e}),k=b===`details`||!D.some(e=>e.key===b&&typeof e.visibleWhen==`function`)||O.some(e=>e.key===b),A=(0,r.useMemo)(()=>k?sf(e,b):null,[e,b,k]);return(0,o.jsxs)(`div`,{className:`v1-page v1-detail-page`,children:[(0,o.jsxs)(`div`,{className:`v1-page-inner`,children:[(0,o.jsx)(rf,{moduleName:e,id:y,defaultTab:b,onAction:E,onTabChange:w,onHeaderData:p,refreshKey:C}),A?(0,o.jsx)(lf,{component:A,id:y,moduleName:e,onDescriptionSaved:T}):(0,o.jsxs)(i.Row,{gutter:[16,16],align:`stretch`,children:[(0,o.jsx)(i.Col,{xs:24,lg:16,children:(0,o.jsx)(eu,{moduleName:e,id:y,refreshKey:x+C,onDescriptionSaved:T})}),(0,o.jsx)(i.Col,{xs:24,lg:8,children:(0,o.jsx)(Us,{moduleName:e,id:y,users:c,showActivity:l,showNotes:u,refreshKey:C})})]})]}),n&&a&&(0,o.jsxs)(`div`,{className:`v1-footer`,children:[(0,o.jsx)(uf,{type:`secondary`,children:y?`Record ID: ${y}`:`Detail view`}),(0,o.jsx)(i.Button,{onClick:()=>m(n),children:`Back`})]})]})}df.propTypes={moduleName:l.default.string,id:l.default.string,backPath:l.default.string,showFooter:l.default.bool,users:l.default.array,showActivity:l.default.bool,showNotes:l.default.bool,onHeaderAction:l.default.func,onHeaderTabChange:l.default.func,onHeaderData:l.default.func};var ff={jobRemoteStatus:[`On-Site`,`Remote`,`Hybrid`],jobRecruitmentStatus:[`unread`,`partially fulfilled`,`fulfilled`],"experience.experienceRequiredUnit":[`Years`,`Months`],"contractDuration.unit":[`Days`,`Weeks`,`Months`,`Years`],noticePeriodUnit:[`Days`,`Weeks`,`Months`],"jobPayDetails.clientBudgetCurrency":[`$`,`USD`,`INR`],"jobPayDetails.clientBudgetUnit":[`Hour`,`Daily`,`Monthly`,`Yearly`],workAuthorisation:[`US Citizen`,`Green Card`,`H1B`,`OPT`,`CPT`,`L2 EAD`,`H4 EAD`,`Other`],source:[`LinkedIn`,`Referral`,`Dice`,`Indeed`,`Monster`,`Vendor`,`Other`]};function pf(e={}){return ff[e.field]??[]}var mf=new Set([``,`false`,`0`,`no`,`null`,`undefined`]);function hf(e){return e==null||e===!1?!1:typeof e==`number`?e!==0&&!Number.isNaN(e):typeof e==`string`?!mf.has(e.trim().toLowerCase()):Array.isArray(e)?e.length>0:!0}function gf(e){return Array.isArray(e)?e.map(e=>String(e??``).trim()).filter(Boolean):String(e??``).split(/[\s,]+/).map(e=>e.trim()).filter(Boolean)}function _f({lockKeys:e=[],resultValue:t,hasResultField:n=!0,readSibling:r}){return!e.length||typeof r!=`function`||n&&!hf(t)?!1:e.every(e=>hf(r(e)))}function vf(e,t=[]){let n=e;for(let e of t){if(n==null)return;n=n[e]}return n}var yf=e.Nr({default:()=>up}),{Text:bf}=i.Typography,{TextArea:xf}=i.Input;function Sf(e,t){return Array.isArray(e)&&e.length>1?[...e.slice(0,-1),t]:[t]}function Cf({form:t,field:n,absoluteName:a}){let[s,c]=(0,r.useState)(!1),[l,u]=(0,r.useState)(null),d=(0,r.useRef)(null),f=i.Form.useWatch(n.verifyResultField?Sf(a,n.verifyResultField):[`__noop_verify__`],{form:t,preserve:!0}),p=i.Form.useWatch(a,t),m=(0,r.useMemo)(()=>gf(n.verifyLockedWhenFields),[n.verifyLockedWhenFields]),h=i.Form.useWatch(e=>_f({lockKeys:m,resultValue:vf(e,Sf(a,n.verifyResultField)),hasResultField:!!n.verifyResultField,readSibling:t=>vf(e,Sf(a,t))}),{form:t,preserve:!0});return(0,r.useEffect)(()=>{let e=String(p??``).trim();if(f===!0&&d.current===null&&e){d.current=e;return}f===!0&&d.current!==null&&e!==d.current&&(n.verifyResultField&&t.setFieldValue(Sf(a,n.verifyResultField),!1),n.verifyTimestampField&&t.setFieldValue(Sf(a,n.verifyTimestampField),void 0),d.current=null)},[a,p,n.verifyResultField,n.verifyTimestampField,t,f]),n.verifyAction===`email`?h?(0,o.jsx)(bf,{type:`success`,strong:!0,className:`v1-verify-field-wrap`,children:n.verifyLockedLabel||`Verified`}):f===!0?l&&!l.mailboxConfirmed&&(l.catchAll||l.result===`risky`)?(0,o.jsx)(i.Tooltip,{title:l.reason||`This domain accepts every address, so the mailbox could not be confirmed. Delivery is proven only once the account email is actually sent.`,children:(0,o.jsx)(bf,{type:`warning`,strong:!0,className:`v1-verify-field-wrap`,children:n.verifyUnconfirmedLabel||`Accepted`})}):(0,o.jsx)(bf,{type:`success`,strong:!0,className:`v1-verify-field-wrap`,children:n.verifySuccessLabel||`Valid`}):(0,o.jsx)(i.Button,{size:`small`,loading:s,onClick:async()=>{let r=String(p??``).trim();if(!r){i.message.warning(`Enter an email first`);return}c(!0);try{let o=await e.br(r);d.current=o.valid?r:null,u(o.valid?o:null),n.verifyResultField&&t.setFieldValue(Sf(a,n.verifyResultField),o.valid),n.verifyTimestampField&&t.setFieldValue(Sf(a,n.verifyTimestampField),o.valid?new Date().toISOString():void 0),o.valid?o.mailboxConfirmed?i.message.success(`Email verified — the mail server confirmed this mailbox`):i.message.warning(o.reason||`The domain can receive mail, but this exact mailbox could not be confirmed`):i.message.error(o.reason?`Invalid email: ${o.reason}`:`Email could not be verified`)}catch(e){d.current=null,u(null),n.verifyResultField&&t.setFieldValue(Sf(a,n.verifyResultField),!1),n.verifyTimestampField&&t.setFieldValue(Sf(a,n.verifyTimestampField),void 0),i.message.error(e?.message||`Could not verify email`)}finally{c(!1)}},className:`v1-verify-field-wrap`,children:f===!1?n.verifyRetryLabel||`Re Verify`:n.verifyIdleLabel||`Verify Email`}):null}function wf({form:t,field:n,siblingPrefix:r,locked:a,combined:s=!1}){let c=e.a(n,i.Form.useWatch(e.r(n?.labelWhen,r),t),s);return s?c:(0,o.jsx)(Bf,{field:n,label:c,locked:a})}function Tf({form:e,groups:t,disabled:n,loading:r,onClick:a,children:s}){let c=i.Form.useWatch(e=>t.some(t=>{if(!t.addRow||!t.requireValidatedField)return!1;let n=e?.[t.name]??[];return n.length===0||n.some(e=>!e?.[t.requireValidatedField])}),{form:e,preserve:!0}),l=n||c,u=t.find(e=>e.submitDisabledMessage)?.submitDisabledMessage,d=t.find(e=>e.requireValidatedField)?.requireValidatedFieldMessage,f=c?d||u||`Verify every required row before submitting.`:u||`Complete all mandatory fields before submitting.`,p=(0,o.jsx)(i.Button,{type:`primary`,onClick:a,disabled:l,loading:r,children:s});return l&&!r?(0,o.jsx)(i.Tooltip,{title:f,children:(0,o.jsx)(`span`,{style:{display:`inline-flex`,cursor:`not-allowed`},children:p})}):p}function Ef({form:t,rules:n,watchPaths:a,targetPath:o,resetOnNoMatch:s=!0}){let c=i.Form.useWatch(e=>JSON.stringify(a.map(({path:t})=>t.reduce((e,t)=>e==null?e:e[t],e)??null)),{form:t,preserve:!0}),l=(0,r.useRef)(void 0),u=(0,r.useRef)(!0);return(0,r.useEffect)(()=>{let r=c?JSON.parse(c):[],i={};a.forEach(({field:e},t)=>{i[e]=r[t]});let d=u.current;u.current=!1;let f=e.C({rules:n,watched:i,current:t.getFieldValue(o),lastApplied:l.current,clearOnMismatch:s,initial:d});f.action===`set`?(t.setFieldValue(o,f.value),l.current=f.value):f.action===`clear`&&(t.setFieldValue(o,void 0),l.current=void 0)},[c]),null}var Df=[(0,o.jsx)(a.UserOutlined,{}),(0,o.jsx)(a.EnvironmentOutlined,{}),(0,o.jsx)(a.SolutionOutlined,{}),(0,o.jsx)(a.InfoCircleOutlined,{}),(0,o.jsx)(a.FileTextOutlined,{})],Of={email:(0,o.jsx)(a.MailOutlined,{className:`v1-input-icon`}),contactNumber:(0,o.jsx)(a.PhoneOutlined,{className:`v1-input-icon`}),phone:(0,o.jsx)(a.PhoneOutlined,{className:`v1-input-icon`}),currentLocation:(0,o.jsx)(a.EnvironmentOutlined,{className:`v1-input-icon`}),preferredLocation:(0,o.jsx)(a.EnvironmentOutlined,{className:`v1-input-icon`}),designation:(0,o.jsx)(a.SolutionOutlined,{className:`v1-input-icon`}),skills:(0,o.jsx)(a.TagsOutlined,{className:`v1-input-icon`}),firstName:(0,o.jsx)(a.UserOutlined,{className:`v1-input-icon`}),lastName:(0,o.jsx)(a.UserOutlined,{className:`v1-input-icon`}),jobTitle:(0,o.jsx)(a.SolutionOutlined,{className:`v1-input-icon`}),jobLocation:(0,o.jsx)(a.EnvironmentOutlined,{className:`v1-input-icon`}),vendorEmail:(0,o.jsx)(a.MailOutlined,{className:`v1-input-icon`})},kf=e=>e===!0||e===1||e===`1`,Af=(t,n)=>(t?.edit===void 0||kf(t.edit))&&(!t?.editablePermission||e.h(t.editablePermission,n)),jf=e=>e==null||e===``;function Mf(e){return e==null||e===``?!1:Array.isArray(e)?e.length>0&&e.some(Mf):typeof e==`object`?Object.values(e).some(Mf):!0}function Nf(e=``){let t=String(e).toLowerCase();return t===`job`?`jobs`:t===`candidate`?`candidates`:t===`submissions`?`submission`:t}function Pf(e=[]){return e.map(e=>typeof e==`string`?{label:e,value:e}:{label:e.label??e.name??e.value??e.userName??e.email,value:e.value??e.id??e.userId??e._id??e.name??e.label})}function Ff(e,t){if(!e?.field)return!0;let n=String(t??``),r=String(e.value??``),i=()=>r.split(`,`).map(e=>e.trim());switch(e.operator){case`eq`:return n===r;case`neq`:return n!==r;case`in`:return i().includes(n);case`notIn`:return!i().includes(n);case`truthy`:return kf(t);case`falsy`:return!kf(t);case`empty`:case`isEmpty`:return t==null||n.trim()===``||Array.isArray(t)&&t.length===0;case`notEmpty`:return!(t==null||n.trim()===``||Array.isArray(t)&&t.length===0);default:return!0}}var If=r.default.createContext(!1);function Lf({form:t,group:n,children:a}){let s=r.default.useContext(If),c=n?.disabledIf?.field?e.it(n.disabledIf.field):[`__noop_group_disabled__`],l=i.Form.useWatch(c,t),u=n?.disabledIf?.field?Ff(n.disabledIf,l):!1,d=s||!!n?.disabled||u;return(0,o.jsx)(If.Provider,{value:d,children:a})}function Rf({form:e,showIf:t,render:n}){return Ff(t,i.Form.useWatch(t.field,e))?n():null}function zf(e,t){return String(t??``).split(`.`).reduce((e,t)=>e?.[t],e)}function Bf({field:t,label:n,locked:r}){if(!n)return n;let s=e.g(t),c=!!s;return!c&&!r?n:(0,o.jsxs)(`span`,{className:`v1-field-label-with-info`,children:[(0,o.jsx)(`span`,{children:n}),c&&(0,o.jsx)(i.Tooltip,{title:s,children:(0,o.jsx)(a.InfoCircleOutlined,{className:`v1-field-info-icon`})}),r&&(0,o.jsx)(i.Tooltip,{title:`You don't have permission to edit this field`,children:(0,o.jsx)(a.LockOutlined,{className:`v1-field-info-icon`})})]})}function Vf({group:e}){return!kf(e?.infoEnabled)||jf(e?.infoText)?null:(0,o.jsx)(bf,{type:`secondary`,className:`v1-group-info-message`,children:e.infoText})}function Hf({group:e}){return!kf(e?.toggleEnabled)||jf(e?.toggleField)?null:(0,o.jsxs)(i.Space,{size:6,align:`center`,onClick:e=>e.stopPropagation(),children:[(0,o.jsx)(bf,{type:`secondary`,className:`v1-combine-toggle-label`,children:e.toggleLabel||`Toggle`}),(0,o.jsx)(i.Form.Item,{name:e.toggleField,valuePropName:`checked`,initialValue:!!e.toggleValue,noStyle:!0,children:(0,o.jsx)(i.Switch,{size:`small`})})]})}function Uf(t=[],n,r,i){let a=i??new Set;return[...t].filter(t=>!kf(t.hideGroup)&&!kf(t.hideGroupInForm)&&e.Ot(r,t.name)).sort((e,t)=>Number(e.order??0)-Number(t.order??0)).map(t=>({...t,fields:[...t.fields??[]].map(e=>a.has(e.field)?{...e,show:1,req:1}:e).filter(i=>String(i.field??``).trim()!==``&&(!i.visiblePermission||e.h(i.visiblePermission,n))&&e.Et(r,t.name,i.field)).map(n=>e.Dt(r,t.name,n.field)?n:{...n,disabled:!0}).sort((e,t)=>Number(e.order??0)-Number(t.order??0))})).filter(e=>e.fields.length)}function Wf(e){return String(e??``).replace(/<[^>]*>/g,``).replace(/&nbsp;/g,` `).replace(/&amp;/g,`&`).replace(/&lt;/g,`<`).replace(/&gt;/g,`>`).trim()}function Gf(e,t){let n=(e.validations??e.validation??e.rules??[]).find(e=>(typeof e==`string`?e:e?.type)===t);if(!(!n||typeof n==`string`))return n.value??n.length??n[t]}var Kf=({label:e,message:t,value:n,compare:r,text:i})=>({validator:(a,o)=>jf(o)||r(Number(o),Number(n))?Promise.resolve():Promise.reject(Error(t??`${e} ${i} ${n}`))});function qf(t,n){return e.M(t,n)}function Jf(e){if(!e)return null;if(typeof e.valueOf==`function`){let t=e.valueOf();return Number.isNaN(t)?null:t}let t=new Date(e).getTime();return Number.isNaN(t)?null:t}function Yf(e){if(!e)return null;let t=(0,c.default)(e);return t.isValid()?t.startOf(`day`).valueOf():null}function Xf(e){if(!e)return null;let t=(0,c.default)(e);return t.isValid()?t.hour()*60+t.minute():null}var Zf=({label:e,message:t,value:n,rule:r,form:i,name:a,compare:o,text:s})=>({validator:async(c,l)=>{let u=n??r.compareField??r.field;if(!u||jf(l))return Promise.resolve();let d=i.getFieldValue(qf(a,u));if(jf(d))return Promise.resolve();let f=Number(l),p=Number(d);return Number.isNaN(f)||Number.isNaN(p)||o(f,p)?Promise.resolve():Promise.reject(Error(t??`${e} ${s} ${u}`))}}),Qf={noPastDate:({label:e,message:t})=>({validator:(n,r)=>{if(jf(r))return Promise.resolve();let i=new Date;return i.setHours(0,0,0,0),Jf(r)<i.getTime()?Promise.reject(Error(t??`${e} cannot be a past date`)):Promise.resolve()}}),noFutureDate:({label:e,message:t})=>({validator:(n,r)=>{if(jf(r))return Promise.resolve();let i=new Date;return i.setHours(23,59,59,999),Jf(r)>i.getTime()?Promise.reject(Error(t??`${e} cannot be a future date`)):Promise.resolve()}}),minAge:({message:e,value:t})=>({validator:(n,r)=>{if(jf(r))return Promise.resolve();let i=Number(t??18),a=new Date;return a.setFullYear(a.getFullYear()-i),a.setHours(23,59,59,999),Jf(r)>a.getTime()?Promise.reject(Error(e??`Must be at least ${i} years old`)):Promise.resolve()}}),dateAfterField:({label:e,message:t,value:n,rule:r,form:i,name:a})=>({validator:async(o,s)=>{let c=n??r.compareField??r.field;if(!c||jf(s))return Promise.resolve();let l=i.getFieldValue(qf(a,c));if(jf(l))return Promise.resolve();let u=Yf(s),d=Yf(l);return u===null||d===null||u>=d?Promise.resolve():Promise.reject(Error(t??`${e} must be on or after ${c}`))}}),dateBeforeField:({label:e,message:t,value:n,rule:r,form:i,name:a})=>({validator:async(o,s)=>{let c=n??r.compareField??r.field;if(!c||jf(s))return Promise.resolve();let l=i.getFieldValue(qf(a,c));if(jf(l))return Promise.resolve();let u=Yf(s),d=Yf(l);return u===null||d===null||u<=d?Promise.resolve():Promise.reject(Error(t??`${e} must be on or before ${c}`))}}),timeAfterField:({label:e,message:t,value:n,rule:r,form:i,name:a})=>({validator:async(o,s)=>{let c=n??r.compareField??r.field;if(!c||jf(s))return Promise.resolve();let l=i.getFieldValue(qf(a,c));if(jf(l))return Promise.resolve();let u=Xf(s),d=Xf(l);return u===null||d===null||u>d?Promise.resolve():Promise.reject(Error(t??`${e} must be after ${c}`))}}),timeBeforeField:({label:e,message:t,value:n,rule:r,form:i,name:a})=>({validator:async(o,s)=>{let c=n??r.compareField??r.field;if(!c||jf(s))return Promise.resolve();let l=i.getFieldValue(qf(a,c));if(jf(l))return Promise.resolve();let u=Xf(s),d=Xf(l);return u===null||d===null||u<d?Promise.resolve():Promise.reject(Error(t??`${e} must be before ${c}`))}}),greaterThanField:e=>Zf({...e,compare:(e,t)=>e>=t,text:`must be greater than or equal to`}),strictGreaterThanField:e=>Zf({...e,compare:(e,t)=>e>t,text:`must be greater than`}),strictLessThanField:e=>Zf({...e,compare:(e,t)=>e<t,text:`must be less than`}),lessThanOrEqualField:e=>Zf({...e,compare:(e,t)=>e<=t,text:`must be less than or equal to`}),maxFromField:t=>e.P(t),maxFieldWithFallback:({label:t,message:n,value:r,rule:i,form:a,name:o})=>({validator:async(s,c)=>{let l=e.A({input:c,compareFields:e.j(r??i.compareFields),readValue:e=>a.getFieldValue(qf(o,e))});return l.ok?Promise.resolve():Promise.reject(Error(n??`${t} must not exceed ${l.field}`))}}),required:({field:e,message:t,form:n,name:r})=>({validator:(i,a)=>{if(e?.disabledByField&&n&&r&&kf(n.getFieldValue(ep(r,e.disabledByField))))return Promise.resolve();let o=a==null||a===``||Array.isArray(a)&&a.length===0;return!o&&e?.type===`text-editor`&&(o=Wf(a)===``),o?Promise.reject(Error(t??`Mandatory Field`)):Promise.resolve()}}),email:({label:t,message:n})=>e.Z(t,n),unique:({field:t,rule:n,uniqueContext:r})=>e.W({field:t,validation:n,context:r}),url:({label:e,message:t})=>({type:`url`,message:t??`Enter valid ${e}`}),number:({label:e,message:t})=>({pattern:/^[0-9]+$/,message:t??`${e} must be a number`}),phone:({message:t})=>({validator:(n,r)=>{if(r==null||r===``)return Promise.resolve();let{total:i}=e.Ft();return e.It(r).length===i?Promise.resolve():Promise.reject(Error(t??`Phone number must contain exactly ${i} digits`))}}),len:({label:e,message:t,value:n})=>({len:Number(n),message:t??`${e} must be ${n} characters`}),pattern:({label:e,message:t,rule:n})=>({pattern:new RegExp(n.pattern??n.value,n.flags),message:t??`Enter valid ${e}`}),min:({field:e,label:t,message:n,value:r})=>e.type===`number`?Kf({label:t,message:n,value:r,compare:(e,t)=>e>=t,text:`must be at least`}):{validator:(i,a)=>{if(a==null||a===``)return Promise.resolve();let o=e.type===`text-editor`?Wf(a):String(a);return o===``||o.length>=Number(r)?Promise.resolve():Promise.reject(Error(n??`${t} must be at least ${r} characters`))}},max:({field:e,label:t,message:n,value:r})=>e.type===`number`?Kf({label:t,message:n,value:r,compare:(e,t)=>e<=t,text:`must not exceed`}):{validator:(i,a)=>{if(a==null||a===``)return Promise.resolve();let o=e.type===`text-editor`?Wf(a):String(a);return o===``||o.length<=Number(r)?Promise.resolve():Promise.reject(Error(n??`${t} must not exceed ${r} characters`))}}};function $f(e,t,n,r,i,a){let o=typeof e==`string`?{type:e}:e,s=o.type??o.rule??o.name,c=o.value??o.length??o.min??o.max,l=t.label??t.field??`Field`,u=Qf[s];return u?u({field:t,label:l,message:o.message,rule:o,value:c,form:n,name:r,prefixFor:i,uniqueContext:a}):o}function ep(e,t){return Array.isArray(e)&&e.length>1?[...e.slice(0,-1),t]:[t]}function tp(e){return kf(e?.req)?!0:(e?.validations??e?.validation??e?.rules??[]).some(e=>(typeof e==`string`?e:e?.type)===`required`)}function np(t,n,r,i=!1,a=void 0,o=void 0){let s=t.label??t.field??`Field`,c=t.validations??t.validation??t.rules??[],l=c.some(e=>(typeof e==`string`?e:e?.type)===`required`),u=c.some(e=>(typeof e==`string`?e:e?.type)===`email`),d=[];return!i&&kf(t.req)&&!l&&d.push(Qf.required({field:t,message:`Mandatory Field`,form:n,name:r})),(t.type===`email`||t.formatter===`email`)&&!u&&d.push(e.Z(s)),t.type===`number`&&d.push(kf(t.decimal)?{pattern:/^\d+(\.\d+)?$/,message:`${s} must be a number`}:{pattern:/^[0-9]+$/,message:`${s} must be a number`}),e.U([...d,...c.map(e=>$f(e,t,n,r,a,o)),e.Tt(t)])}function rp(t,n,r){let i=new Set([`greaterThanField`,`strictGreaterThanField`,`strictLessThanField`,`lessThanOrEqualField`,`maxFieldWithFallback`,`dateAfterField`,`dateBeforeField`,`timeAfterField`,`timeBeforeField`]);return[...(t.validations??t.validation??t.rules??[]).filter(e=>(typeof e==`string`?e:e?.type)===`maxFromField`).map(t=>e.N(t,n,r)).filter(Boolean),...(t.validations??t.validation??t.rules??[]).filter(e=>i.has(typeof e==`string`?e:e?.type)).flatMap(e=>String(e.value??e.compareField??e.field??``).split(`,`).map(e=>e.trim()).filter(Boolean).map(e=>qf(n,e)))]}function ip(e){let t=e.len??Gf(e,`len`),n=e.min??Gf(e,`min`),r=e.max??Gf(e,`max`);return e.type===`number`?{min:n??void 0,max:r??void 0}:{minLength:n??void 0,maxLength:e.maxLength??t??r??void 0}}function ap(e,t,n){let r=e.validations??e.validation??e.rules??[],i=[];for(let e of r){let r=typeof e==`string`?e:e?.type;if(r===`noPastDate`&&i.push(e=>{if(!e)return!1;let t=new Date;return t.setHours(0,0,0,0),Jf(e)<t.getTime()}),r===`noFutureDate`&&i.push(e=>{if(!e)return!1;let t=new Date;return t.setHours(23,59,59,999),Jf(e)>t.getTime()}),r===`minAge`){let t=Number(e?.value??18);i.push(e=>{if(!e)return!1;let n=new Date;return n.setFullYear(n.getFullYear()-t),n.setHours(23,59,59,999),Jf(e)>n.getTime()})}if(r===`dateAfterField`||r===`dateBeforeField`){let a=e?.value??e?.compareField??e?.field;if(!a)continue;i.push(e=>{if(!e)return!1;let i=t.getFieldValue(qf(n,a));if(jf(i))return!1;let o=Yf(e),s=Yf(i);return o===null||s===null?!1:r===`dateAfterField`?o<s:o>s})}}return i.length?e=>i.some(t=>t(e)):void 0}function op(e){let t=e.validations??e.validation??e.rules??[];for(let e of t){let t=typeof e==`string`?e:e?.type;if(t===`minAge`)return(0,c.default)().subtract(Number(e?.value??18),`year`);if(t===`noFutureDate`||t===`noPastDate`)return(0,c.default)()}}function sp(t,n){return n?n===`phone`?e.jt(t):n===`digits`?t.replace(/\D/g,``).slice(0,10):n===`email`||n===`noSpaces`?t.replace(/\s/g,``):n===`name`?t.replace(/\s+/g,` `).trimStart().replace(/\b\w/g,e=>e.toUpperCase()):t:t}function cp({field:n,form:s,name:c,value:l,checked:u,fileList:d,moduleName:f,initialValue:p,scopeValues:m={},onAiUpload:h,formDisabled:g,rowFieldKeys:_}){let v=n.type??`text`,y=!Af(n,f),[b,x]=(0,r.useState)(null),[S,C]=(0,r.useState)(!1),[w,T]=(0,r.useState)(``),[E,D]=(0,r.useState)(``),[O,k]=(0,r.useState)(``),[A,j]=(0,r.useState)({open:!1,docs:[],index:0}),[M,N]=(0,r.useState)(null),[P,F]=(0,r.useState)(0),I=(0,r.useRef)([]),L=Array.isArray(c)&&c.length>=3&&typeof c[1]==`number`,R=n.lookupFilterValueFrom?e.it(n.lookupFilterValueFrom):[`__lookup_filter_${n.field}`],z=n.lookupFilterValueFrom&&L?[...c.slice(0,2),...e.it(n.lookupFilterValueFrom)]:[`__noop_row_filter__`],B=i.Form.useWatch(R,s),ee=i.Form.useWatch(z,s),te=jf(ee)?B:ee,V=n.lookupFilterValueFrom?m[n.lookupFilterValueFrom]:void 0,ne=jf(V)?te:V,re=n.disabledByField?Array.isArray(c)&&c.length>1?[...c.slice(0,-1),n.disabledByField]:[n.disabledByField]:[`__noop_disabled_watch__`],H=i.Form.useWatch(re,s),U=n.disabledIf?.field?e.it(n.disabledIf.field):[`__noop_disabled_if__`],ie=n.disabledIf?.field&&L?[...c.slice(0,2),...e.it(n.disabledIf.field)]:[`__noop_disabled_if_row__`],ae=i.Form.useWatch(U,s),oe=i.Form.useWatch(ie,s),se=n.disabledIf?.field?e.i(n.disabledIf,jf(oe)?ae:oe):!1,ce=n.optionsFromField||``,le=ce?e.it(ce):[`__noop_options_from__`],W=ce&&L&&(!_||_.has(ce))?[...c.slice(0,2),...e.it(ce)]:[`__noop_options_from_row__`],G=i.Form.useWatch(le,s),K=i.Form.useWatch(W,s),ue=jf(K)?G:K,de=kf(n.prefillWhenExclusive)&&n.prefillWhen?.length?n.prefillWhen:null,fe=i.Form.useWatch(t=>de?JSON.stringify(e.x(de).map(n=>{let r=e=>e.reduce((e,t)=>e==null?e:e[t],t),i=L&&(!_||_.has(n))?r([...c.slice(0,2),...e.it(n)]):void 0;return(jf(i)?r(e.it(n)):i)??null})):``,{form:s,preserve:!0}),pe=(0,r.useMemo)(()=>{if(!de||!fe)return null;let t=JSON.parse(fe),n={};return e.x(de).forEach((e,r)=>{n[e]=t[r]}),n},[fe]),me=r.default.useContext(If),he=n.exclusiveInGroup&&L?[c[0]]:[`__noop_exclusive_watch__`],ge=i.Form.useWatch(he,s),_e=(0,r.useMemo)(()=>{if(!n.exclusiveInGroup||!L||!Array.isArray(ge))return!1;let e=c[1],t=c[c.length-1];return ge.some((n,r)=>r!==e&&kf(n?.[t]))},[n.exclusiveInGroup,L,ge,c]),ve=y||!!n.disabled||se||(n.disabledByField?kf(H):!1)||!!g||me||_e;(0,r.useEffect)(()=>{if(v===`location`){let e=!1;async function r(){try{C(!0);let r=await t.a(t.b,`/admin/location-dropdown-values?${new URLSearchParams({search:w,limit:String(n.limit??50),offset:`0`})}`),i=r?.data??r??[];e||x(Pf(Array.isArray(i)?i:[]))}catch(t){console.error(`[EditFormV1] Failed to fetch locations for "${n.field}":`,t),e||x([])}finally{e||C(!1)}}return r(),()=>{e=!0}}let r=n.dataSource;if(![`select`,`radio`,`checkbox`].includes(v)||!r||r===`static`)return;if(r===`lookup`&&n.lookupFilterField&&jf(ne)){x([]),C(!1);return}let i=!1;async function a(){try{C(!0);let a=[];if(r===`master`||r===`module`)a=await e.Cr(f,n.field,r===`master`?O:``,n.limit??50,0,{dataSource:r,masterName:n.masterName,groupName:n.groupName});else if(r===`lookup`){let r=new URLSearchParams({collection:n.lookupCollection??``,displayField:n.displayField??``,valueField:n.valueField??`_id`});n.displayField2&&r.set(`displayField2`,n.displayField2),E&&r.set(`search`,E),n.lookupFilterField&&!jf(ne)&&(r.set(`filterField`,n.lookupFilterField),r.set(`filterValue`,String(ne)));let i={field:n.field,extraFields:n.extraFields,optionsRequireExtraField:n.optionsRequireExtraField,optionsRequireExtraValue:n.optionsRequireExtraValue,optionsHierarchyParentField:n.optionsHierarchyParentField,optionsHierarchySelfFrom:n.optionsHierarchySelfFrom},o=e.v(i);o.length&&r.set(`extraFields`,o.join(`,`));let s=await t.a(t.b,`/admin/lookup-dropdown-values?${r}`);a=s?.data??s??[],a=e._(a,i,{source:`EditFormV1`})}else if(r===`group`){let e=String(n.groupName??``).toLowerCase().trim();if(e===`users`||e===`user`){let e=await t.a(t.b,`/get-all-users?limit=500&offset=0`),n=e?.data?.users??e?.users??e?.data??[];a=Array.isArray(n)?n.map(e=>({label:[e.firstName,e.lastName].filter(Boolean).join(` `).trim()||e.userName||e.email||String(e.userId??e.id),value:e.userId??e.id})):[]}}i||(I.current=Array.isArray(a)?a:[],x(Pf(I.current)))}catch(e){console.error(`[EditFormV1] Failed to fetch options for "${n.field}":`,e),i||x([])}finally{i||C(!1)}}return a(),()=>{i=!0}},[v,n.dataSource,n.field,n.lookupCollection,n.displayField,n.displayField2,n.valueField,n.lookupFilterField,ne,n.groupName,n.masterName,n.limit,w,E,O,f,n.extraFields,n.optionsRequireExtraField,n.optionsRequireExtraValue,n.optionsHierarchyParentField,n.optionsHierarchySelfFrom,P]);let ye=Pf([n.options,n.values].find(e=>Array.isArray(e)&&e.length>0)??(v===`checkbox`?[]:pf(n))),be=b??ye,xe=ce?e.y(be,ue):be,Se=de?e.b(xe,de,pe??{}):xe,Ce=(n.multiSelect?`multiple`:n.mode??(kf(n.multiple)?`multiple`:void 0))??(e.vt(n)===`array`?`multiple`:void 0),we=kf(n.allowCustomValues),Te=we?`tags`:Ce,Ee=!!n.multiSelect||kf(n.multiple)||e.vt(n)===`array`||Ce===`multiple`,De=we?typeof n.tokenSeparators==`string`&&n.tokenSeparators?n.tokenSeparators.split(``):[`,`]:void 0,Oe=[`select`,`location`].includes(v),ke=n.hidePlaceholder?void 0:n.placeholder??`${Oe?`Select`:`Enter`} ${String(n.label??``).toLowerCase()}`,Ae=ip(n),je=()=>{setTimeout(()=>{s.validateFields([c]).catch(()=>{})})},Me=e=>{s.setFieldValue(c,e),je()},q=e.I({field:n,form:s,name:c,moduleName:f,scopeValues:m,ownValue:l,onDone:(t,r)=>{F(e=>e+1);let i=e.vt(n)!==`array`&&!n.multiSelect&&!n.multiple;t===`create`&&r!=null&&i&&Me(e.wt(n)?{value:r}:r)}}),J=n.validator?.type?{...n.validator,title:n.validator.title||n.label||`Field`}:null,Ne={...Ae,value:l,disabled:ve,placeholder:ke,prefix:n.icon?null:Of[n.field],onChange:t=>{let r=n.formatter?sp(t.target.value,n.formatter):t.target.value;if(J){let{cleaned:t,error:n}=e.Y(r,J,`change`);N(n),r=t}Me(r)},...J&&{onBlur:t=>{let{cleaned:n,error:r}=e.Y(t.target.value,J,`blur`);N(r),n!==t.target.value&&Me(n)},onKeyPress:t=>{let n=e.X(J.type);if(!n||t.which===0||t.keyCode===8||t.keyCode===13)return;let r=String.fromCharCode(t.which??t.keyCode);if(!n.test(r)){t.preventDefault();let e=`${J.title} — invalid character.`;N(e),setTimeout(()=>N(t=>t===e?null:t),1800)}},maxLength:J.maxLength??Ae.maxLength}};if(v===`tagify`)return(0,o.jsx)(i.Select,{value:l,allowClear:!0,disabled:ve,mode:`tags`,placeholder:ke,onChange:Me});if(v===`location`)return(0,o.jsx)(i.Select,{value:l,allowClear:!0,showSearch:!0,filterOption:!1,disabled:ve,loading:S,options:Se,placeholder:ke,notFoundContent:S?(0,o.jsx)(i.Spin,{size:`small`}):void 0,onSearch:T,onFocus:()=>T(e=>e),onChange:Me});if(v===`select`){let t=n.dataSource===`lookup`,r=n.dataSource===`master`,a=t||r,u=e.wt(n),d=e.Ct(n,l,Se),f=we&&!Ee?d==null||d===``?void 0:Array.isArray(d)?d:[d]:d;return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(i.Select,{value:f,allowClear:!0,disabled:ve,loading:S,labelInValue:u||void 0,showSearch:n.showSearch!==!1,optionFilterProp:`label`,filterOption:a?!1:void 0,mode:Te,tokenSeparators:De,options:Se,placeholder:ke,notFoundContent:S?(0,o.jsx)(i.Spin,{size:`small`}):void 0,onSearch:t?D:r?k:void 0,onChange:t=>{let r=we&&!Ee&&Array.isArray(t)?t.length?t[t.length-1]:void 0:t;if(Me(r),n.autofillFrom?.length){let t=r&&!Array.isArray(r)&&typeof r==`object`?r.value:r,i=Array.isArray(c)&&c.length>=3&&typeof c[1]==`number`;if(r==null)n.autofillFrom.forEach(({targetField:t})=>{let n=i?[...c.slice(0,2),...e.it(t)]:e.it(t);s.setFieldValue(n,null)});else if(I.current.length>0){let r=n.valueField??`_id`,a=I.current.find(e=>zf(e,r)===t||e._id===t||e.id===t||e.value===t);a&&n.autofillFrom.forEach(({optionKey:t,targetField:n})=>{let r=zf(a,t)??a.extraData?.[t]??null,o=i?[...c.slice(0,2),...e.it(n)]:e.it(n);s.setFieldValue(o,r)})}}},dropdownRender:q.footer?e=>(0,o.jsxs)(o.Fragment,{children:[e,q.footer]}):void 0}),q.modal]})}if(v===`radio`)return(0,o.jsx)(i.Radio.Group,{value:l,disabled:ve,options:Se,onChange:e=>Me(e.target.value)});if(v===`checkbox`)return Se.length>0?(0,o.jsx)(i.Checkbox.Group,{value:l,disabled:ve,options:Se,onChange:Me}):(0,o.jsx)(i.Checkbox,{checked:u,disabled:ve,onChange:e=>{let t=e.target.checked;if(Me(t),n.linkedClearField&&t){let e=Array.isArray(c)&&c.length>1?[...c.slice(0,-1),n.linkedClearField]:[n.linkedClearField];s.setFieldValue(e,null)}},children:n.checkboxLabel??n.label});if(v===`text-editor`)return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e.kr,{value:l??p??``,disabled:ve,placeholder:ke,onChange:t=>{if(J){let{error:n}=e.Y(t,J,`change`);N(n)}Me(t)}}),M&&(0,o.jsx)(`div`,{className:`v1-input-validator-hint`,children:M})]});if(v===`textarea`)return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(xf,{...Ne,rows:n.rows??3,className:`v1-scroll-textarea`}),M&&(0,o.jsx)(`div`,{className:`v1-input-validator-hint`,children:M})]});if(v===`date`)return(0,o.jsx)(i.DatePicker,{value:l,disabled:ve,placeholder:ke,style:{width:`100%`},suffixIcon:(0,o.jsx)(a.CalendarOutlined,{}),disabledDate:ap(n,s,c),defaultPickerValue:op(n),onChange:e=>Me(e)});if(v===`time`)return(0,o.jsx)(i.TimePicker,{value:l,disabled:ve,placeholder:ke,style:{width:`100%`},onChange:e=>Me(e)});if(v===`file`){let t=n.validations??n.validation??n.rules??[],r=t.find(e=>(typeof e==`string`?e:e?.type)===`fileType`),s=t.find(e=>(typeof e==`string`?e:e?.type)===`fileSize`),c=t.find(e=>(typeof e==`string`?e:e?.type)===`maxFiles`),u=e.V(n),d=u?u.exts.map(e=>`.${e}`).join(`,`):r?.value?r.value.split(`,`).map(e=>`.${e.trim().replace(/^\./,``)}`).join(`,`):void 0,f=s?Number(s?.value??5):void 0,p=c?Number(c?.value??1):kf(n.multiple)?n.maxCount??5:1,m=Array.isArray(l)?l:[],g=m.length<p,_=e=>e?e<1024*1024?`${(e/1024).toFixed(0)} KB`:`${(e/1024/1024).toFixed(2)} MB`:``,v=e=>{let t=(e??``).split(`.`).pop()?.toLowerCase();return t===`pdf`?(0,o.jsx)(a.FilePdfOutlined,{className:`v1-file-type-icon v1-file-icon-pdf`}):[`doc`,`docx`].includes(t)?(0,o.jsx)(a.FileWordOutlined,{className:`v1-file-type-icon v1-file-icon-word`}):[`xls`,`xlsx`,`csv`].includes(t)?(0,o.jsx)(a.FileExcelOutlined,{className:`v1-file-type-icon v1-file-icon-excel`}):[`jpg`,`jpeg`,`png`,`gif`,`svg`,`webp`].includes(t)?(0,o.jsx)(a.FileImageOutlined,{className:`v1-file-type-icon v1-file-icon-image`}):(0,o.jsx)(a.FileOutlined,{className:`v1-file-type-icon v1-file-icon-default`})},y=e=>{Me(m.filter((t,n)=>n!==e))},b=(t,n)=>{j({open:!0,docs:m.map(t=>{let n=t.url??t.thumbUrl??``;return!n&&t.originFileObj instanceof File&&(n=URL.createObjectURL(t.originFileObj)),n&&!n.startsWith(`http`)&&!n.startsWith(`blob:`)&&(n=e.lt(n)),{url:n,name:t.name??`file`}}).filter(e=>e.url),index:n??0})},x=p>1,S=p-m.length,C=[u?u.hint:d?d.split(`,`).map(e=>e.replace(`.`,``).toUpperCase()).join(`, `):null,f?`up to ${f} MB`:null].filter(Boolean).join(` `),w=x&&m.length>0?[C,`${S} of ${p} remaining`].filter(Boolean).join(` • `):C,T=m.length>0?`Add ${x?`more files`:`file`}`:n.buttonLabel??`Upload ${n.label??`File`}`,E=e=>{if(m.length>=p)return i.Upload.LIST_IGNORE;if(d){let t=(e.name.split(`.`).pop()??``).toLowerCase();if(!d.split(`,`).map(e=>e.replace(/^\./,``).toLowerCase()).includes(t))return i.message.error(u?u.error:r?.message??`Only ${r.value} files are allowed`),i.Upload.LIST_IGNORE}return f!==void 0&&e.size/1024/1024>f?(i.message.error(s?.message??`File must be smaller than ${f} MB`),i.Upload.LIST_IGNORE):!1},D=({fileList:e})=>{let t=e.slice(0,p);if(Me(t),h&&t.length>m.length){let e=t[t.length-1];e?.originFileObj&&h(e.originFileObj)}},O={accept:d,fileList:m,showUploadList:!1,multiple:!0,maxCount:p,beforeUpload:E,onChange:D,disabled:ve},k=m.map((e,t)=>(0,o.jsxs)(`div`,{className:`v1-file-item`,children:[(0,o.jsx)(`div`,{className:`v1-file-item-icon`,children:v(e.name)}),(0,o.jsxs)(`div`,{className:`v1-file-item-info`,children:[(0,o.jsx)(`span`,{className:`v1-file-item-name`,title:e.name,children:e.name}),(0,o.jsx)(`span`,{className:`v1-file-item-meta`,children:e.existing?`Previously uploaded`:`${_(e.size)}${e.size?` • `:``}Uploaded just now`})]}),(0,o.jsxs)(i.Space,{size:6,className:`v1-file-item-actions`,children:[(0,o.jsx)(i.Button,{size:`small`,icon:(0,o.jsx)(a.EyeOutlined,{}),onClick:()=>b(e,t),className:`v1-file-view-btn`,children:`View`}),(0,o.jsx)(i.Button,{size:`small`,danger:!0,icon:(0,o.jsx)(a.DeleteOutlined,{}),onClick:()=>y(t),className:`v1-file-delete-btn`})]})]},e.uid??t)),M=(0,o.jsx)(e.Or,{documents:A.docs,open:A.open,onClose:()=>j(e=>({...e,open:!1})),initialIndex:A.index});if(x){let e=m.length>0?`Upload more ${n.label??`files`}`:n.buttonLabel??`Upload ${n.label??`File`}`;return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(`div`,{className:`v1-file-upload-wrapper`,children:[g&&(0,o.jsx)(i.Upload,{...O,style:{width:`100%`,display:`block`},children:(0,o.jsxs)(`div`,{className:`v1-upload-dropzone v1-upload-dropzone-center${ve?` v1-upload-dropzone-disabled`:``}`,children:[(0,o.jsxs)(`div`,{className:`v1-upload-dropzone-title-row`,children:[(0,o.jsx)(a.CloudUploadOutlined,{className:`v1-upload-cloud-icon v1-upload-cloud-icon-sm`}),(0,o.jsx)(`span`,{className:`v1-upload-dropzone-title v1-upload-dropzone-title-blue`,children:e})]}),(0,o.jsx)(`span`,{className:`v1-upload-dropzone-sub`,children:`Drag & drop or click to upload`}),C&&(0,o.jsx)(`span`,{className:`v1-upload-dropzone-sub`,children:C})]})}),m.length>0&&(0,o.jsx)(`div`,{className:`v1-file-grid`,children:k}),g&&m.length>0&&(0,o.jsx)(i.Upload,{...O,style:{display:`inline-block`},children:(0,o.jsx)(i.Button,{type:`link`,size:`small`,icon:(0,o.jsx)(a.PlusOutlined,{}),className:`v1-add-more-files-btn`,children:`Add more files`})})]}),M]})}return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(`div`,{className:`v1-file-upload-wrapper`,children:[m.length>0&&(0,o.jsx)(`div`,{className:`v1-file-rows-single`,children:k}),g&&(0,o.jsx)(i.Upload,{accept:d,fileList:m,showUploadList:!1,multiple:!1,maxCount:1,beforeUpload:E,onChange:D,disabled:ve,style:{width:`100%`,display:`block`},children:(0,o.jsxs)(`div`,{className:`v1-upload-dropzone v1-upload-dropzone-single${ve?` v1-upload-dropzone-disabled`:``}`,children:[(0,o.jsx)(a.CloudUploadOutlined,{className:`v1-upload-cloud-icon`}),(0,o.jsx)(`span`,{className:`v1-upload-dropzone-title`,children:T}),w&&(0,o.jsxs)(`span`,{className:`v1-upload-dropzone-sub`,children:[`— `,w]})]})})]}),M]})}return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(i.Input,{...Ne,type:v===`number`?`number`:v,...v===`number`&&kf(n.decimal)?{step:`any`}:{},...n.suffix?{suffix:n.suffix}:{}}),M&&(0,o.jsx)(`div`,{className:`v1-input-validator-hint`,children:M})]})}function lp({icon:e,title:t}){return(0,o.jsxs)(i.Space,{size:10,align:`center`,children:[(0,o.jsx)(`div`,{className:`v1-section-icon-box`,children:e}),(0,o.jsx)(bf,{strong:!0,className:`v1-section-label`,children:t})]})}function up({moduleName:n,groupName:c,recordId:l,authToken:u,clientId:d,region:f,breadcrumbItems:p=[],submitText:m=`Update`,cancelPath:h,onSuccess:g,fieldNameMap:_={},onFileUpload:v=null,onBeforeSubmit:y=null,extraPayload:b=null,embedded:x=!1,onCancel:S=null}){let C=(0,s.useNavigate)(),[w]=i.Form.useForm();(0,r.useEffect)(()=>(u&&t.h(u),()=>{u&&t.n()}),[u]);let[T,E]=(0,r.useState)({}),[D,O]=(0,r.useState)([]),[k,A]=(0,r.useState)(!1),[j,M]=(0,r.useState)(``),[N,P]=(0,r.useState)(!1),[F,I]=(0,r.useState)(``),[L,R]=(0,r.useState)(null),[z,B]=(0,r.useState)(()=>new Set),[ee,te]=(0,r.useState)(``),V=d||ee,[ne,re]=(0,r.useState)({});(0,r.useEffect)(()=>{e.Pt()},[]),(0,r.useEffect)(()=>{let t=!1;return queueMicrotask(()=>{if(!t){if(!n){R(null);return}e.Hn({roleId:localStorage.getItem(`roleId`)},n,{clientId:V,region:f}).then(e=>{t||R(Array.isArray(e)&&e.length?e:null)}).catch(()=>{t||R(null)})}}),()=>{t=!0}},[n,V,f]),(0,r.useEffect)(()=>{let t=!1;return queueMicrotask(()=>{if(!t){if(!n){B(new Set);return}e.Rn(n).then(e=>{t||B(new Set(Array.isArray(e)?e:[]))}).catch(()=>{t||B(new Set)})}}),()=>{t=!0}},[n]);let H=(0,r.useMemo)(()=>Uf(D,n,L,z),[D,n,L,z]),[U,ie]=(0,r.useState)(0),ae=(0,r.useMemo)(()=>e.K({checkFieldUnique:e.H,onPendingChange:ie}),[]),oe=(0,r.useMemo)(()=>({checker:ae,module:n,recordId:l,clientId:V||void 0,region:f||void 0}),[ae,n,l,V,f]),se=(0,r.useMemo)(()=>e.G(H),[H]),ce=(0,r.useMemo)(()=>e.dt(H),[H]),le=(0,r.useRef)({}),W=e.tt({form:w,groups:H,module:n}),G=(0,r.useMemo)(()=>{let t={};return H.forEach(n=>{n.addRow&&(t[n.name]=e.rt(n))}),e.pt(ce,t)},[H,ce]),K={jobs:{list:`Jobs`,path:`/jobs`,edit:`Edit Job`},candidates:{list:`Candidates`,path:`/candidates`,edit:`Edit Candidate`},submissions:{list:`Submissions`,path:`/submissions`,edit:`Edit Submission`}},ue=x?[]:p.length>0?p:(()=>{let e=K[Nf(n)];return e?[{label:`Home`,href:`/`},{label:e.list,href:e.path},{label:e.edit}]:[]})();(0,r.useEffect)(()=>{if(!n||!l)return;let t=!1;async function r(){try{A(!0),M(``),I(``);let r=await e.Sr({module:n,id:l,clientId:V,region:f,group:c});if(t)return;if(O(Array.isArray(r)?r:[]),re(r?.recordMeta??{}),!d){let n=r?.recordMeta??{},i=e=>e&&typeof e==`object`?e.id??e.value??``:e??``,a=String(i(n.clientId)||``),o=String(i(n.jobId)||``);if(!a&&o)try{let t=await e.Sr({module:`jobs`,id:o});a=String(i(t?.recordMeta?.clientId)||``)}catch{}!t&&a&&a!==ee&&te(a)}}catch(e){console.error(`Failed to fetch ${n} edit data:`,e),t||M(e?.message||`Failed to load record`)}finally{t||A(!1)}}return r(),()=>{t=!0}},[n,c,l,d,V,ee,f]),(0,r.useEffect)(()=>{k||H.length===0||e.nt(w,H)},[k,H,w]);let de=(0,r.useMemo)(()=>e.w(H.map(t=>({...t,fields:(t.fields??[]).filter(e.O)})),Nf),[H]),[fe,pe]=(0,r.useState)({});(0,r.useEffect)(()=>{if(de.length===0)return;let t=!1;return de.forEach(async n=>{let r=e.T(n,ne);if(r)try{let i=e.D(e.E(await e.Sr({module:n,id:r})));!t&&Object.keys(i).length>0&&pe(e=>({...e,[n]:i}))}catch(e){console.error(`Carrier prefill fetch failed for ${n}:`,e)}}),()=>{t=!0}},[de,ne]),(0,r.useEffect)(()=>{if(k||H.length===0||Object.keys(fe).length===0)return;let t={},n=!1;H.forEach(r=>(r.fields??[]).forEach(r=>{if(!r.field||!r.prefillFromModule||!e.O(r))return;let i=fe[Nf(r.prefillFromModule)],a=e.k(i,r);a!=null&&(e.at(t,r.field,a),n=!0)})),n&&w.setFieldsValue(t)},[fe,k,H,w]);let me=e=>{E(t=>({...t,[e]:!t[e]}))};function he(t){let r=e.ht(t,H,{module:n});return Object.entries(_).forEach(([e,t])=>{r[e]!==void 0&&(r[t]=r[e],delete r[e])}),r}async function ge(t){if(!(y&&await Promise.resolve().then(()=>y(t)).catch(()=>!1)===!1))try{P(!0),I(``);let r=e._t(t,H,{indexed:!0,module:n});if(v&&v.useLegacyUpload){let n=H.flatMap(e=>e.fields??[]).filter(e.bt);for(let e of n){let n=t[e.field];if(!Array.isArray(n))continue;let r=n.filter(e=>e.originFileObj instanceof File);try{await Promise.all(r.map(t=>v(e.field,t.originFileObj,l)))}catch(e){console.warn(`File upload failed — continuing with save:`,e)}}}await e.Ut(n,l,{...he(t),...b??{}},v?.useLegacyUpload?[]:r);let a=e._t(t,H,{module:n});if(!v?.useLegacyUpload&&a.length>0)try{await e.Gt(n,l,a)}catch(e){console.error(`Document registry upload failed during edit:`,e),i.message.warning(`Changes saved, but saving document records failed.`)}let o=e.d(H,n,`edit`);if(o&&i.message.success(o),g)g(l,t);else{let n=e.f(H);n?n.mode===`back`?C(-1):(n.mode===`route`||n.mode===`detail`)&&C(e.p(n.target,l,t)||h||-1):C(h||-1)}}catch(t){if(console.error(`Failed to update ${n}:`,t),_e(t))return;let r=e.u(H,n,`edit`,t?.message);I(r),i.message.error(r)}finally{P(!1)}}function _e(t){let n=e.q(t,{uniqueRules:se});return n.length===0?!1:(w.setFields(n.map(e=>({name:e.name??e.field,errors:[e.message]}))),E({}),e.l({errorFields:n.map(e=>{let t=e.name??e.field;return{name:Array.isArray(t)?t:[t],errors:[e.message]}})},w),!0)}let ve=t=>{E({}),e.l(t,w)},[ye,be]=(0,r.useState)({}),xe=e=>String(e?.field??``),Se=(e,t)=>typeof e==`function`?e(t):e,Ce=(e,t,n)=>{if(!e?.field)return!0;let r=Se(n,e.field),i=t(r==null?[e.field]:[...Array.isArray(r)?r:[r],e.field]);switch(e.operator){case`eq`:return String(i??``)===String(e.value??``);case`neq`:return String(i??``)!==String(e.value??``);case`truthy`:return i!=null&&i!==``&&i!==!1;case`falsy`:return i==null||i===``||i===!1;case`notEmpty`:return Array.isArray(i)?i.length>0:!!i;case`in`:return String(e.value??``).split(`,`).map(e=>e.trim()).includes(String(i??``));case`notIn`:return!String(e.value??``).split(`,`).map(e=>e.trim()).includes(String(i??``));default:return!0}},we=(e,t,n)=>{if(!e)return!0;let r=Array.isArray(e.conditions)?e.conditions.filter(e=>e?.field):[];if(r.length){let i=r.map(e=>Ce(e,t,n)),a=String(e.logic??`and`).toLowerCase()===`or`,o=a?i.some(Boolean):i.every(Boolean);if(e.field){let r=Ce(e,t,n);o=a?o||r:o&&r}return o}return Ce(e,t,n)},Te=e=>!!(e?.field||e?.conditions?.some?.(e=>e?.field)),Ee=(t,a,s,c={})=>{let l=typeof t.field==`string`&&t.field.includes(`.`)?t.field.split(`.`):null,u=l??t.field,f=a===void 0?u:[a,...l??[t.field]],p=s!==void 0&&a!==void 0?[...Array.isArray(s)?s:[s],...Array.isArray(f)?f:[f]]:f,m=t.type===`checkbox`&&(t.options&&t.options.length>0||t.dataSource&&t.dataSource!==`static`),h=!m&&t.type===`checkbox`?`checked`:`value`,g=!!t.editablePermission&&!e.h(t.editablePermission,n),_=s!==void 0&&a!==void 0?[...Array.isArray(s)?s:[s],a]:null,v=e=>_&&(!c.rowFieldKeys||c.rowFieldKeys.has(e))?_:null,y=c.inline||c.hideLabel||!m&&t.type===`checkbox`?``:(0,o.jsx)(wf,{form:w,field:t,siblingPrefix:t.labelWhen?.field?v(t.labelWhen.field):_,locked:g}),b=c.inline||t.type===`text-editor`||t.type===`file`&&kf(t.multiple)?24:t.col??12,x=rp(t,p,v),S=e.g(t),C=c.inline?{flex:`${Number(t.combineWidth)>0?Number(t.combineWidth):1} 1 0`,maxWidth:`none`}:void 0,T=(t.aiActions||[]).filter(e=>e.trigger===`click`),E=(t.aiActions||[]).find(e=>e.trigger===`upload`),D=(0,o.jsx)(i.Form.Item,{label:y,name:f,extra:t.helpText?(0,o.jsx)(bf,{type:`secondary`,className:`v1-field-help-text`,children:t.helpText}):void 0,required:tp(t),rules:np(t,w,p,!1,v,oe),dependencies:x,valuePropName:h,getValueFromEvent:t.type===`file`?e=>Array.isArray(e)?e:e?.fileList:void 0,validateTrigger:[`onBlur`,`onChange`],children:(0,o.jsx)(cp,{field:t,form:w,name:p,rowFieldKeys:c.rowFieldKeys,moduleName:n,initialValue:t.value,scopeValues:{clientId:d},onAiUpload:E?e=>W.runAction(c.groupNameForActions,t,E,e):void 0,formDisabled:W.busy})}),O=S&&!y?(0,o.jsx)(i.Tooltip,{title:S,children:(0,o.jsx)(`span`,{className:`v1-field-tooltip-wrap`,children:D})}):D,k=T.length>0?(()=>{let n=e.et(T),r=r=>(0,o.jsx)(e.$,{position:r,actions:n[r],aiActions:W,groupName:c.groupNameForActions,field:t},r);return(0,o.jsxs)(`div`,{className:`v1-ai-action-wrap`,children:[r(`top-left`),r(`top-center`),r(`top-right`),O,r(`bottom-left`),r(`bottom-center`),r(`bottom-right`)]})})():O,A=e=>a===void 0?e:[a,e],j=t.verifyAction?(0,o.jsxs)(o.Fragment,{children:[t.verifyResultField&&(0,o.jsx)(i.Form.Item,{name:A(t.verifyResultField),hidden:!0,noStyle:!0,children:(0,o.jsx)(i.Input,{})}),t.verifyTimestampField&&(0,o.jsx)(i.Form.Item,{name:A(t.verifyTimestampField),hidden:!0,noStyle:!0,children:(0,o.jsx)(i.Input,{})})]}):null,M=t.verifyAction?(0,o.jsxs)(`div`,{className:`v1-verify-field-row`,children:[k,(0,o.jsx)(Cf,{form:w,field:t,absoluteName:p}),j]}):k,N=t.prefillWhen?.length?(0,o.jsx)(Ef,{form:w,rules:t.prefillWhen,watchPaths:e.S(t.prefillWhen,p,e.F,v),targetPath:p,resetOnNoMatch:t.prefillWhenReset!==!1},`${t.field}-prefillWhen`):null,P=!c.inline&&e.n(t).length>0,F=n=>P?e.s(t,b,t=>n(e.r(t,v(t.field)))):b;return Te(t.showIf)||P?(0,o.jsxs)(r.default.Fragment,{children:[N,(0,o.jsx)(i.Form.Item,{shouldUpdate:!0,noStyle:!0,children:({getFieldValue:e})=>!Te(t.showIf)||we(t.showIf,e,v)?(0,o.jsx)(i.Col,{xs:24,md:F(e),style:C,className:c.inline?`v1-combine-cell`:void 0,children:M}):null})]},t.field):(0,o.jsxs)(r.default.Fragment,{children:[N,(0,o.jsx)(i.Col,{xs:24,md:b,style:C,className:c.inline?`v1-combine-cell`:void 0,children:M})]},t.field)},De=t=>{let r=typeof t.field==`string`&&t.field.includes(`.`)?t.field.split(`.`):[t.field],s=!!t.editablePermission&&!e.h(t.editablePermission,n),c=(0,o.jsx)(Bf,{field:t,label:t.label,locked:s}),l=e.St(t),u=Array.isArray(t.subFields)&&t.subFields.length>0,f=u?t.subFields.map(e=>({...e,show:1,edit:1})):null,p=Math.max(0,Number(t.minRows??0)||0),m=t.maxRows!==void 0&&t.maxRows!==``&&Number(t.maxRows)>0?Number(t.maxRows):0,h=e.gt(t,t.value);return(0,o.jsx)(i.Col,{xs:24,md:24,children:(0,o.jsx)(i.Form.Item,{label:c,required:tp(t),colon:!1,className:`v1-combine-field`,children:(0,o.jsx)(i.Form.List,{name:r,initialValue:h,rules:[{validator:async(e,n=[])=>{if(tp(t)&&!(u?n.some(e=>Mf(e)):n.some(e=>e!=null&&e!==``&&!(Array.isArray(e)&&e.length===0))))throw Error(`Mandatory Field`);if(p>0&&n.length<p)throw Error(`Keep at least ${p} ${u?`row`:`value`}${p>1?`s`:``}.`)}}],children:(e,{add:s,remove:c},{errors:h})=>(0,o.jsxs)(`div`,{className:`v1-addrow-wrapper`,children:[e.map(({key:s,name:m})=>(0,o.jsxs)(`div`,{className:`v1-addrow-item`,children:[(0,o.jsx)(i.Button,{type:`text`,danger:!0,icon:(0,o.jsx)(a.DeleteOutlined,{}),onClick:()=>c(m),disabled:e.length<=p,className:`v1-addrow-delete-btn`}),(0,o.jsx)(`div`,{className:`v1-addrow-fields`,children:u?(0,o.jsx)(i.Row,{gutter:[24,0],align:`top`,children:ke(f,m,r[0],!1,t.field)}):(0,o.jsx)(i.Form.Item,{name:[m],noStyle:!0,valuePropName:t.type===`checkbox`&&!t.options?.length?`checked`:`value`,getValueFromEvent:t.type===`file`?e=>Array.isArray(e)?e:e?.fileList:void 0,rules:np(l,w,[...r,m],!1),children:(0,o.jsx)(cp,{field:l,form:w,name:[...r,m],moduleName:n,scopeValues:{clientId:d},formDisabled:W.busy})})})]},s)),(!m||e.length<m)&&(0,o.jsx)(i.Button,{type:`link`,icon:(0,o.jsx)(a.PlusOutlined,{}),onClick:()=>s(),className:`v1-addrow-add-btn`,children:t.addLabel??`Add ${t.label??`Value`}`}),(0,o.jsx)(i.Form.ErrorList,{errors:h})]})})})},t.field)},Oe=(t,r,s)=>{let c=typeof t.field==`string`&&t.field.includes(`.`)?t.field.split(`.`):[t.field],l=!!t.editablePermission&&!e.h(t.editablePermission,n),u=(0,o.jsx)(Bf,{field:t,label:t.label,locked:l}),f=e.St(t),p=Array.isArray(t.subFields)&&t.subFields.length>0,m=p?t.subFields.map(e=>({...e,show:1,edit:1})):null,h=Math.max(0,Number(t.minRows??0)||0),g=t.maxRows!==void 0&&t.maxRows!==``&&Number(t.maxRows)>0?Number(t.maxRows):0,_=[r,...c],v=[...Array.isArray(s)?s:[s],r,...c],y=e.gt(t,void 0);return(0,o.jsx)(i.Col,{xs:24,md:p?24:t.col??24,children:(0,o.jsx)(i.Form.Item,{label:u,required:tp(t),colon:!1,className:`v1-combine-field`,children:(0,o.jsx)(i.Form.List,{name:_,initialValue:y,rules:p?[{validator:async(e,n=[])=>{if(tp(t)&&!n.some(e=>Mf(e)))throw Error(`Mandatory Field`);if(h>0&&n.length<h)throw Error(`Keep at least ${h} row${h>1?`s`:``}.`)}}]:[],children:(e,{add:r,remove:s},{errors:c})=>(0,o.jsxs)(`div`,{className:`v1-addrow-wrapper`,children:[e.map(({key:r,name:c})=>{let l=[...v,c];return(0,o.jsxs)(`div`,{className:`v1-addrow-item`,children:[(0,o.jsx)(i.Button,{type:`text`,danger:!0,icon:(0,o.jsx)(a.DeleteOutlined,{}),onClick:()=>s(c),disabled:e.length<=h,className:`v1-addrow-delete-btn`}),(0,o.jsx)(`div`,{className:`v1-addrow-fields`,children:p?(0,o.jsx)(i.Row,{gutter:[24,0],align:`top`,children:ke(m,c,v,!1,t.field)}):(0,o.jsx)(i.Form.Item,{name:[c],noStyle:!0,valuePropName:t.type===`checkbox`&&!t.options?.length?`checked`:`value`,getValueFromEvent:t.type===`file`?e=>Array.isArray(e)?e:e?.fileList:void 0,rules:np(f,w,l,!1),children:(0,o.jsx)(cp,{field:f,form:w,name:l,moduleName:n,scopeValues:{clientId:d},formDisabled:W.busy})})})]},r)}),(!g||e.length<g)&&(0,o.jsx)(i.Button,{type:`link`,icon:(0,o.jsx)(a.PlusOutlined,{}),onClick:()=>r(),className:`v1-addrow-add-btn`,children:t.addLabel??`Add ${t.label??`Value`}`}),(0,o.jsx)(i.Form.ErrorList,{errors:c})]})})})},`${s}-${r}-${t.field}`)},ke=(e,t,n,r=!1,a)=>{let s=new Set,c=[],l=new Set(e.map(e=>e.field).filter(Boolean)),u=e.filter(e=>e.show===void 0||kf(e.show));return u.forEach(e=>{if(kf(e.addRow)&&t===void 0){c.push(De(e));return}if(kf(e.addRow)&&t!==void 0){c.push(Oe(e,t,n));return}let d=e.combineKey?.trim?.();if(!d){c.push(Ee(e,t,n,{hideLabel:r,groupNameForActions:a,rowFieldKeys:l}));return}let f=`${n??`root`}:${t??`root`}:${d}`;if(s.has(f))return;let p=u.filter(e=>e.combineKey===d);p.forEach(e=>s.add(`${n??`root`}:${t??`root`}:${e.combineKey}`));let m=p.find(e=>e.combineLabel)??e,h=n!==void 0&&t!==void 0?[...Array.isArray(n)?n:[n],t]:null,g=(0,o.jsx)(wf,{form:w,field:m,siblingPrefix:h,combined:!0}),_=p.find(e=>e.combineToggleTarget)?.combineToggleTarget,v=p.find(e=>e.combineToggleLabel)?.combineToggleLabel??`Show range`,y=p.some(e=>kf(e.combineWrap)),b=Number(p.find(e=>[12,24].includes(Number(e.combineSpan)))?.combineSpan),x=_?p.find(e=>xe(e)===_):null,S=x?.field?.includes?.(`.`)?x.field.split(`.`):[x?.field].filter(Boolean),C=x?n!==void 0&&t!==void 0?[n,t,...S]:S.length>1?S:x.field:null,T=p.some(e=>tp(e)),E=[12,24].includes(b)?b:p.length>=3?24:12,D=e=>h&&(!l||l.has(e))?h:null,O=p.some(e=>Te(e.showIf)),k=e=>p.some(t=>!Te(t.showIf)||we(t.showIf,e,D)),A=(0,o.jsx)(i.Col,{xs:24,md:E,children:(0,o.jsx)(i.Form.Item,{label:g,required:T,colon:!1,className:`v1-combine-field`,children:(0,o.jsx)(i.Form.Item,{noStyle:!0,shouldUpdate:!0,children:({getFieldValue:e})=>{let r=C?!jf(e(C)):!1,a=ye[f]??r,s=_&&!a?p.filter(e=>xe(e)!==_):p;return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(i.Row,{gutter:[8,0],align:`top`,wrap:y,className:`v1-combine-row${y?` v1-combine-row-wrap`:``}`,children:s.map(e=>Ee(T?{...e,req:1}:e,t,n,{inline:!0}))}),_&&(0,o.jsxs)(`div`,{className:`v1-combine-range`,children:[(0,o.jsx)(i.Switch,{size:`small`,checked:a,onChange:e=>{!e&&C&&(w.setFieldValue(C,void 0),w.validateFields([C]).catch(()=>{})),be(t=>({...t,[f]:e}))}}),(0,o.jsx)(bf,{type:`secondary`,className:`v1-combine-toggle-label`,children:v})]})]})}})})},f);c.push(O?(0,o.jsx)(i.Form.Item,{shouldUpdate:!0,noStyle:!0,children:({getFieldValue:e})=>k(e)?A:null},f):A)}),c},Ae=t=>{let n=t.name??t.id??``,r=e.ft(ce,n),s=!!r&&r.leaderName!==n,c=r?H.find(e=>e.name===r.leaderName)??t:t,l=Math.max(0,Number(c.minRows??0)||0),u=Math.max(0,Number(c.maxRows??0)||0),d=r?r.memberNames:[n],f=()=>{d.forEach(n=>{let r=H.find(e=>e.name===n)??t;le.current[n]?.add(e.xt(r,{editing:!0}))})},p=e=>{d.forEach(t=>le.current[t]?.remove(e))};return t.addRow?(0,o.jsx)(i.Form.List,{name:n,initialValue:G[t.name]??[],rules:s?[]:[{validator:async(e,n=[])=>{if(!(kf(t.toggleEnabled)&&t.toggleField&&w.getFieldValue(t.toggleField))){if(l>0&&n.length<l)throw Error(`Keep at least ${l} row${l>1?`s`:``}.`);if(kf(t.requireOne)&&n.some(e=>!Mf(e)))throw Error(`Fill at least one field in each added row.`)}}}],children:(e,{add:r,remove:d},{errors:m})=>(le.current[n]={add:r,remove:d},(0,o.jsxs)(`div`,{className:`v1-addrow-wrapper`,children:[(0,o.jsx)(`div`,{className:`v1-addrow-topbar`,children:s?(0,o.jsxs)(bf,{type:`secondary`,className:`v1-addrow-linked-hint`,children:[`Rows added via `,c.label??c.name]}):(!u||e.length<u)&&(0,o.jsx)(i.Button,{type:`link`,icon:(0,o.jsx)(a.PlusOutlined,{}),onClick:f,className:`v1-addrow-add-btn`,children:t.addLabel??`Add ${t.label??`Row`}`})}),kf(t.sharedRowLabels)&&e.length>0&&(0,o.jsx)(i.Row,{gutter:[24,0],className:`v1-addrow-header`,children:t.fields.filter(e=>e.show===void 0||kf(e.show)).map(e=>(0,o.jsx)(i.Col,{md:e.col??12,className:`v1-addrow-header-label`,children:e.label},xe(e)))}),e.map(({key:r,name:s})=>(0,o.jsxs)(`div`,{className:`v1-addrow-item`,children:[(0,o.jsx)(i.Button,{type:`text`,danger:!0,icon:(0,o.jsx)(a.DeleteOutlined,{}),disabled:e.length<=l,onClick:()=>p(s),className:`v1-addrow-delete-btn`}),(0,o.jsx)(`div`,{className:`v1-addrow-fields`,children:(0,o.jsx)(i.Row,{gutter:[24,0],align:`top`,children:ke(t.fields,s,n,kf(t.sharedRowLabels),n)})})]},r)),(0,o.jsx)(i.Form.ErrorList,{errors:m})]}))}):(0,o.jsx)(i.Row,{gutter:[24,0],children:ke(t.fields,void 0,void 0,!1,n)})},je=e=>H.filter(t=>t!==e&&t.mergeInto&&String(t.mergeInto)===String(e.name)),Me=e=>!!(e.mergeInto&&H.some(t=>t!==e&&String(t.name)===String(e.mergeInto))),q=(e,t)=>{let n=e.name??e.id??String(t),r=Ae(e),s=je(e);return(0,o.jsx)(i.Card,{className:`v1-card v1-edit-card`,title:(0,o.jsx)(lp,{icon:Df[t%Df.length],title:e.label??e.name??`Details`}),extra:(0,o.jsxs)(i.Space,{size:8,align:`center`,className:`v1-group-actions`,children:[(0,o.jsx)(Vf,{group:e}),(0,o.jsx)(Hf,{group:e}),(0,o.jsx)(i.Button,{type:`text`,size:`small`,icon:T[n]?(0,o.jsx)(a.DownOutlined,{}):(0,o.jsx)(a.UpOutlined,{}),onClick:e=>{e.stopPropagation(),me(n)}})]}),children:(0,o.jsx)(i.Form.Item,{noStyle:!0,shouldUpdate:!0,children:({getFieldValue:t})=>{let i=kf(e.toggleEnabled)&&e.toggleField&&!!t(e.toggleField);return(0,o.jsxs)(`div`,{style:{display:T[n]||i?`none`:`block`},children:[r,s.map(e=>{let t=(0,o.jsxs)(`div`,{className:`v1-merged-group`,children:[(0,o.jsx)(`div`,{className:`v1-merged-group-title`,children:e.label??e.name}),Ae(e)]},e.name);return e.showIf?.field?(0,o.jsx)(Rf,{form:w,showIf:e.showIf,render:()=>t},e.name):t})]})}})},n)};return(0,o.jsxs)(`main`,{children:[ue.length>0&&(0,o.jsx)(e.t,{items:ue}),(0,o.jsxs)(`div`,{className:`v1-edit-page`,children:[(0,o.jsx)(`div`,{className:`v1-page-inner`,children:(0,o.jsxs)(i.Spin,{spinning:k||W.busy,tip:W.busy?`Running AI action…`:`Loading form fields...`,children:[j&&(0,o.jsx)(i.Alert,{type:`error`,showIcon:!0,message:j,style:{marginBottom:16}}),F&&(0,o.jsx)(i.Alert,{type:`error`,showIcon:!0,message:F,style:{marginBottom:16}}),(0,o.jsxs)(i.Form,{form:w,layout:`vertical`,colon:!1,className:`v1-form`,disabled:W.busy,requiredMark:(e,{required:t})=>(0,o.jsxs)(o.Fragment,{children:[e,t&&(0,o.jsx)(`span`,{className:`v1-required-mark`,children:` *`})]}),onFinish:ge,onFinishFailed:ve,children:[H.filter(e=>!Me(e)).map((e,t)=>(0,o.jsx)(Lf,{form:w,group:e,children:e.showIf?.field?(0,o.jsx)(Rf,{form:w,showIf:e.showIf,render:()=>q(e,t)}):q(e,t)},e.name??`grp-${t}`)),!k&&!j&&H.length===0&&(0,o.jsx)(i.Alert,{type:`info`,showIcon:!0,message:`No form fields are configured.`})]})]})}),(0,o.jsxs)(`div`,{className:x?`v1-footer v1-footer--embedded`:`v1-footer`,children:[(0,o.jsx)(bf,{type:`secondary`,children:`All unsaved changes will be lost if you cancel and reload.`}),(0,o.jsxs)(i.Space,{size:12,children:[(0,o.jsx)(i.Button,{onClick:()=>x&&S?S():C(h||-1),children:`Cancel`}),(0,o.jsx)(Tf,{form:w,groups:H,onClick:()=>w.submit(),disabled:k||N||U>0,loading:N,children:m})]})]})]})]})}var dp=new Map;function fp(t){let[n,i]=(0,r.useState)({actions:[],actionRules:[]});return(0,r.useEffect)(()=>{if(!t)return;let n=!1;return dp.has(t)||dp.set(t,e.zt(t).catch(()=>(dp.delete(t),{actions:[],actionRules:[]}))),dp.get(t).then(e=>{n||i(e)}),()=>{n=!0}},[t]),n}var pp={delete:(0,o.jsx)(a.DeleteOutlined,{}),edit:(0,o.jsx)(a.EditOutlined,{}),mail:(0,o.jsx)(a.MailOutlined,{}),shareAlt:(0,o.jsx)(a.ShareAltOutlined,{}),swap:(0,o.jsx)(a.RightOutlined,{}),thunderbolt:(0,o.jsx)(a.ThunderboltOutlined,{}),userAdd:(0,o.jsx)(a.UserAddOutlined,{}),userSwitch:(0,o.jsx)(a.UserSwitchOutlined,{})};function mp(e){return e==null?``:Array.isArray(e)?e.join(`,`):String(typeof e==`object`?e.id??e.value??``:e)}function hp(e,t){return String(e).replace(/\{([^}]+)\}/g,(e,n)=>encodeURIComponent(mp(t?.[n]))).replace(/:([A-Za-z_][\w]*)/g,(e,n)=>encodeURIComponent(mp(t?.[n]??(n===`_id`?t?.id:n===`id`?t?._id:void 0))))}function gp(e,t){return String(t||``).split(`.`).reduce((e,t)=>e?.[t],e)}function _p(e,t,n,r){let i=Un(e,t,r),a=Hn(e.key,t,n,r),o={key:e.key,label:i?i.label:e.label||e.key,icon:pp[e.icon]??void 0,danger:e.danger||void 0,disabled:!!i||!!a,title:i?i.label:a||void 0};return e.children?.length&&(o.children=e.children.map(e=>_p(e,t,n,r))),o}function vp(e){let t=[];for(let n of e)t.push(n),n.children?.length&&t.push(...vp(n.children));return t}function yp({module:n,record:r,scope:c,onDone:l,fallback:u=null}){let d=(0,s.useNavigate)(),f=(0,s.useLocation)(),{actions:p,actionRules:m}=fp(n),h=t=>!(t.showInList===!1||!e.h(t.permission,n)||t.permissionKey&&!e.m(gp(r,`actionPermission.${t.permissionKey}`))||Vn(t.key,r,m,c)||t.allowedTabs?.length&&c&&!t.allowedTabs.some(e=>String(e).toLowerCase()===String(c).toLowerCase())),g=(p??[]).filter(h).map(e=>e.children?.length?{...e,children:e.children.filter(h)}:e);if(!g.length)return u;let _=e=>{if(e.actionType===`copy`){let t=gp(r,e.copyField||`id`)??r?._id;navigator.clipboard.writeText(mp(t)).then(()=>i.message.success(`Copied to clipboard`)).catch(()=>i.message.error(`Could not copy to clipboard`));return}if(e.actionType===`api`&&e.apiPath){let n=()=>{let n=hp(e.apiPath,r),a=String(e.apiMethod||`POST`).toUpperCase();t.a(t.b,n.startsWith(`/`)?n:`/${n}`,{method:a,body:[`GET`,`DELETE`].includes(a)?void 0:JSON.stringify({ids:[r?._id??r?.id],records:[r]})}).then(()=>{i.message.success(`${e.label} completed`),l?.(e)}).catch(t=>i.message.error(t.message||`${e.label} failed`))};e.danger?i.Modal.confirm({title:`${e.label}?`,content:`This cannot be undone.`,okText:e.label,okButtonProps:{danger:!0},onOk:n}):n();return}if(e.actionType===`modal`){d(`/popup/${e.popupKey||e.key}`,{state:{background:f,selectedIds:[r?._id??r?.id],selectedRecords:[r],moduleName:n,popupContext:e.popupState??{},popupAction:{key:e.key,apiMethod:e.apiMethod,apiPath:e.apiPath,defaultTemplateId:e.defaultTemplateId},...e.popupState}});return}let a=e.routeTemplate||e.route;if(a){let t=hp(a,r),n=t.startsWith(`/`)?t:`/${t}`;if(e.linkTarget===`_blank`){window.open(n,`_blank`,`noopener`);return}d(n)}},v=new Map(vp(g).map(e=>[String(e.key),e]));return(0,o.jsx)(i.Dropdown,{trigger:[`click`],menu:{items:g.map(e=>_p(e,r,m,c)),onClick:({key:e,domEvent:t})=>{t?.stopPropagation?.();let n=v.get(String(e));n&&n.actionType!==`group`&&!Un(n,r,c)&&_(n)}},children:(0,o.jsx)(i.Button,{type:`text`,icon:(0,o.jsx)(a.MoreOutlined,{}),onClick:e=>e.stopPropagation(),"aria-label":`Row actions`})})}var{Text:bp}=i.Typography;function xp(e){return e.label??e.fieldLabel??e.name??e.fieldName??e.value}function Sp(e){return e.value??e.fieldName??e.name??e.label}function Cp(e,t){let n=e?.[t];return n==null?`-`:Array.isArray(n)?n.join(`, `):typeof n==`object`?Object.values(n).join(` `):n}var wp=[{key:`name`,label:`Name`},{key:`designation`,label:`Designation`},{key:`locationExp`,label:`Location / Exp`},{key:`skills`,label:`Skills`},{key:`createdOn`,label:`Created On`}];function Tp({record:e,fields:t,selected:n,onSelect:r}){let c=(0,s.useNavigate)(),l=(0,s.useLocation)(),u=t.find(e=>e.cardRole===`name`),d=t.find(e=>e.cardRole===`subtitle`),f=t.find(e=>e.cardRole===`location`),p=t.find(e=>e.cardRole===`skills`),m=t.find(e=>e.cardRole===`exp`),h=t.find(e=>e.cardRole===`date`),g=t.find(e=>e.cardRole===`action`),_=u?Cp(e,u.key):`-`,v=d?Cp(e,d.key):``,y=f?Cp(e,f.key):``,b=m?Cp(e,m.key):``,x=h?Cp(e,h.key):``,S=p?e[p.key]:[],C=Array.isArray(S)?S:[],w=C.slice(0,3),T=C.slice(3),E=g?.render?g.render(Cp(e,g.key),e):null;function D(){c(`/popup/preview`,{state:{background:l,moduleName:`candidate`,record:e,fields:wp}})}function O(){c(`/popup/mail`,{state:{background:l}})}return(0,o.jsxs)(`div`,{className:`param-card${n?` param-card--selected`:``}`,children:[(0,o.jsxs)(`div`,{className:`param-card__header`,children:[(0,o.jsxs)(`div`,{className:`param-card__header-left`,children:[(0,o.jsxs)(`div`,{className:`param-card__name-row`,children:[(0,o.jsx)(i.Checkbox,{checked:n,onChange:r,onClick:e=>e.stopPropagation(),className:`param-card__checkbox`}),(0,o.jsx)(a.EyeOutlined,{className:`param-card__eye-icon`,onClick:D}),(0,o.jsxs)(`span`,{className:`param-card__name-block`,children:[(0,o.jsx)(bp,{className:`param-card__name`,children:_}),v&&v!==`-`&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(`span`,{className:`param-card__sep`,children:`·`}),(0,o.jsx)(bp,{className:`param-card__subtitle`,children:v})]})]})]}),y&&y!==`-`&&(0,o.jsxs)(`div`,{className:`param-card__location`,children:[(0,o.jsx)(a.EnvironmentOutlined,{className:`param-card__location-icon`}),(0,o.jsx)(bp,{className:`param-card__location-text`,children:y})]})]}),(0,o.jsx)(`div`,{className:`param-card__header-right`,children:(0,o.jsxs)(`span`,{className:`param-card__exp-badge`,children:[`Exp: `,b&&b!==`-`?b:`-`]})})]}),(0,o.jsxs)(`div`,{className:`param-card__body`,children:[(0,o.jsxs)(`div`,{className:`param-card__body-left`,children:[(0,o.jsx)(bp,{className:`param-card__section-label`,children:`Skills`}),(0,o.jsxs)(`div`,{className:`param-card__skills-row`,children:[w.length>0?w.map(e=>(0,o.jsx)(i.Tag,{className:`sourcing-skill-tag`,children:e},e)):(0,o.jsx)(bp,{className:`param-card__empty`,children:`-`}),T.length>0&&(0,o.jsx)(i.Popover,{trigger:`click`,placement:`bottomLeft`,overlayClassName:`sourcing-skills-popover`,content:(0,o.jsx)(`div`,{className:`sourcing-skills-popup`,children:T.map(e=>(0,o.jsx)(i.Tag,{className:`sourcing-skill-tag`,children:e},e))}),children:(0,o.jsxs)(`span`,{className:`sourcing-more-skills`,children:[`+`,T.length]})})]})]}),x&&x!==`-`&&(0,o.jsxs)(`div`,{className:`param-card__body-right`,children:[(0,o.jsx)(bp,{className:`param-card__section-label param-card__section-label--right`,children:`Created on`}),(0,o.jsx)(bp,{className:`param-card__date-value`,children:x})]})]}),(0,o.jsx)(`div`,{className:`param-card__divider`}),(0,o.jsxs)(`div`,{className:`param-card__footer`,children:[(0,o.jsxs)(`div`,{className:`param-card__footer-left`,children:[(0,o.jsx)(i.Tooltip,{title:`Resume`,children:(0,o.jsx)(`button`,{type:`button`,className:`param-card__icon-btn`,"aria-label":`Resume`,children:(0,o.jsx)(a.FileTextOutlined,{})})}),(0,o.jsx)(i.Tooltip,{title:`Call`,children:(0,o.jsx)(`button`,{type:`button`,className:`param-card__icon-btn`,"aria-label":`Call`,children:(0,o.jsx)(a.PhoneOutlined,{})})}),(0,o.jsx)(i.Tooltip,{title:`Email`,children:(0,o.jsx)(`button`,{type:`button`,className:`param-card__icon-btn`,"aria-label":`Email`,onClick:O,children:(0,o.jsx)(a.MailOutlined,{})})})]}),(0,o.jsx)(`div`,{className:`param-card__footer-right`,children:E})]})]})}function Ep({listName:e=`List`,moduleName:t=``,actions:n=[],fields:c=[],dataSource:l=[],loading:u=!1,total:d,current:f,pageSize:p,onPageChange:m,onPageSizeChange:h,className:g=``,activeView:_=`card`,onViewChange:v}){let y=(0,s.useNavigate)(),b=(0,s.useLocation)(),[x,S]=(0,r.useState)(``),[C,w]=(0,r.useState)({current:1,pageSize:12}),[T,E]=(0,r.useState)([]),[D,O]=(0,r.useState)([]),k=typeof f==`number`&&typeof p==`number`,A=k?{current:f,pageSize:p}:C,j=e=>{let t=e.id??e._id;E(e=>e.includes(t)?e.filter(e=>e!==t):[...e,t]),O(n=>n.some(e=>(e.id??e._id)===t)?n.filter(e=>(e.id??e._id)!==t):[...n,e])},M=n.filter(e=>!e.maxSelect||T.length<=e.maxSelect).map(e=>({key:e.key??e.name,label:e.label??e.name,danger:e.danger??!1,disabled:T.length===0,onClick:()=>{if(T.length!==0){if(typeof e.onSelect==`function`){e.onSelect({selectedIds:T,selectedRecords:D});return}e.route&&y(e.route,{state:{background:b,selectedIds:T,selectedRecords:D,moduleName:t,...e.popupState??{}}})}}})),N=(0,r.useMemo)(()=>c.map(e=>({...e,key:Sp(e),label:xp(e)})).filter(e=>e.key&&e.label),[c]),P=typeof d==`number`?d:l.length,F=(0,r.useMemo)(()=>{let e=x.toLowerCase();return!e||e.length<3?l:l.filter(t=>N.some(n=>String(Cp(t,n.key)).toLowerCase().includes(e)))},[l,N,x]),I=(0,r.useMemo)(()=>{if(k)return F;let e=(A.current-1)*A.pageSize;return F.slice(e,e+A.pageSize)},[A.current,A.pageSize,F,k]);return(0,o.jsxs)(`div`,{className:`antd param-card-view ${g}`.trim(),children:[(0,o.jsx)(i.Card,{children:(0,o.jsxs)(i.Flex,{align:`center`,justify:`space-between`,children:[(0,o.jsxs)(i.Flex,{align:`center`,gap:6,children:[(0,o.jsx)(bp,{className:`param-card-view__tab-label`,children:e}),(0,o.jsx)(`span`,{className:`param-card-view__count`,children:P}),T.length>0&&n.length>0&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(i.Dropdown,{menu:{items:M},trigger:[`click`],children:(0,o.jsxs)(i.Button,{type:`text`,size:`small`,className:`job-actions-button job-actions-menu-button`,children:[`Actions `,(0,o.jsx)(a.DownOutlined,{className:`job-actions-caret`})]})}),(0,o.jsxs)(bp,{className:`job-selected-count`,children:[`Selected (`,T.length,`)`]})]})]}),(0,o.jsxs)(i.Flex,{align:`center`,gap:8,children:[(0,o.jsx)(i.Input,{prefix:(0,o.jsx)(a.SearchOutlined,{className:`job-search-icon`}),placeholder:`Search by name, location, skills`,value:x,onChange:e=>{S(e.target.value),k?m?.(1):w(e=>({...e,current:1}))},allowClear:!0,className:`job-search-input`}),(0,o.jsx)(i.Tooltip,{title:`Filter`,children:(0,o.jsx)(i.Button,{className:`job-toolbar-icon-button`,icon:(0,o.jsx)(a.FilterOutlined,{})})}),(0,o.jsx)(i.Tooltip,{title:`Card view`,children:(0,o.jsx)(i.Button,{className:`job-toolbar-icon-button param-view-toggle-btn${_===`card`?` param-view-toggle-btn--active`:``}`,icon:(0,o.jsx)(a.AppstoreOutlined,{}),onClick:()=>v?.(`card`)})}),(0,o.jsx)(i.Tooltip,{title:`List view`,children:(0,o.jsx)(i.Button,{className:`job-toolbar-icon-button param-view-toggle-btn${_===`list`?` param-view-toggle-btn--active`:``}`,icon:(0,o.jsx)(a.UnorderedListOutlined,{}),onClick:()=>v?.(`list`)})})]})]})}),(0,o.jsx)(i.Spin,{spinning:u,children:I.length>0?(0,o.jsx)(`div`,{className:`param-card-view__grid`,children:I.map((e,t)=>(0,o.jsx)(Tp,{record:e,fields:N,selected:T.includes(e.id??e._id),onSelect:()=>j(e)},e.id??e.key??t))}):!u&&(0,o.jsx)(`div`,{className:`param-card-view__empty`,children:`No results found`})}),(0,o.jsx)(je,{current:A.current,pageSize:A.pageSize,total:P,onChange:e=>{k?m?.(e):w(t=>({...t,current:e}))},onPageSizeChange:e=>{k?h?.(e):w({current:1,pageSize:e})}})]})}var{Text:Dp}=i.Typography;function Op(e){return e.label??e.fieldLabel??e.name??e.fieldName??e.value}function kp(e){return e.value??e.fieldName??e.name??e.label}function Ap(e,t){let n=e?.[t];return n==null?`-`:Array.isArray(n)?n.join(`, `):typeof n==`object`?Object.values(n).join(` `):n}function jp(e,t){return(0,o.jsxs)(i.Space,{size:6,children:[(0,o.jsx)(`span`,{children:e}),(0,o.jsx)(i.Badge,{count:t,overflowCount:9999})]})}function Mp({listName:e=`List`,fields:t=[],actions:n=[],dataSource:c=[],loading:l=!1,total:u,current:d,pageSize:f,onPageChange:p,onPageSizeChange:m,onSearch:h,rowSelection:g=!0,className:_=``,tableClassName:v=`job-list-table`,activeView:y=`list`,onViewChange:b}){let x=(0,s.useNavigate)(),S=(0,s.useLocation)(),[C,w]=(0,r.useState)(`all`),[T,E]=(0,r.useState)(``),[D,O]=(0,r.useState)([]),[k,A]=(0,r.useState)([]),[j,M]=(0,r.useState)({current:1,pageSize:10}),[N,P]=(0,r.useState)([]),[F,I]=(0,r.useState)(!1),L=(0,r.useRef)(null),R=n.filter(e=>!e.maxSelect||D.length<=e.maxSelect).map(e=>({key:e.key??e.name,label:e.label??e.name,danger:e.danger??!1,disabled:D.length===0,onClick:()=>{if(D.length!==0){if(typeof e.onSelect==`function`){e.onSelect({selectedIds:D,selectedRecords:k});return}e.route&&x(e.route,{state:{background:S,selectedIds:D,selectedRecords:k,...e.popupState??{}}})}}})),z=typeof d==`number`&&typeof f==`number`,B=z?{current:d,pageSize:f}:j,ee=(0,r.useMemo)(()=>t.map(e=>({...e,key:kp(e),label:Op(e)})).filter(e=>e.key&&e.label&&!e.tableHidden),[t]),te=N.length?N:ee.map(e=>e.key),V=(0,r.useMemo)(()=>{if(h)return c;let e=T.toLowerCase();return!e||e.length<3?c:c.filter(t=>ee.some(n=>String(Ap(t,n.key)).toLowerCase().includes(e)))},[c,ee,h,T]),ne=typeof u==`number`?u:T.trim()?V.length:c.length,re=(0,r.useMemo)(()=>{if(z)return V;let e=(B.current-1)*B.pageSize;return V.slice(e,e+B.pageSize)},[B.current,B.pageSize,V,z]),H=(0,r.useMemo)(()=>ee.filter(e=>te.includes(e.key)).map(e=>({title:e.label,dataIndex:e.key,key:e.key,sorter:e.sorter===!1?!1:e.sorter??((t,n)=>String(Ap(t,e.key)).localeCompare(String(Ap(n,e.key)))),width:e.width??180,fixed:e.fixed,ellipsis:e.ellipsis??!0,className:e.className,render:(t,n,r)=>e.render?e.render(t,n,r):(0,o.jsx)(Dp,{className:`job-cell-primary`,children:Ap(n,e.key)})})),[ee,te]),U=te.length===ee.length,ie=te.length>0&&!U,ae=(e,t)=>{P(n=>{let r=n.length?n:ee.map(e=>e.key);return t?r.includes(e)?r:[...r,e]:r.filter(t=>t!==e)})},oe=(0,o.jsxs)(`div`,{className:`column-visibility-menu`,onClick:e=>e.stopPropagation(),children:[(0,o.jsx)(i.Checkbox,{checked:U,indeterminate:ie,onChange:e=>{P(e.target.checked?ee.map(e=>e.key):[])},children:`Select All`}),ee.map(e=>(0,o.jsx)(i.Checkbox,{checked:te.includes(e.key),onChange:t=>ae(e.key,t.target.checked),children:e.label},e.key))]});return(0,o.jsxs)(`div`,{className:`antd dynamic-list-view ${_}`.trim(),children:[(0,o.jsx)(i.Card,{children:(0,o.jsxs)(i.Flex,{align:`center`,justify:`space-between`,children:[(0,o.jsx)(i.Tabs,{activeKey:C,items:[{key:`all`,label:jp(e,ne)}],onChange:e=>{w(e),M({...j,current:1})}}),(0,o.jsxs)(i.Flex,{align:`center`,gap:8,children:[(0,o.jsx)(i.Input,{prefix:(0,o.jsx)(a.SearchOutlined,{className:`job-search-icon`}),placeholder:`Min 3 Chars to search`,value:T,onChange:e=>{let t=e.target.value;E(t),h?(clearTimeout(L.current),L.current=setTimeout(()=>{h(t),p?.(1)},350)):z?p?.(1):M({...j,current:1})},allowClear:!0,className:`job-search-input`}),(0,o.jsx)(i.Tooltip,{title:`Filter`,children:(0,o.jsx)(i.Button,{className:`job-toolbar-icon-button`,icon:(0,o.jsx)(a.FilterOutlined,{})})}),(0,o.jsx)(i.Tooltip,{title:`Card view`,children:(0,o.jsx)(i.Button,{className:`job-toolbar-icon-button param-view-toggle-btn${y===`card`?` param-view-toggle-btn--active`:``}`,icon:(0,o.jsx)(a.AppstoreOutlined,{}),onClick:()=>b?.(`card`)})}),(0,o.jsx)(i.Tooltip,{title:`List view`,children:(0,o.jsx)(i.Button,{className:`job-toolbar-icon-button param-view-toggle-btn${y===`list`?` param-view-toggle-btn--active`:``}`,icon:(0,o.jsx)(a.UnorderedListOutlined,{}),onClick:()=>b?.(`list`)})})]})]})}),(0,o.jsx)(i.Card,{children:(0,o.jsxs)(i.Flex,{align:`center`,gap:3,children:[(0,o.jsx)(i.Dropdown,{open:F,onOpenChange:I,trigger:[`click`],dropdownRender:()=>oe,placement:`bottomLeft`,overlayClassName:`column-visibility-dropdown`,children:(0,o.jsx)(i.Button,{type:`text`,icon:(0,o.jsx)(`img`,{src:pi,alt:``,className:`job-action-list-icon`}),size:`small`,className:`job-actions-button`})}),D.length>0&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(i.Dropdown,{menu:{items:R},trigger:[`click`],children:(0,o.jsxs)(i.Button,{type:`text`,size:`small`,className:`job-actions-button job-actions-menu-button`,children:[(0,o.jsx)(`img`,{src:`data:image/svg+xml,%3csvg%20width='14'%20height='14'%20viewBox='0%200%2014%2014'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M12.6279%206.78121C12.6857%206.88148%2012.7014%207.00057%2012.6715%207.11239C12.6417%207.22422%2012.5688%207.31967%2012.4688%207.37785L7.21875%2010.4403C7.15185%2010.4794%207.0758%2010.4999%206.99836%2010.4999C6.92092%2010.4999%206.84487%2010.4794%206.77797%2010.4403L1.52797%207.37785C1.42936%207.31859%201.35806%207.22289%201.32951%207.11145C1.30095%207.00001%201.31744%206.88181%201.37539%206.78244C1.43335%206.68306%201.52811%206.61052%201.63916%206.5805C1.75022%206.55048%201.86863%206.56542%201.96875%206.62207L7%209.55605L12.0312%206.62207C12.1315%206.56428%2012.2506%206.54858%2012.3624%206.57841C12.4743%206.60824%2012.5697%206.68116%2012.6279%206.78121ZM1.3125%204.37496C1.31267%204.29833%201.33297%204.22309%201.37136%204.15677C1.40975%204.09045%201.46489%204.03538%201.53125%203.99707L6.78125%200.934566C6.84815%200.895555%206.9242%200.875%207.00164%200.875C7.07908%200.875%207.15513%200.895555%207.22203%200.934566L12.472%203.99707C12.5381%204.0356%2012.5929%204.09076%2012.6309%204.15707C12.669%204.22337%2012.6891%204.2985%2012.6891%204.37496C12.6891%204.45142%2012.669%204.52654%2012.6309%204.59285C12.5929%204.65915%2012.5381%204.71432%2012.472%204.75285L7.22203%207.81535C7.15513%207.85436%207.07908%207.87491%207.00164%207.87491C6.9242%207.87491%206.84815%207.85436%206.78125%207.81535L1.53125%204.75285C1.46489%204.71453%201.40975%204.65946%201.37136%204.59314C1.33297%204.52682%201.31267%204.45159%201.3125%204.37496ZM2.61844%204.37496L7%206.93105L11.3816%204.37496L7%201.81886L2.61844%204.37496ZM7.65625%2011.7993L7%2012.1821L1.96875%209.24707C1.86913%209.19747%201.75436%209.18769%201.64779%209.21973C1.54122%209.25177%201.45087%209.32322%201.39512%209.41953C1.33937%209.51583%201.32241%209.62977%201.3477%209.73814C1.37299%209.84651%201.43863%209.94117%201.53125%2010.0028L6.78125%2013.0653C6.84815%2013.1044%206.9242%2013.1249%207.00164%2013.1249C7.07908%2013.1249%207.15513%2013.1044%207.22203%2013.0653L8.09703%2012.5551C8.14746%2012.5266%208.19171%2012.4883%208.22723%2012.4426C8.26275%2012.3968%208.28882%2012.3444%208.30394%2012.2885C8.31906%2012.2326%208.32291%2012.1742%208.31529%2012.1167C8.30766%2012.0593%208.28871%2012.004%208.25952%2011.9539C8.23033%2011.9039%208.19149%2011.8601%208.14526%2011.8252C8.09903%2011.7903%208.04632%2011.7649%207.9902%2011.7505C7.93408%2011.7361%207.87566%2011.7331%207.81833%2011.7414C7.761%2011.7498%207.70591%2011.7695%207.65625%2011.7993Z'%20fill='%236B7280'/%3e%3cpath%20d='M10.6036%2011.3825L13.4607%209.4477C13.5813%209.36599%2013.614%209.20256%2013.5341%209.08069L13.0105%208.282C12.9303%208.15966%2012.7665%208.12478%2012.6434%208.20383L9.54053%2010.1964L8.94939%2011.4054C8.84904%2011.6106%209.03632%2011.8387%209.25715%2011.7803L10.4338%2011.469C10.4561%2011.4631%2010.4776%2011.4543%2010.4977%2011.4429L10.6036%2011.3825ZM9.54053%2010.1964L10.6036%2011.3825'%20stroke='%236B7280'%20stroke-width='0.6'/%3e%3c/svg%3e`,alt:``,className:`job-actions-frame-icon`}),`Actions `,(0,o.jsx)(a.DownOutlined,{className:`job-actions-caret`})]})}),(0,o.jsxs)(Dp,{className:`job-selected-count`,children:[`Selected (`,D.length,`)`]})]})]})}),(0,o.jsx)(i.Spin,{spinning:l,children:(0,o.jsx)(i.Table,{rowSelection:g?{type:`checkbox`,selectedRowKeys:D,onChange:(e,t)=>{O(e),A(t)}}:void 0,columns:H,dataSource:re,size:`middle`,scroll:{x:`max-content`},showSorterTooltip:!1,tableLayout:`auto`,pagination:!1,className:v,rowKey:e=>e.id??e.key})}),(0,o.jsx)(je,{current:B.current,pageSize:B.pageSize,total:ne,onChange:e=>{z?p?.(e):M(t=>({...t,current:e}))},onPageSizeChange:e=>{z?m?.(e):M({current:1,pageSize:e})}})]})}var Np={active:`green`,approved:`green`,hired:`green`,submitted:`gold`,resubmitted:`purple`,pending:`gold`,draft:`default`,rejected:`red`,inactive:`default`,completed:`blue`,not_submitted:`default`};function Pp({status:e}){let t=String(e??`unknown`);return(0,o.jsx)(i.Tag,{color:Np[t.toLowerCase()]??`default`,style:{borderRadius:6,fontWeight:600,fontSize:12,textTransform:`capitalize`},children:t.replace(/_/g,` `)})}function Fp(e,t){if(!e||typeof e!=`object`)return null;let n=e.key??e.value??e.id??String(t),r=e.label??e.title??e.name??e.tabTitle;return!n||!r?null:{key:String(n),label:String(r),count:e.count??e.countValue}}function Ip({tabs:e=[],activeKey:t,onChange:n,className:r=``}){let a=e.map(Fp).filter(Boolean);if(!a.length)return null;let s=a.some(e=>e.key===t)?t:a[0].key;return(0,o.jsx)(`div`,{className:`stylish-tabs ${r}`.trim(),children:a.map(e=>{let t=e.key===s,r=e.count!=null;return(0,o.jsxs)(`button`,{type:`button`,className:`stylish-tabs__item${t?` stylish-tabs__item--active`:``}`,onClick:()=>n?.(e.key),children:[(0,o.jsx)(`span`,{className:`stylish-tabs__label`,children:e.label}),r&&(0,o.jsx)(i.Badge,{count:e.count,showZero:!0,overflowCount:999,className:`stylish-tabs__badge${t?` stylish-tabs__badge--active`:``}`})]},e.key)})})}var Lp=/(\{\{[\w.]+\}\})/g;function Rp(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`)}function zp(e,t){return e?e.split(Lp).map(e=>/^\{\{[\w.]+\}\}$/.test(e)?`<span style="color:var(--color-brand);font-weight:600;background:var(--color-brand-softer);border-radius:3px;padding:0 3px">${Rp(e)}</span>`:`<span style="color:var(--color-text-primary)">${Rp(e).replace(/\n/g,`<br>`)}</span>`).join(``):`<span style="color:#bbb;pointer-events:none">${Rp(t)}</span>`}var Bp={fontFamily:`"SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace`,fontSize:12,lineHeight:`1.7`,padding:`5px 10px`,whiteSpace:`pre-wrap`,wordBreak:`break-word`,overflowWrap:`break-word`,boxSizing:`border-box`};function Vp({value:e=``,onChange:t,placeholder:n="e.g. ${{clientRate}} /{{rateType}}",disabled:i=!1,textareaRef:a}){let s=(0,r.useRef)(null),c=a??s,[l,u]=(0,r.useState)(!1);(0,r.useEffect)(()=>{let e=c.current;e&&(e.style.height=`auto`,e.style.height=`${e.scrollHeight}px`)},[e]);let d=i?`var(--color-border-input)`:l?`var(--color-brand)`:`var(--color-border-input)`,f=l&&!i?`0 0 0 2px rgba(0,83,165,0.12)`:`none`;return(0,o.jsxs)(`div`,{style:{position:`relative`,border:`1px solid ${d}`,borderRadius:6,background:i?`var(--color-surface-soft)`:`#fff`,transition:`border-color 0.2s, box-shadow 0.2s`,boxShadow:f,minHeight:34,cursor:i?`not-allowed`:`text`},onClick:()=>!i&&c.current?.focus(),children:[(0,o.jsx)(`div`,{"aria-hidden":!0,style:{...Bp,visibility:`hidden`,minHeight:22,pointerEvents:`none`,userSelect:`none`},dangerouslySetInnerHTML:{__html:zp(e,n)+`​`}}),(0,o.jsx)(`div`,{"aria-hidden":!0,style:{...Bp,position:`absolute`,inset:0,pointerEvents:`none`,userSelect:`none`,overflow:`hidden`},dangerouslySetInnerHTML:{__html:zp(e,n)+`​`}}),(0,o.jsx)(`textarea`,{ref:c,value:e,rows:1,spellCheck:!1,autoCorrect:`off`,autoCapitalize:`off`,disabled:i,onChange:e=>t?.(e.target.value),onFocus:()=>u(!0),onBlur:()=>u(!1),style:{...Bp,position:`absolute`,inset:0,width:`100%`,height:`100%`,background:`transparent`,color:`transparent`,caretColor:`#333`,border:`none`,outline:`none`,resize:`none`,overflow:`hidden`,cursor:i?`not-allowed`:`text`}})]})}var Hp=[`Weekly`,`Bi-Weekly`,`Monthly`].map(e=>({value:e,label:e})),Up=[7,15,30,45,60,90].map(e=>({value:`NET_${e}`,label:`NET ${e}`}));function Wp({search:e,onSearchChange:t,searchPlaceholder:n=`Search employee, client, employer, project…`,monthValue:r,onMonthChange:s,cycleValue:c,onCycleChange:l,termsValue:u,onTermsChange:d,termsOptions:f=Up,statusValue:p,onStatusChange:m,statusOptions:h=[],chips:g=[],activeChips:_=[],onToggleChip:v,onReset:y,onRefresh:b,onExport:x,exporting:S=!1,disabled:C=!1}){return(0,o.jsxs)(`div`,{className:`fin-toolbar`,children:[(0,o.jsxs)(`div`,{className:`fin-toolbar__main`,children:[(0,o.jsxs)(`div`,{className:`fin-toolbar__filters`,children:[(0,o.jsx)(i.Input,{className:`fin-toolbar__search`,size:`large`,allowClear:!0,prefix:(0,o.jsx)(a.SearchOutlined,{className:`fin-toolbar__search-icon`}),placeholder:n,value:e,onChange:e=>t?.(e.target.value),disabled:C}),(0,o.jsx)(i.DatePicker,{className:`fin-toolbar__control`,picker:`month`,allowClear:!0,placeholder:`All months`,value:r,onChange:s,disabled:C}),d?(0,o.jsx)(i.Select,{className:`fin-toolbar__control`,allowClear:!0,placeholder:`Payment terms`,value:u||void 0,onChange:e=>d(e??``),options:f,disabled:C,popupMatchSelectWidth:!1}):null,l?(0,o.jsx)(i.Select,{className:`fin-toolbar__control`,allowClear:!0,placeholder:`Payment cycle`,value:c||void 0,onChange:e=>l(e??``),options:Hp,disabled:C,popupMatchSelectWidth:!1}):null,(0,o.jsx)(i.Select,{className:`fin-toolbar__control`,allowClear:!0,placeholder:`Status`,value:p||void 0,onChange:e=>m?.(e??``),options:h,disabled:C,popupMatchSelectWidth:!1})]}),(0,o.jsxs)(`div`,{className:`fin-toolbar__actions`,children:[(0,o.jsx)(i.Tooltip,{title:`Reset filters`,children:(0,o.jsx)(i.Button,{icon:(0,o.jsx)(a.ClearOutlined,{}),onClick:y,disabled:C,"aria-label":`Reset filters`})}),(0,o.jsx)(i.Tooltip,{title:`Refresh`,children:(0,o.jsx)(i.Button,{icon:(0,o.jsx)(a.ReloadOutlined,{}),onClick:b,disabled:C,"aria-label":`Refresh`})}),(0,o.jsx)(i.Button,{icon:(0,o.jsx)(a.DownloadOutlined,{}),onClick:x,loading:S,disabled:C,children:`Export`})]})]}),g.length?(0,o.jsxs)(`div`,{className:`fin-toolbar__chips`,children:[(0,o.jsxs)(`span`,{className:`fin-toolbar__chips-label`,children:[(0,o.jsx)(a.ThunderboltOutlined,{}),` Quick filters`]}),g.map(e=>(0,o.jsx)(`button`,{type:`button`,className:`fin-chip${_.includes(e.key)?` fin-chip--active`:``}`,onClick:()=>v?.(e.key),disabled:C,children:e.label},e.key))]}):null]})}var{Text:Gp}=i.Typography,Kp={draft:`default`,logged:`blue`,submitted:`processing`,approved:`success`,rejected:`error`,resubmitted:`purple`,reopened:`warning`,save_draft:`default`,pending:`warning`,not_submitted:`default`};function qp({status:e}){if(!e||e===`draft`||e===`not_submitted`)return null;let t={submitted:{icon:(0,o.jsx)(a.CheckOutlined,{}),color:`blue`,label:`Submitted`},approved:{icon:(0,o.jsx)(a.CheckCircleOutlined,{}),color:`green`,label:`Approved`},rejected:{icon:(0,o.jsx)(a.CloseCircleOutlined,{}),color:`red`,label:`Rejected`},resubmitted:{icon:(0,o.jsx)(a.SyncOutlined,{}),color:`purple`,label:`Re-Submitted`},reopened:{icon:(0,o.jsx)(a.SyncOutlined,{}),color:`orange`,label:`Reopened`},save_draft:{icon:null,color:`default`,label:`Draft`}}[e];return t?(0,o.jsx)(i.Tag,{color:t.color,icon:t.icon,style:{borderRadius:20,fontSize:12,padding:`2px 10px`},children:t.label}):(0,o.jsx)(i.Tag,{color:Kp[e]??`default`,children:e})}function Jp({configKey:e=`timesheet`,month:t,year:n}){let r=Ae(e);return t&&n&&(0,c.default)(`${n}-${t}-01`).isBefore((0,c.default)().subtract(r.thresholdMonths,`month`),`month`)?(0,o.jsx)(i.Tag,{color:r.pastColor,children:r.pastLabel}):null}var Yp={working:`timesheet-day-cell--working`,overtime:`timesheet-day-cell--overtime`,leave:`timesheet-day-cell--leave`,holiday:`timesheet-day-cell--holiday`,weekoff:`timesheet-day-cell--weekoff`};function Xp(e,t=0){let n=Number(e);return Number.isFinite(n)?n:t}function Zp(e){let t=Xp(e);return t===0?`0h`:`${t.toFixed(1).replace(/\.0$/,``)}h`}var Qp={ST:`#D0E6FF`,OT:`#AAFEBCA6`,leave:`#FFECBA`};function $p(e,t){let n=Math.min(Math.max(e,0),1);return!String(t).startsWith(`135`)&&!String(t).startsWith(`45`)?n:n<=.5?Math.sqrt(n/2):1-Math.sqrt((1-n)/2)}function em(e={},{angle:t=`135deg`}={}){let n=[[`ST`,Xp(e?.workingHours?.ST)],[`OT`,Xp(e?.workingHours?.OT)],[`leave`,Xp(e?.leave?.CL)+Xp(e?.leave?.SL)]].filter(([,e])=>e>0),r=n.reduce((e,[,t])=>e+t,0);if(n.length<2||r<=0)return null;let i=[],a=0;return n.forEach(([e,o],s)=>{let c=$p(a/r,t)*100;a+=o;let l=s===n.length-1?100:$p(a/r,t)*100;i.push(`${Qp[e]} ${c.toFixed(2)}% ${l.toFixed(2)}%`)}),`linear-gradient(${t}, ${i.join(`, `)})`}function tm(e={},{isUnloggedHighlight:t=!1,selected:n=!1,selectable:r=!1,reviewMode:i=!1}={}){let a=Xp(e?.workingHours?.ST),o=Xp(e?.workingHours?.OT),s=Xp(e?.leave?.CL)+Xp(e?.leave?.SL),c=[a,o,s].filter(e=>e>0).length>1,l=o>0?`overtime`:a>0?`working`:s>0?`leave`:null,u=!!e?.isOutOfAssignmentRange,d=u?null:e?.isHoliday?`holiday`:l??(e?.isWeekOff?`weekoff`:null),f=e?.status;return[`timesheet-day-cell`,u?`timesheet-day-cell--out-of-range`:!c&&d?Yp[d]??``:``,e?.isFuture?`timesheet-day-cell--future`:``,f===`rejected`?`timesheet-day-cell--rejected`:``,f===`approved`?`timesheet-day-cell--approved`:``,n?`timesheet-day-cell--selected`:``,t?`timesheet-day-cell--unlogged-highlight`:``,r?`timesheet-day-cell--selectable`:``,i?`timesheet-day-cell--review`:``].filter(Boolean).join(` `)}function nm({day:e,readonly:t=!1,selected:n=!1,isUnloggedHighlight:r=!1,onSelect:s,onQuickLog:l,splitMode:u=`proportional`,splitAngle:d=`135deg`,selectable:f=!1,onToggleSelect:p,reviewMode:m=!1,onApproveDay:h,onRejectDay:g}){let _=Xp(e?.workingHours?.ST),v=Xp(e?.workingHours?.OT),y=Xp(e?.leave?.CL)+Xp(e?.leave?.SL),b=e?.status,x=b===`approved`,S=b===`rejected`,C=x&&!m,w=!!e?.isOutOfAssignmentRange,T=!t&&!f&&!w&&!e?.isFuture&&!e?.isHoliday&&!e?.isWeekOff&&!e?.isLogged,E=u===`proportional`?em(e,{angle:d}):null,D=t=>{t.stopPropagation(),l?.(e?.date)},O=()=>{if(f){p?.(e?.date);return}s?.(e)},k=m&&e?.isLogged,A=(0,o.jsxs)(`button`,{type:`button`,className:tm(e,{isUnloggedHighlight:r,selected:n,selectable:f,reviewMode:m}),style:E?{background:E}:void 0,disabled:t&&!k||e?.isFuture||w||C&&!m,onClick:O,children:[(0,o.jsxs)(`span`,{className:`timesheet-day-cell__top`,children:[(0,o.jsxs)(`span`,{className:`timesheet-day-cell__date`,children:[e?.date?(0,c.default)(e.date).date():`-`,S&&(0,o.jsx)(`span`,{className:`timesheet-day-cell__reject-dot`})]}),(0,o.jsxs)(`span`,{className:`timesheet-day-cell__top-right`,children:[T&&(0,o.jsx)(i.Tooltip,{title:`Quick log 8h`,placement:`top`,children:(0,o.jsx)(a.ClockCircleOutlined,{className:`timesheet-day-cell__quick-log-icon`,onClick:D})}),!T&&!w&&!e?.isHoliday&&!e?.isWeekOff&&!e?.isFuture&&(0,o.jsx)(a.ClockCircleOutlined,{className:`timesheet-day-cell__quick-log-icon timesheet-day-cell__quick-log-icon--logged`})]})]}),(0,o.jsxs)(`span`,{className:`timesheet-day-cell__body`,children:[!w&&e?.isHoliday&&(0,o.jsx)(i.Tag,{color:`purple`,className:`timesheet-type-tag`,children:`H`}),!w&&e?.isWeekOff&&!e?.isLogged&&(0,o.jsx)(Gp,{type:`secondary`,className:`timesheet-no-log`,children:`Off`}),_>0&&(0,o.jsxs)(`span`,{className:`timesheet-hour-label`,children:[(0,o.jsx)(`span`,{className:`timesheet-hour-value`,children:Zp(_)}),(0,o.jsx)(`span`,{className:`timesheet-hour-suffix timesheet-hour-st`,children:` s`})]}),v>0&&(0,o.jsxs)(`span`,{className:`timesheet-hour-label timesheet-hour-label--ot`,children:[(0,o.jsx)(`span`,{className:`timesheet-hour-value`,children:Zp(v)}),(0,o.jsx)(`span`,{className:`timesheet-hour-suffix timesheet-hour-ot`,children:` o`})]}),y>0&&(0,o.jsxs)(`span`,{className:`timesheet-hour-label timesheet-hour-label--leave${E?` timesheet-hour-label--split-end`:``}`,children:[(0,o.jsx)(`span`,{className:`timesheet-hour-value`,children:Zp(y)}),(0,o.jsx)(`span`,{className:`timesheet-hour-suffix timesheet-hour-leave`,children:` L`})]}),!w&&!e?.isLogged&&!e?.isHoliday&&!e?.isWeekOff&&!e?.isFuture&&(0,o.jsx)(Gp,{type:`secondary`,className:`timesheet-no-log`,children:`No log`})]}),x&&(0,o.jsx)(a.CheckOutlined,{className:`timesheet-day-cell__verdict timesheet-day-cell__verdict--approved`}),S&&(0,o.jsx)(a.CloseCircleOutlined,{className:`timesheet-day-cell__verdict timesheet-day-cell__verdict--rejected`}),m&&e?.isLogged&&(h||g)&&(0,o.jsxs)(`span`,{className:`timesheet-day-review-actions`,children:[h&&(0,o.jsx)(`span`,{role:`button`,tabIndex:-1,className:`ts-approve`,title:`Approve this day`,onClick:t=>{t.stopPropagation(),h(e?.date)},children:(0,o.jsx)(a.CheckOutlined,{})}),g&&(0,o.jsx)(`span`,{role:`button`,tabIndex:-1,className:`ts-reject`,title:`Reject this day`,onClick:t=>{t.stopPropagation(),g(e?.date)},children:(0,o.jsx)(a.CloseCircleOutlined,{})})]})]});return S&&e?.rejectionReason?(0,o.jsx)(i.Tooltip,{title:e.rejectionReason,placement:`top`,children:(0,o.jsx)(`span`,{style:{display:`block`,width:`100%`},children:A})}):A}var rm=8,im=16,am=.001,om=e=>e==null?``:`${e}`,sm=e=>e===``||e===void 0?void 0:Number(e),cm=e=>Math.round(e*100)/100,lm=(e,t,n)=>cm(Math.min(Math.max(e,t),n));function um({open:e,day:t,saving:n=!1,onCancel:s,onSubmit:l,hoursStep:u=.5,maxDailyHours:d=im}){let[f]=i.Form.useForm(),p=i.Form.useWatch(`ST`,f),m=i.Form.useWatch(`OT`,f),h=i.Form.useWatch(`Leave`,f);(0,r.useEffect)(()=>{if(!e)return;let n=!t?.isWeekOff&&!t?.isHoliday,r=t?.isLogged?Xp(t?.workingHours?.ST):n?rm:0,i=Xp(t?.workingHours?.OT),a=Xp(t?.leave?.CL),o=Xp(t?.leave?.SL);f.setFieldsValue({ST:r,OT:i,Leave:a+o})},[t,f,e]);let g=()=>({validator(e,t){let n=Xp(t);return n<0?Promise.reject(Error(`Standard Hours cannot be negative.`)):n>rm?Promise.reject(Error(`Standard Hours cannot exceed 8 hours.`)):Promise.resolve()}}),_=({getFieldValue:e})=>({validator(n,r){if(Xp(r)<0)return Promise.reject(Error(`Leave Hours cannot be negative.`));if(t?.isWeekOff)return Promise.resolve();let i=Xp(e(`ST`)),a=Xp(e(`Leave`));return Math.abs(i+a-rm)<=am?Promise.resolve():Promise.reject(Error(`Standard Hours and Leave Hours together must equal 8 hours.`))}}),v=({getFieldValue:e})=>({validator(n,r){let i=Xp(r);if(i<0)return Promise.reject(Error(`Overtime cannot be negative.`));if(i===0)return Promise.resolve();let a=Xp(e(`ST`));return!t?.isWeekOff&&a<rm?Promise.reject(Error(`Overtime can only be entered after completing 8 standard working hours.`)):Xp(e(`Leave`))>0?Promise.reject(Error(`Overtime is not allowed when leave hours are recorded.`)):a+i>d?Promise.reject(Error(`Total working hours exceed the maximum allowed daily limit.`)):Promise.resolve()}}),y=({getFieldValue:e})=>({validator(t,n){let r=Xp(n),i=Xp(e(`OT`));return r>0&&i>0?Promise.reject(Error(`Overtime is not allowed when leave hours are recorded.`)):Promise.resolve()}}),b=()=>{f.validateFields([`ST`,`OT`,`Leave`]).catch(()=>{})},x=e=>{if(`ST`in e&&!t?.isWeekOff){let t=Xp(e.ST),n={Leave:lm(rm-t,0,rm)};t<rm&&(n.OT=0),f.setFieldsValue(n)}b()},S=async()=>{let e=await f.validateFields(),n=Xp(e.ST),r=Xp(e.OT),i=Xp(e.Leave),a=[n,r,i].filter(e=>e>0).length;l?.({date:t?.date,logType:a>1?`mixed`:r>0?`overtime`:i>0?`leave`:`working`,workingHours:{ST:n,OT:r},leave:{CL:i,SL:0},isHoliday:!!t?.isHoliday,isWeekOff:!!t?.isWeekOff,notes:``})},C=t?.isHoliday,w=!!t?.isWeekOff&&!C,T=t?.date?(0,c.default)(t.date).format(`MMM DD, YYYY`):`Log time`,E=Xp(p),D=Xp(m),O=Xp(h),k=!w&&E<rm;return E+D,E+D+O,(0,o.jsxs)(i.Modal,{title:(0,o.jsxs)(i.Space,{children:[(0,o.jsx)(Gp,{strong:!0,children:T}),t?.isHoliday&&(0,o.jsx)(i.Tag,{color:`purple`,children:`Holiday`}),t?.isWeekOff&&(0,o.jsx)(i.Tag,{children:`Week Off`})]}),open:e,onCancel:s,onOk:S,confirmLoading:n,okText:`Save`,cancelText:`Cancel`,destroyOnHidden:!0,width:340,footer:(e,{OkBtn:t,CancelBtn:n})=>(0,o.jsxs)(i.Space,{style:{width:`100%`,justifyContent:`flex-end`},children:[(0,o.jsx)(n,{}),!C&&(0,o.jsx)(t,{})]}),children:[t?.rejectionReason&&(0,o.jsxs)(`div`,{className:`timesheet-log-reject`,children:[(0,o.jsxs)(`div`,{className:`timesheet-log-reject__note`,children:[(0,o.jsx)(a.CloseCircleOutlined,{className:`timesheet-log-reject__icon`}),(0,o.jsxs)(`div`,{className:`timesheet-log-reject__body`,children:[(0,o.jsx)(`span`,{className:`timesheet-log-reject__title`,children:`Sent back by your reviewer`}),(0,o.jsx)(`span`,{className:`timesheet-log-reject__reason`,children:t.rejectionReason})]})]}),(0,o.jsxs)(`div`,{className:`timesheet-log-reject__proof`,children:[(0,o.jsx)(a.UploadOutlined,{className:`timesheet-log-reject__proof-icon`}),(0,o.jsxs)(`div`,{className:`timesheet-log-reject__body`,children:[(0,o.jsx)(`span`,{className:`timesheet-log-reject__title timesheet-log-reject__title--proof`,children:`To fix it`}),(0,o.jsxs)(`ol`,{className:`timesheet-log-reject__steps`,children:[(0,o.jsx)(`li`,{children:`Correct the hours below.`}),(0,o.jsx)(`li`,{children:`Replace the proof / screenshot so it matches.`}),(0,o.jsx)(`li`,{children:`Save, then re-submit your timesheet.`})]})]})]})]}),C?(0,o.jsx)(i.Alert,{type:`info`,showIcon:!0,message:`Holiday — no manual log required.`}):(0,o.jsxs)(o.Fragment,{children:[w&&(0,o.jsx)(i.Alert,{type:`info`,showIcon:!0,message:`Weekend — logged as Overtime.`,style:{marginBottom:12}}),(0,o.jsxs)(i.Form,{form:f,layout:`vertical`,className:`timesheet-log-form`,validateTrigger:[`onChange`,`onBlur`],onValuesChange:x,children:[(0,o.jsx)(i.Form.Item,{name:`ST`,label:(0,o.jsxs)(`span`,{style:{color:`#1d4ed8`,fontWeight:600},children:[`Standard `,(0,o.jsx)(`span`,{style:{fontWeight:400,color:`#6b7280`},children:`hrs`})]}),dependencies:[`Leave`],rules:[g,_],extra:w?`Disabled on a weekend`:void 0,children:(0,o.jsx)(i.InputNumber,{min:0,max:rm,step:u,style:{width:`100%`},disabled:w,formatter:om,parser:sm,addonAfter:(0,o.jsx)(`span`,{style:{color:`#1d4ed8`,fontWeight:700},children:`s`})})}),(0,o.jsx)(i.Form.Item,{name:`OT`,label:(0,o.jsxs)(`span`,{style:{color:`#15803d`,fontWeight:600},children:[`Overtime `,(0,o.jsx)(`span`,{style:{fontWeight:400,color:`#6b7280`},children:`hrs`})]}),dependencies:[`ST`,`Leave`],rules:[v],extra:k?`Complete 8 standard hours to log overtime.`:void 0,children:(0,o.jsx)(i.InputNumber,{min:0,max:d,step:u,style:{width:`100%`},disabled:k,formatter:om,parser:sm,addonAfter:(0,o.jsx)(`span`,{style:{color:`#15803d`,fontWeight:700},children:`o`})})}),(0,o.jsx)(i.Form.Item,{name:`Leave`,label:(0,o.jsxs)(`span`,{style:{color:`#b45309`,fontWeight:600},children:[`Leave `,(0,o.jsx)(`span`,{style:{fontWeight:400,color:`#6b7280`},children:`hrs`})]}),dependencies:[`ST`,`OT`],rules:[_,y],extra:w?`Disabled on a weekend.`:void 0,children:(0,o.jsx)(i.InputNumber,{min:0,max:rm,step:u,style:{width:`100%`},disabled:w,formatter:om,parser:sm,addonAfter:(0,o.jsx)(`span`,{style:{color:`#b45309`,fontWeight:700},children:`L`})})})]}),(0,o.jsxs)(`div`,{className:`timesheet-log-summary`,children:[(0,o.jsx)(`div`,{className:`timesheet-log-summary__row`,children:` `}),(0,o.jsx)(`div`,{className:`timesheet-log-summary__row`})]})]})]})}function dm({count:e=0,total:t=0,hours:n=8,loading:r=!1,onConfirm:s,onCancel:c,onSelectAll:l,onSelectNone:u}){return(0,o.jsxs)(`div`,{className:`timesheet-quicklog-bar`,children:[(0,o.jsxs)(i.Space,{size:8,wrap:!0,children:[(0,o.jsx)(Gp,{strong:!0,children:e===0?`No days selected`:`Log ${n}h standard on ${e} day${e===1?``:`s`}`}),t>0&&(0,o.jsxs)(Gp,{type:`secondary`,style:{fontSize:12},children:[e,` of `,t,` eligible · click a day to deselect it`]})]}),(0,o.jsxs)(i.Space,{size:6,children:[(0,o.jsx)(i.Button,{size:`small`,onClick:l,disabled:e===t,children:`Select all`}),(0,o.jsx)(i.Button,{size:`small`,onClick:u,disabled:e===0,children:`Clear`}),(0,o.jsx)(i.Button,{size:`small`,onClick:c,children:`Cancel`}),(0,o.jsx)(i.Button,{size:`small`,type:`primary`,icon:(0,o.jsx)(a.ClockCircleOutlined,{}),loading:r,disabled:e===0,onClick:s,children:`Confirm`})]})]})}function fm({open:e=!1,loading:t=!1,onSave:n,onCancel:a}){let[s,c]=(0,r.useState)(``);return(0,r.useEffect)(()=>{e&&c(``)},[e]),(0,o.jsx)(i.Modal,{title:`Rejection Reason`,open:e,onCancel:a,footer:(0,o.jsxs)(i.Space,{children:[(0,o.jsx)(i.Button,{onClick:a,children:`Cancel`}),(0,o.jsx)(i.Button,{type:`primary`,danger:!0,disabled:!s.trim(),loading:t,onClick:()=>n?.(s.trim()),children:`Reject`})]}),destroyOnHidden:!0,children:(0,o.jsx)(i.Form,{layout:`vertical`,children:(0,o.jsx)(i.Form.Item,{label:(0,o.jsxs)(`span`,{children:[(0,o.jsx)(`span`,{style:{color:`#ff4d4f`},children:`*`}),` Comments`]}),help:s.trim()?``:`Rejection reason is required`,validateStatus:s.trim()?``:`error`,children:(0,o.jsx)(i.Input.TextArea,{rows:4,maxLength:1e3,showCount:!0,placeholder:`Enter reason for rejection...`,value:s,onChange:e=>c(e.target.value)})})})})}function pm({loading:t=!1,disabled:n=!1,onQuickLog:r}){return(0,o.jsx)(i.Card,{size:`small`,className:`timesheet-quick-log`,children:(0,o.jsx)(i.Space,{wrap:!0,children:(0,o.jsx)(e.z,{variant:`primary`,icon:(0,o.jsx)(a.ClockCircleOutlined,{}),loading:t,disabled:n,onClick:()=>r?.(`businessDays`),children:`Quick Log (8h s)`})})})}function mm({proof:e,uploading:t=!1,disabled:n=!1,onUpload:r,onPreview:s,previewUrl:c}){return(0,o.jsxs)(i.Card,{className:`timesheet-proof`,size:`small`,title:`Proof / screenshot`,children:[e?.fileName?(0,o.jsxs)(o.Fragment,{children:[c?(0,o.jsx)(`button`,{type:`button`,className:`timesheet-proof__thumb-button`,onClick:()=>s?.(e),title:s?`Open full preview`:void 0,children:(0,o.jsx)(`img`,{className:`timesheet-proof__thumb`,src:c,alt:e.fileName})}):null,(0,o.jsxs)(`div`,{className:`timesheet-proof__file`,children:[(0,o.jsx)(a.FileTextOutlined,{style:{color:`#1677ff`}}),(0,o.jsx)(Gp,{strong:!0,style:{flex:1,minWidth:0},ellipsis:!0,children:e.fileName}),s&&(0,o.jsx)(i.Button,{type:`link`,size:`small`,onClick:()=>s(e),children:`Preview`})]})]}):(0,o.jsx)(Gp,{type:`secondary`,style:{fontSize:12},children:`Upload Proof`}),(0,o.jsx)(i.Upload,{beforeUpload:e=>(r?.(e),!1),maxCount:1,showUploadList:!1,disabled:n,accept:`.pdf,.doc,.docx,.png,.jpg,.jpeg`,children:!n&&(0,o.jsx)(i.Button,{icon:(0,o.jsx)(a.UploadOutlined,{}),loading:t,block:!0,size:`small`,style:{marginTop:6},children:e?.fileName?`Replace proof`:`Upload proof`})}),(0,o.jsx)(Gp,{type:`secondary`,style:{fontSize:11},children:`Supports: .pdf, .doc, .docx, .png, .jpg — max 10 MB`})]})}function hm({value:e,disabled:t=!1,onChange:n,label:r=`Notes / Comments`,maxLength:a=1e3}){let s=(e??``).length;return(0,o.jsxs)(i.Card,{className:`timesheet-notes`,size:`small`,title:r,children:[(0,o.jsx)(`div`,{className:`timesheet-notes__field`,children:(0,o.jsx)(i.Input.TextArea,{className:`timesheet-notes__textarea`,rows:5,maxLength:a,value:e,disabled:t,onChange:e=>n?.(e.target.value),placeholder:`Add notes or comments...`})}),(0,o.jsxs)(`div`,{className:`timesheet-notes__count`,children:[s,` / `,a]})]})}function gm({status:t,loading:n=!1,readonly:s=!1,rejectionReason:c,rejectionMode:l=`modal`,title:u=`Review Notes`,hint:d=`Review comment is mandatory while rejecting`,approveDisabled:f=!1,approveDisabledReason:p,rejectDisabled:m=!1,rejectDisabledReason:h,onSubmit:g,onApprove:_,onReject:v,onReopen:y}){let[b,x]=(0,r.useState)(!1),[S,C]=(0,r.useState)(!1),[w,T]=(0,r.useState)(``),E=[`submitted`,`resubmitted`,`reopened`,`save_draft`].includes(t),D=t===`rejected`,O=t===`approved`,k=t===`submitted`||t===`resubmitted`,A=t===`reopened`,j=!t||t===`draft`||t===`not_submitted`,M=async e=>{C(!0);try{await v?.(e),x(!1)}finally{C(!1)}},N=()=>i.Modal.confirm({title:`Reopen timesheet?`,content:`This returns the month to the resource to correct and re-submit. It cannot be reopened once its invoice or payment has been processed.`,okText:`Reopen`,onOk:y}),P=()=>{let e=w.trim();if(!e){i.message.error(`A review comment is required to reject`);return}v?.(e)};if(l===`inline`)return(0,o.jsxs)(i.Card,{size:`small`,className:`timesheet-review-notes-card`,children:[(0,o.jsxs)(`div`,{className:`timesheet-review-notes-card__head`,children:[(0,o.jsx)(Gp,{strong:!0,children:u}),(0,o.jsxs)(Gp,{type:`secondary`,className:`timesheet-review-notes-card__hint`,children:[(0,o.jsx)(a.InfoCircleOutlined,{}),` `,d]})]}),c&&D&&(0,o.jsx)(i.Alert,{type:`error`,showIcon:!0,message:`Rejected`,description:c,className:`timesheet-review-notes-card__alert`}),k?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(i.Input.TextArea,{rows:3,maxLength:1e3,value:w,onChange:e=>T(e.target.value),placeholder:`Add your note`,className:`timesheet-review-notes-card__input`}),(0,o.jsxs)(`div`,{className:`timesheet-review-notes-card__actions`,children:[(0,o.jsx)(i.Tooltip,{title:m?h:``,children:(0,o.jsx)(i.Button,{danger:!0,loading:n,disabled:m,onClick:P,children:`Reject`})}),(0,o.jsx)(i.Tooltip,{title:f?p:``,children:(0,o.jsx)(i.Button,{type:`primary`,loading:n,disabled:f,onClick:_,children:`Approve`})})]})]}):(0,o.jsxs)(`div`,{className:`timesheet-review-notes-card__decided`,children:[(0,o.jsxs)(Gp,{type:`secondary`,children:[`This timesheet is `,t,`.`]}),(O||D)&&y?(0,o.jsx)(i.Button,{icon:(0,o.jsx)(a.InfoCircleOutlined,{}),loading:n,onClick:N,children:`Reopen`}):null]})]});let F=`Submit`,I=!1;return k&&(F=t===`resubmitted`?`Re-Submitted`:`Submitted`,I=!0),(D||A)&&(F=`Re-Submit`,I=!1),O&&(F=`Approved`,I=!0),(0,o.jsxs)(o.Fragment,{children:[c&&D&&(0,o.jsx)(i.Alert,{type:`error`,showIcon:!0,message:`Rejected`,description:c,style:{marginBottom:8}}),(0,o.jsxs)(`div`,{className:`timesheet-action-bar`,children:[(j||D||A||k||O)&&g&&(0,o.jsx)(e.z,{variant:`primary`,icon:(0,o.jsx)(a.SendOutlined,{}),loading:n,disabled:I,onClick:I?void 0:g,block:!0,children:F}),E&&_&&(0,o.jsx)(e.z,{variant:`primary`,icon:(0,o.jsx)(a.CheckOutlined,{}),loading:n,onClick:_,children:`Approve`}),E&&v&&(0,o.jsx)(i.Button,{danger:!0,loading:n,onClick:()=>x(!0),children:`Reject`}),(O||D)&&y&&(0,o.jsx)(i.Button,{icon:(0,o.jsx)(a.InfoCircleOutlined,{}),loading:n,onClick:N,children:`Reopen`})]}),(0,o.jsx)(fm,{open:b,loading:S,onSave:M,onCancel:()=>x(!1)})]})}var _m=e=>Number.isFinite(Number(e))?Number(e):0;function vm(e,t,{isToday:n}={}){let r=Number(e.slice(-2)),a=_m(t?.workingHours?.ST),s=_m(t?.workingHours?.OT),l=_m(t?.leave?.CL)+_m(t?.leave?.SL),u=a+s,d=!!t?.isLogged||u>0||l>0,f=t?t.isHoliday?`holiday`:d&&u>0?`work`:l>0?`leave`:t.isWeekOff?`weekoff`:`blank`:`blank`,p=[`fin-daycell`,`fin-daycell--${f}`,t?.status===`approved`?`fin-daycell--approved`:``,t?.status===`rejected`?`fin-daycell--rejected`:``,n?`fin-daycell--today`:``].filter(Boolean).join(` `),m=f===`work`?em(t):null,h=(0,o.jsxs)(`div`,{className:p,style:m?{background:m}:void 0,children:[(0,o.jsx)(`span`,{className:`fin-daycell__num`,children:r}),f===`work`?(0,o.jsxs)(`span`,{className:`fin-daycell__hours`,children:[u%1==0?u:u.toFixed(1),`h`,s>0?(0,o.jsx)(`em`,{children:` +OT`}):null]}):f===`leave`?(0,o.jsx)(`span`,{className:`fin-daycell__hours`,children:`Leave`}):f===`holiday`?(0,o.jsx)(`span`,{className:`fin-daycell__hours`,children:`Holiday`}):null]});return t?(0,o.jsx)(i.Tooltip,{title:[(0,c.default)(e).format(`ddd, MMM D`),a?`ST ${a}h`:null,s?`OT ${s}h`:null,l?`Leave ${l}h`:null,t.isHoliday?`Holiday`:null,t.status===`rejected`?`Rejected${t.rejectionReason?` — ${t.rejectionReason}`:``}`:null,t.status===`approved`?`Approved`:null].filter(Boolean).join(` · `),children:h}):h}var ym=[{label:`Standard`,color:`#3b82f6`},{label:`Overtime`,color:`#22c55e`},{label:`Leave`,color:`#f59e0b`},{label:`Holiday`,color:`#8b5cf6`},{label:`Rejected`,color:`#ef4444`}];function bm({dailyLogs:e=[],timesheetSummary:t={},rate:n=0,rateLabel:s=`Rate`,amountLabel:l=`Amount`,approvedHours:u,month:d,year:f,monthLabel:p,extraEquationTerms:m=[]}){let h=(0,r.useMemo)(()=>ld(e),[e]),g=(0,r.useMemo)(()=>ud(e,n),[e,n]),_=(0,r.useMemo)(()=>pd(e,n),[e,n]),v=h.totalHours||_m(u),y=v*_m(n),b=Math.max(1,...g.map(e=>e.total)),x=Math.max(1,..._.map(e=>e.total)),S=[{key:`hours`,label:`Approved Hours`,value:Ku(v),icon:(0,o.jsx)(a.ClockCircleOutlined,{}),tone:`brand`,sub:`${h.loggedDays} logged days`},{key:`st`,label:`Standard`,value:Ku(h.stHours||t.totalSTHours),icon:(0,o.jsx)(a.FieldTimeOutlined,{}),tone:`neutral`},{key:`ot`,label:`Overtime`,value:Ku(h.otHours||t.totalOTHours),icon:(0,o.jsx)(a.ThunderboltOutlined,{}),tone:`warning`},{key:`leave`,label:`Leave`,value:Ku(h.leaveHours||t.leaveHours),icon:(0,o.jsx)(a.RestOutlined,{}),tone:`neutral`,sub:`${h.leaveDays} days`},{key:`avg`,label:`Avg / Logged Day`,value:Ku(h.avgHoursPerLoggedDay),icon:(0,o.jsx)(a.CalendarOutlined,{}),tone:`info`},{key:`amount`,label:l,value:Gu(y),icon:(0,o.jsx)(a.DollarOutlined,{}),tone:`success`}],C=[{label:`Approved days`,value:h.approvedDays,tone:`success`},{label:`Pending days`,value:h.pendingDays,tone:`gold`},{label:`Rejected days`,value:h.rejectedDays,tone:h.rejectedDays?`danger`:`neutral`},{label:`Holidays`,value:h.holidayDays,tone:`neutral`},{label:`Week-offs`,value:h.weekOffDays,tone:`neutral`}],w=[{title:`Date`,dataIndex:`date`,width:150,render:(e,t)=>(0,o.jsxs)(`div`,{className:`fin-cell-text`,children:[(0,o.jsx)(`span`,{className:`fin-cell__primary`,children:e?(0,c.default)(e).format(`ddd, MMM D`):`—`}),t.isHoliday?(0,o.jsx)(`span`,{className:`fin-cell__secondary`,children:`Holiday`}):null]})},{title:`ST`,dataIndex:`st`,align:`right`,width:70,render:e=>e.toFixed(2)},{title:`OT`,dataIndex:`ot`,align:`right`,width:70,render:e=>e?e.toFixed(2):`—`},{title:`Leave`,dataIndex:`leave`,align:`right`,width:70,render:e=>e?e.toFixed(2):`—`},{title:`Total`,dataIndex:`total`,align:`right`,width:170,render:e=>(0,o.jsxs)(`div`,{className:`fin-bar`,children:[(0,o.jsx)(`span`,{className:`fin-bar__track`,children:(0,o.jsx)(`span`,{className:`fin-bar__fill`,style:{width:`${e/b*100}%`}})}),(0,o.jsx)(`span`,{className:`fin-bar__value`,children:e.toFixed(2)})]})},{title:l,dataIndex:`amount`,align:`right`,width:110,render:e=>(0,o.jsx)(`strong`,{className:`fin-cell-money__value`,children:Gu(e)})},{title:`Status`,dataIndex:`status`,align:`center`,width:100,render:e=>(0,o.jsx)(Sd,{status:e,size:`sm`})},{title:`Reviewer`,dataIndex:`reviewer`,width:130,render:e=>e||(0,o.jsx)(`span`,{className:`fin-cell__secondary`,children:`—`})},{title:`Remarks`,dataIndex:`remarks`,ellipsis:!0,render:e=>e?(0,o.jsx)(i.Tooltip,{title:e,children:(0,o.jsx)(`span`,{className:`fin-remarks`,children:e})}):(0,o.jsx)(`span`,{className:`fin-cell__secondary`,children:`—`})}],T=[{title:`Week`,dataIndex:`label`,render:(e,t)=>(0,o.jsx)(xm,{primary:e,secondary:`${t.days} logged days`})},{title:`ST`,dataIndex:`st`,align:`right`,width:64,render:e=>e.toFixed(1)},{title:`OT`,dataIndex:`ot`,align:`right`,width:64,render:e=>e?e.toFixed(1):`—`},{title:`Hours`,dataIndex:`total`,align:`right`,width:150,render:e=>(0,o.jsxs)(`div`,{className:`fin-bar`,children:[(0,o.jsx)(`span`,{className:`fin-bar__track`,children:(0,o.jsx)(`span`,{className:`fin-bar__fill`,style:{width:`${e/x*100}%`}})}),(0,o.jsx)(`span`,{className:`fin-bar__value`,children:e.toFixed(1)})]})},{title:l,dataIndex:`amount`,align:`right`,width:110,render:e=>(0,o.jsx)(`strong`,{className:`fin-cell-money__value`,children:Gu(e)})}];return(0,o.jsxs)(`div`,{className:`fin-analysis`,children:[(0,o.jsx)(Cd,{items:S,compact:!0}),(0,o.jsx)(`div`,{className:`fin-daychips`,children:C.map(e=>(0,o.jsxs)(`span`,{className:`fin-badge fin-badge--${e.tone}`,children:[e.value,` `,e.label]},e.label))}),(0,o.jsx)(Ed,{className:`fin-equation-card`,children:(0,o.jsx)(kd,{terms:[{value:Ku(v),label:`Approved Hours`},{op:`×`},{value:qu(n),label:s},{op:`=`},{value:Gu(y),label:l,tone:`accent`},...m]})}),(0,o.jsxs)(`div`,{className:`fin-analysis__grid`,children:[(0,o.jsx)(D,{className:`fin-heatmap`,days:e,startDay:`Mon`,readonly:!0,year:f,month:d,monthLabel:p,legend:ym,renderDayContent:vm,onPrevMonth:()=>{},onNextMonth:()=>{}}),(0,o.jsx)(Ed,{title:`Weekly Breakdown`,className:`fin-weekly`,children:(0,o.jsx)(i.Table,{className:`fin-analysis-table`,size:`small`,rowKey:e=>e.label,pagination:!1,dataSource:_,columns:T,locale:{emptyText:`No logged weeks`}})})]}),(0,o.jsx)(Ed,{title:`Daily Breakdown — Hours × ${s} = ${l}`,children:(0,o.jsx)(i.Table,{className:`fin-analysis-table`,size:`small`,rowKey:`key`,pagination:!1,dataSource:g,columns:w,scroll:{x:900},locale:{emptyText:`No approved day logs to analyse`},summary:()=>g.length?(0,o.jsxs)(i.Table.Summary.Row,{className:`fin-analysis-total`,children:[(0,o.jsx)(i.Table.Summary.Cell,{index:0,children:(0,o.jsx)(`strong`,{children:`Total`})}),(0,o.jsx)(i.Table.Summary.Cell,{index:1,align:`right`,children:h.stHours.toFixed(2)}),(0,o.jsx)(i.Table.Summary.Cell,{index:2,align:`right`,children:h.otHours?h.otHours.toFixed(2):`—`}),(0,o.jsx)(i.Table.Summary.Cell,{index:3,align:`right`,children:h.leaveHours?h.leaveHours.toFixed(2):`—`}),(0,o.jsx)(i.Table.Summary.Cell,{index:4,align:`right`,children:(0,o.jsx)(`strong`,{children:v.toFixed(2)})}),(0,o.jsx)(i.Table.Summary.Cell,{index:5,align:`right`,children:(0,o.jsx)(`strong`,{children:Gu(y)})}),(0,o.jsx)(i.Table.Summary.Cell,{index:6}),(0,o.jsx)(i.Table.Summary.Cell,{index:7}),(0,o.jsx)(i.Table.Summary.Cell,{index:8})]}):null})})]})}function xm({primary:e,secondary:t}){return(0,o.jsxs)(`div`,{className:`fin-cell-text`,children:[(0,o.jsx)(`span`,{className:`fin-cell__primary`,children:e}),t?(0,o.jsx)(`span`,{className:`fin-cell__secondary`,children:t}):null]})}var Sm=`submissionManager`,Cm=`onboardingManager`,wm=`cfo`,Tm=`onlyFinance`,Em=`submissionManagerReapprove`,Dm=`onboardingManagerReapprove`,Om={rateUnit:`hr`,currency:`$`,labels:{employerVms:{required:`Employer VMS`,notRequired:`Not required`,notRequiredSub:`VMS not required for this submission`,unavailable:`VMS Not available`,unavailableSub:`No VMS percentage configured for this employer`}},header:{crumbSeparator:` · `,crumbFields:[{key:`client`,source:[`record.client.clientName`,`identity.client`]},{key:`reqId`,source:[`record.job.jobReferenceId`,`identity.reqId`]}]},sections:{jobClient:{title:`Basic Details`,items:[{key:`jobTitle`,label:`Job Title`,source:[`record.job.jobTitle`,`identity.role`]},{key:`jobLocation`,label:`Job Location`,source:[`identity.location`,`record.job.jobLocation`]},{key:`candidateName`,label:`Candidate Name`,source:[`identity.name`,`record.submission.candidateFullName`]},{key:`candidateEmail`,label:`Candidate Email`,source:[`identity.email`,`record.submission.email`]},{key:`contractType`,label:`Employment Type`,source:[`inputs.contractType`]},{key:`employer`,label:`Employer`,source:[`record.submission.supplierName`,`identity.vendor`]},{key:`submittedBy`,label:`Submitted By`,source:[`identity.submittedBy`,`record.submission.signatureEmail`]},{key:`submittedAt`,label:`Submitted Date`,source:[`identity.submittedAt`,`record.submission.createdAt`],format:`date`}]},rateBreakdown:{proposed:{policy:{decimals:2,min:0,message:`Enter a valid amount — numbers only, up to 2 decimal places.`}}},referral:{policy:{decimals:2,min:0,message:`Enter a valid amount — numbers only, up to 2 decimal places.`}}}},km=[{key:`submitted`,label:`Recruiter Submitted`},{key:`manager`,label:`Manager Approved`},{key:`onboarding`,label:`Onboarding Confirmed`},{key:`cfo`,label:`CFO Review`}],Am={[Sm]:{title:`Finance Review`,statusLabel:`Pending Your Approval`,trail:{steps:km.slice(0,2),current:`manager`,show:!1},sections:{jobClient:{show:!0},clientJobRate:{show:!0,note:!0},rateBreakdown:{show:!0,employer:{show:!0,editable:!1},proposed:{show:!0,editable:!0}},referral:{show:!1}},margin:{label:`Realtek Margin`,formula:`netProposed-netEmployer`},actions:{primary:{key:`approve`,label:`Approve`,tone:`primary`,api:`submissionApprove`,requireProposedRate:!0},reject:{key:`reject`,label:`Reject`,tone:`warn`,api:`submissionReject`,openPopup:`reject`}},persist:{proposedRateHistory:!0,rateHistory:!0},readOnly:!1},[Cm]:{title:`Onboarding Review`,statusLabel:`Pending Onboarding`,trail:{steps:km.slice(0,3),current:`onboarding`,show:!0},sections:{jobClient:{show:!0},clientJobRate:{show:!0,note:!0},rateBreakdown:{show:!0,employer:{show:!0,editable:!1,locked:!0},proposed:{show:!0,editable:!1,locked:!0}},referral:{show:!0,toggle:!0,toggleLabel:`Add Referral`,toggleHint:`Include a referral payout — reduces the total margin below.`,mode:`select`,source:`referrals`,optionLabelField:`referalCompanyName`,rateEditable:!0,typeField:!0,lastRate:!0,linkBothWays:!0}},margin:{label:`Total Margin`,formula:`netProposed-netEmployer-referral`},actions:{primary:{key:`send`,label:`Send for CFO Approval`,tone:`primary`,api:`cfoSend`},reject:{key:`reject`,label:`Reject`,tone:`warn`,api:`onboardingReject`,requireReason:!0}},persist:{referralLink:!0,referralRateOnEngagement:!0,rateHistory:!0},readOnly:!1},cfo:{title:`Final Approval`,statusLabel:`Pending CFO Sign-off`,trail:{steps:km,current:`cfo`,show:!0},sections:{jobClient:{show:!0},clientJobRate:{show:!0,note:!0},rateBreakdown:{show:!0,finalBadge:!0,employer:{show:!0,editable:!1},proposed:{show:!0,editable:!1}},referral:{show:`ifEnabled`,mode:`print`,typeChip:!0}},margin:{label:`Total Margin`,formula:`netProposed-netEmployer-referral`},actions:{primary:{key:`approve`,label:`Approve & Finalize`,tone:`primary`,api:`cfoApprove`},reject:{key:`reject`,label:`Reject`,tone:`warn`,api:`cfoReject`,requireReason:!0,requireCategory:!0}},persist:{rateHistory:!1},readOnly:!0},[Tm]:{title:`Finance Summary`,statusLabel:``,header:{show:!1},trail:{steps:[],current:``,show:!1},sections:{jobClient:{show:!1},clientJobRate:{show:!1},rateBreakdown:{show:!0,finalBadge:!0,employer:{show:!0,editable:!1},proposed:{show:!0,editable:!1,locked:!0}},referral:{show:`ifExists`,mode:`print`,typeChip:!0}},margin:{label:`Total Margin`,formula:`netProposed-netEmployer-referral`},actions:{show:!1},persist:{rateHistory:!1},readOnly:!0}};function jm(e,{title:t,primaryLabel:n,primaryApi:r}){return{...e,title:t,statusLabel:`Rejected by CFO — Re-approval Needed`,rejection:{show:!0,sources:[`submission.cfoRejectionReason`,`engagement.financeApproval.rejectionReason`,`engagement.financeApproval.remarks`,`financeApprovalRequest.rejectionReason`,`rejectionReason`],title:`CFO Rejected This Request`},actions:{primary:{...e.actions.primary,label:n,...r?{api:r}:{}}}}}Am[Em]={...jm(Am[Sm],{title:`Finance Re-Review`,primaryLabel:`Send For Approval`,primaryApi:`submissionReapproveSend`}),sections:{...Am[Sm].sections,referral:{show:`ifExists`,mode:`print`,typeChip:!0}},margin:{label:`Total Margin`,formula:`netProposed-netEmployer-referral`}},Am[Dm]=jm(Am[Cm],{title:`Onboarding Re-Review`,primaryLabel:`Re-send for CFO Approval`});var Mm=e=>!!e&&typeof e==`object`&&!Array.isArray(e);function Nm(e,t){if(!Mm(t))return e===void 0?t:e;if(e===void 0)return t;if(!Mm(e))return e;let n={...e};for(let[r,i]of Object.entries(t))n[r]=Nm(e[r],i);return n}var Pm=new Map;function Fm(e){let t=Am[e]??Am.cfo;return Pm.has(t)||Pm.set(t,Nm(t,Om)),Pm.get(t)}function Im(e,t){let n=e?.rejection?.sources??[];for(let e of n){let n=e.split(`.`).reduce((e,t)=>e?.[t],t);if(n!=null&&String(n).trim()!==``)return String(n)}return``}function Lm(e){return String(e?.margin?.formula??``).includes(`referral`)}var Rm=`W2`,zm=`C2C`,Bm={rateUnit:`hr`,currency:`$`},Vm=e=>{let t=Number(e);return Number.isFinite(t)?t:0},Hm=e=>e===!0||e===`true`||e===1||e===`1`,Um=e=>e!=null&&e!==``,Wm=(...e)=>e.find(Um),Gm=e=>Math.round((Vm(e)+2**-52)*100)/100;function Km(e){return Array.isArray(e)?e.length?e[e.length-1]:{}:e??{}}var qm=e=>String(e?.$oid??e?._id?.$oid??e?._id??e?.id??e??``);function Jm(e=[]){let t={};return e.forEach(e=>{(e.fields??[]).forEach(e=>{let n=e.field??e.fieldName??e.name;n&&e.value!==void 0&&e.value!==null&&e.value!==``&&(t[n]=e.value)})}),t}function Ym(e={}){let t={};for(let[n,r]of Object.entries(e)){let e=String(n).split(`.`),i=t;for(let t=0;t<e.length-1;t+=1){let n=e[t];(!i[n]||typeof i[n]!=`object`||Array.isArray(i[n]))&&(i[n]={}),i=i[n]}let a=e[e.length-1];i[a]&&typeof i[a]==`object`&&!Array.isArray(i[a])||(i[a]=r)}return t}function Xm(e=[]){let t=e.find(e=>(e.fields??[]).some(e=>(e.field??e.name)===`employerId`));if(!t)return{};let n=Array.isArray(t.rows)?t.rows:null;if(n?.length)return n[n.length-1]??{};let r={};return(t.fields??[]).forEach(e=>{let t=e.field??e.name;t&&e.value!==void 0&&e.value!==null&&e.value!==``&&(r[t]=e.value)}),r}function Zm(e,t,n){if(!e)return;let r=e[t];if(n===void 0)return r!=null&&r!==``?r:void 0;if(Array.isArray(r)&&r.length){let e=r[r.length-1]?.[n];if(e!=null&&e!==``)return e}else if(r&&typeof r==`object`){let e=r[n];if(e!=null&&e!==``)return e}let i=e[`${t}.${n}`];if(i!=null&&i!==``)return i;let a=e[`${t}.0.${n}`];if(a!=null&&a!==``)return a}function Qm(e){let t=String(e??``).trim().toUpperCase().replace(/[\s_-]/g,``);return t===`W2`||t.includes(`W2`)?`W2`:`C2C`}function $m(e,t){return Gm(Vm(e)*Vm(t)/100)}function eh(e={},t={},n={}){let r={...Bm,...n??{}},i=e.submission??e??{},a=e.job??{},o=e.client??{},s=e.engagement??{},c=Qm(Zm(i,`contractType`)??s.onboardingType??e.contractType),l=a.jobPayDetails??{},u=Vm(l.clientBudgetStart??Zm(i,`clientBudget`,`clientBudgetStart`)),d=Vm(l.clientBudgetEnd??Zm(i,`clientBudget`,`clientBudgetEnd`))||u,f=d||u,p=Km(o.vmsFeeHistory)??{},m=t.clientVmsFee??o.vmsFee??{},h=Um(p.vmsPercentage)?Vm(p.vmsPercentage):Um(o.vmsPercentage)?Vm(o.vmsPercentage):m.isApplicable===!1?0:Vm(Wm(m.value,m.percent,typeof m==`number`?m:void 0,Zm(i,`clientVmsPercent`),Zm(i,`vmsPercent`))),g=String(Wm(p.vmsPercentageType,o.vmsPercentageType)??`recurring`).toLowerCase(),_=Vm(Zm(i,`proposedRate`,`candidateProposedRate`)??e.proposedRateValue),v=Wm(Zm(i,`proposedRate`,`candidateProposedRateCurrencySymbol`),Zm(i,`proposedRate`,`candidateProposedRateCurrency`),Zm(i,`candidateBudget`,`candidateBudgetCurrencySymbol`),Zm(i,`candidateBudget`,`candidateBudgetCurrency`),l.clientBudgetCurrencySymbol,l.clientBudgetCurrency,a.currency,a.currencySymbol,r.currency),y=hl(v,r.currency),b=Wm(Zm(i,`proposedRate`,`candidateProposedRateUnit`),Zm(i,`candidateBudget`,`candidateBudgetUnit`),l.clientBudgetUnit,r.rateUnit),x=Vm(Zm(i,`candidateBudget`,`candidateBudgetStart`)??Zm(i,`candidateBudget`,`candidateBudgetRate`)??Zm(i,`candidateRate`,`candidateAcceptedRate`)),S=Hm(Zm(i,`submission_current_employer`,`isVmsRequired`)??Zm(i,`submission_current_employer`,`isVMSRequired`)),C=Vm(Wm(Zm(i,`submission_current_employer`,`vmsPercentage`),Zm(i,`submission_current_employer`,`vmsCommission`),e.employer?.vmsPercentage,e.employer?.vmsCommission,s.vmsPercent)),w=C>0,T=S?C:0,E=String(Zm(i,`submission_current_employer`,`vmsType`)??Zm(i,`submission_current_employer`,`vmsCommissionType`)??`Recurring`),D=Zm(i,`submission_current_employer`,`tax`);return{contractType:c,currency:y,currencyRaw:v,rateUnit:b,clientJobRate:f,clientJobRateFrom:u,clientJobRateTo:d,clientVmsPercent:h,clientVmsPercentageType:g,proposedRate:_,employerRate:x,employerVmsPercent:T,employerVmsPercentConfigured:C,employerVmsAvailable:w,employerVmsType:E,employerVmsRequired:S,locationTaxPercent:t.locationTaxPercent==null?D!=null&&D!==``?Vm(D):th(t.locationTaxRows,Zm(i,`submission_current_employer`,`locationId`)??Zm(i,`submission_current_employer`,`location`)??Zm(i,`city`)??Zm(i,`state`)??a.jobLocation):Vm(t.locationTaxPercent)}}function th(e,t){if(!Array.isArray(e)||!t)return 0;let n=String(t).trim().toLowerCase(),r=e.find(e=>{let t=String(e?.location??``).trim().toLowerCase();return t&&(t===n||n.includes(t)||t.includes(n))});return Vm(r?.taxValue??r?.taxPercent)}function nh(e,t={}){let{contractType:n=`C2C`,currency:r=Bm.currency,currencyRaw:i,rateUnit:a=Bm.rateUnit,clientJobRate:o=0,clientJobRateFrom:s=0,clientJobRateTo:c=0,clientVmsPercent:l=0,clientVmsPercentageType:u=`recurring`,proposedRate:d=0,employerRate:f=0,employerVmsPercent:p=0,employerVmsPercentConfigured:m=0,employerVmsAvailable:h=!1,employerVmsType:g=`Recurring`,employerVmsRequired:_=!1,locationTaxPercent:v=0}=e??{},y=hl(r,Bm.currency),b=t.proposedRate==null?Vm(d):Vm(t.proposedRate),x=!!t.includeReferral,S=x?Vm(t.referralRate):0,C=$m(o,l),w=Gm(o-C),T=$m(b,l),E=Gm(b-T),D=n===`W2`,O=D?v:p,k=$m(f,O),A=Gm(f-k),j=Gm(E-A-S);return{contractType:n,currency:y,currencyRaw:i??y,rateUnit:a,rateUnitLabel:_l(a),rateUnitShort:yl(a),isW2:D,clientJobRate:Gm(o),clientJobRateFrom:Gm(s),clientJobRateTo:Gm(c),clientVmsPercent:Vm(l),clientVmsPercentageType:u,clientDiscount:C,netClientRate:w,proposedRate:Gm(b),discountVms:T,netProposedRate:E,employerRate:Gm(f),employerDeductionPercent:Vm(O),employerDeduction:k,employerDeductionLabel:D?`Location Tax`:`Employer VMS`,employerVmsType:g,employerVmsRequired:!!_,employerVmsPercentConfigured:Vm(m),employerVmsAvailable:!!h,netEmployerRate:A,includereferral:x,referralRate:Gm(S),totalMargin:j,marginPositive:j>=0}}function rh(e,t,n={}){return nh(eh(e,t,n.defaults),n)}var ih={decimals:2,min:0};function ah(e){let t=String(e??``).trim();if(!t||/e/i.test(t))return t?1/0:0;let n=t.indexOf(`.`);return n===-1?0:t.length-n-1}function oh(e,t={}){let{decimals:n=ih.decimals,min:r,max:i}={...ih,...t};if(e==null||e===``)return!0;let a=String(e).trim();if(!/^-?\d*(\.\d*)?$/.test(a)||ah(a)>Vm(n))return!1;let o=Number(a);return!(!Number.isFinite(o)||r!=null&&o<Vm(r)||i!=null&&o>Vm(i))}var sh=new Set([`Backspace`,`Delete`,`Tab`,`Enter`,`Escape`,`Home`,`End`,`ArrowLeft`,`ArrowRight`,`ArrowUp`,`ArrowDown`,`PageUp`,`PageDown`]);function ch(e={},t,n=``,r=null,i=null){if(sh.has(t)||String(t??``).length!==1)return!0;let{decimals:a=ih.decimals,min:o}={...ih,...e},s=String(n??``),c=r??s.length,l=i??c,u=s.slice(0,c)+t+s.slice(l),d=o==null||Vm(o)<0;return t===`-`?d&&/^-?\d*(\.\d*)?$/.test(u):t===`.`?Vm(a)>0&&/^-?\d*(\.\d*)?$/.test(u):!/^\d$/.test(t)||!/^-?\d*(\.\d*)?$/.test(u)?!1:ah(u)<=Vm(a)}function lh(e,t={}){let{decimals:n=ih.decimals,min:r,max:i}={...ih,...t},a=Vm(e),o=10**Vm(n);return a=Math.round((a+2**-52)*o)/o,r!=null&&(a=Math.max(a,Vm(r))),i!=null&&(a=Math.min(a,Vm(i))),a}function uh(e,t,n=new Date){let r=n instanceof Date?n.toISOString():n;return[[`proposedRate`,e.proposedRate],[`discountVms`,e.discountVms],[`netProposedRate`,e.netProposedRate],[`employerRate`,e.employerRate],[e.isW2?`locationTax`:`employerVms`,e.employerDeduction],[`netEmployerRate`,e.netEmployerRate],[`referralRate`,e.referralRate],[`totalMargin`,e.totalMargin]].map(([e,n])=>({field:e,value:n,updatedBy:t,timestamp:r}))}function dh(e,t=Bm.currency){let n=bl(e);return Sl(Number.isNaN(n)?0:n,t,{decimals:2})}var{TextArea:fh}=i.Input,ph=(...e)=>e.find(e=>e!=null&&e!==``)??`-`;function mh(e){return String(e??``).toLowerCase().replace(/\s+/g,``)===`onetime`?`One Time`:`Recurring`}function hh(t){let n=t?.$date??t;if(!n)return`-`;let r=(0,c.default)(n);return r.isValid()?r.format(e.Mt().dateFormat):`-`}function gh(e,t){return String(t??``).split(`.`).reduce((e,t)=>e?.[t],e)}var _h={date:hh};function vh(e,t){let n=(Array.isArray(e?.source)?e.source:[e?.source].filter(Boolean)).map(e=>gh(t,e)).find(e=>e!=null&&e!==``),r=_h[e?.format];return r?r(n):n==null||n===``?`-`:n}function yh(e,{onValue:t,onError:n}){return{min:e.min,max:e.max,step:e.step,precision:e.decimals,parser:e=>String(e??``).replace(/[^\d.-]/g,``),onKeyDown:t=>{if(t.ctrlKey||t.metaKey||t.altKey)return;let r=t.target??{};ch(e,t.key,r.value??``,r.selectionStart,r.selectionEnd)||(t.preventDefault(),n(!0))},onChange:r=>{n(!oh(r,e)),t(lh(r??0,e))}}}function bh({label:e,value:t}){return(0,o.jsxs)(`div`,{className:`fa-info-item`,children:[(0,o.jsx)(`div`,{className:`fa-info-k`,children:e}),(0,o.jsx)(`div`,{className:`fa-info-v`,children:String(t??`-`)})]})}bh.propTypes={label:l.default.string,value:l.default.node};function xh({label:e,sub:t,value:n,deduction:r,children:i,total:a}){return(0,o.jsxs)(`div`,{className:`fa-rate-row${a?` fa-rate-total`:``}`,children:[(0,o.jsxs)(`div`,{className:`fa-rate-label`,children:[e,t?(0,o.jsx)(`span`,{className:`fa-rate-sub`,children:t}):null]}),i??(0,o.jsx)(`div`,{className:`fa-rate-val fa-num${r?` fa-deduction`:``}`,children:n})]})}xh.propTypes={label:l.default.node,sub:l.default.node,value:l.default.node,deduction:l.default.bool,children:l.default.node,total:l.default.bool};function Sh({label:e,value:t,hero:n,tone:r}){return(0,o.jsxs)(`div`,{className:`fa-stat${n?` fa-stat-hero`:``}${r?` fa-stat-${r}`:``}`,children:[(0,o.jsx)(`div`,{className:`fa-stat-k`,children:e}),(0,o.jsx)(`div`,{className:`fa-stat-v fa-num`,children:t})]})}Sh.propTypes={label:l.default.string,value:l.default.node,hero:l.default.bool,tone:l.default.string};function Ch({type:t,record:n,lookups:s,identity:c,referralOptions:l,onReferralChange:u,onAddReferral:d,currentUserId:f,actions:p,onClose:m,variant:h}){let g=Fm(t),_=(0,r.useMemo)(()=>({rateUnit:g.rateUnit,currency:g.currency}),[g]),v=(0,r.useMemo)(()=>eh(n,s,_),[n,s,_]),y=Lm(g),[b,x]=(0,r.useState)(v.proposedRate),[S,C]=(0,r.useState)(n?.engagement?.financeApproval?.referralId??n?.referral?._id??null),[w,T]=(0,r.useState)(n?.engagement?.financeApproval?.referralRate??n?.referral?.referalRate??0),[E,D]=(0,r.useState)(n?.referral?.isNewReferral?0:n?.referral?.referalRate??n?.referral?.referralRate??n?.engagement?.financeApproval?.referralRate??0),[O,k]=(0,r.useState)(n?.engagement?.financeApproval?.referralType??n?.referral?.referralType??n?.referral?.referalType??`Recurring`),[A,j]=(0,r.useState)(!1),[M,N]=(0,r.useState)(!1),[P,F]=(0,r.useState)(``),[I,L]=(0,r.useState)(!1),[R,z]=(0,r.useState)(``),[B,ee]=(0,r.useState)(!1),[te,V]=(0,r.useState)(``),[ne,re]=(0,r.useState)(!1),H=g.sections.referral??{},U=n?.engagement?.financeApproval?.referralEnabled??n?.referralEnabled??(Number(w)>0||!!S),[ie,ae]=(0,r.useState)(!!U),oe=H.toggle===!0,se=Number(w)>0,ce=H.show===!0?oe?ie:!0:H.show===`ifEnabled`?ie:H.show===`ifExists`?se:!1,le=y&&ce,W=g.rejection?.show?Im(g,n):``,G=(0,r.useMemo)(()=>nh(v,{proposedRate:g.sections.rateBreakdown?.proposed?.editable?b:void 0,includeReferral:le,referralRate:w}),[v,b,w,le,g]),K=G.currency,ue=g.readOnly,de=Number(G.proposedRate)>0,fe=Number(g.margin?.minMarginPercent??20),pe=Number(G.netProposedRate)>0?Number(G.totalMargin)/Number(G.netProposedRate)*100:0,me=G.marginPositive?pe<fe?`fa-warn`:`fa-good`:`fa-bad`,he=G.isW2?`Candidate`:`Employer`,ge=G.rateUnitShort?`/${G.rateUnitShort}`:``,_e={record:n,identity:c,inputs:v,computed:G},ve=(g.header?.crumbFields??[]).map(e=>vh(e,_e)).filter(e=>e!==`-`&&e!==``&&e!=null).join(g.header?.crumbSeparator??` · `),ye=g.sections.rateBreakdown?.proposed?.policy??ih,be=g.sections.referral?.policy??ye,xe=g.labels?.employerVms??{},Se=G.employerVmsRequired&&G.employerVmsAvailable,Ce=!!g.sections.rateBreakdown?.proposed?.editable,we=Number(G.clientJobRate)||0,Te=Ce&&we>0&&Number(b)>we,Ee=g.actions?.primary,De=!!Ee?.requireProposedRate&&!(Number(G.proposedRate)>0),Oe=De?`Enter the Proposed Rate first — it drives the margin and the rate sent for approval.`:Te?`Proposed rate can’t exceed the Client Job Rate (${dh(we,K)}${ge}).`:``,ke=e=>{C(e),re(!1);let t=(l??[]).find(t=>t.value===e);if(!t?.isNewReferral&&t?.lastRate!=null&&t.lastRate!==``){let e=Number(t.lastRate)||0;T(e),D(e)}else D(0);t?.type&&k(t.type),u?.(e,t)},Ae=e=>{let t=e.target.checked;ae(t),re(t)},je=t=>(0,o.jsxs)(`div`,{children:[t,d&&(0,o.jsx)(`div`,{className:`fa-referral-dropdown-footer`,children:(0,o.jsx)(e.z,{className:`fa-referral-add-btn`,icon:(0,o.jsx)(a.UserAddOutlined,{}),onMouseDown:e=>e.preventDefault(),onClick:()=>{re(!1),d()},children:`Add`})})]}),Me=async e=>{if(!e)return;if(e===g.actions.primary&&Oe){i.message.error(Oe);return}if(e.requireReason&&!P.trim()){L(!0);return}if(e.requireCategory&&!R){ee(!0);return}let t=p?.[e.api];if(!t){i.message.error(`No handler wired for "${e.api}"`);return}V(e.key);try{await t({computed:G,proposedRate:G.proposedRate,referral:ce?{referralId:S,referralRate:G.referralRate,referralType:O,referralEnabled:!0}:{referralEnabled:!1,referralRate:0},referralEnabled:ie,reason:P.trim(),category:R,rateHistory:g.persist?.rateHistory?uh(G,f):void 0})}catch(e){i.message.error(e?.message??`Action failed`)}finally{V(``)}},q=g.actions.primary,J=g.actions.reject;return!ue&&q?.requireProposedRate&&!de||Te&&`${dh(we,K)}`,(0,o.jsxs)(`div`,{className:`fa-panel fa-variant-${h}`,children:[g.header?.show!==!1&&(0,o.jsx)(`div`,{className:`fa-topbar`,children:(0,o.jsxs)(`div`,{children:[(0,o.jsx)(`div`,{className:`fa-crumb`,children:ve}),(0,o.jsxs)(`div`,{className:`fa-title-row`,children:[(0,o.jsxs)(`h2`,{className:`fa-title`,children:[g.title,` — `,ph(c?.name,n?.submission?.candidateFullName)]}),(0,o.jsxs)(`span`,{className:`fa-status-pill`,children:[(0,o.jsx)(a.ClockCircleOutlined,{}),` `,g.statusLabel]})]})]})}),g.rejection?.show&&(0,o.jsxs)(`div`,{className:`fa-rejection`,children:[(0,o.jsx)(a.CloseCircleFilled,{className:`fa-rejection-icon`}),(0,o.jsxs)(`div`,{className:`fa-rejection-body`,children:[(0,o.jsx)(`div`,{className:`fa-rejection-title`,children:g.rejection.title}),(0,o.jsx)(`div`,{className:`fa-rejection-reason${W?``:` fa-rejection-empty`}`,children:W||`No reason was provided.`})]})]}),g.trail?.show&&(0,o.jsx)(`div`,{className:`fa-trail`,children:g.trail.steps.map((e,t)=>(0,o.jsxs)(`span`,{className:`fa-trail-part`,children:[(0,o.jsxs)(`span`,{className:`fa-trail-step${e.key===g.trail.current?` fa-current`:``}`,children:[e.key===g.trail.current?(0,o.jsx)(a.ClockCircleOutlined,{}):(0,o.jsx)(a.CheckOutlined,{}),e.label]}),t<g.trail.steps.length-1&&(0,o.jsx)(`span`,{className:`fa-trail-sep`,children:`→`})]},e.key))}),g.sections.jobClient?.show&&(0,o.jsxs)(`section`,{className:`fa-card`,children:[(0,o.jsx)(`div`,{className:`fa-card-head`,children:(0,o.jsx)(`h3`,{children:g.sections.jobClient.title})}),(0,o.jsx)(`div`,{className:`fa-card-body`,children:(0,o.jsx)(`div`,{className:`fa-info-grid`,children:(g.sections.jobClient.items??[]).map(e=>(0,o.jsx)(bh,{label:e.label,value:vh(e,_e)},e.key))})})]}),g.sections.clientJobRate?.show&&(0,o.jsxs)(`section`,{className:`fa-card`,children:[(0,o.jsx)(`div`,{className:`fa-card-head`,children:(0,o.jsx)(`h3`,{children:`Client Job Rate`})}),(0,o.jsx)(`div`,{className:`fa-card-body`,children:(0,o.jsxs)(`div`,{className:`fa-strip`,children:[(0,o.jsxs)(`div`,{className:`fa-strip-item`,children:[(0,o.jsx)(`span`,{className:`fa-strip-k`,children:`Client Job Rate`}),(0,o.jsxs)(`span`,{className:`fa-strip-v fa-num`,children:[dh(G.clientJobRate,K),ge]})]}),(0,o.jsxs)(`span`,{className:`fa-strip-op fa-num`,children:[`− `,G.clientVmsPercent,`% VMS`,(0,o.jsx)(`span`,{className:`fa-type-chip fa-vms-chip`,children:mh(G.clientVmsPercentageType)})]}),(0,o.jsx)(`span`,{className:`fa-strip-eq`,children:`=`}),(0,o.jsxs)(`div`,{className:`fa-strip-item`,children:[(0,o.jsx)(`span`,{className:`fa-strip-k`,children:`Net Client Rate`}),(0,o.jsxs)(`span`,{className:`fa-strip-v fa-num`,style:{color:`var(--color-brand, #0053a5)`},children:[dh(G.netClientRate,K),ge]})]}),g.sections.clientJobRate.note&&(0,o.jsxs)(`div`,{className:`fa-strip-note`,children:[`For context only — the client-side rate doesn't feed into the `,g.margin.label,` below.`]})]})})]}),g.sections.rateBreakdown?.show&&(0,o.jsxs)(`section`,{className:`fa-card`,children:[(0,o.jsxs)(`div`,{className:`fa-card-head`,children:[(0,o.jsx)(`h3`,{children:`Rate Breakdown`}),g.sections.rateBreakdown.finalBadge&&(0,o.jsxs)(`span`,{className:`fa-final-badge`,children:[(0,o.jsx)(a.LockOutlined,{}),` Final`]})]}),(0,o.jsxs)(`div`,{className:`fa-card-body`,children:[(0,o.jsxs)(`div`,{className:`fa-rate-grid`,children:[(0,o.jsxs)(`div`,{className:`fa-rate-panel fa-employer`,children:[(0,o.jsxs)(`div`,{className:`fa-panel-head`,children:[(0,o.jsx)(`span`,{className:`fa-dot`}),he,` Rate`]}),(0,o.jsxs)(`div`,{className:`fa-rate-rows`,children:[(0,o.jsx)(xh,{label:`${he} Rate`,sub:`as submitted by recruiter`,value:(0,o.jsxs)(o.Fragment,{children:[dh(G.employerRate,K),` `,(0,o.jsx)(`span`,{className:`fa-unit`,children:ge})]})}),G.isW2&&(0,o.jsx)(xh,{label:`Employer Location`,sub:`used to determine location tax`,children:(0,o.jsx)(`div`,{className:`fa-rate-val`,children:ph(c?.employerLocation,n?.submission?.city,n?.job?.jobLocation)})}),!G.isW2&&!Se?(0,o.jsx)(xh,{label:(0,o.jsx)(`span`,{className:`fa-locked-label`,children:xe.required}),sub:G.employerVmsAvailable?xe.notRequiredSub:xe.unavailableSub,value:(0,o.jsx)(`span`,{className:`fa-vms-none`,children:G.employerVmsAvailable?xe.notRequired:xe.unavailable})}):(0,o.jsx)(xh,{label:G.isW2?G.employerDeductionLabel:(0,o.jsxs)(`span`,{className:`fa-locked-label`,children:[G.employerDeductionLabel,(0,o.jsx)(`span`,{className:`fa-type-chip fa-vms-chip`,children:mh(G.employerVmsType)})]}),sub:`${G.employerDeductionPercent}% of employer rate`,value:`−${dh(G.employerDeduction,K).replace(`−`,``)}`,deduction:!0}),(0,o.jsx)(xh,{total:!0,label:`Net ${he} Rate`,value:(0,o.jsx)(`span`,{style:{color:`var(--color-purple, #7c3aed)`},children:dh(G.netEmployerRate,K)})})]})]}),(0,o.jsxs)(`div`,{className:`fa-rate-panel fa-client`,children:[(0,o.jsxs)(`div`,{className:`fa-panel-head`,children:[(0,o.jsx)(`span`,{className:`fa-dot`}),`Proposed Rate`]}),(0,o.jsxs)(`div`,{className:`fa-rate-rows`,children:[g.sections.rateBreakdown.proposed.editable?(0,o.jsxs)(`div`,{className:`fa-rate-row fa-editable`,children:[(0,o.jsxs)(`div`,{className:`fa-editable-head`,children:[(0,o.jsxs)(`span`,{className:`fa-editable-label`,children:[`Proposed Rate`,(0,o.jsx)(`span`,{className:`fa-edit-badge`,children:`Editable`})]}),(0,o.jsx)(i.InputNumber,{className:`fa-rate-input`,...yh(ye,{onValue:x,onError:j}),value:b,prefix:K,controls:!1,status:Te||A?`error`:``})]}),(0,o.jsx)(`div`,{className:`fa-editable-sub`,children:`rate we ask the client for`}),A&&(0,o.jsxs)(`div`,{className:`fa-reason-error`,children:[`! `,ye.message]}),De&&(0,o.jsxs)(`div`,{className:`fa-reason-error`,children:[`! Enter the proposed rate to enable `,Ee?.label??`approval`,`.`]}),Te&&(0,o.jsxs)(`div`,{className:`fa-reason-error`,children:[`! Proposed rate can’t exceed the Client Job Rate (`,dh(we,K),ge,`).`]}),g.rejection?.show&&(0,o.jsxs)(`div`,{className:`fa-last-rejected`,children:[`Last rejected at `,(0,o.jsxs)(`b`,{children:[dh(v.proposedRate,K),ge]})]})]}):(0,o.jsx)(xh,{label:(0,o.jsxs)(`span`,{className:`fa-locked-label`,children:[`Proposed Rate`,g.sections.rateBreakdown.proposed.locked&&(0,o.jsxs)(`span`,{className:`fa-locked-badge`,children:[(0,o.jsx)(a.LockOutlined,{}),` Locked`]})]}),sub:`approved at finance review`,value:(0,o.jsxs)(o.Fragment,{children:[dh(G.proposedRate,K),` `,(0,o.jsx)(`span`,{className:`fa-unit`,children:ge})]})}),(0,o.jsx)(xh,{label:(0,o.jsxs)(`span`,{className:`fa-locked-label`,children:[`Discount (VMS)`,(0,o.jsx)(`span`,{className:`fa-type-chip fa-vms-chip`,children:mh(G.clientVmsPercentageType)})]}),sub:`${G.clientVmsPercent}% of proposed rate`,value:`−${dh(G.discountVms,K).replace(`−`,``)}`,deduction:!0}),(0,o.jsx)(xh,{total:!0,label:`Net Proposed Rate`,value:(0,o.jsx)(`span`,{style:{color:`var(--color-brand, #0053a5)`},children:dh(G.netProposedRate,K)})})]})]})]}),oe&&!ue&&(0,o.jsxs)(`div`,{className:`fa-referral-toggle`,children:[(0,o.jsx)(i.Checkbox,{checked:ie,onChange:Ae,children:(0,o.jsx)(`span`,{className:`fa-rt-title`,children:H.toggleLabel??`Add Referral`})}),(0,o.jsx)(`div`,{className:`fa-rt-hint`,children:H.toggleHint})]})]})]}),ce&&(0,o.jsxs)(`section`,{className:`fa-card fa-referral-card`,children:[(0,o.jsxs)(`div`,{className:`fa-card-head`,children:[(0,o.jsxs)(`h3`,{children:[(0,o.jsx)(`span`,{className:`fa-dot fa-dot-warning`}),`Referral`]}),H.mode===`print`&&H.typeChip&&(0,o.jsx)(`span`,{className:`fa-type-chip`,children:O})]}),(0,o.jsx)(`div`,{className:`fa-card-body`,children:H.mode===`select`?(0,o.jsxs)(`div`,{className:`fa-referral-fields`,children:[(0,o.jsxs)(`div`,{className:`fa-referral-field`,children:[(0,o.jsx)(`label`,{className:`fa-rf-k`,htmlFor:`fa-referral-company`,children:`Referral Company`}),(0,o.jsx)(i.Select,{id:`fa-referral-company`,className:`fa-referral-select`,placeholder:`Select a referral`,open:ne,value:S??void 0,onChange:ke,options:l??[],showSearch:!0,optionFilterProp:`label`,onDropdownVisibleChange:re,onOpenChange:re,popupRender:je,dropdownRender:je})]}),(0,o.jsxs)(`div`,{className:`fa-referral-field`,children:[(0,o.jsx)(`label`,{className:`fa-rf-k`,htmlFor:`fa-referral-rate`,children:`Referral Rate`}),(0,o.jsx)(i.InputNumber,{id:`fa-referral-rate`,className:`fa-referral-rate-input`,...yh(be,{onValue:T,onError:N}),value:w,prefix:K,controls:!1,disabled:!S,status:M?`error`:``}),M&&(0,o.jsxs)(`div`,{className:`fa-reason-error`,children:[`! `,be.message]})]}),(0,o.jsxs)(`div`,{className:`fa-referral-field`,children:[(0,o.jsx)(`label`,{className:`fa-rf-k`,htmlFor:`fa-referral-type`,children:`Referral Type`}),(0,o.jsx)(i.Select,{id:`fa-referral-type`,className:`fa-referral-type`,value:O,onChange:k,disabled:!S,options:[{value:`Recurring`,label:`Recurring — every pay cycle`},{value:`One-time`,label:`One-time payout`}]})]}),S&&(0,o.jsx)(`div`,{className:`fa-referral-note`,children:E?(0,o.jsxs)(o.Fragment,{children:[`Last referral rate paid to this company:`,` `,(0,o.jsx)(`b`,{children:dh(E,K)})]}):(0,o.jsx)(`b`,{children:`New referral`})})]}):(0,o.jsxs)(`div`,{className:`fa-rate-rows fa-print-rows`,children:[(0,o.jsx)(xh,{label:`Referral Name`,sub:`added during onboarding`,children:(0,o.jsx)(`div`,{className:`fa-rate-val`,children:ph(n?.referral?.referalCompanyName,c?.referralName)})}),(0,o.jsx)(xh,{label:`Referral Rate`,sub:O===`One-time`?`deducted once, this payout only`:`deducted every pay cycle`,value:`−${dh(w,K).replace(`−`,``)}${ge?` ${ge}`:``}`,deduction:!0})]})})]}),de&&(0,o.jsxs)(`div`,{className:`fa-outcome ${me}`,children:[(0,o.jsxs)(`div`,{className:`fa-outcome-label`,children:[(0,o.jsx)(`div`,{className:`fa-outcome-icon`,children:me===`fa-good`?(0,o.jsx)(a.RiseOutlined,{}):(0,o.jsx)(a.WarningOutlined,{})}),(0,o.jsx)(`div`,{className:`fa-outcome-t`,children:g.margin.label})]}),(0,o.jsxs)(`div`,{className:`fa-outcome-stats`,children:[(0,o.jsx)(Sh,{label:`Net Proposed Rate`,value:(0,o.jsxs)(o.Fragment,{children:[dh(G.netProposedRate,K),(0,o.jsx)(`span`,{className:`fa-u`,children:ge})]})}),(0,o.jsx)(`span`,{className:`fa-stat-arrow`,children:`−`}),(0,o.jsx)(Sh,{label:`Net ${he} Rate`,value:(0,o.jsxs)(o.Fragment,{children:[dh(G.netEmployerRate,K),(0,o.jsx)(`span`,{className:`fa-u`,children:ge})]})}),le&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(`span`,{className:`fa-stat-arrow`,children:`−`}),(0,o.jsx)(Sh,{label:`Referral Rate`,tone:`referral`,value:(0,o.jsxs)(o.Fragment,{children:[dh(G.referralRate,K),(0,o.jsx)(`span`,{className:`fa-u`,children:ge})]})})]}),(0,o.jsx)(Sh,{hero:!0,label:`Margin`,value:(0,o.jsxs)(o.Fragment,{children:[dh(G.totalMargin,K),(0,o.jsx)(`span`,{className:`fa-u`,children:ge})]})})]})]}),de&&(0,o.jsxs)(`div`,{className:`fa-margin-note ${me}`,children:[(0,o.jsxs)(`span`,{className:`fa-margin-note-pct`,children:[pe.toFixed(1),`%`]}),(0,o.jsx)(`span`,{className:`fa-margin-note-text`,children:me===`fa-bad`?(0,o.jsxs)(o.Fragment,{children:[`This submission is running at a `,(0,o.jsx)(`b`,{children:`loss`}),`. Adjust the proposed or employer rate before approving.`]}):me===`fa-warn`?(0,o.jsxs)(o.Fragment,{children:[`Profit margin is `,(0,o.jsxs)(`b`,{children:[`below the `,fe,`% target`]}),`. Consider a higher proposed rate before approving.`]}):(0,o.jsxs)(o.Fragment,{children:[`Healthy margin — at or above the `,fe,`% target.`]})})]}),J?.requireReason&&(0,o.jsxs)(`div`,{className:`fa-reason`,children:[J.requireCategory&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(`label`,{className:`fa-reason-label`,htmlFor:`fa-rejection-category`,children:[`Return To `,(0,o.jsx)(`span`,{children:`(required to reject)`})]}),(0,o.jsx)(i.Select,{id:`fa-rejection-category`,placeholder:`Select where to return this rejection`,value:R||void 0,status:B?`error`:``,options:[{value:`submission`,label:`Submission`},{value:`onboarding`,label:`Onboarding`}],onChange:e=>{z(e),ee(!1)},style:{width:`100%`,marginBottom:16}}),B&&(0,o.jsx)(`div`,{className:`fa-reason-error`,children:`! Select where to return the rejection.`})]}),(0,o.jsxs)(`label`,{className:`fa-reason-label`,htmlFor:`fa-reason`,children:[`Comments `,(0,o.jsx)(`span`,{children:`(required to reject)`})]}),(0,o.jsx)(fh,{id:`fa-reason`,rows:3,maxLength:500,showCount:!0,value:P,status:I?`error`:``,placeholder:`Enter your comments here…`,onChange:e=>{F(e.target.value),e.target.value.trim()&&L(!1)}}),I&&(0,o.jsx)(`div`,{className:`fa-reason-error`,children:`! Comments are required when rejecting.`})]}),g.actions?.show!==!1&&(q||J)&&(0,o.jsxs)(`div`,{className:`fa-action-bar`,children:[(0,o.jsx)(`div`,{className:`fa-action-note`,children:De?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(`b`,{children:`Proposed rate required`}),` — enter it above to enable `,q?.label??`approval`,`.`]}):t===`cfo`?(0,o.jsxs)(o.Fragment,{children:[`Approving finalizes payroll at `,(0,o.jsxs)(`b`,{children:[dh(G.netProposedRate,K),ge]}),ce?(0,o.jsxs)(o.Fragment,{children:[` including the `,String(O).toLowerCase(),` `,(0,o.jsxs)(`b`,{children:[dh(w,K),ge]}),` referral`]}):null,`.`]}):(0,o.jsxs)(o.Fragment,{children:[`Approving locks the `,(0,o.jsxs)(`b`,{children:[dh(G.netProposedRate,K),ge]}),` proposed rate and moves this forward.`]})}),(0,o.jsxs)(`div`,{className:`fa-actions`,children:[m&&(0,o.jsx)(e.z,{className:`fa-btn-ghost`,onClick:m,children:`Cancel`}),J&&(0,o.jsx)(e.z,{danger:!0,loading:te===J.key,disabled:!!te,onClick:()=>Me(J),children:J.label}),q&&(0,o.jsx)(i.Tooltip,{title:Oe||``,placement:`top`,children:(0,o.jsx)(`span`,{className:`fa-btn-tip`,children:(0,o.jsx)(e.z,{variant:`primary`,icon:(0,o.jsx)(a.CheckOutlined,{}),loading:te===q.key,disabled:!!te||!!Oe,onClick:()=>Me(q),children:q.label})})})]})]})]})}Ch.propTypes={type:l.default.string.isRequired,record:l.default.object,lookups:l.default.object,identity:l.default.object,referralOptions:l.default.array,onReferralChange:l.default.func,onAddReferral:l.default.func,currentUserId:l.default.oneOfType([l.default.number,l.default.string]),actions:l.default.object,onClose:l.default.func,variant:l.default.oneOf([`popup`,`page`])},Ch.defaultProps={record:{},lookups:{},identity:{},referralOptions:[],variant:`page`};var wh=e=>String(e??``).trim().toLowerCase();function Th(e){let t=e?.data??e;for(let e of[`data`,`rows`,`records`,`items`,`list`])if(Array.isArray(t?.[e]))return t[e];return Array.isArray(t)?t:[]}var Eh=t=>e.wr(t,300,0).then(Th).catch(()=>[]),Dh=e=>t=>e&&qm(t._id??t.id)===String(e),Oh=(e,n)=>n?t.a(t.b,`/module/list?module=${encodeURIComponent(e)}&id=${encodeURIComponent(n)}`).then(e=>{let t=e?.data??e??{};return(Array.isArray(t?.data)?t.data:Array.isArray(t)?t:[])[0]??{}}).catch(()=>({})):Promise.resolve({}),kh=e=>e==null||e===``?Promise.resolve(null):t.a(t.b,`/get-detailed-view?userId=${encodeURIComponent(e)}`).then(e=>e?.data??e??null).catch(()=>null);function Ah(e){return e&&([e.first_name??e.firstName??e.FIRST_NAME,e.last_name??e.lastName??e.LAST_NAME].filter(Boolean).join(` `).trim()||e.user_name||e.userName||e.username||e.email)||``}function jh(e){let t=e?.jobPayDetails,n=Array.isArray(t)?t[t.length-1]:t;return n&&typeof n==`object`&&!Array.isArray(n)?n:{}}async function Mh(e,t){if(!t)return{};let n=await Nh(e,t).catch(()=>({}));return{...Ym(Jm(n.groups??[])),...n.recordMeta??{}}}async function Nh(e,n){let r=new URLSearchParams({module:e});n&&r.set(`id`,n);let i=await t.a(t.b,`/admin/form-groups?${r.toString()}`);return i?.data??i??{}}async function Ph(t,n={}){let r=await Nh(`submission`,t).catch(()=>({})),i=r.groups??[],a=r.recordMeta??{},o=Jm(i),s=Xm(i),c=qm(a.clientId??o.clientId??n.clientId),l=qm(a.jobId??o.jobId??n.jobId),u=qm(s.employerId),d=a.createdBy??o.createdBy??n.createdBy,f=s.locationId??s.location,[p,m,h,g,_,v,y,b,x]=await Promise.all([l?e.Bt(`jobs`,l).catch(()=>null):Promise.resolve(null),Eh(`jobs`),Eh(`clients`),Eh(`employers`),Eh(`locations`),Eh(`workforceEngagements`),Mh(`jobs`,l),kh(d),Oh(`submissions`,t)]),S=p?.data??p??{},C=S.record??S.item??S??{},w=m.find(Dh(l))??{},T={...w,...C,...y};T.jobPayDetails={...jh(w),...jh(C),...jh(y)};let E=(Array.isArray(v)?v:[]).find(e=>qm(e.submissionId)===String(t)),D=qm(T.clientId)||qm(E?.clientId)||c,O=o.clientName??n.clientName??T.clientName,k=O?h.filter(e=>wh(e.clientName)===wh(O)):[],A=h.find(Dh(D))??k[0]??{},j=await Mh(`clients`,qm(A._id??A.id)||D),M={...A,...j},N=g.find(Dh(u))??{},P=_.find(Dh(f))??_.find(e=>wh(e.name)===wh(f))??{};return{record:{submission:{...x.signatureEmail?{signatureEmail:x.signatureEmail}:{},...n,...o,submission_current_employer:[s]},job:T,client:M,employer:N},lookups:{clientVmsFee:M.vmsFee??o.clientVmsFee??o.vmsFee,locationTaxPercent:s.tax??P.taxValue},display:{clientName:o.clientName??M.clientName,jobTitle:o.jobTitle??T.jobTitle,reqId:a.jobClientRefrenceId??o.jobRefrenceId??a.jobRefrenceId??a.mspReqId,jobLocation:o.jobLocation??T.jobLocation,employerName:N.empCompanyName,employerLocation:P.name??N.empCompanyLocation??f,submittedBy:x.signatureEmail||o.signatureEmail||n.signatureEmail||Ah(b),email:o.email,candidateName:[o.firstName,o.lastName].filter(Boolean).join(` `)||o.candidateFullName,createdAt:a.createdAt,submissionId:a.submissionId},engagement:E??null,meta:a}}function Fh({title:e=`Proof`,files:t=[],onPreview:n,emptyText:r=`No files uploaded`,className:s}){return t.length?(0,o.jsx)(i.Card,{size:`small`,title:e,className:`znx-file-list__card ${s??``}`.trim(),children:t.map((e,t)=>(0,o.jsxs)(`div`,{className:`znx-file-list__chip`,children:[(0,o.jsx)(`span`,{className:`znx-file-list__name`,title:e.name,children:e.name||`File`}),(0,o.jsxs)(`span`,{className:`znx-file-list__actions`,children:[n&&(0,o.jsx)(i.Tooltip,{title:`Preview`,children:(0,o.jsx)(`button`,{type:`button`,className:`znx-file-list__btn`,onClick:()=>n(t),"aria-label":`Preview ${e.name||`file`}`,children:(0,o.jsx)(a.EyeOutlined,{})})}),(0,o.jsx)(i.Tooltip,{title:`Download`,children:(0,o.jsx)(`a`,{className:`znx-file-list__btn`,href:e.url,download:e.name,target:`_blank`,rel:`noopener noreferrer`,"aria-label":`Download ${e.name||`file`}`,children:(0,o.jsx)(a.DownloadOutlined,{})})})]})]},e.url??t))}):(0,o.jsx)(i.Card,{size:`small`,className:`znx-file-list__empty ${s??``}`.trim(),children:(0,o.jsx)(i.Empty,{image:i.Empty.PRESENTED_IMAGE_SIMPLE,description:r})})}function Ih({moduleName:t,recordId:n,cancelPath:a,onSuccess:o,fieldNameMap:l={},onFileUpload:u=null}){let d=(0,s.useNavigate)(),[f,p]=(0,r.useState)([]),[m,h]=(0,r.useState)({}),[g,_]=(0,r.useState)(!1),[v,y]=(0,r.useState)(``),[b,x]=(0,r.useState)(!1),[S,C]=(0,r.useState)(``);(0,r.useEffect)(()=>{if(!t||!n)return;let r=!1;async function i(){try{_(!0),y(``);let[i,a]=await Promise.all([e.Sr({module:t,id:n}),e.Ht(t,n)]);if(r)return;p(Array.isArray(i)?i:[]),h(a??{})}catch(e){r||y(e?.message||`Failed to load record`)}finally{r||_(!1)}}return i(),()=>{r=!0}},[t,n]);function w(e,t){let n={...m},r=t.flatMap(e=>e.fields??[]);return Object.entries(e).forEach(([e,t])=>{if(t!==void 0&&r.find(t=>t.field===e)?.type!==`file`){if(c.default.isDayjs(t)){applyDotValue(n,e,t.format(`MM-DD-YYYY`));return}applyDotValue(n,e,t)}}),Object.keys(n).forEach(e=>{e.includes(`.`)&&delete n[e]}),Object.entries(l).forEach(([e,t])=>{n[e]!==void 0&&(n[t]=n[e],delete n[e])}),Object.keys(n).forEach(e=>{let t=n[e];if(typeof t==`string`&&t!==``){let r=/(date|time|Date|Time|At|at)$/.test(e),i=/ago|month|year|day|week|hour|minute/i.test(t),a=/^\d{4}-\d{2}-\d{2}/.test(t);r&&(i||!a)&&delete n[e]}}),Object.keys(n).forEach(e=>{let t=n[e];Array.isArray(t)&&t[0]?.originFileObj&&delete n[e]}),n}async function T(r,s){try{if(x(!0),C(``),u){let e=s.flatMap(e=>e.fields??[]).filter(e=>e.type===`file`);for(let t of e){let e=r[t.field];if(!Array.isArray(e))continue;let i=e.filter(e=>e.originFileObj instanceof File);await Promise.all(i.map(e=>u(t.field,e.originFileObj,n)))}}await e.Ut(t,n,w(r,s)),i.message.success(`${t} updated successfully`),o?o():d(a||-1)}catch(e){C(e?.message||`Failed to save changes`),i.message.error(e?.message||`Failed to save changes`)}finally{x(!1)}}return{formGroups:f,rawRecord:m,loading:g,error:v,submitting:b,submitError:S,submit:T}}var Lh=`data:image/svg+xml,%3csvg%20width='380'%20height='130'%20viewBox='0%200%20380%20130'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_30_1933)'%20filter='url(%23filter0_d_30_1933)'%3e%3cpath%20d='M13.5623%2060V34.296H19.2143V44.16H29.6183V34.296H35.2703V60H29.6183V48.912H19.2143V60H13.5623ZM39.8859%2060V34.296H45.5379V60H39.8859ZM50.1431%2060V34.296H64.0031C66.2591%2034.296%2068.0951%2034.992%2069.5111%2036.384C70.8551%2037.728%2071.5271%2039.396%2071.5271%2041.388C71.5271%2044.58%2070.1711%2046.728%2067.4591%2047.832V47.904C69.7151%2048.48%2070.9631%2050.484%2071.2031%2053.916C71.2751%2054.948%2071.3471%2055.98%2071.4191%2057.012C71.5631%2058.404%2071.8511%2059.4%2072.2831%2060H66.6311C66.3671%2059.352%2066.1631%2058.38%2066.0191%2057.084C65.9231%2056.004%2065.8271%2054.924%2065.7311%2053.844C65.5391%2052.452%2065.1191%2051.456%2064.4711%2050.856C63.8471%2050.256%2062.8391%2049.956%2061.4471%2049.956H55.7951V60H50.1431ZM55.7951%2038.688V45.924H61.9871C64.5791%2045.924%2065.8751%2044.7%2065.8751%2042.252C65.8751%2039.876%2064.5791%2038.688%2061.9871%2038.688H55.7951ZM75.7635%2060V34.296H94.9875V39.048H81.4155V44.556H93.8715V48.948H81.4155V55.248H95.2755V60H75.7635ZM118.336%2060V10.02H125.336L142.626%2053.84L159.846%2010.02H166.846V60H162.086V16.81H161.946L144.866%2060H140.386L123.236%2016.81H123.096V60H118.336ZM190.506%2022.83C195.826%2022.83%20200.05%2024.72%20203.176%2028.5C206.116%2032.0467%20207.586%2036.5267%20207.586%2041.94C207.586%2047.3533%20206.116%2051.8333%20203.176%2055.38C200.05%2059.16%20195.826%2061.05%20190.506%2061.05C185.186%2061.05%20180.963%2059.16%20177.836%2055.38C174.896%2051.8333%20173.426%2047.3533%20173.426%2041.94C173.426%2036.5267%20174.896%2032.0467%20177.836%2028.5C180.963%2024.72%20185.186%2022.83%20190.506%2022.83ZM190.506%2026.54C186.493%2026.54%20183.32%2028.15%20180.986%2031.37C178.886%2034.2633%20177.836%2037.7867%20177.836%2041.94C177.836%2046.0933%20178.886%2049.6167%20180.986%2052.51C183.32%2055.73%20186.493%2057.34%20190.506%2057.34C194.52%2057.34%20197.693%2055.73%20200.026%2052.51C202.126%2049.6167%20203.176%2046.0933%20203.176%2041.94C203.176%2037.7867%20202.126%2034.2633%20200.026%2031.37C197.693%2028.15%20194.52%2026.54%20190.506%2026.54ZM213.443%2060V23.88H217.503V32.35H217.643C218.763%2029.41%20220.513%2027.1467%20222.893%2025.56C225.273%2023.9733%20228.073%2023.25%20231.293%2023.39V27.8C227.373%2027.6133%20224.153%2028.78%20221.633%2031.3C219.113%2033.7733%20217.853%2036.9233%20217.853%2040.75V60H213.443ZM265.203%2043.13H237.413C237.46%2046.8633%20238.393%2050.0367%20240.213%2052.65C242.406%2055.7767%20245.44%2057.34%20249.313%2057.34C255.286%2057.34%20259.066%2054.26%20260.653%2048.1H265.063C263.056%2056.7333%20257.806%2061.05%20249.313%2061.05C243.9%2061.05%20239.746%2059.16%20236.853%2055.38C234.286%2051.9733%20233.003%2047.4933%20233.003%2041.94C233.003%2036.6667%20234.286%2032.28%20236.853%2028.78C239.793%2024.8133%20243.946%2022.83%20249.313%2022.83C254.773%2022.83%20258.926%2024.9533%20261.773%2029.2C264.246%2032.8867%20265.39%2037.53%20265.203%2043.13ZM237.413%2039.42H260.793C260.7%2035.8733%20259.65%2032.8867%20257.643%2030.46C255.496%2027.8467%20252.72%2026.54%20249.313%2026.54C245.906%2026.54%20243.106%2027.87%20240.913%2030.53C238.953%2032.8633%20237.786%2035.8267%20237.413%2039.42Z'%20fill='white'/%3e%3cpath%20d='M124.417%20111V90.048H116.713V85.296H137.773V90.048H130.069V111H124.417ZM141.637%20111V85.296H147.289V111H141.637ZM153.154%20111V85.296H167.014C169.27%2085.296%20171.106%2085.992%20172.522%2087.384C173.866%2088.728%20174.538%2090.396%20174.538%2092.388C174.538%2095.58%20173.182%2097.728%20170.47%2098.832V98.904C172.726%2099.48%20173.974%20101.484%20174.214%20104.916C174.286%20105.948%20174.358%20106.98%20174.43%20108.012C174.574%20109.404%20174.862%20110.4%20175.294%20111H169.642C169.378%20110.352%20169.174%20109.38%20169.03%20108.084C168.934%20107.004%20168.838%20105.924%20168.742%20104.844C168.55%20103.452%20168.13%20102.456%20167.482%20101.856C166.858%20101.256%20165.85%20100.956%20164.458%20100.956H158.806V111H153.154ZM158.806%2089.688V96.924H164.998C167.59%2096.924%20168.886%2095.7%20168.886%2093.252C168.886%2090.876%20167.59%2089.688%20164.998%2089.688H158.806ZM180.034%20111V85.296H199.258V90.048H185.686V95.556H198.142V99.948H185.686V106.248H199.546V111H180.034ZM226.246%20111V61.02H231.006V106.94H259.006V111H226.246ZM295.134%2094.13H267.344C267.391%2097.863%20268.324%20101.037%20270.144%20103.65C272.337%20106.777%20275.371%20108.34%20279.244%20108.34C285.217%20108.34%20288.997%20105.26%20290.584%2099.1H294.994C292.987%20107.733%20287.737%20112.05%20279.244%20112.05C273.831%20112.05%20269.677%20110.16%20266.784%20106.38C264.217%20102.973%20262.934%2098.493%20262.934%2092.94C262.934%2087.667%20264.217%2083.28%20266.784%2079.78C269.724%2075.813%20273.877%2073.83%20279.244%2073.83C284.704%2073.83%20288.857%2075.953%20291.704%2080.2C294.177%2083.887%20295.321%2088.53%20295.134%2094.13ZM267.344%2090.42H290.724C290.631%2086.873%20289.581%2083.887%20287.574%2081.46C285.427%2078.847%20282.651%2077.54%20279.244%2077.54C275.837%2077.54%20273.037%2078.87%20270.844%2081.53C268.884%2083.863%20267.717%2086.827%20267.344%2090.42ZM328.843%2085.45H324.433C324.34%2082.837%20323.36%2080.83%20321.493%2079.43C319.813%2078.17%20317.643%2077.54%20314.983%2077.54C312.696%2077.54%20310.783%2077.983%20309.243%2078.87C307.376%2079.99%20306.443%2081.623%20306.443%2083.77C306.443%2086.71%20308.94%2088.74%20313.933%2089.86L319.813%2091.19C326.673%2092.73%20330.103%2096.067%20330.103%20101.2C330.103%20104.793%20328.54%20107.57%20325.413%20109.53C322.706%20111.21%20319.44%20112.05%20315.613%20112.05C306.373%20112.05%20301.426%20107.803%20300.773%2099.31H305.183C305.37%20102.203%20306.42%20104.443%20308.333%20106.03C310.293%20107.57%20312.79%20108.34%20315.823%20108.34C318.296%20108.34%20320.466%20107.827%20322.333%20106.8C324.573%20105.54%20325.693%20103.767%20325.693%20101.48C325.693%2098.26%20323.056%2096.067%20317.783%2094.9L312.113%2093.64C308.846%2092.893%20306.443%2091.89%20304.903%2090.63C302.99%2089.043%20302.033%2086.827%20302.033%2083.98C302.033%2080.573%20303.503%2077.96%20306.443%2076.14C308.916%2074.6%20311.973%2073.83%20315.613%2073.83C319.393%2073.83%20322.473%2074.787%20324.853%2076.7C327.373%2078.753%20328.703%2081.67%20328.843%2085.45ZM364.294%2085.45H359.884C359.791%2082.837%20358.811%2080.83%20356.944%2079.43C355.264%2078.17%20353.094%2077.54%20350.434%2077.54C348.147%2077.54%20346.234%2077.983%20344.694%2078.87C342.827%2079.99%20341.894%2081.623%20341.894%2083.77C341.894%2086.71%20344.391%2088.74%20349.384%2089.86L355.264%2091.19C362.124%2092.73%20365.554%2096.067%20365.554%20101.2C365.554%20104.793%20363.991%20107.57%20360.864%20109.53C358.157%20111.21%20354.891%20112.05%20351.064%20112.05C341.824%20112.05%20336.877%20107.803%20336.224%2099.31H340.634C340.821%20102.203%20341.871%20104.443%20343.784%20106.03C345.744%20107.57%20348.241%20108.34%20351.274%20108.34C353.747%20108.34%20355.917%20107.827%20357.784%20106.8C360.024%20105.54%20361.144%20103.767%20361.144%20101.48C361.144%2098.26%20358.507%2096.067%20353.234%2094.9L347.564%2093.64C344.297%2092.893%20341.894%2091.89%20340.354%2090.63C338.441%2089.043%20337.484%2086.827%20337.484%2083.98C337.484%2080.573%20338.954%2077.96%20341.894%2076.14C344.367%2074.6%20347.424%2073.83%20351.064%2073.83C354.844%2073.83%20357.924%2074.787%20360.304%2076.7C362.824%2078.753%20364.154%2081.67%20364.294%2085.45Z'%20fill='white'/%3e%3c/g%3e%3cdefs%3e%3cfilter%20id='filter0_d_30_1933'%20x='0'%20y='0'%20width='380'%20height='130'%20filterUnits='userSpaceOnUse'%20color-interpolation-filters='sRGB'%3e%3cfeFlood%20flood-opacity='0'%20result='BackgroundImageFix'/%3e%3cfeColorMatrix%20in='SourceAlpha'%20type='matrix'%20values='0%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%20127%200'%20result='hardAlpha'/%3e%3cfeOffset%20dy='4'/%3e%3cfeGaussianBlur%20stdDeviation='7'/%3e%3cfeComposite%20in2='hardAlpha'%20operator='out'/%3e%3cfeColorMatrix%20type='matrix'%20values='0%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200.15%200'/%3e%3cfeBlend%20mode='normal'%20in2='BackgroundImageFix'%20result='effect1_dropShadow_30_1933'/%3e%3cfeBlend%20mode='normal'%20in='SourceGraphic'%20in2='effect1_dropShadow_30_1933'%20result='shape'/%3e%3c/filter%3e%3cclipPath%20id='clip0_30_1933'%3e%3crect%20width='352'%20height='102'%20fill='white'%20transform='translate(14%2010)'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e`,Rh=`data:image/svg+xml,%3csvg%20width='738'%20height='346'%20viewBox='0%200%20738%20346'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M166.531%20110.373V111.304L158.082%20116.188L158.071%20115.256L166.531%20110.373Z'%20fill='%23E6F4FF'/%3e%3cpath%20d='M162.346%20110.647V111.578L158.071%20114.043V113.123L162.346%20110.647Z'%20fill='%23E6F4FF'/%3e%3cpath%20d='M159.716%20109.501L159.727%20110.433L158.06%20111.387V110.455L159.716%20109.501Z'%20fill='%23E6F4FF'/%3e%3cpath%20d='M158.648%20121.324C158.485%20121.68%20158.4%20122.067%20158.399%20122.459V134.554C158.399%20135.508%20159.079%20135.894%20159.907%20135.406L177.916%20124.992C178.352%20124.709%20178.714%20124.326%20178.974%20123.877C179.234%20123.427%20179.385%20122.922%20179.413%20122.403V110.319C179.423%20110.026%20179.335%20109.739%20179.164%20109.501L168.957%20122.437L158.648%20121.324Z'%20stroke='%23E6F4FF'%20stroke-width='0.75'%20stroke-miterlimit='10'/%3e%3cpath%20d='M159.894%20119.821C159.346%20120.197%20158.911%20120.715%20158.635%20121.32L168.921%20122.387L179.128%20109.452C179.006%20109.325%20178.848%20109.238%20178.675%20109.206C178.502%20109.173%20178.323%20109.196%20178.164%20109.271L159.894%20119.821Z'%20stroke='%23E6F4FF'%20stroke-width='0.75'%20stroke-miterlimit='10'/%3e%3cpath%20d='M182.85%20117.448L217.621%2097.3806V115.551'%20stroke='%23E6F4FF'%20stroke-width='0.75'%20stroke-miterlimit='10'/%3e%3cpath%20d='M368.923%20155.802C382.01%20163.366%20382.078%20175.642%20369.07%20183.206L307.977%20218.741C294.969%20226.315%20273.818%20226.315%20260.72%20218.741L199.264%20183.206C186.176%20175.642%20186.108%20163.366%20199.116%20155.802L260.175%20120.268C273.183%20112.693%20294.334%20112.693%20307.421%20120.268L368.923%20155.802Z'%20fill='%2379AEF5'/%3e%3cpath%20d='M369.066%20150.158L307.973%20185.693C294.965%20193.268%20273.814%20193.268%20260.715%20185.693L199.259%20150.158C192.67%20146.354%20189.381%20141.357%20189.393%20136.36V143.435C189.393%20148.421%20192.67%20153.429%20199.259%20157.234L260.738%20192.78C273.825%20200.343%20294.987%20200.343%20307.995%20192.78L369.054%20157.245C375.507%20153.486%20378.751%20148.568%20378.762%20143.617V136.542C378.762%20141.482%20375.53%20146.399%20369.066%20150.158Z'%20fill='%23A6D0F4'/%3e%3cpath%20d='M368.923%20122.754C382.01%20130.317%20382.078%20142.594%20369.07%20150.157L307.977%20185.692C294.969%20193.267%20273.818%20193.267%20260.72%20185.692L199.264%20150.157C186.176%20142.594%20186.108%20130.317%20199.116%20122.754L260.175%2087.2192C273.183%2079.6444%20294.334%2079.6444%20307.421%2087.2192L368.923%20122.754Z'%20fill='white'/%3e%3cpath%20d='M179.53%20276.419C192.617%20283.983%20192.685%20296.259%20179.677%20303.834L118.584%20339.358C105.576%20346.932%2084.4257%20346.932%2071.3384%20339.358L9.87097%20303.834C-3.21637%20296.259%20-3.28442%20283.994%209.72354%20276.419L70.7827%20240.885C83.7906%20233.321%20104.941%20233.321%20118.04%20240.885L179.53%20276.419Z'%20fill='%2379AEF5'/%3e%3cpath%20d='M179.673%20270.775L118.58%20306.344C105.572%20313.919%2084.4213%20313.919%2071.334%20306.344L9.86657%20270.821C3.27754%20267.005%20-0.0113116%20262.008%202.9229e-05%20257.011V264.086C2.9229e-05%20269.083%203.27754%20274.08%209.85523%20277.884L71.3226%20313.419C84.41%20320.994%20105.572%20320.994%20118.58%20313.419L179.639%20277.884C186.092%20274.125%20189.336%20269.208%20189.347%20264.256V257.181C189.381%20262.053%20186.137%20267.016%20179.673%20270.775Z'%20fill='%23A6D0F4'/%3e%3cpath%20d='M179.525%20243.37C192.613%20250.933%20192.681%20263.21%20179.673%20270.773L118.58%20306.342C105.572%20313.917%2084.4209%20313.917%2071.3336%20306.342L9.86621%20270.819C-3.18711%20263.187%20-3.25515%20250.933%209.70744%20243.37L70.7666%20207.835C83.7745%20200.26%20104.925%20200.26%20118.024%20207.835L179.525%20243.37Z'%20fill='white'/%3e%3cpath%20d='M561.71%20254.942C574.798%20262.506%20574.866%20274.782%20561.858%20282.357L500.765%20317.881C487.757%20325.456%20466.606%20325.456%20453.519%20317.881L392.051%20282.357C378.964%20274.782%20378.896%20262.517%20391.904%20254.942L452.963%20219.408C465.971%20211.844%20487.122%20211.844%20500.22%20219.408L561.71%20254.942Z'%20fill='%2379AEF5'/%3e%3cpath%20d='M561.861%20249.299L500.768%20284.834C487.76%20292.409%20466.609%20292.409%20453.522%20284.834L392.054%20249.311C385.465%20245.495%20382.176%20240.498%20382.188%20235.501V242.576C382.188%20247.573%20385.465%20252.57%20392.043%20256.375L453.51%20291.909C466.598%20299.484%20487.76%20299.484%20500.768%20291.909L561.849%20256.375C568.302%20252.616%20571.546%20247.698%20571.557%20242.747V235.672C571.557%20240.623%20568.325%20245.54%20561.861%20249.299Z'%20fill='%23A6D0F4'/%3e%3cpath%20d='M561.71%20221.895C574.798%20229.459%20574.866%20241.735%20561.858%20249.299L500.765%20284.833C487.757%20292.408%20466.606%20292.408%20453.519%20284.833L392.051%20249.31C378.964%20241.735%20378.896%20229.459%20391.904%20221.895L452.963%20186.36C465.971%20178.785%20487.122%20178.785%20500.22%20186.36L561.71%20221.895Z'%20fill='white'/%3e%3cpath%20opacity='0.43'%20d='M499.163%20269.382L514.995%20269.268L547.963%20250.666L529.681%20241.66L499.163%20269.382Z'%20fill='%23A6D0F4'/%3e%3cpath%20d='M727.582%20144.647C740.669%20152.21%20740.749%20164.487%20727.741%20172.05L666.636%20207.539C653.628%20215.114%20632.478%20215.114%20619.39%20207.539L557.923%20172.005C544.836%20164.441%20544.768%20152.165%20557.775%20144.601L618.835%20109.066C631.843%20101.492%20652.993%20101.492%20666.092%20109.066L727.582%20144.647Z'%20fill='%2379AEF5'/%3e%3cpath%20d='M727.709%20139.004L666.639%20174.538C653.631%20182.113%20632.48%20182.113%20619.393%20174.538L557.925%20139.004C551.336%20135.199%20548.048%20130.202%20548.059%20125.205V132.28C548.059%20137.266%20551.336%20142.263%20557.925%20146.079L619.382%20181.614C632.469%20189.177%20653.631%20189.177%20666.639%20181.614L727.698%20146.079C734.162%20142.32%20737.394%20137.391%20737.406%20132.451V125.387C737.406%20130.316%20734.162%20135.245%20727.709%20139.004Z'%20fill='%23A6D0F4'/%3e%3cpath%20d='M727.585%20111.591C740.673%20119.166%20740.752%20131.443%20727.744%20139.006L666.674%20174.541C653.666%20182.116%20632.515%20182.116%20619.428%20174.541L557.96%20139.006C544.873%20131.443%20544.805%20119.166%20557.813%20111.603L618.872%2076.0681C631.88%2068.4933%20653.031%2068.4933%20666.129%2076.0681L727.585%20111.591Z'%20fill='white'/%3e%3cpath%20d='M188.892%20167.791L116.878%20126.158C114.281%20124.659%20111.922%20124.511%20110.209%20125.511L106.002%20128.043C107.703%20127.055%20110.062%20127.191%20112.67%20128.702L184.673%20170.335C189.845%20173.322%20194.018%20180.556%20194.007%20186.507L193.882%20228.924C193.882%20231.876%20192.839%20233.955%20191.149%20234.931L195.379%20232.467C197.058%20231.49%20198.101%20229.412%20198.112%20226.459L198.226%20184.042C198.248%20178.069%20194.075%20170.823%20188.892%20167.791Z'%20fill='%23C8F3FF'/%3e%3cpath%20d='M184.677%20170.305C189.848%20173.292%20194.022%20180.526%20194.01%20186.477L193.886%20228.894C193.886%20234.833%20189.667%20237.229%20184.495%20234.242L112.492%20192.609C107.321%20189.622%20103.136%20182.388%20103.159%20176.437L103.272%20134.021C103.272%20128.07%20107.502%20125.685%20112.674%20128.672L184.677%20170.305Z'%20fill='%235C6BC0'/%3e%3cpath%20d='M114.142%20165.041L121.426%20150.951L123.13%20151.834L119.886%20158.109L127.389%20161.998L130.632%20155.723L132.336%20156.606L125.053%20170.697L123.349%20169.813L126.607%20163.511L119.104%20159.622L115.846%20165.925L114.142%20165.041Z'%20fill='white'/%3e%3cpath%20d='M137.451%20159.257L130.168%20173.348L128.464%20172.465L135.747%20158.374L137.451%20159.257Z'%20fill='white'/%3e%3cpath%20d='M133.585%20175.119L140.868%20161.028L145.622%20163.493C146.722%20164.062%20147.527%20164.718%20148.038%20165.46C148.551%20166.197%20148.809%20166.979%20148.811%20167.806C148.813%20168.633%20148.6%20169.462%20148.171%20170.292C147.742%20171.122%20147.192%20171.77%20146.521%20172.237C145.85%20172.703%20145.069%20172.938%20144.179%20172.942C143.291%20172.941%20142.302%20172.658%20141.212%20172.093L137.364%20170.099L138.161%20168.558L141.953%20170.524C142.704%20170.913%20143.366%20171.116%20143.938%20171.134C144.514%20171.153%20145.01%20171.015%20145.424%20170.718C145.846%20170.419%20146.203%20169.987%20146.494%20169.423C146.786%20168.859%20146.936%20168.311%20146.943%20167.78C146.95%20167.249%20146.782%20166.749%20146.438%20166.279C146.096%20165.806%20145.545%20165.372%20144.785%20164.978L141.789%20163.425L135.288%20176.002L133.585%20175.119ZM143.48%20172.222L143.671%20180.347L141.692%20179.321L141.556%20171.225L143.48%20172.222Z'%20fill='white'/%3e%3cpath%20d='M154.947%20168.326L147.664%20182.417L145.96%20181.533L153.243%20167.443L154.947%20168.326Z'%20fill='white'/%3e%3cpath%20d='M169.522%20175.88L162.238%20189.971L160.589%20189.116L158.64%20174.079L158.503%20174.007L152.784%20185.071L151.081%20184.187L158.364%20170.097L160.013%20170.952L161.975%20186.031L162.113%20186.102L167.845%20175.011L169.522%20175.88Z'%20fill='white'/%3e%3cpath%20d='M180.274%20187.036C180.362%20186.495%20180.378%20185.977%20180.32%20185.481C180.269%20184.984%20180.142%20184.517%20179.938%20184.08C179.739%20183.645%20179.462%20183.248%20179.107%20182.89C178.752%20182.531%20178.321%20182.221%20177.812%20181.957C176.978%20181.525%20176.109%20181.348%20175.204%20181.425C174.298%20181.502%20173.427%20181.856%20172.59%20182.487C171.753%20183.117%20171.02%20184.042%20170.389%20185.263C169.758%20186.483%20169.43%20187.618%20169.404%20188.669C169.377%20189.719%20169.601%20190.641%20170.074%20191.433C170.548%20192.225%20171.219%20192.846%20172.09%20193.297C172.896%20193.715%20173.695%20193.911%20174.486%20193.885C175.285%20193.857%20176.02%20193.616%20176.69%20193.161C177.368%20192.704%20177.93%20192.044%20178.375%20191.182L178.841%20191.562L174.608%20189.369L175.391%20187.855L180.75%20190.633L179.967%20192.146C179.368%20193.307%20178.599%20194.188%20177.661%20194.789C176.727%20195.393%20175.705%20195.707%20174.596%20195.73C173.493%20195.752%20172.382%20195.473%20171.265%20194.894C170.019%20194.248%20169.076%20193.387%20168.436%20192.311C167.8%20191.237%20167.499%20190.022%20167.532%20188.667C167.569%20187.314%20167.972%20185.894%20168.74%20184.408C169.316%20183.293%20169.983%20182.368%20170.741%20181.633C171.505%20180.895%20172.325%20180.354%20173.199%20180.011C174.074%20179.667%20174.973%20179.523%20175.897%20179.577C176.822%20179.632%20177.735%20179.893%20178.637%20180.361C179.379%20180.745%20180.013%20181.216%20180.538%20181.773C181.07%20182.328%20181.482%20182.94%20181.775%20183.61C182.075%20184.277%20182.249%20184.981%20182.296%20185.72C182.346%20186.456%20182.258%20187.198%20182.033%20187.948L180.274%20187.036Z'%20fill='white'/%3e%3cpath%20d='M291.119%20297.896C292.922%20298.941%20292.934%20300.633%20291.119%20301.678L279.619%20308.39C278.614%20308.905%20277.5%20309.174%20276.37%20309.174C275.24%20309.174%20274.127%20308.905%20273.121%20308.39L261.474%20301.678C259.671%20300.633%20259.659%20298.941%20261.474%20297.896L273.019%20291.184C274.025%20290.669%20275.138%20290.4%20276.268%20290.4C277.398%20290.4%20278.512%20290.669%20279.517%20291.184L291.119%20297.896Z'%20fill='white'/%3e%3cg%20opacity='0.29'%3e%3cpath%20d='M266.168%20283.475C267.971%20284.519%20267.982%20286.2%20266.168%20287.245L254.668%20293.968C253.662%20294.483%20252.549%20294.752%20251.419%20294.752C250.289%20294.752%20249.176%20294.483%20248.17%20293.968L236.523%20287.245C234.72%20286.2%20234.708%20284.519%20236.523%20283.475L248.045%20276.82C249.051%20276.304%20250.165%20276.036%20251.294%20276.036C252.424%20276.036%20253.538%20276.304%20254.543%20276.82L266.168%20283.475Z'%20fill='white'/%3e%3c/g%3e%3cpath%20d='M265.479%20260.52C267.282%20261.565%20267.282%20263.257%20265.479%20264.29L253.934%20271.013C252.926%20271.529%20251.811%20271.797%20250.679%20271.797C249.548%20271.797%20248.432%20271.529%20247.424%20271.013L235.834%20264.324C234.031%20263.291%20234.019%20261.599%20235.834%20260.554L247.379%20253.842C248.385%20253.327%20249.498%20253.058%20250.628%20253.058C251.758%20253.058%20252.871%20253.327%20253.877%20253.842L265.479%20260.52Z'%20fill='%2358AFFB'/%3e%3cpath%20d='M330.119%20297.896C331.922%20298.94%20331.933%20300.633%20330.119%20301.677L318.574%20308.389C317.568%20308.904%20316.454%20309.173%20315.325%20309.173C314.195%20309.173%20313.081%20308.904%20312.075%20308.389L300.451%20301.666C298.648%20300.632%20298.637%20298.94%20300.451%20297.896L311.996%20291.172C313.003%20290.662%20314.116%20290.397%20315.245%20290.397C316.374%20290.397%20317.487%20290.662%20318.494%20291.172L330.119%20297.896Z'%20stroke='%23E6F4FF'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M266.328%20312.022C268.131%20313.067%20268.142%20314.747%20266.328%20315.792L254.783%20322.504C253.777%20323.019%20252.663%20323.288%20251.534%20323.288C250.404%20323.288%20249.29%20323.019%20248.284%20322.504L236.66%20315.792C234.857%20314.747%20234.857%20313.055%20236.66%20312.022L248.205%20305.299C249.212%20304.789%20250.325%20304.523%20251.454%20304.523C252.583%20304.523%20253.696%20304.789%20254.703%20305.299L266.328%20312.022Z'%20fill='%2358AFFB'/%3e%3cpath%20d='M473.363%20111.794C475.177%20112.839%20475.177%20114.52%20473.363%20115.565L461.818%20122.288C460.811%20122.8%20459.698%20123.068%20458.569%20123.068C457.439%20123.068%20456.326%20122.8%20455.319%20122.288L443.718%20115.553C441.926%20114.508%20441.915%20112.828%20443.718%20111.783L455.263%20105.06C456.271%20104.547%20457.386%20104.28%20458.518%20104.28C459.649%20104.28%20460.764%20104.547%20461.772%20105.06L473.363%20111.794Z'%20fill='white'/%3e%3cg%20opacity='0.29'%3e%3cpath%20d='M448.416%2097.3849C450.219%2098.4184%20450.23%20100.111%20448.416%20101.155L436.871%20107.878C435.863%20108.388%20434.751%20108.654%20433.622%20108.654C432.493%20108.654%20431.38%20108.388%20430.373%20107.878L418.748%20101.155C416.945%20100.111%20416.945%2098.4184%20418.748%2097.3849L430.293%2090.6618C431.301%2090.1464%20432.416%2089.8777%20433.548%2089.8777C434.68%2089.8777%20435.795%2090.1464%20436.803%2090.6618L448.416%2097.3849Z'%20fill='white'/%3e%3c/g%3e%3cpath%20d='M447.727%2074.4206C449.53%2075.4654%20449.542%2077.1462%20447.727%2078.191L436.205%2084.8913C435.199%2085.4067%20434.085%2085.6754%20432.956%2085.6754C431.826%2085.6754%20430.712%2085.4067%20429.706%2084.8913L418.082%2078.1796C416.279%2077.1348%20416.268%2075.454%20418.082%2074.4092L429.627%2067.6861C430.634%2067.1761%20431.747%2066.9104%20432.876%2066.9104C434.005%2066.9104%20435.118%2067.1761%20436.125%2067.6861L447.727%2074.4206Z'%20fill='%2358AFFB'/%3e%3cg%20opacity='0.26'%3e%3cpath%20d='M512.378%20111.797C514.17%20112.842%20514.182%20114.522%20512.378%20115.567L500.833%20122.29C499.825%20122.803%20498.71%20123.07%20497.579%20123.07C496.448%20123.07%20495.332%20122.803%20494.324%20122.29L482.722%20115.556C480.919%20114.511%20480.908%20112.83%20482.722%20111.785L494.267%20105.062C495.273%20104.547%20496.386%20104.278%20497.516%20104.278C498.646%20104.278%20499.76%20104.547%20500.765%20105.062L512.378%20111.797Z'%20fill='white'/%3e%3c/g%3e%3cpath%20d='M448.598%20125.885C450.413%20126.929%20450.413%20128.622%20448.598%20129.655L437.053%20136.378C436.048%20136.893%20434.934%20137.162%20433.804%20137.162C432.674%20137.162%20431.561%20136.893%20430.555%20136.378L418.931%20129.655C417.139%20128.622%20417.128%20126.929%20418.931%20125.885L430.453%20119.173C431.459%20118.658%20432.572%20118.389%20433.702%20118.389C434.832%20118.389%20435.946%20118.658%20436.951%20119.173L448.598%20125.885Z'%20stroke='%23E6F4FF'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M659.707%20269.092C661.511%20270.137%20661.522%20271.817%20659.707%20272.862L648.196%20279.574C647.189%20280.089%20646.073%20280.358%20644.942%20280.358C643.81%20280.358%20642.695%20280.089%20641.687%20279.574L630.051%20272.862C628.248%20271.817%20628.237%20270.125%20630.051%20269.092L641.596%20262.369C642.602%20261.853%20643.715%20261.585%20644.845%20261.585C645.975%20261.585%20647.089%20261.853%20648.094%20262.369L659.707%20269.092Z'%20fill='white'/%3e%3cg%20opacity='0.29'%3e%3cpath%20d='M634.761%20254.66C636.564%20255.705%20636.576%20257.397%20634.761%20258.442L623.25%20265.154C622.244%20265.669%20621.131%20265.938%20620.001%20265.938C618.871%20265.938%20617.758%20265.669%20616.752%20265.154L605.105%20258.442C603.302%20257.397%20603.29%20255.705%20605.105%20254.66L616.65%20247.949C617.655%20247.433%20618.769%20247.165%20619.899%20247.165C621.029%20247.165%20622.142%20247.433%20623.148%20247.949L634.761%20254.66Z'%20fill='white'/%3e%3c/g%3e%3cpath%20d='M634.071%20231.709C635.874%20232.754%20635.874%20234.446%20634.071%20235.48L622.526%20242.203C621.518%20242.718%20620.403%20242.987%20619.271%20242.987C618.139%20242.987%20617.024%20242.718%20616.016%20242.203L604.426%20235.48C602.623%20234.446%20602.611%20232.754%20604.426%20231.709L615.971%20224.997C616.977%20224.482%20618.09%20224.213%20619.22%20224.213C620.35%20224.213%20621.463%20224.482%20622.469%20224.997L634.071%20231.709Z'%20fill='%2358AFFB'/%3e%3cg%20opacity='0.26'%3e%3cpath%20d='M698.708%20269.094C700.511%20270.127%20700.523%20271.819%20698.708%20272.864L687.163%20279.576C686.157%20280.091%20685.044%20280.36%20683.914%20280.36C682.784%20280.36%20681.671%20280.091%20680.665%20279.576L669.041%20272.853C667.237%20271.819%20667.215%20270.127%20669.041%20269.082L680.586%20262.371C681.591%20261.855%20682.705%20261.587%20683.835%20261.587C684.964%20261.587%20686.078%20261.855%20687.084%20262.371L698.708%20269.094Z'%20fill='white'/%3e%3c/g%3e%3cpath%20d='M634.916%20283.189C636.72%20284.234%20636.731%20285.914%20634.916%20286.959L623.371%20293.682C622.364%20294.192%20621.251%20294.458%20620.122%20294.458C618.993%20294.458%20617.881%20294.192%20616.873%20293.682L605.249%20286.959C603.446%20285.914%20603.446%20284.222%20605.249%20283.189L616.794%20276.466C617.801%20275.956%20618.914%20275.69%20620.043%20275.69C621.172%20275.69%20622.285%20275.956%20623.292%20276.466L634.916%20283.189Z'%20stroke='%23E6F4FF'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M561.176%2037.9307L561.232%2058.3498L558.919%2059.6899L558.885%2050.1163L550.311%2055.0791L550.334%2064.6527L548.043%2065.9814L547.986%2045.5623L550.277%2044.2336L550.3%2052.7737L558.885%2047.8109L558.862%2039.2708L561.176%2037.9307Z'%20fill='white'/%3e%3cpath%20d='M567.436%2034.321L567.493%2054.7288L565.213%2056.0462L565.145%2035.6384L567.436%2034.321Z'%20fill='white'/%3e%3cpath%20d='M581.673%2040.9289C581.954%2042.5768%20582.418%2044.1881%20583.057%2045.7328L580.686%2047.1069C580.127%2045.7614%20579.728%2044.355%20579.496%2042.9163C578.951%2040.4065%20577.999%2039.8955%20575.923%2040.9971L573.769%2042.2463V51.0931L571.5%2052.4104V32.2752C572.892%2031.1793%20574.362%2030.1885%20575.901%2029.3111C578.35%2027.8916%20579.927%2027.4941%20581.027%2028.0051C581.934%2028.4026%20582.433%2029.5042%20582.433%2031.0714C582.362%2032.4286%20582.024%2033.7584%20581.438%2034.9843C580.852%2036.2102%20580.03%2037.308%20579.019%2038.2147V38.3283C580.426%2038.0671%20581.288%2039.0437%20581.673%2040.9289ZM576.105%2038.8961C577.26%2038.2922%20578.239%2037.3999%20578.948%2036.3056C579.658%2035.2113%20580.073%2033.9521%20580.153%2032.65C580.153%2030.0152%20578.486%2029.8335%20576.059%2031.1963C575.256%2031.6417%20574.496%2032.1626%20573.791%2032.7522V40.2021L576.139%2038.8507'%20fill='white'/%3e%3cpath%20d='M595.179%2018.2722L595.19%2020.4868L587.898%2024.7001L587.92%2031.1506L594.816%2027.1644V29.3449L587.932%2033.3311L587.943%2040.6901L595.632%2036.2497V38.4642L585.664%2044.222L585.596%2023.8142L595.179%2018.2722Z'%20fill='white'/%3e%3cpath%20d='M610.61%2011.7433C612.198%2012.5042%20613.128%2014.3326%20613.128%2017.6374C613.14%2020.9419%20612.266%2024.1891%20610.599%2027.0406C608.677%2030.172%20605.977%2032.7507%20602.762%2034.5246C601.141%2035.4559%20599.768%2036.16%20598.612%2036.6824V16.6039C600.166%2015.4264%20601.79%2014.3455%20603.477%2013.3673C606.709%2011.4594%20609.057%2010.9824%20610.61%2011.7433ZM603.205%2032.1852C605.54%2030.9088%20607.48%2029.0148%20608.814%2026.7098C610.148%2024.4048%20610.824%2021.7773%20610.769%2019.1137C610.769%2014.2758%20608.41%2012.5951%20603.568%2015.3888C602.626%2015.9243%20601.728%2016.5318%20600.88%2017.2058V33.3208C601.663%2032.9985%20602.421%2032.6189%20603.148%2032.1852'%20fill='white'/%3e%3cpath%20d='M58.2918%20176.574V178.152C58.2937%20178.364%2058.3509%20178.572%2058.4576%20178.755C58.5644%20178.938%2058.717%20179.09%2058.9004%20179.195C59.0838%20179.301%2059.2915%20179.357%2059.5031%20179.357C59.7146%20179.357%2059.9226%20179.302%2060.1064%20179.197L67.5573%20174.905C67.7404%20174.799%2067.8924%20174.646%2067.9979%20174.463C68.1034%20174.279%2068.1588%20174.071%2068.1584%20173.86V172.338C68.166%20172.128%2068.1192%20171.92%2068.0225%20171.733C67.9258%20171.547%2067.7825%20171.389%2067.6066%20171.274C67.4307%20171.16%2067.2281%20171.093%2067.0187%20171.081C66.8094%20171.068%2066.6003%20171.11%2066.4119%20171.202L58.961%20175.506C58.7626%20175.606%2058.5954%20175.758%2058.4774%20175.947C58.3594%20176.135%2058.2952%20176.352%2058.2918%20176.574Z'%20fill='%23F2F9FF'/%3e%3cpath%20d='M34.6559%20197.957V199.592C34.6569%20199.803%2034.7128%20200.01%2034.8182%20200.193C34.9235%20200.376%2035.0746%20200.528%2035.2566%20200.635C35.4387%20200.742%2035.6453%20200.799%2035.8561%20200.801C36.067%20200.804%2036.2748%20200.751%2036.459%20200.648L67.5443%20182.762C67.7274%20182.656%2067.8794%20182.503%2067.9849%20182.32C68.0904%20182.136%2068.1458%20181.928%2068.1454%20181.717V180.138C68.1478%20179.926%2068.094%20179.716%2067.9895%20179.531C67.8849%20179.347%2067.7334%20179.193%2067.5503%20179.085C67.3671%20178.978%2067.1589%20178.921%2066.9467%20178.921C66.7345%20178.92%2066.5259%20178.976%2066.3422%20179.082L35.2909%20196.912C35.1015%20197.013%2034.9427%20197.164%2034.831%20197.347C34.7193%20197.531%2034.6588%20197.742%2034.6559%20197.957Z'%20fill='%23F2F9FF'/%3e%3cg%20opacity='0.53'%3e%3cpath%20d='M47.4966%20206.339V207.917C47.4962%20208.129%2047.5515%20208.336%2047.6568%20208.52C47.7622%20208.703%2047.9139%20208.855%2048.0967%20208.961C48.2795%20209.067%2048.487%20209.123%2048.6982%20209.123C48.9094%20209.123%2049.1169%20209.068%2049.2998%20208.962L67.5472%20198.457C67.7374%20198.359%2067.8958%20198.208%2068.0042%20198.023C68.1126%20197.838%2068.1665%20197.626%2068.1597%20197.412V195.822C68.1601%20195.611%2068.1048%20195.403%2067.9995%20195.22C67.8941%20195.036%2067.7424%20194.884%2067.5596%20194.778C67.3768%20194.672%2067.1693%20194.616%2066.9581%20194.616C66.7469%20194.616%2066.5394%20194.672%2066.3565%20194.778L48.0977%20205.271C47.9112%20205.379%2047.7571%20205.535%2047.6513%20205.722C47.5456%20205.91%2047.4922%20206.123%2047.4966%20206.339Z'%20fill='%23F2F9FF'/%3e%3c/g%3e%3cpath%20d='M39.5103%20203.054V204.633C39.5113%20204.844%2039.5672%20205.051%2039.6726%20205.234C39.7779%20205.417%2039.929%20205.569%2040.1111%20205.676C40.2931%20205.782%2040.4997%20205.84%2040.7105%20205.842C40.9214%20205.844%2041.1292%20205.791%2041.3135%20205.689L67.5448%20190.63C67.7288%20190.522%2067.8812%20190.368%2067.9867%20190.183C68.0923%20189.997%2068.1471%20189.787%2068.1459%20189.574V187.995C68.1449%20187.784%2068.089%20187.577%2067.9836%20187.394C67.8783%20187.211%2067.7271%20187.059%2067.5451%20186.952C67.3631%20186.846%2067.1565%20186.788%2066.9456%20186.786C66.7348%20186.784%2066.527%20186.836%2066.3427%20186.939L40.1113%20202.009C39.9282%20202.115%2039.7763%20202.267%2039.6707%20202.451C39.5652%20202.634%2039.5099%20202.842%2039.5103%20203.054Z'%20fill='%23F2F9FF'/%3e%3cpath%20d='M8.80978%20208.234V229.448L24.8004%20239.851'%20stroke='white'%20stroke-width='0.53'%20stroke-miterlimit='10'/%3e%3cpath%20d='M8.71457%20208.631C9.76055%20208.631%2010.6085%20207.782%2010.6085%20206.735C10.6085%20205.687%209.76055%20204.838%208.71457%20204.838C7.66858%20204.838%206.82065%20205.687%206.82065%20206.735C6.82065%20207.782%207.66858%20208.631%208.71457%20208.631Z'%20stroke='white'%20stroke-width='1.06'%20stroke-miterlimit='10'/%3e%3cpath%20d='M386.505%20197.436V218.638L402.484%20229.052'%20stroke='white'%20stroke-width='0.53'%20stroke-miterlimit='10'/%3e%3cpath%20d='M386.406%20197.821C387.452%20197.821%20388.3%20196.972%20388.3%20195.925C388.3%20194.877%20387.452%20194.028%20386.406%20194.028C385.36%20194.028%20384.512%20194.877%20384.512%20195.925C384.512%20196.972%20385.36%20197.821%20386.406%20197.821Z'%20stroke='white'%20stroke-width='1.06'%20stroke-miterlimit='10'/%3e%3cpath%20opacity='0.35'%20d='M249.201%20154.586C259.943%20154.586%20268.651%20149.044%20268.651%20142.208C268.651%20135.371%20259.943%20129.829%20249.201%20129.829C238.46%20129.829%20229.752%20135.371%20229.752%20142.208C229.752%20149.044%20238.46%20154.586%20249.201%20154.586Z'%20fill='%23A6D0F4'/%3e%3cpath%20opacity='0.35'%20d='M258.559%20155.143C258.559%20158.959%20263.424%20162.048%20269.412%20162.048C275.4%20162.048%20280.265%20158.959%20280.265%20155.143C280.265%20151.327%20275.411%20148.238%20269.412%20148.238C263.413%20148.238%20258.559%20151.327%20258.559%20155.143Z'%20fill='%23A6D0F4'/%3e%3cpath%20opacity='0.35'%20d='M302.642%20131.248C302.642%20135.064%20307.507%20138.153%20313.495%20138.153C319.483%20138.153%20324.348%20135.064%20324.348%20131.248C324.348%20127.432%20319.494%20124.332%20313.495%20124.332C307.496%20124.332%20302.642%20127.432%20302.642%20131.248Z'%20fill='%23A6D0F4'/%3e%3cpath%20d='M260.79%20140.663C260.564%20143.218%20258.171%20144.944%20256.005%20145.875C253.633%20146.854%20251.084%20147.329%20248.52%20147.272C245.889%20147.278%20243.29%20146.7%20240.91%20145.58C238.857%20144.569%20236.691%20142.741%20236.691%20140.242C236.594%20141.088%20236.671%20141.944%20236.916%20142.758C237.162%20143.573%20237.572%20144.328%20238.12%20144.978C239.93%20146.723%20242.229%20147.872%20244.709%20148.272C249.359%20149.225%20255.676%20148.771%20259.203%20145.183C259.806%20144.534%20260.263%20143.764%20260.543%20142.923C260.823%20142.083%20260.919%20141.192%20260.824%20140.311L260.79%20140.663Z'%20fill='%23ADCDFC'/%3e%3cpath%20d='M257.252%20135.994C261.981%20138.731%20262.015%20143.16%20257.32%20145.897C254.682%20147.231%20251.769%20147.926%20248.814%20147.926C245.859%20147.926%20242.946%20147.231%20240.308%20145.897C235.579%20143.16%20235.557%20138.731%20240.308%20135.994C242.936%20134.667%20245.837%20133.976%20248.78%20133.976C251.723%20133.976%20254.624%20134.667%20257.252%20135.994Z'%20fill='white'/%3e%3cpath%20d='M250.044%20132.339L250.021%20142.401L248.762%20143.139L248.774%20133.077L250.044%20132.339Z'%20fill='%23C7D8F2'/%3e%3cpath%20d='M248.775%20133.077L248.764%20143.139L247.493%20142.401L247.505%20132.339L248.775%20133.077Z'%20fill='%237BAEFF'/%3e%3cpath%20d='M250.634%20130.51L248.786%20131.577L246.926%20130.51L248.774%20129.431L250.634%20130.51Z'%20fill='%234DA5DC'/%3e%3cpath%20d='M236.786%2096.247C236.786%2096.247%20232.987%2098.5183%20231.978%20100.79C230.968%20103.061%20231.24%20118.96%20236.514%20126.069C241.787%20133.179%20251.631%20134.144%20253.911%20133.133C256.19%20132.122%20269.278%20125.558%20270.287%20122.276C271.296%20118.994%20266.261%20116.473%20263.483%20115.212C260.704%20113.952%20258.946%20112.18%20257.438%20107.638C255.93%20103.095%20255.17%2095.2703%20253.401%2094.0097C251.631%2092.7491%20247.379%2090.7163%20236.786%2096.247Z'%20fill='%2325437F'/%3e%3cpath%20d='M255.614%20130.875C257.462%20130.057%20266.512%20125.537%20270.357%20122.119C271.162%20118.916%20266.252%20116.44%20263.552%20115.203C260.853%20113.965%20259.016%20112.17%20257.508%20107.628C255.999%20103.085%20255.24%2095.2604%20253.47%2093.9998C251.701%2092.7392%20247.426%2090.7177%20236.833%2096.2711C235.702%2096.9583%20234.642%2097.7572%20233.669%2098.656C232.717%20101.302%20233.057%20116.827%20238.262%20123.811C243.468%20130.795%20253.346%20131.885%20255.614%20130.875Z'%20fill='%23254DA1'/%3e%3cpath%20d='M245.804%2084.3226C245.594%2085.0765%20245.562%2085.8687%20245.71%2086.6372C245.857%2087.4056%20246.181%2088.1294%20246.654%2088.7517C248.129%2090.512%20247.845%2091.023%20247.562%2091.6363C247.278%2092.2495%20245.532%2094.2369%20245.736%2096.9739C245.94%2099.7108%20253.595%2098.4502%20254.298%2096.5537C255.001%2094.6571%20252.2%2091.5%20252.03%2089.1038C251.86%2086.7075%20253.504%2083.6185%20251.474%2082.8463C249.444%2082.074%20246.791%2081.4835%20245.804%2084.3226Z'%20fill='%23BB543E'/%3e%3cpath%20d='M267.259%20149.509C267.259%20149.509%20266.556%20151.428%20266.987%20151.996C267.317%20152.802%20267.505%20153.659%20267.542%20154.529L268.245%20154.949L268.529%20153.541C268.678%20154.157%20268.965%20154.732%20269.368%20155.221C270.774%20156.172%20272.348%20156.842%20274.007%20157.197C275.821%20157.618%20276.388%20157.481%20276.524%20156.777C276.66%20156.073%20274.562%20153.541%20273.303%20152.7C272.045%20151.86%20267.259%20149.509%20267.259%20149.509Z'%20fill='%23254DA1'/%3e%3cpath%20d='M271.375%20149.326C271.766%20150.155%20272.221%20150.952%20272.736%20151.711C273.303%20152.415%20274.845%20153.675%20274.698%20154.38C274.55%20155.084%20273.155%20154.947%20271.477%20154.38C269.798%20153.812%20269.367%20152.279%20268.528%20151.847C268.063%20151.686%20267.675%20151.357%20267.441%20150.924C267.206%20150.491%20267.14%20149.986%20267.258%20149.508C267.405%20148.054%20271.375%20149.326%20271.375%20149.326Z'%20fill='%23FF9554'/%3e%3cpath%20d='M263.743%20126.295C263.373%20125.609%20263.284%20124.805%20263.496%20124.054C263.708%20123.304%20264.203%20122.665%20264.877%20122.275C267.327%20120.901%20269.119%20123.036%20269.55%20124.035C270.549%20126.061%20271.157%20128.257%20271.342%20130.508C271.342%20133.166%20271.557%20149.701%20271.557%20149.701C271.268%20149.956%20270.93%20150.149%20270.563%20150.269C270.197%20150.389%20269.81%20150.434%20269.427%20150.4C269.043%20150.366%20268.67%20150.254%20268.33%20150.071C267.991%20149.889%20267.692%20149.639%20267.452%20149.337C267.452%20149.337%20265.047%20129.486%20264.991%20128.532C264.768%20127.694%20264.339%20126.925%20263.743%20126.295Z'%20fill='%23FF9554'/%3e%3cpath%20d='M263.141%20151.574C263.141%20151.574%20262.438%20153.493%20262.857%20154.05C263.195%20154.854%20263.387%20155.711%20263.424%20156.582L264.127%20157.003L264.411%20155.594C264.559%20156.215%20264.846%20156.793%20265.25%20157.287C266.651%20158.235%20268.223%20158.902%20269.877%20159.251C271.703%20159.671%20272.27%20159.535%20272.406%20158.831C272.542%20158.127%20270.444%20155.594%20269.174%20154.754C267.904%20153.914%20263.141%20151.574%20263.141%20151.574Z'%20fill='%23254DA1'/%3e%3cpath%20d='M256.94%20131.145C256.94%20131.145%20255.25%20128.703%20257.496%20127.011C259.741%20125.319%20261.805%20127.204%20262.361%20128.147C263.62%20130.024%20264.509%20132.125%20264.981%20134.336C265.355%20136.959%20267.249%20151.371%20267.249%20151.371C266.997%20151.662%20266.688%20151.9%20266.341%20152.068C265.994%20152.236%20265.617%20152.332%20265.232%20152.351C264.847%20152.369%20264.462%20152.308%20264.102%20152.173C263.741%20152.038%20263.411%20151.831%20263.132%20151.564C263.132%20151.564%20258.596%20134.132%20258.46%20133.189C258.13%20132.393%20257.608%20131.69%20256.94%20131.145Z'%20fill='%23FF9554'/%3e%3cpath%20d='M267.256%20151.383C267.642%20152.219%20268.097%20153.02%20268.617%20153.779C269.173%20154.472%20270.727%20155.744%20270.579%20156.448C270.432%20157.152%20269.037%20157.005%20267.358%20156.448C265.68%20155.892%20265.249%20154.336%20264.41%20153.916C263.945%20153.754%20263.557%20153.425%20263.322%20152.992C263.087%20152.56%20263.022%20152.055%20263.14%20151.576C263.287%20150.123%20267.256%20151.383%20267.256%20151.383Z'%20fill='%23FF9554'/%3e%3cpath%20d='M267.077%20120.46C266.397%20119.813%20258.47%20113.055%20258.47%20113.055L245.36%20115.111C245.36%20115.111%20245.553%20121.119%20248.762%20125.048C250.535%20127.298%20252.616%20129.286%20254.943%20130.953C255.65%20131.527%20256.487%20131.917%20257.381%20132.089C257.822%20131.055%20258.63%20130.221%20259.649%20129.75C261.611%20128.614%20268.212%20124.071%20269.051%20124.264C269.89%20124.457%20270.037%20124.821%20270.037%20124.821C269.41%20123.153%20268.395%20121.658%20267.077%20120.46Z'%20fill='%2362759A'/%3e%3cpath%20d='M257.026%2092.5215C257.026%2092.5215%20258.942%2092.6237%20260.054%2095.2471C261.165%2097.8704%20262.583%20104.548%20262.98%20105.161C263.377%20105.775%20262.889%20107.58%20260.462%20108.091C259.046%20106.268%20257.825%20104.3%20256.822%20102.22C255.313%2098.9947%20254.667%2093.9751%20257.026%2092.5215Z'%20fill='%23C7D8F2'/%3e%3cpath%20d='M249.241%2091.1594C249.241%2091.1594%20243.979%2094.9298%20243.458%2096.179C242.831%2098.5159%20242.991%20100.994%20243.911%20103.231C245.045%20105.503%20244.603%20114.088%20244.989%20115.724C245.374%20117.359%20249.876%20117.927%20252.666%20117.393C255.456%20116.859%20258.813%20114.827%20258.711%20111.579C258.609%20108.331%20258.144%20106.536%20259.845%2098.8592C260.163%2097.4169%20258.813%2095.668%20258.133%2093.1809C257.985%2092.6698%20256.239%2092.1247%20256.239%2092.1247C256.239%2092.1247%20254.413%2090.9436%20249.241%2091.1594Z'%20fill='%23C7D8F2'/%3e%3cpath%20d='M247.341%2094.2955C247.341%2094.2955%20242.805%2093.3869%20240.865%20100.383C239.663%20105.198%20238.518%20109.298%20239.187%20110.183C239.856%20111.069%20241.829%20111.875%20243.088%20110.853C244.347%20109.831%20248.101%2098.2589%20248.01%2097.1119C247.919%2095.9649%20248.305%2095.1131%20247.341%2094.2955Z'%20fill='%23C7D8F2'/%3e%3cpath%20d='M259.453%20100.109C259.453%20100.109%20257.537%20104.754%20248.351%20102.937C246.536%20102.835%20244.812%20106.98%20245.924%20109.206C247.119%20111.81%20247.866%20114.597%20248.135%20117.451C249.637%20117.696%20251.169%20117.696%20252.672%20117.451C255.45%20116.906%20258.818%20114.884%20258.716%20111.636C258.363%20107.83%20258.65%20103.991%20259.567%20100.279L259.453%20100.109Z'%20fill='%23A9C9E6'/%3e%3cpath%20d='M249.114%2090.9548C248.966%2091.0754%20248.852%2091.2312%20248.781%2091.4078C248.709%2091.5845%20248.683%2091.7762%20248.705%2091.9655C249.335%2093.4506%20250.325%2094.7545%20251.586%2095.7586C252.391%2096.1561%20253.242%2093.7825%20253.242%2093.7825C253.242%2093.7825%20254.966%2094.498%20255.567%2093.987C256.168%2093.4759%20254.512%2091.5567%20254.058%2091.2046C252.449%2090.7577%20250.76%2090.6724%20249.114%2090.9548Z'%20fill='white'/%3e%3cpath%20d='M253.811%2090.4542C253.797%2090.5101%20253.797%2090.5687%20253.811%2090.6246C253.868%2091.0107%20254.061%2091.9987%20254.095%2092.4076C254.129%2092.8164%20253.675%2093.4865%20252.62%2093.4637C251.566%2093.441%20249.74%2092.9981%20249.139%2091.7262C249.165%2090.4746%20249.109%2089.2225%20248.969%2087.9785L253.811%2090.4542Z'%20fill='%23FF8654'/%3e%3cpath%20d='M255.328%2084.0166C254.829%2081.3592%20252.731%2079.8488%20250.349%2080.4052C249.573%2080.5081%20248.832%2080.7905%20248.185%2081.2301C247.537%2081.6697%20247.001%2082.2544%20246.618%2082.9378C245.484%2085.2091%20247.162%2087.117%20248.24%2088.3208C248.693%2088.8091%20249.033%2089.1952%20249.249%2089.4564L249.487%2089.729C250.104%2090.3499%20250.863%2090.81%20251.699%2091.0691C252.194%2091.2405%20252.726%2091.2773%20253.24%2091.1755C253.754%2091.0737%20254.232%2090.8371%20254.624%2090.4899C255.305%2089.7858%20255.804%2086.6854%20255.328%2084.0166Z'%20fill='%23FF9554'/%3e%3cpath%20d='M248.186%2087.036C248.186%2087.036%20247.403%2085.9685%20246.825%2086.2524C246.246%2086.5363%20247.607%2088.8985%20248.481%2088.853C249.354%2088.8076%20248.186%2087.036%20248.186%2087.036Z'%20fill='%23FF9554'/%3e%3cpath%20d='M257.244%20114.688L266.657%20123.683L259.353%20127.76L249.952%20118.765L257.244%20114.688Z'%20fill='white'/%3e%3cpath%20d='M258.933%20116.767C258.6%20117.311%20258.312%20117.881%20258.071%20118.471C257.912%20118.993%20257.425%20119.981%20257.629%20120.254C257.833%20120.526%20258.525%20120.083%20258.661%20119.765C258.759%20119.577%20258.908%20119.419%20259.092%20119.311L259.183%20120.254C259.183%20120.833%20259.455%20122.071%20259.92%20122.298C260.385%20122.525%20261.054%20121.628%20261.383%20121.094C261.678%20120.306%20261.725%20119.446%20261.519%20118.63C261.337%20118.266%20260.85%20117.437%20260.85%20117.437L258.933%20116.767Z'%20fill='%23FF9554'/%3e%3cpath%20d='M259.208%20105.559C259.255%20105.191%20259.413%20104.845%20259.661%20104.569C259.908%20104.292%20260.234%20104.098%20260.595%20104.012C260.956%20103.925%20261.335%20103.951%20261.68%20104.086C262.026%20104.22%20262.323%20104.457%20262.531%20104.764C262.966%20105.401%20263.277%20106.114%20263.45%20106.865C263.949%20109.137%20261.646%20117.086%20261.42%20117.79C261.193%20118.495%20259.809%20118.824%20258.732%20117.927C257.654%20117.03%20259.174%20108.047%20259.174%20106.945C259.159%20106.483%20259.17%20106.02%20259.208%20105.559Z'%20fill='%23C7D8F2'/%3e%3cpath%20d='M252.571%20117.199C253.201%20117.287%20253.823%20117.424%20254.431%20117.608C254.93%20117.812%20256.008%20118.062%20256.087%20118.392C256.166%20118.721%20255.384%20118.982%20255.055%20118.891C254.851%20118.833%20254.635%20118.833%20254.431%20118.891L255.1%20119.55C255.509%20119.97%20256.336%20120.924%20256.234%20121.413C256.132%20121.901%20254.998%20121.867%20254.374%20121.787C253.582%20121.52%20252.89%20121.016%20252.39%20120.345C252.22%20119.97%20251.891%20119.05%20251.891%20119.05L252.571%20117.199Z'%20fill='%23FF9554'/%3e%3cpath%20d='M241.843%20108.207C241.53%20108.011%20241.165%20107.915%20240.796%20107.93C240.427%20107.945%20240.071%20108.071%20239.775%20108.292C239.479%20108.512%20239.256%20108.817%20239.135%20109.167C239.015%20109.516%20239.002%20109.894%20239.099%20110.251C239.306%20110.995%20239.652%20111.692%20240.12%20112.306C241.526%20114.135%20250.927%20119.336%20251.63%20119.609C252.334%20119.881%20253.456%20119.052%20253.456%20117.644C253.456%20116.236%20243.771%20109.774%20242.932%20109.07C242.585%20108.763%20242.221%20108.475%20241.843%20108.207Z'%20fill='%23C7D8F2'/%3e%3cpath%20d='M252.752%2082.6185C252.752%2082.6185%20252.049%2082.3345%20251.698%2083.3226C251.346%2084.3106%20251.142%2085.5939%20249.872%2086.1276C248.602%2086.6614%20248.261%2086.8999%20247.354%2086.8318C246.869%2086.7941%20246.416%2086.572%20246.089%2086.2109C245.763%2085.8498%20245.586%2085.3771%20245.596%2084.8898C245.655%2083.7529%20246.063%2082.6621%20246.766%2081.7673C247.468%2080.8725%20248.431%2080.2176%20249.52%2079.8929C250.153%2079.6834%20250.823%2079.6063%20251.487%2079.6662C252.151%2079.726%20252.796%2079.9217%20253.382%2080.241C253.967%2080.5603%20254.481%2080.9965%20254.892%2081.5226C255.303%2082.0487%20255.601%2082.6536%20255.769%2083.2999C256.189%2085.0488%20255.497%2085.1964%20255.497%2085.1964C255.497%2085.1964%20255.417%2082.2891%20252.752%2082.6185Z'%20fill='%23BB543E'/%3e%3cpath%20opacity='0.35'%20d='M292.625%20129.105C303.367%20129.105%20312.075%20123.563%20312.075%20116.726C312.075%20109.89%20303.367%20104.347%20292.625%20104.347C281.884%20104.347%20273.176%20109.89%20273.176%20116.726C273.176%20123.563%20281.884%20129.105%20292.625%20129.105Z'%20fill='%23A6D0F4'/%3e%3cpath%20d='M304.215%20115.181C303.988%20117.725%20301.595%20119.451%20299.441%20120.382C297.068%20121.37%20294.513%20121.846%20291.944%20121.779C289.314%20121.784%20286.716%20121.206%20284.335%20120.087C282.293%20119.076%20280.116%20117.248%20280.116%20114.761C280.02%20115.604%20280.097%20116.458%20280.343%20117.271C280.588%20118.083%20280.998%20118.837%20281.545%20119.485C283.355%20121.23%20285.654%20122.379%20288.134%20122.778C292.784%20123.744%20299.1%20123.278%20302.627%20119.701C303.23%20119.052%20303.686%20118.281%20303.966%20117.441C304.245%20116.601%20304.342%20115.71%20304.249%20114.829C304.238%20114.942%20304.238%20115.056%20304.215%20115.181Z'%20fill='%23ADCDFC'/%3e%3cpath%20d='M300.688%20110.535C305.406%20113.272%20305.44%20117.701%20300.745%20120.438C298.102%20121.787%20295.177%20122.49%20292.211%20122.49C289.244%20122.49%20286.32%20121.787%20283.677%20120.438C278.947%20117.701%20278.936%20113.271%20283.677%20110.546C286.312%20109.205%20289.225%20108.506%20292.181%20108.504C295.137%20108.502%20298.051%20109.197%20300.688%20110.535Z'%20fill='white'/%3e%3cpath%20d='M293.463%20106.859L293.44%20116.909L292.181%20117.648L292.204%20107.586L293.463%20106.859Z'%20fill='%23C7D8F2'/%3e%3cpath%20d='M292.205%20107.586L292.183%20117.648L290.912%20116.909L290.935%20106.859L292.205%20107.586Z'%20fill='%237BAEFF'/%3e%3cpath%20d='M294.053%20105.018L292.205%20106.097L290.345%20105.018L292.193%20103.951L294.053%20105.018Z'%20fill='%234DA5DC'/%3e%3cpath%20d='M280.209%2070.7737C280.209%2070.7737%20276.41%2073.045%20275.401%2075.3163C274.392%2077.5876%20274.664%2093.4869%20279.937%20100.596C285.211%20107.705%20295.066%20108.671%20297.334%20107.66C299.602%20106.649%20312.712%20100.096%20313.722%2096.8143C314.731%2093.5323%20309.684%2090.9998%20306.917%2089.7392C304.15%2088.4786%20302.381%2086.7183%20300.872%2082.1643C299.364%2077.6103%20298.604%2069.797%20296.835%2068.5364C295.066%2067.2758%20290.802%2065.2203%20280.209%2070.7737Z'%20fill='%2325437F'/%3e%3cpath%20d='M299.036%20105.333C300.885%20104.515%20309.946%2099.9953%20313.78%2096.5769C314.596%2093.3744%20309.674%2090.8987%20306.975%2089.6608C304.276%2088.4229%20302.439%2086.6399%20300.93%2082.0859C299.422%2077.532%20298.662%2069.7186%20296.893%2068.458C295.124%2067.1975%20290.848%2065.176%20280.256%2070.7294C279.124%2071.4166%20278.064%2072.2155%20277.092%2073.1142C276.139%2075.7603%20276.479%2091.2848%20281.696%2098.2691C286.913%20105.253%20296.768%20106.389%20299.036%20105.333Z'%20fill='%23254DA1'/%3e%3cpath%20d='M303.153%2071.151C303.153%2071.151%20304.287%2071.5371%20305.115%2074.3422C305.943%2077.1473%20308.347%2082.2237%20307.508%2084.4723C306.669%2086.7209%20304.106%2085.4489%20303.437%2083.7682C302.768%2082.0874%20299.932%2074.2627%20300.488%2073.1157C301.044%2071.9687%20302.03%2070.7649%20303.153%2071.151Z'%20fill='%23113569'/%3e%3cpath%20d='M310.014%20128.657C310.183%20129.275%20310.419%20129.873%20310.717%20130.44C311.586%20131.532%20312.606%20132.496%20313.745%20133.302C314.505%20133.949%20315.435%20135.153%20315.344%20135.721C315.253%20136.288%20313.428%20136.425%20311.999%20136.118C310.57%20135.811%20309.311%20134.21%20308.891%20134.244C308.472%20134.278%20306.907%20133.972%20306.623%20133.427C306.339%20132.881%20306.838%20130.735%20306.838%20130.735V129.179L310.014%20128.657Z'%20fill='%23232839'/%3e%3cpath%20d='M317.044%20124.16C317.213%20124.775%20317.449%20125.369%20317.748%20125.932C318.613%20127.031%20319.633%20127.998%20320.776%20128.805C321.535%20129.452%20322.465%20130.645%20322.375%20131.224C322.284%20131.803%20320.458%20131.928%20319.029%20131.621C317.6%20131.315%20316.341%20129.714%20315.922%20129.748C315.502%20129.782%20313.937%20129.475%20313.654%20128.93C313.37%20128.385%20313.869%20126.238%20313.869%20126.238V124.683L317.044%20124.16Z'%20fill='%23232839'/%3e%3cpath%20d='M290.43%2093.2273C290.37%2095.1503%20290.892%2097.0465%20291.927%2098.6671C293.606%20101.109%20300.535%20107.287%20301.283%20107.855C302.032%20108.422%20302.225%20112.534%20302.973%20114.407C303.722%20116.281%20305.967%20128.467%20306.375%20129.409C306.375%20129.409%20306.75%20130.341%20309.369%20129.784C310.866%20129.591%20311.048%20129.035%20311.048%20129.035C311.048%20129.035%20310.118%20115.35%20309.369%20112.159C308.621%20108.968%20308.428%20105.413%20307.101%20104.107C305.774%20102.801%20299.423%2094.5447%20299.423%2094.5447L297.927%2092.103L290.43%2093.2273Z'%20fill='%23113C7A'/%3e%3cpath%20d='M302.03%2090.2268C302.03%2090.2268%20312.135%2095.9051%20313.541%2097.1203C314.897%2098.3056%20315.832%2099.8997%20316.206%20101.663C316.32%20102.276%20317.34%20124.013%20317.76%20125.001C317.896%20125.841%20315.231%20126.409%20313.961%20125.989C313.466%20125.646%20313.039%20125.215%20312.702%20124.717C312.702%20124.717%20310.173%20111.645%20310.173%20109.817C309.937%20107.359%20309.558%20104.917%20309.039%20102.503L297.392%2095.8938L296.541%2092.941L302.03%2090.2268Z'%20fill='%23113C7A'/%3e%3cpath%20d='M290.807%2095.1093C290.807%2095.1093%20291.782%2097.9144%20295.853%2097.4942L297.26%2097.2103L297.543%2094.939C298.96%2094.7497%20300.31%2094.2198%20301.479%2093.3945C302.034%2093.6784%20302.182%2095.0866%20302.737%2095.2229C303.293%2095.3592%20304.28%2093.3945%20303.996%2091.9863C303.713%2090.5781%20303.021%2091.1459%20303.021%2091.1459C303.021%2091.1459%20291.51%2094.0305%20290.807%2095.1093Z'%20fill='%23112C5C'/%3e%3cpath%20d='M295.1%2069.6954C295.1%2069.6954%20290.292%2073.1024%20289.815%2074.2381C289.244%2076.376%20289.391%2078.643%20290.235%2080.6886C291.222%2082.801%20290.859%2090.6143%20291.222%2092.1361C291.584%2093.6579%20295.69%2094.1462%20298.23%2093.6579C300.771%2093.1695%20303.901%2091.3184%20303.753%2088.343C303.606%2085.3675%20303.753%2079.8369%20303.889%2078.4968C304.024%2076.1613%20303.81%2073.8188%20303.254%2071.5466C303.118%2071.0696%20301.519%2070.5699%20301.519%2070.5699C301.519%2070.5699%20299.829%2069.491%20295.1%2069.6954Z'%20fill='white'/%3e%3cpath%20d='M299.272%2069.0491C299.265%2069.0981%20299.265%2069.1478%20299.272%2069.1968C299.329%2069.5488%20299.51%2070.4573%20299.533%2070.8321C299.556%2071.2069%20299.159%2071.8201%20298.183%2071.7974C297.564%2071.8184%20296.949%2071.684%20296.394%2071.4063C295.839%2071.1286%20295.363%2070.7165%20295.008%2070.2075C295.027%2069.0696%20294.974%2067.9317%20294.849%2066.8005L299.272%2069.0491Z'%20fill='%23E16B40'/%3e%3cpath%20d='M294.976%2069.4673C295.233%2070.1558%20295.7%2070.7458%20296.31%2071.1536C296.921%2071.5613%20297.645%2071.766%20298.378%2071.7386H298.56L297.233%2073.8736C296.292%2073.3206%20295.403%2072.6819%20294.579%2071.9657C294.19%2071.4984%20293.984%2070.9048%20294.001%2070.2963L294.976%2069.4673Z'%20fill='white'/%3e%3cpath%20d='M298.55%2071.7878L299.933%2073.1165C300.275%2072.7255%20300.494%2072.2428%20300.565%2071.7281C300.635%2071.2134%20300.554%2070.6893%20300.33%2070.2206L299.468%2069.8799C299.481%2070.2487%20299.405%2070.6152%20299.245%2070.9476C299.084%2071.2801%20298.846%2071.5684%20298.55%2071.7878Z'%20fill='white'/%3e%3cpath%20d='M301.33%2062.379C300.809%2059.6421%20298.642%2058.0862%20296.193%2058.6541C295.393%2058.7607%20294.63%2059.0523%20293.963%2059.5057C293.295%2059.959%20292.743%2060.5617%20292.348%2061.2661C291.214%2063.6055%20292.904%2065.5702%20294.015%2066.8195C294.48%2067.3191%20294.832%2067.7166%20295.059%2067.9551C295.136%2068.0513%20295.219%2068.1424%20295.308%2068.2277C295.945%2068.8588%20296.723%2069.3297%20297.576%2069.6018C298.089%2069.777%20298.638%2069.8147%20299.169%2069.7111C299.7%2069.6075%20300.195%2069.3662%20300.604%2069.0113C301.308%2068.3299%20301.841%2065.1273%20301.33%2062.379Z'%20fill='%23FF8654'/%3e%3cpath%20d='M293.988%2070.3425C293.988%2070.3425%20293.274%2071.0353%20294.215%2072.7615C295.501%2075.2189%20296.211%2077.9377%20296.291%2080.7111C296.381%2083.9932%20296.812%2094.339%20296.381%2096.5535C295.519%2097.3258%20291.369%2096.633%20290.155%2094.5548C289.634%2091.5339%20289.894%2082.3464%20289.293%2080.4499C288.788%2078.3751%20288.757%2076.2128%20289.203%2074.1243C290.498%2072.5233%20292.132%2071.2314%20293.988%2070.3425Z'%20fill='%23113C7A'/%3e%3cpath%20d='M300.676%2070.2751C301.189%2072.3546%20301.421%2074.4935%20301.368%2076.6348C301.368%2080.0418%20302.343%2094.1807%20302.502%2094.4647C302.661%2094.7486%20304.702%2092.9656%20304.77%2090.8873C304.838%2088.8091%20304.078%2076.0557%20303.965%2074.7837C303.894%2073.5356%20303.618%2072.3077%20303.148%2071.1496C302.356%2070.7742%20301.528%2070.4812%20300.676%2070.2751Z'%20fill='%23113C7A'/%3e%3cpath%20d='M299.67%2072.4777L299.046%2073.795L297.742%2072.7616L298.547%2071.7849L299.67%2072.4777Z'%20fill='%23113C7A'/%3e%3cpath%20d='M299.333%2072.9654C299.333%2072.9654%20300.569%2088.7851%20300.569%2089.4778L299.741%2090.9315L298.607%2089.7958L298.199%2072.8745L299.333%2072.9654Z'%20fill='%23113C7A'/%3e%3cpath%20d='M289.442%2073.5905C288.618%2074.4566%20288.039%2075.5266%20287.764%2076.6908C287.015%2079.0303%20286.539%2087.1843%20286.539%2088.3995C286.539%2089.6146%20286.539%2091.0228%20287.571%2091.6815C287.794%2091.8623%20288.054%2091.9901%20288.333%2092.0553C288.613%2092.1206%20288.903%2092.1215%20289.182%2092.0581C289.462%2091.9947%20289.723%2091.8685%20289.947%2091.6892C290.171%2091.5099%20290.351%2091.282%20290.474%2091.0228C291.132%2089.8077%20291.608%2082.8688%20292.062%2080.7224C292.516%2078.576%20293.287%2076.4069%20292.345%2075.0441C292.079%2074.5241%20291.654%2074.1028%20291.131%2073.8414C290.609%2073.58%20290.018%2073.4921%20289.442%2073.5905Z'%20fill='%23113C7A'/%3e%3cpath%20d='M292.814%2059.0649C293.137%2058.5521%20293.577%2058.1231%20294.097%2057.8132C294.617%2057.5033%20295.204%2057.3212%20295.808%2057.282C297.963%2057.1002%20298.53%2057.8498%20299.46%2057.9406C300.39%2058.0315%20301.24%2057.5659%20301.898%2058.5993C302.556%2059.6328%20301.15%2061.5975%20301.15%2061.5975C301.15%2061.5975%20300.401%2061.4157%20299.653%2063.2896C298.904%2065.1634%20296.182%2064.6864%20295.626%2064.5047L295.162%2065.436V66.2877L294.504%2066.1855C294.504%2066.1855%20294.787%2065.1634%20294.13%2064.7887C293.472%2064.4139%20293.29%2065.1634%20293.381%2065.7199C293.705%2066.6813%20294.371%2067.4898%20295.252%2067.9912L294.969%2068.559L294.787%2068.9338C294.254%2068.5023%20293.754%2068.0316%20293.29%2067.5256C292.814%2066.9691%20292.156%2067.4347%20291.226%2065.3678C290.296%2063.3009%20290.569%2061.711%20291.408%2060.8252L292.258%2059.8826L292.814%2059.0649Z'%20fill='%2396432A'/%3e%3cpath%20d='M302.164%2090.5122L311.577%2099.5066L304.274%20103.584L294.872%2094.5892L302.164%2090.5122Z'%20fill='%23CBDCEB'/%3e%3cpath%20d='M300.032%2097.3015C300.032%2097.3015%20300.497%2097.6309%20300.735%2097.7785L302.277%2098.7552C302.687%2099.1897%20303.034%2099.6789%20303.309%20100.209C303.571%20100.636%20303.73%20101.118%20303.774%20101.617C303.684%20101.856%20303.4%20101.708%20303.4%20101.708C303.124%20102.018%20302.737%20102.206%20302.323%20102.23C301.767%20102.174%20301.291%20101.481%20301.291%20101.481L300.497%20100.777C300.174%20100.417%20299.92%20100.002%20299.748%2099.5501L299.193%2099.1754C299.193%2099.1754%20298.796%2098.7552%20300.032%2097.3015Z'%20fill='%23FF8654'/%3e%3cpath%20d='M298.31%2098.8821C298.31%2098.8821%20298.899%2097.2127%20299.603%2096.7925L300.396%2097.349C299.896%2097.9305%20299.542%2098.6237%20299.364%2099.3704L298.31%2098.8821Z'%20fill='white'/%3e%3cpath%20d='M298.311%2098.8837C297.811%2098.837%20297.33%2098.6736%20296.904%2098.4068C295.66%2097.4896%20294.357%2096.655%20293.003%2095.9083C291.184%2095.0735%20289.483%2094.0004%20287.945%2092.7171C287.077%2091.8788%20286.572%2090.733%20286.539%2089.5259C286.914%2089.0409%20287.44%2088.695%20288.034%2088.5428C288.627%2088.3906%20289.255%2088.4408%20289.816%2088.6855C291.66%2089.5661%20293.365%2090.7141%20294.875%2092.0925C296.553%2093.5007%20299.411%2096.2944%20299.411%2096.2944L299.898%2096.8736C299.51%2097.0812%20299.168%2097.3668%20298.895%2097.7127C298.622%2098.0586%20298.423%2098.4573%20298.311%2098.8837Z'%20fill='%23113C7A'/%3e%3cpath%20d='M304.84%2085.0278C304.766%2085.9753%20304.858%2086.9285%20305.113%2087.8442C305.543%2089.2524%20304.557%2094.0335%20304.976%2094.4537C305.302%2094.7787%20305.706%2095.0143%20306.149%2095.1376C306.592%2095.2609%20307.059%2095.2679%20307.505%2095.1578L308.345%2094.59C308.345%2094.59%20308.764%2089.8089%20308.764%2088.4007C308.764%2086.9925%20308.345%2083.0631%20307.369%2082.2227C306.394%2081.3823%20303.99%2082.0751%20304.84%2085.0278Z'%20fill='%23113569'/%3e%3cpath%20d='M305.328%2094.3081C305.687%2093.9832%20306.157%2093.809%20306.64%2093.8217C307.124%2093.8344%20307.584%2094.033%20307.925%2094.3762L307.993%2095.3643C307.993%2095.3643%20307.71%2096.2841%20305.396%2095.4324L305.328%2094.3081Z'%20fill='white'/%3e%3cpath%20d='M305.545%2095.1786C305.895%2094.9846%20306.292%2094.8905%20306.691%2094.9065C307.091%2094.9226%20307.479%2095.0481%20307.813%2095.2694L307.904%2095.6442C307.904%2095.6442%20308.21%2096.4846%20308.323%2096.8593C308.376%2097.182%20308.353%2097.5126%20308.255%2097.8247C308.236%2098.1817%20308.179%2098.5357%20308.085%2098.8808C307.994%2099.0398%20307.813%2098.9944%20307.643%2098.9717C307.141%2098.8111%20306.648%2098.6215%20306.168%2098.4038C305.794%2098.2448%20305.681%2097.4272%20305.613%2097.1432C305.567%2096.7129%20305.567%2096.2789%20305.613%2095.8486C305.62%2095.6232%20305.597%2095.3979%20305.545%2095.1786Z'%20fill='%23FF8654'/%3e%3cpath%20d='M329.925%2063.9153V65.4938C329.926%2065.7053%20329.871%2065.9132%20329.765%2066.0965C329.66%2066.2798%20329.508%2066.4321%20329.325%2066.5381C329.143%2066.644%20328.935%2066.6998%20328.724%2066.6999C328.513%2066.7%20328.305%2066.6444%20328.122%2066.5386L320.671%2062.2345C320.487%2062.1292%20320.333%2061.9773%20320.226%2061.794C320.118%2061.6106%20320.061%2061.4023%20320.059%2061.1897V59.6111C320.061%2059.3993%20320.118%2059.1916%20320.225%2059.0087C320.331%2058.8258%20320.484%2058.6741%20320.667%2058.5685C320.851%2058.4629%20321.059%2058.4071%20321.27%2058.4067C321.482%2058.4064%20321.69%2058.4614%20321.874%2058.5663L329.324%2062.8591C329.509%2062.9659%20329.662%2063.12%20329.768%2063.3056C329.873%2063.4912%20329.928%2063.7016%20329.925%2063.9153Z'%20fill='%23F9FBFC'/%3e%3cpath%20d='M353.526%2085.2874V86.8773C353.526%2087.0888%20353.471%2087.2967%20353.366%2087.48C353.26%2087.6633%20353.109%2087.8156%20352.926%2087.9215C352.743%2088.0274%20352.535%2088.0833%20352.324%2088.0834C352.113%2088.0835%20351.906%2088.0278%20351.723%2087.9221L320.671%2070.1263C320.486%2070.0192%20320.332%2069.8653%20320.225%2069.68C320.117%2069.4947%20320.06%2069.2844%20320.059%2069.0702V67.4916C320.059%2067.2788%20320.115%2067.0697%20320.221%2066.8852C320.326%2066.7008%20320.479%2066.5474%20320.663%2066.4405C320.846%2066.3335%20321.055%2066.2768%20321.267%2066.2759C321.48%2066.275%20321.689%2066.33%20321.874%2066.4354L352.925%2084.2653C353.105%2084.3692%20353.254%2084.5179%20353.36%2084.697C353.465%2084.8761%20353.522%2085.0795%20353.526%2085.2874Z'%20fill='%23F9FBFC'/%3e%3cg%20opacity='0.53'%3e%3cpath%20d='M340.735%2093.6676V95.2462C340.735%2095.459%20340.679%2095.6681%20340.573%2095.8525C340.467%2096.037%20340.315%2096.1904%20340.131%2096.2973C339.948%2096.4043%20339.739%2096.461%20339.527%2096.4619C339.314%2096.4628%20339.105%2096.4078%20338.92%2096.3024L320.673%2085.8202C320.49%2085.7144%20320.338%2085.5621%20320.232%2085.3786C320.127%2085.1952%20320.072%2084.9871%20320.072%2084.7754V83.1969C320.073%2082.9857%20320.129%2082.7785%20320.234%2082.5956C320.34%2082.4127%20320.491%2082.2604%20320.673%2082.1538C320.855%2082.0472%20321.061%2081.9899%20321.272%2081.9876C321.483%2081.9853%20321.691%2082.0381%20321.875%2082.1407L340.123%2092.6228C340.307%2092.7281%20340.461%2092.88%20340.568%2093.0634C340.676%2093.2467%20340.733%2093.4551%20340.735%2093.6676Z'%20fill='%23F9FBFC'/%3e%3c/g%3e%3cpath%20d='M348.722%2090.3889V91.9789C348.72%2092.1907%20348.663%2092.3984%20348.556%2092.5813C348.449%2092.7641%20348.296%2092.9159%20348.113%2093.0215C347.93%2093.1271%20347.722%2093.1829%20347.51%2093.1832C347.299%2093.1836%20347.091%2093.1286%20346.907%2093.0237L320.676%2077.9648C320.493%2077.859%20320.341%2077.7067%20320.235%2077.5232C320.13%2077.3398%20320.074%2077.1317%20320.075%2076.92V75.3301C320.074%2075.1186%20320.129%2074.9107%20320.235%2074.7274C320.34%2074.5441%20320.492%2074.3918%20320.675%2074.2859C320.857%2074.1799%20321.065%2074.1241%20321.276%2074.124C321.487%2074.1239%20321.695%2074.1795%20321.878%2074.2853L348.109%2089.3441C348.294%2089.4494%20348.447%2089.6013%20348.555%2089.7847C348.662%2089.968%20348.72%2090.1764%20348.722%2090.3889Z'%20fill='%23F9FBFC'/%3e%3cpath%20d='M365.824%2091.1697V112.384L350.729%20121.287'%20stroke='white'%20stroke-width='0.53'%20stroke-miterlimit='10'/%3e%3cpath%20d='M367.61%2089.6723C367.607%2090.0469%20367.494%2090.4125%20367.285%2090.7229C367.076%2091.0332%20366.779%2091.2746%20366.433%2091.4164C366.086%2091.5582%20365.706%2091.5941%20365.339%2091.5197C364.973%2091.4452%20364.636%2091.2637%20364.373%2090.998C364.109%2090.7323%20363.93%2090.3944%20363.857%2090.0268C363.785%2089.6592%20363.823%2089.2785%20363.967%2088.9326C364.111%2088.5867%20364.354%2088.2912%20364.665%2088.0833C364.976%2087.8754%20365.342%2087.7644%20365.716%2087.7644C365.965%2087.7644%20366.213%2087.8138%20366.443%2087.9098C366.674%2088.0059%20366.883%2088.1466%20367.059%2088.3239C367.235%2088.5012%20367.374%2088.7116%20367.469%2088.943C367.563%2089.1745%20367.611%2089.4223%20367.61%2089.6723V89.6723Z'%20stroke='white'%20stroke-width='1.06'%20stroke-miterlimit='10'/%3e%3cpath%20d='M715.132%2070.3542V91.5684L700.048%20100.472'%20stroke='white'%20stroke-width='0.53'%20stroke-miterlimit='10'/%3e%3cpath%20d='M715.031%2070.7535C716.077%2070.7535%20716.925%2069.9044%20716.925%2068.857C716.925%2067.8096%20716.077%2066.9604%20715.031%2066.9604C713.985%2066.9604%20713.137%2067.8096%20713.137%2068.857C713.137%2069.9044%20713.985%2070.7535%20715.031%2070.7535Z'%20stroke='white'%20stroke-width='1.06'%20stroke-miterlimit='10'/%3e%3cpath%20opacity='0.35'%20d='M501.346%20238.069C501.346%20242.305%20495.959%20245.723%20489.313%20245.723C482.668%20245.723%20477.281%20242.316%20477.281%20238.069C477.281%20233.822%20482.668%20230.415%20489.313%20230.415C495.959%20230.415%20501.346%20233.844%20501.346%20238.069Z'%20fill='%23A6D0F4'/%3e%3cpath%20opacity='0.35'%20d='M512.446%20235.683C524.353%20235.683%20534.005%20229.541%20534.005%20221.964C534.005%20214.387%20524.353%20208.245%20512.446%20208.245C500.539%20208.245%20490.887%20214.387%20490.887%20221.964C490.887%20229.541%20500.539%20235.683%20512.446%20235.683Z'%20fill='%23A6D0F4'/%3e%3cpath%20d='M496.12%20218.762C496.369%20221.59%20499.023%20223.509%20501.416%20224.531C504.044%20225.625%20506.872%20226.151%20509.717%20226.076C512.634%20226.086%20515.516%20225.446%20518.155%20224.202C520.423%20223.066%20522.839%20221.056%20522.827%20218.297C522.827%20220.307%20522.691%20221.965%20521.251%20223.532C519.245%20225.467%20516.697%20226.743%20513.947%20227.189C508.799%20228.256%20501.79%20227.745%20497.877%20223.782C496.301%20222.192%20496.086%20220.511%20496.086%20218.387C496.087%20218.513%20496.098%20218.638%20496.12%20218.762Z'%20fill='%23ADCDFC'/%3e%3cpath%20d='M500.033%20213.627C494.793%20216.648%20494.759%20221.576%20499.965%20224.597C505.17%20227.618%20513.653%20227.618%20518.892%20224.597C524.132%20221.576%20524.143%20216.648%20518.892%20213.627C513.642%20210.606%20505.306%20210.595%20500.033%20213.627Z'%20fill='white'/%3e%3cpath%20d='M508.03%20209.526L508.053%20220.678L509.459%20221.495L509.425%20210.343L508.03%20209.526Z'%20fill='%23C7D8F2'/%3e%3cpath%20d='M509.424%20210.343L509.458%20221.495L510.864%20220.678L510.842%20209.526L509.424%20210.343Z'%20fill='%237BAEFF'/%3e%3cpath%20d='M507.375%20207.494L509.428%20208.687L511.48%20207.494L509.439%20206.313L507.375%20207.494Z'%20fill='%234DA5DC'/%3e%3cpath%20d='M522.735%20169.54C522.735%20169.54%20526.942%20172.016%20528.065%20174.537C529.188%20177.058%20528.881%20194.729%20523.007%20202.565C517.132%20210.401%20506.245%20211.514%20503.727%20210.401C501.21%20209.288%20486.716%20201.997%20485.582%20198.363C484.448%20194.729%20490.118%20191.924%20493.135%20190.527C496.152%20189.13%20498.159%20187.177%20499.837%20182.135C501.516%20177.092%20502.355%20168.427%20504.306%20167.019C506.256%20165.611%20510.974%20163.385%20522.735%20169.54Z'%20fill='black'/%3e%3cpath%20d='M501.9%20207.903C499.859%20206.994%20489.822%20201.986%20485.581%20198.204C484.673%20194.638%20490.117%20191.913%20493.156%20190.527C496.196%20189.142%20498.18%20187.177%20499.859%20182.135C501.537%20177.092%20502.376%20168.427%20504.327%20167.019C506.278%20165.611%20511.041%20163.385%20522.779%20169.54C524.031%20170.305%20525.204%20171.191%20526.283%20172.186C527.349%20175.116%20526.963%20192.356%20521.191%20200.067C515.418%20207.778%20504.372%20209.027%20501.9%20207.903Z'%20fill='%23232839'/%3e%3cpath%20d='M500.764%20171.451C500.764%20171.451%20499.517%20171.883%20498.587%20174.995C497.657%20178.106%20495.003%20183.728%20495.944%20186.215C496.885%20188.702%20499.675%20187.35%20500.48%20185.431C501.286%20183.512%20504.359%20174.904%20503.735%20173.62C503.112%20172.337%20502.012%20171.02%20500.764%20171.451Z'%20fill='%23113569'/%3e%3cpath%20d='M493.169%20235.204C492.983%20235.885%20492.725%20236.544%20492.398%20237.169C491.854%20238.225%20489.869%20239.633%20488.996%20240.349C488.123%20241.064%20487.125%20242.393%20487.238%20243.029C487.352%20243.665%20489.359%20243.824%20490.947%20243.472C492.534%20243.12%20493.918%20241.36%20494.349%20241.394C494.78%20241.428%20496.617%20241.098%20496.912%20240.497C497.207%20239.895%20496.674%20237.51%20496.674%20237.51V235.784L493.169%20235.204Z'%20fill='%23232839'/%3e%3cpath%20d='M485.391%20230.256C485.205%20230.937%20484.946%20231.596%20484.619%20232.221C484.075%20233.277%20482.09%20234.685%20481.217%20235.401C480.344%20236.116%20479.346%20237.445%20479.448%20238.081C479.55%20238.717%20481.58%20238.865%20483.168%20238.524C484.756%20238.183%20486.139%20236.412%20486.57%20236.446C487.001%20236.48%20488.782%20236.139%20489.133%20235.549C489.485%20234.958%20488.895%20232.562%20488.895%20232.562V230.836L485.391%20230.256Z'%20fill='%23232839'/%3e%3cpath%20d='M514.883%20195.924C514.944%20198.055%20514.368%20200.155%20513.227%20201.955C511.356%20204.658%20503.678%20211.517%20502.85%20212.176C502.022%20212.834%20501.807%20217.366%20500.979%20219.444C500.151%20221.522%20497.667%20235.025%20497.248%20236.07C497.248%20236.07%20496.828%20237.104%20493.925%20236.479C492.269%20236.274%20492.065%20235.65%20492.065%20235.65C492.065%20235.65%20493.097%20220.489%20493.925%20216.946C494.753%20213.402%20494.968%20209.473%20496.42%20208.019C497.871%20206.566%20504.925%20197.424%20504.925%20197.424L506.581%20194.721L514.883%20195.924Z'%20fill='%23113C7A'/%3e%3cpath%20d='M502.023%20192.609C502.023%20192.609%20490.818%20198.844%20489.253%20200.241C487.765%20201.546%20486.732%20203.292%20486.304%20205.226C486.179%20205.919%20485.057%20230.006%20484.592%20231.097C484.433%20232.039%20487.393%20232.652%20488.788%20232.232C489.34%20231.859%20489.817%20231.385%20490.194%20230.835C490.194%20230.835%20492.995%20216.344%20492.995%20214.312C493.253%20211.59%20493.67%20208.887%20494.243%20206.214L507.16%20198.889L508.09%20195.607L502.023%20192.609Z'%20fill='%23113C7A'/%3e%3cpath%20d='M514.479%20198.058C514.479%20198.058%20513.345%20201.181%20508.876%20200.704L507.311%20200.397L507.005%20197.899C505.435%20197.694%20503.939%20197.105%20502.65%20196.184C502.027%20196.502%20501.868%20198.058%20501.244%20198.217C500.62%20198.376%20499.532%20196.184%20499.849%20194.628C500.167%20193.073%20500.983%20193.697%20500.983%20193.697C500.983%20193.697%20513.696%20196.809%20514.479%20198.058Z'%20fill='%23112C5C'/%3e%3cpath%20d='M509.703%20169.839C509.703%20169.839%20515.033%20173.644%20515.555%20174.916C516.198%20177.281%20516.039%20179.794%20515.101%20182.059C513.967%20184.41%20514.409%20193.064%20513.967%20194.756C513.525%20196.448%20509.011%20197.027%20506.187%20196.436C503.363%20195.846%20499.961%20193.847%20500.063%20190.554C500.165%20187.26%20500.063%20181.116%20499.927%20179.64C499.769%20177.049%20500.006%20174.449%20500.63%20171.929C500.766%20171.407%20502.547%20170.85%20502.547%20170.85C502.547%20170.85%20504.452%20169.612%20509.703%20169.839Z'%20fill='%23C7BFCE'/%3e%3cpath%20d='M505.075%20169.122C505.082%20169.179%20505.082%20169.236%20505.075%20169.293C505.018%20169.679%20504.825%20170.678%20504.78%20171.098C504.734%20171.518%20505.199%20172.234%20506.277%20172.166C507.354%20172.098%20509.191%20171.689%20509.804%20170.406C509.776%20169.135%20509.837%20167.864%20509.985%20166.601L505.075%20169.122Z'%20fill='%23E16B40'/%3e%3cpath%20d='M509.84%20169.586C509.561%20170.356%20509.048%20171.018%20508.372%20171.479C507.696%20171.94%20506.892%20172.175%20506.075%20172.153H505.882L507.345%20174.515C508.388%20173.904%20509.371%20173.197%20510.282%20172.402C510.714%20171.884%20510.944%20171.226%20510.929%20170.551L509.84%20169.586Z'%20fill='white'/%3e%3cpath%20d='M505.891%20172.155L504.348%20173.62C504.348%20173.62%20503.214%20172.666%20503.906%20170.429L504.859%20170.043C504.842%20170.453%20504.928%20170.861%20505.108%20171.23C505.288%20171.598%20505.557%20171.916%20505.891%20172.155Z'%20fill='white'/%3e%3cpath%20d='M502.807%20161.739C503.374%20158.696%20505.778%20156.97%20508.478%20157.606C509.364%20157.723%20510.211%20158.046%20510.952%20158.549C511.692%20159.051%20512.305%20159.72%20512.742%20160.502C514.046%20163.091%20512.129%20165.271%20510.893%20166.646C510.372%20167.213%20509.975%20167.645%20509.759%20167.929L509.487%20168.235C508.783%20168.942%20507.919%20169.467%20506.969%20169.769C506.403%20169.963%20505.796%20170.005%20505.208%20169.889C504.621%20169.774%20504.074%20169.505%20503.624%20169.11C502.83%20168.326%20502.24%20164.772%20502.807%20161.739Z'%20fill='%23FF8654'/%3e%3cpath%20d='M510.973%20170.552C510.973%20170.552%20511.767%20171.313%20510.712%20173.244C509.301%20175.976%20508.525%20178.992%20508.444%20182.068C508.353%20185.713%20507.877%20197.138%20508.354%20199.636C509.306%20200.499%20513.911%20199.727%20515.249%20197.433C515.827%20194.026%20515.544%20183.896%20516.213%20181.784C516.77%20179.485%20516.801%20177.089%20516.303%20174.777C515.759%20173.72%20512.107%20170.836%20510.973%20170.552Z'%20fill='%23113C7A'/%3e%3cpath%20d='M503.521%20170.486C502.951%20172.788%20502.691%20175.156%20502.75%20177.527C502.75%20181.309%20501.673%20196.981%20501.48%20197.299C501.287%20197.617%20499.053%20195.641%20498.985%20193.336C498.917%20191.03%20499.756%20176.891%20499.881%20175.483C499.954%20174.099%20500.257%20172.736%20500.777%20171.452C501.655%20171.034%20502.575%20170.711%20503.521%20170.486Z'%20fill='%23113C7A'/%3e%3cpath%20d='M504.631%20172.927L505.323%20174.38L506.775%20173.233L505.89%20172.154L504.631%20172.927Z'%20fill='%23113C7A'/%3e%3cpath%20d='M505.02%20173.472C505.02%20173.472%20503.648%20191.018%20503.648%20191.779L504.566%20193.392L505.791%20192.086L506.245%20173.325L505.02%20173.472Z'%20fill='%23113C7A'/%3e%3cpath%20d='M429.925%20232.455L427.396%20230.979L427.327%20201.997L429.856%20203.473L429.925%20232.455Z'%20fill='%238750CA'/%3e%3cpath%20d='M429.857%20203.473L427.327%20201.997L461.77%20182.078L464.31%20183.554L429.857%20203.473Z'%20fill='%23DBDBDB'/%3e%3cpath%20d='M464.311%20183.557L464.379%20212.539L429.925%20232.458L429.857%20203.476L464.311%20183.557Z'%20fill='%239966D7'/%3e%3cpath%20d='M432.321%20197.968L432.253%20226.95L501.296%20266.562L501.364%20237.58L432.321%20197.968Z'%20fill='%23A478D9'/%3e%3cpath%20d='M432.28%20214.174L501.334%20253.785L501.368%20237.58L432.325%20197.968L432.28%20214.174Z'%20fill='%238750CA'/%3e%3cpath%20d='M499.169%20269.379L496.629%20267.903L496.561%20238.921L499.101%20240.397L499.169%20269.379Z'%20fill='%238750CA'/%3e%3cpath%20d='M499.101%20240.396L496.561%20238.92L531.014%20219L533.543%20220.477L499.101%20240.396Z'%20fill='%23DBDBDB'/%3e%3cpath%20d='M533.54%20220.477L533.62%20249.459L499.166%20269.379L499.098%20240.397L533.54%20220.477Z'%20fill='%23976EC9'/%3e%3cpath%20d='M538.269%20219.725L538.258%20222.45L499.2%20245.175L499.211%20242.449L538.269%20219.725Z'%20fill='%238C57CC'/%3e%3cpath%20d='M499.209%20242.452L499.198%20245.178L421.558%20200.296L421.57%20197.571L499.209%20242.452Z'%20fill='%238750CA'/%3e%3cpath%20d='M538.271%20219.725L499.213%20242.45L421.573%20197.569L460.631%20174.833L538.271%20219.725Z'%20fill='%23B59AD7'/%3e%3cpath%20d='M515.975%20174.164C516.891%20175.111%20517.537%20176.288%20517.846%20177.571C518.674%20180.171%20519.195%20189.2%20519.195%20190.551C519.195%20191.903%20519.195%20193.47%20518.061%20194.197C517.814%20194.394%20517.526%20194.533%20517.218%20194.603C516.91%20194.674%20516.591%20194.674%20516.283%20194.604C515.974%20194.534%20515.686%20194.396%20515.438%20194.2C515.191%20194.004%20514.99%20193.754%20514.852%20193.47C514.126%20192.118%20513.604%20184.385%20513.083%20182.034C512.561%20179.683%20511.733%20177.253%20512.777%20175.697C513.081%20175.137%20513.554%20174.688%20514.128%20174.412C514.702%20174.137%20515.348%20174.05%20515.975%20174.164Z'%20fill='%23113C7A'/%3e%3cpath%20d='M504.164%20200.444C504.164%20200.444%20503.643%20200.807%20503.382%20200.966L501.669%20202.102C501.213%20202.58%20500.831%20203.123%20500.535%20203.714C500.238%20204.183%20500.058%20204.717%20500.014%20205.27C500.116%20205.531%20500.433%20205.372%20500.433%20205.372C500.74%20205.713%20501.167%20205.921%20501.624%20205.952C502.248%20205.895%20502.758%20205.123%20502.758%20205.123L503.643%20204.339C503.999%20203.943%20504.279%20203.485%20504.471%20202.987L505.094%20202.567C505.094%20202.567%20505.593%20202.056%20504.164%20200.444Z'%20fill='%23FF8654'/%3e%3cpath%20d='M506.141%20202.194C506.141%20202.194%20505.495%20200.343%20504.723%20199.923L503.839%20200.548C504.394%20201.202%20504.783%20201.981%20504.973%20202.819L506.141%20202.194Z'%20fill='white'/%3e%3cpath%20d='M506.146%20202.194C506.701%20202.144%20507.236%20201.965%20507.711%20201.672C509.092%20200.65%20510.539%20199.72%20512.043%20198.89C514.059%20197.967%20515.943%20196.779%20517.645%20195.358C518.603%20194.428%20519.161%20193.161%20519.199%20191.826C518.785%20191.287%20518.202%20190.902%20517.545%20190.734C516.887%20190.565%20516.192%20190.622%20515.57%20190.895C513.527%20191.854%20511.639%20193.113%20509.967%20194.631C508.096%20196.187%20504.909%20199.287%20504.909%20199.287L504.365%20199.934C504.805%20200.164%20505.19%20200.484%20505.497%20200.873C505.804%20201.263%20506.025%20201.713%20506.146%20202.194Z'%20fill='%23113C7A'/%3e%3cpath%20d='M502.908%20161.207C502.625%20160.774%20502.43%20160.289%20502.337%20159.78C502.243%20159.271%20502.252%20158.748%20502.364%20158.243C502.794%20156.71%20504.768%20157.368%20505.868%20157.255C506.968%20157.141%20511.232%20157.255%20512.672%20159.117C514.113%20160.98%20513.444%20161.865%20513.444%20161.865C513.557%20162.754%20513.444%20163.656%20513.115%20164.489C512.559%20165.693%20509.78%20167.896%20509.78%20167.896C510.514%20167.003%20511.086%20165.988%20511.47%20164.898C511.584%20163.91%20511.028%20163.365%20510.699%20163.58C510.37%20163.796%20510.155%20165.659%20510.155%20165.659L510.007%20166.567C509.281%20166.317%20509.497%20164.784%20509.497%20164.784C509.153%20164.282%20508.896%20163.725%20508.737%20163.137C508.51%20162.263%20508.408%20161.831%20507.524%20161.389C506.859%20160.904%20506.065%20160.628%20505.243%20160.595C504.422%20160.563%20503.609%20160.776%20502.908%20161.207Z'%20fill='%23505E83'/%3e%3cpath%20d='M484.475%20177.56C484.475%20177.56%20483.92%20177.265%20483.659%20177.094C483.398%20176.924%20482.4%20176.333%20481.912%20176.061C481.282%20175.859%20480.624%20175.756%20479.962%20175.754C479.41%20175.706%20478.855%20175.788%20478.34%20175.993C478.158%20176.209%20478.442%20176.413%20478.442%20176.413C478.266%20176.838%20478.266%20177.316%20478.442%20177.742C478.763%20178.105%20479.208%20178.336%20479.689%20178.389L480.824%20178.821C481.335%20178.967%20481.871%20179.013%20482.4%20178.957L483.046%20179.332C483.046%20179.332%20483.659%20179.536%20484.475%20177.56Z'%20fill='%23FF8654'/%3e%3cpath%20d='M483.761%20180.083C483.761%20180.083%20485.111%20178.675%20485.179%20177.812L484.226%20177.301C483.899%20178.084%20483.394%20178.78%20482.752%20179.334L483.761%20180.083Z'%20fill='white'/%3e%3cpath%20d='M483.754%20180.082C484.039%20180.544%20484.427%20180.932%20484.888%20181.217C486.42%20181.998%20487.901%20182.875%20489.323%20183.841C491.051%20185.227%20492.958%20186.373%20494.993%20187.248C496.254%20187.688%20497.637%20187.619%20498.849%20187.055C499.143%20186.442%20499.225%20185.749%20499.081%20185.084C498.937%20184.42%20498.576%20183.822%20498.055%20183.387C496.274%20181.992%20494.299%20180.867%20492.192%20180.048C489.924%20179.082%20485.773%20177.617%20485.773%20177.617L484.956%20177.424C484.955%20177.927%20484.847%20178.424%20484.64%20178.882C484.433%20179.34%20484.131%20179.749%20483.754%20180.082Z'%20fill='%23113569'/%3e%3cpath%20d='M501.324%20223.795L509.206%20228.383L521.964%20221.002L514.082%20216.414L501.324%20223.795Z'%20fill='%238C57CC'/%3e%3cpath%20d='M499.872%20221.066V223.02L507.765%20227.608L507.754%20225.654L499.872%20221.066Z'%20fill='%23CBDCEB'/%3e%3cpath%20d='M507.752%20225.656L507.763%20227.609L520.521%20220.228V218.274L507.752%20225.656Z'%20fill='%23A6D0F4'/%3e%3cpath%20d='M499.872%20221.065L507.754%20225.653L520.523%20218.271L512.63%20213.683L499.872%20221.065Z'%20fill='white'/%3e%3cpath%20d='M447.361%20200.377L455.254%20204.965L468.013%20197.594L460.12%20192.995L447.361%20200.377Z'%20fill='%238C57CC'/%3e%3cpath%20d='M445.913%20197.652L445.924%20199.605L453.806%20204.193V202.24L445.913%20197.652Z'%20fill='%23CBDCEB'/%3e%3cpath%20d='M453.801%20202.236V204.189L466.571%20196.818L466.559%20194.854L453.801%20202.236Z'%20fill='%23A6D0F4'/%3e%3cpath%20d='M445.913%20197.654L453.806%20202.242L466.564%20194.86L458.682%20190.272L445.913%20197.654Z'%20fill='white'/%3e%3cpath%20d='M490.068%20214.659L497.961%20219.247L510.719%20211.865L502.837%20207.277L490.068%20214.659Z'%20fill='white'/%3e%3cpath%20d='M496.942%20205.938C498.746%20206.983%20498.746%20208.663%20496.942%20209.708L485.397%20216.42C484.39%20216.935%20483.274%20217.204%20482.142%20217.204C481.011%20217.204%20479.895%20216.935%20478.888%20216.42L467.275%20209.708C465.471%20208.663%20465.46%20206.971%20467.275%20205.938L478.82%20199.215C479.825%20198.699%20480.939%20198.431%20482.069%20198.431C483.199%20198.431%20484.312%20198.699%20485.318%20199.215L496.942%20205.938Z'%20fill='%238C57CC'/%3e%3cpath%20d='M486.649%20207.686C486.634%20207.719%20486.615%20207.749%20486.592%20207.777L486.512%20207.856H486.456L486.376%20207.913L481.591%20210.571L476.419%20207.584V207.947L481.591%20210.934L486.376%20208.265H486.433H486.49L486.547%20208.208C486.547%20208.208%20486.547%20208.208%20486.547%20208.152V208.061V207.538C486.594%20207.577%20486.629%20207.628%20486.649%20207.686Z'%20fill='%23BAC0D2'/%3e%3cpath%20d='M486.392%20207.21C486.767%20207.426%20486.755%20207.766%20486.392%20207.982L481.606%20210.64L476.435%20207.653L480.484%20204.575C480.69%20204.466%20480.92%20204.409%20481.153%20204.409C481.386%20204.409%20481.616%20204.466%20481.822%20204.575L486.392%20207.21Z'%20fill='white'/%3e%3cpath%20d='M493.476%20195.894C493.905%20196.175%20494.21%20196.61%20494.327%20197.109L496.799%20213.78C496.867%20214.212%20496.584%20214.382%20496.187%20214.144L470.931%20199.585C470.499%20199.307%20470.193%20198.871%20470.08%20198.37L467.608%20181.698C467.54%20181.267%20467.812%20181.096%20468.22%20181.335L493.476%20195.894Z'%20fill='%23C7C9D7'/%3e%3cpath%20d='M497.204%20213.625V213.5L494.72%20196.829V196.658V196.522V196.374L494.641%20196.272L469.385%20181.656H468.976H468.908L468.511%20181.952H468.591C468.628%20181.946%20468.667%20181.946%20468.704%20181.952H468.84C468.897%20181.964%20468.951%20181.987%20468.999%20182.02L494.255%20196.636L494.403%20196.738L494.55%20196.863L494.686%20197.01L494.8%20197.169L494.902%20197.34L494.992%20197.51C494.997%20197.571%20494.997%20197.631%20494.992%20197.692C494.997%20197.745%20494.997%20197.798%20494.992%20197.851L497.465%20214.522C497.47%20214.568%20497.47%20214.613%20497.465%20214.658C497.47%20214.696%20497.47%20214.734%20497.465%20214.772C497.47%20214.795%20497.47%20214.818%20497.465%20214.84C497.444%20214.875%20497.417%20214.906%20497.385%20214.931L497.794%20214.636C497.825%20214.614%20497.849%20214.582%20497.862%20214.545V214.454L497.204%20213.625Z'%20fill='white'/%3e%3cpath%20opacity='0.2'%20d='M479.477%20205.318L476.415%20207.658L481.587%20210.645L485.204%20208.634L479.477%20205.318Z'%20fill='%23777DB2'/%3e%3cpath%20d='M482.675%20200.386L481.586%20211.028L476.404%20208.029L478.422%20198.058L482.675%20200.386Z'%20fill='%23BAC0D2'/%3e%3cpath%20d='M497.444%20233.936L500.313%20232.346L496.264%20230.245L497.444%20233.936Z'%20fill='%238C57CC'/%3e%3cpath%20d='M498.329%20229.19L499.123%20228.906L498.238%20233.653L497.445%20233.937L498.329%20229.19Z'%20fill='%23656874'/%3e%3cpath%20d='M485.4%20221.944L486.182%20221.66L499.122%20228.905L498.328%20229.189L485.4%20221.944Z'%20fill='%239C9EA6'/%3e%3cpath%20d='M498.329%20229.189L497.444%20233.936L484.516%20226.69L485.4%20221.943L498.329%20229.189Z'%20fill='%23232839'/%3e%3cpath%20d='M452.76%20189.871C453.894%20190.507%20453.894%20191.529%20452.76%20192.143C452.147%20192.456%20451.469%20192.619%20450.781%20192.619C450.093%20192.619%20449.415%20192.456%20448.802%20192.143C448.572%20192.055%20448.374%20191.9%20448.235%20191.697C448.095%20191.494%20448.02%20191.253%20448.02%20191.007C448.02%20190.761%20448.095%20190.52%20448.235%20190.317C448.374%20190.115%20448.572%20189.959%20448.802%20189.871C449.414%20189.556%20450.093%20189.391%20450.781%20189.391C451.47%20189.391%20452.148%20189.556%20452.76%20189.871Z'%20fill='%238C57CC'/%3e%3cpath%20d='M453.137%20184.219V190.442C453.116%20190.67%20453.034%20190.888%20452.9%20191.074C452.767%20191.26%20452.586%20191.406%20452.377%20191.498C451.806%20191.789%20451.175%20191.941%20450.534%20191.941C449.893%20191.941%20449.262%20191.789%20448.691%20191.498C448.48%20191.405%20448.297%20191.257%20448.161%20191.069C448.026%20190.882%20447.942%20190.661%20447.92%20190.431V184.196C447.938%20184.429%20448.02%20184.653%20448.156%20184.843C448.291%20185.033%20448.477%20185.183%20448.691%20185.275C449.262%20185.566%20449.893%20185.718%20450.534%20185.718C451.175%20185.718%20451.806%20185.566%20452.377%20185.275C452.586%20185.183%20452.767%20185.036%20452.9%20184.85C453.034%20184.665%20453.116%20184.447%20453.137%20184.219Z'%20fill='white'/%3e%3cpath%20d='M452.321%20183.137C453.342%20183.727%20453.353%20184.681%20452.321%20185.272C451.751%20185.563%20451.119%20185.715%20450.479%20185.715C449.838%20185.715%20449.206%20185.563%20448.636%20185.272C447.615%20184.681%20447.604%20183.727%20448.636%20183.137C449.206%20182.846%20449.838%20182.694%20450.479%20182.694C451.119%20182.694%20451.751%20182.846%20452.321%20183.137Z'%20fill='%23CBDCEB'/%3e%3cpath%20d='M451.925%20183.375C452.098%20183.434%20452.249%20183.545%20452.356%20183.694C452.463%20183.842%20452.52%20184.021%20452.52%20184.204C452.52%20184.387%20452.463%20184.566%20452.356%20184.715C452.249%20184.864%20452.098%20184.975%20451.925%20185.033C451.479%20185.262%20450.986%20185.382%20450.485%20185.382C449.984%20185.382%20449.49%20185.262%20449.044%20185.033C448.871%20184.975%20448.72%20184.864%20448.613%20184.715C448.506%20184.566%20448.449%20184.387%20448.449%20184.204C448.449%20184.021%20448.506%20183.842%20448.613%20183.694C448.72%20183.545%20448.871%20183.434%20449.044%20183.375C449.489%20183.144%20449.983%20183.024%20450.485%20183.024C450.986%20183.024%20451.48%20183.144%20451.925%20183.375Z'%20fill='%238C57CC'/%3e%3cpath%20d='M448.471%20184.387C447.988%20182.685%20447.397%20181.016%20446.701%20179.39C446.701%20178.811%20447.904%20179.503%20448.357%20180.582C448.747%20181.722%20449.043%20182.892%20449.242%20184.08C449.242%20184.08%20449.162%20178.504%20450.126%20177.266C450.739%20177.425%20450.365%20183.546%20450.285%20184.012C450.285%20184.012%20452.202%20179.924%20453.472%20179.083C454.05%20179.151%20451.623%20184.194%20451.623%20184.194C451.917%20183.646%20452.317%20183.163%20452.8%20182.773C453.283%20182.383%20453.839%20182.094%20454.436%20181.922C453.824%20182.822%20453.158%20183.683%20452.44%20184.5C452.151%20184.839%20451.776%20185.092%20451.355%20185.234C450.933%20185.376%20450.481%20185.401%20450.047%20185.307C449.73%20185.292%20449.421%20185.2%20449.146%20185.04C448.872%20184.88%20448.64%20184.656%20448.471%20184.387Z'%20fill='%234CA15C'/%3e%3cpath%20d='M562.062%20231.844C564.762%20233.411%20564.773%20235.933%20562.062%20237.523C560.558%20238.292%20558.892%20238.693%20557.203%20238.693C555.513%20238.693%20553.848%20238.292%20552.343%20237.523C549.644%20235.978%20549.633%20233.446%20552.343%20231.844C553.848%20231.076%20555.514%20230.675%20557.203%20230.675C558.892%20230.675%20560.558%20231.076%20562.062%20231.844Z'%20fill='%23A6D0F4'/%3e%3cpath%20d='M562.872%20217.955V233.241C562.822%20233.8%20562.625%20234.335%20562.3%20234.792C561.975%20235.249%20561.534%20235.612%20561.023%20235.841C559.619%20236.56%20558.064%20236.935%20556.487%20236.935C554.91%20236.935%20553.355%20236.56%20551.95%20235.841C551.43%20235.609%20550.98%20235.241%20550.649%20234.775C550.318%20234.31%20550.117%20233.764%20550.068%20233.195V217.909C550.119%20218.478%20550.32%20219.023%20550.651%20219.488C550.982%20219.953%20551.43%20220.322%20551.95%20220.555C553.354%20221.276%20554.909%20221.652%20556.487%20221.652C558.064%20221.652%20559.619%20221.276%20561.023%20220.555C561.534%20220.325%20561.974%20219.962%20562.298%20219.505C562.623%20219.048%20562.821%20218.513%20562.872%20217.955Z'%20fill='%23CBDCEB'/%3e%3cpath%20d='M560.975%20215.31C563.493%20216.764%20563.504%20219.114%20560.975%20220.557C559.571%20221.277%20558.016%20221.653%20556.439%20221.653C554.861%20221.653%20553.306%20221.277%20551.902%20220.557C549.396%20219.103%20549.385%20216.752%20551.902%20215.31C553.306%20214.588%20554.861%20214.211%20556.439%20214.211C558.016%20214.211%20559.572%20214.588%20560.975%20215.31Z'%20fill='white'/%3e%3cpath%20d='M559.976%20215.889C561.938%20217.024%20561.949%20218.853%20559.976%20219.977C558.883%20220.532%20557.674%20220.821%20556.449%20220.821C555.223%20220.821%20554.015%20220.532%20552.922%20219.977C550.971%20218.841%20550.96%20217.013%20552.922%20215.889C554.015%20215.332%20555.223%20215.042%20556.449%20215.042C557.675%20215.042%20558.883%20215.332%20559.976%20215.889Z'%20fill='%23713336'/%3e%3cpath%20d='M551.538%20218.388C551.538%20218.388%20548.328%20207.701%20547.194%20206.1C547.194%20204.68%20550.12%20206.384%20551.254%20209.03C552.211%20211.836%20552.939%20214.715%20553.432%20217.638C553.432%20217.638%20553.239%20203.92%20555.598%20200.899C557.106%20201.273%20556.165%20216.31%20555.983%20217.445C555.983%20217.445%20560.701%20207.417%20563.82%20205.339C565.226%20205.532%20559.284%20217.911%20559.284%20217.911C559.284%20217.911%20561.733%20213.289%20566.179%20212.437C564.671%20214.643%20563.031%20216.755%20561.268%20218.763C561.268%20218.763%20559.658%20221.227%20555.416%20220.75C555.416%20220.75%20552.479%20220.568%20551.538%20218.388Z'%20fill='%234CA15C'/%3e%3cpath%20opacity='0.35'%20d='M428.648%20256.795C428.648%20263.609%20437.358%20269.173%20448.097%20269.173C458.837%20269.173%20467.547%20263.631%20467.547%20256.795C467.547%20249.958%20458.837%20244.427%20448.097%20244.427C437.358%20244.427%20428.648%20249.958%20428.648%20256.795Z'%20fill='%23A6D0F4'/%3e%3cpath%20d='M456.241%20259.475C456.241%20259.475%20455.47%20262.564%20455.935%20263.189C456.315%20263.558%20456.784%20263.824%20457.297%20263.959C457.809%20264.094%20458.348%20264.095%20458.861%20263.961C459.652%20263.615%20460.306%20263.016%20460.721%20262.258C461.912%20261.589%20463.004%20260.755%20463.964%20259.782C464.143%20259.534%20464.239%20259.236%20464.239%20258.93C464.239%20258.624%20464.143%20258.326%20463.964%20258.078C463.084%20257.992%20462.196%20258.046%20461.333%20258.237C460.284%20258.536%20459.254%20258.896%20458.248%20259.316L456.241%20259.475Z'%20fill='%23232839'/%3e%3cpath%20d='M448.361%20255.136C448.361%20255.136%20447.59%20258.237%20448.055%20258.85C448.433%20259.223%20448.902%20259.491%20449.415%20259.627C449.929%20259.762%20450.469%20259.761%20450.981%20259.622C451.772%20259.276%20452.426%20258.677%20452.841%20257.919C454.033%20257.25%20455.125%20256.417%20456.085%20255.443C456.264%20255.195%20456.36%20254.897%20456.36%20254.591C456.36%20254.285%20456.264%20253.987%20456.085%20253.74C455.205%20253.66%20454.318%20253.714%20453.453%20253.899C452.403%20254.213%20451.373%20254.592%20450.369%20255.034L448.361%20255.136Z'%20fill='%23232839'/%3e%3cpath%20d='M472.03%20209.904L462.31%20219.841L452.864%20217.388L462.583%20207.451L472.03%20209.904Z'%20fill='white'/%3e%3cpath%20d='M461.593%20210.515L462.523%20210.867C462.912%20210.584%20463.363%20210.398%20463.838%20210.323C464.313%20210.248%20464.799%20210.286%20465.256%20210.435L466.027%20209.799C465.284%20209.561%20464.495%20209.501%20463.725%20209.625C462.954%20209.75%20462.224%20210.054%20461.593%20210.515Z'%20fill='%23E2EDFF'/%3e%3cpath%20d='M461.47%20210.605C460.563%20211.412%20460.62%20212.365%20461.538%20212.933L462.332%20212.275C461.913%20211.923%20461.924%20211.412%20462.4%20210.957L461.47%20210.605Z'%20fill='%23E2EDFF'/%3e%3cpath%20d='M461.661%20213.004L461.967%20213.141C462.702%20213.372%20463.48%20213.431%20464.241%20213.313C465.002%20213.195%20465.726%20212.903%20466.356%20212.459L465.426%20212.107C465.037%20212.373%20464.593%20212.547%20464.128%20212.616C463.662%20212.685%20463.187%20212.647%20462.738%20212.505L462.443%20212.357L461.661%20213.004Z'%20fill='%233EABFF'/%3e%3cpath%20d='M465.441%20210.516C466.099%20210.857%20466.156%20211.493%20465.555%20212.015L466.485%20212.367C467.505%20211.493%20467.381%20210.414%20466.224%20209.869L465.441%20210.516Z'%20fill='%233EABFF'/%3e%3cpath%20d='M454.053%20241.784C453.679%20244.838%20452.148%20252.856%20451.898%20255.65C451.898%20255.65%20451.263%20256.672%20449.358%20256.422L448.451%20256.036C448.273%20255.966%20448.124%20255.839%20448.027%20255.674C447.93%20255.509%20447.892%20255.317%20447.918%20255.128C448.277%20252.562%20448.417%20249.971%20448.337%20247.382C448.152%20245.793%20448.326%20244.182%20448.848%20242.669C448.779%20241.715%20448.655%20238.411%20450.56%20237.525C450.56%20237.525%20455.232%20236.662%20454.053%20241.784Z'%20fill='%23113569'/%3e%3cpath%20d='M450.171%20238.92L450.681%20239.93C450.681%20239.93%20458.495%20240.316%20460.593%20242.611C461.338%20242.936%20461.951%20243.506%20462.33%20244.226C462.709%20244.946%20462.833%20245.774%20462.68%20246.574C462.294%20249.629%20459.709%20256.988%20459.448%20259.793C459.448%20259.793%20458.813%20260.804%20456.907%20260.554L456.011%20260.179C455.833%20260.106%20455.683%20259.977%20455.585%20259.811C455.487%20259.645%20455.445%20259.451%20455.467%20259.259C455.825%20256.694%20455.969%20254.103%20455.898%20251.514C455.707%20249.928%20455.881%20248.32%20456.408%20246.812C453.973%20247.309%20451.588%20248.032%20449.286%20248.97C445.601%20250.503%20442.425%20248.72%20441.03%20247.948C440.34%20247.607%20439.696%20247.18%20439.114%20246.676C437.859%20246.591%20436.665%20246.101%20435.711%20245.279C434.056%20243.882%20433.806%20240.192%20435.587%20238.022C437.367%20235.853%20450.171%20238.92%20450.171%20238.92Z'%20fill='%23113C7A'/%3e%3cpath%20d='M447.385%20219.567C447.385%20219.567%20447.147%20219.567%20447.226%20217.898C447.333%20217.17%20447.575%20216.469%20447.941%20215.831C447.941%20215.831%20445.287%20214.003%20443.155%20214.514C442.456%20215.949%20441.503%20217.246%20440.342%20218.341C440.342%20218.341%20441.533%20221.487%20447.385%20219.567Z'%20fill='%23FF8654'/%3e%3cpath%20d='M444.618%20220.518C444.618%20220.518%20439.946%20216.611%20438.948%20216.52C438.305%20216.397%20437.64%20216.527%20437.091%20216.882C436.542%20217.238%20436.151%20217.791%20435.999%20218.428C435.83%20219.054%20435.868%20219.717%20436.107%20220.319C436.347%20220.921%20436.774%20221.429%20437.326%20221.767C438.188%20222.244%20445.718%20225.867%20447.056%20225.867C447.366%20225.894%20447.676%20225.828%20447.948%20225.678C448.22%20225.528%20448.441%20225.3%20448.583%20225.024C448.725%20224.747%20448.782%20224.435%20448.747%20224.126C448.711%20223.817%20448.585%20223.526%20448.383%20223.289C447.578%20221.858%20444.618%20220.518%20444.618%20220.518Z'%20fill='%23113569'/%3e%3cpath%20d='M443.189%20217.922C443.189%20217.922%20448.144%20219.569%20449.539%20221.863C450.934%20224.157%20450.673%20226.701%20449.675%20230.267C448.677%20233.832%20450.685%20237.012%20450.174%20238.92C449.664%20240.828%20446.114%20242.611%20440.898%20241.714C435.681%20240.817%20435.307%20238.795%20434.932%20237.648C434.558%20236.501%20435.942%20231.027%20434.672%20226.576C434.209%20225.124%20434.176%20223.569%20434.579%20222.099C434.982%20220.63%20435.802%20219.309%20436.94%20218.297C437.983%20217.536%20440.013%20216.525%20443.189%20217.922Z'%20fill='%23113C7A'/%3e%3cpath%20d='M447.931%20220.036C447.931%20220.036%20446.593%20220.899%20443.259%20220.422C439.924%20219.945%20439.732%20217.561%20440.015%20217.368C440.333%20217.079%20440.622%20216.759%20440.877%20216.414C440.877%20216.414%20444.404%20218.038%20445.64%20218.515C446.876%20218.992%20447.546%20219.275%20447.546%20219.275L447.931%20220.036Z'%20fill='white'/%3e%3cpath%20d='M433.505%20262.056C433.675%20263.975%20435.489%20265.292%20437.122%20265.997C438.92%20266.735%20440.851%20267.091%20442.793%20267.041C444.784%20267.049%20446.751%20266.615%20448.554%20265.769C450.108%20265.008%20451.752%20263.623%20451.741%20261.738C451.815%20262.376%20451.758%20263.023%20451.572%20263.638C451.387%20264.254%20451.078%20264.824%20450.663%20265.315C449.293%20266.629%20447.557%20267.497%20445.685%20267.802C442.169%20268.529%20437.383%20268.177%20434.718%20265.531C434.262%20265.04%20433.916%20264.456%20433.705%20263.819C433.493%20263.182%20433.421%20262.507%20433.493%20261.84C433.493%20261.84%20433.493%20261.931%20433.505%20262.056Z'%20fill='%23ADCDFC'/%3e%3cpath%20d='M436.181%20257.981C432.609%20260.048%20432.586%20263.398%20436.181%20265.465C438.18%20266.484%20440.391%20267.015%20442.634%20267.015C444.877%20267.015%20447.088%20266.484%20449.087%20265.465C452.659%20263.398%20452.671%20260.048%20449.087%20257.981C447.089%20256.96%20444.877%20256.427%20442.634%20256.427C440.391%20256.427%20438.179%20256.96%20436.181%20257.981Z'%20fill='white'/%3e%3cpath%20d='M440.983%20253.808L441.005%20261.791L442.4%20262.598L442.378%20254.614L440.983%20253.808Z'%20fill='%23C7D8F2'/%3e%3cpath%20d='M442.377%20254.614L442.4%20262.598L443.806%20261.791L443.784%20253.808L442.377%20254.614Z'%20fill='%237BAEFF'/%3e%3cpath%20d='M440.983%20253.808L442.378%20254.614L443.784%20253.808L442.389%20252.99L440.983%20253.808Z'%20fill='%234DA5DC'/%3e%3cpath%20d='M424.542%20224.136C424.549%20223.878%20424.616%20223.626%20424.739%20223.399C424.862%20223.172%20425.037%20222.977%20425.249%20222.831C425.462%20222.685%20425.706%20222.591%20425.961%20222.557C426.217%20222.524%20426.477%20222.551%20426.719%20222.637C431.256%20224.238%20441.905%20230.439%20442.597%20231.722C443.288%20233.006%20445.307%20240.16%20446.316%20243.749C446.386%20243.991%20446.509%20244.213%20446.677%20244.4C446.846%20244.586%20447.055%20244.732%20447.288%20244.825C447.521%20244.918%20447.772%20244.957%20448.023%20244.938C448.273%20244.918%20448.516%20244.842%20448.732%20244.714L455.049%20240.989C455.317%20240.828%20455.626%20240.748%20455.938%20240.757C456.251%20240.766%20456.554%20240.866%20456.812%20241.043C457.07%20241.22%20457.272%20241.467%20457.394%20241.756C457.516%20242.044%20457.552%20242.362%20457.499%20242.67L456.489%20248.769C456.448%20249.006%20456.354%20249.231%20456.214%20249.427C456.075%20249.624%20455.894%20249.787%20455.684%20249.904L448.88%20253.8C447.018%20254.868%20444.922%20255.459%20442.777%20255.521C440.632%20255.582%20438.505%20255.112%20436.586%20254.152L431.381%20251.54C426.844%20249.268%20424.02%20243.056%20424.202%20237.912L424.542%20224.136Z'%20fill='%233278CC'/%3e%3cpath%20d='M442.574%20231.776C443.209%20233.06%20445.285%20240.214%20446.294%20243.803C446.363%20244.045%20446.487%20244.267%20446.655%20244.454C446.824%20244.64%20447.032%20244.786%20447.266%20244.879C447.499%20244.972%20447.75%20245.011%20448%20244.991C448.251%20244.972%20448.493%20244.896%20448.71%20244.768L455.027%20241.043C455.295%20240.882%20455.604%20240.801%20455.916%20240.811C456.229%20240.82%20456.532%20240.919%20456.79%20241.096C457.048%20241.273%20457.25%20241.521%20457.372%20241.809C457.493%20242.098%20457.53%20242.415%20457.476%20242.724L456.467%20248.822C456.443%20248.96%20456.401%20249.093%20456.342%20249.22L456.093%20249.606C455.971%20249.751%20455.825%20249.874%20455.662%20249.969L448.857%20253.865C447.456%20254.668%20445.918%20255.203%20444.321%20255.443C438.843%20251.185%20439.535%20233.412%20441.52%20231.913C441.758%20231.731%20442.022%20231.586%20442.302%20231.481C442.407%20231.565%20442.499%20231.665%20442.574%20231.776Z'%20fill='%233AAEEF'/%3e%3cpath%20d='M455.052%20225.713C455.052%20225.713%20449.619%20221.068%20448.667%20220.966C447.533%20220.875%20446.591%20222.635%20446.206%20224.259C446.038%20224.886%20446.078%20225.55%20446.319%20226.152C446.56%20226.754%20446.99%20227.261%20447.544%20227.598C448.406%20228.075%20455.936%20231.709%20457.263%20231.709C457.625%20231.697%20457.978%20231.596%20458.29%20231.415C458.603%20231.233%20458.867%20230.977%20459.056%20230.669C459.246%20230.361%20459.357%20230.01%20459.378%20229.648C459.4%20229.287%20459.332%20228.926%20459.18%20228.597C458.318%20227.189%20455.052%20225.713%20455.052%20225.713Z'%20fill='%23113C7A'/%3e%3cpath%20d='M461.368%20220.179C461.498%20219.92%20461.593%20219.645%20461.652%20219.362C461.581%20218.857%20461.581%20218.345%20461.652%20217.84C461.844%20217.079%20462.173%20216.409%20462.321%20215.875C462.695%20215.398%20463.035%20216.261%20462.752%20217.011C462.468%20217.76%20462.559%20218.146%20462.842%20218.203C463.523%20218.007%20464.145%20217.648%20464.657%20217.158C464.986%20216.772%20466.925%20214.887%20467.084%20215.148C467.243%20215.409%20467.277%20215.625%20466.608%20216.341C466.21%20216.689%20465.886%20217.114%20465.655%20217.59C465.625%20217.918%20465.545%20218.24%20465.417%20218.544C465.179%20219.112%20465.417%20219.498%20464.94%20220.02C464.464%20220.543%20463.704%20220.633%20463.319%20220.974L462.933%20221.304L461.368%20220.179Z'%20fill='%23FFAA83'/%3e%3cpath%20d='M457.265%20231.727C457.911%20231.803%20458.564%20231.662%20459.122%20231.327C459.68%20230.992%20460.111%20230.482%20460.35%20229.876C461.427%20227.605%20463.276%20221.665%20463.525%20221.097C463.317%20220.678%20462.992%20220.329%20462.59%20220.091C462.187%20219.853%20461.724%20219.737%20461.257%20219.757C461.257%20219.757%20459.477%20223.255%20458.456%20224.857C457.435%20226.458%20453.863%20231.091%20457.265%20231.727Z'%20fill='%23113C7A'/%3e%3cpath%20d='M450.551%20210.085C450.551%20211.163%20450.232%20212.217%20449.634%20213.113C449.036%20214.01%20448.186%20214.709%20447.191%20215.121C446.196%20215.534%20445.102%20215.642%20444.046%20215.431C442.99%20215.221%20442.02%20214.702%20441.259%20213.94C440.497%20213.177%20439.979%20212.206%20439.769%20211.148C439.559%20210.091%20439.667%20208.995%20440.079%20207.999C440.491%20207.003%20441.188%20206.151%20442.083%20205.552C442.979%20204.953%20444.031%20204.634%20445.108%20204.634C445.823%20204.632%20446.532%20204.772%20447.193%20205.046C447.854%20205.319%20448.455%20205.721%20448.96%20206.227C449.466%20206.734%20449.867%20207.335%20450.14%20207.997C450.413%20208.659%20450.553%20209.369%20450.551%20210.085Z'%20fill='%23FF8654'/%3e%3cpath%20d='M450.553%20210.449C450.553%20210.449%20450.621%20215.911%20449.419%20217.013C448.217%20218.114%20446.402%20215.979%20443.488%20215.298C440.573%20214.617%20445.847%20208.87%20445.847%20208.87L450.553%20210.449Z'%20fill='%23FF8654'/%3e%3cpath%20d='M440.533%20205.61C440.533%20205.61%20446.351%20202.203%20449.605%20205.031C452.86%20207.859%20449.14%20208.983%20448.562%20209.801C447.984%20210.619%20448.562%20211.277%20448.256%20211.868C447.95%20212.458%20447.859%20212.561%20447.859%20212.561L448.063%20213.265L447.711%20213.571C447.711%20213.571%20447.246%20212.254%20446.815%20212.288C446.385%20212.322%20446.044%20213.185%20446.192%20213.685C446.339%20214.185%20446.781%20214.741%20446.702%20215.093C446.623%20215.445%20446.158%20216.41%20445.727%20216.444C444.688%20216.361%20443.67%20216.112%20442.71%20215.706C441.201%20214.78%20439.998%20213.429%20439.251%20211.822C439.028%20211.25%20438.94%20210.633%20438.993%20210.021C439.046%20209.408%20439.239%20208.816%20439.557%20208.29C439.413%20207.798%20439.43%20207.272%20439.606%20206.79C439.781%20206.308%20440.106%20205.895%20440.533%20205.61Z'%20fill='%2396432A'/%3e%3cpath%20opacity='0.43'%20d='M668.681%20149.759L684.513%20149.656L717.481%20131.043L699.2%20122.037L668.681%20149.759Z'%20fill='%23A6D0F4'/%3e%3cpath%20opacity='0.35'%20d='M688.581%20112.949C698.196%20112.949%20705.99%20107.991%20705.99%20101.876C705.99%2095.7606%20698.196%2090.8032%20688.581%2090.8032C678.967%2090.8032%20671.173%2095.7606%20671.173%20101.876C671.173%20107.991%20678.967%20112.949%20688.581%20112.949Z'%20fill='%23A6D0F4'/%3e%3cpath%20d='M675.418%2099.2895C675.623%20101.561%20677.766%20103.117%20679.694%20103.957C681.817%20104.836%20684.1%20105.258%20686.396%20105.195C688.748%20105.202%20691.072%20104.686%20693.201%20103.685C695.027%20102.787%20696.977%20101.141%20696.977%2098.9148C697.064%2099.6711%20696.995%20100.437%20696.774%20101.166C696.554%20101.894%20696.187%20102.57%20695.696%20103.151C694.076%20104.711%20692.018%20105.737%20689.799%20106.092C685.637%20106.955%20679.977%20106.535%20676.825%20103.333C676.293%20102.748%20675.893%20102.057%20675.65%20101.304C675.408%20100.552%20675.329%2099.7568%20675.418%2098.9716V99.2895Z'%20fill='%23ADCDFC'/%3e%3cpath%20d='M678.556%2095.1075C674.326%2097.5491%20674.292%20101.513%20678.556%20103.966C680.923%20105.17%20683.54%20105.797%20686.194%20105.797C688.849%20105.797%20691.466%20105.17%20693.832%20103.966C698.063%20101.513%20698.074%2097.5491%20693.832%2095.1075C691.468%2093.8964%20688.85%2093.2649%20686.194%2093.2649C683.539%2093.2649%20680.921%2093.8964%20678.556%2095.1075Z'%20fill='white'/%3e%3cpath%20d='M685.004%2091.8394L685.026%20100.845L686.16%20101.504L686.138%2092.498L685.004%2091.8394Z'%20fill='%23C7D8F2'/%3e%3cpath%20d='M686.144%2092.498L686.166%20101.504L687.3%20100.845L687.278%2091.8394L686.144%2092.498Z'%20fill='%237BAEFF'/%3e%3cpath%20d='M684.482%2090.2053L686.138%2091.1593L687.793%2090.2053L686.149%2089.24L684.482%2090.2053Z'%20fill='%234DA5DC'/%3e%3cpath%20d='M696.881%2059.5533C696.881%2059.5533%20700.283%2061.5521%20701.179%2063.5849C702.075%2065.6177%20701.837%2079.893%20697.096%2086.2186C692.356%2092.5442%20683.567%2093.4414%20681.537%2092.5442C679.507%2091.647%20667.769%2085.7302%20666.873%2082.823C665.977%2079.9157%20670.479%2077.633%20672.963%2076.4974C675.447%2075.3617%20677.023%2073.7831%20678.373%2069.6834C679.722%2065.5837%20680.403%2058.6107%20681.99%2057.4864C683.578%2056.3621%20687.4%2054.5791%20696.881%2059.5533Z'%20fill='%2325437F'/%3e%3cpath%20d='M680.029%2090.57C678.374%2089.8318%20670.265%2085.8002%20666.84%2082.734C666.114%2079.8608%20670.514%2077.6576%20672.964%2076.5446C675.414%2075.4317%20677.024%2073.8304%20678.374%2069.7307C679.723%2065.6309%20680.404%2058.658%20681.991%2057.5337C683.579%2056.4094%20687.401%2054.5923%20696.882%2059.5665C697.895%2060.1825%20698.845%2060.8977%20699.717%2061.7016C700.568%2064.0751%20700.261%2077.9869%20695.589%2084.2103C690.917%2090.4337%20682.059%2091.4331%20680.029%2090.57Z'%20fill='%23254DA1'/%3e%3cpath%20d='M609.514%20118.378L606.985%20116.902L606.917%2087.9197L609.446%2089.396L609.514%20118.378Z'%20fill='%23CB6A50'/%3e%3cpath%20d='M609.446%2089.395L606.917%2087.9186L641.359%2068.0105L643.899%2069.4869L609.446%2089.395Z'%20fill='%23DBDBDB'/%3e%3cpath%20d='M643.9%2069.4895L643.968%2098.4715L609.515%20118.38L609.447%2089.3976L643.9%2069.4895Z'%20fill='%239966D7'/%3e%3cpath%20d='M611.92%2083.8906L611.852%20112.873L670.768%20146.886L670.836%20117.904L611.92%2083.8906Z'%20fill='%23A478D9'/%3e%3cpath%20d='M611.887%20100.108L670.791%20134.121L670.837%20117.904L611.921%2083.8906L611.887%20100.108Z'%20fill='%238C57CC'/%3e%3cpath%20d='M668.621%20149.703L666.092%20148.238L666.024%20119.256L668.553%20120.732L668.621%20149.703Z'%20fill='%238C57CC'/%3e%3cpath%20d='M668.553%20120.731L666.024%20119.254L700.466%2099.335L703.007%20100.811L668.553%20120.731Z'%20fill='%23DBDBDB'/%3e%3cpath%20d='M703.008%20100.814L703.076%20129.796L668.622%20149.704L668.554%20120.733L703.008%20100.814Z'%20fill='%23976EC9'/%3e%3cpath%20d='M707.733%20100.052L707.722%20102.778L668.664%20125.513V122.788L707.733%20100.052Z'%20fill='%238C57CC'/%3e%3cpath%20d='M668.663%20122.79V125.515L601.151%2086.2214L601.163%2083.4958L668.663%20122.79Z'%20fill='%238C57CC'/%3e%3cpath%20d='M707.738%20100.054L668.669%20122.79L601.168%2083.496L640.226%2060.7715L707.738%20100.054Z'%20fill='%23B195D2'/%3e%3cpath%20d='M670.777%20104.115L678.67%20108.703L691.429%20101.332L683.535%2096.7441L670.777%20104.115Z'%20fill='%238C57CC'/%3e%3cpath%20d='M669.325%20101.393L669.336%20103.358L677.229%20107.946L677.218%20105.981L669.325%20101.393Z'%20fill='%23CBDCEB'/%3e%3cpath%20d='M677.216%20105.977L677.227%20107.942L689.985%20100.56L689.974%2098.6069L677.216%20105.977Z'%20fill='%23A6D0F4'/%3e%3cpath%20d='M669.325%20101.392L677.218%20105.98L689.976%2098.6096L682.094%2094.0215L669.325%20101.392Z'%20fill='white'/%3e%3cpath%20d='M659.536%2094.9864L667.429%2099.5858L680.188%2092.204L672.294%2087.616L659.536%2094.9864Z'%20fill='white'/%3e%3cpath%20d='M666.398%2086.2649C668.212%2087.3097%20668.212%2089.0018%20666.398%2090.0353L654.853%2096.7584C653.847%2097.2737%20652.733%2097.5424%20651.604%2097.5424C650.474%2097.5424%20649.36%2097.2737%20648.355%2096.7584L636.73%2090.0353C634.938%2089.0018%20634.927%2087.3097%20636.73%2086.2649L648.275%2079.5532C649.283%2079.0378%20650.398%2078.769%20651.53%2078.769C652.662%2078.769%20653.777%2079.0378%20654.785%2079.5532L666.398%2086.2649Z'%20fill='%238C57CC'/%3e%3cpath%20d='M656.133%2088.0245C656.135%2088.0548%20656.135%2088.0852%20656.133%2088.1154L656.065%2088.1949H655.997H655.929L651.131%2090.8637L645.926%2087.9905V88.2971L651.086%2091.2839L655.883%2088.6264H655.94L656.008%2088.5583C656.01%2088.5243%20656.01%2088.4902%20656.008%2088.4561V88.0927C656.044%2088.0612%20656.087%2088.0379%20656.133%2088.0245Z'%20fill='%23BAC0D2'/%3e%3cpath%20d='M655.849%2087.5369C655.929%2087.5648%20655.999%2087.617%20656.048%2087.6861C656.097%2087.7553%20656.123%2087.8381%20656.123%2087.923C656.123%2088.0079%20656.097%2088.0907%20656.048%2088.1599C655.999%2088.2291%20655.929%2088.2812%20655.849%2088.3091L651.052%2090.9779L645.926%2087.9912L649.963%2084.9022C650.169%2084.7928%20650.399%2084.7356%20650.632%2084.7356C650.866%2084.7356%20651.095%2084.7928%20651.302%2084.9022L655.849%2087.5369Z'%20fill='white'/%3e%3cpath%20d='M662.942%2076.2336C663.158%2076.369%20663.344%2076.5463%20663.49%2076.755C663.636%2076.9637%20663.739%2077.1996%20663.793%2077.4488L666.276%2094.1202C666.333%2094.5518%20666.061%2094.7108%20665.653%2094.4836L640.396%2079.8564C640.183%2079.7221%20639.999%2079.5464%20639.855%2079.3396C639.711%2079.1329%20639.61%2078.8992%20639.557%2078.6526L637.074%2061.9811C637.006%2061.5382%20637.289%2061.3792%20637.686%2061.6177L662.942%2076.2336Z'%20fill='%23C7C9D7'/%3e%3cpath%20d='M666.672%2093.9753V93.8504L664.2%2077.1789V76.9404V76.8382V76.736L664.12%2076.6338L638.864%2062.0179H637.991H637.64C637.631%2062.0129%20637.621%2062.0103%20637.611%2062.0103C637.601%2062.0103%20637.592%2062.0129%20637.583%2062.0179L637.175%2062.3131C637.205%2062.307%20637.235%2062.307%20637.265%2062.3131H637.39H637.526L637.674%2062.3926L662.941%2076.2363L663.1%2076.3385L663.236%2076.4634L663.372%2076.6111C663.42%2076.659%20663.462%2076.7124%20663.497%2076.7701C663.535%2076.8243%20663.569%2076.8812%20663.599%2076.9404L663.678%2077.1108L663.746%2077.2811C663.752%2077.3378%20663.752%2077.3948%20663.746%2077.4515L666.23%2094.1229C666.236%2094.1682%20666.236%2094.214%20666.23%2094.2592C666.236%2094.2968%20666.236%2094.3352%20666.23%2094.3728V94.4409C666.218%2094.4777%20666.194%2094.5096%20666.162%2094.5318L666.559%2094.2365C666.594%2094.21%20666.621%2094.1748%20666.638%2094.1343V93.9753H666.672Z'%20fill='white'/%3e%3cpath%20opacity='0.2'%20d='M648.944%2085.6511L645.882%2087.9906L651.042%2090.9774L654.671%2088.9559L648.944%2085.6511Z'%20fill='%23777DB2'/%3e%3cpath%20d='M652.132%2080.7118L651.044%2091.3642L645.861%2088.3548L647.891%2078.395L652.132%2080.7118Z'%20fill='%23BAC0D2'/%3e%3cpath%20d='M606.644%20113.464C606.644%20113.464%20607.846%20115.349%20607.676%20116.031C607.506%20116.712%20606.644%20115.69%20606.644%20115.69C606.644%20115.69%20606.905%20117.961%20606.304%20118.438C605.703%20118.915%20605.442%20117.496%20605.442%20117.496C605.2%20117.659%20604.905%20117.723%20604.618%20117.674C604.331%20117.625%20604.074%20117.468%20603.899%20117.234C603.593%20116.631%20603.448%20115.958%20603.478%20115.281C603.507%20114.605%20603.711%20113.948%20604.07%20113.373C604.761%20112.26%20606.644%20113.464%20606.644%20113.464Z'%20fill='%23FF9554'/%3e%3cpath%20d='M610.772%2081.4148C610.772%2081.4148%20607.574%2081.3013%20606.089%2085.7644C604.603%2090.2275%20604.036%2097.2118%20603.82%2099.2674C603.605%20101.323%20603.503%20112.804%20603.616%20113.372C603.787%20113.662%20604.025%20113.906%20604.311%20114.083C604.597%20114.259%20604.922%20114.363%20605.257%20114.386C605.593%20114.408%20605.928%20114.348%20606.235%20114.211C606.542%20114.074%20606.811%20113.864%20607.019%20113.599C607.937%20111.544%20607.914%20102.583%20608.935%2099.1538C609.956%2095.7241%20612.485%2087.025%20612.598%2084.6174C612.652%2083.9614%20612.507%2083.3043%20612.181%2082.7326C611.855%2082.161%20611.364%2081.7016%20610.772%2081.4148Z'%20fill='%23113569'/%3e%3cpath%20d='M631.99%2074.4519C632%2073.9354%20632.084%2073.4229%20632.239%2072.9302C632.5%2072.2033%20631.729%2071.0563%20631.525%2070.3977C631.321%2069.739%20631.525%2069.5005%20631.979%2069.5459C632.432%2069.5913%20633.305%2071.5333%20633.498%2071.8172C633.691%2072.1011%20634.984%2070.2273%20635.381%2070.1592C635.778%2070.091%20636.152%2070.7043%20636.118%2071.1926C636.084%2071.6809%20637.105%2072.862%20636.628%2074.0318C636.152%2075.2015%20634.882%2076.1214%20634.36%2075.8715C633.838%2075.6217%20631.99%2074.4519%20631.99%2074.4519Z'%20fill='%23FF9554'/%3e%3cpath%20opacity='0.35'%20d='M595.057%20146.604C595.057%20153.895%20604.345%20159.812%20615.822%20159.812C627.299%20159.812%20636.575%20153.895%20636.575%20146.604C636.575%20139.313%20627.287%20133.396%20615.822%20133.396C604.356%20133.396%20595.057%20139.302%20595.057%20146.604Z'%20fill='%23A6D0F4'/%3e%3cpath%20d='M609.731%20143.59C609.312%20143.793%20608.966%20144.119%20608.738%20144.525C608.511%20144.932%20608.414%20145.398%20608.461%20145.861C608.471%20146.284%20608.551%20146.703%20608.699%20147.099C609.058%20147.392%20609.5%20147.564%20609.962%20147.59C610.424%20147.617%20610.883%20147.497%20611.273%20147.247C612.257%20146.565%20613.04%20145.632%20613.541%20144.544C614.141%20143.727%20614.657%20142.852%20615.084%20141.932C615.197%20141.285%20614.471%20140.796%20613.802%20140.887C612.512%20141.591%20611.29%20142.412%20610.15%20143.34C610.031%20143.434%20609.902%20143.514%20609.765%20143.579L609.731%20143.59Z'%20fill='%23232839'/%3e%3cpath%20d='M608.507%20106.594C608.507%20106.594%20608.235%20115.679%20608.575%20121.187C608.881%20126.093%20608.45%20140.3%20608.348%20143.457C608.321%20143.895%20608.429%20144.331%20608.655%20144.706C608.882%20145.082%20609.218%20145.379%20609.618%20145.558C609.952%20145.679%20610.31%20145.719%20610.663%20145.675C611.016%20145.632%20611.353%20145.506%20611.648%20145.308C611.902%20145.155%20612.121%20144.949%20612.289%20144.704C612.457%20144.459%20612.571%20144.181%20612.624%20143.889C613.236%20140.936%20615.277%20130.874%20615.572%20125.775C615.912%20119.767%20616.219%20112.261%20616.559%20109.876C616.899%20107.491%20608.507%20106.594%20608.507%20106.594Z'%20fill='%23113569'/%3e%3cpath%20d='M621.192%20146.817C620.742%20146.924%20620.336%20147.167%20620.028%20147.512C619.72%20147.857%20619.525%20148.288%20619.468%20148.747C619.399%20149.165%20619.399%20149.591%20619.468%20150.008C619.764%20150.36%20620.16%20150.614%20620.604%20150.736C621.047%20150.858%20621.517%20150.841%20621.952%20150.689C623.07%20150.245%20624.047%20149.502%20624.775%20148.543C625.538%20147.857%20626.23%20147.096%20626.839%20146.272C626.881%20146.117%20626.885%20145.954%20626.851%20145.797C626.818%20145.64%20626.748%20145.493%20626.648%20145.368C626.547%20145.243%20626.419%20145.144%20626.273%20145.078C626.127%20145.012%20625.968%20144.981%20625.807%20144.988C624.401%20145.401%20623.034%20145.941%20621.725%20146.601C621.586%20146.666%20621.442%20146.719%20621.294%20146.76L621.192%20146.817Z'%20fill='%23232839'/%3e%3cpath%20d='M623.76%20108.367C623.76%20108.367%20624.225%20136.213%20623.216%20146.298C623.212%20146.63%20623.135%20146.958%20622.991%20147.258C622.847%20147.557%20622.638%20147.821%20622.381%20148.032C622.123%20148.242%20621.823%20148.393%20621.501%20148.474C621.179%20148.555%20620.843%20148.564%20620.517%20148.501C620.347%20148.501%20619.201%20148.785%20619.008%20148.705C618.101%20148.365%20617.137%20121.449%20616.332%20118.326C615.527%20115.203%20613.134%20112.943%20613.361%20108.367C613.588%20103.79%20620.449%20106.084%20623.76%20108.367Z'%20fill='%23113C7A'/%3e%3cpath%20d='M624.303%20110.578C623.906%20112.599%20618.077%20113.121%20614.72%20112.576C611.363%20112.031%20607.405%20111.27%20607.518%20107.375C607.518%20107.375%20607.836%2089.92%20607.836%2086.8537C607.882%2084.9035%20608.554%2083.0201%20609.752%2081.482C609.752%2081.482%20611.635%2079.3356%20617.544%2080.5394C617.544%2080.5394%20622.352%2081.5842%20624.575%2085.1502C624.575%2085.1502%20626.423%2088.5572%20625.913%2096.6885C625.647%20101.346%20625.11%20105.983%20624.303%20110.578Z'%20fill='%23113C7A'/%3e%3cpath%20d='M612.926%2076.2691C613.196%2077.7025%20613.196%2079.1739%20612.926%2080.6073C612.846%2081.2887%20615.817%2083.5827%20618.448%2082.9808C619.98%2082.6401%20619.9%2081.8452%20619.9%2081.8452C619.153%2080.5839%20618.761%2079.1436%20618.766%2077.6773C618.959%2075.6672%20614.717%2075.8035%20612.926%2076.2691Z'%20fill='%23FF7C40'/%3e%3cpath%20d='M621.268%2082.0607L619.442%2081.0273C619.442%2081.0273%20614.758%2080.5957%20613.08%2079.4941L612.207%2080.7434C612.646%2081.4711%20613.254%2082.0829%20613.978%2082.5274C614.702%2082.972%20615.522%2083.2364%20616.369%2083.2986C617.889%2083.572%20619.457%2083.2596%20620.758%2082.4241L621.268%2082.0607Z'%20fill='%23E1E8F2'/%3e%3cpath%20d='M622.655%2084.6527C622.293%2084.6577%20621.937%2084.7455%20621.614%2084.9091C621.291%2085.0728%20621.009%2085.3081%20620.79%2085.5972C620.572%2085.8863%20620.422%2086.2215%20620.352%2086.5774C620.282%2086.9332%20620.294%2087.3003%20620.387%2087.6508C620.61%2088.525%20621.1%2089.3074%20621.79%2089.888C622.48%2090.4685%20623.334%2090.8181%20624.232%2090.8874C629.029%2091.6029%20638.362%2087.4805%20639.451%2085.3795C640.54%2083.2785%20637.036%2075.4766%20635.425%2074.2841C634.064%2073.4324%20631.807%2074.7384%20632.023%2075.8627C632.238%2076.987%20634.2%2082.5631%20634.291%2082.8583C634.382%2083.1536%20634.11%2083.165%20634.11%2083.165L624.504%2084.5164C623.89%2084.593%20623.273%2084.6385%20622.655%2084.6527Z'%20fill='%23113C7A'/%3e%3cpath%20d='M621.512%2071.262C621.525%2072.4014%20621.2%2073.519%20620.578%2074.4729C619.955%2075.4269%20619.064%2076.174%20618.017%2076.6194C616.969%2077.0648%20615.814%2077.1884%20614.696%2076.9744C613.578%2076.7604%20612.55%2076.2186%20611.74%2075.4177C610.931%2074.6168%20610.377%2073.5931%20610.15%2072.4765C609.923%2071.36%20610.033%2070.2011%20610.465%2069.1471C610.898%2068.0931%20611.633%2067.1916%20612.578%2066.5571C613.523%2065.9226%20614.635%2065.5838%20615.773%2065.5837C617.282%2065.5866%20618.73%2066.1836%20619.804%2067.2459C620.877%2068.3083%20621.491%2069.7508%20621.512%2071.262Z'%20fill='%23FF8654'/%3e%3cpath%20d='M621.513%2071.6276C621.513%2071.6276%20621.581%2077.374%20620.379%2078.5437C619.177%2079.7134%20617.204%2077.4081%20614.13%2076.738C611.057%2076.068%20616.625%2069.9241%20616.625%2069.9241L621.513%2071.6276Z'%20fill='%23FF8654'/%3e%3cpath%20d='M610.956%2066.5292C610.956%2066.5292%20617.091%2062.9746%20620.516%2065.916C623.941%2068.8573%20620.028%2070.0952%20619.382%2070.947C618.735%2071.7987%20619.382%2072.5028%20619.053%2073.1161C618.724%2073.7293%20618.645%2073.8542%20618.645%2073.8542L618.849%2074.5924L618.486%2074.9218C618.486%2074.9218%20618.021%2073.5363%20617.579%2073.5363C617.136%2073.5363%20616.762%2074.4789%20616.921%2075.0126C617.08%2075.5464%20617.533%2076.1483%20617.454%2076.4776C617.375%2076.8069%20616.887%2077.8745%20616.433%2077.9199C615.337%2077.8264%20614.261%2077.562%20613.246%2077.1363C611.663%2076.1551%20610.399%2074.7349%20609.606%2073.0479C609.371%2072.4436%20609.278%2071.793%20609.335%2071.1469C609.392%2070.5008%20609.597%2069.8766%20609.935%2069.323C609.789%2068.809%20609.809%2068.262%20609.992%2067.7602C610.176%2067.2584%20610.513%2066.8275%20610.956%2066.5292Z'%20fill='%2396432A'/%3e%3cpath%20d='M236.658%20220.478L247.715%20223.442L236.703%20239.171L236.692%20235.049L213.886%20248.234L213.863%20238.444L236.669%20225.259L236.658%20220.478Z'%20fill='white'/%3e%3cpath%20d='M607.506%20199.468L618.564%20202.432L607.552%20218.161L607.54%20214.039L584.734%20227.223L584.711%20217.434L607.518%20204.249L607.506%20199.468Z'%20fill='white'/%3e%3cpath%20d='M361.999%20210.934L372.898%20226.061L361.954%20228.559L361.965%20224.596L337.537%20210.48L337.56%20200.781L361.988%20214.898L361.999%20210.934Z'%20fill='white'/%3e%3cpath%20d='M84.669%20223.126C84.669%20223.126%2085.8712%20225.011%2085.7011%20225.704C85.5309%20226.396%2084.669%20225.352%2084.669%20225.352C84.669%20225.352%2084.9299%20227.623%2084.3288%20228.1C83.7277%20228.577%2083.4783%20227.157%2083.4783%20227.157C83.2359%20227.324%2082.9385%20227.39%2082.6487%20227.341C82.3589%20227.292%2082.0993%20227.133%2081.9246%20226.896C81.6177%20226.292%2081.4731%20225.618%2081.505%20224.941C81.5368%20224.264%2081.7439%20223.607%2082.106%20223.035C82.7865%20221.922%2084.669%20223.126%2084.669%20223.126Z'%20fill='%23FF9554'/%3e%3cpath%20d='M88.7642%20191.074C88.7642%20191.074%2085.5547%20190.961%2084.0691%20195.424C82.5834%20199.887%2082.0164%20206.872%2081.8009%20208.927C81.5854%20210.983%2081.4834%20222.464%2081.5968%20223.032C81.7673%20223.322%2082.0059%20223.566%2082.292%20223.742C82.578%20223.919%2082.9027%20224.023%2083.238%20224.045C83.5733%20224.068%2083.9089%20224.008%2084.2158%20223.871C84.5227%20223.734%2084.7916%20223.524%2084.999%20223.259C85.9063%20221.204%2085.8836%20212.255%2086.9043%20208.813C87.925%20205.372%2090.454%20196.685%2090.5674%20194.277C90.6235%20193.624%2090.4815%20192.968%2090.1598%20192.397C89.8381%20191.826%2089.3517%20191.365%2088.7642%20191.074Z'%20fill='%23113569'/%3e%3cpath%20opacity='0.35'%20d='M93.849%20269.47C105.317%20269.47%20114.614%20263.556%20114.614%20256.262C114.614%20248.967%20105.317%20243.054%2093.849%20243.054C82.3808%20243.054%2073.0839%20248.967%2073.0839%20256.262C73.0839%20263.556%2082.3808%20269.47%2093.849%20269.47Z'%20fill='%23A6D0F4'/%3e%3cpath%20d='M87.7696%20253.262C87.3488%20253.462%2087%20253.788%2086.7707%20254.195C86.5414%20254.601%2086.4427%20255.068%2086.4881%20255.533C86.501%20255.956%2086.5814%20256.374%2086.7262%20256.771C87.0908%20257.053%2087.5323%20257.216%2087.9922%20257.241C88.452%20257.265%2088.9084%20257.149%2089.3006%20256.907C90.2813%20256.227%2091.064%20255.298%2091.5688%20254.216C92.1687%20253.395%2092.6854%20252.516%2093.1111%20251.592C93.2359%20250.956%2092.4987%20250.457%2091.8296%20250.559C90.5388%20251.261%2089.3163%20252.082%2088.1778%20253.012C88.0587%20253.102%2087.9292%20253.179%2087.7923%20253.239L87.7696%20253.262Z'%20fill='%23232839'/%3e%3cpath%20d='M86.4744%20216.253C86.4744%20216.253%2086.2022%20225.339%2086.5424%20230.847C86.8486%20235.753%2086.4177%20249.96%2086.327%20253.117C86.2944%20253.554%2086.3979%20253.991%2086.6233%20254.367C86.8487%20254.744%2087.1849%20255.041%2087.5858%20255.218C87.9192%20255.34%2088.2766%20255.382%2088.6291%20255.341C88.9817%20255.299%2089.3197%20255.175%2089.6158%20254.979C89.8692%20254.822%2090.0869%20254.614%2090.2549%20254.367C90.4229%20254.121%2090.5374%20253.842%2090.5911%20253.548C91.2035%20250.607%2093.2562%20240.534%2093.5397%20235.435C93.88%20229.427%2094.1862%20221.92%2094.5264%20219.535C94.8666%20217.151%2086.4744%20216.253%2086.4744%20216.253Z'%20fill='%23113569'/%3e%3cpath%20d='M99.222%20256.476C98.7745%20256.585%2098.371%20256.829%2098.0651%20257.173C97.7592%20257.518%2097.5654%20257.948%2097.5095%20258.406C97.4369%20258.823%2097.4369%20259.25%2097.5095%20259.667C97.8043%20260.021%2098.1998%20260.277%2098.6435%20260.401C99.0871%20260.525%2099.5579%20260.51%2099.9931%20260.359C101.11%20259.911%20102.085%20259.169%20102.817%20258.213C103.58%20257.528%20104.271%20256.767%20104.881%20255.942C105.142%20255.34%20104.541%20254.658%20103.849%20254.658C102.44%20255.071%20101.073%20255.614%2099.7663%20256.282C99.627%20256.344%2099.4828%20256.393%2099.3354%20256.43L99.222%20256.476Z'%20fill='%23232839'/%3e%3cpath%20d='M101.785%20218.026C101.785%20218.026%20102.25%20245.873%20101.24%20255.969C101.235%20256.3%20101.157%20256.627%20101.012%20256.925C100.867%20257.223%20100.658%20257.486%20100.401%20257.695C100.144%20257.904%2099.8439%20258.054%2099.5226%20258.134C99.2013%20258.215%2098.8663%20258.224%2098.5411%20258.161C98.371%20258.161%2097.2256%20258.444%2097.0441%20258.365C96.1255%20258.024%2095.1616%20231.109%2094.3564%20227.986C93.5512%20224.863%2091.1582%20222.603%2091.3851%20218.026C91.6119%20213.45%2098.4731%20215.744%20101.785%20218.026Z'%20fill='%23113C7A'/%3e%3cpath%20d='M102.342%20220.236C101.934%20222.258%2096.1044%20222.78%2092.7475%20222.246C89.3906%20221.713%2085.4326%20220.94%2085.546%20217.034C85.546%20217.034%2085.8636%20199.579%2085.8636%20196.524C85.9205%20194.584%2086.5961%20192.714%2087.7915%20191.186C87.7915%20191.186%2089.6628%20189.04%2095.5713%20190.244C95.5713%20190.244%20100.391%20191.3%20102.603%20194.854C102.603%20194.854%20104.451%20198.261%20103.941%20206.393C103.673%20211.034%20103.139%20215.656%20102.342%20220.236Z'%20fill='%23113C7A'/%3e%3cpath%20d='M90.952%20185.964C91.2221%20187.397%2091.2221%20188.868%2090.952%20190.302C90.8726%20190.983%2093.8439%20193.277%2096.475%20192.687C98.006%20192.346%2097.9266%20191.551%2097.9266%20191.551C97.1797%20190.29%2096.7878%20188.849%2096.7925%20187.383C97.0307%20185.328%2092.7438%20185.498%2090.952%20185.964Z'%20fill='%23FF7C40'/%3e%3cpath%20d='M99.2954%20191.722L97.4695%20190.7C97.4695%20190.7%2092.7858%20190.257%2091.1073%20189.156L90.2341%20190.405C90.6738%20191.134%2091.2808%20191.747%2092.0047%20192.193C92.7287%20192.639%2093.5485%20192.906%2094.3962%20192.972C95.9183%20193.242%2097.4862%20192.925%2098.7851%20192.086L99.2954%20191.722Z'%20fill='%23E1E8F2'/%3e%3cpath%20d='M99.5354%20180.913C99.5354%20182.049%2099.1988%20183.16%2098.5683%20184.105C97.9377%20185.05%2097.0415%20185.787%2095.9929%20186.222C94.9444%20186.657%2093.7905%20186.77%2092.6774%20186.549C91.5642%20186.327%2090.5417%20185.78%2089.7392%20184.976C88.9367%20184.172%2088.3901%20183.148%2088.1687%20182.034C87.9473%20180.919%2088.0609%20179.764%2088.4953%20178.714C88.9296%20177.664%2089.6651%20176.766%2090.6088%20176.135C91.5525%20175.503%2092.6619%20175.166%2093.7969%20175.166C95.3188%20175.166%2096.7785%20175.772%2097.8546%20176.849C98.9308%20177.927%2099.5354%20179.389%2099.5354%20180.913Z'%20fill='%23FF8654'/%3e%3cpath%20d='M99.5445%20181.286C99.5445%20181.286%2099.6125%20187.043%2098.4104%20188.202C97.2083%20189.36%2095.2349%20187.066%2092.1616%20186.396C89.0882%20185.726%2094.6566%20179.582%2094.6566%20179.582L99.5445%20181.286Z'%20fill='%23FF8654'/%3e%3cpath%20d='M88.9823%20176.191C88.9823%20176.191%2095.1177%20172.636%2098.5426%20175.578C101.968%20178.519%2098.055%20179.757%2097.4086%20180.62C96.7621%20181.483%2097.4085%20182.176%2097.0797%20182.789C96.7508%20183.402%2096.6714%20183.516%2096.6714%20183.516L96.8755%20184.254L96.5126%20184.583C96.5126%20184.583%2096.025%20183.198%2095.5713%20183.232C95.1177%20183.266%2094.7548%20184.175%2094.9136%20184.708C95.0723%20185.242%2095.526%20185.844%2095.4466%20186.185C95.3672%20186.525%2094.8795%20187.57%2094.4259%20187.616C93.3294%20187.522%2092.2542%20187.258%2091.2391%20186.832C89.6561%20185.851%2088.3914%20184.431%2087.5987%20182.744C87.3635%20182.139%2087.2708%20181.489%2087.3279%20180.843C87.3849%20180.196%2087.5902%20179.572%2087.9276%20179.019C87.7789%20178.496%2087.8011%20177.94%2087.9908%20177.431C88.1806%20176.922%2088.5281%20176.488%2088.9823%20176.191Z'%20fill='%2396432A'/%3e%3cpath%20d='M109.698%20224.2L104.028%20227.607L104.776%20237.635L117.161%20229.969L116.684%20220.407L109.698%20224.2Z'%20fill='%2394C3FF'/%3e%3cpath%20d='M110.776%20221.454C110.776%20221.454%20112.126%20222.873%20112.409%20223.305C112.693%20223.737%20112.84%20225.928%20112.477%20226.212C111.69%20226.714%20110.789%20227.007%20109.858%20227.064C109.291%20226.916%20108.939%20226.632%20108.939%20226.417C108.939%20226.201%20108.803%20224.793%20108.803%20224.793C108.803%20224.793%20107.805%20224.077%20107.737%20223.657C107.707%20223.3%20107.73%20222.94%20107.805%20222.59L110.776%20221.454Z'%20fill='%23FF9554'/%3e%3cpath%20d='M100.629%20192.584C101.648%20193.135%20102.542%20193.89%20103.257%20194.802C103.971%20195.715%20104.489%20196.765%20104.78%20197.888C105.539%20201.488%20107.048%20210.755%20107.048%20210.755L111.21%20221.237C111.111%20221.644%20110.917%20222.022%20110.645%20222.34C110.372%20222.658%20110.028%20222.907%20109.641%20223.067C109.254%20223.226%20108.835%20223.292%20108.418%20223.258C108%20223.224%20107.597%20223.092%20107.241%20222.872C107.241%20222.872%20102.704%20214.162%20101.57%20211.709C100.436%20209.256%2099.302%20197.888%2099.1092%20195.616C99.0222%20195.016%2099.1212%20194.403%2099.393%20193.861C99.6647%20193.319%20100.096%20192.873%20100.629%20192.584Z'%20fill='%23113C7A'/%3e%3cpath%20d='M364.359%20134.939C367.058%20136.495%20367.069%20139.016%20364.359%20140.617C362.853%20141.384%20361.188%20141.784%20359.499%20141.784C357.81%20141.784%20356.145%20141.384%20354.639%20140.617C351.952%20139.062%20351.94%20136.54%20354.639%20134.939C356.145%20134.172%20357.81%20133.772%20359.499%20133.772C361.188%20133.772%20362.853%20134.172%20364.359%20134.939Z'%20fill='%23A6D0F4'/%3e%3cpath%20d='M365.159%20121.041V136.338C365.107%20136.898%20364.908%20137.434%20364.581%20137.891C364.254%20138.348%20363.812%20138.709%20363.299%20138.939C361.894%20139.654%20360.34%20140.027%20358.763%20140.027C357.186%20140.027%20355.632%20139.654%20354.227%20138.939C353.706%20138.706%20353.256%20138.338%20352.925%20137.872C352.594%20137.407%20352.394%20136.862%20352.344%20136.293V121.007C352.393%20121.574%20352.594%20122.119%20352.925%20122.582C353.256%20123.046%20353.706%20123.411%20354.227%20123.641C355.631%20124.359%20357.186%20124.733%20358.763%20124.733C360.34%20124.733%20361.895%20124.359%20363.299%20123.641C363.811%20123.411%20364.253%20123.049%20364.58%20122.592C364.906%20122.135%20365.106%20121.6%20365.159%20121.041Z'%20fill='%23CBDCEB'/%3e%3cpath%20d='M363.266%20118.394C365.773%20119.848%20365.795%20122.199%20363.266%20123.652C361.862%20124.37%20360.307%20124.744%20358.73%20124.744C357.153%20124.744%20355.598%20124.37%20354.194%20123.652C351.687%20122.21%20351.676%20119.859%20354.194%20118.406C355.598%20117.689%20357.152%20117.314%20358.728%20117.312C360.305%20117.31%20361.86%20117.681%20363.266%20118.394Z'%20fill='white'/%3e%3cpath%20d='M362.267%20118.962C364.229%20120.097%20364.229%20121.914%20362.267%20123.05C361.175%20123.607%20359.966%20123.898%20358.74%20123.898C357.514%20123.898%20356.306%20123.607%20355.213%20123.05C353.263%20121.914%20353.251%20120.097%20355.213%20118.973C356.303%20118.409%20357.512%20118.114%20358.739%20118.112C359.966%20118.11%20361.175%20118.402%20362.267%20118.962Z'%20fill='%23713336'/%3e%3cpath%20d='M353.838%20121.482C353.838%20121.482%20350.629%20110.795%20349.495%20109.183C349.495%20107.774%20352.421%20109.467%20353.555%20112.124C354.509%20114.926%20355.233%20117.801%20355.721%20120.721C355.721%20120.721%20355.539%20107.014%20357.898%20103.993C359.406%20104.367%20358.465%20119.404%20358.272%20120.539C358.272%20120.539%20362.99%20110.511%20366.109%20108.433C367.527%20108.626%20361.573%20121.005%20361.573%20121.005C361.573%20121.005%20364.022%20116.371%20368.456%20115.52C366.949%20117.729%20365.309%20119.846%20363.546%20121.857C363.546%20121.857%20361.947%20124.321%20357.694%20123.844C357.705%20123.844%20354.779%20123.651%20353.838%20121.482Z'%20fill='%234CA15C'/%3e%3cpath%20d='M231.058%2046.2549L231.069%2048.4808L225.864%2051.4903L225.875%2056.2941L223.732%2057.532L223.721%2050.5023L231.058%2046.2549Z'%20fill='%23E6F4FF'/%3e%3cpath%20d='M231.075%2048.4773L251.965%2036.4053V49.6471V55.632L248.2%2057.8125L225.881%2070.7135V56.2907V51.4868L231.075%2048.4773ZM251.398%2055.2913L251.341%2037.4614L226.482%2051.8389V69.6687L251.353%2055.2913'%20fill='%23E6F4FF'/%3e%3cpath%20d='M254.342%2048.2988L254.364%2056.7481L248.24%2060.28V57.8157L252.006%2055.6352L251.994%2049.6503L254.342%2048.2988Z'%20fill='%23E6F4FF'/%3e%3cpath%20d='M252.028%2045.9031L273.95%2033.4109V54.9884L291.336%2066.7198'%20stroke='%23E6F4FF'%20stroke-width='0.75'%20stroke-miterlimit='10'/%3e%3cpath%20d='M243.33%2056.6934H243.398H243.466L243.545%2056.6366H243.613H243.67L243.738%2056.5798V56.523H243.806L243.874%2056.4662L244.01%2056.33L244.067%2056.2732L244.124%2056.205H244.192V56.1369L244.248%2056.0687C244.319%2056.0064%20244.383%2055.938%20244.441%2055.8643L244.498%2055.7962V55.7281L244.555%2055.6599L244.611%2055.5918L244.679%2055.5236L244.906%2055.2284V55.1602L244.963%2055.0807V55.0126L245.224%2054.6265V54.547L245.28%2054.4788L245.564%2054.0019V53.9224V53.8315C245.643%2053.6952%20245.711%2053.5589%20245.779%2053.4227C244.948%2053.3118%20244.111%2053.2511%20243.273%2053.241C243.251%2053.2815%20243.224%2053.3195%20243.194%2053.3545C242.873%2053.8563%20242.447%2054.2825%20241.946%2054.6038C241.758%2054.7243%20241.547%2054.8047%20241.327%2054.8399C241.106%2054.8751%20240.881%2054.8643%20240.665%2054.8082H240.585C240.517%2054.899%20239.043%2056.6366%20238.215%2057.7268L238.295%2057.8063L238.431%2057.8972H238.487L238.646%2057.9653H238.703H238.873H239.882H240.018H240.268H240.415H240.472H240.744H240.824H240.88H240.971H241.062H241.152H241.22L243.33%2056.6934Z'%20fill='%234B5CC0'/%3e%3cpath%20d='M242.196%2053.4647C242.141%2053.5833%20242.076%2053.6972%20242.003%2053.8054C242.219%2053.8615%20242.445%2053.8723%20242.665%2053.8371C242.886%2053.802%20243.096%2053.7216%20243.284%2053.601C243.786%2053.2798%20244.211%2052.8536%20244.532%2052.3518C244.45%2052.3375%20244.375%2052.2977%20244.317%2052.2382C244.215%2051.9725%20244.154%2051.6931%20244.135%2051.4092L243.602%2052.1587C243.52%2052.2863%20243.412%2052.3948%20243.284%2052.4767C243.179%2052.5179%20243.061%2052.5179%20242.956%2052.4767L242.411%2052.3291C242.375%2052.7136%20242.303%2053.0938%20242.196%2053.4647Z'%20fill='%23CBDCEB'/%3e%3cpath%20d='M242.081%2050.0277C242.009%2050.0798%20241.928%2050.1183%20241.843%2050.1413L241.718%2051.0839V51.4019C241.712%2051.4623%20241.712%2051.5232%20241.718%2051.5836C241.737%2051.7642%20241.807%2051.9357%20241.919%2052.0783C242.032%2052.221%20242.182%2052.3289%20242.353%2052.3899L242.897%2052.5375C243.003%2052.5787%20243.12%2052.5787%20243.226%2052.5375C243.354%2052.4556%20243.462%2052.3471%20243.544%2052.2195L244.077%2051.47C244.405%2051.009%20244.63%2050.482%20244.734%2049.9255V49.6757V49.051L244.292%2047.6655C244.292%2047.6655%20244.224%2047.5633%20244.065%2047.6655C243.922%2047.7614%20243.798%2047.8849%20243.702%2048.0289C243.283%2048.6308%20243.238%2049.1646%20242.512%2049.6984C242.373%2049.8145%20242.229%2049.9244%20242.081%2050.0277Z'%20fill='%23CBDCEB'/%3e%3cpath%20d='M242.723%2046.82C242.015%2047.47%20241.55%2048.344%20241.408%2049.2958C241.369%2049.7306%20241.407%2050.169%20241.521%2050.5904C241.567%2050.784%20241.628%2050.9738%20241.703%2051.1582V51.0787L241.828%2050.1361C241.913%2050.1132%20241.994%2050.0747%20242.066%2050.0226C242.278%2049.8989%20242.482%2049.7623%20242.678%2049.6137C243.404%2049.0913%20243.449%2048.5462%20243.869%2047.9443C243.965%2047.8003%20244.088%2047.6768%20244.232%2047.5809C244.391%2047.4787%20244.459%2047.5809%20244.459%2047.5809L244.901%2048.9664C244.901%2048.9664%20244.901%2048.7847%20245.003%2048.5462C245.105%2048.3077%20245.128%2047.9784%20245.162%2047.7626C245.21%2047.2124%20245.057%2046.6633%20244.731%2046.2181C244.493%2045.991%20243.858%2046.0478%20243.222%2046.4112C243.043%2046.5301%20242.875%2046.6671%20242.723%2046.82Z'%20fill='%2396432A'/%3e%3cpath%20d='M244.567%2052.3549C244.597%2052.3199%20244.624%2052.2818%20244.647%2052.2413C245.489%2052.2518%20246.329%2052.3124%20247.164%2052.4231C247.842%2051.1363%20248.21%2049.7094%20248.242%2048.2552C248.242%2045.1776%20246.064%2043.9283%20243.376%2045.4842C241.967%2046.3993%20240.794%2047.6361%20239.954%2049.093C239.114%2050.5499%20238.632%2052.1854%20238.545%2053.8653C238.506%2054.4056%20238.587%2054.948%20238.783%2055.4528C238.979%2055.9577%20239.285%2056.4124%20239.679%2056.784L239.6%2056.7045C240.428%2055.5688%20241.868%2053.8767%20241.97%2053.7858H242.049C242.123%2053.6777%20242.187%2053.5637%20242.242%2053.4451C242.338%2053.0731%20242.399%2052.6929%20242.424%2052.3095C242.253%2052.2485%20242.103%2052.1405%20241.99%2051.9979C241.878%2051.8553%20241.808%2051.6838%20241.789%2051.5032C241.771%2051.5374%20241.743%2051.5652%20241.709%2051.5827C241.301%2051.7303%20241.085%2050.9581%20241.346%2050.6514L241.46%2050.5492H241.539C241.425%2050.1278%20241.387%2049.6894%20241.426%2049.2546C241.568%2048.3028%20242.033%2047.4289%20242.741%2046.7788C242.902%2046.6365%20243.077%2046.5109%20243.263%2046.4041C243.898%2046.0406%20244.533%2045.9839%20244.771%2046.211C245.098%2046.6562%20245.251%2047.2053%20245.202%2047.7555C245.202%2047.9713%20245.1%2048.2893%20245.043%2048.5391C245.068%2048.5068%20245.099%2048.4798%20245.134%2048.4596C245.171%2048.4482%20245.211%2048.4482%20245.248%2048.4596C245.508%2048.4596%20245.304%2049.493%20244.919%2049.7883H244.851C244.746%2050.3448%20244.521%2050.8718%20244.193%2051.3328C244.2%2051.6244%20244.258%2051.9126%20244.363%2052.1846C244.409%2052.2631%20244.482%2052.3233%20244.567%2052.3549Z'%20fill='%2358AFFB'/%3e%3cpath%20d='M237.782%2056.8159V57.7358L229.333%2062.6191V61.6993L237.782%2056.8159Z'%20fill='%23E6F4FF'/%3e%3cpath%20d='M233.597%2057.0879V58.0078L229.322%2060.4835V59.5523L233.597%2057.0879Z'%20fill='%23E6F4FF'/%3e%3cpath%20d='M230.977%2055.9329V56.8641L229.322%2057.8294V56.8868L230.977%2055.9329Z'%20fill='%23E6F4FF'/%3e%3cpath%20d='M237.782%2071.5825V72.5024L229.333%2077.3857V76.4659L237.782%2071.5825Z'%20fill='%23E6F4FF'/%3e%3cpath%20d='M233.597%2071.8525V72.7724L229.322%2075.2481V74.3169L233.597%2071.8525Z'%20fill='%23E6F4FF'/%3e%3cpath%20d='M230.977%2070.6956V71.6268L229.322%2072.5921V71.6495L230.977%2070.6956Z'%20fill='%23E6F4FF'/%3e%3cpath%20d='M237.782%2080.6665V81.5864L229.333%2086.4697V85.5498L237.782%2080.6665Z'%20fill='%23E6F4FF'/%3e%3cpath%20d='M233.597%2080.9365V81.8564L229.322%2084.3321V83.4009L233.597%2080.9365Z'%20fill='%23E6F4FF'/%3e%3cpath%20d='M230.977%2079.7815V80.7127L229.322%2081.678V80.7354L230.977%2079.7815Z'%20fill='%23E6F4FF'/%3e%3cpath%20d='M310.242%2026.2321L310.162%2053.4197L294.694%2044.4821L294.773%2017.2944L310.242%2026.2321Z'%20stroke='%23E6F4FF'%20stroke-width='0.75'%20stroke-miterlimit='10'/%3e%3cpath%20d='M308.224%2027.3716L308.757%2027.0649L308.677%2054.2526L308.144%2054.5592L308.224%2027.3716Z'%20fill='%23BDC5CB'/%3e%3cpath%20d='M292.754%2018.4301L293.287%2018.1121L308.756%2027.0611L308.223%2027.3677L292.754%2018.4301Z'%20fill='white'/%3e%3cpath%20d='M308.222%2027.3698L308.143%2054.5574L292.674%2045.6198L292.753%2018.4321L308.222%2027.3698Z'%20fill='%23EAF1F7'/%3e%3cpath%20d='M297.045%2028.5267V28.7653C297.045%2028.7974%20297.037%2028.829%20297.021%2028.8568C297.005%2028.8847%20296.983%2028.9079%20296.955%2028.924C296.927%2028.9402%20296.896%2028.9487%20296.864%2028.9488C296.832%2028.9489%20296.8%2028.9405%20296.773%2028.9244L295.638%2028.2767C295.611%2028.2598%20295.588%2028.2364%20295.572%2028.2086C295.557%2028.1809%20295.548%2028.1496%20295.547%2028.1176V27.879C295.547%2027.847%20295.555%2027.8154%20295.571%2027.7875C295.587%2027.7597%20295.61%2027.7365%20295.637%2027.7203C295.665%2027.7042%20295.696%2027.6956%20295.728%2027.6956C295.76%2027.6955%20295.792%2027.7039%20295.819%2027.7199L296.954%2028.3676C296.982%2028.3837%20297.005%2028.4069%20297.021%2028.4349C297.037%2028.4628%20297.045%2028.4945%20297.045%2028.5267Z'%20fill='%2394A3C0'/%3e%3cpath%20d='M300.612%2031.7523V31.9908C300.612%2032.0228%20300.604%2032.0544%20300.588%2032.0822C300.573%2032.1101%20300.55%2032.1332%20300.522%2032.1494C300.494%2032.1655%20300.463%2032.174%20300.431%2032.1741C300.399%2032.1742%20300.368%2032.1658%20300.34%2032.1498L295.645%2029.4583C295.617%2029.4422%20295.594%2029.419%20295.578%2029.391C295.562%2029.3631%20295.554%2029.3314%20295.554%2029.2993V29.0608C295.554%2029.0287%20295.562%2028.9972%20295.578%2028.9694C295.594%2028.9415%20295.616%2028.9183%20295.644%2028.9022C295.672%2028.8861%20295.703%2028.8775%20295.735%2028.8774C295.767%2028.8774%20295.799%2028.8858%20295.826%2028.9018L300.521%2031.5933C300.548%2031.6102%20300.571%2031.6336%20300.587%2031.6613C300.603%2031.6891%20300.611%2031.7204%20300.612%2031.7523Z'%20fill='%2394A3C0'/%3e%3cg%20opacity='0.53'%3e%3cpath%20d='M298.667%2033.0225V33.261C298.667%2033.293%20298.659%2033.3246%20298.643%2033.3524C298.627%2033.3803%20298.604%2033.4035%20298.576%2033.4196C298.549%2033.4357%20298.517%2033.4443%20298.485%2033.4444C298.453%2033.4444%20298.422%2033.436%20298.394%2033.42L295.639%2031.8301C295.61%2031.815%20295.586%2031.792%20295.57%2031.7638C295.554%2031.7357%20295.546%2031.7035%20295.548%2031.6711V31.4326C295.547%2031.4006%20295.556%2031.369%20295.571%2031.3412C295.587%2031.3133%20295.61%2031.2902%20295.638%2031.274C295.665%2031.2579%20295.697%2031.2493%20295.729%2031.2493C295.761%2031.2492%20295.792%2031.2576%20295.82%2031.2736L298.576%2032.8635C298.604%2032.8796%20298.627%2032.9028%20298.643%2032.9308C298.659%2032.9587%20298.667%2032.9904%20298.667%2033.0225Z'%20fill='%2394A3C0'/%3e%3c/g%3e%3cpath%20d='M299.875%2032.5257V32.7642C299.875%2032.7962%20299.867%2032.8278%20299.851%2032.8556C299.835%2032.8835%20299.813%2032.9066%20299.785%2032.9228C299.757%2032.9389%20299.726%2032.9475%20299.694%2032.9475C299.662%2032.9476%20299.63%2032.9392%20299.603%2032.9232L295.645%2030.6519C295.617%2030.6358%20295.594%2030.6126%20295.578%2030.5847C295.562%2030.5567%20295.554%2030.525%20295.554%2030.4929V30.2544C295.554%2030.2223%20295.562%2030.1908%20295.578%2030.163C295.594%2030.1351%20295.616%2030.1119%20295.644%2030.0958C295.672%2030.0797%20295.703%2030.0711%20295.735%2030.071C295.767%2030.071%20295.799%2030.0794%20295.826%2030.0954L299.784%2032.3667C299.812%2032.3828%20299.835%2032.406%20299.851%2032.4339C299.867%2032.4619%20299.875%2032.4935%20299.875%2032.5257Z'%20fill='%2394A3C0'/%3e%3cpath%20d='M297.045%2034.4908V34.7295C297.045%2034.7615%20297.037%2034.7931%20297.021%2034.8209C297.005%2034.8488%20296.983%2034.872%20296.955%2034.8881C296.927%2034.9043%20296.896%2034.9128%20296.864%2034.9129C296.832%2034.913%20296.8%2034.9046%20296.773%2034.8885L295.638%2034.2408C295.611%2034.2239%20295.588%2034.2005%20295.572%2034.1727C295.557%2034.145%20295.548%2034.1137%20295.547%2034.0817V33.8431C295.547%2033.8111%20295.555%2033.7795%20295.571%2033.7516C295.587%2033.7238%20295.61%2033.7006%20295.637%2033.6844C295.665%2033.6683%20295.696%2033.6597%20295.728%2033.6597C295.76%2033.6596%20295.792%2033.668%20295.819%2033.684L296.954%2034.3317C296.982%2034.3478%20297.005%2034.371%20297.021%2034.399C297.037%2034.4269%20297.045%2034.4586%20297.045%2034.4908Z'%20fill='%2394A3C0'/%3e%3cpath%20d='M300.612%2037.7145V37.9529C300.612%2037.985%20300.604%2038.0165%20300.588%2038.0444C300.573%2038.0722%20300.55%2038.0954%20300.522%2038.1115C300.494%2038.1277%20300.463%2038.1362%20300.431%2038.1363C300.399%2038.1363%20300.368%2038.128%20300.34%2038.1119L295.645%2035.4204C295.617%2035.4043%20295.594%2035.3811%20295.578%2035.3532C295.562%2035.3253%20295.554%2035.2936%20295.554%2035.2614V35.0229C295.554%2034.9909%20295.562%2034.9594%20295.578%2034.9315C295.594%2034.9037%20295.616%2034.8805%20295.644%2034.8644C295.672%2034.8482%20295.703%2034.8397%20295.735%2034.8396C295.767%2034.8395%20295.799%2034.8479%20295.826%2034.8639L300.521%2037.5555C300.548%2037.5724%20300.571%2037.5958%20300.587%2037.6235C300.603%2037.6513%20300.611%2037.6825%20300.612%2037.7145Z'%20fill='%2394A3C0'/%3e%3cg%20opacity='0.53'%3e%3cpath%20d='M298.667%2038.9906V39.229C298.667%2039.2611%20298.659%2039.2926%20298.643%2039.3205C298.627%2039.3483%20298.604%2039.3715%20298.576%2039.3876C298.549%2039.4038%20298.517%2039.4123%20298.485%2039.4124C298.453%2039.4125%20298.422%2039.404%20298.394%2039.388L295.639%2037.7981C295.61%2037.783%20295.586%2037.76%20295.57%2037.7319C295.554%2037.7037%20295.546%2037.6715%20295.548%2037.6391V37.4006C295.547%2037.3686%20295.556%2037.3371%20295.571%2037.3092C295.587%2037.2814%20295.61%2037.2582%20295.638%2037.242C295.665%2037.2259%20295.697%2037.2174%20295.729%2037.2173C295.761%2037.2172%20295.792%2037.2256%20295.82%2037.2416L298.576%2038.8316C298.604%2038.8477%20298.627%2038.8708%20298.643%2038.8988C298.659%2038.9267%20298.667%2038.9584%20298.667%2038.9906Z'%20fill='%2394A3C0'/%3e%3c/g%3e%3cpath%20d='M299.875%2038.4879V38.7264C299.875%2038.7584%20299.867%2038.7899%20299.851%2038.8178C299.835%2038.8456%20299.813%2038.8688%20299.785%2038.8849C299.757%2038.9011%20299.726%2038.9096%20299.694%2038.9097C299.662%2038.9098%20299.63%2038.9014%20299.603%2038.8853L295.645%2036.614C295.617%2036.5979%20295.594%2036.5747%20295.578%2036.5468C295.562%2036.5189%20295.554%2036.4872%20295.554%2036.455V36.2165C295.554%2036.1845%20295.562%2036.153%20295.578%2036.1251C295.594%2036.0973%20295.616%2036.0741%20295.644%2036.0579C295.672%2036.0418%20295.703%2036.0333%20295.735%2036.0332C295.767%2036.0331%20295.799%2036.0415%20295.826%2036.0576L299.784%2038.3289C299.812%2038.345%20299.835%2038.3682%20299.851%2038.3961C299.867%2038.424%20299.875%2038.4557%20299.875%2038.4879Z'%20fill='%2394A3C0'/%3e%3cpath%20d='M316.193%2026.9705H314.492V28.6739H316.193V26.9705Z'%20fill='white'/%3e%3cpath%20d='M321.292%2029.8127H317.323V33.7876H321.292V29.8127Z'%20fill='white'/%3e%3cpath%20d='M525.999%20135.142H524.298V136.845H525.999V135.142Z'%20fill='white'/%3e%3cpath%20d='M531.102%20137.982H527.133V141.957H531.102V137.982Z'%20fill='white'/%3e%3cpath%20d='M625.797%200H624.096V1.70349H625.797V0Z'%20fill='white'/%3e%3cpath%20d='M630.903%202.83838H626.934V6.81319H630.903V2.83838Z'%20fill='white'/%3e%3cpath%20d='M541.221%20108.171H539.52V109.875H541.221V108.171Z'%20fill='white'/%3e%3cpath%20d='M546.324%20111.01H542.354V114.984H546.324V111.01Z'%20fill='white'/%3e%3cpath%20d='M394.448%20207.254H392.747V208.958H394.448V207.254Z'%20fill='white'/%3e%3cpath%20d='M399.547%20210.095H395.578V214.07H399.547V210.095Z'%20fill='white'/%3e%3cpath%20d='M81.4377%20163.34H79.7366V165.044H81.4377V163.34Z'%20fill='white'/%3e%3cpath%20d='M86.5408%20166.177H82.5715V170.152H86.5408V166.177Z'%20fill='white'/%3e%3cpath%20d='M195.978%20272.556H194.277V274.26H195.978V272.556Z'%20fill='white'/%3e%3cpath%20d='M201.082%20275.397H197.112V279.372H201.082V275.397Z'%20fill='white'/%3e%3cpath%20d='M609.762%20152.212V153.132L601.313%20158.016V157.096L609.762%20152.212Z'%20fill='%23E6F4FF'/%3e%3cpath%20d='M605.581%20152.484V153.404L601.306%20155.88V154.949L605.581%20152.484Z'%20fill='%23E6F4FF'/%3e%3cpath%20d='M602.957%20151.329V152.26L601.301%20153.226L601.29%20152.283L602.957%20151.329Z'%20fill='%23E6F4FF'/%3e%3cpath%20d='M401.858%20174.723V175.654L393.409%20180.537V179.606L401.858%20174.723Z'%20fill='%23E6F4FF'/%3e%3cpath%20d='M397.677%20174.997V175.928L393.401%20178.392V177.472L397.677%20174.997Z'%20fill='%23E6F4FF'/%3e%3cpath%20d='M395.057%20173.847V174.779L393.402%20175.733L393.39%20174.801L395.057%20173.847Z'%20fill='%23E6F4FF'/%3e%3cpath%20d='M518.674%20137.212C520.036%20138.1%20521.17%20139.297%20521.984%20140.706C522.797%20142.115%20523.268%20143.696%20523.358%20145.321V152.35C523.358%20155.326%20521.237%20156.53%20518.651%20155.031L512.255%20151.34L509.431%20153.679V149.716L504.804%20147.036C503.443%20146.148%20502.31%20144.95%20501.498%20143.541C500.687%20142.132%20500.218%20140.551%20500.132%20138.927V131.897C500.132%20128.922%20502.252%20127.718%20504.838%20129.217L518.674%20137.212ZM522.904%20152.101V145.082C522.828%20143.603%20522.402%20142.163%20521.663%20140.88C520.924%20139.597%20519.892%20138.507%20518.651%20137.7L504.815%20129.751C502.468%20128.388%20500.551%20129.49%20500.54%20132.192V139.222C500.623%20140.698%20501.051%20142.135%20501.789%20143.415C502.528%20144.695%20503.557%20145.784%20504.793%20146.593L509.851%20149.511V152.589L512.051%20150.783L518.64%20154.588C520.999%20155.95%20522.915%20154.86%20522.915%20152.146'%20fill='white'/%3e%3cpath%20d='M509.963%20136.258V136.86C509.962%20136.94%20509.939%20137.019%20509.898%20137.088C509.857%20137.157%20509.799%20137.215%20509.73%20137.255C509.66%20137.295%20509.581%20137.316%20509.501%20137.316C509.421%20137.317%20509.341%20137.296%20509.271%20137.257L506.436%20135.622C506.367%20135.582%20506.309%20135.524%20506.269%20135.454C506.229%20135.384%20506.209%20135.305%20506.209%20135.224V134.622C506.211%20134.542%20506.233%20134.463%20506.274%20134.394C506.315%20134.325%20506.373%20134.268%20506.443%20134.228C506.513%20134.187%20506.591%20134.166%20506.672%20134.166C506.752%20134.165%20506.831%20134.186%20506.901%20134.225L509.725%20135.86C509.797%20135.899%20509.857%20135.956%20509.899%20136.026C509.94%20136.096%20509.963%20136.176%20509.963%20136.258Z'%20fill='%23F9FBFC'/%3e%3cpath%20d='M518.915%20144.377V144.979C518.914%20145.059%20518.891%20145.138%20518.85%20145.207C518.809%20145.276%20518.751%20145.334%20518.682%20145.374C518.612%20145.414%20518.533%20145.435%20518.453%20145.436C518.373%20145.436%20518.293%20145.416%20518.223%20145.376L506.44%20138.563C506.368%20138.525%20506.307%20138.468%20506.265%20138.397C506.223%20138.327%20506.201%20138.247%20506.202%20138.165V137.563C506.204%20137.483%20506.226%20137.404%20506.267%20137.335C506.308%20137.266%20506.366%20137.208%20506.436%20137.168C506.505%20137.128%20506.584%20137.107%20506.664%20137.106C506.745%20137.106%20506.824%20137.126%20506.894%20137.166L518.688%20143.98C518.756%20144.021%20518.813%20144.08%20518.852%20144.149C518.892%20144.219%20518.914%20144.297%20518.915%20144.377Z'%20fill='%23F9FBFC'/%3e%3cg%20opacity='0.53'%3e%3cpath%20d='M514.066%20147.566V148.168C514.066%20148.248%20514.046%20148.327%20514.006%20148.396C513.967%20148.466%20513.91%20148.524%20513.841%20148.564C513.772%20148.605%20513.693%20148.626%20513.613%20148.626C513.533%20148.626%20513.454%20148.605%20513.385%20148.565L506.445%20144.579C506.372%20144.541%20506.312%20144.484%20506.269%20144.414C506.227%20144.344%20506.206%20144.263%20506.206%20144.182V143.58C506.208%20143.499%20506.23%20143.421%20506.271%20143.351C506.312%20143.282%20506.37%20143.225%20506.44%20143.185C506.51%20143.145%20506.588%20143.124%20506.669%20143.123C506.749%20143.123%20506.828%20143.143%20506.898%20143.182L513.828%20147.157C513.9%20147.198%20513.96%20147.257%20514.002%20147.329C514.044%20147.401%20514.066%20147.483%20514.066%20147.566Z'%20fill='%23F9FBFC'/%3e%3c/g%3e%3cpath%20d='M517.097%20146.319V146.921C517.095%20147.001%20517.073%20147.08%20517.032%20147.149C516.991%20147.218%20516.933%20147.276%20516.863%20147.316C516.793%20147.356%20516.715%20147.377%20516.634%20147.377C516.554%20147.378%20516.475%20147.357%20516.405%20147.318L506.448%20141.64C506.375%20141.602%20506.314%20141.545%20506.272%20141.475C506.23%20141.405%20506.209%20141.324%20506.209%20141.242V140.641C506.211%20140.56%20506.233%20140.481%20506.274%20140.412C506.315%20140.343%20506.373%20140.286%20506.443%20140.246C506.513%20140.206%20506.591%20140.184%20506.672%20140.184C506.752%20140.183%20506.831%20140.204%20506.901%20140.243L516.87%20145.921C516.939%20145.962%20516.997%20146.02%20517.037%20146.089C517.077%20146.159%20517.097%20146.238%20517.097%20146.319Z'%20fill='%23F9FBFC'/%3e%3cpath%20d='M284.927%2030.6317C286.323%2031.5387%20287.484%2032.7638%20288.316%2034.2068C289.148%2035.6497%20289.627%2037.2695%20289.713%2038.9333C289.713%2041.9883%20287.558%2043.2148%20284.904%2041.6816C283.508%2040.7745%20282.345%2039.5496%20281.512%2038.1069C280.678%2036.6641%20280.197%2035.0444%20280.107%2033.38C280.119%2030.3818%20282.273%2029.0872%20284.927%2030.6317Z'%20stroke='%23E6F4FF'%20stroke-width='0.75'%20stroke-miterlimit='10'/%3e%3cpath%20d='M286.657%2034.6392L287.689%2036.4222L283.754%2038.6708L281.837%2035.3546L282.869%2034.7641L283.754%2036.2972L286.657%2034.6392Z'%20fill='white'/%3e%3cpath%20d='M605.057%2054.7488L606.134%2057.6788L609.071%2058.769L606.134%2059.8592L605.057%2062.7892L603.968%2059.8592L601.031%2058.769L603.968%2057.6788L605.057%2054.7488Z'%20fill='white'/%3e%3cpath%20d='M618.664%2045.6648L619.742%2048.5948L622.679%2049.685L619.742%2050.7753L618.664%2053.7052L617.575%2050.7753L614.638%2049.685L617.575%2048.5948L618.664%2045.6648Z'%20fill='white'/%3e%3cpath%20d='M628.591%2059.0103L629.362%2061.1112L631.472%2061.8948L629.362%2062.6784L628.591%2064.7794L627.809%2062.6784L625.699%2061.8948L627.809%2061.1112L628.591%2059.0103Z'%20fill='white'/%3e%3cpath%20d='M384.006%20161.057L391.899%20156.435'%20stroke='%23E6F4FF'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M352.2%20179.716L380.563%20163.078'%20stroke='%23E6F4FF'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M352.575%20180.809C352.575%20181.261%20352.44%20181.702%20352.189%20182.076C351.937%20182.451%20351.579%20182.742%20351.161%20182.912C350.744%20183.082%20350.285%20183.124%20349.843%20183.032C349.402%20182.939%20348.998%20182.717%20348.683%20182.394C348.368%20182.07%20348.157%20181.66%20348.076%20181.216C347.995%20180.772%20348.048%20180.314%20348.228%20179.9C348.409%20179.486%20348.708%20179.135%20349.088%20178.892C349.469%20178.65%20349.913%20178.526%20350.364%20178.538C350.955%20178.552%20351.518%20178.798%20351.931%20179.223C352.344%20179.647%20352.575%20180.216%20352.575%20180.809Z'%20stroke='%23E6F4FF'%20stroke-miterlimit='10'/%3e%3cpath%20d='M559.788%2027.6204L567.681%2022.9983'%20stroke='%23E6F4FF'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M527.982%2046.2785L556.346%2029.6411'%20stroke='%23E6F4FF'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M528.358%2047.4156C528.358%2047.8648%20528.224%2048.304%20527.975%2048.6775C527.726%2049.051%20527.372%2049.3421%20526.957%2049.514C526.543%2049.6859%20526.087%2049.7309%20525.647%2049.6433C525.207%2049.5556%20524.803%2049.3393%20524.486%2049.0217C524.168%2048.704%20523.952%2048.2993%20523.865%2047.8587C523.777%2047.4181%20523.822%2046.9614%20523.994%2046.5464C524.166%2046.1314%20524.456%2045.7767%20524.829%2045.5271C525.202%2045.2775%20525.641%2045.1443%20526.089%2045.1443C526.691%2045.1443%20527.268%2045.3836%20527.693%2045.8095C528.119%2046.2355%20528.358%2046.8132%20528.358%2047.4156Z'%20stroke='%23E6F4FF'%20stroke-miterlimit='10'/%3e%3cpath%20d='M641.44%2021.9437L649.333%2017.3215'%20stroke='%23E6F4FF'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M609.635%2040.5979L637.999%2023.9604'%20stroke='%23E6F4FF'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M610.014%2041.733C610.014%2042.1822%20609.881%2042.6214%20609.632%2042.9949C609.383%2043.3684%20609.028%2043.6595%20608.614%2043.8314C608.199%2044.0033%20607.743%2044.0483%20607.303%2043.9607C606.863%2043.873%20606.459%2043.6567%20606.142%2043.3391C605.825%2043.0214%20605.609%2042.6167%20605.521%2042.1761C605.434%2041.7355%20605.479%2041.2788%20605.65%2040.8638C605.822%2040.4488%20606.113%2040.094%20606.486%2039.8445C606.859%2039.5949%20607.297%2039.4617%20607.746%2039.4617C608.347%2039.4617%20608.924%2039.701%20609.35%2040.1269C609.775%2040.5529%20610.014%2041.1306%20610.014%2041.733Z'%20stroke='%23E6F4FF'%20stroke-miterlimit='10'/%3e%3cpath%20d='M10.4121%20314.616L2.53021%20309.993'%20stroke='%23E6F4FF'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M42.2219%20333.27L13.8471%20316.633'%20stroke='%23E6F4FF'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M41.8344%20334.359C41.8344%20334.808%2041.9675%20335.247%2042.2167%20335.621C42.4659%20335.994%2042.8202%20336.285%2043.2346%20336.457C43.6491%20336.629%2044.1051%20336.674%2044.5451%20336.586C44.9851%20336.499%2045.3892%20336.282%2045.7065%20335.965C46.0237%20335.647%2046.2397%20335.242%2046.3272%20334.802C46.4147%20334.361%2046.3698%20333.905%2046.1981%20333.49C46.0265%20333.074%2045.7357%20332.72%2045.3627%20332.47C44.9897%20332.221%2044.5512%20332.087%2044.1026%20332.087C43.5011%20332.087%2042.9241%20332.327%2042.4988%20332.753C42.0734%20333.179%2041.8344%20333.756%2041.8344%20334.359Z'%20stroke='%23E6F4FF'%20stroke-miterlimit='10'/%3e%3cpath%20d='M537.046%20165.261V166.181L545.495%20171.075V170.144L537.046%20165.261Z'%20fill='%23E6F4FF'/%3e%3cpath%20d='M541.227%20165.537V166.457L545.502%20168.932V168.012L541.227%20165.537Z'%20fill='%23E6F4FF'/%3e%3cpath%20d='M543.852%20164.374V165.305L545.507%20166.27L545.519%20165.339L543.852%20164.374Z'%20fill='%23E6F4FF'/%3e%3cpath%20d='M544.63%20195.469C544.85%20195.797%20545.136%20196.075%20545.47%20196.287L545.663%20196.389C545.322%20196.264%20544.982%20196.105%20544.63%20195.935V195.469Z'%20fill='%23747878'/%3e%3cpath%20d='M544.5%20177.641L544%20177.322L544.114%20177.39L544.432%20177.595L544.5%20177.641Z'%20fill='%236C7070'/%3e%3cpath%20d='M544.209%20192.554L544.437%20192.668L544.209%20192.554Z'%20fill='%23747878'/%3e%3cpath%20d='M545.176%20193C545.002%20192.949%20544.817%20192.949%20544.642%20193V192.783C544.816%20192.865%20544.995%20192.937%20545.176%20193Z'%20fill='%23747878'/%3e%3cpath%20d='M545.292%20178.223L545.655%20178.53C545.299%20178.218%20544.919%20177.933%20544.521%20177.677L544.657%20177.768V177.564C544.834%20177.814%20545.048%20178.037%20545.292%20178.223Z'%20fill='%23747878'/%3e%3cpath%20d='M544.046%20174.202C544.273%20174.327%20544.488%20174.463%20544.693%20174.599V175.065C544.513%20175.142%20544.364%20175.276%20544.268%20175.447C544.172%20175.617%20544.134%20175.814%20544.16%20176.008C544.185%20176.567%20544.37%20177.107%20544.693%20177.563V177.768C544.486%20177.618%20544.27%20177.482%20544.046%20177.359C540.44%20175.269%20537.491%20176.95%20537.48%20181.118C537.595%20183.393%20538.247%20185.609%20539.382%20187.583C540.518%20189.557%20542.104%20191.233%20544.012%20192.475L544.216%20192.588L544.454%20192.713L544.659%20192.804V193.02C544.479%20193.095%20544.329%20193.226%20544.231%20193.394C544.133%20193.562%20544.092%20193.758%20544.114%20193.951C544.137%20194.51%20544.323%20195.051%20544.647%20195.507V195.972L544.466%20195.882L544.001%20195.632C538.863%20192.656%20534.724%20185.411%20534.735%20179.562C534.747%20173.713%20538.92%20171.204%20544.046%20174.202Z'%20stroke='%23E6F4FF'%20stroke-width='0.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M545.544%20175.222L545.725%20175.347H545.805C549.516%20178.466%20552.069%20182.747%20553.051%20187.498C553.056%20187.54%20553.056%20187.582%20553.051%20187.623V187.759C553.055%20187.805%20553.055%20187.85%20553.051%20187.896C553.054%20187.941%20553.054%20187.987%20553.051%20188.032V188.168C553.049%20188.214%20553.049%20188.259%20553.051%20188.305C553.051%20188.373%20553.051%20188.407%20553.051%20188.452C553.056%20188.547%20553.056%20188.642%20553.051%20188.736V188.861V190.837C553.048%20190.879%20553.048%20190.92%20553.051%20190.962C553.054%20191.004%20553.054%20191.045%20553.051%20191.087C553.06%20191.128%20553.06%20191.171%20553.051%20191.212C553.059%20191.253%20553.059%20191.295%20553.051%20191.337C553.051%20191.405%20553.051%20191.428%20553.051%20191.462C553.051%20191.496%20553.051%20191.553%20553.051%20191.575C553.051%20191.598%20553.051%20191.757%20553.051%20191.836C553.051%20191.916%20553.051%20191.916%20553.051%20191.95V192.064V192.177V192.279C553.049%20192.317%20553.049%20192.355%20553.051%20192.393V192.507C553.048%20192.544%20553.048%20192.582%20553.051%20192.62C553.047%20192.658%20553.047%20192.696%20553.051%20192.734C552.144%20196.141%20549.309%20197.628%20545.77%20196.356H545.702L545.51%20196.254C545.111%20195.994%20544.779%20195.644%20544.54%20195.232C544.302%20194.819%20544.164%20194.356%20544.137%20193.881C544.115%20193.687%20544.156%20193.492%20544.254%20193.324C544.352%20193.156%20544.502%20193.024%20544.682%20192.949C544.856%20192.899%20545.041%20192.899%20545.215%20192.949H545.283C546.17%20193.309%20547.152%20193.361%20548.073%20193.097H548.186H548.288H548.402L548.492%20193.04H548.594H548.685L548.787%20192.983L548.878%20192.927L548.98%20192.859L549.059%20192.79L549.15%20192.722L549.229%20192.643L549.32%20192.563L549.4%20192.484L549.479%20192.393L549.558%20192.302V192.245V192.177L549.626%20192.075L549.694%20191.973C549.721%20191.937%20549.743%20191.899%20549.762%20191.859L549.831%20191.746V191.643C549.854%20191.608%20549.873%20191.57%20549.887%20191.53C549.892%20191.488%20549.892%20191.446%20549.887%20191.405V191.28V191.155V191.019V190.894C549.884%20190.848%20549.884%20190.803%20549.887%20190.758V190.621C549.884%20190.576%20549.884%20190.53%20549.887%20190.485C549.89%20190.436%20549.89%20190.387%20549.887%20190.337C549.89%20190.284%20549.89%20190.231%20549.887%20190.178C549.892%20190.129%20549.892%20190.08%20549.887%20190.031C549.887%20190.031%20549.887%20189.929%20549.887%20189.883C549.887%20189.838%20549.887%20189.781%20549.887%20189.736C549.887%20189.69%20549.887%20189.622%20549.887%20189.565C549.887%20189.508%20549.887%20189.452%20549.887%20189.406C549.887%20189.361%20549.887%20189.293%20549.887%20189.236V189.065C549.887%20188.997%20549.887%20188.941%20549.887%20188.895C549.893%20188.838%20549.893%20188.781%20549.887%20188.725V188.554C549.894%20188.498%20549.894%20188.441%20549.887%20188.384C549.894%20188.324%20549.894%20188.263%20549.887%20188.202C549.894%20188.146%20549.894%20188.089%20549.887%20188.032C549.887%20187.953%20549.887%20187.896%20549.887%20187.839C549.887%20187.669%20549.887%20187.669%20549.887%20187.498C549.882%20187.438%20549.882%20187.377%20549.887%20187.317C549.883%20187.256%20549.883%20187.195%20549.887%20187.135V186.953C549.887%20186.76%20549.808%20186.59%20549.774%20186.408C549.767%20186.348%20549.767%20186.287%20549.774%20186.226L549.672%20185.863C548.932%20183.323%20547.554%20181.016%20545.668%20179.163L545.555%20179.049L545.419%20178.924L545.351%20178.856L545.271%20178.788L544.897%20178.47C544.665%20178.281%20544.463%20178.059%20544.296%20177.811C543.973%20177.354%20543.788%20176.814%20543.763%20176.255C543.737%20176.061%20543.775%20175.864%20543.872%20175.694C543.968%20175.524%20544.117%20175.39%20544.296%20175.313C544.472%20175.177%20544.684%20175.096%20544.906%20175.079C545.128%20175.063%20545.35%20175.113%20545.544%20175.222Z'%20fill='%2358AFFB'/%3e%3cpath%20d='M545.724%20175.349L545.543%20175.224C545.291%20175.06%20544.985%20175.003%20544.692%20175.065V174.61C544.998%20174.837%20545.395%20175.087%20545.724%20175.349Z'%20fill='%23747878'/%3e%3cpath%20d='M579.805%2062.4946V63.4145L571.356%2068.2978V67.378L579.805%2062.4946Z'%20fill='%23E6F4FF'/%3e%3cpath%20d='M575.616%2062.7666V63.6865L571.341%2066.1622V65.231L575.616%2062.7666Z'%20fill='%23E6F4FF'/%3e%3cpath%20d='M573%2061.6077V62.5389L571.344%2063.5042L571.333%2062.573L573%2061.6077Z'%20fill='%23E6F4FF'/%3e%3cpath%20d='M548.123%2073.3742L548.214%20102.413L564.726%2092.8622L564.646%2063.8347L548.123%2073.3742Z'%20stroke='%23E6F4FF'%20stroke-width='0.8'%20stroke-miterlimit='10'/%3e%3cpath%20d='M550.291%2074.5995L549.713%2074.2588L549.803%20103.298L550.37%20103.627L550.291%2074.5995Z'%20fill='%23BDC5CB'/%3e%3cpath%20d='M566.803%2065.049L566.236%2064.7083L549.713%2074.2591L550.291%2074.5998L566.803%2065.049Z'%20fill='white'/%3e%3cpath%20d='M550.291%2074.5985L550.371%20103.626L566.883%2094.075L566.803%2065.0476L550.291%2074.5985Z'%20fill='%23EAF1F7'/%3e%3cpath%20d='M561.945%2078.3853L561.957%2079.3051L553.496%2084.1998V83.2686L561.945%2078.3853Z'%20fill='%2394A3C0'/%3e%3cpath%20d='M557.76%2078.6553L557.772%2079.5752L553.496%2082.0509V81.131L557.76%2078.6553Z'%20fill='%2394A3C0'/%3e%3cpath%20d='M555.148%2077.4963L555.16%2078.4276L553.492%2079.3929V78.4616L555.148%2077.4963Z'%20fill='%2394A3C0'/%3e%3cpath%20d='M561.945%2087.6621L561.957%2088.582L553.496%2093.4653V92.5454L561.945%2087.6621Z'%20fill='%2394A3C0'/%3e%3cpath%20d='M557.76%2087.9321L557.772%2088.852L553.496%2091.3278V90.3965L557.76%2087.9321Z'%20fill='%2394A3C0'/%3e%3cpath%20d='M555.148%2086.7771L555.16%2087.7083L553.492%2088.6736V87.731L555.148%2086.7771Z'%20fill='%2394A3C0'/%3e%3c/svg%3e`,zh=`data:image/svg+xml,%3csvg%20width='22'%20height='32'%20viewBox='0%200%2022%2032'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M19.1593%2014.3814C17.2069%2015.0272%205.56056%2018.3882%205.56056%2018.3882C4.03868%2021.4659%2011.1005%2023.4995%2011.1005%2023.4995C6.62739%2019.7609%2013.9819%2017.901%2018.4833%2016.4868C23.7193%2014.8403%2020.7473%2012.4385%2020.7473%2012.4385C21.0173%2013.2089%2020.6906%2013.8716%2019.1574%2014.3776'%20fill='white'/%3e%3cpath%20d='M19.9428%2015.3237C18.6683%2015.7448%2014.2688%2016.9796%2010.7945%2018.3807C6.36106%2020.1763%2011.1004%2023.5014%2011.1004%2023.5014C6.62729%2019.7628%2013.9818%2017.903%2018.4832%2016.4887C23.7211%2014.8403%2020.7491%2012.4404%2020.7491%2012.4404C21.4477%2013.36%2021.476%2014.8177%2019.9428%2015.3237Z'%20fill='white'/%3e%3cpath%20d='M5.56915%2023.6885C8.14464%2026.9022%2013.0124%2030.0007%2015.7314%2031.5887C16.8794%2032.259%2018.3295%2032.0966%2019.3001%2031.1903C20.1007%2030.4425%2020.1422%2029.1869%2019.3945%2028.3863C19.2472%2028.2277%2019.0754%2028.0955%2018.8847%2027.9936C16.1657%2026.5321%2011.7624%2024.0756%208.74509%2021.923C4.09636%2018.6111%207.66693%2017.7822%207.66693%2017.7822C3.3392%2018.7414%202.58392%2019.9688%205.56915%2023.6828'%20fill='white'/%3e%3cpath%20d='M3.38919%2016.1084C-1.84676%2017.753%201.12525%2020.1567%201.12525%2020.1567C0.853355%2019.3844%201.1819%2018.7235%202.71511%2018.2175C4.67505%2017.5698%2016.312%2014.207%2016.312%2014.207C17.8357%2011.1292%2010.7739%209.09375%2010.7739%209.09375C15.2433%2012.8324%207.88875%2014.6941%203.38919%2016.1084Z'%20fill='white'/%3e%3cpath%20d='M3.38919%2016.1084C-1.84676%2017.753%201.12525%2020.1567%201.12525%2020.1567C0.426624%2019.2371%200.38886%2017.7794%201.92962%2017.2734C3.20604%2016.8523%207.60552%2015.6174%2011.0798%2014.2164C15.5114%2012.4207%2010.7739%209.09375%2010.7739%209.09375C15.2433%2012.8324%207.88875%2014.6941%203.38919%2016.1084Z'%20fill='white'/%3e%3cpath%20d='M2.57331%201.40596C1.77272%202.15368%201.72929%203.40933%202.47701%204.20992C2.62429%204.36853%202.79612%204.5007%202.98682%204.60266C5.70771%206.06412%2010.111%208.51877%2013.1283%2010.6732C17.777%2013.9851%2014.2065%2014.814%2014.2065%2014.814C18.5323%2013.8529%2019.2895%2012.6275%2016.3042%208.9134C13.7287%205.6997%208.86098%202.59929%206.1401%201.01321C4.99397%200.342905%203.54195%200.50529%202.57331%201.41162'%20fill='white'/%3e%3cg%20opacity='0.3'%3e%3cpath%20d='M15.6146%2014.4409C15.8714%2014.3635%2016.1093%2014.2823%2016.3264%2014.1973C16.4284%2014.0293%2016.4945%2013.8404%2016.519%2013.646C16.5473%2013.391%2016.5152%2013.1324%2016.4227%2012.8907C16.3377%2012.6622%2016.2207%2012.447%2016.0791%2012.2487C15.9431%2012.0523%2015.7921%2011.8692%2015.6278%2011.6973C15.303%2011.365%2014.9518%2011.0572%2014.5798%2010.7778C13.8434%2010.2264%2013.0655%209.72607%2012.2895%209.23325C11.5134%208.74232%2010.7223%208.27405%209.92923%207.81333C8.34315%206.89378%206.73441%206.00633%205.13134%205.12077L3.93045%204.45235C3.52826%204.24087%203.17328%203.95009%202.88817%203.597C2.75033%203.41951%202.65026%203.2137%202.5955%202.99467C2.54263%202.77564%202.55396%202.54528%202.6276%202.33191C2.70312%202.11855%202.82019%201.92218%202.97125%201.75413C3.04677%201.66916%203.12797%201.58797%203.21294%201.51055L3.34133%201.40103L3.40931%201.34817L3.44518%201.32173L3.46218%201.30851C3.46218%201.30851%203.47351%201.31795%203.46218%201.29152C3.45085%201.26509%203.46218%201.29152%203.44707%201.28019H3.43763L3.42064%201.29341L3.38476%201.31984L3.31679%201.37082L3.18272%201.48034C3.09587%201.55587%203.01279%201.63706%202.93537%201.72392C2.77488%201.89385%202.65026%202.094%202.56717%202.31303C2.48787%202.53584%202.47276%202.77564%202.52375%203.006C2.5785%203.23447%202.67858%203.44783%202.82019%203.63476C3.1072%204.00107%203.46595%204.30507%203.8738%204.52977L5.06525%205.21707C6.657%206.13662%208.24874%207.03728%209.81783%207.9776C10.6014%208.44965%2011.3794%208.93303%2012.1479%209.43151C12.9145%209.92999%2013.6754%2010.4455%2014.3929%2010.9968C14.7498%2011.2725%2015.0821%2011.5765%2015.3918%2011.905C15.6977%2012.2166%2015.9375%2012.5867%2016.0998%2012.9926C16.1678%2013.1833%2016.1924%2013.3892%2016.1678%2013.5912C16.1376%2013.7876%2016.0564%2013.9745%2015.9299%2014.1293C15.8355%2014.2445%2015.7279%2014.3484%2015.607%2014.4371'%20fill='white'/%3e%3c/g%3e%3c/svg%3e`,Bh=`data:image/svg+xml,%3csvg%20width='89'%20height='21'%20viewBox='0%200%2089%2021'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M12.4537%209.65056L5.6297%2017.2781H12.9309C13.4136%2017.243%2013.8916%2017.3924%2014.2685%2017.696C14.4166%2017.8312%2014.5335%2017.997%2014.6112%2018.1818C14.6889%2018.3667%2014.7255%2018.5662%2014.7185%2018.7666C14.7242%2018.9592%2014.6875%2019.1507%2014.6111%2019.3276C14.5346%2019.5045%2014.4202%2019.6624%2014.2759%2019.7902C13.9792%2020.0539%2013.5309%2020.1858%2012.9309%2020.1858H2.83086C2.12127%2020.1858%201.59463%2020.0325%201.24107%2019.7209C1.0652%2019.5615%200.926946%2019.3651%200.836296%2019.1457C0.745646%2018.9264%200.704869%2018.6896%200.716905%2018.4526C0.728826%2018.0998%200.858518%2017.7612%201.0853%2017.4908C1.3309%2017.1611%201.84023%2016.5677%202.61329%2015.7106C3.43744%2014.8007%204.17918%2013.9766%204.83851%2013.2381C5.50608%2012.4964%206.12667%2011.8115%206.70028%2011.1687C7.27389%2010.5258%207.74861%209.98434%208.1269%209.5393C8.50519%209.09426%208.80683%208.71103%209.03429%208.39208H3.5009C2.9168%208.41478%202.33277%208.34553%201.77017%208.18686C1.37787%208.0517%201.18173%207.69237%201.18173%207.10887C1.17386%206.91572%201.2098%206.7233%201.28688%206.54603C1.36395%206.36876%201.48015%206.21123%201.62677%206.08526C1.98683%205.80907%202.43488%205.6729%202.88773%205.70203H11.4425C12.0692%205.66774%2012.6949%205.78744%2013.2647%206.05065C13.6867%206.28306%2013.8985%206.69926%2013.9001%207.29924C13.8974%207.51195%2013.8555%207.72233%2013.7765%207.91984C13.7093%208.10655%2013.6179%208.28361%2013.5045%208.44647C13.4032%208.58246%2013.2573%208.74811%2013.0941%208.94097C12.9309%209.13382%2012.7084%209.37118%2012.4537%209.64562'%20fill='white'/%3e%3cpath%20d='M17.2637%203.64451C16.7764%203.65633%2016.3022%203.4862%2015.9335%203.16732C15.7567%202.99393%2015.6165%202.78678%2015.5212%202.55816C15.4259%202.32955%2015.3776%202.08413%2015.3789%201.83647C15.3803%201.58881%2015.4314%201.34394%2015.5292%201.11641C15.6271%200.888871%2015.7696%200.683299%2015.9483%200.511889C16.3048%200.178623%2016.7758%20-0.00464918%2017.2637%208.96584e-05C17.7334%20-0.00408682%2018.1889%200.160906%2018.5469%200.464912C18.7373%200.632%2018.8868%200.84066%2018.9837%201.07475C19.0806%201.30884%2019.1223%201.56208%2019.1057%201.81488C19.1194%202.06527%2019.0778%202.31562%2018.9838%202.5481C18.8898%202.78058%2018.7457%202.98947%2018.5617%203.15991C18.2073%203.48319%2017.7434%203.65992%2017.2637%203.6544M19.1057%207.50404V18.2716C19.1057%2019.0134%2018.9301%2019.5821%2018.5741%2019.9628C18.4037%2020.15%2018.1948%2020.2981%2017.9618%2020.3972C17.7288%2020.4962%2017.4772%2020.5437%2017.2241%2020.5364C16.9723%2020.5445%2016.7219%2020.4961%2016.4913%2020.3947C16.2607%2020.2933%2016.0557%2020.1415%2015.8915%2019.9505C15.5503%2019.5598%2015.3797%2018.9986%2015.3797%2018.2716V7.60294C15.3797%206.86614%2015.5503%206.31066%2015.8915%205.93649C16.0602%205.75283%2016.2667%205.6078%2016.4967%205.51136C16.7267%205.41491%2016.9749%205.36933%2017.2241%205.37771C17.4758%205.37068%2017.7261%205.41681%2017.9587%205.5131C18.1913%205.60938%2018.401%205.75366%2018.5741%205.93649C18.9496%206.3654%2019.1406%206.92517%2019.1057%207.49415'%20fill='white'/%3e%3cpath%20d='M24.8301%207.43997V7.88996C25.3957%207.10255%2026.1308%206.45199%2026.9811%205.98616C27.8125%205.56827%2028.7334%205.3595%2029.6637%205.37793C30.5817%205.36311%2031.4882%205.58356%2032.2969%206.0183C33.0505%206.42702%2033.6562%207.06291%2034.0276%207.83557C34.2757%208.29687%2034.4375%208.79962%2034.5048%209.31905C34.5864%209.98918%2034.6227%2010.664%2034.6136%2011.3391V18.262C34.6136%2019.0087%2034.443%2019.5724%2034.1018%2019.9531C33.9362%2020.141%2033.731%2020.2899%2033.501%2020.3891C33.271%2020.4883%2033.0219%2020.5353%2032.7716%2020.5268C32.5172%2020.5353%2032.2641%2020.4872%2032.0306%2020.3858C31.7971%2020.2845%2031.5891%2020.1325%2031.4217%2019.9408C31.0755%2019.5501%2030.9024%2018.9889%2030.9024%2018.262V12.0511C30.9024%2010.8149%2030.7318%209.88524%2030.3906%209.23251C30.0494%208.57978%2029.3695%208.25836%2028.3508%208.25836C27.6969%208.25479%2027.0594%208.46296%2026.5336%208.85175C25.9783%209.26214%2025.5602%209.83104%2025.3344%2010.4836C25.1515%2011.0374%2025.06%2012.0742%2025.06%2013.594V18.262C25.06%2019.0169%2024.8853%2019.5831%2024.5358%2019.9606C24.3635%2020.1468%2024.153%2020.2938%2023.9188%2020.3915C23.6846%2020.4892%2023.4321%2020.5353%2023.1784%2020.5268C22.9279%2020.5335%2022.679%2020.4845%2022.4498%2020.3831C22.2206%2020.2818%2022.0168%2020.1307%2021.8532%2019.9408C21.5071%2019.5501%2021.334%2018.9889%2021.334%2018.262V7.49436C21.334%206.78477%2021.4897%206.25813%2021.7988%205.90457C21.958%205.72826%2022.1543%205.58954%2022.3737%205.49845C22.5931%205.40737%2022.8299%205.3662%2023.0672%205.37793C23.3787%205.37314%2023.6856%205.4535%2023.9548%205.61034C24.2293%205.77571%2024.45%206.01702%2024.5902%206.30511C24.7616%206.6584%2024.8463%207.04742%2024.8375%207.43997'%20fill='white'/%3e%3cpath%20d='M40.2031%207.43997V7.88996C40.7688%207.10255%2041.5038%206.45199%2042.3542%205.98616C43.1847%205.56829%2044.1047%205.3595%2045.0343%205.37793C45.9531%205.36279%2046.8605%205.58325%2047.67%206.0183C48.4231%206.4277%2049.0285%207.06339%2049.4007%207.83557C49.6477%208.29734%2049.8093%208.79988%2049.8779%209.31905C49.9582%209.98929%2049.9945%2010.6641%2049.9867%2011.3391V18.262C49.9867%2019.0087%2049.8161%2019.5724%2049.4749%2019.9531C49.3093%2020.141%2049.1041%2020.2899%2048.8741%2020.3891C48.6441%2020.4883%2048.395%2020.5353%2048.1447%2020.5268C47.89%2020.5347%2047.6367%2020.4862%2047.403%2020.3849C47.1692%2020.2836%2046.9606%2020.132%2046.7922%2019.9408C46.4461%2019.5501%2046.2755%2018.9889%2046.2755%2018.262V12.0511C46.2755%2010.8149%2046.1049%209.88524%2045.7637%209.23251C45.4225%208.57978%2044.7401%208.25836%2043.7214%208.25836C43.0683%208.25514%2042.4317%208.4633%2041.9066%208.85175C41.3499%209.26122%2040.9308%209.83035%2040.705%2010.4836C40.5237%2011.0374%2040.433%2012.0742%2040.433%2013.594V18.262C40.433%2019.0169%2040.2575%2019.5831%2039.9064%2019.9606C39.7344%2020.1472%2039.524%2020.2945%2039.2897%2020.3922C39.0554%2020.4899%2038.8027%2020.5358%2038.549%2020.5268C38.2989%2020.5332%2038.0505%2020.4839%2037.8217%2020.3826C37.5929%2020.2813%2037.3896%2020.1303%2037.2263%2019.9408C36.8801%2019.5501%2036.707%2018.9889%2036.707%2018.262V7.49436C36.707%206.78477%2036.8628%206.25813%2037.1719%205.90457C37.331%205.72826%2037.5274%205.58954%2037.7468%205.49845C37.9661%205.40737%2038.203%205.3662%2038.4402%205.37793C38.7517%205.37314%2039.0587%205.4535%2039.3279%205.61034C39.6023%205.77571%2039.823%206.01702%2039.9633%206.30511C40.1346%206.6584%2040.2194%207.04742%2040.2105%207.43997'%20fill='white'/%3e%3cpath%20d='M62.5909%2013.8682H55.3045C55.2961%2014.6445%2055.4706%2015.4119%2055.8138%2016.1083C56.0972%2016.7002%2056.5443%2017.1985%2057.1021%2017.5442C57.6599%2017.8899%2058.3051%2018.0686%2058.9613%2018.059C59.3736%2018.0634%2059.7846%2018.0109%2060.1827%2017.9033C60.5618%2017.7916%2060.9225%2017.625%2061.2533%2017.4088C61.5893%2017.1934%2061.9091%2016.9538%2062.2101%2016.6918C62.5002%2016.4363%2062.8777%2016.091%2063.3425%2015.6558C63.5761%2015.4765%2063.8671%2015.3885%2064.1609%2015.4086C64.4983%2015.3935%2064.8292%2015.5056%2065.0881%2015.7226C65.2092%2015.835%2065.304%2015.973%2065.3656%2016.1264C65.4271%2016.2799%2065.454%2016.4451%2065.4441%2016.6102C65.4164%2017.0309%2065.2801%2017.4372%2065.0485%2017.7895C64.736%2018.2937%2064.3308%2018.7342%2063.8543%2019.0876C63.2467%2019.5398%2062.5682%2019.8882%2061.8467%2020.1186C60.9495%2020.4048%2060.0116%2020.5426%2059.0701%2020.5266C56.6767%2020.5266%2054.8158%2019.8442%2053.4872%2018.4794C52.1587%2017.1146%2051.4944%2015.2635%2051.4944%2012.9262C51.4863%2011.8837%2051.6534%2010.8473%2051.9889%209.86033C52.2925%208.96156%2052.7819%208.1368%2053.4254%207.43978C54.0703%206.75306%2054.8635%206.22281%2055.7446%205.88954C56.7214%205.5203%2057.7588%205.33747%2058.803%205.35054C60.1121%205.31362%2061.4066%205.63234%2062.5488%206.27277C63.5369%206.83149%2064.3482%207.65648%2064.8903%208.65376C65.3902%209.56343%2065.6569%2010.5828%2065.6666%2011.6207C65.6666%2012.5586%2065.3988%2013.166%2064.8631%2013.4429C64.3241%2013.7199%2063.57%2013.8583%2062.5958%2013.8583M55.3094%2011.7443H62.0642C61.9736%2010.4718%2061.6299%209.5183%2061.0332%208.8837C60.7303%208.56817%2060.3638%208.32058%2059.9581%208.15733C59.5523%207.99408%2059.1164%207.91889%2058.6794%207.93674C58.2515%207.92332%2057.8257%208.00227%2057.431%208.16824C57.0364%208.33422%2056.6821%208.5833%2056.3924%208.89853C55.7957%209.53808%2055.4347%2010.4867%2055.3094%2011.7443Z'%20fill='white'/%3e%3cpath%20d='M75.0025%2018.9842L72.3001%2015.0135L69.5309%2018.9842C69.2359%2019.4182%2068.8925%2019.8172%2068.5073%2020.1735C68.21%2020.4156%2067.8347%2020.5412%2067.4516%2020.5271C67.0071%2020.5377%2066.5751%2020.3796%2066.2425%2020.0845C66.0908%2019.9616%2065.9679%2019.8069%2065.8825%2019.6313C65.797%2019.4557%2065.7511%2019.2635%2065.748%2019.0683C65.748%2018.676%2066.0027%2018.1164%2066.512%2017.3895L69.882%2012.5583L66.8928%208.53063C66.3736%207.86801%2066.1164%207.2944%2066.1164%206.7999C66.1177%206.61148%2066.1597%206.42556%2066.2395%206.25486C66.3193%206.08417%2066.435%205.93273%2066.5788%205.81092C66.9148%205.51876%2067.3505%205.36733%2067.7952%205.38813C68.1892%205.37419%2068.5745%205.50527%2068.8782%205.75652C69.2554%206.10401%2069.5921%206.49301%2069.882%206.91611L72.2976%2010.2193L74.6465%206.91611C74.9393%206.48057%2075.2857%206.08351%2075.6775%205.73427C75.9802%205.4913%2076.3601%205.36497%2076.7481%205.37823C77.1925%205.36149%2077.6274%205.5094%2077.9695%205.79361C78.1225%205.9126%2078.2465%206.06477%2078.3321%206.23866C78.4178%206.41254%2078.4629%206.6036%2078.464%206.79743C78.4633%207.08041%2078.3955%207.3592%2078.2661%207.61087C78.0919%207.93536%2077.8883%208.24322%2077.6579%208.53063L74.6489%2012.5583L78.0189%2017.3895C78.5447%2018.1444%2078.8084%2018.7131%2078.8101%2019.0955C78.8094%2019.2901%2078.7645%2019.482%2078.6789%2019.6568C78.5932%2019.8315%2078.469%2019.9845%2078.3156%2020.1043C77.9771%2020.3904%2077.5446%2020.5411%2077.1016%2020.5271C76.7074%2020.538%2076.3223%2020.4073%2076.0162%2020.1587C75.6305%2019.8104%2075.2892%2019.416%2075%2018.9842'%20fill='white'/%3e%3cpath%20d='M80.1811%205.70949H80.5915V3.46944C80.5915%202.86863%2080.6064%202.39886%2080.6385%202.05766C80.6608%201.74802%2080.752%201.44728%2080.9055%201.17746C81.0552%200.917818%2081.2721%200.703405%2081.5335%200.556866C81.8103%200.392732%2082.1266%200.307244%2082.4484%200.309618C82.9289%200.31336%2083.3891%200.504012%2083.7316%200.841198C83.9854%201.06984%2084.1588%201.37415%2084.2261%201.70904C84.3039%202.18956%2084.3378%202.67618%2084.3274%203.16285V5.70949H85.6922C86.1277%205.67931%2086.5587%205.81242%2086.9013%206.08284C87.037%206.20323%2087.1446%206.35203%2087.2164%206.51868C87.2882%206.68533%2087.3224%206.86574%2087.3167%207.0471C87.3338%207.26146%2087.2865%207.47606%2087.1808%207.66332C87.075%207.85057%2086.9157%208.00192%2086.7233%208.0979C86.187%208.32481%2085.6062%208.4271%2085.0247%208.39707H84.3274V15.2483C84.3202%2015.6975%2084.3409%2016.1467%2084.3892%2016.5933C84.4163%2016.8756%2084.5304%2017.1426%2084.7156%2017.3573C84.8317%2017.4641%2084.969%2017.5452%2085.1185%2017.5955C85.268%2017.6457%2085.4264%2017.664%2085.5835%2017.6491C85.8823%2017.6397%2086.1795%2017.6016%2086.4711%2017.5353C86.7574%2017.4677%2087.0498%2017.4288%2087.3439%2017.4191C87.4965%2017.4205%2087.6473%2017.4533%2087.7868%2017.5154C87.9263%2017.5775%2088.0516%2017.6676%2088.1548%2017.7801C88.2737%2017.8963%2088.3673%2018.0357%2088.4298%2018.1897C88.4924%2018.3437%2088.5225%2018.509%2088.5183%2018.6751C88.5183%2019.2735%2088.1886%2019.7325%2087.5293%2020.0523C86.87%2020.3721%2085.9288%2020.5311%2084.7057%2020.5295C83.5387%2020.5295%2082.6585%2020.3342%2082.0577%2019.9435C81.469%2019.5736%2081.0444%2018.9924%2080.8709%2018.3191C80.6615%2017.4107%2080.5677%2016.4794%2080.5915%2015.5475V8.39459H80.097C79.6515%208.42648%2079.2102%208.28969%2078.8608%208.01136C78.7234%207.8914%2078.6142%207.74251%2078.5411%207.57537C78.468%207.40823%2078.4328%207.22698%2078.438%207.04463C78.4337%206.8606%2078.4716%206.67803%2078.5487%206.5109C78.6259%206.34376%2078.7402%206.19649%2078.8831%206.08036C79.2545%205.807%2079.7111%205.67466%2080.1712%205.70702'%20fill='white'/%3e%3c/svg%3e`,Vh=`data:image/svg+xml,%3csvg%20width='7'%20height='13'%20viewBox='0%200%207%2013'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M5.04492%206.50535L0.757579%2010.7927C0.457835%2011.0924%200.457835%2011.5784%200.757579%2011.8782C1.05732%2012.1779%201.54331%2012.1779%201.84305%2011.8782L6.67312%207.04809C6.97287%206.74835%206.97287%206.26236%206.67312%205.96262L1.84305%201.13255C1.54331%200.832802%201.05732%200.832802%200.757579%201.13255C0.457835%201.43229%200.457835%201.91827%200.757579%202.21802L5.04492%206.50535Z'%20fill='white'/%3e%3c/svg%3e`,Hh=`data:image/svg+xml,%3csvg%20width='20'%20height='20'%20viewBox='0%200%2020%2020'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M10%2019C5.5544%2017.9895%202%2013.6998%202%209.18182V4.27273L10%201L18%204.27273V9.18182C18%2013.7015%2014.4456%2017.9895%2010%2019ZM3.6%205.09091V9.18182C3.64572%2011.0736%204.29629%2012.8979%205.45214%2014.3755C6.608%2015.8532%208.20545%2016.9028%2010%2017.3636C11.7946%2016.9028%2013.392%2015.8532%2014.5479%2014.3755C15.7037%2012.8979%2016.3543%2011.0736%2016.4%209.18182V5.09091L10%202.63636L3.6%205.09091Z'%20fill='%23C9C9E8'/%3e%3cpath%20d='M10%209.18185C11.1046%209.18185%2012%208.26607%2012%207.1364C12%206.00672%2011.1046%205.09094%2010%205.09094C8.89543%205.09094%208%206.00672%208%207.1364C8%208.26607%208.89543%209.18185%2010%209.18185Z'%20fill='%23C9C9E8'/%3e%3cpath%20d='M6%2012.4545C6.39431%2013.1894%206.97247%2013.804%207.67531%2014.2353C8.37815%2014.6666%209.18042%2014.8991%2010%2014.9091C10.8196%2014.8991%2011.6219%2014.6666%2012.3247%2014.2353C13.0275%2013.804%2013.6057%2013.1894%2014%2012.4545C13.98%2010.9033%2011.3264%2010%2010%2010C8.6664%2010%206.02%2010.9033%206%2012.4545Z'%20fill='%23C9C9E8'/%3e%3c/svg%3e`,Uh=`data:image/svg+xml,%3csvg%20width='20'%20height='20'%20viewBox='0%200%2020%2020'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M6.66669%202.5H13.3334C14.2538%202.5%2015%203.24619%2015%204.16667V17.5L10%2015L5%2017.5V4.16667C5%203.24619%205.74621%202.5%206.66669%202.5Z'%20stroke='%23C9C9E8'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M7.91669%207.5H12.0834'%20stroke='%23C9C9E8'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M7.91669%2010.8333H10.8334'%20stroke='%23C9C9E8'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M15%205.83333H16.25C16.9404%205.83333%2017.5%206.39298%2017.5%207.08333V13.75C17.5%2014.4404%2016.9404%2015%2016.25%2015H15'%20stroke='%23C9C9E8'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M5%2015H3.75C3.05964%2015%202.5%2014.4404%202.5%2013.75V7.08333C2.5%206.39298%203.05964%205.83333%203.75%205.83333H5'%20stroke='%23C9C9E8'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e`,Wh=`data:image/svg+xml,%3csvg%20width='20'%20height='20'%20viewBox='0%200%2020%2020'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M17%205.3335H3.66667C2.74619%205.3335%202%206.07969%202%207.00016V15.3335C2%2016.254%202.74619%2017.0002%203.66667%2017.0002H17C17.9205%2017.0002%2018.6667%2016.254%2018.6667%2015.3335V7.00016C18.6667%206.07969%2017.9205%205.3335%2017%205.3335Z'%20stroke='%23C9C9E8'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M13.6667%2017V3.66667C13.6667%203.22464%2013.4911%202.80072%2013.1785%202.48816C12.866%202.17559%2012.442%202%2012%202H8.66667C8.22464%202%207.80072%202.17559%207.48816%202.48816C7.1756%202.80072%207%203.22464%207%203.66667V17'%20stroke='%23C9C9E8'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e`,Gh=`data:image/svg+xml,%3csvg%20width='20'%20height='20'%20viewBox='0%200%2020%2020'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M19.1667%2017.5V15.8333C19.1661%2015.0948%2018.9203%2014.3773%2018.4678%2013.7936C18.0153%2013.2099%2017.3818%2012.793%2016.6667%2012.6083'%20stroke='%23C9C9E8'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M14.1667%2017.5V15.8333C14.1667%2014.9493%2013.8155%2014.1014%2013.1904%2013.4763C12.5652%2012.8512%2011.7174%2012.5%2010.8333%2012.5H4.16668C3.28262%2012.5%202.43478%2012.8512%201.80965%2013.4763C1.18453%2014.1014%200.833344%2014.9493%200.833344%2015.8333V17.5'%20stroke='%23C9C9E8'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M13.3333%202.60834C14.0504%202.79192%2014.6859%203.20892%2015.1397%203.7936C15.5935%204.37827%2015.8399%205.09736%2015.8399%205.8375C15.8399%206.57765%2015.5935%207.29674%2015.1397%207.88141C14.6859%208.46609%2014.0504%208.88309%2013.3333%209.06667'%20stroke='%23C9C9E8'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M7.49999%209.16667C9.34094%209.16667%2010.8333%207.67428%2010.8333%205.83333C10.8333%203.99238%209.34094%202.5%207.49999%202.5C5.65904%202.5%204.16666%203.99238%204.16666%205.83333C4.16666%207.67428%205.65904%209.16667%207.49999%209.16667Z'%20stroke='%23C9C9E8'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e`,Kh=`data:image/svg+xml,%3csvg%20width='20'%20height='20'%20viewBox='0%200%2020%2020'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M3.33331%205.83333C3.33331%204.91286%204.07951%204.16667%204.99998%204.16667H11.6666C12.5871%204.16667%2013.3333%204.91286%2013.3333%205.83333V12.5C13.3333%2013.4205%2012.5871%2014.1667%2011.6666%2014.1667H4.99998C4.07951%2014.1667%203.33331%2013.4205%203.33331%2012.5V5.83333Z'%20stroke='%23C9C9E8'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M6.24998%208.33333C6.24998%207.8731%206.62308%207.5%207.08331%207.5H9.16665C9.62688%207.5%209.99998%207.8731%209.99998%208.33333C9.99998%208.79357%209.62688%209.16667%209.16665%209.16667H7.08331C6.62308%209.16667%206.24998%208.79357%206.24998%208.33333Z'%20stroke='%23C9C9E8'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M5.83331%2011.6667H10.8333'%20stroke='%23C9C9E8'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M13.3333%207.5H15.8333C16.7538%207.5%2017.5%208.24619%2017.5%209.16667C17.5%2010.0871%2016.7538%2010.8333%2015.8333%2010.8333H13.3333'%20stroke='%23C9C9E8'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M13.3333%2014.1667L15.4166%2016.25'%20stroke='%23C9C9E8'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M16.25%2017.5C16.9403%2017.5%2017.5%2016.9404%2017.5%2016.25C17.5%2015.5596%2016.9403%2015%2016.25%2015C15.5596%2015%2015%2015.5596%2015%2016.25C15%2016.9404%2015.5596%2017.5%2016.25%2017.5Z'%20stroke='%23C9C9E8'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M2.49998%203.33333C3.19034%203.33333%203.74998%202.77369%203.74998%202.08333C3.74998%201.39298%203.19034%200.833333%202.49998%200.833333C1.80962%200.833333%201.24998%201.39298%201.24998%202.08333C1.24998%202.77369%201.80962%203.33333%202.49998%203.33333Z'%20stroke='%23C9C9E8'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M3.41665%202.91667L4.99998%204.16667'%20stroke='%23C9C9E8'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e`,qh=`data:image/svg+xml,%3csvg%20width='20'%20height='20'%20viewBox='0%200%2020%2020'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M17.5%2011.6667H11.6667V17.5001H17.5V11.6667Z'%20stroke='%23C9C9E8'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M8.33333%2011.6667H2.5V17.5001H8.33333V11.6667Z'%20stroke='%23C9C9E8'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M17.5%202.5H11.6667V8.33333H17.5V2.5Z'%20stroke='%23C9C9E8'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M8.33333%202.5H2.5V8.33333H8.33333V2.5Z'%20stroke='%23C9C9E8'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e`,Jh=`data:image/svg+xml,%3csvg%20width='20'%20height='20'%20viewBox='0%200%2020%2020'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M3.33331%208.33333H16.6666V16.25C16.6666%2016.7102%2016.2936%2017.0833%2015.8333%2017.0833H4.16665C3.70641%2017.0833%203.33331%2016.7102%203.33331%2016.25V8.33333Z'%20stroke='%23C9C9E8'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M6.66669%208.33333V5.41667C6.66669%204.95643%207.03978%204.58333%207.50002%204.58333H12.5C12.9603%204.58333%2013.3334%204.95643%2013.3334%205.41667V8.33333'%20stroke='%23C9C9E8'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M2.5%208.33333H17.5'%20stroke='%23C9C9E8'%20stroke-width='1.6'%20stroke-linecap='round'/%3e%3cpath%20d='M7.5%2012.0833H12.5'%20stroke='%23C9C9E8'%20stroke-width='1.6'%20stroke-linecap='round'/%3e%3cpath%20d='M10%209.58333V14.5833'%20stroke='%23C9C9E8'%20stroke-width='1.6'%20stroke-linecap='round'/%3e%3cpath%20d='M5.83331%202.91667H14.1666'%20stroke='%23C9C9E8'%20stroke-width='1.6'%20stroke-linecap='round'/%3e%3c/svg%3e`,Yh=`data:image/svg+xml,%3csvg%20width='20'%20height='20'%20viewBox='0%200%2020%2020'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M10%201C5.02991%201%201%205.02991%201%2010C1%2014.9701%205.02991%2019%2010%2019C14.9701%2019%2019%2014.9701%2019%2010C19%205.02991%2014.9701%201%2010%201ZM10%2017.4732C5.87366%2017.4732%202.52679%2014.1263%202.52679%2010C2.52679%205.87366%205.87366%202.52679%2010%202.52679C14.1263%202.52679%2017.4732%205.87366%2017.4732%2010C17.4732%2014.1263%2014.1263%2017.4732%2010%2017.4732Z'%20fill='%23C9C9E8'/%3e%3cpath%20d='M12.242%206.07661C11.6393%205.54826%2010.8437%205.25897%209.99999%205.25897C9.15624%205.25897%208.36071%205.55027%207.75803%206.07661C7.13124%206.62504%206.78571%207.36232%206.78571%208.15183V8.30451C6.78571%208.3929%206.85803%208.46522%206.94642%208.46522H7.91071C7.9991%208.46522%208.07142%208.3929%208.07142%208.30451V8.15183C8.07142%207.26589%208.93727%206.54469%209.99999%206.54469C11.0627%206.54469%2011.9286%207.26589%2011.9286%208.15183C11.9286%208.77661%2011.4866%209.34915%2010.8016%209.61232C10.3757%209.77504%2010.0141%2010.0603%209.7549%2010.434C9.49173%2010.8157%209.35512%2011.2737%209.35512%2011.7378V12.1697C9.35512%2012.2581%209.42745%2012.3304%209.51584%2012.3304H10.4801C10.5685%2012.3304%2010.6408%2012.2581%2010.6408%2012.1697V11.7137C10.6419%2011.5186%2010.7017%2011.3285%2010.8124%2011.1679C10.9231%2011.0074%2011.0797%2010.8839%2011.2616%2010.8137C12.4469%2010.3576%2013.2123%209.31299%2013.2123%208.15183C13.2143%207.36232%2012.8687%206.62504%2012.242%206.07661ZM9.19642%2014.4197C9.19642%2014.6328%209.28108%2014.8372%209.43178%2014.9879C9.58248%2015.1386%209.78687%2015.2233%209.99999%2015.2233C10.2131%2015.2233%2010.4175%2015.1386%2010.5682%2014.9879C10.7189%2014.8372%2010.8036%2014.6328%2010.8036%2014.4197C10.8036%2014.2066%2010.7189%2014.0022%2010.5682%2013.8515C10.4175%2013.7008%2010.2131%2013.6161%209.99999%2013.6161C9.78687%2013.6161%209.58248%2013.7008%209.43178%2013.8515C9.28108%2014.0022%209.19642%2014.2066%209.19642%2014.4197Z'%20fill='%23C9C9E8'/%3e%3c/svg%3e`,Xh=`data:image/svg+xml,%3csvg%20width='20'%20height='20'%20viewBox='0%200%2020%2020'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M15%2018.3333C16.3807%2018.3333%2017.5%2017.214%2017.5%2015.8333C17.5%2014.4526%2016.3807%2013.3333%2015%2013.3333C13.6193%2013.3333%2012.5%2014.4526%2012.5%2015.8333C12.5%2017.214%2013.6193%2018.3333%2015%2018.3333Z'%20stroke='%23C9C9E8'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M5%2012.5C6.38071%2012.5%207.5%2011.3807%207.5%2010C7.5%208.61929%206.38071%207.5%205%207.5C3.61929%207.5%202.5%208.61929%202.5%2010C2.5%2011.3807%203.61929%2012.5%205%2012.5Z'%20stroke='%23C9C9E8'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M7.15833%2011.2584L12.85%2014.575'%20stroke='%23C9C9E8'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M15%206.66669C16.3807%206.66669%2017.5%205.5474%2017.5%204.16669C17.5%202.78598%2016.3807%201.66669%2015%201.66669C13.6193%201.66669%2012.5%202.78598%2012.5%204.16669C12.5%205.5474%2013.6193%206.66669%2015%206.66669Z'%20stroke='%23C9C9E8'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M12.8417%205.42499L7.15833%208.74165'%20stroke='%23C9C9E8'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e`,Zh=`data:image/svg+xml,%3csvg%20width='20'%20height='20'%20viewBox='0%200%2020%2020'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M11.6667%201.66669H5.00001C4.55798%201.66669%204.13406%201.84228%203.8215%202.15484C3.50894%202.4674%203.33334%202.89133%203.33334%203.33335V16.6667C3.33334%2017.1087%203.50894%2017.5326%203.8215%2017.8452C4.13406%2018.1578%204.55798%2018.3334%205.00001%2018.3334H15C15.442%2018.3334%2015.866%2018.1578%2016.1785%2017.8452C16.4911%2017.5326%2016.6667%2017.1087%2016.6667%2016.6667V6.66669L11.6667%201.66669Z'%20stroke='%23C9C9E8'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M13.3333%2014.1667H6.66666'%20stroke='%23C9C9E8'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M13.3333%2010.8333H6.66666'%20stroke='%23C9C9E8'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M8.33332%207.5H7.49999H6.66666'%20stroke='%23C9C9E8'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M11.6667%201.66669V6.66669H16.6667'%20stroke='%23C9C9E8'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e`,Qh=`data:image/svg+xml,%3csvg%20width='20'%20height='20'%20viewBox='0%200%2020%2020'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_530_15536)'%3e%3cpath%20d='M10%2012.5C11.3807%2012.5%2012.5%2011.3807%2012.5%2010C12.5%208.61929%2011.3807%207.5%2010%207.5C8.61929%207.5%207.5%208.61929%207.5%2010C7.5%2011.3807%208.61929%2012.5%2010%2012.5Z'%20stroke='%23C9C9E8'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M16.1667%2012.5C16.0557%2012.7513%2016.0227%2013.0301%2016.0717%2013.3005C16.1207%2013.5708%2016.2496%2013.8202%2016.4417%2014.0166L16.4917%2014.0666C16.6466%2014.2214%2016.7696%2014.4052%2016.8534%2014.6076C16.9373%2014.8099%2016.9805%2015.0268%2016.9805%2015.2458C16.9805%2015.4648%2016.9373%2015.6817%2016.8534%2015.884C16.7696%2016.0864%2016.6466%2016.2702%2016.4917%2016.425C16.3369%2016.5799%2016.1531%2016.7029%2015.9507%2016.7867C15.7484%2016.8706%2015.5315%2016.9138%2015.3125%2016.9138C15.0935%2016.9138%2014.8766%2016.8706%2014.6743%2016.7867C14.4719%2016.7029%2014.2881%2016.5799%2014.1333%2016.425L14.0833%2016.375C13.8869%2016.1829%2013.6375%2016.054%2013.3672%2016.005C13.0968%2015.956%2012.818%2015.989%2012.5667%2016.1C12.3202%2016.2056%2012.11%2016.381%2011.9619%2016.6046C11.8139%2016.8282%2011.7344%2017.0902%2011.7333%2017.3583V17.5C11.7333%2017.942%2011.5577%2018.3659%2011.2452%2018.6785C10.9326%2018.991%2010.5087%2019.1666%2010.0667%2019.1666C9.62465%2019.1666%209.20073%2018.991%208.88817%2018.6785C8.5756%2018.3659%208.40001%2017.942%208.40001%2017.5V17.425C8.39356%2017.1491%208.30427%2016.8816%208.14377%2016.6572C7.98326%2016.4328%207.75896%2016.2619%207.50001%2016.1666C7.24866%2016.0557%206.96985%2016.0226%206.69952%2016.0716C6.42919%2016.1207%206.17974%2016.2495%205.98334%2016.4416L5.93334%2016.4916C5.77855%2016.6466%205.59474%2016.7695%205.39241%2016.8534C5.19008%2016.9373%204.9732%2016.9805%204.75418%2016.9805C4.53515%2016.9805%204.31827%2016.9373%204.11594%2016.8534C3.91361%2016.7695%203.7298%2016.6466%203.57501%2016.4916C3.42005%2016.3369%203.29712%2016.153%203.21324%2015.9507C3.12937%2015.7484%203.0862%2015.5315%203.0862%2015.3125C3.0862%2015.0935%203.12937%2014.8766%203.21324%2014.6742C3.29712%2014.4719%203.42005%2014.2881%203.57501%2014.1333L3.62501%2014.0833C3.81712%2013.8869%203.946%2013.6375%203.99501%2013.3671C4.04403%2013.0968%204.01094%2012.818%203.90001%2012.5666C3.79437%2012.3202%203.61897%2012.11%203.3954%2011.9619C3.17182%2011.8138%202.90983%2011.7344%202.64168%2011.7333H2.50001C2.05798%2011.7333%201.63406%2011.5577%201.3215%2011.2452C1.00894%2010.9326%200.833344%2010.5087%200.833344%2010.0666C0.833344%209.62462%201.00894%209.2007%201.3215%208.88813C1.63406%208.57557%202.05798%208.39998%202.50001%208.39998H2.57501C2.85084%208.39353%203.11835%208.30424%203.34276%208.14374C3.56717%207.98323%203.73811%207.75893%203.83334%207.49998C3.94427%207.24863%203.97736%206.96982%203.92835%206.69949C3.87933%206.42916%203.75046%206.17971%203.55834%205.98331L3.50834%205.93331C3.35338%205.77852%203.23045%205.59471%203.14658%205.39238C3.0627%205.19005%203.01953%204.97317%203.01953%204.75415C3.01953%204.53512%203.0627%204.31824%203.14658%204.11591C3.23045%203.91358%203.35338%203.72977%203.50834%203.57498C3.66313%203.42002%203.84695%203.29709%204.04928%203.21321C4.25161%203.12934%204.46848%203.08617%204.68751%203.08617C4.90654%203.08617%205.12341%203.12934%205.32574%203.21321C5.52807%203.29709%205.71189%203.42002%205.86668%203.57498L5.91668%203.62498C6.11308%203.81709%206.36252%203.94597%206.63285%203.99498C6.90318%204.044%207.182%204.01091%207.43334%203.89998H7.50001C7.74648%203.79434%207.95669%203.61894%208.10475%203.39537C8.25282%203.17179%208.33227%202.9098%208.33334%202.64165V2.49998C8.33334%202.05795%208.50894%201.63403%208.8215%201.32147C9.13406%201.00891%209.55798%200.833313%2010%200.833313C10.442%200.833313%2010.866%201.00891%2011.1785%201.32147C11.4911%201.63403%2011.6667%202.05795%2011.6667%202.49998V2.57498C11.6677%202.84313%2011.7472%203.10513%2011.8953%203.3287C12.0433%203.55228%2012.2535%203.72768%2012.5%203.83331C12.7514%203.94424%2013.0302%203.97733%2013.3005%203.92832C13.5708%203.8793%2013.8203%203.75043%2014.0167%203.55831L14.0667%203.50831C14.2215%203.35335%2014.4053%203.23042%2014.6076%203.14655C14.8099%203.06267%2015.0268%203.0195%2015.2458%203.0195C15.4649%203.0195%2015.6817%203.06267%2015.8841%203.14655C16.0864%203.23042%2016.2702%203.35335%2016.425%203.50831C16.58%203.6631%2016.7029%203.84692%2016.7868%204.04925C16.8706%204.25158%2016.9138%204.46845%2016.9138%204.68748C16.9138%204.90651%2016.8706%205.12338%2016.7868%205.32571C16.7029%205.52804%2016.58%205.71186%2016.425%205.86665L16.375%205.91665C16.1829%206.11305%2016.054%206.36249%2016.005%206.63282C15.956%206.90315%2015.9891%207.18197%2016.1%207.43331V7.49998C16.2056%207.74645%2016.381%207.95666%2016.6046%208.10472C16.8282%208.25279%2017.0902%208.33224%2017.3583%208.33331H17.5C17.942%208.33331%2018.366%208.50891%2018.6785%208.82147C18.9911%209.13403%2019.1667%209.55795%2019.1667%209.99998C19.1667%2010.442%2018.9911%2010.8659%2018.6785%2011.1785C18.366%2011.4911%2017.942%2011.6666%2017.5%2011.6666H17.425C17.1569%2011.6677%2016.8949%2011.7472%2016.6713%2011.8952C16.4477%2012.0433%2016.2723%2012.2535%2016.1667%2012.5V12.5Z'%20stroke='%23C9C9E8'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_530_15536'%3e%3crect%20width='20'%20height='20'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e`,$h=`data:image/svg+xml,%3csvg%20width='20'%20height='20'%20viewBox='0%200%2020%2020'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M1%204.33333C1%203.18274%201.93274%202.25%203.08333%202.25H16.4167C17.5673%202.25%2018.5%203.18274%2018.5%204.33333V16C18.5%2017.1506%2017.5673%2018.0833%2016.4167%2018.0833H3.08333C1.93274%2018.0833%201%2017.1506%201%2016V4.33333ZM3.08333%203.08333C2.39298%203.08333%201.83333%203.64298%201.83333%204.33333V16C1.83333%2016.6904%202.39298%2017.25%203.08333%2017.25H16.4167C17.107%2017.25%2017.6667%2016.6904%2017.6667%2016V4.33333C17.6667%203.64298%2017.107%203.08333%2016.4167%203.08333H3.08333Z'%20fill='%23C9C9E8'%20stroke='%23C9C9E8'%20stroke-width='0.6'%20stroke-linejoin='round'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M1%204.33333C1%203.18274%201.93274%202.25%203.08333%202.25H16.4167C17.5673%202.25%2018.5%203.18274%2018.5%204.33333V6.83333C18.5%207.06345%2018.3135%207.25%2018.0833%207.25H1.41667C1.18655%207.25%201%207.06345%201%206.83333V4.33333ZM3.08333%203.08333C2.39298%203.08333%201.83333%203.64298%201.83333%204.33333V6.41667H17.6667V4.33333C17.6667%203.64298%2017.107%203.08333%2016.4167%203.08333H3.08333Z'%20fill='%23C9C9E8'%20stroke='%23C9C9E8'%20stroke-width='0.6'%20stroke-linejoin='round'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M4.33333%201V3.91667H3.5V1H4.33333Z'%20fill='%23C9C9E8'%20stroke='%23C9C9E8'%20stroke-width='0.6'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M10.1667%201V3.91667H9.33334V1H10.1667Z'%20fill='%23C9C9E8'%20stroke='%23C9C9E8'%20stroke-width='0.6'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M16%201V3.91667H15.1667V1H16Z'%20fill='%23C9C9E8'%20stroke='%23C9C9E8'%20stroke-width='0.6'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M6.53453%2015.2573C6.43104%2015.1538%206.38944%2015.0036%206.42493%2014.8616L7.01419%2012.5046C7.03251%2012.4313%207.07039%2012.3644%207.12379%2012.311L10.0701%209.36472C10.5582%208.87657%2011.3497%208.87657%2011.8378%209.36472L12.4271%209.95398C12.9152%2010.4421%2012.9152%2011.2336%2012.4271%2011.7217L9.48081%2014.668C9.42741%2014.7214%209.3605%2014.7593%209.28724%2014.7776L6.93022%2015.3669C6.78823%2015.4024%206.63802%2015.3608%206.53453%2015.2573ZM8.97316%2013.9972L11.8378%2011.1325C12.0006%2010.9698%2012.0006%2010.706%2011.8378%2010.5432L11.2486%209.95398C11.0859%209.79126%2010.822%209.79126%2010.6593%209.95398L7.79465%2012.8186L7.40181%2014.39L8.97316%2013.9972Z'%20fill='%23C9C9E8'%20stroke='%23C9C9E8'%20stroke-width='0.6'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e`,eg=`data:image/svg+xml,%3csvg%20width='20'%20height='20'%20viewBox='0%200%2020%2020'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_530_15505)'%3e%3cpath%20d='M18.3333%201.66669L9.16666%2010.8334'%20stroke='%23C9C9E8'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M18.3333%201.66669L12.5%2018.3334L9.16666%2010.8334L1.66666%207.50002L18.3333%201.66669Z'%20stroke='%23C9C9E8'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_530_15505'%3e%3crect%20width='20'%20height='20'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e`,tg=`data:image/svg+xml,%3csvg%20width='20'%20height='20'%20viewBox='0%200%2020%2020'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_7154_21562)'%3e%3cpath%20d='M4.10156%208.64844H8.24219V9.82031H4.10156V8.64844Z'%20fill='%23C9C9E8'/%3e%3cpath%20d='M4.10156%2010.9922H8.24219V12.1641H4.10156V10.9922Z'%20fill='%23C9C9E8'/%3e%3cpath%20d='M4.10156%2013.3359H8.24219V14.5078H4.10156V13.3359Z'%20fill='%23C9C9E8'/%3e%3cpath%20d='M18.2422%2011.3516H20V0.804688H9.41406V3.96074H4.10156C2.80922%203.96074%201.75781%205.01215%201.75781%206.30449V14.5076C1.75781%2014.9344%201.87301%2015.3345%202.07312%2015.6795H0V16.2654C0%2017.8809%201.31426%2019.1951%202.92969%2019.1951H17.0703C18.6857%2019.1951%2020%2017.8809%2020%2016.2654V15.6795H17.9269C18.127%2015.3345%2018.2422%2014.9344%2018.2422%2014.5076V11.3516ZM10.5859%201.97656H18.8281V10.1797H12.1429L10.5859%2011.7112V1.97656ZM1.27227%2016.8513H7.07031V18.0232H2.92969C2.16578%2018.0232%201.5141%2017.5334%201.27227%2016.8513ZM11.7578%2016.8513V18.0232H8.24219V16.8513H11.7578ZM17.0703%2018.0232H12.9297V16.8513H18.7277C18.4859%2017.5334%2017.8342%2018.0232%2017.0703%2018.0232ZM4.10156%2015.6795C3.45539%2015.6795%202.92969%2015.1538%202.92969%2014.5076V6.30445C2.92969%205.65828%203.45539%205.13258%204.10156%205.13258H9.41406V14.5075L12.6227%2011.3515H17.0703V14.5076C17.0703%2015.1538%2016.5446%2015.6795%2015.8984%2015.6795H4.10156Z'%20fill='%23C9C9E8'/%3e%3cpath%20d='M17.6367%208.42184C17.6367%207.64664%2017.3213%206.88887%2016.7714%206.34258L16.4648%206.0368V4.90625C16.4648%203.93699%2015.6763%203.14844%2014.707%203.14844C13.7378%203.14844%2012.9492%203.93699%2012.9492%204.90625V6.03691L12.6437%206.34152C12.0931%206.88793%2011.7773%207.64617%2011.7773%208.42188V9.00781H17.6367V8.42184ZM13.0507%207.8359C13.1386%207.58801%2013.2814%207.35973%2013.4702%207.17234L14.1211%206.52328V4.90625C14.1211%204.58316%2014.3839%204.32031%2014.707%204.32031C15.0301%204.32031%2015.293%204.58316%2015.293%204.90625V6.52313L15.9448%207.17336C16.1331%207.36016%2016.2756%207.5882%2016.3634%207.83594H13.0507V7.8359Z'%20fill='%23C9C9E8'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_7154_21562'%3e%3crect%20width='20'%20height='20'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e`,ng=`data:image/svg+xml,%3csvg%20width='20'%20height='20'%20viewBox='0%200%2020%2020'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_6415_8719)'%3e%3cpath%20d='M10.0391%208.88672H11.0156C11.3392%208.88672%2011.6016%208.62438%2011.6016%208.30078C11.6016%207.97719%2011.3392%207.71484%2011.0156%207.71484H10.0391C9.71547%207.71484%209.45312%207.97719%209.45312%208.30078C9.45312%208.62438%209.71547%208.88672%2010.0391%208.88672Z'%20fill='white'/%3e%3cpath%20d='M7.53906%207.71484H6.5625C6.23891%207.71484%205.97656%207.97719%205.97656%208.30078C5.97656%208.62438%206.23891%208.88672%206.5625%208.88672H7.53906C7.86266%208.88672%208.125%208.62438%208.125%208.30078C8.125%207.97719%207.86266%207.71484%207.53906%207.71484Z'%20fill='white'/%3e%3cpath%20d='M13.5156%208.88672H14.4922C14.8158%208.88672%2015.0781%208.62438%2015.0781%208.30078C15.0781%207.97719%2014.8158%207.71484%2014.4922%207.71484H13.5156C13.192%207.71484%2012.9297%207.97719%2012.9297%208.30078C12.9297%208.62438%2013.192%208.88672%2013.5156%208.88672Z'%20fill='white'/%3e%3cpath%20d='M4.0625%2010.3516H3.08594C2.76234%2010.3516%202.5%2010.6139%202.5%2010.9375C2.5%2011.2611%202.76234%2011.5234%203.08594%2011.5234H4.0625C4.38609%2011.5234%204.64844%2011.2611%204.64844%2010.9375C4.64844%2010.6139%204.38609%2010.3516%204.0625%2010.3516Z'%20fill='white'/%3e%3cpath%20d='M7.53906%2010.3516H6.5625C6.23891%2010.3516%205.97656%2010.6139%205.97656%2010.9375C5.97656%2011.2611%206.23891%2011.5234%206.5625%2011.5234H7.53906C7.86266%2011.5234%208.125%2011.2611%208.125%2010.9375C8.125%2010.6139%207.86266%2010.3516%207.53906%2010.3516Z'%20fill='white'/%3e%3cpath%20d='M11.6016%2010.9375C11.6016%2010.6139%2011.3392%2010.3516%2011.0156%2010.3516H10.0391C9.71547%2010.3516%209.45312%2010.6139%209.45312%2010.9375C9.45312%2011.2611%209.71547%2011.5234%2010.0391%2011.5234H11.0156C11.3392%2011.5234%2011.6016%2011.2611%2011.6016%2010.9375Z'%20fill='white'/%3e%3cpath%20d='M4.0625%2012.9883H3.08594C2.76234%2012.9883%202.5%2013.2506%202.5%2013.5742C2.5%2013.8978%202.76234%2014.1602%203.08594%2014.1602H4.0625C4.38609%2014.1602%204.64844%2013.8978%204.64844%2013.5742C4.64844%2013.2506%204.38609%2012.9883%204.0625%2012.9883Z'%20fill='white'/%3e%3cpath%20d='M7.53906%2012.9883H6.5625C6.23891%2012.9883%205.97656%2013.2506%205.97656%2013.5742C5.97656%2013.8978%206.23891%2014.1602%206.5625%2014.1602H7.53906C7.86266%2014.1602%208.125%2013.8978%208.125%2013.5742C8.125%2013.2506%207.86266%2012.9883%207.53906%2012.9883Z'%20fill='white'/%3e%3cpath%20d='M17.5781%2010.9014V3.32031C17.5781%202.13566%2016.6143%201.17188%2015.4297%201.17188H14.2969V0.585938C14.2969%200.262344%2014.0345%200%2013.7109%200C13.3873%200%2013.125%200.262344%2013.125%200.585938V1.17188H11.0156V0.585938C11.0156%200.262344%2010.7533%200%2010.4297%200C10.1061%200%209.84375%200.262344%209.84375%200.585938V1.17188H7.73438V0.585938C7.73438%200.262344%207.47203%200%207.14844%200C6.82484%200%206.5625%200.262344%206.5625%200.585938V1.17188H4.45312V0.585938C4.45312%200.262344%204.19078%200%203.86719%200C3.54359%200%203.28125%200.262344%203.28125%200.585938V1.17188H2.14844C0.963789%201.17188%200%202.13566%200%203.32031V15.0391C0%2016.0083%200.788555%2016.7969%201.75781%2016.7969H10.5321C11.2184%2018.6643%2013.0147%2020%2015.1172%2020C17.8096%2020%2020%2017.8096%2020%2015.1172C20%2013.3217%2019.0257%2011.7496%2017.5781%2010.9014ZM1.17188%203.32031C1.17188%202.78184%201.60996%202.34375%202.14844%202.34375H3.28125V2.92969C3.28125%203.25328%203.54359%203.51562%203.86719%203.51562C4.19078%203.51562%204.45312%203.25328%204.45312%202.92969V2.34375H6.5625V2.92969C6.5625%203.25328%206.82484%203.51562%207.14844%203.51562C7.47203%203.51562%207.73438%203.25328%207.73438%202.92969V2.34375H9.84375V2.92969C9.84375%203.25328%2010.1061%203.51562%2010.4297%203.51562C10.7533%203.51562%2011.0156%203.25328%2011.0156%202.92969V2.34375H13.125V2.92969C13.125%203.25328%2013.3873%203.51562%2013.7109%203.51562C14.0345%203.51562%2014.2969%203.25328%2014.2969%202.92969V2.34375H15.4297C15.9682%202.34375%2016.4062%202.78184%2016.4062%203.32031V5.07812H1.17188V3.32031ZM1.75781%2015.625C1.43473%2015.625%201.17188%2015.3621%201.17188%2015.0391V6.25H16.4062V10.4074C15.9954%2010.2948%2015.5632%2010.2344%2015.1172%2010.2344C12.4248%2010.2344%2010.2344%2012.4248%2010.2344%2015.1172C10.2344%2015.2886%2010.2434%2015.458%2010.2607%2015.625H1.75781ZM15.1172%2018.8281C13.071%2018.8281%2011.4062%2017.1634%2011.4062%2015.1172C11.4062%2013.071%2013.071%2011.4062%2015.1172%2011.4062C17.1634%2011.4062%2018.8281%2013.071%2018.8281%2015.1172C18.8281%2017.1634%2017.1634%2018.8281%2015.1172%2018.8281Z'%20fill='white'/%3e%3cpath%20d='M17.0703%2014.5312H15.7031V13.1641C15.7031%2012.8405%2015.4408%2012.5781%2015.1172%2012.5781C14.7936%2012.5781%2014.5312%2012.8405%2014.5312%2013.1641V15.1172C14.5312%2015.4408%2014.7936%2015.7031%2015.1172%2015.7031H17.0703C17.3939%2015.7031%2017.6562%2015.4408%2017.6562%2015.1172C17.6562%2014.7936%2017.3939%2014.5312%2017.0703%2014.5312Z'%20fill='white'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_6415_8719'%3e%3crect%20width='20'%20height='20'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e`,rg=`data:image/svg+xml,%3csvg%20width='20'%20height='20'%20viewBox='0%200%2020%2020'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M18.415%208.82125C18.21%208.71313%2017.9606%208.72938%2017.7694%208.86063L11.8056%2012.9894L10.3562%2011.9856C10.1419%2011.8375%209.85875%2011.8375%209.64437%2011.9856L8.19438%2012.9894L3.0275%209.4125L5.32188%208.03563C5.61813%207.85813%205.71375%207.47438%205.53625%207.17813C5.35875%206.88188%204.97438%206.78625%204.67875%206.96375L1.55375%208.83875C1.37%208.94875%201.25%209.17563%201.25%209.375V16.875C1.25%2017.9088%202.09125%2018.75%203.125%2018.75H16.875C17.9088%2018.75%2018.75%2017.9088%2018.75%2016.875V9.375C18.75%209.1425%2018.6206%208.92938%2018.415%208.82125ZM2.51%2016.925C2.50875%2016.9075%202.5%2016.8925%202.5%2016.875V10.5681L7.09625%2013.75L2.51%2016.925ZM3.87625%2017.5L10%2013.26L16.1244%2017.5H3.87625ZM17.5%2016.875C17.5%2016.8925%2017.4912%2016.9075%2017.49%2016.925L12.9037%2013.75L17.5%2010.5681V16.875Z'%20fill='%23C9C9E8'/%3e%3cpath%20d='M13.3644%208.7025C13.5975%208.60562%2013.75%208.3775%2013.75%208.125V2.5C13.75%202.2475%2013.5975%202.01937%2013.3644%201.9225C13.13%201.825%2012.8619%201.87937%2012.6831%202.05812C11.6162%203.125%209.95937%203.125%208.75%203.125H7.8125C6.60625%203.125%205.625%204.10625%205.625%205.3125C5.625%206.44875%206.49937%207.37437%207.60875%207.47937L8.1375%2010.1225C8.20438%2010.4587%208.53187%2010.6806%208.87312%2010.6125C9.21187%2010.545%209.43125%2010.2156%209.36312%209.87687L8.8875%207.5C10.0831%207.50125%2011.655%207.53812%2012.6831%208.56625C12.8619%208.74562%2013.13%208.79937%2013.3644%208.7025ZM8.125%206.25H7.8125C7.29562%206.25%206.875%205.82937%206.875%205.3125C6.875%204.79562%207.29562%204.375%207.8125%204.375H8.125V6.25ZM12.5%206.905C11.4719%206.3725%2010.3263%206.27437%209.375%206.25562V4.36937C10.3263%204.35062%2011.4719%204.2525%2012.5%203.72V6.905Z'%20fill='%23C9C9E8'/%3e%3cpath%20d='M16.25%204.6875H17.5C17.845%204.6875%2018.125%204.9675%2018.125%205.3125C18.125%205.6575%2017.845%205.9375%2017.5%205.9375H16.25C15.905%205.9375%2015.625%205.6575%2015.625%205.3125C15.625%204.9675%2015.905%204.6875%2016.25%204.6875Z'%20fill='%23C9C9E8'/%3e%3cpath%20d='M17.2488%202.1875C17.4213%202.48625%2017.3188%202.86875%2017.02%203.04125L15.9375%203.66625C15.6413%203.8375%2015.2575%203.73875%2015.0838%203.4375C14.9113%203.13875%2015.0138%202.75625%2015.3125%202.58375L16.395%201.95875C16.6931%201.78562%2017.0763%201.88812%2017.2488%202.1875Z'%20fill='%23C9C9E8'/%3e%3cpath%20d='M15.0838%207.1875C15.2563%206.88813%2015.6388%206.78562%2015.9375%206.95875L17.02%207.58375C17.3194%207.75625%2017.4213%208.13875%2017.2488%208.4375C17.075%208.73813%2016.6913%208.8375%2016.395%208.66625L15.3125%208.04125C15.0132%207.86875%2014.9113%207.48625%2015.0838%207.1875Z'%20fill='%23C9C9E8'/%3e%3c/svg%3e`,ig=`data:image/svg+xml,%3csvg%20width='20'%20height='20'%20viewBox='0%200%2020%2020'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M20%204.35092C20%203.33607%2019.1743%202.51041%2018.1595%202.51041H1.84052C0.825863%202.51045%200.000351564%203.33572%200%204.35123V4.35155V15.6484C0%2016.676%200.834066%2017.4896%201.84114%2017.4896H18.1588C19.1863%2017.4896%2020%2016.6555%2020%2015.6484V4.35155C20%204.35147%2020%204.35139%2020%204.35131C20%204.35119%2020%204.35108%2020%204.35092ZM1.84052%203.68233H18.1595C18.5282%203.68233%2018.8281%203.98229%2018.8281%204.3519C18.8281%204.54831%2018.7305%204.73061%2018.5668%204.83967L10.3713%2010.3036C10.1458%2010.454%209.8543%2010.454%209.62875%2010.3036C9.62875%2010.3036%201.43301%204.83956%201.43317%204.83967C1.43321%204.83971%201.43305%204.8396%201.43301%204.83956C1.2695%204.73061%201.17188%204.54831%201.17188%204.35092C1.17188%203.98225%201.47184%203.68233%201.84052%203.68233ZM18.1589%2016.3177H1.84114C1.47633%2016.3177%201.17188%2016.0227%201.17188%2015.6484V6.07394L8.97867%2011.2786C9.2889%2011.4854%209.64445%2011.5888%2010%2011.5888C10.3556%2011.5888%2010.7112%2011.4854%2011.0214%2011.2786L18.8281%206.07394V15.6485C18.8281%2016.0132%2018.5332%2016.3177%2018.1589%2016.3177Z'%20fill='%23586888'/%3e%3c/svg%3e`,ag=`data:image/svg+xml,%3csvg%20width='20'%20height='20'%20viewBox='0%200%2020%2020'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M11.6666%201.66666H4.99992C4.55789%201.66666%204.13397%201.84225%203.82141%202.15481C3.50885%202.46737%203.33325%202.8913%203.33325%203.33332V16.6667C3.33325%2017.1087%203.50885%2017.5326%203.82141%2017.8452C4.13397%2018.1577%204.55789%2018.3333%204.99992%2018.3333H14.9999C15.4419%2018.3333%2015.8659%2018.1577%2016.1784%2017.8452C16.491%2017.5326%2016.6666%2017.1087%2016.6666%2016.6667V6.66666L11.6666%201.66666Z'%20stroke='%23C9C9E8'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M13.3334%2014.1667H6.66675'%20stroke='%23C9C9E8'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M13.3334%2010.8333H6.66675'%20stroke='%23C9C9E8'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M8.33341%207.5H7.50008H6.66675'%20stroke='%23C9C9E8'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M11.6667%201.66666V6.66666H16.6667'%20stroke='%23C9C9E8'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e`,og=`data:image/svg+xml,%3csvg%20width='20'%20height='20'%20viewBox='0%200%2020%2020'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M15.3077%2011.0205C15.6349%2010.7536%2016.1175%2010.7725%2016.4226%2011.0775L19.1309%2013.7858C19.4562%2014.1112%2019.4562%2014.6387%2019.1309%2014.9641C18.8055%2015.2895%2018.278%2015.2895%2017.9526%2014.9641L16.6667%2013.6784V18.3333C16.6667%2018.7935%2016.2936%2019.1666%2015.8334%2019.1666C15.3733%2019.1666%2015.0002%2018.7934%2015.0001%2018.3333V13.6784L13.7142%2014.9641C13.3888%2015.2895%2012.8613%2015.2895%2012.5359%2014.9641C12.2107%2014.6387%2012.2106%2014.1111%2012.5359%2013.7858L15.2442%2011.0775L15.3077%2011.0205ZM13.3334%203.33331C14.2539%203.33331%2015.0001%204.0795%2015.0001%204.99998V9.16665H13.3334V8.33331H3.33341V11.6666H10.0001V13.3333H3.33341C2.41294%2013.3333%201.66675%2012.5871%201.66675%2011.6666V4.99998C1.66675%204.0795%202.41294%203.33331%203.33341%203.33331H13.3334ZM3.33341%206.24998H13.3334V4.99998H3.33341V6.24998Z'%20fill='%23C9C9E8'/%3e%3c/svg%3e`;function sg(e){return!e||typeof e!=`string`?`User`:e.split(` `).filter(Boolean).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `)}function cg(e){let t=(e||`User`).split(` `).filter(Boolean);return`${t[0]?.charAt(0)||`U`}${t.length>1?t.at(-1)?.charAt(0):``}`.toUpperCase()}function lg(e){let t=(e||`User`).charAt(0).toUpperCase(),n=JSON.parse(localStorage.getItem(`colorMap`)||`{}`);if(n[t])return n[t];let r=[`#0053a5`,`#1677ff`,`#15803d`,`#f97316`,`#6366f1`,`#8b5cf6`],i=r[t.charCodeAt(0)%r.length];return localStorage.setItem(`colorMap`,JSON.stringify({...n,[t]:i})),i}function ug({leftOffset:n}){let r=(0,s.useNavigate)(),c=(0,s.useLocation)(),l=localStorage.getItem(`companyName`)||`Zinnext`,u=localStorage.getItem(`userName`)||localStorage.getItem(`preferred_Username`)||`User`,d=localStorage.getItem(`preferred_Username`)||u,f=localStorage.getItem(`roleId`)||``,p=sg(u),m=cg(p);function h(){t.m(),r(`/login`,{replace:!0})}let g=[{key:`profile-name`,label:(0,o.jsxs)(`div`,{className:`app-layout-profile-summary`,children:[(0,o.jsx)(i.Avatar,{size:42,style:{backgroundColor:lg(p)},children:m}),(0,o.jsxs)(`div`,{className:`app-layout-profile-copy`,children:[(0,o.jsx)(e.Ar,{variant:`body-strong`,truncate:!0,className:`app-layout-profile-name`,children:p}),f&&(0,o.jsx)(e.Ar,{variant:`caption`,color:`secondary`,className:`app-layout-profile-role`,children:f})]})]}),disabled:!0},{type:`divider`},{key:`dashboard`,label:(0,o.jsxs)(s.Link,{to:`/dashboard`,className:`app-layout-menu-link`,children:[(0,o.jsx)(a.AppstoreOutlined,{}),`Dashboard`]})},{key:`my-profile`,label:(0,o.jsxs)(s.Link,{to:`/my-profile`,className:`app-layout-menu-link`,children:[(0,o.jsx)(a.UserOutlined,{}),`My Profile`]})},{type:`divider`},{key:`logout`,label:(0,o.jsxs)(`span`,{className:`app-layout-menu-link app-layout-menu-danger`,children:[(0,o.jsx)(a.LogoutOutlined,{}),`Logout`]}),onClick:h}];return(0,o.jsxs)(`header`,{className:`app-layout-header`,style:{left:n},children:[(0,o.jsx)(`div`,{className:`app-layout-company`,children:(0,o.jsx)(e.Ar,{variant:`body-strong`,truncate:!0,className:`app-layout-company-name`,children:l})}),(0,o.jsxs)(`div`,{className:`app-layout-header-actions`,children:[(0,o.jsx)(i.Tooltip,{title:`Inbox`,children:(0,o.jsx)(s.Link,{to:`/inbox`,className:c.pathname===`/inbox`?`app-layout-icon-btn is-active`:`app-layout-icon-btn`,"aria-label":`Inbox`,children:(0,o.jsx)(`img`,{src:ig,alt:``,"aria-hidden":`true`,className:`app-layout-icon-img`})})}),(0,o.jsx)(`div`,{className:`app-layout-header-divider`}),(0,o.jsxs)(`div`,{className:`app-layout-user`,children:[(0,o.jsx)(i.Avatar,{size:30,style:{backgroundColor:lg(p)},children:m}),(0,o.jsx)(e.Ar,{variant:`label`,truncate:!0,className:`app-layout-user-name`,children:d}),(0,o.jsx)(i.Dropdown,{menu:{items:g},trigger:[`click`],placement:`bottomRight`,overlayClassName:`app-layout-user-dropdown`,children:(0,o.jsx)(`button`,{type:`button`,className:`app-layout-dropdown-btn`,"aria-label":`Open user menu`,children:(0,o.jsx)(a.DownOutlined,{})})})]})]})]})}var{Sider:dg}=i.Layout,fg={Dashboard:qh,Jobs:Wh,Candidates:Gh,Submissions:eg,Network:Xh,ClientManagement:Kh,Clients:Kh,clients:Kh,EmployerManagement:Jh,Employers:Jh,employers:Jh,ReferralManagement:Jh,Referral:Jh,Referrals:Jh,referrals:Jh,Scheduler:$h,Admin:Hh,Reports:Zh,Settings:Qh,Help:Yh,onboarding:tg,Onboarding:tg,assignments:Uh,Assignments:Uh,assignment:Uh,Assignment:Uh,timesheet:ng,Timesheet:ng,billing:ag,Billing:ag,payroll:og,Payroll:og,campaign:rg,Campaign:rg,addTestCase:Zh,viewTestCase:$h,manageModules:Qh,bulkUpload:a.UploadOutlined,"bulk-upload":a.UploadOutlined};function pg(e){let t=localStorage.getItem(e);if(!t||t===`undefined`||t===`null`||t.trim()===``)return[];try{let e=JSON.parse(t);return Array.isArray(e)?e:Array.isArray(e?.menu)?e.menu:Array.isArray(e?.menus?.menu)?e.menus.menu:[]}catch(t){return console.error(`Error parsing ${e}:`,t),[]}}function mg(e){let t=e.replace(/^\/+/,``);if(!t)return[`dashboard`];let n=t.split(`/`);return[t,n[0],n.at(-1)].filter(Boolean)}function hg({icon:e,itemKey:t}){let n=t===`bulk-upload`?a.UploadOutlined:t===`assignments`?Uh:t===`employers`?Jh:fg[e];return n?typeof n==`string`?(0,o.jsx)(`img`,{src:n,alt:``,className:`app-sidebar-menu-icon`,"aria-hidden":`true`}):(0,o.jsx)(n,{className:`app-sidebar-menu-icon`,"aria-hidden":`true`}):null}function gg(e){return e.map(e=>({key:e.key,icon:(0,o.jsx)(hg,{icon:e.icon,itemKey:e.key}),label:e.label,disabled:e.status===`inactive`,children:Array.isArray(e.children)?gg(e.children):void 0}))}function _g(e){let t;try{t=JSON.parse(localStorage.getItem(`menuPermission`)||`{}`)}catch{return e}let n=Object.entries(t).reduce((e,[t,n])=>({...e,[String(t).trim().toLowerCase()]:n}),{}),r=Object.keys(n),i=e=>n[e]??n[r.find(t=>t===`${e}s`||`${t}s`===e)??``];return e.flatMap(e=>{let t=[e.key,e.label].map(e=>String(e??``).trim().toLowerCase()).map(i).find(Boolean)?.view;if(t!=null&&![!0,1,`1`].includes(t))return[];let n=Array.isArray(e.children)?_g(e.children):void 0;return[{...e,children:n}]})}function vg(e){return new Set(e.flatMap(e=>[String(e?.key??``).trim().toLowerCase(),...Array.isArray(e?.children)?[...vg(e.children)]:[]]).filter(Boolean))}function yg(e){return[!0,1,`1`].includes(e)}function bg(e){return String(e).split(/[\s_\-/]+/).filter(Boolean).map(e=>`${e.charAt(0).toUpperCase()}${e.slice(1)}`).join(` `)}function xg(e){let t;try{t=JSON.parse(localStorage.getItem(`menuPermission`)||`{}`)}catch{return e}if(!t||typeof t!=`object`||Array.isArray(t))return e;let n=vg(e),r=Object.entries(t).flatMap(([e,t])=>{let r=String(e).trim().toLowerCase();return!r||r.includes(`/`)||n.has(r)||!yg(t?.view)?[]:(n.add(r),[{key:r,icon:r,label:bg(r),status:`active`}])});return[...e,...r]}function Sg(e){let t=e.some(e=>e.key===`addTestCase`),n=e.some(e=>e.key===`bulk-upload`);if(!t||n)return e;let r=[...e],i=r.findIndex(e=>e.key===`manageModules`);return r.splice(i>=0?i+1:r.length,0,{key:`bulk-upload`,icon:`bulk-upload`,label:`Bulk upload`,status:`active`}),r}function Cg(){try{let e=JSON.parse(localStorage.getItem(`menuPermission`)||`{}`),t=e?.client??e?.clients;return!t||typeof t!=`object`?!1:[`view`,`add`,`edit`].some(e=>Number(t[e])===1||t[e]===!0||t[e]===`1`)}catch{return!1}}function wg(){try{let e=JSON.parse(localStorage.getItem(`menuPermission`)||`{}`),t=e?.employers??e?.employer;return!t||typeof t!=`object`?!1:[`view`,`add`,`edit`].some(e=>Number(t[e])===1||t[e]===!0||t[e]===`1`)}catch{return!1}}function Tg(e){if(e.some(e=>e.key===`clients`||e.key===`client`)||!Cg())return e;let t=[...e],n=t.findIndex(e=>e.key===`jobs`);return t.splice(n>=0?n:t.length,0,{key:`clients`,icon:`ClientManagement`,label:`Client Management`,status:`active`}),t}function Eg(e){let t=e.some(e=>e.key===`employers`||e.key===`employer`),n=e.some(e=>e.key===`clients`||e.key===`client`),r=wg()||n||Cg();if(t||!r)return e;let i=[...e],a=i.findIndex(e=>e.key===`jobs`);return i.splice(a>=0?a:i.length,0,{key:`employers`,icon:`EmployerManagement`,label:`Employer Management`,status:`active`}),i}function Dg(){try{let e=JSON.parse(localStorage.getItem(`menuPermission`)||`{}`),t=e?.referrals??e?.referral;return!t||typeof t!=`object`?!1:[`view`,`add`,`edit`].some(e=>Number(t[e])===1||t[e]===!0||t[e]===`1`)}catch{return!1}}function Og(e){let t=e.some(e=>e.key===`referrals`||e.key===`referral`),n=e.some(e=>e.key===`employers`||e.key===`employer`),r=Dg()||wg()||n||Cg();if(t||!r)return e;let i=[...e],a=i.findIndex(e=>e.key===`employers`||e.key===`employer`),o=i.findIndex(e=>e.key===`jobs`),s=a>=0?a+1:o>=0?o:i.length;return i.splice(s,0,{key:`referrals`,icon:`ReferralManagement`,label:`Referral Management`,status:`active`}),i}function kg(e){try{let t=JSON.parse(localStorage.getItem(`menuPermission`)||`{}`)?.[e];return t&&[`view`,`add`,`edit`].some(e=>Number(t[e])===1||t[e]===!0||t[e]===`1`)}catch{return!1}}function Ag(e){let t=[...e],n=t.findIndex(e=>e.key===`assignments`),r=n>=0?n+1:t.length;for(let[e,n]of[[`billing`,`Billing`],[`payroll`,`Payroll`]])!t.some(t=>t.key===e)&&kg(e)&&(t.splice(r,0,{key:e,icon:e,label:n,status:`active`}),r+=1);return t}function jg(e){return e.filter(e=>{let t=String(e.key??``).toLowerCase(),n=String(e.label??``).toLowerCase();return!t.includes(`vendor`)&&n!==`vendors`}).map(e=>Array.isArray(e.children)?{...e,children:jg(e.children)}:e)}function Mg({collapsed:e,onToggle:t}){let n=(0,s.useNavigate)(),a=(0,s.useLocation)(),[c,l]=(0,r.useState)([]),u=(0,r.useMemo)(()=>mg(a.pathname),[a.pathname]);(0,r.useEffect)(()=>{u.length>0&&localStorage.setItem(`activeKey`,u[0])},[u]);let d=(0,r.useMemo)(()=>gg(_g(xg(Ag(Sg(Og(Eg(Tg(jg(pg(`menu`)))))))))),[]);function f(){e||l([]),t()}function p({key:e}){n(`/${e}`)}return(0,o.jsx)(dg,{trigger:null,collapsible:!0,collapsed:e,width:200,collapsedWidth:60,className:`app-sidebar`,children:(0,o.jsxs)(`div`,{className:`app-sidebar-panel`,children:[(0,o.jsx)(`div`,{className:`app-sidebar-brand`,children:(0,o.jsxs)(`div`,{className:`app-sidebar-logo`,children:[(0,o.jsx)(`img`,{src:zh,alt:``,className:`app-sidebar-logo-icon`}),(0,o.jsx)(`img`,{src:Bh,alt:`Zinnext`,className:`app-sidebar-logo-text`})]})}),(0,o.jsx)(`button`,{type:`button`,className:`app-sidebar-toggle`,onClick:f,"aria-label":e?`Expand sidebar`:`Collapse sidebar`,children:(0,o.jsx)(`img`,{src:Vh,alt:``,"aria-hidden":`true`})}),(0,o.jsx)(`div`,{className:`app-sidebar-body`,children:(0,o.jsx)(i.Menu,{mode:`inline`,theme:`dark`,selectedKeys:u,openKeys:e?[]:c,items:d,onClick:p,onOpenChange:l,className:`app-sidebar-menu`})})]})})}var Ng=`You're not logged in`,Pg=`You haven't logged into this session. Please login to access the data.`;function Fg(){try{return!!t.l()}catch{return!1}}function Ig({children:e,title:t=Ng,message:n=Pg,loginPath:s=`/login`,loginLabel:c=`Go to Login`,onLogin:l,fallback:u}){let[d,f]=(0,r.useState)(Fg);return(0,r.useEffect)(()=>{let e=()=>f(Fg());return window.addEventListener(`auth:login`,e),window.addEventListener(`auth:logout`,e),window.addEventListener(`storage`,e),window.addEventListener(`focus`,e),()=>{window.removeEventListener(`auth:login`,e),window.removeEventListener(`auth:logout`,e),window.removeEventListener(`storage`,e),window.removeEventListener(`focus`,e)}},[]),d?e:u===void 0?(0,o.jsx)(`div`,{className:`ct-auth-guard`,children:(0,o.jsx)(`div`,{className:`ct-auth-guard__card`,children:(0,o.jsx)(i.Result,{status:`403`,icon:(0,o.jsx)(a.LockOutlined,{className:`ct-auth-guard__icon`}),title:t,subTitle:n,extra:(0,o.jsx)(i.Button,{type:`primary`,size:`large`,onClick:()=>{if(typeof l==`function`){l();return}typeof window<`u`&&window.location.assign(s)},children:c})})})}):u}Ig.propTypes={children:l.default.node,title:l.default.node,message:l.default.node,loginPath:l.default.string,loginLabel:l.default.node,onLogin:l.default.func,fallback:l.default.node};var Lg=60;function Rg({children:e}){let[t,n]=(0,r.useState)(!0);return(0,o.jsxs)(`div`,{className:`app-layout-shell`,children:[(0,o.jsx)(Mg,{collapsed:t,onToggle:()=>n(e=>!e)}),(0,o.jsx)(ug,{leftOffset:60}),(0,o.jsx)(`main`,{className:`app-layout-main`,style:{marginLeft:60,paddingTop:Lg},children:(0,o.jsx)(`div`,{className:`app-layout-content`,children:(0,o.jsx)(Ig,{children:e??(0,o.jsx)(s.Outlet,{})})})})]})}function zg({onLogin:n,defaultRedirectPath:c=`/`}){let[l,u]=(0,r.useState)(!1),[d,f]=(0,r.useState)(``),p=(0,s.useNavigate)(),m=(0,s.useLocation)(),h=m.state?.from?.pathname||c,g=new URLSearchParams(m.search).get(`session_expired`)===`1`;async function _(e){f(``),u(!0);try{let r=await t.p({email:e.email,user_pwd:e.user_pwd});if(n?.(r),t.f()){p(`/select-project`,{replace:!0});return}p(h,{replace:!0})}catch(e){f(e.message||`Unable to login. Please check your credentials.`)}finally{u(!1)}}return(0,o.jsxs)(`div`,{className:`auth-login-page`,children:[(0,o.jsx)(`section`,{className:`auth-login-bg`,style:{background:e.Mr.brand},children:(0,o.jsxs)(`div`,{className:`auth-login-static-section`,children:[(0,o.jsx)(`div`,{children:(0,o.jsx)(`img`,{src:Lh,alt:``,className:`auth-login-img-one`})}),(0,o.jsx)(`div`,{className:`auth-login-hero-wrap`,children:(0,o.jsx)(`img`,{src:Rh,alt:``,className:`auth-login-img-two`})}),(0,o.jsx)(e.Ar,{as:`p`,variant:`body`,color:`inverse`,size:`2xl`,weight:`regular`,align:`right`,className:`auth-login-tagline`,children:`Best in class processes in a box.`})]})}),(0,o.jsx)(`section`,{className:`auth-login-form-layout`,children:(0,o.jsx)(`div`,{className:`auth-login-form-container`,children:(0,o.jsxs)(`div`,{className:`auth-login-form-shell`,children:[g&&(0,o.jsx)(`div`,{className:`auth-login-session-expired-container`,children:(0,o.jsx)(`div`,{className:`auth-login-slide-in`,children:(0,o.jsx)(i.Alert,{type:`warning`,showIcon:!0,icon:(0,o.jsx)(a.ExclamationCircleFilled,{style:{fontSize:30,color:`#FFC107`}}),message:(0,o.jsxs)(`div`,{className:`auth-login-alert-message-container`,children:[(0,o.jsx)(i.Divider,{className:`auth-login-alert-divider`,type:`vertical`}),(0,o.jsx)(`div`,{className:`auth-login-alert-text`,children:`Session expired. Please log in again.`})]}),className:`auth-login-session-expired-alert`})})}),(0,o.jsxs)(`div`,{className:`auth-login-brand`,children:[(0,o.jsx)(`img`,{src:`/favicon.ico`,alt:``,className:`auth-login-logo`}),(0,o.jsx)(e.Ar,{variant:`h3`,color:`primary`,weight:`bold`,className:`auth-login-brand-text`,children:`Zinnext`})]}),(0,o.jsx)(`div`,{className:`auth-login-body`,children:(0,o.jsxs)(`div`,{className:`auth-login-sign-body`,children:[(0,o.jsx)(e.Ar,{variant:`h2`,color:`primary`,weight:`bold`,align:`center`,className:`auth-login-title`,children:`Sign in`}),(0,o.jsx)(`div`,{className:`auth-login-form-con`,children:(0,o.jsxs)(i.Form,{className:`v1-form auth-login-form`,layout:`vertical`,requiredMark:!1,onFinish:_,autoComplete:`off`,children:[(0,o.jsx)(i.Form.Item,{label:`Email`,name:`email`,rules:[{type:`email`,required:!0,message:`Enter valid email.`}],children:(0,o.jsx)(i.Input,{size:`large`,placeholder:`Your work email`,autoComplete:`email`})}),(0,o.jsx)(i.Form.Item,{label:`Password`,name:`user_pwd`,rules:[{required:!0,message:`Mandatory field.`}],children:(0,o.jsx)(i.Input.Password,{size:`large`,placeholder:`Enter password`,autoComplete:`current-password`})}),(0,o.jsx)(i.Form.Item,{className:`auth-login-forgot-row`,children:(0,o.jsx)(i.Button,{type:`link`,className:`auth-login-forgot`,htmlType:`button`,children:`Forgot Password?`})}),d&&(0,o.jsx)(i.Form.Item,{children:(0,o.jsx)(e.Ar,{color:`danger`,variant:`body`,children:d})}),(0,o.jsx)(i.Button,{className:`auth-login-submit`,block:!0,size:`large`,type:`primary`,htmlType:`submit`,loading:l,id:`znxt-signin`,children:`Sign in`}),(0,o.jsx)(i.Form.Item,{className:`auth-login-divider-row`,children:(0,o.jsx)(i.Divider,{children:`Or`})}),(0,o.jsxs)(e.Ar,{as:`p`,variant:`body`,color:`secondary`,align:`center`,className:`auth-login-signup-text`,children:[`Not registered yet?`,` `,(0,o.jsx)(i.Button,{type:`link`,htmlType:`button`,className:`auth-login-signup`,id:`znxt-signup`,children:`Sign up`})]})]})})]})})]})})})]})}var Bg=e.Nr({addCTFlow:()=>c_,addCTModule:()=>n_,addCTSubmodule:()=>a_,addLmsFlow:()=>Qg,addTestFlow:()=>Jg,addTestingOption:()=>Kg,bulkInsertTestSteps:()=>Zg,deleteCTFlow:()=>f_,getActionFieldRules:()=>qg,getCTFlow:()=>l_,getCTFlows:()=>s_,getCTModules:()=>t_,getCTNextStep:()=>u_,getCTProjects:()=>e_,getCTSubmodules:()=>i_,getLmsFlows:()=>$g,getTestFlows:()=>Yg,getTestingOptions:()=>Gg,setCTModuleStatus:()=>r_,setCTSubmoduleStatus:()=>o_,updateCTFlow:()=>d_,validateTestSteps:()=>Xg});async function Vg(e){return t.t(t.b,e)}async function Hg(e,n){let r=await t.a(t.b,e,{method:`POST`,body:JSON.stringify(n)});return r.data??r}async function Ug(e,n){let r=await t.a(t.b,e,{method:`PUT`,body:JSON.stringify(n)});return r.data??r}async function Wg(e){let n=await t.a(t.b,e,{method:`DELETE`});return n.data??n}async function Gg(e){return Vg(`/testing-modules?type=${encodeURIComponent(e)}`)}async function Kg({name:e,type:t}){return Hg(`/testing-modules`,{name:e,type:t})}async function qg(){return Vg(`/test-action-field-rules`)}async function Jg(e){return Hg(`/test-flows`,e)}async function Yg({limit:e=10,offset:t=0,search:n=``,module:r=``,keyword:i=``,tags:a=``,active:o}={}){let s=new URLSearchParams({limit:String(e),offset:String(t)});return n&&s.append(`search`,n),r&&s.append(`module`,r),i&&s.append(`keyword`,i),a&&s.append(`tags`,a),o!=null&&o!==``&&s.append(`active`,String(o)),Vg(`/test-flows?${s.toString()}`)}async function Xg(e){return Hg(`/test-steps/validate`,e)}async function Zg(e){return Hg(`/test-steps/bulk-insert`,e)}async function Qg(e){return Hg(`/lms-flows`,e)}async function $g({limit:e=10,offset:t=0,search:n=``,module:r=``,keyword:i=``,tags:a=``,active:o}={}){let s=new URLSearchParams({limit:String(e),offset:String(t)});return n&&s.append(`search`,n),r&&s.append(`module`,r),i&&s.append(`keyword`,i),a&&s.append(`tags`,a),o!=null&&o!==``&&s.append(`active`,String(o)),Vg(`/lms-flows?${s.toString()}`)}async function e_({activeOnly:e=!1}={}){let t=new URLSearchParams;e&&t.append(`active`,`1`);let n=t.toString();return Vg(`/ct/projects${n?`?${n}`:``}`)}async function t_({project:e=``,activeOnly:t=!1}={}){let n=new URLSearchParams;e&&n.append(`project`,e),t&&n.append(`active`,`1`);let r=n.toString();return Vg(`/ct/modules${r?`?${r}`:``}`)}async function n_({project:e,modulename:t}){return Hg(`/ct/modules`,{project:e,modulename:t})}async function r_(e,t){return Ug(`/ct/modules/status`,{id:e,active:t})}async function i_({project:e=``,module:t=``,activeOnly:n=!1}={}){let r=new URLSearchParams;e&&r.append(`project`,e),t&&r.append(`module`,t),n&&r.append(`active`,`1`);let i=r.toString();return Vg(`/ct/submodules${i?`?${i}`:``}`)}async function a_({project:e,modulename:t,submodulename:n}){return Hg(`/ct/submodules`,{project:e,modulename:t,submodulename:n})}async function o_(e,t){return Ug(`/ct/submodules/status`,{id:e,active:t})}async function s_({project:e=``,module:t=``,submodule:n=``,product_parent_ID:r=``,module_parent_ID:i=``,submodule_parent_ID:a=``,actions:o=``,search:s=``,active:c,limit:l=1e3,offset:u=0}={}){let d=new URLSearchParams({limit:String(l),offset:String(u)}),f=r||e,p=i||t,m=a||n;return f&&d.append(`product_parent_ID`,f),p&&d.append(`module_parent_ID`,p),m&&d.append(`submodule_parent_ID`,m),o&&d.append(`actions`,o),s&&d.append(`search`,s),c!=null&&c!==``&&d.append(`active`,String(c)),Vg(`/ct/flows?${d.toString()}`)}async function c_(e){return Hg(`/ct/flows`,e)}async function l_(e){return Vg(`/ct/flows/${encodeURIComponent(e)}`)}async function u_({project:e,module:t,submodule:n,product_parent_ID:r,module_parent_ID:i,submodule_parent_ID:a}){return Vg(`/ct/flows/next-step?${new URLSearchParams({product_parent_ID:String(r||e),module_parent_ID:String(i||t),submodule_parent_ID:String(a||n)}).toString()}`)}async function d_(e,t){return Ug(`/ct/flows/${encodeURIComponent(e)}`,t)}async function f_(e){return Wg(`/ct/flows/${encodeURIComponent(e)}`)}var p_=`zinnext`;function m_(){let[n]=i.Form.useForm(),c=(0,s.useNavigate)(),[l,u]=(0,r.useState)([]),[d,f]=(0,r.useState)(!1),[p,m]=(0,r.useState)(``);(0,r.useEffect)(()=>{let e=!0;return Promise.resolve().then(()=>e_({activeOnly:!0})).then(r=>{if(!e)return;let i=r?.items??[];u(i);let a=t.c(),o=i.find(e=>e.id===a?.id)||i.find(e=>e.projectname?.toLowerCase()===p_)||i[0];o&&n.setFieldsValue({project:o.id})}).catch(t=>{console.error(`Unable to load projects:`,t),e&&m(`Unable to load projects. Please try again.`)}),()=>{e=!1}},[n]);function h(e){let n=l.find(t=>t.id===e.project);if(!n){m(`Please select a project.`);return}f(!0),t.g({id:n.id,name:n.projectname}),c(`/addTestCase`,{replace:!0})}return(0,o.jsxs)(`div`,{className:`auth-login-page`,children:[(0,o.jsx)(`section`,{className:`auth-login-bg`,style:{background:e.Mr.brand},children:(0,o.jsxs)(`div`,{className:`auth-login-static-section`,children:[(0,o.jsx)(`div`,{children:(0,o.jsx)(`img`,{src:Lh,alt:``,className:`auth-login-img-one`})}),(0,o.jsx)(`div`,{className:`auth-login-hero-wrap`,children:(0,o.jsx)(`img`,{src:Rh,alt:``,className:`auth-login-img-two`})}),(0,o.jsx)(e.Ar,{as:`p`,variant:`body`,color:`inverse`,size:`2xl`,weight:`regular`,align:`right`,className:`auth-login-tagline`,children:`Best in class processes in a box.`})]})}),(0,o.jsx)(`section`,{className:`auth-login-form-layout`,children:(0,o.jsx)(`div`,{className:`auth-login-form-container`,children:(0,o.jsxs)(`div`,{className:`auth-login-form-shell`,children:[(0,o.jsxs)(`div`,{className:`auth-login-brand`,children:[(0,o.jsx)(`img`,{src:`/favicon.ico`,alt:``,className:`auth-login-logo`}),(0,o.jsx)(e.Ar,{variant:`h3`,color:`primary`,weight:`bold`,className:`auth-login-brand-text`,children:`Zinnext`})]}),(0,o.jsx)(`div`,{className:`auth-login-body`,children:(0,o.jsxs)(`div`,{className:`auth-login-sign-body`,children:[(0,o.jsx)(e.Ar,{variant:`h2`,color:`primary`,weight:`bold`,align:`center`,className:`auth-login-title`,children:`Select Project`}),(0,o.jsx)(`div`,{className:`auth-login-form-con`,children:(0,o.jsxs)(i.Form,{form:n,className:`v1-form auth-login-form`,layout:`vertical`,requiredMark:!1,onFinish:h,autoComplete:`off`,children:[(0,o.jsx)(i.Form.Item,{label:`Project`,name:`project`,rules:[{required:!0,message:`Select a project.`}],children:(0,o.jsx)(i.Select,{size:`large`,showSearch:!0,optionFilterProp:`label`,placeholder:`Select project`,prefix:(0,o.jsx)(a.ProjectOutlined,{}),options:l.map(e=>({value:e.id,label:e.projectname}))})}),p&&(0,o.jsx)(i.Form.Item,{children:(0,o.jsx)(e.Ar,{color:`danger`,variant:`body`,children:p})}),(0,o.jsx)(i.Button,{className:`auth-login-submit`,block:!0,size:`large`,type:`primary`,htmlType:`submit`,loading:d,id:`znxt-select-project`,children:`Continue`})]})})]})})]})})})]})}function h_(e,t){function n(n){return(0,o.jsx)(Ig,{...t,children:(0,o.jsx)(e,{...n})})}return n.displayName=`withAuthGuard(${e.displayName||e.name||`Component`})`,n}var g_=`${t._}`;async function __(e,n={}){let r=t.l(),i=await fetch(`${g_}${e}`,{...n,headers:{"Content-Type":`application/json`,...t.T({"X-App-Id":String(t.v)}),...r?{Authorization:`Bearer ${r}`}:{},...n.headers??{}}}),a=await i.json().catch(()=>({}));if(!i.ok)throw Error(a?.error??a?.message??`Request failed: ${i.status}`);return a?.data??a}function v_(e,t=[]){if(Array.isArray(e))return e;for(let n of[...t,`data`,`result`,`rows`,`items`])if(Array.isArray(e?.[n]))return e[n];for(let n of t){if(Array.isArray(e?.data?.[n]))return e.data[n];if(Array.isArray(e?.result?.[n]))return e.result[n]}return[]}function y_(e){let t=e.user_id??e.userId??e.UserId??e.legacyUserId??e.legacy_user_id??e.id??e._id,n=e.user_type_id??e.roleId??e.role_id??e.RoleId,r=e.first_name??e.firstName??``,i=e.last_name??e.lastName??``,a=e.reporting_id??e.reportingId??e.reportingManagerId??e.managerId??0;return{...e,user_id:t,userId:t,legacyUserId:e.legacyUserId??e.legacy_user_id??t,username:e.username??e.userName??e.user_name??`${r}${i}`.trim(),userName:e.userName??e.username??e.user_name??`${r}${i}`.trim(),first_name:r,firstName:r,last_name:i,lastName:i,email:e.email,mobile:e.mobile??e.phoneNumber??e.phone_number??e.mobile_number,mobileNumber:e.mobileNumber??e.mobile_number??e.mobile??e.phoneNumber??e.phone_number,user_type_id:n,role_id:n,roleId:n,reporting_id:a,reportingId:a,profile_image:e.profile_image??e.photoLocation??e.photo_location,status:S_(e.status??e.active_status)}}function b_(e){let t=e.user_type_id??e.role_id??e.roleId??e.id;return{...e,user_type_id:t,user_type_name:e.user_type_name??e.role_name??e.roleName??e.name,description:e.description??e.role_description??e.roleDescription??``,status:S_(e.status??e.active_status??`ACTIVE`)}}function x_(e){let t=e.menu_id??e.menuId??e.legacyMenuId??e.id,n=e.parent_menu_id??e.parentMenuId,r=e.menu_name??e.menuName??e.name??e.label;return{...e,menu_id:t,menu_name:r,menu_key:e.menu_key??e.menuKey??e.key,api_url:e.api_url??e.apiUrl??e.route??``,menu_type:e.menu_type??e.menuType??e.placement??`MENU`,parent_menu_id:n||null,component_name:e.component_name??e.componentName??``,display_order:e.display_order??e.displayOrder??t??0,status:S_(e.status)}}function S_(e){if(e===!0||e===1||e===`1`)return`ACTIVE`;let t=String(e??`ACTIVE`).trim().toUpperCase();return t===`ACTIVE`||t===`ENABLED`?`ACTIVE`:`INACTIVE`}function C_(e){let t=Number(e);return Number.isFinite(t)&&t>0?t:0}function w_(e){if(e==null||e===``)return 0;let t=Number(e);return Number.isFinite(t)&&t>0?t:e}function T_(e){let t=Number(e);return Number.isInteger(t)&&t>0?t:void 0}function E_(){return{tenantId:localStorage.getItem(`tenantId`)||void 0,businessId:localStorage.getItem(`businessId`)||void 0,businessUnitId:localStorage.getItem(`businessUnitId`)||void 0}}function D_(e){let n=e.username??e.user_name??e.userName,r=e.first_name??e.firstName??``,i=e.last_name??e.lastName??``,a=C_(e.user_type_id??e.role_id??e.roleId),o=w_(e.reporting_id??e.reportingId??e.managerId),s=e.mobile??e.mobileNumber??e.mobile_number??e.phone_number,c=S_(e.status??e.activeStatus)===`ACTIVE`,l=String(t.v),u=T_(e.updated_by??e.updatedBy),d=T_(e.created_by??e.createdBy);return{...e,...E_(),appId:l,app_id:l,userName:n,user_name:n,username:n,firstName:r,first_name:r,lastName:i,last_name:i,email:e.email,user_pwd:e.password??e.user_pwd,password:e.password??e.user_pwd,phoneNumber:s,phone_number:s,mobileNumber:s,mobile_number:s,roleId:a,role_id:a,user_type_id:a,reportingId:o,reporting_id:o,activeStatus:c,status:c?`ACTIVE`:`INACTIVE`,statusText:c?`ACTIVE`:`INACTIVE`,updatedBy:u,updated_by:u,createdBy:d,created_by:d}}function O_(e){let t=String(e.menu_type??e.menuType??e.placement??`MENU`).toUpperCase();return{...e,menuName:e.menu_name,name:e.menu_name,menuKey:e.menu_key,key:e.menu_key,parentMenuId:Number(e.parent_menu_id??0),placement:t===`FOOTER`?`footer`:`main`,icon:e.icon,status:e.status}}function k_(e){return(Array.isArray(e)?e:Object.entries(e??{}).map(([e,t])=>({...t,menu_name:e}))).map(e=>{let t=e.menu_id??e.menuId,n=e.menu_name??e.menuName??e.name??String(t??``),r=Object.entries(e.permissions??{}).reduce((e,[t,n])=>(e[t]={...n,permission_id:n?.permission_id??n?.permissionId??n?.id,permission_key:n?.permission_key??n?.permissionKey??t,value:n?.value??n?.access_value??n},e),{});return{...e,menu_id:t,menu_name:n,menu_key:e.menu_key??e.menuKey??n,permissions:r}})}function A_(e,t,n=[]){return{roleId:e,menus:t.reduce((e,t)=>{let n=t.menu_name??t.menuName??t.menu_key??String(t.menu_id),r=t.permission_key??t.permissionKey;return r?(e[n]||(e[n]={menuId:t.menu_id??t.menuId,permissions:{}}),e[n].permissions[r]={id:t.permission_id??t.permissionId,value:String(+(Number(t.access_value??t.accessValue)===1))},e):e},{}),menuOrder:n}}function j_(){return __(`/get-all-users?limit=500&offset=0`).then(e=>v_(e,[`users`]).map(y_))}function M_(e){return __(`/get-users?roleId=${encodeURIComponent(e)}`).then(e=>v_(e,[`users`]).map(y_))}function N_(e){return __(`/create-user`,{method:`POST`,body:JSON.stringify(D_(e))})}function P_(e,t){return __(`/update-user?userId=${encodeURIComponent(e)}`,{method:`PUT`,body:JSON.stringify(D_(t))})}function F_(e){return __(`/delete-user?userId=${encodeURIComponent(e)}`,{method:`PUT`})}function I_(){return __(`/get-roles`).then(e=>[...v_(e,[`zinnext_default`]),...v_(e,[`custom_roles`])].map(b_))}function L_(e){return __(`/add-custom-role`,{method:`POST`,body:JSON.stringify({importedPermissionId:Number(e.imported_permission_id??0),newRoleName:e.user_type_name,roleDescription:e.description??``,menuIds:e.visible_menu_ids??[]})}).then(b_)}function R_(e,t){return __(`/custom-roles/${encodeURIComponent(e)}`,{method:`PUT`,body:JSON.stringify({roleName:t.user_type_name,role_name:t.user_type_name,roleDescription:t.description??``,description:t.description??``,status:+(S_(t.status)===`ACTIVE`),statusText:S_(t.status)})}).then(b_)}function z_(e){return __(`/custom-roles/${encodeURIComponent(e)}`,{method:`DELETE`})}function B_(){return __(`/admin/menu-modules`).then(e=>v_(e).map(x_))}function V_(e){return __(`/admin/menu-modules`,{method:`POST`,body:JSON.stringify(O_(e))})}function H_(e,t){return __(`/admin/menu-modules/${e}`,{method:`PUT`,body:JSON.stringify(O_(t))})}function U_(e){return __(`/admin/menu-modules/${e}`,{method:`DELETE`})}function W_(){return __(`/admin/menu-actions`)}function G_(e){return __(`/get-role-details?roleid=${encodeURIComponent(e)}`).then(k_)}function K_(e,t){return __(`/edit-role-details`,{method:`PUT`,body:JSON.stringify(A_(e,t,[...new Set(t.map(e=>e.menu_key??e.menuName??e.menu_name).filter(Boolean))]))})}var q_={po:[],msa:[],sourcing:[`jobs`],assign:[`jobs`],approve:[`submissions`,`onboarding`,`assignments`,`timesheet`,`vendors`,`test cases`],move_onboard:[`submissions`],change_status:[`jobs`,`candidates`,`submissions`,`onboarding`,`assignments`],candidate_self:[`candidates`],candidate_all:[`candidates`],my_jobs:[`jobs`],all_jobs:[`jobs`],reject:[`submissions`,`onboarding`,`assignments`,`timesheet`,`vendors`,`test cases`],viewProposedRate:[`submissions`],po_msa:[`onboarding`]};function J_(e,t){let n=q_[t];return n?n.includes(String(e??``).trim().toLowerCase()):!0}function Z({title:e,icon:t,extra:n,children:r,variant:a=`default`,...s}){let c=t||e?(0,o.jsxs)(`span`,{className:`app-card-title`,children:[t&&(0,o.jsx)(`span`,{className:`app-card-title-icon`,children:t}),e]}):void 0;return(0,o.jsx)(i.Card,{className:`app-card app-card--${a}`,title:c,extra:n,...s,children:r})}var{Text:Y_}=i.Typography,{Option:X_}=i.Select,Z_=[{key:`job`,label:`Jobs`},{key:`candidate`,label:`Candidates`},{key:`submissions`,label:`Submissions`},{key:`billing`,label:`Billing`},{key:`payroll`,label:`Payroll`}],Q_=[{key:``,label:`Text`,icon:(0,o.jsx)(`span`,{style:{fontSize:14,fontWeight:700},children:`Aa`})},{key:`badge`,label:`Badge`,icon:(0,o.jsx)(a.TagsOutlined,{style:{fontSize:16}})},{key:`avatar`,label:`Avatar`,icon:(0,o.jsx)(a.UserOutlined,{style:{fontSize:16}})},{key:`link`,label:`Link`,icon:(0,o.jsx)(a.LinkOutlined,{style:{fontSize:16}})}],$_=[{color:`#52c41a`,bg:`#f6ffed`},{color:`#1677ff`,bg:`#e6f7ff`},{color:`#fa8c16`,bg:`#fff7e6`},{color:`#ff4d4f`,bg:`#fff2f0`},{color:`#722ed1`,bg:`#f9f0ff`},{color:`#13c2c2`,bg:`#e6fffb`},{color:`#eb2f96`,bg:`#fff0f6`},{color:`#faad14`,bg:`#fffbe6`}],ev={job:`jobs`,candidate:`candidates`,submissions:`submissions`,billing:`billing`,payroll:`payroll`};function tv(e){return String(e||``).replace(/[-_]/g,` `).replace(/\b\w/g,e=>e.toUpperCase()).trim()}function nv(e){if(typeof e==`string`)return{key:e,apiModule:e,label:tv(e)};let t=e?.menuKey??e?.key??e?.moduleKey??e?.value??e?.module??e?.apiModule??e?.name??e?.modulename??e?.menuName;return t?{key:t,apiModule:e?.apiModule??e?.api_module??e?.module??e?.value??e?.menuKey??e?.key??e?.name??e?.modulename??e?.menuName??t,label:e?.label??e?.moduleLabel??e?.moduleName??e?.name??e?.modulename??e?.menuName??tv(t)}:null}function rv(e){let t=Array.isArray(e)&&e.length?e:Z_,n=new Set,r=t.map(nv).filter(Boolean).filter(e=>n.has(e.key)?!1:(n.add(e.key),!0));return r.length?r:Z_}function iv({field:t,collections:n,collFields:s,subfields:c,onCollectionChange:l,onLookupFieldChange:u,addSecondaryField:d,removeSecondaryField:f,addActionButton:p,updateActionButton:m,removeActionButton:h,moduleKey:g,fieldKey:_,update:v}){let[y,b]=(0,r.useState)(``),[x,S]=(0,r.useState)({}),[C,w]=(0,r.useState)(!1);function T(e){v(e===`common`?{commonStyle:{color:`#1677ff`,bg:`#e6f7ff`,variant:`badge`},valueStyles:[]}:{commonStyle:null})}function E(e){v({commonStyle:{...t.commonStyle??{color:`#595959`,bg:`#f5f5f5`,variant:`badge`},...e}})}function D(){v({valueStyles:[...t.valueStyles??[],{value:``,label:``,color:`#595959`,bg:`#f5f5f5`,variant:`badge`}]})}function O(e,n){let r=[...t.valueStyles??[]];r[e]={...r[e],...n},v({valueStyles:r})}function k(e){v({valueStyles:(t.valueStyles??[]).filter((t,n)=>n!==e)})}async function A(){w(!0);try{let e=await pn(t.apiModule??ev[g]??g,_,``,50,0),n=(Array.isArray(e)?e:e?.data??[]).map((e,t)=>{let n=typeof e==`object`?e.value??e.label??``:String(e),r=typeof e==`object`?e.label??e.value??``:String(e);return{value:String(n),label:String(r),variant:`badge`,...$_[t%$_.length]}});if(n.length===0){i.message.info(`No values found for this field`);return}v({valueStyles:n})}catch{i.message.error(`Could not detect values`)}finally{w(!1)}}async function j(t,n){S(e=>({...e,[t]:!0}));try{let r=await e.yr(n);m(t,{iconUrl:r?.iconUrl??r?.url??``,iconPath:r?.iconPath??r?.path??``})}catch{i.message.error(`Icon upload failed`)}finally{S(e=>({...e,[t]:!1}))}return!1}let M=t.renderType??``,N=!!t.commonStyle,P=t.commonStyle??{},F=t.valueStyles??[],I=t.renderConfig??{};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(`div`,{className:`uss-detail-section`,children:[(0,o.jsx)(`div`,{className:`uss-detail-label`,children:`Display Style`}),(0,o.jsx)(`div`,{className:`uss-detail-row`,children:Q_.map(e=>(0,o.jsxs)(`button`,{className:`uss-render-type-btn${M===e.key?` active`:``}`,onClick:()=>v({renderType:e.key,commonStyle:null,valueStyles:[],renderConfig:null}),children:[e.icon,(0,o.jsx)(`span`,{children:e.label})]},e.key))}),M===`badge`&&(0,o.jsxs)(`div`,{className:`uss-badge-config`,children:[(0,o.jsxs)(i.Radio.Group,{size:`small`,value:N?`common`:`perValue`,onChange:e=>T(e.target.value),style:{marginBottom:8},children:[(0,o.jsx)(i.Radio,{value:`perValue`,children:`Per value`}),(0,o.jsx)(i.Radio,{value:`common`,children:`Same for all`})]}),N&&(0,o.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:10,flexWrap:`wrap`},children:[(0,o.jsx)(i.Tooltip,{title:`Text color`,children:(0,o.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:4},children:[(0,o.jsx)(`input`,{type:`color`,value:P.color||`#595959`,style:{width:28,height:24,border:`none`,cursor:`pointer`,padding:0},onChange:e=>E({color:e.target.value})}),(0,o.jsx)(Y_,{style:{fontSize:10},children:`Text`})]})}),(0,o.jsx)(i.Tooltip,{title:`Background color`,children:(0,o.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:4},children:[(0,o.jsx)(`input`,{type:`color`,value:P.bg||`#f5f5f5`,style:{width:28,height:24,border:`none`,cursor:`pointer`,padding:0},onChange:e=>E({bg:e.target.value})}),(0,o.jsx)(Y_,{style:{fontSize:10},children:`BG`})]})}),(0,o.jsx)(i.Select,{size:`small`,style:{width:80},value:P.variant||`badge`,options:[{value:`badge`,label:`Badge`},{value:`dot`,label:`Dot`},{value:`tag`,label:`Tag`}],onChange:e=>E({variant:e})}),(0,o.jsx)(`span`,{style:{padding:`1px 12px`,borderRadius:20,fontSize:11,fontWeight:500,color:P.color||`#595959`,background:P.bg||`#f5f5f5`},children:`Preview`})]}),!N&&(0,o.jsxs)(`div`,{children:[(0,o.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`,alignItems:`center`,marginBottom:6},children:[(0,o.jsx)(Y_,{style:{fontSize:11,color:`#555`,fontWeight:600},children:`Value → Style mapping`}),(0,o.jsxs)(i.Space,{size:6,children:[(0,o.jsx)(i.Button,{size:`small`,loading:C,onClick:A,children:`Auto-detect values`}),(0,o.jsx)(i.Button,{size:`small`,icon:(0,o.jsx)(a.PlusOutlined,{}),onClick:D,children:`Add`})]})]}),F.length===0&&(0,o.jsx)(Y_,{type:`secondary`,style:{fontSize:12},children:`Click "Auto-detect values" to populate from live data, or "Add" to map manually.`}),F.map((e,t)=>(0,o.jsxs)(`div`,{style:{display:`grid`,gridTemplateColumns:`1fr 1fr 62px 62px 54px 26px`,gap:5,alignItems:`center`,marginBottom:6},children:[(0,o.jsx)(i.Input,{size:`small`,placeholder:`raw value`,value:e.value??``,onChange:e=>O(t,{value:e.target.value})}),(0,o.jsx)(i.Input,{size:`small`,placeholder:`display label`,value:e.label??``,onChange:e=>O(t,{label:e.target.value})}),(0,o.jsx)(i.Tooltip,{title:`Text color`,children:(0,o.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:3},children:[(0,o.jsx)(`input`,{type:`color`,value:e.color||`#595959`,style:{width:28,height:24,border:`none`,cursor:`pointer`,padding:0},onChange:e=>O(t,{color:e.target.value})}),(0,o.jsx)(Y_,{style:{fontSize:10},children:`Text`})]})}),(0,o.jsx)(i.Tooltip,{title:`Background color`,children:(0,o.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:3},children:[(0,o.jsx)(`input`,{type:`color`,value:e.bg||`#f5f5f5`,style:{width:28,height:24,border:`none`,cursor:`pointer`,padding:0},onChange:e=>O(t,{bg:e.target.value})}),(0,o.jsx)(Y_,{style:{fontSize:10},children:`BG`})]})}),(0,o.jsx)(`span`,{style:{padding:`1px 6px`,borderRadius:20,fontSize:11,fontWeight:500,textAlign:`center`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,color:e.color||`#595959`,background:e.bg||`#f5f5f5`},children:e.label||e.value||`…`}),(0,o.jsx)(i.Button,{size:`small`,type:`text`,danger:!0,icon:(0,o.jsx)(a.CloseOutlined,{}),onClick:()=>k(t)})]},t))]})]}),(0,o.jsxs)(`div`,{style:{marginTop:10},children:[(0,o.jsx)(Y_,{style:{fontSize:11,color:`#555`,display:`block`,marginBottom:3},children:`Array item field (latest item)`}),(0,o.jsx)(i.Select,{size:`small`,showSearch:!0,allowClear:!0,style:{width:`100%`},placeholder:c.length>0?`Select a child field from the array`:`Enter child field, e.g. clientBudgetStart`,value:I.lastItemField||void 0,options:c.map(e=>({value:e,label:e})),onChange:e=>v({renderConfig:{...I,lastItemField:e??``}}),onSearch:e=>{c.includes(e)},dropdownRender:e=>(0,o.jsxs)(o.Fragment,{children:[e,(0,o.jsx)(`div`,{style:{padding:`8px 10px`,borderTop:`1px solid var(--color-border-muted)`},children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`Custom child field`,value:I.lastItemField||``,onChange:e=>v({renderConfig:{...I,lastItemField:e.target.value.trim()}})})})]})}),(0,o.jsx)(Y_,{type:`secondary`,style:{display:`block`,marginTop:4,fontSize:10},children:`For an array such as jobPayDetails, ListView displays this field from the last array element.`})]}),M===`avatar`&&(0,o.jsxs)(`div`,{style:{display:`grid`,gridTemplateColumns:`1fr 1fr 80px`,gap:8,marginTop:8},children:[(0,o.jsxs)(`div`,{children:[(0,o.jsx)(Y_,{style:{fontSize:11,color:`#555`,display:`block`,marginBottom:3},children:`Name field`}),(0,o.jsx)(i.Select,{size:`small`,showSearch:!0,allowClear:!0,style:{width:`100%`},placeholder:`e.g. recruiterName`,value:I.labelField||void 0,options:c.length>0?c.map(e=>({value:e,label:e})):[],onChange:e=>v({renderConfig:{...I,labelField:e??``}})})]}),(0,o.jsxs)(`div`,{children:[(0,o.jsx)(Y_,{style:{fontSize:11,color:`#555`,display:`block`,marginBottom:3},children:`Color field (opt.)`}),(0,o.jsx)(i.Select,{size:`small`,showSearch:!0,allowClear:!0,style:{width:`100%`},placeholder:`color`,value:I.colorField||void 0,options:c.length>0?c.map(e=>({value:e,label:e})):[],onChange:e=>v({renderConfig:{...I,colorField:e??``}})})]}),(0,o.jsxs)(`div`,{children:[(0,o.jsx)(Y_,{style:{fontSize:11,color:`#555`,display:`block`,marginBottom:3},children:`Max visible`}),(0,o.jsx)(i.Input,{size:`small`,type:`number`,min:1,max:10,value:I.maxVisible||3,onChange:e=>v({renderConfig:{...I,maxVisible:Number(e.target.value)||3}})})]})]})]}),(0,o.jsxs)(`div`,{className:`uss-detail-section`,children:[(0,o.jsx)(`div`,{className:`uss-detail-label`,children:`Display Template`}),(0,o.jsx)(Vp,{value:t.displayTemplate??``,onChange:e=>v({displayTemplate:e}),placeholder:`e.g. {{firstName}} {{lastName}}`})]}),(0,o.jsxs)(`div`,{className:`uss-detail-section`,children:[(0,o.jsxs)(`div`,{className:`uss-detail-label`,children:[`Link`,(0,o.jsx)(i.Switch,{size:`small`,style:{marginLeft:8},checked:!!t.isLink,onChange:e=>v({isLink:e})})]}),t.isLink&&(0,o.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:6,paddingTop:4},children:[(0,o.jsx)(Vp,{value:t.linkTemplate??``,onChange:e=>v({linkTemplate:e}),placeholder:`e.g. /jobs/{{jobId}}`}),(0,o.jsxs)(`div`,{className:`uss-detail-row`,children:[(0,o.jsxs)(i.Select,{size:`small`,value:t.linkType??`internal`,onChange:e=>v({linkType:e}),style:{width:120},children:[(0,o.jsx)(X_,{value:`internal`,children:`internal`}),(0,o.jsx)(X_,{value:`external`,children:`external`})]}),(0,o.jsxs)(i.Select,{size:`small`,value:t.linkTarget??`_self`,onChange:e=>v({linkTarget:e}),style:{width:100},children:[(0,o.jsx)(X_,{value:`_self`,children:`_self`}),(0,o.jsx)(X_,{value:`_blank`,children:`_blank`})]})]})]})]}),(0,o.jsxs)(`div`,{className:`uss-detail-section`,children:[(0,o.jsx)(`div`,{className:`uss-detail-label`,children:`Secondary Fields`}),(0,o.jsx)(`div`,{className:`uss-detail-row`,style:{flexWrap:`wrap`},children:(t.secondaryFields??[]).map(e=>(0,o.jsxs)(`span`,{className:`uss-secondary-tag`,children:[e,(0,o.jsx)(`button`,{onClick:()=>f(e),children:`×`})]},e))}),(0,o.jsxs)(`div`,{className:`uss-detail-row`,children:[(0,o.jsx)(i.Input,{size:`small`,placeholder:`Add field key`,value:y,onChange:e=>b(e.target.value),onPressEnter:()=>{d(y),b(``)},style:{width:160}}),(0,o.jsx)(i.Button,{size:`small`,type:`link`,icon:(0,o.jsx)(a.PlusOutlined,{}),onClick:()=>{d(y),b(``)},children:`Add`})]}),t.secondaryFields?.length>0&&(0,o.jsxs)(`div`,{style:{marginTop:4,display:`flex`,alignItems:`center`,gap:8},children:[(0,o.jsx)(Y_,{style:{fontSize:11,color:`var(--color-text-muted)`},children:`Separator:`}),(0,o.jsx)(i.Input,{size:`small`,value:t.secondarySeparator??``,placeholder:`·`,style:{width:64},onChange:e=>v({secondarySeparator:e.target.value})})]})]}),(0,o.jsxs)(`div`,{className:`uss-detail-section`,children:[(0,o.jsxs)(`div`,{className:`uss-detail-label`,children:[`Lookup (FK resolve)`,(0,o.jsx)(i.Switch,{size:`small`,style:{marginLeft:8},checked:!!t.lookup,onChange:e=>v({lookup:e?{collection:``,displayField:``,valueField:``,projectFields:[]}:null})})]}),t.lookup&&(0,o.jsxs)(`div`,{className:`uss-lookup-grid`,children:[(0,o.jsxs)(`div`,{className:`uss-lookup-row`,children:[(0,o.jsx)(`span`,{className:`uss-lookup-label`,children:`Collection`}),(0,o.jsx)(i.Select,{size:`small`,value:t.lookup?.collection??``,onChange:l,showSearch:!0,placeholder:`Select collection`,style:{flex:1},children:n.map(e=>(0,o.jsx)(X_,{value:e,children:e},e))})]}),(0,o.jsxs)(`div`,{className:`uss-lookup-row`,children:[(0,o.jsx)(`span`,{className:`uss-lookup-label`,children:`Tenant scoped`}),(0,o.jsx)(i.Switch,{size:`small`,checked:!!t.lookup?.tenantScoped,onChange:e=>u(t.fieldKey,{tenantScoped:e})})]}),s.length>0&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(`div`,{className:`uss-lookup-row`,children:[(0,o.jsx)(`span`,{className:`uss-lookup-label`,children:`Value Field`}),(0,o.jsx)(i.Select,{size:`small`,value:t.lookup?.valueField??``,onChange:e=>u(t.fieldKey,{valueField:e}),placeholder:`ID field`,style:{flex:1},children:s.map(e=>(0,o.jsx)(X_,{value:e,children:e},e))})]}),(0,o.jsxs)(`div`,{className:`uss-lookup-row`,children:[(0,o.jsx)(`span`,{className:`uss-lookup-label`,children:`Display Field`}),(0,o.jsx)(i.Select,{size:`small`,value:t.lookup?.displayField??``,onChange:e=>u(t.fieldKey,{displayField:e}),placeholder:`Label field`,style:{flex:1},children:[...s,...c].map(e=>(0,o.jsx)(X_,{value:e,children:e},e))})]})]})]})]}),(0,o.jsxs)(`div`,{className:`uss-detail-section`,children:[(0,o.jsxs)(`div`,{className:`uss-detail-label`,children:[`Derived Array Value`,(0,o.jsx)(i.Switch,{size:`small`,style:{marginLeft:8},checked:!!t.derived,onChange:e=>v({derived:e?{type:`arrayField`,source:``,matchField:``,matchValue:``,valueField:``,default:null}:null})})]}),t.derived&&(0,o.jsx)(`div`,{className:`uss-lookup-grid`,children:[[`Source array`,`source`,`e.g. stages`],[`Match field`,`matchField`,`e.g. stageCode`],[`Match value`,`matchValue`,`e.g. PO_MSA`],[`Value field`,`valueField`,`e.g. status`]].map(([e,n,r])=>(0,o.jsxs)(`div`,{className:`uss-lookup-row`,children:[(0,o.jsx)(`span`,{className:`uss-lookup-label`,children:e}),(0,o.jsx)(i.Input,{size:`small`,value:t.derived?.[n]??``,placeholder:r,onChange:e=>v({derived:{...t.derived,[n]:e.target.value}})})]},n))})]}),(0,o.jsxs)(`div`,{className:`uss-detail-section`,children:[(0,o.jsxs)(`div`,{className:`uss-detail-label`,children:[`Computed Value`,(0,o.jsx)(i.Switch,{size:`small`,style:{marginLeft:8},checked:!!t.computed,onChange:e=>v({computed:e?{operator:`subtract`,operands:[],default:0}:null})})]}),t.computed&&(0,o.jsxs)(`div`,{className:`uss-lookup-grid`,children:[(0,o.jsxs)(`div`,{className:`uss-lookup-row`,children:[(0,o.jsx)(`span`,{className:`uss-lookup-label`,children:`Operator`}),(0,o.jsx)(i.Select,{size:`small`,value:t.computed?.operator??`subtract`,style:{flex:1},options:[`add`,`subtract`,`multiply`,`divide`,`percentage`,`ifNull`].map(e=>({value:e,label:e})),onChange:e=>v({computed:{...t.computed,operator:e}})})]}),(0,o.jsx)(Y_,{style:{fontSize:11},children:`Operands JSON (field or value entries)`}),(0,o.jsx)(i.Input.TextArea,{rows:3,defaultValue:JSON.stringify(t.computed?.operands??[],null,2),placeholder:`[{"field":"billRate"},{"field":"payRate"}]`,onBlur:e=>{try{let n=JSON.parse(e.target.value||`[]`);if(!Array.isArray(n))throw Error(`Operands must be an array`);v({computed:{...t.computed,operands:n}})}catch(e){i.message.error(e.message||`Invalid operands JSON`)}}},JSON.stringify(t.computed?.operands??[]))]})]}),(0,o.jsxs)(`div`,{className:`uss-detail-section`,children:[(0,o.jsxs)(`div`,{className:`uss-detail-label`,style:{display:`flex`,justifyContent:`space-between`},children:[(0,o.jsxs)(`span`,{children:[`Action Buttons `,(0,o.jsx)(`span`,{style:{fontSize:11,fontWeight:400,color:`var(--color-text-muted)`},children:`(max 3)`})]}),(t.actionButtons??[]).length<3&&(0,o.jsx)(i.Button,{type:`link`,size:`small`,icon:(0,o.jsx)(a.PlusOutlined,{}),onClick:p,children:`Add Icon`})]}),(t.actionButtons??[]).map((e,t)=>(0,o.jsxs)(`div`,{children:[(0,o.jsxs)(`div`,{className:`uss-action-btn-row`,children:[(0,o.jsx)(i.Upload,{showUploadList:!1,beforeUpload:e=>(j(t,e),!1),accept:`image/*`,children:(0,o.jsx)(i.Tooltip,{title:`Click to upload icon`,children:(0,o.jsx)(`div`,{className:`uss-action-btn-icon-slot`,children:x[t]?(0,o.jsx)(i.Spin,{size:`small`}):e.iconUrl?(0,o.jsx)(`img`,{src:e.iconUrl,alt:`action-${t}`,style:{width:`100%`,height:`100%`,objectFit:`cover`}}):(0,o.jsx)(a.UploadOutlined,{style:{color:`#aaa`,fontSize:14}})})})}),(0,o.jsx)(i.Input,{size:`small`,value:e.name??``,onChange:e=>m(t,{name:e.target.value}),placeholder:`Tooltip (e.g. Edit)`,style:{width:110}}),(0,o.jsxs)(i.Radio.Group,{size:`small`,value:e.type??`page`,onChange:e=>m(t,{type:e.target.value}),children:[(0,o.jsx)(i.Radio,{value:`page`,children:`Page`}),(0,o.jsx)(i.Radio,{value:`popup`,children:`Popup`})]}),(0,o.jsx)(i.Input,{size:`small`,value:e.routeUrl??``,onChange:e=>m(t,{routeUrl:e.target.value}),placeholder:`Route URL (e.g. /jobs/:_id)`,prefix:(0,o.jsx)(a.LinkOutlined,{style:{color:`#bbb`}}),style:{flex:1}}),(0,o.jsx)(i.Button,{size:`small`,danger:!0,type:`text`,onClick:()=>h(t),children:`✕`})]}),(0,o.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,paddingLeft:36},children:[(0,o.jsx)(Y_,{style:{fontSize:11,color:`#999`,whiteSpace:`nowrap`},children:`Permission:`}),(0,o.jsx)(i.Select,{size:`small`,allowClear:!0,value:e.permissionKey||void 0,onChange:e=>m(t,{permissionKey:e??``}),placeholder:`Always visible`,style:{width:180},options:[{value:`edit`},{value:`delete`},{value:`add`},{value:`view`}]})]}),(0,o.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,paddingLeft:36,marginTop:4,flexWrap:`wrap`},children:[(0,o.jsx)(Y_,{style:{fontSize:11,color:`#999`,whiteSpace:`nowrap`},children:`Show only if:`}),(0,o.jsx)(i.Input,{size:`small`,value:e.showIfField??``,onChange:e=>m(t,{showIfField:e.target.value}),placeholder:`field (e.g. createdBy)`,style:{width:180}}),(0,o.jsx)(i.Select,{size:`small`,value:e.showIfOperator||`eq`,style:{width:130},onChange:e=>m(t,{showIfOperator:e}),options:av}),![`isEmpty`,`notEmpty`].includes(e.showIfOperator||`eq`)&&(0,o.jsx)(i.Select,{size:`small`,showSearch:!0,allowClear:!0,mode:`tags`,maxCount:1,value:e.showIfValue?[e.showIfValue]:[],style:{width:200},onChange:e=>m(t,{showIfValue:e[e.length-1]??``}),placeholder:`value or {currentUserId}`,options:[{value:`{currentUserId}`,label:`{currentUserId} — signed-in user`}],filterOption:(e,t)=>(t?.label??t?.value??``).toLowerCase().includes(e.toLowerCase())}),e.showIfField&&(0,o.jsx)(i.Button,{size:`small`,type:`text`,danger:!0,icon:(0,o.jsx)(a.CloseOutlined,{}),onClick:()=>m(t,{showIfField:``,showIfOperator:``,showIfValue:``})})]})]},t))]})]})}var av=[{value:`eq`,label:`equals`},{value:`ne`,label:`not equals`},{value:`isEmpty`,label:`is empty`},{value:`notEmpty`,label:`is not empty`},{value:`contains`,label:`contains`},{value:`includes`,label:`list includes (exact)`},{value:`notIncludes`,label:`list excludes (exact)`}],ov=[{label:`Module data (distinct)`,value:`module`},{label:`Masters collection`,value:`master`},{label:`Group value`,value:`group`}],sv=[`select`,`radio`,`checkbox`],cv=[{label:`Dropdown`,value:`dropdown`},{label:`Checkbox`,value:`checkbox`},{label:`Radio`,value:`radio`},{label:`Date Range`,value:`datepicker`},{label:`Number Range`,value:`number-range`}];function lv({field:e,update:t,configType:n,collections:r,collFields:a,onCollectionChange:s,onLookupFieldChange:c}){let l=sv.includes(e.type),u=!!e.lookup;function d(e){t({lookup:e?{collection:``,displayField:``,valueField:``,projectFields:[]}:null})}return(0,o.jsxs)(`div`,{style:{display:`flex`,gap:24,flexWrap:`wrap`},children:[(0,o.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8},children:[(0,o.jsx)(Y_,{style:{fontSize:12},children:`Editable`}),(0,o.jsx)(i.Switch,{size:`small`,checked:!!e.isEditable,onChange:e=>t({isEditable:e})})]}),(0,o.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8},children:[(0,o.jsx)(Y_,{style:{fontSize:12},children:`Mandatory`}),(0,o.jsx)(i.Switch,{size:`small`,checked:!!e.ismandatory,onChange:e=>t({ismandatory:e})})]}),n===`filter`&&(0,o.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8},children:[(0,o.jsx)(Y_,{style:{fontSize:12},children:`Value Input`}),(0,o.jsx)(i.Select,{size:`small`,value:e.filterInputType??`dropdown`,onChange:e=>t({filterInputType:e}),options:cv,style:{width:140}})]}),n===`filter`&&(0,o.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8},children:[(0,o.jsx)(Y_,{style:{fontSize:12},children:`Default`}),(0,o.jsx)(i.Switch,{size:`small`,checked:!!e.isDefaultFilter,onChange:e=>t({isDefaultFilter:e})})]}),n===`filter`&&(0,o.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8},children:[(0,o.jsx)(Y_,{style:{fontSize:12},children:`Lookup`}),(0,o.jsx)(i.Switch,{size:`small`,checked:u,onChange:d})]}),n===`filter`&&u&&(0,o.jsxs)(`div`,{style:{display:`flex`,gap:8,alignItems:`center`,flexWrap:`wrap`},children:[(0,o.jsx)(i.Select,{size:`small`,value:e.lookup?.collection||void 0,onChange:s,showSearch:!0,placeholder:`Collection`,style:{width:160},options:(r??[]).map(e=>({label:e,value:e}))}),(a??[]).length>0&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(i.Select,{size:`small`,value:e.lookup?.valueField||void 0,onChange:t=>c(e.fieldKey,{valueField:t}),showSearch:!0,placeholder:`Value field (ID)`,style:{width:160},options:(a??[]).map(e=>({label:e,value:e}))}),(0,o.jsx)(i.Input,{size:`small`,value:e.lookup?.displayField??``,onChange:t=>c(e.fieldKey,{displayField:t.target.value}),placeholder:`Display field (e.g. name)`,style:{width:180}})]})]}),l&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8},children:[(0,o.jsx)(Y_,{style:{fontSize:12},children:`Source`}),(0,o.jsx)(i.Select,{size:`small`,value:e.dataSource??`module`,onChange:e=>t({dataSource:e,groupName:``}),options:ov,style:{width:170}})]}),(e.dataSource??`module`)===`group`&&(0,o.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8},children:[(0,o.jsx)(Y_,{style:{fontSize:12},children:`Group Name`}),(0,o.jsx)(i.Input,{size:`small`,value:e.groupName??``,onChange:e=>t({groupName:e.target.value}),placeholder:`e.g. skills`,style:{width:120}})]})]})]})}function uv({field:t,index:n,configType:s,moduleKey:c,onUpdate:l,onReorder:u,collections:d,onFetchCollFields:f,dragFromRef:p}){let[m,h]=(0,r.useState)(!1),[g,_]=(0,r.useState)(!1),[v,y]=(0,r.useState)(t.fieldName),[b,x]=(0,r.useState)([]),[S,C]=(0,r.useState)([]),[w,T]=(0,r.useState)(!1),[E,D]=(0,r.useState)(!1);(0,r.useEffect)(()=>{queueMicrotask(()=>{y(t.fieldName)})},[t.fieldName]),(0,r.useEffect)(()=>{if(!m||s!==`listView`||!t.fieldKey)return;let n=!1;return e.vn(t.apiModule??ev[c]??c,t.fieldKey).then(e=>{n||C(Array.isArray(e)?e:[])}).catch(()=>{n||C([])}),()=>{n=!0}},[m,s,t.apiModule,t.fieldKey,c]);function O(e){p.current=n,e.dataTransfer.effectAllowed=`move`,D(!0)}function k(){D(!1),T(!1)}function A(e){e.preventDefault(),T(!0)}function j(){T(!1)}function M(e){e.preventDefault(),T(!1),p.current!==null&&p.current!==n&&u(p.current,n),p.current=null}function N(e){l(n,e)}function P(){_(!1);let e=v.trim();e&&e!==t.fieldName?N({fieldName:e}):y(t.fieldName)}async function F(e){N({lookup:{...t.lookup,collection:e,displayField:``,valueField:``,projectFields:[]}}),x(await f(e))}async function I(n,r){if(N({lookup:{...t.lookup,...r}}),r.valueField)try{C(await e.vn(c,n))}catch{C([])}}function L(e){let n=t.secondaryFields??[];!e||n.includes(e)||N({secondaryFields:[...n,e]})}function R(e){N({secondaryFields:(t.secondaryFields??[]).filter(t=>t!==e)})}function z(){let e=t.actionButtons??[];e.length>=3||N({actionButtons:[...e,{name:``,iconUrl:``,iconPath:``,type:`page`,routeUrl:``,permissionKey:``}]})}function B(e,n){let r=[...t.actionButtons??[]];r[e]={...r[e],...n},N({actionButtons:r})}function ee(e){let n=[...t.actionButtons??[]];n.splice(e,1),N({actionButtons:n})}return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(`div`,{draggable:!0,onDragStart:O,onDragEnd:k,onDragOver:A,onDragLeave:j,onDrop:M,className:`uss-field-row${w?` drag-over`:``}${E?` dragging`:``}`,style:{gridTemplateColumns:`24px 1fr 80px 56px`},children:[(0,o.jsx)(`span`,{className:`uss-drag-handle`,children:(0,o.jsx)(a.HolderOutlined,{})}),(0,o.jsxs)(`span`,{className:`uss-field-name`,children:[t.isVirtual&&(0,o.jsx)(`span`,{className:`uss-virtual-tag`,children:`virtual`}),g?(0,o.jsx)(`input`,{autoFocus:!0,value:v,onChange:e=>y(e.target.value),onBlur:P,onKeyDown:e=>{e.key===`Enter`&&P(),e.key===`Escape`&&(_(!1),y(t.fieldName))},onClick:e=>e.stopPropagation()}):(0,o.jsx)(i.Tooltip,{title:`Double-click to rename`,children:(0,o.jsx)(`span`,{style:{cursor:`text`,borderBottom:`1px dashed var(--color-border-muted)`},onDoubleClick:e=>{e.stopPropagation(),_(!0)},children:t.fieldName})}),(0,o.jsx)(`span`,{className:`uss-field-key`,children:t.fieldKey})]}),(0,o.jsx)(`span`,{className:`uss-toggle-cell`,children:(0,o.jsx)(i.Switch,{size:`small`,checked:t.isVisible,onChange:e=>N({isVisible:e})})}),(0,o.jsx)(`span`,{className:`uss-toggle-cell`,children:(0,o.jsx)(i.Button,{type:`text`,size:`small`,icon:m?(0,o.jsx)(a.DownOutlined,{}):(0,o.jsx)(a.RightOutlined,{}),onClick:()=>h(e=>!e),style:{color:`var(--color-text-muted)`}})})]}),m&&(0,o.jsx)(`div`,{className:`uss-detail-panel`,children:s===`listView`?(0,o.jsx)(iv,{field:t,collections:d,collFields:b,subfields:S,onCollectionChange:F,onLookupFieldChange:I,addSecondaryField:L,removeSecondaryField:R,addActionButton:z,updateActionButton:B,removeActionButton:ee,moduleKey:c,fieldKey:t.fieldKey,update:N}):(0,o.jsx)(lv,{field:t,update:N,configType:s,collections:d,collFields:b,onCollectionChange:F,onLookupFieldChange:I})})]})}function dv({role:t,configType:n}){let[a,s]=(0,r.useState)({}),[c,l]=(0,r.useState)(Z_),[u,d]=(0,r.useState)(!1),[f,p]=(0,r.useState)({}),[m,h]=(0,r.useState)(`job`),[g,_]=(0,r.useState)([]),v=(0,r.useRef)({}),y=(0,r.useRef)(null),b=(0,r.useCallback)(async(r=t,i=n)=>{let[a,o]=await Promise.all([e.bn().catch(()=>[]),e.yn()]),s=rv(a);return{tabs:s,colls:o,fields:await e.Wn(r,i,s)}},[n,t]);(0,r.useEffect)(()=>{if(!t)return;let e=!1;return queueMicrotask(()=>{d(!0),(async()=>{try{let{tabs:t,colls:n,fields:r}=await b();if(e)return;l(t),_(n),h(e=>t.some(t=>t.key===e)?e:t[0]?.key??``),s(r)}catch{e||i.message.error(`Failed to load field config`)}finally{e||d(!1)}})()}),()=>{e=!0}},[b,t]);let x=a[m]??[];function S(e,t){s(n=>({...n,[e]:typeof t==`function`?t(n[e]??[]):t}))}function C(e,t){S(m,n=>n.map((n,r)=>r===e?{...n,...t}:n))}function w(e,t){S(m,n=>{let r=[...n],[i]=r.splice(e,1);return r.splice(t,0,i),r.map((e,t)=>({...e,order:t}))})}async function T(t){if(v.current[t])return v.current[t];try{let n=await e.Cn(t);return v.current[t]=n,n}catch{return[]}}async function E(){let r=m;p(e=>({...e,[r]:!0}));try{await e.mr(t,r,x,n,c),i.message.success(`Saved`)}catch{i.message.error(`Save failed`)}finally{p(e=>({...e,[r]:!1}))}}return(0,o.jsxs)(i.Spin,{spinning:u,children:[(0,o.jsx)(i.Tabs,{size:`small`,activeKey:m,onChange:h,items:c.map(e=>({key:e.key,label:e.label}))}),(0,o.jsxs)(`div`,{className:`uss-field-header`,style:{gridTemplateColumns:`24px 1fr 80px 56px`},children:[(0,o.jsx)(`span`,{}),(0,o.jsx)(`span`,{children:`Field`}),(0,o.jsx)(`span`,{style:{textAlign:`center`},children:`Visible`}),(0,o.jsx)(`span`,{})]}),(0,o.jsxs)(`div`,{className:`uss-field-list`,children:[x.length===0&&!u&&(0,o.jsx)(`div`,{className:`uss-empty`,children:`No fields found.`}),x.map((e,t)=>(0,o.jsx)(uv,{field:e,index:t,configType:n,moduleKey:m,onUpdate:C,onReorder:w,collections:g,onFetchCollFields:T,dragFromRef:y},`${e.fieldKey??t}-${m}`))]}),(0,o.jsx)(`div`,{className:`uss-modal-footer`,children:(0,o.jsxs)(i.Button,{type:`primary`,size:`small`,loading:f[m],onClick:E,children:[`Save `,c.find(e=>e.key===m)?.label]})})]})}function fv(e){return String(e||``).replace(/[-_]/g,` `).replace(/\b\w/g,e=>e.toUpperCase()).trim()}function pv(e){if(typeof e==`string`)return{value:e,label:fv(e)};let t=e?.menuKey??e?.module??e?.key??e?.moduleKey??e?.value??e?.apiModule??e?.name??e?.modulename??e?.menuName;return t?{value:t,label:e?.menuName??e?.label??e?.moduleLabel??e?.moduleName??e?.name??e?.modulename??fv(t)}:null}function mv(e){let t=new Set;return(Array.isArray(e)?e:[]).map(pv).filter(Boolean).filter(e=>t.has(e.value)?!1:(t.add(e.value),!0))}var hv=Object.freeze({clientId:``,region:``}),{Text:gv}=i.Typography;function _v(e,t){return{...e,enabled:t,fields:e.fields.map(e=>({...e}))}}function vv(e,t){return{...e,editable:t,fields:e.fields.map(e=>({...e}))}}function yv({role:t}){let[n,s]=(0,r.useState)([]),[c,l]=(0,r.useState)(``),[u,d]=(0,r.useState)([]),[f,p]=(0,r.useState)(!1),[m,h]=(0,r.useState)(!1),g=hv,_=(0,r.useCallback)(async()=>mv(await e.bn().catch(()=>[])).map(({value:e,label:t})=>({key:e,label:t})),[]);(0,r.useEffect)(()=>{let e=!1;return queueMicrotask(()=>{_().then(t=>{e||(s(t),l(e=>t.some(t=>t.key===e)?e:t[0]?.key??``))})}),()=>{e=!0}},[_]);let v=(0,r.useCallback)(async(n,r)=>{if(!t||!n){d([]);return}p(!0);try{let i=await e.Hn(t,n,r);d(Array.isArray(i)?i:[])}catch{i.message.error(`Failed to load form permissions`),d([])}finally{p(!1)}},[t]);(0,r.useEffect)(()=>{queueMicrotask(()=>{v(c,g)})},[c,g,v]);function y(e,t){d(n=>n.map(n=>n.name===e?_v(n,t):n))}function b(e,t){d(n=>n.map(n=>n.name===e?vv(n,t):n))}function x(e,t,n){d(r=>r.map(r=>r.name===e?{...r,fields:r.fields.map(e=>e.field===t?{...e,enabled:n}:e)}:r))}function S(e,t,n){d(r=>r.map(r=>r.name===e?{...r,fields:r.fields.map(e=>e.field===t?{...e,editable:n}:e)}:r))}async function C(){h(!0);try{await e.ar(t,c,u),i.message.success(`Saved`)}catch{i.message.error(`Save failed`)}finally{h(!1)}}return(0,o.jsxs)(i.Spin,{spinning:f,children:[(0,o.jsx)(i.Tabs,{size:`small`,activeKey:c,onChange:l,items:n.map(e=>({key:e.key,label:e.label}))}),(0,o.jsxs)(`div`,{className:`fg-expanded-fields`,style:{marginTop:8},children:[u.length===0&&!f&&(0,o.jsx)(i.Empty,{description:`No form groups configured for this module.`}),u.map(e=>(0,o.jsxs)(`div`,{className:`fg-field-card`,style:{flexDirection:`column`,alignItems:`stretch`},children:[(0,o.jsxs)(`div`,{className:`fg-field-card-inner`,style:{padding:`8px 12px`},children:[(0,o.jsxs)(`span`,{className:`uss-field-name`,style:{flex:1},children:[(0,o.jsx)(`strong`,{children:e.label}),e.locked&&(0,o.jsx)(i.Tooltip,{title:`Every field in this group is disabled globally in Form Groups`,children:(0,o.jsx)(a.LockOutlined,{style:{marginLeft:6,color:`var(--color-text-muted)`}})})]}),(0,o.jsxs)(i.Space,{size:16,children:[(0,o.jsxs)(`span`,{className:`uss-toggle-pair`,children:[(0,o.jsx)(gv,{type:`secondary`,style:{fontSize:11,marginRight:6},children:`Show`}),(0,o.jsx)(i.Switch,{size:`small`,checked:e.enabled,disabled:e.locked,checkedChildren:`On`,unCheckedChildren:`Off`,onChange:t=>y(e.name,t)})]}),(0,o.jsxs)(`span`,{className:`uss-toggle-pair`,children:[(0,o.jsx)(gv,{type:`secondary`,style:{fontSize:11,marginRight:6},children:`Editable`}),(0,o.jsx)(i.Switch,{size:`small`,checked:e.editable!==!1,disabled:e.locked||!e.enabled,checkedChildren:`Yes`,unCheckedChildren:`No`,onChange:t=>b(e.name,t)})]})]})]}),(0,o.jsx)(`div`,{className:`fg-expanded-fields`,style:{padding:`4px 12px 10px 28px`,opacity:e.enabled?1:.5},children:e.fields.map(t=>(0,o.jsxs)(`div`,{className:`fg-field-row`,style:{justifyContent:`space-between`},children:[(0,o.jsxs)(`span`,{className:`fg-field-row-info`,children:[(0,o.jsx)(`span`,{className:`fg-field-row-label`,children:t.label}),(0,o.jsx)(`span`,{className:`fg-field-row-key`,children:t.field}),t.locked&&(0,o.jsx)(i.Tooltip,{title:`Disabled globally in Form Groups — a role can never re-enable it`,children:(0,o.jsx)(a.LockOutlined,{style:{color:`var(--color-text-muted)`}})})]}),(0,o.jsxs)(i.Space,{size:16,children:[(0,o.jsxs)(`span`,{className:`uss-toggle-pair`,children:[(0,o.jsx)(gv,{type:`secondary`,style:{fontSize:11,marginRight:6},children:`Show`}),(0,o.jsx)(i.Switch,{size:`small`,checked:t.enabled,disabled:t.locked||!e.enabled,checkedChildren:`On`,unCheckedChildren:`Off`,onChange:n=>x(e.name,t.field,n)})]}),(0,o.jsxs)(`span`,{className:`uss-toggle-pair`,children:[(0,o.jsx)(gv,{type:`secondary`,style:{fontSize:11,marginRight:6},children:`Editable`}),(0,o.jsx)(i.Switch,{size:`small`,checked:t.editable!==!1,disabled:t.locked||!e.enabled||!t.enabled||e.editable===!1,checkedChildren:`Yes`,unCheckedChildren:`No`,onChange:n=>S(e.name,t.field,n)})]})]})]},t.field))})]},e.name))]}),u.length>0&&(0,o.jsx)(`div`,{className:`uss-modal-footer`,children:(0,o.jsxs)(i.Button,{type:`primary`,size:`small`,loading:m,onClick:C,children:[`Save `,n.find(e=>e.key===c)?.label]})}),(0,o.jsxs)(gv,{type:`secondary`,style:{fontSize:11,display:`block`,marginTop:8},children:[`Groups and fields are read from Form Groups. `,(0,o.jsx)(`b`,{children:`Show`}),` hides a group/field from the add & edit form; `,(0,o.jsx)(`b`,{children:`Editable`}),` keeps it visible but read-only (disabled). Everything is shown and editable by default. A role can only ever narrow what Form Groups already enables — never re-enable something disabled globally.`]})]})}var{Text:bv,Title:xv}=i.Typography,Sv=(e,t)=>`${e}::${t}`,Cv=e=>String(e??``).trim().toLowerCase();function wv(e){let t=Cv(e);for(let e of[`details`,`detail`])if(t.endsWith(e)){let n=t.slice(0,-e.length);if(n)return n}return``}function Tv(e,t){let[n,r]=[Cv(e),Cv(t)],i=e=>e.replace(/s$/,``);return i(wv(n))===i(r)||i(wv(r))===i(n)}function Ev(e){let t=new Set;return(e??[]).forEach(e=>{t.add(e.key),(e.children??[]).forEach(n=>t.add(Sv(e.key,n.key)))}),t}function Dv({role:t}){let n=Number(t?.roleId??0),[s,c]=(0,r.useState)([]),[l,u]=(0,r.useState)(``),[d,f]=(0,r.useState)([]),[p,m]=(0,r.useState)(!1),[h,g]=(0,r.useState)(!1),[_,v]=(0,r.useState)(new Set),[y,b]=(0,r.useState)(!1),[x,S]=(0,r.useState)([]),C=(0,r.useMemo)(()=>x.filter(e=>Tv(e,l)),[x,l]);(0,r.useEffect)(()=>{e.dn().then(e=>{let t=mv(e).map(e=>e.value);c(t),u(e=>e||t[0]||``)}).catch(()=>c([])),e.Kn().then(e=>S([...new Set((Array.isArray(e)?e:[]).map(e=>String(e?.module??``).trim()).filter(Boolean))])).catch(()=>S([]))},[]);let w=(0,r.useCallback)(async()=>{if(l){m(!0);try{let t=await e.Kn(l);f(Array.isArray(t)?t:[])}catch(e){i.message.error(e.message),f([])}finally{m(!1)}}},[l]);(0,r.useEffect)(()=>{queueMicrotask(()=>{w()})},[w]);let T=(0,r.useCallback)(e=>{let t=d.filter(t=>t.roleId===e);return t.find(e=>e.module===l)??t[0]??null},[d,l]),E=(0,r.useMemo)(()=>T(0),[T]),D=(0,r.useMemo)(()=>T(n),[T,n]),O=(0,r.useMemo)(()=>E?.rowActions??D?.rowActions??[],[E,D]);(0,r.useEffect)(()=>{queueMicrotask(()=>{v(Ev(D?D.rowActions:O)),b(!1)})},[D,O]);function k(e,t,n=[]){v(r=>{let i=new Set(r);return t?(i.add(e),n.forEach(e=>i.add(e))):(i.delete(e),n.forEach(e=>i.delete(e))),i}),b(!0)}async function A(){let r=O.filter(e=>_.has(e.key)).map(e=>e.children?.length?{...e,children:e.children.filter(t=>_.has(Sv(e.key,t.key)))}:e);g(!0);try{D?await e.gr(D.id??D._id,r):await e.en({module:l,roleId:n,rowActions:r}),i.message.success(`Actions saved for ${t?.roleName??`role`}`),await w()}catch(e){i.message.error(e.message),String(e.message??``).toLowerCase().includes(`already exists`)&&w()}finally{g(!1)}}async function j(){if(D){g(!0);try{await e.un(D.id??D._id),i.message.success(`Role override removed — this role now inherits the default actions`),await w()}catch(e){i.message.error(e.message)}finally{g(!1)}}}let M=[{title:`Action`,key:`identity`,render:(e,t)=>(0,o.jsxs)(i.Space,{direction:`vertical`,size:0,children:[(0,o.jsx)(bv,{strong:!0,children:t.label||t.key}),(0,o.jsx)(bv,{type:`secondary`,code:!0,children:t.key})]})},{title:`Behaviour`,key:`behaviour`,width:220,render:(e,t)=>(0,o.jsxs)(i.Space,{direction:`vertical`,size:0,children:[(0,o.jsx)(i.Tag,{color:`blue`,style:{width:`fit-content`},children:t.actionType}),(0,o.jsx)(bv,{type:`secondary`,ellipsis:{tooltip:!0},style:{maxWidth:190},children:t.actionType===`group`?`${(t.children??[]).length} child action(s)`:t.popupKey||t.routeTemplate||t.apiPath||t.copyField||t.documentField||`—`})]})},{title:`Enabled for this role`,key:`enabled`,width:160,render:(e,t)=>(0,o.jsx)(i.Switch,{checked:_.has(t.key),onChange:e=>k(t.key,e,(t.children??[]).map(e=>Sv(t.key,e.key)))})}],N=e=>[{title:`Child Action`,key:`identity`,render:(e,t)=>(0,o.jsxs)(i.Space,{direction:`vertical`,size:0,children:[(0,o.jsx)(bv,{strong:!0,children:t.label||t.key}),(0,o.jsx)(bv,{type:`secondary`,code:!0,children:t.key})]})},{title:`Behaviour`,key:`behaviour`,width:220,render:(e,t)=>(0,o.jsx)(bv,{type:`secondary`,children:t.popupKey||t.routeTemplate||t.apiPath||t.actionType})},{title:`Enabled`,key:`enabled`,width:160,render:(t,n)=>(0,o.jsx)(i.Switch,{disabled:!_.has(e.key),checked:_.has(Sv(e.key,n.key)),onChange:t=>k(Sv(e.key,n.key),t)})}];return(0,o.jsxs)(`section`,{className:`admin-editor`,children:[(0,o.jsxs)(`div`,{className:`admin-section-head`,children:[(0,o.jsxs)(`div`,{children:[(0,o.jsx)(xv,{level:4,children:`Role Actions`}),(0,o.jsxs)(bv,{type:`secondary`,children:[`Enable or disable row actions for `,t?.roleName??`this role`,`. The action library itself is managed in Configurations → Actions.`]})]}),(0,o.jsxs)(i.Space,{children:[D&&(0,o.jsx)(i.Popconfirm,{title:`Remove this role's override and inherit the default actions?`,okText:`Reset`,okType:`danger`,onConfirm:j,children:(0,o.jsx)(i.Button,{icon:(0,o.jsx)(a.UndoOutlined,{}),loading:h,children:`Reset to Default`})}),(0,o.jsx)(i.Button,{icon:(0,o.jsx)(a.ReloadOutlined,{}),onClick:w,loading:p,children:`Reload`}),(0,o.jsx)(i.Button,{type:`primary`,icon:(0,o.jsx)(a.SaveOutlined,{}),loading:h,disabled:!y||!l,onClick:A,children:`Save`})]})]}),(0,o.jsxs)(i.Space,{style:{marginBottom:12},wrap:!0,children:[(0,o.jsxs)(`label`,{children:[(0,o.jsx)(bv,{type:`secondary`,style:{display:`block`,marginBottom:4,fontSize:12},children:`Module`}),(0,o.jsx)(i.Select,{showSearch:!0,optionFilterProp:`label`,style:{width:220},mode:`tags`,maxCount:1,value:l?[l]:[],placeholder:`Pick or type a module key`,onChange:e=>u(String(e[e.length-1]??``).trim()),options:s.map(e=>({value:e,label:e}))})]}),(0,o.jsxs)(`div`,{style:{paddingTop:20},children:[D?(0,o.jsx)(i.Tag,{color:`green`,children:`Role override active`}):(0,o.jsx)(i.Tag,{color:`orange`,children:`Inheriting default (All Roles) — Save creates an override`}),y&&(0,o.jsx)(bv,{type:`warning`,style:{marginLeft:8},children:`Unsaved changes`})]})]}),C.length>0&&(0,o.jsx)(i.Alert,{type:`info`,showIcon:!0,style:{marginBottom:12},message:`This override also applies to: ${C.join(`, `)}`,description:`Those surfaces (e.g. the detail view) keep their own extra actions — only the ones you turn off here are hidden from them.`}),!p&&!O.length&&(0,o.jsx)(i.Alert,{type:`info`,showIcon:!0,style:{marginBottom:12},message:`No actions configured for this module yet.`,description:`Define the actions first in Configurations → Actions (Action library), then enable them per role here.`}),(0,o.jsx)(i.Spin,{spinning:p,children:(0,o.jsx)(i.Table,{dataSource:O.map((e,t)=>({...e,_rowKey:e.key||t})),rowKey:`_rowKey`,columns:M,pagination:!1,size:`small`,expandable:{rowExpandable:e=>e.actionType===`group`&&(e.children??[]).length>0,expandedRowRender:e=>(0,o.jsx)(i.Table,{dataSource:(e.children??[]).map((e,t)=>({...e,_rowKey:e.key||t})),rowKey:`_rowKey`,columns:N(e),pagination:!1,size:`small`})}})})]})}var Ov=[{label:`Equals (=)`,value:`eq`},{label:`Not equals (≠)`,value:`neq`},{label:`Has any value`,value:`truthy`},{label:`Is empty`,value:`falsy`},{label:`Is one of (comma-separated)`,value:`in`},{label:`Is not one of (comma-separated)`,value:`notIn`},{label:`Has at least one row (addRow group)`,value:`notEmpty`}],kv=[`eq`,`neq`,`in`,`notIn`],Av=e=>kv.includes(e??`eq`),jv=`unique`,Mv=[{label:`Exact (compare as stored)`,value:`exact`},{label:`Trim whitespace`,value:`trim`},{label:`Trim + lowercase`,value:`trimLower`},{label:`Email (trim + lowercase)`,value:`email`},{label:`Digits only (phone/ID)`,value:`digitsOnly`}],Nv=[{label:`On blur (recommended)`,value:`blur`},{label:`On submit only`,value:`submit`}],Pv=`trim`,Fv=`blur`,Iv=new Set([`blur`,`submit`,`change`]),Lv=new Set([`file`,`text-editor`,`checkbox`]),Rv=`Uniqueness currently supports scalar values only — a single value compared against a single stored value.`;function zv(e={}){let t=String(e.type??`text`),n=e=>({supported:!1,reason:`${e} ${Rv}`});return Lv.has(t)?n(`${t===`text-editor`?`Rich text`:t===`file`?`File`:`Checkbox`} fields cannot be checked for uniqueness.`):t===`tagify`?n(`Tag fields store a list of values.`):e.multiSelect?n(`Multi-select fields store a list of values.`):e.multiple?n(`Multi-value fields store a list of values.`):e.addRow?n(`Repeatable fields store one value per row.`):Array.isArray(e.subFields)&&e.subFields.length?n(`Fields with sub-fields store one object per row.`):e.dataType===`array`?n(`Fields sent as an array store a list of values.`):{supported:!0,reason:``}}var Bv=/^[A-Za-z_][A-Za-z0-9_-]*$/;function Vv(e){let t=String(e??``);if(!t.trim())return`Collection field is required`;if(t!==t.trim())return`Remove the surrounding spaces`;if(t.includes(`\0`))return`Path contains a null byte`;if(t.includes(`$`))return`Path may not contain "$"`;let n=t.split(`.`);for(let e of n){if(!e)return`Path has an empty segment — use a.b, not a..b`;if(!Bv.test(e))return`Invalid path segment "${e}" — letters, digits, _ and - only`}return``}function Hv(e={}){return String(e.payloadKey??``).trim()||String(e.field??``).trim()}function Uv(e={}){return{collectionField:Hv(e),normalizer:Pv,skipBlank:!0,validateOn:Fv}}var Wv=new Set(Mv.map(e=>e.value));function Gv(e,t={}){let n=e&&typeof e==`object`&&!Array.isArray(e)?e:{},r=Uv(t),i=String(n.collectionField??``).trim()||r.collectionField,a=Wv.has(n.normalizer)?n.normalizer:r.normalizer,o=Iv.has(n.validateOn)?n.validateOn:r.validateOn,s=n.skipBlank===void 0||n.skipBlank===null?r.skipBlank:!!n.skipBlank,c={...n,collectionField:i,normalizer:a,skipBlank:s,validateOn:o},l=Jv(n.alsoCheck);return l.length?c.alsoCheck=l:delete c.alsoCheck,c}function Kv(){return{module:``,collection:``,collectionField:``,normalizer:``,message:``,excludeFrom:{path:``,matchField:``}}}function qv(e){let t=e&&typeof e==`object`&&!Array.isArray(e)?e:{},n=t.excludeFrom&&typeof t.excludeFrom==`object`?t.excludeFrom:{},r={...t,module:String(t.module??``).trim(),collection:String(t.collection??``).trim(),collectionField:String(t.collectionField??``).trim(),normalizer:String(t.normalizer??``).trim(),message:String(t.message??``).trim()},i=String(n.path??``).trim(),a=String(n.matchField??``).trim();return i?r.excludeFrom={...n,path:i,matchField:a}:delete r.excludeFrom,r}function Jv(e){return Array.isArray(e)?e.map(qv).filter(e=>e.module||e.collection):[]}function Yv(e={}){let t=[],n=String(e.module??``).trim(),r=String(e.collection??``).trim();!n&&!r&&t.push(`Name a module (preferred) or a collection to also check.`),r&&!n&&(r.includes(`.`)?t.push(`Collection must be a single name, not a path.`):Vv(r)&&t.push(`Collection: ${Vv(r)}`));let i=String(e.collectionField??``).trim();i&&Vv(i)&&t.push(`Field in that collection: ${Vv(i)}`);let a=String(e.excludeFrom?.path??``).trim();a&&Vv(a)&&t.push(`Exclusion path: ${Vv(a)}`);let o=String(e.excludeFrom?.matchField??``).trim();return o&&Vv(o)&&t.push(`Exclusion match field: ${Vv(o)}`),t}function Xv(e,t={}){if(!e||e.type!==`unique`)return[];let n=[],r=zv(t);r.supported||n.push(r.reason),String(e.message??``).trim()||n.push(`An error message is required — it is what the user sees.`);let i=e.value&&typeof e.value==`object`?e.value:{},a=Vv(i.collectionField);return a&&n.push(a),(Array.isArray(i.alsoCheck)?i.alsoCheck:[]).forEach((e,t)=>{Object.entries(e??{}).some(([e,t])=>e===`excludeFrom`?!!(String(t?.path??``).trim()||String(t?.matchField??``).trim()):!!String(t??``).trim())&&Yv(e).forEach(e=>n.push(`Also check #${t+1}: ${e}`))}),n}function Zv(e){return!!e&&e.type===`unique`}function Qv(e){return(e?.validations??[]).some(Zv)}function $v(e){return(e?.validations??[]).find(Zv)??null}function ey({primaryModule:e=``,groupTargetModule:t=``,field:n={},config:r={},collectionForModule:i}={}){let a=String(t??``).trim()||String(e??``).trim();return{module:a,collection:typeof i==`function`?String(i(a)??``).trim():``,formField:String(n.field??``).trim(),storedField:String(r.collectionField??``).trim()||Hv(n),isCrossModule:!!String(t??``).trim()&&String(t).trim()!==String(e??``).trim()}}var{Paragraph:ty,Text:ny}=i.Typography;function ry({open:t,scope:n,action:s,title:c,description:l,confirmLabel:u=`Confirm`,danger:d=!1,onCancel:f,onVerified:p,onConfirm:m}){let[h,g]=(0,r.useState)(``),[_,v]=(0,r.useState)(``),[y,b]=(0,r.useState)(!1),[x,S]=(0,r.useState)(!1),[C,w]=(0,r.useState)(``),T=(0,r.useRef)(!1);async function E(){if(!(!n||!s)){b(!0),w(``);try{let t=await e.Xn(n,s);v(t?.data?.email||t?.email||`the registered approver`),i.message.success(`OTP sent`)}catch(e){w(e?.message||`Could not send the OTP`)}finally{b(!1)}}}(0,r.useEffect)(()=>{t&&!T.current&&(T.current=!0,g(``),w(``),v(``),E()),t||(T.current=!1)},[t]);async function D(){if(!h.trim()){w(`Enter the OTP sent to your email`);return}S(!0),w(``);try{let t=m?await m(h.trim()):await e.Kt(n,s,h.trim());i.message.success(t?.data?.message||t?.message||`Done`),p?.(t)}catch(e){w(e?.message||`Verification failed — check the code and try again`)}finally{S(!1)}}return(0,o.jsxs)(i.Modal,{open:t,onCancel:f,title:(0,o.jsxs)(`span`,{children:[(0,o.jsx)(a.SafetyCertificateOutlined,{}),` `,c]}),destroyOnClose:!0,maskClosable:!x,footer:[(0,o.jsx)(i.Button,{onClick:f,disabled:x,children:`Cancel`},`cancel`),(0,o.jsx)(i.Button,{type:`primary`,danger:d,loading:x,onClick:D,children:u},`ok`)],children:[l&&(0,o.jsx)(ty,{type:`secondary`,style:{fontSize:13,marginBottom:8},children:l}),(0,o.jsxs)(ty,{type:`secondary`,style:{fontSize:13},children:[`This is a protected action. A one-time code has been emailed to`,` `,(0,o.jsx)(ny,{strong:!0,children:_||`…`}),`. Enter it below to continue.`]}),(0,o.jsx)(i.Input,{size:`large`,inputMode:`numeric`,placeholder:`Enter OTP`,value:h,maxLength:6,onChange:e=>g(e.target.value.replace(/\D/g,``)),onPressEnter:D,autoFocus:!0}),C&&(0,o.jsx)(i.Alert,{type:`error`,showIcon:!0,message:C,style:{marginTop:12}}),(0,o.jsx)(`div`,{style:{marginTop:12},children:(0,o.jsx)(i.Button,{type:`link`,size:`small`,loading:y,onClick:E,style:{padding:0},children:`Resend code`})})]})}var{Text:iy}=i.Typography;function ay({moduleOptions:t=[]}){let[n,s]=(0,r.useState)(``),[c,l]=(0,r.useState)([]),[u,d]=(0,r.useState)([]),[f,p]=(0,r.useState)([]),[m,h]=(0,r.useState)(!1),[g,_]=(0,r.useState)(!1);(0,r.useEffect)(()=>{!n&&t.length&&s(t[0].value)},[t,n]);let v=(0,r.useCallback)(async t=>{if(t){h(!0);try{let[n,r]=await Promise.all([e.pn(t).catch(()=>[]),e.Rn(t).catch(()=>[])]),i=new Set,a=[];(Array.isArray(n)?n:[]).forEach(e=>{(e.fields??[]).forEach(t=>{let n=String(t.field??``).trim();!n||i.has(n)||(i.add(n),a.push({value:n,label:`${t.label??n} · ${n}`,group:e.label??e.name}))})}),l(a),p(r),d(r)}catch(e){i.message.error(e?.message||`Could not load default fields`)}finally{h(!1)}}},[]);(0,r.useEffect)(()=>{queueMicrotask(()=>{v(n)})},[n,v]);let y=(0,r.useMemo)(()=>{if(u.length!==f.length)return!0;let e=[...u].sort(),t=[...f].sort();return e.some((e,n)=>e!==t[n])},[u,f]);async function b(t){let r=await e.rr(n,u,t);return p(u),r}return(0,o.jsxs)(Z,{icon:(0,o.jsx)(a.SafetyCertificateOutlined,{}),title:`Default Fields`,extra:(0,o.jsxs)(i.Space,{children:[(0,o.jsx)(i.Select,{size:`small`,showSearch:!0,optionFilterProp:`label`,style:{width:220},placeholder:`Module`,value:n||void 0,options:t,onChange:s}),(0,o.jsx)(i.Button,{type:`primary`,size:`small`,icon:(0,o.jsx)(a.SaveOutlined,{}),disabled:!n||!y,onClick:()=>_(!0),children:`Save (OTP)`})]}),children:[(0,o.jsx)(`div`,{className:`admin-accent-bar`}),(0,o.jsxs)(iy,{type:`secondary`,style:{fontSize:13,display:`block`,marginBottom:12},children:[`Fields chosen here are `,(0,o.jsx)(`b`,{children:`always shown and always required`}),` on this module's add & edit form. Their Show / Required switches are locked in Form Groups so no one can turn them off. Changing this list requires an OTP emailed to the approver.`]}),(0,o.jsxs)(i.Spin,{spinning:m,children:[(0,o.jsx)(i.Select,{mode:`multiple`,allowClear:!0,showSearch:!0,optionFilterProp:`label`,style:{width:`100%`},placeholder:`Select the fields that must always show + be required`,value:u,options:c,onChange:d,maxTagCount:`responsive`}),(0,o.jsxs)(`div`,{style:{marginTop:12},children:[(0,o.jsxs)(iy,{type:`secondary`,style:{fontSize:12},children:[`Currently enforced (`,f.length,`): `]}),f.length?f.map(e=>(0,o.jsx)(i.Tag,{color:`blue`,style:{marginTop:4},children:e},e)):(0,o.jsx)(iy,{type:`secondary`,style:{fontSize:12},children:`none`})]}),!m&&c.length===0&&(0,o.jsx)(i.Alert,{style:{marginTop:12},type:`info`,showIcon:!0,message:`This module has no form-group fields yet — configure its Form Groups first.`})]}),(0,o.jsx)(ry,{open:g,scope:`defaultFields`,action:`save`,title:`Confirm Default Fields change`,description:`Adding or updating a module's default (always-shown + required) fields is a protected action.`,confirmLabel:`Verify & Save`,onCancel:()=>_(!1),onConfirm:b,onVerified:()=>{_(!1),v(n)}})]})}var{Text:oy}=i.Typography,sy={reset:{action:`reset`,title:`Reset all form groups`,confirmLabel:`Reset All`,danger:!0,description:`This reseeds every module in this workspace back to the built-in default groups, discarding current customizations.`},save:{action:`save`,title:`Save current as default`,confirmLabel:`Save Default`,danger:!1,description:`Snapshots the current form groups for all modules as the saved default you can restore to later.`},restore:{action:`restore`,title:`Restore saved default`,confirmLabel:`Restore Default`,danger:!0,description:`Replaces the current form groups for all modules with the last saved default.`}},cy=[`#0053a5`,`#52c41a`,`#722ed1`,`#fa8c16`,`#eb2f96`,`#13c2c2`],ly=[{label:`Text`,value:`text`},{label:`Number`,value:`number`},{label:`Email`,value:`email`},{label:`Date`,value:`date`},{label:`Time Picker`,value:`time`},{label:`Location`,value:`location`},{label:`Select`,value:`select`},{label:`Radio`,value:`radio`},{label:`Checkbox`,value:`checkbox`},{label:`Tagify`,value:`tagify`},{label:`Textarea`,value:`textarea`},{label:`Text Editor`,value:`text-editor`},{label:`File`,value:`file`}],uy=[{label:`Static (define options here)`,value:`static`},{label:`Masters collection`,value:`master`},{label:`Module data (distinct)`,value:`module`},{label:`Collection lookup (FK)`,value:`lookup`},{label:`Group value`,value:`group`}],dy=[{label:`Required`,value:`required`,hasValue:!1},{label:`Min length/value`,value:`min`,hasValue:!0,valueType:`number`,placeholder:`e.g. 2`},{label:`Max length/value`,value:`max`,hasValue:!0,valueType:`number`,placeholder:`e.g. 100`},{label:`Pattern (regex)`,value:`pattern`,hasValue:!0,valueType:`text`,placeholder:`^[A-Za-z]+$`},{label:`Email (reject numeric-only address)`,value:`email`,hasValue:!1},{label:`Phone format`,value:`phone`,hasValue:!1},{label:`On or after another date field`,value:`dateAfterField`,hasValue:!0,valueType:`text`,placeholder:`startDate`,dateOnly:!0,messageOptional:!0},{label:`On or before another date field`,value:`dateBeforeField`,hasValue:!0,valueType:`text`,placeholder:`endDate`,dateOnly:!0,messageOptional:!0},{label:`Before another time field`,value:`timeBeforeField`,hasValue:!0,valueType:`text`,placeholder:`endTime`,messageOptional:!0},{label:`After another time field`,value:`timeAfterField`,hasValue:!0,valueType:`text`,placeholder:`startTime`,messageOptional:!0},{label:`File types allowed`,value:`fileType`,hasValue:!0,valueType:`text`,placeholder:`pdf,doc,jpg`,messageOptional:!0},{label:`Max file size (MB)`,value:`fileSize`,hasValue:!0,valueType:`number`,placeholder:`e.g. 5`,messageOptional:!0},{label:`Max files count`,value:`maxFiles`,hasValue:!0,valueType:`number`,placeholder:`e.g. 3`,messageOptional:!0},{label:`Greater than or equal to field`,value:`greaterThanField`,hasValue:!0,valueType:`text`,placeholder:`experienceRequiredFrom`},{label:`Greater than field (strict)`,value:`strictGreaterThanField`,hasValue:!0,valueType:`text`,placeholder:`numberOfPosition`},{label:`Less than field (strict)`,value:`strictLessThanField`,hasValue:!0,valueType:`text`,placeholder:`experienceRequiredTo`},{label:`Less than or equal to field`,value:`lessThanOrEqualField`,hasValue:!0,valueType:`text`,placeholder:`experienceRequiredTo`},{label:`Max field with fallback`,value:`maxFieldWithFallback`,hasValue:!0,valueType:`text`,placeholder:`group.preferredToField,group.fallbackFromField`},{label:`Disable previous dates`,value:`noPastDate`,hasValue:!1,messageOptional:!0,dateOnly:!0},{label:`Disable future dates`,value:`noFutureDate`,hasValue:!1,messageOptional:!0,dateOnly:!0},{label:`Min age (years)`,value:`minAge`,hasValue:!0,valueType:`number`,placeholder:`e.g. 18`,messageOptional:!0,dateOnly:!0},{label:`Max from another field`,value:`maxFromField`,hasValue:!1,needsField:!0,messageOptional:!0},{label:`Unique value / Already present check`,value:jv,hasValue:!0,valueType:`object`}],fy=Ov,py=kv,my=[{label:`Auto (infer from field)`,value:`auto`},{label:`String`,value:`string`},{label:`Number`,value:`number`},{label:`Boolean`,value:`boolean`},{label:`Array`,value:`array`},{label:`Object`,value:`object`},{label:`Date (ISO)`,value:`date`}],hy=[{label:`(none)`,value:``},{label:`String`,value:`string`},{label:`Number`,value:`number`},{label:`Boolean`,value:`boolean`}],gy=[{label:`Auto (value as-is)`,value:`auto`},{label:`Value only — { key: id }`,value:`value`},{label:`Label only — { key: "India" }`,value:`label`},{label:`Full object — { id, name }`,value:`object`},{label:`Custom template`,value:`custom`},{label:`Skip (never send)`,value:`skip`}],_y={required:`red`,min:`orange`,max:`gold`,pattern:`purple`,email:`blue`,phone:`cyan`,dateAfterField:`volcano`,dateBeforeField:`orange`,fileType:`cyan`,fileSize:`blue`,maxFiles:`geekblue`,greaterThanField:`lime`,strictGreaterThanField:`green`,strictLessThanField:`cyan`,lessThanOrEqualField:`blue`,maxFieldWithFallback:`purple`,maxFromField:`volcano`,noPastDate:`geekblue`,noFutureDate:`magenta`,minAge:`green`,unique:`magenta`};function vy(e){return dy.find(t=>t.value===e)??{hasValue:!1}}function yy(e){return[{key:`all`,label:`All`,color:`#8c8c8c`},...e.map((e,t)=>({key:e.key,label:e.label,color:cy[t%cy.length]}))]}function by(e){return Object.fromEntries(e.map(({key:e})=>[e,{groups:[],loading:!1,loaded:!1,error:``}]))}function xy(e){if(e==null)return;if(typeof e==`object`)return e;let t=String(e).trim();if(t)try{let e=JSON.parse(t);return e&&typeof e==`object`?e:void 0}catch{return}}function Sy(e){if(e==null)return``;if(typeof e==`string`)return e;try{return JSON.stringify(e,null,2)}catch{return``}}function Cy(e,t){t.payloadKey&&(e.payloadKey=t.payloadKey),t.prefillFrom&&(e.prefillFrom=t.prefillFrom),t.prefillFromModule&&(e.prefillFromModule=t.prefillFromModule);let n=(Array.isArray(t.prefillWhen)?t.prefillWhen:[]).filter(e=>e&&e.field&&e.value!==void 0&&e.value!==``&&(e.clearValue?!0:e.setValue!==void 0&&e.setValue!==``)).map(e=>e.clearValue?{field:e.field,value:e.value,clearValue:!0}:e);n.length&&(e.prefillWhen=n,t.prefillWhenReset===!1&&(e.prefillWhenReset=!1),t.prefillWhenExclusive===!0&&(e.prefillWhenExclusive=!0)),t.dataType&&t.dataType!==`auto`&&(e.dataType=t.dataType),t.elementType&&(e.elementType=t.elementType),t.payloadMode&&t.payloadMode!==`auto`&&(e.payloadMode=t.payloadMode),t.valueKey&&(e.valueKey=t.valueKey),t.displayKey&&(e.displayKey=t.displayKey),t.defaultValue!==void 0&&t.defaultValue!==``&&(e.defaultValue=t.defaultValue),t.richValue&&(e.richValue=!0),t.omitEmpty&&(e.omitEmpty=!0);let r=xy(t.payloadTemplate);r&&(e.payloadTemplate=r);let i=xy(t.transformRule);return i&&(e.transformRule=i),e}var wy=[{label:`equals`,value:`eq`},{label:`not equals`,value:`ne`},{label:`in`,value:`in`},{label:`not in`,value:`nin`},{label:`is not empty`,value:`notEmpty`},{label:`is empty`,value:`empty`}],Ty=[`currentUserId`,`currentRoleId`,`currentUserName`,`currentUserEmail`,`currentReportingId`,`tenantId`,`businessId`,`businessUnitId`];function Ey(e){return Array.isArray(e)?e.filter(e=>e&&e.field).map(e=>{let t=e.valuesFrom??null,n=t&&t.match?Object.keys(t.match)[0]??``:``,r=n?t.match[n]:void 0,i=r&&typeof r==`object`&&typeof r.$valueFrom==`string`,a=i?``:(e=>{if(!e||typeof e!=`object`||Array.isArray(e))return e;let t=Object.keys(e);return t.length===1&&(t[0]===`$in`||t[0]===`$eq`)?e[t[0]]:e})(r);return{field:e.field??``,op:e.op??`eq`,valueSource:t?`collection`:e.valueFrom?`identity`:`literal`,value:Array.isArray(e.value)?e.value.join(`, `):e.value??``,valueFrom:e.valueFrom??``,srcCollection:t?.collection??``,srcValueField:t?.valueField??``,srcMatchField:n,srcMatchValue:Array.isArray(a)?a.join(`, `):a??``,srcMatchValueFrom:i?r.$valueFrom:``,srcRecursive:t?.recursive??!1,srcRecursiveField:t?.recursiveField??``}}):[]}function Dy(e){if(!Array.isArray(e))return[];let t=[];for(let n of e){let e=String(n?.field??``).trim();if(!e)continue;let r=String(n?.op??`eq`).trim()||`eq`,i={field:e,op:r};if(r===`notEmpty`||r===`empty`){t.push(i);continue}let a=n.valueSource??(n.srcCollection?`collection`:n.valueFrom?`identity`:`literal`);if(a===`collection`){let e=String(n.srcCollection??``).trim();if(!e)continue;let t={collection:e,valueField:String(n.srcValueField??``).trim()||`_id`},r=String(n.srcMatchField??``).trim();if(r){let e=String(n.srcMatchValueFrom??``).trim(),i=String(n.srcMatchValue??``).trim();e?t.match={[r]:{$valueFrom:e}}:i&&(t.match={[r]:i.includes(`,`)?i.split(`,`).map(e=>e.trim()).filter(Boolean):i})}if(n.srcRecursive){t.recursive=!0;let e=String(n.srcRecursiveField??``).trim()||r;e&&(t.recursiveField=e)}i.valuesFrom=t}else if(a===`identity`){let e=String(n.valueFrom??``).trim();if(!e)continue;i.valueFrom=e}else{let e=n.value;if(e==null||String(e).trim()===``)continue;let t=String(e).trim();i.value=t.includes(`,`)?t.split(`,`).map(e=>e.trim()).filter(Boolean):t}t.push(i)}return t}function Oy(e=[]){let t=[];for(let n of e??[]){let e=n?.label||n?.field||`field`;for(let r of n?.validations??[])for(let i of Xv(r,n))t.push(`${e}: ${i}`)}return t}function ky(e=[]){return e.filter(e=>String(e?.field??``).trim()!==``).map((e,t)=>{let n=(e.validations??[]).filter(e=>e?.type).map(t=>{let n=vy(t.type),r={type:t.type,message:t.message??``};if(n.hasValue&&t.value!==``&&t.value!==void 0&&t.value!==null?n.valueType===`object`?r.value=t.type===`unique`?Gv(t.value,e):t.value:r.value=n.valueType===`number`?Number(t.value):t.value:n.valueType===`object`&&t.type===`unique`&&(r.value=Uv(e)),n.needsField){let e=String(t.field??``).trim();e&&(r.field=e)}return r}),r={label:e.label,field:e.field,type:e.type??`text`,show:+!!e.show,req:+!!e.req,edit:+!!e.edit,order:t,formatter:e.formatter??``,validations:n};if(e.showOnAdd===!1&&(r.showOnAdd=!1),e.addRow){r.addRow=!0,e.minRows!==void 0&&e.minRows!==``&&Number(e.minRows)>0&&(r.minRows=Number(e.minRows)),e.maxRows!==void 0&&e.maxRows!==``&&Number(e.maxRows)>0&&(r.maxRows=Number(e.maxRows)),e.initialRows!==void 0&&e.initialRows!==``&&(r.initialRows=Number(e.initialRows)),e.addLabel&&(r.addLabel=e.addLabel);let t=(e.subFields??[]).filter(e=>e&&e.field);t.length&&(r.subFields=t.map(e=>{let t={field:String(e.field).trim(),label:e.label??e.field,type:e.type??`text`,show:1,edit:1,req:+!!e.req};if(e.col!==void 0&&e.col!==``&&Number(e.col)>0&&(t.col=Number(e.col)),e.payloadKey&&(t.payloadKey=String(e.payloadKey).trim()),[`select`,`radio`,`checkbox`].includes(t.type)){let n=e.dataSource??`static`;t.dataSource=n,t.type===`select`&&(t.multiSelect=e.multiSelect??!1),n===`master`&&(t.masterName=e.masterName??``),n===`group`&&(t.groupName=e.groupName??``),n===`static`&&(t.options=(e.options??[]).filter(e=>e?.label||e?.value)),n===`lookup`&&(t.lookupCollection=e.lookupCollection??``,t.displayField=e.displayField??``,e.displayField2&&(t.displayField2=e.displayField2),t.valueField=e.valueField??`_id`,e.lookupFilterField&&e.lookupFilterValueFrom&&(t.lookupFilterField=e.lookupFilterField,t.lookupFilterValueFrom=e.lookupFilterValueFrom))}return t}))}e.placeholder&&(r.placeholder=e.placeholder),e.hidePlaceholder&&(r.hidePlaceholder=!0),e.combineKey&&(r.combineKey=e.combineKey),e.combineLabel&&(r.combineLabel=e.combineLabel),e.combineRole&&(r.combineRole=e.combineRole),e.combineToggleLabel&&(r.combineToggleLabel=e.combineToggleLabel),e.combineToggleTarget&&(r.combineToggleTarget=e.combineToggleTarget),e.combineWidth!==void 0&&e.combineWidth!==``&&Number(e.combineWidth)>0&&(r.combineWidth=Number(e.combineWidth)),e.combineWrap&&(r.combineWrap=!0),e.combineSpan!==void 0&&e.combineSpan!==``&&[12,24].includes(Number(e.combineSpan))&&(r.combineSpan=Number(e.combineSpan)),e.defaultOnEdit&&(r.defaultOnEdit=!0),e.noPrefill&&(r.noPrefill=!0),e.emptyValues!==void 0&&e.emptyValues!==``&&(r.emptyValues=String(e.emptyValues).split(`,`).map(e=>e.trim()).filter(e=>e!==``)),e.valuePaths!==void 0&&e.valuePaths!==``&&(r.valuePaths=String(e.valuePaths).split(`,`).map(e=>e.trim()).filter(e=>e!==``)),e.clientScope&&(r.clientScope=!0,e.clientGateMessage&&(r.clientGateMessage=e.clientGateMessage),e.clientGateResetOnChange&&(r.clientGateResetOnChange=!0)),e.visiblePermission&&(r.visiblePermission=String(e.visiblePermission).trim()),e.editablePermission&&(r.editablePermission=String(e.editablePermission).trim()),e.infoEnabled&&e.infoText&&(r.infoEnabled=!0,r.infoText=e.infoText),e.tooltip&&(r.tooltip=String(e.tooltip)),e.helpText&&(r.helpText=e.helpText),Cy(r,e),e.type===`file`&&(r.multiple=e.multiple??!1,r.maxCount=r.multiple?Number(e.maxCount??5):1,e.fileKey&&(r.fileKey=e.fileKey),e.fileNameKey&&(r.fileNameKey=e.fileNameKey),e.fileUrlKey&&(r.fileUrlKey=e.fileUrlKey),e.accept&&e.accept!==`any`&&(r.accept=e.accept));let i=(Array.isArray(e.showIf?.conditions)?e.showIf.conditions:[]).filter(e=>e?.field&&String(e.field).trim()).map(e=>{let t={field:String(e.field).trim(),operator:e.operator??`eq`};return py.includes(t.operator)&&e.value!=null&&e.value!==``&&(t.value=e.value),t});if((e.showIf?.field||i.length)&&(r.showIf={},e.showIf?.field&&(r.showIf.field=e.showIf.field,r.showIf.operator=e.showIf.operator??`eq`,py.includes(r.showIf.operator)&&e.showIf.value!=null&&e.showIf.value!==``&&(r.showIf.value=e.showIf.value)),i.length&&(r.showIf.conditions=i,r.showIf.logic=e.showIf?.logic===`or`?`or`:`and`)),e.labelWhen?.field&&e.labelWhen?.label&&(r.labelWhen={field:String(e.labelWhen.field).trim(),operator:e.labelWhen.operator??`eq`,label:String(e.labelWhen.label).trim()},py.includes(r.labelWhen.operator)&&e.labelWhen.value!=null&&e.labelWhen.value!==``&&(r.labelWhen.value=e.labelWhen.value)),e.colWhenField&&Number(e.colWhenCol)>0){let t={field:String(e.colWhenField).trim(),operator:e.colWhenOperator??`eq`,col:Number(e.colWhenCol)};py.includes(t.operator)&&e.colWhenValue!=null&&e.colWhenValue!==``&&(t.value=e.colWhenValue),r.colWhen=[t]}if(e.verifyAction){if(r.verifyAction=e.verifyAction,e.verifyResultField&&(r.verifyResultField=String(e.verifyResultField).trim()),e.verifyTimestampField&&(r.verifyTimestampField=String(e.verifyTimestampField).trim()),e.verifyIdleLabel&&(r.verifyIdleLabel=String(e.verifyIdleLabel).trim()),e.verifyRetryLabel&&(r.verifyRetryLabel=String(e.verifyRetryLabel).trim()),e.verifySuccessLabel&&(r.verifySuccessLabel=String(e.verifySuccessLabel).trim()),e.verifyLockedWhenFields){let t=gf(e.verifyLockedWhenFields);t.length&&(r.verifyLockedWhenFields=t.join(`,`))}e.verifyLockedLabel&&(r.verifyLockedLabel=String(e.verifyLockedLabel).trim())}if(e.disabledByField&&(r.disabledByField=String(e.disabledByField).trim()),e.linkedClearField&&(r.linkedClearField=String(e.linkedClearField).trim()),e.autofillFrom)try{let t=typeof e.autofillFrom==`string`?JSON.parse(e.autofillFrom):e.autofillFrom;Array.isArray(t)&&t.length>0&&(r.autofillFrom=t)}catch{}Array.isArray(e.aiActions)&&e.aiActions.length>0&&(r.aiActions=e.aiActions.filter(e=>e?.key&&e?.label&&e?.serviceKey&&e?.endpointPath).map(e=>({key:e.key,label:e.label,trigger:e.trigger||`click`,serviceKey:e.serviceKey,endpointPath:e.endpointPath,bodyType:e.bodyType||`json`,inputs:(e.inputs||[]).filter(e=>e?.param&&e?.sourceField).map(e=>({param:e.param,sourceField:e.sourceField,kind:e.kind||`text`,...e.transform?{transform:e.transform}:{},...e.group?{group:e.group}:{},...e.required?{required:!0}:{},...Number(e.minWords)>0?{minWords:Number(e.minWords)}:{}})),...String(e.responseDataPath||``).trim()?{responseDataPath:String(e.responseDataPath).trim()}:{},...String(e.position||``).trim()?{position:String(e.position).trim()}:{}})));let a=e.validator?.type;if(a){r.validator={type:a},e.validator.title&&(r.validator.title=e.validator.title);let t=Number(e.validator.maxLength);!isNaN(t)&&t>0&&(r.validator.maxLength=t);let n=Number(e.validator.maxChars);!isNaN(n)&&n>0&&(r.validator.maxChars=n)}if([`select`,`radio`,`checkbox`].includes(e.type)){let t=e.dataSource??`static`;if(r.dataSource=t,e.type===`select`&&(r.multiSelect=e.multiSelect??!1),e.allowCustomValues&&(r.allowCustomValues=!0,e.tokenSeparators!==void 0&&String(e.tokenSeparators)!==``&&(r.tokenSeparators=String(e.tokenSeparators))),e.optionsFromField&&(r.optionsFromField=String(e.optionsFromField).trim()),t===`master`&&(r.masterName=e.masterName??``),t===`group`&&(r.groupName=e.groupName??``),t===`static`&&(r.options=(e.options??[]).filter(e=>e?.label||e?.value)),t===`lookup`){r.lookupCollection=e.lookupCollection??``,r.displayField=e.displayField??``,e.displayField2&&(r.displayField2=e.displayField2),r.valueField=e.valueField??`_id`,e.lookupFilterField&&e.lookupFilterValueFrom&&(r.lookupFilterField=e.lookupFilterField,r.lookupFilterValueFrom=e.lookupFilterValueFrom);let t=Dy(e.lookupFilters);t.length&&(r.lookupFilters=t);let n=String(e.optionsRequireExtraField??``).trim();if(n){r.optionsRequireExtraField=n;let t=String(e.optionsRequireExtraValue??``).trim();t&&(r.optionsRequireExtraValue=t)}let i=String(e.optionsHierarchyParentField??``).trim();if(i&&(r.optionsHierarchyParentField=i,r.optionsHierarchySelfFrom=String(e.optionsHierarchySelfFrom??``).trim()||`currentUserId`),e.quickCreate){r.quickCreate=!0,e.quickCreateModule&&(r.quickCreateModule=e.quickCreateModule),e.quickCreateLabel&&(r.quickCreateLabel=e.quickCreateLabel);let t=e.quickCreateNotice;if(t?.enabled){let e={enabled:!0};[`title`,`message`,`recordNameField`,`recordLabel`,`creatorLabel`].forEach(n=>{let r=String(t[n]??``).trim();r&&(e[n]=r)}),e.showCreator=t.showCreator!==!1,e.showRecordName=t.showRecordName!==!1,r.quickCreateNotice=e}}e.quickEdit&&(r.quickEdit=!0,e.quickEditModule&&(r.quickEditModule=e.quickEditModule),e.quickEditLabel&&(r.quickEditLabel=e.quickEditLabel),e.quickEditIdFrom&&(r.quickEditIdFrom=e.quickEditIdFrom))}}for(let[t,n]of Object.entries(e))n==null||n===``||t in r||jy.has(t)||(r[t]=n);return r})}function Ay({collection:t,displayField:n,valueField:a,value:s,labelValue:c,onChange:l}){let[u,d]=(0,r.useState)([]),[f,p]=(0,r.useState)(!1),m=(0,r.useRef)(``),h=()=>{let r=`${t}|${n}|${a}`;!t||!n||m.current===r||(p(!0),e.Mn(t,n,a||`_id`).then(e=>{m.current=r,d(e)}).catch(()=>d([])).finally(()=>p(!1)))},g=s&&!u.some(e=>e.value===s)?[{label:c||s,value:s},...u]:u;return(0,o.jsx)(i.Select,{size:`small`,showSearch:!0,allowClear:!0,loading:f,placeholder:t?`Pick from ${t}`:`Configure a lookup first`,disabled:!t||!n,style:{width:220},optionFilterProp:`label`,options:g,value:s||void 0,onDropdownVisibleChange:e=>{e&&h()},onChange:(e,t)=>l(e??``,t?.label??``),getPopupContainer:()=>document.body})}var jy=new Set(`label.field.type.show.req.edit.order.formatter.validations.showOnAdd.addRow.minRows.maxRows.initialRows.addLabel.subFields.placeholder.hidePlaceholder.combineKey.combineLabel.combineRole.combineToggleLabel.combineToggleTarget.combineWidth.combineWrap.combineSpan.defaultOnEdit.noPrefill.emptyValues.valuePaths.clientScope.clientGateMessage.clientGateResetOnChange.visiblePermission.editablePermission.infoEnabled.infoText.tooltip.helpText.payloadKey.prefillFrom.prefillFromModule.dataType.elementType.payloadMode.valueKey.displayKey.defaultValue.richValue.omitEmpty.payloadTemplate.transformRule.multiple.maxCount.fileKey.fileNameKey.fileUrlKey.accept.showIf.labelWhen.colWhen.colWhenField.colWhenOperator.colWhenValue.colWhenCol.verifyAction.verifyResultField.verifyTimestampField.prefillWhen.prefillWhenReset.prefillWhenExclusive.verifyIdleLabel.verifyRetryLabel.verifySuccessLabel.verifyLockedWhenFields.verifyLockedLabel.disabledByField.linkedClearField.exclusiveInGroup.autofillFrom.aiActions.validator.dataSource.masterName.groupName.options.multiSelect.lookupCollection.displayField.displayField2.valueField.lookupFilterField.lookupFilterValueFrom.lookupFilters.optionsRequireExtraField.optionsRequireExtraValue.optionsHierarchyParentField.optionsHierarchySelfFrom.allowCustomValues.tokenSeparators.optionsFromField.quickCreate.quickCreateModule.quickCreateLabel.quickCreateNotice.quickEdit.quickEditModule.quickEditLabel.quickEditIdFrom.value.documentPreview.displayAs.renderType.renderOptions`.split(`.`)),My=new Set(`module.name.label.addRow.order.fields.hideGroup.hideGroupInForm.moduleName.linkField.linkTypeField.parentRefField.hierarchyLevel.hierarchyParent.hierarchyLinkField.writeRefs.dependsOn.optionalWrite.appendHistory.historyField.historyFields.historyTimestampField.historyLabels.historyLabelFrom.historyAfterGroup.historyAmountFields.historyCurrencyFields.historyUnitFields.minRows.maxRows.initialRows.requireOne.requireValidatedField.requireValidatedFieldMessage.submitDisabledMessage.linkGroup.mergeInto.infoEnabled.infoText.toggleEnabled.toggleLabel.toggleField.afterSubmit.showIf.showIfField.showIfOperator.showIfValue.disabled.disabledIf.disabledIfField.disabledIfOperator.disabledIfValue.formActions.afterSubmitMode.afterSubmitTarget.submitMessages.submitMsgAddSuccess.submitMsgEditSuccess.submitMsgAddError.submitMsgEditError.submitMsgSuppress.id._id.rows.toggleValue`.split(`.`));function Ny(e){return{...e,show:e.show===1,req:e.req===1,edit:e.edit===1,showOnAdd:e.showOnAdd!==!1,addRow:e.addRow??!1,minRows:e.minRows??``,maxRows:e.maxRows??``,initialRows:e.initialRows??``,addLabel:e.addLabel??``,subFields:Array.isArray(e.subFields)?e.subFields.map(e=>({field:e.field??``,label:e.label??``,type:e.type??`text`,req:e.req===1||e.req===!0,col:e.col??``,payloadKey:e.payloadKey??``,dataSource:e.dataSource??`static`,multiSelect:e.multiSelect??!1,masterName:e.masterName??``,groupName:e.groupName??``,options:Array.isArray(e.options)?e.options:[],lookupCollection:e.lookupCollection??``,displayField:e.displayField??``,displayField2:e.displayField2??``,valueField:e.valueField??`_id`,lookupFilterField:e.lookupFilterField??``,lookupFilterValueFrom:e.lookupFilterValueFrom??``})):[],placeholder:e.placeholder??``,hidePlaceholder:e.hidePlaceholder??!1,clientScope:e.clientScope??!1,clientGateMessage:e.clientGateMessage??``,clientGateResetOnChange:e.clientGateResetOnChange??!1,visiblePermission:e.visiblePermission??``,editablePermission:e.editablePermission??``,infoEnabled:e.infoEnabled??!1,infoText:e.infoText??``,tooltip:e.tooltip??``,helpText:e.helpText??``,formatter:e.formatter??``,combineKey:e.combineKey??``,combineLabel:e.combineLabel??``,combineRole:e.combineRole??``,combineToggleLabel:e.combineToggleLabel??``,combineToggleTarget:e.combineToggleTarget??``,combineWidth:e.combineWidth??``,combineWrap:e.combineWrap??!1,combineSpan:e.combineSpan??``,defaultOnEdit:e.defaultOnEdit??!1,noPrefill:e.noPrefill??!1,emptyValues:Array.isArray(e.emptyValues)?e.emptyValues.join(`, `):e.emptyValues??``,valuePaths:Array.isArray(e.valuePaths)?e.valuePaths.join(`, `):e.valuePaths??``,dataSource:e.dataSource??`static`,masterName:e.masterName??``,groupName:e.groupName??``,options:e.options??[],lookupCollection:e.lookupCollection??``,displayField:e.displayField??``,displayField2:e.displayField2??``,valueField:e.valueField??`_id`,lookupFilterField:e.lookupFilterField??``,lookupFilterValueFrom:e.lookupFilterValueFrom??``,lookupFilters:Ey(e.lookupFilters),optionsRequireExtraField:e.optionsRequireExtraField??``,optionsRequireExtraValue:e.optionsRequireExtraValue??``,optionsHierarchyParentField:e.optionsHierarchyParentField??``,optionsHierarchySelfFrom:e.optionsHierarchySelfFrom??``,allowCustomValues:e.allowCustomValues??!1,tokenSeparators:e.tokenSeparators??``,optionsFromField:e.optionsFromField??``,quickCreate:e.quickCreate??!1,quickCreateModule:e.quickCreateModule??``,quickCreateLabel:e.quickCreateLabel??``,quickEdit:e.quickEdit??!1,quickEditModule:e.quickEditModule??``,quickEditLabel:e.quickEditLabel??``,quickEditIdFrom:e.quickEditIdFrom??``,quickCreateNotice:{enabled:e.quickCreateNotice?.enabled??!1,title:e.quickCreateNotice?.title??``,message:e.quickCreateNotice?.message??``,showCreator:e.quickCreateNotice?.showCreator!==!1,showRecordName:e.quickCreateNotice?.showRecordName!==!1,recordNameField:e.quickCreateNotice?.recordNameField??``,recordLabel:e.quickCreateNotice?.recordLabel??``,creatorLabel:e.quickCreateNotice?.creatorLabel??``},multiSelect:e.multiSelect??!1,multiple:e.multiple??!1,maxCount:e.maxCount??5,accept:e.accept??`any`,fileKey:e.fileKey??``,fileNameKey:e.fileNameKey??``,fileUrlKey:e.fileUrlKey??``,payloadKey:e.payloadKey??``,prefillFrom:e.prefillFrom??``,prefillFromModule:e.prefillFromModule??``,prefillWhen:Array.isArray(e.prefillWhen)?e.prefillWhen:[],prefillWhenReset:e.prefillWhenReset!==!1,prefillWhenExclusive:e.prefillWhenExclusive===!0,dataType:e.dataType??`auto`,elementType:e.elementType??``,payloadMode:e.payloadMode??`auto`,valueKey:e.valueKey??``,displayKey:e.displayKey??``,defaultValue:e.defaultValue??``,richValue:e.richValue??!1,omitEmpty:e.omitEmpty??!1,payloadTemplate:Sy(e.payloadTemplate),transformRule:Sy(e.transformRule),showIf:e.showIf?.field||e.showIf?.conditions?.length?{field:e.showIf.field??``,operator:e.showIf.operator??`eq`,value:e.showIf.value??``,logic:e.showIf.logic===`or`?`or`:`and`,conditions:Array.isArray(e.showIf.conditions)?e.showIf.conditions.map(e=>({field:e.field??``,operator:e.operator??`eq`,value:e.value??``})):[]}:{field:``,operator:`eq`,value:``,logic:`and`,conditions:[]},labelWhen:e.labelWhen?.field?{field:e.labelWhen.field,operator:e.labelWhen.operator??`eq`,value:e.labelWhen.value??``,label:e.labelWhen.label??``}:{field:``,operator:`eq`,value:``,label:``},colWhenField:(Array.isArray(e.colWhen)?e.colWhen[0]?.field:e.colWhen?.field)??``,colWhenOperator:(Array.isArray(e.colWhen)?e.colWhen[0]?.operator:e.colWhen?.operator)??`eq`,colWhenValue:(Array.isArray(e.colWhen)?e.colWhen[0]?.value:e.colWhen?.value)??``,colWhenCol:(Array.isArray(e.colWhen)?e.colWhen[0]?.col:e.colWhen?.col)??void 0,verifyAction:e.verifyAction??``,verifyResultField:e.verifyResultField??``,verifyTimestampField:e.verifyTimestampField??``,verifyIdleLabel:e.verifyIdleLabel??``,verifyRetryLabel:e.verifyRetryLabel??``,verifySuccessLabel:e.verifySuccessLabel??``,verifyLockedWhenFields:gf(e.verifyLockedWhenFields).join(`, `),verifyLockedLabel:e.verifyLockedLabel??``,validations:(e.validations??[]).map(t=>({type:t.type,value:t.type===`unique`?Gv(t.value,e):t.value??``,field:t.field??``,message:t.message??``})),validator:{type:e.validator?.type??``,title:e.validator?.title??``,maxLength:e.validator?.maxLength??``,maxChars:e.validator?.maxChars??``},disabledByField:e.disabledByField??``,linkedClearField:e.linkedClearField??``,autofillFrom:Array.isArray(e.autofillFrom)?JSON.stringify(e.autofillFrom,null,2):e.autofillFrom??``,aiActions:Array.isArray(e.aiActions)?e.aiActions.map(e=>({...e,inputs:(e.inputs??[]).map(e=>({...e,minWords:e.minWords??``})),responseDataPath:e.responseDataPath??``,position:e.position??``})):[]}}function Py(e,t,n,r,i){if(!t||!n||!String(r??``).trim())return``;let a=new Map;i.forEach(e=>{e.moduleName&&a.set(e.moduleName,e)});let o=[`${t}.${r.trim()}`],s=n,c=new Set([t]),l=0;for(;s&&s!==e&&l<10;){if(c.has(s))return``;c.add(s);let e=a.get(s);if(!e||!e.hierarchyLinkField)return o.unshift(s),o.join(` → `);o.unshift(`${e.moduleName}.${e.hierarchyLinkField}`),s=e.hierarchyParent,l+=1}if(s===e)o.unshift(e);else return``;return o.join(` → `)}function Fy(){let[t,n]=(0,r.useState)({});return(0,r.useEffect)(()=>{let t=!1;return e.Ln().then(e=>{t||n(e??{})}).catch(()=>{}),()=>{t=!0}},[]),(0,r.useMemo)(()=>e=>t[String(e??``).trim().toLowerCase()]??``,[t])}function Iy({form:t,fieldItems:n,add:r,remove:s,move:c,absBase:l,moduleFieldOptions:u,dragIndexRef:d,dragOverIndex:f,setDragOverIndex:p,onFieldKeySelect:m,expandedFieldKeys:h,onToggleField:g,defaultFieldSet:_=new Set,uniqueTarget:v={primaryModule:``,getTargetModule:()=>``,collectionForModule:()=>``}}){let y=[...l,`fields`];return(0,o.jsxs)(o.Fragment,{children:[n.map(({key:n,name:r,...l},b)=>{let x=[...y,r],S=t.getFieldValue(x)??{},C=h&&!h.has(b);return(0,o.jsx)(`div`,{draggable:!0,onDragStart:()=>{d.current=b},onDragEnd:()=>{d.current=null,p(null)},onDragOver:e=>{e.preventDefault(),p(b)},onDragLeave:()=>p(null),onDrop:e=>{e.preventDefault();let t=d.current;t!==null&&t!==b&&c(t,b),d.current=null,p(null)},className:`fg-field-card${f===b?` fg-drag-over`:``}`,children:(0,o.jsxs)(`div`,{className:`fg-field-card-inner`,children:[(0,o.jsx)(`span`,{className:`fg-drag-handle`,children:(0,o.jsx)(a.HolderOutlined,{})}),C?(0,o.jsxs)(`div`,{className:`fg-field-summary`,children:[(0,o.jsxs)(`button`,{type:`button`,className:`fg-field-summary-main`,onClick:()=>g(b),children:[(0,o.jsx)(a.RightOutlined,{className:`fg-field-summary-chevron`}),(0,o.jsxs)(`span`,{children:[(0,o.jsx)(`strong`,{children:S.label||S.field||`Field ${b+1}`}),(0,o.jsxs)(`small`,{children:[S.field||`Field key not set`,` · `,S.type||`text`]})]})]}),(0,o.jsxs)(i.Space,{size:4,children:[S.req&&(0,o.jsx)(i.Tag,{color:`red`,children:`Required`}),S.show===!1&&(0,o.jsx)(i.Tag,{children:`Hidden`}),(0,o.jsx)(i.Tooltip,{title:`Edit field settings`,children:(0,o.jsx)(i.Button,{type:`text`,size:`small`,icon:(0,o.jsx)(a.EditOutlined,{}),onClick:()=>g(b)})}),(0,o.jsx)(i.Tooltip,{title:`Remove field`,children:(0,o.jsx)(i.Button,{type:`text`,size:`small`,danger:!0,icon:(0,o.jsx)(a.MinusCircleOutlined,{}),onClick:()=>s(r)})})]})]}):(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(`div`,{className:`fg-field-body`,children:[h&&(0,o.jsxs)(`button`,{type:`button`,className:`fg-field-collapse-btn`,onClick:()=>g(b),children:[(0,o.jsx)(a.DownOutlined,{}),` Collapse field`]}),(0,o.jsx)(i.Form.Item,{...l,name:[r,`field`],label:`Field`,style:{marginBottom:10},rules:[{required:!0,message:`Required`}],children:(0,o.jsx)(i.AutoComplete,{options:u,placeholder:`Search or type field key…`,filterOption:(e,t)=>(t?.searchLabel??``).includes(e.toLowerCase()),onSelect:e=>m(e,r),className:`fg-mono-input`})}),(0,o.jsxs)(`div`,{className:`fg-field-meta-row`,children:[(0,o.jsx)(i.Form.Item,{...l,name:[r,`label`],label:`Label`,style:{marginBottom:8,flex:2},rules:[{required:!0,message:`Required`}],children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`Display label`})}),(0,o.jsx)(i.Form.Item,{...l,name:[r,`type`],label:`Type`,style:{marginBottom:8,flex:2},initialValue:`text`,children:(0,o.jsx)(i.Select,{size:`small`,options:ly})}),(0,o.jsx)(i.Form.Item,{...l,name:[r,`formatter`],label:`Formatter`,style:{marginBottom:8,flex:2},children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`name / phone…`})})]}),(0,o.jsxs)(`div`,{className:`fg-options-block`,children:[(0,o.jsx)(`span`,{className:`fg-options-label`,children:`Layout / Combine`}),(0,o.jsxs)(`div`,{className:`fg-options-controls`,style:{flexWrap:`wrap`},children:[(0,o.jsx)(i.Form.Item,{name:[r,`combineKey`],label:`Combine Key`,style:{marginBottom:0},tooltip:`Fields with the same key render together as one visual block. Payload stays unchanged.`,children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`e.g. client_rate`,style:{width:150},className:`fg-mono-input`})}),(0,o.jsx)(i.Form.Item,{name:[r,`combineLabel`],label:`Combined Label`,style:{marginBottom:0},children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`e.g. Client Rate`,style:{width:160}})}),(0,o.jsx)(i.Form.Item,{name:[r,`combineRole`],label:`Role`,style:{marginBottom:0},children:(0,o.jsx)(i.Select,{size:`small`,style:{width:120},allowClear:!0,options:[{label:`Primary`,value:`primary`},{label:`From`,value:`from`},{label:`To`,value:`to`},{label:`Currency`,value:`currency`},{label:`Unit`,value:`unit`}]})}),(0,o.jsx)(i.Form.Item,{name:[r,`combineToggleLabel`],label:`Toggle Label`,style:{marginBottom:0},children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`e.g. Range`,style:{width:130}})}),(0,o.jsx)(i.Form.Item,{name:[r,`combineToggleTarget`],label:`Toggle Target`,style:{marginBottom:0},tooltip:`Field key hidden until the combined-field slider is enabled. Example: clientRateTo.`,children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`target field key`,style:{width:150},className:`fg-mono-input`})}),(0,o.jsx)(i.Form.Item,{name:[r,`combineWidth`],label:`Width`,style:{marginBottom:0},tooltip:`Width weight of this box inside the combined block. Set the same key's fields to e.g. 2 & 1 for 2:1, or 1/2/3 for 1:2:3. Blank/0 = equal share.`,children:(0,o.jsx)(i.Input,{size:`small`,type:`number`,min:0,step:.5,placeholder:`1`,style:{width:80}})}),(0,o.jsx)(i.Form.Item,{name:[r,`combineWrap`],label:`Wrap`,valuePropName:`checked`,style:{marginBottom:0},tooltip:`Allow this combined block to wrap to another line. Useful for wider controls such as document upload rows.`,children:(0,o.jsx)(i.Switch,{size:`small`,checkedChildren:`Yes`,unCheckedChildren:`No`})}),(0,o.jsx)(i.Form.Item,{name:[r,`combineSpan`],label:`Block Span`,style:{marginBottom:0},tooltip:`How much row width this combined block uses. Blank keeps the existing automatic layout.`,children:(0,o.jsx)(i.Select,{size:`small`,allowClear:!0,placeholder:`Auto`,style:{width:110},options:[{label:`Half`,value:12},{label:`Full`,value:24}]})})]})]}),(0,o.jsx)(i.Form.Item,{shouldUpdate:!0,style:{marginBottom:8},children:({getFieldValue:t})=>{if(t([...x,`type`])!==`file`)return null;let n=t([...x,`multiple`]);return(0,o.jsxs)(`div`,{className:`fg-options-block`,children:[(0,o.jsx)(`span`,{className:`fg-options-label`,children:`File Options`}),(0,o.jsxs)(`div`,{className:`fg-options-controls`,children:[(0,o.jsx)(i.Form.Item,{name:[r,`accept`],label:`Allowed Content`,style:{marginBottom:0},initialValue:`any`,tooltip:`Restrict what this upload accepts. A file outside the selected category is rejected on upload. Overrides the 'File types allowed' validation rule.`,children:(0,o.jsx)(i.Select,{size:`small`,style:{width:230},options:e.B})}),(0,o.jsx)(i.Form.Item,{name:[r,`multiple`],label:`Upload Mode`,valuePropName:`checked`,style:{marginBottom:0},initialValue:!1,children:(0,o.jsx)(i.Switch,{size:`small`,checkedChildren:`Multiple`,unCheckedChildren:`Single`})}),n&&(0,o.jsx)(i.Form.Item,{name:[r,`maxCount`],label:`Max files`,style:{marginBottom:0},initialValue:5,rules:[{required:!0,message:`Required`}],children:(0,o.jsx)(i.Input,{size:`small`,type:`number`,min:2,placeholder:`e.g. 5`,style:{width:80}})}),(0,o.jsx)(i.Form.Item,{name:[r,`fileKey`],label:`File Key`,style:{marginBottom:0},tooltip:`Multipart field name sent to the server. Leave blank to use the field key. Set to 'file' for the jobs service.`,children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`e.g. file`,style:{width:120},className:`fg-mono-input`})}),(0,o.jsx)(i.Form.Item,{name:[r,`fileNameKey`],label:`Name Key`,style:{marginBottom:0},tooltip:`Stored object key that contains the uploaded file name. Leave blank for automatic detection.`,children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`e.g. passportUploadName`,style:{width:180},className:`fg-mono-input`})}),(0,o.jsx)(i.Form.Item,{name:[r,`fileUrlKey`],label:`URL Key`,style:{marginBottom:0},tooltip:`Stored object key that contains the file location/path. Leave blank for automatic detection.`,children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`e.g. passportCopyLocation`,style:{width:190},className:`fg-mono-input`})})]})]})}}),(0,o.jsx)(i.Form.Item,{shouldUpdate:!0,style:{marginBottom:8},children:({getFieldValue:e})=>{let t=e([...x,`type`]);if(![`select`,`radio`,`checkbox`].includes(t))return null;let n=e([...x,`dataSource`])??`static`;return(0,o.jsxs)(`div`,{className:`fg-options-block`,children:[(0,o.jsx)(`span`,{className:`fg-options-label`,children:`Options / Values`}),(0,o.jsxs)(`div`,{className:`fg-options-controls`,children:[(0,o.jsx)(i.Form.Item,{name:[r,`dataSource`],label:`Source`,style:{marginBottom:0},initialValue:`static`,children:(0,o.jsx)(i.Select,{size:`small`,style:{width:190},options:uy})}),t===`select`&&(0,o.jsx)(i.Form.Item,{name:[r,`multiSelect`],label:`Multi Select`,valuePropName:`checked`,style:{marginBottom:0},initialValue:!1,children:(0,o.jsx)(i.Switch,{size:`small`,checkedChildren:`Multi`,unCheckedChildren:`Single`})}),n===`master`&&(0,o.jsx)(i.Form.Item,{name:[r,`masterName`],label:`Master Name`,style:{marginBottom:0},rules:[{required:!0,message:`Enter master name`}],children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`e.g. tracker`,style:{width:140}})}),n===`group`&&(0,o.jsx)(i.Form.Item,{name:[r,`groupName`],label:`Group Name`,style:{marginBottom:0},rules:[{required:!0,message:`Enter group name`}],children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`e.g. users`,style:{width:140}})})]}),(0,o.jsxs)(`div`,{className:`fg-options-controls`,style:{marginTop:8,flexWrap:`wrap`},children:[(0,o.jsx)(i.Form.Item,{name:[r,`allowCustomValues`],label:`Allow typed values`,valuePropName:`checked`,style:{marginBottom:0},initialValue:!1,tooltip:`Let users enter a value that is not in the option list above. The typed text is stored as-is.`,children:(0,o.jsx)(i.Switch,{size:`small`,checkedChildren:`Typed OK`,unCheckedChildren:`List only`})}),e([...x,`allowCustomValues`])&&(0,o.jsx)(i.Form.Item,{name:[r,`tokenSeparators`],label:`Token separators`,style:{marginBottom:0},tooltip:`Characters that finish the typed entry and start a new one. Default is a comma, so 'React,Node' becomes two values. Leave blank to require Enter.`,children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`,`,style:{width:90},className:`fg-mono-input`})}),(0,o.jsx)(i.Form.Item,{name:[r,`optionsFromField`],label:`Restrict options to field`,style:{marginBottom:0},tooltip:`Show only the options whose value matches the current value of ANOTHER field on this form. Blank = show every option. Example: point a rate-unit picker at the job's unit field so a recruiter cannot switch units.`,children:(0,o.jsx)(i.AutoComplete,{size:`small`,style:{width:230},placeholder:`blank = all options`,options:(e(y)??[]).map((e,t)=>({candidate:e,index:t})).filter(({candidate:e,index:t})=>t!==r&&e?.field).map(({candidate:e})=>({value:e.field,label:`${e.label||e.field} (${e.field})`})),filterOption:(e,t)=>String(t?.label??``).toLowerCase().includes(String(e).toLowerCase()),getPopupContainer:()=>document.body})})]}),n===`static`&&(0,o.jsxs)(`div`,{className:`fg-static-options`,children:[(0,o.jsx)(`span`,{className:`fg-static-options-hint`,children:`Label / Value pairs`}),(0,o.jsx)(i.Form.List,{name:[r,`options`],children:(e,{add:t,remove:n})=>(0,o.jsxs)(o.Fragment,{children:[e.map(({key:e,name:t})=>(0,o.jsxs)(`div`,{className:`fg-option-row`,children:[(0,o.jsx)(i.Form.Item,{name:[t,`label`],style:{marginBottom:0,flex:1},children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`Label`})}),(0,o.jsx)(i.Form.Item,{name:[t,`value`],style:{marginBottom:0,flex:1},children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`Value`,className:`fg-mono-input`})}),(0,o.jsx)(a.MinusCircleOutlined,{onClick:()=>n(t),className:`fg-remove-icon`})]},e)),(0,o.jsx)(i.Button,{size:`small`,type:`dashed`,icon:(0,o.jsx)(a.PlusOutlined,{}),onClick:()=>t({label:``,value:``}),className:`fg-add-option-btn`,children:`Add Option`})]})})]}),n===`module`&&(0,o.jsx)(`p`,{className:`fg-source-hint`,children:`Options fetched from the module's distinct field values at runtime.`}),n===`group`&&(0,o.jsx)(`p`,{className:`fg-source-hint`,children:`Use "users" to load all users from the MongoDB-backed user collection.`}),n===`lookup`&&(0,o.jsxs)(`div`,{className:`fg-lookup-block`,children:[(0,o.jsx)(`p`,{className:`fg-source-hint`,style:{marginBottom:8},children:`Cross-collection lookup — shows label, stores FK value.`}),(0,o.jsxs)(`div`,{className:`fg-field-meta-row`,children:[(0,o.jsx)(i.Form.Item,{name:[r,`lookupCollection`],label:`Collection`,style:{marginBottom:0,flex:1},rules:[{required:!0,message:`Required`}],children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`e.g. vendors`,className:`fg-mono-input`})}),(0,o.jsx)(i.Form.Item,{name:[r,`displayField`],label:`Display Field`,style:{marginBottom:0,flex:1},rules:[{required:!0,message:`Required`}],children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`e.g. vendorContact.firstName`,className:`fg-mono-input`})}),(0,o.jsx)(i.Form.Item,{name:[r,`displayField2`],label:`Display Field 2`,style:{marginBottom:0,flex:1},children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`e.g. vendorContact.lastName`,className:`fg-mono-input`})}),(0,o.jsx)(i.Form.Item,{name:[r,`valueField`],label:`Value Field (FK)`,style:{marginBottom:0,flex:1},children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`_id`,className:`fg-mono-input`})})]}),(0,o.jsxs)(`div`,{className:`fg-field-meta-row`,style:{marginTop:8},children:[(0,o.jsx)(i.Form.Item,{name:[r,`lookupFilterField`],label:`Filter Field`,style:{marginBottom:0,flex:1},tooltip:`Optional DB field to filter lookup rows by. Example: _id or clientId.`,children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`e.g. _id`,className:`fg-mono-input`})}),(0,o.jsx)(i.Form.Item,{name:[r,`lookupFilterValueFrom`],label:`Filter Value From`,style:{marginBottom:0,flex:1},tooltip:`Optional form/scope field that provides the filter value. Example: clientId.`,children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`e.g. clientId`,className:`fg-mono-input`})})]}),(0,o.jsxs)(`div`,{className:`fg-lookup-conditions`,style:{marginTop:12},children:[(0,o.jsxs)(`p`,{className:`fg-source-hint`,style:{marginBottom:6},children:[(0,o.jsx)(`b`,{children:`Dropdown conditions`}),` — every condition must match (AND). Evaluated on the server, so they restrict the data, not just the UI.`]}),(0,o.jsx)(i.Form.List,{name:[r,`lookupFilters`],children:(e,{add:t,remove:n})=>(0,o.jsxs)(o.Fragment,{children:[e.map(({key:e,name:t,...a})=>(0,o.jsxs)(`div`,{className:`fg-field-meta-row`,style:{marginBottom:8,alignItems:`flex-end`,flexWrap:`wrap`},children:[(0,o.jsx)(i.Form.Item,{...a,name:[t,`field`],label:`Field`,style:{marginBottom:0,flex:1,minWidth:140},tooltip:`Field on the lookup collection to test. Example: roleId, legacyUserId.`,children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`e.g. roleId`,className:`fg-mono-input`})}),(0,o.jsx)(i.Form.Item,{...a,name:[t,`op`],label:`Operator`,style:{marginBottom:0,width:130},initialValue:`eq`,children:(0,o.jsx)(i.Select,{size:`small`,options:wy})}),(0,o.jsx)(i.Form.Item,{...a,name:[t,`valueSource`],label:`Value from`,style:{marginBottom:0,width:160},initialValue:`literal`,tooltip:`Literal = a fixed value. Signed-in user = resolved from the auth token on the server. Another collection = a sub-query supplying the values.`,children:(0,o.jsx)(i.Select,{size:`small`,options:[{label:`Literal value`,value:`literal`},{label:`Signed-in user`,value:`identity`},{label:`Another collection`,value:`collection`}]})}),(0,o.jsx)(i.Form.Item,{noStyle:!0,shouldUpdate:!0,children:({getFieldValue:e})=>{let n=[`fields`,r,`lookupFilters`,t],s=e([...n,`op`])??`eq`;if(s===`notEmpty`||s===`empty`)return(0,o.jsx)(`span`,{className:`fg-source-hint`,style:{flex:1},children:`No value needed.`});let c=e([...n,`valueSource`])??`literal`;return c===`identity`?(0,o.jsx)(i.Form.Item,{...a,name:[t,`valueFrom`],label:`Identity`,style:{marginBottom:0,flex:1,minWidth:170},children:(0,o.jsx)(i.Select,{size:`small`,showSearch:!0,placeholder:`currentUserId`,options:Ty.map(e=>({label:e,value:e}))})}):c===`collection`?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(i.Form.Item,{...a,name:[t,`srcCollection`],label:`Collection`,style:{marginBottom:0,flex:1,minWidth:120},children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`e.g. roles`,className:`fg-mono-input`})}),(0,o.jsx)(i.Form.Item,{...a,name:[t,`srcValueField`],label:`Value field`,style:{marginBottom:0,flex:1,minWidth:120},children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`_id`,className:`fg-mono-input`})}),(0,o.jsx)(i.Form.Item,{...a,name:[t,`srcMatchField`],label:`Where field`,style:{marginBottom:0,flex:1,minWidth:120},children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`e.g. roleName`,className:`fg-mono-input`})}),(0,o.jsx)(i.Form.Item,{...a,name:[t,`srcMatchValue`],label:`Equals`,style:{marginBottom:0,flex:1,minWidth:120},tooltip:`Fixed value. Comma-separate for a list. Ignored when an Identity is chosen next to it.`,children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`e.g. RECRUITER`,className:`fg-mono-input`})}),(0,o.jsx)(i.Form.Item,{...a,name:[t,`srcMatchValueFrom`],label:`…or identity`,style:{marginBottom:0,flex:1,minWidth:150},tooltip:`Match against the signed-in user instead of a fixed value — resolved on the server.`,children:(0,o.jsx)(i.Select,{size:`small`,allowClear:!0,placeholder:`none`,options:Ty.map(e=>({label:e,value:e}))})}),(0,o.jsx)(i.Form.Item,{...a,name:[t,`srcRecursive`],valuePropName:`checked`,style:{marginBottom:0},tooltip:`Keep following the chain outward — e.g. a reporting tree, so the whole downline is included and not just direct reports.`,children:(0,o.jsx)(i.Switch,{size:`small`,checkedChildren:`Chain`,unCheckedChildren:`Direct`})})]}):(0,o.jsx)(i.Form.Item,{...a,name:[t,`value`],label:`Value`,style:{marginBottom:0,flex:1,minWidth:150},tooltip:`Comma-separate for a list.`,children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`e.g. Active`,className:`fg-mono-input`})})}}),(0,o.jsx)(i.Button,{size:`small`,danger:!0,type:`text`,onClick:()=>n(t),children:`Remove`})]},e)),(0,o.jsx)(i.Button,{size:`small`,type:`dashed`,onClick:()=>t({op:`eq`,valueSource:`literal`}),children:`+ Add condition`})]})})]}),(0,o.jsxs)(`div`,{className:`fg-lookup-row-filters`,style:{marginTop:12},children:[(0,o.jsxs)(`p`,{className:`fg-source-hint`,style:{marginBottom:6},children:[(0,o.jsx)(`b`,{children:`Option filters (in-browser)`}),` — narrow the returned options by a value on each record, and/or to the signed-in user's reporting line.`]}),(0,o.jsxs)(`div`,{className:`fg-field-meta-row`,style:{alignItems:`flex-end`},children:[(0,o.jsx)(i.Form.Item,{name:[r,`optionsRequireExtraField`],label:`Match Field`,style:{marginBottom:0,flex:1},tooltip:`Field on the looked-up record to test, e.g. roleId. Left empty, no value filter is applied.`,children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`e.g. roleId`,className:`fg-mono-input`})}),(0,o.jsx)(i.Form.Item,{name:[r,`optionsRequireExtraValue`],label:`Match Value(s)`,style:{marginBottom:0,flex:1},tooltip:`Allowed value, or several separated by commas (e.g. 10, 13). Empty means the field must be exactly true.`,children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`empty = must be true`,className:`fg-mono-input`})})]}),(0,o.jsxs)(`div`,{className:`fg-field-meta-row`,style:{marginTop:8,alignItems:`flex-end`},children:[(0,o.jsx)(i.Form.Item,{name:[r,`optionsHierarchyParentField`],label:`Reports-To Field`,style:{marginBottom:0,flex:1},tooltip:`Field holding each record's parent id, in the same id space as the Value Field (e.g. reportingId). Set it to show only people below the signed-in user — directly or through any number of levels. The signed-in user is not listed.`,children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`e.g. reportingId`,className:`fg-mono-input`})}),(0,o.jsx)(i.Form.Item,{name:[r,`optionsHierarchySelfFrom`],label:`Whose Line`,style:{marginBottom:0,flex:1},tooltip:`Whose reporting line to keep. Defaults to the signed-in user.`,children:(0,o.jsx)(i.Select,{size:`small`,allowClear:!0,placeholder:`currentUserId`,options:[{label:`Signed-in user (currentUserId)`,value:`currentUserId`}]})})]})]}),(0,o.jsxs)(`div`,{className:`fg-field-meta-row`,style:{marginTop:8,alignItems:`flex-end`},children:[(0,o.jsx)(i.Form.Item,{name:[r,`quickCreate`],valuePropName:`checked`,style:{marginBottom:0},tooltip:`Show an 'Add More' button in this dropdown that opens the target module's Add form in a modal.`,children:(0,o.jsx)(i.Switch,{size:`small`,checkedChildren:`Add More`,unCheckedChildren:`No Add`})}),(0,o.jsx)(i.Form.Item,{name:[r,`quickCreateModule`],label:`Create Module`,style:{marginBottom:0,flex:1},tooltip:`Module to create. Defaults to the lookup Collection above.`,children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`defaults to Collection`,className:`fg-mono-input`})}),(0,o.jsx)(i.Form.Item,{name:[r,`quickEdit`],valuePropName:`checked`,style:{marginBottom:0},tooltip:`Show an 'Edit' button that opens the target module's Edit form for the resolved record.`,children:(0,o.jsx)(i.Switch,{size:`small`,checkedChildren:`Edit`,unCheckedChildren:`No Edit`})}),(0,o.jsx)(i.Form.Item,{name:[r,`quickEditModule`],label:`Edit Module`,style:{marginBottom:0,flex:1},tooltip:`Module to edit. Defaults to the lookup Collection above.`,children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`defaults to Collection`,className:`fg-mono-input`})}),(0,o.jsx)(i.Form.Item,{name:[r,`quickEditIdFrom`],label:`Edit Id From`,style:{marginBottom:0,flex:1},tooltip:`Sibling field whose value is the record id to edit. Empty = this field's own value. Example: clientId (edit the selected client) or employerId.`,children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`e.g. clientId`,className:`fg-mono-input`})})]}),(0,o.jsxs)(`div`,{className:`fg-field-meta-row`,style:{marginTop:8,alignItems:`flex-end`},children:[(0,o.jsx)(i.Form.Item,{name:[r,`quickCreateNotice`,`enabled`],valuePropName:`checked`,style:{marginBottom:0},tooltip:`Show a popup right after a record is created here, warning that it still needs an Organization Admin to configure forms, workflows and permissions.`,children:(0,o.jsx)(i.Switch,{size:`small`,checkedChildren:`Notice`,unCheckedChildren:`No Notice`})}),(0,o.jsx)(i.Form.Item,{name:[r,`quickCreateNotice`,`title`],label:`Notice Title`,style:{marginBottom:0,flex:1},tooltip:`Popup title. Default: New record created.`,children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`New record created`})}),(0,o.jsx)(i.Form.Item,{name:[r,`quickCreateNotice`,`recordNameField`],label:`Name Field`,style:{marginBottom:0,flex:1},tooltip:`Key on the created record holding its display name. Empty = the Display Field above, then any name-like key.`,children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`defaults to Display Field`,className:`fg-mono-input`})})]}),(0,o.jsxs)(`div`,{className:`fg-field-meta-row`,style:{marginTop:8,alignItems:`flex-end`},children:[(0,o.jsx)(i.Form.Item,{name:[r,`quickCreateNotice`,`showRecordName`],valuePropName:`checked`,style:{marginBottom:0},tooltip:`Show the created record's name in the popup.`,children:(0,o.jsx)(i.Switch,{size:`small`,checkedChildren:`Name`,unCheckedChildren:`No Name`})}),(0,o.jsx)(i.Form.Item,{name:[r,`quickCreateNotice`,`recordLabel`],label:`Name Label`,style:{marginBottom:0,flex:1},tooltip:`Label for the record-name line, e.g. Client name. Default: Record name.`,children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`Record name`})}),(0,o.jsx)(i.Form.Item,{name:[r,`quickCreateNotice`,`showCreator`],valuePropName:`checked`,style:{marginBottom:0},tooltip:`Show who created the record.`,children:(0,o.jsx)(i.Switch,{size:`small`,checkedChildren:`Creator`,unCheckedChildren:`No Creator`})}),(0,o.jsx)(i.Form.Item,{name:[r,`quickCreateNotice`,`creatorLabel`],label:`Creator Label`,style:{marginBottom:0,flex:1},tooltip:`Label for the creator line. Default: Created by.`,children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`Created by`})})]}),(0,o.jsx)(i.Form.Item,{name:[r,`quickCreateNotice`,`message`],label:`Notice Message`,style:{marginTop:8,marginBottom:0},tooltip:`Leave empty to use the standard wording asking the recruiter to contact their Organization Admin before proceeding.`,children:(0,o.jsx)(i.Input.TextArea,{size:`small`,rows:3,placeholder:`Leave empty for the standard message`})})]})]})}}),(0,o.jsxs)(`div`,{className:`fg-toggles-row`,children:[(()=>{let e=_.has(S.field);return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(i.Form.Item,{...l,name:[r,`show`],valuePropName:`checked`,style:{marginBottom:0},initialValue:!0,children:(0,o.jsx)(i.Switch,{size:`small`,checkedChildren:`Show`,unCheckedChildren:`Hide`,checked:e?!0:void 0,disabled:e,title:e?`Locked — Default Field (always shown)`:void 0})}),(0,o.jsx)(i.Form.Item,{...l,name:[r,`req`],valuePropName:`checked`,style:{marginBottom:0},initialValue:!1,children:(0,o.jsx)(i.Switch,{size:`small`,checkedChildren:`Req`,unCheckedChildren:`Opt`,checked:e?!0:void 0,disabled:e,title:e?`Locked — Default Field (always required)`:void 0})})]})})(),(0,o.jsx)(i.Form.Item,{...l,name:[r,`showOnAdd`],valuePropName:`checked`,style:{marginBottom:0},initialValue:!0,tooltip:`Show this field on Add. Turn off for edit-only fields.`,children:(0,o.jsx)(i.Switch,{size:`small`,checkedChildren:`Add`,unCheckedChildren:`No Add`})}),(0,o.jsx)(i.Form.Item,{...l,name:[r,`edit`],valuePropName:`checked`,style:{marginBottom:0},initialValue:!0,children:(0,o.jsx)(i.Switch,{size:`small`,checkedChildren:`Edit`,unCheckedChildren:`Read`})}),(0,o.jsx)(i.Form.Item,{...l,name:[r,`addRow`],valuePropName:`checked`,style:{marginBottom:0},initialValue:!1,tooltip:`Let users repeat this single field (add/remove multiple values). Ignored when this field's group is itself Add Row.`,children:(0,o.jsx)(i.Switch,{size:`small`,checkedChildren:`Repeat`,unCheckedChildren:`Single`})}),(0,o.jsx)(i.Form.Item,{...l,name:[r,`clientScope`],valuePropName:`checked`,style:{marginBottom:0},initialValue:!1,tooltip:`Use this field as the client-selector gate. It shows as the top 'Select Client' picker and is hidden from the form body (no duplicate client card).`,children:(0,o.jsx)(i.Switch,{size:`small`,checkedChildren:`Client Gate`,unCheckedChildren:`Client Gate`})}),(0,o.jsx)(i.Form.Item,{...l,name:[r,`infoEnabled`],valuePropName:`checked`,style:{marginBottom:0},initialValue:!1,tooltip:`Show an info icon next to this field label in add/edit forms.`,children:(0,o.jsx)(i.Switch,{size:`small`,checkedChildren:`Info`,unCheckedChildren:`Info`})})]}),(0,o.jsx)(i.Form.Item,{shouldUpdate:!0,style:{marginBottom:8},children:({getFieldValue:e})=>e([...x,`addRow`])?(0,o.jsxs)(`div`,{className:`fg-options-block`,children:[(0,o.jsx)(`span`,{className:`fg-options-label`,children:`Repeat Field Options`}),(0,o.jsxs)(`div`,{className:`fg-options-controls`,style:{flexWrap:`wrap`},children:[(0,o.jsx)(i.Form.Item,{name:[r,`minRows`],label:`Min Values`,style:{marginBottom:0},tooltip:`Minimum values the user must keep. Delete is disabled at this count.`,children:(0,o.jsx)(i.Input,{size:`small`,type:`number`,min:0,placeholder:`0`,style:{width:90}})}),(0,o.jsx)(i.Form.Item,{name:[r,`initialRows`],label:`Initial Values`,style:{marginBottom:0},tooltip:`How many empty inputs to show on a fresh Add (0 = show only the + button).`,children:(0,o.jsx)(i.Input,{size:`small`,type:`number`,min:0,placeholder:`1`,style:{width:90}})}),(0,o.jsx)(i.Form.Item,{name:[r,`maxRows`],label:`Max Values`,style:{marginBottom:0},tooltip:`Maximum values allowed. The + button hides at this count. Blank = unlimited.`,children:(0,o.jsx)(i.Input,{size:`small`,type:`number`,min:0,placeholder:`∞`,style:{width:90}})}),(0,o.jsx)(i.Form.Item,{name:[r,`addLabel`],label:`Add Button Label`,style:{marginBottom:0},tooltip:`Custom text for the add button. Defaults to 'Add <label>'.`,children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`e.g. Add Skill`,style:{width:170}})})]}),(0,o.jsxs)(`div`,{className:`fg-subfields-block`,style:{marginTop:10},children:[(0,o.jsxs)(`span`,{className:`fg-options-label`,children:[`Sub-fields (repeat a group together)`,(0,o.jsx)(`span`,{className:`fg-field-key-hint`,style:{marginLeft:6},children:`leave empty to repeat a single value`})]}),(0,o.jsx)(i.Form.List,{name:[r,`subFields`],children:(t,{add:n,remove:r})=>(0,o.jsxs)(`div`,{children:[t.map(({key:t,name:n,...s})=>(0,o.jsxs)(`div`,{className:`fg-subfield-row`,style:{marginBottom:10},children:[(0,o.jsxs)(`div`,{className:`fg-inline-row`,style:{flexWrap:`wrap`,alignItems:`flex-end`},children:[(0,o.jsx)(i.Form.Item,{...s,name:[n,`field`],label:`Key`,rules:[{required:!0,message:`Key`},{pattern:/^[a-zA-Z0-9_]+$/,message:`a-z 0-9 _`}],style:{marginBottom:0},children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`e.g. question`,style:{width:140},className:`fg-mono-input`})}),(0,o.jsx)(i.Form.Item,{...s,name:[n,`label`],label:`Label`,rules:[{required:!0,message:`Label`}],style:{marginBottom:0},children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`e.g. Question`,style:{width:150}})}),(0,o.jsx)(i.Form.Item,{...s,name:[n,`type`],label:`Type`,initialValue:`text`,style:{marginBottom:0},children:(0,o.jsx)(i.Select,{size:`small`,options:ly,style:{width:130}})}),(0,o.jsx)(i.Form.Item,{...s,name:[n,`req`],label:`Required`,valuePropName:`checked`,initialValue:!1,style:{marginBottom:0},children:(0,o.jsx)(i.Switch,{size:`small`,checkedChildren:`Yes`,unCheckedChildren:`No`})}),(0,o.jsx)(i.Form.Item,{...s,name:[n,`col`],label:`Width`,tooltip:`Grid span: 12 = half row, 24 = full row. Blank = 12.`,style:{marginBottom:0},children:(0,o.jsx)(i.Input,{size:`small`,type:`number`,placeholder:`12`,style:{width:70}})}),(0,o.jsx)(i.Tooltip,{title:`Remove sub-field`,children:(0,o.jsx)(`button`,{type:`button`,className:`fg-field-remove-btn`,onClick:()=>r(n),"aria-label":`Remove sub-field`,children:(0,o.jsx)(a.MinusCircleOutlined,{})})})]}),(0,o.jsx)(i.Form.Item,{shouldUpdate:!0,style:{marginBottom:0},children:()=>{let t=e([...x,`subFields`,n,`type`]);if(![`select`,`radio`,`checkbox`].includes(t))return null;let r=e([...x,`subFields`,n,`dataSource`])??`static`;return(0,o.jsxs)(`div`,{className:`fg-options-block`,style:{marginTop:6},children:[(0,o.jsx)(`span`,{className:`fg-options-label`,children:`Options / Values`}),(0,o.jsxs)(`div`,{className:`fg-options-controls`,children:[(0,o.jsx)(i.Form.Item,{name:[n,`dataSource`],label:`Source`,style:{marginBottom:0},initialValue:`static`,children:(0,o.jsx)(i.Select,{size:`small`,style:{width:190},options:uy})}),t===`select`&&(0,o.jsx)(i.Form.Item,{name:[n,`multiSelect`],label:`Multi Select`,valuePropName:`checked`,style:{marginBottom:0},initialValue:!1,children:(0,o.jsx)(i.Switch,{size:`small`,checkedChildren:`Multi`,unCheckedChildren:`Single`})}),r===`master`&&(0,o.jsx)(i.Form.Item,{name:[n,`masterName`],label:`Master Name`,style:{marginBottom:0},rules:[{required:!0,message:`Enter master name`}],children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`e.g. tracker`,style:{width:140}})}),r===`group`&&(0,o.jsx)(i.Form.Item,{name:[n,`groupName`],label:`Group Name`,style:{marginBottom:0},rules:[{required:!0,message:`Enter group name`}],children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`e.g. users`,style:{width:140}})})]}),r===`static`&&(0,o.jsxs)(`div`,{className:`fg-static-options`,children:[(0,o.jsx)(`span`,{className:`fg-static-options-hint`,children:`Label / Value pairs`}),(0,o.jsx)(i.Form.List,{name:[n,`options`],children:(e,{add:t,remove:n})=>(0,o.jsxs)(o.Fragment,{children:[e.map(({key:e,name:t})=>(0,o.jsxs)(`div`,{className:`fg-option-row`,children:[(0,o.jsx)(i.Form.Item,{name:[t,`label`],style:{marginBottom:0,flex:1},children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`Label`})}),(0,o.jsx)(i.Form.Item,{name:[t,`value`],style:{marginBottom:0,flex:1},children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`Value`,className:`fg-mono-input`})}),(0,o.jsx)(a.MinusCircleOutlined,{onClick:()=>n(t),className:`fg-remove-icon`})]},e)),(0,o.jsx)(i.Button,{size:`small`,type:`dashed`,icon:(0,o.jsx)(a.PlusOutlined,{}),onClick:()=>t({label:``,value:``}),className:`fg-add-option-btn`,children:`Add Option`})]})})]}),r===`group`&&(0,o.jsx)(`p`,{className:`fg-source-hint`,children:`Use "users" to load all users from the MongoDB-backed user collection.`}),r===`lookup`&&(0,o.jsxs)(`div`,{className:`fg-lookup-block`,children:[(0,o.jsx)(`p`,{className:`fg-source-hint`,style:{marginBottom:8},children:`Cross-collection lookup — shows label, stores FK value.`}),(0,o.jsxs)(`div`,{className:`fg-field-meta-row`,children:[(0,o.jsx)(i.Form.Item,{name:[n,`lookupCollection`],label:`Collection`,style:{marginBottom:0,flex:1},rules:[{required:!0,message:`Required`}],children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`e.g. vendors`,className:`fg-mono-input`})}),(0,o.jsx)(i.Form.Item,{name:[n,`displayField`],label:`Display Field`,style:{marginBottom:0,flex:1},rules:[{required:!0,message:`Required`}],children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`e.g. vendorContact.firstName`,className:`fg-mono-input`})}),(0,o.jsx)(i.Form.Item,{name:[n,`displayField2`],label:`Display Field 2`,style:{marginBottom:0,flex:1},children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`e.g. vendorContact.lastName`,className:`fg-mono-input`})}),(0,o.jsx)(i.Form.Item,{name:[n,`valueField`],label:`Value Field (FK)`,style:{marginBottom:0,flex:1},children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`_id`,className:`fg-mono-input`})})]}),(0,o.jsxs)(`div`,{className:`fg-field-meta-row`,style:{marginTop:8},children:[(0,o.jsx)(i.Form.Item,{name:[n,`lookupFilterField`],label:`Filter Field`,style:{marginBottom:0,flex:1},tooltip:`Optional DB field to filter lookup rows by. Example: _id or clientId.`,children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`e.g. _id`,className:`fg-mono-input`})}),(0,o.jsx)(i.Form.Item,{name:[n,`lookupFilterValueFrom`],label:`Filter Value From`,style:{marginBottom:0,flex:1},tooltip:`Optional form/scope field that provides the filter value. Example: clientId.`,children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`e.g. clientId`,className:`fg-mono-input`})})]})]})]})}})]},t)),(0,o.jsx)(i.Button,{type:`dashed`,size:`small`,icon:(0,o.jsx)(a.PlusOutlined,{}),onClick:()=>n({type:`text`,req:!1}),children:`Add Sub-field`})]})})]})]}):null}),(0,o.jsxs)(`div`,{className:`fg-field-meta-row`,style:{marginTop:8},children:[(0,o.jsx)(i.Form.Item,{name:[r,`placeholder`],label:`Placeholder`,style:{marginBottom:0,flex:1},children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`Admin-controlled placeholder`})}),(0,o.jsx)(i.Form.Item,{name:[r,`hidePlaceholder`],label:`Hide Placeholder`,valuePropName:`checked`,style:{marginBottom:0},children:(0,o.jsx)(i.Switch,{size:`small`,checkedChildren:`Hidden`,unCheckedChildren:`Shown`})})]}),(0,o.jsxs)(`div`,{className:`fg-field-meta-row`,style:{marginTop:8},children:[(0,o.jsx)(i.Form.Item,{name:[r,`visiblePermission`],label:`Visible permission key`,style:{marginBottom:0,flex:1},tooltip:`Menu-permission key ('<module>.<key>', e.g. submission.viewRate) gating whether this field is rendered at all. Leave blank to show to everyone (subject to the Show toggle above). Add matching keys in Admin → Permissions.`,children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`e.g. submission.viewRate`})}),(0,o.jsx)(i.Form.Item,{name:[r,`editablePermission`],label:`Editable permission key`,style:{marginBottom:0,flex:1},tooltip:`Menu-permission key gating whether this field can be edited. Users without it see the field disabled with a tooltip. Leave blank to allow everyone (subject to the Edit toggle above).`,children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`e.g. submission.editRate`})})]}),(0,o.jsx)(i.Form.Item,{shouldUpdate:!0,style:{marginBottom:8},children:({getFieldValue:e})=>e([...x,`clientScope`])?(0,o.jsxs)(`div`,{className:`fg-options-block`,children:[(0,o.jsx)(`span`,{className:`fg-options-label`,children:`Client Gate Message`}),(0,o.jsx)(i.Form.Item,{name:[r,`clientGateMessage`],style:{marginBottom:0},children:(0,o.jsx)(i.Input.TextArea,{rows:2,placeholder:`Message shown below 'Select Client' in the add form (leave blank for default)`})}),(0,o.jsx)(i.Form.Item,{name:[r,`clientGateResetOnChange`],valuePropName:`checked`,style:{margin:`10px 0 0`},tooltip:`When the selected client changes or is cleared, remove every value already entered in the form before loading the new client configuration.`,children:(0,o.jsx)(i.Switch,{size:`small`,checkedChildren:`Reset form on client change`,unCheckedChildren:`Keep form values`})})]}):null}),(0,o.jsxs)(`div`,{className:`fg-options-block`,children:[(0,o.jsxs)(`span`,{className:`fg-options-label`,children:[(0,o.jsx)(a.InfoCircleOutlined,{}),` Help Text`]}),(0,o.jsx)(i.Form.Item,{...l,name:[r,`tooltip`],label:`Tooltip`,style:{marginBottom:8},tooltip:`Hover help for this field. Works on every control — including fields rendered without a label, where the info icon below cannot appear. Use this one unless you specifically need the icon.`,children:(0,o.jsx)(i.Input.TextArea,{rows:2,placeholder:`Shown when users hover this field`})}),(0,o.jsx)(i.Form.Item,{shouldUpdate:!0,style:{marginBottom:0},children:({getFieldValue:e})=>e([...x,`infoEnabled`])?(0,o.jsx)(i.Form.Item,{name:[r,`infoText`],label:`Info icon text`,style:{marginBottom:0},rules:[{required:!0,message:`Enter info message`}],tooltip:`Legacy pair (Info switch above + this text). Renders an icon inside the field label, so it never shows on a label-less field. Ignored when a Tooltip is set.`,children:(0,o.jsx)(i.Input.TextArea,{rows:2,placeholder:`Message shown when users hover the info icon`})}):null})]}),(0,o.jsx)(i.Form.Item,{...l,name:[r,`helpText`],label:`Extra Text`,tooltip:`Small gray helper text rendered below this field in add/edit forms. Example: date format.`,children:(0,o.jsx)(i.Input.TextArea,{rows:2,placeholder:`Shown below the field`})}),(0,o.jsx)(i.Form.Item,{shouldUpdate:!0,style:{marginBottom:8},children:({getFieldValue:e})=>{let t=e([...x,`showIf`,`field`]),n=e([...x,`showIf`,`operator`])??`eq`,a=py.includes(n);return(0,o.jsxs)(`div`,{className:`fg-options-block`,children:[(0,o.jsx)(`span`,{className:`fg-options-label`,children:`Show Condition`}),(0,o.jsxs)(`div`,{className:`fg-options-controls`,style:{flexWrap:`wrap`},children:[(0,o.jsx)(i.Form.Item,{name:[r,`showIf`,`field`],label:`Show only when field`,style:{marginBottom:0},children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`field key — blank = always show`,style:{width:210},className:`fg-mono-input`})}),t&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(i.Form.Item,{name:[r,`showIf`,`operator`],label:`Operator`,style:{marginBottom:0},initialValue:`eq`,children:(0,o.jsx)(i.Select,{size:`small`,style:{width:130},options:fy,getPopupContainer:()=>document.body})}),a&&(0,o.jsx)(i.Form.Item,{name:[r,`showIf`,`value`],label:`Value`,style:{marginBottom:0},children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`e.g. yes`,style:{width:100},className:`fg-mono-input`})})]})]}),t&&(0,o.jsx)(i.Form.List,{name:[r,`showIf`,`conditions`],children:(e,{add:t,remove:n})=>(0,o.jsxs)(`div`,{style:{marginTop:8},children:[e.length>0&&(0,o.jsx)(i.Form.Item,{name:[r,`showIf`,`logic`],label:`Combine when`,style:{marginBottom:6},initialValue:`and`,children:(0,o.jsx)(i.Select,{size:`small`,style:{width:190},getPopupContainer:()=>document.body,options:[{value:`and`,label:`All must match (AND)`},{value:`or`,label:`Any can match (OR)`}]})}),e.map(e=>(0,o.jsx)(i.Form.Item,{shouldUpdate:!0,style:{marginBottom:6},children:({getFieldValue:t})=>{let r=t([...x,`showIf`,`conditions`,e.name,`operator`])??`eq`,a=py.includes(r);return(0,o.jsxs)(`div`,{className:`fg-options-controls`,style:{flexWrap:`wrap`,alignItems:`flex-end`},children:[(0,o.jsx)(i.Form.Item,{name:[e.name,`field`],label:`And field`,style:{marginBottom:0},children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`field key`,style:{width:180},className:`fg-mono-input`})}),(0,o.jsx)(i.Form.Item,{name:[e.name,`operator`],label:`Operator`,style:{marginBottom:0},initialValue:`eq`,children:(0,o.jsx)(i.Select,{size:`small`,style:{width:130},options:fy,getPopupContainer:()=>document.body})}),a&&(0,o.jsx)(i.Form.Item,{name:[e.name,`value`],label:`Value`,style:{marginBottom:0},children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`comma for list`,style:{width:130},className:`fg-mono-input`})}),(0,o.jsx)(i.Button,{size:`small`,type:`text`,danger:!0,onClick:()=>n(e.name),children:`Remove`})]})}},e.key)),(0,o.jsx)(i.Button,{size:`small`,type:`dashed`,style:{marginTop:4},onClick:()=>t({field:``,operator:`eq`,value:``}),children:`+ Add condition`})]})}),t&&(0,o.jsxs)(`p`,{className:`fg-source-hint`,style:{marginTop:4},children:[`Hidden until “`,t,`”`,a?` ${n===`eq`?`equals`:n===`neq`?`does not equal`:n===`in`?`is one of`:`is not one of`} the value above.`:` ${n===`truthy`?`has any value.`:n===`notEmpty`?`has at least one row.`:`is empty.`}`,` `,`Add more conditions below to require several at once.`]})]})}}),(0,o.jsx)(i.Form.Item,{shouldUpdate:!0,style:{marginBottom:8},children:({getFieldValue:e})=>{let t=e([...x,`labelWhen`,`field`]),n=e([...x,`labelWhen`,`operator`])??`eq`,a=py.includes(n);return(0,o.jsxs)(`div`,{className:`fg-options-block`,children:[(0,o.jsx)(`span`,{className:`fg-options-label`,children:`Conditional Label`}),(0,o.jsxs)(`div`,{className:`fg-options-controls`,style:{flexWrap:`wrap`},children:[(0,o.jsx)(i.Form.Item,{name:[r,`labelWhen`,`field`],label:`Watch field`,style:{marginBottom:0},children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`blank = use normal label`,style:{width:190},className:`fg-mono-input`})}),t&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(i.Form.Item,{name:[r,`labelWhen`,`operator`],label:`Operator`,style:{marginBottom:0},initialValue:`eq`,children:(0,o.jsx)(i.Select,{size:`small`,style:{width:130},options:fy,getPopupContainer:()=>document.body})}),a&&(0,o.jsx)(i.Form.Item,{name:[r,`labelWhen`,`value`],label:`Value`,style:{marginBottom:0},children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`comma-separated for one-of`,style:{width:180},className:`fg-mono-input`})}),(0,o.jsx)(i.Form.Item,{name:[r,`labelWhen`,`label`],label:`Alternate label`,style:{marginBottom:0},rules:[{required:!0,message:`Enter alternate label`}],children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`e.g. Employer Rate`,style:{width:170}})})]})]}),t&&(0,o.jsx)(`p`,{className:`fg-source-hint`,style:{marginTop:4},children:`Only the displayed label changes. The field key and submitted payload stay unchanged.`})]})}}),(0,o.jsx)(i.Form.Item,{shouldUpdate:!0,style:{marginBottom:8},children:({getFieldValue:e})=>{let t=e([...x,`colWhenField`]),n=e([...x,`colWhenOperator`])??`eq`,a=py.includes(n);return(0,o.jsxs)(`div`,{className:`fg-options-block`,children:[(0,o.jsx)(`span`,{className:`fg-options-label`,children:`Conditional Width`}),(0,o.jsxs)(`div`,{className:`fg-options-controls`,style:{flexWrap:`wrap`},children:[(0,o.jsx)(i.Form.Item,{name:[r,`colWhenField`],label:`Watch field`,style:{marginBottom:0},children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`blank = always use Width`,style:{width:190},className:`fg-mono-input`})}),t&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(i.Form.Item,{name:[r,`colWhenOperator`],label:`Operator`,style:{marginBottom:0},initialValue:`eq`,children:(0,o.jsx)(i.Select,{size:`small`,style:{width:130},options:fy,getPopupContainer:()=>document.body})}),a&&(0,o.jsx)(i.Form.Item,{name:[r,`colWhenValue`],label:`Value`,style:{marginBottom:0},children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`comma-separated for one-of`,style:{width:180},className:`fg-mono-input`})}),(0,o.jsx)(i.Form.Item,{name:[r,`colWhenCol`],label:`Width when matched`,style:{marginBottom:0},rules:[{required:!0,message:`Enter a width (1-24)`}],children:(0,o.jsx)(i.InputNumber,{size:`small`,min:1,max:24,style:{width:150},placeholder:`e.g. 6`})})]})]}),t&&(0,o.jsx)(`p`,{className:`fg-source-hint`,style:{marginTop:4},children:`While the condition holds this field uses the width above (24 = full row); otherwise it falls back to Width. Layout only — the payload is unchanged.`})]})}}),(0,o.jsx)(i.Form.Item,{shouldUpdate:!0,style:{marginBottom:8},children:({getFieldValue:e})=>{let t=e([...x,`verifyAction`]);return(0,o.jsxs)(`div`,{className:`fg-options-block`,children:[(0,o.jsx)(`span`,{className:`fg-options-label`,children:`Field Verification`}),(0,o.jsxs)(`div`,{className:`fg-options-controls`,style:{flexWrap:`wrap`},children:[(0,o.jsx)(i.Form.Item,{name:[r,`verifyAction`],label:`Action`,style:{marginBottom:0},children:(0,o.jsx)(i.Select,{size:`small`,allowClear:!0,placeholder:`None`,style:{width:130},options:[{label:`Email`,value:`email`}]})}),t&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(i.Form.Item,{name:[r,`verifyResultField`],label:`Result field`,style:{marginBottom:0},rules:[{required:!0,message:`Result field is required`}],children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`e.g. isValid`,style:{width:130},className:`fg-mono-input`})}),(0,o.jsx)(i.Form.Item,{name:[r,`verifyTimestampField`],label:`Timestamp field`,style:{marginBottom:0},children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`e.g. validatedAt`,style:{width:150},className:`fg-mono-input`})}),(0,o.jsx)(i.Form.Item,{name:[r,`verifyIdleLabel`],label:`Initial text`,style:{marginBottom:0},children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`Verify Email`,style:{width:130}})}),(0,o.jsx)(i.Form.Item,{name:[r,`verifyRetryLabel`],label:`Retry text`,style:{marginBottom:0},children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`Re Verify`,style:{width:120}})}),(0,o.jsx)(i.Form.Item,{name:[r,`verifySuccessLabel`],label:`Success text`,style:{marginBottom:0},children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`Valid`,style:{width:110}})}),(0,o.jsx)(i.Form.Item,{name:[r,`verifyLockedWhenFields`],label:`Locked when fields`,style:{marginBottom:0},tooltip:`Comma-separated sibling field keys on the same row (e.g. isAccountCreate). When ALL of them are true AND the result field is true, the edit form shows a fixed, non-clickable label instead of the Verify button. Blank = never locked.`,children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`e.g. isAccountCreate`,style:{width:190},className:`fg-mono-input`})}),(0,o.jsx)(i.Form.Item,{name:[r,`verifyLockedLabel`],label:`Locked text`,style:{marginBottom:0},children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`Verified`,style:{width:110}})})]})]}),t&&(0,o.jsx)(`p`,{className:`fg-source-hint`,style:{marginTop:4},children:`Changing the verified value resets the result and disables any configured validation gate. \xA0Locked-when fields mark a value that can no longer be re-checked (an account already exists for it) — the edit form then shows the locked text and no button.`})]})}}),(0,o.jsx)(i.Form.Item,{shouldUpdate:!0,style:{marginBottom:8},children:({getFieldValue:e})=>{let t=e([...x,`type`]),n=e([...x,`dataType`])??`auto`,s=e([...x,`payloadMode`])??`auto`,c=[`select`,`radio`,`checkbox`].includes(t),l=[`label`,`object`,`custom`].includes(s);return(0,o.jsxs)(`div`,{className:`fg-options-block`,children:[(0,o.jsx)(`span`,{className:`fg-options-label`,children:`Payload Mapping`}),(0,o.jsxs)(`div`,{className:`fg-options-controls`,style:{flexWrap:`wrap`},children:[(0,o.jsx)(i.Form.Item,{name:[r,`payloadKey`],label:`Payload Key`,style:{marginBottom:8},children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`defaults to field key`,style:{width:180},className:`fg-mono-input`})}),(0,o.jsx)(i.Form.Item,{name:[r,`prefillFrom`],label:`Prefill From`,tooltip:`Source path to inherit this field's value from when the record is created by prefilling another module (e.g. submission ← candidate). Dotted paths allowed, e.g. passport.passportNumber.`,style:{marginBottom:8},children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`source key (cross-module prefill)`,style:{width:200},className:`fg-mono-input`})}),(0,o.jsx)(i.Form.Item,{name:[r,`prefillFromModule`],label:`Prefill From Module`,tooltip:`Prefill this field from ANOTHER module's record linked in the URL instead of the default source — e.g. 'job' makes Quick Submit fill this field from the current job (with Prefill From naming the job's key, e.g. mspreqId). Leave blank for the normal prefill source.`,style:{marginBottom:8},children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`e.g. job`,style:{width:160},className:`fg-mono-input`})}),(0,o.jsx)(i.Form.Item,{shouldUpdate:!0,noStyle:!0,children:({getFieldValue:e,setFieldValue:t})=>{let n=e([`fields`,r,`prefillWhen`])??[],s=e([`fields`,r,`lookupCollection`]),c=e([`fields`,r,`displayField`]),l=e([`fields`,r,`valueField`])||`_id`,u=(e,i)=>{let a=n.map((t,n)=>n===e?{...t,...i}:t);t([`fields`,r,`prefillWhen`],a)};return(0,o.jsxs)(`div`,{style:{width:`100%`,margin:`4px 0 8px`},children:[(0,o.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,flexWrap:`wrap`},children:[(0,o.jsx)(oy,{type:`secondary`,style:{fontSize:12},children:`Conditional Default — when a field matches, set this field to a chosen record (or tick Clear to empty it instead)`}),(0,o.jsx)(i.Button,{size:`small`,type:`dashed`,icon:(0,o.jsx)(a.PlusOutlined,{}),onClick:()=>t([`fields`,r,`prefillWhen`],[...n,{field:``,value:``,setValue:``}]),children:`Add`})]}),n.length>0&&(0,o.jsx)(i.Form.Item,{name:[r,`prefillWhenReset`],valuePropName:`checked`,initialValue:!0,style:{marginBottom:0,marginTop:6},tooltip:`When the watched field changes to a value with NO matching row above (e.g. Contract Type switches away from W2), clear this field back out — but only if it still holds exactly the default a rule set (a value the admin/user picked themselves is never touched). Off keeps the old default in place.`,children:(0,o.jsx)(i.Checkbox,{children:`Reset this field when the condition no longer matches`})}),n.length>0&&(0,o.jsx)(i.Form.Item,{name:[r,`prefillWhenExclusive`],valuePropName:`checked`,initialValue:!1,style:{marginBottom:0,marginTop:2},tooltip:`Treat each record chosen above as EXCLUSIVE to its condition: it is offered in this dropdown only while its row matches, and is removed from the list entirely the rest of the time (including before the watched field is filled in). Use it when the record is only ever a valid choice under that condition — not merely its default. Off (the default) leaves the dropdown offering everything, as before.`,children:(0,o.jsx)(i.Checkbox,{children:`Offer the chosen record ONLY while its condition matches (hide it otherwise)`})}),n.map((e,d)=>(0,o.jsxs)(`div`,{style:{display:`flex`,gap:6,alignItems:`center`,marginTop:6},children:[(0,o.jsx)(i.Input,{size:`small`,placeholder:`when field (e.g. contractType)`,className:`fg-mono-input`,style:{width:180},value:e.field,onChange:e=>u(d,{field:e.target.value})}),(0,o.jsx)(`span`,{style:{color:`#94a3b8`,fontSize:12},children:`=`}),(0,o.jsx)(i.Input,{size:`small`,placeholder:`value (e.g. W2-Fulltime)`,className:`fg-mono-input`,style:{width:150},value:e.value,onChange:e=>u(d,{value:e.target.value})}),(0,o.jsx)(`span`,{style:{color:`#94a3b8`,fontSize:12},children:`→`}),e.clearValue?(0,o.jsx)(oy,{type:`secondary`,style:{fontSize:12,width:220},children:`clear this field`}):(0,o.jsx)(Ay,{collection:s,displayField:c,valueField:l,value:e.setValue,labelValue:e.setValueLabel,onChange:(e,t)=>u(d,{setValue:e,setValueLabel:t})}),(0,o.jsx)(i.Checkbox,{checked:!!e.clearValue,onChange:e=>u(d,{clearValue:e.target.checked}),children:(0,o.jsx)(`span`,{style:{fontSize:12},children:`Clear`})}),(0,o.jsx)(i.Button,{size:`small`,type:`text`,danger:!0,icon:(0,o.jsx)(a.DeleteOutlined,{}),onClick:()=>t([`fields`,r,`prefillWhen`],n.filter((e,t)=>t!==d))})]},d))]})}}),(0,o.jsx)(i.Form.Item,{name:[r,`dataType`],label:`Data Type`,style:{marginBottom:8},initialValue:`auto`,children:(0,o.jsx)(i.Select,{size:`small`,style:{width:170},options:my,getPopupContainer:()=>document.body})}),n===`array`&&(0,o.jsx)(i.Form.Item,{name:[r,`elementType`],label:`Array Element Type`,style:{marginBottom:8},children:(0,o.jsx)(i.Select,{size:`small`,style:{width:130},options:hy,getPopupContainer:()=>document.body})}),(0,o.jsx)(i.Form.Item,{name:[r,`payloadMode`],label:`Payload Mode`,style:{marginBottom:8},initialValue:`auto`,children:(0,o.jsx)(i.Select,{size:`small`,style:{width:210},options:gy,getPopupContainer:()=>document.body})}),(0,o.jsx)(i.Form.Item,{name:[r,`defaultValue`],label:`Default Value`,style:{marginBottom:8},children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`optional`,style:{width:130}})}),(0,o.jsx)(i.Form.Item,{name:[r,`defaultOnEdit`],label:`Default on Edit`,valuePropName:`checked`,style:{marginBottom:8},tooltip:`When the stored value is empty, show Default Value in edit form. Keep off for fields that should remain blank on edit.`,children:(0,o.jsx)(i.Switch,{size:`small`,checkedChildren:`Yes`,unCheckedChildren:`No`})}),(0,o.jsx)(i.Form.Item,{name:[r,`noPrefill`],label:`No Prefill`,valuePropName:`checked`,style:{marginBottom:8},tooltip:`Always render this field blank on edit instead of showing the stored value. For fields that capture a NEW entry each time rather than the record's current state — e.g. Billing Update's Amount Received, where each save records one more client payment.`,children:(0,o.jsx)(i.Switch,{size:`small`,checkedChildren:`Yes`,unCheckedChildren:`No`})}),(0,o.jsx)(i.Form.Item,{name:[r,`emptyValues`],label:`Empty Values`,style:{marginBottom:8},tooltip:`Comma separated stored values that should render as blank in edit form. Example: 0, candidate`,children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`e.g. 0, candidate`,style:{width:170}})}),(0,o.jsx)(i.Form.Item,{name:[r,`valuePaths`],label:`Value Paths`,style:{marginBottom:8},tooltip:`Comma separated read paths for edit/detail prefill. Supports array filters like socialProfiles[type=linkedin].value.`,children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`linkedIn, socialProfiles[type=linkedin].value`,style:{width:300},className:`fg-mono-input`})})]}),(l||c)&&(0,o.jsxs)(`div`,{className:`fg-field-meta-row`,children:[(0,o.jsx)(i.Form.Item,{name:[r,`valueKey`],label:`Value Key (id)`,style:{marginBottom:8,flex:1},children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`e.g. id`,className:`fg-mono-input`})}),(0,o.jsx)(i.Form.Item,{name:[r,`displayKey`],label:`Display Key (label)`,style:{marginBottom:8,flex:1},children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`e.g. name`,className:`fg-mono-input`})}),c&&(0,o.jsx)(i.Form.Item,{name:[r,`richValue`],label:`Keep label`,valuePropName:`checked`,style:{marginBottom:8},initialValue:!1,children:(0,o.jsx)(i.Switch,{size:`small`,checkedChildren:`Yes`,unCheckedChildren:`No`})})]}),s===`custom`&&(0,o.jsxs)(`div`,{style:{marginBottom:8},children:[(0,o.jsxs)(`span`,{className:`fg-static-options-hint`,children:[`Payload Template (JSON) — tokens: `,`{{value}} {{label}} {{raw.field}}`]}),(0,o.jsx)(i.Form.Item,{name:[r,`payloadTemplate`],style:{marginBottom:0},children:(0,o.jsx)(i.Input.TextArea,{rows:2,className:`fg-mono-input`,placeholder:`{ "countryId": "{{value}}", "countryName": "{{label}}" }`})})]}),(0,o.jsxs)(`details`,{style:{marginTop:4},children:[(0,o.jsx)(`summary`,{className:`fg-source-hint`,style:{cursor:`pointer`},children:`Advanced: transform rule / omit empty`}),(0,o.jsxs)(`div`,{style:{marginTop:6},children:[(0,o.jsxs)(`span`,{className:`fg-static-options-hint`,children:[`Transform Rule (JSON) — e.g. `,`{ "map": { "true": "high", "false": "medium" } }`]}),(0,o.jsx)(i.Form.Item,{name:[r,`transformRule`],style:{marginBottom:6},children:(0,o.jsx)(i.Input.TextArea,{rows:2,className:`fg-mono-input`,placeholder:`{ "map": { "true": "high" }, "default": "medium" }`})}),(0,o.jsx)(i.Form.Item,{name:[r,`omitEmpty`],label:`Omit when empty`,valuePropName:`checked`,style:{marginBottom:0},initialValue:!1,children:(0,o.jsx)(i.Switch,{size:`small`,checkedChildren:`Omit`,unCheckedChildren:`Send`})})]})]})]})}}),(0,o.jsx)(i.Form.Item,{shouldUpdate:!0,style:{marginBottom:8},children:({getFieldValue:t})=>{let n=t([...x,`type`]);if([`select`,`radio`,`checkbox`,`date`,`time`,`file`,`location`].includes(n))return null;let a=t([...x,`validator`,`type`]),s=a&&![`email`,`websiteUrl`,`jobDescription`].includes(a),c=a===`jobDescription`;return(0,o.jsxs)(`div`,{className:`fg-options-block`,children:[(0,o.jsx)(`span`,{className:`fg-options-label`,children:`Input Validator`}),(0,o.jsxs)(`div`,{className:`fg-options-controls`,style:{flexWrap:`wrap`},children:[(0,o.jsx)(i.Form.Item,{name:[r,`validator`,`type`],label:`Type`,style:{marginBottom:0},children:(0,o.jsx)(i.Select,{size:`small`,allowClear:!0,placeholder:`None — no char restriction`,style:{width:260},options:e.J})}),s&&(0,o.jsx)(i.Form.Item,{name:[r,`validator`,`maxLength`],label:`Max Length`,style:{marginBottom:0},children:(0,o.jsx)(i.Input,{size:`small`,type:`number`,min:1,placeholder:`e.g. 55`,style:{width:90}})}),c&&(0,o.jsx)(i.Form.Item,{name:[r,`validator`,`maxChars`],label:`Max Chars`,style:{marginBottom:0},children:(0,o.jsx)(i.Input,{size:`small`,type:`number`,min:1,placeholder:`1500`,style:{width:90}})}),a&&(0,o.jsx)(i.Form.Item,{name:[r,`validator`,`title`],label:`Error Title`,style:{marginBottom:0},tooltip:`Used in error messages. Defaults to the field label when blank.`,children:(0,o.jsx)(i.Input,{size:`small`,placeholder:t([...x,`label`])||`Field`,style:{width:180}})})]})]})}}),(0,o.jsx)(i.Form.Item,{shouldUpdate:!0,style:{marginBottom:8},children:({getFieldValue:e})=>{let t=e([...x,`type`]),n=t===`checkbox`,a=t===`select`&&e([...x,`dataSource`])===`lookup`;return!n&&!a?(0,o.jsxs)(`div`,{className:`fg-options-block`,children:[(0,o.jsx)(`span`,{className:`fg-options-label`,children:`Disable When Field Is Checked`}),(0,o.jsx)(i.Form.Item,{name:[r,`disabledByField`],style:{marginBottom:0},children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`sibling field key (e.g. currentlyPursuing)`,className:`fg-mono-input`,style:{width:260}})}),(0,o.jsx)(`p`,{className:`fg-source-hint`,children:`This field becomes disabled (and read-only) when the specified sibling checkbox is checked.`})]}):n?(0,o.jsxs)(`div`,{className:`fg-options-block`,children:[(0,o.jsx)(`span`,{className:`fg-options-label`,children:`Clear Field When Checked`}),(0,o.jsx)(i.Form.Item,{name:[r,`linkedClearField`],style:{marginBottom:0},children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`sibling field key to clear (e.g. endDate)`,className:`fg-mono-input`,style:{width:260}})}),(0,o.jsx)(`p`,{className:`fg-source-hint`,children:`When this checkbox is checked the specified sibling field is cleared and disabled.`}),(0,o.jsxs)(`div`,{style:{marginTop:10},children:[(0,o.jsx)(i.Form.Item,{name:[r,`exclusiveInGroup`],valuePropName:`checked`,style:{marginBottom:0},children:(0,o.jsx)(i.Switch,{size:`small`,checkedChildren:`One row only`,unCheckedChildren:`Any row`})}),(0,o.jsx)(`p`,{className:`fg-source-hint`,children:`Only one row of a repeatable group may have this checked — e.g. Currently Working Here / Currently Pursuing. Once a row is ticked the box is disabled on every other row; untick it to move the claim. No effect outside a repeatable group.`})]})]}):a?(0,o.jsxs)(`div`,{className:`fg-options-block`,children:[(0,o.jsx)(`span`,{className:`fg-options-label`,children:`Autofill Fields (JSON)`}),(0,o.jsx)(i.Form.Item,{name:[r,`autofillFrom`],style:{marginBottom:0},children:(0,o.jsx)(i.Input.TextArea,{rows:3,className:`fg-mono-input`,placeholder:`[{"optionKey":"vendorContact.email","targetField":"vendorEmail"}]`})}),(0,o.jsx)(`p`,{className:`fg-source-hint`,children:`When a value is selected, copy raw lookup object fields into sibling fields. Each entry: optionKey (dotted path into the raw record) + targetField (sibling key).`})]}):null}}),(0,o.jsxs)(`div`,{className:`fg-validations-section`,children:[(0,o.jsxs)(`div`,{className:`fg-validations-header`,children:[(0,o.jsx)(a.SafetyCertificateOutlined,{className:`fg-val-icon`}),(0,o.jsx)(`span`,{className:`fg-val-title`,children:`Validations`})]}),(0,o.jsx)(i.Form.List,{name:[r,`validations`],children:(e,{add:n,remove:s})=>(0,o.jsxs)(o.Fragment,{children:[e.map(({key:e,name:n})=>(0,o.jsx)(i.Form.Item,{shouldUpdate:!0,style:{marginBottom:6},children:({getFieldValue:e})=>{let c=e([...y,r,`validations`,n,`type`]),l=vy(c),u=e([...y,r,`type`]),d=c===`dateAfterField`||c===`dateBeforeField`,f=(e(y)??[]).map((e,t)=>({candidate:e,index:t})).filter(({candidate:e,index:t})=>t!==r&&e?.type===`date`&&e?.field).map(({candidate:e})=>({value:e.field,label:`${e.label||e.field} (${e.field})`})),p=(e(y)??[]).map((e,t)=>({candidate:e,index:t})).filter(({candidate:e,index:t})=>t!==r&&e?.field).map(({candidate:e})=>({value:e.field,label:`${e.label||e.field} (${e.field})`})),m=dy.filter(e=>u===`date`?e.dateOnly||e.value===`required`||e.value===`unique`:!e.dateOnly).map(e=>({label:e.label,value:e.value})),h=c===jv,g=e([...y,r])??{},_=zv(g),b=[...y,r,`validations`,n,`value`],x=h?Gv(e(b),g):null,S=h?ey({primaryModule:v.primaryModule,groupTargetModule:v.getTargetModule(),field:g,config:x,collectionForModule:v.collectionForModule}):null,C=(e(y)??[]).filter(e=>e?.field).map(e=>{let t=String(e.payloadKey??``).trim()||e.field;return{value:t,label:`${e.label||e.field} (${t})`}});return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(`div`,{className:`fg-val-row`,children:[(0,o.jsx)(i.Form.Item,{name:[n,`type`],style:{marginBottom:0},rules:[{required:!0,message:`Pick type`},{validator:(e,t)=>t===`unique`&&!_.supported?Promise.reject(Error(_.reason)):Promise.resolve()}],children:(0,o.jsx)(i.Select,{size:`small`,placeholder:u===`date`?`Date condition`:`Type`,style:{width:210},listHeight:400,getPopupContainer:()=>document.body,options:m,onChange:e=>{if(e===`unique`){let e=t.getFieldValue(b);t.setFieldValue(b,Gv(e,t.getFieldValue([...y,r])??{}))}else typeof t.getFieldValue(b)==`object`&&t.setFieldValue(b,``)}})}),l.hasValue&&!h&&(0,o.jsx)(i.Form.Item,{name:[n,`value`],style:{marginBottom:0},children:d?(0,o.jsx)(i.Select,{size:`small`,showSearch:!0,allowClear:!0,placeholder:`Related date field`,style:{width:210},options:f,optionFilterProp:`label`,getPopupContainer:()=>document.body}):(0,o.jsx)(i.Input,{size:`small`,type:l.valueType===`number`?`number`:`text`,placeholder:l.placeholder,style:{width:90}})}),l.needsField&&(0,o.jsx)(i.Form.Item,{name:[n,`field`],style:{marginBottom:0},rules:[{required:!0,message:`Pick the capping field`}],children:(0,o.jsx)(i.AutoComplete,{size:`small`,style:{width:210},placeholder:`capped by field, e.g. totalExperience`,options:p,filterOption:(e,t)=>String(t?.label??``).toLowerCase().includes(String(e).toLowerCase()),getPopupContainer:()=>document.body})}),(0,o.jsx)(i.Form.Item,{name:[n,`message`],style:{marginBottom:0,flex:1},rules:l.messageOptional?[]:[{required:!0,whitespace:!0,message:`Message required`}],children:(0,o.jsx)(i.Input,{size:`small`,placeholder:l.messageOptional?`Optional — uses default`:h?`e.g. Email already present`:`Error message shown to user`})}),(0,o.jsx)(a.MinusCircleOutlined,{className:`fg-remove-icon`,style:{marginTop:4},onClick:()=>s(n)})]}),h&&(0,o.jsxs)(`div`,{className:`fg-options-block`,style:{marginTop:6},children:[(0,o.jsx)(`span`,{className:`fg-options-label`,children:`Uniqueness settings`}),_.supported?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(`div`,{className:`fg-options-controls`,style:{flexWrap:`wrap`},children:[(0,o.jsx)(i.Form.Item,{name:[n,`value`,`collectionField`],label:`Collection field`,style:{marginBottom:0},tooltip:`The key this value is stored under in the target collection. Dot paths allowed, e.g. passport.passportNumber. Defaults to the field's payload key.`,rules:[{validator:(e,t)=>{let n=Vv(t);return n?Promise.reject(Error(n)):Promise.resolve()}}],children:(0,o.jsx)(i.AutoComplete,{size:`small`,style:{width:220},className:`fg-mono-input`,placeholder:S?.storedField||`stored key`,options:C,filterOption:(e,t)=>String(t?.label??``).toLowerCase().includes(String(e).toLowerCase()),getPopupContainer:()=>document.body})}),(0,o.jsx)(i.Form.Item,{name:[n,`value`,`normalizer`],label:`Normalization`,style:{marginBottom:0},tooltip:`How the value is normalised on BOTH sides before comparing. The server applies the same rule.`,children:(0,o.jsx)(i.Select,{size:`small`,style:{width:210},options:Mv,getPopupContainer:()=>document.body})}),(0,o.jsx)(i.Form.Item,{name:[n,`value`,`validateOn`],label:`Check when`,style:{marginBottom:0},tooltip:`Blur checks as soon as the user leaves the field. Either way the value is re-checked authoritatively on submit.`,children:(0,o.jsx)(i.Select,{size:`small`,style:{width:190},options:Nv,getPopupContainer:()=>document.body})}),(0,o.jsx)(i.Form.Item,{name:[n,`value`,`skipBlank`],label:`Skip blank`,valuePropName:`checked`,style:{marginBottom:0},tooltip:`On: two records that both left this field empty are not duplicates. Turn off only when a blank must itself be unique.`,children:(0,o.jsx)(i.Switch,{size:`small`,checkedChildren:`Skip`,unCheckedChildren:`Check`})})]}),(0,o.jsxs)(`p`,{className:`fg-source-hint`,style:{marginTop:6},children:[`Target module: `,(0,o.jsx)(`code`,{children:S?.module||`—`}),` · `,`Target collection: `,(0,o.jsx)(`code`,{children:S?.collection||`resolved on the server`}),` · `,`Form field: `,(0,o.jsx)(`code`,{children:S?.formField||`—`}),` · `,`Stored field: `,(0,o.jsx)(`code`,{children:S?.storedField||`—`})]}),S?.isCrossModule&&(0,o.jsxs)(`p`,{className:`fg-source-hint`,children:[`This group writes to `,(0,o.jsx)(`code`,{children:S.module}),` through its Target Collection, so the value is checked for uniqueness there — not in the module you are editing.`]}),(0,o.jsx)(i.Form.List,{name:[n,`value`,`alsoCheck`],children:(e,{add:t,remove:n})=>(0,o.jsxs)(`div`,{style:{marginTop:8},children:[(0,o.jsx)(`span`,{className:`fg-options-label`,children:`Also check these collections`}),e.map(({key:e,name:t,...r})=>(0,o.jsxs)(`div`,{className:`fg-options-controls`,style:{flexWrap:`wrap`,alignItems:`flex-end`,marginTop:4},children:[(0,o.jsx)(i.Form.Item,{...r,name:[t,`module`],label:`Module`,style:{marginBottom:0},tooltip:`Preferred. Resolved to a collection on the SERVER through the module registry — the browser never names a collection.`,children:(0,o.jsx)(i.Input,{size:`small`,style:{width:150},className:`fg-mono-input`,placeholder:`e.g. users`})}),(0,o.jsx)(i.Form.Item,{...r,name:[t,`collection`],label:`or Collection`,style:{marginBottom:0},tooltip:`Only when the target is not a registered module. A single collection name — never a path.`,children:(0,o.jsx)(i.Input,{size:`small`,style:{width:150},className:`fg-mono-input`,placeholder:`(optional)`})}),(0,o.jsx)(i.Form.Item,{...r,name:[t,`collectionField`],label:`Field there`,style:{marginBottom:0},tooltip:`The stored key in THAT collection. Defaults to this field's own key.`,children:(0,o.jsx)(i.Input,{size:`small`,style:{width:150},className:`fg-mono-input`,placeholder:`e.g. email`})}),(0,o.jsx)(i.Form.Item,{...r,name:[t,`excludeFrom`,`path`],label:`Exclude ids from`,style:{marginBottom:0},tooltip:`Path is read on the record being edited (array paths allowed, e.g. recruiters.accountUserId); Match field is the key those ids are stored under in the other collection (blank = _id). Without it, every record that has already provisioned a value there becomes impossible to edit.`,children:(0,o.jsx)(i.Input,{size:`small`,style:{width:190},className:`fg-mono-input`,placeholder:`e.g. recruiters.accountUserId`})}),(0,o.jsx)(i.Form.Item,{...r,name:[t,`excludeFrom`,`matchField`],label:`matched on`,style:{marginBottom:0},tooltip:`Path is read on the record being edited (array paths allowed, e.g. recruiters.accountUserId); Match field is the key those ids are stored under in the other collection (blank = _id). Without it, every record that has already provisioned a value there becomes impossible to edit.`,children:(0,o.jsx)(i.Input,{size:`small`,style:{width:140},className:`fg-mono-input`,placeholder:`_id`})}),(0,o.jsx)(i.Form.Item,{...r,name:[t,`message`],label:`Message`,style:{marginBottom:0},tooltip:`Optional override. Blank uses the rule's own message — the user is never told which collection matched.`,children:(0,o.jsx)(i.Input,{size:`small`,style:{width:200},placeholder:`(uses rule message)`})}),(0,o.jsx)(a.MinusCircleOutlined,{className:`fg-remove-icon`,style:{marginBottom:6},onClick:()=>n(t)})]},e)),(()=>{let e=(x?.alsoCheck??[]).flatMap((e,t)=>Yv(e).map(e=>`#${t+1}: ${e}`));return e.length?(0,o.jsx)(i.Alert,{type:`error`,showIcon:!0,style:{marginTop:6},message:e[0]}):null})(),(0,o.jsx)(i.Button,{size:`small`,type:`dashed`,icon:(0,o.jsx)(a.PlusOutlined,{}),style:{marginTop:6},onClick:()=>t(Kv()),children:`Add collection`}),(0,o.jsx)(`p`,{className:`fg-source-hint`,style:{marginTop:4},children:`Path is read on the record being edited (array paths allowed, e.g. recruiters.accountUserId); Match field is the key those ids are stored under in the other collection (blank = _id). Without it, every record that has already provisioned a value there becomes impossible to edit.`})]})})]}):(0,o.jsx)(i.Alert,{type:`warning`,showIcon:!0,style:{marginTop:4},message:`Uniqueness is not available for this field type`,description:_.reason})]})]})}},e)),(0,o.jsx)(i.Button,{size:`small`,type:`dashed`,icon:(0,o.jsx)(a.PlusOutlined,{}),onClick:()=>n({type:``,value:``,field:``,message:``}),className:`fg-add-val-btn`,children:`Add Validation`})]})})]}),(0,o.jsxs)(`div`,{className:`fg-validations-section`,children:[(0,o.jsxs)(`div`,{className:`fg-validations-header`,children:[(0,o.jsx)(a.ThunderboltOutlined,{className:`fg-val-icon`}),(0,o.jsx)(`span`,{className:`fg-val-title`,children:`AI Actions`})]}),(0,o.jsx)(i.Form.List,{name:[r,`aiActions`],children:(e,{add:t,remove:n})=>(0,o.jsxs)(o.Fragment,{children:[e.map(({key:e,name:t})=>(0,o.jsxs)(`div`,{className:`fg-ai-action-card`,children:[(0,o.jsxs)(`div`,{className:`fg-val-row`,children:[(0,o.jsx)(i.Form.Item,{name:[t,`key`],style:{marginBottom:0},rules:[{required:!0,message:`Key`}],children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`key (e.g. generateJD)`,style:{width:150}})}),(0,o.jsx)(i.Form.Item,{name:[t,`label`],style:{marginBottom:0},rules:[{required:!0,message:`Label`}],children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`Button label`,style:{width:170}})}),(0,o.jsx)(i.Form.Item,{name:[t,`trigger`],style:{marginBottom:0},initialValue:`click`,children:(0,o.jsx)(i.Select,{size:`small`,style:{width:100},options:[{label:`Click`,value:`click`},{label:`Upload`,value:`upload`}]})}),(0,o.jsx)(i.Form.Item,{name:[t,`bodyType`],style:{marginBottom:0},initialValue:`json`,children:(0,o.jsx)(i.Select,{size:`small`,style:{width:110},options:[{label:`JSON`,value:`json`},{label:`Multipart`,value:`multipart`}]})}),(0,o.jsx)(i.Form.Item,{name:[t,`position`],style:{marginBottom:0},children:(0,o.jsx)(i.Select,{size:`small`,style:{width:150},placeholder:`Button position`,allowClear:!0,options:[{label:`Top Left`,value:`top-left`},{label:`Top Center`,value:`top-center`},{label:`Top Right`,value:`top-right`},{label:`Bottom Left`,value:`bottom-left`},{label:`Bottom Center`,value:`bottom-center`},{label:`Bottom Right`,value:`bottom-right`}]})}),(0,o.jsx)(a.MinusCircleOutlined,{className:`fg-remove-icon`,style:{marginTop:4},onClick:()=>n(t)})]}),(0,o.jsxs)(`div`,{className:`fg-val-row`,children:[(0,o.jsx)(i.Form.Item,{name:[t,`serviceKey`],style:{marginBottom:0},rules:[{required:!0,message:`Service key`}],children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`Service key (e.g. pyOps)`,style:{width:170}})}),(0,o.jsx)(i.Form.Item,{name:[t,`endpointPath`],style:{marginBottom:0,flex:1},rules:[{required:!0,message:`Endpoint path`}],children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`/v1/promtJD`,className:`fg-mono-input`})})]}),(0,o.jsxs)(`div`,{className:`fg-ai-subsection`,children:[(0,o.jsx)(`span`,{className:`fg-options-label`,children:`Inputs (form field → request param) — mark an input "Required", or give it a Min Words count, to make the button stay disabled until that field has a value (or enough words). Inputs sharing the same "group" gate as one unit: either one satisfies it (e.g. a JD file OR JD text).`}),(0,o.jsx)(i.Form.List,{name:[t,`inputs`],children:(e,{add:t,remove:n})=>(0,o.jsxs)(o.Fragment,{children:[e.map(({key:e,name:t})=>(0,o.jsxs)(`div`,{className:`fg-val-row`,children:[(0,o.jsx)(i.Form.Item,{name:[t,`param`],style:{marginBottom:0},children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`param`,style:{width:100}})}),(0,o.jsx)(i.Form.Item,{name:[t,`sourceField`],style:{marginBottom:0},children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`source field`,className:`fg-mono-input`,style:{width:150}})}),(0,o.jsx)(i.Form.Item,{name:[t,`kind`],style:{marginBottom:0},initialValue:`text`,children:(0,o.jsx)(i.Select,{size:`small`,style:{width:90},options:[{label:`Text`,value:`text`},{label:`File`,value:`file`}]})}),(0,o.jsx)(i.Form.Item,{name:[t,`transform`],style:{marginBottom:0},children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`transform`,style:{width:120}})}),(0,o.jsx)(i.Form.Item,{name:[t,`group`],style:{marginBottom:0},children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`group (either/or)`,style:{width:130}})}),(0,o.jsx)(i.Form.Item,{name:[t,`minWords`],style:{marginBottom:0},children:(0,o.jsx)(i.InputNumber,{size:`small`,min:0,placeholder:`min words`,style:{width:100}})}),(0,o.jsx)(i.Form.Item,{name:[t,`required`],valuePropName:`checked`,style:{marginBottom:0},children:(0,o.jsx)(i.Checkbox,{children:`Required`})}),(0,o.jsx)(a.MinusCircleOutlined,{className:`fg-remove-icon`,onClick:()=>n(t)})]},e)),(0,o.jsx)(i.Button,{size:`small`,type:`dashed`,icon:(0,o.jsx)(a.PlusOutlined,{}),onClick:()=>t({kind:`text`}),children:`Add Input`})]})})]}),(0,o.jsxs)(`div`,{className:`fg-ai-subsection`,children:[(0,o.jsx)(`span`,{className:`fg-options-label`,children:`Response Data Path (optional — where the record lives in the service's response envelope, e.g. "data"; the response is then resolved onto this module's fields the exact same way Edit prefill resolves getFormGroups — by field name, ValuePaths, and each addRow group's payloadKey)`}),(0,o.jsx)(i.Form.Item,{name:[t,`responseDataPath`],style:{marginBottom:0},children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`e.g. data`,className:`fg-mono-input`,style:{width:200}})})]})]},e)),(0,o.jsx)(i.Button,{size:`small`,type:`dashed`,icon:(0,o.jsx)(a.PlusOutlined,{}),onClick:()=>t({trigger:`click`,bodyType:`json`,inputs:[]}),className:`fg-add-val-btn`,children:`Add AI Action`})]})})]})]}),(0,o.jsx)(i.Tooltip,{title:`Remove field`,children:(0,o.jsx)(`button`,{type:`button`,className:`fg-field-remove-btn`,onClick:()=>s(r),"aria-label":`Remove field`,children:(0,o.jsx)(a.MinusCircleOutlined,{})})})]})]})},n)}),(0,o.jsx)(i.Button,{type:`dashed`,icon:(0,o.jsx)(a.PlusOutlined,{}),onClick:()=>{r({type:`text`,show:!0,req:!1,edit:!0,dataSource:`static`,masterName:``,options:[]}),g?.(n.length,!0)},block:!0,className:`fg-add-field-btn`,children:`Add Field`})]})}function Ly({open:t,editingGroup:n,defaultModule:s,moduleOptions:c,allGroupsByModule:l,onClose:u,onSaved:d,onSaveGroup:f}){let[p]=i.Form.useForm(),[m,h]=(0,r.useState)(!1),[g,_]=(0,r.useState)(s),[v,y]=(0,r.useState)({}),[b,x]=(0,r.useState)(!1),[S,C]=(0,r.useState)(()=>new Set),[w,T]=(0,r.useState)(null),[E,D]=(0,r.useState)(()=>new Set),[O,k]=(0,r.useState)(`settings`),[A,j]=(0,r.useState)(!1),M=(0,r.useRef)({}),N=(0,r.useRef)(null),P=Fy();(0,r.useEffect)(()=>{if(!t||!g)return;let n=!1;return e.Rn(g).then(e=>{n||C(new Set(Array.isArray(e)?e:[]))}).catch(()=>{n||C(new Set)}),()=>{n=!0}},[t,g]);async function F(t){if(!(!t||M.current[t])){M.current[t]=`loading`,x(!0);try{let n=await e.Bn(t);y(e=>({...e,[t]:n})),M.current[t]=`loaded`}catch{delete M.current[t]}finally{x(!1)}}}(0,r.useEffect)(()=>{if(!t)return;let e=n?.module??s;_(e),n?p.setFieldsValue({module:n.module,name:n.name,label:n.label,addRow:n.addRow??!1,hideGroup:n.hideGroup??!1,hideGroupInForm:n.hideGroupInForm??!1,moduleName:n.moduleName??``,linkMode:n.parentRefField?`forward`:`reverse`,linkField:n.linkField??``,linkTypeField:n.linkTypeField??``,parentRefField:n.parentRefField??``,writeRefs:n.writeRefs??[],dependsOn:n.dependsOn??[],optionalWrite:n.optionalWrite??!1,hierarchyLevel:n.hierarchyLevel??void 0,hierarchyParent:n.hierarchyParent??void 0,hierarchyLinkField:n.hierarchyLinkField??``,appendHistory:n.appendHistory??!1,historyField:[n.historyField,...n.historyFields??[]].filter(Boolean).filter((e,t,n)=>n.indexOf(e)===t).join(`, `),historyTimestampField:n.historyTimestampField??``,historyLabels:Object.entries(n.historyLabels??{}).map(([e,t])=>`${e}=${t}`).join(`, `),historyLabelFrom:Object.entries(n.historyLabelFrom??{}).map(([e,t])=>`${e}=${t}`).join(`, `),historyAfterGroup:n.historyAfterGroup??``,historyAmountFields:Object.entries(n.historyAmountFields??{}).map(([e,t])=>`${e}=${t}`).join(`, `),historyCurrencyFields:Object.entries(n.historyCurrencyFields??{}).map(([e,t])=>`${e}=${t}`).join(`, `),historyUnitFields:Object.entries(n.historyUnitFields??{}).map(([e,t])=>`${e}=${t}`).join(`, `),minRows:n.minRows??``,maxRows:n.maxRows??``,initialRows:n.initialRows??``,requireOne:n.requireOne??!1,requireValidatedField:n.requireValidatedField??``,linkGroup:n.linkGroup??``,mergeInto:n.mergeInto??``,showIfField:n.showIf?.field??``,showIfOperator:n.showIf?.operator??`notEmpty`,showIfValue:n.showIf?.value??``,disabledIfField:n.disabledIf?.field??``,disabledIfOperator:n.disabledIf?.operator??`notEmpty`,disabledIfValue:n.disabledIf?.value??``,submitDisabledMessage:n.submitDisabledMessage??``,infoEnabled:n.infoEnabled??!1,infoText:n.infoText??``,toggleEnabled:n.toggleEnabled??!1,toggleLabel:n.toggleLabel??``,toggleField:n.toggleField??``,afterSubmitMode:n.afterSubmit?.mode??void 0,afterSubmitTarget:n.afterSubmit?.target??``,formActions:(n.formActions??[]).map(e=>({label:e.label??``,tone:e.tone===`primary`?`primary`:`default`,afterSubmitMode:e.afterSubmit?.mode??`stay`,afterSubmitTarget:e.afterSubmit?.target??``,enabledWhenField:e.enabledWhen?.field??``,enabledWhenOperator:e.enabledWhen?.operator??`notEmpty`,enabledWhenValue:e.enabledWhen?.value??``})),submitMsgAddSuccess:n.submitMessages?.addSuccess??``,submitMsgEditSuccess:n.submitMessages?.editSuccess??``,submitMsgAddError:n.submitMessages?.addError??``,submitMsgEditError:n.submitMessages?.editError??``,submitMsgSuppress:n.submitMessages?.suppress??!1,order:n.order??0,fields:[...n.fields??[]].sort((e,t)=>Number(e.order??0)-Number(t.order??0)).map(Ny)}):(p.resetFields(),p.setFieldsValue({module:e,addRow:!1,hideGroup:!1,hideGroupInForm:!1,moduleName:``,linkMode:`reverse`,linkField:``,linkTypeField:``,parentRefField:``,hierarchyLevel:void 0,hierarchyParent:void 0,hierarchyLinkField:``,appendHistory:!1,historyField:``,historyTimestampField:``,historyLabels:``,historyLabelFrom:``,historyAfterGroup:``,historyAmountFields:``,historyCurrencyFields:``,historyUnitFields:``,minRows:``,requireOne:!1,mergeInto:``,showIfField:``,showIfOperator:`notEmpty`,showIfValue:``,disabledIfField:``,disabledIfOperator:`notEmpty`,disabledIfValue:``,submitDisabledMessage:``,formActions:[],infoEnabled:!1,toggleEnabled:!1,afterSubmitMode:void 0,afterSubmitTarget:``,order:0,fields:[]})),F(e)},[t,n,s,p]);function I(e){_(e),F(e)}function L(){D(new Set),k(`settings`),j(!1),u()}function R(e){k(e),e===`fields`&&j(!0)}function z(e,t=!1){D(n=>{let r=new Set(n);return t?r.add(e):r.has(e)?r.delete(e):r.add(e),r})}function B(e){let t=l[e]??[],r=new Set;return t.forEach(e=>{n&&e.id===n.id||(e.fields??[]).forEach(e=>{e.field&&r.add(e.field)})}),r}function ee(e,t){let n=(v[g]??[]).find(t=>t.value===e);if(!n)return;let r=p.getFieldValue([`fields`,t])??{};p.setFieldValue([`fields`,t],{...r,field:n.value,label:n.label,type:n.type??`text`})}function te(e){let t=B(e);return(v[e]??[]).map(e=>({value:e.value,disabled:t.has(e.value),label:(0,o.jsxs)(`span`,{style:{opacity:t.has(e.value)?.4:1},children:[e.label,(0,o.jsx)(`span`,{className:`fg-field-key-hint`,children:e.value}),t.has(e.value)&&(0,o.jsx)(`span`,{className:`fg-field-taken-hint`,children:`(in another group)`})]}),searchLabel:`${e.label} ${e.value}`.toLowerCase()}))}async function V(){try{let t=await p.validateFields(),r={...p.getFieldsValue(!0),...t,fields:p.getFieldValue(`fields`)??[]},a=Oy(r.fields);if(a.length){i.message.error(`Uniqueness rule cannot be saved — ${a[0]}`);return}if(r.moduleName){let e=r.name||r.label||`this group`,t=String(r.hierarchyParent??``).trim(),a=String(r.hierarchyLinkField??``).trim();if(t||a){if(r.linkMode===`forward`){i.message.error(`Group "${e}": Hierarchy cannot be combined with a forward link (parentRefField) — choose one linkage mode.`);return}if(!t||!a){i.message.error(`Group "${e}": set both "Parent collection" and "Store parent id in field" to use Hierarchy.`);return}if(t===r.moduleName){i.message.error(`Group "${e}": Hierarchy parent cannot be this group's own Target Collection.`);return}let o=(l[r.module]??[]).filter(e=>!n||e.id!==n.id),s=new Map;o.forEach(e=>{e.moduleName&&s.set(e.moduleName,e.hierarchyParent??null)}),s.set(r.moduleName,t);let c=t,u=new Set([r.moduleName]),d=!1;for(;c&&c!==r.module;){if(u.has(c)){d=!0;break}u.add(c),c=s.get(c)??null}if(d){i.message.error(`Group "${e}": this Hierarchy parent chain loops back on itself — pick a different Parent collection.`);return}}}h(!0);let o={module:r.module,name:r.name,label:r.label,addRow:r.addRow??!1,order:Number(r.order??0),fields:ky(r.fields??[])};if(r.hideGroup&&(o.hideGroup=!0),r.hideGroupInForm&&(o.hideGroupInForm=!0),r.moduleName){if(o.moduleName=r.moduleName,r.linkMode===`forward`){let e=String(r.parentRefField??``).trim();e&&(o.parentRefField=e)}else{let e=String(r.linkField??``).trim(),t=String(r.linkTypeField??``).trim();e&&(o.linkField=e),t&&(o.linkTypeField=t)}let e=(r.writeRefs??[]).filter(e=>e?.fromModule&&e?.targetField);e.length&&(o.writeRefs=e.map(e=>({fromModule:e.fromModule.trim(),targetField:e.targetField.trim()})));let t=(r.dependsOn??[]).map(e=>String(e).trim()).filter(Boolean);t.length&&(o.dependsOn=t),r.optionalWrite&&(o.optionalWrite=!0);let n=String(r.hierarchyParent??``).trim(),i=String(r.hierarchyLinkField??``).trim();n&&i&&(o.hierarchyParent=n,o.hierarchyLinkField=i);let a=Number(r.hierarchyLevel);Number.isFinite(a)&&a>0&&(o.hierarchyLevel=a)}let s=String(r.historyField??``).split(`,`).map(e=>e.trim()).filter(Boolean).filter((e,t,n)=>n.indexOf(e)===t);if(r.appendHistory&&s.length){o.appendHistory=!0,o.historyField=s[0],s.length>1&&(o.historyFields=s.slice(1)),String(r.historyTimestampField??``).trim()&&(o.historyTimestampField=r.historyTimestampField.trim());let e=e=>{let t={};return String(e??``).split(`,`).forEach(e=>{let n=e.indexOf(`=`);if(n<1)return;let r=e.slice(0,n).trim(),i=e.slice(n+1).trim();r&&i&&s.includes(r)&&(t[r]=i)}),t},t=e(r.historyLabels);Object.keys(t).length&&(o.historyLabels=t);let n=e(r.historyLabelFrom);Object.keys(n).length&&(o.historyLabelFrom=n);let i=e(r.historyAmountFields);Object.keys(i).length&&(o.historyAmountFields=i);let a=e(r.historyCurrencyFields);Object.keys(a).length&&(o.historyCurrencyFields=a);let c=e(r.historyUnitFields);Object.keys(c).length&&(o.historyUnitFields=c),String(r.historyAfterGroup??``).trim()&&(o.historyAfterGroup=r.historyAfterGroup.trim())}if(r.addRow&&r.minRows!==void 0&&r.minRows!==``&&(o.minRows=Number(r.minRows)),r.addRow&&r.initialRows!==void 0&&r.initialRows!==``&&(o.initialRows=Number(r.initialRows)),r.addRow&&r.maxRows!==void 0&&r.maxRows!==``&&(o.maxRows=Number(r.maxRows)),r.addRow&&String(r.requireValidatedField??``).trim()&&(o.requireValidatedField=r.requireValidatedField.trim()),r.addRow&&r.requireOne&&(o.requireOne=!0),r.addRow&&r.linkGroup&&(o.linkGroup=r.linkGroup.trim()),String(r.mergeInto??``).trim()&&(o.mergeInto=r.mergeInto.trim()),String(r.showIfField??``).trim()){let e=r.showIfOperator||`notEmpty`;o.showIf={field:r.showIfField.trim(),operator:e},[`eq`,`neq`,`in`,`notIn`].includes(e)&&String(r.showIfValue??``).trim()&&(o.showIf.value=r.showIfValue.trim())}if(String(r.submitDisabledMessage??``).trim()&&(o.submitDisabledMessage=r.submitDisabledMessage.trim()),String(r.disabledIfField??``).trim()){let e=r.disabledIfOperator||`notEmpty`;o.disabledIf={field:r.disabledIfField.trim(),operator:e},[`eq`,`neq`,`in`,`notIn`].includes(e)&&String(r.disabledIfValue??``).trim()&&(o.disabledIf.value=r.disabledIfValue.trim())}r.infoEnabled&&r.infoText&&(o.infoEnabled=!0,o.infoText=r.infoText),r.toggleEnabled&&r.toggleField&&(o.toggleEnabled=!0,o.toggleLabel=r.toggleLabel||`Toggle`,o.toggleField=r.toggleField),r.afterSubmitMode&&(o.afterSubmit={mode:r.afterSubmitMode},(r.afterSubmitMode===`route`||r.afterSubmitMode===`detail`)&&(o.afterSubmit.target=(r.afterSubmitTarget||``).trim()));let c=(r.formActions??[]).filter(e=>String(e?.label??``).trim());c.length&&(o.formActions=c.map(e=>{let t={label:e.label.trim(),tone:e.tone===`primary`?`primary`:`default`},n=e.afterSubmitMode||`stay`;if(t.afterSubmit={mode:n},(n===`route`||n===`detail`)&&(t.afterSubmit.target=String(e.afterSubmitTarget??``).trim()),String(e.enabledWhenField??``).trim()){let n=e.enabledWhenOperator||`notEmpty`;t.enabledWhen={field:e.enabledWhenField.trim(),operator:n},[`eq`,`neq`,`in`,`notIn`].includes(n)&&String(e.enabledWhenValue??``).trim()&&(t.enabledWhen.value=e.enabledWhenValue.trim())}return t}));let u={};if((r.submitMsgAddSuccess||``).trim()&&(u.addSuccess=r.submitMsgAddSuccess.trim()),(r.submitMsgEditSuccess||``).trim()&&(u.editSuccess=r.submitMsgEditSuccess.trim()),(r.submitMsgAddError||``).trim()&&(u.addError=r.submitMsgAddError.trim()),(r.submitMsgEditError||``).trim()&&(u.editError=r.submitMsgEditError.trim()),r.submitMsgSuppress&&(u.suppress=!0),Object.keys(u).length&&(o.submitMessages=u),n)for(let[e,t]of Object.entries(n))t==null||t===``||e in o||My.has(e)||(o[e]=t);f?(await f(o,n),i.message.success(n?`Group updated`:`Group created`)):n?(await e.cr(n.id,o),i.message.success(`Group updated`)):(await e.Jt(o),i.message.success(`Group created`)),D(new Set),k(`settings`),j(!1),d()}catch(e){if(e?.errorFields)return;i.message.error(e.message||`Could not save group`)}finally{h(!1)}}let ne=(0,r.useMemo)(()=>te(g||s),[l,s,n,g,v]);return(0,o.jsx)(i.Modal,{open:t,onCancel:L,width:1080,centered:!0,destroyOnClose:!0,maskClosable:!1,className:`fg-editor-modal fg-group-editor-modal`,title:(0,o.jsxs)(`span`,{className:`fg-drawer-title`,children:[n?(0,o.jsx)(a.EditOutlined,{}):(0,o.jsx)(a.PlusOutlined,{}),n?` Edit Form Group`:` New Form Group`]}),footer:(0,o.jsxs)(`div`,{className:`fg-drawer-footer`,children:[(0,o.jsx)(i.Button,{onClick:L,children:`Cancel`}),(0,o.jsx)(i.Button,{type:`primary`,loading:m,onClick:V,icon:n?(0,o.jsx)(a.EditOutlined,{}):(0,o.jsx)(a.PlusOutlined,{}),children:n?`Update Group`:`Create Group`})]}),children:(0,o.jsxs)(i.Form,{form:p,layout:`vertical`,className:`fg-form fg-editor-form fg-group-editor-form`,children:[(0,o.jsxs)(`div`,{className:`fg-group-editor-tabs`,role:`tablist`,"aria-label":`Form group editor sections`,children:[(0,o.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":O===`settings`,className:O===`settings`?`is-active`:``,onClick:()=>R(`settings`),children:[(0,o.jsx)(`span`,{className:`fg-editor-tab-number`,children:`1`}),(0,o.jsxs)(`span`,{children:[(0,o.jsx)(`strong`,{children:`Group settings`}),(0,o.jsx)(`small`,{children:`Name, behaviour and display options`})]})]}),(0,o.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":O===`fields`,className:O===`fields`?`is-active`:``,onClick:()=>R(`fields`),children:[(0,o.jsx)(`span`,{className:`fg-editor-tab-number`,children:`2`}),(0,o.jsxs)(`span`,{children:[(0,o.jsx)(`strong`,{children:`Fields`}),(0,o.jsxs)(`small`,{children:[n?.fields?.length??0,` configured fields`]})]})]})]}),(0,o.jsxs)(`div`,{className:`fg-group-editor-panel${O===`settings`?` is-active`:``}`,children:[(0,o.jsxs)(`div`,{className:`fg-form-section fg-group-settings-card`,children:[(0,o.jsx)(`div`,{className:`fg-form-section-label`,children:`Group Info`}),(0,o.jsx)(i.Form.Item,{name:`module`,label:`Module`,rules:[{required:!0,message:`Select a module`}],children:(0,o.jsx)(i.Select,{options:c,placeholder:`Select module`,onChange:I})}),(0,o.jsx)(i.Form.Item,{name:`label`,label:`Group Label`,rules:[{required:!0,message:`Label is required`}],children:(0,o.jsx)(i.Input,{placeholder:`e.g. Work Experience`})}),(0,o.jsx)(i.Form.Item,{name:`name`,label:`Group Name (key)`,rules:[{required:!0,message:`Name is required`},{pattern:/^[a-z0-9_]+$/,message:`Lowercase letters, numbers, underscores only`}],children:(0,o.jsx)(i.Input,{placeholder:`e.g. work_experience`,className:`fg-mono-input`})}),(0,o.jsx)(i.Form.Item,{name:`moduleName`,label:`Target Collection (optional)`,tooltip:`Route THIS group's fields to a different collection instead of the default module record. Groups sharing the same target merge into one linked record. Leave blank for default behaviour.`,children:(0,o.jsx)(i.AutoComplete,{options:c.map(e=>({value:e.value,label:e.label})),placeholder:`Default (this module's own record)`,allowClear:!0,filterOption:(e,t)=>(t?.value??``).toLowerCase().includes(e.toLowerCase()),className:`fg-mono-input`})}),(0,o.jsx)(i.Form.Item,{shouldUpdate:!0,style:{marginBottom:0},className:`fg-group-conditional`,children:({getFieldValue:e})=>e(`moduleName`)?(0,o.jsxs)(`div`,{className:`fg-options-block`,style:{marginBottom:12},children:[(0,o.jsxs)(`span`,{className:`fg-options-label`,children:[`Linkage`,(0,o.jsx)(`span`,{className:`fg-field-key-hint`,style:{marginLeft:6},children:`how this collection links to the main record (ids stored as ObjectId)`})]}),(0,o.jsx)(i.Form.Item,{name:`linkMode`,style:{marginBottom:8},children:(0,o.jsxs)(i.Radio.Group,{optionType:`button`,buttonStyle:`solid`,size:`small`,children:[(0,o.jsx)(i.Radio.Button,{value:`reverse`,children:`Target stores this record’s id (child→parent)`}),(0,o.jsx)(i.Radio.Button,{value:`forward`,children:`This record stores the target’s id (lookup)`})]})}),(0,o.jsx)(i.Form.Item,{shouldUpdate:!0,style:{marginBottom:0},children:({getFieldValue:e})=>e(`linkMode`)===`forward`?(0,o.jsx)(i.Form.Item,{name:`parentRefField`,label:`Reference field on THIS record`,tooltip:`A field on the main record that holds the target document's _id (as ObjectId), e.g. employerRef. On edit it selects which target document to load and update.`,style:{marginBottom:0},children:(0,o.jsx)(i.Input,{placeholder:`e.g. employerRef`,className:`fg-mono-input`,style:{width:260}})}):(0,o.jsxs)(`div`,{className:`fg-inline-row`,style:{alignItems:`flex-end`},children:[(0,o.jsx)(i.Form.Item,{name:`linkField`,label:`Link field on target (optional)`,tooltip:`Field on the TARGET document that stores this record's _id (as ObjectId), e.g. jobRef. Leave blank to use the default parentId / parentModule linkage.`,style:{marginBottom:0},children:(0,o.jsx)(i.Input,{placeholder:`e.g. jobRef`,className:`fg-mono-input`,style:{width:220}})}),(0,o.jsx)(i.Form.Item,{name:`linkTypeField`,label:`Parent-type field (optional)`,tooltip:`Field on the target document recording WHICH module the parent is (e.g. parentType), so one collection can serve several parent modules.`,style:{marginBottom:0},children:(0,o.jsx)(i.Input,{placeholder:`e.g. parentType`,className:`fg-mono-input`,style:{width:220}})})]})})]}):null}),(0,o.jsx)(i.Form.Item,{shouldUpdate:!0,style:{marginBottom:0},className:`fg-group-conditional`,children:({getFieldValue:e})=>e(`moduleName`)?(0,o.jsxs)(`div`,{className:`fg-options-block`,style:{marginBottom:12},children:[(0,o.jsxs)(`span`,{className:`fg-options-label`,children:[`Hierarchy`,(0,o.jsx)(`span`,{className:`fg-field-key-hint`,style:{marginLeft:6},children:`chain this collection under another collection of the same form`})]}),(0,o.jsxs)(`div`,{className:`fg-inline-row`,style:{alignItems:`flex-end`},children:[(0,o.jsx)(i.Form.Item,{name:`hierarchyLevel`,label:`Level`,tooltip:`Explicit ordering when several collections chain together — level 1 is written first.`,style:{marginBottom:0},children:(0,o.jsx)(i.InputNumber,{min:1,max:99,style:{width:120}})}),(0,o.jsx)(i.Form.Item,{name:`hierarchyParent`,label:`Parent collection`,tooltip:`What this collection is chained under: the main record, or another group's Target Collection.`,style:{marginBottom:0,minWidth:260},children:(0,o.jsx)(i.Select,{allowClear:!0,showSearch:!0,placeholder:`No hierarchy (default)`,optionFilterProp:`label`,options:(()=>{let t=e(`module`)||g||s,n=e(`moduleName`),r=l[t]??[],i=new Set,a=[];return t&&(a.push({value:t,label:`Main record (${t})`}),i.add(t)),r.forEach(e=>{let t=e.moduleName;!t||t===n||i.has(t)||(i.add(t),a.push({value:t,label:t}))}),a})()})}),(0,o.jsx)(i.Form.Item,{name:`hierarchyLinkField`,label:`Store parent id in field`,tooltip:`Field on THIS collection holding the parent's _id (stored as ObjectId).`,style:{marginBottom:0},children:(0,o.jsx)(i.Input,{placeholder:`e.g. trainerId`,className:`fg-mono-input`,style:{width:200}})})]}),(0,o.jsx)(i.Form.Item,{shouldUpdate:!0,noStyle:!0,children:({getFieldValue:e})=>{let t=e(`module`)||g||s,n=e(`moduleName`),r=l[t]??[],i=Py(t,n,e(`hierarchyParent`),e(`hierarchyLinkField`),r);return i?(0,o.jsx)(oy,{type:`secondary`,style:{fontSize:12,display:`block`,marginTop:6},children:i}):null}})]}):null}),(0,o.jsx)(i.Form.Item,{shouldUpdate:!0,style:{marginBottom:0},className:`fg-group-conditional`,children:({getFieldValue:e})=>e(`moduleName`)?(0,o.jsxs)(`div`,{className:`fg-options-block`,style:{marginBottom:12},children:[(0,o.jsxs)(`span`,{className:`fg-options-label`,children:[`Linked-write dependencies`,(0,o.jsx)(`span`,{className:`fg-field-key-hint`,style:{marginLeft:6},children:`inject ids created by other writes of this same form submit`})]}),(0,o.jsx)(i.Form.List,{name:`writeRefs`,children:(e,{add:t,remove:n})=>(0,o.jsxs)(`div`,{children:[e.map(({key:e,name:t,...r})=>(0,o.jsxs)(`div`,{className:`fg-inline-row`,style:{alignItems:`flex-end`,marginBottom:6},children:[(0,o.jsx)(i.Form.Item,{...r,name:[t,`fromModule`],label:`Id from (module)`,rules:[{required:!0,message:`Module`}],style:{marginBottom:0},children:(0,o.jsx)(i.AutoComplete,{options:c.map(e=>({value:e.value})),placeholder:`e.g. users (or this module)`,style:{width:220},className:`fg-mono-input`,filterOption:(e,t)=>(t?.value??``).toLowerCase().includes(e.toLowerCase())})}),(0,o.jsx)(i.Form.Item,{...r,name:[t,`targetField`],label:`Store into field`,rules:[{required:!0,message:`Field`}],style:{marginBottom:0},children:(0,o.jsx)(i.Input,{placeholder:`e.g. userId or links.userId`,style:{width:220},className:`fg-mono-input`})}),(0,o.jsx)(i.Tooltip,{title:`Remove dependency`,children:(0,o.jsx)(`button`,{type:`button`,className:`fg-field-remove-btn`,onClick:()=>n(t),"aria-label":`Remove dependency`,children:(0,o.jsx)(a.MinusCircleOutlined,{})})})]},e)),(0,o.jsx)(i.Button,{type:`dashed`,size:`small`,icon:(0,o.jsx)(a.PlusOutlined,{}),onClick:()=>t({fromModule:``,targetField:``}),children:`Add Dependency`})]})}),(0,o.jsxs)(`div`,{className:`fg-inline-row`,style:{marginTop:10},children:[(0,o.jsx)(i.Form.Item,{name:`dependsOn`,label:`Runs after (ordering only)`,tooltip:`Other Target Collections this write must wait for, without injecting an id.`,style:{marginBottom:0,flex:1},children:(0,o.jsx)(i.Select,{mode:`tags`,placeholder:`e.g. users`,options:c.map(e=>({value:e.value,label:e.value}))})}),(0,o.jsx)(i.Form.Item,{name:`optionalWrite`,label:`Optional write`,valuePropName:`checked`,tooltip:`On: a failure of this write is logged but the submit still succeeds (best-effort). Off (default): a failure rolls back EVERY write of this submit.`,style:{marginBottom:0},children:(0,o.jsx)(i.Switch,{checkedChildren:`Best-effort`,unCheckedChildren:`Required`})})]})]}):null}),(0,o.jsx)(i.Form.Item,{shouldUpdate:!0,style:{marginBottom:12},className:`fg-group-conditional`,children:({getFieldValue:e})=>{let t=e(`appendHistory`);return(0,o.jsxs)(`div`,{className:`fg-options-block`,children:[(0,o.jsxs)(`span`,{className:`fg-options-label`,children:[`Append as history`,(0,o.jsx)(`span`,{className:`fg-field-key-hint`,style:{marginLeft:6},children:`keep every past save instead of overwriting (e.g. rate negotiation history)`})]}),(0,o.jsxs)(`div`,{className:`fg-options-controls`,children:[(0,o.jsx)(i.Form.Item,{name:`appendHistory`,valuePropName:`checked`,style:{marginBottom:0},children:(0,o.jsx)(i.Switch,{checkedChildren:`Append`,unCheckedChildren:`Off`})}),t&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(i.Form.Item,{name:`historyField`,label:`Array field`,rules:[{required:!0,message:`Required`}],tooltip:`The record key(s) holding the append-only array(s) — usually the prefix(es) this group's own fields already write through. Comma-separate to keep an independent history per prefix, e.g. candidateBudget, proposedRate, referralRate.`,style:{marginBottom:0},children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`e.g. proposedRate, candidateBudget`,style:{width:240},className:`fg-mono-input`})}),(0,o.jsx)(i.Form.Item,{name:`historyTimestampField`,label:`Timestamp key`,tooltip:`Key stamped onto each saved entry. Blank defaults to 'timestamp'.`,style:{marginBottom:0},children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`timestamp`,style:{width:140},className:`fg-mono-input`})}),(0,o.jsx)(i.Form.Item,{name:`historyLabels`,label:`Detail headings`,tooltip:`Heading shown for each history block in the detail view, as container=Label pairs, comma-separated. Blank derives it from the first field under that container — which also picks up that field's Conditional Label, so the heading can change per record.`,style:{marginBottom:0},children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`candidateBudget=Candidate Rate, proposedRate=Proposed Rate`,style:{width:320},className:`fg-mono-input`})}),(0,o.jsx)(i.Form.Item,{name:`historyLabelFrom`,label:`Heading from field`,tooltip:`Take each block's heading from a specific field's label, as container=fieldKey pairs. Use this when the heading must follow a Conditional Label on a field other than the first one.`,style:{marginBottom:0},children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`candidateBudget=candidateBudget.candidateBudgetStart`,style:{width:320},className:`fg-mono-input`})}),(0,o.jsx)(i.Form.Item,{name:`historyAmountFields`,label:`Amount key`,tooltip:`Which sub-key of a stored entry holds the amount, as container=subKey pairs, comma-separated. Blank uses the first field this group configures under that container that is not a currency/symbol/unit/type key — correct for almost every group.`,style:{marginBottom:0},children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`candidateBudget=candidateBudgetStart`,style:{width:320},className:`fg-mono-input`})}),(0,o.jsx)(i.Form.Item,{name:`historyCurrencyFields`,label:`Currency key`,tooltip:`Which sub-key holds the currency (code or symbol), as container=subKey pairs. Blank prefers a configured symbol field that actually carries a symbol, otherwise the configured currency field.`,style:{marginBottom:0},children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`candidateBudget=candidateBudgetCurrency`,style:{width:320},className:`fg-mono-input`})}),(0,o.jsx)(i.Form.Item,{name:`historyUnitFields`,label:`Unit key`,tooltip:`Which sub-key holds the rate unit (Hourly / Daily / …), as container=subKey pairs. Blank uses the configured unit field under that container.`,style:{marginBottom:0},children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`candidateBudget=candidateBudgetUnit`,style:{width:320},className:`fg-mono-input`})}),(0,o.jsx)(i.Form.Item,{name:`historyAfterGroup`,label:`Show after group`,tooltip:`Group key the history card is rendered after in the detail view. Blank places it after the employer group, or last when there is none.`,style:{marginBottom:0},children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`employer_details`,style:{width:200},className:`fg-mono-input`})})]})]}),t&&(0,o.jsx)(`p`,{className:`fg-source-hint`,style:{marginTop:6},children:`Every save adds a new entry to the end of the array — the detail view and edit form always show the latest one, exactly like a normal field.`})]})}}),(0,o.jsxs)(`div`,{className:`fg-inline-row`,children:[(0,o.jsx)(i.Form.Item,{name:`order`,label:`Display Order`,children:(0,o.jsx)(i.Input,{type:`number`,min:0,style:{width:100}})}),(0,o.jsx)(i.Form.Item,{name:`addRow`,label:`Allow Add Row`,valuePropName:`checked`,children:(0,o.jsx)(i.Switch,{checkedChildren:`Yes`,unCheckedChildren:`No`})}),(0,o.jsx)(i.Form.Item,{name:`hideGroup`,label:`Hide Group`,valuePropName:`checked`,tooltip:`Hide this group entirely from Add/Edit forms — not rendered, not validated, not submitted.`,children:(0,o.jsx)(i.Switch,{checkedChildren:`Hidden`,unCheckedChildren:`Visible`})}),(0,o.jsx)(i.Form.Item,{name:`hideGroupInForm`,label:`Hide in Form only`,valuePropName:`checked`,tooltip:`Hide this group from the Add/Edit forms but KEEP it on the detail view. For groups whose values are filled by the system and should be read, never typed — e.g. a submission's Job Information. (Hide Group above hides it in both places.)`,children:(0,o.jsx)(i.Switch,{checkedChildren:`Form hidden`,unCheckedChildren:`Shown`})}),(0,o.jsx)(i.Form.Item,{label:`Show group when`,tooltip:`Gate the whole group on another field's live value — the group only appears once the condition matches (e.g. the Employer group opens after Contract Type is chosen). Leave the field blank to always show.`,children:(0,o.jsxs)(i.Space.Compact,{block:!0,children:[(0,o.jsx)(i.Form.Item,{name:`showIfField`,noStyle:!0,children:(0,o.jsx)(i.Input,{placeholder:`Field key e.g. contractType`,style:{width:`45%`}})}),(0,o.jsx)(i.Form.Item,{name:`showIfOperator`,noStyle:!0,children:(0,o.jsx)(i.Select,{style:{width:`30%`},options:[{value:`notEmpty`,label:`is set`},{value:`isEmpty`,label:`is empty`},{value:`eq`,label:`equals`},{value:`neq`,label:`not equals`},{value:`in`,label:`in list`},{value:`notIn`,label:`not in list`}]})}),(0,o.jsx)(i.Form.Item,{noStyle:!0,shouldUpdate:(e,t)=>e.showIfOperator!==t.showIfOperator,children:({getFieldValue:e})=>[`eq`,`neq`,`in`,`notIn`].includes(e(`showIfOperator`))?(0,o.jsx)(i.Form.Item,{name:`showIfValue`,noStyle:!0,children:(0,o.jsx)(i.Input,{placeholder:`Value(s), comma for list`,style:{width:`25%`}})}):null})]})}),(0,o.jsx)(i.Form.Item,{name:`disabled`,label:`Disable Group`,valuePropName:`checked`,tooltip:`Make the whole group card read-only — it still renders and submits, but no field can be edited.`,children:(0,o.jsx)(i.Switch,{checkedChildren:`Read-only`,unCheckedChildren:`Editable`})}),(0,o.jsx)(i.Form.Item,{label:`Disable group when`,tooltip:`Make the whole group read-only while another field's live value satisfies this condition (same shape as 'Show group when'). Leave the field blank for no conditional disable.`,children:(0,o.jsxs)(i.Space.Compact,{block:!0,children:[(0,o.jsx)(i.Form.Item,{name:`disabledIfField`,noStyle:!0,children:(0,o.jsx)(i.Input,{placeholder:`Field key e.g. contractType`,style:{width:`45%`}})}),(0,o.jsx)(i.Form.Item,{name:`disabledIfOperator`,noStyle:!0,children:(0,o.jsx)(i.Select,{style:{width:`30%`},options:[{value:`notEmpty`,label:`is set`},{value:`isEmpty`,label:`is empty`},{value:`eq`,label:`equals`},{value:`neq`,label:`not equals`},{value:`in`,label:`in list`},{value:`notIn`,label:`not in list`}]})}),(0,o.jsx)(i.Form.Item,{noStyle:!0,shouldUpdate:(e,t)=>e.disabledIfOperator!==t.disabledIfOperator,children:({getFieldValue:e})=>[`eq`,`neq`,`in`,`notIn`].includes(e(`disabledIfOperator`))?(0,o.jsx)(i.Form.Item,{name:`disabledIfValue`,noStyle:!0,children:(0,o.jsx)(i.Input,{placeholder:`Value(s), comma for list`,style:{width:`25%`}})}):null})]})}),(0,o.jsx)(i.Form.Item,{name:`submitDisabledMessage`,label:`Disabled submit tooltip`,tooltip:`Shown on hover over the form's Create/Update button WHILE it is disabled, so the user knows why they can't submit. Leave blank for the built-in default.`,children:(0,o.jsx)(i.Input,{placeholder:`e.g. Complete all mandatory fields`,allowClear:!0})}),(0,o.jsx)(i.Form.Item,{name:`minRows`,label:`Min Rows`,tooltip:`Minimum rows users must keep. Delete is disabled at this count.`,children:(0,o.jsx)(i.Input,{type:`number`,min:0,style:{width:90}})}),(0,o.jsx)(i.Form.Item,{name:`maxRows`,label:`Max Rows`,tooltip:`Maximum rows users can add. The Add button hides once this count is reached. Blank/0 = unlimited.`,children:(0,o.jsx)(i.Input,{type:`number`,min:0,style:{width:90}})}),(0,o.jsx)(i.Form.Item,{name:`initialRows`,label:`Initial Rows`,tooltip:`How many empty rows to show on load (0 = show only the + button).`,children:(0,o.jsx)(i.Input,{type:`number`,min:0,style:{width:90}})}),(0,o.jsx)(i.Form.Item,{name:`requireOne`,label:`Row Required`,valuePropName:`checked`,tooltip:`When users add a row, at least one field in that row must be filled.`,children:(0,o.jsx)(i.Switch,{checkedChildren:`Yes`,unCheckedChildren:`No`})}),(0,o.jsx)(i.Form.Item,{name:`requireValidatedField`,label:`Require Validated Field`,tooltip:`A boolean field key on every row (e.g. isValid, set by a field's Verify action). The form's Submit button stays disabled until every row has it set to true. Blank = no gate.`,children:(0,o.jsx)(i.Input,{placeholder:`e.g. isValid`,style:{width:130},className:`fg-mono-input`})}),(0,o.jsx)(i.Form.Item,{name:`linkGroup`,label:`Link Group`,tooltip:`Groups sharing the same value here stay row-synced — adding or removing a row in one adds/removes the matching row in every linked group, while each keeps its own card and its own submitted data. Leave blank for an independent group. Only applies when Allow Add Row is on.`,children:(0,o.jsx)(i.Input,{placeholder:`e.g. workHistory`,style:{width:160},className:`fg-mono-input`})}),(0,o.jsx)(i.Form.Item,{name:`mergeInto`,label:`Merge Into Group`,tooltip:`Render this group's fields INSIDE another group's card (enter that group's name, e.g. submission_current_employer). Display only — this group keeps its own payload, history and visibility rules. Leave blank for its own card.`,children:(0,o.jsx)(i.Input,{placeholder:`e.g. submission_current_employer`,style:{width:220},className:`fg-mono-input`})}),(0,o.jsx)(i.Form.Item,{name:`infoEnabled`,label:`Group Info`,valuePropName:`checked`,initialValue:!1,children:(0,o.jsx)(i.Switch,{checkedChildren:`Info`,unCheckedChildren:`Info`})}),(0,o.jsx)(i.Form.Item,{name:`toggleEnabled`,label:`Group Switch`,valuePropName:`checked`,initialValue:!1,children:(0,o.jsx)(i.Switch,{checkedChildren:`On`,unCheckedChildren:`Off`})})]}),(0,o.jsx)(i.Form.Item,{shouldUpdate:!0,style:{marginBottom:0},className:`fg-group-conditional`,children:({getFieldValue:e})=>e(`infoEnabled`)?(0,o.jsx)(i.Form.Item,{name:`infoText`,label:`Group Info Message`,rules:[{required:!0,message:`Enter group info message`}],children:(0,o.jsx)(i.Input.TextArea,{rows:2,placeholder:`Message shown when users hover the group info icon`})}):null}),(0,o.jsx)(i.Form.Item,{shouldUpdate:!0,style:{marginBottom:0},className:`fg-group-conditional`,children:({getFieldValue:e})=>e(`toggleEnabled`)?(0,o.jsxs)(`div`,{className:`fg-inline-row`,children:[(0,o.jsx)(i.Form.Item,{name:`toggleLabel`,label:`Switch Label`,rules:[{required:!0,message:`Enter switch label`}],style:{flex:1},children:(0,o.jsx)(i.Input,{placeholder:`e.g. Fresher`})}),(0,o.jsx)(i.Form.Item,{name:`toggleField`,label:`Payload Field`,rules:[{required:!0,message:`Enter payload field`},{pattern:/^[A-Za-z_][\w.]*$/,message:`Use a valid key, dot path allowed`}],style:{flex:1},children:(0,o.jsx)(i.Input,{placeholder:`e.g. isFresher`,className:`fg-mono-input`})})]}):null}),(0,o.jsx)(`div`,{className:`fg-inline-row`,children:(0,o.jsx)(i.Form.Item,{name:`afterSubmitMode`,label:`After Submit`,tooltip:`What happens once this module's Add/Edit form submits successfully. Leave blank to keep the current default navigation.`,children:(0,o.jsx)(i.Select,{allowClear:!0,placeholder:`Default (current behavior)`,style:{width:220},options:[{value:`stay`,label:`Stay on Current Page`},{value:`back`,label:`Go Back`},{value:`route`,label:`Navigate to a Route`},{value:`detail`,label:`Navigate to Record Detail`}]})})}),(0,o.jsx)(i.Form.Item,{shouldUpdate:!0,style:{marginBottom:0},className:`fg-group-conditional`,children:({getFieldValue:e})=>{let t=e(`afterSubmitMode`);return t!==`route`&&t!==`detail`?null:(0,o.jsx)(i.Form.Item,{name:`afterSubmitTarget`,label:`Navigation Target`,tooltip:`An in-app path. Use :id for the created/updated record's id, or :fieldName for any submitted field value.`,rules:[{required:!0,message:`Enter a navigation target`},{pattern:/^\//,message:`Must be an in-app path starting with /`}],children:(0,o.jsx)(i.Input,{placeholder:`/trainers/:id`,className:`fg-mono-input`})})}}),(0,o.jsx)(i.Form.Item,{label:`Additional submit buttons`,tooltip:`Extra buttons beside Create — each creates the record then navigates per its own After-Submit, optionally enabled only once a field is filled.`,children:(0,o.jsx)(i.Form.List,{name:`formActions`,children:(e,{add:t,remove:n})=>(0,o.jsxs)(`div`,{className:`fg-form-actions-list`,children:[e.map(({key:e,name:t})=>(0,o.jsxs)(`div`,{className:`fg-form-action-row`,style:{border:`1px solid #eee`,borderRadius:8,padding:10,marginBottom:8},children:[(0,o.jsxs)(i.Space,{wrap:!0,align:`start`,children:[(0,o.jsx)(i.Form.Item,{name:[t,`label`],label:`Button Label`,rules:[{required:!0,message:`Label`}],style:{marginBottom:8},children:(0,o.jsx)(i.Input,{placeholder:`e.g. Create and Source Candidate`,style:{width:240}})}),(0,o.jsx)(i.Form.Item,{name:[t,`tone`],label:`Type`,style:{marginBottom:8},children:(0,o.jsx)(i.Select,{style:{width:130},options:[{value:`primary`,label:`Primary`},{value:`default`,label:`Secondary`}]})}),(0,o.jsx)(i.Form.Item,{name:[t,`afterSubmitMode`],label:`After Submit`,style:{marginBottom:8},children:(0,o.jsx)(i.Select,{style:{width:180},options:[{value:`stay`,label:`Stay on page`},{value:`back`,label:`Go back`},{value:`route`,label:`Navigate to a route`},{value:`detail`,label:`Record detail`}]})}),(0,o.jsx)(i.Form.Item,{noStyle:!0,shouldUpdate:!0,children:({getFieldValue:e})=>[`route`,`detail`].includes(e([`formActions`,t,`afterSubmitMode`]))?(0,o.jsx)(i.Form.Item,{name:[t,`afterSubmitTarget`],label:`Target`,style:{marginBottom:8},rules:[{pattern:/^\//,message:`Must start with /`}],children:(0,o.jsx)(i.Input,{placeholder:`/jobs/:id/source`,className:`fg-mono-input`,style:{width:200}})}):null}),(0,o.jsx)(i.Button,{type:`text`,danger:!0,icon:(0,o.jsx)(a.DeleteOutlined,{}),onClick:()=>n(t),style:{marginTop:28}})]}),(0,o.jsxs)(i.Space,{wrap:!0,align:`start`,children:[(0,o.jsx)(i.Form.Item,{name:[t,`enabledWhenField`],label:`Enable when field`,style:{marginBottom:0},tooltip:`Keep the button disabled until this record field satisfies the condition (e.g. Assign To is set). Blank = always enabled.`,children:(0,o.jsx)(i.Input,{placeholder:`e.g. assignedTo`,style:{width:200}})}),(0,o.jsx)(i.Form.Item,{name:[t,`enabledWhenOperator`],label:`Condition`,style:{marginBottom:0},children:(0,o.jsx)(i.Select,{style:{width:130},options:[{value:`notEmpty`,label:`is set`},{value:`isEmpty`,label:`is empty`},{value:`eq`,label:`equals`},{value:`neq`,label:`not equals`},{value:`in`,label:`in list`},{value:`notIn`,label:`not in list`}]})}),(0,o.jsx)(i.Form.Item,{noStyle:!0,shouldUpdate:!0,children:({getFieldValue:e})=>[`eq`,`neq`,`in`,`notIn`].includes(e([`formActions`,t,`enabledWhenOperator`]))?(0,o.jsx)(i.Form.Item,{name:[t,`enabledWhenValue`],label:`Value`,style:{marginBottom:0},children:(0,o.jsx)(i.Input,{placeholder:`Value(s)`,style:{width:160}})}):null})]})]},e)),(0,o.jsx)(i.Button,{type:`dashed`,icon:(0,o.jsx)(a.PlusOutlined,{}),onClick:()=>t({tone:`primary`,afterSubmitMode:`stay`,enabledWhenOperator:`notEmpty`}),children:`Add submit button`})]})})}),(0,o.jsxs)(`div`,{className:`fg-inline-row`,children:[(0,o.jsx)(i.Form.Item,{name:`submitMsgAddSuccess`,label:`Add Success Message`,tooltip:'Toast shown after a successful Add. ${module} is replaced with the module name. Blank = default "<Module> has added successfully".',children:(0,o.jsx)(i.Input,{placeholder:"${module} has added successfully",style:{width:280}})}),(0,o.jsx)(i.Form.Item,{name:`submitMsgEditSuccess`,label:`Edit Success Message`,tooltip:'Toast shown after a successful Edit. ${module} is replaced with the module name. Blank = default "<Module> has Updated successfully".',children:(0,o.jsx)(i.Input,{placeholder:"${module} has Updated successfully",style:{width:280}})})]}),(0,o.jsxs)(`div`,{className:`fg-inline-row`,children:[(0,o.jsx)(i.Form.Item,{name:`submitMsgAddError`,label:`Add Error Message`,tooltip:`Toast shown when Add fails. Blank = show the server's error.`,children:(0,o.jsx)(i.Input,{placeholder:`Server error (default)`,style:{width:280}})}),(0,o.jsx)(i.Form.Item,{name:`submitMsgEditError`,label:`Edit Error Message`,tooltip:`Toast shown when Edit fails. Blank = show the server's error.`,children:(0,o.jsx)(i.Input,{placeholder:`Server error (default)`,style:{width:280}})}),(0,o.jsx)(i.Form.Item,{name:`submitMsgSuppress`,label:`Hide Success Toast`,valuePropName:`checked`,tooltip:`Prevent the success message for this module's Add/Edit (errors always show).`,children:(0,o.jsx)(i.Switch,{checkedChildren:`Hidden`,unCheckedChildren:`Shown`})})]})]}),(0,o.jsxs)(`div`,{className:`fg-editor-next-row`,children:[(0,o.jsx)(oy,{type:`secondary`,children:`Next, review the fields included in this group.`}),(0,o.jsx)(i.Button,{type:`primary`,onClick:()=>R(`fields`),children:`Continue to Fields`})]})]}),A&&(0,o.jsxs)(`div`,{className:`fg-group-editor-panel${O===`fields`?` is-active`:``}`,children:[(0,o.jsxs)(`div`,{className:`fg-fields-header`,children:[(0,o.jsx)(`span`,{className:`fg-fields-title`,children:`Fields`}),(0,o.jsx)(`span`,{className:`fg-fields-hint`,children:`Open only the field you want to change`}),b&&(0,o.jsx)(i.Spin,{size:`small`}),!b&&ne.length>0&&(0,o.jsxs)(`span`,{className:`fg-fields-hint`,children:[ne.length,` fields available`]})]}),(0,o.jsx)(i.Form.List,{name:`fields`,children:(e,{add:t,remove:n,move:r})=>Iy({form:p,fieldItems:e,add:t,remove:n,move:r,absBase:[],moduleFieldOptions:ne,fieldsLoading:b,dragIndexRef:N,dragOverIndex:w,setDragOverIndex:T,onFieldKeySelect:(e,t)=>ee(e,t),expandedFieldKeys:E,onToggleField:z,defaultFieldSet:S,uniqueTarget:{primaryModule:p.getFieldValue(`module`)||s||``,getTargetModule:()=>p.getFieldValue(`moduleName`)||``,collectionForModule:P}})})]})]})})}function Ry({groups:e,onEdit:t,onDelete:n,onCopy:s,onPaste:c,canPaste:l,onReorder:u}){let d=(0,r.useRef)(null),f=[...e].sort((e,t)=>(e.order??0)-(t.order??0)),p=typeof u==`function`&&f.length>1,m=(e,t)=>{let n=[...f],[r]=n.splice(e,1);n.splice(t,0,r),u(n)},h=(0,r.useMemo)(()=>{function e({"data-row-index":e,...t}){return e===void 0?(0,o.jsx)(`tr`,{...t}):(0,o.jsx)(`tr`,{...t,draggable:!0,onDragStart:()=>{d.current=e},onDragOver:e=>{e.preventDefault()},onDrop:t=>{t.preventDefault();let n=d.current;d.current=null,n!==null&&n!==e&&m(n,e)},style:{...t.style||{},cursor:`grab`}})}return e},[f,u]);return(0,o.jsx)(i.Table,{rowKey:e=>e.id??e.name,dataSource:f,columns:[...p?[{title:``,key:`drag`,width:34,align:`center`,render:()=>(0,o.jsx)(a.HolderOutlined,{className:`fg-drag-handle`,style:{cursor:`grab`,color:`var(--color-text-secondary)`}})}]:[],{title:`Label`,dataIndex:`label`,key:`label`,render:(e,t)=>(0,o.jsxs)(i.Space,{size:6,children:[(0,o.jsx)(oy,{strong:!0,style:{color:`var(--color-text-heading)`},children:e}),t.hideGroup&&(0,o.jsx)(i.Tag,{color:`default`,children:`Hidden`}),!t.hideGroup&&t.hideGroupInForm&&(0,o.jsx)(i.Tag,{color:`default`,children:`Detail only`}),t.moduleName&&(0,o.jsxs)(i.Tag,{color:`purple`,children:[`→ `,t.moduleName]}),t.hierarchyParent&&(0,o.jsxs)(i.Tag,{color:`gold`,children:[`L`,t.hierarchyLevel??`?`,` ← `,t.hierarchyParent]})]})},{title:`Key`,dataIndex:`name`,key:`name`,render:e=>(0,o.jsx)(`code`,{className:`fg-table-code`,children:e})},{title:`Add Row`,dataIndex:`addRow`,key:`addRow`,align:`center`,width:90,render:e=>e?(0,o.jsx)(i.Tag,{color:`blue`,style:{margin:0},children:`Yes`}):(0,o.jsx)(i.Tag,{color:`default`,style:{margin:0},children:`No`})},{title:`Order`,dataIndex:`order`,key:`order`,align:`center`,width:72,render:e=>(0,o.jsx)(`span`,{className:`fg-order-cell`,children:e??0})},{title:`Fields`,dataIndex:`fields`,key:`fields`,align:`center`,width:76,render:e=>(0,o.jsx)(i.Badge,{count:e?.length??0,showZero:!0,color:`var(--color-brand)`})},{title:``,key:`actions`,align:`right`,width:132,render:(e,r)=>(0,o.jsxs)(i.Space,{size:4,children:[(0,o.jsx)(i.Tooltip,{title:`Copy settings`,children:(0,o.jsx)(i.Button,{type:`text`,size:`small`,icon:(0,o.jsx)(a.CopyOutlined,{}),onClick:()=>s(r),className:`fg-action-btn`})}),(0,o.jsx)(i.Tooltip,{title:`Paste copied settings into this group`,children:(0,o.jsx)(i.Button,{type:`text`,size:`small`,icon:(0,o.jsx)(a.SnippetsOutlined,{}),disabled:!l,onClick:()=>c(r),className:`fg-action-btn`})}),(0,o.jsx)(i.Tooltip,{title:`Edit group`,children:(0,o.jsx)(i.Button,{type:`text`,size:`small`,icon:(0,o.jsx)(a.EditOutlined,{}),onClick:()=>t(r),className:`fg-action-btn`})}),(0,o.jsx)(i.Popconfirm,{title:`Delete this group?`,description:`All field mappings inside will be removed.`,onConfirm:()=>n(r.id),okText:`Delete`,okButtonProps:{danger:!0},children:(0,o.jsx)(i.Tooltip,{title:`Delete group`,children:(0,o.jsx)(i.Button,{type:`text`,size:`small`,danger:!0,icon:(0,o.jsx)(a.DeleteOutlined,{}),className:`fg-action-btn`})})})]})}],pagination:!1,className:`fg-table`,components:p?{body:{row:h}}:void 0,onRow:p?(e,t)=>({"data-row-index":t,dragCtx:{from:d,onMove:m}}):void 0,locale:{emptyText:(0,o.jsx)(i.Empty,{description:`No groups configured for this module yet.`,image:i.Empty.PRESENTED_IMAGE_SIMPLE,style:{padding:`24px 0`}})},expandable:{expandedRowRender:e=>(e.fields??[]).length===0?(0,o.jsx)(oy,{type:`secondary`,style:{fontSize:12},children:`No fields in this group.`}):(0,o.jsx)(`div`,{className:`fg-expanded-fields`,children:(e.fields??[]).map(e=>{let t={master:`geekblue`,module:`cyan`,lookup:`volcano`,static:`default`},n={master:`master: ${e.masterName||`?`}`,module:`module`,lookup:`lookup: ${e.lookupCollection||`?`} → ${e.displayField||`?`}`,static:`static (${(e.options??[]).length})`};return(0,o.jsxs)(`div`,{className:`fg-field-row`,children:[(0,o.jsxs)(`div`,{className:`fg-field-row-info`,children:[(0,o.jsx)(`span`,{className:`fg-field-row-label`,children:e.label}),(0,o.jsx)(`span`,{className:`fg-field-row-key`,children:e.field}),(0,o.jsxs)(`span`,{className:`fg-field-row-type`,children:[`(`,e.type,`)`]}),[`select`,`radio`,`checkbox`].includes(e.type)&&e.dataSource&&(0,o.jsx)(i.Tag,{color:t[e.dataSource]??`default`,style:{fontSize:10,marginLeft:6},children:n[e.dataSource]??e.dataSource})]}),(0,o.jsxs)(`div`,{className:`fg-field-row-flags`,children:[e.show===1&&(0,o.jsx)(i.Tag,{color:`blue`,style:{marginRight:4},children:`Show`}),e.showOnAdd===!1&&(0,o.jsx)(i.Tag,{color:`orange`,style:{marginRight:4},children:`Edit only`}),e.req===1&&(0,o.jsx)(i.Tag,{color:`red`,style:{marginRight:4},children:`Required`}),e.edit===1&&(0,o.jsx)(i.Tag,{color:`green`,style:{marginRight:4},children:`Editable`}),e.formatter&&(0,o.jsxs)(i.Tag,{color:`purple`,style:{marginRight:4},children:[`fmt: `,e.formatter]})]}),(e.validations??[]).length>0&&(0,o.jsxs)(`div`,{className:`fg-field-row-validations`,children:[(0,o.jsx)(a.CheckCircleOutlined,{style:{color:`var(--color-brand)`,fontSize:11,marginRight:4}}),(e.validations??[]).map((t,n)=>{let r=t.type===`unique`,a=r?String(t.value?.collectionField??e.payloadKey??e.field??``):t.value,s=a!==void 0&&a!==``?a:t.field??``,c=r?`Stored field`:t.field&&!(t.value!==void 0&&t.value!==``)?`Field`:`Value`;return(0,o.jsx)(i.Tooltip,{title:`${s===``?``:`${c}: ${s} — `}${t.message}`,children:(0,o.jsxs)(i.Tag,{color:_y[t.type]??`default`,style:{cursor:`default`,fontFamily:`monospace`,fontSize:10},children:[t.type,s===``?``:`(${s})`]})},n)})]})]},e.field)})}),rowExpandable:()=>!0}})}function zy({open:t,editingForm:n,moduleOptions:s,onClose:c,onSaved:l}){let[u]=i.Form.useForm(),[d,f]=(0,r.useState)(!1),[p,m]=(0,r.useState)(``),[h,g]=(0,r.useState)({}),[_,v]=(0,r.useState)(!1),[y,b]=(0,r.useState)(null),x=(0,r.useRef)({}),S=(0,r.useRef)(null),C=Fy();async function w(t){if(!(!t||x.current[t])){v(!0);try{let n=await e.Bn(t);g(e=>({...e,[t]:n})),x.current[t]=!0}catch{}finally{v(!1)}}}(0,r.useEffect)(()=>{if(!t){x.current={},g({});return}if(n){let e=n.module;m(e),u.setFieldsValue({module:e,formType:n.formType||`popup`,action:n.action,label:n.label,groups:(n.groups??[]).map(e=>({...e,hideGroup:e.hideGroup??!1,hideGroupInForm:e.hideGroupInForm??!1,moduleName:e.moduleName??``,infoEnabled:e.infoEnabled??!1,infoText:e.infoText??``,minRows:e.minRows??``,initialRows:e.initialRows??``,requireOne:e.requireOne??!1,linkGroup:e.linkGroup??``,toggleEnabled:e.toggleEnabled??!1,toggleLabel:e.toggleLabel??``,toggleField:e.toggleField??``,fields:(e.fields??[]).map(Ny)}))}),w(e)}else u.resetFields(),u.setFieldsValue({groups:[],formType:`popup`}),m(``)},[t,n,u]);function T(e){m(e),w(e)}function E(){return(h[p]??[]).map(e=>({value:e.value,label:(0,o.jsxs)(`span`,{children:[e.label,(0,o.jsx)(`span`,{className:`fg-field-key-hint`,children:e.value})]}),searchLabel:`${e.label} ${e.value}`.toLowerCase()}))}async function D(){try{let t=await u.validateFields(),r=(t.groups??[]).flatMap(e=>Oy(e?.fields));if(r.length){i.message.error(`Uniqueness rule cannot be saved — ${r[0]}`);return}f(!0);let a={module:t.module,formType:t.formType,action:t.action.trim(),label:t.label,groups:(t.groups??[]).map(e=>({label:e.label,name:e.name,addRow:e.addRow??!1,...e.hideGroup?{hideGroup:!0}:{},...e.hideGroupInForm?{hideGroupInForm:!0}:{},...e.moduleName?{moduleName:e.moduleName}:{},...e.moduleName&&(e.writeRefs??[]).length?{writeRefs:e.writeRefs}:{},...e.moduleName&&(e.dependsOn??[]).length?{dependsOn:e.dependsOn}:{},...e.moduleName&&e.optionalWrite?{optionalWrite:!0}:{},...e.moduleName&&e.linkField?{linkField:e.linkField}:{},...e.moduleName&&e.linkTypeField?{linkTypeField:e.linkTypeField}:{},...e.moduleName&&e.parentRefField?{parentRefField:e.parentRefField}:{},...e.moduleName&&e.hierarchyParent&&e.hierarchyLinkField?{hierarchyParent:e.hierarchyParent,hierarchyLinkField:e.hierarchyLinkField}:{},...e.moduleName&&Number.isFinite(Number(e.hierarchyLevel))&&Number(e.hierarchyLevel)>0?{hierarchyLevel:Number(e.hierarchyLevel)}:{},...e.appendHistory&&e.historyField?{appendHistory:!0,historyField:e.historyField,...e.historyTimestampField?{historyTimestampField:e.historyTimestampField}:{}}:{},...e.addRow&&e.minRows!==void 0&&e.minRows!==``?{minRows:Number(e.minRows)}:{},...e.addRow&&e.initialRows!==void 0&&e.initialRows!==``?{initialRows:Number(e.initialRows)}:{},...e.addRow&&e.requireOne?{requireOne:!0}:{},...e.addRow&&e.linkGroup?{linkGroup:e.linkGroup.trim()}:{},order:Number(e.order??0),fields:ky(e.fields??[]),...e.infoEnabled&&e.infoText?{infoEnabled:!0,infoText:e.infoText}:{}}))};n?(await e.lr(n.id,{...n,...a}),i.message.success(`Custom form updated`)):(await e.Yt(a),i.message.success(`Custom form created`)),l()}catch(e){if(e?.errorFields)return;i.message.error(e.message||`Could not save custom form`)}finally{f(!1)}}let O=E();return(0,o.jsx)(i.Modal,{open:t,onCancel:c,width:1120,centered:!0,destroyOnClose:!0,maskClosable:!1,className:`fg-editor-modal`,title:(0,o.jsxs)(`span`,{className:`fg-drawer-title`,children:[n?(0,o.jsx)(a.EditOutlined,{}):(0,o.jsx)(a.PlusOutlined,{}),n?` Edit Custom Form`:` New Custom Form`]}),footer:(0,o.jsxs)(`div`,{className:`fg-drawer-footer`,children:[(0,o.jsx)(i.Button,{onClick:c,children:`Cancel`}),(0,o.jsx)(i.Button,{type:`primary`,loading:d,onClick:D,icon:n?(0,o.jsx)(a.EditOutlined,{}):(0,o.jsx)(a.PlusOutlined,{}),children:n?`Update`:`Create`})]}),children:(0,o.jsxs)(i.Form,{form:u,layout:`vertical`,className:`fg-form fg-editor-form`,children:[(0,o.jsxs)(`div`,{className:`fg-form-section fg-editor-sticky-section`,children:[(0,o.jsx)(`div`,{className:`fg-form-section-label`,children:`Form Identity`}),(0,o.jsx)(i.Form.Item,{name:`module`,label:`Module`,rules:[{required:!0,message:`Select a module`}],children:(0,o.jsx)(i.Select,{options:s,placeholder:`Select module`,onChange:T})}),(0,o.jsx)(i.Form.Item,{name:`formType`,label:`Form Type`,rules:[{required:!0,message:`Form Type is required`}],initialValue:`popup`,children:(0,o.jsx)(i.Select,{placeholder:`Select form type`,options:[{label:`Search`,value:`search`},{label:`Popup`,value:`popup`}]})}),(0,o.jsx)(i.Form.Item,{name:`action`,label:`Action Key`,extra:`Unique identifier used as ?action= in the URL (e.g. quickAdd, popup)`,rules:[{required:!0,message:`Action is required`},{pattern:/^[a-zA-Z0-9_-]+$/,message:`Letters, numbers, hyphens, underscores only`}],children:(0,o.jsx)(i.Input,{placeholder:`e.g. quickAdd`,className:`fg-mono-input`,disabled:!!n})}),(0,o.jsx)(i.Form.Item,{name:`label`,label:`Display Label`,rules:[{required:!0,message:`Label is required`}],children:(0,o.jsx)(i.Input,{placeholder:`e.g. Quick Add Job`})})]}),(0,o.jsxs)(`div`,{className:`fg-fields-header`,children:[(0,o.jsx)(`span`,{className:`fg-fields-title`,children:`Groups`}),(0,o.jsx)(`span`,{className:`fg-fields-hint`,children:`Each group holds a set of form fields`}),_&&(0,o.jsx)(i.Spin,{size:`small`})]}),(0,o.jsx)(i.Form.List,{name:`groups`,children:(e,{add:t,remove:n})=>(0,o.jsxs)(o.Fragment,{children:[e.map(({key:e,name:t})=>(0,o.jsxs)(`div`,{className:`fg-form-section`,style:{marginBottom:16},children:[(0,o.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,marginBottom:10},children:[(0,o.jsxs)(`span`,{className:`fg-form-section-label`,style:{marginBottom:0},children:[`Group `,t+1]}),(0,o.jsx)(i.Tooltip,{title:`Remove group`,children:(0,o.jsx)(`button`,{type:`button`,className:`fg-field-remove-btn`,onClick:()=>n(t),"aria-label":`Remove group`,children:(0,o.jsx)(a.MinusCircleOutlined,{})})})]}),(0,o.jsxs)(`div`,{className:`fg-inline-row`,style:{flexWrap:`wrap`,marginBottom:8},children:[(0,o.jsx)(i.Form.Item,{name:[t,`label`],label:`Group Label`,rules:[{required:!0,message:`Required`}],style:{flex:2,marginBottom:8},children:(0,o.jsx)(i.Input,{placeholder:`e.g. Basic Info`})}),(0,o.jsx)(i.Form.Item,{name:[t,`name`],label:`Group Key`,rules:[{required:!0,message:`Required`},{pattern:/^[a-z0-9_]+$/,message:`Lowercase, numbers, underscores`}],style:{flex:2,marginBottom:8},children:(0,o.jsx)(i.Input,{placeholder:`e.g. basicInfo`,className:`fg-mono-input`})}),(0,o.jsx)(i.Form.Item,{name:[t,`addRow`],label:`Add Row`,valuePropName:`checked`,initialValue:!1,style:{marginBottom:8},children:(0,o.jsx)(i.Switch,{size:`small`,checkedChildren:`Yes`,unCheckedChildren:`No`})}),(0,o.jsx)(i.Form.Item,{name:[t,`hideGroup`],label:`Hide Group`,valuePropName:`checked`,initialValue:!1,style:{marginBottom:8},tooltip:`Hide this group entirely from Add/Edit forms — not rendered, not validated, not submitted.`,children:(0,o.jsx)(i.Switch,{size:`small`,checkedChildren:`Hidden`,unCheckedChildren:`Visible`})}),(0,o.jsx)(i.Form.Item,{name:[t,`moduleName`],label:`Target Collection`,style:{marginBottom:8,flex:2},tooltip:`Route THIS group's fields to a different collection instead of the default module record. Leave blank for default behaviour.`,children:(0,o.jsx)(i.AutoComplete,{size:`small`,options:s.map(e=>({value:e.value,label:e.label})),placeholder:`Default`,allowClear:!0,filterOption:(e,t)=>(t?.value??``).toLowerCase().includes(e.toLowerCase()),className:`fg-mono-input`})}),(0,o.jsx)(i.Form.Item,{name:[t,`minRows`],label:`Min Rows`,style:{marginBottom:8},tooltip:`Minimum rows users must keep. Delete is disabled at this count.`,children:(0,o.jsx)(i.Input,{type:`number`,min:0,style:{width:80}})}),(0,o.jsx)(i.Form.Item,{name:[t,`initialRows`],label:`Initial Rows`,style:{marginBottom:8},tooltip:`How many empty rows to show on load (0 = show only the + button).`,children:(0,o.jsx)(i.Input,{type:`number`,min:0,style:{width:80}})}),(0,o.jsx)(i.Form.Item,{name:[t,`requireOne`],label:`Row Required`,valuePropName:`checked`,initialValue:!1,style:{marginBottom:8},tooltip:`When users add a row, at least one field in that row must be filled.`,children:(0,o.jsx)(i.Switch,{size:`small`,checkedChildren:`Yes`,unCheckedChildren:`No`})}),(0,o.jsx)(i.Form.Item,{name:[t,`linkGroup`],label:`Link Group`,style:{marginBottom:8},tooltip:`Groups sharing the same value here stay row-synced — adding or removing a row in one adds/removes the matching row in every linked group, while each keeps its own card and its own submitted data. Leave blank for an independent group.`,children:(0,o.jsx)(i.Input,{size:`small`,placeholder:`e.g. workHistory`,style:{width:130},className:`fg-mono-input`})}),(0,o.jsx)(i.Form.Item,{name:[t,`infoEnabled`],label:`Group Info`,valuePropName:`checked`,initialValue:!1,style:{marginBottom:8},children:(0,o.jsx)(i.Switch,{size:`small`,checkedChildren:`Info`,unCheckedChildren:`Info`})}),(0,o.jsx)(i.Form.Item,{name:[t,`toggleEnabled`],label:`Group Switch`,valuePropName:`checked`,initialValue:!1,style:{marginBottom:8},children:(0,o.jsx)(i.Switch,{size:`small`,checkedChildren:`On`,unCheckedChildren:`Off`})}),(0,o.jsx)(i.Form.Item,{name:[t,`order`],label:`Order`,initialValue:0,style:{marginBottom:8},children:(0,o.jsx)(i.Input,{type:`number`,min:0,style:{width:70}})})]}),(0,o.jsx)(i.Form.Item,{shouldUpdate:!0,style:{marginBottom:8},children:({getFieldValue:e})=>e([`groups`,t,`infoEnabled`])?(0,o.jsx)(i.Form.Item,{name:[t,`infoText`],label:`Group Info Message`,rules:[{required:!0,message:`Enter group info message`}],children:(0,o.jsx)(i.Input.TextArea,{rows:2,placeholder:`Message shown when users hover the group info icon`})}):null}),(0,o.jsx)(i.Form.Item,{shouldUpdate:!0,style:{marginBottom:8},children:({getFieldValue:e})=>e([`groups`,t,`toggleEnabled`])?(0,o.jsxs)(`div`,{className:`fg-inline-row`,children:[(0,o.jsx)(i.Form.Item,{name:[t,`toggleLabel`],label:`Switch Label`,rules:[{required:!0,message:`Enter switch label`}],style:{flex:1,marginBottom:0},children:(0,o.jsx)(i.Input,{placeholder:`e.g. Fresher`})}),(0,o.jsx)(i.Form.Item,{name:[t,`toggleField`],label:`Payload Field`,rules:[{required:!0,message:`Enter payload field`},{pattern:/^[A-Za-z_][\w.]*$/,message:`Use a valid key, dot path allowed`}],style:{flex:1,marginBottom:0},children:(0,o.jsx)(i.Input,{placeholder:`e.g. isFresher`,className:`fg-mono-input`})})]}):null}),(0,o.jsx)(`div`,{className:`fg-fields-header`,style:{marginTop:4,marginBottom:8},children:(0,o.jsx)(`span`,{className:`fg-fields-title`,style:{fontSize:12},children:`Fields`})}),(0,o.jsx)(i.Form.List,{name:[t,`fields`],children:(e,{add:n,remove:r,move:i})=>Iy({form:u,fieldItems:e,add:n,remove:r,move:i,absBase:[`groups`,t],moduleFieldOptions:O,fieldsLoading:_,dragIndexRef:S,dragOverIndex:y,setDragOverIndex:b,onFieldKeySelect:(e,n)=>{let r=(h[p]??[]).find(t=>t.value===e);if(!r)return;let i=u.getFieldValue([`groups`,t,`fields`,n])??{};u.setFieldValue([`groups`,t,`fields`,n],{...i,field:r.value,label:r.label,type:r.type??`text`})},uniqueTarget:{primaryModule:p||``,getTargetModule:()=>u.getFieldValue([`groups`,t,`moduleName`])||``,collectionForModule:C}})})]},e)),(0,o.jsx)(i.Button,{type:`dashed`,icon:(0,o.jsx)(a.PlusOutlined,{}),block:!0,style:{marginBottom:16},onClick:()=>t({label:``,name:``,addRow:!1,order:e.length,fields:[]}),children:`Add Group`})]})})]})})}function By({moduleOptions:t}){let[n,s]=(0,r.useState)([]),[c,l]=(0,r.useState)(!1),[u,d]=(0,r.useState)(!1),[f,p]=(0,r.useState)(null);function m(){l(!0),e.wn().then(e=>s(e)).catch(e=>i.message.error(e.message||`Could not load custom forms`)).finally(()=>l(!1))}(0,r.useEffect)(()=>{m()},[]);async function h(t){try{await e.rn(t.id),i.message.success(`Custom form deleted`),m()}catch(e){i.message.error(e.message||`Could not delete custom form`)}}return(0,o.jsxs)(`div`,{children:[(0,o.jsx)(`div`,{className:`fg-tab-toolbar`,style:{marginBottom:12},children:(0,o.jsx)(i.Button,{type:`primary`,size:`small`,icon:(0,o.jsx)(a.PlusOutlined,{}),onClick:()=>{p(null),d(!0)},children:`New Custom Form`})}),(0,o.jsx)(i.Spin,{spinning:c,children:(0,o.jsx)(i.Table,{rowKey:e=>e.id??e.action,dataSource:n,columns:[{title:`Module`,dataIndex:`module`,key:`module`,render:e=>(0,o.jsx)(i.Tag,{color:`blue`,children:e})},{title:`Action Key`,dataIndex:`action`,key:`action`,render:e=>(0,o.jsx)(`code`,{className:`fg-table-code`,children:e})},{title:`Label`,dataIndex:`label`,key:`label`,render:e=>(0,o.jsx)(oy,{strong:!0,style:{color:`var(--color-text-heading)`},children:e})},{title:`Groups`,dataIndex:`groups`,key:`groups`,align:`center`,width:76,render:e=>(0,o.jsx)(i.Badge,{count:e?.length??0,showZero:!0,color:`var(--color-brand)`})},{title:``,key:`actions`,align:`right`,width:100,render:(e,t)=>(0,o.jsxs)(i.Space,{size:4,children:[(0,o.jsx)(i.Tooltip,{title:`Edit form`,children:(0,o.jsx)(i.Button,{type:`text`,size:`small`,icon:(0,o.jsx)(a.EditOutlined,{}),onClick:()=>{p(t),d(!0)},className:`fg-action-btn`})}),(0,o.jsx)(i.Popconfirm,{title:`Delete this custom form?`,description:`All configured groups will be lost.`,onConfirm:()=>h(t),okText:`Delete`,okButtonProps:{danger:!0},children:(0,o.jsx)(i.Tooltip,{title:`Delete form`,children:(0,o.jsx)(i.Button,{type:`text`,size:`small`,danger:!0,icon:(0,o.jsx)(a.DeleteOutlined,{}),className:`fg-action-btn`})})})]})}],pagination:!1,className:`fg-table`,locale:{emptyText:(0,o.jsx)(i.Empty,{description:`No custom forms yet. Click 'New Custom Form' to create one.`,image:i.Empty.PRESENTED_IMAGE_SIMPLE,style:{padding:`24px 0`}})}})}),(0,o.jsx)(zy,{open:u,editingForm:f,moduleOptions:t,onClose:()=>{d(!1),p(null)},onSaved:()=>{d(!1),p(null),m()}})]})}function Vy(){let[t,n]=(0,r.useState)([]),[s,c]=(0,r.useState)(!0),[l,u]=(0,r.useState)({}),[d,f]=(0,r.useState)(`all`),[p,m]=(0,r.useState)(!1),[h,g]=(0,r.useState)(null),[_,v]=(0,r.useState)(null),[y,b]=(0,r.useState)(`module`),[x,S]=(0,r.useState)([]),[C,w]=(0,r.useState)({clientId:``,region:``}),[T,E]=(0,r.useState)(!1),[D,O]=(0,r.useState)(null),k=yy(t),A=t.map(e=>({value:e.key,label:e.label}));(0,r.useEffect)(()=>{e.bn().then(e=>{let t=mv(e).map(({value:e,label:t})=>({key:e,label:t}));n(t);let r=yy(t);u(by(r)),F(`all`,r)}).catch(()=>n([])).finally(()=>c(!1))},[]),(0,r.useEffect)(()=>{e.fn({limit:200}).then(S).catch(()=>S([]))},[]);function j(e,t){u(n=>({...n,[e]:{...n[e],...t}}))}let M=e=>e!==`all`&&!!(C.clientId||C.region),N=e=>M(e)?C:{},P=e=>M(e)?`${C.clientId}|${C.region}`:``;function F(t,n){if(!(n??k).find(e=>e.key===t))return;let r=P(t);j(t,{loading:!0,error:``}),e.pn(t===`all`?``:t,N(t)).then(e=>j(t,{groups:e,loading:!1,loaded:!0,scopeKey:r})).catch(e=>j(t,{error:e.message||`Could not load groups`,loading:!1}))}function I(e){F(e,null)}function L(e){f(e),(!l[e]?.loaded||l[e]?.scopeKey!==P(e))&&I(e)}function R(){g(null),m(!0)}function z(e){g(e),m(!0)}function B(){m(!1),g(null)}async function ee(){B(),I(d),d!==`all`&&I(`all`)}async function te(t){try{await e.tn(t,H()),i.message.success(`Group deleted`),I(d),d!==`all`&&I(`all`)}catch(e){i.message.error(e.message||`Could not delete group`)}}async function V(t){let n=t.map((e,t)=>({g:e,index:t})).filter(({g:e,index:t})=>Number(e.order??0)!==t&&e.id);if(n.length)try{await Promise.all(n.map(({g:t,index:n})=>e.cr(t.id,{...t,order:n},H(t.module||d)))),i.message.success(`Group order updated`),I(d),d!==`all`&&I(`all`)}catch(e){i.message.error(e.message||`Could not reorder groups`),I(d)}}function ne(e){v(sy[e])}function re(t){let n={...C,...t};if(w(n),u(e=>{let t={};for(let[n,r]of Object.entries(e))t[n]=n===d?r:{...r,loaded:!1};return t}),d===`all`)return;let r=n.clientId||n.region?n:{};j(d,{loading:!0,error:``}),e.pn(d,r).then(e=>j(d,{groups:e,loading:!1,loaded:!0,scopeKey:n.clientId||n.region?`${n.clientId}|${n.region}`:``})).catch(e=>j(d,{error:e.message||`Could not load scoped groups`,loading:!1}))}function H(){return N(d)}function U(e){O(JSON.parse(JSON.stringify(e))),i.message.success(`Copied settings from ${e.label||e.name}`)}async function ie(t){if(D)try{let n={...t,addRow:D.addRow??t.addRow,payloadKey:D.payloadKey??t.payloadKey,fields:JSON.parse(JSON.stringify(D.fields??[]))};await e.cr(t.id,n,H(t.module||d)),i.message.success(`Pasted settings into ${t.label||t.name}`),I(d),d!==`all`&&I(`all`)}catch(e){i.message.error(e.message||`Could not paste settings`)}}function ae(){v(null),u(by(k)),I(d),d!==`all`&&I(`all`)}let oe=k.map(({key:e,label:t,color:n})=>{let r=l[e]??{groups:[],loading:!1,loaded:!1,error:``},s=[...r.groups].sort((e,t)=>(e.order??0)-(t.order??0));return{key:e,label:(0,o.jsxs)(`span`,{className:`fg-tab-label`,children:[(0,o.jsx)(`span`,{className:`fg-tab-dot`,style:{background:n}}),t,(0,o.jsx)(i.Badge,{count:r.groups.length,showZero:!0,color:n,size:`small`})]}),children:(0,o.jsxs)(`div`,{className:`fg-tab-content`,children:[r.error&&(0,o.jsx)(i.Alert,{type:`error`,showIcon:!0,message:r.error,style:{marginBottom:12}}),(0,o.jsx)(`div`,{className:`fg-tab-toolbar`,children:(0,o.jsx)(i.Button,{type:`primary`,size:`small`,icon:(0,o.jsx)(a.PlusOutlined,{}),disabled:e===`all`,onClick:()=>{f(e),R()},children:`Add Group`})}),(0,o.jsx)(i.Spin,{spinning:r.loading,children:(0,o.jsx)(Ry,{groups:s,onEdit:z,onDelete:te,onCopy:U,onPaste:ie,canPaste:!!D,onReorder:e===`all`?void 0:V})})]})}}),se=d===`all`?A[0]?.value??`jobs`:d,ce=k.find(e=>e.key===se)?.label??se,le=[{key:`module`,label:`Module Form`,children:(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(Z,{children:(0,o.jsxs)(`div`,{className:`fg-scope-toolbar`,children:[(0,o.jsxs)(`div`,{children:[(0,o.jsx)(`div`,{children:(0,o.jsxs)(oy,{type:`secondary`,style:{fontSize:12},children:[`Select a client to edit that client's field list for the module tab you are on — any module, not just Jobs. Leave blank for the default module config. Until the client has a config of its own you are shown the default; the first save copies it into a client-scoped config. A record rendered against a client — a Job, or a Submission through its job — uses that client's list here and falls back to the default when the client has none. The `,(0,o.jsx)(`b`,{children:`All`}),` tab always shows the defaults.`]})}),M(d)&&(0,o.jsx)(`div`,{style:{marginTop:6},children:(0,o.jsx)(i.Tag,{color:`processing`,children:`Editing ${x.find(e=>(e._id??e.id)===C.clientId)?.clientName??`client`} config for ${d}`})})]}),(0,o.jsxs)(i.Space,{wrap:!0,size:8,children:[(0,o.jsx)(i.Select,{size:`small`,allowClear:!0,showSearch:!0,placeholder:`Client`,style:{width:240},value:C.clientId||void 0,optionFilterProp:`label`,options:x.map(e=>({value:e._id??e.id,label:e.clientName??e.name??e.clientRefrenceId??e._id})).filter(e=>e.value),onChange:e=>re({clientId:e??``})}),(0,o.jsx)(i.Button,{size:`small`,icon:(0,o.jsx)(a.ReloadOutlined,{}),onClick:()=>I(d),children:`Reload`}),(0,o.jsx)(i.Button,{size:`small`,icon:(0,o.jsx)(a.EyeOutlined,{}),disabled:d===`all`,onClick:()=>E(!0),children:`Preview`})]})]})}),(0,o.jsx)(Z,{children:(0,o.jsx)(i.Spin,{spinning:s,children:(0,o.jsx)(i.Tabs,{activeKey:d,onChange:L,items:oe,size:`middle`,className:`fg-tabs`})})}),(0,o.jsx)(Ly,{open:p,editingGroup:h,defaultModule:d===`all`?A[0]?.value??``:d,moduleOptions:A,allGroupsByModule:Object.fromEntries(Object.entries(l).filter(([e])=>e!==`all`).map(([e,t])=>[e,t.groups??[]])),onClose:B,onSaved:ee,onSaveGroup:(t,n)=>n?e.cr(n.id,t,H(t.module)):e.Jt(t,H(t.module))}),(0,o.jsx)(i.Drawer,{open:T,onClose:()=>E(!1),width:`92vw`,title:(0,o.jsxs)(`span`,{className:`fg-drawer-title`,children:[(0,o.jsx)(a.EyeOutlined,{}),` `,ce,` Add Form Preview`]}),classNames:{body:`fg-preview-body`},destroyOnClose:!0,children:(0,o.jsx)(Ss,{moduleName:se,clientId:C.clientId,region:C.region,cancelPath:`/${se}`,onSubmit:async()=>i.message.info(`Preview only. No record was created.`),breadcrumbItems:[{label:`Admin`},{label:`Form Groups`},{label:`${ce} Preview`}]},`${se}-${C.clientId}-${C.region}`)})]})},{key:`custom`,label:`Custom Form`,children:(0,o.jsx)(Z,{children:(0,o.jsx)(By,{moduleOptions:A})})},{key:`defaultFields`,label:`Default Fields`,children:(0,o.jsx)(ay,{moduleOptions:A})}];return(0,o.jsxs)(`div`,{className:`fg-section`,children:[(0,o.jsxs)(Z,{icon:(0,o.jsx)(a.AppstoreAddOutlined,{}),title:`Form Groups`,extra:y===`module`?(0,o.jsxs)(i.Space,{size:8,wrap:!0,children:[(0,o.jsx)(i.Dropdown,{trigger:[`click`],menu:{items:[{key:`save`,label:`Save current as default`,icon:(0,o.jsx)(a.SaveOutlined,{}),onClick:()=>ne(`save`)},{key:`restore`,label:`Restore saved default`,icon:(0,o.jsx)(a.CloudDownloadOutlined,{}),onClick:()=>ne(`restore`)},{type:`divider`},{key:`reset`,label:`Reset all form groups`,icon:(0,o.jsx)(a.ReloadOutlined,{}),danger:!0,onClick:()=>ne(`reset`)}]},children:(0,o.jsx)(i.Button,{size:`small`,icon:(0,o.jsx)(a.MoreOutlined,{}),children:`Workspace defaults`})}),(0,o.jsx)(i.Button,{type:`primary`,size:`small`,icon:(0,o.jsx)(a.AppstoreAddOutlined,{}),onClick:R,children:`New Group`})]}):null,children:[(0,o.jsx)(`div`,{className:`admin-accent-bar`}),(0,o.jsxs)(oy,{type:`secondary`,style:{fontSize:13},children:[(0,o.jsx)(`strong`,{children:`Module Form`}),` — configure the default add/edit form for each module.`,` `,(0,o.jsx)(`strong`,{children:`Custom Form`}),` — create standalone named forms (module + action) for context-specific flows such as quick-add or popup forms.`]})]}),(0,o.jsx)(Z,{styles:{body:{padding:`0 0`}},children:(0,o.jsx)(i.Tabs,{activeKey:y,onChange:b,items:le,size:`middle`,className:`fg-top-tabs`,tabBarStyle:{padding:`0 16px`,margin:0},destroyInactiveTabPane:!1})}),(0,o.jsx)(ry,{open:!!_,scope:`formGroups`,action:_?.action,title:_?.title,description:_?.description,confirmLabel:_?.confirmLabel,danger:_?.danger,onCancel:()=>v(null),onVerified:ae})]})}var{Text:Q}=i.Typography,Hy,Uy=new Map;function Wy(){return Hy||=e.yn().catch(e=>{throw Hy=void 0,e}),Hy}function Gy(t){return Uy.has(t)||Uy.set(t,e.Cn(t).catch(e=>{throw Uy.delete(t),e})),Uy.get(t)}var Ky={reset:{action:`reset`,title:`Reset all detail config`,confirmLabel:`Reset All`,danger:!0,description:`Clears every detail-view override for all modules in this workspace, so the detail view falls back to the plain form-group fields.`},save:{action:`save`,title:`Save current as default`,confirmLabel:`Save Default`,danger:!1,description:`Snapshots the current detail config for all modules as the saved default you can restore to later.`},restore:{action:`restore`,title:`Restore saved default`,confirmLabel:`Restore Default`,danger:!0,description:`Replaces the current detail config for all modules with the last saved default.`}},qy=[{label:`Default`,value:`default`},{label:`Title Case On`,value:`on`},{label:`Off (raw text)`,value:`off`}],Jy=e=>e===!0?`on`:e===!1?`off`:`default`,Yy=e=>e===`on`?!0:e===`off`?!1:void 0,Xy=e=>e===!0||e===1||e===`1`;function Zy(e){let t=new Set,n=[];for(let r of e??[])for(let e of r.fields??[])!e.field||t.has(e.field)||(t.add(e.field),n.push({key:e.field,label:e.label??e.field,type:e.type??`text`,group:r.label??r.name,validations:Array.isArray(e.validations)?e.validations:[],lookupDefaults:e.lookupCollection?{lookupCollection:e.lookupCollection,displayField:e.displayField??``,displayField2:e.displayField2??``,valueField:e.valueField||`_id`}:{}}));return n}function Qy(e,t){if(!t)return null;let n={field:e};t.label&&(n.label=t.label),t.prefix&&(n.prefix=t.prefix),t.suffix&&(n.suffix=t.suffix),t.color&&(n.color=t.color),(t.capitalize===!0||t.capitalize===!1)&&(n.capitalize=t.capitalize),(t.hidden===!0||t.hidden===!1)&&(n.hidden=t.hidden),t.hideInDetail===!0&&(n.hideInDetail=!0),(t.hideWhenEmpty===!0||t.hideWhenEmptyInDetail===!0)&&(n.hideWhenEmpty=!0,t.hideWhenEmptyInDetail===!0&&(n.hideWhenEmptyInDetail=!0)),t.hideWhenZero===!0&&(n.hideWhenZero=!0),t.ignoreLabelWhenInDetail===!0&&(n.ignoreLabelWhenInDetail=!0);let r=(t.labelWhen??[]).filter(e=>String(e?.field??``).trim()&&String(e?.label??``).trim()).map(e=>{let t={field:String(e.field).trim(),operator:e.operator||`eq`,label:String(e.label).trim()};return Av(t.operator)&&e.value!=null&&e.value!==``&&(t.value=String(e.value)),t});r.length&&(n.labelWhen=r);let i=t.renderType||(t.documentPreview?`document`:t.displayAs===`tag`?`tag`:t.displayAs===`text`?`text`:``);i&&i!==`auto`&&(n.renderType=i);let a={};for(let[e,n]of Object.entries(t.renderOptions??{}))n!==void 0&&n!==``&&n!==!1&&(a[e]=n);return Object.keys(a).length&&(n.renderOptions=a),t.lookupCollection&&(n.lookupCollection=t.lookupCollection,n.displayField=t.displayField||``,t.displayField2&&(n.displayField2=t.displayField2),n.valueField=t.valueField||`_id`),Object.keys(n).length>1?n:null}function $y(e){return(e??[]).filter(e=>e.key&&(e.fields??[]).length).map(e=>{let t={key:e.key,label:e.label||e.key,fields:e.fields};return e.template&&(t.template=e.template),e.valueMaps&&Object.keys(e.valueMaps).length&&(t.valueMaps=e.valueMaps),e.separator&&(t.separator=e.separator),e.prefix&&(t.prefix=e.prefix),e.suffix&&(t.suffix=e.suffix),e.color&&(t.color=e.color),(e.capitalize===!0||e.capitalize===!1)&&(t.capitalize=e.capitalize),e.group&&(t.group=e.group),e.hideSources===!1&&(t.hideSources=!1),t})}function eb(e){return Number(e?.show??1)===0}function tb(e,t){let n=[];return{nextGroups:(e??[]).map(e=>{let r=!1,i=(e.fields??[]).map(e=>{let n=t[e.field];if(!n||n.hidden===void 0)return e;let i=+!n.hidden;return Number(e.show??1)===i?e:(r=!0,{...e,show:i})}),a=r?{...e,fields:i}:e;return r&&n.push(a),a}),changed:n}}function nb({value:e,onChange:t}){return(0,o.jsxs)(i.Space.Compact,{style:{width:`100%`},children:[(0,o.jsx)(i.Input,{size:`small`,placeholder:`#0053a5`,value:e??``,onChange:e=>t(e.target.value),className:`fg-mono-input`,prefix:(0,o.jsx)(a.BgColorsOutlined,{style:{color:e||`#bbb`}})}),(0,o.jsx)(`input`,{type:`color`,value:/^#[0-9a-f]{6}$/i.test(e??``)?e:`#0053a5`,onChange:e=>t(e.target.value),style:{width:32,border:`1px solid #d9d9d9`,borderLeft:0,cursor:`pointer`,padding:0},"aria-label":`Pick colour`})]})}function rb({fieldMeta:e,rules:t,ignore:n,fieldOptions:r,onChangeRules:s,onChangeIgnore:c}){let l=Array.isArray(t)?t:[],u=e?.labelWhen,d=l.length===0&&!!(u?.field&&u?.label),f=(e,t)=>s(l.map((n,r)=>r===e?{...n,...t}:n)),p=e=>s(l.filter((t,n)=>n!==e));return(0,o.jsxs)(`div`,{className:`fg-form-section`,style:{marginTop:14,marginBottom:0},children:[(0,o.jsx)(`div`,{className:`fg-form-section-label`,children:`Conditional Label`}),(0,o.jsxs)(Q,{type:`secondary`,style:{fontSize:12,display:`block`,marginBottom:8},children:[`Show a different label depending on another field's value on the record. The first matching rule wins; if none match, the label above (`,(0,o.jsx)(`b`,{children:e?.label}),`) is used. Detail view only — the add/edit forms are unaffected.`]}),d&&(0,o.jsx)(i.Alert,{type:`info`,showIcon:!0,style:{marginBottom:10},message:`Inheriting from Form Groups: "${u.label}" when ${u.field} ${u.operator??`eq`} ${u.value??``}`,description:(0,o.jsx)(i.Button,{size:`small`,type:`link`,style:{padding:0},onClick:()=>s([{field:u.field,operator:u.operator??`eq`,value:u.value??``,label:u.label}]),children:`Override it here`})}),l.map((e,t)=>{let n=Av(e.operator);return(0,o.jsxs)(`div`,{className:`fg-field-meta-row`,style:{marginBottom:8,alignItems:`flex-end`},children:[(0,o.jsxs)(`div`,{style:{flex:1.4},children:[(0,o.jsx)(Q,{type:`secondary`,style:{fontSize:12},children:`When field`}),(0,o.jsx)(i.Select,{size:`small`,showSearch:!0,mode:`tags`,maxCount:1,style:{width:`100%`},placeholder:`e.g. contractType`,optionFilterProp:`label`,options:r,value:e.field?[e.field]:[],onChange:e=>f(t,{field:String(e[e.length-1]??``).trim()})})]}),(0,o.jsxs)(`div`,{style:{flex:1},children:[(0,o.jsx)(Q,{type:`secondary`,style:{fontSize:12},children:`Is`}),(0,o.jsx)(i.Select,{size:`small`,style:{width:`100%`},options:Ov,value:e.operator??`eq`,onChange:e=>f(t,{operator:e})})]}),n&&(0,o.jsxs)(`div`,{style:{flex:1},children:[(0,o.jsx)(Q,{type:`secondary`,style:{fontSize:12},children:`Value`}),(0,o.jsx)(i.Input,{size:`small`,placeholder:`C2C`,value:e.value??``,onChange:e=>f(t,{value:e.target.value}),className:`fg-mono-input`})]}),(0,o.jsxs)(`div`,{style:{flex:1.2},children:[(0,o.jsx)(Q,{type:`secondary`,style:{fontSize:12},children:`Show label`}),(0,o.jsx)(i.Input,{size:`small`,placeholder:`Employer Rate`,value:e.label??``,onChange:e=>f(t,{label:e.target.value})})]}),(0,o.jsx)(i.Button,{size:`small`,type:`text`,danger:!0,icon:(0,o.jsx)(a.DeleteOutlined,{}),onClick:()=>p(t)})]},t)}),(0,o.jsx)(i.Button,{size:`small`,type:`dashed`,icon:(0,o.jsx)(a.PlusOutlined,{}),onClick:()=>s([...l,{field:``,operator:`eq`,value:``,label:``}]),children:`Add rule`}),(0,o.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,marginTop:14},children:[(0,o.jsx)(i.Switch,{size:`small`,checked:!n,onChange:e=>c(!e)}),(0,o.jsx)(Q,{style:{fontSize:13},children:`Use conditional labels in the detail view`})]}),(0,o.jsx)(Q,{type:`secondary`,style:{fontSize:11,display:`block`,marginTop:4},children:`Turn off to always show the static label here, ignoring both the rules above and the one from Form Groups.`})]})}function ib({open:t,fieldMeta:n,value:s,moduleFieldOptions:c,onClose:l,onSave:u}){let[d,f]=(0,r.useState)(()=>({...s??{}})),[p,m]=(0,r.useState)([]),[h,g]=(0,r.useState)([]),[_,v]=(0,r.useState)(`display`);(0,r.useEffect)(()=>{if(!t||_!==`lookup`)return;let e=!1;return Wy().then(t=>{e||m(t.map(e=>typeof e==`string`?e:e.name??e.value??``).filter(Boolean))}).catch(()=>{}),()=>{e=!0}},[_,t]),(0,r.useEffect)(()=>{if(!t||_!==`lookup`||!d.lookupCollection)return;let e=!1;return Gy(d.lookupCollection).then(t=>{e||g(t.map(e=>typeof e==`string`?e:e.value??e.field??e.label??``).filter(Boolean))}).catch(()=>{}),()=>{e=!0}},[_,t,d.lookupCollection]);let y=(e,t)=>f(n=>({...n,[e]:t})),b=e=>{g([]),f(t=>({...t,lookupCollection:e}))},x=p.map(e=>({value:e})),S=h.map(e=>({value:e})),C=d.renderOptions??{},w=(e,t)=>y(`renderOptions`,{...C,[e]:t||void 0}),T=d.renderType||(d.documentPreview?`document`:d.displayAs===`tag`?`tag`:d.displayAs===`text`?`text`:`auto`),E=[`tag`,`tags`,`chip`,`badge`].includes(T),D=[`text`,`tag`,`tags`,`chip`,`badge`,`link`,`email`,`phone`].includes(T);return(0,o.jsxs)(i.Modal,{open:t,onCancel:l,width:760,centered:!0,destroyOnClose:!0,maskClosable:!1,className:`fg-editor-modal detail-field-editor-modal`,title:(0,o.jsxs)(`span`,{className:`fg-drawer-title`,children:[(0,o.jsx)(a.EditOutlined,{}),` `,n?.label,(0,o.jsx)(`code`,{className:`fg-field-key-hint`,style:{marginLeft:8},children:n?.key})]}),footer:(0,o.jsxs)(`div`,{className:`fg-drawer-footer`,children:[(0,o.jsx)(i.Button,{onClick:l,children:`Cancel`}),(0,o.jsx)(i.Button,{type:`primary`,icon:(0,o.jsx)(a.SaveOutlined,{}),onClick:()=>u(d),children:`Apply`})]}),children:[(0,o.jsxs)(`div`,{className:`detail-editor-nav`,role:`tablist`,"aria-label":`Field settings`,children:[(0,o.jsx)(i.Button,{type:_===`display`?`primary`:`text`,onClick:()=>v(`display`),children:`Display`}),(0,o.jsx)(i.Button,{type:_===`lookup`?`primary`:`text`,onClick:()=>v(`lookup`),children:`Reference lookup`})]}),_===`display`&&(0,o.jsxs)(`div`,{className:`fg-form-section detail-editor-panel`,children:[(0,o.jsx)(`div`,{className:`fg-form-section-label`,children:`Display`}),(0,o.jsxs)(`div`,{style:{marginBottom:12},children:[(0,o.jsx)(Q,{type:`secondary`,style:{fontSize:12},children:`Label override`}),(0,o.jsx)(i.Input,{size:`small`,placeholder:n?.label,value:d.label??``,onChange:e=>y(`label`,e.target.value)})]}),(0,o.jsxs)(`div`,{className:`fg-field-meta-row`,children:[(0,o.jsxs)(`div`,{style:{flex:1},children:[(0,o.jsx)(Q,{type:`secondary`,style:{fontSize:12},children:`Prefix`}),(0,o.jsx)(i.Input,{size:`small`,placeholder:`e.g. $`,value:d.prefix??``,onChange:e=>y(`prefix`,e.target.value)})]}),(0,o.jsxs)(`div`,{style:{flex:1},children:[(0,o.jsx)(Q,{type:`secondary`,style:{fontSize:12},children:`Suffix`}),(0,o.jsx)(i.Input,{size:`small`,placeholder:`e.g. yrs`,value:d.suffix??``,onChange:e=>y(`suffix`,e.target.value)})]})]}),(0,o.jsxs)(`div`,{className:`fg-field-meta-row`,style:{marginTop:12},children:[(0,o.jsxs)(`div`,{style:{flex:1},children:[(0,o.jsx)(Q,{type:`secondary`,style:{fontSize:12},children:`Colour`}),(0,o.jsx)(nb,{value:d.color,onChange:e=>y(`color`,e)})]}),(0,o.jsxs)(`div`,{style:{flex:1},children:[(0,o.jsx)(Q,{type:`secondary`,style:{fontSize:12},children:`Capitalize`}),(0,o.jsx)(i.Select,{size:`small`,style:{width:`100%`},options:qy,value:Jy(d.capitalize),onChange:e=>y(`capitalize`,Yy(e))})]})]}),(0,o.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,marginTop:14},children:[(0,o.jsx)(i.Switch,{size:`small`,checked:!!d.hidden,onChange:e=>y(`hidden`,e)}),(0,o.jsx)(Q,{style:{fontSize:13},children:`Hide this field everywhere (detail view and the add/edit form)`})]}),(0,o.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,marginTop:10},children:[(0,o.jsx)(i.Switch,{size:`small`,checked:!!d.hideInDetail,onChange:e=>y(`hideInDetail`,e)}),(0,o.jsx)(Q,{style:{fontSize:13},children:`Hide in the detail view only (keep it in the add/edit form)`})]}),(0,o.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,marginTop:10},children:[(0,o.jsx)(i.Switch,{size:`small`,checked:!!d.hideWhenEmpty||!!d.hideWhenEmptyInDetail,onChange:e=>f(t=>({...t,hideWhenEmpty:e,hideWhenEmptyInDetail:e?t.hideWhenEmptyInDetail:!1}))}),(0,o.jsx)(Q,{style:{fontSize:13},children:`Hide when empty — drop this field (and a combined block left with nothing to show) instead of printing a heading over a dash`})]}),(0,o.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,marginTop:10},children:[(0,o.jsx)(i.Switch,{size:`small`,checked:!!d.hideWhenZero,onChange:e=>y(`hideWhenZero`,e)}),(0,o.jsx)(Q,{style:{fontSize:13},children:`Treat 0 as empty — hide this field when its value is 0 or blank (e.g. the end of a rate range that was never filled in, so "92 - 0" shows as just "92")`})]}),(0,o.jsx)(rb,{fieldMeta:n,rules:d.labelWhen,ignore:d.ignoreLabelWhenInDetail,fieldOptions:c,onChangeRules:e=>y(`labelWhen`,e),onChangeIgnore:e=>y(`ignoreLabelWhenInDetail`,e)}),(0,o.jsxs)(`div`,{style:{marginTop:14},children:[(0,o.jsx)(Q,{type:`secondary`,style:{fontSize:12},children:`Render Type`}),(0,o.jsx)(i.Select,{size:`small`,style:{width:`100%`},value:T,onChange:e=>y(`renderType`,e),options:e.st}),(0,o.jsx)(Q,{type:`secondary`,style:{fontSize:12,display:`block`,marginTop:4},children:`How this field is displayed in the detail view — entirely config-driven.`})]}),T===`document`&&(0,o.jsxs)(`div`,{style:{marginTop:12},children:[(0,o.jsx)(Q,{type:`secondary`,style:{fontSize:12},children:`Document mode`}),(0,o.jsx)(i.Select,{size:`small`,style:{width:`100%`},value:C.documentMode||`preview`,onChange:e=>w(`documentMode`,e),options:e.ot})]}),D&&(0,o.jsxs)(`div`,{style:{marginTop:12},children:[(0,o.jsx)(Q,{type:`secondary`,style:{fontSize:12},children:`Text transform`}),(0,o.jsx)(i.Select,{size:`small`,style:{width:`100%`},value:C.textTransform||`none`,onChange:e=>w(`textTransform`,e===`none`?void 0:e),options:e.ct})]}),E&&(0,o.jsxs)(`div`,{style:{marginTop:12},children:[(0,o.jsx)(Q,{type:`secondary`,style:{fontSize:12},children:`Tag colour`}),(0,o.jsx)(i.Input,{size:`small`,placeholder:`geekblue / #0053a5`,value:C.tagColor??``,onChange:e=>w(`tagColor`,e.target.value),className:`fg-mono-input`})]}),T===`date`&&(0,o.jsxs)(`div`,{style:{marginTop:12},children:[(0,o.jsx)(Q,{type:`secondary`,style:{fontSize:12},children:`Date format (dayjs tokens)`}),(0,o.jsx)(i.Input,{size:`small`,placeholder:`DD/MM/YYYY`,value:C.dateFormat??``,onChange:e=>w(`dateFormat`,e.target.value),className:`fg-mono-input`})]}),T===`phone`&&(0,o.jsxs)(`div`,{style:{marginTop:12},children:[(0,o.jsx)(Q,{type:`secondary`,style:{fontSize:12},children:`Country-code field on the record`}),(0,o.jsx)(i.Input,{size:`small`,placeholder:`e.g. countryCode or contact.countryCode`,value:C.countryCodeField??``,onChange:e=>w(`countryCodeField`,e.target.value),className:`fg-mono-input`}),(0,o.jsx)(Q,{type:`secondary`,style:{fontSize:12,display:`block`,marginTop:4},children:`Leave blank to auto-detect a sibling code key. Nothing is prefixed when the record carries no code and no global fallback is set.`})]}),(T===`currency`||T===`budget`)&&(0,o.jsxs)(`div`,{className:`fg-field-meta-row`,style:{marginTop:12},children:[(0,o.jsxs)(`div`,{style:{flex:1},children:[(0,o.jsx)(Q,{type:`secondary`,style:{fontSize:12},children:`Currency symbol`}),(0,o.jsx)(i.Input,{size:`small`,placeholder:`$ / ₹ / £`,value:C.currencySymbol??``,onChange:e=>w(`currencySymbol`,e.target.value)})]}),T===`budget`&&(0,o.jsxs)(`div`,{style:{flex:1},children:[(0,o.jsx)(Q,{type:`secondary`,style:{fontSize:12},children:`Unit (e.g. Monthly)`}),(0,o.jsx)(i.Input,{size:`small`,placeholder:`Monthly`,value:C.unit??``,onChange:e=>w(`unit`,e.target.value)})]})]}),(0,o.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,marginTop:14},children:[(0,o.jsx)(i.Switch,{size:`small`,checked:!!C.showEmpty,onChange:e=>w(`showEmpty`,e)}),(0,o.jsx)(Q,{style:{fontSize:13},children:`Show empty values`})]})]}),_===`lookup`&&(0,o.jsxs)(`div`,{className:`fg-form-section detail-editor-panel`,children:[(0,o.jsx)(`div`,{className:`fg-form-section-label`,children:`Reference Lookup (id → name)`}),(0,o.jsxs)(Q,{type:`secondary`,style:{fontSize:12,display:`block`,marginBottom:8},children:[`For fields that store a foreign-key id. The detail API resolves the name from the target collection and returns `,(0,o.jsx)(`code`,{children:`{ id, value }`}),`.`]}),(0,o.jsxs)(`div`,{style:{marginBottom:10},children:[(0,o.jsx)(Q,{type:`secondary`,style:{fontSize:12},children:`Collection`}),(0,o.jsx)(i.AutoComplete,{size:`small`,style:{width:`100%`},options:x,placeholder:`e.g. vendors`,value:d.lookupCollection??``,onChange:b,filterOption:(e,t)=>(t?.value??``).toLowerCase().includes(e.toLowerCase()),className:`fg-mono-input`})]}),(0,o.jsxs)(`div`,{className:`fg-field-meta-row`,children:[(0,o.jsxs)(`div`,{style:{flex:1},children:[(0,o.jsx)(Q,{type:`secondary`,style:{fontSize:12},children:`Display Field`}),(0,o.jsx)(i.AutoComplete,{size:`small`,style:{width:`100%`},options:S,placeholder:`e.g. vendorCompanyName`,value:d.displayField??``,onChange:e=>y(`displayField`,e),filterOption:(e,t)=>(t?.value??``).toLowerCase().includes(e.toLowerCase()),className:`fg-mono-input`})]}),(0,o.jsxs)(`div`,{style:{flex:1},children:[(0,o.jsx)(Q,{type:`secondary`,style:{fontSize:12},children:`Display Field 2`}),(0,o.jsx)(i.AutoComplete,{size:`small`,style:{width:`100%`},options:S,placeholder:`e.g. lastName`,value:d.displayField2??``,onChange:e=>y(`displayField2`,e),filterOption:(e,t)=>(t?.value??``).toLowerCase().includes(e.toLowerCase()),className:`fg-mono-input`})]}),(0,o.jsxs)(`div`,{style:{flex:1},children:[(0,o.jsx)(Q,{type:`secondary`,style:{fontSize:12},children:`Value Field (FK)`}),(0,o.jsx)(i.Input,{size:`small`,placeholder:`_id`,value:d.valueField??``,onChange:e=>y(`valueField`,e.target.value),className:`fg-mono-input`})]})]})]})]})}function ab(e){let t=[];return Object.entries(e??{}).forEach(([e,n])=>{Object.entries(n??{}).forEach(([n,r])=>t.push({field:e,from:n,to:r}))}),t}function ob(e){let t={};for(let n of e??[])!n.field||!n.from||(t[n.field]={...t[n.field]??{},[n.from]:n.to??``});return t}function sb({open:e,merge:t,fieldOptions:n,groupOptions:s,onClose:c,onSave:l}){let[u,d]=(0,r.useState)(()=>({key:``,label:``,fields:[],separator:` - `,template:``,prefix:``,suffix:``,color:``,capitalize:void 0,group:``,hideSources:!0,...t??{},mapRows:ab(t?.valueMaps)})),f=(e,t)=>d(n=>({...n,[e]:t})),p=(e,t)=>d(n=>{let r=[...n.mapRows??[]];return r[e]={...r[e],...t},{...n,mapRows:r}}),m=e=>d(t=>({...t,mapRows:(t.mapRows??[]).filter((t,n)=>n!==e)}));return(0,o.jsx)(i.Modal,{open:e,onCancel:c,width:820,centered:!0,destroyOnClose:!0,maskClosable:!1,className:`fg-editor-modal`,title:(0,o.jsxs)(`span`,{className:`fg-drawer-title`,children:[(0,o.jsx)(a.MergeCellsOutlined,{}),` `,t?`Edit Merged Field`:`New Merged Field`]}),footer:(0,o.jsxs)(`div`,{className:`fg-drawer-footer`,children:[(0,o.jsx)(i.Button,{onClick:c,children:`Cancel`}),(0,o.jsx)(i.Button,{type:`primary`,icon:(0,o.jsx)(a.SaveOutlined,{}),onClick:()=>{if(!u.key?.trim())return i.message.error(`A merge key is required`);if(!/^[a-z0-9_]+$/.test(u.key))return i.message.error(`Key: lowercase letters, numbers, underscores only`);if(!(u.fields??[]).length)return i.message.error(`Pick at least one source field`);let{mapRows:e,...t}=u;l({...t,valueMaps:ob(e)})},children:`Apply`})]}),children:(0,o.jsxs)(`div`,{className:`fg-form-section`,children:[(0,o.jsx)(`div`,{className:`fg-form-section-label`,children:`Merged Field`}),(0,o.jsxs)(`div`,{className:`fg-field-meta-row`,children:[(0,o.jsxs)(`div`,{style:{flex:1},children:[(0,o.jsx)(Q,{type:`secondary`,style:{fontSize:12},children:`Key`}),(0,o.jsx)(i.Input,{size:`small`,placeholder:`experience_range`,value:u.key??``,onChange:e=>f(`key`,e.target.value),className:`fg-mono-input`})]}),(0,o.jsxs)(`div`,{style:{flex:1},children:[(0,o.jsx)(Q,{type:`secondary`,style:{fontSize:12},children:`Label`}),(0,o.jsx)(i.Input,{size:`small`,placeholder:`Experience`,value:u.label??``,onChange:e=>f(`label`,e.target.value)})]})]}),(0,o.jsxs)(`div`,{style:{margin:`12px 0`},children:[(0,o.jsx)(Q,{type:`secondary`,style:{fontSize:12},children:`Source fields (combined in order)`}),(0,o.jsx)(i.Select,{mode:`multiple`,size:`small`,style:{width:`100%`},placeholder:`Pick fields to combine`,options:n,value:u.fields??[],onChange:e=>f(`fields`,e),optionFilterProp:`label`})]}),(0,o.jsxs)(`div`,{style:{margin:`12px 0`},children:[(0,o.jsxs)(Q,{type:`secondary`,style:{fontSize:12},children:[`Template `,(0,o.jsx)(`span`,{style:{color:`#94a3b8`},children:`(optional — overrides separator)`})]}),(0,o.jsx)(i.Input.TextArea,{rows:2,value:u.template??``,onChange:e=>f(`template`,e.target.value),placeholder:`{clientBudgetStart} - {clientBudgetEnd} {clientBudgetCurrency}/{clientBudgetUnit}`,className:`fg-mono-input`}),(u.fields??[]).length>0&&(0,o.jsx)(`div`,{style:{display:`flex`,flexWrap:`wrap`,gap:4,marginTop:6},children:(u.fields??[]).map(e=>(0,o.jsxs)(i.Tag,{color:`blue`,style:{cursor:`pointer`,margin:0},onClick:()=>f(`template`,`${u.template??``}{${e}}`),children:[`+ `,`{${e}}`]},e))}),(0,o.jsxs)(Q,{type:`secondary`,style:{fontSize:11,display:`block`,marginTop:4},children:[`Click a chip to insert a field. Everything else (spaces, “/”, “-”) is kept literally. Result e.g. `,(0,o.jsx)(`code`,{children:`60 - 80 $/Monthly`}),`.`]})]}),(0,o.jsxs)(`div`,{style:{margin:`12px 0`},children:[(0,o.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`,alignItems:`center`},children:[(0,o.jsx)(Q,{type:`secondary`,style:{fontSize:12},children:`Value mappings (raw → display)`}),(0,o.jsx)(i.Button,{size:`small`,type:`dashed`,icon:(0,o.jsx)(a.PlusOutlined,{}),disabled:!(u.fields??[]).length,onClick:()=>d(e=>({...e,mapRows:[...e.mapRows??[],{field:e.fields?.[0]??``,from:``,to:``}]})),children:`Add`})]}),(u.mapRows??[]).map((e,t)=>(0,o.jsxs)(`div`,{style:{display:`flex`,gap:6,marginTop:6,alignItems:`center`},children:[(0,o.jsx)(i.Select,{size:`small`,style:{flex:1.4},placeholder:`field`,value:e.field||void 0,options:(u.fields??[]).map(e=>({value:e,label:e})),onChange:e=>p(t,{field:e})}),(0,o.jsx)(i.Input,{size:`small`,style:{flex:1},placeholder:`Monthly`,value:e.from,onChange:e=>p(t,{from:e.target.value})}),(0,o.jsx)(`span`,{style:{color:`#94a3b8`},children:`→`}),(0,o.jsx)(i.Input,{size:`small`,style:{flex:1},placeholder:`mon`,value:e.to,onChange:e=>p(t,{to:e.target.value})}),(0,o.jsx)(i.Button,{size:`small`,type:`text`,danger:!0,icon:(0,o.jsx)(a.DeleteOutlined,{}),onClick:()=>m(t)})]},t)),!(u.mapRows??[]).length&&(0,o.jsx)(Q,{type:`secondary`,style:{fontSize:11,display:`block`,marginTop:4},children:`e.g. Monthly → mon, Daily → day, Yearly → yr. Unmapped values stay as-is.`})]}),(0,o.jsxs)(`div`,{className:`fg-field-meta-row`,children:[(0,o.jsxs)(`div`,{style:{flex:1},children:[(0,o.jsxs)(Q,{type:`secondary`,style:{fontSize:12},children:[`Separator `,(0,o.jsx)(`span`,{style:{color:`#94a3b8`},children:`(used when no template)`})]}),(0,o.jsx)(i.Input,{size:`small`,placeholder:` - `,value:u.separator??``,onChange:e=>f(`separator`,e.target.value)})]}),(0,o.jsxs)(`div`,{style:{flex:1},children:[(0,o.jsx)(Q,{type:`secondary`,style:{fontSize:12},children:`Place in group`}),(0,o.jsx)(i.Select,{size:`small`,style:{width:`100%`},allowClear:!0,placeholder:`(first source's group)`,options:s,value:u.group||void 0,onChange:e=>f(`group`,e??``)})]})]}),(0,o.jsxs)(`div`,{className:`fg-field-meta-row`,style:{marginTop:12},children:[(0,o.jsxs)(`div`,{style:{flex:1},children:[(0,o.jsx)(Q,{type:`secondary`,style:{fontSize:12},children:`Prefix`}),(0,o.jsx)(i.Input,{size:`small`,value:u.prefix??``,onChange:e=>f(`prefix`,e.target.value)})]}),(0,o.jsxs)(`div`,{style:{flex:1},children:[(0,o.jsx)(Q,{type:`secondary`,style:{fontSize:12},children:`Suffix`}),(0,o.jsx)(i.Input,{size:`small`,placeholder:`yrs`,value:u.suffix??``,onChange:e=>f(`suffix`,e.target.value)})]})]}),(0,o.jsxs)(`div`,{className:`fg-field-meta-row`,style:{marginTop:12},children:[(0,o.jsxs)(`div`,{style:{flex:1},children:[(0,o.jsx)(Q,{type:`secondary`,style:{fontSize:12},children:`Colour`}),(0,o.jsx)(nb,{value:u.color,onChange:e=>f(`color`,e)})]}),(0,o.jsxs)(`div`,{style:{flex:1},children:[(0,o.jsx)(Q,{type:`secondary`,style:{fontSize:12},children:`Capitalize`}),(0,o.jsx)(i.Select,{size:`small`,style:{width:`100%`},options:qy,value:Jy(u.capitalize),onChange:e=>f(`capitalize`,Yy(e))})]})]}),(0,o.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,marginTop:14},children:[(0,o.jsx)(i.Switch,{size:`small`,checked:u.hideSources!==!1,onChange:e=>f(`hideSources`,e)}),(0,o.jsx)(Q,{style:{fontSize:13},children:`Hide the source fields after merging`})]})]})})}function cb({open:t,module:n,onClose:s}){let[c,l]=(0,r.useState)(``),[u,d]=(0,r.useState)([]),[f,p]=(0,r.useState)({}),[m,h]=(0,r.useState)(!1),[g,_]=(0,r.useState)(``),v=async()=>{if(!c.trim())return i.message.warning(`Enter a record _id to preview`);h(!0),_(``);try{let[t]=await Promise.all([e.zn(n,c.trim()),e.Pt()]);d(t),p(Xc(t)),t.length||_(`No groups returned — check the id and module.`)}catch(e){_(e?.message||`Failed to load preview`)}finally{h(!1)}};return(0,o.jsxs)(i.Drawer,{open:t,onClose:s,width:520,title:(0,o.jsxs)(`span`,{className:`fg-drawer-title`,children:[(0,o.jsx)(a.EyeOutlined,{}),` Detail Preview — `,n]}),classNames:{header:`fg-drawer-header`,body:`fg-drawer-body`},children:[(0,o.jsxs)(i.Space.Compact,{style:{width:`100%`,marginBottom:14},children:[(0,o.jsx)(i.Input,{placeholder:`Paste a record _id (24-char ObjectId)`,value:c,onChange:e=>l(e.target.value),onPressEnter:v,className:`fg-mono-input`}),(0,o.jsx)(i.Button,{type:`primary`,loading:m,onClick:v,children:`Load`})]}),g&&(0,o.jsx)(i.Alert,{type:`warning`,showIcon:!0,message:g,style:{marginBottom:12}}),(0,o.jsxs)(i.Spin,{spinning:m,children:[u.map(e=>(0,o.jsxs)(`div`,{style:{marginBottom:18},children:[(0,o.jsx)(Q,{strong:!0,style:{display:`block`,marginBottom:8},children:e.label??e.name}),(e.fields??[]).filter(e=>e.show===void 0||e.show===1).map(e=>(0,o.jsxs)(`div`,{style:{display:`flex`,gap:10,padding:`4px 0`,borderBottom:`1px dashed #eee`},children:[(0,o.jsx)(Q,{type:`secondary`,style:{fontSize:12,width:150,flexShrink:0},children:$c(e,f)}),(0,o.jsx)(zl,{field:e})]},e.field))]},e.id??e.name)),!m&&!u.length&&!g&&(0,o.jsx)(i.Empty,{description:`Load a record to preview its detail view.`,image:i.Empty.PRESENTED_IMAGE_SIMPLE})]})]})}function lb(e){let t={};return[`s3BaseUrl`,`dateFormat`,`phoneFormat`,`booleanTrueLabel`,`booleanFalseLabel`,`emptyPlaceholder`,`separator`].forEach(n=>{e?.[n]!==void 0&&e?.[n]!==``&&(t[n]=e[n])}),typeof e?.phoneCountryCode==`string`&&(t.phoneCountryCode=e.phoneCountryCode),Array.isArray(e?.documentNameOrder)&&e.documentNameOrder.length&&(t.documentNameOrder=e.documentNameOrder),t}function ub({open:t,onClose:n}){let[s,c]=(0,r.useState)(()=>({...e.Mt()})),[l,u]=(0,r.useState)(!1);(0,r.useEffect)(()=>{if(!t)return;let n=!1;return e.En().then(e=>{n||c(t=>({...t,...lb(e)}))}).catch(()=>{}),()=>{n=!0}},[t]);let d=(e,t)=>c(n=>({...n,[e]:t})),f=async()=>{u(!0);try{let t={s3BaseUrl:(s.s3BaseUrl??``).trim(),dateFormat:(s.dateFormat??``).trim(),phoneFormat:(s.phoneFormat??``).trim(),phoneCountryCode:(s.phoneCountryCode??``).trim(),booleanTrueLabel:s.booleanTrueLabel??``,booleanFalseLabel:s.booleanFalseLabel??``,emptyPlaceholder:s.emptyPlaceholder??``,separator:s.separator??``,documentNameOrder:Array.isArray(s.documentNameOrder)?s.documentNameOrder:[]};await e.er(t),e.At(t),i.message.success(`Display defaults saved`),n()}catch(e){i.message.error(e?.message||`Could not save defaults`)}finally{u(!1)}},p={fontSize:12,display:`block`,marginBottom:4};return(0,o.jsxs)(i.Drawer,{open:t,onClose:n,width:460,title:(0,o.jsxs)(`span`,{className:`fg-drawer-title`,children:[(0,o.jsx)(a.SettingOutlined,{}),` Display Defaults`]}),classNames:{header:`fg-drawer-header`,body:`fg-drawer-body`},footer:(0,o.jsxs)(`div`,{className:`fg-drawer-footer`,children:[(0,o.jsx)(i.Button,{onClick:()=>c({...e.kt}),children:`Reset to built-in`}),(0,o.jsx)(i.Button,{type:`primary`,icon:(0,o.jsx)(a.SaveOutlined,{}),loading:l,onClick:f,children:`Save Defaults`})]}),children:[(0,o.jsxs)(`div`,{className:`fg-form-section`,children:[(0,o.jsx)(`div`,{className:`fg-form-section-label`,children:`Documents / Files`}),(0,o.jsxs)(`div`,{style:{marginBottom:12},children:[(0,o.jsx)(Q,{type:`secondary`,style:p,children:`S3 Base URL`}),(0,o.jsx)(i.Input,{size:`small`,placeholder:e.kt.s3BaseUrl,value:s.s3BaseUrl??``,onChange:e=>d(`s3BaseUrl`,e.target.value),className:`fg-mono-input`})]}),(0,o.jsxs)(`div`,{children:[(0,o.jsx)(Q,{type:`secondary`,style:p,children:`Document name priority (first match wins)`}),(0,o.jsx)(i.Select,{mode:`tags`,size:`small`,style:{width:`100%`},placeholder:`name, documentName, uploadedFileName…`,value:s.documentNameOrder??[],onChange:e=>d(`documentNameOrder`,e)})]})]}),(0,o.jsxs)(`div`,{className:`fg-form-section`,children:[(0,o.jsx)(`div`,{className:`fg-form-section-label`,children:`Value Formatting`}),(0,o.jsxs)(`div`,{style:{marginBottom:12},children:[(0,o.jsx)(Q,{type:`secondary`,style:p,children:`Date format (dayjs tokens)`}),(0,o.jsx)(i.Input,{size:`small`,placeholder:`DD MMM YYYY`,value:s.dateFormat??``,onChange:e=>d(`dateFormat`,e.target.value),className:`fg-mono-input`})]}),(0,o.jsxs)(`div`,{style:{marginBottom:12},children:[(0,o.jsx)(Q,{type:`secondary`,style:p,children:`Phone format (digit groups, e.g. 3-3-4 → 999-878-3413)`}),(0,o.jsx)(i.Input,{size:`small`,placeholder:`3-3-4`,value:s.phoneFormat??``,onChange:e=>d(`phoneFormat`,e.target.value),className:`fg-mono-input`})]}),(0,o.jsxs)(`div`,{style:{marginBottom:12},children:[(0,o.jsx)(Q,{type:`secondary`,style:p,children:`Fallback country code (leave blank — recommended)`}),(0,o.jsx)(i.Input,{size:`small`,placeholder:`blank = no code`,value:s.phoneCountryCode??``,onChange:e=>d(`phoneCountryCode`,e.target.value),className:`fg-mono-input`}),(0,o.jsx)(Q,{type:`secondary`,style:{fontSize:12,display:`block`,marginTop:4},children:`Used ONLY when a record carries no dial code of its own. It ships empty on purpose: a number that never stated a country is shown without one, rather than being stamped with a code someone assumed. Set it only if this tenant really is single-country.`})]}),(0,o.jsxs)(`div`,{className:`fg-field-meta-row`,children:[(0,o.jsxs)(`div`,{style:{flex:1},children:[(0,o.jsx)(Q,{type:`secondary`,style:p,children:`Boolean — true`}),(0,o.jsx)(i.Input,{size:`small`,placeholder:`Yes`,value:s.booleanTrueLabel??``,onChange:e=>d(`booleanTrueLabel`,e.target.value)})]}),(0,o.jsxs)(`div`,{style:{flex:1},children:[(0,o.jsx)(Q,{type:`secondary`,style:p,children:`Boolean — false`}),(0,o.jsx)(i.Input,{size:`small`,placeholder:`No`,value:s.booleanFalseLabel??``,onChange:e=>d(`booleanFalseLabel`,e.target.value)})]})]}),(0,o.jsxs)(`div`,{className:`fg-field-meta-row`,style:{marginTop:12},children:[(0,o.jsxs)(`div`,{style:{flex:1},children:[(0,o.jsx)(Q,{type:`secondary`,style:p,children:`Empty placeholder`}),(0,o.jsx)(i.Input,{size:`small`,placeholder:`-`,value:s.emptyPlaceholder??``,onChange:e=>d(`emptyPlaceholder`,e.target.value)})]}),(0,o.jsxs)(`div`,{style:{flex:1},children:[(0,o.jsx)(Q,{type:`secondary`,style:p,children:`Object / array separator`}),(0,o.jsx)(i.Input,{size:`small`,placeholder:` - `,value:s.separator??``,onChange:e=>d(`separator`,e.target.value)})]})]})]})]})}function db(){let[t,n]=(0,r.useState)([]),[s,c]=(0,r.useState)(!0),[l,u]=(0,r.useState)(``),[d,f]=(0,r.useState)([]),[p,m]=(0,r.useState)([]),[h,g]=(0,r.useState)([]),[_,v]=(0,r.useState)({}),[y,b]=(0,r.useState)([]),[x,S]=(0,r.useState)(!1),[C,w]=(0,r.useState)(``),[T,E]=(0,r.useState)(!1),[D,O]=(0,r.useState)(null),[k,A]=(0,r.useState)(null),[j,M]=(0,r.useState)(!1),[N,P]=(0,r.useState)(!1),[F,I]=(0,r.useState)(null),[L,R]=(0,r.useState)(0),[z,B]=(0,r.useState)(``),[ee,te]=(0,r.useState)([]),[V,ne]=(0,r.useState)(``),[re,H]=(0,r.useState)(``),[U,ie]=(0,r.useState)({});function ae(e){I(Ky[e])}async function oe(t,n,r,a){let o=d;f(e=>e.map(e=>e.id===t.id?{...e,[n]:r}:e)),ie(e=>({...e,[`${t.id}:${n}`]:!0}));try{await e.cr(t.id,{...t,[n]:r}),i.message.success(r?a.on:a.off)}catch(e){f(o),i.message.error(e?.message||`Could not update group visibility`)}finally{ie(e=>{let r={...e};return delete r[`${t.id}:${n}`],r})}}let se=(e,t)=>oe(e,`hideGroup`,t,{on:`Group hidden from add/edit forms and the detail view`,off:`Group is visible again`}),ce=(e,t)=>oe(e,`hideGroupInDetail`,t,{on:`Group hidden from the detail view only — add/edit forms keep it`,off:`Group is visible in the detail view again`}),le=(e,t)=>oe(e,`ignoreShowIfInDetail`,t,{on:`Group always shows in the detail view, even when its Show Condition fails`,off:`Group follows its Show Condition in the detail view`});function W(){I(null),R(e=>e+1)}(0,r.useEffect)(()=>{e.fn({limit:200}).then(te).catch(()=>te([]))},[]),(0,r.useEffect)(()=>{e.bn().then(e=>{let t=mv(e).map(({value:e,label:t})=>({key:e,label:t}));n(t),t.length&&u(t[0].key)}).catch(()=>n([])).finally(()=>c(!1))},[]),(0,r.useEffect)(()=>{if(!l)return;let t=!1;return(async()=>{S(!0),w(``);try{let[n,r]=await Promise.all([e.pn(l,{clientId:V}),e.Tn(l,{clientId:V})]);if(t)return;H(r.clientId??``),f(n??[]),m(Zy(n)),g((n??[]).map(e=>({value:e.name,label:e.label??e.name})));let i={};(r.fields??[]).forEach(e=>{i[e.field]=e}),v(i),b(r.merges??[])}catch(e){t||w(e?.message||`Failed to load configuration`)}finally{t||S(!1)}})(),()=>{t=!0}},[l,L,V]);let G=(0,r.useMemo)(()=>p.map(e=>({value:e.key,label:`${e.label} (${e.key})`})),[p]);async function K(){E(!0);try{let t=Object.entries(_).map(([e,t])=>Qy(e,t)).filter(Boolean),{nextGroups:n,changed:r}=tb(d,_);await e.$n({module:l,fields:t,merges:$y(y),clientId:V}),r.length&&(f(n),m(Zy(n)),g(n.map(e=>({value:e.name,label:e.label??e.name})))),H(V),i.message.success(V?`Detail view configuration saved for this client`:`Detail view configuration saved`)}catch(e){i.message.error(e?.message||`Could not save configuration`)}finally{E(!1)}}function ue(e){v(t=>({...t,[D.key]:{...e,field:D.key}})),O(null)}function de(e){v(t=>{let n={...t};return delete n[e],n})}function fe(e){b(t=>{let n=[...t];return k.index===null?n.push(e):n[k.index]=e,n}),A(null)}function pe(e,t){v(n=>{let r=n[e]??{field:e};return{...n,[e]:{...r,hidden:t}}})}let me=e=>{if(!e)return null;let t=[];e.label&&t.push((0,o.jsx)(i.Tag,{color:`blue`,children:`label`},`l`)),(e.prefix||e.suffix)&&t.push((0,o.jsx)(i.Tag,{color:`geekblue`,children:`±fix`},`ps`)),e.color&&t.push((0,o.jsx)(i.Tag,{color:e.color,children:`colour`},`c`)),e.capitalize===!0&&t.push((0,o.jsx)(i.Tag,{color:`purple`,children:`Title`},`cap`)),e.capitalize===!1&&t.push((0,o.jsx)(i.Tag,{color:`default`,children:`raw`},`cap`)),e.lookupCollection&&t.push((0,o.jsxs)(i.Tag,{color:`volcano`,children:[`lookup: `,e.lookupCollection]},`lk`)),e.ignoreLabelWhenInDetail&&t.push((0,o.jsx)(i.Tag,{color:`default`,children:`static label`},`ilw`));let n=e.renderType||(e.documentPreview?`document`:e.displayAs);return n&&n!==`auto`&&t.push((0,o.jsx)(i.Tag,{color:`cyan`,children:n},`rt`)),t.length?t:(0,o.jsx)(Q,{type:`secondary`,style:{fontSize:12},children:`—`})},he=[{title:`Group`,dataIndex:`label`,key:`label`,render:(e,t)=>(0,o.jsx)(Q,{strong:!0,style:{color:`var(--color-text-heading)`},children:e??t.name})},{title:`Key`,dataIndex:`name`,key:`name`,render:e=>(0,o.jsx)(`code`,{className:`fg-table-code`,children:e})},{title:`Order`,dataIndex:`order`,key:`order`,width:72,align:`center`,render:e=>(0,o.jsx)(`span`,{className:`fg-order-cell`,children:e??0})},{title:`Fields`,dataIndex:`fields`,key:`fields`,width:76,align:`center`,render:e=>(0,o.jsx)(i.Badge,{count:e?.length??0,showZero:!0,color:`var(--color-brand)`})},{title:`Customized`,key:`cust`,width:100,align:`center`,render:(e,t)=>{let n=(t.fields??[]).filter(e=>_[e.field]).length;return n?(0,o.jsx)(i.Tag,{color:`blue`,style:{margin:0},children:n}):(0,o.jsx)(Q,{type:`secondary`,style:{fontSize:12},children:`—`})}},{title:`Hide Group`,key:`hideGroup`,width:110,align:`center`,render:(e,t)=>(0,o.jsx)(i.Tooltip,{title:Xy(t.hideGroup)?`Hidden from add/edit forms AND the detail view`:`Visible in both — same flag as Form Groups`,children:(0,o.jsx)(i.Switch,{size:`small`,checkedChildren:`Hide`,unCheckedChildren:`Show`,checked:Xy(t.hideGroup),loading:!!U[`${t.id}:hideGroup`],onChange:e=>se(t,e)})})},{title:`Show Condition`,key:`ignoreShowIfInDetail`,width:130,align:`center`,render:(e,t)=>{let n=t.showIf?.field?`${t.showIf.field} ${t.showIf.operator??`eq`} ${t.showIf.value??``}`.trim():null;return n?(0,o.jsx)(i.Tooltip,{title:Xy(t.ignoreShowIfInDetail)?`Always shown, ignoring "${n}"`:`Hidden in the detail view unless "${n}"`,children:(0,o.jsx)(i.Switch,{size:`small`,checkedChildren:`Always`,unCheckedChildren:`Follow`,checked:Xy(t.ignoreShowIfInDetail),loading:!!U[`${t.id}:ignoreShowIfInDetail`],onChange:e=>le(t,e)})}):(0,o.jsx)(Q,{type:`secondary`,style:{fontSize:12},children:`—`})}},{title:`Hide in Detail`,key:`hideGroupInDetail`,width:120,align:`center`,render:(e,t)=>(0,o.jsx)(i.Tooltip,{title:Xy(t.hideGroupInDetail)?`Hidden from the DETAIL VIEW only — the add/edit forms still show this group`:`Shown in the detail view. Hide here to remove it from the detail view without touching the forms`,children:(0,o.jsx)(i.Switch,{size:`small`,checkedChildren:`Hide`,unCheckedChildren:`Show`,checked:Xy(t.hideGroupInDetail),loading:!!U[`${t.id}:hideGroupInDetail`],onChange:e=>ce(t,e)})})}],ge=e=>{let t=e.fields??[];return t.length?(0,o.jsx)(`div`,{className:`fg-expanded-fields`,children:t.map(t=>{let n=_[t.field],r=n?.hidden??eb(t),s={key:t.field,label:t.label??t.field,type:t.type??`text`,group:e.label??e.name,labelWhen:t.labelWhen,lookupDefaults:t.lookupCollection?{lookupCollection:t.lookupCollection,displayField:t.displayField??``,displayField2:t.displayField2??``,valueField:t.valueField||`_id`}:{}};return(0,o.jsxs)(`div`,{className:`fg-field-row`,children:[(0,o.jsxs)(`div`,{className:`fg-field-row-info`,children:[(0,o.jsx)(`span`,{className:`fg-field-row-label`,children:n?.label||t.label}),(0,o.jsx)(`span`,{className:`fg-field-row-key`,children:t.field}),(0,o.jsxs)(`span`,{className:`fg-field-row-type`,children:[`(`,t.type,`)`]}),Qv(t)&&(0,o.jsx)(i.Tooltip,{title:(()=>{let e=$v(t);return`Configured unique in Form Groups on "${e?.value?.collectionField||t.payloadKey||t.field}"${e?.message?` — "${e.message}"`:``}. Edit it there; this screen is display only.`})(),children:(0,o.jsx)(i.Tag,{color:`magenta`,style:{marginLeft:6},children:`Unique`})}),(()=>{let e=(n?.labelWhen??[]).filter(e=>e?.field&&e?.label),r=e.length?e:t.labelWhen?.field&&t.labelWhen?.label?[t.labelWhen]:[];if(!r.length)return null;let a=n?.ignoreLabelWhenInDetail;return(0,o.jsx)(i.Tooltip,{title:a?`Conditional labels ignored here — the detail view always shows "${t.label}"`:`${e.length?`Set in Detail Groups`:`Inherited from Form Groups`} — ${r.map(e=>`"${e.label}" when ${e.field} ${e.operator??`eq`} ${e.value??``}`.trim()).join(`; `)}`,children:(0,o.jsxs)(i.Tag,{color:a?`default`:e.length?`purple`:`blue`,style:{marginLeft:6},children:[`⇄ `,r[0].label,r.length>1?` +${r.length-1}`:``]})})})()]}),(0,o.jsx)(`div`,{className:`fg-field-row-flags`,children:me(n)}),(0,o.jsxs)(i.Space,{size:4,style:{marginLeft:`auto`},children:[(0,o.jsx)(i.Tooltip,{title:r?`Hidden in form and detail view`:`Visible`,children:(0,o.jsx)(i.Switch,{size:`small`,checkedChildren:`Hide`,unCheckedChildren:`Show`,checked:r,onChange:e=>pe(t.field,e)})}),(0,o.jsx)(i.Tooltip,{title:`Customize field`,children:(0,o.jsx)(i.Button,{type:`text`,size:`small`,icon:(0,o.jsx)(a.EditOutlined,{}),onClick:()=>O(s)})}),n&&(0,o.jsx)(i.Tooltip,{title:`Reset to default`,children:(0,o.jsx)(i.Button,{type:`text`,size:`small`,danger:!0,icon:(0,o.jsx)(a.ReloadOutlined,{}),onClick:()=>de(t.field)})})]})]},t.field)})}):(0,o.jsx)(Q,{type:`secondary`,style:{fontSize:12},children:`No fields in this group.`})},_e=(0,r.useMemo)(()=>{let e=z.trim().toLowerCase();return[...d].filter(t=>!e||[t.label,t.name,...(t.fields??[]).flatMap(e=>[e.label,e.field,e.type])].some(t=>String(t??``).toLowerCase().includes(e))).sort((e,t)=>(e.order??0)-(t.order??0))},[d,z]),ve=[{title:`Label`,dataIndex:`label`,key:`label`,render:(e,t)=>(0,o.jsxs)(`span`,{children:[(0,o.jsx)(Q,{strong:!0,children:e||t.key}),(0,o.jsx)(`span`,{className:`fg-field-key-hint`,children:t.key})]})},{title:`Fields`,dataIndex:`fields`,key:`fields`,render:e=>(0,o.jsx)(i.Space,{size:4,wrap:!0,children:(e??[]).map(e=>(0,o.jsx)(i.Tag,{children:e},e))})},{title:`Format`,key:`sep`,width:220,render:(e,t)=>(0,o.jsx)(`code`,{className:`fg-table-code`,children:t.template?.trim()?t.template:`join: ${t.separator||` - `}`})},{title:``,key:`actions`,width:90,align:`right`,render:(e,t,n)=>(0,o.jsxs)(i.Space,{size:4,children:[(0,o.jsx)(i.Tooltip,{title:`Edit`,children:(0,o.jsx)(i.Button,{type:`text`,size:`small`,icon:(0,o.jsx)(a.EditOutlined,{}),onClick:()=>A({index:n,merge:t})})}),(0,o.jsx)(i.Tooltip,{title:`Delete`,children:(0,o.jsx)(i.Button,{type:`text`,size:`small`,danger:!0,icon:(0,o.jsx)(a.DeleteOutlined,{}),onClick:()=>b(e=>e.filter((e,t)=>t!==n))})})]})}],ye=t.map(e=>({key:e.key,label:e.label}));return(0,o.jsxs)(`div`,{className:`fg-section`,children:[(0,o.jsxs)(Z,{icon:(0,o.jsx)(a.BgColorsOutlined,{}),title:`Detail Groups`,extra:(0,o.jsxs)(i.Space,{size:8,wrap:!0,children:[(0,o.jsx)(i.Dropdown,{trigger:[`click`],menu:{items:[{key:`save`,label:`Save current as default`,icon:(0,o.jsx)(a.SaveOutlined,{}),onClick:()=>ae(`save`)},{key:`restore`,label:`Restore saved default`,icon:(0,o.jsx)(a.CloudDownloadOutlined,{}),onClick:()=>ae(`restore`)},{type:`divider`},{key:`reset`,label:`Reset all detail settings`,icon:(0,o.jsx)(a.ReloadOutlined,{}),danger:!0,onClick:()=>ae(`reset`)}]},children:(0,o.jsx)(i.Button,{size:`small`,icon:(0,o.jsx)(a.MoreOutlined,{}),children:`Workspace defaults`})}),(0,o.jsx)(i.Button,{size:`small`,icon:(0,o.jsx)(a.SettingOutlined,{}),onClick:()=>P(!0),children:`Display Defaults`}),(0,o.jsx)(i.Button,{size:`small`,icon:(0,o.jsx)(a.EyeOutlined,{}),disabled:!l,onClick:()=>M(!0),children:`Preview`}),(0,o.jsx)(i.Button,{type:`primary`,size:`small`,icon:(0,o.jsx)(a.SaveOutlined,{}),loading:T,disabled:!l,onClick:K,children:`Save Configuration`})]}),children:[(0,o.jsx)(`div`,{className:`admin-accent-bar`}),(0,o.jsxs)(`div`,{className:`fg-scope-toolbar`,style:{marginBottom:12},children:[(0,o.jsx)(Q,{type:`secondary`,style:{fontSize:12},children:`Select a client to edit a client-scoped detail view for this module. Leave blank for the module default. A record belonging to a client automatically uses that client's detail config, falling back to the default when the client has none.`}),(0,o.jsxs)(i.Space,{wrap:!0,size:8,children:[(0,o.jsx)(i.Select,{size:`small`,allowClear:!0,showSearch:!0,placeholder:`Client (default)`,style:{width:240},value:V||void 0,optionFilterProp:`label`,options:ee.map(e=>({value:e._id??e.id,label:e.clientName??e.name??e.clientRefrenceId??e._id})).filter(e=>e.value),onChange:e=>ne(e??``)}),(0,o.jsx)(i.Button,{size:`small`,icon:(0,o.jsx)(a.ReloadOutlined,{}),onClick:()=>R(e=>e+1),children:`Reload`})]})]}),V&&!re&&!x&&(0,o.jsx)(i.Alert,{type:`info`,showIcon:!0,style:{marginBottom:12},message:`This client has no detail config of its own yet`,description:`You are viewing the module default. Saving now creates a config for this client only — the default and every other client are left untouched.`}),(0,o.jsx)(Q,{type:`secondary`,style:{fontSize:13},children:`Customize how each module's detail view renders: per-field label, prefix/suffix, colour, capitalization, hide, reference lookups (id → name), and merged display fields. These overrides are applied on top of Form Groups and the add/edit forms are unaffected — except "Hide Group", which is the same flag Form Groups uses, so hiding a group here (or there) hides it in both places. "Hide in Detail" hides the group from the detail view only, leaving the forms untouched.`})]}),(0,o.jsx)(Z,{styles:{body:{paddingTop:8}},children:(0,o.jsxs)(i.Spin,{spinning:s,children:[(0,o.jsx)(i.Tabs,{activeKey:l,onChange:u,items:ye.map(e=>({...e,children:null})),className:`admin-module-tabs`}),C&&(0,o.jsx)(i.Alert,{type:`error`,showIcon:!0,message:C,style:{marginBottom:12}}),(0,o.jsxs)(i.Spin,{spinning:x,children:[(0,o.jsxs)(`div`,{className:`admin-config-table-tools`,children:[(0,o.jsx)(i.Input,{allowClear:!0,prefix:(0,o.jsx)(a.SearchOutlined,{}),placeholder:`Search groups or fields`,value:z,onChange:e=>B(e.target.value)}),(0,o.jsxs)(Q,{type:`secondary`,style:{fontSize:12},children:[d.length,` groups · `,p.length,` fields`]})]}),(0,o.jsx)(i.Table,{rowKey:e=>e.id??e.name,dataSource:_e,columns:he,pagination:!1,size:`small`,className:`fg-table`,expandable:{expandedRowRender:ge,rowExpandable:()=>!0},locale:{emptyText:(0,o.jsx)(i.Empty,{description:`Select a module to see its groups and fields.`,image:i.Empty.PRESENTED_IMAGE_SIMPLE})}}),(0,o.jsxs)(`div`,{style:{margin:`20px 0 8px`,display:`flex`,justifyContent:`space-between`,alignItems:`center`},children:[(0,o.jsxs)(Q,{strong:!0,children:[(0,o.jsx)(a.MergeCellsOutlined,{}),` Merged Fields`]}),(0,o.jsx)(i.Button,{size:`small`,type:`dashed`,icon:(0,o.jsx)(a.PlusOutlined,{}),disabled:!l,onClick:()=>A({index:null,merge:null}),children:`Add Merge`})]}),(0,o.jsx)(i.Table,{rowKey:`key`,dataSource:y,columns:ve,pagination:!1,size:`small`,className:`fg-table`,locale:{emptyText:(0,o.jsx)(i.Empty,{description:`No merged fields. Combine e.g. 'from' + 'to' into one.`,image:i.Empty.PRESENTED_IMAGE_SIMPLE})}})]})]})}),(0,o.jsx)(ib,{open:!!D,fieldMeta:D,value:D?{...D.lookupDefaults,..._[D.key]??{}}:null,moduleFieldOptions:G,onClose:()=>O(null),onSave:ue},D?.key??`field-closed`),(0,o.jsx)(sb,{open:!!k,merge:k?.merge,fieldOptions:G,groupOptions:h,onClose:()=>A(null),onSave:fe},k?`merge-${k.index??`new`}`:`merge-closed`),(0,o.jsx)(ub,{open:N,onClose:()=>P(!1)}),(0,o.jsx)(cb,{open:j,module:l,onClose:()=>M(!1)}),(0,o.jsx)(ry,{open:!!F,scope:`detailConfig`,action:F?.action,title:F?.title,description:F?.description,confirmLabel:F?.confirmLabel,danger:F?.danger,onCancel:()=>I(null),onVerified:W})]})}var fb=`/admin/email-templates`,pb=`/email-templates`;function mb(e){return e?.data??e}async function hb({offset:e=0,limit:n=20,search:r=``,module:i=``,action:a=``,active:o}={}){let s=new URLSearchParams({offset:String(e),limit:String(n)});r&&s.set(`search`,r),i&&s.set(`module`,i),a&&s.set(`action`,a),o!==void 0&&s.set(`active`,String(o));let c=mb(await t.a(t.b,`${fb}?${s}`))??{};return{items:Array.isArray(c.items)?c.items:[],totalCount:Number(c.totalCount??0)}}async function gb(e){return mb(await t.a(t.b,`${fb}/${encodeURIComponent(e)}`))}async function _b(e){return t.a(t.b,fb,{method:`POST`,body:JSON.stringify(e)})}async function vb(e,n){return t.a(t.b,`${fb}/${encodeURIComponent(e)}`,{method:`PUT`,body:JSON.stringify(n)})}async function yb(e){return t.a(t.b,`${fb}/${encodeURIComponent(e)}`,{method:`DELETE`})}async function bb({module:e=``,action:n=``}={}){let r=new URLSearchParams;e&&r.set(`module`,e),n&&r.set(`action`,n);let i=mb(await t.a(t.b,`${pb}${r.toString()?`?${r}`:``}`));return Array.isArray(i)?i:[]}async function xb(e){return mb(await t.a(t.b,`${pb}/${encodeURIComponent(e)}`))}async function Sb({offset:e=0,limit:n=20,search:r=``}={}){let i=mb(await t.a(t.b,`/signature/homePage?${new URLSearchParams({offset:String(e),limit:String(n),sortBy:`new`,searchValue:r})}`))??{},a=Array.isArray(i.data)?i.data.map(e=>({...e,isActive:e.isActive??e.status??!1})):[];return{items:a,totalCount:Number(i.totalCount??a.length)}}async function Cb(e){return mb(await t.a(t.b,`/signature/editPreview?signatureId=${encodeURIComponent(e)}`))}async function wb(e){return t.a(t.b,`/signature/add`,{method:`POST`,body:JSON.stringify(e)})}async function Tb(e){return t.a(t.b,`/signature/edit`,{method:`PUT`,body:JSON.stringify(e)})}async function Eb(e){return t.a(t.b,`/signature/delete?signatureId=${encodeURIComponent(e)}`,{method:`DELETE`})}async function Db(e,n){return t.a(t.b,`/signature/statusUpdate?signatureId=${encodeURIComponent(e)}&status=${n}`,{method:`PUT`})}var Ob={reset:{action:`reset`,title:`Reset all row actions`,confirmLabel:`Reset All`,danger:!0,description:`This clears every configured row action for every module in this workspace. Actions have no built-in defaults, so this leaves every module with no actions until reconfigured.`},save:{action:`save`,title:`Save current as default`,confirmLabel:`Save Default`,danger:!1,description:`Snapshots the current row actions for all modules and roles as the saved default you can restore to later.`},restore:{action:`restore`,title:`Restore saved default`,confirmLabel:`Restore Default`,danger:!0,description:`Replaces the current row actions for all modules and roles with the last saved default.`}},{Text:kb}=i.Typography,Ab=[{value:`delete`,label:`delete (trash)`},{value:`edit`,label:`edit (pencil)`},{value:`mail`,label:`mail (envelope)`},{value:`shareAlt`,label:`shareAlt (share)`},{value:`swap`,label:`swap (arrows)`},{value:`thunderbolt`,label:`thunderbolt (lightning)`},{value:`userAdd`,label:`userAdd (add user)`},{value:`userSwitch`,label:`userSwitch (switch user)`}],jb=[{value:`navigate`,label:`Navigate (open page)`},{value:`modal`,label:`Modal (open popup)`},{value:`api`,label:`API (call endpoint)`},{value:`copy`,label:`Copy (clipboard)`},{value:`document`,label:`Document (open viewer)`},{value:`group`,label:`Group (submenu of child actions)`}],Mb=[`GET`,`POST`,`PUT`,`DELETE`],Nb=[`quick-submit`,`add-notes`,`mail`,`change-status`,`tag-to-job`,`add-to-groups`,`self-assign`,`others-assign`,`delete`,`vendor-share`,`sticky-notes`,`move-to-onboarding`,`approve-rate`,`reject`,`add-batch-candidate`],Pb={key:``,label:``,icon:``,actionType:`navigate`,routeTemplate:``,linkTarget:`_self`,apiMethod:`POST`,apiPath:``,popupKey:``,popupStateText:``,copyField:``,documentField:``,allowedTabs:[],permission:``,permissionModule:``,permissionAction:``,permissionKey:``,allowMultiple:!1,danger:!1,showInList:!0,showInDetail:!1,detailPlacement:`more`,doneLabel:``,doneField:``,doneOperator:`notEmpty`,doneValue:``,doneTone:`success`},Fb=[{value:`notEmpty`,label:`is set (not empty)`},{value:`eq`,label:`equals`},{value:`ne`,label:`not equals`},{value:`isEmpty`,label:`is empty`}];function Ib(){return`action_${Date.now()}`}function Lb({open:e,initial:t,isChild:n,popupForms:s,templateOptions:c,permissionModules:l,permissionActions:u,onClose:d,onSave:f}){let[p]=i.Form.useForm(),[m,h]=(0,r.useState)(!1),g=i.Form.useWatch(`actionType`,p)??`navigate`,_=i.Form.useWatch(`showInDetail`,p)??!1,v=i.Form.useWatch(`popupKey`,p)??``,y=i.Form.useWatch(`doneOperator`,p)??`notEmpty`;(0,r.useEffect)(()=>{if(e){let[e=``,n=``]=(t?.permission??``).split(`.`);p.setFieldsValue({...Pb,...t,permissionModule:e,permissionAction:n,popupStateText:t?.popupState?JSON.stringify(t.popupState,null,2):``,doneField:t?.doneWhen?.field??``,doneOperator:t?.doneWhen?.operator??`notEmpty`,doneValue:t?.doneWhen?.value??``,doneLabel:t?.doneLabel??``,doneTone:t?.doneTone??`success`})}},[e,t,p]);let b=async()=>{let e=await p.validateFields(),t;if(e.popupStateText?.trim())try{t=JSON.parse(e.popupStateText)}catch{p.setFields([{name:`popupStateText`,errors:[`Enter valid JSON`]}]);return}let n={...e};delete n.popupStateText;let{permissionModule:r,permissionAction:i}=n;delete n.permissionModule,delete n.permissionAction,n.permission=r&&i?`${r}.${i}`:``;let{doneField:a,doneOperator:o,doneValue:s}=n;if(delete n.doneField,delete n.doneOperator,delete n.doneValue,a?.trim()){let e=o||`notEmpty`,t=e===`eq`||e===`ne`;n.doneWhen={field:a.trim(),operator:e,...t?{value:(s??``).trim()}:{}},n.doneLabel?.trim()||(n.doneLabel=``)}else n.doneWhen=void 0,n.doneLabel=``;(n.actionType!==`modal`||![`mail`,`vendor-share`].includes(n.popupKey))&&delete n.defaultTemplateId,h(!0);try{await f({...n,...t?{popupState:t}:{popupState:void 0}})}finally{h(!1)}},x=[...Nb.map(e=>({value:e,label:`${e} (built-in)`})),...s.map(e=>({value:e.action,label:`${e.label} (${e.action})`}))].filter((e,t,n)=>n.findIndex(t=>t.value===e.value)===t);return(0,o.jsx)(i.Modal,{title:`${t?.key?`Edit`:`Add`}${n?` Child`:``} Action`,width:720,open:e,onCancel:d,onOk:b,confirmLoading:m,okText:`Save Action`,okButtonProps:{icon:(0,o.jsx)(a.SaveOutlined,{})},className:`fg-editor-modal action-editor-modal`,children:(0,o.jsxs)(i.Form,{form:p,layout:`vertical`,initialValues:Pb,className:`action-editor-form`,children:[(0,o.jsx)(`div`,{className:`action-editor-intro`,children:`Choose what the action does, then decide where it appears and who can use it.`}),(0,o.jsxs)(`div`,{className:`action-editor-grid`,children:[(0,o.jsx)(i.Form.Item,{name:`key`,label:`Key`,rules:[{required:!0,message:`Key is required`}],children:(0,o.jsx)(i.Input,{placeholder:`e.g. sourceCandidates`})}),(0,o.jsx)(i.Form.Item,{name:`label`,label:`Label`,rules:[{required:!0,message:`Label is required`}],children:(0,o.jsx)(i.Input,{placeholder:`e.g. Source Candidates`})}),(0,o.jsx)(i.Form.Item,{name:`icon`,label:`Icon`,rules:[{required:!1,message:`Icon is required`}],children:(0,o.jsx)(i.Select,{options:Ab,placeholder:`Select icon`,allowClear:!0})}),(0,o.jsx)(i.Form.Item,{name:`actionType`,label:`Action Type`,rules:[{required:!0}],children:(0,o.jsx)(i.Select,{options:jb})})]}),g===`group`&&(0,o.jsx)(i.Alert,{type:`info`,showIcon:!0,message:`Group actions don't run anything themselves.`,description:`This action renders as a submenu. Save it, then use "Add Child Action" on its row to configure what appears inside (e.g. Tag To Job, Send Mail, Add Notes).`,style:{marginBottom:16}}),g!==`group`&&(0,o.jsx)(`div`,{className:`action-editor-section-title`,children:`Behaviour`}),g===`navigate`&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(i.Form.Item,{name:`routeTemplate`,label:`Route Template`,rules:[{required:!0}],children:(0,o.jsx)(i.Input,{placeholder:`e.g. /app/jobs/edit/:_id`})}),(0,o.jsx)(i.Form.Item,{name:`linkTarget`,label:`Open in`,tooltip:`New tab is useful for a reference page the user shouldn't lose their place to (e.g. Open JD from Quick Submit).`,children:(0,o.jsx)(i.Select,{options:[{value:`_self`,label:`Same tab`},{value:`_blank`,label:`New tab`}]})})]}),g===`modal`&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(i.Form.Item,{name:`popupKey`,label:`Popup`,rules:[{required:!0,message:`Select a popup`}],tooltip:`Admin popup forms and built-in popup integrations are listed together.`,children:(0,o.jsx)(i.Select,{showSearch:!0,optionFilterProp:`label`,options:x,placeholder:`Select popup form`})}),(0,o.jsx)(i.Form.Item,{name:`popupStateText`,label:`Popup Context (JSON, optional)`,tooltip:`Static context passed to the popup, for example {"notesfor":"candidate"}`,children:(0,o.jsx)(i.Input.TextArea,{rows:4,placeholder:`{"notesfor":"candidate"}`})}),(0,o.jsxs)(i.Space.Compact,{block:!0,children:[(0,o.jsx)(i.Form.Item,{name:`apiMethod`,label:`Submit Method`,style:{width:150},children:(0,o.jsx)(i.Select,{options:Mb.map(e=>({value:e,label:e}))})}),(0,o.jsx)(i.Form.Item,{name:`apiPath`,label:`Submit API (optional)`,style:{flex:1},tooltip:`Leave empty to use the built-in handler for the selected popup key.`,children:(0,o.jsx)(i.Input,{placeholder:`e.g. /module-data-update`})})]})]}),g===`modal`&&[`mail`,`vendor-share`].includes(v)&&(0,o.jsx)(i.Form.Item,{name:`defaultTemplateId`,label:`Default Email Template`,tooltip:`This template is selected and loaded automatically whenever this action opens the mail composer.`,children:(0,o.jsx)(i.Select,{allowClear:!0,showSearch:!0,optionFilterProp:`label`,options:c,placeholder:`No default — user selects in composer`})}),g===`api`&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(i.Form.Item,{name:`apiMethod`,label:`API Method`,children:(0,o.jsx)(i.Select,{options:Mb.map(e=>({value:e,label:e}))})}),(0,o.jsx)(i.Form.Item,{name:`apiPath`,label:`API Path`,children:(0,o.jsx)(i.Input,{placeholder:`e.g. /jobs/:_id`})})]}),g===`copy`&&(0,o.jsx)(i.Form.Item,{name:`copyField`,label:`Record Field to Copy`,rules:[{required:!0}],children:(0,o.jsx)(i.Input,{placeholder:`e.g. email or applicantRefrenceId`})}),g===`document`&&(0,o.jsx)(i.Form.Item,{name:`documentField`,label:`Document Field`,rules:[{required:!0}],children:(0,o.jsx)(i.Input,{placeholder:`e.g. resume or attachment`})}),(0,o.jsx)(`div`,{className:`action-editor-section-title`,children:`Availability and access`}),(0,o.jsx)(i.Form.Item,{name:`allowedTabs`,label:`Allowed Tabs (optional)`,tooltip:`Leave empty to show on every tab.`,children:(0,o.jsx)(i.Select,{mode:`tags`,tokenSeparators:[`,`],placeholder:`e.g. allJobs`})}),(0,o.jsxs)(i.Space.Compact,{block:!0,children:[(0,o.jsx)(i.Form.Item,{name:`permissionModule`,label:`Role Permission — Module (optional)`,style:{width:`50%`},tooltip:`Which module's RBAC permission gates this action. Leave both empty to show for every permitted role.`,children:(0,o.jsx)(i.Select,{allowClear:!0,showSearch:!0,optionFilterProp:`label`,placeholder:`e.g. job`,options:l.map(e=>({value:e,label:e}))})}),(0,o.jsx)(i.Form.Item,{name:`permissionAction`,label:`Role Permission — Action`,style:{width:`50%`},children:(0,o.jsx)(i.Select,{allowClear:!0,showSearch:!0,optionFilterProp:`label`,placeholder:`e.g. edit`,options:u.map(e=>({value:e,label:e}))})})]}),(0,o.jsx)(i.Form.Item,{name:`permissionKey`,label:`Permission Key (row-level gate)`,tooltip:`Maps to record.actionPermission.<key>. Leave blank to always show.`,children:(0,o.jsx)(i.Input,{placeholder:`e.g. edit, sourceCandidates, sharePermission`})}),(0,o.jsxs)(`div`,{className:`action-toggle-grid`,children:[(0,o.jsx)(i.Form.Item,{name:`allowMultiple`,label:`Multiple Records`,valuePropName:`checked`,children:(0,o.jsx)(i.Switch,{})}),(0,o.jsx)(i.Form.Item,{name:`danger`,label:`Danger`,valuePropName:`checked`,children:(0,o.jsx)(i.Switch,{})}),(0,o.jsx)(i.Form.Item,{name:`showInList`,label:`Show in List`,valuePropName:`checked`,children:(0,o.jsx)(i.Switch,{})}),(0,o.jsx)(i.Form.Item,{name:`showInDetail`,label:`Show in Detail`,valuePropName:`checked`,children:(0,o.jsx)(i.Switch,{})})]}),_&&(0,o.jsx)(i.Form.Item,{name:`detailPlacement`,label:`Detail Placement`,children:(0,o.jsx)(i.Select,{options:[{value:`primary`,label:`Primary button`},{value:`more`,label:`More actions menu`}]})}),(0,o.jsx)(`div`,{className:`action-editor-section-title`,children:`Done state (optional)`}),(0,o.jsx)(i.Alert,{type:`info`,showIcon:!0,style:{marginBottom:12},message:`Turn this action into a disabled success label once a condition is met.`,description:`Example: when the record field "onboardingStatus" is set, "Move to Onboarding" shows as a disabled "Moved to Onboarded". Leave the field blank to disable.`}),(0,o.jsx)(i.Form.Item,{name:`doneLabel`,label:`Done Label`,tooltip:`Text shown once the done condition is met (e.g. Moved to Onboarded). Falls back to the normal label if blank.`,children:(0,o.jsx)(i.Input,{placeholder:`e.g. Moved to Onboarded`})}),(0,o.jsxs)(i.Space.Compact,{block:!0,children:[(0,o.jsx)(i.Form.Item,{name:`doneField`,label:`When Record Field`,style:{width:`40%`},tooltip:`A field on the record to test (dotted paths allowed, e.g. onboardingStatus).`,children:(0,o.jsx)(i.Input,{placeholder:`e.g. onboardingStatus`})}),(0,o.jsx)(i.Form.Item,{name:`doneOperator`,label:`Condition`,style:{width:`30%`},children:(0,o.jsx)(i.Select,{options:Fb})}),(0,o.jsx)(i.Form.Item,{name:`doneValue`,label:`Value`,style:{width:`30%`},hidden:y!==`eq`&&y!==`ne`,children:(0,o.jsx)(i.Input,{placeholder:`e.g. In Progress`})})]}),(0,o.jsx)(i.Form.Item,{name:`doneTone`,label:`Done Colour`,children:(0,o.jsx)(i.Select,{options:[{value:`success`,label:`Success (green)`},{value:`primary`,label:`Primary (blue)`},{value:`danger`,label:`Danger (red)`}]})})]})})}function Rb(){let[t,n]=(0,r.useState)([]),[s,c]=(0,r.useState)(``),[l,u]=(0,r.useState)([]),[d,f]=(0,r.useState)(null),[p,m]=(0,r.useState)([]),[h,g]=(0,r.useState)(!1),[_,v]=(0,r.useState)(!1),[y,b]=(0,r.useState)(!1),[x,S]=(0,r.useState)(null),[C,w]=(0,r.useState)(!1),[T,E]=(0,r.useState)(null),[D,O]=(0,r.useState)([]),[k,A]=(0,r.useState)([]),[j,M]=(0,r.useState)(null),[N,P]=(0,r.useState)(``),[F,I]=(0,r.useState)([]),[L,R]=(0,r.useState)([]);(0,r.useEffect)(()=>{e.dn().then(e=>{let t=mv(e).map(e=>e.value);n(t),c(e=>e||t[0]||``)}).catch(()=>{n([])})},[]),(0,r.useEffect)(()=>{Promise.all([e.Pn().catch(()=>[]),e.Nn().catch(()=>[])]).then(([e,t])=>{I([...new Set(e.map(e=>e.MENUNAME??e.menuName).filter(Boolean))]),R([...new Set(t.map(e=>e.permissionKey??e.PERMISSIONKEY).filter(Boolean))])})},[]);let z=(0,r.useCallback)(async()=>{if(s){v(!0),S(null),u([]);try{u(await e.Kn(s))}catch(e){S(e.message)}finally{v(!1)}}},[s]);(0,r.useEffect)(()=>{queueMicrotask(()=>{z()})},[z]),(0,r.useEffect)(()=>{Promise.all([e.wn(s,`popup`).catch(()=>[]),bb({module:s}).catch(()=>[])]).then(([e,t])=>{O(e),A(t.map(e=>({value:e._id??e.id,label:`${e.name} · ${e.action}`})))})},[s]),(0,r.useEffect)(()=>{queueMicrotask(()=>{let e=l.filter(e=>e.roleId===0),t=e.find(e=>e.module===s)??e[0];f(t??null),m(t?t.rowActions??[]:[]),g(!1)})},[s,l]);let B=async()=>{b(!0);try{if(d)await e.gr(d.id??d._id,p),u(e=>e.map(e=>(e.id??e._id)===(d.id??d._id)?{...e,rowActions:p}:e)),i.message.success(`Config saved`);else{let t=await e.en({module:s,roleId:0,rowActions:p}),n=t?.data??t;f(n),u(e=>[...e,n]),i.message.success(`Config created`)}g(!1)}catch(e){i.message.error(e.message),String(e.message??``).toLowerCase().includes(`already exists`)&&z()}finally{b(!1)}},ee=async()=>{if(d)try{await e.un(d.id??d._id),i.message.success(`Config deleted`),await z()}catch(e){i.message.error(e.message)}},[te,V]=(0,r.useState)(null),ne=(e=null)=>{V(typeof e==`string`?e:null),E(null),w(!0)},re=(e,t=null)=>{V(t),E(e),w(!0)},H=async t=>{let n;n=te?p.map(e=>{if(e.key!==te)return e;let n=e.children??[],r=T?n.map(e=>e.key===T.key?{...e,...t}:e):[...n,{...Pb,...t,_localKey:Ib()}];return{...e,children:r}}):T?p.map(e=>e.key===T.key?{...e,...t}:e):[...p,{...Pb,...t,_localKey:Ib()}];try{if(d)await e.gr(d.id??d._id,n),u(e=>e.map(e=>(e.id??e._id)===(d.id??d._id)?{...e,rowActions:n}:e)),i.message.success(`Config saved`);else{let t=await e.en({module:s,roleId:0,rowActions:n}),r=t?.data??t;f(r),u(e=>[...e,r]),i.message.success(`Config created`)}m(n),g(!1),w(!1)}catch(e){i.message.error(e.message),String(e.message??``).toLowerCase().includes(`already exists`)&&z()}},U=(e,t=null)=>{m(t?n=>n.map(n=>n.key===t?{...n,children:(n.children??[]).filter(t=>t.key!==e)}:n):t=>t.filter(t=>t.key!==e)),g(!0)},ie=(e,t)=>{m(n=>{let r=[...n],i=e+t;return i<0||i>=r.length?n:([r[e],r[i]]=[r[i],r[e]],r)}),g(!0)};function ae(e){M(Ob[e])}function oe(){M(null),z()}let se=(0,r.useMemo)(()=>{let e=N.trim().toLowerCase();return e?p.filter(t=>[t.label,t.key,t.actionType,t.popupKey,t.routeTemplate,t.apiPath,t.permissionKey].some(t=>String(t??``).toLowerCase().includes(e))):p},[p,N]),ce=[{title:`Order`,key:`order`,width:76,render:(e,t)=>(0,o.jsxs)(i.Space,{children:[(0,o.jsx)(i.Button,{size:`small`,type:`text`,disabled:t._actionIndex===0,onClick:()=>ie(t._actionIndex,-1),children:`↑`}),(0,o.jsx)(i.Button,{size:`small`,type:`text`,disabled:t._actionIndex===p.length-1,onClick:()=>ie(t._actionIndex,1),children:`↓`})]})},{title:`Action`,key:`identity`,width:210,render:(e,t)=>(0,o.jsxs)(`div`,{className:`admin-config-primary-cell`,children:[(0,o.jsx)(kb,{strong:!0,children:t.label||t.key}),(0,o.jsx)(kb,{type:`secondary`,code:!0,children:t.key})]})},{title:`Behaviour`,key:`destination`,render:(e,t)=>(0,o.jsxs)(`div`,{className:`admin-config-primary-cell`,children:[(0,o.jsx)(i.Tag,{color:`blue`,children:t.actionType}),(0,o.jsx)(kb,{type:`secondary`,ellipsis:{tooltip:!0},children:t.actionType===`group`?`${(t.children??[]).length} child action${(t.children??[]).length===1?``:`s`}`:t.popupKey||t.routeTemplate||t.apiPath||t.copyField||t.documentField||`No destination`})]})},{title:`Visible in`,key:`visibility`,width:210,render:(e,t)=>(0,o.jsxs)(i.Space,{size:[4,4],wrap:!0,children:[t.showInList&&(0,o.jsx)(i.Tag,{color:`green`,children:`List`}),(t.showInDetail??t.showInList)&&(0,o.jsxs)(i.Tag,{color:`purple`,children:[`Detail · `,t.detailPlacement||`more`]}),t.allowMultiple&&(0,o.jsx)(i.Tag,{children:`Multi-select`}),t.danger&&(0,o.jsx)(i.Tag,{color:`red`,children:`Destructive`}),!t.showInList&&!(t.showInDetail??t.showInList)&&(0,o.jsx)(kb,{type:`secondary`,children:`Nowhere`})]})},{title:`Access`,key:`access`,width:170,render:(e,t)=>(0,o.jsxs)(`div`,{className:`admin-config-primary-cell`,children:[(0,o.jsx)(kb,{type:`secondary`,children:t.permission||`All permitted roles`}),t.permissionKey&&(0,o.jsx)(kb,{type:`secondary`,code:!0,children:t.permissionKey})]})},{title:``,key:`actions`,width:110,fixed:`right`,render:(e,t)=>(0,o.jsxs)(i.Space,{children:[t.actionType===`group`&&(0,o.jsx)(i.Tooltip,{title:`Add child action`,children:(0,o.jsx)(i.Button,{size:`small`,type:`text`,icon:(0,o.jsx)(a.PlusOutlined,{}),onClick:()=>ne(t.key)})}),(0,o.jsx)(i.Tooltip,{title:`Edit`,children:(0,o.jsx)(i.Button,{size:`small`,type:`text`,icon:(0,o.jsx)(a.EditOutlined,{}),onClick:()=>re(t)})}),(0,o.jsx)(i.Popconfirm,{title:`Remove this action?`,onConfirm:()=>U(t.key),okText:`Remove`,okType:`danger`,children:(0,o.jsx)(i.Tooltip,{title:`Remove`,children:(0,o.jsx)(i.Button,{size:`small`,type:`text`,danger:!0,icon:(0,o.jsx)(a.DeleteOutlined,{})})})})]})}],le=e=>[{title:`Action`,key:`identity`,width:210,render:(e,t)=>(0,o.jsxs)(`div`,{className:`admin-config-primary-cell`,children:[(0,o.jsx)(kb,{strong:!0,children:t.label||t.key}),(0,o.jsx)(kb,{type:`secondary`,code:!0,children:t.key})]})},{title:`Behaviour`,key:`destination`,render:(e,t)=>(0,o.jsxs)(`div`,{className:`admin-config-primary-cell`,children:[(0,o.jsx)(i.Tag,{color:`blue`,children:t.actionType}),(0,o.jsx)(kb,{type:`secondary`,ellipsis:{tooltip:!0},children:t.popupKey||t.routeTemplate||t.apiPath||t.copyField||t.documentField||`No destination`})]})},{title:`Access`,key:`access`,width:170,render:(e,t)=>(0,o.jsxs)(`div`,{className:`admin-config-primary-cell`,children:[(0,o.jsx)(kb,{type:`secondary`,children:t.permission||`All permitted roles`}),t.permissionKey&&(0,o.jsx)(kb,{type:`secondary`,code:!0,children:t.permissionKey})]})},{title:``,key:`actions`,width:80,fixed:`right`,render:(t,n)=>(0,o.jsxs)(i.Space,{children:[(0,o.jsx)(i.Tooltip,{title:`Edit`,children:(0,o.jsx)(i.Button,{size:`small`,type:`text`,icon:(0,o.jsx)(a.EditOutlined,{}),onClick:()=>re(n,e)})}),(0,o.jsx)(i.Popconfirm,{title:`Remove this child action?`,onConfirm:()=>U(n.key,e),okText:`Remove`,okType:`danger`,children:(0,o.jsx)(i.Tooltip,{title:`Remove`,children:(0,o.jsx)(i.Button,{size:`small`,type:`text`,danger:!0,icon:(0,o.jsx)(a.DeleteOutlined,{})})})})]})}];return(0,o.jsxs)(`div`,{className:`fg-section admin-config-section`,children:[(0,o.jsxs)(Z,{icon:(0,o.jsx)(a.ToolOutlined,{}),title:`Actions`,extra:(0,o.jsx)(i.Dropdown,{trigger:[`click`],menu:{items:[{key:`save`,label:`Save current as default`,icon:(0,o.jsx)(a.SaveOutlined,{}),onClick:()=>ae(`save`)},{key:`restore`,label:`Restore saved default`,icon:(0,o.jsx)(a.CloudDownloadOutlined,{}),onClick:()=>ae(`restore`)},{type:`divider`},{key:`reset`,label:`Reset all actions`,icon:(0,o.jsx)(a.ReloadOutlined,{}),danger:!0,onClick:()=>ae(`reset`)}]},children:(0,o.jsx)(i.Button,{size:`small`,icon:(0,o.jsx)(a.MoreOutlined,{}),children:`Workspace defaults`})}),children:[(0,o.jsx)(`div`,{className:`admin-accent-bar`}),(0,o.jsx)(kb,{type:`secondary`,children:`Build one action once, then control its List and Detail placement, permissions, tabs, and multi-select behaviour.`})]}),(0,o.jsx)(Z,{styles:{body:{padding:`14px 18px`}},children:(0,o.jsxs)(`div`,{className:`admin-config-context`,children:[(0,o.jsxs)(`div`,{className:`admin-config-context-copy`,children:[(0,o.jsx)(kb,{strong:!0,children:`Configuration context`}),(0,o.jsx)(kb,{type:`secondary`,children:`Choose a module. This is the default action library for all roles — per-role overrides are set in User Types → Config → Actions.`})]}),(0,o.jsxs)(`div`,{className:`admin-config-context-controls`,children:[(0,o.jsxs)(`label`,{className:`admin-config-control`,children:[(0,o.jsx)(kb,{type:`secondary`,style:{display:`block`,marginBottom:4,fontSize:12},children:`Module`}),(0,o.jsx)(i.Select,{showSearch:!0,optionFilterProp:`label`,style:{width:220},mode:`tags`,maxCount:1,placeholder:`Pick or type a module key`,value:s?[s]:[],onChange:e=>c(String(e[e.length-1]??``).trim()),options:t.map(e=>({value:e,label:e}))})]}),(0,o.jsx)(`div`,{className:`admin-config-reload`,children:(0,o.jsx)(i.Button,{icon:(0,o.jsx)(a.ReloadOutlined,{}),onClick:z,loading:_,children:`Reload`})})]})]})}),x&&(0,o.jsx)(i.Alert,{type:`error`,message:x,showIcon:!0}),(0,o.jsxs)(Z,{icon:(0,o.jsx)(a.ToolOutlined,{}),title:(0,o.jsxs)(i.Space,{wrap:!0,children:[(0,o.jsxs)(`span`,{children:[p.length,` configured action`,p.length===1?``:`s`]}),d?(0,o.jsx)(i.Tag,{color:`green`,children:`Default config loaded (All Roles)`}):(0,o.jsx)(i.Tag,{color:`orange`,children:`No config — will create on Save`})]}),extra:(0,o.jsxs)(i.Space,{wrap:!0,children:[d&&(0,o.jsx)(i.Popconfirm,{title:`Delete this entire config?`,onConfirm:ee,okText:`Delete`,okType:`danger`,children:(0,o.jsx)(i.Button,{danger:!0,size:`small`,icon:(0,o.jsx)(a.DeleteOutlined,{}),children:`Delete Config`})}),(0,o.jsx)(i.Button,{icon:(0,o.jsx)(a.PlusOutlined,{}),onClick:()=>ne(),children:`New action`}),(0,o.jsx)(i.Button,{type:`primary`,icon:(0,o.jsx)(a.SaveOutlined,{}),loading:y,disabled:!h,onClick:B,children:`Save Config`})]}),children:[(0,o.jsxs)(`div`,{className:`admin-config-table-tools`,children:[(0,o.jsx)(i.Input,{allowClear:!0,prefix:(0,o.jsx)(a.SearchOutlined,{}),placeholder:`Search actions`,value:N,onChange:e=>P(e.target.value)}),h&&(0,o.jsx)(kb,{type:`warning`,children:`Unsaved changes`})]}),(0,o.jsx)(i.Spin,{spinning:_,children:(0,o.jsx)(i.Table,{dataSource:se.map((e,t)=>({...e,_actionIndex:p.indexOf(e),_rowKey:e.key||e._localKey||t})),rowKey:`_rowKey`,columns:ce,pagination:!1,size:`small`,className:`fg-table admin-config-table`,scroll:{x:820},locale:{emptyText:`No actions configured. Click "Add Action" to start.`},expandable:{rowExpandable:e=>e.actionType===`group`,expandedRowRender:e=>(0,o.jsx)(i.Table,{dataSource:(e.children??[]).map((e,t)=>({...e,_rowKey:e.key||e._localKey||t})),rowKey:`_rowKey`,columns:le(e.key),pagination:!1,size:`small`,className:`fg-table admin-config-table`,locale:{emptyText:`No child actions yet. Use the + button on this row to add one (e.g. Tag To Job, Send Mail, Add Notes).`}})}})})]}),(0,o.jsx)(Lb,{open:C,initial:T,isChild:!!te,popupForms:D,templateOptions:k,permissionModules:F,permissionActions:L,onClose:()=>w(!1),onSave:H}),(0,o.jsx)(ry,{open:!!j,scope:`rowActions`,action:j?.action,title:j?.title,description:j?.description,confirmLabel:j?.confirmLabel,danger:j?.danger,onCancel:()=>M(null),onVerified:oe})]})}var{Text:zb,Title:Bb}=i.Typography,Vb=[{value:`eq`,label:`equals`},{value:`ne`,label:`not equals`},{value:`isEmpty`,label:`is empty`},{value:`notEmpty`,label:`is not empty`},{value:`contains`,label:`contains`},{value:`includes`,label:`list includes (exact)`},{value:`notIncludes`,label:`list does not include (exact)`},{value:`fieldEq`,label:`field = field`},{value:`scope`,label:`view scope`}],Hb=[{value:`{currentUserId}`,label:`{currentUserId} — the signed-in user`}],Ub=[{value:`myJobs`,label:`My Jobs`},{value:`allJobs`,label:`All Jobs`}],Wb=[`eq`,`ne`,`contains`,`includes`,`notIncludes`],Gb=`scope`,Kb=`fieldEq`,qb=[{name:`Fulfilled jobs — block sourcing`,description:`When a job status is fulfilled and has no recruiters, hide source & quick-submit buttons.`,conditions:[{field:`jobRecruitmentStatus`,operator:`eq`,value:`fulfilled`,compareField:``},{field:`recruiters`,operator:`isEmpty`,value:``,compareField:``}],blockedActions:[`sourceCandidates`,`quickSubmit`],isActive:!0},{name:`All Jobs scope — restrict actions`,description:`When viewing All Jobs, hide sourcing, quick-submit, change-status, notes and share.`,conditions:[{field:``,operator:`scope`,value:`allJobs`,compareField:``}],blockedActions:[`sourceCandidates`,`quickSubmit`,`changeStatus`,`addNotes`,`share`],isActive:!0},{name:`Target submission reached — block sourcing`,description:`When targetSubmission equals submissionCount, no more sourcing is needed.`,conditions:[{field:`targetSubmission`,operator:`fieldEq`,value:``,compareField:`submissionCount`}],blockedActions:[`sourceCandidates`,`quickSubmit`],isActive:!0}],Jb=()=>({field:``,operator:`eq`,value:``,compareField:``}),Yb=()=>({name:``,description:``,conditions:[Jb()],blockedActions:[],disabledActions:[],isActive:!0});function Xb(e){return Vb.find(t=>t.value===e)?.label??e}function Zb(e){return e.operator===Gb?`scope = ${e.value}`:e.operator===Kb?`${e.field} = field:${e.compareField}`:[`isEmpty`,`notEmpty`].includes(e.operator)?`${e.field} ${Xb(e.operator)}`:`${e.field} ${Xb(e.operator)} "${e.value}"`}function Qb(){let[t,n]=(0,r.useState)([]),[s,c]=(0,r.useState)(!1),[l,u]=(0,r.useState)(``),[d,f]=(0,r.useState)([]),[p,m]=(0,r.useState)(!1),[h,g]=(0,r.useState)(!1),[_,v]=(0,r.useState)(null),[y,b]=(0,r.useState)(Yb()),[x,S]=(0,r.useState)(!1),[C,w]=(0,r.useState)(!1),[T,E]=(0,r.useState)([]),[D,O]=(0,r.useState)([]);(0,r.useEffect)(()=>{let t=!1;return queueMicrotask(()=>{c(!0),e.dn().then(e=>{if(t)return;let r=mv(e);n(r),u(e=>r.some(t=>t.value===e)?e:r[0]?.value??``)}).catch(()=>{t||(n([]),u(``))}).finally(()=>{t||c(!1)})}),()=>{t=!0}},[]);function k(t){m(!0),e.Fn(t).then(e=>f(Array.isArray(e)?e:[])).catch(()=>f([])).finally(()=>m(!1))}function A(t){e.Bn(t).then(e=>{E((Array.isArray(e)?e:[]).map(e=>({value:e.field??e.fieldKey??e.key??e.name,label:`${e.label??e.fieldName??e.name} (${e.field??e.fieldKey??e.key??e.name})`})).filter(e=>e.value))}).catch(()=>E([]))}function j(t){e.Kn(t).then(e=>{let t=new Set;(Array.isArray(e)?e:[]).forEach(e=>{(e.rowActions??[]).forEach(e=>{e.key&&t.add(e.key)})}),O([...t].map(e=>({value:e,label:e})))}).catch(()=>O([]))}(0,r.useEffect)(()=>{queueMicrotask(()=>{if(!l){f([]),E([]),O([]);return}k(l),A(l),j(l)})},[l]);function M(){v(null),b(Yb()),g(!0)}function N(e){v(e),b({name:e.name??``,description:e.description??``,conditions:e.conditions?.length?e.conditions.map(e=>({...e})):[Jb()],blockedActions:e.blockedActions??[],disabledActions:e.disabledActions??[],isActive:e.isActive??!0}),g(!0)}async function P(){if(y.name.trim()){S(!0);try{_?(await e.fr(_.id,y),i.message.success(`Rule updated`)):(await e.Qt({...y,module:l}),i.message.success(`Rule created`)),g(!1),k(l)}catch(e){i.message.error(e.message)}finally{S(!1)}}}async function F(t){try{await e.sn(t.id),i.message.success(`Rule deleted`)}catch(e){i.message.error(e.message)}k(l)}async function I(){w(!0);try{for(let t of qb)await e.Qt({...t,module:l});i.message.success(`Default job rules created`),k(l)}catch(e){i.message.error(e.message)}finally{w(!1)}}function L(e,t){b(n=>({...n,conditions:n.conditions.map((n,r)=>r===e?{...n,...t}:n)}))}function R(){b(e=>({...e,conditions:[...e.conditions,Jb()]}))}function z(e){b(t=>({...t,conditions:t.conditions.filter((t,n)=>n!==e)}))}return(0,o.jsxs)(`div`,{style:{padding:`24px 0`},children:[(0,o.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:12,marginBottom:8,flexWrap:`wrap`},children:[(0,o.jsx)(Bb,{level:5,style:{margin:0},children:`Action Rules`}),(0,o.jsx)(i.Select,{options:t,value:l,loading:s,placeholder:`Select module`,onChange:u,style:{width:200}}),(0,o.jsx)(i.Button,{icon:(0,o.jsx)(a.PlusOutlined,{}),type:`primary`,disabled:!l,onClick:M,children:`Add Rule`}),(l===`job`||l===`jobs`)&&(0,o.jsx)(i.Tooltip,{title:`Create the 3 standard job rules that replace the hardcoded backend logic`,children:(0,o.jsx)(i.Button,{icon:(0,o.jsx)(a.ThunderboltOutlined,{}),loading:C,onClick:I,children:`Seed Job Defaults`})})]}),(0,o.jsx)(i.Alert,{type:`info`,showIcon:!0,style:{marginBottom:16,fontSize:12},message:(0,o.jsxs)(`span`,{children:[`Rules are evaluated `,(0,o.jsx)(`b`,{children:`per row`}),` in the list view using the record's own field values. When `,(0,o.jsx)(`b`,{children:`all conditions`}),` of a rule match, the listed action buttons are hidden for that row. The `,(0,o.jsx)(`b`,{children:`key`}),` of each blocked action must match what is set in `,(0,o.jsx)(`b`,{children:`Row Actions`}),` config.`]})}),(0,o.jsx)(i.Table,{columns:[{title:`Rule Name`,dataIndex:`name`,key:`name`,width:200,render:(e,t)=>(0,o.jsxs)(`div`,{children:[(0,o.jsx)(zb,{strong:!0,children:e}),t.description?(0,o.jsx)(`div`,{children:(0,o.jsx)(zb,{type:`secondary`,style:{fontSize:11},children:t.description})}):null]})},{title:`Conditions (ALL must match)`,key:`conditions`,render:(e,t)=>(0,o.jsx)(i.Space,{size:4,direction:`vertical`,children:(t.conditions??[]).map((e,t)=>(0,o.jsx)(i.Tag,{style:{fontFamily:`monospace`,fontSize:11,margin:0},children:Zb(e)},t))})},{title:`Blocked Row Actions`,key:`blockedActions`,render:(e,t)=>(0,o.jsx)(i.Space,{size:4,wrap:!0,children:(t.blockedActions??[]).map(e=>(0,o.jsx)(i.Tag,{color:`volcano`,children:e},e))})},{title:`Disabled Row Actions`,key:`disabledActions`,render:(e,t)=>(0,o.jsx)(i.Space,{size:4,wrap:!0,children:(t.disabledActions??[]).map(e=>(0,o.jsx)(i.Tag,{color:`gold`,children:e},e))})},{title:`Active`,dataIndex:`isActive`,key:`isActive`,width:70,render:e=>(0,o.jsx)(i.Tag,{color:e?`green`:`default`,children:e?`On`:`Off`})},{title:``,key:`act`,width:80,render:(e,t)=>(0,o.jsxs)(i.Space,{children:[(0,o.jsx)(i.Tooltip,{title:`Edit`,children:(0,o.jsx)(i.Button,{icon:(0,o.jsx)(a.EditOutlined,{}),size:`small`,type:`text`,onClick:()=>N(t)})}),(0,o.jsx)(i.Popconfirm,{title:`Delete this rule?`,onConfirm:()=>F(t),children:(0,o.jsx)(i.Tooltip,{title:`Delete`,children:(0,o.jsx)(i.Button,{danger:!0,icon:(0,o.jsx)(a.DeleteOutlined,{}),size:`small`,type:`text`})})})]})}],dataSource:d,loading:p,rowKey:`id`,size:`small`,pagination:!1,locale:{emptyText:l?`No rules yet. Click "Add Rule" to get started.`:`No modules found. Configure modules first.`}}),(0,o.jsx)(i.Drawer,{open:h,title:_?`Edit: ${_.name}`:`Add Action Rule`,width:620,onClose:()=>g(!1),footer:(0,o.jsxs)(i.Space,{style:{float:`right`},children:[(0,o.jsx)(i.Button,{onClick:()=>g(!1),children:`Cancel`}),(0,o.jsx)(i.Button,{type:`primary`,loading:x,onClick:P,children:`Save Rule`})]}),children:(0,o.jsxs)(i.Form,{layout:`vertical`,children:[(0,o.jsx)(i.Form.Item,{label:`Rule Name`,required:!0,children:(0,o.jsx)(i.Input,{value:y.name,placeholder:`e.g. Fulfilled jobs — block sourcing`,onChange:e=>b(t=>({...t,name:e.target.value}))})}),(0,o.jsx)(i.Form.Item,{label:`Description`,children:(0,o.jsx)(i.Input.TextArea,{rows:2,value:y.description,placeholder:`Explain when this rule applies`,onChange:e=>b(t=>({...t,description:e.target.value}))})}),(0,o.jsx)(i.Form.Item,{label:`Active`,children:(0,o.jsx)(i.Switch,{checked:y.isActive,onChange:e=>b(t=>({...t,isActive:e}))})}),(0,o.jsxs)(i.Divider,{orientation:`left`,orientationMargin:0,style:{fontSize:13},children:[`Conditions `,(0,o.jsx)(zb,{type:`secondary`,style:{fontSize:12},children:`(ALL must match for the rule to fire)`})]}),y.conditions.map((e,t)=>(0,o.jsxs)(`div`,{style:{background:`#fafafa`,border:`1px solid #f0f0f0`,borderRadius:6,padding:`10px 12px`,marginBottom:8},children:[(0,o.jsxs)(`div`,{style:{display:`flex`,gap:8,alignItems:`flex-start`,flexWrap:`wrap`},children:[(0,o.jsx)(i.Form.Item,{label:`Operator`,style:{marginBottom:0,minWidth:140},children:(0,o.jsx)(i.Select,{options:Vb,value:e.operator,style:{width:140},onChange:e=>L(t,{operator:e,value:``,compareField:``})})}),e.operator!==Gb&&(0,o.jsxs)(i.Form.Item,{label:`Record Field`,style:{marginBottom:0,flex:1,minWidth:180},children:[(0,o.jsx)(i.Select,{showSearch:!0,allowClear:!0,mode:`tags`,maxCount:1,value:e.field?[e.field]:[],options:T,style:{width:`100%`},placeholder:`Select or type field name`,onChange:e=>L(t,{field:e[e.length-1]??``}),filterOption:(e,t)=>(t?.label??t?.value??``).toLowerCase().includes(e.toLowerCase())}),(0,o.jsxs)(zb,{type:`secondary`,style:{fontSize:11},children:[`Field from the record (e.g. `,(0,o.jsx)(`code`,{children:`jobRecruitmentStatus`}),`, `,(0,o.jsx)(`code`,{children:`recruiters`}),`)`]})]}),Wb.includes(e.operator)&&(0,o.jsxs)(i.Form.Item,{label:`Value`,style:{marginBottom:0,minWidth:180},children:[(0,o.jsx)(i.Select,{showSearch:!0,allowClear:!0,mode:`tags`,maxCount:1,value:e.value?[e.value]:[],options:Hb,style:{width:200},placeholder:`e.g. "fulfilled"`,onChange:e=>L(t,{value:e[e.length-1]??``}),filterOption:(e,t)=>(t?.label??t?.value??``).toLowerCase().includes(e.toLowerCase())}),(0,o.jsxs)(zb,{type:`secondary`,style:{fontSize:11},children:[`Type a literal, or pick `,(0,o.jsx)(`code`,{children:`{currentUserId}`}),` for the signed-in user.`]})]}),e.operator===Gb&&(0,o.jsxs)(i.Form.Item,{label:`Scope Value`,style:{marginBottom:0,minWidth:140},children:[(0,o.jsx)(i.Select,{options:Ub,value:e.value||void 0,style:{width:150},placeholder:`Select scope`,onChange:e=>L(t,{value:e})}),(0,o.jsx)(zb,{type:`secondary`,style:{fontSize:11},children:`Current view tab (myJobs / allJobs)`})]}),e.operator===Kb&&(0,o.jsxs)(i.Form.Item,{label:`Compare To Field`,style:{marginBottom:0,minWidth:160},children:[(0,o.jsx)(i.Select,{showSearch:!0,allowClear:!0,mode:`tags`,maxCount:1,value:e.compareField?[e.compareField]:[],options:T,style:{width:170},placeholder:`Select or type field`,onChange:e=>L(t,{compareField:e[e.length-1]??``}),filterOption:(e,t)=>(t?.label??t?.value??``).toLowerCase().includes(e.toLowerCase())}),(0,o.jsxs)(zb,{type:`secondary`,style:{fontSize:11},children:[`e.g. `,(0,o.jsx)(`code`,{children:`submissionCount`})]})]}),(0,o.jsx)(`div`,{style:{paddingTop:22},children:(0,o.jsx)(i.Button,{danger:!0,disabled:y.conditions.length<=1,icon:(0,o.jsx)(a.DeleteOutlined,{}),size:`small`,type:`text`,onClick:()=>z(t)})})]}),(0,o.jsx)(`div`,{style:{marginTop:6},children:(0,o.jsxs)(zb,{type:`secondary`,style:{fontSize:11},children:[`Preview: `,(0,o.jsx)(`code`,{style:{color:`#1677ff`},children:Zb(e)})]})})]},t)),(0,o.jsx)(i.Button,{size:`small`,style:{marginBottom:16},onClick:R,children:`+ Add Condition`}),(0,o.jsxs)(i.Divider,{orientation:`left`,orientationMargin:0,style:{fontSize:13},children:[`Blocked Row Actions`,(0,o.jsx)(zb,{type:`secondary`,style:{fontSize:12,marginLeft:8},children:`(hidden when this rule fires)`})]}),(0,o.jsxs)(i.Form.Item,{children:[(0,o.jsx)(i.Select,{mode:`tags`,style:{width:`100%`},value:y.blockedActions,options:D,placeholder:`Select or type action key (e.g. sourceCandidates, quickSubmit)`,onChange:e=>b(t=>({...t,blockedActions:e})),filterOption:(e,t)=>(t?.value??``).toLowerCase().includes(e.toLowerCase())}),(0,o.jsxs)(zb,{type:`secondary`,style:{fontSize:11},children:[`Must match the `,(0,o.jsx)(`b`,{children:`key`}),` of a Row Action (configured in Admin → Row Actions). Common job keys: `,(0,o.jsx)(`code`,{children:`sourceCandidates`}),`, `,(0,o.jsx)(`code`,{children:`quickSubmit`}),`,`,` `,(0,o.jsx)(`code`,{children:`changeStatus`}),`, `,(0,o.jsx)(`code`,{children:`share`}),`, `,(0,o.jsx)(`code`,{children:`addNotes`}),`, `,(0,o.jsx)(`code`,{children:`assign`}),`.`]})]}),(0,o.jsxs)(i.Divider,{orientation:`left`,orientationMargin:0,style:{fontSize:13},children:[`Disabled Row Actions`,(0,o.jsx)(zb,{type:`secondary`,style:{fontSize:12,marginLeft:8},children:`(stay visible, greyed out, when this rule fires)`})]}),(0,o.jsxs)(i.Form.Item,{children:[(0,o.jsx)(i.Select,{mode:`tags`,style:{width:`100%`},value:y.disabledActions,options:D,placeholder:`Select or type action key (e.g. approveSubmission, rejectSubmission)`,onChange:e=>b(t=>({...t,disabledActions:e})),filterOption:(e,t)=>(t?.value??``).toLowerCase().includes(e.toLowerCase())}),(0,o.jsxs)(zb,{type:`secondary`,style:{fontSize:11},children:[`Unlike Blocked, a disabled action keeps its normal spot and label — it's just unclickable, with this rule's `,(0,o.jsx)(`b`,{children:`Description`}),` shown as the reason on hover. Use this when the user should still see the action exists (e.g. Approve/Reject while awaiting a resubmission) instead of it disappearing.`]})]})]})})]})}function $b(){return(0,o.jsx)(i.Tabs,{defaultActiveKey:`actions`,className:`admin-config-tabs`,destroyOnHidden:!1,items:[{key:`actions`,label:`Action library`,icon:(0,o.jsx)(a.ThunderboltOutlined,{}),children:(0,o.jsx)(Rb,{})},{key:`rules`,label:`Visibility rules`,icon:(0,o.jsx)(a.ApartmentOutlined,{}),children:(0,o.jsx)(Qb,{})}]})}var{Text:ex}=i.Typography,tx={name:``,module:``,action:``,clientId:``,description:``,toMail:[],ccMail:[],bccMail:[],subject:``,body:``,isActive:!0},nx=e=>e?._id??e?.id;function rx(...e){let t=new Set;return e.forEach(e=>{let n=/{{\.([\w.]+)}}/g,r;for(;(r=n.exec(String(e??``)))!==null;)t.add(r[1])}),t}function ix({open:t,templateId:n,modules:a,clients:s,onClose:c,onSaved:l}){let[u]=i.Form.useForm(),[d,f]=(0,r.useState)(``),[p,m]=(0,r.useState)(!1),[h,g]=(0,r.useState)(!1),[_,v]=(0,r.useState)([]),[y,b]=(0,r.useState)([]);async function x(t){if(!t){v([]),b([]);return}let[n,r]=await Promise.all([e.Kn(t).catch(()=>[]),e.Bn(t).catch(()=>[])]),i=new Map;n.forEach(e=>(e.rowActions??[]).forEach(e=>{e.key&&i.set(e.key,e.label||e.key)})),v([...i].map(([e,t])=>({value:e,label:t}))),b(r.map(e=>({key:e.value??e.field??e.fieldKey??e.key??e.name,value:e.path??e.value??e.field??e.fieldKey??e.key??e.name,label:e.label??e.fieldName??e.name??e.value})).filter(e=>e.key))}(0,r.useEffect)(()=>{if(!t)return;let e=!1;return queueMicrotask(()=>{g(!0),(n?gb(n):Promise.resolve(tx)).then(t=>{if(e)return;let n={...tx,...t,clientId:t?.clientIdStr||(typeof t?.clientId==`string`?t.clientId:``)};u.setFieldsValue(n),f(n.body||``),x(n.module)}).catch(e=>i.message.error(e?.message||`Could not load template`)).finally(()=>{e||g(!1)})}),()=>{e=!0}},[u,t,n]);function S(e){let t=`{{.${e.key}}}`;f(e=>`${e}${e?` `:``}${t}`),i.message.success(`Inserted ${t}`)}async function C(){try{let e=await u.validateFields();if(!d.trim()){i.message.error(`Message body is required`);return}m(!0);let t=rx(e.subject,d),r=y.filter(e=>t.has(e.key)).map(e=>({key:e.key,value:e.value})),a={...e,action:Array.isArray(e.action)?e.action.at(-1):e.action,body:d,placeholders:r.length?[{moduleName:e.module,holders:r}]:[]};a.clientId||delete a.clientId,n?await vb(n,a):await _b(a),i.message.success(n?`Template updated`:`Template created`),l()}catch(e){e?.errorFields||i.message.error(e?.message||`Could not save template`)}finally{m(!1)}}return(0,o.jsx)(i.Drawer,{open:t,onClose:c,width:`min(920px, 96vw)`,title:n?`Edit email template`:`New email template`,destroyOnClose:!0,extra:(0,o.jsxs)(i.Space,{children:[(0,o.jsx)(i.Button,{onClick:c,children:`Cancel`}),(0,o.jsx)(i.Button,{type:`primary`,loading:p,onClick:C,children:n?`Update`:`Create`})]}),children:(0,o.jsxs)(i.Form,{form:u,layout:`vertical`,initialValues:tx,disabled:h,className:`template-editor-form`,children:[(0,o.jsxs)(`div`,{className:`template-editor-grid`,children:[(0,o.jsx)(i.Form.Item,{name:`name`,label:`Template name`,rules:[{required:!0}],children:(0,o.jsx)(i.Input,{placeholder:`Candidate introduction`})}),(0,o.jsx)(i.Form.Item,{name:`module`,label:`Module`,rules:[{required:!0}],children:(0,o.jsx)(i.Select,{showSearch:!0,optionFilterProp:`label`,options:a,onChange:e=>{u.setFieldValue(`action`,``),x(e)}})}),(0,o.jsx)(i.Form.Item,{name:`action`,label:`Action`,rules:[{required:!0}],tooltip:`Actions come from this module's DB-configured Row Actions.`,children:(0,o.jsx)(i.Select,{showSearch:!0,optionFilterProp:`label`,options:_,placeholder:`Select configured action`})}),(0,o.jsx)(i.Form.Item,{name:`clientId`,label:`Client scope (optional)`,children:(0,o.jsx)(i.Select,{allowClear:!0,showSearch:!0,optionFilterProp:`label`,options:s,placeholder:`Available to every client`})})]}),(0,o.jsx)(i.Form.Item,{name:`description`,label:`Description`,children:(0,o.jsx)(i.Input.TextArea,{rows:2})}),(0,o.jsxs)(`div`,{className:`template-editor-grid template-editor-grid--three`,children:[(0,o.jsx)(i.Form.Item,{name:`toMail`,label:`Default To`,children:(0,o.jsx)(i.Select,{mode:`tags`,open:!1,tokenSeparators:[`,`]})}),(0,o.jsx)(i.Form.Item,{name:`ccMail`,label:`Default Cc`,children:(0,o.jsx)(i.Select,{mode:`tags`,open:!1,tokenSeparators:[`,`]})}),(0,o.jsx)(i.Form.Item,{name:`bccMail`,label:`Default Bcc`,children:(0,o.jsx)(i.Select,{mode:`tags`,open:!1,tokenSeparators:[`,`]})})]}),(0,o.jsx)(i.Form.Item,{name:`subject`,label:`Subject`,rules:[{required:!0}],children:(0,o.jsx)(i.Input,{placeholder:`Email subject`})}),(0,o.jsx)(i.Form.Item,{label:`Message`,required:!0,children:(0,o.jsx)(e.kr,{value:d,onChange:f,placeholder:`Write the reusable email body…`})}),(0,o.jsxs)(`div`,{className:`template-placeholder-panel`,children:[(0,o.jsx)(ex,{strong:!0,children:`Module placeholders`}),(0,o.jsx)(ex,{type:`secondary`,children:`Click to append a DB field token to the message.`}),(0,o.jsxs)(`div`,{className:`template-placeholder-list`,children:[y.map(e=>(0,o.jsx)(i.Tag,{color:`blue`,onClick:()=>S(e),children:`{{.${e.key}}}`},e.key)),!y.length&&(0,o.jsx)(i.Empty,{image:i.Empty.PRESENTED_IMAGE_SIMPLE,description:`No module fields available`})]})]}),(0,o.jsx)(i.Form.Item,{name:`isActive`,label:`Available in mail composer`,valuePropName:`checked`,children:(0,o.jsx)(i.Switch,{})})]})})}function ax(){let[t,n]=(0,r.useState)([]),[s,c]=(0,r.useState)(0),[l,u]=(0,r.useState)(!1),[d,f]=(0,r.useState)(``),[p,m]=(0,r.useState)(1),[h,g]=(0,r.useState)(20),[_,v]=(0,r.useState)([]),[y,b]=(0,r.useState)([]),[x,S]=(0,r.useState)(null),[C,w]=(0,r.useState)(!1),T=(0,r.useMemo)(()=>_.map(e=>({value:e.key??e.module??e.value,label:e.label??e.name??e.key??e.module??e.value})).filter(e=>e.value),[_]);function E(e=p,t=h,r=d){u(!0),hb({offset:(e-1)*t,limit:t,search:r}).then(({items:e,totalCount:t})=>{n(e),c(t)}).catch(e=>i.message.error(e?.message||`Could not load templates`)).finally(()=>u(!1))}(0,r.useEffect)(()=>{queueMicrotask(()=>{E(1,h,``)})},[]),(0,r.useEffect)(()=>{Promise.all([e.bn(),e.fn({limit:200})]).then(([e,t])=>{v(mv(e).map(({value:e,label:t})=>({key:e,label:t}))),b(t)}).catch(()=>{})},[]);async function D(e,t){let r=nx(e);try{await vb(r,{...e,isActive:t}),n(e=>e.map(e=>nx(e)===r?{...e,isActive:t}:e))}catch(e){i.message.error(e?.message||`Could not update status`)}}async function O(e){try{await yb(e),i.message.success(`Template deleted`),E(1),m(1)}catch(e){i.message.error(e?.message||`Could not delete template`)}}let k=[{title:`Template`,key:`template`,width:300,ellipsis:!0,render:(e,t)=>(0,o.jsxs)(`div`,{className:`admin-config-primary-cell templates-primary-cell`,children:[(0,o.jsx)(ex,{strong:!0,ellipsis:{tooltip:t.name},children:t.name}),(0,o.jsx)(ex,{type:`secondary`,ellipsis:{tooltip:t.description||t.subject},children:t.description||t.subject||`No description`})]})},{title:`Module`,dataIndex:`module`,key:`module`,width:140,ellipsis:!0,responsive:[`sm`],render:e=>e?(0,o.jsx)(i.Tag,{color:`blue`,children:e}):`—`},{title:`Action`,dataIndex:`action`,key:`action`,width:180,ellipsis:!0,responsive:[`md`],render:e=>e?(0,o.jsx)(ex,{code:!0,ellipsis:{tooltip:e},children:e}):`—`},{title:`Recipients`,key:`recipients`,width:130,responsive:[`lg`],render:(e,t)=>`${(t.toMail?.length??0)+(t.ccMail?.length??0)+(t.bccMail?.length??0)} defaults`},{title:`Active`,dataIndex:`isActive`,key:`active`,width:80,render:(e,t)=>(0,o.jsx)(i.Switch,{size:`small`,checked:e,onChange:e=>D(t,e)})},{title:``,key:`actions`,width:84,fixed:`right`,render:(e,t)=>(0,o.jsxs)(i.Space,{size:2,children:[(0,o.jsx)(i.Tooltip,{title:`Edit`,children:(0,o.jsx)(i.Button,{type:`text`,icon:(0,o.jsx)(a.EditOutlined,{}),onClick:()=>{S(nx(t)),w(!0)}})}),(0,o.jsx)(i.Popconfirm,{title:`Delete this template?`,onConfirm:()=>O(nx(t)),children:(0,o.jsx)(i.Button,{type:`text`,danger:!0,icon:(0,o.jsx)(a.DeleteOutlined,{})})})]})}],A=y.map(e=>({value:e._id??e.id,label:e.clientName??e.name??e._id})).filter(e=>e.value);return(0,o.jsxs)(`div`,{className:`fg-section admin-config-section`,children:[(0,o.jsxs)(Z,{icon:(0,o.jsx)(a.MailOutlined,{}),title:`Email templates`,extra:(0,o.jsx)(i.Button,{type:`primary`,icon:(0,o.jsx)(a.PlusOutlined,{}),onClick:()=>{S(null),w(!0)},children:`New template`}),children:[(0,o.jsx)(`div`,{className:`admin-accent-bar`}),(0,o.jsx)(ex,{type:`secondary`,children:`Create reusable, module-aware email content. Modules, actions and placeholders are read from DB configuration.`})]}),(0,o.jsxs)(Z,{title:`${s} template${s===1?``:`s`}`,extra:(0,o.jsx)(i.Button,{icon:(0,o.jsx)(a.ReloadOutlined,{}),onClick:()=>E(),children:`Reload`}),children:[(0,o.jsx)(`div`,{className:`admin-config-table-tools`,children:(0,o.jsx)(i.Input,{allowClear:!0,prefix:(0,o.jsx)(a.SearchOutlined,{}),placeholder:`Search templates`,value:d,onChange:e=>{let t=e.target.value;f(t),m(1),E(1,h,t)}})}),(0,o.jsx)(`div`,{className:`templates-table-viewport`,children:(0,o.jsx)(i.Table,{rowKey:nx,columns:k,dataSource:t,loading:l,className:`fg-table`,size:`small`,tableLayout:`fixed`,sticky:!0,scroll:{x:914,y:`calc(100vh - 410px)`},pagination:{current:p,pageSize:h,total:s,showSizeChanger:!0,responsive:!0,onChange:(e,t)=>{m(e),g(t),E(e,t)}}})})]}),(0,o.jsx)(ix,{open:C,templateId:x,modules:T,clients:A,onClose:()=>w(!1),onSaved:()=>{w(!1),E()}})]})}function ox({open:t,signatureId:n,onClose:a,onSaved:s}){let[c,l]=(0,r.useState)(``),[u,d]=(0,r.useState)(``),[f,p]=(0,r.useState)(!1);(0,r.useEffect)(()=>{t&&queueMicrotask(()=>{if(!n){l(``),d(``);return}Cb(n).then(e=>{l(e?.signatureName??``),d(e?.signature??``)}).catch(()=>i.message.error(`Could not load signature`))})},[t,n]);async function m(){if(!c.trim())return i.message.error(`Signature name is required`);if(!u.trim())return i.message.error(`Signature content is required`);p(!0);try{let e={signatureId:n,signatureName:c,signature:u,signatureLogoPath:``,placeHolder:[]};n?await Tb(e):await wb(e),i.message.success(n?`Signature updated`:`Signature created`),s()}catch(e){i.message.error(e?.message||`Could not save signature`)}finally{p(!1)}}return(0,o.jsx)(i.Drawer,{open:t,onClose:a,width:`min(760px, 96vw)`,title:n?`Edit signature`:`New signature`,destroyOnClose:!0,extra:(0,o.jsxs)(i.Space,{children:[(0,o.jsx)(i.Button,{onClick:a,children:`Cancel`}),(0,o.jsx)(i.Button,{type:`primary`,loading:f,onClick:m,children:n?`Update`:`Create`})]}),children:(0,o.jsxs)(i.Form,{layout:`vertical`,children:[(0,o.jsx)(i.Form.Item,{label:`Signature name`,required:!0,children:(0,o.jsx)(i.Input,{value:c,onChange:e=>l(e.target.value)})}),(0,o.jsx)(i.Form.Item,{label:`Signature content`,required:!0,children:(0,o.jsx)(e.kr,{value:u,onChange:d,placeholder:`Create the reusable signature…`})})]})})}function sx(){let[e,t]=(0,r.useState)([]),[n,s]=(0,r.useState)(0),[c,l]=(0,r.useState)(!1),[u,d]=(0,r.useState)(``),[f,p]=(0,r.useState)(1),[m,h]=(0,r.useState)(20),[g,_]=(0,r.useState)(!1),[v,y]=(0,r.useState)(null);function b(e=f,n=m,r=u){l(!0),Sb({offset:(e-1)*n,limit:n,search:r}).then(({items:e,totalCount:n})=>{t(e),s(n)}).catch(()=>i.message.error(`Could not load signatures`)).finally(()=>l(!1))}(0,r.useEffect)(()=>{queueMicrotask(()=>{b(1,m,``)})},[]);async function x(e,n){try{await Db(e.signatureId,n),t(t=>t.map(t=>t.signatureId===e.signatureId?{...t,isActive:n}:t))}catch{i.message.error(`Could not update status`)}}async function S(e){try{await Eb(e),i.message.success(`Signature deleted`),p(1),b(1)}catch{i.message.error(`Could not delete signature`)}}return(0,o.jsxs)(`div`,{className:`fg-section admin-config-section`,children:[(0,o.jsx)(Z,{icon:(0,o.jsx)(a.MailOutlined,{}),title:`Signature templates`,extra:(0,o.jsx)(i.Button,{type:`primary`,icon:(0,o.jsx)(a.PlusOutlined,{}),onClick:()=>{y(null),_(!0)},children:`New signature`}),children:(0,o.jsx)(ex,{type:`secondary`,children:`Existing company and user signatures from the shared DB.`})}),(0,o.jsxs)(Z,{title:`${n} signature${n===1?``:`s`}`,children:[(0,o.jsx)(`div`,{className:`admin-config-table-tools`,children:(0,o.jsx)(i.Input,{allowClear:!0,prefix:(0,o.jsx)(a.SearchOutlined,{}),value:u,placeholder:`Search signatures`,onChange:e=>{d(e.target.value),p(1),b(1,m,e.target.value)}})}),(0,o.jsx)(`div`,{className:`templates-table-viewport`,children:(0,o.jsx)(i.Table,{rowKey:`signatureId`,dataSource:e,columns:[{title:`Signature`,dataIndex:`templateName`,key:`name`,width:300,ellipsis:!0,render:e=>(0,o.jsx)(ex,{strong:!0,ellipsis:{tooltip:e},children:e||`Untitled signature`})},{title:`Created`,dataIndex:`createdDt`,key:`created`,width:150,responsive:[`md`],render:e=>e?new Date(e).toLocaleDateString():`—`},{title:`Active`,dataIndex:`isActive`,key:`active`,width:80,render:(e,t)=>(0,o.jsx)(i.Switch,{size:`small`,checked:e,onChange:e=>x(t,e)})},{title:``,key:`actions`,width:84,fixed:`right`,render:(e,t)=>(0,o.jsxs)(i.Space,{size:2,children:[(0,o.jsx)(i.Button,{type:`text`,icon:(0,o.jsx)(a.EditOutlined,{}),onClick:()=>{y(t.signatureId),_(!0)}}),(0,o.jsx)(i.Popconfirm,{title:`Delete this signature?`,onConfirm:()=>S(t.signatureId),children:(0,o.jsx)(i.Button,{type:`text`,danger:!0,icon:(0,o.jsx)(a.DeleteOutlined,{})})})]})}],loading:c,className:`fg-table`,size:`small`,tableLayout:`fixed`,sticky:!0,scroll:{x:614,y:`calc(100vh - 410px)`},pagination:{current:f,pageSize:m,total:n,responsive:!0,onChange:(e,t)=>{p(e),h(t),b(e,t)}}})})]}),(0,o.jsx)(ox,{open:g,signatureId:v,onClose:()=>_(!1),onSaved:()=>{_(!1),b()}})]})}function cx(){return(0,o.jsx)(i.Tabs,{defaultActiveKey:`email`,className:`admin-config-tabs`,items:[{key:`email`,label:`Email templates`,children:(0,o.jsx)(ax,{})},{key:`signature`,label:`Signatures`,children:(0,o.jsx)(sx,{})}]})}var{Text:lx}=i.Typography,ux={serviceKey:``,label:``,baseUrl:``,authHeader:``,authValue:``,enabled:!0};function dx({open:t,service:n,onClose:a,onSaved:s}){let[c]=i.Form.useForm(),[l,u]=(0,r.useState)(!1);(0,r.useEffect)(()=>{t&&c.setFieldsValue({...ux,...n,authValue:``})},[t,n,c]);async function d(){try{let t=await c.validateFields();u(!0),await e.Zn(t),i.message.success(`AI service saved`),s()}catch(e){e?.errorFields||i.message.error(e?.message||`Could not save AI service`)}finally{u(!1)}}return(0,o.jsx)(i.Drawer,{open:t,onClose:a,width:`min(560px, 96vw)`,title:n?`Edit AI service`:`New AI service`,destroyOnClose:!0,extra:(0,o.jsxs)(i.Space,{children:[(0,o.jsx)(i.Button,{onClick:a,children:`Cancel`}),(0,o.jsx)(i.Button,{type:`primary`,loading:l,onClick:d,children:`Save`})]}),children:(0,o.jsxs)(i.Form,{form:c,layout:`vertical`,initialValues:ux,children:[(0,o.jsx)(i.Form.Item,{name:`serviceKey`,label:`Service Key`,rules:[{required:!0,message:`Service key is required`}],tooltip:`Referenced by an AI Action's Service Key on any form field (e.g. pyOps).`,children:(0,o.jsx)(i.Input,{placeholder:`pyOps`,disabled:!!n,className:`fg-mono-input`})}),(0,o.jsx)(i.Form.Item,{name:`label`,label:`Label`,children:(0,o.jsx)(i.Input,{placeholder:`Resume/JD Parsing Service`})}),(0,o.jsx)(i.Form.Item,{name:`baseUrl`,label:`Base URL`,rules:[{required:!0,message:`Base URL is required`}],children:(0,o.jsx)(i.Input,{placeholder:`https://ai.example.com`,className:`fg-mono-input`})}),(0,o.jsx)(i.Form.Item,{name:`authHeader`,label:`Auth Header (optional)`,children:(0,o.jsx)(i.Input,{placeholder:`x-api-key`,className:`fg-mono-input`})}),(0,o.jsx)(i.Form.Item,{name:`authValue`,label:`Auth Value`,tooltip:`Write-only — leave blank to keep the currently saved value.`,children:(0,o.jsx)(i.Input.Password,{placeholder:n?`Unchanged`:``})}),(0,o.jsx)(i.Form.Item,{name:`enabled`,label:`Enabled`,valuePropName:`checked`,children:(0,o.jsx)(i.Switch,{})})]})})}function fx(){let[t,n]=(0,r.useState)([]),[s,c]=(0,r.useState)(!1),[l,u]=(0,r.useState)(!1),[d,f]=(0,r.useState)(null);function p(){c(!0),e.mn().then(e=>n(Array.isArray(e)?e:[])).catch(e=>i.message.error(e?.message||`Could not load AI services`)).finally(()=>c(!1))}(0,r.useEffect)(()=>{queueMicrotask(()=>{p()})},[]);async function m(t,r){try{await e.Zn({...t,enabled:r}),n(e=>e.map(e=>e.serviceKey===t.serviceKey?{...e,enabled:r}:e))}catch(e){i.message.error(e?.message||`Could not update AI service`)}}async function h(t){try{await e.nn(t),i.message.success(`AI service deleted`),p()}catch(e){i.message.error(e?.message||`Could not delete AI service`)}}return(0,o.jsxs)(`div`,{className:`fg-section admin-config-section`,children:[(0,o.jsxs)(Z,{icon:(0,o.jsx)(a.ThunderboltOutlined,{}),title:`AI Services`,extra:(0,o.jsx)(i.Button,{type:`primary`,icon:(0,o.jsx)(a.PlusOutlined,{}),onClick:()=>{f(null),u(!0)},children:`New service`}),children:[(0,o.jsx)(`div`,{className:`admin-accent-bar`}),(0,o.jsx)(lx,{type:`secondary`,children:`Register the AI/automation backends that admin-configured "AI Actions" (Generate/Parse-style buttons on any form field) call. A field's AI Action names a Service Key here — no URL is ever hardcoded in the app.`})]}),(0,o.jsx)(Z,{title:`${t.length} service${t.length===1?``:`s`}`,extra:(0,o.jsx)(i.Button,{icon:(0,o.jsx)(a.ReloadOutlined,{}),onClick:p,children:`Reload`}),children:(0,o.jsx)(i.Table,{rowKey:`serviceKey`,columns:[{title:`Service`,key:`service`,render:(e,t)=>(0,o.jsxs)(`div`,{className:`admin-config-primary-cell`,children:[(0,o.jsx)(lx,{strong:!0,children:t.label||t.serviceKey}),(0,o.jsx)(lx,{type:`secondary`,code:!0,children:t.serviceKey})]})},{title:`Base URL`,dataIndex:`baseUrl`,key:`baseUrl`,ellipsis:!0,render:e=>(0,o.jsx)(lx,{code:!0,ellipsis:{tooltip:e},children:e})},{title:`Auth Header`,dataIndex:`authHeader`,key:`authHeader`,width:140,render:e=>e||`—`},{title:`Enabled`,dataIndex:`enabled`,key:`enabled`,width:90,render:(e,t)=>(0,o.jsx)(i.Switch,{size:`small`,checked:e,onChange:e=>m(t,e)})},{title:``,key:`actions`,width:84,fixed:`right`,render:(e,t)=>(0,o.jsxs)(i.Space,{size:2,children:[(0,o.jsx)(i.Tooltip,{title:`Edit`,children:(0,o.jsx)(i.Button,{type:`text`,icon:(0,o.jsx)(a.EditOutlined,{}),onClick:()=>{f(t),u(!0)}})}),(0,o.jsx)(i.Popconfirm,{title:`Delete this AI service?`,onConfirm:()=>h(t.serviceKey),children:(0,o.jsx)(i.Button,{type:`text`,danger:!0,icon:(0,o.jsx)(a.DeleteOutlined,{})})})]})}],dataSource:t,loading:s,className:`fg-table`,size:`small`})}),(0,o.jsx)(dx,{open:l,service:d,onClose:()=>u(!1),onSaved:()=>{u(!1),p()}})]})}var{Text:px}=i.Typography,mx={integrationKey:``,label:``,category:`GENERAL`,updateMethod:`MANUAL`,enabled:!0,provider:``,baseUrl:``,authType:`API_KEY`,authHeader:`x-api-key`,authValue:``,clientId:``,clientSecret:``,tokenUrl:``,createPath:``,statusPath:``,testPath:``,webhookSecret:``,targetModule:``,targetField:``,stageMatchField:``,stageMatchValue:``,stageStatusField:``,providerStatusPath:``,providerReferencePath:``,statusMappings:[{providerStatus:``,applicationStatus:``}]},hx=[{label:`API Key`,value:`API_KEY`},{label:`Bearer Token`,value:`BEARER_TOKEN`},{label:`Basic Authentication`,value:`BASIC_AUTH`},{label:`OAuth 2.0 Client Credentials`,value:`OAUTH2_CLIENT_CREDENTIALS`}];function gx(e){let t=Object.fromEntries((e.statusMappings??[]).filter(e=>e?.providerStatus&&e?.applicationStatus).map(e=>[e.providerStatus.trim(),e.applicationStatus.trim()])),n={...e,statusMapping:e.updateMethod===`API`?{targetModule:e.targetModule,targetField:e.targetField,stageMatchField:e.stageMatchField,stageMatchValue:e.stageMatchValue,stageStatusField:e.stageStatusField,providerStatusPath:e.providerStatusPath,providerReferencePath:e.providerReferencePath,values:t}:void 0};return[`statusMappings`,`targetModule`,`targetField`,`stageMatchField`,`stageMatchValue`,`stageStatusField`,`providerStatusPath`,`providerReferencePath`].forEach(e=>delete n[e]),n}function _x({open:t,integration:n,onClose:s,onSaved:c}){let[l]=i.Form.useForm(),[u,d]=(0,r.useState)(!1),[f,p]=(0,r.useState)(!1),m=i.Form.useWatch(`updateMethod`,l),h=i.Form.useWatch(`authType`,l),g=m===`API`,_=h===`OAUTH2_CLIENT_CREDENTIALS`;(0,r.useEffect)(()=>{if(!t)return;let e=n?.statusMapping??{};l.setFieldsValue({...mx,...n,authValue:``,clientSecret:``,webhookSecret:``,targetModule:e.targetModule??``,targetField:e.targetField??``,stageMatchField:e.stageMatchField??``,stageMatchValue:e.stageMatchValue??``,stageStatusField:e.stageStatusField??``,providerStatusPath:e.providerStatusPath??``,providerReferencePath:e.providerReferencePath??``,statusMappings:Object.entries(e.values??{}).map(([e,t])=>({providerStatus:e,applicationStatus:t})).concat(Object.keys(e.values??{}).length?[]:[{providerStatus:``,applicationStatus:``}])})},[l,n,t]);async function v(){try{let t=gx(await l.validateFields());d(!0),await e.tr(t),i.message.success(`Integration saved`),c()}catch(e){e?.errorFields||i.message.error(e?.message||`Could not save integration`)}finally{d(!1)}}async function y(){try{let t=await l.validateFields([`integrationKey`,`baseUrl`,`testPath`,`authType`,`authHeader`,`authValue`,`clientId`,`clientSecret`,`tokenUrl`]);p(!0);let n=await e.sr(gx({...l.getFieldsValue(!0),...t}));i.message.success(n?.message||`Connection successful${n?.statusCode?` (${n.statusCode})`:``}`)}catch(e){e?.errorFields||i.message.error(e?.message||`Connection test failed`)}finally{p(!1)}}return(0,o.jsx)(i.Drawer,{open:t,onClose:s,width:`min(680px, 96vw)`,title:n?`Edit ${n.label}`:`Add Integration`,destroyOnClose:!0,extra:(0,o.jsxs)(i.Space,{children:[g&&(0,o.jsx)(i.Button,{loading:f,onClick:y,children:`Test Connection`}),(0,o.jsx)(i.Button,{onClick:s,children:`Cancel`}),(0,o.jsx)(i.Button,{type:`primary`,loading:u,onClick:v,children:`Save`})]}),children:(0,o.jsxs)(i.Form,{form:l,layout:`vertical`,initialValues:mx,children:[(0,o.jsxs)(i.Row,{gutter:16,children:[(0,o.jsx)(i.Col,{xs:24,md:12,children:(0,o.jsx)(i.Form.Item,{name:`label`,label:`Integration Name`,rules:[{required:!0}],children:(0,o.jsx)(i.Input,{placeholder:`Background Check`})})}),(0,o.jsx)(i.Col,{xs:24,md:12,children:(0,o.jsx)(i.Form.Item,{name:`integrationKey`,label:`Integration Key`,rules:[{required:!0},{pattern:/^[a-z][a-z0-9_-]{1,63}$/,message:`Use lowercase letters, numbers, _ or -`}],children:(0,o.jsx)(i.Input,{placeholder:`bgc`,disabled:!!n})})})]}),(0,o.jsxs)(i.Row,{gutter:16,children:[(0,o.jsx)(i.Col,{xs:24,md:12,children:(0,o.jsx)(i.Form.Item,{name:`category`,label:`Category`,children:(0,o.jsx)(i.Select,{options:[{value:`ONBOARDING`,label:`Onboarding`},{value:`HRMS`,label:`HRMS`},{value:`PAYROLL`,label:`Payroll`},{value:`ESIGNATURE`,label:`E-Signature`},{value:`VMS`,label:`VMS`},{value:`GENERAL`,label:`General / Custom`}]})})}),(0,o.jsx)(i.Col,{xs:24,md:12,children:(0,o.jsx)(i.Form.Item,{name:`enabled`,label:`Enabled`,valuePropName:`checked`,children:(0,o.jsx)(i.Switch,{})})})]}),(0,o.jsx)(i.Form.Item,{name:`updateMethod`,label:`Update Method`,rules:[{required:!0}],children:(0,o.jsx)(i.Radio.Group,{optionType:`button`,buttonStyle:`solid`,options:[{label:`Manual Update`,value:`MANUAL`},{label:`API Integration`,value:`API`}]})}),!g&&(0,o.jsx)(i.Alert,{type:`info`,showIcon:!0,message:`This integration will use manual updates.`}),g&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(i.Alert,{type:n?.credentialsConfigured?`success`:`warning`,showIcon:!0,message:n?.credentialsConfigured?`Credentials configured`:`Credentials required`,description:`Secrets are write-only. Leave a secret blank while editing to keep its current value.`,style:{marginBottom:16}}),(0,o.jsxs)(i.Row,{gutter:16,children:[(0,o.jsx)(i.Col,{xs:24,md:12,children:(0,o.jsx)(i.Form.Item,{name:`provider`,label:`Provider`,rules:[{required:!0}],children:(0,o.jsx)(i.Input,{placeholder:`Provider name`})})}),(0,o.jsx)(i.Col,{xs:24,md:12,children:(0,o.jsx)(i.Form.Item,{name:`baseUrl`,label:`API Base URL`,rules:[{required:!0,type:`url`}],children:(0,o.jsx)(i.Input,{placeholder:`https://api.provider.com`})})}),(0,o.jsx)(i.Col,{xs:24,md:12,children:(0,o.jsx)(i.Form.Item,{name:`createPath`,label:`Create/Submit Path`,rules:[{required:!0}],children:(0,o.jsx)(i.Input,{placeholder:`/v1/requests`})})}),(0,o.jsx)(i.Col,{xs:24,md:12,children:(0,o.jsx)(i.Form.Item,{name:`statusPath`,label:`Status Path`,rules:[{required:!0}],tooltip:`Use {referenceId} as a placeholder.`,children:(0,o.jsx)(i.Input,{placeholder:`/v1/requests/{referenceId}`})})}),(0,o.jsx)(i.Col,{xs:24,md:12,children:(0,o.jsx)(i.Form.Item,{name:`testPath`,label:`Test Connection Path`,rules:[{required:!0}],tooltip:`A safe GET endpoint used only to validate URL and credentials.`,children:(0,o.jsx)(i.Input,{placeholder:`/v1/health`})})})]}),(0,o.jsx)(i.Form.Item,{name:`authType`,label:`Authentication Type`,rules:[{required:!0}],children:(0,o.jsx)(i.Select,{options:hx})}),_?(0,o.jsxs)(i.Row,{gutter:16,children:[(0,o.jsx)(i.Col,{xs:24,md:12,children:(0,o.jsx)(i.Form.Item,{name:`clientId`,label:`Client ID`,rules:[{required:!0}],children:(0,o.jsx)(i.Input,{})})}),(0,o.jsx)(i.Col,{xs:24,md:12,children:(0,o.jsx)(i.Form.Item,{name:`clientSecret`,label:`Client Secret`,children:(0,o.jsx)(i.Input.Password,{placeholder:n?.credentialsConfigured?`Unchanged`:`Required`})})}),(0,o.jsx)(i.Col,{xs:24,children:(0,o.jsx)(i.Form.Item,{name:`tokenUrl`,label:`Token URL`,rules:[{required:!0,type:`url`}],children:(0,o.jsx)(i.Input,{})})})]}):(0,o.jsxs)(i.Row,{gutter:16,children:[(0,o.jsx)(i.Col,{xs:24,md:12,children:(0,o.jsx)(i.Form.Item,{name:`authHeader`,label:`Authentication Header`,children:(0,o.jsx)(i.Input,{placeholder:`x-api-key`})})}),(0,o.jsx)(i.Col,{xs:24,md:12,children:(0,o.jsx)(i.Form.Item,{name:`authValue`,label:`API Credential`,children:(0,o.jsx)(i.Input.Password,{placeholder:n?.credentialsConfigured?`Unchanged`:`Required`})})})]}),(0,o.jsx)(i.Form.Item,{name:`webhookSecret`,label:`Webhook Signing Secret (optional)`,children:(0,o.jsx)(i.Input.Password,{placeholder:n?.webhookConfigured?`Unchanged`:``})}),(0,o.jsxs)(Z,{title:`Status Mapping`,children:[(0,o.jsx)(px,{type:`secondary`,children:`Map a status from the provider response into a module field or a matching workflow stage.`}),(0,o.jsxs)(i.Row,{gutter:16,style:{marginTop:16},children:[(0,o.jsx)(i.Col,{xs:24,md:12,children:(0,o.jsx)(i.Form.Item,{name:`targetModule`,label:`Target Module`,rules:[{required:!0}],children:(0,o.jsx)(i.Input,{placeholder:`onboarding`})})}),(0,o.jsx)(i.Col,{xs:24,md:12,children:(0,o.jsx)(i.Form.Item,{name:`targetField`,label:`Target Field`,rules:[{required:!0}],tooltip:`Use stages for a stage-array update, or a direct field name.`,children:(0,o.jsx)(i.Input,{placeholder:`stages`})})}),(0,o.jsx)(i.Col,{xs:24,md:12,children:(0,o.jsx)(i.Form.Item,{name:`providerStatusPath`,label:`Provider Status JSON Path`,rules:[{required:!0}],children:(0,o.jsx)(i.Input,{placeholder:`data.status`})})}),(0,o.jsx)(i.Col,{xs:24,md:12,children:(0,o.jsx)(i.Form.Item,{name:`providerReferencePath`,label:`Provider Reference JSON Path`,children:(0,o.jsx)(i.Input,{placeholder:`data.id`})})}),(0,o.jsx)(i.Col,{xs:24,md:8,children:(0,o.jsx)(i.Form.Item,{name:`stageMatchField`,label:`Stage Match Field`,children:(0,o.jsx)(i.Input,{placeholder:`stageCode`})})}),(0,o.jsx)(i.Col,{xs:24,md:8,children:(0,o.jsx)(i.Form.Item,{name:`stageMatchValue`,label:`Stage Match Value`,children:(0,o.jsx)(i.Input,{placeholder:`BGC`})})}),(0,o.jsx)(i.Col,{xs:24,md:8,children:(0,o.jsx)(i.Form.Item,{name:`stageStatusField`,label:`Stage Status Field`,children:(0,o.jsx)(i.Input,{placeholder:`status`})})})]}),(0,o.jsx)(px,{strong:!0,children:`Status Values`}),(0,o.jsx)(i.Form.List,{name:`statusMappings`,children:(e,{add:t,remove:n})=>(0,o.jsxs)(i.Space,{direction:`vertical`,style:{width:`100%`,marginTop:8},children:[e.map(e=>(0,o.jsxs)(i.Row,{gutter:12,children:[(0,o.jsx)(i.Col,{flex:`1 1 220px`,children:(0,o.jsx)(i.Form.Item,{...e,name:[e.name,`providerStatus`],rules:[{required:!0,message:`Provider status is required`}],children:(0,o.jsx)(i.Input,{placeholder:`Provider status, e.g. completed`})})}),(0,o.jsx)(i.Col,{flex:`1 1 220px`,children:(0,o.jsx)(i.Form.Item,{...e,name:[e.name,`applicationStatus`],rules:[{required:!0,message:`Application status is required`}],children:(0,o.jsx)(i.Input,{placeholder:`Zinnext status, e.g. CLEARED`})})}),(0,o.jsx)(i.Col,{children:(0,o.jsx)(i.Button,{danger:!0,onClick:()=>n(e.name),children:`Remove`})})]},e.key)),(0,o.jsx)(i.Button,{type:`dashed`,icon:(0,o.jsx)(a.PlusOutlined,{}),onClick:()=>t({providerStatus:``,applicationStatus:``}),children:`Add Status Mapping`})]})})]})]})]})})}function vx(){let[t,n]=(0,r.useState)([]),[s,c]=(0,r.useState)(!1),[l,u]=(0,r.useState)(!1),[d,f]=(0,r.useState)(null),p=(0,r.useCallback)(()=>{c(!0),e.kn().then(e=>n(Array.isArray(e)?e:[])).catch(e=>i.message.error(e?.message||`Could not load integrations`)).finally(()=>c(!1))},[]);(0,r.useEffect)(()=>{queueMicrotask(p)},[p]);async function m(t){try{await e.in(t),i.message.success(`Integration deleted`),p()}catch(e){i.message.error(e?.message||`Could not delete integration`)}}return(0,o.jsxs)(`div`,{className:`fg-section admin-config-section`,children:[(0,o.jsxs)(Z,{icon:(0,o.jsx)(a.ApiOutlined,{}),title:`Integrations`,extra:(0,o.jsxs)(i.Space,{children:[(0,o.jsx)(i.Button,{icon:(0,o.jsx)(a.ReloadOutlined,{}),onClick:p,children:`Reload`}),(0,o.jsx)(i.Button,{type:`primary`,icon:(0,o.jsx)(a.PlusOutlined,{}),onClick:()=>{f(null),u(!0)},children:`Add Integration`})]}),children:[(0,o.jsx)(`div`,{className:`admin-accent-bar`}),(0,o.jsx)(px,{type:`secondary`,children:`Configure reusable manual or API integrations for onboarding, payroll, e-signature, VMS, HRMS, and custom workflows.`})]}),(0,o.jsx)(Z,{title:`${t.length} integration${t.length===1?``:`s`}`,children:(0,o.jsx)(i.Table,{rowKey:`integrationKey`,columns:[{title:`Integration`,key:`name`,render:(e,t)=>(0,o.jsxs)(`div`,{className:`admin-config-primary-cell`,children:[(0,o.jsx)(px,{strong:!0,children:t.label}),(0,o.jsx)(px,{type:`secondary`,code:!0,children:t.integrationKey})]})},{title:`Category`,dataIndex:`category`,width:130,render:e=>e||`GENERAL`},{title:`Method`,dataIndex:`updateMethod`,width:110,render:e=>(0,o.jsx)(i.Tag,{color:e===`API`?`blue`:`default`,children:e})},{title:`Provider`,dataIndex:`provider`,render:e=>e||`—`},{title:`Enabled`,dataIndex:`enabled`,width:90,render:e=>(0,o.jsx)(i.Tag,{color:e?`green`:`default`,children:e?`Yes`:`No`})},{title:``,key:`actions`,width:90,render:(e,t)=>(0,o.jsxs)(i.Space,{size:2,children:[(0,o.jsx)(i.Button,{type:`text`,icon:(0,o.jsx)(a.EditOutlined,{}),onClick:()=>{f(t),u(!0)}}),(0,o.jsx)(i.Popconfirm,{title:`Delete this integration?`,onConfirm:()=>m(t.integrationKey),children:(0,o.jsx)(i.Button,{type:`text`,danger:!0,icon:(0,o.jsx)(a.DeleteOutlined,{})})})]})}],dataSource:t,loading:s,size:`small`,className:`fg-table`})}),(0,o.jsx)(_x,{open:l,integration:d,onClose:()=>u(!1),onSaved:()=>{u(!1),p()}})]})}var{Text:$}=i.Typography;function yx({rows:e,onChange:t,keyPlaceholder:n,valuePlaceholder:r}){let s=(n,r)=>t(e.map((e,t)=>t===n?{...e,...r}:e)),c=n=>t(e.filter((e,t)=>t!==n));return(0,o.jsxs)(`div`,{children:[e.map((e,t)=>(0,o.jsxs)(`div`,{style:{display:`flex`,gap:6,marginTop:6},children:[(0,o.jsx)(i.Input,{size:`small`,style:{flex:1},placeholder:n,value:e.key,onChange:e=>s(t,{key:e.target.value}),className:`fg-mono-input`}),(0,o.jsx)(`span`,{style:{color:`#94a3b8`,alignSelf:`center`},children:`→`}),(0,o.jsx)(i.Input,{size:`small`,style:{flex:1},placeholder:r,value:e.value,onChange:e=>s(t,{value:e.target.value}),className:`fg-mono-input`}),(0,o.jsx)(i.Button,{size:`small`,type:`text`,danger:!0,icon:(0,o.jsx)(a.DeleteOutlined,{}),onClick:()=>c(t)})]},t)),(0,o.jsx)(i.Button,{size:`small`,type:`dashed`,icon:(0,o.jsx)(a.PlusOutlined,{}),style:{marginTop:6},onClick:()=>t([...e,{key:``,value:``}]),children:`Add`})]})}function bx({rows:e,onChange:t,keyPlaceholder:n=`field`,valuePlaceholder:r=`literal or {{field.path}}`}){let s=(n,r)=>t(e.map((e,t)=>t===n?{...e,...r}:e)),c=n=>t(e.filter((e,t)=>t!==n));return(0,o.jsxs)(`div`,{children:[e.map((e,t)=>(0,o.jsxs)(`div`,{style:{display:`flex`,gap:6,marginTop:6},children:[(0,o.jsx)(i.Input,{size:`small`,style:{flex:1},placeholder:n,value:e.key,onChange:e=>s(t,{key:e.target.value}),className:`fg-mono-input`}),(0,o.jsx)(i.Input,{size:`small`,style:{flex:1.6},placeholder:r,value:e.value,onChange:e=>s(t,{value:e.target.value}),className:`fg-mono-input`}),(0,o.jsx)(i.Button,{size:`small`,type:`text`,danger:!0,icon:(0,o.jsx)(a.DeleteOutlined,{}),onClick:()=>c(t)})]},t)),(0,o.jsx)(i.Button,{size:`small`,type:`dashed`,icon:(0,o.jsx)(a.PlusOutlined,{}),style:{marginTop:6},onClick:()=>t([...e,{key:``,value:``}]),children:`Add`}),(0,o.jsxs)($,{type:`secondary`,style:{fontSize:11,display:`block`,marginTop:4},children:[`Values are read as JSON when possible (true, 123, ["a","b"]) — otherwise kept as literal text. Use `,(0,o.jsx)(`code`,{children:`{{field.path}}`}),` to reference a payload field, or `,(0,o.jsx)(`code`,{children:`{{now}}`}),` for the current time.`]})]})}function xx(e){return Object.entries(e??{}).map(([e,t])=>({key:e,value:String(t??``)}))}function Sx(e){let t={};for(let n of e??[])n.key?.trim()&&(t[n.key.trim()]=n.value??``);return t}function Cx(e){return Object.entries(e??{}).map(([e,t])=>({key:e,value:typeof t==`string`?t:JSON.stringify(t)}))}function wx(e){let t={};for(let n of e??[]){if(!n.key?.trim())continue;let e=n.value;if(typeof e==`string`){let t=e.trim();if(t!==``)try{e=JSON.parse(t)}catch{}}t[n.key.trim()]=e}return t}function Tx({open:e,rule:t,onClose:n,onSave:s}){let[c,l]=(0,r.useState)(()=>({sourceModule:``,sourceIdField:``,required:!1,...t??{},fieldMapRows:xx(t?.fieldMap)})),u=(e,t)=>l(n=>({...n,[e]:t}));return(0,o.jsx)(i.Modal,{open:e,onCancel:n,width:640,centered:!0,destroyOnClose:!0,maskClosable:!1,className:`fg-editor-modal`,title:(0,o.jsxs)(`span`,{className:`fg-drawer-title`,children:[(0,o.jsx)(a.DatabaseOutlined,{}),` `,t?`Edit Denormalize Rule`:`New Denormalize Rule`]}),footer:(0,o.jsxs)(`div`,{className:`fg-drawer-footer`,children:[(0,o.jsx)(i.Button,{onClick:n,children:`Cancel`}),(0,o.jsx)(i.Button,{type:`primary`,icon:(0,o.jsx)(a.SaveOutlined,{}),onClick:()=>{if(!c.sourceModule?.trim())return i.message.error(`Source module is required`);if(!c.sourceIdField?.trim())return i.message.error(`Source id field is required`);let{fieldMapRows:e,...t}=c;s({...t,fieldMap:Sx(e)})},children:`Apply`})]}),children:(0,o.jsxs)(`div`,{className:`fg-form-section`,children:[(0,o.jsxs)(`div`,{className:`fg-field-meta-row`,children:[(0,o.jsxs)(`div`,{style:{flex:1},children:[(0,o.jsx)($,{type:`secondary`,style:{fontSize:12},children:`Source module`}),(0,o.jsx)(i.Input,{size:`small`,placeholder:`job`,value:c.sourceModule??``,onChange:e=>u(`sourceModule`,e.target.value),className:`fg-mono-input`})]}),(0,o.jsxs)(`div`,{style:{flex:1},children:[(0,o.jsx)($,{type:`secondary`,style:{fontSize:12},children:`Source id field (on THIS payload)`}),(0,o.jsx)(i.Input,{size:`small`,placeholder:`jobId`,value:c.sourceIdField??``,onChange:e=>u(`sourceIdField`,e.target.value),className:`fg-mono-input`})]})]}),(0,o.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,marginTop:14},children:[(0,o.jsx)(i.Switch,{size:`small`,checked:!!c.required,onChange:e=>u(`required`,e)}),(0,o.jsx)($,{style:{fontSize:13},children:`Required — block the write if the source record can't be found`})]}),(0,o.jsxs)(`div`,{style:{marginTop:16},children:[(0,o.jsx)($,{type:`secondary`,style:{fontSize:12},children:`Field map (source field → this payload's field)`}),(0,o.jsx)(yx,{rows:c.fieldMapRows??[],onChange:e=>u(`fieldMapRows`,e),keyPlaceholder:`jobTitle`,valuePlaceholder:`jobTitle`})]})]})})}function Ex({open:e,rule:t,onClose:n,onSave:s}){let[c,l]=(0,r.useState)(()=>({sourceField:``,targetField:``,sourceCollection:``,idField:``,idOutputKey:``,stampNow:``,...t??{},fieldMapRows:xx(t?.fieldMap)})),u=(e,t)=>l(n=>({...n,[e]:t}));return(0,o.jsx)(i.Modal,{open:e,onCancel:n,width:640,centered:!0,destroyOnClose:!0,maskClosable:!1,className:`fg-editor-modal`,title:(0,o.jsxs)(`span`,{className:`fg-drawer-title`,children:[(0,o.jsx)(a.ApartmentOutlined,{}),` `,t?`Edit Array Enrichment`:`New Array Enrichment`]}),footer:(0,o.jsxs)(`div`,{className:`fg-drawer-footer`,children:[(0,o.jsx)(i.Button,{onClick:n,children:`Cancel`}),(0,o.jsx)(i.Button,{type:`primary`,icon:(0,o.jsx)(a.SaveOutlined,{}),onClick:()=>{if(!c.sourceField?.trim())return i.message.error(`Source field is required`);if(!c.targetField?.trim())return i.message.error(`Target field is required`);let{fieldMapRows:e,...t}=c;s({...t,fieldMap:Sx(e)})},children:`Apply`})]}),children:(0,o.jsxs)(`div`,{className:`fg-form-section`,children:[(0,o.jsxs)(`div`,{className:`fg-field-meta-row`,children:[(0,o.jsxs)(`div`,{style:{flex:1},children:[(0,o.jsx)($,{type:`secondary`,style:{fontSize:12},children:`Source field (array of ids on this payload)`}),(0,o.jsx)(i.Input,{size:`small`,placeholder:`recruitersData`,value:c.sourceField??``,onChange:e=>u(`sourceField`,e.target.value),className:`fg-mono-input`})]}),(0,o.jsxs)(`div`,{style:{flex:1},children:[(0,o.jsx)($,{type:`secondary`,style:{fontSize:12},children:`Target field (enriched array written here)`}),(0,o.jsx)(i.Input,{size:`small`,placeholder:`recruiters`,value:c.targetField??``,onChange:e=>u(`targetField`,e.target.value),className:`fg-mono-input`})]})]}),(0,o.jsxs)(`div`,{className:`fg-field-meta-row`,style:{marginTop:12},children:[(0,o.jsxs)(`div`,{style:{flex:1},children:[(0,o.jsx)($,{type:`secondary`,style:{fontSize:12},children:`Source collection`}),(0,o.jsx)(i.Input,{size:`small`,placeholder:`users (default)`,value:c.sourceCollection??``,onChange:e=>u(`sourceCollection`,e.target.value),className:`fg-mono-input`})]}),(0,o.jsxs)(`div`,{style:{flex:1},children:[(0,o.jsx)($,{type:`secondary`,style:{fontSize:12},children:`Id field on that collection`}),(0,o.jsx)(i.Input,{size:`small`,placeholder:`legacyUserId (default)`,value:c.idField??``,onChange:e=>u(`idField`,e.target.value),className:`fg-mono-input`})]})]}),(0,o.jsxs)(`div`,{style:{marginTop:16},children:[(0,o.jsx)($,{type:`secondary`,style:{fontSize:12},children:`Field map (source collection field → output key)`}),(0,o.jsx)(yx,{rows:c.fieldMapRows??[],onChange:e=>u(`fieldMapRows`,e),keyPlaceholder:`firstName`,valuePlaceholder:`recruiterName`})]}),(0,o.jsxs)(`div`,{className:`fg-field-meta-row`,style:{marginTop:12},children:[(0,o.jsxs)(`div`,{style:{flex:1},children:[(0,o.jsx)($,{type:`secondary`,style:{fontSize:12},children:`Also write the matched id as`}),(0,o.jsx)(i.Input,{size:`small`,placeholder:`recruiterId`,value:c.idOutputKey??``,onChange:e=>u(`idOutputKey`,e.target.value),className:`fg-mono-input`})]}),(0,o.jsxs)(`div`,{style:{flex:1},children:[(0,o.jsx)($,{type:`secondary`,style:{fontSize:12},children:`Also stamp the current time as`}),(0,o.jsx)(i.Input,{size:`small`,placeholder:`assignedDateTime`,value:c.stampNow??``,onChange:e=>u(`stampNow`,e.target.value),className:`fg-mono-input`})]})]})]})})}function Dx({open:e,rule:t,onClose:n,onSave:s}){let[c,l]=(0,r.useState)(()=>({sourceField:``,targetField:``,uploadedFileNameField:``,uniqueNameField:``,uploadedAtField:``,uploadedByField:``,arrayMode:!1,nameFromField:``,nameOutputField:``,historyField:``,historySnapshotKey:``,historyReason:``,...t??{},staticFieldRows:xx(t?.staticFields),arrayFieldNameRows:xx(t?.arrayFieldNames)})),u=(e,t)=>l(n=>({...n,[e]:t}));return(0,o.jsx)(i.Modal,{open:e,onCancel:n,width:760,centered:!0,destroyOnClose:!0,maskClosable:!1,className:`fg-editor-modal`,title:(0,o.jsxs)(`span`,{className:`fg-drawer-title`,children:[(0,o.jsx)(a.DatabaseOutlined,{}),` `,t?`Edit File Field Map`:`New File Field Map`]}),footer:(0,o.jsxs)(`div`,{className:`fg-drawer-footer`,children:[(0,o.jsx)(i.Button,{onClick:n,children:`Cancel`}),(0,o.jsx)(i.Button,{type:`primary`,icon:(0,o.jsx)(a.SaveOutlined,{}),onClick:()=>{if(!c.sourceField?.trim())return i.message.error(`Source field (the multipart upload key) is required`);if(!c.targetField?.trim())return i.message.error(`Target field is required`);let{staticFieldRows:e,arrayFieldNameRows:t,...n}=c;s({...n,staticFields:Sx(e),arrayFieldNames:Sx(t)})},children:`Apply`})]}),children:(0,o.jsxs)(`div`,{className:`fg-form-section`,children:[(0,o.jsx)($,{type:`secondary`,style:{fontSize:12,display:`block`,marginBottom:10},children:`Turns one uploaded file field into a nested object (or array of objects) instead of a flat S3 path string — for schemas like a candidate's resume/passport/visa that store location + filename + who/when as sub-fields.`}),(0,o.jsxs)(`div`,{className:`fg-field-meta-row`,children:[(0,o.jsxs)(`div`,{style:{flex:1},children:[(0,o.jsx)($,{type:`secondary`,style:{fontSize:12},children:`Source field (multipart upload key)`}),(0,o.jsx)(i.Input,{size:`small`,placeholder:`resume`,value:c.sourceField??``,onChange:e=>u(`sourceField`,e.target.value),className:`fg-mono-input`})]}),(0,o.jsxs)(`div`,{style:{flex:1},children:[(0,o.jsxs)($,{type:`secondary`,style:{fontSize:12},children:[`Target field `,c.arrayMode?`(array)`:`(location sub-field)`]}),(0,o.jsx)(i.Input,{size:`small`,placeholder:c.arrayMode?`documents`:`resume.location`,value:c.targetField??``,onChange:e=>u(`targetField`,e.target.value),className:`fg-mono-input`})]})]}),(0,o.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,marginTop:14},children:[(0,o.jsx)(i.Switch,{size:`small`,checked:!!c.arrayMode,onChange:e=>u(`arrayMode`,e)}),(0,o.jsx)($,{style:{fontSize:13},children:`Array mode — every uploaded file becomes one element (e.g. "documents")`})]}),c.arrayMode?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(`div`,{style:{marginTop:12},children:[(0,o.jsx)($,{type:`secondary`,style:{fontSize:12},children:`Sub-field names (location / uploadedFileName / uniqueName → this schema's names)`}),(0,o.jsx)(yx,{rows:c.arrayFieldNameRows??[],onChange:e=>u(`arrayFieldNameRows`,e),keyPlaceholder:`location`,valuePlaceholder:`documentCopyLocation`})]}),(0,o.jsxs)(`div`,{className:`fg-field-meta-row`,style:{marginTop:12},children:[(0,o.jsxs)(`div`,{style:{flex:1},children:[(0,o.jsx)($,{type:`secondary`,style:{fontSize:12},children:`Take each element's display name from (payload array field)`}),(0,o.jsx)(i.Input,{size:`small`,placeholder:`documents`,value:c.nameFromField??``,onChange:e=>u(`nameFromField`,e.target.value),className:`fg-mono-input`})]}),(0,o.jsxs)(`div`,{style:{flex:1},children:[(0,o.jsx)($,{type:`secondary`,style:{fontSize:12},children:`...reading its field`}),(0,o.jsx)(i.Input,{size:`small`,placeholder:`documentName`,value:c.nameOutputField??``,onChange:e=>u(`nameOutputField`,e.target.value),className:`fg-mono-input`})]})]})]}):(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(`div`,{className:`fg-field-meta-row`,style:{marginTop:12},children:[(0,o.jsxs)(`div`,{style:{flex:1},children:[(0,o.jsx)($,{type:`secondary`,style:{fontSize:12},children:`Original filename field`}),(0,o.jsx)(i.Input,{size:`small`,placeholder:`resume.uploadedFileName`,value:c.uploadedFileNameField??``,onChange:e=>u(`uploadedFileNameField`,e.target.value),className:`fg-mono-input`})]}),(0,o.jsxs)(`div`,{style:{flex:1},children:[(0,o.jsx)($,{type:`secondary`,style:{fontSize:12},children:`Unique name field`}),(0,o.jsx)(i.Input,{size:`small`,placeholder:`resume.uniqueName`,value:c.uniqueNameField??``,onChange:e=>u(`uniqueNameField`,e.target.value),className:`fg-mono-input`})]})]}),(0,o.jsxs)(`div`,{className:`fg-field-meta-row`,style:{marginTop:12},children:[(0,o.jsxs)(`div`,{style:{flex:1},children:[(0,o.jsx)($,{type:`secondary`,style:{fontSize:12},children:`Uploaded-at field`}),(0,o.jsx)(i.Input,{size:`small`,placeholder:`resume.uploadedAt`,value:c.uploadedAtField??``,onChange:e=>u(`uploadedAtField`,e.target.value),className:`fg-mono-input`})]}),(0,o.jsxs)(`div`,{style:{flex:1},children:[(0,o.jsx)($,{type:`secondary`,style:{fontSize:12},children:`Uploaded-by field`}),(0,o.jsx)(i.Input,{size:`small`,placeholder:`resume.uploadedBy`,value:c.uploadedByField??``,onChange:e=>u(`uploadedByField`,e.target.value),className:`fg-mono-input`})]})]}),(0,o.jsxs)(`div`,{style:{marginTop:12},children:[(0,o.jsx)($,{type:`secondary`,style:{fontSize:12},children:`Static fields (literal value written alongside the upload)`}),(0,o.jsx)(yx,{rows:c.staticFieldRows??[],onChange:e=>u(`staticFieldRows`,e),keyPlaceholder:`resume.source`,valuePlaceholder:`candidate`})]}),(0,o.jsxs)(`div`,{className:`fg-field-meta-row`,style:{marginTop:12},children:[(0,o.jsxs)(`div`,{style:{flex:1},children:[(0,o.jsx)($,{type:`secondary`,style:{fontSize:12},children:`Append a snapshot to (history array field)`}),(0,o.jsx)(i.Input,{size:`small`,placeholder:`resumeHistory`,value:c.historyField??``,onChange:e=>u(`historyField`,e.target.value),className:`fg-mono-input`})]}),(0,o.jsxs)(`div`,{style:{flex:1},children:[(0,o.jsx)($,{type:`secondary`,style:{fontSize:12},children:`...under snapshot key`}),(0,o.jsx)(i.Input,{size:`small`,placeholder:`resume`,value:c.historySnapshotKey??``,onChange:e=>u(`historySnapshotKey`,e.target.value),className:`fg-mono-input`})]}),(0,o.jsxs)(`div`,{style:{flex:1},children:[(0,o.jsx)($,{type:`secondary`,style:{fontSize:12},children:`...with reason`}),(0,o.jsx)(i.Input,{size:`small`,placeholder:`Initial resume upload`,value:c.historyReason??``,onChange:e=>u(`historyReason`,e.target.value),className:`fg-mono-input`})]})]})]})]})})}function Ox({open:e,rule:t,onClose:n,onSave:s}){let[c,l]=(0,r.useState)(()=>({name:``,seedField:``,direction:`up`,stopRole:0,includeSeed:!0,...t??{}})),u=(e,t)=>l(n=>({...n,[e]:t}));return(0,o.jsx)(i.Modal,{open:e,onCancel:n,width:620,centered:!0,destroyOnClose:!0,maskClosable:!1,className:`fg-editor-modal`,title:(0,o.jsxs)(`span`,{className:`fg-drawer-title`,children:[(0,o.jsx)(a.ApartmentOutlined,{}),` `,t?`Edit Hierarchy Expansion`:`New Hierarchy Expansion`]}),footer:(0,o.jsxs)(`div`,{className:`fg-drawer-footer`,children:[(0,o.jsx)(i.Button,{onClick:n,children:`Cancel`}),(0,o.jsx)(i.Button,{type:`primary`,icon:(0,o.jsx)(a.SaveOutlined,{}),onClick:()=>{if(!c.name?.trim())return i.message.error(`Name is required — this is how RelatedUpdates/Notify reference the result`);if(!/^[a-zA-Z0-9_]+$/.test(c.name))return i.message.error(`Name: letters, numbers, underscores only`);s(c)},children:`Apply`})]}),children:(0,o.jsxs)(`div`,{className:`fg-form-section`,children:[(0,o.jsxs)(`div`,{className:`fg-field-meta-row`,children:[(0,o.jsxs)(`div`,{style:{flex:1},children:[(0,o.jsx)($,{type:`secondary`,style:{fontSize:12},children:`Name`}),(0,o.jsx)(i.Input,{size:`small`,placeholder:`chain`,value:c.name??``,onChange:e=>u(`name`,e.target.value),className:`fg-mono-input`}),(0,o.jsxs)($,{type:`secondary`,style:{fontSize:11},children:[`Referenced as `,(0,o.jsx)(`code`,{children:`{{hierarchy.`+(c.name||`name`)+`}}`})]})]}),(0,o.jsxs)(`div`,{style:{flex:1},children:[(0,o.jsx)($,{type:`secondary`,style:{fontSize:12},children:`Seed field (blank = the caller)`}),(0,o.jsx)(i.Input,{size:`small`,placeholder:`recruitersData`,value:c.seedField??``,onChange:e=>u(`seedField`,e.target.value),className:`fg-mono-input`})]})]}),(0,o.jsxs)(`div`,{className:`fg-field-meta-row`,style:{marginTop:12},children:[(0,o.jsxs)(`div`,{style:{flex:1},children:[(0,o.jsx)($,{type:`secondary`,style:{fontSize:12},children:`Direction`}),(0,o.jsx)(i.Select,{size:`small`,style:{width:`100%`},value:c.direction||`up`,onChange:e=>u(`direction`,e),options:[{value:`up`,label:`Up — toward admin (reporting chain)`},{value:`down`,label:`Down — toward subordinates (team)`}]})]}),(0,o.jsxs)(`div`,{style:{flex:1},children:[(0,o.jsx)($,{type:`secondary`,style:{fontSize:12},children:`Stop at role id (up only, 0 = walk to the top)`}),(0,o.jsx)(i.InputNumber,{size:`small`,style:{width:`100%`},min:0,value:c.stopRole??0,onChange:e=>u(`stopRole`,e??0),disabled:c.direction!==`up`})]})]}),(0,o.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,marginTop:14},children:[(0,o.jsx)(i.Switch,{size:`small`,checked:c.includeSeed!==!1,onChange:e=>u(`includeSeed`,e)}),(0,o.jsx)($,{style:{fontSize:13},children:`Include the seed user(s) themselves in the result`})]})]})})}function kx({open:e,rule:t,hierarchyNames:n,onClose:s,onSave:c}){let[l,u]=(0,r.useState)(()=>({collectionName:``,targetModule:``,matchField:``,scopeTenant:!1,forEach:``,insertMode:!!(t?.insertIfMissing&&Object.keys(t.insertIfMissing).length),...t??{},extraFilterRows:Cx(t?.extraFilter),pullRows:Cx(t?.pull),pushRows:Cx(t?.push),setRows:Cx(t?.set),setIfNonBlankRows:Cx(t?.setIfNonBlank),insertIfMissingRows:Cx(t?.insertIfMissing)})),d=(e,t)=>u(n=>({...n,[e]:t})),f=()=>{if(!l.collectionName?.trim()&&!l.targetModule?.trim())return i.message.error(`Set either a collection name or a target module`);let{extraFilterRows:e,pullRows:t,pushRows:n,setRows:r,setIfNonBlankRows:a,insertIfMissingRows:o,insertMode:s,...u}=l;c({...u,extraFilter:wx(e),pull:s?{}:wx(t),push:s?{}:wx(n),set:s?{}:wx(r),setIfNonBlank:s?{}:wx(a),insertIfMissing:s?wx(o):{}})},p=(n??[]).map(e=>({value:`hierarchy.${e}`,label:`{{hierarchy.${e}}}`}));return(0,o.jsx)(i.Modal,{open:e,onCancel:s,width:820,centered:!0,destroyOnClose:!0,maskClosable:!1,className:`fg-editor-modal`,title:(0,o.jsxs)(`span`,{className:`fg-drawer-title`,children:[(0,o.jsx)(a.ThunderboltOutlined,{}),` `,t?`Edit Related Update`:`New Related Update`]}),footer:(0,o.jsxs)(`div`,{className:`fg-drawer-footer`,children:[(0,o.jsx)(i.Button,{onClick:s,children:`Cancel`}),(0,o.jsx)(i.Button,{type:`primary`,icon:(0,o.jsx)(a.SaveOutlined,{}),onClick:f,children:`Apply`})]}),children:(0,o.jsxs)(`div`,{className:`fg-form-section`,children:[(0,o.jsx)(`div`,{className:`fg-form-section-label`,children:`Target`}),(0,o.jsxs)(`div`,{className:`fg-field-meta-row`,children:[(0,o.jsxs)(`div`,{style:{flex:1},children:[(0,o.jsx)($,{type:`secondary`,style:{fontSize:12},children:`Collection name (used verbatim)`}),(0,o.jsx)(i.Input,{size:`small`,placeholder:`hiringProgress`,value:l.collectionName??``,onChange:e=>d(`collectionName`,e.target.value),className:`fg-mono-input`})]}),(0,o.jsxs)(`div`,{style:{flex:1},children:[(0,o.jsx)($,{type:`secondary`,style:{fontSize:12},children:`— or — target module`}),(0,o.jsx)(i.Input,{size:`small`,placeholder:`job`,value:l.targetModule??``,onChange:e=>d(`targetModule`,e.target.value),className:`fg-mono-input`})]})]}),(0,o.jsxs)(`div`,{className:`fg-field-meta-row`,style:{marginTop:12},children:[(0,o.jsxs)(`div`,{style:{flex:1},children:[(0,o.jsx)($,{type:`secondary`,style:{fontSize:12},children:`Match field (this payload's field holding the target _id)`}),(0,o.jsx)(i.Input,{size:`small`,placeholder:`jobId (blank for a tenant-scoped board)`,value:l.matchField??``,onChange:e=>d(`matchField`,e.target.value),className:`fg-mono-input`})]}),(0,o.jsxs)(`div`,{style:{flex:1},children:[(0,o.jsx)($,{type:`secondary`,style:{fontSize:12},children:`Repeat once per element of (ForEach)`}),(0,o.jsx)(i.Select,{size:`small`,style:{width:`100%`},allowClear:!0,showSearch:!0,placeholder:`e.g. {{hierarchy.chain}}`,value:l.forEach||void 0,onChange:e=>d(`forEach`,e??``),options:p})]})]}),(0,o.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,marginTop:14},children:[(0,o.jsx)(i.Switch,{size:`small`,checked:!!l.scopeTenant,onChange:e=>d(`scopeTenant`,e)}),(0,o.jsx)($,{style:{fontSize:13},children:`Scope filter to the caller's tenant/business/businessUnit`})]}),(0,o.jsxs)(`div`,{style:{marginTop:14},children:[(0,o.jsx)($,{type:`secondary`,style:{fontSize:12},children:`Extra filter (merged into the match filter)`}),(0,o.jsx)(bx,{rows:l.extraFilterRows??[],onChange:e=>d(`extraFilterRows`,e),keyPlaceholder:`recruiterId`,valuePlaceholder:`{"$in":"{{hierarchy.chain}}"}`})]}),(0,o.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,marginTop:18},children:[(0,o.jsx)(i.Switch,{size:`small`,checked:!!l.insertMode,onChange:e=>d(`insertMode`,e)}),(0,o.jsx)($,{style:{fontSize:13},children:`Insert-only-if-missing (seed a new document instead of updating an existing one)`})]}),l.insertMode?(0,o.jsxs)(`div`,{style:{marginTop:10},children:[(0,o.jsx)($,{type:`secondary`,style:{fontSize:12},children:`Document to insert when the filter matches nothing`}),(0,o.jsx)(bx,{rows:l.insertIfMissingRows??[],onChange:e=>d(`insertIfMissingRows`,e),keyPlaceholder:`hiringProgressJobStatus`,valuePlaceholder:`"unread"`})]}):(0,o.jsx)(i.Tabs,{size:`small`,style:{marginTop:10},items:[{key:`pull`,label:`Pull`,children:(0,o.jsx)(bx,{rows:l.pullRows??[],onChange:e=>d(`pullRows`,e),keyPlaceholder:`submitted`,valuePlaceholder:`{"candidateId":"{{applicantId}}"}`})},{key:`push`,label:`Push`,children:(0,o.jsx)(bx,{rows:l.pushRows??[],onChange:e=>d(`pushRows`,e),keyPlaceholder:`submitted`,valuePlaceholder:`{"status":"{{submissionStatus}}"}`})},{key:`set`,label:`Set`,children:(0,o.jsx)(bx,{rows:l.setRows??[],onChange:e=>d(`setRows`,e),keyPlaceholder:`hiringProgressJobStatus`,valuePlaceholder:`"unread"`})},{key:`setIfNonBlank`,label:`Set if non-blank`,children:(0,o.jsx)(bx,{rows:l.setIfNonBlankRows??[],onChange:e=>d(`setIfNonBlankRows`,e),keyPlaceholder:`resume.location`,valuePlaceholder:`{{resume.location}}`})}]})]})})}function Ax({icon:e,title:t,description:n,rules:r,columns:s,onAdd:c,onEdit:l,onDelete:u}){return(0,o.jsxs)(Z,{title:(0,o.jsxs)(`span`,{children:[e,` `,t]}),extra:(0,o.jsx)(i.Button,{size:`small`,type:`dashed`,icon:(0,o.jsx)(a.PlusOutlined,{}),onClick:c,children:`Add`}),styles:{body:{paddingTop:8}},children:[n&&(0,o.jsx)($,{type:`secondary`,style:{fontSize:12,display:`block`,marginBottom:10},children:n}),(0,o.jsx)(i.Table,{rowKey:(e,t)=>t,dataSource:r,columns:[...s,{title:``,key:`actions`,width:80,align:`right`,render:(e,t,n)=>(0,o.jsxs)(i.Space,{size:4,children:[(0,o.jsx)(i.Tooltip,{title:`Edit`,children:(0,o.jsx)(i.Button,{type:`text`,size:`small`,icon:(0,o.jsx)(a.EditOutlined,{}),onClick:()=>l(n,t)})}),(0,o.jsx)(i.Tooltip,{title:`Delete`,children:(0,o.jsx)(i.Button,{type:`text`,size:`small`,danger:!0,icon:(0,o.jsx)(a.DeleteOutlined,{}),onClick:()=>u(n)})})]})}],pagination:!1,size:`small`,className:`fg-table`,locale:{emptyText:(0,o.jsx)(i.Empty,{image:i.Empty.PRESENTED_IMAGE_SIMPLE,description:`Not configured`})}})]})}var jx={sequence:null,duplicateCheck:null,denormalizations:[],arrayEnrichments:[],fileFieldMaps:[],sanitizeFields:[],defaults:{},hierarchyExpands:[],relatedUpdates:[],notify:null,cacheInvalidate:[]};function Mx(){let[t,n]=(0,r.useState)([]),[s,c]=(0,r.useState)(!0),[l,u]=(0,r.useState)(``),[d,f]=(0,r.useState)({storage:`mongo`}),[p,m]=(0,r.useState)(`mongo`),[h,g]=(0,r.useState)(jx),[_,v]=(0,r.useState)(!1),[y,b]=(0,r.useState)(!1),[x,S]=(0,r.useState)(``),[C,w]=(0,r.useState)(null),[T,E]=(0,r.useState)(null),[D,O]=(0,r.useState)(null),[k,A]=(0,r.useState)(null),[j,M]=(0,r.useState)(null);(0,r.useEffect)(()=>{e.bn().then(e=>{let t=mv(e).map(({value:e,label:t})=>({key:e,label:t}));n(t),t.length&&u(t[0].key)}).catch(()=>n([])).finally(()=>c(!1))},[]),(0,r.useEffect)(()=>{if(!l)return;let t=!1;return(async()=>{v(!0),S(``);try{let n=await e.In(l);if(t)return;let r=n.gateway??{storage:`mongo`};f(r),m(r.storage||`mongo`),g({...jx,...n.strategies??{}})}catch(e){t||S(e?.message||`Failed to load automations`)}finally{t||v(!1)}})(),()=>{t=!0}},[l]);let N=(0,r.useMemo)(()=>(h.hierarchyExpands??[]).map(e=>e.name).filter(Boolean),[h.hierarchyExpands]);function P(e,t){g(n=>({...n,[e]:t}))}function F(){b(!0),e.nr(l,{gateway:d,strategies:{...h,denormalizations:h.denormalizations?.length?h.denormalizations:void 0,arrayEnrichments:h.arrayEnrichments?.length?h.arrayEnrichments:void 0,fileFieldMaps:h.fileFieldMaps?.length?h.fileFieldMaps:void 0,sanitizeFields:h.sanitizeFields?.length?h.sanitizeFields:void 0,hierarchyExpands:h.hierarchyExpands?.length?h.hierarchyExpands:void 0,relatedUpdates:h.relatedUpdates?.length?h.relatedUpdates:void 0,cacheInvalidate:h.cacheInvalidate?.length?h.cacheInvalidate:void 0,defaults:Object.keys(h.defaults??{}).length?h.defaults:void 0}}).then(()=>{m(d.storage||`mongo`),i.message.success(`Automations saved`)}).catch(e=>i.message.error(e?.message||`Could not save automations`)).finally(()=>b(!1))}function I(){if((d.storage||`mongo`)!==p){i.Modal.confirm({title:`Change how this module persists writes?`,content:`You're switching ${l} from "${p}" to "${d.storage}". `+(d.storage===`mongo`?`This module will stop calling its downstream service and this gateway will own the write + every Strategy below.`:`This module will stop using the Strategies below and go back to calling its downstream service.`)+` Make sure the downstream service / e2e checks are ready before confirming.`,okText:`Confirm cutover`,okButtonProps:{danger:!0},onOk:F});return}F()}let L=[{title:`Source module`,dataIndex:`sourceModule`,key:`sourceModule`,render:e=>(0,o.jsx)(`code`,{className:`fg-table-code`,children:e})},{title:`Source id field`,dataIndex:`sourceIdField`,key:`sourceIdField`},{title:`Fields`,key:`fields`,render:(e,t)=>(0,o.jsx)(i.Badge,{count:Object.keys(t.fieldMap??{}).length,showZero:!0,color:`var(--color-brand)`})},{title:`Required`,dataIndex:`required`,key:`required`,width:90,render:e=>e?(0,o.jsx)(i.Tag,{color:`volcano`,children:`Required`}):(0,o.jsx)($,{type:`secondary`,style:{fontSize:12},children:`optional`})}],R=[{title:`Source field`,dataIndex:`sourceField`,key:`sourceField`,render:e=>(0,o.jsx)(`code`,{className:`fg-table-code`,children:e})},{title:`Target field`,dataIndex:`targetField`,key:`targetField`,render:e=>(0,o.jsx)(`code`,{className:`fg-table-code`,children:e})},{title:`From collection`,key:`coll`,render:(e,t)=>t.sourceCollection||`users`},{title:`Fields`,key:`fields`,render:(e,t)=>(0,o.jsx)(i.Badge,{count:Object.keys(t.fieldMap??{}).length,showZero:!0,color:`var(--color-brand)`})}],z=[{title:`Source field`,dataIndex:`sourceField`,key:`sourceField`,render:e=>(0,o.jsx)(`code`,{className:`fg-table-code`,children:e})},{title:`Target field`,dataIndex:`targetField`,key:`targetField`,render:e=>(0,o.jsx)(`code`,{className:`fg-table-code`,children:e})},{title:`Mode`,dataIndex:`arrayMode`,key:`arrayMode`,width:100,render:e=>e?(0,o.jsx)(i.Tag,{color:`blue`,children:`Array`}):(0,o.jsx)(i.Tag,{children:`Single`})},{title:`History`,dataIndex:`historyField`,key:`historyField`,render:e=>e||(0,o.jsx)($,{type:`secondary`,style:{fontSize:12},children:`—`})}],B=[{title:`Name`,dataIndex:`name`,key:`name`,render:e=>(0,o.jsx)(`code`,{className:`fg-table-code`,children:`{{hierarchy.`+e+`}}`})},{title:`Seed field`,dataIndex:`seedField`,key:`seedField`,render:e=>e||(0,o.jsx)($,{type:`secondary`,style:{fontSize:12},children:`caller`})},{title:`Direction`,dataIndex:`direction`,key:`direction`,render:e=>(0,o.jsx)(i.Tag,{color:e===`down`?`blue`:`purple`,children:e===`down`?`Down — team`:`Up — chain`})},{title:`Stop role`,dataIndex:`stopRole`,key:`stopRole`,width:90,render:e=>e||(0,o.jsx)($,{type:`secondary`,style:{fontSize:12},children:`top`})}],ee=[{title:`Target`,key:`target`,render:(e,t)=>(0,o.jsx)(`code`,{className:`fg-table-code`,children:t.collectionName||t.targetModule})},{title:`Match`,key:`match`,render:(e,t)=>t.matchField||(0,o.jsx)($,{type:`secondary`,style:{fontSize:12},children:`tenant-scoped`})},{title:`For each`,key:`forEach`,render:(e,t)=>t.forEach?(0,o.jsx)(i.Tag,{color:`geekblue`,children:`{{${t.forEach}}}`}):(0,o.jsx)($,{type:`secondary`,style:{fontSize:12},children:`once`})},{title:`Mode`,key:`mode`,render:(e,t)=>Object.keys(t.insertIfMissing??{}).length?(0,o.jsx)(i.Tag,{color:`green`,children:`Insert if missing`}):(0,o.jsx)(i.Tag,{children:`Update`})}],te=t.map(e=>({key:e.key,label:e.label}));return(0,o.jsxs)(`div`,{className:`fg-section`,children:[(0,o.jsxs)(Z,{icon:(0,o.jsx)(a.ThunderboltOutlined,{}),title:`Automations`,extra:(0,o.jsx)(i.Button,{type:`primary`,size:`small`,icon:(0,o.jsx)(a.SaveOutlined,{}),loading:y,disabled:!l,onClick:I,children:`Save Automations`}),children:[(0,o.jsx)(`div`,{className:`admin-accent-bar`}),(0,o.jsx)($,{type:`secondary`,style:{fontSize:13},children:`Config-driven side-effects the common CRUD gateway runs around a create — reference ids, duplicate checks, cross-module field snapshots, reporting-chain hierarchy expansion, board updates, notifications, cache invalidation. Nothing here is module-specific: the same engine serves every module.`})]}),(0,o.jsx)(Z,{styles:{body:{paddingTop:8}},children:(0,o.jsxs)(i.Spin,{spinning:s,children:[(0,o.jsx)(i.Tabs,{activeKey:l,onChange:u,items:te.map(e=>({...e,children:null})),className:`admin-module-tabs`}),x&&(0,o.jsx)(i.Alert,{type:`error`,showIcon:!0,message:x,style:{marginBottom:12}}),(0,o.jsxs)(i.Spin,{spinning:_,children:[(0,o.jsxs)(Z,{title:`Gateway`,styles:{body:{paddingTop:8}},children:[(0,o.jsx)($,{type:`secondary`,style:{fontSize:12,display:`block`,marginBottom:10},children:`Selects how a write to this module persists. "Proxy" forwards to a downstream microservice (which owns every side-effect below itself). "Mongo" makes THIS gateway own the write and run every Strategy configured below.`}),(0,o.jsxs)(`div`,{className:`fg-field-meta-row`,children:[(0,o.jsxs)(`div`,{style:{flex:1},children:[(0,o.jsx)($,{type:`secondary`,style:{fontSize:12},children:`Storage`}),(0,o.jsx)(i.Select,{size:`small`,style:{width:`100%`},value:d.storage||`mongo`,onChange:e=>f(t=>({...t,storage:e})),options:[{value:`mongo`,label:`Mongo — this gateway owns the write`},{value:`proxy`,label:`Proxy — forward to a downstream service`}]})]}),(0,o.jsxs)(`div`,{style:{flex:1},children:[(0,o.jsx)($,{type:`secondary`,style:{fontSize:12},children:`File field key`}),(0,o.jsx)(i.Input,{size:`small`,placeholder:`file`,value:d.fileKey??``,onChange:e=>f(t=>({...t,fileKey:e.target.value})),className:`fg-mono-input`})]})]}),d.storage===`proxy`&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(`div`,{className:`fg-field-meta-row`,style:{marginTop:12},children:[(0,o.jsxs)(`div`,{style:{flex:1},children:[(0,o.jsx)($,{type:`secondary`,style:{fontSize:12},children:`Base URL env var`}),(0,o.jsx)(i.Input,{size:`small`,placeholder:`JOBS_SERVICE_URL`,value:d.baseUrlEnv??``,onChange:e=>f(t=>({...t,baseUrlEnv:e.target.value})),className:`fg-mono-input`})]}),(0,o.jsxs)(`div`,{style:{flex:1},children:[(0,o.jsx)($,{type:`secondary`,style:{fontSize:12},children:`Base URL (fallback)`}),(0,o.jsx)(i.Input,{size:`small`,placeholder:`http://...`,value:d.baseUrl??``,onChange:e=>f(t=>({...t,baseUrl:e.target.value})),className:`fg-mono-input`})]})]}),(0,o.jsxs)(`div`,{className:`fg-field-meta-row`,style:{marginTop:12},children:[(0,o.jsxs)(`div`,{style:{flex:1},children:[(0,o.jsx)($,{type:`secondary`,style:{fontSize:12},children:`Create path`}),(0,o.jsx)(i.Input,{size:`small`,placeholder:`/v1/jobs`,value:d.createPath??``,onChange:e=>f(t=>({...t,createPath:e.target.value})),className:`fg-mono-input`})]}),(0,o.jsxs)(`div`,{style:{flex:1},children:[(0,o.jsx)($,{type:`secondary`,style:{fontSize:12},children:`Update path (%s = id)`}),(0,o.jsx)(i.Input,{size:`small`,placeholder:`/v1/edit/%s`,value:d.updatePath??``,onChange:e=>f(t=>({...t,updatePath:e.target.value})),className:`fg-mono-input`})]}),(0,o.jsxs)(`div`,{style:{flex:1},children:[(0,o.jsx)($,{type:`secondary`,style:{fontSize:12},children:`Update method`}),(0,o.jsx)(i.Select,{size:`small`,style:{width:`100%`},value:d.updateMethod||`PUT`,onChange:e=>f(t=>({...t,updateMethod:e})),options:[`PUT`,`POST`,`PATCH`].map(e=>({value:e,label:e}))})]})]})]})]}),(0,o.jsxs)(Z,{title:`Reference ID (Sequence)`,styles:{body:{paddingTop:8}},children:[(0,o.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,marginBottom:10},children:[(0,o.jsx)(i.Switch,{size:`small`,checked:!!h.sequence,onChange:e=>P(`sequence`,e?{field:``,prefix:``,counterKey:``}:null)}),(0,o.jsxs)($,{style:{fontSize:13},children:[`Generate a "`,`{prefix}{n}`,`" reference id on create`]})]}),h.sequence&&(0,o.jsxs)(`div`,{className:`fg-field-meta-row`,children:[(0,o.jsxs)(`div`,{style:{flex:1},children:[(0,o.jsx)($,{type:`secondary`,style:{fontSize:12},children:`Payload field`}),(0,o.jsx)(i.Input,{size:`small`,placeholder:`submissionId`,value:h.sequence.field??``,onChange:e=>P(`sequence`,{...h.sequence,field:e.target.value}),className:`fg-mono-input`})]}),(0,o.jsxs)(`div`,{style:{flex:1},children:[(0,o.jsx)($,{type:`secondary`,style:{fontSize:12},children:`Prefix`}),(0,o.jsx)(i.Input,{size:`small`,placeholder:`sub`,value:h.sequence.prefix??``,onChange:e=>P(`sequence`,{...h.sequence,prefix:e.target.value}),className:`fg-mono-input`})]}),(0,o.jsxs)(`div`,{style:{flex:1},children:[(0,o.jsx)($,{type:`secondary`,style:{fontSize:12},children:`Counter key`}),(0,o.jsx)(i.Input,{size:`small`,placeholder:`submissions`,value:h.sequence.counterKey??``,onChange:e=>P(`sequence`,{...h.sequence,counterKey:e.target.value}),className:`fg-mono-input`})]})]})]}),(0,o.jsxs)(Z,{title:`Duplicate Check`,styles:{body:{paddingTop:8}},children:[(0,o.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,marginBottom:10},children:[(0,o.jsx)(i.Switch,{size:`small`,checked:!!h.duplicateCheck,onChange:e=>P(`duplicateCheck`,e?{matchFields:[],message:``}:null)}),(0,o.jsx)($,{style:{fontSize:13},children:`Block a create when an active record already matches`})]}),h.duplicateCheck&&(0,o.jsxs)(`div`,{className:`fg-field-meta-row`,children:[(0,o.jsxs)(`div`,{style:{flex:1.4},children:[(0,o.jsx)($,{type:`secondary`,style:{fontSize:12},children:`Match fields`}),(0,o.jsx)(i.Select,{mode:`tags`,size:`small`,style:{width:`100%`},placeholder:`jobId, applicantId`,value:h.duplicateCheck.matchFields??[],onChange:e=>P(`duplicateCheck`,{...h.duplicateCheck,matchFields:e})})]}),(0,o.jsxs)(`div`,{style:{flex:1},children:[(0,o.jsx)($,{type:`secondary`,style:{fontSize:12},children:`Message`}),(0,o.jsx)(i.Input,{size:`small`,placeholder:`submission exists`,value:h.duplicateCheck.message??``,onChange:e=>P(`duplicateCheck`,{...h.duplicateCheck,message:e.target.value})})]})]})]}),(0,o.jsx)(Ax,{icon:(0,o.jsx)(a.DatabaseOutlined,{}),title:`Denormalizations`,description:`Copy fields from ANOTHER module's record onto this payload before insert (e.g. a submission snapshotting job title/client).`,rules:h.denormalizations??[],columns:L,onAdd:()=>w({index:null,rule:null}),onEdit:(e,t)=>w({index:e,rule:t}),onDelete:e=>P(`denormalizations`,(h.denormalizations??[]).filter((t,n)=>n!==e))}),(0,o.jsx)(Ax,{icon:(0,o.jsx)(a.ApartmentOutlined,{}),title:`Array Enrichments`,description:`Enrich a payload array of ids (e.g. recruitersData) into objects carrying looked-up fields (name, email) before insert.`,rules:h.arrayEnrichments??[],columns:R,onAdd:()=>E({index:null,rule:null}),onEdit:(e,t)=>E({index:e,rule:t}),onDelete:e=>P(`arrayEnrichments`,(h.arrayEnrichments??[]).filter((t,n)=>n!==e))}),(0,o.jsx)(Ax,{icon:(0,o.jsx)(a.DatabaseOutlined,{}),title:`File Field Maps`,description:`Turn an uploaded file field into a nested object (location + filename + who/when) or an array of such objects, instead of a flat S3 path string — needed for schemas like resume/passport/visa.`,rules:h.fileFieldMaps??[],columns:z,onAdd:()=>O({index:null,rule:null}),onEdit:(e,t)=>O({index:e,rule:t}),onDelete:e=>P(`fileFieldMaps`,(h.fileFieldMaps??[]).filter((t,n)=>n!==e))}),(0,o.jsxs)(Z,{title:`Sanitize Fields`,styles:{body:{paddingTop:8}},children:[(0,o.jsx)($,{type:`secondary`,style:{fontSize:12,display:`block`,marginBottom:8},children:`Trim and HTML-escape these payload fields before anything else runs — basic XSS-safety for free-text fields (e.g. firstName/lastName) that might later be embedded in an HTML activity comment or email.`}),(0,o.jsx)(i.Select,{mode:`tags`,style:{width:`100%`},placeholder:`firstName, lastName, email`,value:h.sanitizeFields??[],onChange:e=>P(`sanitizeFields`,e)})]}),(0,o.jsxs)(Z,{title:`Defaults`,styles:{body:{paddingTop:8}},children:[(0,o.jsx)($,{type:`secondary`,style:{fontSize:12,display:`block`,marginBottom:8},children:`Set a field only when the payload doesn't already carry a non-blank value — status defaults, empty arrays.`}),(0,o.jsx)(bx,{rows:Cx(h.defaults),onChange:e=>P(`defaults`,wx(e)),keyPlaceholder:`internalSubmissionStatus.internalSubmissionStatusText`,valuePlaceholder:`"Under Evaluation"`})]}),(0,o.jsx)(Ax,{icon:(0,o.jsx)(a.ApartmentOutlined,{}),title:`Hierarchy Expansions`,description:`Walk the reporting chain up (toward admin) or down (toward a team) from a seed user, publishing the result as {{hierarchy.<name>}} for Related Updates / Notify to use.`,rules:h.hierarchyExpands??[],columns:B,onAdd:()=>A({index:null,rule:null}),onEdit:(e,t)=>A({index:e,rule:t}),onDelete:e=>P(`hierarchyExpands`,(h.hierarchyExpands??[]).filter((t,n)=>n!==e))}),(0,o.jsx)(Ax,{icon:(0,o.jsx)(a.ThunderboltOutlined,{}),title:`Related Updates`,description:`Best-effort side-effect writes to other collections after a successful insert — board state, activity logs. Combine with ForEach + a Hierarchy Expansion to seed one document per user in a chain.`,rules:h.relatedUpdates??[],columns:ee,onAdd:()=>M({index:null,rule:null}),onEdit:(e,t)=>M({index:e,rule:t}),onDelete:e=>P(`relatedUpdates`,(h.relatedUpdates??[]).filter((t,n)=>n!==e))}),(0,o.jsxs)(Z,{title:`Notify`,styles:{body:{paddingTop:8}},children:[(0,o.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,marginBottom:10},children:[(0,o.jsx)(i.Switch,{size:`small`,checked:!!h.notify,onChange:e=>P(`notify`,e?{action:``,subjectDefault:``,bodyDefault:``,toReportingManager:!1,toHierarchy:``}:null)}),(0,o.jsx)($,{style:{fontSize:13},children:`Send a best-effort email after a successful insert`})]}),h.notify&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(`div`,{className:`fg-field-meta-row`,children:[(0,o.jsxs)(`div`,{style:{flex:1},children:[(0,o.jsx)($,{type:`secondary`,style:{fontSize:12},children:`Action (matched against an EmailTemplates doc)`}),(0,o.jsx)(i.Input,{size:`small`,placeholder:`internalSubmit`,value:h.notify.action??``,onChange:e=>P(`notify`,{...h.notify,action:e.target.value}),className:`fg-mono-input`})]}),(0,o.jsxs)(`div`,{style:{flex:1},children:[(0,o.jsx)($,{type:`secondary`,style:{fontSize:12},children:`Notify entire hierarchy chain`}),(0,o.jsx)(i.Select,{size:`small`,style:{width:`100%`},allowClear:!0,placeholder:`pick a Hierarchy Expansion`,value:h.notify.toHierarchy||void 0,onChange:e=>P(`notify`,{...h.notify,toHierarchy:e??``}),options:N.map(e=>({value:e,label:e}))})]})]}),(0,o.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,marginTop:12},children:[(0,o.jsx)(i.Switch,{size:`small`,checked:!!h.notify.toReportingManager,onChange:e=>P(`notify`,{...h.notify,toReportingManager:e})}),(0,o.jsx)($,{style:{fontSize:13},children:`Also notify the caller's direct reporting manager`})]}),(0,o.jsxs)(`div`,{style:{marginTop:12},children:[(0,o.jsx)($,{type:`secondary`,style:{fontSize:12},children:`Default subject`}),(0,o.jsx)(i.Input,{size:`small`,placeholder:`New submission`,value:h.notify.subjectDefault??``,onChange:e=>P(`notify`,{...h.notify,subjectDefault:e.target.value})})]}),(0,o.jsxs)(`div`,{style:{marginTop:12},children:[(0,o.jsx)($,{type:`secondary`,style:{fontSize:12},children:`Default body (used when no EmailTemplates doc matches)`}),(0,o.jsx)(i.Input.TextArea,{rows:4,value:h.notify.bodyDefault??``,onChange:e=>P(`notify`,{...h.notify,bodyDefault:e.target.value}),className:`fg-mono-input`})]})]})]}),(0,o.jsxs)(Z,{title:`Cache Invalidate`,styles:{body:{paddingTop:8}},children:[(0,o.jsxs)($,{type:`secondary`,style:{fontSize:12,display:`block`,marginBottom:8},children:[`Redis key patterns (with `,`{{field}}`,` tokens) to SCAN+DEL after a successful insert.`]}),(0,o.jsx)(i.Select,{mode:`tags`,style:{width:`100%`},placeholder:`jobs:{{tenantId}}:{{businessId}}:{{businessUnitId}}:*`,value:h.cacheInvalidate??[],onChange:e=>P(`cacheInvalidate`,e)})]})]})]})}),(0,o.jsx)(Tx,{open:!!C,rule:C?.rule,onClose:()=>w(null),onSave:e=>{P(`denormalizations`,C.index===null?[...h.denormalizations??[],e]:(h.denormalizations??[]).map((t,n)=>n===C.index?e:t)),w(null)}},C?`denorm-${C.index??`new`}`:`denorm-closed`),(0,o.jsx)(Ex,{open:!!T,rule:T?.rule,onClose:()=>E(null),onSave:e=>{P(`arrayEnrichments`,T.index===null?[...h.arrayEnrichments??[],e]:(h.arrayEnrichments??[]).map((t,n)=>n===T.index?e:t)),E(null)}},T?`enrich-${T.index??`new`}`:`enrich-closed`),(0,o.jsx)(Dx,{open:!!D,rule:D?.rule,onClose:()=>O(null),onSave:e=>{P(`fileFieldMaps`,D.index===null?[...h.fileFieldMaps??[],e]:(h.fileFieldMaps??[]).map((t,n)=>n===D.index?e:t)),O(null)}},D?`filemap-${D.index??`new`}`:`filemap-closed`),(0,o.jsx)(Ox,{open:!!k,rule:k?.rule,onClose:()=>A(null),onSave:e=>{P(`hierarchyExpands`,k.index===null?[...h.hierarchyExpands??[],e]:(h.hierarchyExpands??[]).map((t,n)=>n===k.index?e:t)),A(null)}},k?`hier-${k.index??`new`}`:`hier-closed`),(0,o.jsx)(kx,{open:!!j,rule:j?.rule,hierarchyNames:N,onClose:()=>M(null),onSave:e=>{P(`relatedUpdates`,j.index===null?[...h.relatedUpdates??[],e]:(h.relatedUpdates??[]).map((t,n)=>n===j.index?e:t)),M(null)}},j?`ru-${j.index??`new`}`:`ru-closed`)]})}var{Text:Nx}=i.Typography,Px=[`beforeCreate`,`afterCreate`,`beforeUpdate`,`afterUpdate`,`beforeDelete`,`afterDelete`],Fx=[`sanitizeFields`,`generateSequence`,`duplicateCheck`,`copyFields`,`arrayEnrich`,`setDefaults`,`resolve`,`updateRelated`,`notify`,`invalidateCache`,`webhook`];function Ix(e){return JSON.stringify(e??{},null,2)}function Lx({action:e,onChange:t,onRemove:n}){let[s,c]=(0,r.useState)(()=>Ix(e.config)),[l,u]=(0,r.useState)(!1);return(0,o.jsxs)(`div`,{style:{border:`1px solid #e2e8f0`,borderRadius:8,padding:10,marginTop:8},children:[(0,o.jsxs)(`div`,{style:{display:`flex`,gap:8,alignItems:`center`},children:[(0,o.jsx)(i.Select,{size:`small`,style:{width:200},showSearch:!0,value:e.type||void 0,placeholder:`action type`,options:Fx.map(e=>({value:e})),onChange:n=>t({...e,type:n})}),l&&(0,o.jsx)(i.Tag,{color:`red`,children:`invalid JSON`}),(0,o.jsx)(i.Button,{size:`small`,type:`text`,danger:!0,icon:(0,o.jsx)(a.DeleteOutlined,{}),style:{marginLeft:`auto`},onClick:n})]}),(0,o.jsx)(i.Input.TextArea,{rows:Math.min(14,Math.max(3,s.split(`
4
4
  `).length)),value:s,className:`fg-mono-input`,style:{marginTop:8,fontSize:12},onChange:n=>{c(n.target.value);try{t({...e,config:JSON.parse(n.target.value||`{}`)}),u(!1)}catch{u(!0)}}})]})}function Rx({open:e,doc:t,moduleOptions:n,onClose:s,onSave:c}){let[l,u]=(0,r.useState)(()=>({key:``,module:``,event:`afterCreate`,order:10,isActive:!0,condition:{},actions:[],...t??{}})),[d,f]=(0,r.useState)(()=>Ix(t?.condition)),[p,m]=(0,r.useState)(!1),h=(e,t)=>u(n=>({...n,[e]:t}));return(0,o.jsx)(i.Modal,{open:e,onCancel:s,width:840,centered:!0,destroyOnClose:!0,maskClosable:!1,className:`fg-editor-modal`,title:(0,o.jsxs)(`span`,{className:`fg-drawer-title`,children:[(0,o.jsx)(a.ApartmentOutlined,{}),` `,t?`Edit Workflow`:`New Workflow`]}),footer:(0,o.jsxs)(`div`,{className:`fg-drawer-footer`,children:[(0,o.jsx)(i.Button,{onClick:s,children:`Cancel`}),(0,o.jsx)(i.Button,{type:`primary`,icon:(0,o.jsx)(a.SaveOutlined,{}),onClick:()=>{if(!l.key?.trim())return i.message.error(`Key is required`);if(!l.module?.trim())return i.message.error(`Module is required`);if(p)return i.message.error(`Condition JSON is invalid`);if(!(l.actions??[]).length)return i.message.error(`At least one action is required`);if((l.actions??[]).some(e=>!e.type))return i.message.error(`Every action needs a type`);let e={...l};delete e.id,delete e._id,c(e)},children:`Save Workflow`})]}),children:(0,o.jsxs)(`div`,{className:`fg-form-section`,children:[(0,o.jsxs)(`div`,{className:`fg-field-meta-row`,children:[(0,o.jsxs)(`div`,{style:{flex:1},children:[(0,o.jsx)(Nx,{type:`secondary`,style:{fontSize:12},children:`Key`}),(0,o.jsx)(i.Input,{size:`small`,placeholder:`jobs-create-after`,value:l.key??``,onChange:e=>h(`key`,e.target.value),className:`fg-mono-input`,disabled:!!t})]}),(0,o.jsxs)(`div`,{style:{flex:1},children:[(0,o.jsx)(Nx,{type:`secondary`,style:{fontSize:12},children:`Module`}),(0,o.jsx)(i.Select,{size:`small`,style:{width:`100%`},showSearch:!0,value:l.module||void 0,options:n,onChange:e=>h(`module`,e),placeholder:`jobs`})]}),(0,o.jsxs)(`div`,{style:{flex:1},children:[(0,o.jsx)(Nx,{type:`secondary`,style:{fontSize:12},children:`Event`}),(0,o.jsx)(i.Select,{size:`small`,style:{width:`100%`},value:l.event,options:Px.map(e=>({value:e})),onChange:e=>h(`event`,e)})]}),(0,o.jsxs)(`div`,{style:{width:90},children:[(0,o.jsx)(Nx,{type:`secondary`,style:{fontSize:12},children:`Order`}),(0,o.jsx)(i.InputNumber,{size:`small`,style:{width:`100%`},value:l.order??10,onChange:e=>h(`order`,e??10)})]})]}),(0,o.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,marginTop:12},children:[(0,o.jsx)(i.Switch,{size:`small`,checked:l.isActive!==!1,onChange:e=>h(`isActive`,e)}),(0,o.jsx)(Nx,{style:{fontSize:13},children:`Active`})]}),(0,o.jsxs)(`div`,{style:{marginTop:12},children:[(0,o.jsxs)(Nx,{type:`secondary`,style:{fontSize:12},children:[`Condition (all must match the payload; empty = always run) `,p&&(0,o.jsx)(i.Tag,{color:`red`,children:`invalid JSON`})]}),(0,o.jsx)(i.Input.TextArea,{rows:2,value:d,className:`fg-mono-input`,style:{fontSize:12},onChange:e=>{f(e.target.value);try{h(`condition`,JSON.parse(e.target.value||`{}`)),m(!1)}catch{m(!0)}}})]}),(0,o.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`,alignItems:`center`,marginTop:14},children:[(0,o.jsx)(Nx,{strong:!0,style:{fontSize:13},children:`Actions (run in order)`}),(0,o.jsx)(i.Button,{size:`small`,type:`dashed`,icon:(0,o.jsx)(a.PlusOutlined,{}),onClick:()=>h(`actions`,[...l.actions??[],{type:``,config:{}}]),children:`Add Action`})]}),(l.actions??[]).map((e,t)=>(0,o.jsx)(Lx,{action:e,onChange:e=>h(`actions`,l.actions.map((n,r)=>r===t?e:n)),onRemove:()=>h(`actions`,l.actions.filter((e,n)=>n!==t))},t)),(0,o.jsxs)(Nx,{type:`secondary`,style:{fontSize:11,display:`block`,marginTop:8},children:[`Config supports `,(0,o.jsx)(`code`,{children:`{{field.path}}`}),`, `,(0,o.jsx)(`code`,{children:`{{now}}`}),`, `,(0,o.jsx)(`code`,{children:`{{__userId}}`}),`,`,` `,(0,o.jsx)(`code`,{children:`{{__userName}}`}),`, and `,(0,o.jsx)(`code`,{children:`{{hierarchy.<name>}}`}),` from a `,(0,o.jsx)(`code`,{children:`resolve`}),` action.`]})]})})}function zx(){let[t,n]=(0,r.useState)([]),[s,c]=(0,r.useState)([]),[l,u]=(0,r.useState)(!0),[d,f]=(0,r.useState)(``),[p,m]=(0,r.useState)(null),[h,g]=(0,r.useState)(``),[_,v]=(0,r.useState)(0);(0,r.useEffect)(()=>{let t=!1;return e.Yn(`workflows`).then(e=>{t||n(e)}).catch(e=>{t||f(e?.message||`Failed to load workflows`)}).finally(()=>{t||u(!1)}),()=>{t=!0}},[_]),(0,r.useEffect)(()=>{e.bn().then(e=>c(mv(e).map(({value:e,label:t})=>({value:e,label:t})))).catch(()=>c([]))},[]);let y=()=>{u(!0),f(``),v(e=>e+1)};async function b(t){try{await e.ir(`workflows`,t),i.message.success(`Workflow "${t.key}" saved`),m(null),y()}catch(e){i.message.error(e?.message||`Could not save workflow`)}}async function x(t){try{await e.ln(`workflows`,t),i.message.success(`Workflow "${t}" deleted`),y()}catch(e){i.message.error(e?.message||`Could not delete workflow`)}}async function S(t,n){let r={...t};delete r.id,delete r._id;try{await e.ir(`workflows`,{...r,isActive:n}),y()}catch(e){i.message.error(e?.message||`Could not update workflow`)}}let C=(0,r.useMemo)(()=>t.filter(e=>!h||e.module===h),[t,h]);return(0,o.jsxs)(`div`,{className:`fg-section`,children:[(0,o.jsxs)(Z,{icon:(0,o.jsx)(a.ApartmentOutlined,{}),title:`Workflows`,extra:(0,o.jsxs)(i.Space,{size:8,children:[(0,o.jsx)(i.Select,{size:`small`,style:{minWidth:160},allowClear:!0,placeholder:`Filter by module`,options:s,value:h||void 0,onChange:e=>g(e??``)}),(0,o.jsx)(i.Button,{size:`small`,icon:(0,o.jsx)(a.ReloadOutlined,{}),onClick:y,children:`Reload`}),(0,o.jsx)(i.Button,{type:`primary`,size:`small`,icon:(0,o.jsx)(a.PlusOutlined,{}),onClick:()=>m({doc:null}),children:`New Workflow`})]}),children:[(0,o.jsx)(`div`,{className:`admin-accent-bar`}),(0,o.jsxs)(Nx,{type:`secondary`,style:{fontSize:13},children:[`Event-driven behavior per module — reference ids, duplicate checks, snapshots, hierarchy fan-outs, board updates, notifications, cache — executed by the platform Workflow Engine on every create/update/delete.`,(0,o.jsx)(i.Tag,{style:{marginLeft:8},children:`before*`}),` actions can block the write; `,(0,o.jsx)(i.Tag,{children:`after*`}),` actions are best-effort.`]})]}),(0,o.jsxs)(Z,{styles:{body:{paddingTop:8}},children:[d&&(0,o.jsx)(i.Alert,{type:`error`,showIcon:!0,message:d,style:{marginBottom:12}}),(0,o.jsxs)(i.Spin,{spinning:l,children:[(0,o.jsxs)(`div`,{style:{marginBottom:8},children:[(0,o.jsx)(i.Badge,{count:C.length,showZero:!0,color:`var(--color-brand)`}),` `,(0,o.jsx)(Nx,{type:`secondary`,style:{fontSize:12},children:`workflows`})]}),(0,o.jsx)(i.Table,{rowKey:`key`,dataSource:C,columns:[{title:`Key`,dataIndex:`key`,key:`key`,render:e=>(0,o.jsx)(`code`,{className:`fg-table-code`,children:e})},{title:`Module`,dataIndex:`module`,key:`module`,width:130,render:e=>(0,o.jsx)(i.Tag,{color:`geekblue`,children:e})},{title:`Event`,dataIndex:`event`,key:`event`,width:130,render:e=>(0,o.jsx)(i.Tag,{color:String(e).startsWith(`before`)?`purple`:`green`,children:e})},{title:`Actions`,key:`acts`,render:(e,t)=>(0,o.jsx)(i.Space,{size:4,wrap:!0,children:(t.actions??[]).map((e,t)=>(0,o.jsx)(i.Tag,{style:{margin:0},children:e.type},t))})},{title:`Order`,dataIndex:`order`,key:`order`,width:70,align:`center`},{title:`Active`,key:`active`,width:80,align:`center`,render:(e,t)=>(0,o.jsx)(i.Switch,{size:`small`,checked:t.isActive!==!1,onChange:e=>S(t,e)})},{title:``,key:`ops`,width:90,align:`right`,render:(e,t)=>(0,o.jsxs)(i.Space,{size:4,children:[(0,o.jsx)(i.Tooltip,{title:`Edit`,children:(0,o.jsx)(i.Button,{type:`text`,size:`small`,icon:(0,o.jsx)(a.EditOutlined,{}),onClick:()=>m({doc:t})})}),(0,o.jsx)(i.Popconfirm,{title:`Delete workflow "${t.key}"?`,onConfirm:()=>x(t.key),children:(0,o.jsx)(i.Button,{type:`text`,size:`small`,danger:!0,icon:(0,o.jsx)(a.DeleteOutlined,{})})})]})}],pagination:!1,size:`small`,className:`fg-table`,locale:{emptyText:(0,o.jsx)(i.Empty,{description:`No workflows configured.`,image:i.Empty.PRESENTED_IMAGE_SIMPLE})}})]})]}),(0,o.jsx)(Rx,{open:!!p,doc:p?.doc,moduleOptions:s,onClose:()=>m(null),onSave:b},p?p.doc?.key??`new`:`closed`)]})}var{Text:Bx}=i.Typography,Vx=e=>e?._id??e?.id;function Hx(e){return Array.isArray(e?.taxHistory)?e.taxHistory:[]}function Ux(e){let t=e?.taxValue;if(t!=null&&t!==``)return Number(t);let n=Hx(e).at(-1),r=n?.taxValue??n?.value;return r!=null&&r!==``?Number(r):void 0}function Wx(e){if(!e)return`—`;let t=new Date(e);return Number.isNaN(t.getTime())?`—`:new Intl.DateTimeFormat(void 0,{dateStyle:`medium`,timeStyle:`short`}).format(t)}function Gx(e){let t=Hx(e).at(-1);return t?.updatedAt??t?.timestamp??e?.updatedAt}function Kx({open:t,record:n,onClose:a,onSaved:s}){let[c]=i.Form.useForm(),[l,u]=(0,r.useState)(!1),[d,f]=(0,r.useState)([]),[p,m]=(0,r.useState)(!1),h=(0,r.useRef)(null),g=!!n;(0,r.useEffect)(()=>{t&&queueMicrotask(()=>{c.resetFields(),c.setFieldsValue({name:n?.name??void 0,taxValue:Ux(n)}),f(n?.name?[{label:n.name,value:n.name}]:[])})},[t,n,c]);function _(t){if(h.current&&clearTimeout(h.current),!t||t.trim().length<2){f([]);return}m(!0),h.current=setTimeout(()=>{e.jn(t.trim()).then(f).catch(()=>f([])).finally(()=>m(!1))},350)}async function v(){let t=await c.validateFields(),r=Number(t.taxValue),a={name:t.name,taxValue:r,taxHistory:{taxValue:r}};u(!0);try{g?await e.pr(`locations`,Vx(n),a):await e.$t(`locations`,a),i.message.success(g?`Tax updated`:`Location and tax created`),s()}catch(e){i.message.error(e?.message||`Could not save location and tax`)}finally{u(!1)}}return(0,o.jsx)(i.Modal,{open:t,onCancel:a,onOk:v,confirmLoading:l,destroyOnHidden:!0,title:g?`Edit Tax — ${n?.name??``}`:`New Location`,children:(0,o.jsxs)(i.Form,{form:c,layout:`vertical`,children:[(0,o.jsx)(i.Form.Item,{name:`name`,label:`Location`,rules:[{required:!0,message:`Location is required`}],tooltip:g?`Location cannot be changed once created — only the tax is editable.`:`Search and pick from the location master.`,children:(0,o.jsx)(i.Select,{showSearch:!0,disabled:g,placeholder:`Type at least 2 characters to search…`,filterOption:!1,onSearch:_,notFoundContent:p?`Searching…`:null,options:d})}),(0,o.jsx)(i.Form.Item,{name:`taxValue`,label:`Tax`,rules:[{required:!0,message:`Tax is required`},{type:`number`,min:0,max:100,message:`Tax must be between 0 and 100`}],children:(0,o.jsx)(i.InputNumber,{style:{width:`100%`},min:0,max:100,step:.01,suffix:`%`,placeholder:`8.875`,autoFocus:g})})]})})}function qx({record:e}){let t=[...Hx(e)].reverse();return t.length?(0,o.jsx)(i.Space,{direction:`vertical`,size:4,style:{padding:`4px 8px`},children:t.map((e,t)=>(0,o.jsxs)(i.Space,{size:10,children:[(0,o.jsxs)(i.Tag,{color:t===0?`green`:`default`,style:{margin:0},children:[e.taxValue??e.value,`%`]}),(0,o.jsx)(Bx,{type:`secondary`,style:{fontSize:12},children:Wx(e.updatedAt??e.timestamp)}),t===0&&(0,o.jsx)(Bx,{type:`secondary`,style:{fontSize:12},children:`(current)`})]},t))}):(0,o.jsx)(i.Empty,{image:i.Empty.PRESENTED_IMAGE_SIMPLE,description:`No tax history yet`})}function Jx(){let[t,n]=(0,r.useState)([]),[s,c]=(0,r.useState)(!1),[l,u]=(0,r.useState)(!1),[d,f]=(0,r.useState)(null);function p(){c(!0),e.Jn(`locations`).then(({items:e})=>n(e)).catch(e=>i.message.error(e?.message||`Could not load locations`)).finally(()=>c(!1))}(0,r.useEffect)(()=>{queueMicrotask(p)},[]);async function m(t){try{await e.cn(`locations`,t),i.message.success(`Location deleted`),p()}catch(e){i.message.error(e?.message||`Could not delete location`)}}return(0,o.jsxs)(`div`,{className:`fg-section admin-config-section`,children:[(0,o.jsx)(Z,{title:`${t.length} location${t.length===1?``:`s`}`,extra:(0,o.jsxs)(i.Space,{children:[(0,o.jsx)(i.Button,{icon:(0,o.jsx)(a.ReloadOutlined,{}),onClick:p,children:`Reload`}),(0,o.jsx)(i.Button,{type:`primary`,icon:(0,o.jsx)(a.PlusOutlined,{}),onClick:()=>{f(null),u(!0)},children:`New location`})]}),children:(0,o.jsx)(i.Table,{rowKey:Vx,columns:[{title:`Location`,dataIndex:`name`,key:`name`},{title:`Tax`,key:`taxValue`,width:100,render:(e,t)=>{let n=Ux(t);return Number.isFinite(n)?(0,o.jsxs)(i.Tag,{color:`blue`,children:[n,`%`]}):`—`}},{title:`Tax updated`,key:`taxUpdatedAt`,render:(e,t)=>Wx(Gx(t))},{title:`Created`,key:`createdAt`,responsive:[`lg`],render:(e,t)=>Wx(t?.createdAt)},{title:``,key:`actions`,width:90,render:(e,t)=>(0,o.jsxs)(i.Space,{size:4,children:[(0,o.jsx)(i.Tooltip,{title:`Edit tax`,children:(0,o.jsx)(i.Button,{type:`text`,size:`small`,icon:(0,o.jsx)(a.EditOutlined,{}),onClick:()=>{f(t),u(!0)}})}),(0,o.jsx)(i.Popconfirm,{title:`Delete this location?`,onConfirm:()=>m(Vx(t)),children:(0,o.jsx)(i.Tooltip,{title:`Delete`,children:(0,o.jsx)(i.Button,{type:`text`,size:`small`,danger:!0,icon:(0,o.jsx)(a.DeleteOutlined,{})})})})]})}],dataSource:t,loading:s,size:`small`,pagination:!1,className:`fg-table`,expandable:{expandedRowRender:e=>(0,o.jsx)(qx,{record:e}),rowExpandable:e=>Hx(e).length>0},locale:{emptyText:`No locations yet. Click "New location" to add one.`}})}),(0,o.jsx)(Kx,{open:l,record:d,onClose:()=>u(!1),onSaved:()=>{u(!1),p()}})]})}function Yx(){return(0,o.jsxs)(`div`,{className:`fg-section`,children:[(0,o.jsxs)(Z,{icon:(0,o.jsx)(a.DatabaseOutlined,{}),title:`Location Tax Master`,children:[(0,o.jsx)(`div`,{className:`admin-accent-bar`}),(0,o.jsx)(Bx,{type:`secondary`,style:{fontSize:13},children:`Pick a location from the master list and set its tax. Once added, only the tax can be changed — every change is kept in a timeline with its timestamp. Expand a row to see the full tax history.`})]}),(0,o.jsx)(Jx,{})]})}var{Text:Xx,Title:Zx}=i.Typography;function Qx(){let[e]=i.Form.useForm(),[t,n]=(0,r.useState)([]),[s,c]=(0,r.useState)(!0),[l,u]=(0,r.useState)(!1),[d,f]=(0,r.useState)(null),[p,m]=(0,r.useState)(!1);async function h(){c(!0);try{n(await B_())}catch(e){i.message.error(e.message||`Unable to load menus`)}finally{c(!1)}}(0,r.useEffect)(()=>{h()},[]);let g=(0,r.useMemo)(()=>t.filter(e=>!d||e.menu_id!==d.menu_id).map(e=>({label:e.menu_name,value:e.menu_id})),[d,t]);function _(){f(null),e.resetFields(),e.setFieldsValue({menu_type:`MENU`,display_order:t.length+1,status:`ACTIVE`}),m(!0)}function v(t){f(t),e.setFieldsValue(t),m(!0)}async function y(e){u(!0);try{d?await H_(d.menu_id,e):await V_(e),i.message.success(d?`Menu updated`:`Menu created`),m(!1),await h()}catch(e){i.message.error(e.message||`Unable to save menu`)}finally{u(!1)}}async function b(e){try{await U_(e),i.message.success(`Menu deleted`),await h()}catch(e){i.message.error(e.message||`Unable to delete menu`)}}return(0,o.jsxs)(`section`,{className:`admin-section`,children:[(0,o.jsxs)(`div`,{className:`admin-section-head`,children:[(0,o.jsxs)(`div`,{children:[(0,o.jsx)(Zx,{level:4,children:`Menus`}),(0,o.jsx)(Xx,{type:`secondary`,children:`Manage records in the MongoDB menus collection.`})]}),(0,o.jsx)(i.Button,{type:`primary`,icon:(0,o.jsx)(a.PlusOutlined,{}),onClick:_,children:`Add Menu`})]}),(0,o.jsx)(i.Table,{rowKey:`menu_id`,loading:s,columns:[{title:`Name`,dataIndex:`menu_name`},{title:`Key`,dataIndex:`menu_key`,render:e=>(0,o.jsx)(i.Tag,{children:e})},{title:`Route / API`,dataIndex:`api_url`},{title:`Type`,dataIndex:`menu_type`,width:110},{title:`Order`,dataIndex:`display_order`,width:80},{title:`Status`,dataIndex:`status`,width:100,render:e=>(0,o.jsx)(i.Tag,{color:e===`ACTIVE`?`green`:`default`,children:e})},{title:``,key:`actions`,width:90,render:(e,t)=>(0,o.jsxs)(i.Space,{size:4,children:[(0,o.jsx)(i.Button,{"aria-label":`Edit menu`,size:`small`,icon:(0,o.jsx)(a.EditOutlined,{}),onClick:()=>v(t)}),(0,o.jsx)(i.Popconfirm,{title:`Delete menu?`,onConfirm:()=>b(t.menu_id),children:(0,o.jsx)(i.Button,{"aria-label":`Delete menu`,danger:!0,size:`small`,icon:(0,o.jsx)(a.DeleteOutlined,{})})})]})}],dataSource:t,size:`small`,pagination:{pageSize:10}}),(0,o.jsx)(i.Modal,{title:d?`Edit Menu`:`Add Menu`,open:p,onCancel:()=>m(!1),onOk:()=>e.submit(),confirmLoading:l,destroyOnHidden:!0,children:(0,o.jsxs)(i.Form,{form:e,layout:`vertical`,onFinish:y,children:[(0,o.jsx)(i.Form.Item,{name:`menu_name`,label:`Menu name`,rules:[{required:!0}],children:(0,o.jsx)(i.Input,{})}),(0,o.jsx)(i.Form.Item,{name:`menu_key`,label:`Menu key`,rules:[{required:!0}],children:(0,o.jsx)(i.Input,{placeholder:`jobs`})}),(0,o.jsx)(i.Form.Item,{name:`api_url`,label:`Route / API URL`,children:(0,o.jsx)(i.Input,{placeholder:`/jobs`})}),(0,o.jsx)(i.Form.Item,{name:`component_name`,label:`Component`,children:(0,o.jsx)(i.Input,{placeholder:`Jobs`})}),(0,o.jsxs)(`div`,{className:`admin-form-row`,children:[(0,o.jsx)(i.Form.Item,{name:`menu_type`,label:`Type`,children:(0,o.jsx)(i.Select,{options:[{value:`MENU`},{value:`FOOTER`},{value:`CHILD`}]})}),(0,o.jsx)(i.Form.Item,{name:`parent_menu_id`,label:`Parent`,children:(0,o.jsx)(i.Select,{allowClear:!0,options:g})})]}),(0,o.jsxs)(`div`,{className:`admin-form-row`,children:[(0,o.jsx)(i.Form.Item,{name:`display_order`,label:`Display order`,children:(0,o.jsx)(i.InputNumber,{min:0})}),(0,o.jsx)(i.Form.Item,{name:`status`,label:`Status`,children:(0,o.jsx)(i.Select,{options:[{value:`ACTIVE`},{value:`INACTIVE`}]})})]}),(0,o.jsx)(i.Form.Item,{name:`icon`,label:`Icon`,children:(0,o.jsx)(i.Input,{placeholder:`AppstoreOutlined`})})]})})]})}var{Content:$x,Header:eS,Sider:tS}=i.Layout,{Text:nS,Title:rS}=i.Typography;function iS(e){return String(e??``).trim().replace(/[\s_-]+/g,` `).toUpperCase()}function aS(e){return String(e||``).replace(/[-_]/g,` `).replace(/\b\w/g,e=>e.toUpperCase()).trim()}function oS(e){return String(e||``).trim().toLowerCase()}function sS(e){return e?.key||e?.collectionName||e?.value||``}function cS(e=[],t=[]){let n=[],r=new Set,i=new Set,a=new Set;return e.forEach(e=>{let t=sS(e);if(!t)return;let o=oS(e.key||t),s=oS(e.collectionName);e.seeded&&(i.add(o),s&&i.add(s)),s&&a.add(s),r.add(t),n.push({label:e.label||aS(t),value:t,disabled:!!e.seeded})}),t.forEach(e=>{let t=String(e||``).trim();if(!t||r.has(t))return;let o=oS(t);a.has(o)||i.has(o)||(r.add(t),n.push({label:aS(t),value:t,disabled:!1}))}),n}function lS(e){let t=e?.user_type_id??e?.userTypeId??e?.id,n=e?.user_type_name??e?.userTypeName??e?.name;return Number(t)===1||iS(n)===`SUPER ADMIN`}function uS(e){return`${e?.first_name??e?.firstName??``} ${e?.last_name??e?.lastName??``}`.trim()||e?.username||e?.userName||e?.email||`User ${e?.user_id??e?.userId??``}`}function dS(e){return e.flatMap(e=>{let t=e.menu_id??e.menuId??e.MenuID,n=e.menu_name??e.menuName??e.MenuName??`Menu ${t??``}`,r=e.menu_key??e.menuKey??e.MenuKey??``,i=e.permissions??e.Permissions??{};return Object.entries(i).map(([e,i])=>{let a=i.permission_id??i.permissionId??i.PermissionID,o=i.permission_key??i.permissionKey??i.PermissionKey??e,s=i.value??i.Value??i.access_value??i.accessValue??i;return{key:`${r??n??t}:${a??o}`,menuId:t,menuName:n,menuKey:r,permissionId:a,permissionKey:o,accessValue:+(Number(s)===1)}})})}function fS(e){return String(e.menuKey??e.menuName??e.menuId).trim().toLowerCase()}function pS(e){let t=Array.isArray(e)?e:e?.permissions??e?.actions??e?.data??e;return(Array.isArray(t)?t:Object.values(t??{})).map(e=>({permissionId:e.permission_id??e.permissionId??e.legacyPermissionId??e.id,permissionKey:e.permission_key??e.permissionKey??e.key,permissionName:e.permission_name??e.permissionName??e.name??e.label})).filter(e=>e.permissionKey)}function mS({title:e,description:t,selectedName:n,loading:r,saving:s,rows:c,onChange:l,onMove:u,onSave:d}){let f=Object.values(c.reduce((e,t)=>{let n=fS(t);return e[n]||(e[n]={key:n,menuName:t.menuName,menuKey:t.menuKey,permissions:[]}),e[n].permissions.push(t),e},{}));return(0,o.jsxs)(`section`,{className:`admin-editor`,children:[(0,o.jsxs)(`div`,{className:`admin-section-head`,children:[(0,o.jsxs)(`div`,{children:[(0,o.jsx)(rS,{level:4,children:e}),(0,o.jsx)(nS,{type:`secondary`,children:n||t})]}),(0,o.jsx)(i.Button,{type:`primary`,icon:(0,o.jsx)(a.SaveOutlined,{}),loading:s,disabled:!n||c.length===0,onClick:d,children:`Save`})]}),r?(0,o.jsx)(`div`,{className:`admin-loading`,children:(0,o.jsx)(i.Spin,{})}):f.length?(0,o.jsx)(i.Table,{size:`small`,rowKey:`key`,columns:[{title:`Menu`,dataIndex:`menuName`,width:220,render:(e,t)=>(0,o.jsxs)(`div`,{className:`admin-menu-order-cell`,children:[(0,o.jsxs)(`div`,{className:`admin-menu-cell`,children:[(0,o.jsx)(`span`,{children:e}),(0,o.jsx)(nS,{type:`secondary`,children:t.menuKey})]}),(0,o.jsxs)(i.Space,{size:2,children:[(0,o.jsx)(i.Button,{size:`small`,type:`text`,icon:(0,o.jsx)(a.ArrowUpOutlined,{}),onClick:()=>u(t.key,-1),"aria-label":`Move ${e} up`}),(0,o.jsx)(i.Button,{size:`small`,type:`text`,icon:(0,o.jsx)(a.ArrowDownOutlined,{}),onClick:()=>u(t.key,1),"aria-label":`Move ${e} down`})]})]})},{title:`Actions`,dataIndex:`permissions`,render:e=>(0,o.jsx)(`div`,{className:`admin-permission-controls`,children:e.filter(e=>J_(e.menuName??e.menuKey,e.permissionKey)).map(e=>(0,o.jsx)(`label`,{className:`admin-permission-control`,children:(0,o.jsx)(i.Checkbox,{checked:e.accessValue===1,onChange:t=>l(e.key,+!!t.target.checked),"aria-label":`${e.menuName} ${e.permissionKey}`,children:String(e.permissionKey).replaceAll(`_`,` `)})},e.key))})}],dataSource:f,pagination:!1,scroll:{y:420}}):(0,o.jsx)(i.Empty,{description:`Select a record to customize permissions`})]})}function hS({onLogout:n}){let[s]=i.Form.useForm(),[c]=i.Form.useForm(),[l,u]=(0,r.useState)(`users`),[d,f]=(0,r.useState)(!0),[p,m]=(0,r.useState)(!1),[h,g]=(0,r.useState)(!1),[_,v]=(0,r.useState)([]),[y,b]=(0,r.useState)([]),[x,S]=(0,r.useState)([]),[C,w]=(0,r.useState)([]),[T,E]=(0,r.useState)(null),[D,O]=(0,r.useState)([]),[k,A]=(0,r.useState)(!1),[j,M]=(0,r.useState)(null),[N,P]=(0,r.useState)(!1),[F,I]=(0,r.useState)(null),[L,R]=(0,r.useState)([]),[z,B]=(0,r.useState)(!1),[ee,te]=(0,r.useState)(!1),[V,ne]=(0,r.useState)(null),[re,H]=(0,r.useState)(!1),[U,ie]=(0,r.useState)(null),[ae,oe]=(0,r.useState)(`listView`),[se,ce]=(0,r.useState)([]),[le,W]=(0,r.useState)([]),[G,K]=(0,r.useState)(!1),[ue,de]=(0,r.useState)(!1),fe=t.u(),pe=(0,r.useMemo)(()=>se.filter(e=>!e.disabled),[se]),me=!G&&pe.length===0,he=(0,r.useCallback)(async()=>{K(!0);try{let[t,n]=await Promise.all([e.Dn(),e.yn()]),r=cS(t.modules,n),i=new Set(r.filter(e=>!e.disabled).map(e=>e.value));ce(r),W(e=>e.filter(e=>i.has(e)))}catch{i.message.error(`Failed to load seed status`)}finally{K(!1)}},[]);(0,r.useEffect)(()=>{he()},[he]);async function ge(){if(le.length===0){i.message.warning(me?`All modules already seeded.`:`Select at least one module to seed.`);return}de(!0);try{await e.or(le),i.message.success(`User type field config seeded`),W([]),await he()}catch(e){i.message.error(e?.message||`Seed failed`)}finally{de(!1)}}async function _e(){f(!0);try{let[e,t,n,r]=await Promise.allSettled([j_(),I_(),B_(),W_()]),a=e.status===`fulfilled`?e.value:[],o=t.status===`fulfilled`?t.value:[];e.status===`rejected`&&i.message.error(e.reason?.message||`Unable to load users`),t.status===`rejected`&&i.message.error(t.reason?.message||`Unable to load user types`),v(a??[]),b(o??[]),S(n.status===`fulfilled`?n.value??[]:[]),w(r.status===`fulfilled`?pS(r.value):[]),E((o??[])[0]?.user_type_id??null)}catch(e){i.message.error(e.message||`Unable to load admin data`)}finally{f(!1)}}(0,r.useEffect)(()=>{queueMicrotask(()=>{_e()})},[]),(0,r.useEffect)(()=>{queueMicrotask(()=>{if(!T){O([]);return}m(!0),console.log(`DEBUG requesting role permissions for selectedUserTypeId=`,T,`localStorage scope=`,{tenantId:localStorage.getItem(`tenantId`),businessId:localStorage.getItem(`businessId`),businessUnitId:localStorage.getItem(`businessUnitId`)}),G_(T).then(e=>{console.log(`DEBUG raw groups from /get-role-details`,e);let t=dS(e??[]);console.log(`DEBUG savedRows (jobs only)`,t.filter(e=>fS(e)===`jobs`||fS(e)===`job`));let n=new Map(t.map(e=>[`${fS(e)}:${String(e.permissionKey).toLowerCase()}`,e.accessValue]));console.log(`DEBUG savedAccess keys`,[...n.keys()]),console.log(`DEBUG menus (jobs only)`,x.filter(e=>String(e.menu_key??e.menu_name??e.menu_id).trim().toLowerCase()===`jobs`));let r=x.flatMap(e=>C.map(t=>{let r=String(e.menu_key??e.menu_name??e.menu_id).trim().toLowerCase(),i=String(t.permissionKey).toLowerCase();return{key:`${e.menu_key??e.menu_name??e.menu_id}:${t.permissionId??t.permissionKey}`,menuId:e.menu_id,menuName:e.menu_name,menuKey:e.menu_key,permissionId:t.permissionId,permissionKey:t.permissionKey,accessValue:n.get(`${r}:${i}`)??0}}));console.log(`DEBUG final rows (jobs only)`,r.filter(e=>fS(e)===`jobs`||fS(e)===`job`)),O(r)}).catch(e=>i.message.error(e.message||`Unable to load role permissions`)).finally(()=>m(!1))})},[T,x,C]);let ve=(0,r.useMemo)(()=>y.find(e=>e.user_type_id===T),[T,y]),ye=(0,r.useMemo)(()=>y.reduce((e,t)=>({...e,[t.user_type_id]:t.user_type_name}),{}),[y]),be=(0,r.useMemo)(()=>y.filter(e=>!lS(e)),[y]),xe=(0,r.useMemo)(()=>_.filter(e=>!lS({user_type_id:e.user_type_id,user_type_name:ye[e.user_type_id]})),[ye,_]);(0,r.useEffect)(()=>{if(!k){R([]);return}let e=Number(s.getFieldValue(`user_type_id`)??0);if(!e){R([]);return}let t=!1;return B(!0),M_(e).then(e=>{t||R(e.filter(e=>!j||e.user_id!==j.user_id))}).catch(e=>{t||(i.message.error(e.message||`Unable to load reporting users`),R([]))}).finally(()=>{t||B(!1)}),()=>{t=!0}},[j,s,k]);let Se=(0,r.useMemo)(()=>L.map(e=>({label:uS(e),value:e.user_id})),[L]),Ce=(0,r.useMemo)(()=>_.reduce((e,t)=>({...e,[t.user_id]:uS(t)}),{}),[_]);xe.length,y.length,x.length;let we=[{key:`form-groups`,label:(0,o.jsxs)(`span`,{children:[(0,o.jsx)(a.AppstoreAddOutlined,{}),` Form Groups`]}),title:`Form Groups`,description:`Build module add and edit form groups with validations, dropdowns, and custom forms.`,component:(0,o.jsx)(Vy,{})},{key:`detail-groups`,label:(0,o.jsxs)(`span`,{children:[(0,o.jsx)(a.BgColorsOutlined,{}),` Detail Groups`]}),title:`Detail Groups`,description:`Control detail-view labels, rendering, lookups, merged fields, and display defaults.`,component:(0,o.jsx)(db,{})},{key:`actions`,label:(0,o.jsxs)(`span`,{children:[(0,o.jsx)(a.ThunderboltOutlined,{}),` Actions`]}),title:`Actions`,description:`Manage row action buttons and their visibility rules from one workspace.`,component:(0,o.jsx)($b,{})},{key:`templates`,label:(0,o.jsxs)(`span`,{children:[(0,o.jsx)(a.MailOutlined,{}),` Templates`]}),title:`Templates`,description:`Manage reusable email templates and signatures.`,component:(0,o.jsx)(cx,{})},{key:`ai-services`,label:(0,o.jsxs)(`span`,{children:[(0,o.jsx)(a.ThunderboltOutlined,{}),` AI Services`]}),title:`AI Services`,description:`Register the AI and automation services used by admin-configured AI actions.`,component:(0,o.jsx)(fx,{})},{key:`bgc-integration`,label:(0,o.jsxs)(`span`,{children:[(0,o.jsx)(a.SafetyCertificateOutlined,{}),` Integrations`]}),title:`Integrations`,description:`Manage manual and API integrations used across application workflows.`,component:(0,o.jsx)(vx,{})},{key:`automations`,label:(0,o.jsxs)(`span`,{children:[(0,o.jsx)(a.ApartmentOutlined,{}),` Automations`]}),title:`Automations`,description:`Reference ids, duplicate checks, cross-module snapshots, reporting-chain hierarchy expansion, board updates, notifications, and cache invalidation — per module, config-driven.`,component:(0,o.jsx)(Mx,{})},{key:`workflows`,label:(0,o.jsxs)(`span`,{children:[(0,o.jsx)(a.ApartmentOutlined,{}),` Workflows`]}),title:`Workflows`,description:`Event-driven behavior per module (beforeCreate/afterCreate/…): the metadata the platform Workflow Engine executes — where the jobs, candidates, and submissions create flows live.`,component:(0,o.jsx)(zx,{})},{key:`masters`,label:(0,o.jsxs)(`span`,{children:[(0,o.jsx)(a.AppstoreAddOutlined,{}),` Masters`]}),title:`Masters`,description:`Shared Location and Tax lists used across modules (e.g. the submission form’s W2 employer section).`,component:(0,o.jsx)(Yx,{})}],Te=[{key:`users`,icon:(0,o.jsx)(a.UserOutlined,{}),label:`Users`},{key:`roles`,icon:(0,o.jsx)(a.TeamOutlined,{}),label:`User Types`},{key:`menus`,icon:(0,o.jsx)(a.MenuOutlined,{}),label:`Menus`},{key:`configurations`,icon:(0,o.jsx)(a.AppstoreAddOutlined,{}),label:`Configurations`},{key:`integrations`,icon:(0,o.jsx)(a.SafetyCertificateOutlined,{}),label:`Integrations`}];function Ee(e,t){O(n=>{let r=n.filter(t=>t.key===e).length;return console.log(`DEBUG updateRolePermission`,{key:e,value:t,matchCount:r}),n.map(n=>n.key===e?{...n,accessValue:t}:n)})}async function De(){g(!0);try{console.log(`DEBUG saveRolePermissions jobs rows`,D.filter(e=>fS(e)===`jobs`||fS(e)===`job`)),await K_(T,D.map(e=>({menu_id:e.menuId,menu_name:e.menuName,menu_key:e.menuKey,permission_id:e.permissionId,permission_key:e.permissionKey,access_value:e.accessValue,updated_by:fe?.userId??null}))),i.message.success(`Role permissions updated`)}catch(e){i.message.error(e.message||`Unable to save role permissions`)}finally{g(!1)}}function Oe(){M(null),s.resetFields(),s.setFieldsValue({status:`ACTIVE`,user_type_id:be[0]?.user_type_id,reporting_id:0}),A(!0)}function ke(e){M(e),s.setFieldsValue({first_name:e.first_name,last_name:e.last_name,username:e.username,email:e.email,mobile:e.mobile,user_type_id:e.user_type_id,reporting_id:e.reporting_id??e.reportingId??0,profile_image:e.profile_image,status:e.status}),A(!0)}async function Ae(e){P(!0);try{let t={...e,status:e.status===1||e.status===`1`||e.status===!0?`ACTIVE`:e.status===0||e.status===`0`||e.status===!1?`INACTIVE`:String(e.status??`ACTIVE`).toUpperCase(),updated_by:fe?.userId??null,created_by:fe?.userId??null};t.password||delete t.password,j?(await P_(j.user_id,t),i.message.success(`User updated`)):(await N_(t),i.message.success(`User created`)),A(!1),M(null),await _e()}catch(e){i.message.error(e.message||`Unable to save user`)}finally{P(!1)}}async function je(e){I(e);try{await F_(e),i.message.success(`User deleted`),await _e()}catch(e){i.message.error(e.message||`Unable to delete user`)}finally{I(null)}}function Me(e,t){oe(`listView`),ie({kind:e,record:t}),e===`role`&&E(t.user_type_id)}function q(e,t){O(n=>{let r=[...new Set(n.map(fS))],i=r.indexOf(e),a=i+t;if(i<0||a<0||a>=r.length)return n;[r[i],r[a]]=[r[a],r[i]];let o=new Map(r.map((e,t)=>[e,t]));return[...n].sort((e,t)=>o.get(fS(e))-o.get(fS(t)))})}function J(){ne(null),c.resetFields(),c.setFieldsValue({status:`ACTIVE`}),te(!0)}function Ne(e){ne(e),te(!0),c.setFieldsValue(e)}async function Y(e){H(!0);try{let t=fe?.userId??null,n=!!V,r=n?await R_(V.user_type_id,{...e,updated_by:t}):await L_({...e,created_by:t,visible_menu_ids:[]}),a=r.user_type_id;i.message.success(n?`User type updated`:`User type created. Customize its menus and permissions.`),te(!1),await _e(),E(a),n||(oe(`permissions`),ie({kind:`role`,record:{...e,...r,user_type_id:a,user_type_name:r.user_type_name??e.user_type_name}}))}catch(e){i.message.error(e.message||`Unable to save role`)}finally{H(!1)}}async function Pe(e){try{await z_(e),i.message.success(`Role deleted`),await _e()}catch(e){i.message.error(e.message||`Unable to delete role`)}}return(0,o.jsxs)(i.Layout,{className:`admin-shell`,children:[(0,o.jsx)(tS,{width:248,className:`admin-sider`,children:(0,o.jsxs)(`div`,{className:`admin-sidebar-nav`,children:[(0,o.jsx)(nS,{className:`admin-sidebar-title`,children:`Admin Menu`}),(0,o.jsx)(i.Menu,{theme:`dark`,mode:`inline`,selectedKeys:[l],onClick:({key:e})=>u(e),items:Te})]})}),(0,o.jsx)(i.Layout,{children:(0,o.jsxs)($x,{className:`admin-content`,children:[(0,o.jsx)(o.Fragment,{children:(0,o.jsx)(i.Tabs,{activeKey:l,onChange:u,tabBarStyle:{display:`none`},items:[{key:`users`,label:(0,o.jsxs)(`span`,{children:[(0,o.jsx)(a.UserOutlined,{}),` Users`]}),children:(0,o.jsx)(`div`,{className:`admin-stack`,children:(0,o.jsxs)(`section`,{className:`admin-section`,children:[(0,o.jsxs)(`div`,{className:`admin-section-head`,children:[(0,o.jsxs)(`div`,{children:[(0,o.jsx)(rS,{level:4,children:`Users`}),(0,o.jsx)(nS,{type:`secondary`,children:`Create and manage users with non-super-admin user types.`})]}),(0,o.jsx)(i.Button,{type:`primary`,icon:(0,o.jsx)(a.PlusOutlined,{}),onClick:Oe,children:`Add`})]}),(0,o.jsx)(Mp,{listName:`Users`,loading:d,fields:[{label:`Name`,value:`first_name`,render:(e,t)=>`${e??``} ${t.last_name??``}`.trim()||t.username},{label:`Email`,value:`email`},{label:`User Type`,value:`user_type_id`,width:160,render:e=>ye[e]||`Type ${e}`},{label:`Reporting Manager`,value:`reporting_id`,width:180,render:e=>Ce[e]||`None`},{label:`Status`,value:`status`,width:110,sorter:!1,render:e=>(0,o.jsx)(i.Tag,{color:e===`ACTIVE`?`green`:`default`,children:e})},{label:`Actions`,value:`_actions`,width:150,sorter:!1,render:(e,t)=>(0,o.jsxs)(i.Space,{size:4,children:[(0,o.jsx)(i.Button,{"aria-label":`Edit user`,icon:(0,o.jsx)(a.EditOutlined,{}),size:`small`,onClick:()=>ke(t)}),(0,o.jsx)(i.Popconfirm,{title:`Delete user?`,description:`This removes the user from the auth database.`,okText:`Delete`,okButtonProps:{danger:!0},onConfirm:()=>je(t.user_id),children:(0,o.jsx)(i.Button,{danger:!0,"aria-label":`Delete user`,icon:(0,o.jsx)(a.DeleteOutlined,{}),loading:F===t.user_id,size:`small`})})]})}],dataSource:xe.map(e=>({...e,key:e.user_id})),total:xe.length,rowSelection:!1})]})})},{key:`roles`,label:(0,o.jsxs)(`span`,{children:[(0,o.jsx)(a.TeamOutlined,{}),` User Types`]}),children:(0,o.jsxs)(`div`,{className:`admin-stack`,children:[(0,o.jsxs)(Z,{icon:(0,o.jsx)(a.AppstoreOutlined,{}),title:`Field Config Seed`,style:{marginBottom:12},children:[(0,o.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:12,flexWrap:`wrap`},children:[(0,o.jsx)(`div`,{style:{minWidth:320,flex:1},children:(0,o.jsx)(i.Select,{mode:`multiple`,allowClear:!0,showSearch:!0,value:le,options:se,placeholder:me?`All modules already seeded`:`Select modules or collections to seed`,disabled:G||ue||me,loading:G,onChange:W,style:{width:`100%`}})}),(0,o.jsx)(i.Button,{type:`primary`,loading:ue,disabled:G||le.length===0,onClick:ge,children:`Seed Field Config`})]}),(0,o.jsx)(nS,{type:`secondary`,style:{display:`block`,marginTop:8,fontSize:12},children:me?`Seed is disabled because all configured modules already have user type field config data.`:`Already seeded modules are disabled. New modules or collections can still be seeded.`})]}),(0,o.jsxs)(`section`,{className:`admin-section`,children:[(0,o.jsxs)(`div`,{className:`admin-section-head`,children:[(0,o.jsxs)(`div`,{children:[(0,o.jsx)(rS,{level:4,children:`User Types`}),(0,o.jsx)(nS,{type:`secondary`,children:`Role level permissions are inherited by users.`})]}),(0,o.jsx)(i.Button,{type:`primary`,icon:(0,o.jsx)(a.PlusOutlined,{}),onClick:J,children:`Add Role`})]}),(0,o.jsx)(Mp,{listName:`User Types`,loading:d,fields:[{label:`User Type`,value:`user_type_name`},{label:`Description`,value:`description`},{label:`Status`,value:`status`,width:110,sorter:!1,render:e=>(0,o.jsx)(i.Tag,{color:e===`ACTIVE`?`green`:`default`,children:e})},{label:`Actions`,value:`_actions`,width:260,sorter:!1,render:(e,t)=>{let n=Number(t.role_type)===1;return(0,o.jsxs)(i.Space,{size:4,children:[(0,o.jsx)(i.Button,{"aria-label":`Configure role`,size:`small`,onClick:()=>Me(`role`,t),children:`Config`}),(0,o.jsx)(i.Button,{"aria-label":`Edit role`,disabled:!n,icon:(0,o.jsx)(a.EditOutlined,{}),size:`small`,onClick:()=>Ne(t)}),n&&!lS(t)&&(0,o.jsx)(i.Popconfirm,{title:`Delete role?`,onConfirm:()=>Pe(t.user_type_id),children:(0,o.jsx)(i.Button,{"aria-label":`Delete role`,danger:!0,icon:(0,o.jsx)(a.DeleteOutlined,{}),size:`small`})})]})}}],dataSource:y.map(e=>({...e,key:e.user_type_id,roleId:e.user_type_id,roleName:e.user_type_name})),total:y.length,rowSelection:!1})]})]})},{key:`menus`,label:(0,o.jsxs)(`span`,{children:[(0,o.jsx)(a.MenuOutlined,{}),` Menus`]}),children:(0,o.jsx)(Qx,{})},{key:`configurations`,label:(0,o.jsxs)(`span`,{children:[(0,o.jsx)(a.AppstoreAddOutlined,{}),` Configurations`]}),children:(0,o.jsxs)(`section`,{className:`admin-section admin-config-workspace`,children:[(0,o.jsxs)(`div`,{className:`admin-section-head`,children:[(0,o.jsxs)(`div`,{children:[(0,o.jsx)(rS,{level:4,children:`Configuration Center`}),(0,o.jsx)(nS,{type:`secondary`,children:`CORE-THEME admin modules embedded into the admin dashboard.`})]}),(0,o.jsxs)(i.Tag,{color:`blue`,children:[we.length,` configurations`]})]}),(0,o.jsx)(i.Tabs,{className:`admin-config-tabs`,defaultActiveKey:`form-groups`,tabPosition:`left`,items:we.map(e=>({key:e.key,label:e.label,children:(0,o.jsxs)(`div`,{className:`admin-config-panel`,children:[(0,o.jsx)(`div`,{className:`admin-config-panel-head`,children:(0,o.jsxs)(`div`,{children:[(0,o.jsx)(rS,{level:4,children:e.title}),(0,o.jsx)(nS,{type:`secondary`,children:e.description})]})}),(0,o.jsx)(`div`,{className:`admin-config-panel-body`,children:e.component})]})}))})]})},{key:`integrations`,label:(0,o.jsxs)(`span`,{children:[(0,o.jsx)(a.SafetyCertificateOutlined,{}),` Integrations`]}),children:(0,o.jsxs)(`section`,{className:`admin-section admin-config-workspace`,children:[(0,o.jsx)(`div`,{className:`admin-section-head`,children:(0,o.jsxs)(`div`,{children:[(0,o.jsx)(rS,{level:4,children:`Integrations`}),(0,o.jsx)(nS,{type:`secondary`,children:`Configure external services used by onboarding and other workflows.`})]})}),(0,o.jsx)(`div`,{className:`admin-config-panel`,children:(0,o.jsx)(`div`,{className:`admin-config-panel-body`,children:(0,o.jsx)(vx,{})})})]})}]})}),(0,o.jsxs)(i.Modal,{className:`uss-modal`,title:`Configure User Type: ${U?.record?.user_type_name??``}`,open:!!U,onCancel:()=>ie(null),footer:null,destroyOnHidden:!0,width:900,children:[(0,o.jsx)(`div`,{className:`uss-config-toggle`,style:{marginBottom:12},children:[{key:`listView`,label:`List View`},{key:`filter`,label:`Filter`},{key:`form`,label:`Form`},{key:`permissions`,label:`Permissions`},{key:`actions`,label:`Actions`}].map(e=>(0,o.jsx)(`button`,{type:`button`,className:`uss-config-btn${ae===e.key?` active`:``}`,onClick:()=>oe(e.key),children:e.label},e.key))}),U&&ae===`permissions`?(0,o.jsx)(mS,{title:`Role Permissions`,description:`Configure menu permissions for this user type`,selectedName:ve?.user_type_name,loading:p,saving:h,rows:D,onChange:Ee,onMove:q,onSave:De}):U&&ae===`actions`?(0,o.jsx)(Dv,{role:{...U.record,roleId:U.record.user_type_id,roleName:U.record.user_type_name}},`${U.record?.user_type_id}-actions`):U&&ae===`form`?(0,o.jsx)(yv,{role:{...U.record,roleId:U.record.user_type_id,roleName:U.record.user_type_name}},`${U.record?.user_type_id}-form`):U?(0,o.jsx)(dv,{role:{...U.record,roleId:U.record.user_type_id,roleName:U.record.user_type_name},configType:ae},`${U.record?.user_type_id}-${ae}`):null]}),(0,o.jsx)(i.Modal,{className:`admin-role-modal`,title:V?`Edit User Type`:`Create User Type`,open:ee,onCancel:()=>te(!1),onOk:()=>c.submit(),okText:V?`Save`:`Next`,confirmLoading:re,destroyOnHidden:!0,width:900,children:(0,o.jsxs)(i.Form,{form:c,layout:`vertical`,onFinish:Y,children:[(0,o.jsx)(i.Form.Item,{name:`user_type_name`,label:`Role name`,rules:[{required:!0,message:`Role name is required`}],children:(0,o.jsx)(i.Input,{placeholder:`Recruiter`})}),(0,o.jsx)(i.Form.Item,{name:`description`,label:`Description`,children:(0,o.jsx)(i.Input.TextArea,{rows:3})}),(0,o.jsx)(i.Form.Item,{name:`status`,label:`Status`,children:(0,o.jsx)(i.Select,{options:[{value:`ACTIVE`},{value:`INACTIVE`}]})})]})}),(0,o.jsx)(i.Modal,{title:j?`Edit User`:`Add User`,open:k,onCancel:()=>A(!1),onOk:()=>s.submit(),confirmLoading:N,destroyOnHidden:!0,children:(0,o.jsxs)(i.Form,{form:s,layout:`vertical`,requiredMark:!1,onFinish:Ae,children:[(0,o.jsxs)(`div`,{className:`admin-form-row`,children:[(0,o.jsx)(i.Form.Item,{label:`First Name`,name:`first_name`,rules:[{required:!0,message:`First name is required`}],children:(0,o.jsx)(i.Input,{placeholder:`John`})}),(0,o.jsx)(i.Form.Item,{label:`Last Name`,name:`last_name`,children:(0,o.jsx)(i.Input,{placeholder:`Doe`})})]}),(0,o.jsx)(i.Form.Item,{label:`Username`,name:`username`,rules:[{required:!0,message:`Username is required`}],children:(0,o.jsx)(i.Input,{placeholder:`john.doe`})}),(0,o.jsx)(i.Form.Item,{label:`Email`,name:`email`,rules:[{required:!0,message:`Email is required`},{type:`email`,message:`Enter a valid email`}],children:(0,o.jsx)(i.Input,{placeholder:`john@example.com`})}),(0,o.jsx)(i.Form.Item,{label:`Password`,name:`password`,rules:j?[]:[{required:!0,message:`Password is required`}],children:(0,o.jsx)(i.Input.Password,{placeholder:j?`Leave empty to keep current password`:`Password`})}),(0,o.jsxs)(`div`,{className:`admin-form-row`,children:[(0,o.jsx)(i.Form.Item,{label:`Mobile`,name:`mobile`,children:(0,o.jsx)(i.Input,{placeholder:`9999999999`})}),(0,o.jsx)(i.Form.Item,{label:`User Type`,name:`user_type_id`,rules:[{required:!0,message:`User type is required`}],children:(0,o.jsx)(i.Select,{placeholder:`Select user type`,onChange:()=>{R([]),queueMicrotask(()=>{let e=Number(s.getFieldValue(`user_type_id`)??0);e&&(B(!0),M_(e).then(e=>{R(e.filter(e=>!j||e.user_id!==j.user_id))}).catch(e=>{i.message.error(e.message||`Unable to load reporting users`),R([])}).finally(()=>{B(!1)}))})},options:be.map(e=>({label:e.user_type_name,value:e.user_type_id}))})})]}),(0,o.jsx)(i.Form.Item,{label:`Reporting Manager`,name:`reporting_id`,children:(0,o.jsx)(i.Select,{allowClear:!0,showSearch:!0,loading:z,placeholder:`Select reporting manager`,optionFilterProp:`label`,options:[{label:`None`,value:0},...Se]})}),(0,o.jsx)(i.Form.Item,{label:`Profile Image`,name:`profile_image`,children:(0,o.jsx)(i.Input,{placeholder:`https://...`})}),(0,o.jsx)(i.Form.Item,{label:`Status`,name:`status`,children:(0,o.jsx)(i.Select,{options:[{label:`ACTIVE`,value:`ACTIVE`},{label:`INACTIVE`,value:`INACTIVE`}]})})]})})]})})]})}var gS=hS;function _S(e,t){return String(e||t).replace(/\/\*$/,``).replace(/\/+$/,``)||t}function vS({loginPath:e=`/login`,adminPath:t=`/admin`,fallbackPath:n=`/`}){let r=(0,s.useNavigate)(),i=_S(e,`/login`),a=_S(t,`/admin`),c=`${a}/*`;return(0,o.jsxs)(s.Routes,{children:[(0,o.jsx)(s.Route,{path:i,element:(0,o.jsx)(zg,{defaultRedirectPath:a,onLogin:()=>r(a,{replace:!0})})}),(0,o.jsx)(s.Route,{path:c,element:(0,o.jsx)(Ig,{loginPath:i,children:(0,o.jsx)(Rg,{children:(0,o.jsx)(gS,{onLogout:()=>r(i,{replace:!0})})})})}),(0,o.jsx)(s.Route,{path:n,element:(0,o.jsx)(s.Navigate,{to:a,replace:!0})}),(0,o.jsx)(s.Route,{path:`*`,element:(0,o.jsx)(s.Navigate,{to:a,replace:!0})})]})}function yS(e){return(0,o.jsx)(s.BrowserRouter,{children:(0,o.jsx)(vS,{...e})})}function bS(e){return Array.isArray(e)?e.map(String).map(e=>e.trim()).filter(Boolean):String(e??``).split(`,`).map(e=>e.trim()).filter(Boolean)}function xS(e){return bS(e).every(e=>/^[^,\s@]+@[^,\s@]+\.[^\s@]{2,}$/.test(e))}var{Text:SS}=i.Typography;function CS(e,t){return[...new Set([...bS(e),...bS(t)])].join(`, `)}function wS(e,t){return String(t??``).split(`.`).reduce((e,t)=>e?.[t],e)}function TS(e,t,n){if(!n)return String(e??``);let r=new Map;return(t??[]).forEach(e=>(e.holders??[]).forEach(e=>{r.set(e.key,wS(n,e.value))})),String(e??``).replace(/{{\.([\w.]+)}}/g,(e,t)=>{let n=r.get(t);return n==null?e:String(n)})}function ES({value:t,onChange:n,moduleName:s=``,defaultTemplateId:c=``,ready:l=!0,title:u=`Mail`,hint:d,bccHint:f,afterBcc:p,className:m=``,contextRecords:h=[]}){let[g,_]=(0,r.useState)([]),[v,y]=(0,r.useState)(s),[b,x]=(0,r.useState)([]),[S,C]=(0,r.useState)(``),[w,T]=(0,r.useState)(!0),E=(0,r.useRef)(``),D=e=>n?.({...t,...e});(0,r.useEffect)(()=>{e.Vn().then(e=>_(e.map(e=>({value:e.key??e.module??e.value,label:e.label??e.name??e.key??e.module??e.value})).filter(e=>e.value))).catch(()=>_([]))},[]),(0,r.useEffect)(()=>{let e=!1;return bb({module:v}).then(t=>{e||x(t)}).catch(()=>{e||x([])}).finally(()=>{e||T(!1)}),()=>{e=!0}},[v]);async function O(e,n=!1){if(!e){C(``);return}try{let r=await xb(e),a=h[0];C(e),D({to:CS(t.to,(r?.toMail??[]).map(e=>TS(e,r?.placeholders,a))),cc:CS(t.cc,(r?.ccMail??[]).map(e=>TS(e,r?.placeholders,a))),bcc:CS(t.bcc,(r?.bccMail??[]).map(e=>TS(e,r?.placeholders,a))),subject:TS(r?.subject,r?.placeholders,a),contents:TS(r?.body,r?.placeholders,a)}),n||i.message.success(`Loaded ${r?.name||`email template`}`)}catch(e){n||i.message.error(e?.message||`Could not load email template`)}}(0,r.useEffect)(()=>{!l||!c||E.current===c||(E.current=c,O(c,!0))},[c,l]);let k=(0,r.useMemo)(()=>!v||g.some(e=>e.value===v)?g:[{value:v,label:v},...g],[g,v]);return(0,o.jsxs)(`div`,{className:`common-mail-composer ${m}`.trim(),children:[(0,o.jsxs)(`div`,{className:`mail-popup__header`,children:[(0,o.jsxs)(`div`,{className:`mail-popup__header-brand`,children:[(0,o.jsx)(`span`,{className:`dynamic-popup__header-icon-box`,children:(0,o.jsx)(a.MailOutlined,{})}),(0,o.jsxs)(`div`,{children:[(0,o.jsx)(`span`,{className:`dynamic-popup__header-label`,children:u}),d&&(0,o.jsx)(SS,{type:`secondary`,className:`mail-popup__header-hint`,children:d})]})]}),(0,o.jsxs)(`div`,{className:`mail-popup__header-controls`,children:[(0,o.jsx)(i.Select,{showSearch:!0,optionFilterProp:`label`,placeholder:`Module`,value:v||void 0,options:k,onChange:e=>{T(!0),y(e),C(``),D({cc:``,bcc:``,subject:``,contents:``,showCc:!1,showBcc:!1})},className:`mail-popup__module-select`}),(0,o.jsx)(i.Select,{showSearch:!0,optionFilterProp:`label`,allowClear:!0,placeholder:`Template`,value:S||void 0,loading:w,notFoundContent:w?(0,o.jsx)(i.Spin,{size:`small`}):`No templates`,options:b.map(e=>({value:e._id??e.id,label:e.name||e.action||`Template`})),onChange:e=>O(e),className:`mail-popup__template-select`})]})]}),(0,o.jsxs)(`div`,{className:`mail-popup__body`,children:[(0,o.jsxs)(`div`,{className:`mail-popup__field-row`,children:[(0,o.jsx)(SS,{type:`secondary`,className:`mail-popup__field-label`,children:`To`}),(0,o.jsx)(i.Select,{mode:`tags`,open:!1,tokenSeparators:[`,`],value:bS(t.to),onChange:e=>D({to:e.join(`, `)}),variant:`borderless`,className:`mail-popup__recipient-select`,placeholder:`Add email addresses`}),(0,o.jsxs)(`div`,{className:`mail-popup__cc-bcc-actions`,children:[!t.showCc&&(0,o.jsx)(`span`,{className:`mail-popup__cc-bcc-link`,onClick:()=>D({showCc:!0}),children:`Cc`}),!t.showBcc&&(0,o.jsx)(`span`,{className:`mail-popup__cc-bcc-link`,onClick:()=>D({showBcc:!0}),children:`Bcc`})]})]}),(0,o.jsx)(i.Divider,{}),t.showCc&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(`div`,{className:`mail-popup__field-row`,children:[(0,o.jsx)(SS,{type:`secondary`,className:`mail-popup__field-label`,children:`Cc`}),(0,o.jsx)(i.Select,{mode:`tags`,open:!1,tokenSeparators:[`,`],value:bS(t.cc),onChange:e=>D({cc:e.join(`, `)}),variant:`borderless`,className:`mail-popup__recipient-select`})]}),(0,o.jsx)(i.Divider,{})]}),t.showBcc&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(`div`,{className:`mail-popup__field-row`,children:[(0,o.jsx)(SS,{type:`secondary`,className:`mail-popup__field-label`,children:`Bcc`}),(0,o.jsx)(i.Select,{mode:`tags`,open:!1,tokenSeparators:[`,`],value:bS(t.bcc),onChange:e=>D({bcc:e.join(`, `)}),variant:`borderless`,className:`mail-popup__recipient-select`,placeholder:f})]}),p,(0,o.jsx)(i.Divider,{})]}),(0,o.jsxs)(`div`,{className:`mail-popup__field-row`,children:[(0,o.jsx)(SS,{type:`secondary`,className:`mail-popup__field-label`,children:`Subject`}),(0,o.jsx)(i.Input,{variant:`borderless`,value:t.subject,onChange:e=>D({subject:e.target.value}),placeholder:`Enter subject`,className:`mail-popup__field-input`})]}),(0,o.jsx)(i.Divider,{}),(0,o.jsxs)(`div`,{className:`mail-popup__message-section`,children:[(0,o.jsx)(SS,{type:`secondary`,className:`mail-popup__message-label`,children:`Message`}),(0,o.jsx)(e.kr,{value:t.contents,onChange:e=>D({contents:e})})]})]})]})}function DS(){let e=(0,s.useNavigate)(),{state:t={}}=(0,s.useLocation)(),{selectedIds:n=[],selectedRecords:a=[],recipients:c=[],subject:l=``,onSend:u,moduleName:d=``,popupAction:f={}}=t,p=n[0]??a[0]?._id??a[0]?.id,[m,h]=(0,r.useState)({to:c.join(`, `),cc:``,bcc:``,subject:l,contents:``,showCc:!1,showBcc:!1}),[g,_]=(0,r.useState)(!p),[v,y]=(0,r.useState)(!1);(0,r.useEffect)(()=>{p&&Wt(p).then(e=>h(t=>({...t,subject:e.subject||t.subject,to:e.toMail?.length?Array.isArray(e.toMail)?e.toMail.join(`, `):String(e.toMail):t.to,cc:e.ccMail?.length?Array.isArray(e.ccMail)?e.ccMail.join(`, `):String(e.ccMail):t.cc,bcc:e.bccMail?.length?Array.isArray(e.bccMail)?e.bccMail.join(`, `):String(e.bccMail):t.bcc,contents:e.contents||t.contents,showCc:t.showCc||!!e.ccMail?.length,showBcc:t.showBcc||!!e.bccMail?.length}))).catch(()=>{}).finally(()=>_(!0))},[p]);let b=bS(m.to).length+bS(m.cc).length+bS(m.bcc).length>0&&xS(m.to)&&xS(m.cc)&&xS(m.bcc)&&m.subject.trim();async function x(){if(!(!b||v)){y(!0);try{await Gt({jobId:p,toMail:bS(m.to),ccMail:bS(m.cc),bccMail:bS(m.bcc),subject:m.subject,contents:m.contents}),i.message.success(`Mail sent successfully`),typeof u==`function`&&u({...m,message:m.contents,selectedIds:n}),e(-1)}catch(e){i.message.error(e?.message||`Failed to send mail`)}finally{y(!1)}}}return(0,o.jsx)(i.Drawer,{open:!0,placement:`right`,onClose:()=>e(-1),closable:!1,rootClassName:`mail-popup`,width:620,maskClosable:!1,footer:(0,o.jsxs)(`div`,{className:`mail-popup__footer`,children:[(0,o.jsx)(i.Button,{onClick:()=>e(-1),children:`Cancel`}),(0,o.jsx)(i.Button,{type:`primary`,loading:v,disabled:!b,onClick:x,children:`Send`})]}),children:(0,o.jsx)(ES,{value:m,onChange:h,moduleName:d,defaultTemplateId:f.defaultTemplateId??t.defaultTemplateId??``,ready:g,contextRecords:a})})}var{Text:OS}=i.Typography,kS=2,AS=`overview.summary.role summary.job summary.role overview.job description.description.about the role.about the job.job title.role.responsibilities.roles responsibilities.roles and responsibilities.roles & responsibilities.key responsibilities.requirements.required skills.preferred skills.technical skills.key skills.skills.competencies.nice to have.good to have.qualifications.required qualifications.preferred qualifications.education.experience.benefits`.split(`.`),jS=new Set(AS),MS=/(education|qualification)/i,NS=/(skill|competenc)/i,PS=e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`),FS=e=>e.replace(/\w[^\s/]*/g,e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()),IS=e=>[...new Set(e)];function LS(e){let t=String(e);return t=t.replace(/<\s*(br|\/p|\/div|\/h[1-6]|\/li|\/tr)\s*\/?>/gi,`
5
5
  `).replace(/<\s*li[^>]*>/gi,`