@attabot/complaint-app 1.0.50 → 1.0.51

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