@attabot/complaint-app 1.0.51 → 1.0.52
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/complaint-app.js +3316 -3337
- package/dist/complaint-app.js.map +1 -1
- package/dist/complaint-app.umd.js +8 -8
- package/dist/complaint-app.umd.js.map +1 -1
- package/dist/style.css +1 -1
- package/package.json +1 -1
|
@@ -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,Gr,Y,le){"use strict";var Jr=typeof document<"u"?document.currentScript:null;function Td(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 K=Td(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 Ws="popstate";function Ld(e){e===void 0&&(e={});function t(r,s){let{pathname:o,search:l,hash:i}=r.location;return Zr("",{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 Fd(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 Id(){return Math.random().toString(36).substr(2,8)}function qs(e,t){return{usr:e.state,key:e.key,idx:t}}function Zr(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||Id()})}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 Fd(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=Zr(y.location,g,h);d=f()+1;let _=qs(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 v(g,h){i=pt.Replace;let b=Zr(y.location,g,h);d=f();let _=qs(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(Ws,u),c=g,()=>{s.removeEventListener(Ws,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:v,go(g){return l.go(g)}};return y}var Hs;(function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"})(Hs||(Hs={}));function kd(e,t,n){return n===void 0&&(n="/"),Od(e,t,n)}function Od(e,t,n,r){let s=typeof t=="string"?Mt(t):t,o=ht(s.pathname||"/",n);if(o==null)return null;let l=zs(e);Dd(l);let i=null,c=Hd(o);for(let d=0;i==null&&d<l.length;++d)i=Wd(l[d],c);return i}function zs(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+'".')),zs(o.children,t,f,d)),!(o.path==null&&!o.index)&&t.push({path:d,score:jd(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 Ks(o.path))s(o,l,c)}),t}function Ks(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=Ks(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 Dd(e){e.sort((t,n)=>t.score!==n.score?n.score-t.score:Vd(t.routesMeta.map(r=>r.childrenIndex),n.routesMeta.map(r=>r.childrenIndex)))}const Md=/^:[\w-]+$/,Pd=3,xd=2,Bd=1,Ud=10,$d=-2,Qs=e=>e==="*";function jd(e,t){let n=e.split("/"),r=n.length;return n.some(Qs)&&(r+=$d),t&&(r+=xd),n.filter(s=>!Qs(s)).reduce((s,o)=>s+(Md.test(o)?Pd:o===""?Bd:Ud),r)}function Vd(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 Wd(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=Rr({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:Yd(at([o,u.pathnameBase])),route:p}),u.pathnameBase!=="/"&&(o=at([o,u.pathnameBase]))}return l}function Rr(e,t){typeof e=="string"&&(e={path:e,caseSensitive:!1,end:!0});let[n,r]=qd(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 y=i[u]||"";l=o.slice(0,o.length-y.length).replace(/(.)\/+$/,"$1")}const A=i[u];return v&&!A?d[p]=void 0:d[p]=(A||"").replace(/%2F/g,"/"),d},{}),pathname:o,pathnameBase:l,pattern:e}}function qd(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 Hd(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 zd=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Kd=e=>zd.test(e);function Qd(e,t){t===void 0&&(t="/");let{pathname:n,search:r="",hash:s=""}=typeof e=="string"?Mt(e):e,o;if(n)if(Kd(n))o=n;else{if(n.includes("//")){let l=n;n=Js(n),$e(!1,"Pathnames cannot have embedded double slashes - normalizing "+(l+" -> "+n))}n.startsWith("/")?o=Xs(n.substring(1),"/"):o=Xs(n,t)}else o=t;return{pathname:o,search:Gd(r),hash:Jd(s)}}function Xs(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 ea(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 Xd(e){return e.filter((t,n)=>n===0||t.route.path&&t.route.path.length>0)}function Ys(e,t){let n=Xd(e);return t?n.map((r,s)=>s===n.length-1?r.pathname:r.pathnameBase):n.map(r=>r.pathnameBase)}function Gs(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("?"),ea("?","pathname","search",s)),de(!s.pathname||!s.pathname.includes("#"),ea("#","pathname","hash",s)),de(!s.search||!s.search.includes("#"),ea("#","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=Qd(s,i),d=l&&l!=="/"&&l.endsWith("/"),f=(o||l===".")&&n.endsWith("/");return!c.pathname.endsWith("/")&&(d||f)&&(c.pathname+="/"),c}const Js=e=>e.replace(/\/\/+/g,"/"),at=e=>Js(e.join("/")),Yd=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),Gd=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,Jd=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e;function Zd(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}const Zs=["post","put","patch","delete"];new Set(Zs);const Rd=["get",...Zs];new Set(Rd);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=K.createContext(null);process.env.NODE_ENV!=="production"&&(mn.displayName="DataRouter");const ta=K.createContext(null);process.env.NODE_ENV!=="production"&&(ta.displayName="DataRouterState");const eu=K.createContext(null);process.env.NODE_ENV!=="production"&&(eu.displayName="Await");const ze=K.createContext(null);process.env.NODE_ENV!=="production"&&(ze.displayName="Navigation");const gn=K.createContext(null);process.env.NODE_ENV!=="production"&&(gn.displayName="Location");const Ye=K.createContext({outlet:null,matches:[],isDataRoute:!1});process.env.NODE_ENV!=="production"&&(Ye.displayName="Route");const na=K.createContext(null);process.env.NODE_ENV!=="production"&&(na.displayName="RouteError");function tu(e,t){let{relative:n}=t===void 0?{}:t;Pt()||(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}=K.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 Pt(){return K.useContext(gn)!=null}function Ke(){return Pt()||(process.env.NODE_ENV!=="production"?de(!1,"useLocation() may be used only in the context of a <Router> component."):de(!1)),K.useContext(gn).location}const Rs="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function eo(e){K.useContext(ze).static||K.useLayoutEffect(e)}function Ge(){let{isDataRoute:e}=K.useContext(Ye);return e?mu():nu()}function nu(){Pt()||(process.env.NODE_ENV!=="production"?de(!1,"useNavigate() may be used only in the context of a <Router> component."):de(!1));let e=K.useContext(mn),{basename:t,future:n,navigator:r}=K.useContext(ze),{matches:s}=K.useContext(Ye),{pathname:o}=Ke(),l=JSON.stringify(Ys(s,n.v7_relativeSplatPath)),i=K.useRef(!1);return eo(()=>{i.current=!0}),K.useCallback(function(d,f){if(f===void 0&&(f={}),process.env.NODE_ENV!=="production"&&$e(i.current,Rs),!i.current)return;if(typeof d=="number"){r.go(d);return}let u=Gs(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}=K.useContext(Ye),t=e[e.length-1];return t?t.params:{}}function An(e,t){let{relative:n}=t===void 0?{}:t,{future:r}=K.useContext(ze),{matches:s}=K.useContext(Ye),{pathname:o}=Ke(),l=JSON.stringify(Ys(s,r.v7_relativeSplatPath));return K.useMemo(()=>Gs(e,JSON.parse(l),o,n==="path"),[e,l,o,n])}function ru(e,t){return au(e,t)}function au(e,t,n,r){Pt()||(process.env.NODE_ENV!=="production"?de(!1,"useRoutes() may be used only in the context of a <Router> component."):de(!1));let{navigator:s}=K.useContext(ze),{matches:o}=K.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||"";ro(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(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.
|
|
2
2
|
|
|
3
|
-
`+('Please change the parent <Route path="'+b+'"> to <Route ')+('path="'+(b==="/"?"*":b+"/*")+'">.'))}let u=Ke(),p;if(t){var v;let b=typeof t=="string"?Mt(t):t;d==="/"||(v=b.pathname)!=null&&v.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=kd(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=cu(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?K.createElement(gn.Provider,{value:{location:hn({pathname:"/",search:"",hash:"",state:null,key:"default"},p),navigationType:pt.Pop}},h):h}function su(){let e=hu(),t=Zd(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=K.createElement(K.Fragment,null,K.createElement("p",null,"💿 Hey developer 👋"),K.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",K.createElement("code",{style:o},"ErrorBoundary")," or"," ",K.createElement("code",{style:o},"errorElement")," prop on your route."))),K.createElement(K.Fragment,null,K.createElement("h2",null,"Unexpected Application Error!"),K.createElement("h3",{style:{fontStyle:"italic"}},t),n?K.createElement("pre",{style:s},n):null,l)}const ou=K.createElement(su,null);class lu extends K.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?K.createElement(Ye.Provider,{value:this.props.routeContext},K.createElement(na.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function iu(e){let{routeContext:t,match:n,children:r}=e,s=K.useContext(mn);return s&&s.static&&s.staticContext&&(n.route.errorElement||n.route.ErrorBoundary)&&(s.staticContext._deepestRenderedBoundaryId=n.route.id),K.createElement(Ye.Provider,{value:t},r)}function cu(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:v}=n,A=u.route.loader&&p[u.route.id]===void 0&&(!v||v[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 v,A=!1,y=null,g=null;n&&(v=i&&u.route.id?i[u.route.id]:void 0,y=u.route.errorElement||ou,c&&(d<0&&p===0?(ro("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 v?_=y:A?_=g:u.route.Component?_=K.createElement(u.route.Component,null):u.route.element?_=u.route.element:_=f,K.createElement(iu,{match:u,routeContext:{outlet:f,matches:h,isDataRoute:n!=null},children:_})};return n&&(u.route.ErrorBoundary||u.route.errorElement||p===0)?K.createElement(lu,{location:n.location,revalidation:n.revalidation,component:y,error:v,children:b(),routeContext:{outlet:null,matches:h,isDataRoute:!0}}):b()},null)}var to=(function(e){return e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e})(to||{}),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 ra(e){return e+" must be used within a data router. See https://reactrouter.com/v6/routers/picking-a-router."}function du(e){let t=K.useContext(mn);return t||(process.env.NODE_ENV!=="production"?de(!1,ra(e)):de(!1)),t}function uu(e){let t=K.useContext(ta);return t||(process.env.NODE_ENV!=="production"?de(!1,ra(e)):de(!1)),t}function fu(e){let t=K.useContext(Ye);return t||(process.env.NODE_ENV!=="production"?de(!1,ra(e)):de(!1)),t}function aa(e){let t=fu(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 pu(){return aa(yn.UseRouteId)}function hu(){var e;let t=K.useContext(na),n=uu(yn.UseRouteError),r=aa(yn.UseRouteError);return t!==void 0?t:(e=n.errors)==null?void 0:e[r]}function mu(){let{router:e}=du(to.UseNavigateStable),t=aa(yn.UseNavigateStable),n=K.useRef(!1);return eo(()=>{n.current=!0}),K.useCallback(function(s,o){o===void 0&&(o={}),process.env.NODE_ENV!=="production"&&$e(n.current,Rs),n.current&&(typeof s=="number"?e.navigate(s):e.navigate(s,hn({fromRouteId:t},o)))},[e,t])}const no={};function ro(e,t,n){!t&&!no[e]&&(no[e]=!0,process.env.NODE_ENV!=="production"&&$e(!1,n))}const ao={};function gu(e,t){process.env.NODE_ENV!=="production"&&!ao[t]&&(ao[t]=!0,console.warn(t))}const so=(e,t,n)=>gu(e,"⚠️ React Router Future Flag Warning: "+t+". "+("You can use the `"+e+"` future flag to opt-in early. ")+("For more information, see "+n+"."));function Au(e,t){e?.v7_startTransition===void 0&&so("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&&so("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 yu(e){let{basename:t="/",children:n=null,location:r,navigationType:s=pt.Pop,navigator:o,static:l=!1,future:i}=e;Pt()&&(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=K.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:v=null,key:A="default"}=r,y=K.useMemo(()=>{let g=ht(f,c);return g==null?null:{location:{pathname:g,search:u,hash:p,state:v,key:A},navigationType:s}},[c,f,u,p,v,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:K.createElement(ze.Provider,{value:d},K.createElement(gn.Provider,{children:n,value:y}))}function bu(e){let{children:t,location:n}=e;return ru(sa(t),n)}new Promise(()=>{});function sa(e,t){t===void 0&&(t=[]);let n=[];return K.Children.forEach(e,(r,s)=>{if(!K.isValidElement(r))return;let o=[...t,s];if(r.type===K.Fragment){n.push.apply(n,sa(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=sa(r.props.children,o)),n.push(l)}),n}function xt(){return xt=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},xt.apply(null,arguments)}function oa(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 vu(e){return Jn(e)&&e.tagName.toLowerCase()==="button"}function Su(e){return Jn(e)&&e.tagName.toLowerCase()==="form"}function wu(e){return Jn(e)&&e.tagName.toLowerCase()==="input"}function Cu(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function Nu(e,t){return e.button===0&&(!t||t==="_self")&&!Cu(e)}function la(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 _u(e,t){let n=la(e);return t&&t.forEach((r,s)=>{n.has(s)||t.getAll(s).forEach(o=>{n.append(s,o)})}),n}let Zn=null;function Eu(){if(Zn===null)try{new FormData(document.createElement("form"),0),Zn=!1}catch{Zn=!0}return Zn}const Tu=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function ia(e){return e!=null&&!Tu.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 Lu(e,t){let n,r,s,o,l;if(Su(e)){let i=e.getAttribute("action");r=i?ht(i,t):null,n=e.getAttribute("method")||Yn,s=ia(e.getAttribute("enctype"))||Gn,o=new FormData(e)}else if(vu(e)||wu(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=ia(e.getAttribute("formenctype"))||ia(i.getAttribute("enctype"))||Gn,o=new FormData(i,e),!Eu()){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 Iu=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","viewTransition"],Fu=["aria-current","caseSensitive","className","end","style","to","viewTransition","children"],ku=["fetcherKey","navigate","reloadDocument","replace","state","method","action","onSubmit","relative","preventScrollReset","viewTransition"],Ou="6";try{window.__reactRouterVersion=Ou}catch{}const oo=K.createContext({isTransitioning:!1});process.env.NODE_ENV!=="production"&&(oo.displayName="ViewTransition");const Du=K.createContext(new Map);process.env.NODE_ENV!=="production"&&(Du.displayName="Fetchers");const lo=K["startTransition"];function Mu(e){let{basename:t,children:n,future:r,window:s}=e,o=K.useRef();o.current==null&&(o.current=Ld({window:s,v5Compat:!0}));let l=o.current,[i,c]=K.useState({action:l.action,location:l.location}),{v7_startTransition:d}=r||{},f=K.useCallback(u=>{d&&lo?lo(()=>c(u)):c(u)},[c,d]);return K.useLayoutEffect(()=>l.listen(f),[l,f]),K.useEffect(()=>Au(r),[r]),K.createElement(yu,{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",xu=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,io=K.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=oa(t,Iu),{basename:v}=K.useContext(ze),A,y=!1;if(typeof d=="string"&&xu.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,v);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=tu(d,{relative:s}),h=ju(d,{replace:l,state:i,target:c,preventScrollReset:f,relative:s,viewTransition:u});function b(_){r&&r(_),_.defaultPrevented||h(_)}return K.createElement("a",xt({},p,{href:A||g,onClick:y||o?r:b,ref:n,target:c}))});process.env.NODE_ENV!=="production"&&(io.displayName="Link");const Bu=K.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=oa(t,Fu),p=An(c,{relative:u.relative}),v=Ke(),A=K.useContext(ta),{navigator:y,basename:g}=K.useContext(ze),h=A!=null&&Ku(p)&&d===!0,b=y.encodeLocation?y.encodeLocation(p).pathname:p.pathname,_=v.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)==="/",H=N!=null&&(N===b||!l&&N.startsWith(b)&&N.charAt(b.length)==="/"),Z={isActive:L,isPending:H,isTransitioning:h},q=L?r:void 0,j;typeof o=="function"?j=o(Z):j=[o,L?"active":null,H?"pending":null,h?"transitioning":null].filter(Boolean).join(" ");let z=typeof i=="function"?i(Z):i;return K.createElement(io,xt({},u,{"aria-current":q,className:j,ref:n,style:z,to:c,viewTransition:d}),typeof f=="function"?f(Z):f)});process.env.NODE_ENV!=="production"&&(Bu.displayName="NavLink");const Uu=K.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=oa(e,ku),A=Hu(),y=zu(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 K.createElement("form",xt({ref:t,method:g,action:y,onSubmit:s?d:h},v))});process.env.NODE_ENV!=="production"&&(Uu.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 co;(function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"})(co||(co={}));function $u(e){return e+" must be used within a data router. See https://reactrouter.com/v6/routers/picking-a-router."}function uo(e){let t=K.useContext(mn);return t||(process.env.NODE_ENV!=="production"?de(!1,$u(e)):de(!1)),t}function ju(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 K.useCallback(u=>{if(Nu(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 fo(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=K.useRef(la(e)),n=K.useRef(!1),r=Ke(),s=K.useMemo(()=>_u(r.search,n.current?null:t.current),[r.search]),o=Ge(),l=K.useCallback((i,c)=>{const d=la(typeof i=="function"?i(s):i);n.current=!0,o("?"+d,c)},[o,s]);return[s,l]}function Vu(){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 Wu=0,qu=()=>"__"+String(++Wu)+"__";function Hu(){let{router:e}=uo(Rn.UseSubmit),{basename:t}=K.useContext(ze),n=pu();return K.useCallback(function(r,s){s===void 0&&(s={}),Vu();let{action:o,method:l,encType:i,formData:c,body:d}=Lu(r,t);if(s.navigate===!1){let f=s.fetcherKey||qu();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 zu(e,t){let{relative:n}=t===void 0?{}:t,{basename:r}=K.useContext(ze),s=K.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=xt({},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 Ku(e,t){t===void 0&&(t={});let n=K.useContext(oo);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}=uo(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 Rr(s.pathname,l)!=null||Rr(s.pathname,o)!=null}function po(e,t){return function(){return e.apply(t,arguments)}}const{toString:Qu}=Object.prototype,{getPrototypeOf:Bt}=Object,{iterator:bn,toStringTag:ho}=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},Xu=(e,t)=>e!=null&&vn(e,t)?e[t]:void 0,ca=(e=>t=>{const n=Qu.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),je=e=>(e=e.toLowerCase(),t=>ca(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 mo=je("ArrayBuffer");function Yu(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&mo(e.buffer),t}const Gu=tr("string"),Oe=tr("function"),go=tr("number"),$t=e=>e!==null&&typeof e=="object",Ju=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,ho)&&!vn(e,bn)},Zu=e=>{if(!$t(e)||Ut(e))return!1;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return!1}},Ru=je("Date"),ef=je("File"),tf=e=>!!(e&&typeof e.uri<"u"),nf=e=>e&&typeof e.getParts<"u",rf=je("Blob"),af=je("FileList"),sf=je("Set"),of=e=>$t(e)&&Oe(e.pipe);function lf(){return typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{}}const Ao=lf(),yo=typeof Ao.FormData<"u"?Ao.FormData:void 0,cf=e=>{if(!e)return!1;if(yo&&e instanceof yo)return!0;const t=Bt(e);if(!t||t===Object.prototype||!Oe(e.append))return!1;const n=ca(e);return n==="formdata"||n==="object"&&Oe(e.toString)&&e.toString()==="[object FormData]"},df=je("URLSearchParams"),[uf,ff,pf,hf]=["ReadableStream","Request","Response","Headers"].map(je),mf=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 bo(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,vo=e=>!St(e)&&e!==wt;function da(...e){const{caseless:t,skipUndefined:n}=vo(this)&&this||{},r={},s=(o,l)=>{if(l==="__proto__"||l==="constructor"||l==="prototype")return;const i=t&&typeof l=="string"&&bo(r,l)||l,c=er(r,i)?r[i]:void 0;nr(c)&&nr(o)?r[i]=da(c,o):nr(o)?r[i]=da({},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];Tf.call(i,f)&&s(i[f],f)}}return r}const gf=(e,t,n,{allOwnKeys:r}={})=>(Sn(t,(s,o)=>{n&&Oe(s)?Object.defineProperty(e,o,{__proto__:null,value:po(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),Af=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),yf=(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)},bf=(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},vf=(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},Sf=e=>{if(!e)return null;if(vt(e))return e;let t=e.length;if(!go(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},wf=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&Bt(Uint8Array)),Cf=(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])}},Nf=(e,t)=>{let n;const r=[];for(;(n=e.exec(t))!==null;)r.push(n);return r},_f=je("HTMLFormElement"),Ef=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,r,s){return r.toUpperCase()+s}),{propertyIsEnumerable:Tf}=Object.prototype,Lf=je("RegExp"),So=(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)},If=e=>{So(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+"'")})}})},Ff=(e,t)=>{const n={},r=s=>{s.forEach(o=>{n[o]=!0})};return vt(e)?r(e):r(String(e).split(t)),n},kf=()=>{},Of=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function Df(e){return!!(e&&Oe(e.append)&&e[ho]==="FormData"&&e[bn])}const Mf=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(sf(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"),xf=e=>e&&($t(e)||Oe(e))&&Oe(e.then)&&Oe(e.catch),wo=((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)),Bf=typeof queueMicrotask<"u"?queueMicrotask.bind(wt):typeof process<"u"&&process.nextTick||wo,Co=e=>e!=null&&Oe(e[bn]),S={isArray:vt,isArrayBuffer:mo,isBuffer:Ut,isFormData:cf,isArrayBufferView:Yu,isString:Gu,isNumber:go,isBoolean:Ju,isObject:$t,isPlainObject:nr,isEmptyObject:Zu,isReadableStream:uf,isRequest:ff,isResponse:pf,isHeaders:hf,isUndefined:St,isDate:Ru,isFile:ef,isReactNativeBlob:tf,isReactNative:nf,isBlob:rf,isRegExp:Lf,isFunction:Oe,isStream:of,isURLSearchParams:df,isTypedArray:wf,isFileList:af,forEach:Sn,merge:da,extend:gf,trim:mf,stripBOM:Af,inherits:yf,toFlatObject:bf,kindOf:ca,kindOfTest:je,endsWith:vf,toArray:Sf,forEachEntry:Cf,matchAll:Nf,isHTMLForm:_f,hasOwnProperty:er,hasOwnProp:er,hasOwnInPrototypeChain:vn,getSafeProp:Xu,reduceDescriptors:So,freezeMethods:If,toObjectSet:Ff,toCamelCase:Ef,noop:kf,toFiniteNumber:Of,findKey:bo,global:wt,isContextDefined:vo,isSpecCompliantForm:Df,toJSONObject:Mf,isAsyncFn:Pf,isThenable:xf,setImmediate:wo,asap:Bf,isIterable:Co,isSafeIterable:e=>e!=null&&vn(e,bn)&&Co(e)},Uf=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"]),$f=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=
|
|
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 Xf(t)}static concat(t,...n){const r=new this(t);return n.forEach(s=>r.set(s)),r}static accessor(t){const r=(this[_o]=this[_o]={accessors:{}}).accessors,s=this.prototype;function o(l){const i=wn(l);r[i]||(Jf(s,l),r[i]=!0)}return S.isArray(t)?t.forEach(o):o(t),this}};Te.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),S.reduceDescriptors(Te.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(r){this[n]=r}}}),S.freezeMethods(Te);const ar="[REDACTED ****]";function Zf(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 Rf(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 Te&&(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)&&Zf(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 Eo(e){try{return String(e)}catch{return""}}function ep(e){return e.errors.map(n=>{try{return n&&n.message?Eo(n.message):Eo(n)}catch{return""}}).filter(Boolean).join("; ")||e.name||"AggregateError"}let J=class _d extends Error{static from(t,n,r,s,o,l){let i=t.message;!i&&S.isArray(t.errors)&&t.errors.length&&(i=ep(t));const c=new _d(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?Rf(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}}};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 tp=null,To=100;function ha(e){return S.isPlainObject(e)||S.isArray(e)}function Lo(e){return S.endsWith(e,"[]")?e.slice(0,-2):e}function ma(e,t,n){return e?e.concat(t).map(function(s,o){return s=Lo(s),!n&&o?"["+s+"]":s}).join(n?".":""):t}function np(e){return S.isArray(e)&&!e.some(ha)}const rp=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,_){return!S.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?To: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 J("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 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 v(h,b){if(c===1/0)return JSON.stringify(h);const _=[];return JSON.stringify(h,function(O,L){if(!S.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(S.isReactNative(t)&&S.isReactNativeBlob(h))return t.append(ma(_,b,o),u(h)),!1;if(h&&!_&&typeof h=="object"){if(S.endsWith(b,"{}"))b=r?b:b.slice(0,-2),h=v(h,1);else if(S.isArray(h)&&np(h)||(S.isFileList(h)||S.endsWith(b,"[]"))&&(N=S.toArray(h)))return b=Lo(b),N.forEach(function(L,H){!(S.isUndefined(L)||L===null)&&t.append(l===!0?ma([b],H,o):l===null?b:b+"[]",u(L))}),!1}return ha(h)?!0:(t.append(ma(_,b,o),u(h)),!1)}const y=Object.assign(rp,{defaultVisitor:A,convertValue:u,isVisitable:ha});function g(h,b,_=0){if(!S.isUndefined(h)){if(p(_),f.indexOf(h)!==-1)throw new Error("Circular reference detected in "+b.join("."));f.push(h),S.forEach(h,function(O,L){(!(S.isUndefined(O)||O===null)&&s.call(t,O,S.isString(L)?L.trim():L,b,y))===!0&&g(O,b?b.concat(L):[L],_+1)}),f.pop()}}if(!S.isObject(e))throw new TypeError("data must be an object");return g(e),t}function Io(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"};return encodeURIComponent(e).replace(/[!'()~]|%20/g,function(r){return t[r]})}function ga(e,t){this._pairs=[],e&&sr(e,this,t)}const Fo=ga.prototype;Fo.append=function(t,n){this._pairs.push([t,n])},Fo.toString=function(t){const n=t?r=>t.call(this,r,Io):Io;return this._pairs.map(function(s){return n(s[0])+"="+n(s[1])},"").join("&")};function ap(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function ko(e,t,n){if(!t)return e;e=e||"";const r=S.isFunction(n)?{serialize:n}:n,s=S.getSafeProp(r,"encode")||ap,o=S.getSafeProp(r,"serialize");let l;if(o?l=o(t,r):l=S.isURLSearchParams(t)?t.toString():new ga(t,r).toString(s),l){const i=e.indexOf("#");i!==-1&&(e=e.slice(0,i)),e+=(e.indexOf("?")===-1?"?":"&")+l}return e}class Oo{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 Aa={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1,legacyInterceptorReqResOrdering:!0,advertiseZstdAcceptEncoding:!1,validateStatusUndefinedResolves:!0},sp={isBrowser:!0,classes:{URLSearchParams:typeof URLSearchParams<"u"?URLSearchParams:ga,FormData:typeof FormData<"u"?FormData:null,Blob:typeof Blob<"u"?Blob:null},protocols:["http","https","file","blob","url","data"]},ya=typeof window<"u"&&typeof document<"u",ba=typeof navigator=="object"&&navigator||void 0,op=ya&&(!ba||["ReactNative","NativeScript","NS"].indexOf(ba.product)<0),lp=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",ip=ya&&window.location.href||"http://localhost",_e={...Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:ya,hasStandardBrowserEnv:op,hasStandardBrowserWebWorkerEnv:lp,navigator:ba,origin:ip},Symbol.toStringTag,{value:"Module"})),...sp};function cp(e,t){return sr(e,new _e.classes.URLSearchParams,{visitor:function(n,r,s,o){return _e.isNode&&S.isBuffer(n)?(this.append(r,n.toString("base64")),!1):o.defaultVisitor.apply(this,arguments)},...t})}const Do=To;function Mo(e){if(e>Do)throw new J("FormData field is too deeply nested ("+e+" levels). Max depth: "+Do,J.ERR_FORM_DATA_DEPTH_EXCEEDED)}function dp(e){const t=[],n=/[^.[\]]+|\[([^.[\]]*)]/g;let r;for(;(r=n.exec(e))!==null;)Mo(t.length),t.push(r[0]==="[]"?"":r[1]||r[0]);return t}function up(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 Po(e){function t(n,r,s,o){Mo(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]=up(s[l])),!i)}if(S.isFormData(e)&&S.isFunction(e.entries)){const n={};return S.forEachEntry(e,(r,s)=>{t(dp(r),s,n,0)}),n}return null}const jt=(e,t)=>e!=null&&S.hasOwnProp(e,t)?e[t]:void 0;function fp(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:Aa,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(Po(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 cp(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),fp(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"?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}}};S.forEach(["delete","get","head","post","put","patch","query"],e=>{Cn.headers[e]={}});function va(e,t){const n=this||Cn,r=t||n,s=Te.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 xo(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 Bo(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 pp(e){const t=/^([-+\w]{1,25}):(?:\/\/)?/.exec(e);return t&&t[1]||""}function hp(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 mp(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=hp(50,250);return mp(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)},Uo=(e,t)=>{const n=e!=null;return[r=>t[0]({lengthComputable:n,total:e,loaded:r}),t[1]]},$o=(e,t=S.asap)=>(...n)=>t(()=>e(...n)),gp=_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,Ap=_e.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 yp(e){return typeof e!="string"?!1:/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function bp(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 vp=/^https?:(?!\/\/)/i,Sp=/[\t\n\r]/g;function wp(e){let t=0;for(;t<e.length&&e.charCodeAt(t)<=32;)t++;return e.slice(t)}function Cp(e){return wp(e).replace(Sp,"")}function Np(e){return e&&e.replace(/(^|&)([^=&]*=)?[^&]+/g,(t,n,r="")=>`${n}${r}${ar}`)}function _p(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}#${Np(t.slice(n+1))}`}function jo(e,t){if(typeof e=="string"){const n=Cp(e);if(vp.test(n))throw new J(`Invalid URL ${JSON.stringify(_p(n))}: missing "//" after protocol`,J.ERR_INVALID_URL,t)}}function Vo(e,t,n,r){jo(t,r);let s=!yp(t);return e&&(s||n===!1)?(jo(e,r),bp(e,t)):t}const Wo=e=>e instanceof Te?{...e}:e,Ep=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,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(Wo(f),Wo(u),p,!0)};return S.forEach(Ep({...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,A=S.hasOwnProp(t,u)?t[u]:void 0,y=p(v,A,u);S.isUndefined(y)&&p!==c||(n[u]=y)}),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 Tp=["content-type","content-length"];function Lp(e,t,n){if(n!=="content-only"){e.set(t);return}Object.entries(t||{}).forEach(([r,s])=>{Tp.includes(r.toLowerCase())&&e.set(r,s)})}const Ip=e=>encodeURIComponent(e).replace(/%([0-9A-F]{2})/gi,(t,n)=>String.fromCharCode(parseInt(n,16)));function qo(e){const t=Ct({},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=Te.from(i),t.url=ko(Vo(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?Ip(v):"")))}catch(A){throw J.from(A,J.ERR_BAD_OPTION_VALUE,e)}}if(S.isFormData(r)&&(_e.hasStandardBrowserEnv||_e.hasStandardBrowserWebWorkerEnv||S.isReactNative(r)?i.setContentType(void 0):S.isFunction(r.getHeaders)&&Lp(i,r.getHeaders(),n("formDataHeaderPolicy"))),_e.hasStandardBrowserEnv&&(S.isFunction(s)&&(s=s(t)),s===!0||s==null&&gp(t.url))){const v=o&&l&&Ap.read(l);v&&i.set(o,v)}return t}const Fp=typeof XMLHttpRequest<"u"&&function(e){return new Promise(function(n,r){const s=qo(e);let o=s.data;const l=Te.from(s.headers).normalize();let{responseType:i,onUploadProgress:c,onDownloadProgress:d}=s,f,u,p,v,A;function y(){v&&v(),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};Bo(function(H){n(H),y()},function(H){r(H),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||Aa;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&&S.forEach(No(l),function(N,O){g.setRequestHeader(O,N)}),S.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,v]=or(c),g.upload.addEventListener("progress",u),g.upload.addEventListener("loadend",v)),(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=pp(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)})},kp=(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=()=>S.asap(l),i},Op=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},Dp=async function*(e,t){for await(const n of Mp(e))yield*Op(n,t)},Mp=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()}},Ho=(e,t,n,r)=>{const s=Dp(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})},zo=e=>e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102,Ko=(e,t,n)=>t+2<n&&zo(e.charCodeAt(t+1))&&zo(e.charCodeAt(t+2)),Qo=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,xp=e=>e===9||e===10||e===12||e===13||e===32,Bp=e=>{const t=Math.floor(e/4),n=e%4;return t*3+(n===2?1:n===3?2:0)},Up=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)},$p=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&&Ko(e,o,t)&&(l=Qo(e.charCodeAt(o+1))*16+Qo(e.charCodeAt(o+2)),o+=2),!xp(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?Up(e):Bp(n)},jp=(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&&Ko(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 Vp(e){const t=typeof e=="string"?e.indexOf("#"):-1;return jp(t===-1?e:e.slice(0,t),$p)}const Sa="1.19.0",Xo=64*1024,{isFunction:lr}=S,Wp=e=>encodeURIComponent(e).replace(/%([0-9A-F]{2})/gi,(t,n)=>String.fromCharCode(parseInt(n,16))),Yo=e=>{if(!S.isString(e))return e;try{return decodeURIComponent(e)}catch{return e}},Go=(e,...t)=>{try{return!!e(...t)}catch{return!1}},qp=e=>{const t=e.indexOf("://");let n=e;return t!==-1&&(n=n.slice(t+3)),n.includes("@")||n.includes(":")},Hp=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&&Go(()=>{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&&!_}),v=d&&f&&Go(()=>S.isReadableStream(new l("").body)),A={stream:v&&(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(S.isBlob(h))return h.size;if(S.isSpecCompliantForm(h))return(await new o(_e.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 _=S.toFiniteNumber(h.getContentLength());return _??y(b)};return async h=>{let{url:b,method:_,data:N,signal:O,cancelToken:L,timeout:H,onDownloadProgress:Z,onUploadProgress:q,responseType:j,headers:z,withCredentials:M="same-origin",fetchOptions:Q,maxContentLength:F,maxBodyLength:P}=qo(h);const X=S.isNumber(F)&&F>-1,te=S.isNumber(P)&&P>-1,T=E=>S.hasOwnProp(h,E)?h[E]:void 0;let x=s||fetch;j=j?(j+"").toLowerCase():"text";let V=kp([O,L&&L.toAbortSignal()],H),R=null;const w=V&&V.unsubscribe&&(()=>{V.unsubscribe()});let W,k=null;const U=()=>new J("Request body larger than maxBodyLength limit",J.ERR_BAD_REQUEST,h,R);try{let E;const $=T("auth");if($){const se=S.getSafeProp($,"username")||"",Ae=S.getSafeProp($,"password")||"";E={username:se,password:Ae}}if(qp(b)){const se=new URL(b,_e.origin);if(!E&&(se.username||se.password)){const Ae=Yo(se.username),Se=Yo(se.password);E={username:Ae,password:Se}}(se.username||se.password)&&(se.username="",se.password="",b=se.href)}if(E&&(z.delete("authorization"),z.set("Authorization","Basic "+btoa(Wp((E.username||"")+":"+(E.password||""))))),X&&typeof b=="string"&&b.startsWith("data:")&&Vp(b)>F)throw new J("maxContentLength size of "+F+" exceeded",J.ERR_BAD_RESPONSE,h,R);if(te&&_!=="get"&&_!=="head"){const se=await y(N);if(typeof se=="number"&&isFinite(se)&&(W=se,se>P))throw U()}const C=te&&(S.isReadableStream(N)||S.isStream(N)),G=(se,Ae,Se)=>Ho(se,Xo,Ee=>{if(te&&Ee>P)throw k=U();Ae&&Ae(Ee)},Se);if(p&&_!=="get"&&_!=="head"&&(q||C)){if(W=W??await g(z,N),W!==0||C){let se=new o(b,{method:"POST",body:N,duplex:"half"}),Ae;if(S.isFormData(N)&&(Ae=se.headers.get("content-type"))&&z.setContentType(Ae),se.body){const[Se,Ee]=q&&Uo(W,or($o(q)))||[];N=G(se.body,Se,Ee)}}}else if(C&&!c&&f&&_!=="get"&&_!=="head")N=G(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);S.isString(M)||(M=M?"include":"omit");const ne=c&&"credentials"in o.prototype;if(S.isFormData(N)){const se=z.getContentType();se&&/^multipart\/form-data/i.test(se)&&!/boundary=/i.test(se)&&z.delete("content-type")}z.set("User-Agent","axios/"+Sa,!1);const oe={...Q,signal:V,method:_.toUpperCase(),headers:No(z.normalize()),body:N,duplex:"half",credentials:ne?M:void 0};R=c&&new o(b,oe);let me=await(c?x(R,Q):x(b,oe));const ee=Te.from(me.headers);if(X){const se=S.toFiniteNumber(ee.getContentLength());if(se!=null&&se>F)throw new J("maxContentLength size of "+F+" exceeded",J.ERR_BAD_RESPONSE,h,R)}const ae=v&&(j==="stream"||j==="response");if(v&&me.body&&(Z||X||ae&&w)){const se={};["status","statusText","headers"].forEach(Xe=>{se[Xe]=me[Xe]});const Ae=S.toFiniteNumber(ee.getContentLength()),[Se,Ee]=Z&&Uo(Ae,or($o(Z),!0))||[];let yt=0;const He=Xe=>{if(X&&(yt=Xe,yt>F))throw new J("maxContentLength size of "+F+" exceeded",J.ERR_BAD_RESPONSE,h,R);Se&&Se(Xe)};me=new l(Ho(me.body,Xo,He,()=>{Ee&&Ee(),w&&w()}),se)}j=j||"text";let pe=await A[S.findKey(A,j)||"text"](me,h);if(X&&!v&&!ae){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!ae&&w&&w(),await new Promise((se,Ae)=>{Bo(se,Ae,{data:pe,headers:Te.from(me.headers),status:me.status,statusText:me.statusText,config:h,request:R})})}catch(E){if(w&&w(),V&&V.aborted&&V.reason instanceof J){const $=V.reason;throw $.config=h,R&&($.request=R),E!==$&&Object.defineProperty($,"cause",{__proto__:null,value:E,writable:!0,enumerable:!1,configurable:!0}),$}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 $=new J("Network Error",J.ERR_NETWORK,h,R,E&&E.response);throw Object.defineProperty($,"cause",{__proto__:null,value:E.cause||E,writable:!0,enumerable:!1,configurable:!0}),$}throw J.from(E,E&&E.code,h,R,E&&E.response)}}},zp=new Map,Jo=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=zp;for(;i--;)c=o[i],d=f.get(c),d===void 0&&f.set(c,d=i?new Map:Hp(t)),f=d;return d};Jo();const wa={http:tp,xhr:Fp,fetch:{get:Jo}};S.forEach(wa,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{__proto__:null,value:t})}catch{}Object.defineProperty(e,"adapterName",{__proto__:null,value:t})}});const Zo=e=>`- ${e}`,Kp=e=>S.isFunction(e)||e===null||e===!1;function Qp(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,!Kp(r)&&(s=wa[(i=String(r)).toLowerCase()],s===void 0))throw new J(`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(
|
|
7
|
-
`):" "+
|
|
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(`
|
|
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&&(S.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&&S.merge(o.common,o[n.method]);o&&S.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||Aa;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=[Na.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 v=n;for(;u<p;){const A=i[u++],y=i[u++];try{v=A?A(v):v}catch(g){if(!y){f=Promise.reject(g);break}try{const h=y.call(this,g);S.isThenable(h)&&(f=Promise.resolve(h).then(()=>Na.call(this,v)))}catch(h){f=Promise.reject(h)}break}}if(!f)try{f=Na.call(this,v)}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=Vo(t.baseURL,t.url,t.allowAbsoluteUrls,t);return ko(n,t.params,t.paramsSerializer)}};S.forEach(["delete","get","head","options"],function(t){Nt.prototype[t]=function(n,r){return this.request(Ct(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(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 Yp=class Ed{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 Ed(function(s){t=s}),cancel:t}}};function Gp(e){return function(n){return e.apply(null,n)}}function Jp(e){return S.isObject(e)&&e.isAxiosError===!0}const _a={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(_a).forEach(([e,t])=>{_a[t]=e});function tl(e){const t=new Nt(e),n=po(Nt.prototype.request,t);return S.extend(n,Nt.prototype,t,{allOwnKeys:!0}),S.extend(n,t,null,{allOwnKeys:!0}),n.create=function(s){return tl(Ct(e,s))},n}const ye=tl(Cn);ye.Axios=Nt,ye.CanceledError=Nn,ye.CancelToken=Yp,ye.isCancel=xo,ye.VERSION=Sa,ye.toFormData=sr,ye.AxiosError=J,ye.Cancel=ye.CanceledError,ye.all=function(t){return Promise.all(t)},ye.spread=Gp,ye.isAxiosError=Jp,ye.mergeConfig=Ct,ye.AxiosHeaders=Te,ye.formToJSON=e=>Po(S.isHTMLForm(e)?new FormData(e):e),ye.getAdapter=Ro.getAdapter,ye.HttpStatusCode=_a,ye.default=ye;const{Axios:Ky,AxiosError:Qy,CanceledError:Xy,isCancel:Yy,CancelToken:Gy,VERSION:Jy,all:Zy,Cancel:Ry,isAxiosError:e2,spread:t2,toFormData:n2,AxiosHeaders:r2,HttpStatusCode:a2,formToJSON:s2,getAdapter:o2,mergeConfig:l2,create:i2}=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 Zp={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 Ea(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 Ea(this.converter,dr({},this.attributes,s))},withConverter:function(s){return Ea(dr({},this.converter,s),this.attributes)}},{attributes:{value:Object.freeze(t)},converter:{value:Object.freeze(e)}})}var _n=Ea(Zp,{path:"/"});const Rp={BASE_URL:"/",DEV:!1,MODE:"production",PROD:!0,SSR:!1};let Vt="https://api-grievance.airaops.com",nl=null,Ta=!1;try{if(typeof{url:typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:Jr&&Jr.tagName.toUpperCase()==="SCRIPT"&&Jr.src||new URL("complaint-app.umd.js",document.baseURI).href}<"u"&&Rp?.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 rl=e=>{Vt=e||"",he.defaults.baseURL=Vt},La=e=>{nl=e||null},eh=e=>{Ta=!!e},th=()=>Ta?null:nl||_n.get("token")||null,he=ye.create({baseURL:Vt,headers:{Accept:"application/json","Content-Type":"application/json"}});he.interceptors.request.use(e=>{const t=th();return e.headers=e.headers||{},t?e.headers.Authorization=`Bearer ${t}`:delete e.headers.Authorization,e});let Ia=!1,Fa=null;he.interceptors.response.use(e=>e,async e=>{const t=e.config,n=e.response;if(!Ta&&n&&(n.status===401||n.status===402)){const r=_n.get("refreshToken");if(r)try{Ia||(Ia=!0,Fa=ye.post(`${Vt}/api/v1/auth/refresh`,{},{headers:{Authorization:`Bearer ${r}`}}));const s=await Fa,{token:o,refreshToken:l}=s.data;return La(o),l&&_n.set("refreshToken",l),t.headers.Authorization=`Bearer ${o}`,he(t)}catch{_n.remove("token"),_n.remove("refreshToken")}finally{Ia=!1,Fa=null}}return Promise.reject(e)});const nh=m.createContext(null),al=({children:e,apiUrl:t,authToken:n,publicAccess:r=!1})=>(t&&rl(t),eh(r),La(n||null),a.jsx(nh.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)"}},sl={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 ol(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 ll(e,t=!1){const n=ol(e);return{...t?n.dark:n.light,mode:t?"dark":"light",__pack:n}}const rh={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"},ah={sm:"--ca-radius-sm",md:"--ca-radius-md",lg:"--ca-radius-lg",xl:"--ca-radius-xl",pill:"--ca-radius-pill"},sh={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"},oh={card:"--ca-shadow-card",settings:"--ca-shadow-settings"};function il(e){const t={};return e?.colors&&Object.entries(rh).forEach(([n,r])=>{e.colors[n]!=null&&(t[r]=e.colors[n])}),e?.radii&&Object.entries(ah).forEach(([n,r])=>{e.radii[n]!=null&&(t[r]=e.radii[n])}),e?.typography&&Object.entries(sh).forEach(([n,r])=>{e.typography[n]!=null&&(t[r]=e.typography[n])}),e?.shadow&&Object.entries(oh).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 cl=m.createContext({darkMode:!1,theme:null,themeFile:sl,cssVars:{}});function dl({theme:e,darkMode:t=!1,children:n}){const r=m.useMemo(()=>{const s=ll(e,!!t),o=il(s);return{darkMode:!!t,theme:s,themeFile:s.__pack,cssVars:o,mode:s.mode}},[e,t]);return a.jsx(cl.Provider,{value:r,children:n})}function ul(){return m.useContext(cl)}const ur=Object.freeze({formFields:e=>`/api/v1/complaint-types/${e}/form-fields`}),lh=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"},ih=(e,t)=>t.rejectWithValue({status:e?.response?.status??e?.status,message:lh(e)}),ka=(e,t)=>le.createAsyncThunk(e,async(n,r)=>{try{return(await t(n,r)).data}catch(s){return ih(s,r)}}),Ve=ka("complaint/types/getFormFields",(e,{signal:t})=>he.get(ur.formFields(e),{signal:t})),Tn=ka("complaint/types/saveFormFields",({complaintTypeId:e,data:t})=>he.put(ur.formFields(e),t)),Ln=ka("complaint/types/deleteFormField",({complaintTypeId:e,fieldId:t})=>he.delete(`${ur.formFields(e)}/${t}`)),fl={formFields:{data:[],selected:null,pagination:null,isLoading:!1,isMutating:!1,error:null},error:null},ch=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}},Oa=e=>e.payload?.message??e.error?.message??"Something went wrong",pl=le.createSlice({name:"complaintAppComplaint",initialState:fl,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 fl}},extraReducers:e=>{e.addCase(Ve.pending,t=>{t.formFields.isLoading=!0,t.formFields.error=null}).addCase(Ve.fulfilled,(t,n)=>{const r=ch(n.payload);t.formFields.isLoading=!1,t.formFields.data=r.data}).addCase(Ve.rejected,(t,n)=>{t.formFields.isLoading=!1,t.formFields.error=Oa(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=Oa(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=Oa(n)})}}),{clearComplaintError:dh,clearSelectedComplaintResource:uh,resetComplaintState:fh}=pl.actions,hl=pl.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)}}),Da=["userId","id","_id","userID","user_id","value"];function pr(e,t=Da){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,Da);if(s!==null)return s}}return pr(e.user,Da)}function Ma(e){const t=pr(e?.createdByUserId??e?.createdBy??e?.createdByUser);return t===null?null:[t]}function ph(e,t){const n=Ma(e),r=pr(t);return r!==null&&n?.includes(r)===!0}const hh={complaintList:[],selected:null,loading:!1,saving:!1,error:null},mh=["data","items","results","content","records","list","payload","response","result"],ml=e=>{if(Array.isArray(e))return e;if(!e||typeof e!="object")return[];for(const t of mh)if(e[t]!==void 0){const n=ml(e[t]);if(n.length||Array.isArray(e[t]))return n}return[]},Pe=e=>e?.id??e?._id,Pa=(e,t)=>{if(!t)return e;const n=Ma(e),r=Ma(t);return n?.length||!r?.length?e:{...e,userIds:r}},gl=le.createSlice({name:"complaintType",initialState:hh,reducers:{setComplaintTypeActive(e,t){const{id:n,isActive:r}=t.payload??{};n!=null&&(e.complaintList=e.complaintList.map(s=>String(Pe(s))===String(n)?{...s,isActive:r}:s),String(Pe(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(Pe(s)),s]));t.complaintList=ml(n.payload).map(s=>Pa(s,r.get(String(Pe(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(Pe(o))===String(Pe(r)));t.selected=Pa(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(Pe(l))!==String(Pe(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=Pe(r)??n.meta?.arg?.id,o=t.complaintList.find(c=>String(Pe(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(Pe(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(Pe(s))!==String(r)),String(Pe(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:gh}=gl.actions,Ah=gl.reducer,yh={details:{},id:null,isEdit:!1},Al=le.createSlice({name:"appDetails",initialState:yh,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:yl,clearAppDetails:bh,setId:_t,setIsEdit:Ht,clearId:vh}=Al.actions,bl=Al.reducer,Sh={list:[],pagination:null,isLoading:!1,error:null},vl=le.createSlice({name:"roles",initialState:Sh,reducers:{}});vl.reducer;const hr=60,xa=24*hr,wh={d:xa,h:hr,m:1};function Ba(e){const t=Number(e);return Number.isFinite(t)&&t>0?t:0}function Sl(e=[],t=!0){const n=Array.isArray(e)?e:[];return(t?n:n.slice(0,-1)).reduce((s,o)=>s+xe(o?.escalateAfterMinutes),0)}function xe(e){if(e==null||e==="")return 0;if(typeof e=="number")return Ba(e);const t=String(e).trim().toLowerCase().replace(/minutes?/g,"").trim();if(!t)return 0;if(/^\d+(\.\d+)?$/.test(t))return Ba(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+=(wh[o[2]]||0)*Number(o[1]);return s?Ba(r):0}function zt(e){const t=Math.round(typeof e=="number"?e:xe(e));if(!Number.isFinite(t)||t<=0)return"";const n=Math.floor(t/xa),r=Math.floor(t%xa/hr),s=t%hr,o=[];return n&&o.push(`${n}d`),r&&o.push(`${r}h`),s&&o.push(`${s}m`),o.join("")}function Ch(e){const t=String(e??"").trim().toLowerCase().replace(/minutes?/g,"").replace(/\s+/g,"");return!t||!/^(\d+(?:\.\d+)?[dhm])+$/.test(t)?!1:xe(e)>0}function Nh(e){return String(e??"").replace(/(\d+)\s*minutes?/gi,(t,n)=>zt(Number(n))||"0m")}function _h(e=[]){return Sl(e,!0)}function Kt(e=[],t=0){if(!Array.isArray(e)||e.length===0)return e;const n=Math.max(0,xe(t)-Sl(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 Eh(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 Ua=e=>`/api/v1/complaint-types/${e}/workflow-steps`;function Th(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 wl=(e,t)=>t.rejectWithValue({status:e?.response?.status??e?.status,message:Th(e)}),Je=le.createAsyncThunk("workflow/fetchSteps",async(e,t)=>{try{return(await he.get(Ua(e))).data}catch(n){return wl(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,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(A=>({userId:A}))}:{},escalateAfterMinutes:xe(i.escalateAfterMinutes),canResolve:$a(i.canResolve),canReassign:$a(i.canReassign),isFinalLevel:$a(i.finalLevel),isActive:!0}}),l=await he.put(Ua(e),{steps:o});return typeof n=="function"&&n(l.data),l.data}catch(o){return typeof r=="function"&&r(o),wl(o,s)}}),Lh={workflowSteps:null,workflowStepsLoading:!1,workflowStepsSaving:!1,error:null},Ih=le.createSlice({name:"workflow",initialState:Lh,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,gr="/api/v1/complaints/list",Cl=e=>Array.isArray(e)?e.filter(t=>t!=null&&t!==""&&t!=="all"&&t!=="All"):e==null||e===""||e==="all"||e==="All"?[]:[e];function Ar(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=Cl(s),v=Cl(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 Fh=(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"})},yr=le.createAsyncThunk("complaintManagement/fetchQueries",async(e,t)=>{try{return(await he.post(gr,Ar(e),{signal:t.signal})).data}catch(n){return Fh(n,t)}}),kh=e=>`/api/v1/complaints/${e}`,Oh=(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 ja(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=ja(t),f=ja(n),u=ja(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(kh(e),c,{signal:i.signal});return o&&typeof o=="function"&&o(p.data),p.data}catch(c){return l&&typeof l=="function"&&l(c),Oh(c,i)}}),Nl={list:[],meta:null,isLoading:!1,error:null,hasLoaded:!1,requestedComplaintTypeId:null},Dh=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}},Mh=e=>e.payload?.message??e.error?.message??"Failed to fetch queries",_l=e=>e?.complaintId??e?.id,Ph=(e,t)=>{const n=t.meta?.arg??{},r=t.payload?.data??t.payload,s=n.id??_l(r);return s==null?e:e.map(o=>{if(String(_l(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})},El=le.createSlice({name:"complaintManagement",initialState:Nl,reducers:{resetComplaintManagementState:()=>Nl},extraReducers:e=>{e.addCase(yr.pending,(t,n)=>{t.isLoading=!0,t.error=null,t.hasLoaded=!1,t.list=[],t.requestedComplaintTypeId=n.meta.arg?.complaintTypeId??null}).addCase(yr.fulfilled,(t,n)=>{const r=n.meta.arg?.complaintTypeId;if(t.requestedComplaintTypeId!=null&&r!=null&&String(t.requestedComplaintTypeId)!==String(r))return;const s=Dh(n.payload);t.isLoading=!1,t.hasLoaded=!0,t.list=s.list,t.meta=s.meta}).addCase(yr.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=Mh(n))}).addCase(Et.fulfilled,(t,n)=>{t.list=Ph(t.list,n)})}}),{resetComplaintManagementState:Tl}=El.actions,xh=El.reducer,Bh=e=>`/api/v1/complaint-types/${e}/statuses`,Uh="/api/v1/complaints/summary",Ll=(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(Bh(e),{signal:t.signal})).data}catch(n){return Ll(n,t)}}),br=le.createAsyncThunk("status/fetchComplaintSummary",async(e,t)=>{try{return(await he.get(Uh,{params:{complaintTypeId:e},signal:t.signal})).data}catch(n){return Ll(n,t)}}),Il={list:[],isLoading:!1,error:null,hasLoaded:!1,requestedComplaintTypeId:null,complaintSummary:null,isComplaintSummaryLoading:!1,complaintSummaryError:null,hasComplaintSummaryLoaded:!1,requestedComplaintSummaryTypeId:null},$h=e=>{const t=e?.data??e?.results??e?.items??e;return Array.isArray(t)?t:[]},jh=e=>{const t=e?.data??e;return!t||typeof t!="object"||Array.isArray(t)?null:t},Vh=e=>e.payload?.message??e.error?.message??"Failed to fetch statuses",Wh=e=>e.payload?.message??e.error?.message??"Failed to fetch complaint summary",vr=(e,t)=>e!=null&&t!=null&&String(e)!==String(t),Fl=le.createSlice({name:"status",initialState:Il,reducers:{resetStatusState:()=>Il},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(vr(t.requestedComplaintTypeId,r))return;const s=$h(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;vr(t.requestedComplaintTypeId,r)||(t.isLoading=!1,t.hasLoaded=!0,t.error=Vh(n))}).addCase(br.pending,(t,n)=>{t.isComplaintSummaryLoading=!0,t.complaintSummaryError=null,t.hasComplaintSummaryLoaded=!1,t.complaintSummary=null,t.requestedComplaintSummaryTypeId=n.meta.arg??null}).addCase(br.fulfilled,(t,n)=>{const r=n.meta.arg;vr(t.requestedComplaintSummaryTypeId,r)||(t.isComplaintSummaryLoading=!1,t.hasComplaintSummaryLoaded=!0,t.complaintSummary=jh(n.payload))}).addCase(br.rejected,(t,n)=>{if(n.meta.aborted)return;const r=n.meta.arg;vr(t.requestedComplaintSummaryTypeId,r)||(t.isComplaintSummaryLoading=!1,t.hasComplaintSummaryLoaded=!0,t.complaintSummaryError=Wh(n))})}}),{resetStatusState:kl}=Fl.actions,qh=Fl.reducer,Hh="/api/v1/complaints",zh="/api/v1/complaint-types",Ol=(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"})},Sr=le.createAsyncThunk("createComplaint/create",async(e,t)=>{try{return(await he.post(Hh,e,{signal:t.signal})).data}catch(n){return Ol(n,t)}}),Mn=le.createAsyncThunk("createComplaint/updateActive",async({id:e,isActive:t,onSuccess:n,onFail:r},s)=>{try{const o=await he.patch(`${zh}/${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),Ol(o,s)}}),Kh={data:null,isLoading:!1,error:null,hasLoaded:!1,isActive:!0,activeComplaintTypeId:null,isUpdatingActive:!1,activeError:null},Qh=e=>e.payload?.message??e.error?.message??"Failed to create complaint",Xh=e=>e.payload?.message??e.error?.message??"Failed to update complaint type",Yh=le.createSlice({name:"createComplaint",initialState:Kh,reducers:{},extraReducers:e=>{e.addCase(Sr.pending,t=>{t.isLoading=!0,t.error=null,t.hasLoaded=!1}).addCase(Sr.fulfilled,(t,n)=>{t.isLoading=!1,t.hasLoaded=!0,t.data=n.payload?.data??n.payload}).addCase(Sr.rejected,(t,n)=>{n.meta.aborted||(t.isLoading=!1,t.hasLoaded=!0,t.error=Qh(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=Xh(n))})}}).reducer,Dl={data:null,isLoading:!1,error:null,hasLoaded:!1,updatingId:null},Gh=e=>e.payload?.message??e.error?.message??"Failed to update complaint status",Ml=le.createSlice({name:"changeStatus",initialState:Dl,reducers:{resetChangeStatusState:()=>Dl},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=Gh(n))})}}),{resetChangeStatusState:Jh}=Ml.actions,Zh=Ml.reducer,Rh={BASE_URL:"/",DEV:!1,MODE:"production",PROD:!0,SSR:!1},Va=(e,t)=>{try{return Rh?.[e]||t}catch{return t}},em=Va("VITE_S3_API_URL","https://api.airaops.com").replace(/\/$/,""),Pl=Va("VITE_S3_UPLOAD_ENDPOINT","/api/v1/files/upload"),tm=Va("VITE_S3_SIGNED_URL_ENDPOINT","/api/v1/files/signed-url"),xl=e=>/^https?:\/\//i.test(e)?e:`${em}${e}`,nm=e=>(String(e?.name||e?.fileName||"file").split(/[/\\]/).pop()||"file").replace(/[^\w.-]+/g,"_")||"file",Bl=(e,t)=>{const n=e?.response?.data,r=n?.error?.details?.errors?.file;if(r)return r;const s=n?.message;return s||(e?.response?.status===404?`S3 upload endpoint was not found: ${Pl}`:e?.response?.data?.error??e?.message??t)},Pn=le.createAsyncThunk("s3/fileUpload",async({file:e,folder:t},{rejectWithValue:n})=>{try{const r={fileSize:e.size,subDirectory:t,fileName:nm(e)},s=await he.post(xl(Pl),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(Bl(r,"Error uploading file"))}}),xn=le.createAsyncThunk("s3/getSignedUrl",async({params:e},{rejectWithValue:t})=>{try{const r=(await he.get(xl(tm),{params:e})).data??{},s=r.data??r;return s.signedUrl||s.uploadSignedUrl||""}catch(n){return t(Bl(n,"Error getting file signedUrl"))}}),rm={isUploading:!1,uploadedFile:null,uploadedFiles:[],uploadError:null,isGettingSignedUrl:!1,signedUrl:"",signedUrlError:null},am=le.createSlice({name:"s3",initialState:rm,reducers:{},extraReducers:e=>{e.addCase(Pn.pending,t=>{t.isUploading=!0,t.uploadError=null}).addCase(Pn.fulfilled,(t,n)=>{t.isUploading=!1,t.uploadedFile=n.payload,t.uploadedFiles.push(n.payload)}).addCase(Pn.rejected,(t,n)=>{n.meta.aborted||(t.isUploading=!1,t.uploadError=n.payload||"Error uploading file")}).addCase(xn.pending,t=>{t.isGettingSignedUrl=!0,t.signedUrl="",t.signedUrlError=null}).addCase(xn.fulfilled,(t,n)=>{t.isGettingSignedUrl=!1,t.signedUrl=n.payload}).addCase(xn.rejected,(t,n)=>{n.meta.aborted||(t.isGettingSignedUrl=!1,t.signedUrl="",t.signedUrlError=n.payload||"Error getting file signedUrl")})}}).reducer,sm=e=>`/api/v1/complaints/${encodeURIComponent(e)}`,om=(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(sm(e),{signal:t.signal})).data}catch(n){return om(n,t)}}),Ul={data:null,isLoading:!1,error:null,hasLoaded:!1,requestedComplaintId:null},lm=e=>e.payload?.message??e.error?.message??"Failed to fetch complaint details",$l=(e,t)=>e!=null&&t!=null&&String(e)!==String(t),jl=le.createSlice({name:"complaintsGetOne",initialState:Ul,reducers:{resetComplaintDetails:()=>Ul},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)=>{$l(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||$l(t.requestedComplaintId,n.meta.arg)||(t.isLoading=!1,t.hasLoaded=!0,t.error=lm(n))})}}),{resetComplaintDetails:im}=jl.actions,cm=jl.reducer,dm=e=>`/api/v1/users/role/${e}`,Lt=le.createAsyncThunk("roleUsers/fetchByRole",async(e,t)=>{try{const n=await he.get(dm(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"})}}),um={usersByRoleId:{},loadingByRoleId:{},errorByRoleId:{}},fm=le.createSlice({name:"roleUsers",initialState:um,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,pm=e=>`/api/v1/complaints/${encodeURIComponent(e)}/activities`,It=le.createAsyncThunk("activityLog/fetchByComplaint",async(e,t)=>{try{const n=await he.get(pm(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"})}}),Vl={activities:[],complaintId:null,isLoading:!1,error:null,hasLoaded:!1,currentRequestId:null};function hm(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 Wl=le.createSlice({name:"activityLog",initialState:Vl,reducers:{resetActivityLog:()=>Vl},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=hm(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:mm}=Wl.actions,gm=Wl.reducer,Am=(e,t)=>`/api/v1/complaint-analytics/${e}/${t}`,ym=(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"})},bm=({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(Am(r,e),{params:bm(s),signal:n.signal})).data}catch(r){return ym(r,n)}},ql=le.createAsyncThunk("analytics/fetchOverview",(e,t)=>Ze("overview",e,t)),Hl=le.createAsyncThunk("analytics/fetchTrends",(e,t)=>Ze("trends",e,t)),zl=le.createAsyncThunk("analytics/fetchBacklog",(e,t)=>Ze("backlog",e,t)),Kl=le.createAsyncThunk("analytics/fetchSla",(e,t)=>Ze("sla",e,t)),Ql=le.createAsyncThunk("analytics/fetchResolutionTimes",(e,t)=>Ze("resolution-times",e,t)),Xl=le.createAsyncThunk("analytics/fetchTypes",(e,t)=>Ze("types",e,t)),Yl=le.createAsyncThunk("analytics/fetchWorkflowBottlenecks",(e,t)=>Ze("workflow-bottlenecks",e,t)),Gl=le.createAsyncThunk("analytics/fetchWorkload",(e,t)=>Ze("workload",e,t)),Jl=le.createAsyncThunk("analytics/fetchEscalations",(e,t)=>Ze("escalations",e,t)),Zl=le.createAsyncThunk("analytics/fetchReassignments",(e,t)=>Ze("reassignments",e,t)),vm={overview:ql,trends:Hl,backlog:zl,sla:Kl,resolutionTimes:Ql,types:Xl,workflowBottlenecks:Yl,workload:Gl,escalations:Jl,reassignments:Zl},Rl={data:null,isLoading:!1,error:null,hasLoaded:!1,requestedComplaintTypeId:null},Sm=le.createAction("analytics/reset"),wm=e=>e?.data??e??null,Cm=e=>e.payload?.message??e.error?.message??"Failed to fetch analytics",ei=(e,t)=>e!=null&&t!=null&&String(e)!==String(t),Re=(e,t)=>le.createSlice({name:`analytics/${e}`,initialState:Rl,reducers:{},extraReducers:n=>{n.addCase(Sm,()=>Rl).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)=>{ei(r.requestedComplaintTypeId,s.meta.arg?.complaintTypeId)||(r.isLoading=!1,r.hasLoaded=!0,r.data=wm(s.payload))}).addCase(t.rejected,(r,s)=>{s.meta.aborted||ei(r.requestedComplaintTypeId,s.meta.arg?.complaintTypeId)||(r.isLoading=!1,r.hasLoaded=!0,r.error=Cm(s))})}}),Nm=Re("overview",ql).reducer,_m=Re("trends",Hl).reducer,Em=Re("backlog",zl).reducer,Tm=Re("sla",Kl).reducer,Lm=Re("resolutionTimes",Ql).reducer,Im=Re("types",Xl).reducer,Fm=Re("workflowBottlenecks",Yl).reducer,km=Re("workload",Gl).reducer,Om=Re("escalations",Jl).reducer,Dm=Re("reassignments",Zl).reducer,Mm=le.combineReducers({overview:Nm,trends:_m,backlog:Em,sla:Tm,resolutionTimes:Lm,types:Im,workflowBottlenecks:Fm,workload:km,escalations:Om,reassignments:Dm}),Pm=le.combineReducers({complaintAppComplaint:hl,complaintType:Ah,appDetails:bl,workflow:Ih,roles:vl.reducer,complaintManagement:xh,status:qh,createComplaint:Yh,changeStatus:Zh,s3:am,complaintsGetOne:cm,roleUsers:fm,activityLog:gm,analytics:Mm}),ti=e=>le.configureStore({reducer:Pm,preloadedState:e,middleware:t=>t({immutableCheck:!1,serializableCheck:!1})}),ni=ti(),ri="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 ai({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 si={h1:"ca-h1",h2:"ca-h2",body:"ca-body",label:"ca-label",value:"ca-value",small:"ca-small",link:"ca-link"},xm={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||xm[e]||"p",l=si[e]||si.body;return a.jsx(o,{className:`${l} ${n}`.trim(),...s,children:r})}function Wa(e){return a.jsx(gt,{variant:"h1",...e})}function qa(e){return a.jsx(gt,{variant:"h2",...e})}function Ha(e){return a.jsx(gt,{variant:"body",...e})}function oi(e){return a.jsx(gt,{variant:"label",...e})}function li(e){return a.jsx(gt,{variant:"value",...e})}function Bm(e){return a.jsx(gt,{variant:"link",type:"button",...e})}function wr({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(Wa,{children:e}),t?a.jsx(Ha,{children:t}):null]}),s?a.jsx("div",{className:"ca-page-header__actions",children:a.jsx(Ce,{startIcon:a.jsx(ai,{}),onClick:r,children:n})}):null]})}function Cr({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 Nr({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 Um="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAACXBIWXMAACxLAAAsSwGlPZapAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAOdEVYdFNvZnR3YXJlAEZpZ21hnrGWYwAAAWVJREFUeAHtm81NxDAQhT9+7iwVkBI4csyR43bAdgAdUAJLBVsKJUAHgQpCB8FRIhHMKnK82ZWdeZ/0lFjOKM6TNZlENgghhBD7eHCqnar+3Bztgze9ahbK2UhfM+HabDnHOOYNuCRfCqfH/vzV6ZOZaTylxju/Y3sjkpyT4CzjUxLEODIA48gAjCMDME4qBrzQFTZtdVeQCKcqhUvvPtvAuFnGl8IMKLz2FSdEOQDjyACMIwMwjgzAODIA4xzDgGenndOazIn52Nh4MauImB1hJPkxVHrt5GeBcgDGkQEYRwZgHBnAcfkmY2IqrXJwfUXYP/4Vf5fkhRZPW6b/Sp9EbKlZ0JW3IWXwMGY9Maal5H/1OQmtE8Q4MmCkz8/gNyyQMQM+vPYTC+RipO/a6X7QvuuPX2T+fg/Ffz/nqooD9jvc0u0VyOFBx3TQfofWhApoMlbFDGzoFiXnNiPqfuxCCCGExw9cfQ+fJ3a07QAAAABJRU5ErkJggg==";function ii({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(qa,{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:Um,alt:""})}):null,a.jsx("span",{className:"ca-system-card__active-label",children:r?"Active":"Inactive"}),s?a.jsx(Cr,{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(Nr,{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 $m="aira-query-complaintTypeId";function ci({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 A=String(v);try{sessionStorage.setItem($m,A)}catch{}f(_t(A)),f(Tl()),f(kl()),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 v=String(u);f(Ht({data:!0})),f(_t(v)),d(`/settings/${v}?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 di({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(li,{children:s}),a.jsx("span",{className:"ca-data-point__label",children:e})]})}function ui({className:e=""}){return a.jsx("div",{className:`ca-divider ${e}`.trim(),role:"separator","aria-orientation":"vertical"})}const jm="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",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%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",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='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",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='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",Hm="Complaints",zm=[{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 _r(e){const t=Array.isArray(e)?e:[],n=new Set(t.filter(d=>d?.featureModule?.name===Hm&&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 Km=["Text","Dropdown","Radio","Number","Email","Date","Text Area","Checkbox","File","Time"],fi=new Set(["Select","Dropdown","Radio","Checkbox"]),Qm=["Both","User","Admin"],Xm={Open:"#FF0000",Cancelled:"#FF6F00",Closed:"#00D82F"},za=["Open","Cancelled","Closed"],lt={id:"default-status",fieldKey:"status",fieldLabel:"Status",originalFieldName:"Status",fieldType:"Custom",required:!0,fieldAccess:"",hideFor:[],dependsOn:"",options:[...za],optionColors:{...Xm},parentMappings:{},lockMode:"options",isNew:!1},Er={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},Ym=[{...lt,label:lt.fieldLabel},{...Bn,label:Bn.fieldLabel}];function pi(e){return String(e||"").trim().toLowerCase()}function ce(e){const t=pi(e?.fieldKey),n=pi(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 Gm(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 Tr(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 Jm(e){return String(e||"").trim().toLowerCase()==="open"}function Lr(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 Zm(e=[]){const t=new Set(za.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([...za,...n])}function hi(e){return fi.has(e?.fieldType)||et(e)}function Ka(e){return!e||ce(e)||Be(e)||!fi.has(e.fieldType)?!1:!(e.options||[]).some(t=>String(t||"").trim())}function Gt(e=[]){return e.some(Ka)}function mi(e=[]){const t=[],n=new Set;return e.forEach(r=>{if(!Ka(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 Rm(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 Ir(e,t=[]){return e?t.some(n=>String(n.id)===String(e.id)?!1:Rm(e,n)):!1}function Fr(e=[]){return e.some(t=>Ir(t,e))}function Qa(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 eg(e){return Tr(e)?"Priorities":"Option"}function tg(e,t=!1){return e?t?"Define options and set parent.":ce(e)?"Manage the status":"Manage your fields.":""}function kr(e,t=[]){if(String(e?.fieldType||"")==="MultiSelect")return kr({...e,fieldType:"Checkbox"},t);if(ce(e)){if(e?.isNew||!Gm(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:Zm(e.options),optionColors:{...e.optionColors||{},...lt.optionColors},lockMode:"options"}}return Tr(e)?{...Er,...e,fieldKey:e.fieldKey||Er.fieldKey,fieldType:Er.fieldType,options:e.options?.length?e.options:Er.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=>kr(r,e));if(t.some(ce))return t;const n={...lt};return[kr(n,[n,...t]),...t]}const gi="aira-query-complaintTypeId",ng={id:"status",label:"Status",key:"status"},rg={id:"escalationTo",label:"Escalation To",key:"escalationTo"},ag={id:"submittedByUserName",label:"Submitted By",key:"submittedByUserName"},sg={id:"assignedToUserName",label:"Assigned To",key:"assignedToUserName"},og={id:"complaintId",label:"Complaint Id",key:"complaintId"},lg={id:"createdAt",label:"Created At",key:"createdAt"},ig={id:"updatedAt",label:"Updated At",key:"updatedAt"},Ai="desc",yi="asc",cg=50,dg=["25","50","100","200"],ug=999999,Xa=new Set(["status","escalationTo","id","submittedByUserName","assignedToUserName","complaintId","createdAt","updatedAt"]),fg=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function pg(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 bi(e){return Ya(e)}function Ya(e){const t=Li(e);return!e||Number.isNaN(t.getTime())?"":`${Ii(e)}, ${pg(t)}`}function vi(e){return[ag,sg,og,lg,ig,ng,rg,...e]}function Si(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&&!Xa.has(r.key))}function hg(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 wi(e){return e==null||e===""?null:typeof e=="object"?e.data??e.id??e._id??null:e}function mg(){try{return sessionStorage.getItem(gi)}catch{return null}}function Ci(e){const t=wi(e);if(t==null||t==="")return null;const n=String(t);try{sessionStorage.setItem(gi,n)}catch{}return n}function gg(...e){for(const t of e){const n=wi(t);if(n!=null&&n!=="")return String(n)}return null}function Ga(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 Ag(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 Or(e){return e===!0||e==="Yes"||e==="true"||e===1||e==="1"}const yg=new Set(["closed","cancelled","canceled"]);function Ja(e){return yg.has(String(e||"").trim().toLowerCase())}function bg(e){return Ja(e)}function Dr(e){return Ja(e)}function Ni(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 vg(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 _i(e,t=[],n=[]){const r=Ni(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:Ga(e,t),isClosed:Dr(Ga(e,t)),statusId:Ag(e,t),escalationTo:vg(e,n),level:s??null,currentStepId:r?.id??e?.currentStepId??e?.workflowStepId??e?.currentWorkflowStepId??null,canResolve:Or(e?.canResolve??r?.canResolve),isFinalLevel:Or(e?.isFinalLevel??r?.isFinalLevel??r?.finalLevel),roleId:l,assignedToUserId:d,assignedToUserName:Oi(e),submittedByUserName:e?.submittedByUserName||"-",complaintId:e?.complaintId??e?.id??"-",createdAt:bi(e?.createdAt)||"-",updatedAt:bi(e?.updatedAt)||"-",updatedAtValue:e?.updatedAt??""};return(e?.formField||[]).forEach(u=>{const p=u.fieldKey||u.fieldName;p&&!Xa.has(p)&&(f[p]=u.value)}),f}function Ei(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||Xa.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 Sg(e,t,n){return String(e?.fieldType||"").toLowerCase()==="file"?!0:t.some(s=>n(e,s[e.key]??"-"))}function Za(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 wg(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()} ${fg[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 Cg(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 Ra(e,t=[]){return Cg(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 es(e,t=[],n=[],r=null){const s=Ga(e,t),o=e?.level??e?.levelNo??e?.currentLevel,l=Array.isArray(r?.steps)?r.steps:[],i=Ni(e,l)??e?.currentWorkflowStep,c=Array.isArray(e?.workflowLevels)?e.workflowLevels.find(p=>String(p?.levelNo)===String(o)):null,d=xe(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:Dr(s),level:o!=null&&o!==""?o:"-",assignedTo:Oi(e,n)||"Unassigned",date:Ya(e?.createdAt??e?.date),tat:r&&!(r.requireLevelTat&&o!=null&&!u)?Eg(e,f,s):null}}function Ng(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=>es(d,[],t,i));return{total:n,open:r,closed:s,cancelled:o,previewRows:c,tatMinutes:i.tatMinutes}}function Di(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 Mi(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 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&&!n&&o.push(`${s}m`),o.join(" ")||"0m"}function _g(e){if(e%1440===0){const t=e/1440;return`${t} ${t===1?"day":"days"}`}return ts(e*60)}function Eg(e,t,n=""){if(Ja(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 ${_g(Number(t))}`:""}}function xi({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:A,onOpen:y,onDelete:g,onToggleActive:h,isTogglingActive:b=!1,showAddComplaint:_=!0,className:N=""}){const O=Y.useSelector(U=>U.appDetails?.details?.currentUser),L=Y.useSelector(U=>U.appDetails?.details?.featureActions),{canCreateForm:H,canDelete:Z,canOpen:q}=_r(L),j=H,z=Fi(O),M=O?.id??O?.userId??null,Q=q||Pi(n,z,M)||Ra(n,z),F=_&&Ra(n,z)&&n?.isActive!==!1,P=()=>{A?.({id:e,title:t,status:r,departments:l,workflows:i,fields:c,formsFilled:d,updatedOn:f})},X=()=>{if(v){v({id:e,title:t,descriptionHref:o});return}o&&typeof window<"u"&&window.open(o,"_blank","noopener,noreferrer")},te=[{label:"Total entries",value:n?.totalEntries??0,icon:a.jsx("img",{src:jm,alt:""})},{label:"Open entries",value:n?.openEntries??0,icon:a.jsx("img",{src:Vm,alt:""})},{label:"Closed entries",value:n?.closedEntries??0,icon:a.jsx("img",{src:Wm,alt:""})},{label:"Escalated entries",value:n?.escalatedEntries??0,icon:a.jsx("img",{src:qm,alt:""})}],T=e??n?.id??n?._id,x=m.useRef(null),[V,R]=m.useState(!1),[w,W]=m.useState(!1),k=()=>{const U=x.current;!U||V||W(U.scrollWidth>U.clientWidth+1||U.scrollHeight>U.clientHeight+1)};return m.useLayoutEffect(()=>{k()},[s,V]),m.useEffect(()=>(window.addEventListener("resize",k),()=>window.removeEventListener("resize",k)),[V]),a.jsxs("article",{className:`ca-system-card ${N}`.trim(),children:[a.jsx(ii,{title:n?.name,titleAsLink:u,onTitleClick:()=>p?.({id:e,title:t}),isActive:!!n?.isActive,canManage:j,canDelete:Z,canViewAnalytics:q,complaintTypeId:e??n?.id??n?._id,activeDisabled:b,onActiveChange:U=>h?.({id:T,isActive:U,item:n}),onDelete:()=>g?.({id:T,title:t,item:n})}),s?a.jsxs("div",{className:`ca-system-card__description-wrap${V?" is-expanded":""}`,children:[a.jsx("p",{ref:x,className:`ca-system-card__description${V?"":" ca-system-card__description--clamped"}`,onClick:X,children:s}),w||V?a.jsx("button",{type:"button",className:"ca-system-card__more","aria-expanded":V,onClick:()=>R(U=>!U),children:V?"Less":"More"}):null]}):null,a.jsx("div",{className:"ca-system-card__stats",children:te.map((U,E)=>a.jsxs(m.Fragment,{children:[E>0?a.jsx(ui,{}):a.jsx("div",{className:"ca-system-card__stats-spacer"}),a.jsx(di,{label:U.label,value:U.value,icon:U.icon})]},U.label))}),a.jsx(ci,{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:P})]})}function Mr({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:ri,alt:"","aria-hidden":"true"}):null,a.jsx("span",{children:e})]})}function ns({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(xi,{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(Mr,{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 Bi({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 Ui({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(Bi,{}),"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 rs({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 $i=(...e)=>e.filter((t,n,r)=>!!t&&t.trim()!==""&&r.indexOf(t)===n).join(" ").trim();const Tg=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();const Lg=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,n,r)=>r?r.toUpperCase():n.toLowerCase());const ji=e=>{const t=Lg(e);return t.charAt(0).toUpperCase()+t.slice(1)};var as={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 Ig=e=>{for(const t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1},Fg=m.createContext({}),kg=()=>m.useContext(Fg),Og=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=""}=kg()??{},A=r??u?Number(n??f)*24/Number(t??d):n??f;return m.createElement("svg",{ref:c,...as,width:t??d??as.width,height:t??d??as.height,stroke:e??p,strokeWidth:A,className:$i("lucide",v,s),...!o&&!Ig(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(Og,{ref:o,iconNode:t,className:$i(`lucide-${Tg(ji(e))}`,`lucide-${e}`,r),...s}));return n.displayName=ji(e),n};const Dg=ve("arrow-up",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]);const Vi=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 Mg=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 Pg=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 xg=ve("chevrons-left",[["path",{d:"m11 17-5-5 5-5",key:"13zhaf"}],["path",{d:"m18 17-5-5 5-5",key:"h8a8et"}]]);const Bg=ve("chevrons-right",[["path",{d:"m6 17 5-5-5-5",key:"xnjwq"}],["path",{d:"m13 17 5-5-5-5",key:"17xmmf"}]]);const Pr=ve("circle-dot",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}]]);const Ug=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 $g=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 jg=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 Vg=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 Wg=ve("list-filter",[["path",{d:"M2 5h20",key:"1fs1ex"}],["path",{d:"M6 12h12",key:"8npq4p"}],["path",{d:"M9 19h6",key:"456am0"}]]);const Wi=ve("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);const qi=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 qg=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 Hg=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 zg=ve("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);function Hi({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}%`}})}),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:Lr(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 Kg=[];function zi({form:e,onAddComplaint:t,onViewAll:n,onOpenComplaint:r}){const s=Y.useSelector(Z=>Z.appDetails?.details?.userList)??Kg,{total:o,open:l,closed:i,cancelled:c,previewRows:d,tatMinutes:f}=Ng(e,s),u=e.isActive!==!1&&e.active!==!1,v=d.map(Z=>Z.id).join(","),A=`${e.id}:${v}`,[y,g]=m.useState({key:null,byComplaintId:{},error:null}),h=y.key===A?y:null;m.useEffect(()=>{if(e.id==null||!v)return;let Z=!1;return(async()=>{try{const[j,z]=await Promise.all([he.post(gr,Ar({complaintTypeId:e.id,page:1,limit:200,sort:"-createdAt"})),he.get(Ua(e.id))]);if(Z)return;const M=z.data?.data??z.data,Q=Array.isArray(M)?M:Array.isArray(M?.steps)?M.steps:Array.isArray(M?.data)?M.data:[],F=Object.fromEntries(Za(j.data).map(P=>{const X=es(P,[],s,{tatMinutes:f,steps:Q,requireLevelTat:!0});return[String(X.id),X.tat]}));g({key:A,byComplaintId:F,error:null})}catch(j){if(Z)return;g({key:A,byComplaintId:{},error:j?.response?.data?.message??j?.message??"Unable to load TAT progress."})}})(),()=>{Z=!0}},[e.id,v,A,f,s]);const b=m.useRef(null),[_,N]=m.useState(!1),[O,L]=m.useState(!1),H=()=>{const Z=b.current;!Z||_||L(Z.scrollWidth>Z.clientWidth+1||Z.scrollHeight>Z.clientHeight+1)};return m.useLayoutEffect(()=>{H()},[e.description,_]),m.useEffect(()=>(window.addEventListener("resize",H),()=>window.removeEventListener("resize",H)),[_]),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:!u,children:["Add complaint ",a.jsx(ct,{size:14,"aria-hidden":"true"})]})]}),a.jsxs("div",{className:`ca-filler-card__description-wrap${_?" is-expanded":""}`,children:[a.jsx("p",{ref:b,className:`ca-filler-card__desc${_?"":" ca-filler-card__desc--clamped"}`,children:e.description||" "}),O||_?a.jsx("button",{type:"button",className:"ca-filler-card__more","aria-expanded":_,onClick:()=>N(Z=>!Z),children:_?"Less":"More"}):null]}),d.map(Z=>{const q=h?.byComplaintId[String(Z.id)]??null;return a.jsx(Hi,{row:{...Z,tat:q},onClick:j=>r?.(e,j)},Z.id)}),h?.error?a.jsxs("p",{className:"ca-body",role:"status",children:["TAT progress unavailable: ",h.error]}):null,a.jsx("div",{className:"ca-filler-card__foot",children:o?a.jsx("button",{type:"button",className:"ca-filler-card__link",onClick:()=>n?.(e),children:"View all >"}):a.jsx("span",{})})]})}const Qg=["isActive","isArchived"],Ki="Create, manage and track complaint forms, workflows and responses across departments.";function Qi({title:e="Complaint Management",description:t=Ki,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=Y.useDispatch(),[v,A]=m.useState(""),[y,g]=m.useState(""),[h,b]=m.useState(null),[_,N]=m.useState(null),[O,L]=m.useState(""),{complaintList:H=[],loading:Z=!1,error:q=null}=Y.useSelector(ee=>ee.complaintType??{}),j=Y.useSelector(ee=>ee.appDetails?.details?.currentUser),z=Y.useSelector(ee=>ee.appDetails?.details?.featureActions),{canViewCards:M,canCreateForm:Q,canDelete:F,canOpen:P,hasAnyAccess:X}=m.useMemo(()=>_r(z),[z]),te=m.useMemo(()=>Fi(j),[j]),T=m.useMemo(()=>H.filter(ee=>Ra(ee,te)),[H,te]),x=M||Q||F||P,V=j?.id??j?.userId??null,R=m.useMemo(()=>H.filter(ee=>Pi(ee,te,V)),[H,te,V]),w=m.useMemo(()=>new Set(R.map(ee=>ee?.id??ee?._id).filter(ee=>ee!=null).map(String)),[R]),W=m.useMemo(()=>T.filter(ee=>{const ae=ee?.id??ee?._id;return ae==null||!w.has(String(ae))}),[T,w]),k=!x&&R.length>0,U=!x&&!k&&T.length>0;m.useEffect(()=>{p(Ht({data:!1}))},[p]),m.useEffect(()=>{const ee=setTimeout(()=>L(v.trim()),400);return()=>clearTimeout(ee)},[v]),m.useEffect(()=>{const ee={...O?{search:O}:{},...y?{[y]:!0}:{}};p(kn(Object.keys(ee).length?ee:void 0))},[p,O,y]);const E=H;m.useEffect(()=>{c&&c(v)},[v,c]);const $=ee=>{A(ee.target.value)},C=ee=>{s?.(ee),f(`/settings/${ee.id??"new"}?step=1`)},G=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:A,filter:y,filterOptions:Qg,onFilterChange:g,canCreateComplaint:Q,onNewComplaint:G})},[d,v,y,Q,G]),m.useEffect(()=>()=>d?.(null),[d]);const ne=({id:ee,title:ae,item:pe})=>{F&&ee!=null&&N({id:ee,name:pe?.name??ae??""})},oe=()=>{const{id:ee}=_??{};N(null),ee!=null&&p(fr(ee))},me=({id:ee,isActive:ae})=>{Q&&ee!=null&&(b(ee),p(Mn({id:ee,isActive:ae})).unwrap().then(()=>p(gh({id:ee,isActive:ae}))).finally(()=>b(null)))};return!x&&Z&&!q?a.jsx(it,{text:"Loading"}):U?a.jsxs("div",{className:"ca-complaint-management-page","data-testid":"complaint-management-page",children:[a.jsx(wr,{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(ee=>a.jsx(zi,{form:ee,onAddComplaint:ae=>f(`/complaintmanagement/new/${ae.id}`),onOpenSubmissionLink:ae=>{const pe=String(ae.visibilityType||ae.accessType||"").toUpperCase()==="PUBLIC_LINK",se=window.location.pathname.replace(/\/$/,""),Ae=new URL(`${se}/complaintmanagement/new/${ae.id}`,window.location.origin);pe&&Ae.searchParams.set("access","public"),window.open(Ae.toString(),"_blank","noopener,noreferrer")},onViewAll:ae=>f(`/complaintmanagement/${ae.id}/all`),onOpenComplaint:(ae,pe)=>f(`/complaintmanagement/${ae.id}/details/${pe.id}`,{state:{from:u.pathname}})},ee.id))})]}):k?a.jsxs("div",{className:"ca-complaint-management-page","data-testid":"complaint-management-page",children:[a.jsx(wr,{title:e,description:t,showAction:!1}),a.jsx(ns,{systems:R,onOpen:o,onTitleClick:l,onDescriptionClick:i,emptyMessage:"No systems found.",showAddComplaint:!1}),W.length?a.jsx("div",{className:"ca-filler-card-list",children:W.map(ee=>a.jsx(zi,{form:ee,onAddComplaint:ae=>f(`/complaintmanagement/new/${ae.id??ae._id}`),onOpenSubmissionLink:ae=>{const pe=String(ae.visibilityType||ae.accessType||"").toUpperCase()==="PUBLIC_LINK",se=window.location.pathname.replace(/\/$/,""),Ae=new URL(`${se}/complaintmanagement/new/${ae.id??ae._id}`,window.location.origin);pe&&Ae.searchParams.set("access","public"),window.open(Ae.toString(),"_blank","noopener,noreferrer")},onViewAll:ae=>f(`/complaintmanagement/${ae.id??ae._id}/all`),onOpenComplaint:(ae,pe)=>f(`/complaintmanagement/${ae.id??ae._id}/details/${pe.id}`,{state:{from:u.pathname}})},ee.id??ee._id))}):null]}):X?a.jsxs("div",{className:"ca-complaint-management-page","data-testid":"complaint-management-page",children:[a.jsx(wr,{title:e,description:t,actionLabel:n,onAction:G,showAction:Q&&!d}),x?a.jsxs(a.Fragment,{children:[d?null:a.jsx("div",{className:"ca-search-container",children:a.jsx(Ui,{value:v,onChange:$,placeholder:"Search"})}),Z?a.jsx(it,{text:"Loading systems"}):q?a.jsx("div",{className:"ca-empty",children:a.jsx("p",{className:"ca-body",children:typeof q=="string"?q:"Failed to load complaint types."})}):a.jsx(ns,{systems:E,onConfigure:C,onOpen:o,onDelete:ne,onToggleActive:me,togglingActiveId:h,onTitleClick:l,onDescriptionClick:i,emptyMessage:"Nothing here yet"})]}):null,a.jsx(rs,{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:ri,alt:"","aria-hidden":"true"}),a.jsx("p",{className:"ca-no-access__text",role:"status",children:"Nothing here yet"})]})}const Xi=m.createContext(null),Yi=()=>({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 Gi({children:e,initialValues:t}){const[n,r]=m.useState(()=>({...Yi(),...t,workflow:{...Yi().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(Xi.Provider,{value:l,children:e})}function xr(){const e=m.useContext(Xi);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."}],Xg=[{id:1,label:"Create Workflow"},{id:2,label:"Status"},{id:3,label:"Workflow Steps"}];function Yg({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 Ji({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(qa,{children:e}),t?a.jsx(Ha,{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(Ji,{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 ss({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 os({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 ls(e){return typeof e=="string"?e:e.value}function is(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??"",v=n.find(g=>String(ls(g))===String(p)),A=v?is(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 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(os,{size:16})}),d?a.jsx("ul",{className:"ca-select__menu",role:"listbox",style:{"--ca-select-max-visible":l},children:n.map(g=>{const h=ls(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:is(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=ls(g);return a.jsx("option",{value:h,disabled:!!(g&&typeof g=="object"&&g.disabled),children:is(g)},h)})]}),a.jsx("span",{className:"ca-select__chevron",children:a.jsx(os,{size:16})})]})}function cs({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(ss,{htmlFor:s,hint:t,children:e}):null,n]})}function ds({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 us({label:e,hint:t,...n}){return a.jsx(Qe,{label:e,hint:t,htmlFor:n.id,children:a.jsx(dt,{...n})})}function Gg({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(cs,{value:r,maxLength:n,...s})})}function Zi({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 Ri({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(Zi,{size:10})}):null]})}function Br({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: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),H=m.useRef(null),Z=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!==""),q=new Map(Z.map(T=>[String(T.value),T.label])),j=T=>N.some(x=>String(x)===String(T)),z=Z.filter(T=>`${T.label} ${T.sublabel} ${T.searchText}`.toLowerCase().includes(b.trim().toLowerCase())),M=z.map(T=>T.value),Q=M.length>0&&M.every(T=>j(T)),F=()=>{if(Q)r?.(N.filter(T=>O.has(String(T))||!M.some(x=>String(x)===String(T))));else{const T=N.filter(x=>!M.some(V=>String(V)===String(x)));r?.([...T,...M])}};m.useEffect(()=>{g&&H.current&&(H.current.scrollTop=0)},[g]),m.useEffect(()=>{if(!g)return;const T=V=>{L.current&&!L.current.contains(V.target)&&(h(!1),_(""))},x=V=>{V.key==="Escape"&&(h(!1),_(""))};return document.addEventListener("mousedown",T),document.addEventListener("touchstart",T),document.addEventListener("keydown",x),()=>{document.removeEventListener("mousedown",T),document.removeEventListener("touchstart",T),document.removeEventListener("keydown",x)}},[g]);const P=T=>{O.has(String(T))||(j(T)?r?.(N.filter(x=>String(x)!==String(T))):r?.([...N,T]),_(""))},X=T=>{O.has(String(T))||r?.(N.filter(x=>String(x)!==String(T)))},te=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(ss,{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:v,"aria-label":v,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:te}),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:H,className:"ca-multi-select__menu",role:"listbox","aria-multiselectable":"true",style:{position:"absolute",top:d==="down"?"calc(100% + 4px)":"auto",bottom:d==="down"?"auto":"calc(100% + 4px)",left:0,right:0,zIndex:20,maxHeight:u?u*38+8:d==="down"?220:260,overflowY:"auto"},children:[f&&z.length>1?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,z.length?z.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:()=>P(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(Ri,{label:q.get(String(T))||String(T),title:Z.find(x=>String(x.value)===String(T))?.title,onRemove:O.has(String(T))?void 0:()=>X(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=Y.useDispatch();return m.useEffect(()=>{const v=u.current[t];if(!v)return;const A=requestAnimationFrame(()=>{let y=v.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=v.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((v,A)=>{const y=v.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:v.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 Jg={categoryName:"",tatMinutes:"",template:"",categoryType:"",description:"",visibilityType:"INTERNAL_LOGIN",urlLink:"",active:!0,roles:[],userIds:[]},Zg=[{value:"INTERNAL_LOGIN",label:"Internal Login"},{value:"PRIVATE_LINK",label:"Private Link"},{value:"PUBLIC_LINK",label:"Public Link"}],Rg={value:"",label:"Select Template"},fs=e=>String(e?.id??e?.code??e?.name??"");function eA(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 ps(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=eA(n);if(r.length)return r}return[]}function We(e){return e==null||e===""?null:String(e).trim()||null}function hs(e){return We(e?.userId??e?.user_id??e?.id??e?.value)}function Ur(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 tA(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),v=en(u.name??u.roleName??u.label);p&&r.add(p),v&&s.add(v)}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 Ur(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(hs(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 nA(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 hs(o)}function ms(...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 ec=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:fs(e),categoryType:e?.categoryType??fs(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:ps(e)}};function rA(e){return[Rg,...e]}function aA(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 sA(e){return String(e??"").replace(/(^|\s)(\S)/g,(t,n,r)=>n+r.toUpperCase())}function oA({stepMeta:e,stepperProps:t,roleList:n=[],userList:r=[]}){const{state:s,update:o}=xr(),[l,i]=m.useState(()=>s.categoryFormData??Jg),c=m.useRef(s.categoryFormData),[d,f]=m.useState({}),u=Y.useDispatch(),{id:p}=Y.useSelector(w=>w.appDetails||{}),{isEdit:v}=Y.useSelector(w=>w.appDetails||{}),A=Y.useSelector(w=>w.complaintType||{}),y=Y.useSelector(w=>w.workflow?.workflowSteps),g=Y.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 H=(w,W={})=>{i(w),c.current=w,o({categoryFormData:w,...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(()=>{!v||p===null||p===void 0||c.current||u(ot(p)).unwrap().then(w=>{const W=w?.data??w;if(!W||c.current)return;const k=O.current,U=ps(W),E=ps(k),$={...W,roleIds:W.roleIds??k?.roleIds,userIds:U.length?U:E},C=ec($);i(C),c.current=C,o({categoryFormData:C,categoryRoleIds:C.roles})}).catch(w=>{console.log(" Fetch error:",w)})},[u,p,v,o]);const Z=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!==""),q=s.workflow?.stepsLoaded?Ur(s.workflow.steps):[...Ur(s.prefillWorkflowSteps),...Ur(y)],j=tA(q,r,n),z=Z.filter(w=>{const W=We(w.value),k=en(w.label);return(Array.isArray(l.roles)?l.roles:[]).some(E=>We(E)===W)||!j.roleIds.has(W)&&!j.roleNames.has(k)}),M=r.map(w=>{const W=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:W,sublabel:k,title:k?`Email: ${k}`:""}}).filter(w=>w.value!==null&&w.value!==void 0&&w.value!==""),Q=v?nA(N,r):hs(g),F=[];ms(l.userIds,F);const P=v?N?.createdByUser??N?.createdBy:g;if(Q&&!M.some(w=>We(w.value)===Q)){const w=typeof P=="object"?String(P.name??P.userName??[P.firstName,P.lastName].filter(Boolean).join(" ")??"Created by user").trim():"Created by user";M.push({value:Q,label:w||"Created by user",sublabel:typeof P=="object"?String(P.email??"").trim():""})}const X=h.map(w=>({value:fs(w),label:w?.name??w?.code??"",complaintType:w})).filter(w=>w.value&&w.label),te=async w=>{const W=w?.id??w?._id??null,k={...l,...ec(w),categoryName:"",roles:[],userIds:F};if(H(k,{categoryRoleIds:[]}),o({templateId:W,tatMinutes:xe(w?.tatMinutes)}),W==null||W===""){o({prefillWorkflowSteps:[],prefillFormFields:[]});return}try{const[U,E]=await Promise.all([u(Je(W)).unwrap(),u(Ve(W)).unwrap()]),$=(Array.isArray(U?.data)?U.data:Array.isArray(U)?U:[]).map(G=>({...G,roleIds:[],role:[],roleId:null})),C=Array.isArray(E?.data)?E.data:Array.isArray(E)?E:[];o({templateId:W,tatMinutes:xe(w?.tatMinutes),prefillWorkflowSteps:$,prefillFormFields:C})}catch(U){console.log("Failed to load template details:",U),o({templateId:W,prefillWorkflowSteps:[],prefillFormFields:[]})}},T=()=>{const w={...l,template:"",categoryType:"",tatMinutes:"",description:""};H(w),o({templateId:null,prefillWorkflowSteps:[],prefillFormFields:[]})},x=w=>{const W=w.target.value;if(!W){T();return}const k=X.find(U=>U.value===W)?.complaintType;if(k){te(k);return}V("template",W),V("categoryType",W)},V=(w,W)=>{const k=Array.isArray(W)?w==="userIds"?ms(W,F):[...new Set(W.filter(E=>E!=null&&E!==""))]:W,U={...l,[w]:k};H(U,w==="roles"?{categoryRoleIds:k}:{}),f(E=>{if(!E[w])return E;const $={...E};return delete $[w],$})},R=async()=>{const w={};if(l.categoryName.trim()||(w.categoryName=!0),Ch(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 W=xe(l.tatMinutes),k={...l,userIds:ms(l.userIds,F)};H(k,{tatMinutes:W,categoryRoleIds:k.roles});const U={categoryName:l.categoryName,categoryType:l.categoryType||l.template,tatMinutes:W,description:l.description,visibilityType:l.visibilityType,urlLink:"",active:l.active,roles:k.roles},E=v?Dn({id:p,data:{code:U.categoryName,name:U.categoryName,description:U.description,tatMinutes:U.tatMinutes,accessType:U.visibilityType,roleIds:U.roles.map(C=>parseInt(C,10))},onFail:C=>{console.log("updateComplaintType onFail:",C)}}):On({payload:U,onSuccess:C=>{u(_t(C?.data?.id??C?.id??null))},onFail:C=>{console.log("createComplaintType onFail:",C)}}),$=await u(E);if(v&&Dn.fulfilled.match($)||!v&&On.fulfilled.match($)){if(!v){const C=$.payload?.data?.id??$.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:_||aA(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(us,{label:"Select Template (Optional)",value:l.template||l.categoryType,onChange:x,options:rA(X),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(ds,{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=>V("categoryName",sA(w.target.value)),placeholder:"Enter category name"}),a.jsx(ds,{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=>V("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(cs,{id:"category-description",className:"ca-textarea--auto",autoGrow:!0,rows:1,value:l.description,onChange:w=>V("description",w.target.value),placeholder:"Enter description"})})}),a.jsx("div",{className:"ca-step-row",children:a.jsx(us,{label:"Select Visibility Type",className:`ca-step-row__grow ${d.visibilityType?"ca-control--invalid":""}`,value:l.visibilityType,onChange:w=>V("visibilityType",w.target.value),options:Zg,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(Br,{label:"Select Roles for Complaint Filling",required:!0,hasError:!!d.roles,rotateChevron:!0,options:z,value:l.roles,maxVisible:4,onChange:w=>V("roles",w)})})]})]})}function tc({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 gs=["Yes","No"],tn=()=>a.jsx("span",{style:{color:"#dc2626"},"aria-hidden":"true",children:" *"});function nc({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: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 P=[F?.firstName,F?.lastName].map(T=>String(T??"").trim()).filter(Boolean).join(" "),X=String(F?.name??F?.userName??F?.label??"").trim()||P,te=[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,x,V)=>V.indexOf(T)===x).join(", ");return{userName:X,roleName:te,email:String(F?.email??F?.userEmail??"").trim()}},O=v.map(F=>{const{userName:P,roleName:X,email:te}=N(F);return{value:F.id??F.userId??F.user_id??F.value,label:P,sublabel:te,title:te?`Email: ${te}`:"",searchText:X}}).filter(F=>F.value!==null&&F.value!==void 0&&F.value!==""),L=(F,P)=>{const X={...y,[F]:P};s?s(X):o?.(X)},H=g.length===0&&h.length===0,Z=(u||!!A.role)&&H,q=F=>F?"ca-control--invalid":"",j=t===1?"green":t===2?"orange":"blue",z=F=>`workflow-level-${t}-${F}`,M=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:M})]}),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(Nr,{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:P=>{P.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:z("roleIds"),children:a.jsx(Br,{id:z("role"),value:g,options:_,placeholder:"Select role",emptyText:"No roles available",openDirection:"down",showAll:!1,maxVisible:3,searchable:!0,searchPlaceholder:"Search Role",hasError:Z,onChange:F=>L("role",F)},"role")}):a.jsx(Qe,{label:a.jsxs(a.Fragment,{children:["Select Users",a.jsx(tn,{})]}),htmlFor:z("userIds"),children:a.jsx(Br,{id:z("user"),value:h,options:O,placeholder:"Select user",emptyText:"No users available",openDirection:"down",showAll:!1,maxVisible:3,searchable:!0,searchPlaceholder:"Search User",hasError:Z,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:z("canResolve"),children:a.jsx(dt,{id:z("canResolve"),className:q(A.canResolve),value:y.canResolve,options:gs,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:z("canReassign"),children:a.jsx(dt,{id:z("canReassign"),className:q(A.canReassign),value:t===1?"No":y.canReassign,options:t===1?["No"]:gs,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:z("finalLevel"),children:a.jsx(dt,{id:z("finalLevel"),className:q(A.finalLevel),value:y.finalLevel,options:gs,onChange:F=>L("finalLevel",F.target.value)})}),a.jsx(Qe,{label:a.jsxs(a.Fragment,{children:["Escalation time",a.jsx(tn,{})]}),htmlFor:z("escalationTime"),children:a.jsx("div",{className:"ca-table-card__time-input",children:a.jsx(Zt,{id:z("escalationTime"),type:"text",className:q(p||A.escalation),value:y.escalateAfterMinutes??"",placeholder:"--",onChange:F=>L("escalateAfterMinutes",F.target.value)})})})]})]})}function rc({variant:e,levelNo:t,open:n,onConfirm:r,onClose:s}){return n?e==="finalLevelDelete"?a.jsx(rs,{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(rs,{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 As(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 lA="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",iA="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",cA="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",dA="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",ys=(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 bs(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 uA(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 ys(e.levelNo??t+1,e.name??`Level ${e.levelNo??t+1}`,{role:s,users:o,workflowType:l,canResolve:bs(e.canResolve),canReassign:t===0?"No":bs(e.canReassign),finalLevel:bs(e.isFinalLevel??e.finalLevel),escalateAfterMinutes:zt(e.escalateAfterMinutes)||""})}function ac(e=[]){return(Array.isArray(e)?e:[]).map(uA)}function sc(e=[]){return e.flatMap(t=>Array.isArray(t?.roles)?t.roles:Array.isArray(t?.role)?t.role.filter(n=>n&&typeof n=="object"):[])}const vs=[ys(1,"Level 1")];function oc({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:lA,alt:"",className:"ca-escalation-connector__arrow ca-escalation-connector__arrow--first"}),a.jsx("span",{children:"Escalates to"}),a.jsx("img",{src:iA,alt:"",className:"ca-escalation-connector__arrow ca-escalation-connector__arrow--second"})]})}function lc({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: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({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 v=e!=null,[,A]=m.useState(vs),[y,g]=m.useState(vs),[h,b]=m.useState([]),[_,N]=m.useState(v),[O,L]=m.useState(null),[H,Z]=m.useState(i),q=m.useRef(null),j=m.useRef(i),z=m.useRef(new Set),[M,Q]=m.useState([]),[F,P]=m.useState(null),X=Y.useDispatch(),te=m.useMemo(()=>{const E=ac(l);return E.length?E:vs},[l]),T=(()=>{const E=new Set;return[...o,...h,...sc(l)].filter($=>{const C=String($?.id??$?.roleId??$?.value);return E.has(C)?!1:(E.add(C),!0)})})();if(!v&&O!==te){const E=Kt(te,i);L(te),g(E),A(E)}if(!_&&H!==i){Z(i);const E=Kt(y,i);E!==y&&g(E)}m.useEffect(()=>{j.current=i},[i]),m.useEffect(()=>{if(!v){const C=Kt(te,j.current);r({id:e,tables:C});return}let E=!1;return(async()=>{N(!0);try{const C=await X(Je(e)).unwrap(),G=Array.isArray(C?.data)?C.data:Array.isArray(C)?C:[];b(sc(G));const ne=ac(G),oe=Kt(ne.length?ne:te,j.current);E||(A(oe),g(oe),r({id:e,tables:oe}))}catch(C){if(!E){const G=Kt(te,j.current);A(G),g(G),r({id:e,tables:G}),console.error("Failed to load workflow steps:",C)}}finally{E||N(!1)}})(),()=>{E=!0}},[X,te,v,e,r]),m.useEffect(()=>{_||r?.({id:e,tables:y})},[e,_,r,y]);const x=m.useCallback((E,{preserveLastLevel:$}={})=>{const C=E.map((oe,me)=>me===0?{...oe,canReassign:"No"}:oe),G=$?C:Kt(C,i),ne={id:e,tables:G};return g(G),console.log("[TableCardGrid] updated form values:",G),console.log("[TableCardGrid] PUT payload:",ne),r?.(ne),ne},[e,r,i]);m.useEffect(()=>{if(s)return s({setLastLevelFinal:()=>{if(!y.length)return null;const E=y.length-1,$=y.map((C,G)=>G===E?{...C,finalLevel:"Yes"}:C);return x($,{preserveLastLevel:!0})}}),()=>s(null)},[e,s,r,y,i,x]);const V=E=>{const $=y[y.length-1];return $!=null&&$.id===E},R=(E,$)=>{Object.prototype.hasOwnProperty.call($,"escalateAfterMinutes")&&z.current.add(E),x(y.map(C=>C.id===E?{...C,...$}:C),{preserveLastLevel:V(E)})},w=(E,$)=>{const C=y.findIndex(oe=>oe.id===E);if(C<0)return;const G=y[C],ne=typeof $=="function"?$(G):$;if(ne.escalateAfterMinutes!==G.escalateAfterMinutes&&z.current.add(E),C<y.length-1&&G.finalLevel!=="Yes"&&ne.finalLevel==="Yes"){P({tableId:E,value:ne});return}x(y.map((oe,me)=>me===C?ne:oe),{preserveLastLevel:V(E)})},W=()=>{if(!F)return;const E=y.findIndex(C=>C.id===F.tableId);if(E<0){P(null);return}const $=y.slice(0,E+1).map((C,G)=>G===E?F.value:C);Q(C=>C.filter(G=>$.some(ne=>ne.id===G))),x($),P(null)},k=E=>{if(y.some(ee=>ee.finalLevel==="Yes"))return;const $=y[y.length-1];if($){const ee=As($,y.length-1);if(Object.values(ee).some(Boolean)){Q(ae=>ae.includes($.id)?ae:[...ae,$.id]),p?.(`Please fill all required fields of Level ${y.length} before adding a new level.`);return}}p?.("");const C=y.reduce((ee,ae)=>Math.max(ee,Number(ae.id)||0),0)+1,G=y.length+1,ne=y[y.length-1],me=ne!=null&&z.current.has(ne.id)&&xe(ne.escalateAfterMinutes)>0?y:Eh(y);z.current.delete(C),x([...me,ys(C,E||`Level ${G}`)]),requestAnimationFrame(()=>{requestAnimationFrame(()=>{const ee=q.current;ee&&ee.scrollTo({left:ee.scrollWidth,behavior:"smooth"})})})},U=E=>{z.current.delete(E),x(y.filter($=>$.id!==E))};return _&&!y.length?null:a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"ca-table-card-grid","aria-label":"Escalation levels",ref:q,children:a.jsxs("div",{className:"ca-table-card-grid__track",children:[y.map((E,$)=>a.jsxs(m.Fragment,{children:[a.jsx(nc,{name:E.name,roleList:T,showRoleError:c||f,showEscalationError:d,userList:u,level:$+1,value:E,initialFormValues:E,setFormValues:C=>w(E.id,C),selected:E.id===t,onSelect:()=>n?.(E),onDelete:()=>U(E.id),onChange:C=>R(E.id,C),fieldErrors:f||M.includes(E.id)?As(E,$):{}}),$<y.length-1?a.jsxs(a.Fragment,{children:[a.jsx(oc,{accent:$===0?"green":$===1?"orange":"purple"}),a.jsx(lc,{accent:$===0?"green":$===1?"orange":"purple"})]}):null]},E.id)),y.length?a.jsxs(a.Fragment,{children:[a.jsx(oc,{accent:y.length===1?"green":y.length===2?"orange":"purple"}),a.jsx(lc,{accent:y.length===1?"green":y.length===2?"orange":"purple"})]}):null,a.jsx(tc,{level:y.length+1,onAdd:k,disabled:y.some(E=>E.finalLevel==="Yes")})]})}),a.jsx(rc,{variant:"finalLevelDelete",levelNo:F?y.findIndex(E=>E.id===F.tableId)+1:null,open:!!F,onConfirm:W,onClose:()=>P(null)})]})}function fA({totalMinutes:e=0,usedMinutes:t=0}){const n=xe(e),r=xe(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 cc(e){return e?.data??e?.id??e}function dc(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 uc(e){return String(e??"").toLowerCase().replace(/[^a-z0-9]/g,"")}function pA(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=>[dc(n),dc(n?.role)]).filter(Boolean)}function hA(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(uc).filter(Boolean)}function mA({onNext:e,stepMeta:t,stepperProps:n,selectedTableCard:r,roleList:s=[],userList:o=[]}){const{state:l,updateWorkflow:i}=xr(),{workflow:c}=l,d=l.categoryRoleIds,f=m.useMemo(()=>{const x=new Set((Array.isArray(d)?d:[]).filter(V=>V!=null&&V!=="").map(String));return x.size?s.filter(V=>!x.has(String(V.id??V.roleId??V.value))):s},[d,s]),u=m.useMemo(()=>{const x=new Set((Array.isArray(d)?d:[]).filter(R=>R!=null&&R!=="").map(String));if(!x.size)return o;const V=new Set(s.filter(R=>x.has(String(R.id??R.roleId??R.value))).map(R=>uc(R.name??R.roleName??R.label)).filter(Boolean));return o.filter(R=>!pA(R).some(w=>x.has(w))&&!hA(R).some(w=>V.has(w)))},[d,s,o]),[p,v]=m.useState(null),[A,y]=m.useState(""),[g,h]=m.useState(!1),[b,_]=m.useState(null),N=m.useRef(null),O=m.useCallback(x=>{v(x),i({steps:Array.isArray(x?.tables)?x.tables:[],stepsLoaded:!0}),y("")},[i]),L=m.useCallback(x=>{N.current=x},[]),H=Y.useDispatch();let{id:Z}=Y.useSelector(x=>x.appDetails||{});const q=Y.useSelector(x=>x.complaintType?.selected),j=cc(Z),z=cc(q?.id??q?._id),M=xe(q?.tatMinutes??l.tatMinutes);m.useEffect(()=>{j==null||j===""||z!=null&&String(z)===String(j)&&q?.tatMinutes!=null||H(ot(j))},[H,q?.tatMinutes,z,j]);const Q=m.useMemo(()=>{const x=Array.isArray(p?.tables)?p.tables:[];return _h(x)},[p]),F=r??c.selectedTableCard??null,P=Array.isArray(p?.tables)&&p.tables.length?p.tables.map((x,V)=>`L${V+1}`).join(" > "):"",X=x=>{H(mr({id:x.id,tables:x,onSuccess:V=>{console.log("updateWorkflowSteps onSuccess:",V),y(""),n.onNext?.()},onFail:V=>{const R=V?.response?.data??V?.payload??V,w=[...new Set(Array.isArray(R?.errors)?R.errors.map(U=>U?.message).filter(Boolean):[])],W=(w.length?w.join(" "):null)??R?.message??R?.error??V?.message??"Failed to update workflow steps",k=String(W).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(Nh(k))}}))},te=async()=>{if(y(""),!p){y("Workflow steps are not ready to save.");return}const x=Array.isArray(p.tables)?p.tables:[];if(!x.length){y("Add at least one workflow level before continuing.");return}h(!0);const V=x.map((W,k)=>As(W,k)),R=x.length-1;if(V.some((W,k)=>Object.entries(W).some(([U,E])=>E&&!(k===R&&U==="finalLevel")))){y("Please complete all required fields in every workflow level.");return}if(x[R].finalLevel!=="Yes"){_(R+1);return}X(p)},T=()=>{const x=N.current?.setLastLevelFinal?.();if(_(null),!x){y("Unable to update the final workflow level. Please try again.");return}h(!0),X(x)};return a.jsxs(a.Fragment,{children:[a.jsx($n,{...n,steps:tt,onNext:te,showNextButton:!0}),A?a.jsx("div",{className:"ca-validation-toast",role:"alert",children:A}):null,a.jsx(rc,{variant:"finalLevelRequired",levelNo:b,open:b!=null,onConfirm:T,onClose:()=>_(null)}),a.jsx(Un,{title:t.title,description:P,showNext:!1,headerExtra:a.jsx(fA,{totalMinutes:M,usedMinutes:Q}),children:a.jsx("div",{className:"ca-workflow__main",children:a.jsx(ic,{id:Z,selectedTableId:F?.id,onSelect:x=>i({selectedTableCard:x}),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:M})})})]})}function fc({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 pc=m.createContext(null);function Ss(e){return typeof e?.level4=="string"&&e.level4.trim()?e.level4.trim():"Office"}function hc(e,t){const n=Ss(t);return String(e??"").replace(/\bstores?\b/gi,()=>n)}function ut(){const e=m.useContext(pc);return{storeName:Ss(e),label:t=>hc(t,e),fieldLabel:t=>{const n=String(t.fieldKey??t.key??"").toLowerCase();return n==="storeid"||n==="storeidcustom"?Ss(e):hc(t.fieldLabel??t.label??t.fieldName??"",e)}}}function mc({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 ws(e,t){return!t||e.includes(t)?e:[t,...e]}function gc(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 gA(e){return String(e??"").replace(/(^|\s)(\S)/g,(t,n,r)=>n+r.toUpperCase())}const AA="#9CA3AF";function Ac({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:A,cardRef:y,onOptionNotice:g,hasDuplicateIdentity:h=!1,hasMissingOptions:b=!1}){const[_,N]=m.useState(""),[O,L]=m.useState(null),H=m.useRef(!1),{label:Z,fieldLabel:q}=ut(),j=gc(e),[z,M]=m.useState(()=>({id:e.id,signature:e.isNew?null:j}));z.id!==e.id&&M({id:e.id,signature:e.isNew?null:j});const Q=e.lockMode==="all",F=et(e),P=Q||e.lockMode==="options",X=hi(e),te=Q||!X||F&&!ce(e),T=!!(String(e.fieldLabel||"").trim()&&String(e.fieldType||"").trim()),x=z.signature!==j,V=!!o||!T,R=h||b?"ca-control--invalid":"",w=C=>p?.({...e,...C}),W=()=>{if(te)return;const C=_.trim();if(!C)return;if(ce(e)&&At(C)){const ne=(e.options||[]).find(oe=>String(oe).trim().toLowerCase()===C.toLowerCase());if(ne){g?.(`${ne} already exists in options`),N("");return}}if(e.options?.includes(C))return;const G=ce(e)?{...e.optionColors||{},[C]:e.optionColors?.[C]||AA}:e.optionColors;w({options:ce(e)?Yt([...e.options||[],C]):[...e.options||[],C],...ce(e)?{optionColors:G}:{}}),N("")},k=C=>{if(te||ce(e)&&At(C))return;const G={...e.optionColors||{}};delete G[C];const ne={...e.parentMappings||{}};delete ne[C],w({options:e.options.filter(oe=>oe!==C),parentMappings:ne,...ce(e)?{optionColors:G}:{}})},U=C=>{te||ce(e)&&At(C)||(H.current=!1,L({original:C,draft:C}))},E=()=>{H.current=!0,L(null)},$=()=>{if(H.current){H.current=!1;return}if(!O)return;const{original:C,draft:G}=O,ne=G.trim();if(L(null),!ne||ne===C)return;if((e.options||[]).some(pe=>pe!==C&&(pe===ne||ce(e)&&String(pe).trim().toLowerCase()===ne.toLowerCase()))){g?.(`${ne} already exists in options`);return}const me=(e.options||[]).map(pe=>pe===C?ne:pe),ee={...e.parentMappings||{}};Object.prototype.hasOwnProperty.call(ee,C)&&(ee[ne]=ee[C],delete ee[C]);const ae={...e.optionColors||{}};Object.prototype.hasOwnProperty.call(ae,C)&&(ae[ne]=ae[C],delete ae[C]),w({options:ce(e)?Yt(me):me,parentMappings:ee,optionColors:ae})};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 G=C.dataTransfer.getData("text/plain");u?.(G,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(mc,{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:V||Q||!x,onClick:async C=>{if(C.stopPropagation(),V||Q||!x)return;const G=await A?.(e);G&&M({id:e.id,signature:gc(G)})},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(),v?.(e.id)},children:a.jsx(Nr,{size:15,color:"currentColor"})})]})]}),a.jsx("div",{className:"ca-form-card__row",children:P?a.jsx("span",{className:"ca-form-card__static",children:q(e)||"—"}):a.jsx(Zt,{value:Q?q(e):e.fieldLabel,placeholder:"Enter field label",disabled:P,className:R,onChange:C=>w({fieldLabel:gA(C.target.value)})})}),a.jsx("div",{className:"ca-form-card__row",children:P?a.jsx("span",{className:"ca-form-card__static",children:e.fieldType||"—"}):a.jsx(dt,{value:e.fieldType,options:ws(n,e.fieldType),placeholder:"Select type",maxVisible:5,disabled:P,className:R,onChange:C=>{const G=C.target.value;if(hi({...e,fieldType:G})){w({fieldType:G,dependsOn:"",parentMappings:{}});return}w({fieldType:G,dependsOn:"",options:[],parentMappings:{},optionColors:{}})}})}),a.jsx("div",{className:"ca-form-card__row ca-form-card__row--toggle",children:a.jsx(Cr,{checked:!!e.required,disabled:P,onChange:C=>w({required:C}),"aria-label":"Required"})}),a.jsx("div",{className:"ca-form-card__row",children:a.jsx(dt,{value:e.fieldAccess,options:ws(r,e.fieldAccess),placeholder:"Select access",disabled:P,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:P,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:P,onClick:()=>w({hideFor:e.hideFor.filter(G=>G!==C)}),children:"×"})]},C))}):null]}),a.jsx("div",{className:"ca-form-card__row",children:a.jsx(dt,{value:e.dependsOn,options:ws(t,e.dependsOn).map(C=>({value:C,label:Z(C)})),placeholder:"Select field label",disabled:P||!X,allowClear:!0,onChange:C=>{const G=C.target.value;if(!G){w({dependsOn:"",parentMappings:{}});return}w({dependsOn:G})}})}),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:te,className:b?"ca-control--invalid":"",onChange:C=>N(C.target.value),onKeyDown:C=>{C.key==="Enter"&&(C.preventDefault(),W())}}),a.jsx("button",{type:"button",className:"ca-form-card__add-option","aria-label":"Add option",disabled:te,onClick:W,children:"+"})]}),a.jsx("div",{className:"ca-form-card__chips",children:(X?ce(e)?Yt(e.options||[]):e.options||[]:[]).map(C=>{const G=ce(e)&&At(C),ne=O?.original===C;return a.jsxs("span",{className:`ca-form-card__chip${G?" ca-form-card__chip--locked":""}`,children:[ne?a.jsx("input",{autoFocus:!0,value:O.draft,onChange:oe=>L({original:C,draft:oe.target.value}),onBlur:$,onClick:oe=>oe.stopPropagation(),onKeyDown:oe=>{oe.key==="Enter"?(oe.preventDefault(),$()):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:G||te?void 0:"button",tabIndex:G||te?void 0:0,title:G||te?void 0:"Click to edit",style:G||te?void 0:{cursor:"text"},onClick:()=>U(C),onKeyDown:oe=>{oe.key==="Enter"&&U(C)},children:ce(e)?Lr(C):C}),G?null:a.jsx("button",{type:"button","aria-label":`Remove ${C}`,disabled:te,onClick:()=>k(C),children:"×"})]},C)})})]})]})}function Cs({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(qg,{size:14,strokeWidth:1.5,color:"currentColor","aria-hidden":"true"})})})}function yA(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 bA({formFields:e=[],selectedField:t=null,onChange:n}){const r=t,{fieldLabel:s}=ut(),o=N=>ce(r)?Lr(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(H=>String(H||"").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(H=>H.id===l.id?{...H,optionColors:{...H.optionColors,[N]:L}}:H))},v=(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(H=>H.id===r.id?{...H,options:(H.options||[]).filter(Z=>Z!==N),parentMappings:L,...ce(H)?{optionColors:O}:{}}:H))},y=r&&s(r)||"Select field",g=tg(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=>v(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(Cs,{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=yA(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(Cs,{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([eg(r)],h.map(N=>a.jsxs("tr",{children:[a.jsx("td",{children:o(N)}),a.jsx(Cs,{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 vA(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 SA=["Actions","Field Label","Field Type","Required","Field Access","Hide for","DependsOn","Options"];function wA(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(wA);return t.map(n=>kr(n,t))}function yc({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),[A,y]=m.useState(""),g=m.useRef(""),h=m.useRef(null),b=m.useRef({}),_=P=>{const X=nn(P);d(X),t?.(X)},N=(e??[]).map(P=>P.id).join(",");m.useEffect(()=>{if(!A)return;const P=window.setTimeout(()=>y(""),3200);return()=>window.clearTimeout(P)},[A]),m.useEffect(()=>{!N||N===g.current||(g.current=N,d(nn(e)))},[N,e]),m.useEffect(()=>{if(n)return n.current=P=>{P&&d(X=>{const te=X.find(V=>Ir(P,[V]));if(Fr(X)||te)return te&&u(te.id),X;if(Gt(X))return X;const T=nn([...X,{...P,id:`${P.id}-${Date.now()}`,isNew:!0}]),x=T[T.length-1];return u(x.id),t?.(T),T})},()=>{n.current=null}},[n,t]),m.useEffect(()=>{if(f==null)return;const P=h.current,X=b.current[f];if(!P||!X)return;const te=requestAnimationFrame(()=>{const T=P.getBoundingClientRect(),x=X.getBoundingClientRect(),V=12;x.left>=T.left+V&&x.right<=T.right-V||P.scrollTo({left:P.scrollLeft+x.left-T.left-(T.width-x.width)/2,behavior:"smooth"})});return()=>cancelAnimationFrame(te)},[f,c]);const O=(P,X)=>{if(P==null||X==null||String(P)===String(X))return;const te=c.findIndex(w=>String(w.id)===String(P)),T=c.findIndex(w=>String(w.id)===String(X));if(te<0||T<0||et(c[te])||et(c[T]))return;const x=c.findIndex(et),V=[...c],[R]=V.splice(te,1);if(V.splice(T,0,R),x>=0){const w=V.findIndex(et);if(w!==x){const[W]=V.splice(w,1);V.splice(x,0,W)}}_(V.map((w,W)=>({...w,order:W+1})))},L=P=>{const X=c.find(k=>k.id===P.id),te=X&&X.fieldType!==P.fieldType;P.dependsOn&&P.dependsOn!==X?.dependsOn&&u(P.id);const T=String(X?.fieldLabel||"").trim(),x=X?.options||[],V=P.options||[],R=x.filter(k=>!V.includes(k)),w=V.filter(k=>!x.includes(k)),W=x.length===V.length&&R.length===1&&w.length===1?{from:R[0],to:w[0]}:null;_(c.map(k=>{if(k.id===P.id)return P;if(te&&T&&String(k.dependsOn||"").trim()===T)return{...k,dependsOn:"",parentMappings:{}};if(W&&T&&String(k.dependsOn||"").trim()===T){const U=Object.fromEntries(Object.entries(k.parentMappings||{}).map(([E,$])=>[E,$===W.from?W.to:$]));return{...k,parentMappings:U}}return k}))},H=async P=>{const X=c.find(te=>te.id===P);if(!(!X||et(X)))try{if(await i?.(X)===!1)return;const T=String(X.fieldLabel||"").trim();_(c.filter(x=>x.id!==P).map((x,V)=>T&&String(x.dependsOn||"").trim()===T?{...x,dependsOn:"",parentMappings:{},order:V+1}:{...x,order:V+1}))}catch{}},Z=()=>{Fr(c)||Gt(c)||_(nn([...c,{id:`${Date.now()}-${c.length}`,fieldLabel:"",fieldType:r[0]??"",options:[],isNew:!0}]))},q=async P=>{if(Ir(P,c))return null;try{const X=await l?.(P);return X?(d(te=>{const T=nn(te.map(x=>x.id===P.id?{...X,isNew:!1,order:x.order||1}:x));return t?.(T),T}),X):null}catch{return null}},j=Fr(c),z=Gt(c),M=j?"A field with this label and type already exists":"",Q=mi(c),F=c.find(P=>P.id===f)||null;return a.jsxs(a.Fragment,{children:[M||Q||A?a.jsx("div",{className:"ca-validation-toast",role:"alert",children:M||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:SA.map(P=>a.jsx("div",{className:"ca-form-card-grid__label",children:P},P))}),a.jsxs("div",{className:"ca-form-card-grid__cards",ref:h,children:[c.map(P=>a.jsx(Ac,{field:P,fieldOptions:vA(P,c),fieldTypeOptions:r,fieldAccessOptions:s,hideForOptions:o,selected:F?.id===P.id,isDragging:String(p)===String(P.id),cardRef:X=>{X?b.current[P.id]=X:delete b.current[P.id]},onSelect:()=>u(P.id),onDragStartField:()=>v(P.id),onDragEndField:()=>v(null),onReorder:O,onChange:L,onDelete:H,onSave:q,onOptionNotice:y,hasDuplicateIdentity:Ir(P,c),hasMissingOptions:Ka(P)},P.id)),a.jsx(fc,{onAdd:Z,disabled:j||z})]})]}),a.jsx(bA,{formFields:c,selectedField:F,onChange:_})]})]})}const bc={department:Vi,priorities:jg,status:Pr,statuses:Pr,statusCustom:Pr,Status:Pr,storeId:qi,storeIdCustom:qi};function CA({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=bc[i.fieldKey]||bc[i.id]||Vi;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(Wi,{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 vc={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"},Sc={BOTH:"Both",USER:"User",ADMIN:"Admin"},NA={...Object.fromEntries(Object.entries(vc).map(([e,t])=>[t,e])),Select:"SELECT",Dropdown:"SELECT",Radio:"RADIO",Time:"DATETIME","Text Area":"TEXTAREA","Date Time":"DATETIME"},_A={...Object.fromEntries(Object.entries(Sc).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 EA(e,t){const n=rn(e),r=rn(t);return n?r?n+r.charAt(0).toUpperCase()+r.slice(1):n:""}function $r(e,t){return ce({...e,fieldLabel:t})?rn(t)||"status":Be({...e,fieldLabel:t})?"storeIdCustom":EA(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 TA(e){return e?typeof e=="string"?e:e.message||e.error||"":""}function Ns(e){return e?typeof e.id=="number"||/^\d+$/.test(String(e.id)):!1}function LA(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:Jm(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 IA(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=$r(e,r)||(s?e.fieldKey:""),i=o?$r(o,o.fieldLabel)||o.fieldKey:"",c=OA(e,n),d=LA(e),f=NA[e.fieldType]??String(e.fieldType||"TEXT").toUpperCase(),u=_A[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 wc(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 Cc(e,t){return wc(e)!==wc(t)}function FA(e=[],t=e,n=[]){return{fields:e.filter(s=>!s.isNew&&String(s.fieldLabel||"").trim()).map((s,o)=>IA({...s,order:s.order||o+1},t,n))}}function kA(e){return Array.isArray(e)?e:Array.isArray(e?.data)?e.data:[]}function jr(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 Nc(e,t=[]){if(!e)return null;const n=jr(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 jr(s)}function OA(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=>jr(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 _c(e){return[...new Set(e.filter(Boolean))]}function Vr(e){return typeof e=="string"?e:e?.label??e?.name??e?.value??""}function DA(e){return!e||typeof e!="object"?"":e.dependsOnValue??e.parent??""}function MA(e,t=[]){if(!e)return"";const n=t.map(Vr).filter(Boolean),r=n.find(o=>o===e);return r||n.find(o=>rn(o)===e||rn(o)===rn(e))||e}function PA(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:Qa(r.fieldType,vc,r.fieldKey),required:!!r.required,fieldAccess:Sc[r.fieldAccess]??r.fieldAccess??"",hideFor:_c([...Array.isArray(r.hideFor)?r.hideFor:[],Nc(r.hideForWorkflowStep,t),Nc(l,t)]),dependsOn:r.dependsOnField?.fieldName??o?.fieldName??r.dependsOn??"",options:s.map(Vr).filter(Boolean),parentMappings:Object.fromEntries(s.map(i=>{const c=Vr(i),d=DA(i);return!c||!d?null:[c,MA(d,o?.options?.values??[])]}).filter(Boolean)),optionColors:Object.fromEntries(s.map(i=>[Vr(i),PA(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 xA({stepMeta:e,stepperProps:t}){const n=Y.useDispatch(),{systemId:r}=mt(),s=Y.useSelector(w=>w.appDetails?.id),o=jn(s)??jn(r),{state:l,update:i}=xr(),{formFields:c,prefillFormFields:d=[]}=l,f=m.useRef(null),u=m.useCallback(w=>i({formFields:w}),[i]),p=m.useCallback(async w=>{const W=String(w.fieldLabel||"").trim();return W?{...w,fieldLabel:W,fieldKey:$r(w,W),originalFieldName:W,isNew:!1}:null},[]),v=m.useCallback(async w=>et(w)?!1:(Ns(w)&&await n(Ln({complaintTypeId:o,fieldId:w.id})).unwrap(),!0),[o,n]),A=Y.useSelector(w=>w.complaintAppComplaint?.formFields?.data),y=Y.useSelector(w=>w.complaintAppComplaint?.formFields?.isLoading),g=Y.useSelector(w=>w.complaintAppComplaint?.formFields?.error),h=Y.useSelector(w=>w.workflow?.workflowSteps),b=m.useMemo(()=>kA(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 W=!1;return n(Ve(w)).unwrap().then(k=>{if(W)return;const U=Array.isArray(k)?k:k?.data;if(!(Array.isArray(U)&&U.length>0)&&d.length){const $=Ft(d,_.current).map((C,G)=>({...C,id:`prefill-${G}`,isNew:!1}));i({formFields:Jt($)})}else{const $=Jt(Ft(Array.isArray(U)?U:[],_.current));i({formFields:$})}O(!0)}).catch(()=>{if(!W){if(d.length){const k=Ft(d,_.current).map((U,E)=>({...U,id:`prefill-${E}`,isNew:!1}));i({formFields:Jt(k)})}O(!0)}}),()=>{W=!0}},[o,n,d,i]);const L=m.useMemo(()=>Jt(Ft(A,b)),[A,b]),Z=jn(o)==null||N,q=Z?c:L,j=m.useMemo(()=>Ym.filter(w=>!q.some(W=>w.fieldKey&&W.fieldKey===w.fieldKey||ce(w)&&ce(W)||Tr(w)&&Tr(W)||Be(w)&&Be(W))),[q]),z=m.useMemo(()=>Fr(q),[q]),M=m.useMemo(()=>Gt(q),[q]),Q=TA(g),F=Km,P=Qm,X=m.useMemo(()=>{const w=[...b].sort((k,U)=>(k.levelNo??0)-(U.levelNo??0)).map(k=>jr(k)).filter(Boolean),W=L.flatMap(k=>k.hideFor);return _c([...w,...W])},[L,b]),te=m.useMemo(()=>{const w=new Map(Ft(A,b).map(W=>[Number(W.id),W]));return q.filter(W=>{if(W.isNew&&String(W.fieldLabel||"").trim())return!0;if(!Ns(W))return!1;const k=w.get(Number(W.id));return!k||Cc(W,k)})},[A,q,b]),[T,x]=m.useState(!1),V=m.useCallback(async w=>{if(!Gt(q)&&o)try{const k=q.map(ne=>{if(!w||!ne.isNew)return ne;const oe=String(ne.fieldLabel||"").trim();return oe?{...ne,fieldLabel:oe,fieldKey:$r(ne,oe),originalFieldName:oe,isNew:!1}:ne}).filter(ne=>!ne.isNew&&String(ne.fieldLabel||"").trim()),U=new Map(Ft(A,b).map(ne=>[Number(ne.id),ne]));if(!k.some(ne=>{if(!Ns(ne))return!0;const oe=U.get(Number(ne.id));return!oe||Cc(ne,oe)})){t.onNext?.();return}const $=[...k].sort((ne,oe)=>+!!ne.dependsOn-+!!oe.dependsOn);await n(Tn({complaintTypeId:o,data:FA($,$,b)})).unwrap();const C=await n(Ve(o)).unwrap(),G=Array.isArray(C)?C:C?.data;i({formFields:Jt(Ft(Array.isArray(G)?G:[],b))}),t.onNext?.()}catch{}},[A,o,n,q,t,i,b]),R=m.useCallback(()=>{if(!Gt(q)){if(te.length){x(!0);return}V(!1)}},[q,te.length,V]);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:()=>{x(!1),V(!1)},children:"OK"}),a.jsx(Ce,{onClick:()=>{x(!1),V(!0)},children:"Save"})]})]})}):null,a.jsx(Un,{className:"ca-settings-card--plain",title:e.title,description:e.description,showNext:!1,children:!Z||y?a.jsx(it,{text:"Loading form fields"}):Q&&!q.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(CA,{fields:j,disableAdd:z||M,disableAddHint:z?"Resolve duplicate field first":M?mi(q):void 0,onAddField:w=>f.current?.({...w})}),a.jsx("div",{className:"ca-settings-card__divider"}),a.jsx(yc,{initialFields:q,addExternalFieldRef:f,onChange:u,fieldTypeOptions:F,fieldAccessOptions:P,hideForOptions:X,onSave:p,onDelete:v})]})})]})}function Ec({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(oi,{children:e}),a.jsx(Cr,{checked:t,onChange:n,disabled:r,"aria-label":e})]})}function Tc({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 BA=/\.(png|jpe?g|gif|webp|bmp|svg)$/i;function _s(e,t){return t?Array.isArray(e)?e.filter(Boolean):[]:e instanceof File?[e]:[]}function UA(e){return e?e.type&&e.type.startsWith("image/")?!0:BA.test(e.name||""):!1}function $A(e){return`${e.name}-${e.size}-${e.lastModified}`}function Es({id:e,name:t,value:n,onChange:r,multiple:s=!1,required:o=!1,disabled:l=!1,accept:i}){const c=_s(n,s),d=m.useMemo(()=>_s(n,s).map((f,u)=>{const p=UA(f);return{key:`${$A(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=_s(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 jA=new Set(["select","radio","checkbox"]);function Lc(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 Ts(e){return`review-${e.id??e.fieldKey??(Lc(kt(e))||"field")}`}function Ic(e,t,n){return n===0?e:`${e}-${Lc(t)||n}`}function Ls(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 Fc(e){return jA.has(e)}function VA(e){return e==="textarea"||e==="radio"||e==="checkbox"}function WA(e){const t=String(e.fieldType||"").toLowerCase();return t==="text"||t==="textfield"}function kc(e){return String(e||"").replace(/\d/g,"")}function Oc(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)||Ts(e))}function Dc(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 Mc(e,t=[],n={}){const r=e.options||[],s=Dc(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 qA({question:e,options:t,value:n,onChange:r,storeList:s}){const o=Ts(e),l=Ls(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(Tc,{...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=Ic(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=Ic(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(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(Es,{...c,value:i,onChange:r,multiple:!0}):l==="images"?a.jsx(Es,{...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(Oc(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(Oc(f)))}}):WA(e)?a.jsx("input",{...c,className:"review-control",type:"text",inputMode:"text",placeholder:Vn(e,l),value:i,onChange:d=>r(kc(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(kc(f)))}}):a.jsx("input",{...c,className:"review-control",type:l,placeholder:Vn(e,l),value:i,onChange:d=>r(d.target.value)})}function HA({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=Dc(u,e);if(!p||Wn(p)!==c)return;const v=Ls(u);if(!Fc(v))return;const A=Mc(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=Ls(l),c=Ts(l),d=Fc(i)?Mc(l,e,r):[];return a.jsxs("div",{className:`review-question${VA(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(qA,{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 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"},KA={BOTH:"Both",USER:"User",ADMIN:"Admin"};function QA(e){return e?typeof e=="string"?e:e.name??e.label??e.title??null:null}function XA(e){return[...new Set(e.filter(Boolean))]}function Is(e){return typeof e=="string"?e:e?.label??e?.name??""}function Fs(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 YA(e){return!e||typeof e!="object"?"":e.dependsOnValue??e.parent??""}function GA(e,t=[]){if(!e)return"";const n=t.map(Is).filter(Boolean),r=n.find(o=>o===e);return r||n.find(o=>Fs(o)===e||Fs(o)===Fs(e))||e}function JA(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:Qa(n.fieldType,zA,n.fieldKey),required:!!n.required,fieldAccess:KA[n.fieldAccess]??n.fieldAccess??"",hideFor:XA([...Array.isArray(n.hideFor)?n.hideFor:[],QA(n.hideForWorkflowStep)]),dependsOn:n.dependsOnField?.fieldName??s?.fieldName??n.dependsOn??"",options:r.map(Is).filter(Boolean),parentMappings:Object.fromEntries(r.map(o=>{const l=Is(o),i=YA(o);return!l||!i?null:[l,GA(i,s?.options?.values??[])]}).filter(Boolean))}})}function ZA({onPublish:e,stepMeta:t,stepperProps:n,storeList:r}){const s=Y.useDispatch(),o=Y.useSelector(L=>L.appDetails?.id),l=Y.useSelector(L=>L.complaintAppComplaint.formFields.data),i=Y.useSelector(L=>L.complaintAppComplaint.formFields.isLoading),c=Y.useSelector(L=>L.complaintAppComplaint.formFields.error),d=Y.useSelector(L=>L.createComplaint?.isActive),f=Y.useSelector(L=>L.createComplaint?.activeComplaintTypeId),u=Y.useSelector(L=>L.createComplaint?.isUpdatingActive),p=Y.useSelector(L=>L.createComplaint?.activeError),v=Y.useSelector(L=>L.complaintType?.selected),A=Y.useSelector(L=>L.complaintType?.complaintList??[]),y=Y.useSelector(L=>L.appDetails?.details?.currentUser),g=m.useMemo(()=>JA(l),[l]),h=m.useMemo(()=>o==null?null:v&&String(v.id??v._id)===String(o)?v:A.find(L=>String(L?.id??L?._id)===String(o))??null,[A,o,v]),b=h!=null&&(h.isActive!=null||h.active!=null)?!!(h.isActive??h.active):null,_=String(f)===String(o)?!!d:b??!0,N=ph(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(Ec,{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(HA,{fields:g,storeList:r})})})})]})}function RA(e){const t=Number(e);return!Number.isFinite(t)||t<1?1:t>tt.length?tt.length:Math.floor(t)}function e0(e){const t=Number(e);return!Number.isFinite(t)||t<1?1:t>3?3:Math.floor(t)}function xc({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}=mt(),[p,v]=fo(),A=RA(p.get("step")||1),y=e0(p.get("substep")||1),g=!!u&&u!=="new",[h,b]=m.useState(!1);m.useEffect(()=>{if(!g)return;let j=!1;const z=M=>{const Q=M?.data??M;return Array.isArray(Q)?Q:Array.isArray(Q?.data)?Q.data:[]};return Promise.all([f(Je(u)).unwrap(),f(Ve(u)).unwrap()]).then(([M,Q])=>{j||b(z(M).length>0&&z(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"),v(j,{replace:!0})}},[p,v]);const N=m.useMemo(()=>tt.find(j=>j.id===A)||tt[0],[A]),O=m.useCallback((j,z)=>{const M=new URLSearchParams(p);M.set("step",String(j)),j===4?M.set("substep",String(z??(j===A?y:1))):M.delete("substep"),v(M,{replace:!1}),n?.({systemId:u,step:j,substep:z})},[p,v,n,u,A,y]),L=()=>{if(A<tt.length){O(A+1,1);return}d("/")},H=j=>{O(4,j)},Z=()=>{t?.({systemId:u,step:A})},q={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(Gi,{children:a.jsxs("div",{className:"ca-settings-page",children:[a.jsx("div",{className:"ca-settings-page__header",children:a.jsx(Wa,{children:e})}),A===1?a.jsx(oA,{stepMeta:N,stepperProps:q,roleList:s,userList:o}):null,A===2?a.jsx(mA,{onNext:L,stepMeta:N,roleList:s,userList:o,substep:y,onSubstepChange:H,stepperProps:q}):null,A===3?a.jsx(xA,{stepMeta:N,stepperProps:q}):null,A===4?a.jsx(ZA,{storeList:l,onPublish:Z,stepMeta:N,stepperProps:q}):null]})},u||"new")}function t0(){const e=Ge(),{complaintTypeId:t}=mt(),n=Y.useSelector(u=>u.appDetails?.details?.featureActions),{canOpen:r}=_r(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(Ce,{size:"sm",onClick:()=>e(`/complaintanalysis/${t}`),endIcon:a.jsx(Xt,{size:14,color:"currentColor",className:"svg"}),children:"View analytics"}):null]})]})})}function Bc({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(xg,{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(Pg,{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(Bg,{size:16,"aria-hidden":"true"})})]})]})}function n0({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 r0({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(n0,{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 ks({toasts:e=[],onDismiss:t}){if(!e.length)return null;const n=a.jsx("div",{className:"ca-toast-container",children:e.map(r=>a.jsx(r0,{...r,onDismiss:t},r.id))});return typeof document<"u"?Gr.createPortal(n,document.body):n}const a0=[{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"}],Uc=e=>String(e).padStart(2,"0"),qe=e=>`${e.getFullYear()}-${Uc(e.getMonth()+1)}-${Uc(e.getDate())}`,qn=(e,t)=>new Date(e.getFullYear(),e.getMonth(),e.getDate()+t);function s0(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 o0(e){if(!e?.preset)return{};const t=s0(e.preset,e.from,e.to);return t?{...t}:{}}const l0=[{value:"created",label:"Created"},{value:"updated",label:"Updated"}];function i0({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(zg,{size:18})})]}),a.jsx("div",{className:"ca-date-filter__tabs",role:"group","aria-label":"Date field",children:l0.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:a0.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:!v,children:"Apply"})]})]})})}function c0({open:e,initial:t,onApply:n,onReset:r,onClose:s}){return e?a.jsx(i0,{initial:t,onApply:n,onReset:r,onClose:s}):null}const d0=/^[^\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 u0=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(u0).map(r=>r.trim()).filter(Boolean):[n])}function f0(e){const t=an(e);return t.length>0&&t.every(n=>typeof n=="string"&&d0.test(n))}function zn(e,t){return String(e?.fieldType||"").toLowerCase()==="file"||f0(t)}function p0(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 $c=/\.(png|jpe?g|gif|webp|bmp|svg)(?:\?.*)?$/i;function Os(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 h0({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"&&$c.test(Ot(p))),l=n.filter(p=>typeof p=="string"&&!$c.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 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:Os(v)},p.name):a.jsx("span",{className:"ca-complaint-table__attachment-name",title:v,children:Os(v)},p.name)}):null,!c&&!l.length?n.map(p=>a.jsx("span",{className:"ca-complaint-table__attachment-name",title:Hn(p),children:Os(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 Wr(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 m0(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 g0({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),A=u||(v?"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,H=12,q=N.bottom+L+O.height>window.innerHeight-H&&N.top-L-O.height>=H?N.top-O.height-L:Math.min(N.bottom+L,window.innerHeight-O.height-H),j=Math.max(H,Math.min(N.right-O.width,window.innerWidth-O.width-H));c({top:q,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"?Gr.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,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 jc(e,t,n={},r={}){const s=t[e.key]??"-";if(e.key==="status"||e.key==="escalationTo")return s;if(e.key==="assignedToUserName"){const o=m0(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(g0,{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(h0,{value:s,urlMap:n.attachmentUrlMap}):s}function Vc({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:Wr(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:Wr(u.key,!0),children:r(u)},u.id))]})}),a.jsx("tbody",{children:n.map((u,p)=>{const v=s(u);v.onOpenComplaint=o;const A=u.assignedToUserId,y=A==null||A===""?"ca-complaint-table__row--unassigned":String(A)===String(v.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:Wr(g.key),children:jc(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:Wr(g.key),children:jc(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(Mr,{text:"Nothing here yet",illustrated:!0})})]})}const A0={id:"actions",label:"Actions",key:"actions"},Wc=[];async function y0({complaintTypeId:e,status:t,dateParams:n={},sort:r,assignmentFilter:s,escalationTo:o,search:l}){const i=await he.post(gr,Ar({...n,complaintTypeId:e,page:1,limit:ug,sort:r,assignmentFilter:s,escalationTo:o,status:t,search:l}));return Za(i.data)}function qc(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 b0(e){return(Array.isArray(e?.roles)?e.roles:[]).map(n=>Number(n?.id??n?.roleId??n?.role_id??n)).filter(n=>Number.isFinite(n))}function Hc(e,t=[],n=[],r=null){const s=e?.hideForWorkflowStepId;if(s==null||s==="")return!0;const o=t.find(l=>String(l.id)===String(s));return!o||!Kc(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 Kc(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 v0(){const{fieldLabel:e}=ut(),t=Y.useDispatch(),n=Ge(),r=Ke(),{complaintTypeId:s}=mt(),[o]=fo(),l=Y.useSelector(B=>B.appDetails?.id),i=gg(s,o.get("complaintTypeId"),l,mg()),{list:c=[],isLoading:d=!1,error:f=null,hasLoaded:u=!1,requestedComplaintTypeId:p=null,meta:v=null}=Y.useSelector(B=>B.complaintManagement??{}),A=Y.useSelector(B=>B.status?.list??[]),y=Y.useSelector(B=>B.changeStatus?.updatingId??null),g=Y.useSelector(B=>B.roleUsers??{}),h=Y.useSelector(B=>B.workflow?.workflowSteps),b=Y.useSelector(B=>B.appDetails?.details?.currentUser),_=Y.useSelector(B=>B.appDetails?.details?.featureActions),N=_r(_).canSeeAllFilters,O=Y.useSelector(B=>B.appDetails?.details?.storeList),L=Y.useSelector(B=>B.appDetails?.details?.userList??[]),H=m.useMemo(()=>Di(O),[O]),Z=m.useMemo(()=>A.map(B=>B.name).filter(Boolean),[A]),q=m.useMemo(()=>Array.isArray(h)?h:Array.isArray(h?.steps)?h.steps:[],[h]),j=m.useMemo(()=>b0(b),[b]),z=b?.id??b?.userId??null,M=Y.useSelector(B=>{const re=B.complaintType?.selected,ge=Array.isArray(re?.accesses)?re.accesses.map(Ne=>Ne?.role?.id??Ne?.role?.roleId??Ne?.roleId).map(Number).filter(Number.isFinite):[];return ge.length?ge:(Array.isArray(re?.roleIds)?re.roleIds:Array.isArray(re?.roles)?re.roles:[]).map(Ne=>Number(Ne?.id??Ne?.roleId??Ne?.role_id??Ne)).filter(Ne=>Number.isFinite(Ne))}),Q=Y.useSelector(B=>{const re=B.complaintType?.selected;return re?.isActive!=null?!!re.isActive:re?.active!=null?!!re.active:!0}),[F,P]=m.useState({complaintTypeId:null,status:[]}),[X,te]=m.useState({complaintTypeId:null,direction:Ai}),[T,x]=m.useState({complaintTypeId:null,level:[]}),[V,R]=m.useState({complaintTypeId:null,value:"All",explicitlySelected:!1}),[w,W]=m.useState(""),[k,U]=m.useState(""),[E,$]=m.useState(1),[C,G]=m.useState(cg),[ne,oe]=m.useState([]),[me,ee]=m.useState({}),[ae,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(()=>o0(ft),[ft]);m.useEffect(()=>{const B=setTimeout(()=>{U(w.trim()),$(1)},350);return()=>clearTimeout(B)},[w]);const cn=String(F.complaintTypeId)===String(i)?F.status:Wc,dn=String(X.complaintTypeId)===String(i)?X.direction:Ai,I=String(T.complaintTypeId)===String(i)?T.level:Wc,ie=String(V.complaintTypeId)===String(i)?V.value:"All",ue=String(V.complaintTypeId)===String(i)&&V.explicitlySelected,fe=m.useCallback(B=>{W(B),$(1)},[]),Me=(B,re="success")=>{const ge=`${Date.now()}-${Math.random()}`;Ee(we=>[...we,{id:ge,message:B,type:re}])},Xr=B=>Ee(re=>re.filter(ge=>ge.id!==B));m.useEffect(()=>{!i||s||(Ci(i),n(`/complaintmanagement/${i}`,{replace:!0}))},[i,n,s]),m.useEffect(()=>{if(!i||!s)return;Ci(i),t(_t(i)),t(Tl()),t(kl()),t(Jh());const B=t(Qt(i)),re=t(br(i)),ge=t(Je(i)),we=t(Ve(i)),Ne=t(ot(i));return we.unwrap().then(ke=>oe(Si(ke))).catch(()=>oe([])),()=>{B.abort?.(),re.abort?.(),ge.abort?.(),we.abort?.(),Ne.abort?.()}},[i,t,s]),m.useEffect(()=>{if(!i||!s)return;const B=t(yr({complaintTypeId:i,page:E,limit:C,status:cn,sort:dn===yi?"createdAt":"-createdAt",assignmentFilter:ue?ie:void 0,escalationTo:I,...Qn,search:k}));return()=>B.abort?.()},[i,z,Qn,k,t,ue,C,E,s,ie,dn,I,cn]);const Sy=M.some(B=>j.includes(B)),Dt=m.useMemo(()=>p!=null&&i!=null&&String(p)!==String(i)?[]:c.map(re=>({...Mi(_i(re,A,q),H),_fields:re?.formField||[]})),[i,c,p,A,q,H]),Sd=m.useMemo(()=>{const B=new Set;return Dt.forEach(re=>{re.roleId!=null&&B.add(String(re.roleId));const ge=q.find(we=>String(we.id)===String(re.currentStepId));(Array.isArray(ge?.roleIds)?ge.roleIds:[]).forEach(we=>B.add(String(we)))}),[...B]},[Dt,q]);m.useEffect(()=>{Sd.forEach(B=>{!g.usersByRoleId?.[B]&&!g.loadingByRoleId?.[B]&&!g.errorByRoleId?.[B]&&t(Lt(B))})},[t,Sd,g.errorByRoleId,g.loadingByRoleId,g.usersByRoleId]);const wy=m.useMemo(()=>[...new Set(q.map((B,re)=>Number(B.levelNo??re+1)))].sort((B,re)=>B-re),[q]),Cy=N,js=m.useMemo(()=>Ei(Dt,ne).filter(B=>Hc(B,q,j,z)),[Dt,ne,q,j,z]),Ny=vi(js),wd=B=>{const re=B.assignedToUserId;return re==null||re===""?0:String(re)===String(z)?1:2},Xn=Dt.map(({_fields:B,...re})=>re).sort((B,re)=>wd(B)-wd(re)),Vs=m.useMemo(()=>p0(js,Dt),[js,Dt]),_y=Vs.every(B=>Object.prototype.hasOwnProperty.call(me,B));m.useEffect(()=>{const B=Vs.filter(ge=>!Object.prototype.hasOwnProperty.call(me,ge));if(!B.length)return;let re=!1;return Promise.all(B.map(async ge=>{try{const we=await t(xn({params:{path:ge}})).unwrap();return[ge,we]}catch{return[ge,""]}})).then(ge=>{re||ee(we=>({...we,...Object.fromEntries(ge)}))}),()=>{re=!0}},[Vs,me,t]);const Yr=hg(v,E,C,Xn.length),Cd=!!(i&&!f&&(!Xn.length&&(d||!u)||Xn.length>0&&!_y)),Ey=B=>{$(1),P({complaintTypeId:i,status:qc(B)})},Ty=B=>{B>=1&&B<=Yr.totalPages&&B!==E&&$(B)},Ly=B=>{const re=Number(B);!Number.isFinite(re)||re<=0||re===C||(G(re),$(1))},Iy=B=>{$(1),te({complaintTypeId:i,direction:B})},Fy=B=>{$(1),x({complaintTypeId:i,level:qc(B,!0)})},ky=B=>{$(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})},Oy=B=>{$(1),ln({complaintTypeId:i,...B}),He(!1)},Dy=()=>{$(1),ln({complaintTypeId:null,field:"updated",preset:"",from:"",to:""}),He(!1)},My=()=>{i&&n(`/complaintmanagement/new/${i}`)},Py=B=>{if(B?.id==null||!i)return;const re=r.pathname.startsWith("/querymanagement")?"querymanagement":"complaintmanagement";n(`/${re}/${i}/details/${B.id}`)},Nd=B=>{const re=q.find(ge=>String(ge.id)===String(B?.currentStepId));return!re||Kc(re,j,z)},xy=async(B,re)=>{if(B?.id==null||re==null||y!=null||B.isClosed||String(B.assignedToUserId)===String(re))return;if(!Nd(B)){Me("Only users in the current level can assign this complaint.","error");return}if(!(B.assignedToUserId!=null&&B.assignedToUserId!==""&&String(B.assignedToUserId)===String(z))&&String(re)!==String(z)){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:re})).unwrap(),Me("Complaint assigned successfully","success")}catch(we){Me(we?.message??"Failed to assign complaint","error")}},By=B=>{const re=q.find(ke=>String(ke.id)===String(B?.currentStepId)),ge=new Set([String(B.roleId),...Array.isArray(re?.roleIds)?re.roleIds.map(String):[]]),we=new Set(zc(re).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()]},Uy=B=>({roleUsers:By(B),assignmentLoading:!!g.loadingByRoleId?.[String(B.roleId)],assignmentError:g.errorByRoleId?.[String(B.roleId)]??null,assignmentSaving:y!=null,currentUserId:z,canAssign:Nd(B),onAssign:xy,onRetryUsers:re=>t(Lt(re)),attachmentUrlMap:me});return{complaintTypeId:i,canCreateComplaint:Sy,isComplaintTypeActive:Q,statusNames:Z,selectedStatus:cn,selectedCreatedAtSort:dn,selectedLevel:I,selectedAssignment:ie,workflowLevels:wy,canFilterByLevelAndAssignment:Cy,isDownloadingReport:ae,search:w,onSearchChange:fe,onStatusChange:Ey,onCreatedAtSortChange:Iy,onLevelChange:Fy,onAssignmentChange:ky,dateFilter:ft,hasDateFilter:!!ft,isDateFilterOpen:yt,onOpenDateFilter:()=>He(!0),onCloseDateFilter:()=>He(!1),onApplyDateFilter:Oy,onResetDateFilter:Dy,onNewComplaint:My,onDownloadReport:async()=>{if(!(!i||ae)){pe(!0),Ae(null);try{const re=(await y0({complaintTypeId:i,status:cn,dateParams:Qn,sort:dn===yi?"createdAt":"-createdAt",assignmentFilter:ue?ie:void 0,escalationTo:I,search:k})).map(un=>({...Mi(_i(un,A,q),H),_fields:un?.formField||[]})),ge=Ei(re,ne).filter(un=>Hc(un,q,j,z)),we=vi(ge).filter(un=>!Sg(un,re,zn)),Ne=new Blob([wg(we,re)],{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:Cd,toasts:Se,onDismissToast:Xr,tableProps:{scrollFields:Ny.filter(B=>B.key!=="actions"),stickyFields:[A0],tableRows:Xn,fieldLabel:e,getCellContext:Uy,onOpenComplaint:Py,page:E,itemsPerPage:C},paginationProps:{currentPage:E,totalItems:Yr.totalItems,itemsPerPage:C,onPageChange:Ty,onItemsPerPageChange:Ly,selectOptions:dg,totalPages:Yr.totalPages,disabled:Cd,hasRows:!!(Yr.totalItems>0||Xn.length||E>1)}}}const S0=[{value:"All",label:"All Assignments"},{value:"AssignToMe",label:"Assign to Me"},{value:"AssignToOther",label:"Assign to Others"},{value:"Unassigned",label:"Unassigned"}];function w0({onHeaderActionsChange:e}){const t=v0(),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:S0,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(Vc,{...t.tableProps,tableRows:n}),t.paginationProps.hasRows?a.jsx(Bc,{...t.paginationProps}):null,a.jsx(c0,{open:t.isDateFilterOpen,initial:t.dateFilter,onApply:t.onApplyDateFilter,onReset:t.onResetDateFilter,onClose:t.onCloseDateFilter}),a.jsx(ks,{toasts:t.toasts,onDismiss:t.onDismissToast})]})}const qr=({onHeaderActionsChange:e})=>a.jsxs("main",{className:"ca-query-management-page",children:[a.jsx(t0,{}),a.jsx(w0,{onHeaderActionsChange:e})]}),C0={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 Ds(e){return typeof e=="string"?e:e?.label??""}function N0(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:Qa(n.fieldType,C0,n.fieldKey),required:!!n.required,dependsOn:n.dependsOnField?.fieldName??c?.fieldName??n.dependsOn??"",options:i.map(Ds).filter(Boolean),parentMappings:Object.fromEntries(i.map(d=>{const f=Ds(d),u=E0(d);return!f||!u?null:[f,T0(u,c?.options?.values??[])]}).filter(Boolean))}})}function Hr(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 _0(e){if(ce(e))return"status";if(Be(e))return"storeIdCustom";const t=String(e.fieldKey||"").trim();return t&&!/\s/.test(t)?t:Hr(e.label||t)}function E0(e){return!e||typeof e!="object"?"":e.dependsOnValue??e.parent??""}function T0(e,t=[]){if(!e)return"";const n=t.map(Ds).filter(Boolean),r=n.find(o=>o===e);return r||n.find(o=>Hr(o)===e||Hr(o)===Hr(e))||e}function L0(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 Ms(e){return sn(e)==="checkbox"}function I0(e,t){const n=String(t||"").trim();return n&&e.find(r=>String(r.label||"").trim()===n||String(r.fieldKey||"").trim()===n)||null}function Qc(e,t){const n=String(t?.label||"").trim();return n&&e.find(r=>String(r.dependsOn||"").trim()===n)||null}function F0(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=I0(n,o.dependsOn);if(!i)break;const c=(o.parentMappings||{})[l];if(!c)break;r[be(i)]=Ms(i)?[c]:c,o=i,l=c}for(o=e,l=s;o;){const i=Qc(n,o);if(!i)break;const c=i.parentMappings||{},d=Object.keys(c).find(f=>c[f]===l);if(!d)break;r[be(i)]=Ms(i)?[d]:d,o=i,l=d}return r}function Ps(e){return Array.isArray(e)?e.filter(t=>t!=null&&t!==""):e==null||e===""?[]:[e]}function k0(e,t,n,r,s){const o={},l=Ps(n);let i=Ps(t).filter(d=>!l.includes(d)),c=e;for(;c&&i.length;){const d=Qc(r,c);if(!d)break;const f=d.parentMappings||{},u=be(d),p=Ps(o[u]??s[u]),v=p.filter(y=>i.includes(f[y]));if(!v.length)break;const A=p.filter(y=>!v.includes(y));o[u]=Ms(d)?A:A[0]??"",i=v,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 Xc(e){return`new-query-${e.id??be(e)}`}function Yc(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 Gc(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 Jc(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 O0(e,t,n){const r=sn(t);if(r==="file"&&typeof File<"u"&&n instanceof File){const s=await e(Pn({file:n,folder:"complaints"})).unwrap();return Jc(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(Pn({file:s,folder:"complaints"})).unwrap();return Jc(o,s)}return s})):Gc(n)}function D0(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 M0(e=[],t={},n,r=[]){const s={};for(const o of e){const l=_0(o);if(!l)continue;const i=t[be(o)];s[l]=Be(o)?D0(i,r):await O0(n,o,i)}return s}function Zc(e){return Array.isArray(e)?e.length===0:typeof File<"u"&&e instanceof File?!1:e==null||String(e).trim()===""}function P0(e){return/^\d+$/.test(String(e).trim())}function x0(e=[],t={}){for(const n of e){const r=sn(n),s=t[be(n)],o=n.label||"This field";if(n.required&&Zc(s))return`${o} is required.`;if(!Zc(s)&&r==="number"&&!P0(s))return`${o} must be a valid number.`}return""}function B0({field:e,value:t,onChange:n,storeList:r,options:s=e.options}){const{fieldLabel:o}=ut(),l=sn(e),i=Xc(e),c=ce(e);if(Be(e)&&Array.isArray(r))return a.jsx(Tc,{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(Es,{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 Rc({storeList:e}={}){const{fieldLabel:t}=ut(),n=Y.useDispatch(),r=Ge(),s=Ke(),{complaintTypeId:o}=mt(),l=Y.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([]),[v,A]=m.useState({}),[y,g]=m.useState(!0),[h,b]=m.useState(!1),[_,N]=m.useState(""),[O,L]=m.useState(""),[H,Z]=m.useState([]),q=m.useCallback((k,U="success")=>{Z(E=>[...E,{id:Date.now()+Math.random(),message:k,type:U}])},[]),j=m.useCallback(k=>{Z(U=>U.filter(E=>E.id!==k))},[]),[z,M]=m.useState(!1),[Q,F]=m.useState(!f),[P,X]=m.useState(""),[te,T]=m.useState(""),x=Y.useSelector(k=>{const U=k.complaintType??{},$=(Array.isArray(U.complaintList)?U.complaintList:[]).find(C=>String(C?.id??C?._id)===String(o))??(String(U.selected?.id??U.selected?._id)===String(o)?U.selected:null);return String($?.name??$?.code??"").trim()}),V=x||te;m.useEffect(()=>{if(!f||!d)return;let k=!1;return n(ot(c)).unwrap().then(U=>{const E=U?.data?.data??U?.data??U,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||M(!0)}),()=>{k=!0}},[n,d,f,c]),m.useEffect(()=>{if(!d||x)return;let k=!1;return n(ot(c)).unwrap().then(U=>{if(k)return;const E=U?.data??U;T(String(E?.name??E?.code??"").trim())}).catch(()=>{}),()=>{k=!0}},[c,x,n,d]),m.useEffect(()=>{if(!d||f&&(!z||!Q))return;let k=!1;return n(Ve(c)).unwrap().then(U=>{if(k)return;const E=N0(Array.isArray(U?.data)?U.data:U);p(E),A(Object.fromEntries(E.map($=>[be($),Yc($)])))}).catch(U=>{k||N(typeof U=="string"?U:U?.message||"Failed to load form fields.")}).finally(()=>{k||g(!1)}),()=>{k=!0}},[c,n,d,f,Q,z]);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 U=x0(u,v);if(U){q(U,"error"),b(!1);return}try{const E=await M0(u,v,n,i),$=u.findIndex(ce),C=u[$+1],ne=(C?[].concat(Gc(v[be(C)])).join(", ").trim():"")||V;if(!ne){q("Title is required. Please fill the first field.","error");return}await n(Sr({complaintTypeId:c,title:ne,fieldValues:E})).unwrap(),q("Complaint submitted successfully"),await new Promise(me=>{setTimeout(me,1200)}),s.key!=="default"?r(-1):r(`/complaintmanagement/${c}/all`)}catch(E){q(typeof E=="string"?E:E?.message||"Failed to submit complaint.","error")}finally{b(!1)}},W=k=>{const U=L0(k,u,v);return a.jsxs("div",{className:`review-question${["textarea","radio","checkbox"].includes(sn(k))?" review-question--wide":""}`,children:[a.jsxs("label",{className:"review-label",htmlFor:Xc(k),children:[t(k)||"Untitled field",k.required?a.jsx("span",{className:"review-required",children:"*"}):null]}),a.jsx(B0,{storeList:i,field:k,options:U,value:v[be(k)]??Yc(k),onChange:E=>{ce(k)||A($=>{const C=k0(k,$[be(k)],E,u,$),G=F0(k,E,u);return{...$,[be(k)]:E,...C,...G}})}})]},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&&!z)&&d?a.jsx(it,{text:f?"Verifying public form":"Loading form fields"}):null,d&&!y&&(!f||z&&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:W(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(ks,{toasts:H,onDismiss:j})]})}const zr=[];function U0(e,t=200,n=null){const r=Y.useDispatch(),s=Y.useSelector(g=>g.appDetails?.details?.userList)??zr,o=Y.useSelector(g=>g.status?.list)??zr,l=Y.useSelector(g=>g.workflow?.workflowSteps),i=Array.isArray(l)?l:Array.isArray(l?.steps)?l.steps:Array.isArray(l?.data)?l.data:zr,[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(gr,Ar({complaintTypeId:e,page:1,limit:t})).then(b=>{g||d({key:h,complaints:Za(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:zr,v=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(_=>es(_,o,s,g))},[p,o,s,n,i]),isLoading:A,error:v}}function $0(){const e=Y.useDispatch(),t=Ge(),n=Ke(),{complaintTypeId:r}=mt(),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}=U0(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",children:a.jsxs("div",{children:[a.jsxs("h1",{className:"ca-query-details__title",children:[s?.name??s?.title??"Complaints",o.length?` (${o.length})`:""]}),a.jsx("p",{className:"ca-filler-card__desc",children:s?.description||" "})]})}),a.jsx(Ce,{startIcon:a.jsx(Wi,{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(Mr,{text:"Nothing here yet",illustrated:!0}):null,l?null:o.map(d=>a.jsx(Hi,{row:d,onClick:c},d.id))]})})}function j0(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 V0(e,t=[],n=null){return(Array.isArray(e?.roleIds)?e.roleIds.map(Number):[]).some(s=>t.includes(s))?!0:n!=null&&j0(e).includes(Number(n))}function xs(e){return Ya(e)||"—"}function ed(e){return e==null||e===""?"—":Array.isArray(e)?e.map(ed).join(", "):typeof e=="object"?e.name??e.label??JSON.stringify(e):String(e)}function Kr(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 W0(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=>Kr(typeof n=="object"&&n!==null?{id:n.id??n.roleId??n.role_id??n.value??n.role?.id}:n)).filter(Boolean))]}function q0(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 H0(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(Kr).filter(Boolean))}function Bs(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,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,H=12,q=N.bottom+L+O.height>window.innerHeight-H&&N.top-L-O.height>=H?N.top-O.height-L:Math.min(N.bottom+L,window.innerHeight-O.height-H),j=Math.max(H,Math.min(N.left,window.innerWidth-O.width-H));A({top:q,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"?Gr.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: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 td({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:ed(t)})]})}function K0({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??"",A=u.description??u.remarks??u.remark??u.message??u.title??(typeof v=="string"?v:"")??"Complaint updated",y=/submit|created/i.test(`${v} ${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(Mg,{size:14,strokeWidth:1.8}):a.jsx(Dg,{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:xs(c.createdAt)})]})]},c.id))}):a.jsx("p",{className:"ca-complaint-details__activity-empty",children:"No activity yet"})]})}function Q0({complaintId:e,complaintTypeId:t}){const n=Y.useDispatch(),{data:r,isLoading:s,error:o}=Y.useSelector(I=>I.complaintsGetOne??{}),l=Y.useSelector(I=>I.activityLog??{}),i=Y.useSelector(I=>I.status?.list??[]),c=Y.useSelector(I=>I.workflow?.workflowSteps),d=Y.useSelector(I=>I.appDetails?.details?.currentUser),f=Y.useSelector(I=>I.roleUsers??{}),u=Y.useSelector(I=>I.appDetails?.details?.userList??[]),p=d?.id??d?.userId??null,{fieldLabel:v}=ut(),A=Y.useSelector(I=>I.appDetails?.details?.storeList),y=m.useMemo(()=>Di(A),[A]),g=I=>{const ie=I?.fieldName??I?.fieldKey??"Field";return v({...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}=Y.useSelector(I=>I.changeStatus??{}),[_,N]=m.useState({}),[O,L]=m.useState(null),[H,Z]=m.useState(null),[q,j]=m.useState(""),[z,M]=m.useState(!1),[Q,F]=m.useState([]),P=m.useCallback((I,ie="success")=>{F(ue=>[...ue,{id:Date.now()+Math.random(),message:I,type:ie}])},[]),X=m.useCallback(I=>{F(ie=>ie.filter(ue=>ue.id!==I))},[]),[te,T]=m.useState(""),[x,V]=m.useState({});m.useEffect(()=>{if(!t)return;const I=n(Ve(t));return I.unwrap().then(ie=>{const ue={};Si(ie).forEach(fe=>{fe.hideForWorkflowStepId!=null&&fe.hideForWorkflowStepId!==""&&(ue[fe.key]=fe.hideForWorkflowStepId)}),V(ue)}).catch(()=>{}),()=>I.abort?.()},[t,n]);const R=m.useMemo(()=>Array.isArray(c)?c:Array.isArray(c?.steps)?c.steps:[],[c]);m.useEffect(()=>{n(im()),n(mm());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:[],W=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=W.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(xn({params:{path:ue}})).unwrap();return[ue,fe]}catch{return[ue,""]}})).then(ue=>{ie||N(fe=>({...fe,...Object.fromEntries(ue)}))}),()=>{ie=!0}},[W,_,n]);const k=O??(r?.statusId==null?"":String(r.statusId)),U=H??(r?.currentStepId==null?"":String(r.currentStepId)),E=k!==(r?.statusId==null?"":String(r.statusId))||U!==(r?.currentStepId==null?"":String(r.currentStepId)),$=m.useMemo(()=>R.find(I=>String(I.id)===String(r?.currentStepId)),[r?.currentStepId,R]),C=$??r?.currentWorkflowStep,G=m.useMemo(()=>W0(C),[C]);m.useEffect(()=>{G.forEach(I=>{!f.usersByRoleId?.[I]&&!f.loadingByRoleId?.[I]&&!f.errorByRoleId?.[I]&&n(Lt(I))})},[G,n,f.errorByRoleId,f.loadingByRoleId,f.usersByRoleId]);const ne=m.useMemo(()=>{const I=H0(C),ie=[...G.flatMap(fe=>f.usersByRoleId?.[fe]??[]),...q0(C),...u.filter(fe=>I.has(Kr(fe))),d,r?.assignedToUser],ue=new Map;return ie.forEach(fe=>{const Me=Kr(fe);if(!Me)return;const Xr=ue.get(Me);(!Xr||!Bs(Xr)&&Bs(fe))&&ue.set(Me,fe)}),[...ue.entries()].map(([fe,Me])=>({id:fe,name:Bs(Me)||(fe===String(p)?"Assign to Me":""),email:String(Me?.email??Me?.userEmail??"").trim()}))},[G,u,C,d,p,r?.assignedToUser,f.usersByRoleId]),oe=G.some(I=>f.loadingByRoleId?.[I]),me=G.map(I=>f.errorByRoleId?.[I]).find(Boolean),ee=d?.roles,ae=m.useMemo(()=>(Array.isArray(ee)?ee:[]).map(I=>Number(I?.id??I?.roleId??I?.role_id??I)).filter(Number.isFinite),[ee]),pe=m.useMemo(()=>{if(!C)return!1;const I=Array.isArray(C.roleIds)&&C.roleIds.some(fe=>ae.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,ae]),se=w.filter(I=>{const ie=I.formField?.fieldKey||I.formField?.fieldName,ue=I.formField?.hideForWorkflowStepId??x[ie];if(ue==null||ue==="")return!0;const fe=R.find(Me=>String(Me.id)===String(ue));return!fe||!V0(fe,ae,p)}),Ae=!Dr(r?.status?.name)&&p!=null&&(!$||pe),Se=!Dr(r?.status?.name)&&p!=null&&String(r?.assignedToUserId)===String(p)&&(!$||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(U))??(String(r?.currentStepId)===String(U)?r?.currentWorkflowStep:null),[r?.currentStepId,r?.currentWorkflowStep,U,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&&Or(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?q.trim():"";if(!I){T("Remark is required.");return}try{await n(Et({id:r.id,statusId:k,currentStepId:U,assignedToUserId:p,remark:I})).unwrap(),L(null),Z(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||z)return;if(!Ae){P("Only users in the current level can assign this complaint.","error");return}if(p==null){P("Unable to identify the signed-in user.","error");return}const ie=String(I)===String(p),ue=String(r?.assignedToUserId)===String(p);if(!ie&&!ue){P("Please assign this complaint to yourself first. Then you can assign it to others.","error");return}if(String(r?.assignedToUserId)!==String(I)){M(!0);try{await n(Et({id:r.id,assignedToUserId:I})).unwrap(),await n(Tt(e)).unwrap(),await n(It(e)),P("Complaint assigned successfully")}catch(fe){P(fe?.message??"Failed to assign complaint","error")}finally{M(!1)}}},dn=()=>{G.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(z0,{assignedToUserId:r.assignedToUserId,assignedToUserName:ne.find(I=>I.id===String(r.assignedToUserId))?.name||r.assignedToUserName||r.assignedToUser?.name||"",currentUserId:p,users:ne,saving:z,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))&&bg(I.name)&&!Or(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:U,disabled:!Se,onChange:I=>Z(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(U))?null:a.jsx("option",{value:U,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(td,{label:g(I.formField),value:h(I.value),fieldType:I.formField?.fieldType,attachmentUrls:_},I.id??`${I.formField?.id??"field"}-${ie}`)),a.jsx(td,{label:"Created at",value:xs(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:q,disabled:!E,onChange:I=>j(I.target.value),placeholder:"Enter remark"})}),te?a.jsx("p",{className:"ca-complaint-details__update-error",role:"alert",children:te}):null]}):null,ft.length?a.jsx("ol",{className:"ca-complaint-details__remark-list",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:xs(I.createdAt)})]}),a.jsx("p",{children:I.remark})]},I.id??`${I.createdAt??"remark"}-${ie}`))}):null]}):null]}),a.jsx(K0,{activities:l.activities,fallbackRemarks:ft,createdAt:r.createdAt,isLoading:l.isLoading,error:l.error,onRetry:()=>n(It(e))})]}):null,a.jsx(ks,{toasts:Q,onDismiss:X})]})}function nd(){const{complaintId:e,complaintTypeId:t}=mt();return a.jsx(Q0,{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))),Qr=(e,t)=>t>0?`${Math.round(Ue(e)/t*100)}%`:"0%",X0=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],Y0=e=>{const t=new Date(e);return Number.isNaN(t.getTime())?String(e??""):`${X0[t.getUTCMonth()]} ${String(t.getUTCFullYear()).slice(-2)}`};function rd({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($g,{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 ad({data:e}){const t=Ue(e?.total),n=[{label:"Total",value:rt(t),detail:"All complaints"},{label:"Open",value:rt(e?.open),detail:Qr(e?.open,t),action:!0},{label:"Resolved",value:rt(e?.resolved),detail:Qr(e?.resolved,t)},{label:"Closed",value:rt(e?.closed),detail:Qr(e?.closed,t)},{label:"Rejected",value:rt(e?.rejected),detail:Qr(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 G0=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],Kn=30,sd=435,od=[20,50,80,110,140],ld=[30,67,104,141],id=141,J0=111,Z0=4,R0=102,ey=9,ty=45,ny=[{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 cd(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 ry(e,t){const n=new Date(e);if(Number.isNaN(n.getTime()))return String(e??"");if(t==="monthly")return`${G0[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 Us({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(M=>[on(M.created),on(M.resolved),on(M.closed)])),d=cd(c),f=d*4,u=M=>i.length<=1?(Kn+sd)/2:Kn+M*((sd-Kn)/(i.length-1)),p=M=>140-on(M)/f*120,v=ny.map(M=>({color:M.color,points:i.map((Q,F)=>[u(F),p(Q[M.key])])})),A=Math.max(1,Math.ceil(i.length/10)),y=i.map((M,Q)=>({label:Q%A===0?ry(M.period,n):"",x:u(Q)})),g=s?Z0:ey,h=s?R0:ty,b=o?s?l.slice(0,g):l.slice(-g):[],_=Math.max(0,...b.map(M=>on(M.value))),N=cd(_,3),O=N*3,L=s?28:20,H=b.map((M,Q)=>{const F=on(M.value),P=F>0?Math.max(F/O*J0,2):0;return{label:M.label,value:F,center:Kn+(Q+.5)*h,height:P}}),Z=r?od.map((M,Q)=>String(f-Q*d)):ld.map((M,Q)=>String((3-Q)*N)),q=r?od:ld,j=r?y.map(M=>M.x):Array.from({length:g+1},(M,Q)=>Kn+Q*h),z=r?y:H.map(M=>({label:M.label,x:M.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(M=>a.jsx("line",{x1:M,x2:M,y1:"20",y2:"141",className:"ca-analysis-chart__grid"},`vertical-${M}`)),q.map((M,Q)=>a.jsxs("g",{children:[a.jsx("line",{x1:"30",x2:"438",y1:M,y2:M,className:"ca-analysis-chart__grid"}),a.jsx("text",{x:"4",y:M+3,className:"ca-analysis-chart__axis-label",children:Z[Q]})]},M)),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,z.map(({label:M,x:Q},F)=>M?a.jsx("text",{x:Q,y:"160",textAnchor:"middle",className:"ca-analysis-chart__axis-label",children:M},`${M}-${F}`):null),o?a.jsx("g",{children:H.map((M,Q)=>a.jsxs("g",{children:[M.height>0?a.jsx("rect",{x:M.center-L/2,y:id-M.height,width:L,height:M.height,rx:"2",fill:"var(--ca-analysis-blue)"}):null,a.jsx("text",{x:M.center,y:id-M.height-4,textAnchor:"middle",className:"ca-analysis-chart__bar-label",children:Number(M.value.toFixed(2))})]},`${M.label}-${Q}`))}):null,r?v.map(M=>a.jsxs("g",{children:[M.points.length>1?a.jsx("polyline",{points:M.points.map(([Q,F])=>`${Q},${F}`).join(" "),fill:"none",stroke:M.color,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}):null,M.points.map(([Q,F],P)=>a.jsx("circle",{cx:Q,cy:F,r:"2.5",fill:M.color},`${M.color}-${P}`))]},M.color)):null]})})}function dd({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(Us,{data:Array.isArray(t?.data)?t.data:[],granularity:t?.granularity??e.toLowerCase()})]})}const ud=e=>{const t=e?.fromLevelNo==null?"Unassigned":`Level ${e.fromLevelNo}`,n=e?.toLevelNo==null?"Unassigned":`Level ${e.toLevelNo}`;return`${t} - ${n}`};function fd({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:Y0(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:ud(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"})})]},`${ud(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(Us,{variant:"escalation",data:s})]})]})}function $s({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 pd({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(Hg,{size:19}),a.jsx("strong",{children:"No Reassignments"}),a.jsx("span",{children:"There were no complaint reassignments in the selected period."})]})]})}function hd({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 md({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 gd=["Name","Assigned","Pending","Completed","Breaches","Avg. Handling"],ay=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 Ad({data:e,view:t,onViewChange:n}){const r=t==="Teams"?e?.teams:e?.users,s=(Array.isArray(r)?r:[]).map(ay);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:gd.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:gd.length,children:"No data"})})})]})})]})}function yd(){const e=Y.useDispatch(),{complaintTypeId:t}=mt(),n=Y.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(vm).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,v=(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(ad,{data:n.overview?.data}),a.jsx(rd,{data:n.backlog?.data})]}),a.jsxs("div",{className:"ca-analysis-columns",children:[a.jsxs("div",{className:"ca-analysis-column",children:[a.jsx(dd,{period:r,onPeriodChange:s,data:n.trends?.data}),a.jsx(hd,{data:n.resolutionTimes?.data}),a.jsx(fd,{data:n.escalations?.data})]}),a.jsxs("div",{className:"ca-analysis-column",children:[a.jsx(md,{data:n.sla?.data}),a.jsx($s,{title:"Complaint Types",action:!0,columns:["Complaint Type","Total","Open","Resolved","SLA %","Avg. Resolution"],rows:u,className:"ca-analysis-types"}),a.jsx($s,{title:"Workflow Bottlenecks",action:!0,columns:["Level","Complaints","Avg. Time","Pending","SLA Breaches",""],rows:v,className:"ca-analysis-bottlenecks",getCellClassName:(A,y)=>A===3&&Number(y)>0?"is-danger":void 0}),a.jsx(Ad,{data:n.workload?.data,view:o,onViewChange:l}),a.jsx(pd,{data:n.reassignments?.data})]})]})]})}function sy({pageProps:e={},onPublish:t,onStepChange:n,children:r}){const s=r??a.jsx(Qi,{...e});return a.jsxs(bu,{children:[a.jsx(Ie,{path:"/",element:s}),a.jsx(Ie,{path:"complaintanalysis",element:a.jsx(yd,{})}),a.jsx(Ie,{path:"complaintanalysis/:complaintTypeId",element:a.jsx(yd,{})}),a.jsx(Ie,{path:"/settings/:systemId",element:a.jsx(xc,{onPublish:t,onStepChange:n,company:e.company,roleList:e.roleList,userList:e.userList,storeList:e.storeList})}),a.jsx(Ie,{path:"complaintmanagement",element:a.jsx(qr,{onHeaderActionsChange:e.onHeaderActionsChange})}),a.jsx(Ie,{path:"complaintmanagement/new/:complaintTypeId",element:a.jsx(Rc,{company:e.company,storeList:e.storeList})}),a.jsx(Ie,{path:"complaintmanagement/:complaintTypeId/details/:complaintId",element:a.jsx(nd,{})}),a.jsx(Ie,{path:"complaintmanagement/:complaintTypeId",element:a.jsx(qr,{onHeaderActionsChange:e.onHeaderActionsChange})}),a.jsx(Ie,{path:"complaintmanagement/:complaintTypeId/all",element:a.jsx($0,{})}),a.jsx(Ie,{path:"querymanagement",element:a.jsx(qr,{onHeaderActionsChange:e.onHeaderActionsChange})}),a.jsx(Ie,{path:"querymanagement/new/:complaintTypeId",element:a.jsx(Rc,{company:e.company,storeList:e.storeList})}),a.jsx(Ie,{path:"querymanagement/:complaintTypeId/details/:complaintId",element:a.jsx(nd,{})}),a.jsx(Ie,{path:"querymanagement/:complaintTypeId",element:a.jsx(qr,{onHeaderActionsChange:e.onHeaderActionsChange})}),a.jsx(Ie,{path:"*",element:s})]})}function oy({pageProps:e,onPublish:t=s=>console.log(s),onStepChange:n=s=>console.log(s),children:r}){return a.jsx(sy,{pageProps:e,onPublish:t,onStepChange:n,children:r})}function ly({children:e}){const{cssVars:t,darkMode:n,mode:r}=ul();return a.jsx("div",{className:`ca-root ${n?"ca-root--dark":"ca-root--light"}`,"data-ca-theme":r,style:t,children:e})}function iy({basePath:e,children:t}){return Pt()?t:a.jsx(Mu,{basename:e,children:t})}function cy({store:e,children:t}){return a.jsx(Y.Provider,{store:e||ni,children:t})}function dy({details:e,children:t}){const n=Y.useDispatch();return m.useEffect(()=>{n(yl(e))},[n,e]),t}const bd=[],vd=({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??bd,userList:u=bd,storeList:p,currentUser:v,company:A=v?.company,featureActions:y=zm,useDemoData:g=!0,createLabel:h,onCreateForm:b,onConfigure:_,onOpen:N,onTitleClick:O,onDescriptionClick:L,onSearch:H,onHeaderActionsChange:Z,onPublish:q,onSaveDraft:j,showSaveButton:z,showNextButton:M,onStepChange:Q,children:F})=>{const P={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:H,onHeaderActionsChange:Z,onSaveDraft:j,showSaveButton:z,showNextButton:M},X=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:v,company:A,useDemoData:g,createLabel:h,onCreateForm:b,onConfigure:_,onOpen:N,onTitleClick:O,onDescriptionClick:L,onSearch:H,onHeaderActionsChange:Z,onPublish:q,onSaveDraft:j,showSaveButton:z,showNextButton:M,onStepChange:Q}),[y,e,t,n,s,o,l,i,c,f,u,p,v,A,g,h,b,_,N,O,L,H,Z,q,j,z,M,Q]);return a.jsx(pc.Provider,{value:A,children:a.jsx(dl,{theme:o,darkMode:l,children:a.jsx(cy,{store:r,children:a.jsx(dy,{details:X,children:a.jsx(ly,{children:a.jsx(al,{apiUrl:e,authToken:t,publicAccess:n,children:a.jsx(iy,{basePath:s,children:a.jsx(oy,{pageProps:P,onPublish:q,onStepChange:Q,children:F})})})})})})})})};function uy({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 fy({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 py({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 hy=["Open","Cancelled","Closed"];function my({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: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(Vg,{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:hy).map(g=>a.jsx("option",{value:g,children:Lr(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(Wg,{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(Ug,{size:14}),onClick:v,disabled:A||!y,children:"Download Report"})})]})}const gy=st.colors,Ay=st.radii,yy=st.spacing,by=st.typography,vy=[];D.AddFormButton=fc,D.AddTableCard=tc,D.AnalyticsCard=nt,D.AnalyticsMetric=De,D.AnalyticsTablePanel=$s,D.AnalyticsTrendChart=Us,D.ApiProvider=al,D.BacklogAgingPanel=rd,D.BodyText=Ha,D.Button=Ce,D.COMPLAINT_ENDPOINTS=ur,D.CardFooter=ci,D.CardHeader=ii,D.ChevronDownIcon=os,D.ChevronRightIcon=Xt,D.Chip=uy,D.CloseIcon=Zi,D.ComplaintApp=vd,D.ComplaintManagementPage=Qi,D.ComplaintSettingsPage=xc,D.ComplaintStatusOverview=ad,D.ComplaintTableGrid=Vc,D.ComplaintTableToolbar=my,D.ComplaintTrendPanel=dd,D.CustomPagination=Bc,D.DEFAULT_PAGE_DESCRIPTION=Ki,D.DEMO_SYSTEMS=vy,D.DataPoint=di,D.Divider=ui,D.DragHandleIcon=mc,D.EmptyState=Mr,D.EscalationsPanel=fd,D.FieldLabel=ss,D.FormCard=Ac,D.FormCardGrid=yc,D.FormField=Qe,D.FormInput=ds,D.FormSelect=us,D.FormTextarea=Gg,D.Heading1=Wa,D.Heading2=qa,D.Input=Zt,D.LabelText=oi,D.LayersIcon=Yg,D.LinkText=Bm,D.Loading=it,D.PageHeader=wr,D.PlusIcon=ai,D.Radio=fy,D.ReassignmentsPanel=pd,D.ResolutionTimePanel=hd,D.RoleMultiSelect=Br,D.SETTINGS_STEPS=tt,D.SearchBar=Ui,D.SearchIcon=Bi,D.Select=dt,D.SettingsCard=Un,D.SettingsCardHeader=Ji,D.SettingsWizardProvider=Gi,D.SlaCompliancePanel=md,D.StatusBadge=py,D.Stepper=$n,D.SystemCard=xi,D.SystemCardGrid=ns,D.TableCard=nc,D.TableCardGrid=ic,D.Tag=Ri,D.TeamWorkloadPanel=Ad,D.Textarea=cs,D.ThemeProvider=dl,D.Toggle=Cr,D.ToggleField=Ec,D.TrashIcon=Nr,D.Typography=gt,D.ValueText=li,D.WORKFLOW_SUBSTEPS=Xg,D.api=he,D.appDetailsReducer=bl,D.clearAppDetails=bh,D.clearComplaintError=dh,D.clearId=vh,D.clearSelectedComplaintResource=uh,D.colors=gy,D.complaintReducer=hl,D.createComplaintStore=ti,D.darkTheme=En,D.deepMerge=qt,D.default=vd,D.defaultThemeFile=sl,D.deleteFormField=Ln,D.getFormFields=Ve,D.lightTheme=st,D.normalizeThemeFile=ol,D.radii=Ay,D.resetComplaintState=fh,D.resolveActiveTheme=ll,D.saveFormFields=Tn,D.setAppDetails=yl,D.setAuthToken=La,D.setBaseUrl=rl,D.setId=_t,D.setIsEdit=Ht,D.spacing=yy,D.store=ni,D.themeToCssVars=il,D.typography=by,D.useSettingsWizard=xr,D.useTheme=ul,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=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"}})}));
|
|
13
13
|
//# sourceMappingURL=complaint-app.umd.js.map
|