@attabot/complaint-app 1.0.25 → 1.0.27
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.
|
@@ -8,6 +8,6 @@
|
|
|
8
8
|
`);return o===-1?"":a.stack.slice(o+1)})();try{if(!r.stack)r.stack=s;else if(s){const o=s.indexOf(`
|
|
9
9
|
`),l=o===-1?-1:s.indexOf(`
|
|
10
10
|
`,o+1),c=l===-1?"":s.slice(l+1);String(r.stack).endsWith(c)||(r.stack+=`
|
|
11
|
-
`+s)}}catch{}}throw r}}_request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=Ge(this.defaults,n);const{transitional:r,paramsSerializer:a,headers:s}=n;r!==void 0&&An.assertOptions(r,{silentJSONParsing:fe.transitional(fe.boolean),forcedJSONParsing:fe.transitional(fe.boolean),clarifyTimeoutError:fe.transitional(fe.boolean),legacyInterceptorReqResOrdering:fe.transitional(fe.boolean),advertiseZstdAcceptEncoding:fe.transitional(fe.boolean),validateStatusUndefinedResolves:fe.transitional(fe.boolean)},!1),a!=null&&(m.isFunction(a)?n.paramsSerializer={serialize:a}:An.assertOptions(a,{encode:fe.function,serialize:fe.function},!0)),n.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?n.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:n.allowAbsoluteUrls=!0),An.assertOptions(n,{baseUrl:fe.spelling("baseURL"),withXsrfToken:fe.spelling("withXSRFToken")},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();let o=s&&m.merge(s.common,s[n.method]);s&&m.forEach(["delete","get","head","post","put","patch","query","common"],w=>{delete s[w]}),n.headers=ue.concat(o,s);const l=[];let c=!0;this.interceptors.request.forEach(function(v){if(typeof v.runWhen=="function"&&v.runWhen(n)===!1)return;c=c&&v.synchronous;const y=n.transitional||Nr;y&&y.legacyInterceptorReqResOrdering?l.unshift(v.fulfilled,v.rejected):l.push(v.fulfilled,v.rejected)});const d=[];this.interceptors.response.forEach(function(v){d.push(v.fulfilled,v.rejected)});let u,f=0,p;if(!c){const w=[kr.bind(this),void 0];for(w.unshift(...l),w.push(...d),p=w.length,u=Promise.resolve(n);f<p;)u=u.then(w[f++],w[f++]);return u}p=l.length;let S=n;for(;f<p;){const w=l[f++],v=l[f++];try{S=w?w(S):S}catch(y){if(!v){u=Promise.reject(y);break}try{const g=v.call(this,y);m.isThenable(g)&&(u=Promise.resolve(g).then(()=>kr.call(this,S)))}catch(g){u=Promise.reject(g)}break}}if(!u)try{u=kr.call(this,S)}catch(w){u=Promise.reject(w)}for(f=0,p=d.length;f<p;)u=u.then(d[f++],d[f++]);return u}getUri(t){t=Ge(this.defaults,t);const n=Ss(t.baseURL,t.url,t.allowAbsoluteUrls,t);return cs(n,t.params,t.paramsSerializer)}};m.forEach(["delete","get","head","options"],function(t){Ye.prototype[t]=function(n,r){return this.request(Ge(r||{},{method:t,url:n,data:r&&m.hasOwnProp(r,"data")?r.data:void 0}))}}),m.forEach(["post","put","patch","query"],function(t){function n(r){return function(s,o,l){return this.request(Ge(l||{},{method:t,headers:r?{"Content-Type":"multipart/form-data"}:{},url:s,data:o}))}}Ye.prototype[t]=n(),t!=="query"&&(Ye.prototype[t+"Form"]=n(!0))});let Fu=class il{constructor(t){if(typeof t!="function")throw new TypeError("executor must be a function.");let n;this.promise=new Promise(function(s){n=s});const r=this;this.promise.then(a=>{if(!r._listeners)return;let s=r._listeners.length;for(;s-- >0;)r._listeners[s](a);r._listeners=null}),this.promise.then=a=>{let s;const o=new Promise(l=>{r.subscribe(l),s=l}).then(a);return o.cancel=function(){r.unsubscribe(s)},o},t(function(s,o,l){r.reason||(r.reason=new jt(s,o,l),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 il(function(a){t=a}),cancel:t}}};function Ou(e){return function(n){return e.apply(null,n)}}function ku(e){return m.isObject(e)&&e.isAxiosError===!0}const Ir={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(Ir).forEach(([e,t])=>{Ir[t]=e});function Ds(e){const t=new Ye(e),n=za(Ye.prototype.request,t);return m.extend(n,Ye.prototype,t,{allOwnKeys:!0}),m.extend(n,t,null,{allOwnKeys:!0}),n.create=function(a){return Ds(Ge(e,a))},n}const ae=Ds(Ut);ae.Axios=Ye,ae.CanceledError=jt,ae.CancelToken=Fu,ae.isCancel=hs,ae.VERSION=Lr,ae.toFormData=_n,ae.AxiosError=D,ae.Cancel=ae.CanceledError,ae.all=function(t){return Promise.all(t)},ae.spread=Ou,ae.isAxiosError=ku,ae.mergeConfig=Ge,ae.AxiosHeaders=ue,ae.formToJSON=e=>ps(m.isHTMLForm(e)?new FormData(e):e),ae.getAdapter=ks.getAdapter,ae.HttpStatusCode=Ir,ae.default=ae;const{Axios:Rm,AxiosError:e0,CanceledError:t0,isCancel:n0,CancelToken:r0,VERSION:a0,all:s0,Cancel:o0,isAxiosError:i0,spread:l0,toFormData:c0,AxiosHeaders:d0,HttpStatusCode:u0,formToJSON:f0,getAdapter:p0,mergeConfig:h0,create:m0}=ae;function Ln(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 Iu={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 Dr(e,t){function n(a,s,o){if(!(typeof document>"u")){o=Ln({},t,o),typeof o.expires=="number"&&(o.expires=new Date(Date.now()+o.expires*864e5)),o.expires&&(o.expires=o.expires.toUTCString()),a=encodeURIComponent(a).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var l="";for(var c in o)o[c]&&(l+="; "+c,o[c]!==!0&&(l+="="+o[c].split(";")[0]));return document.cookie=a+"="+e.write(s,a)+l}}function r(a){if(!(typeof document>"u"||arguments.length&&!a)){for(var s=document.cookie?document.cookie.split("; "):[],o={},l=0;l<s.length;l++){var c=s[l].split("="),d=c.slice(1).join("=");try{var u=decodeURIComponent(c[0]);if(u in o||(o[u]=e.read(d,u)),a===u)break}catch{}}return a?o[a]:o}}return Object.create({set:n,get:r,remove:function(a,s){n(a,"",Ln({},s,{expires:-1}))},withAttributes:function(a){return Dr(this.converter,Ln({},this.attributes,a))},withConverter:function(a){return Dr(Ln({},this.converter,a),this.attributes)}},{attributes:{value:Object.freeze(t)},converter:{value:Object.freeze(e)}})}var Vt=Dr(Iu,{path:"/"});const Du={BASE_URL:"/",DEV:!1,MODE:"production",PROD:!0,SSR:!1};let pt="https://api-grievance.airaops.com",xs=null;try{if(typeof{url:typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:ar&&ar.tagName.toUpperCase()==="SCRIPT"&&ar.src||new URL("complaint-app.umd.js",document.baseURI).href}<"u"&&Du?.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 Ps=e=>{pt=e||"",re.defaults.baseURL=pt},xr=e=>{xs=e||null},xu=()=>xs||Vt.get("token")||null,re=ae.create({baseURL:pt,headers:{Accept:"application/json","Content-Type":"application/json"}});re.interceptors.request.use(e=>{const t=xu();return e.headers=e.headers||{},t?e.headers.Authorization=`Bearer ${t}`:delete e.headers.Authorization,e});let Pr=!1,Mr=null;re.interceptors.response.use(e=>e,async e=>{const t=e.config,n=e.response;if(n&&(n.status===401||n.status===402)){const r=Vt.get("refreshToken");if(r)try{Pr||(Pr=!0,Mr=ae.post(`${pt}/api/v1/auth/refresh`,{},{headers:{Authorization:`Bearer ${r}`}}));const a=await Mr,{token:s,refreshToken:o}=a.data;return xr(s),o&&Vt.set("refreshToken",o),t.headers.Authorization=`Bearer ${s}`,re(t)}catch{Vt.remove("token"),Vt.remove("refreshToken")}finally{Pr=!1,Mr=null}}return Promise.reject(e)});const Pu=C.createContext(null),Ms=({children:e,apiUrl:t,authToken:n})=>(t&&Ps(t),xr(n||null),i.jsx(Pu.Provider,{value:{apiUrl:t,authToken:n},children:e})),xe={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)"}},qt={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)"}},Bs={light:xe,dark:qt};function ht(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)}function mt(e,t){if(!ht(t))return e;const n={...e};return Object.keys(t).forEach(r=>{const a=t[r];ht(a)&&ht(e[r])?n[r]=mt(e[r],a):a!==void 0&&(n[r]=a)}),n}function $s(e){return!e||!ht(e)?{light:xe,dark:qt}:ht(e.light)||ht(e.dark)?{light:mt(xe,e.light||{}),dark:mt(qt,e.dark||{})}:{light:mt(xe,e),dark:mt(qt,e)}}function Us(e,t=!1){const n=$s(e);return{...t?n.dark:n.light,mode:t?"dark":"light",__pack:n}}const Mu={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"},Bu={sm:"--ca-radius-sm",md:"--ca-radius-md",lg:"--ca-radius-lg",xl:"--ca-radius-xl",pill:"--ca-radius-pill"},$u={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"},Uu={card:"--ca-shadow-card",settings:"--ca-shadow-settings"};function js(e){const t={};return e?.colors&&Object.entries(Mu).forEach(([n,r])=>{e.colors[n]!=null&&(t[r]=e.colors[n])}),e?.radii&&Object.entries(Bu).forEach(([n,r])=>{e.radii[n]!=null&&(t[r]=e.radii[n])}),e?.typography&&Object.entries($u).forEach(([n,r])=>{e.typography[n]!=null&&(t[r]=e.typography[n])}),e?.shadow&&Object.entries(Uu).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 Vs=C.createContext({darkMode:!1,theme:null,themeFile:Bs,cssVars:{}});function qs({theme:e,darkMode:t=!1,children:n}){const r=C.useMemo(()=>{const a=Us(e,!!t),s=js(a);return{darkMode:!!t,theme:a,themeFile:a.__pack,cssVars:s,mode:a.mode}},[e,t]);return i.jsx(Vs.Provider,{value:r,children:n})}function Ws(){return C.useContext(Vs)}const Fn=Object.freeze({formFields:e=>`/api/v1/complaint-types/${e}/form-fields`}),ju=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"},Vu=(e,t)=>t.rejectWithValue({status:e?.response?.status??e?.status,message:ju(e)}),Br=(e,t)=>te.createAsyncThunk(e,async(n,r)=>{try{return(await t(n,r)).data}catch(a){return Vu(a,r)}}),Le=Br("complaint/types/getFormFields",(e,{signal:t})=>re.get(Fn.formFields(e),{signal:t})),Wt=Br("complaint/types/saveFormFields",({complaintTypeId:e,data:t})=>re.put(Fn.formFields(e),t)),gt=Br("complaint/types/deleteFormField",({complaintTypeId:e,fieldId:t})=>re.delete(`${Fn.formFields(e)}/${t}`)),Hs={formFields:{data:[],selected:null,pagination:null,isLoading:!1,isMutating:!1,error:null},error:null},qu=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}},$r=e=>e.payload?.message??e.error?.message??"Something went wrong",zs=te.createSlice({name:"complaintAppComplaint",initialState:Hs,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 Hs}},extraReducers:e=>{e.addCase(Le.pending,t=>{t.formFields.isLoading=!0,t.formFields.error=null}).addCase(Le.fulfilled,(t,n)=>{const r=qu(n.payload);t.formFields.isLoading=!1,t.formFields.data=r.data}).addCase(Le.rejected,(t,n)=>{t.formFields.isLoading=!1,t.formFields.error=$r(n)}).addCase(Wt.pending,t=>{t.formFields.isMutating=!0,t.formFields.error=null}).addCase(Wt.fulfilled,t=>{t.formFields.isMutating=!1}).addCase(Wt.rejected,(t,n)=>{t.formFields.isMutating=!1,t.formFields.error=$r(n)}).addCase(gt.pending,t=>{t.formFields.isMutating=!0,t.formFields.error=null}).addCase(gt.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(gt.rejected,(t,n)=>{t.formFields.isMutating=!1,t.formFields.error=$r(n)})}}),{clearComplaintError:Wu,clearSelectedComplaintResource:Hu,resetComplaintState:zu}=zs.actions,Ks=zs.reducer,Ht="/api/v1/complaint-types",zt=(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"})},Kt=te.createAsyncThunk("complaintType/fetchAll",async(e,t)=>{try{return(await re.get(Ht)).data}catch(n){return zt(n,t)}}),yt=te.createAsyncThunk("complaintType/fetchById",async(e,t)=>{try{const n=e;return(await re.get(`${Ht}/${n}`)).data}catch(n){return zt(n,t)}}),Jt=te.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(o=>parseInt(o,10))},s=await re.post(Ht,a);return t&&typeof t=="function"&&t(s.data),s.data}catch(a){return console.log("createComplaintType error:",a),n&&typeof n=="function"&&n(a),zt(a,r)}}),Zt=te.createAsyncThunk("complaintType/update",async({id:e,data:t,onSuccess:n,onFail:r},a)=>{try{const s=await re.patch(`${Ht}/${e}`,t);return n&&typeof n=="function"&&n(s.data),s.data}catch(s){return console.log("updateComplaintType error:",s),r&&typeof r=="function"&&r(s),zt(s,a)}}),On=te.createAsyncThunk("complaintType/delete",async(e,t)=>{try{const n=await re.delete(`${Ht}/${e}`);return{id:e,data:n.data}}catch(n){return zt(n,t)}}),Ku={complaintList:[],selected:null,loading:!1,saving:!1,error:null},Ju=["data","items","results","content","records","list","payload","response","result"],Js=e=>{if(Array.isArray(e))return e;if(!e||typeof e!="object")return[];for(const t of Ju)if(e[t]!==void 0){const n=Js(e[t]);if(n.length||Array.isArray(e[t]))return n}return[]},Zs=te.createSlice({name:"complaintType",initialState:Ku,reducers:{setComplaintTypeActive(e,t){const{id:n,isActive:r}=t.payload??{};n!=null&&(e.complaintList=e.complaintList.map(a=>String(a?.id)===String(n)?{...a,isActive:r}:a),String(e.selected?.id)===String(n)&&(e.selected={...e.selected,isActive:r}))}},extraReducers:e=>{e.addCase(Kt.pending,t=>{t.loading=!0,t.error=null}).addCase(Kt.fulfilled,(t,n)=>{t.loading=!1,t.complaintList=Js(n.payload)}).addCase(Kt.rejected,(t,n)=>{t.loading=!1,t.error=n.payload?.message??n.error?.message??"Failed to fetch complaint types"}).addCase(yt.pending,t=>{t.loading=!0,t.error=null}).addCase(yt.fulfilled,(t,n)=>{t.loading=!1,t.selected=n.payload?.data??n.payload}).addCase(yt.rejected,(t,n)=>{t.loading=!1,t.error=n.payload?.message??n.error?.message??"Failed to fetch complaint type"}).addCase(Jt.pending,t=>{t.saving=!0,t.error=null}).addCase(Jt.fulfilled,(t,n)=>{t.saving=!1;const r=n.payload?.data??n.payload;t.complaintList=[r,...t.complaintList.filter(a=>a?.id!==r?.id)],t.selected=r}).addCase(Jt.rejected,(t,n)=>{t.saving=!1,t.error=n.payload?.message??n.error?.message??"Failed to create complaint type"}).addCase(Zt.pending,t=>{t.saving=!0,t.error=null}).addCase(Zt.fulfilled,(t,n)=>{t.saving=!1;const r=n.payload?.data??n.payload;t.complaintList=t.complaintList.map(a=>a?.id===r?.id?r:a),t.selected=r}).addCase(Zt.rejected,(t,n)=>{t.saving=!1,t.error=n.payload?.message??n.error?.message??"Failed to update complaint type"}).addCase(On.pending,t=>{t.saving=!0,t.error=null}).addCase(On.fulfilled,(t,n)=>{t.saving=!1;const r=n.payload?.id??n.meta?.arg;t.complaintList=t.complaintList.filter(a=>String(a?.id)!==String(r)),String(t.selected?.id)===String(r)&&(t.selected=null)}).addCase(On.rejected,(t,n)=>{t.saving=!1,t.error=n.payload?.message??n.error?.message??"Failed to delete complaint type"})}}),{setComplaintTypeActive:Zu}=Zs.actions,Gu=Zs.reducer,Yu={details:{},id:null,isEdit:!1},Gs=te.createSlice({name:"appDetails",initialState:Yu,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:Ys,clearAppDetails:Xu,setId:Xe,setIsEdit:Gt,clearId:Qu}=Gs.actions,Xs=Gs.reducer,Ru={list:[],pagination:null,isLoading:!1,error:null},Qs=te.createSlice({name:"roles",initialState:Ru,reducers:{}});Qs.reducer;const kn=60,Ur=24*kn,ef={d:Ur,h:kn,m:1};function jr(e){const t=Number(e);return Number.isFinite(t)&&t>0?t:0}function Rs(e=[],t=!0){const n=Array.isArray(e)?e:[];return(t?n:n.slice(0,-1)).reduce((a,s)=>a+Ce(s?.escalateAfterMinutes),0)}function Ce(e){if(e==null||e==="")return 0;if(typeof e=="number")return jr(e);const t=String(e).trim().toLowerCase().replace(/minutes?/g,"").trim();if(!t)return 0;if(/^\d+(\.\d+)?$/.test(t))return jr(t);const n=/(\d+(?:\.\d+)?)\s*(d|h|m)/g;let r=0,a=!1,s;for(;(s=n.exec(t))!==null;)a=!0,r+=(ef[s[2]]||0)*Number(s[1]);return a?jr(r):0}function bt(e){const t=Math.round(typeof e=="number"?e:Ce(e));if(!Number.isFinite(t)||t<=0)return"";const n=Math.floor(t/Ur),r=Math.floor(t%Ur/kn),a=t%kn,s=[];return n&&s.push(`${n}d`),r&&s.push(`${r}h`),a&&s.push(`${a}m`),s.join("")}function tf(e){const t=String(e??"").trim().toLowerCase().replace(/minutes?/g,"").replace(/\s+/g,"");return!t||!/^(\d+(?:\.\d+)?[dhm])+$/.test(t)?!1:Ce(e)>0}function nf(e){return String(e??"").replace(/(\d+)\s*minutes?/gi,(t,n)=>bt(Number(n))||"0m")}function rf(e=[]){return Rs(e,!0)}function St(e=[],t=0){if(!Array.isArray(e)||e.length===0)return e;const n=Math.max(0,Ce(t)-Rs(e,!1)),r=bt(n),a=e.length-1;return String(e[a]?.escalateAfterMinutes??"")===r?e:e.map((s,o)=>o===a?{...s,escalateAfterMinutes:r}:s)}function af(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 eo=e=>`/api/v1/complaint-types/${e}/workflow-steps`;function sf(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 Vr(e){return e===!0||e==="Yes"||e==="yes"||e==="true"||e===1||e==="1"}const to=(e,t)=>t.rejectWithValue({status:e?.response?.status??e?.status,message:sf(e)}),Qe=te.createAsyncThunk("workflow/fetchSteps",async(e,t)=>{try{return(await re.get(eo(e))).data}catch(n){return to(n,t)}}),In=te.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 s=t.tables.map((l,c)=>({levelNo:c+1,roleIds:Array.isArray(l.role)?l.role.map(d=>Number(d)):[],escalateAfterMinutes:Ce(l.escalateAfterMinutes),canResolve:Vr(l.canResolve),canReassign:Vr(l.canReassign),isFinalLevel:Vr(l.finalLevel),isActive:!0})),o=await re.put(eo(e),{steps:s});return typeof n=="function"&&n(o.data),o.data}catch(s){return typeof r=="function"&&r(s),to(s,a)}}),of={workflowSteps:null,workflowStepsLoading:!1,workflowStepsSaving:!1,error:null},lf=te.createSlice({name:"workflow",initialState:of,reducers:{},extraReducers:e=>{e.addCase(Qe.pending,t=>{t.workflowStepsLoading=!0,t.error=null,t.workflowSteps=null}).addCase(Qe.fulfilled,(t,n)=>{t.workflowStepsLoading=!1,t.workflowSteps=n.payload?.data??n.payload}).addCase(Qe.rejected,(t,n)=>{n.meta.aborted||(t.workflowStepsLoading=!1,t.error=n.payload?.message??n.error?.message??"Failed to fetch workflow steps")}).addCase(In.pending,t=>{t.workflowStepsSaving=!0,t.error=null}).addCase(In.fulfilled,(t,n)=>{t.workflowStepsSaving=!1,t.workflowSteps=n.payload?.data??n.payload}).addCase(In.rejected,(t,n)=>{t.workflowStepsSaving=!1,t.error=n.payload?.message??n.error?.message??"Failed to update workflow steps"})}}).reducer,no="/api/v1/complaints",cf=(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"})},Yt=te.createAsyncThunk("complaintManagement/fetchQueries",async(e,t)=>{try{const{complaintTypeId:n,page:r=1,limit:a=10,status:s,sort:o="-createdAt"}=e||{},l={page:r,limit:a,complaintTypeId:n,sort:o};return s!=null&&s!==""&&s!=="all"&&(l.status=s),(await re.get(no,{params:l,signal:t.signal})).data}catch(n){return cf(n,t)}}),df=e=>`/api/v1/complaints/${e}`,uf=(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 qr(e){if(e==null||e==="")return;const t=Number(e);return Number.isNaN(t)?void 0:t}const Xt=te.createAsyncThunk("changeStatus/update",async({id:e,statusId:t,currentStepId:n,assignedToUserId:r,remark:a,onSuccess:s,onFail:o},l)=>{try{const c={},d=qr(t),u=qr(n),f=qr(r);d!=null&&(c.statusId=d),u!=null&&(c.currentStepId=u),f!=null&&(c.assignedToUserId=f),a!=null&&String(a).trim()!==""&&(c.remarks=String(a).trim());const p=await re.patch(df(e),c,{signal:l.signal});return s&&typeof s=="function"&&s(p.data),p.data}catch(c){return o&&typeof o=="function"&&o(c),uf(c,l)}}),ro={list:[],meta:null,isLoading:!1,error:null,hasLoaded:!1,requestedComplaintTypeId:null},ff=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}},pf=e=>e.payload?.message??e.error?.message??"Failed to fetch queries",ao=e=>e?.complaintId??e?.id,hf=(e,t)=>{const n=t.meta?.arg??{},r=t.payload?.data??t.payload,a=n.id??ao(r);return a==null?e:e.map(s=>{if(String(ao(s))!==String(a))return s;const o={...s};return r&&typeof r=="object"&&!Array.isArray(r)&&["status","statusId","level","levelNo","currentStepId","currentWorkflowStepId","workflowStepId","assignedToUserId"].forEach(l=>{r[l]!==void 0&&(o[l]=r[l])}),n.statusId!=null&&(o.statusId=n.statusId),n.status&&(o.status=n.status),n.currentStepId!=null&&(o.currentStepId=n.currentStepId,o.currentWorkflowStepId=n.currentStepId,o.workflowStepId=n.currentStepId),n.level!=null&&(o.level=n.level,o.levelNo=n.level),n.assignedToUserId!=null&&(o.assignedToUserId=n.assignedToUserId),o})},so=te.createSlice({name:"complaintManagement",initialState:ro,reducers:{resetComplaintManagementState:()=>ro},extraReducers:e=>{e.addCase(Yt.pending,(t,n)=>{t.isLoading=!0,t.error=null,t.hasLoaded=!1,t.list=[],t.requestedComplaintTypeId=n.meta.arg?.complaintTypeId??null}).addCase(Yt.fulfilled,(t,n)=>{const r=n.meta.arg?.complaintTypeId;if(t.requestedComplaintTypeId!=null&&r!=null&&String(t.requestedComplaintTypeId)!==String(r))return;const a=ff(n.payload);t.isLoading=!1,t.hasLoaded=!0,t.list=a.list,t.meta=a.meta}).addCase(Yt.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=pf(n))}).addCase(Xt.fulfilled,(t,n)=>{t.list=hf(t.list,n)})}}),{resetComplaintManagementState:oo}=so.actions,mf=so.reducer,gf=e=>`/api/v1/complaint-types/${e}/statuses`,yf="/api/v1/complaints/summary",io=(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"})},Dn=te.createAsyncThunk("status/fetchStatuses",async(e,t)=>{try{return(await re.get(gf(e),{signal:t.signal})).data}catch(n){return io(n,t)}}),xn=te.createAsyncThunk("status/fetchComplaintSummary",async(e,t)=>{try{return(await re.get(yf,{params:{complaintTypeId:e},signal:t.signal})).data}catch(n){return io(n,t)}}),lo={list:[],isLoading:!1,error:null,hasLoaded:!1,requestedComplaintTypeId:null,complaintSummary:null,isComplaintSummaryLoading:!1,complaintSummaryError:null,hasComplaintSummaryLoaded:!1,requestedComplaintSummaryTypeId:null},bf=e=>{const t=e?.data??e?.results??e?.items??e;return Array.isArray(t)?t:[]},Sf=e=>{const t=e?.data??e;return!t||typeof t!="object"||Array.isArray(t)?null:t},wf=e=>e.payload?.message??e.error?.message??"Failed to fetch statuses",vf=e=>e.payload?.message??e.error?.message??"Failed to fetch complaint summary",Pn=(e,t)=>e!=null&&t!=null&&String(e)!==String(t),co=te.createSlice({name:"status",initialState:lo,reducers:{resetStatusState:()=>lo},extraReducers:e=>{e.addCase(Dn.pending,(t,n)=>{t.isLoading=!0,t.error=null,t.hasLoaded=!1,t.list=[],t.requestedComplaintTypeId=n.meta.arg??null}).addCase(Dn.fulfilled,(t,n)=>{const r=n.meta.arg;if(Pn(t.requestedComplaintTypeId,r))return;const a=bf(n.payload);t.isLoading=!1,t.hasLoaded=!0,t.list=[...a].sort((s,o)=>(s.displayOrder??0)-(o.displayOrder??0))}).addCase(Dn.rejected,(t,n)=>{if(n.meta.aborted)return;const r=n.meta.arg;Pn(t.requestedComplaintTypeId,r)||(t.isLoading=!1,t.hasLoaded=!0,t.error=wf(n))}).addCase(xn.pending,(t,n)=>{t.isComplaintSummaryLoading=!0,t.complaintSummaryError=null,t.hasComplaintSummaryLoaded=!1,t.complaintSummary=null,t.requestedComplaintSummaryTypeId=n.meta.arg??null}).addCase(xn.fulfilled,(t,n)=>{const r=n.meta.arg;Pn(t.requestedComplaintSummaryTypeId,r)||(t.isComplaintSummaryLoading=!1,t.hasComplaintSummaryLoaded=!0,t.complaintSummary=Sf(n.payload))}).addCase(xn.rejected,(t,n)=>{if(n.meta.aborted)return;const r=n.meta.arg;Pn(t.requestedComplaintSummaryTypeId,r)||(t.isComplaintSummaryLoading=!1,t.hasComplaintSummaryLoaded=!0,t.complaintSummaryError=vf(n))})}}),{resetStatusState:uo}=co.actions,Cf=co.reducer,_f="/api/v1/complaints",Nf="/api/v1/complaint-types",fo=(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"})},Mn=te.createAsyncThunk("createComplaint/create",async(e,t)=>{try{return(await re.post(_f,e,{signal:t.signal})).data}catch(n){return fo(n,t)}}),Qt=te.createAsyncThunk("createComplaint/updateActive",async({id:e,isActive:t,onSuccess:n,onFail:r},a)=>{try{const s=await re.patch(`${Nf}/${e}`,{isActive:t},{signal:a.signal});return n&&typeof n=="function"&&n(s.data),s.data}catch(s){return r&&typeof r=="function"&&r(s),fo(s,a)}}),Ef={data:null,isLoading:!1,error:null,hasLoaded:!1,isActive:!0,activeComplaintTypeId:null,isUpdatingActive:!1,activeError:null},Tf=e=>e.payload?.message??e.error?.message??"Failed to create complaint",Af=e=>e.payload?.message??e.error?.message??"Failed to update complaint type",Lf=te.createSlice({name:"createComplaint",initialState:Ef,reducers:{},extraReducers:e=>{e.addCase(Mn.pending,t=>{t.isLoading=!0,t.error=null,t.hasLoaded=!1}).addCase(Mn.fulfilled,(t,n)=>{t.isLoading=!1,t.hasLoaded=!0,t.data=n.payload?.data??n.payload}).addCase(Mn.rejected,(t,n)=>{n.meta.aborted||(t.isLoading=!1,t.hasLoaded=!0,t.error=Tf(n))}).addCase(Qt.pending,t=>{t.isUpdatingActive=!0,t.activeError=null}).addCase(Qt.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(Qt.rejected,(t,n)=>{n.meta.aborted||(t.isUpdatingActive=!1,t.activeError=Af(n))})}}).reducer,po={data:null,isLoading:!1,error:null,hasLoaded:!1,updatingId:null},Ff=e=>e.payload?.message??e.error?.message??"Failed to update complaint status",ho=te.createSlice({name:"changeStatus",initialState:po,reducers:{resetChangeStatusState:()=>po},extraReducers:e=>{e.addCase(Xt.pending,(t,n)=>{t.isLoading=!0,t.error=null,t.hasLoaded=!1,t.updatingId=n.meta.arg?.id??null}).addCase(Xt.fulfilled,(t,n)=>{t.isLoading=!1,t.hasLoaded=!0,t.updatingId=null,t.data=n.payload?.data??n.payload}).addCase(Xt.rejected,(t,n)=>{n.meta.aborted||(t.isLoading=!1,t.hasLoaded=!0,t.updatingId=null,t.error=Ff(n))})}}),{resetChangeStatusState:Of}=ho.actions,kf=ho.reducer,If={BASE_URL:"/",DEV:!1,MODE:"production",PROD:!0,SSR:!1},Wr=(e,t)=>{try{return If?.[e]||t}catch{return t}},Df=Wr("VITE_S3_API_URL","https://api.airaops.com").replace(/\/$/,""),mo=Wr("VITE_S3_UPLOAD_ENDPOINT","/api/v1/files/upload"),xf=Wr("VITE_S3_SIGNED_URL_ENDPOINT","/api/v1/files/signed-url"),go=e=>/^https?:\/\//i.test(e)?e:`${Df}${e}`,Pf=e=>(String(e?.name||e?.fileName||"file").split(/[/\\]/).pop()||"file").replace(/[^\w.-]+/g,"_")||"file",yo=(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: ${mo}`:e?.response?.data?.error??e?.message??t)},wt=te.createAsyncThunk("s3/fileUpload",async({file:e,folder:t},{rejectWithValue:n})=>{try{const r={fileSize:e.size,subDirectory:t,fileName:Pf(e)},a=await re.post(go(mo),r),s=a.data.uploadSignedUrl;return(await fetch(s,{method:"PUT",headers:{"Content-Type":e.type||"application/octet-stream"},body:e})).ok?a.data:n("Error uploading file")}catch(r){return n(yo(r,"Error uploading file"))}}),Bn=te.createAsyncThunk("s3/getSignedUrl",async({params:e},{rejectWithValue:t})=>{try{const r=(await re.get(go(xf),{params:e})).data??{},a=r.data??r;return a.signedUrl||a.uploadSignedUrl||""}catch(n){return t(yo(n,"Error getting file signedUrl"))}}),Mf={isUploading:!1,uploadedFile:null,uploadedFiles:[],uploadError:null,isGettingSignedUrl:!1,signedUrl:"",signedUrlError:null},Bf=te.createSlice({name:"s3",initialState:Mf,reducers:{},extraReducers:e=>{e.addCase(wt.pending,t=>{t.isUploading=!0,t.uploadError=null}).addCase(wt.fulfilled,(t,n)=>{t.isUploading=!1,t.uploadedFile=n.payload,t.uploadedFiles.push(n.payload)}).addCase(wt.rejected,(t,n)=>{n.meta.aborted||(t.isUploading=!1,t.uploadError=n.payload||"Error uploading file")}).addCase(Bn.pending,t=>{t.isGettingSignedUrl=!0,t.signedUrl="",t.signedUrlError=null}).addCase(Bn.fulfilled,(t,n)=>{t.isGettingSignedUrl=!1,t.signedUrl=n.payload}).addCase(Bn.rejected,(t,n)=>{n.meta.aborted||(t.isGettingSignedUrl=!1,t.signedUrl="",t.signedUrlError=n.payload||"Error getting file signedUrl")})}}).reducer,$f=te.combineReducers({complaintAppComplaint:Ks,complaintType:Gu,appDetails:Xs,workflow:lf,roles:Qs.reducer,complaintManagement:mf,status:Cf,createComplaint:Lf,changeStatus:kf,s3:Bf}),bo=e=>te.configureStore({reducer:$f,preloadedState:e,middleware:t=>t({immutableCheck:!1,serializableCheck:!1})}),So=bo();function ge({children:e,variant:t="primary",size:n="md",startIcon:r,endIcon:a,className:s="",type:o="button",disabled:l=!1,onClick:c,...d}){const u=["ca-btn",`ca-btn--${t}`,n==="sm"?"ca-btn--sm":"",n==="lg"?"ca-btn--lg":"",s].filter(Boolean).join(" ");return i.jsxs("button",{type:o,className:u,disabled:l,onClick:c,...d,children:[r?i.jsx("span",{className:"ca-btn__icon",children:r}):null,e,a?i.jsx("span",{className:"ca-btn__icon",children:a}):null]})}function wo({size:e=16,color:t="currentColor",...n}){return i.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:i.jsx("path",{d:"M12 5v14M5 12h14",stroke:t,strokeWidth:"2",strokeLinecap:"round"})})}const vo={h1:"ca-h1",h2:"ca-h2",body:"ca-body",label:"ca-label",value:"ca-value",small:"ca-small",link:"ca-link"},Uf={h1:"h1",h2:"h2",body:"p",label:"span",value:"span",small:"span",link:"button"};function je({variant:e="body",as:t,className:n="",children:r,...a}){const s=t||Uf[e]||"p",o=vo[e]||vo.body;return i.jsx(s,{className:`${o} ${n}`.trim(),...a,children:r})}function Hr(e){return i.jsx(je,{variant:"h1",...e})}function zr(e){return i.jsx(je,{variant:"h2",...e})}function $n(e){return i.jsx(je,{variant:"body",...e})}function Co(e){return i.jsx(je,{variant:"label",...e})}function _o(e){return i.jsx(je,{variant:"value",...e})}function jf(e){return i.jsx(je,{variant:"link",type:"button",...e})}function No({title:e="Complaint Management",description:t,actionLabel:n="Create New Form",onAction:r,className:a=""}){return i.jsxs("header",{className:`ca-page-header ${a}`.trim(),children:[i.jsxs("div",{className:"ca-page-header__text",children:[i.jsx(Hr,{children:e}),t?i.jsx($n,{children:t}):null]}),i.jsx("div",{className:"ca-page-header__actions",children:i.jsx(ge,{startIcon:i.jsx(wo,{}),onClick:r,children:n})})]})}function Eo({status:e="inactive",label:t,className:n=""}){const a=String(e).toLowerCase()==="active",s=t??(a?"Active":"Inactive");return i.jsx("span",{className:`ca-badge rounded ca-badge--${a?"active":"inactive"} ${n}`.trim(),children:s})}const To=(...e)=>e.filter((t,n,r)=>!!t&&t.trim()!==""&&r.indexOf(t)===n).join(" ").trim();const Vf=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();const qf=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,n,r)=>r?r.toUpperCase():n.toLowerCase());const Ao=e=>{const t=qf(e);return t.charAt(0).toUpperCase()+t.slice(1)};var Kr={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 Wf=e=>{for(const t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1},Hf=C.createContext({}),zf=()=>C.useContext(Hf),Kf=C.forwardRef(({color:e,size:t,strokeWidth:n,absoluteStrokeWidth:r,className:a="",children:s,iconNode:o,...l},c)=>{const{size:d=24,strokeWidth:u=2,absoluteStrokeWidth:f=!1,color:p="currentColor",className:S=""}=zf()??{},w=r??f?Number(n??u)*24/Number(t??d):n??u;return C.createElement("svg",{ref:c,...Kr,width:t??d??Kr.width,height:t??d??Kr.height,stroke:e??p,strokeWidth:w,className:To("lucide",S,a),...!s&&!Wf(l)&&{"aria-hidden":"true"},...l},[...o.map(([v,y])=>C.createElement(v,y)),...Array.isArray(s)?s:[s]])});const he=(e,t)=>{const n=C.forwardRef(({className:r,...a},s)=>C.createElement(Kf,{ref:s,iconNode:t,className:To(`lucide-${Vf(Ao(e))}`,`lucide-${e}`,r),...a}));return n.displayName=Ao(e),n};const Jf=he("arrow-up-down",[["path",{d:"m21 16-4 4-4-4",key:"f6ql7i"}],["path",{d:"M17 20V4",key:"1ejh1v"}],["path",{d:"m3 8 4-4 4 4",key:"11wl7u"}],["path",{d:"M7 4v16",key:"1glfcx"}]]);const Lo=he("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 Fo=he("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);const Zf=he("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);const Gf=he("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);const Yf=he("chevrons-left",[["path",{d:"m11 17-5-5 5-5",key:"13zhaf"}],["path",{d:"m18 17-5-5 5-5",key:"h8a8et"}]]);const Xf=he("chevrons-right",[["path",{d:"m6 17 5-5-5-5",key:"xnjwq"}],["path",{d:"m13 17 5-5-5-5",key:"17xmmf"}]]);const Un=he("circle-dot",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}]]);const Qf=he("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 Rf=he("ellipsis-vertical",[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"12",cy:"5",r:"1",key:"gxeob9"}],["circle",{cx:"12",cy:"19",r:"1",key:"lyex9k"}]]);const ep=he("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 tp=he("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 Oo=he("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);const ko=he("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 np=he("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"}]]);function jn({checked:e=!1,onChange:t,disabled:n=!1,"aria-label":r="Toggle",className:a=""}){return i.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:i.jsx("span",{className:"ca-toggle__thumb"})})}function rp({options:e=[],className:t=""}){const[n,r]=C.useState(!1),a=C.useRef(null);C.useEffect(()=>{const o=l=>{a.current&&!a.current.contains(l.target)&&r(!1)};return document.addEventListener("mousedown",o),()=>{document.removeEventListener("mousedown",o)}},[]);const s=o=>{o.onClick?.(),o.keepOpen||r(!1)};return i.jsxs("div",{ref:a,className:`ca-more-functions ${t}`.trim(),children:[i.jsx("button",{type:"button",className:"ca-more-functions__button",onClick:()=>r(o=>!o),"aria-label":"More options","aria-expanded":n,children:i.jsx(Rf,{size:16})}),n&&e.length>0&&i.jsx("div",{className:"ca-more-functions__menu",children:e.map((o,l)=>o.toggle?i.jsxs("div",{className:"ca-more-functions__item ca-more-functions__item--toggle",onClick:c=>c.stopPropagation(),children:[i.jsx("span",{children:o.label}),i.jsx(jn,{checked:!!o.toggle.checked,disabled:!!o.toggle.disabled,"aria-label":o.label,onChange:c=>{o.toggle.onChange?.(c),o.keepOpen||r(!1)}})]},o.key||l):i.jsxs("button",{type:"button",className:`ca-more-functions__item ${o.danger?"ca-more-functions__item--danger":""}`,onClick:()=>s(o),children:[o.icon&&i.jsx("span",{className:"ca-more-functions__icon",children:o.icon}),i.jsx("span",{children:o.label})]},o.key||l))})]})}function Io({title:e,status:t,statusLabel:n,titleAsLink:r=!1,onTitleClick:a,menuOptions:s=[],className:o=""}){return i.jsxs("div",{className:`ca-system-card__header ${o}`.trim(),children:[i.jsx("div",{className:"ca-system-card__title-wrap",children:r?i.jsx("button",{type:"button",className:"ca-h2 ca-h2--link",onClick:a,children:e}):i.jsx(zr,{children:e})}),i.jsxs("div",{className:"ca-system-card__header-actions",children:[i.jsx(Eo,{status:t,label:n}),i.jsx(rp,{options:s})]})]})}function Jr({size:e=16,color:t="currentColor",...n}){return i.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:i.jsx("path",{d:"M9 6l6 6-6 6",stroke:t,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}const ap="aira-query-complaintTypeId";function Do({updatedOn:e,openLabel:t="Open",configureLabel:n="Configure",onOpen:r,className:a="",id:s,title:o}){const l=Ue(),c=H.useDispatch(),d=s?.data??s?.id??s?._id??s,u=()=>{const f=s?.data??s?.id??s?._id??s;if(f!=null&&f!==""){const p=String(f);try{sessionStorage.setItem(ap,p)}catch{}c(Xe(p)),c(oo()),c(uo()),l(`/complaintmanagement/${p}`);return}l("/complaintmanagement")};return i.jsxs("div",{className:`ca-system-card__footer ${a}`.trim(),children:[i.jsx(je,{variant:"small",as:"span",children:e?`Updated on ${e}`:""}),i.jsxs("div",{className:"ca-system-card__footer-actions",children:[i.jsx(ge,{size:"sm",onClick:u,children:t}),i.jsx(ge,{variant:"outline",size:"sm",onClick:()=>{if(d==null||d==="")return;const f=String(d);c(Gt({data:!0})),c(Xe(f)),l(`/settings/${f}?step=1`)},endIcon:i.jsx(Jr,{size:14,color:"currentColor"}),children:n})]})]})}function xo({label:e,value:t,icon:n,className:r=""}){const a=t==null?"—":typeof t=="number"?String(t).padStart(2,"0"):t;return i.jsxs("div",{className:`ca-data-point ${r}`.trim(),children:[n?i.jsx("span",{className:"ca-data-point__icon","aria-hidden":"true",children:n}):null,i.jsx(_o,{children:a}),i.jsx("span",{className:"ca-data-point__label",children:e})]})}function Po({className:e=""}){return i.jsx("div",{className:`ca-divider ${e}`.trim(),role:"separator","aria-orientation":"vertical"})}function Vn({size:e=16,color:t="#9CA3AF",...n}){return i.jsx("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",...n,children:i.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"})})}const sp="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",op="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",ip="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",lp="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";function Mo({id:e,title:t,item:n,status:r="inactive",statusLabel:a,description:s,descriptionHref:o,departments:l,workflows:c,fields:d,formsFilled:u,updatedOn:f,titleAsLink:p=!1,onTitleClick:S,onDescriptionClick:w,onConfigure:v,onOpen:y,onDelete:g,onToggleActive:h,isTogglingActive:b=!1,menuOptions:_=[],className:O=""}){const M=()=>{v?.({id:e,title:t,status:r,departments:l,workflows:c,fields:d,formsFilled:u,updatedOn:f})},U=()=>{if(w){w({id:e,title:t,descriptionHref:o});return}o&&typeof window<"u"&&window.open(o,"_blank","noopener,noreferrer")},$=[{label:"Total entries",value:n?.totalEntries,icon:i.jsx("img",{src:sp,alt:""})},{label:"Open entries",value:n?.openEntries,icon:i.jsx("img",{src:op,alt:""})},{label:"Closed entries",value:n?.closedEntries,icon:i.jsx("img",{src:ip,alt:""})},{label:"Escalated entries",value:n?.escalatedEntries,icon:i.jsx("img",{src:lp,alt:""})}],N=[...h?[{key:"active",label:n?.isActive?"Active":"Inactive",keepOpen:!0,toggle:{checked:!!n?.isActive,disabled:!!b,onChange:I=>h({id:e??n?.id??n?._id,isActive:I,item:n})}}]:[],...g?[{key:"delete",label:"Delete",icon:i.jsx(Vn,{size:16,color:"currentColor"}),danger:!0,onClick:()=>g({id:e??n?.id??n?._id,title:t})}]:[],..._];return i.jsxs("article",{className:`ca-system-card ${O}`.trim(),children:[i.jsx(Io,{title:n?.name,status:n?.isActive?"active":"inactive",statusLabel:a,titleAsLink:p,onTitleClick:()=>S?.({id:e,title:t}),menuOptions:N}),s?i.jsx("p",{className:"ca-system-card__description",onClick:U,children:s}):null,i.jsx("div",{className:"ca-system-card__stats",children:$.map((I,k)=>i.jsxs(C.Fragment,{children:[k>0?i.jsx(Po,{}):i.jsx("div",{className:"ca-system-card__stats-spacer"}),i.jsx(xo,{label:I.label,value:I.value,icon:I.icon})]},I.label))}),i.jsx(Do,{updatedOn:f,onOpen:()=>y?.({id:e,title:t}),id:e??n?.id??n?._id,title:t,onConfigure:M})]})}function Bo({systems:e=[],onConfigure:t,onOpen:n,onDelete:r,onToggleActive:a,togglingActiveId:s=null,onTitleClick:o,onDescriptionClick:l,emptyMessage:c="No systems found.",className:d=""}){return e.length?i.jsx("div",{className:`ca-system-grid ${d}`.trim(),children:e.map(u=>i.jsx(Mo,{item:u,...u,onConfigure:t,onOpen:n,onDelete:r,onToggleActive:a,isTogglingActive:String(s)===String(u.id??u._id),onTitleClick:o,onDescriptionClick:l},u.id??u.title))}):i.jsx("div",{className:`ca-system-grid ${d}`.trim(),children:i.jsx("div",{className:"ca-empty",children:i.jsx($n,{children:c})})})}function vt({value:e,onChange:t,placeholder:n,type:r="text",icon:a,className:s="",inputClassName:o="",...l}){return i.jsxs("div",{className:`ca-input-wrap ${s}`.trim(),children:[a?i.jsx("span",{className:"ca-input-wrap__icon",children:a}):null,i.jsx("input",{type:r,className:`ca-input ${a?"ca-input--with-icon":""} ${o}`.trim(),value:e,onChange:t,placeholder:n,...l})]})}function $o({size:e=18,color:t="currentColor",...n}){return i.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:[i.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"}),i.jsx("path",{d:"M16.5 16.5 21 21",stroke:t,strokeWidth:"1.75",strokeLinecap:"round"})]})}function Uo({value:e,onChange:t,onSearch:n,placeholder:r="Search",className:a=""}){const s=o=>{o.key==="Enter"&&n&&n(e)};return i.jsx("div",{className:`ca-search ${a}`.trim(),children:i.jsx(vt,{value:e,onChange:t,onKeyDown:s,placeholder:r,icon:i.jsx($o,{}),"aria-label":r})})}function Ct({text:e="Loading",fullScreen:t=!1}){return i.jsxs("div",{className:"ca-loading",style:t?{minHeight:"calc(100vh - 80px)"}:void 0,role:"status","aria-live":"polite",children:[i.jsx("span",{className:"ca-loading__spinner"}),i.jsxs("span",{children:[e,"…"]})]})}const cp=[{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"}],jo="Create, manage and track complaint forms, workflows and responses across departments.";function Vo({title:e="Complaint Management",description:t=jo,createLabel:n="Create New Form",onCreateForm:r,onConfigure:a,onOpen:s,onTitleClick:o,onDescriptionClick:l,onSearch:c}){const d=Ue(),u=H.useDispatch(),[f,p]=C.useState(""),[S,w]=C.useState(null),{complaintList:v=[],loading:y=!1,error:g=null}=H.useSelector($=>$.complaintType??{});C.useEffect(()=>{u(Gt({data:!1})),u(Kt())},[u]);const h=C.useMemo(()=>{const $=f.trim().toLowerCase();return $?v.filter(N=>[N.title,N.name,N.description,N.status].filter(Boolean).join(" ").toLowerCase().includes($)):v},[v,f]);C.useEffect(()=>{c&&c(f)},[f,c]);const b=$=>{p($.target.value)},_=$=>{a?.($),d(`/settings/${$.id??"new"}?step=1`)},O=()=>{u(Gt({data:!1})),r?.(),d("/settings/new?step=1")},M=({id:$})=>{$!=null&&u(On($))},U=({id:$,isActive:N})=>{$!=null&&(w($),u(Qt({id:$,isActive:N})).unwrap().then(()=>u(Zu({id:$,isActive:N}))).finally(()=>w(null)))};return i.jsxs("div",{className:"ca-complaint-management-page","data-testid":"complaint-management-page",children:[i.jsx(No,{title:e,description:t,actionLabel:n,onAction:O}),i.jsx("div",{className:"ca-search-container",children:i.jsx(Uo,{value:f,onChange:b,placeholder:"Search"})}),y?i.jsx(Ct,{text:"Loading systems"}):g?i.jsx("div",{className:"ca-empty",children:i.jsx("p",{className:"ca-body",children:typeof g=="string"?g:"Failed to load complaint types."})}):i.jsx(Bo,{systems:h,onConfigure:_,onOpen:s,onDelete:M,onToggleActive:U,togglingActiveId:S,onTitleClick:o,onDescriptionClick:l,emptyMessage:f?"No systems match your search.":"No systems found."})]})}const qo=C.createContext(null),Wo=()=>({categoryName:"",categoryType:"",tatMinutes:"",template:"",visibilityType:"",urlLink:"",active:!1,description:"",roles:[...new Set],departmentRows:[{id:"1",department:"",subDepartment:"",roles:""}],priorityDraft:"",priorities:[],defaultPriorityId:null,selectedDeptNode:null,workflow:{name:"",tatMinutes:"",description:"",status:[],steps:[],selectedTableCard:null},fieldDraft:{name:"",type:""},formFields:[],templateId:null,prefillWorkflowSteps:[],prefillFormFields:[]});function Ho({children:e,initialValues:t}){const[n,r]=C.useState(()=>({...Wo(),...t,workflow:{...Wo().workflow,...t?.workflow}})),a=C.useCallback(l=>{r(c=>({...c,...l}))},[]),s=C.useCallback(l=>{r(c=>({...c,workflow:{...c.workflow,...l}}))},[]),o=C.useMemo(()=>({state:n,setState:r,update:a,updateWorkflow:s}),[n,a,s]);return i.jsx(qo.Provider,{value:o,children:e})}function qn(){const e=C.useContext(qo);if(!e)throw new Error("useSettingsWizard must be used within SettingsWizardProvider");return e}const Fe=[{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",title:"Form Fields",description:"Design & Place Fields for your Form"},{id:4,key:"review",label:"Review & Publish",title:"Review & Publish",description:"Review your configuration and publish."}],dp=[{id:1,label:"Create Workflow"},{id:2,label:"Status"},{id:3,label:"Workflow Steps"}];function zo({size:e=28,color:t="currentColor",...n}){return i.jsxs("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",style:{color:"var(--ca-primary)"},...n,children:[i.jsx("path",{d:"M12 3 3 8l9 5 9-5-9-5Z",stroke:t,strokeWidth:"1.6",strokeLinejoin:"round"}),i.jsx("path",{d:"M3 12.5 12 17.5l9-5",stroke:t,strokeWidth:"1.6",strokeLinejoin:"round",strokeLinecap:"round"}),i.jsx("path",{d:"M3 16.5 12 21.5l9-5",stroke:t,strokeWidth:"1.6",strokeLinejoin:"round",strokeLinecap:"round"})]})}function Ko({title:e,description:t,nextLabel:n="Next",onNext:r,showNext:a=!0,nextDisabled:s=!1,nextVariant:o="primary",extra:l=null,className:c=""}){return i.jsxs("div",{className:`ca-settings-card__header ${c}`.trim(),children:[i.jsxs("div",{className:"ca-settings-card__heading",children:[i.jsx(zo,{}),i.jsxs("div",{children:[i.jsx(zr,{children:e}),t?i.jsx($n,{className:"ca-settings-card__desc",children:t}):null]})]}),l,a?i.jsx(ge,{variant:o,disabled:s,onClick:r,endIcon:i.jsx(Jr,{size:14,color:"currentColor"}),children:n}):null]})}function Rt({title:e,description:t,onNext:n,nextLabel:r,showNext:a=!0,nextDisabled:s,nextVariant:o,headerExtra:l,children:c,footer:d,className:u=""}){return i.jsxs("section",{className:`ca-settings-card ${u}`.trim(),children:[i.jsx(Ko,{title:e,description:t,onNext:n,nextLabel:r,showNext:a,nextDisabled:s,nextVariant:o,extra:l}),i.jsx("div",{className:"ca-settings-card__divider"}),i.jsx("div",{className:"ca-settings-card__body",children:c}),d?i.jsx("div",{className:"ca-settings-card__footer",children:d}):null]})}function Zr({children:e,hint:t,htmlFor:n,className:r=""}){return i.jsxs("div",{className:`ca-field-label ${r}`.trim(),children:[i.jsx("label",{className:"ca-label",htmlFor:n,children:e}),t!=null?i.jsx("span",{className:"ca-field-label__hint",children:t}):null]})}function Gr({size:e=16,color:t="currentColor",...n}){return i.jsx("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",...n,children:i.jsx("path",{d:"M6 9l6 6 6-6",stroke:t,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}function Yr(e){return typeof e=="string"?e:e.value}function Xr(e){return typeof e=="string"?e:e.label}function Oe({value:e,onChange:t,options:n=[],placeholder:r="Select",className:a="",disabled:s=!1,maxVisible:o,allowClear:l=!1,...c}){const[d,u]=C.useState(!1),f=C.useRef(null),p=e??"",S=n.find(y=>String(Yr(y))===String(p)),w=S?Xr(S):"";C.useEffect(()=>{if(!d)return;const y=g=>{f.current?.contains(g.target)||u(!1)};return document.addEventListener("mousedown",y),()=>document.removeEventListener("mousedown",y)},[d]);const v=y=>{t?.({target:{value:y}})};return o?i.jsxs("div",{className:`ca-select ca-select--menu ${a}`.trim(),ref:f,children:[i.jsx("button",{type:"button",id:c.id,className:`ca-select__control${w?"":" ca-select__control--placeholder"}`,disabled:s,"aria-haspopup":"listbox","aria-expanded":d,onClick:()=>u(y=>!y),children:w||r}),i.jsx("span",{className:"ca-select__chevron",children:i.jsx(Gr,{size:16})}),d?i.jsx("ul",{className:"ca-select__menu",role:"listbox",style:{"--ca-select-max-visible":o},children:n.map(y=>{const g=Yr(y),h=String(g)===String(p);return i.jsx("li",{role:"none",children:i.jsx("button",{type:"button",role:"option","aria-selected":h,className:`ca-select__option${h?" is-selected":""}`,onClick:()=>{v(g),u(!1)},children:Xr(y)})},g)})}):null]}):i.jsxs("div",{className:`ca-select ${a}`.trim(),children:[i.jsxs("select",{className:"ca-select__control",value:p,onChange:t,disabled:s,...c,children:[i.jsx("option",{value:"",disabled:!l,children:r}),n.map(y=>{const g=Yr(y);return i.jsx("option",{value:g,disabled:!!(y&&typeof y=="object"&&y.disabled),children:Xr(y)},g)})]}),i.jsx("span",{className:"ca-select__chevron",children:i.jsx(Gr,{size:16})})]})}function Jo({value:e,onChange:t,placeholder:n,maxLength:r,rows:a=4,className:s="",...o}){return i.jsx("textarea",{className:`ca-textarea ${s}`.trim(),value:e,onChange:t,placeholder:n,maxLength:r,rows:a,...o})}function Pe({label:e,hint:t,children:n,className:r="",htmlFor:a}){return i.jsxs("div",{className:`ca-form-field ${r}`.trim(),children:[e!=null?i.jsx(Zr,{htmlFor:a,hint:t,children:e}):null,n]})}function en({label:e,hint:t,helperText:n,...r}){return i.jsxs(Pe,{label:e,hint:t,htmlFor:r.id,children:[i.jsx(vt,{...r}),n?i.jsx("p",{className:"ca-form-field__helper",children:n}):null]})}function Qr({label:e,hint:t,...n}){return i.jsx(Pe,{label:e,hint:t,htmlFor:n.id,children:i.jsx(Oe,{...n})})}function up({label:e,hint:t,maxLength:n,value:r="",...a}){const s=t??(n!=null?`${String(r).length}/${n}`:void 0);return i.jsx(Pe,{label:e,hint:s,htmlFor:a.id,children:i.jsx(Jo,{value:r,maxLength:n,...a})})}function Zo({size:e=12,color:t="currentColor",...n}){return i.jsx("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",...n,children:i.jsx("path",{d:"M6 6l12 12M18 6L6 18",stroke:t,strokeWidth:"2",strokeLinecap:"round"})})}function Go({label:e,onRemove:t,className:n=""}){return i.jsxs("span",{className:`ca-tag ${n}`.trim(),children:[e,t?i.jsx("button",{type:"button",className:"ca-tag__remove",onClick:t,"aria-label":`Remove ${e}`,children:i.jsx(Zo,{size:10})}):null]})}function Rr({label:e="",options:t=[],value:n=[],onChange:r,placeholder:a="Select roles",className:s="",hasError:o=!1}){const[l,c]=C.useState(""),d=new Map(t.map(S=>{const w=typeof S=="string"?S:S.value,v=typeof S=="string"?S:S.label;return[String(w),v]})),u=t.filter(S=>{const w=typeof S=="string"?S:S.value;return!n.some(v=>String(v)===String(w))}),f=S=>{const w=S.target.value;w&&(r?.([...n,w]),c(""))},p=S=>{r?.(n.filter(w=>String(w)!==String(S)))};return i.jsxs("div",{className:`ca-role-select ${s}`.trim(),children:[i.jsx(Zr,{children:e}),i.jsx(Oe,{className:o?"ca-control--invalid":"",value:l,onChange:f,options:u,placeholder:a}),n.length>0?i.jsx("div",{className:"ca-tag-list",children:[...new Set(n)].map(S=>i.jsx(Go,{label:d.get(String(S))||String(S),onRemove:()=>p(S)},String(S)))}):null]})}function tn({steps:e=[],currentStep:t=1,onStepClick:n,className:r="",size:a="md",showSaveButton:s=!1,showNextButton:o=!1,onNext:l,nextLabel:c="Next >",extraActions:d=null}){const u=C.useRef({}),f=H.useDispatch();return C.useEffect(()=>{const p=u.current[t];if(!p)return;const S=requestAnimationFrame(()=>{let w=p.parentElement;for(;w&&w!==document.body;){const{overflowX:_}=getComputedStyle(w);if(w.scrollWidth>w.clientWidth+1&&(_==="auto"||_==="scroll"))break;w=w.parentElement}if(!w||w===document.body)return;const v=w.getBoundingClientRect(),y=p.getBoundingClientRect(),g=12;if(y.left>=v.left+g&&y.right<=v.right-g)return;const b=y.left-v.left-(v.width-y.width)/2;w.scrollTo({left:w.scrollLeft+b,behavior:"smooth"})});return()=>cancelAnimationFrame(S)},[t]),i.jsxs("div",{className:`ca-stepper-wrap ca-stepper-wrap--${a} ${r}`.trim(),children:[i.jsx("nav",{className:`ca-stepper ca-stepper--${a}`,"aria-label":"Progress",children:e.map((p,S)=>{const w=p.id??S+1,v=w===t,y=w<t,g=!!n&&(y||v);return i.jsxs("button",{type:"button",ref:h=>{u.current[w]=h},className:["ca-stepper__item",v?"ca-stepper__item--active":"",y?"ca-stepper__item--done":""].filter(Boolean).join(" "),style:{zIndex:e.length-S},onClick:()=>{f(Gt({data:!0})),g&&n?.(w)},disabled:!g,"aria-current":v?"step":void 0,children:[i.jsxs("span",{className:"ca-stepper__circle",children:[w,"."]}),i.jsx("span",{className:"ca-stepper__label",children:p.label})]},w)})}),s||o||d?i.jsxs("div",{className:"ca-stepper__actions",children:[d,o?i.jsx(ge,{onClick:l,children:c}):null]}):null]})}const fp={categoryName:"",tatMinutes:"",template:"",categoryType:"",description:"",visibilityType:"INTERNAL_LOGIN",urlLink:"",active:!0,roles:[]},pp=[{value:"INTERNAL_LOGIN",label:"Internal Login"},{value:"PRIVATE_LINK",label:"Private Link"},{value:"PUBLIC_LINK",label:"Public Link"}],hp={value:"",label:"Select Template"},ea=e=>String(e?.id??e?.code??e?.name??""),Yo=e=>({categoryName:e?.name??e?.code??"",tatMinutes:bt(e?.tatMinutes)||"",template:ea(e),categoryType:e?.categoryType??ea(e),description:e?.description??"",visibilityType:e?.visibilityType??e?.accessType??"INTERNAL_LOGIN",urlLink:e?.urlLink??"",active:e?.isActive??e?.active??!0,roles:e?.accesses?.map(t=>t?.role?.id)??e?.roleIds??[]});function mp(e){return[hp,...e]}function gp(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 Minutes must include a unit (m, h, or d). Example: 30m, 2h, 1d.":"Please enter TAT Minutes. Use 30m, 2h, or 1d.")}return e.visibilityType&&n.push("Please select a visibility type."),e.urlLink&&n.push("Please enter a URL link."),e.roles&&n.push("Please select roles for complaint filling."),n.join(" ")}function yp({stepMeta:e,stepperProps:t,roleList:n=[]}){const[r,a]=C.useState(fp),[s,o]=C.useState({}),l=H.useDispatch(),{update:c}=qn(),{id:d}=H.useSelector(N=>N.appDetails||{}),{isEdit:u}=H.useSelector(N=>N.appDetails||{}),f=H.useSelector(N=>N.complaintType||{}),{complaintList:p=[],saving:S,loading:w,error:v}=f,y=C.useRef(!1);C.useEffect(()=>{!p.length&&!w&&!y.current&&(y.current=!0,l(Kt()))},[p.length,l,w]),C.useEffect(()=>{!u||d===null||d===void 0||l(yt(d)).unwrap().then(N=>{const I=N?.data??N;I&&a(Yo(I))}).catch(N=>{console.log(" Fetch error:",N)})},[l,d,u]);const g=n.map(N=>({value:N.id,label:N.name??N.label})),h=p.map(N=>({value:ea(N),label:N?.name??N?.code??"",complaintType:N})).filter(N=>N.value&&N.label),b=async N=>{const I=N?.id??N?._id??null;if(a(k=>({...k,...Yo(N),categoryName:"",roles:[]})),c({templateId:I,tatMinutes:Ce(N?.tatMinutes)}),I==null||I===""){c({prefillWorkflowSteps:[],prefillFormFields:[]});return}try{const[k,K]=await Promise.all([l(Qe(I)).unwrap(),l(Le(I)).unwrap()]),Q=(Array.isArray(k?.data)?k.data:Array.isArray(k)?k:[]).map(P=>({...P,roleIds:[],role:[],roleId:null})),G=Array.isArray(K?.data)?K.data:Array.isArray(K)?K:[];c({templateId:I,tatMinutes:Ce(N?.tatMinutes),prefillWorkflowSteps:Q,prefillFormFields:G})}catch(k){console.log("Failed to load template details:",k),c({templateId:I,prefillWorkflowSteps:[],prefillFormFields:[]})}},_=()=>{a(N=>({...N,template:"",categoryType:"",tatMinutes:"",description:""})),c({templateId:null,prefillWorkflowSteps:[],prefillFormFields:[]})},O=N=>{const I=N.target.value;if(!I){_();return}const k=h.find(K=>K.value===I)?.complaintType;if(k){b(k);return}M("template",I),M("categoryType",I)},M=(N,I)=>{a(k=>({...k,[N]:I})),o(k=>{if(!k[N])return k;const K={...k};return delete K[N],K})},U=r.visibilityType==="PRIVATE_LINK"||r.visibilityType==="PUBLIC_LINK",$=async()=>{const N={};if(r.categoryName.trim()||(N.categoryName=!0),tf(r.tatMinutes)||(N.tatMinutes=!0),r.visibilityType||(N.visibilityType=!0),r.roles.length||(N.roles=!0),U&&!r.urlLink.trim()&&(N.urlLink=!0),Object.keys(N).length>0){o(N);return}o({});const I=Ce(r.tatMinutes);c({tatMinutes:I});const k={categoryName:r.categoryName,categoryType:r.categoryType||r.template,tatMinutes:I,description:r.description,visibilityType:r.visibilityType,urlLink:U?r.urlLink:"",active:r.active,roles:r.roles},K=u?Zt({id:d,data:{code:k.categoryName,name:k.categoryName,description:k.description,tatMinutes:k.tatMinutes,accessType:k.visibilityType,roleIds:k.roles.map(G=>parseInt(G,10))},onSuccess:G=>{console.log("updateComplaintType onSuccess:",G),t.onNext?.()},onFail:G=>{console.log("updateComplaintType onFail:",G)}}):Jt({payload:k,onSuccess:G=>{l(Xe(G?.data?.id??G?.id??null)),t.onNext?.()},onFail:G=>{console.log("createComplaintType onFail:",G)}}),Q=l(K);if(u&&Zt.fulfilled.match(Q)||!u&&Jt.fulfilled.match(Q)){if(!u){const G=Q.payload?.data?.id??Q.payload?.id;G!=null&&l(Xe(G))}t.onNext?.()}};return i.jsxs(i.Fragment,{children:[i.jsx(tn,{...t,steps:Fe,showNextButton:!!t.showNextButton,onNext:$}),v||Object.keys(s).length>0?i.jsx("div",{className:"ca-validation-toast",role:"alert",children:v||gp(s,r)}):null,i.jsxs(Rt,{className:"ca-settings-card--category-type",title:e.title,description:e.description,showNext:!1,headerExtra:i.jsx("div",{className:"ca-category-type__header-tools",children:i.jsx("div",{className:"ca-category-type__template",children:i.jsx(Qr,{label:"Select Template (Optional)",value:r.template||r.categoryType,onChange:O,options:mp(h),placeholder:"Select Template",maxVisible:5,disabled:u,className:u?"ca-select--disabled":""})})}),children:[i.jsxs("div",{className:"ca-step-section",children:[i.jsxs("div",{className:"ca-step-row ca-step-row--category-fields",children:[i.jsx(en,{label:"Category Name",className:"ca-step-row__grow",inputClassName:s.categoryName?"ca-control--invalid":"",value:r.categoryName,onChange:N=>M("categoryName",N.target.value),placeholder:"Enter category name"}),i.jsx(en,{label:"TAT Minutes",type:"text",className:"ca-step-row__grow",inputClassName:s.tatMinutes?"ca-control--invalid":"",value:r.tatMinutes,onChange:N=>M("tatMinutes",N.target.value),placeholder:"Enter here",helperText:"Eg: 30m, 2h, 1d, 16m7h3d"})]}),i.jsx("div",{className:"ca-step-row ca-step-row--category-fields",children:i.jsx(en,{label:"Description",className:"ca-step-row__grow",maxLength:500,value:r.description,onChange:N=>M("description",N.target.value),placeholder:"Enter description"})}),i.jsxs("div",{className:"ca-step-row",children:[i.jsx(Qr,{label:"Select Visibility Type",className:`ca-step-row__grow ${s.visibilityType?"ca-control--invalid":""}`,value:r.visibilityType,onChange:N=>M("visibilityType",N.target.value),options:pp,placeholder:"Select visibility type"}),U?i.jsx(en,{label:null,className:"ca-step-row__grow ca-category-type__url-link",inputClassName:s.urlLink?"ca-control--invalid":"",value:r.urlLink,onChange:N=>M("urlLink",N.target.value),placeholder:"urllink"}):null]})]}),i.jsx("div",{className:"ca-step-section ca-step-section--last",children:i.jsx(Rr,{label:"Select Roles for Complaint Filling",className:s.roles?"ca-control--invalid":"",options:g,value:r.roles,onChange:N=>M("roles",N)})}),w?i.jsx("div",{className:"ca-form-loading",children:"Loading category..."}):null,S?i.jsx("div",{className:"ca-form-loading",children:"Saving category..."}):null]})]})}function Xo({level:e,onAdd:t}){const n=`Level ${e}`,r=e===1?"Initial Handler":e===2?"Escalation if L1 TAT exceeded":"Escalation workflow";return i.jsxs("div",{className:"ca-add-table-card",children:[i.jsxs("header",{className:"ca-add-table-card__header",children:[i.jsxs("span",{className:"ca-add-table-card__level",children:["L",e]}),i.jsxs("div",{className:"ca-add-table-card__header-text",children:[i.jsx("h3",{className:"ca-add-table-card__title",children:n}),i.jsx("p",{className:"ca-add-table-card__subtitle",children:r})]})]}),i.jsx("div",{className:"ca-add-table-card__action",children:i.jsxs(ge,{type:"button",className:"ca-add-table-card__button",onClick:()=>t?.(n),children:["+ Add L",e]})})]})}const ta=["Yes","No"];function Qo({name:e,level:t,value:n,initialFormValues:r,setFormValues:a,onChange:s,selected:o=!1,onSelect:l,onDelete:c,subtitle:d,roleList:u=[],showRoleError:f=!1}){const p=n??r??{},S=Array.isArray(p.role)?p.role:[],w=u.map(b=>({value:b.id??b.roleId??b.value,label:b.name??b.label})),v=(b,_)=>{const O={...p,[b]:_};a?a(O):s?.(O)},y=t===1?"green":t===2?"orange":"blue",g=b=>`workflow-level-${t}-${b}`,h=d||(t===1?"Initial Handler":t===2?"Escalation if L1 TAT exceeded":"Escalation workflow");return i.jsxs("article",{className:`ca-table-card ca-table-card--${y}${o?" ca-table-card--selected":""}`,onClick:l,children:[i.jsxs("header",{className:"ca-table-card__header",children:[i.jsxs("span",{className:"ca-table-card__level",children:["L",t]}),i.jsxs("div",{className:"ca-table-card__header-text",children:[i.jsx("h3",{className:"ca-table-card__title",children:e}),i.jsx("p",{className:"ca-table-card__subtitle",children:h})]}),i.jsx("button",{type:"button",className:"ca-table-card__delete","aria-label":`Delete ${e}`,title:`Delete ${e}`,onClick:b=>{b.stopPropagation(),c?.()},children:i.jsx(Vn,{size:16})})]}),i.jsx("div",{className:"ca-table-card__divider"}),i.jsxs("div",{className:"ca-table-card__fields",children:[i.jsx(Pe,{label:"Select Roles *",htmlFor:g("roleIds"),children:i.jsx(Rr,{id:g("role"),value:S,options:w,placeholder:"Select role",hasError:f&&S.length===0,onChange:b=>v("role",b)})}),i.jsx("div",{className:"ca-table-card__divider"}),i.jsx(Pe,{label:"Can Resolve",htmlFor:g("canResolve"),children:i.jsx(Oe,{id:g("canResolve"),value:p.canResolve,options:ta,onChange:b=>v("canResolve",b.target.value)})}),i.jsx(Pe,{label:"Can Reassign",htmlFor:g("canReassign"),children:i.jsx(Oe,{id:g("canReassign"),value:p.canReassign,options:ta,onChange:b=>v("canReassign",b.target.value)})}),i.jsx(Pe,{label:"Final Level",htmlFor:g("finalLevel"),children:i.jsx(Oe,{id:g("finalLevel"),value:p.finalLevel,options:ta,onChange:b=>v("finalLevel",b.target.value)})}),i.jsx(Pe,{label:"Escalation time",htmlFor:g("escalationTime"),children:i.jsx("div",{className:"ca-table-card__time-input",children:i.jsx(vt,{id:g("escalationTime"),type:"text",value:p.escalateAfterMinutes??"",placeholder:"--",onChange:b=>v("escalateAfterMinutes",b.target.value)})})})]})]})}const bp="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",Sp="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",wp="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",vp="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",na=(e,t,n={})=>({id:e,name:t,role:Array.isArray(n.role)?n.role:n.roleId!==void 0&&n.roleId!==null?[n.roleId]:[],canResolve:n.canResolve??"",canReassign:n.canReassign??"",finalLevel:n.finalLevel??"",escalateAfterMinutes:bt(n.escalateAfterMinutes)||""});function ra(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 Cp(e,t){const n=[e.role,e.roleIds,e.roles].filter(Array.isArray),a=(n.find(s=>s.length)??n[0]??[]).map(s=>s&&typeof s=="object"?s.id??s.roleId:s).filter(s=>s!=null);return na(e.levelNo??t+1,e.name??`Level ${e.levelNo??t+1}`,{role:a,canResolve:ra(e.canResolve),canReassign:ra(e.canReassign),finalLevel:ra(e.isFinalLevel??e.finalLevel),escalateAfterMinutes:bt(e.escalateAfterMinutes)||""})}function Ro(e=[]){return(Array.isArray(e)?e:[]).map(Cp)}function ei(e=[]){return e.flatMap(t=>Array.isArray(t?.roles)?t.roles:Array.isArray(t?.role)?t.role.filter(n=>n&&typeof n=="object"):[])}const aa=[na(1,"Level 1")];function _p({accent:e}){return i.jsxs("div",{className:`ca-escalation-connector ca-escalation-connector--desktop ca-escalation-connector--${e}`,"aria-hidden":"true",children:[i.jsx("img",{src:bp,alt:"",className:"ca-escalation-connector__arrow ca-escalation-connector__arrow--first"}),i.jsx("span",{children:"Escalates to"}),i.jsx("img",{src:Sp,alt:"",className:"ca-escalation-connector__arrow ca-escalation-connector__arrow--second"})]})}function Np({accent:e}){return i.jsxs("div",{className:`ca-escalation-connector ca-escalation-connector--mobile ca-escalation-connector--${e}`,"aria-hidden":"true",children:[i.jsx("img",{src:wp,alt:"",className:"ca-escalation-connector__arrow ca-escalation-connector__arrow--first"}),i.jsx("span",{children:"Escalates to"}),i.jsx("img",{src:vp,alt:"",className:"ca-escalation-connector__arrow ca-escalation-connector__arrow--second"})]})}function ti({id:e,selectedTableId:t,onSelect:n,setUpdatePayload:r,roleList:a=[],prefillSteps:s=[],tatTotalMinutes:o=0,showRoleError:l=!1}){const c=e!=null,[d,u]=C.useState(aa),[f,p]=C.useState(aa),[S,w]=C.useState([]),[v,y]=C.useState(c),[g,h]=C.useState(null),[b,_]=C.useState(o),O=C.useRef(null),M=C.useRef(o),U=H.useDispatch(),$=C.useMemo(()=>{const L=Ro(s);return L.length?L:aa},[s]),N=[...a,...S,...ei(s)];if(!c&&g!==$){const L=St($,o);h($),p(L),u(L)}if(!v&&b!==o){_(o);const L=St(f,o);L!==f&&p(L)}C.useEffect(()=>{M.current=o},[o]),C.useEffect(()=>{if(!c){const B=St($,M.current);r({id:e,tables:B});return}let L=!1;return(async()=>{y(!0);try{const B=await U(Qe(e)).unwrap(),V=Array.isArray(B?.data)?B.data:Array.isArray(B)?B:[];w(ei(V));const X=Ro(V),T=St(X.length?X:$,M.current);L||(u(T),p(T),r({id:e,tables:T}))}catch(B){if(!L){const V=St($,M.current);u(V),p(V),r({id:e,tables:V}),console.error("Failed to load workflow steps:",B)}}finally{L||y(!1)}})(),()=>{L=!0}},[U,$,c,e,r]),C.useEffect(()=>{v||r?.({id:e,tables:f})},[e,v,r,f]);const I=(L,{preserveLastLevel:j}={})=>{const B=j?L:St(L,o),V={id:e,tables:B};p(B),console.log("[TableCardGrid] updated form values:",B),console.log("[TableCardGrid] PUT payload:",V),r?.(V)},k=L=>{const j=f[f.length-1];return j!=null&&j.id===L},K=(L,j)=>{I(f.map(B=>B.id===L?{...B,...j}:B),{preserveLastLevel:k(L)})},Q=(L,j)=>{console.log(d,f,L,j),I(f.map(B=>B.id!==L?B:typeof j=="function"?j(B):j),{preserveLastLevel:k(L)})},G=L=>{const j=f.reduce((X,T)=>Math.max(X,Number(T.id)||0),0)+1,B=f.length+1,V=af(f);I([...V,na(j,L||`Level ${B}`)]),requestAnimationFrame(()=>{requestAnimationFrame(()=>{const X=O.current;X&&X.scrollTo({left:X.scrollWidth,behavior:"smooth"})})})},P=L=>{I(f.filter(j=>j.id!==L))};return v&&!f.length?null:i.jsx("div",{className:"ca-table-card-grid","aria-label":"Escalation levels",ref:O,children:i.jsxs("div",{className:"ca-table-card-grid__track",children:[f.map((L,j)=>i.jsxs(C.Fragment,{children:[i.jsx(Qo,{name:L.name,roleList:N,showRoleError:l,level:j+1,value:L,initialFormValues:L,setFormValues:B=>Q(L.id,B),selected:L.id===t,onSelect:()=>n?.(L),onDelete:()=>P(L.id),onChange:B=>K(L.id,B)}),j<f.length-0?i.jsxs(i.Fragment,{children:[i.jsx(_p,{accent:j===0?"green":j===1?"orange":"purple"}),i.jsx(Np,{accent:j===0?"green":j===1?"orange":"purple"})]}):null]},L.id)),i.jsx(Xo,{level:f.length+1,onAdd:G})]})})}function Ep({totalMinutes:e=0,usedMinutes:t=0}){const n=Ce(e),r=Ce(t),a=Math.max(0,n-r),s=bt(a)||"0m",o=n>0?Math.min(100,r/n*100):0;return i.jsxs("div",{className:"ca-tat-progress","aria-label":`TAT minutes, ${s} left`,children:[i.jsxs("div",{className:"ca-tat-progress__row",children:[i.jsx("span",{className:"ca-tat-progress__label",children:"TAT minutes"}),i.jsxs("span",{className:"ca-tat-progress__remaining",children:[s," left"]})]}),i.jsx("div",{className:"ca-tat-progress__track",children:i.jsx("div",{className:"ca-tat-progress__fill",style:{width:`${o}%`}})})]})}function ni(e){return e?.data??e?.id??e}function Tp({onNext:e,stepMeta:t,stepperProps:n,selectedTableCard:r,roleList:a=[]}){const{state:s,updateWorkflow:o}=qn(),{workflow:l}=s,[c,d]=C.useState(null),[u,f]=C.useState(""),p=C.useCallback(U=>{d(U)},[]),S=H.useDispatch();let{id:w}=H.useSelector(U=>U.appDetails||{});const v=H.useSelector(U=>U.complaintType?.selected),y=ni(w),g=ni(v?.id??v?._id),h=Ce(v?.tatMinutes??s.tatMinutes);C.useEffect(()=>{y==null||y===""||g!=null&&String(g)===String(y)&&v?.tatMinutes!=null||S(yt(y))},[S,v?.tatMinutes,g,y]);const b=C.useMemo(()=>{const U=Array.isArray(c?.tables)?c.tables:[];return rf(U)},[c]),_=r??l.selectedTableCard??null,O=Array.isArray(c?.tables)&&c.tables.length?c.tables.map((U,$)=>`L${$+1}`).join(" > "):"",M=async()=>{if(f(""),!c){f("Workflow steps are not ready to save.");return}S(In({id:c.id,tables:c,onSuccess:U=>{console.log("updateWorkflowSteps onSuccess:",U),f(""),n.onNext?.()},onFail:U=>{const $=U?.response?.data??U?.payload??U,N=Array.isArray($?.errors)?$.errors.map(k=>k?.message).filter(Boolean):[],I=(N.length?N.join(" "):null)??$?.message??$?.error??U?.message??"Failed to update workflow steps";f(nf(I))}}))};return i.jsxs(i.Fragment,{children:[i.jsx(tn,{...n,steps:Fe,onNext:M,showNextButton:!0}),u?i.jsx("div",{className:"ca-validation-toast",role:"alert",children:u}):null,i.jsx(Rt,{title:t.title,description:O,showNext:!1,headerExtra:i.jsx(Ep,{totalMinutes:h,usedMinutes:b}),children:i.jsx("div",{className:"ca-workflow__main",children:i.jsx(ti,{id:w,selectedTableId:_?.id,onSelect:U=>o({selectedTableCard:U}),setUpdatePayload:p,roleList:a,showRoleError:/roleIds|role\s*must contain|roles?\s*must contain/i.test(u),prefillSteps:s.prefillWorkflowSteps,tatTotalMinutes:h})})})]})}function ri({onAdd:e,disabled:t=!1}){return i.jsx("button",{type:"button",className:"ca-add-form-button",onClick:e,disabled:t,children:"+ Add Form Fields"})}const ai=C.createContext(null);function sa(e){return typeof e?.level4=="string"&&e.level4.trim()?e.level4.trim():"Store"}function si(e,t){const n=sa(t);return String(e??"").replace(/\bstores?\b/gi,()=>n)}function Re(){const e=C.useContext(ai);return{storeName:sa(e),label:t=>si(t,e),fieldLabel:t=>{const n=String(t.fieldKey??t.key??"").toLowerCase();return n==="storeid"||n==="storeidcustom"?`${sa(e)} ID`:si(t.fieldLabel??t.label??t.fieldName??"",e)}}}function oi({size:e=16,color:t="#9CA3AF",...n}){return i.jsxs("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...n,children:[i.jsx("circle",{cx:"5",cy:"4",r:"1.2",fill:t}),i.jsx("circle",{cx:"11",cy:"4",r:"1.2",fill:t}),i.jsx("circle",{cx:"5",cy:"8",r:"1.2",fill:t}),i.jsx("circle",{cx:"11",cy:"8",r:"1.2",fill:t}),i.jsx("circle",{cx:"5",cy:"12",r:"1.2",fill:t}),i.jsx("circle",{cx:"11",cy:"12",r:"1.2",fill:t})]})}const Ap=["Text","Select","Dropdown","Radio","Number","Email","Date","Text Area","Checkbox","File","Images","Time"],ii=new Set(["Select","Dropdown","Radio","Checkbox"]),Lp=["Both","User","Admin"],Fp={Open:"#FF0000","Under Verification":"#FF6F00",Resolved:"#00D82F",Closed:"#006FFF"},li=["Open","Under Verification","Resolved","Closed"],ke={id:"default-status",fieldKey:"status",fieldLabel:"Status",originalFieldName:"Status",fieldType:"Custom",required:!0,fieldAccess:"",hideFor:[],dependsOn:"",options:[...li],optionColors:{...Fp},parentMappings:{},lockMode:"options",isNew:!1},Wn={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},nn={id:"custom-store-id",fieldKey:"storeIdCustom",fieldLabel:"Store ID",originalFieldName:"Store ID",fieldType:"Custom",required:!1,fieldAccess:"",hideFor:[],dependsOn:"",options:[],optionColors:{},parentMappings:{},lockMode:"all",isNew:!1},Op=[{...ke,label:ke.fieldLabel},{...nn,label:nn.fieldLabel}];function ci(e){return String(e||"").trim().toLowerCase()}function Z(e){const t=ci(e?.fieldKey),n=ci(e?.fieldLabel||e?.label);return t==="status"||t==="statuses"||t==="statuscustom"||n==="status"||n==="statuses"}function rn(e){return Z(e)&&(e?.lockMode==="options"||e?.lockMode==="all")}function kp(e,t=[]){if(!Z(e))return!1;const n=t.length?t:[e],r=n.filter(o=>!o?.isNew&&Z(o)),a=n.filter(rn),s=r[0]||a[0]||n.find(o=>Z(o)&&!o?.isNew);return s?String(s.id)===String(e.id):!e?.isNew}function Hn(e){const t=String(e?.fieldKey||"").toLowerCase(),n=String(e?.fieldLabel||e?.label||"").trim().toLowerCase();return t==="priorities"||n==="priorities"}function Ve(e){const t=String(e?.fieldKey||"").toLowerCase(),n=String(e?.fieldLabel||e?.label||"").trim().toLowerCase();return t==="storeid"||t==="storeidcustom"||n==="store id"}function et(e){const t=String(e||"").trim().toLowerCase();return t==="open"||t==="closed"}function Ip(e){return String(e||"").trim().toLowerCase()==="open"}function an(e=[]){const t=(e||[]).filter(a=>a!=null&&String(a).trim()!==""),n=new Set,r=[];return li.forEach(a=>{const s=t.find(o=>String(o).trim().toLowerCase()===a.toLowerCase());s==null||n.has(s)||(r.push(s),n.add(s))}),t.forEach(a=>{n.has(a)||(r.push(a),n.add(a))}),r}function di(e){return ii.has(e?.fieldType)||rn(e)}function oa(e){return!e||Z(e)||Ve(e)||!ii.has(e.fieldType)?!1:!(e.options||[]).some(t=>String(t||"").trim())}function _t(e=[]){return e.some(oa)}function ui(e=[]){const t=[],n=new Set;return e.forEach(r=>{if(!oa(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 Dp(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(),s=String(t?.fieldType||"").trim().toLowerCase();return!!(n&&r&&a&&s&&n===r&&a===s)}function zn(e,t=[]){return e?t.some(n=>String(n.id)===String(e.id)?!1:Dp(e,n)):!1}function Kn(e=[]){return e.some(t=>zn(t,e))}function ia(e,t={},n=""){const r=String(n||"");if(Z({fieldKey:r})||Ve({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 xp(e){return Hn(e)?"Priorities":"Option"}function Pp(e,t=!1){return e?t?"Define options and set parent.":Z(e)?"Manage the status":"Manage your fields.":""}function Jn(e,t=[]){if(String(e?.fieldType||"")==="MultiSelect")return Jn({...e,fieldType:"Checkbox"},t);if(Z(e)){if(e?.isNew||!kp(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{...ke,...e,fieldKey:ke.fieldKey,fieldLabel:r?ke.fieldLabel:n,originalFieldName:r?ke.originalFieldName:e.originalFieldName??n,fieldType:ke.fieldType,required:!0,options:an(e.options?.length?e.options:ke.options),optionColors:{...ke.optionColors,...e.optionColors},lockMode:"options"}}return Hn(e)?{...Wn,...e,fieldKey:e.fieldKey||Wn.fieldKey,fieldType:Wn.fieldType,options:e.options?.length?e.options:Wn.options,lockMode:"options"}:Ve(e)?{...nn,...e,fieldKey:nn.fieldKey,fieldType:nn.fieldType,lockMode:"all"}:e}function Nt(e=[]){const t=e.map(r=>Jn(r,e));if(t.some(Z))return t;const n={...ke};return[Jn(n,[n,...t]),...t]}function la(e,t){return!t||e.includes(t)?e:[t,...e]}function fi(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})}const Mp="#9CA3AF";function pi({field:e,fieldOptions:t=[],fieldTypeOptions:n=[],fieldAccessOptions:r=[],hideForOptions:a=[],isSaving:s=!1,selected:o=!1,isDragging:l=!1,onSelect:c,onDragStartField:d,onDragEndField:u,onReorder:f,onChange:p,onDelete:S,onSave:w,cardRef:v,onOptionNotice:y,hasDuplicateIdentity:g=!1,hasMissingOptions:h=!1}){const[b,_]=C.useState(""),{label:O,fieldLabel:M}=Re(),U=fi(e),[$,N]=C.useState(()=>({id:e.id,signature:e.isNew?null:U}));$.id!==e.id&&N({id:e.id,signature:e.isNew?null:U});const I=e.lockMode==="all",k=I||e.lockMode==="options",K=di(e),Q=I||!K,G=!!(String(e.fieldLabel||"").trim()&&String(e.fieldType||"").trim()),P=$.signature!==U,L=!!s||!G,j=g||h?"ca-control--invalid":"",B=T=>p?.({...e,...T}),V=()=>{if(Q)return;const T=b.trim();if(!T)return;if(Z(e)&&et(T)){const z=(e.options||[]).find(R=>String(R).trim().toLowerCase()===T.toLowerCase());if(z){y?.(`${z} already exists in options`),_("");return}}if(e.options?.includes(T))return;const x=Z(e)?{...e.optionColors||{},[T]:e.optionColors?.[T]||Mp}:e.optionColors;B({options:Z(e)?an([...e.options||[],T]):[...e.options||[],T],...Z(e)?{optionColors:x}:{}}),_("")},X=T=>{if(Q||Z(e)&&et(T))return;const x={...e.optionColors||{}};delete x[T];const z={...e.parentMappings||{}};delete z[T],B({options:e.options.filter(R=>R!==T),parentMappings:z,...Z(e)?{optionColors:x}:{}})};return i.jsxs("article",{ref:v,className:`ca-form-card${o?" ca-form-card--selected":""}${l?" ca-form-card--dragging":""}`,onClick:()=>c?.(e),onDragOver:T=>{T.preventDefault(),T.dataTransfer.dropEffect="move"},onDrop:T=>{T.preventDefault();const x=T.dataTransfer.getData("text/plain");f?.(x,e.id),u?.()},children:[i.jsxs("div",{className:"ca-form-card__row ca-form-card__row--order",children:[i.jsx("span",{className:"ca-form-card__drag",draggable:!0,"aria-label":"Reorder field",onClick:T=>T.stopPropagation(),onDragStart:T=>{T.dataTransfer.setData("text/plain",String(e.id)),T.dataTransfer.effectAllowed="move",d?.()},onDragEnd:()=>u?.(),children:i.jsx(oi,{size:15,color:"currentColor"})}),i.jsxs("div",{className:"ca-form-card__actions",children:[i.jsx("button",{type:"button",className:"ca-form-card__save","aria-label":"Save form field",disabled:L||I||!P,onClick:async T=>{if(T.stopPropagation(),L||I||!P)return;const x=await w?.(e);x&&N({id:e.id,signature:fi(x)})},children:"Save"}),rn(e)?null:i.jsx("button",{type:"button",className:"ca-icon-btn ca-form-card__delete","aria-label":"Delete form field",onClick:T=>{T.stopPropagation(),S?.(e.id)},children:i.jsx(Vn,{size:15,color:"currentColor"})})]})]}),i.jsx("div",{className:"ca-form-card__row",children:k?i.jsx("span",{className:"ca-form-card__static",children:M(e)||"—"}):i.jsx(vt,{value:I?M(e):e.fieldLabel,placeholder:"Enter field label",disabled:k,className:j,onChange:T=>B({fieldLabel:T.target.value})})}),i.jsx("div",{className:"ca-form-card__row",children:k?i.jsx("span",{className:"ca-form-card__static",children:e.fieldType||"—"}):i.jsx(Oe,{value:e.fieldType,options:la(n,e.fieldType),placeholder:"Select type",maxVisible:5,disabled:k,className:j,onChange:T=>{const x=T.target.value;if(di({...e,fieldType:x})){B({fieldType:x,dependsOn:"",parentMappings:{}});return}B({fieldType:x,dependsOn:"",options:[],parentMappings:{},optionColors:{}})}})}),i.jsx("div",{className:"ca-form-card__row ca-form-card__row--toggle",children:i.jsx(jn,{checked:!!e.required,disabled:k,onChange:T=>B({required:T}),"aria-label":"Required"})}),i.jsx("div",{className:"ca-form-card__row",children:i.jsx(Oe,{value:e.fieldAccess,options:la(r,e.fieldAccess),placeholder:"Select access",disabled:k,allowClear:!0,onChange:T=>B({fieldAccess:T.target.value})})}),i.jsxs("div",{className:"ca-form-card__row",children:[i.jsx(Oe,{value:"",options:a.filter(T=>!e.hideFor?.includes(T)),placeholder:"Select level",disabled:k,onChange:T=>B({hideFor:[...e.hideFor||[],T.target.value]})}),e.hideFor?.length?i.jsx("div",{className:"ca-form-card__chips",children:e.hideFor.map(T=>i.jsxs("span",{className:"ca-form-card__chip",children:[T,i.jsx("button",{type:"button","aria-label":`Remove ${T}`,disabled:k,onClick:()=>B({hideFor:e.hideFor.filter(x=>x!==T)}),children:"×"})]},T))}):null]}),i.jsx("div",{className:"ca-form-card__row",children:i.jsx(Oe,{value:e.dependsOn,options:la(t,e.dependsOn).map(T=>({value:T,label:O(T)})),placeholder:"Select field label",disabled:k||!K,allowClear:!0,onChange:T=>{const x=T.target.value;if(!x){B({dependsOn:"",parentMappings:{}});return}B({dependsOn:x})}})}),i.jsxs("div",{className:"ca-form-card__row ca-form-card__row--options",children:[i.jsxs("div",{className:"ca-form-card__option-entry",children:[i.jsx(vt,{value:b,placeholder:"Enter option",disabled:Q,className:h?"ca-control--invalid":"",onChange:T=>_(T.target.value),onKeyDown:T=>{T.key==="Enter"&&(T.preventDefault(),V())}}),i.jsx("button",{type:"button",className:"ca-form-card__add-option","aria-label":"Add option",disabled:Q,onClick:V,children:"+"})]}),i.jsx("div",{className:"ca-form-card__chips",children:(K?Z(e)?an(e.options||[]):e.options||[]:[]).map(T=>{const x=Z(e)&&et(T);return i.jsxs("span",{className:`ca-form-card__chip${x?" ca-form-card__chip--locked":""}`,children:[T,x?null:i.jsx("button",{type:"button","aria-label":`Remove ${T}`,disabled:Q,onClick:()=>X(T),children:"×"})]},T)})})]})]})}function ca({option:e,onDelete:t,locked:n=!1}){return i.jsx("td",{children:n?null:i.jsx("button",{className:"field-options-panel__delete",type:"button","aria-label":`Delete ${e}`,title:`Delete ${e}`,onClick:()=>t(e),children:i.jsx(np,{size:14,strokeWidth:1.5,color:"currentColor","aria-hidden":"true"})})})}function Bp(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 $p({formFields:e=[],selectedField:t=null,onChange:n}){const r=t,a=Z(r)?r:null,s=C.useMemo(()=>{const h=String(r?.dependsOn||"").trim();if(!h)return null;const b=e.filter(_=>String(_.fieldLabel||"").trim()===h);return b.find(_=>(_.options||[]).some(O=>String(O||"").trim()))||b[0]||null},[r?.dependsOn,e]),o=s?.options||[],l=!!r?.dependsOn,[c,d]=C.useState(!1),u=(h,b)=>{if(!a)return;const _=/^#[0-9A-Fa-f]{6}$/.test(b)?b.toUpperCase():b;n?.(e.map(O=>O.id===a.id?{...O,optionColors:{...O.optionColors,[h]:_}}:O))},f=(h,b)=>{r&&n?.(e.map(_=>_.id===r.id?{..._,parentMappings:{..._.parentMappings||{},[h]:b}}:_))},p=h=>{if(!r||Z(r)&&et(h))return;const b={...r.optionColors||{}};delete b[h];const _={...r.parentMappings||{}};delete _[h],n?.(e.map(O=>O.id===r.id?{...O,options:(O.options||[]).filter(M=>M!==h),parentMappings:_,...Z(O)?{optionColors:b}:{}}:O))},S=r?.fieldLabel||"Select field",w=Pp(r,l),v=Z(r)?an(r?.options||[]):r?.options||[],y=(h,b)=>i.jsx("div",{className:"field-options-panel__table-wrap",children:i.jsxs("table",{className:"field-options-panel__table",children:[i.jsx("thead",{children:i.jsxs("tr",{children:[h.map(_=>i.jsx("th",{scope:"col",children:_},_)),i.jsx("th",{scope:"col","aria-label":"Delete"})]})}),i.jsx("tbody",{children:b})]})});let g=i.jsx("p",{className:"field-options-panel__empty",children:r?"No options added.":"Select a field to edit."});return l?g=v.length?y(["Option label",s?.fieldLabel||"Parent"],v.map(h=>i.jsxs("tr",{children:[i.jsx("td",{children:h}),i.jsx("td",{children:i.jsxs("select",{"aria-label":`Parent for ${h}`,value:r.parentMappings?.[h]||"",disabled:!o.length,onChange:b=>f(h,b.target.value),children:[i.jsx("option",{value:"",children:o.length?"Select parent":`No ${String(r.dependsOn||"parent").toLowerCase()} options`}),o.map(b=>i.jsx("option",{value:b,children:b},b))]})}),i.jsx(ca,{option:h,onDelete:p,locked:Z(r)&&et(h)})]},h))):i.jsx("p",{className:"field-options-panel__empty",children:"No options added."}):a?g=v.length?y([Z(a)?"Status":"Option","Colors"],v.map(h=>{const b=Bp(a.optionColors?.[h]);return i.jsxs("tr",{children:[i.jsx("td",{children:h}),i.jsx("td",{children:i.jsxs("div",{className:"field-options-panel__color",children:[i.jsx("input",{className:"field-options-panel__hex","aria-label":`Color for ${h}`,value:a.optionColors?.[h]||b,onChange:_=>u(h,_.target.value)}),i.jsx("label",{className:"field-options-panel__swatch",style:{background:b},title:b,children:i.jsx("input",{type:"color","aria-label":`Pick color for ${h}`,value:b,onChange:_=>u(h,_.target.value)})})]})}),i.jsx(ca,{option:h,onDelete:p,locked:Z(a)&&et(h)})]},h)})):i.jsx("p",{className:"field-options-panel__empty",children:"No options added."}):v.length&&(g=y([xp(r)],v.map(h=>i.jsxs("tr",{children:[i.jsx("td",{children:h}),i.jsx(ca,{option:h,onDelete:p,locked:Z(r)&&et(h)})]},h)))),i.jsxs("aside",{className:`field-options-panel${c?" is-open":""}${r?"":" field-options-panel--empty"}`,"aria-label":`Options for: ${S}`,children:[i.jsxs("button",{type:"button",className:"field-options-panel__summary","aria-expanded":c,"aria-controls":"field-options-panel-body",onClick:()=>d(h=>!h),children:[i.jsxs("span",{className:"field-options-panel__summary-text",children:[i.jsxs("span",{className:"field-options-panel__title",children:["Options for: ",S]}),w?i.jsx("span",{className:"field-options-panel__description",children:w}):null]}),i.jsx(Fo,{className:"field-options-panel__chevron",size:16,strokeWidth:1.8,"aria-hidden":"true"})]}),i.jsx("div",{id:"field-options-panel-body",className:"field-options-panel__body",children:g})]})}function Up(e,t=[]){const n=new Set,r=[];return t.forEach(a=>{if(String(a.id)===String(e?.id)||Z(a))return;const s=String(a.fieldLabel||a.label||"").trim();if(!s)return;const o=s.toLowerCase();n.has(o)||!(a?.options||[]).some(c=>String(c||"").trim())||(n.add(o),r.push(s))}),r}const jp=["Actions","Field Label","Field Type","Required","Field Access","Hide for","DependsOn","Options"];function Vp(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 Et(e=[]){const t=e.map(Vp);return t.map(n=>Jn(n,t))}function hi({initialFields:e,onChange:t,addExternalFieldRef:n,fieldTypeOptions:r=[],fieldAccessOptions:a=[],hideForOptions:s=[],onSave:o,onDelete:l}){const[c,d]=C.useState(()=>Et(e??[])),[u,f]=C.useState(null),[p,S]=C.useState(null),[w,v]=C.useState(""),y=C.useRef(""),g=C.useRef(null),h=C.useRef({}),b=P=>{const L=Et(P);d(L),t?.(L)},_=(e??[]).map(P=>P.id).join(",");C.useEffect(()=>{if(!w)return;const P=window.setTimeout(()=>v(""),3200);return()=>window.clearTimeout(P)},[w]),C.useEffect(()=>{!_||_===y.current||(y.current=_,d(Et(e)))},[_,e]),C.useEffect(()=>{if(n)return n.current=P=>{P&&d(L=>{const j=L.find(X=>zn(P,[X]));if(Kn(L)||j)return j&&f(j.id),L;if(_t(L))return L;const B=Et([...L,{...P,id:`${P.id}-${Date.now()}`,isNew:!0}]),V=B[B.length-1];return f(V.id),t?.(B),B})},()=>{n.current=null}},[n,t]),C.useEffect(()=>{if(u==null)return;const P=g.current,L=h.current[u];if(!P||!L)return;const j=requestAnimationFrame(()=>{const B=P.getBoundingClientRect(),V=L.getBoundingClientRect(),X=12;V.left>=B.left+X&&V.right<=B.right-X||P.scrollTo({left:P.scrollLeft+V.left-B.left-(B.width-V.width)/2,behavior:"smooth"})});return()=>cancelAnimationFrame(j)},[u,c]);const O=(P,L)=>{if(P==null||L==null||String(P)===String(L))return;const j=c.findIndex(T=>String(T.id)===String(P)),B=c.findIndex(T=>String(T.id)===String(L));if(j<0||B<0)return;const V=[...c],[X]=V.splice(j,1);V.splice(B,0,X),b(V.map((T,x)=>({...T,order:x+1})))},M=P=>{const L=c.find(V=>V.id===P.id),j=L&&L.fieldType!==P.fieldType;P.dependsOn&&P.dependsOn!==L?.dependsOn&&f(P.id);const B=String(L?.fieldLabel||"").trim();b(c.map(V=>V.id===P.id?P:j&&B&&String(V.dependsOn||"").trim()===B?{...V,dependsOn:"",parentMappings:{}}:V))},U=async P=>{const L=c.find(j=>j.id===P);if(!(!L||rn(L)))try{if(await l?.(L)===!1)return;const B=String(L.fieldLabel||"").trim();b(c.filter(V=>V.id!==P).map((V,X)=>B&&String(V.dependsOn||"").trim()===B?{...V,dependsOn:"",parentMappings:{},order:X+1}:{...V,order:X+1}))}catch{}},$=()=>{Kn(c)||_t(c)||b(Et([...c,{id:`${Date.now()}-${c.length}`,fieldLabel:"",fieldType:r[0]??"",options:[],isNew:!0}]))},N=async P=>{if(zn(P,c))return null;try{const L=await o?.(P);return L?(d(j=>{const B=Et(j.map(V=>V.id===P.id?{...L,isNew:!1,order:V.order||1}:V));return t?.(B),B}),L):null}catch{return null}},I=Kn(c),k=_t(c),K=I?"A field with this label and type already exists":"",Q=ui(c),G=c.find(P=>P.id===u)||null;return i.jsxs(i.Fragment,{children:[K||Q||w?i.jsx("div",{className:"ca-validation-toast",role:"alert",children:K||Q||w}):null,i.jsxs("div",{className:"ca-form-card-grid__container ",children:[i.jsxs("div",{className:"ca-form-card-grid",children:[i.jsx("div",{className:"ca-form-card-grid__labels",children:jp.map(P=>i.jsx("div",{className:"ca-form-card-grid__label",children:P},P))}),i.jsxs("div",{className:"ca-form-card-grid__cards",ref:g,children:[c.map(P=>i.jsx(pi,{field:P,fieldOptions:Up(P,c),fieldTypeOptions:r,fieldAccessOptions:a,hideForOptions:s,selected:G?.id===P.id,isDragging:String(p)===String(P.id),cardRef:L=>{L?h.current[P.id]=L:delete h.current[P.id]},onSelect:()=>f(P.id),onDragStartField:()=>S(P.id),onDragEndField:()=>S(null),onReorder:O,onChange:M,onDelete:U,onSave:N,onOptionNotice:v,hasDuplicateIdentity:zn(P,c),hasMissingOptions:oa(P)},P.id)),i.jsx(ri,{onAdd:$,disabled:I||k})]})]}),i.jsx($p,{formFields:c,selectedField:G,onChange:b})]})]})}const mi={department:Lo,priorities:ep,status:Un,statuses:Un,statusCustom:Un,Status:Un,storeId:ko,storeIdCustom:ko};function qp({fields:e=[],onAddField:t,disableAdd:n=!1,disableAddHint:r="Resolve duplicate field first"}){const[a,s]=C.useState(!1),{fieldLabel:o}=Re();return i.jsxs("aside",{className:`custom-field-table${a?" is-open":""}`,"aria-labelledby":"custom-field-table-title",children:[i.jsxs("button",{type:"button",className:"custom-field-table__summary","aria-expanded":a,"aria-controls":"custom-field-table-list",onClick:()=>s(l=>!l),children:[i.jsxs("span",{className:"custom-field-table__summary-text",children:[i.jsx("span",{id:"custom-field-table-title",className:"custom-field-table__title",children:"Custom Fields"}),i.jsx("span",{className:"custom-field-table__description",children:"Use these fields to show options from database table."})]}),i.jsx(Fo,{className:"custom-field-table__chevron",size:16,strokeWidth:1.8,"aria-hidden":"true"})]}),i.jsx("div",{id:"custom-field-table-list",className:"custom-field-table__list",children:e.map(l=>{const c=o(l),d=mi[l.fieldKey]||mi[l.id]||Lo;return i.jsxs("div",{className:"custom-field-table__row",children:[i.jsx(d,{className:"custom-field-table__field-icon",size:14,strokeWidth:1.5,"aria-hidden":"true"}),i.jsx("span",{className:"custom-field-table__label",children:c}),i.jsx("button",{className:"custom-field-table__add",type:"button","aria-label":`Add ${c}`,title:n?r:`Add ${c}`,disabled:n,onClick:()=>{n||t?.(l)},children:i.jsx(Oo,{size:14,strokeWidth:2,"aria-hidden":"true"})})]},l.fieldKey??l.id)})})]})}const gi={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"},yi={BOTH:"Both",USER:"User",ADMIN:"Admin"},Wp={...Object.fromEntries(Object.entries(gi).map(([e,t])=>[t,e])),Select:"SELECT",Dropdown:"SELECT",Radio:"RADIO",Images:"FILE",Time:"DATETIME","Text Area":"TEXTAREA","Date Time":"DATETIME"},Hp={...Object.fromEntries(Object.entries(yi).map(([e,t])=>[t,e])),Both:"BOTH",User:"USER",Admin:"ADMIN"};function Tt(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 zp(e,t){const n=Tt(e),r=Tt(t);return n?r?n+r.charAt(0).toUpperCase()+r.slice(1):n:""}function Zn(e,t){return Z({...e,fieldLabel:t})?Tt(t)||"status":Ve({...e,fieldLabel:t})?"storeIdCustom":zp(t,e.fieldType)}function sn(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 Kp(e){return e?typeof e=="string"?e:e.message||e.error||"":""}function Gn(e){return e?typeof e.id=="number"||/^\d+$/.test(String(e.id)):!1}function Jp(e=[]){const t=Z(e)?an(e.options||[]):e.options||[];if(!t.length)return null;const n=e.parentMappings||{},r=e.optionColors||{},a=!!e.dependsOn||t.some(s=>n[s]);return Z(e)?{values:t.map((s,o)=>{const l={name:s,displayOrder:o+1,isActive:!0,isDefault:Ip(s)};return r[s]&&(l.color=r[s]),l})}:a?{values:t.map(s=>{const o={label:s};return n[s]&&(o.dependsOnValue=n[s]),o})}:{values:t}}function Zp(e,t=[],n=[]){const r=String(e.fieldLabel||"").trim(),a=e.originalFieldName!=null&&r===String(e.originalFieldName).trim(),s=t.find(S=>String(S.fieldLabel||"").trim()===e.dependsOn&&e.dependsOn),o=Zn(e,r)||(a?e.fieldKey:""),l=s?Zn(s,s.fieldLabel)||s.fieldKey:"",c=Qp(e,n),d=Jp(e),u=Wp[e.fieldType]??String(e.fieldType||"TEXT").toUpperCase(),f=Hp[e.fieldAccess]??(e.fieldAccess?String(e.fieldAccess).toUpperCase():"USER"),p={fieldName:r,fieldKey:o,fieldType:u,required:!!e.required,displayOrder:Number(e.order)||1,fieldAccess:f,isActive:e.isActive!==!1};return c!=null&&c!==""&&(p.hideForWorkflowStepId=c),d?.values?.length&&(p.options=d),l&&l!==o&&(p.dependsOnFieldKey=l),p}function bi(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 Si(e,t){return bi(e)!==bi(t)}function Gp(e=[],t=e,n=[]){return{fields:e.filter(a=>!a.isNew&&String(a.fieldLabel||"").trim()).map((a,s)=>Zp({...a,order:a.order||s+1},t,n))}}function Yp(...e){const t=[],n=new Set;return e.flat().forEach(r=>{if(!Gn(r))return;const a=Number(r.id);n.has(a)||(n.add(a),t.push(a))}),t}function Xp(e){return Array.isArray(e)?e:Array.isArray(e?.data)?e.data:[]}function Yn(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 wi(e,t=[]){if(!e)return null;const n=Yn(e);if(n)return n;const r=typeof e=="object"?e.id??e.workflowStepId:null;if(r==null)return null;const a=t.find(s=>String(s.id)===String(r));return Yn(a)}function Qp(e,t=[]){const n=Array.isArray(e.hideFor)?e.hideFor:[];if(!n.length)return null;for(const s of n){const o=t.find(l=>Yn(l)===s||String(l.id)===String(s));if(o?.id!=null)return o.id}const r=e.hideForWorkflowStepId;return r==null||r===""?null:t.some(s=>String(s.id)===String(r))?r:null}function vi(e){return[...new Set(e.filter(Boolean))]}function Xn(e){return typeof e=="string"?e:e?.label??e?.name??e?.value??""}function Rp(e){return!e||typeof e!="object"?"":e.dependsOnValue??e.parent??""}function eh(e,t=[]){if(!e)return"";const n=t.map(Xn).filter(Boolean),r=n.find(s=>s===e);return r||n.find(s=>Tt(s)===e||Tt(s)===Tt(e))||e}function th(e){return e&&typeof e=="object"&&e.color?e.color:""}function tt(e=[],t=[]){const n=[...e].sort((r,a)=>(r.displayOrder??0)-(a.displayOrder??0));return Nt(n.map(r=>{const a=r?.options?.values??[],s=n.find(l=>l.id===r.dependsOnFieldId||r.dependsOnFieldKey&&l.fieldKey===r.dependsOnFieldKey),o=t.find(l=>String(l.id)===String(r.hideForWorkflowStepId));return{id:r.id,order:r.displayOrder,fieldLabel:r.fieldName??r.fieldLabel??"",fieldType:ia(r.fieldType,gi,r.fieldKey),required:!!r.required,fieldAccess:yi[r.fieldAccess]??r.fieldAccess??"",hideFor:vi([...Array.isArray(r.hideFor)?r.hideFor:[],wi(r.hideForWorkflowStep,t),wi(o,t)]),dependsOn:r.dependsOnField?.fieldName??s?.fieldName??r.dependsOn??"",options:a.map(Xn).filter(Boolean),parentMappings:Object.fromEntries(a.map(l=>{const c=Xn(l),d=Rp(l);return!c||!d?null:[c,eh(d,s?.options?.values??[])]}).filter(Boolean)),optionColors:Object.fromEntries(a.map(l=>[Xn(l),th(l)]).filter(([l,c])=>l&&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 nh({stepMeta:e,stepperProps:t}){const n=H.useDispatch(),{systemId:r}=fn(),a=H.useSelector(x=>x.appDetails?.id),s=sn(a)??sn(r),{state:o,update:l}=qn(),{formFields:c,prefillFormFields:d=[]}=o,u=C.useRef(null),f=C.useCallback(x=>l({formFields:x}),[l]),p=C.useCallback(async x=>{const z=String(x.fieldLabel||"").trim();return z?{...x,fieldLabel:z,fieldKey:Zn(x,z),originalFieldName:z,isNew:!1}:null},[]),S=C.useCallback(async x=>rn(x)?!1:(Gn(x)&&await n(gt({complaintTypeId:s,fieldId:x.id})).unwrap(),!0),[s,n]),w=H.useSelector(x=>x.complaintAppComplaint?.formFields?.data),v=H.useSelector(x=>x.complaintAppComplaint?.formFields?.isLoading),y=H.useSelector(x=>x.complaintAppComplaint?.formFields?.error),g=H.useSelector(x=>x.workflow?.workflowSteps),h=C.useMemo(()=>Xp(g),[g]),b=C.useRef(h),[_,O]=C.useState(!1);C.useEffect(()=>{b.current=h},[h]),C.useEffect(()=>{const x=sn(s);x!=null&&n(Qe(x))},[s,n]),C.useEffect(()=>{const x=sn(s);if(x==null)return;let z=!1;return n(Le(x)).unwrap().then(R=>{if(z)return;const pe=Array.isArray(R)?R:R?.data;if(!(Array.isArray(pe)&&pe.length>0)&&d.length){const se=tt(d,b.current).map((_e,ye)=>({..._e,id:`prefill-${ye}`,isNew:!1}));l({formFields:Nt(se)})}else{const se=Nt(tt(Array.isArray(pe)?pe:[],b.current));l({formFields:se})}O(!0)}).catch(()=>{if(!z){if(d.length){const R=tt(d,b.current).map((pe,Y)=>({...pe,id:`prefill-${Y}`,isNew:!1}));l({formFields:Nt(R)})}O(!0)}}),()=>{z=!0}},[s,n,d,l]);const M=C.useMemo(()=>Nt(tt(w,h)),[w,h]),$=sn(s)==null||_,N=$?c:M,I=C.useMemo(()=>Op.filter(x=>!N.some(z=>x.fieldKey&&z.fieldKey===x.fieldKey||Z(x)&&Z(z)||Hn(x)&&Hn(z)||Ve(x)&&Ve(z))),[N]),k=C.useMemo(()=>Kn(N),[N]),K=C.useMemo(()=>_t(N),[N]),Q=Kp(y),G=Ap,P=Lp,L=C.useMemo(()=>{const x=[...h].sort((R,pe)=>(R.levelNo??0)-(pe.levelNo??0)).map(R=>Yn(R)).filter(Boolean),z=M.flatMap(R=>R.hideFor);return vi([...x,...z])},[M,h]),j=C.useMemo(()=>{const x=new Map(tt(w,h).map(z=>[Number(z.id),z]));return N.filter(z=>{if(z.isNew&&String(z.fieldLabel||"").trim())return!0;if(!Gn(z))return!1;const R=x.get(Number(z.id));return!R||Si(z,R)})},[w,N,h]),[B,V]=C.useState(!1),X=C.useCallback(async x=>{if(!_t(N)&&s)try{const R=N.map(ne=>{if(!x||!ne.isNew)return ne;const oe=String(ne.fieldLabel||"").trim();return oe?{...ne,fieldLabel:oe,fieldKey:Zn(ne,oe),originalFieldName:oe,isNew:!1}:ne}).filter(ne=>!ne.isNew&&String(ne.fieldLabel||"").trim()),pe=new Map(tt(w,h).map(ne=>[Number(ne.id),ne]));if(!R.some(ne=>{if(!Gn(ne))return!0;const oe=pe.get(Number(ne.id));return!oe||Si(ne,oe)})){t.onNext?.();return}const se=[...R].sort((ne,oe)=>+!!ne.dependsOn-+!!oe.dependsOn),_e=Yp(w,R);for(const ne of _e)try{await n(gt({complaintTypeId:s,fieldId:ne})).unwrap()}catch{}await n(Wt({complaintTypeId:s,data:Gp(se,se,h)})).unwrap();const ye=await n(Le(s)).unwrap(),Me=Array.isArray(ye)?ye:ye?.data;l({formFields:Nt(tt(Array.isArray(Me)?Me:[],h))}),t.onNext?.()}catch{}},[w,s,n,N,t,l,h]),T=C.useCallback(()=>{if(!_t(N)){if(j.length){V(!0);return}X(!1)}},[N,j.length,X]);return i.jsxs(i.Fragment,{children:[i.jsx(tn,{...t,steps:Fe,onNext:T}),B?i.jsx("div",{className:"ca-confirm-modal",role:"dialog","aria-modal":"true","aria-labelledby":"form-fields-pending-save-title",children:i.jsxs("div",{className:"ca-confirm-modal__dialog",children:[i.jsx("p",{id:"form-fields-pending-save-title",className:"ca-confirm-modal__message",children:"Some fields are pending to save."}),i.jsxs("div",{className:"ca-confirm-modal__actions",children:[i.jsx(ge,{variant:"outline",onClick:()=>{V(!1),X(!1)},children:"OK"}),i.jsx(ge,{onClick:()=>{V(!1),X(!0)},children:"Save"})]})]})}):null,i.jsx(Rt,{className:"ca-settings-card--plain",title:e.title,description:e.description,showNext:!1,children:!$||v?i.jsx(Ct,{text:"Loading form fields"}):Q&&!N.length?i.jsx("div",{className:"ca-validation-toast",role:"alert",children:Q}):i.jsxs("div",{className:"ca-form-fields",children:[Q?i.jsx("div",{className:"ca-validation-toast",role:"alert",children:Q}):null,i.jsx(qp,{fields:I,disableAdd:k||K,disableAddHint:k?"Resolve duplicate field first":K?ui(N):void 0,onAddField:x=>u.current?.({...x})}),i.jsx(hi,{initialFields:N,addExternalFieldRef:u,onChange:f,fieldTypeOptions:G,fieldAccessOptions:P,hideForOptions:L,onSave:p,onDelete:S})]})})]})}function Ci({label:e="Active",checked:t,onChange:n,disabled:r=!1,className:a=""}){return i.jsxs("div",{className:`ca-toggle-field ${a}`.trim(),children:[i.jsx(Co,{children:e}),i.jsx(jn,{checked:t,onChange:n,disabled:r,"aria-label":e})]})}function _i({storeList:e=[],value:t,onChange:n,...r}){const{label:a}=Re();return i.jsxs("select",{...r,className:"review-control",value:t??"",onChange:s=>n(s.target.value),children:[i.jsx("option",{value:"",children:a("Select Store")}),e.map(s=>i.jsx("option",{value:s.id,children:s.name??s.label??String(s.id)},s.id))]})}const rh=/\.(png|jpe?g|gif|webp|bmp|svg)$/i;function da(e,t){return t?Array.isArray(e)?e.filter(Boolean):[]:e instanceof File?[e]:[]}function ah(e){return e?e.type&&e.type.startsWith("image/")?!0:rh.test(e.name||""):!1}function sh(e){return`${e.name}-${e.size}-${e.lastModified}`}function Qn({id:e,name:t,value:n,onChange:r,multiple:a=!1,required:s=!1,disabled:o=!1,accept:l}){const c=da(n,a),d=C.useMemo(()=>da(n,a).map(u=>{const f=ah(u);return{key:sh(u),name:u.name,isImage:f,url:f?URL.createObjectURL(u):""}}),[n,a]);return C.useEffect(()=>()=>{d.forEach(u=>{u.url&&URL.revokeObjectURL(u.url)})},[d]),i.jsxs("div",{className:"review-file-field",children:[i.jsx("input",{id:e,name:t,className:"review-control",type:"file",accept:l,multiple:a,required:!!s&&c.length===0,disabled:o,onChange:u=>{const f=Array.from(u.target.files||[]);if(!a){r(f[0]||"");return}const p=da(n,!0),S=new Set(p.map(v=>`${v.name}-${v.size}-${v.lastModified}`)),w=f.filter(v=>!S.has(`${v.name}-${v.size}-${v.lastModified}`));r([...p,...w]),u.target.value=""}}),d.length?i.jsx("div",{className:"review-file-preview",children:i.jsx("div",{className:"review-file-preview__images",children:d.map((u,f)=>i.jsxs("div",{className:"review-file-preview__item",children:[u.isImage?i.jsx("img",{className:"review-file-preview__thumb",src:u.url,alt:u.name,title:u.name}):i.jsx("span",{className:"review-file-preview__name",children:u.name}),i.jsx("button",{type:"button",className:"review-file-preview__remove","aria-label":`Remove ${u.name}`,onClick:()=>{r(a?c.filter((p,S)=>S!==f):"")},children:"×"})]},u.key))})}):null]})}const oh=new Set(["select","radio","checkbox"]);function Ni(e){return String(e||"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/(^-|-$)/g,"")}function nt(e){return String(e.label||e.fieldLabel||e.fieldName||e.name||"").trim()}function ua(e){return`review-${e.id??e.fieldKey??(Ni(nt(e))||"field")}`}function Ei(e,t,n){return n===0?e:`${e}-${Ni(t)||n}`}function fa(e){const t=String(e.fieldType||"").toLowerCase(),n=String(e.fieldKey||nt(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 Ti(e){return oh.has(e)}function ih(e){return e==="textarea"||e==="radio"||e==="checkbox"}function lh(e){const t=String(e.fieldType||"").toLowerCase();return t==="text"||t==="textfield"}function Ai(e){return String(e||"").replace(/\d/g,"")}function Li(e){return String(e||"").replace(/[^\d]/g,"")}function on(e,t){const n=String(nt(e)||"value").toLowerCase();return t==="date"?"mm/dd/yyyy":t==="select"?`Select ${n}`:t==="email"?"Enter email":`Enter ${n}`}function ln(e){return String(e.fieldKey||e.id||nt(e)||ua(e))}function Fi(e,t=[]){const n=String(e.dependsOn||"").trim();return n&&t.find(r=>{const a=nt(r),s=String(r.fieldKey||"");return a===n||s===n})||null}function Oi(e,t=[],n={}){const r=e.options||[],a=Fi(e,t);if(!a)return r;const s=e.parentMappings||{};if(!r.some(c=>!!s[c]))return r;const l=String(n[ln(a)]||"").trim();return l?r.filter(c=>String(s[c]||"")===l):r}function ki(e){return e==="checkbox"||e==="images"?[]:""}function ch({question:e,options:t,value:n,onChange:r,storeList:a}){const s=ua(e),o=fa(e),l=n??ki(o),c={id:s,name:String(e.fieldKey||nt(e)||s),required:!!e.required};if(Ve(e)&&Array.isArray(a))return i.jsx(_i,{...c,storeList:a,value:l,onChange:r});if(o==="radio")return i.jsx("div",{className:"review-options review-options--inline",children:t.map((d,u)=>{const f=Ei(s,d,u);return i.jsxs("label",{className:"review-option",htmlFor:f,children:[i.jsx("input",{...c,id:f,type:"radio",value:d,checked:l===d,onChange:p=>r(p.target.value)}),i.jsx("span",{children:d})]},d)})});if(o==="checkbox"){const d=Array.isArray(l)?l:[];return i.jsx("div",{className:"review-options review-options--inline",children:t.map((u,f)=>{const p=Ei(s,u,f);return i.jsxs("label",{className:"review-option",htmlFor:p,children:[i.jsx("input",{id:p,name:`${c.name}[]`,type:"checkbox",value:u,checked:d.includes(u),required:!1,onChange:S=>r(S.target.checked?[...d,u]:d.filter(w=>w!==u))}),i.jsx("span",{children:u})]},u)})})}return o==="textarea"?i.jsx("textarea",{...c,className:"review-control review-control--textarea",placeholder:on(e,o),value:l,onChange:d=>r(d.target.value)}):o==="select"?i.jsxs("select",{...c,className:"review-control",value:l,onChange:d=>r(d.target.value),children:[i.jsx("option",{value:"",children:on(e,o)}),t.map(d=>i.jsx("option",{value:d,children:d},d))]}):o==="file"?i.jsx(Qn,{...c,value:l,onChange:r,multiple:!0}):o==="images"?i.jsx(Qn,{...c,value:l,onChange:r,multiple:!0}):o==="number"?i.jsx("input",{...c,className:"review-control",type:"number",inputMode:"numeric",placeholder:on(e,o),value:l,onChange:d=>r(Li(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 u=d.clipboardData.getData("text");/^\d*$/.test(u)||(d.preventDefault(),r(Li(u)))}}):lh(e)?i.jsx("input",{...c,className:"review-control",type:"text",inputMode:"text",placeholder:on(e,o),value:l,onChange:d=>r(Ai(d.target.value)),onKeyDown:d=>{/^\d$/.test(d.key)&&d.preventDefault()},onPaste:d=>{const u=d.clipboardData.getData("text");/\d/.test(u)&&(d.preventDefault(),r(Ai(u)))}}):i.jsx("input",{...c,className:"review-control",type:o,placeholder:on(e,o),value:l,onChange:d=>r(d.target.value)})}function dh({fields:e=[],storeList:t}){const{fieldLabel:n}=Re(),[r,a]=C.useState({}),s=(o,l)=>{const c=ln(o);a(d=>{const u={...d,[c]:l};return e.forEach(f=>{const p=Fi(f,e);if(!p||ln(p)!==c)return;const S=fa(f);if(!Ti(S))return;const w=Oi(f,e,u),v=ln(f),y=u[v];Array.isArray(y)?u[v]=y.filter(g=>w.includes(g)):y&&!w.includes(y)&&(u[v]="")}),u})};return e.length?i.jsx("div",{className:"review-form-card",children:i.jsx("form",{className:"review-form","aria-label":"Form fields preview",onSubmit:o=>o.preventDefault(),children:i.jsx("div",{className:"review-form-grid",children:e.map(o=>{const l=fa(o),c=ua(o),d=Ti(l)?Oi(o,e,r):[];return i.jsxs("div",{className:`review-question${ih(l)?" review-question--wide":""}`,children:[i.jsxs("label",{className:"review-label",htmlFor:c,children:[n(o)||"Untitled field",o.required?i.jsx("span",{className:"review-required",children:"*"}):null]}),i.jsx(ch,{storeList:t,question:o,options:d,value:r[ln(o)]??ki(l),onChange:u=>s(o,u)})]},o.id??o.fieldKey??nt(o))})})})}):i.jsx("p",{className:"review-empty",children:"No form fields added"})}const uh={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"},fh={BOTH:"Both",USER:"User",ADMIN:"Admin"};function ph(e){return e?typeof e=="string"?e:e.name??e.label??e.title??null:null}function hh(e){return[...new Set(e.filter(Boolean))]}function pa(e){return typeof e=="string"?e:e?.label??e?.name??""}function ha(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 mh(e){return!e||typeof e!="object"?"":e.dependsOnValue??e.parent??""}function gh(e,t=[]){if(!e)return"";const n=t.map(pa).filter(Boolean),r=n.find(s=>s===e);return r||n.find(s=>ha(s)===e||ha(s)===ha(e))||e}function yh(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(s=>s.id===n.dependsOnFieldId||n.dependsOnFieldKey&&s.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:ia(n.fieldType,uh,n.fieldKey),required:!!n.required,fieldAccess:fh[n.fieldAccess]??n.fieldAccess??"",hideFor:hh([...Array.isArray(n.hideFor)?n.hideFor:[],ph(n.hideForWorkflowStep)]),dependsOn:n.dependsOnField?.fieldName??a?.fieldName??n.dependsOn??"",options:r.map(pa).filter(Boolean),parentMappings:Object.fromEntries(r.map(s=>{const o=pa(s),l=mh(s);return!o||!l?null:[o,gh(l,a?.options?.values??[])]}).filter(Boolean))}})}function bh({onPublish:e,stepMeta:t,stepperProps:n,storeList:r}){const a=H.useDispatch(),s=H.useSelector(_=>_.appDetails?.id),o=H.useSelector(_=>_.complaintAppComplaint.formFields.data),l=H.useSelector(_=>_.complaintAppComplaint.formFields.isLoading),c=H.useSelector(_=>_.complaintAppComplaint.formFields.error),d=H.useSelector(_=>_.createComplaint?.isActive),u=H.useSelector(_=>_.createComplaint?.activeComplaintTypeId),f=H.useSelector(_=>_.createComplaint?.isUpdatingActive),p=H.useSelector(_=>_.createComplaint?.activeError),S=H.useSelector(_=>_.complaintType?.selected),w=H.useSelector(_=>_.complaintType?.complaintList??[]),v=C.useMemo(()=>yh(o),[o]),y=C.useMemo(()=>s==null?null:S&&String(S.id??S._id)===String(s)?S:w.find(_=>String(_?.id??_?._id)===String(s))??null,[w,s,S]),g=y!=null&&(y.isActive!=null||y.active!=null)?!!(y.isActive??y.active):null,h=String(u)===String(s)?!!d:g??!0;C.useEffect(()=>{s&&a(Le(s))},[s,a]);const b=_=>{!s||f||a(Qt({id:s,isActive:_}))};return i.jsxs(i.Fragment,{children:[i.jsx(tn,{...n,steps:Fe,showSaveButton:!1,nextLabel:"Publish",extraActions:i.jsx(Ci,{label:"Active",checked:h,disabled:!s||f,onChange:b}),onNext:()=>{e?.(),n.onNext?.()}}),p?i.jsx("div",{className:"ca-validation-toast",role:"alert",children:p}):null,i.jsx(Rt,{className:"ca-settings-card--plain",title:t.title,description:t.description,showNext:!1,children:i.jsx("div",{className:"ca-review",children:i.jsx("section",{className:"ca-review__block ca-review__block--last",children:l?i.jsx(Ct,{text:"Loading form fields"}):c&&!v.length?i.jsx("p",{className:"ca-body",children:c}):i.jsx(dh,{fields:v,storeList:r})})})})]})}function Sh(e){const t=Number(e);return!Number.isFinite(t)||t<1?1:t>Fe.length?Fe.length:Math.floor(t)}function wh(e){const t=Number(e);return!Number.isFinite(t)||t<1?1:t>3?3:Math.floor(t)}function Ii({title:e="Complaint Management Settings",onPublish:t,onStepChange:n,onSaveDraft:r,roleList:a=[],storeList:s,showSaveButton:o=!0,showNextButton:l=!0}){const c=Ue(),d=H.useDispatch(),{systemId:u}=fn(),[f,p]=Ha(),S=Sh(f.get("step")||1),w=wh(f.get("substep")||1);C.useEffect(()=>{u&&d(Xe(u))},[d,u]),C.useEffect(()=>{if(!f.get("step")){const O=new URLSearchParams(f);O.set("step","1"),p(O,{replace:!0})}},[f,p]);const v=C.useMemo(()=>Fe.find(O=>O.id===S)||Fe[0],[S]),y=C.useCallback((O,M)=>{const U=new URLSearchParams(f);U.set("step",String(O)),O===4?U.set("substep",String(M??(O===S?w:1))):U.delete("substep"),p(U,{replace:!1}),n?.({systemId:u,step:O,substep:M})},[f,p,n,u,S,w]),g=()=>{if(S<Fe.length){y(S+1,1);return}c("/")},h=O=>{y(4,O)},b=()=>{t?.({systemId:u,step:S})},_={currentStep:S,onStepClick:O=>y(O,O===4?1:void 0),showSaveButton:o,showNextButton:l,onSaveDraft:()=>r?.({systemId:u,step:S}),onNext:g,className:"ca-settings-page__stepper"};return i.jsx(Ho,{children:i.jsxs("div",{className:"ca-settings-page",children:[i.jsxs("div",{className:"ca-settings-page__header",children:[i.jsx("button",{type:"button",className:"ca-settings-page__back",onClick:()=>c("/"),"aria-label":"Back to Complaint Management",children:i.jsx("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:i.jsx("path",{d:"M15 6l-6 6 6 6",stroke:"currentColor",strokeWidth:"2.2",strokeLinecap:"round",strokeLinejoin:"round"})})}),i.jsx(Hr,{children:e})]}),S===1?i.jsx(yp,{stepMeta:v,stepperProps:_,roleList:a}):null,S===2?i.jsx(Tp,{onNext:g,stepMeta:v,roleList:a,substep:w,onSubstepChange:h,stepperProps:_}):null,S===3?i.jsx(nh,{stepMeta:v,stepperProps:_}):null,S===4?i.jsx(bh,{storeList:s,onPublish:b,stepMeta:v,stepperProps:_}):null]})},u||"new")}const vh=["January","February","March","April","May","June","July","August","September","October","November","December"];function Ch(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()} ${vh[t.getMonth()]} ${t.getFullYear()}, ${n}:${r}`}function _h(){const e=Ue(),t=H.useSelector(s=>s.status?.complaintSummary??null),n=t?.totalComplaints??0,r=t?.totalComplaints??0,a=Ch(t?.lastSubmittedAt);return i.jsxs("section",{className:"ca-query-details","aria-labelledby":"query-management-title",children:[i.jsxs("div",{className:"ca-query-details__heading",children:[i.jsxs("div",{className:"ca-query-details__title-row",children:[i.jsx("button",{type:"button",className:"ca-settings-page__back",onClick:()=>e("/"),"aria-label":"Back to Complaint Management",children:i.jsx("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:i.jsx("path",{d:"M15 6l-6 6 6 6",stroke:"currentColor",strokeWidth:"2.2",strokeLinecap:"round",strokeLinejoin:"round"})})}),i.jsx("h1",{id:"query-management-title",className:"ca-query-details__title",children:"Complaint Management"})]}),i.jsxs("span",{className:"ca-query-details__count",children:["Total Count: ",n??0]})]}),i.jsxs("div",{className:"ca-query-details__summary",children:[i.jsxs("div",{className:"ca-query-details__card",children:[i.jsx("span",{className:"ca-query-details__label",children:"Total Complaints"}),i.jsx("strong",{className:"ca-query-details__value",children:r??0})]}),i.jsxs("div",{className:"ca-query-details__card",children:[i.jsx("span",{className:"ca-query-details__label",children:"Last Complaint Submitted Date"}),i.jsx("strong",{className:"ca-query-details__value",children:a||"NA"})]})]})]})}function Di({currentPage:e,totalItems:t,itemsPerPage:n,onPageChange:r,onItemsPerPageChange:a,selectOptions:s=["5","10","15","20","25"],totalPages:o,disabled:l=!1}){if(t<=0)return null;const c=(e-1)*n+1,d=Math.min(e*n,t),u=e<=1,f=e>=o;return i.jsxs("div",{className:`ca-custom-pagination${l?" ca-custom-pagination--disabled":""}`,"aria-label":"Complaint table pagination",children:[i.jsxs("label",{className:"ca-custom-pagination__page-size",children:[i.jsx("span",{children:"Results per page:"}),i.jsx("select",{className:"ca-custom-pagination__select",value:String(n),onChange:p=>a?.(Number(p.target.value)),disabled:l,"aria-label":"Results per page",children:s.map(p=>i.jsx("option",{value:p,children:p},p))})]}),i.jsxs("div",{className:"ca-custom-pagination__navigation",children:[i.jsx("button",{type:"button",className:"ca-custom-pagination__button",onClick:()=>r?.(1),disabled:l||u,"aria-label":"First page",children:i.jsx(Yf,{size:16,"aria-hidden":"true"})}),i.jsx("button",{type:"button",className:"ca-custom-pagination__button",onClick:()=>r?.(e-1),disabled:l||u,"aria-label":"Previous page",children:i.jsx(Zf,{size:16,"aria-hidden":"true"})}),i.jsxs("span",{className:"ca-custom-pagination__range",children:[c," - ",d," of ",t]}),i.jsx("button",{type:"button",className:"ca-custom-pagination__button",onClick:()=>r?.(e+1),disabled:l||f,"aria-label":"Next page",children:i.jsx(Gf,{size:16,"aria-hidden":"true"})}),i.jsx("button",{type:"button",className:"ca-custom-pagination__button",onClick:()=>r?.(o),disabled:l||f,"aria-label":"Last page",children:i.jsx(Xf,{size:16,"aria-hidden":"true"})})]})]})}function Nh({open:e,title:t,children:n,primaryLabel:r="Save",onPrimary:a,secondaryLabel:s="Cancel",onSecondary:o,primaryDisabled:l=!1}){return e?i.jsx("div",{className:"ca-confirm-modal",role:"dialog","aria-modal":"true","aria-labelledby":"ca-modal-title",children:i.jsxs("div",{className:"ca-confirm-modal__dialog",children:[t?i.jsx("p",{id:"ca-modal-title",className:"ca-confirm-modal__message",children:t}):null,n,i.jsxs("div",{className:"ca-confirm-modal__actions",children:[i.jsx(ge,{variant:"outline",onClick:o,children:s}),i.jsx(ge,{onClick:a,disabled:l,children:r})]})]})}):null}function Eh({id:e,message:t,type:n="success",onDismiss:r}){return C.useEffect(()=>{const a=setTimeout(()=>r(e),3500);return()=>clearTimeout(a)},[e,r]),i.jsx("div",{className:`ca-toast ca-toast--${n}`,role:"status",children:t})}function Th({toasts:e=[],onDismiss:t}){return e.length?i.jsx("div",{className:"ca-toast-container",children:e.map(n=>i.jsx(Eh,{...n,onDismiss:t},n.id))}):null}const Ah=["Open","Closed"];function xi({selectedStatus:e,statusNames:t=[],updatedAtSortOldest:n,onStatusChange:r,onSortChange:a,onNewComplaint:s,onDownloadReport:o,isDownloadingReport:l=!1,complaintTypeId:c,canCreateComplaint:d=!0,isComplaintTypeActive:u=!0}){return i.jsxs("div",{className:"ca-complaint-table__toolbar",children:[i.jsxs("div",{className:"ca-complaint-table__filters",children:[i.jsxs("label",{className:"ca-complaint-table__filter",children:[i.jsx(tp,{size:14,"aria-hidden":"true"}),i.jsx("span",{className:"ca-complaint-table__sr-only",children:"Filter by status"}),i.jsxs("select",{value:e,"aria-label":"Filter by status",onChange:f=>r?.(f.target.value),children:[i.jsx("option",{value:"all",children:"Select Status"}),(t.length?t:Ah).map(f=>i.jsx("option",{value:f,children:f},f))]})]}),i.jsx("button",{type:"button",className:`ca-complaint-table__sort${n?" ca-complaint-table__sort--reversed":""}`,"aria-label":n?"Sort by newest updated at date":"Sort by oldest updated at date",title:"Sort by Updated At",onClick:a,children:i.jsx(Jf,{className:"ca-complaint-table__sort-icon",size:14,"aria-hidden":"true"})})]}),i.jsxs("div",{className:"ca-complaint-table__actions",children:[d?i.jsx(ge,{variant:"outline",onClick:s,size:"sm",startIcon:i.jsx(Oo,{size:14}),disabled:!u,children:"New Complaint"}):null,i.jsx(ge,{variant:"outline",size:"sm",startIcon:i.jsx(Qf,{size:14}),onClick:o,disabled:l||!c,children:"Download Report"})]})]})}function Pi({text:e="No data"}){return i.jsx("div",{className:"ca-empty-state",role:"status",children:e})}const Lh=/^[^\s]+\/[^\s]+\.[A-Za-z0-9]{2,5}(?:\?.*)?$/,Fh=new RegExp("(?<=\\.[A-Za-z0-9]{2,5})(?=[A-Za-z0-9_-]+\\/)|[,\\n;]+");function Rn(e){return(Array.isArray(e)?e:[e]).filter(n=>n!=null&&n!==""&&n!=="-").flatMap(n=>typeof n=="string"?n.split(Fh).map(r=>r.trim()).filter(Boolean):[n])}function Oh(e){const t=Rn(e);return t.length>0&&t.every(n=>typeof n=="string"&&Lh.test(n))}function ma(e,t){const n=String(e?.fieldType||"").toLowerCase();return n==="file"||n==="images"||n==="image"||Oh(t)}function kh(e,t){const n=new Set;return t.forEach(r=>{e.forEach(a=>{const s=r[a.key]??"-";ma(a,s)&&Rn(s).forEach(o=>{typeof o=="string"&&n.add(o)})})}),Array.from(n)}const Ih=["Open","Closed"],ga=["Level 1","Level 2","Level 3"],Mi=/\.(png|jpe?g|gif|webp|bmp|svg)(?:\?.*)?$/i;function Dh({value:e,urlMap:t={}}){const n=C.useMemo(()=>Rn(e),[e]),[r,a]=C.useState(null);if(!n.length)return"-";const s=n.filter(p=>typeof p=="string"&&Mi.test(p)),o=n.filter(p=>typeof p=="string"&&!Mi.test(p)).map(p=>({name:p,url:t[p]})),l=s.map(p=>({name:p,url:t[p]})).filter(p=>p.url),c=l[0],d=()=>a(null),u=()=>a(p=>p>0?p-1:l.length-1),f=()=>a(p=>p<l.length-1?p+1:0);return i.jsxs(i.Fragment,{children:[i.jsxs("div",{className:"ca-complaint-table__attachments",children:[c?i.jsx("button",{type:"button",className:"ca-complaint-table__attachment-trigger",onClick:()=>a(0),"aria-label":`Preview ${c.name}`,children:i.jsx("img",{className:"ca-complaint-table__attachment-image",src:c.url,alt:c.name,title:c.name})}):null,o.length?o.map(p=>p.url?i.jsx("a",{className:"ca-complaint-table__attachment-link",href:p.url,target:"_blank",rel:"noreferrer",children:p.name.split("/").pop()},p.name):i.jsx("span",{className:"ca-complaint-table__attachment-name",children:p.name},p.name)):null,!c&&!o.length?n.map(p=>i.jsx("span",{className:"ca-complaint-table__attachment-name",children:String(p)},String(p))):null,l.length>1?i.jsxs("button",{type:"button",className:"ca-complaint-table__attachment-count",onClick:()=>a(1),"aria-label":`Preview ${l.length-1} more images`,children:["+",l.length-1]}):null]}),r!=null&&l.length?i.jsxs("div",{className:"ca-complaint-table__preview",role:"dialog","aria-modal":"true","aria-label":"Image preview",children:[i.jsx("button",{type:"button",className:"ca-complaint-table__preview-close",onClick:d,"aria-label":"Close image preview",children:"×"}),i.jsx("button",{type:"button",className:"ca-complaint-table__preview-nav ca-complaint-table__preview-nav--previous",onClick:u,"aria-label":"Previous image",children:"‹"}),i.jsx("img",{className:"ca-complaint-table__preview-image",src:l[r].url,alt:l[r].name}),i.jsx("button",{type:"button",className:"ca-complaint-table__preview-nav ca-complaint-table__preview-nav--next",onClick:f,"aria-label":"Next image",children:"›"}),i.jsxs("span",{className:"ca-complaint-table__preview-count",children:[r+1," / ",l.length]})]}):null]})}function Bi({value:e,options:t,fallbackOptions:n,ariaLabel:r,selectKey:a,onChange:s}){const l=(t.length?t:n.map(p=>({value:p,label:p}))).map(p=>p&&typeof p=="object"?{value:String(p.value??p.id??""),label:p.label??p.name??String(p.value??p.id??""),disabled:!!p.disabled}:{value:String(p),label:String(p),disabled:!1}).filter(p=>p.value||p.label),c=e!=null&&e!==""&&e!=="-"?String(e):"",d=l.map(p=>p.value),u=c&&!d.includes(c)?[{value:c,label:c,disabled:!1},...l]:l,f=u.some(p=>p.value===c)?c:u[0]?.value??"";return i.jsx("select",{className:"ca-complaint-table__select","aria-label":r,value:f,onChange:p=>s?.(p.target.value),children:u.map(p=>i.jsx("option",{value:p.value,disabled:p.disabled,children:p.label},p.value))},a)}function $i(e,t){return t==null||t===""||!Array.isArray(e)?!1:e.some(n=>n&&typeof n=="object"?String(n.value??n.id)===String(t):String(n)===String(t))}function er(e,t=!1){const n=[];return!t&&e==="description"&&n.push("ca-complaint-table__desc"),e==="status"&&n.push("ca-complaint-table__sticky","ca-complaint-table__sticky--status"),e==="escalationTo"&&n.push("ca-complaint-table__sticky","ca-complaint-table__sticky--escalation"),n.length?n.join(" "):void 0}function Ui(e,t,n,r,a={}){const s=t[e.key]??"-",o=a.statusOptions??n,l=a.escalationOptions??r;return e.key==="status"?i.jsx(Bi,{value:$i(o,t.statusId)?t.statusId:s,options:o,fallbackOptions:Ih,ariaLabel:"Status",selectKey:`status-${t.id}`,onChange:a.onStatusChange}):e.key==="escalationTo"?i.jsx(Bi,{value:$i(l,t.currentStepId)?t.currentStepId:s,options:l,fallbackOptions:ga,ariaLabel:"Escalation to",selectKey:`escalation-${t.id}`,onChange:a.onEscalationChange}):ma(e,s)&&Rn(s).some(c=>typeof c=="string")?i.jsx(Dh,{value:s,urlMap:a.attachmentUrlMap}):s}function ji({scrollFields:e,stickyFields:t,tableRows:n,fieldLabel:r,statusNames:a,getCellContext:s,page:o,itemsPerPage:l}){return i.jsxs("div",{className:"ca-complaint-table__scroll",children:[i.jsxs("table",{children:[i.jsx("thead",{children:i.jsxs("tr",{children:[i.jsx("th",{scope:"col",children:"#"}),e.map(c=>i.jsx("th",{scope:"col",className:er(c.key,!0),children:r(c)},c.id)),i.jsx("th",{className:"ca-complaint-table__spacer","aria-hidden":"true"}),t.map(c=>i.jsx("th",{scope:"col",className:er(c.key,!0),children:r(c)},c.id))]})}),i.jsx("tbody",{children:n.map((c,d)=>i.jsxs("tr",{children:[i.jsx("td",{children:(o-1)*l+d+1}),e.map(u=>i.jsx("td",{className:er(u.key),children:Ui(u,c,a,ga,s(c))},`${c.id??d}-${u.id}`)),i.jsx("td",{className:"ca-complaint-table__spacer","aria-hidden":"true"}),t.map(u=>i.jsx("td",{className:er(u.key),children:Ui(u,c,a,ga,s(c))},`${c.id??d}-${u.id}`))]},c.id??d))})]}),n.length?null:i.jsx("div",{className:"ca-complaint-table__empty-overlay",children:i.jsx(Pi,{text:"No Complaint"})})]})}const Vi="aira-query-complaintTypeId",qi={id:"status",label:"Status",key:"status"},Wi={id:"escalationTo",label:"Escalation To",key:"escalationTo"},xh={id:"submittedByUserName",label:"Submitted By",key:"submittedByUserName"},Ph={id:"updatedAt",label:"Updated At",key:"updatedAt"},cn="desc",ya="asc",Mh=10,Bh=["5","10","15","20","25"],$h=999999,ba=new Set(["status","escalationTo","id","submittedByUserName","updatedAt"]),Uh=["January","February","March","April","May","June","July","August","September","October","November","December"];function jh(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()} ${Uh[t.getMonth()]} ${t.getFullYear()}, ${n}:${r}`}function Hi(e){if(!e)return 0;const t=new Date(e).getTime();return Number.isNaN(t)?0:t}function Vh(e,t){return t!==cn&&t!==ya?e:[...e].sort((n,r)=>{const a=Hi(n.updatedAtValue),s=Hi(r.updatedAtValue);return a===s?0:t===ya?a-s:s-a})}function qh(e){return e===cn?ya:cn}function zi(e){return[xh,Ph,...e,qi,Wi]}function Wh(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:r.fieldName||r.fieldLabel||r.label||a,key:a,fieldType:r.fieldType,hideForWorkflowStepId:r.hideForWorkflowStepId??null}}).filter(r=>r.key&&!ba.has(r.key))}function Hh(e,t,n,r){const a=e?.data??e??{},s=Number(a.total??a.totalItems??a.totalCount??a.count),o=Number(a.totalPages??a.pages??a.pageCount);return Number.isFinite(o)&&o>0?{totalPages:o,totalItems:Number.isFinite(s)&&s>=0?s:Math.max(r,o*n),hasNext:t<o}:Number.isFinite(s)&&s>=0?{totalPages:Math.max(1,Math.ceil(s/n)),totalItems:s,hasNext:t*n<s}:{totalPages:t+(r>=n?1:0),totalItems:Math.max(r,t*n),hasNext:r>=n}}function Ki(e){return e==null||e===""?null:typeof e=="object"?e.data??e.id??e._id??null:e}function zh(){try{return sessionStorage.getItem(Vi)}catch{return null}}function Ji(e){const t=Ki(e);if(t==null||t==="")return null;const n=String(t);try{sessionStorage.setItem(Vi,n)}catch{}return n}function Kh(...e){for(const t of e){const n=Ki(t);if(n!=null&&n!=="")return String(n)}return null}function Jh(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 s=n.id??n.statusId;if(s!=null){const o=t.find(l=>String(l.id)===String(s));if(o?.name)return o.name}}const r=e?.statusId??e?.complaintStatusId;if(r!=null){const a=t.find(s=>String(s.id)===String(r));if(a?.name)return a.name}return""}function Zh(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(s=>String(s.name).trim()===r.trim());if(a?.id!=null)return a.id}return null}function Zi(e){return e===!0||e==="Yes"||e==="true"||e===1||e==="1"}function Gi(e){const t=String(e||"").trim().toLowerCase();return t==="resolved"||t==="closed"}function Gh(e,t=[]){const n=e?.currentStepId??e?.workflowStepId??e?.currentWorkflowStepId;if(n!=null&&n!==""){const a=t.find(s=>String(s.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 Yh(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(s=>String(s.id)===String(r));if(a?.levelNo!=null)return`Level ${a.levelNo}`}return""}function Yi(e,t=[],n=[]){const r=Gh(e,n),a={id:e?.complaintId??e?.id,status:Jh(e,t),statusId:Zh(e,t),escalationTo:Yh(e,n),currentStepId:r?.id??e?.currentStepId??e?.workflowStepId??e?.currentWorkflowStepId??null,canResolve:Zi(e?.canResolve??r?.canResolve),isFinalLevel:Zi(e?.isFinalLevel??r?.isFinalLevel??r?.finalLevel),submittedByUserName:e?.submittedByUserName||"-",updatedAt:jh(e?.updatedAt)||"-",updatedAtValue:e?.updatedAt??""};return(e?.formField||[]).forEach(s=>{const o=s.fieldKey||s.fieldName;o&&!ba.has(o)&&(a[o]=s.value)}),a}function Xi(e,t){const n=new Set,r=t.map(a=>{if(n.add(a.key),a.fieldType)return a;const s=e.flatMap(o=>o._fields||[]).find(o=>(o.fieldKey||o.fieldName)===a.key);return s?.fieldType?{...a,fieldType:s.fieldType}:a});return e.forEach(a=>{(a._fields||[]).forEach(s=>{const o=s.fieldKey||s.fieldName;!o||ba.has(o)||n.has(o)||(n.add(o),r.push({id:o,label:s.fieldName||o,key:o,fieldType:s.fieldType}))})}),r}function Xh(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 Qh(e){const t=e?.data??e;return Array.isArray(t)?t:t?.data??t?.results??t?.items??[]}function Qi(e){const t=e==null?"":String(e);return/[",\n]/.test(t)?`"${t.replace(/"/g,'""')}"`:t}function Rh(e,t){const n=e.map(a=>Qi(a.label)).join(","),r=t.map(a=>e.map(s=>Qi(a[s.key]??"-")).join(","));return[n,...r].join(`\r
|
|
11
|
+
`+s)}}catch{}}throw r}}_request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=Ge(this.defaults,n);const{transitional:r,paramsSerializer:a,headers:s}=n;r!==void 0&&An.assertOptions(r,{silentJSONParsing:fe.transitional(fe.boolean),forcedJSONParsing:fe.transitional(fe.boolean),clarifyTimeoutError:fe.transitional(fe.boolean),legacyInterceptorReqResOrdering:fe.transitional(fe.boolean),advertiseZstdAcceptEncoding:fe.transitional(fe.boolean),validateStatusUndefinedResolves:fe.transitional(fe.boolean)},!1),a!=null&&(m.isFunction(a)?n.paramsSerializer={serialize:a}:An.assertOptions(a,{encode:fe.function,serialize:fe.function},!0)),n.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?n.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:n.allowAbsoluteUrls=!0),An.assertOptions(n,{baseUrl:fe.spelling("baseURL"),withXsrfToken:fe.spelling("withXSRFToken")},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();let o=s&&m.merge(s.common,s[n.method]);s&&m.forEach(["delete","get","head","post","put","patch","query","common"],w=>{delete s[w]}),n.headers=ue.concat(o,s);const l=[];let c=!0;this.interceptors.request.forEach(function(v){if(typeof v.runWhen=="function"&&v.runWhen(n)===!1)return;c=c&&v.synchronous;const y=n.transitional||Nr;y&&y.legacyInterceptorReqResOrdering?l.unshift(v.fulfilled,v.rejected):l.push(v.fulfilled,v.rejected)});const d=[];this.interceptors.response.forEach(function(v){d.push(v.fulfilled,v.rejected)});let u,f=0,p;if(!c){const w=[kr.bind(this),void 0];for(w.unshift(...l),w.push(...d),p=w.length,u=Promise.resolve(n);f<p;)u=u.then(w[f++],w[f++]);return u}p=l.length;let S=n;for(;f<p;){const w=l[f++],v=l[f++];try{S=w?w(S):S}catch(y){if(!v){u=Promise.reject(y);break}try{const g=v.call(this,y);m.isThenable(g)&&(u=Promise.resolve(g).then(()=>kr.call(this,S)))}catch(g){u=Promise.reject(g)}break}}if(!u)try{u=kr.call(this,S)}catch(w){u=Promise.reject(w)}for(f=0,p=d.length;f<p;)u=u.then(d[f++],d[f++]);return u}getUri(t){t=Ge(this.defaults,t);const n=Ss(t.baseURL,t.url,t.allowAbsoluteUrls,t);return cs(n,t.params,t.paramsSerializer)}};m.forEach(["delete","get","head","options"],function(t){Ye.prototype[t]=function(n,r){return this.request(Ge(r||{},{method:t,url:n,data:r&&m.hasOwnProp(r,"data")?r.data:void 0}))}}),m.forEach(["post","put","patch","query"],function(t){function n(r){return function(s,o,l){return this.request(Ge(l||{},{method:t,headers:r?{"Content-Type":"multipart/form-data"}:{},url:s,data:o}))}}Ye.prototype[t]=n(),t!=="query"&&(Ye.prototype[t+"Form"]=n(!0))});let Fu=class il{constructor(t){if(typeof t!="function")throw new TypeError("executor must be a function.");let n;this.promise=new Promise(function(s){n=s});const r=this;this.promise.then(a=>{if(!r._listeners)return;let s=r._listeners.length;for(;s-- >0;)r._listeners[s](a);r._listeners=null}),this.promise.then=a=>{let s;const o=new Promise(l=>{r.subscribe(l),s=l}).then(a);return o.cancel=function(){r.unsubscribe(s)},o},t(function(s,o,l){r.reason||(r.reason=new jt(s,o,l),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 il(function(a){t=a}),cancel:t}}};function Ou(e){return function(n){return e.apply(null,n)}}function ku(e){return m.isObject(e)&&e.isAxiosError===!0}const Ir={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(Ir).forEach(([e,t])=>{Ir[t]=e});function Ds(e){const t=new Ye(e),n=za(Ye.prototype.request,t);return m.extend(n,Ye.prototype,t,{allOwnKeys:!0}),m.extend(n,t,null,{allOwnKeys:!0}),n.create=function(a){return Ds(Ge(e,a))},n}const ae=Ds(Ut);ae.Axios=Ye,ae.CanceledError=jt,ae.CancelToken=Fu,ae.isCancel=hs,ae.VERSION=Lr,ae.toFormData=_n,ae.AxiosError=D,ae.Cancel=ae.CanceledError,ae.all=function(t){return Promise.all(t)},ae.spread=Ou,ae.isAxiosError=ku,ae.mergeConfig=Ge,ae.AxiosHeaders=ue,ae.formToJSON=e=>ps(m.isHTMLForm(e)?new FormData(e):e),ae.getAdapter=ks.getAdapter,ae.HttpStatusCode=Ir,ae.default=ae;const{Axios:Rm,AxiosError:e0,CanceledError:t0,isCancel:n0,CancelToken:r0,VERSION:a0,all:s0,Cancel:o0,isAxiosError:i0,spread:l0,toFormData:c0,AxiosHeaders:d0,HttpStatusCode:u0,formToJSON:f0,getAdapter:p0,mergeConfig:h0,create:m0}=ae;function Ln(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 Iu={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 Dr(e,t){function n(a,s,o){if(!(typeof document>"u")){o=Ln({},t,o),typeof o.expires=="number"&&(o.expires=new Date(Date.now()+o.expires*864e5)),o.expires&&(o.expires=o.expires.toUTCString()),a=encodeURIComponent(a).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var l="";for(var c in o)o[c]&&(l+="; "+c,o[c]!==!0&&(l+="="+o[c].split(";")[0]));return document.cookie=a+"="+e.write(s,a)+l}}function r(a){if(!(typeof document>"u"||arguments.length&&!a)){for(var s=document.cookie?document.cookie.split("; "):[],o={},l=0;l<s.length;l++){var c=s[l].split("="),d=c.slice(1).join("=");try{var u=decodeURIComponent(c[0]);if(u in o||(o[u]=e.read(d,u)),a===u)break}catch{}}return a?o[a]:o}}return Object.create({set:n,get:r,remove:function(a,s){n(a,"",Ln({},s,{expires:-1}))},withAttributes:function(a){return Dr(this.converter,Ln({},this.attributes,a))},withConverter:function(a){return Dr(Ln({},this.converter,a),this.attributes)}},{attributes:{value:Object.freeze(t)},converter:{value:Object.freeze(e)}})}var Vt=Dr(Iu,{path:"/"});const Du={BASE_URL:"/",DEV:!1,MODE:"production",PROD:!0,SSR:!1};let pt="https://api-grievance.airaops.com",xs=null;try{if(typeof{url:typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:ar&&ar.tagName.toUpperCase()==="SCRIPT"&&ar.src||new URL("complaint-app.umd.js",document.baseURI).href}<"u"&&Du?.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 Ps=e=>{pt=e||"",re.defaults.baseURL=pt},xr=e=>{xs=e||null},xu=()=>xs||Vt.get("token")||null,re=ae.create({baseURL:pt,headers:{Accept:"application/json","Content-Type":"application/json"}});re.interceptors.request.use(e=>{const t=xu();return e.headers=e.headers||{},t?e.headers.Authorization=`Bearer ${t}`:delete e.headers.Authorization,e});let Pr=!1,Mr=null;re.interceptors.response.use(e=>e,async e=>{const t=e.config,n=e.response;if(n&&(n.status===401||n.status===402)){const r=Vt.get("refreshToken");if(r)try{Pr||(Pr=!0,Mr=ae.post(`${pt}/api/v1/auth/refresh`,{},{headers:{Authorization:`Bearer ${r}`}}));const a=await Mr,{token:s,refreshToken:o}=a.data;return xr(s),o&&Vt.set("refreshToken",o),t.headers.Authorization=`Bearer ${s}`,re(t)}catch{Vt.remove("token"),Vt.remove("refreshToken")}finally{Pr=!1,Mr=null}}return Promise.reject(e)});const Pu=C.createContext(null),Ms=({children:e,apiUrl:t,authToken:n})=>(t&&Ps(t),xr(n||null),i.jsx(Pu.Provider,{value:{apiUrl:t,authToken:n},children:e})),xe={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)"}},qt={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)"}},Bs={light:xe,dark:qt};function ht(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)}function mt(e,t){if(!ht(t))return e;const n={...e};return Object.keys(t).forEach(r=>{const a=t[r];ht(a)&&ht(e[r])?n[r]=mt(e[r],a):a!==void 0&&(n[r]=a)}),n}function $s(e){return!e||!ht(e)?{light:xe,dark:qt}:ht(e.light)||ht(e.dark)?{light:mt(xe,e.light||{}),dark:mt(qt,e.dark||{})}:{light:mt(xe,e),dark:mt(qt,e)}}function Us(e,t=!1){const n=$s(e);return{...t?n.dark:n.light,mode:t?"dark":"light",__pack:n}}const Mu={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"},Bu={sm:"--ca-radius-sm",md:"--ca-radius-md",lg:"--ca-radius-lg",xl:"--ca-radius-xl",pill:"--ca-radius-pill"},$u={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"},Uu={card:"--ca-shadow-card",settings:"--ca-shadow-settings"};function js(e){const t={};return e?.colors&&Object.entries(Mu).forEach(([n,r])=>{e.colors[n]!=null&&(t[r]=e.colors[n])}),e?.radii&&Object.entries(Bu).forEach(([n,r])=>{e.radii[n]!=null&&(t[r]=e.radii[n])}),e?.typography&&Object.entries($u).forEach(([n,r])=>{e.typography[n]!=null&&(t[r]=e.typography[n])}),e?.shadow&&Object.entries(Uu).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 Vs=C.createContext({darkMode:!1,theme:null,themeFile:Bs,cssVars:{}});function qs({theme:e,darkMode:t=!1,children:n}){const r=C.useMemo(()=>{const a=Us(e,!!t),s=js(a);return{darkMode:!!t,theme:a,themeFile:a.__pack,cssVars:s,mode:a.mode}},[e,t]);return i.jsx(Vs.Provider,{value:r,children:n})}function Ws(){return C.useContext(Vs)}const Fn=Object.freeze({formFields:e=>`/api/v1/complaint-types/${e}/form-fields`}),ju=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"},Vu=(e,t)=>t.rejectWithValue({status:e?.response?.status??e?.status,message:ju(e)}),Br=(e,t)=>te.createAsyncThunk(e,async(n,r)=>{try{return(await t(n,r)).data}catch(a){return Vu(a,r)}}),Le=Br("complaint/types/getFormFields",(e,{signal:t})=>re.get(Fn.formFields(e),{signal:t})),Wt=Br("complaint/types/saveFormFields",({complaintTypeId:e,data:t})=>re.put(Fn.formFields(e),t)),gt=Br("complaint/types/deleteFormField",({complaintTypeId:e,fieldId:t})=>re.delete(`${Fn.formFields(e)}/${t}`)),Hs={formFields:{data:[],selected:null,pagination:null,isLoading:!1,isMutating:!1,error:null},error:null},qu=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}},$r=e=>e.payload?.message??e.error?.message??"Something went wrong",zs=te.createSlice({name:"complaintAppComplaint",initialState:Hs,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 Hs}},extraReducers:e=>{e.addCase(Le.pending,t=>{t.formFields.isLoading=!0,t.formFields.error=null}).addCase(Le.fulfilled,(t,n)=>{const r=qu(n.payload);t.formFields.isLoading=!1,t.formFields.data=r.data}).addCase(Le.rejected,(t,n)=>{t.formFields.isLoading=!1,t.formFields.error=$r(n)}).addCase(Wt.pending,t=>{t.formFields.isMutating=!0,t.formFields.error=null}).addCase(Wt.fulfilled,t=>{t.formFields.isMutating=!1}).addCase(Wt.rejected,(t,n)=>{t.formFields.isMutating=!1,t.formFields.error=$r(n)}).addCase(gt.pending,t=>{t.formFields.isMutating=!0,t.formFields.error=null}).addCase(gt.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(gt.rejected,(t,n)=>{t.formFields.isMutating=!1,t.formFields.error=$r(n)})}}),{clearComplaintError:Wu,clearSelectedComplaintResource:Hu,resetComplaintState:zu}=zs.actions,Ks=zs.reducer,Ht="/api/v1/complaint-types",zt=(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"})},Kt=te.createAsyncThunk("complaintType/fetchAll",async(e,t)=>{try{return(await re.get(Ht)).data}catch(n){return zt(n,t)}}),yt=te.createAsyncThunk("complaintType/fetchById",async(e,t)=>{try{const n=e;return(await re.get(`${Ht}/${n}`)).data}catch(n){return zt(n,t)}}),Jt=te.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(o=>parseInt(o,10))},s=await re.post(Ht,a);return t&&typeof t=="function"&&t(s.data),s.data}catch(a){return console.log("createComplaintType error:",a),n&&typeof n=="function"&&n(a),zt(a,r)}}),Zt=te.createAsyncThunk("complaintType/update",async({id:e,data:t,onSuccess:n,onFail:r},a)=>{try{const s=await re.patch(`${Ht}/${e}`,t);return n&&typeof n=="function"&&n(s.data),s.data}catch(s){return console.log("updateComplaintType error:",s),r&&typeof r=="function"&&r(s),zt(s,a)}}),On=te.createAsyncThunk("complaintType/delete",async(e,t)=>{try{const n=await re.delete(`${Ht}/${e}`);return{id:e,data:n.data}}catch(n){return zt(n,t)}}),Ku={complaintList:[],selected:null,loading:!1,saving:!1,error:null},Ju=["data","items","results","content","records","list","payload","response","result"],Js=e=>{if(Array.isArray(e))return e;if(!e||typeof e!="object")return[];for(const t of Ju)if(e[t]!==void 0){const n=Js(e[t]);if(n.length||Array.isArray(e[t]))return n}return[]},Zs=te.createSlice({name:"complaintType",initialState:Ku,reducers:{setComplaintTypeActive(e,t){const{id:n,isActive:r}=t.payload??{};n!=null&&(e.complaintList=e.complaintList.map(a=>String(a?.id)===String(n)?{...a,isActive:r}:a),String(e.selected?.id)===String(n)&&(e.selected={...e.selected,isActive:r}))}},extraReducers:e=>{e.addCase(Kt.pending,t=>{t.loading=!0,t.error=null}).addCase(Kt.fulfilled,(t,n)=>{t.loading=!1,t.complaintList=Js(n.payload)}).addCase(Kt.rejected,(t,n)=>{t.loading=!1,t.error=n.payload?.message??n.error?.message??"Failed to fetch complaint types"}).addCase(yt.pending,t=>{t.loading=!0,t.error=null}).addCase(yt.fulfilled,(t,n)=>{t.loading=!1,t.selected=n.payload?.data??n.payload}).addCase(yt.rejected,(t,n)=>{t.loading=!1,t.error=n.payload?.message??n.error?.message??"Failed to fetch complaint type"}).addCase(Jt.pending,t=>{t.saving=!0,t.error=null}).addCase(Jt.fulfilled,(t,n)=>{t.saving=!1;const r=n.payload?.data??n.payload;t.complaintList=[r,...t.complaintList.filter(a=>a?.id!==r?.id)],t.selected=r}).addCase(Jt.rejected,(t,n)=>{t.saving=!1,t.error=n.payload?.message??n.error?.message??"Failed to create complaint type"}).addCase(Zt.pending,t=>{t.saving=!0,t.error=null}).addCase(Zt.fulfilled,(t,n)=>{t.saving=!1;const r=n.payload?.data??n.payload;t.complaintList=t.complaintList.map(a=>a?.id===r?.id?r:a),t.selected=r}).addCase(Zt.rejected,(t,n)=>{t.saving=!1,t.error=n.payload?.message??n.error?.message??"Failed to update complaint type"}).addCase(On.pending,t=>{t.saving=!0,t.error=null}).addCase(On.fulfilled,(t,n)=>{t.saving=!1;const r=n.payload?.id??n.meta?.arg;t.complaintList=t.complaintList.filter(a=>String(a?.id)!==String(r)),String(t.selected?.id)===String(r)&&(t.selected=null)}).addCase(On.rejected,(t,n)=>{t.saving=!1,t.error=n.payload?.message??n.error?.message??"Failed to delete complaint type"})}}),{setComplaintTypeActive:Zu}=Zs.actions,Gu=Zs.reducer,Yu={details:{},id:null,isEdit:!1},Gs=te.createSlice({name:"appDetails",initialState:Yu,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:Ys,clearAppDetails:Xu,setId:Xe,setIsEdit:Gt,clearId:Qu}=Gs.actions,Xs=Gs.reducer,Ru={list:[],pagination:null,isLoading:!1,error:null},Qs=te.createSlice({name:"roles",initialState:Ru,reducers:{}});Qs.reducer;const kn=60,Ur=24*kn,ef={d:Ur,h:kn,m:1};function jr(e){const t=Number(e);return Number.isFinite(t)&&t>0?t:0}function Rs(e=[],t=!0){const n=Array.isArray(e)?e:[];return(t?n:n.slice(0,-1)).reduce((a,s)=>a+Ce(s?.escalateAfterMinutes),0)}function Ce(e){if(e==null||e==="")return 0;if(typeof e=="number")return jr(e);const t=String(e).trim().toLowerCase().replace(/minutes?/g,"").trim();if(!t)return 0;if(/^\d+(\.\d+)?$/.test(t))return jr(t);const n=/(\d+(?:\.\d+)?)\s*(d|h|m)/g;let r=0,a=!1,s;for(;(s=n.exec(t))!==null;)a=!0,r+=(ef[s[2]]||0)*Number(s[1]);return a?jr(r):0}function bt(e){const t=Math.round(typeof e=="number"?e:Ce(e));if(!Number.isFinite(t)||t<=0)return"";const n=Math.floor(t/Ur),r=Math.floor(t%Ur/kn),a=t%kn,s=[];return n&&s.push(`${n}d`),r&&s.push(`${r}h`),a&&s.push(`${a}m`),s.join("")}function tf(e){const t=String(e??"").trim().toLowerCase().replace(/minutes?/g,"").replace(/\s+/g,"");return!t||!/^(\d+(?:\.\d+)?[dhm])+$/.test(t)?!1:Ce(e)>0}function nf(e){return String(e??"").replace(/(\d+)\s*minutes?/gi,(t,n)=>bt(Number(n))||"0m")}function rf(e=[]){return Rs(e,!0)}function St(e=[],t=0){if(!Array.isArray(e)||e.length===0)return e;const n=Math.max(0,Ce(t)-Rs(e,!1)),r=bt(n),a=e.length-1;return String(e[a]?.escalateAfterMinutes??"")===r?e:e.map((s,o)=>o===a?{...s,escalateAfterMinutes:r}:s)}function af(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 eo=e=>`/api/v1/complaint-types/${e}/workflow-steps`;function sf(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 Vr(e){return e===!0||e==="Yes"||e==="yes"||e==="true"||e===1||e==="1"}const to=(e,t)=>t.rejectWithValue({status:e?.response?.status??e?.status,message:sf(e)}),Qe=te.createAsyncThunk("workflow/fetchSteps",async(e,t)=>{try{return(await re.get(eo(e))).data}catch(n){return to(n,t)}}),In=te.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 s=t.tables.map((l,c)=>({levelNo:c+1,roleIds:Array.isArray(l.role)?l.role.map(d=>Number(d)):[],escalateAfterMinutes:Ce(l.escalateAfterMinutes),canResolve:Vr(l.canResolve),canReassign:Vr(l.canReassign),isFinalLevel:Vr(l.finalLevel),isActive:!0})),o=await re.put(eo(e),{steps:s});return typeof n=="function"&&n(o.data),o.data}catch(s){return typeof r=="function"&&r(s),to(s,a)}}),of={workflowSteps:null,workflowStepsLoading:!1,workflowStepsSaving:!1,error:null},lf=te.createSlice({name:"workflow",initialState:of,reducers:{},extraReducers:e=>{e.addCase(Qe.pending,t=>{t.workflowStepsLoading=!0,t.error=null,t.workflowSteps=null}).addCase(Qe.fulfilled,(t,n)=>{t.workflowStepsLoading=!1,t.workflowSteps=n.payload?.data??n.payload}).addCase(Qe.rejected,(t,n)=>{n.meta.aborted||(t.workflowStepsLoading=!1,t.error=n.payload?.message??n.error?.message??"Failed to fetch workflow steps")}).addCase(In.pending,t=>{t.workflowStepsSaving=!0,t.error=null}).addCase(In.fulfilled,(t,n)=>{t.workflowStepsSaving=!1,t.workflowSteps=n.payload?.data??n.payload}).addCase(In.rejected,(t,n)=>{t.workflowStepsSaving=!1,t.error=n.payload?.message??n.error?.message??"Failed to update workflow steps"})}}).reducer,no="/api/v1/complaints",cf=(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"})},Yt=te.createAsyncThunk("complaintManagement/fetchQueries",async(e,t)=>{try{const{complaintTypeId:n,page:r=1,limit:a=10,status:s,sort:o="-createdAt"}=e||{},l={page:r,limit:a,complaintTypeId:n,sort:o};return s!=null&&s!==""&&s!=="all"&&(l.status=s),(await re.get(no,{params:l,signal:t.signal})).data}catch(n){return cf(n,t)}}),df=e=>`/api/v1/complaints/${e}`,uf=(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 qr(e){if(e==null||e==="")return;const t=Number(e);return Number.isNaN(t)?void 0:t}const Xt=te.createAsyncThunk("changeStatus/update",async({id:e,statusId:t,currentStepId:n,assignedToUserId:r,remark:a,onSuccess:s,onFail:o},l)=>{try{const c={},d=qr(t),u=qr(n),f=qr(r);d!=null&&(c.statusId=d),u!=null&&(c.currentStepId=u),f!=null&&(c.assignedToUserId=f),a!=null&&String(a).trim()!==""&&(c.remarks=String(a).trim());const p=await re.patch(df(e),c,{signal:l.signal});return s&&typeof s=="function"&&s(p.data),p.data}catch(c){return o&&typeof o=="function"&&o(c),uf(c,l)}}),ro={list:[],meta:null,isLoading:!1,error:null,hasLoaded:!1,requestedComplaintTypeId:null},ff=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}},pf=e=>e.payload?.message??e.error?.message??"Failed to fetch queries",ao=e=>e?.complaintId??e?.id,hf=(e,t)=>{const n=t.meta?.arg??{},r=t.payload?.data??t.payload,a=n.id??ao(r);return a==null?e:e.map(s=>{if(String(ao(s))!==String(a))return s;const o={...s};return r&&typeof r=="object"&&!Array.isArray(r)&&["status","statusId","level","levelNo","currentStepId","currentWorkflowStepId","workflowStepId","assignedToUserId"].forEach(l=>{r[l]!==void 0&&(o[l]=r[l])}),n.statusId!=null&&(o.statusId=n.statusId),n.status&&(o.status=n.status),n.currentStepId!=null&&(o.currentStepId=n.currentStepId,o.currentWorkflowStepId=n.currentStepId,o.workflowStepId=n.currentStepId),n.level!=null&&(o.level=n.level,o.levelNo=n.level),n.assignedToUserId!=null&&(o.assignedToUserId=n.assignedToUserId),o})},so=te.createSlice({name:"complaintManagement",initialState:ro,reducers:{resetComplaintManagementState:()=>ro},extraReducers:e=>{e.addCase(Yt.pending,(t,n)=>{t.isLoading=!0,t.error=null,t.hasLoaded=!1,t.list=[],t.requestedComplaintTypeId=n.meta.arg?.complaintTypeId??null}).addCase(Yt.fulfilled,(t,n)=>{const r=n.meta.arg?.complaintTypeId;if(t.requestedComplaintTypeId!=null&&r!=null&&String(t.requestedComplaintTypeId)!==String(r))return;const a=ff(n.payload);t.isLoading=!1,t.hasLoaded=!0,t.list=a.list,t.meta=a.meta}).addCase(Yt.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=pf(n))}).addCase(Xt.fulfilled,(t,n)=>{t.list=hf(t.list,n)})}}),{resetComplaintManagementState:oo}=so.actions,mf=so.reducer,gf=e=>`/api/v1/complaint-types/${e}/statuses`,yf="/api/v1/complaints/summary",io=(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"})},Dn=te.createAsyncThunk("status/fetchStatuses",async(e,t)=>{try{return(await re.get(gf(e),{signal:t.signal})).data}catch(n){return io(n,t)}}),xn=te.createAsyncThunk("status/fetchComplaintSummary",async(e,t)=>{try{return(await re.get(yf,{params:{complaintTypeId:e},signal:t.signal})).data}catch(n){return io(n,t)}}),lo={list:[],isLoading:!1,error:null,hasLoaded:!1,requestedComplaintTypeId:null,complaintSummary:null,isComplaintSummaryLoading:!1,complaintSummaryError:null,hasComplaintSummaryLoaded:!1,requestedComplaintSummaryTypeId:null},bf=e=>{const t=e?.data??e?.results??e?.items??e;return Array.isArray(t)?t:[]},Sf=e=>{const t=e?.data??e;return!t||typeof t!="object"||Array.isArray(t)?null:t},wf=e=>e.payload?.message??e.error?.message??"Failed to fetch statuses",vf=e=>e.payload?.message??e.error?.message??"Failed to fetch complaint summary",Pn=(e,t)=>e!=null&&t!=null&&String(e)!==String(t),co=te.createSlice({name:"status",initialState:lo,reducers:{resetStatusState:()=>lo},extraReducers:e=>{e.addCase(Dn.pending,(t,n)=>{t.isLoading=!0,t.error=null,t.hasLoaded=!1,t.list=[],t.requestedComplaintTypeId=n.meta.arg??null}).addCase(Dn.fulfilled,(t,n)=>{const r=n.meta.arg;if(Pn(t.requestedComplaintTypeId,r))return;const a=bf(n.payload);t.isLoading=!1,t.hasLoaded=!0,t.list=[...a].sort((s,o)=>(s.displayOrder??0)-(o.displayOrder??0))}).addCase(Dn.rejected,(t,n)=>{if(n.meta.aborted)return;const r=n.meta.arg;Pn(t.requestedComplaintTypeId,r)||(t.isLoading=!1,t.hasLoaded=!0,t.error=wf(n))}).addCase(xn.pending,(t,n)=>{t.isComplaintSummaryLoading=!0,t.complaintSummaryError=null,t.hasComplaintSummaryLoaded=!1,t.complaintSummary=null,t.requestedComplaintSummaryTypeId=n.meta.arg??null}).addCase(xn.fulfilled,(t,n)=>{const r=n.meta.arg;Pn(t.requestedComplaintSummaryTypeId,r)||(t.isComplaintSummaryLoading=!1,t.hasComplaintSummaryLoaded=!0,t.complaintSummary=Sf(n.payload))}).addCase(xn.rejected,(t,n)=>{if(n.meta.aborted)return;const r=n.meta.arg;Pn(t.requestedComplaintSummaryTypeId,r)||(t.isComplaintSummaryLoading=!1,t.hasComplaintSummaryLoaded=!0,t.complaintSummaryError=vf(n))})}}),{resetStatusState:uo}=co.actions,Cf=co.reducer,_f="/api/v1/complaints",Nf="/api/v1/complaint-types",fo=(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"})},Mn=te.createAsyncThunk("createComplaint/create",async(e,t)=>{try{return(await re.post(_f,e,{signal:t.signal})).data}catch(n){return fo(n,t)}}),Qt=te.createAsyncThunk("createComplaint/updateActive",async({id:e,isActive:t,onSuccess:n,onFail:r},a)=>{try{const s=await re.patch(`${Nf}/${e}`,{isActive:t},{signal:a.signal});return n&&typeof n=="function"&&n(s.data),s.data}catch(s){return r&&typeof r=="function"&&r(s),fo(s,a)}}),Ef={data:null,isLoading:!1,error:null,hasLoaded:!1,isActive:!0,activeComplaintTypeId:null,isUpdatingActive:!1,activeError:null},Tf=e=>e.payload?.message??e.error?.message??"Failed to create complaint",Af=e=>e.payload?.message??e.error?.message??"Failed to update complaint type",Lf=te.createSlice({name:"createComplaint",initialState:Ef,reducers:{},extraReducers:e=>{e.addCase(Mn.pending,t=>{t.isLoading=!0,t.error=null,t.hasLoaded=!1}).addCase(Mn.fulfilled,(t,n)=>{t.isLoading=!1,t.hasLoaded=!0,t.data=n.payload?.data??n.payload}).addCase(Mn.rejected,(t,n)=>{n.meta.aborted||(t.isLoading=!1,t.hasLoaded=!0,t.error=Tf(n))}).addCase(Qt.pending,t=>{t.isUpdatingActive=!0,t.activeError=null}).addCase(Qt.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(Qt.rejected,(t,n)=>{n.meta.aborted||(t.isUpdatingActive=!1,t.activeError=Af(n))})}}).reducer,po={data:null,isLoading:!1,error:null,hasLoaded:!1,updatingId:null},Ff=e=>e.payload?.message??e.error?.message??"Failed to update complaint status",ho=te.createSlice({name:"changeStatus",initialState:po,reducers:{resetChangeStatusState:()=>po},extraReducers:e=>{e.addCase(Xt.pending,(t,n)=>{t.isLoading=!0,t.error=null,t.hasLoaded=!1,t.updatingId=n.meta.arg?.id??null}).addCase(Xt.fulfilled,(t,n)=>{t.isLoading=!1,t.hasLoaded=!0,t.updatingId=null,t.data=n.payload?.data??n.payload}).addCase(Xt.rejected,(t,n)=>{n.meta.aborted||(t.isLoading=!1,t.hasLoaded=!0,t.updatingId=null,t.error=Ff(n))})}}),{resetChangeStatusState:Of}=ho.actions,kf=ho.reducer,If={BASE_URL:"/",DEV:!1,MODE:"production",PROD:!0,SSR:!1},Wr=(e,t)=>{try{return If?.[e]||t}catch{return t}},Df=Wr("VITE_S3_API_URL","https://api.airaops.com").replace(/\/$/,""),mo=Wr("VITE_S3_UPLOAD_ENDPOINT","/api/v1/files/upload"),xf=Wr("VITE_S3_SIGNED_URL_ENDPOINT","/api/v1/files/signed-url"),go=e=>/^https?:\/\//i.test(e)?e:`${Df}${e}`,Pf=e=>(String(e?.name||e?.fileName||"file").split(/[/\\]/).pop()||"file").replace(/[^\w.-]+/g,"_")||"file",yo=(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: ${mo}`:e?.response?.data?.error??e?.message??t)},wt=te.createAsyncThunk("s3/fileUpload",async({file:e,folder:t},{rejectWithValue:n})=>{try{const r={fileSize:e.size,subDirectory:t,fileName:Pf(e)},a=await re.post(go(mo),r),s=a.data.uploadSignedUrl;return(await fetch(s,{method:"PUT",headers:{"Content-Type":e.type||"application/octet-stream"},body:e})).ok?a.data:n("Error uploading file")}catch(r){return n(yo(r,"Error uploading file"))}}),Bn=te.createAsyncThunk("s3/getSignedUrl",async({params:e},{rejectWithValue:t})=>{try{const r=(await re.get(go(xf),{params:e})).data??{},a=r.data??r;return a.signedUrl||a.uploadSignedUrl||""}catch(n){return t(yo(n,"Error getting file signedUrl"))}}),Mf={isUploading:!1,uploadedFile:null,uploadedFiles:[],uploadError:null,isGettingSignedUrl:!1,signedUrl:"",signedUrlError:null},Bf=te.createSlice({name:"s3",initialState:Mf,reducers:{},extraReducers:e=>{e.addCase(wt.pending,t=>{t.isUploading=!0,t.uploadError=null}).addCase(wt.fulfilled,(t,n)=>{t.isUploading=!1,t.uploadedFile=n.payload,t.uploadedFiles.push(n.payload)}).addCase(wt.rejected,(t,n)=>{n.meta.aborted||(t.isUploading=!1,t.uploadError=n.payload||"Error uploading file")}).addCase(Bn.pending,t=>{t.isGettingSignedUrl=!0,t.signedUrl="",t.signedUrlError=null}).addCase(Bn.fulfilled,(t,n)=>{t.isGettingSignedUrl=!1,t.signedUrl=n.payload}).addCase(Bn.rejected,(t,n)=>{n.meta.aborted||(t.isGettingSignedUrl=!1,t.signedUrl="",t.signedUrlError=n.payload||"Error getting file signedUrl")})}}).reducer,$f=te.combineReducers({complaintAppComplaint:Ks,complaintType:Gu,appDetails:Xs,workflow:lf,roles:Qs.reducer,complaintManagement:mf,status:Cf,createComplaint:Lf,changeStatus:kf,s3:Bf}),bo=e=>te.configureStore({reducer:$f,preloadedState:e,middleware:t=>t({immutableCheck:!1,serializableCheck:!1})}),So=bo();function ge({children:e,variant:t="primary",size:n="md",startIcon:r,endIcon:a,className:s="",type:o="button",disabled:l=!1,onClick:c,...d}){const u=["ca-btn",`ca-btn--${t}`,n==="sm"?"ca-btn--sm":"",n==="lg"?"ca-btn--lg":"",s].filter(Boolean).join(" ");return i.jsxs("button",{type:o,className:u,disabled:l,onClick:c,...d,children:[r?i.jsx("span",{className:"ca-btn__icon",children:r}):null,e,a?i.jsx("span",{className:"ca-btn__icon",children:a}):null]})}function wo({size:e=16,color:t="currentColor",...n}){return i.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:i.jsx("path",{d:"M12 5v14M5 12h14",stroke:t,strokeWidth:"2",strokeLinecap:"round"})})}const vo={h1:"ca-h1",h2:"ca-h2",body:"ca-body",label:"ca-label",value:"ca-value",small:"ca-small",link:"ca-link"},Uf={h1:"h1",h2:"h2",body:"p",label:"span",value:"span",small:"span",link:"button"};function je({variant:e="body",as:t,className:n="",children:r,...a}){const s=t||Uf[e]||"p",o=vo[e]||vo.body;return i.jsx(s,{className:`${o} ${n}`.trim(),...a,children:r})}function Hr(e){return i.jsx(je,{variant:"h1",...e})}function zr(e){return i.jsx(je,{variant:"h2",...e})}function $n(e){return i.jsx(je,{variant:"body",...e})}function Co(e){return i.jsx(je,{variant:"label",...e})}function _o(e){return i.jsx(je,{variant:"value",...e})}function jf(e){return i.jsx(je,{variant:"link",type:"button",...e})}function No({title:e="Complaint Management",description:t,actionLabel:n="Create New Form",onAction:r,className:a=""}){return i.jsxs("header",{className:`ca-page-header ${a}`.trim(),children:[i.jsxs("div",{className:"ca-page-header__text",children:[i.jsx(Hr,{children:e}),t?i.jsx($n,{children:t}):null]}),i.jsx("div",{className:"ca-page-header__actions",children:i.jsx(ge,{startIcon:i.jsx(wo,{}),onClick:r,children:n})})]})}function Eo({status:e="inactive",label:t,className:n=""}){const a=String(e).toLowerCase()==="active",s=t??(a?"Active":"Inactive");return i.jsx("span",{className:`ca-badge rounded ca-badge--${a?"active":"inactive"} ${n}`.trim(),children:s})}const To=(...e)=>e.filter((t,n,r)=>!!t&&t.trim()!==""&&r.indexOf(t)===n).join(" ").trim();const Vf=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();const qf=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,n,r)=>r?r.toUpperCase():n.toLowerCase());const Ao=e=>{const t=qf(e);return t.charAt(0).toUpperCase()+t.slice(1)};var Kr={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 Wf=e=>{for(const t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1},Hf=C.createContext({}),zf=()=>C.useContext(Hf),Kf=C.forwardRef(({color:e,size:t,strokeWidth:n,absoluteStrokeWidth:r,className:a="",children:s,iconNode:o,...l},c)=>{const{size:d=24,strokeWidth:u=2,absoluteStrokeWidth:f=!1,color:p="currentColor",className:S=""}=zf()??{},w=r??f?Number(n??u)*24/Number(t??d):n??u;return C.createElement("svg",{ref:c,...Kr,width:t??d??Kr.width,height:t??d??Kr.height,stroke:e??p,strokeWidth:w,className:To("lucide",S,a),...!s&&!Wf(l)&&{"aria-hidden":"true"},...l},[...o.map(([v,y])=>C.createElement(v,y)),...Array.isArray(s)?s:[s]])});const he=(e,t)=>{const n=C.forwardRef(({className:r,...a},s)=>C.createElement(Kf,{ref:s,iconNode:t,className:To(`lucide-${Vf(Ao(e))}`,`lucide-${e}`,r),...a}));return n.displayName=Ao(e),n};const Jf=he("arrow-up-down",[["path",{d:"m21 16-4 4-4-4",key:"f6ql7i"}],["path",{d:"M17 20V4",key:"1ejh1v"}],["path",{d:"m3 8 4-4 4 4",key:"11wl7u"}],["path",{d:"M7 4v16",key:"1glfcx"}]]);const Lo=he("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 Fo=he("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);const Zf=he("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);const Gf=he("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);const Yf=he("chevrons-left",[["path",{d:"m11 17-5-5 5-5",key:"13zhaf"}],["path",{d:"m18 17-5-5 5-5",key:"h8a8et"}]]);const Xf=he("chevrons-right",[["path",{d:"m6 17 5-5-5-5",key:"xnjwq"}],["path",{d:"m13 17 5-5-5-5",key:"17xmmf"}]]);const Un=he("circle-dot",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}]]);const Qf=he("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 Rf=he("ellipsis-vertical",[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"12",cy:"5",r:"1",key:"gxeob9"}],["circle",{cx:"12",cy:"19",r:"1",key:"lyex9k"}]]);const ep=he("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 tp=he("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 Oo=he("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);const ko=he("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 np=he("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"}]]);function jn({checked:e=!1,onChange:t,disabled:n=!1,"aria-label":r="Toggle",className:a=""}){return i.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:i.jsx("span",{className:"ca-toggle__thumb"})})}function rp({options:e=[],className:t=""}){const[n,r]=C.useState(!1),a=C.useRef(null);C.useEffect(()=>{const o=l=>{a.current&&!a.current.contains(l.target)&&r(!1)};return document.addEventListener("mousedown",o),()=>{document.removeEventListener("mousedown",o)}},[]);const s=o=>{o.onClick?.(),o.keepOpen||r(!1)};return i.jsxs("div",{ref:a,className:`ca-more-functions ${t}`.trim(),children:[i.jsx("button",{type:"button",className:"ca-more-functions__button",onClick:()=>r(o=>!o),"aria-label":"More options","aria-expanded":n,children:i.jsx(Rf,{size:16})}),n&&e.length>0&&i.jsx("div",{className:"ca-more-functions__menu",children:e.map((o,l)=>o.toggle?i.jsxs("div",{className:"ca-more-functions__item ca-more-functions__item--toggle",onClick:c=>c.stopPropagation(),children:[i.jsx("span",{children:o.label}),i.jsx(jn,{checked:!!o.toggle.checked,disabled:!!o.toggle.disabled,"aria-label":o.label,onChange:c=>{o.toggle.onChange?.(c),o.keepOpen||r(!1)}})]},o.key||l):i.jsxs("button",{type:"button",className:`ca-more-functions__item ${o.danger?"ca-more-functions__item--danger":""}`,onClick:()=>s(o),children:[o.icon&&i.jsx("span",{className:"ca-more-functions__icon",children:o.icon}),i.jsx("span",{children:o.label})]},o.key||l))})]})}function Io({title:e,status:t,statusLabel:n,titleAsLink:r=!1,onTitleClick:a,menuOptions:s=[],className:o=""}){return i.jsxs("div",{className:`ca-system-card__header ${o}`.trim(),children:[i.jsx("div",{className:"ca-system-card__title-wrap",children:r?i.jsx("button",{type:"button",className:"ca-h2 ca-h2--link",onClick:a,children:e}):i.jsx(zr,{children:e})}),i.jsxs("div",{className:"ca-system-card__header-actions",children:[i.jsx(Eo,{status:t,label:n}),i.jsx(rp,{options:s})]})]})}function Jr({size:e=16,color:t="currentColor",...n}){return i.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:i.jsx("path",{d:"M9 6l6 6-6 6",stroke:t,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}const ap="aira-query-complaintTypeId";function Do({updatedOn:e,openLabel:t="Open",configureLabel:n="Configure",onOpen:r,className:a="",id:s,title:o}){const l=Ue(),c=H.useDispatch(),d=s?.data??s?.id??s?._id??s,u=()=>{const f=s?.data??s?.id??s?._id??s;if(f!=null&&f!==""){const p=String(f);try{sessionStorage.setItem(ap,p)}catch{}c(Xe(p)),c(oo()),c(uo()),l(`/complaintmanagement/${p}`);return}l("/complaintmanagement")};return i.jsxs("div",{className:`ca-system-card__footer ${a}`.trim(),children:[i.jsx(je,{variant:"small",as:"span",children:e?`Updated on ${e}`:""}),i.jsxs("div",{className:"ca-system-card__footer-actions",children:[i.jsx(ge,{size:"sm",onClick:u,children:t}),i.jsx(ge,{variant:"outline",size:"sm",onClick:()=>{if(d==null||d==="")return;const f=String(d);c(Gt({data:!0})),c(Xe(f)),l(`/settings/${f}?step=1`)},endIcon:i.jsx(Jr,{size:14,color:"currentColor"}),children:n})]})]})}function xo({label:e,value:t,icon:n,className:r=""}){const a=t==null?"—":typeof t=="number"?String(t).padStart(2,"0"):t;return i.jsxs("div",{className:`ca-data-point ${r}`.trim(),children:[n?i.jsx("span",{className:"ca-data-point__icon","aria-hidden":"true",children:n}):null,i.jsx(_o,{children:a}),i.jsx("span",{className:"ca-data-point__label",children:e})]})}function Po({className:e=""}){return i.jsx("div",{className:`ca-divider ${e}`.trim(),role:"separator","aria-orientation":"vertical"})}function Vn({size:e=16,color:t="#9CA3AF",...n}){return i.jsx("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",...n,children:i.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"})})}const sp="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",op="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",ip="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",lp="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";function Mo({id:e,title:t,item:n,status:r="inactive",statusLabel:a,description:s,descriptionHref:o,departments:l,workflows:c,fields:d,formsFilled:u,updatedOn:f,titleAsLink:p=!1,onTitleClick:S,onDescriptionClick:w,onConfigure:v,onOpen:y,onDelete:g,onToggleActive:h,isTogglingActive:b=!1,menuOptions:_=[],className:O=""}){const M=()=>{v?.({id:e,title:t,status:r,departments:l,workflows:c,fields:d,formsFilled:u,updatedOn:f})},U=()=>{if(w){w({id:e,title:t,descriptionHref:o});return}o&&typeof window<"u"&&window.open(o,"_blank","noopener,noreferrer")},$=[{label:"Total entries",value:n?.totalEntries,icon:i.jsx("img",{src:sp,alt:""})},{label:"Open entries",value:n?.openEntries,icon:i.jsx("img",{src:op,alt:""})},{label:"Closed entries",value:n?.closedEntries,icon:i.jsx("img",{src:ip,alt:""})},{label:"Escalated entries",value:n?.escalatedEntries,icon:i.jsx("img",{src:lp,alt:""})}],N=[...h?[{key:"active",label:n?.isActive?"Active":"Inactive",keepOpen:!0,toggle:{checked:!!n?.isActive,disabled:!!b,onChange:I=>h({id:e??n?.id??n?._id,isActive:I,item:n})}}]:[],...g?[{key:"delete",label:"Delete",icon:i.jsx(Vn,{size:16,color:"currentColor"}),danger:!0,onClick:()=>g({id:e??n?.id??n?._id,title:t})}]:[],..._];return i.jsxs("article",{className:`ca-system-card ${O}`.trim(),children:[i.jsx(Io,{title:n?.name,status:n?.isActive?"active":"inactive",statusLabel:a,titleAsLink:p,onTitleClick:()=>S?.({id:e,title:t}),menuOptions:N}),s?i.jsx("p",{className:"ca-system-card__description",onClick:U,children:s}):null,i.jsx("div",{className:"ca-system-card__stats",children:$.map((I,k)=>i.jsxs(C.Fragment,{children:[k>0?i.jsx(Po,{}):i.jsx("div",{className:"ca-system-card__stats-spacer"}),i.jsx(xo,{label:I.label,value:I.value,icon:I.icon})]},I.label))}),i.jsx(Do,{updatedOn:f,onOpen:()=>y?.({id:e,title:t}),id:e??n?.id??n?._id,title:t,onConfigure:M})]})}function Bo({systems:e=[],onConfigure:t,onOpen:n,onDelete:r,onToggleActive:a,togglingActiveId:s=null,onTitleClick:o,onDescriptionClick:l,emptyMessage:c="No systems found.",className:d=""}){return e.length?i.jsx("div",{className:`ca-system-grid ${d}`.trim(),children:e.map(u=>i.jsx(Mo,{item:u,...u,onConfigure:t,onOpen:n,onDelete:r,onToggleActive:a,isTogglingActive:String(s)===String(u.id??u._id),onTitleClick:o,onDescriptionClick:l},u.id??u.title))}):i.jsx("div",{className:`ca-system-grid ${d}`.trim(),children:i.jsx("div",{className:"ca-empty",children:i.jsx($n,{children:c})})})}function vt({value:e,onChange:t,placeholder:n,type:r="text",icon:a,className:s="",inputClassName:o="",...l}){return i.jsxs("div",{className:`ca-input-wrap ${s}`.trim(),children:[a?i.jsx("span",{className:"ca-input-wrap__icon",children:a}):null,i.jsx("input",{type:r,className:`ca-input ${a?"ca-input--with-icon":""} ${o}`.trim(),value:e,onChange:t,placeholder:n,...l})]})}function $o({size:e=18,color:t="currentColor",...n}){return i.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:[i.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"}),i.jsx("path",{d:"M16.5 16.5 21 21",stroke:t,strokeWidth:"1.75",strokeLinecap:"round"})]})}function Uo({value:e,onChange:t,onSearch:n,placeholder:r="Search",className:a=""}){const s=o=>{o.key==="Enter"&&n&&n(e)};return i.jsx("div",{className:`ca-search ${a}`.trim(),children:i.jsx(vt,{value:e,onChange:t,onKeyDown:s,placeholder:r,icon:i.jsx($o,{}),"aria-label":r})})}function Ct({text:e="Loading",fullScreen:t=!1}){return i.jsxs("div",{className:"ca-loading",style:t?{minHeight:"calc(100vh - 80px)"}:void 0,role:"status","aria-live":"polite",children:[i.jsx("span",{className:"ca-loading__spinner"}),i.jsxs("span",{children:[e,"…"]})]})}const cp=[{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"}],jo="Create, manage and track complaint forms, workflows and responses across departments.";function Vo({title:e="Complaint Management",description:t=jo,createLabel:n="Create New Form",onCreateForm:r,onConfigure:a,onOpen:s,onTitleClick:o,onDescriptionClick:l,onSearch:c}){const d=Ue(),u=H.useDispatch(),[f,p]=C.useState(""),[S,w]=C.useState(null),{complaintList:v=[],loading:y=!1,error:g=null}=H.useSelector($=>$.complaintType??{});C.useEffect(()=>{u(Gt({data:!1})),u(Kt())},[u]);const h=C.useMemo(()=>{const $=f.trim().toLowerCase();return $?v.filter(N=>[N.title,N.name,N.description,N.status].filter(Boolean).join(" ").toLowerCase().includes($)):v},[v,f]);C.useEffect(()=>{c&&c(f)},[f,c]);const b=$=>{p($.target.value)},_=$=>{a?.($),d(`/settings/${$.id??"new"}?step=1`)},O=()=>{u(Gt({data:!1})),r?.(),d("/settings/new?step=1")},M=({id:$})=>{$!=null&&u(On($))},U=({id:$,isActive:N})=>{$!=null&&(w($),u(Qt({id:$,isActive:N})).unwrap().then(()=>u(Zu({id:$,isActive:N}))).finally(()=>w(null)))};return i.jsxs("div",{className:"ca-complaint-management-page","data-testid":"complaint-management-page",children:[i.jsx(No,{title:e,description:t,actionLabel:n,onAction:O}),i.jsx("div",{className:"ca-search-container",children:i.jsx(Uo,{value:f,onChange:b,placeholder:"Search"})}),y?i.jsx(Ct,{text:"Loading systems"}):g?i.jsx("div",{className:"ca-empty",children:i.jsx("p",{className:"ca-body",children:typeof g=="string"?g:"Failed to load complaint types."})}):i.jsx(Bo,{systems:h,onConfigure:_,onOpen:s,onDelete:M,onToggleActive:U,togglingActiveId:S,onTitleClick:o,onDescriptionClick:l,emptyMessage:f?"No systems match your search.":"No systems found."})]})}const qo=C.createContext(null),Wo=()=>({categoryName:"",categoryType:"",tatMinutes:"",template:"",visibilityType:"",urlLink:"",active:!1,description:"",roles:[...new Set],departmentRows:[{id:"1",department:"",subDepartment:"",roles:""}],priorityDraft:"",priorities:[],defaultPriorityId:null,selectedDeptNode:null,workflow:{name:"",tatMinutes:"",description:"",status:[],steps:[],selectedTableCard:null},fieldDraft:{name:"",type:""},formFields:[],templateId:null,prefillWorkflowSteps:[],prefillFormFields:[]});function Ho({children:e,initialValues:t}){const[n,r]=C.useState(()=>({...Wo(),...t,workflow:{...Wo().workflow,...t?.workflow}})),a=C.useCallback(l=>{r(c=>({...c,...l}))},[]),s=C.useCallback(l=>{r(c=>({...c,workflow:{...c.workflow,...l}}))},[]),o=C.useMemo(()=>({state:n,setState:r,update:a,updateWorkflow:s}),[n,a,s]);return i.jsx(qo.Provider,{value:o,children:e})}function qn(){const e=C.useContext(qo);if(!e)throw new Error("useSettingsWizard must be used within SettingsWizardProvider");return e}const Fe=[{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",title:"Form Fields",description:"Design & Place Fields for your Form"},{id:4,key:"review",label:"Review & Publish",title:"Review & Publish",description:"Review your configuration and publish."}],dp=[{id:1,label:"Create Workflow"},{id:2,label:"Status"},{id:3,label:"Workflow Steps"}];function zo({size:e=28,color:t="currentColor",...n}){return i.jsxs("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",style:{color:"var(--ca-primary)"},...n,children:[i.jsx("path",{d:"M12 3 3 8l9 5 9-5-9-5Z",stroke:t,strokeWidth:"1.6",strokeLinejoin:"round"}),i.jsx("path",{d:"M3 12.5 12 17.5l9-5",stroke:t,strokeWidth:"1.6",strokeLinejoin:"round",strokeLinecap:"round"}),i.jsx("path",{d:"M3 16.5 12 21.5l9-5",stroke:t,strokeWidth:"1.6",strokeLinejoin:"round",strokeLinecap:"round"})]})}function Ko({title:e,description:t,nextLabel:n="Next",onNext:r,showNext:a=!0,nextDisabled:s=!1,nextVariant:o="primary",extra:l=null,className:c=""}){return i.jsxs("div",{className:`ca-settings-card__header ${c}`.trim(),children:[i.jsxs("div",{className:"ca-settings-card__heading",children:[i.jsx(zo,{}),i.jsxs("div",{children:[i.jsx(zr,{children:e}),t?i.jsx($n,{className:"ca-settings-card__desc",children:t}):null]})]}),l,a?i.jsx(ge,{variant:o,disabled:s,onClick:r,endIcon:i.jsx(Jr,{size:14,color:"currentColor"}),children:n}):null]})}function Rt({title:e,description:t,onNext:n,nextLabel:r,showNext:a=!0,nextDisabled:s,nextVariant:o,headerExtra:l,children:c,footer:d,className:u=""}){return i.jsxs("section",{className:`ca-settings-card ${u}`.trim(),children:[i.jsx(Ko,{title:e,description:t,onNext:n,nextLabel:r,showNext:a,nextDisabled:s,nextVariant:o,extra:l}),i.jsx("div",{className:"ca-settings-card__divider"}),i.jsx("div",{className:"ca-settings-card__body",children:c}),d?i.jsx("div",{className:"ca-settings-card__footer",children:d}):null]})}function Zr({children:e,hint:t,htmlFor:n,className:r=""}){return i.jsxs("div",{className:`ca-field-label ${r}`.trim(),children:[i.jsx("label",{className:"ca-label",htmlFor:n,children:e}),t!=null?i.jsx("span",{className:"ca-field-label__hint",children:t}):null]})}function Gr({size:e=16,color:t="currentColor",...n}){return i.jsx("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",...n,children:i.jsx("path",{d:"M6 9l6 6 6-6",stroke:t,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}function Yr(e){return typeof e=="string"?e:e.value}function Xr(e){return typeof e=="string"?e:e.label}function Oe({value:e,onChange:t,options:n=[],placeholder:r="Select",className:a="",disabled:s=!1,maxVisible:o,allowClear:l=!1,...c}){const[d,u]=C.useState(!1),f=C.useRef(null),p=e??"",S=n.find(y=>String(Yr(y))===String(p)),w=S?Xr(S):"";C.useEffect(()=>{if(!d)return;const y=g=>{f.current?.contains(g.target)||u(!1)};return document.addEventListener("mousedown",y),()=>document.removeEventListener("mousedown",y)},[d]);const v=y=>{t?.({target:{value:y}})};return o?i.jsxs("div",{className:`ca-select ca-select--menu ${a}`.trim(),ref:f,children:[i.jsx("button",{type:"button",id:c.id,className:`ca-select__control${w?"":" ca-select__control--placeholder"}`,disabled:s,"aria-haspopup":"listbox","aria-expanded":d,onClick:()=>u(y=>!y),children:w||r}),i.jsx("span",{className:"ca-select__chevron",children:i.jsx(Gr,{size:16})}),d?i.jsx("ul",{className:"ca-select__menu",role:"listbox",style:{"--ca-select-max-visible":o},children:n.map(y=>{const g=Yr(y),h=String(g)===String(p);return i.jsx("li",{role:"none",children:i.jsx("button",{type:"button",role:"option","aria-selected":h,className:`ca-select__option${h?" is-selected":""}`,onClick:()=>{v(g),u(!1)},children:Xr(y)})},g)})}):null]}):i.jsxs("div",{className:`ca-select ${a}`.trim(),children:[i.jsxs("select",{className:"ca-select__control",value:p,onChange:t,disabled:s,...c,children:[i.jsx("option",{value:"",disabled:!l,children:r}),n.map(y=>{const g=Yr(y);return i.jsx("option",{value:g,disabled:!!(y&&typeof y=="object"&&y.disabled),children:Xr(y)},g)})]}),i.jsx("span",{className:"ca-select__chevron",children:i.jsx(Gr,{size:16})})]})}function Jo({value:e,onChange:t,placeholder:n,maxLength:r,rows:a=4,className:s="",...o}){return i.jsx("textarea",{className:`ca-textarea ${s}`.trim(),value:e,onChange:t,placeholder:n,maxLength:r,rows:a,...o})}function Pe({label:e,hint:t,children:n,className:r="",htmlFor:a}){return i.jsxs("div",{className:`ca-form-field ${r}`.trim(),children:[e!=null?i.jsx(Zr,{htmlFor:a,hint:t,children:e}):null,n]})}function en({label:e,hint:t,helperText:n,...r}){return i.jsxs(Pe,{label:e,hint:t,htmlFor:r.id,children:[i.jsx(vt,{...r}),n?i.jsx("p",{className:"ca-form-field__helper",children:n}):null]})}function Qr({label:e,hint:t,...n}){return i.jsx(Pe,{label:e,hint:t,htmlFor:n.id,children:i.jsx(Oe,{...n})})}function up({label:e,hint:t,maxLength:n,value:r="",...a}){const s=t??(n!=null?`${String(r).length}/${n}`:void 0);return i.jsx(Pe,{label:e,hint:s,htmlFor:a.id,children:i.jsx(Jo,{value:r,maxLength:n,...a})})}function Zo({size:e=12,color:t="currentColor",...n}){return i.jsx("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",...n,children:i.jsx("path",{d:"M6 6l12 12M18 6L6 18",stroke:t,strokeWidth:"2",strokeLinecap:"round"})})}function Go({label:e,onRemove:t,className:n=""}){return i.jsxs("span",{className:`ca-tag ${n}`.trim(),children:[e,t?i.jsx("button",{type:"button",className:"ca-tag__remove",onClick:t,"aria-label":`Remove ${e}`,children:i.jsx(Zo,{size:10})}):null]})}function Rr({label:e="",options:t=[],value:n=[],onChange:r,placeholder:a="Select roles",className:s="",hasError:o=!1}){const[l,c]=C.useState(""),d=new Map(t.map(S=>{const w=typeof S=="string"?S:S.value,v=typeof S=="string"?S:S.label;return[String(w),v]})),u=t.filter(S=>{const w=typeof S=="string"?S:S.value;return!n.some(v=>String(v)===String(w))}),f=S=>{const w=S.target.value;w&&(r?.([...n,w]),c(""))},p=S=>{r?.(n.filter(w=>String(w)!==String(S)))};return i.jsxs("div",{className:`ca-role-select ${s}`.trim(),children:[i.jsx(Zr,{children:e}),i.jsx(Oe,{className:o?"ca-control--invalid":"",value:l,onChange:f,options:u,placeholder:a}),n.length>0?i.jsx("div",{className:"ca-tag-list",children:[...new Set(n)].map(S=>i.jsx(Go,{label:d.get(String(S))||String(S),onRemove:()=>p(S)},String(S)))}):null]})}function tn({steps:e=[],currentStep:t=1,onStepClick:n,className:r="",size:a="md",showSaveButton:s=!1,showNextButton:o=!1,onNext:l,nextLabel:c="Next >",extraActions:d=null}){const u=C.useRef({}),f=H.useDispatch();return C.useEffect(()=>{const p=u.current[t];if(!p)return;const S=requestAnimationFrame(()=>{let w=p.parentElement;for(;w&&w!==document.body;){const{overflowX:_}=getComputedStyle(w);if(w.scrollWidth>w.clientWidth+1&&(_==="auto"||_==="scroll"))break;w=w.parentElement}if(!w||w===document.body)return;const v=w.getBoundingClientRect(),y=p.getBoundingClientRect(),g=12;if(y.left>=v.left+g&&y.right<=v.right-g)return;const b=y.left-v.left-(v.width-y.width)/2;w.scrollTo({left:w.scrollLeft+b,behavior:"smooth"})});return()=>cancelAnimationFrame(S)},[t]),i.jsxs("div",{className:`ca-stepper-wrap ca-stepper-wrap--${a} ${r}`.trim(),children:[i.jsx("nav",{className:`ca-stepper ca-stepper--${a}`,"aria-label":"Progress",children:e.map((p,S)=>{const w=p.id??S+1,v=w===t,y=w<t,g=!!n&&(y||v);return i.jsxs("button",{type:"button",ref:h=>{u.current[w]=h},className:["ca-stepper__item",v?"ca-stepper__item--active":"",y?"ca-stepper__item--done":""].filter(Boolean).join(" "),style:{zIndex:e.length-S},onClick:()=>{f(Gt({data:!0})),g&&n?.(w)},disabled:!g,"aria-current":v?"step":void 0,children:[i.jsxs("span",{className:"ca-stepper__circle",children:[w,"."]}),i.jsx("span",{className:"ca-stepper__label",children:p.label})]},w)})}),s||o||d?i.jsxs("div",{className:"ca-stepper__actions",children:[d,o?i.jsx(ge,{onClick:l,children:c}):null]}):null]})}const fp={categoryName:"",tatMinutes:"",template:"",categoryType:"",description:"",visibilityType:"INTERNAL_LOGIN",urlLink:"",active:!0,roles:[]},pp=[{value:"INTERNAL_LOGIN",label:"Internal Login"},{value:"PRIVATE_LINK",label:"Private Link"},{value:"PUBLIC_LINK",label:"Public Link"}],hp={value:"",label:"Select Template"},ea=e=>String(e?.id??e?.code??e?.name??""),Yo=e=>({categoryName:e?.name??e?.code??"",tatMinutes:bt(e?.tatMinutes)||"",template:ea(e),categoryType:e?.categoryType??ea(e),description:e?.description??"",visibilityType:e?.visibilityType??e?.accessType??"INTERNAL_LOGIN",urlLink:e?.urlLink??"",active:e?.isActive??e?.active??!0,roles:e?.accesses?.map(t=>t?.role?.id)??e?.roleIds??[]});function mp(e){return[hp,...e]}function gp(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 Minutes must include a unit (m, h, or d). Example: 30m, 2h, 1d.":"Please enter TAT Minutes. Use 30m, 2h, or 1d.")}return e.visibilityType&&n.push("Please select a visibility type."),e.urlLink&&n.push("Please enter a URL link."),e.roles&&n.push("Please select roles for complaint filling."),n.join(" ")}function yp({stepMeta:e,stepperProps:t,roleList:n=[]}){const[r,a]=C.useState(fp),[s,o]=C.useState({}),l=H.useDispatch(),{update:c}=qn(),{id:d}=H.useSelector(N=>N.appDetails||{}),{isEdit:u}=H.useSelector(N=>N.appDetails||{}),f=H.useSelector(N=>N.complaintType||{}),{complaintList:p=[],saving:S,loading:w,error:v}=f,y=C.useRef(!1);C.useEffect(()=>{!p.length&&!w&&!y.current&&(y.current=!0,l(Kt()))},[p.length,l,w]),C.useEffect(()=>{!u||d===null||d===void 0||l(yt(d)).unwrap().then(N=>{const I=N?.data??N;I&&a(Yo(I))}).catch(N=>{console.log(" Fetch error:",N)})},[l,d,u]);const g=n.map(N=>({value:N.id,label:N.name??N.label})),h=p.map(N=>({value:ea(N),label:N?.name??N?.code??"",complaintType:N})).filter(N=>N.value&&N.label),b=async N=>{const I=N?.id??N?._id??null;if(a(k=>({...k,...Yo(N),categoryName:"",roles:[]})),c({templateId:I,tatMinutes:Ce(N?.tatMinutes)}),I==null||I===""){c({prefillWorkflowSteps:[],prefillFormFields:[]});return}try{const[k,K]=await Promise.all([l(Qe(I)).unwrap(),l(Le(I)).unwrap()]),Q=(Array.isArray(k?.data)?k.data:Array.isArray(k)?k:[]).map(P=>({...P,roleIds:[],role:[],roleId:null})),G=Array.isArray(K?.data)?K.data:Array.isArray(K)?K:[];c({templateId:I,tatMinutes:Ce(N?.tatMinutes),prefillWorkflowSteps:Q,prefillFormFields:G})}catch(k){console.log("Failed to load template details:",k),c({templateId:I,prefillWorkflowSteps:[],prefillFormFields:[]})}},_=()=>{a(N=>({...N,template:"",categoryType:"",tatMinutes:"",description:""})),c({templateId:null,prefillWorkflowSteps:[],prefillFormFields:[]})},O=N=>{const I=N.target.value;if(!I){_();return}const k=h.find(K=>K.value===I)?.complaintType;if(k){b(k);return}M("template",I),M("categoryType",I)},M=(N,I)=>{a(k=>({...k,[N]:I})),o(k=>{if(!k[N])return k;const K={...k};return delete K[N],K})},U=r.visibilityType==="PRIVATE_LINK"||r.visibilityType==="PUBLIC_LINK",$=async()=>{const N={};if(r.categoryName.trim()||(N.categoryName=!0),tf(r.tatMinutes)||(N.tatMinutes=!0),r.visibilityType||(N.visibilityType=!0),r.roles.length||(N.roles=!0),U&&!r.urlLink.trim()&&(N.urlLink=!0),Object.keys(N).length>0){o(N);return}o({});const I=Ce(r.tatMinutes);c({tatMinutes:I});const k={categoryName:r.categoryName,categoryType:r.categoryType||r.template,tatMinutes:I,description:r.description,visibilityType:r.visibilityType,urlLink:U?r.urlLink:"",active:r.active,roles:r.roles},K=u?Zt({id:d,data:{code:k.categoryName,name:k.categoryName,description:k.description,tatMinutes:k.tatMinutes,accessType:k.visibilityType,roleIds:k.roles.map(G=>parseInt(G,10))},onSuccess:G=>{console.log("updateComplaintType onSuccess:",G),t.onNext?.()},onFail:G=>{console.log("updateComplaintType onFail:",G)}}):Jt({payload:k,onSuccess:G=>{l(Xe(G?.data?.id??G?.id??null)),t.onNext?.()},onFail:G=>{console.log("createComplaintType onFail:",G)}}),Q=l(K);if(u&&Zt.fulfilled.match(Q)||!u&&Jt.fulfilled.match(Q)){if(!u){const G=Q.payload?.data?.id??Q.payload?.id;G!=null&&l(Xe(G))}t.onNext?.()}};return i.jsxs(i.Fragment,{children:[i.jsx(tn,{...t,steps:Fe,showNextButton:!!t.showNextButton,onNext:$}),v||Object.keys(s).length>0?i.jsx("div",{className:"ca-validation-toast",role:"alert",children:v||gp(s,r)}):null,i.jsxs(Rt,{className:"ca-settings-card--category-type",title:e.title,description:e.description,showNext:!1,headerExtra:i.jsx("div",{className:"ca-category-type__header-tools",children:i.jsx("div",{className:"ca-category-type__template",children:i.jsx(Qr,{label:"Select Template (Optional)",value:r.template||r.categoryType,onChange:O,options:mp(h),placeholder:"Select Template",maxVisible:5,disabled:u,className:u?"ca-select--disabled":""})})}),children:[i.jsxs("div",{className:"ca-step-section",children:[i.jsxs("div",{className:"ca-step-row ca-step-row--category-fields",children:[i.jsx(en,{label:"Category Name",className:"ca-step-row__grow",inputClassName:s.categoryName?"ca-control--invalid":"",value:r.categoryName,onChange:N=>M("categoryName",N.target.value),placeholder:"Enter category name"}),i.jsx(en,{label:"TAT Minutes",type:"text",className:"ca-step-row__grow",inputClassName:s.tatMinutes?"ca-control--invalid":"",value:r.tatMinutes,onChange:N=>M("tatMinutes",N.target.value),placeholder:"Enter here",helperText:"Eg: 30m, 2h, 1d, 16m7h3d"})]}),i.jsx("div",{className:"ca-step-row ca-step-row--category-fields",children:i.jsx(en,{label:"Description",className:"ca-step-row__grow",maxLength:500,value:r.description,onChange:N=>M("description",N.target.value),placeholder:"Enter description"})}),i.jsxs("div",{className:"ca-step-row",children:[i.jsx(Qr,{label:"Select Visibility Type",className:`ca-step-row__grow ${s.visibilityType?"ca-control--invalid":""}`,value:r.visibilityType,onChange:N=>M("visibilityType",N.target.value),options:pp,placeholder:"Select visibility type"}),U?i.jsx(en,{label:null,className:"ca-step-row__grow ca-category-type__url-link",inputClassName:s.urlLink?"ca-control--invalid":"",value:r.urlLink,onChange:N=>M("urlLink",N.target.value),placeholder:"urllink"}):null]})]}),i.jsx("div",{className:"ca-step-section ca-step-section--last",children:i.jsx(Rr,{label:"Select Roles for Complaint Filling",className:s.roles?"ca-control--invalid":"",options:g,value:r.roles,onChange:N=>M("roles",N)})}),w?i.jsx("div",{className:"ca-form-loading",children:"Loading category..."}):null,S?i.jsx("div",{className:"ca-form-loading",children:"Saving category..."}):null]})]})}function Xo({level:e,onAdd:t}){const n=`Level ${e}`,r=e===1?"Initial Handler":e===2?"Escalation if L1 TAT exceeded":"Escalation workflow";return i.jsxs("div",{className:"ca-add-table-card",children:[i.jsxs("header",{className:"ca-add-table-card__header",children:[i.jsxs("span",{className:"ca-add-table-card__level",children:["L",e]}),i.jsxs("div",{className:"ca-add-table-card__header-text",children:[i.jsx("h3",{className:"ca-add-table-card__title",children:n}),i.jsx("p",{className:"ca-add-table-card__subtitle",children:r})]})]}),i.jsx("div",{className:"ca-add-table-card__action",children:i.jsxs(ge,{type:"button",className:"ca-add-table-card__button",onClick:()=>t?.(n),children:["+ Add L",e]})})]})}const ta=["Yes","No"];function Qo({name:e,level:t,value:n,initialFormValues:r,setFormValues:a,onChange:s,selected:o=!1,onSelect:l,onDelete:c,subtitle:d,roleList:u=[],showRoleError:f=!1}){const p=n??r??{},S=Array.isArray(p.role)?p.role:[],w=u.map(b=>({value:b.id??b.roleId??b.value,label:b.name??b.label})),v=(b,_)=>{const O={...p,[b]:_};a?a(O):s?.(O)},y=t===1?"green":t===2?"orange":"blue",g=b=>`workflow-level-${t}-${b}`,h=d||(t===1?"Initial Handler":t===2?"Escalation if L1 TAT exceeded":"Escalation workflow");return i.jsxs("article",{className:`ca-table-card ca-table-card--${y}${o?" ca-table-card--selected":""}`,onClick:l,children:[i.jsxs("header",{className:"ca-table-card__header",children:[i.jsxs("span",{className:"ca-table-card__level",children:["L",t]}),i.jsxs("div",{className:"ca-table-card__header-text",children:[i.jsx("h3",{className:"ca-table-card__title",children:e}),i.jsx("p",{className:"ca-table-card__subtitle",children:h})]}),i.jsx("button",{type:"button",className:"ca-table-card__delete","aria-label":`Delete ${e}`,title:`Delete ${e}`,onClick:b=>{b.stopPropagation(),c?.()},children:i.jsx(Vn,{size:16})})]}),i.jsx("div",{className:"ca-table-card__divider"}),i.jsxs("div",{className:"ca-table-card__fields",children:[i.jsx(Pe,{label:"Select Roles *",htmlFor:g("roleIds"),children:i.jsx(Rr,{id:g("role"),value:S,options:w,placeholder:"Select role",hasError:f&&S.length===0,onChange:b=>v("role",b)})}),i.jsx("div",{className:"ca-table-card__divider"}),i.jsx(Pe,{label:"Can Resolve",htmlFor:g("canResolve"),children:i.jsx(Oe,{id:g("canResolve"),value:p.canResolve,options:ta,onChange:b=>v("canResolve",b.target.value)})}),i.jsx(Pe,{label:"Can Reassign",htmlFor:g("canReassign"),children:i.jsx(Oe,{id:g("canReassign"),value:p.canReassign,options:ta,onChange:b=>v("canReassign",b.target.value)})}),i.jsx(Pe,{label:"Final Level",htmlFor:g("finalLevel"),children:i.jsx(Oe,{id:g("finalLevel"),value:p.finalLevel,options:ta,onChange:b=>v("finalLevel",b.target.value)})}),i.jsx(Pe,{label:"Escalation time",htmlFor:g("escalationTime"),children:i.jsx("div",{className:"ca-table-card__time-input",children:i.jsx(vt,{id:g("escalationTime"),type:"text",value:p.escalateAfterMinutes??"",placeholder:"--",onChange:b=>v("escalateAfterMinutes",b.target.value)})})})]})]})}const bp="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",Sp="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",wp="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",vp="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",na=(e,t,n={})=>({id:e,name:t,role:Array.isArray(n.role)?n.role:n.roleId!==void 0&&n.roleId!==null?[n.roleId]:[],canResolve:n.canResolve??"",canReassign:n.canReassign??"",finalLevel:n.finalLevel??"",escalateAfterMinutes:bt(n.escalateAfterMinutes)||""});function ra(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 Cp(e,t){const n=[e.role,e.roleIds,e.roles].filter(Array.isArray),a=(n.find(s=>s.length)??n[0]??[]).map(s=>s&&typeof s=="object"?s.id??s.roleId:s).filter(s=>s!=null);return na(e.levelNo??t+1,e.name??`Level ${e.levelNo??t+1}`,{role:a,canResolve:ra(e.canResolve),canReassign:ra(e.canReassign),finalLevel:ra(e.isFinalLevel??e.finalLevel),escalateAfterMinutes:bt(e.escalateAfterMinutes)||""})}function Ro(e=[]){return(Array.isArray(e)?e:[]).map(Cp)}function ei(e=[]){return e.flatMap(t=>Array.isArray(t?.roles)?t.roles:Array.isArray(t?.role)?t.role.filter(n=>n&&typeof n=="object"):[])}const aa=[na(1,"Level 1")];function _p({accent:e}){return i.jsxs("div",{className:`ca-escalation-connector ca-escalation-connector--desktop ca-escalation-connector--${e}`,"aria-hidden":"true",children:[i.jsx("img",{src:bp,alt:"",className:"ca-escalation-connector__arrow ca-escalation-connector__arrow--first"}),i.jsx("span",{children:"Escalates to"}),i.jsx("img",{src:Sp,alt:"",className:"ca-escalation-connector__arrow ca-escalation-connector__arrow--second"})]})}function Np({accent:e}){return i.jsxs("div",{className:`ca-escalation-connector ca-escalation-connector--mobile ca-escalation-connector--${e}`,"aria-hidden":"true",children:[i.jsx("img",{src:wp,alt:"",className:"ca-escalation-connector__arrow ca-escalation-connector__arrow--first"}),i.jsx("span",{children:"Escalates to"}),i.jsx("img",{src:vp,alt:"",className:"ca-escalation-connector__arrow ca-escalation-connector__arrow--second"})]})}function ti({id:e,selectedTableId:t,onSelect:n,setUpdatePayload:r,roleList:a=[],prefillSteps:s=[],tatTotalMinutes:o=0,showRoleError:l=!1}){const c=e!=null,[d,u]=C.useState(aa),[f,p]=C.useState(aa),[S,w]=C.useState([]),[v,y]=C.useState(c),[g,h]=C.useState(null),[b,_]=C.useState(o),O=C.useRef(null),M=C.useRef(o),U=H.useDispatch(),$=C.useMemo(()=>{const L=Ro(s);return L.length?L:aa},[s]),N=[...a,...S,...ei(s)];if(!c&&g!==$){const L=St($,o);h($),p(L),u(L)}if(!v&&b!==o){_(o);const L=St(f,o);L!==f&&p(L)}C.useEffect(()=>{M.current=o},[o]),C.useEffect(()=>{if(!c){const B=St($,M.current);r({id:e,tables:B});return}let L=!1;return(async()=>{y(!0);try{const B=await U(Qe(e)).unwrap(),V=Array.isArray(B?.data)?B.data:Array.isArray(B)?B:[];w(ei(V));const X=Ro(V),T=St(X.length?X:$,M.current);L||(u(T),p(T),r({id:e,tables:T}))}catch(B){if(!L){const V=St($,M.current);u(V),p(V),r({id:e,tables:V}),console.error("Failed to load workflow steps:",B)}}finally{L||y(!1)}})(),()=>{L=!0}},[U,$,c,e,r]),C.useEffect(()=>{v||r?.({id:e,tables:f})},[e,v,r,f]);const I=(L,{preserveLastLevel:j}={})=>{const B=j?L:St(L,o),V={id:e,tables:B};p(B),console.log("[TableCardGrid] updated form values:",B),console.log("[TableCardGrid] PUT payload:",V),r?.(V)},k=L=>{const j=f[f.length-1];return j!=null&&j.id===L},K=(L,j)=>{I(f.map(B=>B.id===L?{...B,...j}:B),{preserveLastLevel:k(L)})},Q=(L,j)=>{console.log(d,f,L,j),I(f.map(B=>B.id!==L?B:typeof j=="function"?j(B):j),{preserveLastLevel:k(L)})},G=L=>{const j=f.reduce((X,T)=>Math.max(X,Number(T.id)||0),0)+1,B=f.length+1,V=af(f);I([...V,na(j,L||`Level ${B}`)]),requestAnimationFrame(()=>{requestAnimationFrame(()=>{const X=O.current;X&&X.scrollTo({left:X.scrollWidth,behavior:"smooth"})})})},P=L=>{I(f.filter(j=>j.id!==L))};return v&&!f.length?null:i.jsx("div",{className:"ca-table-card-grid","aria-label":"Escalation levels",ref:O,children:i.jsxs("div",{className:"ca-table-card-grid__track",children:[f.map((L,j)=>i.jsxs(C.Fragment,{children:[i.jsx(Qo,{name:L.name,roleList:N,showRoleError:l,level:j+1,value:L,initialFormValues:L,setFormValues:B=>Q(L.id,B),selected:L.id===t,onSelect:()=>n?.(L),onDelete:()=>P(L.id),onChange:B=>K(L.id,B)}),j<f.length-0?i.jsxs(i.Fragment,{children:[i.jsx(_p,{accent:j===0?"green":j===1?"orange":"purple"}),i.jsx(Np,{accent:j===0?"green":j===1?"orange":"purple"})]}):null]},L.id)),i.jsx(Xo,{level:f.length+1,onAdd:G})]})})}function Ep({totalMinutes:e=0,usedMinutes:t=0}){const n=Ce(e),r=Ce(t),a=Math.max(0,n-r),s=bt(a)||"0m",o=n>0?Math.min(100,r/n*100):0;return i.jsxs("div",{className:"ca-tat-progress","aria-label":`TAT minutes, ${s} left`,children:[i.jsxs("div",{className:"ca-tat-progress__row",children:[i.jsx("span",{className:"ca-tat-progress__label",children:"TAT minutes"}),i.jsxs("span",{className:"ca-tat-progress__remaining",children:[s," left"]})]}),i.jsx("div",{className:"ca-tat-progress__track",children:i.jsx("div",{className:"ca-tat-progress__fill",style:{width:`${o}%`}})})]})}function ni(e){return e?.data??e?.id??e}function Tp({onNext:e,stepMeta:t,stepperProps:n,selectedTableCard:r,roleList:a=[]}){const{state:s,updateWorkflow:o}=qn(),{workflow:l}=s,[c,d]=C.useState(null),[u,f]=C.useState(""),p=C.useCallback(U=>{d(U)},[]),S=H.useDispatch();let{id:w}=H.useSelector(U=>U.appDetails||{});const v=H.useSelector(U=>U.complaintType?.selected),y=ni(w),g=ni(v?.id??v?._id),h=Ce(v?.tatMinutes??s.tatMinutes);C.useEffect(()=>{y==null||y===""||g!=null&&String(g)===String(y)&&v?.tatMinutes!=null||S(yt(y))},[S,v?.tatMinutes,g,y]);const b=C.useMemo(()=>{const U=Array.isArray(c?.tables)?c.tables:[];return rf(U)},[c]),_=r??l.selectedTableCard??null,O=Array.isArray(c?.tables)&&c.tables.length?c.tables.map((U,$)=>`L${$+1}`).join(" > "):"",M=async()=>{if(f(""),!c){f("Workflow steps are not ready to save.");return}S(In({id:c.id,tables:c,onSuccess:U=>{console.log("updateWorkflowSteps onSuccess:",U),f(""),n.onNext?.()},onFail:U=>{const $=U?.response?.data??U?.payload??U,N=Array.isArray($?.errors)?$.errors.map(k=>k?.message).filter(Boolean):[],I=(N.length?N.join(" "):null)??$?.message??$?.error??U?.message??"Failed to update workflow steps";f(nf(I))}}))};return i.jsxs(i.Fragment,{children:[i.jsx(tn,{...n,steps:Fe,onNext:M,showNextButton:!0}),u?i.jsx("div",{className:"ca-validation-toast",role:"alert",children:u}):null,i.jsx(Rt,{title:t.title,description:O,showNext:!1,headerExtra:i.jsx(Ep,{totalMinutes:h,usedMinutes:b}),children:i.jsx("div",{className:"ca-workflow__main",children:i.jsx(ti,{id:w,selectedTableId:_?.id,onSelect:U=>o({selectedTableCard:U}),setUpdatePayload:p,roleList:a,showRoleError:/roleIds|role\s*must contain|roles?\s*must contain/i.test(u),prefillSteps:s.prefillWorkflowSteps,tatTotalMinutes:h})})})]})}function ri({onAdd:e,disabled:t=!1}){return i.jsx("button",{type:"button",className:"ca-add-form-button",onClick:e,disabled:t,children:"+ Add Form Fields"})}const ai=C.createContext(null);function sa(e){return typeof e?.level4=="string"&&e.level4.trim()?e.level4.trim():"Store"}function si(e,t){const n=sa(t);return String(e??"").replace(/\bstores?\b/gi,()=>n)}function Re(){const e=C.useContext(ai);return{storeName:sa(e),label:t=>si(t,e),fieldLabel:t=>{const n=String(t.fieldKey??t.key??"").toLowerCase();return n==="storeid"||n==="storeidcustom"?`${sa(e)} ID`:si(t.fieldLabel??t.label??t.fieldName??"",e)}}}function oi({size:e=16,color:t="#9CA3AF",...n}){return i.jsxs("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...n,children:[i.jsx("circle",{cx:"5",cy:"4",r:"1.2",fill:t}),i.jsx("circle",{cx:"11",cy:"4",r:"1.2",fill:t}),i.jsx("circle",{cx:"5",cy:"8",r:"1.2",fill:t}),i.jsx("circle",{cx:"11",cy:"8",r:"1.2",fill:t}),i.jsx("circle",{cx:"5",cy:"12",r:"1.2",fill:t}),i.jsx("circle",{cx:"11",cy:"12",r:"1.2",fill:t})]})}const Ap=["Text","Select","Dropdown","Radio","Number","Email","Date","Text Area","Checkbox","File","Images","Time"],ii=new Set(["Select","Dropdown","Radio","Checkbox"]),Lp=["Both","User","Admin"],Fp={Open:"#FF0000","Under Verification":"#FF6F00",Resolved:"#00D82F",Closed:"#006FFF"},li=["Open","Under Verification","Resolved","Closed"],ke={id:"default-status",fieldKey:"status",fieldLabel:"Status",originalFieldName:"Status",fieldType:"Custom",required:!0,fieldAccess:"",hideFor:[],dependsOn:"",options:[...li],optionColors:{...Fp},parentMappings:{},lockMode:"options",isNew:!1},Wn={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},nn={id:"custom-store-id",fieldKey:"storeIdCustom",fieldLabel:"Store ID",originalFieldName:"Store ID",fieldType:"Custom",required:!1,fieldAccess:"",hideFor:[],dependsOn:"",options:[],optionColors:{},parentMappings:{},lockMode:"all",isNew:!1},Op=[{...ke,label:ke.fieldLabel},{...nn,label:nn.fieldLabel}];function ci(e){return String(e||"").trim().toLowerCase()}function Z(e){const t=ci(e?.fieldKey),n=ci(e?.fieldLabel||e?.label);return t==="status"||t==="statuses"||t==="statuscustom"||n==="status"||n==="statuses"}function rn(e){return Z(e)&&(e?.lockMode==="options"||e?.lockMode==="all")}function kp(e,t=[]){if(!Z(e))return!1;const n=t.length?t:[e],r=n.filter(o=>!o?.isNew&&Z(o)),a=n.filter(rn),s=r[0]||a[0]||n.find(o=>Z(o)&&!o?.isNew);return s?String(s.id)===String(e.id):!e?.isNew}function Hn(e){const t=String(e?.fieldKey||"").toLowerCase(),n=String(e?.fieldLabel||e?.label||"").trim().toLowerCase();return t==="priorities"||n==="priorities"}function Ve(e){const t=String(e?.fieldKey||"").toLowerCase(),n=String(e?.fieldLabel||e?.label||"").trim().toLowerCase();return t==="storeid"||t==="storeidcustom"||n==="store id"}function et(e){const t=String(e||"").trim().toLowerCase();return t==="open"||t==="closed"}function Ip(e){return String(e||"").trim().toLowerCase()==="open"}function an(e=[]){const t=(e||[]).filter(a=>a!=null&&String(a).trim()!==""),n=new Set,r=[];return li.forEach(a=>{const s=t.find(o=>String(o).trim().toLowerCase()===a.toLowerCase());s==null||n.has(s)||(r.push(s),n.add(s))}),t.forEach(a=>{n.has(a)||(r.push(a),n.add(a))}),r}function di(e){return ii.has(e?.fieldType)||rn(e)}function oa(e){return!e||Z(e)||Ve(e)||!ii.has(e.fieldType)?!1:!(e.options||[]).some(t=>String(t||"").trim())}function _t(e=[]){return e.some(oa)}function ui(e=[]){const t=[],n=new Set;return e.forEach(r=>{if(!oa(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 Dp(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(),s=String(t?.fieldType||"").trim().toLowerCase();return!!(n&&r&&a&&s&&n===r&&a===s)}function zn(e,t=[]){return e?t.some(n=>String(n.id)===String(e.id)?!1:Dp(e,n)):!1}function Kn(e=[]){return e.some(t=>zn(t,e))}function ia(e,t={},n=""){const r=String(n||"");if(Z({fieldKey:r})||Ve({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 xp(e){return Hn(e)?"Priorities":"Option"}function Pp(e,t=!1){return e?t?"Define options and set parent.":Z(e)?"Manage the status":"Manage your fields.":""}function Jn(e,t=[]){if(String(e?.fieldType||"")==="MultiSelect")return Jn({...e,fieldType:"Checkbox"},t);if(Z(e)){if(e?.isNew||!kp(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{...ke,...e,fieldKey:ke.fieldKey,fieldLabel:r?ke.fieldLabel:n,originalFieldName:r?ke.originalFieldName:e.originalFieldName??n,fieldType:ke.fieldType,required:!0,options:an(e.options?.length?e.options:ke.options),optionColors:{...ke.optionColors,...e.optionColors},lockMode:"options"}}return Hn(e)?{...Wn,...e,fieldKey:e.fieldKey||Wn.fieldKey,fieldType:Wn.fieldType,options:e.options?.length?e.options:Wn.options,lockMode:"options"}:Ve(e)?{...nn,...e,fieldKey:nn.fieldKey,fieldType:nn.fieldType,lockMode:"all"}:e}function Nt(e=[]){const t=e.map(r=>Jn(r,e));if(t.some(Z))return t;const n={...ke};return[Jn(n,[n,...t]),...t]}function la(e,t){return!t||e.includes(t)?e:[t,...e]}function fi(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})}const Mp="#9CA3AF";function pi({field:e,fieldOptions:t=[],fieldTypeOptions:n=[],fieldAccessOptions:r=[],hideForOptions:a=[],isSaving:s=!1,selected:o=!1,isDragging:l=!1,onSelect:c,onDragStartField:d,onDragEndField:u,onReorder:f,onChange:p,onDelete:S,onSave:w,cardRef:v,onOptionNotice:y,hasDuplicateIdentity:g=!1,hasMissingOptions:h=!1}){const[b,_]=C.useState(""),{label:O,fieldLabel:M}=Re(),U=fi(e),[$,N]=C.useState(()=>({id:e.id,signature:e.isNew?null:U}));$.id!==e.id&&N({id:e.id,signature:e.isNew?null:U});const I=e.lockMode==="all",k=I||e.lockMode==="options",K=di(e),Q=I||!K,G=!!(String(e.fieldLabel||"").trim()&&String(e.fieldType||"").trim()),P=$.signature!==U,L=!!s||!G,j=g||h?"ca-control--invalid":"",B=T=>p?.({...e,...T}),V=()=>{if(Q)return;const T=b.trim();if(!T)return;if(Z(e)&&et(T)){const z=(e.options||[]).find(R=>String(R).trim().toLowerCase()===T.toLowerCase());if(z){y?.(`${z} already exists in options`),_("");return}}if(e.options?.includes(T))return;const x=Z(e)?{...e.optionColors||{},[T]:e.optionColors?.[T]||Mp}:e.optionColors;B({options:Z(e)?an([...e.options||[],T]):[...e.options||[],T],...Z(e)?{optionColors:x}:{}}),_("")},X=T=>{if(Q||Z(e)&&et(T))return;const x={...e.optionColors||{}};delete x[T];const z={...e.parentMappings||{}};delete z[T],B({options:e.options.filter(R=>R!==T),parentMappings:z,...Z(e)?{optionColors:x}:{}})};return i.jsxs("article",{ref:v,className:`ca-form-card${o?" ca-form-card--selected":""}${l?" ca-form-card--dragging":""}`,onClick:()=>c?.(e),onDragOver:T=>{T.preventDefault(),T.dataTransfer.dropEffect="move"},onDrop:T=>{T.preventDefault();const x=T.dataTransfer.getData("text/plain");f?.(x,e.id),u?.()},children:[i.jsxs("div",{className:"ca-form-card__row ca-form-card__row--order",children:[i.jsx("span",{className:"ca-form-card__drag",draggable:!0,"aria-label":"Reorder field",onClick:T=>T.stopPropagation(),onDragStart:T=>{T.dataTransfer.setData("text/plain",String(e.id)),T.dataTransfer.effectAllowed="move",d?.()},onDragEnd:()=>u?.(),children:i.jsx(oi,{size:15,color:"currentColor"})}),i.jsxs("div",{className:"ca-form-card__actions",children:[i.jsx("button",{type:"button",className:"ca-form-card__save","aria-label":"Save form field",disabled:L||I||!P,onClick:async T=>{if(T.stopPropagation(),L||I||!P)return;const x=await w?.(e);x&&N({id:e.id,signature:fi(x)})},children:"Save"}),rn(e)?null:i.jsx("button",{type:"button",className:"ca-icon-btn ca-form-card__delete","aria-label":"Delete form field",onClick:T=>{T.stopPropagation(),S?.(e.id)},children:i.jsx(Vn,{size:15,color:"currentColor"})})]})]}),i.jsx("div",{className:"ca-form-card__row",children:k?i.jsx("span",{className:"ca-form-card__static",children:M(e)||"—"}):i.jsx(vt,{value:I?M(e):e.fieldLabel,placeholder:"Enter field label",disabled:k,className:j,onChange:T=>B({fieldLabel:T.target.value})})}),i.jsx("div",{className:"ca-form-card__row",children:k?i.jsx("span",{className:"ca-form-card__static",children:e.fieldType||"—"}):i.jsx(Oe,{value:e.fieldType,options:la(n,e.fieldType),placeholder:"Select type",maxVisible:5,disabled:k,className:j,onChange:T=>{const x=T.target.value;if(di({...e,fieldType:x})){B({fieldType:x,dependsOn:"",parentMappings:{}});return}B({fieldType:x,dependsOn:"",options:[],parentMappings:{},optionColors:{}})}})}),i.jsx("div",{className:"ca-form-card__row ca-form-card__row--toggle",children:i.jsx(jn,{checked:!!e.required,disabled:k,onChange:T=>B({required:T}),"aria-label":"Required"})}),i.jsx("div",{className:"ca-form-card__row",children:i.jsx(Oe,{value:e.fieldAccess,options:la(r,e.fieldAccess),placeholder:"Select access",disabled:k,allowClear:!0,onChange:T=>B({fieldAccess:T.target.value})})}),i.jsxs("div",{className:"ca-form-card__row",children:[i.jsx(Oe,{value:"",options:a.filter(T=>!e.hideFor?.includes(T)),placeholder:"Select level",disabled:k,onChange:T=>B({hideFor:[...e.hideFor||[],T.target.value]})}),e.hideFor?.length?i.jsx("div",{className:"ca-form-card__chips",children:e.hideFor.map(T=>i.jsxs("span",{className:"ca-form-card__chip",children:[T,i.jsx("button",{type:"button","aria-label":`Remove ${T}`,disabled:k,onClick:()=>B({hideFor:e.hideFor.filter(x=>x!==T)}),children:"×"})]},T))}):null]}),i.jsx("div",{className:"ca-form-card__row",children:i.jsx(Oe,{value:e.dependsOn,options:la(t,e.dependsOn).map(T=>({value:T,label:O(T)})),placeholder:"Select field label",disabled:k||!K,allowClear:!0,onChange:T=>{const x=T.target.value;if(!x){B({dependsOn:"",parentMappings:{}});return}B({dependsOn:x})}})}),i.jsxs("div",{className:"ca-form-card__row ca-form-card__row--options",children:[i.jsxs("div",{className:"ca-form-card__option-entry",children:[i.jsx(vt,{value:b,placeholder:"Enter option",disabled:Q,className:h?"ca-control--invalid":"",onChange:T=>_(T.target.value),onKeyDown:T=>{T.key==="Enter"&&(T.preventDefault(),V())}}),i.jsx("button",{type:"button",className:"ca-form-card__add-option","aria-label":"Add option",disabled:Q,onClick:V,children:"+"})]}),i.jsx("div",{className:"ca-form-card__chips",children:(K?Z(e)?an(e.options||[]):e.options||[]:[]).map(T=>{const x=Z(e)&&et(T);return i.jsxs("span",{className:`ca-form-card__chip${x?" ca-form-card__chip--locked":""}`,children:[T,x?null:i.jsx("button",{type:"button","aria-label":`Remove ${T}`,disabled:Q,onClick:()=>X(T),children:"×"})]},T)})})]})]})}function ca({option:e,onDelete:t,locked:n=!1}){return i.jsx("td",{children:n?null:i.jsx("button",{className:"field-options-panel__delete",type:"button","aria-label":`Delete ${e}`,title:`Delete ${e}`,onClick:()=>t(e),children:i.jsx(np,{size:14,strokeWidth:1.5,color:"currentColor","aria-hidden":"true"})})})}function Bp(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 $p({formFields:e=[],selectedField:t=null,onChange:n}){const r=t,a=Z(r)?r:null,s=C.useMemo(()=>{const h=String(r?.dependsOn||"").trim();if(!h)return null;const b=e.filter(_=>String(_.fieldLabel||"").trim()===h);return b.find(_=>(_.options||[]).some(O=>String(O||"").trim()))||b[0]||null},[r?.dependsOn,e]),o=s?.options||[],l=!!r?.dependsOn,[c,d]=C.useState(!1),u=(h,b)=>{if(!a)return;const _=/^#[0-9A-Fa-f]{6}$/.test(b)?b.toUpperCase():b;n?.(e.map(O=>O.id===a.id?{...O,optionColors:{...O.optionColors,[h]:_}}:O))},f=(h,b)=>{r&&n?.(e.map(_=>_.id===r.id?{..._,parentMappings:{..._.parentMappings||{},[h]:b}}:_))},p=h=>{if(!r||Z(r)&&et(h))return;const b={...r.optionColors||{}};delete b[h];const _={...r.parentMappings||{}};delete _[h],n?.(e.map(O=>O.id===r.id?{...O,options:(O.options||[]).filter(M=>M!==h),parentMappings:_,...Z(O)?{optionColors:b}:{}}:O))},S=r?.fieldLabel||"Select field",w=Pp(r,l),v=Z(r)?an(r?.options||[]):r?.options||[],y=(h,b)=>i.jsx("div",{className:"field-options-panel__table-wrap",children:i.jsxs("table",{className:"field-options-panel__table",children:[i.jsx("thead",{children:i.jsxs("tr",{children:[h.map(_=>i.jsx("th",{scope:"col",children:_},_)),i.jsx("th",{scope:"col","aria-label":"Delete"})]})}),i.jsx("tbody",{children:b})]})});let g=i.jsx("p",{className:"field-options-panel__empty",children:r?"No options added.":"Select a field to edit."});return l?g=v.length?y(["Option label",s?.fieldLabel||"Parent"],v.map(h=>i.jsxs("tr",{children:[i.jsx("td",{children:h}),i.jsx("td",{children:i.jsxs("select",{"aria-label":`Parent for ${h}`,value:r.parentMappings?.[h]||"",disabled:!o.length,onChange:b=>f(h,b.target.value),children:[i.jsx("option",{value:"",children:o.length?"Select parent":`No ${String(r.dependsOn||"parent").toLowerCase()} options`}),o.map(b=>i.jsx("option",{value:b,children:b},b))]})}),i.jsx(ca,{option:h,onDelete:p,locked:Z(r)&&et(h)})]},h))):i.jsx("p",{className:"field-options-panel__empty",children:"No options added."}):a?g=v.length?y([Z(a)?"Status":"Option","Colors"],v.map(h=>{const b=Bp(a.optionColors?.[h]);return i.jsxs("tr",{children:[i.jsx("td",{children:h}),i.jsx("td",{children:i.jsxs("div",{className:"field-options-panel__color",children:[i.jsx("input",{className:"field-options-panel__hex","aria-label":`Color for ${h}`,value:a.optionColors?.[h]||b,onChange:_=>u(h,_.target.value)}),i.jsx("label",{className:"field-options-panel__swatch",style:{background:b},title:b,children:i.jsx("input",{type:"color","aria-label":`Pick color for ${h}`,value:b,onChange:_=>u(h,_.target.value)})})]})}),i.jsx(ca,{option:h,onDelete:p,locked:Z(a)&&et(h)})]},h)})):i.jsx("p",{className:"field-options-panel__empty",children:"No options added."}):v.length&&(g=y([xp(r)],v.map(h=>i.jsxs("tr",{children:[i.jsx("td",{children:h}),i.jsx(ca,{option:h,onDelete:p,locked:Z(r)&&et(h)})]},h)))),i.jsxs("aside",{className:`field-options-panel${c?" is-open":""}${r?"":" field-options-panel--empty"}`,"aria-label":`Options for: ${S}`,children:[i.jsxs("button",{type:"button",className:"field-options-panel__summary","aria-expanded":c,"aria-controls":"field-options-panel-body",onClick:()=>d(h=>!h),children:[i.jsxs("span",{className:"field-options-panel__summary-text",children:[i.jsxs("span",{className:"field-options-panel__title",children:["Options for: ",S]}),w?i.jsx("span",{className:"field-options-panel__description",children:w}):null]}),i.jsx(Fo,{className:"field-options-panel__chevron",size:16,strokeWidth:1.8,"aria-hidden":"true"})]}),i.jsx("div",{id:"field-options-panel-body",className:"field-options-panel__body",children:g})]})}function Up(e,t=[]){const n=new Set,r=[];return t.forEach(a=>{if(String(a.id)===String(e?.id)||Z(a))return;const s=String(a.fieldLabel||a.label||"").trim();if(!s)return;const o=s.toLowerCase();n.has(o)||!(a?.options||[]).some(c=>String(c||"").trim())||(n.add(o),r.push(s))}),r}const jp=["Actions","Field Label","Field Type","Required","Field Access","Hide for","DependsOn","Options"];function Vp(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 Et(e=[]){const t=e.map(Vp);return t.map(n=>Jn(n,t))}function hi({initialFields:e,onChange:t,addExternalFieldRef:n,fieldTypeOptions:r=[],fieldAccessOptions:a=[],hideForOptions:s=[],onSave:o,onDelete:l}){const[c,d]=C.useState(()=>Et(e??[])),[u,f]=C.useState(null),[p,S]=C.useState(null),[w,v]=C.useState(""),y=C.useRef(""),g=C.useRef(null),h=C.useRef({}),b=P=>{const L=Et(P);d(L),t?.(L)},_=(e??[]).map(P=>P.id).join(",");C.useEffect(()=>{if(!w)return;const P=window.setTimeout(()=>v(""),3200);return()=>window.clearTimeout(P)},[w]),C.useEffect(()=>{!_||_===y.current||(y.current=_,d(Et(e)))},[_,e]),C.useEffect(()=>{if(n)return n.current=P=>{P&&d(L=>{const j=L.find(X=>zn(P,[X]));if(Kn(L)||j)return j&&f(j.id),L;if(_t(L))return L;const B=Et([...L,{...P,id:`${P.id}-${Date.now()}`,isNew:!0}]),V=B[B.length-1];return f(V.id),t?.(B),B})},()=>{n.current=null}},[n,t]),C.useEffect(()=>{if(u==null)return;const P=g.current,L=h.current[u];if(!P||!L)return;const j=requestAnimationFrame(()=>{const B=P.getBoundingClientRect(),V=L.getBoundingClientRect(),X=12;V.left>=B.left+X&&V.right<=B.right-X||P.scrollTo({left:P.scrollLeft+V.left-B.left-(B.width-V.width)/2,behavior:"smooth"})});return()=>cancelAnimationFrame(j)},[u,c]);const O=(P,L)=>{if(P==null||L==null||String(P)===String(L))return;const j=c.findIndex(T=>String(T.id)===String(P)),B=c.findIndex(T=>String(T.id)===String(L));if(j<0||B<0)return;const V=[...c],[X]=V.splice(j,1);V.splice(B,0,X),b(V.map((T,x)=>({...T,order:x+1})))},M=P=>{const L=c.find(V=>V.id===P.id),j=L&&L.fieldType!==P.fieldType;P.dependsOn&&P.dependsOn!==L?.dependsOn&&f(P.id);const B=String(L?.fieldLabel||"").trim();b(c.map(V=>V.id===P.id?P:j&&B&&String(V.dependsOn||"").trim()===B?{...V,dependsOn:"",parentMappings:{}}:V))},U=async P=>{const L=c.find(j=>j.id===P);if(!(!L||rn(L)))try{if(await l?.(L)===!1)return;const B=String(L.fieldLabel||"").trim();b(c.filter(V=>V.id!==P).map((V,X)=>B&&String(V.dependsOn||"").trim()===B?{...V,dependsOn:"",parentMappings:{},order:X+1}:{...V,order:X+1}))}catch{}},$=()=>{Kn(c)||_t(c)||b(Et([...c,{id:`${Date.now()}-${c.length}`,fieldLabel:"",fieldType:r[0]??"",options:[],isNew:!0}]))},N=async P=>{if(zn(P,c))return null;try{const L=await o?.(P);return L?(d(j=>{const B=Et(j.map(V=>V.id===P.id?{...L,isNew:!1,order:V.order||1}:V));return t?.(B),B}),L):null}catch{return null}},I=Kn(c),k=_t(c),K=I?"A field with this label and type already exists":"",Q=ui(c),G=c.find(P=>P.id===u)||null;return i.jsxs(i.Fragment,{children:[K||Q||w?i.jsx("div",{className:"ca-validation-toast",role:"alert",children:K||Q||w}):null,i.jsxs("div",{className:"ca-form-card-grid__container ",children:[i.jsxs("div",{className:"ca-form-card-grid",children:[i.jsx("div",{className:"ca-form-card-grid__labels",children:jp.map(P=>i.jsx("div",{className:"ca-form-card-grid__label",children:P},P))}),i.jsxs("div",{className:"ca-form-card-grid__cards",ref:g,children:[c.map(P=>i.jsx(pi,{field:P,fieldOptions:Up(P,c),fieldTypeOptions:r,fieldAccessOptions:a,hideForOptions:s,selected:G?.id===P.id,isDragging:String(p)===String(P.id),cardRef:L=>{L?h.current[P.id]=L:delete h.current[P.id]},onSelect:()=>f(P.id),onDragStartField:()=>S(P.id),onDragEndField:()=>S(null),onReorder:O,onChange:M,onDelete:U,onSave:N,onOptionNotice:v,hasDuplicateIdentity:zn(P,c),hasMissingOptions:oa(P)},P.id)),i.jsx(ri,{onAdd:$,disabled:I||k})]})]}),i.jsx($p,{formFields:c,selectedField:G,onChange:b})]})]})}const mi={department:Lo,priorities:ep,status:Un,statuses:Un,statusCustom:Un,Status:Un,storeId:ko,storeIdCustom:ko};function qp({fields:e=[],onAddField:t,disableAdd:n=!1,disableAddHint:r="Resolve duplicate field first"}){const[a,s]=C.useState(!1),{fieldLabel:o}=Re();return i.jsxs("aside",{className:`custom-field-table${a?" is-open":""}`,"aria-labelledby":"custom-field-table-title",children:[i.jsxs("button",{type:"button",className:"custom-field-table__summary","aria-expanded":a,"aria-controls":"custom-field-table-list",onClick:()=>s(l=>!l),children:[i.jsxs("span",{className:"custom-field-table__summary-text",children:[i.jsx("span",{id:"custom-field-table-title",className:"custom-field-table__title",children:"Custom Fields"}),i.jsx("span",{className:"custom-field-table__description",children:"Use these fields to show options from database table."})]}),i.jsx(Fo,{className:"custom-field-table__chevron",size:16,strokeWidth:1.8,"aria-hidden":"true"})]}),i.jsx("div",{id:"custom-field-table-list",className:"custom-field-table__list",children:e.map(l=>{const c=o(l),d=mi[l.fieldKey]||mi[l.id]||Lo;return i.jsxs("div",{className:"custom-field-table__row",children:[i.jsx(d,{className:"custom-field-table__field-icon",size:14,strokeWidth:1.5,"aria-hidden":"true"}),i.jsx("span",{className:"custom-field-table__label",children:c}),i.jsx("button",{className:"custom-field-table__add",type:"button","aria-label":`Add ${c}`,title:n?r:`Add ${c}`,disabled:n,onClick:()=>{n||t?.(l)},children:i.jsx(Oo,{size:14,strokeWidth:2,"aria-hidden":"true"})})]},l.fieldKey??l.id)})})]})}const gi={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"},yi={BOTH:"Both",USER:"User",ADMIN:"Admin"},Wp={...Object.fromEntries(Object.entries(gi).map(([e,t])=>[t,e])),Select:"SELECT",Dropdown:"SELECT",Radio:"RADIO",Images:"FILE",Time:"DATETIME","Text Area":"TEXTAREA","Date Time":"DATETIME"},Hp={...Object.fromEntries(Object.entries(yi).map(([e,t])=>[t,e])),Both:"BOTH",User:"USER",Admin:"ADMIN"};function Tt(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 zp(e,t){const n=Tt(e),r=Tt(t);return n?r?n+r.charAt(0).toUpperCase()+r.slice(1):n:""}function Zn(e,t){return Z({...e,fieldLabel:t})?Tt(t)||"status":Ve({...e,fieldLabel:t})?"storeIdCustom":zp(t,e.fieldType)}function sn(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 Kp(e){return e?typeof e=="string"?e:e.message||e.error||"":""}function Gn(e){return e?typeof e.id=="number"||/^\d+$/.test(String(e.id)):!1}function Jp(e=[]){const t=Z(e)?an(e.options||[]):e.options||[];if(!t.length)return null;const n=e.parentMappings||{},r=e.optionColors||{},a=!!e.dependsOn||t.some(s=>n[s]);return Z(e)?{values:t.map((s,o)=>{const l={name:s,displayOrder:o+1,isActive:!0,isDefault:Ip(s)};return r[s]&&(l.color=r[s]),l})}:a?{values:t.map(s=>{const o={label:s};return n[s]&&(o.dependsOnValue=n[s]),o})}:{values:t}}function Zp(e,t=[],n=[]){const r=String(e.fieldLabel||"").trim(),a=e.originalFieldName!=null&&r===String(e.originalFieldName).trim(),s=t.find(S=>String(S.fieldLabel||"").trim()===e.dependsOn&&e.dependsOn),o=Zn(e,r)||(a?e.fieldKey:""),l=s?Zn(s,s.fieldLabel)||s.fieldKey:"",c=Qp(e,n),d=Jp(e),u=Wp[e.fieldType]??String(e.fieldType||"TEXT").toUpperCase(),f=Hp[e.fieldAccess]??(e.fieldAccess?String(e.fieldAccess).toUpperCase():"USER"),p={fieldName:r,fieldKey:o,fieldType:u,required:!!e.required,displayOrder:Number(e.order)||1,fieldAccess:f,isActive:e.isActive!==!1};return c!=null&&c!==""&&(p.hideForWorkflowStepId=c),d?.values?.length&&(p.options=d),l&&l!==o&&(p.dependsOnFieldKey=l),p}function bi(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 Si(e,t){return bi(e)!==bi(t)}function Gp(e=[],t=e,n=[]){return{fields:e.filter(a=>!a.isNew&&String(a.fieldLabel||"").trim()).map((a,s)=>Zp({...a,order:a.order||s+1},t,n))}}function Yp(...e){const t=[],n=new Set;return e.flat().forEach(r=>{if(!Gn(r))return;const a=Number(r.id);n.has(a)||(n.add(a),t.push(a))}),t}function Xp(e){return Array.isArray(e)?e:Array.isArray(e?.data)?e.data:[]}function Yn(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 wi(e,t=[]){if(!e)return null;const n=Yn(e);if(n)return n;const r=typeof e=="object"?e.id??e.workflowStepId:null;if(r==null)return null;const a=t.find(s=>String(s.id)===String(r));return Yn(a)}function Qp(e,t=[]){const n=Array.isArray(e.hideFor)?e.hideFor:[];if(!n.length)return null;for(const s of n){const o=t.find(l=>Yn(l)===s||String(l.id)===String(s));if(o?.id!=null)return o.id}const r=e.hideForWorkflowStepId;return r==null||r===""?null:t.some(s=>String(s.id)===String(r))?r:null}function vi(e){return[...new Set(e.filter(Boolean))]}function Xn(e){return typeof e=="string"?e:e?.label??e?.name??e?.value??""}function Rp(e){return!e||typeof e!="object"?"":e.dependsOnValue??e.parent??""}function eh(e,t=[]){if(!e)return"";const n=t.map(Xn).filter(Boolean),r=n.find(s=>s===e);return r||n.find(s=>Tt(s)===e||Tt(s)===Tt(e))||e}function th(e){return e&&typeof e=="object"&&e.color?e.color:""}function tt(e=[],t=[]){const n=[...e].sort((r,a)=>(r.displayOrder??0)-(a.displayOrder??0));return Nt(n.map(r=>{const a=r?.options?.values??[],s=n.find(l=>l.id===r.dependsOnFieldId||r.dependsOnFieldKey&&l.fieldKey===r.dependsOnFieldKey),o=t.find(l=>String(l.id)===String(r.hideForWorkflowStepId));return{id:r.id,order:r.displayOrder,fieldLabel:r.fieldName??r.fieldLabel??"",fieldType:ia(r.fieldType,gi,r.fieldKey),required:!!r.required,fieldAccess:yi[r.fieldAccess]??r.fieldAccess??"",hideFor:vi([...Array.isArray(r.hideFor)?r.hideFor:[],wi(r.hideForWorkflowStep,t),wi(o,t)]),dependsOn:r.dependsOnField?.fieldName??s?.fieldName??r.dependsOn??"",options:a.map(Xn).filter(Boolean),parentMappings:Object.fromEntries(a.map(l=>{const c=Xn(l),d=Rp(l);return!c||!d?null:[c,eh(d,s?.options?.values??[])]}).filter(Boolean)),optionColors:Object.fromEntries(a.map(l=>[Xn(l),th(l)]).filter(([l,c])=>l&&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 nh({stepMeta:e,stepperProps:t}){const n=H.useDispatch(),{systemId:r}=fn(),a=H.useSelector(x=>x.appDetails?.id),s=sn(a)??sn(r),{state:o,update:l}=qn(),{formFields:c,prefillFormFields:d=[]}=o,u=C.useRef(null),f=C.useCallback(x=>l({formFields:x}),[l]),p=C.useCallback(async x=>{const z=String(x.fieldLabel||"").trim();return z?{...x,fieldLabel:z,fieldKey:Zn(x,z),originalFieldName:z,isNew:!1}:null},[]),S=C.useCallback(async x=>rn(x)?!1:(Gn(x)&&await n(gt({complaintTypeId:s,fieldId:x.id})).unwrap(),!0),[s,n]),w=H.useSelector(x=>x.complaintAppComplaint?.formFields?.data),v=H.useSelector(x=>x.complaintAppComplaint?.formFields?.isLoading),y=H.useSelector(x=>x.complaintAppComplaint?.formFields?.error),g=H.useSelector(x=>x.workflow?.workflowSteps),h=C.useMemo(()=>Xp(g),[g]),b=C.useRef(h),[_,O]=C.useState(!1);C.useEffect(()=>{b.current=h},[h]),C.useEffect(()=>{const x=sn(s);x!=null&&n(Qe(x))},[s,n]),C.useEffect(()=>{const x=sn(s);if(x==null)return;let z=!1;return n(Le(x)).unwrap().then(R=>{if(z)return;const pe=Array.isArray(R)?R:R?.data;if(!(Array.isArray(pe)&&pe.length>0)&&d.length){const se=tt(d,b.current).map((_e,ye)=>({..._e,id:`prefill-${ye}`,isNew:!1}));l({formFields:Nt(se)})}else{const se=Nt(tt(Array.isArray(pe)?pe:[],b.current));l({formFields:se})}O(!0)}).catch(()=>{if(!z){if(d.length){const R=tt(d,b.current).map((pe,Y)=>({...pe,id:`prefill-${Y}`,isNew:!1}));l({formFields:Nt(R)})}O(!0)}}),()=>{z=!0}},[s,n,d,l]);const M=C.useMemo(()=>Nt(tt(w,h)),[w,h]),$=sn(s)==null||_,N=$?c:M,I=C.useMemo(()=>Op.filter(x=>!N.some(z=>x.fieldKey&&z.fieldKey===x.fieldKey||Z(x)&&Z(z)||Hn(x)&&Hn(z)||Ve(x)&&Ve(z))),[N]),k=C.useMemo(()=>Kn(N),[N]),K=C.useMemo(()=>_t(N),[N]),Q=Kp(y),G=Ap,P=Lp,L=C.useMemo(()=>{const x=[...h].sort((R,pe)=>(R.levelNo??0)-(pe.levelNo??0)).map(R=>Yn(R)).filter(Boolean),z=M.flatMap(R=>R.hideFor);return vi([...x,...z])},[M,h]),j=C.useMemo(()=>{const x=new Map(tt(w,h).map(z=>[Number(z.id),z]));return N.filter(z=>{if(z.isNew&&String(z.fieldLabel||"").trim())return!0;if(!Gn(z))return!1;const R=x.get(Number(z.id));return!R||Si(z,R)})},[w,N,h]),[B,V]=C.useState(!1),X=C.useCallback(async x=>{if(!_t(N)&&s)try{const R=N.map(ne=>{if(!x||!ne.isNew)return ne;const oe=String(ne.fieldLabel||"").trim();return oe?{...ne,fieldLabel:oe,fieldKey:Zn(ne,oe),originalFieldName:oe,isNew:!1}:ne}).filter(ne=>!ne.isNew&&String(ne.fieldLabel||"").trim()),pe=new Map(tt(w,h).map(ne=>[Number(ne.id),ne]));if(!R.some(ne=>{if(!Gn(ne))return!0;const oe=pe.get(Number(ne.id));return!oe||Si(ne,oe)})){t.onNext?.();return}const se=[...R].sort((ne,oe)=>+!!ne.dependsOn-+!!oe.dependsOn),_e=Yp(w,R);for(const ne of _e)try{await n(gt({complaintTypeId:s,fieldId:ne})).unwrap()}catch{}await n(Wt({complaintTypeId:s,data:Gp(se,se,h)})).unwrap();const ye=await n(Le(s)).unwrap(),Me=Array.isArray(ye)?ye:ye?.data;l({formFields:Nt(tt(Array.isArray(Me)?Me:[],h))}),t.onNext?.()}catch{}},[w,s,n,N,t,l,h]),T=C.useCallback(()=>{if(!_t(N)){if(j.length){V(!0);return}X(!1)}},[N,j.length,X]);return i.jsxs(i.Fragment,{children:[i.jsx(tn,{...t,steps:Fe,onNext:T}),B?i.jsx("div",{className:"ca-confirm-modal",role:"dialog","aria-modal":"true","aria-labelledby":"form-fields-pending-save-title",children:i.jsxs("div",{className:"ca-confirm-modal__dialog",children:[i.jsx("p",{id:"form-fields-pending-save-title",className:"ca-confirm-modal__message",children:"Some fields are pending to save."}),i.jsxs("div",{className:"ca-confirm-modal__actions",children:[i.jsx(ge,{variant:"outline",onClick:()=>{V(!1),X(!1)},children:"OK"}),i.jsx(ge,{onClick:()=>{V(!1),X(!0)},children:"Save"})]})]})}):null,i.jsx(Rt,{className:"ca-settings-card--plain",title:e.title,description:e.description,showNext:!1,children:!$||v?i.jsx(Ct,{text:"Loading form fields"}):Q&&!N.length?i.jsx("div",{className:"ca-validation-toast",role:"alert",children:Q}):i.jsxs("div",{className:"ca-form-fields",children:[Q?i.jsx("div",{className:"ca-validation-toast",role:"alert",children:Q}):null,i.jsx(qp,{fields:I,disableAdd:k||K,disableAddHint:k?"Resolve duplicate field first":K?ui(N):void 0,onAddField:x=>u.current?.({...x})}),i.jsx(hi,{initialFields:N,addExternalFieldRef:u,onChange:f,fieldTypeOptions:G,fieldAccessOptions:P,hideForOptions:L,onSave:p,onDelete:S})]})})]})}function Ci({label:e="Active",checked:t,onChange:n,disabled:r=!1,className:a=""}){return i.jsxs("div",{className:`ca-toggle-field ${a}`.trim(),children:[i.jsx(Co,{children:e}),i.jsx(jn,{checked:t,onChange:n,disabled:r,"aria-label":e})]})}function _i({storeList:e=[],value:t,onChange:n,...r}){const{label:a}=Re();return i.jsxs("select",{...r,className:"review-control",value:t??"",onChange:s=>n(s.target.value),children:[i.jsx("option",{value:"",children:a("Select Store")}),e.map(s=>i.jsx("option",{value:s.id,children:s.name??s.label??String(s.id)},s.id))]})}const rh=/\.(png|jpe?g|gif|webp|bmp|svg)$/i;function da(e,t){return t?Array.isArray(e)?e.filter(Boolean):[]:e instanceof File?[e]:[]}function ah(e){return e?e.type&&e.type.startsWith("image/")?!0:rh.test(e.name||""):!1}function sh(e){return`${e.name}-${e.size}-${e.lastModified}`}function Qn({id:e,name:t,value:n,onChange:r,multiple:a=!1,required:s=!1,disabled:o=!1,accept:l}){const c=da(n,a),d=C.useMemo(()=>da(n,a).map(u=>{const f=ah(u);return{key:sh(u),name:u.name,isImage:f,url:f?URL.createObjectURL(u):""}}),[n,a]);return C.useEffect(()=>()=>{d.forEach(u=>{u.url&&URL.revokeObjectURL(u.url)})},[d]),i.jsxs("div",{className:"review-file-field",children:[i.jsx("input",{id:e,name:t,className:"review-control",type:"file",accept:l,multiple:a,required:!!s&&c.length===0,disabled:o,onChange:u=>{const f=Array.from(u.target.files||[]);if(!a){r(f[0]||"");return}const p=da(n,!0),S=new Set(p.map(v=>`${v.name}-${v.size}-${v.lastModified}`)),w=f.filter(v=>!S.has(`${v.name}-${v.size}-${v.lastModified}`));r([...p,...w]),u.target.value=""}}),d.length?i.jsx("div",{className:"review-file-preview",children:i.jsx("div",{className:"review-file-preview__images",children:d.map((u,f)=>i.jsxs("div",{className:"review-file-preview__item",children:[u.isImage?i.jsx("img",{className:"review-file-preview__thumb",src:u.url,alt:u.name,title:u.name}):i.jsx("span",{className:"review-file-preview__name",children:u.name}),i.jsx("button",{type:"button",className:"review-file-preview__remove","aria-label":`Remove ${u.name}`,onClick:()=>{r(a?c.filter((p,S)=>S!==f):"")},children:"×"})]},u.key))})}):null]})}const oh=new Set(["select","radio","checkbox"]);function Ni(e){return String(e||"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/(^-|-$)/g,"")}function nt(e){return String(e.label||e.fieldLabel||e.fieldName||e.name||"").trim()}function ua(e){return`review-${e.id??e.fieldKey??(Ni(nt(e))||"field")}`}function Ei(e,t,n){return n===0?e:`${e}-${Ni(t)||n}`}function fa(e){const t=String(e.fieldType||"").toLowerCase(),n=String(e.fieldKey||nt(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 Ti(e){return oh.has(e)}function ih(e){return e==="textarea"||e==="radio"||e==="checkbox"}function lh(e){const t=String(e.fieldType||"").toLowerCase();return t==="text"||t==="textfield"}function Ai(e){return String(e||"").replace(/\d/g,"")}function Li(e){return String(e||"").replace(/[^\d]/g,"")}function on(e,t){const n=String(nt(e)||"value").toLowerCase();return t==="date"?"mm/dd/yyyy":t==="select"?`Select ${n}`:t==="email"?"Enter email":`Enter ${n}`}function ln(e){return String(e.fieldKey||e.id||nt(e)||ua(e))}function Fi(e,t=[]){const n=String(e.dependsOn||"").trim();return n&&t.find(r=>{const a=nt(r),s=String(r.fieldKey||"");return a===n||s===n})||null}function Oi(e,t=[],n={}){const r=e.options||[],a=Fi(e,t);if(!a)return r;const s=e.parentMappings||{};if(!r.some(c=>!!s[c]))return r;const l=String(n[ln(a)]||"").trim();return l?r.filter(c=>String(s[c]||"")===l):r}function ki(e){return e==="checkbox"||e==="images"?[]:""}function ch({question:e,options:t,value:n,onChange:r,storeList:a}){const s=ua(e),o=fa(e),l=n??ki(o),c={id:s,name:String(e.fieldKey||nt(e)||s),required:!!e.required};if(Ve(e)&&Array.isArray(a))return i.jsx(_i,{...c,storeList:a,value:l,onChange:r});if(o==="radio")return i.jsx("div",{className:"review-options review-options--inline",children:t.map((d,u)=>{const f=Ei(s,d,u);return i.jsxs("label",{className:"review-option",htmlFor:f,children:[i.jsx("input",{...c,id:f,type:"radio",value:d,checked:l===d,onChange:p=>r(p.target.value)}),i.jsx("span",{children:d})]},d)})});if(o==="checkbox"){const d=Array.isArray(l)?l:[];return i.jsx("div",{className:"review-options review-options--inline",children:t.map((u,f)=>{const p=Ei(s,u,f);return i.jsxs("label",{className:"review-option",htmlFor:p,children:[i.jsx("input",{id:p,name:`${c.name}[]`,type:"checkbox",value:u,checked:d.includes(u),required:!1,onChange:S=>r(S.target.checked?[...d,u]:d.filter(w=>w!==u))}),i.jsx("span",{children:u})]},u)})})}return o==="textarea"?i.jsx("textarea",{...c,className:"review-control review-control--textarea",placeholder:on(e,o),value:l,onChange:d=>r(d.target.value)}):o==="select"?i.jsxs("select",{...c,className:"review-control",value:l,onChange:d=>r(d.target.value),children:[i.jsx("option",{value:"",children:on(e,o)}),t.map(d=>i.jsx("option",{value:d,children:d},d))]}):o==="file"?i.jsx(Qn,{...c,value:l,onChange:r,multiple:!0}):o==="images"?i.jsx(Qn,{...c,value:l,onChange:r,multiple:!0}):o==="number"?i.jsx("input",{...c,className:"review-control",type:"number",inputMode:"numeric",placeholder:on(e,o),value:l,onChange:d=>r(Li(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 u=d.clipboardData.getData("text");/^\d*$/.test(u)||(d.preventDefault(),r(Li(u)))}}):lh(e)?i.jsx("input",{...c,className:"review-control",type:"text",inputMode:"text",placeholder:on(e,o),value:l,onChange:d=>r(Ai(d.target.value)),onKeyDown:d=>{/^\d$/.test(d.key)&&d.preventDefault()},onPaste:d=>{const u=d.clipboardData.getData("text");/\d/.test(u)&&(d.preventDefault(),r(Ai(u)))}}):i.jsx("input",{...c,className:"review-control",type:o,placeholder:on(e,o),value:l,onChange:d=>r(d.target.value)})}function dh({fields:e=[],storeList:t}){const{fieldLabel:n}=Re(),[r,a]=C.useState({}),s=(o,l)=>{const c=ln(o);a(d=>{const u={...d,[c]:l};return e.forEach(f=>{const p=Fi(f,e);if(!p||ln(p)!==c)return;const S=fa(f);if(!Ti(S))return;const w=Oi(f,e,u),v=ln(f),y=u[v];Array.isArray(y)?u[v]=y.filter(g=>w.includes(g)):y&&!w.includes(y)&&(u[v]="")}),u})};return e.length?i.jsx("div",{className:"review-form-card",children:i.jsx("form",{className:"review-form","aria-label":"Form fields preview",onSubmit:o=>o.preventDefault(),children:i.jsx("div",{className:"review-form-grid",children:e.map(o=>{const l=fa(o),c=ua(o),d=Ti(l)?Oi(o,e,r):[];return i.jsxs("div",{className:`review-question${ih(l)?" review-question--wide":""}`,children:[i.jsxs("label",{className:"review-label",htmlFor:c,children:[n(o)||"Untitled field",o.required?i.jsx("span",{className:"review-required",children:"*"}):null]}),i.jsx(ch,{storeList:t,question:o,options:d,value:r[ln(o)]??ki(l),onChange:u=>s(o,u)})]},o.id??o.fieldKey??nt(o))})})})}):i.jsx("p",{className:"review-empty",children:"No form fields added"})}const uh={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"},fh={BOTH:"Both",USER:"User",ADMIN:"Admin"};function ph(e){return e?typeof e=="string"?e:e.name??e.label??e.title??null:null}function hh(e){return[...new Set(e.filter(Boolean))]}function pa(e){return typeof e=="string"?e:e?.label??e?.name??""}function ha(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 mh(e){return!e||typeof e!="object"?"":e.dependsOnValue??e.parent??""}function gh(e,t=[]){if(!e)return"";const n=t.map(pa).filter(Boolean),r=n.find(s=>s===e);return r||n.find(s=>ha(s)===e||ha(s)===ha(e))||e}function yh(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(s=>s.id===n.dependsOnFieldId||n.dependsOnFieldKey&&s.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:ia(n.fieldType,uh,n.fieldKey),required:!!n.required,fieldAccess:fh[n.fieldAccess]??n.fieldAccess??"",hideFor:hh([...Array.isArray(n.hideFor)?n.hideFor:[],ph(n.hideForWorkflowStep)]),dependsOn:n.dependsOnField?.fieldName??a?.fieldName??n.dependsOn??"",options:r.map(pa).filter(Boolean),parentMappings:Object.fromEntries(r.map(s=>{const o=pa(s),l=mh(s);return!o||!l?null:[o,gh(l,a?.options?.values??[])]}).filter(Boolean))}})}function bh({onPublish:e,stepMeta:t,stepperProps:n,storeList:r}){const a=H.useDispatch(),s=H.useSelector(_=>_.appDetails?.id),o=H.useSelector(_=>_.complaintAppComplaint.formFields.data),l=H.useSelector(_=>_.complaintAppComplaint.formFields.isLoading),c=H.useSelector(_=>_.complaintAppComplaint.formFields.error),d=H.useSelector(_=>_.createComplaint?.isActive),u=H.useSelector(_=>_.createComplaint?.activeComplaintTypeId),f=H.useSelector(_=>_.createComplaint?.isUpdatingActive),p=H.useSelector(_=>_.createComplaint?.activeError),S=H.useSelector(_=>_.complaintType?.selected),w=H.useSelector(_=>_.complaintType?.complaintList??[]),v=C.useMemo(()=>yh(o),[o]),y=C.useMemo(()=>s==null?null:S&&String(S.id??S._id)===String(s)?S:w.find(_=>String(_?.id??_?._id)===String(s))??null,[w,s,S]),g=y!=null&&(y.isActive!=null||y.active!=null)?!!(y.isActive??y.active):null,h=String(u)===String(s)?!!d:g??!0;C.useEffect(()=>{s&&a(Le(s))},[s,a]);const b=_=>{!s||f||a(Qt({id:s,isActive:_}))};return i.jsxs(i.Fragment,{children:[i.jsx(tn,{...n,steps:Fe,showSaveButton:!1,nextLabel:"Publish",extraActions:i.jsx(Ci,{label:"Active",checked:h,disabled:!s||f,onChange:b}),onNext:()=>{e?.(),n.onNext?.()}}),p?i.jsx("div",{className:"ca-validation-toast",role:"alert",children:p}):null,i.jsx(Rt,{className:"ca-settings-card--plain",title:t.title,description:t.description,showNext:!1,children:i.jsx("div",{className:"ca-review",children:i.jsx("section",{className:"ca-review__block ca-review__block--last",children:l?i.jsx(Ct,{text:"Loading form fields"}):c&&!v.length?i.jsx("p",{className:"ca-body",children:c}):i.jsx(dh,{fields:v,storeList:r})})})})]})}function Sh(e){const t=Number(e);return!Number.isFinite(t)||t<1?1:t>Fe.length?Fe.length:Math.floor(t)}function wh(e){const t=Number(e);return!Number.isFinite(t)||t<1?1:t>3?3:Math.floor(t)}function Ii({title:e="Complaint Management Settings",onPublish:t,onStepChange:n,onSaveDraft:r,roleList:a=[],storeList:s,showSaveButton:o=!0,showNextButton:l=!0}){const c=Ue(),d=H.useDispatch(),{systemId:u}=fn(),[f,p]=Ha(),S=Sh(f.get("step")||1),w=wh(f.get("substep")||1);C.useEffect(()=>{u&&d(Xe(u))},[d,u]),C.useEffect(()=>{if(!f.get("step")){const O=new URLSearchParams(f);O.set("step","1"),p(O,{replace:!0})}},[f,p]);const v=C.useMemo(()=>Fe.find(O=>O.id===S)||Fe[0],[S]),y=C.useCallback((O,M)=>{const U=new URLSearchParams(f);U.set("step",String(O)),O===4?U.set("substep",String(M??(O===S?w:1))):U.delete("substep"),p(U,{replace:!1}),n?.({systemId:u,step:O,substep:M})},[f,p,n,u,S,w]),g=()=>{if(S<Fe.length){y(S+1,1);return}c("/")},h=O=>{y(4,O)},b=()=>{t?.({systemId:u,step:S})},_={currentStep:S,onStepClick:O=>y(O,O===4?1:void 0),showSaveButton:o,showNextButton:l,onSaveDraft:()=>r?.({systemId:u,step:S}),onNext:g,className:"ca-settings-page__stepper"};return i.jsx(Ho,{children:i.jsxs("div",{className:"ca-settings-page",children:[i.jsxs("div",{className:"ca-settings-page__header",children:[i.jsx("button",{type:"button",className:"ca-settings-page__back",onClick:()=>c("/"),"aria-label":"Back to Complaint Management",children:i.jsx("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:i.jsx("path",{d:"M15 6l-6 6 6 6",stroke:"currentColor",strokeWidth:"2.2",strokeLinecap:"round",strokeLinejoin:"round"})})}),i.jsx(Hr,{children:e})]}),S===1?i.jsx(yp,{stepMeta:v,stepperProps:_,roleList:a}):null,S===2?i.jsx(Tp,{onNext:g,stepMeta:v,roleList:a,substep:w,onSubstepChange:h,stepperProps:_}):null,S===3?i.jsx(nh,{stepMeta:v,stepperProps:_}):null,S===4?i.jsx(bh,{storeList:s,onPublish:b,stepMeta:v,stepperProps:_}):null]})},u||"new")}const vh=["January","February","March","April","May","June","July","August","September","October","November","December"];function Ch(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()} ${vh[t.getMonth()]} ${t.getFullYear()}, ${n}:${r}`}function _h(){const e=Ue(),t=H.useSelector(s=>s.status?.complaintSummary??null),n=t?.totalComplaints??0,r=t?.totalComplaints??0,a=Ch(t?.lastSubmittedAt);return i.jsxs("section",{className:"ca-query-details","aria-labelledby":"query-management-title",children:[i.jsxs("div",{className:"ca-query-details__heading",children:[i.jsxs("div",{className:"ca-query-details__title-row",children:[i.jsx("button",{type:"button",className:"ca-settings-page__back",onClick:()=>e("/"),"aria-label":"Back to Complaint Management",children:i.jsx("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:i.jsx("path",{d:"M15 6l-6 6 6 6",stroke:"currentColor",strokeWidth:"2.2",strokeLinecap:"round",strokeLinejoin:"round"})})}),i.jsx("h1",{id:"query-management-title",className:"ca-query-details__title",children:"Complaint Management"})]}),i.jsxs("span",{className:"ca-query-details__count",children:["Total Count: ",n??0]})]}),i.jsxs("div",{className:"ca-query-details__summary",children:[i.jsxs("div",{className:"ca-query-details__card",children:[i.jsx("span",{className:"ca-query-details__label",children:"Total Complaints"}),i.jsx("strong",{className:"ca-query-details__value",children:r??0})]}),i.jsxs("div",{className:"ca-query-details__card",children:[i.jsx("span",{className:"ca-query-details__label",children:"Last Complaint Submitted Date"}),i.jsx("strong",{className:"ca-query-details__value",children:a||"NA"})]})]})]})}function Di({currentPage:e,totalItems:t,itemsPerPage:n,onPageChange:r,onItemsPerPageChange:a,selectOptions:s=["5","10","15","20","25"],totalPages:o,disabled:l=!1}){if(t<=0)return null;const c=(e-1)*n+1,d=Math.min(e*n,t),u=e<=1,f=e>=o;return i.jsxs("div",{className:`ca-custom-pagination${l?" ca-custom-pagination--disabled":""}`,"aria-label":"Complaint table pagination",children:[i.jsxs("label",{className:"ca-custom-pagination__page-size",children:[i.jsx("span",{children:"Results per page:"}),i.jsx("select",{className:"ca-custom-pagination__select",value:String(n),onChange:p=>a?.(Number(p.target.value)),disabled:l,"aria-label":"Results per page",children:s.map(p=>i.jsx("option",{value:p,children:p},p))})]}),i.jsxs("div",{className:"ca-custom-pagination__navigation",children:[i.jsx("button",{type:"button",className:"ca-custom-pagination__button",onClick:()=>r?.(1),disabled:l||u,"aria-label":"First page",children:i.jsx(Yf,{size:16,"aria-hidden":"true"})}),i.jsx("button",{type:"button",className:"ca-custom-pagination__button",onClick:()=>r?.(e-1),disabled:l||u,"aria-label":"Previous page",children:i.jsx(Zf,{size:16,"aria-hidden":"true"})}),i.jsxs("span",{className:"ca-custom-pagination__range",children:[c," - ",d," of ",t]}),i.jsx("button",{type:"button",className:"ca-custom-pagination__button",onClick:()=>r?.(e+1),disabled:l||f,"aria-label":"Next page",children:i.jsx(Gf,{size:16,"aria-hidden":"true"})}),i.jsx("button",{type:"button",className:"ca-custom-pagination__button",onClick:()=>r?.(o),disabled:l||f,"aria-label":"Last page",children:i.jsx(Xf,{size:16,"aria-hidden":"true"})})]})]})}function Nh({open:e,title:t,children:n,primaryLabel:r="Save",onPrimary:a,secondaryLabel:s="Cancel",onSecondary:o,primaryDisabled:l=!1}){return e?i.jsx("div",{className:"ca-confirm-modal",role:"dialog","aria-modal":"true","aria-labelledby":"ca-modal-title",children:i.jsxs("div",{className:"ca-confirm-modal__dialog",children:[t?i.jsx("p",{id:"ca-modal-title",className:"ca-confirm-modal__message",children:t}):null,n,i.jsxs("div",{className:"ca-confirm-modal__actions",children:[i.jsx(ge,{variant:"outline",onClick:o,children:s}),i.jsx(ge,{onClick:a,disabled:l,children:r})]})]})}):null}function Eh({id:e,message:t,type:n="success",onDismiss:r}){return C.useEffect(()=>{const a=setTimeout(()=>r(e),3500);return()=>clearTimeout(a)},[e,r]),i.jsx("div",{className:`ca-toast ca-toast--${n}`,role:"status",children:t})}function Th({toasts:e=[],onDismiss:t}){return e.length?i.jsx("div",{className:"ca-toast-container",children:e.map(n=>i.jsx(Eh,{...n,onDismiss:t},n.id))}):null}const Ah=["Open","Closed"];function xi({selectedStatus:e,statusNames:t=[],updatedAtSortOldest:n,onStatusChange:r,onSortChange:a,onNewComplaint:s,onDownloadReport:o,isDownloadingReport:l=!1,complaintTypeId:c,canCreateComplaint:d=!0,isComplaintTypeActive:u=!0}){return i.jsxs("div",{className:"ca-complaint-table__toolbar",children:[i.jsxs("div",{className:"ca-complaint-table__filters",children:[i.jsxs("label",{className:"ca-complaint-table__filter",children:[i.jsx(tp,{size:14,"aria-hidden":"true"}),i.jsx("span",{className:"ca-complaint-table__sr-only",children:"Filter by status"}),i.jsxs("select",{value:e,"aria-label":"Filter by status",onChange:f=>r?.(f.target.value),children:[i.jsx("option",{value:"all",children:"Select Status"}),(t.length?t:Ah).map(f=>i.jsx("option",{value:f,children:f},f))]})]}),i.jsx("button",{type:"button",className:`ca-complaint-table__sort${n?" ca-complaint-table__sort--reversed":""}`,"aria-label":n?"Sort by newest updated at date":"Sort by oldest updated at date",title:"Sort by Updated At",onClick:a,children:i.jsx(Jf,{className:"ca-complaint-table__sort-icon",size:14,"aria-hidden":"true"})})]}),i.jsxs("div",{className:"ca-complaint-table__actions",children:[d?i.jsx(ge,{variant:"outline",onClick:s,size:"sm",startIcon:i.jsx(Oo,{size:14}),disabled:!u,children:"New Complaint"}):null,i.jsx(ge,{variant:"outline",size:"sm",startIcon:i.jsx(Qf,{size:14}),onClick:o,disabled:l||!c,children:"Download Report"})]})]})}function Pi({text:e="No data"}){return i.jsx("div",{className:"ca-empty-state",role:"status",children:e})}const Lh=/^[^\s]+\/[^\s]+\.[A-Za-z0-9]{2,5}(?:\?.*)?$/,Fh=new RegExp("(?<=\\.[A-Za-z0-9]{2,5})(?=[A-Za-z0-9_-]+\\/)|[,\\n;]+");function Rn(e){return(Array.isArray(e)?e:[e]).filter(n=>n!=null&&n!==""&&n!=="-").flatMap(n=>typeof n=="string"?n.split(Fh).map(r=>r.trim()).filter(Boolean):[n])}function Oh(e){const t=Rn(e);return t.length>0&&t.every(n=>typeof n=="string"&&Lh.test(n))}function ma(e,t){const n=String(e?.fieldType||"").toLowerCase();return n==="file"||n==="images"||n==="image"||Oh(t)}function kh(e,t){const n=new Set;return t.forEach(r=>{e.forEach(a=>{const s=r[a.key]??"-";ma(a,s)&&Rn(s).forEach(o=>{typeof o=="string"&&n.add(o)})})}),Array.from(n)}const Ih=["Open","Closed"],ga=["Level 1","Level 2","Level 3"],Mi=/\.(png|jpe?g|gif|webp|bmp|svg)(?:\?.*)?$/i;function Dh({value:e,urlMap:t={}}){const n=C.useMemo(()=>Rn(e),[e]),[r,a]=C.useState(null);if(!n.length)return"-";const s=n.filter(p=>typeof p=="string"&&Mi.test(p)),o=n.filter(p=>typeof p=="string"&&!Mi.test(p)).map(p=>({name:p,url:t[p]})),l=s.map(p=>({name:p,url:t[p]})).filter(p=>p.url),c=l[0],d=()=>a(null),u=()=>a(p=>p>0?p-1:l.length-1),f=()=>a(p=>p<l.length-1?p+1:0);return i.jsxs(i.Fragment,{children:[i.jsxs("div",{className:"ca-complaint-table__attachments",children:[c?i.jsx("button",{type:"button",className:"ca-complaint-table__attachment-trigger",onClick:()=>a(0),"aria-label":`Preview ${c.name}`,children:i.jsx("img",{className:"ca-complaint-table__attachment-image",src:c.url,alt:c.name,title:c.name})}):null,o.length?o.map(p=>p.url?i.jsx("a",{className:"ca-complaint-table__attachment-link",href:p.url,target:"_blank",rel:"noreferrer",children:p.name.split("/").pop()},p.name):i.jsx("span",{className:"ca-complaint-table__attachment-name",children:p.name},p.name)):null,!c&&!o.length?n.map(p=>i.jsx("span",{className:"ca-complaint-table__attachment-name",children:String(p)},String(p))):null,l.length>1?i.jsxs("button",{type:"button",className:"ca-complaint-table__attachment-count",onClick:()=>a(1),"aria-label":`Preview ${l.length-1} more images`,children:["+",l.length-1]}):null]}),r!=null&&l.length?i.jsxs("div",{className:"ca-complaint-table__preview",role:"dialog","aria-modal":"true","aria-label":"Image preview",children:[i.jsx("button",{type:"button",className:"ca-complaint-table__preview-close",onClick:d,"aria-label":"Close image preview",children:"×"}),i.jsx("button",{type:"button",className:"ca-complaint-table__preview-nav ca-complaint-table__preview-nav--previous",onClick:u,"aria-label":"Previous image",children:"‹"}),i.jsx("img",{className:"ca-complaint-table__preview-image",src:l[r].url,alt:l[r].name}),i.jsx("button",{type:"button",className:"ca-complaint-table__preview-nav ca-complaint-table__preview-nav--next",onClick:f,"aria-label":"Next image",children:"›"}),i.jsxs("span",{className:"ca-complaint-table__preview-count",children:[r+1," / ",l.length]})]}):null]})}function Bi({value:e,options:t,fallbackOptions:n,ariaLabel:r,selectKey:a,onChange:s}){const l=(t.length?t:n.map(p=>({value:p,label:p}))).map(p=>p&&typeof p=="object"?{value:String(p.value??p.id??""),label:p.label??p.name??String(p.value??p.id??""),disabled:!!p.disabled}:{value:String(p),label:String(p),disabled:!1}).filter(p=>p.value||p.label),c=e!=null&&e!==""&&e!=="-"?String(e):"",d=l.map(p=>p.value),u=c&&!d.includes(c)?[{value:c,label:c,disabled:!1},...l]:l,f=u.some(p=>p.value===c)?c:u[0]?.value??"";return i.jsx("select",{className:"ca-complaint-table__select","aria-label":r,value:f,onChange:p=>s?.(p.target.value),children:u.map(p=>i.jsx("option",{value:p.value,disabled:p.disabled,children:p.label},p.value))},a)}function $i(e,t){return t==null||t===""||!Array.isArray(e)?!1:e.some(n=>n&&typeof n=="object"?String(n.value??n.id)===String(t):String(n)===String(t))}function er(e,t=!1){const n=[];return!t&&e==="description"&&n.push("ca-complaint-table__desc"),e==="status"&&n.push("ca-complaint-table__sticky","ca-complaint-table__sticky--status"),e==="escalationTo"&&n.push("ca-complaint-table__sticky","ca-complaint-table__sticky--escalation"),n.length?n.join(" "):void 0}function Ui(e,t,n,r,a={}){const s=t[e.key]??"-",o=a.statusOptions??n,l=a.escalationOptions??r;return e.key==="status"?i.jsx(Bi,{value:$i(o,t.statusId)?t.statusId:s,options:o,fallbackOptions:Ih,ariaLabel:"Status",selectKey:`status-${t.id}`,onChange:a.onStatusChange}):e.key==="escalationTo"?i.jsx(Bi,{value:$i(l,t.currentStepId)?t.currentStepId:s,options:l,fallbackOptions:ga,ariaLabel:"Escalation to",selectKey:`escalation-${t.id}`,onChange:a.onEscalationChange}):ma(e,s)&&Rn(s).some(c=>typeof c=="string")?i.jsx(Dh,{value:s,urlMap:a.attachmentUrlMap}):s}function ji({scrollFields:e,stickyFields:t,tableRows:n,fieldLabel:r,statusNames:a,getCellContext:s,page:o,itemsPerPage:l}){return i.jsxs("div",{className:"ca-complaint-table__scroll",children:[i.jsxs("table",{children:[i.jsx("thead",{children:i.jsxs("tr",{children:[i.jsx("th",{scope:"col",children:"#"}),e.map(c=>i.jsx("th",{scope:"col",className:er(c.key,!0),children:r(c)},c.id)),i.jsx("th",{className:"ca-complaint-table__spacer","aria-hidden":"true"}),t.map(c=>i.jsx("th",{scope:"col",className:er(c.key,!0),children:r(c)},c.id))]})}),i.jsx("tbody",{children:n.map((c,d)=>i.jsxs("tr",{children:[i.jsx("td",{children:(o-1)*l+d+1}),e.map(u=>i.jsx("td",{className:er(u.key),children:Ui(u,c,a,ga,s(c))},`${c.id??d}-${u.id}`)),i.jsx("td",{className:"ca-complaint-table__spacer","aria-hidden":"true"}),t.map(u=>i.jsx("td",{className:er(u.key),children:Ui(u,c,a,ga,s(c))},`${c.id??d}-${u.id}`))]},c.id??d))})]}),n.length?null:i.jsx("div",{className:"ca-complaint-table__empty-overlay",children:i.jsx(Pi,{text:"No Complaint"})})]})}const Vi="aira-query-complaintTypeId",qi={id:"status",label:"Status",key:"status"},Wi={id:"escalationTo",label:"Escalation To",key:"escalationTo"},xh={id:"submittedByUserName",label:"Submitted By",key:"submittedByUserName"},Ph={id:"updatedAt",label:"Updated At",key:"updatedAt"},cn="desc",ya="asc",Mh=10,Bh=["5","10","15","20","25"],$h=999999,ba=new Set(["status","escalationTo","id","submittedByUserName","updatedAt"]),Uh=["January","Feb","Mar","Apr","May","June","July","Aug","Sept","Oct","Nov","Dec"];function jh(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()} ${Uh[t.getMonth()]} ${t.getFullYear()}, ${n}:${r}`}function Hi(e){if(!e)return 0;const t=new Date(e).getTime();return Number.isNaN(t)?0:t}function Vh(e,t){return t!==cn&&t!==ya?e:[...e].sort((n,r)=>{const a=Hi(n.updatedAtValue),s=Hi(r.updatedAtValue);return a===s?0:t===ya?a-s:s-a})}function qh(e){return e===cn?ya:cn}function zi(e){return[xh,Ph,...e,qi,Wi]}function Wh(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:r.fieldName||r.fieldLabel||r.label||a,key:a,fieldType:r.fieldType,hideForWorkflowStepId:r.hideForWorkflowStepId??null}}).filter(r=>r.key&&!ba.has(r.key))}function Hh(e,t,n,r){const a=e?.data??e??{},s=Number(a.total??a.totalItems??a.totalCount??a.count),o=Number(a.totalPages??a.pages??a.pageCount);return Number.isFinite(o)&&o>0?{totalPages:o,totalItems:Number.isFinite(s)&&s>=0?s:Math.max(r,o*n),hasNext:t<o}:Number.isFinite(s)&&s>=0?{totalPages:Math.max(1,Math.ceil(s/n)),totalItems:s,hasNext:t*n<s}:{totalPages:t+(r>=n?1:0),totalItems:Math.max(r,t*n),hasNext:r>=n}}function Ki(e){return e==null||e===""?null:typeof e=="object"?e.data??e.id??e._id??null:e}function zh(){try{return sessionStorage.getItem(Vi)}catch{return null}}function Ji(e){const t=Ki(e);if(t==null||t==="")return null;const n=String(t);try{sessionStorage.setItem(Vi,n)}catch{}return n}function Kh(...e){for(const t of e){const n=Ki(t);if(n!=null&&n!=="")return String(n)}return null}function Jh(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 s=n.id??n.statusId;if(s!=null){const o=t.find(l=>String(l.id)===String(s));if(o?.name)return o.name}}const r=e?.statusId??e?.complaintStatusId;if(r!=null){const a=t.find(s=>String(s.id)===String(r));if(a?.name)return a.name}return""}function Zh(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(s=>String(s.name).trim()===r.trim());if(a?.id!=null)return a.id}return null}function Zi(e){return e===!0||e==="Yes"||e==="true"||e===1||e==="1"}function Gi(e){const t=String(e||"").trim().toLowerCase();return t==="resolved"||t==="closed"}function Gh(e,t=[]){const n=e?.currentStepId??e?.workflowStepId??e?.currentWorkflowStepId;if(n!=null&&n!==""){const a=t.find(s=>String(s.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 Yh(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(s=>String(s.id)===String(r));if(a?.levelNo!=null)return`Level ${a.levelNo}`}return""}function Yi(e,t=[],n=[]){const r=Gh(e,n),a={id:e?.complaintId??e?.id,status:Jh(e,t),statusId:Zh(e,t),escalationTo:Yh(e,n),currentStepId:r?.id??e?.currentStepId??e?.workflowStepId??e?.currentWorkflowStepId??null,canResolve:Zi(e?.canResolve??r?.canResolve),isFinalLevel:Zi(e?.isFinalLevel??r?.isFinalLevel??r?.finalLevel),submittedByUserName:e?.submittedByUserName||"-",updatedAt:jh(e?.updatedAt)||"-",updatedAtValue:e?.updatedAt??""};return(e?.formField||[]).forEach(s=>{const o=s.fieldKey||s.fieldName;o&&!ba.has(o)&&(a[o]=s.value)}),a}function Xi(e,t){const n=new Set,r=t.map(a=>{if(n.add(a.key),a.fieldType)return a;const s=e.flatMap(o=>o._fields||[]).find(o=>(o.fieldKey||o.fieldName)===a.key);return s?.fieldType?{...a,fieldType:s.fieldType}:a});return e.forEach(a=>{(a._fields||[]).forEach(s=>{const o=s.fieldKey||s.fieldName;!o||ba.has(o)||n.has(o)||(n.add(o),r.push({id:o,label:s.fieldName||o,key:o,fieldType:s.fieldType}))})}),r}function Xh(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 Qh(e){const t=e?.data??e;return Array.isArray(t)?t:t?.data??t?.results??t?.items??[]}function Qi(e){const t=e==null?"":String(e);return/[",\n]/.test(t)?`"${t.replace(/"/g,'""')}"`:t}function Rh(e,t){const n=e.map(a=>Qi(a.label)).join(","),r=t.map(a=>e.map(s=>Qi(a[s.key]??"-")).join(","));return[n,...r].join(`\r
|
|
12
12
|
`)}function em(e,t){return e.map(n=>{const r=Gi(n.name),a=String(n.id)===String(t.statusId);let s=!1;return r&&!t.canResolve&&(s=!0),t.isFinalLevel&&!r&&(s=!0),a&&(s=!1),{value:n.id,label:n.name,disabled:s}}).filter(n=>n.label)}function tm(e){return[...e].sort((n,r)=>(n.levelNo??0)-(r.levelNo??0)).map(n=>({value:n.id,label:n.levelNo!=null?`Level ${n.levelNo}`:String(n.name||n.id),disabled:!1})).filter(n=>n.label)}async function nm({complaintTypeId:e,status:t}){const n=await re.get(no,{params:{complaintTypeId:e,page:1,limit:$h,...t!=null&&t!==""&&t!=="all"?{status:t}:{}}});return Qh(n.data)}function rm(e){return(Array.isArray(e?.roles)?e.roles:[]).map(n=>Number(n?.id??n?.roleId??n)).filter(n=>Number.isFinite(n))}function am(e,t=[],n=[]){const r=e?.hideForWorkflowStepId;if(r==null||r===""||!n.length)return!1;const a=t.find(o=>String(o.id)===String(r));return a?(Array.isArray(a.roleIds)?a.roleIds.map(Number):[]).some(o=>n.includes(o)):!1}function sm(){const{fieldLabel:e}=Re(),t=H.useDispatch(),n=Ue(),{complaintTypeId:r}=fn(),[a]=Ha(),s=H.useSelector(F=>F.appDetails?.id),o=Kh(r,a.get("complaintTypeId"),s,zh()),{list:l=[],isLoading:c=!1,error:d=null,hasLoaded:u=!1,requestedComplaintTypeId:f=null,meta:p=null}=H.useSelector(F=>F.complaintManagement??{}),S=H.useSelector(F=>F.status?.list??[]),w=H.useSelector(F=>F.changeStatus?.error??null),v=H.useSelector(F=>F.changeStatus?.updatingId??null),y=H.useSelector(F=>F.workflow?.workflowSteps),g=H.useSelector(F=>F.appDetails?.details?.currentUser),h=C.useMemo(()=>S.map(F=>F.name).filter(Boolean),[S]),b=C.useMemo(()=>Array.isArray(y)?y:[],[y]),_=C.useMemo(()=>rm(g),[g]),O=H.useSelector(F=>{const W=F.complaintType?.selected,ee=Array.isArray(W?.accesses)?W.accesses.map(be=>be?.role?.id).filter(be=>be!=null):[];return ee.length?ee.map(Number):(Array.isArray(W?.roleIds)?W.roleIds:[]).map(Number)}),M=H.useSelector(F=>{const W=F.complaintType?.selected;return W?.isActive!=null?!!W.isActive:W?.active!=null?!!W.active:!0}),[U,$]=C.useState({complaintTypeId:null,status:"all"}),[N,I]=C.useState({complaintTypeId:null,direction:cn}),[k,K]=C.useState(1),[Q,G]=C.useState(Mh),[P,L]=C.useState([]),[j,B]=C.useState({}),[V,X]=C.useState(!1),[T,x]=C.useState(null),[z,R]=C.useState(null),[pe,Y]=C.useState(""),[se,_e]=C.useState([]),ye=String(U.complaintTypeId)===String(o)?U.status:"all",Me=String(N.complaintTypeId)===String(o)?N.direction:cn,ne=(F,W="success")=>{const ee=`${Date.now()}-${Math.random()}`;_e(le=>[...le,{id:ee,message:F,type:W}])},oe=F=>_e(W=>W.filter(ee=>ee.id!==F));C.useEffect(()=>{!o||r||(Ji(o),n(`/complaintmanagement/${o}`,{replace:!0}))},[o,n,r]),C.useEffect(()=>{if(!o||!r)return;Ji(o),t(Xe(o)),t(oo()),t(uo()),t(Of());const F=t(Dn(o)),W=t(xn(o)),ee=t(Qe(o)),le=t(Le(o)),be=t(yt(o));return le.unwrap().then(st=>L(Wh(st))).catch(()=>L([])),()=>{F.abort?.(),W.abort?.(),ee.abort?.(),le.abort?.(),be.abort?.()}},[o,t,r]),C.useEffect(()=>{if(!o||!r)return;const F=t(Yt({complaintTypeId:o,page:k,limit:Q,status:ye==="all"?void 0:ye}));return()=>F.abort?.()},[o,t,Q,k,r,ye]);const dn=C.useMemo(()=>new Map(P.map(F=>[F.key,F.hideForWorkflowStepId])),[P]),rt=C.useCallback(F=>am({hideForWorkflowStepId:dn.get(F)},b,_),[dn,b,_]),Ne=O.length===0||O.some(F=>_.includes(F)),q=C.useMemo(()=>f!=null&&o!=null&&String(f)!==String(o)?[]:l.map(F=>({...Yi(F,S,b),_fields:F?.formField||[]})),[o,l,f,S,b]),de=C.useMemo(()=>Xi(q,P).filter(F=>!rt(F.key)),[q,P,rt]),Ie=zi(de),Ee=C.useMemo(()=>Vh(q,Me),[q,Me]),qe=Ee.map(({_fields:F,...W})=>W),un=C.useMemo(()=>kh(de,Ee),[de,Ee]),at=un.every(F=>Object.prototype.hasOwnProperty.call(j,F));C.useEffect(()=>{const F=un.filter(ee=>!Object.prototype.hasOwnProperty.call(j,ee));if(!F.length)return;let W=!1;return Promise.all(F.map(async ee=>{try{const le=await t(Bn({params:{path:ee}})).unwrap();return[ee,le]}catch{return[ee,""]}})).then(ee=>{W||B(le=>({...le,...Object.fromEntries(ee)}))}),()=>{W=!0}},[un,j,t]);const rr=Hh(p,k,Q,qe.length),sl=!!(o&&!d&&(!qe.length&&(c||!u)||qe.length>0&&!at)),Pm=F=>{K(1),$({complaintTypeId:o,status:F}),o&&t(Yt({complaintTypeId:o,page:1,limit:Q,status:F==="all"?void 0:F}))},Mm=F=>{F>=1&&F<=rr.totalPages&&F!==k&&K(F)},Bm=F=>{const W=Number(F);!Number.isFinite(W)||W<=0||W===Q||(G(W),K(1))},$m=()=>I({complaintTypeId:o,direction:qh(Me)}),Um=()=>{o&&n(`/complaintmanagement/new/${o}`)},jm=(F,W)=>{if(F?.id==null||v!=null&&String(v)===String(F.id)||String(W)===String(F.statusId)||String(W)===String(F.status))return;const ee=S.find(be=>String(be.id)===String(W)||String(be.name)===String(W));if(ee?.id==null)return;const le=Gi(ee.name);le&&!F.canResolve||F.isFinalLevel&&!le||(Y(""),R({type:"status",row:F,statusId:ee.id,currentStepId:F.currentStepId,fromLabel:F.status||"—",toLabel:ee.name}))},Vm=(F,W)=>{if(F?.id==null||v!=null&&String(v)===String(F.id)||String(W)===String(F.currentStepId)||String(W)===String(F.escalationTo))return;const ee=b.find(le=>String(le.id)===String(W)||`Level ${le.levelNo}`===String(W));ee?.id!=null&&(Y(""),R({type:"escalation",row:F,statusId:F.statusId,currentStepId:ee.id,fromLabel:F.escalationTo||"—",toLabel:ee.levelNo!=null?`Level ${ee.levelNo}`:String(ee.name||ee.id)}))},qm=()=>{if(!z)return;const{row:F,statusId:W,currentStepId:ee,type:le,fromLabel:be,toLabel:st}=z;t(Xt({id:F.id,statusId:W,currentStepId:ee,remark:pe,onSuccess:()=>{ne(le==="status"?`Successfully changed Status from ${be} to ${st}`:`Successfully changed Escalation from ${be} to ${st}`,"success")},onFail:We=>{const He=We?.response?.data?.message??We?.message??"Failed to update complaint";ne(He,"error")}})),R(null),Y("")},Wm=()=>{R(null),Y("")},Hm=F=>({statusOptions:em(S,F),escalationOptions:tm(b),onStatusChange:W=>jm(F,W),onEscalationChange:W=>Vm(F,W),attachmentUrlMap:j});return{complaintTypeId:o,canCreateComplaint:Ne,isComplaintTypeActive:M,statusNames:h,selectedStatus:ye,selectedUpdatedAtSort:Me,isDownloadingReport:V,onStatusChange:Pm,onSortChange:$m,onNewComplaint:Um,onDownloadReport:async()=>{if(!(!o||V)){X(!0),x(null);try{const W=(await nm({complaintTypeId:o,status:ye})).map(He=>({...Yi(He,S,b),_fields:He?.formField||[]})),ee=Xi(W,P).filter(He=>!rt(He.key)),le=zi(ee).filter(He=>!Xh(He,W,ma)),be=new Blob([Rh(le,W)],{type:"text/csv;charset=utf-8;"}),st=URL.createObjectURL(be),We=document.createElement("a");We.href=st,We.download=`complaints-report-${o}-${Date.now()}.csv`,document.body.appendChild(We),We.click(),document.body.removeChild(We),URL.revokeObjectURL(st)}catch(F){x(F?.response?.data?.message??F?.message??"Failed to download report")}finally{X(!1)}}},error:d,downloadError:T,statusUpdateError:w,showLoading:sl,pendingChange:z,remarkDraft:pe,onRemarkDraftChange:Y,onConfirmPendingChange:qm,onCancelPendingChange:Wm,toasts:se,onDismissToast:oe,tableProps:{scrollFields:Ie.filter(F=>F.key!=="status"&&F.key!=="escalationTo"),stickyFields:[qi,Wi],tableRows:qe,fieldLabel:e,getCellContext:Hm,page:k,itemsPerPage:Q},paginationProps:{currentPage:k,totalItems:rr.totalItems,itemsPerPage:Q,onPageChange:Mm,onItemsPerPageChange:Bm,selectOptions:Bh,totalPages:rr.totalPages,disabled:sl,hasRows:!!(rr.totalItems>0||qe.length||k>1)}}}function om(){const e=sm();return i.jsxs("section",{className:"ca-complaint-table","aria-label":"Complaint records",children:[i.jsx(xi,{selectedStatus:e.selectedStatus,statusNames:e.statusNames,updatedAtSortOldest:e.selectedUpdatedAtSort==="asc",onStatusChange:e.onStatusChange,onSortChange:e.onSortChange,onNewComplaint:e.onNewComplaint,onDownloadReport:e.onDownloadReport,isDownloadingReport:e.isDownloadingReport,complaintTypeId:e.complaintTypeId,canCreateComplaint:e.canCreateComplaint,isComplaintTypeActive:e.isComplaintTypeActive}),e.error?i.jsx("p",{className:"ca-body",children:e.error}):null,e.downloadError?i.jsx("p",{className:"ca-body",children:e.downloadError}):null,e.statusUpdateError?i.jsx("div",{className:"ca-validation-toast",role:"alert",children:e.statusUpdateError}):null,e.showLoading?i.jsx(Ct,{text:"Loading complaints"}):i.jsx(ji,{...e.tableProps}),e.paginationProps.hasRows?i.jsx(Di,{...e.paginationProps}):null,e.pendingChange?i.jsxs(Nh,{open:!0,title:e.pendingChange.type==="status"?`Change status from ${e.pendingChange.fromLabel} to ${e.pendingChange.toLabel}?`:`Change escalation from ${e.pendingChange.fromLabel} to ${e.pendingChange.toLabel}?`,onPrimary:e.onConfirmPendingChange,onSecondary:e.onCancelPendingChange,primaryLabel:"Save",secondaryLabel:"Cancel",children:[i.jsx("label",{className:"ca-confirm-modal__label",htmlFor:"ca-remark-input",children:"Remark (optional)"}),i.jsx("textarea",{id:"ca-remark-input",className:"ca-confirm-modal__textarea",value:e.remarkDraft,onChange:t=>e.onRemarkDraftChange(t.target.value),placeholder:"Add a remark (optional)"})]}):null,i.jsx(Th,{toasts:e.toasts,onDismiss:e.onDismissToast})]})}const tr=()=>i.jsxs("main",{className:"ca-query-management-page",children:[i.jsx(_h,{}),i.jsx(om,{})]}),im={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 Sa(e){return typeof e=="string"?e:e?.label??""}function lm(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),s=n?.options?.values??[],o=t.find(l=>l.id===n.dependsOnFieldId||n.dependsOnFieldKey&&l.fieldKey===n.dependsOnFieldKey);return{id:n.id,label:r,fieldKey:Z({fieldKey:a,label:r})?"status":a,fieldType:ia(n.fieldType,im,n.fieldKey),required:!!n.required,dependsOn:n.dependsOnField?.fieldName??o?.fieldName??n.dependsOn??"",options:s.map(Sa).filter(Boolean),parentMappings:Object.fromEntries(s.map(l=>{const c=Sa(l),d=dm(l);return!c||!d?null:[c,um(d,o?.options?.values??[])]}).filter(Boolean))}})}function nr(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 cm(e){if(Z(e))return"status";const t=String(e.fieldKey||"").trim();return t&&!/\s/.test(t)?t:nr(e.label||t)}function dm(e){return!e||typeof e!="object"?"":e.dependsOnValue??e.parent??""}function um(e,t=[]){if(!e)return"";const n=t.map(Sa).filter(Boolean),r=n.find(s=>s===e);return r||n.find(s=>nr(s)===e||nr(s)===nr(e))||e}function fm(e,t=[],n={}){const r=e.options||[],a=String(e.dependsOn||"").trim();if(!a)return r;const s=t.find(d=>String(d.label||"").trim()===a||String(d.fieldKey||"").trim()===a);if(!s)return r;const o=e.parentMappings||{};if(!r.some(d=>!!o[d]))return r;const c=String(n[ie(s)]||"").trim();return c?r.filter(d=>String(o[d]||"")===c):r}function Ri(e){return At(e)==="checkbox"}function pm(e,t){const n=String(t||"").trim();return n&&e.find(r=>String(r.label||"").trim()===n||String(r.fieldKey||"").trim()===n)||null}function hm(e,t){const n=String(t?.label||"").trim();return n&&e.find(r=>String(r.dependsOn||"").trim()===n)||null}function mm(e,t,n){const r={},a=Array.isArray(t)?t[0]:t;if(!a)return r;let s=e,o=a;for(;s?.dependsOn;){const l=pm(n,s.dependsOn);if(!l)break;const c=(s.parentMappings||{})[o];if(!c)break;r[ie(l)]=Ri(l)?[c]:c,s=l,o=c}for(s=e,o=a;s;){const l=hm(n,s);if(!l)break;const c=l.parentMappings||{},d=Object.keys(c).find(u=>c[u]===o);if(!d)break;r[ie(l)]=Ri(l)?[d]:d,s=l,o=d}return r}function ie(e){return String(e.fieldKey||e.id||e.label)}function At(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 el(e){return`new-query-${e.id??ie(e)}`}function tl(e){if(Z(e))return(e.options||[]).find(r=>String(r).trim().toLowerCase()==="open")||"Open";const t=At(e);return t==="checkbox"||t==="file"||t==="images"?[]:""}function gm(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 wa(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;return n.url||n.fileUrl||n.urlPath||n.filePath||n.path||n.key||n.fileName||n.name||e.url||e.fileUrl||e.urlPath||e.filePath||e.path||e.key||e.fileName||n.id||e.id||t?.name||""}async function ym(e,t,n){const r=At(t);if(r==="file"&&typeof File<"u"&&n instanceof File){const a=await e(wt({file:n,folder:"complaints"})).unwrap();return wa(a,n)}return r==="file"&&Array.isArray(n)?Promise.all(n.map(async a=>{if(typeof File<"u"&&a instanceof File){const s=await e(wt({file:a,folder:"complaints"})).unwrap();return wa(s,a)}return a})):r==="images"&&Array.isArray(n)?await Promise.all(n.map(async s=>{if(typeof File<"u"&&s instanceof File){const o=await e(wt({file:s,folder:"complaints"})).unwrap();return wa(o,s)}return s})):gm(n)}async function bm(e=[],t={},n){const r={};for(const a of e){const s=cm(a);s&&(r[s]=await ym(n,a,t[ie(a)]))}return r}function nl(e){return Array.isArray(e)?e.length===0:typeof File<"u"&&e instanceof File?!1:e==null||String(e).trim()===""}function Sm(e){return/^\d+$/.test(String(e).trim())}function wm(e=[],t={}){for(const n of e){const r=At(n),a=t[ie(n)],s=n.label||"This field";if(n.required&&nl(a))return`${s} is required.`;if(!nl(a)&&r==="number"&&!Sm(a))return`${s} must be a valid number.`}return""}function vm({field:e,value:t,onChange:n,storeList:r,options:a=e.options}){const{fieldLabel:s}=Re(),o=At(e),l=el(e),c=Z(e);if(Ve(e)&&Array.isArray(r))return i.jsx(_i,{id:l,name:ie(e),required:e.required,storeList:r,value:t,onChange:n});if(o==="radio")return i.jsx("div",{className:"review-options review-options--inline",children:a.map(d=>i.jsxs("label",{className:"review-option",htmlFor:`${l}-${d}`,children:[i.jsx("input",{id:`${l}-${d}`,name:ie(e),type:"radio",value:d,checked:t===d,onChange:u=>n(u.target.value),required:e.required,disabled:c}),i.jsx("span",{children:d})]},d))});if(o==="checkbox"){const d=Array.isArray(t)?t:[];return i.jsx("div",{className:"review-options review-options--inline",children:a.map(u=>i.jsxs("label",{className:"review-option",htmlFor:`${l}-${u}`,children:[i.jsx("input",{id:`${l}-${u}`,name:`${ie(e)}[]`,type:"checkbox",value:u,checked:d.includes(u),onChange:f=>n(f.target.checked?[...d,u]:d.filter(p=>p!==u))}),i.jsx("span",{children:u})]},u))})}if(o==="textarea")return i.jsx("textarea",{id:l,name:ie(e),className:"review-control review-control--textarea",value:t,onChange:d=>n(d.target.value),required:e.required,disabled:c});if(o==="file")return i.jsx(Qn,{id:l,name:ie(e),value:t,onChange:n,multiple:!0,required:e.required,disabled:c});if(o==="images")return i.jsx(Qn,{id:l,name:ie(e),value:t,onChange:n,multiple:!0,required:e.required,disabled:c});if(o==="number")return i.jsx("input",{id:l,name:ie(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(o==="select"){const d=(a||[]).includes(t)||!c||!t?a:[t,...a];return i.jsxs("select",{id:l,name:ie(e),className:"review-control",value:t,onChange:u=>n(u.target.value),required:e.required,disabled:c,children:[c?null:i.jsxs("option",{value:"",children:["Select ",s(e)]}),d.map(u=>i.jsx("option",{value:u,children:u},u))]})}return i.jsx("input",{id:l,name:ie(e),className:"review-control",type:o,value:t,onChange:d=>n(d.target.value),required:e.required,disabled:c})}function rl({storeList:e}={}){const{fieldLabel:t}=Re(),n=H.useDispatch(),r=Ue(),{complaintTypeId:a}=fn(),s=Number(a),o=Number.isFinite(s)&&s>0,[l,c]=C.useState([]),[d,u]=C.useState({}),[f,p]=C.useState(!0),[S,w]=C.useState(!1),[v,y]=C.useState(""),[g,h]=C.useState(""),[b,_]=C.useState("");C.useEffect(()=>{if(!o)return;let N=!1;return n(Le(s)).unwrap().then(I=>{if(N)return;const k=lm(Array.isArray(I?.data)?I.data:I);c(k),u(Object.fromEntries(k.map(K=>[ie(K),tl(K)])))}).catch(I=>{N||y(typeof I=="string"?I:I?.message||"Failed to load form fields.")}).finally(()=>{N||p(!1)}),()=>{N=!0}},[s,n,o]);const O=C.useMemo(()=>l.length>0,[l]),M=async N=>{if(N.preventDefault(),!o){y("A valid complaint type is required.");return}if(y(""),h(""),w(!0),!b.trim()){y("Complaint Name is required."),w(!1);return}const I=wm(l,d);if(I){y(I),w(!1);return}try{const k=await bm(l,d,n),K={complaintTypeId:s,title:b.trim(),fieldValues:k};await n(Mn(K)).unwrap(),h("Query submitted successfully."),r(`/complaintmanagement/${s}`)}catch(k){y(typeof k=="string"?k:k?.message||"Failed to submit query.")}finally{w(!1)}},U=N=>{const I=fm(N,l,d);return i.jsxs("div",{className:`review-question${["textarea","radio","checkbox"].includes(At(N))?" review-question--wide":""}`,children:[i.jsxs("label",{className:"review-label",htmlFor:el(N),children:[t(N)||"Untitled field",N.required?i.jsx("span",{className:"review-required",children:"*"}):null]}),i.jsx(vm,{storeList:e,field:N,options:I,value:d[ie(N)]??tl(N),onChange:k=>{Z(N)||u(K=>{const Q=mm(N,k,l);return{...K,[ie(N)]:k,...Q}})}})]},N.id??ie(N))},$=()=>i.jsxs("div",{className:"review-question",children:[i.jsx("label",{className:"review-label",htmlFor:"new-query-complaint-name",children:"Complaint Name"}),i.jsx("input",{id:"new-query-complaint-name",name:"complaintName",className:"review-control",type:"text",value:b,onChange:N=>_(N.target.value)})]},"complaint-name");return i.jsx("main",{className:"ca-query-management-page",children:i.jsxs("section",{className:"ca-query-details","aria-labelledby":"new-query-title",children:[i.jsx("div",{className:"ca-query-details__heading",children:i.jsxs("div",{className:"ca-query-details__title-row",children:[i.jsx("button",{type:"button",className:"ca-settings-page__back",onClick:()=>r(`/complaintmanagement/${s}`),"aria-label":"Back to Complaint Management",children:i.jsx("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:i.jsx("path",{d:"M15 6l-6 6 6 6",stroke:"currentColor",strokeWidth:"2.2",strokeLinecap:"round",strokeLinejoin:"round"})})}),i.jsx("h1",{id:"new-query-title",className:"ca-query-details__title",children:"New Complaint"})]})}),v||!o?i.jsx("div",{className:"ca-validation-toast",role:"alert",children:v||"A valid complaint type is required."}):null,f&&o?i.jsx(Ct,{text:"Loading form fields"}):null,o&&!f&&O?i.jsxs("form",{className:"review-form-card",onSubmit:M,children:[i.jsxs("div",{className:"review-form-grid",children:[l.map(N=>i.jsxs(C.Fragment,{children:[U(N),Z(N)?$():null]},N.id??ie(N))),l.some(Z)?null:$()]}),i.jsx("div",{className:"ca-new-query__actions",children:i.jsx(ge,{type:"submit",disabled:S,children:S?"Submitting...":"Submit Complaint"})}),g?i.jsx("p",{className:"ca-body",children:g}):null]}):null]})})}function Cm({pageProps:e={},onPublish:t,onStepChange:n,children:r}){const a=r??i.jsx(Vo,{...e});return i.jsxs(ec,{children:[i.jsx(Ae,{path:"/",element:a}),i.jsx(Ae,{path:"/settings/:systemId",element:i.jsx(Ii,{onPublish:t,onStepChange:n,company:e.company,roleList:e.roleList,storeList:e.storeList})}),i.jsx(Ae,{path:"complaintmanagement",element:i.jsx(tr,{company:e.company})}),i.jsx(Ae,{path:"complaintmanagement/new/:complaintTypeId",element:i.jsx(rl,{company:e.company,storeList:e.storeList})}),i.jsx(Ae,{path:"complaintmanagement/:complaintTypeId",element:i.jsx(tr,{company:e.company})}),i.jsx(Ae,{path:"querymanagement",element:i.jsx(tr,{company:e.company})}),i.jsx(Ae,{path:"querymanagement/new/:complaintTypeId",element:i.jsx(rl,{company:e.company,storeList:e.storeList})}),i.jsx(Ae,{path:"querymanagement/:complaintTypeId",element:i.jsx(tr,{company:e.company})}),i.jsx(Ae,{path:"*",element:a})]})}function _m({pageProps:e,onPublish:t=a=>console.log(a),onStepChange:n=a=>console.log(a),children:r}){return i.jsx(Cm,{pageProps:e,onPublish:t,onStepChange:n,children:r})}function Nm({children:e}){const{cssVars:t,darkMode:n,mode:r}=Ws();return i.jsx("div",{className:`ca-root ${n?"ca-root--dark":"ca-root--light"}`,"data-ca-theme":r,style:t,children:e})}function Em({basePath:e,children:t}){return it()?t:i.jsx(mc,{basename:e,children:t})}function Tm({store:e,children:t}){return i.jsx(H.Provider,{store:e||So,children:t})}function Am({details:e,children:t}){const n=H.useDispatch();return C.useEffect(()=>{n(Ys(e))},[n,e]),t}const Lm=[],al=({apiUrl:e,authToken:t,store:n,basePath:r="/",theme:a,darkMode:s=!1,title:o,description:l,rolelist:c,roleList:d=c??Lm,storeList:u,currentUser:f,company:p,useDemoData:S=!0,createLabel:w,onCreateForm:v,onConfigure:y,onOpen:g,onTitleClick:h,onDescriptionClick:b,onSearch:_,onPublish:O,onSaveDraft:M,showSaveButton:U,showNextButton:$,onStepChange:N,children:I})=>{const k={title:o,description:l,useDemoData:S,createLabel:w,onCreateForm:v,onConfigure:y,onOpen:g,roleList:d,storeList:u,company:p,onTitleClick:h,onDescriptionClick:b,onSearch:_,onSaveDraft:M,showSaveButton:U,showNextButton:$},K=C.useMemo(()=>({apiUrl:e,authToken:t,basePath:r,theme:a,darkMode:s,title:o,description:l,roleList:d,storeList:u,currentUser:f,company:p,useDemoData:S,createLabel:w,onCreateForm:v,onConfigure:y,onOpen:g,onTitleClick:h,onDescriptionClick:b,onSearch:_,onPublish:O,onSaveDraft:M,showSaveButton:U,showNextButton:$,onStepChange:N}),[e,t,r,a,s,o,l,d,u,f,p,S,w,v,y,g,h,b,_,O,M,U,$,N]);return i.jsx(ai.Provider,{value:p,children:i.jsx(qs,{theme:a,darkMode:s,children:i.jsx(Tm,{store:n,children:i.jsx(Am,{details:K,children:i.jsx(Nm,{children:i.jsx(Ms,{apiUrl:e,authToken:t,children:i.jsx(Em,{basePath:r,children:i.jsx(_m,{pageProps:k,onPublish:O,onStepChange:N,children:I})})})})})})})})};function Fm({children:e,onClick:t,className:n="",active:r=!1}){return i.jsx("button",{type:"button",className:`ca-chip ${r?"ca-chip--active":""} ${n}`.trim(),onClick:t,children:e})}function Om({checked:e=!1,onChange:t,name:n,value:r,"aria-label":a,className:s=""}){return i.jsxs("label",{className:`ca-radio ${s}`.trim(),children:[i.jsx("input",{type:"radio",className:"ca-radio__input",name:n,value:r,checked:e,onChange:t,"aria-label":a}),i.jsx("span",{className:"ca-radio__mark"})]})}const km=xe.colors,Im=xe.radii,Dm=xe.spacing,xm=xe.typography;E.AddFormButton=ri,E.AddTableCard=Xo,E.ApiProvider=Ms,E.BodyText=$n,E.Button=ge,E.COMPLAINT_ENDPOINTS=Fn,E.CardFooter=Do,E.CardHeader=Io,E.ChevronDownIcon=Gr,E.ChevronRightIcon=Jr,E.Chip=Fm,E.CloseIcon=Zo,E.ComplaintApp=al,E.ComplaintManagementPage=Vo,E.ComplaintSettingsPage=Ii,E.ComplaintTableGrid=ji,E.ComplaintTableToolbar=xi,E.CustomPagination=Di,E.DEFAULT_PAGE_DESCRIPTION=jo,E.DEMO_SYSTEMS=cp,E.DataPoint=xo,E.Divider=Po,E.DragHandleIcon=oi,E.EmptyState=Pi,E.FieldLabel=Zr,E.FormCard=pi,E.FormCardGrid=hi,E.FormField=Pe,E.FormInput=en,E.FormSelect=Qr,E.FormTextarea=up,E.Heading1=Hr,E.Heading2=zr,E.Input=vt,E.LabelText=Co,E.LayersIcon=zo,E.LinkText=jf,E.Loading=Ct,E.PageHeader=No,E.PlusIcon=wo,E.Radio=Om,E.RoleMultiSelect=Rr,E.SETTINGS_STEPS=Fe,E.SearchBar=Uo,E.SearchIcon=$o,E.Select=Oe,E.SettingsCard=Rt,E.SettingsCardHeader=Ko,E.SettingsWizardProvider=Ho,E.StatusBadge=Eo,E.Stepper=tn,E.SystemCard=Mo,E.SystemCardGrid=Bo,E.TableCard=Qo,E.TableCardGrid=ti,E.Tag=Go,E.Textarea=Jo,E.ThemeProvider=qs,E.Toggle=jn,E.ToggleField=Ci,E.TrashIcon=Vn,E.Typography=je,E.ValueText=_o,E.WORKFLOW_SUBSTEPS=dp,E.api=re,E.appDetailsReducer=Xs,E.clearAppDetails=Xu,E.clearComplaintError=Wu,E.clearId=Qu,E.clearSelectedComplaintResource=Hu,E.colors=km,E.complaintReducer=Ks,E.createComplaintStore=bo,E.darkTheme=qt,E.deepMerge=mt,E.default=al,E.defaultThemeFile=Bs,E.deleteFormField=gt,E.getFormFields=Le,E.lightTheme=xe,E.normalizeThemeFile=$s,E.radii=Im,E.resetComplaintState=zu,E.resolveActiveTheme=Us,E.saveFormFields=Wt,E.setAppDetails=Ys,E.setAuthToken=xr,E.setBaseUrl=Ps,E.setId=Xe,E.setIsEdit=Gt,E.spacing=Dm,E.store=So,E.themeToCssVars=js,E.typography=xm,E.useSettingsWizard=qn,E.useTheme=Ws,Object.defineProperties(E,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
|
|
13
13
|
//# sourceMappingURL=complaint-app.umd.js.map
|