@attabot/complaint-app 1.0.52 → 1.0.53

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,13 +1,13 @@
1
- (function(D,a){typeof exports=="object"&&typeof module<"u"?a(exports,require("react/jsx-runtime"),require("react"),require("react-dom"),require("react-redux"),require("@reduxjs/toolkit")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","react","react-dom","react-redux","@reduxjs/toolkit"],a):(D=typeof globalThis<"u"?globalThis:D||self,a(D.ComplaintApp={},D["react/jsx-runtime"],D.React,D.ReactDOM,D.ReactRedux,D.RTK))})(this,(function(D,a,m,Xr,X,le){"use strict";var Yr=typeof document<"u"?document.currentScript:null;function Ld(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const H=Ld(m);function fn(){return fn=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},fn.apply(null,arguments)}var pt;(function(e){e.Pop="POP",e.Push="PUSH",e.Replace="REPLACE"})(pt||(pt={}));const js="popstate";function Id(e){e===void 0&&(e={});function t(r,s){let{pathname:o,search:l,hash:i}=r.location;return Gr("",{pathname:o,search:l,hash:i},s.state&&s.state.usr||null,s.state&&s.state.key||"default")}function n(r,s){return typeof s=="string"?s:pn(s)}return kd(t,n,null,e)}function de(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}function $e(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function Fd(){return Math.random().toString(36).substr(2,8)}function Vs(e,t){return{usr:e.state,key:e.key,idx:t}}function Gr(e,t,n,r){return n===void 0&&(n=null),fn({pathname:typeof e=="string"?e:e.pathname,search:"",hash:""},typeof t=="string"?Mt(t):t,{state:n,key:t&&t.key||r||Fd()})}function pn(e){let{pathname:t="/",search:n="",hash:r=""}=e;return n&&n!=="?"&&(t+=n.charAt(0)==="?"?n:"?"+n),r&&r!=="#"&&(t+=r.charAt(0)==="#"?r:"#"+r),t}function Mt(e){let t={};if(e){let n=e.indexOf("#");n>=0&&(t.hash=e.substr(n),e=e.substr(0,n));let r=e.indexOf("?");r>=0&&(t.search=e.substr(r),e=e.substr(0,r)),e&&(t.pathname=e)}return t}function kd(e,t,n,r){r===void 0&&(r={});let{window:s=document.defaultView,v5Compat:o=!1}=r,l=s.history,i=pt.Pop,c=null,d=f();d==null&&(d=0,l.replaceState(fn({},l.state,{idx:d}),""));function f(){return(l.state||{idx:null}).idx}function u(){i=pt.Pop;let g=f(),h=g==null?null:g-d;d=g,c&&c({action:i,location:y.location,delta:h})}function p(g,h){i=pt.Push;let b=Gr(y.location,g,h);d=f()+1;let _=Vs(b,d),N=y.createHref(b);try{l.pushState(_,"",N)}catch(O){if(O instanceof DOMException&&O.name==="DataCloneError")throw O;s.location.assign(N)}o&&c&&c({action:i,location:y.location,delta:1})}function S(g,h){i=pt.Replace;let b=Gr(y.location,g,h);d=f();let _=Vs(b,d),N=y.createHref(b);l.replaceState(_,"",N),o&&c&&c({action:i,location:y.location,delta:0})}function A(g){let h=s.location.origin!=="null"?s.location.origin:s.location.href,b=typeof g=="string"?g:pn(g);return b=b.replace(/ $/,"%20"),de(h,"No window.location.(origin|href) available to create URL for href: "+b),new URL(b,h)}let y={get action(){return i},get location(){return e(s,l)},listen(g){if(c)throw new Error("A history only accepts one active listener");return s.addEventListener(js,u),c=g,()=>{s.removeEventListener(js,u),c=null}},createHref(g){return t(s,g)},createURL:A,encodeLocation(g){let h=A(g);return{pathname:h.pathname,search:h.search,hash:h.hash}},push:p,replace:S,go(g){return l.go(g)}};return y}var Ws;(function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"})(Ws||(Ws={}));function Od(e,t,n){return n===void 0&&(n="/"),Dd(e,t,n)}function Dd(e,t,n,r){let s=typeof t=="string"?Mt(t):t,o=ht(s.pathname||"/",n);if(o==null)return null;let l=qs(e);Md(l);let i=null,c=zd(o);for(let d=0;i==null&&d<l.length;++d)i=qd(l[d],c);return i}function qs(e,t,n,r){t===void 0&&(t=[]),n===void 0&&(n=[]),r===void 0&&(r="");let s=(o,l,i)=>{let c={relativePath:i===void 0?o.path||"":i,caseSensitive:o.caseSensitive===!0,childrenIndex:l,route:o};c.relativePath.startsWith("/")&&(de(c.relativePath.startsWith(r),'Absolute route path "'+c.relativePath+'" nested under path '+('"'+r+'" is not valid. An absolute child route path ')+"must start with the combined path of all its parent routes."),c.relativePath=c.relativePath.slice(r.length));let d=at([r,c.relativePath]),f=n.concat(c);o.children&&o.children.length>0&&(de(o.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+d+'".')),qs(o.children,t,f,d)),!(o.path==null&&!o.index)&&t.push({path:d,score:Vd(d,o.index),routesMeta:f})};return e.forEach((o,l)=>{var i;if(o.path===""||!((i=o.path)!=null&&i.includes("?")))s(o,l);else for(let c of Hs(o.path))s(o,l,c)}),t}function Hs(e){let t=e.split("/");if(t.length===0)return[];let[n,...r]=t,s=n.endsWith("?"),o=n.replace(/\?$/,"");if(r.length===0)return s?[o,""]:[o];let l=Hs(r.join("/")),i=[];return i.push(...l.map(c=>c===""?o:[o,c].join("/"))),s&&i.push(...l),i.map(c=>e.startsWith("/")&&c===""?"/":c)}function Md(e){e.sort((t,n)=>t.score!==n.score?n.score-t.score:Wd(t.routesMeta.map(r=>r.childrenIndex),n.routesMeta.map(r=>r.childrenIndex)))}const xd=/^:[\w-]+$/,Pd=3,Bd=2,Ud=1,$d=10,jd=-2,zs=e=>e==="*";function Vd(e,t){let n=e.split("/"),r=n.length;return n.some(zs)&&(r+=jd),t&&(r+=Bd),n.filter(s=>!zs(s)).reduce((s,o)=>s+(xd.test(o)?Pd:o===""?Ud:$d),r)}function Wd(e,t){return e.length===t.length&&e.slice(0,-1).every((r,s)=>r===t[s])?e[e.length-1]-t[t.length-1]:0}function qd(e,t,n){let{routesMeta:r}=e,s={},o="/",l=[];for(let i=0;i<r.length;++i){let c=r[i],d=i===r.length-1,f=o==="/"?t:t.slice(o.length)||"/",u=Jr({path:c.relativePath,caseSensitive:c.caseSensitive,end:d},f),p=c.route;if(!u)return null;Object.assign(s,u.params),l.push({params:s,pathname:at([o,u.pathname]),pathnameBase:Gd(at([o,u.pathnameBase])),route:p}),u.pathnameBase!=="/"&&(o=at([o,u.pathnameBase]))}return l}function Jr(e,t){typeof e=="string"&&(e={path:e,caseSensitive:!1,end:!0});let[n,r]=Hd(e.path,e.caseSensitive,e.end),s=t.match(n);if(!s)return null;let o=s[0],l=o.replace(/(.)\/+$/,"$1"),i=s.slice(1);return{params:r.reduce((d,f,u)=>{let{paramName:p,isOptional:S}=f;if(p==="*"){let y=i[u]||"";l=o.slice(0,o.length-y.length).replace(/(.)\/+$/,"$1")}const A=i[u];return S&&!A?d[p]=void 0:d[p]=(A||"").replace(/%2F/g,"/"),d},{}),pathname:o,pathnameBase:l,pattern:e}}function Hd(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!0),$e(e==="*"||!e.endsWith("*")||e.endsWith("/*"),'Route path "'+e+'" will be treated as if it were '+('"'+e.replace(/\*$/,"/*")+'" because the `*` character must ')+"always follow a `/` in the pattern. To get rid of this warning, "+('please change the route path to "'+e.replace(/\*$/,"/*")+'".'));let r=[],s="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(l,i,c)=>(r.push({paramName:i,isOptional:c!=null}),c?"/?([^\\/]+)?":"/([^\\/]+)"));return e.endsWith("*")?(r.push({paramName:"*"}),s+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?s+="\\/*$":e!==""&&e!=="/"&&(s+="(?:(?=\\/|$))"),[new RegExp(s,t?void 0:"i"),r]}function zd(e){try{return e.split("/").map(t=>decodeURIComponent(t).replace(/\//g,"%2F")).join("/")}catch(t){return $e(!1,'The URL path "'+e+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent '+("encoding ("+t+").")),e}}function ht(e,t){if(t==="/")return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith("/")?t.length-1:t.length,r=e.charAt(n);return r&&r!=="/"?null:e.slice(n)||"/"}const Kd=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Qd=e=>Kd.test(e);function Xd(e,t){t===void 0&&(t="/");let{pathname:n,search:r="",hash:s=""}=typeof e=="string"?Mt(e):e,o;if(n)if(Qd(n))o=n;else{if(n.includes("//")){let l=n;n=Ys(n),$e(!1,"Pathnames cannot have embedded double slashes - normalizing "+(l+" -> "+n))}n.startsWith("/")?o=Ks(n.substring(1),"/"):o=Ks(n,t)}else o=t;return{pathname:o,search:Jd(r),hash:Zd(s)}}function Ks(e,t){let n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(s=>{s===".."?n.length>1&&n.pop():s!=="."&&n.push(s)}),n.length>1?n.join("/"):"/"}function Zr(e,t,n,r){return"Cannot include a '"+e+"' character in a manually specified "+("`to."+t+"` field ["+JSON.stringify(r)+"]. Please separate it out to the ")+("`to."+n+"` field. Alternatively you may provide the full path as ")+'a string in <Link to="..."> and the router will parse it for you.'}function Yd(e){return e.filter((t,n)=>n===0||t.route.path&&t.route.path.length>0)}function Qs(e,t){let n=Yd(e);return t?n.map((r,s)=>s===n.length-1?r.pathname:r.pathnameBase):n.map(r=>r.pathnameBase)}function Xs(e,t,n,r){r===void 0&&(r=!1);let s;typeof e=="string"?s=Mt(e):(s=fn({},e),de(!s.pathname||!s.pathname.includes("?"),Zr("?","pathname","search",s)),de(!s.pathname||!s.pathname.includes("#"),Zr("#","pathname","hash",s)),de(!s.search||!s.search.includes("#"),Zr("#","search","hash",s)));let o=e===""||s.pathname==="",l=o?"/":s.pathname,i;if(l==null)i=n;else{let u=t.length-1;if(!r&&l.startsWith("..")){let p=l.split("/");for(;p[0]==="..";)p.shift(),u-=1;s.pathname=p.join("/")}i=u>=0?t[u]:"/"}let c=Xd(s,i),d=l&&l!=="/"&&l.endsWith("/"),f=(o||l===".")&&n.endsWith("/");return!c.pathname.endsWith("/")&&(d||f)&&(c.pathname+="/"),c}const Ys=e=>e.replace(/\/\/+/g,"/"),at=e=>Ys(e.join("/")),Gd=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),Jd=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,Zd=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e;function Rd(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}const Gs=["post","put","patch","delete"];new Set(Gs);const eu=["get",...Gs];new Set(eu);function hn(){return hn=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},hn.apply(null,arguments)}const mn=H.createContext(null);process.env.NODE_ENV!=="production"&&(mn.displayName="DataRouter");const Rr=H.createContext(null);process.env.NODE_ENV!=="production"&&(Rr.displayName="DataRouterState");const tu=H.createContext(null);process.env.NODE_ENV!=="production"&&(tu.displayName="Await");const ze=H.createContext(null);process.env.NODE_ENV!=="production"&&(ze.displayName="Navigation");const gn=H.createContext(null);process.env.NODE_ENV!=="production"&&(gn.displayName="Location");const Ye=H.createContext({outlet:null,matches:[],isDataRoute:!1});process.env.NODE_ENV!=="production"&&(Ye.displayName="Route");const ea=H.createContext(null);process.env.NODE_ENV!=="production"&&(ea.displayName="RouteError");function nu(e,t){let{relative:n}=t===void 0?{}:t;xt()||(process.env.NODE_ENV!=="production"?de(!1,"useHref() may be used only in the context of a <Router> component."):de(!1));let{basename:r,navigator:s}=H.useContext(ze),{hash:o,pathname:l,search:i}=An(e,{relative:n}),c=l;return r!=="/"&&(c=l==="/"?r:at([r,l])),s.createHref({pathname:c,search:i,hash:o})}function xt(){return H.useContext(gn)!=null}function Ke(){return xt()||(process.env.NODE_ENV!=="production"?de(!1,"useLocation() may be used only in the context of a <Router> component."):de(!1)),H.useContext(gn).location}const Js="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function Zs(e){H.useContext(ze).static||H.useLayoutEffect(e)}function Ge(){let{isDataRoute:e}=H.useContext(Ye);return e?gu():ru()}function ru(){xt()||(process.env.NODE_ENV!=="production"?de(!1,"useNavigate() may be used only in the context of a <Router> component."):de(!1));let e=H.useContext(mn),{basename:t,future:n,navigator:r}=H.useContext(ze),{matches:s}=H.useContext(Ye),{pathname:o}=Ke(),l=JSON.stringify(Qs(s,n.v7_relativeSplatPath)),i=H.useRef(!1);return Zs(()=>{i.current=!0}),H.useCallback(function(d,f){if(f===void 0&&(f={}),process.env.NODE_ENV!=="production"&&$e(i.current,Js),!i.current)return;if(typeof d=="number"){r.go(d);return}let u=Xs(d,JSON.parse(l),o,f.relative==="path");e==null&&t!=="/"&&(u.pathname=u.pathname==="/"?t:at([t,u.pathname])),(f.replace?r.replace:r.push)(u,f.state,f)},[t,r,l,o,e])}function mt(){let{matches:e}=H.useContext(Ye),t=e[e.length-1];return t?t.params:{}}function An(e,t){let{relative:n}=t===void 0?{}:t,{future:r}=H.useContext(ze),{matches:s}=H.useContext(Ye),{pathname:o}=Ke(),l=JSON.stringify(Qs(s,r.v7_relativeSplatPath));return H.useMemo(()=>Xs(e,JSON.parse(l),o,n==="path"),[e,l,o,n])}function au(e,t){return su(e,t)}function su(e,t,n,r){xt()||(process.env.NODE_ENV!=="production"?de(!1,"useRoutes() may be used only in the context of a <Router> component."):de(!1));let{navigator:s}=H.useContext(ze),{matches:o}=H.useContext(Ye),l=o[o.length-1],i=l?l.params:{},c=l?l.pathname:"/",d=l?l.pathnameBase:"/",f=l&&l.route;if(process.env.NODE_ENV!=="production"){let b=f&&f.path||"";to(c,!f||b.endsWith("*"),"You rendered descendant <Routes> (or called `useRoutes()`) at "+('"'+c+'" (under <Route path="'+b+'">) but the ')+`parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render.
1
+ (function(O,a){typeof exports=="object"&&typeof module<"u"?a(exports,require("react/jsx-runtime"),require("react"),require("react-dom"),require("react-redux"),require("@reduxjs/toolkit")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","react","react-dom","react-redux","@reduxjs/toolkit"],a):(O=typeof globalThis<"u"?globalThis:O||self,a(O.ComplaintApp={},O["react/jsx-runtime"],O.React,O.ReactDOM,O.ReactRedux,O.RTK))})(this,(function(O,a,m,Yr,Y,ie){"use strict";var Gr=typeof document<"u"?document.currentScript:null;function Dd(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const j=Dd(m);function fn(){return fn=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},fn.apply(null,arguments)}var mt;(function(e){e.Pop="POP",e.Push="PUSH",e.Replace="REPLACE"})(mt||(mt={}));const zs="popstate";function Md(e){e===void 0&&(e={});function t(r,s){let{pathname:o,search:l,hash:i}=r.location;return Jr("",{pathname:o,search:l,hash:i},s.state&&s.state.usr||null,s.state&&s.state.key||"default")}function n(r,s){return typeof s=="string"?s:pn(s)}return Pd(t,n,null,e)}function ue(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}function Ue(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function xd(){return Math.random().toString(36).substr(2,8)}function Ks(e,t){return{usr:e.state,key:e.key,idx:t}}function Jr(e,t,n,r){return n===void 0&&(n=null),fn({pathname:typeof e=="string"?e:e.pathname,search:"",hash:""},typeof t=="string"?xt(t):t,{state:n,key:t&&t.key||r||xd()})}function pn(e){let{pathname:t="/",search:n="",hash:r=""}=e;return n&&n!=="?"&&(t+=n.charAt(0)==="?"?n:"?"+n),r&&r!=="#"&&(t+=r.charAt(0)==="#"?r:"#"+r),t}function xt(e){let t={};if(e){let n=e.indexOf("#");n>=0&&(t.hash=e.substr(n),e=e.substr(0,n));let r=e.indexOf("?");r>=0&&(t.search=e.substr(r),e=e.substr(0,r)),e&&(t.pathname=e)}return t}function Pd(e,t,n,r){r===void 0&&(r={});let{window:s=document.defaultView,v5Compat:o=!1}=r,l=s.history,i=mt.Pop,c=null,d=f();d==null&&(d=0,l.replaceState(fn({},l.state,{idx:d}),""));function f(){return(l.state||{idx:null}).idx}function u(){i=mt.Pop;let g=f(),h=g==null?null:g-d;d=g,c&&c({action:i,location:C.location,delta:h})}function p(g,h){i=mt.Push;let b=Jr(C.location,g,h);d=f()+1;let N=Ks(b,d),w=C.createHref(b);try{l.pushState(N,"",w)}catch(_){if(_ instanceof DOMException&&_.name==="DataCloneError")throw _;s.location.assign(w)}o&&c&&c({action:i,location:C.location,delta:1})}function v(g,h){i=mt.Replace;let b=Jr(C.location,g,h);d=f();let N=Ks(b,d),w=C.createHref(b);l.replaceState(N,"",w),o&&c&&c({action:i,location:C.location,delta:0})}function y(g){let h=s.location.origin!=="null"?s.location.origin:s.location.href,b=typeof g=="string"?g:pn(g);return b=b.replace(/ $/,"%20"),ue(h,"No window.location.(origin|href) available to create URL for href: "+b),new URL(b,h)}let C={get action(){return i},get location(){return e(s,l)},listen(g){if(c)throw new Error("A history only accepts one active listener");return s.addEventListener(zs,u),c=g,()=>{s.removeEventListener(zs,u),c=null}},createHref(g){return t(s,g)},createURL:y,encodeLocation(g){let h=y(g);return{pathname:h.pathname,search:h.search,hash:h.hash}},push:p,replace:v,go(g){return l.go(g)}};return C}var Qs;(function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"})(Qs||(Qs={}));function Bd(e,t,n){return n===void 0&&(n="/"),Ud(e,t,n)}function Ud(e,t,n,r){let s=typeof t=="string"?xt(t):t,o=gt(s.pathname||"/",n);if(o==null)return null;let l=Xs(e);$d(l);let i=null,c=Gd(o);for(let d=0;i==null&&d<l.length;++d)i=Xd(l[d],c);return i}function Xs(e,t,n,r){t===void 0&&(t=[]),n===void 0&&(n=[]),r===void 0&&(r="");let s=(o,l,i)=>{let c={relativePath:i===void 0?o.path||"":i,caseSensitive:o.caseSensitive===!0,childrenIndex:l,route:o};c.relativePath.startsWith("/")&&(ue(c.relativePath.startsWith(r),'Absolute route path "'+c.relativePath+'" nested under path '+('"'+r+'" is not valid. An absolute child route path ')+"must start with the combined path of all its parent routes."),c.relativePath=c.relativePath.slice(r.length));let d=ot([r,c.relativePath]),f=n.concat(c);o.children&&o.children.length>0&&(ue(o.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+d+'".')),Xs(o.children,t,f,d)),!(o.path==null&&!o.index)&&t.push({path:d,score:Kd(d,o.index),routesMeta:f})};return e.forEach((o,l)=>{var i;if(o.path===""||!((i=o.path)!=null&&i.includes("?")))s(o,l);else for(let c of Ys(o.path))s(o,l,c)}),t}function Ys(e){let t=e.split("/");if(t.length===0)return[];let[n,...r]=t,s=n.endsWith("?"),o=n.replace(/\?$/,"");if(r.length===0)return s?[o,""]:[o];let l=Ys(r.join("/")),i=[];return i.push(...l.map(c=>c===""?o:[o,c].join("/"))),s&&i.push(...l),i.map(c=>e.startsWith("/")&&c===""?"/":c)}function $d(e){e.sort((t,n)=>t.score!==n.score?n.score-t.score:Qd(t.routesMeta.map(r=>r.childrenIndex),n.routesMeta.map(r=>r.childrenIndex)))}const jd=/^:[\w-]+$/,Vd=3,Wd=2,qd=1,Hd=10,zd=-2,Gs=e=>e==="*";function Kd(e,t){let n=e.split("/"),r=n.length;return n.some(Gs)&&(r+=zd),t&&(r+=Wd),n.filter(s=>!Gs(s)).reduce((s,o)=>s+(jd.test(o)?Vd:o===""?qd:Hd),r)}function Qd(e,t){return e.length===t.length&&e.slice(0,-1).every((r,s)=>r===t[s])?e[e.length-1]-t[t.length-1]:0}function Xd(e,t,n){let{routesMeta:r}=e,s={},o="/",l=[];for(let i=0;i<r.length;++i){let c=r[i],d=i===r.length-1,f=o==="/"?t:t.slice(o.length)||"/",u=Zr({path:c.relativePath,caseSensitive:c.caseSensitive,end:d},f),p=c.route;if(!u)return null;Object.assign(s,u.params),l.push({params:s,pathname:ot([o,u.pathname]),pathnameBase:tu(ot([o,u.pathnameBase])),route:p}),u.pathnameBase!=="/"&&(o=ot([o,u.pathnameBase]))}return l}function Zr(e,t){typeof e=="string"&&(e={path:e,caseSensitive:!1,end:!0});let[n,r]=Yd(e.path,e.caseSensitive,e.end),s=t.match(n);if(!s)return null;let o=s[0],l=o.replace(/(.)\/+$/,"$1"),i=s.slice(1);return{params:r.reduce((d,f,u)=>{let{paramName:p,isOptional:v}=f;if(p==="*"){let C=i[u]||"";l=o.slice(0,o.length-C.length).replace(/(.)\/+$/,"$1")}const y=i[u];return v&&!y?d[p]=void 0:d[p]=(y||"").replace(/%2F/g,"/"),d},{}),pathname:o,pathnameBase:l,pattern:e}}function Yd(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!0),Ue(e==="*"||!e.endsWith("*")||e.endsWith("/*"),'Route path "'+e+'" will be treated as if it were '+('"'+e.replace(/\*$/,"/*")+'" because the `*` character must ')+"always follow a `/` in the pattern. To get rid of this warning, "+('please change the route path to "'+e.replace(/\*$/,"/*")+'".'));let r=[],s="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(l,i,c)=>(r.push({paramName:i,isOptional:c!=null}),c?"/?([^\\/]+)?":"/([^\\/]+)"));return e.endsWith("*")?(r.push({paramName:"*"}),s+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?s+="\\/*$":e!==""&&e!=="/"&&(s+="(?:(?=\\/|$))"),[new RegExp(s,t?void 0:"i"),r]}function Gd(e){try{return e.split("/").map(t=>decodeURIComponent(t).replace(/\//g,"%2F")).join("/")}catch(t){return Ue(!1,'The URL path "'+e+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent '+("encoding ("+t+").")),e}}function gt(e,t){if(t==="/")return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith("/")?t.length-1:t.length,r=e.charAt(n);return r&&r!=="/"?null:e.slice(n)||"/"}const Jd=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Zd=e=>Jd.test(e);function Rd(e,t){t===void 0&&(t="/");let{pathname:n,search:r="",hash:s=""}=typeof e=="string"?xt(e):e,o;if(n)if(Zd(n))o=n;else{if(n.includes("//")){let l=n;n=Zs(n),Ue(!1,"Pathnames cannot have embedded double slashes - normalizing "+(l+" -> "+n))}n.startsWith("/")?o=Js(n.substring(1),"/"):o=Js(n,t)}else o=t;return{pathname:o,search:nu(r),hash:ru(s)}}function Js(e,t){let n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(s=>{s===".."?n.length>1&&n.pop():s!=="."&&n.push(s)}),n.length>1?n.join("/"):"/"}function Rr(e,t,n,r){return"Cannot include a '"+e+"' character in a manually specified "+("`to."+t+"` field ["+JSON.stringify(r)+"]. Please separate it out to the ")+("`to."+n+"` field. Alternatively you may provide the full path as ")+'a string in <Link to="..."> and the router will parse it for you.'}function eu(e){return e.filter((t,n)=>n===0||t.route.path&&t.route.path.length>0)}function ea(e,t){let n=eu(e);return t?n.map((r,s)=>s===n.length-1?r.pathname:r.pathnameBase):n.map(r=>r.pathnameBase)}function ta(e,t,n,r){r===void 0&&(r=!1);let s;typeof e=="string"?s=xt(e):(s=fn({},e),ue(!s.pathname||!s.pathname.includes("?"),Rr("?","pathname","search",s)),ue(!s.pathname||!s.pathname.includes("#"),Rr("#","pathname","hash",s)),ue(!s.search||!s.search.includes("#"),Rr("#","search","hash",s)));let o=e===""||s.pathname==="",l=o?"/":s.pathname,i;if(l==null)i=n;else{let u=t.length-1;if(!r&&l.startsWith("..")){let p=l.split("/");for(;p[0]==="..";)p.shift(),u-=1;s.pathname=p.join("/")}i=u>=0?t[u]:"/"}let c=Rd(s,i),d=l&&l!=="/"&&l.endsWith("/"),f=(o||l===".")&&n.endsWith("/");return!c.pathname.endsWith("/")&&(d||f)&&(c.pathname+="/"),c}const Zs=e=>e.replace(/\/\/+/g,"/"),ot=e=>Zs(e.join("/")),tu=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),nu=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,ru=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e;function au(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}const Rs=["post","put","patch","delete"];new Set(Rs);const su=["get",...Rs];new Set(su);function hn(){return hn=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},hn.apply(null,arguments)}const mn=j.createContext(null);process.env.NODE_ENV!=="production"&&(mn.displayName="DataRouter");const na=j.createContext(null);process.env.NODE_ENV!=="production"&&(na.displayName="DataRouterState");const ou=j.createContext(null);process.env.NODE_ENV!=="production"&&(ou.displayName="Await");const qe=j.createContext(null);process.env.NODE_ENV!=="production"&&(qe.displayName="Navigation");const gn=j.createContext(null);process.env.NODE_ENV!=="production"&&(gn.displayName="Location");const Ye=j.createContext({outlet:null,matches:[],isDataRoute:!1});process.env.NODE_ENV!=="production"&&(Ye.displayName="Route");const ra=j.createContext(null);process.env.NODE_ENV!=="production"&&(ra.displayName="RouteError");function lu(e,t){let{relative:n}=t===void 0?{}:t;vt()||(process.env.NODE_ENV!=="production"?ue(!1,"useHref() may be used only in the context of a <Router> component."):ue(!1));let{basename:r,navigator:s}=j.useContext(qe),{hash:o,pathname:l,search:i}=An(e,{relative:n}),c=l;return r!=="/"&&(c=l==="/"?r:ot([r,l])),s.createHref({pathname:c,search:i,hash:o})}function vt(){return j.useContext(gn)!=null}function He(){return vt()||(process.env.NODE_ENV!=="production"?ue(!1,"useLocation() may be used only in the context of a <Router> component."):ue(!1)),j.useContext(gn).location}const eo="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function to(e){j.useContext(qe).static||j.useLayoutEffect(e)}function Ge(){let{isDataRoute:e}=j.useContext(Ye);return e?Su():iu()}function iu(){vt()||(process.env.NODE_ENV!=="production"?ue(!1,"useNavigate() may be used only in the context of a <Router> component."):ue(!1));let e=j.useContext(mn),{basename:t,future:n,navigator:r}=j.useContext(qe),{matches:s}=j.useContext(Ye),{pathname:o}=He(),l=JSON.stringify(ea(s,n.v7_relativeSplatPath)),i=j.useRef(!1);return to(()=>{i.current=!0}),j.useCallback(function(d,f){if(f===void 0&&(f={}),process.env.NODE_ENV!=="production"&&Ue(i.current,eo),!i.current)return;if(typeof d=="number"){r.go(d);return}let u=ta(d,JSON.parse(l),o,f.relative==="path");e==null&&t!=="/"&&(u.pathname=u.pathname==="/"?t:ot([t,u.pathname])),(f.replace?r.replace:r.push)(u,f.state,f)},[t,r,l,o,e])}function lt(){let{matches:e}=j.useContext(Ye),t=e[e.length-1];return t?t.params:{}}function An(e,t){let{relative:n}=t===void 0?{}:t,{future:r}=j.useContext(qe),{matches:s}=j.useContext(Ye),{pathname:o}=He(),l=JSON.stringify(ea(s,r.v7_relativeSplatPath));return j.useMemo(()=>ta(e,JSON.parse(l),o,n==="path"),[e,l,o,n])}function cu(e,t){return du(e,t)}function du(e,t,n,r){vt()||(process.env.NODE_ENV!=="production"?ue(!1,"useRoutes() may be used only in the context of a <Router> component."):ue(!1));let{navigator:s}=j.useContext(qe),{matches:o}=j.useContext(Ye),l=o[o.length-1],i=l?l.params:{},c=l?l.pathname:"/",d=l?l.pathnameBase:"/",f=l&&l.route;if(process.env.NODE_ENV!=="production"){let b=f&&f.path||"";ao(c,!f||b.endsWith("*"),"You rendered descendant <Routes> (or called `useRoutes()`) at "+('"'+c+'" (under <Route path="'+b+'">) but the ')+`parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render.
2
2
 
3
- `+('Please change the parent <Route path="'+b+'"> to <Route ')+('path="'+(b==="/"?"*":b+"/*")+'">.'))}let u=Ke(),p;if(t){var S;let b=typeof t=="string"?Mt(t):t;d==="/"||(S=b.pathname)!=null&&S.startsWith(d)||(process.env.NODE_ENV!=="production"?de(!1,"When overriding the location using `<Routes location>` or `useRoutes(routes, location)`, the location pathname must begin with the portion of the URL pathname that was "+('matched by all parent routes. The current pathname base is "'+d+'" ')+('but pathname "'+b.pathname+'" was given in the `location` prop.')):de(!1)),p=b}else p=u;let A=p.pathname||"/",y=A;if(d!=="/"){let b=d.replace(/^\//,"").split("/");y="/"+A.replace(/^\//,"").split("/").slice(b.length).join("/")}let g=Od(e,{pathname:y});process.env.NODE_ENV!=="production"&&(process.env.NODE_ENV!=="production"&&$e(f||g!=null,'No routes matched location "'+p.pathname+p.search+p.hash+'" '),process.env.NODE_ENV!=="production"&&$e(g==null||g[g.length-1].route.element!==void 0||g[g.length-1].route.Component!==void 0||g[g.length-1].route.lazy!==void 0,'Matched leaf route at location "'+p.pathname+p.search+p.hash+'" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.'));let h=du(g&&g.map(b=>Object.assign({},b,{params:Object.assign({},i,b.params),pathname:at([d,s.encodeLocation?s.encodeLocation(b.pathname).pathname:b.pathname]),pathnameBase:b.pathnameBase==="/"?d:at([d,s.encodeLocation?s.encodeLocation(b.pathnameBase).pathname:b.pathnameBase])})),o,n,r);return t&&h?H.createElement(gn.Provider,{value:{location:hn({pathname:"/",search:"",hash:"",state:null,key:"default"},p),navigationType:pt.Pop}},h):h}function ou(){let e=mu(),t=Rd(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,r="rgba(200,200,200, 0.5)",s={padding:"0.5rem",backgroundColor:r},o={padding:"2px 4px",backgroundColor:r},l=null;return process.env.NODE_ENV!=="production"&&(console.error("Error handled by React Router default ErrorBoundary:",e),l=H.createElement(H.Fragment,null,H.createElement("p",null,"💿 Hey developer 👋"),H.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",H.createElement("code",{style:o},"ErrorBoundary")," or"," ",H.createElement("code",{style:o},"errorElement")," prop on your route."))),H.createElement(H.Fragment,null,H.createElement("h2",null,"Unexpected Application Error!"),H.createElement("h3",{style:{fontStyle:"italic"}},t),n?H.createElement("pre",{style:s},n):null,l)}const lu=H.createElement(ou,null);class iu extends H.Component{constructor(t){super(t),this.state={location:t.location,revalidation:t.revalidation,error:t.error}}static getDerivedStateFromError(t){return{error:t}}static getDerivedStateFromProps(t,n){return n.location!==t.location||n.revalidation!=="idle"&&t.revalidation==="idle"?{error:t.error,location:t.location,revalidation:t.revalidation}:{error:t.error!==void 0?t.error:n.error,location:n.location,revalidation:t.revalidation||n.revalidation}}componentDidCatch(t,n){console.error("React Router caught the following error during render",t,n)}render(){return this.state.error!==void 0?H.createElement(Ye.Provider,{value:this.props.routeContext},H.createElement(ea.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function cu(e){let{routeContext:t,match:n,children:r}=e,s=H.useContext(mn);return s&&s.static&&s.staticContext&&(n.route.errorElement||n.route.ErrorBoundary)&&(s.staticContext._deepestRenderedBoundaryId=n.route.id),H.createElement(Ye.Provider,{value:t},r)}function du(e,t,n,r){var s;if(t===void 0&&(t=[]),n===void 0&&(n=null),r===void 0&&(r=null),e==null){var o;if(!n)return null;if(n.errors)e=n.matches;else if((o=r)!=null&&o.v7_partialHydration&&t.length===0&&!n.initialized&&n.matches.length>0)e=n.matches;else return null}let l=e,i=(s=n)==null?void 0:s.errors;if(i!=null){let f=l.findIndex(u=>u.route.id&&i?.[u.route.id]!==void 0);f>=0||(process.env.NODE_ENV!=="production"?de(!1,"Could not find a matching route for errors on route IDs: "+Object.keys(i).join(",")):de(!1)),l=l.slice(0,Math.min(l.length,f+1))}let c=!1,d=-1;if(n&&r&&r.v7_partialHydration)for(let f=0;f<l.length;f++){let u=l[f];if((u.route.HydrateFallback||u.route.hydrateFallbackElement)&&(d=f),u.route.id){let{loaderData:p,errors:S}=n,A=u.route.loader&&p[u.route.id]===void 0&&(!S||S[u.route.id]===void 0);if(u.route.lazy||A){c=!0,d>=0?l=l.slice(0,d+1):l=[l[0]];break}}}return l.reduceRight((f,u,p)=>{let S,A=!1,y=null,g=null;n&&(S=i&&u.route.id?i[u.route.id]:void 0,y=u.route.errorElement||lu,c&&(d<0&&p===0?(to("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),A=!0,g=null):d===p&&(A=!0,g=u.route.hydrateFallbackElement||null)));let h=t.concat(l.slice(0,p+1)),b=()=>{let _;return S?_=y:A?_=g:u.route.Component?_=H.createElement(u.route.Component,null):u.route.element?_=u.route.element:_=f,H.createElement(cu,{match:u,routeContext:{outlet:f,matches:h,isDataRoute:n!=null},children:_})};return n&&(u.route.ErrorBoundary||u.route.errorElement||p===0)?H.createElement(iu,{location:n.location,revalidation:n.revalidation,component:y,error:S,children:b(),routeContext:{outlet:null,matches:h,isDataRoute:!0}}):b()},null)}var Rs=(function(e){return e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e})(Rs||{}),yn=(function(e){return e.UseBlocker="useBlocker",e.UseLoaderData="useLoaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e.UseRouteId="useRouteId",e})(yn||{});function ta(e){return e+" must be used within a data router. See https://reactrouter.com/v6/routers/picking-a-router."}function uu(e){let t=H.useContext(mn);return t||(process.env.NODE_ENV!=="production"?de(!1,ta(e)):de(!1)),t}function fu(e){let t=H.useContext(Rr);return t||(process.env.NODE_ENV!=="production"?de(!1,ta(e)):de(!1)),t}function pu(e){let t=H.useContext(Ye);return t||(process.env.NODE_ENV!=="production"?de(!1,ta(e)):de(!1)),t}function na(e){let t=pu(e),n=t.matches[t.matches.length-1];return n.route.id||(process.env.NODE_ENV!=="production"?de(!1,e+' can only be used on routes that contain a unique "id"'):de(!1)),n.route.id}function hu(){return na(yn.UseRouteId)}function mu(){var e;let t=H.useContext(ea),n=fu(yn.UseRouteError),r=na(yn.UseRouteError);return t!==void 0?t:(e=n.errors)==null?void 0:e[r]}function gu(){let{router:e}=uu(Rs.UseNavigateStable),t=na(yn.UseNavigateStable),n=H.useRef(!1);return Zs(()=>{n.current=!0}),H.useCallback(function(s,o){o===void 0&&(o={}),process.env.NODE_ENV!=="production"&&$e(n.current,Js),n.current&&(typeof s=="number"?e.navigate(s):e.navigate(s,hn({fromRouteId:t},o)))},[e,t])}const eo={};function to(e,t,n){!t&&!eo[e]&&(eo[e]=!0,process.env.NODE_ENV!=="production"&&$e(!1,n))}const no={};function Au(e,t){process.env.NODE_ENV!=="production"&&!no[t]&&(no[t]=!0,console.warn(t))}const ro=(e,t,n)=>Au(e,"⚠️ React Router Future Flag Warning: "+t+". "+("You can use the `"+e+"` future flag to opt-in early. ")+("For more information, see "+n+"."));function yu(e,t){e?.v7_startTransition===void 0&&ro("v7_startTransition","React Router will begin wrapping state updates in `React.startTransition` in v7","https://reactrouter.com/v6/upgrading/future#v7_starttransition"),e?.v7_relativeSplatPath===void 0&&ro("v7_relativeSplatPath","Relative route resolution within Splat routes is changing in v7","https://reactrouter.com/v6/upgrading/future#v7_relativesplatpath")}function Ie(e){process.env.NODE_ENV!=="production"?de(!1,"A <Route> is only ever to be used as the child of <Routes> element, never rendered directly. Please wrap your <Route> in a <Routes>."):de(!1)}function bu(e){let{basename:t="/",children:n=null,location:r,navigationType:s=pt.Pop,navigator:o,static:l=!1,future:i}=e;xt()&&(process.env.NODE_ENV!=="production"?de(!1,"You cannot render a <Router> inside another <Router>. You should never have more than one in your app."):de(!1));let c=t.replace(/^\/*/,"/"),d=H.useMemo(()=>({basename:c,navigator:o,static:l,future:hn({v7_relativeSplatPath:!1},i)}),[c,i,o,l]);typeof r=="string"&&(r=Mt(r));let{pathname:f="/",search:u="",hash:p="",state:S=null,key:A="default"}=r,y=H.useMemo(()=>{let g=ht(f,c);return g==null?null:{location:{pathname:g,search:u,hash:p,state:S,key:A},navigationType:s}},[c,f,u,p,S,A,s]);return process.env.NODE_ENV!=="production"&&$e(y!=null,'<Router basename="'+c+'"> is not able to match the URL '+('"'+f+u+p+'" because it does not start with the ')+"basename, so the <Router> won't render anything."),y==null?null:H.createElement(ze.Provider,{value:d},H.createElement(gn.Provider,{children:n,value:y}))}function vu(e){let{children:t,location:n}=e;return au(ra(t),n)}new Promise(()=>{});function ra(e,t){t===void 0&&(t=[]);let n=[];return H.Children.forEach(e,(r,s)=>{if(!H.isValidElement(r))return;let o=[...t,s];if(r.type===H.Fragment){n.push.apply(n,ra(r.props.children,o));return}r.type!==Ie&&(process.env.NODE_ENV!=="production"?de(!1,"["+(typeof r.type=="string"?r.type:r.type.name)+"] is not a <Route> component. All component children of <Routes> must be a <Route> or <React.Fragment>"):de(!1)),!r.props.index||!r.props.children||(process.env.NODE_ENV!=="production"?de(!1,"An index route cannot have child routes."):de(!1));let l={id:r.props.id||o.join("-"),caseSensitive:r.props.caseSensitive,element:r.props.element,Component:r.props.Component,index:r.props.index,path:r.props.path,loader:r.props.loader,action:r.props.action,errorElement:r.props.errorElement,ErrorBoundary:r.props.ErrorBoundary,hasErrorBoundary:r.props.ErrorBoundary!=null||r.props.errorElement!=null,shouldRevalidate:r.props.shouldRevalidate,handle:r.props.handle,lazy:r.props.lazy};r.props.children&&(l.children=ra(r.props.children,o)),n.push(l)}),n}function Pt(){return Pt=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Pt.apply(null,arguments)}function aa(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}const Yn="get",Gn="application/x-www-form-urlencoded";function Jn(e){return e!=null&&typeof e.tagName=="string"}function Su(e){return Jn(e)&&e.tagName.toLowerCase()==="button"}function wu(e){return Jn(e)&&e.tagName.toLowerCase()==="form"}function Cu(e){return Jn(e)&&e.tagName.toLowerCase()==="input"}function Nu(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function _u(e,t){return e.button===0&&(!t||t==="_self")&&!Nu(e)}function sa(e){return e===void 0&&(e=""),new URLSearchParams(typeof e=="string"||Array.isArray(e)||e instanceof URLSearchParams?e:Object.keys(e).reduce((t,n)=>{let r=e[n];return t.concat(Array.isArray(r)?r.map(s=>[n,s]):[[n,r]])},[]))}function Eu(e,t){let n=sa(e);return t&&t.forEach((r,s)=>{n.has(s)||t.getAll(s).forEach(o=>{n.append(s,o)})}),n}let Zn=null;function Tu(){if(Zn===null)try{new FormData(document.createElement("form"),0),Zn=!1}catch{Zn=!0}return Zn}const Lu=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function oa(e){return e!=null&&!Lu.has(e)?(process.env.NODE_ENV!=="production"&&$e(!1,'"'+e+'" is not a valid `encType` for `<Form>`/`<fetcher.Form>` '+('and will default to "'+Gn+'"')),null):e}function Iu(e,t){let n,r,s,o,l;if(wu(e)){let i=e.getAttribute("action");r=i?ht(i,t):null,n=e.getAttribute("method")||Yn,s=oa(e.getAttribute("enctype"))||Gn,o=new FormData(e)}else if(Su(e)||Cu(e)&&(e.type==="submit"||e.type==="image")){let i=e.form;if(i==null)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let c=e.getAttribute("formaction")||i.getAttribute("action");if(r=c?ht(c,t):null,n=e.getAttribute("formmethod")||i.getAttribute("method")||Yn,s=oa(e.getAttribute("formenctype"))||oa(i.getAttribute("enctype"))||Gn,o=new FormData(i,e),!Tu()){let{name:d,type:f,value:u}=e;if(f==="image"){let p=d?d+".":"";o.append(p+"x","0"),o.append(p+"y","0")}else d&&o.append(d,u)}}else{if(Jn(e))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');n=Yn,r=null,s=Gn,l=e}return o&&s==="text/plain"&&(l=o,o=void 0),{action:r,method:n.toLowerCase(),encType:s,formData:o,body:l}}const Fu=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","viewTransition"],ku=["aria-current","caseSensitive","className","end","style","to","viewTransition","children"],Ou=["fetcherKey","navigate","reloadDocument","replace","state","method","action","onSubmit","relative","preventScrollReset","viewTransition"],Du="6";try{window.__reactRouterVersion=Du}catch{}const ao=H.createContext({isTransitioning:!1});process.env.NODE_ENV!=="production"&&(ao.displayName="ViewTransition");const Mu=H.createContext(new Map);process.env.NODE_ENV!=="production"&&(Mu.displayName="Fetchers");const so=H["startTransition"];function xu(e){let{basename:t,children:n,future:r,window:s}=e,o=H.useRef();o.current==null&&(o.current=Id({window:s,v5Compat:!0}));let l=o.current,[i,c]=H.useState({action:l.action,location:l.location}),{v7_startTransition:d}=r||{},f=H.useCallback(u=>{d&&so?so(()=>c(u)):c(u)},[c,d]);return H.useLayoutEffect(()=>l.listen(f),[l,f]),H.useEffect(()=>yu(r),[r]),H.createElement(bu,{basename:t,children:n,location:i.location,navigationType:i.action,navigator:l,future:r})}process.env.NODE_ENV;const Pu=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",Bu=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,oo=H.forwardRef(function(t,n){let{onClick:r,relative:s,reloadDocument:o,replace:l,state:i,target:c,to:d,preventScrollReset:f,viewTransition:u}=t,p=aa(t,Fu),{basename:S}=H.useContext(ze),A,y=!1;if(typeof d=="string"&&Bu.test(d)&&(A=d,Pu))try{let _=new URL(window.location.href),N=d.startsWith("//")?new URL(_.protocol+d):new URL(d),O=ht(N.pathname,S);N.origin===_.origin&&O!=null?d=O+N.search+N.hash:y=!0}catch{process.env.NODE_ENV!=="production"&&$e(!1,'<Link to="'+d+'"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.')}let g=nu(d,{relative:s}),h=Vu(d,{replace:l,state:i,target:c,preventScrollReset:f,relative:s,viewTransition:u});function b(_){r&&r(_),_.defaultPrevented||h(_)}return H.createElement("a",Pt({},p,{href:A||g,onClick:y||o?r:b,ref:n,target:c}))});process.env.NODE_ENV!=="production"&&(oo.displayName="Link");const Uu=H.forwardRef(function(t,n){let{"aria-current":r="page",caseSensitive:s=!1,className:o="",end:l=!1,style:i,to:c,viewTransition:d,children:f}=t,u=aa(t,ku),p=An(c,{relative:u.relative}),S=Ke(),A=H.useContext(Rr),{navigator:y,basename:g}=H.useContext(ze),h=A!=null&&Qu(p)&&d===!0,b=y.encodeLocation?y.encodeLocation(p).pathname:p.pathname,_=S.pathname,N=A&&A.navigation&&A.navigation.location?A.navigation.location.pathname:null;s||(_=_.toLowerCase(),N=N?N.toLowerCase():null,b=b.toLowerCase()),N&&g&&(N=ht(N,g)||N);const O=b!=="/"&&b.endsWith("/")?b.length-1:b.length;let L=_===b||!l&&_.startsWith(b)&&_.charAt(O)==="/",z=N!=null&&(N===b||!l&&N.startsWith(b)&&N.charAt(b.length)==="/"),ae={isActive:L,isPending:z,isTransitioning:h},W=L?r:void 0,j;typeof o=="function"?j=o(ae):j=[o,L?"active":null,z?"pending":null,h?"transitioning":null].filter(Boolean).join(" ");let K=typeof i=="function"?i(ae):i;return H.createElement(oo,Pt({},u,{"aria-current":W,className:j,ref:n,style:K,to:c,viewTransition:d}),typeof f=="function"?f(ae):f)});process.env.NODE_ENV!=="production"&&(Uu.displayName="NavLink");const $u=H.forwardRef((e,t)=>{let{fetcherKey:n,navigate:r,reloadDocument:s,replace:o,state:l,method:i=Yn,action:c,onSubmit:d,relative:f,preventScrollReset:u,viewTransition:p}=e,S=aa(e,Ou),A=zu(),y=Ku(c,{relative:f}),g=i.toLowerCase()==="get"?"get":"post",h=b=>{if(d&&d(b),b.defaultPrevented)return;b.preventDefault();let _=b.nativeEvent.submitter,N=_?.getAttribute("formmethod")||i;A(_||b.currentTarget,{fetcherKey:n,method:N,navigate:r,replace:o,state:l,relative:f,preventScrollReset:u,viewTransition:p})};return H.createElement("form",Pt({ref:t,method:g,action:y,onSubmit:s?d:h},S))});process.env.NODE_ENV!=="production"&&($u.displayName="Form"),process.env.NODE_ENV;var Rn;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})(Rn||(Rn={}));var lo;(function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"})(lo||(lo={}));function ju(e){return e+" must be used within a data router. See https://reactrouter.com/v6/routers/picking-a-router."}function io(e){let t=H.useContext(mn);return t||(process.env.NODE_ENV!=="production"?de(!1,ju(e)):de(!1)),t}function Vu(e,t){let{target:n,replace:r,state:s,preventScrollReset:o,relative:l,viewTransition:i}=t===void 0?{}:t,c=Ge(),d=Ke(),f=An(e,{relative:l});return H.useCallback(u=>{if(_u(u,n)){u.preventDefault();let p=r!==void 0?r:pn(d)===pn(f);c(e,{replace:p,state:s,preventScrollReset:o,relative:l,viewTransition:i})}},[d,c,f,r,s,n,e,o,l,i])}function co(e){process.env.NODE_ENV!=="production"&&$e(typeof URLSearchParams<"u","You cannot use the `useSearchParams` hook in a browser that does not support the URLSearchParams API. If you need to support Internet Explorer 11, we recommend you load a polyfill such as https://github.com/ungap/url-search-params.");let t=H.useRef(sa(e)),n=H.useRef(!1),r=Ke(),s=H.useMemo(()=>Eu(r.search,n.current?null:t.current),[r.search]),o=Ge(),l=H.useCallback((i,c)=>{const d=sa(typeof i=="function"?i(s):i);n.current=!0,o("?"+d,c)},[o,s]);return[s,l]}function Wu(){if(typeof document>"u")throw new Error("You are calling submit during the server render. Try calling submit within a `useEffect` or callback instead.")}let qu=0,Hu=()=>"__"+String(++qu)+"__";function zu(){let{router:e}=io(Rn.UseSubmit),{basename:t}=H.useContext(ze),n=hu();return H.useCallback(function(r,s){s===void 0&&(s={}),Wu();let{action:o,method:l,encType:i,formData:c,body:d}=Iu(r,t);if(s.navigate===!1){let f=s.fetcherKey||Hu();e.fetch(f,n,s.action||o,{preventScrollReset:s.preventScrollReset,formData:c,body:d,formMethod:s.method||l,formEncType:s.encType||i,flushSync:s.flushSync})}else e.navigate(s.action||o,{preventScrollReset:s.preventScrollReset,formData:c,body:d,formMethod:s.method||l,formEncType:s.encType||i,replace:s.replace,state:s.state,fromRouteId:n,flushSync:s.flushSync,viewTransition:s.viewTransition})},[e,t,n])}function Ku(e,t){let{relative:n}=t===void 0?{}:t,{basename:r}=H.useContext(ze),s=H.useContext(Ye);s||(process.env.NODE_ENV!=="production"?de(!1,"useFormAction must be used inside a RouteContext"):de(!1));let[o]=s.matches.slice(-1),l=Pt({},An(e||".",{relative:n})),i=Ke();if(e==null){l.search=i.search;let c=new URLSearchParams(l.search),d=c.getAll("index");if(d.some(u=>u==="")){c.delete("index"),d.filter(p=>p).forEach(p=>c.append("index",p));let u=c.toString();l.search=u?"?"+u:""}}return(!e||e===".")&&o.route.index&&(l.search=l.search?l.search.replace(/^\?/,"?index&"):"?index"),r!=="/"&&(l.pathname=l.pathname==="/"?r:at([r,l.pathname])),pn(l)}function Qu(e,t){t===void 0&&(t={});let n=H.useContext(ao);n==null&&(process.env.NODE_ENV!=="production"?de(!1,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?"):de(!1));let{basename:r}=io(Rn.useViewTransitionState),s=An(e,{relative:t.relative});if(!n.isTransitioning)return!1;let o=ht(n.currentLocation.pathname,r)||n.currentLocation.pathname,l=ht(n.nextLocation.pathname,r)||n.nextLocation.pathname;return Jr(s.pathname,l)!=null||Jr(s.pathname,o)!=null}function uo(e,t){return function(){return e.apply(t,arguments)}}const{toString:Xu}=Object.prototype,{getPrototypeOf:Bt}=Object,{iterator:bn,toStringTag:fo}=Symbol,er=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),vn=(e,t)=>{let n=e;const r=[];for(;n!=null&&n!==Object.prototype;){if(r.indexOf(n)!==-1)return!1;if(r.push(n),er(n,t))return!0;n=Bt(n)}return!1},Yu=(e,t)=>e!=null&&vn(e,t)?e[t]:void 0,la=(e=>t=>{const n=Xu.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),je=e=>(e=e.toLowerCase(),t=>la(t)===e),tr=e=>t=>typeof t===e,{isArray:vt}=Array,St=tr("undefined");function Ut(e){return e!==null&&!St(e)&&e.constructor!==null&&!St(e.constructor)&&Oe(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const po=je("ArrayBuffer");function Gu(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&po(e.buffer),t}const Ju=tr("string"),Oe=tr("function"),ho=tr("number"),$t=e=>e!==null&&typeof e=="object",Zu=e=>e===!0||e===!1,nr=e=>{if(!$t(e))return!1;const t=Bt(e);return(t===null||t===Object.prototype||Bt(t)===null)&&!vn(e,fo)&&!vn(e,bn)},Ru=e=>{if(!$t(e)||Ut(e))return!1;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return!1}},ef=je("Date"),tf=je("File"),nf=e=>!!(e&&typeof e.uri<"u"),rf=e=>e&&typeof e.getParts<"u",af=je("Blob"),sf=je("FileList"),of=je("Set"),lf=e=>$t(e)&&Oe(e.pipe);function cf(){return typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{}}const mo=cf(),go=typeof mo.FormData<"u"?mo.FormData:void 0,df=e=>{if(!e)return!1;if(go&&e instanceof go)return!0;const t=Bt(e);if(!t||t===Object.prototype||!Oe(e.append))return!1;const n=la(e);return n==="formdata"||n==="object"&&Oe(e.toString)&&e.toString()==="[object FormData]"},uf=je("URLSearchParams"),[ff,pf,hf,mf]=["ReadableStream","Request","Response","Headers"].map(je),gf=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function Sn(e,t,{allOwnKeys:n=!1}={}){if(e===null||typeof e>"u")return;let r,s;if(typeof e!="object"&&(e=[e]),vt(e))for(r=0,s=e.length;r<s;r++)t.call(null,e[r],r,e);else{if(Ut(e))return;const o=n?Object.getOwnPropertyNames(e):Object.keys(e),l=o.length;let i;for(r=0;r<l;r++)i=o[r],t.call(null,e[i],i,e)}}function Ao(e,t){if(Ut(e))return null;t=t.toLowerCase();const n=Object.keys(e);let r=n.length,s;for(;r-- >0;)if(s=n[r],t===s.toLowerCase())return s;return null}const wt=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,yo=e=>!St(e)&&e!==wt;function ia(...e){const{caseless:t,skipUndefined:n}=yo(this)&&this||{},r={},s=(o,l)=>{if(l==="__proto__"||l==="constructor"||l==="prototype")return;const i=t&&typeof l=="string"&&Ao(r,l)||l,c=er(r,i)?r[i]:void 0;nr(c)&&nr(o)?r[i]=ia(c,o):nr(o)?r[i]=ia({},o):vt(o)?r[i]=o.slice():(!n||!St(o))&&(r[i]=o)};for(let o=0,l=e.length;o<l;o++){const i=e[o];if(!i||Ut(i)||(Sn(i,s),typeof i!="object"||vt(i)))continue;const c=Object.getOwnPropertySymbols(i);for(let d=0;d<c.length;d++){const f=c[d];Lf.call(i,f)&&s(i[f],f)}}return r}const Af=(e,t,n,{allOwnKeys:r}={})=>(Sn(t,(s,o)=>{n&&Oe(s)?Object.defineProperty(e,o,{__proto__:null,value:uo(s,n),writable:!0,enumerable:!0,configurable:!0}):Object.defineProperty(e,o,{__proto__:null,value:s,writable:!0,enumerable:!0,configurable:!0})},{allOwnKeys:r}),e),yf=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),bf=(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),Object.defineProperty(e.prototype,"constructor",{__proto__:null,value:e,writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(e,"super",{__proto__:null,value:t.prototype}),n&&Object.assign(e.prototype,n)},vf=(e,t,n,r)=>{let s,o,l;const i={};if(t=t||{},e==null)return t;do{for(s=Object.getOwnPropertyNames(e),o=s.length;o-- >0;)l=s[o],(!r||r(l,e,t))&&!i[l]&&(t[l]=e[l],i[l]=!0);e=n!==!1&&Bt(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},Sf=(e,t,n)=>{e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;const r=e.indexOf(t,n);return r!==-1&&r===n},wf=e=>{if(!e)return null;if(vt(e))return e;let t=e.length;if(!ho(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},Cf=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&Bt(Uint8Array)),Nf=(e,t)=>{const r=(e&&e[bn]).call(e);let s;for(;(s=r.next())&&!s.done;){const o=s.value;t.call(e,o[0],o[1])}},_f=(e,t)=>{let n;const r=[];for(;(n=e.exec(t))!==null;)r.push(n);return r},Ef=je("HTMLFormElement"),Tf=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,r,s){return r.toUpperCase()+s}),{propertyIsEnumerable:Lf}=Object.prototype,If=je("RegExp"),bo=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),r={};Sn(n,(s,o)=>{let l;(l=t(s,o,e))!==!1&&(r[o]=l||s)}),Object.defineProperties(e,r)},Ff=e=>{bo(e,(t,n)=>{if(Oe(e)&&["arguments","caller","callee"].includes(n))return!1;const r=e[n];if(Oe(r)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")})}})},kf=(e,t)=>{const n={},r=s=>{s.forEach(o=>{n[o]=!0})};return vt(e)?r(e):r(String(e).split(t)),n},Of=()=>{},Df=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function Mf(e){return!!(e&&Oe(e.append)&&e[fo]==="FormData"&&e[bn])}const xf=e=>{const t=new WeakSet,n=r=>{if($t(r)){if(t.has(r))return;if(Ut(r))return r;if(!("toJSON"in r)){t.add(r);let s;if(of(r)){s=[];for(const o of r){const l=n(o);!St(l)&&s.push(l)}}else s=vt(r)?[]:{},Sn(r,(o,l)=>{const i=n(o);!St(i)&&(s[l]=i)});return t.delete(r),s}}return r};return n(e)},Pf=je("AsyncFunction"),Bf=e=>e&&($t(e)||Oe(e))&&Oe(e.then)&&Oe(e.catch),vo=((e,t)=>e?setImmediate:t?((n,r)=>(wt.addEventListener("message",({source:s,data:o})=>{s===wt&&o===n&&r.length&&r.shift()()},!1),s=>{r.push(s),wt.postMessage(n,"*")}))(`axios@${Math.random()}`,[]):n=>setTimeout(n))(typeof setImmediate=="function",Oe(wt.postMessage)),Uf=typeof queueMicrotask<"u"?queueMicrotask.bind(wt):typeof process<"u"&&process.nextTick||vo,So=e=>e!=null&&Oe(e[bn]),v={isArray:vt,isArrayBuffer:po,isBuffer:Ut,isFormData:df,isArrayBufferView:Gu,isString:Ju,isNumber:ho,isBoolean:Zu,isObject:$t,isPlainObject:nr,isEmptyObject:Ru,isReadableStream:ff,isRequest:pf,isResponse:hf,isHeaders:mf,isUndefined:St,isDate:ef,isFile:tf,isReactNativeBlob:nf,isReactNative:rf,isBlob:af,isRegExp:If,isFunction:Oe,isStream:lf,isURLSearchParams:uf,isTypedArray:Cf,isFileList:sf,forEach:Sn,merge:ia,extend:Af,trim:gf,stripBOM:yf,inherits:bf,toFlatObject:vf,kindOf:la,kindOfTest:je,endsWith:Sf,toArray:wf,forEachEntry:Nf,matchAll:_f,isHTMLForm:Ef,hasOwnProperty:er,hasOwnProp:er,hasOwnInPrototypeChain:vn,getSafeProp:Yu,reduceDescriptors:bo,freezeMethods:Ff,toObjectSet:kf,toCamelCase:Tf,noop:Of,toFiniteNumber:Df,findKey:Ao,global:wt,isContextDefined:yo,isSpecCompliantForm:Mf,toJSONObject:xf,isAsyncFn:Pf,isThenable:Bf,setImmediate:vo,asap:Uf,isIterable:So,isSafeIterable:e=>e!=null&&vn(e,bn)&&So(e)},$f=v.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),jf=e=>{const t={};let n,r,s;return e&&e.split(`
4
- `).forEach(function(l){s=l.indexOf(":"),n=l.substring(0,s).trim().toLowerCase(),r=l.substring(s+1).trim();const i=v.hasOwnProp(t,n);!n||i&&v.hasOwnProp($f,n)||(n==="set-cookie"?i?t[n].push(r):t[n]=[r]:t[n]=i?t[n]+", "+r:r)}),t};function Vf(e){let t=0,n=e.length;for(;t<n;){const r=e.charCodeAt(t);if(r!==9&&r!==32)break;t+=1}for(;n>t;){const r=e.charCodeAt(n-1);if(r!==9&&r!==32)break;n-=1}return t===0&&n===e.length?e:e.slice(t,n)}const Wf=new RegExp("[\\u0000-\\u0008\\u000a-\\u001f\\u007f]+","g"),qf=new RegExp("[^\\u0009\\u0020-\\u007e\\u0080-\\u00ff]+","g");function ca(e,t){return v.isArray(e)?e.map(n=>ca(n,t)):Vf(String(e).replace(t,""))}const Hf=e=>ca(e,Wf),zf=e=>ca(e,qf);function wo(e){const t=Object.create(null);return v.forEach(e.toJSON(),(n,r)=>{t[r]=zf(n)}),t}const Co=Symbol("internals");function wn(e){return e&&String(e).trim().toLowerCase()}function rr(e){return e===!1||e==null?e:v.isArray(e)?e.map(rr):Hf(String(e))}function Kf(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=n.exec(e);)t[r[1]]=r[2];return t}const Qf=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/;function da(e){let t=0,n=e.length;for(;t<n;){const r=e.charCodeAt(t);if(r!==9&&r!==32)break;t+=1}for(;n>t;){const r=e.charCodeAt(n-1);if(r!==9&&r!==32)break;n-=1}return t===0&&n===e.length?e:e.slice(t,n)}function Xf(e){const t=e.length-1;if(t<1||e.charCodeAt(0)!==34||e.charCodeAt(t)!==34)return e;let n="";for(let r=1;r<t;r++){const s=e.charCodeAt(r);if(s===34||s===92&&(r+=1,r>=t))return e;n+=e[r]}return n}function Yf(e){const t=Object.create(null),n=String(e);let r=0,s=!1,o=!1;function l(i){const c=da(n.slice(r,i)),d=c.indexOf("=");if(d<1)return;const f=da(c.slice(0,d));if(!Qf.test(f))return;const u=f.toLowerCase();if(u==="__proto__"||u==="constructor"||u==="prototype")return;const p=da(c.slice(d+1));t[u]=Xf(p)}for(let i=0;i<n.length;i++){const c=n.charCodeAt(i);s?o?o=!1:c===92?o=!0:c===34&&(s=!1):c===34?s=!0:(c===44||c===59)&&(l(i),r=i+1)}return l(n.length),t}const Gf=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function ua(e,t,n,r,s){if(v.isFunction(r))return r.call(this,t,n);if(s&&(t=n),!!v.isString(t)){if(v.isString(r))return t.indexOf(r)!==-1;if(v.isRegExp(r))return r.test(t)}}function Jf(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,n,r)=>n.toUpperCase()+r)}function Zf(e,t){const n=v.toCamelCase(" "+t);["get","set","has"].forEach(r=>{Object.defineProperty(e,r+n,{__proto__:null,value:function(s,o,l){return this[r].call(this,t,s,o,l)},configurable:!0})})}let Te=class{constructor(t){t&&this.set(t)}set(t,n,r){const s=this;function o(i,c,d){const f=wn(c);if(!f)return;const u=v.findKey(s,f);(!u||s[u]===void 0||d===!0||d===void 0&&s[u]!==!1)&&(s[u||c]=rr(i))}const l=(i,c)=>v.forEach(i,(d,f)=>o(d,f,c));if(v.isPlainObject(t)||t instanceof this.constructor)l(t,n);else if(v.isString(t)&&(t=t.trim())&&!Gf(t))l(jf(t),n);else if(v.isObject(t)&&v.isSafeIterable(t)){let i=Object.create(null),c,d;for(const f of t){if(!v.isArray(f))throw new TypeError("Object iterator must return a key-value pair");d=f[0],v.hasOwnProp(i,d)?(c=i[d],i[d]=v.isArray(c)?[...c,f[1]]:[c,f[1]]):i[d]=f[1]}l(i,n)}else t!=null&&o(n,t,r);return this}get(t,n){if(t=wn(t),t){const r=v.findKey(this,t);if(r){const s=this[r];if(!n)return s;if(n===!0)return Kf(s);if(v.isFunction(n))return n.call(this,s,r);if(v.isRegExp(n))return n.exec(s);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,n){if(t=wn(t),t){const r=v.findKey(this,t);return!!(r&&this[r]!==void 0&&(!n||ua(this,this[r],r,n)))}return!1}delete(t,n){const r=this;let s=!1;function o(l){if(l=wn(l),l){const i=v.findKey(r,l);i&&(!n||ua(r,r[i],i,n))&&(delete r[i],s=!0)}}return v.isArray(t)?t.forEach(o):o(t),s}clear(t){const n=Object.keys(this);let r=n.length,s=!1;for(;r--;){const o=n[r];(!t||ua(this,this[o],o,t,!0))&&(delete this[o],s=!0)}return s}normalize(t){const n=this,r={};return v.forEach(this,(s,o)=>{const l=v.findKey(r,o);if(l){n[l]=rr(s),delete n[o];return}const i=t?Jf(o):String(o).trim();i!==o&&delete n[o],n[i]=rr(s),r[i]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const n=Object.create(null);return v.forEach(this,(r,s)=>{r!=null&&r!==!1&&(n[s]=t&&v.isArray(r)?r.join(", "):r)}),n}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,n])=>t+": "+n).join(`
5
- `)}getSetCookie(){const t=this.get("set-cookie");return v.isArray(t)?t:t==null||t===!1?[]:[t]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static parseParameters(t){return Yf(t)}static concat(t,...n){const r=new this(t);return n.forEach(s=>r.set(s)),r}static accessor(t){const r=(this[Co]=this[Co]={accessors:{}}).accessors,s=this.prototype;function o(l){const i=wn(l);r[i]||(Zf(s,l),r[i]=!0)}return v.isArray(t)?t.forEach(o):o(t),this}};Te.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),v.reduceDescriptors(Te.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(r){this[n]=r}}}),v.freezeMethods(Te);const ar="[REDACTED ****]";function Rf(e){if(v.hasOwnProp(e,"toJSON"))return!0;let t=Object.getPrototypeOf(e);for(;t&&t!==Object.prototype;){if(v.hasOwnProp(t,"toJSON"))return!0;t=Object.getPrototypeOf(t)}return!1}function ep(e,t){const n=new Set(t.map(o=>String(o).toLowerCase())),r=[],s=o=>{if(o===null||typeof o!="object"||v.isBuffer(o))return o;if(r.indexOf(o)!==-1)return;o instanceof Te&&(o=o.toJSON()),r.push(o);let l;if(v.isArray(o))l=[],o.forEach((i,c)=>{const d=s(i);v.isUndefined(d)||(l[c]=d)});else{if(!v.isPlainObject(o)&&Rf(o))return r.pop(),o;l=Object.create(null);for(const[i,c]of Object.entries(o)){const d=n.has(i.toLowerCase())?ar:s(c);v.isUndefined(d)||(l[i]=d)}}return r.pop(),l};return s(e)}function No(e){try{return String(e)}catch{return""}}function tp(e){return e.errors.map(n=>{try{return n&&n.message?No(n.message):No(n)}catch{return""}}).filter(Boolean).join("; ")||e.name||"AggregateError"}let J=class Ed extends Error{static from(t,n,r,s,o,l){let i=t.message;!i&&v.isArray(t.errors)&&t.errors.length&&(i=tp(t));const c=new Ed(i,n||t.code,r,s,o);return Object.defineProperty(c,"cause",{__proto__:null,value:t,writable:!0,enumerable:!1,configurable:!0}),c.name=t.name,t.status!=null&&c.status==null&&(c.status=t.status),l&&Object.assign(c,l),c}constructor(t,n,r,s,o){super(t),Object.defineProperty(this,"message",{__proto__:null,value:t,enumerable:!0,writable:!0,configurable:!0}),this.name="AxiosError",this.isAxiosError=!0,n&&(this.code=n),r&&(this.config=r),s&&(this.request=s),o&&(this.response=o,this.status=o.status)}toJSON(){const t=this.config,n=t&&v.hasOwnProp(t,"redact")?t.redact:void 0,r=v.isArray(n)&&n.length>0?ep(t,n):v.toJSONObject(t);return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:r,code:this.code,status:this.status}}};J.ERR_BAD_OPTION_VALUE="ERR_BAD_OPTION_VALUE",J.ERR_BAD_OPTION="ERR_BAD_OPTION",J.ECONNABORTED="ECONNABORTED",J.ETIMEDOUT="ETIMEDOUT",J.ECONNREFUSED="ECONNREFUSED",J.ERR_NETWORK="ERR_NETWORK",J.ERR_FR_TOO_MANY_REDIRECTS="ERR_FR_TOO_MANY_REDIRECTS",J.ERR_DEPRECATED="ERR_DEPRECATED",J.ERR_BAD_RESPONSE="ERR_BAD_RESPONSE",J.ERR_BAD_REQUEST="ERR_BAD_REQUEST",J.ERR_CANCELED="ERR_CANCELED",J.ERR_NOT_SUPPORT="ERR_NOT_SUPPORT",J.ERR_INVALID_URL="ERR_INVALID_URL",J.ERR_FORM_DATA_DEPTH_EXCEEDED="ERR_FORM_DATA_DEPTH_EXCEEDED";const np=null,_o=100;function fa(e){return v.isPlainObject(e)||v.isArray(e)}function Eo(e){return v.endsWith(e,"[]")?e.slice(0,-2):e}function pa(e,t,n){return e?e.concat(t).map(function(s,o){return s=Eo(s),!n&&o?"["+s+"]":s}).join(n?".":""):t}function rp(e){return v.isArray(e)&&!e.some(fa)}const ap=v.toFlatObject(v,{},null,function(t){return/^is[A-Z]/.test(t)});function sr(e,t,n){if(!v.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,n=v.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(b,_){return!v.isUndefined(_[b])});const r=n.metaTokens,s=n.visitor||A,o=n.dots,l=n.indexes,i=n.Blob||typeof Blob<"u"&&Blob,c=n.maxDepth===void 0?_o:n.maxDepth,d=i&&v.isSpecCompliantForm(t),f=[];if(!v.isFunction(s))throw new TypeError("visitor must be a function");function u(h){if(h===null)return"";if(v.isDate(h))return h.toISOString();if(v.isBoolean(h))return h.toString();if(!d&&v.isBlob(h))throw new J("Blob is not supported. Use a Buffer instead.");if(v.isArrayBuffer(h)||v.isTypedArray(h)){if(d&&typeof i=="function")return new i([h]);throw new J("Blob is not supported. Use a Buffer instead.",J.ERR_NOT_SUPPORT)}return h}function p(h){if(h>c)throw new J("Object is too deeply nested ("+h+" levels). Max depth: "+c,J.ERR_FORM_DATA_DEPTH_EXCEEDED)}function S(h,b){if(c===1/0)return JSON.stringify(h);const _=[];return JSON.stringify(h,function(O,L){if(!v.isObject(L))return L;for(;_.length&&_[_.length-1]!==this;)_.pop();return _.push(L),p(b+_.length-1),L})}function A(h,b,_){let N=h;if(v.isReactNative(t)&&v.isReactNativeBlob(h))return t.append(pa(_,b,o),u(h)),!1;if(h&&!_&&typeof h=="object"){if(v.endsWith(b,"{}"))b=r?b:b.slice(0,-2),h=S(h,1);else if(v.isArray(h)&&rp(h)||(v.isFileList(h)||v.endsWith(b,"[]"))&&(N=v.toArray(h)))return b=Eo(b),N.forEach(function(L,z){!(v.isUndefined(L)||L===null)&&t.append(l===!0?pa([b],z,o):l===null?b:b+"[]",u(L))}),!1}return fa(h)?!0:(t.append(pa(_,b,o),u(h)),!1)}const y=Object.assign(ap,{defaultVisitor:A,convertValue:u,isVisitable:fa});function g(h,b,_=0){if(!v.isUndefined(h)){if(p(_),f.indexOf(h)!==-1)throw new Error("Circular reference detected in "+b.join("."));f.push(h),v.forEach(h,function(O,L){(!(v.isUndefined(O)||O===null)&&s.call(t,O,v.isString(L)?L.trim():L,b,y))===!0&&g(O,b?b.concat(L):[L],_+1)}),f.pop()}}if(!v.isObject(e))throw new TypeError("data must be an object");return g(e),t}function To(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"};return encodeURIComponent(e).replace(/[!'()~]|%20/g,function(r){return t[r]})}function ha(e,t){this._pairs=[],e&&sr(e,this,t)}const Lo=ha.prototype;Lo.append=function(t,n){this._pairs.push([t,n])},Lo.toString=function(t){const n=t?r=>t.call(this,r,To):To;return this._pairs.map(function(s){return n(s[0])+"="+n(s[1])},"").join("&")};function sp(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function Io(e,t,n){if(!t)return e;e=e||"";const r=v.isFunction(n)?{serialize:n}:n,s=v.getSafeProp(r,"encode")||sp,o=v.getSafeProp(r,"serialize");let l;if(o?l=o(t,r):l=v.isURLSearchParams(t)?t.toString():new ha(t,r).toString(s),l){const i=e.indexOf("#");i!==-1&&(e=e.slice(0,i)),e+=(e.indexOf("?")===-1?"?":"&")+l}return e}class Fo{constructor(){this.handlers=[]}use(t,n,r){return this.handlers.push({fulfilled:t,rejected:n,synchronous:r?r.synchronous:!1,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){v.forEach(this.handlers,function(r){r!==null&&t(r)})}}const ma={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1,legacyInterceptorReqResOrdering:!0,advertiseZstdAcceptEncoding:!1,validateStatusUndefinedResolves:!0},op={isBrowser:!0,classes:{URLSearchParams:typeof URLSearchParams<"u"?URLSearchParams:ha,FormData:typeof FormData<"u"?FormData:null,Blob:typeof Blob<"u"?Blob:null},protocols:["http","https","file","blob","url","data"]},ga=typeof window<"u"&&typeof document<"u",Aa=typeof navigator=="object"&&navigator||void 0,lp=ga&&(!Aa||["ReactNative","NativeScript","NS"].indexOf(Aa.product)<0),ip=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",cp=ga&&window.location.href||"http://localhost",_e={...Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:ga,hasStandardBrowserEnv:lp,hasStandardBrowserWebWorkerEnv:ip,navigator:Aa,origin:cp},Symbol.toStringTag,{value:"Module"})),...op};function dp(e,t){return sr(e,new _e.classes.URLSearchParams,{visitor:function(n,r,s,o){return _e.isNode&&v.isBuffer(n)?(this.append(r,n.toString("base64")),!1):o.defaultVisitor.apply(this,arguments)},...t})}const ko=_o;function Oo(e){if(e>ko)throw new J("FormData field is too deeply nested ("+e+" levels). Max depth: "+ko,J.ERR_FORM_DATA_DEPTH_EXCEEDED)}function up(e){const t=[],n=/[^.[\]]+|\[([^.[\]]*)]/g;let r;for(;(r=n.exec(e))!==null;)Oo(t.length),t.push(r[0]==="[]"?"":r[1]||r[0]);return t}function fp(e){const t={},n=Object.keys(e);let r;const s=n.length;let o;for(r=0;r<s;r++)o=n[r],t[o]=e[o];return t}function Do(e){function t(n,r,s,o){Oo(o);let l=n[o++];if(l==="__proto__")return!0;const i=Number.isFinite(+l),c=o>=n.length;return l=!l&&v.isArray(s)?s.length:l,c?(v.hasOwnProp(s,l)?s[l]=v.isArray(s[l])?s[l].concat(r):[s[l],r]:s[l]=r,!i):((!v.hasOwnProp(s,l)||!v.isObject(s[l]))&&(s[l]=[]),t(n,r,s[l],o)&&v.isArray(s[l])&&(s[l]=fp(s[l])),!i)}if(v.isFormData(e)&&v.isFunction(e.entries)){const n={};return v.forEachEntry(e,(r,s)=>{t(up(r),s,n,0)}),n}return null}const jt=(e,t)=>e!=null&&v.hasOwnProp(e,t)?e[t]:void 0;function pp(e,t,n){if(v.isString(e))try{return(t||JSON.parse)(e),v.trim(e)}catch(r){if(r.name!=="SyntaxError")throw r}return(n||JSON.stringify)(e)}const Cn={transitional:ma,adapter:["xhr","http","fetch"],transformRequest:[function(t,n){const r=n.getContentType()||"",s=r.indexOf("application/json")>-1,o=v.isObject(t);if(o&&v.isHTMLForm(t)&&(t=new FormData(t)),v.isFormData(t))return s?JSON.stringify(Do(t)):t;if(v.isArrayBuffer(t)||v.isBuffer(t)||v.isStream(t)||v.isFile(t)||v.isBlob(t)||v.isReadableStream(t))return t;if(v.isArrayBufferView(t))return t.buffer;if(v.isURLSearchParams(t))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let i;if(o){const c=jt(this,"formSerializer");if(r.indexOf("application/x-www-form-urlencoded")>-1)return dp(t,c).toString();if((i=v.isFileList(t))||r.indexOf("multipart/form-data")>-1){const d=jt(this,"env"),f=d&&d.FormData;return sr(i?{"files[]":t}:t,f&&new f,c)}}return o||s?(n.setContentType("application/json",!1),pp(t)):t}],transformResponse:[function(t){const n=jt(this,"transitional")||Cn.transitional,r=n&&n.forcedJSONParsing,s=jt(this,"responseType"),o=s==="json";if(v.isResponse(t)||v.isReadableStream(t))return t;if(t&&v.isString(t)&&(r&&!s||o)){const i=!(n&&n.silentJSONParsing)&&o;try{return JSON.parse(t,jt(this,"parseReviver"))}catch(c){if(i)throw c.name==="SyntaxError"?J.from(c,J.ERR_BAD_RESPONSE,this,null,jt(this,"response")):c}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:_e.classes.FormData,Blob:_e.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};v.forEach(["delete","get","head","post","put","patch","query"],e=>{Cn.headers[e]={}});function ya(e,t){const n=this||Cn,r=t||n,s=Te.from(r.headers);let o=r.data;return v.forEach(e,function(i){o=i.call(n,o,s.normalize(),t?t.status:void 0)}),s.normalize(),o}function Mo(e){return!!(e&&e.__CANCEL__)}let Nn=class extends J{constructor(t,n,r){super(t??"canceled",J.ERR_CANCELED,n,r),this.name="CanceledError",this.__CANCEL__=!0}};function xo(e,t,n){const r=n.config.validateStatus;!n.status||!r||r(n.status)?e(n):t(new J("Request failed with status code "+n.status,n.status>=400&&n.status<500?J.ERR_BAD_REQUEST:J.ERR_BAD_RESPONSE,n.config,n.request,n))}function hp(e){const t=/^([-+\w]{1,25}):(?:\/\/)?/.exec(e);return t&&t[1]||""}function mp(e,t){e=e||10;const n=new Array(e),r=new Array(e);let s=0,o=0,l;return t=t!==void 0?t:1e3,function(c){const d=Date.now(),f=r[o];l||(l=d),n[s]=c,r[s]=d;let u=o,p=0;for(;u!==s;)p+=n[u++],u=u%e;if(s=(s+1)%e,s===o&&(o=(o+1)%e),d-l<t)return;const S=f&&d-f;return S?Math.round(p*1e3/S):void 0}}function gp(e,t){let n=0,r=1e3/t,s,o;const l=(d,f=Date.now())=>{n=f,s=null,o&&(clearTimeout(o),o=null),e(...d)};return[(...d)=>{const f=Date.now(),u=f-n;u>=r?l(d,f):(s=d,o||(o=setTimeout(()=>{o=null,l(s)},r-u)))},()=>s&&l(s)]}const or=(e,t,n=3)=>{let r=0;const s=mp(50,250);return gp(o=>{if(!o||typeof o.loaded!="number")return;const l=o.loaded,i=o.lengthComputable?o.total:void 0,c=Math.max(0,i!=null?Math.min(l,i):l),d=Math.max(0,c-r),f=s(d);r=Math.max(r,c);const u={loaded:c,total:i,progress:i?c/i:void 0,bytes:d,rate:f||void 0,estimated:f&&i?(i-c)/f:void 0,event:o,lengthComputable:i!=null,[t?"download":"upload"]:!0};e(u)},n)},Po=(e,t)=>{const n=e!=null;return[r=>t[0]({lengthComputable:n,total:e,loaded:r}),t[1]]},Bo=(e,t=v.asap)=>(...n)=>t(()=>e(...n)),Ap=_e.hasStandardBrowserEnv?((e,t)=>n=>(n=new URL(n,_e.origin),e.protocol===n.protocol&&e.host===n.host&&(t||e.port===n.port)))(new URL(_e.origin),_e.navigator&&/(msie|trident)/i.test(_e.navigator.userAgent)):()=>!0,yp=_e.hasStandardBrowserEnv?{write(e,t,n,r,s,o,l){if(typeof document>"u")return;const i=[`${e}=${encodeURIComponent(t)}`];v.isNumber(n)&&i.push(`expires=${new Date(n).toUTCString()}`),v.isString(r)&&i.push(`path=${r}`),v.isString(s)&&i.push(`domain=${s}`),o===!0&&i.push("secure"),v.isString(l)&&i.push(`SameSite=${l}`),document.cookie=i.join("; ")},read(e){if(typeof document>"u")return null;const t=document.cookie.split(";");for(let n=0;n<t.length;n++){const r=t[n].replace(/^\s+/,""),s=r.indexOf("=");if(s!==-1&&r.slice(0,s)===e)try{return decodeURIComponent(r.slice(s+1))}catch{return r.slice(s+1)}}return null},remove(e){this.write(e,"",Date.now()-864e5,"/")}}:{write(){},read(){return null},remove(){}};function bp(e){return typeof e!="string"?!1:/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function vp(e,t){if(!t)return e;let n=e.length;for(;n>0&&e.charCodeAt(n-1)===47;)n--;return e.slice(0,n)+"/"+t.replace(/^\/+/,"")}const Sp=/^https?:(?!\/\/)/i,wp=/[\t\n\r]/g;function Cp(e){let t=0;for(;t<e.length&&e.charCodeAt(t)<=32;)t++;return e.slice(t)}function Np(e){return Cp(e).replace(wp,"")}function _p(e){return e&&e.replace(/(^|&)([^=&]*=)?[^&]+/g,(t,n,r="")=>`${n}${r}${ar}`)}function Ep(e){const t=e.replace(/^(https?:\/{0,2})[^/?#]*@/i,`$1${ar}@`),n=t.indexOf("#"),s=(n===-1?t:t.slice(0,n)).replace(/([?&][^=&#]*=)[^&#]*/g,`$1${ar}`);return n===-1?s:`${s}#${_p(t.slice(n+1))}`}function Uo(e,t){if(typeof e=="string"){const n=Np(e);if(Sp.test(n))throw new J(`Invalid URL ${JSON.stringify(Ep(n))}: missing "//" after protocol`,J.ERR_INVALID_URL,t)}}function $o(e,t,n,r){Uo(t,r);let s=!bp(t);return e&&(s||n===!1)?(Uo(e,r),vp(e,t)):t}const jo=e=>e instanceof Te?{...e}:e,Tp=e=>Object.getOwnPropertySymbols&&Object.getOwnPropertyDescriptor?Object.keys(e).concat(Object.getOwnPropertySymbols(e).filter(t=>Object.getOwnPropertyDescriptor(e,t).enumerable)):Object.keys(e);function Ct(e,t){e=e||{},t=t||{};const n=Object.create(null);Object.defineProperty(n,"hasOwnProperty",{__proto__:null,value:Object.prototype.hasOwnProperty,enumerable:!1,writable:!0,configurable:!0});function r(f,u,p,S){return v.isPlainObject(f)&&v.isPlainObject(u)?v.merge.call({caseless:S},f,u):v.isPlainObject(u)?v.merge({},u):v.isArray(u)?u.slice():u}function s(f,u,p,S){if(v.isUndefined(u)){if(!v.isUndefined(f))return r(void 0,f,p,S)}else return r(f,u,p,S)}function o(f,u){if(!v.isUndefined(u))return r(void 0,u)}function l(f,u){if(v.isUndefined(u)){if(!v.isUndefined(f))return r(void 0,f)}else return r(void 0,u)}function i(f){const u=v.hasOwnProp(t,"transitional")?t.transitional:void 0;if(!v.isUndefined(u))if(v.isPlainObject(u)){if(v.hasOwnProp(u,f))return u[f]}else return;const p=v.hasOwnProp(e,"transitional")?e.transitional:void 0;if(v.isPlainObject(p)&&v.hasOwnProp(p,f))return p[f]}function c(f,u,p){if(v.hasOwnProp(t,p))return r(f,u);if(v.hasOwnProp(e,p))return r(void 0,f)}const d={url:o,method:o,data:o,baseURL:l,transformRequest:l,transformResponse:l,paramsSerializer:l,timeout:l,timeoutMessage:l,withCredentials:l,withXSRFToken:l,adapter:l,responseType:l,xsrfCookieName:l,xsrfHeaderName:l,onUploadProgress:l,onDownloadProgress:l,decompress:l,maxContentLength:l,maxBodyLength:l,beforeRedirect:l,transport:l,httpAgent:l,httpsAgent:l,cancelToken:l,socketPath:l,allowedSocketPaths:l,responseEncoding:l,validateStatus:c,headers:(f,u,p)=>s(jo(f),jo(u),p,!0)};return v.forEach(Tp({...e,...t}),function(u){if(u==="__proto__"||u==="constructor"||u==="prototype")return;const p=v.hasOwnProp(d,u)?d[u]:s,S=v.hasOwnProp(e,u)?e[u]:void 0,A=v.hasOwnProp(t,u)?t[u]:void 0,y=p(S,A,u);v.isUndefined(y)&&p!==c||(n[u]=y)}),v.hasOwnProp(t,"validateStatus")&&v.isUndefined(t.validateStatus)&&i("validateStatusUndefinedResolves")===!1&&(v.hasOwnProp(e,"validateStatus")?n.validateStatus=r(void 0,e.validateStatus):delete n.validateStatus),n}const Lp=["content-type","content-length"];function Ip(e,t,n){if(n!=="content-only"){e.set(t);return}Object.entries(t||{}).forEach(([r,s])=>{Lp.includes(r.toLowerCase())&&e.set(r,s)})}const Fp=e=>encodeURIComponent(e).replace(/%([0-9A-F]{2})/gi,(t,n)=>String.fromCharCode(parseInt(n,16)));function Vo(e){const t=Ct({},e),n=p=>v.hasOwnProp(t,p)?t[p]:void 0,r=n("data");let s=n("withXSRFToken");const o=n("xsrfHeaderName"),l=n("xsrfCookieName");let i=n("headers");const c=n("auth"),d=n("baseURL"),f=n("allowAbsoluteUrls"),u=n("url");if(t.headers=i=Te.from(i),t.url=Io($o(d,u,f,t),n("params"),n("paramsSerializer")),c){const p=v.getSafeProp(c,"username")||"",S=v.getSafeProp(c,"password")||"";try{i.set("Authorization","Basic "+btoa(p+":"+(S?Fp(S):"")))}catch(A){throw J.from(A,J.ERR_BAD_OPTION_VALUE,e)}}if(v.isFormData(r)&&(_e.hasStandardBrowserEnv||_e.hasStandardBrowserWebWorkerEnv||v.isReactNative(r)?i.setContentType(void 0):v.isFunction(r.getHeaders)&&Ip(i,r.getHeaders(),n("formDataHeaderPolicy"))),_e.hasStandardBrowserEnv&&(v.isFunction(s)&&(s=s(t)),s===!0||s==null&&Ap(t.url))){const S=o&&l&&yp.read(l);S&&i.set(o,S)}return t}const kp=typeof XMLHttpRequest<"u"&&function(e){return new Promise(function(n,r){const s=Vo(e);let o=s.data;const l=Te.from(s.headers).normalize();let{responseType:i,onUploadProgress:c,onDownloadProgress:d}=s,f,u,p,S,A;function y(){S&&S(),A&&A(),s.cancelToken&&s.cancelToken.unsubscribe(f),s.signal&&s.signal.removeEventListener("abort",f)}let g=new XMLHttpRequest;g.open(s.method.toUpperCase(),s.url,!0),g.timeout=s.timeout;function h(){if(!g)return;const _=Te.from("getAllResponseHeaders"in g&&g.getAllResponseHeaders()),O={data:!i||i==="text"||i==="json"?g.responseText:g.response,status:g.status,statusText:g.statusText,headers:_,config:e,request:g};xo(function(z){n(z),y()},function(z){r(z),y()},O),g=null}"onloadend"in g?g.onloadend=h:g.onreadystatechange=function(){!g||g.readyState!==4||g.status===0&&!(g.responseURL&&g.responseURL.startsWith("file:"))||setTimeout(h)},g.onabort=function(){g&&(r(new J("Request aborted",J.ECONNABORTED,e,g)),y(),g=null)},g.onerror=function(N){const O=N&&N.message?N.message:"Network Error",L=new J(O,J.ERR_NETWORK,e,g);L.event=N||null,r(L),y(),g=null},g.ontimeout=function(){let N=s.timeout?"timeout of "+s.timeout+"ms exceeded":"timeout exceeded";const O=s.transitional||ma;s.timeoutErrorMessage&&(N=s.timeoutErrorMessage),r(new J(N,O.clarifyTimeoutError?J.ETIMEDOUT:J.ECONNABORTED,e,g)),y(),g=null},o===void 0&&l.setContentType(null),"setRequestHeader"in g&&v.forEach(wo(l),function(N,O){g.setRequestHeader(O,N)}),v.isUndefined(s.withCredentials)||(g.withCredentials=!!s.withCredentials),i&&i!=="json"&&(g.responseType=s.responseType),d&&([p,A]=or(d,!0),g.addEventListener("progress",p)),c&&g.upload&&([u,S]=or(c),g.upload.addEventListener("progress",u),g.upload.addEventListener("loadend",S)),(s.cancelToken||s.signal)&&(f=_=>{g&&(r(!_||_.type?new Nn(null,e,g):_),g.abort(),y(),g=null)},s.cancelToken&&s.cancelToken.subscribe(f),s.signal&&(s.signal.aborted?f():s.signal.addEventListener("abort",f)));const b=hp(s.url);if(b&&!_e.protocols.includes(b)){r(new J("Unsupported protocol "+b+":",J.ERR_BAD_REQUEST,e)),y();return}g.send(o||null)})},Op=(e,t)=>{if(e=e?e.filter(Boolean):[],!t&&!e.length)return;const n=new AbortController;let r=!1;const s=function(c){if(!r){r=!0,l();const d=c instanceof Error?c:this.reason;n.abort(d instanceof J?d:new Nn(d instanceof Error?d.message:d))}};let o=t&&setTimeout(()=>{o=null,s(new J(`timeout of ${t}ms exceeded`,J.ETIMEDOUT))},t);const l=()=>{e&&(o&&clearTimeout(o),o=null,e.forEach(c=>{c.unsubscribe?c.unsubscribe(s):c.removeEventListener("abort",s)}),e=null)};e.forEach(c=>{if(!r){if(c.aborted){s.call(c);return}c.addEventListener("abort",s,{once:!0})}});const{signal:i}=n;return i.unsubscribe=()=>v.asap(l),i},Dp=function*(e,t){let n=e.byteLength;if(n<t){yield e;return}let r=0,s;for(;r<n;)s=r+t,yield e.slice(r,s),r=s},Mp=async function*(e,t){for await(const n of xp(e))yield*Dp(n,t)},xp=async function*(e){if(e[Symbol.asyncIterator]){yield*e;return}const t=e.getReader();try{for(;;){const{done:n,value:r}=await t.read();if(n)break;yield r}}finally{await t.cancel()}},Wo=(e,t,n,r)=>{const s=Mp(e,t);let o=0,l,i=c=>{l||(l=!0,r&&r(c))};return new ReadableStream({async pull(c){try{const{done:d,value:f}=await s.next();if(d){i(),c.close();return}let u=f.byteLength;if(n){let p=o+=u;n(p)}c.enqueue(new Uint8Array(f))}catch(d){throw i(d),d}},cancel(c){return i(c),s.return()}},{highWaterMark:2})},qo=e=>e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102,Ho=(e,t,n)=>t+2<n&&qo(e.charCodeAt(t+1))&&qo(e.charCodeAt(t+2)),zo=e=>e<=57?e-48:(e&223)-55,Pp=e=>e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||e===43||e===47||e===45||e===95,Bp=e=>e===9||e===10||e===12||e===13||e===32,Up=e=>{const t=Math.floor(e/4),n=e%4;return t*3+(n===2?1:n===3?2:0)},$p=e=>{const t=e.length;let n=0;return t>0&&e.charCodeAt(t-1)===61&&(n++,t>1&&e.charCodeAt(t-2)===61&&n++),Math.floor((t-n)*3/4)},jp=e=>{const t=e.length;let n=0,r=0,s=!1;for(let o=0;o<t;o++){let l=e.charCodeAt(o);if(l===37&&Ho(e,o,t)&&(l=zo(e.charCodeAt(o+1))*16+zo(e.charCodeAt(o+2)),o+=2),!Bp(l)){if(l===61){r++;continue}if(!Pp(l)||r>0){s=!0;continue}n++}}return s||r>2||r>0&&(n+r)%4!==0||n%4===1?$p(e):Up(n)},Vp=(e,t)=>{if(!e||typeof e!="string"||!e.startsWith("data:"))return 0;const n=e.indexOf(",");if(n<0)return 0;const r=e.slice(5,n),s=e.slice(n+1);if(/;base64/i.test(r))return t(s);let l=0;for(let i=0,c=s.length;i<c;i++){const d=s.charCodeAt(i);if(d===37&&Ho(s,i,c))l+=1,i+=2;else if(d<128)l+=1;else if(d<2048)l+=2;else if(d>=55296&&d<=56319&&i+1<c){const f=s.charCodeAt(i+1);f>=56320&&f<=57343?(l+=4,i++):l+=3}else l+=3}return l};function Wp(e){const t=typeof e=="string"?e.indexOf("#"):-1;return Vp(t===-1?e:e.slice(0,t),jp)}const ba="1.19.0",Ko=64*1024,{isFunction:lr}=v,qp=e=>encodeURIComponent(e).replace(/%([0-9A-F]{2})/gi,(t,n)=>String.fromCharCode(parseInt(n,16))),Qo=e=>{if(!v.isString(e))return e;try{return decodeURIComponent(e)}catch{return e}},Xo=(e,...t)=>{try{return!!e(...t)}catch{return!1}},Hp=e=>{const t=e.indexOf("://");let n=e;return t!==-1&&(n=n.slice(t+3)),n.includes("@")||n.includes(":")},zp=e=>{const t=v.global!==void 0&&v.global!==null?v.global:globalThis,{ReadableStream:n,TextEncoder:r}=t;e=v.merge.call({skipUndefined:!0},{Request:t.Request,Response:t.Response},e);const{fetch:s,Request:o,Response:l}=e,i=s?lr(s):typeof fetch=="function",c=lr(o),d=lr(l);if(!i)return!1;const f=i&&lr(n),u=i&&(typeof r=="function"?(h=>b=>h.encode(b))(new r):async h=>new Uint8Array(await new o(h).arrayBuffer())),p=c&&f&&Xo(()=>{let h=!1;const b=new o(_e.origin,{body:new n,method:"POST",get duplex(){return h=!0,"half"}}),_=b.headers.has("Content-Type");return b.body!=null&&b.body.cancel(),h&&!_}),S=d&&f&&Xo(()=>v.isReadableStream(new l("").body)),A={stream:S&&(h=>h.body)};i&&["text","arrayBuffer","blob","formData","stream"].forEach(h=>{!A[h]&&(A[h]=(b,_)=>{let N=b&&b[h];if(N)return N.call(b);throw new J(`Response type '${h}' is not supported`,J.ERR_NOT_SUPPORT,_)})});const y=async h=>{if(h==null)return 0;if(v.isBlob(h))return h.size;if(v.isSpecCompliantForm(h))return(await new o(_e.origin,{method:"POST",body:h}).arrayBuffer()).byteLength;if(v.isArrayBufferView(h)||v.isArrayBuffer(h))return h.byteLength;if(v.isURLSearchParams(h)&&(h=h+""),v.isString(h))return(await u(h)).byteLength},g=async(h,b)=>{const _=v.toFiniteNumber(h.getContentLength());return _??y(b)};return async h=>{let{url:b,method:_,data:N,signal:O,cancelToken:L,timeout:z,onDownloadProgress:ae,onUploadProgress:W,responseType:j,headers:K,withCredentials:P="same-origin",fetchOptions:Q,maxContentLength:F,maxBodyLength:x}=Vo(h);const G=v.isNumber(F)&&F>-1,ee=v.isNumber(x)&&x>-1,T=E=>v.hasOwnProp(h,E)?h[E]:void 0;let M=s||fetch;j=j?(j+"").toLowerCase():"text";let q=Op([O,L&&L.toAbortSignal()],z),R=null;const w=q&&q.unsubscribe&&(()=>{q.unsubscribe()});let $,k=null;const V=()=>new J("Request body larger than maxBodyLength limit",J.ERR_BAD_REQUEST,h,R);try{let E;const U=T("auth");if(U){const se=v.getSafeProp(U,"username")||"",Ae=v.getSafeProp(U,"password")||"";E={username:se,password:Ae}}if(Hp(b)){const se=new URL(b,_e.origin);if(!E&&(se.username||se.password)){const Ae=Qo(se.username),Se=Qo(se.password);E={username:Ae,password:Se}}(se.username||se.password)&&(se.username="",se.password="",b=se.href)}if(E&&(K.delete("authorization"),K.set("Authorization","Basic "+btoa(qp((E.username||"")+":"+(E.password||""))))),G&&typeof b=="string"&&b.startsWith("data:")&&Wp(b)>F)throw new J("maxContentLength size of "+F+" exceeded",J.ERR_BAD_RESPONSE,h,R);if(ee&&_!=="get"&&_!=="head"){const se=await y(N);if(typeof se=="number"&&isFinite(se)&&($=se,se>x))throw V()}const C=ee&&(v.isReadableStream(N)||v.isStream(N)),Y=(se,Ae,Se)=>Wo(se,Ko,Ee=>{if(ee&&Ee>x)throw k=V();Ae&&Ae(Ee)},Se);if(p&&_!=="get"&&_!=="head"&&(W||C)){if($=$??await g(K,N),$!==0||C){let se=new o(b,{method:"POST",body:N,duplex:"half"}),Ae;if(v.isFormData(N)&&(Ae=se.headers.get("content-type"))&&K.setContentType(Ae),se.body){const[Se,Ee]=W&&Po($,or(Bo(W)))||[];N=Y(se.body,Se,Ee)}}}else if(C&&!c&&f&&_!=="get"&&_!=="head")N=Y(N);else if(C&&c&&!p&&_!=="get"&&_!=="head")throw new J("Stream request bodies are not supported by the current fetch implementation",J.ERR_NOT_SUPPORT,h,R);v.isString(P)||(P=P?"include":"omit");const te=c&&"credentials"in o.prototype;if(v.isFormData(N)){const se=K.getContentType();se&&/^multipart\/form-data/i.test(se)&&!/boundary=/i.test(se)&&K.delete("content-type")}K.set("User-Agent","axios/"+ba,!1);const oe={...Q,signal:q,method:_.toUpperCase(),headers:wo(K.normalize()),body:N,duplex:"half",credentials:te?P:void 0};R=c&&new o(b,oe);let me=await(c?M(R,Q):M(b,oe));const Z=Te.from(me.headers);if(G){const se=v.toFiniteNumber(Z.getContentLength());if(se!=null&&se>F)throw new J("maxContentLength size of "+F+" exceeded",J.ERR_BAD_RESPONSE,h,R)}const re=S&&(j==="stream"||j==="response");if(S&&me.body&&(ae||G||re&&w)){const se={};["status","statusText","headers"].forEach(Xe=>{se[Xe]=me[Xe]});const Ae=v.toFiniteNumber(Z.getContentLength()),[Se,Ee]=ae&&Po(Ae,or(Bo(ae),!0))||[];let yt=0;const He=Xe=>{if(G&&(yt=Xe,yt>F))throw new J("maxContentLength size of "+F+" exceeded",J.ERR_BAD_RESPONSE,h,R);Se&&Se(Xe)};me=new l(Wo(me.body,Ko,He,()=>{Ee&&Ee(),w&&w()}),se)}j=j||"text";let pe=await A[v.findKey(A,j)||"text"](me,h);if(G&&!S&&!re){let se;if(pe!=null&&(typeof pe.byteLength=="number"?se=pe.byteLength:typeof pe.size=="number"?se=pe.size:typeof pe=="string"&&(se=typeof r=="function"?new r().encode(pe).byteLength:pe.length)),typeof se=="number"&&se>F)throw new J("maxContentLength size of "+F+" exceeded",J.ERR_BAD_RESPONSE,h,R)}return!re&&w&&w(),await new Promise((se,Ae)=>{xo(se,Ae,{data:pe,headers:Te.from(me.headers),status:me.status,statusText:me.statusText,config:h,request:R})})}catch(E){if(w&&w(),q&&q.aborted&&q.reason instanceof J){const U=q.reason;throw U.config=h,R&&(U.request=R),E!==U&&Object.defineProperty(U,"cause",{__proto__:null,value:E,writable:!0,enumerable:!1,configurable:!0}),U}if(k)throw R&&!k.request&&(k.request=R),k;if(E instanceof J)throw R&&!E.request&&(E.request=R),E;if(E&&E.name==="TypeError"&&/Load failed|fetch/i.test(E.message)){const U=new J("Network Error",J.ERR_NETWORK,h,R,E&&E.response);throw Object.defineProperty(U,"cause",{__proto__:null,value:E.cause||E,writable:!0,enumerable:!1,configurable:!0}),U}throw J.from(E,E&&E.code,h,R,E&&E.response)}}},Kp=new Map,Yo=e=>{let t=e&&e.env||{};const{fetch:n,Request:r,Response:s}=t,o=[r,s,n];let l=o.length,i=l,c,d,f=Kp;for(;i--;)c=o[i],d=f.get(c),d===void 0&&f.set(c,d=i?new Map:zp(t)),f=d;return d};Yo();const va={http:np,xhr:kp,fetch:{get:Yo}};v.forEach(va,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{__proto__:null,value:t})}catch{}Object.defineProperty(e,"adapterName",{__proto__:null,value:t})}});const Go=e=>`- ${e}`,Qp=e=>v.isFunction(e)||e===null||e===!1;function Xp(e,t){e=v.isArray(e)?e:[e];const{length:n}=e;let r,s;const o={};for(let l=0;l<n;l++){r=e[l];let i;if(s=r,!Qp(r)&&(s=va[(i=String(r)).toLowerCase()],s===void 0))throw new J(`Unknown adapter '${i}'`);if(s&&(v.isFunction(s)||(s=s.get(t))))break;o[i||"#"+l]=s}if(!s){const l=Object.entries(o).map(([c,d])=>`adapter ${c} `+(d===!1?"is not supported by the environment":"is not available in the build"));let i=n?l.length>1?`since :
6
- `+l.map(Go).join(`
7
- `):" "+Go(l[0]):"as no adapter specified";throw new J("There is no suitable adapter to dispatch the request "+i,J.ERR_NOT_SUPPORT)}return s}const Jo={getAdapter:Xp,adapters:va};function Sa(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new Nn(null,e)}function wa(e){return Sa(e),e.headers=Te.from(e.headers),e.data=ya.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),Jo.getAdapter(e.adapter||Cn.adapter,e)(e).then(function(r){Sa(e),e.response=r;try{r.data=ya.call(e,e.transformResponse,r)}finally{delete e.response}return r.headers=Te.from(r.headers),r},function(r){if(!Mo(r)&&(Sa(e),r&&r.response)){e.response=r.response;try{r.response.data=ya.call(e,e.transformResponse,r.response)}finally{delete e.response}r.response.headers=Te.from(r.response.headers)}return Promise.reject(r)})}const ir={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{ir[e]=function(r){return typeof r===e||"a"+(t<1?"n ":" ")+e}});const Zo={};ir.transitional=function(t,n,r){function s(o,l){return"[Axios v"+ba+"] Transitional option '"+o+"'"+l+(r?". "+r:"")}return(o,l,i)=>{if(t===!1)throw new J(s(l," has been removed"+(n?" in "+n:"")),J.ERR_DEPRECATED);return n&&!Zo[l]&&(Zo[l]=!0,console.warn(s(l," has been deprecated since v"+n+" and will be removed in the near future"))),t?t(o,l,i):!0}},ir.spelling=function(t){return(n,r)=>(console.warn(`${r} is likely a misspelling of ${t}`),!0)};function Yp(e,t,n){if(typeof e!="object"||e===null)throw new J("options must be an object",J.ERR_BAD_OPTION_VALUE);const r=Object.keys(e);let s=r.length;for(;s-- >0;){const o=r[s],l=Object.prototype.hasOwnProperty.call(t,o)?t[o]:void 0;if(l){const i=e[o],c=i===void 0||l(i,o,e);if(c!==!0)throw new J("option "+o+" must be "+c,J.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new J("Unknown option "+o,J.ERR_BAD_OPTION)}}const cr={assertOptions:Yp,validators:ir},Le=cr.validators;let Nt=class{constructor(t){this.defaults=t||{},this.interceptors={request:new Fo,response:new Fo}}async request(t,n){try{return await this._request(t,n)}catch(r){if(r instanceof Error){let s={};Error.captureStackTrace?Error.captureStackTrace(s):s=new Error;const o=(()=>{if(!s.stack)return"";const l=s.stack.indexOf(`
3
+ `+('Please change the parent <Route path="'+b+'"> to <Route ')+('path="'+(b==="/"?"*":b+"/*")+'">.'))}let u=He(),p;if(t){var v;let b=typeof t=="string"?xt(t):t;d==="/"||(v=b.pathname)!=null&&v.startsWith(d)||(process.env.NODE_ENV!=="production"?ue(!1,"When overriding the location using `<Routes location>` or `useRoutes(routes, location)`, the location pathname must begin with the portion of the URL pathname that was "+('matched by all parent routes. The current pathname base is "'+d+'" ')+('but pathname "'+b.pathname+'" was given in the `location` prop.')):ue(!1)),p=b}else p=u;let y=p.pathname||"/",C=y;if(d!=="/"){let b=d.replace(/^\//,"").split("/");C="/"+y.replace(/^\//,"").split("/").slice(b.length).join("/")}let g=Bd(e,{pathname:C});process.env.NODE_ENV!=="production"&&(process.env.NODE_ENV!=="production"&&Ue(f||g!=null,'No routes matched location "'+p.pathname+p.search+p.hash+'" '),process.env.NODE_ENV!=="production"&&Ue(g==null||g[g.length-1].route.element!==void 0||g[g.length-1].route.Component!==void 0||g[g.length-1].route.lazy!==void 0,'Matched leaf route at location "'+p.pathname+p.search+p.hash+'" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.'));let h=mu(g&&g.map(b=>Object.assign({},b,{params:Object.assign({},i,b.params),pathname:ot([d,s.encodeLocation?s.encodeLocation(b.pathname).pathname:b.pathname]),pathnameBase:b.pathnameBase==="/"?d:ot([d,s.encodeLocation?s.encodeLocation(b.pathnameBase).pathname:b.pathnameBase])})),o,n,r);return t&&h?j.createElement(gn.Provider,{value:{location:hn({pathname:"/",search:"",hash:"",state:null,key:"default"},p),navigationType:mt.Pop}},h):h}function uu(){let e=vu(),t=au(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,r="rgba(200,200,200, 0.5)",s={padding:"0.5rem",backgroundColor:r},o={padding:"2px 4px",backgroundColor:r},l=null;return process.env.NODE_ENV!=="production"&&(console.error("Error handled by React Router default ErrorBoundary:",e),l=j.createElement(j.Fragment,null,j.createElement("p",null,"💿 Hey developer 👋"),j.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",j.createElement("code",{style:o},"ErrorBoundary")," or"," ",j.createElement("code",{style:o},"errorElement")," prop on your route."))),j.createElement(j.Fragment,null,j.createElement("h2",null,"Unexpected Application Error!"),j.createElement("h3",{style:{fontStyle:"italic"}},t),n?j.createElement("pre",{style:s},n):null,l)}const fu=j.createElement(uu,null);class pu extends j.Component{constructor(t){super(t),this.state={location:t.location,revalidation:t.revalidation,error:t.error}}static getDerivedStateFromError(t){return{error:t}}static getDerivedStateFromProps(t,n){return n.location!==t.location||n.revalidation!=="idle"&&t.revalidation==="idle"?{error:t.error,location:t.location,revalidation:t.revalidation}:{error:t.error!==void 0?t.error:n.error,location:n.location,revalidation:t.revalidation||n.revalidation}}componentDidCatch(t,n){console.error("React Router caught the following error during render",t,n)}render(){return this.state.error!==void 0?j.createElement(Ye.Provider,{value:this.props.routeContext},j.createElement(ra.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function hu(e){let{routeContext:t,match:n,children:r}=e,s=j.useContext(mn);return s&&s.static&&s.staticContext&&(n.route.errorElement||n.route.ErrorBoundary)&&(s.staticContext._deepestRenderedBoundaryId=n.route.id),j.createElement(Ye.Provider,{value:t},r)}function mu(e,t,n,r){var s;if(t===void 0&&(t=[]),n===void 0&&(n=null),r===void 0&&(r=null),e==null){var o;if(!n)return null;if(n.errors)e=n.matches;else if((o=r)!=null&&o.v7_partialHydration&&t.length===0&&!n.initialized&&n.matches.length>0)e=n.matches;else return null}let l=e,i=(s=n)==null?void 0:s.errors;if(i!=null){let f=l.findIndex(u=>u.route.id&&i?.[u.route.id]!==void 0);f>=0||(process.env.NODE_ENV!=="production"?ue(!1,"Could not find a matching route for errors on route IDs: "+Object.keys(i).join(",")):ue(!1)),l=l.slice(0,Math.min(l.length,f+1))}let c=!1,d=-1;if(n&&r&&r.v7_partialHydration)for(let f=0;f<l.length;f++){let u=l[f];if((u.route.HydrateFallback||u.route.hydrateFallbackElement)&&(d=f),u.route.id){let{loaderData:p,errors:v}=n,y=u.route.loader&&p[u.route.id]===void 0&&(!v||v[u.route.id]===void 0);if(u.route.lazy||y){c=!0,d>=0?l=l.slice(0,d+1):l=[l[0]];break}}}return l.reduceRight((f,u,p)=>{let v,y=!1,C=null,g=null;n&&(v=i&&u.route.id?i[u.route.id]:void 0,C=u.route.errorElement||fu,c&&(d<0&&p===0?(ao("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),y=!0,g=null):d===p&&(y=!0,g=u.route.hydrateFallbackElement||null)));let h=t.concat(l.slice(0,p+1)),b=()=>{let N;return v?N=C:y?N=g:u.route.Component?N=j.createElement(u.route.Component,null):u.route.element?N=u.route.element:N=f,j.createElement(hu,{match:u,routeContext:{outlet:f,matches:h,isDataRoute:n!=null},children:N})};return n&&(u.route.ErrorBoundary||u.route.errorElement||p===0)?j.createElement(pu,{location:n.location,revalidation:n.revalidation,component:C,error:v,children:b(),routeContext:{outlet:null,matches:h,isDataRoute:!0}}):b()},null)}var no=(function(e){return e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e})(no||{}),yn=(function(e){return e.UseBlocker="useBlocker",e.UseLoaderData="useLoaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e.UseRouteId="useRouteId",e})(yn||{});function aa(e){return e+" must be used within a data router. See https://reactrouter.com/v6/routers/picking-a-router."}function gu(e){let t=j.useContext(mn);return t||(process.env.NODE_ENV!=="production"?ue(!1,aa(e)):ue(!1)),t}function Au(e){let t=j.useContext(na);return t||(process.env.NODE_ENV!=="production"?ue(!1,aa(e)):ue(!1)),t}function yu(e){let t=j.useContext(Ye);return t||(process.env.NODE_ENV!=="production"?ue(!1,aa(e)):ue(!1)),t}function sa(e){let t=yu(e),n=t.matches[t.matches.length-1];return n.route.id||(process.env.NODE_ENV!=="production"?ue(!1,e+' can only be used on routes that contain a unique "id"'):ue(!1)),n.route.id}function bu(){return sa(yn.UseRouteId)}function vu(){var e;let t=j.useContext(ra),n=Au(yn.UseRouteError),r=sa(yn.UseRouteError);return t!==void 0?t:(e=n.errors)==null?void 0:e[r]}function Su(){let{router:e}=gu(no.UseNavigateStable),t=sa(yn.UseNavigateStable),n=j.useRef(!1);return to(()=>{n.current=!0}),j.useCallback(function(s,o){o===void 0&&(o={}),process.env.NODE_ENV!=="production"&&Ue(n.current,eo),n.current&&(typeof s=="number"?e.navigate(s):e.navigate(s,hn({fromRouteId:t},o)))},[e,t])}const ro={};function ao(e,t,n){!t&&!ro[e]&&(ro[e]=!0,process.env.NODE_ENV!=="production"&&Ue(!1,n))}const so={};function wu(e,t){process.env.NODE_ENV!=="production"&&!so[t]&&(so[t]=!0,console.warn(t))}const oo=(e,t,n)=>wu(e,"⚠️ React Router Future Flag Warning: "+t+". "+("You can use the `"+e+"` future flag to opt-in early. ")+("For more information, see "+n+"."));function Cu(e,t){e?.v7_startTransition===void 0&&oo("v7_startTransition","React Router will begin wrapping state updates in `React.startTransition` in v7","https://reactrouter.com/v6/upgrading/future#v7_starttransition"),e?.v7_relativeSplatPath===void 0&&oo("v7_relativeSplatPath","Relative route resolution within Splat routes is changing in v7","https://reactrouter.com/v6/upgrading/future#v7_relativesplatpath")}function lo(e){let{to:t,replace:n,state:r,relative:s}=e;vt()||(process.env.NODE_ENV!=="production"?ue(!1,"<Navigate> may be used only in the context of a <Router> component."):ue(!1));let{future:o,static:l}=j.useContext(qe);process.env.NODE_ENV!=="production"&&Ue(!l,"<Navigate> must not be used on the initial render in a <StaticRouter>. This is a no-op, but you should modify your code so the <Navigate> is only ever rendered in response to some user interaction or state change.");let{matches:i}=j.useContext(Ye),{pathname:c}=He(),d=Ge(),f=ta(t,ea(i,o.v7_relativeSplatPath),c,s==="path"),u=JSON.stringify(f);return j.useEffect(()=>d(JSON.parse(u),{replace:n,state:r,relative:s}),[d,u,s,n,r]),null}function Ce(e){process.env.NODE_ENV!=="production"?ue(!1,"A <Route> is only ever to be used as the child of <Routes> element, never rendered directly. Please wrap your <Route> in a <Routes>."):ue(!1)}function Nu(e){let{basename:t="/",children:n=null,location:r,navigationType:s=mt.Pop,navigator:o,static:l=!1,future:i}=e;vt()&&(process.env.NODE_ENV!=="production"?ue(!1,"You cannot render a <Router> inside another <Router>. You should never have more than one in your app."):ue(!1));let c=t.replace(/^\/*/,"/"),d=j.useMemo(()=>({basename:c,navigator:o,static:l,future:hn({v7_relativeSplatPath:!1},i)}),[c,i,o,l]);typeof r=="string"&&(r=xt(r));let{pathname:f="/",search:u="",hash:p="",state:v=null,key:y="default"}=r,C=j.useMemo(()=>{let g=gt(f,c);return g==null?null:{location:{pathname:g,search:u,hash:p,state:v,key:y},navigationType:s}},[c,f,u,p,v,y,s]);return process.env.NODE_ENV!=="production"&&Ue(C!=null,'<Router basename="'+c+'"> is not able to match the URL '+('"'+f+u+p+'" because it does not start with the ')+"basename, so the <Router> won't render anything."),C==null?null:j.createElement(qe.Provider,{value:d},j.createElement(gn.Provider,{children:n,value:C}))}function _u(e){let{children:t,location:n}=e;return cu(oa(t),n)}new Promise(()=>{});function oa(e,t){t===void 0&&(t=[]);let n=[];return j.Children.forEach(e,(r,s)=>{if(!j.isValidElement(r))return;let o=[...t,s];if(r.type===j.Fragment){n.push.apply(n,oa(r.props.children,o));return}r.type!==Ce&&(process.env.NODE_ENV!=="production"?ue(!1,"["+(typeof r.type=="string"?r.type:r.type.name)+"] is not a <Route> component. All component children of <Routes> must be a <Route> or <React.Fragment>"):ue(!1)),!r.props.index||!r.props.children||(process.env.NODE_ENV!=="production"?ue(!1,"An index route cannot have child routes."):ue(!1));let l={id:r.props.id||o.join("-"),caseSensitive:r.props.caseSensitive,element:r.props.element,Component:r.props.Component,index:r.props.index,path:r.props.path,loader:r.props.loader,action:r.props.action,errorElement:r.props.errorElement,ErrorBoundary:r.props.ErrorBoundary,hasErrorBoundary:r.props.ErrorBoundary!=null||r.props.errorElement!=null,shouldRevalidate:r.props.shouldRevalidate,handle:r.props.handle,lazy:r.props.lazy};r.props.children&&(l.children=oa(r.props.children,o)),n.push(l)}),n}function Pt(){return Pt=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Pt.apply(null,arguments)}function la(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}const Yn="get",Gn="application/x-www-form-urlencoded";function Jn(e){return e!=null&&typeof e.tagName=="string"}function Eu(e){return Jn(e)&&e.tagName.toLowerCase()==="button"}function Tu(e){return Jn(e)&&e.tagName.toLowerCase()==="form"}function Lu(e){return Jn(e)&&e.tagName.toLowerCase()==="input"}function Iu(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function Fu(e,t){return e.button===0&&(!t||t==="_self")&&!Iu(e)}function ia(e){return e===void 0&&(e=""),new URLSearchParams(typeof e=="string"||Array.isArray(e)||e instanceof URLSearchParams?e:Object.keys(e).reduce((t,n)=>{let r=e[n];return t.concat(Array.isArray(r)?r.map(s=>[n,s]):[[n,r]])},[]))}function ku(e,t){let n=ia(e);return t&&t.forEach((r,s)=>{n.has(s)||t.getAll(s).forEach(o=>{n.append(s,o)})}),n}let Zn=null;function Ou(){if(Zn===null)try{new FormData(document.createElement("form"),0),Zn=!1}catch{Zn=!0}return Zn}const Du=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function ca(e){return e!=null&&!Du.has(e)?(process.env.NODE_ENV!=="production"&&Ue(!1,'"'+e+'" is not a valid `encType` for `<Form>`/`<fetcher.Form>` '+('and will default to "'+Gn+'"')),null):e}function Mu(e,t){let n,r,s,o,l;if(Tu(e)){let i=e.getAttribute("action");r=i?gt(i,t):null,n=e.getAttribute("method")||Yn,s=ca(e.getAttribute("enctype"))||Gn,o=new FormData(e)}else if(Eu(e)||Lu(e)&&(e.type==="submit"||e.type==="image")){let i=e.form;if(i==null)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let c=e.getAttribute("formaction")||i.getAttribute("action");if(r=c?gt(c,t):null,n=e.getAttribute("formmethod")||i.getAttribute("method")||Yn,s=ca(e.getAttribute("formenctype"))||ca(i.getAttribute("enctype"))||Gn,o=new FormData(i,e),!Ou()){let{name:d,type:f,value:u}=e;if(f==="image"){let p=d?d+".":"";o.append(p+"x","0"),o.append(p+"y","0")}else d&&o.append(d,u)}}else{if(Jn(e))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');n=Yn,r=null,s=Gn,l=e}return o&&s==="text/plain"&&(l=o,o=void 0),{action:r,method:n.toLowerCase(),encType:s,formData:o,body:l}}const xu=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","viewTransition"],Pu=["aria-current","caseSensitive","className","end","style","to","viewTransition","children"],Bu=["fetcherKey","navigate","reloadDocument","replace","state","method","action","onSubmit","relative","preventScrollReset","viewTransition"],Uu="6";try{window.__reactRouterVersion=Uu}catch{}const io=j.createContext({isTransitioning:!1});process.env.NODE_ENV!=="production"&&(io.displayName="ViewTransition");const $u=j.createContext(new Map);process.env.NODE_ENV!=="production"&&($u.displayName="Fetchers");const co=j["startTransition"];function ju(e){let{basename:t,children:n,future:r,window:s}=e,o=j.useRef();o.current==null&&(o.current=Md({window:s,v5Compat:!0}));let l=o.current,[i,c]=j.useState({action:l.action,location:l.location}),{v7_startTransition:d}=r||{},f=j.useCallback(u=>{d&&co?co(()=>c(u)):c(u)},[c,d]);return j.useLayoutEffect(()=>l.listen(f),[l,f]),j.useEffect(()=>Cu(r),[r]),j.createElement(Nu,{basename:t,children:n,location:i.location,navigationType:i.action,navigator:l,future:r})}process.env.NODE_ENV;const Vu=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",Wu=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,uo=j.forwardRef(function(t,n){let{onClick:r,relative:s,reloadDocument:o,replace:l,state:i,target:c,to:d,preventScrollReset:f,viewTransition:u}=t,p=la(t,xu),{basename:v}=j.useContext(qe),y,C=!1;if(typeof d=="string"&&Wu.test(d)&&(y=d,Vu))try{let N=new URL(window.location.href),w=d.startsWith("//")?new URL(N.protocol+d):new URL(d),_=gt(w.pathname,v);w.origin===N.origin&&_!=null?d=_+w.search+w.hash:C=!0}catch{process.env.NODE_ENV!=="production"&&Ue(!1,'<Link to="'+d+'"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.')}let g=lu(d,{relative:s}),h=Ku(d,{replace:l,state:i,target:c,preventScrollReset:f,relative:s,viewTransition:u});function b(N){r&&r(N),N.defaultPrevented||h(N)}return j.createElement("a",Pt({},p,{href:y||g,onClick:C||o?r:b,ref:n,target:c}))});process.env.NODE_ENV!=="production"&&(uo.displayName="Link");const qu=j.forwardRef(function(t,n){let{"aria-current":r="page",caseSensitive:s=!1,className:o="",end:l=!1,style:i,to:c,viewTransition:d,children:f}=t,u=la(t,Pu),p=An(c,{relative:u.relative}),v=He(),y=j.useContext(na),{navigator:C,basename:g}=j.useContext(qe),h=y!=null&&Zu(p)&&d===!0,b=C.encodeLocation?C.encodeLocation(p).pathname:p.pathname,N=v.pathname,w=y&&y.navigation&&y.navigation.location?y.navigation.location.pathname:null;s||(N=N.toLowerCase(),w=w?w.toLowerCase():null,b=b.toLowerCase()),w&&g&&(w=gt(w,g)||w);const _=b!=="/"&&b.endsWith("/")?b.length-1:b.length;let T=N===b||!l&&N.startsWith(b)&&N.charAt(_)==="/",W=w!=null&&(w===b||!l&&w.startsWith(b)&&w.charAt(b.length)==="/"),ae={isActive:T,isPending:W,isTransitioning:h},H=T?r:void 0,z;typeof o=="function"?z=o(ae):z=[o,T?"active":null,W?"pending":null,h?"transitioning":null].filter(Boolean).join(" ");let K=typeof i=="function"?i(ae):i;return j.createElement(uo,Pt({},u,{"aria-current":H,className:z,ref:n,style:K,to:c,viewTransition:d}),typeof f=="function"?f(ae):f)});process.env.NODE_ENV!=="production"&&(qu.displayName="NavLink");const Hu=j.forwardRef((e,t)=>{let{fetcherKey:n,navigate:r,reloadDocument:s,replace:o,state:l,method:i=Yn,action:c,onSubmit:d,relative:f,preventScrollReset:u,viewTransition:p}=e,v=la(e,Bu),y=Gu(),C=Ju(c,{relative:f}),g=i.toLowerCase()==="get"?"get":"post",h=b=>{if(d&&d(b),b.defaultPrevented)return;b.preventDefault();let N=b.nativeEvent.submitter,w=N?.getAttribute("formmethod")||i;y(N||b.currentTarget,{fetcherKey:n,method:w,navigate:r,replace:o,state:l,relative:f,preventScrollReset:u,viewTransition:p})};return j.createElement("form",Pt({ref:t,method:g,action:C,onSubmit:s?d:h},v))});process.env.NODE_ENV!=="production"&&(Hu.displayName="Form"),process.env.NODE_ENV;var Rn;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})(Rn||(Rn={}));var fo;(function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"})(fo||(fo={}));function zu(e){return e+" must be used within a data router. See https://reactrouter.com/v6/routers/picking-a-router."}function po(e){let t=j.useContext(mn);return t||(process.env.NODE_ENV!=="production"?ue(!1,zu(e)):ue(!1)),t}function Ku(e,t){let{target:n,replace:r,state:s,preventScrollReset:o,relative:l,viewTransition:i}=t===void 0?{}:t,c=Ge(),d=He(),f=An(e,{relative:l});return j.useCallback(u=>{if(Fu(u,n)){u.preventDefault();let p=r!==void 0?r:pn(d)===pn(f);c(e,{replace:p,state:s,preventScrollReset:o,relative:l,viewTransition:i})}},[d,c,f,r,s,n,e,o,l,i])}function ho(e){process.env.NODE_ENV!=="production"&&Ue(typeof URLSearchParams<"u","You cannot use the `useSearchParams` hook in a browser that does not support the URLSearchParams API. If you need to support Internet Explorer 11, we recommend you load a polyfill such as https://github.com/ungap/url-search-params.");let t=j.useRef(ia(e)),n=j.useRef(!1),r=He(),s=j.useMemo(()=>ku(r.search,n.current?null:t.current),[r.search]),o=Ge(),l=j.useCallback((i,c)=>{const d=ia(typeof i=="function"?i(s):i);n.current=!0,o("?"+d,c)},[o,s]);return[s,l]}function Qu(){if(typeof document>"u")throw new Error("You are calling submit during the server render. Try calling submit within a `useEffect` or callback instead.")}let Xu=0,Yu=()=>"__"+String(++Xu)+"__";function Gu(){let{router:e}=po(Rn.UseSubmit),{basename:t}=j.useContext(qe),n=bu();return j.useCallback(function(r,s){s===void 0&&(s={}),Qu();let{action:o,method:l,encType:i,formData:c,body:d}=Mu(r,t);if(s.navigate===!1){let f=s.fetcherKey||Yu();e.fetch(f,n,s.action||o,{preventScrollReset:s.preventScrollReset,formData:c,body:d,formMethod:s.method||l,formEncType:s.encType||i,flushSync:s.flushSync})}else e.navigate(s.action||o,{preventScrollReset:s.preventScrollReset,formData:c,body:d,formMethod:s.method||l,formEncType:s.encType||i,replace:s.replace,state:s.state,fromRouteId:n,flushSync:s.flushSync,viewTransition:s.viewTransition})},[e,t,n])}function Ju(e,t){let{relative:n}=t===void 0?{}:t,{basename:r}=j.useContext(qe),s=j.useContext(Ye);s||(process.env.NODE_ENV!=="production"?ue(!1,"useFormAction must be used inside a RouteContext"):ue(!1));let[o]=s.matches.slice(-1),l=Pt({},An(e||".",{relative:n})),i=He();if(e==null){l.search=i.search;let c=new URLSearchParams(l.search),d=c.getAll("index");if(d.some(u=>u==="")){c.delete("index"),d.filter(p=>p).forEach(p=>c.append("index",p));let u=c.toString();l.search=u?"?"+u:""}}return(!e||e===".")&&o.route.index&&(l.search=l.search?l.search.replace(/^\?/,"?index&"):"?index"),r!=="/"&&(l.pathname=l.pathname==="/"?r:ot([r,l.pathname])),pn(l)}function Zu(e,t){t===void 0&&(t={});let n=j.useContext(io);n==null&&(process.env.NODE_ENV!=="production"?ue(!1,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?"):ue(!1));let{basename:r}=po(Rn.useViewTransitionState),s=An(e,{relative:t.relative});if(!n.isTransitioning)return!1;let o=gt(n.currentLocation.pathname,r)||n.currentLocation.pathname,l=gt(n.nextLocation.pathname,r)||n.nextLocation.pathname;return Zr(s.pathname,l)!=null||Zr(s.pathname,o)!=null}function mo(e,t){return function(){return e.apply(t,arguments)}}const{toString:Ru}=Object.prototype,{getPrototypeOf:Bt}=Object,{iterator:bn,toStringTag:go}=Symbol,er=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),vn=(e,t)=>{let n=e;const r=[];for(;n!=null&&n!==Object.prototype;){if(r.indexOf(n)!==-1)return!1;if(r.push(n),er(n,t))return!0;n=Bt(n)}return!1},ef=(e,t)=>e!=null&&vn(e,t)?e[t]:void 0,da=(e=>t=>{const n=Ru.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),ze=e=>(e=e.toLowerCase(),t=>da(t)===e),tr=e=>t=>typeof t===e,{isArray:St}=Array,wt=tr("undefined");function Ut(e){return e!==null&&!wt(e)&&e.constructor!==null&&!wt(e.constructor)&&Me(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const Ao=ze("ArrayBuffer");function tf(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&Ao(e.buffer),t}const nf=tr("string"),Me=tr("function"),yo=tr("number"),$t=e=>e!==null&&typeof e=="object",rf=e=>e===!0||e===!1,nr=e=>{if(!$t(e))return!1;const t=Bt(e);return(t===null||t===Object.prototype||Bt(t)===null)&&!vn(e,go)&&!vn(e,bn)},af=e=>{if(!$t(e)||Ut(e))return!1;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return!1}},sf=ze("Date"),of=ze("File"),lf=e=>!!(e&&typeof e.uri<"u"),cf=e=>e&&typeof e.getParts<"u",df=ze("Blob"),uf=ze("FileList"),ff=ze("Set"),pf=e=>$t(e)&&Me(e.pipe);function hf(){return typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{}}const bo=hf(),vo=typeof bo.FormData<"u"?bo.FormData:void 0,mf=e=>{if(!e)return!1;if(vo&&e instanceof vo)return!0;const t=Bt(e);if(!t||t===Object.prototype||!Me(e.append))return!1;const n=da(e);return n==="formdata"||n==="object"&&Me(e.toString)&&e.toString()==="[object FormData]"},gf=ze("URLSearchParams"),[Af,yf,bf,vf]=["ReadableStream","Request","Response","Headers"].map(ze),Sf=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function Sn(e,t,{allOwnKeys:n=!1}={}){if(e===null||typeof e>"u")return;let r,s;if(typeof e!="object"&&(e=[e]),St(e))for(r=0,s=e.length;r<s;r++)t.call(null,e[r],r,e);else{if(Ut(e))return;const o=n?Object.getOwnPropertyNames(e):Object.keys(e),l=o.length;let i;for(r=0;r<l;r++)i=o[r],t.call(null,e[i],i,e)}}function So(e,t){if(Ut(e))return null;t=t.toLowerCase();const n=Object.keys(e);let r=n.length,s;for(;r-- >0;)if(s=n[r],t===s.toLowerCase())return s;return null}const Ct=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,wo=e=>!wt(e)&&e!==Ct;function ua(...e){const{caseless:t,skipUndefined:n}=wo(this)&&this||{},r={},s=(o,l)=>{if(l==="__proto__"||l==="constructor"||l==="prototype")return;const i=t&&typeof l=="string"&&So(r,l)||l,c=er(r,i)?r[i]:void 0;nr(c)&&nr(o)?r[i]=ua(c,o):nr(o)?r[i]=ua({},o):St(o)?r[i]=o.slice():(!n||!wt(o))&&(r[i]=o)};for(let o=0,l=e.length;o<l;o++){const i=e[o];if(!i||Ut(i)||(Sn(i,s),typeof i!="object"||St(i)))continue;const c=Object.getOwnPropertySymbols(i);for(let d=0;d<c.length;d++){const f=c[d];Df.call(i,f)&&s(i[f],f)}}return r}const wf=(e,t,n,{allOwnKeys:r}={})=>(Sn(t,(s,o)=>{n&&Me(s)?Object.defineProperty(e,o,{__proto__:null,value:mo(s,n),writable:!0,enumerable:!0,configurable:!0}):Object.defineProperty(e,o,{__proto__:null,value:s,writable:!0,enumerable:!0,configurable:!0})},{allOwnKeys:r}),e),Cf=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),Nf=(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),Object.defineProperty(e.prototype,"constructor",{__proto__:null,value:e,writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(e,"super",{__proto__:null,value:t.prototype}),n&&Object.assign(e.prototype,n)},_f=(e,t,n,r)=>{let s,o,l;const i={};if(t=t||{},e==null)return t;do{for(s=Object.getOwnPropertyNames(e),o=s.length;o-- >0;)l=s[o],(!r||r(l,e,t))&&!i[l]&&(t[l]=e[l],i[l]=!0);e=n!==!1&&Bt(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},Ef=(e,t,n)=>{e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;const r=e.indexOf(t,n);return r!==-1&&r===n},Tf=e=>{if(!e)return null;if(St(e))return e;let t=e.length;if(!yo(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},Lf=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&Bt(Uint8Array)),If=(e,t)=>{const r=(e&&e[bn]).call(e);let s;for(;(s=r.next())&&!s.done;){const o=s.value;t.call(e,o[0],o[1])}},Ff=(e,t)=>{let n;const r=[];for(;(n=e.exec(t))!==null;)r.push(n);return r},kf=ze("HTMLFormElement"),Of=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,r,s){return r.toUpperCase()+s}),{propertyIsEnumerable:Df}=Object.prototype,Mf=ze("RegExp"),Co=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),r={};Sn(n,(s,o)=>{let l;(l=t(s,o,e))!==!1&&(r[o]=l||s)}),Object.defineProperties(e,r)},xf=e=>{Co(e,(t,n)=>{if(Me(e)&&["arguments","caller","callee"].includes(n))return!1;const r=e[n];if(Me(r)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")})}})},Pf=(e,t)=>{const n={},r=s=>{s.forEach(o=>{n[o]=!0})};return St(e)?r(e):r(String(e).split(t)),n},Bf=()=>{},Uf=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function $f(e){return!!(e&&Me(e.append)&&e[go]==="FormData"&&e[bn])}const jf=e=>{const t=new WeakSet,n=r=>{if($t(r)){if(t.has(r))return;if(Ut(r))return r;if(!("toJSON"in r)){t.add(r);let s;if(ff(r)){s=[];for(const o of r){const l=n(o);!wt(l)&&s.push(l)}}else s=St(r)?[]:{},Sn(r,(o,l)=>{const i=n(o);!wt(i)&&(s[l]=i)});return t.delete(r),s}}return r};return n(e)},Vf=ze("AsyncFunction"),Wf=e=>e&&($t(e)||Me(e))&&Me(e.then)&&Me(e.catch),No=((e,t)=>e?setImmediate:t?((n,r)=>(Ct.addEventListener("message",({source:s,data:o})=>{s===Ct&&o===n&&r.length&&r.shift()()},!1),s=>{r.push(s),Ct.postMessage(n,"*")}))(`axios@${Math.random()}`,[]):n=>setTimeout(n))(typeof setImmediate=="function",Me(Ct.postMessage)),qf=typeof queueMicrotask<"u"?queueMicrotask.bind(Ct):typeof process<"u"&&process.nextTick||No,_o=e=>e!=null&&Me(e[bn]),S={isArray:St,isArrayBuffer:Ao,isBuffer:Ut,isFormData:mf,isArrayBufferView:tf,isString:nf,isNumber:yo,isBoolean:rf,isObject:$t,isPlainObject:nr,isEmptyObject:af,isReadableStream:Af,isRequest:yf,isResponse:bf,isHeaders:vf,isUndefined:wt,isDate:sf,isFile:of,isReactNativeBlob:lf,isReactNative:cf,isBlob:df,isRegExp:Mf,isFunction:Me,isStream:pf,isURLSearchParams:gf,isTypedArray:Lf,isFileList:uf,forEach:Sn,merge:ua,extend:wf,trim:Sf,stripBOM:Cf,inherits:Nf,toFlatObject:_f,kindOf:da,kindOfTest:ze,endsWith:Ef,toArray:Tf,forEachEntry:If,matchAll:Ff,isHTMLForm:kf,hasOwnProperty:er,hasOwnProp:er,hasOwnInPrototypeChain:vn,getSafeProp:ef,reduceDescriptors:Co,freezeMethods:xf,toObjectSet:Pf,toCamelCase:Of,noop:Bf,toFiniteNumber:Uf,findKey:So,global:Ct,isContextDefined:wo,isSpecCompliantForm:$f,toJSONObject:jf,isAsyncFn:Vf,isThenable:Wf,setImmediate:No,asap:qf,isIterable:_o,isSafeIterable:e=>e!=null&&vn(e,bn)&&_o(e)},Hf=S.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),zf=e=>{const t={};let n,r,s;return e&&e.split(`
4
+ `).forEach(function(l){s=l.indexOf(":"),n=l.substring(0,s).trim().toLowerCase(),r=l.substring(s+1).trim();const i=S.hasOwnProp(t,n);!n||i&&S.hasOwnProp(Hf,n)||(n==="set-cookie"?i?t[n].push(r):t[n]=[r]:t[n]=i?t[n]+", "+r:r)}),t};function Kf(e){let t=0,n=e.length;for(;t<n;){const r=e.charCodeAt(t);if(r!==9&&r!==32)break;t+=1}for(;n>t;){const r=e.charCodeAt(n-1);if(r!==9&&r!==32)break;n-=1}return t===0&&n===e.length?e:e.slice(t,n)}const Qf=new RegExp("[\\u0000-\\u0008\\u000a-\\u001f\\u007f]+","g"),Xf=new RegExp("[^\\u0009\\u0020-\\u007e\\u0080-\\u00ff]+","g");function fa(e,t){return S.isArray(e)?e.map(n=>fa(n,t)):Kf(String(e).replace(t,""))}const Yf=e=>fa(e,Qf),Gf=e=>fa(e,Xf);function Eo(e){const t=Object.create(null);return S.forEach(e.toJSON(),(n,r)=>{t[r]=Gf(n)}),t}const To=Symbol("internals");function wn(e){return e&&String(e).trim().toLowerCase()}function rr(e){return e===!1||e==null?e:S.isArray(e)?e.map(rr):Yf(String(e))}function Jf(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=n.exec(e);)t[r[1]]=r[2];return t}const Zf=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/;function pa(e){let t=0,n=e.length;for(;t<n;){const r=e.charCodeAt(t);if(r!==9&&r!==32)break;t+=1}for(;n>t;){const r=e.charCodeAt(n-1);if(r!==9&&r!==32)break;n-=1}return t===0&&n===e.length?e:e.slice(t,n)}function Rf(e){const t=e.length-1;if(t<1||e.charCodeAt(0)!==34||e.charCodeAt(t)!==34)return e;let n="";for(let r=1;r<t;r++){const s=e.charCodeAt(r);if(s===34||s===92&&(r+=1,r>=t))return e;n+=e[r]}return n}function ep(e){const t=Object.create(null),n=String(e);let r=0,s=!1,o=!1;function l(i){const c=pa(n.slice(r,i)),d=c.indexOf("=");if(d<1)return;const f=pa(c.slice(0,d));if(!Zf.test(f))return;const u=f.toLowerCase();if(u==="__proto__"||u==="constructor"||u==="prototype")return;const p=pa(c.slice(d+1));t[u]=Rf(p)}for(let i=0;i<n.length;i++){const c=n.charCodeAt(i);s?o?o=!1:c===92?o=!0:c===34&&(s=!1):c===34?s=!0:(c===44||c===59)&&(l(i),r=i+1)}return l(n.length),t}const tp=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function ha(e,t,n,r,s){if(S.isFunction(r))return r.call(this,t,n);if(s&&(t=n),!!S.isString(t)){if(S.isString(r))return t.indexOf(r)!==-1;if(S.isRegExp(r))return r.test(t)}}function np(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,n,r)=>n.toUpperCase()+r)}function rp(e,t){const n=S.toCamelCase(" "+t);["get","set","has"].forEach(r=>{Object.defineProperty(e,r+n,{__proto__:null,value:function(s,o,l){return this[r].call(this,t,s,o,l)},configurable:!0})})}let Fe=class{constructor(t){t&&this.set(t)}set(t,n,r){const s=this;function o(i,c,d){const f=wn(c);if(!f)return;const u=S.findKey(s,f);(!u||s[u]===void 0||d===!0||d===void 0&&s[u]!==!1)&&(s[u||c]=rr(i))}const l=(i,c)=>S.forEach(i,(d,f)=>o(d,f,c));if(S.isPlainObject(t)||t instanceof this.constructor)l(t,n);else if(S.isString(t)&&(t=t.trim())&&!tp(t))l(zf(t),n);else if(S.isObject(t)&&S.isSafeIterable(t)){let i=Object.create(null),c,d;for(const f of t){if(!S.isArray(f))throw new TypeError("Object iterator must return a key-value pair");d=f[0],S.hasOwnProp(i,d)?(c=i[d],i[d]=S.isArray(c)?[...c,f[1]]:[c,f[1]]):i[d]=f[1]}l(i,n)}else t!=null&&o(n,t,r);return this}get(t,n){if(t=wn(t),t){const r=S.findKey(this,t);if(r){const s=this[r];if(!n)return s;if(n===!0)return Jf(s);if(S.isFunction(n))return n.call(this,s,r);if(S.isRegExp(n))return n.exec(s);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,n){if(t=wn(t),t){const r=S.findKey(this,t);return!!(r&&this[r]!==void 0&&(!n||ha(this,this[r],r,n)))}return!1}delete(t,n){const r=this;let s=!1;function o(l){if(l=wn(l),l){const i=S.findKey(r,l);i&&(!n||ha(r,r[i],i,n))&&(delete r[i],s=!0)}}return S.isArray(t)?t.forEach(o):o(t),s}clear(t){const n=Object.keys(this);let r=n.length,s=!1;for(;r--;){const o=n[r];(!t||ha(this,this[o],o,t,!0))&&(delete this[o],s=!0)}return s}normalize(t){const n=this,r={};return S.forEach(this,(s,o)=>{const l=S.findKey(r,o);if(l){n[l]=rr(s),delete n[o];return}const i=t?np(o):String(o).trim();i!==o&&delete n[o],n[i]=rr(s),r[i]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const n=Object.create(null);return S.forEach(this,(r,s)=>{r!=null&&r!==!1&&(n[s]=t&&S.isArray(r)?r.join(", "):r)}),n}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,n])=>t+": "+n).join(`
5
+ `)}getSetCookie(){const t=this.get("set-cookie");return S.isArray(t)?t:t==null||t===!1?[]:[t]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static parseParameters(t){return ep(t)}static concat(t,...n){const r=new this(t);return n.forEach(s=>r.set(s)),r}static accessor(t){const r=(this[To]=this[To]={accessors:{}}).accessors,s=this.prototype;function o(l){const i=wn(l);r[i]||(rp(s,l),r[i]=!0)}return S.isArray(t)?t.forEach(o):o(t),this}};Fe.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),S.reduceDescriptors(Fe.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(r){this[n]=r}}}),S.freezeMethods(Fe);const ar="[REDACTED ****]";function ap(e){if(S.hasOwnProp(e,"toJSON"))return!0;let t=Object.getPrototypeOf(e);for(;t&&t!==Object.prototype;){if(S.hasOwnProp(t,"toJSON"))return!0;t=Object.getPrototypeOf(t)}return!1}function sp(e,t){const n=new Set(t.map(o=>String(o).toLowerCase())),r=[],s=o=>{if(o===null||typeof o!="object"||S.isBuffer(o))return o;if(r.indexOf(o)!==-1)return;o instanceof Fe&&(o=o.toJSON()),r.push(o);let l;if(S.isArray(o))l=[],o.forEach((i,c)=>{const d=s(i);S.isUndefined(d)||(l[c]=d)});else{if(!S.isPlainObject(o)&&ap(o))return r.pop(),o;l=Object.create(null);for(const[i,c]of Object.entries(o)){const d=n.has(i.toLowerCase())?ar:s(c);S.isUndefined(d)||(l[i]=d)}}return r.pop(),l};return s(e)}function Lo(e){try{return String(e)}catch{return""}}function op(e){return e.errors.map(n=>{try{return n&&n.message?Lo(n.message):Lo(n)}catch{return""}}).filter(Boolean).join("; ")||e.name||"AggregateError"}let G=class kd extends Error{static from(t,n,r,s,o,l){let i=t.message;!i&&S.isArray(t.errors)&&t.errors.length&&(i=op(t));const c=new kd(i,n||t.code,r,s,o);return Object.defineProperty(c,"cause",{__proto__:null,value:t,writable:!0,enumerable:!1,configurable:!0}),c.name=t.name,t.status!=null&&c.status==null&&(c.status=t.status),l&&Object.assign(c,l),c}constructor(t,n,r,s,o){super(t),Object.defineProperty(this,"message",{__proto__:null,value:t,enumerable:!0,writable:!0,configurable:!0}),this.name="AxiosError",this.isAxiosError=!0,n&&(this.code=n),r&&(this.config=r),s&&(this.request=s),o&&(this.response=o,this.status=o.status)}toJSON(){const t=this.config,n=t&&S.hasOwnProp(t,"redact")?t.redact:void 0,r=S.isArray(n)&&n.length>0?sp(t,n):S.toJSONObject(t);return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:r,code:this.code,status:this.status}}};G.ERR_BAD_OPTION_VALUE="ERR_BAD_OPTION_VALUE",G.ERR_BAD_OPTION="ERR_BAD_OPTION",G.ECONNABORTED="ECONNABORTED",G.ETIMEDOUT="ETIMEDOUT",G.ECONNREFUSED="ECONNREFUSED",G.ERR_NETWORK="ERR_NETWORK",G.ERR_FR_TOO_MANY_REDIRECTS="ERR_FR_TOO_MANY_REDIRECTS",G.ERR_DEPRECATED="ERR_DEPRECATED",G.ERR_BAD_RESPONSE="ERR_BAD_RESPONSE",G.ERR_BAD_REQUEST="ERR_BAD_REQUEST",G.ERR_CANCELED="ERR_CANCELED",G.ERR_NOT_SUPPORT="ERR_NOT_SUPPORT",G.ERR_INVALID_URL="ERR_INVALID_URL",G.ERR_FORM_DATA_DEPTH_EXCEEDED="ERR_FORM_DATA_DEPTH_EXCEEDED";const lp=null,Io=100;function ma(e){return S.isPlainObject(e)||S.isArray(e)}function Fo(e){return S.endsWith(e,"[]")?e.slice(0,-2):e}function ga(e,t,n){return e?e.concat(t).map(function(s,o){return s=Fo(s),!n&&o?"["+s+"]":s}).join(n?".":""):t}function ip(e){return S.isArray(e)&&!e.some(ma)}const cp=S.toFlatObject(S,{},null,function(t){return/^is[A-Z]/.test(t)});function sr(e,t,n){if(!S.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,n=S.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(b,N){return!S.isUndefined(N[b])});const r=n.metaTokens,s=n.visitor||y,o=n.dots,l=n.indexes,i=n.Blob||typeof Blob<"u"&&Blob,c=n.maxDepth===void 0?Io:n.maxDepth,d=i&&S.isSpecCompliantForm(t),f=[];if(!S.isFunction(s))throw new TypeError("visitor must be a function");function u(h){if(h===null)return"";if(S.isDate(h))return h.toISOString();if(S.isBoolean(h))return h.toString();if(!d&&S.isBlob(h))throw new G("Blob is not supported. Use a Buffer instead.");if(S.isArrayBuffer(h)||S.isTypedArray(h)){if(d&&typeof i=="function")return new i([h]);throw new G("Blob is not supported. Use a Buffer instead.",G.ERR_NOT_SUPPORT)}return h}function p(h){if(h>c)throw new G("Object is too deeply nested ("+h+" levels). Max depth: "+c,G.ERR_FORM_DATA_DEPTH_EXCEEDED)}function v(h,b){if(c===1/0)return JSON.stringify(h);const N=[];return JSON.stringify(h,function(_,T){if(!S.isObject(T))return T;for(;N.length&&N[N.length-1]!==this;)N.pop();return N.push(T),p(b+N.length-1),T})}function y(h,b,N){let w=h;if(S.isReactNative(t)&&S.isReactNativeBlob(h))return t.append(ga(N,b,o),u(h)),!1;if(h&&!N&&typeof h=="object"){if(S.endsWith(b,"{}"))b=r?b:b.slice(0,-2),h=v(h,1);else if(S.isArray(h)&&ip(h)||(S.isFileList(h)||S.endsWith(b,"[]"))&&(w=S.toArray(h)))return b=Fo(b),w.forEach(function(T,W){!(S.isUndefined(T)||T===null)&&t.append(l===!0?ga([b],W,o):l===null?b:b+"[]",u(T))}),!1}return ma(h)?!0:(t.append(ga(N,b,o),u(h)),!1)}const C=Object.assign(cp,{defaultVisitor:y,convertValue:u,isVisitable:ma});function g(h,b,N=0){if(!S.isUndefined(h)){if(p(N),f.indexOf(h)!==-1)throw new Error("Circular reference detected in "+b.join("."));f.push(h),S.forEach(h,function(_,T){(!(S.isUndefined(_)||_===null)&&s.call(t,_,S.isString(T)?T.trim():T,b,C))===!0&&g(_,b?b.concat(T):[T],N+1)}),f.pop()}}if(!S.isObject(e))throw new TypeError("data must be an object");return g(e),t}function ko(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"};return encodeURIComponent(e).replace(/[!'()~]|%20/g,function(r){return t[r]})}function Aa(e,t){this._pairs=[],e&&sr(e,this,t)}const Oo=Aa.prototype;Oo.append=function(t,n){this._pairs.push([t,n])},Oo.toString=function(t){const n=t?r=>t.call(this,r,ko):ko;return this._pairs.map(function(s){return n(s[0])+"="+n(s[1])},"").join("&")};function dp(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function Do(e,t,n){if(!t)return e;e=e||"";const r=S.isFunction(n)?{serialize:n}:n,s=S.getSafeProp(r,"encode")||dp,o=S.getSafeProp(r,"serialize");let l;if(o?l=o(t,r):l=S.isURLSearchParams(t)?t.toString():new Aa(t,r).toString(s),l){const i=e.indexOf("#");i!==-1&&(e=e.slice(0,i)),e+=(e.indexOf("?")===-1?"?":"&")+l}return e}class Mo{constructor(){this.handlers=[]}use(t,n,r){return this.handlers.push({fulfilled:t,rejected:n,synchronous:r?r.synchronous:!1,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){S.forEach(this.handlers,function(r){r!==null&&t(r)})}}const ya={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1,legacyInterceptorReqResOrdering:!0,advertiseZstdAcceptEncoding:!1,validateStatusUndefinedResolves:!0},up={isBrowser:!0,classes:{URLSearchParams:typeof URLSearchParams<"u"?URLSearchParams:Aa,FormData:typeof FormData<"u"?FormData:null,Blob:typeof Blob<"u"?Blob:null},protocols:["http","https","file","blob","url","data"]},ba=typeof window<"u"&&typeof document<"u",va=typeof navigator=="object"&&navigator||void 0,fp=ba&&(!va||["ReactNative","NativeScript","NS"].indexOf(va.product)<0),pp=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",hp=ba&&window.location.href||"http://localhost",Le={...Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:ba,hasStandardBrowserEnv:fp,hasStandardBrowserWebWorkerEnv:pp,navigator:va,origin:hp},Symbol.toStringTag,{value:"Module"})),...up};function mp(e,t){return sr(e,new Le.classes.URLSearchParams,{visitor:function(n,r,s,o){return Le.isNode&&S.isBuffer(n)?(this.append(r,n.toString("base64")),!1):o.defaultVisitor.apply(this,arguments)},...t})}const xo=Io;function Po(e){if(e>xo)throw new G("FormData field is too deeply nested ("+e+" levels). Max depth: "+xo,G.ERR_FORM_DATA_DEPTH_EXCEEDED)}function gp(e){const t=[],n=/[^.[\]]+|\[([^.[\]]*)]/g;let r;for(;(r=n.exec(e))!==null;)Po(t.length),t.push(r[0]==="[]"?"":r[1]||r[0]);return t}function Ap(e){const t={},n=Object.keys(e);let r;const s=n.length;let o;for(r=0;r<s;r++)o=n[r],t[o]=e[o];return t}function Bo(e){function t(n,r,s,o){Po(o);let l=n[o++];if(l==="__proto__")return!0;const i=Number.isFinite(+l),c=o>=n.length;return l=!l&&S.isArray(s)?s.length:l,c?(S.hasOwnProp(s,l)?s[l]=S.isArray(s[l])?s[l].concat(r):[s[l],r]:s[l]=r,!i):((!S.hasOwnProp(s,l)||!S.isObject(s[l]))&&(s[l]=[]),t(n,r,s[l],o)&&S.isArray(s[l])&&(s[l]=Ap(s[l])),!i)}if(S.isFormData(e)&&S.isFunction(e.entries)){const n={};return S.forEachEntry(e,(r,s)=>{t(gp(r),s,n,0)}),n}return null}const jt=(e,t)=>e!=null&&S.hasOwnProp(e,t)?e[t]:void 0;function yp(e,t,n){if(S.isString(e))try{return(t||JSON.parse)(e),S.trim(e)}catch(r){if(r.name!=="SyntaxError")throw r}return(n||JSON.stringify)(e)}const Cn={transitional:ya,adapter:["xhr","http","fetch"],transformRequest:[function(t,n){const r=n.getContentType()||"",s=r.indexOf("application/json")>-1,o=S.isObject(t);if(o&&S.isHTMLForm(t)&&(t=new FormData(t)),S.isFormData(t))return s?JSON.stringify(Bo(t)):t;if(S.isArrayBuffer(t)||S.isBuffer(t)||S.isStream(t)||S.isFile(t)||S.isBlob(t)||S.isReadableStream(t))return t;if(S.isArrayBufferView(t))return t.buffer;if(S.isURLSearchParams(t))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let i;if(o){const c=jt(this,"formSerializer");if(r.indexOf("application/x-www-form-urlencoded")>-1)return mp(t,c).toString();if((i=S.isFileList(t))||r.indexOf("multipart/form-data")>-1){const d=jt(this,"env"),f=d&&d.FormData;return sr(i?{"files[]":t}:t,f&&new f,c)}}return o||s?(n.setContentType("application/json",!1),yp(t)):t}],transformResponse:[function(t){const n=jt(this,"transitional")||Cn.transitional,r=n&&n.forcedJSONParsing,s=jt(this,"responseType"),o=s==="json";if(S.isResponse(t)||S.isReadableStream(t))return t;if(t&&S.isString(t)&&(r&&!s||o)){const i=!(n&&n.silentJSONParsing)&&o;try{return JSON.parse(t,jt(this,"parseReviver"))}catch(c){if(i)throw c.name==="SyntaxError"?G.from(c,G.ERR_BAD_RESPONSE,this,null,jt(this,"response")):c}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Le.classes.FormData,Blob:Le.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};S.forEach(["delete","get","head","post","put","patch","query"],e=>{Cn.headers[e]={}});function Sa(e,t){const n=this||Cn,r=t||n,s=Fe.from(r.headers);let o=r.data;return S.forEach(e,function(i){o=i.call(n,o,s.normalize(),t?t.status:void 0)}),s.normalize(),o}function Uo(e){return!!(e&&e.__CANCEL__)}let Nn=class extends G{constructor(t,n,r){super(t??"canceled",G.ERR_CANCELED,n,r),this.name="CanceledError",this.__CANCEL__=!0}};function $o(e,t,n){const r=n.config.validateStatus;!n.status||!r||r(n.status)?e(n):t(new G("Request failed with status code "+n.status,n.status>=400&&n.status<500?G.ERR_BAD_REQUEST:G.ERR_BAD_RESPONSE,n.config,n.request,n))}function bp(e){const t=/^([-+\w]{1,25}):(?:\/\/)?/.exec(e);return t&&t[1]||""}function vp(e,t){e=e||10;const n=new Array(e),r=new Array(e);let s=0,o=0,l;return t=t!==void 0?t:1e3,function(c){const d=Date.now(),f=r[o];l||(l=d),n[s]=c,r[s]=d;let u=o,p=0;for(;u!==s;)p+=n[u++],u=u%e;if(s=(s+1)%e,s===o&&(o=(o+1)%e),d-l<t)return;const v=f&&d-f;return v?Math.round(p*1e3/v):void 0}}function Sp(e,t){let n=0,r=1e3/t,s,o;const l=(d,f=Date.now())=>{n=f,s=null,o&&(clearTimeout(o),o=null),e(...d)};return[(...d)=>{const f=Date.now(),u=f-n;u>=r?l(d,f):(s=d,o||(o=setTimeout(()=>{o=null,l(s)},r-u)))},()=>s&&l(s)]}const or=(e,t,n=3)=>{let r=0;const s=vp(50,250);return Sp(o=>{if(!o||typeof o.loaded!="number")return;const l=o.loaded,i=o.lengthComputable?o.total:void 0,c=Math.max(0,i!=null?Math.min(l,i):l),d=Math.max(0,c-r),f=s(d);r=Math.max(r,c);const u={loaded:c,total:i,progress:i?c/i:void 0,bytes:d,rate:f||void 0,estimated:f&&i?(i-c)/f:void 0,event:o,lengthComputable:i!=null,[t?"download":"upload"]:!0};e(u)},n)},jo=(e,t)=>{const n=e!=null;return[r=>t[0]({lengthComputable:n,total:e,loaded:r}),t[1]]},Vo=(e,t=S.asap)=>(...n)=>t(()=>e(...n)),wp=Le.hasStandardBrowserEnv?((e,t)=>n=>(n=new URL(n,Le.origin),e.protocol===n.protocol&&e.host===n.host&&(t||e.port===n.port)))(new URL(Le.origin),Le.navigator&&/(msie|trident)/i.test(Le.navigator.userAgent)):()=>!0,Cp=Le.hasStandardBrowserEnv?{write(e,t,n,r,s,o,l){if(typeof document>"u")return;const i=[`${e}=${encodeURIComponent(t)}`];S.isNumber(n)&&i.push(`expires=${new Date(n).toUTCString()}`),S.isString(r)&&i.push(`path=${r}`),S.isString(s)&&i.push(`domain=${s}`),o===!0&&i.push("secure"),S.isString(l)&&i.push(`SameSite=${l}`),document.cookie=i.join("; ")},read(e){if(typeof document>"u")return null;const t=document.cookie.split(";");for(let n=0;n<t.length;n++){const r=t[n].replace(/^\s+/,""),s=r.indexOf("=");if(s!==-1&&r.slice(0,s)===e)try{return decodeURIComponent(r.slice(s+1))}catch{return r.slice(s+1)}}return null},remove(e){this.write(e,"",Date.now()-864e5,"/")}}:{write(){},read(){return null},remove(){}};function Np(e){return typeof e!="string"?!1:/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function _p(e,t){if(!t)return e;let n=e.length;for(;n>0&&e.charCodeAt(n-1)===47;)n--;return e.slice(0,n)+"/"+t.replace(/^\/+/,"")}const Ep=/^https?:(?!\/\/)/i,Tp=/[\t\n\r]/g;function Lp(e){let t=0;for(;t<e.length&&e.charCodeAt(t)<=32;)t++;return e.slice(t)}function Ip(e){return Lp(e).replace(Tp,"")}function Fp(e){return e&&e.replace(/(^|&)([^=&]*=)?[^&]+/g,(t,n,r="")=>`${n}${r}${ar}`)}function kp(e){const t=e.replace(/^(https?:\/{0,2})[^/?#]*@/i,`$1${ar}@`),n=t.indexOf("#"),s=(n===-1?t:t.slice(0,n)).replace(/([?&][^=&#]*=)[^&#]*/g,`$1${ar}`);return n===-1?s:`${s}#${Fp(t.slice(n+1))}`}function Wo(e,t){if(typeof e=="string"){const n=Ip(e);if(Ep.test(n))throw new G(`Invalid URL ${JSON.stringify(kp(n))}: missing "//" after protocol`,G.ERR_INVALID_URL,t)}}function qo(e,t,n,r){Wo(t,r);let s=!Np(t);return e&&(s||n===!1)?(Wo(e,r),_p(e,t)):t}const Ho=e=>e instanceof Fe?{...e}:e,Op=e=>Object.getOwnPropertySymbols&&Object.getOwnPropertyDescriptor?Object.keys(e).concat(Object.getOwnPropertySymbols(e).filter(t=>Object.getOwnPropertyDescriptor(e,t).enumerable)):Object.keys(e);function Nt(e,t){e=e||{},t=t||{};const n=Object.create(null);Object.defineProperty(n,"hasOwnProperty",{__proto__:null,value:Object.prototype.hasOwnProperty,enumerable:!1,writable:!0,configurable:!0});function r(f,u,p,v){return S.isPlainObject(f)&&S.isPlainObject(u)?S.merge.call({caseless:v},f,u):S.isPlainObject(u)?S.merge({},u):S.isArray(u)?u.slice():u}function s(f,u,p,v){if(S.isUndefined(u)){if(!S.isUndefined(f))return r(void 0,f,p,v)}else return r(f,u,p,v)}function o(f,u){if(!S.isUndefined(u))return r(void 0,u)}function l(f,u){if(S.isUndefined(u)){if(!S.isUndefined(f))return r(void 0,f)}else return r(void 0,u)}function i(f){const u=S.hasOwnProp(t,"transitional")?t.transitional:void 0;if(!S.isUndefined(u))if(S.isPlainObject(u)){if(S.hasOwnProp(u,f))return u[f]}else return;const p=S.hasOwnProp(e,"transitional")?e.transitional:void 0;if(S.isPlainObject(p)&&S.hasOwnProp(p,f))return p[f]}function c(f,u,p){if(S.hasOwnProp(t,p))return r(f,u);if(S.hasOwnProp(e,p))return r(void 0,f)}const d={url:o,method:o,data:o,baseURL:l,transformRequest:l,transformResponse:l,paramsSerializer:l,timeout:l,timeoutMessage:l,withCredentials:l,withXSRFToken:l,adapter:l,responseType:l,xsrfCookieName:l,xsrfHeaderName:l,onUploadProgress:l,onDownloadProgress:l,decompress:l,maxContentLength:l,maxBodyLength:l,beforeRedirect:l,transport:l,httpAgent:l,httpsAgent:l,cancelToken:l,socketPath:l,allowedSocketPaths:l,responseEncoding:l,validateStatus:c,headers:(f,u,p)=>s(Ho(f),Ho(u),p,!0)};return S.forEach(Op({...e,...t}),function(u){if(u==="__proto__"||u==="constructor"||u==="prototype")return;const p=S.hasOwnProp(d,u)?d[u]:s,v=S.hasOwnProp(e,u)?e[u]:void 0,y=S.hasOwnProp(t,u)?t[u]:void 0,C=p(v,y,u);S.isUndefined(C)&&p!==c||(n[u]=C)}),S.hasOwnProp(t,"validateStatus")&&S.isUndefined(t.validateStatus)&&i("validateStatusUndefinedResolves")===!1&&(S.hasOwnProp(e,"validateStatus")?n.validateStatus=r(void 0,e.validateStatus):delete n.validateStatus),n}const Dp=["content-type","content-length"];function Mp(e,t,n){if(n!=="content-only"){e.set(t);return}Object.entries(t||{}).forEach(([r,s])=>{Dp.includes(r.toLowerCase())&&e.set(r,s)})}const xp=e=>encodeURIComponent(e).replace(/%([0-9A-F]{2})/gi,(t,n)=>String.fromCharCode(parseInt(n,16)));function zo(e){const t=Nt({},e),n=p=>S.hasOwnProp(t,p)?t[p]:void 0,r=n("data");let s=n("withXSRFToken");const o=n("xsrfHeaderName"),l=n("xsrfCookieName");let i=n("headers");const c=n("auth"),d=n("baseURL"),f=n("allowAbsoluteUrls"),u=n("url");if(t.headers=i=Fe.from(i),t.url=Do(qo(d,u,f,t),n("params"),n("paramsSerializer")),c){const p=S.getSafeProp(c,"username")||"",v=S.getSafeProp(c,"password")||"";try{i.set("Authorization","Basic "+btoa(p+":"+(v?xp(v):"")))}catch(y){throw G.from(y,G.ERR_BAD_OPTION_VALUE,e)}}if(S.isFormData(r)&&(Le.hasStandardBrowserEnv||Le.hasStandardBrowserWebWorkerEnv||S.isReactNative(r)?i.setContentType(void 0):S.isFunction(r.getHeaders)&&Mp(i,r.getHeaders(),n("formDataHeaderPolicy"))),Le.hasStandardBrowserEnv&&(S.isFunction(s)&&(s=s(t)),s===!0||s==null&&wp(t.url))){const v=o&&l&&Cp.read(l);v&&i.set(o,v)}return t}const Pp=typeof XMLHttpRequest<"u"&&function(e){return new Promise(function(n,r){const s=zo(e);let o=s.data;const l=Fe.from(s.headers).normalize();let{responseType:i,onUploadProgress:c,onDownloadProgress:d}=s,f,u,p,v,y;function C(){v&&v(),y&&y(),s.cancelToken&&s.cancelToken.unsubscribe(f),s.signal&&s.signal.removeEventListener("abort",f)}let g=new XMLHttpRequest;g.open(s.method.toUpperCase(),s.url,!0),g.timeout=s.timeout;function h(){if(!g)return;const N=Fe.from("getAllResponseHeaders"in g&&g.getAllResponseHeaders()),_={data:!i||i==="text"||i==="json"?g.responseText:g.response,status:g.status,statusText:g.statusText,headers:N,config:e,request:g};$o(function(W){n(W),C()},function(W){r(W),C()},_),g=null}"onloadend"in g?g.onloadend=h:g.onreadystatechange=function(){!g||g.readyState!==4||g.status===0&&!(g.responseURL&&g.responseURL.startsWith("file:"))||setTimeout(h)},g.onabort=function(){g&&(r(new G("Request aborted",G.ECONNABORTED,e,g)),C(),g=null)},g.onerror=function(w){const _=w&&w.message?w.message:"Network Error",T=new G(_,G.ERR_NETWORK,e,g);T.event=w||null,r(T),C(),g=null},g.ontimeout=function(){let w=s.timeout?"timeout of "+s.timeout+"ms exceeded":"timeout exceeded";const _=s.transitional||ya;s.timeoutErrorMessage&&(w=s.timeoutErrorMessage),r(new G(w,_.clarifyTimeoutError?G.ETIMEDOUT:G.ECONNABORTED,e,g)),C(),g=null},o===void 0&&l.setContentType(null),"setRequestHeader"in g&&S.forEach(Eo(l),function(w,_){g.setRequestHeader(_,w)}),S.isUndefined(s.withCredentials)||(g.withCredentials=!!s.withCredentials),i&&i!=="json"&&(g.responseType=s.responseType),d&&([p,y]=or(d,!0),g.addEventListener("progress",p)),c&&g.upload&&([u,v]=or(c),g.upload.addEventListener("progress",u),g.upload.addEventListener("loadend",v)),(s.cancelToken||s.signal)&&(f=N=>{g&&(r(!N||N.type?new Nn(null,e,g):N),g.abort(),C(),g=null)},s.cancelToken&&s.cancelToken.subscribe(f),s.signal&&(s.signal.aborted?f():s.signal.addEventListener("abort",f)));const b=bp(s.url);if(b&&!Le.protocols.includes(b)){r(new G("Unsupported protocol "+b+":",G.ERR_BAD_REQUEST,e)),C();return}g.send(o||null)})},Bp=(e,t)=>{if(e=e?e.filter(Boolean):[],!t&&!e.length)return;const n=new AbortController;let r=!1;const s=function(c){if(!r){r=!0,l();const d=c instanceof Error?c:this.reason;n.abort(d instanceof G?d:new Nn(d instanceof Error?d.message:d))}};let o=t&&setTimeout(()=>{o=null,s(new G(`timeout of ${t}ms exceeded`,G.ETIMEDOUT))},t);const l=()=>{e&&(o&&clearTimeout(o),o=null,e.forEach(c=>{c.unsubscribe?c.unsubscribe(s):c.removeEventListener("abort",s)}),e=null)};e.forEach(c=>{if(!r){if(c.aborted){s.call(c);return}c.addEventListener("abort",s,{once:!0})}});const{signal:i}=n;return i.unsubscribe=()=>S.asap(l),i},Up=function*(e,t){let n=e.byteLength;if(n<t){yield e;return}let r=0,s;for(;r<n;)s=r+t,yield e.slice(r,s),r=s},$p=async function*(e,t){for await(const n of jp(e))yield*Up(n,t)},jp=async function*(e){if(e[Symbol.asyncIterator]){yield*e;return}const t=e.getReader();try{for(;;){const{done:n,value:r}=await t.read();if(n)break;yield r}}finally{await t.cancel()}},Ko=(e,t,n,r)=>{const s=$p(e,t);let o=0,l,i=c=>{l||(l=!0,r&&r(c))};return new ReadableStream({async pull(c){try{const{done:d,value:f}=await s.next();if(d){i(),c.close();return}let u=f.byteLength;if(n){let p=o+=u;n(p)}c.enqueue(new Uint8Array(f))}catch(d){throw i(d),d}},cancel(c){return i(c),s.return()}},{highWaterMark:2})},Qo=e=>e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102,Xo=(e,t,n)=>t+2<n&&Qo(e.charCodeAt(t+1))&&Qo(e.charCodeAt(t+2)),Yo=e=>e<=57?e-48:(e&223)-55,Vp=e=>e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||e===43||e===47||e===45||e===95,Wp=e=>e===9||e===10||e===12||e===13||e===32,qp=e=>{const t=Math.floor(e/4),n=e%4;return t*3+(n===2?1:n===3?2:0)},Hp=e=>{const t=e.length;let n=0;return t>0&&e.charCodeAt(t-1)===61&&(n++,t>1&&e.charCodeAt(t-2)===61&&n++),Math.floor((t-n)*3/4)},zp=e=>{const t=e.length;let n=0,r=0,s=!1;for(let o=0;o<t;o++){let l=e.charCodeAt(o);if(l===37&&Xo(e,o,t)&&(l=Yo(e.charCodeAt(o+1))*16+Yo(e.charCodeAt(o+2)),o+=2),!Wp(l)){if(l===61){r++;continue}if(!Vp(l)||r>0){s=!0;continue}n++}}return s||r>2||r>0&&(n+r)%4!==0||n%4===1?Hp(e):qp(n)},Kp=(e,t)=>{if(!e||typeof e!="string"||!e.startsWith("data:"))return 0;const n=e.indexOf(",");if(n<0)return 0;const r=e.slice(5,n),s=e.slice(n+1);if(/;base64/i.test(r))return t(s);let l=0;for(let i=0,c=s.length;i<c;i++){const d=s.charCodeAt(i);if(d===37&&Xo(s,i,c))l+=1,i+=2;else if(d<128)l+=1;else if(d<2048)l+=2;else if(d>=55296&&d<=56319&&i+1<c){const f=s.charCodeAt(i+1);f>=56320&&f<=57343?(l+=4,i++):l+=3}else l+=3}return l};function Qp(e){const t=typeof e=="string"?e.indexOf("#"):-1;return Kp(t===-1?e:e.slice(0,t),zp)}const wa="1.19.0",Go=64*1024,{isFunction:lr}=S,Xp=e=>encodeURIComponent(e).replace(/%([0-9A-F]{2})/gi,(t,n)=>String.fromCharCode(parseInt(n,16))),Jo=e=>{if(!S.isString(e))return e;try{return decodeURIComponent(e)}catch{return e}},Zo=(e,...t)=>{try{return!!e(...t)}catch{return!1}},Yp=e=>{const t=e.indexOf("://");let n=e;return t!==-1&&(n=n.slice(t+3)),n.includes("@")||n.includes(":")},Gp=e=>{const t=S.global!==void 0&&S.global!==null?S.global:globalThis,{ReadableStream:n,TextEncoder:r}=t;e=S.merge.call({skipUndefined:!0},{Request:t.Request,Response:t.Response},e);const{fetch:s,Request:o,Response:l}=e,i=s?lr(s):typeof fetch=="function",c=lr(o),d=lr(l);if(!i)return!1;const f=i&&lr(n),u=i&&(typeof r=="function"?(h=>b=>h.encode(b))(new r):async h=>new Uint8Array(await new o(h).arrayBuffer())),p=c&&f&&Zo(()=>{let h=!1;const b=new o(Le.origin,{body:new n,method:"POST",get duplex(){return h=!0,"half"}}),N=b.headers.has("Content-Type");return b.body!=null&&b.body.cancel(),h&&!N}),v=d&&f&&Zo(()=>S.isReadableStream(new l("").body)),y={stream:v&&(h=>h.body)};i&&["text","arrayBuffer","blob","formData","stream"].forEach(h=>{!y[h]&&(y[h]=(b,N)=>{let w=b&&b[h];if(w)return w.call(b);throw new G(`Response type '${h}' is not supported`,G.ERR_NOT_SUPPORT,N)})});const C=async h=>{if(h==null)return 0;if(S.isBlob(h))return h.size;if(S.isSpecCompliantForm(h))return(await new o(Le.origin,{method:"POST",body:h}).arrayBuffer()).byteLength;if(S.isArrayBufferView(h)||S.isArrayBuffer(h))return h.byteLength;if(S.isURLSearchParams(h)&&(h=h+""),S.isString(h))return(await u(h)).byteLength},g=async(h,b)=>{const N=S.toFiniteNumber(h.getContentLength());return N??C(b)};return async h=>{let{url:b,method:N,data:w,signal:_,cancelToken:T,timeout:W,onDownloadProgress:ae,onUploadProgress:H,responseType:z,headers:K,withCredentials:x="same-origin",fetchOptions:Q,maxContentLength:k,maxBodyLength:D}=zo(h);const J=S.isNumber(k)&&k>-1,ne=S.isNumber(D)&&D>-1,L=U=>S.hasOwnProp(h,U)?h[U]:void 0;let q=s||fetch;z=z?(z+"").toLowerCase():"text";let Z=Bp([_,T&&T.toAbortSignal()],W),oe=null;const A=Z&&Z.unsubscribe&&(()=>{Z.unsubscribe()});let M,I=null;const $=()=>new G("Request body larger than maxBodyLength limit",G.ERR_BAD_REQUEST,h,oe);try{let U;const X=L("auth");if(X){const V=S.getSafeProp(X,"username")||"",le=S.getSafeProp(X,"password")||"";U={username:V,password:le}}if(Yp(b)){const V=new URL(b,Le.origin);if(!U&&(V.username||V.password)){const le=Jo(V.username),he=Jo(V.password);U={username:le,password:he}}(V.username||V.password)&&(V.username="",V.password="",b=V.href)}if(U&&(K.delete("authorization"),K.set("Authorization","Basic "+btoa(Xp((U.username||"")+":"+(U.password||""))))),J&&typeof b=="string"&&b.startsWith("data:")&&Qp(b)>k)throw new G("maxContentLength size of "+k+" exceeded",G.ERR_BAD_RESPONSE,h,oe);if(ne&&N!=="get"&&N!=="head"){const V=await C(w);if(typeof V=="number"&&isFinite(V)&&(M=V,V>D))throw $()}const E=ne&&(S.isReadableStream(w)||S.isStream(w)),re=(V,le,he)=>Ko(V,Go,Ae=>{if(ne&&Ae>D)throw I=$();le&&le(Ae)},he);if(p&&N!=="get"&&N!=="head"&&(H||E)){if(M=M??await g(K,w),M!==0||E){let V=new o(b,{method:"POST",body:w,duplex:"half"}),le;if(S.isFormData(w)&&(le=V.headers.get("content-type"))&&K.setContentType(le),V.body){const[he,Ae]=H&&jo(M,or(Vo(H)))||[];w=re(V.body,he,Ae)}}}else if(E&&!c&&f&&N!=="get"&&N!=="head")w=re(w);else if(E&&c&&!p&&N!=="get"&&N!=="head")throw new G("Stream request bodies are not supported by the current fetch implementation",G.ERR_NOT_SUPPORT,h,oe);S.isString(x)||(x=x?"include":"omit");const se=c&&"credentials"in o.prototype;if(S.isFormData(w)){const V=K.getContentType();V&&/^multipart\/form-data/i.test(V)&&!/boundary=/i.test(V)&&K.delete("content-type")}K.set("User-Agent","axios/"+wa,!1);const pe={...Q,signal:Z,method:N.toUpperCase(),headers:Eo(K.normalize()),body:w,duplex:"half",credentials:se?x:void 0};oe=c&&new o(b,pe);let be=await(c?q(oe,Q):q(b,pe));const ee=Fe.from(be.headers);if(J){const V=S.toFiniteNumber(ee.getContentLength());if(V!=null&&V>k)throw new G("maxContentLength size of "+k+" exceeded",G.ERR_BAD_RESPONSE,h,oe)}const B=v&&(z==="stream"||z==="response");if(v&&be.body&&(ae||J||B&&A)){const V={};["status","statusText","headers"].forEach(Ie=>{V[Ie]=be[Ie]});const le=S.toFiniteNumber(ee.getContentLength()),[he,Ae]=ae&&jo(le,or(Vo(ae),!0))||[];let Pe=0;const we=Ie=>{if(J&&(Pe=Ie,Pe>k))throw new G("maxContentLength size of "+k+" exceeded",G.ERR_BAD_RESPONSE,h,oe);he&&he(Ie)};be=new l(Ko(be.body,Go,we,()=>{Ae&&Ae(),A&&A()}),V)}z=z||"text";let R=await y[S.findKey(y,z)||"text"](be,h);if(J&&!v&&!B){let V;if(R!=null&&(typeof R.byteLength=="number"?V=R.byteLength:typeof R.size=="number"?V=R.size:typeof R=="string"&&(V=typeof r=="function"?new r().encode(R).byteLength:R.length)),typeof V=="number"&&V>k)throw new G("maxContentLength size of "+k+" exceeded",G.ERR_BAD_RESPONSE,h,oe)}return!B&&A&&A(),await new Promise((V,le)=>{$o(V,le,{data:R,headers:Fe.from(be.headers),status:be.status,statusText:be.statusText,config:h,request:oe})})}catch(U){if(A&&A(),Z&&Z.aborted&&Z.reason instanceof G){const X=Z.reason;throw X.config=h,oe&&(X.request=oe),U!==X&&Object.defineProperty(X,"cause",{__proto__:null,value:U,writable:!0,enumerable:!1,configurable:!0}),X}if(I)throw oe&&!I.request&&(I.request=oe),I;if(U instanceof G)throw oe&&!U.request&&(U.request=oe),U;if(U&&U.name==="TypeError"&&/Load failed|fetch/i.test(U.message)){const X=new G("Network Error",G.ERR_NETWORK,h,oe,U&&U.response);throw Object.defineProperty(X,"cause",{__proto__:null,value:U.cause||U,writable:!0,enumerable:!1,configurable:!0}),X}throw G.from(U,U&&U.code,h,oe,U&&U.response)}}},Jp=new Map,Ro=e=>{let t=e&&e.env||{};const{fetch:n,Request:r,Response:s}=t,o=[r,s,n];let l=o.length,i=l,c,d,f=Jp;for(;i--;)c=o[i],d=f.get(c),d===void 0&&f.set(c,d=i?new Map:Gp(t)),f=d;return d};Ro();const Ca={http:lp,xhr:Pp,fetch:{get:Ro}};S.forEach(Ca,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{__proto__:null,value:t})}catch{}Object.defineProperty(e,"adapterName",{__proto__:null,value:t})}});const el=e=>`- ${e}`,Zp=e=>S.isFunction(e)||e===null||e===!1;function Rp(e,t){e=S.isArray(e)?e:[e];const{length:n}=e;let r,s;const o={};for(let l=0;l<n;l++){r=e[l];let i;if(s=r,!Zp(r)&&(s=Ca[(i=String(r)).toLowerCase()],s===void 0))throw new G(`Unknown adapter '${i}'`);if(s&&(S.isFunction(s)||(s=s.get(t))))break;o[i||"#"+l]=s}if(!s){const l=Object.entries(o).map(([c,d])=>`adapter ${c} `+(d===!1?"is not supported by the environment":"is not available in the build"));let i=n?l.length>1?`since :
6
+ `+l.map(el).join(`
7
+ `):" "+el(l[0]):"as no adapter specified";throw new G("There is no suitable adapter to dispatch the request "+i,G.ERR_NOT_SUPPORT)}return s}const tl={getAdapter:Rp,adapters:Ca};function Na(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new Nn(null,e)}function _a(e){return Na(e),e.headers=Fe.from(e.headers),e.data=Sa.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),tl.getAdapter(e.adapter||Cn.adapter,e)(e).then(function(r){Na(e),e.response=r;try{r.data=Sa.call(e,e.transformResponse,r)}finally{delete e.response}return r.headers=Fe.from(r.headers),r},function(r){if(!Uo(r)&&(Na(e),r&&r.response)){e.response=r.response;try{r.response.data=Sa.call(e,e.transformResponse,r.response)}finally{delete e.response}r.response.headers=Fe.from(r.response.headers)}return Promise.reject(r)})}const ir={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{ir[e]=function(r){return typeof r===e||"a"+(t<1?"n ":" ")+e}});const nl={};ir.transitional=function(t,n,r){function s(o,l){return"[Axios v"+wa+"] Transitional option '"+o+"'"+l+(r?". "+r:"")}return(o,l,i)=>{if(t===!1)throw new G(s(l," has been removed"+(n?" in "+n:"")),G.ERR_DEPRECATED);return n&&!nl[l]&&(nl[l]=!0,console.warn(s(l," has been deprecated since v"+n+" and will be removed in the near future"))),t?t(o,l,i):!0}},ir.spelling=function(t){return(n,r)=>(console.warn(`${r} is likely a misspelling of ${t}`),!0)};function eh(e,t,n){if(typeof e!="object"||e===null)throw new G("options must be an object",G.ERR_BAD_OPTION_VALUE);const r=Object.keys(e);let s=r.length;for(;s-- >0;){const o=r[s],l=Object.prototype.hasOwnProperty.call(t,o)?t[o]:void 0;if(l){const i=e[o],c=i===void 0||l(i,o,e);if(c!==!0)throw new G("option "+o+" must be "+c,G.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new G("Unknown option "+o,G.ERR_BAD_OPTION)}}const cr={assertOptions:eh,validators:ir},ke=cr.validators;let _t=class{constructor(t){this.defaults=t||{},this.interceptors={request:new Mo,response:new Mo}}async request(t,n){try{return await this._request(t,n)}catch(r){if(r instanceof Error){let s={};Error.captureStackTrace?Error.captureStackTrace(s):s=new Error;const o=(()=>{if(!s.stack)return"";const l=s.stack.indexOf(`
8
8
  `);return l===-1?"":s.stack.slice(l+1)})();try{if(!r.stack)r.stack=o;else if(o){const l=o.indexOf(`
9
9
  `),i=l===-1?-1:o.indexOf(`
10
10
  `,l+1),c=i===-1?"":o.slice(i+1);String(r.stack).endsWith(c)||(r.stack+=`
11
- `+o)}}catch{}}throw r}}_request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=Ct(this.defaults,n);const{transitional:r,paramsSerializer:s,headers:o}=n;r!==void 0&&cr.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),s!=null&&(v.isFunction(s)?n.paramsSerializer={serialize:s}:cr.assertOptions(s,{encode:Le.function,serialize:Le.function},!0)),n.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?n.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:n.allowAbsoluteUrls=!0),cr.assertOptions(n,{baseUrl:Le.spelling("baseURL"),withXsrfToken:Le.spelling("withXSRFToken")},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();let l=o&&v.merge(o.common,o[n.method]);o&&v.forEach(["delete","get","head","post","put","patch","query","common"],A=>{delete o[A]}),n.headers=Te.concat(l,o);const i=[];let c=!0;this.interceptors.request.forEach(function(y){if(typeof y.runWhen=="function"&&y.runWhen(n)===!1)return;c=c&&y.synchronous;const g=n.transitional||ma;g&&g.legacyInterceptorReqResOrdering?i.unshift(y.fulfilled,y.rejected):i.push(y.fulfilled,y.rejected)});const d=[];this.interceptors.response.forEach(function(y){d.push(y.fulfilled,y.rejected)});let f,u=0,p;if(!c){const A=[wa.bind(this),void 0];for(A.unshift(...i),A.push(...d),p=A.length,f=Promise.resolve(n);u<p;)f=f.then(A[u++],A[u++]);return f}p=i.length;let S=n;for(;u<p;){const A=i[u++],y=i[u++];try{S=A?A(S):S}catch(g){if(!y){f=Promise.reject(g);break}try{const h=y.call(this,g);v.isThenable(h)&&(f=Promise.resolve(h).then(()=>wa.call(this,S)))}catch(h){f=Promise.reject(h)}break}}if(!f)try{f=wa.call(this,S)}catch(A){f=Promise.reject(A)}for(u=0,p=d.length;u<p;)f=f.then(d[u++],d[u++]);return f}getUri(t){t=Ct(this.defaults,t);const n=$o(t.baseURL,t.url,t.allowAbsoluteUrls,t);return Io(n,t.params,t.paramsSerializer)}};v.forEach(["delete","get","head","options"],function(t){Nt.prototype[t]=function(n,r){return this.request(Ct(r||{},{method:t,url:n,data:r&&v.hasOwnProp(r,"data")?r.data:void 0}))}}),v.forEach(["post","put","patch","query"],function(t){function n(r){return function(o,l,i){return this.request(Ct(i||{},{method:t,headers:r?{"Content-Type":"multipart/form-data"}:{},url:o,data:l}))}}Nt.prototype[t]=n(),t!=="query"&&(Nt.prototype[t+"Form"]=n(!0))});let Gp=class Td{constructor(t){if(typeof t!="function")throw new TypeError("executor must be a function.");let n;this.promise=new Promise(function(o){n=o});const r=this;this.promise.then(s=>{if(!r._listeners)return;let o=r._listeners.length;for(;o-- >0;)r._listeners[o](s);r._listeners=null}),this.promise.then=s=>{let o;const l=new Promise(i=>{r.subscribe(i),o=i}).then(s);return l.cancel=function(){r.unsubscribe(o)},l},t(function(o,l,i){r.reason||(r.reason=new Nn(o,l,i),n(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const n=this._listeners.indexOf(t);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){const t=new AbortController,n=r=>{t.abort(r)};return this.subscribe(n),t.signal.unsubscribe=()=>this.unsubscribe(n),t.signal}static source(){let t;return{token:new Td(function(s){t=s}),cancel:t}}};function Jp(e){return function(n){return e.apply(null,n)}}function Zp(e){return v.isObject(e)&&e.isAxiosError===!0}const Ca={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(Ca).forEach(([e,t])=>{Ca[t]=e});function Ro(e){const t=new Nt(e),n=uo(Nt.prototype.request,t);return v.extend(n,Nt.prototype,t,{allOwnKeys:!0}),v.extend(n,t,null,{allOwnKeys:!0}),n.create=function(s){return Ro(Ct(e,s))},n}const ye=Ro(Cn);ye.Axios=Nt,ye.CanceledError=Nn,ye.CancelToken=Gp,ye.isCancel=Mo,ye.VERSION=ba,ye.toFormData=sr,ye.AxiosError=J,ye.Cancel=ye.CanceledError,ye.all=function(t){return Promise.all(t)},ye.spread=Jp,ye.isAxiosError=Zp,ye.mergeConfig=Ct,ye.AxiosHeaders=Te,ye.formToJSON=e=>Do(v.isHTMLForm(e)?new FormData(e):e),ye.getAdapter=Jo.getAdapter,ye.HttpStatusCode=Ca,ye.default=ye;const{Axios:Xy,AxiosError:Yy,CanceledError:Gy,isCancel:Jy,CancelToken:Zy,VERSION:Ry,all:e2,Cancel:t2,isAxiosError:n2,spread:r2,toFormData:a2,AxiosHeaders:s2,HttpStatusCode:o2,formToJSON:l2,getAdapter:i2,mergeConfig:c2,create:d2}=ye;function dr(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 Rp={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 Na(e,t){function n(s,o,l){if(!(typeof document>"u")){l=dr({},t,l),typeof l.expires=="number"&&(l.expires=new Date(Date.now()+l.expires*864e5)),l.expires&&(l.expires=l.expires.toUTCString()),s=encodeURIComponent(s).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var i="";for(var c in l)l[c]&&(i+="; "+c,l[c]!==!0&&(i+="="+l[c].split(";")[0]));return document.cookie=s+"="+e.write(o,s)+i}}function r(s){if(!(typeof document>"u"||arguments.length&&!s)){for(var o=document.cookie?document.cookie.split("; "):[],l={},i=0;i<o.length;i++){var c=o[i].split("="),d=c.slice(1).join("=");try{var f=decodeURIComponent(c[0]);if(f in l||(l[f]=e.read(d,f)),s===f)break}catch{}}return s?l[s]:l}}return Object.create({set:n,get:r,remove:function(s,o){n(s,"",dr({},o,{expires:-1}))},withAttributes:function(s){return Na(this.converter,dr({},this.attributes,s))},withConverter:function(s){return Na(dr({},this.converter,s),this.attributes)}},{attributes:{value:Object.freeze(t)},converter:{value:Object.freeze(e)}})}var _n=Na(Rp,{path:"/"});const eh={BASE_URL:"/",DEV:!1,MODE:"production",PROD:!0,SSR:!1};let Vt="https://api-grievance.airaops.com",el=null,_a=!1;try{if(typeof{url:typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:Yr&&Yr.tagName.toUpperCase()==="SCRIPT"&&Yr.src||new URL("complaint-app.umd.js",document.baseURI).href}<"u"&&eh?.VITE_API_URL)Vt=void 0;else{const e=typeof process<"u"?process:null;e?.env?.VITE_API_URL&&(Vt=e.env.VITE_API_URL)}}catch{}const tl=e=>{Vt=e||"",he.defaults.baseURL=Vt},Ea=e=>{el=e||null},th=e=>{_a=!!e},nh=()=>_a?null:el||_n.get("token")||null,he=ye.create({baseURL:Vt,headers:{Accept:"application/json","Content-Type":"application/json"}});he.interceptors.request.use(e=>{const t=nh();return e.headers=e.headers||{},t?e.headers.Authorization=`Bearer ${t}`:delete e.headers.Authorization,e});let Ta=!1,La=null;he.interceptors.response.use(e=>e,async e=>{const t=e.config,n=e.response;if(!_a&&n&&(n.status===401||n.status===402)){const r=_n.get("refreshToken");if(r)try{Ta||(Ta=!0,La=ye.post(`${Vt}/api/v1/auth/refresh`,{},{headers:{Authorization:`Bearer ${r}`}}));const s=await La,{token:o,refreshToken:l}=s.data;return Ea(o),l&&_n.set("refreshToken",l),t.headers.Authorization=`Bearer ${o}`,he(t)}catch{_n.remove("token"),_n.remove("refreshToken")}finally{Ta=!1,La=null}}return Promise.reject(e)});const rh=m.createContext(null),nl=({children:e,apiUrl:t,authToken:n,publicAccess:r=!1})=>(t&&tl(t),th(r),Ea(n||null),a.jsx(rh.Provider,{value:{apiUrl:t,authToken:r?null:n,publicAccess:r},children:e})),st={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)"}},En={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)"}},rl={light:st,dark:En};function Wt(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)}function qt(e,t){if(!Wt(t))return e;const n={...e};return Object.keys(t).forEach(r=>{const s=t[r];Wt(s)&&Wt(e[r])?n[r]=qt(e[r],s):s!==void 0&&(n[r]=s)}),n}function al(e){return!e||!Wt(e)?{light:st,dark:En}:Wt(e.light)||Wt(e.dark)?{light:qt(st,e.light||{}),dark:qt(En,e.dark||{})}:{light:qt(st,e),dark:qt(En,e)}}function sl(e,t=!1){const n=al(e);return{...t?n.dark:n.light,mode:t?"dark":"light",__pack:n}}const ah={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"},sh={sm:"--ca-radius-sm",md:"--ca-radius-md",lg:"--ca-radius-lg",xl:"--ca-radius-xl",pill:"--ca-radius-pill"},oh={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"},lh={card:"--ca-shadow-card",settings:"--ca-shadow-settings"};function ol(e){const t={};return e?.colors&&Object.entries(ah).forEach(([n,r])=>{e.colors[n]!=null&&(t[r]=e.colors[n])}),e?.radii&&Object.entries(sh).forEach(([n,r])=>{e.radii[n]!=null&&(t[r]=e.radii[n])}),e?.typography&&Object.entries(oh).forEach(([n,r])=>{e.typography[n]!=null&&(t[r]=e.typography[n])}),e?.shadow&&Object.entries(lh).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 ll=m.createContext({darkMode:!1,theme:null,themeFile:rl,cssVars:{}});function il({theme:e,darkMode:t=!1,children:n}){const r=m.useMemo(()=>{const s=sl(e,!!t),o=ol(s);return{darkMode:!!t,theme:s,themeFile:s.__pack,cssVars:o,mode:s.mode}},[e,t]);return a.jsx(ll.Provider,{value:r,children:n})}function cl(){return m.useContext(ll)}const ur=Object.freeze({formFields:e=>`/api/v1/complaint-types/${e}/form-fields`}),ih=e=>{const t=e?.response?.data,n=Array.isArray(t?.errors)?t.errors.map(s=>s?.message).filter(Boolean):[];if(n.length)return n.join(" ");const r=t?.message??t?.error??e?.message;return Array.isArray(r)?r.filter(Boolean).join(", "):r&&typeof r=="object"?r.message??JSON.stringify(r):r||"Something went wrong"},ch=(e,t)=>t.rejectWithValue({status:e?.response?.status??e?.status,message:ih(e)}),Ia=(e,t)=>le.createAsyncThunk(e,async(n,r)=>{try{return(await t(n,r)).data}catch(s){return ch(s,r)}}),Ve=Ia("complaint/types/getFormFields",(e,{signal:t})=>he.get(ur.formFields(e),{signal:t})),Tn=Ia("complaint/types/saveFormFields",({complaintTypeId:e,data:t})=>he.put(ur.formFields(e),t)),Ln=Ia("complaint/types/deleteFormField",({complaintTypeId:e,fieldId:t})=>he.delete(`${ur.formFields(e)}/${t}`)),dl={formFields:{data:[],selected:null,pagination:null,isLoading:!1,isMutating:!1,error:null},error:null},dh=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}},Fa=e=>e.payload?.message??e.error?.message??"Something went wrong",ul=le.createSlice({name:"complaintAppComplaint",initialState:dl,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 dl}},extraReducers:e=>{e.addCase(Ve.pending,t=>{t.formFields.isLoading=!0,t.formFields.error=null}).addCase(Ve.fulfilled,(t,n)=>{const r=dh(n.payload);t.formFields.isLoading=!1,t.formFields.data=r.data}).addCase(Ve.rejected,(t,n)=>{t.formFields.isLoading=!1,t.formFields.error=Fa(n)}).addCase(Tn.pending,t=>{t.formFields.isMutating=!0,t.formFields.error=null}).addCase(Tn.fulfilled,t=>{t.formFields.isMutating=!1}).addCase(Tn.rejected,(t,n)=>{t.formFields.isMutating=!1,t.formFields.error=Fa(n)}).addCase(Ln.pending,t=>{t.formFields.isMutating=!0,t.formFields.error=null}).addCase(Ln.fulfilled,(t,n)=>{const r=n.meta.arg?.fieldId;t.formFields.isMutating=!1,t.formFields.data=t.formFields.data.filter(s=>s.id!==r)}).addCase(Ln.rejected,(t,n)=>{t.formFields.isMutating=!1,t.formFields.error=Fa(n)})}}),{clearComplaintError:uh,clearSelectedComplaintResource:fh,resetComplaintState:ph}=ul.actions,fl=ul.reducer,In="/api/v1/complaint-types",Fn=(e,t)=>{const n=e?.response?.data,r=Array.isArray(n?.errors)?n.errors.map(s=>s?.message).filter(Boolean):[];return t.rejectWithValue({status:e?.response?.status??e?.status,message:(n?.message==="Complaint type code already exists"?"A category with this name already exists. Please use a different name.":null)??(r.includes("code must be shorter than or equal to 50 characters")?"Category name cannot exceed 50 characters. Please enter a shorter name.":null)??(r.length?r.join(" "):null)??n?.message??n?.error??e?.message??"Something went wrong"})},kn=le.createAsyncThunk("complaintType/fetchAll",async(e,t)=>{try{return(await he.get(In,{params:e??{}})).data}catch(n){return Fn(n,t)}}),ot=le.createAsyncThunk("complaintType/fetchById",async(e,t)=>{try{const n=e;return(await he.get(`${In}/${n}`)).data}catch(n){return Fn(n,t)}}),On=le.createAsyncThunk("complaintType/create",async({payload:e,onSuccess:t,onFail:n},r)=>{try{const s={code:e.categoryName,name:e.categoryName,description:e.description,tatMinutes:e.tatMinutes,accessType:e.visibilityType,roleIds:e.roles.map(l=>parseInt(l,10)),userIds:(e.userIds??[]).map(l=>parseInt(l,10))},o=await he.post(In,s);return t&&typeof t=="function"&&t(o.data),o.data}catch(s){return console.log("createComplaintType error:",s),n&&typeof n=="function"&&n(s),Fn(s,r)}}),Dn=le.createAsyncThunk("complaintType/update",async({id:e,data:t,onSuccess:n,onFail:r},s)=>{try{const o=await he.patch(`${In}/${e}`,t);return n&&typeof n=="function"&&n(o.data),o.data}catch(o){return console.log("updateComplaintType error:",o),r&&typeof r=="function"&&r(o),Fn(o,s)}}),fr=le.createAsyncThunk("complaintType/delete",async(e,t)=>{try{const n=await he.delete(`${In}/${e}`);return{id:e,data:n.data}}catch(n){return Fn(n,t)}}),ka=["userId","id","_id","userID","user_id","value"];function pr(e,t=ka){if(typeof e=="string"||typeof e=="number")return String(e).trim()||null;if(!e||typeof e!="object")return null;for(const n of t){const r=e[n];if(r!=null&&r!==e){const s=pr(r,ka);if(s!==null)return s}}return pr(e.user,ka)}function Oa(e){const t=pr(e?.createdByUserId??e?.createdBy??e?.createdByUser);return t===null?null:[t]}function hh(e,t){const n=Oa(e),r=pr(t);return r!==null&&n?.includes(r)===!0}const mh={complaintList:[],selected:null,loading:!1,saving:!1,error:null},gh=["data","items","results","content","records","list","payload","response","result"],pl=e=>{if(Array.isArray(e))return e;if(!e||typeof e!="object")return[];for(const t of gh)if(e[t]!==void 0){const n=pl(e[t]);if(n.length||Array.isArray(e[t]))return n}return[]},xe=e=>e?.id??e?._id,Da=(e,t)=>{if(!t)return e;const n=Oa(e),r=Oa(t);return n?.length||!r?.length?e:{...e,userIds:r}},hl=le.createSlice({name:"complaintType",initialState:mh,reducers:{setComplaintTypeActive(e,t){const{id:n,isActive:r}=t.payload??{};n!=null&&(e.complaintList=e.complaintList.map(s=>String(xe(s))===String(n)?{...s,isActive:r}:s),String(xe(e.selected))===String(n)&&(e.selected={...e.selected,isActive:r}))}},extraReducers:e=>{e.addCase(kn.pending,t=>{t.loading=!0,t.error=null}).addCase(kn.fulfilled,(t,n)=>{t.loading=!1;const r=new Map(t.complaintList.map(s=>[String(xe(s)),s]));t.complaintList=pl(n.payload).map(s=>Da(s,r.get(String(xe(s)))))}).addCase(kn.rejected,(t,n)=>{t.loading=!1,t.error=n.payload?.message??n.error?.message??"Failed to fetch complaint types"}).addCase(ot.pending,t=>{t.loading=!0,t.error=null}).addCase(ot.fulfilled,(t,n)=>{t.loading=!1;const r=n.payload?.data??n.payload,s=t.complaintList.find(o=>String(xe(o))===String(xe(r)));t.selected=Da(r,s)}).addCase(ot.rejected,(t,n)=>{t.loading=!1,t.error=n.payload?.message??n.error?.message??"Failed to fetch complaint type"}).addCase(On.pending,t=>{t.saving=!0,t.error=null}).addCase(On.fulfilled,(t,n)=>{t.saving=!1;const r=n.payload?.data??n.payload,s=n.meta?.arg?.payload?.userIds,o=Array.isArray(s)?{...r,userIds:s}:r;t.complaintList=[o,...t.complaintList.filter(l=>String(xe(l))!==String(xe(o)))],t.selected=o}).addCase(On.rejected,(t,n)=>{t.saving=!1,t.error=n.payload?.message??n.error?.message??"Failed to create complaint type"}).addCase(Dn.pending,t=>{t.saving=!0,t.error=null}).addCase(Dn.fulfilled,(t,n)=>{t.saving=!1;const r=n.payload?.data??n.payload,s=xe(r)??n.meta?.arg?.id,o=t.complaintList.find(c=>String(xe(c))===String(s)),l=n.meta?.arg?.data?.userIds,i=Array.isArray(l)?{...r,userIds:l}:Da(r,o);t.complaintList=t.complaintList.map(c=>String(xe(c))===String(s)?i:c),t.selected=i}).addCase(Dn.rejected,(t,n)=>{t.saving=!1,t.error=n.payload?.message??n.error?.message??"Failed to update complaint type"}).addCase(fr.pending,t=>{t.saving=!0,t.error=null}).addCase(fr.fulfilled,(t,n)=>{t.saving=!1;const r=n.payload?.id??n.meta?.arg;t.complaintList=t.complaintList.filter(s=>String(xe(s))!==String(r)),String(xe(t.selected))===String(r)&&(t.selected=null)}).addCase(fr.rejected,(t,n)=>{t.saving=!1,t.error=n.payload?.message??n.error?.message??"Failed to delete complaint type"})}}),{setComplaintTypeActive:Ah}=hl.actions,yh=hl.reducer,bh={details:{},id:null,isEdit:!1},ml=le.createSlice({name:"appDetails",initialState:bh,reducers:{setAppDetails(e,t){e.details=t.payload??{}},clearAppDetails(e){e.details={}},setId(e,t){e.id=t.payload},setIsEdit(e,t){e.isEdit=t.payload.data},clearId(e){e.id=null}}}),{setAppDetails:gl,clearAppDetails:vh,setId:_t,setIsEdit:Ht,clearId:Sh}=ml.actions,Al=ml.reducer,wh={list:[],pagination:null,isLoading:!1,error:null},yl=le.createSlice({name:"roles",initialState:wh,reducers:{}});yl.reducer;const hr=60,Ma=24*hr,Ch={d:Ma,h:hr,m:1};function xa(e){const t=Number(e);return Number.isFinite(t)&&t>0?t:0}function bl(e=[],t=!0){const n=Array.isArray(e)?e:[];return(t?n:n.slice(0,-1)).reduce((s,o)=>s+Pe(o?.escalateAfterMinutes),0)}function Pe(e){if(e==null||e==="")return 0;if(typeof e=="number")return xa(e);const t=String(e).trim().toLowerCase().replace(/minutes?/g,"").trim();if(!t)return 0;if(/^\d+(\.\d+)?$/.test(t))return xa(t);const n=/(\d+(?:\.\d+)?)\s*(d|h|m)/g;let r=0,s=!1,o;for(;(o=n.exec(t))!==null;)s=!0,r+=(Ch[o[2]]||0)*Number(o[1]);return s?xa(r):0}function zt(e){const t=Math.round(typeof e=="number"?e:Pe(e));if(!Number.isFinite(t)||t<=0)return"";const n=Math.floor(t/Ma),r=Math.floor(t%Ma/hr),s=t%hr,o=[];return n&&o.push(`${n}d`),r&&o.push(`${r}h`),s&&o.push(`${s}m`),o.join("")}function Nh(e){const t=String(e??"").trim().toLowerCase().replace(/minutes?/g,"").replace(/\s+/g,"");return!t||!/^(\d+(?:\.\d+)?[dhm])+$/.test(t)?!1:Pe(e)>0}function _h(e){return String(e??"").replace(/(\d+)\s*minutes?/gi,(t,n)=>zt(Number(n))||"0m")}function Eh(e=[]){return bl(e,!0)}function Kt(e=[],t=0){if(!Array.isArray(e)||e.length===0)return e;const n=Math.max(0,Pe(t)-bl(e,!1)),r=zt(n),s=e.length-1;return String(e[s]?.escalateAfterMinutes??"")===r?e:e.map((o,l)=>l===s?{...o,escalateAfterMinutes:r}:o)}function Th(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 vl=e=>`/api/v1/complaint-types/${e}/workflow-steps`;function Lh(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 Pa(e){return e===!0||e==="Yes"||e==="yes"||e==="true"||e===1||e==="1"}const Sl=(e,t)=>t.rejectWithValue({status:e?.response?.status??e?.status,message:Lh(e)}),Je=le.createAsyncThunk("workflow/fetchSteps",async(e,t)=>{try{return(await he.get(vl(e))).data}catch(n){return Sl(n,t)}}),mr=le.createAsyncThunk("workflow/updateSteps",async({id:e,tables:t,onSuccess:n,onFail:r},s)=>{try{if(!Array.isArray(t.tables))throw new Error("tables must be an array");const o=t.tables.map((i,c)=>{const d=Array.isArray(i.role)?i.role.map(A=>Number(A)):[],f=Array.isArray(i.users)?i.users.map(A=>Number(A)):[],u=d.length>0,p=f.length>0,S=!u&&(p||i.workflowType==="user");return{levelNo:c+1,workflowType:S?"Users Based":"Role Based",...u||!S?{roleIds:d}:{},...p||S?{userAssignments:f.map(A=>({userId:A}))}:{},escalateAfterMinutes:Pe(i.escalateAfterMinutes),canResolve:Pa(i.canResolve),canReassign:Pa(i.canReassign),isFinalLevel:Pa(i.finalLevel),isActive:!0}}),l=await he.put(vl(e),{steps:o});return typeof n=="function"&&n(l.data),l.data}catch(o){return typeof r=="function"&&r(o),Sl(o,s)}}),Ih={workflowSteps:null,workflowStepsLoading:!1,workflowStepsSaving:!1,error:null},Fh=le.createSlice({name:"workflow",initialState:Ih,reducers:{},extraReducers:e=>{e.addCase(Je.pending,t=>{t.workflowStepsLoading=!0,t.error=null,t.workflowSteps=null}).addCase(Je.fulfilled,(t,n)=>{t.workflowStepsLoading=!1,t.workflowSteps=n.payload?.data??n.payload}).addCase(Je.rejected,(t,n)=>{n.meta.aborted||(t.workflowStepsLoading=!1,t.error=n.payload?.message??n.error?.message??"Failed to fetch workflow steps")}).addCase(mr.pending,t=>{t.workflowStepsSaving=!0,t.error=null}).addCase(mr.fulfilled,(t,n)=>{t.workflowStepsSaving=!1,t.workflowSteps=n.payload?.data??n.payload}).addCase(mr.rejected,(t,n)=>{t.workflowStepsSaving=!1,t.error=n.payload?.message??n.error?.message??"Failed to update workflow steps"})}}).reducer,Ba="/api/v1/complaints/list",wl=e=>Array.isArray(e)?e.filter(t=>t!=null&&t!==""&&t!=="all"&&t!=="All"):e==null||e===""||e==="all"||e==="All"?[]:[e];function Ua(e={}){const{complaintTypeId:t,page:n=1,limit:r=10,status:s,sort:o="-createdAt",fromDate:l,toDate:i,assignmentFilter:c,escalationTo:d,search:f}=e,u={complaintTypeId:t,page:n,limit:r,sort:o},p=wl(s),S=wl(d).map(Number).filter(Number.isFinite);return p.length&&(u.status=p),S.length&&(u.escalationTo=S),c!=null&&c!==""&&(u.assignmentFilter=c),l&&i&&(u.fromDate=l,u.toDate=i),typeof f=="string"&&f.trim()!==""&&(u.search=f.trim()),u}const kh=(e,t)=>{const n=e?.response?.data,r=Array.isArray(n?.errors)?n.errors.map(s=>s?.message).filter(Boolean):[];return t.rejectWithValue({status:e?.response?.status??e?.status,message:(r.length?r.join(" "):null)??n?.message??n?.error??e?.message??"Something went wrong"})},gr=le.createAsyncThunk("complaintManagement/fetchQueries",async(e,t)=>{try{return(await he.post(Ba,Ua(e),{signal:t.signal})).data}catch(n){return kh(n,t)}}),Oh=e=>`/api/v1/complaints/${e}`,Dh=(e,t)=>{const n=e?.response?.data,r=Array.isArray(n?.errors)?n.errors.map(s=>s?.message).filter(Boolean):[];return t.rejectWithValue({status:e?.response?.status??e?.status,message:(r.length?r.join(" "):null)??n?.message??n?.error??e?.message??"Something went wrong"})};function $a(e){if(e==null||e==="")return;const t=Number(e);return Number.isNaN(t)?void 0:t}const Et=le.createAsyncThunk("changeStatus/update",async({id:e,statusId:t,currentStepId:n,assignedToUserId:r,remark:s,onSuccess:o,onFail:l},i)=>{try{const c={},d=$a(t),f=$a(n),u=$a(r);d!=null&&(c.statusId=d),f!=null&&(c.currentStepId=f),u!=null&&(c.assignedToUserId=u),s!=null&&String(s).trim()!==""&&(c.remarks=String(s).trim());const p=await he.patch(Oh(e),c,{signal:i.signal});return o&&typeof o=="function"&&o(p.data),p.data}catch(c){return l&&typeof l=="function"&&l(c),Dh(c,i)}}),Cl={list:[],meta:null,isLoading:!1,error:null,hasLoaded:!1,requestedComplaintTypeId:null},Mh=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}},xh=e=>e.payload?.message??e.error?.message??"Failed to fetch queries",Nl=e=>e?.complaintId??e?.id,Ph=(e,t)=>{const n=t.meta?.arg??{},r=t.payload?.data??t.payload,s=n.id??Nl(r);return s==null?e:e.map(o=>{if(String(Nl(o))!==String(s))return o;const l={...o};return r&&typeof r=="object"&&!Array.isArray(r)&&["status","statusId","level","levelNo","currentStepId","currentWorkflowStepId","workflowStepId","assignedToUserId"].forEach(i=>{r[i]!==void 0&&(l[i]=r[i])}),n.statusId!=null&&(l.statusId=n.statusId),n.status&&(l.status=n.status),n.currentStepId!=null&&(l.currentStepId=n.currentStepId,l.currentWorkflowStepId=n.currentStepId,l.workflowStepId=n.currentStepId),n.level!=null&&(l.level=n.level,l.levelNo=n.level),n.assignedToUserId!=null&&(l.assignedToUserId=n.assignedToUserId),l})},_l=le.createSlice({name:"complaintManagement",initialState:Cl,reducers:{resetComplaintManagementState:()=>Cl},extraReducers:e=>{e.addCase(gr.pending,(t,n)=>{t.isLoading=!0,t.error=null,t.hasLoaded=!1,t.list=[],t.requestedComplaintTypeId=n.meta.arg?.complaintTypeId??null}).addCase(gr.fulfilled,(t,n)=>{const r=n.meta.arg?.complaintTypeId;if(t.requestedComplaintTypeId!=null&&r!=null&&String(t.requestedComplaintTypeId)!==String(r))return;const s=Mh(n.payload);t.isLoading=!1,t.hasLoaded=!0,t.list=s.list,t.meta=s.meta}).addCase(gr.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=xh(n))}).addCase(Et.fulfilled,(t,n)=>{t.list=Ph(t.list,n)})}}),{resetComplaintManagementState:El}=_l.actions,Bh=_l.reducer,Uh=e=>`/api/v1/complaint-types/${e}/statuses`,$h="/api/v1/complaints/summary",Tl=(e,t)=>{const n=e?.response?.data,r=Array.isArray(n?.errors)?n.errors.map(s=>s?.message).filter(Boolean):[];return t.rejectWithValue({status:e?.response?.status??e?.status,message:(r.length?r.join(" "):null)??n?.message??n?.error??e?.message??"Something went wrong"})},Qt=le.createAsyncThunk("status/fetchStatuses",async(e,t)=>{try{return(await he.get(Uh(e),{signal:t.signal})).data}catch(n){return Tl(n,t)}}),Ar=le.createAsyncThunk("status/fetchComplaintSummary",async(e,t)=>{try{return(await he.get($h,{params:{complaintTypeId:e},signal:t.signal})).data}catch(n){return Tl(n,t)}}),Ll={list:[],isLoading:!1,error:null,hasLoaded:!1,requestedComplaintTypeId:null,complaintSummary:null,isComplaintSummaryLoading:!1,complaintSummaryError:null,hasComplaintSummaryLoaded:!1,requestedComplaintSummaryTypeId:null},jh=e=>{const t=e?.data??e?.results??e?.items??e;return Array.isArray(t)?t:[]},Vh=e=>{const t=e?.data??e;return!t||typeof t!="object"||Array.isArray(t)?null:t},Wh=e=>e.payload?.message??e.error?.message??"Failed to fetch statuses",qh=e=>e.payload?.message??e.error?.message??"Failed to fetch complaint summary",yr=(e,t)=>e!=null&&t!=null&&String(e)!==String(t),Il=le.createSlice({name:"status",initialState:Ll,reducers:{resetStatusState:()=>Ll},extraReducers:e=>{e.addCase(Qt.pending,(t,n)=>{t.isLoading=!0,t.error=null,t.hasLoaded=!1,t.list=[],t.requestedComplaintTypeId=n.meta.arg??null}).addCase(Qt.fulfilled,(t,n)=>{const r=n.meta.arg;if(yr(t.requestedComplaintTypeId,r))return;const s=jh(n.payload);t.isLoading=!1,t.hasLoaded=!0,t.list=[...s].sort((o,l)=>(o.displayOrder??0)-(l.displayOrder??0))}).addCase(Qt.rejected,(t,n)=>{if(n.meta.aborted)return;const r=n.meta.arg;yr(t.requestedComplaintTypeId,r)||(t.isLoading=!1,t.hasLoaded=!0,t.error=Wh(n))}).addCase(Ar.pending,(t,n)=>{t.isComplaintSummaryLoading=!0,t.complaintSummaryError=null,t.hasComplaintSummaryLoaded=!1,t.complaintSummary=null,t.requestedComplaintSummaryTypeId=n.meta.arg??null}).addCase(Ar.fulfilled,(t,n)=>{const r=n.meta.arg;yr(t.requestedComplaintSummaryTypeId,r)||(t.isComplaintSummaryLoading=!1,t.hasComplaintSummaryLoaded=!0,t.complaintSummary=Vh(n.payload))}).addCase(Ar.rejected,(t,n)=>{if(n.meta.aborted)return;const r=n.meta.arg;yr(t.requestedComplaintSummaryTypeId,r)||(t.isComplaintSummaryLoading=!1,t.hasComplaintSummaryLoaded=!0,t.complaintSummaryError=qh(n))})}}),{resetStatusState:Fl}=Il.actions,Hh=Il.reducer,zh="/api/v1/complaints",Kh="/api/v1/complaint-types",kl=(e,t)=>{const n=e?.response?.data,r=Array.isArray(n?.errors)?n.errors.map(s=>s?.message).filter(Boolean):[];return t.rejectWithValue({status:e?.response?.status??e?.status,message:(r.length?r.join(" "):null)??n?.message??n?.error??e?.message??"Something went wrong"})},br=le.createAsyncThunk("createComplaint/create",async(e,t)=>{try{return(await he.post(zh,e,{signal:t.signal})).data}catch(n){return kl(n,t)}}),Mn=le.createAsyncThunk("createComplaint/updateActive",async({id:e,isActive:t,onSuccess:n,onFail:r},s)=>{try{const o=await he.patch(`${Kh}/${e}`,{isActive:t},{signal:s.signal});return n&&typeof n=="function"&&n(o.data),o.data}catch(o){return r&&typeof r=="function"&&r(o),kl(o,s)}}),Qh={data:null,isLoading:!1,error:null,hasLoaded:!1,isActive:!0,activeComplaintTypeId:null,isUpdatingActive:!1,activeError:null},Xh=e=>e.payload?.message??e.error?.message??"Failed to create complaint",Yh=e=>e.payload?.message??e.error?.message??"Failed to update complaint type",Gh=le.createSlice({name:"createComplaint",initialState:Qh,reducers:{},extraReducers:e=>{e.addCase(br.pending,t=>{t.isLoading=!0,t.error=null,t.hasLoaded=!1}).addCase(br.fulfilled,(t,n)=>{t.isLoading=!1,t.hasLoaded=!0,t.data=n.payload?.data??n.payload}).addCase(br.rejected,(t,n)=>{n.meta.aborted||(t.isLoading=!1,t.hasLoaded=!0,t.error=Xh(n))}).addCase(Mn.pending,t=>{t.isUpdatingActive=!0,t.activeError=null}).addCase(Mn.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(Mn.rejected,(t,n)=>{n.meta.aborted||(t.isUpdatingActive=!1,t.activeError=Yh(n))})}}).reducer,Ol={data:null,isLoading:!1,error:null,hasLoaded:!1,updatingId:null},Jh=e=>e.payload?.message??e.error?.message??"Failed to update complaint status",Dl=le.createSlice({name:"changeStatus",initialState:Ol,reducers:{resetChangeStatusState:()=>Ol},extraReducers:e=>{e.addCase(Et.pending,(t,n)=>{t.isLoading=!0,t.error=null,t.hasLoaded=!1,t.updatingId=n.meta.arg?.id??null}).addCase(Et.fulfilled,(t,n)=>{t.isLoading=!1,t.hasLoaded=!0,t.updatingId=null,t.data=n.payload?.data??n.payload}).addCase(Et.rejected,(t,n)=>{n.meta.aborted||(t.isLoading=!1,t.hasLoaded=!0,t.updatingId=null,t.error=Jh(n))})}}),{resetChangeStatusState:Zh}=Dl.actions,Rh=Dl.reducer,em={BASE_URL:"/",DEV:!1,MODE:"production",PROD:!0,SSR:!1},ja=(e,t)=>{try{return em?.[e]||t}catch{return t}},tm=ja("VITE_S3_API_URL","https://api.airaops.com").replace(/\/$/,""),Ml=ja("VITE_S3_UPLOAD_ENDPOINT","/api/v1/files/upload"),nm=ja("VITE_S3_SIGNED_URL_ENDPOINT","/api/v1/files/signed-url"),xl=e=>/^https?:\/\//i.test(e)?e:`${tm}${e}`,rm=e=>(String(e?.name||e?.fileName||"file").split(/[/\\]/).pop()||"file").replace(/[^\w.-]+/g,"_")||"file",Pl=(e,t)=>{const n=e?.response?.data,r=n?.error?.details?.errors?.file;if(r)return r;const s=n?.message;return s||(e?.response?.status===404?`S3 upload endpoint was not found: ${Ml}`:e?.response?.data?.error??e?.message??t)},xn=le.createAsyncThunk("s3/fileUpload",async({file:e,folder:t},{rejectWithValue:n})=>{try{const r={fileSize:e.size,subDirectory:t,fileName:rm(e)},s=await he.post(xl(Ml),r),o=s.data.uploadSignedUrl;return(await fetch(o,{method:"PUT",headers:{"Content-Type":e.type||"application/octet-stream"},body:e})).ok?s.data:n("Error uploading file")}catch(r){return n(Pl(r,"Error uploading file"))}}),Pn=le.createAsyncThunk("s3/getSignedUrl",async({params:e},{rejectWithValue:t})=>{try{const r=(await he.get(xl(nm),{params:e})).data??{},s=r.data??r;return s.signedUrl||s.uploadSignedUrl||""}catch(n){return t(Pl(n,"Error getting file signedUrl"))}}),am={isUploading:!1,uploadedFile:null,uploadedFiles:[],uploadError:null,isGettingSignedUrl:!1,signedUrl:"",signedUrlError:null},sm=le.createSlice({name:"s3",initialState:am,reducers:{},extraReducers:e=>{e.addCase(xn.pending,t=>{t.isUploading=!0,t.uploadError=null}).addCase(xn.fulfilled,(t,n)=>{t.isUploading=!1,t.uploadedFile=n.payload,t.uploadedFiles.push(n.payload)}).addCase(xn.rejected,(t,n)=>{n.meta.aborted||(t.isUploading=!1,t.uploadError=n.payload||"Error uploading file")}).addCase(Pn.pending,t=>{t.isGettingSignedUrl=!0,t.signedUrl="",t.signedUrlError=null}).addCase(Pn.fulfilled,(t,n)=>{t.isGettingSignedUrl=!1,t.signedUrl=n.payload}).addCase(Pn.rejected,(t,n)=>{n.meta.aborted||(t.isGettingSignedUrl=!1,t.signedUrl="",t.signedUrlError=n.payload||"Error getting file signedUrl")})}}).reducer,om=e=>`/api/v1/complaints/${encodeURIComponent(e)}`,lm=(e,t)=>{const n=e?.response?.data,r=Array.isArray(n?.errors)?n.errors.map(s=>s?.message).filter(Boolean):[];return t.rejectWithValue({status:e?.response?.status??e?.status,message:(r.length?r.join(" "):null)??n?.message??n?.error??e?.message??"Failed to fetch complaint details"})},Tt=le.createAsyncThunk("complaintsGetOne/fetchById",async(e,t)=>{try{return(await he.get(om(e),{signal:t.signal})).data}catch(n){return lm(n,t)}}),Bl={data:null,isLoading:!1,error:null,hasLoaded:!1,requestedComplaintId:null},im=e=>e.payload?.message??e.error?.message??"Failed to fetch complaint details",Ul=(e,t)=>e!=null&&t!=null&&String(e)!==String(t),$l=le.createSlice({name:"complaintsGetOne",initialState:Bl,reducers:{resetComplaintDetails:()=>Bl},extraReducers:e=>{e.addCase(Tt.pending,(t,n)=>{t.data=null,t.isLoading=!0,t.error=null,t.hasLoaded=!1,t.requestedComplaintId=n.meta.arg??null}).addCase(Tt.fulfilled,(t,n)=>{Ul(t.requestedComplaintId,n.meta.arg)||(t.data=n.payload?.data??n.payload,t.isLoading=!1,t.hasLoaded=!0)}).addCase(Tt.rejected,(t,n)=>{n.meta.aborted||Ul(t.requestedComplaintId,n.meta.arg)||(t.isLoading=!1,t.hasLoaded=!0,t.error=im(n))})}}),{resetComplaintDetails:cm}=$l.actions,dm=$l.reducer,um=e=>`/api/v1/users/role/${e}`,Lt=le.createAsyncThunk("roleUsers/fetchByRole",async(e,t)=>{try{const n=await he.get(um(encodeURIComponent(e)),{signal:t.signal});return{roleId:e,response:n.data}}catch(n){return t.rejectWithValue({roleId:e,message:n?.response?.data?.message??n?.response?.data?.error??n?.message??"Failed to fetch users for role"})}}),fm={usersByRoleId:{},loadingByRoleId:{},errorByRoleId:{}},pm=le.createSlice({name:"roleUsers",initialState:fm,reducers:{},extraReducers:e=>{e.addCase(Lt.pending,(t,n)=>{const r=String(n.meta.arg);t.loadingByRoleId[r]=!0,delete t.errorByRoleId[r]}).addCase(Lt.fulfilled,(t,n)=>{const r=String(n.payload.roleId),s=n.payload.response?.data??n.payload.response;t.usersByRoleId[r]=Array.isArray(s)?s:[],t.loadingByRoleId[r]=!1}).addCase(Lt.rejected,(t,n)=>{if(n.meta.aborted)return;const r=String(n.payload?.roleId??n.meta.arg);t.loadingByRoleId[r]=!1,t.errorByRoleId[r]=n.payload?.message??n.error?.message??"Failed to fetch users for role"})}}).reducer,hm=e=>`/api/v1/complaints/${encodeURIComponent(e)}/activities`,It=le.createAsyncThunk("activityLog/fetchByComplaint",async(e,t)=>{try{const n=await he.get(hm(e),{signal:t.signal});return{complaintId:e,response:n.data}}catch(n){return t.rejectWithValue({complaintId:e,message:n?.response?.data?.message??n?.response?.data?.error??n?.message??"Failed to fetch complaint activity"})}}),jl={activities:[],complaintId:null,isLoading:!1,error:null,hasLoaded:!1,currentRequestId:null};function mm(e){const t=e?.data??e;return Array.isArray(t)?t:Array.isArray(t?.activities)?t.activities:Array.isArray(t?.items)?t.items:Array.isArray(t?.results)?t.results:[]}const Vl=le.createSlice({name:"activityLog",initialState:jl,reducers:{resetActivityLog:()=>jl},extraReducers:e=>{e.addCase(It.pending,(t,n)=>{t.activities=[],t.complaintId=n.meta.arg??null,t.isLoading=!0,t.error=null,t.hasLoaded=!1,t.currentRequestId=n.meta.requestId}).addCase(It.fulfilled,(t,n)=>{t.currentRequestId===n.meta.requestId&&(t.activities=mm(n.payload?.response),t.complaintId=n.payload?.complaintId??n.meta.arg,t.isLoading=!1,t.hasLoaded=!0,t.currentRequestId=null)}).addCase(It.rejected,(t,n)=>{n.meta.aborted||t.currentRequestId!==n.meta.requestId||(t.isLoading=!1,t.hasLoaded=!0,t.error=n.payload?.message??n.error?.message??"Failed to fetch complaint activity",t.currentRequestId=null)})}}),{resetActivityLog:gm}=Vl.actions,Am=Vl.reducer,ym=(e,t)=>`/api/v1/complaint-analytics/${e}/${t}`,bm=(e,t)=>{const n=e?.response?.data,r=Array.isArray(n?.errors)?n.errors.map(s=>s?.message).filter(Boolean):[];return t.rejectWithValue({status:e?.response?.status??e?.status,message:(r.length?r.join(" "):null)??n?.message??n?.error??e?.message??"Something went wrong"})},vm=({fromDate:e,toDate:t,granularity:n}={})=>{const r={};return e&&t&&(r.fromDate=e,r.toDate=t),n&&(r.granularity=n),r},Ze=async(e,t,n)=>{try{const{complaintTypeId:r,...s}=t||{};return(await he.get(ym(r,e),{params:vm(s),signal:n.signal})).data}catch(r){return bm(r,n)}},Wl=le.createAsyncThunk("analytics/fetchOverview",(e,t)=>Ze("overview",e,t)),ql=le.createAsyncThunk("analytics/fetchTrends",(e,t)=>Ze("trends",e,t)),Hl=le.createAsyncThunk("analytics/fetchBacklog",(e,t)=>Ze("backlog",e,t)),zl=le.createAsyncThunk("analytics/fetchSla",(e,t)=>Ze("sla",e,t)),Kl=le.createAsyncThunk("analytics/fetchResolutionTimes",(e,t)=>Ze("resolution-times",e,t)),Ql=le.createAsyncThunk("analytics/fetchTypes",(e,t)=>Ze("types",e,t)),Xl=le.createAsyncThunk("analytics/fetchWorkflowBottlenecks",(e,t)=>Ze("workflow-bottlenecks",e,t)),Yl=le.createAsyncThunk("analytics/fetchWorkload",(e,t)=>Ze("workload",e,t)),Gl=le.createAsyncThunk("analytics/fetchEscalations",(e,t)=>Ze("escalations",e,t)),Jl=le.createAsyncThunk("analytics/fetchReassignments",(e,t)=>Ze("reassignments",e,t)),Sm={overview:Wl,trends:ql,backlog:Hl,sla:zl,resolutionTimes:Kl,types:Ql,workflowBottlenecks:Xl,workload:Yl,escalations:Gl,reassignments:Jl},Zl={data:null,isLoading:!1,error:null,hasLoaded:!1,requestedComplaintTypeId:null},wm=le.createAction("analytics/reset"),Cm=e=>e?.data??e??null,Nm=e=>e.payload?.message??e.error?.message??"Failed to fetch analytics",Rl=(e,t)=>e!=null&&t!=null&&String(e)!==String(t),Re=(e,t)=>le.createSlice({name:`analytics/${e}`,initialState:Zl,reducers:{},extraReducers:n=>{n.addCase(wm,()=>Zl).addCase(t.pending,(r,s)=>{const o=s.meta.arg?.complaintTypeId??null;String(r.requestedComplaintTypeId)!==String(o)&&(r.data=null),r.isLoading=!0,r.error=null,r.hasLoaded=!1,r.requestedComplaintTypeId=o}).addCase(t.fulfilled,(r,s)=>{Rl(r.requestedComplaintTypeId,s.meta.arg?.complaintTypeId)||(r.isLoading=!1,r.hasLoaded=!0,r.data=Cm(s.payload))}).addCase(t.rejected,(r,s)=>{s.meta.aborted||Rl(r.requestedComplaintTypeId,s.meta.arg?.complaintTypeId)||(r.isLoading=!1,r.hasLoaded=!0,r.error=Nm(s))})}}),_m=Re("overview",Wl).reducer,Em=Re("trends",ql).reducer,Tm=Re("backlog",Hl).reducer,Lm=Re("sla",zl).reducer,Im=Re("resolutionTimes",Kl).reducer,Fm=Re("types",Ql).reducer,km=Re("workflowBottlenecks",Xl).reducer,Om=Re("workload",Yl).reducer,Dm=Re("escalations",Gl).reducer,Mm=Re("reassignments",Jl).reducer,xm=le.combineReducers({overview:_m,trends:Em,backlog:Tm,sla:Lm,resolutionTimes:Im,types:Fm,workflowBottlenecks:km,workload:Om,escalations:Dm,reassignments:Mm}),Pm=le.combineReducers({complaintAppComplaint:fl,complaintType:yh,appDetails:Al,workflow:Fh,roles:yl.reducer,complaintManagement:Bh,status:Hh,createComplaint:Gh,changeStatus:Rh,s3:sm,complaintsGetOne:dm,roleUsers:pm,activityLog:Am,analytics:xm}),ei=e=>le.configureStore({reducer:Pm,preloadedState:e,middleware:t=>t({immutableCheck:!1,serializableCheck:!1})}),ti=ei(),ni="data:image/png;base64,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";function Ce({children:e,variant:t="primary",size:n="md",startIcon:r,endIcon:s,className:o="",type:l="button",disabled:i=!1,onClick:c,...d}){const f=["ca-btn",`ca-btn--${t}`,n==="sm"?"ca-btn--sm":"",n==="lg"?"ca-btn--lg":"",o].filter(Boolean).join(" ");return a.jsxs("button",{type:l,className:f,disabled:i,onClick:c,...d,children:[r?a.jsx("span",{className:"ca-btn__icon",children:r}):null,e,s?a.jsx("span",{className:"ca-btn__icon",children:s}):null]})}function ri({size:e=16,color:t="currentColor",...n}){return a.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:a.jsx("path",{d:"M12 5v14M5 12h14",stroke:t,strokeWidth:"2",strokeLinecap:"round"})})}const ai={h1:"ca-h1",h2:"ca-h2",body:"ca-body",label:"ca-label",value:"ca-value",small:"ca-small",link:"ca-link"},Bm={h1:"h1",h2:"h2",body:"p",label:"span",value:"span",small:"span",link:"button"};function gt({variant:e="body",as:t,className:n="",children:r,...s}){const o=t||Bm[e]||"p",l=ai[e]||ai.body;return a.jsx(o,{className:`${l} ${n}`.trim(),...s,children:r})}function Va(e){return a.jsx(gt,{variant:"h1",...e})}function Wa(e){return a.jsx(gt,{variant:"h2",...e})}function qa(e){return a.jsx(gt,{variant:"body",...e})}function si(e){return a.jsx(gt,{variant:"label",...e})}function oi(e){return a.jsx(gt,{variant:"value",...e})}function Um(e){return a.jsx(gt,{variant:"link",type:"button",...e})}function vr({title:e="Complaint Management",description:t,actionLabel:n="Create New Form",onAction:r,showAction:s=!0,className:o=""}){return a.jsxs("header",{className:`ca-page-header ${o}`.trim(),children:[a.jsxs("div",{className:"ca-page-header__text",children:[a.jsx(Va,{children:e}),t?a.jsx(qa,{children:t}):null]}),s?a.jsx("div",{className:"ca-page-header__actions",children:a.jsx(Ce,{startIcon:a.jsx(ri,{}),onClick:r,children:n})}):null]})}function Sr({checked:e=!1,onChange:t,disabled:n=!1,"aria-label":r="Toggle",className:s=""}){return a.jsx("button",{type:"button",role:"switch","aria-checked":e,"aria-label":r,disabled:n,className:`ca-toggle ${e?"ca-toggle--on":""} ${s}`.trim(),onClick:()=>t?.(!e),children:a.jsx("span",{className:"ca-toggle__thumb"})})}function wr({size:e=16,color:t="#9CA3AF",...n}){return a.jsx("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",...n,children:a.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 $m="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAACXBIWXMAACxLAAAsSwGlPZapAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAOdEVYdFNvZnR3YXJlAEZpZ21hnrGWYwAAAWVJREFUeAHtm81NxDAQhT9+7iwVkBI4csyR43bAdgAdUAJLBVsKJUAHgQpCB8FRIhHMKnK82ZWdeZ/0lFjOKM6TNZlENgghhBD7eHCqnar+3Bztgze9ahbK2UhfM+HabDnHOOYNuCRfCqfH/vzV6ZOZaTylxju/Y3sjkpyT4CzjUxLEODIA48gAjCMDME4qBrzQFTZtdVeQCKcqhUvvPtvAuFnGl8IMKLz2FSdEOQDjyACMIwMwjgzAODIA4xzDgGenndOazIn52Nh4MauImB1hJPkxVHrt5GeBcgDGkQEYRwZgHBnAcfkmY2IqrXJwfUXYP/4Vf5fkhRZPW6b/Sp9EbKlZ0JW3IWXwMGY9Maal5H/1OQmtE8Q4MmCkz8/gNyyQMQM+vPYTC+RipO/a6X7QvuuPX2T+fg/Ffz/nqooD9jvc0u0VyOFBx3TQfofWhApoMlbFDGzoFiXnNiPqfuxCCCGExw9cfQ+fJ3a07QAAAABJRU5ErkJggg==";function li({title:e,titleAsLink:t=!1,onTitleClick:n,isActive:r=!1,canManage:s=!1,canDelete:o=!1,activeDisabled:l=!1,onActiveChange:i,onDelete:c,canViewAnalytics:d=!1,complaintTypeId:f,className:u=""}){const p=Ge();return a.jsxs("div",{className:`ca-system-card__header ${u}`.trim(),children:[a.jsx("div",{className:"ca-system-card__title-wrap",children:t?a.jsx("button",{type:"button",className:"ca-h2 ca-h2--link",onClick:n,children:e}):a.jsx(Wa,{children:e})}),a.jsxs("div",{className:"ca-system-card__header-actions",children:[d&&f!=null&&f!==""?a.jsx("button",{type:"button",className:"ca-system-card__analytics","aria-label":`View analytics for ${e}`,title:"View analytics",onClick:()=>p(`/complaintanalysis/${String(f)}`),children:a.jsx("img",{src:$m,alt:""})}):null,a.jsx("span",{className:"ca-system-card__active-label",children:r?"Active":"Inactive"}),s?a.jsx(Sr,{checked:r,disabled:l,"aria-label":`${r?"Deactivate":"Activate"} ${e}`,onChange:i}):null,a.jsx("button",{type:"button",className:"ca-system-card__delete","aria-label":`Delete ${e}`,title:o?`Delete ${e}`:"You do not have permission to delete this form",disabled:!o,onClick:c,children:a.jsx(wr,{size:40,color:"currentColor"})})]})]})}function Xt({size:e=16,color:t="currentColor",...n}){return a.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:a.jsx("path",{d:"M9 6l6 6-6 6",stroke:t,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}const jm="aira-query-complaintTypeId";function ii({updatedOn:e,openLabel:t="Open",configureLabel:n="Configure",onOpen:r,className:s="",id:o,canConfigure:l=!1,canOpen:i=!1,canAddComplaint:c=!1}){const d=Ge(),f=X.useDispatch(),u=o?.data??o?.id??o?._id??o,p=()=>{const S=o?.data??o?.id??o?._id??o;if(S!=null&&S!==""){const A=String(S);try{sessionStorage.setItem(jm,A)}catch{}f(_t(A)),f(El()),f(Fl()),d(`/complaintmanagement/${A}`);return}d("/complaintmanagement")};return a.jsxs("div",{className:`ca-system-card__footer ${s}`.trim(),children:[a.jsx(gt,{variant:"small",as:"span",children:e?`Active Since ${e}`:""}),a.jsxs("div",{className:"ca-system-card__footer-actions",children:[i?a.jsxs(Ce,{size:"sm",onClick:p,children:[t,a.jsx(Xt,{size:14,color:"currentColor",className:"svg"})]}):null,l?a.jsx(Ce,{size:"sm",onClick:()=>{if(u==null||u==="")return;const S=String(u);f(Ht({data:!0})),f(_t(S)),d(`/settings/${S}?step=1`)},endIcon:a.jsx(Xt,{size:14,color:"currentColor",className:"svg"}),children:n}):null,c?a.jsx(Ce,{size:"sm",onClick:()=>{u==null||u===""||d(`/complaintmanagement/new/${String(u)}`)},endIcon:a.jsx(Xt,{size:14,color:"currentColor",className:"svg"}),children:"Add complaint"}):null]})]})}function ci({label:e,value:t,icon:n,className:r=""}){const s=t==null?"—":typeof t=="number"?String(t).padStart(2,"0"):t;return a.jsxs("div",{className:`ca-data-point ${r}`.trim(),children:[n?a.jsx("span",{className:"ca-data-point__icon","aria-hidden":"true",children:n}):null,a.jsx(oi,{children:s}),a.jsx("span",{className:"ca-data-point__label",children:e})]})}function di({className:e=""}){return a.jsx("div",{className:`ca-divider ${e}`.trim(),role:"separator","aria-orientation":"vertical"})}const Vm="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",Wm="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",qm="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",Hm="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",zm="Complaints",Km=[{actionName:"READ",featureModule:{name:"Complaints",isActive:!1},source:"role:STOREMANAGER"},{actionName:"DELETE",featureModule:{name:"Complaints",isActive:!1},source:"role:STOREMANAGER"},{actionName:"CREATE",featureModule:{name:"Complaints",isActive:!1},source:"role:STOREMANAGER"},{actionName:"FULL_ACCESS",featureModule:{name:"Complaints",isActive:!1},source:"role:STOREMANAGER"},{actionName:"FULL_DATA_ACCESS",featureModule:{name:"Complaints",isActive:!1},source:"role:STOREMANAGER"}];function Cr(e){const t=Array.isArray(e)?e:[],n=new Set(t.filter(d=>d?.featureModule?.name===zm&&d?.featureModule?.isActive!==!1).map(d=>String(d?.actionName||"").trim().toUpperCase())),r=n.has("FULL_ACCESS"),s=n.has("FULL_DATA_ACCESS")||n.has("FULL_CONTENT_ACCESS"),o=n.has("READ")||r,l=n.has("CREATE")||r,i=n.has("DELETE")||r,c=s;return{canViewCards:o,canCreateForm:l,canDelete:i,canOpen:c,canSeeAllFilters:r||s,hasAnyAccess:o||l||i||c}}const Qm=["Text","Dropdown","Radio","Number","Email","Date","Text Area","Checkbox","File","Time"],ui=new Set(["Select","Dropdown","Radio","Checkbox"]),Xm=["Both","User","Admin"],Ym={Open:"#FF0000",Cancelled:"#FF6F00",Closed:"#00D82F"},Ha=["Open","Cancelled","Closed"],lt={id:"default-status",fieldKey:"status",fieldLabel:"Status",originalFieldName:"Status",fieldType:"Custom",required:!0,fieldAccess:"",hideFor:[],dependsOn:"",options:[...Ha],optionColors:{...Ym},parentMappings:{},lockMode:"options",isNew:!1},Nr={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},Bn={id:"custom-store-id",fieldKey:"storeIdCustom",fieldLabel:"Office",originalFieldName:"Office",fieldType:"Custom",required:!0,fieldAccess:"",hideFor:[],dependsOn:"",options:[],optionColors:{},parentMappings:{},lockMode:"all",isNew:!1},Gm=[{...lt,label:lt.fieldLabel},{...Bn,label:Bn.fieldLabel}];function fi(e){return String(e||"").trim().toLowerCase()}function ce(e){const t=fi(e?.fieldKey),n=fi(e?.fieldLabel||e?.label);return t==="status"||t==="statuses"||t==="statuscustom"||n==="status"||n==="statuses"}function et(e){return ce(e)&&(e?.lockMode==="options"||e?.lockMode==="all")}function Jm(e,t=[]){if(!ce(e))return!1;const n=t.length?t:[e],r=n.filter(l=>!l?.isNew&&ce(l)),s=n.filter(et),o=r[0]||s[0]||n.find(l=>ce(l)&&!l?.isNew);return o?String(o.id)===String(e.id):!e?.isNew}function _r(e){const t=String(e?.fieldKey||"").toLowerCase(),n=String(e?.fieldLabel||e?.label||"").trim().toLowerCase();return t==="priorities"||n==="priorities"}function Be(e){const t=String(e?.fieldKey||"").toLowerCase(),n=String(e?.fieldLabel||e?.label||e?.fieldName||"").trim().toLowerCase();return t==="storeid"||t==="storeidcustom"||n==="store id"}function At(e){const t=String(e||"").trim().toLowerCase();return t==="open"||t==="cancelled"||t==="canceled"||t==="closed"}function Zm(e){return String(e||"").trim().toLowerCase()==="open"}function Er(e){return String(e||"").trim().toLowerCase()==="done"?"Closed":e}function Yt(e=[]){const t=(e||[]).filter(l=>l!=null&&String(l).trim()!==""),n=l=>t.find(i=>String(i).trim().toLowerCase()===l),r=n("open"),s=["cancelled","closed"].map(n).filter(l=>l!=null),o=t.filter(l=>l!==r&&!s.includes(l));return[r,...o,...s].filter(l=>l!=null)}function Rm(e=[]){const t=new Set(Ha.map(r=>r.toLowerCase())),n=(e||[]).filter(r=>{const s=String(r||"").trim().toLowerCase();return!s||s==="done"||s==="canceled"||t.has(s)?!1:(t.add(s),!0)});return Yt([...Ha,...n])}function pi(e){return ui.has(e?.fieldType)||et(e)}function za(e){return!e||ce(e)||Be(e)||!ui.has(e.fieldType)?!1:!(e.options||[]).some(t=>String(t||"").trim())}function Gt(e=[]){return e.some(za)}function hi(e=[]){const t=[],n=new Set;return e.forEach(r=>{if(!za(r))return;const s=String(r.fieldType||"").trim();!s||n.has(s)||(n.add(s),t.push(s))}),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 eg(e,t){const n=String(e?.fieldLabel||e?.label||"").trim().toLowerCase(),r=String(t?.fieldLabel||t?.label||"").trim().toLowerCase(),s=String(e?.fieldType||"").trim().toLowerCase(),o=String(t?.fieldType||"").trim().toLowerCase();return!!(n&&r&&s&&o&&n===r&&s===o)}function Tr(e,t=[]){return e?t.some(n=>String(n.id)===String(e.id)?!1:eg(e,n)):!1}function Lr(e=[]){return e.some(t=>Tr(t,e))}function Ka(e,t={},n=""){const r=String(n||"");if(ce({fieldKey:r})||Be({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==="DATETIME"&&r.endsWith("Time")&&!r.endsWith("DateTime"))return t.TIME??"Time";if(e==="SELECT"||e==="DROPDOWN"){const s=r.toLowerCase();if(s.endsWith("dropdown"))return t.DROPDOWN??"Dropdown";if(s.endsWith("select"))return t.SELECT??"Select"}return t[e]??e??"Custom"}function tg(e){return _r(e)?"Priorities":"Option"}function ng(e,t=!1){return e?t?"Define options and set parent.":ce(e)?"Manage the status":"Manage your fields.":""}function Ir(e,t=[]){if(String(e?.fieldType||"")==="MultiSelect")return Ir({...e,fieldType:"Checkbox"},t);if(ce(e)){if(e?.isNew||!Jm(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{...lt,...e,fieldKey:lt.fieldKey,fieldLabel:r?lt.fieldLabel:n,originalFieldName:r?lt.originalFieldName:e.originalFieldName??n,fieldType:lt.fieldType,required:!0,options:Rm(e.options),optionColors:{...e.optionColors||{},...lt.optionColors},lockMode:"options"}}return _r(e)?{...Nr,...e,fieldKey:e.fieldKey||Nr.fieldKey,fieldType:Nr.fieldType,options:e.options?.length?e.options:Nr.options,lockMode:"options"}:Be(e)?{...Bn,...e,fieldKey:Bn.fieldKey,fieldType:Bn.fieldType,required:!0,lockMode:"all"}:e}function Jt(e=[]){const t=e.map(r=>Ir(r,e));if(t.some(ce))return t;const n={...lt};return[Ir(n,[n,...t]),...t]}const mi="aira-query-complaintTypeId",rg={id:"status",label:"Status",key:"status"},ag={id:"escalationTo",label:"Escalation To",key:"escalationTo"},sg={id:"submittedByUserName",label:"Submitted By",key:"submittedByUserName"},og={id:"assignedToUserName",label:"Assigned To",key:"assignedToUserName"},lg={id:"complaintId",label:"Complaint Id",key:"complaintId"},ig={id:"createdAt",label:"Created At",key:"createdAt"},cg={id:"updatedAt",label:"Updated At",key:"updatedAt"},gi="desc",Ai="asc",dg=50,ug=["25","50","100","200"],fg=999999,Qa=new Set(["status","escalationTo","id","submittedByUserName","assignedToUserName","complaintId","createdAt","updatedAt"]),pg=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function hg(e){const t=e.getHours(),n=String(e.getMinutes()).padStart(2,"0");return`${String(t%12||12).padStart(2,"0")}:${n} ${t>=12?"PM":"AM"}`}function yi(e){return Xa(e)}function Xa(e){const t=Li(e);return!e||Number.isNaN(t.getTime())?"":`${Ii(e)}, ${hg(t)}`}function bi(e){return[sg,og,lg,ig,cg,rg,ag,...e]}function vi(e){const t=e?.data??e,n=Array.isArray(t)?t:t?.data??t?.results??t?.items??[];return[...Array.isArray(n)?n:[]].sort((r,s)=>(r.displayOrder??0)-(s.displayOrder??0)).map(r=>{const s=r.fieldKey||r.fieldName||r.fieldLabel;return{id:s,label:Be({...r,fieldKey:s})?"Office":r.fieldName||r.fieldLabel||r.label||s,key:s,fieldType:r.fieldType,hideForWorkflowStepId:r.hideForWorkflowStepId??null}}).filter(r=>r.key&&!Qa.has(r.key))}function mg(e,t,n,r){const s=e?.data??e??{},o=Number(s.total??s.totalItems??s.totalCount??s.count),l=Number(s.totalPages??s.pages??s.pageCount);return Number.isFinite(l)&&l>0?{totalPages:l,totalItems:Number.isFinite(o)&&o>=0?o:Math.max(r,l*n),hasNext:t<l}:Number.isFinite(o)&&o>=0?{totalPages:Math.max(1,Math.ceil(o/n)),totalItems:o,hasNext:t*n<o}:{totalPages:t+(r>=n?1:0),totalItems:Math.max(r,t*n),hasNext:r>=n}}function Si(e){return e==null||e===""?null:typeof e=="object"?e.data??e.id??e._id??null:e}function gg(){try{return sessionStorage.getItem(mi)}catch{return null}}function wi(e){const t=Si(e);if(t==null||t==="")return null;const n=String(t);try{sessionStorage.setItem(mi,n)}catch{}return n}function Ag(...e){for(const t of e){const n=Si(t);if(n!=null&&n!=="")return String(n)}return null}function Ya(e,t=[]){const n=e?.status;if(typeof n=="string"&&n.trim())return n.trim();if(n&&typeof n=="object"){const s=n.name??n.label??n.status;if(s)return String(s).trim();const o=n.id??n.statusId;if(o!=null){const l=t.find(i=>String(i.id)===String(o));if(l?.name)return l.name}}const r=e?.statusId??e?.complaintStatusId;if(r!=null){const s=t.find(o=>String(o.id)===String(r));if(s?.name)return s.name}return""}function yg(e,t=[]){const n=e?.statusId??e?.complaintStatusId;if(n!=null&&n!=="")return n;const r=e?.status;if(r&&typeof r=="object"){const s=r.id??r.statusId;if(s!=null&&s!=="")return s}if(typeof r=="string"&&r.trim()){const s=t.find(o=>String(o.name).trim()===r.trim());if(s?.id!=null)return s.id}return null}function Fr(e){return e===!0||e==="Yes"||e==="true"||e===1||e==="1"}const bg=new Set(["closed","cancelled","canceled"]);function Ga(e){return bg.has(String(e||"").trim().toLowerCase())}function vg(e){return Ga(e)}function kr(e){return Ga(e)}function Ci(e,t=[]){const n=e?.currentStepId??e?.workflowStepId??e?.currentWorkflowStepId;if(n!=null&&n!==""){const s=t.find(o=>String(o.id)===String(n));if(s)return s}const r=e?.level??e?.levelNo;return r!=null&&r!==""?t.find(s=>String(s.levelNo)===String(r))??null:null}function Sg(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 s=t.find(o=>String(o.id)===String(r));if(s?.levelNo!=null)return`Level ${s.levelNo}`}return""}function Ni(e,t=[],n=[]){const r=Ci(e,n),s=r?.levelNo??e?.level??e?.levelNo??e?.currentLevel,o=Array.isArray(e?.workflowLevels)?e.workflowLevels.find(u=>String(u?.levelNo)===String(s)):null,l=r?.roleIds?.[0]??r?.roles?.[0]?.id??r?.roleId??o?.roleIds?.[0]??e?.roleId??e?.assignedRoleId??null,i=e?.assignedTo??e?.assignedUser??e?.assignee,d=(i&&typeof i=="object"?i.userId??i.id:i!=null&&i!==""&&Number.isFinite(Number(i))?i:null)??e?.assignedToUser?.userId??e?.assignedToUser?.id??e?.assignedToUserId??e?.assignedToId??e?.assignedUserId??null,f={id:e?.complaintId??e?.id,status:Ya(e,t),isClosed:kr(Ya(e,t)),statusId:yg(e,t),escalationTo:Sg(e,n),level:s??null,currentStepId:r?.id??e?.currentStepId??e?.workflowStepId??e?.currentWorkflowStepId??null,canResolve:Fr(e?.canResolve??r?.canResolve),isFinalLevel:Fr(e?.isFinalLevel??r?.isFinalLevel??r?.finalLevel),roleId:l,assignedToUserId:d,assignedToUserName:Oi(e),submittedByUserName:e?.submittedByUserName||"-",complaintId:e?.complaintId??e?.id??"-",createdAt:yi(e?.createdAt)||"-",updatedAt:yi(e?.updatedAt)||"-",updatedAtValue:e?.updatedAt??""};return(e?.formField||[]).forEach(u=>{const p=u.fieldKey||u.fieldName;p&&!Qa.has(p)&&(f[p]=u.value)}),f}function _i(e,t){const n=new Set,r=t.map(s=>{if(n.add(s.key),s.fieldType)return s;const o=e.flatMap(l=>l._fields||[]).find(l=>(l.fieldKey||l.fieldName)===s.key);return o?.fieldType?{...s,fieldType:o.fieldType}:s});return e.forEach(s=>{(s._fields||[]).forEach(o=>{const l=o.fieldKey||o.fieldName;!l||Qa.has(l)||n.has(l)||(n.add(l),r.push({id:l,label:Be({...o,fieldKey:l})?"Office":o.fieldName||l,key:l,fieldType:o.fieldType}))})}),r}function wg(e,t,n){return String(e?.fieldType||"").toLowerCase()==="file"?!0:t.some(s=>n(e,s[e.key]??"-"))}function Ei(e){const t=e?.data??e;return Array.isArray(t)?t:t?.data??t?.results??t?.items??[]}function Ti(e){const t=e==null?"":String(e);return/[",\n]/.test(t)?`"${t.replace(/"/g,'""')}"`:t}function Cg(e,t){const n=e.map(s=>Ti(s.label)).join(","),r=t.map(s=>e.map(o=>Ti(s[o.key]??"-")).join(","));return[n,...r].join(`\r
12
- `)}function Li(e){const t=typeof e=="string"?e.trim():"";return/^\d{4}-\d{2}-\d{2}T[\d:.]+$/.test(t)?new Date(`${t}Z`):new Date(e)}function Ii(e){if(!e)return"";const t=Li(e);return Number.isNaN(t.getTime())?"":`${t.getDate()} ${pg[t.getMonth()]} ${t.getFullYear()}`}function Fi(e){return(Array.isArray(e?.roles)?e.roles:[]).map(n=>Number(n?.id??n?.roleId??n?.role_id??n)).filter(n=>Number.isFinite(n))}function Ng(e){const t=Array.isArray(e?.accesses)?e.accesses.map(r=>r?.role?.id??r?.role?.roleId??r?.roleId).map(Number).filter(Number.isFinite):[];return t.length?t:(Array.isArray(e?.roleIds)?e.roleIds:Array.isArray(e?.roles)?e.roles:[]).map(r=>Number(r?.id??r?.roleId??r?.role_id??r)).filter(r=>Number.isFinite(r))}function Ja(e,t=[]){return Ng(e).some(n=>t.includes(n))}function ki(e){if(!e)return"";if(typeof e=="string")return e.trim();if(typeof e!="object")return"";const t=[e.firstName,e.lastName].filter(Boolean).join(" ");return String(e.name||e.userName||e.fullName||t||"").trim()}function Oi(e,t=[]){const n=e?.assignedToUserName??e?.assignedToName??e?.assignedUserName;if(n&&String(n).trim())return String(n).trim();const r=e?.assignedTo??e?.assignedUser??e?.assignee,s=ki(r);if(s)return s;const o=(r&&typeof r=="object"?r.id??r.userId:r)??e?.assignedToUserId??e?.assignedToId??e?.assignedUserId;if(o!=null&&o!==""){const l=t.find(i=>String(i?.id??i?.userId)===String(o));return ki(l)}return""}function Di(e,t=[],n=[],r=null){const s=Ya(e,t),o=e?.level??e?.levelNo??e?.currentLevel,l=Array.isArray(r?.steps)?r.steps:[],i=Ci(e,l)??e?.currentWorkflowStep,c=Array.isArray(e?.workflowLevels)?e.workflowLevels.find(p=>String(p?.levelNo)===String(o)):null,d=Pe(i?.escalateAfterMinutes??i?.tatMinutes??c?.escalateAfterMinutes??c?.tatMinutes),f=d||Number(r?.tatMinutes)||0,u=d>0;return{id:e?.complaintId??e?.id,title:String(e?.complaintId??e?.id??"-"),status:s||"-",isClosed:kr(s),level:o!=null&&o!==""?o:"-",assignedTo:Oi(e,n)||"Unassigned",date:Xa(e?.createdAt??e?.date),tat:r&&!(r.requireLevelTat&&o!=null&&!u)?Tg(e,f,s):null}}function _g(e,t=[]){const n=Number(e?.totalEntries)||0,r=Number(e?.openEntries)||0,s=Number(e?.closedEntries)||0,o=Number(e?.cancelledEntries)||0,l=[e?.workflowSteps?.steps,e?.workflowSteps,e?.workflowLevels,e?.workflowComplaintSummary?.steps?.steps,e?.workflowComplaintSummary?.steps,e?.workflowComplaintSummary?.levels].find(d=>Array.isArray(d)&&d.length)??[],i={tatMinutes:Number(e?.tatMinutes)||0,steps:l},c=(Array.isArray(e?.recentComplaints)?e.recentComplaints:[]).slice(0,2).map(d=>Di(d,[],t,i));return{total:n,open:r,closed:s,cancelled:o,previewRows:c,tatMinutes:i.tatMinutes}}function Mi(e=[]){const t={};return(Array.isArray(e)?e:[]).forEach(n=>{const r=n?.id??n?._id,s=n?.name??n?.storeName;r!=null&&s&&(t[String(r)]=String(s))}),t}function xi(e,t={}){if(!Object.keys(t).length)return e;const n={...e};return Object.keys(n).forEach(r=>{const s=n[r];typeof s=="string"&&t[s.trim()]&&(n[r]=t[s.trim()])}),n}function Pi(e,t=[],n=null){const r=e?.workflowComplaintSummary,s=[r?.levels,r?.steps,e?.workflowLevels,e?.workflowSteps].filter(Array.isArray).flat(),o=i=>Number(i&&typeof i=="object"?i.userId??i.id??i.roleId??i.role_id??i.user?.id??i.role?.id:i),l=(...i)=>i.filter(Array.isArray).flat().map(o).filter(Number.isFinite);return s.some(i=>{const c=l(i?.roleIds,i?.roles,i?.roleId!=null?[i.roleId]:null),d=l(i?.userIds,i?.users,i?.userAssignments,i?.assignedUsers);return c.some(f=>t.includes(f))||n!=null&&d.includes(Number(n))})}function Za(e){const t=Math.max(Math.floor(Math.abs(e)/60),0),n=Math.floor(t/1440),r=Math.floor(t%1440/60),s=t%60,o=[];return n&&o.push(`${n}d`),r&&o.push(`${r}h`),s&&o.push(`${s}m`),o.join(" ")||"0m"}function Eg(e){if(e%1440===0){const t=e/1440;return`${t} ${t===1?"day":"days"}`}return Za(e*60)}function Tg(e,t,n=""){if(Ga(n))return null;const r=Number(e?.escalationTimeRemainingSeconds);if(e?.escalationTimeRemainingSeconds==null||!Number.isFinite(r))return null;const s=Number(t)>0?Number(t)*60:0,o=r<0,l=s?Math.min(Math.max(Math.round((1-r/s)*100),0),100):0;return{percent:o?100:l,state:o?"overdue":l>=75?"warn":"ok",remainingLabel:o?`Overdue by ${Za(r)}`:`${Za(r)} remaining`,totalLabel:s?`of ${Eg(Number(t))}`:""}}const Lg={wrap:"ca-filler-card__description-wrap",text:"ca-filler-card__desc",clamped:"ca-filler-card__desc--clamped",more:"ca-filler-card__more"};function Ra({text:e,classes:t=Lg,forceLayout:n=!1,onTextClick:r}){const s=m.useRef(null),[o,l]=m.useState(!1),[i,c]=m.useState(!1),d=()=>{const p=s.current;!p||o||c(p.scrollWidth>p.clientWidth+1||p.scrollHeight>p.clientHeight+1)};m.useLayoutEffect(()=>{d()},[e,o]),m.useEffect(()=>(window.addEventListener("resize",d),()=>window.removeEventListener("resize",d)),[o]);const f=n?{display:"flex",flexDirection:o?"column":"row",alignItems:o?"flex-start":"baseline",gap:o?2:6,minWidth:0,maxWidth:"100%"}:void 0,u=n?o?{minWidth:0}:{flex:"1 1 auto",minWidth:0,overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"}:void 0;return a.jsxs("div",{className:`${t.wrap}${o?" is-expanded":""}`,style:f,children:[a.jsx("p",{ref:s,className:`${t.text}${o?"":` ${t.clamped}`}`,style:u,onClick:r,children:e||" "}),i||o?a.jsx("button",{type:"button",className:t.more,style:n?{flex:"0 0 auto"}:void 0,"aria-expanded":o,onClick:()=>l(p=>!p),children:o?"Less":"More"}):null]})}function Bi({id:e,title:t,item:n,status:r="inactive",description:s,descriptionHref:o,departments:l,workflows:i,fields:c,formsFilled:d,updatedOn:f,titleAsLink:u=!1,onTitleClick:p,onDescriptionClick:S,onConfigure:A,onOpen:y,onDelete:g,onToggleActive:h,isTogglingActive:b=!1,showAddComplaint:_=!0,className:N=""}){const O=X.useSelector(M=>M.appDetails?.details?.currentUser),L=X.useSelector(M=>M.appDetails?.details?.featureActions),{canCreateForm:z,canDelete:ae,canOpen:W}=Cr(L),j=z,K=Fi(O),P=O?.id??O?.userId??null,Q=W||Pi(n,K,P)||Ja(n,K),F=_&&Ja(n,K)&&n?.isActive!==!1,x=()=>{A?.({id:e,title:t,status:r,departments:l,workflows:i,fields:c,formsFilled:d,updatedOn:f})},G=()=>{if(S){S({id:e,title:t,descriptionHref:o});return}o&&typeof window<"u"&&window.open(o,"_blank","noopener,noreferrer")},ee=[{label:"Total entries",value:n?.totalEntries??0,icon:a.jsx("img",{src:Vm,alt:""})},{label:"Open entries",value:n?.openEntries??0,icon:a.jsx("img",{src:Wm,alt:""})},{label:"Closed entries",value:n?.closedEntries??0,icon:a.jsx("img",{src:qm,alt:""})},{label:"Escalated entries",value:n?.escalatedEntries??0,icon:a.jsx("img",{src:Hm,alt:""})}],T=e??n?.id??n?._id;return a.jsxs("article",{className:`ca-system-card ${N}`.trim(),children:[a.jsx(li,{title:n?.name,titleAsLink:u,onTitleClick:()=>p?.({id:e,title:t}),isActive:!!n?.isActive,canManage:j,canDelete:ae,canViewAnalytics:W,complaintTypeId:e??n?.id??n?._id,activeDisabled:b,onActiveChange:M=>h?.({id:T,isActive:M,item:n}),onDelete:()=>g?.({id:T,title:t,item:n})}),s?a.jsx(Ra,{text:s,onTextClick:G,classes:{wrap:"ca-system-card__description-wrap",text:"ca-system-card__description",clamped:"ca-system-card__description--clamped",more:"ca-system-card__more"}}):null,a.jsx("div",{className:"ca-system-card__stats",children:ee.map((M,q)=>a.jsxs(m.Fragment,{children:[q>0?a.jsx(di,{}):a.jsx("div",{className:"ca-system-card__stats-spacer"}),a.jsx(ci,{label:M.label,value:M.value,icon:M.icon})]},M.label))}),a.jsx(ii,{updatedOn:f??Ii(n?.updatedAt??n?.createdAt),onOpen:()=>y?.({id:e,title:t}),id:e??n?.id??n?._id,title:t,canOpen:Q,canConfigure:j,canAddComplaint:F,onConfigure:x})]})}function Or({text:e="No data",illustrated:t=!1}){return a.jsxs("div",{className:`ca-empty-state${t?" ca-empty-state--illustrated":""}`,role:"status",children:[t?a.jsx("img",{className:"ca-empty-state__image",src:ni,alt:"","aria-hidden":"true"}):null,a.jsx("span",{children:e})]})}function es({systems:e=[],onConfigure:t,onOpen:n,onDelete:r,onToggleActive:s,togglingActiveId:o=null,onTitleClick:l,onDescriptionClick:i,emptyMessage:c="No systems found.",showAddComplaint:d=!0,className:f=""}){return e.length?a.jsx("div",{className:`ca-system-grid ${f}`.trim(),children:e.map(u=>a.jsx(Bi,{item:u,...u,onConfigure:t,onOpen:n,onDelete:r,onToggleActive:s,isTogglingActive:String(o)===String(u.id??u._id),showAddComplaint:d,onTitleClick:l,onDescriptionClick:i},u.id??u.title))}):a.jsx("div",{className:`ca-system-grid ${f}`.trim(),children:a.jsx("div",{className:"ca-empty",children:a.jsx(Or,{text:c,illustrated:!0})})})}function Zt({value:e,onChange:t,placeholder:n,type:r="text",icon:s,className:o="",inputClassName:l="",...i}){return a.jsxs("div",{className:`ca-input-wrap ${o}`.trim(),children:[s?a.jsx("span",{className:"ca-input-wrap__icon",children:s}):null,a.jsx("input",{type:r,className:`ca-input ${s?"ca-input--with-icon":""} ${l}`.trim(),value:e,onChange:t,placeholder:n,...i})]})}function Ui({size:e=18,color:t="currentColor",...n}){return a.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:[a.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"}),a.jsx("path",{d:"M16.5 16.5 21 21",stroke:t,strokeWidth:"1.75",strokeLinecap:"round"})]})}function $i({value:e,onChange:t,onSearch:n,placeholder:r="Search",className:s=""}){const o=l=>{l.key==="Enter"&&n&&n(e)};return a.jsx("div",{className:`ca-search ${s}`.trim(),children:a.jsx(Zt,{value:e,onChange:t,onKeyDown:o,placeholder:r,icon:a.jsx(Ui,{}),"aria-label":r})})}function it({text:e="Loading",fullScreen:t=!1}){return a.jsxs("div",{className:"ca-loading",style:t?{minHeight:"calc(100vh - 80px)"}:void 0,role:"status","aria-live":"polite",children:[a.jsx("span",{className:"ca-loading__spinner"}),a.jsxs("span",{children:[e,"…"]})]})}function ts({open:e,title:t,children:n,primaryLabel:r="Save",onPrimary:s,secondaryLabel:o="Cancel",onSecondary:l,primaryDisabled:i=!1}){return e?a.jsx("div",{className:"ca-confirm-modal",role:"dialog","aria-modal":"true","aria-labelledby":"ca-modal-title",children:a.jsxs("div",{className:"ca-confirm-modal__dialog",children:[t?a.jsx("p",{id:"ca-modal-title",className:"ca-confirm-modal__message",children:t}):null,n,a.jsxs("div",{className:"ca-confirm-modal__actions",children:[o?a.jsx(Ce,{variant:"outline",onClick:l,children:o}):null,a.jsx(Ce,{onClick:s,disabled:i,children:r})]})]})}):null}const ji=(...e)=>e.filter((t,n,r)=>!!t&&t.trim()!==""&&r.indexOf(t)===n).join(" ").trim();const Ig=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();const Fg=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,n,r)=>r?r.toUpperCase():n.toLowerCase());const Vi=e=>{const t=Fg(e);return t.charAt(0).toUpperCase()+t.slice(1)};var ns={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 kg=e=>{for(const t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1},Og=m.createContext({}),Dg=()=>m.useContext(Og),Mg=m.forwardRef(({color:e,size:t,strokeWidth:n,absoluteStrokeWidth:r,className:s="",children:o,iconNode:l,...i},c)=>{const{size:d=24,strokeWidth:f=2,absoluteStrokeWidth:u=!1,color:p="currentColor",className:S=""}=Dg()??{},A=r??u?Number(n??f)*24/Number(t??d):n??f;return m.createElement("svg",{ref:c,...ns,width:t??d??ns.width,height:t??d??ns.height,stroke:e??p,strokeWidth:A,className:ji("lucide",S,s),...!o&&!kg(i)&&{"aria-hidden":"true"},...i},[...l.map(([y,g])=>m.createElement(y,g)),...Array.isArray(o)?o:[o]])});const ve=(e,t)=>{const n=m.forwardRef(({className:r,...s},o)=>m.createElement(Mg,{ref:o,iconNode:t,className:ji(`lucide-${Ig(Vi(e))}`,`lucide-${e}`,r),...s}));return n.displayName=Vi(e),n};const xg=ve("arrow-up",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]);const Wi=ve("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 Pg=ve("calendar-days",[["path",{d:"M8 2v3",key:"1ioesn"}],["path",{d:"M16 2v3",key:"otl347"}],["rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",key:"h1oib"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M8 13h.01",key:"1sbv64"}],["path",{d:"M12 13h.01",key:"y0uutt"}],["path",{d:"M16 13h.01",key:"wip0gl"}],["path",{d:"M8 17h.01",key:"p3bg7i"}],["path",{d:"M12 17h.01",key:"p32p05"}],["path",{d:"M16 17h.01",key:"ql8jdd"}]]);const Rt=ve("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);const Bg=ve("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);const ct=ve("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);const Ug=ve("chevrons-left",[["path",{d:"m11 17-5-5 5-5",key:"13zhaf"}],["path",{d:"m18 17-5-5 5-5",key:"h8a8et"}]]);const $g=ve("chevrons-right",[["path",{d:"m6 17 5-5-5-5",key:"xnjwq"}],["path",{d:"m13 17 5-5-5-5",key:"17xmmf"}]]);const Dr=ve("circle-dot",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}]]);const jg=ve("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 Vg=ve("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);const Wg=ve("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 qg=ve("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 Hg=ve("list-filter",[["path",{d:"M2 5h20",key:"1fs1ex"}],["path",{d:"M6 12h12",key:"8npq4p"}],["path",{d:"M9 19h6",key:"456am0"}]]);const qi=ve("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);const Hi=ve("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 zg=ve("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);const Kg=ve("user-round",[["circle",{cx:"12",cy:"8",r:"5",key:"1hypcn"}],["path",{d:"M20 21a8 8 0 0 0-16 0",key:"rfgkzh"}]]);const Qg=ve("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);function zi({row:e,onClick:t}){return a.jsxs("div",{className:"ca-filler-row ca-filler-row--clickable",role:"button",tabIndex:0,onClick:()=>t?.(e),onKeyDown:n=>{n.key!=="Enter"&&n.key!==" "||(n.preventDefault(),t?.(e))},"aria-label":`Open complaint ${e.title||e.id}`,children:[a.jsxs("div",{className:"ca-filler-row__top",children:[a.jsxs("span",{className:"ca-filler-row__title",children:[a.jsx("span",{className:"ca-filler-row__prefix",children:"Complaint ID:"})," ",e.title]}),a.jsxs("span",{className:"ca-filler-row__right",children:[e.tat?a.jsxs("span",{className:"ca-filler-row__tat",children:[a.jsx("span",{className:"ca-filler-row__tat-label",children:"TAT"}),a.jsx("span",{className:"ca-filler-row__tat-track",children:a.jsx("span",{className:`ca-filler-row__tat-fill ca-filler-row__tat-fill--${e.tat.state}`,style:{width:`${e.tat.percent>0?Math.max(e.tat.percent,5):0}%`}})}),a.jsxs("span",{className:"ca-filler-row__tat-text",children:[a.jsx("strong",{children:e.tat.remainingLabel})," ",e.tat.totalLabel]})]}):null,a.jsx(ct,{size:16,"aria-hidden":"true"})]})]}),a.jsxs("div",{className:"ca-filler-row__meta",children:[a.jsxs("span",{children:["Status: ",a.jsx("strong",{children:Er(e.status)})]}),a.jsxs("span",{children:["Level: ",a.jsx("strong",{children:e.level})]}),a.jsx("span",{children:e.assignedTo==="Unassigned"?e.assignedTo:a.jsxs(a.Fragment,{children:["Assigned to: ",a.jsx("strong",{children:e.assignedTo})]})}),a.jsx("span",{children:e.date})]})]})}const Xg=[];function Ki({form:e,onAddComplaint:t,onViewAll:n,onOpenComplaint:r}){const s=X.useSelector(u=>u.appDetails?.details?.userList)??Xg,{total:o,open:l,closed:i,cancelled:c,previewRows:d}=_g(e,s),f=e.isActive!==!1&&e.active!==!1;return a.jsxs("article",{className:"ca-filler-card",children:[a.jsxs("div",{className:"ca-filler-card__head",children:[a.jsxs("div",{className:"ca-filler-card__heading",children:[a.jsxs("h3",{className:"ca-filler-card__title",children:[e.name??e.title,o?` (${o})`:""]}),l?a.jsxs("span",{className:"ca-filler-card__count",children:[l," open"]}):null,i?a.jsxs("span",{className:"ca-filler-card__count",children:[i," closed"]}):null,c?a.jsxs("span",{className:"ca-filler-card__count",children:[c," cancelled"]}):null]}),a.jsxs("button",{type:"button",className:"ca-filler-card__add",onClick:()=>t?.(e),disabled:!f,children:["Add complaint ",a.jsx(ct,{size:14,"aria-hidden":"true"})]})]}),a.jsx(Ra,{text:e.description}),d.map(u=>a.jsx(zi,{row:{...u,tat:null},onClick:p=>r?.(e,p)},u.id)),a.jsx("div",{className:"ca-filler-card__foot",children:a.jsx("button",{type:"button",className:"ca-filler-card__link",onClick:()=>n?.(e),children:"View all >"})})]})}const Yg=["isActive","isArchived"],Qi="Create, manage and track complaint forms, workflows and responses across departments.";function Xi({title:e="Complaint Management",description:t=Qi,createLabel:n="Create New Form",onCreateForm:r,onConfigure:s,onOpen:o,onTitleClick:l,onDescriptionClick:i,onSearch:c,onHeaderActionsChange:d}){const f=Ge(),u=Ke(),p=X.useDispatch(),[S,A]=m.useState(""),[y,g]=m.useState(""),[h,b]=m.useState(null),[_,N]=m.useState(null),[O,L]=m.useState(""),{complaintList:z=[],loading:ae=!1,error:W=null}=X.useSelector(Z=>Z.complaintType??{}),j=X.useSelector(Z=>Z.appDetails?.details?.currentUser),K=X.useSelector(Z=>Z.appDetails?.details?.featureActions),{canViewCards:P,canCreateForm:Q,canDelete:F,canOpen:x,hasAnyAccess:G}=m.useMemo(()=>Cr(K),[K]),ee=m.useMemo(()=>Fi(j),[j]),T=m.useMemo(()=>z.filter(Z=>Ja(Z,ee)),[z,ee]),M=P||Q||F||x,q=j?.id??j?.userId??null,R=m.useMemo(()=>z.filter(Z=>Pi(Z,ee,q)),[z,ee,q]),w=m.useMemo(()=>new Set(R.map(Z=>Z?.id??Z?._id).filter(Z=>Z!=null).map(String)),[R]),$=m.useMemo(()=>T.filter(Z=>{const re=Z?.id??Z?._id;return re==null||!w.has(String(re))}),[T,w]),k=!M&&R.length>0,V=!M&&!k&&T.length>0;m.useEffect(()=>{p(Ht({data:!1}))},[p]),m.useEffect(()=>{const Z=setTimeout(()=>L(S.trim()),400);return()=>clearTimeout(Z)},[S]),m.useEffect(()=>{const Z={...O?{search:O}:{},...y?{[y]:!0}:{}};p(kn(Object.keys(Z).length?Z:void 0))},[p,O,y]);const E=z;m.useEffect(()=>{c&&c(S)},[S,c]);const U=Z=>{A(Z.target.value)},C=Z=>{s?.(Z),f(`/settings/${Z.id??"new"}?step=1`)},Y=m.useCallback(()=>{p(Ht({data:!1})),r?.(),f("/settings/new?step=1")},[p,f,r]);m.useEffect(()=>{d&&d({view:"forms",search:S,searchPlaceholder:"Search forms",onSearchChange:A,filter:y,filterOptions:Yg,onFilterChange:g,canCreateComplaint:Q,onNewComplaint:Y})},[d,S,y,Q,Y]),m.useEffect(()=>()=>d?.(null),[d]);const te=({id:Z,title:re,item:pe})=>{F&&Z!=null&&N({id:Z,name:pe?.name??re??""})},oe=()=>{const{id:Z}=_??{};N(null),Z!=null&&p(fr(Z))},me=({id:Z,isActive:re})=>{Q&&Z!=null&&(b(Z),p(Mn({id:Z,isActive:re})).unwrap().then(()=>p(Ah({id:Z,isActive:re}))).finally(()=>b(null)))};return!M&&ae&&!W?a.jsx(it,{text:"Loading"}):V?a.jsxs("div",{className:"ca-complaint-management-page","data-testid":"complaint-management-page",children:[a.jsx(vr,{title:"Complaints",description:"Create, manage and track complaint forms, workflows and responses across departments.",showAction:!1}),a.jsx("div",{className:"ca-filler-card-list",children:T.map(Z=>a.jsx(Ki,{form:Z,onAddComplaint:re=>f(`/complaintmanagement/new/${re.id}`),onOpenSubmissionLink:re=>{const pe=String(re.visibilityType||re.accessType||"").toUpperCase()==="PUBLIC_LINK",se=window.location.pathname.replace(/\/$/,""),Ae=new URL(`${se}/complaintmanagement/new/${re.id}`,window.location.origin);pe&&Ae.searchParams.set("access","public"),window.open(Ae.toString(),"_blank","noopener,noreferrer")},onViewAll:re=>f(`/complaintmanagement/${re.id}/all`),onOpenComplaint:(re,pe)=>f(`/complaintmanagement/${re.id}/details/${pe.id}`,{state:{from:u.pathname}})},Z.id))})]}):k?a.jsxs("div",{className:"ca-complaint-management-page","data-testid":"complaint-management-page",children:[a.jsx(vr,{title:e,description:t,showAction:!1}),a.jsx(es,{systems:R,onOpen:o,onTitleClick:l,onDescriptionClick:i,emptyMessage:"No systems found.",showAddComplaint:!1}),$.length?a.jsx("div",{className:"ca-filler-card-list",children:$.map(Z=>a.jsx(Ki,{form:Z,onAddComplaint:re=>f(`/complaintmanagement/new/${re.id??re._id}`),onOpenSubmissionLink:re=>{const pe=String(re.visibilityType||re.accessType||"").toUpperCase()==="PUBLIC_LINK",se=window.location.pathname.replace(/\/$/,""),Ae=new URL(`${se}/complaintmanagement/new/${re.id??re._id}`,window.location.origin);pe&&Ae.searchParams.set("access","public"),window.open(Ae.toString(),"_blank","noopener,noreferrer")},onViewAll:re=>f(`/complaintmanagement/${re.id??re._id}/all`),onOpenComplaint:(re,pe)=>f(`/complaintmanagement/${re.id??re._id}/details/${pe.id}`,{state:{from:u.pathname}})},Z.id??Z._id))}):null]}):G?a.jsxs("div",{className:"ca-complaint-management-page","data-testid":"complaint-management-page",children:[a.jsx(vr,{title:e,description:t,actionLabel:n,onAction:Y,showAction:Q&&!d}),M?a.jsxs(a.Fragment,{children:[d?null:a.jsx("div",{className:"ca-search-container",children:a.jsx($i,{value:S,onChange:U,placeholder:"Search"})}),ae?a.jsx(it,{text:"Loading systems"}):W?a.jsx("div",{className:"ca-empty",children:a.jsx("p",{className:"ca-body",children:typeof W=="string"?W:"Failed to load complaint types."})}):a.jsx(es,{systems:E,onConfigure:C,onOpen:o,onDelete:te,onToggleActive:me,togglingActiveId:h,onTitleClick:l,onDescriptionClick:i,emptyMessage:"Nothing here yet"})]}):null,a.jsx(ts,{open:!!_,title:`Are you sure you want to delete this form${_?.name?` "${_.name}"`:""}?`,primaryLabel:"Delete",onPrimary:oe,secondaryLabel:"Cancel",onSecondary:()=>N(null)})]}):a.jsxs("div",{className:"ca-complaint-management-page ca-no-access","data-testid":"complaint-management-page",children:[a.jsx("img",{className:"ca-no-access__image",src:ni,alt:"","aria-hidden":"true"}),a.jsx("p",{className:"ca-no-access__text",role:"status",children:"Nothing here yet"})]})}const Yi=m.createContext(null),Gi=()=>({categoryName:"",categoryType:"",tatMinutes:"",template:"",visibilityType:"",urlLink:"",active:!1,description:"",roles:[],categoryRoleIds:[],categoryFormData:null,departmentRows:[{id:"1",department:"",subDepartment:"",roles:""}],priorityDraft:"",priorities:[],defaultPriorityId:null,selectedDeptNode:null,workflow:{name:"",tatMinutes:"",description:"",status:[],steps:[],stepsLoaded:!1,selectedTableCard:null},fieldDraft:{name:"",type:""},formFields:[],templateId:null,prefillWorkflowSteps:[],prefillFormFields:[]});function Ji({children:e,initialValues:t}){const[n,r]=m.useState(()=>({...Gi(),...t,workflow:{...Gi().workflow,...t?.workflow}})),s=m.useCallback(i=>{r(c=>({...c,...i}))},[]),o=m.useCallback(i=>{r(c=>({...c,workflow:{...c.workflow,...i}}))},[]),l=m.useMemo(()=>({state:n,setState:r,update:s,updateWorkflow:o}),[n,s,o]);return a.jsx(Yi.Provider,{value:l,children:e})}function Mr(){const e=m.useContext(Yi);if(!e)throw new Error("useSettingsWizard must be used within SettingsWizardProvider");return e}const tt=[{id:1,key:"category",label:"Category Type",title:"Category Type",description:"Define the type and basic details for this category type."},{id:2,key:"workflow",label:"Workflow",title:"Workflow",description:"L1 > L2 > L3"},{id:3,key:"formFields",label:"Form Fields"},{id:4,key:"review",label:"Review & Publish",title:"Review & Publish",description:"Review your configuration and publish."}],Gg=[{id:1,label:"Create Workflow"},{id:2,label:"Status"},{id:3,label:"Workflow Steps"}];function Jg({size:e=28,color:t="currentColor",...n}){return a.jsxs("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",style:{color:"var(--ca-primary)"},...n,children:[a.jsx("path",{d:"M12 3 3 8l9 5 9-5-9-5Z",stroke:t,strokeWidth:"1.6",strokeLinejoin:"round"}),a.jsx("path",{d:"M3 12.5 12 17.5l9-5",stroke:t,strokeWidth:"1.6",strokeLinejoin:"round",strokeLinecap:"round"}),a.jsx("path",{d:"M3 16.5 12 21.5l9-5",stroke:t,strokeWidth:"1.6",strokeLinejoin:"round",strokeLinecap:"round"})]})}function Zi({title:e,description:t,nextLabel:n="Next",onNext:r,showNext:s=!0,nextDisabled:o=!1,nextVariant:l="primary",extra:i=null,className:c=""}){return a.jsxs("div",{className:`ca-settings-card__header ${c}`.trim(),children:[a.jsx("div",{className:"ca-settings-card__heading",children:a.jsxs("div",{children:[a.jsx(Wa,{children:e}),t?a.jsx(qa,{className:"ca-settings-card__desc",children:t}):null]})}),i,s?a.jsx(Ce,{variant:l,disabled:o,onClick:r,endIcon:a.jsx(Xt,{size:14,color:"currentColor"}),children:n}):null]})}function Un({title:e,description:t,onNext:n,nextLabel:r,showNext:s=!0,nextDisabled:o,nextVariant:l,headerExtra:i,children:c,footer:d,className:f=""}){return a.jsxs("section",{className:`ca-settings-card ${f}`.trim(),children:[a.jsx(Zi,{title:e,description:t,onNext:n,nextLabel:r,showNext:s,nextDisabled:o,nextVariant:l,extra:i}),a.jsx("div",{className:"ca-settings-card__body",children:c}),d?a.jsx("div",{className:"ca-settings-card__footer",children:d}):null]})}function rs({children:e,hint:t,htmlFor:n,className:r=""}){return a.jsxs("div",{className:`ca-field-label ${r}`.trim(),children:[a.jsx("label",{className:"ca-label",htmlFor:n,children:e}),t!=null?a.jsx("span",{className:"ca-field-label__hint",children:t}):null]})}function as({size:e=16,color:t="currentColor",...n}){return a.jsx("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",...n,children:a.jsx("path",{d:"M6 9l6 6 6-6",stroke:t,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}function ss(e){return typeof e=="string"?e:e.value}function os(e){return typeof e=="string"?e:e.label}function dt({value:e,onChange:t,options:n=[],placeholder:r="Select",className:s="",disabled:o=!1,maxVisible:l,allowClear:i=!1,...c}){const[d,f]=m.useState(!1),u=m.useRef(null),p=e??"",S=n.find(g=>String(ss(g))===String(p)),A=S?os(S):"";m.useEffect(()=>{if(!d)return;const g=h=>{u.current?.contains(h.target)||f(!1)};return document.addEventListener("mousedown",g),()=>document.removeEventListener("mousedown",g)},[d]);const y=g=>{t?.({target:{value:g}})};return l?a.jsxs("div",{className:`ca-select ca-select--menu ${s}`.trim(),ref:u,children:[a.jsx("button",{type:"button",id:c.id,className:`ca-select__control${A?"":" ca-select__control--placeholder"}`,disabled:o,"aria-haspopup":"listbox","aria-expanded":d,onClick:()=>f(g=>!g),children:A||r}),a.jsx("span",{className:"ca-select__chevron",children:a.jsx(as,{size:16})}),d?a.jsx("ul",{className:"ca-select__menu",role:"listbox",style:{"--ca-select-max-visible":l},children:n.map(g=>{const h=ss(g),b=String(h)===String(p);return a.jsx("li",{role:"none",children:a.jsx("button",{type:"button",role:"option","aria-selected":b,className:`ca-select__option${b?" is-selected":""}`,onClick:()=>{y(h),f(!1)},children:os(g)})},h)})}):null]}):a.jsxs("div",{className:`ca-select ${s}`.trim(),children:[a.jsxs("select",{className:"ca-select__control",value:p,onChange:t,disabled:o,...c,children:[a.jsx("option",{value:"",disabled:!i,children:r}),n.map(g=>{const h=ss(g);return a.jsx("option",{value:h,disabled:!!(g&&typeof g=="object"&&g.disabled),children:os(g)},h)})]}),a.jsx("span",{className:"ca-select__chevron",children:a.jsx(as,{size:16})})]})}function ls({value:e,onChange:t,placeholder:n,maxLength:r,rows:s=4,className:o="",autoGrow:l=!1,...i}){const c=m.useRef(null);return m.useLayoutEffect(()=>{const d=c.current;!l||!d||(d.style.height="auto",d.style.height=`${d.scrollHeight+(d.offsetHeight-d.clientHeight)}px`)},[l,e]),a.jsx("textarea",{ref:c,className:`ca-textarea ${o}`.trim(),value:e,onChange:t,placeholder:n,maxLength:r,rows:s,...i})}function Qe({label:e,hint:t,children:n,className:r="",htmlFor:s}){return a.jsxs("div",{className:`ca-form-field ${r}`.trim(),children:[e!=null?a.jsx(rs,{htmlFor:s,hint:t,children:e}):null,n]})}function is({label:e,hint:t,helperText:n,...r}){return a.jsxs(Qe,{label:e,hint:t,htmlFor:r.id,children:[a.jsx(Zt,{...r}),n?a.jsx("p",{className:"ca-form-field__helper",children:n}):null]})}function cs({label:e,hint:t,...n}){return a.jsx(Qe,{label:e,hint:t,htmlFor:n.id,children:a.jsx(dt,{...n})})}function Zg({label:e,hint:t,maxLength:n,value:r="",...s}){const o=t??(n!=null?`${String(r).length}/${n}`:void 0);return a.jsx(Qe,{label:e,hint:o,htmlFor:s.id,children:a.jsx(ls,{value:r,maxLength:n,...s})})}function Ri({size:e=12,color:t="currentColor",...n}){return a.jsx("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",...n,children:a.jsx("path",{d:"M6 6l12 12M18 6L6 18",stroke:t,strokeWidth:"2",strokeLinecap:"round"})})}function ec({label:e,onRemove:t,className:n="",title:r}){return a.jsxs("span",{className:`ca-tag ${n}`.trim(),title:r,children:[e,t?a.jsx("button",{type:"button",className:"ca-tag__remove",onClick:t,"aria-label":`Remove ${e}`,children:a.jsx(Ri,{size:10})}):null]})}function xr({label:e="",options:t=[],value:n=[],onChange:r,placeholder:s="Select roles",className:o="",hasError:l=!1,required:i=!1,emptyText:c="No roles available",openDirection:d="up",showAll:f=!0,maxVisible:u=null,searchable:p=!1,searchPlaceholder:S="Search",lockedValues:A=[],rotateChevron:y=!1}){const[g,h]=m.useState(!1),[b,_]=m.useState(""),N=Array.isArray(n)?n.filter(T=>T!=null&&T!==""):[],O=new Set(A.map(T=>String(T))),L=m.useRef(null),z=m.useRef(null),ae=t.map(T=>typeof T=="string"?{value:T,label:T,sublabel:"",searchText:T}:{value:T.value,label:T.label,sublabel:T.sublabel??"",title:T.title??"",searchText:T.searchText??`${T.label??""} ${T.sublabel??""}`}).filter(T=>T.value!==null&&T.value!==void 0&&T.value!==""),W=new Map(ae.map(T=>[String(T.value),T.label])),j=T=>N.some(M=>String(M)===String(T)),K=ae.filter(T=>`${T.label} ${T.sublabel} ${T.searchText}`.toLowerCase().includes(b.trim().toLowerCase())),P=K.map(T=>T.value),Q=P.length>0&&P.every(T=>j(T)),F=()=>{if(Q)r?.(N.filter(T=>O.has(String(T))||!P.some(M=>String(M)===String(T))));else{const T=N.filter(M=>!P.some(q=>String(q)===String(M)));r?.([...T,...P])}};m.useEffect(()=>{g&&z.current&&(z.current.scrollTop=0)},[g]),m.useEffect(()=>{if(!g)return;const T=q=>{L.current&&!L.current.contains(q.target)&&(h(!1),_(""))},M=q=>{q.key==="Escape"&&(h(!1),_(""))};return document.addEventListener("mousedown",T),document.addEventListener("touchstart",T),document.addEventListener("keydown",M),()=>{document.removeEventListener("mousedown",T),document.removeEventListener("touchstart",T),document.removeEventListener("keydown",M)}},[g]);const x=T=>{O.has(String(T))||(j(T)?r?.(N.filter(M=>String(M)!==String(T))):r?.([...N,T]),_(""))},G=T=>{O.has(String(T))||r?.(N.filter(M=>String(M)!==String(T)))},ee=N.length?`${N.length} selected`:s;return a.jsxs("div",{className:`ca-role-select ${o}`.trim(),style:{display:"flex",flexDirection:"column",alignItems:"stretch",gap:8,width:"100%"},children:[a.jsxs(rs,{children:[e,i?a.jsx("span",{style:{color:"#dc2626",marginLeft:2},"aria-hidden":"true",children:"*"}):null]}),a.jsxs("div",{className:"ca-multi-select",ref:L,style:{position:"relative",width:"100%"},children:[p?a.jsxs("div",{className:`ca-multi-select__trigger ${l?"ca-control--invalid":""}`.trim(),style:{width:"100%",border:l?"1px solid #dc2626":void 0,boxShadow:l?"0 0 0 3px rgba(220, 38, 38, 0.12)":void 0},role:"combobox","aria-haspopup":"listbox","aria-expanded":g,onClick:()=>h(!0),children:[a.jsx("input",{type:"search",className:"ca-multi-select__search ca-multi-select__search--trigger",value:b,placeholder:S,"aria-label":S,onFocus:()=>h(!0),onChange:T=>{_(T.target.value),h(!0)},onKeyDown:T=>{T.key==="Escape"&&(T.stopPropagation(),h(!1),_(""))}}),a.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",style:{transform:y&&g?"rotate(180deg)":"rotate(0deg)",transition:"transform 0.15s ease"},children:a.jsx("path",{d:"M6 9l6 6 6-6",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})]}):a.jsxs("button",{type:"button",className:`ca-multi-select__trigger ${l?"ca-control--invalid":""}`.trim(),style:{width:"100%",border:l?"1px solid #dc2626":void 0,boxShadow:l?"0 0 0 3px rgba(220, 38, 38, 0.12)":void 0},onClick:()=>h(T=>!T),"aria-haspopup":"listbox","aria-expanded":g,children:[a.jsx("span",{className:N.length?"":"ca-multi-select__placeholder",children:ee}),a.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",style:{transform:y&&g?"rotate(180deg)":"rotate(0deg)",transition:"transform 0.15s ease"},children:a.jsx("path",{d:"M6 9l6 6 6-6",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})]}),g?a.jsxs("ul",{ref:z,className:"ca-multi-select__menu",role:"listbox","aria-multiselectable":"true",style:{position:"absolute",top:d==="down"?"calc(100% + 4px)":"auto",bottom:d==="down"?"auto":"calc(100% + 4px)",left:0,right:0,zIndex:20,maxHeight:u?u*38+8:d==="down"?220:260,overflowY:"auto"},children:[f&&K.length>1?a.jsx("li",{role:"option","aria-selected":Q,style:{position:"sticky",top:0,zIndex:1,background:"var(--ca-surface, #fff)",borderBottom:"1px solid var(--ca-border, #e5e7eb)"},children:a.jsxs("label",{className:"ca-multi-select__option",children:[a.jsx("input",{type:"checkbox",checked:Q,onChange:F}),a.jsx("span",{children:"All"})]})}):null,K.length?K.map(T=>a.jsx("li",{role:"option","aria-selected":j(T.value),children:a.jsxs("label",{className:"ca-multi-select__option",children:[a.jsx("input",{type:"checkbox",checked:j(T.value),disabled:O.has(String(T.value)),onChange:()=>x(T.value)}),a.jsxs("span",{className:"ca-multi-select__option-text",children:[a.jsx("span",{className:"ca-multi-select__option-label",children:T.label}),T.sublabel?a.jsx("span",{className:"ca-multi-select__option-sublabel",children:T.sublabel}):null]})]})},String(T.value))):a.jsx("li",{className:"ca-multi-select__empty",children:b?"No matching options":c})]}):null]}),N.length>0?a.jsx("div",{className:"ca-tag-list",children:[...new Set(N)].map(T=>a.jsx(ec,{label:W.get(String(T))||String(T),title:ae.find(M=>String(M.value)===String(T))?.title,onRemove:O.has(String(T))?void 0:()=>G(T)},String(T)))}):null]})}function $n({steps:e=[],currentStep:t=1,allStepsUnlocked:n=!1,onStepClick:r,className:s="",size:o="md",showSaveButton:l=!1,showNextButton:i=!1,onNext:c,nextLabel:d="Next >",extraActions:f=null}){const u=m.useRef({}),p=X.useDispatch();return m.useEffect(()=>{const S=u.current[t];if(!S)return;const A=requestAnimationFrame(()=>{let y=S.parentElement;for(;y&&y!==document.body;){const{overflowX:O}=getComputedStyle(y);if(y.scrollWidth>y.clientWidth+1&&(O==="auto"||O==="scroll"))break;y=y.parentElement}if(!y||y===document.body)return;const g=y.getBoundingClientRect(),h=S.getBoundingClientRect(),b=12;if(h.left>=g.left+b&&h.right<=g.right-b)return;const N=h.left-g.left-(g.width-h.width)/2;y.scrollTo({left:y.scrollLeft+N,behavior:"smooth"})});return()=>cancelAnimationFrame(A)},[t]),a.jsxs("div",{className:`ca-stepper-wrap ca-stepper-wrap--${o} ${s}`.trim(),children:[a.jsx("nav",{className:`ca-stepper ca-stepper--${o}`,"aria-label":"Progress",children:e.map((S,A)=>{const y=S.id??A+1,g=y===t,h=y<t,b=!!r&&(n||h||g);return a.jsxs("button",{type:"button",ref:_=>{u.current[y]=_},className:["ca-stepper__item",g?"ca-stepper__item--active":"",h?"ca-stepper__item--done":""].filter(Boolean).join(" "),style:{zIndex:e.length-A},onClick:()=>{p(Ht({data:!0})),b&&r?.(y)},disabled:!b,"aria-current":g?"step":void 0,children:[a.jsxs("span",{className:"ca-stepper__circle",children:[y,"."]}),a.jsx("span",{className:"ca-stepper__label",children:S.label})]},y)})}),l||i||f?a.jsxs("div",{className:"ca-stepper__actions",children:[f,i?a.jsx(Ce,{onClick:c,children:d}):null]}):null]})}const Rg={categoryName:"",tatMinutes:"",template:"",categoryType:"",description:"",visibilityType:"INTERNAL_LOGIN",urlLink:"",active:!0,roles:[],userIds:[]},eA=[{value:"INTERNAL_LOGIN",label:"Internal Login"},{value:"PRIVATE_LINK",label:"Private Link"},{value:"PUBLIC_LINK",label:"Public Link"}],tA={value:"",label:"Select Template"},ds=e=>String(e?.id??e?.code??e?.name??"");function nA(e){return Array.isArray(e)?[...new Set(e.map(t=>!t||typeof t!="object"?t:t.userId??t.user_id??t.id??t.value??t.user?.userId??t.user?.id).filter(t=>t!=null&&t!==""))]:[]}function us(e){const t=[e?.userIds,e?.users,Array.isArray(e?.accesses)?e.accesses.map(n=>n?.userId??n?.user?.id):null];for(const n of t){const r=nA(n);if(r.length)return r}return[]}function We(e){return e==null||e===""?null:String(e).trim()||null}function fs(e){return We(e?.userId??e?.user_id??e?.id??e?.value)}function Pr(e){return Array.isArray(e)?e:Array.isArray(e?.data)?e.data:Array.isArray(e?.steps)?e.steps:Array.isArray(e?.data?.steps)?e.data.steps:[]}function en(e){return String(e??"").toLowerCase().replace(/[^a-z0-9]/g,"")}function rA(e,t,n){const r=new Set,s=new Set,o=i=>{if(i==null||i==="")return;if(typeof i!="object"){const f=We(i);if(!f)return;const u=n.find(p=>We(p?.id??p?.roleId??p?.role_id??p?.value)===f||en(p?.name??p?.roleName??p?.label)===en(i));if(u){const p=We(u.id??u.roleId??u.role_id??u.value),S=en(u.name??u.roleName??u.label);p&&r.add(p),S&&s.add(S)}else r.add(f);return}const c=We(i.id??i.roleId??i.role_id??i.value),d=en(i.name??i.roleName??i.label??i.role?.name);c&&r.add(c),d&&s.add(d),i.role&&typeof i.role=="object"&&o(i.role)},l=new Set;return Pr(e).forEach(i=>{[i?.role,i?.roleIds,i?.roles].flatMap(c=>Array.isArray(c)?c:c==null?[]:[c]).forEach(o),[i?.users,i?.userAssignments,i?.userIds].flatMap(c=>Array.isArray(c)?c:c==null?[]:[c]).forEach(c=>{const d=We(typeof c=="object"?c.userId??c.user_id??c.id??c.value:c);d&&l.add(d)})}),t.forEach(i=>{l.has(fs(i))&&[i?.roleId,i?.role_id,i?.role,i?.roles,i?.roleIds,i?.assignedRoles,i?.userRoles].flatMap(c=>Array.isArray(c)?c:c==null?[]:[c]).forEach(c=>{o(c),c&&typeof c=="object"&&c.role&&o(c.role)})}),n.forEach(i=>{const c=We(i?.id??i?.roleId??i?.role_id??i?.value),d=en(i?.name??i?.roleName??i?.label);c&&r.has(c)&&d&&s.add(d)}),{roleIds:r,roleNames:s}}function aA(e,t=[]){const n=e?.createdByUser??e?.createdBy??e?.creator,r=We(e?.createdByUserId??e?.createdById??n?.userId??n?.id??n?.user?.id??(typeof n=="number"||/^\d+$/.test(String(n??"").trim())?n:null));if(r)return r;const s=typeof n=="string"?n.trim().toLowerCase():String(n?.name??n?.userName??"").trim().toLowerCase();if(!s)return null;const o=t.find(l=>{const i=String(l?.name??l?.userName??[l?.firstName,l?.lastName].filter(Boolean).join(" ")).trim().toLowerCase(),c=String(l?.email??l?.userEmail??"").trim().toLowerCase();return s===i||s===c});return fs(o)}function ps(...e){const t=new Map;return e.flat().forEach(n=>{const r=We(n);r!==null&&!t.has(r)&&t.set(r,n)}),[...t.values()]}const tc=e=>{const t=Array.isArray(e?.accesses)?e.accesses.map(l=>l?.role?.id??l?.roleId):[],n=Array.isArray(e?.roleIds)?e.roleIds:[],r=l=>l.map(i=>i&&typeof i=="object"?i.id??i.roleId??i.role_id??i.value:i).filter(i=>i!=null&&i!==""),s=r(t),o=r(n);return{categoryName:e?.name??e?.code??"",tatMinutes:zt(e?.tatMinutes)||"",template:ds(e),categoryType:e?.categoryType??ds(e),description:e?.description??"",visibilityType:e?.visibilityType??e?.accessType??"INTERNAL_LOGIN",urlLink:e?.urlLink??"",active:e?.isActive??e?.active??!0,roles:[...new Set(s.length?s:o)],userIds:us(e)}};function sA(e){return[tA,...e]}function oA(e,t){const n=[];if(e.categoryName&&n.push("Please enter a category name."),e.tatMinutes){const r=String(t.tatMinutes??"").trim();n.push(r?"TAT must include a unit (m, h, or d). Example: 30m, 2h, 1d.":"Please enter TAT . Use Minutes for m, Hours for h, or Days for d.")}return e.visibilityType&&n.push("Please select a visibility type."),e.roles&&n.push("Please select roles for complaint filling."),n.join(" ")}function lA(e){return String(e??"").replace(/(^|\s)(\S)/g,(t,n,r)=>n+r.toUpperCase())}function iA({stepMeta:e,stepperProps:t,roleList:n=[],userList:r=[]}){const{state:s,update:o}=Mr(),[l,i]=m.useState(()=>s.categoryFormData??Rg),c=m.useRef(s.categoryFormData),[d,f]=m.useState({}),u=X.useDispatch(),{id:p}=X.useSelector(w=>w.appDetails||{}),{isEdit:S}=X.useSelector(w=>w.appDetails||{}),A=X.useSelector(w=>w.complaintType||{}),y=X.useSelector(w=>w.workflow?.workflowSteps),g=X.useSelector(w=>w.appDetails?.details?.currentUser),{complaintList:h=[],loading:b,error:_}=A,N=h.find(w=>String(w?.id??w?._id)===String(p))??(String(A.selected?.id??A.selected?._id)===String(p)?A.selected:null),O=m.useRef(N),L=m.useRef(!1);m.useEffect(()=>{O.current=N},[N]);const z=(w,$={})=>{i(w),c.current=w,o({categoryFormData:w,...$})};m.useEffect(()=>{s.categoryFormData||o({categoryFormData:l,categoryRoleIds:l.roles})},[l,o,s.categoryFormData]),m.useEffect(()=>{!h.length&&!b&&!L.current&&(L.current=!0,u(kn()))},[h.length,u,b]),m.useEffect(()=>{!S||p===null||p===void 0||c.current||u(ot(p)).unwrap().then(w=>{const $=w?.data??w;if(!$||c.current)return;const k=O.current,V=us($),E=us(k),U={...$,roleIds:$.roleIds??k?.roleIds,userIds:V.length?V:E},C=tc(U);i(C),c.current=C,o({categoryFormData:C,categoryRoleIds:C.roles})}).catch(w=>{console.log(" Fetch error:",w)})},[u,p,S,o]);const ae=n.map(w=>({value:w.id??w.roleId??w.value,label:w.name??w.roleName??w.label})).filter(w=>w.value!==null&&w.value!==void 0&&w.value!==""),W=s.workflow?.stepsLoaded?Pr(s.workflow.steps):[...Pr(s.prefillWorkflowSteps),...Pr(y)],j=rA(W,r,n),K=ae.filter(w=>{const $=We(w.value),k=en(w.label);return(Array.isArray(l.roles)?l.roles:[]).some(E=>We(E)===$)||!j.roleIds.has($)&&!j.roleNames.has(k)}),P=r.map(w=>{const $=String(w?.name??w?.userName??w?.label??[w?.firstName,w?.lastName].filter(Boolean).join(" ")??"").trim(),k=String(w?.email??w?.userEmail??"").trim();return{value:w.id??w.userId??w.user_id??w.value,label:$,sublabel:k,title:k?`Email: ${k}`:""}}).filter(w=>w.value!==null&&w.value!==void 0&&w.value!==""),Q=S?aA(N,r):fs(g),F=[];ps(l.userIds,F);const x=S?N?.createdByUser??N?.createdBy:g;if(Q&&!P.some(w=>We(w.value)===Q)){const w=typeof x=="object"?String(x.name??x.userName??[x.firstName,x.lastName].filter(Boolean).join(" ")??"Created by user").trim():"Created by user";P.push({value:Q,label:w||"Created by user",sublabel:typeof x=="object"?String(x.email??"").trim():""})}const G=h.map(w=>({value:ds(w),label:w?.name??w?.code??"",complaintType:w})).filter(w=>w.value&&w.label),ee=async w=>{const $=w?.id??w?._id??null,k={...l,...tc(w),categoryName:"",roles:[],userIds:F};if(z(k,{categoryRoleIds:[]}),o({templateId:$,tatMinutes:Pe(w?.tatMinutes)}),$==null||$===""){o({prefillWorkflowSteps:[],prefillFormFields:[]});return}try{const[V,E]=await Promise.all([u(Je($)).unwrap(),u(Ve($)).unwrap()]),U=(Array.isArray(V?.data)?V.data:Array.isArray(V)?V:[]).map(Y=>({...Y,roleIds:[],role:[],roleId:null})),C=Array.isArray(E?.data)?E.data:Array.isArray(E)?E:[];o({templateId:$,tatMinutes:Pe(w?.tatMinutes),prefillWorkflowSteps:U,prefillFormFields:C})}catch(V){console.log("Failed to load template details:",V),o({templateId:$,prefillWorkflowSteps:[],prefillFormFields:[]})}},T=()=>{const w={...l,template:"",categoryType:"",tatMinutes:"",description:""};z(w),o({templateId:null,prefillWorkflowSteps:[],prefillFormFields:[]})},M=w=>{const $=w.target.value;if(!$){T();return}const k=G.find(V=>V.value===$)?.complaintType;if(k){ee(k);return}q("template",$),q("categoryType",$)},q=(w,$)=>{const k=Array.isArray($)?w==="userIds"?ps($,F):[...new Set($.filter(E=>E!=null&&E!==""))]:$,V={...l,[w]:k};z(V,w==="roles"?{categoryRoleIds:k}:{}),f(E=>{if(!E[w])return E;const U={...E};return delete U[w],U})},R=async()=>{const w={};if(l.categoryName.trim()||(w.categoryName=!0),Nh(l.tatMinutes)||(w.tatMinutes=!0),l.visibilityType||(w.visibilityType=!0),l.roles.length||(w.roles=!0),Object.keys(w).length>0){f(w);return}f({});const $=Pe(l.tatMinutes),k={...l,userIds:ps(l.userIds,F)};z(k,{tatMinutes:$,categoryRoleIds:k.roles});const V={categoryName:l.categoryName,categoryType:l.categoryType||l.template,tatMinutes:$,description:l.description,visibilityType:l.visibilityType,urlLink:"",active:l.active,roles:k.roles},E=S?Dn({id:p,data:{code:V.categoryName,name:V.categoryName,description:V.description,tatMinutes:V.tatMinutes,accessType:V.visibilityType,roleIds:V.roles.map(C=>parseInt(C,10))},onFail:C=>{console.log("updateComplaintType onFail:",C)}}):On({payload:V,onSuccess:C=>{u(_t(C?.data?.id??C?.id??null))},onFail:C=>{console.log("createComplaintType onFail:",C)}}),U=await u(E);if(S&&Dn.fulfilled.match(U)||!S&&On.fulfilled.match(U)){if(!S){const C=U.payload?.data?.id??U.payload?.id;C!=null&&u(_t(C))}t.onNext?.()}};return a.jsxs(a.Fragment,{children:[a.jsx($n,{...t,steps:tt,showNextButton:!!t.showNextButton,onNext:R}),_||Object.keys(d).length>0?a.jsx("div",{className:"ca-validation-toast",role:"alert",children:_||oA(d,l)}):null,a.jsxs(Un,{className:"ca-settings-card--category-type",title:e.title,description:e.description,showNext:!1,headerExtra:a.jsx("div",{className:"ca-category-type__header-tools",children:a.jsx("div",{className:"ca-category-type__template",children:a.jsx(cs,{label:"Select Template (Optional)",value:l.template||l.categoryType,onChange:M,options:sA(G),placeholder:"Select Template",maxVisible:5,disabled:S,className:S?"ca-select--disabled":""})})}),children:[a.jsxs("div",{className:"ca-step-section",children:[a.jsxs("div",{className:"ca-step-row ca-step-row--category-fields",children:[a.jsx(is,{label:a.jsxs(a.Fragment,{children:["Category Name ",a.jsx("span",{style:{color:"#dc2626"},"aria-hidden":"true",children:"*"})]}),className:"ca-step-row__grow",inputClassName:d.categoryName?"ca-control--invalid":"",value:l.categoryName,onChange:w=>q("categoryName",lA(w.target.value)),placeholder:"Enter category name"}),a.jsx(is,{label:a.jsxs(a.Fragment,{children:["TAT ",a.jsx("span",{style:{color:"#dc2626"},"aria-hidden":"true",children:"*"})]}),type:"text",className:"ca-step-row__grow",inputClassName:d.tatMinutes?"ca-control--invalid":"",value:l.tatMinutes,onChange:w=>q("tatMinutes",w.target.value),placeholder:"Enter here",helperText:"Eg: 30m, 2h, 1d, 3d7h16m"})]}),a.jsx("div",{className:"ca-step-row ca-step-row--category-fields",children:a.jsx(Qe,{label:"Description",className:"ca-step-row__grow",htmlFor:"category-description",children:a.jsx(ls,{id:"category-description",className:"ca-textarea--auto",autoGrow:!0,rows:1,value:l.description,onChange:w=>q("description",w.target.value),placeholder:"Enter description"})})}),a.jsx("div",{className:"ca-step-row",children:a.jsx(cs,{label:"Select Visibility Type",className:`ca-step-row__grow ${d.visibilityType?"ca-control--invalid":""}`,value:l.visibilityType,onChange:w=>q("visibilityType",w.target.value),options:eA,placeholder:"Select visibility type"})}),["PRIVATE_LINK","PUBLIC_LINK"].includes(l.visibilityType)?a.jsx("p",{className:"ca-body ca-step-row__grow",children:l.visibilityType==="PUBLIC_LINK"?"A public form link will be generated automatically after saving.":"A private form link will be generated automatically after saving and requires sign-in."}):null]}),a.jsx("div",{className:"ca-step-section ca-step-section--last ca-category-type__access-selects",children:a.jsx(xr,{label:"Select Roles for Complaint Filling",required:!0,hasError:!!d.roles,rotateChevron:!0,options:K,value:l.roles,maxVisible:4,onChange:w=>q("roles",w)})})]})]})}function nc({level:e,onAdd:t,disabled:n=!1}){const r=`Level ${e}`,s=e===1?"Initial Handler":e===2?"Escalation if L1 TAT exceeded":"Escalation workflow";return a.jsxs("div",{className:"ca-add-table-card",children:[a.jsxs("header",{className:"ca-add-table-card__header",children:[a.jsxs("span",{className:"ca-add-table-card__level",children:["L",e]}),a.jsxs("div",{className:"ca-add-table-card__header-text",children:[a.jsx("h3",{className:"ca-add-table-card__title",children:r}),a.jsx("p",{className:"ca-add-table-card__subtitle",children:s})]})]}),a.jsx("div",{className:"ca-add-table-card__action",children:a.jsxs(Ce,{type:"button",className:"ca-add-table-card__button",disabled:n,onClick:()=>t?.(r),children:["+ Add L",e]})})]})}const hs=["Yes","No"],tn=()=>a.jsx("span",{style:{color:"#dc2626"},"aria-hidden":"true",children:" *"});function rc({name:e,level:t,value:n,initialFormValues:r,setFormValues:s,onChange:o,selected:l=!1,onSelect:i,onDelete:c,subtitle:d,roleList:f=[],showRoleError:u=!1,showEscalationError:p=!1,userList:S=[],fieldErrors:A={}}){const y=n??r??{},g=Array.isArray(y.role)?y.role:[],h=Array.isArray(y.users)?y.users:[],b=y.workflowType==="user"?"user":"role",_=f.map(F=>({value:F.id??F.roleId??F.value,label:F.name??F.roleName??F.label})).filter(F=>F.value!==null&&F.value!==void 0&&F.value!==""),N=F=>{const x=[F?.firstName,F?.lastName].map(T=>String(T??"").trim()).filter(Boolean).join(" "),G=String(F?.name??F?.userName??F?.label??"").trim()||x,ee=[F?.roleName,F?.role?.name,typeof F?.role=="string"?F.role:"",...Array.isArray(F?.roles)?F.roles.map(T=>typeof T=="string"?T:T?.name):[]].map(T=>String(T??"").trim()).filter(Boolean).filter((T,M,q)=>q.indexOf(T)===M).join(", ");return{userName:G,roleName:ee,email:String(F?.email??F?.userEmail??"").trim()}},O=S.map(F=>{const{userName:x,roleName:G,email:ee}=N(F);return{value:F.id??F.userId??F.user_id??F.value,label:x,sublabel:ee,title:ee?`Email: ${ee}`:"",searchText:G}}).filter(F=>F.value!==null&&F.value!==void 0&&F.value!==""),L=(F,x)=>{const G={...y,[F]:x};s?s(G):o?.(G)},z=g.length===0&&h.length===0,ae=(u||!!A.role)&&z,W=F=>F?"ca-control--invalid":"",j=t===1?"green":t===2?"orange":"blue",K=F=>`workflow-level-${t}-${F}`,P=d||(t===1?"Initial Handler":t===2?"Escalation if L1 TAT exceeded":"Escalation workflow"),Q=[{value:"role",label:"Role",count:g.length},{value:"user",label:"User",count:h.length}];return a.jsxs("article",{className:`ca-table-card ca-table-card--${j}${l?" ca-table-card--selected":""}`,onClick:i,children:[a.jsxs("header",{className:"ca-table-card__header",children:[a.jsxs("span",{className:"ca-table-card__level",children:["L",t]}),a.jsxs("div",{className:"ca-table-card__header-text",children:[a.jsx("h3",{className:"ca-table-card__title",children:e}),a.jsx("p",{className:"ca-table-card__subtitle",children:P})]}),a.jsx("button",{type:"button",className:"ca-table-card__delete","aria-label":`Delete ${e}`,title:`Delete ${e}`,onClick:F=>{F.stopPropagation(),c?.()},children:a.jsx(wr,{size:15,color:"currentColor"})})]}),a.jsx("div",{className:"ca-table-card__divider"}),a.jsxs("div",{className:"ca-table-card__fields",children:[a.jsx("div",{className:"ca-type-toggle",role:"group","aria-label":"Workflow type",children:Q.map(F=>a.jsxs("button",{type:"button",className:`ca-type-toggle__btn${b===F.value?" ca-type-toggle__btn--active":""}`,onClick:x=>{x.stopPropagation(),b!==F.value&&L("workflowType",F.value)},children:[F.label,F.count?` (${F.count})`:""]},F.value))}),b==="role"?a.jsx(Qe,{label:a.jsxs(a.Fragment,{children:["Select Roles",a.jsx(tn,{})]}),htmlFor:K("roleIds"),children:a.jsx(xr,{id:K("role"),value:g,options:_,placeholder:"Select role",emptyText:"No roles available",openDirection:"down",showAll:!1,maxVisible:3,searchable:!0,searchPlaceholder:"Search Role",hasError:ae,onChange:F=>L("role",F)},"role")}):a.jsx(Qe,{label:a.jsxs(a.Fragment,{children:["Select Users",a.jsx(tn,{})]}),htmlFor:K("userIds"),children:a.jsx(xr,{id:K("user"),value:h,options:O,placeholder:"Select user",emptyText:"No users available",openDirection:"down",showAll:!1,maxVisible:3,searchable:!0,searchPlaceholder:"Search User",hasError:ae,onChange:F=>L("users",F)},"user")}),a.jsx("div",{className:"ca-table-card__divider"}),a.jsx(Qe,{label:a.jsxs(a.Fragment,{children:["Can Resolve ",a.jsx(a.Fragment,{children:"(Change the Status)"}),a.jsx(tn,{})]}),htmlFor:K("canResolve"),children:a.jsx(dt,{id:K("canResolve"),className:W(A.canResolve),value:y.canResolve,options:hs,onChange:F=>L("canResolve",F.target.value)})}),a.jsx(Qe,{label:a.jsxs(a.Fragment,{children:["Can Reassign ",a.jsx(a.Fragment,{children:"(Change the Level)"}),a.jsx(tn,{})]}),htmlFor:K("canReassign"),children:a.jsx(dt,{id:K("canReassign"),className:W(A.canReassign),value:t===1?"No":y.canReassign,options:t===1?["No"]:hs,disabled:t===1,onChange:F=>L("canReassign",F.target.value)})}),a.jsx(Qe,{label:a.jsxs(a.Fragment,{children:["Final Level",a.jsx(tn,{})]}),htmlFor:K("finalLevel"),children:a.jsx(dt,{id:K("finalLevel"),className:W(A.finalLevel),value:y.finalLevel,options:hs,onChange:F=>L("finalLevel",F.target.value)})}),a.jsx(Qe,{label:a.jsxs(a.Fragment,{children:["Escalation time",a.jsx(tn,{})]}),htmlFor:K("escalationTime"),children:a.jsx("div",{className:"ca-table-card__time-input",children:a.jsx(Zt,{id:K("escalationTime"),type:"text",className:W(p||A.escalation),value:y.escalateAfterMinutes??"",placeholder:"--",onChange:F=>L("escalateAfterMinutes",F.target.value)})})})]})]})}function ac({variant:e,levelNo:t,open:n,onConfirm:r,onClose:s}){return n?e==="finalLevelDelete"?a.jsx(ts,{open:!0,title:`Final Level is set to Yes at Level ${t}. You can't create a next level here, and every level after Level ${t} will be deleted. Do you want to continue?`,primaryLabel:"Ok",onPrimary:r,secondaryLabel:"Cancel",onSecondary:s}):e==="finalLevelRequired"?a.jsx(ts,{open:!0,title:`Level ${t} is the last level. "Final Level" must be Yes. Click Ok to set it to Yes.`,primaryLabel:"Ok",onPrimary:r,secondaryLabel:null}):null:null}function ms(e,t=0){const n=o=>!String(o??"").trim(),r=!(Array.isArray(e?.role)&&e.role.length),s=!(Array.isArray(e?.users)&&e.users.length);return{role:r&&s,canResolve:n(e?.canResolve),canReassign:t>0&&n(e?.canReassign),finalLevel:n(e?.finalLevel),escalation:n(e?.escalateAfterMinutes)}}const cA="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",dA="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",uA="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",fA="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",gs=(e,t,n={})=>({id:e,name:t,role:Array.isArray(n.role)?n.role:n.roleId!==void 0&&n.roleId!==null?[n.roleId]:[],users:Array.isArray(n.users)?n.users:[],workflowType:n.workflowType??"role",canResolve:n.canResolve??"",canReassign:n.canReassign??(Number(e)===1?"No":""),finalLevel:n.finalLevel??"",escalateAfterMinutes:zt(n.escalateAfterMinutes)||""});function As(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 pA(e,t){const n=[e.role,e.roleIds,e.roles].filter(Array.isArray),s=(n.find(i=>i.length)??n[0]??[]).map(i=>i&&typeof i=="object"?i.id??i.roleId:i).filter(i=>i!=null),o=(Array.isArray(e.userAssignments)?e.userAssignments:Array.isArray(e.users)?e.users:[]).map(i=>i&&typeof i=="object"?i.userId??i.id:i).filter(i=>i!=null),l=s.length>0?"role":o.length>0||/user/i.test(String(e.workflowType??""))?"user":"role";return gs(e.levelNo??t+1,e.name??`Level ${e.levelNo??t+1}`,{role:s,users:o,workflowType:l,canResolve:As(e.canResolve),canReassign:t===0?"No":As(e.canReassign),finalLevel:As(e.isFinalLevel??e.finalLevel),escalateAfterMinutes:zt(e.escalateAfterMinutes)||""})}function sc(e=[]){return(Array.isArray(e)?e:[]).map(pA)}function oc(e=[]){return e.flatMap(t=>Array.isArray(t?.roles)?t.roles:Array.isArray(t?.role)?t.role.filter(n=>n&&typeof n=="object"):[])}const ys=[gs(1,"Level 1")];function lc({accent:e}){return a.jsxs("div",{className:`ca-escalation-connector ca-escalation-connector--desktop ca-escalation-connector--${e}`,"aria-hidden":"true",children:[a.jsx("img",{src:cA,alt:"",className:"ca-escalation-connector__arrow ca-escalation-connector__arrow--first"}),a.jsx("span",{children:"Escalates to"}),a.jsx("img",{src:dA,alt:"",className:"ca-escalation-connector__arrow ca-escalation-connector__arrow--second"})]})}function ic({accent:e}){return a.jsxs("div",{className:`ca-escalation-connector ca-escalation-connector--mobile ca-escalation-connector--${e}`,"aria-hidden":"true",children:[a.jsx("img",{src:uA,alt:"",className:"ca-escalation-connector__arrow ca-escalation-connector__arrow--first"}),a.jsx("span",{children:"Escalates to"}),a.jsx("img",{src:fA,alt:"",className:"ca-escalation-connector__arrow ca-escalation-connector__arrow--second"})]})}function cc({id:e,selectedTableId:t,onSelect:n,setUpdatePayload:r,registerWorkflowActions:s,roleList:o=[],prefillSteps:l=[],tatTotalMinutes:i=0,showRoleError:c=!1,showEscalationError:d=!1,showRequiredErrors:f=!1,userList:u=[],onAddBlocked:p}){const S=e!=null,[,A]=m.useState(ys),[y,g]=m.useState(ys),[h,b]=m.useState([]),[_,N]=m.useState(S),[O,L]=m.useState(null),[z,ae]=m.useState(i),W=m.useRef(null),j=m.useRef(i),K=m.useRef(new Set),[P,Q]=m.useState([]),[F,x]=m.useState(null),G=X.useDispatch(),ee=m.useMemo(()=>{const E=sc(l);return E.length?E:ys},[l]),T=(()=>{const E=new Set;return[...o,...h,...oc(l)].filter(U=>{const C=String(U?.id??U?.roleId??U?.value);return E.has(C)?!1:(E.add(C),!0)})})();if(!S&&O!==ee){const E=Kt(ee,i);L(ee),g(E),A(E)}if(!_&&z!==i){ae(i);const E=Kt(y,i);E!==y&&g(E)}m.useEffect(()=>{j.current=i},[i]),m.useEffect(()=>{if(!S){const C=Kt(ee,j.current);r({id:e,tables:C});return}let E=!1;return(async()=>{N(!0);try{const C=await G(Je(e)).unwrap(),Y=Array.isArray(C?.data)?C.data:Array.isArray(C)?C:[];b(oc(Y));const te=sc(Y),oe=Kt(te.length?te:ee,j.current);E||(A(oe),g(oe),r({id:e,tables:oe}))}catch(C){if(!E){const Y=Kt(ee,j.current);A(Y),g(Y),r({id:e,tables:Y}),console.error("Failed to load workflow steps:",C)}}finally{E||N(!1)}})(),()=>{E=!0}},[G,ee,S,e,r]),m.useEffect(()=>{_||r?.({id:e,tables:y})},[e,_,r,y]);const M=m.useCallback((E,{preserveLastLevel:U}={})=>{const C=E.map((oe,me)=>me===0?{...oe,canReassign:"No"}:oe),Y=U?C:Kt(C,i),te={id:e,tables:Y};return g(Y),console.log("[TableCardGrid] updated form values:",Y),console.log("[TableCardGrid] PUT payload:",te),r?.(te),te},[e,r,i]);m.useEffect(()=>{if(s)return s({setLastLevelFinal:()=>{if(!y.length)return null;const E=y.length-1,U=y.map((C,Y)=>Y===E?{...C,finalLevel:"Yes"}:C);return M(U,{preserveLastLevel:!0})}}),()=>s(null)},[e,s,r,y,i,M]);const q=E=>{const U=y[y.length-1];return U!=null&&U.id===E},R=(E,U)=>{Object.prototype.hasOwnProperty.call(U,"escalateAfterMinutes")&&K.current.add(E),M(y.map(C=>C.id===E?{...C,...U}:C),{preserveLastLevel:q(E)})},w=(E,U)=>{const C=y.findIndex(oe=>oe.id===E);if(C<0)return;const Y=y[C],te=typeof U=="function"?U(Y):U;if(te.escalateAfterMinutes!==Y.escalateAfterMinutes&&K.current.add(E),C<y.length-1&&Y.finalLevel!=="Yes"&&te.finalLevel==="Yes"){x({tableId:E,value:te});return}M(y.map((oe,me)=>me===C?te:oe),{preserveLastLevel:q(E)})},$=()=>{if(!F)return;const E=y.findIndex(C=>C.id===F.tableId);if(E<0){x(null);return}const U=y.slice(0,E+1).map((C,Y)=>Y===E?F.value:C);Q(C=>C.filter(Y=>U.some(te=>te.id===Y))),M(U),x(null)},k=E=>{if(y.some(Z=>Z.finalLevel==="Yes"))return;const U=y[y.length-1];if(U){const Z=ms(U,y.length-1);if(Object.values(Z).some(Boolean)){Q(re=>re.includes(U.id)?re:[...re,U.id]),p?.(`Please fill all required fields of Level ${y.length} before adding a new level.`);return}}p?.("");const C=y.reduce((Z,re)=>Math.max(Z,Number(re.id)||0),0)+1,Y=y.length+1,te=y[y.length-1],me=te!=null&&K.current.has(te.id)&&Pe(te.escalateAfterMinutes)>0?y:Th(y);K.current.delete(C),M([...me,gs(C,E||`Level ${Y}`)]),requestAnimationFrame(()=>{requestAnimationFrame(()=>{const Z=W.current;Z&&Z.scrollTo({left:Z.scrollWidth,behavior:"smooth"})})})},V=E=>{K.current.delete(E),M(y.filter(U=>U.id!==E))};return _&&!y.length?null:a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"ca-table-card-grid","aria-label":"Escalation levels",ref:W,children:a.jsxs("div",{className:"ca-table-card-grid__track",children:[y.map((E,U)=>a.jsxs(m.Fragment,{children:[a.jsx(rc,{name:E.name,roleList:T,showRoleError:c||f,showEscalationError:d,userList:u,level:U+1,value:E,initialFormValues:E,setFormValues:C=>w(E.id,C),selected:E.id===t,onSelect:()=>n?.(E),onDelete:()=>V(E.id),onChange:C=>R(E.id,C),fieldErrors:f||P.includes(E.id)?ms(E,U):{}}),U<y.length-1?a.jsxs(a.Fragment,{children:[a.jsx(lc,{accent:U===0?"green":U===1?"orange":"purple"}),a.jsx(ic,{accent:U===0?"green":U===1?"orange":"purple"})]}):null]},E.id)),y.length?a.jsxs(a.Fragment,{children:[a.jsx(lc,{accent:y.length===1?"green":y.length===2?"orange":"purple"}),a.jsx(ic,{accent:y.length===1?"green":y.length===2?"orange":"purple"})]}):null,a.jsx(nc,{level:y.length+1,onAdd:k,disabled:y.some(E=>E.finalLevel==="Yes")})]})}),a.jsx(ac,{variant:"finalLevelDelete",levelNo:F?y.findIndex(E=>E.id===F.tableId)+1:null,open:!!F,onConfirm:$,onClose:()=>x(null)})]})}function hA({totalMinutes:e=0,usedMinutes:t=0}){const n=Pe(e),r=Pe(t),s=Math.max(0,n-r),o=zt(s)||"0m",l=n>0?Math.min(100,r/n*100):0;return a.jsxs("div",{className:"ca-tat-progress","aria-label":`TAT minutes, ${o} left`,children:[a.jsxs("div",{className:"ca-tat-progress__row",children:[a.jsx("span",{className:"ca-tat-progress__label",children:"TAT minutes"}),a.jsxs("span",{className:"ca-tat-progress__remaining",children:[o," left"]})]}),a.jsx("div",{className:"ca-tat-progress__track",children:a.jsx("div",{className:"ca-tat-progress__fill",style:{width:`${l}%`}})})]})}function dc(e){return e?.data??e?.id??e}function uc(e){const t=e&&typeof e=="object"?e.id??e.roleId??e.role_id??e.value:e;return t==null||t===""?null:String(t)}function fc(e){return String(e??"").toLowerCase().replace(/[^a-z0-9]/g,"")}function mA(e){return[e?.roleId,e?.role_id,e?.role,e?.roles,e?.roleIds,e?.assignedRoles,e?.userRoles].flatMap(n=>Array.isArray(n)?n:[n]).flatMap(n=>[uc(n),uc(n?.role)]).filter(Boolean)}function gA(e){const t=[e?.role,e?.roles,e?.assignedRoles,e?.userRoles].flatMap(r=>Array.isArray(r)?r:[r]);return[e?.roleName,e?.role_name,...t.flatMap(r=>typeof r=="string"?[r]:[r?.name,r?.roleName,r?.label,r?.role?.name,r?.role?.roleName])].filter(Boolean).map(fc).filter(Boolean)}function AA({onNext:e,stepMeta:t,stepperProps:n,selectedTableCard:r,roleList:s=[],userList:o=[]}){const{state:l,updateWorkflow:i}=Mr(),{workflow:c}=l,d=l.categoryRoleIds,f=m.useMemo(()=>{const M=new Set((Array.isArray(d)?d:[]).filter(q=>q!=null&&q!=="").map(String));return M.size?s.filter(q=>!M.has(String(q.id??q.roleId??q.value))):s},[d,s]),u=m.useMemo(()=>{const M=new Set((Array.isArray(d)?d:[]).filter(R=>R!=null&&R!=="").map(String));if(!M.size)return o;const q=new Set(s.filter(R=>M.has(String(R.id??R.roleId??R.value))).map(R=>fc(R.name??R.roleName??R.label)).filter(Boolean));return o.filter(R=>!mA(R).some(w=>M.has(w))&&!gA(R).some(w=>q.has(w)))},[d,s,o]),[p,S]=m.useState(null),[A,y]=m.useState(""),[g,h]=m.useState(!1),[b,_]=m.useState(null),N=m.useRef(null),O=m.useCallback(M=>{S(M),i({steps:Array.isArray(M?.tables)?M.tables:[],stepsLoaded:!0}),y("")},[i]),L=m.useCallback(M=>{N.current=M},[]),z=X.useDispatch();let{id:ae}=X.useSelector(M=>M.appDetails||{});const W=X.useSelector(M=>M.complaintType?.selected),j=dc(ae),K=dc(W?.id??W?._id),P=Pe(W?.tatMinutes??l.tatMinutes);m.useEffect(()=>{j==null||j===""||K!=null&&String(K)===String(j)&&W?.tatMinutes!=null||z(ot(j))},[z,W?.tatMinutes,K,j]);const Q=m.useMemo(()=>{const M=Array.isArray(p?.tables)?p.tables:[];return Eh(M)},[p]),F=r??c.selectedTableCard??null,x=Array.isArray(p?.tables)&&p.tables.length?p.tables.map((M,q)=>`L${q+1}`).join(" > "):"",G=M=>{z(mr({id:M.id,tables:M,onSuccess:q=>{console.log("updateWorkflowSteps onSuccess:",q),y(""),n.onNext?.()},onFail:q=>{const R=q?.response?.data??q?.payload??q,w=[...new Set(Array.isArray(R?.errors)?R.errors.map(V=>V?.message).filter(Boolean):[])],$=(w.length?w.join(" "):null)??R?.message??R?.error??q?.message??"Failed to update workflow steps",k=String($).replace(/roleIds must contain at least 1 elements?/gi,"Please select at least one role or user in every level.").replace(/userAssignments must contain at least 1 elements?/gi,"Please select at least one role or user in every level.");y(_h(k))}}))},ee=async()=>{if(y(""),!p){y("Workflow steps are not ready to save.");return}const M=Array.isArray(p.tables)?p.tables:[];if(!M.length){y("Add at least one workflow level before continuing.");return}h(!0);const q=M.map(($,k)=>ms($,k)),R=M.length-1;if(q.some(($,k)=>Object.entries($).some(([V,E])=>E&&!(k===R&&V==="finalLevel")))){y("Please complete all required fields in every workflow level.");return}if(M[R].finalLevel!=="Yes"){_(R+1);return}G(p)},T=()=>{const M=N.current?.setLastLevelFinal?.();if(_(null),!M){y("Unable to update the final workflow level. Please try again.");return}h(!0),G(M)};return a.jsxs(a.Fragment,{children:[a.jsx($n,{...n,steps:tt,onNext:ee,showNextButton:!0}),A?a.jsx("div",{className:"ca-validation-toast",role:"alert",children:A}):null,a.jsx(ac,{variant:"finalLevelRequired",levelNo:b,open:b!=null,onConfirm:T,onClose:()=>_(null)}),a.jsx(Un,{title:t.title,description:x,showNext:!1,headerExtra:a.jsx(hA,{totalMinutes:P,usedMinutes:Q}),children:a.jsx("div",{className:"ca-workflow__main",children:a.jsx(cc,{id:ae,selectedTableId:F?.id,onSelect:M=>i({selectedTableCard:M}),setUpdatePayload:O,registerWorkflowActions:L,roleList:f,userList:u,onAddBlocked:y,showRoleError:/roleIds|userAssignments|select\s*at\s*least\s*one|role\s*must contain|roles?\s*must contain|users?\s*must/i.test(A),showEscalationError:/escalation\s*time|must\s*equal.*TAT/i.test(A),showRequiredErrors:g,prefillSteps:l.prefillWorkflowSteps,tatTotalMinutes:P})})})]})}function pc({onAdd:e,disabled:t=!1}){return a.jsx("button",{type:"button",className:"ca-add-form-button",onClick:e,disabled:t,children:"+ Add Form Fields"})}const hc=m.createContext(null);function bs(e){return typeof e?.level4=="string"&&e.level4.trim()?e.level4.trim():"Office"}function mc(e,t){const n=bs(t);return String(e??"").replace(/\bstores?\b/gi,()=>n)}function ut(){const e=m.useContext(hc);return{storeName:bs(e),label:t=>mc(t,e),fieldLabel:t=>{const n=String(t.fieldKey??t.key??"").toLowerCase();return n==="storeid"||n==="storeidcustom"?bs(e):mc(t.fieldLabel??t.label??t.fieldName??"",e)}}}function gc({size:e=16,color:t="#9CA3AF",...n}){return a.jsxs("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...n,children:[a.jsx("circle",{cx:"5",cy:"4",r:"1.2",fill:t}),a.jsx("circle",{cx:"11",cy:"4",r:"1.2",fill:t}),a.jsx("circle",{cx:"5",cy:"8",r:"1.2",fill:t}),a.jsx("circle",{cx:"11",cy:"8",r:"1.2",fill:t}),a.jsx("circle",{cx:"5",cy:"12",r:"1.2",fill:t}),a.jsx("circle",{cx:"11",cy:"12",r:"1.2",fill:t})]})}function vs(e,t){return!t||e.includes(t)?e:[t,...e]}function Ac(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 yA(e){return String(e??"").replace(/(^|\s)(\S)/g,(t,n,r)=>n+r.toUpperCase())}const bA="#9CA3AF";function yc({field:e,fieldOptions:t=[],fieldTypeOptions:n=[],fieldAccessOptions:r=[],hideForOptions:s=[],isSaving:o=!1,selected:l=!1,isDragging:i=!1,onSelect:c,onDragStartField:d,onDragEndField:f,onReorder:u,onChange:p,onDelete:S,onSave:A,cardRef:y,onOptionNotice:g,hasDuplicateIdentity:h=!1,hasMissingOptions:b=!1}){const[_,N]=m.useState(""),[O,L]=m.useState(null),z=m.useRef(!1),{label:ae,fieldLabel:W}=ut(),j=Ac(e),[K,P]=m.useState(()=>({id:e.id,signature:e.isNew?null:j}));K.id!==e.id&&P({id:e.id,signature:e.isNew?null:j});const Q=e.lockMode==="all",F=et(e),x=Q||e.lockMode==="options",G=pi(e),ee=Q||!G||F&&!ce(e),T=!!(String(e.fieldLabel||"").trim()&&String(e.fieldType||"").trim()),M=K.signature!==j,q=!!o||!T,R=h||b?"ca-control--invalid":"",w=C=>p?.({...e,...C}),$=()=>{if(ee)return;const C=_.trim();if(!C)return;if(ce(e)&&At(C)){const te=(e.options||[]).find(oe=>String(oe).trim().toLowerCase()===C.toLowerCase());if(te){g?.(`${te} already exists in options`),N("");return}}if(e.options?.includes(C))return;const Y=ce(e)?{...e.optionColors||{},[C]:e.optionColors?.[C]||bA}:e.optionColors;w({options:ce(e)?Yt([...e.options||[],C]):[...e.options||[],C],...ce(e)?{optionColors:Y}:{}}),N("")},k=C=>{if(ee||ce(e)&&At(C))return;const Y={...e.optionColors||{}};delete Y[C];const te={...e.parentMappings||{}};delete te[C],w({options:e.options.filter(oe=>oe!==C),parentMappings:te,...ce(e)?{optionColors:Y}:{}})},V=C=>{ee||ce(e)&&At(C)||(z.current=!1,L({original:C,draft:C}))},E=()=>{z.current=!0,L(null)},U=()=>{if(z.current){z.current=!1;return}if(!O)return;const{original:C,draft:Y}=O,te=Y.trim();if(L(null),!te||te===C)return;if((e.options||[]).some(pe=>pe!==C&&(pe===te||ce(e)&&String(pe).trim().toLowerCase()===te.toLowerCase()))){g?.(`${te} already exists in options`);return}const me=(e.options||[]).map(pe=>pe===C?te:pe),Z={...e.parentMappings||{}};Object.prototype.hasOwnProperty.call(Z,C)&&(Z[te]=Z[C],delete Z[C]);const re={...e.optionColors||{}};Object.prototype.hasOwnProperty.call(re,C)&&(re[te]=re[C],delete re[C]),w({options:ce(e)?Yt(me):me,parentMappings:Z,optionColors:re})};return a.jsxs("article",{ref:y,className:`ca-form-card${l?" ca-form-card--selected":""}${i?" ca-form-card--dragging":""}`,onClick:()=>c?.(e),onDragOver:C=>{F||(C.preventDefault(),C.dataTransfer.dropEffect="move")},onDrop:C=>{if(F){f?.();return}C.preventDefault();const Y=C.dataTransfer.getData("text/plain");u?.(Y,e.id),f?.()},children:[a.jsxs("div",{className:"ca-form-card__row ca-form-card__row--order",children:[F?a.jsx("span",{"aria-hidden":"true",style:{display:"inline-block",width:15,height:15}}):a.jsx("span",{className:"ca-form-card__drag",draggable:!0,"aria-label":"Reorder field",onClick:C=>C.stopPropagation(),onDragStart:C=>{C.dataTransfer.setData("text/plain",String(e.id)),C.dataTransfer.effectAllowed="move",d?.()},onDragEnd:()=>f?.(),children:a.jsx(gc,{size:15,color:"currentColor"})}),a.jsxs("div",{className:"ca-form-card__actions",children:[a.jsx("button",{type:"button",className:"ca-form-card__save","aria-label":"Save form field",disabled:q||Q||!M,onClick:async C=>{if(C.stopPropagation(),q||Q||!M)return;const Y=await A?.(e);Y&&P({id:e.id,signature:Ac(Y)})},children:"Save"}),et(e)?null:a.jsx("button",{type:"button",className:"ca-icon-btn ca-form-card__delete","aria-label":"Delete form field",onClick:C=>{C.stopPropagation(),S?.(e.id)},children:a.jsx(wr,{size:15,color:"currentColor"})})]})]}),a.jsx("div",{className:"ca-form-card__row",children:x?a.jsx("span",{className:"ca-form-card__static",children:W(e)||"—"}):a.jsx(Zt,{value:Q?W(e):e.fieldLabel,placeholder:"Enter field label",disabled:x,className:R,onChange:C=>w({fieldLabel:yA(C.target.value)})})}),a.jsx("div",{className:"ca-form-card__row",children:x?a.jsx("span",{className:"ca-form-card__static",children:e.fieldType||"—"}):a.jsx(dt,{value:e.fieldType,options:vs(n,e.fieldType),placeholder:"Select type",maxVisible:5,disabled:x,className:R,onChange:C=>{const Y=C.target.value;if(pi({...e,fieldType:Y})){w({fieldType:Y,dependsOn:"",parentMappings:{}});return}w({fieldType:Y,dependsOn:"",options:[],parentMappings:{},optionColors:{}})}})}),a.jsx("div",{className:"ca-form-card__row ca-form-card__row--toggle",children:a.jsx(Sr,{checked:!!e.required,disabled:x,onChange:C=>w({required:C}),"aria-label":"Required"})}),a.jsx("div",{className:"ca-form-card__row",children:a.jsx(dt,{value:e.fieldAccess,options:vs(r,e.fieldAccess),placeholder:"Select access",disabled:x,allowClear:!0,onChange:C=>w({fieldAccess:C.target.value})})}),a.jsxs("div",{className:"ca-form-card__row",children:[a.jsx(dt,{value:"",options:s.filter(C=>!e.hideFor?.includes(C)),placeholder:"Select level",disabled:x,onChange:C=>w({hideFor:[...e.hideFor||[],C.target.value]})}),e.hideFor?.length?a.jsx("div",{className:"ca-form-card__chips",children:e.hideFor.map(C=>a.jsxs("span",{className:"ca-form-card__chip",children:[C,a.jsx("button",{type:"button","aria-label":`Remove ${C}`,disabled:x,onClick:()=>w({hideFor:e.hideFor.filter(Y=>Y!==C)}),children:"×"})]},C))}):null]}),a.jsx("div",{className:"ca-form-card__row",children:a.jsx(dt,{value:e.dependsOn,options:vs(t,e.dependsOn).map(C=>({value:C,label:ae(C)})),placeholder:"Select field label",disabled:x||!G,allowClear:!0,onChange:C=>{const Y=C.target.value;if(!Y){w({dependsOn:"",parentMappings:{}});return}w({dependsOn:Y})}})}),a.jsxs("div",{className:"ca-form-card__row ca-form-card__row--options",children:[a.jsxs("div",{className:"ca-form-card__option-entry",children:[a.jsx(Zt,{value:_,placeholder:"Enter option",disabled:ee,className:b?"ca-control--invalid":"",onChange:C=>N(C.target.value),onKeyDown:C=>{C.key==="Enter"&&(C.preventDefault(),$())}}),a.jsx("button",{type:"button",className:"ca-form-card__add-option","aria-label":"Add option",disabled:ee,onClick:$,children:"+"})]}),a.jsx("div",{className:"ca-form-card__chips",children:(G?ce(e)?Yt(e.options||[]):e.options||[]:[]).map(C=>{const Y=ce(e)&&At(C),te=O?.original===C;return a.jsxs("span",{className:`ca-form-card__chip${Y?" ca-form-card__chip--locked":""}`,children:[te?a.jsx("input",{autoFocus:!0,value:O.draft,onChange:oe=>L({original:C,draft:oe.target.value}),onBlur:U,onClick:oe=>oe.stopPropagation(),onKeyDown:oe=>{oe.key==="Enter"?(oe.preventDefault(),U()):oe.key==="Escape"&&(oe.preventDefault(),E())},"aria-label":`Edit ${C}`,style:{width:`${Math.max(O.draft.length,3)+1}ch`,minWidth:40,padding:0,border:0,outline:"none",background:"transparent",color:"inherit",font:"inherit"}}):a.jsx("span",{role:Y||ee?void 0:"button",tabIndex:Y||ee?void 0:0,title:Y||ee?void 0:"Click to edit",style:Y||ee?void 0:{cursor:"text"},onClick:()=>V(C),onKeyDown:oe=>{oe.key==="Enter"&&V(C)},children:ce(e)?Er(C):C}),Y?null:a.jsx("button",{type:"button","aria-label":`Remove ${C}`,disabled:ee,onClick:()=>k(C),children:"×"})]},C)})})]})]})}function Ss({option:e,onDelete:t,locked:n=!1}){return a.jsx("td",{children:n?null:a.jsx("button",{className:"field-options-panel__delete",type:"button","aria-label":`Delete ${e}`,title:`Delete ${e}`,onClick:()=>t(e),children:a.jsx(zg,{size:14,strokeWidth:1.5,color:"currentColor","aria-hidden":"true"})})})}function vA(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 SA({formFields:e=[],selectedField:t=null,onChange:n}){const r=t,{fieldLabel:s}=ut(),o=N=>ce(r)?Er(N):N,l=ce(r)?r:null,i=m.useMemo(()=>{const N=String(r?.dependsOn||"").trim();if(!N)return null;const O=e.filter(L=>String(L.fieldLabel||"").trim()===N);return O.find(L=>(L.options||[]).some(z=>String(z||"").trim()))||O[0]||null},[r?.dependsOn,e]),c=i?.options||[],d=!!r?.dependsOn,[f,u]=m.useState(!1),p=(N,O)=>{if(!l)return;const L=/^#[0-9A-Fa-f]{6}$/.test(O)?O.toUpperCase():O;n?.(e.map(z=>z.id===l.id?{...z,optionColors:{...z.optionColors,[N]:L}}:z))},S=(N,O)=>{r&&n?.(e.map(L=>L.id===r.id?{...L,parentMappings:{...L.parentMappings||{},[N]:O}}:L))},A=N=>{if(!r||ce(r)&&At(N))return;const O={...r.optionColors||{}};delete O[N];const L={...r.parentMappings||{}};delete L[N],n?.(e.map(z=>z.id===r.id?{...z,options:(z.options||[]).filter(ae=>ae!==N),parentMappings:L,...ce(z)?{optionColors:O}:{}}:z))},y=r&&s(r)||"Select field",g=ng(r,d),h=ce(r)?Yt(r?.options||[]):r?.options||[],b=(N,O)=>a.jsx("div",{className:"field-options-panel__table-wrap",children:a.jsxs("table",{className:"field-options-panel__table",children:[a.jsx("thead",{children:a.jsxs("tr",{children:[N.map(L=>a.jsx("th",{scope:"col",children:L},L)),a.jsx("th",{scope:"col","aria-label":"Delete"})]})}),a.jsx("tbody",{children:O})]})});let _=a.jsx("p",{className:"field-options-panel__empty",children:r?"No options added.":"Select a field to edit."});return d?_=h.length?b(["Option label",i?s(i):"Parent"],h.map(N=>a.jsxs("tr",{children:[a.jsx("td",{children:o(N)}),a.jsx("td",{children:a.jsxs("select",{"aria-label":`Parent for ${N}`,value:r.parentMappings?.[N]||"",disabled:!c.length,onChange:O=>S(N,O.target.value),children:[a.jsx("option",{value:"",children:c.length?"Select parent":`No ${String(r.dependsOn||"parent").toLowerCase()} options`}),c.map(O=>a.jsx("option",{value:O,children:O},O))]})}),a.jsx(Ss,{option:N,onDelete:A,locked:ce(r)&&At(N)})]},N))):a.jsx("p",{className:"field-options-panel__empty",children:"No options added."}):l?_=h.length?b([ce(l)?"Status":"Option","Colors"],h.map(N=>{const O=vA(l.optionColors?.[N]);return a.jsxs("tr",{children:[a.jsx("td",{children:o(N)}),a.jsx("td",{children:a.jsxs("div",{className:"field-options-panel__color",children:[a.jsx("input",{className:"field-options-panel__hex","aria-label":`Color for ${N}`,value:l.optionColors?.[N]||O,onChange:L=>p(N,L.target.value)}),a.jsx("label",{className:"field-options-panel__swatch",style:{background:O},title:O,children:a.jsx("input",{type:"color","aria-label":`Pick color for ${N}`,value:O,onChange:L=>p(N,L.target.value)})})]})}),a.jsx(Ss,{option:N,onDelete:A,locked:ce(l)&&At(N)})]},N)})):a.jsx("p",{className:"field-options-panel__empty",children:"No options added."}):h.length&&(_=b([tg(r)],h.map(N=>a.jsxs("tr",{children:[a.jsx("td",{children:o(N)}),a.jsx(Ss,{option:N,onDelete:A,locked:ce(r)&&At(N)})]},N)))),a.jsxs("aside",{className:`field-options-panel${f?" is-open":""}${r?"":" field-options-panel--empty"}`,"aria-label":`Options for: ${y}`,children:[a.jsxs("button",{type:"button",className:"field-options-panel__summary","aria-expanded":f,"aria-controls":"field-options-panel-body",onClick:()=>u(N=>!N),children:[a.jsxs("span",{className:"field-options-panel__summary-text",children:[a.jsxs("span",{className:"field-options-panel__title",children:["Options for: ",y]}),g?a.jsx("span",{className:"field-options-panel__description",children:g}):null]}),a.jsx(Rt,{className:"field-options-panel__chevron",size:16,strokeWidth:1.8,"aria-hidden":"true"})]}),a.jsx("div",{id:"field-options-panel-body",className:"field-options-panel__body",children:_})]})}function wA(e,t=[]){const n=new Set,r=[];return t.forEach(s=>{if(String(s.id)===String(e?.id)||ce(s))return;const o=String(s.fieldLabel||s.label||"").trim();if(!o)return;const l=o.toLowerCase();n.has(l)||!(s?.options||[]).some(c=>String(c||"").trim())||(n.add(l),r.push(o))}),r}const CA=["Actions","Field Label","Field Type","Required","Field Access","Hide for","DependsOn","Options"];function NA(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 nn(e=[]){const t=e.map(NA);return t.map(n=>Ir(n,t))}function bc({initialFields:e,onChange:t,addExternalFieldRef:n,fieldTypeOptions:r=[],fieldAccessOptions:s=[],hideForOptions:o=[],onSave:l,onDelete:i}){const[c,d]=m.useState(()=>nn(e??[])),[f,u]=m.useState(null),[p,S]=m.useState(null),[A,y]=m.useState(""),g=m.useRef(""),h=m.useRef(null),b=m.useRef({}),_=x=>{const G=nn(x);d(G),t?.(G)},N=(e??[]).map(x=>x.id).join(",");m.useEffect(()=>{if(!A)return;const x=window.setTimeout(()=>y(""),3200);return()=>window.clearTimeout(x)},[A]),m.useEffect(()=>{!N||N===g.current||(g.current=N,d(nn(e)))},[N,e]),m.useEffect(()=>{if(n)return n.current=x=>{x&&d(G=>{const ee=G.find(q=>Tr(x,[q]));if(Lr(G)||ee)return ee&&u(ee.id),G;if(Gt(G))return G;const T=nn([...G,{...x,id:`${x.id}-${Date.now()}`,isNew:!0}]),M=T[T.length-1];return u(M.id),t?.(T),T})},()=>{n.current=null}},[n,t]),m.useEffect(()=>{if(f==null)return;const x=h.current,G=b.current[f];if(!x||!G)return;const ee=requestAnimationFrame(()=>{const T=x.getBoundingClientRect(),M=G.getBoundingClientRect(),q=12;M.left>=T.left+q&&M.right<=T.right-q||x.scrollTo({left:x.scrollLeft+M.left-T.left-(T.width-M.width)/2,behavior:"smooth"})});return()=>cancelAnimationFrame(ee)},[f,c]);const O=(x,G)=>{if(x==null||G==null||String(x)===String(G))return;const ee=c.findIndex(w=>String(w.id)===String(x)),T=c.findIndex(w=>String(w.id)===String(G));if(ee<0||T<0||et(c[ee])||et(c[T]))return;const M=c.findIndex(et),q=[...c],[R]=q.splice(ee,1);if(q.splice(T,0,R),M>=0){const w=q.findIndex(et);if(w!==M){const[$]=q.splice(w,1);q.splice(M,0,$)}}_(q.map((w,$)=>({...w,order:$+1})))},L=x=>{const G=c.find(k=>k.id===x.id),ee=G&&G.fieldType!==x.fieldType;x.dependsOn&&x.dependsOn!==G?.dependsOn&&u(x.id);const T=String(G?.fieldLabel||"").trim(),M=G?.options||[],q=x.options||[],R=M.filter(k=>!q.includes(k)),w=q.filter(k=>!M.includes(k)),$=M.length===q.length&&R.length===1&&w.length===1?{from:R[0],to:w[0]}:null;_(c.map(k=>{if(k.id===x.id)return x;if(ee&&T&&String(k.dependsOn||"").trim()===T)return{...k,dependsOn:"",parentMappings:{}};if($&&T&&String(k.dependsOn||"").trim()===T){const V=Object.fromEntries(Object.entries(k.parentMappings||{}).map(([E,U])=>[E,U===$.from?$.to:U]));return{...k,parentMappings:V}}return k}))},z=async x=>{const G=c.find(ee=>ee.id===x);if(!(!G||et(G)))try{if(await i?.(G)===!1)return;const T=String(G.fieldLabel||"").trim();_(c.filter(M=>M.id!==x).map((M,q)=>T&&String(M.dependsOn||"").trim()===T?{...M,dependsOn:"",parentMappings:{},order:q+1}:{...M,order:q+1}))}catch{}},ae=()=>{Lr(c)||Gt(c)||_(nn([...c,{id:`${Date.now()}-${c.length}`,fieldLabel:"",fieldType:r[0]??"",options:[],isNew:!0}]))},W=async x=>{if(Tr(x,c))return null;try{const G=await l?.(x);return G?(d(ee=>{const T=nn(ee.map(M=>M.id===x.id?{...G,isNew:!1,order:M.order||1}:M));return t?.(T),T}),G):null}catch{return null}},j=Lr(c),K=Gt(c),P=j?"A field with this label and type already exists":"",Q=hi(c),F=c.find(x=>x.id===f)||null;return a.jsxs(a.Fragment,{children:[P||Q||A?a.jsx("div",{className:"ca-validation-toast",role:"alert",children:P||Q||A}):null,a.jsxs("div",{className:"ca-form-card-grid__container ",children:[a.jsxs("div",{className:"ca-form-card-grid",children:[a.jsx("div",{className:"ca-form-card-grid__labels",children:CA.map(x=>a.jsx("div",{className:"ca-form-card-grid__label",children:x},x))}),a.jsxs("div",{className:"ca-form-card-grid__cards",ref:h,children:[c.map(x=>a.jsx(yc,{field:x,fieldOptions:wA(x,c),fieldTypeOptions:r,fieldAccessOptions:s,hideForOptions:o,selected:F?.id===x.id,isDragging:String(p)===String(x.id),cardRef:G=>{G?b.current[x.id]=G:delete b.current[x.id]},onSelect:()=>u(x.id),onDragStartField:()=>S(x.id),onDragEndField:()=>S(null),onReorder:O,onChange:L,onDelete:z,onSave:W,onOptionNotice:y,hasDuplicateIdentity:Tr(x,c),hasMissingOptions:za(x)},x.id)),a.jsx(pc,{onAdd:ae,disabled:j||K})]})]}),a.jsx(SA,{formFields:c,selectedField:F,onChange:_})]})]})}const vc={department:Wi,priorities:Wg,status:Dr,statuses:Dr,statusCustom:Dr,Status:Dr,storeId:Hi,storeIdCustom:Hi};function _A({fields:e=[],onAddField:t,disableAdd:n=!1,disableAddHint:r="Resolve duplicate field first"}){const[s,o]=m.useState(!1),{fieldLabel:l}=ut();return a.jsxs("aside",{className:`custom-field-table${s?" is-open":""}`,"aria-labelledby":"custom-field-table-title",style:{flexWrap:"wrap"},children:[a.jsxs("button",{type:"button",className:"custom-field-table__summary","aria-expanded":s,"aria-controls":"custom-field-table-list",onClick:()=>o(i=>!i),children:[a.jsxs("span",{className:"custom-field-table__summary-text",children:[a.jsx("span",{id:"custom-field-table-title",className:"custom-field-table__title",children:"Custom Fields"}),a.jsx("span",{className:"custom-field-table__description",children:"Use these fields to show options from database table."})]}),a.jsx(Rt,{className:"custom-field-table__chevron",size:16,strokeWidth:1.8,"aria-hidden":"true"})]}),a.jsx("div",{id:"custom-field-table-list",className:"custom-field-table__list",children:e.map(i=>{const c=l(i),d=vc[i.fieldKey]||vc[i.id]||Wi;return a.jsxs("div",{className:"custom-field-table__row",children:[a.jsx(d,{className:"custom-field-table__field-icon",size:14,strokeWidth:1.5,"aria-hidden":"true"}),a.jsx("span",{className:"custom-field-table__label",children:c}),a.jsx("button",{className:"custom-field-table__add",type:"button","aria-label":`Add ${c}`,title:n?r:`Add ${c}`,disabled:n,onClick:()=>{n||t?.(i)},children:a.jsx(qi,{size:14,strokeWidth:2,"aria-hidden":"true"})})]},i.fieldKey??i.id)})}),a.jsxs("span",{className:"custom-field-table__title",style:{flexBasis:"100%",width:"100%",gridColumn:"1 / -1"},children:[a.jsx("span",{style:{color:"red"},children:"*"})," Submitted By, Updated At and Created By are set automatically."]}),a.jsxs("span",{className:"custom-field-table__title",style:{flexBasis:"100%",width:"100%",gridColumn:"1 / -1"},children:[a.jsx("span",{style:{color:"red"},children:"*"})," The First Column input will be considered the Title column."]})]})}const Sc={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",TIME:"Time"},wc={BOTH:"Both",USER:"User",ADMIN:"Admin"},EA={...Object.fromEntries(Object.entries(Sc).map(([e,t])=>[t,e])),Select:"SELECT",Dropdown:"SELECT",Radio:"RADIO",Time:"DATETIME","Text Area":"TEXTAREA","Date Time":"DATETIME"},TA={...Object.fromEntries(Object.entries(wc).map(([e,t])=>[t,e])),Both:"BOTH",User:"USER",Admin:"ADMIN"};function rn(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 LA(e,t){const n=rn(e),r=rn(t);return n?r?n+r.charAt(0).toUpperCase()+r.slice(1):n:""}function Br(e,t){return ce({...e,fieldLabel:t})?rn(t)||"status":Be({...e,fieldLabel:t})?"storeIdCustom":LA(t,e.fieldType)}function jn(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 IA(e){return e?typeof e=="string"?e:e.message||e.error||"":""}function ws(e){return e?typeof e.id=="number"||/^\d+$/.test(String(e.id)):!1}function FA(e=[]){const t=ce(e)?Yt(e.options||[]):e.options||[];if(!t.length)return null;const n=e.parentMappings||{},r=e.optionColors||{},s=!!e.dependsOn||t.some(o=>n[o]);return ce(e)?{values:t.map((o,l)=>{const i={name:o,displayOrder:l+1,isActive:!0,isDefault:Zm(o)};return r[o]&&(i.color=r[o]),i})}:s?{values:t.map(o=>{const l={label:o};return n[o]&&(l.dependsOnValue=n[o]),l})}:{values:t}}function kA(e,t=[],n=[]){const r=String(e.fieldLabel||"").trim(),s=e.originalFieldName!=null&&r===String(e.originalFieldName).trim(),o=t.find(S=>String(S.fieldLabel||"").trim()===e.dependsOn&&e.dependsOn),l=Br(e,r)||(s?e.fieldKey:""),i=o?Br(o,o.fieldLabel)||o.fieldKey:"",c=MA(e,n),d=FA(e),f=EA[e.fieldType]??String(e.fieldType||"TEXT").toUpperCase(),u=TA[e.fieldAccess]??(e.fieldAccess?String(e.fieldAccess).toUpperCase():"USER"),p={fieldName:r,fieldKey:l,fieldType:f,required:!!e.required,displayOrder:Number(e.order)||1,fieldAccess:u,isActive:e.isActive!==!1};return c!=null&&c!==""&&(p.hideForWorkflowStepId=c),d?.values?.length&&(p.options=d),i&&i!==l&&(p.dependsOnFieldKey=i),p}function Cc(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 Nc(e,t){return Cc(e)!==Cc(t)}function OA(e=[],t=e,n=[]){return{fields:e.filter(s=>!s.isNew&&String(s.fieldLabel||"").trim()).map((s,o)=>kA({...s,order:s.order||o+1},t,n))}}function DA(e){return Array.isArray(e)?e:Array.isArray(e?.data)?e.data:[]}function Ur(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 _c(e,t=[]){if(!e)return null;const n=Ur(e);if(n)return n;const r=typeof e=="object"?e.id??e.workflowStepId:null;if(r==null)return null;const s=t.find(o=>String(o.id)===String(r));return Ur(s)}function MA(e,t=[]){const n=Array.isArray(e.hideFor)?e.hideFor:[];if(!n.length)return null;for(const o of n){const l=t.find(i=>Ur(i)===o||String(i.id)===String(o));if(l?.id!=null)return l.id}const r=e.hideForWorkflowStepId;return r==null||r===""?null:t.some(o=>String(o.id)===String(r))?r:null}function Ec(e){return[...new Set(e.filter(Boolean))]}function $r(e){return typeof e=="string"?e:e?.label??e?.name??e?.value??""}function xA(e){return!e||typeof e!="object"?"":e.dependsOnValue??e.parent??""}function PA(e,t=[]){if(!e)return"";const n=t.map($r).filter(Boolean),r=n.find(o=>o===e);return r||n.find(o=>rn(o)===e||rn(o)===rn(e))||e}function BA(e){return e&&typeof e=="object"&&e.color?e.color:""}function Ft(e=[],t=[]){const n=[...e].sort((r,s)=>(r.displayOrder??0)-(s.displayOrder??0));return Jt(n.map(r=>{const s=r?.options?.values??[],o=n.find(i=>i.id===r.dependsOnFieldId||r.dependsOnFieldKey&&i.fieldKey===r.dependsOnFieldKey),l=t.find(i=>String(i.id)===String(r.hideForWorkflowStepId));return{id:r.id,order:r.displayOrder,fieldLabel:r.fieldName??r.fieldLabel??"",fieldType:Ka(r.fieldType,Sc,r.fieldKey),required:!!r.required,fieldAccess:wc[r.fieldAccess]??r.fieldAccess??"",hideFor:Ec([...Array.isArray(r.hideFor)?r.hideFor:[],_c(r.hideForWorkflowStep,t),_c(l,t)]),dependsOn:r.dependsOnField?.fieldName??o?.fieldName??r.dependsOn??"",options:s.map($r).filter(Boolean),parentMappings:Object.fromEntries(s.map(i=>{const c=$r(i),d=xA(i);return!c||!d?null:[c,PA(d,o?.options?.values??[])]}).filter(Boolean)),optionColors:Object.fromEntries(s.map(i=>[$r(i),BA(i)]).filter(([i,c])=>i&&c)),fieldKey:r.fieldKey,originalFieldName:r.fieldName??r.fieldLabel??"",dependsOnFieldId:r.dependsOnFieldId??null,hideForWorkflowStepId:r.hideForWorkflowStepId??null,isActive:r.isActive!==!1,label:r.fieldName??r.fieldLabel??""}}))}function UA({stepMeta:e,stepperProps:t}){const n=X.useDispatch(),{systemId:r}=mt(),s=X.useSelector(w=>w.appDetails?.id),o=jn(s)??jn(r),{state:l,update:i}=Mr(),{formFields:c,prefillFormFields:d=[]}=l,f=m.useRef(null),u=m.useCallback(w=>i({formFields:w}),[i]),p=m.useCallback(async w=>{const $=String(w.fieldLabel||"").trim();return $?{...w,fieldLabel:$,fieldKey:Br(w,$),originalFieldName:$,isNew:!1}:null},[]),S=m.useCallback(async w=>et(w)?!1:(ws(w)&&await n(Ln({complaintTypeId:o,fieldId:w.id})).unwrap(),!0),[o,n]),A=X.useSelector(w=>w.complaintAppComplaint?.formFields?.data),y=X.useSelector(w=>w.complaintAppComplaint?.formFields?.isLoading),g=X.useSelector(w=>w.complaintAppComplaint?.formFields?.error),h=X.useSelector(w=>w.workflow?.workflowSteps),b=m.useMemo(()=>DA(h),[h]),_=m.useRef(b),[N,O]=m.useState(!1);m.useEffect(()=>{_.current=b},[b]),m.useEffect(()=>{const w=jn(o);w!=null&&n(Je(w))},[o,n]),m.useEffect(()=>{const w=jn(o);if(w==null)return;let $=!1;return n(Ve(w)).unwrap().then(k=>{if($)return;const V=Array.isArray(k)?k:k?.data;if(!(Array.isArray(V)&&V.length>0)&&d.length){const U=Ft(d,_.current).map((C,Y)=>({...C,id:`prefill-${Y}`,isNew:!1}));i({formFields:Jt(U)})}else{const U=Jt(Ft(Array.isArray(V)?V:[],_.current));i({formFields:U})}O(!0)}).catch(()=>{if(!$){if(d.length){const k=Ft(d,_.current).map((V,E)=>({...V,id:`prefill-${E}`,isNew:!1}));i({formFields:Jt(k)})}O(!0)}}),()=>{$=!0}},[o,n,d,i]);const L=m.useMemo(()=>Jt(Ft(A,b)),[A,b]),ae=jn(o)==null||N,W=ae?c:L,j=m.useMemo(()=>Gm.filter(w=>!W.some($=>w.fieldKey&&$.fieldKey===w.fieldKey||ce(w)&&ce($)||_r(w)&&_r($)||Be(w)&&Be($))),[W]),K=m.useMemo(()=>Lr(W),[W]),P=m.useMemo(()=>Gt(W),[W]),Q=IA(g),F=Qm,x=Xm,G=m.useMemo(()=>{const w=[...b].sort((k,V)=>(k.levelNo??0)-(V.levelNo??0)).map(k=>Ur(k)).filter(Boolean),$=L.flatMap(k=>k.hideFor);return Ec([...w,...$])},[L,b]),ee=m.useMemo(()=>{const w=new Map(Ft(A,b).map($=>[Number($.id),$]));return W.filter($=>{if($.isNew&&String($.fieldLabel||"").trim())return!0;if(!ws($))return!1;const k=w.get(Number($.id));return!k||Nc($,k)})},[A,W,b]),[T,M]=m.useState(!1),q=m.useCallback(async w=>{if(!Gt(W)&&o)try{const k=W.map(te=>{if(!w||!te.isNew)return te;const oe=String(te.fieldLabel||"").trim();return oe?{...te,fieldLabel:oe,fieldKey:Br(te,oe),originalFieldName:oe,isNew:!1}:te}).filter(te=>!te.isNew&&String(te.fieldLabel||"").trim()),V=new Map(Ft(A,b).map(te=>[Number(te.id),te]));if(!k.some(te=>{if(!ws(te))return!0;const oe=V.get(Number(te.id));return!oe||Nc(te,oe)})){t.onNext?.();return}const U=[...k].sort((te,oe)=>+!!te.dependsOn-+!!oe.dependsOn);await n(Tn({complaintTypeId:o,data:OA(U,U,b)})).unwrap();const C=await n(Ve(o)).unwrap(),Y=Array.isArray(C)?C:C?.data;i({formFields:Jt(Ft(Array.isArray(Y)?Y:[],b))}),t.onNext?.()}catch{}},[A,o,n,W,t,i,b]),R=m.useCallback(()=>{if(!Gt(W)){if(ee.length){M(!0);return}q(!1)}},[W,ee.length,q]);return a.jsxs(a.Fragment,{children:[a.jsx($n,{...t,steps:tt,onNext:R}),T?a.jsx("div",{className:"ca-confirm-modal",role:"dialog","aria-modal":"true","aria-labelledby":"form-fields-pending-save-title",children:a.jsxs("div",{className:"ca-confirm-modal__dialog",children:[a.jsx("p",{id:"form-fields-pending-save-title",className:"ca-confirm-modal__message",children:"Some fields are pending to save."}),a.jsxs("div",{className:"ca-confirm-modal__actions",children:[a.jsx(Ce,{variant:"outline",onClick:()=>{M(!1),q(!1)},children:"OK"}),a.jsx(Ce,{onClick:()=>{M(!1),q(!0)},children:"Save"})]})]})}):null,a.jsx(Un,{className:"ca-settings-card--plain",title:e.title,description:e.description,showNext:!1,children:!ae||y?a.jsx(it,{text:"Loading form fields"}):Q&&!W.length?a.jsx("div",{className:"ca-validation-toast",role:"alert",children:Q}):a.jsxs("div",{className:"ca-form-fields",children:[Q?a.jsx("div",{className:"ca-validation-toast",role:"alert",children:Q}):null,a.jsx(_A,{fields:j,disableAdd:K||P,disableAddHint:K?"Resolve duplicate field first":P?hi(W):void 0,onAddField:w=>f.current?.({...w})}),a.jsx("div",{className:"ca-settings-card__divider"}),a.jsx(bc,{initialFields:W,addExternalFieldRef:f,onChange:u,fieldTypeOptions:F,fieldAccessOptions:x,hideForOptions:G,onSave:p,onDelete:S})]})})]})}function Tc({label:e="Active",checked:t,onChange:n,disabled:r=!1,className:s=""}){return a.jsxs("div",{className:`ca-toggle-field ${s}`.trim(),children:[a.jsx(si,{children:e}),a.jsx(Sr,{checked:t,onChange:n,disabled:r,"aria-label":e})]})}function Lc({storeList:e=[],value:t,onChange:n,...r}){const{label:s}=ut();return a.jsxs("select",{...r,className:"review-control",value:t??"",onChange:o=>n(o.target.value),children:[a.jsx("option",{value:"",children:s("Select Store")}),e.map(o=>a.jsx("option",{value:o.id,children:o.name??o.label??String(o.id)},o.id))]})}const $A=/\.(png|jpe?g|gif|webp|bmp|svg)$/i;function Cs(e,t){return t?Array.isArray(e)?e.filter(Boolean):[]:e instanceof File?[e]:[]}function jA(e){return e?e.type&&e.type.startsWith("image/")?!0:$A.test(e.name||""):!1}function VA(e){return`${e.name}-${e.size}-${e.lastModified}`}function Ns({id:e,name:t,value:n,onChange:r,multiple:s=!1,required:o=!1,disabled:l=!1,accept:i}){const c=Cs(n,s),d=m.useMemo(()=>Cs(n,s).map((f,u)=>{const p=jA(f);return{key:`${VA(f)}-${u}`,name:f.name,isImage:p,url:p?URL.createObjectURL(f):""}}),[n,s]);return m.useEffect(()=>()=>{d.forEach(f=>{f.url&&URL.revokeObjectURL(f.url)})},[d]),a.jsxs("div",{className:"review-file-field",children:[a.jsx("input",{id:e,name:t,className:"review-control",type:"file",accept:i,multiple:s,required:!!o&&c.length===0,disabled:l,onChange:f=>{const u=Array.from(f.target.files||[]);if(!s){r(u[0]||"");return}const p=Cs(n,!0);r([...p,...u]),f.target.value=""}}),d.length?a.jsx("div",{className:"review-file-preview",children:a.jsx("div",{className:"review-file-preview__images",children:d.map((f,u)=>a.jsxs("div",{className:"review-file-preview__item",children:[f.isImage?a.jsx("img",{className:"review-file-preview__thumb",src:f.url,alt:f.name,title:f.name}):a.jsx("span",{className:"review-file-preview__name",children:f.name}),a.jsx("button",{type:"button",className:"review-file-preview__remove","aria-label":`Remove ${f.name}`,onClick:()=>{r(s?c.filter((p,S)=>S!==u):"")},children:"×"})]},f.key))})}):null]})}const WA=new Set(["select","radio","checkbox"]);function Ic(e){return String(e||"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/(^-|-$)/g,"")}function kt(e){return String(e.label||e.fieldLabel||e.fieldName||e.name||"").trim()}function _s(e){return`review-${e.id??e.fieldKey??(Ic(kt(e))||"field")}`}function Fc(e,t,n){return n===0?e:`${e}-${Ic(t)||n}`}function Es(e){const t=String(e.fieldType||"").toLowerCase(),n=String(e.fieldKey||kt(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 kc(e){return WA.has(e)}function qA(e){return e==="textarea"||e==="radio"||e==="checkbox"}function HA(e){const t=String(e.fieldType||"").toLowerCase();return t==="text"||t==="textfield"}function Oc(e){return String(e||"").replace(/\d/g,"")}function Dc(e){return String(e||"").replace(/[^\d]/g,"")}function Vn(e,t){const n=String(kt(e)||"value").toLowerCase();return t==="date"?"mm/dd/yyyy":t==="select"?`Select ${n}`:t==="email"?"Enter email":`Enter ${n}`}function Wn(e){return String(e.fieldKey||e.id||kt(e)||_s(e))}function Mc(e,t=[]){const n=String(e.dependsOn||"").trim();return n&&t.find(r=>{const s=kt(r),o=String(r.fieldKey||"");return s===n||o===n})||null}function xc(e,t=[],n={}){const r=e.options||[],s=Mc(e,t);if(!s)return r;const o=e.parentMappings||{};if(!r.some(c=>!!o[c]))return r;const i=String(n[Wn(s)]||"").trim();return i?r.filter(c=>String(o[c]||"")===i):r}function Pc(e){return e==="checkbox"||e==="images"?[]:""}function zA({question:e,options:t,value:n,onChange:r,storeList:s}){const o=_s(e),l=Es(e),i=n??Pc(l),c={id:o,name:String(e.fieldKey||kt(e)||o),required:!!e.required};if(Be(e)&&Array.isArray(s))return a.jsx(Lc,{...c,storeList:s,value:i,onChange:r});if(l==="radio")return a.jsx("div",{className:"review-options review-options--inline",children:t.map((d,f)=>{const u=Fc(o,d,f);return a.jsxs("label",{className:"review-option",htmlFor:u,children:[a.jsx("input",{...c,id:u,type:"radio",value:d,checked:i===d,onChange:p=>r(p.target.value)}),a.jsx("span",{children:d})]},d)})});if(l==="checkbox"){const d=Array.isArray(i)?i:[];return a.jsx("div",{className:"review-options review-options--inline",children:t.map((f,u)=>{const p=Fc(o,f,u);return a.jsxs("label",{className:"review-option",htmlFor:p,children:[a.jsx("input",{id:p,name:`${c.name}[]`,type:"checkbox",value:f,checked:d.includes(f),required:!1,onChange:S=>r(S.target.checked?[...d,f]:d.filter(A=>A!==f))}),a.jsx("span",{children:f})]},f)})})}return l==="textarea"?a.jsx("textarea",{...c,className:"review-control review-control--textarea",placeholder:Vn(e,l),value:i,onChange:d=>r(d.target.value)}):l==="select"?a.jsxs("select",{...c,className:"review-control",value:i,onChange:d=>r(d.target.value),children:[a.jsx("option",{value:"",children:Vn(e,l)}),t.map(d=>a.jsx("option",{value:d,children:d},d))]}):l==="file"?a.jsx(Ns,{...c,value:i,onChange:r,multiple:!0}):l==="images"?a.jsx(Ns,{...c,value:i,onChange:r,multiple:!0}):l==="number"?a.jsx("input",{...c,className:"review-control",type:"number",inputMode:"numeric",placeholder:Vn(e,l),value:i,onChange:d=>r(Dc(d.target.value)),onKeyDown:d=>{(d.key==="e"||d.key==="E"||d.key==="+"||d.key==="-"||d.key===".")&&d.preventDefault(),d.key.length===1&&!/\d/.test(d.key)&&!d.ctrlKey&&!d.metaKey&&d.preventDefault()},onPaste:d=>{const f=d.clipboardData.getData("text");/^\d*$/.test(f)||(d.preventDefault(),r(Dc(f)))}}):HA(e)?a.jsx("input",{...c,className:"review-control",type:"text",inputMode:"text",placeholder:Vn(e,l),value:i,onChange:d=>r(Oc(d.target.value)),onKeyDown:d=>{/^\d$/.test(d.key)&&d.preventDefault()},onPaste:d=>{const f=d.clipboardData.getData("text");/\d/.test(f)&&(d.preventDefault(),r(Oc(f)))}}):a.jsx("input",{...c,className:"review-control",type:l,placeholder:Vn(e,l),value:i,onChange:d=>r(d.target.value)})}function KA({fields:e=[],storeList:t}){const{fieldLabel:n}=ut(),[r,s]=m.useState({}),o=(l,i)=>{const c=Wn(l);s(d=>{const f={...d,[c]:i};return e.forEach(u=>{const p=Mc(u,e);if(!p||Wn(p)!==c)return;const S=Es(u);if(!kc(S))return;const A=xc(u,e,f),y=Wn(u),g=f[y];Array.isArray(g)?f[y]=g.filter(h=>A.includes(h)):g&&!A.includes(g)&&(f[y]="")}),f})};return e.length?a.jsx("div",{className:"review-form-card",children:a.jsx("form",{className:"review-form","aria-label":"Form fields preview",onSubmit:l=>l.preventDefault(),children:a.jsx("div",{className:"review-form-grid",children:e.map(l=>{const i=Es(l),c=_s(l),d=kc(i)?xc(l,e,r):[];return a.jsxs("div",{className:`review-question${qA(i)?" review-question--wide":""}`,children:[a.jsxs("label",{className:"review-label",htmlFor:c,children:[n(l)||"Untitled field",l.required?a.jsx("span",{className:"review-required",children:"*"}):null]}),a.jsx(zA,{storeList:t,question:l,options:d,value:r[Wn(l)]??Pc(i),onChange:f=>o(l,f)})]},l.id??l.fieldKey??kt(l))})})})}):a.jsx("p",{className:"review-empty",children:"No form fields added"})}const QA={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"},XA={BOTH:"Both",USER:"User",ADMIN:"Admin"};function YA(e){return e?typeof e=="string"?e:e.name??e.label??e.title??null:null}function GA(e){return[...new Set(e.filter(Boolean))]}function Ts(e){return typeof e=="string"?e:e?.label??e?.name??""}function Ls(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 JA(e){return!e||typeof e!="object"?"":e.dependsOnValue??e.parent??""}function ZA(e,t=[]){if(!e)return"";const n=t.map(Ts).filter(Boolean),r=n.find(o=>o===e);return r||n.find(o=>Ls(o)===e||Ls(o)===Ls(e))||e}function RA(e=[]){const t=[...e].sort((n,r)=>(n.displayOrder??0)-(r.displayOrder??0));return t.map(n=>{const r=n?.options?.values??[],s=t.find(o=>o.id===n.dependsOnFieldId||n.dependsOnFieldKey&&o.fieldKey===n.dependsOnFieldKey);return{id:n.id,label:n.fieldName??n.fieldLabel??n.label??"",fieldLabel:n.fieldName??n.fieldLabel??n.label??"",fieldKey:n.fieldKey,fieldType:Ka(n.fieldType,QA,n.fieldKey),required:!!n.required,fieldAccess:XA[n.fieldAccess]??n.fieldAccess??"",hideFor:GA([...Array.isArray(n.hideFor)?n.hideFor:[],YA(n.hideForWorkflowStep)]),dependsOn:n.dependsOnField?.fieldName??s?.fieldName??n.dependsOn??"",options:r.map(Ts).filter(Boolean),parentMappings:Object.fromEntries(r.map(o=>{const l=Ts(o),i=JA(o);return!l||!i?null:[l,ZA(i,s?.options?.values??[])]}).filter(Boolean))}})}function e0({onPublish:e,stepMeta:t,stepperProps:n,storeList:r}){const s=X.useDispatch(),o=X.useSelector(L=>L.appDetails?.id),l=X.useSelector(L=>L.complaintAppComplaint.formFields.data),i=X.useSelector(L=>L.complaintAppComplaint.formFields.isLoading),c=X.useSelector(L=>L.complaintAppComplaint.formFields.error),d=X.useSelector(L=>L.createComplaint?.isActive),f=X.useSelector(L=>L.createComplaint?.activeComplaintTypeId),u=X.useSelector(L=>L.createComplaint?.isUpdatingActive),p=X.useSelector(L=>L.createComplaint?.activeError),S=X.useSelector(L=>L.complaintType?.selected),A=X.useSelector(L=>L.complaintType?.complaintList??[]),y=X.useSelector(L=>L.appDetails?.details?.currentUser),g=m.useMemo(()=>RA(l),[l]),h=m.useMemo(()=>o==null?null:S&&String(S.id??S._id)===String(o)?S:A.find(L=>String(L?.id??L?._id)===String(o))??null,[A,o,S]),b=h!=null&&(h.isActive!=null||h.active!=null)?!!(h.isActive??h.active):null,_=String(f)===String(o)?!!d:b??!0,N=hh(h,y);m.useEffect(()=>{o&&s(Ve(o))},[o,s]);const O=L=>{!o||u||!N||s(Mn({id:o,isActive:L}))};return a.jsxs(a.Fragment,{children:[a.jsx($n,{...n,steps:tt,showSaveButton:!1,nextLabel:"Publish",extraActions:a.jsx(Tc,{label:"Active",checked:_,disabled:!o||u||!N,onChange:O}),onNext:()=>{e?.(),n.onNext?.()}}),p?a.jsx("div",{className:"ca-validation-toast",role:"alert",children:p}):null,a.jsx(Un,{className:"ca-settings-card--plain",title:t.title,description:t.description,showNext:!1,children:a.jsx("div",{className:"ca-review",children:a.jsx("section",{className:"ca-review__block ca-review__block--last",children:i?a.jsx(it,{text:"Loading form fields"}):c&&!g.length?a.jsx("p",{className:"ca-body",children:c}):a.jsx(KA,{fields:g,storeList:r})})})})]})}function t0(e){const t=Number(e);return!Number.isFinite(t)||t<1?1:t>tt.length?tt.length:Math.floor(t)}function n0(e){const t=Number(e);return!Number.isFinite(t)||t<1?1:t>3?3:Math.floor(t)}function Bc({title:e="Complaint Management Settings",onPublish:t,onStepChange:n,onSaveDraft:r,roleList:s=[],userList:o=[],storeList:l,showSaveButton:i=!0,showNextButton:c=!0}){const d=Ge(),f=X.useDispatch(),{systemId:u}=mt(),[p,S]=co(),A=t0(p.get("step")||1),y=n0(p.get("substep")||1),g=!!u&&u!=="new",[h,b]=m.useState(!1);m.useEffect(()=>{if(!g)return;let j=!1;const K=P=>{const Q=P?.data??P;return Array.isArray(Q)?Q:Array.isArray(Q?.data)?Q.data:[]};return Promise.all([f(Je(u)).unwrap(),f(Ve(u)).unwrap()]).then(([P,Q])=>{j||b(K(P).length>0&&K(Q).length>0)}).catch(()=>{j||b(!1)}),()=>{j=!0}},[f,g,u]);const _=g&&h;m.useEffect(()=>{u&&f(_t(u)),f(Ht({data:g}))},[f,g,u]),m.useEffect(()=>{if(!p.get("step")){const j=new URLSearchParams(p);j.set("step","1"),S(j,{replace:!0})}},[p,S]);const N=m.useMemo(()=>tt.find(j=>j.id===A)||tt[0],[A]),O=m.useCallback((j,K)=>{const P=new URLSearchParams(p);P.set("step",String(j)),j===4?P.set("substep",String(K??(j===A?y:1))):P.delete("substep"),S(P,{replace:!1}),n?.({systemId:u,step:j,substep:K})},[p,S,n,u,A,y]),L=()=>{if(A<tt.length){O(A+1,1);return}d("/")},z=j=>{O(4,j)},ae=()=>{t?.({systemId:u,step:A})},W={currentStep:A,allStepsUnlocked:_,onStepClick:j=>O(j,j===4?1:void 0),showSaveButton:i,showNextButton:c,onSaveDraft:()=>r?.({systemId:u,step:A}),onNext:L,className:"ca-settings-page__stepper"};return a.jsx(Ji,{children:a.jsxs("div",{className:"ca-settings-page",children:[a.jsx("div",{className:"ca-settings-page__header",children:a.jsx(Va,{children:e})}),A===1?a.jsx(iA,{stepMeta:N,stepperProps:W,roleList:s,userList:o}):null,A===2?a.jsx(AA,{onNext:L,stepMeta:N,roleList:s,userList:o,substep:y,onSubstepChange:z,stepperProps:W}):null,A===3?a.jsx(UA,{stepMeta:N,stepperProps:W}):null,A===4?a.jsx(e0,{storeList:l,onPublish:ae,stepMeta:N,stepperProps:W}):null]})},u||"new")}function r0(){const e=Ge(),{complaintTypeId:t}=mt(),n=X.useSelector(u=>u.appDetails?.details?.featureActions),{canOpen:r}=Cr(n),o=X.useSelector(u=>u.status?.complaintSummary??null)?.totalComplaints??0,l=X.useSelector(u=>u.appDetails?.id),i=X.useSelector(u=>u.complaintType?.selected??null),c=i?.id??i?._id,f=c==null||l==null||String(c)===String(l)?i?.name??i?.complaintTypeName??i?.title??"":"";return a.jsx("section",{className:"ca-query-details","aria-labelledby":"query-management-title",children:a.jsxs("div",{className:"ca-query-details__heading",children:[a.jsxs("div",{className:"ca-query-details__title-row",children:[a.jsx("button",{type:"button",className:"ca-settings-page__back",onClick:()=>e("/"),"aria-label":"Back to Complaint Management",children:a.jsx("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:a.jsx("path",{d:"M15 6l-6 6 6 6",stroke:"currentColor",strokeWidth:"2.2",strokeLinecap:"round",strokeLinejoin:"round"})})}),a.jsx("h1",{id:"query-management-title",className:"ca-query-details__title",children:f||"Complaint Management"})]}),a.jsxs("div",{className:"ca-query-details__side",children:[a.jsxs("span",{className:"ca-query-details__count",children:["Total Count: ",o??0]}),r&&t?a.jsx(Ce,{size:"sm",onClick:()=>e(`/complaintanalysis/${t}`),endIcon:a.jsx(Xt,{size:14,color:"currentColor",className:"svg"}),children:"View analytics"}):null]})]})})}function Uc({currentPage:e,totalItems:t,itemsPerPage:n,onPageChange:r,onItemsPerPageChange:s,selectOptions:o=["25","50","100","200"],totalPages:l,disabled:i=!1}){if(t<=0)return null;const c=(e-1)*n+1,d=Math.min(e*n,t),f=e<=1,u=e>=l;return a.jsxs("div",{className:`ca-custom-pagination${i?" ca-custom-pagination--disabled":""}`,"aria-label":"Complaint table pagination",children:[a.jsxs("label",{className:"ca-custom-pagination__page-size",children:[a.jsx("span",{children:"Results per page:"}),a.jsx("select",{className:"ca-custom-pagination__select",value:String(n),onChange:p=>s?.(Number(p.target.value)),disabled:i,"aria-label":"Results per page",children:o.map(p=>a.jsx("option",{value:p,children:p},p))})]}),a.jsxs("div",{className:"ca-custom-pagination__navigation",children:[a.jsx("button",{type:"button",className:"ca-custom-pagination__button",onClick:()=>r?.(1),disabled:i||f,"aria-label":"First page",children:a.jsx(Ug,{size:16,"aria-hidden":"true"})}),a.jsx("button",{type:"button",className:"ca-custom-pagination__button",onClick:()=>r?.(e-1),disabled:i||f,"aria-label":"Previous page",children:a.jsx(Bg,{size:16,"aria-hidden":"true"})}),a.jsxs("span",{className:"ca-custom-pagination__range",children:[c," - ",d," of ",t]}),a.jsx("button",{type:"button",className:"ca-custom-pagination__button",onClick:()=>r?.(e+1),disabled:i||u,"aria-label":"Next page",children:a.jsx(ct,{size:16,"aria-hidden":"true"})}),a.jsx("button",{type:"button",className:"ca-custom-pagination__button",onClick:()=>r?.(l),disabled:i||u,"aria-label":"Last page",children:a.jsx($g,{size:16,"aria-hidden":"true"})})]})]})}function a0({type:e}){return e==="error"?a.jsxs("svg",{width:"22",height:"22",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:[a.jsx("circle",{cx:"12",cy:"12",r:"9",stroke:"currentColor",strokeWidth:"2"}),a.jsx("path",{d:"M12 7.5v5.5M12 16.2v.1",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})]}):a.jsxs("svg",{width:"22",height:"22",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:[a.jsx("circle",{cx:"12",cy:"12",r:"9",stroke:"currentColor",strokeWidth:"2"}),a.jsx("path",{d:"M8 12.5l2.8 2.8L16.2 9.5",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]})}function s0({id:e,message:t,type:n="success",onDismiss:r}){return m.useEffect(()=>{const s=setTimeout(()=>r(e),3500);return()=>clearTimeout(s)},[e,r]),a.jsxs("div",{className:`ca-toast ca-toast--${n}`,role:"status",children:[a.jsx("span",{className:"ca-toast__icon",children:a.jsx(a0,{type:n})}),a.jsxs("div",{className:"ca-toast__content",children:[a.jsx("div",{className:"ca-toast__title",children:n==="error"?"Error":"Success"}),a.jsx("div",{className:"ca-toast__message",children:t})]}),a.jsx("button",{type:"button",className:"ca-toast__close","aria-label":"Dismiss notification",onClick:()=>r(e),children:a.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:a.jsx("path",{d:"M6 6l12 12M18 6L6 18",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})})})]})}function Is({toasts:e=[],onDismiss:t}){if(!e.length)return null;const n=a.jsx("div",{className:"ca-toast-container",children:e.map(r=>a.jsx(s0,{...r,onDismiss:t},r.id))});return typeof document<"u"?Xr.createPortal(n,document.body):n}const o0=[{value:"today",label:"Today"},{value:"yesterday",label:"Yesterday"},{value:"lastWeek",label:"Last Week"},{value:"wtd",label:"WTD"},{value:"mtd",label:"MTD"},{value:"ytd",label:"YTD"},{value:"custom",label:"Custom"}],$c=e=>String(e).padStart(2,"0"),qe=e=>`${e.getFullYear()}-${$c(e.getMonth()+1)}-${$c(e.getDate())}`,qn=(e,t)=>new Date(e.getFullYear(),e.getMonth(),e.getDate()+t);function l0(e,t="",n="",r=new Date){const s=new Date(r.getFullYear(),r.getMonth(),r.getDate()),o=(s.getDay()+6)%7,l=qn(s,-o);switch(e){case"today":return{fromDate:qe(s),toDate:qe(s)};case"yesterday":return{fromDate:qe(qn(s,-1)),toDate:qe(qn(s,-1))};case"lastWeek":return{fromDate:qe(qn(l,-7)),toDate:qe(qn(l,-1))};case"wtd":return{fromDate:qe(l),toDate:qe(s)};case"mtd":return{fromDate:qe(new Date(s.getFullYear(),s.getMonth(),1)),toDate:qe(s)};case"ytd":return{fromDate:qe(new Date(s.getFullYear(),0,1)),toDate:qe(s)};case"custom":return t&&n?{fromDate:t,toDate:n}:null;default:return null}}function i0(e){if(!e?.preset)return{};const t=l0(e.preset,e.from,e.to);return t?{...t}:{}}const c0=[{value:"created",label:"Created"},{value:"updated",label:"Updated"}];function d0({initial:e,onApply:t,onReset:n,onClose:r}){const[s,o]=m.useState(e?.field||"updated"),[l,i]=m.useState(e?.preset||""),[c,d]=m.useState(e?.from||""),[f,u]=m.useState(e?.to||""),p=l==="custom"&&(!c||!f||c>f),S=!!l&&!p;return a.jsx("div",{className:"ca-confirm-modal",role:"dialog","aria-modal":"true","aria-label":"Filters",children:a.jsxs("div",{className:"ca-confirm-modal__dialog ca-date-filter",children:[a.jsxs("div",{className:"ca-date-filter__header",children:[a.jsx("span",{className:"ca-date-filter__title",children:"Filters"}),a.jsx("button",{type:"button",className:"ca-date-filter__close","aria-label":"Close",onClick:r,children:a.jsx(Qg,{size:18})})]}),a.jsx("div",{className:"ca-date-filter__tabs",role:"group","aria-label":"Date field",children:c0.map(A=>a.jsx("button",{type:"button",className:`ca-date-filter__tab${s===A.value?" ca-date-filter__tab--active":""}`,onClick:()=>o(A.value),children:A.label},A.value))}),a.jsx("div",{className:"ca-date-filter__list",children:o0.map(A=>a.jsxs("label",{className:`ca-date-filter__option${l===A.value?" ca-date-filter__option--active":""}`,children:[a.jsx("input",{type:"radio",name:"complaint-date-preset",checked:l===A.value,onChange:()=>i(A.value)}),a.jsx("span",{children:A.label})]},A.value))}),l==="custom"?a.jsxs("div",{className:"ca-date-filter__custom",children:[a.jsx("label",{className:"ca-confirm-modal__label",htmlFor:"ca-date-from",children:"From Date"}),a.jsx("input",{id:"ca-date-from",type:"date",className:"ca-date-filter__date",value:c,max:f||void 0,onChange:A=>d(A.target.value)}),a.jsx("label",{className:"ca-confirm-modal__label",htmlFor:"ca-date-to",children:"To Date"}),a.jsx("input",{id:"ca-date-to",type:"date",className:"ca-date-filter__date",value:f,min:c||void 0,onChange:A=>u(A.target.value)})]}):null,a.jsxs("div",{className:"ca-confirm-modal__actions",children:[a.jsx(Ce,{variant:"outline",onClick:n,children:"Reset"}),a.jsx(Ce,{onClick:()=>t({field:s,preset:l,from:c,to:f}),disabled:!S,children:"Apply"})]})]})})}function u0({open:e,initial:t,onApply:n,onReset:r,onClose:s}){return e?a.jsx(d0,{initial:t,onApply:n,onReset:r,onClose:s}):null}const f0=/^[^\s]+\/[^\s]+\.[A-Za-z0-9]{2,5}(?:\?.*)?(?:::.+)?$/;function Ot(e){const t=String(e??""),n=t.indexOf("::");return n>=0?t.slice(0,n):t}function Hn(e){const t=String(e??""),n=t.indexOf("::");return n>=0?t.slice(n+2):t}const p0=new RegExp("(?<=\\.[A-Za-z0-9]{2,5})(?=[A-Za-z0-9_-]+\\/)|[,\\n;]+");function an(e){return(Array.isArray(e)?e:[e]).filter(n=>n!=null&&n!==""&&n!=="-").flatMap(n=>typeof n=="string"?n.split(p0).map(r=>r.trim()).filter(Boolean):[n])}function h0(e){const t=an(e);return t.length>0&&t.every(n=>typeof n=="string"&&f0.test(n))}function zn(e,t){return String(e?.fieldType||"").toLowerCase()==="file"||h0(t)}function m0(e,t){const n=new Set;return t.forEach(r=>{e.forEach(s=>{const o=r[s.key]??"-";zn(s,o)&&an(o).forEach(l=>{typeof l=="string"&&n.add(Ot(l))})})}),Array.from(n)}const jc=/\.(png|jpe?g|gif|webp|bmp|svg)(?:\?.*)?$/i;function Fs(e,t=7){const n=String(e||""),r=n.lastIndexOf("."),s=r>0?n.slice(0,r):n,o=r>0?n.slice(r):"";return s.length>t?`${s.slice(0,t)}...${o}`:n}function g0({value:e,urlMap:t={}}){const n=m.useMemo(()=>an(e),[e]),[r,s]=m.useState(null);if(!n.length)return"-";const o=n.filter(p=>typeof p=="string"&&jc.test(Ot(p))),l=n.filter(p=>typeof p=="string"&&!jc.test(Ot(p))).map(p=>({name:Hn(p),url:t[Ot(p)]})),i=o.map(p=>({name:Hn(p),url:t[Ot(p)]})).filter(p=>p.url),c=i[0],d=()=>s(null),f=()=>s(p=>p>0?p-1:i.length-1),u=()=>s(p=>p<i.length-1?p+1:0);return a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"ca-complaint-table__attachments",children:[c?a.jsx("button",{type:"button",className:"ca-complaint-table__attachment-trigger",onClick:()=>s(0),"aria-label":`Preview ${c.name}`,children:a.jsx("img",{className:"ca-complaint-table__attachment-image",src:c.url,alt:c.name,title:c.name})}):null,l.length?l.map(p=>{const S=String(p.name).split("/").pop();return p.url?a.jsx("a",{className:"ca-complaint-table__attachment-link",href:p.url,target:"_blank",rel:"noreferrer",title:S,children:Fs(S)},p.name):a.jsx("span",{className:"ca-complaint-table__attachment-name",title:S,children:Fs(S)},p.name)}):null,!c&&!l.length?n.map(p=>a.jsx("span",{className:"ca-complaint-table__attachment-name",title:Hn(p),children:Fs(Hn(p))},String(p))):null,i.length>1?a.jsxs("button",{type:"button",className:"ca-complaint-table__attachment-count",onClick:()=>s(1),"aria-label":`Preview ${i.length-1} more images`,children:["+",i.length-1]}):null]}),r!=null&&i.length?a.jsxs("div",{className:"ca-complaint-table__preview",role:"dialog","aria-modal":"true","aria-label":"Image preview",children:[a.jsx("button",{type:"button",className:"ca-complaint-table__preview-close",onClick:d,"aria-label":"Close image preview",children:"×"}),a.jsx("button",{type:"button",className:"ca-complaint-table__preview-nav ca-complaint-table__preview-nav--previous",onClick:f,"aria-label":"Previous image",children:"‹"}),a.jsx("img",{className:"ca-complaint-table__preview-image",src:i[r].url,alt:i[r].name}),a.jsx("button",{type:"button",className:"ca-complaint-table__preview-nav ca-complaint-table__preview-nav--next",onClick:u,"aria-label":"Next image",children:"›"}),a.jsxs("span",{className:"ca-complaint-table__preview-count",children:[r+1," / ",i.length]})]}):null]})}function jr(e,t=!1){const n=[];return!t&&e==="description"&&n.push("ca-complaint-table__desc"),e==="actions"&&n.push("ca-complaint-table__sticky","ca-complaint-table__sticky--actions"),n.length?n.join(" "):void 0}function A0(e,t=[]){const n=t.find(s=>String(s.id)===String(e.assignedToUserId));return(n?[n.firstName,n.lastName].filter(Boolean).join(" ").trim():"")||e.assignedToUserName||""}function y0({row:e,ctx:t,isOpen:n,onToggle:r}){const s=t.roleUsers??[],o=m.useRef(null),l=m.useRef(null),[i,c]=m.useState(null),d=s.find(h=>String(h.id)===String(e.assignedToUserId)),u=(d?[d.firstName,d.lastName].filter(Boolean).join(" ").trim():"")||e.assignedToUserName||"",p=e.assignedToUserId,S=p!=null&&p!==""&&String(p)===String(t.currentUserId),A=u||(S?"Assign to Me":"Assign"),y=s.filter(h=>String(h.id)!==String(t.currentUserId)),g=!!e.isClosed||t.canAssign===!1;return m.useLayoutEffect(()=>{if(!n)return;const h=()=>{const b=o.current,_=l.current;if(!b||!_)return;const N=b.getBoundingClientRect(),O=_.getBoundingClientRect(),L=6,z=12,W=N.bottom+L+O.height>window.innerHeight-z&&N.top-L-O.height>=z?N.top-O.height-L:Math.min(N.bottom+L,window.innerHeight-O.height-z),j=Math.max(z,Math.min(N.right-O.width,window.innerWidth-O.width-z));c({top:W,left:j,visibility:"visible"})};return h(),window.addEventListener("resize",h),window.addEventListener("scroll",h,!0),()=>{window.removeEventListener("resize",h),window.removeEventListener("scroll",h,!0)}},[t.assignmentError,t.assignmentLoading,t.assignmentSaving,n,s.length]),a.jsxs("div",{className:"ca-complaint-table__assignment",children:[a.jsxs("button",{ref:o,type:"button",className:"ca-complaint-table__assignment-trigger","data-assignment-trigger":"true",disabled:g,onClick:h=>{h.stopPropagation(),!g&&r(e.id)},"aria-expanded":n&&!g,"aria-label":`Assign complaint ${e.title||e.id}`,children:[a.jsx("span",{className:"ca-complaint-table__assignment-label",children:A}),a.jsx(Rt,{size:14,"aria-hidden":"true"})]}),n&&!g&&typeof document<"u"?Xr.createPortal(a.jsxs("div",{ref:l,className:"ca-complaint-table__assignment-menu","data-assignment-menu":"true",role:"menu",style:i||{visibility:"hidden"},onClick:h=>h.stopPropagation(),children:[a.jsx("button",{type:"button",className:"ca-complaint-table__assignment-self",role:"menuitem",disabled:S||t.assignmentLoading||t.assignmentSaving,onClick:h=>{h.stopPropagation(),r(null),t.onAssign?.(e,t.currentUserId)},children:a.jsx("strong",{children:"Assign to me"})}),t.assignmentLoading?a.jsx("span",{className:"ca-complaint-table__assignment-state",children:"Loading users…"}):null,t.assignmentSaving?a.jsx("span",{className:"ca-complaint-table__assignment-state",children:"Saving assignment…"}):null,t.assignmentError?a.jsxs("div",{className:"ca-complaint-table__assignment-error",children:[a.jsx("span",{children:t.assignmentError}),a.jsx("button",{type:"button",onClick:h=>{h.stopPropagation(),t.onRetryUsers?.(e.roleId)},children:"Retry"})]}):null,y.length>0?a.jsx("div",{className:"ca-complaint-table__assignment-others","aria-hidden":"true",children:"Others"}):null,y.map(h=>{const b=[h.firstName,h.lastName].filter(Boolean).join(" ").trim()||h.email;return a.jsxs("button",{type:"button",role:"menuitem",disabled:String(p)===String(h.id)||t.assignmentLoading||t.assignmentSaving,onClick:_=>{_.stopPropagation(),r(null),t.onAssign?.(e,h.id)},children:[a.jsx("strong",{children:b}),h.email?a.jsx("span",{children:h.email}):null]},h.id)})]}),document.body):null]})}function Vc(e,t,n={},r={}){const s=t[e.key]??"-";if(e.key==="status"||e.key==="escalationTo")return s;if(e.key==="assignedToUserName"){const o=A0(t,n.roleUsers??[]);return o?a.jsx("span",{className:"ca-complaint-table__ellipsis",children:o}):"-"}return e.key==="actions"?a.jsxs("div",{className:"ca-complaint-table__action-cell",children:[a.jsx(y0,{row:t,ctx:n,...r}),a.jsx("button",{type:"button",className:"ca-complaint-table__open-button","aria-label":`Open complaint ${t.title||t.id}`,onClick:o=>{o.stopPropagation(),n.onOpenComplaint?.(t)},children:a.jsx(ct,{size:16,"aria-hidden":"true"})})]}):zn(e,s)&&an(s).some(o=>typeof o=="string")?a.jsx(g0,{value:s,urlMap:n.attachmentUrlMap}):s}function Wc({scrollFields:e,stickyFields:t,tableRows:n,fieldLabel:r,getCellContext:s,onOpenComplaint:o,page:l,itemsPerPage:i}){const[c,d]=m.useState(null);m.useEffect(()=>{if(c==null)return;const u=p=>{p.target.closest?.("[data-assignment-trigger], [data-assignment-menu]")||d(null)};return document.addEventListener("pointerdown",u),()=>document.removeEventListener("pointerdown",u)},[c]);const f=u=>{d(p=>String(p)===String(u)?null:u)};return a.jsxs("div",{className:"ca-complaint-table__scroll",children:[a.jsxs("table",{children:[a.jsx("thead",{children:a.jsxs("tr",{children:[a.jsx("th",{scope:"col",children:"#"}),e.map(u=>a.jsx("th",{scope:"col",className:jr(u.key,!0),children:r(u)},u.id)),a.jsx("th",{className:"ca-complaint-table__spacer","aria-hidden":"true"}),t.map(u=>a.jsx("th",{scope:"col",className:jr(u.key,!0),children:r(u)},u.id))]})}),a.jsx("tbody",{children:n.map((u,p)=>{const S=s(u);S.onOpenComplaint=o;const A=u.assignedToUserId,y=A==null||A===""?"ca-complaint-table__row--unassigned":String(A)===String(S.currentUserId)?"ca-complaint-table__row--assigned-self":"ca-complaint-table__row--assigned-other";return a.jsxs("tr",{className:y,children:[a.jsx("td",{children:(l-1)*i+p+1}),e.map(g=>a.jsx("td",{className:jr(g.key),children:Vc(g,u,S)},`${u.id??p}-${g.id}`)),a.jsx("td",{className:"ca-complaint-table__spacer","aria-hidden":"true"}),t.map(g=>a.jsx("td",{className:jr(g.key),children:Vc(g,u,S,{isOpen:String(c)===String(u.id),onToggle:f})},`${u.id??p}-${g.id}`))]},u.id??p)})})]}),n.length?null:a.jsx("div",{className:"ca-complaint-table__empty-overlay",children:a.jsx(Or,{text:"Nothing here yet",illustrated:!0})})]})}const b0={id:"actions",label:"Actions",key:"actions"},qc=[];async function v0({complaintTypeId:e,status:t,dateParams:n={},sort:r,assignmentFilter:s,escalationTo:o,search:l}){const i=await he.post(Ba,Ua({...n,complaintTypeId:e,page:1,limit:fg,sort:r,assignmentFilter:s,escalationTo:o,status:t,search:l}));return Ei(i.data)}function Hc(e,t=!1){const n=Array.isArray(e)?e:e==null?[]:[e];return n.includes("all")||n.includes("All")?[]:n.filter(r=>r!=null&&r!=="").map(r=>t?Number(r):String(r)).filter(r=>!t||Number.isFinite(r))}function S0(e){return(Array.isArray(e?.roles)?e.roles:[]).map(n=>Number(n?.id??n?.roleId??n?.role_id??n)).filter(n=>Number.isFinite(n))}function zc(e,t=[],n=[],r=null){const s=e?.hideForWorkflowStepId;if(s==null||s==="")return!0;const o=t.find(l=>String(l.id)===String(s));return!o||!Qc(o,n,r)}function Kc(e){return([e?.userAssignments,e?.users,e?.userIds,e?.assignedUsers].find(Array.isArray)??[]).map(n=>Number(n&&typeof n=="object"?n.userId??n.id??n.user?.id:n)).filter(Number.isFinite)}function Qc(e,t=[],n=null){return(Array.isArray(e?.roleIds)?e.roleIds.map(Number):[]).some(s=>t.includes(s))?!0:n!=null&&Kc(e).includes(Number(n))}function w0(){const{fieldLabel:e}=ut(),t=X.useDispatch(),n=Ge(),r=Ke(),{complaintTypeId:s}=mt(),[o]=co(),l=X.useSelector(B=>B.appDetails?.id),i=Ag(s,o.get("complaintTypeId"),l,gg()),{list:c=[],isLoading:d=!1,error:f=null,hasLoaded:u=!1,requestedComplaintTypeId:p=null,meta:S=null}=X.useSelector(B=>B.complaintManagement??{}),A=X.useSelector(B=>B.status?.list??[]),y=X.useSelector(B=>B.changeStatus?.updatingId??null),g=X.useSelector(B=>B.roleUsers??{}),h=X.useSelector(B=>B.workflow?.workflowSteps),b=X.useSelector(B=>B.appDetails?.details?.currentUser),_=X.useSelector(B=>B.appDetails?.details?.featureActions),N=Cr(_).canSeeAllFilters,O=X.useSelector(B=>B.appDetails?.details?.storeList),L=X.useSelector(B=>B.appDetails?.details?.userList??[]),z=m.useMemo(()=>Mi(O),[O]),ae=m.useMemo(()=>A.map(B=>B.name).filter(Boolean),[A]),W=m.useMemo(()=>Array.isArray(h)?h:Array.isArray(h?.steps)?h.steps:[],[h]),j=m.useMemo(()=>S0(b),[b]),K=b?.id??b?.userId??null,P=X.useSelector(B=>{const ne=B.complaintType?.selected,ge=Array.isArray(ne?.accesses)?ne.accesses.map(Ne=>Ne?.role?.id??Ne?.role?.roleId??Ne?.roleId).map(Number).filter(Number.isFinite):[];return ge.length?ge:(Array.isArray(ne?.roleIds)?ne.roleIds:Array.isArray(ne?.roles)?ne.roles:[]).map(Ne=>Number(Ne?.id??Ne?.roleId??Ne?.role_id??Ne)).filter(Ne=>Number.isFinite(Ne))}),Q=X.useSelector(B=>{const ne=B.complaintType?.selected;return ne?.isActive!=null?!!ne.isActive:ne?.active!=null?!!ne.active:!0}),[F,x]=m.useState({complaintTypeId:null,status:[]}),[G,ee]=m.useState({complaintTypeId:null,direction:gi}),[T,M]=m.useState({complaintTypeId:null,level:[]}),[q,R]=m.useState({complaintTypeId:null,value:"All",explicitlySelected:!1}),[w,$]=m.useState(""),[k,V]=m.useState(""),[E,U]=m.useState(1),[C,Y]=m.useState(dg),[te,oe]=m.useState([]),[me,Z]=m.useState({}),[re,pe]=m.useState(!1),[se,Ae]=m.useState(null),[Se,Ee]=m.useState([]),[yt,He]=m.useState(!1),[Xe,ln]=m.useState({complaintTypeId:null,field:"updated",preset:"",from:"",to:""}),ft=String(Xe.complaintTypeId)===String(i)&&Xe.preset?Xe:null,Qn=m.useMemo(()=>i0(ft),[ft]);m.useEffect(()=>{const B=setTimeout(()=>{V(w.trim()),U(1)},350);return()=>clearTimeout(B)},[w]);const cn=String(F.complaintTypeId)===String(i)?F.status:qc,dn=String(G.complaintTypeId)===String(i)?G.direction:gi,I=String(T.complaintTypeId)===String(i)?T.level:qc,ie=String(q.complaintTypeId)===String(i)?q.value:"All",ue=String(q.complaintTypeId)===String(i)&&q.explicitlySelected,fe=m.useCallback(B=>{$(B),U(1)},[]),Me=(B,ne="success")=>{const ge=`${Date.now()}-${Math.random()}`;Ee(we=>[...we,{id:ge,message:B,type:ne}])},Kr=B=>Ee(ne=>ne.filter(ge=>ge.id!==B));m.useEffect(()=>{!i||s||(wi(i),n(`/complaintmanagement/${i}`,{replace:!0}))},[i,n,s]),m.useEffect(()=>{if(!i||!s)return;wi(i),t(_t(i)),t(El()),t(Fl()),t(Zh());const B=t(Qt(i)),ne=t(Ar(i)),ge=t(Je(i)),we=t(Ve(i)),Ne=t(ot(i));return we.unwrap().then(ke=>oe(vi(ke))).catch(()=>oe([])),()=>{B.abort?.(),ne.abort?.(),ge.abort?.(),we.abort?.(),Ne.abort?.()}},[i,t,s]),m.useEffect(()=>{if(!i||!s)return;const B=t(gr({complaintTypeId:i,page:E,limit:C,status:cn,sort:dn===Ai?"createdAt":"-createdAt",assignmentFilter:ue?ie:void 0,escalationTo:I,...Qn,search:k}));return()=>B.abort?.()},[i,K,Qn,k,t,ue,C,E,s,ie,dn,I,cn]);const Cy=P.some(B=>j.includes(B)),Dt=m.useMemo(()=>p!=null&&i!=null&&String(p)!==String(i)?[]:c.map(ne=>({...xi(Ni(ne,A,W),z),_fields:ne?.formField||[]})),[i,c,p,A,W,z]),wd=m.useMemo(()=>{const B=new Set;return Dt.forEach(ne=>{ne.roleId!=null&&B.add(String(ne.roleId));const ge=W.find(we=>String(we.id)===String(ne.currentStepId));(Array.isArray(ge?.roleIds)?ge.roleIds:[]).forEach(we=>B.add(String(we)))}),[...B]},[Dt,W]);m.useEffect(()=>{wd.forEach(B=>{!g.usersByRoleId?.[B]&&!g.loadingByRoleId?.[B]&&!g.errorByRoleId?.[B]&&t(Lt(B))})},[t,wd,g.errorByRoleId,g.loadingByRoleId,g.usersByRoleId]);const Ny=m.useMemo(()=>[...new Set(W.map((B,ne)=>Number(B.levelNo??ne+1)))].sort((B,ne)=>B-ne),[W]),_y=N,Us=m.useMemo(()=>_i(Dt,te).filter(B=>zc(B,W,j,K)),[Dt,te,W,j,K]),Ey=bi(Us),Cd=B=>{const ne=B.assignedToUserId;return ne==null||ne===""?0:String(ne)===String(K)?1:2},Xn=Dt.map(({_fields:B,...ne})=>ne).sort((B,ne)=>Cd(B)-Cd(ne)),$s=m.useMemo(()=>m0(Us,Dt),[Us,Dt]),Ty=$s.every(B=>Object.prototype.hasOwnProperty.call(me,B));m.useEffect(()=>{const B=$s.filter(ge=>!Object.prototype.hasOwnProperty.call(me,ge));if(!B.length)return;let ne=!1;return Promise.all(B.map(async ge=>{try{const we=await t(Pn({params:{path:ge}})).unwrap();return[ge,we]}catch{return[ge,""]}})).then(ge=>{ne||Z(we=>({...we,...Object.fromEntries(ge)}))}),()=>{ne=!0}},[$s,me,t]);const Qr=mg(S,E,C,Xn.length),Nd=!!(i&&!f&&(!Xn.length&&(d||!u)||Xn.length>0&&!Ty)),Ly=B=>{U(1),x({complaintTypeId:i,status:Hc(B)})},Iy=B=>{B>=1&&B<=Qr.totalPages&&B!==E&&U(B)},Fy=B=>{const ne=Number(B);!Number.isFinite(ne)||ne<=0||ne===C||(Y(ne),U(1))},ky=B=>{U(1),ee({complaintTypeId:i,direction:B})},Oy=B=>{U(1),M({complaintTypeId:i,level:Hc(B,!0)})},Dy=B=>{U(1),R({complaintTypeId:i,value:{all:"All",mine:"AssignToMe",other:"AssignToOther",unassigned:"Unassigned",All:"All",AssignToMe:"AssignToMe",AssignToOther:"AssignToOther",Unassigned:"Unassigned"}[B]??"All",explicitlySelected:!0})},My=B=>{U(1),ln({complaintTypeId:i,...B}),He(!1)},xy=()=>{U(1),ln({complaintTypeId:null,field:"updated",preset:"",from:"",to:""}),He(!1)},Py=()=>{i&&n(`/complaintmanagement/new/${i}`)},By=B=>{if(B?.id==null||!i)return;const ne=r.pathname.startsWith("/querymanagement")?"querymanagement":"complaintmanagement";n(`/${ne}/${i}/details/${B.id}`)},_d=B=>{const ne=W.find(ge=>String(ge.id)===String(B?.currentStepId));return!ne||Qc(ne,j,K)},Uy=async(B,ne)=>{if(B?.id==null||ne==null||y!=null||B.isClosed||String(B.assignedToUserId)===String(ne))return;if(!_d(B)){Me("Only users in the current level can assign this complaint.","error");return}if(!(B.assignedToUserId!=null&&B.assignedToUserId!==""&&String(B.assignedToUserId)===String(K))&&String(ne)!==String(K)){Me("Please assign this complaint to yourself first. Then you can assign it to others.","error");return}try{await t(Et({id:B.id,assignedToUserId:ne})).unwrap(),Me("Complaint assigned successfully","success")}catch(we){Me(we?.message??"Failed to assign complaint","error")}},$y=B=>{const ne=W.find(ke=>String(ke.id)===String(B?.currentStepId)),ge=new Set([String(B.roleId),...Array.isArray(ne?.roleIds)?ne.roleIds.map(String):[]]),we=new Set(Kc(ne).map(String)),Ne=new Map;return[...[...ge].flatMap(ke=>g.usersByRoleId?.[ke]??[]),...L.filter(ke=>we.has(String(ke?.id??ke?.userId)))].forEach(ke=>{const bt=String(ke?.id??ke?.userId);Ne.has(bt)||Ne.set(bt,ke)}),[...Ne.values()]},jy=B=>({roleUsers:$y(B),assignmentLoading:!!g.loadingByRoleId?.[String(B.roleId)],assignmentError:g.errorByRoleId?.[String(B.roleId)]??null,assignmentSaving:y!=null,currentUserId:K,canAssign:_d(B),onAssign:Uy,onRetryUsers:ne=>t(Lt(ne)),attachmentUrlMap:me});return{complaintTypeId:i,canCreateComplaint:Cy,isComplaintTypeActive:Q,statusNames:ae,selectedStatus:cn,selectedCreatedAtSort:dn,selectedLevel:I,selectedAssignment:ie,workflowLevels:Ny,canFilterByLevelAndAssignment:_y,isDownloadingReport:re,search:w,onSearchChange:fe,onStatusChange:Ly,onCreatedAtSortChange:ky,onLevelChange:Oy,onAssignmentChange:Dy,dateFilter:ft,hasDateFilter:!!ft,isDateFilterOpen:yt,onOpenDateFilter:()=>He(!0),onCloseDateFilter:()=>He(!1),onApplyDateFilter:My,onResetDateFilter:xy,onNewComplaint:Py,onDownloadReport:async()=>{if(!(!i||re)){pe(!0),Ae(null);try{const ne=(await v0({complaintTypeId:i,status:cn,dateParams:Qn,sort:dn===Ai?"createdAt":"-createdAt",assignmentFilter:ue?ie:void 0,escalationTo:I,search:k})).map(un=>({...xi(Ni(un,A,W),z),_fields:un?.formField||[]})),ge=_i(ne,te).filter(un=>zc(un,W,j,K)),we=bi(ge).filter(un=>!wg(un,ne,zn)),Ne=new Blob([Cg(we,ne)],{type:"text/csv;charset=utf-8;"}),ke=URL.createObjectURL(Ne),bt=document.createElement("a");bt.href=ke,bt.download=`complaints-report-${i}-${Date.now()}.csv`,document.body.appendChild(bt),bt.click(),document.body.removeChild(bt),URL.revokeObjectURL(ke)}catch(B){Ae(B?.response?.data?.message??B?.message??"Failed to download report")}finally{pe(!1)}}},error:f,downloadError:se,showLoading:Nd,toasts:Se,onDismissToast:Kr,tableProps:{scrollFields:Ey.filter(B=>B.key!=="actions"),stickyFields:[b0],tableRows:Xn,fieldLabel:e,getCellContext:jy,onOpenComplaint:By,page:E,itemsPerPage:C},paginationProps:{currentPage:E,totalItems:Qr.totalItems,itemsPerPage:C,onPageChange:Iy,onItemsPerPageChange:Fy,selectOptions:ug,totalPages:Qr.totalPages,disabled:Nd,hasRows:!!(Qr.totalItems>0||Xn.length||E>1)}}}const C0=[{value:"All",label:"All Assignments"},{value:"AssignToMe",label:"Assign to Me"},{value:"AssignToOther",label:"Assign to Others"},{value:"Unassigned",label:"Unassigned"}];function N0({onHeaderActionsChange:e}){const t=w0(),n=t.tableProps.tableRows,r=m.useRef({});m.useEffect(()=>{r.current={onStatusChange:t.onStatusChange,onCreatedAtSortChange:t.onCreatedAtSortChange,onLevelChange:t.onLevelChange,onAssignmentChange:t.onAssignmentChange,onNewComplaint:t.onNewComplaint,onOpenDateFilter:t.onOpenDateFilter,onDownloadReport:t.onDownloadReport}});const s=m.useMemo(()=>({onStatusChange:(...o)=>r.current.onStatusChange?.(...o),onCreatedAtSortChange:(...o)=>r.current.onCreatedAtSortChange?.(...o),onLevelChange:(...o)=>r.current.onLevelChange?.(...o),onAssignmentChange:(...o)=>r.current.onAssignmentChange?.(...o),onNewComplaint:(...o)=>r.current.onNewComplaint?.(...o),onOpenDateFilter:(...o)=>r.current.onOpenDateFilter?.(...o),onDownloadReport:(...o)=>r.current.onDownloadReport?.(...o)}),[]);return m.useEffect(()=>{e?.({search:t.search,onSearchChange:t.onSearchChange,selectedStatus:t.selectedStatus,statusNames:t.statusNames,selectedCreatedAtSort:t.selectedCreatedAtSort,selectedLevel:t.selectedLevel,selectedAssignment:t.selectedAssignment,assignmentOptions:C0,workflowLevels:t.workflowLevels,showLevelAndAssignmentFilters:t.canFilterByLevelAndAssignment,onStatusChange:s.onStatusChange,onCreatedAtSortChange:s.onCreatedAtSortChange,onLevelChange:s.onLevelChange,onAssignmentChange:s.onAssignmentChange,onNewComplaint:s.onNewComplaint,onOpenDateFilter:s.onOpenDateFilter,hasDateFilter:t.hasDateFilter,onDownloadReport:s.onDownloadReport,isDownloadingReport:t.isDownloadingReport,complaintTypeId:t.complaintTypeId,canCreateComplaint:t.canCreateComplaint,isComplaintTypeActive:t.isComplaintTypeActive})},[e,s,t.search,t.onSearchChange,t.selectedStatus,t.statusNames,t.selectedCreatedAtSort,t.selectedLevel,t.selectedAssignment,t.workflowLevels,t.canFilterByLevelAndAssignment,t.hasDateFilter,t.isDownloadingReport,t.complaintTypeId,t.canCreateComplaint,t.isComplaintTypeActive]),m.useEffect(()=>()=>e?.(null),[e]),a.jsxs("section",{className:"ca-complaint-table","aria-label":"Complaint records",children:[t.error?a.jsx("p",{className:"ca-body",children:t.error}):null,t.downloadError?a.jsx("p",{className:"ca-body",children:t.downloadError}):null,t.showLoading?a.jsx(it,{text:"Loading complaints"}):a.jsx(Wc,{...t.tableProps,tableRows:n}),t.paginationProps.hasRows?a.jsx(Uc,{...t.paginationProps}):null,a.jsx(u0,{open:t.isDateFilterOpen,initial:t.dateFilter,onApply:t.onApplyDateFilter,onReset:t.onResetDateFilter,onClose:t.onCloseDateFilter}),a.jsx(Is,{toasts:t.toasts,onDismiss:t.onDismissToast})]})}const Vr=({onHeaderActionsChange:e})=>a.jsxs("main",{className:"ca-query-management-page",children:[a.jsx(r0,{}),a.jsx(N0,{onHeaderActionsChange:e})]}),_0={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",TIME:"Time"};function ks(e){return typeof e=="string"?e:e?.label??""}function E0(e=[]){const t=[...e].sort((n,r)=>(n.displayOrder??0)-(r.displayOrder??0));return t.map(n=>{const r=n.fieldName??n.fieldLabel??n.label??"",s=n.fieldKey??String(n.id),o=Be({fieldKey:s,label:r}),l=o?"Office":r,i=n?.options?.values??[],c=t.find(d=>d.id===n.dependsOnFieldId||n.dependsOnFieldKey&&d.fieldKey===n.dependsOnFieldKey);return{id:n.id,label:l,fieldKey:ce({fieldKey:s,label:r})?"status":o?"storeIdCustom":s,fieldType:Ka(n.fieldType,_0,n.fieldKey),required:!!n.required,dependsOn:n.dependsOnField?.fieldName??c?.fieldName??n.dependsOn??"",options:i.map(ks).filter(Boolean),parentMappings:Object.fromEntries(i.map(d=>{const f=ks(d),u=L0(d);return!f||!u?null:[f,I0(u,c?.options?.values??[])]}).filter(Boolean))}})}function Wr(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 T0(e){if(ce(e))return"status";if(Be(e))return"storeIdCustom";const t=String(e.fieldKey||"").trim();return t&&!/\s/.test(t)?t:Wr(e.label||t)}function L0(e){return!e||typeof e!="object"?"":e.dependsOnValue??e.parent??""}function I0(e,t=[]){if(!e)return"";const n=t.map(ks).filter(Boolean),r=n.find(o=>o===e);return r||n.find(o=>Wr(o)===e||Wr(o)===Wr(e))||e}function F0(e,t=[],n={}){const r=e.options||[],s=String(e.dependsOn||"").trim();if(!s)return r;const o=t.find(d=>String(d.label||"").trim()===s||String(d.fieldKey||"").trim()===s);if(!o)return r;const l=e.parentMappings||{};if(!r.some(d=>!!l[d]))return r;const c=String(n[be(o)]||"").trim();return c?r.filter(d=>String(l[d]||"")===c):r}function Os(e){return sn(e)==="checkbox"}function k0(e,t){const n=String(t||"").trim();return n&&e.find(r=>String(r.label||"").trim()===n||String(r.fieldKey||"").trim()===n)||null}function Xc(e,t){const n=String(t?.label||"").trim();return n&&e.find(r=>String(r.dependsOn||"").trim()===n)||null}function O0(e,t,n){const r={},s=Array.isArray(t)?t[0]:t;if(!s)return r;let o=e,l=s;for(;o?.dependsOn;){const i=k0(n,o.dependsOn);if(!i)break;const c=(o.parentMappings||{})[l];if(!c)break;r[be(i)]=Os(i)?[c]:c,o=i,l=c}for(o=e,l=s;o;){const i=Xc(n,o);if(!i)break;const c=i.parentMappings||{},d=Object.keys(c).find(f=>c[f]===l);if(!d)break;r[be(i)]=Os(i)?[d]:d,o=i,l=d}return r}function Ds(e){return Array.isArray(e)?e.filter(t=>t!=null&&t!==""):e==null||e===""?[]:[e]}function D0(e,t,n,r,s){const o={},l=Ds(n);let i=Ds(t).filter(d=>!l.includes(d)),c=e;for(;c&&i.length;){const d=Xc(r,c);if(!d)break;const f=d.parentMappings||{},u=be(d),p=Ds(o[u]??s[u]),S=p.filter(y=>i.includes(f[y]));if(!S.length)break;const A=p.filter(y=>!S.includes(y));o[u]=Os(d)?A:A[0]??"",i=S,c=d}return o}function be(e){return String(e.fieldKey||e.id||e.label)}function sn(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==="dropdown"||t==="select"||t==="custom")&&e.options.length?"select":"text"}function Yc(e){return`new-query-${e.id??be(e)}`}function Gc(e){if(ce(e))return(e.options||[]).find(r=>String(r).trim().toLowerCase()==="open")||"Open";const t=sn(e);return t==="checkbox"||t==="file"?[]:""}function Jc(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 Zc(e,t){if(e==null)return t?.name||"";if(typeof e=="string"||typeof e=="number")return String(e);const n=e.file&&typeof e.file=="object"?e.file:e,r=n.path||n.id||t?.name||"",s=n.originalName||t?.name||"";return s&&r&&String(r)!==s?`${r}::${s}`:r}async function M0(e,t,n){const r=sn(t);if(r==="file"&&typeof File<"u"&&n instanceof File){const s=await e(xn({file:n,folder:"complaints"})).unwrap();return Zc(s,n)}return r==="file"&&Array.isArray(n)?Promise.all(n.map(async s=>{if(typeof File<"u"&&s instanceof File){const o=await e(xn({file:s,folder:"complaints"})).unwrap();return Zc(o,s)}return s})):Jc(n)}function x0(e,t=[]){if(e==null||e==="")return"";const n=t.find(s=>String(s?.id??s?._id)===String(e)),r=n?.name??n?.storeName??n?.label;if(!r||!String(r).trim())throw new Error("Unable to resolve the selected Office name. Please select an Office again.");return String(r).trim()}async function P0(e=[],t={},n,r=[]){const s={};for(const o of e){const l=T0(o);if(!l)continue;const i=t[be(o)];s[l]=Be(o)?x0(i,r):await M0(n,o,i)}return s}function Rc(e){return Array.isArray(e)?e.length===0:typeof File<"u"&&e instanceof File?!1:e==null||String(e).trim()===""}function B0(e){return/^\d+$/.test(String(e).trim())}function U0(e=[],t={}){for(const n of e){const r=sn(n),s=t[be(n)],o=n.label||"This field";if(n.required&&Rc(s))return`${o} is required.`;if(!Rc(s)&&r==="number"&&!B0(s))return`${o} must be a valid number.`}return""}function $0({field:e,value:t,onChange:n,storeList:r,options:s=e.options}){const{fieldLabel:o}=ut(),l=sn(e),i=Yc(e),c=ce(e);if(Be(e)&&Array.isArray(r))return a.jsx(Lc,{id:i,name:be(e),required:e.required,storeList:r,value:t,onChange:n});if(l==="radio")return a.jsx("div",{className:"review-options review-options--inline",children:s.map(d=>a.jsxs("label",{className:"review-option",htmlFor:`${i}-${d}`,children:[a.jsx("input",{id:`${i}-${d}`,name:be(e),type:"radio",value:d,checked:t===d,onChange:f=>n(f.target.value),required:e.required,disabled:c}),a.jsx("span",{children:d})]},d))});if(l==="checkbox"){const d=Array.isArray(t)?t:[];return a.jsx("div",{className:"review-options review-options--inline",children:s.map(f=>a.jsxs("label",{className:"review-option",htmlFor:`${i}-${f}`,children:[a.jsx("input",{id:`${i}-${f}`,name:`${be(e)}[]`,type:"checkbox",value:f,checked:d.includes(f),onChange:u=>n(u.target.checked?[...d,f]:d.filter(p=>p!==f))}),a.jsx("span",{children:f})]},f))})}if(l==="textarea")return a.jsx("textarea",{id:i,name:be(e),className:"review-control review-control--textarea",value:t,onChange:d=>n(d.target.value),required:e.required,disabled:c});if(l==="file")return a.jsx(Ns,{id:i,name:be(e),value:t,onChange:n,multiple:!0,required:e.required,disabled:c});if(l==="number")return a.jsx("input",{id:i,name:be(e),className:"review-control",type:"number",inputMode:"numeric",value:t,onChange:d=>n(String(d.target.value).replace(/[^\d]/g,"")),onKeyDown:d=>{(d.key==="e"||d.key==="E"||d.key==="+"||d.key==="-"||d.key===".")&&d.preventDefault()},required:e.required,disabled:c});if(l==="select"){const d=(s||[]).includes(t)||!c||!t?s:[t,...s];return a.jsxs("select",{id:i,name:be(e),className:"review-control",value:t,onChange:f=>n(f.target.value),required:e.required,disabled:c,children:[c?null:a.jsxs("option",{value:"",children:["Select ",o(e)]}),d.map(f=>a.jsx("option",{value:f,children:f},f))]})}return a.jsx("input",{id:i,name:be(e),className:"review-control",type:l,value:t,onChange:d=>n(d.target.value),required:e.required,disabled:c})}function ed({storeList:e}={}){const{fieldLabel:t}=ut(),n=X.useDispatch(),r=Ge(),s=Ke(),{complaintTypeId:o}=mt(),l=X.useSelector(k=>k.appDetails?.details?.storeList),i=Array.isArray(e)?e:Array.isArray(l)?l:[],c=Number(o),d=Number.isFinite(c)&&c>0,f=new URLSearchParams(s.search).get("access")==="public",[u,p]=m.useState([]),[S,A]=m.useState({}),[y,g]=m.useState(!0),[h,b]=m.useState(!1),[_,N]=m.useState(""),[O,L]=m.useState(""),[z,ae]=m.useState([]),W=m.useCallback((k,V="success")=>{ae(E=>[...E,{id:Date.now()+Math.random(),message:k,type:V}])},[]),j=m.useCallback(k=>{ae(V=>V.filter(E=>E.id!==k))},[]),[K,P]=m.useState(!1),[Q,F]=m.useState(!f),[x,G]=m.useState(""),[ee,T]=m.useState(""),M=X.useSelector(k=>{const V=k.complaintType??{},U=(Array.isArray(V.complaintList)?V.complaintList:[]).find(C=>String(C?.id??C?._id)===String(o))??(String(V.selected?.id??V.selected?._id)===String(o)?V.selected:null);return String(U?.name??U?.code??"").trim()}),q=M||ee;m.useEffect(()=>{if(!f||!d)return;let k=!1;return n(ot(c)).unwrap().then(V=>{const E=V?.data?.data??V?.data??V,C=String(E?.visibilityType??E?.accessType??"").toUpperCase()==="PUBLIC_LINK"&&E?.isActive!==!1&&E?.active!==!1;k||(F(C),C||N("This form is not available through a public link."))}).catch(()=>{k||(F(!1),N("This public form could not be verified."))}).finally(()=>{k||P(!0)}),()=>{k=!0}},[n,d,f,c]),m.useEffect(()=>{if(!d||M)return;let k=!1;return n(ot(c)).unwrap().then(V=>{if(k)return;const E=V?.data??V;T(String(E?.name??E?.code??"").trim())}).catch(()=>{}),()=>{k=!0}},[c,M,n,d]),m.useEffect(()=>{if(!d||f&&(!K||!Q))return;let k=!1;return n(Ve(c)).unwrap().then(V=>{if(k)return;const E=E0(Array.isArray(V?.data)?V.data:V);p(E),A(Object.fromEntries(E.map(U=>[be(U),Gc(U)])))}).catch(V=>{k||N(typeof V=="string"?V:V?.message||"Failed to load form fields.")}).finally(()=>{k||g(!1)}),()=>{k=!0}},[c,n,d,f,Q,K]);const R=m.useMemo(()=>u.length>0,[u]),w=async k=>{if(k.preventDefault(),!d){N("A valid complaint type is required.");return}N(""),L(""),b(!0);const V=U0(u,S);if(V){W(V,"error"),b(!1);return}try{const E=await P0(u,S,n,i),U=u.findIndex(ce),C=u[U+1],te=(C?[].concat(Jc(S[be(C)])).join(", ").trim():"")||q;if(!te){W("Title is required. Please fill the first field.","error");return}await n(br({complaintTypeId:c,title:te,fieldValues:E})).unwrap(),W("Complaint submitted successfully"),await new Promise(me=>{setTimeout(me,1200)}),s.key!=="default"?r(-1):r(`/complaintmanagement/${c}/all`)}catch(E){W(typeof E=="string"?E:E?.message||"Failed to submit complaint.","error")}finally{b(!1)}},$=k=>{const V=F0(k,u,S);return a.jsxs("div",{className:`review-question${["textarea","radio","checkbox"].includes(sn(k))?" review-question--wide":""}`,children:[a.jsxs("label",{className:"review-label",htmlFor:Yc(k),children:[t(k)||"Untitled field",k.required?a.jsx("span",{className:"review-required",children:"*"}):null]}),a.jsx($0,{storeList:i,field:k,options:V,value:S[be(k)]??Gc(k),onChange:E=>{ce(k)||A(U=>{const C=D0(k,U[be(k)],E,u,U),Y=O0(k,E,u);return{...U,[be(k)]:E,...C,...Y}})}})]},k.id??be(k))};return a.jsxs("main",{className:"ca-query-management-page",children:[a.jsxs("section",{className:"ca-query-details","aria-labelledby":"new-query-title",children:[a.jsx("div",{className:"ca-query-details__heading",children:a.jsx("div",{className:"ca-query-details__title-row",children:a.jsx("h1",{id:"new-query-title",className:"ca-query-details__title",children:"New Complaint"})})}),_||!d?a.jsx("div",{className:"ca-validation-toast",role:"alert",children:_||"A valid complaint type is required."}):null,(y||f&&!K)&&d?a.jsx(it,{text:f?"Verifying public form":"Loading form fields"}):null,d&&!y&&(!f||K&&Q)&&R?a.jsxs("form",{className:"review-form-card",onSubmit:w,children:[a.jsx("div",{className:"review-form-grid",children:u.map(k=>a.jsx(m.Fragment,{children:ce(k)?null:$(k)},k.id??be(k)))}),a.jsx("div",{className:"ca-new-query__actions",children:a.jsx(Ce,{type:"submit",disabled:h||f&&!Q,children:h?"Submitting...":"Submit Complaint"})}),O?a.jsx("p",{className:"ca-body",children:O}):null]}):null]}),a.jsx(Is,{toasts:z,onDismiss:j})]})}const qr=[];function j0(e,t=200,n=null){const r=X.useDispatch(),s=X.useSelector(g=>g.appDetails?.details?.userList)??qr,o=X.useSelector(g=>g.status?.list)??qr,l=X.useSelector(g=>g.workflow?.workflowSteps),i=Array.isArray(l)?l:Array.isArray(l?.steps)?l.steps:Array.isArray(l?.data)?l.data:qr,[c,d]=m.useState({key:null,complaints:[],error:null}),f=e==null||e===""?null:`${e}:${t}`;m.useEffect(()=>{if(e==null||e==="")return;const g=r(Qt(e)),h=r(Je(e));return()=>{g.abort?.(),h.abort?.()}},[e,r]),m.useEffect(()=>{if(e==null||e==="")return;let g=!1;const h=`${e}:${t}`;return he.post(Ba,Ua({complaintTypeId:e,page:1,limit:t})).then(b=>{g||d({key:h,complaints:Ei(b.data),error:null})}).catch(b=>{g||d({key:h,complaints:[],error:b?.response?.data?.message??b?.message??"Failed to load complaints"})}),()=>{g=!0}},[e,t]);const u=c.key===f,p=u?c.complaints:qr,S=u?c.error:null,A=f!==null&&!u;return{rows:m.useMemo(()=>{const g={tatMinutes:Number(n)||0,steps:i},h=_=>{const N=new Date(_?.createdAt??_?.submittedAt??_?.date??0).getTime();return Number.isNaN(N)?0:N},b=_=>Number(_?.complaintId??_?.id)||0;return[...p].sort((_,N)=>h(N)-h(_)||b(N)-b(_)).map(_=>Di(_,o,s,g))},[p,o,s,n,i]),isLoading:A,error:S}}function V0(){const e=X.useDispatch(),t=Ge(),n=Ke(),{complaintTypeId:r}=mt(),s=X.useSelector(d=>{const f=d.complaintType??{};return(Array.isArray(f.complaintList)?f.complaintList:[]).find(p=>String(p?.id??p?._id)===String(r))??(String(f.selected?.id??f.selected?._id)===String(r)?f.selected:null)}),{rows:o,isLoading:l,error:i}=j0(r,void 0,s?.tatMinutes),c=m.useCallback(d=>{t(`/complaintmanagement/${r}/details/${d.id}`,{state:{from:n.pathname}})},[r,n.pathname,t]);return m.useEffect(()=>{!s&&r&&e(ot(r))},[r,e,s]),a.jsx("main",{className:"ca-query-management-page",children:a.jsxs("section",{className:"ca-filler-list",children:[a.jsxs("div",{className:"ca-query-details__heading",children:[a.jsx("div",{className:"ca-query-details__title-row",style:{minWidth:0},children:a.jsxs("div",{style:{minWidth:0},children:[a.jsxs("h1",{className:"ca-query-details__title",children:[s?.name??s?.title??"Complaints",o.length?` (${o.length})`:""]}),a.jsx(Ra,{text:s?.description,forceLayout:!0})]})}),a.jsx(Ce,{startIcon:a.jsx(qi,{size:14}),onClick:()=>t(`/complaintmanagement/new/${r}`),disabled:s?.isActive===!1||s?.active===!1,children:"Add Complaint"})]}),i?a.jsx("p",{className:"ca-body",children:i}):null,l?a.jsx(it,{text:"Loading complaints"}):null,!l&&!i&&!o.length?a.jsx(Or,{text:"Nothing here yet",illustrated:!0}):null,l?null:o.map(d=>a.jsx(zi,{row:d,onClick:c},d.id))]})})}function W0(e){return([e?.userAssignments,e?.users,e?.userIds,e?.assignedUsers].find(Array.isArray)??[]).map(n=>Number(n&&typeof n=="object"?n.userId??n.id??n.user?.id:n)).filter(Number.isFinite)}function q0(e,t=[],n=null){return(Array.isArray(e?.roleIds)?e.roleIds.map(Number):[]).some(s=>t.includes(s))?!0:n!=null&&W0(e).includes(Number(n))}function Ms(e){return Xa(e)||"—"}function td(e){return e==null||e===""?"—":Array.isArray(e)?e.map(td).join(", "):typeof e=="object"?e.name??e.label??JSON.stringify(e):String(e)}function Hr(e){const t=typeof e=="object"&&e!==null?e.userId??e.user_id??e.id??e.value??e.user?.id:e;return t==null||t===""?null:String(t)}function H0(e){const t=[e?.roleIds,e?.roles,e?.roleId!=null?[e.roleId]:[]].flatMap(n=>Array.isArray(n)?n:n==null?[]:[n]);return[...new Set(t.map(n=>Hr(typeof n=="object"&&n!==null?{id:n.id??n.roleId??n.role_id??n.value??n.role?.id}:n)).filter(Boolean))]}function z0(e){return[e?.userAssignments,e?.users,e?.userIds,e?.assignedUsers].flatMap(n=>Array.isArray(n)?n:n==null?[]:[n]).filter(n=>n&&typeof n=="object")}function K0(e){const t=[e?.userAssignments,e?.users,e?.userIds,e?.assignedUsers].flatMap(n=>Array.isArray(n)?n:n==null?[]:[n]);return new Set(t.map(Hr).filter(Boolean))}function xs(e){return String(e?.name??e?.userName??e?.fullName??[e?.firstName,e?.lastName].filter(Boolean).join(" ")??e?.email??"").trim()}function Q0({assignedToUserId:e,assignedToUserName:t,currentUserId:n,users:r,saving:s,loading:o,error:l,onSelect:i,onRetry:c}){const[d,f]=m.useState(!1),u=m.useRef(null),p=m.useRef(null),[S,A]=m.useState(null),y=e!=null&&String(e)===String(n),g=t||(y?"Assign to Me":"Assign");return m.useLayoutEffect(()=>{if(!d)return;const h=()=>{const b=u.current,_=p.current;if(!b||!_)return;const N=b.getBoundingClientRect(),O=_.getBoundingClientRect(),L=6,z=12,W=N.bottom+L+O.height>window.innerHeight-z&&N.top-L-O.height>=z?N.top-O.height-L:Math.min(N.bottom+L,window.innerHeight-O.height-z),j=Math.max(z,Math.min(N.left,window.innerWidth-O.width-z));A({top:W,left:j,visibility:"visible"})};return h(),window.addEventListener("resize",h),window.addEventListener("scroll",h,!0),()=>{window.removeEventListener("resize",h),window.removeEventListener("scroll",h,!0)}},[d,r.length,o,s,l]),m.useEffect(()=>{if(!d)return;const h=b=>{b.target.closest?.("[data-details-assignment-trigger], [data-details-assignment-menu]")||f(!1)};return document.addEventListener("pointerdown",h),()=>document.removeEventListener("pointerdown",h)},[d]),a.jsxs("div",{className:"ca-complaint-details__assignment-control",children:[a.jsxs("button",{ref:u,type:"button",className:"ca-complaint-table__assignment-trigger ca-complaint-details__assignment-trigger","data-details-assignment-trigger":"true",onClick:()=>f(h=>!h),"aria-expanded":d,"aria-label":"Assigned To",children:[a.jsx("span",{className:"ca-complaint-table__assignment-label",children:g}),a.jsx(Rt,{size:14,"aria-hidden":"true"})]}),d&&typeof document<"u"?Xr.createPortal(a.jsxs("div",{ref:p,className:"ca-complaint-table__assignment-menu","data-details-assignment-menu":"true",role:"menu",style:S||{visibility:"hidden"},onClick:h=>h.stopPropagation(),children:[a.jsx("button",{type:"button",className:"ca-complaint-table__assignment-self",role:"menuitem",disabled:y||s,onClick:()=>{f(!1),i(n)},children:a.jsx("strong",{children:"Assign to me"})}),o?a.jsx("span",{className:"ca-complaint-table__assignment-state",children:"Loading users…"}):null,s?a.jsx("span",{className:"ca-complaint-table__assignment-state",children:"Saving assignment…"}):null,l?a.jsxs("div",{className:"ca-complaint-table__assignment-error",children:[a.jsx("span",{children:l}),a.jsx("button",{type:"button",onClick:c,children:"Retry"})]}):null,r.length?a.jsx("div",{className:"ca-complaint-table__assignment-others","aria-hidden":"true",children:"Others"}):null,r.filter(h=>String(h.id)!==String(n)).map(h=>a.jsxs("button",{type:"button",role:"menuitem",disabled:s||String(e)===String(h.id),onClick:()=>{f(!1),i(h.id)},children:[a.jsx("strong",{children:h.name||h.email||h.id}),h.email?a.jsx("span",{children:h.email}):null]},h.id))]}),document.body):null]})}function nd({label:e,value:t,fieldType:n,attachmentUrls:r}){const o=zn({fieldType:n},t)?an(t):[];return a.jsxs("div",{className:"ca-complaint-details__field",children:[a.jsx("span",{className:"ca-complaint-details__field-label",children:e||"Field"}),o.length?a.jsx("div",{className:"ca-complaint-details__attachments",children:o.map((l,i)=>{const c=Ot(l),d=r[c]||(typeof l=="string"&&/^https?:\/\//i.test(c)?c:""),f=Hn(l).split("/").pop();return d&&/\.(png|jpe?g|gif|webp|bmp|svg)(?:\?.*)?$/i.test(f)?a.jsx("a",{className:"ca-complaint-details__image-link",href:d,target:"_blank",rel:"noreferrer","aria-label":`View ${f}`,children:a.jsx("img",{src:d,alt:f})},`${c}-${i}`):d?a.jsx("a",{className:"ca-complaint-details__file",href:d,target:"_blank",rel:"noreferrer",children:f||"View attachment"},`${c}-${i}`):a.jsx("span",{className:"ca-complaint-details__file",children:f||"Attachment"},`${c}-${i}`)})}):a.jsx("span",{className:"ca-complaint-details__field-value",children:td(t)})]})}function X0({activities:e=[],fallbackRemarks:t=[],localRemarks:n=[],createdAt:r,isLoading:s,error:o,onRetry:l}){const i=m.useMemo(()=>{const d=[...e.length?e.map((u,p)=>{const S=u.action??u.activityType??u.type??"",A=u.description??u.remarks??u.remark??u.message??u.title??(typeof S=="string"?S:"")??"Complaint updated",y=/submit|created/i.test(`${S} ${A}`)?"created":"remark",g=[u.createdByFirstName,u.createdByLastName].filter(h=>h!=null&&String(h).trim()!=="").join(" ").trim();return{id:u.id??`${u.createdAt??u.timestamp??"activity"}-${p}`,type:y,text:A||"Complaint updated",author:u.createdByUserName||g||u.userName||u.actorName||u.createdBy?.name||u.user?.name,createdAt:u.createdAt??u.timestamp??u.occurredAt,fromLevelNo:u.fromLevelNo??u.oldLevelNo??u.fromLevel?.levelNo,toLevelNo:u.toLevelNo??u.newLevelNo??u.toLevel?.levelNo}}):[...t.map((u,p)=>({id:`${u.createdAt||"remark"}-${p}`,type:"remark",text:u.remark||"Complaint updated",author:u.createdByUserName,createdAt:u.createdAt,fromLevelNo:u.fromLevelNo,toLevelNo:u.toLevelNo}))],...n.map((u,p)=>({id:u.id??`local-${u.createdAt??p}`,type:"remark",text:u.remark||"Complaint updated",author:u.createdByUserName,createdAt:u.createdAt,fromLevelNo:u.fromLevelNo,toLevelNo:u.toLevelNo}))],f=d.some(u=>u.type==="created"||/complaint submitted/i.test(u.text));return r&&!f&&d.push({id:`created-${r}`,type:"created",text:"Complaint submitted",createdAt:r}),d.sort((u,p)=>new Date(p.createdAt||0)-new Date(u.createdAt||0))},[e,r,t,n]);return a.jsxs("aside",{className:"ca-complaint-details__activity","aria-label":"Activity log",children:[a.jsxs("div",{className:"ca-complaint-details__activity-heading",children:[a.jsx("h2",{children:"Activity log"}),a.jsx("span",{children:i.length})]}),s?a.jsx("p",{className:"ca-complaint-details__activity-empty",children:"Loading activity…"}):null,o?a.jsxs("div",{className:"ca-complaint-details__activity-empty",role:"alert",children:[a.jsx("p",{children:o}),a.jsx("button",{type:"button",onClick:l,children:"Retry"})]}):null,i.length?a.jsx("ol",{className:"ca-complaint-details__activity-list",children:i.map((c,d)=>a.jsxs("li",{className:"ca-complaint-details__activity-item",children:[a.jsx("span",{className:`ca-complaint-details__activity-icon ca-complaint-details__activity-icon--${c.type}`,"aria-hidden":"true",children:d===0?a.jsx(Pg,{size:14,strokeWidth:1.8}):a.jsx(xg,{size:14,strokeWidth:1.8})}),a.jsxs("div",{className:"ca-complaint-details__activity-content",children:[a.jsx("p",{children:c.text}),c.type==="remark"||c.author?a.jsxs(a.Fragment,{children:[c.fromLevelNo!=null||c.toLevelNo!=null?a.jsxs("span",{className:"ca-complaint-details__activity-levels",children:[c.fromLevelNo!=null?`L${c.fromLevelNo}`:"—"," → ",c.toLevelNo!=null?`L${c.toLevelNo}`:"—"]}):null,c.author?a.jsx("span",{className:"ca-complaint-details__activity-author",children:c.author}):null]}):null,a.jsx("time",{dateTime:c.createdAt,children:Ms(c.createdAt)})]})]},c.id))}):a.jsx("p",{className:"ca-complaint-details__activity-empty",children:"No activity yet"})]})}function Y0({complaintId:e,complaintTypeId:t}){const n=X.useDispatch(),{data:r,isLoading:s,error:o}=X.useSelector(I=>I.complaintsGetOne??{}),l=X.useSelector(I=>I.activityLog??{}),i=X.useSelector(I=>I.status?.list??[]),c=X.useSelector(I=>I.workflow?.workflowSteps),d=X.useSelector(I=>I.appDetails?.details?.currentUser),f=X.useSelector(I=>I.roleUsers??{}),u=X.useSelector(I=>I.appDetails?.details?.userList??[]),p=d?.id??d?.userId??null,{fieldLabel:S}=ut(),A=X.useSelector(I=>I.appDetails?.details?.storeList),y=m.useMemo(()=>Mi(A),[A]),g=I=>{const ie=I?.fieldName??I?.fieldKey??"Field";return S({...I,label:ie,fieldLabel:ie,fieldName:ie,key:I?.fieldKey})||ie},h=I=>typeof I=="string"&&y[I.trim()]?y[I.trim()]:I,{isLoading:b}=X.useSelector(I=>I.changeStatus??{}),[_,N]=m.useState({}),[O,L]=m.useState(null),[z,ae]=m.useState(null),[W,j]=m.useState(""),[K,P]=m.useState(!1),[Q,F]=m.useState([]),x=m.useCallback((I,ie="success")=>{F(ue=>[...ue,{id:Date.now()+Math.random(),message:I,type:ie}])},[]),G=m.useCallback(I=>{F(ie=>ie.filter(ue=>ue.id!==I))},[]),[ee,T]=m.useState(""),[M,q]=m.useState({});m.useEffect(()=>{if(!t)return;const I=n(Ve(t));return I.unwrap().then(ie=>{const ue={};vi(ie).forEach(fe=>{fe.hideForWorkflowStepId!=null&&fe.hideForWorkflowStepId!==""&&(ue[fe.key]=fe.hideForWorkflowStepId)}),q(ue)}).catch(()=>{}),()=>I.abort?.()},[t,n]);const R=m.useMemo(()=>Array.isArray(c)?c:Array.isArray(c?.steps)?c.steps:[],[c]);m.useEffect(()=>{n(cm()),n(gm());const I=n(Tt(e)),ie=n(It(e));return()=>{I.abort?.(),ie.abort?.()}},[e,n]),m.useEffect(()=>{if(!t)return;const I=n(Qt(t)),ie=n(Je(t));return()=>{I.abort?.(),ie.abort?.()}},[t,n]);const w=Array.isArray(r?.fieldValues)?r.fieldValues:[],$=m.useMemo(()=>{const I=new Set;return(Array.isArray(r?.fieldValues)?r.fieldValues:[]).forEach(ie=>{zn(ie?.formField,ie?.value)&&an(ie.value).forEach(ue=>{typeof ue=="string"&&I.add(Ot(ue))})}),[...I]},[r]);m.useEffect(()=>{const I=$.filter(ue=>!Object.prototype.hasOwnProperty.call(_,ue));if(!I.length)return;let ie=!1;return Promise.all(I.map(async ue=>{try{const fe=await n(Pn({params:{path:ue}})).unwrap();return[ue,fe]}catch{return[ue,""]}})).then(ue=>{ie||N(fe=>({...fe,...Object.fromEntries(ue)}))}),()=>{ie=!0}},[$,_,n]);const k=O??(r?.statusId==null?"":String(r.statusId)),V=z??(r?.currentStepId==null?"":String(r.currentStepId)),E=k!==(r?.statusId==null?"":String(r.statusId))||V!==(r?.currentStepId==null?"":String(r.currentStepId)),U=m.useMemo(()=>R.find(I=>String(I.id)===String(r?.currentStepId)),[r?.currentStepId,R]),C=U??r?.currentWorkflowStep,Y=m.useMemo(()=>H0(C),[C]);m.useEffect(()=>{Y.forEach(I=>{!f.usersByRoleId?.[I]&&!f.loadingByRoleId?.[I]&&!f.errorByRoleId?.[I]&&n(Lt(I))})},[Y,n,f.errorByRoleId,f.loadingByRoleId,f.usersByRoleId]);const te=m.useMemo(()=>{const I=K0(C),ie=[...Y.flatMap(fe=>f.usersByRoleId?.[fe]??[]),...z0(C),...u.filter(fe=>I.has(Hr(fe))),d,r?.assignedToUser],ue=new Map;return ie.forEach(fe=>{const Me=Hr(fe);if(!Me)return;const Kr=ue.get(Me);(!Kr||!xs(Kr)&&xs(fe))&&ue.set(Me,fe)}),[...ue.entries()].map(([fe,Me])=>({id:fe,name:xs(Me)||(fe===String(p)?"Assign to Me":""),email:String(Me?.email??Me?.userEmail??"").trim()}))},[Y,u,C,d,p,r?.assignedToUser,f.usersByRoleId]),oe=Y.some(I=>f.loadingByRoleId?.[I]),me=Y.map(I=>f.errorByRoleId?.[I]).find(Boolean),Z=d?.roles,re=m.useMemo(()=>(Array.isArray(Z)?Z:[]).map(I=>Number(I?.id??I?.roleId??I?.role_id??I)).filter(Number.isFinite),[Z]),pe=m.useMemo(()=>{if(!C)return!1;const I=Array.isArray(C.roleIds)&&C.roleIds.some(fe=>re.includes(Number(fe))),ie=Number(p),ue=[C.userAssignments,C.users,C.userIds,C.assignedUsers].filter(Array.isArray).flat().some(fe=>Number(fe?.userId??fe?.id??fe?.user?.id??fe)===ie);return I||ue},[C,p,re]),se=w.filter(I=>{const ie=I.formField?.fieldKey||I.formField?.fieldName,ue=I.formField?.hideForWorkflowStepId??M[ie];if(ue==null||ue==="")return!0;const fe=R.find(Me=>String(Me.id)===String(ue));return!fe||!q0(fe,re,p)}),Ae=!kr(r?.status?.name)&&p!=null&&(!U||pe),Se=!kr(r?.status?.name)&&p!=null&&String(r?.assignedToUserId)===String(p)&&(!U||pe),Ee=m.useMemo(()=>[...R].sort((I,ie)=>Number(I.levelNo??0)-Number(ie.levelNo??0)),[R]),yt=m.useMemo(()=>Ee.find(I=>String(I.id)===String(V))??(String(r?.currentStepId)===String(V)?r?.currentWorkflowStep:null),[r?.currentStepId,r?.currentWorkflowStep,V,Ee]),He=Number(yt?.levelNo??0),Xe=m.useMemo(()=>new Set(Ee.filter((I,ie)=>{const ue=Number(I.levelNo??ie+1);return ue===He||ue===He+1||ue===He-1&&He>1&&Fr(yt?.canReassign)}).map(I=>String(I.id))),[He,yt?.canReassign,Ee]),ln=r?.remarks,ft=m.useMemo(()=>[...Array.isArray(ln)?ln:[]],[ln]),Qn=async()=>{if(!r?.id||b)return;T("");const I=E?W.trim():"";if(!I){T("Remark is required.");return}try{await n(Et({id:r.id,statusId:k,currentStepId:V,assignedToUserId:p,remark:I})).unwrap(),L(null),ae(null),j(""),await n(Tt(e)).unwrap(),await n(It(e))}catch(ie){T(ie?.message??"Failed to update complaint")}},cn=async I=>{if(!I||K)return;if(!Ae){x("Only users in the current level can assign this complaint.","error");return}if(p==null){x("Unable to identify the signed-in user.","error");return}const ie=String(I)===String(p),ue=String(r?.assignedToUserId)===String(p);if(!ie&&!ue){x("Please assign this complaint to yourself first. Then you can assign it to others.","error");return}if(String(r?.assignedToUserId)!==String(I)){P(!0);try{await n(Et({id:r.id,assignedToUserId:I})).unwrap(),await n(Tt(e)).unwrap(),await n(It(e)),x("Complaint assigned successfully")}catch(fe){x(fe?.message??"Failed to assign complaint","error")}finally{P(!1)}}},dn=()=>{Y.forEach(I=>n(Lt(I)))};return a.jsxs("main",{className:"ca-complaint-details-page",children:[a.jsxs("header",{className:"ca-complaint-details__header",children:[a.jsx("div",{className:"ca-complaint-details__heading",children:a.jsx("div",{className:"ca-complaint-details__title-row",children:a.jsx("h1",{children:r?.complaintType?.name||"Complaint Details"})})}),r&&Se?a.jsx("button",{className:"ca-complaint-details__update",type:"button",onClick:Qn,disabled:b,children:b?"Updating…":"Update"}):null]}),s?a.jsx(it,{text:"Loading complaint details"}):null,!s&&o?a.jsxs("div",{className:"ca-complaint-details__error",role:"alert",children:[a.jsx("p",{children:o}),a.jsx("button",{type:"button",onClick:()=>n(Tt(e)),children:"Try again"})]}):null,!s&&!o&&r?a.jsxs("div",{className:"ca-complaint-details__layout",children:[a.jsxs("section",{className:"ca-complaint-details__main","aria-label":"Complaint information",children:[Ae?a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"ca-complaint-details__assignment-section",children:a.jsxs("div",{className:"ca-complaint-details__field",children:[a.jsx("span",{className:"ca-complaint-details__field-label",children:"Assign to"}),a.jsx(Q0,{assignedToUserId:r.assignedToUserId,assignedToUserName:te.find(I=>I.id===String(r.assignedToUserId))?.name||r.assignedToUserName||r.assignedToUser?.name||"",currentUserId:p,users:te,saving:K,loading:oe,error:me,onSelect:cn,onRetry:dn})]})}),a.jsx("div",{className:"ca-complaint-details__section-divider"})]}):null,a.jsxs("div",{className:"ca-complaint-details__summary",children:[a.jsxs("label",{className:"ca-complaint-details__field",children:[a.jsx("span",{className:"ca-complaint-details__field-label",children:"Status"}),a.jsxs("span",{className:"ca-complaint-details__select-wrap",children:[a.jsxs("select",{className:"ca-complaint-details__control",value:k,disabled:!Se,onChange:I=>L(I.target.value),children:[i.map(I=>{const ue=!(String(I.id)===String(r.statusId))&&vg(I.name)&&!Fr(C?.canResolve??r.currentWorkflowStep?.canResolve);return a.jsx("option",{value:I.id,disabled:ue,children:I.name},I.id)}),i.some(I=>String(I.id)===String(k))?null:a.jsx("option",{value:k,children:r.status?.name||"—"})]}),Se?a.jsx(Rt,{className:"ca-complaint-details__select-chevron",size:16,strokeWidth:1.8,"aria-hidden":"true"}):null]})]}),a.jsxs("label",{className:"ca-complaint-details__field",children:[a.jsx("span",{className:"ca-complaint-details__field-label",children:"Escalation to"}),a.jsxs("span",{className:"ca-complaint-details__select-wrap",children:[a.jsxs("select",{className:"ca-complaint-details__control",value:V,disabled:!Se,onChange:I=>ae(I.target.value),children:[Ee.filter(I=>Xe.has(String(I.id))).map(I=>a.jsxs("option",{value:I.id,children:["Level ",I.levelNo]},I.id)),Ee.some(I=>String(I.id)===String(V))?null:a.jsx("option",{value:V,children:r.currentWorkflowStep?.levelNo!=null?`Level ${r.currentWorkflowStep.levelNo}`:"—"})]}),Se?a.jsx(Rt,{className:"ca-complaint-details__select-chevron",size:16,strokeWidth:1.8,"aria-hidden":"true"}):null]})]}),se.map((I,ie)=>a.jsx(nd,{label:g(I.formField),value:h(I.value),fieldType:I.formField?.fieldType,attachmentUrls:_},I.id??`${I.formField?.id??"field"}-${ie}`)),a.jsx(nd,{label:"Created at",value:Ms(r.createdAt)})]}),Se||ft.length?a.jsxs("section",{className:"ca-complaint-details__remarks","aria-label":"Remarks",children:[a.jsxs("h2",{children:["Remark",Se?a.jsx("span",{style:{color:"#dc2626",marginLeft:2},"aria-hidden":"true",children:"*"}):null]}),Se?a.jsxs(a.Fragment,{children:[a.jsx("form",{className:"ca-complaint-details__remark-form",onSubmit:I=>{I.preventDefault()},children:a.jsx("input",{"aria-label":"Enter remark",value:W,disabled:!E,onChange:I=>j(I.target.value),placeholder:"Enter remark"})}),ee?a.jsx("p",{className:"ca-complaint-details__update-error",role:"alert",children:ee}):null]}):null,ft.length?a.jsx("ol",{className:"ca-complaint-details__remark-list",style:{maxHeight:216,overflowY:"auto"},children:ft.map((I,ie)=>a.jsxs("li",{children:[a.jsxs("div",{className:"ca-complaint-details__remark-meta",children:[a.jsxs("span",{children:[I.fromLevelNo!=null||I.toLevelNo!=null?`L${I.fromLevelNo??"—"} - L${I.toLevelNo??"—"}`:"",I.createdByUserName?` | ${I.createdByUserName}`:""]}),a.jsx("time",{dateTime:I.createdAt,children:Ms(I.createdAt)})]}),a.jsx("p",{children:I.remark})]},I.id??`${I.createdAt??"remark"}-${ie}`))}):null]}):null]}),a.jsx(X0,{activities:l.activities,fallbackRemarks:ft,createdAt:r.createdAt,isLoading:l.isLoading,error:l.error,onRetry:()=>n(It(e))})]}):null,a.jsx(Is,{toasts:Q,onDismiss:G})]})}function rd(){const{complaintId:e,complaintTypeId:t}=mt();return a.jsx(Y0,{complaintId:e,complaintTypeId:t},e)}function nt({title:e,action:t=!1,className:n="",children:r}){return a.jsxs("section",{className:`ca-analysis-card ${n}`.trim(),children:[e?a.jsxs("div",{className:"ca-analysis-card__heading",children:[a.jsx("h2",{children:e}),t?a.jsx(ct,{size:14,"aria-hidden":"true"}):null]}):null,r]})}const Ue=e=>{const t=Number(e);return Number.isFinite(t)?t:0},rt=e=>{const t=Ue(e);return t>0&&t<10?`0${t}`:String(t)},Fe=(e,t=2)=>String(Number(Ue(e).toFixed(t))),zr=(e,t)=>t>0?`${Math.round(Ue(e)/t*100)}%`:"0%",G0=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],J0=e=>{const t=new Date(e);return Number.isNaN(t.getTime())?String(e??""):`${G0[t.getUTCMonth()]} ${String(t.getUTCFullYear()).slice(-2)}`};function ad({data:e}){const t=Ue(e?.openBacklog),n=Array.isArray(e?.ageBuckets)?e.ageBuckets:[],r=e?.oldestComplaint,s=r&&typeof r=="object"?r.complaintId??r.id:r;return a.jsx(nt,{title:"Backlog & Aging",className:"ca-analysis-backlog",children:a.jsxs("div",{className:"ca-analysis-backlog__grid",children:[a.jsxs("div",{className:"ca-analysis-backlog__metrics",children:[a.jsxs("div",{className:"ca-analysis-backlog__metric",children:[a.jsx("span",{children:"Open bookings"}),a.jsx("strong",{children:rt(t)}),a.jsx("small",{children:"Pending complaints"})]}),a.jsxs("div",{className:"ca-analysis-backlog__metric",children:[a.jsx("span",{children:"Average age"}),a.jsxs("strong",{children:[Fe(e?.averageAgeDays)," days"]}),a.jsx("small",{children:"Across open complaints"})]}),a.jsxs("div",{className:"ca-analysis-backlog__metric ca-analysis-backlog__metric--oldest",children:[a.jsx("span",{children:"Oldest complaints"}),a.jsxs("strong",{children:[Fe(e?.oldestAgeDays)," days"]}),s?a.jsxs("a",{href:`#complaint-${s}`,children:[s," ",a.jsx(Vg,{size:11})]}):null]})]}),a.jsxs("div",{className:"ca-analysis-aging",children:[a.jsxs("h3",{children:["Age distribution ",a.jsx("span",{children:"(Open complaints)"})]}),n.map(o=>{const l=Ue(o.count),i=t>0?`${Math.min(l/t*100,100)}%`:"0%";return a.jsxs("div",{className:"ca-analysis-aging__row",children:[a.jsx("span",{children:o.label}),a.jsx("div",{className:"ca-analysis-aging__track",children:a.jsx("span",{style:{width:i}})}),a.jsx("span",{className:"ca-analysis-aging__count",children:l}),a.jsx("span",{className:"ca-analysis-aging__chevron","aria-hidden":"true",children:a.jsx(ct,{size:14,className:"ca-analysis-chevron"})})]},o.label)})]})]})})}function De({label:e,value:t,detail:n,className:r=""}){return a.jsxs("div",{className:`ca-analysis-metric ${r}`.trim(),children:[a.jsx("span",{className:"ca-analysis-metric__label",children:e}),a.jsx("span",{className:"ca-analysis-metric__value",children:t}),n?a.jsx("span",{className:"ca-analysis-metric__detail",children:n}):null]})}function sd({data:e}){const t=Ue(e?.total),n=[{label:"Total",value:rt(t),detail:"All complaints"},{label:"Open",value:rt(e?.open),detail:zr(e?.open,t),action:!0},{label:"Resolved",value:rt(e?.resolved),detail:zr(e?.resolved,t)},{label:"Closed",value:rt(e?.closed),detail:zr(e?.closed,t)},{label:"Rejected",value:rt(e?.rejected),detail:zr(e?.rejected,t)}];return a.jsx(nt,{title:"Complaint Status Overview",className:"ca-analysis-status",children:a.jsx("div",{className:"ca-analysis-status__grid",children:n.map(({label:r,value:s,detail:o,action:l})=>a.jsxs("div",{className:"ca-analysis-status__item",children:[a.jsx(De,{label:r,value:s,detail:o}),l?a.jsx("span",{className:"ca-analysis-status__arrow","aria-hidden":"true",children:a.jsx(ct,{size:14,className:"ca-analysis-chevron"})}):null]},r))})})}const Z0=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],Kn=30,od=435,ld=[20,50,80,110,140],id=[30,67,104,141],cd=141,R0=111,ey=4,ty=102,ny=9,ry=45,ay=[{key:"closed",color:"var(--ca-analysis-neutral)"},{key:"resolved",color:"var(--ca-analysis-green)"},{key:"created",color:"var(--ca-analysis-blue)"}],on=e=>{const t=Number(e);return Number.isFinite(t)?t:0};function dd(e,t=4){if(e<=t)return 1;const n=Math.ceil(e/t),r=10**Math.floor(Math.log10(n));return[1,2,5,10].map(s=>s*r).find(s=>s>=n)}function sy(e,t){const n=new Date(e);if(Number.isNaN(n.getTime()))return String(e??"");if(t==="monthly")return`${Z0[n.getUTCMonth()]} ${String(n.getUTCFullYear()).slice(-2)}`;const r=String(n.getUTCDate()).padStart(2,"0"),s=String(n.getUTCMonth()+1).padStart(2,"0");return`${r}/${s}`}function Ps({variant:e="trend",data:t=[],granularity:n="monthly"}){const r=e==="trend",s=e==="resolution",o=!r,l=Array.isArray(t)?t:[],i=r?l:[],c=Math.max(0,...i.flatMap(P=>[on(P.created),on(P.resolved),on(P.closed)])),d=dd(c),f=d*4,u=P=>i.length<=1?(Kn+od)/2:Kn+P*((od-Kn)/(i.length-1)),p=P=>140-on(P)/f*120,S=ay.map(P=>({color:P.color,points:i.map((Q,F)=>[u(F),p(Q[P.key])])})),A=Math.max(1,Math.ceil(i.length/10)),y=i.map((P,Q)=>({label:Q%A===0?sy(P.period,n):"",x:u(Q)})),g=s?ey:ny,h=s?ty:ry,b=o?s?l.slice(0,g):l.slice(-g):[],_=Math.max(0,...b.map(P=>on(P.value))),N=dd(_,3),O=N*3,L=s?28:20,z=b.map((P,Q)=>{const F=on(P.value),x=F>0?Math.max(F/O*R0,2):0;return{label:P.label,value:F,center:Kn+(Q+.5)*h,height:x}}),ae=r?ld.map((P,Q)=>String(f-Q*d)):id.map((P,Q)=>String((3-Q)*N)),W=r?ld:id,j=r?y.map(P=>P.x):Array.from({length:g+1},(P,Q)=>Kn+Q*h),K=r?y:z.map(P=>({label:P.label,x:P.center}));return a.jsx("div",{className:"ca-analysis-chart",children:a.jsxs("svg",{viewBox:"0 0 460 170",role:"img","aria-label":r?"Complaint trend chart":`${e} chart`,children:[j.map(P=>a.jsx("line",{x1:P,x2:P,y1:"20",y2:"141",className:"ca-analysis-chart__grid"},`vertical-${P}`)),W.map((P,Q)=>a.jsxs("g",{children:[a.jsx("line",{x1:"30",x2:"438",y1:P,y2:P,className:"ca-analysis-chart__grid"}),a.jsx("text",{x:"4",y:P+3,className:"ca-analysis-chart__axis-label",children:ae[Q]})]},P)),s?a.jsxs(a.Fragment,{children:[a.jsx("line",{x1:"30",x2:"30",y1:"20",y2:"141",className:"ca-analysis-chart__axis"}),a.jsx("line",{x1:"30",x2:"438",y1:"141",y2:"141",className:"ca-analysis-chart__axis"})]}):null,K.map(({label:P,x:Q},F)=>P?a.jsx("text",{x:Q,y:"160",textAnchor:"middle",className:"ca-analysis-chart__axis-label",children:P},`${P}-${F}`):null),o?a.jsx("g",{children:z.map((P,Q)=>a.jsxs("g",{children:[P.height>0?a.jsx("rect",{x:P.center-L/2,y:cd-P.height,width:L,height:P.height,rx:"2",fill:"var(--ca-analysis-blue)"}):null,a.jsx("text",{x:P.center,y:cd-P.height-4,textAnchor:"middle",className:"ca-analysis-chart__bar-label",children:Number(P.value.toFixed(2))})]},`${P.label}-${Q}`))}):null,r?S.map(P=>a.jsxs("g",{children:[P.points.length>1?a.jsx("polyline",{points:P.points.map(([Q,F])=>`${Q},${F}`).join(" "),fill:"none",stroke:P.color,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}):null,P.points.map(([Q,F],x)=>a.jsx("circle",{cx:Q,cy:F,r:"2.5",fill:P.color},`${P.color}-${x}`))]},P.color)):null]})})}function ud({period:e,data:t}){return a.jsxs(nt,{title:"Complaint Trend",className:"ca-analysis-trend",children:[a.jsxs("div",{className:"ca-analysis-legend",children:[a.jsxs("span",{children:[a.jsx("i",{className:"ca-analysis-legend__blue"}),"Created"]}),a.jsxs("span",{children:[a.jsx("i",{className:"ca-analysis-legend__green"}),"Resolved"]}),a.jsxs("span",{children:[a.jsx("i",{className:"ca-analysis-legend__gray"}),"Closed"]})]}),a.jsx(Ps,{data:Array.isArray(t?.data)?t.data:[],granularity:t?.granularity??e.toLowerCase()})]})}const fd=e=>{const t=e?.fromLevelNo==null?"Unassigned":`Level ${e.fromLevelNo}`,n=e?.toLevelNo==null?"Unassigned":`Level ${e.toLevelNo}`;return`${t} - ${n}`};function pd({data:e}){const t=Array.isArray(e?.byLevel)?e.byLevel:[],n=Array.isArray(e?.byMonth)?e.byMonth:[],r=Math.max(0,...t.map(o=>Ue(o.count))),s=n.map(o=>({label:J0(o.month),value:Ue(o.count)}));return a.jsxs(nt,{title:"Escalations",action:!0,className:"ca-analysis-escalations",children:[a.jsxs("div",{className:"ca-analysis-escalations__metrics",children:[a.jsx(De,{label:"Total Escalations",value:Fe(e?.totalEscalations),className:"is-highlighted"}),a.jsx(De,{label:"Escalated Complaints",value:Fe(e?.escalatedComplaints)}),a.jsx(De,{label:"Escalation Rate",value:`${Fe(e?.escalationRate)}%`,className:"is-alert"})]}),a.jsxs("section",{className:"ca-analysis-escalations__section",children:[a.jsx("h3",{className:"ca-analysis-subheading",children:"Escalation by level"}),a.jsx("div",{className:"ca-analysis-escalations__levels",children:t.length?t.map((o,l)=>{const i=Ue(o.count),c=r>0?`${i/r*100}%`:"0%";return a.jsxs("div",{className:"ca-analysis-escalations__level",children:[a.jsx("span",{children:fd(o)}),a.jsx("div",{children:a.jsx("i",{style:{width:c}})}),a.jsx("span",{children:i}),a.jsx("span",{className:"ca-analysis-chevron-cell","aria-hidden":"true",children:a.jsx(ct,{size:14,className:"ca-analysis-chevron"})})]},`${fd(o)}-${l}`)}):a.jsx("span",{className:"ca-analysis-metric__detail",children:"No escalations"})})]}),a.jsxs("section",{className:"ca-analysis-escalations__section ca-analysis-escalations__month",children:[a.jsx("h3",{className:"ca-analysis-subheading",children:"Escalation by month"}),a.jsx(Ps,{variant:"escalation",data:s})]})]})}function Bs({title:e,action:t=!1,columns:n,rows:r,className:s="",getCellClassName:o,emptyText:l="No data"}){return a.jsx(nt,{title:e,action:t,className:`ca-analysis-table-panel ${s}`.trim(),children:a.jsx("div",{className:"ca-analysis-table-panel__scroll",children:a.jsxs("table",{children:[a.jsx("thead",{children:a.jsx("tr",{children:n.map((i,c)=>a.jsx("th",{children:i},`${i}-${c}`))})}),a.jsx("tbody",{children:r.length?r.map((i,c)=>a.jsx("tr",{children:i.map((d,f)=>a.jsx("td",{className:o?.(f,d),children:d},`${e}-${c}-${f}`))},`${e}-${c}`)):a.jsx("tr",{children:a.jsx("td",{colSpan:n.length,children:l})})})]})})})}function hd({data:e}){const t=Ue(e?.totalReassignments)>0;return a.jsxs(nt,{title:"Reassignments",action:!0,className:"ca-analysis-reassignments",children:[a.jsxs("div",{className:"ca-analysis-reassignments__metrics",children:[a.jsx(De,{label:"Total Reassignments",value:Fe(e?.totalReassignments)}),a.jsx(De,{label:"Reassigned Complaints",value:Fe(e?.reassignedComplaints)}),a.jsx(De,{label:"Reassignment Rate",value:`${Fe(e?.reassignmentRate)}%`}),a.jsx(De,{label:"Avg. per Complaint",value:Fe(e?.averageReassignmentsPerComplaint)})]}),t?null:a.jsxs("div",{className:"ca-analysis-reassignments__empty",children:[a.jsx(Kg,{size:19}),a.jsx("strong",{children:"No Reassignments"}),a.jsx("span",{children:"There were no complaint reassignments in the selected period."})]})]})}function md({data:e}){const t=[["Average",e?.averageResolutionHours],["Median",e?.medianResolutionHours],["Fastest",e?.minResolutionHours],["Slowest",e?.maxResolutionHours]];return a.jsx(nt,{title:"Resolution Time",action:!0,className:"ca-analysis-resolution",children:a.jsx("div",{className:"ca-analysis-resolution__metrics",children:t.map(([n,r],s)=>a.jsx(De,{label:n,value:Fe(r),className:s===0?"is-highlighted":""},n))})})}function gd({data:e}){const t=Ue(e?.resolvedWithinSla),n=Ue(e?.breachedCount),r=Ue(e?.atRiskCount),s=t+n+r,o=s?t/s*100:0,l=s?(t+n)/s*100:0,i=s?{background:`conic-gradient(var(--ca-analysis-orange) 0 ${o}%, var(--ca-analysis-positive) ${o}% ${l}%, var(--ca-analysis-yellow) ${l}% 100%)`}:{background:"var(--ca-analysis-track)"},c=[{label:"Within SLA",count:t,color:"orange"},{label:"Breached",count:n,color:"green"},{label:"At Risk",count:r,color:"yellow"}];return a.jsxs(nt,{title:"SLA Compliance",action:!0,className:"ca-analysis-sla",children:[a.jsxs("div",{className:"ca-analysis-sla__body",children:[a.jsx("div",{className:"ca-analysis-sla__donut",style:i,children:a.jsxs("div",{children:[a.jsxs("strong",{children:[Fe(e?.slaPercent),"%"]}),a.jsxs("span",{children:["Resolved",a.jsx("br",{}),"Within SLA"]})]})}),a.jsx("div",{className:"ca-analysis-sla__legend",children:c.map(d=>a.jsxs("div",{children:[a.jsxs("span",{children:[a.jsx("i",{className:`ca-analysis-sla__dot ca-analysis-sla__dot--${d.color}`}),d.label]}),a.jsx("span",{children:d.count})]},d.label))})]}),a.jsxs("div",{className:"ca-analysis-sla__metrics",children:[a.jsx(De,{label:"Eligible",value:rt(e?.eligibleComplaints)}),a.jsx(De,{label:"Resolved",value:rt(e?.resolvedComplaints)}),a.jsx(De,{label:"Breached",value:rt(n)}),a.jsx(De,{label:"At Risk",value:rt(r)})]}),a.jsx("a",{className:"ca-analysis-link",href:"#breached-complaints",children:"View breached complaints ›"})]})}const Ad=["Name","Assigned","Pending","Completed","Breaches","Avg. Handling"],oy=e=>[e?.name??e?.teamName??e?.roleName??e?.departmentName??"-",e?.assigned??0,e?.pending??0,e?.completed??0,e?.slaBreaches??0,`${Fe(e?.averageHandlingHours)} h`];function yd({data:e,view:t,onViewChange:n}){const r=t==="Teams"?e?.teams:e?.users,s=(Array.isArray(r)?r:[]).map(oy);return a.jsxs(nt,{title:"User & Team Workload",className:"ca-analysis-workload ca-analysis-table-panel",children:[a.jsxs("div",{className:"ca-analysis-workload__tabs",role:"group","aria-label":"Workload view",children:[a.jsx("button",{className:t==="Users"?"is-selected":"",onClick:()=>n("Users"),type:"button",children:"Users"}),a.jsx("button",{className:t==="Teams"?"is-selected":"",onClick:()=>n("Teams"),type:"button",children:"Teams"})]}),a.jsx("div",{className:"ca-analysis-table-panel__scroll",children:a.jsxs("table",{children:[a.jsx("thead",{children:a.jsx("tr",{children:Ad.map(o=>a.jsx("th",{children:o},o))})}),a.jsx("tbody",{children:s.length?s.map((o,l)=>a.jsx("tr",{children:o.map((i,c)=>a.jsx("td",{children:i},`${o[0]}-${c}`))},`${o[0]}-${l}`)):a.jsx("tr",{children:a.jsx("td",{colSpan:Ad.length,children:"No data"})})})]})})]})}function bd(){const e=X.useDispatch(),{complaintTypeId:t}=mt(),n=X.useSelector(A=>A.analytics)??{},[r,s]=m.useState("Monthly"),[o,l]=m.useState("Users"),[i]=m.useState({fromDate:"",toDate:""}),{fromDate:c,toDate:d}=i,f=r.toLowerCase();m.useEffect(()=>{if(!t)return;const A=Object.values(Sm).map(y=>e(y({complaintTypeId:t,fromDate:c,toDate:d,granularity:f})));return()=>A.forEach(y=>y.abort?.())},[t,e,c,d,f]);const u=(Array.isArray(n.types?.data)?n.types.data:[]).map(A=>[A.complaintTypeName??"-",A.count??0,A.open??0,A.resolved??0,`${Fe(A.slaPercent)}%`,`${Fe(A.averageResolutionHours)} h`]),p=n.workflowBottlenecks?.data?.data,S=(Array.isArray(p)?p:[]).map(A=>[`Level ${A.levelNo}`,A.complaints??0,`${Fe(A.averageTimeHours)} h`,A.pending??0,A.slaBreaches??0,a.jsx(ct,{size:14,className:"ca-analysis-chevron","aria-hidden":"true"},"chevron")]);return a.jsxs("main",{className:"ca-complaint-analysis",children:[a.jsxs("header",{className:"ca-analysis-header",children:[a.jsxs("div",{children:[a.jsx("h1",{children:"Complaint Analytics"}),a.jsx("p",{children:"Monitor, analyse and take action on complaints across all stores and departments."})]}),a.jsx("div",{className:"ca-analysis-header__controls"})]}),a.jsxs("div",{className:"ca-analysis-top",children:[a.jsx(sd,{data:n.overview?.data}),a.jsx(ad,{data:n.backlog?.data})]}),a.jsxs("div",{className:"ca-analysis-columns",children:[a.jsxs("div",{className:"ca-analysis-column",children:[a.jsx(ud,{period:r,onPeriodChange:s,data:n.trends?.data}),a.jsx(md,{data:n.resolutionTimes?.data}),a.jsx(pd,{data:n.escalations?.data})]}),a.jsxs("div",{className:"ca-analysis-column",children:[a.jsx(gd,{data:n.sla?.data}),a.jsx(Bs,{title:"Complaint Types",action:!0,columns:["Complaint Type","Total","Open","Resolved","SLA %","Avg. Resolution"],rows:u,className:"ca-analysis-types"}),a.jsx(Bs,{title:"Workflow Bottlenecks",action:!0,columns:["Level","Complaints","Avg. Time","Pending","SLA Breaches",""],rows:S,className:"ca-analysis-bottlenecks",getCellClassName:(A,y)=>A===3&&Number(y)>0?"is-danger":void 0}),a.jsx(yd,{data:n.workload?.data,view:o,onViewChange:l}),a.jsx(hd,{data:n.reassignments?.data})]})]})]})}function ly({pageProps:e={},onPublish:t,onStepChange:n,children:r}){const s=r??a.jsx(Xi,{...e});return a.jsxs(vu,{children:[a.jsx(Ie,{path:"/",element:s}),a.jsx(Ie,{path:"complaintanalysis",element:a.jsx(bd,{})}),a.jsx(Ie,{path:"complaintanalysis/:complaintTypeId",element:a.jsx(bd,{})}),a.jsx(Ie,{path:"/settings/:systemId",element:a.jsx(Bc,{onPublish:t,onStepChange:n,company:e.company,roleList:e.roleList,userList:e.userList,storeList:e.storeList})}),a.jsx(Ie,{path:"complaintmanagement",element:a.jsx(Vr,{onHeaderActionsChange:e.onHeaderActionsChange})}),a.jsx(Ie,{path:"complaintmanagement/new/:complaintTypeId",element:a.jsx(ed,{company:e.company,storeList:e.storeList})}),a.jsx(Ie,{path:"complaintmanagement/:complaintTypeId/details/:complaintId",element:a.jsx(rd,{})}),a.jsx(Ie,{path:"complaintmanagement/:complaintTypeId",element:a.jsx(Vr,{onHeaderActionsChange:e.onHeaderActionsChange})}),a.jsx(Ie,{path:"complaintmanagement/:complaintTypeId/all",element:a.jsx(V0,{})}),a.jsx(Ie,{path:"querymanagement",element:a.jsx(Vr,{onHeaderActionsChange:e.onHeaderActionsChange})}),a.jsx(Ie,{path:"querymanagement/new/:complaintTypeId",element:a.jsx(ed,{company:e.company,storeList:e.storeList})}),a.jsx(Ie,{path:"querymanagement/:complaintTypeId/details/:complaintId",element:a.jsx(rd,{})}),a.jsx(Ie,{path:"querymanagement/:complaintTypeId",element:a.jsx(Vr,{onHeaderActionsChange:e.onHeaderActionsChange})}),a.jsx(Ie,{path:"*",element:s})]})}function iy({pageProps:e,onPublish:t=s=>console.log(s),onStepChange:n=s=>console.log(s),children:r}){return a.jsx(ly,{pageProps:e,onPublish:t,onStepChange:n,children:r})}function cy({children:e}){const{cssVars:t,darkMode:n,mode:r}=cl();return a.jsx("div",{className:`ca-root ${n?"ca-root--dark":"ca-root--light"}`,"data-ca-theme":r,style:t,children:e})}function dy({basePath:e,children:t}){return xt()?t:a.jsx(xu,{basename:e,children:t})}function uy({store:e,children:t}){return a.jsx(X.Provider,{store:e||ti,children:t})}function fy({details:e,children:t}){const n=X.useDispatch();return m.useEffect(()=>{n(gl(e))},[n,e]),t}const vd=[],Sd=({apiUrl:e,authToken:t,publicAccess:n=!1,store:r,basePath:s="/",theme:o,darkMode:l=!1,title:i,description:c,rolelist:d,roleList:f=d??vd,userList:u=vd,storeList:p,currentUser:S,company:A=S?.company,featureActions:y=Km,useDemoData:g=!0,createLabel:h,onCreateForm:b,onConfigure:_,onOpen:N,onTitleClick:O,onDescriptionClick:L,onSearch:z,onHeaderActionsChange:ae,onPublish:W,onSaveDraft:j,showSaveButton:K,showNextButton:P,onStepChange:Q,children:F})=>{const x={title:i,description:c,useDemoData:g,createLabel:h,onCreateForm:b,onConfigure:_,onOpen:N,roleList:f,userList:u,storeList:p,company:A,onTitleClick:O,onDescriptionClick:L,onSearch:z,onHeaderActionsChange:ae,onSaveDraft:j,showSaveButton:K,showNextButton:P},G=m.useMemo(()=>({featureActions:y,apiUrl:e,authToken:t,publicAccess:n,basePath:s,theme:o,darkMode:l,title:i,description:c,roleList:f,userList:u,storeList:p,currentUser:S,company:A,useDemoData:g,createLabel:h,onCreateForm:b,onConfigure:_,onOpen:N,onTitleClick:O,onDescriptionClick:L,onSearch:z,onHeaderActionsChange:ae,onPublish:W,onSaveDraft:j,showSaveButton:K,showNextButton:P,onStepChange:Q}),[y,e,t,n,s,o,l,i,c,f,u,p,S,A,g,h,b,_,N,O,L,z,ae,W,j,K,P,Q]);return a.jsx(hc.Provider,{value:A,children:a.jsx(il,{theme:o,darkMode:l,children:a.jsx(uy,{store:r,children:a.jsx(fy,{details:G,children:a.jsx(cy,{children:a.jsx(nl,{apiUrl:e,authToken:t,publicAccess:n,children:a.jsx(dy,{basePath:s,children:a.jsx(iy,{pageProps:x,onPublish:W,onStepChange:Q,children:F})})})})})})})})};function py({children:e,onClick:t,className:n="",active:r=!1}){return a.jsx("button",{type:"button",className:`ca-chip ${r?"ca-chip--active":""} ${n}`.trim(),onClick:t,children:e})}function hy({checked:e=!1,onChange:t,name:n,value:r,"aria-label":s,className:o=""}){return a.jsxs("label",{className:`ca-radio ${o}`.trim(),children:[a.jsx("input",{type:"radio",className:"ca-radio__input",name:n,value:r,checked:e,onChange:t,"aria-label":s}),a.jsx("span",{className:"ca-radio__mark"})]})}function my({status:e="inactive",label:t,className:n=""}){const s=String(e).toLowerCase()==="active",o=t??(s?"Active":"Inactive");return a.jsx("span",{className:`ca-badge rounded ca-badge--${s?"active":"inactive"} ${n}`.trim(),children:o})}const gy=["Open","Cancelled","Closed"];function Ay({selectedStatus:e,statusNames:t=[],selectedCreatedAtSort:n,selectedLevel:r,selectedAssignment:s,workflowLevels:o=[],showLevelAndAssignmentFilters:l=!0,onStatusChange:i,onCreatedAtSortChange:c,onLevelChange:d,onAssignmentChange:f,onOpenDateFilter:u,hasDateFilter:p=!1,onDownloadReport:S,isDownloadingReport:A=!1,complaintTypeId:y}){return a.jsxs("div",{className:"ca-complaint-table__toolbar",children:[a.jsxs("div",{className:"ca-complaint-table__filters",children:[a.jsxs("label",{className:"ca-complaint-table__filter",children:[a.jsx(qg,{size:14,"aria-hidden":"true"}),a.jsx("span",{className:"ca-complaint-table__sr-only",children:"Filter by status"}),a.jsxs("select",{value:e,"aria-label":"Filter by status",onChange:g=>i?.(g.target.value),children:[a.jsx("option",{value:"all",children:"Select Status"}),(t.length?t:gy).map(g=>a.jsx("option",{value:g,children:Er(g)},g))]})]}),a.jsxs("label",{className:"ca-complaint-table__filter",children:[a.jsx("span",{className:"ca-complaint-table__sr-only",children:"Sort by created date"}),a.jsxs("select",{value:n,"aria-label":"Sort by created date",onChange:g=>c?.(g.target.value),children:[a.jsx("option",{value:"desc",children:"Created: Newest first"}),a.jsx("option",{value:"asc",children:"Created: Oldest first"})]})]}),l?a.jsxs(a.Fragment,{children:[a.jsxs("label",{className:"ca-complaint-table__filter",children:[a.jsx("span",{className:"ca-complaint-table__sr-only",children:"Filter by workflow level"}),a.jsxs("select",{value:r,"aria-label":"Filter by workflow level",onChange:g=>d?.(g.target.value),children:[a.jsx("option",{value:"all",children:"All Levels"}),o.map(g=>a.jsxs("option",{value:g,children:["Level ",g]},g))]})]}),a.jsxs("label",{className:"ca-complaint-table__filter",children:[a.jsx("span",{className:"ca-complaint-table__sr-only",children:"Filter by assignment"}),a.jsxs("select",{value:s,"aria-label":"Filter by assignment",onChange:g=>f?.(g.target.value),children:[a.jsx("option",{value:"all",children:"All"}),a.jsx("option",{value:"mine",children:"Assign to Me"}),a.jsx("option",{value:"unassigned",children:"Unassigned"})]})]})]}):null,a.jsx("button",{type:"button",className:`ca-complaint-table__sort${p?" ca-complaint-table__sort--active":""}`,"aria-label":"Filter by date",title:"Filter by date",onClick:u,children:a.jsx(Hg,{className:"ca-complaint-table__sort-icon",size:14,"aria-hidden":"true"})})]}),a.jsx("div",{className:"ca-complaint-table__actions",children:a.jsx(Ce,{variant:"outline",size:"sm",startIcon:a.jsx(jg,{size:14}),onClick:S,disabled:A||!y,children:"Download Report"})})]})}const yy=st.colors,by=st.radii,vy=st.spacing,Sy=st.typography,wy=[];D.AddFormButton=pc,D.AddTableCard=nc,D.AnalyticsCard=nt,D.AnalyticsMetric=De,D.AnalyticsTablePanel=Bs,D.AnalyticsTrendChart=Ps,D.ApiProvider=nl,D.BacklogAgingPanel=ad,D.BodyText=qa,D.Button=Ce,D.COMPLAINT_ENDPOINTS=ur,D.CardFooter=ii,D.CardHeader=li,D.ChevronDownIcon=as,D.ChevronRightIcon=Xt,D.Chip=py,D.CloseIcon=Ri,D.ComplaintApp=Sd,D.ComplaintManagementPage=Xi,D.ComplaintSettingsPage=Bc,D.ComplaintStatusOverview=sd,D.ComplaintTableGrid=Wc,D.ComplaintTableToolbar=Ay,D.ComplaintTrendPanel=ud,D.CustomPagination=Uc,D.DEFAULT_PAGE_DESCRIPTION=Qi,D.DEMO_SYSTEMS=wy,D.DataPoint=ci,D.Divider=di,D.DragHandleIcon=gc,D.EmptyState=Or,D.EscalationsPanel=pd,D.FieldLabel=rs,D.FormCard=yc,D.FormCardGrid=bc,D.FormField=Qe,D.FormInput=is,D.FormSelect=cs,D.FormTextarea=Zg,D.Heading1=Va,D.Heading2=Wa,D.Input=Zt,D.LabelText=si,D.LayersIcon=Jg,D.LinkText=Um,D.Loading=it,D.PageHeader=vr,D.PlusIcon=ri,D.Radio=hy,D.ReassignmentsPanel=hd,D.ResolutionTimePanel=md,D.RoleMultiSelect=xr,D.SETTINGS_STEPS=tt,D.SearchBar=$i,D.SearchIcon=Ui,D.Select=dt,D.SettingsCard=Un,D.SettingsCardHeader=Zi,D.SettingsWizardProvider=Ji,D.SlaCompliancePanel=gd,D.StatusBadge=my,D.Stepper=$n,D.SystemCard=Bi,D.SystemCardGrid=es,D.TableCard=rc,D.TableCardGrid=cc,D.Tag=ec,D.TeamWorkloadPanel=yd,D.Textarea=ls,D.ThemeProvider=il,D.Toggle=Sr,D.ToggleField=Tc,D.TrashIcon=wr,D.Typography=gt,D.ValueText=oi,D.WORKFLOW_SUBSTEPS=Gg,D.api=he,D.appDetailsReducer=Al,D.clearAppDetails=vh,D.clearComplaintError=uh,D.clearId=Sh,D.clearSelectedComplaintResource=fh,D.colors=yy,D.complaintReducer=fl,D.createComplaintStore=ei,D.darkTheme=En,D.deepMerge=qt,D.default=Sd,D.defaultThemeFile=rl,D.deleteFormField=Ln,D.getFormFields=Ve,D.lightTheme=st,D.normalizeThemeFile=al,D.radii=by,D.resetComplaintState=ph,D.resolveActiveTheme=sl,D.saveFormFields=Tn,D.setAppDetails=gl,D.setAuthToken=Ea,D.setBaseUrl=tl,D.setId=_t,D.setIsEdit=Ht,D.spacing=vy,D.store=ti,D.themeToCssVars=ol,D.typography=Sy,D.useSettingsWizard=Mr,D.useTheme=cl,Object.defineProperties(D,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
11
+ `+o)}}catch{}}throw r}}_request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=Nt(this.defaults,n);const{transitional:r,paramsSerializer:s,headers:o}=n;r!==void 0&&cr.assertOptions(r,{silentJSONParsing:ke.transitional(ke.boolean),forcedJSONParsing:ke.transitional(ke.boolean),clarifyTimeoutError:ke.transitional(ke.boolean),legacyInterceptorReqResOrdering:ke.transitional(ke.boolean),advertiseZstdAcceptEncoding:ke.transitional(ke.boolean),validateStatusUndefinedResolves:ke.transitional(ke.boolean)},!1),s!=null&&(S.isFunction(s)?n.paramsSerializer={serialize:s}:cr.assertOptions(s,{encode:ke.function,serialize:ke.function},!0)),n.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?n.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:n.allowAbsoluteUrls=!0),cr.assertOptions(n,{baseUrl:ke.spelling("baseURL"),withXsrfToken:ke.spelling("withXSRFToken")},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();let l=o&&S.merge(o.common,o[n.method]);o&&S.forEach(["delete","get","head","post","put","patch","query","common"],y=>{delete o[y]}),n.headers=Fe.concat(l,o);const i=[];let c=!0;this.interceptors.request.forEach(function(C){if(typeof C.runWhen=="function"&&C.runWhen(n)===!1)return;c=c&&C.synchronous;const g=n.transitional||ya;g&&g.legacyInterceptorReqResOrdering?i.unshift(C.fulfilled,C.rejected):i.push(C.fulfilled,C.rejected)});const d=[];this.interceptors.response.forEach(function(C){d.push(C.fulfilled,C.rejected)});let f,u=0,p;if(!c){const y=[_a.bind(this),void 0];for(y.unshift(...i),y.push(...d),p=y.length,f=Promise.resolve(n);u<p;)f=f.then(y[u++],y[u++]);return f}p=i.length;let v=n;for(;u<p;){const y=i[u++],C=i[u++];try{v=y?y(v):v}catch(g){if(!C){f=Promise.reject(g);break}try{const h=C.call(this,g);S.isThenable(h)&&(f=Promise.resolve(h).then(()=>_a.call(this,v)))}catch(h){f=Promise.reject(h)}break}}if(!f)try{f=_a.call(this,v)}catch(y){f=Promise.reject(y)}for(u=0,p=d.length;u<p;)f=f.then(d[u++],d[u++]);return f}getUri(t){t=Nt(this.defaults,t);const n=qo(t.baseURL,t.url,t.allowAbsoluteUrls,t);return Do(n,t.params,t.paramsSerializer)}};S.forEach(["delete","get","head","options"],function(t){_t.prototype[t]=function(n,r){return this.request(Nt(r||{},{method:t,url:n,data:r&&S.hasOwnProp(r,"data")?r.data:void 0}))}}),S.forEach(["post","put","patch","query"],function(t){function n(r){return function(o,l,i){return this.request(Nt(i||{},{method:t,headers:r?{"Content-Type":"multipart/form-data"}:{},url:o,data:l}))}}_t.prototype[t]=n(),t!=="query"&&(_t.prototype[t+"Form"]=n(!0))});let th=class Od{constructor(t){if(typeof t!="function")throw new TypeError("executor must be a function.");let n;this.promise=new Promise(function(o){n=o});const r=this;this.promise.then(s=>{if(!r._listeners)return;let o=r._listeners.length;for(;o-- >0;)r._listeners[o](s);r._listeners=null}),this.promise.then=s=>{let o;const l=new Promise(i=>{r.subscribe(i),o=i}).then(s);return l.cancel=function(){r.unsubscribe(o)},l},t(function(o,l,i){r.reason||(r.reason=new Nn(o,l,i),n(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const n=this._listeners.indexOf(t);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){const t=new AbortController,n=r=>{t.abort(r)};return this.subscribe(n),t.signal.unsubscribe=()=>this.unsubscribe(n),t.signal}static source(){let t;return{token:new Od(function(s){t=s}),cancel:t}}};function nh(e){return function(n){return e.apply(null,n)}}function rh(e){return S.isObject(e)&&e.isAxiosError===!0}const Ea={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(Ea).forEach(([e,t])=>{Ea[t]=e});function rl(e){const t=new _t(e),n=mo(_t.prototype.request,t);return S.extend(n,_t.prototype,t,{allOwnKeys:!0}),S.extend(n,t,null,{allOwnKeys:!0}),n.create=function(s){return rl(Nt(e,s))},n}const ve=rl(Cn);ve.Axios=_t,ve.CanceledError=Nn,ve.CancelToken=th,ve.isCancel=Uo,ve.VERSION=wa,ve.toFormData=sr,ve.AxiosError=G,ve.Cancel=ve.CanceledError,ve.all=function(t){return Promise.all(t)},ve.spread=nh,ve.isAxiosError=rh,ve.mergeConfig=Nt,ve.AxiosHeaders=Fe,ve.formToJSON=e=>Bo(S.isHTMLForm(e)?new FormData(e):e),ve.getAdapter=tl.getAdapter,ve.HttpStatusCode=Ea,ve.default=ve;const{Axios:Ry,AxiosError:e2,CanceledError:t2,isCancel:n2,CancelToken:r2,VERSION:a2,all:s2,Cancel:o2,isAxiosError:l2,spread:i2,toFormData:c2,AxiosHeaders:d2,HttpStatusCode:u2,formToJSON:f2,getAdapter:p2,mergeConfig:h2,create:m2}=ve;function dr(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 ah={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 Ta(e,t){function n(s,o,l){if(!(typeof document>"u")){l=dr({},t,l),typeof l.expires=="number"&&(l.expires=new Date(Date.now()+l.expires*864e5)),l.expires&&(l.expires=l.expires.toUTCString()),s=encodeURIComponent(s).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var i="";for(var c in l)l[c]&&(i+="; "+c,l[c]!==!0&&(i+="="+l[c].split(";")[0]));return document.cookie=s+"="+e.write(o,s)+i}}function r(s){if(!(typeof document>"u"||arguments.length&&!s)){for(var o=document.cookie?document.cookie.split("; "):[],l={},i=0;i<o.length;i++){var c=o[i].split("="),d=c.slice(1).join("=");try{var f=decodeURIComponent(c[0]);if(f in l||(l[f]=e.read(d,f)),s===f)break}catch{}}return s?l[s]:l}}return Object.create({set:n,get:r,remove:function(s,o){n(s,"",dr({},o,{expires:-1}))},withAttributes:function(s){return Ta(this.converter,dr({},this.attributes,s))},withConverter:function(s){return Ta(dr({},this.converter,s),this.attributes)}},{attributes:{value:Object.freeze(t)},converter:{value:Object.freeze(e)}})}var _n=Ta(ah,{path:"/"});const sh={BASE_URL:"/",DEV:!1,MODE:"production",PROD:!0,SSR:!1};let Vt="https://api-grievance.airaops.com",al=null,La=!1;try{if(typeof{url:typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:Gr&&Gr.tagName.toUpperCase()==="SCRIPT"&&Gr.src||new URL("complaint-app.umd.js",document.baseURI).href}<"u"&&sh?.VITE_API_URL)Vt=void 0;else{const e=typeof process<"u"?process:null;e?.env?.VITE_API_URL&&(Vt=e.env.VITE_API_URL)}}catch{}const sl=e=>{Vt=e||"",ge.defaults.baseURL=Vt},Ia=e=>{al=e||null},oh=e=>{La=!!e},lh=()=>La?null:al||_n.get("token")||null,ge=ve.create({baseURL:Vt,headers:{Accept:"application/json","Content-Type":"application/json"}});ge.interceptors.request.use(e=>{const t=lh();return e.headers=e.headers||{},t?e.headers.Authorization=`Bearer ${t}`:delete e.headers.Authorization,e});let Fa=!1,ka=null;ge.interceptors.response.use(e=>e,async e=>{const t=e.config,n=e.response;if(!La&&n&&(n.status===401||n.status===402)){const r=_n.get("refreshToken");if(r)try{Fa||(Fa=!0,ka=ve.post(`${Vt}/api/v1/auth/refresh`,{},{headers:{Authorization:`Bearer ${r}`}}));const s=await ka,{token:o,refreshToken:l}=s.data;return Ia(o),l&&_n.set("refreshToken",l),t.headers.Authorization=`Bearer ${o}`,ge(t)}catch{_n.remove("token"),_n.remove("refreshToken")}finally{Fa=!1,ka=null}}return Promise.reject(e)});const ih=m.createContext(null),ol=({children:e,apiUrl:t,authToken:n,publicAccess:r=!1})=>(t&&sl(t),oh(r),Ia(n||null),a.jsx(ih.Provider,{value:{apiUrl:t,authToken:r?null:n,publicAccess:r},children:e})),it={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)"}},En={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)"}},ll={light:it,dark:En};function Wt(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)}function qt(e,t){if(!Wt(t))return e;const n={...e};return Object.keys(t).forEach(r=>{const s=t[r];Wt(s)&&Wt(e[r])?n[r]=qt(e[r],s):s!==void 0&&(n[r]=s)}),n}function il(e){return!e||!Wt(e)?{light:it,dark:En}:Wt(e.light)||Wt(e.dark)?{light:qt(it,e.light||{}),dark:qt(En,e.dark||{})}:{light:qt(it,e),dark:qt(En,e)}}function cl(e,t=!1){const n=il(e);return{...t?n.dark:n.light,mode:t?"dark":"light",__pack:n}}const ch={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"},dh={sm:"--ca-radius-sm",md:"--ca-radius-md",lg:"--ca-radius-lg",xl:"--ca-radius-xl",pill:"--ca-radius-pill"},uh={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"},fh={card:"--ca-shadow-card",settings:"--ca-shadow-settings"};function dl(e){const t={};return e?.colors&&Object.entries(ch).forEach(([n,r])=>{e.colors[n]!=null&&(t[r]=e.colors[n])}),e?.radii&&Object.entries(dh).forEach(([n,r])=>{e.radii[n]!=null&&(t[r]=e.radii[n])}),e?.typography&&Object.entries(uh).forEach(([n,r])=>{e.typography[n]!=null&&(t[r]=e.typography[n])}),e?.shadow&&Object.entries(fh).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 ul=m.createContext({darkMode:!1,theme:null,themeFile:ll,cssVars:{}});function fl({theme:e,darkMode:t=!1,children:n}){const r=m.useMemo(()=>{const s=cl(e,!!t),o=dl(s);return{darkMode:!!t,theme:s,themeFile:s.__pack,cssVars:o,mode:s.mode}},[e,t]);return a.jsx(ul.Provider,{value:r,children:n})}function pl(){return m.useContext(ul)}const ur=Object.freeze({formFields:e=>`/api/v1/complaint-types/${e}/form-fields`}),ph=e=>{const t=e?.response?.data,n=Array.isArray(t?.errors)?t.errors.map(s=>s?.message).filter(Boolean):[];if(n.length)return n.join(" ");const r=t?.message??t?.error??e?.message;return Array.isArray(r)?r.filter(Boolean).join(", "):r&&typeof r=="object"?r.message??JSON.stringify(r):r||"Something went wrong"},hh=(e,t)=>t.rejectWithValue({status:e?.response?.status??e?.status,message:ph(e)}),Oa=(e,t)=>ie.createAsyncThunk(e,async(n,r)=>{try{return(await t(n,r)).data}catch(s){return hh(s,r)}}),Ke=Oa("complaint/types/getFormFields",(e,{signal:t})=>ge.get(ur.formFields(e),{signal:t})),Tn=Oa("complaint/types/saveFormFields",({complaintTypeId:e,data:t})=>ge.put(ur.formFields(e),t)),Ln=Oa("complaint/types/deleteFormField",({complaintTypeId:e,fieldId:t})=>ge.delete(`${ur.formFields(e)}/${t}`)),hl={formFields:{data:[],selected:null,pagination:null,isLoading:!1,isMutating:!1,error:null},error:null},mh=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}},Da=e=>e.payload?.message??e.error?.message??"Something went wrong",ml=ie.createSlice({name:"complaintAppComplaint",initialState:hl,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 hl}},extraReducers:e=>{e.addCase(Ke.pending,t=>{t.formFields.isLoading=!0,t.formFields.error=null}).addCase(Ke.fulfilled,(t,n)=>{const r=mh(n.payload);t.formFields.isLoading=!1,t.formFields.data=r.data}).addCase(Ke.rejected,(t,n)=>{t.formFields.isLoading=!1,t.formFields.error=Da(n)}).addCase(Tn.pending,t=>{t.formFields.isMutating=!0,t.formFields.error=null}).addCase(Tn.fulfilled,t=>{t.formFields.isMutating=!1}).addCase(Tn.rejected,(t,n)=>{t.formFields.isMutating=!1,t.formFields.error=Da(n)}).addCase(Ln.pending,t=>{t.formFields.isMutating=!0,t.formFields.error=null}).addCase(Ln.fulfilled,(t,n)=>{const r=n.meta.arg?.fieldId;t.formFields.isMutating=!1,t.formFields.data=t.formFields.data.filter(s=>s.id!==r)}).addCase(Ln.rejected,(t,n)=>{t.formFields.isMutating=!1,t.formFields.error=Da(n)})}}),{clearComplaintError:gh,clearSelectedComplaintResource:Ah,resetComplaintState:yh}=ml.actions,gl=ml.reducer,In="/api/v1/complaint-types",Fn=(e,t)=>{const n=e?.response?.data,r=Array.isArray(n?.errors)?n.errors.map(s=>s?.message).filter(Boolean):[];return t.rejectWithValue({status:e?.response?.status??e?.status,message:(n?.message==="Complaint type code already exists"?"A category with this name already exists. Please use a different name.":null)??(r.includes("code must be shorter than or equal to 50 characters")?"Category name cannot exceed 50 characters. Please enter a shorter name.":null)??(r.length?r.join(" "):null)??n?.message??n?.error??e?.message??"Something went wrong"})},kn=ie.createAsyncThunk("complaintType/fetchAll",async(e,t)=>{try{return(await ge.get(In,{params:e??{}})).data}catch(n){return Fn(n,t)}}),ct=ie.createAsyncThunk("complaintType/fetchById",async(e,t)=>{try{const n=e;return(await ge.get(`${In}/${n}`)).data}catch(n){return Fn(n,t)}}),On=ie.createAsyncThunk("complaintType/create",async({payload:e,onSuccess:t,onFail:n},r)=>{try{const s={code:e.categoryName,name:e.categoryName,description:e.description,tatMinutes:e.tatMinutes,accessType:e.visibilityType,roleIds:e.roles.map(l=>parseInt(l,10)),userIds:(e.userIds??[]).map(l=>parseInt(l,10))},o=await ge.post(In,s);return t&&typeof t=="function"&&t(o.data),o.data}catch(s){return console.log("createComplaintType error:",s),n&&typeof n=="function"&&n(s),Fn(s,r)}}),Dn=ie.createAsyncThunk("complaintType/update",async({id:e,data:t,onSuccess:n,onFail:r},s)=>{try{const o=await ge.patch(`${In}/${e}`,t);return n&&typeof n=="function"&&n(o.data),o.data}catch(o){return console.log("updateComplaintType error:",o),r&&typeof r=="function"&&r(o),Fn(o,s)}}),fr=ie.createAsyncThunk("complaintType/delete",async(e,t)=>{try{const n=await ge.delete(`${In}/${e}`);return{id:e,data:n.data}}catch(n){return Fn(n,t)}}),Ma=["userId","id","_id","userID","user_id","value"];function pr(e,t=Ma){if(typeof e=="string"||typeof e=="number")return String(e).trim()||null;if(!e||typeof e!="object")return null;for(const n of t){const r=e[n];if(r!=null&&r!==e){const s=pr(r,Ma);if(s!==null)return s}}return pr(e.user,Ma)}function xa(e){const t=pr(e?.createdByUserId??e?.createdBy??e?.createdByUser);return t===null?null:[t]}function bh(e,t){const n=xa(e),r=pr(t);return r!==null&&n?.includes(r)===!0}const vh={complaintList:[],selected:null,loading:!1,saving:!1,error:null},Sh=["data","items","results","content","records","list","payload","response","result"],Al=e=>{if(Array.isArray(e))return e;if(!e||typeof e!="object")return[];for(const t of Sh)if(e[t]!==void 0){const n=Al(e[t]);if(n.length||Array.isArray(e[t]))return n}return[]},$e=e=>e?.id??e?._id,Pa=(e,t)=>{if(!t)return e;const n=xa(e),r=xa(t);return n?.length||!r?.length?e:{...e,userIds:r}},yl=ie.createSlice({name:"complaintType",initialState:vh,reducers:{setComplaintTypeActive(e,t){const{id:n,isActive:r}=t.payload??{};n!=null&&(e.complaintList=e.complaintList.map(s=>String($e(s))===String(n)?{...s,isActive:r}:s),String($e(e.selected))===String(n)&&(e.selected={...e.selected,isActive:r}))}},extraReducers:e=>{e.addCase(kn.pending,t=>{t.loading=!0,t.error=null}).addCase(kn.fulfilled,(t,n)=>{t.loading=!1;const r=new Map(t.complaintList.map(s=>[String($e(s)),s]));t.complaintList=Al(n.payload).map(s=>Pa(s,r.get(String($e(s)))))}).addCase(kn.rejected,(t,n)=>{t.loading=!1,t.error=n.payload?.message??n.error?.message??"Failed to fetch complaint types"}).addCase(ct.pending,t=>{t.loading=!0,t.error=null}).addCase(ct.fulfilled,(t,n)=>{t.loading=!1;const r=n.payload?.data??n.payload,s=t.complaintList.find(o=>String($e(o))===String($e(r)));t.selected=Pa(r,s)}).addCase(ct.rejected,(t,n)=>{t.loading=!1,t.error=n.payload?.message??n.error?.message??"Failed to fetch complaint type"}).addCase(On.pending,t=>{t.saving=!0,t.error=null}).addCase(On.fulfilled,(t,n)=>{t.saving=!1;const r=n.payload?.data??n.payload,s=n.meta?.arg?.payload?.userIds,o=Array.isArray(s)?{...r,userIds:s}:r;t.complaintList=[o,...t.complaintList.filter(l=>String($e(l))!==String($e(o)))],t.selected=o}).addCase(On.rejected,(t,n)=>{t.saving=!1,t.error=n.payload?.message??n.error?.message??"Failed to create complaint type"}).addCase(Dn.pending,t=>{t.saving=!0,t.error=null}).addCase(Dn.fulfilled,(t,n)=>{t.saving=!1;const r=n.payload?.data??n.payload,s=$e(r)??n.meta?.arg?.id,o=t.complaintList.find(c=>String($e(c))===String(s)),l=n.meta?.arg?.data?.userIds,i=Array.isArray(l)?{...r,userIds:l}:Pa(r,o);t.complaintList=t.complaintList.map(c=>String($e(c))===String(s)?i:c),t.selected=i}).addCase(Dn.rejected,(t,n)=>{t.saving=!1,t.error=n.payload?.message??n.error?.message??"Failed to update complaint type"}).addCase(fr.pending,t=>{t.saving=!0,t.error=null}).addCase(fr.fulfilled,(t,n)=>{t.saving=!1;const r=n.payload?.id??n.meta?.arg;t.complaintList=t.complaintList.filter(s=>String($e(s))!==String(r)),String($e(t.selected))===String(r)&&(t.selected=null)}).addCase(fr.rejected,(t,n)=>{t.saving=!1,t.error=n.payload?.message??n.error?.message??"Failed to delete complaint type"})}}),{setComplaintTypeActive:wh}=yl.actions,Ch=yl.reducer,Nh={details:{},id:null,isEdit:!1},bl=ie.createSlice({name:"appDetails",initialState:Nh,reducers:{setAppDetails(e,t){e.details=t.payload??{}},clearAppDetails(e){e.details={}},setId(e,t){e.id=t.payload},setIsEdit(e,t){e.isEdit=t.payload.data},clearId(e){e.id=null}}}),{setAppDetails:vl,clearAppDetails:_h,setId:Et,setIsEdit:Ht,clearId:Eh}=bl.actions,Sl=bl.reducer,Th={list:[],pagination:null,isLoading:!1,error:null},wl=ie.createSlice({name:"roles",initialState:Th,reducers:{}});wl.reducer;const hr=60,Ba=24*hr,Lh={d:Ba,h:hr,m:1};function Ua(e){const t=Number(e);return Number.isFinite(t)&&t>0?t:0}function Cl(e=[],t=!0){const n=Array.isArray(e)?e:[];return(t?n:n.slice(0,-1)).reduce((s,o)=>s+je(o?.escalateAfterMinutes),0)}function je(e){if(e==null||e==="")return 0;if(typeof e=="number")return Ua(e);const t=String(e).trim().toLowerCase().replace(/minutes?/g,"").trim();if(!t)return 0;if(/^\d+(\.\d+)?$/.test(t))return Ua(t);const n=/(\d+(?:\.\d+)?)\s*(d|h|m)/g;let r=0,s=!1,o;for(;(o=n.exec(t))!==null;)s=!0,r+=(Lh[o[2]]||0)*Number(o[1]);return s?Ua(r):0}function zt(e){const t=Math.round(typeof e=="number"?e:je(e));if(!Number.isFinite(t)||t<=0)return"";const n=Math.floor(t/Ba),r=Math.floor(t%Ba/hr),s=t%hr,o=[];return n&&o.push(`${n}d`),r&&o.push(`${r}h`),s&&o.push(`${s}m`),o.join("")}function Ih(e){const t=String(e??"").trim().toLowerCase().replace(/minutes?/g,"").replace(/\s+/g,"");return!t||!/^(\d+(?:\.\d+)?[dhm])+$/.test(t)?!1:je(e)>0}function Fh(e){return String(e??"").replace(/(\d+)\s*minutes?/gi,(t,n)=>zt(Number(n))||"0m")}function kh(e=[]){return Cl(e,!0)}function Kt(e=[],t=0){if(!Array.isArray(e)||e.length===0)return e;const n=Math.max(0,je(t)-Cl(e,!1)),r=zt(n),s=e.length-1;return String(e[s]?.escalateAfterMinutes??"")===r?e:e.map((o,l)=>l===s?{...o,escalateAfterMinutes:r}:o)}function Oh(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 Nl=e=>`/api/v1/complaint-types/${e}/workflow-steps`;function Dh(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 $a(e){return e===!0||e==="Yes"||e==="yes"||e==="true"||e===1||e==="1"}const _l=(e,t)=>t.rejectWithValue({status:e?.response?.status??e?.status,message:Dh(e)}),Ze=ie.createAsyncThunk("workflow/fetchSteps",async(e,t)=>{try{return(await ge.get(Nl(e))).data}catch(n){return _l(n,t)}}),mr=ie.createAsyncThunk("workflow/updateSteps",async({id:e,tables:t,onSuccess:n,onFail:r},s)=>{try{if(!Array.isArray(t.tables))throw new Error("tables must be an array");const o=t.tables.map((i,c)=>{const d=Array.isArray(i.role)?i.role.map(y=>Number(y)):[],f=Array.isArray(i.users)?i.users.map(y=>Number(y)):[],u=d.length>0,p=f.length>0,v=!u&&(p||i.workflowType==="user");return{levelNo:c+1,workflowType:v?"Users Based":"Role Based",...u||!v?{roleIds:d}:{},...p||v?{userAssignments:f.map(y=>({userId:y}))}:{},escalateAfterMinutes:je(i.escalateAfterMinutes),canResolve:$a(i.canResolve),canReassign:$a(i.canReassign),isFinalLevel:$a(i.finalLevel),isActive:!0}}),l=await ge.put(Nl(e),{steps:o});return typeof n=="function"&&n(l.data),l.data}catch(o){return typeof r=="function"&&r(o),_l(o,s)}}),Mh={workflowSteps:null,workflowStepsLoading:!1,workflowStepsSaving:!1,error:null},xh=ie.createSlice({name:"workflow",initialState:Mh,reducers:{},extraReducers:e=>{e.addCase(Ze.pending,t=>{t.workflowStepsLoading=!0,t.error=null,t.workflowSteps=null}).addCase(Ze.fulfilled,(t,n)=>{t.workflowStepsLoading=!1,t.workflowSteps=n.payload?.data??n.payload}).addCase(Ze.rejected,(t,n)=>{n.meta.aborted||(t.workflowStepsLoading=!1,t.error=n.payload?.message??n.error?.message??"Failed to fetch workflow steps")}).addCase(mr.pending,t=>{t.workflowStepsSaving=!0,t.error=null}).addCase(mr.fulfilled,(t,n)=>{t.workflowStepsSaving=!1,t.workflowSteps=n.payload?.data??n.payload}).addCase(mr.rejected,(t,n)=>{t.workflowStepsSaving=!1,t.error=n.payload?.message??n.error?.message??"Failed to update workflow steps"})}}).reducer,ja="/api/v1/complaints/list",El=e=>Array.isArray(e)?e.filter(t=>t!=null&&t!==""&&t!=="all"&&t!=="All"):e==null||e===""||e==="all"||e==="All"?[]:[e];function Va(e={}){const{complaintTypeId:t,page:n=1,limit:r=10,status:s,sort:o="-createdAt",fromDate:l,toDate:i,assignmentFilter:c,escalationTo:d,search:f}=e,u={complaintTypeId:t,page:n,limit:r,sort:o},p=El(s),v=El(d).map(Number).filter(Number.isFinite);return p.length&&(u.status=p),v.length&&(u.escalationTo=v),c!=null&&c!==""&&(u.assignmentFilter=c),l&&i&&(u.fromDate=l,u.toDate=i),typeof f=="string"&&f.trim()!==""&&(u.search=f.trim()),u}const Ph=(e,t)=>{const n=e?.response?.data,r=Array.isArray(n?.errors)?n.errors.map(s=>s?.message).filter(Boolean):[];return t.rejectWithValue({status:e?.response?.status??e?.status,message:(r.length?r.join(" "):null)??n?.message??n?.error??e?.message??"Something went wrong"})},gr=ie.createAsyncThunk("complaintManagement/fetchQueries",async(e,t)=>{try{return(await ge.post(ja,Va(e),{signal:t.signal})).data}catch(n){return Ph(n,t)}}),Bh=e=>`/api/v1/complaints/${e}`,Uh=(e,t)=>{const n=e?.response?.data,r=Array.isArray(n?.errors)?n.errors.map(s=>s?.message).filter(Boolean):[];return t.rejectWithValue({status:e?.response?.status??e?.status,message:(r.length?r.join(" "):null)??n?.message??n?.error??e?.message??"Something went wrong"})};function Wa(e){if(e==null||e==="")return;const t=Number(e);return Number.isNaN(t)?void 0:t}const Tt=ie.createAsyncThunk("changeStatus/update",async({id:e,statusId:t,currentStepId:n,assignedToUserId:r,remark:s,onSuccess:o,onFail:l},i)=>{try{const c={},d=Wa(t),f=Wa(n),u=Wa(r);d!=null&&(c.statusId=d),f!=null&&(c.currentStepId=f),u!=null&&(c.assignedToUserId=u),s!=null&&String(s).trim()!==""&&(c.remarks=String(s).trim());const p=await ge.patch(Bh(e),c,{signal:i.signal});return o&&typeof o=="function"&&o(p.data),p.data}catch(c){return l&&typeof l=="function"&&l(c),Uh(c,i)}}),Tl={list:[],meta:null,isLoading:!1,error:null,hasLoaded:!1,requestedComplaintTypeId:null},$h=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}},jh=e=>e.payload?.message??e.error?.message??"Failed to fetch queries",Ll=e=>e?.complaintId??e?.id,Vh=(e,t)=>{const n=t.meta?.arg??{},r=t.payload?.data??t.payload,s=n.id??Ll(r);return s==null?e:e.map(o=>{if(String(Ll(o))!==String(s))return o;const l={...o};return r&&typeof r=="object"&&!Array.isArray(r)&&["status","statusId","level","levelNo","currentStepId","currentWorkflowStepId","workflowStepId","assignedToUserId"].forEach(i=>{r[i]!==void 0&&(l[i]=r[i])}),n.statusId!=null&&(l.statusId=n.statusId),n.status&&(l.status=n.status),n.currentStepId!=null&&(l.currentStepId=n.currentStepId,l.currentWorkflowStepId=n.currentStepId,l.workflowStepId=n.currentStepId),n.level!=null&&(l.level=n.level,l.levelNo=n.level),n.assignedToUserId!=null&&(l.assignedToUserId=n.assignedToUserId),l})},Il=ie.createSlice({name:"complaintManagement",initialState:Tl,reducers:{resetComplaintManagementState:()=>Tl},extraReducers:e=>{e.addCase(gr.pending,(t,n)=>{t.isLoading=!0,t.error=null,t.hasLoaded=!1,t.list=[],t.requestedComplaintTypeId=n.meta.arg?.complaintTypeId??null}).addCase(gr.fulfilled,(t,n)=>{const r=n.meta.arg?.complaintTypeId;if(t.requestedComplaintTypeId!=null&&r!=null&&String(t.requestedComplaintTypeId)!==String(r))return;const s=$h(n.payload);t.isLoading=!1,t.hasLoaded=!0,t.list=s.list,t.meta=s.meta}).addCase(gr.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=jh(n))}).addCase(Tt.fulfilled,(t,n)=>{t.list=Vh(t.list,n)})}}),{resetComplaintManagementState:Fl}=Il.actions,Wh=Il.reducer,qh=e=>`/api/v1/complaint-types/${e}/statuses`,Hh="/api/v1/complaints/summary",kl=(e,t)=>{const n=e?.response?.data,r=Array.isArray(n?.errors)?n.errors.map(s=>s?.message).filter(Boolean):[];return t.rejectWithValue({status:e?.response?.status??e?.status,message:(r.length?r.join(" "):null)??n?.message??n?.error??e?.message??"Something went wrong"})},Qt=ie.createAsyncThunk("status/fetchStatuses",async(e,t)=>{try{return(await ge.get(qh(e),{signal:t.signal})).data}catch(n){return kl(n,t)}}),Ar=ie.createAsyncThunk("status/fetchComplaintSummary",async(e,t)=>{try{return(await ge.get(Hh,{params:{complaintTypeId:e},signal:t.signal})).data}catch(n){return kl(n,t)}}),Ol={list:[],isLoading:!1,error:null,hasLoaded:!1,requestedComplaintTypeId:null,complaintSummary:null,isComplaintSummaryLoading:!1,complaintSummaryError:null,hasComplaintSummaryLoaded:!1,requestedComplaintSummaryTypeId:null},zh=e=>{const t=e?.data??e?.results??e?.items??e;return Array.isArray(t)?t:[]},Kh=e=>{const t=e?.data??e;return!t||typeof t!="object"||Array.isArray(t)?null:t},Qh=e=>e.payload?.message??e.error?.message??"Failed to fetch statuses",Xh=e=>e.payload?.message??e.error?.message??"Failed to fetch complaint summary",yr=(e,t)=>e!=null&&t!=null&&String(e)!==String(t),Dl=ie.createSlice({name:"status",initialState:Ol,reducers:{resetStatusState:()=>Ol},extraReducers:e=>{e.addCase(Qt.pending,(t,n)=>{t.isLoading=!0,t.error=null,t.hasLoaded=!1,t.list=[],t.requestedComplaintTypeId=n.meta.arg??null}).addCase(Qt.fulfilled,(t,n)=>{const r=n.meta.arg;if(yr(t.requestedComplaintTypeId,r))return;const s=zh(n.payload);t.isLoading=!1,t.hasLoaded=!0,t.list=[...s].sort((o,l)=>(o.displayOrder??0)-(l.displayOrder??0))}).addCase(Qt.rejected,(t,n)=>{if(n.meta.aborted)return;const r=n.meta.arg;yr(t.requestedComplaintTypeId,r)||(t.isLoading=!1,t.hasLoaded=!0,t.error=Qh(n))}).addCase(Ar.pending,(t,n)=>{t.isComplaintSummaryLoading=!0,t.complaintSummaryError=null,t.hasComplaintSummaryLoaded=!1,t.complaintSummary=null,t.requestedComplaintSummaryTypeId=n.meta.arg??null}).addCase(Ar.fulfilled,(t,n)=>{const r=n.meta.arg;yr(t.requestedComplaintSummaryTypeId,r)||(t.isComplaintSummaryLoading=!1,t.hasComplaintSummaryLoaded=!0,t.complaintSummary=Kh(n.payload))}).addCase(Ar.rejected,(t,n)=>{if(n.meta.aborted)return;const r=n.meta.arg;yr(t.requestedComplaintSummaryTypeId,r)||(t.isComplaintSummaryLoading=!1,t.hasComplaintSummaryLoaded=!0,t.complaintSummaryError=Xh(n))})}}),{resetStatusState:Ml}=Dl.actions,Yh=Dl.reducer,Gh="/api/v1/complaints",Jh="/api/v1/complaint-types",xl=(e,t)=>{const n=e?.response?.data,r=Array.isArray(n?.errors)?n.errors.map(s=>s?.message).filter(Boolean):[];return t.rejectWithValue({status:e?.response?.status??e?.status,message:(r.length?r.join(" "):null)??n?.message??n?.error??e?.message??"Something went wrong"})},br=ie.createAsyncThunk("createComplaint/create",async(e,t)=>{try{return(await ge.post(Gh,e,{signal:t.signal})).data}catch(n){return xl(n,t)}}),Mn=ie.createAsyncThunk("createComplaint/updateActive",async({id:e,isActive:t,onSuccess:n,onFail:r},s)=>{try{const o=await ge.patch(`${Jh}/${e}`,{isActive:t},{signal:s.signal});return n&&typeof n=="function"&&n(o.data),o.data}catch(o){return r&&typeof r=="function"&&r(o),xl(o,s)}}),Zh={data:null,isLoading:!1,error:null,hasLoaded:!1,isActive:!0,activeComplaintTypeId:null,isUpdatingActive:!1,activeError:null},Rh=e=>e.payload?.message??e.error?.message??"Failed to create complaint",em=e=>e.payload?.message??e.error?.message??"Failed to update complaint type",tm=ie.createSlice({name:"createComplaint",initialState:Zh,reducers:{},extraReducers:e=>{e.addCase(br.pending,t=>{t.isLoading=!0,t.error=null,t.hasLoaded=!1}).addCase(br.fulfilled,(t,n)=>{t.isLoading=!1,t.hasLoaded=!0,t.data=n.payload?.data??n.payload}).addCase(br.rejected,(t,n)=>{n.meta.aborted||(t.isLoading=!1,t.hasLoaded=!0,t.error=Rh(n))}).addCase(Mn.pending,t=>{t.isUpdatingActive=!0,t.activeError=null}).addCase(Mn.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(Mn.rejected,(t,n)=>{n.meta.aborted||(t.isUpdatingActive=!1,t.activeError=em(n))})}}).reducer,Pl={data:null,isLoading:!1,error:null,hasLoaded:!1,updatingId:null},nm=e=>e.payload?.message??e.error?.message??"Failed to update complaint status",Bl=ie.createSlice({name:"changeStatus",initialState:Pl,reducers:{resetChangeStatusState:()=>Pl},extraReducers:e=>{e.addCase(Tt.pending,(t,n)=>{t.isLoading=!0,t.error=null,t.hasLoaded=!1,t.updatingId=n.meta.arg?.id??null}).addCase(Tt.fulfilled,(t,n)=>{t.isLoading=!1,t.hasLoaded=!0,t.updatingId=null,t.data=n.payload?.data??n.payload}).addCase(Tt.rejected,(t,n)=>{n.meta.aborted||(t.isLoading=!1,t.hasLoaded=!0,t.updatingId=null,t.error=nm(n))})}}),{resetChangeStatusState:rm}=Bl.actions,am=Bl.reducer,sm={BASE_URL:"/",DEV:!1,MODE:"production",PROD:!0,SSR:!1},qa=(e,t)=>{try{return sm?.[e]||t}catch{return t}},om=qa("VITE_S3_API_URL","https://api.airaops.com").replace(/\/$/,""),Ul=qa("VITE_S3_UPLOAD_ENDPOINT","/api/v1/files/upload"),lm=qa("VITE_S3_SIGNED_URL_ENDPOINT","/api/v1/files/signed-url"),$l=e=>/^https?:\/\//i.test(e)?e:`${om}${e}`,im=e=>(String(e?.name||e?.fileName||"file").split(/[/\\]/).pop()||"file").replace(/[^\w.-]+/g,"_")||"file",jl=(e,t)=>{const n=e?.response?.data,r=n?.error?.details?.errors?.file;if(r)return r;const s=n?.message;return s||(e?.response?.status===404?`S3 upload endpoint was not found: ${Ul}`:e?.response?.data?.error??e?.message??t)},xn=ie.createAsyncThunk("s3/fileUpload",async({file:e,folder:t},{rejectWithValue:n})=>{try{const r={fileSize:e.size,subDirectory:t,fileName:im(e)},s=await ge.post($l(Ul),r),o=s.data.uploadSignedUrl;return(await fetch(o,{method:"PUT",headers:{"Content-Type":e.type||"application/octet-stream"},body:e})).ok?s.data:n("Error uploading file")}catch(r){return n(jl(r,"Error uploading file"))}}),Pn=ie.createAsyncThunk("s3/getSignedUrl",async({params:e},{rejectWithValue:t})=>{try{const r=(await ge.get($l(lm),{params:e})).data??{},s=r.data??r;return s.signedUrl||s.uploadSignedUrl||""}catch(n){return t(jl(n,"Error getting file signedUrl"))}}),cm={isUploading:!1,uploadedFile:null,uploadedFiles:[],uploadError:null,isGettingSignedUrl:!1,signedUrl:"",signedUrlError:null},dm=ie.createSlice({name:"s3",initialState:cm,reducers:{},extraReducers:e=>{e.addCase(xn.pending,t=>{t.isUploading=!0,t.uploadError=null}).addCase(xn.fulfilled,(t,n)=>{t.isUploading=!1,t.uploadedFile=n.payload,t.uploadedFiles.push(n.payload)}).addCase(xn.rejected,(t,n)=>{n.meta.aborted||(t.isUploading=!1,t.uploadError=n.payload||"Error uploading file")}).addCase(Pn.pending,t=>{t.isGettingSignedUrl=!0,t.signedUrl="",t.signedUrlError=null}).addCase(Pn.fulfilled,(t,n)=>{t.isGettingSignedUrl=!1,t.signedUrl=n.payload}).addCase(Pn.rejected,(t,n)=>{n.meta.aborted||(t.isGettingSignedUrl=!1,t.signedUrl="",t.signedUrlError=n.payload||"Error getting file signedUrl")})}}).reducer,um=e=>`/api/v1/complaints/${encodeURIComponent(e)}`,fm=(e,t)=>{const n=e?.response?.data,r=Array.isArray(n?.errors)?n.errors.map(s=>s?.message).filter(Boolean):[];return t.rejectWithValue({status:e?.response?.status??e?.status,message:(r.length?r.join(" "):null)??n?.message??n?.error??e?.message??"Failed to fetch complaint details"})},Lt=ie.createAsyncThunk("complaintsGetOne/fetchById",async(e,t)=>{try{return(await ge.get(um(e),{signal:t.signal})).data}catch(n){return fm(n,t)}}),Vl={data:null,isLoading:!1,error:null,hasLoaded:!1,requestedComplaintId:null},pm=e=>e.payload?.message??e.error?.message??"Failed to fetch complaint details",Wl=(e,t)=>e!=null&&t!=null&&String(e)!==String(t),ql=ie.createSlice({name:"complaintsGetOne",initialState:Vl,reducers:{resetComplaintDetails:()=>Vl},extraReducers:e=>{e.addCase(Lt.pending,(t,n)=>{t.data=null,t.isLoading=!0,t.error=null,t.hasLoaded=!1,t.requestedComplaintId=n.meta.arg??null}).addCase(Lt.fulfilled,(t,n)=>{Wl(t.requestedComplaintId,n.meta.arg)||(t.data=n.payload?.data??n.payload,t.isLoading=!1,t.hasLoaded=!0)}).addCase(Lt.rejected,(t,n)=>{n.meta.aborted||Wl(t.requestedComplaintId,n.meta.arg)||(t.isLoading=!1,t.hasLoaded=!0,t.error=pm(n))})}}),{resetComplaintDetails:hm}=ql.actions,mm=ql.reducer,gm=e=>`/api/v1/users/role/${e}`,It=ie.createAsyncThunk("roleUsers/fetchByRole",async(e,t)=>{try{const n=await ge.get(gm(encodeURIComponent(e)),{signal:t.signal});return{roleId:e,response:n.data}}catch(n){return t.rejectWithValue({roleId:e,message:n?.response?.data?.message??n?.response?.data?.error??n?.message??"Failed to fetch users for role"})}}),Am={usersByRoleId:{},loadingByRoleId:{},errorByRoleId:{}},ym=ie.createSlice({name:"roleUsers",initialState:Am,reducers:{},extraReducers:e=>{e.addCase(It.pending,(t,n)=>{const r=String(n.meta.arg);t.loadingByRoleId[r]=!0,delete t.errorByRoleId[r]}).addCase(It.fulfilled,(t,n)=>{const r=String(n.payload.roleId),s=n.payload.response?.data??n.payload.response;t.usersByRoleId[r]=Array.isArray(s)?s:[],t.loadingByRoleId[r]=!1}).addCase(It.rejected,(t,n)=>{if(n.meta.aborted)return;const r=String(n.payload?.roleId??n.meta.arg);t.loadingByRoleId[r]=!1,t.errorByRoleId[r]=n.payload?.message??n.error?.message??"Failed to fetch users for role"})}}).reducer,bm=e=>`/api/v1/complaints/${encodeURIComponent(e)}/activities`,Ft=ie.createAsyncThunk("activityLog/fetchByComplaint",async(e,t)=>{try{const n=await ge.get(bm(e),{signal:t.signal});return{complaintId:e,response:n.data}}catch(n){return t.rejectWithValue({complaintId:e,message:n?.response?.data?.message??n?.response?.data?.error??n?.message??"Failed to fetch complaint activity"})}}),Hl={activities:[],complaintId:null,isLoading:!1,error:null,hasLoaded:!1,currentRequestId:null};function vm(e){const t=e?.data??e;return Array.isArray(t)?t:Array.isArray(t?.activities)?t.activities:Array.isArray(t?.items)?t.items:Array.isArray(t?.results)?t.results:[]}const zl=ie.createSlice({name:"activityLog",initialState:Hl,reducers:{resetActivityLog:()=>Hl},extraReducers:e=>{e.addCase(Ft.pending,(t,n)=>{t.activities=[],t.complaintId=n.meta.arg??null,t.isLoading=!0,t.error=null,t.hasLoaded=!1,t.currentRequestId=n.meta.requestId}).addCase(Ft.fulfilled,(t,n)=>{t.currentRequestId===n.meta.requestId&&(t.activities=vm(n.payload?.response),t.complaintId=n.payload?.complaintId??n.meta.arg,t.isLoading=!1,t.hasLoaded=!0,t.currentRequestId=null)}).addCase(Ft.rejected,(t,n)=>{n.meta.aborted||t.currentRequestId!==n.meta.requestId||(t.isLoading=!1,t.hasLoaded=!0,t.error=n.payload?.message??n.error?.message??"Failed to fetch complaint activity",t.currentRequestId=null)})}}),{resetActivityLog:Sm}=zl.actions,wm=zl.reducer,Cm=(e,t)=>`/api/v1/complaint-analytics/${e}/${t}`,Nm=(e,t)=>{const n=e?.response?.data,r=Array.isArray(n?.errors)?n.errors.map(s=>s?.message).filter(Boolean):[];return t.rejectWithValue({status:e?.response?.status??e?.status,message:(r.length?r.join(" "):null)??n?.message??n?.error??e?.message??"Something went wrong"})},_m=({fromDate:e,toDate:t,granularity:n}={})=>{const r={};return e&&t&&(r.fromDate=e,r.toDate=t),n&&(r.granularity=n),r},Re=async(e,t,n)=>{try{const{complaintTypeId:r,...s}=t||{};return(await ge.get(Cm(r,e),{params:_m(s),signal:n.signal})).data}catch(r){return Nm(r,n)}},Kl=ie.createAsyncThunk("analytics/fetchOverview",(e,t)=>Re("overview",e,t)),Ql=ie.createAsyncThunk("analytics/fetchTrends",(e,t)=>Re("trends",e,t)),Xl=ie.createAsyncThunk("analytics/fetchBacklog",(e,t)=>Re("backlog",e,t)),Yl=ie.createAsyncThunk("analytics/fetchSla",(e,t)=>Re("sla",e,t)),Gl=ie.createAsyncThunk("analytics/fetchResolutionTimes",(e,t)=>Re("resolution-times",e,t)),Jl=ie.createAsyncThunk("analytics/fetchTypes",(e,t)=>Re("types",e,t)),Zl=ie.createAsyncThunk("analytics/fetchWorkflowBottlenecks",(e,t)=>Re("workflow-bottlenecks",e,t)),Rl=ie.createAsyncThunk("analytics/fetchWorkload",(e,t)=>Re("workload",e,t)),ei=ie.createAsyncThunk("analytics/fetchEscalations",(e,t)=>Re("escalations",e,t)),ti=ie.createAsyncThunk("analytics/fetchReassignments",(e,t)=>Re("reassignments",e,t)),Em={overview:Kl,trends:Ql,backlog:Xl,sla:Yl,resolutionTimes:Gl,types:Jl,workflowBottlenecks:Zl,workload:Rl,escalations:ei,reassignments:ti},ni={data:null,isLoading:!1,error:null,hasLoaded:!1,requestedComplaintTypeId:null},Tm=ie.createAction("analytics/reset"),Lm=e=>e?.data??e??null,Im=e=>e.payload?.message??e.error?.message??"Failed to fetch analytics",ri=(e,t)=>e!=null&&t!=null&&String(e)!==String(t),et=(e,t)=>ie.createSlice({name:`analytics/${e}`,initialState:ni,reducers:{},extraReducers:n=>{n.addCase(Tm,()=>ni).addCase(t.pending,(r,s)=>{const o=s.meta.arg?.complaintTypeId??null;String(r.requestedComplaintTypeId)!==String(o)&&(r.data=null),r.isLoading=!0,r.error=null,r.hasLoaded=!1,r.requestedComplaintTypeId=o}).addCase(t.fulfilled,(r,s)=>{ri(r.requestedComplaintTypeId,s.meta.arg?.complaintTypeId)||(r.isLoading=!1,r.hasLoaded=!0,r.data=Lm(s.payload))}).addCase(t.rejected,(r,s)=>{s.meta.aborted||ri(r.requestedComplaintTypeId,s.meta.arg?.complaintTypeId)||(r.isLoading=!1,r.hasLoaded=!0,r.error=Im(s))})}}),Fm=et("overview",Kl).reducer,km=et("trends",Ql).reducer,Om=et("backlog",Xl).reducer,Dm=et("sla",Yl).reducer,Mm=et("resolutionTimes",Gl).reducer,xm=et("types",Jl).reducer,Pm=et("workflowBottlenecks",Zl).reducer,Bm=et("workload",Rl).reducer,Um=et("escalations",ei).reducer,$m=et("reassignments",ti).reducer,jm=ie.combineReducers({overview:Fm,trends:km,backlog:Om,sla:Dm,resolutionTimes:Mm,types:xm,workflowBottlenecks:Pm,workload:Bm,escalations:Um,reassignments:$m}),Vm=ie.combineReducers({complaintAppComplaint:gl,complaintType:Ch,appDetails:Sl,workflow:xh,roles:wl.reducer,complaintManagement:Wh,status:Yh,createComplaint:tm,changeStatus:am,s3:dm,complaintsGetOne:mm,roleUsers:ym,activityLog:wm,analytics:jm}),ai=e=>ie.configureStore({reducer:Vm,preloadedState:e,middleware:t=>t({immutableCheck:!1,serializableCheck:!1})}),si=ai(),oi="data:image/png;base64,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";function Ee({children:e,variant:t="primary",size:n="md",startIcon:r,endIcon:s,className:o="",type:l="button",disabled:i=!1,onClick:c,...d}){const f=["ca-btn",`ca-btn--${t}`,n==="sm"?"ca-btn--sm":"",n==="lg"?"ca-btn--lg":"",o].filter(Boolean).join(" ");return a.jsxs("button",{type:l,className:f,disabled:i,onClick:c,...d,children:[r?a.jsx("span",{className:"ca-btn__icon",children:r}):null,e,s?a.jsx("span",{className:"ca-btn__icon",children:s}):null]})}function li({size:e=16,color:t="currentColor",...n}){return a.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:a.jsx("path",{d:"M12 5v14M5 12h14",stroke:t,strokeWidth:"2",strokeLinecap:"round"})})}const ii={h1:"ca-h1",h2:"ca-h2",body:"ca-body",label:"ca-label",value:"ca-value",small:"ca-small",link:"ca-link"},Wm={h1:"h1",h2:"h2",body:"p",label:"span",value:"span",small:"span",link:"button"};function At({variant:e="body",as:t,className:n="",children:r,...s}){const o=t||Wm[e]||"p",l=ii[e]||ii.body;return a.jsx(o,{className:`${l} ${n}`.trim(),...s,children:r})}function Ha(e){return a.jsx(At,{variant:"h1",...e})}function za(e){return a.jsx(At,{variant:"h2",...e})}function Ka(e){return a.jsx(At,{variant:"body",...e})}function ci(e){return a.jsx(At,{variant:"label",...e})}function di(e){return a.jsx(At,{variant:"value",...e})}function qm(e){return a.jsx(At,{variant:"link",type:"button",...e})}function vr({title:e="Complaint Management",description:t,actionLabel:n="Create New Form",onAction:r,showAction:s=!0,className:o=""}){return a.jsxs("header",{className:`ca-page-header ${o}`.trim(),children:[a.jsxs("div",{className:"ca-page-header__text",children:[a.jsx(Ha,{children:e}),t?a.jsx(Ka,{children:t}):null]}),s?a.jsx("div",{className:"ca-page-header__actions",children:a.jsx(Ee,{startIcon:a.jsx(li,{}),onClick:r,children:n})}):null]})}function Sr({checked:e=!1,onChange:t,disabled:n=!1,"aria-label":r="Toggle",className:s=""}){return a.jsx("button",{type:"button",role:"switch","aria-checked":e,"aria-label":r,disabled:n,className:`ca-toggle ${e?"ca-toggle--on":""} ${s}`.trim(),onClick:()=>t?.(!e),children:a.jsx("span",{className:"ca-toggle__thumb"})})}function wr({size:e=16,color:t="#9CA3AF",...n}){return a.jsx("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",...n,children:a.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 Hm="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAACXBIWXMAACxLAAAsSwGlPZapAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAOdEVYdFNvZnR3YXJlAEZpZ21hnrGWYwAAAWVJREFUeAHtm81NxDAQhT9+7iwVkBI4csyR43bAdgAdUAJLBVsKJUAHgQpCB8FRIhHMKnK82ZWdeZ/0lFjOKM6TNZlENgghhBD7eHCqnar+3Bztgze9ahbK2UhfM+HabDnHOOYNuCRfCqfH/vzV6ZOZaTylxju/Y3sjkpyT4CzjUxLEODIA48gAjCMDME4qBrzQFTZtdVeQCKcqhUvvPtvAuFnGl8IMKLz2FSdEOQDjyACMIwMwjgzAODIA4xzDgGenndOazIn52Nh4MauImB1hJPkxVHrt5GeBcgDGkQEYRwZgHBnAcfkmY2IqrXJwfUXYP/4Vf5fkhRZPW6b/Sp9EbKlZ0JW3IWXwMGY9Maal5H/1OQmtE8Q4MmCkz8/gNyyQMQM+vPYTC+RipO/a6X7QvuuPX2T+fg/Ffz/nqooD9jvc0u0VyOFBx3TQfofWhApoMlbFDGzoFiXnNiPqfuxCCCGExw9cfQ+fJ3a07QAAAABJRU5ErkJggg==";function ui({title:e,titleAsLink:t=!1,onTitleClick:n,isActive:r=!1,canManage:s=!1,canDelete:o=!1,activeDisabled:l=!1,onActiveChange:i,onDelete:c,canViewAnalytics:d=!1,complaintTypeId:f,className:u=""}){const p=Ge();return a.jsxs("div",{className:`ca-system-card__header ${u}`.trim(),children:[a.jsx("div",{className:"ca-system-card__title-wrap",children:t?a.jsx("button",{type:"button",className:"ca-h2 ca-h2--link",onClick:n,children:e}):a.jsx(za,{children:e})}),a.jsxs("div",{className:"ca-system-card__header-actions",children:[d&&f!=null&&f!==""?a.jsx("button",{type:"button",className:"ca-system-card__analytics","aria-label":`View analytics for ${e}`,title:"View analytics",onClick:()=>p(`/complaintanalysis/${String(f)}`),children:a.jsx("img",{src:Hm,alt:""})}):null,a.jsx("span",{className:"ca-system-card__active-label",children:r?"Active":"Inactive"}),s?a.jsx(Sr,{checked:r,disabled:l,"aria-label":`${r?"Deactivate":"Activate"} ${e}`,onChange:i}):null,o?a.jsx("button",{type:"button",className:"ca-system-card__delete","aria-label":`Delete ${e}`,title:`Delete ${e}`,onClick:c,children:a.jsx(wr,{size:40,color:"currentColor"})}):null]})]})}function Xt({size:e=16,color:t="currentColor",...n}){return a.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:a.jsx("path",{d:"M9 6l6 6-6 6",stroke:t,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}const zm="aira-query-complaintTypeId";function fi({updatedOn:e,openLabel:t="Open",configureLabel:n="Configure",onOpen:r,className:s="",id:o,canConfigure:l=!1,canOpen:i=!1,canAddComplaint:c=!1}){const d=Ge(),f=Y.useDispatch(),u=o?.data??o?.id??o?._id??o,p=()=>{const v=o?.data??o?.id??o?._id??o;if(v!=null&&v!==""){const y=String(v);try{sessionStorage.setItem(zm,y)}catch{}f(Et(y)),f(Fl()),f(Ml()),d(`/complaintmanagement/${y}`);return}d("/complaintmanagement")};return a.jsxs("div",{className:`ca-system-card__footer ${s}`.trim(),children:[a.jsx(At,{variant:"small",as:"span",children:e?`Active Since ${e}`:""}),a.jsxs("div",{className:"ca-system-card__footer-actions",children:[i?a.jsx(Ee,{size:"sm",onClick:p,endIcon:a.jsx(Xt,{size:14,color:"currentColor",className:"svg ca-chevron"}),children:t}):null,l?a.jsx(Ee,{size:"sm",onClick:()=>{if(u==null||u==="")return;const v=String(u);f(Ht({data:!0})),f(Et(v)),d(`/settings/${v}?step=1`)},endIcon:a.jsx(Xt,{size:14,color:"currentColor",className:"svg ca-chevron"}),children:n}):null,c?a.jsx(Ee,{size:"sm",onClick:()=>{u==null||u===""||d(`/complaintmanagement/new/${String(u)}`)},endIcon:a.jsx(Xt,{size:14,color:"currentColor",className:"svg ca-chevron"}),children:"Add complaint"}):null]})]})}function pi({label:e,value:t,icon:n,className:r=""}){const s=t==null?"—":typeof t=="number"?String(t).padStart(2,"0"):t;return a.jsxs("div",{className:`ca-data-point ${r}`.trim(),children:[n?a.jsx("span",{className:"ca-data-point__icon","aria-hidden":"true",children:n}):null,a.jsx(di,{children:s}),a.jsx("span",{className:"ca-data-point__label",children:e})]})}function hi({className:e=""}){return a.jsx("div",{className:`ca-divider ${e}`.trim(),role:"separator","aria-orientation":"vertical"})}const Km="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",Qm="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",Xm="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",Ym="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",Gm="Complaints",Jm=[{actionName:"READ",featureModule:{name:"Complaints",isActive:!1},source:"role:STOREMANAGER"},{actionName:"DELETE",featureModule:{name:"Complaints",isActive:!1},source:"role:STOREMANAGER"},{actionName:"CREATE",featureModule:{name:"Complaints",isActive:!1},source:"role:STOREMANAGER"},{actionName:"FULL_ACCESS",featureModule:{name:"Complaints",isActive:!0},source:"role:STOREMANAGER"},{actionName:"FULL_DATA_ACCESS",featureModule:{name:"Complaints",isActive:!1},source:"role:STOREMANAGER"}];function Cr(e){const t=Array.isArray(e)?e:[],n=new Set(t.filter(d=>d?.featureModule?.name===Gm&&d?.featureModule?.isActive!==!1).map(d=>String(d?.actionName||"").trim().toUpperCase())),r=n.has("FULL_ACCESS"),s=n.has("FULL_DATA_ACCESS")||n.has("FULL_CONTENT_ACCESS"),o=n.has("READ")||r,l=n.has("CREATE")||r,i=n.has("DELETE")||r,c=s;return{canViewCards:o,canCreateForm:l,canDelete:i,canOpen:c,canSeeAllFilters:r||s,hasAnyAccess:o||l||i||c}}const Zm=["Text","Dropdown","Radio","Number","Email","Date","Text Area","Checkbox","File","Time"],mi=new Set(["Select","Dropdown","Radio","Checkbox"]),Rm=["Both","User","Admin"],eg={Open:"#FF0000",Cancelled:"#FF6F00",Closed:"#00D82F"},Qa=["Open","Cancelled","Closed"],dt={id:"default-status",fieldKey:"status",fieldLabel:"Status",originalFieldName:"Status",fieldType:"Custom",required:!0,fieldAccess:"",hideFor:[],dependsOn:"",options:[...Qa],optionColors:{...eg},parentMappings:{},lockMode:"options",isNew:!1},Nr={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},Bn={id:"custom-store-id",fieldKey:"storeIdCustom",fieldLabel:"Office",originalFieldName:"Office",fieldType:"Custom",required:!0,fieldAccess:"",hideFor:[],dependsOn:"",options:[],optionColors:{},parentMappings:{},lockMode:"all",isNew:!1},tg=[{...dt,label:dt.fieldLabel},{...Bn,label:Bn.fieldLabel}];function gi(e){return String(e||"").trim().toLowerCase()}function de(e){const t=gi(e?.fieldKey),n=gi(e?.fieldLabel||e?.label);return t==="status"||t==="statuses"||t==="statuscustom"||n==="status"||n==="statuses"}function tt(e){return de(e)&&(e?.lockMode==="options"||e?.lockMode==="all")}function ng(e,t=[]){if(!de(e))return!1;const n=t.length?t:[e],r=n.filter(l=>!l?.isNew&&de(l)),s=n.filter(tt),o=r[0]||s[0]||n.find(l=>de(l)&&!l?.isNew);return o?String(o.id)===String(e.id):!e?.isNew}function _r(e){const t=String(e?.fieldKey||"").toLowerCase(),n=String(e?.fieldLabel||e?.label||"").trim().toLowerCase();return t==="priorities"||n==="priorities"}function Ve(e){const t=String(e?.fieldKey||"").toLowerCase(),n=String(e?.fieldLabel||e?.label||e?.fieldName||"").trim().toLowerCase();return t==="storeid"||t==="storeidcustom"||n==="store id"}function yt(e){const t=String(e||"").trim().toLowerCase();return t==="open"||t==="cancelled"||t==="canceled"||t==="closed"}function rg(e){return String(e||"").trim().toLowerCase()==="open"}function Er(e){return String(e||"").trim().toLowerCase()==="done"?"Closed":e}function Yt(e=[]){const t=(e||[]).filter(l=>l!=null&&String(l).trim()!==""),n=l=>t.find(i=>String(i).trim().toLowerCase()===l),r=n("open"),s=["cancelled","closed"].map(n).filter(l=>l!=null),o=t.filter(l=>l!==r&&!s.includes(l));return[r,...o,...s].filter(l=>l!=null)}function ag(e=[]){const t=new Set(Qa.map(r=>r.toLowerCase())),n=(e||[]).filter(r=>{const s=String(r||"").trim().toLowerCase();return!s||s==="done"||s==="canceled"||t.has(s)?!1:(t.add(s),!0)});return Yt([...Qa,...n])}function Ai(e){return mi.has(e?.fieldType)||tt(e)}function Xa(e){return!e||de(e)||Ve(e)||!mi.has(e.fieldType)?!1:!(e.options||[]).some(t=>String(t||"").trim())}function Gt(e=[]){return e.some(Xa)}function yi(e=[]){const t=[],n=new Set;return e.forEach(r=>{if(!Xa(r))return;const s=String(r.fieldType||"").trim();!s||n.has(s)||(n.add(s),t.push(s))}),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 sg(e,t){const n=String(e?.fieldLabel||e?.label||"").trim().toLowerCase(),r=String(t?.fieldLabel||t?.label||"").trim().toLowerCase(),s=String(e?.fieldType||"").trim().toLowerCase(),o=String(t?.fieldType||"").trim().toLowerCase();return!!(n&&r&&s&&o&&n===r&&s===o)}function Tr(e,t=[]){return e?t.some(n=>String(n.id)===String(e.id)?!1:sg(e,n)):!1}function Lr(e=[]){return e.some(t=>Tr(t,e))}function Ya(e,t={},n=""){const r=String(n||"");if(de({fieldKey:r})||Ve({fieldKey:r}))return t.CUSTOM??"Custom";if(e==="MULTI_SELECT"||e==="MULTISELECT")return t.CHECKBOX??"Checkbox";if(e==="PHONE"||e==="MOBILE")return t.NUMBER??"Number";if(e==="DATETIME"&&r.endsWith("Time")&&!r.endsWith("DateTime"))return t.TIME??"Time";if(e==="SELECT"||e==="DROPDOWN"){const s=r.toLowerCase();if(s.endsWith("dropdown"))return t.DROPDOWN??"Dropdown";if(s.endsWith("select"))return t.SELECT??"Select"}return t[e]??e??"Custom"}function og(e){return _r(e)?"Priorities":"Option"}function lg(e,t=!1){return e?t?"Define options and set parent.":de(e)?"Manage the status":"Manage your fields.":""}function Ir(e,t=[]){if(String(e?.fieldType||"")==="MultiSelect")return Ir({...e,fieldType:"Checkbox"},t);if(de(e)){if(e?.isNew||!ng(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{...dt,...e,fieldKey:dt.fieldKey,fieldLabel:r?dt.fieldLabel:n,originalFieldName:r?dt.originalFieldName:e.originalFieldName??n,fieldType:dt.fieldType,required:!0,options:ag(e.options),optionColors:{...e.optionColors||{},...dt.optionColors},lockMode:"options"}}return _r(e)?{...Nr,...e,fieldKey:e.fieldKey||Nr.fieldKey,fieldType:Nr.fieldType,options:e.options?.length?e.options:Nr.options,lockMode:"options"}:Ve(e)?{...Bn,...e,fieldKey:Bn.fieldKey,fieldType:Bn.fieldType,required:!0,lockMode:"all"}:e}function Jt(e=[]){const t=e.map(r=>Ir(r,e));if(t.some(de))return t;const n={...dt};return[Ir(n,[n,...t]),...t]}const bi="aira-query-complaintTypeId",ig={id:"status",label:"Status",key:"status"},cg={id:"escalationTo",label:"Escalation To",key:"escalationTo"},dg={id:"submittedByUserName",label:"Submitted By",key:"submittedByUserName"},ug={id:"assignedToUserName",label:"Assigned To",key:"assignedToUserName"},fg={id:"complaintId",label:"Complaint Id",key:"complaintId"},pg={id:"createdAt",label:"Created At",key:"createdAt"},hg={id:"updatedAt",label:"Updated At",key:"updatedAt"},vi="desc",Si="asc",mg=50,gg=["25","50","100","200"],Ag=999999,Ga=new Set(["status","escalationTo","id","submittedByUserName","assignedToUserName","complaintId","createdAt","updatedAt"]),yg=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function bg(e){const t=e.getHours(),n=String(e.getMinutes()).padStart(2,"0");return`${String(t%12||12).padStart(2,"0")}:${n} ${t>=12?"PM":"AM"}`}function wi(e){return Ja(e)}function Ja(e){const t=Oi(e);return!e||Number.isNaN(t.getTime())?"":`${Di(e)}, ${bg(t)}`}function Ci(e){return[dg,ug,fg,pg,hg,ig,cg,...e]}function Ni(e){const t=e?.data??e,n=Array.isArray(t)?t:t?.data??t?.results??t?.items??[];return[...Array.isArray(n)?n:[]].sort((r,s)=>(r.displayOrder??0)-(s.displayOrder??0)).map(r=>{const s=r.fieldKey||r.fieldName||r.fieldLabel;return{id:s,label:Ve({...r,fieldKey:s})?"Office":r.fieldName||r.fieldLabel||r.label||s,key:s,fieldType:r.fieldType,hideForWorkflowStepId:r.hideForWorkflowStepId??null}}).filter(r=>r.key&&!Ga.has(r.key))}function vg(e,t,n,r){const s=e?.data??e??{},o=Number(s.total??s.totalItems??s.totalCount??s.count),l=Number(s.totalPages??s.pages??s.pageCount);return Number.isFinite(l)&&l>0?{totalPages:l,totalItems:Number.isFinite(o)&&o>=0?o:Math.max(r,l*n),hasNext:t<l}:Number.isFinite(o)&&o>=0?{totalPages:Math.max(1,Math.ceil(o/n)),totalItems:o,hasNext:t*n<o}:{totalPages:t+(r>=n?1:0),totalItems:Math.max(r,t*n),hasNext:r>=n}}function _i(e){return e==null||e===""?null:typeof e=="object"?e.data??e.id??e._id??null:e}function Sg(){try{return sessionStorage.getItem(bi)}catch{return null}}function Ei(e){const t=_i(e);if(t==null||t==="")return null;const n=String(t);try{sessionStorage.setItem(bi,n)}catch{}return n}function wg(...e){for(const t of e){const n=_i(t);if(n!=null&&n!=="")return String(n)}return null}function Za(e,t=[]){const n=e?.status;if(typeof n=="string"&&n.trim())return n.trim();if(n&&typeof n=="object"){const s=n.name??n.label??n.status;if(s)return String(s).trim();const o=n.id??n.statusId;if(o!=null){const l=t.find(i=>String(i.id)===String(o));if(l?.name)return l.name}}const r=e?.statusId??e?.complaintStatusId;if(r!=null){const s=t.find(o=>String(o.id)===String(r));if(s?.name)return s.name}return""}function Cg(e,t=[]){const n=e?.statusId??e?.complaintStatusId;if(n!=null&&n!=="")return n;const r=e?.status;if(r&&typeof r=="object"){const s=r.id??r.statusId;if(s!=null&&s!=="")return s}if(typeof r=="string"&&r.trim()){const s=t.find(o=>String(o.name).trim()===r.trim());if(s?.id!=null)return s.id}return null}function Fr(e){return e===!0||e==="Yes"||e==="true"||e===1||e==="1"}const Ng=new Set(["closed","cancelled","canceled"]);function Ra(e){return Ng.has(String(e||"").trim().toLowerCase())}function _g(e){return Ra(e)}function kr(e){return Ra(e)}function Ti(e,t=[]){const n=e?.currentStepId??e?.workflowStepId??e?.currentWorkflowStepId;if(n!=null&&n!==""){const s=t.find(o=>String(o.id)===String(n));if(s)return s}const r=e?.level??e?.levelNo;return r!=null&&r!==""?t.find(s=>String(s.levelNo)===String(r))??null:null}function Eg(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 s=t.find(o=>String(o.id)===String(r));if(s?.levelNo!=null)return`Level ${s.levelNo}`}return""}function Li(e,t=[],n=[]){const r=Ti(e,n),s=r?.levelNo??e?.level??e?.levelNo??e?.currentLevel,o=Array.isArray(e?.workflowLevels)?e.workflowLevels.find(u=>String(u?.levelNo)===String(s)):null,l=r?.roleIds?.[0]??r?.roles?.[0]?.id??r?.roleId??o?.roleIds?.[0]??e?.roleId??e?.assignedRoleId??null,i=e?.assignedTo??e?.assignedUser??e?.assignee,d=(i&&typeof i=="object"?i.userId??i.id:i!=null&&i!==""&&Number.isFinite(Number(i))?i:null)??e?.assignedToUser?.userId??e?.assignedToUser?.id??e?.assignedToUserId??e?.assignedToId??e?.assignedUserId??null,f={id:e?.complaintId??e?.id,status:Za(e,t),isClosed:kr(Za(e,t)),statusId:Cg(e,t),escalationTo:Eg(e,n),level:s??null,currentStepId:r?.id??e?.currentStepId??e?.workflowStepId??e?.currentWorkflowStepId??null,canResolve:Fr(e?.canResolve??r?.canResolve),isFinalLevel:Fr(e?.isFinalLevel??r?.isFinalLevel??r?.finalLevel),roleId:l,assignedToUserId:d,assignedToUserName:Bi(e),submittedByUserName:e?.submittedByUserName||"-",complaintId:e?.complaintId??e?.id??"-",createdAt:wi(e?.createdAt)||"-",updatedAt:wi(e?.updatedAt)||"-",updatedAtValue:e?.updatedAt??""};return(e?.formField||[]).forEach(u=>{const p=u.fieldKey||u.fieldName;p&&!Ga.has(p)&&(f[p]=u.value)}),f}function Ii(e,t){const n=new Set,r=t.map(s=>{if(n.add(s.key),s.fieldType)return s;const o=e.flatMap(l=>l._fields||[]).find(l=>(l.fieldKey||l.fieldName)===s.key);return o?.fieldType?{...s,fieldType:o.fieldType}:s});return e.forEach(s=>{(s._fields||[]).forEach(o=>{const l=o.fieldKey||o.fieldName;!l||Ga.has(l)||n.has(l)||(n.add(l),r.push({id:l,label:Ve({...o,fieldKey:l})?"Office":o.fieldName||l,key:l,fieldType:o.fieldType}))})}),r}function Tg(e,t,n){return String(e?.fieldType||"").toLowerCase()==="file"?!0:t.some(s=>n(e,s[e.key]??"-"))}function Fi(e){const t=e?.data??e;return Array.isArray(t)?t:t?.data??t?.results??t?.items??[]}function ki(e){const t=e==null?"":String(e);return/[",\n]/.test(t)?`"${t.replace(/"/g,'""')}"`:t}function Lg(e,t){const n=e.map(s=>ki(s.label)).join(","),r=t.map(s=>e.map(o=>ki(s[o.key]??"-")).join(","));return[n,...r].join(`\r
12
+ `)}function Oi(e){const t=typeof e=="string"?e.trim():"";return/^\d{4}-\d{2}-\d{2}T[\d:.]+$/.test(t)?new Date(`${t}Z`):new Date(e)}function Di(e){if(!e)return"";const t=Oi(e);return Number.isNaN(t.getTime())?"":`${t.getDate()} ${yg[t.getMonth()]} ${t.getFullYear()}`}function Mi(e){return(Array.isArray(e?.roles)?e.roles:[]).map(n=>Number(n?.id??n?.roleId??n?.role_id??n)).filter(n=>Number.isFinite(n))}function xi(e){const t=Array.isArray(e?.accesses)?e.accesses.map(r=>r?.role?.id??r?.role?.roleId??r?.roleId).map(Number).filter(Number.isFinite):[];return t.length?t:(Array.isArray(e?.roleIds)?e.roleIds:Array.isArray(e?.roles)?e.roles:[]).map(r=>Number(r?.id??r?.roleId??r?.role_id??r)).filter(r=>Number.isFinite(r))}function es(e,t=[]){return xi(e).some(n=>t.includes(n))}function Pi(e){if(!e)return"";if(typeof e=="string")return e.trim();if(typeof e!="object")return"";const t=[e.firstName,e.lastName].filter(Boolean).join(" ");return String(e.name||e.userName||e.fullName||t||"").trim()}function Bi(e,t=[]){const n=e?.assignedToUserName??e?.assignedToName??e?.assignedUserName;if(n&&String(n).trim())return String(n).trim();const r=e?.assignedTo??e?.assignedUser??e?.assignee,s=Pi(r);if(s)return s;const o=(r&&typeof r=="object"?r.id??r.userId:r)??e?.assignedToUserId??e?.assignedToId??e?.assignedUserId;if(o!=null&&o!==""){const l=t.find(i=>String(i?.id??i?.userId)===String(o));return Pi(l)}return""}function Ui(e,t=[],n=[],r=null){const s=Za(e,t),o=e?.level??e?.levelNo??e?.currentLevel,l=Array.isArray(r?.steps)?r.steps:[],i=Ti(e,l)??e?.currentWorkflowStep,c=Array.isArray(e?.workflowLevels)?e.workflowLevels.find(p=>String(p?.levelNo)===String(o)):null,d=je(i?.escalateAfterMinutes??i?.tatMinutes??c?.escalateAfterMinutes??c?.tatMinutes),f=d||Number(r?.tatMinutes)||0,u=d>0;return{id:e?.complaintId??e?.id,title:String(e?.complaintId??e?.id??"-"),status:s||"-",isClosed:kr(s),level:o!=null&&o!==""?o:"-",assignedTo:Bi(e,n)||"Unassigned",date:Ja(e?.createdAt??e?.date),tat:r&&!(r.requireLevelTat&&o!=null&&!u)?kg(e,f,s):null}}function Ig(e,t=[]){const n=Number(e?.totalEntries)||0,r=Number(e?.openEntries)||0,s=Number(e?.closedEntries)||0,o=Number(e?.cancelledEntries)||0,l=[e?.workflowSteps?.steps,e?.workflowSteps,e?.workflowLevels,e?.workflowComplaintSummary?.steps?.steps,e?.workflowComplaintSummary?.steps,e?.workflowComplaintSummary?.levels].find(d=>Array.isArray(d)&&d.length)??[],i={tatMinutes:Number(e?.tatMinutes)||0,steps:l},c=(Array.isArray(e?.recentComplaints)?e.recentComplaints:[]).slice(0,2).map(d=>Ui(d,[],t,i));return{total:n,open:r,closed:s,cancelled:o,previewRows:c,tatMinutes:i.tatMinutes}}function $i(e=[]){const t={};return(Array.isArray(e)?e:[]).forEach(n=>{const r=n?.id??n?._id,s=n?.name??n?.storeName;r!=null&&s&&(t[String(r)]=String(s))}),t}function ji(e,t={}){if(!Object.keys(t).length)return e;const n={...e};return Object.keys(n).forEach(r=>{const s=n[r];typeof s=="string"&&t[s.trim()]&&(n[r]=t[s.trim()])}),n}function Vi(e,t=[],n=null){const r=e?.workflowComplaintSummary,s=[r?.levels,r?.steps,e?.workflowLevels,e?.workflowSteps].filter(Array.isArray).flat(),o=i=>Number(i&&typeof i=="object"?i.userId??i.id??i.roleId??i.role_id??i.user?.id??i.role?.id:i),l=(...i)=>i.filter(Array.isArray).flat().map(o).filter(Number.isFinite);return s.some(i=>{const c=l(i?.roleIds,i?.roles,i?.roleId!=null?[i.roleId]:null),d=l(i?.userIds,i?.users,i?.userAssignments,i?.assignedUsers);return c.some(f=>t.includes(f))||n!=null&&d.includes(Number(n))})}function ts(e){const t=Math.max(Math.floor(Math.abs(e)/60),0),n=Math.floor(t/1440),r=Math.floor(t%1440/60),s=t%60,o=[];return n&&o.push(`${n}d`),r&&o.push(`${r}h`),s&&o.push(`${s}m`),o.join(" ")||"0m"}function Fg(e){if(e%1440===0){const t=e/1440;return`${t} ${t===1?"day":"days"}`}return ts(e*60)}function kg(e,t,n=""){if(Ra(n))return null;const r=Number(e?.escalationTimeRemainingSeconds);if(e?.escalationTimeRemainingSeconds==null||!Number.isFinite(r))return null;const s=Number(t)>0?Number(t)*60:0,o=r<0,l=s?Math.min(Math.max(Math.round((1-r/s)*100),0),100):0;return{percent:o?100:l,state:o?"overdue":l>=75?"warn":"ok",remainingLabel:o?`Overdue by ${ts(r)}`:`${ts(r)} remaining`,totalLabel:s?`of ${Fg(Number(t))}`:""}}const Og={wrap:"ca-filler-card__description-wrap",text:"ca-filler-card__desc",clamped:"ca-filler-card__desc--clamped",more:"ca-filler-card__more"};function ns({text:e,classes:t=Og,forceLayout:n=!1,onTextClick:r}){const s=m.useRef(null),[o,l]=m.useState(!1),[i,c]=m.useState(!1),d=()=>{const p=s.current;!p||o||c(p.scrollWidth>p.clientWidth+1||p.scrollHeight>p.clientHeight+1)};m.useLayoutEffect(()=>{d()},[e,o]),m.useEffect(()=>(window.addEventListener("resize",d),()=>window.removeEventListener("resize",d)),[o]);const f=n?{display:"flex",flexDirection:o?"column":"row",alignItems:o?"flex-start":"baseline",gap:o?2:6,minWidth:0,maxWidth:"100%"}:void 0,u=n?o?{minWidth:0}:{flex:"1 1 auto",minWidth:0,overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"}:void 0;return a.jsxs("div",{className:`${t.wrap}${o?" is-expanded":""}`,style:f,children:[a.jsx("p",{ref:s,className:`${t.text}${o?"":` ${t.clamped}`}`,style:u,onClick:r,children:e||" "}),i||o?a.jsx("button",{type:"button",className:t.more,style:n?{flex:"0 0 auto"}:void 0,"aria-expanded":o,onClick:()=>l(p=>!p),children:o?"Less":"More"}):null]})}function Wi({id:e,title:t,item:n,status:r="inactive",description:s,descriptionHref:o,departments:l,workflows:i,fields:c,formsFilled:d,updatedOn:f,titleAsLink:u=!1,onTitleClick:p,onDescriptionClick:v,onConfigure:y,onOpen:C,onDelete:g,onToggleActive:h,isTogglingActive:b=!1,showAddComplaint:N=!0,className:w=""}){const _=Y.useSelector(q=>q.appDetails?.details?.currentUser),T=Y.useSelector(q=>q.appDetails?.details?.featureActions),{canCreateForm:W,canDelete:ae,canOpen:H}=Cr(T),z=W,K=Mi(_),x=_?.id??_?.userId??null,Q=H||Vi(n,K,x)||es(n,K),k=N&&es(n,K)&&n?.isActive!==!1,D=()=>{y?.({id:e,title:t,status:r,departments:l,workflows:i,fields:c,formsFilled:d,updatedOn:f})},J=()=>{if(v){v({id:e,title:t,descriptionHref:o});return}o&&typeof window<"u"&&window.open(o,"_blank","noopener,noreferrer")},ne=[{label:"Total entries",value:n?.totalEntries??0,icon:a.jsx("img",{src:Km,alt:""})},{label:"Open entries",value:n?.openEntries??0,icon:a.jsx("img",{src:Qm,alt:""})},{label:"Closed entries",value:n?.closedEntries??0,icon:a.jsx("img",{src:Xm,alt:""})},{label:"Escalated entries",value:n?.escalatedEntries??0,icon:a.jsx("img",{src:Ym,alt:""})}],L=e??n?.id??n?._id;return a.jsxs("article",{className:`ca-system-card ${w}`.trim(),children:[a.jsx(ui,{title:n?.name,titleAsLink:u,onTitleClick:()=>p?.({id:e,title:t}),isActive:!!n?.isActive,canManage:z,canDelete:ae,canViewAnalytics:H,complaintTypeId:e??n?.id??n?._id,activeDisabled:b,onActiveChange:q=>h?.({id:L,isActive:q,item:n}),onDelete:()=>g?.({id:L,title:t,item:n})}),s?a.jsx(ns,{text:s,onTextClick:J,classes:{wrap:"ca-system-card__description-wrap",text:"ca-system-card__description",clamped:"ca-system-card__description--clamped",more:"ca-system-card__more"}}):null,a.jsx("div",{className:"ca-system-card__stats",children:ne.map((q,Z)=>a.jsxs(m.Fragment,{children:[Z>0?a.jsx(hi,{}):a.jsx("div",{className:"ca-system-card__stats-spacer"}),a.jsx(pi,{label:q.label,value:q.value,icon:q.icon})]},q.label))}),a.jsx(fi,{updatedOn:f??Di(n?.updatedAt??n?.createdAt),onOpen:()=>C?.({id:e,title:t}),id:e??n?.id??n?._id,title:t,canOpen:Q,canConfigure:z,canAddComplaint:k,onConfigure:D})]})}function Or({text:e="No data",illustrated:t=!1}){return a.jsxs("div",{className:`ca-empty-state${t?" ca-empty-state--illustrated":""}`,role:"status",children:[t?a.jsx("img",{className:"ca-empty-state__image",src:oi,alt:"","aria-hidden":"true"}):null,a.jsx("span",{children:e})]})}function rs({systems:e=[],onConfigure:t,onOpen:n,onDelete:r,onToggleActive:s,togglingActiveId:o=null,onTitleClick:l,onDescriptionClick:i,emptyMessage:c="No systems found.",showAddComplaint:d=!0,className:f=""}){return e.length?a.jsx("div",{className:`ca-system-grid ${f}`.trim(),children:e.map(u=>a.jsx(Wi,{item:u,...u,onConfigure:t,onOpen:n,onDelete:r,onToggleActive:s,isTogglingActive:String(o)===String(u.id??u._id),showAddComplaint:d,onTitleClick:l,onDescriptionClick:i},u.id??u.title))}):a.jsx("div",{className:`ca-system-grid ${f}`.trim(),children:a.jsx("div",{className:"ca-empty",children:a.jsx(Or,{text:c,illustrated:!0})})})}function Zt({value:e,onChange:t,placeholder:n,type:r="text",icon:s,className:o="",inputClassName:l="",...i}){return a.jsxs("div",{className:`ca-input-wrap ${o}`.trim(),children:[s?a.jsx("span",{className:"ca-input-wrap__icon",children:s}):null,a.jsx("input",{type:r,className:`ca-input ${s?"ca-input--with-icon":""} ${l}`.trim(),value:e,onChange:t,placeholder:n,...i})]})}function qi({size:e=18,color:t="currentColor",...n}){return a.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:[a.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"}),a.jsx("path",{d:"M16.5 16.5 21 21",stroke:t,strokeWidth:"1.75",strokeLinecap:"round"})]})}function Hi({value:e,onChange:t,onSearch:n,placeholder:r="Search",className:s=""}){const o=l=>{l.key==="Enter"&&n&&n(e)};return a.jsx("div",{className:`ca-search ${s}`.trim(),children:a.jsx(Zt,{value:e,onChange:t,onKeyDown:o,placeholder:r,icon:a.jsx(qi,{}),"aria-label":r})})}function ut({text:e="Loading",fullScreen:t=!1}){return a.jsxs("div",{className:"ca-loading",style:t?{minHeight:"calc(100vh - 80px)"}:void 0,role:"status","aria-live":"polite",children:[a.jsx("span",{className:"ca-loading__spinner"}),a.jsxs("span",{children:[e,"…"]})]})}function as({open:e,title:t,children:n,primaryLabel:r="Save",onPrimary:s,secondaryLabel:o="Cancel",onSecondary:l,primaryDisabled:i=!1}){return e?a.jsx("div",{className:"ca-confirm-modal",role:"dialog","aria-modal":"true","aria-labelledby":"ca-modal-title",children:a.jsxs("div",{className:"ca-confirm-modal__dialog",children:[t?a.jsx("p",{id:"ca-modal-title",className:"ca-confirm-modal__message",children:t}):null,n,a.jsxs("div",{className:"ca-confirm-modal__actions",children:[o?a.jsx(Ee,{variant:"outline",onClick:l,children:o}):null,a.jsx(Ee,{onClick:s,disabled:i,children:r})]})]})}):null}const zi=(...e)=>e.filter((t,n,r)=>!!t&&t.trim()!==""&&r.indexOf(t)===n).join(" ").trim();const Dg=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();const Mg=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,n,r)=>r?r.toUpperCase():n.toLowerCase());const Ki=e=>{const t=Mg(e);return t.charAt(0).toUpperCase()+t.slice(1)};var ss={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 xg=e=>{for(const t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1},Pg=m.createContext({}),Bg=()=>m.useContext(Pg),Ug=m.forwardRef(({color:e,size:t,strokeWidth:n,absoluteStrokeWidth:r,className:s="",children:o,iconNode:l,...i},c)=>{const{size:d=24,strokeWidth:f=2,absoluteStrokeWidth:u=!1,color:p="currentColor",className:v=""}=Bg()??{},y=r??u?Number(n??f)*24/Number(t??d):n??f;return m.createElement("svg",{ref:c,...ss,width:t??d??ss.width,height:t??d??ss.height,stroke:e??p,strokeWidth:y,className:zi("lucide",v,s),...!o&&!xg(i)&&{"aria-hidden":"true"},...i},[...l.map(([C,g])=>m.createElement(C,g)),...Array.isArray(o)?o:[o]])});const Ne=(e,t)=>{const n=m.forwardRef(({className:r,...s},o)=>m.createElement(Ug,{ref:o,iconNode:t,className:zi(`lucide-${Dg(Ki(e))}`,`lucide-${e}`,r),...s}));return n.displayName=Ki(e),n};const Qi=Ne("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);const $g=Ne("arrow-up",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]);const Xi=Ne("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 jg=Ne("calendar-days",[["path",{d:"M8 2v3",key:"1ioesn"}],["path",{d:"M16 2v3",key:"otl347"}],["rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",key:"h1oib"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M8 13h.01",key:"1sbv64"}],["path",{d:"M12 13h.01",key:"y0uutt"}],["path",{d:"M16 13h.01",key:"wip0gl"}],["path",{d:"M8 17h.01",key:"p3bg7i"}],["path",{d:"M12 17h.01",key:"p32p05"}],["path",{d:"M16 17h.01",key:"ql8jdd"}]]);const Rt=Ne("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);const Vg=Ne("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);const nt=Ne("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);const Wg=Ne("chevrons-left",[["path",{d:"m11 17-5-5 5-5",key:"13zhaf"}],["path",{d:"m18 17-5-5 5-5",key:"h8a8et"}]]);const qg=Ne("chevrons-right",[["path",{d:"m6 17 5-5-5-5",key:"xnjwq"}],["path",{d:"m13 17 5-5-5-5",key:"17xmmf"}]]);const Dr=Ne("circle-dot",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}]]);const Hg=Ne("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 zg=Ne("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);const Kg=Ne("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 Qg=Ne("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 Xg=Ne("list-filter",[["path",{d:"M2 5h20",key:"1fs1ex"}],["path",{d:"M6 12h12",key:"8npq4p"}],["path",{d:"M9 19h6",key:"456am0"}]]);const os=Ne("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);const Yi=Ne("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 Yg=Ne("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);const Gg=Ne("user-round",[["circle",{cx:"12",cy:"8",r:"5",key:"1hypcn"}],["path",{d:"M20 21a8 8 0 0 0-16 0",key:"rfgkzh"}]]);const Jg=Ne("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);function Gi({row:e,onClick:t}){return a.jsxs("div",{className:"ca-filler-row ca-filler-row--clickable",role:"button",tabIndex:0,onClick:()=>t?.(e),onKeyDown:n=>{n.key!=="Enter"&&n.key!==" "||(n.preventDefault(),t?.(e))},"aria-label":`Open complaint ${e.title||e.id}`,children:[a.jsxs("div",{className:"ca-filler-row__top",children:[a.jsxs("span",{className:"ca-filler-row__title",children:[a.jsx("span",{className:"ca-filler-row__prefix",children:"Complaint ID:"})," ",e.title]}),a.jsxs("span",{className:"ca-filler-row__right",children:[e.tat?a.jsxs("span",{className:"ca-filler-row__tat",children:[a.jsx("span",{className:"ca-filler-row__tat-label",children:"TAT"}),a.jsx("span",{className:"ca-filler-row__tat-track",children:a.jsx("span",{className:`ca-filler-row__tat-fill ca-filler-row__tat-fill--${e.tat.state}`,style:{width:`${e.tat.percent>0?Math.max(e.tat.percent,5):0}%`}})}),a.jsxs("span",{className:"ca-filler-row__tat-text",children:[a.jsx("strong",{children:e.tat.remainingLabel})," ",e.tat.totalLabel]})]}):null,a.jsx(nt,{size:16,"aria-hidden":"true"})]})]}),a.jsxs("div",{className:"ca-filler-row__meta",children:[a.jsxs("span",{children:["Status: ",a.jsx("strong",{children:Er(e.status)})]}),a.jsxs("span",{children:["Level: ",a.jsx("strong",{children:e.level})]}),a.jsx("span",{children:e.assignedTo==="Unassigned"?e.assignedTo:a.jsxs(a.Fragment,{children:["Assigned to: ",a.jsx("strong",{children:e.assignedTo})]})}),a.jsx("span",{children:e.date})]})]})}const Zg=[];function Ji({form:e,onAddComplaint:t,onViewAll:n,onOpenComplaint:r}){const s=Y.useSelector(u=>u.appDetails?.details?.userList)??Zg,{total:o,open:l,closed:i,cancelled:c,previewRows:d}=Ig(e,s),f=e.isActive!==!1&&e.active!==!1;return a.jsxs("article",{className:"ca-filler-card",children:[a.jsxs("div",{className:"ca-filler-card__head",children:[a.jsxs("div",{className:"ca-filler-card__heading",children:[a.jsxs("h3",{className:"ca-filler-card__title",children:[e.name??e.title,o?` (${o})`:""]}),l?a.jsxs("span",{className:"ca-filler-card__count",children:[l," open"]}):null,i?a.jsxs("span",{className:"ca-filler-card__count",children:[i," closed"]}):null,c?a.jsxs("span",{className:"ca-filler-card__count",children:[c," cancelled"]}):null]}),a.jsxs("button",{type:"button",className:"ca-filler-card__add",onClick:()=>t?.(e),disabled:!f,children:["Add complaint ",a.jsx(nt,{className:"ca-chevron","aria-hidden":"true"})]})]}),a.jsx(ns,{text:e.description}),d.map(u=>a.jsx(Gi,{row:{...u,tat:null},onClick:p=>r?.(e,p)},u.id)),a.jsx("div",{className:"ca-filler-card__foot",children:a.jsxs("button",{type:"button",className:"ca-filler-card__link",onClick:()=>n?.(e),children:["View all ",a.jsx(nt,{className:"ca-chevron","aria-hidden":"true"})]})})]})}const Rg=["isActive","isArchived"],Zi="Create, manage and track complaint forms, workflows and responses across departments.";function Ri({title:e="Complaint Management",description:t=Zi,createLabel:n="Create New Form",onCreateForm:r,onConfigure:s,onOpen:o,onTitleClick:l,onDescriptionClick:i,onSearch:c,onHeaderActionsChange:d}){const f=Ge(),u=He(),p=Y.useDispatch(),[v,y]=m.useState(""),[C,g]=m.useState(""),[h,b]=m.useState(null),[N,w]=m.useState(null),[_,T]=m.useState(""),{complaintList:W=[],loading:ae=!1,error:H=null}=Y.useSelector(ee=>ee.complaintType??{}),z=Y.useSelector(ee=>ee.appDetails?.details?.currentUser),K=Y.useSelector(ee=>ee.appDetails?.details?.featureActions),{canViewCards:x,canCreateForm:Q,canDelete:k,canOpen:D,hasAnyAccess:J}=m.useMemo(()=>Cr(K),[K]),ne=m.useMemo(()=>Mi(z),[z]),L=m.useMemo(()=>W.filter(ee=>es(ee,ne)),[W,ne]),q=x||Q||k||D,Z=z?.id??z?.userId??null,oe=m.useMemo(()=>W.filter(ee=>Vi(ee,ne,Z)),[W,ne,Z]),A=m.useMemo(()=>new Set(oe.map(ee=>ee?.id??ee?._id).filter(ee=>ee!=null).map(String)),[oe]),M=m.useMemo(()=>L.filter(ee=>{const B=ee?.id??ee?._id;return B==null||!A.has(String(B))}),[L,A]),I=!q&&oe.length>0,$=!q&&!I&&L.length>0;m.useEffect(()=>{p(Ht({data:!1}))},[p]),m.useEffect(()=>{const ee=setTimeout(()=>T(v.trim()),400);return()=>clearTimeout(ee)},[v]),m.useEffect(()=>{const ee={..._?{search:_}:{},...C?{[C]:!0}:{}};p(kn(Object.keys(ee).length?ee:void 0))},[p,_,C]);const U=W;m.useEffect(()=>{c&&c(v)},[v,c]);const X=ee=>{y(ee.target.value)},E=ee=>{s?.(ee),f(`/settings/${ee.id??"new"}?step=1`)},re=m.useCallback(()=>{p(Ht({data:!1})),r?.(),f("/settings/new?step=1")},[p,f,r]);m.useEffect(()=>{d&&d({view:"forms",search:v,searchPlaceholder:"Search forms",onSearchChange:y,filter:C,filterOptions:Rg,onFilterChange:g,canCreateComplaint:Q,onNewComplaint:re})},[d,v,C,Q,re]),m.useEffect(()=>()=>d?.(null),[d]);const se=({id:ee,title:B,item:R})=>{k&&ee!=null&&w({id:ee,name:R?.name??B??""})},pe=()=>{const{id:ee}=N??{};w(null),ee!=null&&p(fr(ee))},be=({id:ee,isActive:B})=>{Q&&ee!=null&&(b(ee),p(Mn({id:ee,isActive:B})).unwrap().then(()=>p(wh({id:ee,isActive:B}))).finally(()=>b(null)))};return!q&&ae&&!H?a.jsx(ut,{text:"Loading"}):$?a.jsxs("div",{className:"ca-complaint-management-page","data-testid":"complaint-management-page",children:[a.jsx(vr,{title:"Complaints",description:"Create, manage and track complaint forms, workflows and responses across departments.",showAction:!1}),a.jsx("div",{className:"ca-filler-card-list",children:L.map(ee=>a.jsx(Ji,{form:ee,onAddComplaint:B=>f(`/complaintmanagement/new/${B.id}`),onOpenSubmissionLink:B=>{const R=String(B.visibilityType||B.accessType||"").toUpperCase()==="PUBLIC_LINK",V=window.location.pathname.replace(/\/$/,""),le=new URL(`${V}/complaintmanagement/new/${B.id}`,window.location.origin);R&&le.searchParams.set("access","public"),window.open(le.toString(),"_blank","noopener,noreferrer")},onViewAll:B=>f(`/complaintmanagement/all/${B.id}`),onOpenComplaint:(B,R)=>f(`/complaintmanagement/all/${B.id}/details/${R.id}`,{state:{from:u.pathname}})},ee.id))})]}):I?a.jsxs("div",{className:"ca-complaint-management-page","data-testid":"complaint-management-page",children:[a.jsx(vr,{title:e,description:t,showAction:!1}),a.jsx(rs,{systems:oe,onOpen:o,onTitleClick:l,onDescriptionClick:i,emptyMessage:"No systems found.",showAddComplaint:!1}),M.length?a.jsx("div",{className:"ca-filler-card-list",children:M.map(ee=>a.jsx(Ji,{form:ee,onAddComplaint:B=>f(`/complaintmanagement/new/${B.id??B._id}`),onOpenSubmissionLink:B=>{const R=String(B.visibilityType||B.accessType||"").toUpperCase()==="PUBLIC_LINK",V=window.location.pathname.replace(/\/$/,""),le=new URL(`${V}/complaintmanagement/new/${B.id??B._id}`,window.location.origin);R&&le.searchParams.set("access","public"),window.open(le.toString(),"_blank","noopener,noreferrer")},onViewAll:B=>f(`/complaintmanagement/all/${B.id??B._id}`),onOpenComplaint:(B,R)=>f(`/complaintmanagement/all/${B.id??B._id}/details/${R.id}`,{state:{from:u.pathname}})},ee.id??ee._id))}):null]}):J?a.jsxs("div",{className:"ca-complaint-management-page","data-testid":"complaint-management-page",children:[a.jsx(vr,{title:e,description:t,actionLabel:n,onAction:re,showAction:Q&&!d}),q?a.jsxs(a.Fragment,{children:[d?null:a.jsx("div",{className:"ca-search-container",children:a.jsx(Hi,{value:v,onChange:X,placeholder:"Search"})}),ae?a.jsx(ut,{text:"Loading systems"}):H?a.jsx("div",{className:"ca-empty",children:a.jsx("p",{className:"ca-body",children:typeof H=="string"?H:"Failed to load complaint types."})}):a.jsx(rs,{systems:U,onConfigure:E,onOpen:o,onDelete:se,onToggleActive:be,togglingActiveId:h,onTitleClick:l,onDescriptionClick:i,emptyMessage:"Nothing here yet"})]}):null,a.jsx(as,{open:!!N,title:`Are you sure you want to delete this form${N?.name?` "${N.name}"`:""}?`,primaryLabel:"Delete",onPrimary:pe,secondaryLabel:"Cancel",onSecondary:()=>w(null)})]}):a.jsxs("div",{className:"ca-complaint-management-page ca-no-access","data-testid":"complaint-management-page",children:[a.jsx("img",{className:"ca-no-access__image",src:oi,alt:"","aria-hidden":"true"}),a.jsx("p",{className:"ca-no-access__text",role:"status",children:"Nothing here yet"})]})}const ec=m.createContext(null),tc=()=>({categoryName:"",categoryType:"",tatMinutes:"",template:"",visibilityType:"",urlLink:"",active:!1,description:"",roles:[],categoryRoleIds:[],categoryFormData:null,departmentRows:[{id:"1",department:"",subDepartment:"",roles:""}],priorityDraft:"",priorities:[],defaultPriorityId:null,selectedDeptNode:null,workflow:{name:"",tatMinutes:"",description:"",status:[],steps:[],stepsLoaded:!1,selectedTableCard:null},fieldDraft:{name:"",type:""},formFields:[],templateId:null,prefillWorkflowSteps:[],prefillFormFields:[]});function nc({children:e,initialValues:t}){const[n,r]=m.useState(()=>({...tc(),...t,workflow:{...tc().workflow,...t?.workflow}})),s=m.useCallback(i=>{r(c=>({...c,...i}))},[]),o=m.useCallback(i=>{r(c=>({...c,workflow:{...c.workflow,...i}}))},[]),l=m.useMemo(()=>({state:n,setState:r,update:s,updateWorkflow:o}),[n,s,o]);return a.jsx(ec.Provider,{value:l,children:e})}function Mr(){const e=m.useContext(ec);if(!e)throw new Error("useSettingsWizard must be used within SettingsWizardProvider");return e}const rt=[{id:1,key:"category",label:"Category Type",title:"Category Type",description:"Define the type and basic details for this category type."},{id:2,key:"workflow",label:"Workflow",title:"Workflow",description:"L1 > L2 > L3"},{id:3,key:"formFields",label:"Form Fields"},{id:4,key:"review",label:"Review & Publish",title:"Review & Publish",description:"Review your configuration and publish."}],eA=[{id:1,label:"Create Workflow"},{id:2,label:"Status"},{id:3,label:"Workflow Steps"}];function tA({size:e=28,color:t="currentColor",...n}){return a.jsxs("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",style:{color:"var(--ca-primary)"},...n,children:[a.jsx("path",{d:"M12 3 3 8l9 5 9-5-9-5Z",stroke:t,strokeWidth:"1.6",strokeLinejoin:"round"}),a.jsx("path",{d:"M3 12.5 12 17.5l9-5",stroke:t,strokeWidth:"1.6",strokeLinejoin:"round",strokeLinecap:"round"}),a.jsx("path",{d:"M3 16.5 12 21.5l9-5",stroke:t,strokeWidth:"1.6",strokeLinejoin:"round",strokeLinecap:"round"})]})}function rc({title:e,description:t,nextLabel:n="Next",onNext:r,showNext:s=!0,nextDisabled:o=!1,nextVariant:l="primary",extra:i=null,className:c=""}){return a.jsxs("div",{className:`ca-settings-card__header ${c}`.trim(),children:[a.jsx("div",{className:"ca-settings-card__heading",children:a.jsxs("div",{children:[a.jsx(za,{children:e}),t?a.jsx(Ka,{className:"ca-settings-card__desc",children:t}):null]})}),i,s?a.jsx(Ee,{variant:l,disabled:o,onClick:r,endIcon:a.jsx(Xt,{size:14,color:"currentColor"}),children:n}):null]})}function Un({title:e,description:t,onNext:n,nextLabel:r,showNext:s=!0,nextDisabled:o,nextVariant:l,headerExtra:i,children:c,footer:d,className:f=""}){return a.jsxs("section",{className:`ca-settings-card ${f}`.trim(),children:[a.jsx(rc,{title:e,description:t,onNext:n,nextLabel:r,showNext:s,nextDisabled:o,nextVariant:l,extra:i}),a.jsx("div",{className:"ca-settings-card__body",children:c}),d?a.jsx("div",{className:"ca-settings-card__footer",children:d}):null]})}function ls({children:e,hint:t,htmlFor:n,className:r=""}){return a.jsxs("div",{className:`ca-field-label ${r}`.trim(),children:[a.jsx("label",{className:"ca-label",htmlFor:n,children:e}),t!=null?a.jsx("span",{className:"ca-field-label__hint",children:t}):null]})}function is({size:e=16,color:t="currentColor",...n}){return a.jsx("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",...n,children:a.jsx("path",{d:"M6 9l6 6 6-6",stroke:t,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}function cs(e){return typeof e=="string"?e:e.value}function ds(e){return typeof e=="string"?e:e.label}function ft({value:e,onChange:t,options:n=[],placeholder:r="Select",className:s="",disabled:o=!1,maxVisible:l,allowClear:i=!1,...c}){const[d,f]=m.useState(!1),u=m.useRef(null),p=e??"",v=n.find(g=>String(cs(g))===String(p)),y=v?ds(v):"";m.useEffect(()=>{if(!d)return;const g=h=>{u.current?.contains(h.target)||f(!1)};return document.addEventListener("mousedown",g),()=>document.removeEventListener("mousedown",g)},[d]);const C=g=>{t?.({target:{value:g}})};return l?a.jsxs("div",{className:`ca-select ca-select--menu ${s}`.trim(),ref:u,children:[a.jsx("button",{type:"button",id:c.id,className:`ca-select__control${y?"":" ca-select__control--placeholder"}`,disabled:o,"aria-haspopup":"listbox","aria-expanded":d,onClick:()=>f(g=>!g),children:y||r}),a.jsx("span",{className:"ca-select__chevron",children:a.jsx(is,{size:16})}),d?a.jsx("ul",{className:"ca-select__menu",role:"listbox",style:{"--ca-select-max-visible":l},children:n.map(g=>{const h=cs(g),b=String(h)===String(p);return a.jsx("li",{role:"none",children:a.jsx("button",{type:"button",role:"option","aria-selected":b,className:`ca-select__option${b?" is-selected":""}`,onClick:()=>{C(h),f(!1)},children:ds(g)})},h)})}):null]}):a.jsxs("div",{className:`ca-select ${s}`.trim(),children:[a.jsxs("select",{className:"ca-select__control",value:p,onChange:t,disabled:o,...c,children:[a.jsx("option",{value:"",disabled:!i,children:r}),n.map(g=>{const h=cs(g);return a.jsx("option",{value:h,disabled:!!(g&&typeof g=="object"&&g.disabled),children:ds(g)},h)})]}),a.jsx("span",{className:"ca-select__chevron",children:a.jsx(is,{size:16})})]})}function us({value:e,onChange:t,placeholder:n,maxLength:r,rows:s=4,className:o="",autoGrow:l=!1,...i}){const c=m.useRef(null);return m.useLayoutEffect(()=>{const d=c.current;!l||!d||(d.style.height="auto",d.style.height=`${d.scrollHeight+(d.offsetHeight-d.clientHeight)}px`)},[l,e]),a.jsx("textarea",{ref:c,className:`ca-textarea ${o}`.trim(),value:e,onChange:t,placeholder:n,maxLength:r,rows:s,...i})}function Je({label:e,hint:t,children:n,className:r="",htmlFor:s}){return a.jsxs("div",{className:`ca-form-field ${r}`.trim(),children:[e!=null?a.jsx(ls,{htmlFor:s,hint:t,children:e}):null,n]})}function fs({label:e,hint:t,helperText:n,...r}){return a.jsxs(Je,{label:e,hint:t,htmlFor:r.id,children:[a.jsx(Zt,{...r}),n?a.jsx("p",{className:"ca-form-field__helper",children:n}):null]})}function ps({label:e,hint:t,...n}){return a.jsx(Je,{label:e,hint:t,htmlFor:n.id,children:a.jsx(ft,{...n})})}function nA({label:e,hint:t,maxLength:n,value:r="",...s}){const o=t??(n!=null?`${String(r).length}/${n}`:void 0);return a.jsx(Je,{label:e,hint:o,htmlFor:s.id,children:a.jsx(us,{value:r,maxLength:n,...s})})}function ac({size:e=12,color:t="currentColor",...n}){return a.jsx("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",...n,children:a.jsx("path",{d:"M6 6l12 12M18 6L6 18",stroke:t,strokeWidth:"2",strokeLinecap:"round"})})}function sc({label:e,onRemove:t,className:n="",title:r}){return a.jsxs("span",{className:`ca-tag ${n}`.trim(),title:r,children:[e,t?a.jsx("button",{type:"button",className:"ca-tag__remove",onClick:t,"aria-label":`Remove ${e}`,children:a.jsx(ac,{size:10})}):null]})}function xr({label:e="",options:t=[],value:n=[],onChange:r,placeholder:s="Select roles",className:o="",hasError:l=!1,required:i=!1,emptyText:c="No roles available",openDirection:d="up",showAll:f=!0,maxVisible:u=null,searchable:p=!1,searchPlaceholder:v="Search",lockedValues:y=[],rotateChevron:C=!1}){const[g,h]=m.useState(!1),[b,N]=m.useState(""),w=Array.isArray(n)?n.filter(L=>L!=null&&L!==""):[],_=new Set(y.map(L=>String(L))),T=m.useRef(null),W=m.useRef(null),ae=t.map(L=>typeof L=="string"?{value:L,label:L,sublabel:"",searchText:L}:{value:L.value,label:L.label,sublabel:L.sublabel??"",title:L.title??"",searchText:L.searchText??`${L.label??""} ${L.sublabel??""}`}).filter(L=>L.value!==null&&L.value!==void 0&&L.value!==""),H=new Map(ae.map(L=>[String(L.value),L.label])),z=L=>w.some(q=>String(q)===String(L)),K=ae.filter(L=>`${L.label} ${L.sublabel} ${L.searchText}`.toLowerCase().includes(b.trim().toLowerCase())),x=K.map(L=>L.value),Q=x.length>0&&x.every(L=>z(L)),k=()=>{if(Q)r?.(w.filter(L=>_.has(String(L))||!x.some(q=>String(q)===String(L))));else{const L=w.filter(q=>!x.some(Z=>String(Z)===String(q)));r?.([...L,...x])}};m.useEffect(()=>{g&&W.current&&(W.current.scrollTop=0)},[g]),m.useEffect(()=>{if(!g)return;const L=Z=>{T.current&&!T.current.contains(Z.target)&&(h(!1),N(""))},q=Z=>{Z.key==="Escape"&&(h(!1),N(""))};return document.addEventListener("mousedown",L),document.addEventListener("touchstart",L),document.addEventListener("keydown",q),()=>{document.removeEventListener("mousedown",L),document.removeEventListener("touchstart",L),document.removeEventListener("keydown",q)}},[g]);const D=L=>{_.has(String(L))||(z(L)?r?.(w.filter(q=>String(q)!==String(L))):r?.([...w,L]),N(""))},J=L=>{_.has(String(L))||r?.(w.filter(q=>String(q)!==String(L)))},ne=w.length?`${w.length} selected`:s;return a.jsxs("div",{className:`ca-role-select ${o}`.trim(),style:{display:"flex",flexDirection:"column",alignItems:"stretch",gap:8,width:"100%"},children:[a.jsxs(ls,{children:[e,i?a.jsx("span",{style:{color:"#dc2626",marginLeft:2},"aria-hidden":"true",children:"*"}):null]}),a.jsxs("div",{className:"ca-multi-select",ref:T,style:{position:"relative",width:"100%"},children:[p?a.jsxs("div",{className:`ca-multi-select__trigger ${l?"ca-control--invalid":""}`.trim(),style:{width:"100%",border:l?"1px solid #dc2626":void 0,boxShadow:l?"0 0 0 3px rgba(220, 38, 38, 0.12)":void 0},role:"combobox","aria-haspopup":"listbox","aria-expanded":g,onClick:()=>h(!0),children:[a.jsx("input",{type:"search",className:"ca-multi-select__search ca-multi-select__search--trigger",value:b,placeholder:v,"aria-label":v,onFocus:()=>h(!0),onChange:L=>{N(L.target.value),h(!0)},onKeyDown:L=>{L.key==="Escape"&&(L.stopPropagation(),h(!1),N(""))}}),a.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",style:{transform:C&&g?"rotate(180deg)":"rotate(0deg)",transition:"transform 0.15s ease"},children:a.jsx("path",{d:"M6 9l6 6 6-6",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})]}):a.jsxs("button",{type:"button",className:`ca-multi-select__trigger ${l?"ca-control--invalid":""}`.trim(),style:{width:"100%",border:l?"1px solid #dc2626":void 0,boxShadow:l?"0 0 0 3px rgba(220, 38, 38, 0.12)":void 0},onClick:()=>h(L=>!L),"aria-haspopup":"listbox","aria-expanded":g,children:[a.jsx("span",{className:w.length?"":"ca-multi-select__placeholder",children:ne}),a.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",style:{transform:C&&g?"rotate(180deg)":"rotate(0deg)",transition:"transform 0.15s ease"},children:a.jsx("path",{d:"M6 9l6 6 6-6",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})]}),g?a.jsxs("ul",{ref:W,className:"ca-multi-select__menu",role:"listbox","aria-multiselectable":"true",style:{position:"absolute",top:d==="down"?"calc(100% + 4px)":"auto",bottom:d==="down"?"auto":"calc(100% + 4px)",left:0,right:0,zIndex:20,maxHeight:u?u*38+8:d==="down"?220:260,overflowY:"auto"},children:[f&&K.length>1?a.jsx("li",{role:"option","aria-selected":Q,style:{position:"sticky",top:0,zIndex:1,background:"var(--ca-surface, #fff)",borderBottom:"1px solid var(--ca-border, #e5e7eb)"},children:a.jsxs("label",{className:"ca-multi-select__option",children:[a.jsx("input",{type:"checkbox",checked:Q,onChange:k}),a.jsx("span",{children:"All"})]})}):null,K.length?K.map(L=>a.jsx("li",{role:"option","aria-selected":z(L.value),children:a.jsxs("label",{className:"ca-multi-select__option",children:[a.jsx("input",{type:"checkbox",checked:z(L.value),disabled:_.has(String(L.value)),onChange:()=>D(L.value)}),a.jsxs("span",{className:"ca-multi-select__option-text",children:[a.jsx("span",{className:"ca-multi-select__option-label",children:L.label}),L.sublabel?a.jsx("span",{className:"ca-multi-select__option-sublabel",children:L.sublabel}):null]})]})},String(L.value))):a.jsx("li",{className:"ca-multi-select__empty",children:b?"No matching options":c})]}):null]}),w.length>0?a.jsx("div",{className:"ca-tag-list",children:[...new Set(w)].map(L=>a.jsx(sc,{label:H.get(String(L))||String(L),title:ae.find(q=>String(q.value)===String(L))?.title,onRemove:_.has(String(L))?void 0:()=>J(L)},String(L)))}):null]})}function $n({steps:e=[],currentStep:t=1,allStepsUnlocked:n=!1,onStepClick:r,className:s="",size:o="md",showSaveButton:l=!1,showNextButton:i=!1,onNext:c,nextLabel:d="Next >",extraActions:f=null}){const u=m.useRef({}),p=Y.useDispatch();return m.useEffect(()=>{const v=u.current[t];if(!v)return;const y=requestAnimationFrame(()=>{let C=v.parentElement;for(;C&&C!==document.body;){const{overflowX:_}=getComputedStyle(C);if(C.scrollWidth>C.clientWidth+1&&(_==="auto"||_==="scroll"))break;C=C.parentElement}if(!C||C===document.body)return;const g=C.getBoundingClientRect(),h=v.getBoundingClientRect(),b=12;if(h.left>=g.left+b&&h.right<=g.right-b)return;const w=h.left-g.left-(g.width-h.width)/2;C.scrollTo({left:C.scrollLeft+w,behavior:"smooth"})});return()=>cancelAnimationFrame(y)},[t]),a.jsxs("div",{className:`ca-stepper-wrap ca-stepper-wrap--${o} ${s}`.trim(),children:[a.jsx("nav",{className:`ca-stepper ca-stepper--${o}`,"aria-label":"Progress",children:e.map((v,y)=>{const C=v.id??y+1,g=C===t,h=C<t,b=!!r&&(n||h||g);return a.jsxs("button",{type:"button",ref:N=>{u.current[C]=N},className:["ca-stepper__item",g?"ca-stepper__item--active":"",h?"ca-stepper__item--done":""].filter(Boolean).join(" "),style:{zIndex:e.length-y},onClick:()=>{p(Ht({data:!0})),b&&r?.(C)},disabled:!b,"aria-current":g?"step":void 0,children:[a.jsxs("span",{className:"ca-stepper__circle",children:[C,"."]}),a.jsx("span",{className:"ca-stepper__label",children:v.label})]},C)})}),l||i||f?a.jsxs("div",{className:"ca-stepper__actions",children:[f,i?a.jsx(Ee,{onClick:c,children:d}):null]}):null]})}const rA={categoryName:"",tatMinutes:"",template:"",categoryType:"",description:"",visibilityType:"INTERNAL_LOGIN",urlLink:"",active:!0,roles:[],userIds:[]},aA=[{value:"INTERNAL_LOGIN",label:"Internal Login"},{value:"PRIVATE_LINK",label:"Private Link"},{value:"PUBLIC_LINK",label:"Public Link"}],sA={value:"",label:"Select Template"},hs=e=>String(e?.id??e?.code??e?.name??"");function oA(e){return Array.isArray(e)?[...new Set(e.map(t=>!t||typeof t!="object"?t:t.userId??t.user_id??t.id??t.value??t.user?.userId??t.user?.id).filter(t=>t!=null&&t!==""))]:[]}function ms(e){const t=[e?.userIds,e?.users,Array.isArray(e?.accesses)?e.accesses.map(n=>n?.userId??n?.user?.id):null];for(const n of t){const r=oA(n);if(r.length)return r}return[]}function Qe(e){return e==null||e===""?null:String(e).trim()||null}function gs(e){return Qe(e?.userId??e?.user_id??e?.id??e?.value)}function Pr(e){return Array.isArray(e)?e:Array.isArray(e?.data)?e.data:Array.isArray(e?.steps)?e.steps:Array.isArray(e?.data?.steps)?e.data.steps:[]}function en(e){return String(e??"").toLowerCase().replace(/[^a-z0-9]/g,"")}function lA(e,t,n){const r=new Set,s=new Set,o=i=>{if(i==null||i==="")return;if(typeof i!="object"){const f=Qe(i);if(!f)return;const u=n.find(p=>Qe(p?.id??p?.roleId??p?.role_id??p?.value)===f||en(p?.name??p?.roleName??p?.label)===en(i));if(u){const p=Qe(u.id??u.roleId??u.role_id??u.value),v=en(u.name??u.roleName??u.label);p&&r.add(p),v&&s.add(v)}else r.add(f);return}const c=Qe(i.id??i.roleId??i.role_id??i.value),d=en(i.name??i.roleName??i.label??i.role?.name);c&&r.add(c),d&&s.add(d),i.role&&typeof i.role=="object"&&o(i.role)},l=new Set;return Pr(e).forEach(i=>{[i?.role,i?.roleIds,i?.roles].flatMap(c=>Array.isArray(c)?c:c==null?[]:[c]).forEach(o),[i?.users,i?.userAssignments,i?.userIds].flatMap(c=>Array.isArray(c)?c:c==null?[]:[c]).forEach(c=>{const d=Qe(typeof c=="object"?c.userId??c.user_id??c.id??c.value:c);d&&l.add(d)})}),t.forEach(i=>{l.has(gs(i))&&[i?.roleId,i?.role_id,i?.role,i?.roles,i?.roleIds,i?.assignedRoles,i?.userRoles].flatMap(c=>Array.isArray(c)?c:c==null?[]:[c]).forEach(c=>{o(c),c&&typeof c=="object"&&c.role&&o(c.role)})}),n.forEach(i=>{const c=Qe(i?.id??i?.roleId??i?.role_id??i?.value),d=en(i?.name??i?.roleName??i?.label);c&&r.has(c)&&d&&s.add(d)}),{roleIds:r,roleNames:s}}function iA(e,t=[]){const n=e?.createdByUser??e?.createdBy??e?.creator,r=Qe(e?.createdByUserId??e?.createdById??n?.userId??n?.id??n?.user?.id??(typeof n=="number"||/^\d+$/.test(String(n??"").trim())?n:null));if(r)return r;const s=typeof n=="string"?n.trim().toLowerCase():String(n?.name??n?.userName??"").trim().toLowerCase();if(!s)return null;const o=t.find(l=>{const i=String(l?.name??l?.userName??[l?.firstName,l?.lastName].filter(Boolean).join(" ")).trim().toLowerCase(),c=String(l?.email??l?.userEmail??"").trim().toLowerCase();return s===i||s===c});return gs(o)}function As(...e){const t=new Map;return e.flat().forEach(n=>{const r=Qe(n);r!==null&&!t.has(r)&&t.set(r,n)}),[...t.values()]}const oc=e=>{const t=Array.isArray(e?.accesses)?e.accesses.map(l=>l?.role?.id??l?.roleId):[],n=Array.isArray(e?.roleIds)?e.roleIds:[],r=l=>l.map(i=>i&&typeof i=="object"?i.id??i.roleId??i.role_id??i.value:i).filter(i=>i!=null&&i!==""),s=r(t),o=r(n);return{categoryName:e?.name??e?.code??"",tatMinutes:zt(e?.tatMinutes)||"",template:hs(e),categoryType:e?.categoryType??hs(e),description:e?.description??"",visibilityType:e?.visibilityType??e?.accessType??"INTERNAL_LOGIN",urlLink:e?.urlLink??"",active:e?.isActive??e?.active??!0,roles:[...new Set(s.length?s:o)],userIds:ms(e)}};function cA(e){return[sA,...e]}function dA(e,t){const n=[];if(e.categoryName&&n.push("Please enter a category name."),e.tatMinutes){const r=String(t.tatMinutes??"").trim();n.push(r?"TAT must include a unit (m, h, or d). Example: 30m, 2h, 1d.":"Please enter TAT . Use Minutes for m, Hours for h, or Days for d.")}return e.visibilityType&&n.push("Please select a visibility type."),e.roles&&n.push("Please select roles for complaint filling."),n.join(" ")}function uA(e){return String(e??"").replace(/(^|\s)(\S)/g,(t,n,r)=>n+r.toUpperCase())}function fA({stepMeta:e,stepperProps:t,roleList:n=[],userList:r=[]}){const{state:s,update:o}=Mr(),[l,i]=m.useState(()=>s.categoryFormData??rA),c=m.useRef(s.categoryFormData),[d,f]=m.useState({}),u=Y.useDispatch(),{id:p}=Y.useSelector(A=>A.appDetails||{}),{isEdit:v}=Y.useSelector(A=>A.appDetails||{}),y=Y.useSelector(A=>A.complaintType||{}),C=Y.useSelector(A=>A.workflow?.workflowSteps),g=Y.useSelector(A=>A.appDetails?.details?.currentUser),{complaintList:h=[],loading:b,error:N}=y,w=h.find(A=>String(A?.id??A?._id)===String(p))??(String(y.selected?.id??y.selected?._id)===String(p)?y.selected:null),_=m.useRef(w),T=m.useRef(!1);m.useEffect(()=>{_.current=w},[w]);const W=(A,M={})=>{i(A),c.current=A,o({categoryFormData:A,...M})};m.useEffect(()=>{s.categoryFormData||o({categoryFormData:l,categoryRoleIds:l.roles})},[l,o,s.categoryFormData]),m.useEffect(()=>{!h.length&&!b&&!T.current&&(T.current=!0,u(kn()))},[h.length,u,b]),m.useEffect(()=>{!v||p===null||p===void 0||c.current||u(ct(p)).unwrap().then(A=>{const M=A?.data??A;if(!M||c.current)return;const I=_.current,$=ms(M),U=ms(I),X={...M,roleIds:M.roleIds??I?.roleIds,userIds:$.length?$:U},E=oc(X);i(E),c.current=E,o({categoryFormData:E,categoryRoleIds:E.roles})}).catch(A=>{console.log(" Fetch error:",A)})},[u,p,v,o]);const ae=n.map(A=>({value:A.id??A.roleId??A.value,label:A.name??A.roleName??A.label})).filter(A=>A.value!==null&&A.value!==void 0&&A.value!==""),H=s.workflow?.stepsLoaded?Pr(s.workflow.steps):[...Pr(s.prefillWorkflowSteps),...Pr(C)],z=lA(H,r,n),K=ae.filter(A=>{const M=Qe(A.value),I=en(A.label);return(Array.isArray(l.roles)?l.roles:[]).some(U=>Qe(U)===M)||!z.roleIds.has(M)&&!z.roleNames.has(I)}),x=r.map(A=>{const M=String(A?.name??A?.userName??A?.label??[A?.firstName,A?.lastName].filter(Boolean).join(" ")??"").trim(),I=String(A?.email??A?.userEmail??"").trim();return{value:A.id??A.userId??A.user_id??A.value,label:M,sublabel:I,title:I?`Email: ${I}`:""}}).filter(A=>A.value!==null&&A.value!==void 0&&A.value!==""),Q=v?iA(w,r):gs(g),k=[];As(l.userIds,k);const D=v?w?.createdByUser??w?.createdBy:g;if(Q&&!x.some(A=>Qe(A.value)===Q)){const A=typeof D=="object"?String(D.name??D.userName??[D.firstName,D.lastName].filter(Boolean).join(" ")??"Created by user").trim():"Created by user";x.push({value:Q,label:A||"Created by user",sublabel:typeof D=="object"?String(D.email??"").trim():""})}const J=h.map(A=>({value:hs(A),label:A?.name??A?.code??"",complaintType:A})).filter(A=>A.value&&A.label),ne=async A=>{const M=A?.id??A?._id??null,I={...l,...oc(A),categoryName:"",roles:[],userIds:k};if(W(I,{categoryRoleIds:[]}),o({templateId:M,tatMinutes:je(A?.tatMinutes)}),M==null||M===""){o({prefillWorkflowSteps:[],prefillFormFields:[]});return}try{const[$,U]=await Promise.all([u(Ze(M)).unwrap(),u(Ke(M)).unwrap()]),X=(Array.isArray($?.data)?$.data:Array.isArray($)?$:[]).map(re=>({...re,roleIds:[],role:[],roleId:null})),E=Array.isArray(U?.data)?U.data:Array.isArray(U)?U:[];o({templateId:M,tatMinutes:je(A?.tatMinutes),prefillWorkflowSteps:X,prefillFormFields:E})}catch($){console.log("Failed to load template details:",$),o({templateId:M,prefillWorkflowSteps:[],prefillFormFields:[]})}},L=()=>{const A={...l,template:"",categoryType:"",tatMinutes:"",description:""};W(A),o({templateId:null,prefillWorkflowSteps:[],prefillFormFields:[]})},q=A=>{const M=A.target.value;if(!M){L();return}const I=J.find($=>$.value===M)?.complaintType;if(I){ne(I);return}Z("template",M),Z("categoryType",M)},Z=(A,M)=>{const I=Array.isArray(M)?A==="userIds"?As(M,k):[...new Set(M.filter(U=>U!=null&&U!==""))]:M,$={...l,[A]:I};W($,A==="roles"?{categoryRoleIds:I}:{}),f(U=>{if(!U[A])return U;const X={...U};return delete X[A],X})},oe=async()=>{const A={};if(l.categoryName.trim()||(A.categoryName=!0),Ih(l.tatMinutes)||(A.tatMinutes=!0),l.visibilityType||(A.visibilityType=!0),l.roles.length||(A.roles=!0),Object.keys(A).length>0){f(A);return}f({});const M=je(l.tatMinutes),I={...l,userIds:As(l.userIds,k)};W(I,{tatMinutes:M,categoryRoleIds:I.roles});const $={categoryName:l.categoryName,categoryType:l.categoryType||l.template,tatMinutes:M,description:l.description,visibilityType:l.visibilityType,urlLink:"",active:l.active,roles:I.roles},U=v?Dn({id:p,data:{code:$.categoryName,name:$.categoryName,description:$.description,tatMinutes:$.tatMinutes,accessType:$.visibilityType,roleIds:$.roles.map(E=>parseInt(E,10))},onFail:E=>{console.log("updateComplaintType onFail:",E)}}):On({payload:$,onSuccess:E=>{u(Et(E?.data?.id??E?.id??null))},onFail:E=>{console.log("createComplaintType onFail:",E)}}),X=await u(U);if(v&&Dn.fulfilled.match(X)||!v&&On.fulfilled.match(X)){if(!v){const E=X.payload?.data?.id??X.payload?.id;E!=null&&u(Et(E))}t.onNext?.()}};return a.jsxs(a.Fragment,{children:[a.jsx($n,{...t,steps:rt,showNextButton:!!t.showNextButton,onNext:oe}),N||Object.keys(d).length>0?a.jsx("div",{className:"ca-validation-toast",role:"alert",children:N||dA(d,l)}):null,a.jsxs(Un,{className:"ca-settings-card--category-type",title:e.title,description:e.description,showNext:!1,headerExtra:a.jsx("div",{className:"ca-category-type__header-tools",children:a.jsx("div",{className:"ca-category-type__template",children:a.jsx(ps,{label:"Select Template (Optional)",value:l.template||l.categoryType,onChange:q,options:cA(J),placeholder:"Select Template",maxVisible:5,disabled:v,className:v?"ca-select--disabled":""})})}),children:[a.jsxs("div",{className:"ca-step-section",children:[a.jsxs("div",{className:"ca-step-row ca-step-row--category-fields",children:[a.jsx(fs,{label:a.jsxs(a.Fragment,{children:["Category Name ",a.jsx("span",{style:{color:"#dc2626"},"aria-hidden":"true",children:"*"})]}),className:"ca-step-row__grow",inputClassName:d.categoryName?"ca-control--invalid":"",value:l.categoryName,onChange:A=>Z("categoryName",uA(A.target.value)),placeholder:"Enter category name"}),a.jsx(fs,{label:a.jsxs(a.Fragment,{children:["TAT ",a.jsx("span",{style:{color:"#dc2626"},"aria-hidden":"true",children:"*"})]}),type:"text",className:"ca-step-row__grow",inputClassName:d.tatMinutes?"ca-control--invalid":"",value:l.tatMinutes,onChange:A=>Z("tatMinutes",A.target.value),placeholder:"Enter here",helperText:"Eg: 30m, 2h, 1d, 3d7h16m"})]}),a.jsx("div",{className:"ca-step-row ca-step-row--category-fields",children:a.jsx(Je,{label:"Description",className:"ca-step-row__grow",htmlFor:"category-description",children:a.jsx(us,{id:"category-description",className:"ca-textarea--auto",autoGrow:!0,rows:1,value:l.description,onChange:A=>Z("description",A.target.value),placeholder:"Enter description"})})}),a.jsx("div",{className:"ca-step-row",children:a.jsx(ps,{label:"Select Visibility Type",className:`ca-step-row__grow ${d.visibilityType?"ca-control--invalid":""}`,value:l.visibilityType,onChange:A=>Z("visibilityType",A.target.value),options:aA,placeholder:"Select visibility type"})}),["PRIVATE_LINK","PUBLIC_LINK"].includes(l.visibilityType)?a.jsx("p",{className:"ca-body ca-step-row__grow",children:l.visibilityType==="PUBLIC_LINK"?"A public form link will be generated automatically after saving.":"A private form link will be generated automatically after saving and requires sign-in."}):null]}),a.jsx("div",{className:"ca-step-section ca-step-section--last ca-category-type__access-selects",children:a.jsx(xr,{label:"Select Roles for Complaint Filling",required:!0,hasError:!!d.roles,rotateChevron:!0,options:K,value:l.roles,maxVisible:4,onChange:A=>Z("roles",A)})})]})]})}function lc({level:e,onAdd:t,disabled:n=!1}){const r=`Level ${e}`,s=e===1?"Initial Handler":e===2?"Escalation if L1 TAT exceeded":"Escalation workflow";return a.jsxs("div",{className:"ca-add-table-card",children:[a.jsxs("header",{className:"ca-add-table-card__header",children:[a.jsxs("span",{className:"ca-add-table-card__level",children:["L",e]}),a.jsxs("div",{className:"ca-add-table-card__header-text",children:[a.jsx("h3",{className:"ca-add-table-card__title",children:r}),a.jsx("p",{className:"ca-add-table-card__subtitle",children:s})]})]}),a.jsx("div",{className:"ca-add-table-card__action",children:a.jsxs(Ee,{type:"button",className:"ca-add-table-card__button",disabled:n,onClick:()=>t?.(r),children:["+ Add L",e]})})]})}const ys=["Yes","No"],tn=()=>a.jsx("span",{style:{color:"#dc2626"},"aria-hidden":"true",children:" *"});function ic({name:e,level:t,value:n,initialFormValues:r,setFormValues:s,onChange:o,selected:l=!1,onSelect:i,onDelete:c,subtitle:d,roleList:f=[],showRoleError:u=!1,showEscalationError:p=!1,userList:v=[],fieldErrors:y={}}){const C=n??r??{},g=Array.isArray(C.role)?C.role:[],h=Array.isArray(C.users)?C.users:[],b=C.workflowType==="user"?"user":"role",N=f.map(k=>({value:k.id??k.roleId??k.value,label:k.name??k.roleName??k.label})).filter(k=>k.value!==null&&k.value!==void 0&&k.value!==""),w=k=>{const D=[k?.firstName,k?.lastName].map(L=>String(L??"").trim()).filter(Boolean).join(" "),J=String(k?.name??k?.userName??k?.label??"").trim()||D,ne=[k?.roleName,k?.role?.name,typeof k?.role=="string"?k.role:"",...Array.isArray(k?.roles)?k.roles.map(L=>typeof L=="string"?L:L?.name):[]].map(L=>String(L??"").trim()).filter(Boolean).filter((L,q,Z)=>Z.indexOf(L)===q).join(", ");return{userName:J,roleName:ne,email:String(k?.email??k?.userEmail??"").trim()}},_=v.map(k=>{const{userName:D,roleName:J,email:ne}=w(k);return{value:k.id??k.userId??k.user_id??k.value,label:D,sublabel:ne,title:ne?`Email: ${ne}`:"",searchText:J}}).filter(k=>k.value!==null&&k.value!==void 0&&k.value!==""),T=(k,D)=>{const J={...C,[k]:D};s?s(J):o?.(J)},W=g.length===0&&h.length===0,ae=(u||!!y.role)&&W,H=k=>k?"ca-control--invalid":"",z=t===1?"green":t===2?"orange":"blue",K=k=>`workflow-level-${t}-${k}`,x=d||(t===1?"Initial Handler":t===2?"Escalation if L1 TAT exceeded":"Escalation workflow"),Q=[{value:"role",label:"Role",count:g.length},{value:"user",label:"User",count:h.length}];return a.jsxs("article",{className:`ca-table-card ca-table-card--${z}${l?" ca-table-card--selected":""}`,onClick:i,children:[a.jsxs("header",{className:"ca-table-card__header",children:[a.jsxs("span",{className:"ca-table-card__level",children:["L",t]}),a.jsxs("div",{className:"ca-table-card__header-text",children:[a.jsx("h3",{className:"ca-table-card__title",children:e}),a.jsx("p",{className:"ca-table-card__subtitle",children:x})]}),a.jsx("button",{type:"button",className:"ca-table-card__delete","aria-label":`Delete ${e}`,title:`Delete ${e}`,onClick:k=>{k.stopPropagation(),c?.()},children:a.jsx(wr,{size:15,color:"currentColor"})})]}),a.jsx("div",{className:"ca-table-card__divider"}),a.jsxs("div",{className:"ca-table-card__fields",children:[a.jsx("div",{className:"ca-type-toggle",role:"group","aria-label":"Workflow type",children:Q.map(k=>a.jsxs("button",{type:"button",className:`ca-type-toggle__btn${b===k.value?" ca-type-toggle__btn--active":""}`,onClick:D=>{D.stopPropagation(),b!==k.value&&T("workflowType",k.value)},children:[k.label,k.count?` (${k.count})`:""]},k.value))}),b==="role"?a.jsx(Je,{label:a.jsxs(a.Fragment,{children:["Select Roles",a.jsx(tn,{})]}),htmlFor:K("roleIds"),children:a.jsx(xr,{id:K("role"),value:g,options:N,placeholder:"Select role",emptyText:"No roles available",openDirection:"down",showAll:!1,maxVisible:3,searchable:!0,searchPlaceholder:"Search Role",hasError:ae,onChange:k=>T("role",k)},"role")}):a.jsx(Je,{label:a.jsxs(a.Fragment,{children:["Select Users",a.jsx(tn,{})]}),htmlFor:K("userIds"),children:a.jsx(xr,{id:K("user"),value:h,options:_,placeholder:"Select user",emptyText:"No users available",openDirection:"down",showAll:!1,maxVisible:3,searchable:!0,searchPlaceholder:"Search User",hasError:ae,onChange:k=>T("users",k)},"user")}),a.jsx("div",{className:"ca-table-card__divider"}),a.jsx(Je,{label:a.jsxs(a.Fragment,{children:["Can Resolve ",a.jsx(a.Fragment,{children:"(Change the Status)"}),a.jsx(tn,{})]}),htmlFor:K("canResolve"),children:a.jsx(ft,{id:K("canResolve"),className:H(y.canResolve),value:C.canResolve,options:ys,onChange:k=>T("canResolve",k.target.value)})}),a.jsx(Je,{label:a.jsxs(a.Fragment,{children:["Can Reassign ",a.jsx(a.Fragment,{children:"(Change the Level)"}),a.jsx(tn,{})]}),htmlFor:K("canReassign"),children:a.jsx(ft,{id:K("canReassign"),className:H(y.canReassign),value:t===1?"No":C.canReassign,options:t===1?["No"]:ys,disabled:t===1,onChange:k=>T("canReassign",k.target.value)})}),a.jsx(Je,{label:a.jsxs(a.Fragment,{children:["Final Level",a.jsx(tn,{})]}),htmlFor:K("finalLevel"),children:a.jsx(ft,{id:K("finalLevel"),className:H(y.finalLevel),value:C.finalLevel,options:ys,onChange:k=>T("finalLevel",k.target.value)})}),a.jsx(Je,{label:a.jsxs(a.Fragment,{children:["Escalation time",a.jsx(tn,{})]}),htmlFor:K("escalationTime"),children:a.jsx("div",{className:"ca-table-card__time-input",children:a.jsx(Zt,{id:K("escalationTime"),type:"text",className:H(p||y.escalation),value:C.escalateAfterMinutes??"",placeholder:"--",onChange:k=>T("escalateAfterMinutes",k.target.value)})})})]})]})}function cc({variant:e,levelNo:t,open:n,onConfirm:r,onClose:s}){return n?e==="finalLevelDelete"?a.jsx(as,{open:!0,title:`Final Level is set to Yes at Level ${t}. You can't create a next level here, and every level after Level ${t} will be deleted. Do you want to continue?`,primaryLabel:"Ok",onPrimary:r,secondaryLabel:"Cancel",onSecondary:s}):e==="finalLevelRequired"?a.jsx(as,{open:!0,title:`Level ${t} is the last level. "Final Level" must be Yes. Click Ok to set it to Yes.`,primaryLabel:"Ok",onPrimary:r,secondaryLabel:null}):null:null}function bs(e,t=0){const n=o=>!String(o??"").trim(),r=!(Array.isArray(e?.role)&&e.role.length),s=!(Array.isArray(e?.users)&&e.users.length);return{role:r&&s,canResolve:n(e?.canResolve),canReassign:t>0&&n(e?.canReassign),finalLevel:n(e?.finalLevel),escalation:n(e?.escalateAfterMinutes)}}const pA="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",hA="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",mA="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",gA="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",vs=(e,t,n={})=>({id:e,name:t,role:Array.isArray(n.role)?n.role:n.roleId!==void 0&&n.roleId!==null?[n.roleId]:[],users:Array.isArray(n.users)?n.users:[],workflowType:n.workflowType??"role",canResolve:n.canResolve??"",canReassign:n.canReassign??(Number(e)===1?"No":""),finalLevel:n.finalLevel??"",escalateAfterMinutes:zt(n.escalateAfterMinutes)||""});function Ss(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 AA(e,t){const n=[e.role,e.roleIds,e.roles].filter(Array.isArray),s=(n.find(i=>i.length)??n[0]??[]).map(i=>i&&typeof i=="object"?i.id??i.roleId:i).filter(i=>i!=null),o=(Array.isArray(e.userAssignments)?e.userAssignments:Array.isArray(e.users)?e.users:[]).map(i=>i&&typeof i=="object"?i.userId??i.id:i).filter(i=>i!=null),l=s.length>0?"role":o.length>0||/user/i.test(String(e.workflowType??""))?"user":"role";return vs(e.levelNo??t+1,e.name??`Level ${e.levelNo??t+1}`,{role:s,users:o,workflowType:l,canResolve:Ss(e.canResolve),canReassign:t===0?"No":Ss(e.canReassign),finalLevel:Ss(e.isFinalLevel??e.finalLevel),escalateAfterMinutes:zt(e.escalateAfterMinutes)||""})}function dc(e=[]){return(Array.isArray(e)?e:[]).map(AA)}function yA(e,t,n){const r=new Set(t?t.split(","):[]),s=new Set(n?n.split(","):[]);let o=!1;const l=e.map(i=>{const c=Array.isArray(i.role)?i.role:[],d=Array.isArray(i.users)?i.users:[],f=c.filter(p=>!r.has(String(p))),u=d.filter(p=>!s.has(String(p)));return f.length===c.length&&u.length===d.length?i:(o=!0,{...i,role:f,users:u})});return o?l:e}function uc(e=[]){return e.flatMap(t=>Array.isArray(t?.roles)?t.roles:Array.isArray(t?.role)?t.role.filter(n=>n&&typeof n=="object"):[])}const ws=[vs(1,"Level 1")];function fc({accent:e}){return a.jsxs("div",{className:`ca-escalation-connector ca-escalation-connector--desktop ca-escalation-connector--${e}`,"aria-hidden":"true",children:[a.jsx("img",{src:pA,alt:"",className:"ca-escalation-connector__arrow ca-escalation-connector__arrow--first"}),a.jsx("span",{children:"Escalates to"}),a.jsx("img",{src:hA,alt:"",className:"ca-escalation-connector__arrow ca-escalation-connector__arrow--second"})]})}function pc({accent:e}){return a.jsxs("div",{className:`ca-escalation-connector ca-escalation-connector--mobile ca-escalation-connector--${e}`,"aria-hidden":"true",children:[a.jsx("img",{src:mA,alt:"",className:"ca-escalation-connector__arrow ca-escalation-connector__arrow--first"}),a.jsx("span",{children:"Escalates to"}),a.jsx("img",{src:gA,alt:"",className:"ca-escalation-connector__arrow ca-escalation-connector__arrow--second"})]})}function hc({id:e,selectedTableId:t,onSelect:n,setUpdatePayload:r,registerWorkflowActions:s,roleList:o=[],prefillSteps:l=[],tatTotalMinutes:i=0,showRoleError:c=!1,showEscalationError:d=!1,showRequiredErrors:f=!1,userList:u=[],onAddBlocked:p,draftSteps:v=null,blockedRoleIds:y=[],blockedUserIds:C=[]}){const g=e!=null,h=y.map(String).join(","),b=C.map(String).join(","),[N]=m.useState(()=>Array.isArray(v)),[,w]=m.useState(ws),[_,T]=m.useState(()=>Array.isArray(v)?v:ws),[W,ae]=m.useState(()=>({tables:_,blockedRoleKey:h,blockedUserKey:b})),[H,z]=m.useState([]),[K,x]=m.useState(g&&!N),[Q,k]=m.useState(null),[D,J]=m.useState(i),ne=m.useRef(null),L=m.useRef(i),q=m.useRef(new Set),[Z,oe]=m.useState([]),[A,M]=m.useState(null),I=Y.useDispatch(),$=m.useMemo(()=>{const B=dc(l);return B.length?B:ws},[l]),U=(()=>{const B=new Set;return[...o,...H,...uc(l)].filter(R=>{const V=String(R?.id??R?.roleId??R?.value);return B.has(V)?!1:(B.add(V),!0)})})();if(!N&&!g&&Q!==$){const B=Kt($,i);k($),T(B),w(B)}if(!K&&D!==i){J(i);const B=Kt(_,i);B!==_&&T(B)}if(!K&&(W.tables!==_||W.blockedRoleKey!==h||W.blockedUserKey!==b)){ae({tables:_,blockedRoleKey:h,blockedUserKey:b});const B=yA(_,h,b);B!==_&&T(B)}m.useEffect(()=>{L.current=i},[i]),m.useEffect(()=>{if(N)return;if(!g){const V=Kt($,L.current);r({id:e,tables:V});return}let B=!1;return(async()=>{x(!0);try{const V=await I(Ze(e)).unwrap(),le=Array.isArray(V?.data)?V.data:Array.isArray(V)?V:[];z(uc(le));const he=dc(le),Ae=Kt(he.length?he:$,L.current);B||(w(Ae),T(Ae),r({id:e,tables:Ae}))}catch(V){if(!B){const le=Kt($,L.current);w(le),T(le),r({id:e,tables:le}),console.error("Failed to load workflow steps:",V)}}finally{B||x(!1)}})(),()=>{B=!0}},[I,$,N,g,e,r]),m.useEffect(()=>{K||r?.({id:e,tables:_})},[e,K,r,_]);const X=m.useCallback((B,{preserveLastLevel:R}={})=>{const V=B.map((Ae,Pe)=>Pe===0?{...Ae,canReassign:"No"}:Ae),le=R?V:Kt(V,i),he={id:e,tables:le};return T(le),console.log("[TableCardGrid] updated form values:",le),console.log("[TableCardGrid] PUT payload:",he),r?.(he),he},[e,r,i]);m.useEffect(()=>{if(s)return s({setLastLevelFinal:()=>{if(!_.length)return null;const B=_.length-1,R=_.map((V,le)=>le===B?{...V,finalLevel:"Yes"}:V);return X(R,{preserveLastLevel:!0})}}),()=>s(null)},[e,s,r,_,i,X]);const E=B=>{const R=_[_.length-1];return R!=null&&R.id===B},re=(B,R)=>{Object.prototype.hasOwnProperty.call(R,"escalateAfterMinutes")&&q.current.add(B),X(_.map(V=>V.id===B?{...V,...R}:V),{preserveLastLevel:E(B)})},se=(B,R)=>{const V=_.findIndex(Ae=>Ae.id===B);if(V<0)return;const le=_[V],he=typeof R=="function"?R(le):R;if(he.escalateAfterMinutes!==le.escalateAfterMinutes&&q.current.add(B),V<_.length-1&&le.finalLevel!=="Yes"&&he.finalLevel==="Yes"){M({tableId:B,value:he});return}X(_.map((Ae,Pe)=>Pe===V?he:Ae),{preserveLastLevel:E(B)})},pe=()=>{if(!A)return;const B=_.findIndex(V=>V.id===A.tableId);if(B<0){M(null);return}const R=_.slice(0,B+1).map((V,le)=>le===B?A.value:V);oe(V=>V.filter(le=>R.some(he=>he.id===le))),X(R),M(null)},be=B=>{if(_.some(we=>we.finalLevel==="Yes"))return;const R=_[_.length-1];if(R){const we=bs(R,_.length-1);if(Object.values(we).some(Boolean)){oe(Ie=>Ie.includes(R.id)?Ie:[...Ie,R.id]),p?.(`Please fill all required fields of Level ${_.length} before adding a new level.`);return}}p?.("");const V=_.reduce((we,Ie)=>Math.max(we,Number(Ie.id)||0),0)+1,le=_.length+1,he=_[_.length-1],Pe=he!=null&&q.current.has(he.id)&&je(he.escalateAfterMinutes)>0?_:Oh(_);q.current.delete(V),X([...Pe,vs(V,B||`Level ${le}`)]),requestAnimationFrame(()=>{requestAnimationFrame(()=>{const we=ne.current;we&&we.scrollTo({left:we.scrollWidth,behavior:"smooth"})})})},ee=B=>{q.current.delete(B),X(_.filter(R=>R.id!==B))};return K&&!_.length?null:a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"ca-table-card-grid","aria-label":"Escalation levels",ref:ne,children:a.jsxs("div",{className:"ca-table-card-grid__track",children:[_.map((B,R)=>a.jsxs(m.Fragment,{children:[a.jsx(ic,{name:B.name,roleList:U,showRoleError:c||f,showEscalationError:d,userList:u,level:R+1,value:B,initialFormValues:B,setFormValues:V=>se(B.id,V),selected:B.id===t,onSelect:()=>n?.(B),onDelete:()=>ee(B.id),onChange:V=>re(B.id,V),fieldErrors:f||Z.includes(B.id)?bs(B,R):{}}),R<_.length-1?a.jsxs(a.Fragment,{children:[a.jsx(fc,{accent:R===0?"green":R===1?"orange":"purple"}),a.jsx(pc,{accent:R===0?"green":R===1?"orange":"purple"})]}):null]},B.id)),_.length?a.jsxs(a.Fragment,{children:[a.jsx(fc,{accent:_.length===1?"green":_.length===2?"orange":"purple"}),a.jsx(pc,{accent:_.length===1?"green":_.length===2?"orange":"purple"})]}):null,a.jsx(lc,{level:_.length+1,onAdd:be,disabled:_.some(B=>B.finalLevel==="Yes")})]})}),a.jsx(cc,{variant:"finalLevelDelete",levelNo:A?_.findIndex(B=>B.id===A.tableId)+1:null,open:!!A,onConfirm:pe,onClose:()=>M(null)})]})}function bA({totalMinutes:e=0,usedMinutes:t=0}){const n=je(e),r=je(t),s=Math.max(0,n-r),o=zt(s)||"0m",l=n>0?Math.min(100,r/n*100):0;return a.jsxs("div",{className:"ca-tat-progress","aria-label":`TAT minutes, ${o} left`,children:[a.jsxs("div",{className:"ca-tat-progress__row",children:[a.jsx("span",{className:"ca-tat-progress__label",children:"TAT minutes"}),a.jsxs("span",{className:"ca-tat-progress__remaining",children:[o," left"]})]}),a.jsx("div",{className:"ca-tat-progress__track",children:a.jsx("div",{className:"ca-tat-progress__fill",style:{width:`${l}%`}})})]})}function mc(e){return e?.data??e?.id??e}function gc(e){const t=e&&typeof e=="object"?e.id??e.roleId??e.role_id??e.value:e;return t==null||t===""?null:String(t)}function Ac(e){return String(e??"").toLowerCase().replace(/[^a-z0-9]/g,"")}function vA(e){return[e?.roleId,e?.role_id,e?.role,e?.roles,e?.roleIds,e?.assignedRoles,e?.userRoles].flatMap(n=>Array.isArray(n)?n:[n]).flatMap(n=>[gc(n),gc(n?.role)]).filter(Boolean)}function SA(e){const t=[e?.role,e?.roles,e?.assignedRoles,e?.userRoles].flatMap(r=>Array.isArray(r)?r:[r]);return[e?.roleName,e?.role_name,...t.flatMap(r=>typeof r=="string"?[r]:[r?.name,r?.roleName,r?.label,r?.role?.name,r?.role?.roleName])].filter(Boolean).map(Ac).filter(Boolean)}function yc(e){const t=e?.id??e?.userId??e?.user_id??e?.value;return t==null||t===""?null:String(t)}function wA({onNext:e,stepMeta:t,stepperProps:n,selectedTableCard:r,roleList:s=[],userList:o=[]}){const{state:l,updateWorkflow:i}=Mr(),{workflow:c}=l;let{id:d}=Y.useSelector(A=>A.appDetails||{});const f=Y.useSelector(A=>A.complaintType?.selected),u=mc(d),p=mc(f?.id??f?._id),v=p!=null&&String(p)===String(u),y=m.useMemo(()=>l.categoryFormData?l.categoryRoleIds:v?xi(f):[],[l.categoryFormData,l.categoryRoleIds,v,f]),C=m.useMemo(()=>(Array.isArray(y)?y:[]).filter(A=>A!=null&&A!=="").map(String),[y]),g=m.useMemo(()=>{const A=new Set(C);return A.size?s.filter(M=>!A.has(String(M.id??M.roleId??M.value))):s},[C,s]),h=m.useMemo(()=>{const A=new Set(C);if(!A.size)return o;const M=new Set(s.filter(I=>A.has(String(I.id??I.roleId??I.value))).map(I=>Ac(I.name??I.roleName??I.label)).filter(Boolean));return o.filter(I=>!vA(I).some($=>A.has($))&&!SA(I).some($=>M.has($)))},[C,s,o]),b=m.useMemo(()=>{if(h===o)return[];const A=new Set(h.map(yc).filter(Boolean));return o.map(yc).filter(M=>M&&!A.has(M))},[o,h]),[N,w]=m.useState(null),[_,T]=m.useState(""),[W,ae]=m.useState(!1),[H,z]=m.useState(null),K=m.useRef(null),x=m.useCallback(A=>{w(A),i({steps:Array.isArray(A?.tables)?A.tables:[],stepsLoaded:!0}),T("")},[i]),Q=m.useCallback(A=>{K.current=A},[]),k=Y.useDispatch(),D=je(f?.tatMinutes??l.tatMinutes);m.useEffect(()=>{u==null||u===""||p!=null&&String(p)===String(u)&&f?.tatMinutes!=null||k(ct(u))},[k,f?.tatMinutes,p,u]);const J=m.useMemo(()=>{const A=Array.isArray(N?.tables)?N.tables:[];return kh(A)},[N]),ne=r??c.selectedTableCard??null,L=Array.isArray(N?.tables)&&N.tables.length?N.tables.map((A,M)=>`L${M+1}`).join(" > "):"",q=A=>{k(mr({id:A.id,tables:A,onSuccess:M=>{console.log("updateWorkflowSteps onSuccess:",M),T(""),n.onNext?.()},onFail:M=>{const I=M?.response?.data??M?.payload??M,$=[...new Set(Array.isArray(I?.errors)?I.errors.map(E=>E?.message).filter(Boolean):[])],U=($.length?$.join(" "):null)??I?.message??I?.error??M?.message??"Failed to update workflow steps",X=String(U).replace(/roleIds must contain at least 1 elements?/gi,"Please select at least one role or user in every level.").replace(/userAssignments must contain at least 1 elements?/gi,"Please select at least one role or user in every level.");T(Fh(X))}}))},Z=async()=>{if(T(""),!N){T("Workflow steps are not ready to save.");return}const A=Array.isArray(N.tables)?N.tables:[];if(!A.length){T("Add at least one workflow level before continuing.");return}ae(!0);const M=A.map((U,X)=>bs(U,X)),I=A.length-1;if(M.some((U,X)=>Object.entries(U).some(([E,re])=>re&&!(X===I&&E==="finalLevel")))){T("Please complete all required fields in every workflow level.");return}if(A[I].finalLevel!=="Yes"){z(I+1);return}q(N)},oe=()=>{const A=K.current?.setLastLevelFinal?.();if(z(null),!A){T("Unable to update the final workflow level. Please try again.");return}ae(!0),q(A)};return a.jsxs(a.Fragment,{children:[a.jsx($n,{...n,steps:rt,onNext:Z,showNextButton:!0}),_?a.jsx("div",{className:"ca-validation-toast",role:"alert",children:_}):null,a.jsx(cc,{variant:"finalLevelRequired",levelNo:H,open:H!=null,onConfirm:oe,onClose:()=>z(null)}),a.jsx(Un,{title:t.title,description:L,showNext:!1,headerExtra:a.jsx(bA,{totalMinutes:D,usedMinutes:J}),children:a.jsx("div",{className:"ca-workflow__main",children:a.jsx(hc,{id:d,selectedTableId:ne?.id,onSelect:A=>i({selectedTableCard:A}),setUpdatePayload:x,registerWorkflowActions:Q,roleList:g,userList:h,onAddBlocked:T,showRoleError:/roleIds|userAssignments|select\s*at\s*least\s*one|role\s*must contain|roles?\s*must contain|users?\s*must/i.test(_),showEscalationError:/escalation\s*time|must\s*equal.*TAT/i.test(_),showRequiredErrors:W,prefillSteps:l.prefillWorkflowSteps,tatTotalMinutes:D,draftSteps:c.stepsLoaded?c.steps:null,blockedRoleIds:C,blockedUserIds:b})})})]})}function bc({onAdd:e,disabled:t=!1}){return a.jsx("button",{type:"button",className:"ca-add-form-button",onClick:e,disabled:t,children:"+ Add Form Fields"})}const vc=m.createContext(null);function Cs(e){return typeof e?.level4=="string"&&e.level4.trim()?e.level4.trim():"Office"}function Sc(e,t){const n=Cs(t);return String(e??"").replace(/\bstores?\b/gi,()=>n)}function pt(){const e=m.useContext(vc);return{storeName:Cs(e),label:t=>Sc(t,e),fieldLabel:t=>{const n=String(t.fieldKey??t.key??"").toLowerCase();return n==="storeid"||n==="storeidcustom"?Cs(e):Sc(t.fieldLabel??t.label??t.fieldName??"",e)}}}function wc({size:e=16,color:t="#9CA3AF",...n}){return a.jsxs("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...n,children:[a.jsx("circle",{cx:"5",cy:"4",r:"1.2",fill:t}),a.jsx("circle",{cx:"11",cy:"4",r:"1.2",fill:t}),a.jsx("circle",{cx:"5",cy:"8",r:"1.2",fill:t}),a.jsx("circle",{cx:"11",cy:"8",r:"1.2",fill:t}),a.jsx("circle",{cx:"5",cy:"12",r:"1.2",fill:t}),a.jsx("circle",{cx:"11",cy:"12",r:"1.2",fill:t})]})}function Ns(e,t){return!t||e.includes(t)?e:[t,...e]}function Cc(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 CA(e){return String(e??"").replace(/(^|\s)(\S)/g,(t,n,r)=>n+r.toUpperCase())}const NA="#9CA3AF";function Nc({field:e,fieldOptions:t=[],fieldTypeOptions:n=[],fieldAccessOptions:r=[],hideForOptions:s=[],isSaving:o=!1,selected:l=!1,isDragging:i=!1,onSelect:c,onDragStartField:d,onDragEndField:f,onReorder:u,onChange:p,onDelete:v,onSave:y,cardRef:C,onOptionNotice:g,hasDuplicateIdentity:h=!1,hasMissingOptions:b=!1}){const[N,w]=m.useState(""),[_,T]=m.useState(null),W=m.useRef(!1),{label:ae,fieldLabel:H}=pt(),z=Cc(e),[K,x]=m.useState(()=>({id:e.id,signature:e.isNew?null:z}));K.id!==e.id&&x({id:e.id,signature:e.isNew?null:z});const Q=e.lockMode==="all",k=tt(e),D=Q||e.lockMode==="options",J=Ai(e),ne=Q||!J||k&&!de(e),L=!!(String(e.fieldLabel||"").trim()&&String(e.fieldType||"").trim()),q=K.signature!==z,Z=!!o||!L,oe=h||b?"ca-control--invalid":"",A=E=>p?.({...e,...E}),M=()=>{if(ne)return;const E=N.trim();if(!E)return;if(de(e)&&yt(E)){const se=(e.options||[]).find(pe=>String(pe).trim().toLowerCase()===E.toLowerCase());if(se){g?.(`${se} already exists in options`),w("");return}}if(e.options?.includes(E))return;const re=de(e)?{...e.optionColors||{},[E]:e.optionColors?.[E]||NA}:e.optionColors;A({options:de(e)?Yt([...e.options||[],E]):[...e.options||[],E],...de(e)?{optionColors:re}:{}}),w("")},I=E=>{if(ne||de(e)&&yt(E))return;const re={...e.optionColors||{}};delete re[E];const se={...e.parentMappings||{}};delete se[E],A({options:e.options.filter(pe=>pe!==E),parentMappings:se,...de(e)?{optionColors:re}:{}})},$=E=>{ne||de(e)&&yt(E)||(W.current=!1,T({original:E,draft:E}))},U=()=>{W.current=!0,T(null)},X=()=>{if(W.current){W.current=!1;return}if(!_)return;const{original:E,draft:re}=_,se=re.trim();if(T(null),!se||se===E)return;if((e.options||[]).some(R=>R!==E&&(R===se||de(e)&&String(R).trim().toLowerCase()===se.toLowerCase()))){g?.(`${se} already exists in options`);return}const be=(e.options||[]).map(R=>R===E?se:R),ee={...e.parentMappings||{}};Object.prototype.hasOwnProperty.call(ee,E)&&(ee[se]=ee[E],delete ee[E]);const B={...e.optionColors||{}};Object.prototype.hasOwnProperty.call(B,E)&&(B[se]=B[E],delete B[E]),A({options:de(e)?Yt(be):be,parentMappings:ee,optionColors:B})};return a.jsxs("article",{ref:C,className:`ca-form-card${l?" ca-form-card--selected":""}${i?" ca-form-card--dragging":""}`,onClick:()=>c?.(e),onDragOver:E=>{k||(E.preventDefault(),E.dataTransfer.dropEffect="move")},onDrop:E=>{if(k){f?.();return}E.preventDefault();const re=E.dataTransfer.getData("text/plain");u?.(re,e.id),f?.()},children:[a.jsxs("div",{className:"ca-form-card__row ca-form-card__row--order",children:[k?a.jsx("span",{"aria-hidden":"true",style:{display:"inline-block",width:15,height:15}}):a.jsx("span",{className:"ca-form-card__drag",draggable:!0,"aria-label":"Reorder field",onClick:E=>E.stopPropagation(),onDragStart:E=>{E.dataTransfer.setData("text/plain",String(e.id)),E.dataTransfer.effectAllowed="move",d?.()},onDragEnd:()=>f?.(),children:a.jsx(wc,{size:15,color:"currentColor"})}),a.jsxs("div",{className:"ca-form-card__actions",children:[a.jsx("button",{type:"button",className:"ca-form-card__save","aria-label":"Save form field",disabled:Z||Q||!q,onClick:async E=>{if(E.stopPropagation(),Z||Q||!q)return;const re=await y?.(e);re&&x({id:e.id,signature:Cc(re)})},children:"Save"}),tt(e)?null:a.jsx("button",{type:"button",className:"ca-icon-btn ca-form-card__delete","aria-label":"Delete form field",onClick:E=>{E.stopPropagation(),v?.(e.id)},children:a.jsx(wr,{size:15,color:"currentColor"})})]})]}),a.jsx("div",{className:"ca-form-card__row",children:D?a.jsx("span",{className:"ca-form-card__static",children:H(e)||"—"}):a.jsx(Zt,{value:Q?H(e):e.fieldLabel,placeholder:"Enter field label",disabled:D,className:oe,onChange:E=>A({fieldLabel:CA(E.target.value)})})}),a.jsx("div",{className:"ca-form-card__row",children:D?a.jsx("span",{className:"ca-form-card__static",children:e.fieldType||"—"}):a.jsx(ft,{value:e.fieldType,options:Ns(n,e.fieldType),placeholder:"Select type",maxVisible:5,disabled:D,className:oe,onChange:E=>{const re=E.target.value;if(Ai({...e,fieldType:re})){A({fieldType:re,dependsOn:"",parentMappings:{}});return}A({fieldType:re,dependsOn:"",options:[],parentMappings:{},optionColors:{}})}})}),a.jsx("div",{className:"ca-form-card__row ca-form-card__row--toggle",children:a.jsx(Sr,{checked:!!e.required,disabled:D,onChange:E=>A({required:E}),"aria-label":"Required"})}),a.jsx("div",{className:"ca-form-card__row",children:a.jsx(ft,{value:e.fieldAccess,options:Ns(r,e.fieldAccess),placeholder:"Select access",disabled:D,allowClear:!0,onChange:E=>A({fieldAccess:E.target.value})})}),a.jsxs("div",{className:"ca-form-card__row",children:[a.jsx(ft,{value:"",options:s.filter(E=>!e.hideFor?.includes(E)),placeholder:"Select level",disabled:D,onChange:E=>A({hideFor:[...e.hideFor||[],E.target.value]})}),e.hideFor?.length?a.jsx("div",{className:"ca-form-card__chips",children:e.hideFor.map(E=>a.jsxs("span",{className:"ca-form-card__chip",children:[E,a.jsx("button",{type:"button","aria-label":`Remove ${E}`,disabled:D,onClick:()=>A({hideFor:e.hideFor.filter(re=>re!==E)}),children:"×"})]},E))}):null]}),a.jsx("div",{className:"ca-form-card__row",children:a.jsx(ft,{value:e.dependsOn,options:Ns(t,e.dependsOn).map(E=>({value:E,label:ae(E)})),placeholder:"Select field label",disabled:D||!J,allowClear:!0,onChange:E=>{const re=E.target.value;if(!re){A({dependsOn:"",parentMappings:{}});return}A({dependsOn:re})}})}),a.jsxs("div",{className:"ca-form-card__row ca-form-card__row--options",children:[a.jsxs("div",{className:"ca-form-card__option-entry",children:[a.jsx(Zt,{value:N,placeholder:"Enter option",disabled:ne,className:b?"ca-control--invalid":"",onChange:E=>w(E.target.value),onKeyDown:E=>{E.key==="Enter"&&(E.preventDefault(),M())}}),a.jsx("button",{type:"button",className:"ca-form-card__add-option","aria-label":"Add option",disabled:ne,onClick:M,children:"+"})]}),a.jsx("div",{className:"ca-form-card__chips",children:(J?de(e)?Yt(e.options||[]):e.options||[]:[]).map(E=>{const re=de(e)&&yt(E),se=_?.original===E;return a.jsxs("span",{className:`ca-form-card__chip${re?" ca-form-card__chip--locked":""}`,children:[se?a.jsx("input",{autoFocus:!0,value:_.draft,onChange:pe=>T({original:E,draft:pe.target.value}),onBlur:X,onClick:pe=>pe.stopPropagation(),onKeyDown:pe=>{pe.key==="Enter"?(pe.preventDefault(),X()):pe.key==="Escape"&&(pe.preventDefault(),U())},"aria-label":`Edit ${E}`,style:{width:`${Math.max(_.draft.length,3)+1}ch`,minWidth:40,padding:0,border:0,outline:"none",background:"transparent",color:"inherit",font:"inherit"}}):a.jsx("span",{role:re||ne?void 0:"button",tabIndex:re||ne?void 0:0,title:re||ne?void 0:"Click to edit",style:re||ne?void 0:{cursor:"text"},onClick:()=>$(E),onKeyDown:pe=>{pe.key==="Enter"&&$(E)},children:de(e)?Er(E):E}),re?null:a.jsx("button",{type:"button","aria-label":`Remove ${E}`,disabled:ne,onClick:()=>I(E),children:"×"})]},E)})})]})]})}function _s({option:e,onDelete:t,locked:n=!1}){return a.jsx("td",{children:n?null:a.jsx("button",{className:"field-options-panel__delete",type:"button","aria-label":`Delete ${e}`,title:`Delete ${e}`,onClick:()=>t(e),children:a.jsx(Yg,{size:14,strokeWidth:1.5,color:"currentColor","aria-hidden":"true"})})})}function _A(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 EA({formFields:e=[],selectedField:t=null,onChange:n}){const r=t,{fieldLabel:s}=pt(),o=w=>de(r)?Er(w):w,l=de(r)?r:null,i=m.useMemo(()=>{const w=String(r?.dependsOn||"").trim();if(!w)return null;const _=e.filter(T=>String(T.fieldLabel||"").trim()===w);return _.find(T=>(T.options||[]).some(W=>String(W||"").trim()))||_[0]||null},[r?.dependsOn,e]),c=i?.options||[],d=!!r?.dependsOn,[f,u]=m.useState(!1),p=(w,_)=>{if(!l)return;const T=/^#[0-9A-Fa-f]{6}$/.test(_)?_.toUpperCase():_;n?.(e.map(W=>W.id===l.id?{...W,optionColors:{...W.optionColors,[w]:T}}:W))},v=(w,_)=>{r&&n?.(e.map(T=>T.id===r.id?{...T,parentMappings:{...T.parentMappings||{},[w]:_}}:T))},y=w=>{if(!r||de(r)&&yt(w))return;const _={...r.optionColors||{}};delete _[w];const T={...r.parentMappings||{}};delete T[w],n?.(e.map(W=>W.id===r.id?{...W,options:(W.options||[]).filter(ae=>ae!==w),parentMappings:T,...de(W)?{optionColors:_}:{}}:W))},C=r&&s(r)||"Select field",g=lg(r,d),h=de(r)?Yt(r?.options||[]):r?.options||[],b=(w,_)=>a.jsx("div",{className:"field-options-panel__table-wrap",children:a.jsxs("table",{className:"field-options-panel__table",children:[a.jsx("thead",{children:a.jsxs("tr",{children:[w.map(T=>a.jsx("th",{scope:"col",children:T},T)),a.jsx("th",{scope:"col","aria-label":"Delete"})]})}),a.jsx("tbody",{children:_})]})});let N=a.jsx("p",{className:"field-options-panel__empty",children:r?"No options added.":"Select a field to edit."});return d?N=h.length?b(["Option label",i?s(i):"Parent"],h.map(w=>a.jsxs("tr",{children:[a.jsx("td",{children:o(w)}),a.jsx("td",{children:a.jsxs("select",{"aria-label":`Parent for ${w}`,value:r.parentMappings?.[w]||"",disabled:!c.length,onChange:_=>v(w,_.target.value),children:[a.jsx("option",{value:"",children:c.length?"Select parent":`No ${String(r.dependsOn||"parent").toLowerCase()} options`}),c.map(_=>a.jsx("option",{value:_,children:_},_))]})}),a.jsx(_s,{option:w,onDelete:y,locked:de(r)&&yt(w)})]},w))):a.jsx("p",{className:"field-options-panel__empty",children:"No options added."}):l?N=h.length?b([de(l)?"Status":"Option","Colors"],h.map(w=>{const _=_A(l.optionColors?.[w]);return a.jsxs("tr",{children:[a.jsx("td",{children:o(w)}),a.jsx("td",{children:a.jsxs("div",{className:"field-options-panel__color",children:[a.jsx("input",{className:"field-options-panel__hex","aria-label":`Color for ${w}`,value:l.optionColors?.[w]||_,onChange:T=>p(w,T.target.value)}),a.jsx("label",{className:"field-options-panel__swatch",style:{background:_},title:_,children:a.jsx("input",{type:"color","aria-label":`Pick color for ${w}`,value:_,onChange:T=>p(w,T.target.value)})})]})}),a.jsx(_s,{option:w,onDelete:y,locked:de(l)&&yt(w)})]},w)})):a.jsx("p",{className:"field-options-panel__empty",children:"No options added."}):h.length&&(N=b([og(r)],h.map(w=>a.jsxs("tr",{children:[a.jsx("td",{children:o(w)}),a.jsx(_s,{option:w,onDelete:y,locked:de(r)&&yt(w)})]},w)))),a.jsxs("aside",{className:`field-options-panel${f?" is-open":""}${r?"":" field-options-panel--empty"}`,"aria-label":`Options for: ${C}`,children:[a.jsxs("button",{type:"button",className:"field-options-panel__summary","aria-expanded":f,"aria-controls":"field-options-panel-body",onClick:()=>u(w=>!w),children:[a.jsxs("span",{className:"field-options-panel__summary-text",children:[a.jsxs("span",{className:"field-options-panel__title",children:["Options for: ",C]}),g?a.jsx("span",{className:"field-options-panel__description",children:g}):null]}),a.jsx(Rt,{className:"field-options-panel__chevron",size:16,strokeWidth:1.8,"aria-hidden":"true"})]}),a.jsx("div",{id:"field-options-panel-body",className:"field-options-panel__body",children:N})]})}function TA(e,t=[]){const n=new Set,r=[];return t.forEach(s=>{if(String(s.id)===String(e?.id)||de(s))return;const o=String(s.fieldLabel||s.label||"").trim();if(!o)return;const l=o.toLowerCase();n.has(l)||!(s?.options||[]).some(c=>String(c||"").trim())||(n.add(l),r.push(o))}),r}const LA=["Actions","Field Label","Field Type","Required","Field Access","Hide for","DependsOn","Options"];function IA(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 nn(e=[]){const t=e.map(IA);return t.map(n=>Ir(n,t))}function _c({initialFields:e,onChange:t,addExternalFieldRef:n,fieldTypeOptions:r=[],fieldAccessOptions:s=[],hideForOptions:o=[],onSave:l,onDelete:i}){const[c,d]=m.useState(()=>nn(e??[])),[f,u]=m.useState(null),[p,v]=m.useState(null),[y,C]=m.useState(""),g=m.useRef(""),h=m.useRef(null),b=m.useRef({}),N=D=>{const J=nn(D);d(J),t?.(J)},w=(e??[]).map(D=>D.id).join(",");m.useEffect(()=>{if(!y)return;const D=window.setTimeout(()=>C(""),3200);return()=>window.clearTimeout(D)},[y]),m.useEffect(()=>{!w||w===g.current||(g.current=w,d(nn(e)))},[w,e]),m.useEffect(()=>{if(n)return n.current=D=>{D&&d(J=>{const ne=J.find(Z=>Tr(D,[Z]));if(Lr(J)||ne)return ne&&u(ne.id),J;if(Gt(J))return J;const L=nn([...J,{...D,id:`${D.id}-${Date.now()}`,isNew:!0}]),q=L[L.length-1];return u(q.id),t?.(L),L})},()=>{n.current=null}},[n,t]),m.useEffect(()=>{if(f==null)return;const D=h.current,J=b.current[f];if(!D||!J)return;const ne=requestAnimationFrame(()=>{const L=D.getBoundingClientRect(),q=J.getBoundingClientRect(),Z=12;q.left>=L.left+Z&&q.right<=L.right-Z||D.scrollTo({left:D.scrollLeft+q.left-L.left-(L.width-q.width)/2,behavior:"smooth"})});return()=>cancelAnimationFrame(ne)},[f,c]);const _=(D,J)=>{if(D==null||J==null||String(D)===String(J))return;const ne=c.findIndex(A=>String(A.id)===String(D)),L=c.findIndex(A=>String(A.id)===String(J));if(ne<0||L<0||tt(c[ne])||tt(c[L]))return;const q=c.findIndex(tt),Z=[...c],[oe]=Z.splice(ne,1);if(Z.splice(L,0,oe),q>=0){const A=Z.findIndex(tt);if(A!==q){const[M]=Z.splice(A,1);Z.splice(q,0,M)}}N(Z.map((A,M)=>({...A,order:M+1})))},T=D=>{const J=c.find(I=>I.id===D.id),ne=J&&J.fieldType!==D.fieldType;D.dependsOn&&D.dependsOn!==J?.dependsOn&&u(D.id);const L=String(J?.fieldLabel||"").trim(),q=J?.options||[],Z=D.options||[],oe=q.filter(I=>!Z.includes(I)),A=Z.filter(I=>!q.includes(I)),M=q.length===Z.length&&oe.length===1&&A.length===1?{from:oe[0],to:A[0]}:null;N(c.map(I=>{if(I.id===D.id)return D;if(ne&&L&&String(I.dependsOn||"").trim()===L)return{...I,dependsOn:"",parentMappings:{}};if(M&&L&&String(I.dependsOn||"").trim()===L){const $=Object.fromEntries(Object.entries(I.parentMappings||{}).map(([U,X])=>[U,X===M.from?M.to:X]));return{...I,parentMappings:$}}return I}))},W=async D=>{const J=c.find(ne=>ne.id===D);if(!(!J||tt(J)))try{if(await i?.(J)===!1)return;const L=String(J.fieldLabel||"").trim();N(c.filter(q=>q.id!==D).map((q,Z)=>L&&String(q.dependsOn||"").trim()===L?{...q,dependsOn:"",parentMappings:{},order:Z+1}:{...q,order:Z+1}))}catch{}},ae=()=>{Lr(c)||Gt(c)||N(nn([...c,{id:`${Date.now()}-${c.length}`,fieldLabel:"",fieldType:r[0]??"",options:[],isNew:!0}]))},H=async D=>{if(Tr(D,c))return null;try{const J=await l?.(D);return J?(d(ne=>{const L=nn(ne.map(q=>q.id===D.id?{...J,isNew:!1,order:q.order||1}:q));return t?.(L),L}),J):null}catch{return null}},z=Lr(c),K=Gt(c),x=z?"A field with this label and type already exists":"",Q=yi(c),k=c.find(D=>D.id===f)||null;return a.jsxs(a.Fragment,{children:[x||Q||y?a.jsx("div",{className:"ca-validation-toast",role:"alert",children:x||Q||y}):null,a.jsxs("div",{className:"ca-form-card-grid__container ",children:[a.jsxs("div",{className:"ca-form-card-grid",children:[a.jsx("div",{className:"ca-form-card-grid__labels",children:LA.map(D=>a.jsx("div",{className:"ca-form-card-grid__label",children:D},D))}),a.jsxs("div",{className:"ca-form-card-grid__cards",ref:h,children:[c.map(D=>a.jsx(Nc,{field:D,fieldOptions:TA(D,c),fieldTypeOptions:r,fieldAccessOptions:s,hideForOptions:o,selected:k?.id===D.id,isDragging:String(p)===String(D.id),cardRef:J=>{J?b.current[D.id]=J:delete b.current[D.id]},onSelect:()=>u(D.id),onDragStartField:()=>v(D.id),onDragEndField:()=>v(null),onReorder:_,onChange:T,onDelete:W,onSave:H,onOptionNotice:C,hasDuplicateIdentity:Tr(D,c),hasMissingOptions:Xa(D)},D.id)),a.jsx(bc,{onAdd:ae,disabled:z||K})]})]}),a.jsx(EA,{formFields:c,selectedField:k,onChange:N})]})]})}const Ec={department:Xi,priorities:Kg,status:Dr,statuses:Dr,statusCustom:Dr,Status:Dr,storeId:Yi,storeIdCustom:Yi};function FA({fields:e=[],onAddField:t,disableAdd:n=!1,disableAddHint:r="Resolve duplicate field first"}){const[s,o]=m.useState(!1),{fieldLabel:l}=pt();return a.jsxs("aside",{className:`custom-field-table${s?" is-open":""}`,"aria-labelledby":"custom-field-table-title",style:{flexWrap:"wrap"},children:[a.jsxs("button",{type:"button",className:"custom-field-table__summary","aria-expanded":s,"aria-controls":"custom-field-table-list",onClick:()=>o(i=>!i),children:[a.jsxs("span",{className:"custom-field-table__summary-text",children:[a.jsx("span",{id:"custom-field-table-title",className:"custom-field-table__title",children:"Custom Fields"}),a.jsx("span",{className:"custom-field-table__description",children:"Use these fields to show options from database table."})]}),a.jsx(Rt,{className:"custom-field-table__chevron",size:16,strokeWidth:1.8,"aria-hidden":"true"})]}),a.jsx("div",{id:"custom-field-table-list",className:"custom-field-table__list",children:e.map(i=>{const c=l(i),d=Ec[i.fieldKey]||Ec[i.id]||Xi;return a.jsxs("div",{className:"custom-field-table__row",children:[a.jsx(d,{className:"custom-field-table__field-icon",size:14,strokeWidth:1.5,"aria-hidden":"true"}),a.jsx("span",{className:"custom-field-table__label",children:c}),a.jsx("button",{className:"custom-field-table__add",type:"button","aria-label":`Add ${c}`,title:n?r:`Add ${c}`,disabled:n,onClick:()=>{n||t?.(i)},children:a.jsx(os,{size:14,strokeWidth:2,"aria-hidden":"true"})})]},i.fieldKey??i.id)})}),a.jsxs("span",{className:"custom-field-table__title",style:{flexBasis:"100%",width:"100%",gridColumn:"1 / -1"},children:[a.jsx("span",{style:{color:"red"},children:"*"})," Submitted By, Updated At and Created By are set automatically."]}),a.jsxs("span",{className:"custom-field-table__title",style:{flexBasis:"100%",width:"100%",gridColumn:"1 / -1"},children:[a.jsx("span",{style:{color:"red"},children:"*"})," The First Column input will be considered the Title column."]})]})}const Tc={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",TIME:"Time"},Lc={BOTH:"Both",USER:"User",ADMIN:"Admin"},kA={...Object.fromEntries(Object.entries(Tc).map(([e,t])=>[t,e])),Select:"SELECT",Dropdown:"SELECT",Radio:"RADIO",Time:"DATETIME","Text Area":"TEXTAREA","Date Time":"DATETIME"},OA={...Object.fromEntries(Object.entries(Lc).map(([e,t])=>[t,e])),Both:"BOTH",User:"USER",Admin:"ADMIN"};function rn(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 DA(e,t){const n=rn(e),r=rn(t);return n?r?n+r.charAt(0).toUpperCase()+r.slice(1):n:""}function Br(e,t){return de({...e,fieldLabel:t})?rn(t)||"status":Ve({...e,fieldLabel:t})?"storeIdCustom":DA(t,e.fieldType)}function jn(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 MA(e){return e?typeof e=="string"?e:e.message||e.error||"":""}function Es(e){return e?typeof e.id=="number"||/^\d+$/.test(String(e.id)):!1}function xA(e=[]){const t=de(e)?Yt(e.options||[]):e.options||[];if(!t.length)return null;const n=e.parentMappings||{},r=e.optionColors||{},s=!!e.dependsOn||t.some(o=>n[o]);return de(e)?{values:t.map((o,l)=>{const i={name:o,displayOrder:l+1,isActive:!0,isDefault:rg(o)};return r[o]&&(i.color=r[o]),i})}:s?{values:t.map(o=>{const l={label:o};return n[o]&&(l.dependsOnValue=n[o]),l})}:{values:t}}function PA(e,t=[],n=[]){const r=String(e.fieldLabel||"").trim(),s=e.originalFieldName!=null&&r===String(e.originalFieldName).trim(),o=t.find(v=>String(v.fieldLabel||"").trim()===e.dependsOn&&e.dependsOn),l=Br(e,r)||(s?e.fieldKey:""),i=o?Br(o,o.fieldLabel)||o.fieldKey:"",c=$A(e,n),d=xA(e),f=kA[e.fieldType]??String(e.fieldType||"TEXT").toUpperCase(),u=OA[e.fieldAccess]??(e.fieldAccess?String(e.fieldAccess).toUpperCase():"USER"),p={fieldName:r,fieldKey:l,fieldType:f,required:!!e.required,displayOrder:Number(e.order)||1,fieldAccess:u,isActive:e.isActive!==!1};return c!=null&&c!==""&&(p.hideForWorkflowStepId=c),d?.values?.length&&(p.options=d),i&&i!==l&&(p.dependsOnFieldKey=i),p}function Ic(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 Fc(e,t){return Ic(e)!==Ic(t)}function BA(e=[],t=e,n=[]){return{fields:e.filter(s=>!s.isNew&&String(s.fieldLabel||"").trim()).map((s,o)=>PA({...s,order:s.order||o+1},t,n))}}function UA(e){return Array.isArray(e)?e:Array.isArray(e?.data)?e.data:[]}function Ur(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 kc(e,t=[]){if(!e)return null;const n=Ur(e);if(n)return n;const r=typeof e=="object"?e.id??e.workflowStepId:null;if(r==null)return null;const s=t.find(o=>String(o.id)===String(r));return Ur(s)}function $A(e,t=[]){const n=Array.isArray(e.hideFor)?e.hideFor:[];if(!n.length)return null;for(const o of n){const l=t.find(i=>Ur(i)===o||String(i.id)===String(o));if(l?.id!=null)return l.id}const r=e.hideForWorkflowStepId;return r==null||r===""?null:t.some(o=>String(o.id)===String(r))?r:null}function Oc(e){return[...new Set(e.filter(Boolean))]}function $r(e){return typeof e=="string"?e:e?.label??e?.name??e?.value??""}function jA(e){return!e||typeof e!="object"?"":e.dependsOnValue??e.parent??""}function VA(e,t=[]){if(!e)return"";const n=t.map($r).filter(Boolean),r=n.find(o=>o===e);return r||n.find(o=>rn(o)===e||rn(o)===rn(e))||e}function WA(e){return e&&typeof e=="object"&&e.color?e.color:""}function kt(e=[],t=[]){const n=[...e].sort((r,s)=>(r.displayOrder??0)-(s.displayOrder??0));return Jt(n.map(r=>{const s=r?.options?.values??[],o=n.find(i=>i.id===r.dependsOnFieldId||r.dependsOnFieldKey&&i.fieldKey===r.dependsOnFieldKey),l=t.find(i=>String(i.id)===String(r.hideForWorkflowStepId));return{id:r.id,order:r.displayOrder,fieldLabel:r.fieldName??r.fieldLabel??"",fieldType:Ya(r.fieldType,Tc,r.fieldKey),required:!!r.required,fieldAccess:Lc[r.fieldAccess]??r.fieldAccess??"",hideFor:Oc([...Array.isArray(r.hideFor)?r.hideFor:[],kc(r.hideForWorkflowStep,t),kc(l,t)]),dependsOn:r.dependsOnField?.fieldName??o?.fieldName??r.dependsOn??"",options:s.map($r).filter(Boolean),parentMappings:Object.fromEntries(s.map(i=>{const c=$r(i),d=jA(i);return!c||!d?null:[c,VA(d,o?.options?.values??[])]}).filter(Boolean)),optionColors:Object.fromEntries(s.map(i=>[$r(i),WA(i)]).filter(([i,c])=>i&&c)),fieldKey:r.fieldKey,originalFieldName:r.fieldName??r.fieldLabel??"",dependsOnFieldId:r.dependsOnFieldId??null,hideForWorkflowStepId:r.hideForWorkflowStepId??null,isActive:r.isActive!==!1,label:r.fieldName??r.fieldLabel??""}}))}function qA({stepMeta:e,stepperProps:t}){const n=Y.useDispatch(),{systemId:r}=lt(),s=Y.useSelector(A=>A.appDetails?.id),o=jn(s)??jn(r),{state:l,update:i}=Mr(),{formFields:c,prefillFormFields:d=[]}=l,f=m.useRef(null),u=m.useCallback(A=>i({formFields:A}),[i]),p=m.useCallback(async A=>{const M=String(A.fieldLabel||"").trim();return M?{...A,fieldLabel:M,fieldKey:Br(A,M),originalFieldName:M,isNew:!1}:null},[]),v=m.useCallback(async A=>tt(A)?!1:(Es(A)&&await n(Ln({complaintTypeId:o,fieldId:A.id})).unwrap(),!0),[o,n]),y=Y.useSelector(A=>A.complaintAppComplaint?.formFields?.data),C=Y.useSelector(A=>A.complaintAppComplaint?.formFields?.isLoading),g=Y.useSelector(A=>A.complaintAppComplaint?.formFields?.error),h=Y.useSelector(A=>A.workflow?.workflowSteps),b=m.useMemo(()=>UA(h),[h]),N=m.useRef(b),[w,_]=m.useState(!1);m.useEffect(()=>{N.current=b},[b]),m.useEffect(()=>{const A=jn(o);A!=null&&n(Ze(A))},[o,n]),m.useEffect(()=>{const A=jn(o);if(A==null)return;let M=!1;return n(Ke(A)).unwrap().then(I=>{if(M)return;const $=Array.isArray(I)?I:I?.data;if(!(Array.isArray($)&&$.length>0)&&d.length){const X=kt(d,N.current).map((E,re)=>({...E,id:`prefill-${re}`,isNew:!1}));i({formFields:Jt(X)})}else{const X=Jt(kt(Array.isArray($)?$:[],N.current));i({formFields:X})}_(!0)}).catch(()=>{if(!M){if(d.length){const I=kt(d,N.current).map(($,U)=>({...$,id:`prefill-${U}`,isNew:!1}));i({formFields:Jt(I)})}_(!0)}}),()=>{M=!0}},[o,n,d,i]);const T=m.useMemo(()=>Jt(kt(y,b)),[y,b]),ae=jn(o)==null||w,H=ae?c:T,z=m.useMemo(()=>tg.filter(A=>!H.some(M=>A.fieldKey&&M.fieldKey===A.fieldKey||de(A)&&de(M)||_r(A)&&_r(M)||Ve(A)&&Ve(M))),[H]),K=m.useMemo(()=>Lr(H),[H]),x=m.useMemo(()=>Gt(H),[H]),Q=MA(g),k=Zm,D=Rm,J=m.useMemo(()=>{const A=[...b].sort((I,$)=>(I.levelNo??0)-($.levelNo??0)).map(I=>Ur(I)).filter(Boolean),M=T.flatMap(I=>I.hideFor);return Oc([...A,...M])},[T,b]),ne=m.useMemo(()=>{const A=new Map(kt(y,b).map(M=>[Number(M.id),M]));return H.filter(M=>{if(M.isNew&&String(M.fieldLabel||"").trim())return!0;if(!Es(M))return!1;const I=A.get(Number(M.id));return!I||Fc(M,I)})},[y,H,b]),[L,q]=m.useState(!1),Z=m.useCallback(async A=>{if(!Gt(H)&&o)try{const I=H.map(se=>{if(!A||!se.isNew)return se;const pe=String(se.fieldLabel||"").trim();return pe?{...se,fieldLabel:pe,fieldKey:Br(se,pe),originalFieldName:pe,isNew:!1}:se}).filter(se=>!se.isNew&&String(se.fieldLabel||"").trim()),$=new Map(kt(y,b).map(se=>[Number(se.id),se]));if(!I.some(se=>{if(!Es(se))return!0;const pe=$.get(Number(se.id));return!pe||Fc(se,pe)})){t.onNext?.();return}const X=[...I].sort((se,pe)=>+!!se.dependsOn-+!!pe.dependsOn);await n(Tn({complaintTypeId:o,data:BA(X,X,b)})).unwrap();const E=await n(Ke(o)).unwrap(),re=Array.isArray(E)?E:E?.data;i({formFields:Jt(kt(Array.isArray(re)?re:[],b))}),t.onNext?.()}catch{}},[y,o,n,H,t,i,b]),oe=m.useCallback(()=>{if(!Gt(H)){if(ne.length){q(!0);return}Z(!1)}},[H,ne.length,Z]);return a.jsxs(a.Fragment,{children:[a.jsx($n,{...t,steps:rt,onNext:oe}),L?a.jsx("div",{className:"ca-confirm-modal",role:"dialog","aria-modal":"true","aria-labelledby":"form-fields-pending-save-title",children:a.jsxs("div",{className:"ca-confirm-modal__dialog",children:[a.jsx("p",{id:"form-fields-pending-save-title",className:"ca-confirm-modal__message",children:"Some fields are pending to save."}),a.jsxs("div",{className:"ca-confirm-modal__actions",children:[a.jsx(Ee,{variant:"outline",onClick:()=>{q(!1),Z(!1)},children:"OK"}),a.jsx(Ee,{onClick:()=>{q(!1),Z(!0)},children:"Save"})]})]})}):null,a.jsx(Un,{className:"ca-settings-card--plain",title:e.title,description:e.description,showNext:!1,children:!ae||C?a.jsx(ut,{text:"Loading form fields"}):Q&&!H.length?a.jsx("div",{className:"ca-validation-toast",role:"alert",children:Q}):a.jsxs("div",{className:"ca-form-fields",children:[Q?a.jsx("div",{className:"ca-validation-toast",role:"alert",children:Q}):null,a.jsx(FA,{fields:z,disableAdd:K||x,disableAddHint:K?"Resolve duplicate field first":x?yi(H):void 0,onAddField:A=>f.current?.({...A})}),a.jsx("div",{className:"ca-settings-card__divider"}),a.jsx(_c,{initialFields:H,addExternalFieldRef:f,onChange:u,fieldTypeOptions:k,fieldAccessOptions:D,hideForOptions:J,onSave:p,onDelete:v})]})})]})}function Dc({label:e="Active",checked:t,onChange:n,disabled:r=!1,className:s=""}){return a.jsxs("div",{className:`ca-toggle-field ${s}`.trim(),children:[a.jsx(ci,{children:e}),a.jsx(Sr,{checked:t,onChange:n,disabled:r,"aria-label":e})]})}function Mc({storeList:e=[],value:t,onChange:n,...r}){const{label:s}=pt();return a.jsxs("select",{...r,className:"review-control",value:t??"",onChange:o=>n(o.target.value),children:[a.jsx("option",{value:"",children:s("Select Store")}),e.map(o=>a.jsx("option",{value:o.id,children:o.name??o.label??String(o.id)},o.id))]})}const HA=/\.(png|jpe?g|gif|webp|bmp|svg)$/i;function Ts(e,t){return t?Array.isArray(e)?e.filter(Boolean):[]:e instanceof File?[e]:[]}function zA(e){return e?e.type&&e.type.startsWith("image/")?!0:HA.test(e.name||""):!1}function KA(e){return`${e.name}-${e.size}-${e.lastModified}`}function Ls({id:e,name:t,value:n,onChange:r,multiple:s=!1,required:o=!1,disabled:l=!1,accept:i}){const c=Ts(n,s),d=m.useMemo(()=>Ts(n,s).map((f,u)=>{const p=zA(f);return{key:`${KA(f)}-${u}`,name:f.name,isImage:p,url:p?URL.createObjectURL(f):""}}),[n,s]);return m.useEffect(()=>()=>{d.forEach(f=>{f.url&&URL.revokeObjectURL(f.url)})},[d]),a.jsxs("div",{className:"review-file-field",children:[a.jsx("input",{id:e,name:t,className:"review-control",type:"file",accept:i,multiple:s,required:!!o&&c.length===0,disabled:l,onChange:f=>{const u=Array.from(f.target.files||[]);if(!s){r(u[0]||"");return}const p=Ts(n,!0);r([...p,...u]),f.target.value=""}}),d.length?a.jsx("div",{className:"review-file-preview",children:a.jsx("div",{className:"review-file-preview__images",children:d.map((f,u)=>a.jsxs("div",{className:"review-file-preview__item",children:[f.isImage?a.jsx("img",{className:"review-file-preview__thumb",src:f.url,alt:f.name,title:f.name}):a.jsx("span",{className:"review-file-preview__name",children:f.name}),a.jsx("button",{type:"button",className:"review-file-preview__remove","aria-label":`Remove ${f.name}`,onClick:()=>{r(s?c.filter((p,v)=>v!==u):"")},children:"×"})]},f.key))})}):null]})}const QA=new Set(["select","radio","checkbox"]);function xc(e){return String(e||"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/(^-|-$)/g,"")}function Ot(e){return String(e.label||e.fieldLabel||e.fieldName||e.name||"").trim()}function Is(e){return`review-${e.id??e.fieldKey??(xc(Ot(e))||"field")}`}function Pc(e,t,n){return n===0?e:`${e}-${xc(t)||n}`}function Fs(e){const t=String(e.fieldType||"").toLowerCase(),n=String(e.fieldKey||Ot(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 Bc(e){return QA.has(e)}function XA(e){return e==="textarea"||e==="radio"||e==="checkbox"}function YA(e){const t=String(e.fieldType||"").toLowerCase();return t==="text"||t==="textfield"}function Uc(e){return String(e||"").replace(/\d/g,"")}function $c(e){return String(e||"").replace(/[^\d]/g,"")}function Vn(e,t){const n=String(Ot(e)||"value").toLowerCase();return t==="date"?"mm/dd/yyyy":t==="select"?`Select ${n}`:t==="email"?"Enter email":`Enter ${n}`}function Wn(e){return String(e.fieldKey||e.id||Ot(e)||Is(e))}function jc(e,t=[]){const n=String(e.dependsOn||"").trim();return n&&t.find(r=>{const s=Ot(r),o=String(r.fieldKey||"");return s===n||o===n})||null}function Vc(e,t=[],n={}){const r=e.options||[],s=jc(e,t);if(!s)return r;const o=e.parentMappings||{};if(!r.some(c=>!!o[c]))return r;const i=String(n[Wn(s)]||"").trim();return i?r.filter(c=>String(o[c]||"")===i):r}function Wc(e){return e==="checkbox"||e==="images"?[]:""}function GA({question:e,options:t,value:n,onChange:r,storeList:s}){const o=Is(e),l=Fs(e),i=n??Wc(l),c={id:o,name:String(e.fieldKey||Ot(e)||o),required:!!e.required};if(Ve(e)&&Array.isArray(s))return a.jsx(Mc,{...c,storeList:s,value:i,onChange:r});if(l==="radio")return a.jsx("div",{className:"review-options review-options--inline",children:t.map((d,f)=>{const u=Pc(o,d,f);return a.jsxs("label",{className:"review-option",htmlFor:u,children:[a.jsx("input",{...c,id:u,type:"radio",value:d,checked:i===d,onChange:p=>r(p.target.value)}),a.jsx("span",{children:d})]},d)})});if(l==="checkbox"){const d=Array.isArray(i)?i:[];return a.jsx("div",{className:"review-options review-options--inline",children:t.map((f,u)=>{const p=Pc(o,f,u);return a.jsxs("label",{className:"review-option",htmlFor:p,children:[a.jsx("input",{id:p,name:`${c.name}[]`,type:"checkbox",value:f,checked:d.includes(f),required:!1,onChange:v=>r(v.target.checked?[...d,f]:d.filter(y=>y!==f))}),a.jsx("span",{children:f})]},f)})})}return l==="textarea"?a.jsx("textarea",{...c,className:"review-control review-control--textarea",placeholder:Vn(e,l),value:i,onChange:d=>r(d.target.value)}):l==="select"?a.jsxs("select",{...c,className:"review-control",value:i,onChange:d=>r(d.target.value),children:[a.jsx("option",{value:"",children:Vn(e,l)}),t.map(d=>a.jsx("option",{value:d,children:d},d))]}):l==="file"?a.jsx(Ls,{...c,value:i,onChange:r,multiple:!0}):l==="images"?a.jsx(Ls,{...c,value:i,onChange:r,multiple:!0}):l==="number"?a.jsx("input",{...c,className:"review-control",type:"number",inputMode:"numeric",placeholder:Vn(e,l),value:i,onChange:d=>r($c(d.target.value)),onKeyDown:d=>{(d.key==="e"||d.key==="E"||d.key==="+"||d.key==="-"||d.key===".")&&d.preventDefault(),d.key.length===1&&!/\d/.test(d.key)&&!d.ctrlKey&&!d.metaKey&&d.preventDefault()},onPaste:d=>{const f=d.clipboardData.getData("text");/^\d*$/.test(f)||(d.preventDefault(),r($c(f)))}}):YA(e)?a.jsx("input",{...c,className:"review-control",type:"text",inputMode:"text",placeholder:Vn(e,l),value:i,onChange:d=>r(Uc(d.target.value)),onKeyDown:d=>{/^\d$/.test(d.key)&&d.preventDefault()},onPaste:d=>{const f=d.clipboardData.getData("text");/\d/.test(f)&&(d.preventDefault(),r(Uc(f)))}}):a.jsx("input",{...c,className:"review-control",type:l,placeholder:Vn(e,l),value:i,onChange:d=>r(d.target.value)})}function JA({fields:e=[],storeList:t}){const{fieldLabel:n}=pt(),[r,s]=m.useState({}),o=(l,i)=>{const c=Wn(l);s(d=>{const f={...d,[c]:i};return e.forEach(u=>{const p=jc(u,e);if(!p||Wn(p)!==c)return;const v=Fs(u);if(!Bc(v))return;const y=Vc(u,e,f),C=Wn(u),g=f[C];Array.isArray(g)?f[C]=g.filter(h=>y.includes(h)):g&&!y.includes(g)&&(f[C]="")}),f})};return e.length?a.jsx("div",{className:"review-form-card",children:a.jsx("form",{className:"review-form","aria-label":"Form fields preview",onSubmit:l=>l.preventDefault(),children:a.jsx("div",{className:"review-form-grid",children:e.map(l=>{const i=Fs(l),c=Is(l),d=Bc(i)?Vc(l,e,r):[];return a.jsxs("div",{className:`review-question${XA(i)?" review-question--wide":""}`,children:[a.jsxs("label",{className:"review-label",htmlFor:c,children:[n(l)||"Untitled field",l.required?a.jsx("span",{className:"review-required",children:"*"}):null]}),a.jsx(GA,{storeList:t,question:l,options:d,value:r[Wn(l)]??Wc(i),onChange:f=>o(l,f)})]},l.id??l.fieldKey??Ot(l))})})})}):a.jsx("p",{className:"review-empty",children:"No form fields added"})}const ZA={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"},RA={BOTH:"Both",USER:"User",ADMIN:"Admin"};function e0(e){return e?typeof e=="string"?e:e.name??e.label??e.title??null:null}function t0(e){return[...new Set(e.filter(Boolean))]}function ks(e){return typeof e=="string"?e:e?.label??e?.name??""}function Os(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 n0(e){return!e||typeof e!="object"?"":e.dependsOnValue??e.parent??""}function r0(e,t=[]){if(!e)return"";const n=t.map(ks).filter(Boolean),r=n.find(o=>o===e);return r||n.find(o=>Os(o)===e||Os(o)===Os(e))||e}function a0(e=[]){const t=[...e].sort((n,r)=>(n.displayOrder??0)-(r.displayOrder??0));return t.map(n=>{const r=n?.options?.values??[],s=t.find(o=>o.id===n.dependsOnFieldId||n.dependsOnFieldKey&&o.fieldKey===n.dependsOnFieldKey);return{id:n.id,label:n.fieldName??n.fieldLabel??n.label??"",fieldLabel:n.fieldName??n.fieldLabel??n.label??"",fieldKey:n.fieldKey,fieldType:Ya(n.fieldType,ZA,n.fieldKey),required:!!n.required,fieldAccess:RA[n.fieldAccess]??n.fieldAccess??"",hideFor:t0([...Array.isArray(n.hideFor)?n.hideFor:[],e0(n.hideForWorkflowStep)]),dependsOn:n.dependsOnField?.fieldName??s?.fieldName??n.dependsOn??"",options:r.map(ks).filter(Boolean),parentMappings:Object.fromEntries(r.map(o=>{const l=ks(o),i=n0(o);return!l||!i?null:[l,r0(i,s?.options?.values??[])]}).filter(Boolean))}})}function s0({onPublish:e,stepMeta:t,stepperProps:n,storeList:r}){const s=Y.useDispatch(),o=Y.useSelector(T=>T.appDetails?.id),l=Y.useSelector(T=>T.complaintAppComplaint.formFields.data),i=Y.useSelector(T=>T.complaintAppComplaint.formFields.isLoading),c=Y.useSelector(T=>T.complaintAppComplaint.formFields.error),d=Y.useSelector(T=>T.createComplaint?.isActive),f=Y.useSelector(T=>T.createComplaint?.activeComplaintTypeId),u=Y.useSelector(T=>T.createComplaint?.isUpdatingActive),p=Y.useSelector(T=>T.createComplaint?.activeError),v=Y.useSelector(T=>T.complaintType?.selected),y=Y.useSelector(T=>T.complaintType?.complaintList??[]),C=Y.useSelector(T=>T.appDetails?.details?.currentUser),g=m.useMemo(()=>a0(l),[l]),h=m.useMemo(()=>o==null?null:v&&String(v.id??v._id)===String(o)?v:y.find(T=>String(T?.id??T?._id)===String(o))??null,[y,o,v]),b=h!=null&&(h.isActive!=null||h.active!=null)?!!(h.isActive??h.active):null,N=String(f)===String(o)?!!d:b??!0,w=bh(h,C);m.useEffect(()=>{o&&s(Ke(o))},[o,s]);const _=T=>{!o||u||!w||s(Mn({id:o,isActive:T}))};return a.jsxs(a.Fragment,{children:[a.jsx($n,{...n,steps:rt,showSaveButton:!1,nextLabel:"Publish",extraActions:a.jsx(Dc,{label:"Active",checked:N,disabled:!o||u||!w,onChange:_}),onNext:()=>{e?.(),n.onNext?.()}}),p?a.jsx("div",{className:"ca-validation-toast",role:"alert",children:p}):null,a.jsx(Un,{className:"ca-settings-card--plain",title:t.title,description:t.description,showNext:!1,children:a.jsx("div",{className:"ca-review",children:a.jsx("section",{className:"ca-review__block ca-review__block--last",children:i?a.jsx(ut,{text:"Loading form fields"}):c&&!g.length?a.jsx("p",{className:"ca-body",children:c}):a.jsx(JA,{fields:g,storeList:r})})})})]})}function o0(e){const t=Number(e);return!Number.isFinite(t)||t<1?1:t>rt.length?rt.length:Math.floor(t)}function l0(e){const t=Number(e);return!Number.isFinite(t)||t<1?1:t>3?3:Math.floor(t)}function qc({title:e="Complaint Management Settings",onPublish:t,onStepChange:n,onSaveDraft:r,roleList:s=[],userList:o=[],storeList:l,showSaveButton:i=!0,showNextButton:c=!0}){const d=Ge(),f=Y.useDispatch(),{systemId:u}=lt(),[p,v]=ho(),y=o0(p.get("step")||1),C=l0(p.get("substep")||1),g=!!u&&u!=="new",[h,b]=m.useState(!1);m.useEffect(()=>{if(!g)return;let z=!1;const K=x=>{const Q=x?.data??x;return Array.isArray(Q)?Q:Array.isArray(Q?.data)?Q.data:[]};return Promise.all([f(Ze(u)).unwrap(),f(Ke(u)).unwrap()]).then(([x,Q])=>{z||b(K(x).length>0&&K(Q).length>0)}).catch(()=>{z||b(!1)}),()=>{z=!0}},[f,g,u]);const N=g&&h;m.useEffect(()=>{u&&f(Et(u)),f(Ht({data:g}))},[f,g,u]),m.useEffect(()=>{if(!p.get("step")){const z=new URLSearchParams(p);z.set("step","1"),v(z,{replace:!0})}},[p,v]);const w=m.useMemo(()=>rt.find(z=>z.id===y)||rt[0],[y]),_=m.useCallback((z,K)=>{const x=new URLSearchParams(p);x.set("step",String(z)),z===4?x.set("substep",String(K??(z===y?C:1))):x.delete("substep"),v(x,{replace:!1}),n?.({systemId:u,step:z,substep:K})},[p,v,n,u,y,C]),T=()=>{if(y<rt.length){_(y+1,1);return}d("/")},W=z=>{_(4,z)},ae=()=>{t?.({systemId:u,step:y})},H={currentStep:y,allStepsUnlocked:N,onStepClick:z=>_(z,z===4?1:void 0),showSaveButton:i,showNextButton:c,onSaveDraft:()=>r?.({systemId:u,step:y}),onNext:T,className:"ca-settings-page__stepper"};return a.jsx(nc,{children:a.jsxs("div",{className:"ca-settings-page",children:[a.jsx("div",{className:"ca-settings-page__header",children:a.jsx(Ha,{children:e})}),y===1?a.jsx(fA,{stepMeta:w,stepperProps:H,roleList:s,userList:o}):null,y===2?a.jsx(wA,{onNext:T,stepMeta:w,roleList:s,userList:o,substep:C,onSubstepChange:W,stepperProps:H}):null,y===3?a.jsx(qA,{stepMeta:w,stepperProps:H}):null,y===4?a.jsx(s0,{storeList:l,onPublish:ae,stepMeta:w,stepperProps:H}):null]})},u||"new")}function i0(){const e=Ge(),{complaintTypeId:t}=lt(),n=Y.useSelector(u=>u.appDetails?.details?.featureActions),{canOpen:r}=Cr(n),o=Y.useSelector(u=>u.status?.complaintSummary??null)?.totalComplaints??0,l=Y.useSelector(u=>u.appDetails?.id),i=Y.useSelector(u=>u.complaintType?.selected??null),c=i?.id??i?._id,f=c==null||l==null||String(c)===String(l)?i?.name??i?.complaintTypeName??i?.title??"":"";return a.jsx("section",{className:"ca-query-details","aria-labelledby":"query-management-title",children:a.jsxs("div",{className:"ca-query-details__heading",children:[a.jsxs("div",{className:"ca-query-details__title-row",children:[a.jsx("button",{type:"button",className:"ca-settings-page__back",onClick:()=>e("/"),"aria-label":"Back to Complaint Management",children:a.jsx("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:a.jsx("path",{d:"M15 6l-6 6 6 6",stroke:"currentColor",strokeWidth:"2.2",strokeLinecap:"round",strokeLinejoin:"round"})})}),a.jsx("h1",{id:"query-management-title",className:"ca-query-details__title",children:f||"Complaint Management"})]}),a.jsxs("div",{className:"ca-query-details__side",children:[a.jsxs("span",{className:"ca-query-details__count",children:["Total Count: ",o??0]}),r&&t?a.jsx(Ee,{size:"sm",onClick:()=>e(`/complaintanalysis/${t}`),endIcon:a.jsx(Xt,{size:14,color:"currentColor",className:"svg"}),children:"View analytics"}):null]})]})})}function Hc({currentPage:e,totalItems:t,itemsPerPage:n,onPageChange:r,onItemsPerPageChange:s,selectOptions:o=["25","50","100","200"],totalPages:l,disabled:i=!1}){if(t<=0)return null;const c=(e-1)*n+1,d=Math.min(e*n,t),f=e<=1,u=e>=l;return a.jsxs("div",{className:`ca-custom-pagination${i?" ca-custom-pagination--disabled":""}`,"aria-label":"Complaint table pagination",children:[a.jsxs("label",{className:"ca-custom-pagination__page-size",children:[a.jsx("span",{children:"Results per page:"}),a.jsx("select",{className:"ca-custom-pagination__select",value:String(n),onChange:p=>s?.(Number(p.target.value)),disabled:i,"aria-label":"Results per page",children:o.map(p=>a.jsx("option",{value:p,children:p},p))})]}),a.jsxs("div",{className:"ca-custom-pagination__navigation",children:[a.jsx("button",{type:"button",className:"ca-custom-pagination__button",onClick:()=>r?.(1),disabled:i||f,"aria-label":"First page",children:a.jsx(Wg,{size:16,"aria-hidden":"true"})}),a.jsx("button",{type:"button",className:"ca-custom-pagination__button",onClick:()=>r?.(e-1),disabled:i||f,"aria-label":"Previous page",children:a.jsx(Vg,{size:16,"aria-hidden":"true"})}),a.jsxs("span",{className:"ca-custom-pagination__range",children:[c," - ",d," of ",t]}),a.jsx("button",{type:"button",className:"ca-custom-pagination__button",onClick:()=>r?.(e+1),disabled:i||u,"aria-label":"Next page",children:a.jsx(nt,{size:16,"aria-hidden":"true"})}),a.jsx("button",{type:"button",className:"ca-custom-pagination__button",onClick:()=>r?.(l),disabled:i||u,"aria-label":"Last page",children:a.jsx(qg,{size:16,"aria-hidden":"true"})})]})]})}function c0({type:e}){return e==="error"?a.jsxs("svg",{width:"22",height:"22",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:[a.jsx("circle",{cx:"12",cy:"12",r:"9",stroke:"currentColor",strokeWidth:"2"}),a.jsx("path",{d:"M12 7.5v5.5M12 16.2v.1",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})]}):a.jsxs("svg",{width:"22",height:"22",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:[a.jsx("circle",{cx:"12",cy:"12",r:"9",stroke:"currentColor",strokeWidth:"2"}),a.jsx("path",{d:"M8 12.5l2.8 2.8L16.2 9.5",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]})}function d0({id:e,message:t,type:n="success",onDismiss:r}){return m.useEffect(()=>{const s=setTimeout(()=>r(e),3500);return()=>clearTimeout(s)},[e,r]),a.jsxs("div",{className:`ca-toast ca-toast--${n}`,role:"status",children:[a.jsx("span",{className:"ca-toast__icon",children:a.jsx(c0,{type:n})}),a.jsxs("div",{className:"ca-toast__content",children:[a.jsx("div",{className:"ca-toast__title",children:n==="error"?"Error":"Success"}),a.jsx("div",{className:"ca-toast__message",children:t})]}),a.jsx("button",{type:"button",className:"ca-toast__close","aria-label":"Dismiss notification",onClick:()=>r(e),children:a.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:a.jsx("path",{d:"M6 6l12 12M18 6L6 18",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})})})]})}function Ds({toasts:e=[],onDismiss:t}){if(!e.length)return null;const n=a.jsx("div",{className:"ca-toast-container",children:e.map(r=>a.jsx(d0,{...r,onDismiss:t},r.id))});return typeof document<"u"?Yr.createPortal(n,document.body):n}const u0=[{value:"today",label:"Today"},{value:"yesterday",label:"Yesterday"},{value:"lastWeek",label:"Last Week"},{value:"wtd",label:"WTD"},{value:"mtd",label:"MTD"},{value:"ytd",label:"YTD"},{value:"custom",label:"Custom"}],zc=e=>String(e).padStart(2,"0"),Xe=e=>`${e.getFullYear()}-${zc(e.getMonth()+1)}-${zc(e.getDate())}`,qn=(e,t)=>new Date(e.getFullYear(),e.getMonth(),e.getDate()+t);function f0(e,t="",n="",r=new Date){const s=new Date(r.getFullYear(),r.getMonth(),r.getDate()),o=(s.getDay()+6)%7,l=qn(s,-o);switch(e){case"today":return{fromDate:Xe(s),toDate:Xe(s)};case"yesterday":return{fromDate:Xe(qn(s,-1)),toDate:Xe(qn(s,-1))};case"lastWeek":return{fromDate:Xe(qn(l,-7)),toDate:Xe(qn(l,-1))};case"wtd":return{fromDate:Xe(l),toDate:Xe(s)};case"mtd":return{fromDate:Xe(new Date(s.getFullYear(),s.getMonth(),1)),toDate:Xe(s)};case"ytd":return{fromDate:Xe(new Date(s.getFullYear(),0,1)),toDate:Xe(s)};case"custom":return t&&n?{fromDate:t,toDate:n}:null;default:return null}}function p0(e){if(!e?.preset)return{};const t=f0(e.preset,e.from,e.to);return t?{...t}:{}}const h0=[{value:"created",label:"Created"},{value:"updated",label:"Updated"}];function m0({initial:e,onApply:t,onReset:n,onClose:r}){const[s,o]=m.useState(e?.field||"updated"),[l,i]=m.useState(e?.preset||""),[c,d]=m.useState(e?.from||""),[f,u]=m.useState(e?.to||""),p=l==="custom"&&(!c||!f||c>f),v=!!l&&!p;return a.jsx("div",{className:"ca-confirm-modal",role:"dialog","aria-modal":"true","aria-label":"Filters",children:a.jsxs("div",{className:"ca-confirm-modal__dialog ca-date-filter",children:[a.jsxs("div",{className:"ca-date-filter__header",children:[a.jsx("span",{className:"ca-date-filter__title",children:"Filters"}),a.jsx("button",{type:"button",className:"ca-date-filter__close","aria-label":"Close",onClick:r,children:a.jsx(Jg,{size:18})})]}),a.jsx("div",{className:"ca-date-filter__tabs",role:"group","aria-label":"Date field",children:h0.map(y=>a.jsx("button",{type:"button",className:`ca-date-filter__tab${s===y.value?" ca-date-filter__tab--active":""}`,onClick:()=>o(y.value),children:y.label},y.value))}),a.jsx("div",{className:"ca-date-filter__list",children:u0.map(y=>a.jsxs("label",{className:`ca-date-filter__option${l===y.value?" ca-date-filter__option--active":""}`,children:[a.jsx("input",{type:"radio",name:"complaint-date-preset",checked:l===y.value,onChange:()=>i(y.value)}),a.jsx("span",{children:y.label})]},y.value))}),l==="custom"?a.jsxs("div",{className:"ca-date-filter__custom",children:[a.jsx("label",{className:"ca-confirm-modal__label",htmlFor:"ca-date-from",children:"From Date"}),a.jsx("input",{id:"ca-date-from",type:"date",className:"ca-date-filter__date",value:c,max:f||void 0,onChange:y=>d(y.target.value)}),a.jsx("label",{className:"ca-confirm-modal__label",htmlFor:"ca-date-to",children:"To Date"}),a.jsx("input",{id:"ca-date-to",type:"date",className:"ca-date-filter__date",value:f,min:c||void 0,onChange:y=>u(y.target.value)})]}):null,a.jsxs("div",{className:"ca-confirm-modal__actions",children:[a.jsx(Ee,{variant:"outline",onClick:n,children:"Reset"}),a.jsx(Ee,{onClick:()=>t({field:s,preset:l,from:c,to:f}),disabled:!v,children:"Apply"})]})]})})}function g0({open:e,initial:t,onApply:n,onReset:r,onClose:s}){return e?a.jsx(m0,{initial:t,onApply:n,onReset:r,onClose:s}):null}const A0=/^[^\s]+\/[^\s]+\.[A-Za-z0-9]{2,5}(?:\?.*)?(?:::.+)?$/;function Dt(e){const t=String(e??""),n=t.indexOf("::");return n>=0?t.slice(0,n):t}function Hn(e){const t=String(e??""),n=t.indexOf("::");return n>=0?t.slice(n+2):t}const y0=new RegExp("(?<=\\.[A-Za-z0-9]{2,5})(?=[A-Za-z0-9_-]+\\/)|[,\\n;]+");function an(e){return(Array.isArray(e)?e:[e]).filter(n=>n!=null&&n!==""&&n!=="-").flatMap(n=>typeof n=="string"?n.split(y0).map(r=>r.trim()).filter(Boolean):[n])}function b0(e){const t=an(e);return t.length>0&&t.every(n=>typeof n=="string"&&A0.test(n))}function zn(e,t){return String(e?.fieldType||"").toLowerCase()==="file"||b0(t)}function v0(e,t){const n=new Set;return t.forEach(r=>{e.forEach(s=>{const o=r[s.key]??"-";zn(s,o)&&an(o).forEach(l=>{typeof l=="string"&&n.add(Dt(l))})})}),Array.from(n)}const Kc=/\.(png|jpe?g|gif|webp|bmp|svg)(?:\?.*)?$/i;function Ms(e,t=7){const n=String(e||""),r=n.lastIndexOf("."),s=r>0?n.slice(0,r):n,o=r>0?n.slice(r):"";return s.length>t?`${s.slice(0,t)}...${o}`:n}function S0({value:e,urlMap:t={}}){const n=m.useMemo(()=>an(e),[e]),[r,s]=m.useState(null);if(!n.length)return"-";const o=n.filter(p=>typeof p=="string"&&Kc.test(Dt(p))),l=n.filter(p=>typeof p=="string"&&!Kc.test(Dt(p))).map(p=>({name:Hn(p),url:t[Dt(p)]})),i=o.map(p=>({name:Hn(p),url:t[Dt(p)]})).filter(p=>p.url),c=i[0],d=()=>s(null),f=()=>s(p=>p>0?p-1:i.length-1),u=()=>s(p=>p<i.length-1?p+1:0);return a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"ca-complaint-table__attachments",children:[c?a.jsx("button",{type:"button",className:"ca-complaint-table__attachment-trigger",onClick:()=>s(0),"aria-label":`Preview ${c.name}`,children:a.jsx("img",{className:"ca-complaint-table__attachment-image",src:c.url,alt:c.name,title:c.name})}):null,l.length?l.map(p=>{const v=String(p.name).split("/").pop();return p.url?a.jsx("a",{className:"ca-complaint-table__attachment-link",href:p.url,target:"_blank",rel:"noreferrer",title:v,children:Ms(v)},p.name):a.jsx("span",{className:"ca-complaint-table__attachment-name",title:v,children:Ms(v)},p.name)}):null,!c&&!l.length?n.map(p=>a.jsx("span",{className:"ca-complaint-table__attachment-name",title:Hn(p),children:Ms(Hn(p))},String(p))):null,i.length>1?a.jsxs("button",{type:"button",className:"ca-complaint-table__attachment-count",onClick:()=>s(1),"aria-label":`Preview ${i.length-1} more images`,children:["+",i.length-1]}):null]}),r!=null&&i.length?a.jsxs("div",{className:"ca-complaint-table__preview",role:"dialog","aria-modal":"true","aria-label":"Image preview",children:[a.jsx("button",{type:"button",className:"ca-complaint-table__preview-close",onClick:d,"aria-label":"Close image preview",children:"×"}),a.jsx("button",{type:"button",className:"ca-complaint-table__preview-nav ca-complaint-table__preview-nav--previous",onClick:f,"aria-label":"Previous image",children:"‹"}),a.jsx("img",{className:"ca-complaint-table__preview-image",src:i[r].url,alt:i[r].name}),a.jsx("button",{type:"button",className:"ca-complaint-table__preview-nav ca-complaint-table__preview-nav--next",onClick:u,"aria-label":"Next image",children:"›"}),a.jsxs("span",{className:"ca-complaint-table__preview-count",children:[r+1," / ",i.length]})]}):null]})}function jr(e,t=!1){const n=[];return!t&&e==="description"&&n.push("ca-complaint-table__desc"),e==="actions"&&n.push("ca-complaint-table__sticky","ca-complaint-table__sticky--actions"),n.length?n.join(" "):void 0}function w0(e,t=[]){const n=t.find(s=>String(s.id)===String(e.assignedToUserId));return(n?[n.firstName,n.lastName].filter(Boolean).join(" ").trim():"")||e.assignedToUserName||""}function C0({row:e,ctx:t,isOpen:n,onToggle:r}){const s=t.roleUsers??[],o=m.useRef(null),l=m.useRef(null),[i,c]=m.useState(null),d=s.find(h=>String(h.id)===String(e.assignedToUserId)),u=(d?[d.firstName,d.lastName].filter(Boolean).join(" ").trim():"")||e.assignedToUserName||"",p=e.assignedToUserId,v=p!=null&&p!==""&&String(p)===String(t.currentUserId),y=u||(v?"Assign to Me":"Assign"),C=s.filter(h=>String(h.id)!==String(t.currentUserId)),g=!!e.isClosed||t.canAssign===!1;return m.useLayoutEffect(()=>{if(!n)return;const h=()=>{const b=o.current,N=l.current;if(!b||!N)return;const w=b.getBoundingClientRect(),_=N.getBoundingClientRect(),T=6,W=12,H=w.bottom+T+_.height>window.innerHeight-W&&w.top-T-_.height>=W?w.top-_.height-T:Math.min(w.bottom+T,window.innerHeight-_.height-W),z=Math.max(W,Math.min(w.right-_.width,window.innerWidth-_.width-W));c({top:H,left:z,visibility:"visible"})};return h(),window.addEventListener("resize",h),window.addEventListener("scroll",h,!0),()=>{window.removeEventListener("resize",h),window.removeEventListener("scroll",h,!0)}},[t.assignmentError,t.assignmentLoading,t.assignmentSaving,n,s.length]),a.jsxs("div",{className:"ca-complaint-table__assignment",children:[a.jsxs("button",{ref:o,type:"button",className:"ca-complaint-table__assignment-trigger","data-assignment-trigger":"true",disabled:g,onClick:h=>{h.stopPropagation(),!g&&r(e.id)},"aria-expanded":n&&!g,"aria-label":`Assign complaint ${e.title||e.id}`,children:[a.jsx("span",{className:"ca-complaint-table__assignment-label",children:y}),a.jsx(Rt,{size:14,"aria-hidden":"true"})]}),n&&!g&&typeof document<"u"?Yr.createPortal(a.jsxs("div",{ref:l,className:"ca-complaint-table__assignment-menu","data-assignment-menu":"true",role:"menu",style:i||{visibility:"hidden"},onClick:h=>h.stopPropagation(),children:[a.jsx("button",{type:"button",className:"ca-complaint-table__assignment-self",role:"menuitem",disabled:v||t.assignmentLoading||t.assignmentSaving,onClick:h=>{h.stopPropagation(),r(null),t.onAssign?.(e,t.currentUserId)},children:a.jsx("strong",{children:"Assign to me"})}),t.assignmentLoading?a.jsx("span",{className:"ca-complaint-table__assignment-state",children:"Loading users…"}):null,t.assignmentSaving?a.jsx("span",{className:"ca-complaint-table__assignment-state",children:"Saving assignment…"}):null,t.assignmentError?a.jsxs("div",{className:"ca-complaint-table__assignment-error",children:[a.jsx("span",{children:t.assignmentError}),a.jsx("button",{type:"button",onClick:h=>{h.stopPropagation(),t.onRetryUsers?.(e.roleId)},children:"Retry"})]}):null,C.length>0?a.jsx("div",{className:"ca-complaint-table__assignment-others","aria-hidden":"true",children:"Others"}):null,C.map(h=>{const b=[h.firstName,h.lastName].filter(Boolean).join(" ").trim()||h.email;return a.jsxs("button",{type:"button",role:"menuitem",disabled:!v||String(p)===String(h.id)||t.assignmentLoading||t.assignmentSaving,title:v?void 0:"Assign this complaint to yourself first",onClick:N=>{N.stopPropagation(),r(null),t.onAssign?.(e,h.id)},children:[a.jsx("strong",{children:b}),h.email?a.jsx("span",{children:h.email}):null]},h.id)})]}),document.body):null]})}function Qc(e,t,n={},r={}){const s=t[e.key]??"-";if(e.key==="status"||e.key==="escalationTo")return s;if(e.key==="assignedToUserName"){const o=w0(t,n.roleUsers??[]);return o?a.jsx("span",{className:"ca-complaint-table__ellipsis",children:o}):"-"}return e.key==="actions"?a.jsxs("div",{className:"ca-complaint-table__action-cell",children:[a.jsx(C0,{row:t,ctx:n,...r}),a.jsx("button",{type:"button",className:"ca-complaint-table__open-button","aria-label":`Open complaint ${t.title||t.id}`,onClick:o=>{o.stopPropagation(),n.onOpenComplaint?.(t)},children:a.jsx(nt,{size:16,"aria-hidden":"true"})})]}):zn(e,s)&&an(s).some(o=>typeof o=="string")?a.jsx(S0,{value:s,urlMap:n.attachmentUrlMap}):s}function Xc({scrollFields:e,stickyFields:t,tableRows:n,fieldLabel:r,getCellContext:s,onOpenComplaint:o,page:l,itemsPerPage:i}){const[c,d]=m.useState(null);m.useEffect(()=>{if(c==null)return;const u=p=>{p.target.closest?.("[data-assignment-trigger], [data-assignment-menu]")||d(null)};return document.addEventListener("pointerdown",u),()=>document.removeEventListener("pointerdown",u)},[c]);const f=u=>{d(p=>String(p)===String(u)?null:u)};return a.jsxs("div",{className:"ca-complaint-table__scroll",children:[a.jsxs("table",{children:[a.jsx("thead",{children:a.jsxs("tr",{children:[a.jsx("th",{scope:"col",children:"#"}),e.map(u=>a.jsx("th",{scope:"col",className:jr(u.key,!0),children:r(u)},u.id)),a.jsx("th",{className:"ca-complaint-table__spacer","aria-hidden":"true"}),t.map(u=>a.jsx("th",{scope:"col",className:jr(u.key,!0),children:r(u)},u.id))]})}),a.jsx("tbody",{children:n.map((u,p)=>{const v=s(u);v.onOpenComplaint=o;const y=u.assignedToUserId,C=y==null||y===""?"ca-complaint-table__row--unassigned":String(y)===String(v.currentUserId)?"ca-complaint-table__row--assigned-self":"ca-complaint-table__row--assigned-other";return a.jsxs("tr",{className:C,children:[a.jsx("td",{children:(l-1)*i+p+1}),e.map(g=>a.jsx("td",{className:jr(g.key),children:Qc(g,u,v)},`${u.id??p}-${g.id}`)),a.jsx("td",{className:"ca-complaint-table__spacer","aria-hidden":"true"}),t.map(g=>a.jsx("td",{className:jr(g.key),children:Qc(g,u,v,{isOpen:String(c)===String(u.id),onToggle:f})},`${u.id??p}-${g.id}`))]},u.id??p)})})]}),n.length?null:a.jsx("div",{className:"ca-complaint-table__empty-overlay",children:a.jsx(Or,{text:"Nothing here yet",illustrated:!0})})]})}const N0={id:"actions",label:"Actions",key:"actions"},Yc=[];async function _0({complaintTypeId:e,status:t,dateParams:n={},sort:r,assignmentFilter:s,escalationTo:o,search:l}){const i=await ge.post(ja,Va({...n,complaintTypeId:e,page:1,limit:Ag,sort:r,assignmentFilter:s,escalationTo:o,status:t,search:l}));return Fi(i.data)}function Gc(e,t=!1){const n=Array.isArray(e)?e:e==null?[]:[e];return n.includes("all")||n.includes("All")?[]:n.filter(r=>r!=null&&r!=="").map(r=>t?Number(r):String(r)).filter(r=>!t||Number.isFinite(r))}function E0(e){return(Array.isArray(e?.roles)?e.roles:[]).map(n=>Number(n?.id??n?.roleId??n?.role_id??n)).filter(n=>Number.isFinite(n))}function Jc(e,t=[],n=[],r=null){const s=e?.hideForWorkflowStepId;if(s==null||s==="")return!0;const o=t.find(l=>String(l.id)===String(s));return!o||!Rc(o,n,r)}function Zc(e){return([e?.userAssignments,e?.users,e?.userIds,e?.assignedUsers].find(Array.isArray)??[]).map(n=>Number(n&&typeof n=="object"?n.userId??n.id??n.user?.id:n)).filter(Number.isFinite)}function Rc(e,t=[],n=null){return(Array.isArray(e?.roleIds)?e.roleIds.map(Number):[]).some(s=>t.includes(s))?!0:n!=null&&Zc(e).includes(Number(n))}function T0(){const{fieldLabel:e}=pt(),t=Y.useDispatch(),n=Ge(),r=He(),{complaintTypeId:s}=lt(),[o]=ho(),l=Y.useSelector(P=>P.appDetails?.id),i=wg(s,o.get("complaintTypeId"),l,Sg()),{list:c=[],isLoading:d=!1,error:f=null,hasLoaded:u=!1,requestedComplaintTypeId:p=null,meta:v=null}=Y.useSelector(P=>P.complaintManagement??{}),y=Y.useSelector(P=>P.status?.list??[]),C=Y.useSelector(P=>P.changeStatus?.updatingId??null),g=Y.useSelector(P=>P.roleUsers??{}),h=Y.useSelector(P=>P.workflow?.workflowSteps),b=Y.useSelector(P=>P.appDetails?.details?.currentUser),N=Y.useSelector(P=>P.appDetails?.details?.featureActions),w=Cr(N).canSeeAllFilters,_=Y.useSelector(P=>P.appDetails?.details?.storeList),T=Y.useSelector(P=>P.appDetails?.details?.userList??[]),W=m.useMemo(()=>$i(_),[_]),ae=m.useMemo(()=>y.map(P=>P.name).filter(Boolean),[y]),H=m.useMemo(()=>Array.isArray(h)?h:Array.isArray(h?.steps)?h.steps:[],[h]),z=m.useMemo(()=>E0(b),[b]),K=b?.id??b?.userId??null,x=Y.useSelector(P=>{const te=P.complaintType?.selected,ye=Array.isArray(te?.accesses)?te.accesses.map(Te=>Te?.role?.id??Te?.role?.roleId??Te?.roleId).map(Number).filter(Number.isFinite):[];return ye.length?ye:(Array.isArray(te?.roleIds)?te.roleIds:Array.isArray(te?.roles)?te.roles:[]).map(Te=>Number(Te?.id??Te?.roleId??Te?.role_id??Te)).filter(Te=>Number.isFinite(Te))}),Q=Y.useSelector(P=>{const te=P.complaintType?.selected;return te?.isActive!=null?!!te.isActive:te?.active!=null?!!te.active:!0}),[k,D]=m.useState({complaintTypeId:null,status:[]}),[J,ne]=m.useState({complaintTypeId:null,direction:vi}),[L,q]=m.useState({complaintTypeId:null,level:[]}),[Z,oe]=m.useState({complaintTypeId:null,value:"All",explicitlySelected:!1}),[A,M]=m.useState(""),[I,$]=m.useState(""),[U,X]=m.useState(1),[E,re]=m.useState(mg),[se,pe]=m.useState([]),[be,ee]=m.useState({}),[B,R]=m.useState(!1),[V,le]=m.useState(null),[he,Ae]=m.useState([]),[Pe,we]=m.useState(!1),[Ie,ln]=m.useState({complaintTypeId:null,field:"updated",preset:"",from:"",to:""}),ht=String(Ie.complaintTypeId)===String(i)&&Ie.preset?Ie:null,Qn=m.useMemo(()=>p0(ht),[ht]);m.useEffect(()=>{const P=setTimeout(()=>{$(A.trim()),X(1)},350);return()=>clearTimeout(P)},[A]);const cn=String(k.complaintTypeId)===String(i)?k.status:Yc,dn=String(J.complaintTypeId)===String(i)?J.direction:vi,F=String(L.complaintTypeId)===String(i)?L.level:Yc,ce=String(Z.complaintTypeId)===String(i)?Z.value:"All",fe=String(Z.complaintTypeId)===String(i)&&Z.explicitlySelected,me=m.useCallback(P=>{M(P),X(1)},[]),Be=(P,te="success")=>{const ye=`${Date.now()}-${Math.random()}`;Ae(_e=>[..._e,{id:ye,message:P,type:te}])},Qr=P=>Ae(te=>te.filter(ye=>ye.id!==P));m.useEffect(()=>{!i||s||(Ei(i),n(`/complaintmanagement/${i}`,{replace:!0}))},[i,n,s]),m.useEffect(()=>{if(!i||!s)return;Ei(i),t(Et(i)),t(Fl()),t(Ml()),t(rm());const P=t(Qt(i)),te=t(Ar(i)),ye=t(Ze(i)),_e=t(Ke(i)),Te=t(ct(i));return _e.unwrap().then(De=>pe(Ni(De))).catch(()=>pe([])),()=>{P.abort?.(),te.abort?.(),ye.abort?.(),_e.abort?.(),Te.abort?.()}},[i,t,s]),m.useEffect(()=>{if(!i||!s)return;const P=t(gr({complaintTypeId:i,page:U,limit:E,status:cn,sort:dn===Si?"createdAt":"-createdAt",assignmentFilter:fe?ce:void 0,escalationTo:F,...Qn,search:I}));return()=>P.abort?.()},[i,K,Qn,I,t,fe,E,U,s,ce,dn,F,cn]);const Ly=x.some(P=>z.includes(P)),Mt=m.useMemo(()=>p!=null&&i!=null&&String(p)!==String(i)?[]:c.map(te=>({...ji(Li(te,y,H),W),_fields:te?.formField||[]})),[i,c,p,y,H,W]),Td=m.useMemo(()=>{const P=new Set;return Mt.forEach(te=>{te.roleId!=null&&P.add(String(te.roleId));const ye=H.find(_e=>String(_e.id)===String(te.currentStepId));(Array.isArray(ye?.roleIds)?ye.roleIds:[]).forEach(_e=>P.add(String(_e)))}),[...P]},[Mt,H]);m.useEffect(()=>{Td.forEach(P=>{!g.usersByRoleId?.[P]&&!g.loadingByRoleId?.[P]&&!g.errorByRoleId?.[P]&&t(It(P))})},[t,Td,g.errorByRoleId,g.loadingByRoleId,g.usersByRoleId]);const Iy=m.useMemo(()=>[...new Set(H.map((P,te)=>Number(P.levelNo??te+1)))].sort((P,te)=>P-te),[H]),Fy=w,qs=m.useMemo(()=>Ii(Mt,se).filter(P=>Jc(P,H,z,K)),[Mt,se,H,z,K]),ky=Ci(qs),Ld=P=>{const te=P.assignedToUserId;return te==null||te===""?0:String(te)===String(K)?1:2},Xn=Mt.map(({_fields:P,...te})=>te).sort((P,te)=>Ld(P)-Ld(te)),Hs=m.useMemo(()=>v0(qs,Mt),[qs,Mt]),Oy=Hs.every(P=>Object.prototype.hasOwnProperty.call(be,P));m.useEffect(()=>{const P=Hs.filter(ye=>!Object.prototype.hasOwnProperty.call(be,ye));if(!P.length)return;let te=!1;return Promise.all(P.map(async ye=>{try{const _e=await t(Pn({params:{path:ye}})).unwrap();return[ye,_e]}catch{return[ye,""]}})).then(ye=>{te||ee(_e=>({..._e,...Object.fromEntries(ye)}))}),()=>{te=!0}},[Hs,be,t]);const Xr=vg(v,U,E,Xn.length),Id=!!(i&&!f&&(!Xn.length&&(d||!u)||Xn.length>0&&!Oy)),Dy=P=>{X(1),D({complaintTypeId:i,status:Gc(P)})},My=P=>{P>=1&&P<=Xr.totalPages&&P!==U&&X(P)},xy=P=>{const te=Number(P);!Number.isFinite(te)||te<=0||te===E||(re(te),X(1))},Py=P=>{X(1),ne({complaintTypeId:i,direction:P})},By=P=>{X(1),q({complaintTypeId:i,level:Gc(P,!0)})},Uy=P=>{X(1),oe({complaintTypeId:i,value:{all:"All",mine:"AssignToMe",other:"AssignToOther",unassigned:"Unassigned",All:"All",AssignToMe:"AssignToMe",AssignToOther:"AssignToOther",Unassigned:"Unassigned"}[P]??"All",explicitlySelected:!0})},$y=P=>{X(1),ln({complaintTypeId:i,...P}),we(!1)},jy=()=>{X(1),ln({complaintTypeId:null,field:"updated",preset:"",from:"",to:""}),we(!1)},Vy=()=>{i&&n(`/complaintmanagement/new/${i}`)},Wy=P=>{if(P?.id==null||!i)return;const te=r.pathname.startsWith("/querymanagement")?"querymanagement":"complaintmanagement";n(`/${te}/${i}/details/${P.id}`)},Fd=P=>{const te=H.find(ye=>String(ye.id)===String(P?.currentStepId));return!te||Rc(te,z,K)},qy=async(P,te)=>{if(P?.id==null||te==null||C!=null||P.isClosed||String(P.assignedToUserId)===String(te))return;if(!Fd(P)){Be("Only users in the current level can assign this complaint.","error");return}if(!(P.assignedToUserId!=null&&P.assignedToUserId!==""&&String(P.assignedToUserId)===String(K))&&String(te)!==String(K)){Be("Please assign this complaint to yourself first. Then you can assign it to others.","error");return}try{await t(Tt({id:P.id,assignedToUserId:te})).unwrap(),Be("Complaint assigned successfully","success")}catch(_e){Be(_e?.message??"Failed to assign complaint","error")}},Hy=P=>{const te=H.find(De=>String(De.id)===String(P?.currentStepId)),ye=new Set([String(P.roleId),...Array.isArray(te?.roleIds)?te.roleIds.map(String):[]]),_e=new Set(Zc(te).map(String)),Te=new Map;return[...[...ye].flatMap(De=>g.usersByRoleId?.[De]??[]),...T.filter(De=>_e.has(String(De?.id??De?.userId)))].forEach(De=>{const bt=String(De?.id??De?.userId);Te.has(bt)||Te.set(bt,De)}),[...Te.values()]},zy=P=>({roleUsers:Hy(P),assignmentLoading:!!g.loadingByRoleId?.[String(P.roleId)],assignmentError:g.errorByRoleId?.[String(P.roleId)]??null,assignmentSaving:C!=null,currentUserId:K,canAssign:Fd(P),onAssign:qy,onRetryUsers:te=>t(It(te)),attachmentUrlMap:be});return{complaintTypeId:i,canCreateComplaint:Ly,isComplaintTypeActive:Q,statusNames:ae,selectedStatus:cn,selectedCreatedAtSort:dn,selectedLevel:F,selectedAssignment:ce,workflowLevels:Iy,canFilterByLevelAndAssignment:Fy,isDownloadingReport:B,search:A,onSearchChange:me,onStatusChange:Dy,onCreatedAtSortChange:Py,onLevelChange:By,onAssignmentChange:Uy,dateFilter:ht,hasDateFilter:!!ht,isDateFilterOpen:Pe,onOpenDateFilter:()=>we(!0),onCloseDateFilter:()=>we(!1),onApplyDateFilter:$y,onResetDateFilter:jy,onNewComplaint:Vy,onDownloadReport:async()=>{if(!(!i||B)){R(!0),le(null);try{const te=(await _0({complaintTypeId:i,status:cn,dateParams:Qn,sort:dn===Si?"createdAt":"-createdAt",assignmentFilter:fe?ce:void 0,escalationTo:F,search:I})).map(un=>({...ji(Li(un,y,H),W),_fields:un?.formField||[]})),ye=Ii(te,se).filter(un=>Jc(un,H,z,K)),_e=Ci(ye).filter(un=>!Tg(un,te,zn)),Te=new Blob([Lg(_e,te)],{type:"text/csv;charset=utf-8;"}),De=URL.createObjectURL(Te),bt=document.createElement("a");bt.href=De,bt.download=`complaints-report-${i}-${Date.now()}.csv`,document.body.appendChild(bt),bt.click(),document.body.removeChild(bt),URL.revokeObjectURL(De)}catch(P){le(P?.response?.data?.message??P?.message??"Failed to download report")}finally{R(!1)}}},error:f,downloadError:V,showLoading:Id,toasts:he,onDismissToast:Qr,tableProps:{scrollFields:ky.filter(P=>P.key!=="actions"),stickyFields:[N0],tableRows:Xn,fieldLabel:e,getCellContext:zy,onOpenComplaint:Wy,page:U,itemsPerPage:E},paginationProps:{currentPage:U,totalItems:Xr.totalItems,itemsPerPage:E,onPageChange:My,onItemsPerPageChange:xy,selectOptions:gg,totalPages:Xr.totalPages,disabled:Id,hasRows:!!(Xr.totalItems>0||Xn.length||U>1)}}}const L0=[{value:"All",label:"All Assignments"},{value:"AssignToMe",label:"Assign to Me"},{value:"AssignToOther",label:"Assign to Others"},{value:"Unassigned",label:"Unassigned"}];function I0({onHeaderActionsChange:e}){const t=T0(),n=t.tableProps.tableRows,r=m.useRef({});m.useEffect(()=>{r.current={onStatusChange:t.onStatusChange,onCreatedAtSortChange:t.onCreatedAtSortChange,onLevelChange:t.onLevelChange,onAssignmentChange:t.onAssignmentChange,onNewComplaint:t.onNewComplaint,onOpenDateFilter:t.onOpenDateFilter,onDownloadReport:t.onDownloadReport}});const s=m.useMemo(()=>({onStatusChange:(...o)=>r.current.onStatusChange?.(...o),onCreatedAtSortChange:(...o)=>r.current.onCreatedAtSortChange?.(...o),onLevelChange:(...o)=>r.current.onLevelChange?.(...o),onAssignmentChange:(...o)=>r.current.onAssignmentChange?.(...o),onNewComplaint:(...o)=>r.current.onNewComplaint?.(...o),onOpenDateFilter:(...o)=>r.current.onOpenDateFilter?.(...o),onDownloadReport:(...o)=>r.current.onDownloadReport?.(...o)}),[]);return m.useEffect(()=>{e?.({search:t.search,onSearchChange:t.onSearchChange,selectedStatus:t.selectedStatus,statusNames:t.statusNames,selectedCreatedAtSort:t.selectedCreatedAtSort,selectedLevel:t.selectedLevel,selectedAssignment:t.selectedAssignment,assignmentOptions:L0,workflowLevels:t.workflowLevels,showLevelAndAssignmentFilters:t.canFilterByLevelAndAssignment,onStatusChange:s.onStatusChange,onCreatedAtSortChange:s.onCreatedAtSortChange,onLevelChange:s.onLevelChange,onAssignmentChange:s.onAssignmentChange,onNewComplaint:s.onNewComplaint,onOpenDateFilter:s.onOpenDateFilter,hasDateFilter:t.hasDateFilter,onDownloadReport:s.onDownloadReport,isDownloadingReport:t.isDownloadingReport,complaintTypeId:t.complaintTypeId,canCreateComplaint:t.canCreateComplaint,isComplaintTypeActive:t.isComplaintTypeActive})},[e,s,t.search,t.onSearchChange,t.selectedStatus,t.statusNames,t.selectedCreatedAtSort,t.selectedLevel,t.selectedAssignment,t.workflowLevels,t.canFilterByLevelAndAssignment,t.hasDateFilter,t.isDownloadingReport,t.complaintTypeId,t.canCreateComplaint,t.isComplaintTypeActive]),m.useEffect(()=>()=>e?.(null),[e]),a.jsxs("section",{className:"ca-complaint-table","aria-label":"Complaint records",children:[t.error?a.jsx("p",{className:"ca-body",children:t.error}):null,t.downloadError?a.jsx("p",{className:"ca-body",children:t.downloadError}):null,t.showLoading?a.jsx(ut,{text:"Loading complaints"}):a.jsx(Xc,{...t.tableProps,tableRows:n}),t.paginationProps.hasRows?a.jsx(Hc,{...t.paginationProps}):null,a.jsx(g0,{open:t.isDateFilterOpen,initial:t.dateFilter,onApply:t.onApplyDateFilter,onReset:t.onResetDateFilter,onClose:t.onCloseDateFilter}),a.jsx(Ds,{toasts:t.toasts,onDismiss:t.onDismissToast})]})}const Vr=({onHeaderActionsChange:e})=>a.jsxs("main",{className:"ca-query-management-page",children:[a.jsx(i0,{}),a.jsx(I0,{onHeaderActionsChange:e})]}),F0={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",TIME:"Time"};function xs(e){return typeof e=="string"?e:e?.label??""}function k0(e=[]){const t=[...e].sort((n,r)=>(n.displayOrder??0)-(r.displayOrder??0));return t.map(n=>{const r=n.fieldName??n.fieldLabel??n.label??"",s=n.fieldKey??String(n.id),o=Ve({fieldKey:s,label:r}),l=o?"Office":r,i=n?.options?.values??[],c=t.find(d=>d.id===n.dependsOnFieldId||n.dependsOnFieldKey&&d.fieldKey===n.dependsOnFieldKey);return{id:n.id,label:l,fieldKey:de({fieldKey:s,label:r})?"status":o?"storeIdCustom":s,fieldType:Ya(n.fieldType,F0,n.fieldKey),required:!!n.required,dependsOn:n.dependsOnField?.fieldName??c?.fieldName??n.dependsOn??"",options:i.map(xs).filter(Boolean),parentMappings:Object.fromEntries(i.map(d=>{const f=xs(d),u=D0(d);return!f||!u?null:[f,M0(u,c?.options?.values??[])]}).filter(Boolean))}})}function Wr(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 O0(e){if(de(e))return"status";if(Ve(e))return"storeIdCustom";const t=String(e.fieldKey||"").trim();return t&&!/\s/.test(t)?t:Wr(e.label||t)}function D0(e){return!e||typeof e!="object"?"":e.dependsOnValue??e.parent??""}function M0(e,t=[]){if(!e)return"";const n=t.map(xs).filter(Boolean),r=n.find(o=>o===e);return r||n.find(o=>Wr(o)===e||Wr(o)===Wr(e))||e}function x0(e,t=[],n={}){const r=e.options||[],s=String(e.dependsOn||"").trim();if(!s)return r;const o=t.find(d=>String(d.label||"").trim()===s||String(d.fieldKey||"").trim()===s);if(!o)return r;const l=e.parentMappings||{};if(!r.some(d=>!!l[d]))return r;const c=String(n[Se(o)]||"").trim();return c?r.filter(d=>String(l[d]||"")===c):r}function Ps(e){return sn(e)==="checkbox"}function P0(e,t){const n=String(t||"").trim();return n&&e.find(r=>String(r.label||"").trim()===n||String(r.fieldKey||"").trim()===n)||null}function ed(e,t){const n=String(t?.label||"").trim();return n&&e.find(r=>String(r.dependsOn||"").trim()===n)||null}function B0(e,t,n){const r={},s=Array.isArray(t)?t[0]:t;if(!s)return r;let o=e,l=s;for(;o?.dependsOn;){const i=P0(n,o.dependsOn);if(!i)break;const c=(o.parentMappings||{})[l];if(!c)break;r[Se(i)]=Ps(i)?[c]:c,o=i,l=c}for(o=e,l=s;o;){const i=ed(n,o);if(!i)break;const c=i.parentMappings||{},d=Object.keys(c).find(f=>c[f]===l);if(!d)break;r[Se(i)]=Ps(i)?[d]:d,o=i,l=d}return r}function Bs(e){return Array.isArray(e)?e.filter(t=>t!=null&&t!==""):e==null||e===""?[]:[e]}function U0(e,t,n,r,s){const o={},l=Bs(n);let i=Bs(t).filter(d=>!l.includes(d)),c=e;for(;c&&i.length;){const d=ed(r,c);if(!d)break;const f=d.parentMappings||{},u=Se(d),p=Bs(o[u]??s[u]),v=p.filter(C=>i.includes(f[C]));if(!v.length)break;const y=p.filter(C=>!v.includes(C));o[u]=Ps(d)?y:y[0]??"",i=v,c=d}return o}function Se(e){return String(e.fieldKey||e.id||e.label)}function sn(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==="dropdown"||t==="select"||t==="custom")&&e.options.length?"select":"text"}function td(e){return`new-query-${e.id??Se(e)}`}function nd(e){if(de(e))return(e.options||[]).find(r=>String(r).trim().toLowerCase()==="open")||"Open";const t=sn(e);return t==="checkbox"||t==="file"?[]:""}function rd(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 ad(e,t){if(e==null)return t?.name||"";if(typeof e=="string"||typeof e=="number")return String(e);const n=e.file&&typeof e.file=="object"?e.file:e,r=n.path||n.id||t?.name||"",s=n.originalName||t?.name||"";return s&&r&&String(r)!==s?`${r}::${s}`:r}async function $0(e,t,n){const r=sn(t);if(r==="file"&&typeof File<"u"&&n instanceof File){const s=await e(xn({file:n,folder:"complaints"})).unwrap();return ad(s,n)}return r==="file"&&Array.isArray(n)?Promise.all(n.map(async s=>{if(typeof File<"u"&&s instanceof File){const o=await e(xn({file:s,folder:"complaints"})).unwrap();return ad(o,s)}return s})):rd(n)}function j0(e,t=[]){if(e==null||e==="")return"";const n=t.find(s=>String(s?.id??s?._id)===String(e)),r=n?.name??n?.storeName??n?.label;if(!r||!String(r).trim())throw new Error("Unable to resolve the selected Office name. Please select an Office again.");return String(r).trim()}async function V0(e=[],t={},n,r=[]){const s={};for(const o of e){const l=O0(o);if(!l)continue;const i=t[Se(o)];s[l]=Ve(o)?j0(i,r):await $0(n,o,i)}return s}function sd(e){return Array.isArray(e)?e.length===0:typeof File<"u"&&e instanceof File?!1:e==null||String(e).trim()===""}function W0(e){return/^\d+$/.test(String(e).trim())}function q0(e=[],t={}){for(const n of e){const r=sn(n),s=t[Se(n)],o=n.label||"This field";if(n.required&&sd(s))return`${o} is required.`;if(!sd(s)&&r==="number"&&!W0(s))return`${o} must be a valid number.`}return""}function H0({field:e,value:t,onChange:n,storeList:r,options:s=e.options}){const{fieldLabel:o}=pt(),l=sn(e),i=td(e),c=de(e);if(Ve(e)&&Array.isArray(r))return a.jsx(Mc,{id:i,name:Se(e),required:e.required,storeList:r,value:t,onChange:n});if(l==="radio")return a.jsx("div",{className:"review-options review-options--inline",children:s.map(d=>a.jsxs("label",{className:"review-option",htmlFor:`${i}-${d}`,children:[a.jsx("input",{id:`${i}-${d}`,name:Se(e),type:"radio",value:d,checked:t===d,onChange:f=>n(f.target.value),required:e.required,disabled:c}),a.jsx("span",{children:d})]},d))});if(l==="checkbox"){const d=Array.isArray(t)?t:[];return a.jsx("div",{className:"review-options review-options--inline",children:s.map(f=>a.jsxs("label",{className:"review-option",htmlFor:`${i}-${f}`,children:[a.jsx("input",{id:`${i}-${f}`,name:`${Se(e)}[]`,type:"checkbox",value:f,checked:d.includes(f),onChange:u=>n(u.target.checked?[...d,f]:d.filter(p=>p!==f))}),a.jsx("span",{children:f})]},f))})}if(l==="textarea")return a.jsx("textarea",{id:i,name:Se(e),className:"review-control review-control--textarea",value:t,onChange:d=>n(d.target.value),required:e.required,disabled:c});if(l==="file")return a.jsx(Ls,{id:i,name:Se(e),value:t,onChange:n,multiple:!0,required:e.required,disabled:c});if(l==="number")return a.jsx("input",{id:i,name:Se(e),className:"review-control",type:"number",inputMode:"numeric",value:t,onChange:d=>n(String(d.target.value).replace(/[^\d]/g,"")),onKeyDown:d=>{(d.key==="e"||d.key==="E"||d.key==="+"||d.key==="-"||d.key===".")&&d.preventDefault()},required:e.required,disabled:c});if(l==="select"){const d=(s||[]).includes(t)||!c||!t?s:[t,...s];return a.jsxs("select",{id:i,name:Se(e),className:"review-control",value:t,onChange:f=>n(f.target.value),required:e.required,disabled:c,children:[c?null:a.jsxs("option",{value:"",children:["Select ",o(e)]}),d.map(f=>a.jsx("option",{value:f,children:f},f))]})}return a.jsx("input",{id:i,name:Se(e),className:"review-control",type:l,value:t,onChange:d=>n(d.target.value),required:e.required,disabled:c})}function od({storeList:e}={}){const{fieldLabel:t}=pt(),n=Y.useDispatch(),r=Ge(),s=He(),{complaintTypeId:o}=lt(),l=Y.useSelector(I=>I.appDetails?.details?.storeList),i=Array.isArray(e)?e:Array.isArray(l)?l:[],c=Number(o),d=Number.isFinite(c)&&c>0,f=new URLSearchParams(s.search).get("access")==="public",[u,p]=m.useState([]),[v,y]=m.useState({}),[C,g]=m.useState(!0),[h,b]=m.useState(!1),[N,w]=m.useState(""),[_,T]=m.useState(""),[W,ae]=m.useState([]),H=m.useCallback((I,$="success")=>{ae(U=>[...U,{id:Date.now()+Math.random(),message:I,type:$}])},[]),z=m.useCallback(I=>{ae($=>$.filter(U=>U.id!==I))},[]),[K,x]=m.useState(!1),[Q,k]=m.useState(!f),[D,J]=m.useState(""),[ne,L]=m.useState(""),q=Y.useSelector(I=>{const $=I.complaintType??{},X=(Array.isArray($.complaintList)?$.complaintList:[]).find(E=>String(E?.id??E?._id)===String(o))??(String($.selected?.id??$.selected?._id)===String(o)?$.selected:null);return String(X?.name??X?.code??"").trim()}),Z=q||ne;m.useEffect(()=>{if(!f||!d)return;let I=!1;return n(ct(c)).unwrap().then($=>{const U=$?.data?.data??$?.data??$,E=String(U?.visibilityType??U?.accessType??"").toUpperCase()==="PUBLIC_LINK"&&U?.isActive!==!1&&U?.active!==!1;I||(k(E),E||w("This form is not available through a public link."))}).catch(()=>{I||(k(!1),w("This public form could not be verified."))}).finally(()=>{I||x(!0)}),()=>{I=!0}},[n,d,f,c]),m.useEffect(()=>{if(!d||q)return;let I=!1;return n(ct(c)).unwrap().then($=>{if(I)return;const U=$?.data??$;L(String(U?.name??U?.code??"").trim())}).catch(()=>{}),()=>{I=!0}},[c,q,n,d]),m.useEffect(()=>{if(!d||f&&(!K||!Q))return;let I=!1;return n(Ke(c)).unwrap().then($=>{if(I)return;const U=k0(Array.isArray($?.data)?$.data:$);p(U),y(Object.fromEntries(U.map(X=>[Se(X),nd(X)])))}).catch($=>{I||w(typeof $=="string"?$:$?.message||"Failed to load form fields.")}).finally(()=>{I||g(!1)}),()=>{I=!0}},[c,n,d,f,Q,K]);const oe=m.useMemo(()=>u.length>0,[u]),A=async I=>{if(I.preventDefault(),!d){w("A valid complaint type is required.");return}w(""),T(""),b(!0);const $=q0(u,v);if($){H($,"error"),b(!1);return}try{const U=await V0(u,v,n,i),X=u.findIndex(de),E=u[X+1],se=(E?[].concat(rd(v[Se(E)])).join(", ").trim():"")||Z;if(!se){H("Title is required. Please fill the first field.","error");return}await n(br({complaintTypeId:c,title:se,fieldValues:U})).unwrap(),H("Complaint submitted successfully"),await new Promise(be=>{setTimeout(be,1200)}),s.key!=="default"?r(-1):r(`/complaintmanagement/all/${c}`)}catch(U){H(typeof U=="string"?U:U?.message||"Failed to submit complaint.","error")}finally{b(!1)}},M=I=>{const $=x0(I,u,v);return a.jsxs("div",{className:`review-question${["textarea","radio","checkbox"].includes(sn(I))?" review-question--wide":""}`,children:[a.jsxs("label",{className:"review-label",htmlFor:td(I),children:[t(I)||"Untitled field",I.required?a.jsx("span",{className:"review-required",children:"*"}):null]}),a.jsx(H0,{storeList:i,field:I,options:$,value:v[Se(I)]??nd(I),onChange:U=>{de(I)||y(X=>{const E=U0(I,X[Se(I)],U,u,X),re=B0(I,U,u);return{...X,[Se(I)]:U,...E,...re}})}})]},I.id??Se(I))};return a.jsxs("main",{className:"ca-query-management-page",children:[a.jsxs("section",{className:"ca-query-details","aria-labelledby":"new-query-title",children:[a.jsx("div",{className:"ca-query-details__heading",children:a.jsx("div",{className:"ca-query-details__title-row",children:a.jsx("h1",{id:"new-query-title",className:"ca-query-details__title",children:"New Complaint"})})}),N||!d?a.jsx("div",{className:"ca-validation-toast",role:"alert",children:N||"A valid complaint type is required."}):null,(C||f&&!K)&&d?a.jsx(ut,{text:f?"Verifying public form":"Loading form fields"}):null,d&&!C&&(!f||K&&Q)&&oe?a.jsxs("form",{className:"review-form-card",onSubmit:A,children:[a.jsx("div",{className:"review-form-grid",children:u.map(I=>a.jsx(m.Fragment,{children:de(I)?null:M(I)},I.id??Se(I)))}),a.jsx("div",{className:"ca-new-query__actions",children:a.jsx(Ee,{type:"submit",disabled:h||f&&!Q,children:h?"Submitting...":"Submit Complaint"})}),_?a.jsx("p",{className:"ca-body",children:_}):null]}):null]}),a.jsx(Ds,{toasts:W,onDismiss:z})]})}const qr=[];function z0(e,t=200,n=null){const r=Y.useDispatch(),s=Y.useSelector(g=>g.appDetails?.details?.userList)??qr,o=Y.useSelector(g=>g.status?.list)??qr,l=Y.useSelector(g=>g.workflow?.workflowSteps),i=Array.isArray(l)?l:Array.isArray(l?.steps)?l.steps:Array.isArray(l?.data)?l.data:qr,[c,d]=m.useState({key:null,complaints:[],error:null}),f=e==null||e===""?null:`${e}:${t}`;m.useEffect(()=>{if(e==null||e==="")return;const g=r(Qt(e)),h=r(Ze(e));return()=>{g.abort?.(),h.abort?.()}},[e,r]),m.useEffect(()=>{if(e==null||e==="")return;let g=!1;const h=`${e}:${t}`;return ge.post(ja,Va({complaintTypeId:e,page:1,limit:t})).then(b=>{g||d({key:h,complaints:Fi(b.data),error:null})}).catch(b=>{g||d({key:h,complaints:[],error:b?.response?.data?.message??b?.message??"Failed to load complaints"})}),()=>{g=!0}},[e,t]);const u=c.key===f,p=u?c.complaints:qr,v=u?c.error:null,y=f!==null&&!u;return{rows:m.useMemo(()=>{const g={tatMinutes:Number(n)||0,steps:i},h=N=>{const w=new Date(N?.createdAt??N?.submittedAt??N?.date??0).getTime();return Number.isNaN(w)?0:w},b=N=>Number(N?.complaintId??N?.id)||0;return[...p].sort((N,w)=>h(w)-h(N)||b(w)-b(N)).map(N=>Ui(N,o,s,g))},[p,o,s,n,i]),isLoading:y,error:v}}function K0(){const e=Y.useDispatch(),t=Ge(),n=He(),{complaintTypeId:r}=lt(),s=Y.useSelector(d=>{const f=d.complaintType??{};return(Array.isArray(f.complaintList)?f.complaintList:[]).find(p=>String(p?.id??p?._id)===String(r))??(String(f.selected?.id??f.selected?._id)===String(r)?f.selected:null)}),{rows:o,isLoading:l,error:i}=z0(r,void 0,s?.tatMinutes),c=m.useCallback(d=>{t(`/complaintmanagement/all/${r}/details/${d.id}`,{state:{from:n.pathname}})},[r,n.pathname,t]);return m.useEffect(()=>{!s&&r&&e(ct(r))},[r,e,s]),a.jsx("main",{className:"ca-query-management-page",children:a.jsxs("section",{className:"ca-filler-list",children:[a.jsxs("div",{className:"ca-query-details__heading",children:[a.jsx("div",{className:"ca-query-details__title-row",style:{minWidth:0},children:a.jsxs("div",{style:{minWidth:0},children:[a.jsxs("h1",{className:"ca-query-details__title",children:[s?.name??s?.title??"Complaints",o.length?` (${o.length})`:""]}),a.jsx(ns,{text:s?.description,forceLayout:!0})]})}),a.jsx(Ee,{startIcon:a.jsx(os,{size:14}),onClick:()=>t(`/complaintmanagement/new/${r}`),disabled:s?.isActive===!1||s?.active===!1,children:"Add Complaint"})]}),i?a.jsx("p",{className:"ca-body",children:i}):null,l?a.jsx(ut,{text:"Loading complaints"}):null,!l&&!i&&!o.length?a.jsx(Or,{text:"Nothing here yet",illustrated:!0}):null,l?null:o.map(d=>a.jsx(Gi,{row:d,onClick:c},d.id))]})})}function Q0(e){return([e?.userAssignments,e?.users,e?.userIds,e?.assignedUsers].find(Array.isArray)??[]).map(n=>Number(n&&typeof n=="object"?n.userId??n.id??n.user?.id:n)).filter(Number.isFinite)}function X0(e,t=[],n=null){return(Array.isArray(e?.roleIds)?e.roleIds.map(Number):[]).some(s=>t.includes(s))?!0:n!=null&&Q0(e).includes(Number(n))}function Us(e){return Ja(e)||"—"}function ld(e){return e==null||e===""?"—":Array.isArray(e)?e.map(ld).join(", "):typeof e=="object"?e.name??e.label??JSON.stringify(e):String(e)}function Hr(e){const t=typeof e=="object"&&e!==null?e.userId??e.user_id??e.id??e.value??e.user?.id:e;return t==null||t===""?null:String(t)}function Y0(e){const t=[e?.roleIds,e?.roles,e?.roleId!=null?[e.roleId]:[]].flatMap(n=>Array.isArray(n)?n:n==null?[]:[n]);return[...new Set(t.map(n=>Hr(typeof n=="object"&&n!==null?{id:n.id??n.roleId??n.role_id??n.value??n.role?.id}:n)).filter(Boolean))]}function G0(e){return[e?.userAssignments,e?.users,e?.userIds,e?.assignedUsers].flatMap(n=>Array.isArray(n)?n:n==null?[]:[n]).filter(n=>n&&typeof n=="object")}function J0(e){const t=[e?.userAssignments,e?.users,e?.userIds,e?.assignedUsers].flatMap(n=>Array.isArray(n)?n:n==null?[]:[n]);return new Set(t.map(Hr).filter(Boolean))}function $s(e){return String(e?.name??e?.userName??e?.fullName??[e?.firstName,e?.lastName].filter(Boolean).join(" ")??e?.email??"").trim()}function Z0({assignedToUserId:e,assignedToUserName:t,currentUserId:n,users:r,saving:s,loading:o,error:l,onSelect:i,onRetry:c}){const[d,f]=m.useState(!1),u=m.useRef(null),p=m.useRef(null),[v,y]=m.useState(null),C=e!=null&&String(e)===String(n),g=t||(C?"Assign to Me":"Assign");return m.useLayoutEffect(()=>{if(!d)return;const h=()=>{const b=u.current,N=p.current;if(!b||!N)return;const w=b.getBoundingClientRect(),_=N.getBoundingClientRect(),T=6,W=12,H=w.bottom+T+_.height>window.innerHeight-W&&w.top-T-_.height>=W?w.top-_.height-T:Math.min(w.bottom+T,window.innerHeight-_.height-W),z=Math.max(W,Math.min(w.left,window.innerWidth-_.width-W));y({top:H,left:z,visibility:"visible"})};return h(),window.addEventListener("resize",h),window.addEventListener("scroll",h,!0),()=>{window.removeEventListener("resize",h),window.removeEventListener("scroll",h,!0)}},[d,r.length,o,s,l]),m.useEffect(()=>{if(!d)return;const h=b=>{b.target.closest?.("[data-details-assignment-trigger], [data-details-assignment-menu]")||f(!1)};return document.addEventListener("pointerdown",h),()=>document.removeEventListener("pointerdown",h)},[d]),a.jsxs("div",{className:"ca-complaint-details__assignment-control",children:[a.jsxs("button",{ref:u,type:"button",className:"ca-complaint-table__assignment-trigger ca-complaint-details__assignment-trigger","data-details-assignment-trigger":"true",onClick:()=>f(h=>!h),"aria-expanded":d,"aria-label":"Assigned To",children:[a.jsx("span",{className:"ca-complaint-table__assignment-label",children:g}),a.jsx(Rt,{size:14,"aria-hidden":"true"})]}),d&&typeof document<"u"?Yr.createPortal(a.jsxs("div",{ref:p,className:"ca-complaint-table__assignment-menu","data-details-assignment-menu":"true",role:"menu",style:v||{visibility:"hidden"},onClick:h=>h.stopPropagation(),children:[a.jsx("button",{type:"button",className:"ca-complaint-table__assignment-self",role:"menuitem",disabled:C||s,onClick:()=>{f(!1),i(n)},children:a.jsx("strong",{children:"Assign to me"})}),o?a.jsx("span",{className:"ca-complaint-table__assignment-state",children:"Loading users…"}):null,s?a.jsx("span",{className:"ca-complaint-table__assignment-state",children:"Saving assignment…"}):null,l?a.jsxs("div",{className:"ca-complaint-table__assignment-error",children:[a.jsx("span",{children:l}),a.jsx("button",{type:"button",onClick:c,children:"Retry"})]}):null,r.length?a.jsx("div",{className:"ca-complaint-table__assignment-others","aria-hidden":"true",children:"Others"}):null,r.filter(h=>String(h.id)!==String(n)).map(h=>a.jsxs("button",{type:"button",role:"menuitem",disabled:s||!C||String(e)===String(h.id),title:C?void 0:"Assign this complaint to yourself first",onClick:()=>{f(!1),i(h.id)},children:[a.jsx("strong",{children:h.name||h.email||h.id}),h.email?a.jsx("span",{children:h.email}):null]},h.id))]}),document.body):null]})}function id({label:e,value:t,fieldType:n,attachmentUrls:r}){const o=zn({fieldType:n},t)?an(t):[];return a.jsxs("div",{className:"ca-complaint-details__field",children:[a.jsx("span",{className:"ca-complaint-details__field-label",children:e||"Field"}),o.length?a.jsx("div",{className:"ca-complaint-details__attachments",children:o.map((l,i)=>{const c=Dt(l),d=r[c]||(typeof l=="string"&&/^https?:\/\//i.test(c)?c:""),f=Hn(l).split("/").pop();return d&&/\.(png|jpe?g|gif|webp|bmp|svg)(?:\?.*)?$/i.test(f)?a.jsx("a",{className:"ca-complaint-details__image-link",href:d,target:"_blank",rel:"noreferrer","aria-label":`View ${f}`,children:a.jsx("img",{src:d,alt:f})},`${c}-${i}`):d?a.jsx("a",{className:"ca-complaint-details__file",href:d,target:"_blank",rel:"noreferrer",children:f||"View attachment"},`${c}-${i}`):a.jsx("span",{className:"ca-complaint-details__file",children:f||"Attachment"},`${c}-${i}`)})}):a.jsx("span",{className:"ca-complaint-details__field-value",children:ld(t)})]})}function R0({activities:e=[],fallbackRemarks:t=[],localRemarks:n=[],createdAt:r,isLoading:s,error:o,onRetry:l}){const i=m.useMemo(()=>{const d=[...e.length?e.map((u,p)=>{const v=u.action??u.activityType??u.type??"",y=u.description??u.remarks??u.remark??u.message??u.title??(typeof v=="string"?v:"")??"Complaint updated",C=/submit|created/i.test(`${v} ${y}`)?"created":"remark",g=[u.createdByFirstName,u.createdByLastName].filter(h=>h!=null&&String(h).trim()!=="").join(" ").trim();return{id:u.id??`${u.createdAt??u.timestamp??"activity"}-${p}`,type:C,text:y||"Complaint updated",author:u.createdByUserName||g||u.userName||u.actorName||u.createdBy?.name||u.user?.name,createdAt:u.createdAt??u.timestamp??u.occurredAt,fromLevelNo:u.fromLevelNo??u.oldLevelNo??u.fromLevel?.levelNo,toLevelNo:u.toLevelNo??u.newLevelNo??u.toLevel?.levelNo}}):[...t.map((u,p)=>({id:`${u.createdAt||"remark"}-${p}`,type:"remark",text:u.remark||"Complaint updated",author:u.createdByUserName,createdAt:u.createdAt,fromLevelNo:u.fromLevelNo,toLevelNo:u.toLevelNo}))],...n.map((u,p)=>({id:u.id??`local-${u.createdAt??p}`,type:"remark",text:u.remark||"Complaint updated",author:u.createdByUserName,createdAt:u.createdAt,fromLevelNo:u.fromLevelNo,toLevelNo:u.toLevelNo}))],f=d.some(u=>u.type==="created"||/complaint submitted/i.test(u.text));return r&&!f&&d.push({id:`created-${r}`,type:"created",text:"Complaint submitted",createdAt:r}),d.sort((u,p)=>new Date(p.createdAt||0)-new Date(u.createdAt||0))},[e,r,t,n]);return a.jsxs("aside",{className:"ca-complaint-details__activity","aria-label":"Activity log",children:[a.jsxs("div",{className:"ca-complaint-details__activity-heading",children:[a.jsx("h2",{children:"Activity log"}),a.jsx("span",{children:i.length})]}),s?a.jsx("p",{className:"ca-complaint-details__activity-empty",children:"Loading activity…"}):null,o?a.jsxs("div",{className:"ca-complaint-details__activity-empty",role:"alert",children:[a.jsx("p",{children:o}),a.jsx("button",{type:"button",onClick:l,children:"Retry"})]}):null,i.length?a.jsx("ol",{className:"ca-complaint-details__activity-list",children:i.map((c,d)=>a.jsxs("li",{className:"ca-complaint-details__activity-item",children:[a.jsx("span",{className:`ca-complaint-details__activity-icon ca-complaint-details__activity-icon--${c.type}`,"aria-hidden":"true",children:d===0?a.jsx(jg,{size:14,strokeWidth:1.8}):d===1?a.jsx(os,{size:14,strokeWidth:1.8}):a.jsx($g,{size:14,strokeWidth:1.8})}),a.jsxs("div",{className:"ca-complaint-details__activity-content",children:[a.jsx("p",{children:c.text}),c.type==="remark"||c.author?a.jsxs(a.Fragment,{children:[c.fromLevelNo!=null||c.toLevelNo!=null?a.jsxs("span",{className:"ca-complaint-details__activity-levels",children:[c.fromLevelNo!=null?`L${c.fromLevelNo}`:null,a.jsx(Qi,{className:"ca-complaint-details__level-arrow","aria-hidden":"true"}),c.toLevelNo!=null?`L${c.toLevelNo}`:"—"]}):null,c.author?a.jsx("span",{className:"ca-complaint-details__activity-author",children:c.author}):null]}):null,a.jsx("time",{dateTime:c.createdAt,children:Us(c.createdAt)})]})]},c.id))}):a.jsx("p",{className:"ca-complaint-details__activity-empty",children:"No activity yet"})]})}function ey({complaintId:e,complaintTypeId:t}){const n=Y.useDispatch(),{data:r,isLoading:s,error:o}=Y.useSelector(F=>F.complaintsGetOne??{}),l=Y.useSelector(F=>F.activityLog??{}),i=Y.useSelector(F=>F.status?.list??[]),c=Y.useSelector(F=>F.workflow?.workflowSteps),d=Y.useSelector(F=>F.appDetails?.details?.currentUser),f=Y.useSelector(F=>F.roleUsers??{}),u=Y.useSelector(F=>F.appDetails?.details?.userList??[]),p=d?.id??d?.userId??null,{fieldLabel:v}=pt(),y=Y.useSelector(F=>F.appDetails?.details?.storeList),C=m.useMemo(()=>$i(y),[y]),g=F=>{const ce=F?.fieldName??F?.fieldKey??"Field";return v({...F,label:ce,fieldLabel:ce,fieldName:ce,key:F?.fieldKey})||ce},h=F=>typeof F=="string"&&C[F.trim()]?C[F.trim()]:F,{isLoading:b}=Y.useSelector(F=>F.changeStatus??{}),[N,w]=m.useState({}),[_,T]=m.useState(null),[W,ae]=m.useState(null),[H,z]=m.useState(""),[K,x]=m.useState(!1),[Q,k]=m.useState([]),D=m.useCallback((F,ce="success")=>{k(fe=>[...fe,{id:Date.now()+Math.random(),message:F,type:ce}])},[]),J=m.useCallback(F=>{k(ce=>ce.filter(fe=>fe.id!==F))},[]),[ne,L]=m.useState(""),[q,Z]=m.useState({});m.useEffect(()=>{if(!t)return;const F=n(Ke(t));return F.unwrap().then(ce=>{const fe={};Ni(ce).forEach(me=>{me.hideForWorkflowStepId!=null&&me.hideForWorkflowStepId!==""&&(fe[me.key]=me.hideForWorkflowStepId)}),Z(fe)}).catch(()=>{}),()=>F.abort?.()},[t,n]);const oe=m.useMemo(()=>Array.isArray(c)?c:Array.isArray(c?.steps)?c.steps:[],[c]);m.useEffect(()=>{n(hm()),n(Sm());const F=n(Lt(e)),ce=n(Ft(e));return()=>{F.abort?.(),ce.abort?.()}},[e,n]),m.useEffect(()=>{if(!t)return;const F=n(Qt(t)),ce=n(Ze(t));return()=>{F.abort?.(),ce.abort?.()}},[t,n]);const A=Array.isArray(r?.fieldValues)?r.fieldValues:[],M=m.useMemo(()=>{const F=new Set;return(Array.isArray(r?.fieldValues)?r.fieldValues:[]).forEach(ce=>{zn(ce?.formField,ce?.value)&&an(ce.value).forEach(fe=>{typeof fe=="string"&&F.add(Dt(fe))})}),[...F]},[r]);m.useEffect(()=>{const F=M.filter(fe=>!Object.prototype.hasOwnProperty.call(N,fe));if(!F.length)return;let ce=!1;return Promise.all(F.map(async fe=>{try{const me=await n(Pn({params:{path:fe}})).unwrap();return[fe,me]}catch{return[fe,""]}})).then(fe=>{ce||w(me=>({...me,...Object.fromEntries(fe)}))}),()=>{ce=!0}},[M,N,n]);const I=_??(r?.statusId==null?"":String(r.statusId)),$=W??(r?.currentStepId==null?"":String(r.currentStepId)),U=I!==(r?.statusId==null?"":String(r.statusId))||$!==(r?.currentStepId==null?"":String(r.currentStepId)),X=m.useMemo(()=>oe.find(F=>String(F.id)===String(r?.currentStepId)),[r?.currentStepId,oe]),E=X??r?.currentWorkflowStep,re=m.useMemo(()=>Y0(E),[E]);m.useEffect(()=>{re.forEach(F=>{!f.usersByRoleId?.[F]&&!f.loadingByRoleId?.[F]&&!f.errorByRoleId?.[F]&&n(It(F))})},[re,n,f.errorByRoleId,f.loadingByRoleId,f.usersByRoleId]);const se=m.useMemo(()=>{const F=J0(E),ce=[...re.flatMap(me=>f.usersByRoleId?.[me]??[]),...G0(E),...u.filter(me=>F.has(Hr(me))),d,r?.assignedToUser],fe=new Map;return ce.forEach(me=>{const Be=Hr(me);if(!Be)return;const Qr=fe.get(Be);(!Qr||!$s(Qr)&&$s(me))&&fe.set(Be,me)}),[...fe.entries()].map(([me,Be])=>({id:me,name:$s(Be)||(me===String(p)?"Assign to Me":""),email:String(Be?.email??Be?.userEmail??"").trim()}))},[re,u,E,d,p,r?.assignedToUser,f.usersByRoleId]),pe=re.some(F=>f.loadingByRoleId?.[F]),be=re.map(F=>f.errorByRoleId?.[F]).find(Boolean),ee=d?.roles,B=m.useMemo(()=>(Array.isArray(ee)?ee:[]).map(F=>Number(F?.id??F?.roleId??F?.role_id??F)).filter(Number.isFinite),[ee]),R=m.useMemo(()=>{if(!E)return!1;const F=Array.isArray(E.roleIds)&&E.roleIds.some(me=>B.includes(Number(me))),ce=Number(p),fe=[E.userAssignments,E.users,E.userIds,E.assignedUsers].filter(Array.isArray).flat().some(me=>Number(me?.userId??me?.id??me?.user?.id??me)===ce);return F||fe},[E,p,B]),V=A.filter(F=>{const ce=F.formField?.fieldKey||F.formField?.fieldName,fe=F.formField?.hideForWorkflowStepId??q[ce];if(fe==null||fe==="")return!0;const me=oe.find(Be=>String(Be.id)===String(fe));return!me||!X0(me,B,p)}),le=!kr(r?.status?.name)&&p!=null&&(!X||R),he=!kr(r?.status?.name)&&p!=null&&String(r?.assignedToUserId)===String(p)&&(!X||R),Ae=m.useMemo(()=>[...oe].sort((F,ce)=>Number(F.levelNo??0)-Number(ce.levelNo??0)),[oe]),Pe=m.useMemo(()=>Ae.find(F=>String(F.id)===String($))??(String(r?.currentStepId)===String($)?r?.currentWorkflowStep:null),[r?.currentStepId,r?.currentWorkflowStep,$,Ae]),we=Number(Pe?.levelNo??0),Ie=m.useMemo(()=>new Set(Ae.filter((F,ce)=>{const fe=Number(F.levelNo??ce+1);return fe===we||fe===we+1||fe===we-1&&we>1&&Fr(Pe?.canReassign)}).map(F=>String(F.id))),[we,Pe?.canReassign,Ae]),ln=r?.remarks,ht=m.useMemo(()=>[...Array.isArray(ln)?ln:[]],[ln]),Qn=async()=>{if(!r?.id||b)return;L("");const F=U?H.trim():"";if(!F){L("Remark is required.");return}try{await n(Tt({id:r.id,statusId:I,currentStepId:$,assignedToUserId:p,remark:F})).unwrap(),T(null),ae(null),z(""),await n(Lt(e)).unwrap(),await n(Ft(e))}catch(ce){L(ce?.message??"Failed to update complaint")}},cn=async F=>{if(!F||K)return;if(!le){D("Only users in the current level can assign this complaint.","error");return}if(p==null){D("Unable to identify the signed-in user.","error");return}const ce=String(F)===String(p),fe=String(r?.assignedToUserId)===String(p);if(!ce&&!fe){D("Please assign this complaint to yourself first. Then you can assign it to others.","error");return}if(String(r?.assignedToUserId)!==String(F)){x(!0);try{await n(Tt({id:r.id,assignedToUserId:F})).unwrap(),await n(Lt(e)).unwrap(),await n(Ft(e)),D("Complaint assigned successfully")}catch(me){D(me?.message??"Failed to assign complaint","error")}finally{x(!1)}}},dn=()=>{re.forEach(F=>n(It(F)))};return a.jsxs("main",{className:"ca-complaint-details-page",children:[a.jsxs("header",{className:"ca-complaint-details__header",children:[a.jsx("div",{className:"ca-complaint-details__heading",children:a.jsx("div",{className:"ca-complaint-details__title-row",children:a.jsx("h1",{children:r?.complaintType?.name||"Complaint Details"})})}),r&&he?a.jsx("button",{className:"ca-complaint-details__update",type:"button",onClick:Qn,disabled:b,children:b?"Updating…":"Update"}):null]}),s?a.jsx(ut,{text:"Loading complaint details"}):null,!s&&o?a.jsxs("div",{className:"ca-complaint-details__error",role:"alert",children:[a.jsx("p",{children:o}),a.jsx("button",{type:"button",onClick:()=>n(Lt(e)),children:"Try again"})]}):null,!s&&!o&&r?a.jsxs("div",{className:"ca-complaint-details__layout",children:[a.jsxs("section",{className:"ca-complaint-details__main","aria-label":"Complaint information",children:[le?a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"ca-complaint-details__assignment-section",children:a.jsxs("div",{className:"ca-complaint-details__field",children:[a.jsx("span",{className:"ca-complaint-details__field-label",children:"Assign to"}),a.jsx(Z0,{assignedToUserId:r.assignedToUserId,assignedToUserName:se.find(F=>F.id===String(r.assignedToUserId))?.name||r.assignedToUserName||r.assignedToUser?.name||"",currentUserId:p,users:se,saving:K,loading:pe,error:be,onSelect:cn,onRetry:dn})]})}),a.jsx("div",{className:"ca-complaint-details__section-divider"})]}):null,a.jsxs("div",{className:"ca-complaint-details__summary",children:[a.jsxs("label",{className:"ca-complaint-details__field",children:[a.jsx("span",{className:"ca-complaint-details__field-label",children:"Status"}),a.jsxs("span",{className:"ca-complaint-details__select-wrap",children:[a.jsxs("select",{className:"ca-complaint-details__control",value:I,disabled:!he,onChange:F=>T(F.target.value),children:[i.map(F=>{const fe=!(String(F.id)===String(r.statusId))&&_g(F.name)&&!Fr(E?.canResolve??r.currentWorkflowStep?.canResolve);return a.jsx("option",{value:F.id,disabled:fe,children:F.name},F.id)}),i.some(F=>String(F.id)===String(I))?null:a.jsx("option",{value:I,children:r.status?.name||"—"})]}),he?a.jsx(Rt,{className:"ca-complaint-details__select-chevron",size:16,strokeWidth:1.8,"aria-hidden":"true"}):null]})]}),a.jsxs("label",{className:"ca-complaint-details__field",children:[a.jsx("span",{className:"ca-complaint-details__field-label",children:"Escalation to"}),a.jsxs("span",{className:"ca-complaint-details__select-wrap",children:[a.jsxs("select",{className:"ca-complaint-details__control",value:$,disabled:!he,onChange:F=>ae(F.target.value),children:[Ae.filter(F=>Ie.has(String(F.id))).map(F=>a.jsxs("option",{value:F.id,children:["Level ",F.levelNo]},F.id)),Ae.some(F=>String(F.id)===String($))?null:a.jsx("option",{value:$,children:r.currentWorkflowStep?.levelNo!=null?`Level ${r.currentWorkflowStep.levelNo}`:"—"})]}),he?a.jsx(Rt,{className:"ca-complaint-details__select-chevron",size:16,strokeWidth:1.8,"aria-hidden":"true"}):null]})]}),V.map((F,ce)=>a.jsx(id,{label:g(F.formField),value:h(F.value),fieldType:F.formField?.fieldType,attachmentUrls:N},F.id??`${F.formField?.id??"field"}-${ce}`)),a.jsx(id,{label:"Created at",value:Us(r.createdAt)})]}),he||ht.length?a.jsxs("section",{className:"ca-complaint-details__remarks","aria-label":"Remarks",children:[a.jsxs("h2",{children:["Remark",he?a.jsx("span",{style:{color:"#dc2626",marginLeft:2},"aria-hidden":"true",children:"*"}):null]}),he?a.jsxs(a.Fragment,{children:[a.jsx("form",{className:"ca-complaint-details__remark-form",onSubmit:F=>{F.preventDefault()},children:a.jsx("input",{"aria-label":"Enter remark",value:H,disabled:!U,onChange:F=>z(F.target.value),placeholder:"Enter remark"})}),ne?a.jsx("p",{className:"ca-complaint-details__update-error",role:"alert",children:ne}):null]}):null,ht.length?a.jsx("ol",{className:"ca-complaint-details__remark-list",style:{maxHeight:216,overflowY:"auto"},children:ht.map((F,ce)=>a.jsxs("li",{children:[a.jsxs("div",{className:"ca-complaint-details__remark-meta",children:[a.jsxs("span",{children:[F.fromLevelNo!=null||F.toLevelNo!=null?a.jsxs(a.Fragment,{children:[`L${F.fromLevelNo??"—"}`,a.jsx(Qi,{className:"ca-complaint-details__level-arrow","aria-hidden":"true"}),`L${F.toLevelNo??"—"}`]}):"",F.createdByUserName?` | ${F.createdByUserName}`:""]}),a.jsx("time",{dateTime:F.createdAt,children:Us(F.createdAt)})]}),a.jsx("p",{children:F.remark})]},F.id??`${F.createdAt??"remark"}-${ce}`))}):null]}):null]}),a.jsx(R0,{activities:l.activities,fallbackRemarks:ht,createdAt:r.createdAt,isLoading:l.isLoading,error:l.error,onRetry:()=>n(Ft(e))})]}):null,a.jsx(Ds,{toasts:Q,onDismiss:J})]})}function js(){const{complaintId:e,complaintTypeId:t}=lt();return a.jsx(ey,{complaintId:e,complaintTypeId:t},e)}function at({title:e,action:t=!1,className:n="",children:r}){return a.jsxs("section",{className:`ca-analysis-card ${n}`.trim(),children:[e?a.jsxs("div",{className:"ca-analysis-card__heading",children:[a.jsx("h2",{children:e}),t?a.jsx(nt,{size:14,"aria-hidden":"true"}):null]}):null,r]})}const We=e=>{const t=Number(e);return Number.isFinite(t)?t:0},st=e=>{const t=We(e);return t>0&&t<10?`0${t}`:String(t)},Oe=(e,t=2)=>String(Number(We(e).toFixed(t))),zr=(e,t)=>t>0?`${Math.round(We(e)/t*100)}%`:"0%",ty=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],ny=e=>{const t=new Date(e);return Number.isNaN(t.getTime())?String(e??""):`${ty[t.getUTCMonth()]} ${String(t.getUTCFullYear()).slice(-2)}`};function cd({data:e}){const t=We(e?.openBacklog),n=Array.isArray(e?.ageBuckets)?e.ageBuckets:[],r=e?.oldestComplaint,s=r&&typeof r=="object"?r.complaintId??r.id:r;return a.jsx(at,{title:"Backlog & Aging",className:"ca-analysis-backlog",children:a.jsxs("div",{className:"ca-analysis-backlog__grid",children:[a.jsxs("div",{className:"ca-analysis-backlog__metrics",children:[a.jsxs("div",{className:"ca-analysis-backlog__metric",children:[a.jsx("span",{children:"Open bookings"}),a.jsx("strong",{children:st(t)}),a.jsx("small",{children:"Pending complaints"})]}),a.jsxs("div",{className:"ca-analysis-backlog__metric",children:[a.jsx("span",{children:"Average age"}),a.jsxs("strong",{children:[Oe(e?.averageAgeDays)," days"]}),a.jsx("small",{children:"Across open complaints"})]}),a.jsxs("div",{className:"ca-analysis-backlog__metric ca-analysis-backlog__metric--oldest",children:[a.jsx("span",{children:"Oldest complaints"}),a.jsxs("strong",{children:[Oe(e?.oldestAgeDays)," days"]}),s?a.jsxs("a",{href:`#complaint-${s}`,children:[s," ",a.jsx(zg,{size:11})]}):null]})]}),a.jsxs("div",{className:"ca-analysis-aging",children:[a.jsxs("h3",{children:["Age distribution ",a.jsx("span",{children:"(Open complaints)"})]}),n.map(o=>{const l=We(o.count),i=t>0?`${Math.min(l/t*100,100)}%`:"0%";return a.jsxs("div",{className:"ca-analysis-aging__row",children:[a.jsx("span",{children:o.label}),a.jsx("div",{className:"ca-analysis-aging__track",children:a.jsx("span",{style:{width:i}})}),a.jsx("span",{className:"ca-analysis-aging__count",children:l}),a.jsx("span",{className:"ca-analysis-aging__chevron","aria-hidden":"true",children:a.jsx(nt,{size:14,className:"ca-analysis-chevron"})})]},o.label)})]})]})})}function xe({label:e,value:t,detail:n,className:r=""}){return a.jsxs("div",{className:`ca-analysis-metric ${r}`.trim(),children:[a.jsx("span",{className:"ca-analysis-metric__label",children:e}),a.jsx("span",{className:"ca-analysis-metric__value",children:t}),n?a.jsx("span",{className:"ca-analysis-metric__detail",children:n}):null]})}function dd({data:e}){const t=We(e?.total),n=[{label:"Total",value:st(t),detail:"All complaints"},{label:"Open",value:st(e?.open),detail:zr(e?.open,t),action:!0},{label:"Resolved",value:st(e?.resolved),detail:zr(e?.resolved,t)},{label:"Closed",value:st(e?.closed),detail:zr(e?.closed,t)},{label:"Rejected",value:st(e?.rejected),detail:zr(e?.rejected,t)}];return a.jsx(at,{title:"Complaint Status Overview",className:"ca-analysis-status",children:a.jsx("div",{className:"ca-analysis-status__grid",children:n.map(({label:r,value:s,detail:o,action:l})=>a.jsxs("div",{className:"ca-analysis-status__item",children:[a.jsx(xe,{label:r,value:s,detail:o}),l?a.jsx("span",{className:"ca-analysis-status__arrow","aria-hidden":"true",children:a.jsx(nt,{size:14,className:"ca-analysis-chevron"})}):null]},r))})})}const ry=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],Kn=30,ud=435,fd=[20,50,80,110,140],pd=[30,67,104,141],hd=141,ay=111,sy=4,oy=102,ly=9,iy=45,cy=[{key:"closed",color:"var(--ca-analysis-neutral)"},{key:"resolved",color:"var(--ca-analysis-green)"},{key:"created",color:"var(--ca-analysis-blue)"}],on=e=>{const t=Number(e);return Number.isFinite(t)?t:0};function md(e,t=4){if(e<=t)return 1;const n=Math.ceil(e/t),r=10**Math.floor(Math.log10(n));return[1,2,5,10].map(s=>s*r).find(s=>s>=n)}function dy(e,t){const n=new Date(e);if(Number.isNaN(n.getTime()))return String(e??"");if(t==="monthly")return`${ry[n.getUTCMonth()]} ${String(n.getUTCFullYear()).slice(-2)}`;const r=String(n.getUTCDate()).padStart(2,"0"),s=String(n.getUTCMonth()+1).padStart(2,"0");return`${r}/${s}`}function Vs({variant:e="trend",data:t=[],granularity:n="monthly"}){const r=e==="trend",s=e==="resolution",o=!r,l=Array.isArray(t)?t:[],i=r?l:[],c=Math.max(0,...i.flatMap(x=>[on(x.created),on(x.resolved),on(x.closed)])),d=md(c),f=d*4,u=x=>i.length<=1?(Kn+ud)/2:Kn+x*((ud-Kn)/(i.length-1)),p=x=>140-on(x)/f*120,v=cy.map(x=>({color:x.color,points:i.map((Q,k)=>[u(k),p(Q[x.key])])})),y=Math.max(1,Math.ceil(i.length/10)),C=i.map((x,Q)=>({label:Q%y===0?dy(x.period,n):"",x:u(Q)})),g=s?sy:ly,h=s?oy:iy,b=o?s?l.slice(0,g):l.slice(-g):[],N=Math.max(0,...b.map(x=>on(x.value))),w=md(N,3),_=w*3,T=s?28:20,W=b.map((x,Q)=>{const k=on(x.value),D=k>0?Math.max(k/_*ay,2):0;return{label:x.label,value:k,center:Kn+(Q+.5)*h,height:D}}),ae=r?fd.map((x,Q)=>String(f-Q*d)):pd.map((x,Q)=>String((3-Q)*w)),H=r?fd:pd,z=r?C.map(x=>x.x):Array.from({length:g+1},(x,Q)=>Kn+Q*h),K=r?C:W.map(x=>({label:x.label,x:x.center}));return a.jsx("div",{className:"ca-analysis-chart",children:a.jsxs("svg",{viewBox:"0 0 460 170",role:"img","aria-label":r?"Complaint trend chart":`${e} chart`,children:[z.map(x=>a.jsx("line",{x1:x,x2:x,y1:"20",y2:"141",className:"ca-analysis-chart__grid"},`vertical-${x}`)),H.map((x,Q)=>a.jsxs("g",{children:[a.jsx("line",{x1:"30",x2:"438",y1:x,y2:x,className:"ca-analysis-chart__grid"}),a.jsx("text",{x:"4",y:x+3,className:"ca-analysis-chart__axis-label",children:ae[Q]})]},x)),s?a.jsxs(a.Fragment,{children:[a.jsx("line",{x1:"30",x2:"30",y1:"20",y2:"141",className:"ca-analysis-chart__axis"}),a.jsx("line",{x1:"30",x2:"438",y1:"141",y2:"141",className:"ca-analysis-chart__axis"})]}):null,K.map(({label:x,x:Q},k)=>x?a.jsx("text",{x:Q,y:"160",textAnchor:"middle",className:"ca-analysis-chart__axis-label",children:x},`${x}-${k}`):null),o?a.jsx("g",{children:W.map((x,Q)=>a.jsxs("g",{children:[x.height>0?a.jsx("rect",{x:x.center-T/2,y:hd-x.height,width:T,height:x.height,rx:"2",fill:"var(--ca-analysis-blue)"}):null,a.jsx("text",{x:x.center,y:hd-x.height-4,textAnchor:"middle",className:"ca-analysis-chart__bar-label",children:Number(x.value.toFixed(2))})]},`${x.label}-${Q}`))}):null,r?v.map(x=>a.jsxs("g",{children:[x.points.length>1?a.jsx("polyline",{points:x.points.map(([Q,k])=>`${Q},${k}`).join(" "),fill:"none",stroke:x.color,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}):null,x.points.map(([Q,k],D)=>a.jsx("circle",{cx:Q,cy:k,r:"2.5",fill:x.color},`${x.color}-${D}`))]},x.color)):null]})})}function gd({period:e,data:t}){return a.jsxs(at,{title:"Complaint Trend",className:"ca-analysis-trend",children:[a.jsxs("div",{className:"ca-analysis-legend",children:[a.jsxs("span",{children:[a.jsx("i",{className:"ca-analysis-legend__blue"}),"Created"]}),a.jsxs("span",{children:[a.jsx("i",{className:"ca-analysis-legend__green"}),"Resolved"]}),a.jsxs("span",{children:[a.jsx("i",{className:"ca-analysis-legend__gray"}),"Closed"]})]}),a.jsx(Vs,{data:Array.isArray(t?.data)?t.data:[],granularity:t?.granularity??e.toLowerCase()})]})}const Ad=e=>{const t=e?.fromLevelNo==null?"Unassigned":`Level ${e.fromLevelNo}`,n=e?.toLevelNo==null?"Unassigned":`Level ${e.toLevelNo}`;return`${t} - ${n}`};function yd({data:e}){const t=Array.isArray(e?.byLevel)?e.byLevel:[],n=Array.isArray(e?.byMonth)?e.byMonth:[],r=Math.max(0,...t.map(o=>We(o.count))),s=n.map(o=>({label:ny(o.month),value:We(o.count)}));return a.jsxs(at,{title:"Escalations",action:!0,className:"ca-analysis-escalations",children:[a.jsxs("div",{className:"ca-analysis-escalations__metrics",children:[a.jsx(xe,{label:"Total Escalations",value:Oe(e?.totalEscalations),className:"is-highlighted"}),a.jsx(xe,{label:"Escalated Complaints",value:Oe(e?.escalatedComplaints)}),a.jsx(xe,{label:"Escalation Rate",value:`${Oe(e?.escalationRate)}%`,className:"is-alert"})]}),a.jsxs("section",{className:"ca-analysis-escalations__section",children:[a.jsx("h3",{className:"ca-analysis-subheading",children:"Escalation by level"}),a.jsx("div",{className:"ca-analysis-escalations__levels",children:t.length?t.map((o,l)=>{const i=We(o.count),c=r>0?`${i/r*100}%`:"0%";return a.jsxs("div",{className:"ca-analysis-escalations__level",children:[a.jsx("span",{children:Ad(o)}),a.jsx("div",{children:a.jsx("i",{style:{width:c}})}),a.jsx("span",{children:i}),a.jsx("span",{className:"ca-analysis-chevron-cell","aria-hidden":"true",children:a.jsx(nt,{size:14,className:"ca-analysis-chevron"})})]},`${Ad(o)}-${l}`)}):a.jsx("span",{className:"ca-analysis-metric__detail",children:"No escalations"})})]}),a.jsxs("section",{className:"ca-analysis-escalations__section ca-analysis-escalations__month",children:[a.jsx("h3",{className:"ca-analysis-subheading",children:"Escalation by month"}),a.jsx(Vs,{variant:"escalation",data:s})]})]})}function Ws({title:e,action:t=!1,columns:n,rows:r,className:s="",getCellClassName:o,emptyText:l="No data"}){return a.jsx(at,{title:e,action:t,className:`ca-analysis-table-panel ${s}`.trim(),children:a.jsx("div",{className:"ca-analysis-table-panel__scroll",children:a.jsxs("table",{children:[a.jsx("thead",{children:a.jsx("tr",{children:n.map((i,c)=>a.jsx("th",{children:i},`${i}-${c}`))})}),a.jsx("tbody",{children:r.length?r.map((i,c)=>a.jsx("tr",{children:i.map((d,f)=>a.jsx("td",{className:o?.(f,d),children:d},`${e}-${c}-${f}`))},`${e}-${c}`)):a.jsx("tr",{children:a.jsx("td",{colSpan:n.length,children:l})})})]})})})}function bd({data:e}){const t=We(e?.totalReassignments)>0;return a.jsxs(at,{title:"Reassignments",action:!0,className:"ca-analysis-reassignments",children:[a.jsxs("div",{className:"ca-analysis-reassignments__metrics",children:[a.jsx(xe,{label:"Total Reassignments",value:Oe(e?.totalReassignments)}),a.jsx(xe,{label:"Reassigned Complaints",value:Oe(e?.reassignedComplaints)}),a.jsx(xe,{label:"Reassignment Rate",value:`${Oe(e?.reassignmentRate)}%`}),a.jsx(xe,{label:"Avg. per Complaint",value:Oe(e?.averageReassignmentsPerComplaint)})]}),t?null:a.jsxs("div",{className:"ca-analysis-reassignments__empty",children:[a.jsx(Gg,{size:19}),a.jsx("strong",{children:"No Reassignments"}),a.jsx("span",{children:"There were no complaint reassignments in the selected period."})]})]})}function vd({data:e}){const t=[["Average",e?.averageResolutionHours],["Median",e?.medianResolutionHours],["Fastest",e?.minResolutionHours],["Slowest",e?.maxResolutionHours]];return a.jsx(at,{title:"Resolution Time",action:!0,className:"ca-analysis-resolution",children:a.jsx("div",{className:"ca-analysis-resolution__metrics",children:t.map(([n,r],s)=>a.jsx(xe,{label:n,value:Oe(r),className:s===0?"is-highlighted":""},n))})})}function Sd({data:e}){const t=We(e?.resolvedWithinSla),n=We(e?.breachedCount),r=We(e?.atRiskCount),s=t+n+r,o=s?t/s*100:0,l=s?(t+n)/s*100:0,i=s?{background:`conic-gradient(var(--ca-analysis-orange) 0 ${o}%, var(--ca-analysis-positive) ${o}% ${l}%, var(--ca-analysis-yellow) ${l}% 100%)`}:{background:"var(--ca-analysis-track)"},c=[{label:"Within SLA",count:t,color:"orange"},{label:"Breached",count:n,color:"green"},{label:"At Risk",count:r,color:"yellow"}];return a.jsxs(at,{title:"SLA Compliance",action:!0,className:"ca-analysis-sla",children:[a.jsxs("div",{className:"ca-analysis-sla__body",children:[a.jsx("div",{className:"ca-analysis-sla__donut",style:i,children:a.jsxs("div",{children:[a.jsxs("strong",{children:[Oe(e?.slaPercent),"%"]}),a.jsxs("span",{children:["Resolved",a.jsx("br",{}),"Within SLA"]})]})}),a.jsx("div",{className:"ca-analysis-sla__legend",children:c.map(d=>a.jsxs("div",{children:[a.jsxs("span",{children:[a.jsx("i",{className:`ca-analysis-sla__dot ca-analysis-sla__dot--${d.color}`}),d.label]}),a.jsx("span",{children:d.count})]},d.label))})]}),a.jsxs("div",{className:"ca-analysis-sla__metrics",children:[a.jsx(xe,{label:"Eligible",value:st(e?.eligibleComplaints)}),a.jsx(xe,{label:"Resolved",value:st(e?.resolvedComplaints)}),a.jsx(xe,{label:"Breached",value:st(n)}),a.jsx(xe,{label:"At Risk",value:st(r)})]}),a.jsx("a",{className:"ca-analysis-link",href:"#breached-complaints",children:"View breached complaints ›"})]})}const wd=["Name","Assigned","Pending","Completed","Breaches","Avg. Handling"],uy=e=>[e?.name??e?.teamName??e?.roleName??e?.departmentName??"-",e?.assigned??0,e?.pending??0,e?.completed??0,e?.slaBreaches??0,`${Oe(e?.averageHandlingHours)} h`];function Cd({data:e,view:t,onViewChange:n}){const r=t==="Teams"?e?.teams:e?.users,s=(Array.isArray(r)?r:[]).map(uy);return a.jsxs(at,{title:"User & Team Workload",className:"ca-analysis-workload ca-analysis-table-panel",children:[a.jsxs("div",{className:"ca-analysis-workload__tabs",role:"group","aria-label":"Workload view",children:[a.jsx("button",{className:t==="Users"?"is-selected":"",onClick:()=>n("Users"),type:"button",children:"Users"}),a.jsx("button",{className:t==="Teams"?"is-selected":"",onClick:()=>n("Teams"),type:"button",children:"Teams"})]}),a.jsx("div",{className:"ca-analysis-table-panel__scroll",children:a.jsxs("table",{children:[a.jsx("thead",{children:a.jsx("tr",{children:wd.map(o=>a.jsx("th",{children:o},o))})}),a.jsx("tbody",{children:s.length?s.map((o,l)=>a.jsx("tr",{children:o.map((i,c)=>a.jsx("td",{children:i},`${o[0]}-${c}`))},`${o[0]}-${l}`)):a.jsx("tr",{children:a.jsx("td",{colSpan:wd.length,children:"No data"})})})]})})]})}function Nd(){const e=Y.useDispatch(),{complaintTypeId:t}=lt(),n=Y.useSelector(y=>y.analytics)??{},[r,s]=m.useState("Monthly"),[o,l]=m.useState("Users"),[i]=m.useState({fromDate:"",toDate:""}),{fromDate:c,toDate:d}=i,f=r.toLowerCase();m.useEffect(()=>{if(!t)return;const y=Object.values(Em).map(C=>e(C({complaintTypeId:t,fromDate:c,toDate:d,granularity:f})));return()=>y.forEach(C=>C.abort?.())},[t,e,c,d,f]);const u=(Array.isArray(n.types?.data)?n.types.data:[]).map(y=>[y.complaintTypeName??"-",y.count??0,y.open??0,y.resolved??0,`${Oe(y.slaPercent)}%`,`${Oe(y.averageResolutionHours)} h`]),p=n.workflowBottlenecks?.data?.data,v=(Array.isArray(p)?p:[]).map(y=>[`Level ${y.levelNo}`,y.complaints??0,`${Oe(y.averageTimeHours)} h`,y.pending??0,y.slaBreaches??0,a.jsx(nt,{size:14,className:"ca-analysis-chevron","aria-hidden":"true"},"chevron")]);return a.jsxs("main",{className:"ca-complaint-analysis",children:[a.jsxs("header",{className:"ca-analysis-header",children:[a.jsxs("div",{children:[a.jsx("h1",{children:"Complaint Analytics"}),a.jsx("p",{children:"Monitor, analyse and take action on complaints across all stores and departments."})]}),a.jsx("div",{className:"ca-analysis-header__controls"})]}),a.jsxs("div",{className:"ca-analysis-top",children:[a.jsx(dd,{data:n.overview?.data}),a.jsx(cd,{data:n.backlog?.data})]}),a.jsxs("div",{className:"ca-analysis-columns",children:[a.jsxs("div",{className:"ca-analysis-column",children:[a.jsx(gd,{period:r,onPeriodChange:s,data:n.trends?.data}),a.jsx(vd,{data:n.resolutionTimes?.data}),a.jsx(yd,{data:n.escalations?.data})]}),a.jsxs("div",{className:"ca-analysis-column",children:[a.jsx(Sd,{data:n.sla?.data}),a.jsx(Ws,{title:"Complaint Types",action:!0,columns:["Complaint Type","Total","Open","Resolved","SLA %","Avg. Resolution"],rows:u,className:"ca-analysis-types"}),a.jsx(Ws,{title:"Workflow Bottlenecks",action:!0,columns:["Level","Complaints","Avg. Time","Pending","SLA Breaches",""],rows:v,className:"ca-analysis-bottlenecks",getCellClassName:(y,C)=>y===3&&Number(C)>0?"is-danger":void 0}),a.jsx(Cd,{data:n.workload?.data,view:o,onViewChange:l}),a.jsx(bd,{data:n.reassignments?.data})]})]})]})}function Kr({to:e}){const{complaintTypeId:t}=lt();return a.jsx(lo,{to:e.replace(":id",t??""),replace:!0})}function fy({pageProps:e={},onPublish:t,onStepChange:n,children:r}){const s=r??a.jsx(Ri,{...e});return a.jsxs(_u,{children:[a.jsx(Ce,{path:"/",element:s}),a.jsx(Ce,{path:"complaintanalysis",element:a.jsx(Nd,{})}),a.jsx(Ce,{path:"complaintanalysis/:complaintTypeId",element:a.jsx(Nd,{})}),a.jsx(Ce,{path:"/settings/:systemId",element:a.jsx(qc,{onPublish:t,onStepChange:n,company:e.company,roleList:e.roleList,userList:e.userList,storeList:e.storeList})}),a.jsx(Ce,{path:"complaintmanagement",element:a.jsx(Vr,{onHeaderActionsChange:e.onHeaderActionsChange})}),a.jsx(Ce,{path:"complaintmanagement/new/:complaintTypeId",element:a.jsx(od,{company:e.company,storeList:e.storeList})}),a.jsx(Ce,{path:"complaintmanagement/all",element:a.jsx(lo,{to:"/",replace:!0})}),a.jsx(Ce,{path:"complaintmanagement/all/:complaintTypeId",element:a.jsx(K0,{})}),a.jsx(Ce,{path:"complaintmanagement/all/:complaintTypeId/details/:complaintId",element:a.jsx(js,{})}),a.jsx(Ce,{path:"complaintmanagement/all/:complaintTypeId/details",element:a.jsx(Kr,{to:"/complaintmanagement/all/:id"})}),a.jsx(Ce,{path:"complaintmanagement/:complaintTypeId/details/:complaintId",element:a.jsx(js,{})}),a.jsx(Ce,{path:"complaintmanagement/:complaintTypeId/details",element:a.jsx(Kr,{to:"/complaintmanagement/:id"})}),a.jsx(Ce,{path:"complaintmanagement/:complaintTypeId",element:a.jsx(Vr,{onHeaderActionsChange:e.onHeaderActionsChange})}),a.jsx(Ce,{path:"complaintmanagement/:complaintTypeId/all",element:a.jsx(Kr,{to:"/complaintmanagement/all/:id"})}),a.jsx(Ce,{path:"querymanagement",element:a.jsx(Vr,{onHeaderActionsChange:e.onHeaderActionsChange})}),a.jsx(Ce,{path:"querymanagement/new/:complaintTypeId",element:a.jsx(od,{company:e.company,storeList:e.storeList})}),a.jsx(Ce,{path:"querymanagement/:complaintTypeId/details/:complaintId",element:a.jsx(js,{})}),a.jsx(Ce,{path:"querymanagement/:complaintTypeId/details",element:a.jsx(Kr,{to:"/querymanagement/:id"})}),a.jsx(Ce,{path:"querymanagement/:complaintTypeId",element:a.jsx(Vr,{onHeaderActionsChange:e.onHeaderActionsChange})}),a.jsx(Ce,{path:"*",element:s})]})}function py({pageProps:e,onPublish:t=s=>console.log(s),onStepChange:n=s=>console.log(s),children:r}){return a.jsx(fy,{pageProps:e,onPublish:t,onStepChange:n,children:r})}function hy({children:e}){const{cssVars:t,darkMode:n,mode:r}=pl();return a.jsx("div",{className:`ca-root ${n?"ca-root--dark":"ca-root--light"}`,"data-ca-theme":r,style:t,children:e})}function my({basePath:e,children:t}){return vt()?t:a.jsx(ju,{basename:e,children:t})}function gy({store:e,children:t}){return a.jsx(Y.Provider,{store:e||si,children:t})}function Ay({details:e,children:t}){const n=Y.useDispatch();return m.useEffect(()=>{n(vl(e))},[n,e]),t}const _d=[],Ed=({apiUrl:e,authToken:t,publicAccess:n=!1,store:r,basePath:s="/",theme:o,darkMode:l=!1,title:i,description:c,rolelist:d,roleList:f=d??_d,userList:u=_d,storeList:p,currentUser:v,company:y=v?.company,featureActions:C=Jm,useDemoData:g=!0,createLabel:h,onCreateForm:b,onConfigure:N,onOpen:w,onTitleClick:_,onDescriptionClick:T,onSearch:W,onHeaderActionsChange:ae,onPublish:H,onSaveDraft:z,showSaveButton:K,showNextButton:x,onStepChange:Q,children:k})=>{const D={title:i,description:c,useDemoData:g,createLabel:h,onCreateForm:b,onConfigure:N,onOpen:w,roleList:f,userList:u,storeList:p,company:y,onTitleClick:_,onDescriptionClick:T,onSearch:W,onHeaderActionsChange:ae,onSaveDraft:z,showSaveButton:K,showNextButton:x},J=m.useMemo(()=>({featureActions:C,apiUrl:e,authToken:t,publicAccess:n,basePath:s,theme:o,darkMode:l,title:i,description:c,roleList:f,userList:u,storeList:p,currentUser:v,company:y,useDemoData:g,createLabel:h,onCreateForm:b,onConfigure:N,onOpen:w,onTitleClick:_,onDescriptionClick:T,onSearch:W,onHeaderActionsChange:ae,onPublish:H,onSaveDraft:z,showSaveButton:K,showNextButton:x,onStepChange:Q}),[C,e,t,n,s,o,l,i,c,f,u,p,v,y,g,h,b,N,w,_,T,W,ae,H,z,K,x,Q]);return a.jsx(vc.Provider,{value:y,children:a.jsx(fl,{theme:o,darkMode:l,children:a.jsx(gy,{store:r,children:a.jsx(Ay,{details:J,children:a.jsx(hy,{children:a.jsx(ol,{apiUrl:e,authToken:t,publicAccess:n,children:a.jsx(my,{basePath:s,children:a.jsx(py,{pageProps:D,onPublish:H,onStepChange:Q,children:k})})})})})})})})};function yy({children:e,onClick:t,className:n="",active:r=!1}){return a.jsx("button",{type:"button",className:`ca-chip ${r?"ca-chip--active":""} ${n}`.trim(),onClick:t,children:e})}function by({checked:e=!1,onChange:t,name:n,value:r,"aria-label":s,className:o=""}){return a.jsxs("label",{className:`ca-radio ${o}`.trim(),children:[a.jsx("input",{type:"radio",className:"ca-radio__input",name:n,value:r,checked:e,onChange:t,"aria-label":s}),a.jsx("span",{className:"ca-radio__mark"})]})}function vy({status:e="inactive",label:t,className:n=""}){const s=String(e).toLowerCase()==="active",o=t??(s?"Active":"Inactive");return a.jsx("span",{className:`ca-badge rounded ca-badge--${s?"active":"inactive"} ${n}`.trim(),children:o})}const Sy=["Open","Cancelled","Closed"];function wy({selectedStatus:e,statusNames:t=[],selectedCreatedAtSort:n,selectedLevel:r,selectedAssignment:s,workflowLevels:o=[],showLevelAndAssignmentFilters:l=!0,onStatusChange:i,onCreatedAtSortChange:c,onLevelChange:d,onAssignmentChange:f,onOpenDateFilter:u,hasDateFilter:p=!1,onDownloadReport:v,isDownloadingReport:y=!1,complaintTypeId:C}){return a.jsxs("div",{className:"ca-complaint-table__toolbar",children:[a.jsxs("div",{className:"ca-complaint-table__filters",children:[a.jsxs("label",{className:"ca-complaint-table__filter",children:[a.jsx(Qg,{size:14,"aria-hidden":"true"}),a.jsx("span",{className:"ca-complaint-table__sr-only",children:"Filter by status"}),a.jsxs("select",{value:e,"aria-label":"Filter by status",onChange:g=>i?.(g.target.value),children:[a.jsx("option",{value:"all",children:"Select Status"}),(t.length?t:Sy).map(g=>a.jsx("option",{value:g,children:Er(g)},g))]})]}),a.jsxs("label",{className:"ca-complaint-table__filter",children:[a.jsx("span",{className:"ca-complaint-table__sr-only",children:"Sort by created date"}),a.jsxs("select",{value:n,"aria-label":"Sort by created date",onChange:g=>c?.(g.target.value),children:[a.jsx("option",{value:"desc",children:"Created: Newest first"}),a.jsx("option",{value:"asc",children:"Created: Oldest first"})]})]}),l?a.jsxs(a.Fragment,{children:[a.jsxs("label",{className:"ca-complaint-table__filter",children:[a.jsx("span",{className:"ca-complaint-table__sr-only",children:"Filter by workflow level"}),a.jsxs("select",{value:r,"aria-label":"Filter by workflow level",onChange:g=>d?.(g.target.value),children:[a.jsx("option",{value:"all",children:"All Levels"}),o.map(g=>a.jsxs("option",{value:g,children:["Level ",g]},g))]})]}),a.jsxs("label",{className:"ca-complaint-table__filter",children:[a.jsx("span",{className:"ca-complaint-table__sr-only",children:"Filter by assignment"}),a.jsxs("select",{value:s,"aria-label":"Filter by assignment",onChange:g=>f?.(g.target.value),children:[a.jsx("option",{value:"all",children:"All"}),a.jsx("option",{value:"mine",children:"Assign to Me"}),a.jsx("option",{value:"unassigned",children:"Unassigned"})]})]})]}):null,a.jsx("button",{type:"button",className:`ca-complaint-table__sort${p?" ca-complaint-table__sort--active":""}`,"aria-label":"Filter by date",title:"Filter by date",onClick:u,children:a.jsx(Xg,{className:"ca-complaint-table__sort-icon",size:14,"aria-hidden":"true"})})]}),a.jsx("div",{className:"ca-complaint-table__actions",children:a.jsx(Ee,{variant:"outline",size:"sm",startIcon:a.jsx(Hg,{size:14}),onClick:v,disabled:y||!C,children:"Download Report"})})]})}const Cy=it.colors,Ny=it.radii,_y=it.spacing,Ey=it.typography,Ty=[];O.AddFormButton=bc,O.AddTableCard=lc,O.AnalyticsCard=at,O.AnalyticsMetric=xe,O.AnalyticsTablePanel=Ws,O.AnalyticsTrendChart=Vs,O.ApiProvider=ol,O.BacklogAgingPanel=cd,O.BodyText=Ka,O.Button=Ee,O.COMPLAINT_ENDPOINTS=ur,O.CardFooter=fi,O.CardHeader=ui,O.ChevronDownIcon=is,O.ChevronRightIcon=Xt,O.Chip=yy,O.CloseIcon=ac,O.ComplaintApp=Ed,O.ComplaintManagementPage=Ri,O.ComplaintSettingsPage=qc,O.ComplaintStatusOverview=dd,O.ComplaintTableGrid=Xc,O.ComplaintTableToolbar=wy,O.ComplaintTrendPanel=gd,O.CustomPagination=Hc,O.DEFAULT_PAGE_DESCRIPTION=Zi,O.DEMO_SYSTEMS=Ty,O.DataPoint=pi,O.Divider=hi,O.DragHandleIcon=wc,O.EmptyState=Or,O.EscalationsPanel=yd,O.FieldLabel=ls,O.FormCard=Nc,O.FormCardGrid=_c,O.FormField=Je,O.FormInput=fs,O.FormSelect=ps,O.FormTextarea=nA,O.Heading1=Ha,O.Heading2=za,O.Input=Zt,O.LabelText=ci,O.LayersIcon=tA,O.LinkText=qm,O.Loading=ut,O.PageHeader=vr,O.PlusIcon=li,O.Radio=by,O.ReassignmentsPanel=bd,O.ResolutionTimePanel=vd,O.RoleMultiSelect=xr,O.SETTINGS_STEPS=rt,O.SearchBar=Hi,O.SearchIcon=qi,O.Select=ft,O.SettingsCard=Un,O.SettingsCardHeader=rc,O.SettingsWizardProvider=nc,O.SlaCompliancePanel=Sd,O.StatusBadge=vy,O.Stepper=$n,O.SystemCard=Wi,O.SystemCardGrid=rs,O.TableCard=ic,O.TableCardGrid=hc,O.Tag=sc,O.TeamWorkloadPanel=Cd,O.Textarea=us,O.ThemeProvider=fl,O.Toggle=Sr,O.ToggleField=Dc,O.TrashIcon=wr,O.Typography=At,O.ValueText=di,O.WORKFLOW_SUBSTEPS=eA,O.api=ge,O.appDetailsReducer=Sl,O.clearAppDetails=_h,O.clearComplaintError=gh,O.clearId=Eh,O.clearSelectedComplaintResource=Ah,O.colors=Cy,O.complaintReducer=gl,O.createComplaintStore=ai,O.darkTheme=En,O.deepMerge=qt,O.default=Ed,O.defaultThemeFile=ll,O.deleteFormField=Ln,O.getFormFields=Ke,O.lightTheme=it,O.normalizeThemeFile=il,O.radii=Ny,O.resetComplaintState=yh,O.resolveActiveTheme=cl,O.saveFormFields=Tn,O.setAppDetails=vl,O.setAuthToken=Ia,O.setBaseUrl=sl,O.setId=Et,O.setIsEdit=Ht,O.spacing=_y,O.store=si,O.themeToCssVars=dl,O.typography=Ey,O.useSettingsWizard=Mr,O.useTheme=pl,Object.defineProperties(O,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
13
13
  //# sourceMappingURL=complaint-app.umd.js.map