@realtek/core-theme 0.0.366 → 0.0.367
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist-lib/{AddFormV1-CI0IyNmL.cjs → AddFormV1-C8L2lNYb.cjs} +2 -2
- package/dist-lib/{AddFormV1-CI0IyNmL.cjs.map → AddFormV1-C8L2lNYb.cjs.map} +1 -1
- package/dist-lib/{AddFormV1-CRP2dpGK.js → AddFormV1-Crwu7zyB.js} +2 -2
- package/dist-lib/{AddFormV1-CRP2dpGK.js.map → AddFormV1-Crwu7zyB.js.map} +1 -1
- package/dist-lib/{conditionalFieldLabel-DOZto4Ei.cjs → conditionalFieldLabel-080sIUgv.cjs} +4 -4
- package/dist-lib/{conditionalFieldLabel-DOZto4Ei.cjs.map → conditionalFieldLabel-080sIUgv.cjs.map} +1 -1
- package/dist-lib/{conditionalFieldLabel-CLs7ls8w.js → conditionalFieldLabel-UV6rY1kI.js} +41 -41
- package/dist-lib/{conditionalFieldLabel-CLs7ls8w.js.map → conditionalFieldLabel-UV6rY1kI.js.map} +1 -1
- package/dist-lib/index.cjs +3 -3
- package/dist-lib/index.cjs.map +1 -1
- package/dist-lib/index.js +412 -408
- package/dist-lib/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e=require("./rolldown-runtime-Chgba0Kb.cjs"),t=require("./authApi-D0LZjLV6.cjs"),n=require("./conditionalFieldLabel-DOZto4Ei.cjs"),r=require("./DocumentViewer-Dv2kBoJ2.cjs"),i=require("./diceCandidateMapper-BjMhHno3.cjs"),a=require("./addFormApi-C99DyZ1z.cjs");let o=require("react"),s=require("antd"),c=require("@ant-design/icons"),l=require("react/jsx-runtime"),u=require("dayjs");u=e.n(u,1);let d=require("react-router-dom");function f(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}}function p(e){if(e==null||e===``)return``;let t=Number(e);if(!Number.isFinite(t)||t<0)return``;if(t===0)return`today`;if(t===1)return`yesterday`;if(t<30)return`${t} days ago`;if(t<60)return`about a month ago`;if(t<365)return`about ${Math.round(t/30)} months ago`;let n=Math.floor(t/365);return n===1?`over a year ago`:`over ${n} years ago`}function m(e,t){return(Array.isArray(t)&&t.length?t:Object.keys(e??{})).map(t=>e?.[t]).map(e=>e==null?``:String(e).trim()).filter(Boolean).join(` · `)}function ee(e,t={}){return e?String(e).replace(/\{(\w+)\}/g,(e,n)=>t[n]===void 0?e:String(t[n])):``}function h(e,t){let n=m(e?.record,t),r=p(e?.updatedDaysAgo);return{name:n||`an existing record`,age:r||`previously`,days:Number.isFinite(Number(e?.updatedDaysAgo))?String(e.updatedDaysAgo):``,updatedOn:e?.updatedAt?String(e.updatedAt).slice(0,10):``,stage:e?.stage??``,weight:e?.weight??``}}function g(e,t={}){let n=h(e,t.displayFields),r=(e?.policy??t.policy)===`block`;return ee(e?.message||t.message||(r?`We already have {name} on file — last updated {age}. Please open that record and update it, rather than adding a second copy.`:`We already have {name} on file — last updated {age}. You can carry on and update that record with what you’ve just entered, or go back and check first.`),n)}function _(e,t={}){return e?.duplicate?(e.policy??t.policy??`prompt`)===`block`:!1}function te(e,t){let n=e?.record??{},r=(Array.isArray(t)&&t.length?t:Object.keys(n)).map(e=>({label:v(e),value:n[e]})).filter(e=>e.label&&e.value!==void 0&&e.value!==null&&String(e.value).trim()!==``),i=p(e?.updatedDaysAgo);return i&&r.push({label:`Last updated`,value:i}),r}function v(e){let t=String(e??``).replace(/([a-z0-9])([A-Z])/g,`$1 $2`).replace(/[_\-.]+/g,` `).trim().toLowerCase();return t?t.charAt(0).toUpperCase()+t.slice(1):``}function y({form:e,moduleName:t,recordId:r,config:i={},onUseExisting:a}={}){let[s,c]=(0,o.useState)(!1),l=(0,o.useRef)(null),u=(0,o.useCallback)(async i=>{if(!t)return{duplicate:!1};c(!0);try{return await n.Xn({module:t,payload:i??e.getFieldsValue(!0)??{},excludeId:r})}finally{c(!1)}},[e,t,r]);return{prompt:(0,o.useCallback)(async({reason:e,payload:t,carry:r}={})=>{let o=await u(t);if(!o?.duplicate)return l.current=null,`clear`;if(l.current&&l.current===o.id)return`existing`;let s=g(o,i),c=te(o,i.displayFields),d=o.weight===`weak`?`This might be someone you already have`:`You already have this person on file`;return _(o,i)?(await n.Er({tone:`duplicate`,title:d,facts:c,body:s}),`blocked`):await n.Tr({tone:`duplicate`,title:d,facts:c,body:s,okText:`Open their record`,cancelText:`Let me check first`,footnote:r?.files?`We’ll take you to their record with the résumé you just uploaded already attached — save there to keep it. The one already on file is kept too, as an earlier version. Nothing on this form has been filled in.`:`Everything already on their record is kept. Nothing on this form has been filled in.`})?(l.current=o.id??!0,a?.(o.id,o,e,r),`existing`):`blocked`},[u,i,a]),check:u,checking:s,acknowledgedId:l}}var b=[[`uploadname`,`uploadedfilename`,`originalname`,`filename`],[`uniquename`]],x=`copyuniquename`;function S(e,t,{excludeSanitised:n=!1}={}){let r=String(e).toLowerCase();return n&&r.endsWith(x)?!1:t.some(e=>r.endsWith(e))}function C(e){if(!e||typeof e!=`object`)return``;let t=e.uploadedFileName??e.name;if(typeof t==`string`&&t.trim())return t.trim();let n=Object.entries(e).filter(([,e])=>typeof e==`string`&&e.trim());for(let e of b){let t=n.find(([t])=>S(t,e,{excludeSanitised:!0}));if(t)return t[1].trim()}let r=n.find(([e])=>String(e).toLowerCase().endsWith(x));return r?r[1].trim():``}function w(e){if(!e||typeof e!=`object`)return``;let t=e.location??e.url;if(typeof t==`string`&&t.trim())return t.trim();let n=Object.entries(e).find(([e,t])=>typeof t==`string`&&t.trim()&&String(e).toLowerCase().endsWith(`copylocation`));return n?n[1].trim():``}var T=new Map,ne=0;function E(e){let t=`ph_${Date.now()}_${ne+=1}`;return T.set(t,e),e.finally(()=>{setTimeout(()=>T.delete(t),0)}).catch(()=>{}),t}function re(e){if(!e)return;let t=T.get(e);return T.delete(e),t}async function ie({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.a(),a=await fetch(`${t.S}/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 ae({isFromSubmission:e,jobId:n,submissionId:r,search:i=``}={}){let a={search:i};e?a.submissionId=r:a.jobId=n;let o=await t.o(t.C,`/quicksubmit/list`,{method:`POST`,body:JSON.stringify(a)});return o.data??o}async function oe(e){if(!e)throw Error(`Dice candidate ID is required`);let n=await t.a(),r=`${t.S}/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 D(e){return e&&typeof e==`object`?D(e.value??e.key??e.id??e.label??e.name):String(e??``).trim().toLowerCase()}function O(e){return(Array.isArray(e)?e:[e]).flat().map(D).filter((e,t,n)=>e&&e!==`all`&&n.indexOf(e)===t)}function se(e,t=`internal`){let n=O(e);if(n.includes(`internal`))return`internal`;let r=D(t);return n[0]?n[0]:r||(t===``?``:`internal`)}function k(e,t){let n={...t??{}};return(Array.isArray(e)?e:[]).flatMap(e=>Array.isArray(e?.options)?e.options:[]).forEach(e=>{let t=D(e?.value),r=String(e?.module??``).trim();t&&r&&(n[t]=r)}),n}function A(e){return String(e??``).replace(/[-_]+/g,` `).replace(/\s+/g,` `).trim().replace(/\b\w/g,e=>e.toUpperCase())}function j(e){return D(M(e))}function M(e){let t=e?.key??e?.value??e?.id??e?.source??e?.name??e?.title??e?.label;return String(t??``).trim()}function ce(e){let t=e?.count??e?.countValue,n=Number(t);return Number.isFinite(n)?n:void 0}function le(e,t,n,r,i){let a=Number(t?.[e]);if(Number.isFinite(a))return a;if(e===r){let e=Number(i);if(Number.isFinite(e))return e}let o=n.get(e);if(o!==void 0)return o}function ue({sources:e=[],activeSource:t=`internal`,activeCount:n=0,responseCounts:r={},currentTabs:i=[],backendTabs:a=[]}={}){let o=new Map((Array.isArray(i)?i:[]).map(e=>[j(e),ce(e)]).filter(([e,t])=>e&&t!==void 0)),s=new Map,c=O(e),l=D(t);return(c.length?c:l?[l]:[]).forEach(e=>{if(!e||s.has(e))return;let i=le(e,r,o,t,n);s.set(e,{key:e,title:A(e),...i===void 0?{}:{count:i}})}),(Array.isArray(a)?a:[]).forEach(e=>{let t=j(e);if(!t)return;let n=s.get(t),r=ce(e)??n?.count??o.get(t);s.set(t,{key:n?n.key:M(e),title:e.title??e.label??e.name??n?.title??A(t),...r===void 0?{}:{count:r}})}),Array.from(s.values())}function de(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(D).filter(Boolean)}function fe(e,t,n){let r=D(t);return r?de(e).includes(r)?!0:typeof n==`function`&&n(e):!1}var N=[{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:i.r,execute:oe}];function pe({rows:e=[],selectedSource:t=``}={}){return N.filter(n=>D(t)===n.source||e.some(e=>fe(e,n.source,n.isRecordFromSource)))}function me(e,t,n=``){return D(n)===e.source||fe(t,e.source,e.isRecordFromSource)}function he(e,t){let n=e?.getRecordId?.(t);return n?`${e.source}:${e.field}:${n}`:``}async function ge(e,t){let n=e?.getRecordId?.(t);if(!n)throw Error(`${e?.buttonLabel??`Action`} ID is required`);return e.execute(n,t)}var _e=e.t({default:()=>H}),{Text:P}=s.Typography,{TextArea:ve}=s.Input,ye=[],be=[(0,l.jsx)(c.UserOutlined,{}),(0,l.jsx)(c.EnvironmentOutlined,{}),(0,l.jsx)(c.SolutionOutlined,{}),(0,l.jsx)(c.InfoCircleOutlined,{}),(0,l.jsx)(c.FileTextOutlined,{})],xe={email:(0,l.jsx)(c.MailOutlined,{className:`v1-input-icon`}),contactNumber:(0,l.jsx)(c.PhoneOutlined,{className:`v1-input-icon`}),phone:(0,l.jsx)(c.PhoneOutlined,{className:`v1-input-icon`}),currentLocation:(0,l.jsx)(c.EnvironmentOutlined,{className:`v1-input-icon`}),preferredLocation:(0,l.jsx)(c.EnvironmentOutlined,{className:`v1-input-icon`}),skills:(0,l.jsx)(c.TagsOutlined,{className:`v1-input-icon`}),firstName:(0,l.jsx)(c.UserOutlined,{className:`v1-input-icon`}),lastName:(0,l.jsx)(c.UserOutlined,{className:`v1-input-icon`})},F=e=>e===!0||e===1||e===`1`,Se=(e,t)=>(e?.edit===void 0||F(e.edit))&&(!e?.editablePermission||n.mn(e.editablePermission,t));function Ce(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 I(e){return String(e??``).split(`.`).map(e=>e.trim()).filter(Boolean)}function L(e,t){return Array.isArray(e)&&e.length>1?[...e.slice(0,-1),t]:[t]}function we({form:e,field:t,absoluteName:r}){let[i,a]=(0,o.useState)(!1),[c,u]=(0,o.useState)(null),d=(0,o.useRef)(null),f=s.Form.useWatch(t.verifyResultField?L(r,t.verifyResultField):[`__noop_verify__`],{form:e,preserve:!0}),p=s.Form.useWatch(r,e);return(0,o.useEffect)(()=>{let n=String(p??``).trim();if(f===!0&&d.current===null&&n){d.current=n;return}f===!0&&d.current!==null&&n!==d.current&&(t.verifyResultField&&e.setFieldValue(L(r,t.verifyResultField),!1),t.verifyTimestampField&&e.setFieldValue(L(r,t.verifyTimestampField),void 0),d.current=null)},[r,p,t.verifyResultField,t.verifyTimestampField,e,f]),t.verifyAction===`email`?f===!0?c&&!c.mailboxConfirmed&&(c.catchAll||c.result===`risky`)?(0,l.jsx)(s.Tooltip,{title:c.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,l.jsx)(P,{type:`warning`,strong:!0,className:`v1-verify-field-wrap`,children:t.verifyUnconfirmedLabel||`Accepted`})}):(0,l.jsx)(P,{type:`success`,strong:!0,className:`v1-verify-field-wrap`,children:t.verifySuccessLabel||`Valid`}):(0,l.jsx)(s.Button,{size:`small`,loading:i,onClick:async()=>{let i=String(p??``).trim();if(!i){s.message.warning(`Enter an email first`);return}a(!0);try{let a=await n.oo(i);d.current=a.valid?i:null,u(a.valid?a:null),t.verifyResultField&&e.setFieldValue(L(r,t.verifyResultField),a.valid),t.verifyTimestampField&&e.setFieldValue(L(r,t.verifyTimestampField),a.valid?new Date().toISOString():void 0),a.valid?a.mailboxConfirmed?s.message.success(`Email verified — the mail server confirmed this mailbox`):s.message.warning(a.reason||`The domain can receive mail, but this exact mailbox could not be confirmed`):s.message.error(a.reason?`Invalid email: ${a.reason}`:`Email could not be verified`)}catch(n){d.current=null,u(null),t.verifyResultField&&e.setFieldValue(L(r,t.verifyResultField),!1),t.verifyTimestampField&&e.setFieldValue(L(r,t.verifyTimestampField),void 0),s.message.error(n?.message||`Could not verify email`)}finally{a(!1)}},className:`v1-verify-field-wrap`,children:f===!1?t.verifyRetryLabel||`Re Verify`:t.verifyIdleLabel||`Verify Email`}):null}function Te({form:e,field:t,siblingPrefix:r,locked:i,combined:a=!1}){let o=s.Form.useWatch(n.n(t?.labelWhen,r),e),c=n.i(t,o,a);return a?c:(0,l.jsx)(st,{field:t,label:c,locked:i})}function Ee({form:e,groups:t,action:n,disabled:r,loading:i,onFire:a}){let o=s.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}),c=s.Form.useWatch(n?.enabledWhen?.field,e),u=!n?.enabledWhen?.field||Ae(n.enabledWhen,c);return(0,l.jsx)(s.Button,{type:n?.tone===`primary`?`primary`:`default`,onClick:a,disabled:r||o||!u,loading:i,children:n?.label||`Submit`})}function De({form:e,groups:t,disabled:n,loading:r,onClick:i,children:a}){let o=s.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}),c=n||o,u=t.find(e=>e.submitDisabledMessage)?.submitDisabledMessage,d=t.find(e=>e.requireValidatedField)?.requireValidatedFieldMessage,f=o?d||u||`Verify every required row before submitting.`:u||`Complete all mandatory fields before submitting.`,p=(0,l.jsx)(s.Button,{type:`primary`,onClick:i,disabled:c,loading:r,children:a});return c&&!r?(0,l.jsx)(s.Tooltip,{title:f,children:(0,l.jsx)(`span`,{style:{display:`inline-flex`,cursor:`not-allowed`},children:p})}):p}function Oe({form:e,rules:t,watchPaths:r,targetPath:i,resetOnNoMatch:a=!0}){let c=s.Form.useWatch(e=>JSON.stringify(r.map(({path:t})=>t.reduce((e,t)=>e==null?e:e[t],e)??null)),{form:e,preserve:!0}),l=(0,o.useRef)(void 0),u=(0,o.useRef)(!0);return(0,o.useEffect)(()=>{let o=c?JSON.parse(c):[],s={};r.forEach(({field:e},t)=>{s[e]=o[t]});let d=u.current;u.current=!1;let f=n.En({rules:t,watched:s,current:e.getFieldValue(i),lastApplied:l.current,clearOnMismatch:a,initial:d});f.action===`set`?(e.setFieldValue(i,f.value),l.current=f.value):f.action===`clear`&&(e.setFieldValue(i,void 0),l.current=void 0)},[c]),null}function ke({form:e,config:n,watchPath:r}){let i=s.Form.useWatch(r,e),a=(0,o.useRef)(void 0);return(0,o.useEffect)(()=>{if(z(i)||i===a.current)return;a.current=i;let r=n.endpointTemplate?`${n.endpointTemplate.replace(`{value}`,encodeURIComponent(String(i)))}`:`${n.endpoint}?${new URLSearchParams({[n.queryParam]:String(i)}).toString()}`;t.o(t.S,r).then(t=>{let r=t?.data??t;if(n.substituteTokens){(n.substituteInFields||[]).forEach(t=>{let i=I(t),a=e.getFieldValue(i)||``;Object.entries(n.substituteTokens).forEach(([e,t])=>{let n=e.replace(/^\{\{|\}\}$/g,``).trim(),i=RegExp(`\\{\\{\\s*${n.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}\\s*\\}\\}`,`gi`);a=a.replace(i,r?.[t]??``)}),e.setFieldValue(i,a)});return}Object.entries(n.mapResponseToFields).forEach(([t,i])=>{let a=I(t);n.onlyIfEmpty&&!z(e.getFieldValue(a))||e.setFieldValue(a,r?.[i])})}).catch(()=>{})},[i]),null}function Ae(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 F(t);case`falsy`:return!F(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 je({form:e,showIf:t,render:n}){return Ae(t,s.Form.useWatch(t.field,e))?n():null}var R=(0,o.createContext)(!1);function Me({form:e,group:t,children:n,inheritParent:r=!0}){let i=(0,o.useContext)(R),a=t?.disabledIf?.field?I(t.disabledIf.field):[`__noop_group_disabled__`],c=s.Form.useWatch(a,e),u=t?.disabledIf?.field?Ae(t.disabledIf,c):!1,d=r&&i||!!t?.disabled||u;return(0,l.jsx)(R.Provider,{value:d,children:n})}function Ne(e,t){return String(t??``).split(`.`).reduce((e,t)=>e?.[t],e)}function Pe(e){return e==null||e===``?!1:Array.isArray(e)?e.length>0&&e.some(Pe):typeof e!=`object`||Object.values(e).some(Pe)}function Fe(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:ye}function Ie(e=[],t,r,i){let a=i??new Set;return[...Fe(e)].filter(e=>!F(e.hideGroup)&&!F(e.hideGroupInForm)&&n.qr(r,e.name)).sort((e,t)=>Number(e.order??0)-Number(t.order??0)).map(e=>({...e,fields:[...e.fields??[]].map(e=>a.has(e.field)?{...e,show:1,req:1}:e).filter(i=>String(i.field??``).trim()!==``&&i.showOnAdd!==!1&&!F(i.clientScope)&&(!i.visiblePermission||n.mn(i.visiblePermission,t))&&n.Gr(r,e.name,i.field)).map(t=>n.Kr(r,e.name,t.field)?t:{...t,disabled:!0}).sort((e,t)=>Number(e.order??0)-Number(t.order??0))})).filter(e=>e.fields.length)}function Le(e,t,r){let i=new Map(t.map(e=>[e.name,e]));return Fe(e).filter(e=>!F(e.hideGroup)&&n.qr(r,e.name)).sort((e,t)=>Number(e.order??0)-Number(t.order??0)).map(e=>i.get(e.name)??{...e,fields:[]})}function Re(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 ze(e,t){if(!(!e||!t))for(let r of[t.prefillFrom,t.field,t.payloadKey]){if(!r)continue;let t=e[r];if(t??=n.Fr(e,r),t!=null)return t}}function Be(e){if(Array.isArray(e))return e.flatMap(e=>Be(e));if(!e||typeof e!=`object`)return[];let t=C(e),n=w(e);return!t&&!n?[]:[{uid:n||t||`-1`,name:t||`file`,status:`done`,url:n,existing:!0,stored:e}]}var z=e=>e==null||e===``,Ve=e=>String(e).replace(/<[^>]*>/g,``).replace(/ /g,` `).replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).trim(),He=({label:e,message:t,value:n,compare:r,text:i})=>({validator:(a,o)=>z(o)||r(Number(o),Number(n))?Promise.resolve():Promise.reject(Error(t??`${e} ${i} ${n}`))});function Ue(e,t){return n.Rn(e,t)}var We=({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||z(l))return Promise.resolve();let d=i.getFieldValue(Ue(a,u));if(z(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}`))}}),B={noPastDate:({label:e,message:t})=>({validator:(r,i)=>{if(z(i))return Promise.resolve();let a=n.h(i);if(a===null)return Promise.resolve();let o=new Date;return o.setHours(0,0,0,0),a<o.getTime()?Promise.reject(Error(t??`${e} cannot be a past date`)):Promise.resolve()}}),noFutureDate:({label:e,message:t})=>({validator:(r,i)=>{if(z(i))return Promise.resolve();let a=n.h(i);if(a===null)return Promise.resolve();let o=new Date;return o.setHours(23,59,59,999),a>o.getTime()?Promise.reject(Error(t??`${e} cannot be a future date`)):Promise.resolve()}}),minAge:({label:e,message:t,value:r})=>({validator:(e,i)=>{if(z(i))return Promise.resolve();let a=n.h(i);if(a===null)return Promise.resolve();let o=Number(r??18),s=new Date;return s.setFullYear(s.getFullYear()-o),s.setHours(23,59,59,999),a>s.getTime()?Promise.reject(Error(t??`Must be at least ${o} years old`)):Promise.resolve()}}),dateAfterField:({label:e,message:t,value:r,rule:i,form:a,name:o})=>n.f({type:`dateAfterField`,label:e,rule:{...i,value:r??i?.compareField??i?.field,message:t},readSibling:e=>a.getFieldValue(Ue(o,e))}),dateBeforeField:({label:e,message:t,value:r,rule:i,form:a,name:o})=>n.f({type:`dateBeforeField`,label:e,rule:{...i,value:r??i?.compareField??i?.field,message:t},readSibling:e=>a.getFieldValue(Ue(o,e))}),timeAfterField:({label:e,message:t,value:r,rule:i,form:a,name:o})=>({validator:async(s,c)=>{let l=r??i.compareField??i.field;if(!l||z(c))return Promise.resolve();let u=a.getFieldValue(Ue(o,l));if(z(u))return Promise.resolve();let d=n.g(c),f=n.g(u);return d===null||f===null||d>f?Promise.resolve():Promise.reject(Error(t??`${e} must be after ${l}`))}}),timeBeforeField:({label:e,message:t,value:r,rule:i,form:a,name:o})=>({validator:async(s,c)=>{let l=r??i.compareField??i.field;if(!l||z(c))return Promise.resolve();let u=a.getFieldValue(Ue(o,l));if(z(u))return Promise.resolve();let d=n.g(c),f=n.g(u);return d===null||f===null||d<f?Promise.resolve():Promise.reject(Error(t??`${e} must be before ${l}`))}}),greaterThanField:e=>We({...e,compare:(e,t)=>e>=t,text:`must be greater than or equal to`}),strictGreaterThanField:e=>We({...e,compare:(e,t)=>e>t,text:`must be greater than`}),strictLessThanField:e=>We({...e,compare:(e,t)=>e<t,text:`must be less than`}),lessThanOrEqualField:e=>We({...e,compare:(e,t)=>e<=t,text:`must be less than or equal to`}),maxFromField:e=>n.Bn(e),maxFieldWithFallback:({label:e,message:t,value:r,rule:i,form:a,name:o})=>({validator:async(s,c)=>{let l=n.In(r??i.compareFields),u=n.Fn({input:c,compareFields:l,readValue:e=>n.Ln(a,o,e)});return u.ok?Promise.resolve():Promise.reject(Error(t??`${e} must not exceed ${u.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=Ve(r)===``),i?Promise.reject(Error(t??`Mandatory Field`)):Promise.resolve()}}),email:({label:e,message:t})=>n.lr(e,t),unique:({field:e,rule:t,uniqueContext:r})=>n.nr({field:e,validation:t,context:r}),emailTags:({label:e,message:t})=>({validator:(r,i)=>{let a=(Array.isArray(i)?i:[]).find(e=>!n.ur(e));return a?Promise.reject(Error(t??`${e} contains an invalid email: ${a}`)):Promise.resolve()}}),noHtml:({label:e,message:t})=>({validator:(n,r)=>r==null||r===``?Promise.resolve():/<\/?[a-z][\s\S]*>/i.test(String(r))?Promise.reject(Error(t??`${e} cannot contain HTML tags`)):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:e})=>({validator:(t,r)=>{if(r==null||r===``)return Promise.resolve();let{total:i}=n.wi();return n.Ti(r).length===i?Promise.resolve():Promise.reject(Error(e??`Phone number must contain exactly ${i} digits`))}}),minLength3:e=>B.min({...e,value:3}),minLength5:e=>B.min({...e,value:5}),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`?He({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`?Ve(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`?He({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`?Ve(a):String(a);return o===``||o.length<=Number(r)?Promise.resolve():Promise.reject(Error(n??`${t} must not exceed ${r} characters`))}}};function Ge(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=B[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 Ke(e,t){return Array.isArray(e)&&e.length>1?[...e.slice(0,-1),t]:[t]}function qe(e,t,n){return F(e?.req)||(e?.validations??e?.validation??e?.rules??[]).some(e=>(typeof e==`string`?e:e?.type)===`required`)?!0:e?.requiredIfField&&t&&n?F(t.getFieldValue(Ke(n,e.requiredIfField))):!1}function V(e,t,r,i=!1,a=void 0,o=void 0,s=void 0){let c=e.label??e.field??`Field`,l=e.validations??e.validation??e.rules??[],u=l.some(e=>(typeof e==`string`?e:e?.type)===`required`),d=l.some(e=>(typeof e==`string`?e:e?.type)===`email`),f=[];if(s?.length&&f.push(...s),e.rowHierarchy){let i=Xe(t,r);i.rows&&f.push(n.p({field:e,...i}))}!i&&!u&&F(e.req)&&e.disabledByField?f.push({validator:(n,i)=>F(t.getFieldValue(Ke(r,e.disabledByField)))?Promise.resolve():i==null||i===``?Promise.reject(Error(`Mandatory Field`)):Promise.resolve()}):!i&&!u&&e.requiredIfField?f.push({validator:(n,i)=>F(t.getFieldValue(Ke(r,e.requiredIfField)))&&(i==null||i===``)?Promise.reject(Error(`Mandatory Field`)):Promise.resolve()}):!i&&F(e.req)&&!u&&f.push({required:!0,message:`Mandatory Field`}),(e.type===`email`||e.formatter===`email`)&&!d&&f.push(n.lr(c)),e.type===`number`&&f.push(F(e.decimal)?{pattern:/^\d+(\.\d+)?$/,message:`${c} must be a number`}:{pattern:/^[0-9]+$/,message:`${c} must be a number`});let p=n.Ur(e,r,a,n=>Ge(n,e,t,r,a,o));return n.tr([...f,...l.map(p),n.Wr(e)])}function Je(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 Ye(e){let t=e.len??Je(e,`len`),n=e.min??Je(e,`min`),r=e.max??Je(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 Xe(e,t){if(!Array.isArray(t)||t.length<3||typeof t[1]!=`number`)return{};let n=e.getFieldValue(t[0]);return Array.isArray(n)?{rows:n,rowIndex:t[1]}:{}}function Ze(e,t,r){return n.d({field:e,readSibling:e=>t.getFieldValue(Ue(r,e)),...Xe(t,r)})}function Qe(e){return n.m(e)}function $e(e,t){return t?t===`phone`?n.xi(e):t===`digits`?e.replace(/\D/g,``).slice(0,10):t===`email`||t===`noSpaces`?e.replace(/\s/g,``):t===`name`?e.replace(/\s+/g,` `).trimStart().replace(/\b\w/g,e=>e.toUpperCase()):e:e}function et(e=``){let t=String(e).toLowerCase();return t===`job`?`jobs`:t===`candidate`?`candidates`:t===`submissions`?`submission`:t}var tt=new Set([`selectedSource`,`source`,`sourceType`,`scope`]);function nt(e){return e==null?!1:typeof e==`string`?e.trim().length>0:typeof e==`number`?Number.isFinite(e):typeof e==`boolean`?e:u.default.isDayjs(e)?e.isValid():Array.isArray(e)?e.some(nt):typeof e==`object`?`value`in e||`label`in e||`name`in e?nt(e.value??e.label??e.name):Object.entries(e).some(([e,t])=>!tt.has(e)&&nt(t)):!1}function rt(e={}){return Object.entries(e??{}).some(([e,t])=>!tt.has(e)&&nt(t))}function it(e,t,r={},i=``){let a=new FormData;n.Nr(e,t,{scope:`flat`,module:i}).forEach(({formKey:e,file:t})=>{a.append(e,t)});let o={...r,...n.jr(e,t,{module:i})};return o.schemaVersion=1,a.append(`json`,JSON.stringify(o)),a}function at({field:e,form:i,name:a,moduleName:u,value:d,checked:f,onChange:p,scopeValues:m={},onAiUpload:ee,onDuplicateBlur:h,onRegionBlocked:g,onRowOrderChange:_,formDisabled:te,rowFieldKeys:v}){let y=e.type??`text`,b=!Se(e,u),[x,S]=(0,o.useState)(null),[C,w]=(0,o.useState)(!1),[T,ne]=(0,o.useState)(``),[E,re]=(0,o.useState)(``),[ie,ae]=(0,o.useState)(``),[oe,D]=(0,o.useState)(0),[O,se]=(0,o.useState)({open:!1,docs:[],index:0}),[k,A]=(0,o.useState)(null),j=(0,o.useRef)([]),M=Array.isArray(a)&&a.length>=3&&typeof a[1]==`number`,ce=e.lookupFilterValueFrom?I(e.lookupFilterValueFrom):[`__lookup_filter_${e.field}`],le=e.lookupFilterValueFrom&&M?[...a.slice(0,2),...I(e.lookupFilterValueFrom)]:[`__noop_row_filter__`],ue=s.Form.useWatch(ce,i),de=s.Form.useWatch(le,i),fe=z(de)?ue:de,N=e.disabledByField?Array.isArray(a)&&a.length>1?[...a.slice(0,-1),e.disabledByField]:[e.disabledByField]:[`__noop_disabled_watch__`],pe=s.Form.useWatch(N,i),me=e.disabledIf?.field?I(e.disabledIf.field):[`__noop_disabled_if__`],he=e.disabledIf?.field&&M?[...a.slice(0,2),...I(e.disabledIf.field)]:[`__noop_disabled_if_row__`],ge=s.Form.useWatch(me,i),_e=s.Form.useWatch(he,i),P=e.disabledIf?.field?n.r(e.disabledIf,z(_e)?ge:_e):!1,ye=e.optionsFromField||``,be=ye?I(ye):[`__noop_options_from__`],L=ye&&M&&(!v||v.has(ye))?[...a.slice(0,2),...I(ye)]:[`__noop_options_from_row__`],we=s.Form.useWatch(be,i),Te=s.Form.useWatch(L,i),Ee=z(Te)?we:Te,De=F(e.prefillWhenExclusive)&&e.prefillWhen?.length?e.prefillWhen:null,Oe=s.Form.useWatch(e=>De?JSON.stringify(n.wn(De).map(t=>{let n=t=>t.reduce((e,t)=>e==null?e:e[t],e),r=M&&(!v||v.has(t))?n([...a.slice(0,2),...I(t)]):void 0;return(z(r)?n(I(t)):r)??null})):``,{form:i,preserve:!0}),ke=(0,o.useMemo)(()=>{if(!De||!Oe)return null;let e=JSON.parse(Oe),t={};return n.wn(De).forEach((n,r)=>{t[n]=e[r]}),t},[Oe]),Ae=(0,o.useContext)(R),je=e.exclusiveInGroup&&M?[a[0]]:[`__noop_exclusive_watch__`],Me=s.Form.useWatch(je,i),Pe=(0,o.useMemo)(()=>{if(!e.exclusiveInGroup||!M||!Array.isArray(Me))return!1;let t=a[1],n=a[a.length-1];return Me.some((e,r)=>r!==t&&F(e?.[n]))},[e.exclusiveInGroup,M,Me,a]),Fe=e.lookupFilterValueFrom?m[e.lookupFilterValueFrom]:void 0,Ie=z(Fe)?fe:Fe,Le=(0,o.useRef)(n.hn);(0,o.useEffect)(()=>{if(!e.lookupFilterField||!e.lookupFilterValueFrom)return;let t=Le.current;Le.current=Ie,n.gn({previous:t,next:Ie,currentValue:i.getFieldValue(a)})&&i.setFields([{name:a,value:void 0,errors:[]}])},[Ie]);let Re=e.locationCountryFrom?I(e.locationCountryFrom):[`__noop_loc_country__`],ze=e.locationCountryFrom&&M?[...a.slice(0,2),...I(e.locationCountryFrom)]:[`__noop_loc_country_row__`],Be=s.Form.useWatch(Re,i),Ve=s.Form.useWatch(ze,i),He=z(Ve)?Be:Ve,Ue=e.locationStateFrom?I(e.locationStateFrom):[`__noop_loc_state__`],We=e.locationStateFrom&&M?[...a.slice(0,2),...I(e.locationStateFrom)]:[`__noop_loc_state_row__`],B=s.Form.useWatch(Ue,i),Ge=s.Form.useWatch(We,i),Ke=z(Ge)?B:Ge,qe=e.dataSource===`locationMaster`&&(e.locationLevel===`state`&&z(He)||e.locationLevel===`city`&&(z(He)||z(Ke))),V=b||!!e.disabled||P||(e.disabledByField?F(pe):!1)||!!te||Ae||Pe||qe;(0,o.useEffect)(()=>{if(y===`location`){let n=!1;w(!0);async function r(){try{let r=new URLSearchParams({search:T,limit:String(e.limit??50),offset:`0`}),i=await t.o(t.S,`/admin/location-dropdown-values?${r}`),a=i?.data??i??[];n||S(Ce(Array.isArray(a)?a:[]))}catch(t){console.error(`[AddFormV1] Failed to fetch locations for "${e.field}":`,t),n||S([])}finally{n||w(!1)}}return r(),()=>{n=!0}}let r=e.dataSource;if(![`select`,`radio`,`checkbox`].includes(y)||!r||r===`static`)return;if(r===`lookup`&&e.lookupFilterField&&z(Ie)){S([]),w(!1);return}if(r===`lookup`&&e.lookupMinSearchLength&&E.trim().length<e.lookupMinSearchLength){S([]),w(!1);return}let i=!1;w(!0);async function a(){try{let a=[];if(r===`master`||r===`module`)a=await n.ri(u,e.field,r===`master`?ie:``,e.limit??50,0,{dataSource:r,masterName:e.masterName,groupName:e.groupName});else if(r===`lookup`){let r=new URLSearchParams({collection:e.lookupCollection??``,displayField:e.displayField??``,valueField:e.valueField??`_id`});e.displayField2&&r.set(`displayField2`,e.displayField2),E&&r.set(`search`,E),e.lookupFilterField&&!z(Ie)&&(r.set(`filterField`,e.lookupFilterField),r.set(`filterValue`,String(Ie))),Array.isArray(e.filters)&&e.filters.length>0&&r.set(`filters`,JSON.stringify(e.filters));let i={field:e.field,extraFields:e.extraFields,optionsRequireExtraField:e.optionsRequireExtraField,optionsRequireExtraValue:e.optionsRequireExtraValue,optionsHierarchyParentField:e.optionsHierarchyParentField,optionsHierarchySelfFrom:e.optionsHierarchySelfFrom},o=n.xn(i);o=n.yn(e,o),o.length&&r.set(`extraFields`,o.join(`,`));let s=await t.o(t.S,`/admin/lookup-dropdown-values?${r}`);a=s?.data??s??[],a=n.vn(a,e,Ie,{source:`AddFormV1`}),a=n.bn(a,i,{source:`AddFormV1`})}else if(r===`locationMaster`){let n=e.locationLevel||`country`;if(n===`state`&&z(He))a=[];else if(n===`city`&&(z(He)||z(Ke)))a=[];else{let r=new URLSearchParams({level:n,limit:String(e.limit??250),offset:`0`});z(He)||r.set(`country`,String(He)),z(Ke)||r.set(`state`,String(Ke)),E&&r.set(`search`,E);let i=await t.o(t.S,`/admin/location-dropdown-values?${r}`);a=i?.data??i??[]}}else if(r===`group`){let n=(e.groupName??``).toLowerCase().trim();if(n===`users`||n===`user`){let n=await t.o(t.S,`/get-all-users?limit=500&offset=0`),r=n?.data?.users??n?.users??n?.data??[],i=String(e.groupRoleContains??``).trim().toLowerCase(),o=i?Array.isArray(r)?r.filter(e=>String(e.roleName??``).toLowerCase().includes(i)):[]:r;a=Array.isArray(o)?o.map(e=>({label:[e.firstName,e.lastName].filter(Boolean).join(` `).trim()||e.userName||e.email||String(e.userId),value:e.userId??e.id})):[]}}i||(j.current=Array.isArray(a)?a:[],S(Ce(j.current)))}catch(t){console.error(`[AddFormV1] Failed to fetch options for "${e.field}":`,t),i||S([])}finally{i||w(!1)}}return a(),()=>{i=!0}},[y,e.dataSource,e.field,e.limit,e.lookupCollection,e.displayField,e.displayField2,e.valueField,e.lookupFilterField,Ie,e.groupName,e.groupRoleContains,e.masterName,T,E,ie,u,e.extraFields,e.optionsRequireExtraField,e.optionsRequireExtraValue,e.optionsHierarchyParentField,e.optionsHierarchySelfFrom,oe,e.lookupMinSearchLength,e.locationLevel,e.locationCountryFrom,e.locationStateFrom,He,Ke]);let Je=Ce(e.options??e.values??[]),Xe=x??Je,[et,tt]=(0,o.useState)([]),nt=n.y(d,Xe).join(`,`);(0,o.useEffect)(()=>{if(!nt||e.dataSource!==`lookup`||C)return;let t=!1;return n._(e,nt.split(`,`)).then(e=>{t||tt(e)}).catch(()=>{t||tt([])}),()=>{t=!0}},[nt,e.dataSource,e.lookupCollection,e.displayField,e.displayField2,e.valueField,C]);let rt=n.v(Xe,et),it=ye?n.Sn(rt,Ee):rt,at=De?n.Cn(it,De,ke??{}):it,ot=(e.multiSelect?`multiple`:e.mode??(F(e.multiple)?`multiple`:void 0))??(n.Pr(e)===`array`?`multiple`:void 0),st=F(e.allowCustomValues),ct=st?`tags`:ot,lt=!!e.multiSelect||F(e.multiple)||n.Pr(e)===`array`||ot===`multiple`,ut=st?typeof e.tokenSeparators==`string`&&e.tokenSeparators?e.tokenSeparators.split(``):[`,`]:void 0,dt=[`select`,`location`].includes(y),H=e.hidePlaceholder?void 0:e.placeholder??`${dt?`Select`:`Enter`} ${String(e.label??``).toLowerCase()}`,ft=Ye(e),U=e=>{p?.(e),setTimeout(()=>{i.validateFields([a]).catch(()=>{})},0)},pt=n.Hn({field:e,form:i,name:a,moduleName:u,scopeValues:m,ownValue:d,onDone:(t,r)=>{D(e=>e+1);let o=n.Pr(e)!==`array`&&!e.multiSelect&&!e.multiple;t===`create`&&r!=null&&o&&((e.clearGroupOnChange||e.linkedClearField)&&n.b(i,e,a,v),U(n.Br(e)?{value:r}:r))}}),W=e.validator?.type?{...e.validator,title:e.validator.title||e.label||`Field`}:null,G={...ft,disabled:V,placeholder:H,prefix:e.icon?null:xe[e.field],value:d??``,onChange:t=>{let r=e.formatter?$e(t.target.value,e.formatter):t.target.value;if(W){let{cleaned:e,error:t}=n.sr(r,W,`change`);A(t),r=e}U(r)},onBlur:t=>{if(W){let{cleaned:e,error:r}=n.sr(t.target.value,W,`blur`);A(r),e!==t.target.value&&U(e)}e.checkDuplicateOnBlur&&String(t.target.value??``).trim()&&h?.(e)},...W&&{onKeyPress:e=>{let t=n.cr(W.type);if(!t||e.which===0||e.keyCode===8||e.keyCode===13)return;let r=String.fromCharCode(e.which??e.keyCode);if(!t.test(r)){e.preventDefault();let t=`${W.title} — invalid character.`;A(t),setTimeout(()=>A(e=>e===t?null:e),1800)}},maxLength:W.maxLength??ft.maxLength}};if(y===`tagify`)return(0,l.jsx)(s.Select,{value:d,allowClear:!0,disabled:V,mode:`tags`,placeholder:H,onChange:U});if(y===`location`)return(0,l.jsx)(s.Select,{value:d,allowClear:!0,showSearch:!0,filterOption:!1,disabled:V,loading:C,mode:ot,options:at,placeholder:H,notFoundContent:C?(0,l.jsx)(s.Spin,{size:`small`}):void 0,onSearch:ne,onFocus:()=>ne(e=>e),onChange:U});if(y===`select`){let t=e.dataSource===`lookup`,r=e.dataSource===`master`,o=t||r,c=n.Br(e),u=n.zr(e,d,at),f=st&&!lt?u==null||u===``?void 0:Array.isArray(u)?u:[u]:u;return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(s.Select,{value:f,labelInValue:c||void 0,allowClear:!0,showSearch:e.showSearch!==!1,optionFilterProp:`label`,filterOption:!o&&void 0,disabled:V,loading:C,mode:ct,tokenSeparators:ut,options:at,placeholder:H,notFoundContent:C?(0,l.jsx)(s.Spin,{size:`small`}):void 0,onSearch:t?re:r?ae:void 0,onChange:t=>{let r=st&&!lt&&Array.isArray(t)?t.length?t[t.length-1]:void 0:t;if(U(r),(e.clearGroupOnChange||e.linkedClearField)&&n.b(i,e,a,v),e.autofillFrom?.length){let t=r&&!Array.isArray(r)&&typeof r==`object`?r.value:r,n=Array.isArray(a)&&a.length>=3&&typeof a[1]==`number`;if(r==null)e.autofillFrom.forEach(({targetField:e})=>{let t=n?[...a.slice(0,2),...I(e)]:I(e);i.setFieldValue(t,null)});else if(j.current.length>0){let r=e.valueField??`_id`,o=j.current.find(e=>Ne(e,r)===t||e._id===t||e.id===t||e.value===t);o&&e.autofillFrom.forEach(({optionKey:e,targetField:t})=>{let r=Ne(o,e)??o.extraData?.[e]??null,s=n?[...a.slice(0,2),...I(t)]:I(t);i.setFieldValue(s,r)})}}},dropdownRender:pt.footer?e=>(0,l.jsxs)(l.Fragment,{children:[e,pt.footer]}):void 0}),pt.modal]})}if(y===`radio`)return(0,l.jsx)(s.Radio.Group,{value:d,disabled:V,options:at,onChange:e=>U(e.target.value)});if(y===`checkbox`)return at.length>0?(0,l.jsx)(s.Checkbox.Group,{value:d,disabled:V,options:at,onChange:U}):(0,l.jsx)(s.Checkbox,{checked:!!(f??d),disabled:V,onChange:t=>{let n=t.target.checked;if(!(n&&g?.(e))&&(U(n),n&&_?.(e,a),e.linkedClearField&&n)){let t=Array.isArray(a)&&a.length>1?[...a.slice(0,-1),e.linkedClearField]:[e.linkedClearField];i.setFieldValue(t,null)}},children:e.checkboxLabel??e.label});if(y===`text-editor`)return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(n.oi,{value:d??i.getFieldValue(a)??``,disabled:V,placeholder:H,onChange:e=>{if(W){let{error:t}=n.sr(e,W,`change`);A(t)}U(e)}}),k&&(0,l.jsx)(`div`,{className:`v1-input-validator-hint`,children:k})]});if(y===`textarea`)return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(ve,{...G,rows:e.rows??3,className:`v1-scroll-textarea`}),k&&(0,l.jsx)(`div`,{className:`v1-input-validator-hint`,children:k})]});if(y===`date`)return(0,l.jsx)(s.DatePicker,{disabled:V,placeholder:H,style:{width:`100%`},suffixIcon:(0,l.jsx)(c.CalendarOutlined,{}),value:d??null,disabledDate:Ze(e,i,a),defaultPickerValue:Qe(e),onChange:t=>{U(t),_?.(e,a)}});if(y===`time`)return(0,l.jsx)(s.TimePicker,{disabled:V,placeholder:H,style:{width:`100%`},value:d??null,onChange:e=>U(e)});if(y===`file`){let t=e.validations??e.validation??e.rules??[],i=t.find(e=>(typeof e==`string`?e:e?.type)===`fileType`),a=t.find(e=>(typeof e==`string`?e:e?.type)===`fileSize`),o=t.find(e=>(typeof e==`string`?e:e?.type)===`maxFiles`),u=n.Yn(e),f=u?u.exts.map(e=>`.${e}`).join(`,`):i?.value?i.value.split(`,`).map(e=>`.${e.trim().replace(/^\./,``)}`).join(`,`):void 0,p=a?Number(a?.value??5):void 0,m=o?Number(o?.value??1):F(e.multiple)?e.maxCount??5:1,h=Array.isArray(d)?d:[],g=h.length<m,_=e=>e?e<1048576?`${(e/1024).toFixed(0)} KB`:`${(e/1024/1024).toFixed(2)} MB`:``,te=e=>{let t=String(e??``).split(`.`).pop()?.toLowerCase();return t===`pdf`?(0,l.jsx)(c.FilePdfOutlined,{className:`v1-file-type-icon v1-file-icon-pdf`}):[`doc`,`docx`].includes(t)?(0,l.jsx)(c.FileWordOutlined,{className:`v1-file-type-icon v1-file-icon-word`}):[`xls`,`xlsx`,`csv`].includes(t)?(0,l.jsx)(c.FileExcelOutlined,{className:`v1-file-type-icon v1-file-icon-excel`}):[`jpg`,`jpeg`,`png`,`gif`,`svg`,`webp`].includes(t)?(0,l.jsx)(c.FileImageOutlined,{className:`v1-file-type-icon v1-file-icon-image`}):(0,l.jsx)(c.FileOutlined,{className:`v1-file-type-icon v1-file-icon-default`})},v=e=>{U(h.filter((t,n)=>n!==e))},y=(e,t)=>{let n=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);se({open:!0,docs:n,index:t??0})},b=m>1,x=m-h.length,S=[u?u.hint:f?f.split(`,`).map(e=>e.replace(`.`,``).toUpperCase()).join(`, `):null,p?`up to ${p} MB`:null].filter(Boolean).join(` `),C=b&&h.length>0?[S,`${x} of ${m} remaining`].filter(Boolean).join(` • `):S,w=h.length>0?`Add ${b?`more files`:`file`}`:e.buttonLabel??`Upload ${e.label??`File`}`,T=e=>{if(h.length>=m)return s.Upload.LIST_IGNORE;if(f){let t=(e.name.split(`.`).pop()??``).toLowerCase();if(!f.split(`,`).map(e=>e.replace(/^\./,``).toLowerCase()).includes(t))return s.message.error(u?u.error:i?.message??`Only ${i.value} files are allowed`),s.Upload.LIST_IGNORE}return p!==void 0&&e.size/1024/1024>p&&(s.message.error(a?.message??`File must be smaller than ${p} MB`),s.Upload.LIST_IGNORE)},ne=({fileList:e})=>{let t=e.slice(0,m);if(U(t),ee&&t.length>h.length){let e=t[t.length-1];e?.originFileObj&&ee(e.originFileObj)}},E={accept:f,fileList:h,showUploadList:!1,multiple:!0,maxCount:m,beforeUpload:T,onChange:ne,disabled:V},re=h.map((e,t)=>(0,l.jsxs)(`div`,{className:`v1-file-item`,children:[(0,l.jsx)(`div`,{className:`v1-file-item-icon`,children:te(e.name)}),(0,l.jsxs)(`div`,{className:`v1-file-item-info`,children:[(0,l.jsx)(`span`,{className:`v1-file-item-name`,title:e.name,children:e.name}),(0,l.jsx)(`span`,{className:`v1-file-item-meta`,children:e.existing?`Previously uploaded`:`${_(e.size)}${e.size?` • `:``}Uploaded just now`})]}),(0,l.jsxs)(s.Space,{size:6,className:`v1-file-item-actions`,children:[(0,l.jsx)(s.Button,{size:`small`,icon:(0,l.jsx)(c.EyeOutlined,{}),onClick:()=>y(e,t),className:`v1-file-view-btn`,children:`View`}),(0,l.jsx)(s.Button,{size:`small`,danger:!0,icon:(0,l.jsx)(c.DeleteOutlined,{}),onClick:()=>v(t),className:`v1-file-delete-btn`})]})]},e.uid??t)),ie=(0,l.jsx)(r.t,{documents:O.docs,open:O.open,onClose:()=>se(e=>({...e,open:!1})),initialIndex:O.index});if(b){let t=h.length>0?`Upload more ${e.label??`files`}`:e.buttonLabel??`Upload ${e.label??`File`}`;return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)(`div`,{className:`v1-file-upload-wrapper`,children:[g&&(0,l.jsx)(s.Upload,{...E,style:{width:`100%`,display:`block`},children:(0,l.jsxs)(`div`,{className:`v1-upload-dropzone v1-upload-dropzone-center${V?` v1-upload-dropzone-disabled`:``}`,children:[(0,l.jsxs)(`div`,{className:`v1-upload-dropzone-title-row`,children:[(0,l.jsx)(c.CloudUploadOutlined,{className:`v1-upload-cloud-icon v1-upload-cloud-icon-sm`}),(0,l.jsx)(`span`,{className:`v1-upload-dropzone-title v1-upload-dropzone-title-blue`,children:t})]}),(0,l.jsx)(`span`,{className:`v1-upload-dropzone-sub`,children:`Drag & drop or click to upload`}),S&&(0,l.jsx)(`span`,{className:`v1-upload-dropzone-sub`,children:S})]})}),h.length>0&&(0,l.jsx)(`div`,{className:`v1-file-grid`,children:re}),g&&h.length>0&&(0,l.jsx)(s.Upload,{...E,style:{display:`inline-block`},children:(0,l.jsx)(s.Button,{type:`link`,size:`small`,icon:(0,l.jsx)(c.PlusOutlined,{}),className:`v1-add-more-files-btn`,children:`Add more files`})})]}),ie]})}return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)(`div`,{className:`v1-file-upload-wrapper`,children:[h.length>0&&(0,l.jsx)(`div`,{className:`v1-file-rows-single`,children:re}),g&&(0,l.jsx)(s.Upload,{accept:f,fileList:h,showUploadList:!1,multiple:!1,maxCount:1,beforeUpload:T,onChange:ne,disabled:V,style:{width:`100%`,display:`block`},children:(0,l.jsxs)(`div`,{className:`v1-upload-dropzone v1-upload-dropzone-single${V?` v1-upload-dropzone-disabled`:``}`,children:[(0,l.jsx)(c.CloudUploadOutlined,{className:`v1-upload-cloud-icon`}),(0,l.jsx)(`span`,{className:`v1-upload-dropzone-title`,children:w}),C&&(0,l.jsxs)(`span`,{className:`v1-upload-dropzone-sub`,children:[`— `,C]})]})})]}),ie]})}return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(s.Input,{...G,type:y===`number`?`number`:y,...y===`number`&&F(e.decimal)?{step:`any`}:{},...e.suffix?{suffix:e.suffix}:{}}),k&&(0,l.jsx)(`div`,{className:`v1-input-validator-hint`,children:k})]})}function ot({icon:e,title:t}){return(0,l.jsxs)(s.Space,{size:10,align:`center`,children:[(0,l.jsx)(`div`,{className:`v1-section-icon-box`,children:e}),(0,l.jsx)(P,{strong:!0,className:`v1-section-label`,children:t})]})}function st({field:e,label:t,locked:r}){if(!t)return t;let i=n._n(e),a=!!i;return!a&&!r?t:(0,l.jsxs)(`span`,{className:`v1-field-label-with-info`,children:[(0,l.jsx)(`span`,{children:t}),a&&(0,l.jsx)(s.Tooltip,{title:i,children:(0,l.jsx)(c.InfoCircleOutlined,{className:`v1-field-info-icon`})}),r&&(0,l.jsx)(s.Tooltip,{title:`You don't have permission to edit this field`,children:(0,l.jsx)(c.LockOutlined,{className:`v1-field-info-icon`})})]})}function ct({group:e}){return!F(e?.infoEnabled)||z(e?.infoText)?null:(0,l.jsx)(P,{type:`secondary`,className:`v1-group-info-message`,children:e.infoText})}function lt({group:e}){return!F(e?.toggleEnabled)||z(e?.toggleField)?null:(0,l.jsxs)(s.Space,{size:6,align:`center`,onClick:e=>e.stopPropagation(),children:[(0,l.jsx)(P,{type:`secondary`,className:`v1-combine-toggle-label`,children:e.toggleLabel||`Toggle`}),(0,l.jsx)(s.Form.Item,{name:e.toggleField,valuePropName:`checked`,initialValue:!!e.toggleValue,noStyle:!0,children:(0,l.jsx)(s.Switch,{size:`small`})})]})}function ut(e,t){let n=t;if(Array.isArray(n)&&(n=n[n.length-1]),n&&typeof n==`object`){let e=new Set([`timestamp`,`updatedBy`,`updatedAt`,`createdAt`,`createdBy`,`_id`]),t=Object.entries(n).filter(([t,n])=>!e.has(t)&&n!=null&&n!==``&&typeof n!=`object`).map(([,e])=>String(e).trim()).filter(Boolean);if(!t.length)return``;n=t.join(` `)}let r=String(n??``).trim();if(!r)return``;let i=String(e?.prefillHintLabel??`Last recorded: {value}`);return i.includes(`{value}`)?i.replace(`{value}`,r):`${i} ${r}`}function dt(e,t){let n=e?.helpText,r=(Array.isArray(n)?n:[n]).map(e=>e==null?``:String(e).trim()).filter(Boolean);if(t&&r.push(t),r.length)return(0,l.jsx)(`span`,{className:`v1-field-help-text`,children:r.map((e,t)=>(0,l.jsx)(P,{type:`secondary`,className:`v1-field-help-line`,children:e},t))})}var H=(0,o.forwardRef)(function({moduleName:e,action:r,authToken:i,clientId:u,region:p,formGroups:m,loading:ee=!1,error:h=``,breadcrumbItems:g=[],formType:_=`add`,submitText:te,cancelPath:v=`/candidates`,onSubmit:b,wizardAdapter:x=null,wizardAdapterProps:S=null,initialRecord:C=null,initialValues:w=null,prefillFromUrl:T=!1,extraPayload:ne=null,presetClientId:E=null,listViewProps:ae={},selectedScope:oe=``,searchActionContext:D=null,embedded:k=!1,onSuccess:A=null,onCancel:j=null,wizard:M,hideFooter:ce=!1,uniqueCheckDebounceMs:le=0},de){let fe=C??w;(0,o.useEffect)(()=>(i&&t._(i),()=>{i&&t.r()}),[i]);let N=_===`search`,_e=te??(N?`Search`:`Create`),ve=(0,d.useNavigate)(),xe=(0,d.useLocation)(),Se=(0,o.useRef)(null),Ce=(0,o.useRef)(null),I=(0,d.useParams)(),[L]=(0,d.useSearchParams)(),[R]=s.Form.useForm(),[Ve,He]=(0,o.useState)(0);(0,o.useImperativeHandle)(de,()=>({submit:()=>R.submit(),validate:()=>R.validateFields(),getValues:()=>R.getFieldsValue(!0),reset:()=>R.resetFields()}),[R]);let We=Array.isArray(m)?m:null,B=We?null:e,Ge=s.Form.useWatch([],R),[Ke,Je]=(0,o.useState)(!1),[Ye,Xe]=(0,o.useState)({}),[Ze,Qe]=(0,o.useState)([]),[$e,tt]=(0,o.useState)(!!B),[nt,H]=(0,o.useState)(``),[ft,U]=(0,o.useState)(``),[pt,W]=(0,o.useState)(!1),[G,mt]=(0,o.useState)({searched:!1,rows:[],total:0,fields:[],actions:[],actionRules:[],loading:!1}),[K,ht]=(0,o.useState)({current:1,pageSize:10}),[gt,_t]=(0,o.useState)({}),[q,vt]=(0,o.useState)(`internal`),[yt,bt]=(0,o.useState)([]),[xt,St]=(0,o.useState)({}),[Ct,wt]=(0,o.useState)([]),[Tt,Et]=(0,o.useState)(u??``),[Dt,Ot]=(0,o.useState)(p??``),[kt,At]=(0,o.useState)(null),[jt,Mt]=(0,o.useState)(!1),[Nt,Pt]=(0,o.useState)(null),[Ft,It]=(0,o.useState)(()=>new Set),Lt=B?Ze:m??ye,Rt=B?$e:ee,zt=B?nt:h,[Bt,Vt]=(0,o.useState)(``),Ht=I?.jobId&&I.jobId!==`_`?I.jobId:L.get(`jobId`)||``;(0,o.useEffect)(()=>{if(We||u||E||!Ht)return;let e=!1;return(async()=>{try{let t=Re(Fe(await a.r({module:`jobs`,id:Ht})))??{},n=t.clientId??t.client??``,r=n&&typeof n==`object`?n.id??n.value??``:n;!e&&r&&Vt(String(r))}catch(e){console.error(`Client-scope resolve from job failed:`,e)}})(),()=>{e=!0}},[We,u,E,Ht]);let J=u||E||Bt||Tt,Ut=p||Dt;(0,o.useEffect)(()=>{n.Ci()},[]),(0,o.useEffect)(()=>{let e=!1;return queueMicrotask(()=>{if(!e){if(!B){Pt(null);return}n.Ta({roleId:localStorage.getItem(`roleId`)},B,{clientId:J,region:Ut}).then(t=>{e||Pt(Array.isArray(t)&&t.length?t:null)}).catch(()=>{e||Pt(null)})}}),()=>{e=!0}},[B,J,Ut]),(0,o.useEffect)(()=>{let e=!1;return queueMicrotask(()=>{if(!e){if(!B){It(new Set);return}n.xa(B).then(t=>{e||It(new Set(Array.isArray(t)?t:[]))}).catch(()=>{e||It(new Set)})}}),()=>{e=!0}},[B]);let Y=(0,o.useMemo)(()=>Ie(Lt,e,Nt,Ft),[Lt,e,Nt,Ft]),Wt=(0,o.useMemo)(()=>Le(Lt,Y,Nt),[Lt,Y,Nt]),Gt=(0,o.useMemo)(()=>Wt.filter(e=>!e.showIf?.field||Ae(e.showIf,Ne(Ge??{},e.showIf.field))),[Wt,Ge]),X=(0,o.useMemo)(()=>n.rn(Gt),[Gt]),Kt=n.in(Wt),Z=!N&&(typeof M==`boolean`?M:Kt),Q=Math.min(Ve,Math.max(0,X.length-1)),qt=Z&&X.at(-1)?.content?.type===`success`?X.length-1:-1,Jt=Q===qt,Yt=Q+1===qt,Xt=e=>{He(e),Xe({})},Zt=()=>$.next(),Qt=e=>$n($.prepareSubmitValues(n.on(R.getFieldsValue(!0),e))),$t=e=>{Xe({});let t=Z?n.cn(X,e?.errorFields?.[0]?.name):-1;if(Z&&$.onSubmitFailed(e,t),t>=0&&t!==Q){He(t),requestAnimationFrame(()=>n.c(e,R));return}n.c(e,R)},[en,tn]=(0,o.useState)(0),nn=n.$n(le),rn=nn>0,an=(0,o.useMemo)(()=>rn?n.Qn(n.Zn):n.Zn,[rn]),on=(0,o.useMemo)(()=>n.ir({checkFieldUnique:an,onPendingChange:tn}),[an]),sn=(0,o.useMemo)(()=>N?void 0:{checker:on,module:e,clientId:J||void 0,region:Ut||void 0},[N,on,e,J,Ut]),cn=(0,o.useMemo)(()=>n.rr(Y),[Y]),ln=(0,o.useMemo)(()=>n.Dr(Y),[Y]),un=(0,o.useRef)({}),dn=(0,o.useRef)(null),fn=(0,o.useMemo)(()=>Y.flatMap(e=>e.formActions??[]),[Y]),pn=(0,o.useMemo)(()=>Fe(Lt).find(e=>e?.duplicateCheck)?.duplicateCheck??{},[Lt]),mn=y({form:R,moduleName:e,config:pn,onUseExisting:(0,o.useCallback)((t,r,i,a)=>{if(!t)return;let o=r?.editRoute||pn?.editRoute;if(!o){console.warn(`[duplicate-check] ${e}: no editRoute configured, so the existing record was not opened. Set it in Admin → Automations → "Check for someone already on file" → "Where to open the existing record".`);return}let s=n.fn(o,t,{});s&&ve(s,{state:{fromDuplicate:!0,carryFiles:a?.files??null}})},[pn,ve])}),hn=n.pr({form:R,groups:Y,module:e,onParsed:(0,o.useCallback)(async({field:e,payload:t})=>{let n=e?.field,r=n?{files:{[n]:R.getFieldValue(n)}}:null,i=await mn.prompt({reason:`upload`,payload:t,carry:r});return i===`clear`||(n&&(R.setFieldValue(n,[]),s.message.info(i===`existing`?`Résumé moved to their record.`:`Résumé removed — nothing on this form was filled in.`)),`abort`)},[mn,R]),onApplied:(0,o.useCallback)(async()=>{await mn.prompt({reason:`upload`})},[mn])}),gn=(0,o.useCallback)(e=>{let t=n.Si().region,r=Y.find(t=>(t.fields??[]).some(t=>t.field===e.field));if(!r)return!1;let i=n.k(r,t),a=i.orderBy?.inProgressField??`currentStudyingHere`;if(e.field!==a||n.C(i))return!1;let o=n.w(i);return n.Er({tone:o?`duplicate`:`overwrite`,title:o?`This has to be completed first`:`You can add this, but they cannot be submitted`,facts:[{label:`Region`,value:t||`Common`},{label:`Entry`,value:r.label??r.name}],body:n.T(i),okText:o?`Got it`:`Keep it anyway`}),o},[Y]),_n=(0,o.useCallback)((e,t)=>{let r=Y.find(e=>e.name===t);if(!r)return;let i=n.k(r,n.Si().region),a=i.orderBy?.inProgressField??`currentStudyingHere`;if(e.field!==a)return;let o=n.x(i);return o?[o]:void 0},[Y]),vn=(0,o.useCallback)(async(e,t)=>{if(!Array.isArray(t)||t.length<3||typeof t[1]!=`number`)return;let r=t[0],i=t[1],a=Y.find(e=>e.name===r);if(!a)return;let o=n.k(a,n.Si().region);if(!o.orderBy)return;await Promise.resolve();let s=R.getFieldValue(r);Array.isArray(s)&&await n.O({group:o,rows:s,rowIndex:i,move:un.current[r]?.move,confirm:({title:e,body:t,okText:r,cancelText:i,from:a,to:o})=>n.Tr({tone:`suggestion`,title:e,facts:[{label:`This entry is at`,value:`Row ${a+1}`},{label:`It belongs at`,value:`Row ${o+1}`}],body:t,okText:r,cancelText:i})})},[Y,R]),yn=(0,o.useRef)(!1),bn=(0,o.useCallback)(async()=>{if(!yn.current){yn.current=!0;try{await mn.prompt({reason:`blur`})}finally{yn.current=!1}}},[mn]),[xn,Sn]=(0,o.useState)(`list`),Cn=N&&!rt(Ge),{hasClientScope:wn,clientGateMessage:Tn,clientGateResetOnChange:En}=(0,o.useMemo)(()=>{let e=Fe(Lt).flatMap(e=>e.fields??[]).find(e=>F(e.clientScope));return e?{hasClientScope:!0,clientGateMessage:e.clientGateMessage||``,clientGateResetOnChange:F(e.clientGateResetOnChange)}:{hasClientScope:!1,clientGateMessage:``,clientGateResetOnChange:!1}},[Lt]),Dn=e=>{if(En){R.resetFields();let e=R.getFieldsValue(!0);R.setFieldsValue(Object.fromEntries(Object.keys(e).map(e=>[e,void 0]))),mt({searched:!1,rows:[],total:0,fields:[],loading:!1}),ht({current:1,pageSize:10})}Et(e??``)},On=wn&&!J,kn=(0,o.useCallback)(()=>n.qi({limit:200}).then(wt).catch(()=>wt([])),[]);(0,o.useEffect)(()=>{!wn||E||Bt||kn()},[wn,E,Bt,kn]);let An=n.Hn({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:e,scopeValues:{},ownValue:J,onDone:(e,t)=>{kn(),e===`create`&&t!=null&&Dn(String(t))}});(0,o.useEffect)(()=>{if(!B)return;let t=!1;async function i(){try{tt(!0),H(``);let i=N?await n.oa(e,`search`,r):await a.r({module:e,action:r,clientId:J,region:Ut});t||(Qe(Fe(N?i?.[0]:i)),N&&U(i?.[0]?.label||``))}catch(n){console.error(`Failed to fetch ${e} form groups:`,n),t||H(n?.message||`Failed to fetch form groups`)}finally{t||tt(!1)}}return i(),()=>{t=!0}},[B,e,r,N,J,Ut]);let jn=(0,o.useMemo)(()=>{if(!T)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}},[T,L,I]);(0,o.useEffect)(()=>{let e=jn?.source;if(!e)return;let t=!1;async function n(){try{Mt(!0);let n=await a.r({module:e.module,id:e.id});t||At(Fe(n))}catch(e){console.error(`Failed to fetch prefill data:`,e),t||At([])}finally{t||Mt(!1)}}return n(),()=>{t=!0}},[jn]);let Mn=(0,o.useMemo)(()=>kt?Object.fromEntries(kt.filter(e=>e.addRow&&Array.isArray(e.rows)&&e.rows.length>0).map(e=>[e.payloadKey||e.name,e.rows])):{},[kt]),Nn=(0,o.useMemo)(()=>Re(kt),[kt]),Pn=(0,o.useMemo)(()=>{let e=new Set;return Y.forEach(t=>(t.fields??[]).forEach(t=>{t.prefillFromModule&&e.add(et(t.prefillFromModule))})),[...e]},[Y]),[Fn,In]=(0,o.useState)({});(0,o.useEffect)(()=>{let e=jn?.linkage;if(!e||Pn.length===0)return;let t=!1;return Pn.forEach(async r=>{let i=n.kn(r,e);if(i)try{let e=Re(Fe(await a.r({module:r,id:i})));!t&&e&&In(t=>({...t,[r]:e}))}catch(e){console.error(`Context prefill fetch failed for ${r}:`,e)}}),()=>{t=!0}},[Pn,jn]);let Ln=(0,o.useMemo)(()=>{let e=fe??Nn;if(!e&&Object.keys(Fn).length===0)return{};let t={};return Y.forEach(n=>{n.addRow||(n.fields??[]).forEach(n=>{if(!n.field||!F(n.prefillAsHint)||F(n.addRow))return;let r=n.prefillFromModule?Fn[et(n.prefillFromModule)]:e;if(!r)return;let i=ze(r,n);if(i==null)return;let a=ut(n,i);a&&(t[n.field]=a)})}),t},[fe,Nn,Fn,Y]);(0,o.useEffect)(()=>{let e=fe??Nn;if(!e&&Object.keys(Fn).length===0||Rt||Y.length===0)return;let t={};Y.forEach(r=>{if(r.toggleEnabled&&r.toggleField&&e){let n=ze(e,{field:r.toggleField});n!=null&&(t[r.toggleField]=!!n)}r.addRow||(r.fields??[]).forEach(r=>{if(!r.field||F(r.addRow))return;let i=r.prefillFromModule?Fn[et(r.prefillFromModule)]:e;if(!i)return;let a=ze(i,r);if(a!=null&&!F(r.prefillAsHint)){if(r.type===`file`){let e=Be(a);e.length>0&&n._r(t,r.field,e)}else n._r(t,r.field,n.Ar(r,a))}})}),Object.keys(t).length>0&&R.setFieldsValue(t)},[fe,Nn,Fn,Rt,Y,R]),(0,o.useEffect)(()=>{let e=xe?.state?.relevantSkillsToken,t=xe?.state?.relevantSkillsInputs,n=t?.jobId??jn?.linkage?.jobId??``,r=t?.applicantId??t?.candidateId??jn?.linkage?.applicantId??``;if(!(e||t)||Rt||Y.length===0)return;let i=Y.filter(e=>F(e.addRow)&&e.skillMatchField);if(i.length===0)return;let a=e||`inputs:${n}:${r}`,o;if(Se.current===a&&Ce.current?o=Ce.current:(o=e?re(e):void 0,(!o||typeof o.then!=`function`)&&n&&r&&(o=ie({jobId:n,applicantId:r}).catch(()=>[])),Se.current=a,Ce.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}},[xe?.state?.relevantSkillsToken,xe?.state?.relevantSkillsInputs,jn?.linkage?.jobId,jn?.linkage?.applicantId,Rt,Y,R]);let Rn={...wn&&J?{clientId:J}:{},...jn?.linkage??ne??{}},zn=!On&&!Rt&&(!jn?.source||kt!==null&&!jt),$=n.M({enabled:Z&&!x&&zn,steps:X,current:Q,setCurrent:Xt,form:R,moduleName:e,groups:Y,validationNames:n.ln,onValidationFailed:e=>n.c(e,R)}),Bn=e=>{let t=e.prefillFrom||e.payloadKey||e.name,r=Mn[t],i=Math.max(0,Number(e.minRows??0)||0),a=n.Lr(e);if(!r||r.length===0){let t=e.initialRows===void 0?i:Math.max(i,Math.max(0,Number(e.initialRows)||0));return Array.from({length:t},()=>({...a}))}let o=r.map(t=>{let r={...a};return(e.fields??[]).forEach(e=>{if(!e.field||e.type===`file`)return;let i=ze(t,e);i!=null&&(r[e.field]=F(e.addRow)?n.Mr(e,i):n.Ar(e,i))}),r});for(;o.length<i;)o.push({...a});return o},Vn=(0,o.useMemo)(()=>Y.map(e=>`${e.name}:${+!!F(e.allowCollapse)}${+!!F(e.defaultCollapsed)}`).join(`|`),[Y]),Hn=(0,o.useRef)(null);(0,o.useEffect)(()=>{if(!Y.length||Hn.current===Vn)return;Hn.current=Vn;let e={};Y.forEach((t,n)=>{let r=t.name??t.id??String(n);F(t.allowCollapse)&&F(t.defaultCollapsed)&&(e[r]=!0)}),Xe(e)},[Vn,Y]);let Un=(0,o.useMemo)(()=>{let e={};return Y.forEach(t=>{t.addRow&&(e[t.name]=Bn(t))}),n.kr(ln,e)},[Y,Mn,ln]),Wn=e=>Xe(t=>({...t,[e]:!t[e]})),Gn=()=>{R.resetFields(),Xe({}),vt(`internal`),bt([])},Kn=(0,o.useCallback)(async(t,r,i={})=>{if(!N)return;let a=Number(i.pageSize)>0?Number(i.pageSize):K.pageSize,o=Number(i.current),c=Number.isFinite(o)&&o>0?Math.floor(o):1;try{_t(t),ht({current:c,pageSize:a}),mt(e=>({...e,loading:!0,searched:!0}));let i=O(t?.selectedSource),o=r?se(r,q):i.includes(`internal`)?`internal`:se(t?.selectedSource,q),s={...t,selectedSource:o};console.log(`[AddFormV1] Calling searchModuleData with scope:`,o);let l=await n.ai(e||`candidates`,s,{limit:a,offset:(c-1)*a},{scope:o});vt(o),mt({searched:!0,rows:l.rows,total:l.total,fields:l.fields,actions:l.actions??[],actionRules:l.actionRules??[],loading:!1}),bt(e=>ue({sources:i,activeSource:o,activeCount:l.total,responseCounts:l.counts,currentTabs:e,backendTabs:l.tabs}))}catch(e){console.error(`Search failed:`,e),s.message.error(e?.message||`Failed to search records`),mt({searched:!0,rows:[],total:0,fields:[],actions:[],actionRules:[],loading:!1})}},[N,e,q,K.pageSize]),qn=(0,o.useCallback)(async(e,t)=>{let n=he(e,t);St(e=>({...e,[n]:{...e[n]??{},loading:!0}}));try{let r=await ge(e,t);s.message.success(r?.message??r?.data?.message??e.successMessage??`Action completed successfully.`),St(e=>({...e,[n]:{loading:!1,completed:!0}}))}catch(t){s.message.error(t?.message||e.errorMessage||`Action failed.`),St(e=>({...e,[n]:{...e[n]??{},loading:!1}}))}finally{St(e=>({...e,[n]:{...e[n]??{},loading:!1}}))}},[]),Jn=(0,o.useCallback)(e=>{let t=se(e,q);vt(t),ht({current:1,pageSize:K.pageSize}),Object.keys(gt).length>0&&Kn(gt,t,{current:1,pageSize:K.pageSize})},[K.pageSize,gt,Kn,q]),Yn=(0,o.useCallback)((e,t)=>{let n=Number(t)>0?Number(t):K.pageSize,r=Number(e)>0?Number(e):1;if(Object.keys(gt).length===0){ht({current:r,pageSize:n});return}Kn(gt,q,{current:r,pageSize:n})},[Kn,gt,K.pageSize,q]),Xn=(0,o.useCallback)(e=>{let t=Number(e)>0?Number(e):K.pageSize;if(Object.keys(gt).length===0){ht({current:1,pageSize:t});return}Kn(gt,q,{current:1,pageSize:t})},[Kn,gt,K.pageSize,q]),Zn=e=>{let t=n.ar(e,{uniqueRules:cn});return t.length!==0&&(R.setFields(t.map(e=>({name:e.name??e.field,errors:[e.message]}))),Xe({}),n.c({errorFields:t.map(e=>{let t=e.name??e.field;return{name:Array.isArray(t)?t:[t],errors:[e.message]}})},R),!0)},Qn=(0,o.useCallback)(async e=>{try{let t=n.Si().region,r=Y.map(e=>n.k(e,t)),i=n.D(r,e);return i.severity===`allow`?!0:i.severity===`block`?(n.Er({tone:`duplicate`,title:`This qualification history is incomplete`,body:i.message,okText:`Go back`}),!1):!await n.Tr({tone:`suggestion`,title:`Add the earlier qualification too?`,body:i.message,okText:`Add it now`,cancelText:`Submit anyway`})}catch(e){return console.warn(`[levelRule] check skipped:`,e),!0}},[Y]),$n=async t=>{if(N){await Kn(t);return}if(!k&&await mn.prompt({reason:`submit`})!==`clear`||!await Qn(t))return;if(b){await b(t,{moduleName:e,groups:Y,registerDocuments:async(r,i={})=>{let a=n.Nr(t,Y,{module:i.module??e});return!a.length||!r?[]:n.ni(i.module??e,r,a)},extraPayload:Rn??{},fileParts:n.Nr(t,Y,{indexed:!0,module:e}),allFileParts:n.Nr(t,Y,{module:e}),payload:{...Rn??{},...n.jr(t,Y,{module:e})}});return}if(!e){console.log(`Form values:`,t);return}let r=(r,i)=>{let a=n.u(Y,e,`add`);if(a&&s.message.success(a),k&&A){A(r,t);return}if(qt>=0){R.resetFields(),Xt(qt);return}R.resetFields();let o=i??n.dn(Y);if(!o)n.un(ve,{cancelPath:v});else if(o.mode===`back`)n.un(ve,{cancelPath:v});else if(o.mode===`route`||o.mode===`detail`){let e=n.fn(o.target,r,t);e&&ve(e)}};try{if(W(!0),Z&&!x&&$.saveViaAction){let e=dn.current;await $.saveThroughAction(t,t=>r(t,e));return}let i=Z&&!x?$.draftRecordId:``,o=i?await n.ei(e,i,{...Rn??{},...n.jr(t,Y,{module:e})},n.Nr(t,Y,{indexed:!0,module:e})):await a.n(e,it(t,Y,Rn??{},e));if(o?.status===!1){if(Zn(o))return;s.message.error(n.l(Y,e,`add`,o?.error||o?.message||o?.data));return}let c=n.Nr(t,Y,{scope:`addRow`,indexed:!0,module:e}),l=i||(o?.id??o?.data?.id??o?.data?._id??o?._id);if(!i&&c.length>0&&l)try{await n.ei(e,l,{...Rn??{},...n.jr(t,Y,{module:e})},c)}catch(e){console.error(`Document file attach (post-create update) failed:`,e),s.message.warning(`Record created, but attaching document files failed. Edit the record to re-upload.`)}let u=n.Nr(t,Y,{module:e});if(u.length>0&&l)try{await n.ni(e,l,u)}catch(e){console.error(`Document registry upload failed:`,e),s.message.warning(`Record created, but saving its document records failed.`)}let d=dn.current,f=()=>r(l,d);if(Z&&!x&&($.markSaved(l,t),!await $.afterSave(l,t,f)))return;f()}catch(t){if(console.error(`Failed to create ${e}:`,t),Zn(t))return;s.message.error(n.l(Y,e,`add`,t?.data?.error||t?.data?.message||t?.message))}finally{W(!1),dn.current=null}},er=(e,t,r)=>{let i=e.validations??e.validation??e.rules??[];return[...i.filter(e=>(typeof e==`string`?e:e?.type)===`maxFromField`).map(e=>n.zn(e,t,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=>Ue(t,e))).flat().filter(Boolean)]},tr=(e,t)=>typeof e==`function`?e(t):e,nr=(e,t,n)=>{if(!e?.field)return!0;let r=tr(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}},rr=(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=>nr(e,t,n)),a=String(e.logic??`and`).toLowerCase()===`or`,o=a?i.some(Boolean):i.every(Boolean);if(e.field){let r=nr(e,t,n);o=a?o||r:o&&r}return o}return nr(e,t,n)},ir=e=>!!(e?.field||e?.conditions?.some?.(e=>e?.field)),[ar,or]=(0,o.useState)({}),sr=e=>String(e?.field??``),cr=(0,o.useMemo)(()=>t.s(),[]),lr=(t,r,i,a={})=>{let c=typeof t.field==`string`&&t.field.includes(`.`)?t.field.split(`.`):null,u=c??t.field,d=r===void 0?u:[r,...c??[t.field]],p=i!==void 0&&r!==void 0?[...Array.isArray(i)?i:[i],...Array.isArray(d)?d:[d]]:d,m=t.type===`checkbox`&&(t.options&&t.options.length>0||t.dataSource&&t.dataSource!==`static`),ee=!m&&t.type===`checkbox`?`checked`:`value`,h=!!t.editablePermission&&!n.mn(t.editablePermission,e),g=i!==void 0&&r!==void 0?[...Array.isArray(i)?i:[i],r]:null,_=e=>g&&(!a.rowFieldKeys||a.rowFieldKeys.has(e))?g:null,te=n.Vr(t),v=te?n.Hr(t,p,_):null,y=a.inline||a.hideLabel||!m&&t.type===`checkbox`?``:(0,l.jsx)(Te,{form:R,field:t,siblingPrefix:t.labelWhen?.field?_(t.labelWhen.field):g,locked:h}),b=te&&y?(0,l.jsxs)(`span`,{className:`v1-label-with-override`,children:[y,(0,l.jsx)(n.Dn,{form:R,field:t,flagPath:v,fieldPath:p,disabled:h})]}):y,x=er(t,p,_),S=n._n(t),C=a.inline||t.type===`file`&&F(t.multiple)||t.type===`text-editor`?24:t.col??12,w=f(t,cr),T=r===void 0&&t.type!==`file`&&w.matched&&w.value!==void 0&&w.value!==``?w.value:r===void 0&&t.type!==`file`&&t.defaultValue!==void 0&&t.defaultValue!==``?t.defaultValue:void 0,ne=(t.aiActions||[]).filter(e=>e.trigger===`click`),E=(t.aiActions||[]).find(e=>e.trigger===`upload`),re=(0,l.jsx)(s.Form.Item,{label:b,name:d,extra:dt(t,Ln[t.field]),rules:V(t,R,p,N,_,sn,_n(t,a.groupNameForActions)),required:qe(t,R,p),dependencies:x,valuePropName:ee,initialValue:T,getValueFromEvent:t.type===`file`?e=>Array.isArray(e)?e:e?.fileList:void 0,validateTrigger:[`onBlur`,`onChange`],...N?null:n.er(t,nn),children:(0,l.jsx)(at,{field:t,form:R,name:p,rowFieldKeys:a.rowFieldKeys,moduleName:e,scopeValues:{clientId:J},onAiUpload:E?e=>hn.runAction(a.groupNameForActions,t,E,e):void 0,onDuplicateBlur:bn,onRegionBlocked:gn,onRowOrderChange:vn,formDisabled:hn.busy},t.refreshToken==null?void 0:`${t.field}-refresh-${t.refreshToken}`)}),ie=S&&!b?(0,l.jsx)(s.Tooltip,{title:S,children:(0,l.jsx)(`span`,{className:`v1-field-tooltip-wrap`,children:re})}):re,ae=ne.length>0?(()=>{let e=n.fr(ne),r=r=>(0,l.jsx)(n.dr,{position:r,actions:e[r],aiActions:hn,groupName:a.groupNameForActions,field:t},r);return(0,l.jsxs)(`div`,{className:`v1-ai-action-wrap`,children:[r(`top-left`),r(`top-center`),r(`top-right`),ie,r(`bottom-left`),r(`bottom-center`),r(`bottom-right`)]})})():ie,oe=e=>r===void 0?e:[r,e],D=t.verifyAction?(0,l.jsxs)(l.Fragment,{children:[t.verifyResultField&&(0,l.jsx)(s.Form.Item,{name:oe(t.verifyResultField),hidden:!0,noStyle:!0,children:(0,l.jsx)(s.Input,{})}),t.verifyTimestampField&&(0,l.jsx)(s.Form.Item,{name:oe(t.verifyTimestampField),hidden:!0,noStyle:!0,children:(0,l.jsx)(s.Input,{})})]}):null,O=t.verifyAction?(0,l.jsxs)(`div`,{className:`v1-verify-field-row`,children:[ae,(0,l.jsx)(we,{form:R,field:t,absoluteName:p}),D]}):ae,se=te?(0,l.jsxs)(l.Fragment,{children:[O,(0,l.jsx)(s.Form.Item,{name:r===void 0?v[v.length-1]:[r,v[v.length-1]],valuePropName:`checked`,hidden:!0,noStyle:!0,children:(0,l.jsx)(s.Checkbox,{})})]}):O,k=a.inline?{flex:`${Number(t.combineWidth)>0?Number(t.combineWidth):1} 1 0`,maxWidth:`none`}:void 0,A=t.autoFillFromApi?(0,l.jsx)(ke,{form:R,config:t.autoFillFromApi,watchPath:p},`${t.field}-autoFillFromApi`):null,j=t.prefillWhen?.length?(0,l.jsx)(Oe,{form:R,rules:t.prefillWhen,watchPaths:n.Tn(t.prefillWhen,p,n.Vn,_),targetPath:p,resetOnNoMatch:t.prefillWhenReset!==!1},`${t.field}-prefillWhen`):null;if(t.show===0)return(0,l.jsxs)(o.Fragment,{children:[j,A,(0,l.jsx)(s.Form.Item,{name:d,hidden:!0,noStyle:!0,children:(0,l.jsx)(`input`,{type:`hidden`})})]},t.field);let M=!a.inline&&n.t(t).length>0,ce=e=>M?n.o(t,C,t=>e(n.n(t,_(t.field)))):C;return ir(t.showIf)||M?(0,l.jsxs)(o.Fragment,{children:[j,A,(0,l.jsx)(s.Form.Item,{shouldUpdate:!0,noStyle:!0,children:({getFieldValue:e})=>!ir(t.showIf)||rr(t.showIf,e,_)?(0,l.jsx)(s.Col,{xs:24,md:ce(e),style:k,className:a.inline?`v1-combine-cell`:void 0,children:se}):null})]},t.field):(0,l.jsxs)(o.Fragment,{children:[j,A,(0,l.jsx)(s.Col,{xs:24,md:C,style:k,className:a.inline?`v1-combine-cell`:void 0,children:se})]},t.field)},ur=t=>{let r=typeof t.field==`string`&&t.field.includes(`.`)?t.field.split(`.`):[t.field],i=!!t.editablePermission&&!n.mn(t.editablePermission,e),a=(0,l.jsx)(st,{field:t,label:t.label,locked:i}),o=n.Rr(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=ze(fe??Nn??{},t),ee=n.Mr(t,m);return(0,l.jsx)(s.Col,{xs:24,md:24,children:(0,l.jsx)(s.Form.Item,{label:a,required:qe(t),colon:!1,className:`v1-combine-field`,children:(0,l.jsx)(s.Form.List,{name:r,initialValue:ee,rules:[{validator:async(e,n=[])=>{if(qe(t)&&!(u?n.some(e=>Pe(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:(n,{add:i,remove:a},{errors:m})=>(0,l.jsxs)(`div`,{className:`v1-addrow-wrapper`,children:[n.map(({key:i,name:p})=>(0,l.jsxs)(`div`,{className:`v1-addrow-item`,children:[(0,l.jsx)(s.Button,{type:`text`,danger:!0,icon:(0,l.jsx)(c.DeleteOutlined,{}),onClick:()=>a(p),disabled:n.length<=f,className:`v1-addrow-delete-btn`}),(0,l.jsx)(`div`,{className:`v1-addrow-fields`,children:u?(0,l.jsx)(s.Row,{gutter:[24,0],align:`top`,children:pr(d,p,r[0],!1,t.field)}):(0,l.jsx)(s.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:V(o,R,[...r,p],N),children:(0,l.jsx)(at,{field:o,form:R,name:[...r,p],moduleName:e,scopeValues:{clientId:J},formDisabled:hn.busy})})})]},i)),(!p||n.length<p)&&(0,l.jsx)(s.Button,{type:`link`,icon:(0,l.jsx)(c.PlusOutlined,{}),onClick:()=>i(),className:`v1-addrow-add-btn`,children:t.addLabel??`Add ${t.label??`Value`}`}),(0,l.jsx)(s.Form.ErrorList,{errors:m})]})})})},t.field)},dr=(t,r,i)=>{let a=typeof t.field==`string`&&t.field.includes(`.`)?t.field.split(`.`):[t.field],o=!!t.editablePermission&&!n.mn(t.editablePermission,e),u=(0,l.jsx)(st,{field:t,label:t.label,locked:o}),d=n.Rr(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),ee=t.maxRows!==void 0&&t.maxRows!==``&&Number(t.maxRows)>0?Number(t.maxRows):0,h=[r,...a],g=[...Array.isArray(i)?i:[i],r,...a],_=n.Mr(t,void 0);return(0,l.jsx)(s.Col,{xs:24,md:f?24:t.col??24,children:(0,l.jsx)(s.Form.Item,{label:u,required:qe(t),colon:!1,className:`v1-combine-field`,children:(0,l.jsx)(s.Form.List,{name:h,initialValue:_,rules:f?[{validator:async(e,n=[])=>{if(qe(t)&&!n.some(e=>Pe(e)))throw Error(`Mandatory Field`);if(m>0&&n.length<m)throw Error(`Keep at least ${m} row${m>1?`s`:``}.`)}}]:[],children:(n,{add:r,remove:i},{errors:a})=>(0,l.jsxs)(`div`,{className:`v1-addrow-wrapper`,children:[n.map(({key:r,name:a})=>{let o=[...g,a];return(0,l.jsxs)(`div`,{className:`v1-addrow-item`,children:[(0,l.jsx)(s.Button,{type:`text`,danger:!0,icon:(0,l.jsx)(c.DeleteOutlined,{}),onClick:()=>i(a),disabled:n.length<=m,className:`v1-addrow-delete-btn`}),(0,l.jsx)(`div`,{className:`v1-addrow-fields`,children:f?(0,l.jsx)(s.Row,{gutter:[24,0],align:`top`,children:pr(p,a,g,!1,t.field)}):(0,l.jsx)(s.Form.Item,{name:[a],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:V(d,R,o,N),children:(0,l.jsx)(at,{field:d,form:R,name:o,moduleName:e,scopeValues:{clientId:J},formDisabled:hn.busy})})})]},r)}),(!ee||n.length<ee)&&(0,l.jsx)(s.Button,{type:`link`,icon:(0,l.jsx)(c.PlusOutlined,{}),onClick:()=>r(),className:`v1-addrow-add-btn`,children:t.addLabel??`Add ${t.label??`Value`}`}),(0,l.jsx)(s.Form.ErrorList,{errors:a})]})})})},`${i}-${r}-${t.field}`)},fr=(e,t)=>e.filter(e=>e.field&&e.show!==void 0&&!F(e.show)).map(e=>{let n=String(e.field).includes(`.`)?String(e.field).split(`.`):e.field,r=t===void 0?n:[t,...Array.isArray(n)?n:[n]];return(0,l.jsx)(s.Form.Item,{name:r,hidden:!0,noStyle:!0,children:(0,l.jsx)(s.Input,{})},`hidden-${e.field}`)}),pr=(e,t,r,i=!1,a)=>{let o=new Set,c=[],u=new Set(e.map(e=>e.field).filter(Boolean)),d=e.filter(e=>e.show===void 0||F(e.show)||e.show===0&&!!e.prefillWhen?.length);return c.push(...fr(e,t)),d.forEach(e=>{if(F(e.addRow)&&t===void 0){c.push(ur(e));return}if(F(e.addRow)&&t!==void 0){c.push(dr(e,t,r));return}let f=e.combineKey?.trim?.();if(!f){c.push(lr(e,t,r,{hideLabel:i,groupNameForActions:a,rowFieldKeys:u}));return}let p=`${r??`root`}:${t??`root`}:${f}`;if(o.has(p))return;let m=d.filter(e=>e.combineKey===f);m.forEach(e=>o.add(`${r??`root`}:${t??`root`}:${e.combineKey}`));let ee=m.find(e=>e.combineLabel)??e,h=r!==void 0&&t!==void 0?[...Array.isArray(r)?r:[r],t]:null,g=m.find(e=>n.Vr(e))??null,_=e=>h&&(!u||u.has(e))?h:null,te=g?r!==void 0&&t!==void 0?[...Array.isArray(r)?r:[r],t,...String(g.field).includes(`.`)?String(g.field).split(`.`):[g.field]]:String(g.field).includes(`.`)?String(g.field).split(`.`):g.field:null,v=(0,l.jsx)(Te,{form:R,field:ee,siblingPrefix:h,combined:!0}),y=g?(0,l.jsxs)(`span`,{className:`v1-label-with-override`,children:[v,(0,l.jsx)(n.Dn,{form:R,field:g,flagPath:n.Hr(g,te,_),fieldPath:te})]}):v,b=m.find(e=>e.combineToggleTarget)?.combineToggleTarget,x=m.find(e=>e.combineToggleLabel)?.combineToggleLabel??`Show range`,S=p,C=m.some(e=>F(e.combineWrap)),w=Number(m.find(e=>[12,24].includes(Number(e.combineSpan)))?.combineSpan),T=b?m.find(e=>sr(e)===b):null,ne=T?.field?.includes?.(`.`)?T.field.split(`.`):[T?.field].filter(Boolean),E=T?r!==void 0&&t!==void 0?[r,t,...ne]:ne.length>1?ne:T.field:null,re=m.some(e=>qe(e)),ie=[12,24].includes(w)?w:m.length>=3?24:12,ae=e=>h&&(!u||u.has(e))?h:null,oe=m.some(e=>ir(e.showIf)),D=e=>m.some(t=>!ir(t.showIf)||rr(t.showIf,e,ae)),O=(0,l.jsx)(s.Col,{xs:24,md:ie,children:(0,l.jsx)(s.Form.Item,{label:y,required:re,colon:!1,className:`v1-combine-field`,children:(0,l.jsx)(s.Form.Item,{noStyle:!0,shouldUpdate:!0,children:({getFieldValue:e})=>{let n=E?!z(e(E)):!1,i=ar[S]??n,a=b&&!i?m.filter(e=>sr(e)!==b):m;return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(s.Row,{gutter:[8,0],align:`top`,wrap:C,className:`v1-combine-row${C?` v1-combine-row-wrap`:``}`,children:a.map(e=>lr(re?{...e,req:1}:e,t,r,{inline:!0}))}),b&&(0,l.jsxs)(`div`,{className:`v1-combine-range`,children:[(0,l.jsx)(s.Switch,{size:`small`,checked:i,onChange:e=>{!e&&E&&(R.setFieldValue(E,void 0),R.validateFields([E]).catch(()=>{})),or(t=>({...t,[S]:e}))}}),(0,l.jsx)(P,{type:`secondary`,className:`v1-combine-toggle-label`,children:x})]})]})}})})},p);c.push(oe?(0,l.jsx)(s.Form.Item,{shouldUpdate:!0,noStyle:!0,children:({getFieldValue:e})=>D(e)?O:null},p):O)}),c},mr=(0,o.useMemo)(()=>{if(G.fields?.length)return G.fields;let e=G.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})):[]},[G.fields,G.rows]),hr=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,o.useMemo)(()=>hr(G.rows),[G.rows]);let gr=(0,o.useMemo)(()=>{let e=pe({rows:G.rows,selectedSource:q});if(!e.length)return mr;let t=new Set(e.map(e=>e.field));return[...mr.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(!me(e,n,q))return null;let r=he(e,n),i=xt[r]??{},a=!r||i.completed;return(0,l.jsx)(s.Button,{type:`primary`,size:`small`,loading:i.loading,disabled:a,onClick:()=>qn(e,n),children:i.completed?e.completedLabel:e.buttonLabel})}}))]},[qn,mr,G.rows,q,xt]),_r=(0,o.useMemo)(()=>{if(!D)return G.actions;let e=t=>({...t,popupState:{...D,...t.popupState},...t.children?{children:t.children.map(e)}:{}});return(G.actions??[]).map(e)},[G.actions,D]),vr=e=>{let t=e.name??e.id??``,r=n.Or(ln,t),i=!!r&&r.leaderName!==t,a=r?Y.find(e=>e.name===r.leaderName)??e:e,o=Math.max(0,Number(a.minRows??0)||0),u=Math.max(0,Number(a.maxRows??0)||0),d=r?r.memberNames:[t],f=()=>{d.forEach(t=>{let r=Y.find(e=>e.name===t)??e;un.current[t]?.add(n.Lr(r))})},p=e=>{d.forEach(t=>un.current[t]?.remove(e))},m=Z&&!!e.addRow&&n.$(e,Y)===`table`,ee=F(e.sharedRowLabels)||m;return e.addRow?(0,l.jsx)(s.Form.List,{name:t,initialValue:Un[t]??[],rules:i?[]:[{validator:async(t,n=[])=>{if(!(F(e.toggleEnabled)&&e.toggleField&&R.getFieldValue(e.toggleField))){if(o>0&&n.length<o)throw Error(`Keep at least ${o} row${o>1?`s`:``}.`);if(F(e.requireOne)&&n.some(e=>!Pe(e)))throw Error(`Fill at least one field in each added row.`)}}}],children:(n,{add:r,remove:d,move:h},{errors:g})=>(un.current[t]={add:r,remove:d,move:h},(0,l.jsxs)(`div`,{className:m?`v1-addrow-wrapper v1-addrow-wrapper--table`:`v1-addrow-wrapper`,children:[(0,l.jsx)(`div`,{className:`v1-addrow-topbar`,children:i?(0,l.jsxs)(P,{type:`secondary`,className:`v1-addrow-linked-hint`,children:[`Rows added via `,a.label??a.name]}):(!u||n.length<u)&&(0,l.jsx)(s.Button,{type:`link`,icon:(0,l.jsx)(c.PlusOutlined,{}),onClick:f,className:`v1-addrow-add-btn`,children:e.addLabel??`Add ${e.label??`Row`}`})}),ee&&n.length>0&&(0,l.jsx)(s.Row,{gutter:[24,0],className:`v1-addrow-header`,children:e.fields.filter(e=>e.show===void 0||F(e.show)).map(e=>(0,l.jsx)(s.Col,{md:e.col??12,className:`v1-addrow-header-label`,children:e.label},sr(e)))}),n.map(({key:r,name:i})=>(0,l.jsxs)(`div`,{className:`v1-addrow-item`,children:[(0,l.jsx)(s.Button,{type:`text`,danger:!0,icon:(0,l.jsx)(c.DeleteOutlined,{}),onClick:()=>p(i),disabled:n.length<=o,className:`v1-addrow-delete-btn`}),(0,l.jsx)(`div`,{className:`v1-addrow-fields`,children:(0,l.jsx)(s.Row,{gutter:[24,0],align:`top`,children:pr(e.fields,i,t,ee,t)})})]},r)),(0,l.jsx)(s.Form.ErrorList,{errors:g})]}))}):(0,l.jsx)(s.Row,{gutter:[24,0],children:pr(e.fields,void 0,void 0,!1,t)})},yr=e=>Y.filter(t=>t!==e&&t.mergeInto&&String(t.mergeInto)===String(e.name)),br=e=>!!(e.mergeInto&&Y.some(t=>t!==e&&String(t.name)===String(e.mergeInto))),xr=(e,t)=>yr(e).filter(e=>String(e.mergePosition??`bottom`)===t),Sr=(e,t)=>{let n=e.name??e.id??String(t),r=vr(e),i=xr(e,`top`),a=xr(e,`bottom`),o=e=>{let t=(0,l.jsxs)(`div`,{className:`v1-merged-group`,children:[(0,l.jsx)(`div`,{className:`v1-merged-group-title`,children:e.label??e.name}),vr(e)]},e.name),n=e.showIf?.field?(0,l.jsx)(je,{form:R,showIf:e.showIf,render:()=>t},e.name):t;return(0,l.jsx)(Me,{form:R,group:e,inheritParent:!1,children:n},e.name)};return(0,l.jsx)(s.Card,{className:`v1-card v1-edit-card`,title:(0,l.jsx)(ot,{icon:be[t%be.length],title:N?ft||e.label:e.label??e.name??`Details`}),extra:(0,l.jsxs)(s.Space,{size:8,align:`center`,className:`v1-group-actions`,children:[(0,l.jsx)(ct,{group:e}),(0,l.jsx)(lt,{group:e}),F(e.allowCollapse)&&(0,l.jsx)(s.Button,{type:`text`,size:`small`,"aria-expanded":!Ye[n],"aria-label":Ye[n]?`Expand section`:`Collapse section`,icon:Ye[n]?(0,l.jsx)(c.DownOutlined,{}):(0,l.jsx)(c.UpOutlined,{}),onClick:e=>{e.stopPropagation(),Wn(n)}})]}),children:(0,l.jsx)(s.Form.Item,{noStyle:!0,shouldUpdate:!0,children:({getFieldValue:t})=>{let s=F(e.toggleEnabled)&&e.toggleField&&!!t(e.toggleField);return(0,l.jsxs)(`div`,{style:{display:Ye[n]||s?`none`:`block`},children:[i.map(o),r,a.map(o)]})}})},n)};return(0,l.jsxs)(`main`,{children:[g.length>0&&(0,l.jsx)(n.Dt,{items:g}),Z&&x?(0,l.jsx)(x,{...S??{},mode:`add`,moduleName:e,configuredSteps:X,configuredGroups:Wt}):(0,l.jsxs)(`div`,{className:`v1-edit-page`,children:[wn&&!E&&!Bt&&(0,l.jsx)(s.Card,{className:`v1-card v1-edit-card v1-client-gate-card`,children:(0,l.jsxs)(s.Space,{direction:`vertical`,size:12,style:{width:`100%`},children:[(0,l.jsx)(ot,{icon:(0,l.jsx)(c.UserOutlined,{}),title:`Select Client`}),Tn&&(0,l.jsx)(P,{type:`secondary`,children:Tn}),(0,l.jsx)(s.Row,{gutter:[16,0],children:(0,l.jsxs)(s.Col,{xs:24,md:14,children:[(0,l.jsx)(s.Select,{showSearch:!0,allowClear:!0,placeholder:`Select client`,style:{width:`100%`},value:J||void 0,optionFilterProp:`label`,options:Ct.map(e=>({value:e._id??e.id,label:e.clientName??e.name??e.clientRefrenceId??e._id})).filter(e=>e.value),onChange:Dn,dropdownRender:An.footer?e=>(0,l.jsxs)(l.Fragment,{children:[e,An.footer]}):void 0}),An.modal]})})]})}),(0,l.jsxs)(`div`,{className:`v1-page-inner`,children:[Z&&zn&&(0,l.jsx)(n.en,{steps:X,current:Q,errorStep:$.errorStep,onSelectCompleted:Jt||$.busy?void 0:Xt}),(0,l.jsx)(s.Spin,{fullscreen:!0,spinning:hn.busy||mn.checking,size:`large`,tip:hn.busy?hn.loadingText||`Reading the file…`:`Checking whether we already have this person…`}),(0,l.jsx)(s.Spin,{spinning:!zn&&!On,description:`Loading form fields…`,children:(0,l.jsxs)(s.Form,{form:R,layout:`vertical`,colon:!1,className:`v1-form`,disabled:hn.busy||mn.checking,requiredMark:(e,{required:t})=>(0,l.jsxs)(l.Fragment,{children:[e,t&&(0,l.jsx)(`span`,{className:`v1-required-mark`,children:` *`})]}),onFinish:Z?Qt:$n,onFinishFailed:$t,children:[zn&&(Z?(0,l.jsx)(n.W,{step:X[Q],steps:X,current:Q,form:R,onGoToStep:Xt,moduleName:e,notice:(0,l.jsx)(n.A,{runtime:$,current:Q}),actionResult:$.actionResult,savedRecord:$.savedRecord,stepBusy:$.busy===`enter`,recordId:$.recordId,formContent:Y.filter(e=>!br(e)).map((e,t)=>{let r=n.sn(X,e,t);return(0,l.jsx)(`div`,{className:`v1-form-wizard__panel`,hidden:r!==Q,children:(0,l.jsx)(Me,{form:R,group:e,children:e.showIf?.field?(0,l.jsx)(je,{form:R,showIf:e.showIf,render:()=>Sr(e,t)}):Sr(e,t)})},e.name??`grp-${t}`)})}):Y.filter(e=>!br(e)).map((e,t)=>(0,l.jsx)(Me,{form:R,group:e,children:e.showIf?.field?(0,l.jsx)(je,{form:R,showIf:e.showIf,render:()=>Sr(e,t)}):Sr(e,t)},e.name??`grp-${t}`))),zn&&!zt&&Y.length===0&&(0,l.jsx)(s.Alert,{type:`info`,showIcon:!0,message:N?`No search configuration found.`:`No form fields are configured.`}),zn&&N&&(0,l.jsx)(`div`,{className:`v1-search-form-actions`,children:(0,l.jsxs)(s.Space,{size:12,children:[(0,l.jsx)(s.Button,{onClick:Gn,disabled:!Y.length,children:`Reset`}),(0,l.jsx)(s.Button,{onClick:()=>n.un(ve,{cancelPath:v}),children:`Back`}),(0,l.jsx)(s.Button,{type:`primary`,htmlType:`submit`,disabled:pt||!Y.length||Cn,loading:pt,children:_e})]})})]})})]}),!N&&!ce&&(0,l.jsxs)(`div`,{className:k?`v1-footer v1-footer--embedded`:`v1-footer`,children:[(0,l.jsx)(P,{type:`secondary`,children:`All Unsaved Changes will be lost if you cancel and reload.`}),(0,l.jsxs)(s.Space,{size:12,children:[(0,l.jsx)(s.Button,{onClick:()=>k&&j?j():n.un(ve,{cancelPath:v}),children:Jt?`Close`:`Cancel`}),Z&&Q>0&&!Jt&&(0,l.jsx)(n.tn,{disabled:!!$.busy,onClick:()=>Xt(Q-1)}),!Jt&&(!Z||Q===X.length-1||Yt)?fn.map((e,t)=>(0,l.jsx)(Ee,{form:R,groups:Y,action:e,disabled:!zn||pt||en>0||!Y.length,loading:pt,onFire:()=>{dn.current=e.afterSubmit??{mode:`stay`},e.setValuesBeforeSubmit&&R.setFieldsValue(e.setValuesBeforeSubmit),R.submit()}},`${e.label??`action`}-${t}`)):null,Z&&Q<X.length-1&&!Yt?(0,l.jsx)(n.nn,{onClick:Zt,loading:$.busy===`next`,disabled:!zn||pt||en>0||!Y.length||!!$.busy}):Jt?null:(0,l.jsx)(De,{form:R,groups:Y,onClick:()=>{dn.current=null,R.submit()},disabled:!zn||pt||en>0||!Y.length||!!$.busy,loading:pt||$.busy===`finish`,children:_e})]})]}),N&&G.searched&&(0,l.jsx)(n.rt,{moduleName:e,breadcrumbItems:[],dataSource:G.rows,fields:gr,total:G.total,loading:G.loading,current:K.current,pageSize:K.pageSize,showViewToggle:!0,activeView:xn,onViewChange:Sn,onPageChange:Yn,onPageSizeChange:Xn,showSearch:!1,tabs:yt,selectedSource:q,onTabChange:Jn,actions:_r,actionRules:G.actionRules})]})]})});Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return pe}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return me}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return ae}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return ue}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return se}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return _e}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return ie}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return k}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return he}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return H}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return ge}});
|
|
2
|
-
//# sourceMappingURL=AddFormV1-
|
|
1
|
+
const e=require("./rolldown-runtime-Chgba0Kb.cjs"),t=require("./authApi-D0LZjLV6.cjs"),n=require("./conditionalFieldLabel-080sIUgv.cjs"),r=require("./DocumentViewer-Dv2kBoJ2.cjs"),i=require("./diceCandidateMapper-BjMhHno3.cjs"),a=require("./addFormApi-C99DyZ1z.cjs");let o=require("react"),s=require("antd"),c=require("@ant-design/icons"),l=require("react/jsx-runtime"),u=require("dayjs");u=e.n(u,1);let d=require("react-router-dom");function f(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}}function p(e){if(e==null||e===``)return``;let t=Number(e);if(!Number.isFinite(t)||t<0)return``;if(t===0)return`today`;if(t===1)return`yesterday`;if(t<30)return`${t} days ago`;if(t<60)return`about a month ago`;if(t<365)return`about ${Math.round(t/30)} months ago`;let n=Math.floor(t/365);return n===1?`over a year ago`:`over ${n} years ago`}function m(e,t){return(Array.isArray(t)&&t.length?t:Object.keys(e??{})).map(t=>e?.[t]).map(e=>e==null?``:String(e).trim()).filter(Boolean).join(` · `)}function ee(e,t={}){return e?String(e).replace(/\{(\w+)\}/g,(e,n)=>t[n]===void 0?e:String(t[n])):``}function h(e,t){let n=m(e?.record,t),r=p(e?.updatedDaysAgo);return{name:n||`an existing record`,age:r||`previously`,days:Number.isFinite(Number(e?.updatedDaysAgo))?String(e.updatedDaysAgo):``,updatedOn:e?.updatedAt?String(e.updatedAt).slice(0,10):``,stage:e?.stage??``,weight:e?.weight??``}}function g(e,t={}){let n=h(e,t.displayFields),r=(e?.policy??t.policy)===`block`;return ee(e?.message||t.message||(r?`We already have {name} on file — last updated {age}. Please open that record and update it, rather than adding a second copy.`:`We already have {name} on file — last updated {age}. You can carry on and update that record with what you’ve just entered, or go back and check first.`),n)}function _(e,t={}){return e?.duplicate?(e.policy??t.policy??`prompt`)===`block`:!1}function te(e,t){let n=e?.record??{},r=(Array.isArray(t)&&t.length?t:Object.keys(n)).map(e=>({label:v(e),value:n[e]})).filter(e=>e.label&&e.value!==void 0&&e.value!==null&&String(e.value).trim()!==``),i=p(e?.updatedDaysAgo);return i&&r.push({label:`Last updated`,value:i}),r}function v(e){let t=String(e??``).replace(/([a-z0-9])([A-Z])/g,`$1 $2`).replace(/[_\-.]+/g,` `).trim().toLowerCase();return t?t.charAt(0).toUpperCase()+t.slice(1):``}function y({form:e,moduleName:t,recordId:r,config:i={},onUseExisting:a}={}){let[s,c]=(0,o.useState)(!1),l=(0,o.useRef)(null),u=(0,o.useCallback)(async i=>{if(!t)return{duplicate:!1};c(!0);try{return await n.Xn({module:t,payload:i??e.getFieldsValue(!0)??{},excludeId:r})}finally{c(!1)}},[e,t,r]);return{prompt:(0,o.useCallback)(async({reason:e,payload:t,carry:r}={})=>{let o=await u(t);if(!o?.duplicate)return l.current=null,`clear`;if(l.current&&l.current===o.id)return`existing`;let s=g(o,i),c=te(o,i.displayFields),d=o.weight===`weak`?`This might be someone you already have`:`You already have this person on file`;return _(o,i)?(await n.Er({tone:`duplicate`,title:d,facts:c,body:s}),`blocked`):await n.Tr({tone:`duplicate`,title:d,facts:c,body:s,okText:`Open their record`,cancelText:`Let me check first`,footnote:r?.files?`We’ll take you to their record with the résumé you just uploaded already attached — save there to keep it. The one already on file is kept too, as an earlier version. Nothing on this form has been filled in.`:`Everything already on their record is kept. Nothing on this form has been filled in.`})?(l.current=o.id??!0,a?.(o.id,o,e,r),`existing`):`blocked`},[u,i,a]),check:u,checking:s,acknowledgedId:l}}var b=[[`uploadname`,`uploadedfilename`,`originalname`,`filename`],[`uniquename`]],x=`copyuniquename`;function S(e,t,{excludeSanitised:n=!1}={}){let r=String(e).toLowerCase();return n&&r.endsWith(x)?!1:t.some(e=>r.endsWith(e))}function C(e){if(!e||typeof e!=`object`)return``;let t=e.uploadedFileName??e.name;if(typeof t==`string`&&t.trim())return t.trim();let n=Object.entries(e).filter(([,e])=>typeof e==`string`&&e.trim());for(let e of b){let t=n.find(([t])=>S(t,e,{excludeSanitised:!0}));if(t)return t[1].trim()}let r=n.find(([e])=>String(e).toLowerCase().endsWith(x));return r?r[1].trim():``}function w(e){if(!e||typeof e!=`object`)return``;let t=e.location??e.url;if(typeof t==`string`&&t.trim())return t.trim();let n=Object.entries(e).find(([e,t])=>typeof t==`string`&&t.trim()&&String(e).toLowerCase().endsWith(`copylocation`));return n?n[1].trim():``}var T=new Map,ne=0;function E(e){let t=`ph_${Date.now()}_${ne+=1}`;return T.set(t,e),e.finally(()=>{setTimeout(()=>T.delete(t),0)}).catch(()=>{}),t}function re(e){if(!e)return;let t=T.get(e);return T.delete(e),t}async function ie({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.a(),a=await fetch(`${t.S}/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 ae({isFromSubmission:e,jobId:n,submissionId:r,search:i=``}={}){let a={search:i};e?a.submissionId=r:a.jobId=n;let o=await t.o(t.C,`/quicksubmit/list`,{method:`POST`,body:JSON.stringify(a)});return o.data??o}async function oe(e){if(!e)throw Error(`Dice candidate ID is required`);let n=await t.a(),r=`${t.S}/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 D(e){return e&&typeof e==`object`?D(e.value??e.key??e.id??e.label??e.name):String(e??``).trim().toLowerCase()}function O(e){return(Array.isArray(e)?e:[e]).flat().map(D).filter((e,t,n)=>e&&e!==`all`&&n.indexOf(e)===t)}function se(e,t=`internal`){let n=O(e);if(n.includes(`internal`))return`internal`;let r=D(t);return n[0]?n[0]:r||(t===``?``:`internal`)}function k(e,t){let n={...t??{}};return(Array.isArray(e)?e:[]).flatMap(e=>Array.isArray(e?.options)?e.options:[]).forEach(e=>{let t=D(e?.value),r=String(e?.module??``).trim();t&&r&&(n[t]=r)}),n}function A(e){return String(e??``).replace(/[-_]+/g,` `).replace(/\s+/g,` `).trim().replace(/\b\w/g,e=>e.toUpperCase())}function j(e){return D(M(e))}function M(e){let t=e?.key??e?.value??e?.id??e?.source??e?.name??e?.title??e?.label;return String(t??``).trim()}function ce(e){let t=e?.count??e?.countValue,n=Number(t);return Number.isFinite(n)?n:void 0}function le(e,t,n,r,i){let a=Number(t?.[e]);if(Number.isFinite(a))return a;if(e===r){let e=Number(i);if(Number.isFinite(e))return e}let o=n.get(e);if(o!==void 0)return o}function ue({sources:e=[],activeSource:t=`internal`,activeCount:n=0,responseCounts:r={},currentTabs:i=[],backendTabs:a=[]}={}){let o=new Map((Array.isArray(i)?i:[]).map(e=>[j(e),ce(e)]).filter(([e,t])=>e&&t!==void 0)),s=new Map,c=O(e),l=D(t);return(c.length?c:l?[l]:[]).forEach(e=>{if(!e||s.has(e))return;let i=le(e,r,o,t,n);s.set(e,{key:e,title:A(e),...i===void 0?{}:{count:i}})}),(Array.isArray(a)?a:[]).forEach(e=>{let t=j(e);if(!t)return;let n=s.get(t),r=ce(e)??n?.count??o.get(t);s.set(t,{key:n?n.key:M(e),title:e.title??e.label??e.name??n?.title??A(t),...r===void 0?{}:{count:r}})}),Array.from(s.values())}function de(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(D).filter(Boolean)}function fe(e,t,n){let r=D(t);return r?de(e).includes(r)?!0:typeof n==`function`&&n(e):!1}var N=[{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:i.r,execute:oe}];function pe({rows:e=[],selectedSource:t=``}={}){return N.filter(n=>D(t)===n.source||e.some(e=>fe(e,n.source,n.isRecordFromSource)))}function me(e,t,n=``){return D(n)===e.source||fe(t,e.source,e.isRecordFromSource)}function he(e,t){let n=e?.getRecordId?.(t);return n?`${e.source}:${e.field}:${n}`:``}async function ge(e,t){let n=e?.getRecordId?.(t);if(!n)throw Error(`${e?.buttonLabel??`Action`} ID is required`);return e.execute(n,t)}var _e=e.t({default:()=>H}),{Text:P}=s.Typography,{TextArea:ve}=s.Input,ye=[],be=[(0,l.jsx)(c.UserOutlined,{}),(0,l.jsx)(c.EnvironmentOutlined,{}),(0,l.jsx)(c.SolutionOutlined,{}),(0,l.jsx)(c.InfoCircleOutlined,{}),(0,l.jsx)(c.FileTextOutlined,{})],xe={email:(0,l.jsx)(c.MailOutlined,{className:`v1-input-icon`}),contactNumber:(0,l.jsx)(c.PhoneOutlined,{className:`v1-input-icon`}),phone:(0,l.jsx)(c.PhoneOutlined,{className:`v1-input-icon`}),currentLocation:(0,l.jsx)(c.EnvironmentOutlined,{className:`v1-input-icon`}),preferredLocation:(0,l.jsx)(c.EnvironmentOutlined,{className:`v1-input-icon`}),skills:(0,l.jsx)(c.TagsOutlined,{className:`v1-input-icon`}),firstName:(0,l.jsx)(c.UserOutlined,{className:`v1-input-icon`}),lastName:(0,l.jsx)(c.UserOutlined,{className:`v1-input-icon`})},F=e=>e===!0||e===1||e===`1`,Se=(e,t)=>(e?.edit===void 0||F(e.edit))&&(!e?.editablePermission||n.mn(e.editablePermission,t));function Ce(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 I(e){return String(e??``).split(`.`).map(e=>e.trim()).filter(Boolean)}function L(e,t){return Array.isArray(e)&&e.length>1?[...e.slice(0,-1),t]:[t]}function we({form:e,field:t,absoluteName:r}){let[i,a]=(0,o.useState)(!1),[c,u]=(0,o.useState)(null),d=(0,o.useRef)(null),f=s.Form.useWatch(t.verifyResultField?L(r,t.verifyResultField):[`__noop_verify__`],{form:e,preserve:!0}),p=s.Form.useWatch(r,e);return(0,o.useEffect)(()=>{let n=String(p??``).trim();if(f===!0&&d.current===null&&n){d.current=n;return}f===!0&&d.current!==null&&n!==d.current&&(t.verifyResultField&&e.setFieldValue(L(r,t.verifyResultField),!1),t.verifyTimestampField&&e.setFieldValue(L(r,t.verifyTimestampField),void 0),d.current=null)},[r,p,t.verifyResultField,t.verifyTimestampField,e,f]),t.verifyAction===`email`?f===!0?c&&!c.mailboxConfirmed&&(c.catchAll||c.result===`risky`)?(0,l.jsx)(s.Tooltip,{title:c.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,l.jsx)(P,{type:`warning`,strong:!0,className:`v1-verify-field-wrap`,children:t.verifyUnconfirmedLabel||`Accepted`})}):(0,l.jsx)(P,{type:`success`,strong:!0,className:`v1-verify-field-wrap`,children:t.verifySuccessLabel||`Valid`}):(0,l.jsx)(s.Button,{size:`small`,loading:i,onClick:async()=>{let i=String(p??``).trim();if(!i){s.message.warning(`Enter an email first`);return}a(!0);try{let a=await n.oo(i);d.current=a.valid?i:null,u(a.valid?a:null),t.verifyResultField&&e.setFieldValue(L(r,t.verifyResultField),a.valid),t.verifyTimestampField&&e.setFieldValue(L(r,t.verifyTimestampField),a.valid?new Date().toISOString():void 0),a.valid?a.mailboxConfirmed?s.message.success(`Email verified — the mail server confirmed this mailbox`):s.message.warning(a.reason||`The domain can receive mail, but this exact mailbox could not be confirmed`):s.message.error(a.reason?`Invalid email: ${a.reason}`:`Email could not be verified`)}catch(n){d.current=null,u(null),t.verifyResultField&&e.setFieldValue(L(r,t.verifyResultField),!1),t.verifyTimestampField&&e.setFieldValue(L(r,t.verifyTimestampField),void 0),s.message.error(n?.message||`Could not verify email`)}finally{a(!1)}},className:`v1-verify-field-wrap`,children:f===!1?t.verifyRetryLabel||`Re Verify`:t.verifyIdleLabel||`Verify Email`}):null}function Te({form:e,field:t,siblingPrefix:r,locked:i,combined:a=!1}){let o=s.Form.useWatch(n.n(t?.labelWhen,r),e),c=n.i(t,o,a);return a?c:(0,l.jsx)(st,{field:t,label:c,locked:i})}function Ee({form:e,groups:t,action:n,disabled:r,loading:i,onFire:a}){let o=s.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}),c=s.Form.useWatch(n?.enabledWhen?.field,e),u=!n?.enabledWhen?.field||Ae(n.enabledWhen,c);return(0,l.jsx)(s.Button,{type:n?.tone===`primary`?`primary`:`default`,onClick:a,disabled:r||o||!u,loading:i,children:n?.label||`Submit`})}function De({form:e,groups:t,disabled:n,loading:r,onClick:i,children:a}){let o=s.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}),c=n||o,u=t.find(e=>e.submitDisabledMessage)?.submitDisabledMessage,d=t.find(e=>e.requireValidatedField)?.requireValidatedFieldMessage,f=o?d||u||`Verify every required row before submitting.`:u||`Complete all mandatory fields before submitting.`,p=(0,l.jsx)(s.Button,{type:`primary`,onClick:i,disabled:c,loading:r,children:a});return c&&!r?(0,l.jsx)(s.Tooltip,{title:f,children:(0,l.jsx)(`span`,{style:{display:`inline-flex`,cursor:`not-allowed`},children:p})}):p}function Oe({form:e,rules:t,watchPaths:r,targetPath:i,resetOnNoMatch:a=!0}){let c=s.Form.useWatch(e=>JSON.stringify(r.map(({path:t})=>t.reduce((e,t)=>e==null?e:e[t],e)??null)),{form:e,preserve:!0}),l=(0,o.useRef)(void 0),u=(0,o.useRef)(!0);return(0,o.useEffect)(()=>{let o=c?JSON.parse(c):[],s={};r.forEach(({field:e},t)=>{s[e]=o[t]});let d=u.current;u.current=!1;let f=n.En({rules:t,watched:s,current:e.getFieldValue(i),lastApplied:l.current,clearOnMismatch:a,initial:d});f.action===`set`?(e.setFieldValue(i,f.value),l.current=f.value):f.action===`clear`&&(e.setFieldValue(i,void 0),l.current=void 0)},[c]),null}function ke({form:e,config:n,watchPath:r}){let i=s.Form.useWatch(r,e),a=(0,o.useRef)(void 0);return(0,o.useEffect)(()=>{if(z(i)||i===a.current)return;a.current=i;let r=n.endpointTemplate?`${n.endpointTemplate.replace(`{value}`,encodeURIComponent(String(i)))}`:`${n.endpoint}?${new URLSearchParams({[n.queryParam]:String(i)}).toString()}`;t.o(t.S,r).then(t=>{let r=t?.data??t;if(n.substituteTokens){(n.substituteInFields||[]).forEach(t=>{let i=I(t),a=e.getFieldValue(i)||``;Object.entries(n.substituteTokens).forEach(([e,t])=>{let n=e.replace(/^\{\{|\}\}$/g,``).trim(),i=RegExp(`\\{\\{\\s*${n.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}\\s*\\}\\}`,`gi`);a=a.replace(i,r?.[t]??``)}),e.setFieldValue(i,a)});return}Object.entries(n.mapResponseToFields).forEach(([t,i])=>{let a=I(t);n.onlyIfEmpty&&!z(e.getFieldValue(a))||e.setFieldValue(a,r?.[i])})}).catch(()=>{})},[i]),null}function Ae(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 F(t);case`falsy`:return!F(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 je({form:e,showIf:t,render:n}){return Ae(t,s.Form.useWatch(t.field,e))?n():null}var R=(0,o.createContext)(!1);function Me({form:e,group:t,children:n,inheritParent:r=!0}){let i=(0,o.useContext)(R),a=t?.disabledIf?.field?I(t.disabledIf.field):[`__noop_group_disabled__`],c=s.Form.useWatch(a,e),u=t?.disabledIf?.field?Ae(t.disabledIf,c):!1,d=r&&i||!!t?.disabled||u;return(0,l.jsx)(R.Provider,{value:d,children:n})}function Ne(e,t){return String(t??``).split(`.`).reduce((e,t)=>e?.[t],e)}function Pe(e){return e==null||e===``?!1:Array.isArray(e)?e.length>0&&e.some(Pe):typeof e!=`object`||Object.values(e).some(Pe)}function Fe(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:ye}function Ie(e=[],t,r,i){let a=i??new Set;return[...Fe(e)].filter(e=>!F(e.hideGroup)&&!F(e.hideGroupInForm)&&n.qr(r,e.name)).sort((e,t)=>Number(e.order??0)-Number(t.order??0)).map(e=>({...e,fields:[...e.fields??[]].map(e=>a.has(e.field)?{...e,show:1,req:1}:e).filter(i=>String(i.field??``).trim()!==``&&i.showOnAdd!==!1&&!F(i.clientScope)&&(!i.visiblePermission||n.mn(i.visiblePermission,t))&&n.Gr(r,e.name,i.field)).map(t=>n.Kr(r,e.name,t.field)?t:{...t,disabled:!0}).sort((e,t)=>Number(e.order??0)-Number(t.order??0))})).filter(e=>e.fields.length)}function Le(e,t,r){let i=new Map(t.map(e=>[e.name,e]));return Fe(e).filter(e=>!F(e.hideGroup)&&n.qr(r,e.name)).sort((e,t)=>Number(e.order??0)-Number(t.order??0)).map(e=>i.get(e.name)??{...e,fields:[]})}function Re(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 ze(e,t){if(!(!e||!t))for(let r of[t.prefillFrom,t.field,t.payloadKey]){if(!r)continue;let t=e[r];if(t??=n.Fr(e,r),t!=null)return t}}function Be(e){if(Array.isArray(e))return e.flatMap(e=>Be(e));if(!e||typeof e!=`object`)return[];let t=C(e),n=w(e);return!t&&!n?[]:[{uid:n||t||`-1`,name:t||`file`,status:`done`,url:n,existing:!0,stored:e}]}var z=e=>e==null||e===``,Ve=e=>String(e).replace(/<[^>]*>/g,``).replace(/ /g,` `).replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).trim(),He=({label:e,message:t,value:n,compare:r,text:i})=>({validator:(a,o)=>z(o)||r(Number(o),Number(n))?Promise.resolve():Promise.reject(Error(t??`${e} ${i} ${n}`))});function Ue(e,t){return n.Rn(e,t)}var We=({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||z(l))return Promise.resolve();let d=i.getFieldValue(Ue(a,u));if(z(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}`))}}),B={noPastDate:({label:e,message:t})=>({validator:(r,i)=>{if(z(i))return Promise.resolve();let a=n.h(i);if(a===null)return Promise.resolve();let o=new Date;return o.setHours(0,0,0,0),a<o.getTime()?Promise.reject(Error(t??`${e} cannot be a past date`)):Promise.resolve()}}),noFutureDate:({label:e,message:t})=>({validator:(r,i)=>{if(z(i))return Promise.resolve();let a=n.h(i);if(a===null)return Promise.resolve();let o=new Date;return o.setHours(23,59,59,999),a>o.getTime()?Promise.reject(Error(t??`${e} cannot be a future date`)):Promise.resolve()}}),minAge:({label:e,message:t,value:r})=>({validator:(e,i)=>{if(z(i))return Promise.resolve();let a=n.h(i);if(a===null)return Promise.resolve();let o=Number(r??18),s=new Date;return s.setFullYear(s.getFullYear()-o),s.setHours(23,59,59,999),a>s.getTime()?Promise.reject(Error(t??`Must be at least ${o} years old`)):Promise.resolve()}}),dateAfterField:({label:e,message:t,value:r,rule:i,form:a,name:o})=>n.f({type:`dateAfterField`,label:e,rule:{...i,value:r??i?.compareField??i?.field,message:t},readSibling:e=>a.getFieldValue(Ue(o,e))}),dateBeforeField:({label:e,message:t,value:r,rule:i,form:a,name:o})=>n.f({type:`dateBeforeField`,label:e,rule:{...i,value:r??i?.compareField??i?.field,message:t},readSibling:e=>a.getFieldValue(Ue(o,e))}),timeAfterField:({label:e,message:t,value:r,rule:i,form:a,name:o})=>({validator:async(s,c)=>{let l=r??i.compareField??i.field;if(!l||z(c))return Promise.resolve();let u=a.getFieldValue(Ue(o,l));if(z(u))return Promise.resolve();let d=n.g(c),f=n.g(u);return d===null||f===null||d>f?Promise.resolve():Promise.reject(Error(t??`${e} must be after ${l}`))}}),timeBeforeField:({label:e,message:t,value:r,rule:i,form:a,name:o})=>({validator:async(s,c)=>{let l=r??i.compareField??i.field;if(!l||z(c))return Promise.resolve();let u=a.getFieldValue(Ue(o,l));if(z(u))return Promise.resolve();let d=n.g(c),f=n.g(u);return d===null||f===null||d<f?Promise.resolve():Promise.reject(Error(t??`${e} must be before ${l}`))}}),greaterThanField:e=>We({...e,compare:(e,t)=>e>=t,text:`must be greater than or equal to`}),strictGreaterThanField:e=>We({...e,compare:(e,t)=>e>t,text:`must be greater than`}),strictLessThanField:e=>We({...e,compare:(e,t)=>e<t,text:`must be less than`}),lessThanOrEqualField:e=>We({...e,compare:(e,t)=>e<=t,text:`must be less than or equal to`}),maxFromField:e=>n.Bn(e),maxFieldWithFallback:({label:e,message:t,value:r,rule:i,form:a,name:o})=>({validator:async(s,c)=>{let l=n.In(r??i.compareFields),u=n.Fn({input:c,compareFields:l,readValue:e=>n.Ln(a,o,e)});return u.ok?Promise.resolve():Promise.reject(Error(t??`${e} must not exceed ${u.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=Ve(r)===``),i?Promise.reject(Error(t??`Mandatory Field`)):Promise.resolve()}}),email:({label:e,message:t})=>n.lr(e,t),unique:({field:e,rule:t,uniqueContext:r})=>n.nr({field:e,validation:t,context:r}),emailTags:({label:e,message:t})=>({validator:(r,i)=>{let a=(Array.isArray(i)?i:[]).find(e=>!n.ur(e));return a?Promise.reject(Error(t??`${e} contains an invalid email: ${a}`)):Promise.resolve()}}),noHtml:({label:e,message:t})=>({validator:(n,r)=>r==null||r===``?Promise.resolve():/<\/?[a-z][\s\S]*>/i.test(String(r))?Promise.reject(Error(t??`${e} cannot contain HTML tags`)):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:e})=>({validator:(t,r)=>{if(r==null||r===``)return Promise.resolve();let{total:i}=n.wi();return n.Ti(r).length===i?Promise.resolve():Promise.reject(Error(e??`Phone number must contain exactly ${i} digits`))}}),minLength3:e=>B.min({...e,value:3}),minLength5:e=>B.min({...e,value:5}),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`?He({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`?Ve(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`?He({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`?Ve(a):String(a);return o===``||o.length<=Number(r)?Promise.resolve():Promise.reject(Error(n??`${t} must not exceed ${r} characters`))}}};function Ge(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=B[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 Ke(e,t){return Array.isArray(e)&&e.length>1?[...e.slice(0,-1),t]:[t]}function qe(e,t,n){return F(e?.req)||(e?.validations??e?.validation??e?.rules??[]).some(e=>(typeof e==`string`?e:e?.type)===`required`)?!0:e?.requiredIfField&&t&&n?F(t.getFieldValue(Ke(n,e.requiredIfField))):!1}function V(e,t,r,i=!1,a=void 0,o=void 0,s=void 0){let c=e.label??e.field??`Field`,l=e.validations??e.validation??e.rules??[],u=l.some(e=>(typeof e==`string`?e:e?.type)===`required`),d=l.some(e=>(typeof e==`string`?e:e?.type)===`email`),f=[];if(s?.length&&f.push(...s),e.rowHierarchy){let i=Xe(t,r);i.rows&&f.push(n.p({field:e,...i}))}!i&&!u&&F(e.req)&&e.disabledByField?f.push({validator:(n,i)=>F(t.getFieldValue(Ke(r,e.disabledByField)))?Promise.resolve():i==null||i===``?Promise.reject(Error(`Mandatory Field`)):Promise.resolve()}):!i&&!u&&e.requiredIfField?f.push({validator:(n,i)=>F(t.getFieldValue(Ke(r,e.requiredIfField)))&&(i==null||i===``)?Promise.reject(Error(`Mandatory Field`)):Promise.resolve()}):!i&&F(e.req)&&!u&&f.push({required:!0,message:`Mandatory Field`}),(e.type===`email`||e.formatter===`email`)&&!d&&f.push(n.lr(c)),e.type===`number`&&f.push(F(e.decimal)?{pattern:/^\d+(\.\d+)?$/,message:`${c} must be a number`}:{pattern:/^[0-9]+$/,message:`${c} must be a number`});let p=n.Ur(e,r,a,n=>Ge(n,e,t,r,a,o));return n.tr([...f,...l.map(p),n.Wr(e)])}function Je(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 Ye(e){let t=e.len??Je(e,`len`),n=e.min??Je(e,`min`),r=e.max??Je(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 Xe(e,t){if(!Array.isArray(t)||t.length<3||typeof t[1]!=`number`)return{};let n=e.getFieldValue(t[0]);return Array.isArray(n)?{rows:n,rowIndex:t[1]}:{}}function Ze(e,t,r){return n.d({field:e,readSibling:e=>t.getFieldValue(Ue(r,e)),...Xe(t,r)})}function Qe(e){return n.m(e)}function $e(e,t){return t?t===`phone`?n.xi(e):t===`digits`?e.replace(/\D/g,``).slice(0,10):t===`email`||t===`noSpaces`?e.replace(/\s/g,``):t===`name`?e.replace(/\s+/g,` `).trimStart().replace(/\b\w/g,e=>e.toUpperCase()):e:e}function et(e=``){let t=String(e).toLowerCase();return t===`job`?`jobs`:t===`candidate`?`candidates`:t===`submissions`?`submission`:t}var tt=new Set([`selectedSource`,`source`,`sourceType`,`scope`]);function nt(e){return e==null?!1:typeof e==`string`?e.trim().length>0:typeof e==`number`?Number.isFinite(e):typeof e==`boolean`?e:u.default.isDayjs(e)?e.isValid():Array.isArray(e)?e.some(nt):typeof e==`object`?`value`in e||`label`in e||`name`in e?nt(e.value??e.label??e.name):Object.entries(e).some(([e,t])=>!tt.has(e)&&nt(t)):!1}function rt(e={}){return Object.entries(e??{}).some(([e,t])=>!tt.has(e)&&nt(t))}function it(e,t,r={},i=``){let a=new FormData;n.Nr(e,t,{scope:`flat`,module:i}).forEach(({formKey:e,file:t})=>{a.append(e,t)});let o={...r,...n.jr(e,t,{module:i})};return o.schemaVersion=1,a.append(`json`,JSON.stringify(o)),a}function at({field:e,form:i,name:a,moduleName:u,value:d,checked:f,onChange:p,scopeValues:m={},onAiUpload:ee,onDuplicateBlur:h,onRegionBlocked:g,onRowOrderChange:_,formDisabled:te,rowFieldKeys:v}){let y=e.type??`text`,b=!Se(e,u),[x,S]=(0,o.useState)(null),[C,w]=(0,o.useState)(!1),[T,ne]=(0,o.useState)(``),[E,re]=(0,o.useState)(``),[ie,ae]=(0,o.useState)(``),[oe,D]=(0,o.useState)(0),[O,se]=(0,o.useState)({open:!1,docs:[],index:0}),[k,A]=(0,o.useState)(null),j=(0,o.useRef)([]),M=Array.isArray(a)&&a.length>=3&&typeof a[1]==`number`,ce=e.lookupFilterValueFrom?I(e.lookupFilterValueFrom):[`__lookup_filter_${e.field}`],le=e.lookupFilterValueFrom&&M?[...a.slice(0,2),...I(e.lookupFilterValueFrom)]:[`__noop_row_filter__`],ue=s.Form.useWatch(ce,i),de=s.Form.useWatch(le,i),fe=z(de)?ue:de,N=e.disabledByField?Array.isArray(a)&&a.length>1?[...a.slice(0,-1),e.disabledByField]:[e.disabledByField]:[`__noop_disabled_watch__`],pe=s.Form.useWatch(N,i),me=e.disabledIf?.field?I(e.disabledIf.field):[`__noop_disabled_if__`],he=e.disabledIf?.field&&M?[...a.slice(0,2),...I(e.disabledIf.field)]:[`__noop_disabled_if_row__`],ge=s.Form.useWatch(me,i),_e=s.Form.useWatch(he,i),P=e.disabledIf?.field?n.r(e.disabledIf,z(_e)?ge:_e):!1,ye=e.optionsFromField||``,be=ye?I(ye):[`__noop_options_from__`],L=ye&&M&&(!v||v.has(ye))?[...a.slice(0,2),...I(ye)]:[`__noop_options_from_row__`],we=s.Form.useWatch(be,i),Te=s.Form.useWatch(L,i),Ee=z(Te)?we:Te,De=F(e.prefillWhenExclusive)&&e.prefillWhen?.length?e.prefillWhen:null,Oe=s.Form.useWatch(e=>De?JSON.stringify(n.wn(De).map(t=>{let n=t=>t.reduce((e,t)=>e==null?e:e[t],e),r=M&&(!v||v.has(t))?n([...a.slice(0,2),...I(t)]):void 0;return(z(r)?n(I(t)):r)??null})):``,{form:i,preserve:!0}),ke=(0,o.useMemo)(()=>{if(!De||!Oe)return null;let e=JSON.parse(Oe),t={};return n.wn(De).forEach((n,r)=>{t[n]=e[r]}),t},[Oe]),Ae=(0,o.useContext)(R),je=e.exclusiveInGroup&&M?[a[0]]:[`__noop_exclusive_watch__`],Me=s.Form.useWatch(je,i),Pe=(0,o.useMemo)(()=>{if(!e.exclusiveInGroup||!M||!Array.isArray(Me))return!1;let t=a[1],n=a[a.length-1];return Me.some((e,r)=>r!==t&&F(e?.[n]))},[e.exclusiveInGroup,M,Me,a]),Fe=e.lookupFilterValueFrom?m[e.lookupFilterValueFrom]:void 0,Ie=z(Fe)?fe:Fe,Le=(0,o.useRef)(n.hn);(0,o.useEffect)(()=>{if(!e.lookupFilterField||!e.lookupFilterValueFrom)return;let t=Le.current;Le.current=Ie,n.gn({previous:t,next:Ie,currentValue:i.getFieldValue(a)})&&i.setFields([{name:a,value:void 0,errors:[]}])},[Ie]);let Re=e.locationCountryFrom?I(e.locationCountryFrom):[`__noop_loc_country__`],ze=e.locationCountryFrom&&M?[...a.slice(0,2),...I(e.locationCountryFrom)]:[`__noop_loc_country_row__`],Be=s.Form.useWatch(Re,i),Ve=s.Form.useWatch(ze,i),He=z(Ve)?Be:Ve,Ue=e.locationStateFrom?I(e.locationStateFrom):[`__noop_loc_state__`],We=e.locationStateFrom&&M?[...a.slice(0,2),...I(e.locationStateFrom)]:[`__noop_loc_state_row__`],B=s.Form.useWatch(Ue,i),Ge=s.Form.useWatch(We,i),Ke=z(Ge)?B:Ge,qe=e.dataSource===`locationMaster`&&(e.locationLevel===`state`&&z(He)||e.locationLevel===`city`&&(z(He)||z(Ke))),V=b||!!e.disabled||P||(e.disabledByField?F(pe):!1)||!!te||Ae||Pe||qe;(0,o.useEffect)(()=>{if(y===`location`){let n=!1;w(!0);async function r(){try{let r=new URLSearchParams({search:T,limit:String(e.limit??50),offset:`0`}),i=await t.o(t.S,`/admin/location-dropdown-values?${r}`),a=i?.data??i??[];n||S(Ce(Array.isArray(a)?a:[]))}catch(t){console.error(`[AddFormV1] Failed to fetch locations for "${e.field}":`,t),n||S([])}finally{n||w(!1)}}return r(),()=>{n=!0}}let r=e.dataSource;if(![`select`,`radio`,`checkbox`].includes(y)||!r||r===`static`)return;if(r===`lookup`&&e.lookupFilterField&&z(Ie)){S([]),w(!1);return}if(r===`lookup`&&e.lookupMinSearchLength&&E.trim().length<e.lookupMinSearchLength){S([]),w(!1);return}let i=!1;w(!0);async function a(){try{let a=[];if(r===`master`||r===`module`)a=await n.ri(u,e.field,r===`master`?ie:``,e.limit??50,0,{dataSource:r,masterName:e.masterName,groupName:e.groupName});else if(r===`lookup`){let r=new URLSearchParams({collection:e.lookupCollection??``,displayField:e.displayField??``,valueField:e.valueField??`_id`});e.displayField2&&r.set(`displayField2`,e.displayField2),E&&r.set(`search`,E),e.lookupFilterField&&!z(Ie)&&(r.set(`filterField`,e.lookupFilterField),r.set(`filterValue`,String(Ie))),Array.isArray(e.filters)&&e.filters.length>0&&r.set(`filters`,JSON.stringify(e.filters));let i={field:e.field,extraFields:e.extraFields,optionsRequireExtraField:e.optionsRequireExtraField,optionsRequireExtraValue:e.optionsRequireExtraValue,optionsHierarchyParentField:e.optionsHierarchyParentField,optionsHierarchySelfFrom:e.optionsHierarchySelfFrom},o=n.xn(i);o=n.yn(e,o),o.length&&r.set(`extraFields`,o.join(`,`));let s=await t.o(t.S,`/admin/lookup-dropdown-values?${r}`);a=s?.data??s??[],a=n.vn(a,e,Ie,{source:`AddFormV1`}),a=n.bn(a,i,{source:`AddFormV1`})}else if(r===`locationMaster`){let n=e.locationLevel||`country`;if(n===`state`&&z(He))a=[];else if(n===`city`&&(z(He)||z(Ke)))a=[];else{let r=new URLSearchParams({level:n,limit:String(e.limit??250),offset:`0`});z(He)||r.set(`country`,String(He)),z(Ke)||r.set(`state`,String(Ke)),E&&r.set(`search`,E);let i=await t.o(t.S,`/admin/location-dropdown-values?${r}`);a=i?.data??i??[]}}else if(r===`group`){let n=(e.groupName??``).toLowerCase().trim();if(n===`users`||n===`user`){let n=await t.o(t.S,`/get-all-users?limit=500&offset=0`),r=n?.data?.users??n?.users??n?.data??[],i=String(e.groupRoleContains??``).trim().toLowerCase(),o=i?Array.isArray(r)?r.filter(e=>String(e.roleName??``).toLowerCase().includes(i)):[]:r;a=Array.isArray(o)?o.map(e=>({label:[e.firstName,e.lastName].filter(Boolean).join(` `).trim()||e.userName||e.email||String(e.userId),value:e.userId??e.id})):[]}}i||(j.current=Array.isArray(a)?a:[],S(Ce(j.current)))}catch(t){console.error(`[AddFormV1] Failed to fetch options for "${e.field}":`,t),i||S([])}finally{i||w(!1)}}return a(),()=>{i=!0}},[y,e.dataSource,e.field,e.limit,e.lookupCollection,e.displayField,e.displayField2,e.valueField,e.lookupFilterField,Ie,e.groupName,e.groupRoleContains,e.masterName,T,E,ie,u,e.extraFields,e.optionsRequireExtraField,e.optionsRequireExtraValue,e.optionsHierarchyParentField,e.optionsHierarchySelfFrom,oe,e.lookupMinSearchLength,e.locationLevel,e.locationCountryFrom,e.locationStateFrom,He,Ke]);let Je=Ce(e.options??e.values??[]),Xe=x??Je,[et,tt]=(0,o.useState)([]),nt=n.y(d,Xe).join(`,`);(0,o.useEffect)(()=>{if(!nt||e.dataSource!==`lookup`||C)return;let t=!1;return n._(e,nt.split(`,`)).then(e=>{t||tt(e)}).catch(()=>{t||tt([])}),()=>{t=!0}},[nt,e.dataSource,e.lookupCollection,e.displayField,e.displayField2,e.valueField,C]);let rt=n.v(Xe,et),it=ye?n.Sn(rt,Ee):rt,at=De?n.Cn(it,De,ke??{}):it,ot=(e.multiSelect?`multiple`:e.mode??(F(e.multiple)?`multiple`:void 0))??(n.Pr(e)===`array`?`multiple`:void 0),st=F(e.allowCustomValues),ct=st?`tags`:ot,lt=!!e.multiSelect||F(e.multiple)||n.Pr(e)===`array`||ot===`multiple`,ut=st?typeof e.tokenSeparators==`string`&&e.tokenSeparators?e.tokenSeparators.split(``):[`,`]:void 0,dt=[`select`,`location`].includes(y),H=e.hidePlaceholder?void 0:e.placeholder??`${dt?`Select`:`Enter`} ${String(e.label??``).toLowerCase()}`,ft=Ye(e),U=e=>{p?.(e),setTimeout(()=>{i.validateFields([a]).catch(()=>{})},0)},pt=n.Hn({field:e,form:i,name:a,moduleName:u,scopeValues:m,ownValue:d,onDone:(t,r)=>{D(e=>e+1);let o=n.Pr(e)!==`array`&&!e.multiSelect&&!e.multiple;t===`create`&&r!=null&&o&&((e.clearGroupOnChange||e.linkedClearField)&&n.b(i,e,a,v),U(n.Br(e)?{value:r}:r))}}),W=e.validator?.type?{...e.validator,title:e.validator.title||e.label||`Field`}:null,G={...ft,disabled:V,placeholder:H,prefix:e.icon?null:xe[e.field],value:d??``,onChange:t=>{let r=e.formatter?$e(t.target.value,e.formatter):t.target.value;if(W){let{cleaned:e,error:t}=n.sr(r,W,`change`);A(t),r=e}U(r)},onBlur:t=>{if(W){let{cleaned:e,error:r}=n.sr(t.target.value,W,`blur`);A(r),e!==t.target.value&&U(e)}e.checkDuplicateOnBlur&&String(t.target.value??``).trim()&&h?.(e)},...W&&{onKeyPress:e=>{let t=n.cr(W.type);if(!t||e.which===0||e.keyCode===8||e.keyCode===13)return;let r=String.fromCharCode(e.which??e.keyCode);if(!t.test(r)){e.preventDefault();let t=`${W.title} — invalid character.`;A(t),setTimeout(()=>A(e=>e===t?null:e),1800)}},maxLength:W.maxLength??ft.maxLength}};if(y===`tagify`)return(0,l.jsx)(s.Select,{value:d,allowClear:!0,disabled:V,mode:`tags`,placeholder:H,onChange:U});if(y===`location`)return(0,l.jsx)(s.Select,{value:d,allowClear:!0,showSearch:!0,filterOption:!1,disabled:V,loading:C,mode:ot,options:at,placeholder:H,notFoundContent:C?(0,l.jsx)(s.Spin,{size:`small`}):void 0,onSearch:ne,onFocus:()=>ne(e=>e),onChange:U});if(y===`select`){let t=e.dataSource===`lookup`,r=e.dataSource===`master`,o=t||r,c=n.Br(e),u=n.zr(e,d,at),f=st&&!lt?u==null||u===``?void 0:Array.isArray(u)?u:[u]:u;return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(s.Select,{value:f,labelInValue:c||void 0,allowClear:!0,showSearch:e.showSearch!==!1,optionFilterProp:`label`,filterOption:!o&&void 0,disabled:V,loading:C,mode:ct,tokenSeparators:ut,options:at,placeholder:H,notFoundContent:C?(0,l.jsx)(s.Spin,{size:`small`}):void 0,onSearch:t?re:r?ae:void 0,onChange:t=>{let r=st&&!lt&&Array.isArray(t)?t.length?t[t.length-1]:void 0:t;if(U(r),(e.clearGroupOnChange||e.linkedClearField)&&n.b(i,e,a,v),e.autofillFrom?.length){let t=r&&!Array.isArray(r)&&typeof r==`object`?r.value:r,n=Array.isArray(a)&&a.length>=3&&typeof a[1]==`number`;if(r==null)e.autofillFrom.forEach(({targetField:e})=>{let t=n?[...a.slice(0,2),...I(e)]:I(e);i.setFieldValue(t,null)});else if(j.current.length>0){let r=e.valueField??`_id`,o=j.current.find(e=>Ne(e,r)===t||e._id===t||e.id===t||e.value===t);o&&e.autofillFrom.forEach(({optionKey:e,targetField:t})=>{let r=Ne(o,e)??o.extraData?.[e]??null,s=n?[...a.slice(0,2),...I(t)]:I(t);i.setFieldValue(s,r)})}}},dropdownRender:pt.footer?e=>(0,l.jsxs)(l.Fragment,{children:[e,pt.footer]}):void 0}),pt.modal]})}if(y===`radio`)return(0,l.jsx)(s.Radio.Group,{value:d,disabled:V,options:at,onChange:e=>U(e.target.value)});if(y===`checkbox`)return at.length>0?(0,l.jsx)(s.Checkbox.Group,{value:d,disabled:V,options:at,onChange:U}):(0,l.jsx)(s.Checkbox,{checked:!!(f??d),disabled:V,onChange:t=>{let n=t.target.checked;if(!(n&&g?.(e))&&(U(n),n&&_?.(e,a),e.linkedClearField&&n)){let t=Array.isArray(a)&&a.length>1?[...a.slice(0,-1),e.linkedClearField]:[e.linkedClearField];i.setFieldValue(t,null)}},children:e.checkboxLabel??e.label});if(y===`text-editor`)return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(n.oi,{value:d??i.getFieldValue(a)??``,disabled:V,placeholder:H,onChange:e=>{if(W){let{error:t}=n.sr(e,W,`change`);A(t)}U(e)}}),k&&(0,l.jsx)(`div`,{className:`v1-input-validator-hint`,children:k})]});if(y===`textarea`)return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(ve,{...G,rows:e.rows??3,className:`v1-scroll-textarea`}),k&&(0,l.jsx)(`div`,{className:`v1-input-validator-hint`,children:k})]});if(y===`date`)return(0,l.jsx)(s.DatePicker,{disabled:V,placeholder:H,style:{width:`100%`},suffixIcon:(0,l.jsx)(c.CalendarOutlined,{}),value:d??null,disabledDate:Ze(e,i,a),defaultPickerValue:Qe(e),onChange:t=>{U(t),_?.(e,a)}});if(y===`time`)return(0,l.jsx)(s.TimePicker,{disabled:V,placeholder:H,style:{width:`100%`},value:d??null,onChange:e=>U(e)});if(y===`file`){let t=e.validations??e.validation??e.rules??[],i=t.find(e=>(typeof e==`string`?e:e?.type)===`fileType`),a=t.find(e=>(typeof e==`string`?e:e?.type)===`fileSize`),o=t.find(e=>(typeof e==`string`?e:e?.type)===`maxFiles`),u=n.Yn(e),f=u?u.exts.map(e=>`.${e}`).join(`,`):i?.value?i.value.split(`,`).map(e=>`.${e.trim().replace(/^\./,``)}`).join(`,`):void 0,p=a?Number(a?.value??5):void 0,m=o?Number(o?.value??1):F(e.multiple)?e.maxCount??5:1,h=Array.isArray(d)?d:[],g=h.length<m,_=e=>e?e<1048576?`${(e/1024).toFixed(0)} KB`:`${(e/1024/1024).toFixed(2)} MB`:``,te=e=>{let t=String(e??``).split(`.`).pop()?.toLowerCase();return t===`pdf`?(0,l.jsx)(c.FilePdfOutlined,{className:`v1-file-type-icon v1-file-icon-pdf`}):[`doc`,`docx`].includes(t)?(0,l.jsx)(c.FileWordOutlined,{className:`v1-file-type-icon v1-file-icon-word`}):[`xls`,`xlsx`,`csv`].includes(t)?(0,l.jsx)(c.FileExcelOutlined,{className:`v1-file-type-icon v1-file-icon-excel`}):[`jpg`,`jpeg`,`png`,`gif`,`svg`,`webp`].includes(t)?(0,l.jsx)(c.FileImageOutlined,{className:`v1-file-type-icon v1-file-icon-image`}):(0,l.jsx)(c.FileOutlined,{className:`v1-file-type-icon v1-file-icon-default`})},v=e=>{U(h.filter((t,n)=>n!==e))},y=(e,t)=>{let n=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);se({open:!0,docs:n,index:t??0})},b=m>1,x=m-h.length,S=[u?u.hint:f?f.split(`,`).map(e=>e.replace(`.`,``).toUpperCase()).join(`, `):null,p?`up to ${p} MB`:null].filter(Boolean).join(` `),C=b&&h.length>0?[S,`${x} of ${m} remaining`].filter(Boolean).join(` • `):S,w=h.length>0?`Add ${b?`more files`:`file`}`:e.buttonLabel??`Upload ${e.label??`File`}`,T=e=>{if(h.length>=m)return s.Upload.LIST_IGNORE;if(f){let t=(e.name.split(`.`).pop()??``).toLowerCase();if(!f.split(`,`).map(e=>e.replace(/^\./,``).toLowerCase()).includes(t))return s.message.error(u?u.error:i?.message??`Only ${i.value} files are allowed`),s.Upload.LIST_IGNORE}return p!==void 0&&e.size/1024/1024>p&&(s.message.error(a?.message??`File must be smaller than ${p} MB`),s.Upload.LIST_IGNORE)},ne=({fileList:e})=>{let t=e.slice(0,m);if(U(t),ee&&t.length>h.length){let e=t[t.length-1];e?.originFileObj&&ee(e.originFileObj)}},E={accept:f,fileList:h,showUploadList:!1,multiple:!0,maxCount:m,beforeUpload:T,onChange:ne,disabled:V},re=h.map((e,t)=>(0,l.jsxs)(`div`,{className:`v1-file-item`,children:[(0,l.jsx)(`div`,{className:`v1-file-item-icon`,children:te(e.name)}),(0,l.jsxs)(`div`,{className:`v1-file-item-info`,children:[(0,l.jsx)(`span`,{className:`v1-file-item-name`,title:e.name,children:e.name}),(0,l.jsx)(`span`,{className:`v1-file-item-meta`,children:e.existing?`Previously uploaded`:`${_(e.size)}${e.size?` • `:``}Uploaded just now`})]}),(0,l.jsxs)(s.Space,{size:6,className:`v1-file-item-actions`,children:[(0,l.jsx)(s.Button,{size:`small`,icon:(0,l.jsx)(c.EyeOutlined,{}),onClick:()=>y(e,t),className:`v1-file-view-btn`,children:`View`}),(0,l.jsx)(s.Button,{size:`small`,danger:!0,icon:(0,l.jsx)(c.DeleteOutlined,{}),onClick:()=>v(t),className:`v1-file-delete-btn`})]})]},e.uid??t)),ie=(0,l.jsx)(r.t,{documents:O.docs,open:O.open,onClose:()=>se(e=>({...e,open:!1})),initialIndex:O.index});if(b){let t=h.length>0?`Upload more ${e.label??`files`}`:e.buttonLabel??`Upload ${e.label??`File`}`;return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)(`div`,{className:`v1-file-upload-wrapper`,children:[g&&(0,l.jsx)(s.Upload,{...E,style:{width:`100%`,display:`block`},children:(0,l.jsxs)(`div`,{className:`v1-upload-dropzone v1-upload-dropzone-center${V?` v1-upload-dropzone-disabled`:``}`,children:[(0,l.jsxs)(`div`,{className:`v1-upload-dropzone-title-row`,children:[(0,l.jsx)(c.CloudUploadOutlined,{className:`v1-upload-cloud-icon v1-upload-cloud-icon-sm`}),(0,l.jsx)(`span`,{className:`v1-upload-dropzone-title v1-upload-dropzone-title-blue`,children:t})]}),(0,l.jsx)(`span`,{className:`v1-upload-dropzone-sub`,children:`Drag & drop or click to upload`}),S&&(0,l.jsx)(`span`,{className:`v1-upload-dropzone-sub`,children:S})]})}),h.length>0&&(0,l.jsx)(`div`,{className:`v1-file-grid`,children:re}),g&&h.length>0&&(0,l.jsx)(s.Upload,{...E,style:{display:`inline-block`},children:(0,l.jsx)(s.Button,{type:`link`,size:`small`,icon:(0,l.jsx)(c.PlusOutlined,{}),className:`v1-add-more-files-btn`,children:`Add more files`})})]}),ie]})}return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)(`div`,{className:`v1-file-upload-wrapper`,children:[h.length>0&&(0,l.jsx)(`div`,{className:`v1-file-rows-single`,children:re}),g&&(0,l.jsx)(s.Upload,{accept:f,fileList:h,showUploadList:!1,multiple:!1,maxCount:1,beforeUpload:T,onChange:ne,disabled:V,style:{width:`100%`,display:`block`},children:(0,l.jsxs)(`div`,{className:`v1-upload-dropzone v1-upload-dropzone-single${V?` v1-upload-dropzone-disabled`:``}`,children:[(0,l.jsx)(c.CloudUploadOutlined,{className:`v1-upload-cloud-icon`}),(0,l.jsx)(`span`,{className:`v1-upload-dropzone-title`,children:w}),C&&(0,l.jsxs)(`span`,{className:`v1-upload-dropzone-sub`,children:[`— `,C]})]})})]}),ie]})}return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(s.Input,{...G,type:y===`number`?`number`:y,...y===`number`&&F(e.decimal)?{step:`any`}:{},...e.suffix?{suffix:e.suffix}:{}}),k&&(0,l.jsx)(`div`,{className:`v1-input-validator-hint`,children:k})]})}function ot({icon:e,title:t}){return(0,l.jsxs)(s.Space,{size:10,align:`center`,children:[(0,l.jsx)(`div`,{className:`v1-section-icon-box`,children:e}),(0,l.jsx)(P,{strong:!0,className:`v1-section-label`,children:t})]})}function st({field:e,label:t,locked:r}){if(!t)return t;let i=n._n(e),a=!!i;return!a&&!r?t:(0,l.jsxs)(`span`,{className:`v1-field-label-with-info`,children:[(0,l.jsx)(`span`,{children:t}),a&&(0,l.jsx)(s.Tooltip,{title:i,children:(0,l.jsx)(c.InfoCircleOutlined,{className:`v1-field-info-icon`})}),r&&(0,l.jsx)(s.Tooltip,{title:`You don't have permission to edit this field`,children:(0,l.jsx)(c.LockOutlined,{className:`v1-field-info-icon`})})]})}function ct({group:e}){return!F(e?.infoEnabled)||z(e?.infoText)?null:(0,l.jsx)(P,{type:`secondary`,className:`v1-group-info-message`,children:e.infoText})}function lt({group:e}){return!F(e?.toggleEnabled)||z(e?.toggleField)?null:(0,l.jsxs)(s.Space,{size:6,align:`center`,onClick:e=>e.stopPropagation(),children:[(0,l.jsx)(P,{type:`secondary`,className:`v1-combine-toggle-label`,children:e.toggleLabel||`Toggle`}),(0,l.jsx)(s.Form.Item,{name:e.toggleField,valuePropName:`checked`,initialValue:!!e.toggleValue,noStyle:!0,children:(0,l.jsx)(s.Switch,{size:`small`})})]})}function ut(e,t){let n=t;if(Array.isArray(n)&&(n=n[n.length-1]),n&&typeof n==`object`){let e=new Set([`timestamp`,`updatedBy`,`updatedAt`,`createdAt`,`createdBy`,`_id`]),t=Object.entries(n).filter(([t,n])=>!e.has(t)&&n!=null&&n!==``&&typeof n!=`object`).map(([,e])=>String(e).trim()).filter(Boolean);if(!t.length)return``;n=t.join(` `)}let r=String(n??``).trim();if(!r)return``;let i=String(e?.prefillHintLabel??`Last recorded: {value}`);return i.includes(`{value}`)?i.replace(`{value}`,r):`${i} ${r}`}function dt(e,t){let n=e?.helpText,r=(Array.isArray(n)?n:[n]).map(e=>e==null?``:String(e).trim()).filter(Boolean);if(t&&r.push(t),r.length)return(0,l.jsx)(`span`,{className:`v1-field-help-text`,children:r.map((e,t)=>(0,l.jsx)(P,{type:`secondary`,className:`v1-field-help-line`,children:e},t))})}var H=(0,o.forwardRef)(function({moduleName:e,action:r,authToken:i,clientId:u,region:p,formGroups:m,loading:ee=!1,error:h=``,breadcrumbItems:g=[],formType:_=`add`,submitText:te,cancelPath:v=`/candidates`,onSubmit:b,wizardAdapter:x=null,wizardAdapterProps:S=null,initialRecord:C=null,initialValues:w=null,prefillFromUrl:T=!1,extraPayload:ne=null,presetClientId:E=null,listViewProps:ae={},selectedScope:oe=``,searchActionContext:D=null,embedded:k=!1,onSuccess:A=null,onCancel:j=null,wizard:M,hideFooter:ce=!1,uniqueCheckDebounceMs:le=0},de){let fe=C??w;(0,o.useEffect)(()=>(i&&t._(i),()=>{i&&t.r()}),[i]);let N=_===`search`,_e=te??(N?`Search`:`Create`),ve=(0,d.useNavigate)(),xe=(0,d.useLocation)(),Se=(0,o.useRef)(null),Ce=(0,o.useRef)(null),I=(0,d.useParams)(),[L]=(0,d.useSearchParams)(),[R]=s.Form.useForm(),[Ve,He]=(0,o.useState)(0);(0,o.useImperativeHandle)(de,()=>({submit:()=>R.submit(),validate:()=>R.validateFields(),getValues:()=>R.getFieldsValue(!0),reset:()=>R.resetFields()}),[R]);let We=Array.isArray(m)?m:null,B=We?null:e,Ge=s.Form.useWatch([],R),[Ke,Je]=(0,o.useState)(!1),[Ye,Xe]=(0,o.useState)({}),[Ze,Qe]=(0,o.useState)([]),[$e,tt]=(0,o.useState)(!!B),[nt,H]=(0,o.useState)(``),[ft,U]=(0,o.useState)(``),[pt,W]=(0,o.useState)(!1),[G,mt]=(0,o.useState)({searched:!1,rows:[],total:0,fields:[],actions:[],actionRules:[],loading:!1}),[K,ht]=(0,o.useState)({current:1,pageSize:10}),[gt,_t]=(0,o.useState)({}),[q,vt]=(0,o.useState)(`internal`),[yt,bt]=(0,o.useState)([]),[xt,St]=(0,o.useState)({}),[Ct,wt]=(0,o.useState)([]),[Tt,Et]=(0,o.useState)(u??``),[Dt,Ot]=(0,o.useState)(p??``),[kt,At]=(0,o.useState)(null),[jt,Mt]=(0,o.useState)(!1),[Nt,Pt]=(0,o.useState)(null),[Ft,It]=(0,o.useState)(()=>new Set),Lt=B?Ze:m??ye,Rt=B?$e:ee,zt=B?nt:h,[Bt,Vt]=(0,o.useState)(``),Ht=I?.jobId&&I.jobId!==`_`?I.jobId:L.get(`jobId`)||``;(0,o.useEffect)(()=>{if(We||u||E||!Ht)return;let e=!1;return(async()=>{try{let t=Re(Fe(await a.r({module:`jobs`,id:Ht})))??{},n=t.clientId??t.client??``,r=n&&typeof n==`object`?n.id??n.value??``:n;!e&&r&&Vt(String(r))}catch(e){console.error(`Client-scope resolve from job failed:`,e)}})(),()=>{e=!0}},[We,u,E,Ht]);let J=u||E||Bt||Tt,Ut=p||Dt;(0,o.useEffect)(()=>{n.Ci()},[]),(0,o.useEffect)(()=>{let e=!1;return queueMicrotask(()=>{if(!e){if(!B){Pt(null);return}n.Ta({roleId:localStorage.getItem(`roleId`)},B,{clientId:J,region:Ut}).then(t=>{e||Pt(Array.isArray(t)&&t.length?t:null)}).catch(()=>{e||Pt(null)})}}),()=>{e=!0}},[B,J,Ut]),(0,o.useEffect)(()=>{let e=!1;return queueMicrotask(()=>{if(!e){if(!B){It(new Set);return}n.xa(B).then(t=>{e||It(new Set(Array.isArray(t)?t:[]))}).catch(()=>{e||It(new Set)})}}),()=>{e=!0}},[B]);let Y=(0,o.useMemo)(()=>Ie(Lt,e,Nt,Ft),[Lt,e,Nt,Ft]),Wt=(0,o.useMemo)(()=>Le(Lt,Y,Nt),[Lt,Y,Nt]),Gt=(0,o.useMemo)(()=>Wt.filter(e=>!e.showIf?.field||Ae(e.showIf,Ne(Ge??{},e.showIf.field))),[Wt,Ge]),X=(0,o.useMemo)(()=>n.rn(Gt),[Gt]),Kt=n.in(Wt),Z=!N&&(typeof M==`boolean`?M:Kt),Q=Math.min(Ve,Math.max(0,X.length-1)),qt=Z&&X.at(-1)?.content?.type===`success`?X.length-1:-1,Jt=Q===qt,Yt=Q+1===qt,Xt=e=>{He(e),Xe({})},Zt=()=>$.next(),Qt=e=>$n($.prepareSubmitValues(n.on(R.getFieldsValue(!0),e))),$t=e=>{Xe({});let t=Z?n.cn(X,e?.errorFields?.[0]?.name):-1;if(Z&&$.onSubmitFailed(e,t),t>=0&&t!==Q){He(t),requestAnimationFrame(()=>n.c(e,R));return}n.c(e,R)},[en,tn]=(0,o.useState)(0),nn=n.$n(le),rn=nn>0,an=(0,o.useMemo)(()=>rn?n.Qn(n.Zn):n.Zn,[rn]),on=(0,o.useMemo)(()=>n.ir({checkFieldUnique:an,onPendingChange:tn}),[an]),sn=(0,o.useMemo)(()=>N?void 0:{checker:on,module:e,clientId:J||void 0,region:Ut||void 0},[N,on,e,J,Ut]),cn=(0,o.useMemo)(()=>n.rr(Y),[Y]),ln=(0,o.useMemo)(()=>n.Dr(Y),[Y]),un=(0,o.useRef)({}),dn=(0,o.useRef)(null),fn=(0,o.useMemo)(()=>Y.flatMap(e=>e.formActions??[]),[Y]),pn=(0,o.useMemo)(()=>Fe(Lt).find(e=>e?.duplicateCheck)?.duplicateCheck??{},[Lt]),mn=y({form:R,moduleName:e,config:pn,onUseExisting:(0,o.useCallback)((t,r,i,a)=>{if(!t)return;let o=r?.editRoute||pn?.editRoute;if(!o){console.warn(`[duplicate-check] ${e}: no editRoute configured, so the existing record was not opened. Set it in Admin → Automations → "Check for someone already on file" → "Where to open the existing record".`);return}let s=n.fn(o,t,{});s&&ve(s,{state:{fromDuplicate:!0,carryFiles:a?.files??null}})},[pn,ve])}),hn=n.pr({form:R,groups:Y,module:e,onParsed:(0,o.useCallback)(async({field:e,payload:t})=>{let n=e?.field,r=n?{files:{[n]:R.getFieldValue(n)}}:null,i=await mn.prompt({reason:`upload`,payload:t,carry:r});return i===`clear`||(n&&(R.setFieldValue(n,[]),s.message.info(i===`existing`?`Résumé moved to their record.`:`Résumé removed — nothing on this form was filled in.`)),`abort`)},[mn,R]),onApplied:(0,o.useCallback)(async()=>{await mn.prompt({reason:`upload`})},[mn])}),gn=(0,o.useCallback)(e=>{let t=n.Si().region,r=Y.find(t=>(t.fields??[]).some(t=>t.field===e.field));if(!r)return!1;let i=n.k(r,t),a=i.orderBy?.inProgressField??`currentStudyingHere`;if(e.field!==a||n.C(i))return!1;let o=n.w(i);return n.Er({tone:o?`duplicate`:`overwrite`,title:o?`This has to be completed first`:`You can add this, but they cannot be submitted`,facts:[{label:`Region`,value:t||`Common`},{label:`Entry`,value:r.label??r.name}],body:n.T(i),okText:o?`Got it`:`Keep it anyway`}),o},[Y]),_n=(0,o.useCallback)((e,t)=>{let r=Y.find(e=>e.name===t);if(!r)return;let i=n.k(r,n.Si().region),a=i.orderBy?.inProgressField??`currentStudyingHere`;if(e.field!==a)return;let o=n.x(i);return o?[o]:void 0},[Y]),vn=(0,o.useCallback)(async(e,t)=>{if(!Array.isArray(t)||t.length<3||typeof t[1]!=`number`)return;let r=t[0],i=t[1],a=Y.find(e=>e.name===r);if(!a)return;let o=n.k(a,n.Si().region);if(!o.orderBy)return;await Promise.resolve();let s=R.getFieldValue(r);Array.isArray(s)&&await n.O({group:o,rows:s,rowIndex:i,move:un.current[r]?.move,confirm:({title:e,body:t,okText:r,cancelText:i,from:a,to:o})=>n.Tr({tone:`suggestion`,title:e,facts:[{label:`This entry is at`,value:`Row ${a+1}`},{label:`It belongs at`,value:`Row ${o+1}`}],body:t,okText:r,cancelText:i})})},[Y,R]),yn=(0,o.useRef)(!1),bn=(0,o.useCallback)(async()=>{if(!yn.current){yn.current=!0;try{await mn.prompt({reason:`blur`})}finally{yn.current=!1}}},[mn]),[xn,Sn]=(0,o.useState)(`list`),Cn=N&&!rt(Ge),{hasClientScope:wn,clientGateMessage:Tn,clientGateResetOnChange:En}=(0,o.useMemo)(()=>{let e=Fe(Lt).flatMap(e=>e.fields??[]).find(e=>F(e.clientScope));return e?{hasClientScope:!0,clientGateMessage:e.clientGateMessage||``,clientGateResetOnChange:F(e.clientGateResetOnChange)}:{hasClientScope:!1,clientGateMessage:``,clientGateResetOnChange:!1}},[Lt]),Dn=e=>{if(En){R.resetFields();let e=R.getFieldsValue(!0);R.setFieldsValue(Object.fromEntries(Object.keys(e).map(e=>[e,void 0]))),mt({searched:!1,rows:[],total:0,fields:[],loading:!1}),ht({current:1,pageSize:10})}Et(e??``)},On=wn&&!J,kn=(0,o.useCallback)(()=>n.qi({limit:200}).then(wt).catch(()=>wt([])),[]);(0,o.useEffect)(()=>{!wn||E||Bt||kn()},[wn,E,Bt,kn]);let An=n.Hn({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:e,scopeValues:{},ownValue:J,onDone:(e,t)=>{kn(),e===`create`&&t!=null&&Dn(String(t))}});(0,o.useEffect)(()=>{if(!B)return;let t=!1;async function i(){try{tt(!0),H(``);let i=N?await n.oa(e,`search`,r):await a.r({module:e,action:r,clientId:J,region:Ut});t||(Qe(Fe(N?i?.[0]:i)),N&&U(i?.[0]?.label||``))}catch(n){console.error(`Failed to fetch ${e} form groups:`,n),t||H(n?.message||`Failed to fetch form groups`)}finally{t||tt(!1)}}return i(),()=>{t=!0}},[B,e,r,N,J,Ut]);let jn=(0,o.useMemo)(()=>{if(!T)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}},[T,L,I]);(0,o.useEffect)(()=>{let e=jn?.source;if(!e)return;let t=!1;async function n(){try{Mt(!0);let n=await a.r({module:e.module,id:e.id});t||At(Fe(n))}catch(e){console.error(`Failed to fetch prefill data:`,e),t||At([])}finally{t||Mt(!1)}}return n(),()=>{t=!0}},[jn]);let Mn=(0,o.useMemo)(()=>kt?Object.fromEntries(kt.filter(e=>e.addRow&&Array.isArray(e.rows)&&e.rows.length>0).map(e=>[e.payloadKey||e.name,e.rows])):{},[kt]),Nn=(0,o.useMemo)(()=>Re(kt),[kt]),Pn=(0,o.useMemo)(()=>{let e=new Set;return Y.forEach(t=>(t.fields??[]).forEach(t=>{t.prefillFromModule&&e.add(et(t.prefillFromModule))})),[...e]},[Y]),[Fn,In]=(0,o.useState)({});(0,o.useEffect)(()=>{let e=jn?.linkage;if(!e||Pn.length===0)return;let t=!1;return Pn.forEach(async r=>{let i=n.kn(r,e);if(i)try{let e=Re(Fe(await a.r({module:r,id:i})));!t&&e&&In(t=>({...t,[r]:e}))}catch(e){console.error(`Context prefill fetch failed for ${r}:`,e)}}),()=>{t=!0}},[Pn,jn]);let Ln=(0,o.useMemo)(()=>{let e=fe??Nn;if(!e&&Object.keys(Fn).length===0)return{};let t={};return Y.forEach(n=>{n.addRow||(n.fields??[]).forEach(n=>{if(!n.field||!F(n.prefillAsHint)||F(n.addRow))return;let r=n.prefillFromModule?Fn[et(n.prefillFromModule)]:e;if(!r)return;let i=ze(r,n);if(i==null)return;let a=ut(n,i);a&&(t[n.field]=a)})}),t},[fe,Nn,Fn,Y]);(0,o.useEffect)(()=>{let e=fe??Nn;if(!e&&Object.keys(Fn).length===0||Rt||Y.length===0)return;let t={};Y.forEach(r=>{if(r.toggleEnabled&&r.toggleField&&e){let n=ze(e,{field:r.toggleField});n!=null&&(t[r.toggleField]=!!n)}r.addRow||(r.fields??[]).forEach(r=>{if(!r.field||F(r.addRow))return;let i=r.prefillFromModule?Fn[et(r.prefillFromModule)]:e;if(!i)return;let a=ze(i,r);if(a!=null&&!F(r.prefillAsHint)){if(r.type===`file`){let e=Be(a);e.length>0&&n._r(t,r.field,e)}else n._r(t,r.field,n.Ar(r,a))}})}),Object.keys(t).length>0&&R.setFieldsValue(t)},[fe,Nn,Fn,Rt,Y,R]),(0,o.useEffect)(()=>{let e=xe?.state?.relevantSkillsToken,t=xe?.state?.relevantSkillsInputs,n=t?.jobId??jn?.linkage?.jobId??``,r=t?.applicantId??t?.candidateId??jn?.linkage?.applicantId??``;if(!(e||t)||Rt||Y.length===0)return;let i=Y.filter(e=>F(e.addRow)&&e.skillMatchField);if(i.length===0)return;let a=e||`inputs:${n}:${r}`,o;if(Se.current===a&&Ce.current?o=Ce.current:(o=e?re(e):void 0,(!o||typeof o.then!=`function`)&&n&&r&&(o=ie({jobId:n,applicantId:r}).catch(()=>[])),Se.current=a,Ce.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}},[xe?.state?.relevantSkillsToken,xe?.state?.relevantSkillsInputs,jn?.linkage?.jobId,jn?.linkage?.applicantId,Rt,Y,R]);let Rn={...wn&&J?{clientId:J}:{},...jn?.linkage??ne??{}},zn=!On&&!Rt&&(!jn?.source||kt!==null&&!jt),$=n.M({enabled:Z&&!x&&zn,steps:X,current:Q,setCurrent:Xt,form:R,moduleName:e,groups:Y,validationNames:n.ln,onValidationFailed:e=>n.c(e,R)}),Bn=e=>{let t=e.prefillFrom||e.payloadKey||e.name,r=Mn[t],i=Math.max(0,Number(e.minRows??0)||0),a=n.Lr(e);if(!r||r.length===0){let t=e.initialRows===void 0?i:Math.max(i,Math.max(0,Number(e.initialRows)||0));return Array.from({length:t},()=>({...a}))}let o=r.map(t=>{let r={...a};return(e.fields??[]).forEach(e=>{if(!e.field||e.type===`file`)return;let i=ze(t,e);i!=null&&(r[e.field]=F(e.addRow)?n.Mr(e,i):n.Ar(e,i))}),r});for(;o.length<i;)o.push({...a});return o},Vn=(0,o.useMemo)(()=>Y.map(e=>`${e.name}:${+!!F(e.allowCollapse)}${+!!F(e.defaultCollapsed)}`).join(`|`),[Y]),Hn=(0,o.useRef)(null);(0,o.useEffect)(()=>{if(!Y.length||Hn.current===Vn)return;Hn.current=Vn;let e={};Y.forEach((t,n)=>{let r=t.name??t.id??String(n);F(t.allowCollapse)&&F(t.defaultCollapsed)&&(e[r]=!0)}),Xe(e)},[Vn,Y]);let Un=(0,o.useMemo)(()=>{let e={};return Y.forEach(t=>{t.addRow&&(e[t.name]=Bn(t))}),n.kr(ln,e)},[Y,Mn,ln]),Wn=e=>Xe(t=>({...t,[e]:!t[e]})),Gn=()=>{R.resetFields(),Xe({}),vt(`internal`),bt([])},Kn=(0,o.useCallback)(async(t,r,i={})=>{if(!N)return;let a=Number(i.pageSize)>0?Number(i.pageSize):K.pageSize,o=Number(i.current),c=Number.isFinite(o)&&o>0?Math.floor(o):1;try{_t(t),ht({current:c,pageSize:a}),mt(e=>({...e,loading:!0,searched:!0}));let i=O(t?.selectedSource),o=r?se(r,q):i.includes(`internal`)?`internal`:se(t?.selectedSource,q),s={...t,selectedSource:o};console.log(`[AddFormV1] Calling searchModuleData with scope:`,o);let l=await n.ai(e||`candidates`,s,{limit:a,offset:(c-1)*a},{scope:o});vt(o),mt({searched:!0,rows:l.rows,total:l.total,fields:l.fields,actions:l.actions??[],actionRules:l.actionRules??[],loading:!1}),bt(e=>ue({sources:i,activeSource:o,activeCount:l.total,responseCounts:l.counts,currentTabs:e,backendTabs:l.tabs}))}catch(e){console.error(`Search failed:`,e),s.message.error(e?.message||`Failed to search records`),mt({searched:!0,rows:[],total:0,fields:[],actions:[],actionRules:[],loading:!1})}},[N,e,q,K.pageSize]),qn=(0,o.useCallback)(async(e,t)=>{let n=he(e,t);St(e=>({...e,[n]:{...e[n]??{},loading:!0}}));try{let r=await ge(e,t);s.message.success(r?.message??r?.data?.message??e.successMessage??`Action completed successfully.`),St(e=>({...e,[n]:{loading:!1,completed:!0}}))}catch(t){s.message.error(t?.message||e.errorMessage||`Action failed.`),St(e=>({...e,[n]:{...e[n]??{},loading:!1}}))}finally{St(e=>({...e,[n]:{...e[n]??{},loading:!1}}))}},[]),Jn=(0,o.useCallback)(e=>{let t=se(e,q);vt(t),ht({current:1,pageSize:K.pageSize}),Object.keys(gt).length>0&&Kn(gt,t,{current:1,pageSize:K.pageSize})},[K.pageSize,gt,Kn,q]),Yn=(0,o.useCallback)((e,t)=>{let n=Number(t)>0?Number(t):K.pageSize,r=Number(e)>0?Number(e):1;if(Object.keys(gt).length===0){ht({current:r,pageSize:n});return}Kn(gt,q,{current:r,pageSize:n})},[Kn,gt,K.pageSize,q]),Xn=(0,o.useCallback)(e=>{let t=Number(e)>0?Number(e):K.pageSize;if(Object.keys(gt).length===0){ht({current:1,pageSize:t});return}Kn(gt,q,{current:1,pageSize:t})},[Kn,gt,K.pageSize,q]),Zn=e=>{let t=n.ar(e,{uniqueRules:cn});return t.length!==0&&(R.setFields(t.map(e=>({name:e.name??e.field,errors:[e.message]}))),Xe({}),n.c({errorFields:t.map(e=>{let t=e.name??e.field;return{name:Array.isArray(t)?t:[t],errors:[e.message]}})},R),!0)},Qn=(0,o.useCallback)(async e=>{try{let t=n.Si().region,r=Y.map(e=>n.k(e,t)),i=n.D(r,e);return i.severity===`allow`?!0:i.severity===`block`?(n.Er({tone:`duplicate`,title:`This qualification history is incomplete`,body:i.message,okText:`Go back`}),!1):!await n.Tr({tone:`suggestion`,title:`Add the earlier qualification too?`,body:i.message,okText:`Add it now`,cancelText:`Submit anyway`})}catch(e){return console.warn(`[levelRule] check skipped:`,e),!0}},[Y]),$n=async t=>{if(N){await Kn(t);return}if(!k&&await mn.prompt({reason:`submit`})!==`clear`||!await Qn(t))return;if(b){await b(t,{moduleName:e,groups:Y,registerDocuments:async(r,i={})=>{let a=n.Nr(t,Y,{module:i.module??e});return!a.length||!r?[]:n.ni(i.module??e,r,a)},extraPayload:Rn??{},fileParts:n.Nr(t,Y,{indexed:!0,module:e}),allFileParts:n.Nr(t,Y,{module:e}),payload:{...Rn??{},...n.jr(t,Y,{module:e})}});return}if(!e){console.log(`Form values:`,t);return}let r=(r,i)=>{let a=n.u(Y,e,`add`);if(a&&s.message.success(a),k&&A){A(r,t);return}if(qt>=0){R.resetFields(),Xt(qt);return}R.resetFields();let o=i??n.dn(Y);if(!o)n.un(ve,{cancelPath:v});else if(o.mode===`back`)n.un(ve,{cancelPath:v});else if(o.mode===`route`||o.mode===`detail`){let e=n.fn(o.target,r,t);e&&ve(e)}};try{if(W(!0),Z&&!x&&$.saveViaAction){let e=dn.current;await $.saveThroughAction(t,t=>r(t,e));return}let i=Z&&!x?$.draftRecordId:``,o=i?await n.ei(e,i,{...Rn??{},...n.jr(t,Y,{module:e})},n.Nr(t,Y,{indexed:!0,module:e})):await a.n(e,it(t,Y,Rn??{},e));if(o?.status===!1){if(Zn(o))return;s.message.error(n.l(Y,e,`add`,o?.error||o?.message||o?.data));return}let c=n.Nr(t,Y,{scope:`addRow`,indexed:!0,module:e}),l=i||(o?.id??o?.data?.id??o?.data?._id??o?._id);if(!i&&c.length>0&&l)try{await n.ei(e,l,{...Rn??{},...n.jr(t,Y,{module:e})},c)}catch(e){console.error(`Document file attach (post-create update) failed:`,e),s.message.warning(`Record created, but attaching document files failed. Edit the record to re-upload.`)}let u=n.Nr(t,Y,{module:e});if(u.length>0&&l)try{await n.ni(e,l,u)}catch(e){console.error(`Document registry upload failed:`,e),s.message.warning(`Record created, but saving its document records failed.`)}let d=dn.current,f=()=>r(l,d);if(Z&&!x&&($.markSaved(l,t),!await $.afterSave(l,t,f)))return;f()}catch(t){if(console.error(`Failed to create ${e}:`,t),Zn(t))return;s.message.error(n.l(Y,e,`add`,t?.data?.error||t?.data?.message||t?.message))}finally{W(!1),dn.current=null}},er=(e,t,r)=>{let i=e.validations??e.validation??e.rules??[];return[...i.filter(e=>(typeof e==`string`?e:e?.type)===`maxFromField`).map(e=>n.zn(e,t,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=>Ue(t,e))).flat().filter(Boolean)]},tr=(e,t)=>typeof e==`function`?e(t):e,nr=(e,t,n)=>{if(!e?.field)return!0;let r=tr(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}},rr=(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=>nr(e,t,n)),a=String(e.logic??`and`).toLowerCase()===`or`,o=a?i.some(Boolean):i.every(Boolean);if(e.field){let r=nr(e,t,n);o=a?o||r:o&&r}return o}return nr(e,t,n)},ir=e=>!!(e?.field||e?.conditions?.some?.(e=>e?.field)),[ar,or]=(0,o.useState)({}),sr=e=>String(e?.field??``),cr=(0,o.useMemo)(()=>t.s(),[]),lr=(t,r,i,a={})=>{let c=typeof t.field==`string`&&t.field.includes(`.`)?t.field.split(`.`):null,u=c??t.field,d=r===void 0?u:[r,...c??[t.field]],p=i!==void 0&&r!==void 0?[...Array.isArray(i)?i:[i],...Array.isArray(d)?d:[d]]:d,m=t.type===`checkbox`&&(t.options&&t.options.length>0||t.dataSource&&t.dataSource!==`static`),ee=!m&&t.type===`checkbox`?`checked`:`value`,h=!!t.editablePermission&&!n.mn(t.editablePermission,e),g=i!==void 0&&r!==void 0?[...Array.isArray(i)?i:[i],r]:null,_=e=>g&&(!a.rowFieldKeys||a.rowFieldKeys.has(e))?g:null,te=n.Vr(t),v=te?n.Hr(t,p,_):null,y=a.inline||a.hideLabel||!m&&t.type===`checkbox`?``:(0,l.jsx)(Te,{form:R,field:t,siblingPrefix:t.labelWhen?.field?_(t.labelWhen.field):g,locked:h}),b=te&&y?(0,l.jsxs)(`span`,{className:`v1-label-with-override`,children:[y,(0,l.jsx)(n.Dn,{form:R,field:t,flagPath:v,fieldPath:p,disabled:h})]}):y,x=er(t,p,_),S=n._n(t),C=a.inline||t.type===`file`&&F(t.multiple)||t.type===`text-editor`?24:t.col??12,w=f(t,cr),T=r===void 0&&t.type!==`file`&&w.matched&&w.value!==void 0&&w.value!==``?w.value:r===void 0&&t.type!==`file`&&t.defaultValue!==void 0&&t.defaultValue!==``?t.defaultValue:void 0,ne=(t.aiActions||[]).filter(e=>e.trigger===`click`),E=(t.aiActions||[]).find(e=>e.trigger===`upload`),re=(0,l.jsx)(s.Form.Item,{label:b,name:d,extra:dt(t,Ln[t.field]),rules:V(t,R,p,N,_,sn,_n(t,a.groupNameForActions)),required:qe(t,R,p),dependencies:x,valuePropName:ee,initialValue:T,getValueFromEvent:t.type===`file`?e=>Array.isArray(e)?e:e?.fileList:void 0,validateTrigger:[`onBlur`,`onChange`],...N?null:n.er(t,nn),children:(0,l.jsx)(at,{field:t,form:R,name:p,rowFieldKeys:a.rowFieldKeys,moduleName:e,scopeValues:{clientId:J},onAiUpload:E?e=>hn.runAction(a.groupNameForActions,t,E,e):void 0,onDuplicateBlur:bn,onRegionBlocked:gn,onRowOrderChange:vn,formDisabled:hn.busy},t.refreshToken==null?void 0:`${t.field}-refresh-${t.refreshToken}`)}),ie=S&&!b?(0,l.jsx)(s.Tooltip,{title:S,children:(0,l.jsx)(`span`,{className:`v1-field-tooltip-wrap`,children:re})}):re,ae=ne.length>0?(()=>{let e=n.fr(ne),r=r=>(0,l.jsx)(n.dr,{position:r,actions:e[r],aiActions:hn,groupName:a.groupNameForActions,field:t},r);return(0,l.jsxs)(`div`,{className:`v1-ai-action-wrap`,children:[r(`top-left`),r(`top-center`),r(`top-right`),ie,r(`bottom-left`),r(`bottom-center`),r(`bottom-right`)]})})():ie,oe=e=>r===void 0?e:[r,e],D=t.verifyAction?(0,l.jsxs)(l.Fragment,{children:[t.verifyResultField&&(0,l.jsx)(s.Form.Item,{name:oe(t.verifyResultField),hidden:!0,noStyle:!0,children:(0,l.jsx)(s.Input,{})}),t.verifyTimestampField&&(0,l.jsx)(s.Form.Item,{name:oe(t.verifyTimestampField),hidden:!0,noStyle:!0,children:(0,l.jsx)(s.Input,{})})]}):null,O=t.verifyAction?(0,l.jsxs)(`div`,{className:`v1-verify-field-row`,children:[ae,(0,l.jsx)(we,{form:R,field:t,absoluteName:p}),D]}):ae,se=te?(0,l.jsxs)(l.Fragment,{children:[O,(0,l.jsx)(s.Form.Item,{name:r===void 0?v[v.length-1]:[r,v[v.length-1]],valuePropName:`checked`,hidden:!0,noStyle:!0,children:(0,l.jsx)(s.Checkbox,{})})]}):O,k=a.inline?{flex:`${Number(t.combineWidth)>0?Number(t.combineWidth):1} 1 0`,maxWidth:`none`}:void 0,A=t.autoFillFromApi?(0,l.jsx)(ke,{form:R,config:t.autoFillFromApi,watchPath:p},`${t.field}-autoFillFromApi`):null,j=t.prefillWhen?.length?(0,l.jsx)(Oe,{form:R,rules:t.prefillWhen,watchPaths:n.Tn(t.prefillWhen,p,n.Vn,_),targetPath:p,resetOnNoMatch:t.prefillWhenReset!==!1},`${t.field}-prefillWhen`):null;if(t.show===0)return(0,l.jsxs)(o.Fragment,{children:[j,A,(0,l.jsx)(s.Form.Item,{name:d,hidden:!0,noStyle:!0,children:(0,l.jsx)(`input`,{type:`hidden`})})]},t.field);let M=!a.inline&&n.t(t).length>0,ce=e=>M?n.o(t,C,t=>e(n.n(t,_(t.field)))):C;return ir(t.showIf)||M?(0,l.jsxs)(o.Fragment,{children:[j,A,(0,l.jsx)(s.Form.Item,{shouldUpdate:!0,noStyle:!0,children:({getFieldValue:e})=>!ir(t.showIf)||rr(t.showIf,e,_)?(0,l.jsx)(s.Col,{xs:24,md:ce(e),style:k,className:a.inline?`v1-combine-cell`:void 0,children:se}):null})]},t.field):(0,l.jsxs)(o.Fragment,{children:[j,A,(0,l.jsx)(s.Col,{xs:24,md:C,style:k,className:a.inline?`v1-combine-cell`:void 0,children:se})]},t.field)},ur=t=>{let r=typeof t.field==`string`&&t.field.includes(`.`)?t.field.split(`.`):[t.field],i=!!t.editablePermission&&!n.mn(t.editablePermission,e),a=(0,l.jsx)(st,{field:t,label:t.label,locked:i}),o=n.Rr(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=ze(fe??Nn??{},t),ee=n.Mr(t,m);return(0,l.jsx)(s.Col,{xs:24,md:24,children:(0,l.jsx)(s.Form.Item,{label:a,required:qe(t),colon:!1,className:`v1-combine-field`,children:(0,l.jsx)(s.Form.List,{name:r,initialValue:ee,rules:[{validator:async(e,n=[])=>{if(qe(t)&&!(u?n.some(e=>Pe(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:(n,{add:i,remove:a},{errors:m})=>(0,l.jsxs)(`div`,{className:`v1-addrow-wrapper`,children:[n.map(({key:i,name:p})=>(0,l.jsxs)(`div`,{className:`v1-addrow-item`,children:[(0,l.jsx)(s.Button,{type:`text`,danger:!0,icon:(0,l.jsx)(c.DeleteOutlined,{}),onClick:()=>a(p),disabled:n.length<=f,className:`v1-addrow-delete-btn`}),(0,l.jsx)(`div`,{className:`v1-addrow-fields`,children:u?(0,l.jsx)(s.Row,{gutter:[24,0],align:`top`,children:pr(d,p,r[0],!1,t.field)}):(0,l.jsx)(s.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:V(o,R,[...r,p],N),children:(0,l.jsx)(at,{field:o,form:R,name:[...r,p],moduleName:e,scopeValues:{clientId:J},formDisabled:hn.busy})})})]},i)),(!p||n.length<p)&&(0,l.jsx)(s.Button,{type:`link`,icon:(0,l.jsx)(c.PlusOutlined,{}),onClick:()=>i(),className:`v1-addrow-add-btn`,children:t.addLabel??`Add ${t.label??`Value`}`}),(0,l.jsx)(s.Form.ErrorList,{errors:m})]})})})},t.field)},dr=(t,r,i)=>{let a=typeof t.field==`string`&&t.field.includes(`.`)?t.field.split(`.`):[t.field],o=!!t.editablePermission&&!n.mn(t.editablePermission,e),u=(0,l.jsx)(st,{field:t,label:t.label,locked:o}),d=n.Rr(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),ee=t.maxRows!==void 0&&t.maxRows!==``&&Number(t.maxRows)>0?Number(t.maxRows):0,h=[r,...a],g=[...Array.isArray(i)?i:[i],r,...a],_=n.Mr(t,void 0);return(0,l.jsx)(s.Col,{xs:24,md:f?24:t.col??24,children:(0,l.jsx)(s.Form.Item,{label:u,required:qe(t),colon:!1,className:`v1-combine-field`,children:(0,l.jsx)(s.Form.List,{name:h,initialValue:_,rules:f?[{validator:async(e,n=[])=>{if(qe(t)&&!n.some(e=>Pe(e)))throw Error(`Mandatory Field`);if(m>0&&n.length<m)throw Error(`Keep at least ${m} row${m>1?`s`:``}.`)}}]:[],children:(n,{add:r,remove:i},{errors:a})=>(0,l.jsxs)(`div`,{className:`v1-addrow-wrapper`,children:[n.map(({key:r,name:a})=>{let o=[...g,a];return(0,l.jsxs)(`div`,{className:`v1-addrow-item`,children:[(0,l.jsx)(s.Button,{type:`text`,danger:!0,icon:(0,l.jsx)(c.DeleteOutlined,{}),onClick:()=>i(a),disabled:n.length<=m,className:`v1-addrow-delete-btn`}),(0,l.jsx)(`div`,{className:`v1-addrow-fields`,children:f?(0,l.jsx)(s.Row,{gutter:[24,0],align:`top`,children:pr(p,a,g,!1,t.field)}):(0,l.jsx)(s.Form.Item,{name:[a],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:V(d,R,o,N),children:(0,l.jsx)(at,{field:d,form:R,name:o,moduleName:e,scopeValues:{clientId:J},formDisabled:hn.busy})})})]},r)}),(!ee||n.length<ee)&&(0,l.jsx)(s.Button,{type:`link`,icon:(0,l.jsx)(c.PlusOutlined,{}),onClick:()=>r(),className:`v1-addrow-add-btn`,children:t.addLabel??`Add ${t.label??`Value`}`}),(0,l.jsx)(s.Form.ErrorList,{errors:a})]})})})},`${i}-${r}-${t.field}`)},fr=(e,t)=>e.filter(e=>e.field&&e.show!==void 0&&!F(e.show)).map(e=>{let n=String(e.field).includes(`.`)?String(e.field).split(`.`):e.field,r=t===void 0?n:[t,...Array.isArray(n)?n:[n]];return(0,l.jsx)(s.Form.Item,{name:r,hidden:!0,noStyle:!0,children:(0,l.jsx)(s.Input,{})},`hidden-${e.field}`)}),pr=(e,t,r,i=!1,a)=>{let o=new Set,c=[],u=new Set(e.map(e=>e.field).filter(Boolean)),d=e.filter(e=>e.show===void 0||F(e.show)||e.show===0&&!!e.prefillWhen?.length);return c.push(...fr(e,t)),d.forEach(e=>{if(F(e.addRow)&&t===void 0){c.push(ur(e));return}if(F(e.addRow)&&t!==void 0){c.push(dr(e,t,r));return}let f=e.combineKey?.trim?.();if(!f){c.push(lr(e,t,r,{hideLabel:i,groupNameForActions:a,rowFieldKeys:u}));return}let p=`${r??`root`}:${t??`root`}:${f}`;if(o.has(p))return;let m=d.filter(e=>e.combineKey===f);m.forEach(e=>o.add(`${r??`root`}:${t??`root`}:${e.combineKey}`));let ee=m.find(e=>e.combineLabel)??e,h=r!==void 0&&t!==void 0?[...Array.isArray(r)?r:[r],t]:null,g=m.find(e=>n.Vr(e))??null,_=e=>h&&(!u||u.has(e))?h:null,te=g?r!==void 0&&t!==void 0?[...Array.isArray(r)?r:[r],t,...String(g.field).includes(`.`)?String(g.field).split(`.`):[g.field]]:String(g.field).includes(`.`)?String(g.field).split(`.`):g.field:null,v=(0,l.jsx)(Te,{form:R,field:ee,siblingPrefix:h,combined:!0}),y=g?(0,l.jsxs)(`span`,{className:`v1-label-with-override`,children:[v,(0,l.jsx)(n.Dn,{form:R,field:g,flagPath:n.Hr(g,te,_),fieldPath:te})]}):v,b=m.find(e=>e.combineToggleTarget)?.combineToggleTarget,x=m.find(e=>e.combineToggleLabel)?.combineToggleLabel??`Show range`,S=p,C=m.some(e=>F(e.combineWrap)),w=Number(m.find(e=>[12,24].includes(Number(e.combineSpan)))?.combineSpan),T=b?m.find(e=>sr(e)===b):null,ne=T?.field?.includes?.(`.`)?T.field.split(`.`):[T?.field].filter(Boolean),E=T?r!==void 0&&t!==void 0?[r,t,...ne]:ne.length>1?ne:T.field:null,re=m.some(e=>qe(e)),ie=[12,24].includes(w)?w:m.length>=3?24:12,ae=e=>h&&(!u||u.has(e))?h:null,oe=m.some(e=>ir(e.showIf)),D=e=>m.some(t=>!ir(t.showIf)||rr(t.showIf,e,ae)),O=(0,l.jsx)(s.Col,{xs:24,md:ie,children:(0,l.jsx)(s.Form.Item,{label:y,required:re,colon:!1,className:`v1-combine-field`,children:(0,l.jsx)(s.Form.Item,{noStyle:!0,shouldUpdate:!0,children:({getFieldValue:e})=>{let n=E?!z(e(E)):!1,i=ar[S]??n,a=b&&!i?m.filter(e=>sr(e)!==b):m;return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(s.Row,{gutter:[8,0],align:`top`,wrap:C,className:`v1-combine-row${C?` v1-combine-row-wrap`:``}`,children:a.map(e=>lr(re?{...e,req:1}:e,t,r,{inline:!0}))}),b&&(0,l.jsxs)(`div`,{className:`v1-combine-range`,children:[(0,l.jsx)(s.Switch,{size:`small`,checked:i,onChange:e=>{!e&&E&&(R.setFieldValue(E,void 0),R.validateFields([E]).catch(()=>{})),or(t=>({...t,[S]:e}))}}),(0,l.jsx)(P,{type:`secondary`,className:`v1-combine-toggle-label`,children:x})]})]})}})})},p);c.push(oe?(0,l.jsx)(s.Form.Item,{shouldUpdate:!0,noStyle:!0,children:({getFieldValue:e})=>D(e)?O:null},p):O)}),c},mr=(0,o.useMemo)(()=>{if(G.fields?.length)return G.fields;let e=G.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})):[]},[G.fields,G.rows]),hr=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,o.useMemo)(()=>hr(G.rows),[G.rows]);let gr=(0,o.useMemo)(()=>{let e=pe({rows:G.rows,selectedSource:q});if(!e.length)return mr;let t=new Set(e.map(e=>e.field));return[...mr.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(!me(e,n,q))return null;let r=he(e,n),i=xt[r]??{},a=!r||i.completed;return(0,l.jsx)(s.Button,{type:`primary`,size:`small`,loading:i.loading,disabled:a,onClick:()=>qn(e,n),children:i.completed?e.completedLabel:e.buttonLabel})}}))]},[qn,mr,G.rows,q,xt]),_r=(0,o.useMemo)(()=>{if(!D)return G.actions;let e=t=>({...t,popupState:{...D,...t.popupState},...t.children?{children:t.children.map(e)}:{}});return(G.actions??[]).map(e)},[G.actions,D]),vr=e=>{let t=e.name??e.id??``,r=n.Or(ln,t),i=!!r&&r.leaderName!==t,a=r?Y.find(e=>e.name===r.leaderName)??e:e,o=Math.max(0,Number(a.minRows??0)||0),u=Math.max(0,Number(a.maxRows??0)||0),d=r?r.memberNames:[t],f=()=>{d.forEach(t=>{let r=Y.find(e=>e.name===t)??e;un.current[t]?.add(n.Lr(r))})},p=e=>{d.forEach(t=>un.current[t]?.remove(e))},m=Z&&!!e.addRow&&n.$(e,Y)===`table`,ee=F(e.sharedRowLabels)||m;return e.addRow?(0,l.jsx)(s.Form.List,{name:t,initialValue:Un[t]??[],rules:i?[]:[{validator:async(t,n=[])=>{if(!(F(e.toggleEnabled)&&e.toggleField&&R.getFieldValue(e.toggleField))){if(o>0&&n.length<o)throw Error(`Keep at least ${o} row${o>1?`s`:``}.`);if(F(e.requireOne)&&n.some(e=>!Pe(e)))throw Error(`Fill at least one field in each added row.`)}}}],children:(n,{add:r,remove:d,move:h},{errors:g})=>(un.current[t]={add:r,remove:d,move:h},(0,l.jsxs)(`div`,{className:m?`v1-addrow-wrapper v1-addrow-wrapper--table`:`v1-addrow-wrapper`,children:[(0,l.jsx)(`div`,{className:`v1-addrow-topbar`,children:i?(0,l.jsxs)(P,{type:`secondary`,className:`v1-addrow-linked-hint`,children:[`Rows added via `,a.label??a.name]}):(!u||n.length<u)&&(0,l.jsx)(s.Button,{type:`link`,icon:(0,l.jsx)(c.PlusOutlined,{}),onClick:f,className:`v1-addrow-add-btn`,children:e.addLabel??`Add ${e.label??`Row`}`})}),ee&&n.length>0&&(0,l.jsx)(s.Row,{gutter:[24,0],className:`v1-addrow-header`,children:e.fields.filter(e=>e.show===void 0||F(e.show)).map(e=>(0,l.jsx)(s.Col,{md:e.col??12,className:`v1-addrow-header-label`,children:e.label},sr(e)))}),n.map(({key:r,name:i})=>(0,l.jsxs)(`div`,{className:`v1-addrow-item`,children:[(0,l.jsx)(s.Button,{type:`text`,danger:!0,icon:(0,l.jsx)(c.DeleteOutlined,{}),onClick:()=>p(i),disabled:n.length<=o,className:`v1-addrow-delete-btn`}),(0,l.jsx)(`div`,{className:`v1-addrow-fields`,children:(0,l.jsx)(s.Row,{gutter:[24,0],align:`top`,children:pr(e.fields,i,t,ee,t)})})]},r)),(0,l.jsx)(s.Form.ErrorList,{errors:g})]}))}):(0,l.jsx)(s.Row,{gutter:[24,0],children:pr(e.fields,void 0,void 0,!1,t)})},yr=e=>Y.filter(t=>t!==e&&t.mergeInto&&String(t.mergeInto)===String(e.name)),br=e=>!!(e.mergeInto&&Y.some(t=>t!==e&&String(t.name)===String(e.mergeInto))),xr=(e,t)=>yr(e).filter(e=>String(e.mergePosition??`bottom`)===t),Sr=(e,t)=>{let n=e.name??e.id??String(t),r=vr(e),i=xr(e,`top`),a=xr(e,`bottom`),o=e=>{let t=(0,l.jsxs)(`div`,{className:`v1-merged-group`,children:[(0,l.jsx)(`div`,{className:`v1-merged-group-title`,children:e.label??e.name}),vr(e)]},e.name),n=e.showIf?.field?(0,l.jsx)(je,{form:R,showIf:e.showIf,render:()=>t},e.name):t;return(0,l.jsx)(Me,{form:R,group:e,inheritParent:!1,children:n},e.name)};return(0,l.jsx)(s.Card,{className:`v1-card v1-edit-card`,title:(0,l.jsx)(ot,{icon:be[t%be.length],title:N?ft||e.label:e.label??e.name??`Details`}),extra:(0,l.jsxs)(s.Space,{size:8,align:`center`,className:`v1-group-actions`,children:[(0,l.jsx)(ct,{group:e}),(0,l.jsx)(lt,{group:e}),F(e.allowCollapse)&&(0,l.jsx)(s.Button,{type:`text`,size:`small`,"aria-expanded":!Ye[n],"aria-label":Ye[n]?`Expand section`:`Collapse section`,icon:Ye[n]?(0,l.jsx)(c.DownOutlined,{}):(0,l.jsx)(c.UpOutlined,{}),onClick:e=>{e.stopPropagation(),Wn(n)}})]}),children:(0,l.jsx)(s.Form.Item,{noStyle:!0,shouldUpdate:!0,children:({getFieldValue:t})=>{let s=F(e.toggleEnabled)&&e.toggleField&&!!t(e.toggleField);return(0,l.jsxs)(`div`,{style:{display:Ye[n]||s?`none`:`block`},children:[i.map(o),r,a.map(o)]})}})},n)};return(0,l.jsxs)(`main`,{children:[g.length>0&&(0,l.jsx)(n.Dt,{items:g}),Z&&x?(0,l.jsx)(x,{...S??{},mode:`add`,moduleName:e,configuredSteps:X,configuredGroups:Wt}):(0,l.jsxs)(`div`,{className:`v1-edit-page`,children:[wn&&!E&&!Bt&&(0,l.jsx)(s.Card,{className:`v1-card v1-edit-card v1-client-gate-card`,children:(0,l.jsxs)(s.Space,{direction:`vertical`,size:12,style:{width:`100%`},children:[(0,l.jsx)(ot,{icon:(0,l.jsx)(c.UserOutlined,{}),title:`Select Client`}),Tn&&(0,l.jsx)(P,{type:`secondary`,children:Tn}),(0,l.jsx)(s.Row,{gutter:[16,0],children:(0,l.jsxs)(s.Col,{xs:24,md:14,children:[(0,l.jsx)(s.Select,{showSearch:!0,allowClear:!0,placeholder:`Select client`,style:{width:`100%`},value:J||void 0,optionFilterProp:`label`,options:Ct.map(e=>({value:e._id??e.id,label:e.clientName??e.name??e.clientRefrenceId??e._id})).filter(e=>e.value),onChange:Dn,dropdownRender:An.footer?e=>(0,l.jsxs)(l.Fragment,{children:[e,An.footer]}):void 0}),An.modal]})})]})}),(0,l.jsxs)(`div`,{className:`v1-page-inner`,children:[Z&&zn&&(0,l.jsx)(n.en,{steps:X,current:Q,errorStep:$.errorStep,onSelectCompleted:Jt||$.busy?void 0:Xt}),(0,l.jsx)(s.Spin,{fullscreen:!0,spinning:hn.busy||mn.checking,size:`large`,tip:hn.busy?hn.loadingText||`Reading the file…`:`Checking whether we already have this person…`}),(0,l.jsx)(s.Spin,{spinning:!zn&&!On,description:`Loading form fields…`,children:(0,l.jsxs)(s.Form,{form:R,layout:`vertical`,colon:!1,className:`v1-form`,disabled:hn.busy||mn.checking,requiredMark:(e,{required:t})=>(0,l.jsxs)(l.Fragment,{children:[e,t&&(0,l.jsx)(`span`,{className:`v1-required-mark`,children:` *`})]}),onFinish:Z?Qt:$n,onFinishFailed:$t,children:[zn&&(Z?(0,l.jsx)(n.W,{step:X[Q],steps:X,current:Q,form:R,onGoToStep:Xt,moduleName:e,notice:(0,l.jsx)(n.A,{runtime:$,current:Q}),actionResult:$.actionResult,savedRecord:$.savedRecord,stepBusy:$.busy===`enter`,recordId:$.recordId,formContent:Y.filter(e=>!br(e)).map((e,t)=>{let r=n.sn(X,e,t);return(0,l.jsx)(`div`,{className:`v1-form-wizard__panel`,hidden:r!==Q,children:(0,l.jsx)(Me,{form:R,group:e,children:e.showIf?.field?(0,l.jsx)(je,{form:R,showIf:e.showIf,render:()=>Sr(e,t)}):Sr(e,t)})},e.name??`grp-${t}`)})}):Y.filter(e=>!br(e)).map((e,t)=>(0,l.jsx)(Me,{form:R,group:e,children:e.showIf?.field?(0,l.jsx)(je,{form:R,showIf:e.showIf,render:()=>Sr(e,t)}):Sr(e,t)},e.name??`grp-${t}`))),zn&&!zt&&Y.length===0&&(0,l.jsx)(s.Alert,{type:`info`,showIcon:!0,message:N?`No search configuration found.`:`No form fields are configured.`}),zn&&N&&(0,l.jsx)(`div`,{className:`v1-search-form-actions`,children:(0,l.jsxs)(s.Space,{size:12,children:[(0,l.jsx)(s.Button,{onClick:Gn,disabled:!Y.length,children:`Reset`}),(0,l.jsx)(s.Button,{onClick:()=>n.un(ve,{cancelPath:v}),children:`Back`}),(0,l.jsx)(s.Button,{type:`primary`,htmlType:`submit`,disabled:pt||!Y.length||Cn,loading:pt,children:_e})]})})]})})]}),!N&&!ce&&(0,l.jsxs)(`div`,{className:k?`v1-footer v1-footer--embedded`:`v1-footer`,children:[(0,l.jsx)(P,{type:`secondary`,children:`All Unsaved Changes will be lost if you cancel and reload.`}),(0,l.jsxs)(s.Space,{size:12,children:[(0,l.jsx)(s.Button,{onClick:()=>k&&j?j():n.un(ve,{cancelPath:v}),children:Jt?`Close`:`Cancel`}),Z&&Q>0&&!Jt&&(0,l.jsx)(n.tn,{disabled:!!$.busy,onClick:()=>Xt(Q-1)}),!Jt&&(!Z||Q===X.length-1||Yt)?fn.map((e,t)=>(0,l.jsx)(Ee,{form:R,groups:Y,action:e,disabled:!zn||pt||en>0||!Y.length,loading:pt,onFire:()=>{dn.current=e.afterSubmit??{mode:`stay`},e.setValuesBeforeSubmit&&R.setFieldsValue(e.setValuesBeforeSubmit),R.submit()}},`${e.label??`action`}-${t}`)):null,Z&&Q<X.length-1&&!Yt?(0,l.jsx)(n.nn,{onClick:Zt,loading:$.busy===`next`,disabled:!zn||pt||en>0||!Y.length||!!$.busy}):Jt?null:(0,l.jsx)(De,{form:R,groups:Y,onClick:()=>{dn.current=null,R.submit()},disabled:!zn||pt||en>0||!Y.length||!!$.busy,loading:pt||$.busy===`finish`,children:_e})]})]}),N&&G.searched&&(0,l.jsx)(n.rt,{moduleName:e,breadcrumbItems:[],dataSource:G.rows,fields:gr,total:G.total,loading:G.loading,current:K.current,pageSize:K.pageSize,showViewToggle:!0,activeView:xn,onViewChange:Sn,onPageChange:Yn,onPageSizeChange:Xn,showSearch:!1,tabs:yt,selectedSource:q,onTabChange:Jn,actions:_r,actionRules:G.actionRules})]})]})});Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return pe}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return me}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return ae}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return ue}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return se}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return _e}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return ie}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return k}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return he}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return H}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return ge}});
|
|
2
|
+
//# sourceMappingURL=AddFormV1-C8L2lNYb.cjs.map
|