@attabot/complaint-app 1.0.21 → 1.0.22

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,5 +8,5 @@
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=Ue(this.defaults,n);const{transitional:r,paramsSerializer:a,headers:s}=n;r!==void 0&&pn.assertOptions(r,{silentJSONParsing:le.transitional(le.boolean),forcedJSONParsing:le.transitional(le.boolean),clarifyTimeoutError:le.transitional(le.boolean),legacyInterceptorReqResOrdering:le.transitional(le.boolean),advertiseZstdAcceptEncoding:le.transitional(le.boolean),validateStatusUndefinedResolves:le.transitional(le.boolean)},!1),a!=null&&(m.isFunction(a)?n.paramsSerializer={serialize:a}:pn.assertOptions(a,{encode:le.function,serialize:le.function},!0)),n.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?n.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:n.allowAbsoluteUrls=!0),pn.assertOptions(n,{baseUrl:le.spelling("baseURL"),withXsrfToken:le.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"],N=>{delete s[N]}),n.headers=ie.concat(o,s);const l=[];let c=!0;this.interceptors.request.forEach(function(C){if(typeof C.runWhen=="function"&&C.runWhen(n)===!1)return;c=c&&C.synchronous;const y=n.transitional||ir;y&&y.legacyInterceptorReqResOrdering?l.unshift(C.fulfilled,C.rejected):l.push(C.fulfilled,C.rejected)});const d=[];this.interceptors.response.forEach(function(C){d.push(C.fulfilled,C.rejected)});let u,f=0,h;if(!c){const N=[hr.bind(this),void 0];for(N.unshift(...l),N.push(...d),h=N.length,u=Promise.resolve(n);f<h;)u=u.then(N[f++],N[f++]);return u}h=l.length;let w=n;for(;f<h;){const N=l[f++],C=l[f++];try{w=N?N(w):w}catch(y){if(!C){u=Promise.reject(y);break}try{const g=C.call(this,y);m.isThenable(g)&&(u=Promise.resolve(g).then(()=>hr.call(this,w)))}catch(g){u=Promise.reject(g)}break}}if(!u)try{u=hr.call(this,w)}catch(N){u=Promise.reject(N)}for(f=0,h=d.length;f<h;)u=u.then(d[f++],d[f++]);return u}getUri(t){t=Ue(this.defaults,t);const n=Xa(t.baseURL,t.url,t.allowAbsoluteUrls,t);return Va(n,t.params,t.paramsSerializer)}};m.forEach(["delete","get","head","options"],function(t){je.prototype[t]=function(n,r){return this.request(Ue(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(Ue(l||{},{method:t,headers:r?{"Content-Type":"multipart/form-data"}:{},url:s,data:o}))}}je.prototype[t]=n(),t!=="query"&&(je.prototype[t+"Form"]=n(!0))});let Zd=class Ti{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 Tt(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 Ti(function(a){t=a}),cancel:t}}};function Yd(e){return function(n){return e.apply(null,n)}}function Gd(e){return m.isObject(e)&&e.isAxiosError===!0}const mr={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(mr).forEach(([e,t])=>{mr[t]=e});function us(e){const t=new je(e),n=Na(je.prototype.request,t);return m.extend(n,je.prototype,t,{allOwnKeys:!0}),m.extend(n,t,null,{allOwnKeys:!0}),n.create=function(a){return us(Ue(e,a))},n}const ne=us(Et);ne.Axios=je,ne.CanceledError=Tt,ne.CancelToken=Zd,ne.isCancel=Ka,ne.VERSION=ur,ne.toFormData=cn,ne.AxiosError=I,ne.Cancel=ne.CanceledError,ne.all=function(t){return Promise.all(t)},ne.spread=Yd,ne.isAxiosError=Gd,ne.mergeConfig=Ue,ne.AxiosHeaders=ie,ne.formToJSON=e=>za(m.isHTMLForm(e)?new FormData(e):e),ne.getAdapter=cs.getAdapter,ne.HttpStatusCode=mr,ne.default=ne;const{Axios:Fh,AxiosError:Oh,CanceledError:kh,isCancel:Ih,CancelToken:xh,VERSION:Dh,all:Ph,Cancel:Mh,isAxiosError:Bh,spread:$h,toFormData:Uh,AxiosHeaders:jh,HttpStatusCode:Vh,formToJSON:qh,getAdapter:Wh,mergeConfig:Hh,create:zh}=ne;function hn(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 Xd={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 gr(e,t){function n(a,s,o){if(!(typeof document>"u")){o=hn({},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,"",hn({},s,{expires:-1}))},withAttributes:function(a){return gr(this.converter,hn({},this.attributes,a))},withConverter:function(a){return gr(hn({},this.converter,a),this.attributes)}},{attributes:{value:Object.freeze(t)},converter:{value:Object.freeze(e)}})}var Lt=gr(Xd,{path:"/"});const Qd={BASE_URL:"/",DEV:!1,MODE:"production",PROD:!0,SSR:!1};let et="https://api-grievance.airaops.com",fs=null;try{if(typeof{url:typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:Vn&&Vn.tagName.toUpperCase()==="SCRIPT"&&Vn.src||new URL("complaint-app.umd.js",document.baseURI).href}<"u"&&Qd?.VITE_API_URL)et=void 0;else{const e=typeof process<"u"?process:null;e?.env?.VITE_API_URL&&(et=e.env.VITE_API_URL)}}catch{}const ps=e=>{et=e||"",re.defaults.baseURL=et},yr=e=>{fs=e||null},Rd=()=>fs||Lt.get("token")||null,re=ne.create({baseURL:et,headers:{Accept:"application/json","Content-Type":"application/json"}});re.interceptors.request.use(e=>{const t=Rd();return e.headers=e.headers||{},t?e.headers.Authorization=`Bearer ${t}`:delete e.headers.Authorization,e});let br=!1,Sr=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=Lt.get("refreshToken");if(r)try{br||(br=!0,Sr=ne.post(`${et}/api/v1/auth/refresh`,{},{headers:{Authorization:`Bearer ${r}`}}));const a=await Sr,{token:s,refreshToken:o}=a.data;return yr(s),o&&Lt.set("refreshToken",o),t.headers.Authorization=`Bearer ${s}`,re(t)}catch{Lt.remove("token"),Lt.remove("refreshToken")}finally{br=!1,Sr=null}}return Promise.reject(e)});const eu=_.createContext(null),hs=({children:e,apiUrl:t,authToken:n})=>(t&&ps(t),yr(n||null),i.jsx(eu.Provider,{value:{apiUrl:t,authToken:n},children:e})),_e={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)"}},At={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)"}},ms={light:_e,dark:At};function tt(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)}function nt(e,t){if(!tt(t))return e;const n={...e};return Object.keys(t).forEach(r=>{const a=t[r];tt(a)&&tt(e[r])?n[r]=nt(e[r],a):a!==void 0&&(n[r]=a)}),n}function gs(e){return!e||!tt(e)?{light:_e,dark:At}:tt(e.light)||tt(e.dark)?{light:nt(_e,e.light||{}),dark:nt(At,e.dark||{})}:{light:nt(_e,e),dark:nt(At,e)}}function ys(e,t=!1){const n=gs(e);return{...t?n.dark:n.light,mode:t?"dark":"light",__pack:n}}const tu={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"},nu={sm:"--ca-radius-sm",md:"--ca-radius-md",lg:"--ca-radius-lg",xl:"--ca-radius-xl",pill:"--ca-radius-pill"},ru={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"},au={card:"--ca-shadow-card",settings:"--ca-shadow-settings"};function bs(e){const t={};return e?.colors&&Object.entries(tu).forEach(([n,r])=>{e.colors[n]!=null&&(t[r]=e.colors[n])}),e?.radii&&Object.entries(nu).forEach(([n,r])=>{e.radii[n]!=null&&(t[r]=e.radii[n])}),e?.typography&&Object.entries(ru).forEach(([n,r])=>{e.typography[n]!=null&&(t[r]=e.typography[n])}),e?.shadow&&Object.entries(au).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 Ss=_.createContext({darkMode:!1,theme:null,themeFile:ms,cssVars:{}});function vs({theme:e,darkMode:t=!1,children:n}){const r=_.useMemo(()=>{const a=ys(e,!!t),s=bs(a);return{darkMode:!!t,theme:a,themeFile:a.__pack,cssVars:s,mode:a.mode}},[e,t]);return i.jsx(Ss.Provider,{value:r,children:n})}function ws(){return _.useContext(Ss)}const mn=Object.freeze({formFields:e=>`/api/v1/complaint-types/${e}/form-fields`}),su=e=>{const t=e?.response?.data,n=t?.message??t?.error??e?.message;return Array.isArray(n)?n.filter(Boolean).join(", "):n&&typeof n=="object"?n.message??JSON.stringify(n):n||"Something went wrong"},ou=(e,t)=>t.rejectWithValue({status:e?.response?.status??e?.status,message:su(e)}),vr=(e,t)=>R.createAsyncThunk(e,async(n,r)=>{try{return(await t(n,r)).data}catch(a){return ou(a,r)}}),Ee=vr("complaint/types/getFormFields",(e,{signal:t})=>re.get(mn.formFields(e),{signal:t})),Ft=vr("complaint/types/saveFormFields",({complaintTypeId:e,data:t})=>re.put(mn.formFields(e),t)),rt=vr("complaint/types/deleteFormField",({complaintTypeId:e,fieldId:t})=>re.delete(`${mn.formFields(e)}/${t}`)),Cs={formFields:{data:[],selected:null,pagination:null,isLoading:!1,isMutating:!1,error:null},error:null},iu=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}},wr=e=>e.payload?.message??e.error?.message??"Something went wrong",Ns=R.createSlice({name:"complaintAppComplaint",initialState:Cs,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 Cs}},extraReducers:e=>{e.addCase(Ee.pending,t=>{t.formFields.isLoading=!0,t.formFields.error=null}).addCase(Ee.fulfilled,(t,n)=>{const r=iu(n.payload);t.formFields.isLoading=!1,t.formFields.data=r.data}).addCase(Ee.rejected,(t,n)=>{t.formFields.isLoading=!1,t.formFields.error=wr(n)}).addCase(Ft.pending,t=>{t.formFields.isMutating=!0,t.formFields.error=null}).addCase(Ft.fulfilled,t=>{t.formFields.isMutating=!1}).addCase(Ft.rejected,(t,n)=>{t.formFields.isMutating=!1,t.formFields.error=wr(n)}).addCase(rt.pending,t=>{t.formFields.isMutating=!0,t.formFields.error=null}).addCase(rt.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(rt.rejected,(t,n)=>{t.formFields.isMutating=!1,t.formFields.error=wr(n)})}}),{clearComplaintError:lu,clearSelectedComplaintResource:cu,resetComplaintState:du}=Ns.actions,_s=Ns.reducer,Ot="/api/v1/complaint-types",kt=(e,t)=>t.rejectWithValue({status:e?.response?.status??e?.status,message:e?.response?.data?.message??e?.response?.data?.error??e?.message??"Something went wrong"}),It=R.createAsyncThunk("complaintType/fetchAll",async(e,t)=>{try{const n=await re.get(Ot);return console.log("[fetchComplaintTypes] API response:",n.data),n.data}catch(n){return console.error("[fetchComplaintTypes] API request failed:",n),kt(n,t)}}),xt=R.createAsyncThunk("complaintType/fetchById",async(e,t)=>{try{const n=e;return(await re.get(`${Ot}/${n}`)).data}catch(n){return kt(n,t)}}),Dt=R.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(Ot,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),kt(a,r)}}),Pt=R.createAsyncThunk("complaintType/update",async({id:e,data:t,onSuccess:n,onFail:r},a)=>{try{const s=await re.patch(`${Ot}/${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),kt(s,a)}}),gn=R.createAsyncThunk("complaintType/delete",async(e,t)=>{try{const n=await re.delete(`${Ot}/${e}`);return{id:e,data:n.data}}catch(n){return kt(n,t)}}),uu={complaintList:[],selected:null,loading:!1,saving:!1,error:null},fu=["data","items","results","content","records","list","payload","response","result"],Es=e=>{if(Array.isArray(e))return e;if(!e||typeof e!="object")return[];for(const t of fu)if(e[t]!==void 0){const n=Es(e[t]);if(n.length||Array.isArray(e[t]))return n}return[]},Ts=R.createSlice({name:"complaintType",initialState:uu,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(It.pending,t=>{console.log("fetchComplaintTypes.pending"),t.loading=!0,t.error=null}).addCase(It.fulfilled,(t,n)=>{t.loading=!1,t.complaintList=Es(n.payload),console.log(t.complaintList,"state.complaintList")}).addCase(It.rejected,(t,n)=>{t.loading=!1,t.error=n.payload?.message??n.error?.message??"Failed to fetch complaint types"}).addCase(xt.pending,t=>{t.loading=!0,t.error=null}).addCase(xt.fulfilled,(t,n)=>{t.loading=!1,t.selected=n.payload?.data??n.payload}).addCase(xt.rejected,(t,n)=>{t.loading=!1,t.error=n.payload?.message??n.error?.message??"Failed to fetch complaint type"}).addCase(Dt.pending,t=>{t.saving=!0,t.error=null}).addCase(Dt.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(Dt.rejected,(t,n)=>{t.saving=!1,t.error=n.payload?.message??n.error?.message??"Failed to create complaint type"}).addCase(Pt.pending,t=>{t.saving=!0,t.error=null}).addCase(Pt.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(Pt.rejected,(t,n)=>{t.saving=!1,t.error=n.payload?.message??n.error?.message??"Failed to update complaint type"}).addCase(gn.pending,t=>{t.saving=!0,t.error=null}).addCase(gn.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(gn.rejected,(t,n)=>{t.saving=!1,t.error=n.payload?.message??n.error?.message??"Failed to delete complaint type"})}}),{setComplaintTypeActive:pu}=Ts.actions,hu=Ts.reducer,mu={details:{},id:null,isEdit:!1},Ls=R.createSlice({name:"appDetails",initialState:mu,reducers:{setAppDetails(e,t){e.details=t.payload??{}},clearAppDetails(e){e.details={}},setId(e,t){e.id=t.payload},setIsEdit(e,t){console.log("setIsEdit called with payload:",t.payload),e.isEdit=t.payload.data,console.log("isEdit state updated to:",e.isEdit)},clearId(e){e.id=null}}}),{setAppDetails:As,clearAppDetails:gu,setId:Ve,setIsEdit:Mt,clearId:yu}=Ls.actions,Fs=Ls.reducer,bu={list:[],pagination:null,isLoading:!1,error:null},Os=R.createSlice({name:"roles",initialState:bu,reducers:{}});Os.reducer;const yn=60,Cr=24*yn,Su={d:Cr,h:yn,m:1};function Nr(e){const t=Number(e);return Number.isFinite(t)&&t>0?t:0}function ks(e=[],t=!0){const n=Array.isArray(e)?e:[];return(t?n:n.slice(0,-1)).reduce((a,s)=>a+me(s?.escalateAfterMinutes),0)}function me(e){if(e==null||e==="")return 0;if(typeof e=="number")return Nr(e);const t=String(e).trim().toLowerCase().replace(/minutes?/g,"").trim();if(!t)return 0;if(/^\d+(\.\d+)?$/.test(t))return Nr(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+=(Su[s[2]]||0)*Number(s[1]);return a?Nr(r):0}function at(e){const t=Math.round(typeof e=="number"?e:me(e));if(!Number.isFinite(t)||t<=0)return"";const n=Math.floor(t/Cr),r=Math.floor(t%Cr/yn),a=t%yn,s=[];return n&&s.push(`${n}d`),r&&s.push(`${r}h`),a&&s.push(`${a}m`),s.join("")}function vu(e){const t=String(e??"").trim().toLowerCase().replace(/minutes?/g,"").replace(/\s+/g,"");return!t||!/^(\d+(?:\.\d+)?[dhm])+$/.test(t)?!1:me(e)>0}function wu(e){return String(e??"").replace(/(\d+)\s*minutes?/gi,(t,n)=>at(Number(n))||"0m")}function Cu(e=[]){return ks(e,!0)}function st(e=[],t=0){if(!Array.isArray(e)||e.length===0)return e;const n=Math.max(0,me(t)-ks(e,!1)),r=at(n),a=e.length-1;return String(e[a]?.escalateAfterMinutes??"")===r?e:e.map((s,o)=>o===a?{...s,escalateAfterMinutes:r}:s)}function Nu(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 Is=e=>`/api/v1/complaint-types/${e}/workflow-steps`;function _u(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 _r(e){return e===!0||e==="Yes"||e==="yes"||e==="true"||e===1||e==="1"}const xs=(e,t)=>t.rejectWithValue({status:e?.response?.status??e?.status,message:_u(e)}),qe=R.createAsyncThunk("workflow/fetchSteps",async(e,t)=>{try{return(await re.get(Is(e))).data}catch(n){return xs(n,t)}}),bn=R.createAsyncThunk("workflow/updateSteps",async({id:e,tables:t,onSuccess:n,onFail:r},a)=>{console.log("tables:",t),console.log("is array:",Array.isArray(t.tables));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:me(l.escalateAfterMinutes),canResolve:_r(l.canResolve),canReassign:_r(l.canReassign),isFinalLevel:_r(l.finalLevel),isActive:!0}));console.log("steps:",s);const o=await re.put(Is(e),{steps:s});return typeof n=="function"&&n(o.data),o.data}catch(s){return typeof r=="function"&&r(s),xs(s,a)}}),Eu={workflowSteps:null,workflowStepsLoading:!1,workflowStepsSaving:!1,error:null},Tu=R.createSlice({name:"workflow",initialState:Eu,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(bn.pending,t=>{t.workflowStepsSaving=!0,t.error=null}).addCase(bn.fulfilled,(t,n)=>{t.workflowStepsSaving=!1,t.workflowSteps=n.payload?.data??n.payload}).addCase(bn.rejected,(t,n)=>{t.workflowStepsSaving=!1,t.error=n.payload?.message??n.error?.message??"Failed to update workflow steps"})}}).reducer,Lu="/api/v1/complaints",Au=(e,t)=>t.rejectWithValue({status:e?.response?.status??e?.status,message:e?.response?.data?.message??e?.response?.data?.error??e?.message??"Something went wrong"}),Bt=R.createAsyncThunk("complaintManagement/fetchQueries",async(e,t)=>{try{const{complaintTypeId:n,page:r=1,limit:a=10,status:s}=e||{},o={page:r,limit:a,complaintTypeId:n};return s!=null&&s!==""&&s!=="all"&&(o.status=s),(await re.get(Lu,{params:o,signal:t.signal})).data}catch(n){return Au(n,t)}}),Fu=e=>`/api/v1/complaints/${e}`,Ou=(e,t)=>t.rejectWithValue({status:e?.response?.status??e?.status,message:e?.response?.data?.message??e?.response?.data?.error??e?.message??"Something went wrong"});function Er(e){if(e==null||e==="")return;const t=Number(e);return Number.isNaN(t)?void 0:t}const ot=R.createAsyncThunk("changeStatus/update",async({id:e,statusId:t,currentStepId:n,assignedToUserId:r,onSuccess:a,onFail:s},o)=>{try{const l={},c=Er(t),d=Er(n),u=Er(r);c!=null&&(l.statusId=c),d!=null&&(l.currentStepId=d),u!=null&&(l.assignedToUserId=u);const f=await re.patch(Fu(e),l,{signal:o.signal});return a&&typeof a=="function"&&a(f.data),f.data}catch(l){return s&&typeof s=="function"&&s(l),Ou(l,o)}}),Ds={list:[],meta:null,isLoading:!1,error:null,hasLoaded:!1,requestedComplaintTypeId:null},ku=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}},Iu=e=>e.payload?.message??e.error?.message??"Failed to fetch queries",Ps=e=>e?.complaintId??e?.id,xu=(e,t)=>{const n=t.meta?.arg??{},r=t.payload?.data??t.payload,a=n.id??Ps(r);return a==null?e:e.map(s=>{if(String(Ps(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})},Ms=R.createSlice({name:"complaintManagement",initialState:Ds,reducers:{resetComplaintManagementState:()=>Ds},extraReducers:e=>{e.addCase(Bt.pending,(t,n)=>{t.isLoading=!0,t.error=null,t.hasLoaded=!1,t.list=[],t.requestedComplaintTypeId=n.meta.arg?.complaintTypeId??null}).addCase(Bt.fulfilled,(t,n)=>{const r=n.meta.arg?.complaintTypeId;if(t.requestedComplaintTypeId!=null&&r!=null&&String(t.requestedComplaintTypeId)!==String(r))return;const a=ku(n.payload);t.isLoading=!1,t.hasLoaded=!0,t.list=a.list,t.meta=a.meta}).addCase(Bt.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=Iu(n))}).addCase(ot.fulfilled,(t,n)=>{t.list=xu(t.list,n)})}}),{resetComplaintManagementState:Bs}=Ms.actions,Du=Ms.reducer,Pu=e=>`/api/v1/complaint-types/${e}/statuses`,Mu="/api/v1/complaints/summary",$s=(e,t)=>t.rejectWithValue({status:e?.response?.status??e?.status,message:e?.response?.data?.message??e?.response?.data?.error??e?.message??"Something went wrong"}),Sn=R.createAsyncThunk("status/fetchStatuses",async(e,t)=>{try{return(await re.get(Pu(e),{signal:t.signal})).data}catch(n){return $s(n,t)}}),vn=R.createAsyncThunk("status/fetchComplaintSummary",async(e,t)=>{try{return(await re.get(Mu,{params:{complaintTypeId:e},signal:t.signal})).data}catch(n){return $s(n,t)}}),Us={list:[],isLoading:!1,error:null,hasLoaded:!1,requestedComplaintTypeId:null,complaintSummary:null,isComplaintSummaryLoading:!1,complaintSummaryError:null,hasComplaintSummaryLoaded:!1,requestedComplaintSummaryTypeId:null},Bu=e=>{const t=e?.data??e?.results??e?.items??e;return Array.isArray(t)?t:[]},$u=e=>{const t=e?.data??e;return!t||typeof t!="object"||Array.isArray(t)?null:t},Uu=e=>e.payload?.message??e.error?.message??"Failed to fetch statuses",ju=e=>e.payload?.message??e.error?.message??"Failed to fetch complaint summary",wn=(e,t)=>e!=null&&t!=null&&String(e)!==String(t),js=R.createSlice({name:"status",initialState:Us,reducers:{resetStatusState:()=>Us},extraReducers:e=>{e.addCase(Sn.pending,(t,n)=>{t.isLoading=!0,t.error=null,t.hasLoaded=!1,t.list=[],t.requestedComplaintTypeId=n.meta.arg??null}).addCase(Sn.fulfilled,(t,n)=>{const r=n.meta.arg;if(wn(t.requestedComplaintTypeId,r))return;const a=Bu(n.payload);t.isLoading=!1,t.hasLoaded=!0,t.list=[...a].sort((s,o)=>(s.displayOrder??0)-(o.displayOrder??0))}).addCase(Sn.rejected,(t,n)=>{if(n.meta.aborted)return;const r=n.meta.arg;wn(t.requestedComplaintTypeId,r)||(t.isLoading=!1,t.hasLoaded=!0,t.error=Uu(n))}).addCase(vn.pending,(t,n)=>{t.isComplaintSummaryLoading=!0,t.complaintSummaryError=null,t.hasComplaintSummaryLoaded=!1,t.complaintSummary=null,t.requestedComplaintSummaryTypeId=n.meta.arg??null}).addCase(vn.fulfilled,(t,n)=>{const r=n.meta.arg;wn(t.requestedComplaintSummaryTypeId,r)||(t.isComplaintSummaryLoading=!1,t.hasComplaintSummaryLoaded=!0,t.complaintSummary=$u(n.payload))}).addCase(vn.rejected,(t,n)=>{if(n.meta.aborted)return;const r=n.meta.arg;wn(t.requestedComplaintSummaryTypeId,r)||(t.isComplaintSummaryLoading=!1,t.hasComplaintSummaryLoaded=!0,t.complaintSummaryError=ju(n))})}}),{resetStatusState:Vs}=js.actions,Vu=js.reducer,qu="/api/v1/complaints",Wu="/api/v1/complaint-types",qs=(e,t)=>t.rejectWithValue({status:e?.response?.status??e?.status,message:e?.response?.data?.message??e?.response?.data?.error??e?.message??"Something went wrong"}),Cn=R.createAsyncThunk("createComplaint/create",async(e,t)=>{try{return(await re.post(qu,e,{signal:t.signal})).data}catch(n){return qs(n,t)}}),$t=R.createAsyncThunk("createComplaint/updateActive",async({id:e,isActive:t,onSuccess:n,onFail:r},a)=>{try{const s=await re.patch(`${Wu}/${e}`,{isActive:t},{signal:a.signal});return n&&typeof n=="function"&&n(s.data),s.data}catch(s){return console.log("updateComplaintTypeActive error:",s),r&&typeof r=="function"&&r(s),qs(s,a)}}),Hu={data:null,isLoading:!1,error:null,hasLoaded:!1,isActive:!0,activeComplaintTypeId:null,isUpdatingActive:!1,activeError:null},zu=e=>e.payload?.message??e.error?.message??"Failed to create complaint",Ku=e=>e.payload?.message??e.error?.message??"Failed to update complaint type",Ju=R.createSlice({name:"createComplaint",initialState:Hu,reducers:{},extraReducers:e=>{e.addCase(Cn.pending,t=>{t.isLoading=!0,t.error=null,t.hasLoaded=!1}).addCase(Cn.fulfilled,(t,n)=>{t.isLoading=!1,t.hasLoaded=!0,t.data=n.payload?.data??n.payload}).addCase(Cn.rejected,(t,n)=>{n.meta.aborted||(t.isLoading=!1,t.hasLoaded=!0,t.error=zu(n))}).addCase($t.pending,t=>{t.isUpdatingActive=!0,t.activeError=null}).addCase($t.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($t.rejected,(t,n)=>{n.meta.aborted||(t.isUpdatingActive=!1,t.activeError=Ku(n))})}}).reducer,Ws={data:null,isLoading:!1,error:null,hasLoaded:!1,updatingId:null},Zu=e=>e.payload?.message??e.error?.message??"Failed to update complaint status",Hs=R.createSlice({name:"changeStatus",initialState:Ws,reducers:{resetChangeStatusState:()=>Ws},extraReducers:e=>{e.addCase(ot.pending,(t,n)=>{t.isLoading=!0,t.error=null,t.hasLoaded=!1,t.updatingId=n.meta.arg?.id??null}).addCase(ot.fulfilled,(t,n)=>{t.isLoading=!1,t.hasLoaded=!0,t.updatingId=null,t.data=n.payload?.data??n.payload}).addCase(ot.rejected,(t,n)=>{n.meta.aborted||(t.isLoading=!1,t.hasLoaded=!0,t.updatingId=null,t.error=Zu(n))})}}),{resetChangeStatusState:Yu}=Hs.actions,Gu=Hs.reducer,Xu=R.combineReducers({complaintAppComplaint:_s,complaintType:hu,appDetails:Fs,workflow:Tu,roles:Os.reducer,complaintManagement:Du,status:Vu,createComplaint:Ju,changeStatus:Gu}),zs=e=>R.configureStore({reducer:Xu,preloadedState:e,middleware:t=>t({immutableCheck:!1,serializableCheck:!1})}),Ks=zs();function de({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 Js({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 Zs={h1:"ca-h1",h2:"ca-h2",body:"ca-body",label:"ca-label",value:"ca-value",small:"ca-small",link:"ca-link"},Qu={h1:"h1",h2:"h2",body:"p",label:"span",value:"span",small:"span",link:"button"};function ke({variant:e="body",as:t,className:n="",children:r,...a}){const s=t||Qu[e]||"p",o=Zs[e]||Zs.body;return i.jsx(s,{className:`${o} ${n}`.trim(),...a,children:r})}function Tr(e){return i.jsx(ke,{variant:"h1",...e})}function Lr(e){return i.jsx(ke,{variant:"h2",...e})}function Nn(e){return i.jsx(ke,{variant:"body",...e})}function Ys(e){return i.jsx(ke,{variant:"label",...e})}function Gs(e){return i.jsx(ke,{variant:"value",...e})}function Ru(e){return i.jsx(ke,{variant:"link",type:"button",...e})}function Xs({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(Tr,{children:e}),t?i.jsx(Nn,{children:t}):null]}),i.jsx("div",{className:"ca-page-header__actions",children:i.jsx(de,{startIcon:i.jsx(Js,{}),onClick:r,children:n})})]})}function Qs({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 Rs=(...e)=>e.filter((t,n,r)=>!!t&&t.trim()!==""&&r.indexOf(t)===n).join(" ").trim();const ef=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();const tf=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,n,r)=>r?r.toUpperCase():n.toLowerCase());const eo=e=>{const t=tf(e);return t.charAt(0).toUpperCase()+t.slice(1)};var Ar={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 nf=e=>{for(const t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1},rf=_.createContext({}),af=()=>_.useContext(rf),sf=_.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:h="currentColor",className:w=""}=af()??{},N=r??f?Number(n??u)*24/Number(t??d):n??u;return _.createElement("svg",{ref:c,...Ar,width:t??d??Ar.width,height:t??d??Ar.height,stroke:e??h,strokeWidth:N,className:Rs("lucide",w,a),...!s&&!nf(l)&&{"aria-hidden":"true"},...l},[...o.map(([C,y])=>_.createElement(C,y)),...Array.isArray(s)?s:[s]])});const ge=(e,t)=>{const n=_.forwardRef(({className:r,...a},s)=>_.createElement(sf,{ref:s,iconNode:t,className:Rs(`lucide-${ef(eo(e))}`,`lucide-${e}`,r),...a}));return n.displayName=eo(e),n};const of=ge("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 to=ge("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 no=ge("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);const _n=ge("circle-dot",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}]]);const lf=ge("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 cf=ge("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 df=ge("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 uf=ge("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 ro=ge("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);const ao=ge("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 ff=ge("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 En({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 pf({options:e=[],className:t=""}){const[n,r]=_.useState(!1),a=_.useRef(null);_.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(cf,{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(En,{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 so({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(Lr,{children:e})}),i.jsxs("div",{className:"ca-system-card__header-actions",children:[i.jsx(Qs,{status:t,label:n}),i.jsx(pf,{options:s})]})]})}function Fr({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 hf="aira-query-complaintTypeId";function oo({updatedOn:e,openLabel:t="Open",configureLabel:n="Configure",onOpen:r,className:a="",id:s,title:o}){const l=Oe(),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 h=String(f);try{sessionStorage.setItem(hf,h)}catch{}c(Ve(h)),c(Bs()),c(Vs()),l(`/complaintmanagement/${h}`);return}l("/complaintmanagement")};return i.jsxs("div",{className:`ca-system-card__footer ${a}`.trim(),children:[i.jsx(ke,{variant:"small",as:"span",children:e?`Updated on ${e}`:""}),i.jsxs("div",{className:"ca-system-card__footer-actions",children:[i.jsx(de,{size:"sm",onClick:u,children:t}),i.jsx(de,{variant:"outline",size:"sm",onClick:()=>{if(d==null||d==="")return;const f=String(d);c(Mt({data:!0})),c(Ve(f)),console.log("Configure button clicked"),console.log("ID:",f),l(`/settings/${f}?step=1`)},endIcon:i.jsx(Fr,{size:14,color:"currentColor"}),children:n})]})]})}function io({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(Gs,{children:a}),i.jsx("span",{className:"ca-data-point__label",children:e})]})}function lo({className:e=""}){return i.jsx("div",{className:`ca-divider ${e}`.trim(),role:"separator","aria-orientation":"vertical"})}function Tn({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 mf="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",gf="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",yf="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",bf="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 co({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:h=!1,onTitleClick:w,onDescriptionClick:N,onConfigure:C,onOpen:y,onDelete:g,onToggleActive:p,isTogglingActive:v=!1,menuOptions:b=[],className:L=""}){const O=()=>{C?.({id:e,title:t,status:r,departments:l,workflows:c,fields:d,formsFilled:u,updatedOn:f})},x=()=>{if(N){N({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:mf,alt:""})},{label:"Open entries",value:n?.openEntries,icon:i.jsx("img",{src:gf,alt:""})},{label:"Closed entries",value:n?.closedEntries,icon:i.jsx("img",{src:yf,alt:""})},{label:"Escalated entries",value:n?.escalatedEntries,icon:i.jsx("img",{src:bf,alt:""})}],E=[...p?[{key:"active",label:n?.isActive?"Active":"Inactive",keepOpen:!0,toggle:{checked:!!n?.isActive,disabled:!!v,onChange:M=>p({id:e??n?.id??n?._id,isActive:M,item:n})}}]:[],...g?[{key:"delete",label:"Delete",icon:i.jsx(Tn,{size:16,color:"currentColor"}),danger:!0,onClick:()=>g({id:e??n?.id??n?._id,title:t})}]:[],...b];return i.jsxs("article",{className:`ca-system-card ${L}`.trim(),children:[i.jsx(so,{title:n?.name,status:n?.isActive?"active":"inactive",statusLabel:a,titleAsLink:h,onTitleClick:()=>w?.({id:e,title:t}),menuOptions:E}),s?i.jsx("p",{className:"ca-system-card__description",onClick:x,children:s}):null,i.jsx("div",{className:"ca-system-card__stats",children:$.map((M,B)=>i.jsxs(_.Fragment,{children:[B>0?i.jsx(lo,{}):i.jsx("div",{className:"ca-system-card__stats-spacer"}),i.jsx(io,{label:M.label,value:M.value,icon:M.icon})]},M.label))}),i.jsx(oo,{updatedOn:f,onOpen:()=>y?.({id:e,title:t}),id:e??n?.id??n?._id,title:t,onConfigure:O})]})}function uo({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(co,{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(Nn,{children:c})})})}function it({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 fo({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 po({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(it,{value:e,onChange:t,onKeyDown:s,placeholder:r,icon:i.jsx(fo,{}),"aria-label":r})})}function lt({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 Sf=[{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"}],ho="Create, manage and track complaint forms, workflows and responses across departments.";function mo({title:e="Complaint Management",description:t=ho,createLabel:n="Create New Form",onCreateForm:r,onConfigure:a,onOpen:s,onTitleClick:o,onDescriptionClick:l,onSearch:c}){const d=Oe(),u=H.useDispatch(),[f,h]=_.useState(""),[w,N]=_.useState(null),{complaintList:C=[],loading:y=!1,error:g=null}=H.useSelector($=>$.complaintType??{});_.useEffect(()=>{u(Mt({data:!1})),u(It())},[u]);const p=_.useMemo(()=>{const $=f.trim().toLowerCase();return $?C.filter(E=>[E.title,E.name,E.description,E.status].filter(Boolean).join(" ").toLowerCase().includes($)):C},[C,f]);_.useEffect(()=>{c&&c(f)},[f,c]);const v=$=>{h($.target.value)},b=$=>{a?.($),d(`/settings/${$.id??"new"}?step=1`)},L=()=>{u(Mt({data:!1})),r?.(),d("/settings/new?step=1")},O=({id:$})=>{$!=null&&u(gn($))},x=({id:$,isActive:E})=>{$!=null&&(N($),u($t({id:$,isActive:E})).unwrap().then(()=>u(pu({id:$,isActive:E}))).finally(()=>N(null)))};return i.jsxs("div",{className:"ca-complaint-management-page","data-testid":"complaint-management-page",children:[i.jsx(Xs,{title:e,description:t,actionLabel:n,onAction:L}),i.jsx("div",{className:"ca-search-container",children:i.jsx(po,{value:f,onChange:v,placeholder:"Search"})}),y?i.jsx(lt,{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(uo,{systems:p,onConfigure:b,onOpen:s,onDelete:O,onToggleActive:x,togglingActiveId:w,onTitleClick:o,onDescriptionClick:l,emptyMessage:f?"No systems match your search.":"No systems found."})]})}const go=_.createContext(null),yo=()=>({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 bo({children:e,initialValues:t}){const[n,r]=_.useState(()=>({...yo(),...t,workflow:{...yo().workflow,...t?.workflow}})),a=_.useCallback(l=>{r(c=>({...c,...l}))},[]),s=_.useCallback(l=>{r(c=>({...c,workflow:{...c.workflow,...l}}))},[]),o=_.useMemo(()=>({state:n,setState:r,update:a,updateWorkflow:s}),[n,a,s]);return i.jsx(go.Provider,{value:o,children:e})}function Ln(){const e=_.useContext(go);if(!e)throw new Error("useSettingsWizard must be used within SettingsWizardProvider");return e}const Se=[{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."}],vf=[{id:1,label:"Create Workflow"},{id:2,label:"Status"},{id:3,label:"Workflow Steps"}];function So({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 vo({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(So,{}),i.jsxs("div",{children:[i.jsx(Lr,{children:e}),t?i.jsx(Nn,{className:"ca-settings-card__desc",children:t}):null]})]}),l,a?i.jsx(de,{variant:o,disabled:s,onClick:r,endIcon:i.jsx(Fr,{size:14,color:"currentColor"}),children:n}):null]})}function Ut({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(vo,{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 Or({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 kr({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 Ir(e){return typeof e=="string"?e:e.value}function xr(e){return typeof e=="string"?e:e.label}function ve({value:e,onChange:t,options:n=[],placeholder:r="Select",className:a="",disabled:s=!1,maxVisible:o,allowClear:l=!1,...c}){const[d,u]=_.useState(!1),f=_.useRef(null),h=e??"",w=n.find(y=>String(Ir(y))===String(h)),N=w?xr(w):"";_.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 C=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${N?"":" ca-select__control--placeholder"}`,disabled:s,"aria-haspopup":"listbox","aria-expanded":d,onClick:()=>u(y=>!y),children:N||r}),i.jsx("span",{className:"ca-select__chevron",children:i.jsx(kr,{size:16})}),d?i.jsx("ul",{className:"ca-select__menu",role:"listbox",style:{"--ca-select-max-visible":o},children:n.map(y=>{const g=Ir(y),p=String(g)===String(h);return i.jsx("li",{role:"none",children:i.jsx("button",{type:"button",role:"option","aria-selected":p,className:`ca-select__option${p?" is-selected":""}`,onClick:()=>{C(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:h,onChange:t,disabled:s,...c,children:[i.jsx("option",{value:"",disabled:!l,children:r}),n.map(y=>{const g=Ir(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(kr,{size:16})})]})}function wo({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 Te({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(Or,{htmlFor:a,hint:t,children:e}):null,n]})}function jt({label:e,hint:t,helperText:n,...r}){return i.jsxs(Te,{label:e,hint:t,htmlFor:r.id,children:[i.jsx(it,{...r}),n?i.jsx("p",{className:"ca-form-field__helper",children:n}):null]})}function Dr({label:e,hint:t,...n}){return i.jsx(Te,{label:e,hint:t,htmlFor:n.id,children:i.jsx(ve,{...n})})}function wf({label:e,hint:t,maxLength:n,value:r="",...a}){const s=t??(n!=null?`${String(r).length}/${n}`:void 0);return i.jsx(Te,{label:e,hint:s,htmlFor:a.id,children:i.jsx(wo,{value:r,maxLength:n,...a})})}function Co({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 No({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(Co,{size:10})}):null]})}function Pr({label:e="",options:t=[],value:n=[],onChange:r,placeholder:a="Select roles",className:s=""}){const[o,l]=_.useState(""),c=new Map(t.map(h=>{const w=typeof h=="string"?h:h.value,N=typeof h=="string"?h:h.label;return[String(w),N]})),d=t.filter(h=>{const w=typeof h=="string"?h:h.value;return!n.some(N=>String(N)===String(w))}),u=h=>{const w=h.target.value;w&&(r?.([...n,w]),l(""))},f=h=>{r?.(n.filter(w=>String(w)!==String(h)))};return i.jsxs("div",{className:`ca-role-select ${s}`.trim(),children:[i.jsx(Or,{children:e}),i.jsx(ve,{value:o,onChange:u,options:d,placeholder:a}),n.length>0?i.jsx("div",{className:"ca-tag-list",children:[...new Set(n)].map(h=>i.jsx(No,{label:c.get(String(h))||String(h),onRemove:()=>f(h)},String(h)))}):null]})}function Vt({steps:e=[],currentStep:t=1,onStepClick:n,className:r="",size:a="md",showSaveButton:s=!1,showNextButton:o=!1,onSaveDraft:l,onNext:c,saveLabel:d="Save Draft",nextLabel:u="Next >",extraActions:f=null}){const h=_.useRef({}),w=H.useDispatch(),{isEdit:N}=H.useSelector(C=>C.appDetails||{});return _.useEffect(()=>{const C=h.current[t];if(!C)return;const y=requestAnimationFrame(()=>{let g=C.parentElement;for(;g&&g!==document.body;){const{overflowX:x}=getComputedStyle(g);if(g.scrollWidth>g.clientWidth+1&&(x==="auto"||x==="scroll"))break;g=g.parentElement}if(!g||g===document.body)return;const p=g.getBoundingClientRect(),v=C.getBoundingClientRect(),b=12;if(v.left>=p.left+b&&v.right<=p.right-b)return;const O=v.left-p.left-(p.width-v.width)/2;g.scrollTo({left:g.scrollLeft+O,behavior:"smooth"})});return()=>cancelAnimationFrame(y)},[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((C,y)=>{const g=C.id??y+1,p=g===t,v=g<t,b=!!n&&(v||p);return i.jsxs("button",{type:"button",ref:L=>{h.current[g]=L},className:["ca-stepper__item",p?"ca-stepper__item--active":"",v?"ca-stepper__item--done":""].filter(Boolean).join(" "),style:{zIndex:e.length-y},onClick:()=>{console.log("setting is edit is true"),w(Mt({data:!0})),console.log(N),b&&n?.(g)},disabled:!b,"aria-current":p?"step":void 0,children:[i.jsxs("span",{className:"ca-stepper__circle",children:[g,"."]}),i.jsx("span",{className:"ca-stepper__label",children:C.label})]},g)})}),s||o||f?i.jsxs("div",{className:"ca-stepper__actions",children:[f,s?i.jsx(de,{variant:"outline",onClick:l,children:d}):null,o?i.jsx(de,{onClick:c,children:u}):null]}):null]})}const Cf={categoryName:"",tatMinutes:"",template:"",categoryType:"",description:"",visibilityType:"INTERNAL_LOGIN",urlLink:"",active:!0,roles:[]},Nf=[{value:"INTERNAL_LOGIN",label:"Internal Login"},{value:"PRIVATE_LINK",label:"Private Link"},{value:"PUBLIC_LINK",label:"Public Link"}],_f={value:"",label:"Select Template"},Mr=e=>String(e?.id??e?.code??e?.name??""),_o=e=>({categoryName:e?.name??e?.code??"",tatMinutes:at(e?.tatMinutes)||"",template:Mr(e),categoryType:e?.categoryType??Mr(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 Ef(e){return[_f,...e]}function Tf(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 Lf({stepMeta:e,stepperProps:t,roleList:n=[]}){const[r,a]=_.useState(Cf),[s,o]=_.useState({}),l=H.useDispatch(),{update:c}=Ln(),{id:d}=H.useSelector(E=>E.appDetails||{}),{isEdit:u}=H.useSelector(E=>E.appDetails||{}),f=H.useSelector(E=>E.complaintType||{}),{complaintList:h=[],saving:w,loading:N,error:C}=f,y=_.useRef(!1);_.useEffect(()=>{!h.length&&!N&&!y.current&&(y.current=!0,l(It()))},[h.length,l,N]),_.useEffect(()=>{if(console.log("🔥 useEffect:",{id:d,isEdit:u}),!u||d===null||d===void 0){console.log("❌ Not fetching");return}console.log("🚀 Fetching complaint type:",d),l(xt(d)).unwrap().then(E=>{console.log("✅ API response for ID",d,":",E);const M=E?.data??E;console.log("📦 Data:",M),M&&a(_o(M))}).catch(E=>{console.log("❌ Fetch error:",E)})},[l,d,u]);const g=n.map(E=>({value:E.id,label:E.name??E.label})),p=h.map(E=>({value:Mr(E),label:E?.name??E?.code??"",complaintType:E})).filter(E=>E.value&&E.label),v=async E=>{const M=E?.id??E?._id??null;if(a(B=>({...B,..._o(E),categoryName:"",roles:[]})),c({templateId:M,tatMinutes:me(E?.tatMinutes)}),M==null||M===""){c({prefillWorkflowSteps:[],prefillFormFields:[]});return}try{const[B,P]=await Promise.all([l(qe(M)).unwrap(),l(Ee(M)).unwrap()]),j=(Array.isArray(B?.data)?B.data:Array.isArray(B)?B:[]).map(k=>({...k,roleIds:[],role:[],roleId:null})),D=Array.isArray(P?.data)?P.data:Array.isArray(P)?P:[];c({templateId:M,tatMinutes:me(E?.tatMinutes),prefillWorkflowSteps:j,prefillFormFields:D})}catch(B){console.log("Failed to load template details:",B),c({templateId:M,prefillWorkflowSteps:[],prefillFormFields:[]})}},b=()=>{a(E=>({...E,template:"",categoryType:""})),c({templateId:null,prefillWorkflowSteps:[],prefillFormFields:[]})},L=E=>{const M=E.target.value;if(!M){b();return}const B=p.find(P=>P.value===M)?.complaintType;if(B){v(B);return}O("template",M),O("categoryType",M)},O=(E,M)=>{a(B=>({...B,[E]:M})),o(B=>{if(!B[E])return B;const P={...B};return delete P[E],P})},x=r.visibilityType==="PRIVATE_LINK"||r.visibilityType==="PUBLIC_LINK",$=async()=>{const E={};if(r.categoryName.trim()||(E.categoryName=!0),vu(r.tatMinutes)||(E.tatMinutes=!0),r.visibilityType||(E.visibilityType=!0),r.roles.length||(E.roles=!0),x&&!r.urlLink.trim()&&(E.urlLink=!0),Object.keys(E).length>0){o(E);return}o({});const M=me(r.tatMinutes);c({tatMinutes:M});const B={categoryName:r.categoryName,categoryType:r.categoryType||r.template,tatMinutes:M,description:r.description,visibilityType:r.visibilityType,urlLink:x?r.urlLink:"",active:r.active,roles:r.roles};console.log("CategoryTypeStep payload:",B),console.log("isedit ",u,"id",d);const P=u?Pt({id:d,data:{code:B.categoryName,name:B.categoryName,description:B.description,tatMinutes:B.tatMinutes,accessType:B.visibilityType,roleIds:B.roles.map(D=>parseInt(D,10))},onSuccess:D=>{console.log("updateComplaintType onSuccess:",D),t.onNext?.()},onFail:D=>{console.log("updateComplaintType onFail:",D)}}):Dt({payload:B,onSuccess:D=>{console.log("createComplaintType onSuccess........................:",D),console.log("data response on creationg ",D),l(Ve(D?.data?.id??D?.id??null)),console.log(d,"system id set up successfully ..........",D?.data?.id??D?.id??null),t.onNext?.()},onFail:D=>{console.log("createComplaintType onFail:",D)}}),j=l(P);if(u&&Pt.fulfilled.match(j)||!u&&Dt.fulfilled.match(j)){if(!u){const D=j.payload?.data?.id??j.payload?.id;D!=null&&(console.log("setting up system id ..........",D),l(Ve(D)),console.log("system id set up successfully ..........",D))}t.onNext?.()}};return i.jsxs(i.Fragment,{children:[i.jsx(Vt,{...t,steps:Se,showNextButton:!!t.showNextButton,onNext:$}),C||Object.keys(s).length>0?i.jsx("div",{className:"ca-validation-toast",role:"alert",children:C||Tf(s,r)}):null,i.jsxs(Ut,{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(Dr,{label:"Select Template (Optional)",value:r.template||r.categoryType,onChange:L,options:Ef(p),placeholder:"Select Template",maxVisible:5})})}),children:[i.jsxs("div",{className:"ca-step-section",children:[i.jsxs("div",{className:"ca-step-row ca-step-row--category-fields",children:[i.jsx(jt,{label:"Category Name",className:"ca-step-row__grow",inputClassName:s.categoryName?"ca-control--invalid":"",value:r.categoryName,onChange:E=>O("categoryName",E.target.value),placeholder:"Enter category name"}),i.jsx(jt,{label:"TAT Minutes",type:"text",className:"ca-step-row__grow",inputClassName:s.tatMinutes?"ca-control--invalid":"",value:r.tatMinutes,onChange:E=>O("tatMinutes",E.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(jt,{label:"Description",className:"ca-step-row__grow",maxLength:500,value:r.description,onChange:E=>O("description",E.target.value),placeholder:"Enter description"})}),i.jsxs("div",{className:"ca-step-row",children:[i.jsx(Dr,{label:"Select Visibility Type",className:`ca-step-row__grow ${s.visibilityType?"ca-control--invalid":""}`,value:r.visibilityType,onChange:E=>O("visibilityType",E.target.value),options:Nf,placeholder:"Select visibility type"}),x?i.jsx(jt,{label:null,className:"ca-step-row__grow ca-category-type__url-link",inputClassName:s.urlLink?"ca-control--invalid":"",value:r.urlLink,onChange:E=>O("urlLink",E.target.value),placeholder:"urllink"}):null]})]}),i.jsx("div",{className:"ca-step-section ca-step-section--last",children:i.jsx(Pr,{label:"Select Roles for Complaint Filling",className:s.roles?"ca-control--invalid":"",options:g,value:r.roles,onChange:E=>O("roles",E)})}),N?i.jsx("div",{className:"ca-form-loading",children:"Loading category..."}):null,w?i.jsx("div",{className:"ca-form-loading",children:"Saving category..."}):null]})]})}function Eo({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(de,{type:"button",className:"ca-add-table-card__button",onClick:()=>t?.(n),children:["+ Add L",e]})})]})}const Br=["Yes","No"];function To({name:e,level:t,value:n,initialFormValues:r,setFormValues:a,onChange:s,selected:o=!1,onSelect:l,onDelete:c,subtitle:d,roleList:u=[]}){const f=n??r??{},h=Array.isArray(f.role)?f.role:[],w=u.map(p=>({value:p.id,label:p.name??p.label})),N=(p,v)=>{const b={...f,[p]:v};a?a(b):s?.(b)},C=t===1?"green":t===2?"orange":"blue",y=p=>`workflow-level-${t}-${p}`,g=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--${C}${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:g})]}),i.jsx("button",{type:"button",className:"ca-table-card__delete","aria-label":`Delete ${e}`,title:`Delete ${e}`,onClick:p=>{p.stopPropagation(),c?.()},children:i.jsx(Tn,{size:16})})]}),i.jsx("div",{className:"ca-table-card__divider"}),i.jsxs("div",{className:"ca-table-card__fields",children:[i.jsx(Te,{label:"Select Roles",htmlFor:y("roleIds"),children:i.jsx(Pr,{id:y("role"),value:h,options:w,placeholder:"Select role",onChange:p=>N("role",p)})}),i.jsx("div",{className:"ca-table-card__divider"}),i.jsx(Te,{label:"Can Resolve",htmlFor:y("canResolve"),children:i.jsx(ve,{id:y("canResolve"),value:f.canResolve,options:Br,onChange:p=>N("canResolve",p.target.value)})}),i.jsx(Te,{label:"Can Reassign",htmlFor:y("canReassign"),children:i.jsx(ve,{id:y("canReassign"),value:f.canReassign,options:Br,onChange:p=>N("canReassign",p.target.value)})}),i.jsx(Te,{label:"Final Level",htmlFor:y("finalLevel"),children:i.jsx(ve,{id:y("finalLevel"),value:f.finalLevel,options:Br,onChange:p=>N("finalLevel",p.target.value)})}),i.jsx(Te,{label:"Escalation time",htmlFor:y("escalationTime"),children:i.jsxs("div",{className:"ca-table-card__time-input",children:[i.jsx(it,{id:y("escalationTime"),type:"text",value:f.escalateAfterMinutes??"",placeholder:"--",onChange:p=>N("escalateAfterMinutes",p.target.value)}),i.jsx("span",{children:"minutes"})]})})]})]})}const Af="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",Ff="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",Of="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",kf="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",$r=(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:at(n.escalateAfterMinutes)||""});function Ur(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 If(e,t){const n=Array.isArray(e.role)?e.role:Array.isArray(e.roleIds)?e.roleIds:e.roleId!==void 0&&e.roleId!==null?[e.roleId]:[];return $r(e.levelNo??t+1,e.name??`Level ${e.levelNo??t+1}`,{role:n,canResolve:Ur(e.canResolve),canReassign:Ur(e.canReassign),finalLevel:Ur(e.isFinalLevel??e.finalLevel),escalateAfterMinutes:at(e.escalateAfterMinutes)||""})}function Lo(e=[]){return(Array.isArray(e)?e:[]).map(If)}const jr=[$r(1,"Level 1")];function xf({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:Af,alt:"",className:"ca-escalation-connector__arrow ca-escalation-connector__arrow--first"}),i.jsx("span",{children:"Escalates to"}),i.jsx("img",{src:Ff,alt:"",className:"ca-escalation-connector__arrow ca-escalation-connector__arrow--second"})]})}function Df({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:Of,alt:"",className:"ca-escalation-connector__arrow ca-escalation-connector__arrow--first"}),i.jsx("span",{children:"Escalates to"}),i.jsx("img",{src:kf,alt:"",className:"ca-escalation-connector__arrow ca-escalation-connector__arrow--second"})]})}function Ao({id:e,selectedTableId:t,onSelect:n,setUpdatePayload:r,roleList:a=[],prefillSteps:s=[],tatTotalMinutes:o=0}){const l=e!=null,[c,d]=_.useState(jr),[u,f]=_.useState(jr),[h,w]=_.useState(l),[N,C]=_.useState(null),[y,g]=_.useState(o),p=_.useRef(null),v=_.useRef(o),b=H.useDispatch(),L=_.useMemo(()=>{const P=Lo(s);return P.length?P:jr},[s]);if(!l&&N!==L){const P=st(L,o);C(L),f(P),d(P)}if(!h&&y!==o){g(o);const P=st(u,o);P!==u&&f(P)}_.useEffect(()=>{v.current=o},[o]),_.useEffect(()=>{if(!l){const D=st(L,v.current);r({id:e,tables:D});return}let P=!1;return(async()=>{w(!0);try{const D=await b(qe(e)).unwrap(),k=Array.isArray(D?.data)?D.data:Array.isArray(D)?D:[],V=Lo(k),J=st(V.length?V:L,v.current);console.log("[TableCardGrid] GET response:",D),console.log("[TableCardGrid] initial form values:",J),P||(d(J),f(J),r({id:e,tables:J}))}catch(D){if(!P){const k=st(L,v.current);d(k),f(k),r({id:e,tables:k}),console.log("[TableCardGrid] using fallback form values after GET error:",k),console.error("Failed to load workflow steps:",D)}}finally{P||w(!1)}})(),()=>{P=!0}},[b,L,l,e,r]),_.useEffect(()=>{h||r?.({id:e,tables:u})},[e,h,r,u]);const O=(P,{preserveLastLevel:j}={})=>{const D=j?P:st(P,o),k={id:e,tables:D};f(D),console.log("[TableCardGrid] updated form values:",D),console.log("[TableCardGrid] PUT payload:",k),r?.(k)},x=P=>{const j=u[u.length-1];return j!=null&&j.id===P},$=(P,j)=>{O(u.map(D=>D.id===P?{...D,...j}:D),{preserveLastLevel:x(P)})},E=(P,j)=>{console.log(c,u,P,j),O(u.map(D=>D.id!==P?D:typeof j=="function"?j(D):j),{preserveLastLevel:x(P)})},M=P=>{const j=u.reduce((V,J)=>Math.max(V,Number(J.id)||0),0)+1,D=u.length+1,k=Nu(u);O([...k,$r(j,P||`Level ${D}`)]),requestAnimationFrame(()=>{requestAnimationFrame(()=>{const V=p.current;V&&V.scrollTo({left:V.scrollWidth,behavior:"smooth"})})})},B=P=>{O(u.filter(j=>j.id!==P))};return h&&!u.length?null:i.jsx("div",{className:"ca-table-card-grid","aria-label":"Escalation levels",ref:p,children:i.jsxs("div",{className:"ca-table-card-grid__track",children:[u.map((P,j)=>i.jsxs(_.Fragment,{children:[i.jsx(To,{name:P.name,roleList:a,level:j+1,value:P,initialFormValues:P,setFormValues:D=>E(P.id,D),selected:P.id===t,onSelect:()=>n?.(P),onDelete:()=>B(P.id),onChange:D=>$(P.id,D)}),j<u.length-0?i.jsxs(i.Fragment,{children:[i.jsx(xf,{accent:j===0?"green":j===1?"orange":"purple"}),i.jsx(Df,{accent:j===0?"green":j===1?"orange":"purple"})]}):null]},P.id)),i.jsx(Eo,{level:u.length+1,onAdd:M})]})})}function Pf({totalMinutes:e=0,usedMinutes:t=0}){const n=me(e),r=me(t),a=Math.max(0,n-r),s=at(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 Fo(e){return e?.data??e?.id??e}function Mf({onNext:e,stepMeta:t,stepperProps:n,selectedTableCard:r,roleList:a=[]}){const{state:s,updateWorkflow:o}=Ln(),{workflow:l}=s,[c,d]=_.useState(null),[u,f]=_.useState(""),h=_.useCallback(x=>{d(x)},[]),w=H.useDispatch();let{id:N}=H.useSelector(x=>x.appDetails||{});const C=H.useSelector(x=>x.complaintType?.selected),y=Fo(N),g=Fo(C?.id??C?._id),p=me(C?.tatMinutes??s.tatMinutes);_.useEffect(()=>{y==null||y===""||g!=null&&String(g)===String(y)&&C?.tatMinutes!=null||w(xt(y))},[w,C?.tatMinutes,g,y]);const v=_.useMemo(()=>{const x=Array.isArray(c?.tables)?c.tables:[];return Cu(x)},[c]),b=r??l.selectedTableCard??null,L=Array.isArray(c?.tables)&&c.tables.length?c.tables.map((x,$)=>`L${$+1}`).join(" > "):"",O=async()=>{if(f(""),!c){f("Workflow steps are not ready to save.");return}console.log("WorkflowStep update payload:",c),w(bn({id:c.id,tables:c,onSuccess:x=>{console.log("updateWorkflowSteps onSuccess:",x),f(""),n.onNext?.()},onFail:x=>{const $=x?.response?.data??x?.payload??x,E=Array.isArray($?.errors)?$.errors.map(B=>B?.message).filter(Boolean):[],M=(E.length?E.join(" "):null)??$?.message??$?.error??x?.message??"Failed to update workflow steps";console.log("updateWorkflowSteps onFail:",x),f(wu(M))}}))};return i.jsxs(i.Fragment,{children:[i.jsx(Vt,{...n,steps:Se,onNext:O,showNextButton:!0}),u?i.jsx("div",{className:"ca-validation-toast",role:"alert",children:u}):null,i.jsx(Ut,{title:t.title,description:L,showNext:!1,headerExtra:i.jsx(Pf,{totalMinutes:p,usedMinutes:v}),children:i.jsx("div",{className:"ca-workflow__main",children:i.jsx(Ao,{id:N,selectedTableId:b?.id,onSelect:x=>o({selectedTableCard:x}),setUpdatePayload:h,roleList:a,prefillSteps:s.prefillWorkflowSteps,tatTotalMinutes:p})})})]})}function Oo({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 ko=_.createContext(null);function Vr(e){return typeof e?.level4=="string"&&e.level4.trim()?e.level4.trim():"Store"}function Io(e,t){const n=Vr(t);return String(e??"").replace(/\bstores?\b/gi,()=>n)}function We(){const e=_.useContext(ko);return{storeName:Vr(e),label:t=>Io(t,e),fieldLabel:t=>{const n=String(t.fieldKey??t.key??"").toLowerCase();return n==="storeid"||n==="storeidcustom"?`${Vr(e)} ID`:Io(t.fieldLabel??t.label??t.fieldName??"",e)}}}function xo({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 Bf=["Text","Select","Dropdown","Radio","Number","Email","Date","Text Area","Checkbox","File","Images","Time"],Do=new Set(["Select","Dropdown","Radio","Checkbox"]),$f=["Both","User","Admin"],Uf={Open:"#FF0000","Under Verification":"#FF6F00",Resolved:"#00D82F",Closed:"#006FFF"},Po=["Open","Under Verification","Resolved","Closed"],we={id:"default-status",fieldKey:"status",fieldLabel:"Status",originalFieldName:"Status",fieldType:"Custom",required:!0,fieldAccess:"",hideFor:[],dependsOn:"",options:[...Po],optionColors:{...Uf},parentMappings:{},lockMode:"options",isNew:!1},An={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},qt={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},jf=[{...we,label:we.fieldLabel},{...qt,label:qt.fieldLabel}];function Mo(e){return String(e||"").trim().toLowerCase()}function Y(e){const t=Mo(e?.fieldKey),n=Mo(e?.fieldLabel||e?.label);return t==="status"||t==="statuses"||t==="statuscustom"||n==="status"||n==="statuses"}function Wt(e){return Y(e)&&(e?.lockMode==="options"||e?.lockMode==="all")}function Vf(e,t=[]){if(!Y(e))return!1;const n=t.length?t:[e],r=n.filter(o=>!o?.isNew&&Y(o)),a=n.filter(Wt),s=r[0]||a[0]||n.find(o=>Y(o)&&!o?.isNew);return s?String(s.id)===String(e.id):!e?.isNew}function Fn(e){const t=String(e?.fieldKey||"").toLowerCase(),n=String(e?.fieldLabel||e?.label||"").trim().toLowerCase();return t==="priorities"||n==="priorities"}function Ie(e){const t=String(e?.fieldKey||"").toLowerCase(),n=String(e?.fieldLabel||e?.label||"").trim().toLowerCase();return t==="storeid"||t==="storeidcustom"||n==="store id"}function He(e){const t=String(e||"").trim().toLowerCase();return t==="open"||t==="closed"}function qf(e){return String(e||"").trim().toLowerCase()==="open"}function Ht(e=[]){const t=(e||[]).filter(a=>a!=null&&String(a).trim()!==""),n=new Set,r=[];return Po.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 Bo(e){return Do.has(e?.fieldType)||Wt(e)}function qr(e){return!e||Y(e)||Ie(e)||!Do.has(e.fieldType)?!1:!(e.options||[]).some(t=>String(t||"").trim())}function ct(e=[]){return e.some(qr)}function $o(e=[]){const t=[],n=new Set;return e.forEach(r=>{if(!qr(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 Wf(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 On(e,t=[]){return e?t.some(n=>String(n.id)===String(e.id)?!1:Wf(e,n)):!1}function kn(e=[]){return e.some(t=>On(t,e))}function Wr(e,t={},n=""){const r=String(n||"");if(Y({fieldKey:r})||Ie({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 Hf(e){return Fn(e)?"Priorities":"Option"}function zf(e,t=!1){return e?t?"Define options and set parent.":Y(e)?"Manage the status":"Manage your fields.":""}function In(e,t=[]){if(String(e?.fieldType||"")==="MultiSelect")return In({...e,fieldType:"Checkbox"},t);if(Y(e)){if(e?.isNew||!Vf(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{...we,...e,fieldKey:we.fieldKey,fieldLabel:r?we.fieldLabel:n,originalFieldName:r?we.originalFieldName:e.originalFieldName??n,fieldType:we.fieldType,required:!0,options:Ht(e.options?.length?e.options:we.options),optionColors:{...we.optionColors,...e.optionColors},lockMode:"options"}}return Fn(e)?{...An,...e,fieldKey:e.fieldKey||An.fieldKey,fieldType:An.fieldType,options:e.options?.length?e.options:An.options,lockMode:"options"}:Ie(e)?{...qt,...e,fieldKey:qt.fieldKey,fieldType:qt.fieldType,lockMode:"all"}:e}function dt(e=[]){const t=e.map(r=>In(r,e));if(t.some(Y))return t;const n={...we};return[In(n,[n,...t]),...t]}function Hr(e,t){return!t||e.includes(t)?e:[t,...e]}function Uo(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 Kf="#9CA3AF";function jo({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:h,onDelete:w,onSave:N,cardRef:C,onOptionNotice:y,hasDuplicateIdentity:g=!1,hasMissingOptions:p=!1}){const[v,b]=_.useState(""),{label:L,fieldLabel:O}=We(),x=Uo(e),[$,E]=_.useState(()=>({id:e.id,signature:e.isNew?null:x}));$.id!==e.id&&E({id:e.id,signature:e.isNew?null:x});const M=e.lockMode==="all",B=M||e.lockMode==="options",P=Bo(e),j=M||!P,D=!!(String(e.fieldLabel||"").trim()&&String(e.fieldType||"").trim()),k=$.signature!==x,V=!!s||!D,J=g||p?"ca-control--invalid":"",Z=A=>h?.({...e,...A}),G=()=>{if(j)return;const A=v.trim();if(!A)return;if(Y(e)&&He(A)){const U=(e.options||[]).find(q=>String(q).trim().toLowerCase()===A.toLowerCase());if(U){y?.(`${U} already exists in options`),b("");return}}if(e.options?.includes(A))return;const S=Y(e)?{...e.optionColors||{},[A]:e.optionColors?.[A]||Kf}:e.optionColors;Z({options:Y(e)?Ht([...e.options||[],A]):[...e.options||[],A],...Y(e)?{optionColors:S}:{}}),b("")},ee=A=>{if(j||Y(e)&&He(A))return;const S={...e.optionColors||{}};delete S[A];const U={...e.parentMappings||{}};delete U[A],Z({options:e.options.filter(q=>q!==A),parentMappings:U,...Y(e)?{optionColors:S}:{}})};return i.jsxs("article",{ref:C,className:`ca-form-card${o?" ca-form-card--selected":""}${l?" ca-form-card--dragging":""}`,onClick:()=>c?.(e),onDragOver:A=>{A.preventDefault(),A.dataTransfer.dropEffect="move"},onDrop:A=>{A.preventDefault();const S=A.dataTransfer.getData("text/plain");f?.(S,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:A=>A.stopPropagation(),onDragStart:A=>{A.dataTransfer.setData("text/plain",String(e.id)),A.dataTransfer.effectAllowed="move",d?.()},onDragEnd:()=>u?.(),children:i.jsx(xo,{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:V||M||!k,onClick:async A=>{if(A.stopPropagation(),V||M||!k)return;const S=await N?.(e);S&&E({id:e.id,signature:Uo(S)})},children:"Save"}),Wt(e)?null:i.jsx("button",{type:"button",className:"ca-icon-btn ca-form-card__delete","aria-label":"Delete form field",onClick:A=>{A.stopPropagation(),w?.(e.id)},children:i.jsx(Tn,{size:15,color:"currentColor"})})]})]}),i.jsx("div",{className:"ca-form-card__row",children:B?i.jsx("span",{className:"ca-form-card__static",children:O(e)||"—"}):i.jsx(it,{value:M?O(e):e.fieldLabel,placeholder:"Enter field label",disabled:B,className:J,onChange:A=>Z({fieldLabel:A.target.value})})}),i.jsx("div",{className:"ca-form-card__row",children:B?i.jsx("span",{className:"ca-form-card__static",children:e.fieldType||"—"}):i.jsx(ve,{value:e.fieldType,options:Hr(n,e.fieldType),placeholder:"Select type",maxVisible:5,disabled:B,className:J,onChange:A=>{const S=A.target.value;if(Bo({...e,fieldType:S})){Z({fieldType:S});return}Z({fieldType:S,options:[],parentMappings:{},optionColors:{}})}})}),i.jsx("div",{className:"ca-form-card__row ca-form-card__row--toggle",children:i.jsx(En,{checked:!!e.required,disabled:B,onChange:A=>Z({required:A}),"aria-label":"Required"})}),i.jsx("div",{className:"ca-form-card__row",children:i.jsx(ve,{value:e.fieldAccess,options:Hr(r,e.fieldAccess),placeholder:"Select access",disabled:B,allowClear:!0,onChange:A=>Z({fieldAccess:A.target.value})})}),i.jsxs("div",{className:"ca-form-card__row",children:[i.jsx(ve,{value:"",options:a.filter(A=>!e.hideFor?.includes(A)),placeholder:"Select level",disabled:B,onChange:A=>Z({hideFor:[...e.hideFor||[],A.target.value]})}),e.hideFor?.length?i.jsx("div",{className:"ca-form-card__chips",children:e.hideFor.map(A=>i.jsxs("span",{className:"ca-form-card__chip",children:[A,i.jsx("button",{type:"button","aria-label":`Remove ${A}`,disabled:B,onClick:()=>Z({hideFor:e.hideFor.filter(S=>S!==A)}),children:"×"})]},A))}):null]}),i.jsx("div",{className:"ca-form-card__row",children:i.jsx(ve,{value:e.dependsOn,options:Hr(t,e.dependsOn).map(A=>({value:A,label:L(A)})),placeholder:"Select field label",disabled:B,allowClear:!0,onChange:A=>{const S=A.target.value;if(!S){Z({dependsOn:"",parentMappings:{}});return}Z({dependsOn:S})}})}),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(it,{value:v,placeholder:"Enter option",disabled:j,className:p?"ca-control--invalid":"",onChange:A=>b(A.target.value),onKeyDown:A=>{A.key==="Enter"&&(A.preventDefault(),G())}}),i.jsx("button",{type:"button",className:"ca-form-card__add-option","aria-label":"Add option",disabled:j,onClick:G,children:"+"})]}),i.jsx("div",{className:"ca-form-card__chips",children:(P?Y(e)?Ht(e.options||[]):e.options||[]:[]).map(A=>{const S=Y(e)&&He(A);return i.jsxs("span",{className:`ca-form-card__chip${S?" ca-form-card__chip--locked":""}`,children:[A,S?null:i.jsx("button",{type:"button","aria-label":`Remove ${A}`,disabled:j,onClick:()=>ee(A),children:"×"})]},A)})})]})]})}function zr({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(ff,{size:14,strokeWidth:1.5,color:"currentColor","aria-hidden":"true"})})})}function Jf(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 Zf({formFields:e=[],selectedField:t=null,onChange:n}){const r=t,a=Y(r)?r:null,s=_.useMemo(()=>{const p=String(r?.dependsOn||"").trim();if(!p)return null;const v=e.filter(b=>String(b.fieldLabel||"").trim()===p);return v.find(b=>(b.options||[]).some(L=>String(L||"").trim()))||v[0]||null},[r?.dependsOn,e]),o=s?.options||[],l=!!r?.dependsOn,[c,d]=_.useState(!1),u=(p,v)=>{if(!a)return;const b=/^#[0-9A-Fa-f]{6}$/.test(v)?v.toUpperCase():v;n?.(e.map(L=>L.id===a.id?{...L,optionColors:{...L.optionColors,[p]:b}}:L))},f=(p,v)=>{r&&n?.(e.map(b=>b.id===r.id?{...b,parentMappings:{...b.parentMappings||{},[p]:v}}:b))},h=p=>{if(!r||Y(r)&&He(p))return;const v={...r.optionColors||{}};delete v[p];const b={...r.parentMappings||{}};delete b[p],n?.(e.map(L=>L.id===r.id?{...L,options:(L.options||[]).filter(O=>O!==p),parentMappings:b,...Y(L)?{optionColors:v}:{}}:L))},w=r?.fieldLabel||"Select field",N=zf(r,l),C=Y(r)?Ht(r?.options||[]):r?.options||[],y=(p,v)=>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:[p.map(b=>i.jsx("th",{scope:"col",children:b},b)),i.jsx("th",{scope:"col","aria-label":"Delete"})]})}),i.jsx("tbody",{children:v})]})});let g=i.jsx("p",{className:"field-options-panel__empty",children:r?"No options added.":"Select a field to edit."});return l?g=C.length?y(["Option label",s?.fieldLabel||"Parent"],C.map(p=>i.jsxs("tr",{children:[i.jsx("td",{children:p}),i.jsx("td",{children:i.jsxs("select",{"aria-label":`Parent for ${p}`,value:r.parentMappings?.[p]||"",disabled:!o.length,onChange:v=>f(p,v.target.value),children:[i.jsx("option",{value:"",children:o.length?"Select parent":`No ${String(r.dependsOn||"parent").toLowerCase()} options`}),o.map(v=>i.jsx("option",{value:v,children:v},v))]})}),i.jsx(zr,{option:p,onDelete:h,locked:Y(r)&&He(p)})]},p))):i.jsx("p",{className:"field-options-panel__empty",children:"No options added."}):a?g=C.length?y([Y(a)?"Status":"Option","Colors"],C.map(p=>{const v=Jf(a.optionColors?.[p]);return i.jsxs("tr",{children:[i.jsx("td",{children:p}),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 ${p}`,value:a.optionColors?.[p]||v,onChange:b=>u(p,b.target.value)}),i.jsx("label",{className:"field-options-panel__swatch",style:{background:v},title:v,children:i.jsx("input",{type:"color","aria-label":`Pick color for ${p}`,value:v,onChange:b=>u(p,b.target.value)})})]})}),i.jsx(zr,{option:p,onDelete:h,locked:Y(a)&&He(p)})]},p)})):i.jsx("p",{className:"field-options-panel__empty",children:"No options added."}):C.length&&(g=y([Hf(r)],C.map(p=>i.jsxs("tr",{children:[i.jsx("td",{children:p}),i.jsx(zr,{option:p,onDelete:h,locked:Y(r)&&He(p)})]},p)))),i.jsxs("aside",{className:`field-options-panel${c?" is-open":""}${r?"":" field-options-panel--empty"}`,"aria-label":`Options for: ${w}`,children:[i.jsxs("button",{type:"button",className:"field-options-panel__summary","aria-expanded":c,"aria-controls":"field-options-panel-body",onClick:()=>d(p=>!p),children:[i.jsxs("span",{className:"field-options-panel__summary-text",children:[i.jsxs("span",{className:"field-options-panel__title",children:["Options for: ",w]}),N?i.jsx("span",{className:"field-options-panel__description",children:N}):null]}),i.jsx(no,{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 Yf(e,t=[]){const n=new Set,r=[];return t.forEach(a=>{if(String(a.id)===String(e?.id)||Y(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 Gf=["Actions","Field Label","Field Type","Required","Field Access","Hide for","DependsOn","Options"];function Xf(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 ut(e=[]){const t=e.map(Xf);return t.map(n=>In(n,t))}function Vo({initialFields:e,onChange:t,addExternalFieldRef:n,fieldTypeOptions:r=[],fieldAccessOptions:a=[],hideForOptions:s=[],onSave:o,onDelete:l}){const[c,d]=_.useState(()=>ut(e??[])),[u,f]=_.useState(null),[h,w]=_.useState(null),[N,C]=_.useState(""),y=_.useRef(""),g=_.useRef(null),p=_.useRef({}),v=k=>{const V=ut(k);d(V),t?.(V)},b=(e??[]).map(k=>k.id).join(",");_.useEffect(()=>{if(!N)return;const k=window.setTimeout(()=>C(""),3200);return()=>window.clearTimeout(k)},[N]),_.useEffect(()=>{!b||b===y.current||(y.current=b,d(ut(e)))},[b,e]),_.useEffect(()=>{if(n)return n.current=k=>{k&&d(V=>{const J=V.find(ee=>On(k,[ee]));if(kn(V)||J)return J&&f(J.id),V;if(ct(V))return V;const Z=ut([...V,{...k,id:`${k.id}-${Date.now()}`,isNew:!0}]),G=Z[Z.length-1];return f(G.id),t?.(Z),Z})},()=>{n.current=null}},[n,t]),_.useEffect(()=>{if(u==null)return;const k=g.current,V=p.current[u];if(!k||!V)return;const J=requestAnimationFrame(()=>{const Z=k.getBoundingClientRect(),G=V.getBoundingClientRect(),ee=12;G.left>=Z.left+ee&&G.right<=Z.right-ee||k.scrollTo({left:k.scrollLeft+G.left-Z.left-(Z.width-G.width)/2,behavior:"smooth"})});return()=>cancelAnimationFrame(J)},[u,c]);const L=(k,V)=>{if(k==null||V==null||String(k)===String(V))return;const J=c.findIndex(A=>String(A.id)===String(k)),Z=c.findIndex(A=>String(A.id)===String(V));if(J<0||Z<0)return;const G=[...c],[ee]=G.splice(J,1);G.splice(Z,0,ee),v(G.map((A,S)=>({...A,order:S+1})))},O=k=>{const V=c.find(J=>J.id===k.id);k.dependsOn&&k.dependsOn!==V?.dependsOn&&f(k.id),v(c.map(J=>J.id===k.id?k:J))},x=async k=>{const V=c.find(J=>J.id===k);if(!(!V||Wt(V)))try{if(await l?.(V)===!1)return;v(c.filter(Z=>Z.id!==k).map((Z,G)=>({...Z,order:G+1})))}catch{}},$=()=>{kn(c)||ct(c)||v(ut([...c,{id:`${Date.now()}-${c.length}`,fieldLabel:"",fieldType:r[0]??"",options:[],isNew:!0}]))},E=async k=>{if(On(k,c))return null;try{const V=await o?.(k);return V?(d(J=>{const Z=ut(J.map(G=>G.id===k.id?{...V,isNew:!1,order:G.order||1}:G));return t?.(Z),Z}),V):null}catch{return null}},M=kn(c),B=ct(c),P=M?"A field with this label and type already exists":"",j=$o(c),D=c.find(k=>k.id===u)||null;return i.jsxs(i.Fragment,{children:[P||j||N?i.jsx("div",{className:"ca-validation-toast",role:"alert",children:P||j||N}):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:Gf.map(k=>i.jsx("div",{className:"ca-form-card-grid__label",children:k},k))}),i.jsxs("div",{className:"ca-form-card-grid__cards",ref:g,children:[c.map(k=>i.jsx(jo,{field:k,fieldOptions:Yf(k,c),fieldTypeOptions:r,fieldAccessOptions:a,hideForOptions:s,selected:D?.id===k.id,isDragging:String(h)===String(k.id),cardRef:V=>{V?p.current[k.id]=V:delete p.current[k.id]},onSelect:()=>f(k.id),onDragStartField:()=>w(k.id),onDragEndField:()=>w(null),onReorder:L,onChange:O,onDelete:x,onSave:E,onOptionNotice:C,hasDuplicateIdentity:On(k,c),hasMissingOptions:qr(k)},k.id)),i.jsx(Oo,{onAdd:$,disabled:M||B})]})]}),i.jsx(Zf,{formFields:c,selectedField:D,onChange:v})]})]})}const qo={department:to,priorities:df,status:_n,statuses:_n,statusCustom:_n,Status:_n,storeId:ao,storeIdCustom:ao};function Qf({fields:e=[],onAddField:t,disableAdd:n=!1,disableAddHint:r="Resolve duplicate field first"}){const[a,s]=_.useState(!1),{fieldLabel:o}=We();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(no,{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=qo[l.fieldKey]||qo[l.id]||to;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(ro,{size:14,strokeWidth:2,"aria-hidden":"true"})})]},l.fieldKey??l.id)})})]})}const Wo={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"},Ho={BOTH:"Both",USER:"User",ADMIN:"Admin"},Rf={...Object.fromEntries(Object.entries(Wo).map(([e,t])=>[t,e])),Select:"SELECT",Dropdown:"SELECT",Radio:"RADIO",Images:"FILE",Time:"DATETIME","Text Area":"TEXTAREA","Date Time":"DATETIME"},ep={...Object.fromEntries(Object.entries(Ho).map(([e,t])=>[t,e])),Both:"BOTH",User:"USER",Admin:"ADMIN"};function ft(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 tp(e,t){const n=ft(e),r=ft(t);return n?r?n+r.charAt(0).toUpperCase()+r.slice(1):n:""}function xn(e,t){return Y({...e,fieldLabel:t})?ft(t)||"status":Ie({...e,fieldLabel:t})?"storeIdCustom":tp(t,e.fieldType)}function zt(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 np(e){return e?typeof e=="string"?e:e.message||e.error||"":""}function Kr(e){return e?typeof e.id=="number"||/^\d+$/.test(String(e.id)):!1}function rp(e=[]){const t=Y(e)?Ht(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 Y(e)?{values:t.map((s,o)=>{const l={name:s,displayOrder:o+1,isActive:!0,isDefault:qf(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 ap(e,t=[],n=[]){const r=String(e.fieldLabel||"").trim(),a=e.originalFieldName!=null&&r===String(e.originalFieldName).trim(),s=t.find(w=>String(w.fieldLabel||"").trim()===e.dependsOn&&e.dependsOn),o=xn(e,r)||(a?e.fieldKey:""),l=s?xn(s,s.fieldLabel)||s.fieldKey:"",c=cp(e,n),d=rp(e),u=Rf[e.fieldType]??String(e.fieldType||"TEXT").toUpperCase(),f=ep[e.fieldAccess]??(e.fieldAccess?String(e.fieldAccess).toUpperCase():"USER"),h={fieldName:r,fieldKey:o,fieldType:u,required:!!e.required,displayOrder:Number(e.order)||1,fieldAccess:f,isActive:e.isActive!==!1};return c!=null&&c!==""&&(h.hideForWorkflowStepId=c),d?.values?.length&&(h.options=d),l&&l!==o&&(h.dependsOnFieldKey=l),h}function zo(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 sp(e,t){return zo(e)!==zo(t)}function op(e=[],t=e,n=[]){return{fields:e.filter(a=>!a.isNew&&String(a.fieldLabel||"").trim()).map((a,s)=>ap({...a,order:a.order||s+1},t,n))}}function ip(...e){const t=[],n=new Set;return e.flat().forEach(r=>{if(!Kr(r))return;const a=Number(r.id);n.has(a)||(n.add(a),t.push(a))}),t}function lp(e){return Array.isArray(e)?e:Array.isArray(e?.data)?e.data:[]}function Dn(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 Ko(e,t=[]){if(!e)return null;const n=Dn(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 Dn(a)}function cp(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=>Dn(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 Jo(e){return[...new Set(e.filter(Boolean))]}function Pn(e){return typeof e=="string"?e:e?.label??e?.name??e?.value??""}function dp(e){return!e||typeof e!="object"?"":e.dependsOnValue??e.parent??""}function up(e,t=[]){if(!e)return"";const n=t.map(Pn).filter(Boolean),r=n.find(s=>s===e);return r||n.find(s=>ft(s)===e||ft(s)===ft(e))||e}function fp(e){return e&&typeof e=="object"&&e.color?e.color:""}function pt(e=[],t=[]){const n=[...e].sort((r,a)=>(r.displayOrder??0)-(a.displayOrder??0));return dt(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:Wr(r.fieldType,Wo,r.fieldKey),required:!!r.required,fieldAccess:Ho[r.fieldAccess]??r.fieldAccess??"",hideFor:Jo([...Array.isArray(r.hideFor)?r.hideFor:[],Ko(r.hideForWorkflowStep,t),Ko(o,t)]),dependsOn:r.dependsOnField?.fieldName??s?.fieldName??r.dependsOn??"",options:a.map(Pn).filter(Boolean),parentMappings:Object.fromEntries(a.map(l=>{const c=Pn(l),d=dp(l);return!c||!d?null:[c,up(d,s?.options?.values??[])]}).filter(Boolean)),optionColors:Object.fromEntries(a.map(l=>[Pn(l),fp(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 pp({stepMeta:e,stepperProps:t}){const n=H.useDispatch(),{systemId:r}=Xt(),a=H.useSelector(S=>S.appDetails?.id),s=zt(a)??zt(r),{state:o,update:l}=Ln(),{formFields:c,prefillFormFields:d=[]}=o,u=_.useRef(null),f=_.useCallback(S=>l({formFields:S}),[l]),h=_.useCallback(async S=>{const U=String(S.fieldLabel||"").trim();return U?{...S,fieldLabel:U,fieldKey:xn(S,U),originalFieldName:U,isNew:!1}:null},[]),w=_.useCallback(async S=>Wt(S)?!1:(Kr(S)&&await n(rt({complaintTypeId:s,fieldId:S.id})).unwrap(),!0),[s,n]),N=H.useSelector(S=>S.complaintAppComplaint?.formFields?.data),C=H.useSelector(S=>S.complaintAppComplaint?.formFields?.isLoading),y=H.useSelector(S=>S.complaintAppComplaint?.formFields?.error),g=H.useSelector(S=>S.workflow?.workflowSteps),p=_.useMemo(()=>lp(g),[g]),v=_.useRef(p),[b,L]=_.useState(!1);_.useEffect(()=>{v.current=p},[p]),_.useEffect(()=>{const S=zt(s);S!=null&&n(qe(S))},[s,n]),_.useEffect(()=>{const S=zt(s);if(S==null)return;let U=!1;return n(Ee(S)).unwrap().then(q=>{if(U)return;const Q=Array.isArray(q)?q:q?.data;if(!(Array.isArray(Q)&&Q.length>0)&&d.length){const X=pt(d,v.current).map((Ce,xe)=>({...Ce,id:`prefill-${xe}`,isNew:!1}));l({formFields:dt(X)})}else{const X=dt(pt(Array.isArray(Q)?Q:[],v.current));l({formFields:X})}L(!0)}).catch(()=>{if(!U){if(d.length){const q=pt(d,v.current).map((Q,W)=>({...Q,id:`prefill-${W}`,isNew:!1}));l({formFields:dt(q)})}L(!0)}}),()=>{U=!0}},[s,n,d,l]);const O=_.useMemo(()=>dt(pt(N,p)),[N,p]),$=zt(s)==null||b,E=$?c:O,M=_.useMemo(()=>jf.filter(S=>!E.some(U=>S.fieldKey&&U.fieldKey===S.fieldKey||Y(S)&&Y(U)||Fn(S)&&Fn(U)||Ie(S)&&Ie(U))),[E]),B=_.useMemo(()=>kn(E),[E]),P=_.useMemo(()=>ct(E),[E]),j=np(y),D=Bf,k=$f,V=_.useMemo(()=>{const S=[...p].sort((q,Q)=>(q.levelNo??0)-(Q.levelNo??0)).map(q=>Dn(q)).filter(Boolean),U=O.flatMap(q=>q.hideFor);return Jo([...S,...U])},[O,p]),J=_.useMemo(()=>E.filter(S=>S.isNew&&String(S.fieldLabel||"").trim()),[E]),[Z,G]=_.useState(!1),ee=_.useCallback(async S=>{if(!ct(E)&&s)try{const q=E.map(te=>{if(!S||!te.isNew)return te;const ae=String(te.fieldLabel||"").trim();return ae?{...te,fieldLabel:ae,fieldKey:xn(te,ae),originalFieldName:ae,isNew:!1}:te}).filter(te=>!te.isNew&&String(te.fieldLabel||"").trim()),Q=new Map(pt(N,p).map(te=>[Number(te.id),te]));if(!q.some(te=>{if(!Kr(te))return!0;const ae=Q.get(Number(te.id));return!ae||sp(te,ae)})){t.onNext?.();return}const X=[...q].sort((te,ae)=>+!!te.dependsOn-+!!ae.dependsOn),Ce=ip(N,q);for(const te of Ce)try{await n(rt({complaintTypeId:s,fieldId:te})).unwrap()}catch{}await n(Ft({complaintTypeId:s,data:op(X,X,p)})).unwrap();const xe=await n(Ee(s)).unwrap(),jn=Array.isArray(xe)?xe:xe?.data;l({formFields:dt(pt(Array.isArray(jn)?jn:[],p))}),t.onNext?.()}catch{}},[N,s,n,E,t,l,p]),A=_.useCallback(()=>{if(!ct(E)){if(J.length){G(!0);return}ee(!1)}},[E,J.length,ee]);return i.jsxs(i.Fragment,{children:[i.jsx(Vt,{...t,steps:Se,onNext:A}),Z?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(de,{variant:"outline",onClick:()=>{G(!1),ee(!1)},children:"OK"}),i.jsx(de,{onClick:()=>{G(!1),ee(!0)},children:"Save"})]})]})}):null,i.jsx(Ut,{className:"ca-settings-card--plain",title:e.title,description:e.description,showNext:!1,children:!$||C?i.jsx(lt,{text:"Loading form fields"}):j&&!E.length?i.jsx("div",{className:"ca-validation-toast",role:"alert",children:j}):i.jsxs("div",{className:"ca-form-fields",children:[j?i.jsx("div",{className:"ca-validation-toast",role:"alert",children:j}):null,i.jsx(Qf,{fields:M,disableAdd:B||P,disableAddHint:B?"Resolve duplicate field first":P?$o(E):void 0,onAddField:S=>u.current?.({...S})}),i.jsx(Vo,{initialFields:E,addExternalFieldRef:u,onChange:f,fieldTypeOptions:D,fieldAccessOptions:k,hideForOptions:V,onSave:h,onDelete:w})]})})]})}function Zo({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(Ys,{children:e}),i.jsx(En,{checked:t,onChange:n,disabled:r,"aria-label":e})]})}function Yo({storeList:e=[],value:t,onChange:n,...r}){const{label:a}=We();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 hp=new Set(["select","radio","checkbox"]);function Go(e){return String(e||"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/(^-|-$)/g,"")}function ze(e){return String(e.label||e.fieldLabel||e.fieldName||e.name||"").trim()}function Jr(e){return`review-${e.id??e.fieldKey??(Go(ze(e))||"field")}`}function Xo(e,t,n){return n===0?e:`${e}-${Go(t)||n}`}function Zr(e){const t=String(e.fieldType||"").toLowerCase(),n=String(e.fieldKey||ze(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 Qo(e){return hp.has(e)}function mp(e){return e==="textarea"||e==="radio"||e==="checkbox"}function gp(e){const t=String(e.fieldType||"").toLowerCase();return t==="text"||t==="textfield"}function Ro(e){return String(e||"").replace(/\d/g,"")}function ei(e){return String(e||"").replace(/[^\d]/g,"")}function Kt(e,t){const n=String(ze(e)||"value").toLowerCase();return t==="date"?"mm/dd/yyyy":t==="select"?`Select ${n}`:t==="email"?"Enter email":`Enter ${n}`}function Jt(e){return String(e.fieldKey||e.id||ze(e)||Jr(e))}function ti(e,t=[]){const n=String(e.dependsOn||"").trim();return n&&t.find(r=>{const a=ze(r),s=String(r.fieldKey||"");return a===n||s===n})||null}function ni(e,t=[],n={}){const r=e.options||[],a=ti(e,t);if(!a)return r;const s=e.parentMappings||{};if(!r.some(c=>!!s[c]))return r;const l=String(n[Jt(a)]||"").trim();return l?r.filter(c=>String(s[c]||"")===l):r}function ri(e){return e==="checkbox"||e==="images"?[]:""}function yp({question:e,options:t,value:n,onChange:r,storeList:a}){const s=Jr(e),o=Zr(e),l=n??ri(o),c={id:s,name:String(e.fieldKey||ze(e)||s),required:!!e.required};if(Ie(e)&&Array.isArray(a))return i.jsx(Yo,{...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=Xo(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:h=>r(h.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 h=Xo(s,u,f);return i.jsxs("label",{className:"review-option",htmlFor:h,children:[i.jsx("input",{id:h,name:`${c.name}[]`,type:"checkbox",value:u,checked:d.includes(u),required:!1,onChange:w=>r(w.target.checked?[...d,u]:d.filter(N=>N!==u))}),i.jsx("span",{children:u})]},u)})})}return o==="textarea"?i.jsx("textarea",{...c,className:"review-control review-control--textarea",placeholder:Kt(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:Kt(e,o)}),t.map(d=>i.jsx("option",{value:d,children:d},d))]}):o==="file"?i.jsx("input",{...c,className:"review-control",type:"file",onChange:d=>r(d.target.files?.[0]?.name||"")}):o==="images"?i.jsx("input",{...c,className:"review-control",type:"file",accept:"image/*",multiple:!0,onChange:d=>r(Array.from(d.target.files||[]).map(u=>u.name))}):o==="number"?i.jsx("input",{...c,className:"review-control",type:"number",inputMode:"numeric",placeholder:Kt(e,o),value:l,onChange:d=>r(ei(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(ei(u)))}}):gp(e)?i.jsx("input",{...c,className:"review-control",type:"text",inputMode:"text",placeholder:Kt(e,o),value:l,onChange:d=>r(Ro(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(Ro(u)))}}):i.jsx("input",{...c,className:"review-control",type:o,placeholder:Kt(e,o),value:l,onChange:d=>r(d.target.value)})}function bp({fields:e=[],storeList:t}){const{fieldLabel:n}=We(),[r,a]=_.useState({}),s=(o,l)=>{const c=Jt(o);a(d=>{const u={...d,[c]:l};return e.forEach(f=>{const h=ti(f,e);if(!h||Jt(h)!==c)return;const w=Zr(f);if(!Qo(w))return;const N=ni(f,e,u),C=Jt(f),y=u[C];Array.isArray(y)?u[C]=y.filter(g=>N.includes(g)):y&&!N.includes(y)&&(u[C]="")}),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=Zr(o),c=Jr(o),d=Qo(l)?ni(o,e,r):[];return i.jsxs("div",{className:`review-question${mp(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(yp,{storeList:t,question:o,options:d,value:r[Jt(o)]??ri(l),onChange:u=>s(o,u)})]},o.id??o.fieldKey??ze(o))})})})}):i.jsx("p",{className:"review-empty",children:"No form fields added"})}const Sp={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"},vp={BOTH:"Both",USER:"User",ADMIN:"Admin"};function wp(e){return e?typeof e=="string"?e:e.name??e.label??e.title??null:null}function Cp(e){return[...new Set(e.filter(Boolean))]}function Yr(e){return typeof e=="string"?e:e?.label??e?.name??""}function Gr(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 Np(e){return!e||typeof e!="object"?"":e.dependsOnValue??e.parent??""}function _p(e,t=[]){if(!e)return"";const n=t.map(Yr).filter(Boolean),r=n.find(s=>s===e);return r||n.find(s=>Gr(s)===e||Gr(s)===Gr(e))||e}function Ep(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:Wr(n.fieldType,Sp,n.fieldKey),required:!!n.required,fieldAccess:vp[n.fieldAccess]??n.fieldAccess??"",hideFor:Cp([...Array.isArray(n.hideFor)?n.hideFor:[],wp(n.hideForWorkflowStep)]),dependsOn:n.dependsOnField?.fieldName??a?.fieldName??n.dependsOn??"",options:r.map(Yr).filter(Boolean),parentMappings:Object.fromEntries(r.map(s=>{const o=Yr(s),l=Np(s);return!o||!l?null:[o,_p(l,a?.options?.values??[])]}).filter(Boolean))}})}function Tp({onPublish:e,stepMeta:t,stepperProps:n,storeList:r}){const a=H.useDispatch(),s=H.useSelector(b=>b.appDetails?.id),o=H.useSelector(b=>b.complaintAppComplaint.formFields.data),l=H.useSelector(b=>b.complaintAppComplaint.formFields.isLoading),c=H.useSelector(b=>b.complaintAppComplaint.formFields.error),d=H.useSelector(b=>b.createComplaint?.isActive),u=H.useSelector(b=>b.createComplaint?.activeComplaintTypeId),f=H.useSelector(b=>b.createComplaint?.isUpdatingActive),h=H.useSelector(b=>b.createComplaint?.activeError),w=H.useSelector(b=>b.complaintType?.selected),N=H.useSelector(b=>b.complaintType?.complaintList??[]),C=_.useMemo(()=>Ep(o),[o]),y=_.useMemo(()=>s==null?null:w&&String(w.id??w._id)===String(s)?w:N.find(b=>String(b?.id??b?._id)===String(s))??null,[N,s,w]),g=y!=null&&(y.isActive!=null||y.active!=null)?!!(y.isActive??y.active):null,p=String(u)===String(s)?!!d:g??!0;_.useEffect(()=>{s&&a(Ee(s))},[s,a]);const v=b=>{!s||f||a($t({id:s,isActive:b}))};return i.jsxs(i.Fragment,{children:[i.jsx(Vt,{...n,steps:Se,showSaveButton:!1,nextLabel:"Publish",extraActions:i.jsx(Zo,{label:"Active",checked:p,disabled:!s||f,onChange:v}),onNext:()=>{e?.(),n.onNext?.()}}),h?i.jsx("div",{className:"ca-validation-toast",role:"alert",children:h}):null,i.jsx(Ut,{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(lt,{text:"Loading form fields"}):c&&!C.length?i.jsx("p",{className:"ca-body",children:c}):i.jsx(bp,{fields:C,storeList:r})})})})]})}function Lp(e){const t=Number(e);return!Number.isFinite(t)||t<1?1:t>Se.length?Se.length:Math.floor(t)}function Ap(e){const t=Number(e);return!Number.isFinite(t)||t<1?1:t>3?3:Math.floor(t)}function ai({title:e="Complaint Management Settings",onPublish:t,onStepChange:n,onSaveDraft:r,roleList:a=[],storeList:s,showSaveButton:o=!0,showNextButton:l=!0}){const c=Oe(),d=H.useDispatch(),{systemId:u}=Xt(),[f,h]=Ca(),w=Lp(f.get("step")||1),N=Ap(f.get("substep")||1);_.useEffect(()=>{u&&d(Ve(u))},[d,u]),_.useEffect(()=>{if(!f.get("step")){const L=new URLSearchParams(f);L.set("step","1"),h(L,{replace:!0})}},[f,h]);const C=_.useMemo(()=>Se.find(L=>L.id===w)||Se[0],[w]),y=_.useCallback((L,O)=>{const x=new URLSearchParams(f);x.set("step",String(L)),L===4?x.set("substep",String(O??(L===w?N:1))):x.delete("substep"),h(x,{replace:!1}),n?.({systemId:u,step:L,substep:O})},[f,h,n,u,w,N]),g=()=>{if(w<Se.length){y(w+1,1);return}c("/")},p=L=>{y(4,L)},v=()=>{t?.({systemId:u,step:w})},b={currentStep:w,onStepClick:L=>y(L,L===4?1:void 0),showSaveButton:o,showNextButton:l,onSaveDraft:()=>r?.({systemId:u,step:w}),onNext:g,className:"ca-settings-page__stepper"};return i.jsx(bo,{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(Tr,{children:e})]}),w===1?i.jsx(Lf,{stepMeta:C,stepperProps:b,roleList:a}):null,w===2?i.jsx(Mf,{onNext:g,stepMeta:C,roleList:a,substep:N,onSubstepChange:p,stepperProps:b}):null,w===3?i.jsx(pp,{stepMeta:C,stepperProps:b}):null,w===4?i.jsx(Tp,{storeList:s,onPublish:v,stepMeta:C,stepperProps:b}):null]})},u||"new")}const Fp=["January","February","March","April","May","June","July","August","September","October","November","December"];function Op(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()} ${Fp[t.getMonth()]} ${t.getFullYear()}, ${n}:${r}`}function kp(){const e=Oe(),t=H.useSelector(s=>s.status?.complaintSummary??null),n=t?.totalComplaints??0,r=t?.totalComplaints??0,a=Op(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 si({text:e="No data"}){return i.jsx("div",{className:"ca-empty-state",role:"status",children:e})}const oi="aira-query-complaintTypeId",Xr=["Open","Closed"],Mn=["Level 1","Level 2","Level 3"],ii={id:"status",label:"Status",key:"status"},li={id:"escalationTo",label:"Escalation To",key:"escalationTo"},Ip={id:"submittedByUserName",label:"Submitted By",key:"submittedByUserName"},xp={id:"updatedAt",label:"Updated At",key:"updatedAt"},Zt="desc",Yt="asc",ci=new Set(["status","escalationTo","id","submittedByUserName","updatedAt"]),Dp=["January","February","March","April","May","June","July","August","September","October","November","December"];function Pp(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()} ${Dp[t.getMonth()]} ${t.getFullYear()}, ${n}:${r}`}function di(e){if(!e)return 0;const t=new Date(e).getTime();return Number.isNaN(t)?0:t}function Mp(e,t){return t!==Zt&&t!==Yt?e:[...e].sort((n,r)=>{const a=di(n.updatedAtValue),s=di(r.updatedAtValue);return a===s?0:t===Yt?a-s:s-a})}function Bp(e){return e===Zt?Yt:Zt}function $p(e){return[Ip,xp,...e,ii,li]}function ui(e){return e==null||e===""?null:typeof e=="object"?e.data??e.id??e._id??null:e}function Up(){try{return sessionStorage.getItem(oi)}catch{return null}}function fi(e){const t=ui(e);if(t==null||t==="")return null;const n=String(t);try{sessionStorage.setItem(oi,n)}catch{}return n}function jp(...e){for(const t of e){const n=ui(t);if(n!=null&&n!=="")return String(n)}return null}function Vp(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 qp(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 pi(e){return e===!0||e==="Yes"||e==="true"||e===1||e==="1"}function hi(e){const t=String(e||"").trim().toLowerCase();return t==="resolved"||t==="closed"}function Wp(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 Hp(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 zp(e,t=[],n=[]){const r=Wp(e,n),a={id:e?.complaintId??e?.id,status:Vp(e,t),statusId:qp(e,t),escalationTo:Hp(e,n),currentStepId:r?.id??e?.currentStepId??e?.workflowStepId??e?.currentWorkflowStepId??null,canResolve:pi(e?.canResolve??r?.canResolve),isFinalLevel:pi(e?.isFinalLevel??r?.isFinalLevel??r?.finalLevel),submittedByUserName:e?.submittedByUserName||"-",updatedAt:Pp(e?.updatedAt)||"-",updatedAtValue:e?.updatedAt??""};return(e?.formField||[]).forEach(s=>{const o=s.fieldKey||s.fieldName;!o||ci.has(o)||(a[o]=s.value)}),a}function Bn(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 mi({value:e,options:t,fallbackOptions:n,ariaLabel:r,selectKey:a,onChange:s}){const l=(t.length?t:n.map(h=>({value:h,label:h}))).map(h=>h&&typeof h=="object"?{value:String(h.value??h.id??""),label:h.label??h.name??String(h.value??h.id??""),disabled:!!h.disabled}:{value:String(h),label:String(h),disabled:!1}).filter(h=>h.value||h.label),c=e!=null&&e!==""&&e!=="-"?String(e):"",d=l.map(h=>h.value),u=c&&!d.includes(c)?[{value:c,label:c,disabled:!1},...l]:l,f=u.some(h=>h.value===c)?c:u[0]?.value??"";return i.jsx("select",{className:"ca-complaint-table__select","aria-label":r,value:f,onChange:h=>s?.(h.target.value),children:u.map(h=>i.jsx("option",{value:h.value,disabled:h.disabled,children:h.label},h.value))},a)}function Kp(e,t){return e.map(n=>{const r=hi(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 Jp(e,t){const n=[...e].sort((o,l)=>(o.levelNo??0)-(l.levelNo??0)),r=n.find(o=>String(o.id)===String(t.currentStepId))??n.find(o=>`Level ${o.levelNo}`===t.escalationTo),a=r?.levelNo,s=a!=null?a+1:null;return n.map(o=>{const l=r!=null&&String(o.id)===String(r.id),c=s!=null&&o.levelNo===s,d=r==null&&o.levelNo===n[0]?.levelNo;let u=!0;return(l||!t.isFinalLevel&&(c||d))&&(u=!1),{value:o.id,label:o.levelNo!=null?`Level ${o.levelNo}`:String(o.name||o.id),disabled:u}}).filter(o=>o.label)}function gi(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 yi(e,t,n=Xr,r=Mn,a={}){const s=t[e.key]??"-",o=a.statusOptions??n,l=a.escalationOptions??r;return e.key==="status"?i.jsx(mi,{value:gi(o,t.statusId)?t.statusId:s,options:o,fallbackOptions:Xr,ariaLabel:"Status",selectKey:`status-${t.id}`,onChange:a.onStatusChange}):e.key==="escalationTo"?i.jsx(mi,{value:gi(l,t.currentStepId)?t.currentStepId:s,options:l,fallbackOptions:Mn,ariaLabel:"Escalation to",selectKey:`escalation-${t.id}`,onChange:a.onEscalationChange}):s}function Zp(){const{fieldLabel:e}=We(),t=H.useDispatch(),{complaintTypeId:n}=Xt(),[r]=Ca(),a=H.useSelector(S=>S.appDetails?.id),s=jp(n,r.get("complaintTypeId"),a,Up()),{list:o=[],isLoading:l=!1,error:c=null,hasLoaded:d=!1,requestedComplaintTypeId:u=null}=H.useSelector(S=>S.complaintManagement??{}),f=H.useSelector(S=>S.status?.list??[]),h=H.useSelector(S=>S.changeStatus?.error??null),w=H.useSelector(S=>S.changeStatus?.updatingId??null),N=_.useMemo(()=>f.map(S=>S.name).filter(Boolean),[f]),C=H.useSelector(S=>S.workflow?.workflowSteps),y=_.useMemo(()=>Array.isArray(C)?C:[],[C]),g=Oe(),[p,v]=_.useState({complaintTypeId:null,status:"all"}),[b,L]=_.useState({complaintTypeId:null,direction:Zt}),O=String(p.complaintTypeId)===String(s)?p.status:"all",x=String(b.complaintTypeId)===String(s)?b.direction:Zt;_.useEffect(()=>{!s||n||(fi(s),g(`/complaintmanagement/${s}`,{replace:!0}))},[s,g,n]),_.useEffect(()=>{if(!s||!n)return;fi(s),t(Ve(s)),t(Bs()),t(Vs()),t(Yu());const S=t(Bt({complaintTypeId:s,page:1,limit:10})),U=t(Sn(s)),q=t(vn(s)),Q=t(qe(s));return()=>{S.abort?.(),U.abort?.(),q.abort?.(),Q.abort?.()}},[s,t,n]);const $=_.useMemo(()=>u!=null&&s!=null&&String(u)!==String(s)?[]:o.map(S=>({...zp(S,f,Array.isArray(C)?C:[]),_fields:S?.formField||[]})),[s,o,u,f,C]),E=_.useMemo(()=>{const S=new Set,U=[];return $.forEach(q=>{(q._fields||[]).forEach(Q=>{const W=Q.fieldKey||Q.fieldName;!W||ci.has(W)||S.has(W)||(S.add(W),U.push({id:W,label:Q.fieldName||W,key:W}))})}),U},[$]),M=$p(E),P=_.useMemo(()=>Mp($,x),[$,x]).map(({_fields:S,...U})=>U),j=M.filter(S=>S.key!=="status"&&S.key!=="escalationTo"),D=[ii,li],k=!!(s&&!c&&!P.length&&(l||!d)),V=S=>{v({complaintTypeId:s,status:S}),s&&t(Bt({complaintTypeId:s,page:1,limit:10,status:S==="all"?void 0:S}))},J=()=>{L({complaintTypeId:s,direction:Bp(x)})},Z=()=>{s&&g(`/complaintmanagement/new/${s}`)},G=(S,U)=>{if(S?.id==null||w!=null&&String(w)===String(S.id)||String(U)===String(S.statusId)||String(U)===String(S.status))return;const q=f.find(W=>String(W.id)===String(U)||String(W.name)===String(U));if(q?.id==null)return;const Q=hi(q.name);Q&&!S.canResolve||S.isFinalLevel&&!Q||t(ot({id:S.id,statusId:q.id,currentStepId:S.currentStepId,status:q.name}))},ee=(S,U)=>{if(S?.id==null||w!=null&&String(w)===String(S.id)||String(U)===String(S.currentStepId)||String(U)===String(S.escalationTo)||S.isFinalLevel)return;const q=y.find(X=>String(X.id)===String(U)||`Level ${X.levelNo}`===String(U));if(q?.id==null)return;const Q=y.find(X=>String(X.id)===String(S.currentStepId))??y.find(X=>`Level ${X.levelNo}`===S.escalationTo),W=[...y].sort((X,Ce)=>(X.levelNo??0)-(Ce.levelNo??0));Q&&q.levelNo!==Q.levelNo+1||!Q&&q.levelNo!==W[0]?.levelNo||t(ot({id:S.id,statusId:S.statusId,currentStepId:q.id,status:S.status,level:q.levelNo}))},A=S=>({statusOptions:Kp(f,S),escalationOptions:Jp(y,S),onStatusChange:U=>G(S,U),onEscalationChange:U=>ee(S,U)});return i.jsxs("section",{className:"ca-complaint-table","aria-label":"Complaint records",children:[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(uf,{size:14,"aria-hidden":"true"}),i.jsx("span",{className:"ca-complaint-table__sr-only",children:"Filter by status"}),i.jsxs("select",{value:O,"aria-label":"Filter by status",onChange:S=>V(S.target.value),children:[i.jsx("option",{value:"all",children:"Select Status"}),(N.length?N:Xr).map(S=>i.jsx("option",{value:S,children:S},S))]})]}),i.jsx("button",{type:"button",className:`ca-complaint-table__sort${x===Yt?" ca-complaint-table__sort--reversed":""}`,"aria-label":x===Yt?"Sort by newest updated at date":"Sort by oldest updated at date",title:"Sort by Updated At",onClick:J,children:i.jsx(of,{className:"ca-complaint-table__sort-icon",size:14,"aria-hidden":"true"})})]}),i.jsxs("div",{className:"ca-complaint-table__actions",children:[i.jsx(de,{variant:"outline",onClick:()=>Z(),size:"sm",startIcon:i.jsx(ro,{size:14}),children:"New Complaint"}),i.jsx(de,{variant:"outline",size:"sm",startIcon:i.jsx(lf,{size:14}),children:"Download Report"})]})]}),c?i.jsx("p",{className:"ca-body",children:c}):null,h?i.jsx("div",{className:"ca-validation-toast",role:"alert",children:h}):null,k?i.jsx(lt,{text:"Loading complaints"}):i.jsx("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:"#"}),j.map(S=>i.jsx("th",{scope:"col",className:Bn(S.key,!0),children:e(S)},S.id)),i.jsx("th",{className:"ca-complaint-table__spacer","aria-hidden":"true"}),D.map(S=>i.jsx("th",{scope:"col",className:Bn(S.key,!0),children:e(S)},S.id))]})}),i.jsx("tbody",{children:P.length?P.map((S,U)=>i.jsxs("tr",{children:[i.jsx("td",{children:U+1}),j.map(q=>i.jsx("td",{className:Bn(q.key),children:yi(q,S,N,Mn,A(S))},`${S.id??U}-${q.id}`)),i.jsx("td",{className:"ca-complaint-table__spacer","aria-hidden":"true"}),D.map(q=>i.jsx("td",{className:Bn(q.key),children:yi(q,S,N,Mn,A(S))},`${S.id??U}-${q.id}`))]},S.id??U)):i.jsx("tr",{className:"ca-complaint-table__empty-row",children:i.jsx("td",{className:"ca-complaint-table__empty",colSpan:1+j.length+1+D.length,children:i.jsx(si,{text:"No Complaint"})})})})]})})]})}const $n=()=>i.jsxs("main",{className:"ca-query-management-page",children:[i.jsx(kp,{}),i.jsx(Zp,{})]}),Yp=37,Gp={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 Xp(e){return typeof e=="string"?e:e?.label??""}function Qp(e=[]){return[...e].sort((n,r)=>(n.displayOrder??0)-(r.displayOrder??0)).map(n=>{const r=n.fieldName??n.fieldLabel??n.label??"",a=n.fieldKey??String(n.id);return{id:n.id,label:r,fieldKey:Y({fieldKey:a,label:r})?"status":a,fieldType:Wr(n.fieldType,Gp,n.fieldKey),required:!!n.required,options:(n?.options?.values??[]).map(Xp).filter(Boolean)}})}function Rp(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 eh(e){if(Y(e))return"status";const t=String(e.fieldKey||"").trim();return t&&!/\s/.test(t)?t:Rp(e.label||t)}function oe(e){return String(e.fieldKey||e.id||e.label)}function Un(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 bi(e){return`new-query-${e.id??oe(e)}`}function Si(e){if(Y(e))return(e.options||[]).find(r=>String(r).trim().toLowerCase()==="open")||"Open";const t=Un(e);return t==="checkbox"||t==="images"?[]:""}function th(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 vi(e){return Array.isArray(e)?e.length===0:typeof File<"u"&&e instanceof File?!1:e==null||String(e).trim()===""}function nh(e){return/^\d+$/.test(String(e).trim())}function rh(e=[],t={}){for(const n of e){const r=Un(n),a=t[oe(n)],s=n.label||"This field";if(n.required&&vi(a))return`${s} is required.`;if(!vi(a)&&r==="number"&&!nh(a))return`${s} must be a valid number.`}return""}function ah(e=[],t={}){const n={};return e.forEach(r=>{const a=eh(r);a&&(n[a]=th(t[oe(r)]))}),n}function sh(e=[],t={},n={}){const r=e.find(s=>{const o=String(s.label||"").trim().toLowerCase(),l=String(s.fieldKey||"").trim().toLowerCase();return o==="title"||l==="title"});if(r){const s=t[oe(r)];if(s)return String(s)}if(t.title)return String(t.title);const a=n.complaintCategory||n.status||n["Complaint Category"]||n.Status;return a?String(a):"Untitled Query"}function oh({field:e,value:t,onChange:n,storeList:r}){const{fieldLabel:a}=We(),s=Un(e),o=bi(e),l=Y(e);if(Ie(e)&&Array.isArray(r))return i.jsx(Yo,{id:o,name:oe(e),required:e.required,storeList:r,value:t,onChange:n});if(s==="radio")return i.jsx("div",{className:"review-options review-options--inline",children:e.options.map(c=>i.jsxs("label",{className:"review-option",htmlFor:`${o}-${c}`,children:[i.jsx("input",{id:`${o}-${c}`,name:oe(e),type:"radio",value:c,checked:t===c,onChange:d=>n(d.target.value),required:e.required,disabled:l}),i.jsx("span",{children:c})]},c))});if(s==="checkbox"){const c=Array.isArray(t)?t:[];return i.jsx("div",{className:"review-options review-options--inline",children:e.options.map(d=>i.jsxs("label",{className:"review-option",htmlFor:`${o}-${d}`,children:[i.jsx("input",{id:`${o}-${d}`,name:`${oe(e)}[]`,type:"checkbox",value:d,checked:c.includes(d),onChange:u=>n(u.target.checked?[...c,d]:c.filter(f=>f!==d))}),i.jsx("span",{children:d})]},d))})}if(s==="textarea")return i.jsx("textarea",{id:o,name:oe(e),className:"review-control review-control--textarea",value:t,onChange:c=>n(c.target.value),required:e.required,disabled:l});if(s==="file")return i.jsx("input",{id:o,name:oe(e),className:"review-control",type:"file",onChange:c=>n(c.target.files?.[0]||""),required:e.required,disabled:l});if(s==="images")return i.jsx("input",{id:o,name:oe(e),className:"review-control",type:"file",accept:"image/*",multiple:!0,onChange:c=>n(Array.from(c.target.files||[])),required:e.required,disabled:l});if(s==="number")return i.jsx("input",{id:o,name:oe(e),className:"review-control",type:"number",inputMode:"numeric",value:t,onChange:c=>n(String(c.target.value).replace(/[^\d]/g,"")),onKeyDown:c=>{(c.key==="e"||c.key==="E"||c.key==="+"||c.key==="-"||c.key===".")&&c.preventDefault()},required:e.required,disabled:l});if(s==="select"){const c=(e.options||[]).includes(t)||!l||!t?e.options:[t,...e.options];return i.jsxs("select",{id:o,name:oe(e),className:"review-control",value:t,onChange:d=>n(d.target.value),required:e.required,disabled:l,children:[l?null:i.jsxs("option",{value:"",children:["Select ",a(e)]}),c.map(d=>i.jsx("option",{value:d,children:d},d))]})}return i.jsx("input",{id:o,name:oe(e),className:"review-control",type:s,value:t,onChange:c=>n(c.target.value),required:e.required,disabled:l})}function wi({storeList:e}={}){const{fieldLabel:t}=We(),n=H.useDispatch(),r=Oe(),{complaintTypeId:a}=Xt(),s=Number(a)||Yp,[o,l]=_.useState([]),[c,d]=_.useState({}),[u,f]=_.useState(!0),[h,w]=_.useState(!1),[N,C]=_.useState(""),[y,g]=_.useState("");_.useEffect(()=>{let b=!1;return n(Ee(s)).unwrap().then(L=>{if(b)return;const O=Qp(Array.isArray(L?.data)?L.data:L);l(O),d(Object.fromEntries(O.map(x=>[oe(x),Si(x)])))}).catch(L=>{b||C(L?.message||"Failed to load form fields.")}).finally(()=>{b||f(!1)}),()=>{b=!0}},[s,n]);const p=_.useMemo(()=>o.length>0,[o]),v=async b=>{b.preventDefault(),C(""),g(""),w(!0);const L=rh(o,c);if(L){C(L),w(!1);return}const O=ah(o,c),x={complaintTypeId:s,title:sh(o,c,O),fieldValues:O};console.log("Submitting query with values:",x);try{await n(Cn(x)).unwrap(),g("Query submitted successfully."),r(`/complaintmanagement/${s}`)}catch($){C($?.message||"Failed to submit query.")}finally{w(!1)}};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"})]})}),N?i.jsx("div",{className:"ca-validation-toast",role:"alert",children:N}):null,u?i.jsx(lt,{text:"Loading form fields"}):null,!u&&p?i.jsxs("form",{className:"review-form-card",onSubmit:v,children:[i.jsx("div",{className:"review-form-grid",children:o.map(b=>i.jsxs("div",{className:`review-question${["textarea","radio","checkbox"].includes(Un(b))?" review-question--wide":""}`,children:[i.jsxs("label",{className:"review-label",htmlFor:bi(b),children:[t(b)||"Untitled field",b.required?i.jsx("span",{className:"review-required",children:"*"}):null]}),i.jsx(oh,{storeList:e,field:b,value:c[oe(b)]??Si(b),onChange:L=>{Y(b)||d(O=>({...O,[oe(b)]:L}))}})]},b.id??oe(b)))}),i.jsx("div",{className:"ca-new-query__actions",children:i.jsx(de,{type:"submit",disabled:h,children:h?"Submitting...":"Submit Complaint"})}),y?i.jsx("p",{className:"ca-body",children:y}):null]}):null]})})}function ih({pageProps:e={},onPublish:t,onStepChange:n,children:r}){const a=r??i.jsx(mo,{...e});return i.jsxs(Sl,{children:[i.jsx(be,{path:"/",element:a}),i.jsx(be,{path:"/settings/:systemId",element:i.jsx(ai,{onPublish:t,onStepChange:n,company:e.company,roleList:e.roleList,storeList:e.storeList})}),i.jsx(be,{path:"complaintmanagement",element:i.jsx($n,{company:e.company})}),i.jsx(be,{path:"complaintmanagement/new/:complaintTypeId",element:i.jsx(wi,{company:e.company,storeList:e.storeList})}),i.jsx(be,{path:"complaintmanagement/:complaintTypeId",element:i.jsx($n,{company:e.company})}),i.jsx(be,{path:"querymanagement",element:i.jsx($n,{company:e.company})}),i.jsx(be,{path:"querymanagement/new/:complaintTypeId",element:i.jsx(wi,{company:e.company,storeList:e.storeList})}),i.jsx(be,{path:"querymanagement/:complaintTypeId",element:i.jsx($n,{company:e.company})}),i.jsx(be,{path:"*",element:a})]})}function lh({pageProps:e,onPublish:t=a=>console.log(a),onStepChange:n=a=>console.log(a),children:r}){return i.jsx(ih,{pageProps:e,onPublish:t,onStepChange:n,children:r})}function ch({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 dh({basePath:e,children:t}){return Ze()?t:i.jsx(Dl,{basename:e,children:t})}function uh({store:e,children:t}){return i.jsx(H.Provider,{store:e||Ks,children:t})}function fh({details:e,children:t}){const n=H.useDispatch();return _.useEffect(()=>{n(As(e))},[n,e]),t}const ph=[],Ci=({apiUrl:e,authToken:t,store:n,basePath:r="/",theme:a,darkMode:s=!1,title:o,description:l,rolelist:c,roleList:d=c??ph,storeList:u,company:f,useDemoData:h=!0,createLabel:w,onCreateForm:N,onConfigure:C,onOpen:y,onTitleClick:g,onDescriptionClick:p,onSearch:v,onPublish:b,onSaveDraft:L,showSaveButton:O,showNextButton:x,onStepChange:$,children:E})=>{const M={title:o,description:l,useDemoData:h,createLabel:w,onCreateForm:N,onConfigure:C,onOpen:y,roleList:d,storeList:u,company:f,onTitleClick:g,onDescriptionClick:p,onSearch:v,onSaveDraft:L,showSaveButton:O,showNextButton:x},B=_.useMemo(()=>({apiUrl:e,authToken:t,basePath:r,theme:a,darkMode:s,title:o,description:l,roleList:d,storeList:u,company:f,useDemoData:h,createLabel:w,onCreateForm:N,onConfigure:C,onOpen:y,onTitleClick:g,onDescriptionClick:p,onSearch:v,onPublish:b,onSaveDraft:L,showSaveButton:O,showNextButton:x,onStepChange:$}),[e,t,r,a,s,o,l,d,u,f,h,w,N,C,y,g,p,v,b,L,O,x,$]);return i.jsx(ko.Provider,{value:f,children:i.jsx(vs,{theme:a,darkMode:s,children:i.jsx(uh,{store:n,children:i.jsx(fh,{details:B,children:i.jsx(ch,{children:i.jsx(hs,{apiUrl:e,authToken:t,children:i.jsx(dh,{basePath:r,children:i.jsx(lh,{pageProps:M,onPublish:b,onStepChange:$,children:E})})})})})})})})};function hh({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 mh({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 gh=_e.colors,yh=_e.radii,bh=_e.spacing,Sh=_e.typography;T.AddFormButton=Oo,T.AddTableCard=Eo,T.ApiProvider=hs,T.BodyText=Nn,T.Button=de,T.COMPLAINT_ENDPOINTS=mn,T.CardFooter=oo,T.CardHeader=so,T.ChevronDownIcon=kr,T.ChevronRightIcon=Fr,T.Chip=hh,T.CloseIcon=Co,T.ComplaintApp=Ci,T.ComplaintManagementPage=mo,T.ComplaintSettingsPage=ai,T.DEFAULT_PAGE_DESCRIPTION=ho,T.DEMO_SYSTEMS=Sf,T.DataPoint=io,T.Divider=lo,T.DragHandleIcon=xo,T.EmptyState=si,T.FieldLabel=Or,T.FormCard=jo,T.FormCardGrid=Vo,T.FormField=Te,T.FormInput=jt,T.FormSelect=Dr,T.FormTextarea=wf,T.Heading1=Tr,T.Heading2=Lr,T.Input=it,T.LabelText=Ys,T.LayersIcon=So,T.LinkText=Ru,T.Loading=lt,T.PageHeader=Xs,T.PlusIcon=Js,T.Radio=mh,T.RoleMultiSelect=Pr,T.SETTINGS_STEPS=Se,T.SearchBar=po,T.SearchIcon=fo,T.Select=ve,T.SettingsCard=Ut,T.SettingsCardHeader=vo,T.SettingsWizardProvider=bo,T.StatusBadge=Qs,T.Stepper=Vt,T.SystemCard=co,T.SystemCardGrid=uo,T.TableCard=To,T.TableCardGrid=Ao,T.Tag=No,T.Textarea=wo,T.ThemeProvider=vs,T.Toggle=En,T.ToggleField=Zo,T.TrashIcon=Tn,T.Typography=ke,T.ValueText=Gs,T.WORKFLOW_SUBSTEPS=vf,T.api=re,T.appDetailsReducer=Fs,T.clearAppDetails=gu,T.clearComplaintError=lu,T.clearId=yu,T.clearSelectedComplaintResource=cu,T.colors=gh,T.complaintReducer=_s,T.createComplaintStore=zs,T.darkTheme=At,T.deepMerge=nt,T.default=Ci,T.defaultThemeFile=ms,T.deleteFormField=rt,T.getFormFields=Ee,T.lightTheme=_e,T.normalizeThemeFile=gs,T.radii=yh,T.resetComplaintState=du,T.resolveActiveTheme=ys,T.saveFormFields=Ft,T.setAppDetails=As,T.setAuthToken=yr,T.setBaseUrl=ps,T.setId=Ve,T.setIsEdit=Mt,T.spacing=bh,T.store=Ks,T.themeToCssVars=bs,T.typography=Sh,T.useSettingsWizard=Ln,T.useTheme=ws,Object.defineProperties(T,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
11
+ `+s)}}catch{}}throw r}}_request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=Ue(this.defaults,n);const{transitional:r,paramsSerializer:a,headers:s}=n;r!==void 0&&pn.assertOptions(r,{silentJSONParsing:le.transitional(le.boolean),forcedJSONParsing:le.transitional(le.boolean),clarifyTimeoutError:le.transitional(le.boolean),legacyInterceptorReqResOrdering:le.transitional(le.boolean),advertiseZstdAcceptEncoding:le.transitional(le.boolean),validateStatusUndefinedResolves:le.transitional(le.boolean)},!1),a!=null&&(m.isFunction(a)?n.paramsSerializer={serialize:a}:pn.assertOptions(a,{encode:le.function,serialize:le.function},!0)),n.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?n.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:n.allowAbsoluteUrls=!0),pn.assertOptions(n,{baseUrl:le.spelling("baseURL"),withXsrfToken:le.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"],N=>{delete s[N]}),n.headers=ie.concat(o,s);const l=[];let c=!0;this.interceptors.request.forEach(function(C){if(typeof C.runWhen=="function"&&C.runWhen(n)===!1)return;c=c&&C.synchronous;const y=n.transitional||ir;y&&y.legacyInterceptorReqResOrdering?l.unshift(C.fulfilled,C.rejected):l.push(C.fulfilled,C.rejected)});const d=[];this.interceptors.response.forEach(function(C){d.push(C.fulfilled,C.rejected)});let u,f=0,h;if(!c){const N=[hr.bind(this),void 0];for(N.unshift(...l),N.push(...d),h=N.length,u=Promise.resolve(n);f<h;)u=u.then(N[f++],N[f++]);return u}h=l.length;let w=n;for(;f<h;){const N=l[f++],C=l[f++];try{w=N?N(w):w}catch(y){if(!C){u=Promise.reject(y);break}try{const g=C.call(this,y);m.isThenable(g)&&(u=Promise.resolve(g).then(()=>hr.call(this,w)))}catch(g){u=Promise.reject(g)}break}}if(!u)try{u=hr.call(this,w)}catch(N){u=Promise.reject(N)}for(f=0,h=d.length;f<h;)u=u.then(d[f++],d[f++]);return u}getUri(t){t=Ue(this.defaults,t);const n=Xa(t.baseURL,t.url,t.allowAbsoluteUrls,t);return Va(n,t.params,t.paramsSerializer)}};m.forEach(["delete","get","head","options"],function(t){je.prototype[t]=function(n,r){return this.request(Ue(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(Ue(l||{},{method:t,headers:r?{"Content-Type":"multipart/form-data"}:{},url:s,data:o}))}}je.prototype[t]=n(),t!=="query"&&(je.prototype[t+"Form"]=n(!0))});let Zd=class Ti{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 Tt(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 Ti(function(a){t=a}),cancel:t}}};function Yd(e){return function(n){return e.apply(null,n)}}function Gd(e){return m.isObject(e)&&e.isAxiosError===!0}const mr={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(mr).forEach(([e,t])=>{mr[t]=e});function us(e){const t=new je(e),n=Na(je.prototype.request,t);return m.extend(n,je.prototype,t,{allOwnKeys:!0}),m.extend(n,t,null,{allOwnKeys:!0}),n.create=function(a){return us(Ue(e,a))},n}const ne=us(Et);ne.Axios=je,ne.CanceledError=Tt,ne.CancelToken=Zd,ne.isCancel=Ka,ne.VERSION=ur,ne.toFormData=cn,ne.AxiosError=I,ne.Cancel=ne.CanceledError,ne.all=function(t){return Promise.all(t)},ne.spread=Yd,ne.isAxiosError=Gd,ne.mergeConfig=Ue,ne.AxiosHeaders=ie,ne.formToJSON=e=>za(m.isHTMLForm(e)?new FormData(e):e),ne.getAdapter=cs.getAdapter,ne.HttpStatusCode=mr,ne.default=ne;const{Axios:Fh,AxiosError:Oh,CanceledError:kh,isCancel:Ih,CancelToken:xh,VERSION:Dh,all:Ph,Cancel:Mh,isAxiosError:Bh,spread:$h,toFormData:Uh,AxiosHeaders:jh,HttpStatusCode:Vh,formToJSON:qh,getAdapter:Wh,mergeConfig:Hh,create:zh}=ne;function hn(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 Xd={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 gr(e,t){function n(a,s,o){if(!(typeof document>"u")){o=hn({},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,"",hn({},s,{expires:-1}))},withAttributes:function(a){return gr(this.converter,hn({},this.attributes,a))},withConverter:function(a){return gr(hn({},this.converter,a),this.attributes)}},{attributes:{value:Object.freeze(t)},converter:{value:Object.freeze(e)}})}var Lt=gr(Xd,{path:"/"});const Qd={BASE_URL:"/",DEV:!1,MODE:"production",PROD:!0,SSR:!1};let et="https://api-grievance.airaops.com",fs=null;try{if(typeof{url:typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:Vn&&Vn.tagName.toUpperCase()==="SCRIPT"&&Vn.src||new URL("complaint-app.umd.js",document.baseURI).href}<"u"&&Qd?.VITE_API_URL)et=void 0;else{const e=typeof process<"u"?process:null;e?.env?.VITE_API_URL&&(et=e.env.VITE_API_URL)}}catch{}const ps=e=>{et=e||"",re.defaults.baseURL=et},yr=e=>{fs=e||null},Rd=()=>fs||Lt.get("token")||null,re=ne.create({baseURL:et,headers:{Accept:"application/json","Content-Type":"application/json"}});re.interceptors.request.use(e=>{const t=Rd();return e.headers=e.headers||{},t?e.headers.Authorization=`Bearer ${t}`:delete e.headers.Authorization,e});let br=!1,Sr=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=Lt.get("refreshToken");if(r)try{br||(br=!0,Sr=ne.post(`${et}/api/v1/auth/refresh`,{},{headers:{Authorization:`Bearer ${r}`}}));const a=await Sr,{token:s,refreshToken:o}=a.data;return yr(s),o&&Lt.set("refreshToken",o),t.headers.Authorization=`Bearer ${s}`,re(t)}catch{Lt.remove("token"),Lt.remove("refreshToken")}finally{br=!1,Sr=null}}return Promise.reject(e)});const eu=_.createContext(null),hs=({children:e,apiUrl:t,authToken:n})=>(t&&ps(t),yr(n||null),i.jsx(eu.Provider,{value:{apiUrl:t,authToken:n},children:e})),_e={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)"}},At={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)"}},ms={light:_e,dark:At};function tt(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)}function nt(e,t){if(!tt(t))return e;const n={...e};return Object.keys(t).forEach(r=>{const a=t[r];tt(a)&&tt(e[r])?n[r]=nt(e[r],a):a!==void 0&&(n[r]=a)}),n}function gs(e){return!e||!tt(e)?{light:_e,dark:At}:tt(e.light)||tt(e.dark)?{light:nt(_e,e.light||{}),dark:nt(At,e.dark||{})}:{light:nt(_e,e),dark:nt(At,e)}}function ys(e,t=!1){const n=gs(e);return{...t?n.dark:n.light,mode:t?"dark":"light",__pack:n}}const tu={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"},nu={sm:"--ca-radius-sm",md:"--ca-radius-md",lg:"--ca-radius-lg",xl:"--ca-radius-xl",pill:"--ca-radius-pill"},ru={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"},au={card:"--ca-shadow-card",settings:"--ca-shadow-settings"};function bs(e){const t={};return e?.colors&&Object.entries(tu).forEach(([n,r])=>{e.colors[n]!=null&&(t[r]=e.colors[n])}),e?.radii&&Object.entries(nu).forEach(([n,r])=>{e.radii[n]!=null&&(t[r]=e.radii[n])}),e?.typography&&Object.entries(ru).forEach(([n,r])=>{e.typography[n]!=null&&(t[r]=e.typography[n])}),e?.shadow&&Object.entries(au).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 Ss=_.createContext({darkMode:!1,theme:null,themeFile:ms,cssVars:{}});function vs({theme:e,darkMode:t=!1,children:n}){const r=_.useMemo(()=>{const a=ys(e,!!t),s=bs(a);return{darkMode:!!t,theme:a,themeFile:a.__pack,cssVars:s,mode:a.mode}},[e,t]);return i.jsx(Ss.Provider,{value:r,children:n})}function ws(){return _.useContext(Ss)}const mn=Object.freeze({formFields:e=>`/api/v1/complaint-types/${e}/form-fields`}),su=e=>{const t=e?.response?.data,n=t?.message??t?.error??e?.message;return Array.isArray(n)?n.filter(Boolean).join(", "):n&&typeof n=="object"?n.message??JSON.stringify(n):n||"Something went wrong"},ou=(e,t)=>t.rejectWithValue({status:e?.response?.status??e?.status,message:su(e)}),vr=(e,t)=>R.createAsyncThunk(e,async(n,r)=>{try{return(await t(n,r)).data}catch(a){return ou(a,r)}}),Ee=vr("complaint/types/getFormFields",(e,{signal:t})=>re.get(mn.formFields(e),{signal:t})),Ft=vr("complaint/types/saveFormFields",({complaintTypeId:e,data:t})=>re.put(mn.formFields(e),t)),rt=vr("complaint/types/deleteFormField",({complaintTypeId:e,fieldId:t})=>re.delete(`${mn.formFields(e)}/${t}`)),Cs={formFields:{data:[],selected:null,pagination:null,isLoading:!1,isMutating:!1,error:null},error:null},iu=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}},wr=e=>e.payload?.message??e.error?.message??"Something went wrong",Ns=R.createSlice({name:"complaintAppComplaint",initialState:Cs,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 Cs}},extraReducers:e=>{e.addCase(Ee.pending,t=>{t.formFields.isLoading=!0,t.formFields.error=null}).addCase(Ee.fulfilled,(t,n)=>{const r=iu(n.payload);t.formFields.isLoading=!1,t.formFields.data=r.data}).addCase(Ee.rejected,(t,n)=>{t.formFields.isLoading=!1,t.formFields.error=wr(n)}).addCase(Ft.pending,t=>{t.formFields.isMutating=!0,t.formFields.error=null}).addCase(Ft.fulfilled,t=>{t.formFields.isMutating=!1}).addCase(Ft.rejected,(t,n)=>{t.formFields.isMutating=!1,t.formFields.error=wr(n)}).addCase(rt.pending,t=>{t.formFields.isMutating=!0,t.formFields.error=null}).addCase(rt.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(rt.rejected,(t,n)=>{t.formFields.isMutating=!1,t.formFields.error=wr(n)})}}),{clearComplaintError:lu,clearSelectedComplaintResource:cu,resetComplaintState:du}=Ns.actions,_s=Ns.reducer,Ot="/api/v1/complaint-types",kt=(e,t)=>t.rejectWithValue({status:e?.response?.status??e?.status,message:e?.response?.data?.message??e?.response?.data?.error??e?.message??"Something went wrong"}),It=R.createAsyncThunk("complaintType/fetchAll",async(e,t)=>{try{const n=await re.get(Ot);return console.log("[fetchComplaintTypes] API response:",n.data),n.data}catch(n){return console.error("[fetchComplaintTypes] API request failed:",n),kt(n,t)}}),xt=R.createAsyncThunk("complaintType/fetchById",async(e,t)=>{try{const n=e;return(await re.get(`${Ot}/${n}`)).data}catch(n){return kt(n,t)}}),Dt=R.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(Ot,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),kt(a,r)}}),Pt=R.createAsyncThunk("complaintType/update",async({id:e,data:t,onSuccess:n,onFail:r},a)=>{try{const s=await re.patch(`${Ot}/${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),kt(s,a)}}),gn=R.createAsyncThunk("complaintType/delete",async(e,t)=>{try{const n=await re.delete(`${Ot}/${e}`);return{id:e,data:n.data}}catch(n){return kt(n,t)}}),uu={complaintList:[],selected:null,loading:!1,saving:!1,error:null},fu=["data","items","results","content","records","list","payload","response","result"],Es=e=>{if(Array.isArray(e))return e;if(!e||typeof e!="object")return[];for(const t of fu)if(e[t]!==void 0){const n=Es(e[t]);if(n.length||Array.isArray(e[t]))return n}return[]},Ts=R.createSlice({name:"complaintType",initialState:uu,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(It.pending,t=>{console.log("fetchComplaintTypes.pending"),t.loading=!0,t.error=null}).addCase(It.fulfilled,(t,n)=>{t.loading=!1,t.complaintList=Es(n.payload),console.log(t.complaintList,"state.complaintList")}).addCase(It.rejected,(t,n)=>{t.loading=!1,t.error=n.payload?.message??n.error?.message??"Failed to fetch complaint types"}).addCase(xt.pending,t=>{t.loading=!0,t.error=null}).addCase(xt.fulfilled,(t,n)=>{t.loading=!1,t.selected=n.payload?.data??n.payload}).addCase(xt.rejected,(t,n)=>{t.loading=!1,t.error=n.payload?.message??n.error?.message??"Failed to fetch complaint type"}).addCase(Dt.pending,t=>{t.saving=!0,t.error=null}).addCase(Dt.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(Dt.rejected,(t,n)=>{t.saving=!1,t.error=n.payload?.message??n.error?.message??"Failed to create complaint type"}).addCase(Pt.pending,t=>{t.saving=!0,t.error=null}).addCase(Pt.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(Pt.rejected,(t,n)=>{t.saving=!1,t.error=n.payload?.message??n.error?.message??"Failed to update complaint type"}).addCase(gn.pending,t=>{t.saving=!0,t.error=null}).addCase(gn.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(gn.rejected,(t,n)=>{t.saving=!1,t.error=n.payload?.message??n.error?.message??"Failed to delete complaint type"})}}),{setComplaintTypeActive:pu}=Ts.actions,hu=Ts.reducer,mu={details:{},id:null,isEdit:!1},Ls=R.createSlice({name:"appDetails",initialState:mu,reducers:{setAppDetails(e,t){e.details=t.payload??{}},clearAppDetails(e){e.details={}},setId(e,t){e.id=t.payload},setIsEdit(e,t){console.log("setIsEdit called with payload:",t.payload),e.isEdit=t.payload.data,console.log("isEdit state updated to:",e.isEdit)},clearId(e){e.id=null}}}),{setAppDetails:As,clearAppDetails:gu,setId:Ve,setIsEdit:Mt,clearId:yu}=Ls.actions,Fs=Ls.reducer,bu={list:[],pagination:null,isLoading:!1,error:null},Os=R.createSlice({name:"roles",initialState:bu,reducers:{}});Os.reducer;const yn=60,Cr=24*yn,Su={d:Cr,h:yn,m:1};function Nr(e){const t=Number(e);return Number.isFinite(t)&&t>0?t:0}function ks(e=[],t=!0){const n=Array.isArray(e)?e:[];return(t?n:n.slice(0,-1)).reduce((a,s)=>a+me(s?.escalateAfterMinutes),0)}function me(e){if(e==null||e==="")return 0;if(typeof e=="number")return Nr(e);const t=String(e).trim().toLowerCase().replace(/minutes?/g,"").trim();if(!t)return 0;if(/^\d+(\.\d+)?$/.test(t))return Nr(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+=(Su[s[2]]||0)*Number(s[1]);return a?Nr(r):0}function at(e){const t=Math.round(typeof e=="number"?e:me(e));if(!Number.isFinite(t)||t<=0)return"";const n=Math.floor(t/Cr),r=Math.floor(t%Cr/yn),a=t%yn,s=[];return n&&s.push(`${n}d`),r&&s.push(`${r}h`),a&&s.push(`${a}m`),s.join("")}function vu(e){const t=String(e??"").trim().toLowerCase().replace(/minutes?/g,"").replace(/\s+/g,"");return!t||!/^(\d+(?:\.\d+)?[dhm])+$/.test(t)?!1:me(e)>0}function wu(e){return String(e??"").replace(/(\d+)\s*minutes?/gi,(t,n)=>at(Number(n))||"0m")}function Cu(e=[]){return ks(e,!0)}function st(e=[],t=0){if(!Array.isArray(e)||e.length===0)return e;const n=Math.max(0,me(t)-ks(e,!1)),r=at(n),a=e.length-1;return String(e[a]?.escalateAfterMinutes??"")===r?e:e.map((s,o)=>o===a?{...s,escalateAfterMinutes:r}:s)}function Nu(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 Is=e=>`/api/v1/complaint-types/${e}/workflow-steps`;function _u(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 _r(e){return e===!0||e==="Yes"||e==="yes"||e==="true"||e===1||e==="1"}const xs=(e,t)=>t.rejectWithValue({status:e?.response?.status??e?.status,message:_u(e)}),qe=R.createAsyncThunk("workflow/fetchSteps",async(e,t)=>{try{return(await re.get(Is(e))).data}catch(n){return xs(n,t)}}),bn=R.createAsyncThunk("workflow/updateSteps",async({id:e,tables:t,onSuccess:n,onFail:r},a)=>{console.log("tables:",t),console.log("is array:",Array.isArray(t.tables));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:me(l.escalateAfterMinutes),canResolve:_r(l.canResolve),canReassign:_r(l.canReassign),isFinalLevel:_r(l.finalLevel),isActive:!0}));console.log("steps:",s);const o=await re.put(Is(e),{steps:s});return typeof n=="function"&&n(o.data),o.data}catch(s){return typeof r=="function"&&r(s),xs(s,a)}}),Eu={workflowSteps:null,workflowStepsLoading:!1,workflowStepsSaving:!1,error:null},Tu=R.createSlice({name:"workflow",initialState:Eu,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(bn.pending,t=>{t.workflowStepsSaving=!0,t.error=null}).addCase(bn.fulfilled,(t,n)=>{t.workflowStepsSaving=!1,t.workflowSteps=n.payload?.data??n.payload}).addCase(bn.rejected,(t,n)=>{t.workflowStepsSaving=!1,t.error=n.payload?.message??n.error?.message??"Failed to update workflow steps"})}}).reducer,Lu="/api/v1/complaints",Au=(e,t)=>t.rejectWithValue({status:e?.response?.status??e?.status,message:e?.response?.data?.message??e?.response?.data?.error??e?.message??"Something went wrong"}),Bt=R.createAsyncThunk("complaintManagement/fetchQueries",async(e,t)=>{try{const{complaintTypeId:n,page:r=1,limit:a=10,status:s}=e||{},o={page:r,limit:a,complaintTypeId:n};return s!=null&&s!==""&&s!=="all"&&(o.status=s),(await re.get(Lu,{params:o,signal:t.signal})).data}catch(n){return Au(n,t)}}),Fu=e=>`/api/v1/complaints/${e}`,Ou=(e,t)=>t.rejectWithValue({status:e?.response?.status??e?.status,message:e?.response?.data?.message??e?.response?.data?.error??e?.message??"Something went wrong"});function Er(e){if(e==null||e==="")return;const t=Number(e);return Number.isNaN(t)?void 0:t}const ot=R.createAsyncThunk("changeStatus/update",async({id:e,statusId:t,currentStepId:n,assignedToUserId:r,onSuccess:a,onFail:s},o)=>{try{const l={},c=Er(t),d=Er(n),u=Er(r);c!=null&&(l.statusId=c),d!=null&&(l.currentStepId=d),u!=null&&(l.assignedToUserId=u);const f=await re.patch(Fu(e),l,{signal:o.signal});return a&&typeof a=="function"&&a(f.data),f.data}catch(l){return s&&typeof s=="function"&&s(l),Ou(l,o)}}),Ds={list:[],meta:null,isLoading:!1,error:null,hasLoaded:!1,requestedComplaintTypeId:null},ku=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}},Iu=e=>e.payload?.message??e.error?.message??"Failed to fetch queries",Ps=e=>e?.complaintId??e?.id,xu=(e,t)=>{const n=t.meta?.arg??{},r=t.payload?.data??t.payload,a=n.id??Ps(r);return a==null?e:e.map(s=>{if(String(Ps(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})},Ms=R.createSlice({name:"complaintManagement",initialState:Ds,reducers:{resetComplaintManagementState:()=>Ds},extraReducers:e=>{e.addCase(Bt.pending,(t,n)=>{t.isLoading=!0,t.error=null,t.hasLoaded=!1,t.list=[],t.requestedComplaintTypeId=n.meta.arg?.complaintTypeId??null}).addCase(Bt.fulfilled,(t,n)=>{const r=n.meta.arg?.complaintTypeId;if(t.requestedComplaintTypeId!=null&&r!=null&&String(t.requestedComplaintTypeId)!==String(r))return;const a=ku(n.payload);t.isLoading=!1,t.hasLoaded=!0,t.list=a.list,t.meta=a.meta}).addCase(Bt.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=Iu(n))}).addCase(ot.fulfilled,(t,n)=>{t.list=xu(t.list,n)})}}),{resetComplaintManagementState:Bs}=Ms.actions,Du=Ms.reducer,Pu=e=>`/api/v1/complaint-types/${e}/statuses`,Mu="/api/v1/complaints/summary",$s=(e,t)=>t.rejectWithValue({status:e?.response?.status??e?.status,message:e?.response?.data?.message??e?.response?.data?.error??e?.message??"Something went wrong"}),Sn=R.createAsyncThunk("status/fetchStatuses",async(e,t)=>{try{return(await re.get(Pu(e),{signal:t.signal})).data}catch(n){return $s(n,t)}}),vn=R.createAsyncThunk("status/fetchComplaintSummary",async(e,t)=>{try{return(await re.get(Mu,{params:{complaintTypeId:e},signal:t.signal})).data}catch(n){return $s(n,t)}}),Us={list:[],isLoading:!1,error:null,hasLoaded:!1,requestedComplaintTypeId:null,complaintSummary:null,isComplaintSummaryLoading:!1,complaintSummaryError:null,hasComplaintSummaryLoaded:!1,requestedComplaintSummaryTypeId:null},Bu=e=>{const t=e?.data??e?.results??e?.items??e;return Array.isArray(t)?t:[]},$u=e=>{const t=e?.data??e;return!t||typeof t!="object"||Array.isArray(t)?null:t},Uu=e=>e.payload?.message??e.error?.message??"Failed to fetch statuses",ju=e=>e.payload?.message??e.error?.message??"Failed to fetch complaint summary",wn=(e,t)=>e!=null&&t!=null&&String(e)!==String(t),js=R.createSlice({name:"status",initialState:Us,reducers:{resetStatusState:()=>Us},extraReducers:e=>{e.addCase(Sn.pending,(t,n)=>{t.isLoading=!0,t.error=null,t.hasLoaded=!1,t.list=[],t.requestedComplaintTypeId=n.meta.arg??null}).addCase(Sn.fulfilled,(t,n)=>{const r=n.meta.arg;if(wn(t.requestedComplaintTypeId,r))return;const a=Bu(n.payload);t.isLoading=!1,t.hasLoaded=!0,t.list=[...a].sort((s,o)=>(s.displayOrder??0)-(o.displayOrder??0))}).addCase(Sn.rejected,(t,n)=>{if(n.meta.aborted)return;const r=n.meta.arg;wn(t.requestedComplaintTypeId,r)||(t.isLoading=!1,t.hasLoaded=!0,t.error=Uu(n))}).addCase(vn.pending,(t,n)=>{t.isComplaintSummaryLoading=!0,t.complaintSummaryError=null,t.hasComplaintSummaryLoaded=!1,t.complaintSummary=null,t.requestedComplaintSummaryTypeId=n.meta.arg??null}).addCase(vn.fulfilled,(t,n)=>{const r=n.meta.arg;wn(t.requestedComplaintSummaryTypeId,r)||(t.isComplaintSummaryLoading=!1,t.hasComplaintSummaryLoaded=!0,t.complaintSummary=$u(n.payload))}).addCase(vn.rejected,(t,n)=>{if(n.meta.aborted)return;const r=n.meta.arg;wn(t.requestedComplaintSummaryTypeId,r)||(t.isComplaintSummaryLoading=!1,t.hasComplaintSummaryLoaded=!0,t.complaintSummaryError=ju(n))})}}),{resetStatusState:Vs}=js.actions,Vu=js.reducer,qu="/api/v1/complaints",Wu="/api/v1/complaint-types",qs=(e,t)=>t.rejectWithValue({status:e?.response?.status??e?.status,message:e?.response?.data?.message??e?.response?.data?.error??e?.message??"Something went wrong"}),Cn=R.createAsyncThunk("createComplaint/create",async(e,t)=>{try{return(await re.post(qu,e,{signal:t.signal})).data}catch(n){return qs(n,t)}}),$t=R.createAsyncThunk("createComplaint/updateActive",async({id:e,isActive:t,onSuccess:n,onFail:r},a)=>{try{const s=await re.patch(`${Wu}/${e}`,{isActive:t},{signal:a.signal});return n&&typeof n=="function"&&n(s.data),s.data}catch(s){return console.log("updateComplaintTypeActive error:",s),r&&typeof r=="function"&&r(s),qs(s,a)}}),Hu={data:null,isLoading:!1,error:null,hasLoaded:!1,isActive:!0,activeComplaintTypeId:null,isUpdatingActive:!1,activeError:null},zu=e=>e.payload?.message??e.error?.message??"Failed to create complaint",Ku=e=>e.payload?.message??e.error?.message??"Failed to update complaint type",Ju=R.createSlice({name:"createComplaint",initialState:Hu,reducers:{},extraReducers:e=>{e.addCase(Cn.pending,t=>{t.isLoading=!0,t.error=null,t.hasLoaded=!1}).addCase(Cn.fulfilled,(t,n)=>{t.isLoading=!1,t.hasLoaded=!0,t.data=n.payload?.data??n.payload}).addCase(Cn.rejected,(t,n)=>{n.meta.aborted||(t.isLoading=!1,t.hasLoaded=!0,t.error=zu(n))}).addCase($t.pending,t=>{t.isUpdatingActive=!0,t.activeError=null}).addCase($t.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($t.rejected,(t,n)=>{n.meta.aborted||(t.isUpdatingActive=!1,t.activeError=Ku(n))})}}).reducer,Ws={data:null,isLoading:!1,error:null,hasLoaded:!1,updatingId:null},Zu=e=>e.payload?.message??e.error?.message??"Failed to update complaint status",Hs=R.createSlice({name:"changeStatus",initialState:Ws,reducers:{resetChangeStatusState:()=>Ws},extraReducers:e=>{e.addCase(ot.pending,(t,n)=>{t.isLoading=!0,t.error=null,t.hasLoaded=!1,t.updatingId=n.meta.arg?.id??null}).addCase(ot.fulfilled,(t,n)=>{t.isLoading=!1,t.hasLoaded=!0,t.updatingId=null,t.data=n.payload?.data??n.payload}).addCase(ot.rejected,(t,n)=>{n.meta.aborted||(t.isLoading=!1,t.hasLoaded=!0,t.updatingId=null,t.error=Zu(n))})}}),{resetChangeStatusState:Yu}=Hs.actions,Gu=Hs.reducer,Xu=R.combineReducers({complaintAppComplaint:_s,complaintType:hu,appDetails:Fs,workflow:Tu,roles:Os.reducer,complaintManagement:Du,status:Vu,createComplaint:Ju,changeStatus:Gu}),zs=e=>R.configureStore({reducer:Xu,preloadedState:e,middleware:t=>t({immutableCheck:!1,serializableCheck:!1})}),Ks=zs();function de({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 Js({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 Zs={h1:"ca-h1",h2:"ca-h2",body:"ca-body",label:"ca-label",value:"ca-value",small:"ca-small",link:"ca-link"},Qu={h1:"h1",h2:"h2",body:"p",label:"span",value:"span",small:"span",link:"button"};function ke({variant:e="body",as:t,className:n="",children:r,...a}){const s=t||Qu[e]||"p",o=Zs[e]||Zs.body;return i.jsx(s,{className:`${o} ${n}`.trim(),...a,children:r})}function Tr(e){return i.jsx(ke,{variant:"h1",...e})}function Lr(e){return i.jsx(ke,{variant:"h2",...e})}function Nn(e){return i.jsx(ke,{variant:"body",...e})}function Ys(e){return i.jsx(ke,{variant:"label",...e})}function Gs(e){return i.jsx(ke,{variant:"value",...e})}function Ru(e){return i.jsx(ke,{variant:"link",type:"button",...e})}function Xs({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(Tr,{children:e}),t?i.jsx(Nn,{children:t}):null]}),i.jsx("div",{className:"ca-page-header__actions",children:i.jsx(de,{startIcon:i.jsx(Js,{}),onClick:r,children:n})})]})}function Qs({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 Rs=(...e)=>e.filter((t,n,r)=>!!t&&t.trim()!==""&&r.indexOf(t)===n).join(" ").trim();const ef=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();const tf=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,n,r)=>r?r.toUpperCase():n.toLowerCase());const eo=e=>{const t=tf(e);return t.charAt(0).toUpperCase()+t.slice(1)};var Ar={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 nf=e=>{for(const t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1},rf=_.createContext({}),af=()=>_.useContext(rf),sf=_.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:h="currentColor",className:w=""}=af()??{},N=r??f?Number(n??u)*24/Number(t??d):n??u;return _.createElement("svg",{ref:c,...Ar,width:t??d??Ar.width,height:t??d??Ar.height,stroke:e??h,strokeWidth:N,className:Rs("lucide",w,a),...!s&&!nf(l)&&{"aria-hidden":"true"},...l},[...o.map(([C,y])=>_.createElement(C,y)),...Array.isArray(s)?s:[s]])});const ge=(e,t)=>{const n=_.forwardRef(({className:r,...a},s)=>_.createElement(sf,{ref:s,iconNode:t,className:Rs(`lucide-${ef(eo(e))}`,`lucide-${e}`,r),...a}));return n.displayName=eo(e),n};const of=ge("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 to=ge("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 no=ge("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);const _n=ge("circle-dot",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}]]);const lf=ge("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 cf=ge("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 df=ge("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 uf=ge("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 ro=ge("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);const ao=ge("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 ff=ge("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 En({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 pf({options:e=[],className:t=""}){const[n,r]=_.useState(!1),a=_.useRef(null);_.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(cf,{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(En,{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 so({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(Lr,{children:e})}),i.jsxs("div",{className:"ca-system-card__header-actions",children:[i.jsx(Qs,{status:t,label:n}),i.jsx(pf,{options:s})]})]})}function Fr({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 hf="aira-query-complaintTypeId";function oo({updatedOn:e,openLabel:t="Open",configureLabel:n="Configure",onOpen:r,className:a="",id:s,title:o}){const l=Oe(),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 h=String(f);try{sessionStorage.setItem(hf,h)}catch{}c(Ve(h)),c(Bs()),c(Vs()),l(`/complaintmanagement/${h}`);return}l("/complaintmanagement")};return i.jsxs("div",{className:`ca-system-card__footer ${a}`.trim(),children:[i.jsx(ke,{variant:"small",as:"span",children:e?`Updated on ${e}`:""}),i.jsxs("div",{className:"ca-system-card__footer-actions",children:[i.jsx(de,{size:"sm",onClick:u,children:t}),i.jsx(de,{variant:"outline",size:"sm",onClick:()=>{if(d==null||d==="")return;const f=String(d);c(Mt({data:!0})),c(Ve(f)),console.log("Configure button clicked"),console.log("ID:",f),l(`/settings/${f}?step=1`)},endIcon:i.jsx(Fr,{size:14,color:"currentColor"}),children:n})]})]})}function io({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(Gs,{children:a}),i.jsx("span",{className:"ca-data-point__label",children:e})]})}function lo({className:e=""}){return i.jsx("div",{className:`ca-divider ${e}`.trim(),role:"separator","aria-orientation":"vertical"})}function Tn({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 mf="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",gf="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",yf="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",bf="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 co({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:h=!1,onTitleClick:w,onDescriptionClick:N,onConfigure:C,onOpen:y,onDelete:g,onToggleActive:p,isTogglingActive:v=!1,menuOptions:b=[],className:L=""}){const O=()=>{C?.({id:e,title:t,status:r,departments:l,workflows:c,fields:d,formsFilled:u,updatedOn:f})},x=()=>{if(N){N({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:mf,alt:""})},{label:"Open entries",value:n?.openEntries,icon:i.jsx("img",{src:gf,alt:""})},{label:"Closed entries",value:n?.closedEntries,icon:i.jsx("img",{src:yf,alt:""})},{label:"Escalated entries",value:n?.escalatedEntries,icon:i.jsx("img",{src:bf,alt:""})}],E=[...p?[{key:"active",label:n?.isActive?"Active":"Inactive",keepOpen:!0,toggle:{checked:!!n?.isActive,disabled:!!v,onChange:M=>p({id:e??n?.id??n?._id,isActive:M,item:n})}}]:[],...g?[{key:"delete",label:"Delete",icon:i.jsx(Tn,{size:16,color:"currentColor"}),danger:!0,onClick:()=>g({id:e??n?.id??n?._id,title:t})}]:[],...b];return i.jsxs("article",{className:`ca-system-card ${L}`.trim(),children:[i.jsx(so,{title:n?.name,status:n?.isActive?"active":"inactive",statusLabel:a,titleAsLink:h,onTitleClick:()=>w?.({id:e,title:t}),menuOptions:E}),s?i.jsx("p",{className:"ca-system-card__description",onClick:x,children:s}):null,i.jsx("div",{className:"ca-system-card__stats",children:$.map((M,B)=>i.jsxs(_.Fragment,{children:[B>0?i.jsx(lo,{}):i.jsx("div",{className:"ca-system-card__stats-spacer"}),i.jsx(io,{label:M.label,value:M.value,icon:M.icon})]},M.label))}),i.jsx(oo,{updatedOn:f,onOpen:()=>y?.({id:e,title:t}),id:e??n?.id??n?._id,title:t,onConfigure:O})]})}function uo({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(co,{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(Nn,{children:c})})})}function it({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 fo({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 po({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(it,{value:e,onChange:t,onKeyDown:s,placeholder:r,icon:i.jsx(fo,{}),"aria-label":r})})}function lt({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 Sf=[{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"}],ho="Create, manage and track complaint forms, workflows and responses across departments.";function mo({title:e="Complaint Management",description:t=ho,createLabel:n="Create New Form",onCreateForm:r,onConfigure:a,onOpen:s,onTitleClick:o,onDescriptionClick:l,onSearch:c}){const d=Oe(),u=H.useDispatch(),[f,h]=_.useState(""),[w,N]=_.useState(null),{complaintList:C=[],loading:y=!1,error:g=null}=H.useSelector($=>$.complaintType??{});_.useEffect(()=>{u(Mt({data:!1})),u(It())},[u]);const p=_.useMemo(()=>{const $=f.trim().toLowerCase();return $?C.filter(E=>[E.title,E.name,E.description,E.status].filter(Boolean).join(" ").toLowerCase().includes($)):C},[C,f]);_.useEffect(()=>{c&&c(f)},[f,c]);const v=$=>{h($.target.value)},b=$=>{a?.($),d(`/settings/${$.id??"new"}?step=1`)},L=()=>{u(Mt({data:!1})),r?.(),d("/settings/new?step=1")},O=({id:$})=>{$!=null&&u(gn($))},x=({id:$,isActive:E})=>{$!=null&&(N($),u($t({id:$,isActive:E})).unwrap().then(()=>u(pu({id:$,isActive:E}))).finally(()=>N(null)))};return i.jsxs("div",{className:"ca-complaint-management-page","data-testid":"complaint-management-page",children:[i.jsx(Xs,{title:e,description:t,actionLabel:n,onAction:L}),i.jsx("div",{className:"ca-search-container",children:i.jsx(po,{value:f,onChange:v,placeholder:"Search"})}),y?i.jsx(lt,{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(uo,{systems:p,onConfigure:b,onOpen:s,onDelete:O,onToggleActive:x,togglingActiveId:w,onTitleClick:o,onDescriptionClick:l,emptyMessage:f?"No systems match your search.":"No systems found."})]})}const go=_.createContext(null),yo=()=>({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 bo({children:e,initialValues:t}){const[n,r]=_.useState(()=>({...yo(),...t,workflow:{...yo().workflow,...t?.workflow}})),a=_.useCallback(l=>{r(c=>({...c,...l}))},[]),s=_.useCallback(l=>{r(c=>({...c,workflow:{...c.workflow,...l}}))},[]),o=_.useMemo(()=>({state:n,setState:r,update:a,updateWorkflow:s}),[n,a,s]);return i.jsx(go.Provider,{value:o,children:e})}function Ln(){const e=_.useContext(go);if(!e)throw new Error("useSettingsWizard must be used within SettingsWizardProvider");return e}const Se=[{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."}],vf=[{id:1,label:"Create Workflow"},{id:2,label:"Status"},{id:3,label:"Workflow Steps"}];function So({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 vo({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(So,{}),i.jsxs("div",{children:[i.jsx(Lr,{children:e}),t?i.jsx(Nn,{className:"ca-settings-card__desc",children:t}):null]})]}),l,a?i.jsx(de,{variant:o,disabled:s,onClick:r,endIcon:i.jsx(Fr,{size:14,color:"currentColor"}),children:n}):null]})}function Ut({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(vo,{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 Or({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 kr({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 Ir(e){return typeof e=="string"?e:e.value}function xr(e){return typeof e=="string"?e:e.label}function ve({value:e,onChange:t,options:n=[],placeholder:r="Select",className:a="",disabled:s=!1,maxVisible:o,allowClear:l=!1,...c}){const[d,u]=_.useState(!1),f=_.useRef(null),h=e??"",w=n.find(y=>String(Ir(y))===String(h)),N=w?xr(w):"";_.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 C=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${N?"":" ca-select__control--placeholder"}`,disabled:s,"aria-haspopup":"listbox","aria-expanded":d,onClick:()=>u(y=>!y),children:N||r}),i.jsx("span",{className:"ca-select__chevron",children:i.jsx(kr,{size:16})}),d?i.jsx("ul",{className:"ca-select__menu",role:"listbox",style:{"--ca-select-max-visible":o},children:n.map(y=>{const g=Ir(y),p=String(g)===String(h);return i.jsx("li",{role:"none",children:i.jsx("button",{type:"button",role:"option","aria-selected":p,className:`ca-select__option${p?" is-selected":""}`,onClick:()=>{C(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:h,onChange:t,disabled:s,...c,children:[i.jsx("option",{value:"",disabled:!l,children:r}),n.map(y=>{const g=Ir(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(kr,{size:16})})]})}function wo({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 Te({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(Or,{htmlFor:a,hint:t,children:e}):null,n]})}function jt({label:e,hint:t,helperText:n,...r}){return i.jsxs(Te,{label:e,hint:t,htmlFor:r.id,children:[i.jsx(it,{...r}),n?i.jsx("p",{className:"ca-form-field__helper",children:n}):null]})}function Dr({label:e,hint:t,...n}){return i.jsx(Te,{label:e,hint:t,htmlFor:n.id,children:i.jsx(ve,{...n})})}function wf({label:e,hint:t,maxLength:n,value:r="",...a}){const s=t??(n!=null?`${String(r).length}/${n}`:void 0);return i.jsx(Te,{label:e,hint:s,htmlFor:a.id,children:i.jsx(wo,{value:r,maxLength:n,...a})})}function Co({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 No({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(Co,{size:10})}):null]})}function Pr({label:e="",options:t=[],value:n=[],onChange:r,placeholder:a="Select roles",className:s=""}){const[o,l]=_.useState(""),c=new Map(t.map(h=>{const w=typeof h=="string"?h:h.value,N=typeof h=="string"?h:h.label;return[String(w),N]})),d=t.filter(h=>{const w=typeof h=="string"?h:h.value;return!n.some(N=>String(N)===String(w))}),u=h=>{const w=h.target.value;w&&(r?.([...n,w]),l(""))},f=h=>{r?.(n.filter(w=>String(w)!==String(h)))};return i.jsxs("div",{className:`ca-role-select ${s}`.trim(),children:[i.jsx(Or,{children:e}),i.jsx(ve,{value:o,onChange:u,options:d,placeholder:a}),n.length>0?i.jsx("div",{className:"ca-tag-list",children:[...new Set(n)].map(h=>i.jsx(No,{label:c.get(String(h))||String(h),onRemove:()=>f(h)},String(h)))}):null]})}function Vt({steps:e=[],currentStep:t=1,onStepClick:n,className:r="",size:a="md",showSaveButton:s=!1,showNextButton:o=!1,onSaveDraft:l,onNext:c,saveLabel:d="Save Draft",nextLabel:u="Next >",extraActions:f=null}){const h=_.useRef({}),w=H.useDispatch(),{isEdit:N}=H.useSelector(C=>C.appDetails||{});return _.useEffect(()=>{const C=h.current[t];if(!C)return;const y=requestAnimationFrame(()=>{let g=C.parentElement;for(;g&&g!==document.body;){const{overflowX:x}=getComputedStyle(g);if(g.scrollWidth>g.clientWidth+1&&(x==="auto"||x==="scroll"))break;g=g.parentElement}if(!g||g===document.body)return;const p=g.getBoundingClientRect(),v=C.getBoundingClientRect(),b=12;if(v.left>=p.left+b&&v.right<=p.right-b)return;const O=v.left-p.left-(p.width-v.width)/2;g.scrollTo({left:g.scrollLeft+O,behavior:"smooth"})});return()=>cancelAnimationFrame(y)},[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((C,y)=>{const g=C.id??y+1,p=g===t,v=g<t,b=!!n&&(v||p);return i.jsxs("button",{type:"button",ref:L=>{h.current[g]=L},className:["ca-stepper__item",p?"ca-stepper__item--active":"",v?"ca-stepper__item--done":""].filter(Boolean).join(" "),style:{zIndex:e.length-y},onClick:()=>{console.log("setting is edit is true"),w(Mt({data:!0})),console.log(N),b&&n?.(g)},disabled:!b,"aria-current":p?"step":void 0,children:[i.jsxs("span",{className:"ca-stepper__circle",children:[g,"."]}),i.jsx("span",{className:"ca-stepper__label",children:C.label})]},g)})}),s||o||f?i.jsxs("div",{className:"ca-stepper__actions",children:[f,s?i.jsx(de,{variant:"outline",onClick:l,children:d}):null,o?i.jsx(de,{onClick:c,children:u}):null]}):null]})}const Cf={categoryName:"",tatMinutes:"",template:"",categoryType:"",description:"",visibilityType:"INTERNAL_LOGIN",urlLink:"",active:!0,roles:[]},Nf=[{value:"INTERNAL_LOGIN",label:"Internal Login"},{value:"PRIVATE_LINK",label:"Private Link"},{value:"PUBLIC_LINK",label:"Public Link"}],_f={value:"",label:"Select Template"},Mr=e=>String(e?.id??e?.code??e?.name??""),_o=e=>({categoryName:e?.name??e?.code??"",tatMinutes:at(e?.tatMinutes)||"",template:Mr(e),categoryType:e?.categoryType??Mr(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 Ef(e){return[_f,...e]}function Tf(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 Lf({stepMeta:e,stepperProps:t,roleList:n=[]}){const[r,a]=_.useState(Cf),[s,o]=_.useState({}),l=H.useDispatch(),{update:c}=Ln(),{id:d}=H.useSelector(E=>E.appDetails||{}),{isEdit:u}=H.useSelector(E=>E.appDetails||{}),f=H.useSelector(E=>E.complaintType||{}),{complaintList:h=[],saving:w,loading:N,error:C}=f,y=_.useRef(!1);_.useEffect(()=>{!h.length&&!N&&!y.current&&(y.current=!0,l(It()))},[h.length,l,N]),_.useEffect(()=>{if(console.log("🔥 useEffect:",{id:d,isEdit:u}),!u||d===null||d===void 0){console.log("❌ Not fetching");return}console.log("🚀 Fetching complaint type:",d),l(xt(d)).unwrap().then(E=>{console.log("✅ API response for ID",d,":",E);const M=E?.data??E;console.log("📦 Data:",M),M&&a(_o(M))}).catch(E=>{console.log("❌ Fetch error:",E)})},[l,d,u]);const g=n.map(E=>({value:E.id,label:E.name??E.label})),p=h.map(E=>({value:Mr(E),label:E?.name??E?.code??"",complaintType:E})).filter(E=>E.value&&E.label),v=async E=>{const M=E?.id??E?._id??null;if(a(B=>({...B,..._o(E),categoryName:"",roles:[]})),c({templateId:M,tatMinutes:me(E?.tatMinutes)}),M==null||M===""){c({prefillWorkflowSteps:[],prefillFormFields:[]});return}try{const[B,P]=await Promise.all([l(qe(M)).unwrap(),l(Ee(M)).unwrap()]),j=(Array.isArray(B?.data)?B.data:Array.isArray(B)?B:[]).map(k=>({...k,roleIds:[],role:[],roleId:null})),D=Array.isArray(P?.data)?P.data:Array.isArray(P)?P:[];c({templateId:M,tatMinutes:me(E?.tatMinutes),prefillWorkflowSteps:j,prefillFormFields:D})}catch(B){console.log("Failed to load template details:",B),c({templateId:M,prefillWorkflowSteps:[],prefillFormFields:[]})}},b=()=>{a(E=>({...E,template:"",categoryType:""})),c({templateId:null,prefillWorkflowSteps:[],prefillFormFields:[]})},L=E=>{const M=E.target.value;if(!M){b();return}const B=p.find(P=>P.value===M)?.complaintType;if(B){v(B);return}O("template",M),O("categoryType",M)},O=(E,M)=>{a(B=>({...B,[E]:M})),o(B=>{if(!B[E])return B;const P={...B};return delete P[E],P})},x=r.visibilityType==="PRIVATE_LINK"||r.visibilityType==="PUBLIC_LINK",$=async()=>{const E={};if(r.categoryName.trim()||(E.categoryName=!0),vu(r.tatMinutes)||(E.tatMinutes=!0),r.visibilityType||(E.visibilityType=!0),r.roles.length||(E.roles=!0),x&&!r.urlLink.trim()&&(E.urlLink=!0),Object.keys(E).length>0){o(E);return}o({});const M=me(r.tatMinutes);c({tatMinutes:M});const B={categoryName:r.categoryName,categoryType:r.categoryType||r.template,tatMinutes:M,description:r.description,visibilityType:r.visibilityType,urlLink:x?r.urlLink:"",active:r.active,roles:r.roles};console.log("CategoryTypeStep payload:",B),console.log("isedit ",u,"id",d);const P=u?Pt({id:d,data:{code:B.categoryName,name:B.categoryName,description:B.description,tatMinutes:B.tatMinutes,accessType:B.visibilityType,roleIds:B.roles.map(D=>parseInt(D,10))},onSuccess:D=>{console.log("updateComplaintType onSuccess:",D),t.onNext?.()},onFail:D=>{console.log("updateComplaintType onFail:",D)}}):Dt({payload:B,onSuccess:D=>{console.log("createComplaintType onSuccess........................:",D),console.log("data response on creationg ",D),l(Ve(D?.data?.id??D?.id??null)),console.log(d,"system id set up successfully ..........",D?.data?.id??D?.id??null),t.onNext?.()},onFail:D=>{console.log("createComplaintType onFail:",D)}}),j=l(P);if(u&&Pt.fulfilled.match(j)||!u&&Dt.fulfilled.match(j)){if(!u){const D=j.payload?.data?.id??j.payload?.id;D!=null&&(console.log("setting up system id ..........",D),l(Ve(D)),console.log("system id set up successfully ..........",D))}t.onNext?.()}};return i.jsxs(i.Fragment,{children:[i.jsx(Vt,{...t,steps:Se,showNextButton:!!t.showNextButton,onNext:$}),C||Object.keys(s).length>0?i.jsx("div",{className:"ca-validation-toast",role:"alert",children:C||Tf(s,r)}):null,i.jsxs(Ut,{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(Dr,{label:"Select Template (Optional)",value:r.template||r.categoryType,onChange:L,options:Ef(p),placeholder:"Select Template",maxVisible:5})})}),children:[i.jsxs("div",{className:"ca-step-section",children:[i.jsxs("div",{className:"ca-step-row ca-step-row--category-fields",children:[i.jsx(jt,{label:"Category Name",className:"ca-step-row__grow",inputClassName:s.categoryName?"ca-control--invalid":"",value:r.categoryName,onChange:E=>O("categoryName",E.target.value),placeholder:"Enter category name"}),i.jsx(jt,{label:"TAT Minutes",type:"text",className:"ca-step-row__grow",inputClassName:s.tatMinutes?"ca-control--invalid":"",value:r.tatMinutes,onChange:E=>O("tatMinutes",E.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(jt,{label:"Description",className:"ca-step-row__grow",maxLength:500,value:r.description,onChange:E=>O("description",E.target.value),placeholder:"Enter description"})}),i.jsxs("div",{className:"ca-step-row",children:[i.jsx(Dr,{label:"Select Visibility Type",className:`ca-step-row__grow ${s.visibilityType?"ca-control--invalid":""}`,value:r.visibilityType,onChange:E=>O("visibilityType",E.target.value),options:Nf,placeholder:"Select visibility type"}),x?i.jsx(jt,{label:null,className:"ca-step-row__grow ca-category-type__url-link",inputClassName:s.urlLink?"ca-control--invalid":"",value:r.urlLink,onChange:E=>O("urlLink",E.target.value),placeholder:"urllink"}):null]})]}),i.jsx("div",{className:"ca-step-section ca-step-section--last",children:i.jsx(Pr,{label:"Select Roles for Complaint Filling",className:s.roles?"ca-control--invalid":"",options:g,value:r.roles,onChange:E=>O("roles",E)})}),N?i.jsx("div",{className:"ca-form-loading",children:"Loading category..."}):null,w?i.jsx("div",{className:"ca-form-loading",children:"Saving category..."}):null]})]})}function Eo({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(de,{type:"button",className:"ca-add-table-card__button",onClick:()=>t?.(n),children:["+ Add L",e]})})]})}const Br=["Yes","No"];function To({name:e,level:t,value:n,initialFormValues:r,setFormValues:a,onChange:s,selected:o=!1,onSelect:l,onDelete:c,subtitle:d,roleList:u=[]}){const f=n??r??{},h=Array.isArray(f.role)?f.role:[],w=u.map(p=>({value:p.id,label:p.name??p.label})),N=(p,v)=>{const b={...f,[p]:v};a?a(b):s?.(b)},C=t===1?"green":t===2?"orange":"blue",y=p=>`workflow-level-${t}-${p}`,g=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--${C}${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:g})]}),i.jsx("button",{type:"button",className:"ca-table-card__delete","aria-label":`Delete ${e}`,title:`Delete ${e}`,onClick:p=>{p.stopPropagation(),c?.()},children:i.jsx(Tn,{size:16})})]}),i.jsx("div",{className:"ca-table-card__divider"}),i.jsxs("div",{className:"ca-table-card__fields",children:[i.jsx(Te,{label:"Select Roles",htmlFor:y("roleIds"),children:i.jsx(Pr,{id:y("role"),value:h,options:w,placeholder:"Select role",onChange:p=>N("role",p)})}),i.jsx("div",{className:"ca-table-card__divider"}),i.jsx(Te,{label:"Can Resolve",htmlFor:y("canResolve"),children:i.jsx(ve,{id:y("canResolve"),value:f.canResolve,options:Br,onChange:p=>N("canResolve",p.target.value)})}),i.jsx(Te,{label:"Can Reassign",htmlFor:y("canReassign"),children:i.jsx(ve,{id:y("canReassign"),value:f.canReassign,options:Br,onChange:p=>N("canReassign",p.target.value)})}),i.jsx(Te,{label:"Final Level",htmlFor:y("finalLevel"),children:i.jsx(ve,{id:y("finalLevel"),value:f.finalLevel,options:Br,onChange:p=>N("finalLevel",p.target.value)})}),i.jsx(Te,{label:"Escalation time",htmlFor:y("escalationTime"),children:i.jsx("div",{className:"ca-table-card__time-input",children:i.jsx(it,{id:y("escalationTime"),type:"text",value:f.escalateAfterMinutes??"",placeholder:"--",onChange:p=>N("escalateAfterMinutes",p.target.value)})})})]})]})}const Af="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",Ff="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",Of="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",kf="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",$r=(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:at(n.escalateAfterMinutes)||""});function Ur(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 If(e,t){const n=Array.isArray(e.role)?e.role:Array.isArray(e.roleIds)?e.roleIds:e.roleId!==void 0&&e.roleId!==null?[e.roleId]:[];return $r(e.levelNo??t+1,e.name??`Level ${e.levelNo??t+1}`,{role:n,canResolve:Ur(e.canResolve),canReassign:Ur(e.canReassign),finalLevel:Ur(e.isFinalLevel??e.finalLevel),escalateAfterMinutes:at(e.escalateAfterMinutes)||""})}function Lo(e=[]){return(Array.isArray(e)?e:[]).map(If)}const jr=[$r(1,"Level 1")];function xf({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:Af,alt:"",className:"ca-escalation-connector__arrow ca-escalation-connector__arrow--first"}),i.jsx("span",{children:"Escalates to"}),i.jsx("img",{src:Ff,alt:"",className:"ca-escalation-connector__arrow ca-escalation-connector__arrow--second"})]})}function Df({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:Of,alt:"",className:"ca-escalation-connector__arrow ca-escalation-connector__arrow--first"}),i.jsx("span",{children:"Escalates to"}),i.jsx("img",{src:kf,alt:"",className:"ca-escalation-connector__arrow ca-escalation-connector__arrow--second"})]})}function Ao({id:e,selectedTableId:t,onSelect:n,setUpdatePayload:r,roleList:a=[],prefillSteps:s=[],tatTotalMinutes:o=0}){const l=e!=null,[c,d]=_.useState(jr),[u,f]=_.useState(jr),[h,w]=_.useState(l),[N,C]=_.useState(null),[y,g]=_.useState(o),p=_.useRef(null),v=_.useRef(o),b=H.useDispatch(),L=_.useMemo(()=>{const P=Lo(s);return P.length?P:jr},[s]);if(!l&&N!==L){const P=st(L,o);C(L),f(P),d(P)}if(!h&&y!==o){g(o);const P=st(u,o);P!==u&&f(P)}_.useEffect(()=>{v.current=o},[o]),_.useEffect(()=>{if(!l){const D=st(L,v.current);r({id:e,tables:D});return}let P=!1;return(async()=>{w(!0);try{const D=await b(qe(e)).unwrap(),k=Array.isArray(D?.data)?D.data:Array.isArray(D)?D:[],V=Lo(k),J=st(V.length?V:L,v.current);console.log("[TableCardGrid] GET response:",D),console.log("[TableCardGrid] initial form values:",J),P||(d(J),f(J),r({id:e,tables:J}))}catch(D){if(!P){const k=st(L,v.current);d(k),f(k),r({id:e,tables:k}),console.log("[TableCardGrid] using fallback form values after GET error:",k),console.error("Failed to load workflow steps:",D)}}finally{P||w(!1)}})(),()=>{P=!0}},[b,L,l,e,r]),_.useEffect(()=>{h||r?.({id:e,tables:u})},[e,h,r,u]);const O=(P,{preserveLastLevel:j}={})=>{const D=j?P:st(P,o),k={id:e,tables:D};f(D),console.log("[TableCardGrid] updated form values:",D),console.log("[TableCardGrid] PUT payload:",k),r?.(k)},x=P=>{const j=u[u.length-1];return j!=null&&j.id===P},$=(P,j)=>{O(u.map(D=>D.id===P?{...D,...j}:D),{preserveLastLevel:x(P)})},E=(P,j)=>{console.log(c,u,P,j),O(u.map(D=>D.id!==P?D:typeof j=="function"?j(D):j),{preserveLastLevel:x(P)})},M=P=>{const j=u.reduce((V,J)=>Math.max(V,Number(J.id)||0),0)+1,D=u.length+1,k=Nu(u);O([...k,$r(j,P||`Level ${D}`)]),requestAnimationFrame(()=>{requestAnimationFrame(()=>{const V=p.current;V&&V.scrollTo({left:V.scrollWidth,behavior:"smooth"})})})},B=P=>{O(u.filter(j=>j.id!==P))};return h&&!u.length?null:i.jsx("div",{className:"ca-table-card-grid","aria-label":"Escalation levels",ref:p,children:i.jsxs("div",{className:"ca-table-card-grid__track",children:[u.map((P,j)=>i.jsxs(_.Fragment,{children:[i.jsx(To,{name:P.name,roleList:a,level:j+1,value:P,initialFormValues:P,setFormValues:D=>E(P.id,D),selected:P.id===t,onSelect:()=>n?.(P),onDelete:()=>B(P.id),onChange:D=>$(P.id,D)}),j<u.length-0?i.jsxs(i.Fragment,{children:[i.jsx(xf,{accent:j===0?"green":j===1?"orange":"purple"}),i.jsx(Df,{accent:j===0?"green":j===1?"orange":"purple"})]}):null]},P.id)),i.jsx(Eo,{level:u.length+1,onAdd:M})]})})}function Pf({totalMinutes:e=0,usedMinutes:t=0}){const n=me(e),r=me(t),a=Math.max(0,n-r),s=at(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 Fo(e){return e?.data??e?.id??e}function Mf({onNext:e,stepMeta:t,stepperProps:n,selectedTableCard:r,roleList:a=[]}){const{state:s,updateWorkflow:o}=Ln(),{workflow:l}=s,[c,d]=_.useState(null),[u,f]=_.useState(""),h=_.useCallback(x=>{d(x)},[]),w=H.useDispatch();let{id:N}=H.useSelector(x=>x.appDetails||{});const C=H.useSelector(x=>x.complaintType?.selected),y=Fo(N),g=Fo(C?.id??C?._id),p=me(C?.tatMinutes??s.tatMinutes);_.useEffect(()=>{y==null||y===""||g!=null&&String(g)===String(y)&&C?.tatMinutes!=null||w(xt(y))},[w,C?.tatMinutes,g,y]);const v=_.useMemo(()=>{const x=Array.isArray(c?.tables)?c.tables:[];return Cu(x)},[c]),b=r??l.selectedTableCard??null,L=Array.isArray(c?.tables)&&c.tables.length?c.tables.map((x,$)=>`L${$+1}`).join(" > "):"",O=async()=>{if(f(""),!c){f("Workflow steps are not ready to save.");return}console.log("WorkflowStep update payload:",c),w(bn({id:c.id,tables:c,onSuccess:x=>{console.log("updateWorkflowSteps onSuccess:",x),f(""),n.onNext?.()},onFail:x=>{const $=x?.response?.data??x?.payload??x,E=Array.isArray($?.errors)?$.errors.map(B=>B?.message).filter(Boolean):[],M=(E.length?E.join(" "):null)??$?.message??$?.error??x?.message??"Failed to update workflow steps";console.log("updateWorkflowSteps onFail:",x),f(wu(M))}}))};return i.jsxs(i.Fragment,{children:[i.jsx(Vt,{...n,steps:Se,onNext:O,showNextButton:!0}),u?i.jsx("div",{className:"ca-validation-toast",role:"alert",children:u}):null,i.jsx(Ut,{title:t.title,description:L,showNext:!1,headerExtra:i.jsx(Pf,{totalMinutes:p,usedMinutes:v}),children:i.jsx("div",{className:"ca-workflow__main",children:i.jsx(Ao,{id:N,selectedTableId:b?.id,onSelect:x=>o({selectedTableCard:x}),setUpdatePayload:h,roleList:a,prefillSteps:s.prefillWorkflowSteps,tatTotalMinutes:p})})})]})}function Oo({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 ko=_.createContext(null);function Vr(e){return typeof e?.level4=="string"&&e.level4.trim()?e.level4.trim():"Store"}function Io(e,t){const n=Vr(t);return String(e??"").replace(/\bstores?\b/gi,()=>n)}function We(){const e=_.useContext(ko);return{storeName:Vr(e),label:t=>Io(t,e),fieldLabel:t=>{const n=String(t.fieldKey??t.key??"").toLowerCase();return n==="storeid"||n==="storeidcustom"?`${Vr(e)} ID`:Io(t.fieldLabel??t.label??t.fieldName??"",e)}}}function xo({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 Bf=["Text","Select","Dropdown","Radio","Number","Email","Date","Text Area","Checkbox","File","Images","Time"],Do=new Set(["Select","Dropdown","Radio","Checkbox"]),$f=["Both","User","Admin"],Uf={Open:"#FF0000","Under Verification":"#FF6F00",Resolved:"#00D82F",Closed:"#006FFF"},Po=["Open","Under Verification","Resolved","Closed"],we={id:"default-status",fieldKey:"status",fieldLabel:"Status",originalFieldName:"Status",fieldType:"Custom",required:!0,fieldAccess:"",hideFor:[],dependsOn:"",options:[...Po],optionColors:{...Uf},parentMappings:{},lockMode:"options",isNew:!1},An={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},qt={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},jf=[{...we,label:we.fieldLabel},{...qt,label:qt.fieldLabel}];function Mo(e){return String(e||"").trim().toLowerCase()}function Y(e){const t=Mo(e?.fieldKey),n=Mo(e?.fieldLabel||e?.label);return t==="status"||t==="statuses"||t==="statuscustom"||n==="status"||n==="statuses"}function Wt(e){return Y(e)&&(e?.lockMode==="options"||e?.lockMode==="all")}function Vf(e,t=[]){if(!Y(e))return!1;const n=t.length?t:[e],r=n.filter(o=>!o?.isNew&&Y(o)),a=n.filter(Wt),s=r[0]||a[0]||n.find(o=>Y(o)&&!o?.isNew);return s?String(s.id)===String(e.id):!e?.isNew}function Fn(e){const t=String(e?.fieldKey||"").toLowerCase(),n=String(e?.fieldLabel||e?.label||"").trim().toLowerCase();return t==="priorities"||n==="priorities"}function Ie(e){const t=String(e?.fieldKey||"").toLowerCase(),n=String(e?.fieldLabel||e?.label||"").trim().toLowerCase();return t==="storeid"||t==="storeidcustom"||n==="store id"}function He(e){const t=String(e||"").trim().toLowerCase();return t==="open"||t==="closed"}function qf(e){return String(e||"").trim().toLowerCase()==="open"}function Ht(e=[]){const t=(e||[]).filter(a=>a!=null&&String(a).trim()!==""),n=new Set,r=[];return Po.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 Bo(e){return Do.has(e?.fieldType)||Wt(e)}function qr(e){return!e||Y(e)||Ie(e)||!Do.has(e.fieldType)?!1:!(e.options||[]).some(t=>String(t||"").trim())}function ct(e=[]){return e.some(qr)}function $o(e=[]){const t=[],n=new Set;return e.forEach(r=>{if(!qr(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 Wf(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 On(e,t=[]){return e?t.some(n=>String(n.id)===String(e.id)?!1:Wf(e,n)):!1}function kn(e=[]){return e.some(t=>On(t,e))}function Wr(e,t={},n=""){const r=String(n||"");if(Y({fieldKey:r})||Ie({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 Hf(e){return Fn(e)?"Priorities":"Option"}function zf(e,t=!1){return e?t?"Define options and set parent.":Y(e)?"Manage the status":"Manage your fields.":""}function In(e,t=[]){if(String(e?.fieldType||"")==="MultiSelect")return In({...e,fieldType:"Checkbox"},t);if(Y(e)){if(e?.isNew||!Vf(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{...we,...e,fieldKey:we.fieldKey,fieldLabel:r?we.fieldLabel:n,originalFieldName:r?we.originalFieldName:e.originalFieldName??n,fieldType:we.fieldType,required:!0,options:Ht(e.options?.length?e.options:we.options),optionColors:{...we.optionColors,...e.optionColors},lockMode:"options"}}return Fn(e)?{...An,...e,fieldKey:e.fieldKey||An.fieldKey,fieldType:An.fieldType,options:e.options?.length?e.options:An.options,lockMode:"options"}:Ie(e)?{...qt,...e,fieldKey:qt.fieldKey,fieldType:qt.fieldType,lockMode:"all"}:e}function dt(e=[]){const t=e.map(r=>In(r,e));if(t.some(Y))return t;const n={...we};return[In(n,[n,...t]),...t]}function Hr(e,t){return!t||e.includes(t)?e:[t,...e]}function Uo(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 Kf="#9CA3AF";function jo({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:h,onDelete:w,onSave:N,cardRef:C,onOptionNotice:y,hasDuplicateIdentity:g=!1,hasMissingOptions:p=!1}){const[v,b]=_.useState(""),{label:L,fieldLabel:O}=We(),x=Uo(e),[$,E]=_.useState(()=>({id:e.id,signature:e.isNew?null:x}));$.id!==e.id&&E({id:e.id,signature:e.isNew?null:x});const M=e.lockMode==="all",B=M||e.lockMode==="options",P=Bo(e),j=M||!P,D=!!(String(e.fieldLabel||"").trim()&&String(e.fieldType||"").trim()),k=$.signature!==x,V=!!s||!D,J=g||p?"ca-control--invalid":"",Z=A=>h?.({...e,...A}),G=()=>{if(j)return;const A=v.trim();if(!A)return;if(Y(e)&&He(A)){const U=(e.options||[]).find(q=>String(q).trim().toLowerCase()===A.toLowerCase());if(U){y?.(`${U} already exists in options`),b("");return}}if(e.options?.includes(A))return;const S=Y(e)?{...e.optionColors||{},[A]:e.optionColors?.[A]||Kf}:e.optionColors;Z({options:Y(e)?Ht([...e.options||[],A]):[...e.options||[],A],...Y(e)?{optionColors:S}:{}}),b("")},ee=A=>{if(j||Y(e)&&He(A))return;const S={...e.optionColors||{}};delete S[A];const U={...e.parentMappings||{}};delete U[A],Z({options:e.options.filter(q=>q!==A),parentMappings:U,...Y(e)?{optionColors:S}:{}})};return i.jsxs("article",{ref:C,className:`ca-form-card${o?" ca-form-card--selected":""}${l?" ca-form-card--dragging":""}`,onClick:()=>c?.(e),onDragOver:A=>{A.preventDefault(),A.dataTransfer.dropEffect="move"},onDrop:A=>{A.preventDefault();const S=A.dataTransfer.getData("text/plain");f?.(S,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:A=>A.stopPropagation(),onDragStart:A=>{A.dataTransfer.setData("text/plain",String(e.id)),A.dataTransfer.effectAllowed="move",d?.()},onDragEnd:()=>u?.(),children:i.jsx(xo,{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:V||M||!k,onClick:async A=>{if(A.stopPropagation(),V||M||!k)return;const S=await N?.(e);S&&E({id:e.id,signature:Uo(S)})},children:"Save"}),Wt(e)?null:i.jsx("button",{type:"button",className:"ca-icon-btn ca-form-card__delete","aria-label":"Delete form field",onClick:A=>{A.stopPropagation(),w?.(e.id)},children:i.jsx(Tn,{size:15,color:"currentColor"})})]})]}),i.jsx("div",{className:"ca-form-card__row",children:B?i.jsx("span",{className:"ca-form-card__static",children:O(e)||"—"}):i.jsx(it,{value:M?O(e):e.fieldLabel,placeholder:"Enter field label",disabled:B,className:J,onChange:A=>Z({fieldLabel:A.target.value})})}),i.jsx("div",{className:"ca-form-card__row",children:B?i.jsx("span",{className:"ca-form-card__static",children:e.fieldType||"—"}):i.jsx(ve,{value:e.fieldType,options:Hr(n,e.fieldType),placeholder:"Select type",maxVisible:5,disabled:B,className:J,onChange:A=>{const S=A.target.value;if(Bo({...e,fieldType:S})){Z({fieldType:S});return}Z({fieldType:S,options:[],parentMappings:{},optionColors:{}})}})}),i.jsx("div",{className:"ca-form-card__row ca-form-card__row--toggle",children:i.jsx(En,{checked:!!e.required,disabled:B,onChange:A=>Z({required:A}),"aria-label":"Required"})}),i.jsx("div",{className:"ca-form-card__row",children:i.jsx(ve,{value:e.fieldAccess,options:Hr(r,e.fieldAccess),placeholder:"Select access",disabled:B,allowClear:!0,onChange:A=>Z({fieldAccess:A.target.value})})}),i.jsxs("div",{className:"ca-form-card__row",children:[i.jsx(ve,{value:"",options:a.filter(A=>!e.hideFor?.includes(A)),placeholder:"Select level",disabled:B,onChange:A=>Z({hideFor:[...e.hideFor||[],A.target.value]})}),e.hideFor?.length?i.jsx("div",{className:"ca-form-card__chips",children:e.hideFor.map(A=>i.jsxs("span",{className:"ca-form-card__chip",children:[A,i.jsx("button",{type:"button","aria-label":`Remove ${A}`,disabled:B,onClick:()=>Z({hideFor:e.hideFor.filter(S=>S!==A)}),children:"×"})]},A))}):null]}),i.jsx("div",{className:"ca-form-card__row",children:i.jsx(ve,{value:e.dependsOn,options:Hr(t,e.dependsOn).map(A=>({value:A,label:L(A)})),placeholder:"Select field label",disabled:B,allowClear:!0,onChange:A=>{const S=A.target.value;if(!S){Z({dependsOn:"",parentMappings:{}});return}Z({dependsOn:S})}})}),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(it,{value:v,placeholder:"Enter option",disabled:j,className:p?"ca-control--invalid":"",onChange:A=>b(A.target.value),onKeyDown:A=>{A.key==="Enter"&&(A.preventDefault(),G())}}),i.jsx("button",{type:"button",className:"ca-form-card__add-option","aria-label":"Add option",disabled:j,onClick:G,children:"+"})]}),i.jsx("div",{className:"ca-form-card__chips",children:(P?Y(e)?Ht(e.options||[]):e.options||[]:[]).map(A=>{const S=Y(e)&&He(A);return i.jsxs("span",{className:`ca-form-card__chip${S?" ca-form-card__chip--locked":""}`,children:[A,S?null:i.jsx("button",{type:"button","aria-label":`Remove ${A}`,disabled:j,onClick:()=>ee(A),children:"×"})]},A)})})]})]})}function zr({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(ff,{size:14,strokeWidth:1.5,color:"currentColor","aria-hidden":"true"})})})}function Jf(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 Zf({formFields:e=[],selectedField:t=null,onChange:n}){const r=t,a=Y(r)?r:null,s=_.useMemo(()=>{const p=String(r?.dependsOn||"").trim();if(!p)return null;const v=e.filter(b=>String(b.fieldLabel||"").trim()===p);return v.find(b=>(b.options||[]).some(L=>String(L||"").trim()))||v[0]||null},[r?.dependsOn,e]),o=s?.options||[],l=!!r?.dependsOn,[c,d]=_.useState(!1),u=(p,v)=>{if(!a)return;const b=/^#[0-9A-Fa-f]{6}$/.test(v)?v.toUpperCase():v;n?.(e.map(L=>L.id===a.id?{...L,optionColors:{...L.optionColors,[p]:b}}:L))},f=(p,v)=>{r&&n?.(e.map(b=>b.id===r.id?{...b,parentMappings:{...b.parentMappings||{},[p]:v}}:b))},h=p=>{if(!r||Y(r)&&He(p))return;const v={...r.optionColors||{}};delete v[p];const b={...r.parentMappings||{}};delete b[p],n?.(e.map(L=>L.id===r.id?{...L,options:(L.options||[]).filter(O=>O!==p),parentMappings:b,...Y(L)?{optionColors:v}:{}}:L))},w=r?.fieldLabel||"Select field",N=zf(r,l),C=Y(r)?Ht(r?.options||[]):r?.options||[],y=(p,v)=>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:[p.map(b=>i.jsx("th",{scope:"col",children:b},b)),i.jsx("th",{scope:"col","aria-label":"Delete"})]})}),i.jsx("tbody",{children:v})]})});let g=i.jsx("p",{className:"field-options-panel__empty",children:r?"No options added.":"Select a field to edit."});return l?g=C.length?y(["Option label",s?.fieldLabel||"Parent"],C.map(p=>i.jsxs("tr",{children:[i.jsx("td",{children:p}),i.jsx("td",{children:i.jsxs("select",{"aria-label":`Parent for ${p}`,value:r.parentMappings?.[p]||"",disabled:!o.length,onChange:v=>f(p,v.target.value),children:[i.jsx("option",{value:"",children:o.length?"Select parent":`No ${String(r.dependsOn||"parent").toLowerCase()} options`}),o.map(v=>i.jsx("option",{value:v,children:v},v))]})}),i.jsx(zr,{option:p,onDelete:h,locked:Y(r)&&He(p)})]},p))):i.jsx("p",{className:"field-options-panel__empty",children:"No options added."}):a?g=C.length?y([Y(a)?"Status":"Option","Colors"],C.map(p=>{const v=Jf(a.optionColors?.[p]);return i.jsxs("tr",{children:[i.jsx("td",{children:p}),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 ${p}`,value:a.optionColors?.[p]||v,onChange:b=>u(p,b.target.value)}),i.jsx("label",{className:"field-options-panel__swatch",style:{background:v},title:v,children:i.jsx("input",{type:"color","aria-label":`Pick color for ${p}`,value:v,onChange:b=>u(p,b.target.value)})})]})}),i.jsx(zr,{option:p,onDelete:h,locked:Y(a)&&He(p)})]},p)})):i.jsx("p",{className:"field-options-panel__empty",children:"No options added."}):C.length&&(g=y([Hf(r)],C.map(p=>i.jsxs("tr",{children:[i.jsx("td",{children:p}),i.jsx(zr,{option:p,onDelete:h,locked:Y(r)&&He(p)})]},p)))),i.jsxs("aside",{className:`field-options-panel${c?" is-open":""}${r?"":" field-options-panel--empty"}`,"aria-label":`Options for: ${w}`,children:[i.jsxs("button",{type:"button",className:"field-options-panel__summary","aria-expanded":c,"aria-controls":"field-options-panel-body",onClick:()=>d(p=>!p),children:[i.jsxs("span",{className:"field-options-panel__summary-text",children:[i.jsxs("span",{className:"field-options-panel__title",children:["Options for: ",w]}),N?i.jsx("span",{className:"field-options-panel__description",children:N}):null]}),i.jsx(no,{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 Yf(e,t=[]){const n=new Set,r=[];return t.forEach(a=>{if(String(a.id)===String(e?.id)||Y(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 Gf=["Actions","Field Label","Field Type","Required","Field Access","Hide for","DependsOn","Options"];function Xf(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 ut(e=[]){const t=e.map(Xf);return t.map(n=>In(n,t))}function Vo({initialFields:e,onChange:t,addExternalFieldRef:n,fieldTypeOptions:r=[],fieldAccessOptions:a=[],hideForOptions:s=[],onSave:o,onDelete:l}){const[c,d]=_.useState(()=>ut(e??[])),[u,f]=_.useState(null),[h,w]=_.useState(null),[N,C]=_.useState(""),y=_.useRef(""),g=_.useRef(null),p=_.useRef({}),v=k=>{const V=ut(k);d(V),t?.(V)},b=(e??[]).map(k=>k.id).join(",");_.useEffect(()=>{if(!N)return;const k=window.setTimeout(()=>C(""),3200);return()=>window.clearTimeout(k)},[N]),_.useEffect(()=>{!b||b===y.current||(y.current=b,d(ut(e)))},[b,e]),_.useEffect(()=>{if(n)return n.current=k=>{k&&d(V=>{const J=V.find(ee=>On(k,[ee]));if(kn(V)||J)return J&&f(J.id),V;if(ct(V))return V;const Z=ut([...V,{...k,id:`${k.id}-${Date.now()}`,isNew:!0}]),G=Z[Z.length-1];return f(G.id),t?.(Z),Z})},()=>{n.current=null}},[n,t]),_.useEffect(()=>{if(u==null)return;const k=g.current,V=p.current[u];if(!k||!V)return;const J=requestAnimationFrame(()=>{const Z=k.getBoundingClientRect(),G=V.getBoundingClientRect(),ee=12;G.left>=Z.left+ee&&G.right<=Z.right-ee||k.scrollTo({left:k.scrollLeft+G.left-Z.left-(Z.width-G.width)/2,behavior:"smooth"})});return()=>cancelAnimationFrame(J)},[u,c]);const L=(k,V)=>{if(k==null||V==null||String(k)===String(V))return;const J=c.findIndex(A=>String(A.id)===String(k)),Z=c.findIndex(A=>String(A.id)===String(V));if(J<0||Z<0)return;const G=[...c],[ee]=G.splice(J,1);G.splice(Z,0,ee),v(G.map((A,S)=>({...A,order:S+1})))},O=k=>{const V=c.find(J=>J.id===k.id);k.dependsOn&&k.dependsOn!==V?.dependsOn&&f(k.id),v(c.map(J=>J.id===k.id?k:J))},x=async k=>{const V=c.find(J=>J.id===k);if(!(!V||Wt(V)))try{if(await l?.(V)===!1)return;v(c.filter(Z=>Z.id!==k).map((Z,G)=>({...Z,order:G+1})))}catch{}},$=()=>{kn(c)||ct(c)||v(ut([...c,{id:`${Date.now()}-${c.length}`,fieldLabel:"",fieldType:r[0]??"",options:[],isNew:!0}]))},E=async k=>{if(On(k,c))return null;try{const V=await o?.(k);return V?(d(J=>{const Z=ut(J.map(G=>G.id===k.id?{...V,isNew:!1,order:G.order||1}:G));return t?.(Z),Z}),V):null}catch{return null}},M=kn(c),B=ct(c),P=M?"A field with this label and type already exists":"",j=$o(c),D=c.find(k=>k.id===u)||null;return i.jsxs(i.Fragment,{children:[P||j||N?i.jsx("div",{className:"ca-validation-toast",role:"alert",children:P||j||N}):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:Gf.map(k=>i.jsx("div",{className:"ca-form-card-grid__label",children:k},k))}),i.jsxs("div",{className:"ca-form-card-grid__cards",ref:g,children:[c.map(k=>i.jsx(jo,{field:k,fieldOptions:Yf(k,c),fieldTypeOptions:r,fieldAccessOptions:a,hideForOptions:s,selected:D?.id===k.id,isDragging:String(h)===String(k.id),cardRef:V=>{V?p.current[k.id]=V:delete p.current[k.id]},onSelect:()=>f(k.id),onDragStartField:()=>w(k.id),onDragEndField:()=>w(null),onReorder:L,onChange:O,onDelete:x,onSave:E,onOptionNotice:C,hasDuplicateIdentity:On(k,c),hasMissingOptions:qr(k)},k.id)),i.jsx(Oo,{onAdd:$,disabled:M||B})]})]}),i.jsx(Zf,{formFields:c,selectedField:D,onChange:v})]})]})}const qo={department:to,priorities:df,status:_n,statuses:_n,statusCustom:_n,Status:_n,storeId:ao,storeIdCustom:ao};function Qf({fields:e=[],onAddField:t,disableAdd:n=!1,disableAddHint:r="Resolve duplicate field first"}){const[a,s]=_.useState(!1),{fieldLabel:o}=We();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(no,{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=qo[l.fieldKey]||qo[l.id]||to;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(ro,{size:14,strokeWidth:2,"aria-hidden":"true"})})]},l.fieldKey??l.id)})})]})}const Wo={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"},Ho={BOTH:"Both",USER:"User",ADMIN:"Admin"},Rf={...Object.fromEntries(Object.entries(Wo).map(([e,t])=>[t,e])),Select:"SELECT",Dropdown:"SELECT",Radio:"RADIO",Images:"FILE",Time:"DATETIME","Text Area":"TEXTAREA","Date Time":"DATETIME"},ep={...Object.fromEntries(Object.entries(Ho).map(([e,t])=>[t,e])),Both:"BOTH",User:"USER",Admin:"ADMIN"};function ft(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 tp(e,t){const n=ft(e),r=ft(t);return n?r?n+r.charAt(0).toUpperCase()+r.slice(1):n:""}function xn(e,t){return Y({...e,fieldLabel:t})?ft(t)||"status":Ie({...e,fieldLabel:t})?"storeIdCustom":tp(t,e.fieldType)}function zt(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 np(e){return e?typeof e=="string"?e:e.message||e.error||"":""}function Kr(e){return e?typeof e.id=="number"||/^\d+$/.test(String(e.id)):!1}function rp(e=[]){const t=Y(e)?Ht(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 Y(e)?{values:t.map((s,o)=>{const l={name:s,displayOrder:o+1,isActive:!0,isDefault:qf(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 ap(e,t=[],n=[]){const r=String(e.fieldLabel||"").trim(),a=e.originalFieldName!=null&&r===String(e.originalFieldName).trim(),s=t.find(w=>String(w.fieldLabel||"").trim()===e.dependsOn&&e.dependsOn),o=xn(e,r)||(a?e.fieldKey:""),l=s?xn(s,s.fieldLabel)||s.fieldKey:"",c=cp(e,n),d=rp(e),u=Rf[e.fieldType]??String(e.fieldType||"TEXT").toUpperCase(),f=ep[e.fieldAccess]??(e.fieldAccess?String(e.fieldAccess).toUpperCase():"USER"),h={fieldName:r,fieldKey:o,fieldType:u,required:!!e.required,displayOrder:Number(e.order)||1,fieldAccess:f,isActive:e.isActive!==!1};return c!=null&&c!==""&&(h.hideForWorkflowStepId=c),d?.values?.length&&(h.options=d),l&&l!==o&&(h.dependsOnFieldKey=l),h}function zo(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 sp(e,t){return zo(e)!==zo(t)}function op(e=[],t=e,n=[]){return{fields:e.filter(a=>!a.isNew&&String(a.fieldLabel||"").trim()).map((a,s)=>ap({...a,order:a.order||s+1},t,n))}}function ip(...e){const t=[],n=new Set;return e.flat().forEach(r=>{if(!Kr(r))return;const a=Number(r.id);n.has(a)||(n.add(a),t.push(a))}),t}function lp(e){return Array.isArray(e)?e:Array.isArray(e?.data)?e.data:[]}function Dn(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 Ko(e,t=[]){if(!e)return null;const n=Dn(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 Dn(a)}function cp(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=>Dn(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 Jo(e){return[...new Set(e.filter(Boolean))]}function Pn(e){return typeof e=="string"?e:e?.label??e?.name??e?.value??""}function dp(e){return!e||typeof e!="object"?"":e.dependsOnValue??e.parent??""}function up(e,t=[]){if(!e)return"";const n=t.map(Pn).filter(Boolean),r=n.find(s=>s===e);return r||n.find(s=>ft(s)===e||ft(s)===ft(e))||e}function fp(e){return e&&typeof e=="object"&&e.color?e.color:""}function pt(e=[],t=[]){const n=[...e].sort((r,a)=>(r.displayOrder??0)-(a.displayOrder??0));return dt(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:Wr(r.fieldType,Wo,r.fieldKey),required:!!r.required,fieldAccess:Ho[r.fieldAccess]??r.fieldAccess??"",hideFor:Jo([...Array.isArray(r.hideFor)?r.hideFor:[],Ko(r.hideForWorkflowStep,t),Ko(o,t)]),dependsOn:r.dependsOnField?.fieldName??s?.fieldName??r.dependsOn??"",options:a.map(Pn).filter(Boolean),parentMappings:Object.fromEntries(a.map(l=>{const c=Pn(l),d=dp(l);return!c||!d?null:[c,up(d,s?.options?.values??[])]}).filter(Boolean)),optionColors:Object.fromEntries(a.map(l=>[Pn(l),fp(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 pp({stepMeta:e,stepperProps:t}){const n=H.useDispatch(),{systemId:r}=Xt(),a=H.useSelector(S=>S.appDetails?.id),s=zt(a)??zt(r),{state:o,update:l}=Ln(),{formFields:c,prefillFormFields:d=[]}=o,u=_.useRef(null),f=_.useCallback(S=>l({formFields:S}),[l]),h=_.useCallback(async S=>{const U=String(S.fieldLabel||"").trim();return U?{...S,fieldLabel:U,fieldKey:xn(S,U),originalFieldName:U,isNew:!1}:null},[]),w=_.useCallback(async S=>Wt(S)?!1:(Kr(S)&&await n(rt({complaintTypeId:s,fieldId:S.id})).unwrap(),!0),[s,n]),N=H.useSelector(S=>S.complaintAppComplaint?.formFields?.data),C=H.useSelector(S=>S.complaintAppComplaint?.formFields?.isLoading),y=H.useSelector(S=>S.complaintAppComplaint?.formFields?.error),g=H.useSelector(S=>S.workflow?.workflowSteps),p=_.useMemo(()=>lp(g),[g]),v=_.useRef(p),[b,L]=_.useState(!1);_.useEffect(()=>{v.current=p},[p]),_.useEffect(()=>{const S=zt(s);S!=null&&n(qe(S))},[s,n]),_.useEffect(()=>{const S=zt(s);if(S==null)return;let U=!1;return n(Ee(S)).unwrap().then(q=>{if(U)return;const Q=Array.isArray(q)?q:q?.data;if(!(Array.isArray(Q)&&Q.length>0)&&d.length){const X=pt(d,v.current).map((Ce,xe)=>({...Ce,id:`prefill-${xe}`,isNew:!1}));l({formFields:dt(X)})}else{const X=dt(pt(Array.isArray(Q)?Q:[],v.current));l({formFields:X})}L(!0)}).catch(()=>{if(!U){if(d.length){const q=pt(d,v.current).map((Q,W)=>({...Q,id:`prefill-${W}`,isNew:!1}));l({formFields:dt(q)})}L(!0)}}),()=>{U=!0}},[s,n,d,l]);const O=_.useMemo(()=>dt(pt(N,p)),[N,p]),$=zt(s)==null||b,E=$?c:O,M=_.useMemo(()=>jf.filter(S=>!E.some(U=>S.fieldKey&&U.fieldKey===S.fieldKey||Y(S)&&Y(U)||Fn(S)&&Fn(U)||Ie(S)&&Ie(U))),[E]),B=_.useMemo(()=>kn(E),[E]),P=_.useMemo(()=>ct(E),[E]),j=np(y),D=Bf,k=$f,V=_.useMemo(()=>{const S=[...p].sort((q,Q)=>(q.levelNo??0)-(Q.levelNo??0)).map(q=>Dn(q)).filter(Boolean),U=O.flatMap(q=>q.hideFor);return Jo([...S,...U])},[O,p]),J=_.useMemo(()=>E.filter(S=>S.isNew&&String(S.fieldLabel||"").trim()),[E]),[Z,G]=_.useState(!1),ee=_.useCallback(async S=>{if(!ct(E)&&s)try{const q=E.map(te=>{if(!S||!te.isNew)return te;const ae=String(te.fieldLabel||"").trim();return ae?{...te,fieldLabel:ae,fieldKey:xn(te,ae),originalFieldName:ae,isNew:!1}:te}).filter(te=>!te.isNew&&String(te.fieldLabel||"").trim()),Q=new Map(pt(N,p).map(te=>[Number(te.id),te]));if(!q.some(te=>{if(!Kr(te))return!0;const ae=Q.get(Number(te.id));return!ae||sp(te,ae)})){t.onNext?.();return}const X=[...q].sort((te,ae)=>+!!te.dependsOn-+!!ae.dependsOn),Ce=ip(N,q);for(const te of Ce)try{await n(rt({complaintTypeId:s,fieldId:te})).unwrap()}catch{}await n(Ft({complaintTypeId:s,data:op(X,X,p)})).unwrap();const xe=await n(Ee(s)).unwrap(),jn=Array.isArray(xe)?xe:xe?.data;l({formFields:dt(pt(Array.isArray(jn)?jn:[],p))}),t.onNext?.()}catch{}},[N,s,n,E,t,l,p]),A=_.useCallback(()=>{if(!ct(E)){if(J.length){G(!0);return}ee(!1)}},[E,J.length,ee]);return i.jsxs(i.Fragment,{children:[i.jsx(Vt,{...t,steps:Se,onNext:A}),Z?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(de,{variant:"outline",onClick:()=>{G(!1),ee(!1)},children:"OK"}),i.jsx(de,{onClick:()=>{G(!1),ee(!0)},children:"Save"})]})]})}):null,i.jsx(Ut,{className:"ca-settings-card--plain",title:e.title,description:e.description,showNext:!1,children:!$||C?i.jsx(lt,{text:"Loading form fields"}):j&&!E.length?i.jsx("div",{className:"ca-validation-toast",role:"alert",children:j}):i.jsxs("div",{className:"ca-form-fields",children:[j?i.jsx("div",{className:"ca-validation-toast",role:"alert",children:j}):null,i.jsx(Qf,{fields:M,disableAdd:B||P,disableAddHint:B?"Resolve duplicate field first":P?$o(E):void 0,onAddField:S=>u.current?.({...S})}),i.jsx(Vo,{initialFields:E,addExternalFieldRef:u,onChange:f,fieldTypeOptions:D,fieldAccessOptions:k,hideForOptions:V,onSave:h,onDelete:w})]})})]})}function Zo({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(Ys,{children:e}),i.jsx(En,{checked:t,onChange:n,disabled:r,"aria-label":e})]})}function Yo({storeList:e=[],value:t,onChange:n,...r}){const{label:a}=We();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 hp=new Set(["select","radio","checkbox"]);function Go(e){return String(e||"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/(^-|-$)/g,"")}function ze(e){return String(e.label||e.fieldLabel||e.fieldName||e.name||"").trim()}function Jr(e){return`review-${e.id??e.fieldKey??(Go(ze(e))||"field")}`}function Xo(e,t,n){return n===0?e:`${e}-${Go(t)||n}`}function Zr(e){const t=String(e.fieldType||"").toLowerCase(),n=String(e.fieldKey||ze(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 Qo(e){return hp.has(e)}function mp(e){return e==="textarea"||e==="radio"||e==="checkbox"}function gp(e){const t=String(e.fieldType||"").toLowerCase();return t==="text"||t==="textfield"}function Ro(e){return String(e||"").replace(/\d/g,"")}function ei(e){return String(e||"").replace(/[^\d]/g,"")}function Kt(e,t){const n=String(ze(e)||"value").toLowerCase();return t==="date"?"mm/dd/yyyy":t==="select"?`Select ${n}`:t==="email"?"Enter email":`Enter ${n}`}function Jt(e){return String(e.fieldKey||e.id||ze(e)||Jr(e))}function ti(e,t=[]){const n=String(e.dependsOn||"").trim();return n&&t.find(r=>{const a=ze(r),s=String(r.fieldKey||"");return a===n||s===n})||null}function ni(e,t=[],n={}){const r=e.options||[],a=ti(e,t);if(!a)return r;const s=e.parentMappings||{};if(!r.some(c=>!!s[c]))return r;const l=String(n[Jt(a)]||"").trim();return l?r.filter(c=>String(s[c]||"")===l):r}function ri(e){return e==="checkbox"||e==="images"?[]:""}function yp({question:e,options:t,value:n,onChange:r,storeList:a}){const s=Jr(e),o=Zr(e),l=n??ri(o),c={id:s,name:String(e.fieldKey||ze(e)||s),required:!!e.required};if(Ie(e)&&Array.isArray(a))return i.jsx(Yo,{...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=Xo(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:h=>r(h.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 h=Xo(s,u,f);return i.jsxs("label",{className:"review-option",htmlFor:h,children:[i.jsx("input",{id:h,name:`${c.name}[]`,type:"checkbox",value:u,checked:d.includes(u),required:!1,onChange:w=>r(w.target.checked?[...d,u]:d.filter(N=>N!==u))}),i.jsx("span",{children:u})]},u)})})}return o==="textarea"?i.jsx("textarea",{...c,className:"review-control review-control--textarea",placeholder:Kt(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:Kt(e,o)}),t.map(d=>i.jsx("option",{value:d,children:d},d))]}):o==="file"?i.jsx("input",{...c,className:"review-control",type:"file",onChange:d=>r(d.target.files?.[0]?.name||"")}):o==="images"?i.jsx("input",{...c,className:"review-control",type:"file",accept:"image/*",multiple:!0,onChange:d=>r(Array.from(d.target.files||[]).map(u=>u.name))}):o==="number"?i.jsx("input",{...c,className:"review-control",type:"number",inputMode:"numeric",placeholder:Kt(e,o),value:l,onChange:d=>r(ei(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(ei(u)))}}):gp(e)?i.jsx("input",{...c,className:"review-control",type:"text",inputMode:"text",placeholder:Kt(e,o),value:l,onChange:d=>r(Ro(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(Ro(u)))}}):i.jsx("input",{...c,className:"review-control",type:o,placeholder:Kt(e,o),value:l,onChange:d=>r(d.target.value)})}function bp({fields:e=[],storeList:t}){const{fieldLabel:n}=We(),[r,a]=_.useState({}),s=(o,l)=>{const c=Jt(o);a(d=>{const u={...d,[c]:l};return e.forEach(f=>{const h=ti(f,e);if(!h||Jt(h)!==c)return;const w=Zr(f);if(!Qo(w))return;const N=ni(f,e,u),C=Jt(f),y=u[C];Array.isArray(y)?u[C]=y.filter(g=>N.includes(g)):y&&!N.includes(y)&&(u[C]="")}),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=Zr(o),c=Jr(o),d=Qo(l)?ni(o,e,r):[];return i.jsxs("div",{className:`review-question${mp(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(yp,{storeList:t,question:o,options:d,value:r[Jt(o)]??ri(l),onChange:u=>s(o,u)})]},o.id??o.fieldKey??ze(o))})})})}):i.jsx("p",{className:"review-empty",children:"No form fields added"})}const Sp={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"},vp={BOTH:"Both",USER:"User",ADMIN:"Admin"};function wp(e){return e?typeof e=="string"?e:e.name??e.label??e.title??null:null}function Cp(e){return[...new Set(e.filter(Boolean))]}function Yr(e){return typeof e=="string"?e:e?.label??e?.name??""}function Gr(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 Np(e){return!e||typeof e!="object"?"":e.dependsOnValue??e.parent??""}function _p(e,t=[]){if(!e)return"";const n=t.map(Yr).filter(Boolean),r=n.find(s=>s===e);return r||n.find(s=>Gr(s)===e||Gr(s)===Gr(e))||e}function Ep(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:Wr(n.fieldType,Sp,n.fieldKey),required:!!n.required,fieldAccess:vp[n.fieldAccess]??n.fieldAccess??"",hideFor:Cp([...Array.isArray(n.hideFor)?n.hideFor:[],wp(n.hideForWorkflowStep)]),dependsOn:n.dependsOnField?.fieldName??a?.fieldName??n.dependsOn??"",options:r.map(Yr).filter(Boolean),parentMappings:Object.fromEntries(r.map(s=>{const o=Yr(s),l=Np(s);return!o||!l?null:[o,_p(l,a?.options?.values??[])]}).filter(Boolean))}})}function Tp({onPublish:e,stepMeta:t,stepperProps:n,storeList:r}){const a=H.useDispatch(),s=H.useSelector(b=>b.appDetails?.id),o=H.useSelector(b=>b.complaintAppComplaint.formFields.data),l=H.useSelector(b=>b.complaintAppComplaint.formFields.isLoading),c=H.useSelector(b=>b.complaintAppComplaint.formFields.error),d=H.useSelector(b=>b.createComplaint?.isActive),u=H.useSelector(b=>b.createComplaint?.activeComplaintTypeId),f=H.useSelector(b=>b.createComplaint?.isUpdatingActive),h=H.useSelector(b=>b.createComplaint?.activeError),w=H.useSelector(b=>b.complaintType?.selected),N=H.useSelector(b=>b.complaintType?.complaintList??[]),C=_.useMemo(()=>Ep(o),[o]),y=_.useMemo(()=>s==null?null:w&&String(w.id??w._id)===String(s)?w:N.find(b=>String(b?.id??b?._id)===String(s))??null,[N,s,w]),g=y!=null&&(y.isActive!=null||y.active!=null)?!!(y.isActive??y.active):null,p=String(u)===String(s)?!!d:g??!0;_.useEffect(()=>{s&&a(Ee(s))},[s,a]);const v=b=>{!s||f||a($t({id:s,isActive:b}))};return i.jsxs(i.Fragment,{children:[i.jsx(Vt,{...n,steps:Se,showSaveButton:!1,nextLabel:"Publish",extraActions:i.jsx(Zo,{label:"Active",checked:p,disabled:!s||f,onChange:v}),onNext:()=>{e?.(),n.onNext?.()}}),h?i.jsx("div",{className:"ca-validation-toast",role:"alert",children:h}):null,i.jsx(Ut,{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(lt,{text:"Loading form fields"}):c&&!C.length?i.jsx("p",{className:"ca-body",children:c}):i.jsx(bp,{fields:C,storeList:r})})})})]})}function Lp(e){const t=Number(e);return!Number.isFinite(t)||t<1?1:t>Se.length?Se.length:Math.floor(t)}function Ap(e){const t=Number(e);return!Number.isFinite(t)||t<1?1:t>3?3:Math.floor(t)}function ai({title:e="Complaint Management Settings",onPublish:t,onStepChange:n,onSaveDraft:r,roleList:a=[],storeList:s,showSaveButton:o=!0,showNextButton:l=!0}){const c=Oe(),d=H.useDispatch(),{systemId:u}=Xt(),[f,h]=Ca(),w=Lp(f.get("step")||1),N=Ap(f.get("substep")||1);_.useEffect(()=>{u&&d(Ve(u))},[d,u]),_.useEffect(()=>{if(!f.get("step")){const L=new URLSearchParams(f);L.set("step","1"),h(L,{replace:!0})}},[f,h]);const C=_.useMemo(()=>Se.find(L=>L.id===w)||Se[0],[w]),y=_.useCallback((L,O)=>{const x=new URLSearchParams(f);x.set("step",String(L)),L===4?x.set("substep",String(O??(L===w?N:1))):x.delete("substep"),h(x,{replace:!1}),n?.({systemId:u,step:L,substep:O})},[f,h,n,u,w,N]),g=()=>{if(w<Se.length){y(w+1,1);return}c("/")},p=L=>{y(4,L)},v=()=>{t?.({systemId:u,step:w})},b={currentStep:w,onStepClick:L=>y(L,L===4?1:void 0),showSaveButton:o,showNextButton:l,onSaveDraft:()=>r?.({systemId:u,step:w}),onNext:g,className:"ca-settings-page__stepper"};return i.jsx(bo,{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(Tr,{children:e})]}),w===1?i.jsx(Lf,{stepMeta:C,stepperProps:b,roleList:a}):null,w===2?i.jsx(Mf,{onNext:g,stepMeta:C,roleList:a,substep:N,onSubstepChange:p,stepperProps:b}):null,w===3?i.jsx(pp,{stepMeta:C,stepperProps:b}):null,w===4?i.jsx(Tp,{storeList:s,onPublish:v,stepMeta:C,stepperProps:b}):null]})},u||"new")}const Fp=["January","February","March","April","May","June","July","August","September","October","November","December"];function Op(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()} ${Fp[t.getMonth()]} ${t.getFullYear()}, ${n}:${r}`}function kp(){const e=Oe(),t=H.useSelector(s=>s.status?.complaintSummary??null),n=t?.totalComplaints??0,r=t?.totalComplaints??0,a=Op(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 si({text:e="No data"}){return i.jsx("div",{className:"ca-empty-state",role:"status",children:e})}const oi="aira-query-complaintTypeId",Xr=["Open","Closed"],Mn=["Level 1","Level 2","Level 3"],ii={id:"status",label:"Status",key:"status"},li={id:"escalationTo",label:"Escalation To",key:"escalationTo"},Ip={id:"submittedByUserName",label:"Submitted By",key:"submittedByUserName"},xp={id:"updatedAt",label:"Updated At",key:"updatedAt"},Zt="desc",Yt="asc",ci=new Set(["status","escalationTo","id","submittedByUserName","updatedAt"]),Dp=["January","February","March","April","May","June","July","August","September","October","November","December"];function Pp(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()} ${Dp[t.getMonth()]} ${t.getFullYear()}, ${n}:${r}`}function di(e){if(!e)return 0;const t=new Date(e).getTime();return Number.isNaN(t)?0:t}function Mp(e,t){return t!==Zt&&t!==Yt?e:[...e].sort((n,r)=>{const a=di(n.updatedAtValue),s=di(r.updatedAtValue);return a===s?0:t===Yt?a-s:s-a})}function Bp(e){return e===Zt?Yt:Zt}function $p(e){return[Ip,xp,...e,ii,li]}function ui(e){return e==null||e===""?null:typeof e=="object"?e.data??e.id??e._id??null:e}function Up(){try{return sessionStorage.getItem(oi)}catch{return null}}function fi(e){const t=ui(e);if(t==null||t==="")return null;const n=String(t);try{sessionStorage.setItem(oi,n)}catch{}return n}function jp(...e){for(const t of e){const n=ui(t);if(n!=null&&n!=="")return String(n)}return null}function Vp(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 qp(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 pi(e){return e===!0||e==="Yes"||e==="true"||e===1||e==="1"}function hi(e){const t=String(e||"").trim().toLowerCase();return t==="resolved"||t==="closed"}function Wp(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 Hp(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 zp(e,t=[],n=[]){const r=Wp(e,n),a={id:e?.complaintId??e?.id,status:Vp(e,t),statusId:qp(e,t),escalationTo:Hp(e,n),currentStepId:r?.id??e?.currentStepId??e?.workflowStepId??e?.currentWorkflowStepId??null,canResolve:pi(e?.canResolve??r?.canResolve),isFinalLevel:pi(e?.isFinalLevel??r?.isFinalLevel??r?.finalLevel),submittedByUserName:e?.submittedByUserName||"-",updatedAt:Pp(e?.updatedAt)||"-",updatedAtValue:e?.updatedAt??""};return(e?.formField||[]).forEach(s=>{const o=s.fieldKey||s.fieldName;!o||ci.has(o)||(a[o]=s.value)}),a}function Bn(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 mi({value:e,options:t,fallbackOptions:n,ariaLabel:r,selectKey:a,onChange:s}){const l=(t.length?t:n.map(h=>({value:h,label:h}))).map(h=>h&&typeof h=="object"?{value:String(h.value??h.id??""),label:h.label??h.name??String(h.value??h.id??""),disabled:!!h.disabled}:{value:String(h),label:String(h),disabled:!1}).filter(h=>h.value||h.label),c=e!=null&&e!==""&&e!=="-"?String(e):"",d=l.map(h=>h.value),u=c&&!d.includes(c)?[{value:c,label:c,disabled:!1},...l]:l,f=u.some(h=>h.value===c)?c:u[0]?.value??"";return i.jsx("select",{className:"ca-complaint-table__select","aria-label":r,value:f,onChange:h=>s?.(h.target.value),children:u.map(h=>i.jsx("option",{value:h.value,disabled:h.disabled,children:h.label},h.value))},a)}function Kp(e,t){return e.map(n=>{const r=hi(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 Jp(e,t){const n=[...e].sort((o,l)=>(o.levelNo??0)-(l.levelNo??0)),r=n.find(o=>String(o.id)===String(t.currentStepId))??n.find(o=>`Level ${o.levelNo}`===t.escalationTo),a=r?.levelNo,s=a!=null?a+1:null;return n.map(o=>{const l=r!=null&&String(o.id)===String(r.id),c=s!=null&&o.levelNo===s,d=r==null&&o.levelNo===n[0]?.levelNo;let u=!0;return(l||!t.isFinalLevel&&(c||d))&&(u=!1),{value:o.id,label:o.levelNo!=null?`Level ${o.levelNo}`:String(o.name||o.id),disabled:u}}).filter(o=>o.label)}function gi(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 yi(e,t,n=Xr,r=Mn,a={}){const s=t[e.key]??"-",o=a.statusOptions??n,l=a.escalationOptions??r;return e.key==="status"?i.jsx(mi,{value:gi(o,t.statusId)?t.statusId:s,options:o,fallbackOptions:Xr,ariaLabel:"Status",selectKey:`status-${t.id}`,onChange:a.onStatusChange}):e.key==="escalationTo"?i.jsx(mi,{value:gi(l,t.currentStepId)?t.currentStepId:s,options:l,fallbackOptions:Mn,ariaLabel:"Escalation to",selectKey:`escalation-${t.id}`,onChange:a.onEscalationChange}):s}function Zp(){const{fieldLabel:e}=We(),t=H.useDispatch(),{complaintTypeId:n}=Xt(),[r]=Ca(),a=H.useSelector(S=>S.appDetails?.id),s=jp(n,r.get("complaintTypeId"),a,Up()),{list:o=[],isLoading:l=!1,error:c=null,hasLoaded:d=!1,requestedComplaintTypeId:u=null}=H.useSelector(S=>S.complaintManagement??{}),f=H.useSelector(S=>S.status?.list??[]),h=H.useSelector(S=>S.changeStatus?.error??null),w=H.useSelector(S=>S.changeStatus?.updatingId??null),N=_.useMemo(()=>f.map(S=>S.name).filter(Boolean),[f]),C=H.useSelector(S=>S.workflow?.workflowSteps),y=_.useMemo(()=>Array.isArray(C)?C:[],[C]),g=Oe(),[p,v]=_.useState({complaintTypeId:null,status:"all"}),[b,L]=_.useState({complaintTypeId:null,direction:Zt}),O=String(p.complaintTypeId)===String(s)?p.status:"all",x=String(b.complaintTypeId)===String(s)?b.direction:Zt;_.useEffect(()=>{!s||n||(fi(s),g(`/complaintmanagement/${s}`,{replace:!0}))},[s,g,n]),_.useEffect(()=>{if(!s||!n)return;fi(s),t(Ve(s)),t(Bs()),t(Vs()),t(Yu());const S=t(Bt({complaintTypeId:s,page:1,limit:10})),U=t(Sn(s)),q=t(vn(s)),Q=t(qe(s));return()=>{S.abort?.(),U.abort?.(),q.abort?.(),Q.abort?.()}},[s,t,n]);const $=_.useMemo(()=>u!=null&&s!=null&&String(u)!==String(s)?[]:o.map(S=>({...zp(S,f,Array.isArray(C)?C:[]),_fields:S?.formField||[]})),[s,o,u,f,C]),E=_.useMemo(()=>{const S=new Set,U=[];return $.forEach(q=>{(q._fields||[]).forEach(Q=>{const W=Q.fieldKey||Q.fieldName;!W||ci.has(W)||S.has(W)||(S.add(W),U.push({id:W,label:Q.fieldName||W,key:W}))})}),U},[$]),M=$p(E),P=_.useMemo(()=>Mp($,x),[$,x]).map(({_fields:S,...U})=>U),j=M.filter(S=>S.key!=="status"&&S.key!=="escalationTo"),D=[ii,li],k=!!(s&&!c&&!P.length&&(l||!d)),V=S=>{v({complaintTypeId:s,status:S}),s&&t(Bt({complaintTypeId:s,page:1,limit:10,status:S==="all"?void 0:S}))},J=()=>{L({complaintTypeId:s,direction:Bp(x)})},Z=()=>{s&&g(`/complaintmanagement/new/${s}`)},G=(S,U)=>{if(S?.id==null||w!=null&&String(w)===String(S.id)||String(U)===String(S.statusId)||String(U)===String(S.status))return;const q=f.find(W=>String(W.id)===String(U)||String(W.name)===String(U));if(q?.id==null)return;const Q=hi(q.name);Q&&!S.canResolve||S.isFinalLevel&&!Q||t(ot({id:S.id,statusId:q.id,currentStepId:S.currentStepId,status:q.name}))},ee=(S,U)=>{if(S?.id==null||w!=null&&String(w)===String(S.id)||String(U)===String(S.currentStepId)||String(U)===String(S.escalationTo)||S.isFinalLevel)return;const q=y.find(X=>String(X.id)===String(U)||`Level ${X.levelNo}`===String(U));if(q?.id==null)return;const Q=y.find(X=>String(X.id)===String(S.currentStepId))??y.find(X=>`Level ${X.levelNo}`===S.escalationTo),W=[...y].sort((X,Ce)=>(X.levelNo??0)-(Ce.levelNo??0));Q&&q.levelNo!==Q.levelNo+1||!Q&&q.levelNo!==W[0]?.levelNo||t(ot({id:S.id,statusId:S.statusId,currentStepId:q.id,status:S.status,level:q.levelNo}))},A=S=>({statusOptions:Kp(f,S),escalationOptions:Jp(y,S),onStatusChange:U=>G(S,U),onEscalationChange:U=>ee(S,U)});return i.jsxs("section",{className:"ca-complaint-table","aria-label":"Complaint records",children:[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(uf,{size:14,"aria-hidden":"true"}),i.jsx("span",{className:"ca-complaint-table__sr-only",children:"Filter by status"}),i.jsxs("select",{value:O,"aria-label":"Filter by status",onChange:S=>V(S.target.value),children:[i.jsx("option",{value:"all",children:"Select Status"}),(N.length?N:Xr).map(S=>i.jsx("option",{value:S,children:S},S))]})]}),i.jsx("button",{type:"button",className:`ca-complaint-table__sort${x===Yt?" ca-complaint-table__sort--reversed":""}`,"aria-label":x===Yt?"Sort by newest updated at date":"Sort by oldest updated at date",title:"Sort by Updated At",onClick:J,children:i.jsx(of,{className:"ca-complaint-table__sort-icon",size:14,"aria-hidden":"true"})})]}),i.jsxs("div",{className:"ca-complaint-table__actions",children:[i.jsx(de,{variant:"outline",onClick:()=>Z(),size:"sm",startIcon:i.jsx(ro,{size:14}),children:"New Complaint"}),i.jsx(de,{variant:"outline",size:"sm",startIcon:i.jsx(lf,{size:14}),children:"Download Report"})]})]}),c?i.jsx("p",{className:"ca-body",children:c}):null,h?i.jsx("div",{className:"ca-validation-toast",role:"alert",children:h}):null,k?i.jsx(lt,{text:"Loading complaints"}):i.jsx("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:"#"}),j.map(S=>i.jsx("th",{scope:"col",className:Bn(S.key,!0),children:e(S)},S.id)),i.jsx("th",{className:"ca-complaint-table__spacer","aria-hidden":"true"}),D.map(S=>i.jsx("th",{scope:"col",className:Bn(S.key,!0),children:e(S)},S.id))]})}),i.jsx("tbody",{children:P.length?P.map((S,U)=>i.jsxs("tr",{children:[i.jsx("td",{children:U+1}),j.map(q=>i.jsx("td",{className:Bn(q.key),children:yi(q,S,N,Mn,A(S))},`${S.id??U}-${q.id}`)),i.jsx("td",{className:"ca-complaint-table__spacer","aria-hidden":"true"}),D.map(q=>i.jsx("td",{className:Bn(q.key),children:yi(q,S,N,Mn,A(S))},`${S.id??U}-${q.id}`))]},S.id??U)):i.jsx("tr",{className:"ca-complaint-table__empty-row",children:i.jsx("td",{className:"ca-complaint-table__empty",colSpan:1+j.length+1+D.length,children:i.jsx(si,{text:"No Complaint"})})})})]})})]})}const $n=()=>i.jsxs("main",{className:"ca-query-management-page",children:[i.jsx(kp,{}),i.jsx(Zp,{})]}),Yp=37,Gp={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 Xp(e){return typeof e=="string"?e:e?.label??""}function Qp(e=[]){return[...e].sort((n,r)=>(n.displayOrder??0)-(r.displayOrder??0)).map(n=>{const r=n.fieldName??n.fieldLabel??n.label??"",a=n.fieldKey??String(n.id);return{id:n.id,label:r,fieldKey:Y({fieldKey:a,label:r})?"status":a,fieldType:Wr(n.fieldType,Gp,n.fieldKey),required:!!n.required,options:(n?.options?.values??[]).map(Xp).filter(Boolean)}})}function Rp(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 eh(e){if(Y(e))return"status";const t=String(e.fieldKey||"").trim();return t&&!/\s/.test(t)?t:Rp(e.label||t)}function oe(e){return String(e.fieldKey||e.id||e.label)}function Un(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 bi(e){return`new-query-${e.id??oe(e)}`}function Si(e){if(Y(e))return(e.options||[]).find(r=>String(r).trim().toLowerCase()==="open")||"Open";const t=Un(e);return t==="checkbox"||t==="images"?[]:""}function th(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 vi(e){return Array.isArray(e)?e.length===0:typeof File<"u"&&e instanceof File?!1:e==null||String(e).trim()===""}function nh(e){return/^\d+$/.test(String(e).trim())}function rh(e=[],t={}){for(const n of e){const r=Un(n),a=t[oe(n)],s=n.label||"This field";if(n.required&&vi(a))return`${s} is required.`;if(!vi(a)&&r==="number"&&!nh(a))return`${s} must be a valid number.`}return""}function ah(e=[],t={}){const n={};return e.forEach(r=>{const a=eh(r);a&&(n[a]=th(t[oe(r)]))}),n}function sh(e=[],t={},n={}){const r=e.find(s=>{const o=String(s.label||"").trim().toLowerCase(),l=String(s.fieldKey||"").trim().toLowerCase();return o==="title"||l==="title"});if(r){const s=t[oe(r)];if(s)return String(s)}if(t.title)return String(t.title);const a=n.complaintCategory||n.status||n["Complaint Category"]||n.Status;return a?String(a):"Untitled Query"}function oh({field:e,value:t,onChange:n,storeList:r}){const{fieldLabel:a}=We(),s=Un(e),o=bi(e),l=Y(e);if(Ie(e)&&Array.isArray(r))return i.jsx(Yo,{id:o,name:oe(e),required:e.required,storeList:r,value:t,onChange:n});if(s==="radio")return i.jsx("div",{className:"review-options review-options--inline",children:e.options.map(c=>i.jsxs("label",{className:"review-option",htmlFor:`${o}-${c}`,children:[i.jsx("input",{id:`${o}-${c}`,name:oe(e),type:"radio",value:c,checked:t===c,onChange:d=>n(d.target.value),required:e.required,disabled:l}),i.jsx("span",{children:c})]},c))});if(s==="checkbox"){const c=Array.isArray(t)?t:[];return i.jsx("div",{className:"review-options review-options--inline",children:e.options.map(d=>i.jsxs("label",{className:"review-option",htmlFor:`${o}-${d}`,children:[i.jsx("input",{id:`${o}-${d}`,name:`${oe(e)}[]`,type:"checkbox",value:d,checked:c.includes(d),onChange:u=>n(u.target.checked?[...c,d]:c.filter(f=>f!==d))}),i.jsx("span",{children:d})]},d))})}if(s==="textarea")return i.jsx("textarea",{id:o,name:oe(e),className:"review-control review-control--textarea",value:t,onChange:c=>n(c.target.value),required:e.required,disabled:l});if(s==="file")return i.jsx("input",{id:o,name:oe(e),className:"review-control",type:"file",onChange:c=>n(c.target.files?.[0]||""),required:e.required,disabled:l});if(s==="images")return i.jsx("input",{id:o,name:oe(e),className:"review-control",type:"file",accept:"image/*",multiple:!0,onChange:c=>n(Array.from(c.target.files||[])),required:e.required,disabled:l});if(s==="number")return i.jsx("input",{id:o,name:oe(e),className:"review-control",type:"number",inputMode:"numeric",value:t,onChange:c=>n(String(c.target.value).replace(/[^\d]/g,"")),onKeyDown:c=>{(c.key==="e"||c.key==="E"||c.key==="+"||c.key==="-"||c.key===".")&&c.preventDefault()},required:e.required,disabled:l});if(s==="select"){const c=(e.options||[]).includes(t)||!l||!t?e.options:[t,...e.options];return i.jsxs("select",{id:o,name:oe(e),className:"review-control",value:t,onChange:d=>n(d.target.value),required:e.required,disabled:l,children:[l?null:i.jsxs("option",{value:"",children:["Select ",a(e)]}),c.map(d=>i.jsx("option",{value:d,children:d},d))]})}return i.jsx("input",{id:o,name:oe(e),className:"review-control",type:s,value:t,onChange:c=>n(c.target.value),required:e.required,disabled:l})}function wi({storeList:e}={}){const{fieldLabel:t}=We(),n=H.useDispatch(),r=Oe(),{complaintTypeId:a}=Xt(),s=Number(a)||Yp,[o,l]=_.useState([]),[c,d]=_.useState({}),[u,f]=_.useState(!0),[h,w]=_.useState(!1),[N,C]=_.useState(""),[y,g]=_.useState("");_.useEffect(()=>{let b=!1;return n(Ee(s)).unwrap().then(L=>{if(b)return;const O=Qp(Array.isArray(L?.data)?L.data:L);l(O),d(Object.fromEntries(O.map(x=>[oe(x),Si(x)])))}).catch(L=>{b||C(L?.message||"Failed to load form fields.")}).finally(()=>{b||f(!1)}),()=>{b=!0}},[s,n]);const p=_.useMemo(()=>o.length>0,[o]),v=async b=>{b.preventDefault(),C(""),g(""),w(!0);const L=rh(o,c);if(L){C(L),w(!1);return}const O=ah(o,c),x={complaintTypeId:s,title:sh(o,c,O),fieldValues:O};console.log("Submitting query with values:",x);try{await n(Cn(x)).unwrap(),g("Query submitted successfully."),r(`/complaintmanagement/${s}`)}catch($){C($?.message||"Failed to submit query.")}finally{w(!1)}};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"})]})}),N?i.jsx("div",{className:"ca-validation-toast",role:"alert",children:N}):null,u?i.jsx(lt,{text:"Loading form fields"}):null,!u&&p?i.jsxs("form",{className:"review-form-card",onSubmit:v,children:[i.jsx("div",{className:"review-form-grid",children:o.map(b=>i.jsxs("div",{className:`review-question${["textarea","radio","checkbox"].includes(Un(b))?" review-question--wide":""}`,children:[i.jsxs("label",{className:"review-label",htmlFor:bi(b),children:[t(b)||"Untitled field",b.required?i.jsx("span",{className:"review-required",children:"*"}):null]}),i.jsx(oh,{storeList:e,field:b,value:c[oe(b)]??Si(b),onChange:L=>{Y(b)||d(O=>({...O,[oe(b)]:L}))}})]},b.id??oe(b)))}),i.jsx("div",{className:"ca-new-query__actions",children:i.jsx(de,{type:"submit",disabled:h,children:h?"Submitting...":"Submit Complaint"})}),y?i.jsx("p",{className:"ca-body",children:y}):null]}):null]})})}function ih({pageProps:e={},onPublish:t,onStepChange:n,children:r}){const a=r??i.jsx(mo,{...e});return i.jsxs(Sl,{children:[i.jsx(be,{path:"/",element:a}),i.jsx(be,{path:"/settings/:systemId",element:i.jsx(ai,{onPublish:t,onStepChange:n,company:e.company,roleList:e.roleList,storeList:e.storeList})}),i.jsx(be,{path:"complaintmanagement",element:i.jsx($n,{company:e.company})}),i.jsx(be,{path:"complaintmanagement/new/:complaintTypeId",element:i.jsx(wi,{company:e.company,storeList:e.storeList})}),i.jsx(be,{path:"complaintmanagement/:complaintTypeId",element:i.jsx($n,{company:e.company})}),i.jsx(be,{path:"querymanagement",element:i.jsx($n,{company:e.company})}),i.jsx(be,{path:"querymanagement/new/:complaintTypeId",element:i.jsx(wi,{company:e.company,storeList:e.storeList})}),i.jsx(be,{path:"querymanagement/:complaintTypeId",element:i.jsx($n,{company:e.company})}),i.jsx(be,{path:"*",element:a})]})}function lh({pageProps:e,onPublish:t=a=>console.log(a),onStepChange:n=a=>console.log(a),children:r}){return i.jsx(ih,{pageProps:e,onPublish:t,onStepChange:n,children:r})}function ch({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 dh({basePath:e,children:t}){return Ze()?t:i.jsx(Dl,{basename:e,children:t})}function uh({store:e,children:t}){return i.jsx(H.Provider,{store:e||Ks,children:t})}function fh({details:e,children:t}){const n=H.useDispatch();return _.useEffect(()=>{n(As(e))},[n,e]),t}const ph=[],Ci=({apiUrl:e,authToken:t,store:n,basePath:r="/",theme:a,darkMode:s=!1,title:o,description:l,rolelist:c,roleList:d=c??ph,storeList:u,company:f,useDemoData:h=!0,createLabel:w,onCreateForm:N,onConfigure:C,onOpen:y,onTitleClick:g,onDescriptionClick:p,onSearch:v,onPublish:b,onSaveDraft:L,showSaveButton:O,showNextButton:x,onStepChange:$,children:E})=>{const M={title:o,description:l,useDemoData:h,createLabel:w,onCreateForm:N,onConfigure:C,onOpen:y,roleList:d,storeList:u,company:f,onTitleClick:g,onDescriptionClick:p,onSearch:v,onSaveDraft:L,showSaveButton:O,showNextButton:x},B=_.useMemo(()=>({apiUrl:e,authToken:t,basePath:r,theme:a,darkMode:s,title:o,description:l,roleList:d,storeList:u,company:f,useDemoData:h,createLabel:w,onCreateForm:N,onConfigure:C,onOpen:y,onTitleClick:g,onDescriptionClick:p,onSearch:v,onPublish:b,onSaveDraft:L,showSaveButton:O,showNextButton:x,onStepChange:$}),[e,t,r,a,s,o,l,d,u,f,h,w,N,C,y,g,p,v,b,L,O,x,$]);return i.jsx(ko.Provider,{value:f,children:i.jsx(vs,{theme:a,darkMode:s,children:i.jsx(uh,{store:n,children:i.jsx(fh,{details:B,children:i.jsx(ch,{children:i.jsx(hs,{apiUrl:e,authToken:t,children:i.jsx(dh,{basePath:r,children:i.jsx(lh,{pageProps:M,onPublish:b,onStepChange:$,children:E})})})})})})})})};function hh({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 mh({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 gh=_e.colors,yh=_e.radii,bh=_e.spacing,Sh=_e.typography;T.AddFormButton=Oo,T.AddTableCard=Eo,T.ApiProvider=hs,T.BodyText=Nn,T.Button=de,T.COMPLAINT_ENDPOINTS=mn,T.CardFooter=oo,T.CardHeader=so,T.ChevronDownIcon=kr,T.ChevronRightIcon=Fr,T.Chip=hh,T.CloseIcon=Co,T.ComplaintApp=Ci,T.ComplaintManagementPage=mo,T.ComplaintSettingsPage=ai,T.DEFAULT_PAGE_DESCRIPTION=ho,T.DEMO_SYSTEMS=Sf,T.DataPoint=io,T.Divider=lo,T.DragHandleIcon=xo,T.EmptyState=si,T.FieldLabel=Or,T.FormCard=jo,T.FormCardGrid=Vo,T.FormField=Te,T.FormInput=jt,T.FormSelect=Dr,T.FormTextarea=wf,T.Heading1=Tr,T.Heading2=Lr,T.Input=it,T.LabelText=Ys,T.LayersIcon=So,T.LinkText=Ru,T.Loading=lt,T.PageHeader=Xs,T.PlusIcon=Js,T.Radio=mh,T.RoleMultiSelect=Pr,T.SETTINGS_STEPS=Se,T.SearchBar=po,T.SearchIcon=fo,T.Select=ve,T.SettingsCard=Ut,T.SettingsCardHeader=vo,T.SettingsWizardProvider=bo,T.StatusBadge=Qs,T.Stepper=Vt,T.SystemCard=co,T.SystemCardGrid=uo,T.TableCard=To,T.TableCardGrid=Ao,T.Tag=No,T.Textarea=wo,T.ThemeProvider=vs,T.Toggle=En,T.ToggleField=Zo,T.TrashIcon=Tn,T.Typography=ke,T.ValueText=Gs,T.WORKFLOW_SUBSTEPS=vf,T.api=re,T.appDetailsReducer=Fs,T.clearAppDetails=gu,T.clearComplaintError=lu,T.clearId=yu,T.clearSelectedComplaintResource=cu,T.colors=gh,T.complaintReducer=_s,T.createComplaintStore=zs,T.darkTheme=At,T.deepMerge=nt,T.default=Ci,T.defaultThemeFile=ms,T.deleteFormField=rt,T.getFormFields=Ee,T.lightTheme=_e,T.normalizeThemeFile=gs,T.radii=yh,T.resetComplaintState=du,T.resolveActiveTheme=ys,T.saveFormFields=Ft,T.setAppDetails=As,T.setAuthToken=yr,T.setBaseUrl=ps,T.setId=Ve,T.setIsEdit=Mt,T.spacing=bh,T.store=Ks,T.themeToCssVars=bs,T.typography=Sh,T.useSettingsWizard=Ln,T.useTheme=ws,Object.defineProperties(T,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
12
12
  //# sourceMappingURL=complaint-app.umd.js.map