@attabot/complaint-app 1.0.45 → 1.0.46

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.
@@ -9,5 +9,5 @@
9
9
  `),i=l===-1?-1:o.indexOf(`
10
10
  `,l+1),c=i===-1?"":o.slice(i+1);String(r.stack).endsWith(c)||(r.stack+=`
11
11
  `+o)}}catch{}}throw r}}_request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=ht(this.defaults,n);const{transitional:r,paramsSerializer:a,headers:o}=n;r!==void 0&&er.assertOptions(r,{silentJSONParsing:Ie.transitional(Ie.boolean),forcedJSONParsing:Ie.transitional(Ie.boolean),clarifyTimeoutError:Ie.transitional(Ie.boolean),legacyInterceptorReqResOrdering:Ie.transitional(Ie.boolean),advertiseZstdAcceptEncoding:Ie.transitional(Ie.boolean),validateStatusUndefinedResolves:Ie.transitional(Ie.boolean)},!1),a!=null&&(v.isFunction(a)?n.paramsSerializer={serialize:a}:er.assertOptions(a,{encode:Ie.function,serialize:Ie.function},!0)),n.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?n.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:n.allowAbsoluteUrls=!0),er.assertOptions(n,{baseUrl:Ie.spelling("baseURL"),withXsrfToken:Ie.spelling("withXSRFToken")},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();let l=o&&v.merge(o.common,o[n.method]);o&&v.forEach(["delete","get","head","post","put","patch","query","common"],S=>{delete o[S]}),n.headers=Le.concat(l,o);const i=[];let c=!0;this.interceptors.request.forEach(function(A){if(typeof A.runWhen=="function"&&A.runWhen(n)===!1)return;c=c&&A.synchronous;const m=n.transitional||oa;m&&m.legacyInterceptorReqResOrdering?i.unshift(A.fulfilled,A.rejected):i.push(A.fulfilled,A.rejected)});const d=[];this.interceptors.response.forEach(function(A){d.push(A.fulfilled,A.rejected)});let f,u=0,p;if(!c){const S=[pa.bind(this),void 0];for(S.unshift(...i),S.push(...d),p=S.length,f=Promise.resolve(n);u<p;)f=f.then(S[u++],S[u++]);return f}p=i.length;let b=n;for(;u<p;){const S=i[u++],A=i[u++];try{b=S?S(b):b}catch(m){if(!A){f=Promise.reject(m);break}try{const h=A.call(this,m);v.isThenable(h)&&(f=Promise.resolve(h).then(()=>pa.call(this,b)))}catch(h){f=Promise.reject(h)}break}}if(!f)try{f=pa.call(this,b)}catch(S){f=Promise.reject(S)}for(u=0,p=d.length;u<p;)f=f.then(d[u++],d[u++]);return f}getUri(t){t=ht(this.defaults,t);const n=Co(t.baseURL,t.url,t.allowAbsoluteUrls,t);return po(n,t.params,t.paramsSerializer)}};v.forEach(["delete","get","head","options"],function(t){mt.prototype[t]=function(n,r){return this.request(ht(r||{},{method:t,url:n,data:r&&v.hasOwnProp(r,"data")?r.data:void 0}))}}),v.forEach(["post","put","patch","query"],function(t){function n(r){return function(o,l,i){return this.request(ht(i||{},{method:t,headers:r?{"Content-Type":"multipart/form-data"}:{},url:o,data:l}))}}mt.prototype[t]=n(),t!=="query"&&(mt.prototype[t+"Form"]=n(!0))});let np=class Dc{constructor(t){if(typeof t!="function")throw new TypeError("executor must be a function.");let n;this.promise=new Promise(function(o){n=o});const r=this;this.promise.then(a=>{if(!r._listeners)return;let o=r._listeners.length;for(;o-- >0;)r._listeners[o](a);r._listeners=null}),this.promise.then=a=>{let o;const l=new Promise(i=>{r.subscribe(i),o=i}).then(a);return l.cancel=function(){r.unsubscribe(o)},l},t(function(o,l,i){r.reason||(r.reason=new hn(o,l,i),n(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const n=this._listeners.indexOf(t);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){const t=new AbortController,n=r=>{t.abort(r)};return this.subscribe(n),t.signal.unsubscribe=()=>this.unsubscribe(n),t.signal}static source(){let t;return{token:new Dc(function(a){t=a}),cancel:t}}};function rp(e){return function(n){return e.apply(null,n)}}function ap(e){return v.isObject(e)&&e.isAxiosError===!0}const ha={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerReturnsAnUnknownError:520,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(ha).forEach(([e,t])=>{ha[t]=e});function Bo(e){const t=new mt(e),n=Xs(mt.prototype.request,t);return v.extend(n,mt.prototype,t,{allOwnKeys:!0}),v.extend(n,t,null,{allOwnKeys:!0}),n.create=function(a){return Bo(ht(e,a))},n}const me=Bo(pn);me.Axios=mt,me.CanceledError=hn,me.CancelToken=np,me.isCancel=yo,me.VERSION=da,me.toFormData=Yn,me.AxiosError=X,me.Cancel=me.CanceledError,me.all=function(t){return Promise.all(t)},me.spread=rp,me.isAxiosError=ap,me.mergeConfig=ht,me.AxiosHeaders=Le,me.formToJSON=e=>Ao(v.isHTMLForm(e)?new FormData(e):e),me.getAdapter=Mo.getAdapter,me.HttpStatusCode=ha,me.default=me;const{Axios:w0,AxiosError:C0,CanceledError:N0,isCancel:_0,CancelToken:E0,VERSION:L0,all:I0,Cancel:T0,isAxiosError:F0,spread:k0,toFormData:O0,AxiosHeaders:D0,HttpStatusCode:P0,formToJSON:M0,getAdapter:x0,mergeConfig:B0,create:U0}=me;function tr(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)r!=="__proto__"&&(e[r]=n[r])}return e}var sp={read:function(e){return e[0]==='"'&&(e=e.slice(1,-1)),e.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(e){return encodeURIComponent(e).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent)}};function ma(e,t){function n(a,o,l){if(!(typeof document>"u")){l=tr({},t,l),typeof l.expires=="number"&&(l.expires=new Date(Date.now()+l.expires*864e5)),l.expires&&(l.expires=l.expires.toUTCString()),a=encodeURIComponent(a).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var i="";for(var c in l)l[c]&&(i+="; "+c,l[c]!==!0&&(i+="="+l[c].split(";")[0]));return document.cookie=a+"="+e.write(o,a)+i}}function r(a){if(!(typeof document>"u"||arguments.length&&!a)){for(var o=document.cookie?document.cookie.split("; "):[],l={},i=0;i<o.length;i++){var c=o[i].split("="),d=c.slice(1).join("=");try{var f=decodeURIComponent(c[0]);if(f in l||(l[f]=e.read(d,f)),a===f)break}catch{}}return a?l[a]:l}}return Object.create({set:n,get:r,remove:function(a,o){n(a,"",tr({},o,{expires:-1}))},withAttributes:function(a){return ma(this.converter,tr({},this.attributes,a))},withConverter:function(a){return ma(tr({},this.converter,a),this.attributes)}},{attributes:{value:Object.freeze(t)},converter:{value:Object.freeze(e)}})}var mn=ma(sp,{path:"/"});const op={BASE_URL:"/",DEV:!1,MODE:"production",PROD:!0,SSR:!1};let Pt="https://api-grievance.airaops.com",Uo=null,ga=!1;try{if(typeof{url:typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:$r&&$r.tagName.toUpperCase()==="SCRIPT"&&$r.src||new URL("complaint-app.umd.js",document.baseURI).href}<"u"&&op?.VITE_API_URL)Pt=void 0;else{const e=typeof process<"u"?process:null;e?.env?.VITE_API_URL&&(Pt=e.env.VITE_API_URL)}}catch{}const jo=e=>{Pt=e||"",de.defaults.baseURL=Pt},Aa=e=>{Uo=e||null},lp=e=>{ga=!!e},ip=()=>ga?null:Uo||mn.get("token")||null,de=me.create({baseURL:Pt,headers:{Accept:"application/json","Content-Type":"application/json"}});de.interceptors.request.use(e=>{const t=ip();return e.headers=e.headers||{},t?e.headers.Authorization=`Bearer ${t}`:delete e.headers.Authorization,e});let ya=!1,ba=null;de.interceptors.response.use(e=>e,async e=>{const t=e.config,n=e.response;if(!ga&&n&&(n.status===401||n.status===402)){const r=mn.get("refreshToken");if(r)try{ya||(ya=!0,ba=me.post(`${Pt}/api/v1/auth/refresh`,{},{headers:{Authorization:`Bearer ${r}`}}));const a=await ba,{token:o,refreshToken:l}=a.data;return Aa(o),l&&mn.set("refreshToken",l),t.headers.Authorization=`Bearer ${o}`,de(t)}catch{mn.remove("token"),mn.remove("refreshToken")}finally{ya=!1,ba=null}}return Promise.reject(e)});const cp=g.createContext(null),$o=({children:e,apiUrl:t,authToken:n,publicAccess:r=!1})=>(t&&jo(t),lp(r),Aa(n||null),s.jsx(cp.Provider,{value:{apiUrl:t,authToken:r?null:n,publicAccess:r},children:e})),Je={mode:"light",colors:{primary:"#2D64B8",primaryHover:"#2557A3",text:"#111827",textSecondary:"#6B7280",textMuted:"#9CA3AF",border:"#E5E7EB",borderLight:"#F3F4F6",background:"#FFFFFF",surface:"#FFFFFF",white:"#FFFFFF",onPrimary:"#FFFFFF",activeBg:"#ECFDF5",activeBorder:"#A7F3D0",activeText:"#059669",inactiveBg:"#F3F4F6",inactiveBorder:"#D1D5DB",inactiveText:"#6B7280",link:"#2D64B8",divider:"#E5E7EB",accentBorder:"#C5D7F0",accentBg:"#EEF4FB",stepDone:"#D6E4F7",success:"#22C55E",danger:"#EF4444",secondaryBtn:"#D1D5DB",secondaryBtnHover:"#C4C9D1",inputBg:"#FFFFFF",tableHeadBg:"#EEF4FB",sidebarBg:"#FAFBFD",overlay:"rgba(16, 24, 40, 0.06)"},radii:{sm:"6px",md:"8px",lg:"12px",xl:"16px",pill:"999px"},spacing:{xs:"4px",sm:"8px",md:"12px",lg:"16px",xl:"24px",xxl:"32px"},typography:{fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif',h1Size:"28px",h2Size:"16px",bodySize:"14px",labelSize:"13px",valueSize:"22px",smallSize:"13px"},shadow:{card:"0 1px 2px rgba(16, 24, 40, 0.04)",settings:"0 1px 3px rgba(16, 24, 40, 0.06)"}},gn={mode:"dark",colors:{primary:"#5B8DEF",primaryHover:"#7BA3F3",text:"#F3F4F6",textSecondary:"#A1A1AA",textMuted:"#71717A",border:"#3F3F46",borderLight:"#27272A",background:"#0F1115",surface:"#18181B",white:"#FFFFFF",onPrimary:"#FFFFFF",activeBg:"#052E1C",activeBorder:"#166534",activeText:"#4ADE80",inactiveBg:"#27272A",inactiveBorder:"#3F3F46",inactiveText:"#A1A1AA",link:"#7BA3F3",divider:"#3F3F46",accentBorder:"#2A3A55",accentBg:"#1A2333",stepDone:"#1E3A5F",success:"#22C55E",danger:"#F87171",secondaryBtn:"#3F3F46",secondaryBtnHover:"#52525B",inputBg:"#18181B",tableHeadBg:"#1A2333",sidebarBg:"#12141A",overlay:"rgba(0, 0, 0, 0.35)"},radii:{sm:"6px",md:"8px",lg:"12px",xl:"16px",pill:"999px"},spacing:{xs:"4px",sm:"8px",md:"12px",lg:"16px",xl:"24px",xxl:"32px"},typography:{fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif',h1Size:"28px",h2Size:"16px",bodySize:"14px",labelSize:"13px",valueSize:"22px",smallSize:"13px"},shadow:{card:"0 1px 2px rgba(0, 0, 0, 0.35)",settings:"0 1px 3px rgba(0, 0, 0, 0.4)"}},Vo={light:Je,dark:gn};function Mt(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)}function xt(e,t){if(!Mt(t))return e;const n={...e};return Object.keys(t).forEach(r=>{const a=t[r];Mt(a)&&Mt(e[r])?n[r]=xt(e[r],a):a!==void 0&&(n[r]=a)}),n}function Wo(e){return!e||!Mt(e)?{light:Je,dark:gn}:Mt(e.light)||Mt(e.dark)?{light:xt(Je,e.light||{}),dark:xt(gn,e.dark||{})}:{light:xt(Je,e),dark:xt(gn,e)}}function qo(e,t=!1){const n=Wo(e);return{...t?n.dark:n.light,mode:t?"dark":"light",__pack:n}}const dp={primary:"--ca-primary",primaryHover:"--ca-primary-hover",text:"--ca-text",textSecondary:"--ca-text-secondary",textMuted:"--ca-text-muted",border:"--ca-border",borderLight:"--ca-border-light",background:"--ca-bg",surface:"--ca-surface",white:"--ca-white",onPrimary:"--ca-on-primary",activeBg:"--ca-active-bg",activeBorder:"--ca-active-border",activeText:"--ca-active-text",inactiveBg:"--ca-inactive-bg",inactiveBorder:"--ca-inactive-border",inactiveText:"--ca-inactive-text",link:"--ca-link",divider:"--ca-divider",accentBorder:"--ca-accent-border",accentBg:"--ca-accent-bg",stepDone:"--ca-step-done",success:"--ca-success",danger:"--ca-danger",secondaryBtn:"--ca-secondary-btn",secondaryBtnHover:"--ca-secondary-btn-hover",inputBg:"--ca-input-bg",tableHeadBg:"--ca-table-head-bg",sidebarBg:"--ca-sidebar-bg",overlay:"--ca-overlay"},up={sm:"--ca-radius-sm",md:"--ca-radius-md",lg:"--ca-radius-lg",xl:"--ca-radius-xl",pill:"--ca-radius-pill"},fp={fontFamily:"--ca-font",h1Size:"--ca-h1-size",h2Size:"--ca-h2-size",bodySize:"--ca-body-size",labelSize:"--ca-label-size",valueSize:"--ca-value-size",smallSize:"--ca-small-size"},pp={card:"--ca-shadow-card",settings:"--ca-shadow-settings"};function Ho(e){const t={};return e?.colors&&Object.entries(dp).forEach(([n,r])=>{e.colors[n]!=null&&(t[r]=e.colors[n])}),e?.radii&&Object.entries(up).forEach(([n,r])=>{e.radii[n]!=null&&(t[r]=e.radii[n])}),e?.typography&&Object.entries(fp).forEach(([n,r])=>{e.typography[n]!=null&&(t[r]=e.typography[n])}),e?.shadow&&Object.entries(pp).forEach(([n,r])=>{e.shadow[n]!=null&&(t[r]=e.shadow[n])}),t["--ca-on-primary"]&&!t["--ca-white"]&&(t["--ca-white"]=t["--ca-on-primary"]),t}const zo=g.createContext({darkMode:!1,theme:null,themeFile:Vo,cssVars:{}});function Ko({theme:e,darkMode:t=!1,children:n}){const r=g.useMemo(()=>{const a=qo(e,!!t),o=Ho(a);return{darkMode:!!t,theme:a,themeFile:a.__pack,cssVars:o,mode:a.mode}},[e,t]);return s.jsx(zo.Provider,{value:r,children:n})}function Qo(){return g.useContext(zo)}const nr=Object.freeze({formFields:e=>`/api/v1/complaint-types/${e}/form-fields`}),hp=e=>{const t=e?.response?.data,n=Array.isArray(t?.errors)?t.errors.map(a=>a?.message).filter(Boolean):[];if(n.length)return n.join(" ");const r=t?.message??t?.error??e?.message;return Array.isArray(r)?r.filter(Boolean).join(", "):r&&typeof r=="object"?r.message??JSON.stringify(r):r||"Something went wrong"},mp=(e,t)=>t.rejectWithValue({status:e?.response?.status??e?.status,message:hp(e)}),Sa=(e,t)=>ie.createAsyncThunk(e,async(n,r)=>{try{return(await t(n,r)).data}catch(a){return mp(a,r)}}),qe=Sa("complaint/types/getFormFields",(e,{signal:t})=>de.get(nr.formFields(e),{signal:t})),An=Sa("complaint/types/saveFormFields",({complaintTypeId:e,data:t})=>de.put(nr.formFields(e),t)),yn=Sa("complaint/types/deleteFormField",({complaintTypeId:e,fieldId:t})=>de.delete(`${nr.formFields(e)}/${t}`)),Xo={formFields:{data:[],selected:null,pagination:null,isLoading:!1,isMutating:!1,error:null},error:null},gp=e=>{if(Array.isArray(e))return{data:e,pagination:null};const t=e?.data??e;return Array.isArray(t)?{data:t,pagination:e?.pagination??null}:{data:t?.results??t?.items??[],pagination:t?.pagination??e?.pagination??null}},va=e=>e.payload?.message??e.error?.message??"Something went wrong",Go=ie.createSlice({name:"complaintAppComplaint",initialState:Xo,reducers:{clearComplaintError(e,t){const n=t.payload;n&&e[n]?.error!==void 0?e[n].error=null:e.error=null},clearSelectedComplaintResource(e,t){const n=t.payload;n&&e[n]?.selected!==void 0&&(e[n].selected=null)},resetComplaintState(){return Xo}},extraReducers:e=>{e.addCase(qe.pending,t=>{t.formFields.isLoading=!0,t.formFields.error=null}).addCase(qe.fulfilled,(t,n)=>{const r=gp(n.payload);t.formFields.isLoading=!1,t.formFields.data=r.data}).addCase(qe.rejected,(t,n)=>{t.formFields.isLoading=!1,t.formFields.error=va(n)}).addCase(An.pending,t=>{t.formFields.isMutating=!0,t.formFields.error=null}).addCase(An.fulfilled,t=>{t.formFields.isMutating=!1}).addCase(An.rejected,(t,n)=>{t.formFields.isMutating=!1,t.formFields.error=va(n)}).addCase(yn.pending,t=>{t.formFields.isMutating=!0,t.formFields.error=null}).addCase(yn.fulfilled,(t,n)=>{const r=n.meta.arg?.fieldId;t.formFields.isMutating=!1,t.formFields.data=t.formFields.data.filter(a=>a.id!==r)}).addCase(yn.rejected,(t,n)=>{t.formFields.isMutating=!1,t.formFields.error=va(n)})}}),{clearComplaintError:Ap,clearSelectedComplaintResource:yp,resetComplaintState:bp}=Go.actions,Yo=Go.reducer,bn="/api/v1/complaint-types",Sn=(e,t)=>{const n=e?.response?.data,r=Array.isArray(n?.errors)?n.errors.map(a=>a?.message).filter(Boolean):[];return t.rejectWithValue({status:e?.response?.status??e?.status,message:(n?.message==="Complaint type code already exists"?"A category with this name already exists. Please use a different name.":null)??(r.includes("code must be shorter than or equal to 50 characters")?"Category name cannot exceed 50 characters. Please enter a shorter name.":null)??(r.length?r.join(" "):null)??n?.message??n?.error??e?.message??"Something went wrong"})},vn=ie.createAsyncThunk("complaintType/fetchAll",async(e,t)=>{try{return(await de.get(bn,{params:e??{}})).data}catch(n){return Sn(n,t)}}),Ze=ie.createAsyncThunk("complaintType/fetchById",async(e,t)=>{try{const n=e;return(await de.get(`${bn}/${n}`)).data}catch(n){return Sn(n,t)}}),wn=ie.createAsyncThunk("complaintType/create",async({payload:e,onSuccess:t,onFail:n},r)=>{try{const a={code:e.categoryName,name:e.categoryName,description:e.description,tatMinutes:e.tatMinutes,accessType:e.visibilityType,roleIds:e.roles.map(l=>parseInt(l,10)),userIds:(e.userIds??[]).map(l=>parseInt(l,10))},o=await de.post(bn,a);return t&&typeof t=="function"&&t(o.data),o.data}catch(a){return console.log("createComplaintType error:",a),n&&typeof n=="function"&&n(a),Sn(a,r)}}),Cn=ie.createAsyncThunk("complaintType/update",async({id:e,data:t,onSuccess:n,onFail:r},a)=>{try{const o=await de.patch(`${bn}/${e}`,t);return n&&typeof n=="function"&&n(o.data),o.data}catch(o){return console.log("updateComplaintType error:",o),r&&typeof r=="function"&&r(o),Sn(o,a)}}),rr=ie.createAsyncThunk("complaintType/delete",async(e,t)=>{try{const n=await de.delete(`${bn}/${e}`);return{id:e,data:n.data}}catch(n){return Sn(n,t)}}),wa=["userId","id","_id","userID","user_id","value"];function ar(e,t=wa){if(typeof e=="string"||typeof e=="number")return String(e).trim()||null;if(!e||typeof e!="object")return null;for(const n of t){const r=e[n];if(r!=null&&r!==e){const a=ar(r,wa);if(a!==null)return a}}return ar(e.user,wa)}function Ca(e){const t=ar(e?.createdByUserId??e?.createdBy??e?.createdByUser);return t===null?null:[t]}function Sp(e,t){const n=Ca(e),r=ar(t);return r!==null&&n?.includes(r)===!0}const vp={complaintList:[],selected:null,loading:!1,saving:!1,error:null},wp=["data","items","results","content","records","list","payload","response","result"],Jo=e=>{if(Array.isArray(e))return e;if(!e||typeof e!="object")return[];for(const t of wp)if(e[t]!==void 0){const n=Jo(e[t]);if(n.length||Array.isArray(e[t]))return n}return[]},Oe=e=>e?.id??e?._id,Na=(e,t)=>{if(!t)return e;const n=Ca(e),r=Ca(t);return n?.length||!r?.length?e:{...e,userIds:r}},Zo=ie.createSlice({name:"complaintType",initialState:vp,reducers:{setComplaintTypeActive(e,t){const{id:n,isActive:r}=t.payload??{};n!=null&&(e.complaintList=e.complaintList.map(a=>String(Oe(a))===String(n)?{...a,isActive:r}:a),String(Oe(e.selected))===String(n)&&(e.selected={...e.selected,isActive:r}))}},extraReducers:e=>{e.addCase(vn.pending,t=>{t.loading=!0,t.error=null}).addCase(vn.fulfilled,(t,n)=>{t.loading=!1;const r=new Map(t.complaintList.map(a=>[String(Oe(a)),a]));t.complaintList=Jo(n.payload).map(a=>Na(a,r.get(String(Oe(a)))))}).addCase(vn.rejected,(t,n)=>{t.loading=!1,t.error=n.payload?.message??n.error?.message??"Failed to fetch complaint types"}).addCase(Ze.pending,t=>{t.loading=!0,t.error=null}).addCase(Ze.fulfilled,(t,n)=>{t.loading=!1;const r=n.payload?.data??n.payload,a=t.complaintList.find(o=>String(Oe(o))===String(Oe(r)));t.selected=Na(r,a)}).addCase(Ze.rejected,(t,n)=>{t.loading=!1,t.error=n.payload?.message??n.error?.message??"Failed to fetch complaint type"}).addCase(wn.pending,t=>{t.saving=!0,t.error=null}).addCase(wn.fulfilled,(t,n)=>{t.saving=!1;const r=n.payload?.data??n.payload,a=n.meta?.arg?.payload?.userIds,o=Array.isArray(a)?{...r,userIds:a}:r;t.complaintList=[o,...t.complaintList.filter(l=>String(Oe(l))!==String(Oe(o)))],t.selected=o}).addCase(wn.rejected,(t,n)=>{t.saving=!1,t.error=n.payload?.message??n.error?.message??"Failed to create complaint type"}).addCase(Cn.pending,t=>{t.saving=!0,t.error=null}).addCase(Cn.fulfilled,(t,n)=>{t.saving=!1;const r=n.payload?.data??n.payload,a=Oe(r)??n.meta?.arg?.id,o=t.complaintList.find(c=>String(Oe(c))===String(a)),l=n.meta?.arg?.data?.userIds,i=Array.isArray(l)?{...r,userIds:l}:Na(r,o);t.complaintList=t.complaintList.map(c=>String(Oe(c))===String(a)?i:c),t.selected=i}).addCase(Cn.rejected,(t,n)=>{t.saving=!1,t.error=n.payload?.message??n.error?.message??"Failed to update complaint type"}).addCase(rr.pending,t=>{t.saving=!0,t.error=null}).addCase(rr.fulfilled,(t,n)=>{t.saving=!1;const r=n.payload?.id??n.meta?.arg;t.complaintList=t.complaintList.filter(a=>String(Oe(a))!==String(r)),String(Oe(t.selected))===String(r)&&(t.selected=null)}).addCase(rr.rejected,(t,n)=>{t.saving=!1,t.error=n.payload?.message??n.error?.message??"Failed to delete complaint type"})}}),{setComplaintTypeActive:Cp}=Zo.actions,Np=Zo.reducer,_p={details:{},id:null,isEdit:!1},Ro=ie.createSlice({name:"appDetails",initialState:_p,reducers:{setAppDetails(e,t){e.details=t.payload??{}},clearAppDetails(e){e.details={}},setId(e,t){e.id=t.payload},setIsEdit(e,t){e.isEdit=t.payload.data},clearId(e){e.id=null}}}),{setAppDetails:el,clearAppDetails:Ep,setId:gt,setIsEdit:Bt,clearId:Lp}=Ro.actions,tl=Ro.reducer,Ip={list:[],pagination:null,isLoading:!1,error:null},nl=ie.createSlice({name:"roles",initialState:Ip,reducers:{}});nl.reducer;const sr=60,_a=24*sr,Tp={d:_a,h:sr,m:1};function Ea(e){const t=Number(e);return Number.isFinite(t)&&t>0?t:0}function rl(e=[],t=!0){const n=Array.isArray(e)?e:[];return(t?n:n.slice(0,-1)).reduce((a,o)=>a+Be(o?.escalateAfterMinutes),0)}function Be(e){if(e==null||e==="")return 0;if(typeof e=="number")return Ea(e);const t=String(e).trim().toLowerCase().replace(/minutes?/g,"").trim();if(!t)return 0;if(/^\d+(\.\d+)?$/.test(t))return Ea(t);const n=/(\d+(?:\.\d+)?)\s*(d|h|m)/g;let r=0,a=!1,o;for(;(o=n.exec(t))!==null;)a=!0,r+=(Tp[o[2]]||0)*Number(o[1]);return a?Ea(r):0}function Ut(e){const t=Math.round(typeof e=="number"?e:Be(e));if(!Number.isFinite(t)||t<=0)return"";const n=Math.floor(t/_a),r=Math.floor(t%_a/sr),a=t%sr,o=[];return n&&o.push(`${n}d`),r&&o.push(`${r}h`),a&&o.push(`${a}m`),o.join("")}function Fp(e){const t=String(e??"").trim().toLowerCase().replace(/minutes?/g,"").replace(/\s+/g,"");return!t||!/^(\d+(?:\.\d+)?[dhm])+$/.test(t)?!1:Be(e)>0}function kp(e){return String(e??"").replace(/(\d+)\s*minutes?/gi,(t,n)=>Ut(Number(n))||"0m")}function Op(e=[]){return rl(e,!0)}function jt(e=[],t=0){if(!Array.isArray(e)||e.length===0)return e;const n=Math.max(0,Be(t)-rl(e,!1)),r=Ut(n),a=e.length-1;return String(e[a]?.escalateAfterMinutes??"")===r?e:e.map((o,l)=>l===a?{...o,escalateAfterMinutes:r}:o)}function Dp(e=[]){if(!Array.isArray(e)||e.length===0)return e;const t=e.length-1;return e.map((n,r)=>r===t?{...n,escalateAfterMinutes:""}:n)}const al=e=>`/api/v1/complaint-types/${e}/workflow-steps`;function Pp(e){const t=e?.response?.data??e?.payload??e,n=Array.isArray(t?.errors)?t.errors.map(r=>r?.message).filter(Boolean):[];return n.length?n.join(" "):t?.message??t?.error??e?.message??"Something went wrong"}function La(e){return e===!0||e==="Yes"||e==="yes"||e==="true"||e===1||e==="1"}const sl=(e,t)=>t.rejectWithValue({status:e?.response?.status??e?.status,message:Pp(e)}),Re=ie.createAsyncThunk("workflow/fetchSteps",async(e,t)=>{try{return(await de.get(al(e))).data}catch(n){return sl(n,t)}}),or=ie.createAsyncThunk("workflow/updateSteps",async({id:e,tables:t,onSuccess:n,onFail:r},a)=>{try{if(!Array.isArray(t.tables))throw new Error("tables must be an array");const o=t.tables.map((i,c)=>{const d=Array.isArray(i.role)?i.role.map(S=>Number(S)):[],f=Array.isArray(i.users)?i.users.map(S=>Number(S)):[],u=d.length>0,p=f.length>0,b=!u&&(p||i.workflowType==="user");return{levelNo:c+1,workflowType:b?"Users Based":"Role Based",...u||!b?{roleIds:d}:{},...p||b?{userAssignments:f.map(S=>({userId:S}))}:{},escalateAfterMinutes:Be(i.escalateAfterMinutes),canResolve:La(i.canResolve),canReassign:La(i.canReassign),isFinalLevel:La(i.finalLevel),isActive:!0}}),l=await de.put(al(e),{steps:o});return typeof n=="function"&&n(l.data),l.data}catch(o){return typeof r=="function"&&r(o),sl(o,a)}}),Mp={workflowSteps:null,workflowStepsLoading:!1,workflowStepsSaving:!1,error:null},xp=ie.createSlice({name:"workflow",initialState:Mp,reducers:{},extraReducers:e=>{e.addCase(Re.pending,t=>{t.workflowStepsLoading=!0,t.error=null,t.workflowSteps=null}).addCase(Re.fulfilled,(t,n)=>{t.workflowStepsLoading=!1,t.workflowSteps=n.payload?.data??n.payload}).addCase(Re.rejected,(t,n)=>{n.meta.aborted||(t.workflowStepsLoading=!1,t.error=n.payload?.message??n.error?.message??"Failed to fetch workflow steps")}).addCase(or.pending,t=>{t.workflowStepsSaving=!0,t.error=null}).addCase(or.fulfilled,(t,n)=>{t.workflowStepsSaving=!1,t.workflowSteps=n.payload?.data??n.payload}).addCase(or.rejected,(t,n)=>{t.workflowStepsSaving=!1,t.error=n.payload?.message??n.error?.message??"Failed to update workflow steps"})}}).reducer,Ia="/api/v1/complaints",Bp=(e,t)=>{const n=e?.response?.data,r=Array.isArray(n?.errors)?n.errors.map(a=>a?.message).filter(Boolean):[];return t.rejectWithValue({status:e?.response?.status??e?.status,message:(r.length?r.join(" "):null)??n?.message??n?.error??e?.message??"Something went wrong"})},lr=ie.createAsyncThunk("complaintManagement/fetchQueries",async(e,t)=>{try{const{complaintTypeId:n,page:r=1,limit:a=10,status:o,sort:l="-createdAt",fromDate:i,toDate:c,assignedToUserId:d,unassigned:f,escalationTo:u,search:p}=e||{},b={page:r,limit:a,complaintTypeId:n,sort:l};return o!=null&&o!==""&&o!=="all"&&(b.status=o),p!=null&&p.trim()!==""&&(b.search=p.trim()),i&&c&&(b.fromDate=i,b.toDate=c),d!=null&&d!==""&&(b.assignedToUserId=d),f!=null&&f!==""&&(b.unassigned=f),b.showAllComplaints=!1,u!=null&&u!==""&&u!=="all"&&(b.escalationTo=u),(await de.get(Ia,{params:b,signal:t.signal})).data}catch(n){return Bp(n,t)}}),Up=e=>`/api/v1/complaints/${e}`,jp=(e,t)=>{const n=e?.response?.data,r=Array.isArray(n?.errors)?n.errors.map(a=>a?.message).filter(Boolean):[];return t.rejectWithValue({status:e?.response?.status??e?.status,message:(r.length?r.join(" "):null)??n?.message??n?.error??e?.message??"Something went wrong"})};function Ta(e){if(e==null||e==="")return;const t=Number(e);return Number.isNaN(t)?void 0:t}const At=ie.createAsyncThunk("changeStatus/update",async({id:e,statusId:t,currentStepId:n,assignedToUserId:r,remark:a,onSuccess:o,onFail:l},i)=>{try{const c={},d=Ta(t),f=Ta(n),u=Ta(r);d!=null&&(c.statusId=d),f!=null&&(c.currentStepId=f),u!=null&&(c.assignedToUserId=u),a!=null&&String(a).trim()!==""&&(c.remarks=String(a).trim());const p=await de.patch(Up(e),c,{signal:i.signal});return o&&typeof o=="function"&&o(p.data),p.data}catch(c){return l&&typeof l=="function"&&l(c),jp(c,i)}}),ol={list:[],meta:null,isLoading:!1,error:null,hasLoaded:!1,requestedComplaintTypeId:null},$p=e=>{const t=e?.data??e;if(Array.isArray(t))return{list:t,meta:e?.meta??e?.pagination??null};const n=t?.data??t?.results??t?.items??[];return{list:Array.isArray(n)?n:[],meta:t?.meta??t?.pagination??e?.meta??e?.pagination??null}},Vp=e=>e.payload?.message??e.error?.message??"Failed to fetch queries",ll=e=>e?.complaintId??e?.id,Wp=(e,t)=>{const n=t.meta?.arg??{},r=t.payload?.data??t.payload,a=n.id??ll(r);return a==null?e:e.map(o=>{if(String(ll(o))!==String(a))return o;const l={...o};return r&&typeof r=="object"&&!Array.isArray(r)&&["status","statusId","level","levelNo","currentStepId","currentWorkflowStepId","workflowStepId","assignedToUserId"].forEach(i=>{r[i]!==void 0&&(l[i]=r[i])}),n.statusId!=null&&(l.statusId=n.statusId),n.status&&(l.status=n.status),n.currentStepId!=null&&(l.currentStepId=n.currentStepId,l.currentWorkflowStepId=n.currentStepId,l.workflowStepId=n.currentStepId),n.level!=null&&(l.level=n.level,l.levelNo=n.level),n.assignedToUserId!=null&&(l.assignedToUserId=n.assignedToUserId),l})},il=ie.createSlice({name:"complaintManagement",initialState:ol,reducers:{resetComplaintManagementState:()=>ol},extraReducers:e=>{e.addCase(lr.pending,(t,n)=>{t.isLoading=!0,t.error=null,t.hasLoaded=!1,t.list=[],t.requestedComplaintTypeId=n.meta.arg?.complaintTypeId??null}).addCase(lr.fulfilled,(t,n)=>{const r=n.meta.arg?.complaintTypeId;if(t.requestedComplaintTypeId!=null&&r!=null&&String(t.requestedComplaintTypeId)!==String(r))return;const a=$p(n.payload);t.isLoading=!1,t.hasLoaded=!0,t.list=a.list,t.meta=a.meta}).addCase(lr.rejected,(t,n)=>{if(n.meta.aborted)return;const r=n.meta.arg?.complaintTypeId;t.requestedComplaintTypeId!=null&&r!=null&&String(t.requestedComplaintTypeId)!==String(r)||(t.isLoading=!1,t.hasLoaded=!0,t.error=Vp(n))}).addCase(At.fulfilled,(t,n)=>{t.list=Wp(t.list,n)})}}),{resetComplaintManagementState:cl}=il.actions,qp=il.reducer,Hp=e=>`/api/v1/complaint-types/${e}/statuses`,zp="/api/v1/complaints/summary",dl=(e,t)=>{const n=e?.response?.data,r=Array.isArray(n?.errors)?n.errors.map(a=>a?.message).filter(Boolean):[];return t.rejectWithValue({status:e?.response?.status??e?.status,message:(r.length?r.join(" "):null)??n?.message??n?.error??e?.message??"Something went wrong"})},$t=ie.createAsyncThunk("status/fetchStatuses",async(e,t)=>{try{return(await de.get(Hp(e),{signal:t.signal})).data}catch(n){return dl(n,t)}}),ir=ie.createAsyncThunk("status/fetchComplaintSummary",async(e,t)=>{try{return(await de.get(zp,{params:{complaintTypeId:e},signal:t.signal})).data}catch(n){return dl(n,t)}}),ul={list:[],isLoading:!1,error:null,hasLoaded:!1,requestedComplaintTypeId:null,complaintSummary:null,isComplaintSummaryLoading:!1,complaintSummaryError:null,hasComplaintSummaryLoaded:!1,requestedComplaintSummaryTypeId:null},Kp=e=>{const t=e?.data??e?.results??e?.items??e;return Array.isArray(t)?t:[]},Qp=e=>{const t=e?.data??e;return!t||typeof t!="object"||Array.isArray(t)?null:t},Xp=e=>e.payload?.message??e.error?.message??"Failed to fetch statuses",Gp=e=>e.payload?.message??e.error?.message??"Failed to fetch complaint summary",cr=(e,t)=>e!=null&&t!=null&&String(e)!==String(t),fl=ie.createSlice({name:"status",initialState:ul,reducers:{resetStatusState:()=>ul},extraReducers:e=>{e.addCase($t.pending,(t,n)=>{t.isLoading=!0,t.error=null,t.hasLoaded=!1,t.list=[],t.requestedComplaintTypeId=n.meta.arg??null}).addCase($t.fulfilled,(t,n)=>{const r=n.meta.arg;if(cr(t.requestedComplaintTypeId,r))return;const a=Kp(n.payload);t.isLoading=!1,t.hasLoaded=!0,t.list=[...a].sort((o,l)=>(o.displayOrder??0)-(l.displayOrder??0))}).addCase($t.rejected,(t,n)=>{if(n.meta.aborted)return;const r=n.meta.arg;cr(t.requestedComplaintTypeId,r)||(t.isLoading=!1,t.hasLoaded=!0,t.error=Xp(n))}).addCase(ir.pending,(t,n)=>{t.isComplaintSummaryLoading=!0,t.complaintSummaryError=null,t.hasComplaintSummaryLoaded=!1,t.complaintSummary=null,t.requestedComplaintSummaryTypeId=n.meta.arg??null}).addCase(ir.fulfilled,(t,n)=>{const r=n.meta.arg;cr(t.requestedComplaintSummaryTypeId,r)||(t.isComplaintSummaryLoading=!1,t.hasComplaintSummaryLoaded=!0,t.complaintSummary=Qp(n.payload))}).addCase(ir.rejected,(t,n)=>{if(n.meta.aborted)return;const r=n.meta.arg;cr(t.requestedComplaintSummaryTypeId,r)||(t.isComplaintSummaryLoading=!1,t.hasComplaintSummaryLoaded=!0,t.complaintSummaryError=Gp(n))})}}),{resetStatusState:pl}=fl.actions,Yp=fl.reducer,Jp="/api/v1/complaints",Zp="/api/v1/complaint-types",hl=(e,t)=>{const n=e?.response?.data,r=Array.isArray(n?.errors)?n.errors.map(a=>a?.message).filter(Boolean):[];return t.rejectWithValue({status:e?.response?.status??e?.status,message:(r.length?r.join(" "):null)??n?.message??n?.error??e?.message??"Something went wrong"})},dr=ie.createAsyncThunk("createComplaint/create",async(e,t)=>{try{return(await de.post(Jp,e,{signal:t.signal})).data}catch(n){return hl(n,t)}}),Nn=ie.createAsyncThunk("createComplaint/updateActive",async({id:e,isActive:t,onSuccess:n,onFail:r},a)=>{try{const o=await de.patch(`${Zp}/${e}`,{isActive:t},{signal:a.signal});return n&&typeof n=="function"&&n(o.data),o.data}catch(o){return r&&typeof r=="function"&&r(o),hl(o,a)}}),Rp={data:null,isLoading:!1,error:null,hasLoaded:!1,isActive:!0,activeComplaintTypeId:null,isUpdatingActive:!1,activeError:null},eh=e=>e.payload?.message??e.error?.message??"Failed to create complaint",th=e=>e.payload?.message??e.error?.message??"Failed to update complaint type",nh=ie.createSlice({name:"createComplaint",initialState:Rp,reducers:{},extraReducers:e=>{e.addCase(dr.pending,t=>{t.isLoading=!0,t.error=null,t.hasLoaded=!1}).addCase(dr.fulfilled,(t,n)=>{t.isLoading=!1,t.hasLoaded=!0,t.data=n.payload?.data??n.payload}).addCase(dr.rejected,(t,n)=>{n.meta.aborted||(t.isLoading=!1,t.hasLoaded=!0,t.error=eh(n))}).addCase(Nn.pending,t=>{t.isUpdatingActive=!0,t.activeError=null}).addCase(Nn.fulfilled,(t,n)=>{t.isUpdatingActive=!1;const r=n.payload?.data??n.payload;t.activeComplaintTypeId=r?.id??n.meta?.arg?.id??null,t.isActive=!!(r?.isActive??r?.active??n.meta?.arg?.isActive)}).addCase(Nn.rejected,(t,n)=>{n.meta.aborted||(t.isUpdatingActive=!1,t.activeError=th(n))})}}).reducer,ml={data:null,isLoading:!1,error:null,hasLoaded:!1,updatingId:null},rh=e=>e.payload?.message??e.error?.message??"Failed to update complaint status",gl=ie.createSlice({name:"changeStatus",initialState:ml,reducers:{resetChangeStatusState:()=>ml},extraReducers:e=>{e.addCase(At.pending,(t,n)=>{t.isLoading=!0,t.error=null,t.hasLoaded=!1,t.updatingId=n.meta.arg?.id??null}).addCase(At.fulfilled,(t,n)=>{t.isLoading=!1,t.hasLoaded=!0,t.updatingId=null,t.data=n.payload?.data??n.payload}).addCase(At.rejected,(t,n)=>{n.meta.aborted||(t.isLoading=!1,t.hasLoaded=!0,t.updatingId=null,t.error=rh(n))})}}),{resetChangeStatusState:ah}=gl.actions,sh=gl.reducer,oh={BASE_URL:"/",DEV:!1,MODE:"production",PROD:!0,SSR:!1},Fa=(e,t)=>{try{return oh?.[e]||t}catch{return t}},lh=Fa("VITE_S3_API_URL","https://api.airaops.com").replace(/\/$/,""),Al=Fa("VITE_S3_UPLOAD_ENDPOINT","/api/v1/files/upload"),ih=Fa("VITE_S3_SIGNED_URL_ENDPOINT","/api/v1/files/signed-url"),yl=e=>/^https?:\/\//i.test(e)?e:`${lh}${e}`,ch=e=>(String(e?.name||e?.fileName||"file").split(/[/\\]/).pop()||"file").replace(/[^\w.-]+/g,"_")||"file",bl=(e,t)=>{const n=e?.response?.data,r=n?.error?.details?.errors?.file;if(r)return r;const a=n?.message;return a||(e?.response?.status===404?`S3 upload endpoint was not found: ${Al}`:e?.response?.data?.error??e?.message??t)},Vt=ie.createAsyncThunk("s3/fileUpload",async({file:e,folder:t},{rejectWithValue:n})=>{try{const r={fileSize:e.size,subDirectory:t,fileName:ch(e)},a=await de.post(yl(Al),r),o=a.data.uploadSignedUrl;return(await fetch(o,{method:"PUT",headers:{"Content-Type":e.type||"application/octet-stream"},body:e})).ok?a.data:n("Error uploading file")}catch(r){return n(bl(r,"Error uploading file"))}}),_n=ie.createAsyncThunk("s3/getSignedUrl",async({params:e},{rejectWithValue:t})=>{try{const r=(await de.get(yl(ih),{params:e})).data??{},a=r.data??r;return a.signedUrl||a.uploadSignedUrl||""}catch(n){return t(bl(n,"Error getting file signedUrl"))}}),dh={isUploading:!1,uploadedFile:null,uploadedFiles:[],uploadError:null,isGettingSignedUrl:!1,signedUrl:"",signedUrlError:null},uh=ie.createSlice({name:"s3",initialState:dh,reducers:{},extraReducers:e=>{e.addCase(Vt.pending,t=>{t.isUploading=!0,t.uploadError=null}).addCase(Vt.fulfilled,(t,n)=>{t.isUploading=!1,t.uploadedFile=n.payload,t.uploadedFiles.push(n.payload)}).addCase(Vt.rejected,(t,n)=>{n.meta.aborted||(t.isUploading=!1,t.uploadError=n.payload||"Error uploading file")}).addCase(_n.pending,t=>{t.isGettingSignedUrl=!0,t.signedUrl="",t.signedUrlError=null}).addCase(_n.fulfilled,(t,n)=>{t.isGettingSignedUrl=!1,t.signedUrl=n.payload}).addCase(_n.rejected,(t,n)=>{n.meta.aborted||(t.isGettingSignedUrl=!1,t.signedUrl="",t.signedUrlError=n.payload||"Error getting file signedUrl")})}}).reducer,fh=e=>`/api/v1/complaints/${encodeURIComponent(e)}`,ph=(e,t)=>{const n=e?.response?.data,r=Array.isArray(n?.errors)?n.errors.map(a=>a?.message).filter(Boolean):[];return t.rejectWithValue({status:e?.response?.status??e?.status,message:(r.length?r.join(" "):null)??n?.message??n?.error??e?.message??"Failed to fetch complaint details"})},yt=ie.createAsyncThunk("complaintsGetOne/fetchById",async(e,t)=>{try{return(await de.get(fh(e),{signal:t.signal})).data}catch(n){return ph(n,t)}}),Sl={data:null,isLoading:!1,error:null,hasLoaded:!1,requestedComplaintId:null},hh=e=>e.payload?.message??e.error?.message??"Failed to fetch complaint details",vl=(e,t)=>e!=null&&t!=null&&String(e)!==String(t),wl=ie.createSlice({name:"complaintsGetOne",initialState:Sl,reducers:{resetComplaintDetails:()=>Sl},extraReducers:e=>{e.addCase(yt.pending,(t,n)=>{t.data=null,t.isLoading=!0,t.error=null,t.hasLoaded=!1,t.requestedComplaintId=n.meta.arg??null}).addCase(yt.fulfilled,(t,n)=>{vl(t.requestedComplaintId,n.meta.arg)||(t.data=n.payload?.data??n.payload,t.isLoading=!1,t.hasLoaded=!0)}).addCase(yt.rejected,(t,n)=>{n.meta.aborted||vl(t.requestedComplaintId,n.meta.arg)||(t.isLoading=!1,t.hasLoaded=!0,t.error=hh(n))})}}),{resetComplaintDetails:mh}=wl.actions,gh=wl.reducer,Ah=e=>`/api/v1/users/role/${e}`,bt=ie.createAsyncThunk("roleUsers/fetchByRole",async(e,t)=>{try{const n=await de.get(Ah(encodeURIComponent(e)),{signal:t.signal});return{roleId:e,response:n.data}}catch(n){return t.rejectWithValue({roleId:e,message:n?.response?.data?.message??n?.response?.data?.error??n?.message??"Failed to fetch users for role"})}}),yh={usersByRoleId:{},loadingByRoleId:{},errorByRoleId:{}},bh=ie.createSlice({name:"roleUsers",initialState:yh,reducers:{},extraReducers:e=>{e.addCase(bt.pending,(t,n)=>{const r=String(n.meta.arg);t.loadingByRoleId[r]=!0,delete t.errorByRoleId[r]}).addCase(bt.fulfilled,(t,n)=>{const r=String(n.payload.roleId),a=n.payload.response?.data??n.payload.response;t.usersByRoleId[r]=Array.isArray(a)?a:[],t.loadingByRoleId[r]=!1}).addCase(bt.rejected,(t,n)=>{if(n.meta.aborted)return;const r=String(n.payload?.roleId??n.meta.arg);t.loadingByRoleId[r]=!1,t.errorByRoleId[r]=n.payload?.message??n.error?.message??"Failed to fetch users for role"})}}).reducer,Sh=e=>`/api/v1/complaints/${encodeURIComponent(e)}/activities`,St=ie.createAsyncThunk("activityLog/fetchByComplaint",async(e,t)=>{try{const n=await de.get(Sh(e),{signal:t.signal});return{complaintId:e,response:n.data}}catch(n){return t.rejectWithValue({complaintId:e,message:n?.response?.data?.message??n?.response?.data?.error??n?.message??"Failed to fetch complaint activity"})}}),Cl={activities:[],complaintId:null,isLoading:!1,error:null,hasLoaded:!1,currentRequestId:null};function vh(e){const t=e?.data??e;return Array.isArray(t)?t:Array.isArray(t?.activities)?t.activities:Array.isArray(t?.items)?t.items:Array.isArray(t?.results)?t.results:[]}const Nl=ie.createSlice({name:"activityLog",initialState:Cl,reducers:{resetActivityLog:()=>Cl},extraReducers:e=>{e.addCase(St.pending,(t,n)=>{t.activities=[],t.complaintId=n.meta.arg??null,t.isLoading=!0,t.error=null,t.hasLoaded=!1,t.currentRequestId=n.meta.requestId}).addCase(St.fulfilled,(t,n)=>{t.currentRequestId===n.meta.requestId&&(t.activities=vh(n.payload?.response),t.complaintId=n.payload?.complaintId??n.meta.arg,t.isLoading=!1,t.hasLoaded=!0,t.currentRequestId=null)}).addCase(St.rejected,(t,n)=>{n.meta.aborted||t.currentRequestId!==n.meta.requestId||(t.isLoading=!1,t.hasLoaded=!0,t.error=n.payload?.message??n.error?.message??"Failed to fetch complaint activity",t.currentRequestId=null)})}}),{resetActivityLog:wh}=Nl.actions,Ch=Nl.reducer,Nh=ie.combineReducers({complaintAppComplaint:Yo,complaintType:Np,appDetails:tl,workflow:xp,roles:nl.reducer,complaintManagement:qp,status:Yp,createComplaint:nh,changeStatus:sh,s3:uh,complaintsGetOne:gh,roleUsers:bh,activityLog:Ch}),_l=e=>ie.configureStore({reducer:Nh,preloadedState:e,middleware:t=>t({immutableCheck:!1,serializableCheck:!1})}),El=_l(),Ll="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyAAAAJoCAYAAACeDIXdAAAACXBIWXMAACxLAAAsSwGlPZapAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAOdEVYdFNvZnR3YXJlAEZpZ21hnrGWYwAAKuJJREFUeAHt3W2snGd5J/BrHNvJhigcEHa73UImbNlFOC0ONNHCos0xWrqlVE0stfChpTn+supCJRwtUO0n29+60FUcqexu+8W2ClKBley0QFdLJQ/7QldJ05guRl2RrQeKEE1QMBExiW08e99nnmMcx57nmeN5eV5+P+lhDjkTv5ycmXP/n+u67ysCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoOH2H/lh/yOfOr87AOAG9AIAJvjIkRQ6tm07EjHaCB/DXowe+dhv3HQ4AGBKAggA17X/yKi/devoyV4vVq7+XAohDwkhAExrSwDAdWzbFgeuFT6yUfQOBABMSQAB4LpGP267upaVf/up0R0BAFMQQAC4ri293koAwAwJIAAAwMIIIAAAwMIIIAAAwMIIIAAAwMIIIAAAwMIIIAAAwMIIIAAAwMIIIAAAwMJsDYCW+vAfXVjtben1e5fi7Mfev/VEQA3sPzJa2bb9Rw/kj0eXRsPfe/+2QQB0iAACtE5a4PW3bRsdTx/ujlFa5PUiPvLJS8PoXdz78V/ffipgST76RxcfuBSjIzHasj5hvjf+3jx14cKLew/v+wfDAOgALVhA66TwcTJy+Hipfoy2ntx/5If9gCX4yJHzuy/FliMpdKxc9and27bdfCQAOkIAAVolt11FDhvXtpIWekIIC5ercrFt6/FrhI8Nqx/51Gh3AHSAAAK0Sm/L1n7JU/rjEDJaCViAoiUwV+X6k57XuzT58wBtIYAArTK6dHFY4WnrC0IhhHlb33BeIXxkl+Li2QDoAAEEaJV8olAvYljhqbu3bbv0cMAcVQ0f+XvWaVhAVwggQOuMLlzcOxpFhbvJvbWPfmp0IGAOPvrJUQ64pfs6cvjYcuHFPQHQEQII0Dof35eP2v3R3irPHY1GB4UQZi1/T41itL/0iSko58D8u47gBTpEAAFaab2d5dKlfVWeux5CPjl6MGAG1sNH+p6q8txeXNo3DswA3SGAAK318d/cejQtBA9VeW66W320OMIXNi0H2arhI33PPfSx9289EQAdI4AArfZ777/p4KXR6JEqz+31bjr+kU+dN4uBTcmDBnOQrfLcHIx/7zduOhwAHSSAAK33H95/0/60MDxW4akrMdp63KBCppVnfYy2bj1Z6cm90SM5GAdARwkgQCdcvLAlbwiu0mtvUCFT2Rg0OGHK+Y/14sTHf/2m8s3pAC0mgACdcHhf7+yFC709FWeEGFRIJdMMGkxOXTjfq3QwAkCbCSBAZ+QQsqV6CDGokFLTDBq86cKLe/P3YAB0nAACdMrv7usNcwipPKhwPEwOXuZ3PjU6ElMMGjTrA2BMAAE6J4eQyoMKY7TfoEKulr8nLo1Ga6VPTEFX+AB4KQEE6KTpBxX+yMZh1k07aFD4AHgpAQTorOkGFfYeNqiQj3xq9CGDBgFujAACdFqex1A1hBhU2G150GAqh1UaHmjQIMD1CSBA562HEIMKmWCaQYPr4cOgQYDr6gXQemlB1C8+XCkuruF3Hx0df/YHlb4+w3fu+tG+X9y9NdruwGdHx394/vpfk7339Pa+7Z9EXY6WHabrbK8326NuNwYNRoXjdnOQTZWPtQDgutr/0xM6JoWNvFjMbUL3p2s1xosmoaOCD727F4e/MIrvPV/61P7ffPumk/e9KeIfbI9Wu2VbRAog1/XGfxTHo2bSayAHkFPF9aUUSDa9D2Oa8JF/v4sXtjisAKCEFixoibToWk1XnllxJl15wZQXQjmICB8V5TDxW+/qxateUf7cb38v4jP/exTUUv6eX43xa+B4el18L11HrqgEVlJMOc8Bq1/2XIMGAaoTQKDh8qIqXTlwbIQOgeMG5PCRQ8gtFSobp/8u4k+eEEIaIL8m1tJ1ZpogcvP2yIHeoEGAGRNAoMHSQioPyMsVj9VgZtZDyL+sFkL+599EfPH/CCENshbjIDJxuKRBgwDzI4BAAxVVjyfThweDufipV0X8ylurndPxxb9OQeT/CiENk49fPnOtasg0gwbj4kXhA2BKAgg0TFoY5ZaQ3G5lHsWc/fzrI971s9VCyJ/8ZcRf/m3QLP10nSxeU+umHTT48X3bTwUAU3EKFjTIFeHDPo8FedfP5f/tVWqz+tMnRqly0luvntAY/RiHkD2/88kf5cpi9UGD7zdoEGAzVECgIYpWEeFjCXIIeevry5+Xj6s99qVKx/hSLyvP/iBOXootR6o82aBBgBsjgEADCB/L97639eL1P1H+vBw+/vMXhZAmyf+t/uDPRyu9Xvnra33QoPABcEMEEGiGfGJPP1iqB/9FL/5hhfaqvKDNlZBJA/yohykD4ylTzgFunAACNTcaHwW6FixdHlS4dl/1QYXH/ruTsershQvVW+byrI8LF3p7AoAbJoBA/R0IamOaQYV/+/cRn/4LIaSuPv3l0XpQLLMxaNCUc4DZEECgxorqRz+olWkGFT7xtwYV1lGeYH/6WxWeaNAgwMwJIFBvqh81ZVBhNNYX/3q0PsG+EoMGAWbOHBCoqVT9WA3Vj1rLgwpfON9bv5teJg8qvGXb+N9hef7H34xSRarac1+/Y3To3/wrgwYBZk0FBOrrwaD23vHG6tPS86DCKnsOmI/T3xql/wbVnvuun+vFb/3CFsdeA8yBAAL1tRo0Qh5U+I5/Wv68fCzvH/y5GSHLkIPfp79c7bk5fLzrZ9c/vD8AmDkBBGqoGDzYDxrjV36+2qDCHEIMKlysjbks+djdMu944+XwkfXTa/GOAGCmBBCop37QONMMKswhxKDC+Ztm0OD4YIGX/eO7A4CZEkCgnnYHjTPNoMK8IP7TJ5yMNW//7a+rhY+N+S7X0A8AZkoAgXqy+bWhNhayVUJInkOhCjI/+Wub57CUuTxccts1P+21CDBjAgjUUz9orLygffC+8kGFeYFcZV8Cm3N2isrHhMBoDwjAjAkgAHOQ9xO8759NPp43t2xVqZQs06tuu/7n6v7nXyn5s+WKx4MVW+YAmB0BBOrpbNB4u147eVp6PnGp7n7hZ5v7588BadLxyPnksp8qPzTg+wHATAkgUE8CSEtcb1DhVce91lY+WrjJf/480+Pq6fO58pGDYcWp9F6LADNW/9tv0EGj0WgtPRwJWiOfxPTtZyN+eGHcnlXhznutNP3PnwcRbkyhv+u1cb0N59eyt9frnQgAZkYAgRpKASQfw/tkAMt2dwogpwKAmRFAoKZSCMn3ax0BCstzNoWPhtV6AOrPHhCoL3ddYbm+FADMnAAC9fVoAMtk7wfAHGjBgpoajUa5/epMaMOCZcinX93Z6/WcggUwYyogUFPFwudYAMtwQvgAmA8VEKixVAXpx/g0LFUQWKxc/RgGADOnAgI1ViyAHglgkQ4JHwDzowICNVfsBclVkH4A8zaM8ewP7VcAc6ICAjVXLIT2BbAIe4UPgPkSQKAB0oJokB4eCmCeDpl6DjB/Agg0RFoYHU4PhwKYhxw+DgYAc2cPCDTMaDQ6mB4OBDArwgfAAgkg0EBCCMzMQ0V1EYAFEUCgoVII2Z0ejofTsWAzhunaV+yvAmCB7AGBhio2y94d9oXANPIJV/k1c7fwAbAcKiDQAsXE9IPpejCAa8nB41i6DhsyCLBcAgi0SDG08IF03Z+u1XStBHRXDh25Uvhouo6a7wFQDwJIBxR3x/N+AYvR7sn/3e+IH//39z1Am50trmG6vhLj8AFMNkzXWTNwWCQBpIVS4FhND/fF+A644AEAlNmoGOZWxYFWReZJAGmRFDzWYrwHYDUAADZvkK5HUhA5ETBjAkgLpOCRe/4fDsexAgCzNUzXXi1azJJjeBss7+1I18kwCwIAmI9+up5M642Hi4NO4IapgDRUsc8jBw9vBgDAIgzTtcf+EG6UCkgDpfCR93nkyofwAQAsSj9dJ9M6ZHfADVABaZj0ov9QejgcAADLkU/M2mNfCJslgDRIsdn8eAAALFcOIXdrx2IzBJCGKIYJ5rarfgAALN8wxiHkbMAUBJCGSAHkTAgf8BLnXrwUZ54+H48/dS6G6RHarr9ze+x67S1xz8/cGlATh1MAeShgCgJIAxQDBo8EcNnnn3guPvPls+shBLpmx+1b471vX4nVu24LqIG8H2QQUJEAUnNar+ClcuD4/T/77nrVA7ru3lQJ+eC7XxO33uxQS5ZqkALInoCKvGPVXz5ytx/AugN//B3hAwqPpdfCx048HbBkq8V8MqhEAKm/tQDWffbLZ2P4jL0ecKXTf/fCejsiLNmBgIoEkBorjt3tBxDPPHfRIguu4wtPPGc/FMuWqyAGJFOJAFJv9wew7nNpgQVc2/MpfHiNUANrARUIIPW2GsC6x79u3wdMMvjqDwKWzI1TKtka1FIqY+4O7VewLve45xasSd7zltvjnjeYjUB75dfBZye0IebXSH5OnhMCS7I7oAIBpL76AawbnJ58ZzfPRFh756sD2iwHi8//1XNx7oXr7/UQQFiylXQD9Y5er/eNgAm0YNWXuwhQOP3NFyZ+ftfrLLjohtVdkwcPfsE+EJbvzoASAkh9OUkColr7VdmiDNoiDx6cJG9Gz68ZWKJ+QAkBpL4EEIhq7VdaTuiK/L1+6y2Tf3Q7sAGoOwEEqDXtV/BSZRW/stAOsGwCSH2ZuEbnVWm/+uW33B7QJdqwgKYTQOprGNBxVdqv7ti5PaBLchvWztsnH2KpDYslGgaUEEDqSwWEzitrvyq7Ewxtdd9d2rCoLesXSgkg9TUI6LAq7Vd77nL6Fd1UdvCCNiyW5Gyv1zsVUEIAqan0Ah6Guwh0mPYruD5tWNSU8EElAki9PRrQUdqvYDJtWNTQsYAKBJB6OxrQQdqvoJw2LGpoEFCBAFJjvV5vENqw6CDtV1BOGxY1Myjax6GUAFJ/jwR0TFn71arqB6zThkWNWK9QmQBSf4dDFYQOqdR+tUsAgUwbFjUxTNWPEwEVCSA1l17QOXwcCuiIsju2/R3bY8crJ7edQFfkAFIWQrRhsQB7A6YggDRACiG5CjII6ADtVzCdN5UEEG1YzNkjZn8wLQGkOfaFVixa7rGnzpW2Xzl+F16qrCVRGxZzNEzXwYApCSANUZwsocRJqz3+1ORWEe1X8HL5NbFLFYTFG6ZrT9EqDlMRQBqkOJb3oYCWeqwkgGi/gmt7U4V9IOdSJQRmJIeOvY7dZbMEkIYp9oMIIbRODh/nXpi8QNJ+BddWpQ3rzNPnA2Ygh4899n1wIwSQBipCyJ4Ylz+hFbRfweZpw2JBhum6W/jgRgkgDVW0Y+UQciygBcrar97z1tsDuD5tWMxZHjR4t7YrZkEAabD8JpCutRifkDUMaKgq7Vdld3eh68pCujYsNmkQ45ar/TacMysCSAukN4Sj6bozxkFEWZTGKWu/yuFD+xVM9oqbt2jDYpYGMQ4ee4quC5gZAaRFiiByd/owX3l6+iCg5vJd2cFXJy+KVnc5/QqquKfkoAZtWEyQqxuDGB908yrBg3lyS7GFis1hlysho9Fod3pYSVc/mJV+jL+mby4+7gebkhdEZbRfQTX5qOqjJ5+97udz4M8tj0I9VxhecWX559rDae0QHZbD2Pej+LoIYrMngHSA0yrmL71R99PDaroeLB6p6LH/p/0KZmWjDWvS5PNccRRAuEI/3ESbqAhjgxgf/DOwEf/GacGCGSgOBMgtcPlksrwfx+lkFeS7sWUVEAslmE5ZG9bw6fPasGB6q+k6kq4zKZAcKW48skkCCMzYFaeTCSIltF/B7OU2rEk22rCATVsLQeSGCCAwJ45JLqf9Cmav0mlYX3UaFszAWrpOphCyFkxFAIE5y61ZYXL9y2i/gvnRhgUL009XroQ8HFQmgMACFBvWcghxIEBB+xXMjzYsWLj9KYQcT9dKUEoAgQURQl6qbCCa9ivYPG1YsBQPpOt4UEoAgQVKISSfLb43Ot6O9cxzFyceE5ppv4Ibow0LlmI1b04PJhJAYMGKSsje6LDT33yh9Dnar+DGVGnDOqkKAvOwlkLI/uC6BBBYgmI45KHoKO1XMH9V2rAetw8E5uWAI3qvTwCBJUkh5GB0sBVL+xUsTlkbVn4tasOCucib0bViXYcAAsu1LzpG+xUsTlkbVqYNC+Ym7wdZDV5GAIElSlWQQXoYRIeUtV/dm+7Yar+C2dCGBUt3IHgZAQSW79HoiCrtV2UtI8B0yloatWHBXKmCXIMAAst3NF1nowOqtF/d+wYBBGbpnvSauvWWyT/utWHBXD0QvIQAAktWzAbpxHDCKu1Xt97sbQlmKbdh3blje0yiDQvm6sHgJfykh3pofRuW9itYHm1YsFQro9HojuAyAQTqYRAtp/0KlkcbFizdnuAyAQTqYRgtp/0KlkcbFizd7uAyP+2hBop9IMNoKe1XsHzasGCpXhlcJoAAc1fWfpXvzmq/gvnShgVL1Q8uE0CgPlp7FG9Z+9X6wkj7FcyVNiygLvzEB+aqSvvVvf9Y9QMW4dfevjLx89qwgEUQQKA+VqKFqrRf3aP9Chaiv3O7Nixg6QQQqI9+tNDn/+q5iZ8XPmBx1vdblRz4oA0L5mIYXCaAQA2MRqNWVj9y+9Xw6fMTn6P9CharymlYT6fXLjBT3wguE0CgHlp5PvhjX598J1X7FSxelTasgTYsmLVTwWUCCNTDA9FCVU6/AharShvW10oOjgCmNgguE0CgHu6LltF+BfWlDQsWalAMHKYggMCSjUajfrSwBaus/WrH7VtVQGBJtGHBQh0LXkIAgeU7EC1U1n6163W3BLAcuQ2rrAqiDQtmZhC8hAACS1RUP1ajZaq0X5UtfoD5KtsHog0LZuJor9cbBi8hgMByPRgtnP/xuScmz/7I7Ve7XqsCAsuUX4PasGDuDgUvI4DAkhTVj4PRQo+X7P/QfgX1UFaJFEDghhxS/bg2AQSW50i00PCZ8+stWJNov4J6KGvDyq/l0/aCwGYMU/g4GFyTAAJLkKofeeP5arTQyZI7ptqvoD6qtGEJIDC1fOTunuC6BBBYsBQ+8r6Pg9FS2q+gWbRhwczt03o1mQACC5TCR573cThaSvsVNI82LJipHD5OBBMJILAgReXjZLpWoqW0X0HzaMOCmcnh42hQSgCBBSj2fByNFoePTPsVNJM2LLghw3TdLXxUJ4DAHOWjdtOVqx4Ho+XyHVLtV9BM2rBg03K7VQ4fp4LKBBCYgxQ6Voqqx5PR0tOurjY4rf0KmkobFkxtkK49KXjsTdfZYCoCCMxQ3mReBI8zMa56tLrl6kqnvzl5caL9CuqtrEL5hSeeC+By8MjXINiUrQFsWjHNPJ9sdV+MKx27o4O0X0Hz5TasSSHj+Rcvrb/WVTLpmGGMQ8eX0nVCtWM2BJAJisXlarrenK78cWfuZjPRylVX52m/gubbaMM698Kl6z4nHzThtdxag3R9JcYL7nx1eaE9zP9jlsf8CCBXSaFjNT3cn661sLiESrRfQTvkSuWkKki+2bD2zlcHrTFI17FwZ58FswekkINHcVpRvvaH8AGVVGm/+uW33B5A/ZWdhrXRhkXjHU3XncU+hqPCB4vW+QByxTGp+VoNYCpV2q/u2Lk9gPqrchpW2bwfam0Q4+CxT3sRy9TpAJKCx4eiQ8ekwjyUtV+V3VEF6uU9JRXLspsO1NZDRcVjGLBknQ0gKXwcSQ+HQ6sVbFqV9qs9dzn9CpqkbJO5NqzGGcZ4UN7hgJroXAApBsTldqu1AG6I9itonxxAdt4++YwabViNMYzxzApTuqmVLlZAjoeWK5gJ7VfQTveVVC61YTXCMMbhYxhQM50KIKny8XAIHzAT2q+gvbRhtcJe4YO66kwASeFjLcbH6wIzoP0K2ksbVuMd0nZFnXUigBQTzQ8EMDPar6DdtGE11iCFj4MBNdaVCkgOH/0AZqJK+9V73mr4IDSZNqzG2hdQc1uj5Yrqx1oAM1N257O/Y3vseOXkt5ccYD7/xHMxfPp8lHnFzVvinlRRWZ1iT0leGOU/5zPfvxhNkf+eb0qLvnvfcOt6Cxs35lxaID/29XMxfOb8+vdBXjAzW7kNqyyosFBH7fugCbrwE07rFcxYWftVWVDI4ePAH3+ntIpypceeOrf+/F97e/nonhw8PvFn340myn/PoyefXV/UffDdrxFENiEHjxxuP5euc0LHXOXX2to7Xx3UxqGABmh1C5bqB8zeRhCYpGz/x8dOPD1V+NjwmS+fLW35yL/uZ/7X2Wi6/Pf8wB9+Kz775eb/XRYp//f/8LFvr3+vCB/zpw2rVh5V/aAp2r4HZDWAmXr8qckn35S1X+UFS5W2q+v+/iUn75xJv/Zmwk1d5YX0F9KdfMptprLGjbMZvTZOBDRE2wPIgwHM1GMlAaSs/ercC/O9Kz3vX38Z3M2vJn+dhI/FyzcFfH/WggBCY6iAAJXlVouyBX5Z+1Wujtx6y+bfevols0X6P9G+2SO5avQ5VZCJ8kbzwVfdiV+G/P3ZpMMeWiofvatfk8ZobQAZjUarASxUldOvsve+rXwj+bXkDdllFZb8Z1jd1b4J7NqwJjspfCzVD1RAlu0rAQ3S5gpIP4CFekXFykaeEZJPs5rmhKd8KtSh9/1kpefm06N+qWVzSPJd5qe1F13X12yEptuGAQ3S5vMd+wHU1ntTAMlXbp15fkJbVw41O1NQufXm6e6X7Nvz6nhf+vXP3MCG90X72KNPT2xx+8bfn1//WvByZeEsf6+9ybyKTctHQw8b9FrqoFMBDdLmn2Sb6/EAFiq3TM1LDi1NGpKW989M2sfw/HltLtdTtjepyvwYru8VN7d9yyiwSG1+R/HTBgAAasYtDQAAYGHaHECGAdAgZftcnm/hjJNZKDsCdod9M7Sfrg8apc0BxHnYQKOU9dk/76jTa7I3BgQQmqXNAcSJEECjlAUQU76vrawytPOVKiC03u6ABhFAAGqiLICc04J1TWXHwzrBiQ54c0CDtPZdudfr5RYsIQRojP5PTD6S+LRhe9dUNgPEHhA6YPdoNNKGRWO0/bbQowHQEGUL5bwH5Jx9IC/zjZIKSJNmwcAm5fChDYvGaHsAGQRAQ+RWobJJ56e/qQpytTPPTA4gt96iBYtOeCCgIVr9rtzr9QYhhAAN8qbXTb5brw3rpfLXo2xvjAoIHfGgNiyaogu3hQ4FQEP0d0zeB/LYU+eCHyv7eggfdEgOH/sDGqD1AUQVBGiSe3/m1omfz0fxqoL82ONfnxxAygIdtMyHVEFogq40xqqCAI2w45VbS/cslC26uyIHsbLZKPe8YXKgg5bJ4eNAQM11IoAUVZBHAqABVnfdNvHzg9M/cBpWjL8Ok+RTxbRg0UH7UxVkNaDGOnM0SAohuS9yEAA1V9aGlY/jPfnVyYvvtsuVj0HJ12DX64QPOut4CiH9gJrq2tmEe9M1DIAay3fty9qwPv/Ec9FlgwoB7JffcntAR+VWrJP2g1BXnQogxXT0PSGEADX3npLFc5UKQFvlv3tZBSi3X92x0wZ0Oq0fQgg11bnpTCmEDEMIAWruPW+9vbQK8pkvn+3kXpD89y7bfP7et1tzQYynoz+pHYu66eR42CKE3B02pgM1laeiV6mC5MV4l1Sp/OTqx+pdkzfyQ4f0Y1wJ2R1QE50MIFluxyo2pu8L1RCghqpUQfJekC7NBTnwx98pfY7qB7xMP8aVkANasqiDzgaQDSmEHI1xNSTPChkGQE1UqYJkn/iz73aiFeuzFVqvVD9gooMxDiJrAUvU+QCSFdWQgzEOIrkiMgiAGqhSBcmL8iMnn402e/ypc5XazVQ/oFQ/XUdSCDlTVET6AQsmgFyhCCJH05U3qd8Z4zCS94kMQnUEWIJcBXnv28oX1XlfxGdbuh8kB6zfT1WeMnl+iuoHVNaPcUUkB5FcFcmh5IE8xFAoYd62BtdUbFQ/GnRG8Yb7QLreHOOTQ/Kqrx+wZLkKkisAZXs9coVgxyu3lk5Sb5IcPvK+jyotZmt7Xh3ApuwurrWNf5B+Jsac5Dslw+L6SroGac01iJor9s7kr9H9MV4bbKwTrrxDNCyuU/Hjv9sweBkBhE4r3lA+FOM33X5ATX3wF18TH/6jb8e5FyYvxD9RVAraEEI2wkfZvo8sh48cvoDa21jI5yvf9MttYDmUnEjXsbqFkVwRSg8PxvjPWlaO7hfX6hX//iA9HEvXiWIeHaEFi47KwSOXm9OHZ2Jcgu4H1FheXFdpxcpyCBmcbvaQwmnCxz0/c+t6lQhorPzmthbj44LP1GGTfNGKdjJ9mK+1KA8f17OarrzecArZFQQQOie9+HPFIwePtdj8GwosXF5k/1LFhXYOIU3dEzJ85nzl8JFPvdqn9QrapB/jTfJHlrEXJf+eVwSP1ZidfjiF7DIBhM644k3lcAgeNFRebPd3bq/03Lwn5OjJZxt1RG+ea1I1fNx685Y49L6f1HoF7bQW44rIWixI+r1yq9WTMdvgcbV+jAPWw12uhgggdEIxAXbWdzNgKQ7mRfft1RbdeUH/4WPfrrSgX6YcknJYmiYw/fa7XyN8QLv1Y7xYPxBzVvweR2NxNyjzMOwnu3rimABC610RPvoBLfCKjTv/FUNIDh8f+MNv1bYlK5/ulUNSDktVfSCFj7z3A+iEg/MMIcWvfTAWrx/jKk8/OkYAodWKF3UOH1quaJV853+aEJLllqwcRPLMkDrIwejgp7+zfk1TocnhY0+LjhoGKplLCFli+NjQj3EI6dQ6RQChtYQP2m4zISQv9D/xX7+71CCSKx4bf4ay2SZXEz6g03II2R8zUhxKczCWr5+u49EhAghtlu9q9ANabCOEVN2YvuHqIDLvPSJ5X8djT527XPGYNvzkDecf/82fEj6AA7NoWSp+jYNRH/nY34ejI+zeo5WKUzPWAjogh5C8OD9y8tn4whT7KLKNIJLteu0t6/sq8uO0geZa1kPH18/F6W+9sP642dO4coXHaVdAIXc15Lkae+LG1LFDYn9av+RhjKei5byb0zrFXY25n5gBdZOP6N2ZFuuf+YuzpRPTryW3Q220ROWKw50phLwphZH8mP9/DgC3pcf88ZWeTiEm/345zDz9/Yvrczy+9s0X1v/5jXrPW26P9/7zlZf9nkCn5WrBWlqoH41NKG5S9qOechXkRsNV7QkgtFE+x7sf0EF5WOG9qYpxYMqN3VfL1YorA8mi5cDx2066Aq5v49jczf67dZXD1WoKV4NoMbeUaKO1gA7LlYr/+K9/Oj74i6+ZaoN6XeSqx39Kf37hA5igv5khhTWvfmxofReHCgit0pA3FliI1btuW9/PkVuy6nL07iT5z/prb19ZfwSoIHc8HI3pPBj11/oqiABC2zThjQUWJldDciXkvW9bqW0QETyATcoL9ZW0UK80ZbXYI7oazbCarkG0lABCaxRDfFYDeJmrg8jpb74w96N3ywgewAyspetwxeeuRnPcH/U6JnimBBDaZHcAE20EkSzP5cgVkcfT46JsHPW7567bnGwFzMKbp3ju/dEcu6ep7jSNAEKbCCAwhXxa1r3FRu8cRr5WnHo1fPp8zEoOGfe+4dbo79gudADzsDrFc/vRLHldM4gWEkBoEwEENunKMJKP4D2TQkgOIrlNayOQPPP9i9ec7bGzOGkrV1fylcPG+uPO7Zc/BzAn/Sme27R1Qj9ayk8G2uSOAG5YrlLkVil7M4AmGI1Gd/R6vW+UPKcfzdOPllILBwCg7VaieVp7Y1UAAQCgye6s8JwmBpDWEkAAAGiyKidFDaN5vh8tJYDQJq08qg4AmOh70U6tXdcIILTJNwIA6JSyDejFc4bRPMNoKQGENhkGANAlp6Z47jCaZRgtJYDQJtO8CQEAzTfNz/4vRYOkqs0gWkoAoTWKF6p9IADQHdOEikE0xyBaTAChbR4NAKArBlM890Q0x7FoMQGEtjkaAEAXPDrN5vL03NwlMYhmGESLCSC0StGGNQwAoO0Ox/QORf0dbeipXZUJILRRE95cAIDNG25mk3bx7wyi3lq/jhFAaJ305nI0VEEAoM32xebVeYHf+upHJoDQVjfyxgQA1NfRGzmitvh367ghfRgd6eIQQGil4s3lkQAA2mQYs1mk74v6dUsc6kL1IxNAaK30It4fhhMCQJvsncUivTgRa2/UxyNFC3knCCC0XX5zGQYA0HT70iJ9ZjcWi1+rDi3bJ4qbpp0hgNBqxV2SPSGEAECTPTSPCkHxay5z38UgOrhvVQCh9a4IIdqxAKBZcqtUrnxsZuZHJenXPhjjjomzsVjH0u+9p2gH6xQBhE7IISRdd4eN6QDQFPnG4d2L2BuRfo98KlZeJwxj/nLgyBWdtegoAYROKXostWQBQH3lBXpui9qzyFOhipuVd8Z8W7IGMQ5Vc6voNIEAQufkI3qLN5g6HsEHAF2Vg0fuVMgL9IPLak0qWrLyOuFYzM4gxoFqoaGqrgQQOiuXdIsgkvs+85tM53owAaAGBul6KF135k6FOizQi2rIWoyDSL5hOYjpbQSqjeAxCNZtDei4ou9zfSLqaDRaTQ+709VP15uDl/jhi5dWYvz1Abjshxcu5V59N3Goapiub8R4j8egzpuwizB0NF9pjZB/Bq7G+OdgXiOsXPX0/Pe48u81DK5JAIErFHcnBsE1/erHz6ymh5MBcIV//5mnH/ov/+7OQUCLFUHp8k1LNk8LFgAAsDACCAAAsDACCAAAsDACCAAAsDACCAAAsDACCAAAsDACCAAAsDACCAAAsDACCAAAsDACCAAAsDACCAAAsDACCDAzz79wKQAAJhFAgMre946ViZ9/5rmL6xfQHvk1ffrvXpj4nLL3BoArbQ2Ait7407dM/PzzL16KD/zht2LXayc/D2iGXNV8usJNhV8VQIApCCBAZXelAJLDRdnd0LLPA+3hhgMwLS1YwDSGq7tuC4ANxXvC2QCoSAABpnF29a7bYsftiqdArL8X5PeEZBgAFQkgQGW9Xi/f5Rx8dO/OuPUWbx/QZbfevCUOve8n84enivcGgEqsIIBpfam/Y3vsW311AN2Uw8faO18dO165Xg19JACm0AuAKYxGo3zczZl0rTzz/Ytx4NPfcfQudEhuu/roAzujv3N7/r/DdO1JFZBhAFQkgABTSyHkgfRwfOP/D776gxic/oHTr6DF8mlXecN5sedjw74UPo4GwBQEEGBTUgg5mB4OXP3Ph8+cNxEdWiS3Wd1285b1tqurHErh42AATEkAATYthZD9MQ4hppBBd+QN5zl8HA6ATRBAgBuSQkg/PRxM133p6gfQVjl45A3nh516BdwIAQSYmRRGVmNcDVERgXbJR+2eCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgXv4/Ng4tbFQ9KisAAAAASUVORK5CYII=";function Ne({children:e,variant:t="primary",size:n="md",startIcon:r,endIcon:a,className:o="",type:l="button",disabled:i=!1,onClick:c,...d}){const f=["ca-btn",`ca-btn--${t}`,n==="sm"?"ca-btn--sm":"",n==="lg"?"ca-btn--lg":"",o].filter(Boolean).join(" ");return s.jsxs("button",{type:l,className:f,disabled:i,onClick:c,...d,children:[r?s.jsx("span",{className:"ca-btn__icon",children:r}):null,e,a?s.jsx("span",{className:"ca-btn__icon",children:a}):null]})}function Il({size:e=16,color:t="currentColor",...n}){return s.jsx("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",...n,children:s.jsx("path",{d:"M12 5v14M5 12h14",stroke:t,strokeWidth:"2",strokeLinecap:"round"})})}const Tl={h1:"ca-h1",h2:"ca-h2",body:"ca-body",label:"ca-label",value:"ca-value",small:"ca-small",link:"ca-link"},_h={h1:"h1",h2:"h2",body:"p",label:"span",value:"span",small:"span",link:"button"};function it({variant:e="body",as:t,className:n="",children:r,...a}){const o=t||_h[e]||"p",l=Tl[e]||Tl.body;return s.jsx(o,{className:`${l} ${n}`.trim(),...a,children:r})}function ka(e){return s.jsx(it,{variant:"h1",...e})}function Oa(e){return s.jsx(it,{variant:"h2",...e})}function Da(e){return s.jsx(it,{variant:"body",...e})}function Fl(e){return s.jsx(it,{variant:"label",...e})}function kl(e){return s.jsx(it,{variant:"value",...e})}function Eh(e){return s.jsx(it,{variant:"link",type:"button",...e})}function ur({title:e="Complaint Management",description:t,actionLabel:n="Create New Form",onAction:r,showAction:a=!0,className:o=""}){return s.jsxs("header",{className:`ca-page-header ${o}`.trim(),children:[s.jsxs("div",{className:"ca-page-header__text",children:[s.jsx(ka,{children:e}),t?s.jsx(Da,{children:t}):null]}),a?s.jsx("div",{className:"ca-page-header__actions",children:s.jsx(Ne,{startIcon:s.jsx(Il,{}),onClick:r,children:n})}):null]})}function fr({checked:e=!1,onChange:t,disabled:n=!1,"aria-label":r="Toggle",className:a=""}){return s.jsx("button",{type:"button",role:"switch","aria-checked":e,"aria-label":r,disabled:n,className:`ca-toggle ${e?"ca-toggle--on":""} ${a}`.trim(),onClick:()=>t?.(!e),children:s.jsx("span",{className:"ca-toggle__thumb"})})}function pr({size:e=16,color:t="#9CA3AF",...n}){return s.jsx("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",...n,children:s.jsx("path",{d:"M4 7h16M9 7V5a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2m2 0v12a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2V7h12Z",stroke:t,strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"})})}function Ol({title:e,titleAsLink:t=!1,onTitleClick:n,isActive:r=!1,canManage:a=!1,canDelete:o=!1,activeDisabled:l=!1,onActiveChange:i,onDelete:c,className:d=""}){return s.jsxs("div",{className:`ca-system-card__header ${d}`.trim(),children:[s.jsx("div",{className:"ca-system-card__title-wrap",children:t?s.jsx("button",{type:"button",className:"ca-h2 ca-h2--link",onClick:n,children:e}):s.jsx(Oa,{children:e})}),s.jsxs("div",{className:"ca-system-card__header-actions",children:[s.jsx("span",{className:"ca-system-card__active-label",children:r?"Active":"Inactive"}),a?s.jsx(fr,{checked:r,disabled:l,"aria-label":`${r?"Deactivate":"Activate"} ${e}`,onChange:i}):null,s.jsx("button",{type:"button",className:"ca-system-card__delete","aria-label":`Delete ${e}`,title:o?`Delete ${e}`:"You do not have permission to delete this form",disabled:!o,onClick:c,children:s.jsx(pr,{size:40,color:"currentColor"})})]})]})}function En({size:e=16,color:t="currentColor",...n}){return s.jsx("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",...n,children:s.jsx("path",{d:"M9 6l6 6-6 6",stroke:t,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}const Lh="aira-query-complaintTypeId";function Dl({updatedOn:e,openLabel:t="Open",configureLabel:n="Configure",onOpen:r,className:a="",id:o,canConfigure:l=!1,canOpen:i=!1,canAddComplaint:c=!1}){const d=Ke(),f=G.useDispatch(),u=o?.data??o?.id??o?._id??o,p=()=>{const b=o?.data??o?.id??o?._id??o;if(b!=null&&b!==""){const S=String(b);try{sessionStorage.setItem(Lh,S)}catch{}f(gt(S)),f(cl()),f(pl()),d(`/complaintmanagement/${S}`);return}d("/complaintmanagement")};return s.jsxs("div",{className:`ca-system-card__footer ${a}`.trim(),children:[s.jsx(it,{variant:"small",as:"span",children:e?`Updated on ${e}`:""}),s.jsxs("div",{className:"ca-system-card__footer-actions",children:[i?s.jsxs(Ne,{size:"sm",onClick:p,children:[t,s.jsx(En,{size:14,color:"currentColor",className:"svg"})]}):null,l?s.jsx(Ne,{size:"sm",onClick:()=>{if(u==null||u==="")return;const b=String(u);f(Bt({data:!0})),f(gt(b)),d(`/settings/${b}?step=1`)},endIcon:s.jsx(En,{size:14,color:"currentColor",className:"svg"}),children:n}):null,c?s.jsx(Ne,{size:"sm",onClick:()=>{u==null||u===""||d(`/complaintmanagement/new/${String(u)}`)},endIcon:s.jsx(En,{size:14,color:"currentColor",className:"svg"}),children:"Add complaint"}):null]})]})}function Pl({label:e,value:t,icon:n,className:r=""}){const a=t==null?"—":typeof t=="number"?String(t).padStart(2,"0"):t;return s.jsxs("div",{className:`ca-data-point ${r}`.trim(),children:[n?s.jsx("span",{className:"ca-data-point__icon","aria-hidden":"true",children:n}):null,s.jsx(kl,{children:a}),s.jsx("span",{className:"ca-data-point__label",children:e})]})}function Ml({className:e=""}){return s.jsx("div",{className:`ca-divider ${e}`.trim(),role:"separator","aria-orientation":"vertical"})}const Ih="data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_617_15259)'%3e%3cpath%20d='M9.99992%2011.9997H6.66658M11.9999%209.33301H6.66658M2.66659%2014.6663H13.3333C13.6869%2014.6663%2014.026%2014.5259%2014.2761%2014.2758C14.5261%2014.0258%2014.6666%2013.6866%2014.6666%2013.333V2.66634C14.6666%202.31272%2014.5261%201.97358%2014.2761%201.72353C14.026%201.47348%2013.6869%201.33301%2013.3333%201.33301H5.33325C4.97963%201.33301%204.64049%201.47348%204.39044%201.72353C4.14039%201.97358%203.99992%202.31272%203.99992%202.66634V5.99967M2.66659%2014.6663C3.02021%2014.6663%203.35935%2014.5259%203.60939%2014.2758C3.85944%2014.0258%203.99992%2013.6866%203.99992%2013.333V5.99967M2.66659%2014.6663C2.31296%2014.6663%201.97382%2014.5259%201.72378%2014.2758C1.47373%2014.0258%201.33325%2013.6866%201.33325%2013.333V7.33301C1.33325%206.97939%201.47373%206.64025%201.72378%206.3902C1.97382%206.14015%202.31296%205.99967%202.66659%205.99967H3.99992M7.33325%203.99967H11.3333C11.7014%203.99967%2011.9999%204.29815%2011.9999%204.66634V5.99967C11.9999%206.36786%2011.7014%206.66634%2011.3333%206.66634H7.33325C6.96506%206.66634%206.66658%206.36786%206.66658%205.99967V4.66634C6.66658%204.29815%206.96506%203.99967%207.33325%203.99967Z'%20stroke='%232D64B8'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_617_15259'%3e%3crect%20width='16'%20height='16'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e",Th="data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M6.44729%202.75711C6.48402%202.37067%206.66351%202.01181%206.95069%201.75063C7.23787%201.48945%207.61211%201.34473%208.00029%201.34473C8.38847%201.34473%208.76271%201.48945%209.04989%201.75063C9.33707%202.01181%209.51656%202.37067%209.55329%202.75711C9.57537%203.00675%209.65727%203.24739%209.79205%203.45867C9.92683%203.66995%2010.1105%203.84565%2010.3276%203.97089C10.5447%204.09614%2010.7887%204.16724%2011.0391%204.17819C11.2895%204.18913%2011.5388%204.1396%2011.766%204.03378C12.1187%203.87363%2012.5184%203.85045%2012.8873%203.96877C13.2562%204.08708%2013.5678%204.33841%2013.7616%204.67385C13.9554%205.00928%2014.0175%205.40482%2013.9357%205.78349C13.854%206.16215%2013.6342%206.49685%2013.3193%206.72244C13.1142%206.86634%2012.9468%207.05751%2012.8312%207.27979C12.7157%207.50207%2012.6553%207.74891%2012.6553%207.99944C12.6553%208.24997%2012.7157%208.49681%2012.8312%208.71909C12.9468%208.94137%2013.1142%209.13254%2013.3193%209.27644C13.6342%209.50203%2013.854%209.83673%2013.9357%2010.2154C14.0175%2010.5941%2013.9554%2010.9896%2013.7616%2011.325C13.5678%2011.6605%2013.2562%2011.9118%2012.8873%2012.0301C12.5184%2012.1484%2012.1187%2012.1253%2011.766%2011.9651C11.5388%2011.8593%2011.2895%2011.8097%2011.0391%2011.8207C10.7887%2011.8316%2010.5447%2011.9027%2010.3276%2012.028C10.1105%2012.1532%209.92683%2012.3289%209.79205%2012.5402C9.65727%2012.7515%209.57537%2012.9921%209.55329%2013.2418C9.51656%2013.6282%209.33707%2013.9871%209.04989%2014.2483C8.76271%2014.5094%208.38847%2014.6542%208.00029%2014.6542C7.61211%2014.6542%207.23787%2014.5094%206.95069%2014.2483C6.66351%2013.9871%206.48402%2013.6282%206.44729%2013.2418C6.42525%2012.992%206.34336%2012.7513%206.20854%2012.54C6.07371%2012.3286%205.88994%2012.1528%205.67278%2012.0276C5.45562%2011.9023%205.21147%2011.8313%204.96101%2011.8204C4.71055%2011.8095%204.46116%2011.8591%204.23396%2011.9651C3.88122%2012.1253%203.48151%2012.1484%203.11263%2012.0301C2.74374%2011.9118%202.43207%2011.6605%202.23828%2011.325C2.04449%2010.9896%201.98244%2010.5941%202.0642%2010.2154C2.14596%209.83673%202.36569%209.50203%202.68063%209.27644C2.88571%209.13254%203.05311%208.94137%203.16868%208.71909C3.28426%208.49681%203.34459%208.24997%203.34459%207.99944C3.34459%207.74891%203.28426%207.50207%203.16868%207.27979C3.05311%207.05751%202.88571%206.86634%202.68063%206.72244C2.36614%206.49674%202.14679%206.16217%202.06523%205.78376C1.98366%205.40535%202.0457%205.01014%202.23928%204.67492C2.43287%204.3397%202.74417%204.08843%203.11269%203.96994C3.4812%203.85144%203.88061%203.8742%204.23329%204.03378C4.46046%204.1396%204.70979%204.18913%204.96016%204.17819C5.21053%204.16724%205.45458%204.09614%205.67165%203.97089C5.88872%203.84565%206.07242%203.66995%206.2072%203.45867C6.34198%203.24739%206.42388%203.00675%206.44596%202.75711M9.99996%207.99978C9.99996%209.10434%209.10453%209.99978%207.99996%209.99978C6.89539%209.99978%205.99996%209.10434%205.99996%207.99978C5.99996%206.89521%206.89539%205.99978%207.99996%205.99978C9.10453%205.99978%209.99996%206.89521%209.99996%207.99978Z'%20stroke='%23745EBF'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e",Fh="data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M9.99992%208H6.66659M9.99992%205.33333H6.66659M12.6666%2011.3333V3.33333C12.6666%202.97971%2012.5261%202.64057%2012.2761%202.39052C12.026%202.14048%2011.6869%202%2011.3333%202H2.66659M2.66659%202C3.02021%202%203.35935%202.14048%203.60939%202.39052C3.85944%202.64057%203.99992%202.97971%203.99992%203.33333V5.33333M2.66659%202C2.31296%202%201.97382%202.14048%201.72378%202.39052C1.47373%202.64057%201.33325%202.97971%201.33325%203.33333V4.66667C1.33325%204.84348%201.40349%205.01305%201.52851%205.13807C1.65354%205.2631%201.82311%205.33333%201.99992%205.33333H3.99992M5.33325%2014H13.3333C13.6869%2014%2014.026%2013.8595%2014.2761%2013.6095C14.5261%2013.3594%2014.6666%2013.0203%2014.6666%2012.6667V12C14.6666%2011.8232%2014.5963%2011.6536%2014.4713%2011.5286C14.3463%2011.4036%2014.1767%2011.3333%2013.9999%2011.3333H7.33325C7.15644%2011.3333%206.98687%2011.4036%206.86185%2011.5286C6.73682%2011.6536%206.66659%2011.8232%206.66659%2012V12.6667C6.66659%2013.0203%206.52611%2013.3594%206.27606%2013.6095C6.02601%2013.8595%205.68687%2014%205.33325%2014ZM5.33325%2014C4.97963%2014%204.64049%2013.8595%204.39044%2013.6095C4.14039%2013.3594%203.99992%2013.0203%203.99992%2012.6667V5.33333'%20stroke='%2300B692'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e",kh="data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M2.66675%209.33301H6.66675M2.66675%201.33301H9.33341M3.33341%2011.9997H12.6667C13.0349%2011.9997%2013.3334%2012.2982%2013.3334%2012.6663V13.9997C13.3334%2014.3679%2013.0349%2014.6663%2012.6667%2014.6663H3.33341C2.96522%2014.6663%202.66675%2014.3679%202.66675%2013.9997V12.6663C2.66675%2012.2982%202.96522%2011.9997%203.33341%2011.9997ZM3.33341%203.99967H12.6667C13.0349%203.99967%2013.3334%204.29815%2013.3334%204.66634V5.99967C13.3334%206.36786%2013.0349%206.66634%2012.6667%206.66634H3.33341C2.96522%206.66634%202.66675%206.36786%202.66675%205.99967V4.66634C2.66675%204.29815%202.96522%203.99967%203.33341%203.99967Z'%20stroke='%23FF6F00'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e",Oh="Complaints",Dh=[{actionName:"READ",featureModule:{name:"Complaints",isActive:!1},source:"role:STOREMANAGER"},{actionName:"DELETE",featureModule:{name:"Complaints",isActive:!1},source:"role:STOREMANAGER"},{actionName:"CREATE",featureModule:{name:"Complaints",isActive:!1},source:"role:STOREMANAGER"},{actionName:"FULL_ACCESS",featureModule:{name:"Complaints",isActive:!0},source:"role:STOREMANAGER"},{actionName:"FULL_DATA_ACCESS",featureModule:{name:"Complaints",isActive:!1},source:"role:STOREMANAGER"}];function Pa(e){const t=Array.isArray(e)?e:[],n=new Set(t.filter(d=>d?.featureModule?.name===Oh&&d?.featureModule?.isActive!==!1).map(d=>String(d?.actionName||"").trim().toUpperCase())),r=n.has("FULL_ACCESS"),a=n.has("FULL_DATA_ACCESS")||n.has("FULL_CONTENT_ACCESS"),o=n.has("READ")||r,l=n.has("CREATE")||r,i=n.has("DELETE")||r,c=a;return{canViewCards:o,canCreateForm:l,canDelete:i,canOpen:c,canSeeAllFilters:r||a,hasAnyAccess:o||l||i||c}}const Ph=["Text","Dropdown","Radio","Number","Email","Date","Text Area","Checkbox","File","Images","Time"],xl=new Set(["Select","Dropdown","Radio","Checkbox"]),Mh=["Both","User","Admin"],xh={Open:"#FF0000",Cancelled:"#FF6F00",Closed:"#00D82F"},Ma=["Open","Cancelled","Closed"],et={id:"default-status",fieldKey:"status",fieldLabel:"Status",originalFieldName:"Status",fieldType:"Custom",required:!0,fieldAccess:"",hideFor:[],dependsOn:"",options:[...Ma],optionColors:{...xh},parentMappings:{},lockMode:"options",isNew:!1},hr={id:"custom-priorities",fieldKey:"priorities",fieldLabel:"Priorities",originalFieldName:"Priorities",fieldType:"Dropdown",required:!1,fieldAccess:"",hideFor:[],dependsOn:"",options:["Urgent","High","Medium","Low"],parentMappings:{},lockMode:"options",isNew:!1},Ln={id:"custom-store-id",fieldKey:"storeIdCustom",fieldLabel:"Office",originalFieldName:"Office",fieldType:"Custom",required:!0,fieldAccess:"",hideFor:[],dependsOn:"",options:[],optionColors:{},parentMappings:{},lockMode:"all",isNew:!1},Bh=[{...et,label:et.fieldLabel},{...Ln,label:Ln.fieldLabel}];function Bl(e){return String(e||"").trim().toLowerCase()}function se(e){const t=Bl(e?.fieldKey),n=Bl(e?.fieldLabel||e?.label);return t==="status"||t==="statuses"||t==="statuscustom"||n==="status"||n==="statuses"}function Qe(e){return se(e)&&(e?.lockMode==="options"||e?.lockMode==="all")}function Uh(e,t=[]){if(!se(e))return!1;const n=t.length?t:[e],r=n.filter(l=>!l?.isNew&&se(l)),a=n.filter(Qe),o=r[0]||a[0]||n.find(l=>se(l)&&!l?.isNew);return o?String(o.id)===String(e.id):!e?.isNew}function mr(e){const t=String(e?.fieldKey||"").toLowerCase(),n=String(e?.fieldLabel||e?.label||"").trim().toLowerCase();return t==="priorities"||n==="priorities"}function De(e){const t=String(e?.fieldKey||"").toLowerCase(),n=String(e?.fieldLabel||e?.label||e?.fieldName||"").trim().toLowerCase();return t==="storeid"||t==="storeidcustom"||n==="store id"}function ct(e){const t=String(e||"").trim().toLowerCase();return t==="open"||t==="cancelled"||t==="canceled"||t==="closed"}function jh(e){return String(e||"").trim().toLowerCase()==="open"}function gr(e){return String(e||"").trim().toLowerCase()==="done"?"Closed":e}function Wt(e=[]){const t=(e||[]).filter(l=>l!=null&&String(l).trim()!==""),n=l=>t.find(i=>String(i).trim().toLowerCase()===l),r=n("open"),a=["cancelled","closed"].map(n).filter(l=>l!=null),o=t.filter(l=>l!==r&&!a.includes(l));return[r,...o,...a].filter(l=>l!=null)}function $h(e=[]){const t=new Set(Ma.map(r=>r.toLowerCase())),n=(e||[]).filter(r=>{const a=String(r||"").trim().toLowerCase();return!a||a==="done"||a==="canceled"||t.has(a)?!1:(t.add(a),!0)});return Wt([...Ma,...n])}function Ul(e){return xl.has(e?.fieldType)||Qe(e)}function xa(e){return!e||se(e)||De(e)||!xl.has(e.fieldType)?!1:!(e.options||[]).some(t=>String(t||"").trim())}function qt(e=[]){return e.some(xa)}function jl(e=[]){const t=[],n=new Set;return e.forEach(r=>{if(!xa(r))return;const a=String(r.fieldType||"").trim();!a||n.has(a)||(n.add(a),t.push(a))}),t.length?t.length===1?`Add options for ${t[0]} field.`:t.length===2?`Add options for ${t[0]} and ${t[1]} fields.`:`Add options for ${t.slice(0,-1).join(", ")}, and ${t[t.length-1]} fields.`:""}function Vh(e,t){const n=String(e?.fieldLabel||e?.label||"").trim().toLowerCase(),r=String(t?.fieldLabel||t?.label||"").trim().toLowerCase(),a=String(e?.fieldType||"").trim().toLowerCase(),o=String(t?.fieldType||"").trim().toLowerCase();return!!(n&&r&&a&&o&&n===r&&a===o)}function Ar(e,t=[]){return e?t.some(n=>String(n.id)===String(e.id)?!1:Vh(e,n)):!1}function yr(e=[]){return e.some(t=>Ar(t,e))}function Ba(e,t={},n=""){const r=String(n||"");if(se({fieldKey:r})||De({fieldKey:r}))return t.CUSTOM??"Custom";if(e==="MULTI_SELECT"||e==="MULTISELECT")return t.CHECKBOX??"Checkbox";if(e==="PHONE"||e==="MOBILE")return t.NUMBER??"Number";if(e==="FILE"&&r.endsWith("Images"))return t.IMAGES??"Images";if(e==="DATETIME"&&r.endsWith("Time")&&!r.endsWith("DateTime"))return t.TIME??"Time";if(e==="SELECT"||e==="DROPDOWN"){const a=r.toLowerCase();if(a.endsWith("dropdown"))return t.DROPDOWN??"Dropdown";if(a.endsWith("select"))return t.SELECT??"Select"}return t[e]??e??"Custom"}function Wh(e){return mr(e)?"Priorities":"Option"}function qh(e,t=!1){return e?t?"Define options and set parent.":se(e)?"Manage the status":"Manage your fields.":""}function br(e,t=[]){if(String(e?.fieldType||"")==="MultiSelect")return br({...e,fieldType:"Checkbox"},t);if(se(e)){if(e?.isNew||!Uh(e,t))return{...e,lockMode:e?.lockMode==="all"?e.lockMode:void 0};const n=String(e.fieldLabel||e.label||"").trim(),r=!n||n.toLowerCase()==="statuses";return{...et,...e,fieldKey:et.fieldKey,fieldLabel:r?et.fieldLabel:n,originalFieldName:r?et.originalFieldName:e.originalFieldName??n,fieldType:et.fieldType,required:!0,options:$h(e.options),optionColors:{...e.optionColors||{},...et.optionColors},lockMode:"options"}}return mr(e)?{...hr,...e,fieldKey:e.fieldKey||hr.fieldKey,fieldType:hr.fieldType,options:e.options?.length?e.options:hr.options,lockMode:"options"}:De(e)?{...Ln,...e,fieldKey:Ln.fieldKey,fieldType:Ln.fieldType,required:!0,lockMode:"all"}:e}function Ht(e=[]){const t=e.map(r=>br(r,e));if(t.some(se))return t;const n={...et};return[br(n,[n,...t]),...t]}const $l="aira-query-complaintTypeId",Hh={id:"status",label:"Status",key:"status"},zh={id:"escalationTo",label:"Escalation To",key:"escalationTo"},Kh={id:"submittedByUserName",label:"Submitted By",key:"submittedByUserName"},Qh={id:"assignedToUserName",label:"Assigned To",key:"assignedToUserName"},Xh={id:"complaintId",label:"Complaint Id",key:"complaintId"},Gh={id:"createdAt",label:"Created At",key:"createdAt"},Yh={id:"updatedAt",label:"Updated At",key:"updatedAt"},Vl="desc",Wl="asc",Jh=10,Zh=["5","10","15","20","25"],Rh=999999,Ua=new Set(["status","escalationTo","id","submittedByUserName","assignedToUserName","complaintId","createdAt","updatedAt"]),em=["January","Feb","Mar","Apr","May","June","July","Aug","Sept","Oct","Nov","Dec"];function ql(e){if(!e)return"";const t=new Date(e);if(Number.isNaN(t.getTime()))return"";const n=String(t.getHours()).padStart(2,"0"),r=String(t.getMinutes()).padStart(2,"0");return`${t.getDate()} ${em[t.getMonth()]} ${t.getFullYear()}, ${n}:${r}`}function Hl(e){return[Kh,Qh,Xh,Gh,Yh,Hh,zh,...e]}function tm(e){const t=e?.data??e,n=Array.isArray(t)?t:t?.data??t?.results??t?.items??[];return[...Array.isArray(n)?n:[]].sort((r,a)=>(r.displayOrder??0)-(a.displayOrder??0)).map(r=>{const a=r.fieldKey||r.fieldName||r.fieldLabel;return{id:a,label:De({...r,fieldKey:a})?"Office":r.fieldName||r.fieldLabel||r.label||a,key:a,fieldType:r.fieldType,hideForWorkflowStepId:r.hideForWorkflowStepId??null}}).filter(r=>r.key&&!Ua.has(r.key))}function nm(e,t,n,r){const a=e?.data??e??{},o=Number(a.total??a.totalItems??a.totalCount??a.count),l=Number(a.totalPages??a.pages??a.pageCount);return Number.isFinite(l)&&l>0?{totalPages:l,totalItems:Number.isFinite(o)&&o>=0?o:Math.max(r,l*n),hasNext:t<l}:Number.isFinite(o)&&o>=0?{totalPages:Math.max(1,Math.ceil(o/n)),totalItems:o,hasNext:t*n<o}:{totalPages:t+(r>=n?1:0),totalItems:Math.max(r,t*n),hasNext:r>=n}}function zl(e){return e==null||e===""?null:typeof e=="object"?e.data??e.id??e._id??null:e}function rm(){try{return sessionStorage.getItem($l)}catch{return null}}function Kl(e){const t=zl(e);if(t==null||t==="")return null;const n=String(t);try{sessionStorage.setItem($l,n)}catch{}return n}function am(...e){for(const t of e){const n=zl(t);if(n!=null&&n!=="")return String(n)}return null}function ja(e,t=[]){const n=e?.status;if(typeof n=="string"&&n.trim())return n.trim();if(n&&typeof n=="object"){const a=n.name??n.label??n.status;if(a)return String(a).trim();const o=n.id??n.statusId;if(o!=null){const l=t.find(i=>String(i.id)===String(o));if(l?.name)return l.name}}const r=e?.statusId??e?.complaintStatusId;if(r!=null){const a=t.find(o=>String(o.id)===String(r));if(a?.name)return a.name}return""}function sm(e,t=[]){const n=e?.statusId??e?.complaintStatusId;if(n!=null&&n!=="")return n;const r=e?.status;if(r&&typeof r=="object"){const a=r.id??r.statusId;if(a!=null&&a!=="")return a}if(typeof r=="string"&&r.trim()){const a=t.find(o=>String(o.name).trim()===r.trim());if(a?.id!=null)return a.id}return null}function Sr(e){return e===!0||e==="Yes"||e==="true"||e===1||e==="1"}const om=new Set(["closed","cancelled","canceled"]);function $a(e){return om.has(String(e||"").trim().toLowerCase())}function lm(e){return $a(e)}function vr(e){return $a(e)}function im(e,t=[]){const n=e?.currentStepId??e?.workflowStepId??e?.currentWorkflowStepId;if(n!=null&&n!==""){const a=t.find(o=>String(o.id)===String(n));if(a)return a}const r=e?.level??e?.levelNo;return r!=null&&r!==""?t.find(a=>String(a.levelNo)===String(r))??null:null}function cm(e,t=[]){const n=e?.level??e?.levelNo;if(n!=null&&n!=="")return`Level ${n}`;const r=e?.workflowStepId??e?.currentWorkflowStepId??e?.currentStepId;if(r!=null){const a=t.find(o=>String(o.id)===String(r));if(a?.levelNo!=null)return`Level ${a.levelNo}`}return""}function Ql(e,t=[],n=[]){const r=im(e,n),a=r?.levelNo??e?.level??e?.levelNo??e?.currentLevel,o=Array.isArray(e?.workflowLevels)?e.workflowLevels.find(u=>String(u?.levelNo)===String(a)):null,l=r?.roleIds?.[0]??r?.roles?.[0]?.id??r?.roleId??o?.roleIds?.[0]??e?.roleId??e?.assignedRoleId??null,i=e?.assignedTo??e?.assignedUser??e?.assignee,d=(i&&typeof i=="object"?i.userId??i.id:i!=null&&i!==""&&Number.isFinite(Number(i))?i:null)??e?.assignedToUser?.userId??e?.assignedToUser?.id??e?.assignedToUserId??e?.assignedToId??e?.assignedUserId??null,f={id:e?.complaintId??e?.id,status:ja(e,t),isClosed:vr(ja(e,t)),statusId:sm(e,t),escalationTo:cm(e,n),level:a??null,currentStepId:r?.id??e?.currentStepId??e?.workflowStepId??e?.currentWorkflowStepId??null,canResolve:Sr(e?.canResolve??r?.canResolve),isFinalLevel:Sr(e?.isFinalLevel??r?.isFinalLevel??r?.finalLevel),roleId:l,assignedToUserId:d,assignedToUserName:ei(e),submittedByUserName:e?.submittedByUserName||"-",complaintId:e?.complaintId??e?.id??"-",createdAt:ql(e?.createdAt)||"-",updatedAt:ql(e?.updatedAt)||"-",updatedAtValue:e?.updatedAt??""};return(e?.formField||[]).forEach(u=>{const p=u.fieldKey||u.fieldName;p&&!Ua.has(p)&&(f[p]=u.value)}),f}function Xl(e,t){const n=new Set,r=t.map(a=>{if(n.add(a.key),a.fieldType)return a;const o=e.flatMap(l=>l._fields||[]).find(l=>(l.fieldKey||l.fieldName)===a.key);return o?.fieldType?{...a,fieldType:o.fieldType}:a});return e.forEach(a=>{(a._fields||[]).forEach(o=>{const l=o.fieldKey||o.fieldName;!l||Ua.has(l)||n.has(l)||(n.add(l),r.push({id:l,label:De({...o,fieldKey:l})?"Office":o.fieldName||l,key:l,fieldType:o.fieldType}))})}),r}function dm(e,t,n){const r=String(e?.fieldType||"").toLowerCase();return r==="file"||r==="images"||r==="image"?!0:t.some(a=>n(e,a[e.key]??"-"))}function Gl(e){const t=e?.data??e;return Array.isArray(t)?t:t?.data??t?.results??t?.items??[]}function Yl(e){const t=e==null?"":String(e);return/[",\n]/.test(t)?`"${t.replace(/"/g,'""')}"`:t}function um(e,t){const n=e.map(a=>Yl(a.label)).join(","),r=t.map(a=>e.map(o=>Yl(a[o.key]??"-")).join(","));return[n,...r].join(`\r
12
- `)}const fm=["January","February","March","April","May","June","July","August","September","October","November","December"];function Jl(e){if(!e)return"";const t=new Date(e);return Number.isNaN(t.getTime())?"":`${t.getDate()} ${fm[t.getMonth()]} ${t.getFullYear()}`}function Zl(e){return(Array.isArray(e?.roles)?e.roles:[]).map(n=>Number(n?.id??n?.roleId??n?.role_id??n)).filter(n=>Number.isFinite(n))}function pm(e){const t=Array.isArray(e?.accesses)?e.accesses.map(r=>r?.role?.id??r?.role?.roleId??r?.roleId).map(Number).filter(Number.isFinite):[];return t.length?t:(Array.isArray(e?.roleIds)?e.roleIds:Array.isArray(e?.roles)?e.roles:[]).map(r=>Number(r?.id??r?.roleId??r?.role_id??r)).filter(r=>Number.isFinite(r))}function Va(e,t=[]){return pm(e).some(n=>t.includes(n))}function Rl(e){if(!e)return"";if(typeof e=="string")return e.trim();if(typeof e!="object")return"";const t=[e.firstName,e.lastName].filter(Boolean).join(" ");return String(e.name||e.userName||e.fullName||t||"").trim()}function ei(e,t=[]){const n=e?.assignedToUserName??e?.assignedToName??e?.assignedUserName;if(n&&String(n).trim())return String(n).trim();const r=e?.assignedTo??e?.assignedUser??e?.assignee,a=Rl(r);if(a)return a;const o=(r&&typeof r=="object"?r.id??r.userId:r)??e?.assignedToUserId??e?.assignedToId??e?.assignedUserId;if(o!=null&&o!==""){const l=t.find(i=>String(i?.id??i?.userId)===String(o));return Rl(l)}return""}function ti(e,t=[],n=[],r=null){const a=ja(e,t),o=e?.level??e?.levelNo??e?.currentLevel;return{id:e?.complaintId??e?.id,title:String(e?.complaintId??e?.id??"-"),status:a||"-",isClosed:vr(a),level:o!=null&&o!==""?o:"-",assignedTo:ei(e,n)||"Unassigned",date:Jl(e?.createdAt??e?.date),tat:r?gm(e,r.tatMinutes,a):null}}function hm(e,t=[]){const n=Number(e?.totalEntries)||0,r=Number(e?.openEntries)||0,a=Number(e?.closedEntries)||0,o=Number(e?.cancelledEntries)||0,l=(Array.isArray(e?.recentComplaints)?e.recentComplaints:[]).slice(0,2).map(i=>ti(i,[],t));return{total:n,open:r,closed:a,cancelled:o,previewRows:l}}function ni(e=[]){const t={};return(Array.isArray(e)?e:[]).forEach(n=>{const r=n?.id??n?._id,a=n?.name??n?.storeName;r!=null&&a&&(t[String(r)]=String(a))}),t}function ri(e,t={}){if(!Object.keys(t).length)return e;const n={...e};return Object.keys(n).forEach(r=>{const a=n[r];typeof a=="string"&&t[a.trim()]&&(n[r]=t[a.trim()])}),n}function ai(e,t=[],n=null){const r=e?.workflowComplaintSummary,a=[r?.levels,r?.steps,e?.workflowLevels,e?.workflowSteps].filter(Array.isArray).flat(),o=i=>Number(i&&typeof i=="object"?i.userId??i.id??i.roleId??i.role_id??i.user?.id??i.role?.id:i),l=(...i)=>i.filter(Array.isArray).flat().map(o).filter(Number.isFinite);return a.some(i=>{const c=l(i?.roleIds,i?.roles,i?.roleId!=null?[i.roleId]:null),d=l(i?.userIds,i?.users,i?.userAssignments,i?.assignedUsers);return c.some(f=>t.includes(f))||n!=null&&d.includes(Number(n))})}function Wa(e){const t=Math.max(Math.floor(Math.abs(e)/60),0),n=Math.floor(t/1440),r=Math.floor(t%1440/60),a=t%60,o=[];return n&&o.push(`${n}d`),r&&o.push(`${r}h`),a&&!n&&o.push(`${a}m`),o.join(" ")||"0m"}function mm(e){if(e%1440===0){const t=e/1440;return`${t} ${t===1?"day":"days"}`}return Wa(e*60)}function gm(e,t,n=""){if($a(n))return null;const r=Number(e?.escalationTimeRemainingSeconds);if(e?.escalationTimeRemainingSeconds==null||!Number.isFinite(r))return null;const a=Number(t)>0?Number(t)*60:0,o=r<0,l=a?Math.min(Math.max(Math.round((1-r/a)*100),0),100):0;return{percent:o?100:l,state:o?"overdue":l>=75?"warn":"ok",remainingLabel:o?`Overdue by ${Wa(r)}`:`${Wa(r)} remaining`,totalLabel:a?`of ${mm(Number(t))}`:""}}function Am(e){if(!e)return"";const t=new Date(e);return Number.isNaN(t.getTime())?"":t.toLocaleDateString("en-GB",{day:"numeric",month:"long",year:"numeric"})}function si({id:e,title:t,item:n,status:r="inactive",description:a,descriptionHref:o,departments:l,workflows:i,fields:c,formsFilled:d,updatedOn:f,titleAsLink:u=!1,onTitleClick:p,onDescriptionClick:b,onConfigure:S,onOpen:A,onDelete:m,onToggleActive:h,isTogglingActive:w=!1,className:L=""}){const C=G.useSelector(E=>E.appDetails?.details?.currentUser),k=G.useSelector(E=>E.appDetails?.details?.featureActions),{canCreateForm:I,canDelete:H,canOpen:re}=Pa(k),$=I,q=Zl(C),z=C?.id??C?.userId??null,te=re||ai(n,q,z)||Va(n,q),R=Va(n,q)&&n?.isActive!==!1,O=()=>{S?.({id:e,title:t,status:r,departments:l,workflows:i,fields:c,formsFilled:d,updatedOn:f})},D=()=>{if(b){b({id:e,title:t,descriptionHref:o});return}o&&typeof window<"u"&&window.open(o,"_blank","noopener,noreferrer")},K=[{label:"Total entries",value:n?.totalEntries??0,icon:s.jsx("img",{src:Ih,alt:""})},{label:"Open entries",value:n?.openEntries??0,icon:s.jsx("img",{src:Th,alt:""})},{label:"Closed entries",value:n?.closedEntries??0,icon:s.jsx("img",{src:Fh,alt:""})},{label:"Escalated entries",value:n?.escalatedEntries??0,icon:s.jsx("img",{src:kh,alt:""})}],J=e??n?.id??n?._id;return s.jsxs("article",{className:`ca-system-card ${L}`.trim(),children:[s.jsx(Ol,{title:n?.name,titleAsLink:u,onTitleClick:()=>p?.({id:e,title:t}),isActive:!!n?.isActive,canManage:$,canDelete:H,activeDisabled:w,onActiveChange:E=>h?.({id:J,isActive:E,item:n}),onDelete:()=>m?.({id:J,title:t,item:n})}),a?s.jsx("p",{className:"ca-system-card__description",onClick:D,children:a}):null,s.jsx("div",{className:"ca-system-card__stats",children:K.map((E,U)=>s.jsxs(g.Fragment,{children:[U>0?s.jsx(Ml,{}):s.jsx("div",{className:"ca-system-card__stats-spacer"}),s.jsx(Pl,{label:E.label,value:E.value,icon:E.icon})]},E.label))}),s.jsx(Dl,{updatedOn:f??Am(n?.updatedAt??n?.createdAt),onOpen:()=>A?.({id:e,title:t}),id:e??n?.id??n?._id,title:t,canOpen:te,canConfigure:$,canAddComplaint:R,onConfigure:O})]})}function wr({text:e="No data",illustrated:t=!1}){return s.jsxs("div",{className:`ca-empty-state${t?" ca-empty-state--illustrated":""}`,role:"status",children:[t?s.jsx("img",{className:"ca-empty-state__image",src:Ll,alt:"","aria-hidden":"true"}):null,s.jsx("span",{children:e})]})}function qa({systems:e=[],onConfigure:t,onOpen:n,onDelete:r,onToggleActive:a,togglingActiveId:o=null,onTitleClick:l,onDescriptionClick:i,emptyMessage:c="No systems found.",className:d=""}){return e.length?s.jsx("div",{className:`ca-system-grid ${d}`.trim(),children:e.map(f=>s.jsx(si,{item:f,...f,onConfigure:t,onOpen:n,onDelete:r,onToggleActive:a,isTogglingActive:String(o)===String(f.id??f._id),onTitleClick:l,onDescriptionClick:i},f.id??f.title))}):s.jsx("div",{className:`ca-system-grid ${d}`.trim(),children:s.jsx("div",{className:"ca-empty",children:s.jsx(wr,{text:c,illustrated:!0})})})}function zt({value:e,onChange:t,placeholder:n,type:r="text",icon:a,className:o="",inputClassName:l="",...i}){return s.jsxs("div",{className:`ca-input-wrap ${o}`.trim(),children:[a?s.jsx("span",{className:"ca-input-wrap__icon",children:a}):null,s.jsx("input",{type:r,className:`ca-input ${a?"ca-input--with-icon":""} ${l}`.trim(),value:e,onChange:t,placeholder:n,...i})]})}function oi({size:e=18,color:t="currentColor",...n}){return s.jsxs("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",...n,children:[s.jsx("path",{d:"M10.5 18a7.5 7.5 0 1 1 0-15 7.5 7.5 0 0 1 0 15Z",stroke:t,strokeWidth:"1.75"}),s.jsx("path",{d:"M16.5 16.5 21 21",stroke:t,strokeWidth:"1.75",strokeLinecap:"round"})]})}function li({value:e,onChange:t,onSearch:n,placeholder:r="Search",className:a=""}){const o=l=>{l.key==="Enter"&&n&&n(e)};return s.jsx("div",{className:`ca-search ${a}`.trim(),children:s.jsx(zt,{value:e,onChange:t,onKeyDown:o,placeholder:r,icon:s.jsx(oi,{}),"aria-label":r})})}function tt({text:e="Loading",fullScreen:t=!1}){return s.jsxs("div",{className:"ca-loading",style:t?{minHeight:"calc(100vh - 80px)"}:void 0,role:"status","aria-live":"polite",children:[s.jsx("span",{className:"ca-loading__spinner"}),s.jsxs("span",{children:[e,"…"]})]})}const ym=[{id:"qms",title:"QMS - Query Management System",status:"active",description:"Description of the template",departments:3,workflows:12,fields:55,formsFilled:234,updatedOn:"12 Mar 2024",titleAsLink:!1},{id:"cms",title:"CX- Pulse-360 ",status:"active",description:"Description of the template",departments:5,workflows:8,fields:42,formsFilled:189,updatedOn:"08 Mar 2024"},{id:"fms",title:"ENE - TRACKER",status:"inactive",description:"Description of the template",departments:2,workflows:4,fields:28,formsFilled:56,updatedOn:"01 Feb 2024"},{id:"rms",title:"RTV - Return to Vendor ",status:"active",description:"Description of the template",departments:4,workflows:10,fields:61,formsFilled:312,updatedOn:"20 Mar 2024"}],ii="Create, manage and track complaint forms, workflows and responses across departments.";const ci=(...e)=>e.filter((t,n,r)=>!!t&&t.trim()!==""&&r.indexOf(t)===n).join(" ").trim();const bm=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();const Sm=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,n,r)=>r?r.toUpperCase():n.toLowerCase());const di=e=>{const t=Sm(e);return t.charAt(0).toUpperCase()+t.slice(1)};var Ha={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};const vm=e=>{for(const t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1},wm=g.createContext({}),Cm=()=>g.useContext(wm),Nm=g.forwardRef(({color:e,size:t,strokeWidth:n,absoluteStrokeWidth:r,className:a="",children:o,iconNode:l,...i},c)=>{const{size:d=24,strokeWidth:f=2,absoluteStrokeWidth:u=!1,color:p="currentColor",className:b=""}=Cm()??{},S=r??u?Number(n??f)*24/Number(t??d):n??f;return g.createElement("svg",{ref:c,...Ha,width:t??d??Ha.width,height:t??d??Ha.height,stroke:e??p,strokeWidth:S,className:ci("lucide",b,a),...!o&&!vm(i)&&{"aria-hidden":"true"},...i},[...l.map(([A,m])=>g.createElement(A,m)),...Array.isArray(o)?o:[o]])});const _e=(e,t)=>{const n=g.forwardRef(({className:r,...a},o)=>g.createElement(Nm,{ref:o,iconNode:t,className:ci(`lucide-${bm(di(e))}`,`lucide-${e}`,r),...a}));return n.displayName=di(e),n};const _m=_e("arrow-up",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]);const ui=_e("building-2",[["path",{d:"M10 12h4",key:"a56b0p"}],["path",{d:"M10 8h4",key:"1sr2af"}],["path",{d:"M14 21v-3a2 2 0 0 0-4 0v3",key:"1rgiei"}],["path",{d:"M6 10H4a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-2",key:"secmi2"}],["path",{d:"M6 21V5a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v16",key:"16ra0t"}]]);const Em=_e("calendar-days",[["path",{d:"M8 2v3",key:"1ioesn"}],["path",{d:"M16 2v3",key:"otl347"}],["rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",key:"h1oib"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M8 13h.01",key:"1sbv64"}],["path",{d:"M12 13h.01",key:"y0uutt"}],["path",{d:"M16 13h.01",key:"wip0gl"}],["path",{d:"M8 17h.01",key:"p3bg7i"}],["path",{d:"M12 17h.01",key:"p32p05"}],["path",{d:"M16 17h.01",key:"ql8jdd"}]]);const Kt=_e("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);const Lm=_e("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);const Cr=_e("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);const Im=_e("chevrons-left",[["path",{d:"m11 17-5-5 5-5",key:"13zhaf"}],["path",{d:"m18 17-5-5 5-5",key:"h8a8et"}]]);const Tm=_e("chevrons-right",[["path",{d:"m6 17 5-5-5-5",key:"xnjwq"}],["path",{d:"m13 17 5-5-5-5",key:"17xmmf"}]]);const Nr=_e("circle-dot",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}]]);const Fm=_e("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]);const km=_e("flag",[["path",{d:"M4 22V4a1 1 0 0 1 .4-.8A6 6 0 0 1 8 2c3 0 5 2 7.333 2q2 0 3.067-.8A1 1 0 0 1 20 4v10a1 1 0 0 1-.4.8A6 6 0 0 1 16 16c-3 0-5-2-8-2a6 6 0 0 0-4 1.528",key:"1jaruq"}]]);const Om=_e("funnel",[["path",{d:"M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z",key:"sc7q7i"}]]);const Dm=_e("list-filter",[["path",{d:"M2 5h20",key:"1fs1ex"}],["path",{d:"M6 12h12",key:"8npq4p"}],["path",{d:"M9 19h6",key:"456am0"}]]);const fi=_e("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);const pi=_e("store",[["path",{d:"M15 21v-5a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v5",key:"slp6dd"}],["path",{d:"M17.774 10.31a1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.451 0 1.12 1.12 0 0 0-1.548 0 2.5 2.5 0 0 1-3.452 0 1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.77-3.248l2.889-4.184A2 2 0 0 1 7 2h10a2 2 0 0 1 1.653.873l2.895 4.192a2.5 2.5 0 0 1-3.774 3.244",key:"o0xfot"}],["path",{d:"M4 10.95V19a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8.05",key:"wn3emo"}]]);const Pm=_e("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);const Mm=_e("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);function hi({row:e,onClick:t}){return s.jsxs("div",{className:"ca-filler-row ca-filler-row--clickable",role:"button",tabIndex:0,onClick:()=>t?.(e),onKeyDown:n=>{n.key!=="Enter"&&n.key!==" "||(n.preventDefault(),t?.(e))},"aria-label":`Open complaint ${e.title||e.id}`,children:[s.jsxs("div",{className:"ca-filler-row__top",children:[s.jsxs("span",{className:"ca-filler-row__title",children:[s.jsx("span",{className:"ca-filler-row__prefix",children:"Complaint ID:"})," ",e.title]}),s.jsxs("span",{className:"ca-filler-row__right",children:[e.tat?s.jsxs("span",{className:"ca-filler-row__tat",children:[s.jsx("span",{className:"ca-filler-row__tat-label",children:"TAT"}),s.jsx("span",{className:"ca-filler-row__tat-track",children:s.jsx("span",{className:`ca-filler-row__tat-fill ca-filler-row__tat-fill--${e.tat.state}`,style:{width:`${e.tat.percent}%`}})}),s.jsxs("span",{className:"ca-filler-row__tat-text",children:[s.jsx("strong",{children:e.tat.remainingLabel})," ",e.tat.totalLabel]})]}):null,s.jsx(Cr,{size:16,"aria-hidden":"true"})]})]}),s.jsxs("div",{className:"ca-filler-row__meta",children:[s.jsxs("span",{children:["Status: ",s.jsx("strong",{children:gr(e.status)})]}),s.jsxs("span",{children:["Level: ",s.jsx("strong",{children:e.level})]}),s.jsx("span",{children:e.assignedTo==="Unassigned"?e.assignedTo:s.jsxs(s.Fragment,{children:["Assigned to: ",s.jsx("strong",{children:e.assignedTo})]})}),s.jsx("span",{children:e.date})]})]})}const xm=[];function Bm({form:e,onAddComplaint:t,onViewAll:n,onOpenComplaint:r,onOpenSubmissionLink:a}){const o=G.useSelector(p=>p.appDetails?.details?.userList)??xm,{total:l,open:i,closed:c,cancelled:d,previewRows:f}=hm(e,o),u=e.isActive!==!1&&e.active!==!1;return s.jsxs("article",{className:"ca-filler-card",children:[s.jsxs("div",{className:"ca-filler-card__head",children:[s.jsxs("div",{className:"ca-filler-card__heading",children:[s.jsxs("h3",{className:"ca-filler-card__title",children:[e.name??e.title,l?` (${l})`:""]}),i?s.jsxs("span",{className:"ca-filler-card__count",children:[i," open"]}):null,c?s.jsxs("span",{className:"ca-filler-card__count",children:[c," closed"]}):null,d?s.jsxs("span",{className:"ca-filler-card__count",children:[d," cancelled"]}):null]}),s.jsxs("button",{type:"button",className:"ca-filler-card__add",onClick:()=>t?.(e),disabled:!u,children:["Add complaint ",s.jsx(Cr,{size:14,"aria-hidden":"true"})]})]}),s.jsx("p",{className:"ca-filler-card__desc",children:e.description||" "}),f.map(p=>s.jsx(hi,{row:p,onClick:b=>r?.(e,b)},p.id)),["PUBLIC_LINK","PRIVATE_LINK"].includes(String(e.visibilityType||e.accessType||"").toUpperCase())?s.jsx("div",{className:"ca-filler-card__foot",children:s.jsxs("button",{type:"button",className:"ca-filler-card__link",onClick:()=>a?.(e),children:["Open ",String(e.visibilityType||e.accessType).toUpperCase()==="PUBLIC_LINK"?"public":"private"," form link ↗"]})}):null,s.jsxs("div",{className:"ca-filler-card__foot",children:[l?s.jsx("button",{type:"button",className:"ca-filler-card__link",onClick:()=>n?.(e),children:"View all >"}):s.jsx("span",{}),s.jsx("span",{className:"ca-filler-card__date",children:Jl(e.createdAt)})]})]})}function mi({title:e="Complaint Management",description:t=ii,createLabel:n="Create New Form",onCreateForm:r,onConfigure:a,onOpen:o,onTitleClick:l,onDescriptionClick:i,onSearch:c,onHeaderActionsChange:d}){const f=Ke(),u=Me(),p=G.useDispatch(),[b,S]=g.useState(""),[A,m]=g.useState(null),[h,w]=g.useState(""),{complaintList:L=[],loading:C=!1,error:k=null}=G.useSelector(_=>_.complaintType??{}),I=G.useSelector(_=>_.appDetails?.details?.currentUser),H=G.useSelector(_=>_.appDetails?.details?.featureActions),{canViewCards:re,canCreateForm:$,canDelete:q,canOpen:z,hasAnyAccess:te}=g.useMemo(()=>Pa(H),[H]),R=g.useMemo(()=>Zl(I),[I]),O=g.useMemo(()=>L.filter(_=>Va(_,R)),[L,R]),D=re||$||q||z,K=!D&&O.length>0,J=I?.id??I?.userId??null,E=g.useMemo(()=>L.filter(_=>ai(_,R,J)),[L,R,J]),U=!D&&!K&&E.length>0;g.useEffect(()=>{p(Bt({data:!1}))},[p]),g.useEffect(()=>{const _=setTimeout(()=>w(b.trim()),400);return()=>clearTimeout(_)},[b]),g.useEffect(()=>{p(vn(h?{search:h}:void 0))},[p,h]);const F=L;g.useEffect(()=>{c&&c(b)},[b,c]);const j=_=>{S(_.target.value)},y=_=>{a?.(_),f(`/settings/${_.id??"new"}?step=1`)},B=g.useCallback(()=>{p(Bt({data:!1})),r?.(),f("/settings/new?step=1")},[p,f,r]);g.useEffect(()=>{d&&d({view:"forms",search:b,searchPlaceholder:"Search forms",onSearchChange:S,canCreateComplaint:$,onNewComplaint:B})},[d,b,$,B]),g.useEffect(()=>()=>d?.(null),[d]);const V=({id:_})=>{q&&_!=null&&p(rr(_))},ee=({id:_,isActive:M})=>{$&&_!=null&&(m(_),p(Nn({id:_,isActive:M})).unwrap().then(()=>p(Cp({id:_,isActive:M}))).finally(()=>m(null)))};return!D&&C&&!k?s.jsx(tt,{text:"Loading"}):K?s.jsxs("div",{className:"ca-complaint-management-page","data-testid":"complaint-management-page",children:[s.jsx(ur,{title:"Complaints",description:"Create, manage and track complaint forms, workflows and responses across departments.",showAction:!1}),s.jsx("div",{className:"ca-filler-card-list",children:O.map(_=>s.jsx(Bm,{form:_,onAddComplaint:M=>f(`/complaintmanagement/new/${M.id}`),onOpenSubmissionLink:M=>{const N=String(M.visibilityType||M.accessType||"").toUpperCase()==="PUBLIC_LINK",Y=window.location.pathname.replace(/\/$/,""),Q=new URL(`${Y}/complaintmanagement/new/${M.id}`,window.location.origin);N&&Q.searchParams.set("access","public"),window.open(Q.toString(),"_blank","noopener,noreferrer")},onViewAll:M=>f(`/complaintmanagement/${M.id}/all`),onOpenComplaint:(M,N)=>f(`/complaintmanagement/${M.id}/details/${N.id}`,{state:{from:u.pathname}})},_.id))})]}):U?s.jsxs("div",{className:"ca-complaint-management-page","data-testid":"complaint-management-page",children:[s.jsx(ur,{title:e,description:t,showAction:!1}),s.jsx(qa,{systems:E,onOpen:o,onTitleClick:l,onDescriptionClick:i,emptyMessage:"No systems found."})]}):te?s.jsxs("div",{className:"ca-complaint-management-page","data-testid":"complaint-management-page",children:[s.jsx(ur,{title:e,description:t,actionLabel:n,onAction:B,showAction:$&&!d}),D?s.jsxs(s.Fragment,{children:[d?null:s.jsx("div",{className:"ca-search-container",children:s.jsx(li,{value:b,onChange:j,placeholder:"Search"})}),C?s.jsx(tt,{text:"Loading systems"}):k?s.jsx("div",{className:"ca-empty",children:s.jsx("p",{className:"ca-body",children:typeof k=="string"?k:"Failed to load complaint types."})}):s.jsx(qa,{systems:F,onConfigure:y,onOpen:o,onDelete:V,onToggleActive:ee,togglingActiveId:A,onTitleClick:l,onDescriptionClick:i,emptyMessage:"Nothing here yet"})]}):null]}):s.jsxs("div",{className:"ca-complaint-management-page ca-no-access","data-testid":"complaint-management-page",children:[s.jsx("img",{className:"ca-no-access__image",src:Ll,alt:"","aria-hidden":"true"}),s.jsx("p",{className:"ca-no-access__text",role:"status",children:"Nothing here yet"})]})}const gi=g.createContext(null),Ai=()=>({categoryName:"",categoryType:"",tatMinutes:"",template:"",visibilityType:"",urlLink:"",active:!1,description:"",roles:[],categoryRoleIds:[],categoryFormData:null,departmentRows:[{id:"1",department:"",subDepartment:"",roles:""}],priorityDraft:"",priorities:[],defaultPriorityId:null,selectedDeptNode:null,workflow:{name:"",tatMinutes:"",description:"",status:[],steps:[],stepsLoaded:!1,selectedTableCard:null},fieldDraft:{name:"",type:""},formFields:[],templateId:null,prefillWorkflowSteps:[],prefillFormFields:[]});function yi({children:e,initialValues:t}){const[n,r]=g.useState(()=>({...Ai(),...t,workflow:{...Ai().workflow,...t?.workflow}})),a=g.useCallback(i=>{r(c=>({...c,...i}))},[]),o=g.useCallback(i=>{r(c=>({...c,workflow:{...c.workflow,...i}}))},[]),l=g.useMemo(()=>({state:n,setState:r,update:a,updateWorkflow:o}),[n,a,o]);return s.jsx(gi.Provider,{value:l,children:e})}function _r(){const e=g.useContext(gi);if(!e)throw new Error("useSettingsWizard must be used within SettingsWizardProvider");return e}const Xe=[{id:1,key:"category",label:"Category Type",title:"Category Type",description:"Define the type and basic details for this category type."},{id:2,key:"workflow",label:"Workflow",title:"Workflow",description:"L1 > L2 > L3"},{id:3,key:"formFields",label:"Form Fields"},{id:4,key:"review",label:"Review & Publish",title:"Review & Publish",description:"Review your configuration and publish."}],Um=[{id:1,label:"Create Workflow"},{id:2,label:"Status"},{id:3,label:"Workflow Steps"}];function jm({size:e=28,color:t="currentColor",...n}){return s.jsxs("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",style:{color:"var(--ca-primary)"},...n,children:[s.jsx("path",{d:"M12 3 3 8l9 5 9-5-9-5Z",stroke:t,strokeWidth:"1.6",strokeLinejoin:"round"}),s.jsx("path",{d:"M3 12.5 12 17.5l9-5",stroke:t,strokeWidth:"1.6",strokeLinejoin:"round",strokeLinecap:"round"}),s.jsx("path",{d:"M3 16.5 12 21.5l9-5",stroke:t,strokeWidth:"1.6",strokeLinejoin:"round",strokeLinecap:"round"})]})}function bi({title:e,description:t,nextLabel:n="Next",onNext:r,showNext:a=!0,nextDisabled:o=!1,nextVariant:l="primary",extra:i=null,className:c=""}){return s.jsxs("div",{className:`ca-settings-card__header ${c}`.trim(),children:[s.jsx("div",{className:"ca-settings-card__heading",children:s.jsxs("div",{children:[s.jsx(Oa,{children:e}),t?s.jsx(Da,{className:"ca-settings-card__desc",children:t}):null]})}),i,a?s.jsx(Ne,{variant:l,disabled:o,onClick:r,endIcon:s.jsx(En,{size:14,color:"currentColor"}),children:n}):null]})}function In({title:e,description:t,onNext:n,nextLabel:r,showNext:a=!0,nextDisabled:o,nextVariant:l,headerExtra:i,children:c,footer:d,className:f=""}){return s.jsxs("section",{className:`ca-settings-card ${f}`.trim(),children:[s.jsx(bi,{title:e,description:t,onNext:n,nextLabel:r,showNext:a,nextDisabled:o,nextVariant:l,extra:i}),s.jsx("div",{className:"ca-settings-card__body",children:c}),d?s.jsx("div",{className:"ca-settings-card__footer",children:d}):null]})}function za({children:e,hint:t,htmlFor:n,className:r=""}){return s.jsxs("div",{className:`ca-field-label ${r}`.trim(),children:[s.jsx("label",{className:"ca-label",htmlFor:n,children:e}),t!=null?s.jsx("span",{className:"ca-field-label__hint",children:t}):null]})}function Ka({size:e=16,color:t="currentColor",...n}){return s.jsx("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",...n,children:s.jsx("path",{d:"M6 9l6 6 6-6",stroke:t,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}function Qa(e){return typeof e=="string"?e:e.value}function Xa(e){return typeof e=="string"?e:e.label}function nt({value:e,onChange:t,options:n=[],placeholder:r="Select",className:a="",disabled:o=!1,maxVisible:l,allowClear:i=!1,...c}){const[d,f]=g.useState(!1),u=g.useRef(null),p=e??"",b=n.find(m=>String(Qa(m))===String(p)),S=b?Xa(b):"";g.useEffect(()=>{if(!d)return;const m=h=>{u.current?.contains(h.target)||f(!1)};return document.addEventListener("mousedown",m),()=>document.removeEventListener("mousedown",m)},[d]);const A=m=>{t?.({target:{value:m}})};return l?s.jsxs("div",{className:`ca-select ca-select--menu ${a}`.trim(),ref:u,children:[s.jsx("button",{type:"button",id:c.id,className:`ca-select__control${S?"":" ca-select__control--placeholder"}`,disabled:o,"aria-haspopup":"listbox","aria-expanded":d,onClick:()=>f(m=>!m),children:S||r}),s.jsx("span",{className:"ca-select__chevron",children:s.jsx(Ka,{size:16})}),d?s.jsx("ul",{className:"ca-select__menu",role:"listbox",style:{"--ca-select-max-visible":l},children:n.map(m=>{const h=Qa(m),w=String(h)===String(p);return s.jsx("li",{role:"none",children:s.jsx("button",{type:"button",role:"option","aria-selected":w,className:`ca-select__option${w?" is-selected":""}`,onClick:()=>{A(h),f(!1)},children:Xa(m)})},h)})}):null]}):s.jsxs("div",{className:`ca-select ${a}`.trim(),children:[s.jsxs("select",{className:"ca-select__control",value:p,onChange:t,disabled:o,...c,children:[s.jsx("option",{value:"",disabled:!i,children:r}),n.map(m=>{const h=Qa(m);return s.jsx("option",{value:h,disabled:!!(m&&typeof m=="object"&&m.disabled),children:Xa(m)},h)})]}),s.jsx("span",{className:"ca-select__chevron",children:s.jsx(Ka,{size:16})})]})}function Si({value:e,onChange:t,placeholder:n,maxLength:r,rows:a=4,className:o="",...l}){return s.jsx("textarea",{className:`ca-textarea ${o}`.trim(),value:e,onChange:t,placeholder:n,maxLength:r,rows:a,...l})}function Ge({label:e,hint:t,children:n,className:r="",htmlFor:a}){return s.jsxs("div",{className:`ca-form-field ${r}`.trim(),children:[e!=null?s.jsx(za,{htmlFor:a,hint:t,children:e}):null,n]})}function Er({label:e,hint:t,helperText:n,...r}){return s.jsxs(Ge,{label:e,hint:t,htmlFor:r.id,children:[s.jsx(zt,{...r}),n?s.jsx("p",{className:"ca-form-field__helper",children:n}):null]})}function Ga({label:e,hint:t,...n}){return s.jsx(Ge,{label:e,hint:t,htmlFor:n.id,children:s.jsx(nt,{...n})})}function $m({label:e,hint:t,maxLength:n,value:r="",...a}){const o=t??(n!=null?`${String(r).length}/${n}`:void 0);return s.jsx(Ge,{label:e,hint:o,htmlFor:a.id,children:s.jsx(Si,{value:r,maxLength:n,...a})})}function vi({size:e=12,color:t="currentColor",...n}){return s.jsx("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",...n,children:s.jsx("path",{d:"M6 6l12 12M18 6L6 18",stroke:t,strokeWidth:"2",strokeLinecap:"round"})})}function wi({label:e,onRemove:t,className:n="",title:r}){return s.jsxs("span",{className:`ca-tag ${n}`.trim(),title:r,children:[e,t?s.jsx("button",{type:"button",className:"ca-tag__remove",onClick:t,"aria-label":`Remove ${e}`,children:s.jsx(vi,{size:10})}):null]})}function Lr({label:e="",options:t=[],value:n=[],onChange:r,placeholder:a="Select roles",className:o="",hasError:l=!1,required:i=!1,emptyText:c="No roles available",openDirection:d="up",showAll:f=!0,maxVisible:u=null,searchable:p=!1,searchPlaceholder:b="Search",lockedValues:S=[],rotateChevron:A=!1}){const[m,h]=g.useState(!1),[w,L]=g.useState(""),C=Array.isArray(n)?n.filter(E=>E!=null&&E!==""):[],k=new Set(S.map(E=>String(E))),I=g.useRef(null),H=g.useRef(null),re=t.map(E=>typeof E=="string"?{value:E,label:E,sublabel:"",searchText:E}:{value:E.value,label:E.label,sublabel:E.sublabel??"",title:E.title??"",searchText:E.searchText??`${E.label??""} ${E.sublabel??""}`}).filter(E=>E.value!==null&&E.value!==void 0&&E.value!==""),$=new Map(re.map(E=>[String(E.value),E.label])),q=E=>C.some(U=>String(U)===String(E)),z=re.filter(E=>`${E.label} ${E.sublabel} ${E.searchText}`.toLowerCase().includes(w.trim().toLowerCase())),te=z.map(E=>E.value),R=te.length>0&&te.every(E=>q(E)),O=()=>{if(R)r?.(C.filter(E=>k.has(String(E))||!te.some(U=>String(U)===String(E))));else{const E=C.filter(U=>!te.some(F=>String(F)===String(U)));r?.([...E,...te])}};g.useEffect(()=>{m&&H.current&&(H.current.scrollTop=0)},[m]),g.useEffect(()=>{if(!m)return;const E=F=>{I.current&&!I.current.contains(F.target)&&(h(!1),L(""))},U=F=>{F.key==="Escape"&&(h(!1),L(""))};return document.addEventListener("mousedown",E),document.addEventListener("touchstart",E),document.addEventListener("keydown",U),()=>{document.removeEventListener("mousedown",E),document.removeEventListener("touchstart",E),document.removeEventListener("keydown",U)}},[m]);const D=E=>{k.has(String(E))||(q(E)?r?.(C.filter(U=>String(U)!==String(E))):r?.([...C,E]),L(""))},K=E=>{k.has(String(E))||r?.(C.filter(U=>String(U)!==String(E)))},J=C.length?`${C.length} selected`:a;return s.jsxs("div",{className:`ca-role-select ${o}`.trim(),style:{display:"flex",flexDirection:"column",alignItems:"stretch",gap:8,width:"100%"},children:[s.jsxs(za,{children:[e,i?s.jsx("span",{style:{color:"#dc2626",marginLeft:2},"aria-hidden":"true",children:"*"}):null]}),s.jsxs("div",{className:"ca-multi-select",ref:I,style:{position:"relative",width:"100%"},children:[p?s.jsxs("div",{className:`ca-multi-select__trigger ${l?"ca-control--invalid":""}`.trim(),style:{width:"100%",border:l?"1px solid #dc2626":void 0,boxShadow:l?"0 0 0 3px rgba(220, 38, 38, 0.12)":void 0},role:"combobox","aria-haspopup":"listbox","aria-expanded":m,onClick:()=>h(!0),children:[s.jsx("input",{type:"search",className:"ca-multi-select__search ca-multi-select__search--trigger",value:w,placeholder:b,"aria-label":b,onFocus:()=>h(!0),onChange:E=>{L(E.target.value),h(!0)},onKeyDown:E=>{E.key==="Escape"&&(E.stopPropagation(),h(!1),L(""))}}),s.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",style:{transform:A&&m?"rotate(180deg)":"rotate(0deg)",transition:"transform 0.15s ease"},children:s.jsx("path",{d:"M6 9l6 6 6-6",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})]}):s.jsxs("button",{type:"button",className:`ca-multi-select__trigger ${l?"ca-control--invalid":""}`.trim(),style:{width:"100%",border:l?"1px solid #dc2626":void 0,boxShadow:l?"0 0 0 3px rgba(220, 38, 38, 0.12)":void 0},onClick:()=>h(E=>!E),"aria-haspopup":"listbox","aria-expanded":m,children:[s.jsx("span",{className:C.length?"":"ca-multi-select__placeholder",children:J}),s.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",style:{transform:A&&m?"rotate(180deg)":"rotate(0deg)",transition:"transform 0.15s ease"},children:s.jsx("path",{d:"M6 9l6 6 6-6",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})]}),m?s.jsxs("ul",{ref:H,className:"ca-multi-select__menu",role:"listbox","aria-multiselectable":"true",style:{position:"absolute",top:d==="down"?"calc(100% + 4px)":"auto",bottom:d==="down"?"auto":"calc(100% + 4px)",left:0,right:0,zIndex:20,maxHeight:u?u*38+8:d==="down"?220:260,overflowY:"auto"},children:[f&&z.length>1?s.jsx("li",{role:"option","aria-selected":R,style:{position:"sticky",top:0,zIndex:1,background:"var(--ca-surface, #fff)",borderBottom:"1px solid var(--ca-border, #e5e7eb)"},children:s.jsxs("label",{className:"ca-multi-select__option",children:[s.jsx("input",{type:"checkbox",checked:R,onChange:O}),s.jsx("span",{children:"All"})]})}):null,z.length?z.map(E=>s.jsx("li",{role:"option","aria-selected":q(E.value),children:s.jsxs("label",{className:"ca-multi-select__option",children:[s.jsx("input",{type:"checkbox",checked:q(E.value),disabled:k.has(String(E.value)),onChange:()=>D(E.value)}),s.jsxs("span",{className:"ca-multi-select__option-text",children:[s.jsx("span",{className:"ca-multi-select__option-label",children:E.label}),E.sublabel?s.jsx("span",{className:"ca-multi-select__option-sublabel",children:E.sublabel}):null]})]})},String(E.value))):s.jsx("li",{className:"ca-multi-select__empty",children:w?"No matching options":c})]}):null]}),C.length>0?s.jsx("div",{className:"ca-tag-list",children:[...new Set(C)].map(E=>s.jsx(wi,{label:$.get(String(E))||String(E),title:re.find(U=>String(U.value)===String(E))?.title,onRemove:k.has(String(E))?void 0:()=>K(E)},String(E)))}):null]})}function Tn({steps:e=[],currentStep:t=1,allStepsUnlocked:n=!1,onStepClick:r,className:a="",size:o="md",showSaveButton:l=!1,showNextButton:i=!1,onNext:c,nextLabel:d="Next >",extraActions:f=null}){const u=g.useRef({}),p=G.useDispatch();return g.useEffect(()=>{const b=u.current[t];if(!b)return;const S=requestAnimationFrame(()=>{let A=b.parentElement;for(;A&&A!==document.body;){const{overflowX:k}=getComputedStyle(A);if(A.scrollWidth>A.clientWidth+1&&(k==="auto"||k==="scroll"))break;A=A.parentElement}if(!A||A===document.body)return;const m=A.getBoundingClientRect(),h=b.getBoundingClientRect(),w=12;if(h.left>=m.left+w&&h.right<=m.right-w)return;const C=h.left-m.left-(m.width-h.width)/2;A.scrollTo({left:A.scrollLeft+C,behavior:"smooth"})});return()=>cancelAnimationFrame(S)},[t]),s.jsxs("div",{className:`ca-stepper-wrap ca-stepper-wrap--${o} ${a}`.trim(),children:[s.jsx("nav",{className:`ca-stepper ca-stepper--${o}`,"aria-label":"Progress",children:e.map((b,S)=>{const A=b.id??S+1,m=A===t,h=A<t,w=!!r&&(n||h||m);return s.jsxs("button",{type:"button",ref:L=>{u.current[A]=L},className:["ca-stepper__item",m?"ca-stepper__item--active":"",h?"ca-stepper__item--done":""].filter(Boolean).join(" "),style:{zIndex:e.length-S},onClick:()=>{p(Bt({data:!0})),w&&r?.(A)},disabled:!w,"aria-current":m?"step":void 0,children:[s.jsxs("span",{className:"ca-stepper__circle",children:[A,"."]}),s.jsx("span",{className:"ca-stepper__label",children:b.label})]},A)})}),l||i||f?s.jsxs("div",{className:"ca-stepper__actions",children:[f,i?s.jsx(Ne,{onClick:c,children:d}):null]}):null]})}const Vm={categoryName:"",tatMinutes:"",template:"",categoryType:"",description:"",visibilityType:"INTERNAL_LOGIN",urlLink:"",active:!0,roles:[],userIds:[]},Wm=[{value:"INTERNAL_LOGIN",label:"Internal Login"},{value:"PRIVATE_LINK",label:"Private Link"},{value:"PUBLIC_LINK",label:"Public Link"}],qm={value:"",label:"Select Template"},Ya=e=>String(e?.id??e?.code??e?.name??"");function Hm(e){return Array.isArray(e)?[...new Set(e.map(t=>!t||typeof t!="object"?t:t.userId??t.user_id??t.id??t.value??t.user?.userId??t.user?.id).filter(t=>t!=null&&t!==""))]:[]}function Ja(e){const t=[e?.userIds,e?.users,Array.isArray(e?.accesses)?e.accesses.map(n=>n?.userId??n?.user?.id):null];for(const n of t){const r=Hm(n);if(r.length)return r}return[]}function Ue(e){return e==null||e===""?null:String(e).trim()||null}function Za(e){return Ue(e?.userId??e?.user_id??e?.id??e?.value)}function Ir(e){return Array.isArray(e)?e:Array.isArray(e?.data)?e.data:Array.isArray(e?.steps)?e.steps:Array.isArray(e?.data?.steps)?e.data.steps:[]}function Qt(e){return String(e??"").toLowerCase().replace(/[^a-z0-9]/g,"")}function zm(e,t,n){const r=new Set,a=new Set,o=i=>{if(i==null||i==="")return;if(typeof i!="object"){const f=Ue(i);if(!f)return;const u=n.find(p=>Ue(p?.id??p?.roleId??p?.role_id??p?.value)===f||Qt(p?.name??p?.roleName??p?.label)===Qt(i));if(u){const p=Ue(u.id??u.roleId??u.role_id??u.value),b=Qt(u.name??u.roleName??u.label);p&&r.add(p),b&&a.add(b)}else r.add(f);return}const c=Ue(i.id??i.roleId??i.role_id??i.value),d=Qt(i.name??i.roleName??i.label??i.role?.name);c&&r.add(c),d&&a.add(d),i.role&&typeof i.role=="object"&&o(i.role)},l=new Set;return Ir(e).forEach(i=>{[i?.role,i?.roleIds,i?.roles].flatMap(c=>Array.isArray(c)?c:c==null?[]:[c]).forEach(o),[i?.users,i?.userAssignments,i?.userIds].flatMap(c=>Array.isArray(c)?c:c==null?[]:[c]).forEach(c=>{const d=Ue(typeof c=="object"?c.userId??c.user_id??c.id??c.value:c);d&&l.add(d)})}),t.forEach(i=>{l.has(Za(i))&&[i?.roleId,i?.role_id,i?.role,i?.roles,i?.roleIds,i?.assignedRoles,i?.userRoles].flatMap(c=>Array.isArray(c)?c:c==null?[]:[c]).forEach(c=>{o(c),c&&typeof c=="object"&&c.role&&o(c.role)})}),n.forEach(i=>{const c=Ue(i?.id??i?.roleId??i?.role_id??i?.value),d=Qt(i?.name??i?.roleName??i?.label);c&&r.has(c)&&d&&a.add(d)}),{roleIds:r,roleNames:a}}function Km(e,t=[]){const n=e?.createdByUser??e?.createdBy??e?.creator,r=Ue(e?.createdByUserId??e?.createdById??n?.userId??n?.id??n?.user?.id??(typeof n=="number"||/^\d+$/.test(String(n??"").trim())?n:null));if(r)return r;const a=typeof n=="string"?n.trim().toLowerCase():String(n?.name??n?.userName??"").trim().toLowerCase();if(!a)return null;const o=t.find(l=>{const i=String(l?.name??l?.userName??[l?.firstName,l?.lastName].filter(Boolean).join(" ")).trim().toLowerCase(),c=String(l?.email??l?.userEmail??"").trim().toLowerCase();return a===i||a===c});return Za(o)}function Ra(...e){const t=new Map;return e.flat().forEach(n=>{const r=Ue(n);r!==null&&!t.has(r)&&t.set(r,n)}),[...t.values()]}const Ci=e=>{const t=Array.isArray(e?.accesses)?e.accesses.map(l=>l?.role?.id??l?.roleId):[],n=Array.isArray(e?.roleIds)?e.roleIds:[],r=l=>l.map(i=>i&&typeof i=="object"?i.id??i.roleId??i.role_id??i.value:i).filter(i=>i!=null&&i!==""),a=r(t),o=r(n);return{categoryName:e?.name??e?.code??"",tatMinutes:Ut(e?.tatMinutes)||"",template:Ya(e),categoryType:e?.categoryType??Ya(e),description:e?.description??"",visibilityType:e?.visibilityType??e?.accessType??"INTERNAL_LOGIN",urlLink:e?.urlLink??"",active:e?.isActive??e?.active??!0,roles:[...new Set(a.length?a:o)],userIds:Ja(e)}};function Qm(e){return[qm,...e]}function Xm(e,t){const n=[];if(e.categoryName&&n.push("Please enter a category name."),e.tatMinutes){const r=String(t.tatMinutes??"").trim();n.push(r?"TAT must include a unit (m, h, or d). Example: 30m, 2h, 1d.":"Please enter TAT . Use Minutes for m, Hours for h, or Days for d.")}return e.visibilityType&&n.push("Please select a visibility type."),e.roles&&n.push("Please select roles for complaint filling."),n.join(" ")}function Gm(e){return String(e??"").replace(/(^|\s)(\S)/g,(t,n,r)=>n+r.toUpperCase())}function Ym({stepMeta:e,stepperProps:t,roleList:n=[],userList:r=[]}){const{state:a,update:o}=_r(),[l,i]=g.useState(()=>a.categoryFormData??Vm),c=g.useRef(a.categoryFormData),[d,f]=g.useState({}),u=G.useDispatch(),{id:p}=G.useSelector(y=>y.appDetails||{}),{isEdit:b}=G.useSelector(y=>y.appDetails||{}),S=G.useSelector(y=>y.complaintType||{}),A=G.useSelector(y=>y.workflow?.workflowSteps),m=G.useSelector(y=>y.appDetails?.details?.currentUser),{complaintList:h=[],loading:w,error:L}=S,C=h.find(y=>String(y?.id??y?._id)===String(p))??(String(S.selected?.id??S.selected?._id)===String(p)?S.selected:null),k=g.useRef(C),I=g.useRef(!1);g.useEffect(()=>{k.current=C},[C]);const H=(y,B={})=>{i(y),c.current=y,o({categoryFormData:y,...B})};g.useEffect(()=>{a.categoryFormData||o({categoryFormData:l,categoryRoleIds:l.roles})},[l,o,a.categoryFormData]),g.useEffect(()=>{!h.length&&!w&&!I.current&&(I.current=!0,u(vn()))},[h.length,u,w]),g.useEffect(()=>{!b||p===null||p===void 0||c.current||u(Ze(p)).unwrap().then(y=>{const B=y?.data??y;if(!B||c.current)return;const V=k.current,ee=Ja(B),_=Ja(V),M={...B,roleIds:B.roleIds??V?.roleIds,userIds:ee.length?ee:_},N=Ci(M);i(N),c.current=N,o({categoryFormData:N,categoryRoleIds:N.roles})}).catch(y=>{console.log(" Fetch error:",y)})},[u,p,b,o]);const re=n.map(y=>({value:y.id??y.roleId??y.value,label:y.name??y.roleName??y.label})).filter(y=>y.value!==null&&y.value!==void 0&&y.value!==""),$=a.workflow?.stepsLoaded?Ir(a.workflow.steps):[...Ir(a.prefillWorkflowSteps),...Ir(A)],q=zm($,r,n),z=re.filter(y=>{const B=Ue(y.value),V=Qt(y.label);return(Array.isArray(l.roles)?l.roles:[]).some(_=>Ue(_)===B)||!q.roleIds.has(B)&&!q.roleNames.has(V)}),te=r.map(y=>{const B=String(y?.name??y?.userName??y?.label??[y?.firstName,y?.lastName].filter(Boolean).join(" ")??"").trim(),V=String(y?.email??y?.userEmail??"").trim();return{value:y.id??y.userId??y.user_id??y.value,label:B,sublabel:V,title:V?`Email: ${V}`:""}}).filter(y=>y.value!==null&&y.value!==void 0&&y.value!==""),R=b?Km(C,r):Za(m),O=[];Ra(l.userIds,O);const D=b?C?.createdByUser??C?.createdBy:m;if(R&&!te.some(y=>Ue(y.value)===R)){const y=typeof D=="object"?String(D.name??D.userName??[D.firstName,D.lastName].filter(Boolean).join(" ")??"Created by user").trim():"Created by user";te.push({value:R,label:y||"Created by user",sublabel:typeof D=="object"?String(D.email??"").trim():""})}const K=h.map(y=>({value:Ya(y),label:y?.name??y?.code??"",complaintType:y})).filter(y=>y.value&&y.label),J=async y=>{const B=y?.id??y?._id??null,V={...l,...Ci(y),categoryName:"",roles:[],userIds:O};if(H(V,{categoryRoleIds:[]}),o({templateId:B,tatMinutes:Be(y?.tatMinutes)}),B==null||B===""){o({prefillWorkflowSteps:[],prefillFormFields:[]});return}try{const[ee,_]=await Promise.all([u(Re(B)).unwrap(),u(qe(B)).unwrap()]),M=(Array.isArray(ee?.data)?ee.data:Array.isArray(ee)?ee:[]).map(Y=>({...Y,roleIds:[],role:[],roleId:null})),N=Array.isArray(_?.data)?_.data:Array.isArray(_)?_:[];o({templateId:B,tatMinutes:Be(y?.tatMinutes),prefillWorkflowSteps:M,prefillFormFields:N})}catch(ee){console.log("Failed to load template details:",ee),o({templateId:B,prefillWorkflowSteps:[],prefillFormFields:[]})}},E=()=>{const y={...l,template:"",categoryType:"",tatMinutes:"",description:""};H(y),o({templateId:null,prefillWorkflowSteps:[],prefillFormFields:[]})},U=y=>{const B=y.target.value;if(!B){E();return}const V=K.find(ee=>ee.value===B)?.complaintType;if(V){J(V);return}F("template",B),F("categoryType",B)},F=(y,B)=>{const V=Array.isArray(B)?y==="userIds"?Ra(B,O):[...new Set(B.filter(_=>_!=null&&_!==""))]:B,ee={...l,[y]:V};H(ee,y==="roles"?{categoryRoleIds:V}:{}),f(_=>{if(!_[y])return _;const M={..._};return delete M[y],M})},j=async()=>{const y={};if(l.categoryName.trim()||(y.categoryName=!0),Fp(l.tatMinutes)||(y.tatMinutes=!0),l.visibilityType||(y.visibilityType=!0),l.roles.length||(y.roles=!0),Object.keys(y).length>0){f(y);return}f({});const B=Be(l.tatMinutes),V={...l,userIds:Ra(l.userIds,O)};H(V,{tatMinutes:B,categoryRoleIds:V.roles});const ee={categoryName:l.categoryName,categoryType:l.categoryType||l.template,tatMinutes:B,description:l.description,visibilityType:l.visibilityType,urlLink:"",active:l.active,roles:V.roles},_=b?Cn({id:p,data:{code:ee.categoryName,name:ee.categoryName,description:ee.description,tatMinutes:ee.tatMinutes,accessType:ee.visibilityType,roleIds:ee.roles.map(N=>parseInt(N,10))},onFail:N=>{console.log("updateComplaintType onFail:",N)}}):wn({payload:ee,onSuccess:N=>{u(gt(N?.data?.id??N?.id??null))},onFail:N=>{console.log("createComplaintType onFail:",N)}}),M=await u(_);if(b&&Cn.fulfilled.match(M)||!b&&wn.fulfilled.match(M)){if(!b){const N=M.payload?.data?.id??M.payload?.id;N!=null&&u(gt(N))}t.onNext?.()}};return s.jsxs(s.Fragment,{children:[s.jsx(Tn,{...t,steps:Xe,showNextButton:!!t.showNextButton,onNext:j}),L||Object.keys(d).length>0?s.jsx("div",{className:"ca-validation-toast",role:"alert",children:L||Xm(d,l)}):null,s.jsxs(In,{className:"ca-settings-card--category-type",title:e.title,description:e.description,showNext:!1,headerExtra:s.jsx("div",{className:"ca-category-type__header-tools",children:s.jsx("div",{className:"ca-category-type__template",children:s.jsx(Ga,{label:"Select Template (Optional)",value:l.template||l.categoryType,onChange:U,options:Qm(K),placeholder:"Select Template",maxVisible:5,disabled:b,className:b?"ca-select--disabled":""})})}),children:[s.jsxs("div",{className:"ca-step-section",children:[s.jsxs("div",{className:"ca-step-row ca-step-row--category-fields",children:[s.jsx(Er,{label:s.jsxs(s.Fragment,{children:["Category Name ",s.jsx("span",{style:{color:"#dc2626"},"aria-hidden":"true",children:"*"})]}),className:"ca-step-row__grow",inputClassName:d.categoryName?"ca-control--invalid":"",value:l.categoryName,onChange:y=>F("categoryName",Gm(y.target.value)),placeholder:"Enter category name"}),s.jsx(Er,{label:s.jsxs(s.Fragment,{children:["TAT ",s.jsx("span",{style:{color:"#dc2626"},"aria-hidden":"true",children:"*"})]}),type:"text",className:"ca-step-row__grow",inputClassName:d.tatMinutes?"ca-control--invalid":"",value:l.tatMinutes,onChange:y=>F("tatMinutes",y.target.value),placeholder:"Enter here",helperText:"Eg: 30m, 2h, 1d, 3d7h16m"})]}),s.jsx("div",{className:"ca-step-row ca-step-row--category-fields",children:s.jsx(Er,{label:"Description",className:"ca-step-row__grow",maxLength:500,value:l.description,onChange:y=>F("description",y.target.value),placeholder:"Enter description"})}),s.jsxs("div",{className:"ca-step-row",children:[s.jsx(Ga,{label:"Select Visibility Type",className:`ca-step-row__grow ${d.visibilityType?"ca-control--invalid":""}`,value:l.visibilityType,onChange:y=>F("visibilityType",y.target.value),options:Wm,placeholder:"Select visibility type"}),["PRIVATE_LINK","PUBLIC_LINK"].includes(l.visibilityType)?s.jsx("p",{className:"ca-body ca-step-row__grow",children:l.visibilityType==="PUBLIC_LINK"?"A public form link will be generated automatically after saving.":"A private form link will be generated automatically after saving and requires sign-in."}):null]})]}),s.jsx("div",{className:"ca-step-section ca-step-section--last ca-category-type__access-selects",children:s.jsx(Lr,{label:"Select Roles for Complaint Filling",required:!0,hasError:!!d.roles,rotateChevron:!0,options:z,value:l.roles,maxVisible:4,onChange:y=>F("roles",y)})})]})]})}function Ni({level:e,onAdd:t,disabled:n=!1}){const r=`Level ${e}`,a=e===1?"Initial Handler":e===2?"Escalation if L1 TAT exceeded":"Escalation workflow";return s.jsxs("div",{className:"ca-add-table-card",children:[s.jsxs("header",{className:"ca-add-table-card__header",children:[s.jsxs("span",{className:"ca-add-table-card__level",children:["L",e]}),s.jsxs("div",{className:"ca-add-table-card__header-text",children:[s.jsx("h3",{className:"ca-add-table-card__title",children:r}),s.jsx("p",{className:"ca-add-table-card__subtitle",children:a})]})]}),s.jsx("div",{className:"ca-add-table-card__action",children:s.jsxs(Ne,{type:"button",className:"ca-add-table-card__button",disabled:n,onClick:()=>t?.(r),children:["+ Add L",e]})})]})}const es=["Yes","No"],Xt=()=>s.jsx("span",{style:{color:"#dc2626"},"aria-hidden":"true",children:" *"});function _i({name:e,level:t,value:n,initialFormValues:r,setFormValues:a,onChange:o,selected:l=!1,onSelect:i,onDelete:c,subtitle:d,roleList:f=[],showRoleError:u=!1,showEscalationError:p=!1,userList:b=[],fieldErrors:S={}}){const A=n??r??{},m=Array.isArray(A.role)?A.role:[],h=Array.isArray(A.users)?A.users:[],w=A.workflowType==="user"?"user":"role",L=f.map(O=>({value:O.id??O.roleId??O.value,label:O.name??O.roleName??O.label})).filter(O=>O.value!==null&&O.value!==void 0&&O.value!==""),C=O=>{const D=[O?.firstName,O?.lastName].map(E=>String(E??"").trim()).filter(Boolean).join(" "),K=String(O?.name??O?.userName??O?.label??"").trim()||D,J=[O?.roleName,O?.role?.name,typeof O?.role=="string"?O.role:"",...Array.isArray(O?.roles)?O.roles.map(E=>typeof E=="string"?E:E?.name):[]].map(E=>String(E??"").trim()).filter(Boolean).filter((E,U,F)=>F.indexOf(E)===U).join(", ");return{userName:K,roleName:J,email:String(O?.email??O?.userEmail??"").trim()}},k=b.map(O=>{const{userName:D,roleName:K,email:J}=C(O);return{value:O.id??O.userId??O.user_id??O.value,label:D,sublabel:J,title:J?`Email: ${J}`:"",searchText:K}}).filter(O=>O.value!==null&&O.value!==void 0&&O.value!==""),I=(O,D)=>{const K={...A,[O]:D};a?a(K):o?.(K)},H=m.length===0&&h.length===0,re=(u||!!S.role)&&H,$=O=>O?"ca-control--invalid":"",q=t===1?"green":t===2?"orange":"blue",z=O=>`workflow-level-${t}-${O}`,te=d||(t===1?"Initial Handler":t===2?"Escalation if L1 TAT exceeded":"Escalation workflow"),R=[{value:"role",label:"Role",count:m.length},{value:"user",label:"User",count:h.length}];return s.jsxs("article",{className:`ca-table-card ca-table-card--${q}${l?" ca-table-card--selected":""}`,onClick:i,children:[s.jsxs("header",{className:"ca-table-card__header",children:[s.jsxs("span",{className:"ca-table-card__level",children:["L",t]}),s.jsxs("div",{className:"ca-table-card__header-text",children:[s.jsx("h3",{className:"ca-table-card__title",children:e}),s.jsx("p",{className:"ca-table-card__subtitle",children:te})]}),s.jsx("button",{type:"button",className:"ca-table-card__delete","aria-label":`Delete ${e}`,title:`Delete ${e}`,onClick:O=>{O.stopPropagation(),c?.()},children:s.jsx(pr,{size:15,color:"currentColor"})})]}),s.jsx("div",{className:"ca-table-card__divider"}),s.jsxs("div",{className:"ca-table-card__fields",children:[s.jsx("div",{className:"ca-type-toggle",role:"group","aria-label":"Workflow type",children:R.map(O=>s.jsxs("button",{type:"button",className:`ca-type-toggle__btn${w===O.value?" ca-type-toggle__btn--active":""}`,onClick:D=>{D.stopPropagation(),w!==O.value&&I("workflowType",O.value)},children:[O.label,O.count?` (${O.count})`:""]},O.value))}),w==="role"?s.jsx(Ge,{label:s.jsxs(s.Fragment,{children:["Select Roles",s.jsx(Xt,{})]}),htmlFor:z("roleIds"),children:s.jsx(Lr,{id:z("role"),value:m,options:L,placeholder:"Select role",emptyText:"No roles available",openDirection:"down",showAll:!1,maxVisible:3,searchable:!0,searchPlaceholder:"Search Role",hasError:re,onChange:O=>I("role",O)},"role")}):s.jsx(Ge,{label:s.jsxs(s.Fragment,{children:["Select Users",s.jsx(Xt,{})]}),htmlFor:z("userIds"),children:s.jsx(Lr,{id:z("user"),value:h,options:k,placeholder:"Select user",emptyText:"No users available",openDirection:"down",showAll:!1,maxVisible:3,searchable:!0,searchPlaceholder:"Search User",hasError:re,onChange:O=>I("users",O)},"user")}),s.jsx("div",{className:"ca-table-card__divider"}),s.jsx(Ge,{label:s.jsxs(s.Fragment,{children:["Can Resolve ",s.jsx(s.Fragment,{children:"(Change the Status)"}),s.jsx(Xt,{})]}),htmlFor:z("canResolve"),children:s.jsx(nt,{id:z("canResolve"),className:$(S.canResolve),value:A.canResolve,options:es,onChange:O=>I("canResolve",O.target.value)})}),s.jsx(Ge,{label:s.jsxs(s.Fragment,{children:["Can Reassign ",s.jsx(s.Fragment,{children:"(Change the Level)"}),s.jsx(Xt,{})]}),htmlFor:z("canReassign"),children:s.jsx(nt,{id:z("canReassign"),className:$(S.canReassign),value:t===1?"No":A.canReassign,options:t===1?["No"]:es,disabled:t===1,onChange:O=>I("canReassign",O.target.value)})}),s.jsx(Ge,{label:s.jsxs(s.Fragment,{children:["Final Level",s.jsx(s.Fragment,{children:"(can be resolved or closed the complaint)"}),s.jsx(Xt,{})]}),htmlFor:z("finalLevel"),children:s.jsx(nt,{id:z("finalLevel"),className:$(S.finalLevel),value:A.finalLevel,options:es,onChange:O=>I("finalLevel",O.target.value)})}),s.jsx(Ge,{label:s.jsxs(s.Fragment,{children:["Escalation time",s.jsx(Xt,{})]}),htmlFor:z("escalationTime"),children:s.jsx("div",{className:"ca-table-card__time-input",children:s.jsx(zt,{id:z("escalationTime"),type:"text",className:$(p||S.escalation),value:A.escalateAfterMinutes??"",placeholder:"--",onChange:O=>I("escalateAfterMinutes",O.target.value)})})})]})]})}function Ei({open:e,title:t,children:n,primaryLabel:r="Save",onPrimary:a,secondaryLabel:o="Cancel",onSecondary:l,primaryDisabled:i=!1}){return e?s.jsx("div",{className:"ca-confirm-modal",role:"dialog","aria-modal":"true","aria-labelledby":"ca-modal-title",children:s.jsxs("div",{className:"ca-confirm-modal__dialog",children:[t?s.jsx("p",{id:"ca-modal-title",className:"ca-confirm-modal__message",children:t}):null,n,s.jsxs("div",{className:"ca-confirm-modal__actions",children:[o?s.jsx(Ne,{variant:"outline",onClick:l,children:o}):null,s.jsx(Ne,{onClick:a,disabled:i,children:r})]})]})}):null}function Li({variant:e,levelNo:t,open:n,onConfirm:r,onClose:a}){return n?e==="finalLevelDelete"?s.jsx(Ei,{open:!0,title:`Final Level is set to Yes at Level ${t}. You can't create a next level here, and every level after Level ${t} will be deleted. Do you want to continue?`,primaryLabel:"Ok",onPrimary:r,secondaryLabel:"Cancel",onSecondary:a}):e==="finalLevelRequired"?s.jsx(Ei,{open:!0,title:`Level ${t} is the last level. "Final Level" must be Yes. Click Ok to set it to Yes.`,primaryLabel:"Ok",onPrimary:r,secondaryLabel:null}):null:null}function ts(e,t=0){const n=o=>!String(o??"").trim(),r=!(Array.isArray(e?.role)&&e.role.length),a=!(Array.isArray(e?.users)&&e.users.length);return{role:r&&a,canResolve:n(e?.canResolve),canReassign:t>0&&n(e?.canReassign),finalLevel:n(e?.finalLevel),escalation:n(e?.escalateAfterMinutes)}}const Jm="data:image/svg+xml,%3csvg%20width='31'%20height='57'%20viewBox='0%200%2031%2057'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M0.50001%200.000227733C0.223869%200.000226605%209.85899e-06%200.224084%208.79418e-06%200.500226C7.72665e-06%200.776369%200.223865%201.00023%200.500009%201.00023L0.50001%200.500227L0.50001%200.000227733ZM15%200.500275L15%201.00028L15%200.500275ZM27%2012.5003L27.5%2012.5003L27%2012.5003ZM26.6464%2056.8527C26.8417%2057.048%2027.1582%2057.048%2027.3535%2056.8527L30.5355%2053.6707C30.7307%2053.4755%2030.7307%2053.1589%2030.5355%2052.9636C30.3402%2052.7683%2030.0236%2052.7683%2029.8284%2052.9636L26.9999%2055.792L24.1715%2052.9636C23.9763%2052.7683%2023.6597%2052.7683%2023.4644%2052.9636C23.2692%2053.1589%2023.2692%2053.4754%2023.4644%2053.6707L26.6464%2056.8527ZM0.50001%200.500227L0.500009%201.00023L15%201.00028L15%200.500275L15%200.000275583L0.50001%200.000227733L0.50001%200.500227ZM27%2012.5003L26.5%2012.5003L26.4999%2056.4991L26.9999%2056.4991L27.4999%2056.4991L27.5%2012.5003L27%2012.5003ZM15%200.500275L15%201.00028C21.3513%201.0003%2026.5%206.14903%2026.5%2012.5003L27%2012.5003L27.5%2012.5003C27.5%205.59674%2021.9036%200.000298399%2015%200.000275583L15%200.500275Z'%20fill='%2300BF87'/%3e%3c/svg%3e",Zm="data:image/svg+xml,%3csvg%20width='28'%20height='61'%20viewBox='0%200%2028%2061'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M27.0053%2057.2042C27.2006%2057.009%2027.2006%2056.6924%2027.0053%2056.4971L23.8233%2053.3152C23.6281%2053.1199%2023.3115%2053.1199%2023.1162%2053.3152C22.921%2053.5104%2022.921%2053.827%2023.1162%2054.0223L25.9447%2056.8507L23.1163%2059.6791C22.921%2059.8744%2022.921%2060.191%2023.1163%2060.3862C23.3115%2060.5815%2023.6281%2060.5815%2023.8234%2060.3862L27.0053%2057.2042ZM12.5001%2056.8508L12.5001%2057.3508V57.3508L12.5001%2056.8508ZM0.500014%2044.8508L1.33317e-05%2044.8508V44.8508L0.500014%2044.8508ZM26.6518%2056.8507L26.6518%2056.3507L12.5001%2056.3508L12.5001%2056.8508L12.5001%2057.3508L26.6518%2057.3507L26.6518%2056.8507ZM0.500014%2044.8508L1.00001%2044.8508L1.00001%20-0.000388027L0.50001%20-0.000388722L9.54624e-06%20-0.000389416L1.33317e-05%2044.8508L0.500014%2044.8508ZM12.5001%2056.8508L12.5001%2056.3508C6.14877%2056.3508%201.00001%2051.2021%201.00001%2044.8508L0.500014%2044.8508L1.33317e-05%2044.8508C1.43871e-05%2051.7544%205.59649%2057.3508%2012.5001%2057.3508L12.5001%2056.8508Z'%20fill='%23FF9E32'/%3e%3c/svg%3e",Rm="data:image/svg+xml,%3csvg%20width='57'%20height='31'%20viewBox='0%200%2057%2031'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M56.9989%200.500133C56.9989%200.223991%2056.7751%200.000131942%2056.4989%200.00013087C56.2228%200.000129795%2055.9989%200.223987%2055.9989%200.500131L56.4989%200.500132L56.9989%200.500133ZM56.4989%2015.0002L55.9989%2015.0002L56.4989%2015.0002ZM44.4989%2027.0001L44.4988%2027.5001L44.4989%2027.0001ZM0.146456%2026.6465C-0.0488074%2026.8418%20-0.0488086%2027.1584%200.146455%2027.3536L3.32843%2030.5356C3.52369%2030.7309%203.84027%2030.7309%204.03554%2030.5356C4.2308%2030.3403%204.2308%2030.0238%204.03554%2029.8285L1.20712%2027.0001L4.03555%2024.1716C4.23081%2023.9764%204.23081%2023.6598%204.03555%2023.4645C3.84029%2023.2693%203.5237%2023.2693%203.32844%2023.4645L0.146456%2026.6465ZM56.4989%200.500132L55.9989%200.500131L55.9989%2015.0002L56.4989%2015.0002L56.9989%2015.0002L56.9989%200.500133L56.4989%200.500132ZM44.4989%2027.0001L44.4989%2026.5001L0.500009%2026.5001L0.500008%2027.0001L0.500007%2027.5001L44.4988%2027.5001L44.4989%2027.0001ZM56.4989%2015.0002L55.9989%2015.0002C55.9988%2021.3514%2050.8501%2026.5001%2044.4989%2026.5001L44.4989%2027.0001L44.4988%2027.5001C51.4024%2027.5001%2056.9988%2021.9037%2056.9989%2015.0002L56.4989%2015.0002Z'%20fill='%2300BF87'/%3e%3c/svg%3e",eg="data:image/svg+xml,%3csvg%20width='61'%20height='28'%20viewBox='0%200%2061%2028'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M3.32848%2027.0049C3.52374%2027.2002%203.84032%2027.2002%204.03559%2027.0049L7.21755%2023.8229C7.41281%2023.6277%207.4128%2023.3111%207.21754%2023.1158C7.02228%2022.9206%206.70569%2022.9206%206.51043%2023.1158L3.68203%2025.9443L0.85358%2023.1159C0.658316%2022.9206%200.341733%2022.9206%200.146472%2023.1159C-0.0487878%2023.3111%20-0.0487864%2023.6277%200.146478%2023.823L3.32848%2027.0049ZM3.68194%2012.4997L3.18194%2012.4997V12.4997L3.68194%2012.4997ZM15.6819%200.499617L15.6819%20-0.000382774V-0.000382774L15.6819%200.499617ZM3.68203%2026.6514L4.18203%2026.6514L4.18194%2012.4997L3.68194%2012.4997L3.18194%2012.4997L3.18203%2026.6514L3.68203%2026.6514ZM15.6819%200.499617L15.6819%200.999618L60.5331%200.999616L60.5331%200.499615L60.5331%20-0.000385315L15.6819%20-0.000382774L15.6819%200.499617ZM3.68194%2012.4997L4.18194%2012.4997C4.1819%206.14838%209.33063%200.999618%2015.6819%200.999618L15.6819%200.499617L15.6819%20-0.000382774C8.77834%20-0.00038191%203.18189%205.5961%203.18194%2012.4997L3.68194%2012.4997Z'%20fill='%23FF9E32'/%3e%3c/svg%3e",ns=(e,t,n={})=>({id:e,name:t,role:Array.isArray(n.role)?n.role:n.roleId!==void 0&&n.roleId!==null?[n.roleId]:[],users:Array.isArray(n.users)?n.users:[],workflowType:n.workflowType??"role",canResolve:n.canResolve??"",canReassign:n.canReassign??(Number(e)===1?"No":""),finalLevel:n.finalLevel??"",escalateAfterMinutes:Ut(n.escalateAfterMinutes)||""});function rs(e){return e===!0||e==="Yes"||e==="true"||e===1||e==="1"?"Yes":e===!1||e==="No"||e==="false"||e===0||e==="0"?"No":e??""}function tg(e,t){const n=[e.role,e.roleIds,e.roles].filter(Array.isArray),a=(n.find(i=>i.length)??n[0]??[]).map(i=>i&&typeof i=="object"?i.id??i.roleId:i).filter(i=>i!=null),o=(Array.isArray(e.userAssignments)?e.userAssignments:Array.isArray(e.users)?e.users:[]).map(i=>i&&typeof i=="object"?i.userId??i.id:i).filter(i=>i!=null),l=a.length>0?"role":o.length>0||/user/i.test(String(e.workflowType??""))?"user":"role";return ns(e.levelNo??t+1,e.name??`Level ${e.levelNo??t+1}`,{role:a,users:o,workflowType:l,canResolve:rs(e.canResolve),canReassign:t===0?"No":rs(e.canReassign),finalLevel:rs(e.isFinalLevel??e.finalLevel),escalateAfterMinutes:Ut(e.escalateAfterMinutes)||""})}function Ii(e=[]){return(Array.isArray(e)?e:[]).map(tg)}function Ti(e=[]){return e.flatMap(t=>Array.isArray(t?.roles)?t.roles:Array.isArray(t?.role)?t.role.filter(n=>n&&typeof n=="object"):[])}const as=[ns(1,"Level 1")];function Fi({accent:e}){return s.jsxs("div",{className:`ca-escalation-connector ca-escalation-connector--desktop ca-escalation-connector--${e}`,"aria-hidden":"true",children:[s.jsx("img",{src:Jm,alt:"",className:"ca-escalation-connector__arrow ca-escalation-connector__arrow--first"}),s.jsx("span",{children:"Escalates to"}),s.jsx("img",{src:Zm,alt:"",className:"ca-escalation-connector__arrow ca-escalation-connector__arrow--second"})]})}function ki({accent:e}){return s.jsxs("div",{className:`ca-escalation-connector ca-escalation-connector--mobile ca-escalation-connector--${e}`,"aria-hidden":"true",children:[s.jsx("img",{src:Rm,alt:"",className:"ca-escalation-connector__arrow ca-escalation-connector__arrow--first"}),s.jsx("span",{children:"Escalates to"}),s.jsx("img",{src:eg,alt:"",className:"ca-escalation-connector__arrow ca-escalation-connector__arrow--second"})]})}function Oi({id:e,selectedTableId:t,onSelect:n,setUpdatePayload:r,registerWorkflowActions:a,roleList:o=[],prefillSteps:l=[],tatTotalMinutes:i=0,showRoleError:c=!1,showEscalationError:d=!1,showRequiredErrors:f=!1,userList:u=[],onAddBlocked:p}){const b=e!=null,[,S]=g.useState(as),[A,m]=g.useState(as),[h,w]=g.useState([]),[L,C]=g.useState(b),[k,I]=g.useState(null),[H,re]=g.useState(i),$=g.useRef(null),q=g.useRef(i),z=g.useRef(new Set),[te,R]=g.useState([]),[O,D]=g.useState(null),K=G.useDispatch(),J=g.useMemo(()=>{const _=Ii(l);return _.length?_:as},[l]),E=(()=>{const _=new Set;return[...o,...h,...Ti(l)].filter(M=>{const N=String(M?.id??M?.roleId??M?.value);return _.has(N)?!1:(_.add(N),!0)})})();if(!b&&k!==J){const _=jt(J,i);I(J),m(_),S(_)}if(!L&&H!==i){re(i);const _=jt(A,i);_!==A&&m(_)}g.useEffect(()=>{q.current=i},[i]),g.useEffect(()=>{if(!b){const N=jt(J,q.current);r({id:e,tables:N});return}let _=!1;return(async()=>{C(!0);try{const N=await K(Re(e)).unwrap(),Y=Array.isArray(N?.data)?N.data:Array.isArray(N)?N:[];w(Ti(Y));const Q=Ii(Y),ne=jt(Q.length?Q:J,q.current);_||(S(ne),m(ne),r({id:e,tables:ne}))}catch(N){if(!_){const Y=jt(J,q.current);S(Y),m(Y),r({id:e,tables:Y}),console.error("Failed to load workflow steps:",N)}}finally{_||C(!1)}})(),()=>{_=!0}},[K,J,b,e,r]),g.useEffect(()=>{L||r?.({id:e,tables:A})},[e,L,r,A]);const U=g.useCallback((_,{preserveLastLevel:M}={})=>{const N=_.map((ne,fe)=>fe===0?{...ne,canReassign:"No"}:ne),Y=M?N:jt(N,i),Q={id:e,tables:Y};return m(Y),console.log("[TableCardGrid] updated form values:",Y),console.log("[TableCardGrid] PUT payload:",Q),r?.(Q),Q},[e,r,i]);g.useEffect(()=>{if(a)return a({setLastLevelFinal:()=>{if(!A.length)return null;const _=A.length-1,M=A.map((N,Y)=>Y===_?{...N,finalLevel:"Yes"}:N);return U(M,{preserveLastLevel:!0})}}),()=>a(null)},[e,a,r,A,i,U]);const F=_=>{const M=A[A.length-1];return M!=null&&M.id===_},j=(_,M)=>{Object.prototype.hasOwnProperty.call(M,"escalateAfterMinutes")&&z.current.add(_),U(A.map(N=>N.id===_?{...N,...M}:N),{preserveLastLevel:F(_)})},y=(_,M)=>{const N=A.findIndex(ne=>ne.id===_);if(N<0)return;const Y=A[N],Q=typeof M=="function"?M(Y):M;if(Q.escalateAfterMinutes!==Y.escalateAfterMinutes&&z.current.add(_),N<A.length-1&&Y.finalLevel!=="Yes"&&Q.finalLevel==="Yes"){D({tableId:_,value:Q});return}U(A.map((ne,fe)=>fe===N?Q:ne),{preserveLastLevel:F(_)})},B=()=>{if(!O)return;const _=A.findIndex(N=>N.id===O.tableId);if(_<0){D(null);return}const M=A.slice(0,_+1).map((N,Y)=>Y===_?O.value:N);R(N=>N.filter(Y=>M.some(Q=>Q.id===Y))),U(M),D(null)},V=_=>{if(A.some(ge=>ge.finalLevel==="Yes"))return;const M=A[A.length-1];if(M){const ge=ts(M,A.length-1);if(Object.values(ge).some(Boolean)){R(ye=>ye.includes(M.id)?ye:[...ye,M.id]),p?.(`Please fill all required fields of Level ${A.length} before adding a new level.`);return}}p?.("");const N=A.reduce((ge,ye)=>Math.max(ge,Number(ye.id)||0),0)+1,Y=A.length+1,Q=A[A.length-1],fe=Q!=null&&z.current.has(Q.id)&&Be(Q.escalateAfterMinutes)>0?A:Dp(A);z.current.delete(N),U([...fe,ns(N,_||`Level ${Y}`)]),requestAnimationFrame(()=>{requestAnimationFrame(()=>{const ge=$.current;ge&&ge.scrollTo({left:ge.scrollWidth,behavior:"smooth"})})})},ee=_=>{z.current.delete(_),U(A.filter(M=>M.id!==_))};return L&&!A.length?null:s.jsxs(s.Fragment,{children:[s.jsx("div",{className:"ca-table-card-grid","aria-label":"Escalation levels",ref:$,children:s.jsxs("div",{className:"ca-table-card-grid__track",children:[A.map((_,M)=>s.jsxs(g.Fragment,{children:[s.jsx(_i,{name:_.name,roleList:E,showRoleError:c||f,showEscalationError:d,userList:u,level:M+1,value:_,initialFormValues:_,setFormValues:N=>y(_.id,N),selected:_.id===t,onSelect:()=>n?.(_),onDelete:()=>ee(_.id),onChange:N=>j(_.id,N),fieldErrors:f||te.includes(_.id)?ts(_,M):{}}),M<A.length-1?s.jsxs(s.Fragment,{children:[s.jsx(Fi,{accent:M===0?"green":M===1?"orange":"purple"}),s.jsx(ki,{accent:M===0?"green":M===1?"orange":"purple"})]}):null]},_.id)),A.length?s.jsxs(s.Fragment,{children:[s.jsx(Fi,{accent:A.length===1?"green":A.length===2?"orange":"purple"}),s.jsx(ki,{accent:A.length===1?"green":A.length===2?"orange":"purple"})]}):null,s.jsx(Ni,{level:A.length+1,onAdd:V,disabled:A.some(_=>_.finalLevel==="Yes")})]})}),s.jsx(Li,{variant:"finalLevelDelete",levelNo:O?A.findIndex(_=>_.id===O.tableId)+1:null,open:!!O,onConfirm:B,onClose:()=>D(null)})]})}function ng({totalMinutes:e=0,usedMinutes:t=0}){const n=Be(e),r=Be(t),a=Math.max(0,n-r),o=Ut(a)||"0m",l=n>0?Math.min(100,r/n*100):0;return s.jsxs("div",{className:"ca-tat-progress","aria-label":`TAT minutes, ${o} left`,children:[s.jsxs("div",{className:"ca-tat-progress__row",children:[s.jsx("span",{className:"ca-tat-progress__label",children:"TAT minutes"}),s.jsxs("span",{className:"ca-tat-progress__remaining",children:[o," left"]})]}),s.jsx("div",{className:"ca-tat-progress__track",children:s.jsx("div",{className:"ca-tat-progress__fill",style:{width:`${l}%`}})})]})}function Di(e){return e?.data??e?.id??e}function Pi(e){const t=e&&typeof e=="object"?e.id??e.roleId??e.role_id??e.value:e;return t==null||t===""?null:String(t)}function Mi(e){return String(e??"").toLowerCase().replace(/[^a-z0-9]/g,"")}function rg(e){return[e?.roleId,e?.role_id,e?.role,e?.roles,e?.roleIds,e?.assignedRoles,e?.userRoles].flatMap(n=>Array.isArray(n)?n:[n]).flatMap(n=>[Pi(n),Pi(n?.role)]).filter(Boolean)}function ag(e){const t=[e?.role,e?.roles,e?.assignedRoles,e?.userRoles].flatMap(r=>Array.isArray(r)?r:[r]);return[e?.roleName,e?.role_name,...t.flatMap(r=>typeof r=="string"?[r]:[r?.name,r?.roleName,r?.label,r?.role?.name,r?.role?.roleName])].filter(Boolean).map(Mi).filter(Boolean)}function sg({onNext:e,stepMeta:t,stepperProps:n,selectedTableCard:r,roleList:a=[],userList:o=[]}){const{state:l,updateWorkflow:i}=_r(),{workflow:c}=l,d=l.categoryRoleIds,f=g.useMemo(()=>{const U=new Set((Array.isArray(d)?d:[]).filter(F=>F!=null&&F!=="").map(String));return U.size?a.filter(F=>!U.has(String(F.id??F.roleId??F.value))):a},[d,a]),u=g.useMemo(()=>{const U=new Set((Array.isArray(d)?d:[]).filter(j=>j!=null&&j!=="").map(String));if(!U.size)return o;const F=new Set(a.filter(j=>U.has(String(j.id??j.roleId??j.value))).map(j=>Mi(j.name??j.roleName??j.label)).filter(Boolean));return o.filter(j=>!rg(j).some(y=>U.has(y))&&!ag(j).some(y=>F.has(y)))},[d,a,o]),[p,b]=g.useState(null),[S,A]=g.useState(""),[m,h]=g.useState(!1),[w,L]=g.useState(null),C=g.useRef(null),k=g.useCallback(U=>{b(U),i({steps:Array.isArray(U?.tables)?U.tables:[],stepsLoaded:!0}),A("")},[i]),I=g.useCallback(U=>{C.current=U},[]),H=G.useDispatch();let{id:re}=G.useSelector(U=>U.appDetails||{});const $=G.useSelector(U=>U.complaintType?.selected),q=Di(re),z=Di($?.id??$?._id),te=Be($?.tatMinutes??l.tatMinutes);g.useEffect(()=>{q==null||q===""||z!=null&&String(z)===String(q)&&$?.tatMinutes!=null||H(Ze(q))},[H,$?.tatMinutes,z,q]);const R=g.useMemo(()=>{const U=Array.isArray(p?.tables)?p.tables:[];return Op(U)},[p]),O=r??c.selectedTableCard??null,D=Array.isArray(p?.tables)&&p.tables.length?p.tables.map((U,F)=>`L${F+1}`).join(" > "):"",K=U=>{H(or({id:U.id,tables:U,onSuccess:F=>{console.log("updateWorkflowSteps onSuccess:",F),A(""),n.onNext?.()},onFail:F=>{const j=F?.response?.data??F?.payload??F,y=[...new Set(Array.isArray(j?.errors)?j.errors.map(ee=>ee?.message).filter(Boolean):[])],B=(y.length?y.join(" "):null)??j?.message??j?.error??F?.message??"Failed to update workflow steps",V=String(B).replace(/roleIds must contain at least 1 elements?/gi,"Please select at least one role or user in every level.").replace(/userAssignments must contain at least 1 elements?/gi,"Please select at least one role or user in every level.");A(kp(V))}}))},J=async()=>{if(A(""),!p){A("Workflow steps are not ready to save.");return}const U=Array.isArray(p.tables)?p.tables:[];if(!U.length){A("Add at least one workflow level before continuing.");return}h(!0);const F=U.map((B,V)=>ts(B,V)),j=U.length-1;if(F.some((B,V)=>Object.entries(B).some(([ee,_])=>_&&!(V===j&&ee==="finalLevel")))){A("Please complete all required fields in every workflow level.");return}if(U[j].finalLevel!=="Yes"){L(j+1);return}K(p)},E=()=>{const U=C.current?.setLastLevelFinal?.();if(L(null),!U){A("Unable to update the final workflow level. Please try again.");return}h(!0),K(U)};return s.jsxs(s.Fragment,{children:[s.jsx(Tn,{...n,steps:Xe,onNext:J,showNextButton:!0}),S?s.jsx("div",{className:"ca-validation-toast",role:"alert",children:S}):null,s.jsx(Li,{variant:"finalLevelRequired",levelNo:w,open:w!=null,onConfirm:E,onClose:()=>L(null)}),s.jsx(In,{title:t.title,description:D,showNext:!1,headerExtra:s.jsx(ng,{totalMinutes:te,usedMinutes:R}),children:s.jsx("div",{className:"ca-workflow__main",children:s.jsx(Oi,{id:re,selectedTableId:O?.id,onSelect:U=>i({selectedTableCard:U}),setUpdatePayload:k,registerWorkflowActions:I,roleList:f,userList:u,onAddBlocked:A,showRoleError:/roleIds|userAssignments|select\s*at\s*least\s*one|role\s*must contain|roles?\s*must contain|users?\s*must/i.test(S),showEscalationError:/escalation\s*time|must\s*equal.*TAT/i.test(S),showRequiredErrors:m,prefillSteps:l.prefillWorkflowSteps,tatTotalMinutes:te})})})]})}function xi({onAdd:e,disabled:t=!1}){return s.jsx("button",{type:"button",className:"ca-add-form-button",onClick:e,disabled:t,children:"+ Add Form Fields"})}const Bi=g.createContext(null);function ss(e){return typeof e?.level4=="string"&&e.level4.trim()?e.level4.trim():"Office"}function Ui(e,t){const n=ss(t);return String(e??"").replace(/\bstores?\b/gi,()=>n)}function rt(){const e=g.useContext(Bi);return{storeName:ss(e),label:t=>Ui(t,e),fieldLabel:t=>{const n=String(t.fieldKey??t.key??"").toLowerCase();return n==="storeid"||n==="storeidcustom"?ss(e):Ui(t.fieldLabel??t.label??t.fieldName??"",e)}}}function ji({size:e=16,color:t="#9CA3AF",...n}){return s.jsxs("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...n,children:[s.jsx("circle",{cx:"5",cy:"4",r:"1.2",fill:t}),s.jsx("circle",{cx:"11",cy:"4",r:"1.2",fill:t}),s.jsx("circle",{cx:"5",cy:"8",r:"1.2",fill:t}),s.jsx("circle",{cx:"11",cy:"8",r:"1.2",fill:t}),s.jsx("circle",{cx:"5",cy:"12",r:"1.2",fill:t}),s.jsx("circle",{cx:"11",cy:"12",r:"1.2",fill:t})]})}function os(e,t){return!t||e.includes(t)?e:[t,...e]}function $i(e){return JSON.stringify({fieldLabel:String(e.fieldLabel||"").trim(),fieldType:e.fieldType??"",required:!!e.required,fieldAccess:e.fieldAccess??"",hideFor:[...e.hideFor||[]].sort(),dependsOn:e.dependsOn||"",options:e.options||[],parentMappings:e.parentMappings||{},optionColors:e.optionColors||{},order:Number(e.order)||1})}function og(e){return String(e??"").replace(/(^|\s)(\S)/g,(t,n,r)=>n+r.toUpperCase())}const lg="#9CA3AF";function Vi({field:e,fieldOptions:t=[],fieldTypeOptions:n=[],fieldAccessOptions:r=[],hideForOptions:a=[],isSaving:o=!1,selected:l=!1,isDragging:i=!1,onSelect:c,onDragStartField:d,onDragEndField:f,onReorder:u,onChange:p,onDelete:b,onSave:S,cardRef:A,onOptionNotice:m,hasDuplicateIdentity:h=!1,hasMissingOptions:w=!1}){const[L,C]=g.useState(""),[k,I]=g.useState(null),H=g.useRef(!1),{label:re,fieldLabel:$}=rt(),q=$i(e),[z,te]=g.useState(()=>({id:e.id,signature:e.isNew?null:q}));z.id!==e.id&&te({id:e.id,signature:e.isNew?null:q});const R=e.lockMode==="all",O=Qe(e),D=R||e.lockMode==="options",K=Ul(e),J=R||!K||O&&!se(e),E=!!(String(e.fieldLabel||"").trim()&&String(e.fieldType||"").trim()),U=z.signature!==q,F=!!o||!E,j=h||w?"ca-control--invalid":"",y=N=>p?.({...e,...N}),B=()=>{if(J)return;const N=L.trim();if(!N)return;if(se(e)&&ct(N)){const Q=(e.options||[]).find(ne=>String(ne).trim().toLowerCase()===N.toLowerCase());if(Q){m?.(`${Q} already exists in options`),C("");return}}if(e.options?.includes(N))return;const Y=se(e)?{...e.optionColors||{},[N]:e.optionColors?.[N]||lg}:e.optionColors;y({options:se(e)?Wt([...e.options||[],N]):[...e.options||[],N],...se(e)?{optionColors:Y}:{}}),C("")},V=N=>{if(J||se(e)&&ct(N))return;const Y={...e.optionColors||{}};delete Y[N];const Q={...e.parentMappings||{}};delete Q[N],y({options:e.options.filter(ne=>ne!==N),parentMappings:Q,...se(e)?{optionColors:Y}:{}})},ee=N=>{J||se(e)&&ct(N)||(H.current=!1,I({original:N,draft:N}))},_=()=>{H.current=!0,I(null)},M=()=>{if(H.current){H.current=!1;return}if(!k)return;const{original:N,draft:Y}=k,Q=Y.trim();if(I(null),!Q||Q===N)return;if((e.options||[]).some(Ae=>Ae!==N&&(Ae===Q||se(e)&&String(Ae).trim().toLowerCase()===Q.toLowerCase()))){m?.(`${Q} already exists in options`);return}const fe=(e.options||[]).map(Ae=>Ae===N?Q:Ae),ge={...e.parentMappings||{}};Object.prototype.hasOwnProperty.call(ge,N)&&(ge[Q]=ge[N],delete ge[N]);const ye={...e.optionColors||{}};Object.prototype.hasOwnProperty.call(ye,N)&&(ye[Q]=ye[N],delete ye[N]),y({options:se(e)?Wt(fe):fe,parentMappings:ge,optionColors:ye})};return s.jsxs("article",{ref:A,className:`ca-form-card${l?" ca-form-card--selected":""}${i?" ca-form-card--dragging":""}`,onClick:()=>c?.(e),onDragOver:N=>{O||(N.preventDefault(),N.dataTransfer.dropEffect="move")},onDrop:N=>{if(O){f?.();return}N.preventDefault();const Y=N.dataTransfer.getData("text/plain");u?.(Y,e.id),f?.()},children:[s.jsxs("div",{className:"ca-form-card__row ca-form-card__row--order",children:[O?s.jsx("span",{"aria-hidden":"true",style:{display:"inline-block",width:15,height:15}}):s.jsx("span",{className:"ca-form-card__drag",draggable:!0,"aria-label":"Reorder field",onClick:N=>N.stopPropagation(),onDragStart:N=>{N.dataTransfer.setData("text/plain",String(e.id)),N.dataTransfer.effectAllowed="move",d?.()},onDragEnd:()=>f?.(),children:s.jsx(ji,{size:15,color:"currentColor"})}),s.jsxs("div",{className:"ca-form-card__actions",children:[s.jsx("button",{type:"button",className:"ca-form-card__save","aria-label":"Save form field",disabled:F||R||!U,onClick:async N=>{if(N.stopPropagation(),F||R||!U)return;const Y=await S?.(e);Y&&te({id:e.id,signature:$i(Y)})},children:"Save"}),Qe(e)?null:s.jsx("button",{type:"button",className:"ca-icon-btn ca-form-card__delete","aria-label":"Delete form field",onClick:N=>{N.stopPropagation(),b?.(e.id)},children:s.jsx(pr,{size:15,color:"currentColor"})})]})]}),s.jsx("div",{className:"ca-form-card__row",children:D?s.jsx("span",{className:"ca-form-card__static",children:$(e)||"—"}):s.jsx(zt,{value:R?$(e):e.fieldLabel,placeholder:"Enter field label",disabled:D,className:j,onChange:N=>y({fieldLabel:og(N.target.value)})})}),s.jsx("div",{className:"ca-form-card__row",children:D?s.jsx("span",{className:"ca-form-card__static",children:e.fieldType||"—"}):s.jsx(nt,{value:e.fieldType,options:os(n,e.fieldType),placeholder:"Select type",maxVisible:5,disabled:D,className:j,onChange:N=>{const Y=N.target.value;if(Ul({...e,fieldType:Y})){y({fieldType:Y,dependsOn:"",parentMappings:{}});return}y({fieldType:Y,dependsOn:"",options:[],parentMappings:{},optionColors:{}})}})}),s.jsx("div",{className:"ca-form-card__row ca-form-card__row--toggle",children:s.jsx(fr,{checked:!!e.required,disabled:D,onChange:N=>y({required:N}),"aria-label":"Required"})}),s.jsx("div",{className:"ca-form-card__row",children:s.jsx(nt,{value:e.fieldAccess,options:os(r,e.fieldAccess),placeholder:"Select access",disabled:D,allowClear:!0,onChange:N=>y({fieldAccess:N.target.value})})}),s.jsxs("div",{className:"ca-form-card__row",children:[s.jsx(nt,{value:"",options:a.filter(N=>!e.hideFor?.includes(N)),placeholder:"Select level",disabled:D,onChange:N=>y({hideFor:[...e.hideFor||[],N.target.value]})}),e.hideFor?.length?s.jsx("div",{className:"ca-form-card__chips",children:e.hideFor.map(N=>s.jsxs("span",{className:"ca-form-card__chip",children:[N,s.jsx("button",{type:"button","aria-label":`Remove ${N}`,disabled:D,onClick:()=>y({hideFor:e.hideFor.filter(Y=>Y!==N)}),children:"×"})]},N))}):null]}),s.jsx("div",{className:"ca-form-card__row",children:s.jsx(nt,{value:e.dependsOn,options:os(t,e.dependsOn).map(N=>({value:N,label:re(N)})),placeholder:"Select field label",disabled:D||!K,allowClear:!0,onChange:N=>{const Y=N.target.value;if(!Y){y({dependsOn:"",parentMappings:{}});return}y({dependsOn:Y})}})}),s.jsxs("div",{className:"ca-form-card__row ca-form-card__row--options",children:[s.jsxs("div",{className:"ca-form-card__option-entry",children:[s.jsx(zt,{value:L,placeholder:"Enter option",disabled:J,className:w?"ca-control--invalid":"",onChange:N=>C(N.target.value),onKeyDown:N=>{N.key==="Enter"&&(N.preventDefault(),B())}}),s.jsx("button",{type:"button",className:"ca-form-card__add-option","aria-label":"Add option",disabled:J,onClick:B,children:"+"})]}),s.jsx("div",{className:"ca-form-card__chips",children:(K?se(e)?Wt(e.options||[]):e.options||[]:[]).map(N=>{const Y=se(e)&&ct(N),Q=k?.original===N;return s.jsxs("span",{className:`ca-form-card__chip${Y?" ca-form-card__chip--locked":""}`,children:[Q?s.jsx("input",{autoFocus:!0,value:k.draft,onChange:ne=>I({original:N,draft:ne.target.value}),onBlur:M,onClick:ne=>ne.stopPropagation(),onKeyDown:ne=>{ne.key==="Enter"?(ne.preventDefault(),M()):ne.key==="Escape"&&(ne.preventDefault(),_())},"aria-label":`Edit ${N}`,style:{width:`${Math.max(k.draft.length,3)+1}ch`,minWidth:40,padding:0,border:0,outline:"none",background:"transparent",color:"inherit",font:"inherit"}}):s.jsx("span",{role:Y||J?void 0:"button",tabIndex:Y||J?void 0:0,title:Y||J?void 0:"Click to edit",style:Y||J?void 0:{cursor:"text"},onClick:()=>ee(N),onKeyDown:ne=>{ne.key==="Enter"&&ee(N)},children:se(e)?gr(N):N}),Y?null:s.jsx("button",{type:"button","aria-label":`Remove ${N}`,disabled:J,onClick:()=>V(N),children:"×"})]},N)})})]})]})}function ls({option:e,onDelete:t,locked:n=!1}){return s.jsx("td",{children:n?null:s.jsx("button",{className:"field-options-panel__delete",type:"button","aria-label":`Delete ${e}`,title:`Delete ${e}`,onClick:()=>t(e),children:s.jsx(Pm,{size:14,strokeWidth:1.5,color:"currentColor","aria-hidden":"true"})})})}function ig(e){const t=String(e||"").trim();return/^#[0-9A-Fa-f]{6}$/.test(t)?t.toUpperCase():/^#[0-9A-Fa-f]{3}$/.test(t)?`#${t[1]}${t[1]}${t[2]}${t[2]}${t[3]}${t[3]}`.toUpperCase():"#000000"}function cg({formFields:e=[],selectedField:t=null,onChange:n}){const r=t,{fieldLabel:a}=rt(),o=C=>se(r)?gr(C):C,l=se(r)?r:null,i=g.useMemo(()=>{const C=String(r?.dependsOn||"").trim();if(!C)return null;const k=e.filter(I=>String(I.fieldLabel||"").trim()===C);return k.find(I=>(I.options||[]).some(H=>String(H||"").trim()))||k[0]||null},[r?.dependsOn,e]),c=i?.options||[],d=!!r?.dependsOn,[f,u]=g.useState(!1),p=(C,k)=>{if(!l)return;const I=/^#[0-9A-Fa-f]{6}$/.test(k)?k.toUpperCase():k;n?.(e.map(H=>H.id===l.id?{...H,optionColors:{...H.optionColors,[C]:I}}:H))},b=(C,k)=>{r&&n?.(e.map(I=>I.id===r.id?{...I,parentMappings:{...I.parentMappings||{},[C]:k}}:I))},S=C=>{if(!r||se(r)&&ct(C))return;const k={...r.optionColors||{}};delete k[C];const I={...r.parentMappings||{}};delete I[C],n?.(e.map(H=>H.id===r.id?{...H,options:(H.options||[]).filter(re=>re!==C),parentMappings:I,...se(H)?{optionColors:k}:{}}:H))},A=r&&a(r)||"Select field",m=qh(r,d),h=se(r)?Wt(r?.options||[]):r?.options||[],w=(C,k)=>s.jsx("div",{className:"field-options-panel__table-wrap",children:s.jsxs("table",{className:"field-options-panel__table",children:[s.jsx("thead",{children:s.jsxs("tr",{children:[C.map(I=>s.jsx("th",{scope:"col",children:I},I)),s.jsx("th",{scope:"col","aria-label":"Delete"})]})}),s.jsx("tbody",{children:k})]})});let L=s.jsx("p",{className:"field-options-panel__empty",children:r?"No options added.":"Select a field to edit."});return d?L=h.length?w(["Option label",i?a(i):"Parent"],h.map(C=>s.jsxs("tr",{children:[s.jsx("td",{children:o(C)}),s.jsx("td",{children:s.jsxs("select",{"aria-label":`Parent for ${C}`,value:r.parentMappings?.[C]||"",disabled:!c.length,onChange:k=>b(C,k.target.value),children:[s.jsx("option",{value:"",children:c.length?"Select parent":`No ${String(r.dependsOn||"parent").toLowerCase()} options`}),c.map(k=>s.jsx("option",{value:k,children:k},k))]})}),s.jsx(ls,{option:C,onDelete:S,locked:se(r)&&ct(C)})]},C))):s.jsx("p",{className:"field-options-panel__empty",children:"No options added."}):l?L=h.length?w([se(l)?"Status":"Option","Colors"],h.map(C=>{const k=ig(l.optionColors?.[C]);return s.jsxs("tr",{children:[s.jsx("td",{children:o(C)}),s.jsx("td",{children:s.jsxs("div",{className:"field-options-panel__color",children:[s.jsx("input",{className:"field-options-panel__hex","aria-label":`Color for ${C}`,value:l.optionColors?.[C]||k,onChange:I=>p(C,I.target.value)}),s.jsx("label",{className:"field-options-panel__swatch",style:{background:k},title:k,children:s.jsx("input",{type:"color","aria-label":`Pick color for ${C}`,value:k,onChange:I=>p(C,I.target.value)})})]})}),s.jsx(ls,{option:C,onDelete:S,locked:se(l)&&ct(C)})]},C)})):s.jsx("p",{className:"field-options-panel__empty",children:"No options added."}):h.length&&(L=w([Wh(r)],h.map(C=>s.jsxs("tr",{children:[s.jsx("td",{children:o(C)}),s.jsx(ls,{option:C,onDelete:S,locked:se(r)&&ct(C)})]},C)))),s.jsxs("aside",{className:`field-options-panel${f?" is-open":""}${r?"":" field-options-panel--empty"}`,"aria-label":`Options for: ${A}`,children:[s.jsxs("button",{type:"button",className:"field-options-panel__summary","aria-expanded":f,"aria-controls":"field-options-panel-body",onClick:()=>u(C=>!C),children:[s.jsxs("span",{className:"field-options-panel__summary-text",children:[s.jsxs("span",{className:"field-options-panel__title",children:["Options for: ",A]}),m?s.jsx("span",{className:"field-options-panel__description",children:m}):null]}),s.jsx(Kt,{className:"field-options-panel__chevron",size:16,strokeWidth:1.8,"aria-hidden":"true"})]}),s.jsx("div",{id:"field-options-panel-body",className:"field-options-panel__body",children:L})]})}function dg(e,t=[]){const n=new Set,r=[];return t.forEach(a=>{if(String(a.id)===String(e?.id)||se(a))return;const o=String(a.fieldLabel||a.label||"").trim();if(!o)return;const l=o.toLowerCase();n.has(l)||!(a?.options||[]).some(c=>String(c||"").trim())||(n.add(l),r.push(o))}),r}const ug=["Actions","Field Label","Field Type","Required","Field Access","Hide for","DependsOn","Options"];function fg(e,t){return{...e,id:e.id??`${Date.now()}-${t}`,order:t+1,fieldLabel:e.fieldLabel??e.name??"",fieldType:e.fieldType??e.typeLabel??"Custom",required:!!e.required,fieldAccess:e.fieldAccess??"",hideFor:e.hideFor??[],dependsOn:e.dependsOn??"",options:e.options??[],parentMappings:e.parentMappings??{},optionColors:e.optionColors??{},lockMode:e.lockMode,isNew:!!e.isNew}}function Gt(e=[]){const t=e.map(fg);return t.map(n=>br(n,t))}function Wi({initialFields:e,onChange:t,addExternalFieldRef:n,fieldTypeOptions:r=[],fieldAccessOptions:a=[],hideForOptions:o=[],onSave:l,onDelete:i}){const[c,d]=g.useState(()=>Gt(e??[])),[f,u]=g.useState(null),[p,b]=g.useState(null),[S,A]=g.useState(""),m=g.useRef(""),h=g.useRef(null),w=g.useRef({}),L=D=>{const K=Gt(D);d(K),t?.(K)},C=(e??[]).map(D=>D.id).join(",");g.useEffect(()=>{if(!S)return;const D=window.setTimeout(()=>A(""),3200);return()=>window.clearTimeout(D)},[S]),g.useEffect(()=>{!C||C===m.current||(m.current=C,d(Gt(e)))},[C,e]),g.useEffect(()=>{if(n)return n.current=D=>{D&&d(K=>{const J=K.find(F=>Ar(D,[F]));if(yr(K)||J)return J&&u(J.id),K;if(qt(K))return K;const E=Gt([...K,{...D,id:`${D.id}-${Date.now()}`,isNew:!0}]),U=E[E.length-1];return u(U.id),t?.(E),E})},()=>{n.current=null}},[n,t]),g.useEffect(()=>{if(f==null)return;const D=h.current,K=w.current[f];if(!D||!K)return;const J=requestAnimationFrame(()=>{const E=D.getBoundingClientRect(),U=K.getBoundingClientRect(),F=12;U.left>=E.left+F&&U.right<=E.right-F||D.scrollTo({left:D.scrollLeft+U.left-E.left-(E.width-U.width)/2,behavior:"smooth"})});return()=>cancelAnimationFrame(J)},[f,c]);const k=(D,K)=>{if(D==null||K==null||String(D)===String(K))return;const J=c.findIndex(y=>String(y.id)===String(D)),E=c.findIndex(y=>String(y.id)===String(K));if(J<0||E<0||Qe(c[J])||Qe(c[E]))return;const U=c.findIndex(Qe),F=[...c],[j]=F.splice(J,1);if(F.splice(E,0,j),U>=0){const y=F.findIndex(Qe);if(y!==U){const[B]=F.splice(y,1);F.splice(U,0,B)}}L(F.map((y,B)=>({...y,order:B+1})))},I=D=>{const K=c.find(V=>V.id===D.id),J=K&&K.fieldType!==D.fieldType;D.dependsOn&&D.dependsOn!==K?.dependsOn&&u(D.id);const E=String(K?.fieldLabel||"").trim(),U=K?.options||[],F=D.options||[],j=U.filter(V=>!F.includes(V)),y=F.filter(V=>!U.includes(V)),B=U.length===F.length&&j.length===1&&y.length===1?{from:j[0],to:y[0]}:null;L(c.map(V=>{if(V.id===D.id)return D;if(J&&E&&String(V.dependsOn||"").trim()===E)return{...V,dependsOn:"",parentMappings:{}};if(B&&E&&String(V.dependsOn||"").trim()===E){const ee=Object.fromEntries(Object.entries(V.parentMappings||{}).map(([_,M])=>[_,M===B.from?B.to:M]));return{...V,parentMappings:ee}}return V}))},H=async D=>{const K=c.find(J=>J.id===D);if(!(!K||Qe(K)))try{if(await i?.(K)===!1)return;const E=String(K.fieldLabel||"").trim();L(c.filter(U=>U.id!==D).map((U,F)=>E&&String(U.dependsOn||"").trim()===E?{...U,dependsOn:"",parentMappings:{},order:F+1}:{...U,order:F+1}))}catch{}},re=()=>{yr(c)||qt(c)||L(Gt([...c,{id:`${Date.now()}-${c.length}`,fieldLabel:"",fieldType:r[0]??"",options:[],isNew:!0}]))},$=async D=>{if(Ar(D,c))return null;try{const K=await l?.(D);return K?(d(J=>{const E=Gt(J.map(U=>U.id===D.id?{...K,isNew:!1,order:U.order||1}:U));return t?.(E),E}),K):null}catch{return null}},q=yr(c),z=qt(c),te=q?"A field with this label and type already exists":"",R=jl(c),O=c.find(D=>D.id===f)||null;return s.jsxs(s.Fragment,{children:[te||R||S?s.jsx("div",{className:"ca-validation-toast",role:"alert",children:te||R||S}):null,s.jsxs("div",{className:"ca-form-card-grid__container ",children:[s.jsxs("div",{className:"ca-form-card-grid",children:[s.jsx("div",{className:"ca-form-card-grid__labels",children:ug.map(D=>s.jsx("div",{className:"ca-form-card-grid__label",children:D},D))}),s.jsxs("div",{className:"ca-form-card-grid__cards",ref:h,children:[c.map(D=>s.jsx(Vi,{field:D,fieldOptions:dg(D,c),fieldTypeOptions:r,fieldAccessOptions:a,hideForOptions:o,selected:O?.id===D.id,isDragging:String(p)===String(D.id),cardRef:K=>{K?w.current[D.id]=K:delete w.current[D.id]},onSelect:()=>u(D.id),onDragStartField:()=>b(D.id),onDragEndField:()=>b(null),onReorder:k,onChange:I,onDelete:H,onSave:$,onOptionNotice:A,hasDuplicateIdentity:Ar(D,c),hasMissingOptions:xa(D)},D.id)),s.jsx(xi,{onAdd:re,disabled:q||z})]})]}),s.jsx(cg,{formFields:c,selectedField:O,onChange:L})]})]})}const qi={department:ui,priorities:km,status:Nr,statuses:Nr,statusCustom:Nr,Status:Nr,storeId:pi,storeIdCustom:pi};function pg({fields:e=[],onAddField:t,disableAdd:n=!1,disableAddHint:r="Resolve duplicate field first"}){const[a,o]=g.useState(!1),{fieldLabel:l}=rt();return s.jsxs("aside",{className:`custom-field-table${a?" is-open":""}`,"aria-labelledby":"custom-field-table-title",style:{flexWrap:"wrap"},children:[s.jsxs("button",{type:"button",className:"custom-field-table__summary","aria-expanded":a,"aria-controls":"custom-field-table-list",onClick:()=>o(i=>!i),children:[s.jsxs("span",{className:"custom-field-table__summary-text",children:[s.jsx("span",{id:"custom-field-table-title",className:"custom-field-table__title",children:"Custom Fields"}),s.jsx("span",{className:"custom-field-table__description",children:"Use these fields to show options from database table."})]}),s.jsx(Kt,{className:"custom-field-table__chevron",size:16,strokeWidth:1.8,"aria-hidden":"true"})]}),s.jsx("div",{id:"custom-field-table-list",className:"custom-field-table__list",children:e.map(i=>{const c=l(i),d=qi[i.fieldKey]||qi[i.id]||ui;return s.jsxs("div",{className:"custom-field-table__row",children:[s.jsx(d,{className:"custom-field-table__field-icon",size:14,strokeWidth:1.5,"aria-hidden":"true"}),s.jsx("span",{className:"custom-field-table__label",children:c}),s.jsx("button",{className:"custom-field-table__add",type:"button","aria-label":`Add ${c}`,title:n?r:`Add ${c}`,disabled:n,onClick:()=>{n||t?.(i)},children:s.jsx(fi,{size:14,strokeWidth:2,"aria-hidden":"true"})})]},i.fieldKey??i.id)})}),s.jsxs("span",{className:"custom-field-table__title",style:{flexBasis:"100%",width:"100%",gridColumn:"1 / -1"},children:[s.jsx("span",{style:{color:"red"},children:"*"})," Submitted By, Updated At and Created By are set automatically."]}),s.jsxs("span",{className:"custom-field-table__title",style:{flexBasis:"100%",width:"100%",gridColumn:"1 / -1"},children:[s.jsx("span",{style:{color:"red"},children:"*"})," The First Column input will be considered the Title column."]})]})}const Hi={CUSTOM:"Custom",TEXT:"Text",TEXTAREA:"Text Area",SELECT:"Select",DROPDOWN:"Dropdown",NUMBER:"Number",DATE:"Date",DATETIME:"Date Time",EMAIL:"Email",CHECKBOX:"Checkbox",RADIO:"Radio",FILE:"File",IMAGES:"Images",TIME:"Time"},zi={BOTH:"Both",USER:"User",ADMIN:"Admin"},hg={...Object.fromEntries(Object.entries(Hi).map(([e,t])=>[t,e])),Select:"SELECT",Dropdown:"SELECT",Radio:"RADIO",Images:"FILE",Time:"DATETIME","Text Area":"TEXTAREA","Date Time":"DATETIME"},mg={...Object.fromEntries(Object.entries(zi).map(([e,t])=>[t,e])),Both:"BOTH",User:"USER",Admin:"ADMIN"};function Yt(e){const t=String(e||"").trim().split(/[^A-Za-z0-9]+/).filter(Boolean);return t.length?t[0].toLowerCase()+t.slice(1).map(n=>n.charAt(0).toUpperCase()+n.slice(1).toLowerCase()).join(""):""}function gg(e,t){const n=Yt(e),r=Yt(t);return n?r?n+r.charAt(0).toUpperCase()+r.slice(1):n:""}function Tr(e,t){return se({...e,fieldLabel:t})?Yt(t)||"status":De({...e,fieldLabel:t})?"storeIdCustom":gg(t,e.fieldType)}function Fn(e){const t=e?.data??e?.id??e;if(t==null||t==="")return null;const n=String(t).trim();return!n||n==="null"||n==="undefined"?null:n}function Ag(e){return e?typeof e=="string"?e:e.message||e.error||"":""}function is(e){return e?typeof e.id=="number"||/^\d+$/.test(String(e.id)):!1}function yg(e=[]){const t=se(e)?Wt(e.options||[]):e.options||[];if(!t.length)return null;const n=e.parentMappings||{},r=e.optionColors||{},a=!!e.dependsOn||t.some(o=>n[o]);return se(e)?{values:t.map((o,l)=>{const i={name:o,displayOrder:l+1,isActive:!0,isDefault:jh(o)};return r[o]&&(i.color=r[o]),i})}:a?{values:t.map(o=>{const l={label:o};return n[o]&&(l.dependsOnValue=n[o]),l})}:{values:t}}function bg(e,t=[],n=[]){const r=String(e.fieldLabel||"").trim(),a=e.originalFieldName!=null&&r===String(e.originalFieldName).trim(),o=t.find(b=>String(b.fieldLabel||"").trim()===e.dependsOn&&e.dependsOn),l=Tr(e,r)||(a?e.fieldKey:""),i=o?Tr(o,o.fieldLabel)||o.fieldKey:"",c=wg(e,n),d=yg(e),f=hg[e.fieldType]??String(e.fieldType||"TEXT").toUpperCase(),u=mg[e.fieldAccess]??(e.fieldAccess?String(e.fieldAccess).toUpperCase():"USER"),p={fieldName:r,fieldKey:l,fieldType:f,required:!!e.required,displayOrder:Number(e.order)||1,fieldAccess:u,isActive:e.isActive!==!1};return c!=null&&c!==""&&(p.hideForWorkflowStepId=c),d?.values?.length&&(p.options=d),i&&i!==l&&(p.dependsOnFieldKey=i),p}function Ki(e){return JSON.stringify({fieldLabel:String(e.fieldLabel||"").trim(),fieldType:e.fieldType??"",required:!!e.required,fieldAccess:e.fieldAccess??"",hideFor:[...e.hideFor||[]].sort(),dependsOn:e.dependsOn||"",options:e.options||[],parentMappings:e.parentMappings||{},optionColors:e.optionColors||{},order:Number(e.order)||1})}function Qi(e,t){return Ki(e)!==Ki(t)}function Sg(e=[],t=e,n=[]){return{fields:e.filter(a=>!a.isNew&&String(a.fieldLabel||"").trim()).map((a,o)=>bg({...a,order:a.order||o+1},t,n))}}function vg(e){return Array.isArray(e)?e:Array.isArray(e?.data)?e.data:[]}function Fr(e){return e==null?null:typeof e=="string"?e:e.levelNo!=null&&e.levelNo!==""?`Level ${e.levelNo}`:e.name??e.label??e.title??null}function Xi(e,t=[]){if(!e)return null;const n=Fr(e);if(n)return n;const r=typeof e=="object"?e.id??e.workflowStepId:null;if(r==null)return null;const a=t.find(o=>String(o.id)===String(r));return Fr(a)}function wg(e,t=[]){const n=Array.isArray(e.hideFor)?e.hideFor:[];if(!n.length)return null;for(const o of n){const l=t.find(i=>Fr(i)===o||String(i.id)===String(o));if(l?.id!=null)return l.id}const r=e.hideForWorkflowStepId;return r==null||r===""?null:t.some(o=>String(o.id)===String(r))?r:null}function Gi(e){return[...new Set(e.filter(Boolean))]}function kr(e){return typeof e=="string"?e:e?.label??e?.name??e?.value??""}function Cg(e){return!e||typeof e!="object"?"":e.dependsOnValue??e.parent??""}function Ng(e,t=[]){if(!e)return"";const n=t.map(kr).filter(Boolean),r=n.find(o=>o===e);return r||n.find(o=>Yt(o)===e||Yt(o)===Yt(e))||e}function _g(e){return e&&typeof e=="object"&&e.color?e.color:""}function vt(e=[],t=[]){const n=[...e].sort((r,a)=>(r.displayOrder??0)-(a.displayOrder??0));return Ht(n.map(r=>{const a=r?.options?.values??[],o=n.find(i=>i.id===r.dependsOnFieldId||r.dependsOnFieldKey&&i.fieldKey===r.dependsOnFieldKey),l=t.find(i=>String(i.id)===String(r.hideForWorkflowStepId));return{id:r.id,order:r.displayOrder,fieldLabel:r.fieldName??r.fieldLabel??"",fieldType:Ba(r.fieldType,Hi,r.fieldKey),required:!!r.required,fieldAccess:zi[r.fieldAccess]??r.fieldAccess??"",hideFor:Gi([...Array.isArray(r.hideFor)?r.hideFor:[],Xi(r.hideForWorkflowStep,t),Xi(l,t)]),dependsOn:r.dependsOnField?.fieldName??o?.fieldName??r.dependsOn??"",options:a.map(kr).filter(Boolean),parentMappings:Object.fromEntries(a.map(i=>{const c=kr(i),d=Cg(i);return!c||!d?null:[c,Ng(d,o?.options?.values??[])]}).filter(Boolean)),optionColors:Object.fromEntries(a.map(i=>[kr(i),_g(i)]).filter(([i,c])=>i&&c)),fieldKey:r.fieldKey,originalFieldName:r.fieldName??r.fieldLabel??"",dependsOnFieldId:r.dependsOnFieldId??null,hideForWorkflowStepId:r.hideForWorkflowStepId??null,isActive:r.isActive!==!1,label:r.fieldName??r.fieldLabel??""}}))}function Eg({stepMeta:e,stepperProps:t}){const n=G.useDispatch(),{systemId:r}=It(),a=G.useSelector(y=>y.appDetails?.id),o=Fn(a)??Fn(r),{state:l,update:i}=_r(),{formFields:c,prefillFormFields:d=[]}=l,f=g.useRef(null),u=g.useCallback(y=>i({formFields:y}),[i]),p=g.useCallback(async y=>{const B=String(y.fieldLabel||"").trim();return B?{...y,fieldLabel:B,fieldKey:Tr(y,B),originalFieldName:B,isNew:!1}:null},[]),b=g.useCallback(async y=>Qe(y)?!1:(is(y)&&await n(yn({complaintTypeId:o,fieldId:y.id})).unwrap(),!0),[o,n]),S=G.useSelector(y=>y.complaintAppComplaint?.formFields?.data),A=G.useSelector(y=>y.complaintAppComplaint?.formFields?.isLoading),m=G.useSelector(y=>y.complaintAppComplaint?.formFields?.error),h=G.useSelector(y=>y.workflow?.workflowSteps),w=g.useMemo(()=>vg(h),[h]),L=g.useRef(w),[C,k]=g.useState(!1);g.useEffect(()=>{L.current=w},[w]),g.useEffect(()=>{const y=Fn(o);y!=null&&n(Re(y))},[o,n]),g.useEffect(()=>{const y=Fn(o);if(y==null)return;let B=!1;return n(qe(y)).unwrap().then(V=>{if(B)return;const ee=Array.isArray(V)?V:V?.data;if(!(Array.isArray(ee)&&ee.length>0)&&d.length){const M=vt(d,L.current).map((N,Y)=>({...N,id:`prefill-${Y}`,isNew:!1}));i({formFields:Ht(M)})}else{const M=Ht(vt(Array.isArray(ee)?ee:[],L.current));i({formFields:M})}k(!0)}).catch(()=>{if(!B){if(d.length){const V=vt(d,L.current).map((ee,_)=>({...ee,id:`prefill-${_}`,isNew:!1}));i({formFields:Ht(V)})}k(!0)}}),()=>{B=!0}},[o,n,d,i]);const I=g.useMemo(()=>Ht(vt(S,w)),[S,w]),re=Fn(o)==null||C,$=re?c:I,q=g.useMemo(()=>Bh.filter(y=>!$.some(B=>y.fieldKey&&B.fieldKey===y.fieldKey||se(y)&&se(B)||mr(y)&&mr(B)||De(y)&&De(B))),[$]),z=g.useMemo(()=>yr($),[$]),te=g.useMemo(()=>qt($),[$]),R=Ag(m),O=Ph,D=Mh,K=g.useMemo(()=>{const y=[...w].sort((V,ee)=>(V.levelNo??0)-(ee.levelNo??0)).map(V=>Fr(V)).filter(Boolean),B=I.flatMap(V=>V.hideFor);return Gi([...y,...B])},[I,w]),J=g.useMemo(()=>{const y=new Map(vt(S,w).map(B=>[Number(B.id),B]));return $.filter(B=>{if(B.isNew&&String(B.fieldLabel||"").trim())return!0;if(!is(B))return!1;const V=y.get(Number(B.id));return!V||Qi(B,V)})},[S,$,w]),[E,U]=g.useState(!1),F=g.useCallback(async y=>{if(!qt($)&&o)try{const V=$.map(Q=>{if(!y||!Q.isNew)return Q;const ne=String(Q.fieldLabel||"").trim();return ne?{...Q,fieldLabel:ne,fieldKey:Tr(Q,ne),originalFieldName:ne,isNew:!1}:Q}).filter(Q=>!Q.isNew&&String(Q.fieldLabel||"").trim()),ee=new Map(vt(S,w).map(Q=>[Number(Q.id),Q]));if(!V.some(Q=>{if(!is(Q))return!0;const ne=ee.get(Number(Q.id));return!ne||Qi(Q,ne)})){t.onNext?.();return}const M=[...V].sort((Q,ne)=>+!!Q.dependsOn-+!!ne.dependsOn);await n(An({complaintTypeId:o,data:Sg(M,M,w)})).unwrap();const N=await n(qe(o)).unwrap(),Y=Array.isArray(N)?N:N?.data;i({formFields:Ht(vt(Array.isArray(Y)?Y:[],w))}),t.onNext?.()}catch{}},[S,o,n,$,t,i,w]),j=g.useCallback(()=>{if(!qt($)){if(J.length){U(!0);return}F(!1)}},[$,J.length,F]);return s.jsxs(s.Fragment,{children:[s.jsx(Tn,{...t,steps:Xe,onNext:j}),E?s.jsx("div",{className:"ca-confirm-modal",role:"dialog","aria-modal":"true","aria-labelledby":"form-fields-pending-save-title",children:s.jsxs("div",{className:"ca-confirm-modal__dialog",children:[s.jsx("p",{id:"form-fields-pending-save-title",className:"ca-confirm-modal__message",children:"Some fields are pending to save."}),s.jsxs("div",{className:"ca-confirm-modal__actions",children:[s.jsx(Ne,{variant:"outline",onClick:()=>{U(!1),F(!1)},children:"OK"}),s.jsx(Ne,{onClick:()=>{U(!1),F(!0)},children:"Save"})]})]})}):null,s.jsx(In,{className:"ca-settings-card--plain",title:e.title,description:e.description,showNext:!1,children:!re||A?s.jsx(tt,{text:"Loading form fields"}):R&&!$.length?s.jsx("div",{className:"ca-validation-toast",role:"alert",children:R}):s.jsxs("div",{className:"ca-form-fields",children:[R?s.jsx("div",{className:"ca-validation-toast",role:"alert",children:R}):null,s.jsx(pg,{fields:q,disableAdd:z||te,disableAddHint:z?"Resolve duplicate field first":te?jl($):void 0,onAddField:y=>f.current?.({...y})}),s.jsx("div",{className:"ca-settings-card__divider"}),s.jsx(Wi,{initialFields:$,addExternalFieldRef:f,onChange:u,fieldTypeOptions:O,fieldAccessOptions:D,hideForOptions:K,onSave:p,onDelete:b})]})})]})}function Yi({label:e="Active",checked:t,onChange:n,disabled:r=!1,className:a=""}){return s.jsxs("div",{className:`ca-toggle-field ${a}`.trim(),children:[s.jsx(Fl,{children:e}),s.jsx(fr,{checked:t,onChange:n,disabled:r,"aria-label":e})]})}function Ji({storeList:e=[],value:t,onChange:n,...r}){const{label:a}=rt();return s.jsxs("select",{...r,className:"review-control",value:t??"",onChange:o=>n(o.target.value),children:[s.jsx("option",{value:"",children:a("Select Store")}),e.map(o=>s.jsx("option",{value:o.id,children:o.name??o.label??String(o.id)},o.id))]})}const Lg=/\.(png|jpe?g|gif|webp|bmp|svg)$/i;function cs(e,t){return t?Array.isArray(e)?e.filter(Boolean):[]:e instanceof File?[e]:[]}function Ig(e){return e?e.type&&e.type.startsWith("image/")?!0:Lg.test(e.name||""):!1}function Tg(e){return`${e.name}-${e.size}-${e.lastModified}`}function Or({id:e,name:t,value:n,onChange:r,multiple:a=!1,required:o=!1,disabled:l=!1,accept:i}){const c=cs(n,a),d=g.useMemo(()=>cs(n,a).map((f,u)=>{const p=Ig(f);return{key:`${Tg(f)}-${u}`,name:f.name,isImage:p,url:p?URL.createObjectURL(f):""}}),[n,a]);return g.useEffect(()=>()=>{d.forEach(f=>{f.url&&URL.revokeObjectURL(f.url)})},[d]),s.jsxs("div",{className:"review-file-field",children:[s.jsx("input",{id:e,name:t,className:"review-control",type:"file",accept:i,multiple:a,required:!!o&&c.length===0,disabled:l,onChange:f=>{const u=Array.from(f.target.files||[]);if(!a){r(u[0]||"");return}const p=cs(n,!0);r([...p,...u]),f.target.value=""}}),d.length?s.jsx("div",{className:"review-file-preview",children:s.jsx("div",{className:"review-file-preview__images",children:d.map((f,u)=>s.jsxs("div",{className:"review-file-preview__item",children:[f.isImage?s.jsx("img",{className:"review-file-preview__thumb",src:f.url,alt:f.name,title:f.name}):s.jsx("span",{className:"review-file-preview__name",children:f.name}),s.jsx("button",{type:"button",className:"review-file-preview__remove","aria-label":`Remove ${f.name}`,onClick:()=>{r(a?c.filter((p,b)=>b!==u):"")},children:"×"})]},f.key))})}):null]})}const Fg=new Set(["select","radio","checkbox"]);function Zi(e){return String(e||"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/(^-|-$)/g,"")}function wt(e){return String(e.label||e.fieldLabel||e.fieldName||e.name||"").trim()}function ds(e){return`review-${e.id??e.fieldKey??(Zi(wt(e))||"field")}`}function Ri(e,t,n){return n===0?e:`${e}-${Zi(t)||n}`}function us(e){const t=String(e.fieldType||"").toLowerCase(),n=String(e.fieldKey||wt(e)||"").toLowerCase();return t==="file"?"file":t==="images"?"images":t==="email"||n.includes("email")?"email":t==="textarea"||t==="text area"?"textarea":t==="date"?"date":t==="date time"||t==="datetime"||t==="datetime-local"?"datetime-local":t==="time"?"time":t==="number"||t==="mobile"?"number":t==="radio"?"radio":t==="checkbox"||t==="multiselect"?"checkbox":(t==="dropdown"||t==="select"||t==="custom")&&e.options?.length?"select":"text"}function ec(e){return Fg.has(e)}function kg(e){return e==="textarea"||e==="radio"||e==="checkbox"}function Og(e){const t=String(e.fieldType||"").toLowerCase();return t==="text"||t==="textfield"}function tc(e){return String(e||"").replace(/\d/g,"")}function nc(e){return String(e||"").replace(/[^\d]/g,"")}function kn(e,t){const n=String(wt(e)||"value").toLowerCase();return t==="date"?"mm/dd/yyyy":t==="select"?`Select ${n}`:t==="email"?"Enter email":`Enter ${n}`}function On(e){return String(e.fieldKey||e.id||wt(e)||ds(e))}function rc(e,t=[]){const n=String(e.dependsOn||"").trim();return n&&t.find(r=>{const a=wt(r),o=String(r.fieldKey||"");return a===n||o===n})||null}function ac(e,t=[],n={}){const r=e.options||[],a=rc(e,t);if(!a)return r;const o=e.parentMappings||{};if(!r.some(c=>!!o[c]))return r;const i=String(n[On(a)]||"").trim();return i?r.filter(c=>String(o[c]||"")===i):r}function sc(e){return e==="checkbox"||e==="images"?[]:""}function Dg({question:e,options:t,value:n,onChange:r,storeList:a}){const o=ds(e),l=us(e),i=n??sc(l),c={id:o,name:String(e.fieldKey||wt(e)||o),required:!!e.required};if(De(e)&&Array.isArray(a))return s.jsx(Ji,{...c,storeList:a,value:i,onChange:r});if(l==="radio")return s.jsx("div",{className:"review-options review-options--inline",children:t.map((d,f)=>{const u=Ri(o,d,f);return s.jsxs("label",{className:"review-option",htmlFor:u,children:[s.jsx("input",{...c,id:u,type:"radio",value:d,checked:i===d,onChange:p=>r(p.target.value)}),s.jsx("span",{children:d})]},d)})});if(l==="checkbox"){const d=Array.isArray(i)?i:[];return s.jsx("div",{className:"review-options review-options--inline",children:t.map((f,u)=>{const p=Ri(o,f,u);return s.jsxs("label",{className:"review-option",htmlFor:p,children:[s.jsx("input",{id:p,name:`${c.name}[]`,type:"checkbox",value:f,checked:d.includes(f),required:!1,onChange:b=>r(b.target.checked?[...d,f]:d.filter(S=>S!==f))}),s.jsx("span",{children:f})]},f)})})}return l==="textarea"?s.jsx("textarea",{...c,className:"review-control review-control--textarea",placeholder:kn(e,l),value:i,onChange:d=>r(d.target.value)}):l==="select"?s.jsxs("select",{...c,className:"review-control",value:i,onChange:d=>r(d.target.value),children:[s.jsx("option",{value:"",children:kn(e,l)}),t.map(d=>s.jsx("option",{value:d,children:d},d))]}):l==="file"?s.jsx(Or,{...c,value:i,onChange:r,multiple:!0}):l==="images"?s.jsx(Or,{...c,value:i,onChange:r,multiple:!0}):l==="number"?s.jsx("input",{...c,className:"review-control",type:"number",inputMode:"numeric",placeholder:kn(e,l),value:i,onChange:d=>r(nc(d.target.value)),onKeyDown:d=>{(d.key==="e"||d.key==="E"||d.key==="+"||d.key==="-"||d.key===".")&&d.preventDefault(),d.key.length===1&&!/\d/.test(d.key)&&!d.ctrlKey&&!d.metaKey&&d.preventDefault()},onPaste:d=>{const f=d.clipboardData.getData("text");/^\d*$/.test(f)||(d.preventDefault(),r(nc(f)))}}):Og(e)?s.jsx("input",{...c,className:"review-control",type:"text",inputMode:"text",placeholder:kn(e,l),value:i,onChange:d=>r(tc(d.target.value)),onKeyDown:d=>{/^\d$/.test(d.key)&&d.preventDefault()},onPaste:d=>{const f=d.clipboardData.getData("text");/\d/.test(f)&&(d.preventDefault(),r(tc(f)))}}):s.jsx("input",{...c,className:"review-control",type:l,placeholder:kn(e,l),value:i,onChange:d=>r(d.target.value)})}function Pg({fields:e=[],storeList:t}){const{fieldLabel:n}=rt(),[r,a]=g.useState({}),o=(l,i)=>{const c=On(l);a(d=>{const f={...d,[c]:i};return e.forEach(u=>{const p=rc(u,e);if(!p||On(p)!==c)return;const b=us(u);if(!ec(b))return;const S=ac(u,e,f),A=On(u),m=f[A];Array.isArray(m)?f[A]=m.filter(h=>S.includes(h)):m&&!S.includes(m)&&(f[A]="")}),f})};return e.length?s.jsx("div",{className:"review-form-card",children:s.jsx("form",{className:"review-form","aria-label":"Form fields preview",onSubmit:l=>l.preventDefault(),children:s.jsx("div",{className:"review-form-grid",children:e.map(l=>{const i=us(l),c=ds(l),d=ec(i)?ac(l,e,r):[];return s.jsxs("div",{className:`review-question${kg(i)?" review-question--wide":""}`,children:[s.jsxs("label",{className:"review-label",htmlFor:c,children:[n(l)||"Untitled field",l.required?s.jsx("span",{className:"review-required",children:"*"}):null]}),s.jsx(Dg,{storeList:t,question:l,options:d,value:r[On(l)]??sc(i),onChange:f=>o(l,f)})]},l.id??l.fieldKey??wt(l))})})})}):s.jsx("p",{className:"review-empty",children:"No form fields added"})}const Mg={CUSTOM:"Custom",TEXT:"Text",TEXTAREA:"Text Area",SELECT:"Select",DROPDOWN:"Dropdown",NUMBER:"Number",DATE:"Date",DATETIME:"Date Time",EMAIL:"Email",CHECKBOX:"Checkbox",RADIO:"Radio",FILE:"File",IMAGES:"Images",TIME:"Time"},xg={BOTH:"Both",USER:"User",ADMIN:"Admin"};function Bg(e){return e?typeof e=="string"?e:e.name??e.label??e.title??null:null}function Ug(e){return[...new Set(e.filter(Boolean))]}function fs(e){return typeof e=="string"?e:e?.label??e?.name??""}function ps(e){const t=String(e||"").trim().split(/[^A-Za-z0-9]+/).filter(Boolean);return t.length?t[0].toLowerCase()+t.slice(1).map(n=>n.charAt(0).toUpperCase()+n.slice(1).toLowerCase()).join(""):""}function jg(e){return!e||typeof e!="object"?"":e.dependsOnValue??e.parent??""}function $g(e,t=[]){if(!e)return"";const n=t.map(fs).filter(Boolean),r=n.find(o=>o===e);return r||n.find(o=>ps(o)===e||ps(o)===ps(e))||e}function Vg(e=[]){const t=[...e].sort((n,r)=>(n.displayOrder??0)-(r.displayOrder??0));return t.map(n=>{const r=n?.options?.values??[],a=t.find(o=>o.id===n.dependsOnFieldId||n.dependsOnFieldKey&&o.fieldKey===n.dependsOnFieldKey);return{id:n.id,label:n.fieldName??n.fieldLabel??n.label??"",fieldLabel:n.fieldName??n.fieldLabel??n.label??"",fieldKey:n.fieldKey,fieldType:Ba(n.fieldType,Mg,n.fieldKey),required:!!n.required,fieldAccess:xg[n.fieldAccess]??n.fieldAccess??"",hideFor:Ug([...Array.isArray(n.hideFor)?n.hideFor:[],Bg(n.hideForWorkflowStep)]),dependsOn:n.dependsOnField?.fieldName??a?.fieldName??n.dependsOn??"",options:r.map(fs).filter(Boolean),parentMappings:Object.fromEntries(r.map(o=>{const l=fs(o),i=jg(o);return!l||!i?null:[l,$g(i,a?.options?.values??[])]}).filter(Boolean))}})}function Wg({onPublish:e,stepMeta:t,stepperProps:n,storeList:r}){const a=G.useDispatch(),o=G.useSelector(I=>I.appDetails?.id),l=G.useSelector(I=>I.complaintAppComplaint.formFields.data),i=G.useSelector(I=>I.complaintAppComplaint.formFields.isLoading),c=G.useSelector(I=>I.complaintAppComplaint.formFields.error),d=G.useSelector(I=>I.createComplaint?.isActive),f=G.useSelector(I=>I.createComplaint?.activeComplaintTypeId),u=G.useSelector(I=>I.createComplaint?.isUpdatingActive),p=G.useSelector(I=>I.createComplaint?.activeError),b=G.useSelector(I=>I.complaintType?.selected),S=G.useSelector(I=>I.complaintType?.complaintList??[]),A=G.useSelector(I=>I.appDetails?.details?.currentUser),m=g.useMemo(()=>Vg(l),[l]),h=g.useMemo(()=>o==null?null:b&&String(b.id??b._id)===String(o)?b:S.find(I=>String(I?.id??I?._id)===String(o))??null,[S,o,b]),w=h!=null&&(h.isActive!=null||h.active!=null)?!!(h.isActive??h.active):null,L=String(f)===String(o)?!!d:w??!0,C=Sp(h,A);g.useEffect(()=>{o&&a(qe(o))},[o,a]);const k=I=>{!o||u||!C||a(Nn({id:o,isActive:I}))};return s.jsxs(s.Fragment,{children:[s.jsx(Tn,{...n,steps:Xe,showSaveButton:!1,nextLabel:"Publish",extraActions:s.jsx(Yi,{label:"Active",checked:L,disabled:!o||u||!C,onChange:k}),onNext:()=>{e?.(),n.onNext?.()}}),p?s.jsx("div",{className:"ca-validation-toast",role:"alert",children:p}):null,s.jsx(In,{className:"ca-settings-card--plain",title:t.title,description:t.description,showNext:!1,children:s.jsx("div",{className:"ca-review",children:s.jsx("section",{className:"ca-review__block ca-review__block--last",children:i?s.jsx(tt,{text:"Loading form fields"}):c&&!m.length?s.jsx("p",{className:"ca-body",children:c}):s.jsx(Pg,{fields:m,storeList:r})})})})]})}function qg(e){const t=Number(e);return!Number.isFinite(t)||t<1?1:t>Xe.length?Xe.length:Math.floor(t)}function Hg(e){const t=Number(e);return!Number.isFinite(t)||t<1?1:t>3?3:Math.floor(t)}function oc({title:e="Complaint Management Settings",onPublish:t,onStepChange:n,onSaveDraft:r,roleList:a=[],userList:o=[],storeList:l,showSaveButton:i=!0,showNextButton:c=!0}){const d=Ke(),f=G.useDispatch(),{systemId:u}=It(),[p,b]=Qs(),S=qg(p.get("step")||1),A=Hg(p.get("substep")||1),m=!!u&&u!=="new",[h,w]=g.useState(!1);g.useEffect(()=>{if(!m)return;let q=!1;const z=te=>{const R=te?.data??te;return Array.isArray(R)?R:Array.isArray(R?.data)?R.data:[]};return Promise.all([f(Re(u)).unwrap(),f(qe(u)).unwrap()]).then(([te,R])=>{q||w(z(te).length>0&&z(R).length>0)}).catch(()=>{q||w(!1)}),()=>{q=!0}},[f,m,u]);const L=m&&h;g.useEffect(()=>{u&&f(gt(u)),f(Bt({data:m}))},[f,m,u]),g.useEffect(()=>{if(!p.get("step")){const q=new URLSearchParams(p);q.set("step","1"),b(q,{replace:!0})}},[p,b]);const C=g.useMemo(()=>Xe.find(q=>q.id===S)||Xe[0],[S]),k=g.useCallback((q,z)=>{const te=new URLSearchParams(p);te.set("step",String(q)),q===4?te.set("substep",String(z??(q===S?A:1))):te.delete("substep"),b(te,{replace:!1}),n?.({systemId:u,step:q,substep:z})},[p,b,n,u,S,A]),I=()=>{if(S<Xe.length){k(S+1,1);return}d("/")},H=q=>{k(4,q)},re=()=>{t?.({systemId:u,step:S})},$={currentStep:S,allStepsUnlocked:L,onStepClick:q=>k(q,q===4?1:void 0),showSaveButton:i,showNextButton:c,onSaveDraft:()=>r?.({systemId:u,step:S}),onNext:I,className:"ca-settings-page__stepper"};return s.jsx(yi,{children:s.jsxs("div",{className:"ca-settings-page",children:[s.jsxs("div",{className:"ca-settings-page__header",children:[s.jsx("button",{type:"button",className:"ca-settings-page__back",onClick:()=>d("/"),"aria-label":"Back to Complaint Management",children:s.jsx("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:s.jsx("path",{d:"M15 6l-6 6 6 6",stroke:"currentColor",strokeWidth:"2.2",strokeLinecap:"round",strokeLinejoin:"round"})})}),s.jsx(ka,{children:e})]}),S===1?s.jsx(Ym,{stepMeta:C,stepperProps:$,roleList:a,userList:o}):null,S===2?s.jsx(sg,{onNext:I,stepMeta:C,roleList:a,userList:o,substep:A,onSubstepChange:H,stepperProps:$}):null,S===3?s.jsx(Eg,{stepMeta:C,stepperProps:$}):null,S===4?s.jsx(Wg,{storeList:l,onPublish:re,stepMeta:C,stepperProps:$}):null]})},u||"new")}function zg(){const e=Ke(),n=G.useSelector(c=>c.status?.complaintSummary??null)?.totalComplaints??0,r=G.useSelector(c=>c.appDetails?.id),a=G.useSelector(c=>c.complaintType?.selected??null),o=a?.id??a?._id,i=o==null||r==null||String(o)===String(r)?a?.name??a?.complaintTypeName??a?.title??"":"";return s.jsx("section",{className:"ca-query-details","aria-labelledby":"query-management-title",children:s.jsxs("div",{className:"ca-query-details__heading",children:[s.jsxs("div",{className:"ca-query-details__title-row",children:[s.jsx("button",{type:"button",className:"ca-settings-page__back",onClick:()=>e("/"),"aria-label":"Back to Complaint Management",children:s.jsx("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:s.jsx("path",{d:"M15 6l-6 6 6 6",stroke:"currentColor",strokeWidth:"2.2",strokeLinecap:"round",strokeLinejoin:"round"})})}),s.jsx("h1",{id:"query-management-title",className:"ca-query-details__title",children:i||"Complaint Management"})]}),s.jsxs("span",{className:"ca-query-details__count",children:["Total Count: ",n??0]})]})})}function lc({currentPage:e,totalItems:t,itemsPerPage:n,onPageChange:r,onItemsPerPageChange:a,selectOptions:o=["5","10","15","20","25"],totalPages:l,disabled:i=!1}){if(t<=0)return null;const c=(e-1)*n+1,d=Math.min(e*n,t),f=e<=1,u=e>=l;return s.jsxs("div",{className:`ca-custom-pagination${i?" ca-custom-pagination--disabled":""}`,"aria-label":"Complaint table pagination",children:[s.jsxs("label",{className:"ca-custom-pagination__page-size",children:[s.jsx("span",{children:"Results per page:"}),s.jsx("select",{className:"ca-custom-pagination__select",value:String(n),onChange:p=>a?.(Number(p.target.value)),disabled:i,"aria-label":"Results per page",children:o.map(p=>s.jsx("option",{value:p,children:p},p))})]}),s.jsxs("div",{className:"ca-custom-pagination__navigation",children:[s.jsx("button",{type:"button",className:"ca-custom-pagination__button",onClick:()=>r?.(1),disabled:i||f,"aria-label":"First page",children:s.jsx(Im,{size:16,"aria-hidden":"true"})}),s.jsx("button",{type:"button",className:"ca-custom-pagination__button",onClick:()=>r?.(e-1),disabled:i||f,"aria-label":"Previous page",children:s.jsx(Lm,{size:16,"aria-hidden":"true"})}),s.jsxs("span",{className:"ca-custom-pagination__range",children:[c," - ",d," of ",t]}),s.jsx("button",{type:"button",className:"ca-custom-pagination__button",onClick:()=>r?.(e+1),disabled:i||u,"aria-label":"Next page",children:s.jsx(Cr,{size:16,"aria-hidden":"true"})}),s.jsx("button",{type:"button",className:"ca-custom-pagination__button",onClick:()=>r?.(l),disabled:i||u,"aria-label":"Last page",children:s.jsx(Tm,{size:16,"aria-hidden":"true"})})]})]})}function Kg({type:e}){return e==="error"?s.jsxs("svg",{width:"22",height:"22",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:[s.jsx("circle",{cx:"12",cy:"12",r:"9",stroke:"currentColor",strokeWidth:"2"}),s.jsx("path",{d:"M12 7.5v5.5M12 16.2v.1",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})]}):s.jsxs("svg",{width:"22",height:"22",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:[s.jsx("circle",{cx:"12",cy:"12",r:"9",stroke:"currentColor",strokeWidth:"2"}),s.jsx("path",{d:"M8 12.5l2.8 2.8L16.2 9.5",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]})}function Qg({id:e,message:t,type:n="success",onDismiss:r}){return g.useEffect(()=>{const a=setTimeout(()=>r(e),3500);return()=>clearTimeout(a)},[e,r]),s.jsxs("div",{className:`ca-toast ca-toast--${n}`,role:"status",children:[s.jsx("span",{className:"ca-toast__icon",children:s.jsx(Kg,{type:n})}),s.jsxs("div",{className:"ca-toast__content",children:[s.jsx("div",{className:"ca-toast__title",children:n==="error"?"Error":"Success"}),s.jsx("div",{className:"ca-toast__message",children:t})]}),s.jsx("button",{type:"button",className:"ca-toast__close","aria-label":"Dismiss notification",onClick:()=>r(e),children:s.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:s.jsx("path",{d:"M6 6l12 12M18 6L6 18",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})})})]})}function ic({toasts:e=[],onDismiss:t}){if(!e.length)return null;const n=s.jsx("div",{className:"ca-toast-container",children:e.map(r=>s.jsx(Qg,{...r,onDismiss:t},r.id))});return typeof document<"u"?jr.createPortal(n,document.body):n}const Xg=[{value:"today",label:"Today"},{value:"yesterday",label:"Yesterday"},{value:"lastWeek",label:"Last Week"},{value:"wtd",label:"WTD"},{value:"mtd",label:"MTD"},{value:"ytd",label:"YTD"},{value:"custom",label:"Custom"}],cc=e=>String(e).padStart(2,"0"),je=e=>`${e.getFullYear()}-${cc(e.getMonth()+1)}-${cc(e.getDate())}`,Dn=(e,t)=>new Date(e.getFullYear(),e.getMonth(),e.getDate()+t);function Gg(e,t="",n="",r=new Date){const a=new Date(r.getFullYear(),r.getMonth(),r.getDate()),o=(a.getDay()+6)%7,l=Dn(a,-o);switch(e){case"today":return{fromDate:je(a),toDate:je(a)};case"yesterday":return{fromDate:je(Dn(a,-1)),toDate:je(Dn(a,-1))};case"lastWeek":return{fromDate:je(Dn(l,-7)),toDate:je(Dn(l,-1))};case"wtd":return{fromDate:je(l),toDate:je(a)};case"mtd":return{fromDate:je(new Date(a.getFullYear(),a.getMonth(),1)),toDate:je(a)};case"ytd":return{fromDate:je(new Date(a.getFullYear(),0,1)),toDate:je(a)};case"custom":return t&&n?{fromDate:t,toDate:n}:null;default:return null}}function Yg(e){if(!e?.preset)return{};const t=Gg(e.preset,e.from,e.to);return t?{...t}:{}}const Jg=[{value:"created",label:"Created"},{value:"updated",label:"Updated"}];function Zg({initial:e,onApply:t,onReset:n,onClose:r}){const[a,o]=g.useState(e?.field||"updated"),[l,i]=g.useState(e?.preset||""),[c,d]=g.useState(e?.from||""),[f,u]=g.useState(e?.to||""),p=l==="custom"&&(!c||!f||c>f),b=!!l&&!p;return s.jsx("div",{className:"ca-confirm-modal",role:"dialog","aria-modal":"true","aria-label":"Filters",children:s.jsxs("div",{className:"ca-confirm-modal__dialog ca-date-filter",children:[s.jsxs("div",{className:"ca-date-filter__header",children:[s.jsx("span",{className:"ca-date-filter__title",children:"Filters"}),s.jsx("button",{type:"button",className:"ca-date-filter__close","aria-label":"Close",onClick:r,children:s.jsx(Mm,{size:18})})]}),s.jsx("div",{className:"ca-date-filter__tabs",role:"group","aria-label":"Date field",children:Jg.map(S=>s.jsx("button",{type:"button",className:`ca-date-filter__tab${a===S.value?" ca-date-filter__tab--active":""}`,onClick:()=>o(S.value),children:S.label},S.value))}),s.jsx("div",{className:"ca-date-filter__list",children:Xg.map(S=>s.jsxs("label",{className:`ca-date-filter__option${l===S.value?" ca-date-filter__option--active":""}`,children:[s.jsx("input",{type:"radio",name:"complaint-date-preset",checked:l===S.value,onChange:()=>i(S.value)}),s.jsx("span",{children:S.label})]},S.value))}),l==="custom"?s.jsxs("div",{className:"ca-date-filter__custom",children:[s.jsx("label",{className:"ca-confirm-modal__label",htmlFor:"ca-date-from",children:"From Date"}),s.jsx("input",{id:"ca-date-from",type:"date",className:"ca-date-filter__date",value:c,max:f||void 0,onChange:S=>d(S.target.value)}),s.jsx("label",{className:"ca-confirm-modal__label",htmlFor:"ca-date-to",children:"To Date"}),s.jsx("input",{id:"ca-date-to",type:"date",className:"ca-date-filter__date",value:f,min:c||void 0,onChange:S=>u(S.target.value)})]}):null,s.jsxs("div",{className:"ca-confirm-modal__actions",children:[s.jsx(Ne,{variant:"outline",onClick:n,children:"Reset"}),s.jsx(Ne,{onClick:()=>t({field:a,preset:l,from:c,to:f}),disabled:!b,children:"Apply"})]})]})})}function Rg({open:e,initial:t,onApply:n,onReset:r,onClose:a}){return e?s.jsx(Zg,{initial:t,onApply:n,onReset:r,onClose:a}):null}const eA=/^[^\s]+\/[^\s]+\.[A-Za-z0-9]{2,5}(?:\?.*)?(?:::.+)?$/;function Ct(e){const t=String(e??""),n=t.indexOf("::");return n>=0?t.slice(0,n):t}function Pn(e){const t=String(e??""),n=t.indexOf("::");return n>=0?t.slice(n+2):t}const tA=new RegExp("(?<=\\.[A-Za-z0-9]{2,5})(?=[A-Za-z0-9_-]+\\/)|[,\\n;]+");function Jt(e){return(Array.isArray(e)?e:[e]).filter(n=>n!=null&&n!==""&&n!=="-").flatMap(n=>typeof n=="string"?n.split(tA).map(r=>r.trim()).filter(Boolean):[n])}function nA(e){const t=Jt(e);return t.length>0&&t.every(n=>typeof n=="string"&&eA.test(n))}function Mn(e,t){const n=String(e?.fieldType||"").toLowerCase();return n==="file"||n==="images"||n==="image"||nA(t)}function rA(e,t){const n=new Set;return t.forEach(r=>{e.forEach(a=>{const o=r[a.key]??"-";Mn(a,o)&&Jt(o).forEach(l=>{typeof l=="string"&&n.add(Ct(l))})})}),Array.from(n)}const dc=/\.(png|jpe?g|gif|webp|bmp|svg)(?:\?.*)?$/i;function hs(e,t=7){const n=String(e||""),r=n.lastIndexOf("."),a=r>0?n.slice(0,r):n,o=r>0?n.slice(r):"";return a.length>t?`${a.slice(0,t)}...${o}`:n}function aA({value:e,urlMap:t={}}){const n=g.useMemo(()=>Jt(e),[e]),[r,a]=g.useState(null);if(!n.length)return"-";const o=n.filter(p=>typeof p=="string"&&dc.test(Ct(p))),l=n.filter(p=>typeof p=="string"&&!dc.test(Ct(p))).map(p=>({name:Pn(p),url:t[Ct(p)]})),i=o.map(p=>({name:Pn(p),url:t[Ct(p)]})).filter(p=>p.url),c=i[0],d=()=>a(null),f=()=>a(p=>p>0?p-1:i.length-1),u=()=>a(p=>p<i.length-1?p+1:0);return s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"ca-complaint-table__attachments",children:[c?s.jsx("button",{type:"button",className:"ca-complaint-table__attachment-trigger",onClick:()=>a(0),"aria-label":`Preview ${c.name}`,children:s.jsx("img",{className:"ca-complaint-table__attachment-image",src:c.url,alt:c.name,title:c.name})}):null,l.length?l.map(p=>{const b=String(p.name).split("/").pop();return p.url?s.jsx("a",{className:"ca-complaint-table__attachment-link",href:p.url,target:"_blank",rel:"noreferrer",title:b,children:hs(b)},p.name):s.jsx("span",{className:"ca-complaint-table__attachment-name",title:b,children:hs(b)},p.name)}):null,!c&&!l.length?n.map(p=>s.jsx("span",{className:"ca-complaint-table__attachment-name",title:Pn(p),children:hs(Pn(p))},String(p))):null,i.length>1?s.jsxs("button",{type:"button",className:"ca-complaint-table__attachment-count",onClick:()=>a(1),"aria-label":`Preview ${i.length-1} more images`,children:["+",i.length-1]}):null]}),r!=null&&i.length?s.jsxs("div",{className:"ca-complaint-table__preview",role:"dialog","aria-modal":"true","aria-label":"Image preview",children:[s.jsx("button",{type:"button",className:"ca-complaint-table__preview-close",onClick:d,"aria-label":"Close image preview",children:"×"}),s.jsx("button",{type:"button",className:"ca-complaint-table__preview-nav ca-complaint-table__preview-nav--previous",onClick:f,"aria-label":"Previous image",children:"‹"}),s.jsx("img",{className:"ca-complaint-table__preview-image",src:i[r].url,alt:i[r].name}),s.jsx("button",{type:"button",className:"ca-complaint-table__preview-nav ca-complaint-table__preview-nav--next",onClick:u,"aria-label":"Next image",children:"›"}),s.jsxs("span",{className:"ca-complaint-table__preview-count",children:[r+1," / ",i.length]})]}):null]})}function Dr(e,t=!1){const n=[];return!t&&e==="description"&&n.push("ca-complaint-table__desc"),e==="actions"&&n.push("ca-complaint-table__sticky","ca-complaint-table__sticky--actions"),n.length?n.join(" "):void 0}function sA(e,t=[]){const n=t.find(a=>String(a.id)===String(e.assignedToUserId));return(n?[n.firstName,n.lastName].filter(Boolean).join(" ").trim():"")||e.assignedToUserName||""}function oA({row:e,ctx:t,isOpen:n,onToggle:r}){const a=t.roleUsers??[],o=g.useRef(null),l=g.useRef(null),[i,c]=g.useState(null),d=a.find(h=>String(h.id)===String(e.assignedToUserId)),u=(d?[d.firstName,d.lastName].filter(Boolean).join(" ").trim():"")||e.assignedToUserName||"",p=e.assignedToUserId,b=p!=null&&p!==""&&String(p)===String(t.currentUserId),S=b?"Assign to Me":u||"Assign",A=a.filter(h=>String(h.id)!==String(t.currentUserId)),m=!!e.isClosed||t.canAssign===!1;return g.useLayoutEffect(()=>{if(!n)return;const h=()=>{const w=o.current,L=l.current;if(!w||!L)return;const C=w.getBoundingClientRect(),k=L.getBoundingClientRect(),I=6,H=12,$=C.bottom+I+k.height>window.innerHeight-H&&C.top-I-k.height>=H?C.top-k.height-I:Math.min(C.bottom+I,window.innerHeight-k.height-H),q=Math.max(H,Math.min(C.right-k.width,window.innerWidth-k.width-H));c({top:$,left:q,visibility:"visible"})};return h(),window.addEventListener("resize",h),window.addEventListener("scroll",h,!0),()=>{window.removeEventListener("resize",h),window.removeEventListener("scroll",h,!0)}},[t.assignmentError,t.assignmentLoading,t.assignmentSaving,n,a.length]),s.jsxs("div",{className:"ca-complaint-table__assignment",children:[s.jsxs("button",{ref:o,type:"button",className:"ca-complaint-table__assignment-trigger","data-assignment-trigger":"true",disabled:m,onClick:h=>{h.stopPropagation(),!m&&r(e.id)},"aria-expanded":n&&!m,"aria-label":`Assign complaint ${e.title||e.id}`,children:[s.jsx("span",{className:"ca-complaint-table__assignment-label",children:S}),s.jsx(Kt,{size:14,"aria-hidden":"true"})]}),n&&!m&&typeof document<"u"?jr.createPortal(s.jsxs("div",{ref:l,className:"ca-complaint-table__assignment-menu","data-assignment-menu":"true",role:"menu",style:i||{visibility:"hidden"},onClick:h=>h.stopPropagation(),children:[s.jsx("button",{type:"button",className:"ca-complaint-table__assignment-self",role:"menuitem",disabled:b||t.assignmentLoading||t.assignmentSaving,onClick:h=>{h.stopPropagation(),r(null),t.onAssign?.(e,t.currentUserId)},children:s.jsx("strong",{children:"Assign to me"})}),t.assignmentLoading?s.jsx("span",{className:"ca-complaint-table__assignment-state",children:"Loading users…"}):null,t.assignmentSaving?s.jsx("span",{className:"ca-complaint-table__assignment-state",children:"Saving assignment…"}):null,t.assignmentError?s.jsxs("div",{className:"ca-complaint-table__assignment-error",children:[s.jsx("span",{children:t.assignmentError}),s.jsx("button",{type:"button",onClick:h=>{h.stopPropagation(),t.onRetryUsers?.(e.roleId)},children:"Retry"})]}):null,A.length>0?s.jsx("div",{className:"ca-complaint-table__assignment-others","aria-hidden":"true",children:"Others"}):null,A.map(h=>{const w=[h.firstName,h.lastName].filter(Boolean).join(" ").trim()||h.email;return s.jsxs("button",{type:"button",role:"menuitem",disabled:String(p)===String(h.id)||t.assignmentLoading||t.assignmentSaving,onClick:L=>{L.stopPropagation(),r(null),t.onAssign?.(e,h.id)},children:[s.jsx("strong",{children:w}),h.email?s.jsx("span",{children:h.email}):null]},h.id)})]}),document.body):null]})}function uc(e,t,n={},r={}){const a=t[e.key]??"-";if(e.key==="status"||e.key==="escalationTo")return a;if(e.key==="assignedToUserName"){const o=sA(t,n.roleUsers??[]);return o?s.jsx("span",{className:"ca-complaint-table__ellipsis",children:o}):"-"}return e.key==="actions"?s.jsxs("div",{className:"ca-complaint-table__action-cell",children:[s.jsx(oA,{row:t,ctx:n,...r}),s.jsx("button",{type:"button",className:"ca-complaint-table__open-button","aria-label":`Open complaint ${t.title||t.id}`,onClick:o=>{o.stopPropagation(),n.onOpenComplaint?.(t)},children:s.jsx(Cr,{size:16,"aria-hidden":"true"})})]}):Mn(e,a)&&Jt(a).some(o=>typeof o=="string")?s.jsx(aA,{value:a,urlMap:n.attachmentUrlMap}):a}function fc({scrollFields:e,stickyFields:t,tableRows:n,fieldLabel:r,getCellContext:a,onOpenComplaint:o,page:l,itemsPerPage:i}){const[c,d]=g.useState(null);g.useEffect(()=>{if(c==null)return;const u=p=>{p.target.closest?.("[data-assignment-trigger], [data-assignment-menu]")||d(null)};return document.addEventListener("pointerdown",u),()=>document.removeEventListener("pointerdown",u)},[c]);const f=u=>{d(p=>String(p)===String(u)?null:u)};return s.jsxs("div",{className:"ca-complaint-table__scroll",children:[s.jsxs("table",{children:[s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{scope:"col",children:"#"}),e.map(u=>s.jsx("th",{scope:"col",className:Dr(u.key,!0),children:r(u)},u.id)),s.jsx("th",{className:"ca-complaint-table__spacer","aria-hidden":"true"}),t.map(u=>s.jsx("th",{scope:"col",className:Dr(u.key,!0),children:r(u)},u.id))]})}),s.jsx("tbody",{children:n.map((u,p)=>{const b=a(u);b.onOpenComplaint=o;const S=u.assignedToUserId,A=S==null||S===""?"ca-complaint-table__row--unassigned":String(S)===String(b.currentUserId)?"ca-complaint-table__row--assigned-self":"ca-complaint-table__row--assigned-other";return s.jsxs("tr",{className:A,children:[s.jsx("td",{children:(l-1)*i+p+1}),e.map(m=>s.jsx("td",{className:Dr(m.key),children:uc(m,u,b)},`${u.id??p}-${m.id}`)),s.jsx("td",{className:"ca-complaint-table__spacer","aria-hidden":"true"}),t.map(m=>s.jsx("td",{className:Dr(m.key),children:uc(m,u,b,{isOpen:String(c)===String(u.id),onToggle:f})},`${u.id??p}-${m.id}`))]},u.id??p)})})]}),n.length?null:s.jsx("div",{className:"ca-complaint-table__empty-overlay",children:s.jsx(wr,{text:"Nothing here yet",illustrated:!0})})]})}const lA={id:"actions",label:"Actions",key:"actions"};function pc(e,t){return e==="mine"?t==null?{showAllComplaints:!1}:{showAllComplaints:!1,assignedToUserId:t}:e==="unassigned"?{showAllComplaints:!1,unassigned:!0}:{showAllComplaints:!1}}async function iA({complaintTypeId:e,status:t,dateParams:n={},sort:r,assignmentParams:a={},escalationTo:o,search:l}){const i=await de.get(Ia,{params:{...n,complaintTypeId:e,page:1,limit:Rh,sort:r,...a,...o!=null&&o!==""&&o!=="all"?{escalationTo:o}:{},...t!=null&&t!==""&&t!=="all"?{status:t}:{},...l!=null&&l.trim()?{search:l.trim()}:{}}});return Gl(i.data)}function cA(e){return(Array.isArray(e?.roles)?e.roles:[]).map(n=>Number(n?.id??n?.roleId??n?.role_id??n)).filter(n=>Number.isFinite(n))}function hc(e,t=[],n=[],r=null){const a=e?.hideForWorkflowStepId;if(a==null||a==="")return!0;const o=t.find(l=>String(l.id)===String(a));return!o||!gc(o,n,r)}function mc(e){return([e?.userAssignments,e?.users,e?.userIds,e?.assignedUsers].find(Array.isArray)??[]).map(n=>Number(n&&typeof n=="object"?n.userId??n.id??n.user?.id:n)).filter(Number.isFinite)}function gc(e,t=[],n=null){return(Array.isArray(e?.roleIds)?e.roleIds.map(Number):[]).some(a=>t.includes(a))?!0:n!=null&&mc(e).includes(Number(n))}function dA(){const{fieldLabel:e}=rt(),t=G.useDispatch(),n=Ke(),r=Me(),{complaintTypeId:a}=It(),[o]=Qs(),l=G.useSelector(P=>P.appDetails?.id),i=am(a,o.get("complaintTypeId"),l,rm()),{list:c=[],isLoading:d=!1,error:f=null,hasLoaded:u=!1,requestedComplaintTypeId:p=null,meta:b=null}=G.useSelector(P=>P.complaintManagement??{}),S=G.useSelector(P=>P.status?.list??[]),A=G.useSelector(P=>P.changeStatus?.updatingId??null),m=G.useSelector(P=>P.roleUsers??{}),h=G.useSelector(P=>P.workflow?.workflowSteps),w=G.useSelector(P=>P.appDetails?.details?.currentUser),L=G.useSelector(P=>P.appDetails?.details?.featureActions),C=Pa(L).canSeeAllFilters,k=G.useSelector(P=>P.appDetails?.details?.storeList),I=G.useSelector(P=>P.appDetails?.details?.userList??[]),H=g.useMemo(()=>ni(k),[k]),re=g.useMemo(()=>S.map(P=>P.name).filter(Boolean),[S]),$=g.useMemo(()=>Array.isArray(h)?h:Array.isArray(h?.steps)?h.steps:[],[h]),q=g.useMemo(()=>cA(w),[w]),z=w?.id??w?.userId??null,te=G.useSelector(P=>{const Z=P.complaintType?.selected,ue=Array.isArray(Z?.accesses)?Z.accesses.map(we=>we?.role?.id??we?.role?.roleId??we?.roleId).map(Number).filter(Number.isFinite):[];return ue.length?ue:(Array.isArray(Z?.roleIds)?Z.roleIds:Array.isArray(Z?.roles)?Z.roles:[]).map(we=>Number(we?.id??we?.roleId??we?.role_id??we)).filter(we=>Number.isFinite(we))}),R=G.useSelector(P=>{const Z=P.complaintType?.selected;return Z?.isActive!=null?!!Z.isActive:Z?.active!=null?!!Z.active:!0}),[O,D]=g.useState({complaintTypeId:null,status:"all"}),[K,J]=g.useState({complaintTypeId:null,direction:Vl}),[E,U]=g.useState({complaintTypeId:null,level:"all"}),[F,j]=g.useState({complaintTypeId:null,value:"all",explicitlySelected:!1}),[y,B]=g.useState(""),[V,ee]=g.useState(""),[_,M]=g.useState(1),[N,Y]=g.useState(Jh),[Q,ne]=g.useState([]),[fe,ge]=g.useState({}),[ye,Ae]=g.useState(!1),[ae,be]=g.useState(null),[ve,Ee]=g.useState([]),[dt,$e]=g.useState(!1),[He,Rt]=g.useState({complaintTypeId:null,field:"updated",preset:"",from:"",to:""}),at=String(He.complaintTypeId)===String(i)&&He.preset?He:null,xn=g.useMemo(()=>Yg(at),[at]);g.useEffect(()=>{const P=setTimeout(()=>{ee(y.trim()),M(1)},350);return()=>clearTimeout(P)},[y]);const Nt=String(O.complaintTypeId)===String(i)?O.status:"all",en=String(K.complaintTypeId)===String(i)?K.direction:Vl,T=String(E.complaintTypeId)===String(i)?E.level:"all",oe=String(F.complaintTypeId)===String(i)?F.value:"all",ce=String(F.complaintTypeId)===String(i)&&F.explicitlySelected,pe=g.useCallback(P=>{B(P),M(1)},[]),Ve=(P,Z="success")=>{const ue=`${Date.now()}-${Math.random()}`;Ee(Se=>[...Se,{id:ue,message:P,type:Z}])},Br=P=>Ee(Z=>Z.filter(ue=>ue.id!==P));g.useEffect(()=>{!i||a||(Kl(i),n(`/complaintmanagement/${i}`,{replace:!0}))},[i,n,a]),g.useEffect(()=>{if(!i||!a)return;Kl(i),t(gt(i)),t(cl()),t(pl()),t(ah());const P=t($t(i)),Z=t(ir(i)),ue=t(Re(i)),Se=t(qe(i)),we=t(Ze(i));return Se.unwrap().then(Fe=>ne(tm(Fe))).catch(()=>ne([])),()=>{P.abort?.(),Z.abort?.(),ue.abort?.(),Se.abort?.(),we.abort?.()}},[i,t,a]),g.useEffect(()=>{if(!i||!a)return;const P=t(lr({complaintTypeId:i,page:_,limit:N,status:Nt==="all"?void 0:Nt,sort:en===Wl?"createdAt":"-createdAt",...pc(oe,z),escalationTo:T==="all"?void 0:T,...xn,search:V}));return()=>P.abort?.()},[i,z,xn,V,t,N,_,a,oe,en,T,Nt]);const YA=te.some(P=>q.includes(P)),_t=g.useMemo(()=>p!=null&&i!=null&&String(p)!==String(i)?[]:c.map(Z=>({...ri(Ql(Z,S,$),H),_fields:Z?.formField||[]})),[i,c,p,S,$,H]),Ic=g.useMemo(()=>{const P=new Set;return _t.forEach(Z=>{Z.roleId!=null&&P.add(String(Z.roleId));const ue=$.find(Se=>String(Se.id)===String(Z.currentStepId));(Array.isArray(ue?.roleIds)?ue.roleIds:[]).forEach(Se=>P.add(String(Se)))}),[...P]},[_t,$]);g.useEffect(()=>{Ic.forEach(P=>{!m.usersByRoleId?.[P]&&!m.loadingByRoleId?.[P]&&!m.errorByRoleId?.[P]&&t(bt(P))})},[t,Ic,m.errorByRoleId,m.loadingByRoleId,m.usersByRoleId]);const JA=g.useMemo(()=>[...new Set($.map((P,Z)=>Number(P.levelNo??Z+1)))].sort((P,Z)=>P-Z),[$]),ZA=C,ws=g.useMemo(()=>Xl(_t,Q).filter(P=>hc(P,$,q,z)),[_t,Q,$,q,z]),RA=Hl(ws),Tc=P=>{const Z=P.assignedToUserId;return Z==null||Z===""?0:String(Z)===String(z)?1:2},Bn=_t.map(({_fields:P,...Z})=>Z).sort((P,Z)=>Tc(P)-Tc(Z)),Cs=g.useMemo(()=>rA(ws,_t),[ws,_t]),e0=Cs.every(P=>Object.prototype.hasOwnProperty.call(fe,P));g.useEffect(()=>{const P=Cs.filter(ue=>!Object.prototype.hasOwnProperty.call(fe,ue));if(!P.length)return;let Z=!1;return Promise.all(P.map(async ue=>{try{const Se=await t(_n({params:{path:ue}})).unwrap();return[ue,Se]}catch{return[ue,""]}})).then(ue=>{Z||ge(Se=>({...Se,...Object.fromEntries(ue)}))}),()=>{Z=!0}},[Cs,fe,t]);const Ur=nm(b,_,N,Bn.length),Fc=!!(i&&!f&&(!Bn.length&&(d||!u)||Bn.length>0&&!e0)),t0=P=>{M(1),D({complaintTypeId:i,status:P})},n0=P=>{P>=1&&P<=Ur.totalPages&&P!==_&&M(P)},r0=P=>{const Z=Number(P);!Number.isFinite(Z)||Z<=0||Z===N||(Y(Z),M(1))},a0=P=>{M(1),J({complaintTypeId:i,direction:P})},s0=P=>{M(1),U({complaintTypeId:i,level:P})},o0=P=>{M(1),j({complaintTypeId:i,value:P,explicitlySelected:!0})},l0=P=>{M(1),Rt({complaintTypeId:i,...P}),$e(!1)},i0=()=>{M(1),Rt({complaintTypeId:null,field:"updated",preset:"",from:"",to:""}),$e(!1)},c0=()=>{i&&n(`/complaintmanagement/new/${i}`)},d0=P=>{if(P?.id==null||!i)return;const Z=r.pathname.startsWith("/querymanagement")?"querymanagement":"complaintmanagement";n(`/${Z}/${i}/details/${P.id}`)},kc=P=>{const Z=$.find(ue=>String(ue.id)===String(P?.currentStepId));return!Z||gc(Z,q,z)},u0=async(P,Z)=>{if(P?.id==null||Z==null||A!=null||P.isClosed||String(P.assignedToUserId)===String(Z))return;if(!kc(P)){Ve("Only users in the current level can assign this complaint.","error");return}if(!(P.assignedToUserId!=null&&P.assignedToUserId!==""&&String(P.assignedToUserId)===String(z))&&String(Z)!==String(z)){Ve("Please assign this complaint to yourself first. Then you can assign it to others.","error");return}try{await t(At({id:P.id,assignedToUserId:Z})).unwrap(),Ve("Complaint assigned successfully","success")}catch(Se){Ve(Se?.message??"Failed to assign complaint","error")}},f0=P=>{const Z=$.find(Fe=>String(Fe.id)===String(P?.currentStepId)),ue=new Set([String(P.roleId),...Array.isArray(Z?.roleIds)?Z.roleIds.map(String):[]]),Se=new Set(mc(Z).map(String)),we=new Map;return[...[...ue].flatMap(Fe=>m.usersByRoleId?.[Fe]??[]),...I.filter(Fe=>Se.has(String(Fe?.id??Fe?.userId)))].forEach(Fe=>{const Un=String(Fe?.id??Fe?.userId);we.has(Un)||we.set(Un,Fe)}),[...we.values()]},p0=P=>({roleUsers:f0(P),assignmentLoading:!!m.loadingByRoleId?.[String(P.roleId)],assignmentError:m.errorByRoleId?.[String(P.roleId)]??null,assignmentSaving:A!=null,currentUserId:z,canAssign:kc(P),onAssign:u0,onRetryUsers:Z=>t(bt(Z)),attachmentUrlMap:fe});return{complaintTypeId:i,canCreateComplaint:YA,isComplaintTypeActive:R,statusNames:re,selectedStatus:Nt,selectedCreatedAtSort:en,selectedLevel:T,selectedAssignment:oe,workflowLevels:JA,canFilterByLevelAndAssignment:ZA,isDownloadingReport:ye,search:y,onSearchChange:pe,onStatusChange:t0,onCreatedAtSortChange:a0,onLevelChange:s0,onAssignmentChange:o0,dateFilter:at,hasDateFilter:!!at,isDateFilterOpen:dt,onOpenDateFilter:()=>$e(!0),onCloseDateFilter:()=>$e(!1),onApplyDateFilter:l0,onResetDateFilter:i0,onNewComplaint:c0,onDownloadReport:async()=>{if(!(!i||ye)){Ae(!0),be(null);try{const P=pc(oe,z,ce),ue=(await iA({complaintTypeId:i,status:Nt,dateParams:xn,sort:en===Wl?"createdAt":"-createdAt",assignmentParams:P,escalationTo:T,search:V})).map(st=>({...ri(Ql(st,S,$),H),_fields:st?.formField||[]})).filter(st=>T==="all"||String($.find(h0=>String(h0.id)===String(st.currentStepId))?.levelNo??st.level)===String(T)),Se=Xl(ue,Q).filter(st=>hc(st,$,q,z)),we=Hl(Se).filter(st=>!dm(st,ue,Mn)),Fe=new Blob([um(we,ue)],{type:"text/csv;charset=utf-8;"}),Un=URL.createObjectURL(Fe),jn=document.createElement("a");jn.href=Un,jn.download=`complaints-report-${i}-${Date.now()}.csv`,document.body.appendChild(jn),jn.click(),document.body.removeChild(jn),URL.revokeObjectURL(Un)}catch(P){be(P?.response?.data?.message??P?.message??"Failed to download report")}finally{Ae(!1)}}},error:f,downloadError:ae,showLoading:Fc,toasts:ve,onDismissToast:Br,tableProps:{scrollFields:RA.filter(P=>P.key!=="actions"),stickyFields:[lA],tableRows:Bn,fieldLabel:e,getCellContext:p0,onOpenComplaint:d0,page:_,itemsPerPage:N},paginationProps:{currentPage:_,totalItems:Ur.totalItems,itemsPerPage:N,onPageChange:n0,onItemsPerPageChange:r0,selectOptions:Zh,totalPages:Ur.totalPages,disabled:Fc,hasRows:!!(Ur.totalItems>0||Bn.length||_>1)}}}function uA({onHeaderActionsChange:e}){const t=dA(),n=t.tableProps.tableRows,r=g.useRef({});g.useEffect(()=>{r.current={onStatusChange:t.onStatusChange,onCreatedAtSortChange:t.onCreatedAtSortChange,onLevelChange:t.onLevelChange,onAssignmentChange:t.onAssignmentChange,onNewComplaint:t.onNewComplaint,onOpenDateFilter:t.onOpenDateFilter,onDownloadReport:t.onDownloadReport}});const a=g.useMemo(()=>({onStatusChange:(...o)=>r.current.onStatusChange?.(...o),onCreatedAtSortChange:(...o)=>r.current.onCreatedAtSortChange?.(...o),onLevelChange:(...o)=>r.current.onLevelChange?.(...o),onAssignmentChange:(...o)=>r.current.onAssignmentChange?.(...o),onNewComplaint:(...o)=>r.current.onNewComplaint?.(...o),onOpenDateFilter:(...o)=>r.current.onOpenDateFilter?.(...o),onDownloadReport:(...o)=>r.current.onDownloadReport?.(...o)}),[]);return g.useEffect(()=>{e?.({search:t.search,onSearchChange:t.onSearchChange,selectedStatus:t.selectedStatus,statusNames:t.statusNames,selectedCreatedAtSort:t.selectedCreatedAtSort,selectedLevel:t.selectedLevel,selectedAssignment:t.selectedAssignment,workflowLevels:t.workflowLevels,showLevelAndAssignmentFilters:t.canFilterByLevelAndAssignment,onStatusChange:a.onStatusChange,onCreatedAtSortChange:a.onCreatedAtSortChange,onLevelChange:a.onLevelChange,onAssignmentChange:a.onAssignmentChange,onNewComplaint:a.onNewComplaint,onOpenDateFilter:a.onOpenDateFilter,hasDateFilter:t.hasDateFilter,onDownloadReport:a.onDownloadReport,isDownloadingReport:t.isDownloadingReport,complaintTypeId:t.complaintTypeId,canCreateComplaint:t.canCreateComplaint,isComplaintTypeActive:t.isComplaintTypeActive})},[e,a,t.search,t.onSearchChange,t.selectedStatus,t.statusNames,t.selectedCreatedAtSort,t.selectedLevel,t.selectedAssignment,t.workflowLevels,t.canFilterByLevelAndAssignment,t.hasDateFilter,t.isDownloadingReport,t.complaintTypeId,t.canCreateComplaint,t.isComplaintTypeActive]),g.useEffect(()=>()=>e?.(null),[e]),s.jsxs("section",{className:"ca-complaint-table","aria-label":"Complaint records",children:[t.error?s.jsx("p",{className:"ca-body",children:t.error}):null,t.downloadError?s.jsx("p",{className:"ca-body",children:t.downloadError}):null,t.showLoading?s.jsx(tt,{text:"Loading complaints"}):s.jsx(fc,{...t.tableProps,tableRows:n}),t.paginationProps.hasRows?s.jsx(lc,{...t.paginationProps}):null,s.jsx(Rg,{open:t.isDateFilterOpen,initial:t.dateFilter,onApply:t.onApplyDateFilter,onReset:t.onResetDateFilter,onClose:t.onCloseDateFilter}),s.jsx(ic,{toasts:t.toasts,onDismiss:t.onDismissToast})]})}const Pr=({onHeaderActionsChange:e})=>s.jsxs("main",{className:"ca-query-management-page",children:[s.jsx(zg,{}),s.jsx(uA,{onHeaderActionsChange:e})]}),fA={CUSTOM:"Custom",TEXT:"Text",TEXTAREA:"Text Area",SELECT:"Select",DROPDOWN:"Dropdown",NUMBER:"Number",DATE:"Date",DATETIME:"Date Time",EMAIL:"Email",CHECKBOX:"Checkbox",RADIO:"Radio",FILE:"File",IMAGES:"Images",TIME:"Time"};function ms(e){return typeof e=="string"?e:e?.label??""}function pA(e=[]){const t=[...e].sort((n,r)=>(n.displayOrder??0)-(r.displayOrder??0));return t.map(n=>{const r=n.fieldName??n.fieldLabel??n.label??"",a=n.fieldKey??String(n.id),o=De({fieldKey:a,label:r}),l=o?"Office":r,i=n?.options?.values??[],c=t.find(d=>d.id===n.dependsOnFieldId||n.dependsOnFieldKey&&d.fieldKey===n.dependsOnFieldKey);return{id:n.id,label:l,fieldKey:se({fieldKey:a,label:r})?"status":o?"storeIdCustom":a,fieldType:Ba(n.fieldType,fA,n.fieldKey),required:!!n.required,dependsOn:n.dependsOnField?.fieldName??c?.fieldName??n.dependsOn??"",options:i.map(ms).filter(Boolean),parentMappings:Object.fromEntries(i.map(d=>{const f=ms(d),u=mA(d);return!f||!u?null:[f,gA(u,c?.options?.values??[])]}).filter(Boolean))}})}function Mr(e){const t=String(e||"").trim().split(/[^A-Za-z0-9]+/).filter(Boolean);return t.length?t[0].toLowerCase()+t.slice(1).map(n=>n.charAt(0).toUpperCase()+n.slice(1).toLowerCase()).join(""):""}function hA(e){if(se(e))return"status";if(De(e))return"storeIdCustom";const t=String(e.fieldKey||"").trim();return t&&!/\s/.test(t)?t:Mr(e.label||t)}function mA(e){return!e||typeof e!="object"?"":e.dependsOnValue??e.parent??""}function gA(e,t=[]){if(!e)return"";const n=t.map(ms).filter(Boolean),r=n.find(o=>o===e);return r||n.find(o=>Mr(o)===e||Mr(o)===Mr(e))||e}function AA(e,t=[],n={}){const r=e.options||[],a=String(e.dependsOn||"").trim();if(!a)return r;const o=t.find(d=>String(d.label||"").trim()===a||String(d.fieldKey||"").trim()===a);if(!o)return r;const l=e.parentMappings||{};if(!r.some(d=>!!l[d]))return r;const c=String(n[he(o)]||"").trim();return c?r.filter(d=>String(l[d]||"")===c):r}function gs(e){return Zt(e)==="checkbox"}function yA(e,t){const n=String(t||"").trim();return n&&e.find(r=>String(r.label||"").trim()===n||String(r.fieldKey||"").trim()===n)||null}function Ac(e,t){const n=String(t?.label||"").trim();return n&&e.find(r=>String(r.dependsOn||"").trim()===n)||null}function bA(e,t,n){const r={},a=Array.isArray(t)?t[0]:t;if(!a)return r;let o=e,l=a;for(;o?.dependsOn;){const i=yA(n,o.dependsOn);if(!i)break;const c=(o.parentMappings||{})[l];if(!c)break;r[he(i)]=gs(i)?[c]:c,o=i,l=c}for(o=e,l=a;o;){const i=Ac(n,o);if(!i)break;const c=i.parentMappings||{},d=Object.keys(c).find(f=>c[f]===l);if(!d)break;r[he(i)]=gs(i)?[d]:d,o=i,l=d}return r}function As(e){return Array.isArray(e)?e.filter(t=>t!=null&&t!==""):e==null||e===""?[]:[e]}function SA(e,t,n,r,a){const o={},l=As(n);let i=As(t).filter(d=>!l.includes(d)),c=e;for(;c&&i.length;){const d=Ac(r,c);if(!d)break;const f=d.parentMappings||{},u=he(d),p=As(o[u]??a[u]),b=p.filter(A=>i.includes(f[A]));if(!b.length)break;const S=p.filter(A=>!b.includes(A));o[u]=gs(d)?S:S[0]??"",i=b,c=d}return o}function he(e){return String(e.fieldKey||e.id||e.label)}function Zt(e){const t=String(e.fieldType||"").toLowerCase();return t==="textarea"||t==="text area"?"textarea":t==="date"?"date":t==="date time"||t==="datetime"||t==="datetime-local"?"datetime-local":t==="time"?"time":t==="email"?"email":t==="number"||t==="mobile"?"number":t==="radio"?"radio":t==="checkbox"||t==="multiselect"?"checkbox":t==="file"?"file":t==="images"?"images":(t==="dropdown"||t==="select"||t==="custom")&&e.options.length?"select":"text"}function yc(e){return`new-query-${e.id??he(e)}`}function bc(e){if(se(e))return(e.options||[]).find(r=>String(r).trim().toLowerCase()==="open")||"Open";const t=Zt(e);return t==="checkbox"||t==="file"||t==="images"?[]:""}function Sc(e){return Array.isArray(e)?e.map(t=>typeof File<"u"&&t instanceof File?t.name:t):typeof File<"u"&&e instanceof File?e.name:e??""}function ys(e,t){if(e==null)return t?.name||"";if(typeof e=="string"||typeof e=="number")return String(e);const n=e.file&&typeof e.file=="object"?e.file:e,r=n.path||n.id||t?.name||"",a=n.originalName||t?.name||"";return a&&r&&String(r)!==a?`${r}::${a}`:r}async function vA(e,t,n){const r=Zt(t);if(r==="file"&&typeof File<"u"&&n instanceof File){const a=await e(Vt({file:n,folder:"complaints"})).unwrap();return ys(a,n)}return r==="file"&&Array.isArray(n)?Promise.all(n.map(async a=>{if(typeof File<"u"&&a instanceof File){const o=await e(Vt({file:a,folder:"complaints"})).unwrap();return ys(o,a)}return a})):r==="images"&&Array.isArray(n)?await Promise.all(n.map(async o=>{if(typeof File<"u"&&o instanceof File){const l=await e(Vt({file:o,folder:"complaints"})).unwrap();return ys(l,o)}return o})):Sc(n)}function wA(e,t=[]){if(e==null||e==="")return"";const n=t.find(a=>String(a?.id??a?._id)===String(e)),r=n?.name??n?.storeName??n?.label;if(!r||!String(r).trim())throw new Error("Unable to resolve the selected Office name. Please select an Office again.");return String(r).trim()}async function CA(e=[],t={},n,r=[]){const a={};for(const o of e){const l=hA(o);if(!l)continue;const i=t[he(o)];a[l]=De(o)?wA(i,r):await vA(n,o,i)}return a}function vc(e){return Array.isArray(e)?e.length===0:typeof File<"u"&&e instanceof File?!1:e==null||String(e).trim()===""}function NA(e){return/^\d+$/.test(String(e).trim())}function _A(e=[],t={}){for(const n of e){const r=Zt(n),a=t[he(n)],o=n.label||"This field";if(n.required&&vc(a))return`${o} is required.`;if(!vc(a)&&r==="number"&&!NA(a))return`${o} must be a valid number.`}return""}function EA({field:e,value:t,onChange:n,storeList:r,options:a=e.options}){const{fieldLabel:o}=rt(),l=Zt(e),i=yc(e),c=se(e);if(De(e)&&Array.isArray(r))return s.jsx(Ji,{id:i,name:he(e),required:e.required,storeList:r,value:t,onChange:n});if(l==="radio")return s.jsx("div",{className:"review-options review-options--inline",children:a.map(d=>s.jsxs("label",{className:"review-option",htmlFor:`${i}-${d}`,children:[s.jsx("input",{id:`${i}-${d}`,name:he(e),type:"radio",value:d,checked:t===d,onChange:f=>n(f.target.value),required:e.required,disabled:c}),s.jsx("span",{children:d})]},d))});if(l==="checkbox"){const d=Array.isArray(t)?t:[];return s.jsx("div",{className:"review-options review-options--inline",children:a.map(f=>s.jsxs("label",{className:"review-option",htmlFor:`${i}-${f}`,children:[s.jsx("input",{id:`${i}-${f}`,name:`${he(e)}[]`,type:"checkbox",value:f,checked:d.includes(f),onChange:u=>n(u.target.checked?[...d,f]:d.filter(p=>p!==f))}),s.jsx("span",{children:f})]},f))})}if(l==="textarea")return s.jsx("textarea",{id:i,name:he(e),className:"review-control review-control--textarea",value:t,onChange:d=>n(d.target.value),required:e.required,disabled:c});if(l==="file")return s.jsx(Or,{id:i,name:he(e),value:t,onChange:n,multiple:!0,required:e.required,disabled:c});if(l==="images")return s.jsx(Or,{id:i,name:he(e),value:t,onChange:n,multiple:!0,required:e.required,disabled:c});if(l==="number")return s.jsx("input",{id:i,name:he(e),className:"review-control",type:"number",inputMode:"numeric",value:t,onChange:d=>n(String(d.target.value).replace(/[^\d]/g,"")),onKeyDown:d=>{(d.key==="e"||d.key==="E"||d.key==="+"||d.key==="-"||d.key===".")&&d.preventDefault()},required:e.required,disabled:c});if(l==="select"){const d=(a||[]).includes(t)||!c||!t?a:[t,...a];return s.jsxs("select",{id:i,name:he(e),className:"review-control",value:t,onChange:f=>n(f.target.value),required:e.required,disabled:c,children:[c?null:s.jsxs("option",{value:"",children:["Select ",o(e)]}),d.map(f=>s.jsx("option",{value:f,children:f},f))]})}return s.jsx("input",{id:i,name:he(e),className:"review-control",type:l,value:t,onChange:d=>n(d.target.value),required:e.required,disabled:c})}function wc({storeList:e}={}){const{fieldLabel:t}=rt(),n=G.useDispatch(),r=Ke(),a=Me(),{complaintTypeId:o}=It(),l=G.useSelector(F=>F.appDetails?.details?.storeList),i=Array.isArray(e)?e:Array.isArray(l)?l:[],c=Number(o),d=Number.isFinite(c)&&c>0,f=new URLSearchParams(a.search).get("access")==="public",[u,p]=g.useState([]),[b,S]=g.useState({}),[A,m]=g.useState(!0),[h,w]=g.useState(!1),[L,C]=g.useState(""),[k,I]=g.useState(""),[H,re]=g.useState(!1),[$,q]=g.useState(!f),[z,te]=g.useState(""),[R,O]=g.useState(""),D=G.useSelector(F=>{const j=F.complaintType??{},B=(Array.isArray(j.complaintList)?j.complaintList:[]).find(V=>String(V?.id??V?._id)===String(o))??(String(j.selected?.id??j.selected?._id)===String(o)?j.selected:null);return String(B?.name??B?.code??"").trim()}),K=D||R;g.useEffect(()=>{if(!f||!d)return;let F=!1;return n(Ze(c)).unwrap().then(j=>{const y=j?.data?.data??j?.data??j,V=String(y?.visibilityType??y?.accessType??"").toUpperCase()==="PUBLIC_LINK"&&y?.isActive!==!1&&y?.active!==!1;F||(q(V),V||C("This form is not available through a public link."))}).catch(()=>{F||(q(!1),C("This public form could not be verified."))}).finally(()=>{F||re(!0)}),()=>{F=!0}},[n,d,f,c]),g.useEffect(()=>{if(!d||D)return;let F=!1;return n(Ze(c)).unwrap().then(j=>{if(F)return;const y=j?.data??j;O(String(y?.name??y?.code??"").trim())}).catch(()=>{}),()=>{F=!0}},[c,D,n,d]),g.useEffect(()=>{if(!d||f&&(!H||!$))return;let F=!1;return n(qe(c)).unwrap().then(j=>{if(F)return;const y=pA(Array.isArray(j?.data)?j.data:j);p(y),S(Object.fromEntries(y.map(B=>[he(B),bc(B)])))}).catch(j=>{F||C(typeof j=="string"?j:j?.message||"Failed to load form fields.")}).finally(()=>{F||m(!1)}),()=>{F=!0}},[c,n,d]);const J=g.useMemo(()=>u.length>0,[u]),E=async F=>{if(F.preventDefault(),!d){C("A valid complaint type is required.");return}C(""),I(""),w(!0);const j=_A(u,b);if(j){C(j),w(!1);return}try{const y=await CA(u,b,n,i),B=u.findIndex(se),V=u[B+1],_=(V?[].concat(Sc(b[he(V)])).join(", ").trim():"")||K;if(!_){C("Title is required. Please fill the first field.");return}await n(dr({complaintTypeId:c,title:_,fieldValues:y})).unwrap(),I("Query submitted successfully."),a.key!=="default"?r(-1):r(`/complaintmanagement/${c}/all`)}catch(y){C(typeof y=="string"?y:y?.message||"Failed to submit query.")}finally{w(!1)}},U=F=>{const j=AA(F,u,b);return s.jsxs("div",{className:`review-question${["textarea","radio","checkbox"].includes(Zt(F))?" review-question--wide":""}`,children:[s.jsxs("label",{className:"review-label",htmlFor:yc(F),children:[t(F)||"Untitled field",F.required?s.jsx("span",{className:"review-required",children:"*"}):null]}),s.jsx(EA,{storeList:i,field:F,options:j,value:b[he(F)]??bc(F),onChange:y=>{se(F)||S(B=>{const V=SA(F,B[he(F)],y,u,B),ee=bA(F,y,u);return{...B,[he(F)]:y,...V,...ee}})}})]},F.id??he(F))};return s.jsx("main",{className:"ca-query-management-page",children:s.jsxs("section",{className:"ca-query-details","aria-labelledby":"new-query-title",children:[s.jsx("div",{className:"ca-query-details__heading",children:s.jsxs("div",{className:"ca-query-details__title-row",children:[s.jsx("button",{type:"button",className:"ca-settings-page__back",onClick:()=>r(-1),"aria-label":"Back to Complaint Management",children:s.jsx("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:s.jsx("path",{d:"M15 6l-6 6 6 6",stroke:"currentColor",strokeWidth:"2.2",strokeLinecap:"round",strokeLinejoin:"round"})})}),s.jsx("h1",{id:"new-query-title",className:"ca-query-details__title",children:"New Complaint"})]})}),L||!d?s.jsx("div",{className:"ca-validation-toast",role:"alert",children:L||"A valid complaint type is required."}):null,(A||f&&!H)&&d?s.jsx(tt,{text:f?"Verifying public form":"Loading form fields"}):null,d&&!A&&(!f||H&&$)&&J?s.jsxs("form",{className:"review-form-card",onSubmit:E,children:[s.jsx("div",{className:"review-form-grid",children:u.map(F=>s.jsx(g.Fragment,{children:se(F)?null:U(F)},F.id??he(F)))}),s.jsx("div",{className:"ca-new-query__actions",children:s.jsx(Ne,{type:"submit",disabled:h||f&&!$,children:h?"Submitting...":"Submit Complaint"})}),k?s.jsx("p",{className:"ca-body",children:k}):null]}):null]})})}const bs=[];function LA(e,t=200,n=null){const r=G.useDispatch(),a=G.useSelector(S=>S.appDetails?.details?.userList)??bs,o=G.useSelector(S=>S.status?.list)??bs,[l,i]=g.useState({key:null,complaints:[],error:null}),c=e==null||e===""?null:`${e}:${t}`;g.useEffect(()=>{if(e==null||e==="")return;const S=r($t(e));return()=>S.abort?.()},[e,r]),g.useEffect(()=>{if(e==null||e==="")return;let S=!1;const A=`${e}:${t}`;return de.get(Ia,{params:{complaintTypeId:e,page:1,limit:t}}).then(m=>{S||i({key:A,complaints:Gl(m.data),error:null})}).catch(m=>{S||i({key:A,complaints:[],error:m?.response?.data?.message??m?.message??"Failed to load complaints"})}),()=>{S=!0}},[e,t]);const d=l.key===c,f=d?l.complaints:bs,u=d?l.error:null,p=c!==null&&!d;return{rows:g.useMemo(()=>{const S={tatMinutes:Number(n)||0},A=h=>{const w=new Date(h?.createdAt??h?.submittedAt??h?.date??0).getTime();return Number.isNaN(w)?0:w},m=h=>Number(h?.complaintId??h?.id)||0;return[...f].sort((h,w)=>A(w)-A(h)||m(w)-m(h)).map(h=>ti(h,o,a,S))},[f,o,a,n]),isLoading:p,error:u}}function IA(){const e=G.useDispatch(),t=Ke(),n=Me(),{complaintTypeId:r}=It(),a=G.useSelector(d=>{const f=d.complaintType??{};return(Array.isArray(f.complaintList)?f.complaintList:[]).find(p=>String(p?.id??p?._id)===String(r))??(String(f.selected?.id??f.selected?._id)===String(r)?f.selected:null)}),{rows:o,isLoading:l,error:i}=LA(r,void 0,a?.tatMinutes),c=g.useCallback(d=>{t(`/complaintmanagement/${r}/details/${d.id}`,{state:{from:n.pathname}})},[r,n.pathname,t]);return g.useEffect(()=>{!a&&r&&e(Ze(r))},[r,e,a]),s.jsx("main",{className:"ca-query-management-page",children:s.jsxs("section",{className:"ca-filler-list",children:[s.jsxs("div",{className:"ca-query-details__heading",children:[s.jsxs("div",{className:"ca-query-details__title-row",children:[s.jsx("button",{type:"button",className:"ca-settings-page__back",onClick:()=>t("/"),"aria-label":"Back to Complaints",children:s.jsx("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:s.jsx("path",{d:"M15 6l-6 6 6 6",stroke:"currentColor",strokeWidth:"2.2",strokeLinecap:"round",strokeLinejoin:"round"})})}),s.jsxs("div",{children:[s.jsxs("h1",{className:"ca-query-details__title",children:[a?.name??a?.title??"Complaints",o.length?` (${o.length})`:""]}),s.jsx("p",{className:"ca-filler-card__desc",children:a?.description||" "})]})]}),s.jsx(Ne,{startIcon:s.jsx(fi,{size:14}),onClick:()=>t(`/complaintmanagement/new/${r}`),disabled:a?.isActive===!1||a?.active===!1,children:"Add Complaint"})]}),i?s.jsx("p",{className:"ca-body",children:i}):null,l?s.jsx(tt,{text:"Loading complaints"}):null,!l&&!i&&!o.length?s.jsx(wr,{text:"Nothing here yet",illustrated:!0}):null,l?null:o.map(d=>s.jsx(hi,{row:d,onClick:c},d.id))]})})}function Ss(e,t={}){if(!e)return"—";const n=new Date(e);return Number.isNaN(n.getTime())?"—":new Intl.DateTimeFormat(void 0,{day:"numeric",month:"short",year:"numeric",...t}).format(n)}function Cc(e){return e==null||e===""?"—":Array.isArray(e)?e.map(Cc).join(", "):typeof e=="object"?e.name??e.label??JSON.stringify(e):String(e)}function xr(e){const t=typeof e=="object"&&e!==null?e.userId??e.user_id??e.id??e.value??e.user?.id:e;return t==null||t===""?null:String(t)}function TA(e){const t=[e?.roleIds,e?.roles,e?.roleId!=null?[e.roleId]:[]].flatMap(n=>Array.isArray(n)?n:n==null?[]:[n]);return[...new Set(t.map(n=>xr(typeof n=="object"&&n!==null?{id:n.id??n.roleId??n.role_id??n.value??n.role?.id}:n)).filter(Boolean))]}function FA(e){return[e?.userAssignments,e?.users,e?.userIds,e?.assignedUsers].flatMap(n=>Array.isArray(n)?n:n==null?[]:[n]).filter(n=>n&&typeof n=="object")}function kA(e){const t=[e?.userAssignments,e?.users,e?.userIds,e?.assignedUsers].flatMap(n=>Array.isArray(n)?n:n==null?[]:[n]);return new Set(t.map(xr).filter(Boolean))}function vs(e){return String(e?.name??e?.userName??e?.fullName??[e?.firstName,e?.lastName].filter(Boolean).join(" ")??e?.email??"").trim()}function OA({assignedToUserId:e,assignedToUserName:t,currentUserId:n,users:r,saving:a,loading:o,error:l,onSelect:i,onRetry:c}){const[d,f]=g.useState(!1),u=g.useRef(null),p=g.useRef(null),[b,S]=g.useState(null),A=e!=null&&String(e)===String(n),m=A?"Assign to Me":t||"Assign";return g.useLayoutEffect(()=>{if(!d)return;const h=()=>{const w=u.current,L=p.current;if(!w||!L)return;const C=w.getBoundingClientRect(),k=L.getBoundingClientRect(),I=6,H=12,$=C.bottom+I+k.height>window.innerHeight-H&&C.top-I-k.height>=H?C.top-k.height-I:Math.min(C.bottom+I,window.innerHeight-k.height-H),q=Math.max(H,Math.min(C.left,window.innerWidth-k.width-H));S({top:$,left:q,visibility:"visible"})};return h(),window.addEventListener("resize",h),window.addEventListener("scroll",h,!0),()=>{window.removeEventListener("resize",h),window.removeEventListener("scroll",h,!0)}},[d,r.length,o,a,l]),g.useEffect(()=>{if(!d)return;const h=w=>{w.target.closest?.("[data-details-assignment-trigger], [data-details-assignment-menu]")||f(!1)};return document.addEventListener("pointerdown",h),()=>document.removeEventListener("pointerdown",h)},[d]),s.jsxs("div",{className:"ca-complaint-details__assignment-control",children:[s.jsxs("button",{ref:u,type:"button",className:"ca-complaint-table__assignment-trigger ca-complaint-details__assignment-trigger","data-details-assignment-trigger":"true",onClick:()=>f(h=>!h),"aria-expanded":d,"aria-label":"Assigned To",children:[s.jsx("span",{className:"ca-complaint-table__assignment-label",children:m}),s.jsx(Kt,{size:14,"aria-hidden":"true"})]}),d&&typeof document<"u"?jr.createPortal(s.jsxs("div",{ref:p,className:"ca-complaint-table__assignment-menu","data-details-assignment-menu":"true",role:"menu",style:b||{visibility:"hidden"},onClick:h=>h.stopPropagation(),children:[s.jsx("button",{type:"button",className:"ca-complaint-table__assignment-self",role:"menuitem",disabled:A||a,onClick:()=>{f(!1),i(n)},children:s.jsx("strong",{children:"Assign to me"})}),o?s.jsx("span",{className:"ca-complaint-table__assignment-state",children:"Loading users…"}):null,a?s.jsx("span",{className:"ca-complaint-table__assignment-state",children:"Saving assignment…"}):null,l?s.jsxs("div",{className:"ca-complaint-table__assignment-error",children:[s.jsx("span",{children:l}),s.jsx("button",{type:"button",onClick:c,children:"Retry"})]}):null,r.length?s.jsx("div",{className:"ca-complaint-table__assignment-others","aria-hidden":"true",children:"Others"}):null,r.filter(h=>String(h.id)!==String(n)).map(h=>s.jsxs("button",{type:"button",role:"menuitem",disabled:a||String(e)===String(h.id),onClick:()=>{f(!1),i(h.id)},children:[s.jsx("strong",{children:h.name||h.email||h.id}),h.email?s.jsx("span",{children:h.email}):null]},h.id))]}),document.body):null]})}function Nc({label:e,value:t,fieldType:n,attachmentUrls:r}){const o=Mn({fieldType:n},t)?Jt(t):[];return s.jsxs("div",{className:"ca-complaint-details__field",children:[s.jsx("span",{className:"ca-complaint-details__field-label",children:e||"Field"}),o.length?s.jsx("div",{className:"ca-complaint-details__attachments",children:o.map((l,i)=>{const c=Ct(l),d=r[c]||(typeof l=="string"&&/^https?:\/\//i.test(c)?c:""),f=Pn(l).split("/").pop();return d&&/\.(png|jpe?g|gif|webp|bmp|svg)(?:\?.*)?$/i.test(f)?s.jsx("a",{className:"ca-complaint-details__image-link",href:d,target:"_blank",rel:"noreferrer","aria-label":`View ${f}`,children:s.jsx("img",{src:d,alt:f})},`${c}-${i}`):d?s.jsx("a",{className:"ca-complaint-details__file",href:d,target:"_blank",rel:"noreferrer",children:f||"View attachment"},`${c}-${i}`):s.jsx("span",{className:"ca-complaint-details__file",children:f||"Attachment"},`${c}-${i}`)})}):s.jsx("span",{className:"ca-complaint-details__field-value",children:Cc(t)})]})}function DA({activities:e=[],fallbackRemarks:t=[],localRemarks:n=[],createdAt:r,isLoading:a,error:o,onRetry:l}){const i=g.useMemo(()=>{const d=[...e.length?e.map((u,p)=>{const b=u.action??u.activityType??u.type??"",S=u.description??u.remarks??u.remark??u.message??u.title??(typeof b=="string"?b:"")??"Complaint updated",A=/submit|created/i.test(`${b} ${S}`)?"created":"remark",m=[u.createdByFirstName,u.createdByLastName].filter(h=>h!=null&&String(h).trim()!=="").join(" ").trim();return{id:u.id??`${u.createdAt??u.timestamp??"activity"}-${p}`,type:A,text:S||"Complaint updated",author:u.createdByUserName||m||u.userName||u.actorName||u.createdBy?.name||u.user?.name,createdAt:u.createdAt??u.timestamp??u.occurredAt,fromLevelNo:u.fromLevelNo??u.oldLevelNo??u.fromLevel?.levelNo,toLevelNo:u.toLevelNo??u.newLevelNo??u.toLevel?.levelNo}}):[...t.map((u,p)=>({id:`${u.createdAt||"remark"}-${p}`,type:"remark",text:u.remark||"Complaint updated",author:u.createdByUserName,createdAt:u.createdAt,fromLevelNo:u.fromLevelNo,toLevelNo:u.toLevelNo}))],...n.map((u,p)=>({id:u.id??`local-${u.createdAt??p}`,type:"remark",text:u.remark||"Complaint updated",author:u.createdByUserName,createdAt:u.createdAt,fromLevelNo:u.fromLevelNo,toLevelNo:u.toLevelNo}))],f=d.some(u=>u.type==="created"||/complaint submitted/i.test(u.text));return r&&!f&&d.push({id:`created-${r}`,type:"created",text:"Complaint submitted",createdAt:r}),d.sort((u,p)=>new Date(p.createdAt||0)-new Date(u.createdAt||0))},[e,r,t,n]);return s.jsxs("aside",{className:"ca-complaint-details__activity","aria-label":"Activity log",children:[s.jsxs("div",{className:"ca-complaint-details__activity-heading",children:[s.jsx("h2",{children:"Activity log"}),s.jsx("span",{children:i.length})]}),a?s.jsx("p",{className:"ca-complaint-details__activity-empty",children:"Loading activity…"}):null,o?s.jsxs("div",{className:"ca-complaint-details__activity-empty",role:"alert",children:[s.jsx("p",{children:o}),s.jsx("button",{type:"button",onClick:l,children:"Retry"})]}):null,i.length?s.jsx("ol",{className:"ca-complaint-details__activity-list",children:i.map((c,d)=>s.jsxs("li",{className:"ca-complaint-details__activity-item",children:[s.jsx("span",{className:`ca-complaint-details__activity-icon ca-complaint-details__activity-icon--${c.type}`,"aria-hidden":"true",children:d===0?s.jsx(Em,{size:14,strokeWidth:1.8}):s.jsx(_m,{size:14,strokeWidth:1.8})}),s.jsxs("div",{className:"ca-complaint-details__activity-content",children:[s.jsx("p",{children:c.text}),c.type==="remark"||c.author?s.jsxs(s.Fragment,{children:[c.fromLevelNo!=null||c.toLevelNo!=null?s.jsxs("span",{className:"ca-complaint-details__activity-levels",children:[c.fromLevelNo!=null?`L${c.fromLevelNo}`:"—"," → ",c.toLevelNo!=null?`L${c.toLevelNo}`:"—"]}):null,c.author?s.jsx("span",{className:"ca-complaint-details__activity-author",children:c.author}):null]}):null,s.jsx("time",{dateTime:c.createdAt,children:Ss(c.createdAt,{hour:"numeric",minute:"2-digit"})})]})]},c.id))}):s.jsx("p",{className:"ca-complaint-details__activity-empty",children:"No activity yet"})]})}function PA({complaintId:e,complaintTypeId:t}){const n=G.useDispatch(),r=Ke(),a=Me(),o=a.pathname.startsWith("/querymanagement")?"querymanagement":"complaintmanagement",{data:l,isLoading:i,error:c}=G.useSelector(T=>T.complaintsGetOne??{}),d=G.useSelector(T=>T.activityLog??{}),f=G.useSelector(T=>T.status?.list??[]),u=G.useSelector(T=>T.workflow?.workflowSteps),p=G.useSelector(T=>T.appDetails?.details?.currentUser),b=G.useSelector(T=>T.roleUsers??{}),S=G.useSelector(T=>T.appDetails?.details?.userList??[]),A=p?.id??p?.userId??null,{fieldLabel:m}=rt(),h=G.useSelector(T=>T.appDetails?.details?.storeList),w=g.useMemo(()=>ni(h),[h]),L=T=>{const oe=T?.fieldName??T?.fieldKey??"Field";return m({...T,label:oe,fieldLabel:oe,fieldName:oe,key:T?.fieldKey})||oe},C=T=>typeof T=="string"&&w[T.trim()]?w[T.trim()]:T,{isLoading:k}=G.useSelector(T=>T.changeStatus??{}),[I,H]=g.useState({}),[re,$]=g.useState(null),[q,z]=g.useState(null),[te,R]=g.useState(""),[O,D]=g.useState(!1),[K,J]=g.useState([]),E=g.useCallback((T,oe="success")=>{J(ce=>[...ce,{id:Date.now()+Math.random(),message:T,type:oe}])},[]),U=g.useCallback(T=>{J(oe=>oe.filter(ce=>ce.id!==T))},[]),[F,j]=g.useState(""),y=g.useMemo(()=>Array.isArray(u)?u:Array.isArray(u?.steps)?u.steps:[],[u]);g.useEffect(()=>{n(mh()),n(wh());const T=n(yt(e)),oe=n(St(e));return()=>{T.abort?.(),oe.abort?.()}},[e,n]),g.useEffect(()=>{if(!t)return;const T=n($t(t)),oe=n(Re(t));return()=>{T.abort?.(),oe.abort?.()}},[t,n]);const B=Array.isArray(l?.fieldValues)?l.fieldValues:[],V=g.useMemo(()=>{const T=new Set;return(Array.isArray(l?.fieldValues)?l.fieldValues:[]).forEach(oe=>{Mn(oe?.formField,oe?.value)&&Jt(oe.value).forEach(ce=>{typeof ce=="string"&&T.add(Ct(ce))})}),[...T]},[l]);g.useEffect(()=>{const T=V.filter(ce=>!Object.prototype.hasOwnProperty.call(I,ce));if(!T.length)return;let oe=!1;return Promise.all(T.map(async ce=>{try{const pe=await n(_n({params:{path:ce}})).unwrap();return[ce,pe]}catch{return[ce,""]}})).then(ce=>{oe||H(pe=>({...pe,...Object.fromEntries(ce)}))}),()=>{oe=!0}},[V,I,n]);const ee=()=>r(a.state?.from||`/${o}/${t}`),_=re??(l?.statusId==null?"":String(l.statusId)),M=q??(l?.currentStepId==null?"":String(l.currentStepId)),N=_!==(l?.statusId==null?"":String(l.statusId))||M!==(l?.currentStepId==null?"":String(l.currentStepId)),Y=g.useMemo(()=>y.find(T=>String(T.id)===String(l?.currentStepId)),[l?.currentStepId,y]),Q=Y??l?.currentWorkflowStep,ne=g.useMemo(()=>TA(Q),[Q]);g.useEffect(()=>{ne.forEach(T=>{!b.usersByRoleId?.[T]&&!b.loadingByRoleId?.[T]&&!b.errorByRoleId?.[T]&&n(bt(T))})},[ne,n,b.errorByRoleId,b.loadingByRoleId,b.usersByRoleId]);const fe=g.useMemo(()=>{const T=kA(Q),oe=[...ne.flatMap(pe=>b.usersByRoleId?.[pe]??[]),...FA(Q),...S.filter(pe=>T.has(xr(pe))),p,l?.assignedToUser],ce=new Map;return oe.forEach(pe=>{const Ve=xr(pe);if(!Ve)return;const Br=ce.get(Ve);(!Br||!vs(Br)&&vs(pe))&&ce.set(Ve,pe)}),[...ce.entries()].map(([pe,Ve])=>({id:pe,name:vs(Ve)||(pe===String(A)?"Assign to Me":""),email:String(Ve?.email??Ve?.userEmail??"").trim()}))},[ne,S,Q,p,A,l?.assignedToUser,b.usersByRoleId]),ge=ne.some(T=>b.loadingByRoleId?.[T]),ye=ne.map(T=>b.errorByRoleId?.[T]).find(Boolean),Ae=(Array.isArray(p?.roles)?p.roles:[]).map(T=>Number(T?.id??T?.roleId??T?.role_id??T)).filter(Number.isFinite),ae=g.useMemo(()=>{if(!Q)return!1;const T=Array.isArray(Q.roleIds)&&Q.roleIds.some(pe=>Ae.includes(Number(pe))),oe=Number(p?.id??p?.userId),ce=[Q.userAssignments,Q.users,Q.userIds,Q.assignedUsers].filter(Array.isArray).flat().some(pe=>Number(pe?.userId??pe?.id??pe?.user?.id??pe)===oe);return T||ce},[Q,p?.id,p?.userId,Ae]),be=!vr(l?.status?.name)&&A!=null&&(!Y||ae),ve=!vr(l?.status?.name)&&A!=null&&String(l?.assignedToUserId)===String(A)&&(!Y||ae),Ee=g.useMemo(()=>[...y].sort((T,oe)=>Number(T.levelNo??0)-Number(oe.levelNo??0)),[y]),dt=g.useMemo(()=>Ee.find(T=>String(T.id)===String(M))??(String(l?.currentStepId)===String(M)?l?.currentWorkflowStep:null),[l?.currentStepId,l?.currentWorkflowStep,M,Ee]),$e=Number(dt?.levelNo??0),He=g.useMemo(()=>new Set(Ee.filter((T,oe)=>{const ce=Number(T.levelNo??oe+1);return ce===$e||ce===$e+1||ce===$e-1&&$e>1&&Sr(dt?.canReassign)}).map(T=>String(T.id))),[$e,dt?.canReassign,Ee]),Rt=l?.remarks,at=g.useMemo(()=>[...Array.isArray(Rt)?Rt:[]],[Rt]),xn=async()=>{if(!l?.id||k)return;j("");const T=N?te.trim():"";try{await n(At({id:l.id,statusId:_,currentStepId:M,assignedToUserId:A,remark:T})).unwrap(),$(null),z(null),R(""),await n(yt(e)).unwrap(),await n(St(e))}catch(oe){j(oe?.message??"Failed to update complaint")}},Nt=async T=>{if(!T||O)return;if(!be){E("Only users in the current level can assign this complaint.","error");return}if(A==null){E("Unable to identify the signed-in user.","error");return}const oe=String(T)===String(A),ce=String(l?.assignedToUserId)===String(A);if(!oe&&!ce){E("Please assign this complaint to yourself first. Then you can assign it to others.","error");return}if(String(l?.assignedToUserId)!==String(T)){D(!0);try{await n(At({id:l.id,assignedToUserId:T})).unwrap(),await n(yt(e)).unwrap(),await n(St(e)),E("Complaint assigned successfully")}catch(pe){E(pe?.message??"Failed to assign complaint","error")}finally{D(!1)}}},en=()=>{ne.forEach(T=>n(bt(T)))};return s.jsxs("main",{className:"ca-complaint-details-page",children:[s.jsxs("header",{className:"ca-complaint-details__header",children:[s.jsx("button",{className:"ca-complaint-details__back",type:"button",onClick:ee,"aria-label":"Back to complaints",children:s.jsx("span",{"aria-hidden":"true",children:"‹"})}),s.jsx("div",{className:"ca-complaint-details__heading",children:s.jsx("h1",{children:l?.complaintType?.name||"Complaint Details"})}),l?s.jsx("button",{className:"ca-complaint-details__update",type:"button",onClick:xn,disabled:k||!ve,children:k?"Updating…":"Update"}):null]}),i?s.jsx(tt,{text:"Loading complaint details"}):null,!i&&c?s.jsxs("div",{className:"ca-complaint-details__error",role:"alert",children:[s.jsx("p",{children:c}),s.jsx("button",{type:"button",onClick:()=>n(yt(e)),children:"Try again"})]}):null,!i&&!c&&l?s.jsxs("div",{className:"ca-complaint-details__layout",children:[s.jsxs("section",{className:"ca-complaint-details__main","aria-label":"Complaint information",children:[be?s.jsxs(s.Fragment,{children:[s.jsx("div",{className:"ca-complaint-details__assignment-section",children:s.jsxs("div",{className:"ca-complaint-details__field",children:[s.jsx("span",{className:"ca-complaint-details__field-label",children:"Assign to"}),s.jsx(OA,{assignedToUserId:l.assignedToUserId,assignedToUserName:fe.find(T=>T.id===String(l.assignedToUserId))?.name||l.assignedToUserName||l.assignedToUser?.name||"",currentUserId:A,users:fe,saving:O,loading:ge,error:ye,onSelect:Nt,onRetry:en})]})}),s.jsx("div",{className:"ca-complaint-details__section-divider"})]}):null,s.jsxs("div",{className:"ca-complaint-details__summary",children:[s.jsxs("label",{className:"ca-complaint-details__field",children:[s.jsx("span",{className:"ca-complaint-details__field-label",children:"Status"}),s.jsxs("span",{className:"ca-complaint-details__select-wrap",children:[s.jsxs("select",{className:"ca-complaint-details__control",value:_,disabled:!ve,onChange:T=>$(T.target.value),children:[f.map(T=>{const ce=!(String(T.id)===String(l.statusId))&&lm(T.name)&&!Sr(Q?.canResolve??l.currentWorkflowStep?.canResolve);return s.jsx("option",{value:T.id,disabled:ce,children:T.name},T.id)}),f.some(T=>String(T.id)===String(_))?null:s.jsx("option",{value:_,children:l.status?.name||"—"})]}),ve?s.jsx(Kt,{className:"ca-complaint-details__select-chevron",size:16,strokeWidth:1.8,"aria-hidden":"true"}):null]})]}),s.jsxs("label",{className:"ca-complaint-details__field",children:[s.jsx("span",{className:"ca-complaint-details__field-label",children:"Escalation to"}),s.jsxs("span",{className:"ca-complaint-details__select-wrap",children:[s.jsxs("select",{className:"ca-complaint-details__control",value:M,disabled:!ve,onChange:T=>z(T.target.value),children:[Ee.filter(T=>He.has(String(T.id))).map(T=>s.jsxs("option",{value:T.id,children:["Level ",T.levelNo]},T.id)),Ee.some(T=>String(T.id)===String(M))?null:s.jsx("option",{value:M,children:l.currentWorkflowStep?.levelNo!=null?`Level ${l.currentWorkflowStep.levelNo}`:"—"})]}),ve?s.jsx(Kt,{className:"ca-complaint-details__select-chevron",size:16,strokeWidth:1.8,"aria-hidden":"true"}):null]})]}),B.map((T,oe)=>s.jsx(Nc,{label:L(T.formField),value:C(T.value),fieldType:T.formField?.fieldType,attachmentUrls:I},T.id??`${T.formField?.id??"field"}-${oe}`)),s.jsx(Nc,{label:"Created at",value:Ss(l.createdAt)})]}),ve||at.length?s.jsxs("section",{className:"ca-complaint-details__remarks","aria-label":"Remarks",children:[s.jsx("h2",{children:"Remark"}),ve?s.jsxs(s.Fragment,{children:[s.jsx("form",{className:"ca-complaint-details__remark-form",onSubmit:T=>{T.preventDefault()},children:s.jsx("input",{"aria-label":"Enter remark",value:te,disabled:!N,onChange:T=>R(T.target.value),placeholder:"Enter remark"})}),F?s.jsx("p",{className:"ca-complaint-details__update-error",role:"alert",children:F}):null]}):null,at.length?s.jsx("ol",{className:"ca-complaint-details__remark-list",children:at.map((T,oe)=>s.jsxs("li",{children:[s.jsxs("div",{className:"ca-complaint-details__remark-meta",children:[s.jsxs("span",{children:[T.fromLevelNo!=null||T.toLevelNo!=null?`L${T.fromLevelNo??"—"} - L${T.toLevelNo??"—"}`:"",T.createdByUserName?` | ${T.createdByUserName}`:""]}),s.jsx("time",{dateTime:T.createdAt,children:Ss(T.createdAt,{hour:"numeric",minute:"2-digit"})})]}),s.jsx("p",{children:T.remark})]},T.id??`${T.createdAt??"remark"}-${oe}`))}):null]}):null]}),s.jsx(DA,{activities:d.activities,fallbackRemarks:at,createdAt:l.createdAt,isLoading:d.isLoading,error:d.error,onRetry:()=>n(St(e))})]}):null,s.jsx(ic,{toasts:K,onDismiss:U})]})}function _c(){const{complaintId:e,complaintTypeId:t}=It();return s.jsx(PA,{complaintId:e,complaintTypeId:t},e)}function MA({pageProps:e={},onPublish:t,onStepChange:n,children:r}){const a=r??s.jsx(mi,{...e});return s.jsxs(Ed,{children:[s.jsx(ke,{path:"/",element:a}),s.jsx(ke,{path:"/settings/:systemId",element:s.jsx(oc,{onPublish:t,onStepChange:n,company:e.company,roleList:e.roleList,userList:e.userList,storeList:e.storeList})}),s.jsx(ke,{path:"complaintmanagement",element:s.jsx(Pr,{onHeaderActionsChange:e.onHeaderActionsChange})}),s.jsx(ke,{path:"complaintmanagement/new/:complaintTypeId",element:s.jsx(wc,{company:e.company,storeList:e.storeList})}),s.jsx(ke,{path:"complaintmanagement/:complaintTypeId/details/:complaintId",element:s.jsx(_c,{})}),s.jsx(ke,{path:"complaintmanagement/:complaintTypeId",element:s.jsx(Pr,{onHeaderActionsChange:e.onHeaderActionsChange})}),s.jsx(ke,{path:"complaintmanagement/:complaintTypeId/all",element:s.jsx(IA,{})}),s.jsx(ke,{path:"querymanagement",element:s.jsx(Pr,{onHeaderActionsChange:e.onHeaderActionsChange})}),s.jsx(ke,{path:"querymanagement/new/:complaintTypeId",element:s.jsx(wc,{company:e.company,storeList:e.storeList})}),s.jsx(ke,{path:"querymanagement/:complaintTypeId/details/:complaintId",element:s.jsx(_c,{})}),s.jsx(ke,{path:"querymanagement/:complaintTypeId",element:s.jsx(Pr,{onHeaderActionsChange:e.onHeaderActionsChange})}),s.jsx(ke,{path:"*",element:a})]})}function xA({pageProps:e,onPublish:t=a=>console.log(a),onStepChange:n=a=>console.log(a),children:r}){return s.jsx(MA,{pageProps:e,onPublish:t,onStepChange:n,children:r})}function BA({children:e}){const{cssVars:t,darkMode:n,mode:r}=Qo();return s.jsx("div",{className:`ca-root ${n?"ca-root--dark":"ca-root--light"}`,"data-ca-theme":r,style:t,children:e})}function UA({basePath:e,children:t}){return Lt()?t:s.jsx(Vd,{basename:e,children:t})}function jA({store:e,children:t}){return s.jsx(G.Provider,{store:e||El,children:t})}function $A({details:e,children:t}){const n=G.useDispatch();return g.useEffect(()=>{n(el(e))},[n,e]),t}const Ec=[],Lc=({apiUrl:e,authToken:t,publicAccess:n=!1,store:r,basePath:a="/",theme:o,darkMode:l=!1,title:i,description:c,rolelist:d,roleList:f=d??Ec,userList:u=Ec,storeList:p,currentUser:b,company:S=b?.company,featureActions:A=Dh,useDemoData:m=!0,createLabel:h,onCreateForm:w,onConfigure:L,onOpen:C,onTitleClick:k,onDescriptionClick:I,onSearch:H,onHeaderActionsChange:re,onPublish:$,onSaveDraft:q,showSaveButton:z,showNextButton:te,onStepChange:R,children:O})=>{const D={title:i,description:c,useDemoData:m,createLabel:h,onCreateForm:w,onConfigure:L,onOpen:C,roleList:f,userList:u,storeList:p,company:S,onTitleClick:k,onDescriptionClick:I,onSearch:H,onHeaderActionsChange:re,onSaveDraft:q,showSaveButton:z,showNextButton:te},K=g.useMemo(()=>({featureActions:A,apiUrl:e,authToken:t,publicAccess:n,basePath:a,theme:o,darkMode:l,title:i,description:c,roleList:f,userList:u,storeList:p,currentUser:b,company:S,useDemoData:m,createLabel:h,onCreateForm:w,onConfigure:L,onOpen:C,onTitleClick:k,onDescriptionClick:I,onSearch:H,onHeaderActionsChange:re,onPublish:$,onSaveDraft:q,showSaveButton:z,showNextButton:te,onStepChange:R}),[A,e,t,n,a,o,l,i,c,f,u,p,b,S,m,h,w,L,C,k,I,H,re,$,q,z,te,R]);return s.jsx(Bi.Provider,{value:S,children:s.jsx(Ko,{theme:o,darkMode:l,children:s.jsx(jA,{store:r,children:s.jsx($A,{details:K,children:s.jsx(BA,{children:s.jsx($o,{apiUrl:e,authToken:t,publicAccess:n,children:s.jsx(UA,{basePath:a,children:s.jsx(xA,{pageProps:D,onPublish:$,onStepChange:R,children:O})})})})})})})})};function VA({children:e,onClick:t,className:n="",active:r=!1}){return s.jsx("button",{type:"button",className:`ca-chip ${r?"ca-chip--active":""} ${n}`.trim(),onClick:t,children:e})}function WA({checked:e=!1,onChange:t,name:n,value:r,"aria-label":a,className:o=""}){return s.jsxs("label",{className:`ca-radio ${o}`.trim(),children:[s.jsx("input",{type:"radio",className:"ca-radio__input",name:n,value:r,checked:e,onChange:t,"aria-label":a}),s.jsx("span",{className:"ca-radio__mark"})]})}function qA({status:e="inactive",label:t,className:n=""}){const a=String(e).toLowerCase()==="active",o=t??(a?"Active":"Inactive");return s.jsx("span",{className:`ca-badge rounded ca-badge--${a?"active":"inactive"} ${n}`.trim(),children:o})}const HA=["Open","Cancelled","Closed"];function zA({selectedStatus:e,statusNames:t=[],selectedCreatedAtSort:n,selectedLevel:r,selectedAssignment:a,workflowLevels:o=[],showLevelAndAssignmentFilters:l=!0,onStatusChange:i,onCreatedAtSortChange:c,onLevelChange:d,onAssignmentChange:f,onOpenDateFilter:u,hasDateFilter:p=!1,onDownloadReport:b,isDownloadingReport:S=!1,complaintTypeId:A}){return s.jsxs("div",{className:"ca-complaint-table__toolbar",children:[s.jsxs("div",{className:"ca-complaint-table__filters",children:[s.jsxs("label",{className:"ca-complaint-table__filter",children:[s.jsx(Om,{size:14,"aria-hidden":"true"}),s.jsx("span",{className:"ca-complaint-table__sr-only",children:"Filter by status"}),s.jsxs("select",{value:e,"aria-label":"Filter by status",onChange:m=>i?.(m.target.value),children:[s.jsx("option",{value:"all",children:"Select Status"}),(t.length?t:HA).map(m=>s.jsx("option",{value:m,children:gr(m)},m))]})]}),s.jsxs("label",{className:"ca-complaint-table__filter",children:[s.jsx("span",{className:"ca-complaint-table__sr-only",children:"Sort by created date"}),s.jsxs("select",{value:n,"aria-label":"Sort by created date",onChange:m=>c?.(m.target.value),children:[s.jsx("option",{value:"desc",children:"Created: Newest first"}),s.jsx("option",{value:"asc",children:"Created: Oldest first"})]})]}),l?s.jsxs(s.Fragment,{children:[s.jsxs("label",{className:"ca-complaint-table__filter",children:[s.jsx("span",{className:"ca-complaint-table__sr-only",children:"Filter by workflow level"}),s.jsxs("select",{value:r,"aria-label":"Filter by workflow level",onChange:m=>d?.(m.target.value),children:[s.jsx("option",{value:"all",children:"All Levels"}),o.map(m=>s.jsxs("option",{value:m,children:["Level ",m]},m))]})]}),s.jsxs("label",{className:"ca-complaint-table__filter",children:[s.jsx("span",{className:"ca-complaint-table__sr-only",children:"Filter by assignment"}),s.jsxs("select",{value:a,"aria-label":"Filter by assignment",onChange:m=>f?.(m.target.value),children:[s.jsx("option",{value:"all",children:"All"}),s.jsx("option",{value:"mine",children:"Assign to Me"}),s.jsx("option",{value:"unassigned",children:"Unassigned"})]})]})]}):null,s.jsx("button",{type:"button",className:`ca-complaint-table__sort${p?" ca-complaint-table__sort--active":""}`,"aria-label":"Filter by date",title:"Filter by date",onClick:u,children:s.jsx(Dm,{className:"ca-complaint-table__sort-icon",size:14,"aria-hidden":"true"})})]}),s.jsx("div",{className:"ca-complaint-table__actions",children:s.jsx(Ne,{variant:"outline",size:"sm",startIcon:s.jsx(Fm,{size:14}),onClick:b,disabled:S||!A,children:"Download Report"})})]})}const KA=Je.colors,QA=Je.radii,XA=Je.spacing,GA=Je.typography;x.AddFormButton=xi,x.AddTableCard=Ni,x.ApiProvider=$o,x.BodyText=Da,x.Button=Ne,x.COMPLAINT_ENDPOINTS=nr,x.CardFooter=Dl,x.CardHeader=Ol,x.ChevronDownIcon=Ka,x.ChevronRightIcon=En,x.Chip=VA,x.CloseIcon=vi,x.ComplaintApp=Lc,x.ComplaintManagementPage=mi,x.ComplaintSettingsPage=oc,x.ComplaintTableGrid=fc,x.ComplaintTableToolbar=zA,x.CustomPagination=lc,x.DEFAULT_PAGE_DESCRIPTION=ii,x.DEMO_SYSTEMS=ym,x.DataPoint=Pl,x.Divider=Ml,x.DragHandleIcon=ji,x.EmptyState=wr,x.FieldLabel=za,x.FormCard=Vi,x.FormCardGrid=Wi,x.FormField=Ge,x.FormInput=Er,x.FormSelect=Ga,x.FormTextarea=$m,x.Heading1=ka,x.Heading2=Oa,x.Input=zt,x.LabelText=Fl,x.LayersIcon=jm,x.LinkText=Eh,x.Loading=tt,x.PageHeader=ur,x.PlusIcon=Il,x.Radio=WA,x.RoleMultiSelect=Lr,x.SETTINGS_STEPS=Xe,x.SearchBar=li,x.SearchIcon=oi,x.Select=nt,x.SettingsCard=In,x.SettingsCardHeader=bi,x.SettingsWizardProvider=yi,x.StatusBadge=qA,x.Stepper=Tn,x.SystemCard=si,x.SystemCardGrid=qa,x.TableCard=_i,x.TableCardGrid=Oi,x.Tag=wi,x.Textarea=Si,x.ThemeProvider=Ko,x.Toggle=fr,x.ToggleField=Yi,x.TrashIcon=pr,x.Typography=it,x.ValueText=kl,x.WORKFLOW_SUBSTEPS=Um,x.api=de,x.appDetailsReducer=tl,x.clearAppDetails=Ep,x.clearComplaintError=Ap,x.clearId=Lp,x.clearSelectedComplaintResource=yp,x.colors=KA,x.complaintReducer=Yo,x.createComplaintStore=_l,x.darkTheme=gn,x.deepMerge=xt,x.default=Lc,x.defaultThemeFile=Vo,x.deleteFormField=yn,x.getFormFields=qe,x.lightTheme=Je,x.normalizeThemeFile=Wo,x.radii=QA,x.resetComplaintState=bp,x.resolveActiveTheme=qo,x.saveFormFields=An,x.setAppDetails=el,x.setAuthToken=Aa,x.setBaseUrl=jo,x.setId=gt,x.setIsEdit=Bt,x.spacing=XA,x.store=El,x.themeToCssVars=Ho,x.typography=GA,x.useSettingsWizard=_r,x.useTheme=Qo,Object.defineProperties(x,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
12
+ `)}const fm=["January","February","March","April","May","June","July","August","September","October","November","December"];function Jl(e){if(!e)return"";const t=new Date(e);return Number.isNaN(t.getTime())?"":`${t.getDate()} ${fm[t.getMonth()]} ${t.getFullYear()}`}function Zl(e){return(Array.isArray(e?.roles)?e.roles:[]).map(n=>Number(n?.id??n?.roleId??n?.role_id??n)).filter(n=>Number.isFinite(n))}function pm(e){const t=Array.isArray(e?.accesses)?e.accesses.map(r=>r?.role?.id??r?.role?.roleId??r?.roleId).map(Number).filter(Number.isFinite):[];return t.length?t:(Array.isArray(e?.roleIds)?e.roleIds:Array.isArray(e?.roles)?e.roles:[]).map(r=>Number(r?.id??r?.roleId??r?.role_id??r)).filter(r=>Number.isFinite(r))}function Va(e,t=[]){return pm(e).some(n=>t.includes(n))}function Rl(e){if(!e)return"";if(typeof e=="string")return e.trim();if(typeof e!="object")return"";const t=[e.firstName,e.lastName].filter(Boolean).join(" ");return String(e.name||e.userName||e.fullName||t||"").trim()}function ei(e,t=[]){const n=e?.assignedToUserName??e?.assignedToName??e?.assignedUserName;if(n&&String(n).trim())return String(n).trim();const r=e?.assignedTo??e?.assignedUser??e?.assignee,a=Rl(r);if(a)return a;const o=(r&&typeof r=="object"?r.id??r.userId:r)??e?.assignedToUserId??e?.assignedToId??e?.assignedUserId;if(o!=null&&o!==""){const l=t.find(i=>String(i?.id??i?.userId)===String(o));return Rl(l)}return""}function ti(e,t=[],n=[],r=null){const a=ja(e,t),o=e?.level??e?.levelNo??e?.currentLevel;return{id:e?.complaintId??e?.id,title:String(e?.complaintId??e?.id??"-"),status:a||"-",isClosed:vr(a),level:o!=null&&o!==""?o:"-",assignedTo:ei(e,n)||"Unassigned",date:Jl(e?.createdAt??e?.date),tat:r?gm(e,r.tatMinutes,a):null}}function hm(e,t=[]){const n=Number(e?.totalEntries)||0,r=Number(e?.openEntries)||0,a=Number(e?.closedEntries)||0,o=Number(e?.cancelledEntries)||0,l=(Array.isArray(e?.recentComplaints)?e.recentComplaints:[]).slice(0,2).map(i=>ti(i,[],t));return{total:n,open:r,closed:a,cancelled:o,previewRows:l}}function ni(e=[]){const t={};return(Array.isArray(e)?e:[]).forEach(n=>{const r=n?.id??n?._id,a=n?.name??n?.storeName;r!=null&&a&&(t[String(r)]=String(a))}),t}function ri(e,t={}){if(!Object.keys(t).length)return e;const n={...e};return Object.keys(n).forEach(r=>{const a=n[r];typeof a=="string"&&t[a.trim()]&&(n[r]=t[a.trim()])}),n}function ai(e,t=[],n=null){const r=e?.workflowComplaintSummary,a=[r?.levels,r?.steps,e?.workflowLevels,e?.workflowSteps].filter(Array.isArray).flat(),o=i=>Number(i&&typeof i=="object"?i.userId??i.id??i.roleId??i.role_id??i.user?.id??i.role?.id:i),l=(...i)=>i.filter(Array.isArray).flat().map(o).filter(Number.isFinite);return a.some(i=>{const c=l(i?.roleIds,i?.roles,i?.roleId!=null?[i.roleId]:null),d=l(i?.userIds,i?.users,i?.userAssignments,i?.assignedUsers);return c.some(f=>t.includes(f))||n!=null&&d.includes(Number(n))})}function Wa(e){const t=Math.max(Math.floor(Math.abs(e)/60),0),n=Math.floor(t/1440),r=Math.floor(t%1440/60),a=t%60,o=[];return n&&o.push(`${n}d`),r&&o.push(`${r}h`),a&&!n&&o.push(`${a}m`),o.join(" ")||"0m"}function mm(e){if(e%1440===0){const t=e/1440;return`${t} ${t===1?"day":"days"}`}return Wa(e*60)}function gm(e,t,n=""){if($a(n))return null;const r=Number(e?.escalationTimeRemainingSeconds);if(e?.escalationTimeRemainingSeconds==null||!Number.isFinite(r))return null;const a=Number(t)>0?Number(t)*60:0,o=r<0,l=a?Math.min(Math.max(Math.round((1-r/a)*100),0),100):0;return{percent:o?100:l,state:o?"overdue":l>=75?"warn":"ok",remainingLabel:o?`Overdue by ${Wa(r)}`:`${Wa(r)} remaining`,totalLabel:a?`of ${mm(Number(t))}`:""}}function Am(e){if(!e)return"";const t=new Date(e);return Number.isNaN(t.getTime())?"":t.toLocaleDateString("en-GB",{day:"numeric",month:"long",year:"numeric"})}function si({id:e,title:t,item:n,status:r="inactive",description:a,descriptionHref:o,departments:l,workflows:i,fields:c,formsFilled:d,updatedOn:f,titleAsLink:u=!1,onTitleClick:p,onDescriptionClick:b,onConfigure:S,onOpen:A,onDelete:m,onToggleActive:h,isTogglingActive:w=!1,className:L=""}){const C=G.useSelector(E=>E.appDetails?.details?.currentUser),k=G.useSelector(E=>E.appDetails?.details?.featureActions),{canCreateForm:I,canDelete:H,canOpen:re}=Pa(k),$=I,q=Zl(C),z=C?.id??C?.userId??null,te=re||ai(n,q,z)||Va(n,q),R=Va(n,q)&&n?.isActive!==!1,O=()=>{S?.({id:e,title:t,status:r,departments:l,workflows:i,fields:c,formsFilled:d,updatedOn:f})},D=()=>{if(b){b({id:e,title:t,descriptionHref:o});return}o&&typeof window<"u"&&window.open(o,"_blank","noopener,noreferrer")},K=[{label:"Total entries",value:n?.totalEntries??0,icon:s.jsx("img",{src:Ih,alt:""})},{label:"Open entries",value:n?.openEntries??0,icon:s.jsx("img",{src:Th,alt:""})},{label:"Closed entries",value:n?.closedEntries??0,icon:s.jsx("img",{src:Fh,alt:""})},{label:"Escalated entries",value:n?.escalatedEntries??0,icon:s.jsx("img",{src:kh,alt:""})}],J=e??n?.id??n?._id;return s.jsxs("article",{className:`ca-system-card ${L}`.trim(),children:[s.jsx(Ol,{title:n?.name,titleAsLink:u,onTitleClick:()=>p?.({id:e,title:t}),isActive:!!n?.isActive,canManage:$,canDelete:H,activeDisabled:w,onActiveChange:E=>h?.({id:J,isActive:E,item:n}),onDelete:()=>m?.({id:J,title:t,item:n})}),a?s.jsx("p",{className:"ca-system-card__description",onClick:D,children:a}):null,s.jsx("div",{className:"ca-system-card__stats",children:K.map((E,U)=>s.jsxs(g.Fragment,{children:[U>0?s.jsx(Ml,{}):s.jsx("div",{className:"ca-system-card__stats-spacer"}),s.jsx(Pl,{label:E.label,value:E.value,icon:E.icon})]},E.label))}),s.jsx(Dl,{updatedOn:f??Am(n?.updatedAt??n?.createdAt),onOpen:()=>A?.({id:e,title:t}),id:e??n?.id??n?._id,title:t,canOpen:te,canConfigure:$,canAddComplaint:R,onConfigure:O})]})}function wr({text:e="No data",illustrated:t=!1}){return s.jsxs("div",{className:`ca-empty-state${t?" ca-empty-state--illustrated":""}`,role:"status",children:[t?s.jsx("img",{className:"ca-empty-state__image",src:Ll,alt:"","aria-hidden":"true"}):null,s.jsx("span",{children:e})]})}function qa({systems:e=[],onConfigure:t,onOpen:n,onDelete:r,onToggleActive:a,togglingActiveId:o=null,onTitleClick:l,onDescriptionClick:i,emptyMessage:c="No systems found.",className:d=""}){return e.length?s.jsx("div",{className:`ca-system-grid ${d}`.trim(),children:e.map(f=>s.jsx(si,{item:f,...f,onConfigure:t,onOpen:n,onDelete:r,onToggleActive:a,isTogglingActive:String(o)===String(f.id??f._id),onTitleClick:l,onDescriptionClick:i},f.id??f.title))}):s.jsx("div",{className:`ca-system-grid ${d}`.trim(),children:s.jsx("div",{className:"ca-empty",children:s.jsx(wr,{text:c,illustrated:!0})})})}function zt({value:e,onChange:t,placeholder:n,type:r="text",icon:a,className:o="",inputClassName:l="",...i}){return s.jsxs("div",{className:`ca-input-wrap ${o}`.trim(),children:[a?s.jsx("span",{className:"ca-input-wrap__icon",children:a}):null,s.jsx("input",{type:r,className:`ca-input ${a?"ca-input--with-icon":""} ${l}`.trim(),value:e,onChange:t,placeholder:n,...i})]})}function oi({size:e=18,color:t="currentColor",...n}){return s.jsxs("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",...n,children:[s.jsx("path",{d:"M10.5 18a7.5 7.5 0 1 1 0-15 7.5 7.5 0 0 1 0 15Z",stroke:t,strokeWidth:"1.75"}),s.jsx("path",{d:"M16.5 16.5 21 21",stroke:t,strokeWidth:"1.75",strokeLinecap:"round"})]})}function li({value:e,onChange:t,onSearch:n,placeholder:r="Search",className:a=""}){const o=l=>{l.key==="Enter"&&n&&n(e)};return s.jsx("div",{className:`ca-search ${a}`.trim(),children:s.jsx(zt,{value:e,onChange:t,onKeyDown:o,placeholder:r,icon:s.jsx(oi,{}),"aria-label":r})})}function tt({text:e="Loading",fullScreen:t=!1}){return s.jsxs("div",{className:"ca-loading",style:t?{minHeight:"calc(100vh - 80px)"}:void 0,role:"status","aria-live":"polite",children:[s.jsx("span",{className:"ca-loading__spinner"}),s.jsxs("span",{children:[e,"…"]})]})}const ym=[{id:"qms",title:"QMS - Query Management System",status:"active",description:"Description of the template",departments:3,workflows:12,fields:55,formsFilled:234,updatedOn:"12 Mar 2024",titleAsLink:!1},{id:"cms",title:"CX- Pulse-360 ",status:"active",description:"Description of the template",departments:5,workflows:8,fields:42,formsFilled:189,updatedOn:"08 Mar 2024"},{id:"fms",title:"ENE - TRACKER",status:"inactive",description:"Description of the template",departments:2,workflows:4,fields:28,formsFilled:56,updatedOn:"01 Feb 2024"},{id:"rms",title:"RTV - Return to Vendor ",status:"active",description:"Description of the template",departments:4,workflows:10,fields:61,formsFilled:312,updatedOn:"20 Mar 2024"}],ii="Create, manage and track complaint forms, workflows and responses across departments.";const ci=(...e)=>e.filter((t,n,r)=>!!t&&t.trim()!==""&&r.indexOf(t)===n).join(" ").trim();const bm=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();const Sm=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,n,r)=>r?r.toUpperCase():n.toLowerCase());const di=e=>{const t=Sm(e);return t.charAt(0).toUpperCase()+t.slice(1)};var Ha={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};const vm=e=>{for(const t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1},wm=g.createContext({}),Cm=()=>g.useContext(wm),Nm=g.forwardRef(({color:e,size:t,strokeWidth:n,absoluteStrokeWidth:r,className:a="",children:o,iconNode:l,...i},c)=>{const{size:d=24,strokeWidth:f=2,absoluteStrokeWidth:u=!1,color:p="currentColor",className:b=""}=Cm()??{},S=r??u?Number(n??f)*24/Number(t??d):n??f;return g.createElement("svg",{ref:c,...Ha,width:t??d??Ha.width,height:t??d??Ha.height,stroke:e??p,strokeWidth:S,className:ci("lucide",b,a),...!o&&!vm(i)&&{"aria-hidden":"true"},...i},[...l.map(([A,m])=>g.createElement(A,m)),...Array.isArray(o)?o:[o]])});const _e=(e,t)=>{const n=g.forwardRef(({className:r,...a},o)=>g.createElement(Nm,{ref:o,iconNode:t,className:ci(`lucide-${bm(di(e))}`,`lucide-${e}`,r),...a}));return n.displayName=di(e),n};const _m=_e("arrow-up",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]);const ui=_e("building-2",[["path",{d:"M10 12h4",key:"a56b0p"}],["path",{d:"M10 8h4",key:"1sr2af"}],["path",{d:"M14 21v-3a2 2 0 0 0-4 0v3",key:"1rgiei"}],["path",{d:"M6 10H4a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-2",key:"secmi2"}],["path",{d:"M6 21V5a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v16",key:"16ra0t"}]]);const Em=_e("calendar-days",[["path",{d:"M8 2v3",key:"1ioesn"}],["path",{d:"M16 2v3",key:"otl347"}],["rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",key:"h1oib"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M8 13h.01",key:"1sbv64"}],["path",{d:"M12 13h.01",key:"y0uutt"}],["path",{d:"M16 13h.01",key:"wip0gl"}],["path",{d:"M8 17h.01",key:"p3bg7i"}],["path",{d:"M12 17h.01",key:"p32p05"}],["path",{d:"M16 17h.01",key:"ql8jdd"}]]);const Kt=_e("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);const Lm=_e("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);const Cr=_e("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);const Im=_e("chevrons-left",[["path",{d:"m11 17-5-5 5-5",key:"13zhaf"}],["path",{d:"m18 17-5-5 5-5",key:"h8a8et"}]]);const Tm=_e("chevrons-right",[["path",{d:"m6 17 5-5-5-5",key:"xnjwq"}],["path",{d:"m13 17 5-5-5-5",key:"17xmmf"}]]);const Nr=_e("circle-dot",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}]]);const Fm=_e("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]);const km=_e("flag",[["path",{d:"M4 22V4a1 1 0 0 1 .4-.8A6 6 0 0 1 8 2c3 0 5 2 7.333 2q2 0 3.067-.8A1 1 0 0 1 20 4v10a1 1 0 0 1-.4.8A6 6 0 0 1 16 16c-3 0-5-2-8-2a6 6 0 0 0-4 1.528",key:"1jaruq"}]]);const Om=_e("funnel",[["path",{d:"M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z",key:"sc7q7i"}]]);const Dm=_e("list-filter",[["path",{d:"M2 5h20",key:"1fs1ex"}],["path",{d:"M6 12h12",key:"8npq4p"}],["path",{d:"M9 19h6",key:"456am0"}]]);const fi=_e("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);const pi=_e("store",[["path",{d:"M15 21v-5a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v5",key:"slp6dd"}],["path",{d:"M17.774 10.31a1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.451 0 1.12 1.12 0 0 0-1.548 0 2.5 2.5 0 0 1-3.452 0 1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.77-3.248l2.889-4.184A2 2 0 0 1 7 2h10a2 2 0 0 1 1.653.873l2.895 4.192a2.5 2.5 0 0 1-3.774 3.244",key:"o0xfot"}],["path",{d:"M4 10.95V19a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8.05",key:"wn3emo"}]]);const Pm=_e("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);const Mm=_e("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);function hi({row:e,onClick:t}){return s.jsxs("div",{className:"ca-filler-row ca-filler-row--clickable",role:"button",tabIndex:0,onClick:()=>t?.(e),onKeyDown:n=>{n.key!=="Enter"&&n.key!==" "||(n.preventDefault(),t?.(e))},"aria-label":`Open complaint ${e.title||e.id}`,children:[s.jsxs("div",{className:"ca-filler-row__top",children:[s.jsxs("span",{className:"ca-filler-row__title",children:[s.jsx("span",{className:"ca-filler-row__prefix",children:"Complaint ID:"})," ",e.title]}),s.jsxs("span",{className:"ca-filler-row__right",children:[e.tat?s.jsxs("span",{className:"ca-filler-row__tat",children:[s.jsx("span",{className:"ca-filler-row__tat-label",children:"TAT"}),s.jsx("span",{className:"ca-filler-row__tat-track",children:s.jsx("span",{className:`ca-filler-row__tat-fill ca-filler-row__tat-fill--${e.tat.state}`,style:{width:`${e.tat.percent}%`}})}),s.jsxs("span",{className:"ca-filler-row__tat-text",children:[s.jsx("strong",{children:e.tat.remainingLabel})," ",e.tat.totalLabel]})]}):null,s.jsx(Cr,{size:16,"aria-hidden":"true"})]})]}),s.jsxs("div",{className:"ca-filler-row__meta",children:[s.jsxs("span",{children:["Status: ",s.jsx("strong",{children:gr(e.status)})]}),s.jsxs("span",{children:["Level: ",s.jsx("strong",{children:e.level})]}),s.jsx("span",{children:e.assignedTo==="Unassigned"?e.assignedTo:s.jsxs(s.Fragment,{children:["Assigned to: ",s.jsx("strong",{children:e.assignedTo})]})}),s.jsx("span",{children:e.date})]})]})}const xm=[];function Bm({form:e,onAddComplaint:t,onViewAll:n,onOpenComplaint:r,onOpenSubmissionLink:a}){const o=G.useSelector(p=>p.appDetails?.details?.userList)??xm,{total:l,open:i,closed:c,cancelled:d,previewRows:f}=hm(e,o),u=e.isActive!==!1&&e.active!==!1;return s.jsxs("article",{className:"ca-filler-card",children:[s.jsxs("div",{className:"ca-filler-card__head",children:[s.jsxs("div",{className:"ca-filler-card__heading",children:[s.jsxs("h3",{className:"ca-filler-card__title",children:[e.name??e.title,l?` (${l})`:""]}),i?s.jsxs("span",{className:"ca-filler-card__count",children:[i," open"]}):null,c?s.jsxs("span",{className:"ca-filler-card__count",children:[c," closed"]}):null,d?s.jsxs("span",{className:"ca-filler-card__count",children:[d," cancelled"]}):null]}),s.jsxs("button",{type:"button",className:"ca-filler-card__add",onClick:()=>t?.(e),disabled:!u,children:["Add complaint ",s.jsx(Cr,{size:14,"aria-hidden":"true"})]})]}),s.jsx("p",{className:"ca-filler-card__desc",children:e.description||" "}),f.map(p=>s.jsx(hi,{row:p,onClick:b=>r?.(e,b)},p.id)),["PUBLIC_LINK","PRIVATE_LINK"].includes(String(e.visibilityType||e.accessType||"").toUpperCase())?s.jsx("div",{className:"ca-filler-card__foot",children:s.jsxs("button",{type:"button",className:"ca-filler-card__link",onClick:()=>a?.(e),children:["Open ",String(e.visibilityType||e.accessType).toUpperCase()==="PUBLIC_LINK"?"public":"private"," form link ↗"]})}):null,s.jsxs("div",{className:"ca-filler-card__foot",children:[l?s.jsx("button",{type:"button",className:"ca-filler-card__link",onClick:()=>n?.(e),children:"View all >"}):s.jsx("span",{}),s.jsx("span",{className:"ca-filler-card__date",children:Jl(e.createdAt)})]})]})}function mi({title:e="Complaint Management",description:t=ii,createLabel:n="Create New Form",onCreateForm:r,onConfigure:a,onOpen:o,onTitleClick:l,onDescriptionClick:i,onSearch:c,onHeaderActionsChange:d}){const f=Ke(),u=Me(),p=G.useDispatch(),[b,S]=g.useState(""),[A,m]=g.useState(null),[h,w]=g.useState(""),{complaintList:L=[],loading:C=!1,error:k=null}=G.useSelector(_=>_.complaintType??{}),I=G.useSelector(_=>_.appDetails?.details?.currentUser),H=G.useSelector(_=>_.appDetails?.details?.featureActions),{canViewCards:re,canCreateForm:$,canDelete:q,canOpen:z,hasAnyAccess:te}=g.useMemo(()=>Pa(H),[H]),R=g.useMemo(()=>Zl(I),[I]),O=g.useMemo(()=>L.filter(_=>Va(_,R)),[L,R]),D=re||$||q||z,K=!D&&O.length>0,J=I?.id??I?.userId??null,E=g.useMemo(()=>L.filter(_=>ai(_,R,J)),[L,R,J]),U=!D&&!K&&E.length>0;g.useEffect(()=>{p(Bt({data:!1}))},[p]),g.useEffect(()=>{const _=setTimeout(()=>w(b.trim()),400);return()=>clearTimeout(_)},[b]),g.useEffect(()=>{p(vn(h?{search:h}:void 0))},[p,h]);const F=L;g.useEffect(()=>{c&&c(b)},[b,c]);const j=_=>{S(_.target.value)},y=_=>{a?.(_),f(`/settings/${_.id??"new"}?step=1`)},B=g.useCallback(()=>{p(Bt({data:!1})),r?.(),f("/settings/new?step=1")},[p,f,r]);g.useEffect(()=>{d&&d({view:"forms",search:b,searchPlaceholder:"Search forms",onSearchChange:S,canCreateComplaint:$,onNewComplaint:B})},[d,b,$,B]),g.useEffect(()=>()=>d?.(null),[d]);const V=({id:_})=>{q&&_!=null&&p(rr(_))},ee=({id:_,isActive:M})=>{$&&_!=null&&(m(_),p(Nn({id:_,isActive:M})).unwrap().then(()=>p(Cp({id:_,isActive:M}))).finally(()=>m(null)))};return!D&&C&&!k?s.jsx(tt,{text:"Loading"}):K?s.jsxs("div",{className:"ca-complaint-management-page","data-testid":"complaint-management-page",children:[s.jsx(ur,{title:"Complaints",description:"Create, manage and track complaint forms, workflows and responses across departments.",showAction:!1}),s.jsx("div",{className:"ca-filler-card-list",children:O.map(_=>s.jsx(Bm,{form:_,onAddComplaint:M=>f(`/complaintmanagement/new/${M.id}`),onOpenSubmissionLink:M=>{const N=String(M.visibilityType||M.accessType||"").toUpperCase()==="PUBLIC_LINK",Y=window.location.pathname.replace(/\/$/,""),Q=new URL(`${Y}/complaintmanagement/new/${M.id}`,window.location.origin);N&&Q.searchParams.set("access","public"),window.open(Q.toString(),"_blank","noopener,noreferrer")},onViewAll:M=>f(`/complaintmanagement/${M.id}/all`),onOpenComplaint:(M,N)=>f(`/complaintmanagement/${M.id}/details/${N.id}`,{state:{from:u.pathname}})},_.id))})]}):U?s.jsxs("div",{className:"ca-complaint-management-page","data-testid":"complaint-management-page",children:[s.jsx(ur,{title:e,description:t,showAction:!1}),s.jsx(qa,{systems:E,onOpen:o,onTitleClick:l,onDescriptionClick:i,emptyMessage:"No systems found."})]}):te?s.jsxs("div",{className:"ca-complaint-management-page","data-testid":"complaint-management-page",children:[s.jsx(ur,{title:e,description:t,actionLabel:n,onAction:B,showAction:$&&!d}),D?s.jsxs(s.Fragment,{children:[d?null:s.jsx("div",{className:"ca-search-container",children:s.jsx(li,{value:b,onChange:j,placeholder:"Search"})}),C?s.jsx(tt,{text:"Loading systems"}):k?s.jsx("div",{className:"ca-empty",children:s.jsx("p",{className:"ca-body",children:typeof k=="string"?k:"Failed to load complaint types."})}):s.jsx(qa,{systems:F,onConfigure:y,onOpen:o,onDelete:V,onToggleActive:ee,togglingActiveId:A,onTitleClick:l,onDescriptionClick:i,emptyMessage:"Nothing here yet"})]}):null]}):s.jsxs("div",{className:"ca-complaint-management-page ca-no-access","data-testid":"complaint-management-page",children:[s.jsx("img",{className:"ca-no-access__image",src:Ll,alt:"","aria-hidden":"true"}),s.jsx("p",{className:"ca-no-access__text",role:"status",children:"Nothing here yet"})]})}const gi=g.createContext(null),Ai=()=>({categoryName:"",categoryType:"",tatMinutes:"",template:"",visibilityType:"",urlLink:"",active:!1,description:"",roles:[],categoryRoleIds:[],categoryFormData:null,departmentRows:[{id:"1",department:"",subDepartment:"",roles:""}],priorityDraft:"",priorities:[],defaultPriorityId:null,selectedDeptNode:null,workflow:{name:"",tatMinutes:"",description:"",status:[],steps:[],stepsLoaded:!1,selectedTableCard:null},fieldDraft:{name:"",type:""},formFields:[],templateId:null,prefillWorkflowSteps:[],prefillFormFields:[]});function yi({children:e,initialValues:t}){const[n,r]=g.useState(()=>({...Ai(),...t,workflow:{...Ai().workflow,...t?.workflow}})),a=g.useCallback(i=>{r(c=>({...c,...i}))},[]),o=g.useCallback(i=>{r(c=>({...c,workflow:{...c.workflow,...i}}))},[]),l=g.useMemo(()=>({state:n,setState:r,update:a,updateWorkflow:o}),[n,a,o]);return s.jsx(gi.Provider,{value:l,children:e})}function _r(){const e=g.useContext(gi);if(!e)throw new Error("useSettingsWizard must be used within SettingsWizardProvider");return e}const Xe=[{id:1,key:"category",label:"Category Type",title:"Category Type",description:"Define the type and basic details for this category type."},{id:2,key:"workflow",label:"Workflow",title:"Workflow",description:"L1 > L2 > L3"},{id:3,key:"formFields",label:"Form Fields"},{id:4,key:"review",label:"Review & Publish",title:"Review & Publish",description:"Review your configuration and publish."}],Um=[{id:1,label:"Create Workflow"},{id:2,label:"Status"},{id:3,label:"Workflow Steps"}];function jm({size:e=28,color:t="currentColor",...n}){return s.jsxs("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",style:{color:"var(--ca-primary)"},...n,children:[s.jsx("path",{d:"M12 3 3 8l9 5 9-5-9-5Z",stroke:t,strokeWidth:"1.6",strokeLinejoin:"round"}),s.jsx("path",{d:"M3 12.5 12 17.5l9-5",stroke:t,strokeWidth:"1.6",strokeLinejoin:"round",strokeLinecap:"round"}),s.jsx("path",{d:"M3 16.5 12 21.5l9-5",stroke:t,strokeWidth:"1.6",strokeLinejoin:"round",strokeLinecap:"round"})]})}function bi({title:e,description:t,nextLabel:n="Next",onNext:r,showNext:a=!0,nextDisabled:o=!1,nextVariant:l="primary",extra:i=null,className:c=""}){return s.jsxs("div",{className:`ca-settings-card__header ${c}`.trim(),children:[s.jsx("div",{className:"ca-settings-card__heading",children:s.jsxs("div",{children:[s.jsx(Oa,{children:e}),t?s.jsx(Da,{className:"ca-settings-card__desc",children:t}):null]})}),i,a?s.jsx(Ne,{variant:l,disabled:o,onClick:r,endIcon:s.jsx(En,{size:14,color:"currentColor"}),children:n}):null]})}function In({title:e,description:t,onNext:n,nextLabel:r,showNext:a=!0,nextDisabled:o,nextVariant:l,headerExtra:i,children:c,footer:d,className:f=""}){return s.jsxs("section",{className:`ca-settings-card ${f}`.trim(),children:[s.jsx(bi,{title:e,description:t,onNext:n,nextLabel:r,showNext:a,nextDisabled:o,nextVariant:l,extra:i}),s.jsx("div",{className:"ca-settings-card__body",children:c}),d?s.jsx("div",{className:"ca-settings-card__footer",children:d}):null]})}function za({children:e,hint:t,htmlFor:n,className:r=""}){return s.jsxs("div",{className:`ca-field-label ${r}`.trim(),children:[s.jsx("label",{className:"ca-label",htmlFor:n,children:e}),t!=null?s.jsx("span",{className:"ca-field-label__hint",children:t}):null]})}function Ka({size:e=16,color:t="currentColor",...n}){return s.jsx("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",...n,children:s.jsx("path",{d:"M6 9l6 6 6-6",stroke:t,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}function Qa(e){return typeof e=="string"?e:e.value}function Xa(e){return typeof e=="string"?e:e.label}function nt({value:e,onChange:t,options:n=[],placeholder:r="Select",className:a="",disabled:o=!1,maxVisible:l,allowClear:i=!1,...c}){const[d,f]=g.useState(!1),u=g.useRef(null),p=e??"",b=n.find(m=>String(Qa(m))===String(p)),S=b?Xa(b):"";g.useEffect(()=>{if(!d)return;const m=h=>{u.current?.contains(h.target)||f(!1)};return document.addEventListener("mousedown",m),()=>document.removeEventListener("mousedown",m)},[d]);const A=m=>{t?.({target:{value:m}})};return l?s.jsxs("div",{className:`ca-select ca-select--menu ${a}`.trim(),ref:u,children:[s.jsx("button",{type:"button",id:c.id,className:`ca-select__control${S?"":" ca-select__control--placeholder"}`,disabled:o,"aria-haspopup":"listbox","aria-expanded":d,onClick:()=>f(m=>!m),children:S||r}),s.jsx("span",{className:"ca-select__chevron",children:s.jsx(Ka,{size:16})}),d?s.jsx("ul",{className:"ca-select__menu",role:"listbox",style:{"--ca-select-max-visible":l},children:n.map(m=>{const h=Qa(m),w=String(h)===String(p);return s.jsx("li",{role:"none",children:s.jsx("button",{type:"button",role:"option","aria-selected":w,className:`ca-select__option${w?" is-selected":""}`,onClick:()=>{A(h),f(!1)},children:Xa(m)})},h)})}):null]}):s.jsxs("div",{className:`ca-select ${a}`.trim(),children:[s.jsxs("select",{className:"ca-select__control",value:p,onChange:t,disabled:o,...c,children:[s.jsx("option",{value:"",disabled:!i,children:r}),n.map(m=>{const h=Qa(m);return s.jsx("option",{value:h,disabled:!!(m&&typeof m=="object"&&m.disabled),children:Xa(m)},h)})]}),s.jsx("span",{className:"ca-select__chevron",children:s.jsx(Ka,{size:16})})]})}function Si({value:e,onChange:t,placeholder:n,maxLength:r,rows:a=4,className:o="",...l}){return s.jsx("textarea",{className:`ca-textarea ${o}`.trim(),value:e,onChange:t,placeholder:n,maxLength:r,rows:a,...l})}function Ge({label:e,hint:t,children:n,className:r="",htmlFor:a}){return s.jsxs("div",{className:`ca-form-field ${r}`.trim(),children:[e!=null?s.jsx(za,{htmlFor:a,hint:t,children:e}):null,n]})}function Er({label:e,hint:t,helperText:n,...r}){return s.jsxs(Ge,{label:e,hint:t,htmlFor:r.id,children:[s.jsx(zt,{...r}),n?s.jsx("p",{className:"ca-form-field__helper",children:n}):null]})}function Ga({label:e,hint:t,...n}){return s.jsx(Ge,{label:e,hint:t,htmlFor:n.id,children:s.jsx(nt,{...n})})}function $m({label:e,hint:t,maxLength:n,value:r="",...a}){const o=t??(n!=null?`${String(r).length}/${n}`:void 0);return s.jsx(Ge,{label:e,hint:o,htmlFor:a.id,children:s.jsx(Si,{value:r,maxLength:n,...a})})}function vi({size:e=12,color:t="currentColor",...n}){return s.jsx("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",...n,children:s.jsx("path",{d:"M6 6l12 12M18 6L6 18",stroke:t,strokeWidth:"2",strokeLinecap:"round"})})}function wi({label:e,onRemove:t,className:n="",title:r}){return s.jsxs("span",{className:`ca-tag ${n}`.trim(),title:r,children:[e,t?s.jsx("button",{type:"button",className:"ca-tag__remove",onClick:t,"aria-label":`Remove ${e}`,children:s.jsx(vi,{size:10})}):null]})}function Lr({label:e="",options:t=[],value:n=[],onChange:r,placeholder:a="Select roles",className:o="",hasError:l=!1,required:i=!1,emptyText:c="No roles available",openDirection:d="up",showAll:f=!0,maxVisible:u=null,searchable:p=!1,searchPlaceholder:b="Search",lockedValues:S=[],rotateChevron:A=!1}){const[m,h]=g.useState(!1),[w,L]=g.useState(""),C=Array.isArray(n)?n.filter(E=>E!=null&&E!==""):[],k=new Set(S.map(E=>String(E))),I=g.useRef(null),H=g.useRef(null),re=t.map(E=>typeof E=="string"?{value:E,label:E,sublabel:"",searchText:E}:{value:E.value,label:E.label,sublabel:E.sublabel??"",title:E.title??"",searchText:E.searchText??`${E.label??""} ${E.sublabel??""}`}).filter(E=>E.value!==null&&E.value!==void 0&&E.value!==""),$=new Map(re.map(E=>[String(E.value),E.label])),q=E=>C.some(U=>String(U)===String(E)),z=re.filter(E=>`${E.label} ${E.sublabel} ${E.searchText}`.toLowerCase().includes(w.trim().toLowerCase())),te=z.map(E=>E.value),R=te.length>0&&te.every(E=>q(E)),O=()=>{if(R)r?.(C.filter(E=>k.has(String(E))||!te.some(U=>String(U)===String(E))));else{const E=C.filter(U=>!te.some(F=>String(F)===String(U)));r?.([...E,...te])}};g.useEffect(()=>{m&&H.current&&(H.current.scrollTop=0)},[m]),g.useEffect(()=>{if(!m)return;const E=F=>{I.current&&!I.current.contains(F.target)&&(h(!1),L(""))},U=F=>{F.key==="Escape"&&(h(!1),L(""))};return document.addEventListener("mousedown",E),document.addEventListener("touchstart",E),document.addEventListener("keydown",U),()=>{document.removeEventListener("mousedown",E),document.removeEventListener("touchstart",E),document.removeEventListener("keydown",U)}},[m]);const D=E=>{k.has(String(E))||(q(E)?r?.(C.filter(U=>String(U)!==String(E))):r?.([...C,E]),L(""))},K=E=>{k.has(String(E))||r?.(C.filter(U=>String(U)!==String(E)))},J=C.length?`${C.length} selected`:a;return s.jsxs("div",{className:`ca-role-select ${o}`.trim(),style:{display:"flex",flexDirection:"column",alignItems:"stretch",gap:8,width:"100%"},children:[s.jsxs(za,{children:[e,i?s.jsx("span",{style:{color:"#dc2626",marginLeft:2},"aria-hidden":"true",children:"*"}):null]}),s.jsxs("div",{className:"ca-multi-select",ref:I,style:{position:"relative",width:"100%"},children:[p?s.jsxs("div",{className:`ca-multi-select__trigger ${l?"ca-control--invalid":""}`.trim(),style:{width:"100%",border:l?"1px solid #dc2626":void 0,boxShadow:l?"0 0 0 3px rgba(220, 38, 38, 0.12)":void 0},role:"combobox","aria-haspopup":"listbox","aria-expanded":m,onClick:()=>h(!0),children:[s.jsx("input",{type:"search",className:"ca-multi-select__search ca-multi-select__search--trigger",value:w,placeholder:b,"aria-label":b,onFocus:()=>h(!0),onChange:E=>{L(E.target.value),h(!0)},onKeyDown:E=>{E.key==="Escape"&&(E.stopPropagation(),h(!1),L(""))}}),s.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",style:{transform:A&&m?"rotate(180deg)":"rotate(0deg)",transition:"transform 0.15s ease"},children:s.jsx("path",{d:"M6 9l6 6 6-6",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})]}):s.jsxs("button",{type:"button",className:`ca-multi-select__trigger ${l?"ca-control--invalid":""}`.trim(),style:{width:"100%",border:l?"1px solid #dc2626":void 0,boxShadow:l?"0 0 0 3px rgba(220, 38, 38, 0.12)":void 0},onClick:()=>h(E=>!E),"aria-haspopup":"listbox","aria-expanded":m,children:[s.jsx("span",{className:C.length?"":"ca-multi-select__placeholder",children:J}),s.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",style:{transform:A&&m?"rotate(180deg)":"rotate(0deg)",transition:"transform 0.15s ease"},children:s.jsx("path",{d:"M6 9l6 6 6-6",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})]}),m?s.jsxs("ul",{ref:H,className:"ca-multi-select__menu",role:"listbox","aria-multiselectable":"true",style:{position:"absolute",top:d==="down"?"calc(100% + 4px)":"auto",bottom:d==="down"?"auto":"calc(100% + 4px)",left:0,right:0,zIndex:20,maxHeight:u?u*38+8:d==="down"?220:260,overflowY:"auto"},children:[f&&z.length>1?s.jsx("li",{role:"option","aria-selected":R,style:{position:"sticky",top:0,zIndex:1,background:"var(--ca-surface, #fff)",borderBottom:"1px solid var(--ca-border, #e5e7eb)"},children:s.jsxs("label",{className:"ca-multi-select__option",children:[s.jsx("input",{type:"checkbox",checked:R,onChange:O}),s.jsx("span",{children:"All"})]})}):null,z.length?z.map(E=>s.jsx("li",{role:"option","aria-selected":q(E.value),children:s.jsxs("label",{className:"ca-multi-select__option",children:[s.jsx("input",{type:"checkbox",checked:q(E.value),disabled:k.has(String(E.value)),onChange:()=>D(E.value)}),s.jsxs("span",{className:"ca-multi-select__option-text",children:[s.jsx("span",{className:"ca-multi-select__option-label",children:E.label}),E.sublabel?s.jsx("span",{className:"ca-multi-select__option-sublabel",children:E.sublabel}):null]})]})},String(E.value))):s.jsx("li",{className:"ca-multi-select__empty",children:w?"No matching options":c})]}):null]}),C.length>0?s.jsx("div",{className:"ca-tag-list",children:[...new Set(C)].map(E=>s.jsx(wi,{label:$.get(String(E))||String(E),title:re.find(U=>String(U.value)===String(E))?.title,onRemove:k.has(String(E))?void 0:()=>K(E)},String(E)))}):null]})}function Tn({steps:e=[],currentStep:t=1,allStepsUnlocked:n=!1,onStepClick:r,className:a="",size:o="md",showSaveButton:l=!1,showNextButton:i=!1,onNext:c,nextLabel:d="Next >",extraActions:f=null}){const u=g.useRef({}),p=G.useDispatch();return g.useEffect(()=>{const b=u.current[t];if(!b)return;const S=requestAnimationFrame(()=>{let A=b.parentElement;for(;A&&A!==document.body;){const{overflowX:k}=getComputedStyle(A);if(A.scrollWidth>A.clientWidth+1&&(k==="auto"||k==="scroll"))break;A=A.parentElement}if(!A||A===document.body)return;const m=A.getBoundingClientRect(),h=b.getBoundingClientRect(),w=12;if(h.left>=m.left+w&&h.right<=m.right-w)return;const C=h.left-m.left-(m.width-h.width)/2;A.scrollTo({left:A.scrollLeft+C,behavior:"smooth"})});return()=>cancelAnimationFrame(S)},[t]),s.jsxs("div",{className:`ca-stepper-wrap ca-stepper-wrap--${o} ${a}`.trim(),children:[s.jsx("nav",{className:`ca-stepper ca-stepper--${o}`,"aria-label":"Progress",children:e.map((b,S)=>{const A=b.id??S+1,m=A===t,h=A<t,w=!!r&&(n||h||m);return s.jsxs("button",{type:"button",ref:L=>{u.current[A]=L},className:["ca-stepper__item",m?"ca-stepper__item--active":"",h?"ca-stepper__item--done":""].filter(Boolean).join(" "),style:{zIndex:e.length-S},onClick:()=>{p(Bt({data:!0})),w&&r?.(A)},disabled:!w,"aria-current":m?"step":void 0,children:[s.jsxs("span",{className:"ca-stepper__circle",children:[A,"."]}),s.jsx("span",{className:"ca-stepper__label",children:b.label})]},A)})}),l||i||f?s.jsxs("div",{className:"ca-stepper__actions",children:[f,i?s.jsx(Ne,{onClick:c,children:d}):null]}):null]})}const Vm={categoryName:"",tatMinutes:"",template:"",categoryType:"",description:"",visibilityType:"INTERNAL_LOGIN",urlLink:"",active:!0,roles:[],userIds:[]},Wm=[{value:"INTERNAL_LOGIN",label:"Internal Login"},{value:"PRIVATE_LINK",label:"Private Link"},{value:"PUBLIC_LINK",label:"Public Link"}],qm={value:"",label:"Select Template"},Ya=e=>String(e?.id??e?.code??e?.name??"");function Hm(e){return Array.isArray(e)?[...new Set(e.map(t=>!t||typeof t!="object"?t:t.userId??t.user_id??t.id??t.value??t.user?.userId??t.user?.id).filter(t=>t!=null&&t!==""))]:[]}function Ja(e){const t=[e?.userIds,e?.users,Array.isArray(e?.accesses)?e.accesses.map(n=>n?.userId??n?.user?.id):null];for(const n of t){const r=Hm(n);if(r.length)return r}return[]}function Ue(e){return e==null||e===""?null:String(e).trim()||null}function Za(e){return Ue(e?.userId??e?.user_id??e?.id??e?.value)}function Ir(e){return Array.isArray(e)?e:Array.isArray(e?.data)?e.data:Array.isArray(e?.steps)?e.steps:Array.isArray(e?.data?.steps)?e.data.steps:[]}function Qt(e){return String(e??"").toLowerCase().replace(/[^a-z0-9]/g,"")}function zm(e,t,n){const r=new Set,a=new Set,o=i=>{if(i==null||i==="")return;if(typeof i!="object"){const f=Ue(i);if(!f)return;const u=n.find(p=>Ue(p?.id??p?.roleId??p?.role_id??p?.value)===f||Qt(p?.name??p?.roleName??p?.label)===Qt(i));if(u){const p=Ue(u.id??u.roleId??u.role_id??u.value),b=Qt(u.name??u.roleName??u.label);p&&r.add(p),b&&a.add(b)}else r.add(f);return}const c=Ue(i.id??i.roleId??i.role_id??i.value),d=Qt(i.name??i.roleName??i.label??i.role?.name);c&&r.add(c),d&&a.add(d),i.role&&typeof i.role=="object"&&o(i.role)},l=new Set;return Ir(e).forEach(i=>{[i?.role,i?.roleIds,i?.roles].flatMap(c=>Array.isArray(c)?c:c==null?[]:[c]).forEach(o),[i?.users,i?.userAssignments,i?.userIds].flatMap(c=>Array.isArray(c)?c:c==null?[]:[c]).forEach(c=>{const d=Ue(typeof c=="object"?c.userId??c.user_id??c.id??c.value:c);d&&l.add(d)})}),t.forEach(i=>{l.has(Za(i))&&[i?.roleId,i?.role_id,i?.role,i?.roles,i?.roleIds,i?.assignedRoles,i?.userRoles].flatMap(c=>Array.isArray(c)?c:c==null?[]:[c]).forEach(c=>{o(c),c&&typeof c=="object"&&c.role&&o(c.role)})}),n.forEach(i=>{const c=Ue(i?.id??i?.roleId??i?.role_id??i?.value),d=Qt(i?.name??i?.roleName??i?.label);c&&r.has(c)&&d&&a.add(d)}),{roleIds:r,roleNames:a}}function Km(e,t=[]){const n=e?.createdByUser??e?.createdBy??e?.creator,r=Ue(e?.createdByUserId??e?.createdById??n?.userId??n?.id??n?.user?.id??(typeof n=="number"||/^\d+$/.test(String(n??"").trim())?n:null));if(r)return r;const a=typeof n=="string"?n.trim().toLowerCase():String(n?.name??n?.userName??"").trim().toLowerCase();if(!a)return null;const o=t.find(l=>{const i=String(l?.name??l?.userName??[l?.firstName,l?.lastName].filter(Boolean).join(" ")).trim().toLowerCase(),c=String(l?.email??l?.userEmail??"").trim().toLowerCase();return a===i||a===c});return Za(o)}function Ra(...e){const t=new Map;return e.flat().forEach(n=>{const r=Ue(n);r!==null&&!t.has(r)&&t.set(r,n)}),[...t.values()]}const Ci=e=>{const t=Array.isArray(e?.accesses)?e.accesses.map(l=>l?.role?.id??l?.roleId):[],n=Array.isArray(e?.roleIds)?e.roleIds:[],r=l=>l.map(i=>i&&typeof i=="object"?i.id??i.roleId??i.role_id??i.value:i).filter(i=>i!=null&&i!==""),a=r(t),o=r(n);return{categoryName:e?.name??e?.code??"",tatMinutes:Ut(e?.tatMinutes)||"",template:Ya(e),categoryType:e?.categoryType??Ya(e),description:e?.description??"",visibilityType:e?.visibilityType??e?.accessType??"INTERNAL_LOGIN",urlLink:e?.urlLink??"",active:e?.isActive??e?.active??!0,roles:[...new Set(a.length?a:o)],userIds:Ja(e)}};function Qm(e){return[qm,...e]}function Xm(e,t){const n=[];if(e.categoryName&&n.push("Please enter a category name."),e.tatMinutes){const r=String(t.tatMinutes??"").trim();n.push(r?"TAT must include a unit (m, h, or d). Example: 30m, 2h, 1d.":"Please enter TAT . Use Minutes for m, Hours for h, or Days for d.")}return e.visibilityType&&n.push("Please select a visibility type."),e.roles&&n.push("Please select roles for complaint filling."),n.join(" ")}function Gm(e){return String(e??"").replace(/(^|\s)(\S)/g,(t,n,r)=>n+r.toUpperCase())}function Ym({stepMeta:e,stepperProps:t,roleList:n=[],userList:r=[]}){const{state:a,update:o}=_r(),[l,i]=g.useState(()=>a.categoryFormData??Vm),c=g.useRef(a.categoryFormData),[d,f]=g.useState({}),u=G.useDispatch(),{id:p}=G.useSelector(y=>y.appDetails||{}),{isEdit:b}=G.useSelector(y=>y.appDetails||{}),S=G.useSelector(y=>y.complaintType||{}),A=G.useSelector(y=>y.workflow?.workflowSteps),m=G.useSelector(y=>y.appDetails?.details?.currentUser),{complaintList:h=[],loading:w,error:L}=S,C=h.find(y=>String(y?.id??y?._id)===String(p))??(String(S.selected?.id??S.selected?._id)===String(p)?S.selected:null),k=g.useRef(C),I=g.useRef(!1);g.useEffect(()=>{k.current=C},[C]);const H=(y,B={})=>{i(y),c.current=y,o({categoryFormData:y,...B})};g.useEffect(()=>{a.categoryFormData||o({categoryFormData:l,categoryRoleIds:l.roles})},[l,o,a.categoryFormData]),g.useEffect(()=>{!h.length&&!w&&!I.current&&(I.current=!0,u(vn()))},[h.length,u,w]),g.useEffect(()=>{!b||p===null||p===void 0||c.current||u(Ze(p)).unwrap().then(y=>{const B=y?.data??y;if(!B||c.current)return;const V=k.current,ee=Ja(B),_=Ja(V),M={...B,roleIds:B.roleIds??V?.roleIds,userIds:ee.length?ee:_},N=Ci(M);i(N),c.current=N,o({categoryFormData:N,categoryRoleIds:N.roles})}).catch(y=>{console.log(" Fetch error:",y)})},[u,p,b,o]);const re=n.map(y=>({value:y.id??y.roleId??y.value,label:y.name??y.roleName??y.label})).filter(y=>y.value!==null&&y.value!==void 0&&y.value!==""),$=a.workflow?.stepsLoaded?Ir(a.workflow.steps):[...Ir(a.prefillWorkflowSteps),...Ir(A)],q=zm($,r,n),z=re.filter(y=>{const B=Ue(y.value),V=Qt(y.label);return(Array.isArray(l.roles)?l.roles:[]).some(_=>Ue(_)===B)||!q.roleIds.has(B)&&!q.roleNames.has(V)}),te=r.map(y=>{const B=String(y?.name??y?.userName??y?.label??[y?.firstName,y?.lastName].filter(Boolean).join(" ")??"").trim(),V=String(y?.email??y?.userEmail??"").trim();return{value:y.id??y.userId??y.user_id??y.value,label:B,sublabel:V,title:V?`Email: ${V}`:""}}).filter(y=>y.value!==null&&y.value!==void 0&&y.value!==""),R=b?Km(C,r):Za(m),O=[];Ra(l.userIds,O);const D=b?C?.createdByUser??C?.createdBy:m;if(R&&!te.some(y=>Ue(y.value)===R)){const y=typeof D=="object"?String(D.name??D.userName??[D.firstName,D.lastName].filter(Boolean).join(" ")??"Created by user").trim():"Created by user";te.push({value:R,label:y||"Created by user",sublabel:typeof D=="object"?String(D.email??"").trim():""})}const K=h.map(y=>({value:Ya(y),label:y?.name??y?.code??"",complaintType:y})).filter(y=>y.value&&y.label),J=async y=>{const B=y?.id??y?._id??null,V={...l,...Ci(y),categoryName:"",roles:[],userIds:O};if(H(V,{categoryRoleIds:[]}),o({templateId:B,tatMinutes:Be(y?.tatMinutes)}),B==null||B===""){o({prefillWorkflowSteps:[],prefillFormFields:[]});return}try{const[ee,_]=await Promise.all([u(Re(B)).unwrap(),u(qe(B)).unwrap()]),M=(Array.isArray(ee?.data)?ee.data:Array.isArray(ee)?ee:[]).map(Y=>({...Y,roleIds:[],role:[],roleId:null})),N=Array.isArray(_?.data)?_.data:Array.isArray(_)?_:[];o({templateId:B,tatMinutes:Be(y?.tatMinutes),prefillWorkflowSteps:M,prefillFormFields:N})}catch(ee){console.log("Failed to load template details:",ee),o({templateId:B,prefillWorkflowSteps:[],prefillFormFields:[]})}},E=()=>{const y={...l,template:"",categoryType:"",tatMinutes:"",description:""};H(y),o({templateId:null,prefillWorkflowSteps:[],prefillFormFields:[]})},U=y=>{const B=y.target.value;if(!B){E();return}const V=K.find(ee=>ee.value===B)?.complaintType;if(V){J(V);return}F("template",B),F("categoryType",B)},F=(y,B)=>{const V=Array.isArray(B)?y==="userIds"?Ra(B,O):[...new Set(B.filter(_=>_!=null&&_!==""))]:B,ee={...l,[y]:V};H(ee,y==="roles"?{categoryRoleIds:V}:{}),f(_=>{if(!_[y])return _;const M={..._};return delete M[y],M})},j=async()=>{const y={};if(l.categoryName.trim()||(y.categoryName=!0),Fp(l.tatMinutes)||(y.tatMinutes=!0),l.visibilityType||(y.visibilityType=!0),l.roles.length||(y.roles=!0),Object.keys(y).length>0){f(y);return}f({});const B=Be(l.tatMinutes),V={...l,userIds:Ra(l.userIds,O)};H(V,{tatMinutes:B,categoryRoleIds:V.roles});const ee={categoryName:l.categoryName,categoryType:l.categoryType||l.template,tatMinutes:B,description:l.description,visibilityType:l.visibilityType,urlLink:"",active:l.active,roles:V.roles},_=b?Cn({id:p,data:{code:ee.categoryName,name:ee.categoryName,description:ee.description,tatMinutes:ee.tatMinutes,accessType:ee.visibilityType,roleIds:ee.roles.map(N=>parseInt(N,10))},onFail:N=>{console.log("updateComplaintType onFail:",N)}}):wn({payload:ee,onSuccess:N=>{u(gt(N?.data?.id??N?.id??null))},onFail:N=>{console.log("createComplaintType onFail:",N)}}),M=await u(_);if(b&&Cn.fulfilled.match(M)||!b&&wn.fulfilled.match(M)){if(!b){const N=M.payload?.data?.id??M.payload?.id;N!=null&&u(gt(N))}t.onNext?.()}};return s.jsxs(s.Fragment,{children:[s.jsx(Tn,{...t,steps:Xe,showNextButton:!!t.showNextButton,onNext:j}),L||Object.keys(d).length>0?s.jsx("div",{className:"ca-validation-toast",role:"alert",children:L||Xm(d,l)}):null,s.jsxs(In,{className:"ca-settings-card--category-type",title:e.title,description:e.description,showNext:!1,headerExtra:s.jsx("div",{className:"ca-category-type__header-tools",children:s.jsx("div",{className:"ca-category-type__template",children:s.jsx(Ga,{label:"Select Template (Optional)",value:l.template||l.categoryType,onChange:U,options:Qm(K),placeholder:"Select Template",maxVisible:5,disabled:b,className:b?"ca-select--disabled":""})})}),children:[s.jsxs("div",{className:"ca-step-section",children:[s.jsxs("div",{className:"ca-step-row ca-step-row--category-fields",children:[s.jsx(Er,{label:s.jsxs(s.Fragment,{children:["Category Name ",s.jsx("span",{style:{color:"#dc2626"},"aria-hidden":"true",children:"*"})]}),className:"ca-step-row__grow",inputClassName:d.categoryName?"ca-control--invalid":"",value:l.categoryName,onChange:y=>F("categoryName",Gm(y.target.value)),placeholder:"Enter category name"}),s.jsx(Er,{label:s.jsxs(s.Fragment,{children:["TAT ",s.jsx("span",{style:{color:"#dc2626"},"aria-hidden":"true",children:"*"})]}),type:"text",className:"ca-step-row__grow",inputClassName:d.tatMinutes?"ca-control--invalid":"",value:l.tatMinutes,onChange:y=>F("tatMinutes",y.target.value),placeholder:"Enter here",helperText:"Eg: 30m, 2h, 1d, 3d7h16m"})]}),s.jsx("div",{className:"ca-step-row ca-step-row--category-fields",children:s.jsx(Er,{label:"Description",className:"ca-step-row__grow",maxLength:500,value:l.description,onChange:y=>F("description",y.target.value),placeholder:"Enter description"})}),s.jsx("div",{className:"ca-step-row",children:s.jsx(Ga,{label:"Select Visibility Type",className:`ca-step-row__grow ${d.visibilityType?"ca-control--invalid":""}`,value:l.visibilityType,onChange:y=>F("visibilityType",y.target.value),options:Wm,placeholder:"Select visibility type"})}),["PRIVATE_LINK","PUBLIC_LINK"].includes(l.visibilityType)?s.jsx("p",{className:"ca-body ca-step-row__grow",children:l.visibilityType==="PUBLIC_LINK"?"A public form link will be generated automatically after saving.":"A private form link will be generated automatically after saving and requires sign-in."}):null]}),s.jsx("div",{className:"ca-step-section ca-step-section--last ca-category-type__access-selects",children:s.jsx(Lr,{label:"Select Roles for Complaint Filling",required:!0,hasError:!!d.roles,rotateChevron:!0,options:z,value:l.roles,maxVisible:4,onChange:y=>F("roles",y)})})]})]})}function Ni({level:e,onAdd:t,disabled:n=!1}){const r=`Level ${e}`,a=e===1?"Initial Handler":e===2?"Escalation if L1 TAT exceeded":"Escalation workflow";return s.jsxs("div",{className:"ca-add-table-card",children:[s.jsxs("header",{className:"ca-add-table-card__header",children:[s.jsxs("span",{className:"ca-add-table-card__level",children:["L",e]}),s.jsxs("div",{className:"ca-add-table-card__header-text",children:[s.jsx("h3",{className:"ca-add-table-card__title",children:r}),s.jsx("p",{className:"ca-add-table-card__subtitle",children:a})]})]}),s.jsx("div",{className:"ca-add-table-card__action",children:s.jsxs(Ne,{type:"button",className:"ca-add-table-card__button",disabled:n,onClick:()=>t?.(r),children:["+ Add L",e]})})]})}const es=["Yes","No"],Xt=()=>s.jsx("span",{style:{color:"#dc2626"},"aria-hidden":"true",children:" *"});function _i({name:e,level:t,value:n,initialFormValues:r,setFormValues:a,onChange:o,selected:l=!1,onSelect:i,onDelete:c,subtitle:d,roleList:f=[],showRoleError:u=!1,showEscalationError:p=!1,userList:b=[],fieldErrors:S={}}){const A=n??r??{},m=Array.isArray(A.role)?A.role:[],h=Array.isArray(A.users)?A.users:[],w=A.workflowType==="user"?"user":"role",L=f.map(O=>({value:O.id??O.roleId??O.value,label:O.name??O.roleName??O.label})).filter(O=>O.value!==null&&O.value!==void 0&&O.value!==""),C=O=>{const D=[O?.firstName,O?.lastName].map(E=>String(E??"").trim()).filter(Boolean).join(" "),K=String(O?.name??O?.userName??O?.label??"").trim()||D,J=[O?.roleName,O?.role?.name,typeof O?.role=="string"?O.role:"",...Array.isArray(O?.roles)?O.roles.map(E=>typeof E=="string"?E:E?.name):[]].map(E=>String(E??"").trim()).filter(Boolean).filter((E,U,F)=>F.indexOf(E)===U).join(", ");return{userName:K,roleName:J,email:String(O?.email??O?.userEmail??"").trim()}},k=b.map(O=>{const{userName:D,roleName:K,email:J}=C(O);return{value:O.id??O.userId??O.user_id??O.value,label:D,sublabel:J,title:J?`Email: ${J}`:"",searchText:K}}).filter(O=>O.value!==null&&O.value!==void 0&&O.value!==""),I=(O,D)=>{const K={...A,[O]:D};a?a(K):o?.(K)},H=m.length===0&&h.length===0,re=(u||!!S.role)&&H,$=O=>O?"ca-control--invalid":"",q=t===1?"green":t===2?"orange":"blue",z=O=>`workflow-level-${t}-${O}`,te=d||(t===1?"Initial Handler":t===2?"Escalation if L1 TAT exceeded":"Escalation workflow"),R=[{value:"role",label:"Role",count:m.length},{value:"user",label:"User",count:h.length}];return s.jsxs("article",{className:`ca-table-card ca-table-card--${q}${l?" ca-table-card--selected":""}`,onClick:i,children:[s.jsxs("header",{className:"ca-table-card__header",children:[s.jsxs("span",{className:"ca-table-card__level",children:["L",t]}),s.jsxs("div",{className:"ca-table-card__header-text",children:[s.jsx("h3",{className:"ca-table-card__title",children:e}),s.jsx("p",{className:"ca-table-card__subtitle",children:te})]}),s.jsx("button",{type:"button",className:"ca-table-card__delete","aria-label":`Delete ${e}`,title:`Delete ${e}`,onClick:O=>{O.stopPropagation(),c?.()},children:s.jsx(pr,{size:15,color:"currentColor"})})]}),s.jsx("div",{className:"ca-table-card__divider"}),s.jsxs("div",{className:"ca-table-card__fields",children:[s.jsx("div",{className:"ca-type-toggle",role:"group","aria-label":"Workflow type",children:R.map(O=>s.jsxs("button",{type:"button",className:`ca-type-toggle__btn${w===O.value?" ca-type-toggle__btn--active":""}`,onClick:D=>{D.stopPropagation(),w!==O.value&&I("workflowType",O.value)},children:[O.label,O.count?` (${O.count})`:""]},O.value))}),w==="role"?s.jsx(Ge,{label:s.jsxs(s.Fragment,{children:["Select Roles",s.jsx(Xt,{})]}),htmlFor:z("roleIds"),children:s.jsx(Lr,{id:z("role"),value:m,options:L,placeholder:"Select role",emptyText:"No roles available",openDirection:"down",showAll:!1,maxVisible:3,searchable:!0,searchPlaceholder:"Search Role",hasError:re,onChange:O=>I("role",O)},"role")}):s.jsx(Ge,{label:s.jsxs(s.Fragment,{children:["Select Users",s.jsx(Xt,{})]}),htmlFor:z("userIds"),children:s.jsx(Lr,{id:z("user"),value:h,options:k,placeholder:"Select user",emptyText:"No users available",openDirection:"down",showAll:!1,maxVisible:3,searchable:!0,searchPlaceholder:"Search User",hasError:re,onChange:O=>I("users",O)},"user")}),s.jsx("div",{className:"ca-table-card__divider"}),s.jsx(Ge,{label:s.jsxs(s.Fragment,{children:["Can Resolve ",s.jsx(s.Fragment,{children:"(Change the Status)"}),s.jsx(Xt,{})]}),htmlFor:z("canResolve"),children:s.jsx(nt,{id:z("canResolve"),className:$(S.canResolve),value:A.canResolve,options:es,onChange:O=>I("canResolve",O.target.value)})}),s.jsx(Ge,{label:s.jsxs(s.Fragment,{children:["Can Reassign ",s.jsx(s.Fragment,{children:"(Change the Level)"}),s.jsx(Xt,{})]}),htmlFor:z("canReassign"),children:s.jsx(nt,{id:z("canReassign"),className:$(S.canReassign),value:t===1?"No":A.canReassign,options:t===1?["No"]:es,disabled:t===1,onChange:O=>I("canReassign",O.target.value)})}),s.jsx(Ge,{label:s.jsxs(s.Fragment,{children:["Final Level",s.jsx(s.Fragment,{children:"(can be resolved or closed the complaint)"}),s.jsx(Xt,{})]}),htmlFor:z("finalLevel"),children:s.jsx(nt,{id:z("finalLevel"),className:$(S.finalLevel),value:A.finalLevel,options:es,onChange:O=>I("finalLevel",O.target.value)})}),s.jsx(Ge,{label:s.jsxs(s.Fragment,{children:["Escalation time",s.jsx(Xt,{})]}),htmlFor:z("escalationTime"),children:s.jsx("div",{className:"ca-table-card__time-input",children:s.jsx(zt,{id:z("escalationTime"),type:"text",className:$(p||S.escalation),value:A.escalateAfterMinutes??"",placeholder:"--",onChange:O=>I("escalateAfterMinutes",O.target.value)})})})]})]})}function Ei({open:e,title:t,children:n,primaryLabel:r="Save",onPrimary:a,secondaryLabel:o="Cancel",onSecondary:l,primaryDisabled:i=!1}){return e?s.jsx("div",{className:"ca-confirm-modal",role:"dialog","aria-modal":"true","aria-labelledby":"ca-modal-title",children:s.jsxs("div",{className:"ca-confirm-modal__dialog",children:[t?s.jsx("p",{id:"ca-modal-title",className:"ca-confirm-modal__message",children:t}):null,n,s.jsxs("div",{className:"ca-confirm-modal__actions",children:[o?s.jsx(Ne,{variant:"outline",onClick:l,children:o}):null,s.jsx(Ne,{onClick:a,disabled:i,children:r})]})]})}):null}function Li({variant:e,levelNo:t,open:n,onConfirm:r,onClose:a}){return n?e==="finalLevelDelete"?s.jsx(Ei,{open:!0,title:`Final Level is set to Yes at Level ${t}. You can't create a next level here, and every level after Level ${t} will be deleted. Do you want to continue?`,primaryLabel:"Ok",onPrimary:r,secondaryLabel:"Cancel",onSecondary:a}):e==="finalLevelRequired"?s.jsx(Ei,{open:!0,title:`Level ${t} is the last level. "Final Level" must be Yes. Click Ok to set it to Yes.`,primaryLabel:"Ok",onPrimary:r,secondaryLabel:null}):null:null}function ts(e,t=0){const n=o=>!String(o??"").trim(),r=!(Array.isArray(e?.role)&&e.role.length),a=!(Array.isArray(e?.users)&&e.users.length);return{role:r&&a,canResolve:n(e?.canResolve),canReassign:t>0&&n(e?.canReassign),finalLevel:n(e?.finalLevel),escalation:n(e?.escalateAfterMinutes)}}const Jm="data:image/svg+xml,%3csvg%20width='31'%20height='57'%20viewBox='0%200%2031%2057'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M0.50001%200.000227733C0.223869%200.000226605%209.85899e-06%200.224084%208.79418e-06%200.500226C7.72665e-06%200.776369%200.223865%201.00023%200.500009%201.00023L0.50001%200.500227L0.50001%200.000227733ZM15%200.500275L15%201.00028L15%200.500275ZM27%2012.5003L27.5%2012.5003L27%2012.5003ZM26.6464%2056.8527C26.8417%2057.048%2027.1582%2057.048%2027.3535%2056.8527L30.5355%2053.6707C30.7307%2053.4755%2030.7307%2053.1589%2030.5355%2052.9636C30.3402%2052.7683%2030.0236%2052.7683%2029.8284%2052.9636L26.9999%2055.792L24.1715%2052.9636C23.9763%2052.7683%2023.6597%2052.7683%2023.4644%2052.9636C23.2692%2053.1589%2023.2692%2053.4754%2023.4644%2053.6707L26.6464%2056.8527ZM0.50001%200.500227L0.500009%201.00023L15%201.00028L15%200.500275L15%200.000275583L0.50001%200.000227733L0.50001%200.500227ZM27%2012.5003L26.5%2012.5003L26.4999%2056.4991L26.9999%2056.4991L27.4999%2056.4991L27.5%2012.5003L27%2012.5003ZM15%200.500275L15%201.00028C21.3513%201.0003%2026.5%206.14903%2026.5%2012.5003L27%2012.5003L27.5%2012.5003C27.5%205.59674%2021.9036%200.000298399%2015%200.000275583L15%200.500275Z'%20fill='%2300BF87'/%3e%3c/svg%3e",Zm="data:image/svg+xml,%3csvg%20width='28'%20height='61'%20viewBox='0%200%2028%2061'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M27.0053%2057.2042C27.2006%2057.009%2027.2006%2056.6924%2027.0053%2056.4971L23.8233%2053.3152C23.6281%2053.1199%2023.3115%2053.1199%2023.1162%2053.3152C22.921%2053.5104%2022.921%2053.827%2023.1162%2054.0223L25.9447%2056.8507L23.1163%2059.6791C22.921%2059.8744%2022.921%2060.191%2023.1163%2060.3862C23.3115%2060.5815%2023.6281%2060.5815%2023.8234%2060.3862L27.0053%2057.2042ZM12.5001%2056.8508L12.5001%2057.3508V57.3508L12.5001%2056.8508ZM0.500014%2044.8508L1.33317e-05%2044.8508V44.8508L0.500014%2044.8508ZM26.6518%2056.8507L26.6518%2056.3507L12.5001%2056.3508L12.5001%2056.8508L12.5001%2057.3508L26.6518%2057.3507L26.6518%2056.8507ZM0.500014%2044.8508L1.00001%2044.8508L1.00001%20-0.000388027L0.50001%20-0.000388722L9.54624e-06%20-0.000389416L1.33317e-05%2044.8508L0.500014%2044.8508ZM12.5001%2056.8508L12.5001%2056.3508C6.14877%2056.3508%201.00001%2051.2021%201.00001%2044.8508L0.500014%2044.8508L1.33317e-05%2044.8508C1.43871e-05%2051.7544%205.59649%2057.3508%2012.5001%2057.3508L12.5001%2056.8508Z'%20fill='%23FF9E32'/%3e%3c/svg%3e",Rm="data:image/svg+xml,%3csvg%20width='57'%20height='31'%20viewBox='0%200%2057%2031'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M56.9989%200.500133C56.9989%200.223991%2056.7751%200.000131942%2056.4989%200.00013087C56.2228%200.000129795%2055.9989%200.223987%2055.9989%200.500131L56.4989%200.500132L56.9989%200.500133ZM56.4989%2015.0002L55.9989%2015.0002L56.4989%2015.0002ZM44.4989%2027.0001L44.4988%2027.5001L44.4989%2027.0001ZM0.146456%2026.6465C-0.0488074%2026.8418%20-0.0488086%2027.1584%200.146455%2027.3536L3.32843%2030.5356C3.52369%2030.7309%203.84027%2030.7309%204.03554%2030.5356C4.2308%2030.3403%204.2308%2030.0238%204.03554%2029.8285L1.20712%2027.0001L4.03555%2024.1716C4.23081%2023.9764%204.23081%2023.6598%204.03555%2023.4645C3.84029%2023.2693%203.5237%2023.2693%203.32844%2023.4645L0.146456%2026.6465ZM56.4989%200.500132L55.9989%200.500131L55.9989%2015.0002L56.4989%2015.0002L56.9989%2015.0002L56.9989%200.500133L56.4989%200.500132ZM44.4989%2027.0001L44.4989%2026.5001L0.500009%2026.5001L0.500008%2027.0001L0.500007%2027.5001L44.4988%2027.5001L44.4989%2027.0001ZM56.4989%2015.0002L55.9989%2015.0002C55.9988%2021.3514%2050.8501%2026.5001%2044.4989%2026.5001L44.4989%2027.0001L44.4988%2027.5001C51.4024%2027.5001%2056.9988%2021.9037%2056.9989%2015.0002L56.4989%2015.0002Z'%20fill='%2300BF87'/%3e%3c/svg%3e",eg="data:image/svg+xml,%3csvg%20width='61'%20height='28'%20viewBox='0%200%2061%2028'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M3.32848%2027.0049C3.52374%2027.2002%203.84032%2027.2002%204.03559%2027.0049L7.21755%2023.8229C7.41281%2023.6277%207.4128%2023.3111%207.21754%2023.1158C7.02228%2022.9206%206.70569%2022.9206%206.51043%2023.1158L3.68203%2025.9443L0.85358%2023.1159C0.658316%2022.9206%200.341733%2022.9206%200.146472%2023.1159C-0.0487878%2023.3111%20-0.0487864%2023.6277%200.146478%2023.823L3.32848%2027.0049ZM3.68194%2012.4997L3.18194%2012.4997V12.4997L3.68194%2012.4997ZM15.6819%200.499617L15.6819%20-0.000382774V-0.000382774L15.6819%200.499617ZM3.68203%2026.6514L4.18203%2026.6514L4.18194%2012.4997L3.68194%2012.4997L3.18194%2012.4997L3.18203%2026.6514L3.68203%2026.6514ZM15.6819%200.499617L15.6819%200.999618L60.5331%200.999616L60.5331%200.499615L60.5331%20-0.000385315L15.6819%20-0.000382774L15.6819%200.499617ZM3.68194%2012.4997L4.18194%2012.4997C4.1819%206.14838%209.33063%200.999618%2015.6819%200.999618L15.6819%200.499617L15.6819%20-0.000382774C8.77834%20-0.00038191%203.18189%205.5961%203.18194%2012.4997L3.68194%2012.4997Z'%20fill='%23FF9E32'/%3e%3c/svg%3e",ns=(e,t,n={})=>({id:e,name:t,role:Array.isArray(n.role)?n.role:n.roleId!==void 0&&n.roleId!==null?[n.roleId]:[],users:Array.isArray(n.users)?n.users:[],workflowType:n.workflowType??"role",canResolve:n.canResolve??"",canReassign:n.canReassign??(Number(e)===1?"No":""),finalLevel:n.finalLevel??"",escalateAfterMinutes:Ut(n.escalateAfterMinutes)||""});function rs(e){return e===!0||e==="Yes"||e==="true"||e===1||e==="1"?"Yes":e===!1||e==="No"||e==="false"||e===0||e==="0"?"No":e??""}function tg(e,t){const n=[e.role,e.roleIds,e.roles].filter(Array.isArray),a=(n.find(i=>i.length)??n[0]??[]).map(i=>i&&typeof i=="object"?i.id??i.roleId:i).filter(i=>i!=null),o=(Array.isArray(e.userAssignments)?e.userAssignments:Array.isArray(e.users)?e.users:[]).map(i=>i&&typeof i=="object"?i.userId??i.id:i).filter(i=>i!=null),l=a.length>0?"role":o.length>0||/user/i.test(String(e.workflowType??""))?"user":"role";return ns(e.levelNo??t+1,e.name??`Level ${e.levelNo??t+1}`,{role:a,users:o,workflowType:l,canResolve:rs(e.canResolve),canReassign:t===0?"No":rs(e.canReassign),finalLevel:rs(e.isFinalLevel??e.finalLevel),escalateAfterMinutes:Ut(e.escalateAfterMinutes)||""})}function Ii(e=[]){return(Array.isArray(e)?e:[]).map(tg)}function Ti(e=[]){return e.flatMap(t=>Array.isArray(t?.roles)?t.roles:Array.isArray(t?.role)?t.role.filter(n=>n&&typeof n=="object"):[])}const as=[ns(1,"Level 1")];function Fi({accent:e}){return s.jsxs("div",{className:`ca-escalation-connector ca-escalation-connector--desktop ca-escalation-connector--${e}`,"aria-hidden":"true",children:[s.jsx("img",{src:Jm,alt:"",className:"ca-escalation-connector__arrow ca-escalation-connector__arrow--first"}),s.jsx("span",{children:"Escalates to"}),s.jsx("img",{src:Zm,alt:"",className:"ca-escalation-connector__arrow ca-escalation-connector__arrow--second"})]})}function ki({accent:e}){return s.jsxs("div",{className:`ca-escalation-connector ca-escalation-connector--mobile ca-escalation-connector--${e}`,"aria-hidden":"true",children:[s.jsx("img",{src:Rm,alt:"",className:"ca-escalation-connector__arrow ca-escalation-connector__arrow--first"}),s.jsx("span",{children:"Escalates to"}),s.jsx("img",{src:eg,alt:"",className:"ca-escalation-connector__arrow ca-escalation-connector__arrow--second"})]})}function Oi({id:e,selectedTableId:t,onSelect:n,setUpdatePayload:r,registerWorkflowActions:a,roleList:o=[],prefillSteps:l=[],tatTotalMinutes:i=0,showRoleError:c=!1,showEscalationError:d=!1,showRequiredErrors:f=!1,userList:u=[],onAddBlocked:p}){const b=e!=null,[,S]=g.useState(as),[A,m]=g.useState(as),[h,w]=g.useState([]),[L,C]=g.useState(b),[k,I]=g.useState(null),[H,re]=g.useState(i),$=g.useRef(null),q=g.useRef(i),z=g.useRef(new Set),[te,R]=g.useState([]),[O,D]=g.useState(null),K=G.useDispatch(),J=g.useMemo(()=>{const _=Ii(l);return _.length?_:as},[l]),E=(()=>{const _=new Set;return[...o,...h,...Ti(l)].filter(M=>{const N=String(M?.id??M?.roleId??M?.value);return _.has(N)?!1:(_.add(N),!0)})})();if(!b&&k!==J){const _=jt(J,i);I(J),m(_),S(_)}if(!L&&H!==i){re(i);const _=jt(A,i);_!==A&&m(_)}g.useEffect(()=>{q.current=i},[i]),g.useEffect(()=>{if(!b){const N=jt(J,q.current);r({id:e,tables:N});return}let _=!1;return(async()=>{C(!0);try{const N=await K(Re(e)).unwrap(),Y=Array.isArray(N?.data)?N.data:Array.isArray(N)?N:[];w(Ti(Y));const Q=Ii(Y),ne=jt(Q.length?Q:J,q.current);_||(S(ne),m(ne),r({id:e,tables:ne}))}catch(N){if(!_){const Y=jt(J,q.current);S(Y),m(Y),r({id:e,tables:Y}),console.error("Failed to load workflow steps:",N)}}finally{_||C(!1)}})(),()=>{_=!0}},[K,J,b,e,r]),g.useEffect(()=>{L||r?.({id:e,tables:A})},[e,L,r,A]);const U=g.useCallback((_,{preserveLastLevel:M}={})=>{const N=_.map((ne,fe)=>fe===0?{...ne,canReassign:"No"}:ne),Y=M?N:jt(N,i),Q={id:e,tables:Y};return m(Y),console.log("[TableCardGrid] updated form values:",Y),console.log("[TableCardGrid] PUT payload:",Q),r?.(Q),Q},[e,r,i]);g.useEffect(()=>{if(a)return a({setLastLevelFinal:()=>{if(!A.length)return null;const _=A.length-1,M=A.map((N,Y)=>Y===_?{...N,finalLevel:"Yes"}:N);return U(M,{preserveLastLevel:!0})}}),()=>a(null)},[e,a,r,A,i,U]);const F=_=>{const M=A[A.length-1];return M!=null&&M.id===_},j=(_,M)=>{Object.prototype.hasOwnProperty.call(M,"escalateAfterMinutes")&&z.current.add(_),U(A.map(N=>N.id===_?{...N,...M}:N),{preserveLastLevel:F(_)})},y=(_,M)=>{const N=A.findIndex(ne=>ne.id===_);if(N<0)return;const Y=A[N],Q=typeof M=="function"?M(Y):M;if(Q.escalateAfterMinutes!==Y.escalateAfterMinutes&&z.current.add(_),N<A.length-1&&Y.finalLevel!=="Yes"&&Q.finalLevel==="Yes"){D({tableId:_,value:Q});return}U(A.map((ne,fe)=>fe===N?Q:ne),{preserveLastLevel:F(_)})},B=()=>{if(!O)return;const _=A.findIndex(N=>N.id===O.tableId);if(_<0){D(null);return}const M=A.slice(0,_+1).map((N,Y)=>Y===_?O.value:N);R(N=>N.filter(Y=>M.some(Q=>Q.id===Y))),U(M),D(null)},V=_=>{if(A.some(ge=>ge.finalLevel==="Yes"))return;const M=A[A.length-1];if(M){const ge=ts(M,A.length-1);if(Object.values(ge).some(Boolean)){R(ye=>ye.includes(M.id)?ye:[...ye,M.id]),p?.(`Please fill all required fields of Level ${A.length} before adding a new level.`);return}}p?.("");const N=A.reduce((ge,ye)=>Math.max(ge,Number(ye.id)||0),0)+1,Y=A.length+1,Q=A[A.length-1],fe=Q!=null&&z.current.has(Q.id)&&Be(Q.escalateAfterMinutes)>0?A:Dp(A);z.current.delete(N),U([...fe,ns(N,_||`Level ${Y}`)]),requestAnimationFrame(()=>{requestAnimationFrame(()=>{const ge=$.current;ge&&ge.scrollTo({left:ge.scrollWidth,behavior:"smooth"})})})},ee=_=>{z.current.delete(_),U(A.filter(M=>M.id!==_))};return L&&!A.length?null:s.jsxs(s.Fragment,{children:[s.jsx("div",{className:"ca-table-card-grid","aria-label":"Escalation levels",ref:$,children:s.jsxs("div",{className:"ca-table-card-grid__track",children:[A.map((_,M)=>s.jsxs(g.Fragment,{children:[s.jsx(_i,{name:_.name,roleList:E,showRoleError:c||f,showEscalationError:d,userList:u,level:M+1,value:_,initialFormValues:_,setFormValues:N=>y(_.id,N),selected:_.id===t,onSelect:()=>n?.(_),onDelete:()=>ee(_.id),onChange:N=>j(_.id,N),fieldErrors:f||te.includes(_.id)?ts(_,M):{}}),M<A.length-1?s.jsxs(s.Fragment,{children:[s.jsx(Fi,{accent:M===0?"green":M===1?"orange":"purple"}),s.jsx(ki,{accent:M===0?"green":M===1?"orange":"purple"})]}):null]},_.id)),A.length?s.jsxs(s.Fragment,{children:[s.jsx(Fi,{accent:A.length===1?"green":A.length===2?"orange":"purple"}),s.jsx(ki,{accent:A.length===1?"green":A.length===2?"orange":"purple"})]}):null,s.jsx(Ni,{level:A.length+1,onAdd:V,disabled:A.some(_=>_.finalLevel==="Yes")})]})}),s.jsx(Li,{variant:"finalLevelDelete",levelNo:O?A.findIndex(_=>_.id===O.tableId)+1:null,open:!!O,onConfirm:B,onClose:()=>D(null)})]})}function ng({totalMinutes:e=0,usedMinutes:t=0}){const n=Be(e),r=Be(t),a=Math.max(0,n-r),o=Ut(a)||"0m",l=n>0?Math.min(100,r/n*100):0;return s.jsxs("div",{className:"ca-tat-progress","aria-label":`TAT minutes, ${o} left`,children:[s.jsxs("div",{className:"ca-tat-progress__row",children:[s.jsx("span",{className:"ca-tat-progress__label",children:"TAT minutes"}),s.jsxs("span",{className:"ca-tat-progress__remaining",children:[o," left"]})]}),s.jsx("div",{className:"ca-tat-progress__track",children:s.jsx("div",{className:"ca-tat-progress__fill",style:{width:`${l}%`}})})]})}function Di(e){return e?.data??e?.id??e}function Pi(e){const t=e&&typeof e=="object"?e.id??e.roleId??e.role_id??e.value:e;return t==null||t===""?null:String(t)}function Mi(e){return String(e??"").toLowerCase().replace(/[^a-z0-9]/g,"")}function rg(e){return[e?.roleId,e?.role_id,e?.role,e?.roles,e?.roleIds,e?.assignedRoles,e?.userRoles].flatMap(n=>Array.isArray(n)?n:[n]).flatMap(n=>[Pi(n),Pi(n?.role)]).filter(Boolean)}function ag(e){const t=[e?.role,e?.roles,e?.assignedRoles,e?.userRoles].flatMap(r=>Array.isArray(r)?r:[r]);return[e?.roleName,e?.role_name,...t.flatMap(r=>typeof r=="string"?[r]:[r?.name,r?.roleName,r?.label,r?.role?.name,r?.role?.roleName])].filter(Boolean).map(Mi).filter(Boolean)}function sg({onNext:e,stepMeta:t,stepperProps:n,selectedTableCard:r,roleList:a=[],userList:o=[]}){const{state:l,updateWorkflow:i}=_r(),{workflow:c}=l,d=l.categoryRoleIds,f=g.useMemo(()=>{const U=new Set((Array.isArray(d)?d:[]).filter(F=>F!=null&&F!=="").map(String));return U.size?a.filter(F=>!U.has(String(F.id??F.roleId??F.value))):a},[d,a]),u=g.useMemo(()=>{const U=new Set((Array.isArray(d)?d:[]).filter(j=>j!=null&&j!=="").map(String));if(!U.size)return o;const F=new Set(a.filter(j=>U.has(String(j.id??j.roleId??j.value))).map(j=>Mi(j.name??j.roleName??j.label)).filter(Boolean));return o.filter(j=>!rg(j).some(y=>U.has(y))&&!ag(j).some(y=>F.has(y)))},[d,a,o]),[p,b]=g.useState(null),[S,A]=g.useState(""),[m,h]=g.useState(!1),[w,L]=g.useState(null),C=g.useRef(null),k=g.useCallback(U=>{b(U),i({steps:Array.isArray(U?.tables)?U.tables:[],stepsLoaded:!0}),A("")},[i]),I=g.useCallback(U=>{C.current=U},[]),H=G.useDispatch();let{id:re}=G.useSelector(U=>U.appDetails||{});const $=G.useSelector(U=>U.complaintType?.selected),q=Di(re),z=Di($?.id??$?._id),te=Be($?.tatMinutes??l.tatMinutes);g.useEffect(()=>{q==null||q===""||z!=null&&String(z)===String(q)&&$?.tatMinutes!=null||H(Ze(q))},[H,$?.tatMinutes,z,q]);const R=g.useMemo(()=>{const U=Array.isArray(p?.tables)?p.tables:[];return Op(U)},[p]),O=r??c.selectedTableCard??null,D=Array.isArray(p?.tables)&&p.tables.length?p.tables.map((U,F)=>`L${F+1}`).join(" > "):"",K=U=>{H(or({id:U.id,tables:U,onSuccess:F=>{console.log("updateWorkflowSteps onSuccess:",F),A(""),n.onNext?.()},onFail:F=>{const j=F?.response?.data??F?.payload??F,y=[...new Set(Array.isArray(j?.errors)?j.errors.map(ee=>ee?.message).filter(Boolean):[])],B=(y.length?y.join(" "):null)??j?.message??j?.error??F?.message??"Failed to update workflow steps",V=String(B).replace(/roleIds must contain at least 1 elements?/gi,"Please select at least one role or user in every level.").replace(/userAssignments must contain at least 1 elements?/gi,"Please select at least one role or user in every level.");A(kp(V))}}))},J=async()=>{if(A(""),!p){A("Workflow steps are not ready to save.");return}const U=Array.isArray(p.tables)?p.tables:[];if(!U.length){A("Add at least one workflow level before continuing.");return}h(!0);const F=U.map((B,V)=>ts(B,V)),j=U.length-1;if(F.some((B,V)=>Object.entries(B).some(([ee,_])=>_&&!(V===j&&ee==="finalLevel")))){A("Please complete all required fields in every workflow level.");return}if(U[j].finalLevel!=="Yes"){L(j+1);return}K(p)},E=()=>{const U=C.current?.setLastLevelFinal?.();if(L(null),!U){A("Unable to update the final workflow level. Please try again.");return}h(!0),K(U)};return s.jsxs(s.Fragment,{children:[s.jsx(Tn,{...n,steps:Xe,onNext:J,showNextButton:!0}),S?s.jsx("div",{className:"ca-validation-toast",role:"alert",children:S}):null,s.jsx(Li,{variant:"finalLevelRequired",levelNo:w,open:w!=null,onConfirm:E,onClose:()=>L(null)}),s.jsx(In,{title:t.title,description:D,showNext:!1,headerExtra:s.jsx(ng,{totalMinutes:te,usedMinutes:R}),children:s.jsx("div",{className:"ca-workflow__main",children:s.jsx(Oi,{id:re,selectedTableId:O?.id,onSelect:U=>i({selectedTableCard:U}),setUpdatePayload:k,registerWorkflowActions:I,roleList:f,userList:u,onAddBlocked:A,showRoleError:/roleIds|userAssignments|select\s*at\s*least\s*one|role\s*must contain|roles?\s*must contain|users?\s*must/i.test(S),showEscalationError:/escalation\s*time|must\s*equal.*TAT/i.test(S),showRequiredErrors:m,prefillSteps:l.prefillWorkflowSteps,tatTotalMinutes:te})})})]})}function xi({onAdd:e,disabled:t=!1}){return s.jsx("button",{type:"button",className:"ca-add-form-button",onClick:e,disabled:t,children:"+ Add Form Fields"})}const Bi=g.createContext(null);function ss(e){return typeof e?.level4=="string"&&e.level4.trim()?e.level4.trim():"Office"}function Ui(e,t){const n=ss(t);return String(e??"").replace(/\bstores?\b/gi,()=>n)}function rt(){const e=g.useContext(Bi);return{storeName:ss(e),label:t=>Ui(t,e),fieldLabel:t=>{const n=String(t.fieldKey??t.key??"").toLowerCase();return n==="storeid"||n==="storeidcustom"?ss(e):Ui(t.fieldLabel??t.label??t.fieldName??"",e)}}}function ji({size:e=16,color:t="#9CA3AF",...n}){return s.jsxs("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...n,children:[s.jsx("circle",{cx:"5",cy:"4",r:"1.2",fill:t}),s.jsx("circle",{cx:"11",cy:"4",r:"1.2",fill:t}),s.jsx("circle",{cx:"5",cy:"8",r:"1.2",fill:t}),s.jsx("circle",{cx:"11",cy:"8",r:"1.2",fill:t}),s.jsx("circle",{cx:"5",cy:"12",r:"1.2",fill:t}),s.jsx("circle",{cx:"11",cy:"12",r:"1.2",fill:t})]})}function os(e,t){return!t||e.includes(t)?e:[t,...e]}function $i(e){return JSON.stringify({fieldLabel:String(e.fieldLabel||"").trim(),fieldType:e.fieldType??"",required:!!e.required,fieldAccess:e.fieldAccess??"",hideFor:[...e.hideFor||[]].sort(),dependsOn:e.dependsOn||"",options:e.options||[],parentMappings:e.parentMappings||{},optionColors:e.optionColors||{},order:Number(e.order)||1})}function og(e){return String(e??"").replace(/(^|\s)(\S)/g,(t,n,r)=>n+r.toUpperCase())}const lg="#9CA3AF";function Vi({field:e,fieldOptions:t=[],fieldTypeOptions:n=[],fieldAccessOptions:r=[],hideForOptions:a=[],isSaving:o=!1,selected:l=!1,isDragging:i=!1,onSelect:c,onDragStartField:d,onDragEndField:f,onReorder:u,onChange:p,onDelete:b,onSave:S,cardRef:A,onOptionNotice:m,hasDuplicateIdentity:h=!1,hasMissingOptions:w=!1}){const[L,C]=g.useState(""),[k,I]=g.useState(null),H=g.useRef(!1),{label:re,fieldLabel:$}=rt(),q=$i(e),[z,te]=g.useState(()=>({id:e.id,signature:e.isNew?null:q}));z.id!==e.id&&te({id:e.id,signature:e.isNew?null:q});const R=e.lockMode==="all",O=Qe(e),D=R||e.lockMode==="options",K=Ul(e),J=R||!K||O&&!se(e),E=!!(String(e.fieldLabel||"").trim()&&String(e.fieldType||"").trim()),U=z.signature!==q,F=!!o||!E,j=h||w?"ca-control--invalid":"",y=N=>p?.({...e,...N}),B=()=>{if(J)return;const N=L.trim();if(!N)return;if(se(e)&&ct(N)){const Q=(e.options||[]).find(ne=>String(ne).trim().toLowerCase()===N.toLowerCase());if(Q){m?.(`${Q} already exists in options`),C("");return}}if(e.options?.includes(N))return;const Y=se(e)?{...e.optionColors||{},[N]:e.optionColors?.[N]||lg}:e.optionColors;y({options:se(e)?Wt([...e.options||[],N]):[...e.options||[],N],...se(e)?{optionColors:Y}:{}}),C("")},V=N=>{if(J||se(e)&&ct(N))return;const Y={...e.optionColors||{}};delete Y[N];const Q={...e.parentMappings||{}};delete Q[N],y({options:e.options.filter(ne=>ne!==N),parentMappings:Q,...se(e)?{optionColors:Y}:{}})},ee=N=>{J||se(e)&&ct(N)||(H.current=!1,I({original:N,draft:N}))},_=()=>{H.current=!0,I(null)},M=()=>{if(H.current){H.current=!1;return}if(!k)return;const{original:N,draft:Y}=k,Q=Y.trim();if(I(null),!Q||Q===N)return;if((e.options||[]).some(Ae=>Ae!==N&&(Ae===Q||se(e)&&String(Ae).trim().toLowerCase()===Q.toLowerCase()))){m?.(`${Q} already exists in options`);return}const fe=(e.options||[]).map(Ae=>Ae===N?Q:Ae),ge={...e.parentMappings||{}};Object.prototype.hasOwnProperty.call(ge,N)&&(ge[Q]=ge[N],delete ge[N]);const ye={...e.optionColors||{}};Object.prototype.hasOwnProperty.call(ye,N)&&(ye[Q]=ye[N],delete ye[N]),y({options:se(e)?Wt(fe):fe,parentMappings:ge,optionColors:ye})};return s.jsxs("article",{ref:A,className:`ca-form-card${l?" ca-form-card--selected":""}${i?" ca-form-card--dragging":""}`,onClick:()=>c?.(e),onDragOver:N=>{O||(N.preventDefault(),N.dataTransfer.dropEffect="move")},onDrop:N=>{if(O){f?.();return}N.preventDefault();const Y=N.dataTransfer.getData("text/plain");u?.(Y,e.id),f?.()},children:[s.jsxs("div",{className:"ca-form-card__row ca-form-card__row--order",children:[O?s.jsx("span",{"aria-hidden":"true",style:{display:"inline-block",width:15,height:15}}):s.jsx("span",{className:"ca-form-card__drag",draggable:!0,"aria-label":"Reorder field",onClick:N=>N.stopPropagation(),onDragStart:N=>{N.dataTransfer.setData("text/plain",String(e.id)),N.dataTransfer.effectAllowed="move",d?.()},onDragEnd:()=>f?.(),children:s.jsx(ji,{size:15,color:"currentColor"})}),s.jsxs("div",{className:"ca-form-card__actions",children:[s.jsx("button",{type:"button",className:"ca-form-card__save","aria-label":"Save form field",disabled:F||R||!U,onClick:async N=>{if(N.stopPropagation(),F||R||!U)return;const Y=await S?.(e);Y&&te({id:e.id,signature:$i(Y)})},children:"Save"}),Qe(e)?null:s.jsx("button",{type:"button",className:"ca-icon-btn ca-form-card__delete","aria-label":"Delete form field",onClick:N=>{N.stopPropagation(),b?.(e.id)},children:s.jsx(pr,{size:15,color:"currentColor"})})]})]}),s.jsx("div",{className:"ca-form-card__row",children:D?s.jsx("span",{className:"ca-form-card__static",children:$(e)||"—"}):s.jsx(zt,{value:R?$(e):e.fieldLabel,placeholder:"Enter field label",disabled:D,className:j,onChange:N=>y({fieldLabel:og(N.target.value)})})}),s.jsx("div",{className:"ca-form-card__row",children:D?s.jsx("span",{className:"ca-form-card__static",children:e.fieldType||"—"}):s.jsx(nt,{value:e.fieldType,options:os(n,e.fieldType),placeholder:"Select type",maxVisible:5,disabled:D,className:j,onChange:N=>{const Y=N.target.value;if(Ul({...e,fieldType:Y})){y({fieldType:Y,dependsOn:"",parentMappings:{}});return}y({fieldType:Y,dependsOn:"",options:[],parentMappings:{},optionColors:{}})}})}),s.jsx("div",{className:"ca-form-card__row ca-form-card__row--toggle",children:s.jsx(fr,{checked:!!e.required,disabled:D,onChange:N=>y({required:N}),"aria-label":"Required"})}),s.jsx("div",{className:"ca-form-card__row",children:s.jsx(nt,{value:e.fieldAccess,options:os(r,e.fieldAccess),placeholder:"Select access",disabled:D,allowClear:!0,onChange:N=>y({fieldAccess:N.target.value})})}),s.jsxs("div",{className:"ca-form-card__row",children:[s.jsx(nt,{value:"",options:a.filter(N=>!e.hideFor?.includes(N)),placeholder:"Select level",disabled:D,onChange:N=>y({hideFor:[...e.hideFor||[],N.target.value]})}),e.hideFor?.length?s.jsx("div",{className:"ca-form-card__chips",children:e.hideFor.map(N=>s.jsxs("span",{className:"ca-form-card__chip",children:[N,s.jsx("button",{type:"button","aria-label":`Remove ${N}`,disabled:D,onClick:()=>y({hideFor:e.hideFor.filter(Y=>Y!==N)}),children:"×"})]},N))}):null]}),s.jsx("div",{className:"ca-form-card__row",children:s.jsx(nt,{value:e.dependsOn,options:os(t,e.dependsOn).map(N=>({value:N,label:re(N)})),placeholder:"Select field label",disabled:D||!K,allowClear:!0,onChange:N=>{const Y=N.target.value;if(!Y){y({dependsOn:"",parentMappings:{}});return}y({dependsOn:Y})}})}),s.jsxs("div",{className:"ca-form-card__row ca-form-card__row--options",children:[s.jsxs("div",{className:"ca-form-card__option-entry",children:[s.jsx(zt,{value:L,placeholder:"Enter option",disabled:J,className:w?"ca-control--invalid":"",onChange:N=>C(N.target.value),onKeyDown:N=>{N.key==="Enter"&&(N.preventDefault(),B())}}),s.jsx("button",{type:"button",className:"ca-form-card__add-option","aria-label":"Add option",disabled:J,onClick:B,children:"+"})]}),s.jsx("div",{className:"ca-form-card__chips",children:(K?se(e)?Wt(e.options||[]):e.options||[]:[]).map(N=>{const Y=se(e)&&ct(N),Q=k?.original===N;return s.jsxs("span",{className:`ca-form-card__chip${Y?" ca-form-card__chip--locked":""}`,children:[Q?s.jsx("input",{autoFocus:!0,value:k.draft,onChange:ne=>I({original:N,draft:ne.target.value}),onBlur:M,onClick:ne=>ne.stopPropagation(),onKeyDown:ne=>{ne.key==="Enter"?(ne.preventDefault(),M()):ne.key==="Escape"&&(ne.preventDefault(),_())},"aria-label":`Edit ${N}`,style:{width:`${Math.max(k.draft.length,3)+1}ch`,minWidth:40,padding:0,border:0,outline:"none",background:"transparent",color:"inherit",font:"inherit"}}):s.jsx("span",{role:Y||J?void 0:"button",tabIndex:Y||J?void 0:0,title:Y||J?void 0:"Click to edit",style:Y||J?void 0:{cursor:"text"},onClick:()=>ee(N),onKeyDown:ne=>{ne.key==="Enter"&&ee(N)},children:se(e)?gr(N):N}),Y?null:s.jsx("button",{type:"button","aria-label":`Remove ${N}`,disabled:J,onClick:()=>V(N),children:"×"})]},N)})})]})]})}function ls({option:e,onDelete:t,locked:n=!1}){return s.jsx("td",{children:n?null:s.jsx("button",{className:"field-options-panel__delete",type:"button","aria-label":`Delete ${e}`,title:`Delete ${e}`,onClick:()=>t(e),children:s.jsx(Pm,{size:14,strokeWidth:1.5,color:"currentColor","aria-hidden":"true"})})})}function ig(e){const t=String(e||"").trim();return/^#[0-9A-Fa-f]{6}$/.test(t)?t.toUpperCase():/^#[0-9A-Fa-f]{3}$/.test(t)?`#${t[1]}${t[1]}${t[2]}${t[2]}${t[3]}${t[3]}`.toUpperCase():"#000000"}function cg({formFields:e=[],selectedField:t=null,onChange:n}){const r=t,{fieldLabel:a}=rt(),o=C=>se(r)?gr(C):C,l=se(r)?r:null,i=g.useMemo(()=>{const C=String(r?.dependsOn||"").trim();if(!C)return null;const k=e.filter(I=>String(I.fieldLabel||"").trim()===C);return k.find(I=>(I.options||[]).some(H=>String(H||"").trim()))||k[0]||null},[r?.dependsOn,e]),c=i?.options||[],d=!!r?.dependsOn,[f,u]=g.useState(!1),p=(C,k)=>{if(!l)return;const I=/^#[0-9A-Fa-f]{6}$/.test(k)?k.toUpperCase():k;n?.(e.map(H=>H.id===l.id?{...H,optionColors:{...H.optionColors,[C]:I}}:H))},b=(C,k)=>{r&&n?.(e.map(I=>I.id===r.id?{...I,parentMappings:{...I.parentMappings||{},[C]:k}}:I))},S=C=>{if(!r||se(r)&&ct(C))return;const k={...r.optionColors||{}};delete k[C];const I={...r.parentMappings||{}};delete I[C],n?.(e.map(H=>H.id===r.id?{...H,options:(H.options||[]).filter(re=>re!==C),parentMappings:I,...se(H)?{optionColors:k}:{}}:H))},A=r&&a(r)||"Select field",m=qh(r,d),h=se(r)?Wt(r?.options||[]):r?.options||[],w=(C,k)=>s.jsx("div",{className:"field-options-panel__table-wrap",children:s.jsxs("table",{className:"field-options-panel__table",children:[s.jsx("thead",{children:s.jsxs("tr",{children:[C.map(I=>s.jsx("th",{scope:"col",children:I},I)),s.jsx("th",{scope:"col","aria-label":"Delete"})]})}),s.jsx("tbody",{children:k})]})});let L=s.jsx("p",{className:"field-options-panel__empty",children:r?"No options added.":"Select a field to edit."});return d?L=h.length?w(["Option label",i?a(i):"Parent"],h.map(C=>s.jsxs("tr",{children:[s.jsx("td",{children:o(C)}),s.jsx("td",{children:s.jsxs("select",{"aria-label":`Parent for ${C}`,value:r.parentMappings?.[C]||"",disabled:!c.length,onChange:k=>b(C,k.target.value),children:[s.jsx("option",{value:"",children:c.length?"Select parent":`No ${String(r.dependsOn||"parent").toLowerCase()} options`}),c.map(k=>s.jsx("option",{value:k,children:k},k))]})}),s.jsx(ls,{option:C,onDelete:S,locked:se(r)&&ct(C)})]},C))):s.jsx("p",{className:"field-options-panel__empty",children:"No options added."}):l?L=h.length?w([se(l)?"Status":"Option","Colors"],h.map(C=>{const k=ig(l.optionColors?.[C]);return s.jsxs("tr",{children:[s.jsx("td",{children:o(C)}),s.jsx("td",{children:s.jsxs("div",{className:"field-options-panel__color",children:[s.jsx("input",{className:"field-options-panel__hex","aria-label":`Color for ${C}`,value:l.optionColors?.[C]||k,onChange:I=>p(C,I.target.value)}),s.jsx("label",{className:"field-options-panel__swatch",style:{background:k},title:k,children:s.jsx("input",{type:"color","aria-label":`Pick color for ${C}`,value:k,onChange:I=>p(C,I.target.value)})})]})}),s.jsx(ls,{option:C,onDelete:S,locked:se(l)&&ct(C)})]},C)})):s.jsx("p",{className:"field-options-panel__empty",children:"No options added."}):h.length&&(L=w([Wh(r)],h.map(C=>s.jsxs("tr",{children:[s.jsx("td",{children:o(C)}),s.jsx(ls,{option:C,onDelete:S,locked:se(r)&&ct(C)})]},C)))),s.jsxs("aside",{className:`field-options-panel${f?" is-open":""}${r?"":" field-options-panel--empty"}`,"aria-label":`Options for: ${A}`,children:[s.jsxs("button",{type:"button",className:"field-options-panel__summary","aria-expanded":f,"aria-controls":"field-options-panel-body",onClick:()=>u(C=>!C),children:[s.jsxs("span",{className:"field-options-panel__summary-text",children:[s.jsxs("span",{className:"field-options-panel__title",children:["Options for: ",A]}),m?s.jsx("span",{className:"field-options-panel__description",children:m}):null]}),s.jsx(Kt,{className:"field-options-panel__chevron",size:16,strokeWidth:1.8,"aria-hidden":"true"})]}),s.jsx("div",{id:"field-options-panel-body",className:"field-options-panel__body",children:L})]})}function dg(e,t=[]){const n=new Set,r=[];return t.forEach(a=>{if(String(a.id)===String(e?.id)||se(a))return;const o=String(a.fieldLabel||a.label||"").trim();if(!o)return;const l=o.toLowerCase();n.has(l)||!(a?.options||[]).some(c=>String(c||"").trim())||(n.add(l),r.push(o))}),r}const ug=["Actions","Field Label","Field Type","Required","Field Access","Hide for","DependsOn","Options"];function fg(e,t){return{...e,id:e.id??`${Date.now()}-${t}`,order:t+1,fieldLabel:e.fieldLabel??e.name??"",fieldType:e.fieldType??e.typeLabel??"Custom",required:!!e.required,fieldAccess:e.fieldAccess??"",hideFor:e.hideFor??[],dependsOn:e.dependsOn??"",options:e.options??[],parentMappings:e.parentMappings??{},optionColors:e.optionColors??{},lockMode:e.lockMode,isNew:!!e.isNew}}function Gt(e=[]){const t=e.map(fg);return t.map(n=>br(n,t))}function Wi({initialFields:e,onChange:t,addExternalFieldRef:n,fieldTypeOptions:r=[],fieldAccessOptions:a=[],hideForOptions:o=[],onSave:l,onDelete:i}){const[c,d]=g.useState(()=>Gt(e??[])),[f,u]=g.useState(null),[p,b]=g.useState(null),[S,A]=g.useState(""),m=g.useRef(""),h=g.useRef(null),w=g.useRef({}),L=D=>{const K=Gt(D);d(K),t?.(K)},C=(e??[]).map(D=>D.id).join(",");g.useEffect(()=>{if(!S)return;const D=window.setTimeout(()=>A(""),3200);return()=>window.clearTimeout(D)},[S]),g.useEffect(()=>{!C||C===m.current||(m.current=C,d(Gt(e)))},[C,e]),g.useEffect(()=>{if(n)return n.current=D=>{D&&d(K=>{const J=K.find(F=>Ar(D,[F]));if(yr(K)||J)return J&&u(J.id),K;if(qt(K))return K;const E=Gt([...K,{...D,id:`${D.id}-${Date.now()}`,isNew:!0}]),U=E[E.length-1];return u(U.id),t?.(E),E})},()=>{n.current=null}},[n,t]),g.useEffect(()=>{if(f==null)return;const D=h.current,K=w.current[f];if(!D||!K)return;const J=requestAnimationFrame(()=>{const E=D.getBoundingClientRect(),U=K.getBoundingClientRect(),F=12;U.left>=E.left+F&&U.right<=E.right-F||D.scrollTo({left:D.scrollLeft+U.left-E.left-(E.width-U.width)/2,behavior:"smooth"})});return()=>cancelAnimationFrame(J)},[f,c]);const k=(D,K)=>{if(D==null||K==null||String(D)===String(K))return;const J=c.findIndex(y=>String(y.id)===String(D)),E=c.findIndex(y=>String(y.id)===String(K));if(J<0||E<0||Qe(c[J])||Qe(c[E]))return;const U=c.findIndex(Qe),F=[...c],[j]=F.splice(J,1);if(F.splice(E,0,j),U>=0){const y=F.findIndex(Qe);if(y!==U){const[B]=F.splice(y,1);F.splice(U,0,B)}}L(F.map((y,B)=>({...y,order:B+1})))},I=D=>{const K=c.find(V=>V.id===D.id),J=K&&K.fieldType!==D.fieldType;D.dependsOn&&D.dependsOn!==K?.dependsOn&&u(D.id);const E=String(K?.fieldLabel||"").trim(),U=K?.options||[],F=D.options||[],j=U.filter(V=>!F.includes(V)),y=F.filter(V=>!U.includes(V)),B=U.length===F.length&&j.length===1&&y.length===1?{from:j[0],to:y[0]}:null;L(c.map(V=>{if(V.id===D.id)return D;if(J&&E&&String(V.dependsOn||"").trim()===E)return{...V,dependsOn:"",parentMappings:{}};if(B&&E&&String(V.dependsOn||"").trim()===E){const ee=Object.fromEntries(Object.entries(V.parentMappings||{}).map(([_,M])=>[_,M===B.from?B.to:M]));return{...V,parentMappings:ee}}return V}))},H=async D=>{const K=c.find(J=>J.id===D);if(!(!K||Qe(K)))try{if(await i?.(K)===!1)return;const E=String(K.fieldLabel||"").trim();L(c.filter(U=>U.id!==D).map((U,F)=>E&&String(U.dependsOn||"").trim()===E?{...U,dependsOn:"",parentMappings:{},order:F+1}:{...U,order:F+1}))}catch{}},re=()=>{yr(c)||qt(c)||L(Gt([...c,{id:`${Date.now()}-${c.length}`,fieldLabel:"",fieldType:r[0]??"",options:[],isNew:!0}]))},$=async D=>{if(Ar(D,c))return null;try{const K=await l?.(D);return K?(d(J=>{const E=Gt(J.map(U=>U.id===D.id?{...K,isNew:!1,order:U.order||1}:U));return t?.(E),E}),K):null}catch{return null}},q=yr(c),z=qt(c),te=q?"A field with this label and type already exists":"",R=jl(c),O=c.find(D=>D.id===f)||null;return s.jsxs(s.Fragment,{children:[te||R||S?s.jsx("div",{className:"ca-validation-toast",role:"alert",children:te||R||S}):null,s.jsxs("div",{className:"ca-form-card-grid__container ",children:[s.jsxs("div",{className:"ca-form-card-grid",children:[s.jsx("div",{className:"ca-form-card-grid__labels",children:ug.map(D=>s.jsx("div",{className:"ca-form-card-grid__label",children:D},D))}),s.jsxs("div",{className:"ca-form-card-grid__cards",ref:h,children:[c.map(D=>s.jsx(Vi,{field:D,fieldOptions:dg(D,c),fieldTypeOptions:r,fieldAccessOptions:a,hideForOptions:o,selected:O?.id===D.id,isDragging:String(p)===String(D.id),cardRef:K=>{K?w.current[D.id]=K:delete w.current[D.id]},onSelect:()=>u(D.id),onDragStartField:()=>b(D.id),onDragEndField:()=>b(null),onReorder:k,onChange:I,onDelete:H,onSave:$,onOptionNotice:A,hasDuplicateIdentity:Ar(D,c),hasMissingOptions:xa(D)},D.id)),s.jsx(xi,{onAdd:re,disabled:q||z})]})]}),s.jsx(cg,{formFields:c,selectedField:O,onChange:L})]})]})}const qi={department:ui,priorities:km,status:Nr,statuses:Nr,statusCustom:Nr,Status:Nr,storeId:pi,storeIdCustom:pi};function pg({fields:e=[],onAddField:t,disableAdd:n=!1,disableAddHint:r="Resolve duplicate field first"}){const[a,o]=g.useState(!1),{fieldLabel:l}=rt();return s.jsxs("aside",{className:`custom-field-table${a?" is-open":""}`,"aria-labelledby":"custom-field-table-title",style:{flexWrap:"wrap"},children:[s.jsxs("button",{type:"button",className:"custom-field-table__summary","aria-expanded":a,"aria-controls":"custom-field-table-list",onClick:()=>o(i=>!i),children:[s.jsxs("span",{className:"custom-field-table__summary-text",children:[s.jsx("span",{id:"custom-field-table-title",className:"custom-field-table__title",children:"Custom Fields"}),s.jsx("span",{className:"custom-field-table__description",children:"Use these fields to show options from database table."})]}),s.jsx(Kt,{className:"custom-field-table__chevron",size:16,strokeWidth:1.8,"aria-hidden":"true"})]}),s.jsx("div",{id:"custom-field-table-list",className:"custom-field-table__list",children:e.map(i=>{const c=l(i),d=qi[i.fieldKey]||qi[i.id]||ui;return s.jsxs("div",{className:"custom-field-table__row",children:[s.jsx(d,{className:"custom-field-table__field-icon",size:14,strokeWidth:1.5,"aria-hidden":"true"}),s.jsx("span",{className:"custom-field-table__label",children:c}),s.jsx("button",{className:"custom-field-table__add",type:"button","aria-label":`Add ${c}`,title:n?r:`Add ${c}`,disabled:n,onClick:()=>{n||t?.(i)},children:s.jsx(fi,{size:14,strokeWidth:2,"aria-hidden":"true"})})]},i.fieldKey??i.id)})}),s.jsxs("span",{className:"custom-field-table__title",style:{flexBasis:"100%",width:"100%",gridColumn:"1 / -1"},children:[s.jsx("span",{style:{color:"red"},children:"*"})," Submitted By, Updated At and Created By are set automatically."]}),s.jsxs("span",{className:"custom-field-table__title",style:{flexBasis:"100%",width:"100%",gridColumn:"1 / -1"},children:[s.jsx("span",{style:{color:"red"},children:"*"})," The First Column input will be considered the Title column."]})]})}const Hi={CUSTOM:"Custom",TEXT:"Text",TEXTAREA:"Text Area",SELECT:"Select",DROPDOWN:"Dropdown",NUMBER:"Number",DATE:"Date",DATETIME:"Date Time",EMAIL:"Email",CHECKBOX:"Checkbox",RADIO:"Radio",FILE:"File",IMAGES:"Images",TIME:"Time"},zi={BOTH:"Both",USER:"User",ADMIN:"Admin"},hg={...Object.fromEntries(Object.entries(Hi).map(([e,t])=>[t,e])),Select:"SELECT",Dropdown:"SELECT",Radio:"RADIO",Images:"FILE",Time:"DATETIME","Text Area":"TEXTAREA","Date Time":"DATETIME"},mg={...Object.fromEntries(Object.entries(zi).map(([e,t])=>[t,e])),Both:"BOTH",User:"USER",Admin:"ADMIN"};function Yt(e){const t=String(e||"").trim().split(/[^A-Za-z0-9]+/).filter(Boolean);return t.length?t[0].toLowerCase()+t.slice(1).map(n=>n.charAt(0).toUpperCase()+n.slice(1).toLowerCase()).join(""):""}function gg(e,t){const n=Yt(e),r=Yt(t);return n?r?n+r.charAt(0).toUpperCase()+r.slice(1):n:""}function Tr(e,t){return se({...e,fieldLabel:t})?Yt(t)||"status":De({...e,fieldLabel:t})?"storeIdCustom":gg(t,e.fieldType)}function Fn(e){const t=e?.data??e?.id??e;if(t==null||t==="")return null;const n=String(t).trim();return!n||n==="null"||n==="undefined"?null:n}function Ag(e){return e?typeof e=="string"?e:e.message||e.error||"":""}function is(e){return e?typeof e.id=="number"||/^\d+$/.test(String(e.id)):!1}function yg(e=[]){const t=se(e)?Wt(e.options||[]):e.options||[];if(!t.length)return null;const n=e.parentMappings||{},r=e.optionColors||{},a=!!e.dependsOn||t.some(o=>n[o]);return se(e)?{values:t.map((o,l)=>{const i={name:o,displayOrder:l+1,isActive:!0,isDefault:jh(o)};return r[o]&&(i.color=r[o]),i})}:a?{values:t.map(o=>{const l={label:o};return n[o]&&(l.dependsOnValue=n[o]),l})}:{values:t}}function bg(e,t=[],n=[]){const r=String(e.fieldLabel||"").trim(),a=e.originalFieldName!=null&&r===String(e.originalFieldName).trim(),o=t.find(b=>String(b.fieldLabel||"").trim()===e.dependsOn&&e.dependsOn),l=Tr(e,r)||(a?e.fieldKey:""),i=o?Tr(o,o.fieldLabel)||o.fieldKey:"",c=wg(e,n),d=yg(e),f=hg[e.fieldType]??String(e.fieldType||"TEXT").toUpperCase(),u=mg[e.fieldAccess]??(e.fieldAccess?String(e.fieldAccess).toUpperCase():"USER"),p={fieldName:r,fieldKey:l,fieldType:f,required:!!e.required,displayOrder:Number(e.order)||1,fieldAccess:u,isActive:e.isActive!==!1};return c!=null&&c!==""&&(p.hideForWorkflowStepId=c),d?.values?.length&&(p.options=d),i&&i!==l&&(p.dependsOnFieldKey=i),p}function Ki(e){return JSON.stringify({fieldLabel:String(e.fieldLabel||"").trim(),fieldType:e.fieldType??"",required:!!e.required,fieldAccess:e.fieldAccess??"",hideFor:[...e.hideFor||[]].sort(),dependsOn:e.dependsOn||"",options:e.options||[],parentMappings:e.parentMappings||{},optionColors:e.optionColors||{},order:Number(e.order)||1})}function Qi(e,t){return Ki(e)!==Ki(t)}function Sg(e=[],t=e,n=[]){return{fields:e.filter(a=>!a.isNew&&String(a.fieldLabel||"").trim()).map((a,o)=>bg({...a,order:a.order||o+1},t,n))}}function vg(e){return Array.isArray(e)?e:Array.isArray(e?.data)?e.data:[]}function Fr(e){return e==null?null:typeof e=="string"?e:e.levelNo!=null&&e.levelNo!==""?`Level ${e.levelNo}`:e.name??e.label??e.title??null}function Xi(e,t=[]){if(!e)return null;const n=Fr(e);if(n)return n;const r=typeof e=="object"?e.id??e.workflowStepId:null;if(r==null)return null;const a=t.find(o=>String(o.id)===String(r));return Fr(a)}function wg(e,t=[]){const n=Array.isArray(e.hideFor)?e.hideFor:[];if(!n.length)return null;for(const o of n){const l=t.find(i=>Fr(i)===o||String(i.id)===String(o));if(l?.id!=null)return l.id}const r=e.hideForWorkflowStepId;return r==null||r===""?null:t.some(o=>String(o.id)===String(r))?r:null}function Gi(e){return[...new Set(e.filter(Boolean))]}function kr(e){return typeof e=="string"?e:e?.label??e?.name??e?.value??""}function Cg(e){return!e||typeof e!="object"?"":e.dependsOnValue??e.parent??""}function Ng(e,t=[]){if(!e)return"";const n=t.map(kr).filter(Boolean),r=n.find(o=>o===e);return r||n.find(o=>Yt(o)===e||Yt(o)===Yt(e))||e}function _g(e){return e&&typeof e=="object"&&e.color?e.color:""}function vt(e=[],t=[]){const n=[...e].sort((r,a)=>(r.displayOrder??0)-(a.displayOrder??0));return Ht(n.map(r=>{const a=r?.options?.values??[],o=n.find(i=>i.id===r.dependsOnFieldId||r.dependsOnFieldKey&&i.fieldKey===r.dependsOnFieldKey),l=t.find(i=>String(i.id)===String(r.hideForWorkflowStepId));return{id:r.id,order:r.displayOrder,fieldLabel:r.fieldName??r.fieldLabel??"",fieldType:Ba(r.fieldType,Hi,r.fieldKey),required:!!r.required,fieldAccess:zi[r.fieldAccess]??r.fieldAccess??"",hideFor:Gi([...Array.isArray(r.hideFor)?r.hideFor:[],Xi(r.hideForWorkflowStep,t),Xi(l,t)]),dependsOn:r.dependsOnField?.fieldName??o?.fieldName??r.dependsOn??"",options:a.map(kr).filter(Boolean),parentMappings:Object.fromEntries(a.map(i=>{const c=kr(i),d=Cg(i);return!c||!d?null:[c,Ng(d,o?.options?.values??[])]}).filter(Boolean)),optionColors:Object.fromEntries(a.map(i=>[kr(i),_g(i)]).filter(([i,c])=>i&&c)),fieldKey:r.fieldKey,originalFieldName:r.fieldName??r.fieldLabel??"",dependsOnFieldId:r.dependsOnFieldId??null,hideForWorkflowStepId:r.hideForWorkflowStepId??null,isActive:r.isActive!==!1,label:r.fieldName??r.fieldLabel??""}}))}function Eg({stepMeta:e,stepperProps:t}){const n=G.useDispatch(),{systemId:r}=It(),a=G.useSelector(y=>y.appDetails?.id),o=Fn(a)??Fn(r),{state:l,update:i}=_r(),{formFields:c,prefillFormFields:d=[]}=l,f=g.useRef(null),u=g.useCallback(y=>i({formFields:y}),[i]),p=g.useCallback(async y=>{const B=String(y.fieldLabel||"").trim();return B?{...y,fieldLabel:B,fieldKey:Tr(y,B),originalFieldName:B,isNew:!1}:null},[]),b=g.useCallback(async y=>Qe(y)?!1:(is(y)&&await n(yn({complaintTypeId:o,fieldId:y.id})).unwrap(),!0),[o,n]),S=G.useSelector(y=>y.complaintAppComplaint?.formFields?.data),A=G.useSelector(y=>y.complaintAppComplaint?.formFields?.isLoading),m=G.useSelector(y=>y.complaintAppComplaint?.formFields?.error),h=G.useSelector(y=>y.workflow?.workflowSteps),w=g.useMemo(()=>vg(h),[h]),L=g.useRef(w),[C,k]=g.useState(!1);g.useEffect(()=>{L.current=w},[w]),g.useEffect(()=>{const y=Fn(o);y!=null&&n(Re(y))},[o,n]),g.useEffect(()=>{const y=Fn(o);if(y==null)return;let B=!1;return n(qe(y)).unwrap().then(V=>{if(B)return;const ee=Array.isArray(V)?V:V?.data;if(!(Array.isArray(ee)&&ee.length>0)&&d.length){const M=vt(d,L.current).map((N,Y)=>({...N,id:`prefill-${Y}`,isNew:!1}));i({formFields:Ht(M)})}else{const M=Ht(vt(Array.isArray(ee)?ee:[],L.current));i({formFields:M})}k(!0)}).catch(()=>{if(!B){if(d.length){const V=vt(d,L.current).map((ee,_)=>({...ee,id:`prefill-${_}`,isNew:!1}));i({formFields:Ht(V)})}k(!0)}}),()=>{B=!0}},[o,n,d,i]);const I=g.useMemo(()=>Ht(vt(S,w)),[S,w]),re=Fn(o)==null||C,$=re?c:I,q=g.useMemo(()=>Bh.filter(y=>!$.some(B=>y.fieldKey&&B.fieldKey===y.fieldKey||se(y)&&se(B)||mr(y)&&mr(B)||De(y)&&De(B))),[$]),z=g.useMemo(()=>yr($),[$]),te=g.useMemo(()=>qt($),[$]),R=Ag(m),O=Ph,D=Mh,K=g.useMemo(()=>{const y=[...w].sort((V,ee)=>(V.levelNo??0)-(ee.levelNo??0)).map(V=>Fr(V)).filter(Boolean),B=I.flatMap(V=>V.hideFor);return Gi([...y,...B])},[I,w]),J=g.useMemo(()=>{const y=new Map(vt(S,w).map(B=>[Number(B.id),B]));return $.filter(B=>{if(B.isNew&&String(B.fieldLabel||"").trim())return!0;if(!is(B))return!1;const V=y.get(Number(B.id));return!V||Qi(B,V)})},[S,$,w]),[E,U]=g.useState(!1),F=g.useCallback(async y=>{if(!qt($)&&o)try{const V=$.map(Q=>{if(!y||!Q.isNew)return Q;const ne=String(Q.fieldLabel||"").trim();return ne?{...Q,fieldLabel:ne,fieldKey:Tr(Q,ne),originalFieldName:ne,isNew:!1}:Q}).filter(Q=>!Q.isNew&&String(Q.fieldLabel||"").trim()),ee=new Map(vt(S,w).map(Q=>[Number(Q.id),Q]));if(!V.some(Q=>{if(!is(Q))return!0;const ne=ee.get(Number(Q.id));return!ne||Qi(Q,ne)})){t.onNext?.();return}const M=[...V].sort((Q,ne)=>+!!Q.dependsOn-+!!ne.dependsOn);await n(An({complaintTypeId:o,data:Sg(M,M,w)})).unwrap();const N=await n(qe(o)).unwrap(),Y=Array.isArray(N)?N:N?.data;i({formFields:Ht(vt(Array.isArray(Y)?Y:[],w))}),t.onNext?.()}catch{}},[S,o,n,$,t,i,w]),j=g.useCallback(()=>{if(!qt($)){if(J.length){U(!0);return}F(!1)}},[$,J.length,F]);return s.jsxs(s.Fragment,{children:[s.jsx(Tn,{...t,steps:Xe,onNext:j}),E?s.jsx("div",{className:"ca-confirm-modal",role:"dialog","aria-modal":"true","aria-labelledby":"form-fields-pending-save-title",children:s.jsxs("div",{className:"ca-confirm-modal__dialog",children:[s.jsx("p",{id:"form-fields-pending-save-title",className:"ca-confirm-modal__message",children:"Some fields are pending to save."}),s.jsxs("div",{className:"ca-confirm-modal__actions",children:[s.jsx(Ne,{variant:"outline",onClick:()=>{U(!1),F(!1)},children:"OK"}),s.jsx(Ne,{onClick:()=>{U(!1),F(!0)},children:"Save"})]})]})}):null,s.jsx(In,{className:"ca-settings-card--plain",title:e.title,description:e.description,showNext:!1,children:!re||A?s.jsx(tt,{text:"Loading form fields"}):R&&!$.length?s.jsx("div",{className:"ca-validation-toast",role:"alert",children:R}):s.jsxs("div",{className:"ca-form-fields",children:[R?s.jsx("div",{className:"ca-validation-toast",role:"alert",children:R}):null,s.jsx(pg,{fields:q,disableAdd:z||te,disableAddHint:z?"Resolve duplicate field first":te?jl($):void 0,onAddField:y=>f.current?.({...y})}),s.jsx("div",{className:"ca-settings-card__divider"}),s.jsx(Wi,{initialFields:$,addExternalFieldRef:f,onChange:u,fieldTypeOptions:O,fieldAccessOptions:D,hideForOptions:K,onSave:p,onDelete:b})]})})]})}function Yi({label:e="Active",checked:t,onChange:n,disabled:r=!1,className:a=""}){return s.jsxs("div",{className:`ca-toggle-field ${a}`.trim(),children:[s.jsx(Fl,{children:e}),s.jsx(fr,{checked:t,onChange:n,disabled:r,"aria-label":e})]})}function Ji({storeList:e=[],value:t,onChange:n,...r}){const{label:a}=rt();return s.jsxs("select",{...r,className:"review-control",value:t??"",onChange:o=>n(o.target.value),children:[s.jsx("option",{value:"",children:a("Select Store")}),e.map(o=>s.jsx("option",{value:o.id,children:o.name??o.label??String(o.id)},o.id))]})}const Lg=/\.(png|jpe?g|gif|webp|bmp|svg)$/i;function cs(e,t){return t?Array.isArray(e)?e.filter(Boolean):[]:e instanceof File?[e]:[]}function Ig(e){return e?e.type&&e.type.startsWith("image/")?!0:Lg.test(e.name||""):!1}function Tg(e){return`${e.name}-${e.size}-${e.lastModified}`}function Or({id:e,name:t,value:n,onChange:r,multiple:a=!1,required:o=!1,disabled:l=!1,accept:i}){const c=cs(n,a),d=g.useMemo(()=>cs(n,a).map((f,u)=>{const p=Ig(f);return{key:`${Tg(f)}-${u}`,name:f.name,isImage:p,url:p?URL.createObjectURL(f):""}}),[n,a]);return g.useEffect(()=>()=>{d.forEach(f=>{f.url&&URL.revokeObjectURL(f.url)})},[d]),s.jsxs("div",{className:"review-file-field",children:[s.jsx("input",{id:e,name:t,className:"review-control",type:"file",accept:i,multiple:a,required:!!o&&c.length===0,disabled:l,onChange:f=>{const u=Array.from(f.target.files||[]);if(!a){r(u[0]||"");return}const p=cs(n,!0);r([...p,...u]),f.target.value=""}}),d.length?s.jsx("div",{className:"review-file-preview",children:s.jsx("div",{className:"review-file-preview__images",children:d.map((f,u)=>s.jsxs("div",{className:"review-file-preview__item",children:[f.isImage?s.jsx("img",{className:"review-file-preview__thumb",src:f.url,alt:f.name,title:f.name}):s.jsx("span",{className:"review-file-preview__name",children:f.name}),s.jsx("button",{type:"button",className:"review-file-preview__remove","aria-label":`Remove ${f.name}`,onClick:()=>{r(a?c.filter((p,b)=>b!==u):"")},children:"×"})]},f.key))})}):null]})}const Fg=new Set(["select","radio","checkbox"]);function Zi(e){return String(e||"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/(^-|-$)/g,"")}function wt(e){return String(e.label||e.fieldLabel||e.fieldName||e.name||"").trim()}function ds(e){return`review-${e.id??e.fieldKey??(Zi(wt(e))||"field")}`}function Ri(e,t,n){return n===0?e:`${e}-${Zi(t)||n}`}function us(e){const t=String(e.fieldType||"").toLowerCase(),n=String(e.fieldKey||wt(e)||"").toLowerCase();return t==="file"?"file":t==="images"?"images":t==="email"||n.includes("email")?"email":t==="textarea"||t==="text area"?"textarea":t==="date"?"date":t==="date time"||t==="datetime"||t==="datetime-local"?"datetime-local":t==="time"?"time":t==="number"||t==="mobile"?"number":t==="radio"?"radio":t==="checkbox"||t==="multiselect"?"checkbox":(t==="dropdown"||t==="select"||t==="custom")&&e.options?.length?"select":"text"}function ec(e){return Fg.has(e)}function kg(e){return e==="textarea"||e==="radio"||e==="checkbox"}function Og(e){const t=String(e.fieldType||"").toLowerCase();return t==="text"||t==="textfield"}function tc(e){return String(e||"").replace(/\d/g,"")}function nc(e){return String(e||"").replace(/[^\d]/g,"")}function kn(e,t){const n=String(wt(e)||"value").toLowerCase();return t==="date"?"mm/dd/yyyy":t==="select"?`Select ${n}`:t==="email"?"Enter email":`Enter ${n}`}function On(e){return String(e.fieldKey||e.id||wt(e)||ds(e))}function rc(e,t=[]){const n=String(e.dependsOn||"").trim();return n&&t.find(r=>{const a=wt(r),o=String(r.fieldKey||"");return a===n||o===n})||null}function ac(e,t=[],n={}){const r=e.options||[],a=rc(e,t);if(!a)return r;const o=e.parentMappings||{};if(!r.some(c=>!!o[c]))return r;const i=String(n[On(a)]||"").trim();return i?r.filter(c=>String(o[c]||"")===i):r}function sc(e){return e==="checkbox"||e==="images"?[]:""}function Dg({question:e,options:t,value:n,onChange:r,storeList:a}){const o=ds(e),l=us(e),i=n??sc(l),c={id:o,name:String(e.fieldKey||wt(e)||o),required:!!e.required};if(De(e)&&Array.isArray(a))return s.jsx(Ji,{...c,storeList:a,value:i,onChange:r});if(l==="radio")return s.jsx("div",{className:"review-options review-options--inline",children:t.map((d,f)=>{const u=Ri(o,d,f);return s.jsxs("label",{className:"review-option",htmlFor:u,children:[s.jsx("input",{...c,id:u,type:"radio",value:d,checked:i===d,onChange:p=>r(p.target.value)}),s.jsx("span",{children:d})]},d)})});if(l==="checkbox"){const d=Array.isArray(i)?i:[];return s.jsx("div",{className:"review-options review-options--inline",children:t.map((f,u)=>{const p=Ri(o,f,u);return s.jsxs("label",{className:"review-option",htmlFor:p,children:[s.jsx("input",{id:p,name:`${c.name}[]`,type:"checkbox",value:f,checked:d.includes(f),required:!1,onChange:b=>r(b.target.checked?[...d,f]:d.filter(S=>S!==f))}),s.jsx("span",{children:f})]},f)})})}return l==="textarea"?s.jsx("textarea",{...c,className:"review-control review-control--textarea",placeholder:kn(e,l),value:i,onChange:d=>r(d.target.value)}):l==="select"?s.jsxs("select",{...c,className:"review-control",value:i,onChange:d=>r(d.target.value),children:[s.jsx("option",{value:"",children:kn(e,l)}),t.map(d=>s.jsx("option",{value:d,children:d},d))]}):l==="file"?s.jsx(Or,{...c,value:i,onChange:r,multiple:!0}):l==="images"?s.jsx(Or,{...c,value:i,onChange:r,multiple:!0}):l==="number"?s.jsx("input",{...c,className:"review-control",type:"number",inputMode:"numeric",placeholder:kn(e,l),value:i,onChange:d=>r(nc(d.target.value)),onKeyDown:d=>{(d.key==="e"||d.key==="E"||d.key==="+"||d.key==="-"||d.key===".")&&d.preventDefault(),d.key.length===1&&!/\d/.test(d.key)&&!d.ctrlKey&&!d.metaKey&&d.preventDefault()},onPaste:d=>{const f=d.clipboardData.getData("text");/^\d*$/.test(f)||(d.preventDefault(),r(nc(f)))}}):Og(e)?s.jsx("input",{...c,className:"review-control",type:"text",inputMode:"text",placeholder:kn(e,l),value:i,onChange:d=>r(tc(d.target.value)),onKeyDown:d=>{/^\d$/.test(d.key)&&d.preventDefault()},onPaste:d=>{const f=d.clipboardData.getData("text");/\d/.test(f)&&(d.preventDefault(),r(tc(f)))}}):s.jsx("input",{...c,className:"review-control",type:l,placeholder:kn(e,l),value:i,onChange:d=>r(d.target.value)})}function Pg({fields:e=[],storeList:t}){const{fieldLabel:n}=rt(),[r,a]=g.useState({}),o=(l,i)=>{const c=On(l);a(d=>{const f={...d,[c]:i};return e.forEach(u=>{const p=rc(u,e);if(!p||On(p)!==c)return;const b=us(u);if(!ec(b))return;const S=ac(u,e,f),A=On(u),m=f[A];Array.isArray(m)?f[A]=m.filter(h=>S.includes(h)):m&&!S.includes(m)&&(f[A]="")}),f})};return e.length?s.jsx("div",{className:"review-form-card",children:s.jsx("form",{className:"review-form","aria-label":"Form fields preview",onSubmit:l=>l.preventDefault(),children:s.jsx("div",{className:"review-form-grid",children:e.map(l=>{const i=us(l),c=ds(l),d=ec(i)?ac(l,e,r):[];return s.jsxs("div",{className:`review-question${kg(i)?" review-question--wide":""}`,children:[s.jsxs("label",{className:"review-label",htmlFor:c,children:[n(l)||"Untitled field",l.required?s.jsx("span",{className:"review-required",children:"*"}):null]}),s.jsx(Dg,{storeList:t,question:l,options:d,value:r[On(l)]??sc(i),onChange:f=>o(l,f)})]},l.id??l.fieldKey??wt(l))})})})}):s.jsx("p",{className:"review-empty",children:"No form fields added"})}const Mg={CUSTOM:"Custom",TEXT:"Text",TEXTAREA:"Text Area",SELECT:"Select",DROPDOWN:"Dropdown",NUMBER:"Number",DATE:"Date",DATETIME:"Date Time",EMAIL:"Email",CHECKBOX:"Checkbox",RADIO:"Radio",FILE:"File",IMAGES:"Images",TIME:"Time"},xg={BOTH:"Both",USER:"User",ADMIN:"Admin"};function Bg(e){return e?typeof e=="string"?e:e.name??e.label??e.title??null:null}function Ug(e){return[...new Set(e.filter(Boolean))]}function fs(e){return typeof e=="string"?e:e?.label??e?.name??""}function ps(e){const t=String(e||"").trim().split(/[^A-Za-z0-9]+/).filter(Boolean);return t.length?t[0].toLowerCase()+t.slice(1).map(n=>n.charAt(0).toUpperCase()+n.slice(1).toLowerCase()).join(""):""}function jg(e){return!e||typeof e!="object"?"":e.dependsOnValue??e.parent??""}function $g(e,t=[]){if(!e)return"";const n=t.map(fs).filter(Boolean),r=n.find(o=>o===e);return r||n.find(o=>ps(o)===e||ps(o)===ps(e))||e}function Vg(e=[]){const t=[...e].sort((n,r)=>(n.displayOrder??0)-(r.displayOrder??0));return t.map(n=>{const r=n?.options?.values??[],a=t.find(o=>o.id===n.dependsOnFieldId||n.dependsOnFieldKey&&o.fieldKey===n.dependsOnFieldKey);return{id:n.id,label:n.fieldName??n.fieldLabel??n.label??"",fieldLabel:n.fieldName??n.fieldLabel??n.label??"",fieldKey:n.fieldKey,fieldType:Ba(n.fieldType,Mg,n.fieldKey),required:!!n.required,fieldAccess:xg[n.fieldAccess]??n.fieldAccess??"",hideFor:Ug([...Array.isArray(n.hideFor)?n.hideFor:[],Bg(n.hideForWorkflowStep)]),dependsOn:n.dependsOnField?.fieldName??a?.fieldName??n.dependsOn??"",options:r.map(fs).filter(Boolean),parentMappings:Object.fromEntries(r.map(o=>{const l=fs(o),i=jg(o);return!l||!i?null:[l,$g(i,a?.options?.values??[])]}).filter(Boolean))}})}function Wg({onPublish:e,stepMeta:t,stepperProps:n,storeList:r}){const a=G.useDispatch(),o=G.useSelector(I=>I.appDetails?.id),l=G.useSelector(I=>I.complaintAppComplaint.formFields.data),i=G.useSelector(I=>I.complaintAppComplaint.formFields.isLoading),c=G.useSelector(I=>I.complaintAppComplaint.formFields.error),d=G.useSelector(I=>I.createComplaint?.isActive),f=G.useSelector(I=>I.createComplaint?.activeComplaintTypeId),u=G.useSelector(I=>I.createComplaint?.isUpdatingActive),p=G.useSelector(I=>I.createComplaint?.activeError),b=G.useSelector(I=>I.complaintType?.selected),S=G.useSelector(I=>I.complaintType?.complaintList??[]),A=G.useSelector(I=>I.appDetails?.details?.currentUser),m=g.useMemo(()=>Vg(l),[l]),h=g.useMemo(()=>o==null?null:b&&String(b.id??b._id)===String(o)?b:S.find(I=>String(I?.id??I?._id)===String(o))??null,[S,o,b]),w=h!=null&&(h.isActive!=null||h.active!=null)?!!(h.isActive??h.active):null,L=String(f)===String(o)?!!d:w??!0,C=Sp(h,A);g.useEffect(()=>{o&&a(qe(o))},[o,a]);const k=I=>{!o||u||!C||a(Nn({id:o,isActive:I}))};return s.jsxs(s.Fragment,{children:[s.jsx(Tn,{...n,steps:Xe,showSaveButton:!1,nextLabel:"Publish",extraActions:s.jsx(Yi,{label:"Active",checked:L,disabled:!o||u||!C,onChange:k}),onNext:()=>{e?.(),n.onNext?.()}}),p?s.jsx("div",{className:"ca-validation-toast",role:"alert",children:p}):null,s.jsx(In,{className:"ca-settings-card--plain",title:t.title,description:t.description,showNext:!1,children:s.jsx("div",{className:"ca-review",children:s.jsx("section",{className:"ca-review__block ca-review__block--last",children:i?s.jsx(tt,{text:"Loading form fields"}):c&&!m.length?s.jsx("p",{className:"ca-body",children:c}):s.jsx(Pg,{fields:m,storeList:r})})})})]})}function qg(e){const t=Number(e);return!Number.isFinite(t)||t<1?1:t>Xe.length?Xe.length:Math.floor(t)}function Hg(e){const t=Number(e);return!Number.isFinite(t)||t<1?1:t>3?3:Math.floor(t)}function oc({title:e="Complaint Management Settings",onPublish:t,onStepChange:n,onSaveDraft:r,roleList:a=[],userList:o=[],storeList:l,showSaveButton:i=!0,showNextButton:c=!0}){const d=Ke(),f=G.useDispatch(),{systemId:u}=It(),[p,b]=Qs(),S=qg(p.get("step")||1),A=Hg(p.get("substep")||1),m=!!u&&u!=="new",[h,w]=g.useState(!1);g.useEffect(()=>{if(!m)return;let q=!1;const z=te=>{const R=te?.data??te;return Array.isArray(R)?R:Array.isArray(R?.data)?R.data:[]};return Promise.all([f(Re(u)).unwrap(),f(qe(u)).unwrap()]).then(([te,R])=>{q||w(z(te).length>0&&z(R).length>0)}).catch(()=>{q||w(!1)}),()=>{q=!0}},[f,m,u]);const L=m&&h;g.useEffect(()=>{u&&f(gt(u)),f(Bt({data:m}))},[f,m,u]),g.useEffect(()=>{if(!p.get("step")){const q=new URLSearchParams(p);q.set("step","1"),b(q,{replace:!0})}},[p,b]);const C=g.useMemo(()=>Xe.find(q=>q.id===S)||Xe[0],[S]),k=g.useCallback((q,z)=>{const te=new URLSearchParams(p);te.set("step",String(q)),q===4?te.set("substep",String(z??(q===S?A:1))):te.delete("substep"),b(te,{replace:!1}),n?.({systemId:u,step:q,substep:z})},[p,b,n,u,S,A]),I=()=>{if(S<Xe.length){k(S+1,1);return}d("/")},H=q=>{k(4,q)},re=()=>{t?.({systemId:u,step:S})},$={currentStep:S,allStepsUnlocked:L,onStepClick:q=>k(q,q===4?1:void 0),showSaveButton:i,showNextButton:c,onSaveDraft:()=>r?.({systemId:u,step:S}),onNext:I,className:"ca-settings-page__stepper"};return s.jsx(yi,{children:s.jsxs("div",{className:"ca-settings-page",children:[s.jsxs("div",{className:"ca-settings-page__header",children:[s.jsx("button",{type:"button",className:"ca-settings-page__back",onClick:()=>d("/"),"aria-label":"Back to Complaint Management",children:s.jsx("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:s.jsx("path",{d:"M15 6l-6 6 6 6",stroke:"currentColor",strokeWidth:"2.2",strokeLinecap:"round",strokeLinejoin:"round"})})}),s.jsx(ka,{children:e})]}),S===1?s.jsx(Ym,{stepMeta:C,stepperProps:$,roleList:a,userList:o}):null,S===2?s.jsx(sg,{onNext:I,stepMeta:C,roleList:a,userList:o,substep:A,onSubstepChange:H,stepperProps:$}):null,S===3?s.jsx(Eg,{stepMeta:C,stepperProps:$}):null,S===4?s.jsx(Wg,{storeList:l,onPublish:re,stepMeta:C,stepperProps:$}):null]})},u||"new")}function zg(){const e=Ke(),n=G.useSelector(c=>c.status?.complaintSummary??null)?.totalComplaints??0,r=G.useSelector(c=>c.appDetails?.id),a=G.useSelector(c=>c.complaintType?.selected??null),o=a?.id??a?._id,i=o==null||r==null||String(o)===String(r)?a?.name??a?.complaintTypeName??a?.title??"":"";return s.jsx("section",{className:"ca-query-details","aria-labelledby":"query-management-title",children:s.jsxs("div",{className:"ca-query-details__heading",children:[s.jsxs("div",{className:"ca-query-details__title-row",children:[s.jsx("button",{type:"button",className:"ca-settings-page__back",onClick:()=>e("/"),"aria-label":"Back to Complaint Management",children:s.jsx("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:s.jsx("path",{d:"M15 6l-6 6 6 6",stroke:"currentColor",strokeWidth:"2.2",strokeLinecap:"round",strokeLinejoin:"round"})})}),s.jsx("h1",{id:"query-management-title",className:"ca-query-details__title",children:i||"Complaint Management"})]}),s.jsxs("span",{className:"ca-query-details__count",children:["Total Count: ",n??0]})]})})}function lc({currentPage:e,totalItems:t,itemsPerPage:n,onPageChange:r,onItemsPerPageChange:a,selectOptions:o=["5","10","15","20","25"],totalPages:l,disabled:i=!1}){if(t<=0)return null;const c=(e-1)*n+1,d=Math.min(e*n,t),f=e<=1,u=e>=l;return s.jsxs("div",{className:`ca-custom-pagination${i?" ca-custom-pagination--disabled":""}`,"aria-label":"Complaint table pagination",children:[s.jsxs("label",{className:"ca-custom-pagination__page-size",children:[s.jsx("span",{children:"Results per page:"}),s.jsx("select",{className:"ca-custom-pagination__select",value:String(n),onChange:p=>a?.(Number(p.target.value)),disabled:i,"aria-label":"Results per page",children:o.map(p=>s.jsx("option",{value:p,children:p},p))})]}),s.jsxs("div",{className:"ca-custom-pagination__navigation",children:[s.jsx("button",{type:"button",className:"ca-custom-pagination__button",onClick:()=>r?.(1),disabled:i||f,"aria-label":"First page",children:s.jsx(Im,{size:16,"aria-hidden":"true"})}),s.jsx("button",{type:"button",className:"ca-custom-pagination__button",onClick:()=>r?.(e-1),disabled:i||f,"aria-label":"Previous page",children:s.jsx(Lm,{size:16,"aria-hidden":"true"})}),s.jsxs("span",{className:"ca-custom-pagination__range",children:[c," - ",d," of ",t]}),s.jsx("button",{type:"button",className:"ca-custom-pagination__button",onClick:()=>r?.(e+1),disabled:i||u,"aria-label":"Next page",children:s.jsx(Cr,{size:16,"aria-hidden":"true"})}),s.jsx("button",{type:"button",className:"ca-custom-pagination__button",onClick:()=>r?.(l),disabled:i||u,"aria-label":"Last page",children:s.jsx(Tm,{size:16,"aria-hidden":"true"})})]})]})}function Kg({type:e}){return e==="error"?s.jsxs("svg",{width:"22",height:"22",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:[s.jsx("circle",{cx:"12",cy:"12",r:"9",stroke:"currentColor",strokeWidth:"2"}),s.jsx("path",{d:"M12 7.5v5.5M12 16.2v.1",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})]}):s.jsxs("svg",{width:"22",height:"22",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:[s.jsx("circle",{cx:"12",cy:"12",r:"9",stroke:"currentColor",strokeWidth:"2"}),s.jsx("path",{d:"M8 12.5l2.8 2.8L16.2 9.5",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]})}function Qg({id:e,message:t,type:n="success",onDismiss:r}){return g.useEffect(()=>{const a=setTimeout(()=>r(e),3500);return()=>clearTimeout(a)},[e,r]),s.jsxs("div",{className:`ca-toast ca-toast--${n}`,role:"status",children:[s.jsx("span",{className:"ca-toast__icon",children:s.jsx(Kg,{type:n})}),s.jsxs("div",{className:"ca-toast__content",children:[s.jsx("div",{className:"ca-toast__title",children:n==="error"?"Error":"Success"}),s.jsx("div",{className:"ca-toast__message",children:t})]}),s.jsx("button",{type:"button",className:"ca-toast__close","aria-label":"Dismiss notification",onClick:()=>r(e),children:s.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:s.jsx("path",{d:"M6 6l12 12M18 6L6 18",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})})})]})}function ic({toasts:e=[],onDismiss:t}){if(!e.length)return null;const n=s.jsx("div",{className:"ca-toast-container",children:e.map(r=>s.jsx(Qg,{...r,onDismiss:t},r.id))});return typeof document<"u"?jr.createPortal(n,document.body):n}const Xg=[{value:"today",label:"Today"},{value:"yesterday",label:"Yesterday"},{value:"lastWeek",label:"Last Week"},{value:"wtd",label:"WTD"},{value:"mtd",label:"MTD"},{value:"ytd",label:"YTD"},{value:"custom",label:"Custom"}],cc=e=>String(e).padStart(2,"0"),je=e=>`${e.getFullYear()}-${cc(e.getMonth()+1)}-${cc(e.getDate())}`,Dn=(e,t)=>new Date(e.getFullYear(),e.getMonth(),e.getDate()+t);function Gg(e,t="",n="",r=new Date){const a=new Date(r.getFullYear(),r.getMonth(),r.getDate()),o=(a.getDay()+6)%7,l=Dn(a,-o);switch(e){case"today":return{fromDate:je(a),toDate:je(a)};case"yesterday":return{fromDate:je(Dn(a,-1)),toDate:je(Dn(a,-1))};case"lastWeek":return{fromDate:je(Dn(l,-7)),toDate:je(Dn(l,-1))};case"wtd":return{fromDate:je(l),toDate:je(a)};case"mtd":return{fromDate:je(new Date(a.getFullYear(),a.getMonth(),1)),toDate:je(a)};case"ytd":return{fromDate:je(new Date(a.getFullYear(),0,1)),toDate:je(a)};case"custom":return t&&n?{fromDate:t,toDate:n}:null;default:return null}}function Yg(e){if(!e?.preset)return{};const t=Gg(e.preset,e.from,e.to);return t?{...t}:{}}const Jg=[{value:"created",label:"Created"},{value:"updated",label:"Updated"}];function Zg({initial:e,onApply:t,onReset:n,onClose:r}){const[a,o]=g.useState(e?.field||"updated"),[l,i]=g.useState(e?.preset||""),[c,d]=g.useState(e?.from||""),[f,u]=g.useState(e?.to||""),p=l==="custom"&&(!c||!f||c>f),b=!!l&&!p;return s.jsx("div",{className:"ca-confirm-modal",role:"dialog","aria-modal":"true","aria-label":"Filters",children:s.jsxs("div",{className:"ca-confirm-modal__dialog ca-date-filter",children:[s.jsxs("div",{className:"ca-date-filter__header",children:[s.jsx("span",{className:"ca-date-filter__title",children:"Filters"}),s.jsx("button",{type:"button",className:"ca-date-filter__close","aria-label":"Close",onClick:r,children:s.jsx(Mm,{size:18})})]}),s.jsx("div",{className:"ca-date-filter__tabs",role:"group","aria-label":"Date field",children:Jg.map(S=>s.jsx("button",{type:"button",className:`ca-date-filter__tab${a===S.value?" ca-date-filter__tab--active":""}`,onClick:()=>o(S.value),children:S.label},S.value))}),s.jsx("div",{className:"ca-date-filter__list",children:Xg.map(S=>s.jsxs("label",{className:`ca-date-filter__option${l===S.value?" ca-date-filter__option--active":""}`,children:[s.jsx("input",{type:"radio",name:"complaint-date-preset",checked:l===S.value,onChange:()=>i(S.value)}),s.jsx("span",{children:S.label})]},S.value))}),l==="custom"?s.jsxs("div",{className:"ca-date-filter__custom",children:[s.jsx("label",{className:"ca-confirm-modal__label",htmlFor:"ca-date-from",children:"From Date"}),s.jsx("input",{id:"ca-date-from",type:"date",className:"ca-date-filter__date",value:c,max:f||void 0,onChange:S=>d(S.target.value)}),s.jsx("label",{className:"ca-confirm-modal__label",htmlFor:"ca-date-to",children:"To Date"}),s.jsx("input",{id:"ca-date-to",type:"date",className:"ca-date-filter__date",value:f,min:c||void 0,onChange:S=>u(S.target.value)})]}):null,s.jsxs("div",{className:"ca-confirm-modal__actions",children:[s.jsx(Ne,{variant:"outline",onClick:n,children:"Reset"}),s.jsx(Ne,{onClick:()=>t({field:a,preset:l,from:c,to:f}),disabled:!b,children:"Apply"})]})]})})}function Rg({open:e,initial:t,onApply:n,onReset:r,onClose:a}){return e?s.jsx(Zg,{initial:t,onApply:n,onReset:r,onClose:a}):null}const eA=/^[^\s]+\/[^\s]+\.[A-Za-z0-9]{2,5}(?:\?.*)?(?:::.+)?$/;function Ct(e){const t=String(e??""),n=t.indexOf("::");return n>=0?t.slice(0,n):t}function Pn(e){const t=String(e??""),n=t.indexOf("::");return n>=0?t.slice(n+2):t}const tA=new RegExp("(?<=\\.[A-Za-z0-9]{2,5})(?=[A-Za-z0-9_-]+\\/)|[,\\n;]+");function Jt(e){return(Array.isArray(e)?e:[e]).filter(n=>n!=null&&n!==""&&n!=="-").flatMap(n=>typeof n=="string"?n.split(tA).map(r=>r.trim()).filter(Boolean):[n])}function nA(e){const t=Jt(e);return t.length>0&&t.every(n=>typeof n=="string"&&eA.test(n))}function Mn(e,t){const n=String(e?.fieldType||"").toLowerCase();return n==="file"||n==="images"||n==="image"||nA(t)}function rA(e,t){const n=new Set;return t.forEach(r=>{e.forEach(a=>{const o=r[a.key]??"-";Mn(a,o)&&Jt(o).forEach(l=>{typeof l=="string"&&n.add(Ct(l))})})}),Array.from(n)}const dc=/\.(png|jpe?g|gif|webp|bmp|svg)(?:\?.*)?$/i;function hs(e,t=7){const n=String(e||""),r=n.lastIndexOf("."),a=r>0?n.slice(0,r):n,o=r>0?n.slice(r):"";return a.length>t?`${a.slice(0,t)}...${o}`:n}function aA({value:e,urlMap:t={}}){const n=g.useMemo(()=>Jt(e),[e]),[r,a]=g.useState(null);if(!n.length)return"-";const o=n.filter(p=>typeof p=="string"&&dc.test(Ct(p))),l=n.filter(p=>typeof p=="string"&&!dc.test(Ct(p))).map(p=>({name:Pn(p),url:t[Ct(p)]})),i=o.map(p=>({name:Pn(p),url:t[Ct(p)]})).filter(p=>p.url),c=i[0],d=()=>a(null),f=()=>a(p=>p>0?p-1:i.length-1),u=()=>a(p=>p<i.length-1?p+1:0);return s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"ca-complaint-table__attachments",children:[c?s.jsx("button",{type:"button",className:"ca-complaint-table__attachment-trigger",onClick:()=>a(0),"aria-label":`Preview ${c.name}`,children:s.jsx("img",{className:"ca-complaint-table__attachment-image",src:c.url,alt:c.name,title:c.name})}):null,l.length?l.map(p=>{const b=String(p.name).split("/").pop();return p.url?s.jsx("a",{className:"ca-complaint-table__attachment-link",href:p.url,target:"_blank",rel:"noreferrer",title:b,children:hs(b)},p.name):s.jsx("span",{className:"ca-complaint-table__attachment-name",title:b,children:hs(b)},p.name)}):null,!c&&!l.length?n.map(p=>s.jsx("span",{className:"ca-complaint-table__attachment-name",title:Pn(p),children:hs(Pn(p))},String(p))):null,i.length>1?s.jsxs("button",{type:"button",className:"ca-complaint-table__attachment-count",onClick:()=>a(1),"aria-label":`Preview ${i.length-1} more images`,children:["+",i.length-1]}):null]}),r!=null&&i.length?s.jsxs("div",{className:"ca-complaint-table__preview",role:"dialog","aria-modal":"true","aria-label":"Image preview",children:[s.jsx("button",{type:"button",className:"ca-complaint-table__preview-close",onClick:d,"aria-label":"Close image preview",children:"×"}),s.jsx("button",{type:"button",className:"ca-complaint-table__preview-nav ca-complaint-table__preview-nav--previous",onClick:f,"aria-label":"Previous image",children:"‹"}),s.jsx("img",{className:"ca-complaint-table__preview-image",src:i[r].url,alt:i[r].name}),s.jsx("button",{type:"button",className:"ca-complaint-table__preview-nav ca-complaint-table__preview-nav--next",onClick:u,"aria-label":"Next image",children:"›"}),s.jsxs("span",{className:"ca-complaint-table__preview-count",children:[r+1," / ",i.length]})]}):null]})}function Dr(e,t=!1){const n=[];return!t&&e==="description"&&n.push("ca-complaint-table__desc"),e==="actions"&&n.push("ca-complaint-table__sticky","ca-complaint-table__sticky--actions"),n.length?n.join(" "):void 0}function sA(e,t=[]){const n=t.find(a=>String(a.id)===String(e.assignedToUserId));return(n?[n.firstName,n.lastName].filter(Boolean).join(" ").trim():"")||e.assignedToUserName||""}function oA({row:e,ctx:t,isOpen:n,onToggle:r}){const a=t.roleUsers??[],o=g.useRef(null),l=g.useRef(null),[i,c]=g.useState(null),d=a.find(h=>String(h.id)===String(e.assignedToUserId)),u=(d?[d.firstName,d.lastName].filter(Boolean).join(" ").trim():"")||e.assignedToUserName||"",p=e.assignedToUserId,b=p!=null&&p!==""&&String(p)===String(t.currentUserId),S=b?"Assign to Me":u||"Assign",A=a.filter(h=>String(h.id)!==String(t.currentUserId)),m=!!e.isClosed||t.canAssign===!1;return g.useLayoutEffect(()=>{if(!n)return;const h=()=>{const w=o.current,L=l.current;if(!w||!L)return;const C=w.getBoundingClientRect(),k=L.getBoundingClientRect(),I=6,H=12,$=C.bottom+I+k.height>window.innerHeight-H&&C.top-I-k.height>=H?C.top-k.height-I:Math.min(C.bottom+I,window.innerHeight-k.height-H),q=Math.max(H,Math.min(C.right-k.width,window.innerWidth-k.width-H));c({top:$,left:q,visibility:"visible"})};return h(),window.addEventListener("resize",h),window.addEventListener("scroll",h,!0),()=>{window.removeEventListener("resize",h),window.removeEventListener("scroll",h,!0)}},[t.assignmentError,t.assignmentLoading,t.assignmentSaving,n,a.length]),s.jsxs("div",{className:"ca-complaint-table__assignment",children:[s.jsxs("button",{ref:o,type:"button",className:"ca-complaint-table__assignment-trigger","data-assignment-trigger":"true",disabled:m,onClick:h=>{h.stopPropagation(),!m&&r(e.id)},"aria-expanded":n&&!m,"aria-label":`Assign complaint ${e.title||e.id}`,children:[s.jsx("span",{className:"ca-complaint-table__assignment-label",children:S}),s.jsx(Kt,{size:14,"aria-hidden":"true"})]}),n&&!m&&typeof document<"u"?jr.createPortal(s.jsxs("div",{ref:l,className:"ca-complaint-table__assignment-menu","data-assignment-menu":"true",role:"menu",style:i||{visibility:"hidden"},onClick:h=>h.stopPropagation(),children:[s.jsx("button",{type:"button",className:"ca-complaint-table__assignment-self",role:"menuitem",disabled:b||t.assignmentLoading||t.assignmentSaving,onClick:h=>{h.stopPropagation(),r(null),t.onAssign?.(e,t.currentUserId)},children:s.jsx("strong",{children:"Assign to me"})}),t.assignmentLoading?s.jsx("span",{className:"ca-complaint-table__assignment-state",children:"Loading users…"}):null,t.assignmentSaving?s.jsx("span",{className:"ca-complaint-table__assignment-state",children:"Saving assignment…"}):null,t.assignmentError?s.jsxs("div",{className:"ca-complaint-table__assignment-error",children:[s.jsx("span",{children:t.assignmentError}),s.jsx("button",{type:"button",onClick:h=>{h.stopPropagation(),t.onRetryUsers?.(e.roleId)},children:"Retry"})]}):null,A.length>0?s.jsx("div",{className:"ca-complaint-table__assignment-others","aria-hidden":"true",children:"Others"}):null,A.map(h=>{const w=[h.firstName,h.lastName].filter(Boolean).join(" ").trim()||h.email;return s.jsxs("button",{type:"button",role:"menuitem",disabled:String(p)===String(h.id)||t.assignmentLoading||t.assignmentSaving,onClick:L=>{L.stopPropagation(),r(null),t.onAssign?.(e,h.id)},children:[s.jsx("strong",{children:w}),h.email?s.jsx("span",{children:h.email}):null]},h.id)})]}),document.body):null]})}function uc(e,t,n={},r={}){const a=t[e.key]??"-";if(e.key==="status"||e.key==="escalationTo")return a;if(e.key==="assignedToUserName"){const o=sA(t,n.roleUsers??[]);return o?s.jsx("span",{className:"ca-complaint-table__ellipsis",children:o}):"-"}return e.key==="actions"?s.jsxs("div",{className:"ca-complaint-table__action-cell",children:[s.jsx(oA,{row:t,ctx:n,...r}),s.jsx("button",{type:"button",className:"ca-complaint-table__open-button","aria-label":`Open complaint ${t.title||t.id}`,onClick:o=>{o.stopPropagation(),n.onOpenComplaint?.(t)},children:s.jsx(Cr,{size:16,"aria-hidden":"true"})})]}):Mn(e,a)&&Jt(a).some(o=>typeof o=="string")?s.jsx(aA,{value:a,urlMap:n.attachmentUrlMap}):a}function fc({scrollFields:e,stickyFields:t,tableRows:n,fieldLabel:r,getCellContext:a,onOpenComplaint:o,page:l,itemsPerPage:i}){const[c,d]=g.useState(null);g.useEffect(()=>{if(c==null)return;const u=p=>{p.target.closest?.("[data-assignment-trigger], [data-assignment-menu]")||d(null)};return document.addEventListener("pointerdown",u),()=>document.removeEventListener("pointerdown",u)},[c]);const f=u=>{d(p=>String(p)===String(u)?null:u)};return s.jsxs("div",{className:"ca-complaint-table__scroll",children:[s.jsxs("table",{children:[s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{scope:"col",children:"#"}),e.map(u=>s.jsx("th",{scope:"col",className:Dr(u.key,!0),children:r(u)},u.id)),s.jsx("th",{className:"ca-complaint-table__spacer","aria-hidden":"true"}),t.map(u=>s.jsx("th",{scope:"col",className:Dr(u.key,!0),children:r(u)},u.id))]})}),s.jsx("tbody",{children:n.map((u,p)=>{const b=a(u);b.onOpenComplaint=o;const S=u.assignedToUserId,A=S==null||S===""?"ca-complaint-table__row--unassigned":String(S)===String(b.currentUserId)?"ca-complaint-table__row--assigned-self":"ca-complaint-table__row--assigned-other";return s.jsxs("tr",{className:A,children:[s.jsx("td",{children:(l-1)*i+p+1}),e.map(m=>s.jsx("td",{className:Dr(m.key),children:uc(m,u,b)},`${u.id??p}-${m.id}`)),s.jsx("td",{className:"ca-complaint-table__spacer","aria-hidden":"true"}),t.map(m=>s.jsx("td",{className:Dr(m.key),children:uc(m,u,b,{isOpen:String(c)===String(u.id),onToggle:f})},`${u.id??p}-${m.id}`))]},u.id??p)})})]}),n.length?null:s.jsx("div",{className:"ca-complaint-table__empty-overlay",children:s.jsx(wr,{text:"Nothing here yet",illustrated:!0})})]})}const lA={id:"actions",label:"Actions",key:"actions"};function pc(e,t){return e==="mine"?t==null?{showAllComplaints:!1}:{showAllComplaints:!1,assignedToUserId:t}:e==="unassigned"?{showAllComplaints:!1,unassigned:!0}:{showAllComplaints:!1}}async function iA({complaintTypeId:e,status:t,dateParams:n={},sort:r,assignmentParams:a={},escalationTo:o,search:l}){const i=await de.get(Ia,{params:{...n,complaintTypeId:e,page:1,limit:Rh,sort:r,...a,...o!=null&&o!==""&&o!=="all"?{escalationTo:o}:{},...t!=null&&t!==""&&t!=="all"?{status:t}:{},...l!=null&&l.trim()?{search:l.trim()}:{}}});return Gl(i.data)}function cA(e){return(Array.isArray(e?.roles)?e.roles:[]).map(n=>Number(n?.id??n?.roleId??n?.role_id??n)).filter(n=>Number.isFinite(n))}function hc(e,t=[],n=[],r=null){const a=e?.hideForWorkflowStepId;if(a==null||a==="")return!0;const o=t.find(l=>String(l.id)===String(a));return!o||!gc(o,n,r)}function mc(e){return([e?.userAssignments,e?.users,e?.userIds,e?.assignedUsers].find(Array.isArray)??[]).map(n=>Number(n&&typeof n=="object"?n.userId??n.id??n.user?.id:n)).filter(Number.isFinite)}function gc(e,t=[],n=null){return(Array.isArray(e?.roleIds)?e.roleIds.map(Number):[]).some(a=>t.includes(a))?!0:n!=null&&mc(e).includes(Number(n))}function dA(){const{fieldLabel:e}=rt(),t=G.useDispatch(),n=Ke(),r=Me(),{complaintTypeId:a}=It(),[o]=Qs(),l=G.useSelector(P=>P.appDetails?.id),i=am(a,o.get("complaintTypeId"),l,rm()),{list:c=[],isLoading:d=!1,error:f=null,hasLoaded:u=!1,requestedComplaintTypeId:p=null,meta:b=null}=G.useSelector(P=>P.complaintManagement??{}),S=G.useSelector(P=>P.status?.list??[]),A=G.useSelector(P=>P.changeStatus?.updatingId??null),m=G.useSelector(P=>P.roleUsers??{}),h=G.useSelector(P=>P.workflow?.workflowSteps),w=G.useSelector(P=>P.appDetails?.details?.currentUser),L=G.useSelector(P=>P.appDetails?.details?.featureActions),C=Pa(L).canSeeAllFilters,k=G.useSelector(P=>P.appDetails?.details?.storeList),I=G.useSelector(P=>P.appDetails?.details?.userList??[]),H=g.useMemo(()=>ni(k),[k]),re=g.useMemo(()=>S.map(P=>P.name).filter(Boolean),[S]),$=g.useMemo(()=>Array.isArray(h)?h:Array.isArray(h?.steps)?h.steps:[],[h]),q=g.useMemo(()=>cA(w),[w]),z=w?.id??w?.userId??null,te=G.useSelector(P=>{const Z=P.complaintType?.selected,ue=Array.isArray(Z?.accesses)?Z.accesses.map(we=>we?.role?.id??we?.role?.roleId??we?.roleId).map(Number).filter(Number.isFinite):[];return ue.length?ue:(Array.isArray(Z?.roleIds)?Z.roleIds:Array.isArray(Z?.roles)?Z.roles:[]).map(we=>Number(we?.id??we?.roleId??we?.role_id??we)).filter(we=>Number.isFinite(we))}),R=G.useSelector(P=>{const Z=P.complaintType?.selected;return Z?.isActive!=null?!!Z.isActive:Z?.active!=null?!!Z.active:!0}),[O,D]=g.useState({complaintTypeId:null,status:"all"}),[K,J]=g.useState({complaintTypeId:null,direction:Vl}),[E,U]=g.useState({complaintTypeId:null,level:"all"}),[F,j]=g.useState({complaintTypeId:null,value:"all",explicitlySelected:!1}),[y,B]=g.useState(""),[V,ee]=g.useState(""),[_,M]=g.useState(1),[N,Y]=g.useState(Jh),[Q,ne]=g.useState([]),[fe,ge]=g.useState({}),[ye,Ae]=g.useState(!1),[ae,be]=g.useState(null),[ve,Ee]=g.useState([]),[dt,$e]=g.useState(!1),[He,Rt]=g.useState({complaintTypeId:null,field:"updated",preset:"",from:"",to:""}),at=String(He.complaintTypeId)===String(i)&&He.preset?He:null,xn=g.useMemo(()=>Yg(at),[at]);g.useEffect(()=>{const P=setTimeout(()=>{ee(y.trim()),M(1)},350);return()=>clearTimeout(P)},[y]);const Nt=String(O.complaintTypeId)===String(i)?O.status:"all",en=String(K.complaintTypeId)===String(i)?K.direction:Vl,T=String(E.complaintTypeId)===String(i)?E.level:"all",oe=String(F.complaintTypeId)===String(i)?F.value:"all",ce=String(F.complaintTypeId)===String(i)&&F.explicitlySelected,pe=g.useCallback(P=>{B(P),M(1)},[]),Ve=(P,Z="success")=>{const ue=`${Date.now()}-${Math.random()}`;Ee(Se=>[...Se,{id:ue,message:P,type:Z}])},Br=P=>Ee(Z=>Z.filter(ue=>ue.id!==P));g.useEffect(()=>{!i||a||(Kl(i),n(`/complaintmanagement/${i}`,{replace:!0}))},[i,n,a]),g.useEffect(()=>{if(!i||!a)return;Kl(i),t(gt(i)),t(cl()),t(pl()),t(ah());const P=t($t(i)),Z=t(ir(i)),ue=t(Re(i)),Se=t(qe(i)),we=t(Ze(i));return Se.unwrap().then(Fe=>ne(tm(Fe))).catch(()=>ne([])),()=>{P.abort?.(),Z.abort?.(),ue.abort?.(),Se.abort?.(),we.abort?.()}},[i,t,a]),g.useEffect(()=>{if(!i||!a)return;const P=t(lr({complaintTypeId:i,page:_,limit:N,status:Nt==="all"?void 0:Nt,sort:en===Wl?"createdAt":"-createdAt",...pc(oe,z),escalationTo:T==="all"?void 0:T,...xn,search:V}));return()=>P.abort?.()},[i,z,xn,V,t,N,_,a,oe,en,T,Nt]);const YA=te.some(P=>q.includes(P)),_t=g.useMemo(()=>p!=null&&i!=null&&String(p)!==String(i)?[]:c.map(Z=>({...ri(Ql(Z,S,$),H),_fields:Z?.formField||[]})),[i,c,p,S,$,H]),Ic=g.useMemo(()=>{const P=new Set;return _t.forEach(Z=>{Z.roleId!=null&&P.add(String(Z.roleId));const ue=$.find(Se=>String(Se.id)===String(Z.currentStepId));(Array.isArray(ue?.roleIds)?ue.roleIds:[]).forEach(Se=>P.add(String(Se)))}),[...P]},[_t,$]);g.useEffect(()=>{Ic.forEach(P=>{!m.usersByRoleId?.[P]&&!m.loadingByRoleId?.[P]&&!m.errorByRoleId?.[P]&&t(bt(P))})},[t,Ic,m.errorByRoleId,m.loadingByRoleId,m.usersByRoleId]);const JA=g.useMemo(()=>[...new Set($.map((P,Z)=>Number(P.levelNo??Z+1)))].sort((P,Z)=>P-Z),[$]),ZA=C,ws=g.useMemo(()=>Xl(_t,Q).filter(P=>hc(P,$,q,z)),[_t,Q,$,q,z]),RA=Hl(ws),Tc=P=>{const Z=P.assignedToUserId;return Z==null||Z===""?0:String(Z)===String(z)?1:2},Bn=_t.map(({_fields:P,...Z})=>Z).sort((P,Z)=>Tc(P)-Tc(Z)),Cs=g.useMemo(()=>rA(ws,_t),[ws,_t]),e0=Cs.every(P=>Object.prototype.hasOwnProperty.call(fe,P));g.useEffect(()=>{const P=Cs.filter(ue=>!Object.prototype.hasOwnProperty.call(fe,ue));if(!P.length)return;let Z=!1;return Promise.all(P.map(async ue=>{try{const Se=await t(_n({params:{path:ue}})).unwrap();return[ue,Se]}catch{return[ue,""]}})).then(ue=>{Z||ge(Se=>({...Se,...Object.fromEntries(ue)}))}),()=>{Z=!0}},[Cs,fe,t]);const Ur=nm(b,_,N,Bn.length),Fc=!!(i&&!f&&(!Bn.length&&(d||!u)||Bn.length>0&&!e0)),t0=P=>{M(1),D({complaintTypeId:i,status:P})},n0=P=>{P>=1&&P<=Ur.totalPages&&P!==_&&M(P)},r0=P=>{const Z=Number(P);!Number.isFinite(Z)||Z<=0||Z===N||(Y(Z),M(1))},a0=P=>{M(1),J({complaintTypeId:i,direction:P})},s0=P=>{M(1),U({complaintTypeId:i,level:P})},o0=P=>{M(1),j({complaintTypeId:i,value:P,explicitlySelected:!0})},l0=P=>{M(1),Rt({complaintTypeId:i,...P}),$e(!1)},i0=()=>{M(1),Rt({complaintTypeId:null,field:"updated",preset:"",from:"",to:""}),$e(!1)},c0=()=>{i&&n(`/complaintmanagement/new/${i}`)},d0=P=>{if(P?.id==null||!i)return;const Z=r.pathname.startsWith("/querymanagement")?"querymanagement":"complaintmanagement";n(`/${Z}/${i}/details/${P.id}`)},kc=P=>{const Z=$.find(ue=>String(ue.id)===String(P?.currentStepId));return!Z||gc(Z,q,z)},u0=async(P,Z)=>{if(P?.id==null||Z==null||A!=null||P.isClosed||String(P.assignedToUserId)===String(Z))return;if(!kc(P)){Ve("Only users in the current level can assign this complaint.","error");return}if(!(P.assignedToUserId!=null&&P.assignedToUserId!==""&&String(P.assignedToUserId)===String(z))&&String(Z)!==String(z)){Ve("Please assign this complaint to yourself first. Then you can assign it to others.","error");return}try{await t(At({id:P.id,assignedToUserId:Z})).unwrap(),Ve("Complaint assigned successfully","success")}catch(Se){Ve(Se?.message??"Failed to assign complaint","error")}},f0=P=>{const Z=$.find(Fe=>String(Fe.id)===String(P?.currentStepId)),ue=new Set([String(P.roleId),...Array.isArray(Z?.roleIds)?Z.roleIds.map(String):[]]),Se=new Set(mc(Z).map(String)),we=new Map;return[...[...ue].flatMap(Fe=>m.usersByRoleId?.[Fe]??[]),...I.filter(Fe=>Se.has(String(Fe?.id??Fe?.userId)))].forEach(Fe=>{const Un=String(Fe?.id??Fe?.userId);we.has(Un)||we.set(Un,Fe)}),[...we.values()]},p0=P=>({roleUsers:f0(P),assignmentLoading:!!m.loadingByRoleId?.[String(P.roleId)],assignmentError:m.errorByRoleId?.[String(P.roleId)]??null,assignmentSaving:A!=null,currentUserId:z,canAssign:kc(P),onAssign:u0,onRetryUsers:Z=>t(bt(Z)),attachmentUrlMap:fe});return{complaintTypeId:i,canCreateComplaint:YA,isComplaintTypeActive:R,statusNames:re,selectedStatus:Nt,selectedCreatedAtSort:en,selectedLevel:T,selectedAssignment:oe,workflowLevels:JA,canFilterByLevelAndAssignment:ZA,isDownloadingReport:ye,search:y,onSearchChange:pe,onStatusChange:t0,onCreatedAtSortChange:a0,onLevelChange:s0,onAssignmentChange:o0,dateFilter:at,hasDateFilter:!!at,isDateFilterOpen:dt,onOpenDateFilter:()=>$e(!0),onCloseDateFilter:()=>$e(!1),onApplyDateFilter:l0,onResetDateFilter:i0,onNewComplaint:c0,onDownloadReport:async()=>{if(!(!i||ye)){Ae(!0),be(null);try{const P=pc(oe,z,ce),ue=(await iA({complaintTypeId:i,status:Nt,dateParams:xn,sort:en===Wl?"createdAt":"-createdAt",assignmentParams:P,escalationTo:T,search:V})).map(st=>({...ri(Ql(st,S,$),H),_fields:st?.formField||[]})).filter(st=>T==="all"||String($.find(h0=>String(h0.id)===String(st.currentStepId))?.levelNo??st.level)===String(T)),Se=Xl(ue,Q).filter(st=>hc(st,$,q,z)),we=Hl(Se).filter(st=>!dm(st,ue,Mn)),Fe=new Blob([um(we,ue)],{type:"text/csv;charset=utf-8;"}),Un=URL.createObjectURL(Fe),jn=document.createElement("a");jn.href=Un,jn.download=`complaints-report-${i}-${Date.now()}.csv`,document.body.appendChild(jn),jn.click(),document.body.removeChild(jn),URL.revokeObjectURL(Un)}catch(P){be(P?.response?.data?.message??P?.message??"Failed to download report")}finally{Ae(!1)}}},error:f,downloadError:ae,showLoading:Fc,toasts:ve,onDismissToast:Br,tableProps:{scrollFields:RA.filter(P=>P.key!=="actions"),stickyFields:[lA],tableRows:Bn,fieldLabel:e,getCellContext:p0,onOpenComplaint:d0,page:_,itemsPerPage:N},paginationProps:{currentPage:_,totalItems:Ur.totalItems,itemsPerPage:N,onPageChange:n0,onItemsPerPageChange:r0,selectOptions:Zh,totalPages:Ur.totalPages,disabled:Fc,hasRows:!!(Ur.totalItems>0||Bn.length||_>1)}}}function uA({onHeaderActionsChange:e}){const t=dA(),n=t.tableProps.tableRows,r=g.useRef({});g.useEffect(()=>{r.current={onStatusChange:t.onStatusChange,onCreatedAtSortChange:t.onCreatedAtSortChange,onLevelChange:t.onLevelChange,onAssignmentChange:t.onAssignmentChange,onNewComplaint:t.onNewComplaint,onOpenDateFilter:t.onOpenDateFilter,onDownloadReport:t.onDownloadReport}});const a=g.useMemo(()=>({onStatusChange:(...o)=>r.current.onStatusChange?.(...o),onCreatedAtSortChange:(...o)=>r.current.onCreatedAtSortChange?.(...o),onLevelChange:(...o)=>r.current.onLevelChange?.(...o),onAssignmentChange:(...o)=>r.current.onAssignmentChange?.(...o),onNewComplaint:(...o)=>r.current.onNewComplaint?.(...o),onOpenDateFilter:(...o)=>r.current.onOpenDateFilter?.(...o),onDownloadReport:(...o)=>r.current.onDownloadReport?.(...o)}),[]);return g.useEffect(()=>{e?.({search:t.search,onSearchChange:t.onSearchChange,selectedStatus:t.selectedStatus,statusNames:t.statusNames,selectedCreatedAtSort:t.selectedCreatedAtSort,selectedLevel:t.selectedLevel,selectedAssignment:t.selectedAssignment,workflowLevels:t.workflowLevels,showLevelAndAssignmentFilters:t.canFilterByLevelAndAssignment,onStatusChange:a.onStatusChange,onCreatedAtSortChange:a.onCreatedAtSortChange,onLevelChange:a.onLevelChange,onAssignmentChange:a.onAssignmentChange,onNewComplaint:a.onNewComplaint,onOpenDateFilter:a.onOpenDateFilter,hasDateFilter:t.hasDateFilter,onDownloadReport:a.onDownloadReport,isDownloadingReport:t.isDownloadingReport,complaintTypeId:t.complaintTypeId,canCreateComplaint:t.canCreateComplaint,isComplaintTypeActive:t.isComplaintTypeActive})},[e,a,t.search,t.onSearchChange,t.selectedStatus,t.statusNames,t.selectedCreatedAtSort,t.selectedLevel,t.selectedAssignment,t.workflowLevels,t.canFilterByLevelAndAssignment,t.hasDateFilter,t.isDownloadingReport,t.complaintTypeId,t.canCreateComplaint,t.isComplaintTypeActive]),g.useEffect(()=>()=>e?.(null),[e]),s.jsxs("section",{className:"ca-complaint-table","aria-label":"Complaint records",children:[t.error?s.jsx("p",{className:"ca-body",children:t.error}):null,t.downloadError?s.jsx("p",{className:"ca-body",children:t.downloadError}):null,t.showLoading?s.jsx(tt,{text:"Loading complaints"}):s.jsx(fc,{...t.tableProps,tableRows:n}),t.paginationProps.hasRows?s.jsx(lc,{...t.paginationProps}):null,s.jsx(Rg,{open:t.isDateFilterOpen,initial:t.dateFilter,onApply:t.onApplyDateFilter,onReset:t.onResetDateFilter,onClose:t.onCloseDateFilter}),s.jsx(ic,{toasts:t.toasts,onDismiss:t.onDismissToast})]})}const Pr=({onHeaderActionsChange:e})=>s.jsxs("main",{className:"ca-query-management-page",children:[s.jsx(zg,{}),s.jsx(uA,{onHeaderActionsChange:e})]}),fA={CUSTOM:"Custom",TEXT:"Text",TEXTAREA:"Text Area",SELECT:"Select",DROPDOWN:"Dropdown",NUMBER:"Number",DATE:"Date",DATETIME:"Date Time",EMAIL:"Email",CHECKBOX:"Checkbox",RADIO:"Radio",FILE:"File",IMAGES:"Images",TIME:"Time"};function ms(e){return typeof e=="string"?e:e?.label??""}function pA(e=[]){const t=[...e].sort((n,r)=>(n.displayOrder??0)-(r.displayOrder??0));return t.map(n=>{const r=n.fieldName??n.fieldLabel??n.label??"",a=n.fieldKey??String(n.id),o=De({fieldKey:a,label:r}),l=o?"Office":r,i=n?.options?.values??[],c=t.find(d=>d.id===n.dependsOnFieldId||n.dependsOnFieldKey&&d.fieldKey===n.dependsOnFieldKey);return{id:n.id,label:l,fieldKey:se({fieldKey:a,label:r})?"status":o?"storeIdCustom":a,fieldType:Ba(n.fieldType,fA,n.fieldKey),required:!!n.required,dependsOn:n.dependsOnField?.fieldName??c?.fieldName??n.dependsOn??"",options:i.map(ms).filter(Boolean),parentMappings:Object.fromEntries(i.map(d=>{const f=ms(d),u=mA(d);return!f||!u?null:[f,gA(u,c?.options?.values??[])]}).filter(Boolean))}})}function Mr(e){const t=String(e||"").trim().split(/[^A-Za-z0-9]+/).filter(Boolean);return t.length?t[0].toLowerCase()+t.slice(1).map(n=>n.charAt(0).toUpperCase()+n.slice(1).toLowerCase()).join(""):""}function hA(e){if(se(e))return"status";if(De(e))return"storeIdCustom";const t=String(e.fieldKey||"").trim();return t&&!/\s/.test(t)?t:Mr(e.label||t)}function mA(e){return!e||typeof e!="object"?"":e.dependsOnValue??e.parent??""}function gA(e,t=[]){if(!e)return"";const n=t.map(ms).filter(Boolean),r=n.find(o=>o===e);return r||n.find(o=>Mr(o)===e||Mr(o)===Mr(e))||e}function AA(e,t=[],n={}){const r=e.options||[],a=String(e.dependsOn||"").trim();if(!a)return r;const o=t.find(d=>String(d.label||"").trim()===a||String(d.fieldKey||"").trim()===a);if(!o)return r;const l=e.parentMappings||{};if(!r.some(d=>!!l[d]))return r;const c=String(n[he(o)]||"").trim();return c?r.filter(d=>String(l[d]||"")===c):r}function gs(e){return Zt(e)==="checkbox"}function yA(e,t){const n=String(t||"").trim();return n&&e.find(r=>String(r.label||"").trim()===n||String(r.fieldKey||"").trim()===n)||null}function Ac(e,t){const n=String(t?.label||"").trim();return n&&e.find(r=>String(r.dependsOn||"").trim()===n)||null}function bA(e,t,n){const r={},a=Array.isArray(t)?t[0]:t;if(!a)return r;let o=e,l=a;for(;o?.dependsOn;){const i=yA(n,o.dependsOn);if(!i)break;const c=(o.parentMappings||{})[l];if(!c)break;r[he(i)]=gs(i)?[c]:c,o=i,l=c}for(o=e,l=a;o;){const i=Ac(n,o);if(!i)break;const c=i.parentMappings||{},d=Object.keys(c).find(f=>c[f]===l);if(!d)break;r[he(i)]=gs(i)?[d]:d,o=i,l=d}return r}function As(e){return Array.isArray(e)?e.filter(t=>t!=null&&t!==""):e==null||e===""?[]:[e]}function SA(e,t,n,r,a){const o={},l=As(n);let i=As(t).filter(d=>!l.includes(d)),c=e;for(;c&&i.length;){const d=Ac(r,c);if(!d)break;const f=d.parentMappings||{},u=he(d),p=As(o[u]??a[u]),b=p.filter(A=>i.includes(f[A]));if(!b.length)break;const S=p.filter(A=>!b.includes(A));o[u]=gs(d)?S:S[0]??"",i=b,c=d}return o}function he(e){return String(e.fieldKey||e.id||e.label)}function Zt(e){const t=String(e.fieldType||"").toLowerCase();return t==="textarea"||t==="text area"?"textarea":t==="date"?"date":t==="date time"||t==="datetime"||t==="datetime-local"?"datetime-local":t==="time"?"time":t==="email"?"email":t==="number"||t==="mobile"?"number":t==="radio"?"radio":t==="checkbox"||t==="multiselect"?"checkbox":t==="file"?"file":t==="images"?"images":(t==="dropdown"||t==="select"||t==="custom")&&e.options.length?"select":"text"}function yc(e){return`new-query-${e.id??he(e)}`}function bc(e){if(se(e))return(e.options||[]).find(r=>String(r).trim().toLowerCase()==="open")||"Open";const t=Zt(e);return t==="checkbox"||t==="file"||t==="images"?[]:""}function Sc(e){return Array.isArray(e)?e.map(t=>typeof File<"u"&&t instanceof File?t.name:t):typeof File<"u"&&e instanceof File?e.name:e??""}function ys(e,t){if(e==null)return t?.name||"";if(typeof e=="string"||typeof e=="number")return String(e);const n=e.file&&typeof e.file=="object"?e.file:e,r=n.path||n.id||t?.name||"",a=n.originalName||t?.name||"";return a&&r&&String(r)!==a?`${r}::${a}`:r}async function vA(e,t,n){const r=Zt(t);if(r==="file"&&typeof File<"u"&&n instanceof File){const a=await e(Vt({file:n,folder:"complaints"})).unwrap();return ys(a,n)}return r==="file"&&Array.isArray(n)?Promise.all(n.map(async a=>{if(typeof File<"u"&&a instanceof File){const o=await e(Vt({file:a,folder:"complaints"})).unwrap();return ys(o,a)}return a})):r==="images"&&Array.isArray(n)?await Promise.all(n.map(async o=>{if(typeof File<"u"&&o instanceof File){const l=await e(Vt({file:o,folder:"complaints"})).unwrap();return ys(l,o)}return o})):Sc(n)}function wA(e,t=[]){if(e==null||e==="")return"";const n=t.find(a=>String(a?.id??a?._id)===String(e)),r=n?.name??n?.storeName??n?.label;if(!r||!String(r).trim())throw new Error("Unable to resolve the selected Office name. Please select an Office again.");return String(r).trim()}async function CA(e=[],t={},n,r=[]){const a={};for(const o of e){const l=hA(o);if(!l)continue;const i=t[he(o)];a[l]=De(o)?wA(i,r):await vA(n,o,i)}return a}function vc(e){return Array.isArray(e)?e.length===0:typeof File<"u"&&e instanceof File?!1:e==null||String(e).trim()===""}function NA(e){return/^\d+$/.test(String(e).trim())}function _A(e=[],t={}){for(const n of e){const r=Zt(n),a=t[he(n)],o=n.label||"This field";if(n.required&&vc(a))return`${o} is required.`;if(!vc(a)&&r==="number"&&!NA(a))return`${o} must be a valid number.`}return""}function EA({field:e,value:t,onChange:n,storeList:r,options:a=e.options}){const{fieldLabel:o}=rt(),l=Zt(e),i=yc(e),c=se(e);if(De(e)&&Array.isArray(r))return s.jsx(Ji,{id:i,name:he(e),required:e.required,storeList:r,value:t,onChange:n});if(l==="radio")return s.jsx("div",{className:"review-options review-options--inline",children:a.map(d=>s.jsxs("label",{className:"review-option",htmlFor:`${i}-${d}`,children:[s.jsx("input",{id:`${i}-${d}`,name:he(e),type:"radio",value:d,checked:t===d,onChange:f=>n(f.target.value),required:e.required,disabled:c}),s.jsx("span",{children:d})]},d))});if(l==="checkbox"){const d=Array.isArray(t)?t:[];return s.jsx("div",{className:"review-options review-options--inline",children:a.map(f=>s.jsxs("label",{className:"review-option",htmlFor:`${i}-${f}`,children:[s.jsx("input",{id:`${i}-${f}`,name:`${he(e)}[]`,type:"checkbox",value:f,checked:d.includes(f),onChange:u=>n(u.target.checked?[...d,f]:d.filter(p=>p!==f))}),s.jsx("span",{children:f})]},f))})}if(l==="textarea")return s.jsx("textarea",{id:i,name:he(e),className:"review-control review-control--textarea",value:t,onChange:d=>n(d.target.value),required:e.required,disabled:c});if(l==="file")return s.jsx(Or,{id:i,name:he(e),value:t,onChange:n,multiple:!0,required:e.required,disabled:c});if(l==="images")return s.jsx(Or,{id:i,name:he(e),value:t,onChange:n,multiple:!0,required:e.required,disabled:c});if(l==="number")return s.jsx("input",{id:i,name:he(e),className:"review-control",type:"number",inputMode:"numeric",value:t,onChange:d=>n(String(d.target.value).replace(/[^\d]/g,"")),onKeyDown:d=>{(d.key==="e"||d.key==="E"||d.key==="+"||d.key==="-"||d.key===".")&&d.preventDefault()},required:e.required,disabled:c});if(l==="select"){const d=(a||[]).includes(t)||!c||!t?a:[t,...a];return s.jsxs("select",{id:i,name:he(e),className:"review-control",value:t,onChange:f=>n(f.target.value),required:e.required,disabled:c,children:[c?null:s.jsxs("option",{value:"",children:["Select ",o(e)]}),d.map(f=>s.jsx("option",{value:f,children:f},f))]})}return s.jsx("input",{id:i,name:he(e),className:"review-control",type:l,value:t,onChange:d=>n(d.target.value),required:e.required,disabled:c})}function wc({storeList:e}={}){const{fieldLabel:t}=rt(),n=G.useDispatch(),r=Ke(),a=Me(),{complaintTypeId:o}=It(),l=G.useSelector(F=>F.appDetails?.details?.storeList),i=Array.isArray(e)?e:Array.isArray(l)?l:[],c=Number(o),d=Number.isFinite(c)&&c>0,f=new URLSearchParams(a.search).get("access")==="public",[u,p]=g.useState([]),[b,S]=g.useState({}),[A,m]=g.useState(!0),[h,w]=g.useState(!1),[L,C]=g.useState(""),[k,I]=g.useState(""),[H,re]=g.useState(!1),[$,q]=g.useState(!f),[z,te]=g.useState(""),[R,O]=g.useState(""),D=G.useSelector(F=>{const j=F.complaintType??{},B=(Array.isArray(j.complaintList)?j.complaintList:[]).find(V=>String(V?.id??V?._id)===String(o))??(String(j.selected?.id??j.selected?._id)===String(o)?j.selected:null);return String(B?.name??B?.code??"").trim()}),K=D||R;g.useEffect(()=>{if(!f||!d)return;let F=!1;return n(Ze(c)).unwrap().then(j=>{const y=j?.data?.data??j?.data??j,V=String(y?.visibilityType??y?.accessType??"").toUpperCase()==="PUBLIC_LINK"&&y?.isActive!==!1&&y?.active!==!1;F||(q(V),V||C("This form is not available through a public link."))}).catch(()=>{F||(q(!1),C("This public form could not be verified."))}).finally(()=>{F||re(!0)}),()=>{F=!0}},[n,d,f,c]),g.useEffect(()=>{if(!d||D)return;let F=!1;return n(Ze(c)).unwrap().then(j=>{if(F)return;const y=j?.data??j;O(String(y?.name??y?.code??"").trim())}).catch(()=>{}),()=>{F=!0}},[c,D,n,d]),g.useEffect(()=>{if(!d||f&&(!H||!$))return;let F=!1;return n(qe(c)).unwrap().then(j=>{if(F)return;const y=pA(Array.isArray(j?.data)?j.data:j);p(y),S(Object.fromEntries(y.map(B=>[he(B),bc(B)])))}).catch(j=>{F||C(typeof j=="string"?j:j?.message||"Failed to load form fields.")}).finally(()=>{F||m(!1)}),()=>{F=!0}},[c,n,d]);const J=g.useMemo(()=>u.length>0,[u]),E=async F=>{if(F.preventDefault(),!d){C("A valid complaint type is required.");return}C(""),I(""),w(!0);const j=_A(u,b);if(j){C(j),w(!1);return}try{const y=await CA(u,b,n,i),B=u.findIndex(se),V=u[B+1],_=(V?[].concat(Sc(b[he(V)])).join(", ").trim():"")||K;if(!_){C("Title is required. Please fill the first field.");return}await n(dr({complaintTypeId:c,title:_,fieldValues:y})).unwrap(),I("Query submitted successfully."),a.key!=="default"?r(-1):r(`/complaintmanagement/${c}/all`)}catch(y){C(typeof y=="string"?y:y?.message||"Failed to submit query.")}finally{w(!1)}},U=F=>{const j=AA(F,u,b);return s.jsxs("div",{className:`review-question${["textarea","radio","checkbox"].includes(Zt(F))?" review-question--wide":""}`,children:[s.jsxs("label",{className:"review-label",htmlFor:yc(F),children:[t(F)||"Untitled field",F.required?s.jsx("span",{className:"review-required",children:"*"}):null]}),s.jsx(EA,{storeList:i,field:F,options:j,value:b[he(F)]??bc(F),onChange:y=>{se(F)||S(B=>{const V=SA(F,B[he(F)],y,u,B),ee=bA(F,y,u);return{...B,[he(F)]:y,...V,...ee}})}})]},F.id??he(F))};return s.jsx("main",{className:"ca-query-management-page",children:s.jsxs("section",{className:"ca-query-details","aria-labelledby":"new-query-title",children:[s.jsx("div",{className:"ca-query-details__heading",children:s.jsxs("div",{className:"ca-query-details__title-row",children:[s.jsx("button",{type:"button",className:"ca-settings-page__back",onClick:()=>r(-1),"aria-label":"Back to Complaint Management",children:s.jsx("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:s.jsx("path",{d:"M15 6l-6 6 6 6",stroke:"currentColor",strokeWidth:"2.2",strokeLinecap:"round",strokeLinejoin:"round"})})}),s.jsx("h1",{id:"new-query-title",className:"ca-query-details__title",children:"New Complaint"})]})}),L||!d?s.jsx("div",{className:"ca-validation-toast",role:"alert",children:L||"A valid complaint type is required."}):null,(A||f&&!H)&&d?s.jsx(tt,{text:f?"Verifying public form":"Loading form fields"}):null,d&&!A&&(!f||H&&$)&&J?s.jsxs("form",{className:"review-form-card",onSubmit:E,children:[s.jsx("div",{className:"review-form-grid",children:u.map(F=>s.jsx(g.Fragment,{children:se(F)?null:U(F)},F.id??he(F)))}),s.jsx("div",{className:"ca-new-query__actions",children:s.jsx(Ne,{type:"submit",disabled:h||f&&!$,children:h?"Submitting...":"Submit Complaint"})}),k?s.jsx("p",{className:"ca-body",children:k}):null]}):null]})})}const bs=[];function LA(e,t=200,n=null){const r=G.useDispatch(),a=G.useSelector(S=>S.appDetails?.details?.userList)??bs,o=G.useSelector(S=>S.status?.list)??bs,[l,i]=g.useState({key:null,complaints:[],error:null}),c=e==null||e===""?null:`${e}:${t}`;g.useEffect(()=>{if(e==null||e==="")return;const S=r($t(e));return()=>S.abort?.()},[e,r]),g.useEffect(()=>{if(e==null||e==="")return;let S=!1;const A=`${e}:${t}`;return de.get(Ia,{params:{complaintTypeId:e,page:1,limit:t}}).then(m=>{S||i({key:A,complaints:Gl(m.data),error:null})}).catch(m=>{S||i({key:A,complaints:[],error:m?.response?.data?.message??m?.message??"Failed to load complaints"})}),()=>{S=!0}},[e,t]);const d=l.key===c,f=d?l.complaints:bs,u=d?l.error:null,p=c!==null&&!d;return{rows:g.useMemo(()=>{const S={tatMinutes:Number(n)||0},A=h=>{const w=new Date(h?.createdAt??h?.submittedAt??h?.date??0).getTime();return Number.isNaN(w)?0:w},m=h=>Number(h?.complaintId??h?.id)||0;return[...f].sort((h,w)=>A(w)-A(h)||m(w)-m(h)).map(h=>ti(h,o,a,S))},[f,o,a,n]),isLoading:p,error:u}}function IA(){const e=G.useDispatch(),t=Ke(),n=Me(),{complaintTypeId:r}=It(),a=G.useSelector(d=>{const f=d.complaintType??{};return(Array.isArray(f.complaintList)?f.complaintList:[]).find(p=>String(p?.id??p?._id)===String(r))??(String(f.selected?.id??f.selected?._id)===String(r)?f.selected:null)}),{rows:o,isLoading:l,error:i}=LA(r,void 0,a?.tatMinutes),c=g.useCallback(d=>{t(`/complaintmanagement/${r}/details/${d.id}`,{state:{from:n.pathname}})},[r,n.pathname,t]);return g.useEffect(()=>{!a&&r&&e(Ze(r))},[r,e,a]),s.jsx("main",{className:"ca-query-management-page",children:s.jsxs("section",{className:"ca-filler-list",children:[s.jsxs("div",{className:"ca-query-details__heading",children:[s.jsxs("div",{className:"ca-query-details__title-row",children:[s.jsx("button",{type:"button",className:"ca-settings-page__back",onClick:()=>t("/"),"aria-label":"Back to Complaints",children:s.jsx("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:s.jsx("path",{d:"M15 6l-6 6 6 6",stroke:"currentColor",strokeWidth:"2.2",strokeLinecap:"round",strokeLinejoin:"round"})})}),s.jsxs("div",{children:[s.jsxs("h1",{className:"ca-query-details__title",children:[a?.name??a?.title??"Complaints",o.length?` (${o.length})`:""]}),s.jsx("p",{className:"ca-filler-card__desc",children:a?.description||" "})]})]}),s.jsx(Ne,{startIcon:s.jsx(fi,{size:14}),onClick:()=>t(`/complaintmanagement/new/${r}`),disabled:a?.isActive===!1||a?.active===!1,children:"Add Complaint"})]}),i?s.jsx("p",{className:"ca-body",children:i}):null,l?s.jsx(tt,{text:"Loading complaints"}):null,!l&&!i&&!o.length?s.jsx(wr,{text:"Nothing here yet",illustrated:!0}):null,l?null:o.map(d=>s.jsx(hi,{row:d,onClick:c},d.id))]})})}function Ss(e,t={}){if(!e)return"—";const n=new Date(e);return Number.isNaN(n.getTime())?"—":new Intl.DateTimeFormat(void 0,{day:"numeric",month:"short",year:"numeric",...t}).format(n)}function Cc(e){return e==null||e===""?"—":Array.isArray(e)?e.map(Cc).join(", "):typeof e=="object"?e.name??e.label??JSON.stringify(e):String(e)}function xr(e){const t=typeof e=="object"&&e!==null?e.userId??e.user_id??e.id??e.value??e.user?.id:e;return t==null||t===""?null:String(t)}function TA(e){const t=[e?.roleIds,e?.roles,e?.roleId!=null?[e.roleId]:[]].flatMap(n=>Array.isArray(n)?n:n==null?[]:[n]);return[...new Set(t.map(n=>xr(typeof n=="object"&&n!==null?{id:n.id??n.roleId??n.role_id??n.value??n.role?.id}:n)).filter(Boolean))]}function FA(e){return[e?.userAssignments,e?.users,e?.userIds,e?.assignedUsers].flatMap(n=>Array.isArray(n)?n:n==null?[]:[n]).filter(n=>n&&typeof n=="object")}function kA(e){const t=[e?.userAssignments,e?.users,e?.userIds,e?.assignedUsers].flatMap(n=>Array.isArray(n)?n:n==null?[]:[n]);return new Set(t.map(xr).filter(Boolean))}function vs(e){return String(e?.name??e?.userName??e?.fullName??[e?.firstName,e?.lastName].filter(Boolean).join(" ")??e?.email??"").trim()}function OA({assignedToUserId:e,assignedToUserName:t,currentUserId:n,users:r,saving:a,loading:o,error:l,onSelect:i,onRetry:c}){const[d,f]=g.useState(!1),u=g.useRef(null),p=g.useRef(null),[b,S]=g.useState(null),A=e!=null&&String(e)===String(n),m=A?"Assign to Me":t||"Assign";return g.useLayoutEffect(()=>{if(!d)return;const h=()=>{const w=u.current,L=p.current;if(!w||!L)return;const C=w.getBoundingClientRect(),k=L.getBoundingClientRect(),I=6,H=12,$=C.bottom+I+k.height>window.innerHeight-H&&C.top-I-k.height>=H?C.top-k.height-I:Math.min(C.bottom+I,window.innerHeight-k.height-H),q=Math.max(H,Math.min(C.left,window.innerWidth-k.width-H));S({top:$,left:q,visibility:"visible"})};return h(),window.addEventListener("resize",h),window.addEventListener("scroll",h,!0),()=>{window.removeEventListener("resize",h),window.removeEventListener("scroll",h,!0)}},[d,r.length,o,a,l]),g.useEffect(()=>{if(!d)return;const h=w=>{w.target.closest?.("[data-details-assignment-trigger], [data-details-assignment-menu]")||f(!1)};return document.addEventListener("pointerdown",h),()=>document.removeEventListener("pointerdown",h)},[d]),s.jsxs("div",{className:"ca-complaint-details__assignment-control",children:[s.jsxs("button",{ref:u,type:"button",className:"ca-complaint-table__assignment-trigger ca-complaint-details__assignment-trigger","data-details-assignment-trigger":"true",onClick:()=>f(h=>!h),"aria-expanded":d,"aria-label":"Assigned To",children:[s.jsx("span",{className:"ca-complaint-table__assignment-label",children:m}),s.jsx(Kt,{size:14,"aria-hidden":"true"})]}),d&&typeof document<"u"?jr.createPortal(s.jsxs("div",{ref:p,className:"ca-complaint-table__assignment-menu","data-details-assignment-menu":"true",role:"menu",style:b||{visibility:"hidden"},onClick:h=>h.stopPropagation(),children:[s.jsx("button",{type:"button",className:"ca-complaint-table__assignment-self",role:"menuitem",disabled:A||a,onClick:()=>{f(!1),i(n)},children:s.jsx("strong",{children:"Assign to me"})}),o?s.jsx("span",{className:"ca-complaint-table__assignment-state",children:"Loading users…"}):null,a?s.jsx("span",{className:"ca-complaint-table__assignment-state",children:"Saving assignment…"}):null,l?s.jsxs("div",{className:"ca-complaint-table__assignment-error",children:[s.jsx("span",{children:l}),s.jsx("button",{type:"button",onClick:c,children:"Retry"})]}):null,r.length?s.jsx("div",{className:"ca-complaint-table__assignment-others","aria-hidden":"true",children:"Others"}):null,r.filter(h=>String(h.id)!==String(n)).map(h=>s.jsxs("button",{type:"button",role:"menuitem",disabled:a||String(e)===String(h.id),onClick:()=>{f(!1),i(h.id)},children:[s.jsx("strong",{children:h.name||h.email||h.id}),h.email?s.jsx("span",{children:h.email}):null]},h.id))]}),document.body):null]})}function Nc({label:e,value:t,fieldType:n,attachmentUrls:r}){const o=Mn({fieldType:n},t)?Jt(t):[];return s.jsxs("div",{className:"ca-complaint-details__field",children:[s.jsx("span",{className:"ca-complaint-details__field-label",children:e||"Field"}),o.length?s.jsx("div",{className:"ca-complaint-details__attachments",children:o.map((l,i)=>{const c=Ct(l),d=r[c]||(typeof l=="string"&&/^https?:\/\//i.test(c)?c:""),f=Pn(l).split("/").pop();return d&&/\.(png|jpe?g|gif|webp|bmp|svg)(?:\?.*)?$/i.test(f)?s.jsx("a",{className:"ca-complaint-details__image-link",href:d,target:"_blank",rel:"noreferrer","aria-label":`View ${f}`,children:s.jsx("img",{src:d,alt:f})},`${c}-${i}`):d?s.jsx("a",{className:"ca-complaint-details__file",href:d,target:"_blank",rel:"noreferrer",children:f||"View attachment"},`${c}-${i}`):s.jsx("span",{className:"ca-complaint-details__file",children:f||"Attachment"},`${c}-${i}`)})}):s.jsx("span",{className:"ca-complaint-details__field-value",children:Cc(t)})]})}function DA({activities:e=[],fallbackRemarks:t=[],localRemarks:n=[],createdAt:r,isLoading:a,error:o,onRetry:l}){const i=g.useMemo(()=>{const d=[...e.length?e.map((u,p)=>{const b=u.action??u.activityType??u.type??"",S=u.description??u.remarks??u.remark??u.message??u.title??(typeof b=="string"?b:"")??"Complaint updated",A=/submit|created/i.test(`${b} ${S}`)?"created":"remark",m=[u.createdByFirstName,u.createdByLastName].filter(h=>h!=null&&String(h).trim()!=="").join(" ").trim();return{id:u.id??`${u.createdAt??u.timestamp??"activity"}-${p}`,type:A,text:S||"Complaint updated",author:u.createdByUserName||m||u.userName||u.actorName||u.createdBy?.name||u.user?.name,createdAt:u.createdAt??u.timestamp??u.occurredAt,fromLevelNo:u.fromLevelNo??u.oldLevelNo??u.fromLevel?.levelNo,toLevelNo:u.toLevelNo??u.newLevelNo??u.toLevel?.levelNo}}):[...t.map((u,p)=>({id:`${u.createdAt||"remark"}-${p}`,type:"remark",text:u.remark||"Complaint updated",author:u.createdByUserName,createdAt:u.createdAt,fromLevelNo:u.fromLevelNo,toLevelNo:u.toLevelNo}))],...n.map((u,p)=>({id:u.id??`local-${u.createdAt??p}`,type:"remark",text:u.remark||"Complaint updated",author:u.createdByUserName,createdAt:u.createdAt,fromLevelNo:u.fromLevelNo,toLevelNo:u.toLevelNo}))],f=d.some(u=>u.type==="created"||/complaint submitted/i.test(u.text));return r&&!f&&d.push({id:`created-${r}`,type:"created",text:"Complaint submitted",createdAt:r}),d.sort((u,p)=>new Date(p.createdAt||0)-new Date(u.createdAt||0))},[e,r,t,n]);return s.jsxs("aside",{className:"ca-complaint-details__activity","aria-label":"Activity log",children:[s.jsxs("div",{className:"ca-complaint-details__activity-heading",children:[s.jsx("h2",{children:"Activity log"}),s.jsx("span",{children:i.length})]}),a?s.jsx("p",{className:"ca-complaint-details__activity-empty",children:"Loading activity…"}):null,o?s.jsxs("div",{className:"ca-complaint-details__activity-empty",role:"alert",children:[s.jsx("p",{children:o}),s.jsx("button",{type:"button",onClick:l,children:"Retry"})]}):null,i.length?s.jsx("ol",{className:"ca-complaint-details__activity-list",children:i.map((c,d)=>s.jsxs("li",{className:"ca-complaint-details__activity-item",children:[s.jsx("span",{className:`ca-complaint-details__activity-icon ca-complaint-details__activity-icon--${c.type}`,"aria-hidden":"true",children:d===0?s.jsx(Em,{size:14,strokeWidth:1.8}):s.jsx(_m,{size:14,strokeWidth:1.8})}),s.jsxs("div",{className:"ca-complaint-details__activity-content",children:[s.jsx("p",{children:c.text}),c.type==="remark"||c.author?s.jsxs(s.Fragment,{children:[c.fromLevelNo!=null||c.toLevelNo!=null?s.jsxs("span",{className:"ca-complaint-details__activity-levels",children:[c.fromLevelNo!=null?`L${c.fromLevelNo}`:"—"," → ",c.toLevelNo!=null?`L${c.toLevelNo}`:"—"]}):null,c.author?s.jsx("span",{className:"ca-complaint-details__activity-author",children:c.author}):null]}):null,s.jsx("time",{dateTime:c.createdAt,children:Ss(c.createdAt,{hour:"numeric",minute:"2-digit"})})]})]},c.id))}):s.jsx("p",{className:"ca-complaint-details__activity-empty",children:"No activity yet"})]})}function PA({complaintId:e,complaintTypeId:t}){const n=G.useDispatch(),r=Ke(),a=Me(),o=a.pathname.startsWith("/querymanagement")?"querymanagement":"complaintmanagement",{data:l,isLoading:i,error:c}=G.useSelector(T=>T.complaintsGetOne??{}),d=G.useSelector(T=>T.activityLog??{}),f=G.useSelector(T=>T.status?.list??[]),u=G.useSelector(T=>T.workflow?.workflowSteps),p=G.useSelector(T=>T.appDetails?.details?.currentUser),b=G.useSelector(T=>T.roleUsers??{}),S=G.useSelector(T=>T.appDetails?.details?.userList??[]),A=p?.id??p?.userId??null,{fieldLabel:m}=rt(),h=G.useSelector(T=>T.appDetails?.details?.storeList),w=g.useMemo(()=>ni(h),[h]),L=T=>{const oe=T?.fieldName??T?.fieldKey??"Field";return m({...T,label:oe,fieldLabel:oe,fieldName:oe,key:T?.fieldKey})||oe},C=T=>typeof T=="string"&&w[T.trim()]?w[T.trim()]:T,{isLoading:k}=G.useSelector(T=>T.changeStatus??{}),[I,H]=g.useState({}),[re,$]=g.useState(null),[q,z]=g.useState(null),[te,R]=g.useState(""),[O,D]=g.useState(!1),[K,J]=g.useState([]),E=g.useCallback((T,oe="success")=>{J(ce=>[...ce,{id:Date.now()+Math.random(),message:T,type:oe}])},[]),U=g.useCallback(T=>{J(oe=>oe.filter(ce=>ce.id!==T))},[]),[F,j]=g.useState(""),y=g.useMemo(()=>Array.isArray(u)?u:Array.isArray(u?.steps)?u.steps:[],[u]);g.useEffect(()=>{n(mh()),n(wh());const T=n(yt(e)),oe=n(St(e));return()=>{T.abort?.(),oe.abort?.()}},[e,n]),g.useEffect(()=>{if(!t)return;const T=n($t(t)),oe=n(Re(t));return()=>{T.abort?.(),oe.abort?.()}},[t,n]);const B=Array.isArray(l?.fieldValues)?l.fieldValues:[],V=g.useMemo(()=>{const T=new Set;return(Array.isArray(l?.fieldValues)?l.fieldValues:[]).forEach(oe=>{Mn(oe?.formField,oe?.value)&&Jt(oe.value).forEach(ce=>{typeof ce=="string"&&T.add(Ct(ce))})}),[...T]},[l]);g.useEffect(()=>{const T=V.filter(ce=>!Object.prototype.hasOwnProperty.call(I,ce));if(!T.length)return;let oe=!1;return Promise.all(T.map(async ce=>{try{const pe=await n(_n({params:{path:ce}})).unwrap();return[ce,pe]}catch{return[ce,""]}})).then(ce=>{oe||H(pe=>({...pe,...Object.fromEntries(ce)}))}),()=>{oe=!0}},[V,I,n]);const ee=()=>r(a.state?.from||`/${o}/${t}`),_=re??(l?.statusId==null?"":String(l.statusId)),M=q??(l?.currentStepId==null?"":String(l.currentStepId)),N=_!==(l?.statusId==null?"":String(l.statusId))||M!==(l?.currentStepId==null?"":String(l.currentStepId)),Y=g.useMemo(()=>y.find(T=>String(T.id)===String(l?.currentStepId)),[l?.currentStepId,y]),Q=Y??l?.currentWorkflowStep,ne=g.useMemo(()=>TA(Q),[Q]);g.useEffect(()=>{ne.forEach(T=>{!b.usersByRoleId?.[T]&&!b.loadingByRoleId?.[T]&&!b.errorByRoleId?.[T]&&n(bt(T))})},[ne,n,b.errorByRoleId,b.loadingByRoleId,b.usersByRoleId]);const fe=g.useMemo(()=>{const T=kA(Q),oe=[...ne.flatMap(pe=>b.usersByRoleId?.[pe]??[]),...FA(Q),...S.filter(pe=>T.has(xr(pe))),p,l?.assignedToUser],ce=new Map;return oe.forEach(pe=>{const Ve=xr(pe);if(!Ve)return;const Br=ce.get(Ve);(!Br||!vs(Br)&&vs(pe))&&ce.set(Ve,pe)}),[...ce.entries()].map(([pe,Ve])=>({id:pe,name:vs(Ve)||(pe===String(A)?"Assign to Me":""),email:String(Ve?.email??Ve?.userEmail??"").trim()}))},[ne,S,Q,p,A,l?.assignedToUser,b.usersByRoleId]),ge=ne.some(T=>b.loadingByRoleId?.[T]),ye=ne.map(T=>b.errorByRoleId?.[T]).find(Boolean),Ae=(Array.isArray(p?.roles)?p.roles:[]).map(T=>Number(T?.id??T?.roleId??T?.role_id??T)).filter(Number.isFinite),ae=g.useMemo(()=>{if(!Q)return!1;const T=Array.isArray(Q.roleIds)&&Q.roleIds.some(pe=>Ae.includes(Number(pe))),oe=Number(p?.id??p?.userId),ce=[Q.userAssignments,Q.users,Q.userIds,Q.assignedUsers].filter(Array.isArray).flat().some(pe=>Number(pe?.userId??pe?.id??pe?.user?.id??pe)===oe);return T||ce},[Q,p?.id,p?.userId,Ae]),be=!vr(l?.status?.name)&&A!=null&&(!Y||ae),ve=!vr(l?.status?.name)&&A!=null&&String(l?.assignedToUserId)===String(A)&&(!Y||ae),Ee=g.useMemo(()=>[...y].sort((T,oe)=>Number(T.levelNo??0)-Number(oe.levelNo??0)),[y]),dt=g.useMemo(()=>Ee.find(T=>String(T.id)===String(M))??(String(l?.currentStepId)===String(M)?l?.currentWorkflowStep:null),[l?.currentStepId,l?.currentWorkflowStep,M,Ee]),$e=Number(dt?.levelNo??0),He=g.useMemo(()=>new Set(Ee.filter((T,oe)=>{const ce=Number(T.levelNo??oe+1);return ce===$e||ce===$e+1||ce===$e-1&&$e>1&&Sr(dt?.canReassign)}).map(T=>String(T.id))),[$e,dt?.canReassign,Ee]),Rt=l?.remarks,at=g.useMemo(()=>[...Array.isArray(Rt)?Rt:[]],[Rt]),xn=async()=>{if(!l?.id||k)return;j("");const T=N?te.trim():"";try{await n(At({id:l.id,statusId:_,currentStepId:M,assignedToUserId:A,remark:T})).unwrap(),$(null),z(null),R(""),await n(yt(e)).unwrap(),await n(St(e))}catch(oe){j(oe?.message??"Failed to update complaint")}},Nt=async T=>{if(!T||O)return;if(!be){E("Only users in the current level can assign this complaint.","error");return}if(A==null){E("Unable to identify the signed-in user.","error");return}const oe=String(T)===String(A),ce=String(l?.assignedToUserId)===String(A);if(!oe&&!ce){E("Please assign this complaint to yourself first. Then you can assign it to others.","error");return}if(String(l?.assignedToUserId)!==String(T)){D(!0);try{await n(At({id:l.id,assignedToUserId:T})).unwrap(),await n(yt(e)).unwrap(),await n(St(e)),E("Complaint assigned successfully")}catch(pe){E(pe?.message??"Failed to assign complaint","error")}finally{D(!1)}}},en=()=>{ne.forEach(T=>n(bt(T)))};return s.jsxs("main",{className:"ca-complaint-details-page",children:[s.jsxs("header",{className:"ca-complaint-details__header",children:[s.jsx("button",{className:"ca-complaint-details__back",type:"button",onClick:ee,"aria-label":"Back to complaints",children:s.jsx("span",{"aria-hidden":"true",children:"‹"})}),s.jsx("div",{className:"ca-complaint-details__heading",children:s.jsx("h1",{children:l?.complaintType?.name||"Complaint Details"})}),l?s.jsx("button",{className:"ca-complaint-details__update",type:"button",onClick:xn,disabled:k||!ve,children:k?"Updating…":"Update"}):null]}),i?s.jsx(tt,{text:"Loading complaint details"}):null,!i&&c?s.jsxs("div",{className:"ca-complaint-details__error",role:"alert",children:[s.jsx("p",{children:c}),s.jsx("button",{type:"button",onClick:()=>n(yt(e)),children:"Try again"})]}):null,!i&&!c&&l?s.jsxs("div",{className:"ca-complaint-details__layout",children:[s.jsxs("section",{className:"ca-complaint-details__main","aria-label":"Complaint information",children:[be?s.jsxs(s.Fragment,{children:[s.jsx("div",{className:"ca-complaint-details__assignment-section",children:s.jsxs("div",{className:"ca-complaint-details__field",children:[s.jsx("span",{className:"ca-complaint-details__field-label",children:"Assign to"}),s.jsx(OA,{assignedToUserId:l.assignedToUserId,assignedToUserName:fe.find(T=>T.id===String(l.assignedToUserId))?.name||l.assignedToUserName||l.assignedToUser?.name||"",currentUserId:A,users:fe,saving:O,loading:ge,error:ye,onSelect:Nt,onRetry:en})]})}),s.jsx("div",{className:"ca-complaint-details__section-divider"})]}):null,s.jsxs("div",{className:"ca-complaint-details__summary",children:[s.jsxs("label",{className:"ca-complaint-details__field",children:[s.jsx("span",{className:"ca-complaint-details__field-label",children:"Status"}),s.jsxs("span",{className:"ca-complaint-details__select-wrap",children:[s.jsxs("select",{className:"ca-complaint-details__control",value:_,disabled:!ve,onChange:T=>$(T.target.value),children:[f.map(T=>{const ce=!(String(T.id)===String(l.statusId))&&lm(T.name)&&!Sr(Q?.canResolve??l.currentWorkflowStep?.canResolve);return s.jsx("option",{value:T.id,disabled:ce,children:T.name},T.id)}),f.some(T=>String(T.id)===String(_))?null:s.jsx("option",{value:_,children:l.status?.name||"—"})]}),ve?s.jsx(Kt,{className:"ca-complaint-details__select-chevron",size:16,strokeWidth:1.8,"aria-hidden":"true"}):null]})]}),s.jsxs("label",{className:"ca-complaint-details__field",children:[s.jsx("span",{className:"ca-complaint-details__field-label",children:"Escalation to"}),s.jsxs("span",{className:"ca-complaint-details__select-wrap",children:[s.jsxs("select",{className:"ca-complaint-details__control",value:M,disabled:!ve,onChange:T=>z(T.target.value),children:[Ee.filter(T=>He.has(String(T.id))).map(T=>s.jsxs("option",{value:T.id,children:["Level ",T.levelNo]},T.id)),Ee.some(T=>String(T.id)===String(M))?null:s.jsx("option",{value:M,children:l.currentWorkflowStep?.levelNo!=null?`Level ${l.currentWorkflowStep.levelNo}`:"—"})]}),ve?s.jsx(Kt,{className:"ca-complaint-details__select-chevron",size:16,strokeWidth:1.8,"aria-hidden":"true"}):null]})]}),B.map((T,oe)=>s.jsx(Nc,{label:L(T.formField),value:C(T.value),fieldType:T.formField?.fieldType,attachmentUrls:I},T.id??`${T.formField?.id??"field"}-${oe}`)),s.jsx(Nc,{label:"Created at",value:Ss(l.createdAt)})]}),ve||at.length?s.jsxs("section",{className:"ca-complaint-details__remarks","aria-label":"Remarks",children:[s.jsx("h2",{children:"Remark"}),ve?s.jsxs(s.Fragment,{children:[s.jsx("form",{className:"ca-complaint-details__remark-form",onSubmit:T=>{T.preventDefault()},children:s.jsx("input",{"aria-label":"Enter remark",value:te,disabled:!N,onChange:T=>R(T.target.value),placeholder:"Enter remark"})}),F?s.jsx("p",{className:"ca-complaint-details__update-error",role:"alert",children:F}):null]}):null,at.length?s.jsx("ol",{className:"ca-complaint-details__remark-list",children:at.map((T,oe)=>s.jsxs("li",{children:[s.jsxs("div",{className:"ca-complaint-details__remark-meta",children:[s.jsxs("span",{children:[T.fromLevelNo!=null||T.toLevelNo!=null?`L${T.fromLevelNo??"—"} - L${T.toLevelNo??"—"}`:"",T.createdByUserName?` | ${T.createdByUserName}`:""]}),s.jsx("time",{dateTime:T.createdAt,children:Ss(T.createdAt,{hour:"numeric",minute:"2-digit"})})]}),s.jsx("p",{children:T.remark})]},T.id??`${T.createdAt??"remark"}-${oe}`))}):null]}):null]}),s.jsx(DA,{activities:d.activities,fallbackRemarks:at,createdAt:l.createdAt,isLoading:d.isLoading,error:d.error,onRetry:()=>n(St(e))})]}):null,s.jsx(ic,{toasts:K,onDismiss:U})]})}function _c(){const{complaintId:e,complaintTypeId:t}=It();return s.jsx(PA,{complaintId:e,complaintTypeId:t},e)}function MA({pageProps:e={},onPublish:t,onStepChange:n,children:r}){const a=r??s.jsx(mi,{...e});return s.jsxs(Ed,{children:[s.jsx(ke,{path:"/",element:a}),s.jsx(ke,{path:"/settings/:systemId",element:s.jsx(oc,{onPublish:t,onStepChange:n,company:e.company,roleList:e.roleList,userList:e.userList,storeList:e.storeList})}),s.jsx(ke,{path:"complaintmanagement",element:s.jsx(Pr,{onHeaderActionsChange:e.onHeaderActionsChange})}),s.jsx(ke,{path:"complaintmanagement/new/:complaintTypeId",element:s.jsx(wc,{company:e.company,storeList:e.storeList})}),s.jsx(ke,{path:"complaintmanagement/:complaintTypeId/details/:complaintId",element:s.jsx(_c,{})}),s.jsx(ke,{path:"complaintmanagement/:complaintTypeId",element:s.jsx(Pr,{onHeaderActionsChange:e.onHeaderActionsChange})}),s.jsx(ke,{path:"complaintmanagement/:complaintTypeId/all",element:s.jsx(IA,{})}),s.jsx(ke,{path:"querymanagement",element:s.jsx(Pr,{onHeaderActionsChange:e.onHeaderActionsChange})}),s.jsx(ke,{path:"querymanagement/new/:complaintTypeId",element:s.jsx(wc,{company:e.company,storeList:e.storeList})}),s.jsx(ke,{path:"querymanagement/:complaintTypeId/details/:complaintId",element:s.jsx(_c,{})}),s.jsx(ke,{path:"querymanagement/:complaintTypeId",element:s.jsx(Pr,{onHeaderActionsChange:e.onHeaderActionsChange})}),s.jsx(ke,{path:"*",element:a})]})}function xA({pageProps:e,onPublish:t=a=>console.log(a),onStepChange:n=a=>console.log(a),children:r}){return s.jsx(MA,{pageProps:e,onPublish:t,onStepChange:n,children:r})}function BA({children:e}){const{cssVars:t,darkMode:n,mode:r}=Qo();return s.jsx("div",{className:`ca-root ${n?"ca-root--dark":"ca-root--light"}`,"data-ca-theme":r,style:t,children:e})}function UA({basePath:e,children:t}){return Lt()?t:s.jsx(Vd,{basename:e,children:t})}function jA({store:e,children:t}){return s.jsx(G.Provider,{store:e||El,children:t})}function $A({details:e,children:t}){const n=G.useDispatch();return g.useEffect(()=>{n(el(e))},[n,e]),t}const Ec=[],Lc=({apiUrl:e,authToken:t,publicAccess:n=!1,store:r,basePath:a="/",theme:o,darkMode:l=!1,title:i,description:c,rolelist:d,roleList:f=d??Ec,userList:u=Ec,storeList:p,currentUser:b,company:S=b?.company,featureActions:A=Dh,useDemoData:m=!0,createLabel:h,onCreateForm:w,onConfigure:L,onOpen:C,onTitleClick:k,onDescriptionClick:I,onSearch:H,onHeaderActionsChange:re,onPublish:$,onSaveDraft:q,showSaveButton:z,showNextButton:te,onStepChange:R,children:O})=>{const D={title:i,description:c,useDemoData:m,createLabel:h,onCreateForm:w,onConfigure:L,onOpen:C,roleList:f,userList:u,storeList:p,company:S,onTitleClick:k,onDescriptionClick:I,onSearch:H,onHeaderActionsChange:re,onSaveDraft:q,showSaveButton:z,showNextButton:te},K=g.useMemo(()=>({featureActions:A,apiUrl:e,authToken:t,publicAccess:n,basePath:a,theme:o,darkMode:l,title:i,description:c,roleList:f,userList:u,storeList:p,currentUser:b,company:S,useDemoData:m,createLabel:h,onCreateForm:w,onConfigure:L,onOpen:C,onTitleClick:k,onDescriptionClick:I,onSearch:H,onHeaderActionsChange:re,onPublish:$,onSaveDraft:q,showSaveButton:z,showNextButton:te,onStepChange:R}),[A,e,t,n,a,o,l,i,c,f,u,p,b,S,m,h,w,L,C,k,I,H,re,$,q,z,te,R]);return s.jsx(Bi.Provider,{value:S,children:s.jsx(Ko,{theme:o,darkMode:l,children:s.jsx(jA,{store:r,children:s.jsx($A,{details:K,children:s.jsx(BA,{children:s.jsx($o,{apiUrl:e,authToken:t,publicAccess:n,children:s.jsx(UA,{basePath:a,children:s.jsx(xA,{pageProps:D,onPublish:$,onStepChange:R,children:O})})})})})})})})};function VA({children:e,onClick:t,className:n="",active:r=!1}){return s.jsx("button",{type:"button",className:`ca-chip ${r?"ca-chip--active":""} ${n}`.trim(),onClick:t,children:e})}function WA({checked:e=!1,onChange:t,name:n,value:r,"aria-label":a,className:o=""}){return s.jsxs("label",{className:`ca-radio ${o}`.trim(),children:[s.jsx("input",{type:"radio",className:"ca-radio__input",name:n,value:r,checked:e,onChange:t,"aria-label":a}),s.jsx("span",{className:"ca-radio__mark"})]})}function qA({status:e="inactive",label:t,className:n=""}){const a=String(e).toLowerCase()==="active",o=t??(a?"Active":"Inactive");return s.jsx("span",{className:`ca-badge rounded ca-badge--${a?"active":"inactive"} ${n}`.trim(),children:o})}const HA=["Open","Cancelled","Closed"];function zA({selectedStatus:e,statusNames:t=[],selectedCreatedAtSort:n,selectedLevel:r,selectedAssignment:a,workflowLevels:o=[],showLevelAndAssignmentFilters:l=!0,onStatusChange:i,onCreatedAtSortChange:c,onLevelChange:d,onAssignmentChange:f,onOpenDateFilter:u,hasDateFilter:p=!1,onDownloadReport:b,isDownloadingReport:S=!1,complaintTypeId:A}){return s.jsxs("div",{className:"ca-complaint-table__toolbar",children:[s.jsxs("div",{className:"ca-complaint-table__filters",children:[s.jsxs("label",{className:"ca-complaint-table__filter",children:[s.jsx(Om,{size:14,"aria-hidden":"true"}),s.jsx("span",{className:"ca-complaint-table__sr-only",children:"Filter by status"}),s.jsxs("select",{value:e,"aria-label":"Filter by status",onChange:m=>i?.(m.target.value),children:[s.jsx("option",{value:"all",children:"Select Status"}),(t.length?t:HA).map(m=>s.jsx("option",{value:m,children:gr(m)},m))]})]}),s.jsxs("label",{className:"ca-complaint-table__filter",children:[s.jsx("span",{className:"ca-complaint-table__sr-only",children:"Sort by created date"}),s.jsxs("select",{value:n,"aria-label":"Sort by created date",onChange:m=>c?.(m.target.value),children:[s.jsx("option",{value:"desc",children:"Created: Newest first"}),s.jsx("option",{value:"asc",children:"Created: Oldest first"})]})]}),l?s.jsxs(s.Fragment,{children:[s.jsxs("label",{className:"ca-complaint-table__filter",children:[s.jsx("span",{className:"ca-complaint-table__sr-only",children:"Filter by workflow level"}),s.jsxs("select",{value:r,"aria-label":"Filter by workflow level",onChange:m=>d?.(m.target.value),children:[s.jsx("option",{value:"all",children:"All Levels"}),o.map(m=>s.jsxs("option",{value:m,children:["Level ",m]},m))]})]}),s.jsxs("label",{className:"ca-complaint-table__filter",children:[s.jsx("span",{className:"ca-complaint-table__sr-only",children:"Filter by assignment"}),s.jsxs("select",{value:a,"aria-label":"Filter by assignment",onChange:m=>f?.(m.target.value),children:[s.jsx("option",{value:"all",children:"All"}),s.jsx("option",{value:"mine",children:"Assign to Me"}),s.jsx("option",{value:"unassigned",children:"Unassigned"})]})]})]}):null,s.jsx("button",{type:"button",className:`ca-complaint-table__sort${p?" ca-complaint-table__sort--active":""}`,"aria-label":"Filter by date",title:"Filter by date",onClick:u,children:s.jsx(Dm,{className:"ca-complaint-table__sort-icon",size:14,"aria-hidden":"true"})})]}),s.jsx("div",{className:"ca-complaint-table__actions",children:s.jsx(Ne,{variant:"outline",size:"sm",startIcon:s.jsx(Fm,{size:14}),onClick:b,disabled:S||!A,children:"Download Report"})})]})}const KA=Je.colors,QA=Je.radii,XA=Je.spacing,GA=Je.typography;x.AddFormButton=xi,x.AddTableCard=Ni,x.ApiProvider=$o,x.BodyText=Da,x.Button=Ne,x.COMPLAINT_ENDPOINTS=nr,x.CardFooter=Dl,x.CardHeader=Ol,x.ChevronDownIcon=Ka,x.ChevronRightIcon=En,x.Chip=VA,x.CloseIcon=vi,x.ComplaintApp=Lc,x.ComplaintManagementPage=mi,x.ComplaintSettingsPage=oc,x.ComplaintTableGrid=fc,x.ComplaintTableToolbar=zA,x.CustomPagination=lc,x.DEFAULT_PAGE_DESCRIPTION=ii,x.DEMO_SYSTEMS=ym,x.DataPoint=Pl,x.Divider=Ml,x.DragHandleIcon=ji,x.EmptyState=wr,x.FieldLabel=za,x.FormCard=Vi,x.FormCardGrid=Wi,x.FormField=Ge,x.FormInput=Er,x.FormSelect=Ga,x.FormTextarea=$m,x.Heading1=ka,x.Heading2=Oa,x.Input=zt,x.LabelText=Fl,x.LayersIcon=jm,x.LinkText=Eh,x.Loading=tt,x.PageHeader=ur,x.PlusIcon=Il,x.Radio=WA,x.RoleMultiSelect=Lr,x.SETTINGS_STEPS=Xe,x.SearchBar=li,x.SearchIcon=oi,x.Select=nt,x.SettingsCard=In,x.SettingsCardHeader=bi,x.SettingsWizardProvider=yi,x.StatusBadge=qA,x.Stepper=Tn,x.SystemCard=si,x.SystemCardGrid=qa,x.TableCard=_i,x.TableCardGrid=Oi,x.Tag=wi,x.Textarea=Si,x.ThemeProvider=Ko,x.Toggle=fr,x.ToggleField=Yi,x.TrashIcon=pr,x.Typography=it,x.ValueText=kl,x.WORKFLOW_SUBSTEPS=Um,x.api=de,x.appDetailsReducer=tl,x.clearAppDetails=Ep,x.clearComplaintError=Ap,x.clearId=Lp,x.clearSelectedComplaintResource=yp,x.colors=KA,x.complaintReducer=Yo,x.createComplaintStore=_l,x.darkTheme=gn,x.deepMerge=xt,x.default=Lc,x.defaultThemeFile=Vo,x.deleteFormField=yn,x.getFormFields=qe,x.lightTheme=Je,x.normalizeThemeFile=Wo,x.radii=QA,x.resetComplaintState=bp,x.resolveActiveTheme=qo,x.saveFormFields=An,x.setAppDetails=el,x.setAuthToken=Aa,x.setBaseUrl=jo,x.setId=gt,x.setIsEdit=Bt,x.spacing=XA,x.store=El,x.themeToCssVars=Ho,x.typography=GA,x.useSettingsWizard=_r,x.useTheme=Qo,Object.defineProperties(x,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
13
13
  //# sourceMappingURL=complaint-app.umd.js.map