@ssgc/alert-console 2.1.1 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +1 -6
- package/dist/index.cjs.map +1 -1
- package/dist/index.es.js +2382 -2348
- package/dist/index.es.js.map +1 -1
- package/package.json +7 -5
package/dist/index.cjs
CHANGED
|
@@ -1,7 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("react"),u=require("antd"),Ne=require("@ant-design/icons"),de=require("react-toastify");function ws(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const s in e)if(s!=="default"){const r=Object.getOwnPropertyDescriptor(e,s);Object.defineProperty(t,s,r.get?r:{enumerable:!0,get:()=>e[s]})}}return t.default=e,Object.freeze(t)}const ae=ws(m);function js(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var ke={exports:{}},Te={};var vt;function Rs(){if(vt)return Te;vt=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function s(r,i,a){var l=null;if(a!==void 0&&(l=""+a),i.key!==void 0&&(l=""+i.key),"key"in i){a={};for(var o in i)o!=="key"&&(a[o]=i[o])}else a=i;return i=a.ref,{$$typeof:e,type:r,key:l,ref:i!==void 0?i:null,props:a}}return Te.Fragment=t,Te.jsx=s,Te.jsxs=s,Te}var Ie={};var St;function Ns(){return St||(St=1,process.env.NODE_ENV!=="production"&&(function(){function e(c){if(c==null)return null;if(typeof c=="function")return c.$$typeof===T?null:c.displayName||c.name||null;if(typeof c=="string")return c;switch(c){case j:return"Fragment";case L:return"Profiler";case D:return"StrictMode";case H:return"Suspense";case W:return"SuspenseList";case N:return"Activity"}if(typeof c=="object")switch(typeof c.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),c.$$typeof){case v:return"Portal";case X:return c.displayName||"Context";case Q:return(c._context.displayName||"Context")+".Consumer";case G:var S=c.render;return c=c.displayName,c||(c=S.displayName||S.name||"",c=c!==""?"ForwardRef("+c+")":"ForwardRef"),c;case z:return S=c.displayName||null,S!==null?S:e(c.type)||"Memo";case C:S=c._payload,c=c._init;try{return e(c(S))}catch{}}return null}function t(c){return""+c}function s(c){try{t(c);var S=!1}catch{S=!0}if(S){S=console;var R=S.error,P=typeof Symbol=="function"&&Symbol.toStringTag&&c[Symbol.toStringTag]||c.constructor.name||"Object";return R.call(S,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",P),t(c)}}function r(c){if(c===j)return"<>";if(typeof c=="object"&&c!==null&&c.$$typeof===C)return"<...>";try{var S=e(c);return S?"<"+S+">":"<...>"}catch{return"<...>"}}function i(){var c=J.A;return c===null?null:c.getOwner()}function a(){return Error("react-stack-top-frame")}function l(c){if(K.call(c,"key")){var S=Object.getOwnPropertyDescriptor(c,"key").get;if(S&&S.isReactWarning)return!1}return c.key!==void 0}function o(c,S){function R(){d||(d=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",S))}R.isReactWarning=!0,Object.defineProperty(c,"key",{get:R,configurable:!0})}function A(){var c=e(this.type);return p[c]||(p[c]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),c=this.props.ref,c!==void 0?c:null}function x(c,S,R,P,Y,Z){var U=R.ref;return c={$$typeof:O,type:c,key:S,props:R,_owner:P},(U!==void 0?U:null)!==null?Object.defineProperty(c,"ref",{enumerable:!1,get:A}):Object.defineProperty(c,"ref",{enumerable:!1,value:null}),c._store={},Object.defineProperty(c._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(c,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(c,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:Y}),Object.defineProperty(c,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:Z}),Object.freeze&&(Object.freeze(c.props),Object.freeze(c)),c}function y(c,S,R,P,Y,Z){var U=S.children;if(U!==void 0)if(P)if(I(U)){for(P=0;P<U.length;P++)E(U[P]);Object.freeze&&Object.freeze(U)}else console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else E(U);if(K.call(S,"key")){U=e(c);var se=Object.keys(S).filter(function(ee){return ee!=="key"});P=0<se.length?"{key: someKey, "+se.join(": ..., ")+": ...}":"{key: someKey}",f[U+P]||(se=0<se.length?"{"+se.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
|
|
2
|
-
let props = %s;
|
|
3
|
-
<%s {...props} />
|
|
4
|
-
React keys must be passed directly to JSX without using spread:
|
|
5
|
-
let props = %s;
|
|
6
|
-
<%s key={someKey} {...props} />`,P,U,se,U),f[U+P]=!0)}if(U=null,R!==void 0&&(s(R),U=""+R),l(S)&&(s(S.key),U=""+S.key),"key"in S){R={};for(var re in S)re!=="key"&&(R[re]=S[re])}else R=S;return U&&o(R,typeof c=="function"?c.displayName||c.name||"Unknown":c),x(c,U,R,i(),Y,Z)}function E(c){w(c)?c._store&&(c._store.validated=1):typeof c=="object"&&c!==null&&c.$$typeof===C&&(c._payload.status==="fulfilled"?w(c._payload.value)&&c._payload.value._store&&(c._payload.value._store.validated=1):c._store&&(c._store.validated=1))}function w(c){return typeof c=="object"&&c!==null&&c.$$typeof===O}var k=m,O=Symbol.for("react.transitional.element"),v=Symbol.for("react.portal"),j=Symbol.for("react.fragment"),D=Symbol.for("react.strict_mode"),L=Symbol.for("react.profiler"),Q=Symbol.for("react.consumer"),X=Symbol.for("react.context"),G=Symbol.for("react.forward_ref"),H=Symbol.for("react.suspense"),W=Symbol.for("react.suspense_list"),z=Symbol.for("react.memo"),C=Symbol.for("react.lazy"),N=Symbol.for("react.activity"),T=Symbol.for("react.client.reference"),J=k.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,K=Object.prototype.hasOwnProperty,I=Array.isArray,g=console.createTask?console.createTask:function(){return null};k={react_stack_bottom_frame:function(c){return c()}};var d,p={},h=k.react_stack_bottom_frame.bind(k,a)(),b=g(r(a)),f={};Ie.Fragment=j,Ie.jsx=function(c,S,R){var P=1e4>J.recentlyCreatedOwnerStacks++;return y(c,S,R,!1,P?Error("react-stack-top-frame"):h,P?g(r(c)):b)},Ie.jsxs=function(c,S,R){var P=1e4>J.recentlyCreatedOwnerStacks++;return y(c,S,R,!0,P?Error("react-stack-top-frame"):h,P?g(r(c)):b)}})()),Ie}var bt;function Cs(){return bt||(bt=1,process.env.NODE_ENV==="production"?ke.exports=Rs():ke.exports=Ns()),ke.exports}var n=Cs();const Ts="#FF3B30",Is="#FF9500",Es="#FFCC00",Os="#34C759",Fe={critical:Ts,high:Is,medium:Es,low:Os},xt={Critical:Fe.critical,High:Fe.high,Medium:Fe.medium,Low:Fe.low};function ks(e){return xt[e]||xt.Low}function wt(e){if(!e||typeof e!="string")return 0;const t=e.trim().split(":");if(t.length!==3)return 0;const[s,r,i]=t,a=Number.parseInt(s,10),l=Number.parseInt(r,10),o=Number.parseFloat(i||"0"),A=Number.isFinite(a)?a:0,x=Number.isFinite(l)?l:0,y=Number.isFinite(o)?o:0;return A*3600+x*60+y}function Je(e){const t=e.thirdPartyIds??e.ThirdPartyIds??e.thirdPartyId??e.ThirdPartyId??"",s=Array.isArray(t)?t.join(","):String(t??"");if(!s||!s.trim())return[];const r=s.split(",").map(l=>parseInt(String(l).trim(),10)).filter(l=>Number.isFinite(l)),i=new Set,a=[];return r.forEach(l=>{i.has(l)||(i.add(l),a.push(l))}),a}const Fs="data:image/png;base64,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",Ps="data:image/png;base64,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",Ms="data:image/png;base64,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",Us="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEsAAAA3CAYAAABErrdQAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAmySURBVHgB7VsLUFTXGf7uLuzC8hBQiI5WMVHR1EwFUUFp1Ip5WOsYW9RWG41WjRYjqE3EJzqpNE58tGmirSHUTEZrjYnSqk1titVRY4Jix9d0FAkiCsK6u8Au+z79z13YLLrLLiv7qOSbuXPPPeeec8/97n/+/z//OVcAoazsWmJsbGSRTCYbJpEIMfgWIiwWK5qatId0OmNucvKQrwVOVO/e8WXx8d2/JckF6uqU6urquuSQyEjZdndEWa1WSCQSPC4wmUwkNRYIgmDPk8vlLu/n/Oh0+iKJQhExFW7wOBHFERoaipCQEDDGPK4jk4UOk0iljxcRnoKTxYXAU8K4Lu+aTLWADFqboegOXZosDqlU6rl0IYBw10UrfA8+HD2VrhAECFZiSkJ9PHlHi8/v6iGX2jpspnyFFFiUFIMouUQkzNdflEuXJwgYWZyorRfvY+WpOgz/jgIWUYwYQqngntaMgi+VKJ/9JGLCPHuRR+qLh9Y+YGQ16K1444t6nJ/ZDynxYQ+VZxTfxsYLSmwfnQBfw1OyAqazzDQOw0hq+kY5/16ZJG2VDWYEEwJGVqtONbnQ4jpSXjKp52bdHwgYWdxam4iQDjjRAUfAyAolqRmZICOFjv8bBETBc2GKJLfg1JS+YpofwTXgnMN337Wd8SXgG3IEimgITu9hsKss1vZw9Lit/vBcW+AbyeJvQOa4ads2aHfuhBCu+Eaj04syCpHIUlMR80EhhBDnXYiRh2BrhQoX//I1LA+UmciSdpdLcWBCL/SLDoW/4BuyOFFvb4VmQz7i9n4EIVQGZrG5AeLUIjISjStWoi4jAwnnzjltotlswXfj5NiZEQ+1oS1d0aTo9t3UYshHFahfOACKED8pvpqae8wXqE0azJp2F7ost2q1rIrkzKJSOS1//ct6NuOzO6w9RH9wnX1WpWX+AOfJd59EoUB7rTO9EZJusTzQ7bScD1qD1bXe42qLD1UL85/S8h1ZfLhZ2nsRKhNf1Hs7SB/cr1bUp9ZQkHqvEq18Uu2GCW4trX50an1Hlr4ZzGhwXS6Tt1dbJKHG5FoyueDyybg8xH9erc+cUsXiJVDn5EAS352MI4VZrA66ieL+zGimMI0gWk5nWDgwGlspKrHjshqJ5B7oOXvMRlJUiIB9NxohIekd2zMc/oJvyCKlHbk0GxJ5GBqyl1GIwUhv+WBcSuBhSpG4B8HlaVCsDOdmJmLeiRoojQyOAmSkOeXAmFD8d1Yi5ftPawncJD7xRDw6HS2OqSswgwF3u/dAz1uVkMTFPVy9JZLaHkSH3oP7OgO1tXU+1FluAmpMq+XxXOeBeL6oa5vXtDuf4Rz5UbCCdHWHiG4s+A3Ueavdku5PBCys7A6W8nJYlEoEE4I2miTI5TQB95+l8wSBI8tq00lCqAvhDg+jKZEewYTAkRWhEEM1xqtXnRYbSv6N0EGDEEwI3LohDbFub25GXXo6wsaPh822kbSRb2a+chnWZiMi16yxWUTBjyavHfjOz3IHs1l0So1lZTCWlPANUjZSTBSNiI1D+IwZot4KFrK4nxU4sjjcERFEUuVbp9QTuCMiSIhqRZffctQRdJgsa8v0w2Qyo7nZQNesTb5nbTivw4N5PI+Xs5YVHLW6AQaDyX4/P3iRmWL0anUT9BRxdazLz3yXsVKpoXvMTp/jLTpMFt9EUVp6BSNGLEJW1kY8/8IyfFV6uUP7TvV6AxYs3PJQ/vXrVXh91Tt8S6K4QXbO3Hy8QsfoMQtwuPiE+Ax+nD17GS+8uBzz523C1Jd+hR2/3SsuhPCymhoVJj73S7y66E2MHbcYV6/d7Lw9sd4sWBT/9QR7d+d+MV1bq2RPPTWZKZXqh+4jibCn6eu2nBmjL89uVdXR2eKQb6U2NCx76VvidU7OFlZY+ElLOwZWUWFbvCgpucD6989iKnWDve35v1jPcnO3iem0tFfZF2eviWmNppEWGpSsM8B58trPat0KnZAQB0VENHRaPT7++J84crSMhoAKy3NnYcqUUcjLe5/WBhkqK6rIKZdi16414jD5U9ERrFs3BzW19Vi0aAdiY8NQVVWP9NE2RzQ5+WlsLtiLCZlp6Ne3FxITe4n5q/J+h9On30NMt6iWoSrg/d0bkTpiAerrNUhLH4yCt4qo/bWIiYlCdHQnbk33RrJOnjzPklNeFr/mxImvsWk/yRfz6+pUrLnZSI65hWVmLmYmo4kNSPopu3O3Tszbv/84mz07nyTFyEaPXynWee75JezSpeti+aeHTjAaevbnHDx4nCUPn8t+MCGb2r7PGhu1bELmAqd9eiPv9+zYsdNi+tcFRWx46kw2Y0Y+zZiMrEV4HwleL4Vpm/WYNCkdSUl9wKQyHDywQcy/c0eNFSu3471df8a9e42i6R858mn06tmDQlcCpk/PRFi4BLpmHXp0j8bNG5V4sn9vDB06QIzEDE8ZjPj4aLEt6h+mTcvEhdIi5CzLwouTliKCpkgNGiMpfKO9L60r+eXl1STlsWJ69aq5KP1qH4Y+0w8vTVvVaR6IV2RZyMpERITR8MmioSXBwYP/QkODDgsXbsa2rbl4Lftn1NE+oiI3Gm2WjCtglboRJH00LYyAiaxZQs94XL9RY+sIscWNpFqjE68bG3X2502e/Cxksihqy4AxGanIXf6OvYwTUUoGppyIT0kZQv3Q2svmzfsRau/dR2fBK51lNlmoU01i+pMDm5GckoVRo4bie8P64OjRM2TStTh86Dw+3CMn6bmNxUu2YGLmKOz58FOsWP5z0dI1qTS0iq/A5B+m48fT12J61jgc+ds56HQ2qdlc8AdU31bh2bGp+Mfx88jOzhL15PZt2Zg1ewNJ6WpkfH8Yqm7X4O/HSnGi5F1RF748Jx9Jg/pi4MB+KC7+HEWFeeg0eKOzNJomdpf0UCu4RayoqCa9Y2Lr1+9mZ89eEvWXVtvM5i0oYGfO/Ifl5xey6mrbs8hHY5WV1aI15Dh5+jJbt/6Pom67f19tzz9z5gpbu66Q3bhxS7wm38pedulSOdu0aQ8rLj5lt6qt58OHT7GNG4uYSmWzmK11HgWcpw6T5agseSe4G+AKmgYdGzNuWZs8x/t52tmL8GdYH9DKjvWsHdDY7fWvI/DKdXBUlu7MsSJchrcL5rfJkzisMNjSgotnCC7rdegXkk5c0fDp3JB3NC3tmQ79fRXM8DFZtuaFIIsePAhP544SGv5qdHF4Qha3tBLygy6ii8PiYo+YI5qamg5LVKrGV/g/wOjCaO+XXw7Oj05nyhGVCf+pXKGQbY+MjJjaVf9sdQauovjI4wLF/77/Hz2ddffND91GAAAAAElFTkSuQmCC",Ds="data:image/png;base64,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",Ht="",Ls=Ht,Bs="",Qs="",jt={snl:{alerts:Ht,rules:Ls},schools:{alerts:Bs,rules:Qs}};function pe(e,t){const s=(e||"").replace(/\/+$/,""),r=t.startsWith("/")?t:`/${t}`;return`${s}${r}`}function qs(){try{const e=localStorage.getItem("authToken");return e?{Authorization:`Bearer ${e}`}:{}}catch{return{}}}function Rt(e,t){if(!t)return e;const s=new URL(e);return Object.entries(t).forEach(([r,i])=>{i!=null&&String(i).length>0&&s.searchParams.set(r,String(i))}),s.toString()}async function ye(e,t){const s={...t.headers,...qs()},r=await fetch(e,{...t,headers:s});if(r.status===401)throw window.location.href="/login",new Error("Unauthorized");if(r.status===204)return{};const i=await r.text();let a={};if(i)try{a=JSON.parse(i)}catch{a={ok:r.ok,status:r.status,raw:i}}if(!r.ok){const l=a?.errorMessage||a?.message||`HTTP ${r.status}`;throw new Error(l)}return a}function Ws(e){console.log("baseurl",e);const t={"Content-Type":"application/json",...e.headers||{}};return{async listAlerts(){const s=pe(e.baseUrl,"/api/Alert"),r=await ye(s,{method:"GET",headers:t});return Array.isArray(r)?r:[]},async getAlertStatusList(){const s=pe(e.baseUrl,"/api/Alert/AlertStatusList"),r=await ye(s,{method:"GET",headers:t});return Array.isArray(r)?r:r&&typeof r=="object"&&Array.isArray(r.data)?r.data:[]},async getAlertsReport(s){const r=pe(e.baseUrl,"/Alerts/GetAlertsReport"),i=Rt(r,s),a=await ye(i,{method:"GET",headers:t});return Array.isArray(a)?a:[]},async updateAlertStatus(s){const r=pe(e.baseUrl,"/api/Alert/status");return ye(r,{method:"PUT",headers:t,body:JSON.stringify(s??{})})},async getAdminSettings(){const s=pe(e.baseUrl,"/api/Alert/GetAdminSettings"),r=await ye(s,{method:"GET",headers:t});if(r&&typeof r=="object"){if("data"in r)return r.data;if("userId"in r)return r}return null},async setAdminSettings(s){const r=pe(e.baseUrl,"/api/Alert/SetAdminSettings"),i={userId:0,isAdminSetting:!0,sortBy:s?.sortBy??"",groupBy:s?.groupBy??""};return ye(r,{method:"POST",headers:t,body:JSON.stringify(i)})},async getPreferenceSettings(){const s=pe(e.baseUrl,"/api/Alert/GetPreferenceSettings"),r=await ye(s,{method:"GET",headers:t});if(r&&typeof r=="object"){if("data"in r)return r.data;if("anomalyIds"in r)return r}return null},async setPreferenceSettings(s){const r=pe(e.baseUrl,"/api/Alert/SetPreferenceSettings");return ye(r,{method:"POST",headers:t,body:JSON.stringify(s??{})})},async getAlertNotifications(s){const r=pe(e.baseUrl,"/api/Alert/GetNotifications"),i=Rt(r,{alertId:s}),a=await ye(i,{method:"GET",headers:t});return Array.isArray(a)?a:a&&typeof a=="object"&&Array.isArray(a.data)?a.data:[]}}}function Nt(e,t){const s=(e||"").replace(/\/+$/,""),r=t.startsWith("/")?t:`/${t}`;return`${s}${r}`}function zs(){try{const e=localStorage.getItem("authToken");return e?{Authorization:`Bearer ${e}`}:{}}catch{return{}}}async function Pe(e,t){const s={...t.headers,...zs()},r=await fetch(e,{...t,headers:s});if(r.status===401)throw window.location.href="/login",new Error("Unauthorized");if(r.status===204)return{};const i=await r.text();let a={};if(i)try{a=JSON.parse(i)}catch{a={ok:r.ok,status:r.status,raw:i}}if(!r.ok){const l=a?.errorMessage||a?.message||`HTTP ${r.status}`;throw new Error(l)}return a}function Hs(e){console.log("cfg",e);const t={"Content-Type":"application/json",...e.headers||{}},s=Nt(e.baseUrl,"/api/Rules"),r=Nt(e.baseUrl,"/api/Rules/lookups");return console.log("url",s),{async getRules(){const i=await Pe(s,{method:"GET",headers:t});return Array.isArray(i)?i:[]},async setEscalationSettings(i){return Pe(s,{method:"POST",headers:t,body:JSON.stringify(i??{})})},async getLookups(){return Pe(r,{method:"GET",headers:t})},async updateRule(i,a){const l=`${s}/${i}`;return Pe(l,{method:"PUT",headers:t,body:JSON.stringify(a??{})})}}}function ge(e,t){const s=(e||"").replace(/\/+$/,""),r=t.startsWith("/")?t:`/${t}`;return`${s}${r}`}function Ys(){try{const e=localStorage.getItem("authToken");return e?{Authorization:`Bearer ${e}`}:{}}catch{return{}}}function Ct(e,t){if(!t)return e;const s=new URL(e);return Object.entries(t).forEach(([r,i])=>{i!=null&&String(i).length>0&&s.searchParams.set(r,String(i))}),s.toString()}async function Ae(e,t){const s={...t.headers,...Ys()},r=await fetch(e,{...t,headers:s});if(r.status===401)throw window.location.href="/login",new Error("Unauthorized");if(r.status===204)return{};const i=await r.text();let a={};if(i)try{a=JSON.parse(i)}catch{a={ok:r.ok,status:r.status,raw:i}}if(!r.ok){const l=a?.Message||`HTTP ${r.status}`;throw new Error(l)}return a}const ie=(...e)=>e.find(t=>t!=null);function Gs(e){return{id:String(ie(e?.AlertId,e?.alertId)??""),priority:ie(e?.Priority,e?.priority,"Low"),timestamp:ie(e?.Timestamp,e?.timestamp,""),statusType:ie(e?.Status,e?.statusType,""),description:ie(e?.Description,e?.description,""),eventName:ie(e?.EventName,e?.eventName),ruleName:ie(e?.RuleName,e?.ruleName),spaceName:ie(e?.SpaceName,e?.spaceName),assignTeam:ie(e?.AssignTeam,e?.assignTeam),cameraName:ie(e?.CameraName,e?.cameraName),type:ie(e?.Type,e?.type),mediaDetails:ie(e?.MediaDetails,e?.mediaDetails),additionalMedia:ie(e?.AdditionalMedia,e?.additionalMedia),timeElapsed:ie(e?.TimeElapsed,e?.timeElapsed),timeRemaining:ie(e?.TimeRemaining,e?.timeRemaining),anomalyName:ie(e?.AnomalyName,e?.anomalyName),alertDetails:ie(e?.AlertDetails,e?.alertDetails),statusHistory:ie(e?.StatusHistory,e?.statusHistory)}}function Xs(e){const t={"Content-Type":"application/json",...e.headers||{}};return{async listAlerts(){const s=ge(e.baseUrl,"/api/detectionpolicy/alerts?customerId=99e5c8b5-b9d4-4d35-8885-7f121c532664"),r=await Ae(s,{method:"GET",headers:t});return Array.isArray(r?.Items)?(r?.Items).map(Gs):[]},async getAlertStatusList(){const s=ge(e.baseUrl,"/api/detectionpolicy/alerts/StatusList"),r=await Ae(s,{method:"GET",headers:t});return Array.isArray(r)?r:[]},async getAlertsReport(s){const r=ge(e.baseUrl,"/api/detectionpolicy/alerts/GetAlertsReport"),i=Ct(r,s),a=await Ae(i,{method:"GET",headers:t});return Array.isArray(a)?a:[]},async updateAlertStatus(s){const r=ge(e.baseUrl,"/api/detectionpolicy/alerts/Log"),i={AlertId:s.alertId??s.alertUniqueId??s.AlertId,Status:s.status??s.Status??"",Notes:s.notes??s.Notes??""};return Ae(r,{method:"POST",headers:t,body:JSON.stringify(i)})},async getAdminSettings(){const s=ge(e.baseUrl,"/api/detectionpolicy/alerts/GetAdminSettings"),r=await Ae(s,{method:"GET",headers:t});if(r&&typeof r=="object"){if("data"in r)return r.data;if("userId"in r)return r}return null},async setAdminSettings(s){const r=ge(e.baseUrl,"/api/detectionpolicy/alerts/SetAdminSettings"),i={userId:0,isAdminSetting:!0,sortBy:s?.sortBy??"",groupBy:s?.groupBy??""};return Ae(r,{method:"POST",headers:t,body:JSON.stringify(i)})},async getPreferenceSettings(){const s=ge(e.baseUrl,"/api/detectionpolicy/alerts/GetPreferenceSettings"),r=await Ae(s,{method:"GET",headers:t});if(r&&typeof r=="object"){if("data"in r)return r.data;if("anomalyIds"in r)return r}return null},async setPreferenceSettings(s){const r=ge(e.baseUrl,"/api/detectionpolicy/alerts/SetPreferenceSettings");return Ae(r,{method:"POST",headers:t,body:JSON.stringify(s??{})})},async getAlertNotifications(s){const r=ge(e.baseUrl,"/api/detectionpolicy/alerts/GetNotifications"),i=Ct(r,{alertId:s}),a=await Ae(i,{method:"GET",headers:t});return Array.isArray(a)?a:a&&typeof a=="object"&&Array.isArray(a.data)?a.data:[]}}}function Js(){try{const e=localStorage.getItem("authToken");return e?{Authorization:`Bearer ${e}`}:{}}catch{return{}}}async function Me(e,t){const s={...t.headers,...Js()},r=await fetch(e,{...t,headers:s});if(r.status===401)throw window.location.href="/login",new Error("Unauthorized");if(r.status===204)return{};const i=await r.text();let a={};if(i)try{a=JSON.parse(i)}catch{a={ok:r.ok,status:r.status,raw:i}}if(!r.ok){const l=a?.errorMessage||a?.message||`HTTP ${r.status}`;throw new Error(l)}return a}function Vs(e){const t={"Content-Type":"application/json",...e.headers||{}},s=new URL("/api/detectionpolicy/rules",e.baseUrl).toString(),r=new URL("/api/detectionpolicy/rules/lookups",e.baseUrl).toString();return{async getRules(){const i=await Me(s,{method:"GET",headers:t});return Array.isArray(i)?i:[]},async setEscalationSettings(i){return Me(s,{method:"POST",headers:t,body:JSON.stringify(i??{})})},async getLookups(){return Me(r,{method:"GET",headers:t})},async updateRule(i,a){const l=`${s}/${i}`;return Me(l,{method:"PUT",headers:t,body:JSON.stringify(a??{})})}}}const Yt=m.createContext(null);function Gt({tenant:e="snl",override:t,children:s}){const r=m.useMemo(()=>{const a=t?.alertsBaseUrl&&t.alertsBaseUrl.trim()||jt[e]?.alerts||"";let l=t?.rulesBaseUrl&&t.rulesBaseUrl.trim()||jt[e]?.rules||"";e==="snl"&&(l=a);const o=t?.headers;return{tenant:e,alertsBaseUrl:a,rulesBaseUrl:l,headers:o}},[e,t?.alertsBaseUrl,t?.rulesBaseUrl,JSON.stringify(t?.headers||{})]);console.log("config",r);const i=m.useMemo(()=>{const a=r.tenant==="schools"?Xs({baseUrl:r.alertsBaseUrl,headers:r.headers}):Ws({baseUrl:r.alertsBaseUrl,headers:r.headers}),l=r.tenant==="schools"?Vs({baseUrl:r.rulesBaseUrl,headers:r.headers}):Hs({baseUrl:r.alertsBaseUrl,headers:r.headers});return{config:r,alerts:a,rules:l}},[r]);return n.jsx(Yt.Provider,{value:i,children:s})}function he(){const e=m.useContext(Yt);if(!e)throw new Error("useApi must be used inside ApiProvider");return e}function We({value:e,onChange:t,options:s,className:r,dropdownWidth:i}){return n.jsx(u.Select,{className:r,options:s,value:e,onChange:t,dropdownMatchSelectWidth:i??260})}const Ks=[{label:"All levels",value:"All"},{label:"Critical",value:"Critical"},{label:"High",value:"High"},{label:"Medium",value:"Medium"},{label:"Low",value:"Low"}];function Zs({value:e,onChange:t,options:s}){return n.jsx(We,{className:"w-[140px]",value:e,onChange:t,options:s||Ks})}const _s=[{label:"All Types",value:"All"},{label:"Weapon Detection",value:"Weapon"},{label:"Unauthorized Access",value:"Unauthorized"},{label:"Aggressive Behavior",value:"Aggressive"}];function $s({value:e,onChange:t,options:s}){return n.jsx(We,{className:"w-[220px]",dropdownWidth:280,value:e,onChange:t,options:s||_s})}function er({value:e,onChange:t,options:s}){return n.jsx(We,{className:"w-[100px]",value:e,onChange:t,options:s||[]})}const tr=[{label:"All",value:"All"},{label:"SOS",value:"SOS"},{label:"911",value:"911"},{label:"Aegix",value:"Aegix"},{label:"Eli",value:"Eli"},{label:"Skydio",value:"Skydio"}];function sr({value:e,onChange:t,options:s}){return n.jsx(We,{className:"w-[130px]",value:e,onChange:t,options:s||tr})}function Xt({columns:e,data:t,loading:s=!1,pageSize:r=10,rowKey:i="id",toolbar:a,tableProps:l}){return n.jsxs("div",{children:[a,n.jsx(u.Table,{rowKey:i,dataSource:t,columns:e,loading:s,pagination:{pageSize:r,showSizeChanger:!0,showTotal:o=>`Total: ${o}`},bordered:!0,...l})]})}function nt({data:e,loading:t=!1,pageSize:s=10,columns:r,severityOptions:i,spaceOptions:a,renderActions:l,onAlertIdClick:o}){const A={Critical:"#FFE2E2",High:"#FF95004D",Medium:"#FEF9C2",Low:"#E0EDFF"},x={Critical:"#FF3B30",High:"#FFB86A",Medium:"#FFCC00",Low:"#007AFF"},[y,E]=m.useState("All"),[w,k]=m.useState("All"),[O,v]=m.useState("All"),[j,D]=m.useState("All"),[L,Q]=m.useState(""),[X,G]=m.useState([{label:"All",value:"All"}]),{rules:H}=he(),W={1:{title:"911 Inform",kind:"img",src:Ds,alt:"911 Inform"},2:{title:"SKYDIO",kind:"img",src:Fs,alt:"Skydio"},3:{title:"RapidSOS",kind:"img",src:Us,alt:"RapidSOS"},4:{title:"AEGIX",kind:"img",src:Ps,alt:"Aegix"},5:{title:"Eli Technologies",kind:"img",src:Ms,alt:"Eli Technologies"},6:{title:"Email",kind:"icon",icon:n.jsx(Ne.MailOutlined,{})},7:{title:"SMS",kind:"icon",icon:n.jsx(Ne.MessageOutlined,{})}},z=m.useMemo(()=>{const d=new Set;(e||[]).forEach(h=>{const b=h.anomalyName;typeof b=="string"&&b.trim().length>0&&d.add(b.trim())});const p=Array.from(d).map(h=>({label:h,value:h}));return[{label:"All Types",value:"All"},...p]},[e]),C=m.useMemo(()=>{const d=new Set;(e||[]).forEach(h=>{const b=h.spaceName;typeof b=="string"&&b.trim().length>0&&d.add(b.trim())});const p=Array.from(d).map(h=>({label:h,value:h}));return[{label:"All",value:"All"},...p]},[e]);m.useEffect(()=>{let d=!0;return(async()=>{try{const p=await H.getLookups(),b=(Array.isArray(p.thirdParties)?p.thirdParties:[]).map(f=>({label:f.thirdPartyName,value:String(f.thirdPartyId)}));d&&G([{label:"All",value:"All"},...b])}catch{}})(),()=>{d=!1}},[H]);const N=m.useMemo(()=>(e||[]).some(d=>Je(d).length>0),[e]),T=m.useMemo(()=>(e||[]).filter(d=>{const p=y==="All"||d.priority===y,h=`${d.id} ${d.description} ${d.statusType}`.toLowerCase(),b=!L||h.includes(L.toLowerCase()),f=w==="All"||(d.anomalyName||"").toLowerCase()===w.toLowerCase(),c=O==="All"||(d.spaceName||"").toLowerCase()===O.toLowerCase(),S=!N||j==="All"||Je(d).includes(Number(j));return p&&b&&f&&c&&S}),[e,y,L,w,O,j,N]),J=z,K=a&&a.length?a:C,I=[{title:"Severity",dataIndex:"priority",key:"priority",width:120,render:d=>n.jsx(u.Tag,{className:"px-[10px] py-[2px]",style:{border:`2px solid ${x[d]}`,backgroundColor:A[d]},children:d})},{title:"Alert Timestamp",dataIndex:"timestamp",key:"timestamp",width:220,render:(d,p)=>{const h=p.timeElapsed?p.timeElapsed:void 0,b=p.timeRemaining?p.timeRemaining:void 0,f=h?wt(h):0,c=b?wt(b):0,S=Math.round(f/(f+c)*100);return n.jsxs("div",{children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx("span",{className:"w-[70px]",children:"Elapsed:"}),n.jsx("span",{className:"font-medium",children:h??"-"})]}),n.jsx(u.Progress,{percent:S,showInfo:!1,size:"small",strokeColor:ks(p.priority)}),n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx("span",{className:"w-[70px]",children:"Remaining"}),n.jsx("span",{className:"font-medium",children:b??"-"})]})]})}},{title:"Status",dataIndex:"statusType",key:"statusType",width:140},{title:"Description",dataIndex:"description",key:"description",render:(d,p)=>n.jsxs("div",{children:[n.jsx("a",{onClick:h=>{h.preventDefault(),o?.(p)},className:"inline-block mb-1 text-blue-600",children:p.clientId}),n.jsx("div",{className:"text-black/65",children:d})]})},{title:"Actions",key:"actions",width:320,render:(d,p)=>{if(l)return n.jsx(n.Fragment,{children:l(p)});const h=Je(p);return h.length?n.jsx(u.Space,{size:"middle",children:h.map(b=>{const f=W[b];if(!f)return null;const c=`${A[p.priority]} border ${x[p.priority]}`;return n.jsx(u.Tooltip,{title:f.title,children:n.jsx(u.Button,{size:"large",icon:f.kind==="img"&&f.src?n.jsx("img",{src:f.src,alt:f.alt||f.title}):f.icon,className:c})},b)})}):null}},{title:"Tracker",key:"tracker",width:140,render:(d,p)=>n.jsx("a",{onClick:h=>{h.preventDefault(),o?.(p,{tab:"track"})},className:"text-blue-600 hover:underline",children:"Tracker"})}],g=r&&r.length?r:I;return n.jsx("div",{children:n.jsx(Xt,{rowKey:"id",data:T,columns:g,loading:t,pageSize:s,toolbar:n.jsxs(u.Row,{gutter:[12,12],className:"mb-3",align:"middle",children:[n.jsx(u.Col,{flex:"none",children:n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx("span",{children:"Severity"}),n.jsx(Zs,{value:y,onChange:E,options:i})]})}),n.jsx(u.Col,{flex:"none",children:n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx("span",{children:"Anomaly type"}),n.jsx($s,{value:w,onChange:k,options:J})]})}),n.jsx(u.Col,{flex:"none",children:n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx("span",{children:"Space"}),n.jsx(er,{value:O,onChange:v,options:K})]})}),n.jsx(u.Col,{flex:"none",children:n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx("span",{children:"Action Taken"}),n.jsx(sr,{value:j,onChange:D,options:X})]})}),n.jsx(u.Col,{flex:"auto"}),n.jsx(u.Col,{flex:"none",children:n.jsx(u.Input.Search,{allowClear:!0,placeholder:"Search",onSearch:Q,onChange:d=>Q(d.target.value),className:"w-[260px] ",enterButton:!0})})]})})})}var Ce=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},rr={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},nr=class{#e=rr;#t=!1;setTimeoutProvider(e){process.env.NODE_ENV!=="production"&&this.#t&&e!==this.#e&&console.error("[timeoutManager]: Switching provider after calls to previous provider might result in unexpected behavior.",{previous:this.#e,provider:e}),this.#e=e,process.env.NODE_ENV!=="production"&&(this.#t=!1)}setTimeout(e,t){return process.env.NODE_ENV!=="production"&&(this.#t=!0),this.#e.setTimeout(e,t)}clearTimeout(e){this.#e.clearTimeout(e)}setInterval(e,t){return process.env.NODE_ENV!=="production"&&(this.#t=!0),this.#e.setInterval(e,t)}clearInterval(e){this.#e.clearInterval(e)}},be=new nr;function ir(e){setTimeout(e,0)}var xe=typeof window>"u"||"Deno"in globalThis;function le(){}function ar(e,t){return typeof e=="function"?e(t):e}function Ze(e){return typeof e=="number"&&e>=0&&e!==1/0}function Jt(e,t){return Math.max(e+(t||0)-Date.now(),0)}function ve(e,t){return typeof e=="function"?e(t):e}function ue(e,t){return typeof e=="function"?e(t):e}function Tt(e,t){const{type:s="all",exact:r,fetchStatus:i,predicate:a,queryKey:l,stale:o}=e;if(l){if(r){if(t.queryHash!==it(l,t.options))return!1}else if(!Oe(t.queryKey,l))return!1}if(s!=="all"){const A=t.isActive();if(s==="active"&&!A||s==="inactive"&&A)return!1}return!(typeof o=="boolean"&&t.isStale()!==o||i&&i!==t.state.fetchStatus||a&&!a(t))}function It(e,t){const{exact:s,status:r,predicate:i,mutationKey:a}=e;if(a){if(!t.options.mutationKey)return!1;if(s){if(we(t.options.mutationKey)!==we(a))return!1}else if(!Oe(t.options.mutationKey,a))return!1}return!(r&&t.state.status!==r||i&&!i(t))}function it(e,t){return(t?.queryKeyHashFn||we)(e)}function we(e){return JSON.stringify(e,(t,s)=>$e(s)?Object.keys(s).sort().reduce((r,i)=>(r[i]=s[i],r),{}):s)}function Oe(e,t){return e===t?!0:typeof e!=typeof t?!1:e&&t&&typeof e=="object"&&typeof t=="object"?Object.keys(t).every(s=>Oe(e[s],t[s])):!1}var or=Object.prototype.hasOwnProperty;function _e(e,t){if(e===t)return e;const s=Et(e)&&Et(t);if(!s&&!($e(e)&&$e(t)))return t;const i=(s?e:Object.keys(e)).length,a=s?t:Object.keys(t),l=a.length,o=s?new Array(l):{};let A=0;for(let x=0;x<l;x++){const y=s?x:a[x],E=e[y],w=t[y];if(E===w){o[y]=E,(s?x<i:or.call(e,y))&&A++;continue}if(E===null||w===null||typeof E!="object"||typeof w!="object"){o[y]=w;continue}const k=_e(E,w);o[y]=k,k===E&&A++}return i===l&&A===i?e:o}function Be(e,t){if(!t||Object.keys(e).length!==Object.keys(t).length)return!1;for(const s in e)if(e[s]!==t[s])return!1;return!0}function Et(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function $e(e){if(!Ot(e))return!1;const t=e.constructor;if(t===void 0)return!0;const s=t.prototype;return!(!Ot(s)||!s.hasOwnProperty("isPrototypeOf")||Object.getPrototypeOf(e)!==Object.prototype)}function Ot(e){return Object.prototype.toString.call(e)==="[object Object]"}function lr(e){return new Promise(t=>{be.setTimeout(t,e)})}function et(e,t,s){if(typeof s.structuralSharing=="function")return s.structuralSharing(e,t);if(s.structuralSharing!==!1){if(process.env.NODE_ENV!=="production")try{return _e(e,t)}catch(r){throw console.error(`Structural sharing requires data to be JSON serializable. To fix this, turn off structuralSharing or return JSON-serializable data from your queryFn. [${s.queryHash}]: ${r}`),r}return _e(e,t)}return t}function cr(e,t,s=0){const r=[...e,t];return s&&r.length>s?r.slice(1):r}function ur(e,t,s=0){const r=[t,...e];return s&&r.length>s?r.slice(0,-1):r}var Qe=Symbol();function Vt(e,t){return process.env.NODE_ENV!=="production"&&e.queryFn===Qe&&console.error(`Attempted to invoke queryFn when set to skipToken. This is likely a configuration error. Query hash: '${e.queryHash}'`),!e.queryFn&&t?.initialPromise?()=>t.initialPromise:!e.queryFn||e.queryFn===Qe?()=>Promise.reject(new Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}function at(e,t){return typeof e=="function"?e(...t):!!e}function dr(e,t,s){let r=!1,i;return Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(i??=t(),r||(r=!0,i.aborted?s():i.addEventListener("abort",s,{once:!0})),i)}),e}var hr=class extends Ce{#e;#t;#s;constructor(){super(),this.#s=e=>{if(!xe&&window.addEventListener){const t=()=>e();return window.addEventListener("visibilitychange",t,!1),()=>{window.removeEventListener("visibilitychange",t)}}}}onSubscribe(){this.#t||this.setEventListener(this.#s)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#s=e,this.#t?.(),this.#t=e(t=>{typeof t=="boolean"?this.setFocused(t):this.onFocus()})}setFocused(e){this.#e!==e&&(this.#e=e,this.onFocus())}onFocus(){const e=this.isFocused();this.listeners.forEach(t=>{t(e)})}isFocused(){return typeof this.#e=="boolean"?this.#e:globalThis.document?.visibilityState!=="hidden"}},ot=new hr;function tt(){let e,t;const s=new Promise((i,a)=>{e=i,t=a});s.status="pending",s.catch(()=>{});function r(i){Object.assign(s,i),delete s.resolve,delete s.reject}return s.resolve=i=>{r({status:"fulfilled",value:i}),e(i)},s.reject=i=>{r({status:"rejected",reason:i}),t(i)},s}var fr=ir;function mr(){let e=[],t=0,s=o=>{o()},r=o=>{o()},i=fr;const a=o=>{t?e.push(o):i(()=>{s(o)})},l=()=>{const o=e;e=[],o.length&&i(()=>{r(()=>{o.forEach(A=>{s(A)})})})};return{batch:o=>{let A;t++;try{A=o()}finally{t--,t||l()}return A},batchCalls:o=>(...A)=>{a(()=>{o(...A)})},schedule:a,setNotifyFunction:o=>{s=o},setBatchNotifyFunction:o=>{r=o},setScheduler:o=>{i=o}}}var ne=mr(),pr=class extends Ce{#e=!0;#t;#s;constructor(){super(),this.#s=e=>{if(!xe&&window.addEventListener){const t=()=>e(!0),s=()=>e(!1);return window.addEventListener("online",t,!1),window.addEventListener("offline",s,!1),()=>{window.removeEventListener("online",t),window.removeEventListener("offline",s)}}}}onSubscribe(){this.#t||this.setEventListener(this.#s)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#s=e,this.#t?.(),this.#t=e(this.setOnline.bind(this))}setOnline(e){this.#e!==e&&(this.#e=e,this.listeners.forEach(s=>{s(e)}))}isOnline(){return this.#e}},qe=new pr;function yr(e){return Math.min(1e3*2**e,3e4)}function Kt(e){return(e??"online")==="online"?qe.isOnline():!0}var st=class extends Error{constructor(e){super("CancelledError"),this.revert=e?.revert,this.silent=e?.silent}};function Zt(e){let t=!1,s=0,r;const i=tt(),a=()=>i.status!=="pending",l=v=>{if(!a()){const j=new st(v);w(j),e.onCancel?.(j)}},o=()=>{t=!0},A=()=>{t=!1},x=()=>ot.isFocused()&&(e.networkMode==="always"||qe.isOnline())&&e.canRun(),y=()=>Kt(e.networkMode)&&e.canRun(),E=v=>{a()||(r?.(),i.resolve(v))},w=v=>{a()||(r?.(),i.reject(v))},k=()=>new Promise(v=>{r=j=>{(a()||x())&&v(j)},e.onPause?.()}).then(()=>{r=void 0,a()||e.onContinue?.()}),O=()=>{if(a())return;let v;const j=s===0?e.initialPromise:void 0;try{v=j??e.fn()}catch(D){v=Promise.reject(D)}Promise.resolve(v).then(E).catch(D=>{if(a())return;const L=e.retry??(xe?0:3),Q=e.retryDelay??yr,X=typeof Q=="function"?Q(s,D):Q,G=L===!0||typeof L=="number"&&s<L||typeof L=="function"&&L(s,D);if(t||!G){w(D);return}s++,e.onFail?.(s,D),lr(X).then(()=>x()?void 0:k()).then(()=>{t?w(D):O()})})};return{promise:i,status:()=>i.status,cancel:l,continue:()=>(r?.(),i),cancelRetry:o,continueRetry:A,canStart:y,start:()=>(y()?O():k().then(O),i)}}var _t=class{#e;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),Ze(this.gcTime)&&(this.#e=be.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(xe?1/0:300*1e3))}clearGcTimeout(){this.#e&&(be.clearTimeout(this.#e),this.#e=void 0)}},gr=class extends _t{#e;#t;#s;#n;#r;#a;#o;constructor(e){super(),this.#o=!1,this.#a=e.defaultOptions,this.setOptions(e.options),this.observers=[],this.#n=e.client,this.#s=this.#n.getQueryCache(),this.queryKey=e.queryKey,this.queryHash=e.queryHash,this.#e=Ft(this.options),this.state=e.state??this.#e,this.scheduleGc()}get meta(){return this.options.meta}get promise(){return this.#r?.promise}setOptions(e){if(this.options={...this.#a,...e},this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){const t=Ft(this.options);t.data!==void 0&&(this.setState(kt(t.data,t.dataUpdatedAt)),this.#e=t)}}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&this.#s.remove(this)}setData(e,t){const s=et(this.state.data,e,this.options);return this.#i({data:s,type:"success",dataUpdatedAt:t?.updatedAt,manual:t?.manual}),s}setState(e,t){this.#i({type:"setState",state:e,setStateOptions:t})}cancel(e){const t=this.#r?.promise;return this.#r?.cancel(e),t?t.then(le).catch(le):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(this.#e)}isActive(){return this.observers.some(e=>ue(e.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===Qe||this.state.dataUpdateCount+this.state.errorUpdateCount===0}isStatic(){return this.getObserversCount()>0?this.observers.some(e=>ve(e.options.staleTime,this)==="static"):!1}isStale(){return this.getObserversCount()>0?this.observers.some(e=>e.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(e=0){return this.state.data===void 0?!0:e==="static"?!1:this.state.isInvalidated?!0:!Jt(this.state.dataUpdatedAt,e)}onFocus(){this.observers.find(t=>t.shouldFetchOnWindowFocus())?.refetch({cancelRefetch:!1}),this.#r?.continue()}onOnline(){this.observers.find(t=>t.shouldFetchOnReconnect())?.refetch({cancelRefetch:!1}),this.#r?.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),this.#s.notify({type:"observerAdded",query:this,observer:e}))}removeObserver(e){this.observers.includes(e)&&(this.observers=this.observers.filter(t=>t!==e),this.observers.length||(this.#r&&(this.#o?this.#r.cancel({revert:!0}):this.#r.cancelRetry()),this.scheduleGc()),this.#s.notify({type:"observerRemoved",query:this,observer:e}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||this.#i({type:"invalidate"})}async fetch(e,t){if(this.state.fetchStatus!=="idle"&&this.#r?.status()!=="rejected"){if(this.state.data!==void 0&&t?.cancelRefetch)this.cancel({silent:!0});else if(this.#r)return this.#r.continueRetry(),this.#r.promise}if(e&&this.setOptions(e),!this.options.queryFn){const o=this.observers.find(A=>A.options.queryFn);o&&this.setOptions(o.options)}process.env.NODE_ENV!=="production"&&(Array.isArray(this.options.queryKey)||console.error("As of v4, queryKey needs to be an Array. If you are using a string like 'repoData', please change it to an Array, e.g. ['repoData']"));const s=new AbortController,r=o=>{Object.defineProperty(o,"signal",{enumerable:!0,get:()=>(this.#o=!0,s.signal)})},i=()=>{const o=Vt(this.options,t),x=(()=>{const y={client:this.#n,queryKey:this.queryKey,meta:this.meta};return r(y),y})();return this.#o=!1,this.options.persister?this.options.persister(o,x,this):o(x)},l=(()=>{const o={fetchOptions:t,options:this.options,queryKey:this.queryKey,client:this.#n,state:this.state,fetchFn:i};return r(o),o})();this.options.behavior?.onFetch(l,this),this.#t=this.state,(this.state.fetchStatus==="idle"||this.state.fetchMeta!==l.fetchOptions?.meta)&&this.#i({type:"fetch",meta:l.fetchOptions?.meta}),this.#r=Zt({initialPromise:t?.initialPromise,fn:l.fetchFn,onCancel:o=>{o instanceof st&&o.revert&&this.setState({...this.#t,fetchStatus:"idle"}),s.abort()},onFail:(o,A)=>{this.#i({type:"failed",failureCount:o,error:A})},onPause:()=>{this.#i({type:"pause"})},onContinue:()=>{this.#i({type:"continue"})},retry:l.options.retry,retryDelay:l.options.retryDelay,networkMode:l.options.networkMode,canRun:()=>!0});try{const o=await this.#r.start();if(o===void 0)throw process.env.NODE_ENV!=="production"&&console.error(`Query data cannot be undefined. Please make sure to return a value other than undefined from your query function. Affected query key: ${this.queryHash}`),new Error(`${this.queryHash} data is undefined`);return this.setData(o),this.#s.config.onSuccess?.(o,this),this.#s.config.onSettled?.(o,this.state.error,this),o}catch(o){if(o instanceof st){if(o.silent)return this.#r.promise;if(o.revert){if(this.state.data===void 0)throw o;return this.state.data}}throw this.#i({type:"error",error:o}),this.#s.config.onError?.(o,this),this.#s.config.onSettled?.(this.state.data,o,this),o}finally{this.scheduleGc()}}#i(e){const t=s=>{switch(e.type){case"failed":return{...s,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case"pause":return{...s,fetchStatus:"paused"};case"continue":return{...s,fetchStatus:"fetching"};case"fetch":return{...s,...$t(s.data,this.options),fetchMeta:e.meta??null};case"success":const r={...s,...kt(e.data,e.dataUpdatedAt),dataUpdateCount:s.dataUpdateCount+1,...!e.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return this.#t=e.manual?r:void 0,r;case"error":const i=e.error;return{...s,error:i,errorUpdateCount:s.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:s.fetchFailureCount+1,fetchFailureReason:i,fetchStatus:"idle",status:"error",isInvalidated:!0};case"invalidate":return{...s,isInvalidated:!0};case"setState":return{...s,...e.state}}};this.state=t(this.state),ne.batch(()=>{this.observers.forEach(s=>{s.onQueryUpdate()}),this.#s.notify({query:this,type:"updated",action:e})})}};function $t(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:Kt(t.networkMode)?"fetching":"paused",...e===void 0&&{error:null,status:"pending"}}}function kt(e,t){return{data:e,dataUpdatedAt:t??Date.now(),error:null,isInvalidated:!1,status:"success"}}function Ft(e){const t=typeof e.initialData=="function"?e.initialData():e.initialData,s=t!==void 0,r=s?typeof e.initialDataUpdatedAt=="function"?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:s?r??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:s?"success":"pending",fetchStatus:"idle"}}var Ar=class extends Ce{constructor(e,t){super(),this.options=t,this.#e=e,this.#i=null,this.#o=tt(),this.bindMethods(),this.setOptions(t)}#e;#t=void 0;#s=void 0;#n=void 0;#r;#a;#o;#i;#p;#h;#f;#c;#u;#l;#m=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(this.#t.addObserver(this),Pt(this.#t,this.options)?this.#d():this.updateResult(),this.#v())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return rt(this.#t,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return rt(this.#t,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#S(),this.#b(),this.#t.removeObserver(this)}setOptions(e){const t=this.options,s=this.#t;if(this.options=this.#e.defaultQueryOptions(e),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof ue(this.options.enabled,this.#t)!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");this.#x(),this.#t.setOptions(this.options),t._defaulted&&!Be(this.options,t)&&this.#e.getQueryCache().notify({type:"observerOptionsUpdated",query:this.#t,observer:this});const r=this.hasListeners();r&&Mt(this.#t,s,this.options,t)&&this.#d(),this.updateResult(),r&&(this.#t!==s||ue(this.options.enabled,this.#t)!==ue(t.enabled,this.#t)||ve(this.options.staleTime,this.#t)!==ve(t.staleTime,this.#t))&&this.#y();const i=this.#g();r&&(this.#t!==s||ue(this.options.enabled,this.#t)!==ue(t.enabled,this.#t)||i!==this.#l)&&this.#A(i)}getOptimisticResult(e){const t=this.#e.getQueryCache().build(this.#e,e),s=this.createResult(t,e);return Sr(this,s)&&(this.#n=s,this.#a=this.options,this.#r=this.#t.state),s}getCurrentResult(){return this.#n}trackResult(e,t){return new Proxy(e,{get:(s,r)=>(this.trackProp(r),t?.(r),r==="promise"&&(this.trackProp("data"),!this.options.experimental_prefetchInRender&&this.#o.status==="pending"&&this.#o.reject(new Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(s,r))})}trackProp(e){this.#m.add(e)}getCurrentQuery(){return this.#t}refetch({...e}={}){return this.fetch({...e})}fetchOptimistic(e){const t=this.#e.defaultQueryOptions(e),s=this.#e.getQueryCache().build(this.#e,t);return s.fetch().then(()=>this.createResult(s,t))}fetch(e){return this.#d({...e,cancelRefetch:e.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#n))}#d(e){this.#x();let t=this.#t.fetch(this.options,e);return e?.throwOnError||(t=t.catch(le)),t}#y(){this.#S();const e=ve(this.options.staleTime,this.#t);if(xe||this.#n.isStale||!Ze(e))return;const s=Jt(this.#n.dataUpdatedAt,e)+1;this.#c=be.setTimeout(()=>{this.#n.isStale||this.updateResult()},s)}#g(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(this.#t):this.options.refetchInterval)??!1}#A(e){this.#b(),this.#l=e,!(xe||ue(this.options.enabled,this.#t)===!1||!Ze(this.#l)||this.#l===0)&&(this.#u=be.setInterval(()=>{(this.options.refetchIntervalInBackground||ot.isFocused())&&this.#d()},this.#l))}#v(){this.#y(),this.#A(this.#g())}#S(){this.#c&&(be.clearTimeout(this.#c),this.#c=void 0)}#b(){this.#u&&(be.clearInterval(this.#u),this.#u=void 0)}createResult(e,t){const s=this.#t,r=this.options,i=this.#n,a=this.#r,l=this.#a,A=e!==s?e.state:this.#s,{state:x}=e;let y={...x},E=!1,w;if(t._optimisticResults){const z=this.hasListeners(),C=!z&&Pt(e,t),N=z&&Mt(e,s,t,r);(C||N)&&(y={...y,...$t(x.data,e.options)}),t._optimisticResults==="isRestoring"&&(y.fetchStatus="idle")}let{error:k,errorUpdatedAt:O,status:v}=y;w=y.data;let j=!1;if(t.placeholderData!==void 0&&w===void 0&&v==="pending"){let z;i?.isPlaceholderData&&t.placeholderData===l?.placeholderData?(z=i.data,j=!0):z=typeof t.placeholderData=="function"?t.placeholderData(this.#f?.state.data,this.#f):t.placeholderData,z!==void 0&&(v="success",w=et(i?.data,z,t),E=!0)}if(t.select&&w!==void 0&&!j)if(i&&w===a?.data&&t.select===this.#p)w=this.#h;else try{this.#p=t.select,w=t.select(w),w=et(i?.data,w,t),this.#h=w,this.#i=null}catch(z){this.#i=z}this.#i&&(k=this.#i,w=this.#h,O=Date.now(),v="error");const D=y.fetchStatus==="fetching",L=v==="pending",Q=v==="error",X=L&&D,G=w!==void 0,W={status:v,fetchStatus:y.fetchStatus,isPending:L,isSuccess:v==="success",isError:Q,isInitialLoading:X,isLoading:X,data:w,dataUpdatedAt:y.dataUpdatedAt,error:k,errorUpdatedAt:O,failureCount:y.fetchFailureCount,failureReason:y.fetchFailureReason,errorUpdateCount:y.errorUpdateCount,isFetched:y.dataUpdateCount>0||y.errorUpdateCount>0,isFetchedAfterMount:y.dataUpdateCount>A.dataUpdateCount||y.errorUpdateCount>A.errorUpdateCount,isFetching:D,isRefetching:D&&!L,isLoadingError:Q&&!G,isPaused:y.fetchStatus==="paused",isPlaceholderData:E,isRefetchError:Q&&G,isStale:lt(e,t),refetch:this.refetch,promise:this.#o,isEnabled:ue(t.enabled,e)!==!1};if(this.options.experimental_prefetchInRender){const z=T=>{W.status==="error"?T.reject(W.error):W.data!==void 0&&T.resolve(W.data)},C=()=>{const T=this.#o=W.promise=tt();z(T)},N=this.#o;switch(N.status){case"pending":e.queryHash===s.queryHash&&z(N);break;case"fulfilled":(W.status==="error"||W.data!==N.value)&&C();break;case"rejected":(W.status!=="error"||W.error!==N.reason)&&C();break}}return W}updateResult(){const e=this.#n,t=this.createResult(this.#t,this.options);if(this.#r=this.#t.state,this.#a=this.options,this.#r.data!==void 0&&(this.#f=this.#t),Be(t,e))return;this.#n=t;const s=()=>{if(!e)return!0;const{notifyOnChangeProps:r}=this.options,i=typeof r=="function"?r():r;if(i==="all"||!i&&!this.#m.size)return!0;const a=new Set(i??this.#m);return this.options.throwOnError&&a.add("error"),Object.keys(this.#n).some(l=>{const o=l;return this.#n[o]!==e[o]&&a.has(o)})};this.#w({listeners:s()})}#x(){const e=this.#e.getQueryCache().build(this.#e,this.options);if(e===this.#t)return;const t=this.#t;this.#t=e,this.#s=e.state,this.hasListeners()&&(t?.removeObserver(this),e.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#v()}#w(e){ne.batch(()=>{e.listeners&&this.listeners.forEach(t=>{t(this.#n)}),this.#e.getQueryCache().notify({query:this.#t,type:"observerResultsUpdated"})})}};function vr(e,t){return ue(t.enabled,e)!==!1&&e.state.data===void 0&&!(e.state.status==="error"&&t.retryOnMount===!1)}function Pt(e,t){return vr(e,t)||e.state.data!==void 0&&rt(e,t,t.refetchOnMount)}function rt(e,t,s){if(ue(t.enabled,e)!==!1&&ve(t.staleTime,e)!=="static"){const r=typeof s=="function"?s(e):s;return r==="always"||r!==!1&<(e,t)}return!1}function Mt(e,t,s,r){return(e!==t||ue(r.enabled,e)===!1)&&(!s.suspense||e.state.status!=="error")&<(e,s)}function lt(e,t){return ue(t.enabled,e)!==!1&&e.isStaleByTime(ve(t.staleTime,e))}function Sr(e,t){return!Be(e.getCurrentResult(),t)}function Ut(e){return{onFetch:(t,s)=>{const r=t.options,i=t.fetchOptions?.meta?.fetchMore?.direction,a=t.state.data?.pages||[],l=t.state.data?.pageParams||[];let o={pages:[],pageParams:[]},A=0;const x=async()=>{let y=!1;const E=O=>{dr(O,()=>t.signal,()=>y=!0)},w=Vt(t.options,t.fetchOptions),k=async(O,v,j)=>{if(y)return Promise.reject();if(v==null&&O.pages.length)return Promise.resolve(O);const L=(()=>{const H={client:t.client,queryKey:t.queryKey,pageParam:v,direction:j?"backward":"forward",meta:t.options.meta};return E(H),H})(),Q=await w(L),{maxPages:X}=t.options,G=j?ur:cr;return{pages:G(O.pages,Q,X),pageParams:G(O.pageParams,v,X)}};if(i&&a.length){const O=i==="backward",v=O?br:Dt,j={pages:a,pageParams:l},D=v(r,j);o=await k(j,D,O)}else{const O=e??a.length;do{const v=A===0?l[0]??r.initialPageParam:Dt(r,o);if(A>0&&v==null)break;o=await k(o,v),A++}while(A<O)}return o};t.options.persister?t.fetchFn=()=>t.options.persister?.(x,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},s):t.fetchFn=x}}}function Dt(e,{pages:t,pageParams:s}){const r=t.length-1;return t.length>0?e.getNextPageParam(t[r],t,s[r],s):void 0}function br(e,{pages:t,pageParams:s}){return t.length>0?e.getPreviousPageParam?.(t[0],t,s[0],s):void 0}var xr=class extends _t{#e;#t;#s;#n;constructor(e){super(),this.#e=e.client,this.mutationId=e.mutationId,this.#s=e.mutationCache,this.#t=[],this.state=e.state||es(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){this.#t.includes(e)||(this.#t.push(e),this.clearGcTimeout(),this.#s.notify({type:"observerAdded",mutation:this,observer:e}))}removeObserver(e){this.#t=this.#t.filter(t=>t!==e),this.scheduleGc(),this.#s.notify({type:"observerRemoved",mutation:this,observer:e})}optionalRemove(){this.#t.length||(this.state.status==="pending"?this.scheduleGc():this.#s.remove(this))}continue(){return this.#n?.continue()??this.execute(this.state.variables)}async execute(e){const t=()=>{this.#r({type:"continue"})},s={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};this.#n=Zt({fn:()=>this.options.mutationFn?this.options.mutationFn(e,s):Promise.reject(new Error("No mutationFn found")),onFail:(a,l)=>{this.#r({type:"failed",failureCount:a,error:l})},onPause:()=>{this.#r({type:"pause"})},onContinue:t,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#s.canRun(this)});const r=this.state.status==="pending",i=!this.#n.canStart();try{if(r)t();else{this.#r({type:"pending",variables:e,isPaused:i}),await this.#s.config.onMutate?.(e,this,s);const l=await this.options.onMutate?.(e,s);l!==this.state.context&&this.#r({type:"pending",context:l,variables:e,isPaused:i})}const a=await this.#n.start();return await this.#s.config.onSuccess?.(a,e,this.state.context,this,s),await this.options.onSuccess?.(a,e,this.state.context,s),await this.#s.config.onSettled?.(a,null,this.state.variables,this.state.context,this,s),await this.options.onSettled?.(a,null,e,this.state.context,s),this.#r({type:"success",data:a}),a}catch(a){try{await this.#s.config.onError?.(a,e,this.state.context,this,s)}catch(l){Promise.reject(l)}try{await this.options.onError?.(a,e,this.state.context,s)}catch(l){Promise.reject(l)}try{await this.#s.config.onSettled?.(void 0,a,this.state.variables,this.state.context,this,s)}catch(l){Promise.reject(l)}try{await this.options.onSettled?.(void 0,a,e,this.state.context,s)}catch(l){Promise.reject(l)}throw this.#r({type:"error",error:a}),a}finally{this.#s.runNext(this)}}#r(e){const t=s=>{switch(e.type){case"failed":return{...s,failureCount:e.failureCount,failureReason:e.error};case"pause":return{...s,isPaused:!0};case"continue":return{...s,isPaused:!1};case"pending":return{...s,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:"pending",variables:e.variables,submittedAt:Date.now()};case"success":return{...s,data:e.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...s,data:void 0,error:e.error,failureCount:s.failureCount+1,failureReason:e.error,isPaused:!1,status:"error"}}};this.state=t(this.state),ne.batch(()=>{this.#t.forEach(s=>{s.onMutationUpdate(e)}),this.#s.notify({mutation:this,type:"updated",action:e})})}};function es(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var wr=class extends Ce{constructor(e={}){super(),this.config=e,this.#e=new Set,this.#t=new Map,this.#s=0}#e;#t;#s;build(e,t,s){const r=new xr({client:e,mutationCache:this,mutationId:++this.#s,options:e.defaultMutationOptions(t),state:s});return this.add(r),r}add(e){this.#e.add(e);const t=Ue(e);if(typeof t=="string"){const s=this.#t.get(t);s?s.push(e):this.#t.set(t,[e])}this.notify({type:"added",mutation:e})}remove(e){if(this.#e.delete(e)){const t=Ue(e);if(typeof t=="string"){const s=this.#t.get(t);if(s)if(s.length>1){const r=s.indexOf(e);r!==-1&&s.splice(r,1)}else s[0]===e&&this.#t.delete(t)}}this.notify({type:"removed",mutation:e})}canRun(e){const t=Ue(e);if(typeof t=="string"){const r=this.#t.get(t)?.find(i=>i.state.status==="pending");return!r||r===e}else return!0}runNext(e){const t=Ue(e);return typeof t=="string"?this.#t.get(t)?.find(r=>r!==e&&r.state.isPaused)?.continue()??Promise.resolve():Promise.resolve()}clear(){ne.batch(()=>{this.#e.forEach(e=>{this.notify({type:"removed",mutation:e})}),this.#e.clear(),this.#t.clear()})}getAll(){return Array.from(this.#e)}find(e){const t={exact:!0,...e};return this.getAll().find(s=>It(t,s))}findAll(e={}){return this.getAll().filter(t=>It(e,t))}notify(e){ne.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){const e=this.getAll().filter(t=>t.state.isPaused);return ne.batch(()=>Promise.all(e.map(t=>t.continue().catch(le))))}};function Ue(e){return e.options.scope?.id}var jr=class extends Ce{#e;#t=void 0;#s;#n;constructor(e,t){super(),this.#e=e,this.setOptions(t),this.bindMethods(),this.#r()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(e){const t=this.options;this.options=this.#e.defaultMutationOptions(e),Be(this.options,t)||this.#e.getMutationCache().notify({type:"observerOptionsUpdated",mutation:this.#s,observer:this}),t?.mutationKey&&this.options.mutationKey&&we(t.mutationKey)!==we(this.options.mutationKey)?this.reset():this.#s?.state.status==="pending"&&this.#s.setOptions(this.options)}onUnsubscribe(){this.hasListeners()||this.#s?.removeObserver(this)}onMutationUpdate(e){this.#r(),this.#a(e)}getCurrentResult(){return this.#t}reset(){this.#s?.removeObserver(this),this.#s=void 0,this.#r(),this.#a()}mutate(e,t){return this.#n=t,this.#s?.removeObserver(this),this.#s=this.#e.getMutationCache().build(this.#e,this.options),this.#s.addObserver(this),this.#s.execute(e)}#r(){const e=this.#s?.state??es();this.#t={...e,isPending:e.status==="pending",isSuccess:e.status==="success",isError:e.status==="error",isIdle:e.status==="idle",mutate:this.mutate,reset:this.reset}}#a(e){ne.batch(()=>{if(this.#n&&this.hasListeners()){const t=this.#t.variables,s=this.#t.context,r={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};if(e?.type==="success"){try{this.#n.onSuccess?.(e.data,t,s,r)}catch(i){Promise.reject(i)}try{this.#n.onSettled?.(e.data,null,t,s,r)}catch(i){Promise.reject(i)}}else if(e?.type==="error"){try{this.#n.onError?.(e.error,t,s,r)}catch(i){Promise.reject(i)}try{this.#n.onSettled?.(void 0,e.error,t,s,r)}catch(i){Promise.reject(i)}}}this.listeners.forEach(t=>{t(this.#t)})})}},Rr=class extends Ce{constructor(e={}){super(),this.config=e,this.#e=new Map}#e;build(e,t,s){const r=t.queryKey,i=t.queryHash??it(r,t);let a=this.get(i);return a||(a=new gr({client:e,queryKey:r,queryHash:i,options:e.defaultQueryOptions(t),state:s,defaultOptions:e.getQueryDefaults(r)}),this.add(a)),a}add(e){this.#e.has(e.queryHash)||(this.#e.set(e.queryHash,e),this.notify({type:"added",query:e}))}remove(e){const t=this.#e.get(e.queryHash);t&&(e.destroy(),t===e&&this.#e.delete(e.queryHash),this.notify({type:"removed",query:e}))}clear(){ne.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return this.#e.get(e)}getAll(){return[...this.#e.values()]}find(e){const t={exact:!0,...e};return this.getAll().find(s=>Tt(t,s))}findAll(e={}){const t=this.getAll();return Object.keys(e).length>0?t.filter(s=>Tt(e,s)):t}notify(e){ne.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){ne.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){ne.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},Nr=class{#e;#t;#s;#n;#r;#a;#o;#i;constructor(e={}){this.#e=e.queryCache||new Rr,this.#t=e.mutationCache||new wr,this.#s=e.defaultOptions||{},this.#n=new Map,this.#r=new Map,this.#a=0}mount(){this.#a++,this.#a===1&&(this.#o=ot.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onFocus())}),this.#i=qe.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onOnline())}))}unmount(){this.#a--,this.#a===0&&(this.#o?.(),this.#o=void 0,this.#i?.(),this.#i=void 0)}isFetching(e){return this.#e.findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return this.#t.findAll({...e,status:"pending"}).length}getQueryData(e){const t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state.data}ensureQueryData(e){const t=this.defaultQueryOptions(e),s=this.#e.build(this,t),r=s.state.data;return r===void 0?this.fetchQuery(e):(e.revalidateIfStale&&s.isStaleByTime(ve(t.staleTime,s))&&this.prefetchQuery(t),Promise.resolve(r))}getQueriesData(e){return this.#e.findAll(e).map(({queryKey:t,state:s})=>{const r=s.data;return[t,r]})}setQueryData(e,t,s){const r=this.defaultQueryOptions({queryKey:e}),a=this.#e.get(r.queryHash)?.state.data,l=ar(t,a);if(l!==void 0)return this.#e.build(this,r).setData(l,{...s,manual:!0})}setQueriesData(e,t,s){return ne.batch(()=>this.#e.findAll(e).map(({queryKey:r})=>[r,this.setQueryData(r,t,s)]))}getQueryState(e){const t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state}removeQueries(e){const t=this.#e;ne.batch(()=>{t.findAll(e).forEach(s=>{t.remove(s)})})}resetQueries(e,t){const s=this.#e;return ne.batch(()=>(s.findAll(e).forEach(r=>{r.reset()}),this.refetchQueries({type:"active",...e},t)))}cancelQueries(e,t={}){const s={revert:!0,...t},r=ne.batch(()=>this.#e.findAll(e).map(i=>i.cancel(s)));return Promise.all(r).then(le).catch(le)}invalidateQueries(e,t={}){return ne.batch(()=>(this.#e.findAll(e).forEach(s=>{s.invalidate()}),e?.refetchType==="none"?Promise.resolve():this.refetchQueries({...e,type:e?.refetchType??e?.type??"active"},t)))}refetchQueries(e,t={}){const s={...t,cancelRefetch:t.cancelRefetch??!0},r=ne.batch(()=>this.#e.findAll(e).filter(i=>!i.isDisabled()&&!i.isStatic()).map(i=>{let a=i.fetch(void 0,s);return s.throwOnError||(a=a.catch(le)),i.state.fetchStatus==="paused"?Promise.resolve():a}));return Promise.all(r).then(le)}fetchQuery(e){const t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);const s=this.#e.build(this,t);return s.isStaleByTime(ve(t.staleTime,s))?s.fetch(t):Promise.resolve(s.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(le).catch(le)}fetchInfiniteQuery(e){return e.behavior=Ut(e.pages),this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(le).catch(le)}ensureInfiniteQueryData(e){return e.behavior=Ut(e.pages),this.ensureQueryData(e)}resumePausedMutations(){return qe.isOnline()?this.#t.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#e}getMutationCache(){return this.#t}getDefaultOptions(){return this.#s}setDefaultOptions(e){this.#s=e}setQueryDefaults(e,t){this.#n.set(we(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){const t=[...this.#n.values()],s={};return t.forEach(r=>{Oe(e,r.queryKey)&&Object.assign(s,r.defaultOptions)}),s}setMutationDefaults(e,t){this.#r.set(we(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){const t=[...this.#r.values()],s={};return t.forEach(r=>{Oe(e,r.mutationKey)&&Object.assign(s,r.defaultOptions)}),s}defaultQueryOptions(e){if(e._defaulted)return e;const t={...this.#s.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=it(t.queryKey,t)),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!=="always"),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode="offlineFirst"),t.queryFn===Qe&&(t.enabled=!1),t}defaultMutationOptions(e){return e?._defaulted?e:{...this.#s.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#e.clear(),this.#t.clear()}},ts=ae.createContext(void 0),ct=e=>{const t=ae.useContext(ts);if(!t)throw new Error("No QueryClient set, use QueryClientProvider to set one");return t},Cr=({client:e,children:t})=>(ae.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),n.jsx(ts.Provider,{value:e,children:t})),ss=ae.createContext(!1),Tr=()=>ae.useContext(ss);ss.Provider;function Ir(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var Er=ae.createContext(Ir()),Or=()=>ae.useContext(Er),kr=(e,t,s)=>{const r=s?.state.error&&typeof e.throwOnError=="function"?at(e.throwOnError,[s.state.error,s]):e.throwOnError;(e.suspense||e.experimental_prefetchInRender||r)&&(t.isReset()||(e.retryOnMount=!1))},Fr=e=>{ae.useEffect(()=>{e.clearReset()},[e])},Pr=({result:e,errorResetBoundary:t,throwOnError:s,query:r,suspense:i})=>e.isError&&!t.isReset()&&!e.isFetching&&r&&(i&&e.data===void 0||at(s,[e.error,r])),Mr=e=>{if(e.suspense){const s=i=>i==="static"?i:Math.max(i??1e3,1e3),r=e.staleTime;e.staleTime=typeof r=="function"?(...i)=>s(r(...i)):s(r),typeof e.gcTime=="number"&&(e.gcTime=Math.max(e.gcTime,1e3))}},Ur=(e,t)=>e.isLoading&&e.isFetching&&!t,Dr=(e,t)=>e?.suspense&&t.isPending,Lt=(e,t,s)=>t.fetchOptimistic(e).catch(()=>{s.clearReset()});function Lr(e,t,s){if(process.env.NODE_ENV!=="production"&&(typeof e!="object"||Array.isArray(e)))throw new Error('Bad argument type. Starting with v5, only the "Object" form is allowed when calling query related functions. Please use the error stack to find the culprit call. More info here: https://tanstack.com/query/latest/docs/react/guides/migrating-to-v5#supports-a-single-signature-one-object');const r=Tr(),i=Or(),a=ct(),l=a.defaultQueryOptions(e);a.getDefaultOptions().queries?._experimental_beforeQuery?.(l);const o=a.getQueryCache().get(l.queryHash);process.env.NODE_ENV!=="production"&&(l.queryFn||console.error(`[${l.queryHash}]: No queryFn was passed as an option, and no default queryFn was found. The queryFn parameter is only optional when using a default queryFn. More info here: https://tanstack.com/query/latest/docs/framework/react/guides/default-query-function`)),l._optimisticResults=r?"isRestoring":"optimistic",Mr(l),kr(l,i,o),Fr(i);const A=!a.getQueryCache().get(l.queryHash),[x]=ae.useState(()=>new t(a,l)),y=x.getOptimisticResult(l),E=!r&&e.subscribed!==!1;if(ae.useSyncExternalStore(ae.useCallback(w=>{const k=E?x.subscribe(ne.batchCalls(w)):le;return x.updateResult(),k},[x,E]),()=>x.getCurrentResult(),()=>x.getCurrentResult()),ae.useEffect(()=>{x.setOptions(l)},[l,x]),Dr(l,y))throw Lt(l,x,i);if(Pr({result:y,errorResetBoundary:i,throwOnError:l.throwOnError,query:o,suspense:l.suspense}))throw y.error;return a.getDefaultOptions().queries?._experimental_afterQuery?.(l,y),l.experimental_prefetchInRender&&!xe&&Ur(y,r)&&(A?Lt(l,x,i):o?.promise)?.catch(le).finally(()=>{x.updateResult()}),l.notifyOnChangeProps?y:x.trackResult(y)}function ut(e,t){return Lr(e,Ar)}function Br(e,t){const s=ct(),[r]=ae.useState(()=>new jr(s,e));ae.useEffect(()=>{r.setOptions(e)},[r,e]);const i=ae.useSyncExternalStore(ae.useCallback(l=>r.subscribe(ne.batchCalls(l)),[r]),()=>r.getCurrentResult(),()=>r.getCurrentResult()),a=ae.useCallback((l,o)=>{r.mutate(l,o).catch(le)},[r]);if(i.error&&at(r.options.throwOnError,[i.error]))throw i.error;return{...i,mutate:a,mutateAsync:i.mutate}}function dt(){const{alerts:e}=he(),t=ct();return Br({mutationFn:s=>e.updateAlertStatus(s),onSuccess:()=>{t.invalidateQueries({queryKey:["alerts","list"]}),t.invalidateQueries({queryKey:["alerts","report"]})}})}function Qr(e,t){return e.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!0,timeZone:t})}function qr(e,t){try{const i=new Intl.DateTimeFormat("en-US",{timeZone:t,timeZoneName:"short"}).formatToParts(e).find(l=>l.type==="timeZoneName")?.value;let a;try{const o=new Intl.DateTimeFormat("en-US",{timeZone:t,timeZoneName:"shortOffset"}).formatToParts(e).find(A=>A.type==="timeZoneName");o?.value&&o.value.startsWith("GMT")&&(a=o.value.replace("GMT",""))}catch{}return{abbr:i,offset:a}}catch{return{}}}function Wr(e){if(!e)return"-";try{const t=new Date(e),s=x=>String(x).padStart(2,"0"),r=s(t.getMonth()+1),i=s(t.getDate()),a=t.getFullYear(),l=s(t.getHours()),o=s(t.getMinutes()),A=s(t.getSeconds());return`${r}/${i}/${a} ${l}:${o}:${A}`}catch{return"-"}}function Ve(e){if(!e)return"-";try{return new Date(e).toLocaleString("en-US",{day:"2-digit",month:"2-digit",year:"numeric",hour:"2-digit",minute:"2-digit",second:"2-digit"})}catch{return"-"}}const zr={Critical:"#FF3B30",High:"#FFB86A",Medium:"#FFCC00",Low:"#007AFF"},Hr={Critical:"#FFE2E2",High:"#FF95004D",Medium:"#FEF9C2",Low:"#E0EDFF"};function rs({alerts:e,loading:t=!1,pageSize:s=10,completedStatus:r="Completed",severityOptions:i,anomalyOptions:a,spaceOptions:l,onAlertIdClick:o}){const A=dt(),x=async w=>{try{const k=await A.mutateAsync({alertUniqueId:w.alertId??w.id,alertId:w.id,status:"Reopen",notes:"Reopened",modifiedBy:0});if(k?.responseStatus){const O=k?.data||"Alert reopened successfully.";de.toast.success(O)}else{const O=k?.errorMessage||"Failed to reopen alert";de.toast.error(O)}}catch{de.toast.error("Failed to reopen alert. Please try again.")}},y=[{title:"Severity",dataIndex:"priority",key:"priority",width:120,render:w=>n.jsx(u.Tag,{className:"px-[10px] py-[2px]",style:{border:`2px solid ${zr[w]}`,backgroundColor:Hr[String(w)]},children:w})},{title:"Timestamp",dataIndex:"timestamp",key:"timestamp",width:200,render:w=>Wr(w)},{title:"Status",dataIndex:"statusType",key:"statusType",width:140},{title:"Description",dataIndex:"description",key:"description",render:(w,k)=>n.jsxs("div",{children:[n.jsx("a",{onClick:O=>{O.preventDefault(),o?.(k)},className:"inline-block mb-1 text-blue-600",children:k.clientId}),n.jsx("div",{className:"text-black/65",children:w})]})},{title:"",key:"menu",width:60,align:"right",render:(w,k)=>n.jsx(u.Dropdown,{trigger:["click"],menu:{items:[{key:"reopen",label:"Reopen"}],onClick:({key:O})=>{O==="reopen"&&x(k)}},children:n.jsx(u.Button,{type:"text",icon:n.jsx(Ne.MoreOutlined,{})})})}],E=(e||[]).filter(w=>(w.statusType||"").toLowerCase()===r.toLowerCase());return n.jsx(nt,{data:E,loading:t,pageSize:s,columns:y,severityOptions:i,anomalyOptions:a,spaceOptions:l,renderActions:void 0,onAlertIdClick:o})}const Yr="data:image/png;base64,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";function ns({label:e="USA",timeZone:t="America/New_York",updateIntervalMs:s=1e3,className:r}){const[i,a]=m.useState(new Date);m.useEffect(()=>{const x=setInterval(()=>a(new Date),s);return()=>clearInterval(x)},[s]);const l=m.useMemo(()=>Qr(i,t),[i,t]),{abbr:o,offset:A}=m.useMemo(()=>qr(i,t),[i,t]);return n.jsxs("div",{className:`flex items-center gap-3 ${r||""}`,children:[n.jsx("div",{className:"flex items-center justify-center w-20 h-20",children:n.jsx("img",{src:Yr,alt:"clock",className:""})}),n.jsxs("div",{className:"flex flex-col items-baseline gap-1",children:[n.jsxs("div",{className:"flex items-center gap-2 text-sm text-gray-600",children:[n.jsx("span",{className:"uppercase",children:e}),o&&n.jsx("span",{className:"px-1.5 py-0.5 rounded-md border text-[10px] leading-none text-gray-600 bg-gray-50",children:o}),A&&n.jsx("span",{className:"text-xs text-gray-500",children:A})]}),n.jsx("div",{className:"text-2xl font-semibold text-gray-700 tracking-wide",children:l})]})]})}const Gr=[{SeverityId:1,Code:"LOW",DisplayName:"Low",SortOrder:10,IsActive:!0},{SeverityId:2,Code:"MEDIUM",DisplayName:"Medium",SortOrder:20,IsActive:!0},{SeverityId:3,Code:"HIGH",DisplayName:"High",SortOrder:30,IsActive:!0},{SeverityId:4,Code:"CRITICAL",DisplayName:"Critical",SortOrder:40,IsActive:!0}],Xr=[{RuleId:"0938aa00-dfa7-4258-805a-67396366c776",RuleVersionId:"36d2d581-57c3-45c3-8705-8235935fdf96",Name:"License Plate Recognition",Description:"License Plate Recognition",VersionCount:1,ActionCount:0,ApplicabilityPeriodCount:0,SuppressionCount:0,AssignmentCount:0,ExclusionCount:0,IsDeleted:!1,SeverityId:3,AnomalyId:"915976ef-4eb6-4f7b-bbe6-e53862517fc9",Level:"global"},{RuleId:"2437286a-db6a-4d35-814e-9ac49f158dde",RuleVersionId:"00000000-0000-0000-0000-000000000000",Name:"Monitor And Track Onsite Vehicle timelog",Description:"Monitor And Track Onsite Vehicle timelog",VersionCount:0,ActionCount:0,ApplicabilityPeriodCount:0,SuppressionCount:0,AssignmentCount:0,ExclusionCount:0,IsDeleted:!1,SeverityId:3,AnomalyId:"9fd651ab-4312-4826-84b6-94d735894477",Level:"global"},{RuleId:"b99120ba-7a83-4ade-b5d9-a420550fe351",RuleVersionId:"d7b14dae-a7b1-474e-a357-199182c02ac3",Name:"Watchlist person detected",Description:"Watchlist person detected",VersionCount:1,ActionCount:0,ApplicabilityPeriodCount:0,SuppressionCount:0,AssignmentCount:0,ExclusionCount:0,IsDeleted:!1,SeverityId:4,AnomalyId:"bb3a3d3a-73a3-4f5a-8804-1baadbd0d412",Level:"global"},{RuleId:"ffc2c24f-adb7-4aba-ace7-f19c54e21530",RuleVersionId:"6ab3178f-bf77-4a1e-898d-1d5dbef749c5",Name:"Weapon Detection",Description:"Weapon Detection",VersionCount:1,ActionCount:0,ApplicabilityPeriodCount:0,SuppressionCount:0,AssignmentCount:0,ExclusionCount:0,IsDeleted:!1,SeverityId:4,AnomalyId:"ac82c3a2-72e6-4f9c-88fb-851a3ca3c4de",Level:"global"}],Jr=[{userRoleId:1,userRoleName:"Super Admin"},{userRoleId:2,userRoleName:"Security Officer"},{userRoleId:3,userRoleName:"Security Admin"},{userRoleId:4,userRoleName:"Regulatory Officer/First Responder"},{userRoleId:5,userRoleName:"User"}],je={severities:Gr,rules:Xr,userRoles:Jr},{Text:Bt}=u.Typography;function Vr({sortBy:e,groupBy:t,onChange:s,showActions:r,onSave:i,onClear:a}){return n.jsxs(u.Row,{gutter:[16,16],align:"middle",children:[n.jsx(u.Col,{xs:24,md:4,children:n.jsxs(u.Space,{className:"w-full items-center",direction:"horizontal",size:12,children:[n.jsx(Bt,{className:"text-gray-600",children:"Sort by:"}),n.jsx(u.Select,{placeholder:"By Severity",value:e,onChange:l=>s({sortBy:l}),options:[{label:"By Severity",value:"By Severity"},{label:"By Created Date",value:"By Created Date"}],className:"w-full"})]})}),n.jsx(u.Col,{xs:24,md:4,children:n.jsxs(u.Space,{className:"w-full items-center",direction:"horizontal",size:12,children:[n.jsx(Bt,{className:"text-gray-600",children:"Group alerts by:"}),n.jsx(u.Select,{value:t,onChange:l=>s({groupBy:l}),options:[{label:"By severity",value:"By severity"},{label:"By Rules",value:"By Rules"}],className:"w-full"})]})}),n.jsx(u.Col,{xs:24,md:8,style:{alignSelf:"end"},children:r?n.jsxs(u.Space,{className:"w-full",direction:"horizontal",size:8,children:[n.jsx(u.Button,{onClick:a,children:"Clear"}),n.jsx(u.Button,{type:"primary",onClick:i,children:"Save"})]}):null})]})}const{Text:Ee}=u.Typography;function Kr(e){const{selectedRule:t,setSelectedRule:s,ruleOptions:r,minsOptions:i,roleOptions:a,l1mins:l,setL1mins:o,l1roles:A,setL1roles:x,l2mins:y,setL2mins:E,l2roles:w,setL2roles:k,l3mins:O,setL3mins:v,l3roles:j,setL3roles:D,actions:L,setActions:Q,thirdPartyIds:X,setThirdPartyIds:G,humanLoop:H,setHumanLoop:W,onClear:z,onSave:C,saving:N,onActionTypesLoaded:T}=e,{rules:J}=he(),[K,I]=m.useState([]),[g,d]=m.useState([]),[p,h]=m.useState(!1);return m.useEffect(()=>{let b=!1;return(async()=>{try{h(!0);const f=await J.getLookups();if(b||!f||!Array.isArray(f.actionTypes))return;const c=f.actionTypes.map(R=>({label:R.name,value:String(R.actionTypeId)}));I(c),T&&T(f.actionTypes);const S=Array.isArray(f.thirdParties)?f.thirdParties.map(R=>({label:R.thirdPartyName,value:R.thirdPartyId})):[];d(S)}catch(f){console.error("Error loading lookups",f)}finally{b||h(!1)}})(),()=>{b=!0}},[]),n.jsxs(u.Spin,{spinning:!!N||p,children:[n.jsxs(u.Row,{gutter:[16,16],align:"bottom",className:"mb-2",children:[n.jsx(u.Col,{xs:24,lg:5,children:n.jsx(u.Space,{className:"w-full",direction:"vertical",size:4,children:n.jsx(u.Select,{placeholder:"Rules",value:t,onChange:s,options:r,className:"w-full"})})}),n.jsx(u.Col,{xs:24,lg:4,children:n.jsxs(u.Space,{direction:"vertical",size:4,className:"w-full",children:[n.jsx(Ee,{className:"text-gray-700 font-medium",children:"Level 1"}),n.jsxs(u.Space,{className:"w-full",children:[n.jsx(u.Select,{placeholder:"Mins",value:l,onChange:o,options:i}),n.jsx(u.Select,{placeholder:"Escalate to",className:"min-w-[120px] w-full",value:A,onChange:x,options:a})]})]})}),n.jsx(u.Col,{xs:24,lg:4,children:n.jsxs(u.Space,{direction:"vertical",size:4,className:"w-full",children:[n.jsx(Ee,{className:"text-gray-700 font-medium",children:"Level 2"}),n.jsxs(u.Space,{className:"w-full",children:[n.jsx(u.Select,{placeholder:"Mins",value:y,onChange:E,options:i}),n.jsx(u.Select,{placeholder:"Escalate to",className:"min-w-[120px] w-full",value:w,onChange:k,options:a})]})]})}),n.jsx(u.Col,{xs:24,lg:4,children:n.jsxs(u.Space,{direction:"vertical",size:4,className:"w-full",children:[n.jsx(Ee,{className:"text-gray-700 font-medium",children:"Level 3"}),n.jsxs(u.Space,{className:"w-full",children:[n.jsx(u.Select,{placeholder:"Mins",value:O,onChange:v,options:i}),n.jsx(u.Select,{placeholder:"Escalate to",className:"min-w-[120px] w-full",value:j,onChange:D,options:a})]})]})}),n.jsx(u.Col,{xs:24,lg:5,children:n.jsxs(u.Space,{direction:"vertical",size:4,className:"w-full",children:[n.jsx(Ee,{className:"text-gray-700 font-medium",children:"Pick Actions"}),n.jsx(u.Space,{className:"w-full",children:n.jsx(u.Select,{mode:"multiple",placeholder:"Select response actions",className:"min-w-[260px] w-full",value:L,onChange:Q,options:K})})]})})]}),n.jsx(u.Row,{gutter:[16,16],align:"bottom",className:"mt-2",children:n.jsx(u.Col,{xs:24,lg:16,children:n.jsxs(u.Space,{direction:"vertical",size:4,className:"w-full",children:[n.jsx(Ee,{className:"text-gray-700 font-medium",children:"Third Party App"}),n.jsxs(u.Space,{className:"w-full",children:[n.jsx(u.Select,{mode:"multiple",placeholder:"Third Party app",className:"min-w-[180px] w-full",value:X,onChange:G,options:g}),n.jsx(u.Checkbox,{checked:H,onChange:b=>W(b.target.checked),children:"Human-In-Loop"}),n.jsx(u.Button,{onClick:z,children:"Clear"}),n.jsx(u.Button,{type:"primary",onClick:C,loading:!!N,children:"Save"})]})]})})})]})}function Zr({entries:e,userRoles:t,onEdit:s,loading:r}){const i=new Map(t.map(l=>[l.userRoleId,l.userRoleName])),a=l=>l.map(o=>i.get(o)||String(o)).join(", ");return n.jsx(u.Table,{rowKey:"id",dataSource:e,pagination:!1,loading:r,columns:[{title:"Rule",dataIndex:"ruleOrSeverityLabel",key:"rule"},{title:"Level 1",key:"l1",render:(l,o)=>n.jsxs("span",{children:[o.l1.minutes?`No Action taken in (${o.l1.minutes} Mins)`:"No Action taken in 0 Min",o.l1.roles?.length?`, Escalate to (${a(o.l1.roles)})`:""]})},{title:"Level 2",key:"l2",render:(l,o)=>n.jsxs("span",{children:[o.l2.minutes?`No Action taken in (${o.l2.minutes} Mins)`:"No Action taken in 0 Min",o.l2.roles?.length?`, Escalate to (${a(o.l2.roles)})`:""]})},{title:"Level 3",key:"l3",render:(l,o)=>n.jsxs("span",{children:[o.l3.minutes?`No Action taken in (${o.l3.minutes} Mins)`:"No Action taken in 0 Min",o.l3.roles?.length?`, Escalate to (${a(o.l3.roles)})`:""]})},{title:"Pick Actions",key:"actionsCol",render:(l,o)=>o.actions&&o.actions.length?o.actions.join(", "):"-"},{title:"Notify",key:"notify",render:(l,o)=>o.notify&&o.notify.length?o.notify.join(", "):"-"},{title:"Human in loop",key:"humanLoop",render:(l,o)=>o.humanLoop?"Yes":"No"},{title:"Actions",key:"ops",render:(l,o)=>n.jsx(u.Button,{type:"text",onClick:()=>s(o.id),children:n.jsx(Ne.EditOutlined,{})})}]})}const{Title:_r}=u.Typography;function is({userRoles:e,rules:t,rawRules:s}){const{rules:r}=he(),[i,a]=m.useState(!1),[l,o]=m.useState(s),[A,x]=m.useState({}),y=m.useMemo(()=>e.map(v=>({label:v.userRoleName,value:v.userRoleId})),[e]),E=m.useMemo(()=>(t||[]).map((v,j)=>({key:v.RuleId||v.Name||String(j),ruleName:v.Name||"-",ruleDesc:v.Description||""})),[t]);m.useEffect(()=>{let v=!1;return(async()=>{try{a(!0);const j=await r.getRules();v||(o(Array.isArray(j)?j:[]),x({}))}catch{!v&&Array.isArray(s)&&o(s)}finally{v||a(!1)}})(),()=>{v=!0}},[]),m.useEffect(()=>{!l&&Array.isArray(s)&&o(s)},[s]);const w=m.useMemo(()=>{if(!Array.isArray(l)||!l.length)return{};const v={};for(const j of E){const D=l.find(Q=>Q?.ruleId===j.key||Q?.ruleName===j.key||Q?.RuleId===j.key||Q?.ruleName===j.ruleName||Q?.Name===j.ruleName),L=Array.isArray(D?.userRoleIds)?D.userRoleIds:[];L.length&&(v[j.key]=L)}return v},[l,E]),k=()=>{x({})},O=async()=>{try{if(!l||!Array.isArray(l)||Object.keys(A).length===0){de.toast.info("No changes to save");return}a(!0);const v=Object.entries(A).map(async([j,D])=>{const L=l.find(W=>W?.ruleId===j||W?.ruleName===j||W?.RuleId===j),Q=typeof L?.recordId=="number"?L.recordId:void 0;if(!L||typeof Q!="number")throw new Error(`Unable to find recordId for rule ${j}`);const X=Array.isArray(D)?D:[],G=X.map(W=>{const z=e.find(C=>C.userRoleId===W);return{id:W,name:z?.userRoleName??String(W)}}),H={...L,ruleId:j,userRoleIds:X,userRoles:G,actions:[{actionTypeId:4,actionTypeUniqueId:"bc0973d4-9be0-4efb-8545-c9112ba06c1f",name:"Audible Warning",notificationType:"Alarm",category:"Hardware",description:"Test",isSystemDefined:!0,isActive:!0,displayOrder:0}]};return r.updateRule(Q,H)});await Promise.all(v),de.toast.success("Alert assignment saved");try{const j=await r.getRules();o(Array.isArray(j)?j:[]),x({})}catch(j){console.error("Failed to refresh rules after save",j)}}catch(v){console.error("Failed to save alert assignment",v)}finally{a(!1)}};return n.jsxs("div",{className:"w-full",children:[n.jsx("div",{className:"flex items-center justify-between",children:n.jsx(_r,{level:4,className:"!mb-4",children:"Alert Assignment"})}),n.jsx(u.Table,{rowKey:"key",dataSource:E,loading:i,pagination:!1,columns:[{title:"Rule Name",dataIndex:"ruleName",key:"ruleName"},{title:"Description",dataIndex:"ruleDesc",key:"ruleDesc"},{title:"Assign Team",key:"assign",render:(v,j)=>n.jsx(u.Select,{mode:"multiple",placeholder:"Dropdown with Multi select",className:"w-full",value:A[j.key]??w[j.key]??[],onChange:D=>x(L=>({...L,[j.key]:D})),options:y})}]}),n.jsxs(u.Space,{className:"mt-4",children:[n.jsx(u.Button,{onClick:k,disabled:i,children:"Clear"}),n.jsx(u.Button,{type:"primary",onClick:O,loading:i,disabled:i,children:"Save"})]})]})}var Le={exports:{}},$r=Le.exports,Qt;function en(){return Qt||(Qt=1,(function(e,t){(function(s,r){e.exports=r()})($r,(function(){var s=1e3,r=6e4,i=36e5,a="millisecond",l="second",o="minute",A="hour",x="day",y="week",E="month",w="quarter",k="year",O="date",v="Invalid Date",j=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,D=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,L={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(I){var g=["th","st","nd","rd"],d=I%100;return"["+I+(g[(d-20)%10]||g[d]||g[0])+"]"}},Q=function(I,g,d){var p=String(I);return!p||p.length>=g?I:""+Array(g+1-p.length).join(d)+I},X={s:Q,z:function(I){var g=-I.utcOffset(),d=Math.abs(g),p=Math.floor(d/60),h=d%60;return(g<=0?"+":"-")+Q(p,2,"0")+":"+Q(h,2,"0")},m:function I(g,d){if(g.date()<d.date())return-I(d,g);var p=12*(d.year()-g.year())+(d.month()-g.month()),h=g.clone().add(p,E),b=d-h<0,f=g.clone().add(p+(b?-1:1),E);return+(-(p+(d-h)/(b?h-f:f-h))||0)},a:function(I){return I<0?Math.ceil(I)||0:Math.floor(I)},p:function(I){return{M:E,y:k,w:y,d:x,D:O,h:A,m:o,s:l,ms:a,Q:w}[I]||String(I||"").toLowerCase().replace(/s$/,"")},u:function(I){return I===void 0}},G="en",H={};H[G]=L;var W="$isDayjsObject",z=function(I){return I instanceof J||!(!I||!I[W])},C=function I(g,d,p){var h;if(!g)return G;if(typeof g=="string"){var b=g.toLowerCase();H[b]&&(h=b),d&&(H[b]=d,h=b);var f=g.split("-");if(!h&&f.length>1)return I(f[0])}else{var c=g.name;H[c]=g,h=c}return!p&&h&&(G=h),h||!p&&G},N=function(I,g){if(z(I))return I.clone();var d=typeof g=="object"?g:{};return d.date=I,d.args=arguments,new J(d)},T=X;T.l=C,T.i=z,T.w=function(I,g){return N(I,{locale:g.$L,utc:g.$u,x:g.$x,$offset:g.$offset})};var J=(function(){function I(d){this.$L=C(d.locale,null,!0),this.parse(d),this.$x=this.$x||d.x||{},this[W]=!0}var g=I.prototype;return g.parse=function(d){this.$d=(function(p){var h=p.date,b=p.utc;if(h===null)return new Date(NaN);if(T.u(h))return new Date;if(h instanceof Date)return new Date(h);if(typeof h=="string"&&!/Z$/i.test(h)){var f=h.match(j);if(f){var c=f[2]-1||0,S=(f[7]||"0").substring(0,3);return b?new Date(Date.UTC(f[1],c,f[3]||1,f[4]||0,f[5]||0,f[6]||0,S)):new Date(f[1],c,f[3]||1,f[4]||0,f[5]||0,f[6]||0,S)}}return new Date(h)})(d),this.init()},g.init=function(){var d=this.$d;this.$y=d.getFullYear(),this.$M=d.getMonth(),this.$D=d.getDate(),this.$W=d.getDay(),this.$H=d.getHours(),this.$m=d.getMinutes(),this.$s=d.getSeconds(),this.$ms=d.getMilliseconds()},g.$utils=function(){return T},g.isValid=function(){return this.$d.toString()!==v},g.isSame=function(d,p){var h=N(d);return this.startOf(p)<=h&&h<=this.endOf(p)},g.isAfter=function(d,p){return N(d)<this.startOf(p)},g.isBefore=function(d,p){return this.endOf(p)<N(d)},g.$g=function(d,p,h){return T.u(d)?this[p]:this.set(h,d)},g.unix=function(){return Math.floor(this.valueOf()/1e3)},g.valueOf=function(){return this.$d.getTime()},g.startOf=function(d,p){var h=this,b=!!T.u(p)||p,f=T.p(d),c=function(re,ee){var oe=T.w(h.$u?Date.UTC(h.$y,ee,re):new Date(h.$y,ee,re),h);return b?oe:oe.endOf(x)},S=function(re,ee){return T.w(h.toDate()[re].apply(h.toDate("s"),(b?[0,0,0,0]:[23,59,59,999]).slice(ee)),h)},R=this.$W,P=this.$M,Y=this.$D,Z="set"+(this.$u?"UTC":"");switch(f){case k:return b?c(1,0):c(31,11);case E:return b?c(1,P):c(0,P+1);case y:var U=this.$locale().weekStart||0,se=(R<U?R+7:R)-U;return c(b?Y-se:Y+(6-se),P);case x:case O:return S(Z+"Hours",0);case A:return S(Z+"Minutes",1);case o:return S(Z+"Seconds",2);case l:return S(Z+"Milliseconds",3);default:return this.clone()}},g.endOf=function(d){return this.startOf(d,!1)},g.$set=function(d,p){var h,b=T.p(d),f="set"+(this.$u?"UTC":""),c=(h={},h[x]=f+"Date",h[O]=f+"Date",h[E]=f+"Month",h[k]=f+"FullYear",h[A]=f+"Hours",h[o]=f+"Minutes",h[l]=f+"Seconds",h[a]=f+"Milliseconds",h)[b],S=b===x?this.$D+(p-this.$W):p;if(b===E||b===k){var R=this.clone().set(O,1);R.$d[c](S),R.init(),this.$d=R.set(O,Math.min(this.$D,R.daysInMonth())).$d}else c&&this.$d[c](S);return this.init(),this},g.set=function(d,p){return this.clone().$set(d,p)},g.get=function(d){return this[T.p(d)]()},g.add=function(d,p){var h,b=this;d=Number(d);var f=T.p(p),c=function(P){var Y=N(b);return T.w(Y.date(Y.date()+Math.round(P*d)),b)};if(f===E)return this.set(E,this.$M+d);if(f===k)return this.set(k,this.$y+d);if(f===x)return c(1);if(f===y)return c(7);var S=(h={},h[o]=r,h[A]=i,h[l]=s,h)[f]||1,R=this.$d.getTime()+d*S;return T.w(R,this)},g.subtract=function(d,p){return this.add(-1*d,p)},g.format=function(d){var p=this,h=this.$locale();if(!this.isValid())return h.invalidDate||v;var b=d||"YYYY-MM-DDTHH:mm:ssZ",f=T.z(this),c=this.$H,S=this.$m,R=this.$M,P=h.weekdays,Y=h.months,Z=h.meridiem,U=function(ee,oe,_,ce){return ee&&(ee[oe]||ee(p,b))||_[oe].slice(0,ce)},se=function(ee){return T.s(c%12||12,ee,"0")},re=Z||function(ee,oe,_){var ce=ee<12?"AM":"PM";return _?ce.toLowerCase():ce};return b.replace(D,(function(ee,oe){return oe||(function(_){switch(_){case"YY":return String(p.$y).slice(-2);case"YYYY":return T.s(p.$y,4,"0");case"M":return R+1;case"MM":return T.s(R+1,2,"0");case"MMM":return U(h.monthsShort,R,Y,3);case"MMMM":return U(Y,R);case"D":return p.$D;case"DD":return T.s(p.$D,2,"0");case"d":return String(p.$W);case"dd":return U(h.weekdaysMin,p.$W,P,2);case"ddd":return U(h.weekdaysShort,p.$W,P,3);case"dddd":return P[p.$W];case"H":return String(c);case"HH":return T.s(c,2,"0");case"h":return se(1);case"hh":return se(2);case"a":return re(c,S,!0);case"A":return re(c,S,!1);case"m":return String(S);case"mm":return T.s(S,2,"0");case"s":return String(p.$s);case"ss":return T.s(p.$s,2,"0");case"SSS":return T.s(p.$ms,3,"0");case"Z":return f}return null})(ee)||f.replace(":","")}))},g.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},g.diff=function(d,p,h){var b,f=this,c=T.p(p),S=N(d),R=(S.utcOffset()-this.utcOffset())*r,P=this-S,Y=function(){return T.m(f,S)};switch(c){case k:b=Y()/12;break;case E:b=Y();break;case w:b=Y()/3;break;case y:b=(P-R)/6048e5;break;case x:b=(P-R)/864e5;break;case A:b=P/i;break;case o:b=P/r;break;case l:b=P/s;break;default:b=P}return h?b:T.a(b)},g.daysInMonth=function(){return this.endOf(E).$D},g.$locale=function(){return H[this.$L]},g.locale=function(d,p){if(!d)return this.$L;var h=this.clone(),b=C(d,p,!0);return b&&(h.$L=b),h},g.clone=function(){return T.w(this.$d,this)},g.toDate=function(){return new Date(this.valueOf())},g.toJSON=function(){return this.isValid()?this.toISOString():null},g.toISOString=function(){return this.$d.toISOString()},g.toString=function(){return this.$d.toUTCString()},I})(),K=J.prototype;return N.prototype=K,[["$ms",a],["$s",l],["$m",o],["$H",A],["$W",x],["$M",E],["$y",k],["$D",O]].forEach((function(I){K[I[1]]=function(g){return this.$g(g,I[0],I[1])}})),N.extend=function(I,g){return I.$i||(I(g,J,N),I.$i=!0),N},N.locale=C,N.isDayjs=z,N.unix=function(I){return N(1e3*I)},N.en=H[G],N.Ls=H,N.p={},N}))})(Le)),Le.exports}var tn=en();const sn=js(tn);function as(e){if(!e)return"By Severity";const t=e.trim().toLowerCase();return t.includes("created")?"By Created Date":t.includes("updated")||t.includes("modified")?"By Updated Date":"By Severity"}function rn(e){return e&&e.trim().toLowerCase().includes("rule")?"By Rules":"By severity"}function nn(e){if(!e||typeof e!="string")return{hours:0,minutes:0,seconds:0};const t=e.split(":").map(a=>parseInt(a,10)),s=Number.isFinite(t[0])?t[0]:0,r=Number.isFinite(t[1])?t[1]:0,i=Number.isFinite(t[2])?t[2]:0;return{hours:s,minutes:r,seconds:i}}function qt(e){const{hours:t,minutes:s,seconds:r}=nn(e);return sn().hour(t).minute(s).second(r).millisecond(0)}const{Title:Wt}=u.Typography;function os({severities:e,rules:t,userRoles:s,rawRules:r,onSave:i}){const{rules:a,alerts:l}=he(),[o,A]=m.useState("By Severity"),[x,y]=m.useState("By severity"),[E,w]=m.useState("By Severity"),[k,O]=m.useState("By severity"),[v,j]=m.useState(!1),[D,L]=m.useState(!1),[Q,X]=m.useState(null),[G,H]=m.useState("rules"),[W,z]=m.useState(),[C,N]=m.useState();console.log("usr",s);const[T,J]=m.useState(),[K,I]=m.useState([]),[g,d]=m.useState(),[p,h]=m.useState([]),[b,f]=m.useState(),[c,S]=m.useState([]),[R,P]=m.useState([]),[Y,Z]=m.useState([]),[U,se]=m.useState(!1),[re,ee]=m.useState({}),[oe,_]=m.useState({}),[ce,ze]=m.useState(s||[]),[He,Ye]=m.useState([]),[hs,ft]=m.useState(!1),[fs,mt]=m.useState(!1);m.useEffect(()=>{if(!r||!r.length)return;const F=Object.keys(re).length>0||Object.keys(oe).length>0;if(He.length&&!F)return;const B=r.map((M,q)=>{const te=t.find(me=>me.RuleId===(M.ruleId||M.ruleName))?.Name||M.ruleName||M.Name||"-",$=M.escalationSettings||{},V=typeof $.level1UserRoleId=="number"&&$.level1UserRoleId>0?[$.level1UserRoleId]:[],fe=typeof $.level2UserRoleId=="number"&&$.level2UserRoleId>0?[$.level2UserRoleId]:[],Ge=typeof $.level3UserRoleId=="number"&&$.level3UserRoleId>0?[$.level3UserRoleId]:[],yt=(Array.isArray($.escalationSettingsActionTypeIds)?$.escalationSettingsActionTypeIds:[]).map(me=>re[me]||String(me)),At=(Array.isArray($.thirdPartyId)?$.thirdPartyId:[]).map(me=>oe[me]||String(me)),Xe=typeof $.humanLoop=="boolean"?$.humanLoop:null;return{id:String(M.ruleId||M.ruleName||q),ruleOrSeverityLabel:te,l1:{minutes:$.level1PostAssistTime??void 0,roles:V},l2:{minutes:$.level2PostAssistTime??void 0,roles:fe},l3:{minutes:$.level3PostAssistTime??void 0,roles:Ge},actions:yt,notify:At,humanLoop:Xe}});Ye(B)},[r,t,re,oe]);const ms=m.useMemo(()=>e.map(F=>({label:F.DisplayName,value:F.SeverityId})),[e]),ps=m.useMemo(()=>t.map(F=>({label:F.Name,value:F.RuleId})),[t]),ys=m.useMemo(()=>ce.map(F=>({label:F.userRoleName,value:F.userRoleId})),[ce]),gs=m.useMemo(()=>[1,3,5,10,15,20,30,45,60].map(F=>({label:`${F}`,value:F})),[]);m.useEffect(()=>{let F=!1;async function B(){try{L(!0),X(null);const M=await l.getAdminSettings();if(!F&&M){const q=as(M.sortBy),te=rn(M.groupBy);A(q),y(te),w(q),O(te),j(!1)}}catch(M){if(!F){const q=M instanceof Error?M.message:"Failed to load admin settings";X(q)}}finally{F||L(!1)}}return B(),()=>{F=!0}},[]),m.useEffect(()=>{if(!C)return;const B=(r||[]).find(M=>M?.ruleId===C||M?.ruleName===C||M?.RuleId===C)?.escalationSettings;if(B&&typeof B=="object"){J(B.level1PostAssistTime??void 0),I(B.level1UserRoleId?[B.level1UserRoleId]:[]),d(B.level2PostAssistTime??void 0),h(B.level2UserRoleId?[B.level2UserRoleId]:[]),f(B.level3PostAssistTime??void 0),S(B.level3UserRoleId?[B.level3UserRoleId]:[]);const M=Array.isArray(B.escalationSettingsActionTypeIds)?B.escalationSettingsActionTypeIds:[];P(M.map(q=>String(q))),Z(Array.isArray(B.thirdPartyId)?B.thirdPartyId:[]),se(!!B.humanLoop)}},[G,C,r]);const As=async()=>{try{mt(!0);const F=await a.getRules(),M=(Array.isArray(F)?F:Array.isArray(F?.data)?F.data:[]).map((q,te)=>{const $=t.find(Se=>Se.RuleId===(q.ruleId||q.ruleName))?.Name||q.ruleName||q.Name||"-",V=q.escalationSettings||{},fe=typeof V.level1UserRoleId=="number"&&V.level1UserRoleId>0?[V.level1UserRoleId]:[],Ge=typeof V.level2UserRoleId=="number"&&V.level2UserRoleId>0?[V.level2UserRoleId]:[],pt=typeof V.level3UserRoleId=="number"&&V.level3UserRoleId>0?[V.level3UserRoleId]:[],gt=(Array.isArray(V.escalationSettingsActionTypeIds)?V.escalationSettingsActionTypeIds:[]).map(Se=>re[Se]||String(Se)),Xe=(Array.isArray(V.thirdPartyId)?V.thirdPartyId:[]).map(Se=>oe[Se]||String(Se)),me=typeof V.humanLoop=="boolean"?V.humanLoop:null;return{id:String(q.ruleId||q.ruleName||te),ruleOrSeverityLabel:$,l1:{minutes:V.level1PostAssistTime??void 0,roles:fe},l2:{minutes:V.level2PostAssistTime??void 0,roles:Ge},l3:{minutes:V.level3PostAssistTime??void 0,roles:pt},actions:gt,notify:Xe,humanLoop:me}});Ye(M)}catch(F){console.error("Failed to refetch entries",F)}finally{mt(!1)}};m.useEffect(()=>{let F=!1;return(async()=>{try{const B=await a.getLookups();if(F||!B)return;const M={};if(Array.isArray(B.thirdParties))for(const te of B.thirdParties)typeof te.thirdPartyId=="number"&&(M[te.thirdPartyId]=te.thirdPartyName);_(M);const q=Array.isArray(B.userRoles)?B.userRoles.map(te=>({userRoleId:te.userRoleId??te.id,userRoleName:te.userRoleName??te.name})):[];F||ze(q.length?q:s||[])}catch(B){console.error("Error loading lookups",B)}})(),()=>{F=!0}},[]);const vs=async()=>{try{const F=await l.setAdminSettings({sortBy:o,groupBy:x});console.log("resp",F),F?.responseStatus&&F?.data&&de.toast.success(F.data),w(o),O(x),j(!1)}catch(F){console.error("Error saving admin settings",F)}},Ss=()=>{A(E),y(k),j(!1)},bs=async()=>{ft(!0),i?.({ruleId:C,levels:[{minutes:T,roles:K},{minutes:g,roles:p},{minutes:b,roles:c}],actions:R,thirdPartyIds:Y,humanLoop:U});try{if(C){const M=Array.isArray(R)?R.map(fe=>Number(fe)):[],q=(r||[]).find(fe=>fe?.ruleId===C||fe?.ruleName===C||fe?.RuleId===C),te=typeof q?.recordId=="number"?q.recordId:void 0;if(!q||typeof te!="number"){de.toast.error("Unable to find rule recordId for update");return}const $={...q,actions:[{actionTypeId:4,actionTypeUniqueId:"bc0973d4-9be0-4efb-8545-c9112ba06c1f",name:"Audible Warning",notificationType:"Alarm",category:"Hardware",description:"Test",isSystemDefined:!0,isActive:!0,displayOrder:0}],escalationSettings:{level1UserRoleId:Array.isArray(K)&&K.length?K[0]:0,level1PostAssistTime:T??0,level2UserRoleId:Array.isArray(p)&&p.length?p[0]:0,level2PostAssistTime:g??0,level3UserRoleId:Array.isArray(c)&&c.length?c[0]:0,level3PostAssistTime:b??0,escalationSettingsActionTypeIds:M,thirdPartyId:Array.isArray(Y)?Y:[],humanLoop:U}},V=await a.updateRule(te,$);if(V?.responseStatus||V?.ok||V){de.toast.success("Escalation settings saved"),await As(),N(void 0),J(void 0),I([]),d(void 0),h([]),f(void 0),S([]),P([]),Z([]),se(!1);return}}}catch(M){console.error("Error saving escalation settings",M)}finally{ft(!1)}const B=t.find(M=>M.RuleId===C)?.Name||"-";Ye(M=>[...M,{id:`${Date.now()}-${Math.random().toString(36).slice(2,8)}`,ruleOrSeverityLabel:B,l1:{minutes:T,roles:K},l2:{minutes:g,roles:p},l3:{minutes:b,roles:c},actions:(Array.isArray(R)?R:[]).map(q=>{const te=Number(q);return re[te]||String(q)}),notify:(Array.isArray(Y)?Y:[]).map(q=>oe[q]||String(q)),humanLoop:!!U}])},xs=()=>{A("By Severity"),y("By severity"),H("rules"),z(void 0),N(void 0),J(void 0),I([]),d(void 0),h([]),f(void 0),S([]),P([]),Z([]),se(!1)};return n.jsxs("div",{className:"w-full",children:[n.jsxs("div",{className:"mb-6",children:[n.jsx(Wt,{level:4,className:"!mb-2",children:"Admin Settings"}),n.jsxs(u.Spin,{spinning:D,children:[Q?n.jsxs("div",{className:"text-sm text-red-600 mb-2",children:["Failed to load settings: ",Q]}):null,n.jsx(Vr,{sortBy:o,groupBy:x,onChange:F=>{F.sortBy&&(A(F.sortBy),j(!0)),F.groupBy&&(y(F.groupBy),j(!0))},showActions:v,onSave:vs,onClear:Ss})]})]}),n.jsx(u.Divider,{className:"my-6"}),n.jsxs("div",{children:[n.jsx(Wt,{level:4,className:"!mb-4",children:"Escalation Settings"}),n.jsx(Kr,{escBasis:G,setEscBasis:H,selectedSeverity:W,setSelectedSeverity:z,selectedRule:C,setSelectedRule:N,severityOptions:ms,ruleOptions:ps,minsOptions:gs,roleOptions:ys,l1mins:T,setL1mins:J,l1roles:K,setL1roles:I,l2mins:g,setL2mins:d,l2roles:p,setL2roles:h,l3mins:b,setL3mins:f,l3roles:c,setL3roles:S,actions:R,setActions:P,thirdPartyIds:Y,setThirdPartyIds:Z,humanLoop:U,setHumanLoop:se,onClear:xs,onSave:bs,saving:hs,onActionTypesLoaded:F=>{const B={};for(const M of F)typeof M.actionTypeId=="number"&&(B[M.actionTypeId]=M.name);ee(B)}})]}),n.jsx(u.Divider,{className:"my-6"}),n.jsx(Zr,{entries:He,userRoles:ce,loading:fs,onEdit:F=>{H("rules");const B=He.find(q=>q.id===F),M=t.find(q=>q.RuleId===F)||(B?t.find(q=>q.Name===B.ruleOrSeverityLabel):void 0);N(M?M.RuleId:F)}}),n.jsx(u.Divider,{className:"my-6"}),n.jsx(is,{userRoles:ce,rules:t,rawRules:r}),n.jsx(u.Divider,{})]})}const{Title:zt,Text:De}=u.Typography;function ls({severities:e,rules:t,onSave:s,onCancel:r}){const{rules:i,alerts:a}=he(),l=[{label:"By Severity",value:"By Severity"},{label:"By Created Date",value:"By Created Date"}],[o,A]=m.useState("By Severity"),[x,y]=m.useState(new Set),[E,w]=m.useState(null),[k,O]=m.useState(null),[v,j]=m.useState({inApp:!1,sms:!1,email:!1,walkie:!1}),[D,L]=m.useState([]),[Q,X]=m.useState(!0),[G,H]=m.useState(!1);m.useEffect(()=>{let C=!1;return(async()=>{try{const N=await a.getPreferenceSettings();if(C||!N)return;j({inApp:!!N.inApp,sms:!!N.sms,email:!!N.email,walkie:!!N.walkieIntegration});const T=as(N.sortBy);A(T==="By Created Date"?"By Created Date":"By Severity"),w(qt(N.doNotDisturbStart)),O(qt(N.doNotDisturbEnd)),Array.isArray(N.anomalyIds)&&y(new Set(N.anomalyIds.map(J=>String(J))))}catch(N){console.error("Error in loading my preferences: ",N)}})(),()=>{C=!0}},[]),m.useEffect(()=>{let C=!1;return(async()=>{try{X(!0);const N=await i.getLookups();if(C||!N)return;const T=Array.isArray(N.anomalies)?N.anomalies:[];L(T)}catch(N){console.error("Failed to load anomalies lookups",N)}finally{C||X(!1)}})(),()=>{C=!0}},[]);const W=C=>{y(N=>{const T=new Set(N);return T.has(C)?T.delete(C):T.add(C),T})},z=async()=>{s?.({sortBy:o,subscribedRuleIds:Array.from(x),dnd:{from:E,to:k},channels:v});try{H(!0);const C=E?E.format?.("HH:mm:ss")??"00:00:00":"00:00:00",N=k?k.format?.("HH:mm:ss")??"00:00:00":"00:00:00",T=Array.from(x).map(K=>Number(K)).filter(K=>Number.isFinite(K)),J=await a.setPreferenceSettings({anomalyIds:T,doNotDisturbStart:C,doNotDisturbEnd:N,inApp:!!v.inApp,sms:!!v.sms,email:!!v.email,walkieIntegration:!!v.walkie,sortBy:o});J?.responseStatus&&u.message.success(J?.data||"Preferences updated successfully.")}catch(C){console.error("Error in saving my preferences: ",C)}finally{H(!1)}};return n.jsxs("div",{className:"w-full",children:[n.jsx(u.Row,{gutter:[16,16],align:"middle",className:"mb-4",children:n.jsx(u.Col,{xs:24,md:8,children:n.jsxs(u.Space,{direction:"horizontal",size:12,className:"w-full items-center",children:[n.jsx(De,{className:"text-gray-600",children:"Sort By:"}),n.jsx(u.Select,{className:"w-[240px]",value:o,options:l,onChange:A})]})})}),n.jsxs("div",{className:"mb-4",children:[n.jsx(zt,{level:5,className:"!mb-2",children:"Anomalies"}),Q?n.jsx("div",{className:"py-4",children:n.jsx(u.Spin,{})}):n.jsx(u.Space,{direction:"vertical",size:10,className:"w-full",children:(Array.isArray(D)?D:[]).map(C=>{const N=String(C.recordId),T=C.anomalyName;return n.jsx(u.Checkbox,{checked:x.has(N),onChange:()=>W(N),children:T},N)})})]}),n.jsxs("div",{className:"mb-4",children:[n.jsx(zt,{level:5,className:"!mb-2",children:"Notification Timing & Channels"}),n.jsx(u.Row,{gutter:[16,16],align:"middle",className:"mb-3",children:n.jsx(u.Col,{xs:24,md:12,children:n.jsxs(u.Space,{direction:"horizontal",size:12,className:"w-full items-center",children:[n.jsx(De,{children:"Do Not Disturb mode:"}),n.jsxs(u.Space,{size:12,className:"w-full",children:[n.jsxs(u.Space,{direction:"horizontal",size:8,className:"items-center",children:[n.jsx(De,{children:"From"}),n.jsx(u.TimePicker,{value:E,onChange:C=>w(C),format:"HH:mm"})]}),n.jsxs(u.Space,{direction:"horizontal",size:8,className:"items-center",children:[n.jsx(De,{children:"To"}),n.jsx(u.TimePicker,{value:k,onChange:C=>O(C),format:"HH:mm"})]})]})]})})}),n.jsxs(u.Row,{gutter:[24,12],children:[n.jsx(u.Col,{children:n.jsx(u.Checkbox,{checked:v.inApp,onChange:C=>j({...v,inApp:C.target.checked}),children:"In-app"})}),n.jsx(u.Col,{children:n.jsx(u.Checkbox,{checked:v.sms,onChange:C=>j({...v,sms:C.target.checked}),children:"SMS"})}),n.jsx(u.Col,{children:n.jsx(u.Checkbox,{checked:v.email,onChange:C=>j({...v,email:C.target.checked}),children:"Email"})}),n.jsx(u.Col,{children:n.jsx(u.Checkbox,{checked:v.walkie,onChange:C=>j({...v,walkie:C.target.checked}),children:"Walkie system integration"})})]})]}),n.jsx(u.Divider,{}),n.jsxs(u.Space,{className:"gap-3",children:[n.jsx(u.Button,{onClick:r,disabled:G,children:"Cancel"}),n.jsx(u.Button,{type:"primary",onClick:z,loading:G,children:"Save"})]})]})}function cs({severities:e,rules:t,userRoles:s,rawRules:r}){const[i,a]=m.useState("global");return n.jsxs("div",{className:"w-full",children:[n.jsxs("div",{className:"inline-flex rounded-xl overflow-hidden border border-gray-200 mb-4",children:[n.jsx("button",{onClick:()=>a("global"),className:`px-5 py-2 text-base font-medium outline-none ${i==="global"?" bg-black text-white":" bg-white text-black"}`,style:{border:"0"},children:"Global Settings"}),n.jsx("button",{onClick:()=>a("prefs"),className:`px-5 py-2 text-base font-medium outline-none ${i==="prefs"?"bg-black text-white":"bg-white"}`,children:"My Preferences"})]}),i==="global"?n.jsx(os,{severities:e,rules:t,userRoles:s,rawRules:r}):n.jsx(ls,{severities:e,rules:t})]})}const an="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAYAAACpF6WWAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAIZSURBVHgBnZW/b9NAFMe/z3H6i1ZNJUBFQsL/QQkLCFBtRhhKF1ibhBmpXbtgFlYqsTG0gRGWwgAjMb8EYmjYGN0pCCrVVaX+SBxf37PiqHWcOu5Xsux79+6j77vz3RH66IbdsDTQPCFngmBwqMCPBwVXoe204Fd/2ZfrSWMpHrDshtGCvsY9FlKkFNYD+Es/7EtuX+itp1sLnLrScTWoPMYsfnty/lUPtAOs4syiUgQOoWHJpG9kdBiX11Z+UaZCk1YT+vOzACuzYxgf7hZbyBGvhTi9af+7SkQbyKi7M8N4ZJ5D+eU2dg9UN07KvyNOS8io6UkNFXMMj1/vnACKAuTmNXZpIqME+LF+iIbX7ukjkClODWTQw+ujuGYMYfXzXnICbxSBDrxAUvYDhkrZp6ggUC8+sDI7mpj9YmESb3/uJ5Z9TJ5A3eORvzsBpgs6lufGT2TKPNY3fbxh6Knis0FTSjnx+LP3u5DJicDi/t7MCFadPaRJQTl02/5vKcKnpITluYkwrWjksebs48Pvg3SoUkXtq32hxt+1pITI8Zc/zcGACN59ty/WdWnklV5ukZ+49wU8MUJIF3mBGlqUr3Dv1+wpl20v9UuP75pElyrgc3XK7UJFbLvK4DJiv9ggDmWcjO9G4imWvW00yV/hjvtpOFnpQOVLkcO+0EhyevGrROG1ol1hREFc8ZGxyddIje+v9c4i9+gI5z7MozLxclgAAAAASUVORK5CYII=",on="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAYAAACpF6WWAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAKeSURBVHgBjVVdbtpAEJ5ZmygPfTBSaVWpUt0bwFuURgJOUG5QeoLACbw+QeAEwA3SGxgJokh9CDeI+xSpTRU/Imw8nbFZx6QQGAl5d2fm229+dkDYI2f6oaUAOwhWExBcPnL4FwFBSLCexpCMf+qPi12++PKgpR/cGOwRa1pwQIjgOoWkf6s/hOVzVd588R+/xWjf5YAY8Y0+ErQrZFfnXg3lK3uGm7A+RISOxfbit5NprqBxxgBoeEIVHehqtI9lSz+5McaaITaA2J17bycFaBayMOS8IaT+zHuv4Ui58P9oAvB4Ga0paUgqbFGswL5idIcIx3P9DCiXrQB7iJawcTiCkMMIUlj7Jo8zr6Yv/EfRXXIqRnzUxnP9u46Id8Q5Sslq3+pqWErHAPKqvxROC/ZMuJwKJ8bkPouUkrYUqgt5IgMDKAxfAYT8nAZnmR2A5J47YSjrFKyOYpZN2SiIJ8YjRqVfASyAFVg9s2F2gXwRsClMXdnYcFpq5PyiQ8KEilaywc79+aEow2i7fdCF46SIpuTvCGi2kWSXjCM4QqS4Zl3yjwQ0UySwrBfGRJNjQKW4ZrmEpL45CxUDTGWdgmoZgxOoDA6zxYgr7ZudhWk3x6Sp4kl0nZmgujQhcH5Cvqy/Hxi5hdL+dgsWxR2rma4FkLeDw+PMM243+t2YB0jDDI9nMBquyWqI3tjmLYguQfqDzxebty/DIcnePr9jfePVfDhSzv2/Hs8LAY3kMmFfTCl+rl3uu1GWF6Jx+X3vkpa+58jeeNyXvY3Pd8N+a0hvgK9ge3hMTmG5CPTnSICWcFpXaDfZUcAck99yOnZM/id3hcmAFV/hgEilU6p0TcH2gpZYS98xc/kXUJ8YImPFzfeLh0cgXbMp8n/yD3ySPZSK0MWKAAAAAElFTkSuQmCC";function ln(e){const t=(e.status||"").toLowerCase()==="completed"?n.jsx("img",{src:an,alt:"completed",style:{width:20,height:20}}):n.jsx("img",{src:on,alt:"pending",style:{width:20,height:20}});return{title:n.jsxs("div",{className:"flex flex-col gap-0 min-w-0",children:[n.jsxs("div",{className:"flex flex-col",children:[n.jsx("span",{className:"block text-sm break-words mb-1 overflow-visible whitespace-normal",children:n.jsx("b",{children:e.title})}),e.description?n.jsx("span",{className:"text-gray-500 text-xs",children:e.description}):null]}),e.timestamp?n.jsx("span",{className:"text-gray-500 text-xs",children:e.timestamp}):null]}),icon:t,description:null}}function cn({data:e}){return n.jsx("div",{className:"w-full",children:n.jsx(u.Tabs,{type:"card",items:[{key:"action",label:"Action Taken",children:n.jsxs("div",{className:"w-full",children:[n.jsx(u.Card,{className:"mb-4 rounded-md",bordered:!0,children:n.jsxs("div",{className:"grid grid-cols-4 gap-6 text-xs",children:[n.jsxs("div",{className:"flex flex-col gap-1",children:[n.jsx("span",{className:"text-gray-500",children:"Alert ID"}),n.jsx("span",{className:"text-black",children:e.summary.alertId})]}),n.jsxs("div",{className:"flex flex-col gap-1",children:[n.jsx("span",{className:"text-gray-500",children:"Incident ID"}),n.jsx("span",{className:"text-black",children:e.summary.incidentId})]}),n.jsxs("div",{className:"flex flex-col gap-1",children:[n.jsx("span",{className:"text-gray-500",children:"Severity"}),n.jsx("span",{className:"text-black",children:e.summary.severity})]}),n.jsxs("div",{className:"flex flex-col gap-1",children:[n.jsx("span",{className:"text-gray-500",children:"Location"}),n.jsx("span",{className:"text-black",children:e.summary.location})]})]})}),n.jsxs(u.Card,{className:"rounded-md",bordered:!0,children:[n.jsx("div",{className:"flex items-center justify-between",children:n.jsx("h4",{className:"text-sm text-black font-medium",children:"Response Timeline/ Audit trail/log"})}),n.jsx("div",{className:"mt-2",children:n.jsx(u.Steps,{direction:"vertical",size:"small",current:1,items:(e.timeline||[]).map(ln)})})]})]})},{key:"notification",label:"Notification Sent",children:n.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[(e.notifications||[]).map((t,s)=>n.jsxs(u.Card,{className:"rounded-md p-4",bordered:!0,children:[n.jsxs("div",{className:"flex items-start justify-between",children:[n.jsxs("div",{className:"flex flex-col",children:[n.jsx("h4",{className:"text-sm text-black font-medium",children:t.channelLabel}),n.jsx("span",{className:"text-xs text-gray-500 mt-1",children:t.sentAt})]}),n.jsxs("span",{className:"text-[11px] px-2 py-1 rounded-full bg-green-50 text-green-700 border border-green-200",children:[t.delivered,"/",t.total," Delivered"]})]}),n.jsxs("div",{className:"mt-4 text-xs",children:[n.jsxs("div",{className:"text-black",children:[" ",t.messageTitle]}),t.messageBody?n.jsx("div",{className:"text-gray-600",children:t.messageBody}):null]}),n.jsxs("div",{className:"mt-4",children:[n.jsxs("div",{className:"text-xs text-black font-medium",children:["Recipients (",t.total,")"]}),n.jsx("div",{className:"mt-2 flex flex-col gap-3 text-xs",children:(t.recipients||[]).map((r,i)=>n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsxs("div",{className:"flex flex-col",children:[n.jsx("span",{className:"text-black",children:r.name}),n.jsxs("span",{className:"text-gray-500",children:[r.role," . ",r.phone]})]}),n.jsx("span",{className:`text-[11px] px-3 py-[2px] rounded ${r.status==="Delivered"?"bg-green-50 text-green-700 border border-green-200":"bg-red-50 text-red-700 border border-red-200"}`,children:r.status})]},i))})]})]},s)),e.notifications?.length?null:n.jsx("span",{className:"text-gray-500 text-xs",children:"No notifications."})]})}]})})}const Re={summary:{alertId:"ALT - 002 #",incidentId:"#000000",severity:"High",location:"Block B, Classroom 204"},timeline:[{status:"Completed",title:"Emergency Services Dispatched",description:"AMB-412 and MED-7 confirmed dispatch and began response.",timestamp:"27/06/2025, 16:00:00"},{status:"Completed",title:"Call Connected to PSAP",description:"Call routed to Springfield Emergency Communications Center.",timestamp:"27/06/2025, 16:00:00"},{status:"Completed",title:"911 Call Initiated",description:"Emergency call placed from school administration office.",timestamp:"27/06/2025, 16:00:00"},{status:"Inprogress",title:"First Unit On Scene",description:"Police Unit 24 arrived and confirmed situation.",timestamp:"29/06/2025, 18:00:00"}],rapidSOS:[{event:"Caller connected to PSAP",timestamp:"27/06/2025, 16:00:05",details:"RapidSOS session created"}]};function un(e){if(!e||typeof e!="string")return!1;const t=e.split("?")[0].toLowerCase();return t.endsWith(".mp4")||t.endsWith(".webm")||t.endsWith(".ogg")||t.endsWith(".m3u8")}function dn(e){const t=(e?.mediaType||e?.type||"").toString().toLowerCase();return t==="video"||t==="mp4"?!0:un(e?.mediaUrl||e)}function Ke(e){const t=e;return t?Array.isArray(t)?t:[t]:[]}const hn={Critical:"#FF3B30",High:"#FFB86A",Medium:"#FFCC00",Low:"#007AFF"},fn={Critical:"#FFE2E2",High:"#FF95004D",Medium:"#FEF9C2",Low:"#E0EDFF"},mn=({isModalOpen:e,handleModalClose:t,selectedRow:s,fetchAlertLogs:r,alertStatusList:i=[],alertStatusLoading:a=!1,initialTab:l="details"})=>{const[o,A]=m.useState(),[x,y]=m.useState(""),[E,w]=m.useState(!1),k=m.useRef(null),[O,v]=m.useState("details"),[j,D]=m.useState(void 0),L=dt(),{alerts:Q}=he(),X=s?.originalData||{},{eventName:G,alertId:H,timestamp:W,description:z,spaceName:C,assignTeam:N,priority:T,type:J,statusType:K,id:I,alertDetails:g,statusHistory:d,mediaDetails:p}=X;m.useEffect(()=>{const f=I;if(O!=="track"||!f)return;let c=!1;return(async()=>{try{const S=await Q.getAlertNotifications(f);if(c)return;const R=new Map;(S||[]).forEach(Y=>{const Z=String(Y?.notificationType||"Unknown"),U=R.get(Z)||[];U.push(Y),R.set(Z,U)});const P=Array.from(R.entries()).map(([Y,Z])=>{const U=Z.map(_=>{const ce=String(_?.messageStatus||"").toLowerCase(),ze=ce==="delivered"?"Delivered":ce==="failed"?"Failed":"Queued";return{name:_?.receipientName||_?.recipientName||"-",role:_?.receipientRoleName||"",phone:_?.receipentPhoneNumber||_?.recipientPhoneNumber||_?.receipientEmail||_?.recipientEmail||"",status:ze}}),se=U.filter(_=>_.status==="Delivered").length,re=Z.map(_=>_?.sentAt).filter(Boolean).sort((_,ce)=>new Date(ce).getTime()-new Date(_).getTime())[0],ee=Z[0]||{},oe=[ee?.severityName,ee?.anomalyName].filter(Boolean).join(" - ")||`${Y} Notification`;return{channelLabel:`${Y} Notification`,sentAt:re||"",messageTitle:oe,messageBody:"",total:U.length,delivered:se,recipients:U}});D(P)}catch{D(void 0)}})(),()=>{c=!0}},[O,I]),m.useEffect(()=>{e&&v(l)},[e,l]);const h=(i||[]).map(f=>({value:f.value,label:f.statusName})),b=async()=>{try{w(!0);const f={alertUniqueId:H,alertId:I,status:o!==void 0?String(o):void 0,notes:x.trim(),modifiedBy:0},c=await L.mutateAsync(f);if(c?.responseStatus){const S=c?.data||"Alert updated successfully.";de.toast.success(S,{autoClose:1500,onClose:()=>{r(),t()}}),A(void 0),y("")}else{const S=c?.errorMessage||"Failed to update alert status";de.toast.error(S)}}catch(f){console.error("Error updating alert status:",f),de.toast.error("Failed to update alert status. Please try again.")}finally{w(!1)}};return n.jsx(u.Modal,{open:e,onCancel:t,width:1e3,footer:O==="details"?n.jsxs("div",{className:"flex flex-row gap-2 justify-start",children:[n.jsx(u.Button,{onClick:t,className:"bg-[#6C757D] text-white",children:"Cancel"}),n.jsx(u.Button,{type:"primary",onClick:b,loading:E,children:E?"Saving...":"Save Changes"})]}):null,children:s&&n.jsx(u.Tabs,{activeKey:O,onChange:f=>v(f),items:[{key:"details",label:"Alert Detail",children:n.jsxs("div",{className:"grid grid-cols-2 gap-2",children:[n.jsxs("div",{className:"flex flex-col gap-2",children:[n.jsx("div",{className:"text-sm font-bold",children:G||"Alert Event"}),g?.firstName?n.jsxs("div",{className:"text-sm text-gray-500",children:["Resident ID/Name: ",g?.firstName," ",g?.lastName||""," ",g?.residentId||""]}):null,n.jsxs("div",{className:"text-sm text-gray-500",children:["Timestamp: ",Ve(W)]}),n.jsxs("div",{className:"font-sm text-gray-500",children:[n.jsx("b",{className:"text-black text-sm/6",children:"Description:"})," ",z||"No description available"]}),C&&n.jsxs("div",{className:"font-sm text-gray-500",children:["Space: ",C]}),N&&n.jsxs("div",{className:"font-sm text-gray-500",children:["Assigned to: ",N]}),n.jsxs("div",{className:"flex gap-2 justify-start mt-3",children:[n.jsxs(u.Tag,{className:"font-sm text-gray-500 rounded-[8px] py-2 px-3",style:{border:`2px solid ${hn[String(T)]||"#DFE4EA"}`,backgroundColor:fn[String(T)]},children:["Severity: ",T||"N/A"]}),n.jsxs(u.Tag,{className:"font-sm text-gray-500 rounded-[8px] py-2 px-3",children:["Shared With: ",J||"N/A"]}),n.jsxs(u.Tag,{className:"font-sm text-gray-500 rounded-[8px] py-2 px-3",style:String(K||"").toLowerCase()==="completed"?{background:"#E7F6EC",border:"0.68px solid var(--Green, #34C759)"}:{background:"#E0EDFF",border:"1px solid var(--Grays-Gray-4, #D1D1D6)"},children:["Status: ",K||"N/A"]})]}),n.jsx("div",{className:"w-full flex flex-col justify-start items-start mt-2 font-bold",children:n.jsxs("div",{className:"w-full mt-4",children:[n.jsx("div",{className:"flex flex-col gap-2",children:n.jsx(u.Select,{placeholder:"Change Status",className:"w-full text-gray-500",onChange:f=>A(f),value:o,options:h,loading:a})}),n.jsxs("div",{className:"flex flex-col gap-2 mt-3",children:[n.jsx("label",{className:"text-xs text-gray-500 font-medium",children:"Action Taken (Comments)"}),n.jsx("textarea",{id:"action-details-input",placeholder:"Enter details...",className:"w-full text-gray-500 h-20 border border-grey-500 rounded-md p-2",value:x,onChange:f=>y(f.target.value)})]}),n.jsxs("div",{className:"border border-[#DFE4EA] rounded-md px-4 py-2 flex flex-row justify-between items-center mt-4 mb-8",children:[n.jsx("label",{className:"text-xs font-medium",children:"Alert notification will be sent to all Family Members."}),n.jsx("button",{onClick:()=>de.toast.warn("Feature coming up soon!"),className:"bg-black text-white rounded-md px-4 py-2 text-xs",children:"Notify Family"})]})]})})]}),n.jsx("div",{className:"flex flex-col gap-4",children:n.jsxs("div",{className:"w-full mt-1",children:[n.jsxs("div",{className:"w-full flex items-center justify-between",children:[n.jsx("h3",{className:"text-black font-bold text-sm",children:"Camera Footage"}),Ke(p).length?n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx("button",{type:"button",onClick:()=>k.current?.prev?.(),className:"w-6 h-6 flex items-center justify-center rounded-full bg-gray-200 hover:bg-gray-300 text-gray-600","aria-label":"Previous media",children:n.jsx(Ne.LeftOutlined,{style:{fontSize:12}})}),n.jsx("button",{type:"button",onClick:()=>k.current?.next?.(),className:"w-6 h-6 flex items-center justify-center rounded-full bg-gray-200 hover:bg-gray-300 text-gray-600","aria-label":"Next media",children:n.jsx(Ne.RightOutlined,{style:{fontSize:12}})})]}):null]}),Ke(p).length?n.jsx("div",{className:"w-full",children:n.jsx(u.Carousel,{ref:k,dots:!0,className:"w-full",children:Ke(p).map((f,c)=>n.jsxs("div",{className:"flex justify-center items-center",children:[dn(f)?n.jsxs("video",{width:"240",height:"200",controls:!0,className:"max-w-full max-h-[90vh] object-contain rounded-lg shadow-lg",children:[n.jsx("source",{src:f.mediaUrl||f}),"Your browser does not support the video tag."]}):n.jsx("img",{src:f.mediaUrl||f,alt:f.caption||`media-${c}`,className:"max-w-full max-h-[90vh] object-contain rounded-lg shadow-lg"}),f.caption&&n.jsx("p",{className:"text-xs text-gray-500 mt-1",children:f.caption})]},c))})}):null]})})]})},{key:"track",label:"Track Incident",children:(()=>{const f={alertId:H??I??Re.summary.alertId,incidentId:Re.summary.incidentId,severity:T||Re.summary.severity,location:C||Re.summary.location},c=d&&d.length?d.map(R=>({status:(R?.status||R?.eventStatus||"").toLowerCase()==="completed"?"Completed":"Inprogress",title:R?.status||R?.eventStatus||"Status Update",description:R?.description||R?.actionNotes||"",timestamp:R?.createdDate?`${Ve(R?.createdDate)}`:R?.timestamp?`${Ve(R?.timestamp)}`:""})):Re.timeline,S={summary:f,timeline:c,notifications:j??[],rapidSOS:Re.rapidSOS};return n.jsx(cn,{data:S})})()}]})})};function us(){const{alerts:e}=he(),t=ut({queryKey:["alerts","statusList"],queryFn:()=>e.getAlertStatusList(),staleTime:5*6e4});return{list:t.data??[],loading:t.isLoading,error:t.error,refetch:t.refetch}}function ht({alerts:e,loading:t=!1,columns:s}){const[r,i]=m.useState(!1),[a,l]=m.useState(null),[o,A]=m.useState("details"),{list:x,loading:y}=us();function E(O,v){l(O),A(v?.tab??"details"),i(!0)}function w(){i(!1)}m.useEffect(()=>{},[]);const k=a?{originalData:{...a,alertId:a.alertId??a.id,mediaDetails:a.mediaDetails}}:null;return n.jsxs("div",{className:"p-6 flex flex-col items-start justify-start min-h-screen w-full",children:[n.jsxs("div",{className:"w-1/2 flex items-center justify-between mb-4",children:[n.jsx("h1",{className:"text-xl font-bold text-black",children:"Alert Console"}),n.jsx(ns,{label:"USA",timeZone:"America/New_York"})]}),n.jsx(u.Tabs,{defaultActiveKey:"active",className:"w-full",tabBarStyle:{fontSize:24},items:[{key:"active",label:"Active",children:n.jsx(nt,{data:e,loading:t,pageSize:10,columns:s||[],onAlertIdClick:E})},{key:"archived",label:"Archived",children:n.jsx(rs,{alerts:e,loading:t,columns:s||[],onAlertIdClick:E})},{key:"settings",label:"Settings",children:n.jsx(pn,{})}]}),n.jsx(mn,{isModalOpen:r,handleModalClose:w,selectedRow:k,fetchAlertLogs:()=>{},alertStatusList:x,alertStatusLoading:y,initialTab:o})]})}function pn(){const[e,t]=m.useState([]),[s,r]=m.useState([]),[i,a]=m.useState([]),{rules:l}=he();return m.useEffect(()=>{let o=!0;return(async()=>{try{const A=await l.getRules();if(!o)return;a(Array.isArray(A)?A:[]);const x=(A||[]).map((y,E)=>({RuleId:y.ruleId||y.ruleName||String(E),Name:y.ruleName||y.Name||"-",Description:y.ruleDesc||y.Description||"",SeverityId:0}));t(x.length?x:je.rules);try{const y=await l.getLookups(),E=Array.isArray(y?.userRoles)?y.userRoles.map(w=>({userRoleId:w.userRoleId??w.id,userRoleName:w.userRoleName??w.name})):[];r(E.length?E:je.userRoles)}catch{r(je.userRoles)}}catch{t(je.rules),r(je.userRoles)}})(),()=>{o=!1}},[]),n.jsx(cs,{severities:je.severities,rules:e,userRoles:s,rawRules:i})}function ds(){const{alerts:e}=he(),t=ut({queryKey:["alerts","list"],queryFn:()=>e.listAlerts(),staleTime:3e4});return{alerts:t.data??[],loading:t.isLoading,error:t.error,refetch:t.refetch}}function yn(e){const{alerts:t,loading:s}=ds();return n.jsx(ht,{alerts:t,loading:s,columns:e.columns})}function gn({tenant:e,apiDomain:t,rulesDomain:s,headers:r,alerts:i,loading:a,columns:l}){const[o]=m.useState(()=>new Nr),A=m.useMemo(()=>({alertsBaseUrl:t,rulesBaseUrl:s||t,headers:r||void 0}),[t,s,r]);return n.jsx(Cr,{client:o,children:n.jsx(Gt,{tenant:e,override:A,children:Array.isArray(i)?n.jsx(ht,{alerts:i,loading:!!a,columns:l}):n.jsx(yn,{columns:l})})})}function An(e){const{alerts:t}=he(),s=ut({queryKey:["alerts","report",e],queryFn:()=>t.getAlertsReport(e),staleTime:6e4});return{data:s.data??[],loading:s.isLoading,error:s.error,refetch:s.refetch}}const vn=[{title:"ID",dataIndex:"id",key:"id",width:120},{title:"Priority",dataIndex:"priority",key:"priority",width:120},{title:"Timestamp",dataIndex:"timestamp",key:"timestamp",width:220},{title:"Status",dataIndex:"statusType",key:"statusType",width:140},{title:"Description",dataIndex:"description",key:"description"}];exports.AlertAssignment=is;exports.AlertConsole=ht;exports.AlertConsoleWidget=gn;exports.AlertsTable=nt;exports.ApiProvider=Gt;exports.ArchivedTable=rs;exports.Clock=ns;exports.DataTable=Xt;exports.MyPreferencesPanel=ls;exports.SettingsPanel=os;exports.SettingsTabs=cs;exports.exampleAlertColumns=vn;exports.useAlertStatusList=us;exports.useAlerts=ds;exports.useAlertsReport=An;exports.useApi=he;exports.useUpdateAlertStatus=dt;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),h=require("react"),c=require("antd"),ke=require("@ant-design/icons"),ne=require("react-toastify");function As(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const s in e)if(s!=="default"){const r=Object.getOwnPropertyDescriptor(e,s);Object.defineProperty(t,s,r.get?r:{enumerable:!0,get:()=>e[s]})}}return t.default=e,Object.freeze(t)}const le=As(h),Ns="#FF3B30",js="#FF9500",ws="#FFCC00",Cs="#34C759",De={critical:Ns,high:js,medium:ws,low:Cs},At={Critical:De.critical,High:De.high,Medium:De.medium,Low:De.low};function Is(e){return At[e]||At.Low}function Nt(e){if(!e||typeof e!="string")return 0;const t=e.trim().split(":");if(t.length!==3)return 0;const[s,r,i]=t,a=Number.parseInt(s,10),o=Number.parseInt(r,10),l=Number.parseFloat(i||"0"),f=Number.isFinite(a)?a:0,d=Number.isFinite(o)?o:0,m=Number.isFinite(l)?l:0;return f*3600+d*60+m}function Ve(e){const t=e.thirdPartyIds??e.ThirdPartyIds??e.thirdPartyId??e.ThirdPartyId??"",s=Array.isArray(t)?t.join(","):String(t??"");if(!s||!s.trim())return[];const r=s.split(",").map(o=>parseInt(String(o).trim(),10)).filter(o=>Number.isFinite(o)),i=new Set,a=[];return r.forEach(o=>{i.has(o)||(i.add(o),a.push(o))}),a}const Ht="",Ts=Ht,Rs="",ks="",jt={snl:{alerts:Ht,rules:Ts},schools:{alerts:Rs,rules:ks}};function me(e,t){const s=(e||"").replace(/\/+$/,""),r=t.startsWith("/")?t:`/${t}`;return`${s}${r}`}function Os(){try{const e=localStorage.getItem("authToken");return e?{Authorization:`Bearer ${e}`}:{}}catch{return{}}}function Fe(e,t){if(!t)return e;const s=new URL(e);return Object.entries(t).forEach(([r,i])=>{i!=null&&String(i).length>0&&s.searchParams.set(r,String(i))}),s.toString()}async function pe(e,t){const s={...t.headers,...Os()},r=await fetch(e,{...t,headers:s});if(r.status===401)throw window.location.href="/login",new Error("Unauthorized");if(r.status===204)return{};const i=await r.text();let a={};if(i)try{a=JSON.parse(i)}catch{a={ok:r.ok,status:r.status,raw:i}}if(!r.ok){const o=a?.errorMessage||a?.message||`HTTP ${r.status}`;throw new Error(o)}return a}function Es(e){console.log("baseurl",e);const t={"Content-Type":"application/json",...e.headers||{}};return{async listAlerts(){const s=me(e.baseUrl,"/api/Alert"),r=await pe(s,{method:"GET",headers:t});return Array.isArray(r)?r:[]},async getAlertStatusList(){const s=me(e.baseUrl,"/api/Alert/AlertStatusList"),r=await pe(s,{method:"GET",headers:t});return Array.isArray(r)?r:r&&typeof r=="object"&&Array.isArray(r.data)?r.data:[]},async getAlertsReport(s){const r=me(e.baseUrl,"/Alerts/GetAlertsReport"),i=Fe(r,s),a=await pe(i,{method:"GET",headers:t});return Array.isArray(a)?a:[]},async updateAlertStatus(s){const r=me(e.baseUrl,"/api/Alert/status");return pe(r,{method:"PUT",headers:t,body:JSON.stringify(s??{})})},async getAdminSettings(){const s=me(e.baseUrl,"/api/Alert/GetAdminSettings"),r=await pe(s,{method:"GET",headers:t});if(r&&typeof r=="object"){if("data"in r)return r.data;if("userId"in r)return r}return null},async setAdminSettings(s){const r=me(e.baseUrl,"/api/Alert/SetAdminSettings"),i={userId:0,isAdminSetting:!0,sortBy:s?.sortBy??"",groupBy:s?.groupBy??null};return pe(r,{method:"POST",headers:t,body:JSON.stringify(i)})},async getPreferenceSettings(){const s=me(e.baseUrl,"/api/Alert/GetPreferenceSettings"),r=await pe(s,{method:"GET",headers:t});if(r&&typeof r=="object"){if("data"in r)return r.data;if("anomalyIds"in r)return r}return null},async setPreferenceSettings(s){const r=me(e.baseUrl,"/api/Alert/SetPreferenceSettings"),i=await pe(r,{method:"POST",headers:t,body:JSON.stringify(s??{})}),a=i?.responseStatus??!0,o=i?.data??i?.message??"Preferences updated successfully.";return{responseStatus:a,errorMessage:a?"":i?.errorMessage??i?.message??"",statusCode:200,data:o}},async getAlertNotifications(s){const r=me(e.baseUrl,"/api/Alert/GetNotifications"),i=Fe(r,{alertId:s}),a=await pe(i,{method:"GET",headers:t});return Array.isArray(a)?a:a&&typeof a=="object"&&Array.isArray(a.data)?a.data:[]},async notifyFamilyMembers(s){const r=me(e.baseUrl,"/api/Alert/NotificationToFamilyMembers"),i=Fe(r,{alertId:s});return pe(i,{method:"POST",headers:t})},async sendSMSorEmailNotifications(s,r,i){const a=me(e.baseUrl,"/api/Alert/SendSMSorEmailNotifications"),o=Fe(a,{alertId:s,isEmail:r,isSMS:i});return pe(o,{method:"POST",headers:t})}}}function wt(e,t){const s=(e||"").replace(/\/+$/,""),r=t.startsWith("/")?t:`/${t}`;return`${s}${r}`}function Ps(){try{const e=localStorage.getItem("authToken");return e?{Authorization:`Bearer ${e}`}:{}}catch{return{}}}async function Ue(e,t){const s={...t.headers,...Ps()},r=await fetch(e,{...t,headers:s});if(r.status===401)throw window.location.href="/login",new Error("Unauthorized");if(r.status===204)return{};const i=await r.text();let a={};if(i)try{a=JSON.parse(i)}catch{a={ok:r.ok,status:r.status,raw:i}}if(!r.ok){const o=a?.errorMessage||a?.message||`HTTP ${r.status}`;throw new Error(o)}return a}function Ms(e){const t={"Content-Type":"application/json",...e.headers||{}},s=wt(e.baseUrl,"/api/Rules"),r=wt(e.baseUrl,"/api/Rules/lookups");return{async getRules(){const i=await Ue(s,{method:"GET",headers:t});return Array.isArray(i)?i:[]},async setEscalationSettings(i){return Ue(s,{method:"POST",headers:t,body:JSON.stringify(i??{})})},async getLookups(){return Ue(r,{method:"GET",headers:t})},async updateRule(i,a){const o=`${s}/${i}`;return Ue(o,{method:"PUT",headers:t,body:JSON.stringify(a??{})})}}}function Ds(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Be={exports:{}},Fs=Be.exports,Ct;function Us(){return Ct||(Ct=1,(function(e,t){(function(s,r){e.exports=r()})(Fs,(function(){var s=1e3,r=6e4,i=36e5,a="millisecond",o="second",l="minute",f="hour",d="day",m="week",b="month",y="quarter",C="year",w="date",p="Invalid Date",A=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,U=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,L={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(k){var v=["th","st","nd","rd"],g=k%100;return"["+k+(v[(g-20)%10]||v[g]||v[0])+"]"}},$=function(k,v,g){var S=String(k);return!S||S.length>=v?k:""+Array(v+1-S.length).join(g)+k},D={s:$,z:function(k){var v=-k.utcOffset(),g=Math.abs(v),S=Math.floor(g/60),u=g%60;return(v<=0?"+":"-")+$(S,2,"0")+":"+$(u,2,"0")},m:function k(v,g){if(v.date()<g.date())return-k(g,v);var S=12*(g.year()-v.year())+(g.month()-v.month()),u=v.clone().add(S,b),x=g-u<0,N=v.clone().add(S+(x?-1:1),b);return+(-(S+(g-u)/(x?u-N:N-u))||0)},a:function(k){return k<0?Math.ceil(k)||0:Math.floor(k)},p:function(k){return{M:b,y:C,w:m,d,D:w,h:f,m:l,s:o,ms:a,Q:y}[k]||String(k||"").toLowerCase().replace(/s$/,"")},u:function(k){return k===void 0}},Y="en",z={};z[Y]=L;var _="$isDayjsObject",G=function(k){return k instanceof ee||!(!k||!k[_])},I=function k(v,g,S){var u;if(!v)return Y;if(typeof v=="string"){var x=v.toLowerCase();z[x]&&(u=x),g&&(z[x]=g,u=x);var N=v.split("-");if(!u&&N.length>1)return k(N[0])}else{var E=v.name;z[E]=v,u=E}return!S&&u&&(Y=u),u||!S&&Y},j=function(k,v){if(G(k))return k.clone();var g=typeof v=="object"?v:{};return g.date=k,g.args=arguments,new ee(g)},T=D;T.l=I,T.i=G,T.w=function(k,v){return j(k,{locale:v.$L,utc:v.$u,x:v.$x,$offset:v.$offset})};var ee=(function(){function k(g){this.$L=I(g.locale,null,!0),this.parse(g),this.$x=this.$x||g.x||{},this[_]=!0}var v=k.prototype;return v.parse=function(g){this.$d=(function(S){var u=S.date,x=S.utc;if(u===null)return new Date(NaN);if(T.u(u))return new Date;if(u instanceof Date)return new Date(u);if(typeof u=="string"&&!/Z$/i.test(u)){var N=u.match(A);if(N){var E=N[2]-1||0,R=(N[7]||"0").substring(0,3);return x?new Date(Date.UTC(N[1],E,N[3]||1,N[4]||0,N[5]||0,N[6]||0,R)):new Date(N[1],E,N[3]||1,N[4]||0,N[5]||0,N[6]||0,R)}}return new Date(u)})(g),this.init()},v.init=function(){var g=this.$d;this.$y=g.getFullYear(),this.$M=g.getMonth(),this.$D=g.getDate(),this.$W=g.getDay(),this.$H=g.getHours(),this.$m=g.getMinutes(),this.$s=g.getSeconds(),this.$ms=g.getMilliseconds()},v.$utils=function(){return T},v.isValid=function(){return this.$d.toString()!==p},v.isSame=function(g,S){var u=j(g);return this.startOf(S)<=u&&u<=this.endOf(S)},v.isAfter=function(g,S){return j(g)<this.startOf(S)},v.isBefore=function(g,S){return this.endOf(S)<j(g)},v.$g=function(g,S,u){return T.u(g)?this[S]:this.set(u,g)},v.unix=function(){return Math.floor(this.valueOf()/1e3)},v.valueOf=function(){return this.$d.getTime()},v.startOf=function(g,S){var u=this,x=!!T.u(S)||S,N=T.p(g),E=function(K,te){var se=T.w(u.$u?Date.UTC(u.$y,te,K):new Date(u.$y,te,K),u);return x?se:se.endOf(d)},R=function(K,te){return T.w(u.toDate()[K].apply(u.toDate("s"),(x?[0,0,0,0]:[23,59,59,999]).slice(te)),u)},F=this.$W,q=this.$M,B=this.$D,M="set"+(this.$u?"UTC":"");switch(N){case C:return x?E(1,0):E(31,11);case b:return x?E(1,q):E(0,q+1);case m:var W=this.$locale().weekStart||0,X=(F<W?F+7:F)-W;return E(x?B-X:B+(6-X),q);case d:case w:return R(M+"Hours",0);case f:return R(M+"Minutes",1);case l:return R(M+"Seconds",2);case o:return R(M+"Milliseconds",3);default:return this.clone()}},v.endOf=function(g){return this.startOf(g,!1)},v.$set=function(g,S){var u,x=T.p(g),N="set"+(this.$u?"UTC":""),E=(u={},u[d]=N+"Date",u[w]=N+"Date",u[b]=N+"Month",u[C]=N+"FullYear",u[f]=N+"Hours",u[l]=N+"Minutes",u[o]=N+"Seconds",u[a]=N+"Milliseconds",u)[x],R=x===d?this.$D+(S-this.$W):S;if(x===b||x===C){var F=this.clone().set(w,1);F.$d[E](R),F.init(),this.$d=F.set(w,Math.min(this.$D,F.daysInMonth())).$d}else E&&this.$d[E](R);return this.init(),this},v.set=function(g,S){return this.clone().$set(g,S)},v.get=function(g){return this[T.p(g)]()},v.add=function(g,S){var u,x=this;g=Number(g);var N=T.p(S),E=function(q){var B=j(x);return T.w(B.date(B.date()+Math.round(q*g)),x)};if(N===b)return this.set(b,this.$M+g);if(N===C)return this.set(C,this.$y+g);if(N===d)return E(1);if(N===m)return E(7);var R=(u={},u[l]=r,u[f]=i,u[o]=s,u)[N]||1,F=this.$d.getTime()+g*R;return T.w(F,this)},v.subtract=function(g,S){return this.add(-1*g,S)},v.format=function(g){var S=this,u=this.$locale();if(!this.isValid())return u.invalidDate||p;var x=g||"YYYY-MM-DDTHH:mm:ssZ",N=T.z(this),E=this.$H,R=this.$m,F=this.$M,q=u.weekdays,B=u.months,M=u.meridiem,W=function(te,se,de,ce){return te&&(te[se]||te(S,x))||de[se].slice(0,ce)},X=function(te){return T.s(E%12||12,te,"0")},K=M||function(te,se,de){var ce=te<12?"AM":"PM";return de?ce.toLowerCase():ce};return x.replace(U,(function(te,se){return se||(function(de){switch(de){case"YY":return String(S.$y).slice(-2);case"YYYY":return T.s(S.$y,4,"0");case"M":return F+1;case"MM":return T.s(F+1,2,"0");case"MMM":return W(u.monthsShort,F,B,3);case"MMMM":return W(B,F);case"D":return S.$D;case"DD":return T.s(S.$D,2,"0");case"d":return String(S.$W);case"dd":return W(u.weekdaysMin,S.$W,q,2);case"ddd":return W(u.weekdaysShort,S.$W,q,3);case"dddd":return q[S.$W];case"H":return String(E);case"HH":return T.s(E,2,"0");case"h":return X(1);case"hh":return X(2);case"a":return K(E,R,!0);case"A":return K(E,R,!1);case"m":return String(R);case"mm":return T.s(R,2,"0");case"s":return String(S.$s);case"ss":return T.s(S.$s,2,"0");case"SSS":return T.s(S.$ms,3,"0");case"Z":return N}return null})(te)||N.replace(":","")}))},v.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},v.diff=function(g,S,u){var x,N=this,E=T.p(S),R=j(g),F=(R.utcOffset()-this.utcOffset())*r,q=this-R,B=function(){return T.m(N,R)};switch(E){case C:x=B()/12;break;case b:x=B();break;case y:x=B()/3;break;case m:x=(q-F)/6048e5;break;case d:x=(q-F)/864e5;break;case f:x=q/i;break;case l:x=q/r;break;case o:x=q/s;break;default:x=q}return u?x:T.a(x)},v.daysInMonth=function(){return this.endOf(b).$D},v.$locale=function(){return z[this.$L]},v.locale=function(g,S){if(!g)return this.$L;var u=this.clone(),x=I(g,S,!0);return x&&(u.$L=x),u},v.clone=function(){return T.w(this.$d,this)},v.toDate=function(){return new Date(this.valueOf())},v.toJSON=function(){return this.isValid()?this.toISOString():null},v.toISOString=function(){return this.$d.toISOString()},v.toString=function(){return this.$d.toUTCString()},k})(),re=ee.prototype;return j.prototype=re,[["$ms",a],["$s",o],["$m",l],["$H",f],["$W",d],["$M",b],["$y",C],["$D",w]].forEach((function(k){re[k[1]]=function(v){return this.$g(v,k[0],k[1])}})),j.extend=function(k,v){return k.$i||(k(v,ee,j),k.$i=!0),j},j.locale=I,j.isDayjs=G,j.unix=function(k){return j(1e3*k)},j.en=z[Y],j.Ls=z,j.p={},j}))})(Be)),Be.exports}var Ls=Us();const $s=Ds(Ls);function Gt(e){if(!e)return"By Severity";const t=e.trim().toLowerCase();return t.includes("created")?"By Created Date":t.includes("updated")||t.includes("modified")?"By Updated Date":"By Severity"}function Wt(e){if(!e||typeof e!="string")return{hours:0,minutes:0,seconds:0};const t=e.split(":").map(a=>parseInt(a,10)),s=Number.isFinite(t[0])?t[0]:0,r=Number.isFinite(t[1])?t[1]:0,i=Number.isFinite(t[2])?t[2]:0;return{hours:s,minutes:r,seconds:i}}function It(e){const{hours:t,minutes:s,seconds:r}=Wt(e);return $s().hour(t).minute(s).second(r).millisecond(0)}function ve(e,t){const s=(e||"").replace(/\/+$/,""),r=t.startsWith("/")?t:`/${t}`;return`${s}${r}`}function Bs(){try{const e=localStorage.getItem("authToken");return e?{Authorization:`Bearer ${e}`}:{}}catch{return{}}}function Tt(e,t){if(!t)return e;const s=new URL(e);return Object.entries(t).forEach(([r,i])=>{i!=null&&String(i).length>0&&s.searchParams.set(r,String(i))}),s.toString()}async function xe(e,t){const s={...t.headers,...Bs()},r=await fetch(e,{...t,headers:s});if(r.status===401)throw window.location.href="/login",new Error("Unauthorized");if(r.status===204)return{};const i=await r.text();let a={};if(i)try{a=JSON.parse(i)}catch{a={ok:r.ok,status:r.status,raw:i}}if(!r.ok){const o=a?.Message||`HTTP ${r.status}`;throw new Error(o)}return a}const ae=(...e)=>e.find(t=>t!=null);function qs(e){return{id:String(ae(e?.AlertId,e?.alertId)??""),priority:ae(e?.Priority,e?.priority,"Low"),timestamp:ae(e?.Timestamp,e?.timestamp,""),statusType:ae(e?.Status,e?.statusType,""),description:ae(e?.Description,e?.description,""),eventName:ae(e?.EventName,e?.eventName),ruleName:ae(e?.RuleName,e?.ruleName),spaceName:ae(e?.SpaceName,e?.spaceName),assignTeam:ae(e?.AssignTeam,e?.assignTeam),cameraName:ae(e?.CameraName,e?.cameraName),type:ae(e?.Type,e?.type),mediaDetails:ae(e?.MediaDetails,e?.mediaDetails),additionalMedia:ae(e?.AdditionalMedia,e?.additionalMedia),timeElapsed:ae(e?.TimeElapsed,e?.timeElapsed),timeRemaining:ae(e?.TimeRemaining,e?.timeRemaining),anomalyName:ae(e?.AnomalyName,e?.anomalyName),alertDetails:ae(e?.AlertDetails,e?.alertDetails),statusHistory:ae(e?.StatusHistory,e?.statusHistory)}}function Qs(e){const t={"Content-Type":"application/json",...e.headers||{}};return{async listAlerts(){const s=ve(e.baseUrl,"/api/detectionpolicy/alerts?customerId=99e5c8b5-b9d4-4d35-8885-7f121c532664"),r=await xe(s,{method:"GET",headers:t});return Array.isArray(r?.Items)?(r?.Items).map(qs):[]},async getAlertStatusList(){const s=ve(e.baseUrl,"/api/detectionpolicy/alerts/StatusList"),r=await xe(s,{method:"GET",headers:t});return Array.isArray(r)?r:[]},async getAlertsReport(s){const r=ve(e.baseUrl,"/api/detectionpolicy/alerts/GetAlertsReport"),i=Tt(r,s),a=await xe(i,{method:"GET",headers:t});return Array.isArray(a)?a:[]},async updateAlertStatus(s){const r=ve(e.baseUrl,"/api/detectionpolicy/alerts/Log"),i={AlertId:s.alertId??s.alertUniqueId??s.AlertId,Status:s.status??s.Status??"",Notes:s.notes??s.Notes??""};return xe(r,{method:"POST",headers:t,body:JSON.stringify(i)})},async getAdminSettings(){const s=ve(e.baseUrl,"/api/detectionpolicy/alerts/GetAdminSettings"),r=await xe(s,{method:"GET",headers:t});if(r&&typeof r=="object"){if("data"in r)return r.data;if("userId"in r)return r}return null},async setAdminSettings(s){const r=ve(e.baseUrl,"/api/detectionpolicy/alerts/SetAdminSettings"),i={userId:0,isAdminSetting:!0,sortBy:s?.sortBy??""};return xe(r,{method:"POST",headers:t,body:JSON.stringify(i)})},async getPreferenceSettings(){const s=ve(e.baseUrl,"/api/detectionpolicy/alerts/GetPreferenceSettings"),r=await xe(s,{method:"GET",headers:t});if(r&&typeof r=="object"){if("data"in r)return r.data;if("anomalyIds"in r)return r}return null},async setPreferenceSettings(s){const r=ve(e.baseUrl,"/api/detectionpolicy/alerts/SetPreferenceSettings"),i=d=>{const{hours:m,minutes:b,seconds:y}=Wt(d);return(m*3600+b*60+y)*1e7},a={Settings:{UserId:0,AnomalyIds:Array.isArray(s?.anomalyIds)?s.anomalyIds.map(d=>String(d)):[],DoNotDisturbStart:{Ticks:i(s?.doNotDisturbStart)},DoNotDisturbEnd:{Ticks:i(s?.doNotDisturbEnd)},InApp:!!s?.inApp,SMS:!!s?.sms,Email:!!s?.email,SortBy:s?.sortBy??""}},o=await xe(r,{method:"POST",headers:t,body:JSON.stringify(a)}),l=o?.responseStatus??!0,f=o?.data??o?.message??"Preferences updated successfully.";return{responseStatus:l,errorMessage:l?"":o?.errorMessage??o?.Message??o?.message??"",statusCode:200,data:f}},async getAlertNotifications(s){const r=ve(e.baseUrl,"/api/detectionpolicy/alerts/GetNotifications"),i=Tt(r,{alertId:s}),a=await xe(i,{method:"GET",headers:t});return Array.isArray(a)?a:a&&typeof a=="object"&&Array.isArray(a.data)?a.data:[]}}}function _s(){try{const e=localStorage.getItem("authToken");return e?{Authorization:`Bearer ${e}`}:{}}catch{return{}}}async function Se(e,t){const s={...t.headers,..._s()},r=await fetch(e,{...t,headers:s});if(r.status===401)throw window.location.href="/login",new Error("Unauthorized");if(r.status===204)return{};const i=await r.text();let a={};if(i)try{a=JSON.parse(i)}catch{a={ok:r.ok,status:r.status,raw:i}}if(!r.ok){const o=a?.errorMessage||a?.message||`HTTP ${r.status}`;throw new Error(o)}return a}function Hs(e){const t={"Content-Type":"application/json",...e.headers||{}},s=new URL("/api/detectionpolicy/rules",e.baseUrl).toString();return{async getRules(){const r=await Se(s,{method:"GET",headers:t});return Array.isArray(r)?r:[]},async setEscalationSettings(r){return Se(s,{method:"POST",headers:t,body:JSON.stringify(r??{})})},async getLookups(){const r=D=>new URL(D,e.baseUrl).toString(),i=[Se(r("/api/detectionpolicy/lookups/actiontypes"),{method:"GET",headers:t}),Se(r("/api/detectionpolicy/lookups/anomalies"),{method:"GET",headers:t}),Se(r("/api/detectionpolicy/lookups/thirdparty"),{method:"GET",headers:t}),Se(r("/api/detectionpolicy/lookups/severity"),{method:"GET",headers:t}),Se(r("/api/detectionpolicy/lookups/scheduletypes"),{method:"GET",headers:t})],[a,o,l,f,d]=await Promise.allSettled(i),m=D=>D.status==="fulfilled"&&Array.isArray(D.value)?D.value:[],b=m(a),y=m(o),C=m(l),w=m(f),p=m(d),A=b.map(D=>({actionTypeId:Number(D?.ActionTypeId),name:D?.DisplayName??D?.Name??""})),U=y.map(D=>({recordId:D?.AnomalyId,anomalyName:D?.DisplayName??D?.Name??""})),L=C.map(D=>({thirdPartyId:Number(D?.ThirdPartyId),thirdPartyName:D?.ThirdPartyName??D?.Name??""})),$={actionTypes:A,anomalies:U,thirdParties:L};return w.length&&($.severities=w),p.length&&($.scheduleTypes=p),$},async updateRule(r,i){const a=`${s}/${r}`;return Se(a,{method:"PUT",headers:t,body:JSON.stringify(i??{})})}}}const Kt=h.createContext(null);function Yt({tenant:e="snl",override:t,children:s}){const r=h.useMemo(()=>{const a=t?.alertsBaseUrl&&t.alertsBaseUrl.trim()||jt[e]?.alerts||"";let o=t?.rulesBaseUrl&&t.rulesBaseUrl.trim()||jt[e]?.rules||"";e==="snl"&&(o=a);const l=t?.headers;return{tenant:e,alertsBaseUrl:a,rulesBaseUrl:o,headers:l}},[e,t?.alertsBaseUrl,t?.rulesBaseUrl,JSON.stringify(t?.headers||{})]),i=h.useMemo(()=>{const a=r.tenant==="schools"?Qs({baseUrl:r.alertsBaseUrl,headers:r.headers}):Es({baseUrl:r.alertsBaseUrl,headers:r.headers}),o=r.tenant==="schools"?Hs({baseUrl:r.rulesBaseUrl,headers:r.headers}):Ms({baseUrl:r.alertsBaseUrl,headers:r.headers});return{config:r,alerts:a,rules:o}},[r]);return n.jsx(Kt.Provider,{value:i,children:s})}function fe(){const e=h.useContext(Kt);if(!e)throw new Error("useApi must be used inside ApiProvider");return e}const Gs={Critical:"#FFE2E2",High:"#FF95004D",Medium:"#FEF9C2",Low:"#E0EDFF"},Ws={Critical:"#FF3B30",High:"#FFB86A",Medium:"#FFCC00",Low:"#007AFF"},at=6,ot=7;function Ks(e,t,s){const r=e===at,i=e===ot,a=!t.isEmailSent,o=!t.isSMSSent,l=r&&a||i&&o,f=r?"Send Email":i?"Send SMS":s,d=r&&a?"Email already sent":i&&o?"SMS already sent":`Click to ${f.toLowerCase()}`;return{isDisabled:l,buttonText:f,tooltipTitle:d}}function Ys(e){const t=new Set;(e||[]).forEach(r=>{const i=r.anomalyName;typeof i=="string"&&i.trim().length>0&&t.add(i.trim())});const s=Array.from(t).map(r=>({label:r,value:r}));return[{label:"All Types",value:"All"},...s]}function zs(e){const t=new Set;(e||[]).forEach(r=>{const i=r.spaceName;typeof i=="string"&&i.trim().length>0&&t.add(i.trim())});const s=Array.from(t).map(r=>({label:r,value:r}));return[{label:"All",value:"All"},...s]}function Rt(e,t){return`${e}-${t?"email":"sms"}`}function kt(e){return e===at||e===ot}function He({value:e,onChange:t,options:s,className:r,dropdownWidth:i}){return n.jsx(c.Select,{className:r,options:s,value:e,onChange:t,dropdownMatchSelectWidth:i??260})}const Vs=[{label:"All levels",value:"All"},{label:"Critical",value:"Critical"},{label:"High",value:"High"},{label:"Medium",value:"Medium"},{label:"Low",value:"Low"}];function Js({value:e,onChange:t,options:s}){return n.jsx(He,{className:"w-[140px]",value:e,onChange:t,options:s||Vs})}const Xs=[{label:"All Types",value:"All"},{label:"Weapon Detection",value:"Weapon"},{label:"Unauthorized Access",value:"Unauthorized"},{label:"Aggressive Behavior",value:"Aggressive"}];function Zs({value:e,onChange:t,options:s}){return n.jsx(He,{className:"w-[220px]",dropdownWidth:280,value:e,onChange:t,options:s||Xs})}function er({value:e,onChange:t,options:s}){return n.jsx(He,{className:"w-[100px]",value:e,onChange:t,options:s||[]})}const tr=[{label:"All",value:"All"},{label:"SOS",value:"SOS"},{label:"911",value:"911"},{label:"Aegix",value:"Aegix"},{label:"Eli",value:"Eli"},{label:"Skydio",value:"Skydio"}];function sr({value:e,onChange:t,options:s}){return n.jsx(He,{className:"w-[130px]",value:e,onChange:t,options:s||tr})}function zt({columns:e,data:t,loading:s=!1,pageSize:r=10,rowKey:i="id",toolbar:a,tableProps:o}){return n.jsxs("div",{children:[a,n.jsx(c.Table,{rowKey:i,dataSource:t,columns:e,loading:s,pagination:{pageSize:r,showSizeChanger:!0,showTotal:l=>`Total: ${l}`},bordered:!0,...o})]})}function lt({data:e,loading:t=!1,pageSize:s=10,columns:r,severityOptions:i,spaceOptions:a,renderActions:o,onAlertIdClick:l,onRefetch:f}){const[d,m]=h.useState("All"),[b,y]=h.useState("All"),[C,w]=h.useState("All"),[p,A]=h.useState("All"),[U,L]=h.useState(""),[$,D]=h.useState([{label:"All",value:"All"}]),[Y,z]=h.useState(new Set),{rules:_,alerts:G}=fe(),I={6:{title:"Email",kind:"icon",icon:n.jsx(ke.MailOutlined,{})},7:{title:"SMS",kind:"icon",icon:n.jsx(ke.MessageOutlined,{})}},j=h.useMemo(()=>Ys(e),[e]),T=h.useMemo(()=>zs(e),[e]);h.useEffect(()=>{let u=!0;return(async()=>{try{const x=await _.getLookups(),E=(Array.isArray(x.thirdParties)?x.thirdParties:[]).map(R=>({label:R.thirdPartyName,value:String(R.thirdPartyId)}));u&&D([{label:"All",value:"All"},...E])}catch(x){console.error("Error loading third party options",x)}})(),()=>{u=!1}},[_]);const ee=h.useMemo(()=>(e||[]).some(u=>Ve(u).length>0),[e]),re=h.useMemo(()=>(e||[]).filter(u=>{const x=d==="All"||u.priority===d,N=`${u.id} ${u.description} ${u.statusType}`.toLowerCase(),E=!U||N.includes(U.toLowerCase()),R=b==="All"||(u.anomalyName||"").toLowerCase()===b.toLowerCase(),F=C==="All"||(u.spaceName||"").toLowerCase()===C.toLowerCase(),q=!ee||p==="All"||Ve(u).includes(Number(p));return x&&E&&R&&F&&q}),[e,d,U,b,C,p,ee]),k=j,v=a&&a.length?a:T,g=[{title:"Severity",dataIndex:"priority",key:"priority",width:120,render:u=>n.jsx(c.Tag,{className:"px-[10px] py-[2px]",style:{border:`2px solid ${Ws[u]}`,backgroundColor:Gs[u]},children:u})},{title:"Tracker",key:"tracker",width:140,render:(u,x)=>n.jsx("a",{onClick:N=>{N.preventDefault(),l?.(x,{tab:"track"})},className:"text-blue-600 hover:underline",children:"Tracker"})},{title:"Call to action/Human in the loop",key:"actions",width:320,render:(u,x)=>{if(o)return n.jsx(n.Fragment,{children:o(x)});const N=Ve(x);if(!N.length)return null;const E=async(R,F)=>{const q=Rt(x.id,R);z(B=>new Set(B).add(q));try{const B=await G.sendSMSorEmailNotifications?.(x.id,R,F);B?.responseStatus?(ne.toast.success(B.data||(R?"Email sent successfully":"SMS sent successfully")),f?.()):ne.toast.error(B?.data||B?.errorMessage||"Failed to send notification")}catch(B){ne.toast.error(B?.message||"Failed to send notification")}finally{z(B=>{const M=new Set(B);return M.delete(q),M})}};return n.jsx(c.Space,{size:"middle",children:N.map(R=>{const F=I[R];if(!F)return null;const q=R===at,B=R===ot,{isDisabled:M,buttonText:W,tooltipTitle:X}=Ks(R,x,F.title),K=Rt(x.id,q),te=kt(R)&&Y.has(K),se=()=>{E(q,B)};return n.jsx(c.Tooltip,{title:X,children:n.jsx(c.Button,{size:"small",disabled:M,loading:te,onClick:kt(R)?se:void 0,icon:!te&&(F.kind==="img"&&F.src?n.jsx("img",{src:F.src,alt:F.alt||F.title}):F.icon),className:"flex flex-col items-center justify-center gap-1",style:{height:"fit-content"},children:W})},R)})})}},{title:"Alert Timestamp",dataIndex:"timestamp",key:"timestamp",width:220,render:(u,x)=>{const N=x.timeElapsed?x.timeElapsed:void 0,E=x.timeRemaining?x.timeRemaining:void 0,R=N?Nt(N):0,F=E?Nt(E):0,q=Math.round(R/(R+F)*100);return n.jsxs("div",{children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx("span",{className:"w-[70px]",children:"Elapsed:"}),n.jsx("span",{className:"font-medium",children:N??"-"})]}),n.jsx(c.Progress,{percent:q,showInfo:!1,size:"small",strokeColor:Is(x.priority)}),n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx("span",{className:"w-[70px]",children:"Remaining"}),n.jsx("span",{className:"font-medium",children:E??"-"})]})]})}},{title:"Status",dataIndex:"statusType",key:"statusType",width:140},{title:"Description",dataIndex:"description",key:"description",render:(u,x)=>n.jsxs("div",{children:[n.jsx("a",{onClick:N=>{N.preventDefault(),l?.(x)},className:"inline-block mb-1 text-blue-600",children:x.alertNumber}),n.jsx("div",{className:"text-black/65",children:u})]})}],S=r&&r.length?r:g;return n.jsx("div",{children:n.jsx(zt,{rowKey:"id",data:re,columns:S,loading:t,pageSize:s,toolbar:n.jsxs(c.Row,{gutter:[12,12],className:"mb-3",align:"middle",children:[n.jsx(c.Col,{flex:"none",children:n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx("span",{children:"Severity"}),n.jsx(Js,{value:d,onChange:m,options:i})]})}),n.jsx(c.Col,{flex:"none",children:n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx("span",{children:"Anomaly type"}),n.jsx(Zs,{value:b,onChange:y,options:k})]})}),n.jsx(c.Col,{flex:"none",children:n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx("span",{children:"Space"}),n.jsx(er,{value:C,onChange:w,options:v})]})}),n.jsx(c.Col,{flex:"none",children:n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx("span",{children:"Action Taken"}),n.jsx(sr,{value:p,onChange:A,options:$})]})}),n.jsx(c.Col,{flex:"auto"}),n.jsx(c.Col,{flex:"none",children:n.jsx(c.Input.Search,{allowClear:!0,placeholder:"Search",onSearch:L,onChange:u=>L(u.target.value),className:"w-[260px] ",enterButton:!0})})]})})})}var Oe=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},rr={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},nr=class{#e=rr;#t=!1;setTimeoutProvider(e){process.env.NODE_ENV!=="production"&&this.#t&&e!==this.#e&&console.error("[timeoutManager]: Switching provider after calls to previous provider might result in unexpected behavior.",{previous:this.#e,provider:e}),this.#e=e,process.env.NODE_ENV!=="production"&&(this.#t=!1)}setTimeout(e,t){return process.env.NODE_ENV!=="production"&&(this.#t=!0),this.#e.setTimeout(e,t)}clearTimeout(e){this.#e.clearTimeout(e)}setInterval(e,t){return process.env.NODE_ENV!=="production"&&(this.#t=!0),this.#e.setInterval(e,t)}clearInterval(e){this.#e.clearInterval(e)}},je=new nr;function ir(e){setTimeout(e,0)}var we=typeof window>"u"||"Deno"in globalThis;function ue(){}function ar(e,t){return typeof e=="function"?e(t):e}function Ze(e){return typeof e=="number"&&e>=0&&e!==1/0}function Vt(e,t){return Math.max(e+(t||0)-Date.now(),0)}function Ae(e,t){return typeof e=="function"?e(t):e}function he(e,t){return typeof e=="function"?e(t):e}function Ot(e,t){const{type:s="all",exact:r,fetchStatus:i,predicate:a,queryKey:o,stale:l}=e;if(o){if(r){if(t.queryHash!==ct(o,t.options))return!1}else if(!Pe(t.queryKey,o))return!1}if(s!=="all"){const f=t.isActive();if(s==="active"&&!f||s==="inactive"&&f)return!1}return!(typeof l=="boolean"&&t.isStale()!==l||i&&i!==t.state.fetchStatus||a&&!a(t))}function Et(e,t){const{exact:s,status:r,predicate:i,mutationKey:a}=e;if(a){if(!t.options.mutationKey)return!1;if(s){if(Ce(t.options.mutationKey)!==Ce(a))return!1}else if(!Pe(t.options.mutationKey,a))return!1}return!(r&&t.state.status!==r||i&&!i(t))}function ct(e,t){return(t?.queryKeyHashFn||Ce)(e)}function Ce(e){return JSON.stringify(e,(t,s)=>tt(s)?Object.keys(s).sort().reduce((r,i)=>(r[i]=s[i],r),{}):s)}function Pe(e,t){return e===t?!0:typeof e!=typeof t?!1:e&&t&&typeof e=="object"&&typeof t=="object"?Object.keys(t).every(s=>Pe(e[s],t[s])):!1}var or=Object.prototype.hasOwnProperty;function et(e,t){if(e===t)return e;const s=Pt(e)&&Pt(t);if(!s&&!(tt(e)&&tt(t)))return t;const i=(s?e:Object.keys(e)).length,a=s?t:Object.keys(t),o=a.length,l=s?new Array(o):{};let f=0;for(let d=0;d<o;d++){const m=s?d:a[d],b=e[m],y=t[m];if(b===y){l[m]=b,(s?d<i:or.call(e,m))&&f++;continue}if(b===null||y===null||typeof b!="object"||typeof y!="object"){l[m]=y;continue}const C=et(b,y);l[m]=C,C===b&&f++}return i===o&&f===i?e:l}function qe(e,t){if(!t||Object.keys(e).length!==Object.keys(t).length)return!1;for(const s in e)if(e[s]!==t[s])return!1;return!0}function Pt(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function tt(e){if(!Mt(e))return!1;const t=e.constructor;if(t===void 0)return!0;const s=t.prototype;return!(!Mt(s)||!s.hasOwnProperty("isPrototypeOf")||Object.getPrototypeOf(e)!==Object.prototype)}function Mt(e){return Object.prototype.toString.call(e)==="[object Object]"}function lr(e){return new Promise(t=>{je.setTimeout(t,e)})}function st(e,t,s){if(typeof s.structuralSharing=="function")return s.structuralSharing(e,t);if(s.structuralSharing!==!1){if(process.env.NODE_ENV!=="production")try{return et(e,t)}catch(r){throw console.error(`Structural sharing requires data to be JSON serializable. To fix this, turn off structuralSharing or return JSON-serializable data from your queryFn. [${s.queryHash}]: ${r}`),r}return et(e,t)}return t}function cr(e,t,s=0){const r=[...e,t];return s&&r.length>s?r.slice(1):r}function ur(e,t,s=0){const r=[t,...e];return s&&r.length>s?r.slice(0,-1):r}var Qe=Symbol();function Jt(e,t){return process.env.NODE_ENV!=="production"&&e.queryFn===Qe&&console.error(`Attempted to invoke queryFn when set to skipToken. This is likely a configuration error. Query hash: '${e.queryHash}'`),!e.queryFn&&t?.initialPromise?()=>t.initialPromise:!e.queryFn||e.queryFn===Qe?()=>Promise.reject(new Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}function ut(e,t){return typeof e=="function"?e(...t):!!e}function dr(e,t,s){let r=!1,i;return Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(i??=t(),r||(r=!0,i.aborted?s():i.addEventListener("abort",s,{once:!0})),i)}),e}var hr=class extends Oe{#e;#t;#s;constructor(){super(),this.#s=e=>{if(!we&&window.addEventListener){const t=()=>e();return window.addEventListener("visibilitychange",t,!1),()=>{window.removeEventListener("visibilitychange",t)}}}}onSubscribe(){this.#t||this.setEventListener(this.#s)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#s=e,this.#t?.(),this.#t=e(t=>{typeof t=="boolean"?this.setFocused(t):this.onFocus()})}setFocused(e){this.#e!==e&&(this.#e=e,this.onFocus())}onFocus(){const e=this.isFocused();this.listeners.forEach(t=>{t(e)})}isFocused(){return typeof this.#e=="boolean"?this.#e:globalThis.document?.visibilityState!=="hidden"}},dt=new hr;function rt(){let e,t;const s=new Promise((i,a)=>{e=i,t=a});s.status="pending",s.catch(()=>{});function r(i){Object.assign(s,i),delete s.resolve,delete s.reject}return s.resolve=i=>{r({status:"fulfilled",value:i}),e(i)},s.reject=i=>{r({status:"rejected",reason:i}),t(i)},s}var fr=ir;function mr(){let e=[],t=0,s=l=>{l()},r=l=>{l()},i=fr;const a=l=>{t?e.push(l):i(()=>{s(l)})},o=()=>{const l=e;e=[],l.length&&i(()=>{r(()=>{l.forEach(f=>{s(f)})})})};return{batch:l=>{let f;t++;try{f=l()}finally{t--,t||o()}return f},batchCalls:l=>(...f)=>{a(()=>{l(...f)})},schedule:a,setNotifyFunction:l=>{s=l},setBatchNotifyFunction:l=>{r=l},setScheduler:l=>{i=l}}}var ie=mr(),pr=class extends Oe{#e=!0;#t;#s;constructor(){super(),this.#s=e=>{if(!we&&window.addEventListener){const t=()=>e(!0),s=()=>e(!1);return window.addEventListener("online",t,!1),window.addEventListener("offline",s,!1),()=>{window.removeEventListener("online",t),window.removeEventListener("offline",s)}}}}onSubscribe(){this.#t||this.setEventListener(this.#s)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#s=e,this.#t?.(),this.#t=e(this.setOnline.bind(this))}setOnline(e){this.#e!==e&&(this.#e=e,this.listeners.forEach(s=>{s(e)}))}isOnline(){return this.#e}},_e=new pr;function yr(e){return Math.min(1e3*2**e,3e4)}function Xt(e){return(e??"online")==="online"?_e.isOnline():!0}var nt=class extends Error{constructor(e){super("CancelledError"),this.revert=e?.revert,this.silent=e?.silent}};function Zt(e){let t=!1,s=0,r;const i=rt(),a=()=>i.status!=="pending",o=p=>{if(!a()){const A=new nt(p);y(A),e.onCancel?.(A)}},l=()=>{t=!0},f=()=>{t=!1},d=()=>dt.isFocused()&&(e.networkMode==="always"||_e.isOnline())&&e.canRun(),m=()=>Xt(e.networkMode)&&e.canRun(),b=p=>{a()||(r?.(),i.resolve(p))},y=p=>{a()||(r?.(),i.reject(p))},C=()=>new Promise(p=>{r=A=>{(a()||d())&&p(A)},e.onPause?.()}).then(()=>{r=void 0,a()||e.onContinue?.()}),w=()=>{if(a())return;let p;const A=s===0?e.initialPromise:void 0;try{p=A??e.fn()}catch(U){p=Promise.reject(U)}Promise.resolve(p).then(b).catch(U=>{if(a())return;const L=e.retry??(we?0:3),$=e.retryDelay??yr,D=typeof $=="function"?$(s,U):$,Y=L===!0||typeof L=="number"&&s<L||typeof L=="function"&&L(s,U);if(t||!Y){y(U);return}s++,e.onFail?.(s,U),lr(D).then(()=>d()?void 0:C()).then(()=>{t?y(U):w()})})};return{promise:i,status:()=>i.status,cancel:o,continue:()=>(r?.(),i),cancelRetry:l,continueRetry:f,canStart:m,start:()=>(m()?w():C().then(w),i)}}var es=class{#e;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),Ze(this.gcTime)&&(this.#e=je.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(we?1/0:300*1e3))}clearGcTimeout(){this.#e&&(je.clearTimeout(this.#e),this.#e=void 0)}},gr=class extends es{#e;#t;#s;#n;#r;#a;#o;constructor(e){super(),this.#o=!1,this.#a=e.defaultOptions,this.setOptions(e.options),this.observers=[],this.#n=e.client,this.#s=this.#n.getQueryCache(),this.queryKey=e.queryKey,this.queryHash=e.queryHash,this.#e=Ft(this.options),this.state=e.state??this.#e,this.scheduleGc()}get meta(){return this.options.meta}get promise(){return this.#r?.promise}setOptions(e){if(this.options={...this.#a,...e},this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){const t=Ft(this.options);t.data!==void 0&&(this.setState(Dt(t.data,t.dataUpdatedAt)),this.#e=t)}}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&this.#s.remove(this)}setData(e,t){const s=st(this.state.data,e,this.options);return this.#i({data:s,type:"success",dataUpdatedAt:t?.updatedAt,manual:t?.manual}),s}setState(e,t){this.#i({type:"setState",state:e,setStateOptions:t})}cancel(e){const t=this.#r?.promise;return this.#r?.cancel(e),t?t.then(ue).catch(ue):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(this.#e)}isActive(){return this.observers.some(e=>he(e.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===Qe||this.state.dataUpdateCount+this.state.errorUpdateCount===0}isStatic(){return this.getObserversCount()>0?this.observers.some(e=>Ae(e.options.staleTime,this)==="static"):!1}isStale(){return this.getObserversCount()>0?this.observers.some(e=>e.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(e=0){return this.state.data===void 0?!0:e==="static"?!1:this.state.isInvalidated?!0:!Vt(this.state.dataUpdatedAt,e)}onFocus(){this.observers.find(t=>t.shouldFetchOnWindowFocus())?.refetch({cancelRefetch:!1}),this.#r?.continue()}onOnline(){this.observers.find(t=>t.shouldFetchOnReconnect())?.refetch({cancelRefetch:!1}),this.#r?.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),this.#s.notify({type:"observerAdded",query:this,observer:e}))}removeObserver(e){this.observers.includes(e)&&(this.observers=this.observers.filter(t=>t!==e),this.observers.length||(this.#r&&(this.#o?this.#r.cancel({revert:!0}):this.#r.cancelRetry()),this.scheduleGc()),this.#s.notify({type:"observerRemoved",query:this,observer:e}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||this.#i({type:"invalidate"})}async fetch(e,t){if(this.state.fetchStatus!=="idle"&&this.#r?.status()!=="rejected"){if(this.state.data!==void 0&&t?.cancelRefetch)this.cancel({silent:!0});else if(this.#r)return this.#r.continueRetry(),this.#r.promise}if(e&&this.setOptions(e),!this.options.queryFn){const l=this.observers.find(f=>f.options.queryFn);l&&this.setOptions(l.options)}process.env.NODE_ENV!=="production"&&(Array.isArray(this.options.queryKey)||console.error("As of v4, queryKey needs to be an Array. If you are using a string like 'repoData', please change it to an Array, e.g. ['repoData']"));const s=new AbortController,r=l=>{Object.defineProperty(l,"signal",{enumerable:!0,get:()=>(this.#o=!0,s.signal)})},i=()=>{const l=Jt(this.options,t),d=(()=>{const m={client:this.#n,queryKey:this.queryKey,meta:this.meta};return r(m),m})();return this.#o=!1,this.options.persister?this.options.persister(l,d,this):l(d)},o=(()=>{const l={fetchOptions:t,options:this.options,queryKey:this.queryKey,client:this.#n,state:this.state,fetchFn:i};return r(l),l})();this.options.behavior?.onFetch(o,this),this.#t=this.state,(this.state.fetchStatus==="idle"||this.state.fetchMeta!==o.fetchOptions?.meta)&&this.#i({type:"fetch",meta:o.fetchOptions?.meta}),this.#r=Zt({initialPromise:t?.initialPromise,fn:o.fetchFn,onCancel:l=>{l instanceof nt&&l.revert&&this.setState({...this.#t,fetchStatus:"idle"}),s.abort()},onFail:(l,f)=>{this.#i({type:"failed",failureCount:l,error:f})},onPause:()=>{this.#i({type:"pause"})},onContinue:()=>{this.#i({type:"continue"})},retry:o.options.retry,retryDelay:o.options.retryDelay,networkMode:o.options.networkMode,canRun:()=>!0});try{const l=await this.#r.start();if(l===void 0)throw process.env.NODE_ENV!=="production"&&console.error(`Query data cannot be undefined. Please make sure to return a value other than undefined from your query function. Affected query key: ${this.queryHash}`),new Error(`${this.queryHash} data is undefined`);return this.setData(l),this.#s.config.onSuccess?.(l,this),this.#s.config.onSettled?.(l,this.state.error,this),l}catch(l){if(l instanceof nt){if(l.silent)return this.#r.promise;if(l.revert){if(this.state.data===void 0)throw l;return this.state.data}}throw this.#i({type:"error",error:l}),this.#s.config.onError?.(l,this),this.#s.config.onSettled?.(this.state.data,l,this),l}finally{this.scheduleGc()}}#i(e){const t=s=>{switch(e.type){case"failed":return{...s,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case"pause":return{...s,fetchStatus:"paused"};case"continue":return{...s,fetchStatus:"fetching"};case"fetch":return{...s,...ts(s.data,this.options),fetchMeta:e.meta??null};case"success":const r={...s,...Dt(e.data,e.dataUpdatedAt),dataUpdateCount:s.dataUpdateCount+1,...!e.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return this.#t=e.manual?r:void 0,r;case"error":const i=e.error;return{...s,error:i,errorUpdateCount:s.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:s.fetchFailureCount+1,fetchFailureReason:i,fetchStatus:"idle",status:"error",isInvalidated:!0};case"invalidate":return{...s,isInvalidated:!0};case"setState":return{...s,...e.state}}};this.state=t(this.state),ie.batch(()=>{this.observers.forEach(s=>{s.onQueryUpdate()}),this.#s.notify({query:this,type:"updated",action:e})})}};function ts(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:Xt(t.networkMode)?"fetching":"paused",...e===void 0&&{error:null,status:"pending"}}}function Dt(e,t){return{data:e,dataUpdatedAt:t??Date.now(),error:null,isInvalidated:!1,status:"success"}}function Ft(e){const t=typeof e.initialData=="function"?e.initialData():e.initialData,s=t!==void 0,r=s?typeof e.initialDataUpdatedAt=="function"?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:s?r??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:s?"success":"pending",fetchStatus:"idle"}}var vr=class extends Oe{constructor(e,t){super(),this.options=t,this.#e=e,this.#i=null,this.#o=rt(),this.bindMethods(),this.setOptions(t)}#e;#t=void 0;#s=void 0;#n=void 0;#r;#a;#o;#i;#p;#h;#f;#c;#u;#l;#m=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(this.#t.addObserver(this),Ut(this.#t,this.options)?this.#d():this.updateResult(),this.#x())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return it(this.#t,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return it(this.#t,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#b(),this.#S(),this.#t.removeObserver(this)}setOptions(e){const t=this.options,s=this.#t;if(this.options=this.#e.defaultQueryOptions(e),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof he(this.options.enabled,this.#t)!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");this.#A(),this.#t.setOptions(this.options),t._defaulted&&!qe(this.options,t)&&this.#e.getQueryCache().notify({type:"observerOptionsUpdated",query:this.#t,observer:this});const r=this.hasListeners();r&&Lt(this.#t,s,this.options,t)&&this.#d(),this.updateResult(),r&&(this.#t!==s||he(this.options.enabled,this.#t)!==he(t.enabled,this.#t)||Ae(this.options.staleTime,this.#t)!==Ae(t.staleTime,this.#t))&&this.#y();const i=this.#g();r&&(this.#t!==s||he(this.options.enabled,this.#t)!==he(t.enabled,this.#t)||i!==this.#l)&&this.#v(i)}getOptimisticResult(e){const t=this.#e.getQueryCache().build(this.#e,e),s=this.createResult(t,e);return br(this,s)&&(this.#n=s,this.#a=this.options,this.#r=this.#t.state),s}getCurrentResult(){return this.#n}trackResult(e,t){return new Proxy(e,{get:(s,r)=>(this.trackProp(r),t?.(r),r==="promise"&&(this.trackProp("data"),!this.options.experimental_prefetchInRender&&this.#o.status==="pending"&&this.#o.reject(new Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(s,r))})}trackProp(e){this.#m.add(e)}getCurrentQuery(){return this.#t}refetch({...e}={}){return this.fetch({...e})}fetchOptimistic(e){const t=this.#e.defaultQueryOptions(e),s=this.#e.getQueryCache().build(this.#e,t);return s.fetch().then(()=>this.createResult(s,t))}fetch(e){return this.#d({...e,cancelRefetch:e.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#n))}#d(e){this.#A();let t=this.#t.fetch(this.options,e);return e?.throwOnError||(t=t.catch(ue)),t}#y(){this.#b();const e=Ae(this.options.staleTime,this.#t);if(we||this.#n.isStale||!Ze(e))return;const s=Vt(this.#n.dataUpdatedAt,e)+1;this.#c=je.setTimeout(()=>{this.#n.isStale||this.updateResult()},s)}#g(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(this.#t):this.options.refetchInterval)??!1}#v(e){this.#S(),this.#l=e,!(we||he(this.options.enabled,this.#t)===!1||!Ze(this.#l)||this.#l===0)&&(this.#u=je.setInterval(()=>{(this.options.refetchIntervalInBackground||dt.isFocused())&&this.#d()},this.#l))}#x(){this.#y(),this.#v(this.#g())}#b(){this.#c&&(je.clearTimeout(this.#c),this.#c=void 0)}#S(){this.#u&&(je.clearInterval(this.#u),this.#u=void 0)}createResult(e,t){const s=this.#t,r=this.options,i=this.#n,a=this.#r,o=this.#a,f=e!==s?e.state:this.#s,{state:d}=e;let m={...d},b=!1,y;if(t._optimisticResults){const G=this.hasListeners(),I=!G&&Ut(e,t),j=G&&Lt(e,s,t,r);(I||j)&&(m={...m,...ts(d.data,e.options)}),t._optimisticResults==="isRestoring"&&(m.fetchStatus="idle")}let{error:C,errorUpdatedAt:w,status:p}=m;y=m.data;let A=!1;if(t.placeholderData!==void 0&&y===void 0&&p==="pending"){let G;i?.isPlaceholderData&&t.placeholderData===o?.placeholderData?(G=i.data,A=!0):G=typeof t.placeholderData=="function"?t.placeholderData(this.#f?.state.data,this.#f):t.placeholderData,G!==void 0&&(p="success",y=st(i?.data,G,t),b=!0)}if(t.select&&y!==void 0&&!A)if(i&&y===a?.data&&t.select===this.#p)y=this.#h;else try{this.#p=t.select,y=t.select(y),y=st(i?.data,y,t),this.#h=y,this.#i=null}catch(G){this.#i=G}this.#i&&(C=this.#i,y=this.#h,w=Date.now(),p="error");const U=m.fetchStatus==="fetching",L=p==="pending",$=p==="error",D=L&&U,Y=y!==void 0,_={status:p,fetchStatus:m.fetchStatus,isPending:L,isSuccess:p==="success",isError:$,isInitialLoading:D,isLoading:D,data:y,dataUpdatedAt:m.dataUpdatedAt,error:C,errorUpdatedAt:w,failureCount:m.fetchFailureCount,failureReason:m.fetchFailureReason,errorUpdateCount:m.errorUpdateCount,isFetched:m.dataUpdateCount>0||m.errorUpdateCount>0,isFetchedAfterMount:m.dataUpdateCount>f.dataUpdateCount||m.errorUpdateCount>f.errorUpdateCount,isFetching:U,isRefetching:U&&!L,isLoadingError:$&&!Y,isPaused:m.fetchStatus==="paused",isPlaceholderData:b,isRefetchError:$&&Y,isStale:ht(e,t),refetch:this.refetch,promise:this.#o,isEnabled:he(t.enabled,e)!==!1};if(this.options.experimental_prefetchInRender){const G=T=>{_.status==="error"?T.reject(_.error):_.data!==void 0&&T.resolve(_.data)},I=()=>{const T=this.#o=_.promise=rt();G(T)},j=this.#o;switch(j.status){case"pending":e.queryHash===s.queryHash&&G(j);break;case"fulfilled":(_.status==="error"||_.data!==j.value)&&I();break;case"rejected":(_.status!=="error"||_.error!==j.reason)&&I();break}}return _}updateResult(){const e=this.#n,t=this.createResult(this.#t,this.options);if(this.#r=this.#t.state,this.#a=this.options,this.#r.data!==void 0&&(this.#f=this.#t),qe(t,e))return;this.#n=t;const s=()=>{if(!e)return!0;const{notifyOnChangeProps:r}=this.options,i=typeof r=="function"?r():r;if(i==="all"||!i&&!this.#m.size)return!0;const a=new Set(i??this.#m);return this.options.throwOnError&&a.add("error"),Object.keys(this.#n).some(o=>{const l=o;return this.#n[l]!==e[l]&&a.has(l)})};this.#N({listeners:s()})}#A(){const e=this.#e.getQueryCache().build(this.#e,this.options);if(e===this.#t)return;const t=this.#t;this.#t=e,this.#s=e.state,this.hasListeners()&&(t?.removeObserver(this),e.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#x()}#N(e){ie.batch(()=>{e.listeners&&this.listeners.forEach(t=>{t(this.#n)}),this.#e.getQueryCache().notify({query:this.#t,type:"observerResultsUpdated"})})}};function xr(e,t){return he(t.enabled,e)!==!1&&e.state.data===void 0&&!(e.state.status==="error"&&t.retryOnMount===!1)}function Ut(e,t){return xr(e,t)||e.state.data!==void 0&&it(e,t,t.refetchOnMount)}function it(e,t,s){if(he(t.enabled,e)!==!1&&Ae(t.staleTime,e)!=="static"){const r=typeof s=="function"?s(e):s;return r==="always"||r!==!1&&ht(e,t)}return!1}function Lt(e,t,s,r){return(e!==t||he(r.enabled,e)===!1)&&(!s.suspense||e.state.status!=="error")&&ht(e,s)}function ht(e,t){return he(t.enabled,e)!==!1&&e.isStaleByTime(Ae(t.staleTime,e))}function br(e,t){return!qe(e.getCurrentResult(),t)}function $t(e){return{onFetch:(t,s)=>{const r=t.options,i=t.fetchOptions?.meta?.fetchMore?.direction,a=t.state.data?.pages||[],o=t.state.data?.pageParams||[];let l={pages:[],pageParams:[]},f=0;const d=async()=>{let m=!1;const b=w=>{dr(w,()=>t.signal,()=>m=!0)},y=Jt(t.options,t.fetchOptions),C=async(w,p,A)=>{if(m)return Promise.reject();if(p==null&&w.pages.length)return Promise.resolve(w);const L=(()=>{const z={client:t.client,queryKey:t.queryKey,pageParam:p,direction:A?"backward":"forward",meta:t.options.meta};return b(z),z})(),$=await y(L),{maxPages:D}=t.options,Y=A?ur:cr;return{pages:Y(w.pages,$,D),pageParams:Y(w.pageParams,p,D)}};if(i&&a.length){const w=i==="backward",p=w?Sr:Bt,A={pages:a,pageParams:o},U=p(r,A);l=await C(A,U,w)}else{const w=e??a.length;do{const p=f===0?o[0]??r.initialPageParam:Bt(r,l);if(f>0&&p==null)break;l=await C(l,p),f++}while(f<w)}return l};t.options.persister?t.fetchFn=()=>t.options.persister?.(d,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},s):t.fetchFn=d}}}function Bt(e,{pages:t,pageParams:s}){const r=t.length-1;return t.length>0?e.getNextPageParam(t[r],t,s[r],s):void 0}function Sr(e,{pages:t,pageParams:s}){return t.length>0?e.getPreviousPageParam?.(t[0],t,s[0],s):void 0}var Ar=class extends es{#e;#t;#s;#n;constructor(e){super(),this.#e=e.client,this.mutationId=e.mutationId,this.#s=e.mutationCache,this.#t=[],this.state=e.state||ss(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){this.#t.includes(e)||(this.#t.push(e),this.clearGcTimeout(),this.#s.notify({type:"observerAdded",mutation:this,observer:e}))}removeObserver(e){this.#t=this.#t.filter(t=>t!==e),this.scheduleGc(),this.#s.notify({type:"observerRemoved",mutation:this,observer:e})}optionalRemove(){this.#t.length||(this.state.status==="pending"?this.scheduleGc():this.#s.remove(this))}continue(){return this.#n?.continue()??this.execute(this.state.variables)}async execute(e){const t=()=>{this.#r({type:"continue"})},s={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};this.#n=Zt({fn:()=>this.options.mutationFn?this.options.mutationFn(e,s):Promise.reject(new Error("No mutationFn found")),onFail:(a,o)=>{this.#r({type:"failed",failureCount:a,error:o})},onPause:()=>{this.#r({type:"pause"})},onContinue:t,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#s.canRun(this)});const r=this.state.status==="pending",i=!this.#n.canStart();try{if(r)t();else{this.#r({type:"pending",variables:e,isPaused:i}),await this.#s.config.onMutate?.(e,this,s);const o=await this.options.onMutate?.(e,s);o!==this.state.context&&this.#r({type:"pending",context:o,variables:e,isPaused:i})}const a=await this.#n.start();return await this.#s.config.onSuccess?.(a,e,this.state.context,this,s),await this.options.onSuccess?.(a,e,this.state.context,s),await this.#s.config.onSettled?.(a,null,this.state.variables,this.state.context,this,s),await this.options.onSettled?.(a,null,e,this.state.context,s),this.#r({type:"success",data:a}),a}catch(a){try{await this.#s.config.onError?.(a,e,this.state.context,this,s)}catch(o){Promise.reject(o)}try{await this.options.onError?.(a,e,this.state.context,s)}catch(o){Promise.reject(o)}try{await this.#s.config.onSettled?.(void 0,a,this.state.variables,this.state.context,this,s)}catch(o){Promise.reject(o)}try{await this.options.onSettled?.(void 0,a,e,this.state.context,s)}catch(o){Promise.reject(o)}throw this.#r({type:"error",error:a}),a}finally{this.#s.runNext(this)}}#r(e){const t=s=>{switch(e.type){case"failed":return{...s,failureCount:e.failureCount,failureReason:e.error};case"pause":return{...s,isPaused:!0};case"continue":return{...s,isPaused:!1};case"pending":return{...s,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:"pending",variables:e.variables,submittedAt:Date.now()};case"success":return{...s,data:e.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...s,data:void 0,error:e.error,failureCount:s.failureCount+1,failureReason:e.error,isPaused:!1,status:"error"}}};this.state=t(this.state),ie.batch(()=>{this.#t.forEach(s=>{s.onMutationUpdate(e)}),this.#s.notify({mutation:this,type:"updated",action:e})})}};function ss(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var Nr=class extends Oe{constructor(e={}){super(),this.config=e,this.#e=new Set,this.#t=new Map,this.#s=0}#e;#t;#s;build(e,t,s){const r=new Ar({client:e,mutationCache:this,mutationId:++this.#s,options:e.defaultMutationOptions(t),state:s});return this.add(r),r}add(e){this.#e.add(e);const t=Le(e);if(typeof t=="string"){const s=this.#t.get(t);s?s.push(e):this.#t.set(t,[e])}this.notify({type:"added",mutation:e})}remove(e){if(this.#e.delete(e)){const t=Le(e);if(typeof t=="string"){const s=this.#t.get(t);if(s)if(s.length>1){const r=s.indexOf(e);r!==-1&&s.splice(r,1)}else s[0]===e&&this.#t.delete(t)}}this.notify({type:"removed",mutation:e})}canRun(e){const t=Le(e);if(typeof t=="string"){const r=this.#t.get(t)?.find(i=>i.state.status==="pending");return!r||r===e}else return!0}runNext(e){const t=Le(e);return typeof t=="string"?this.#t.get(t)?.find(r=>r!==e&&r.state.isPaused)?.continue()??Promise.resolve():Promise.resolve()}clear(){ie.batch(()=>{this.#e.forEach(e=>{this.notify({type:"removed",mutation:e})}),this.#e.clear(),this.#t.clear()})}getAll(){return Array.from(this.#e)}find(e){const t={exact:!0,...e};return this.getAll().find(s=>Et(t,s))}findAll(e={}){return this.getAll().filter(t=>Et(e,t))}notify(e){ie.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){const e=this.getAll().filter(t=>t.state.isPaused);return ie.batch(()=>Promise.all(e.map(t=>t.continue().catch(ue))))}};function Le(e){return e.options.scope?.id}var jr=class extends Oe{#e;#t=void 0;#s;#n;constructor(e,t){super(),this.#e=e,this.setOptions(t),this.bindMethods(),this.#r()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(e){const t=this.options;this.options=this.#e.defaultMutationOptions(e),qe(this.options,t)||this.#e.getMutationCache().notify({type:"observerOptionsUpdated",mutation:this.#s,observer:this}),t?.mutationKey&&this.options.mutationKey&&Ce(t.mutationKey)!==Ce(this.options.mutationKey)?this.reset():this.#s?.state.status==="pending"&&this.#s.setOptions(this.options)}onUnsubscribe(){this.hasListeners()||this.#s?.removeObserver(this)}onMutationUpdate(e){this.#r(),this.#a(e)}getCurrentResult(){return this.#t}reset(){this.#s?.removeObserver(this),this.#s=void 0,this.#r(),this.#a()}mutate(e,t){return this.#n=t,this.#s?.removeObserver(this),this.#s=this.#e.getMutationCache().build(this.#e,this.options),this.#s.addObserver(this),this.#s.execute(e)}#r(){const e=this.#s?.state??ss();this.#t={...e,isPending:e.status==="pending",isSuccess:e.status==="success",isError:e.status==="error",isIdle:e.status==="idle",mutate:this.mutate,reset:this.reset}}#a(e){ie.batch(()=>{if(this.#n&&this.hasListeners()){const t=this.#t.variables,s=this.#t.context,r={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};if(e?.type==="success"){try{this.#n.onSuccess?.(e.data,t,s,r)}catch(i){Promise.reject(i)}try{this.#n.onSettled?.(e.data,null,t,s,r)}catch(i){Promise.reject(i)}}else if(e?.type==="error"){try{this.#n.onError?.(e.error,t,s,r)}catch(i){Promise.reject(i)}try{this.#n.onSettled?.(void 0,e.error,t,s,r)}catch(i){Promise.reject(i)}}}this.listeners.forEach(t=>{t(this.#t)})})}},wr=class extends Oe{constructor(e={}){super(),this.config=e,this.#e=new Map}#e;build(e,t,s){const r=t.queryKey,i=t.queryHash??ct(r,t);let a=this.get(i);return a||(a=new gr({client:e,queryKey:r,queryHash:i,options:e.defaultQueryOptions(t),state:s,defaultOptions:e.getQueryDefaults(r)}),this.add(a)),a}add(e){this.#e.has(e.queryHash)||(this.#e.set(e.queryHash,e),this.notify({type:"added",query:e}))}remove(e){const t=this.#e.get(e.queryHash);t&&(e.destroy(),t===e&&this.#e.delete(e.queryHash),this.notify({type:"removed",query:e}))}clear(){ie.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return this.#e.get(e)}getAll(){return[...this.#e.values()]}find(e){const t={exact:!0,...e};return this.getAll().find(s=>Ot(t,s))}findAll(e={}){const t=this.getAll();return Object.keys(e).length>0?t.filter(s=>Ot(e,s)):t}notify(e){ie.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){ie.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){ie.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},Cr=class{#e;#t;#s;#n;#r;#a;#o;#i;constructor(e={}){this.#e=e.queryCache||new wr,this.#t=e.mutationCache||new Nr,this.#s=e.defaultOptions||{},this.#n=new Map,this.#r=new Map,this.#a=0}mount(){this.#a++,this.#a===1&&(this.#o=dt.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onFocus())}),this.#i=_e.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onOnline())}))}unmount(){this.#a--,this.#a===0&&(this.#o?.(),this.#o=void 0,this.#i?.(),this.#i=void 0)}isFetching(e){return this.#e.findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return this.#t.findAll({...e,status:"pending"}).length}getQueryData(e){const t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state.data}ensureQueryData(e){const t=this.defaultQueryOptions(e),s=this.#e.build(this,t),r=s.state.data;return r===void 0?this.fetchQuery(e):(e.revalidateIfStale&&s.isStaleByTime(Ae(t.staleTime,s))&&this.prefetchQuery(t),Promise.resolve(r))}getQueriesData(e){return this.#e.findAll(e).map(({queryKey:t,state:s})=>{const r=s.data;return[t,r]})}setQueryData(e,t,s){const r=this.defaultQueryOptions({queryKey:e}),a=this.#e.get(r.queryHash)?.state.data,o=ar(t,a);if(o!==void 0)return this.#e.build(this,r).setData(o,{...s,manual:!0})}setQueriesData(e,t,s){return ie.batch(()=>this.#e.findAll(e).map(({queryKey:r})=>[r,this.setQueryData(r,t,s)]))}getQueryState(e){const t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state}removeQueries(e){const t=this.#e;ie.batch(()=>{t.findAll(e).forEach(s=>{t.remove(s)})})}resetQueries(e,t){const s=this.#e;return ie.batch(()=>(s.findAll(e).forEach(r=>{r.reset()}),this.refetchQueries({type:"active",...e},t)))}cancelQueries(e,t={}){const s={revert:!0,...t},r=ie.batch(()=>this.#e.findAll(e).map(i=>i.cancel(s)));return Promise.all(r).then(ue).catch(ue)}invalidateQueries(e,t={}){return ie.batch(()=>(this.#e.findAll(e).forEach(s=>{s.invalidate()}),e?.refetchType==="none"?Promise.resolve():this.refetchQueries({...e,type:e?.refetchType??e?.type??"active"},t)))}refetchQueries(e,t={}){const s={...t,cancelRefetch:t.cancelRefetch??!0},r=ie.batch(()=>this.#e.findAll(e).filter(i=>!i.isDisabled()&&!i.isStatic()).map(i=>{let a=i.fetch(void 0,s);return s.throwOnError||(a=a.catch(ue)),i.state.fetchStatus==="paused"?Promise.resolve():a}));return Promise.all(r).then(ue)}fetchQuery(e){const t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);const s=this.#e.build(this,t);return s.isStaleByTime(Ae(t.staleTime,s))?s.fetch(t):Promise.resolve(s.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(ue).catch(ue)}fetchInfiniteQuery(e){return e.behavior=$t(e.pages),this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(ue).catch(ue)}ensureInfiniteQueryData(e){return e.behavior=$t(e.pages),this.ensureQueryData(e)}resumePausedMutations(){return _e.isOnline()?this.#t.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#e}getMutationCache(){return this.#t}getDefaultOptions(){return this.#s}setDefaultOptions(e){this.#s=e}setQueryDefaults(e,t){this.#n.set(Ce(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){const t=[...this.#n.values()],s={};return t.forEach(r=>{Pe(e,r.queryKey)&&Object.assign(s,r.defaultOptions)}),s}setMutationDefaults(e,t){this.#r.set(Ce(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){const t=[...this.#r.values()],s={};return t.forEach(r=>{Pe(e,r.mutationKey)&&Object.assign(s,r.defaultOptions)}),s}defaultQueryOptions(e){if(e._defaulted)return e;const t={...this.#s.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=ct(t.queryKey,t)),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!=="always"),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode="offlineFirst"),t.queryFn===Qe&&(t.enabled=!1),t}defaultMutationOptions(e){return e?._defaulted?e:{...this.#s.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#e.clear(),this.#t.clear()}},rs=le.createContext(void 0),ft=e=>{const t=le.useContext(rs);if(!t)throw new Error("No QueryClient set, use QueryClientProvider to set one");return t},Ir=({client:e,children:t})=>(le.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),n.jsx(rs.Provider,{value:e,children:t})),ns=le.createContext(!1),Tr=()=>le.useContext(ns);ns.Provider;function Rr(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var kr=le.createContext(Rr()),Or=()=>le.useContext(kr),Er=(e,t,s)=>{const r=s?.state.error&&typeof e.throwOnError=="function"?ut(e.throwOnError,[s.state.error,s]):e.throwOnError;(e.suspense||e.experimental_prefetchInRender||r)&&(t.isReset()||(e.retryOnMount=!1))},Pr=e=>{le.useEffect(()=>{e.clearReset()},[e])},Mr=({result:e,errorResetBoundary:t,throwOnError:s,query:r,suspense:i})=>e.isError&&!t.isReset()&&!e.isFetching&&r&&(i&&e.data===void 0||ut(s,[e.error,r])),Dr=e=>{if(e.suspense){const s=i=>i==="static"?i:Math.max(i??1e3,1e3),r=e.staleTime;e.staleTime=typeof r=="function"?(...i)=>s(r(...i)):s(r),typeof e.gcTime=="number"&&(e.gcTime=Math.max(e.gcTime,1e3))}},Fr=(e,t)=>e.isLoading&&e.isFetching&&!t,Ur=(e,t)=>e?.suspense&&t.isPending,qt=(e,t,s)=>t.fetchOptimistic(e).catch(()=>{s.clearReset()});function Lr(e,t,s){if(process.env.NODE_ENV!=="production"&&(typeof e!="object"||Array.isArray(e)))throw new Error('Bad argument type. Starting with v5, only the "Object" form is allowed when calling query related functions. Please use the error stack to find the culprit call. More info here: https://tanstack.com/query/latest/docs/react/guides/migrating-to-v5#supports-a-single-signature-one-object');const r=Tr(),i=Or(),a=ft(),o=a.defaultQueryOptions(e);a.getDefaultOptions().queries?._experimental_beforeQuery?.(o);const l=a.getQueryCache().get(o.queryHash);process.env.NODE_ENV!=="production"&&(o.queryFn||console.error(`[${o.queryHash}]: No queryFn was passed as an option, and no default queryFn was found. The queryFn parameter is only optional when using a default queryFn. More info here: https://tanstack.com/query/latest/docs/framework/react/guides/default-query-function`)),o._optimisticResults=r?"isRestoring":"optimistic",Dr(o),Er(o,i,l),Pr(i);const f=!a.getQueryCache().get(o.queryHash),[d]=le.useState(()=>new t(a,o)),m=d.getOptimisticResult(o),b=!r&&e.subscribed!==!1;if(le.useSyncExternalStore(le.useCallback(y=>{const C=b?d.subscribe(ie.batchCalls(y)):ue;return d.updateResult(),C},[d,b]),()=>d.getCurrentResult(),()=>d.getCurrentResult()),le.useEffect(()=>{d.setOptions(o)},[o,d]),Ur(o,m))throw qt(o,d,i);if(Mr({result:m,errorResetBoundary:i,throwOnError:o.throwOnError,query:l,suspense:o.suspense}))throw m.error;return a.getDefaultOptions().queries?._experimental_afterQuery?.(o,m),o.experimental_prefetchInRender&&!we&&Fr(m,r)&&(f?qt(o,d,i):l?.promise)?.catch(ue).finally(()=>{d.updateResult()}),o.notifyOnChangeProps?m:d.trackResult(m)}function mt(e,t){return Lr(e,vr)}function $r(e,t){const s=ft(),[r]=le.useState(()=>new jr(s,e));le.useEffect(()=>{r.setOptions(e)},[r,e]);const i=le.useSyncExternalStore(le.useCallback(o=>r.subscribe(ie.batchCalls(o)),[r]),()=>r.getCurrentResult(),()=>r.getCurrentResult()),a=le.useCallback((o,l)=>{r.mutate(o,l).catch(ue)},[r]);if(i.error&&ut(r.options.throwOnError,[i.error]))throw i.error;return{...i,mutate:a,mutateAsync:i.mutate}}function pt(){const{alerts:e}=fe(),t=ft();return $r({mutationFn:s=>e.updateAlertStatus(s),onSuccess:()=>{t.invalidateQueries({queryKey:["alerts","list"]}),t.invalidateQueries({queryKey:["alerts","report"]})}})}function Br(e,t){return e.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!0,timeZone:t})}function qr(e,t){try{const i=new Intl.DateTimeFormat("en-US",{timeZone:t,timeZoneName:"short"}).formatToParts(e).find(o=>o.type==="timeZoneName")?.value;let a;try{const l=new Intl.DateTimeFormat("en-US",{timeZone:t,timeZoneName:"shortOffset"}).formatToParts(e).find(f=>f.type==="timeZoneName");l?.value&&l.value.startsWith("GMT")&&(a=l.value.replace("GMT",""))}catch{}return{abbr:i,offset:a}}catch{return{}}}function Qr(e){if(!e)return"-";try{const t=new Date(e),s=d=>String(d).padStart(2,"0"),r=s(t.getMonth()+1),i=s(t.getDate()),a=t.getFullYear(),o=s(t.getHours()),l=s(t.getMinutes()),f=s(t.getSeconds());return`${r}/${i}/${a} ${o}:${l}:${f}`}catch{return"-"}}function Je(e){if(!e)return"-";try{return new Date(e).toLocaleString("en-US",{day:"2-digit",month:"2-digit",year:"numeric",hour:"2-digit",minute:"2-digit",second:"2-digit"})}catch{return"-"}}const _r={Critical:"#FF3B30",High:"#FFB86A",Medium:"#FFCC00",Low:"#007AFF"},Hr={Critical:"#FFE2E2",High:"#FF95004D",Medium:"#FEF9C2",Low:"#E0EDFF"};function is({alerts:e,loading:t=!1,pageSize:s=10,completedStatus:r="Completed",severityOptions:i,anomalyOptions:a,spaceOptions:o,onAlertIdClick:l}){const f=pt(),d=async y=>{try{const C=await f.mutateAsync({alertUniqueId:y.alertId??y.id,alertId:y.id,status:"Reopen",notes:"Reopened",modifiedBy:0});if(C?.responseStatus){const w=C?.data||"Alert reopened successfully.";ne.toast.success(w)}else{const w=C?.errorMessage||"Failed to reopen alert";ne.toast.error(w)}}catch{ne.toast.error("Failed to reopen alert. Please try again.")}},m=[{title:"Severity",dataIndex:"priority",key:"priority",width:120,render:y=>n.jsx(c.Tag,{className:"px-[10px] py-[2px]",style:{border:`2px solid ${_r[y]}`,backgroundColor:Hr[String(y)]},children:y})},{title:"Timestamp",dataIndex:"timestamp",key:"timestamp",width:200,render:y=>Qr(y)},{title:"Status",dataIndex:"statusType",key:"statusType",width:140},{title:"Description",dataIndex:"description",key:"description",render:(y,C)=>n.jsxs("div",{children:[n.jsx("a",{onClick:w=>{w.preventDefault(),l?.(C)},className:"inline-block mb-1 text-blue-600",children:C.alertNumber}),n.jsx("div",{className:"text-black/65",children:y})]})},{title:"",key:"menu",width:60,align:"right",render:(y,C)=>n.jsx(c.Dropdown,{trigger:["click"],menu:{items:[{key:"reopen",label:"Reopen"}],onClick:({key:w})=>{w==="reopen"&&d(C)}},children:n.jsx(c.Button,{type:"text",icon:n.jsx(ke.MoreOutlined,{})})})}],b=(e||[]).filter(y=>(y.statusType||"").toLowerCase()===r.toLowerCase());return n.jsx(lt,{data:b,loading:t,pageSize:s,columns:m,severityOptions:i,anomalyOptions:a,spaceOptions:o,renderActions:void 0,onAlertIdClick:l})}function Gr({size:e=120,time:t,timeZone:s="America/New_York"}){const{hours:r,minutes:i,seconds:a}=h.useMemo(()=>{const b=new Intl.DateTimeFormat("en-US",{timeZone:s,hour:"numeric",minute:"numeric",second:"numeric",hour12:!1}).formatToParts(t);return{hours:parseInt(b.find(y=>y.type==="hour")?.value||"0",10),minutes:parseInt(b.find(y=>y.type==="minute")?.value||"0",10),seconds:parseInt(b.find(y=>y.type==="second")?.value||"0",10)}},[t,s]),o=a*6,l=i*6+a*.1,f=r%12*30+i*.5,d=e/2;return n.jsxs("div",{className:"relative rounded-full border border-gray-300 bg-white",style:{width:e,height:e},role:"img","aria-label":"Analog Clock",children:[[...Array(12)].map((m,b)=>{const y=b*30,C=6,w=d-4,p=w-C,A=(y-90)*(Math.PI/180),U=d+p*Math.cos(A),L=d+p*Math.sin(A),$=d+w*Math.cos(A),D=d+w*Math.sin(A);return n.jsx("svg",{className:"absolute inset-0",width:e,height:e,children:n.jsx("line",{x1:U,y1:L,x2:$,y2:D,stroke:"#9CA3AF",strokeWidth:b%3===0?2:1,strokeLinecap:"round"})},b)}),n.jsx("svg",{className:"absolute inset-0",width:e,height:e,style:{transform:`rotate(${f}deg)`},children:n.jsx("line",{x1:d,y1:d,x2:d,y2:d-e*.25,stroke:"#1F2937",strokeWidth:4,strokeLinecap:"round"})}),n.jsx("svg",{className:"absolute inset-0",width:e,height:e,style:{transform:`rotate(${l}deg)`},children:n.jsx("line",{x1:d,y1:d,x2:d,y2:d-e*.35,stroke:"#374151",strokeWidth:3,strokeLinecap:"round"})}),n.jsx("svg",{className:"absolute inset-0",width:e,height:e,style:{transform:`rotate(${o}deg)`},children:n.jsx("line",{x1:d,y1:d+e*.08,x2:d,y2:d-e*.38,stroke:"#EF4444",strokeWidth:1.5,strokeLinecap:"round"})}),n.jsx("div",{className:"absolute bg-gray-900 rounded-full",style:{width:8,height:8,left:d-4,top:d-4}})]})}function as({label:e="USA",timeZone:t="America/New_York",updateIntervalMs:s=1e3,className:r}){const[i,a]=h.useState(new Date);h.useEffect(()=>{const d=setInterval(()=>a(new Date),s);return()=>clearInterval(d)},[s]);const o=h.useMemo(()=>Br(i,t),[i,t]),{abbr:l,offset:f}=h.useMemo(()=>qr(i,t),[i,t]);return n.jsxs("div",{className:`flex items-center gap-3 ${r||""}`,children:[n.jsx(Gr,{time:i,timeZone:t,size:80}),n.jsxs("div",{className:"flex flex-col items-baseline gap-1",children:[n.jsxs("div",{className:"flex items-center gap-2 text-sm text-gray-600",children:[n.jsx("span",{className:"uppercase",children:e}),l&&n.jsx("span",{className:"px-1.5 py-0.5 rounded-md border text-[10px] leading-none text-gray-600 bg-gray-50",children:l}),f&&n.jsx("span",{className:"text-xs text-gray-500",children:f})]}),n.jsx("div",{className:"text-2xl font-semibold text-gray-700 tracking-wide",children:o})]})]})}const Wr=[{SeverityId:1,Code:"LOW",DisplayName:"Low",SortOrder:10,IsActive:!0},{SeverityId:2,Code:"MEDIUM",DisplayName:"Medium",SortOrder:20,IsActive:!0},{SeverityId:3,Code:"HIGH",DisplayName:"High",SortOrder:30,IsActive:!0},{SeverityId:4,Code:"CRITICAL",DisplayName:"Critical",SortOrder:40,IsActive:!0}],Kr=[{RuleId:"0938aa00-dfa7-4258-805a-67396366c776",RuleVersionId:"36d2d581-57c3-45c3-8705-8235935fdf96",Name:"License Plate Recognition",Description:"License Plate Recognition",VersionCount:1,ActionCount:0,ApplicabilityPeriodCount:0,SuppressionCount:0,AssignmentCount:0,ExclusionCount:0,IsDeleted:!1,SeverityId:3,AnomalyId:"915976ef-4eb6-4f7b-bbe6-e53862517fc9",Level:"global"},{RuleId:"2437286a-db6a-4d35-814e-9ac49f158dde",RuleVersionId:"00000000-0000-0000-0000-000000000000",Name:"Monitor And Track Onsite Vehicle timelog",Description:"Monitor And Track Onsite Vehicle timelog",VersionCount:0,ActionCount:0,ApplicabilityPeriodCount:0,SuppressionCount:0,AssignmentCount:0,ExclusionCount:0,IsDeleted:!1,SeverityId:3,AnomalyId:"9fd651ab-4312-4826-84b6-94d735894477",Level:"global"},{RuleId:"b99120ba-7a83-4ade-b5d9-a420550fe351",RuleVersionId:"d7b14dae-a7b1-474e-a357-199182c02ac3",Name:"Watchlist person detected",Description:"Watchlist person detected",VersionCount:1,ActionCount:0,ApplicabilityPeriodCount:0,SuppressionCount:0,AssignmentCount:0,ExclusionCount:0,IsDeleted:!1,SeverityId:4,AnomalyId:"bb3a3d3a-73a3-4f5a-8804-1baadbd0d412",Level:"global"},{RuleId:"ffc2c24f-adb7-4aba-ace7-f19c54e21530",RuleVersionId:"6ab3178f-bf77-4a1e-898d-1d5dbef749c5",Name:"Weapon Detection",Description:"Weapon Detection",VersionCount:1,ActionCount:0,ApplicabilityPeriodCount:0,SuppressionCount:0,AssignmentCount:0,ExclusionCount:0,IsDeleted:!1,SeverityId:4,AnomalyId:"ac82c3a2-72e6-4f9c-88fb-851a3ca3c4de",Level:"global"}],Yr=[{userRoleId:1,userRoleName:"Super Admin"},{userRoleId:2,userRoleName:"Security Officer"},{userRoleId:3,userRoleName:"Security Admin"},{userRoleId:4,userRoleName:"Regulatory Officer/First Responder"},{userRoleId:5,userRoleName:"User"}],Re={severities:Wr,rules:Kr,userRoles:Yr},{Text:zr}=c.Typography;function Vr({sortBy:e,onChange:t,showActions:s,onSave:r,onClear:i,saving:a}){return n.jsxs(c.Row,{gutter:[16,16],align:"middle",children:[n.jsx(c.Col,{xs:24,md:8,lg:5,children:n.jsxs(c.Space,{className:"w-full items-center",direction:"horizontal",size:12,children:[n.jsx(zr,{className:"text-gray-600",children:"Sort by:"}),n.jsx(c.Select,{placeholder:"By Severity",value:e,onChange:o=>t({sortBy:o}),options:[{label:"By Severity",value:"By Severity"},{label:"By Created Date",value:"By Created Date"}],className:"w-full",style:{minWidth:"200px"}})]})}),n.jsx(c.Col,{xs:24,md:8,style:{alignSelf:"end"},children:s?n.jsxs(c.Space,{className:"w-full",direction:"horizontal",size:8,children:[n.jsx(c.Button,{onClick:i,disabled:a,children:"Clear"}),n.jsx(c.Button,{type:"primary",onClick:r,loading:a,children:"Save"})]}):null})]})}const{Text:be}=c.Typography;function Jr(e){const{selectedRule:t,setSelectedRule:s,ruleOptions:r,minsOptions:i,roleOptions:a,l1mins:o,setL1mins:l,l1role:f,setL1role:d,l2mins:m,setL2mins:b,l2role:y,setL2role:C,l3mins:w,setL3mins:p,l3role:A,setL3role:U,actions:L,setActions:$,thirdPartyIds:D,setThirdPartyIds:Y,humanLoop:z,setHumanLoop:_,onClear:G,onSave:I,saving:j,onActionTypesLoaded:T}=e,{rules:ee}=fe(),[re,k]=h.useState([]),[v,g]=h.useState([]),[S,u]=h.useState(!1);h.useEffect(()=>{let E=!1;return(async()=>{try{u(!0);const R=await ee.getLookups();if(E||!R||!Array.isArray(R.actionTypes))return;const F=R.actionTypes.map(B=>({label:B.name,value:String(B.actionTypeId)}));k(F),T&&T(R.actionTypes);const q=Array.isArray(R.thirdParties)?R.thirdParties.map(B=>({label:B.thirdPartyName,value:B.thirdPartyId})):[];g(q)}catch(R){console.error("Error loading lookups",R)}finally{E||u(!1)}})(),()=>{E=!0}},[]);const x=typeof o=="number"||typeof f=="number"||typeof m=="number"||typeof y=="number"||typeof w=="number"||typeof A=="number"||Array.isArray(L)&&L.length>0||Array.isArray(D)&&D.length>0||!!z,N=!!t&&x&&!j;return n.jsxs(c.Spin,{spinning:!!j||S,children:[n.jsxs(c.Row,{gutter:[16,16],align:"bottom",children:[n.jsx(c.Col,{xs:24,sm:12,md:8,lg:4,children:n.jsxs("div",{children:[n.jsx(be,{className:"text-gray-700 font-medium block mb-1",children:"Rules"}),n.jsx(c.Select,{placeholder:"Rules",value:t,onChange:s,options:r,className:"w-full"})]})}),n.jsx(c.Col,{xs:24,sm:12,md:8,lg:4,children:n.jsxs("div",{children:[n.jsxs(c.Row,{gutter:8,children:[n.jsx(c.Col,{span:10,children:n.jsx(be,{className:"text-gray-700 font-medium block mb-1",children:"Level 1 (mins)"})}),n.jsx(c.Col,{span:14,children:n.jsx(be,{className:"text-gray-700 font-medium block mb-1",children:"Escalate to"})})]}),n.jsxs(c.Row,{gutter:8,children:[n.jsx(c.Col,{span:10,children:n.jsx(c.Select,{className:"w-full",placeholder:"Mins",value:o,onChange:l,options:i})}),n.jsx(c.Col,{span:14,children:n.jsx(c.Select,{placeholder:"Escalate to",className:"w-full",value:f,onChange:d,options:a})})]})]})}),n.jsx(c.Col,{xs:24,sm:12,md:8,lg:4,children:n.jsxs("div",{children:[n.jsxs(c.Row,{gutter:8,children:[n.jsx(c.Col,{span:10,children:n.jsx(be,{className:"text-gray-700 font-medium block mb-1",children:"Level 2 (mins)"})}),n.jsx(c.Col,{span:14,children:n.jsx(be,{className:"text-gray-700 font-medium block mb-1",children:"Escalate to"})})]}),n.jsxs(c.Row,{gutter:8,children:[n.jsx(c.Col,{span:10,children:n.jsx(c.Select,{className:"w-full",placeholder:"Mins",value:m,onChange:b,options:i})}),n.jsx(c.Col,{span:14,children:n.jsx(c.Select,{placeholder:"Escalate to",className:"w-full",value:y,onChange:C,options:a})})]})]})}),n.jsx(c.Col,{xs:24,sm:12,md:8,lg:4,children:n.jsxs("div",{children:[n.jsxs(c.Row,{gutter:8,children:[n.jsx(c.Col,{span:10,children:n.jsx(be,{className:"text-gray-700 font-medium block mb-1",children:"Level 3 (mins)"})}),n.jsx(c.Col,{span:14,children:n.jsx(be,{className:"text-gray-700 font-medium block mb-1",children:"Escalate to"})})]}),n.jsxs(c.Row,{gutter:8,children:[n.jsx(c.Col,{span:10,children:n.jsx(c.Select,{className:"w-full",placeholder:"Mins",value:w,onChange:p,options:i})}),n.jsx(c.Col,{span:14,children:n.jsx(c.Select,{placeholder:"Escalate to",className:"w-full",value:A,onChange:U,options:a})})]})]})}),n.jsx(c.Col,{xs:24,sm:12,md:8,lg:5,children:n.jsxs("div",{children:[n.jsx(be,{className:"text-gray-700 font-medium block mb-1",children:"Pick Actions"}),n.jsx(c.Select,{mode:"multiple",placeholder:"Select response actions",className:"w-full",value:L,onChange:$,options:re})]})}),n.jsx(c.Col,{xs:24,sm:12,md:8,lg:3,children:n.jsx("div",{className:"flex items-end h-full",children:n.jsx(c.Checkbox,{checked:z,onChange:E=>_(E.target.checked),children:"Human-In-The-Loop"})})})]}),n.jsxs(c.Row,{gutter:[16,16],align:"bottom",className:"mt-4",children:[n.jsx(c.Col,{xs:24,sm:12,md:8,lg:5,children:n.jsxs("div",{children:[n.jsx(be,{className:"text-gray-700 font-medium block mb-1",children:"Third Party App"}),n.jsx(c.Select,{mode:"multiple",placeholder:"Third Party app",className:"w-full",value:D,onChange:Y,options:v})]})}),n.jsx(c.Col,{xs:24,sm:12,md:8,children:n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(c.Button,{onClick:G,children:"Clear"}),n.jsx(c.Button,{type:"primary",onClick:I,loading:!!j,disabled:!N,children:"Save"})]})})]})]})}function Xr({entries:e,userRoles:t,onEdit:s,loading:r}){const i=new Map(t.map(o=>[o.userRoleId,o.userRoleName])),a=o=>o.map(l=>i.get(l)||String(l)).join(", ");return n.jsx(c.Table,{rowKey:"id",dataSource:e,pagination:!1,loading:r,columns:[{title:"Rule",dataIndex:"ruleOrSeverityLabel",key:"rule"},{title:"Level 1",key:"l1",render:(o,l)=>n.jsxs("span",{children:[l.l1.minutes?`Action taken in (${l.l1.minutes} Mins)`:"No Action taken in 0 Min",l.l1.roles?.length?`, Escalate to (${a(l.l1.roles)})`:""]})},{title:"Level 2",key:"l2",render:(o,l)=>n.jsxs("span",{children:[l.l2.minutes?`Action taken in (${l.l2.minutes} Mins)`:"No Action taken in 0 Min",l.l2.roles?.length?`, Escalate to (${a(l.l2.roles)})`:""]})},{title:"Level 3",key:"l3",render:(o,l)=>n.jsxs("span",{children:[l.l3.minutes?`Action taken in (${l.l3.minutes} Mins)`:"No Action taken in 0 Min",l.l3.roles?.length?`, Escalate to (${a(l.l3.roles)})`:""]})},{title:"Pick Actions",key:"actionsCol",render:(o,l)=>l.actions&&l.actions.length?l.actions.join(", "):"-"},{title:"Notify",key:"notify",render:(o,l)=>l.notify&&l.notify.length?l.notify.join(", "):"-"},{title:"Human-In-The-Loop",key:"humanLoop",render:(o,l)=>l.humanLoop?"Yes":"No"},{title:"Actions",key:"ops",render:(o,l)=>n.jsx(c.Button,{type:"text",onClick:()=>s(l.id),children:n.jsx(ke.EditOutlined,{})})}]})}const{Title:Zr}=c.Typography;function os({userRoles:e,rules:t,rawRules:s}){const{rules:r}=fe(),[i,a]=h.useState(!1),[o,l]=h.useState(s),[f,d]=h.useState({}),m=h.useMemo(()=>e.map(p=>({label:p.userRoleName,value:p.userRoleId})),[e]),b=h.useMemo(()=>(t||[]).map((p,A)=>({key:p.RuleId||p.Name||String(A),ruleName:p.Name||"-",ruleDesc:p.Description||""})),[t]);h.useEffect(()=>{let p=!1;return(async()=>{try{a(!0);const A=await r.getRules();p||(l(Array.isArray(A)?A:[]),d({}))}catch{!p&&Array.isArray(s)&&l(s)}finally{p||a(!1)}})(),()=>{p=!0}},[]),h.useEffect(()=>{!o&&Array.isArray(s)&&l(s)},[s]);const y=h.useMemo(()=>{if(!Array.isArray(o)||!o.length)return{};const p={};for(const A of b){const U=o.find($=>$?.ruleId===A.key||$?.ruleName===A.key||$?.RuleId===A.key||$?.ruleName===A.ruleName||$?.Name===A.ruleName),L=Array.isArray(U?.userRoleIds)?U.userRoleIds:[];L.length&&(p[A.key]=L)}return p},[o,b]),C=()=>{d({})},w=async()=>{try{if(!o||!Array.isArray(o)||Object.keys(f).length===0){ne.toast.info("No changes to save");return}a(!0);const p=Object.entries(f).map(async([A,U])=>{const L=o.find(_=>_?.ruleId===A||_?.ruleName===A||_?.RuleId===A),$=typeof L?.recordId=="number"?L.recordId:void 0;if(!L||typeof $!="number")throw new Error(`Unable to find recordId for rule ${A}`);const D=Array.isArray(U)?U:[],Y=D.map(_=>{const G=e.find(I=>I.userRoleId===_);return{id:_,name:G?.userRoleName??String(_)}}),z={...L,ruleId:A,userRoleIds:D,userRoles:Y,actions:[{actionTypeId:4,actionTypeUniqueId:"bc0973d4-9be0-4efb-8545-c9112ba06c1f",name:"Audible Warning",notificationType:"Alarm",category:"Hardware",description:"Test",isSystemDefined:!0,isActive:!0,displayOrder:0}]};return r.updateRule($,z)});await Promise.all(p),ne.toast.success("Alert assignment saved");try{const A=await r.getRules();l(Array.isArray(A)?A:[]),d({})}catch(A){console.error("Failed to refresh rules after save",A)}}catch(p){console.error("Failed to save alert assignment",p)}finally{a(!1)}};return n.jsxs("div",{className:"w-full",children:[n.jsx("div",{className:"flex items-center justify-between",children:n.jsx(Zr,{level:4,className:"!mb-4",children:"Alert Assignment"})}),n.jsx(c.Table,{rowKey:"key",dataSource:b,loading:i,pagination:!1,columns:[{title:"Rule Name",dataIndex:"ruleName",key:"ruleName"},{title:"Description",dataIndex:"ruleDesc",key:"ruleDesc"},{title:"Alert Notification To",key:"assign",render:(p,A)=>n.jsx(c.Select,{mode:"multiple",placeholder:"Dropdown with Multi select",className:"w-full",value:f[A.key]??y[A.key]??[],onChange:U=>d(L=>({...L,[A.key]:U})),options:m})}]}),n.jsxs(c.Space,{className:"mt-4",children:[n.jsx(c.Button,{onClick:C,disabled:i,children:"Clear"}),n.jsx(c.Button,{type:"primary",onClick:w,loading:i,disabled:i||Object.keys(f).length===0,children:"Save"})]})]})}const{Title:Qt}=c.Typography;function ls({severities:e,rules:t,userRoles:s,rawRules:r,onSave:i}){const{rules:a,alerts:o}=fe(),[l,f]=h.useState("By Severity"),[d,m]=h.useState("By severity"),[b,y]=h.useState("By Severity"),[C,w]=h.useState(!1),[p,A]=h.useState(!1),[U,L]=h.useState(!1),[$,D]=h.useState(null),[Y,z]=h.useState("rules"),[_,G]=h.useState(),[I,j]=h.useState();console.log("usr",s);const[T,ee]=h.useState(),[re,k]=h.useState(),[v,g]=h.useState(),[S,u]=h.useState(),[x,N]=h.useState(),[E,R]=h.useState(),[F,q]=h.useState([]),[B,M]=h.useState([]),[W,X]=h.useState(!1),[K,te]=h.useState({}),[se,de]=h.useState({}),[ce,Ge]=h.useState(s||[]),[Ee,Ie]=h.useState([]),[We,oe]=h.useState(!1),[Te,Me]=h.useState(!1),[Ke,gt]=h.useState(r||[]);h.useEffect(()=>{r&&r.length&>(r)},[r]),h.useEffect(()=>{if(!r||!r.length)return;const O=Object.keys(K).length>0||Object.keys(se).length>0;if(Ee.length&&!O)return;const J=r.map((Q,P)=>{const V=t.find(ge=>ge.RuleId===(Q.ruleId||Q.ruleName))?.Name||Q.ruleName||Q.Name||"-",H=Q.escalationSettings||{},Z=typeof H.level1UserRoleId=="number"&&H.level1UserRoleId>0?[H.level1UserRoleId]:[],ye=typeof H.level2UserRoleId=="number"&&H.level2UserRoleId>0?[H.level2UserRoleId]:[],Ye=typeof H.level3UserRoleId=="number"&&H.level3UserRoleId>0?[H.level3UserRoleId]:[],xt=(Array.isArray(H.escalationSettingsActionTypeIds)?H.escalationSettingsActionTypeIds:[]).map(ge=>K[ge]||String(ge)),St=(Array.isArray(H.thirdPartyId)?H.thirdPartyId:[]).map(ge=>se[ge]||String(ge)),ze=typeof H.humanLoop=="boolean"?H.humanLoop:null;return{id:String(Q.ruleId||Q.ruleName||P),ruleOrSeverityLabel:V,l1:{minutes:H.level1PostAssistTime??void 0,roles:Z},l2:{minutes:H.level2PostAssistTime??void 0,roles:ye},l3:{minutes:H.level3PostAssistTime??void 0,roles:Ye},actions:xt,notify:St,humanLoop:ze}});Ie(J)},[r,t,K,se]);const fs=h.useMemo(()=>e.map(O=>({label:O.DisplayName,value:O.SeverityId})),[e]),ms=h.useMemo(()=>t.map(O=>({label:O.Name,value:O.RuleId})),[t]),ps=h.useMemo(()=>ce.map(O=>({label:O.userRoleName,value:O.userRoleId})),[ce]),ys=h.useMemo(()=>[1,3,5,10,15,20,30,45,60].map(O=>({label:`${O}`,value:O})),[]);h.useEffect(()=>{let O=!1;async function J(){try{L(!0),D(null);const Q=await o.getAdminSettings();if(!O&&Q){const P=Gt(Q.sortBy);f(P),y(P),w(!1)}}catch(Q){if(!O){const P=Q instanceof Error?Q.message:"Failed to load admin settings";D(P)}}finally{O||L(!1)}}return J(),()=>{O=!0}},[]),h.useEffect(()=>{if(!I)return;const O=V=>{const H=Number(V);return!isNaN(H)&&H>0?H:void 0},J=V=>{const H=Number(V);return!isNaN(H)&&H>0?H:void 0},P=(Ke||[]).find(V=>V?.ruleId===I||V?.ruleName===I||V?.RuleId===I)?.escalationSettings;if(P&&typeof P=="object"){ee(J(P.level1PostAssistTime)),k(O(P.level1UserRoleId)),g(J(P.level2PostAssistTime)),u(O(P.level2UserRoleId)),N(J(P.level3PostAssistTime)),R(O(P.level3UserRoleId));const V=Array.isArray(P.escalationSettingsActionTypeIds)?P.escalationSettingsActionTypeIds:[];q(V.map(H=>String(H))),M(Array.isArray(P.thirdPartyId)?P.thirdPartyId:[]),X(!!P.humanLoop)}},[Y,I,Ke]);const gs=async()=>{try{Me(!0);const O=await a.getRules(),J=Array.isArray(O)?O:Array.isArray(O?.data)?O.data:[];gt(J);const Q=J.map((P,V)=>{const H=t.find(Ne=>Ne.RuleId===(P.ruleId||P.ruleName))?.Name||P.ruleName||P.Name||"-",Z=P.escalationSettings||{},ye=typeof Z.level1UserRoleId=="number"&&Z.level1UserRoleId>0?[Z.level1UserRoleId]:[],Ye=typeof Z.level2UserRoleId=="number"&&Z.level2UserRoleId>0?[Z.level2UserRoleId]:[],vt=typeof Z.level3UserRoleId=="number"&&Z.level3UserRoleId>0?[Z.level3UserRoleId]:[],bt=(Array.isArray(Z.escalationSettingsActionTypeIds)?Z.escalationSettingsActionTypeIds:[]).map(Ne=>K[Ne]||String(Ne)),ze=(Array.isArray(Z.thirdPartyId)?Z.thirdPartyId:[]).map(Ne=>se[Ne]||String(Ne)),ge=typeof Z.humanLoop=="boolean"?Z.humanLoop:null;return{id:String(P.ruleId||P.ruleName||V),ruleOrSeverityLabel:H,l1:{minutes:Z.level1PostAssistTime??void 0,roles:ye},l2:{minutes:Z.level2PostAssistTime??void 0,roles:Ye},l3:{minutes:Z.level3PostAssistTime??void 0,roles:vt},actions:bt,notify:ze,humanLoop:ge}});Ie(Q)}catch(O){console.error("Failed to refetch entries",O)}finally{Me(!1)}};h.useEffect(()=>{let O=!1;return(async()=>{try{const J=await a.getLookups();if(O||!J)return;const Q={};if(Array.isArray(J.thirdParties))for(const V of J.thirdParties)typeof V.thirdPartyId=="number"&&(Q[V.thirdPartyId]=V.thirdPartyName);de(Q);const P=Array.isArray(J.userRoles)?J.userRoles.map(V=>({userRoleId:V.userRoleId??V.id,userRoleName:V.userRoleName??V.name})):[];O||Ge(P.length?P:s||[])}catch(J){console.error("Error loading lookups",J)}})(),()=>{O=!0}},[]);const vs=async()=>{A(!0);try{const O=await o.setAdminSettings({sortBy:l,groupBy:"string"});O?.responseStatus&&O?.data&&ne.toast.success(O.data),y(l),w(!1)}catch(O){console.error("Error saving admin settings",O)}finally{A(!1)}},xs=()=>{f(b),w(!1)},bs=async()=>{oe(!0),i?.({ruleId:I,levels:[{minutes:T,role:re},{minutes:v,role:S},{minutes:x,role:E}],actions:F,thirdPartyIds:B,humanLoop:W});try{if(I){const Q=Array.isArray(F)?F.map(ye=>Number(ye)):[],P=(Ke||[]).find(ye=>ye?.ruleId===I||ye?.ruleName===I||ye?.RuleId===I),V=typeof P?.recordId=="number"?P.recordId:void 0;if(!P||typeof V!="number"){ne.toast.error("Unable to find rule recordId for update");return}const H={...P,actions:[{actionTypeId:4,actionTypeUniqueId:"bc0973d4-9be0-4efb-8545-c9112ba06c1f",name:"Audible Warning",notificationType:"Alarm",category:"Hardware",description:"Test",isSystemDefined:!0,isActive:!0,displayOrder:0}],escalationSettings:{level1UserRoleId:re??0,level1PostAssistTime:T??0,level2UserRoleId:S??0,level2PostAssistTime:v??0,level3UserRoleId:E??0,level3PostAssistTime:x??0,escalationSettingsActionTypeIds:Q,thirdPartyId:Array.isArray(B)?B:[],humanLoop:W}},Z=await a.updateRule(V,H);if(Z?.responseStatus||Z?.ok||Z){ne.toast.success("Escalation settings saved"),await gs(),j(void 0),ee(void 0),k(void 0),g(void 0),u(void 0),N(void 0),R(void 0),q([]),M([]),X(!1);return}}}catch(Q){console.error("Error saving escalation settings",Q)}finally{oe(!1)}const J=t.find(Q=>Q.RuleId===I)?.Name||"-";Ie(Q=>[...Q,{id:`${Date.now()}-${Math.random().toString(36).slice(2,8)}`,ruleOrSeverityLabel:J,l1:{minutes:T,roles:re?[re]:[]},l2:{minutes:v,roles:S?[S]:[]},l3:{minutes:x,roles:E?[E]:[]},actions:(Array.isArray(F)?F:[]).map(P=>{const V=Number(P);return K[V]||String(P)}),notify:(Array.isArray(B)?B:[]).map(P=>se[P]||String(P)),humanLoop:!!W}])},Ss=()=>{f("By Severity"),m("By severity"),z("rules"),G(void 0),j(void 0),ee(void 0),k(void 0),g(void 0),u(void 0),N(void 0),R(void 0),q([]),M([]),X(!1)};return n.jsxs("div",{className:"w-full",children:[n.jsxs("div",{className:"mb-6",children:[n.jsx(Qt,{level:4,className:"!mb-2",children:"Admin Settings"}),n.jsxs(c.Spin,{spinning:U,children:[$?n.jsxs("div",{className:"text-sm text-red-600 mb-2",children:["Failed to load settings: ",$]}):null,n.jsx(Vr,{sortBy:l,groupBy:d,onChange:O=>{O.sortBy&&(f(O.sortBy),w(!0)),O.groupBy&&(m(O.groupBy),w(!0))},showActions:C,onSave:vs,onClear:xs,saving:p})]})]}),n.jsx(c.Divider,{className:"my-6"}),n.jsxs("div",{children:[n.jsx(Qt,{level:4,className:"!mb-4",children:"Escalation Settings"}),n.jsx(Jr,{escBasis:Y,setEscBasis:z,selectedSeverity:_,setSelectedSeverity:G,selectedRule:I,setSelectedRule:j,severityOptions:fs,ruleOptions:ms,minsOptions:ys,roleOptions:ps,l1mins:T,setL1mins:ee,l1role:re,setL1role:k,l2mins:v,setL2mins:g,l2role:S,setL2role:u,l3mins:x,setL3mins:N,l3role:E,setL3role:R,actions:F,setActions:q,thirdPartyIds:B,setThirdPartyIds:M,humanLoop:W,setHumanLoop:X,onClear:Ss,onSave:bs,saving:We,onActionTypesLoaded:O=>{const J={};for(const Q of O)typeof Q.actionTypeId=="number"&&(J[Q.actionTypeId]=Q.name);te(J)}})]}),n.jsx(c.Divider,{className:"my-6"}),n.jsx(Xr,{entries:Ee,userRoles:ce,loading:Te,onEdit:O=>{z("rules");const J=Ee.find(P=>P.id===O),Q=t.find(P=>P.RuleId===O)||(J?t.find(P=>P.Name===J.ruleOrSeverityLabel):void 0);j(Q?Q.RuleId:O)}}),n.jsx(c.Divider,{className:"my-6"}),n.jsx(os,{userRoles:ce,rules:t,rawRules:r}),n.jsx(c.Divider,{})]})}const{Title:_t,Text:$e}=c.Typography;function cs({severities:e,rules:t,onSave:s,onCancel:r}){const{rules:i,alerts:a}=fe(),o=[{label:"By Severity",value:"By Severity"},{label:"By Created Date",value:"By Created Date"}],[l,f]=h.useState("By Severity"),[d,m]=h.useState(new Set),[b,y]=h.useState(null),[C,w]=h.useState(null),[p,A]=h.useState({inApp:!1,sms:!1,email:!1}),[U,L]=h.useState([]),[$,D]=h.useState(!0),[Y,z]=h.useState(!1);h.useEffect(()=>{let I=!1;return(async()=>{try{const j=await a.getPreferenceSettings();if(I||!j)return;A({inApp:!!j.inApp,sms:!!j.sms,email:!!j.email});const T=Gt(j.sortBy);f(T==="By Created Date"?"By Created Date":"By Severity"),y(It(j.doNotDisturbStart)),w(It(j.doNotDisturbEnd)),Array.isArray(j.anomalyIds)&&m(new Set(j.anomalyIds.map(ee=>String(ee))))}catch(j){console.error("Error in loading my preferences: ",j)}})(),()=>{I=!0}},[]),h.useEffect(()=>{let I=!1;return(async()=>{try{D(!0);const j=await i.getLookups();if(I||!j)return;const T=Array.isArray(j.anomalies)?j.anomalies:[];L(T)}catch(j){console.error("Failed to load anomalies lookups",j)}finally{I||D(!1)}})(),()=>{I=!0}},[]);const _=I=>{m(j=>{const T=new Set(j);return T.has(I)?T.delete(I):T.add(I),T})},G=async()=>{s?.({sortBy:l,subscribedRuleIds:Array.from(d),dnd:{from:b,to:C},channels:p});try{z(!0);const I=b?b.format?.("HH:mm:ss")??"00:00:00":"00:00:00",j=C?C.format?.("HH:mm:ss")??"00:00:00":"00:00:00",T=Array.from(d).map(re=>Number(re)).filter(re=>Number.isFinite(re)),ee=await a.setPreferenceSettings({anomalyIds:T,doNotDisturbStart:I,doNotDisturbEnd:j,inApp:!!p.inApp,sms:!!p.sms,email:!!p.email,sortBy:l});console.log("resp",ee),ee?.responseStatus&&ne.toast.success(ee?.data||"Preferences updated successfully.")}catch(I){console.error("Error in saving my preferences: ",I)}finally{z(!1)}};return n.jsxs("div",{className:"w-full",children:[n.jsx(c.Row,{gutter:[16,16],align:"middle",className:"mb-4",children:n.jsx(c.Col,{xs:24,md:8,children:n.jsxs(c.Space,{direction:"horizontal",size:12,className:"w-full items-center",children:[n.jsx($e,{className:"text-gray-600",children:"Sort By:"}),n.jsx(c.Select,{className:"w-[240px]",value:l,options:o,onChange:f})]})})}),n.jsxs("div",{className:"mb-4",children:[n.jsx(_t,{level:5,className:"!mb-2",children:"Anomalies"}),$?n.jsx("div",{className:"py-4",children:n.jsx(c.Spin,{})}):n.jsx(c.Space,{direction:"vertical",size:10,className:"w-full",children:(Array.isArray(U)?U:[]).map(I=>{const j=String(I.recordId),T=I.anomalyName;return n.jsx(c.Checkbox,{checked:d.has(j),onChange:()=>_(j),children:T},j)})})]}),n.jsxs("div",{className:"mb-4",children:[n.jsx(_t,{level:5,className:"!mb-2",children:"Notification Timing & Channels"}),n.jsx(c.Row,{gutter:[16,16],align:"middle",className:"mb-3",children:n.jsx(c.Col,{xs:24,md:12,children:n.jsxs(c.Space,{direction:"horizontal",size:12,className:"w-full items-center",children:[n.jsx($e,{children:"Do Not Disturb mode:"}),n.jsxs(c.Space,{size:12,className:"w-full",children:[n.jsxs(c.Space,{direction:"horizontal",size:8,className:"items-center",children:[n.jsx($e,{children:"From"}),n.jsx(c.TimePicker,{value:b,onChange:I=>y(I),format:"HH:mm"})]}),n.jsxs(c.Space,{direction:"horizontal",size:8,className:"items-center",children:[n.jsx($e,{children:"To"}),n.jsx(c.TimePicker,{value:C,onChange:I=>w(I),format:"HH:mm"})]})]})]})})}),n.jsxs(c.Row,{gutter:[24,12],children:[n.jsx(c.Col,{children:n.jsx(c.Checkbox,{checked:p.inApp,onChange:I=>A({...p,inApp:I.target.checked}),children:"In-app"})}),n.jsx(c.Col,{children:n.jsx(c.Checkbox,{checked:p.sms,onChange:I=>A({...p,sms:I.target.checked}),children:"SMS"})}),n.jsx(c.Col,{children:n.jsx(c.Checkbox,{checked:p.email,onChange:I=>A({...p,email:I.target.checked}),children:"Email"})})]})]}),n.jsx(c.Divider,{}),n.jsxs(c.Space,{className:"gap-3",children:[n.jsx(c.Button,{onClick:r,disabled:Y,children:"Cancel"}),n.jsx(c.Button,{type:"primary",onClick:G,loading:Y,children:"Save"})]})]})}function us({severities:e,rules:t,userRoles:s,rawRules:r}){const[i,a]=h.useState("global");return n.jsxs("div",{className:"w-full",children:[n.jsxs("div",{className:"inline-flex rounded-xl overflow-hidden border border-gray-200 mb-4",children:[n.jsx("button",{onClick:()=>a("global"),className:`px-5 py-2 text-base font-medium outline-none ${i==="global"?" bg-black text-white":" bg-white text-black"}`,style:{border:"0"},children:"Global Settings"}),n.jsx("button",{onClick:()=>a("prefs"),className:`px-5 py-2 text-base font-medium outline-none ${i==="prefs"?"bg-black text-white":"bg-white"}`,children:"My Preferences"})]}),i==="global"?n.jsx(ls,{severities:e,rules:t,userRoles:s,rawRules:r}):n.jsx(cs,{severities:e,rules:t})]})}const en="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAYAAACpF6WWAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAIZSURBVHgBnZW/b9NAFMe/z3H6i1ZNJUBFQsL/QQkLCFBtRhhKF1ibhBmpXbtgFlYqsTG0gRGWwgAjMb8EYmjYGN0pCCrVVaX+SBxf37PiqHWcOu5Xsux79+6j77vz3RH66IbdsDTQPCFngmBwqMCPBwVXoe204Fd/2ZfrSWMpHrDshtGCvsY9FlKkFNYD+Es/7EtuX+itp1sLnLrScTWoPMYsfnty/lUPtAOs4syiUgQOoWHJpG9kdBiX11Z+UaZCk1YT+vOzACuzYxgf7hZbyBGvhTi9af+7SkQbyKi7M8N4ZJ5D+eU2dg9UN07KvyNOS8io6UkNFXMMj1/vnACKAuTmNXZpIqME+LF+iIbX7ukjkClODWTQw+ujuGYMYfXzXnICbxSBDrxAUvYDhkrZp6ggUC8+sDI7mpj9YmESb3/uJ5Z9TJ5A3eORvzsBpgs6lufGT2TKPNY3fbxh6Knis0FTSjnx+LP3u5DJicDi/t7MCFadPaRJQTl02/5vKcKnpITluYkwrWjksebs48Pvg3SoUkXtq32hxt+1pITI8Zc/zcGACN59ty/WdWnklV5ukZ+49wU8MUJIF3mBGlqUr3Dv1+wpl20v9UuP75pElyrgc3XK7UJFbLvK4DJiv9ggDmWcjO9G4imWvW00yV/hjvtpOFnpQOVLkcO+0EhyevGrROG1ol1hREFc8ZGxyddIje+v9c4i9+gI5z7MozLxclgAAAAASUVORK5CYII=",tn="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAYAAACpF6WWAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAKeSURBVHgBjVVdbtpAEJ5ZmygPfTBSaVWpUt0bwFuURgJOUG5QeoLACbw+QeAEwA3SGxgJokh9CDeI+xSpTRU/Imw8nbFZx6QQGAl5d2fm229+dkDYI2f6oaUAOwhWExBcPnL4FwFBSLCexpCMf+qPi12++PKgpR/cGOwRa1pwQIjgOoWkf6s/hOVzVd588R+/xWjf5YAY8Y0+ErQrZFfnXg3lK3uGm7A+RISOxfbit5NprqBxxgBoeEIVHehqtI9lSz+5McaaITaA2J17bycFaBayMOS8IaT+zHuv4Ui58P9oAvB4Ga0paUgqbFGswL5idIcIx3P9DCiXrQB7iJawcTiCkMMIUlj7Jo8zr6Yv/EfRXXIqRnzUxnP9u46Id8Q5Sslq3+pqWErHAPKqvxROC/ZMuJwKJ8bkPouUkrYUqgt5IgMDKAxfAYT8nAZnmR2A5J47YSjrFKyOYpZN2SiIJ8YjRqVfASyAFVg9s2F2gXwRsClMXdnYcFpq5PyiQ8KEilaywc79+aEow2i7fdCF46SIpuTvCGi2kWSXjCM4QqS4Zl3yjwQ0UySwrBfGRJNjQKW4ZrmEpL45CxUDTGWdgmoZgxOoDA6zxYgr7ZudhWk3x6Sp4kl0nZmgujQhcH5Cvqy/Hxi5hdL+dgsWxR2rma4FkLeDw+PMM243+t2YB0jDDI9nMBquyWqI3tjmLYguQfqDzxebty/DIcnePr9jfePVfDhSzv2/Hs8LAY3kMmFfTCl+rl3uu1GWF6Jx+X3vkpa+58jeeNyXvY3Pd8N+a0hvgK9ge3hMTmG5CPTnSICWcFpXaDfZUcAck99yOnZM/id3hcmAFV/hgEilU6p0TcH2gpZYS98xc/kXUJ8YImPFzfeLh0cgXbMp8n/yD3ySPZSK0MWKAAAAAElFTkSuQmCC";function sn(e){const t=(e.status||"").toLowerCase()==="completed"?n.jsx("img",{src:en,alt:"completed",style:{width:20,height:20}}):n.jsx("img",{src:tn,alt:"pending",style:{width:20,height:20}});return{title:n.jsxs("div",{className:"flex flex-col gap-0 min-w-0",children:[n.jsxs("div",{className:"flex flex-col",children:[n.jsx("span",{className:"block text-sm break-words mb-1 overflow-visible whitespace-normal",children:n.jsx("b",{children:e.title})}),e.description?n.jsx("span",{className:"text-gray-500 text-xs",children:e.description}):null]}),e.timestamp?n.jsx("span",{className:"text-gray-500 text-xs",children:e.timestamp}):null]}),icon:t,description:null}}function rn({data:e}){return n.jsx("div",{className:"w-full",children:n.jsx(c.Tabs,{type:"card",items:[{key:"action",label:"Action Taken",children:n.jsxs("div",{className:"w-full",children:[n.jsx(c.Card,{className:"mb-4 rounded-md",bordered:!0,children:n.jsxs("div",{className:"grid grid-cols-4 gap-6 text-xs",children:[n.jsxs("div",{className:"flex flex-col gap-1",children:[n.jsx("span",{className:"text-gray-500",children:"Alert ID"}),n.jsx("span",{className:"text-black",children:e.summary.alertNumber})]}),n.jsxs("div",{className:"flex flex-col gap-1",children:[n.jsx("span",{className:"text-gray-500",children:"Incident ID"}),n.jsx("span",{className:"text-black",children:e.summary.incidentId})]}),n.jsxs("div",{className:"flex flex-col gap-1",children:[n.jsx("span",{className:"text-gray-500",children:"Severity"}),n.jsx("span",{className:"text-black",children:e.summary.severity})]}),n.jsxs("div",{className:"flex flex-col gap-1",children:[n.jsx("span",{className:"text-gray-500",children:"Location"}),n.jsx("span",{className:"text-black",children:e.summary.location})]})]})}),n.jsxs(c.Card,{className:"rounded-md",bordered:!0,children:[n.jsx("div",{className:"flex items-center justify-between",children:n.jsx("h4",{className:"text-sm text-black font-medium",children:"Response Timeline/ Audit trail/log"})}),n.jsx("div",{className:"mt-2",children:n.jsx(c.Steps,{direction:"vertical",size:"small",current:1,items:(e.timeline||[]).map(sn)})})]})]})},{key:"notification",label:"Notification Sent",children:n.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[(e.notifications||[]).map((t,s)=>n.jsxs(c.Card,{className:"rounded-md p-4",bordered:!0,children:[n.jsxs("div",{className:"flex items-start justify-between",children:[n.jsxs("div",{className:"flex flex-col",children:[n.jsx("h4",{className:"text-sm text-black font-medium",children:t.channelLabel}),n.jsx("span",{className:"text-xs text-gray-500 mt-1",children:t.sentAt})]}),n.jsxs("span",{className:"text-[11px] px-2 py-1 rounded-full bg-green-50 text-green-700 border border-green-200",children:[t.delivered,"/",t.total," Delivered"]})]}),n.jsxs("div",{className:"mt-4 text-xs",children:[n.jsxs("div",{className:"text-black",children:[" ",t.messageTitle]}),t.messageBody?n.jsx("div",{className:"text-gray-600",children:t.messageBody}):null]}),n.jsxs("div",{className:"mt-4",children:[n.jsxs("div",{className:"text-xs text-black font-medium",children:["Recipients (",t.total,")"]}),n.jsx("div",{className:"mt-2 flex flex-col gap-3 text-xs",children:(t.recipients||[]).map((r,i)=>n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsxs("div",{className:"flex flex-col",children:[n.jsx("span",{className:"text-black",children:r.name}),n.jsxs("span",{className:"text-gray-500",children:[r.role," . ",r.phone]})]}),n.jsx("span",{className:`text-[11px] px-3 py-[2px] rounded ${r.status==="Delivered"?"bg-green-50 text-green-700 border border-green-200":"bg-red-50 text-red-700 border border-red-200"}`,children:r.status})]},i))})]})]},s)),e.notifications?.length?null:n.jsx("span",{className:"text-gray-500 text-xs",children:"No notifications."})]})}]})})}function nn(e){if(!e||typeof e!="string")return!1;const t=e.split("?")[0].toLowerCase();return t.endsWith(".mp4")||t.endsWith(".webm")||t.endsWith(".ogg")||t.endsWith(".m3u8")}function an(e){const t=(e?.mediaType||e?.type||"").toString().toLowerCase();return t==="video"||t==="mp4"?!0:nn(e?.mediaUrl||e)}function Xe(e){const t=e;return t?Array.isArray(t)?t:[t]:[]}const on={Critical:"#FF3B30",High:"#FFB86A",Medium:"#FFCC00",Low:"#007AFF"},ln={Critical:"#FFE2E2",High:"#FF95004D",Medium:"#FEF9C2",Low:"#E0EDFF"},cn=({isModalOpen:e,handleModalClose:t,selectedRow:s,fetchAlertLogs:r,alertStatusList:i=[],alertStatusLoading:a=!1,initialTab:o="details"})=>{const[l,f]=h.useState(),[d,m]=h.useState(""),[b,y]=h.useState(!1),C=h.useRef(null),[w,p]=h.useState("details"),[A,U]=h.useState(void 0),[L,$]=h.useState(!1),D=pt(),{alerts:Y,config:z}=fe(),_=z?.tenant==="schools",G=s?.originalData||{},{eventName:I,alertId:j,timestamp:T,description:ee,spaceName:re,assignTeam:k,priority:v,statusType:g,id:S,alertDetails:u,statusHistory:x,mediaDetails:N,alertNumber:E}=G,R=!_&&typeof G?.anomalyName=="string"&&String(G?.anomalyName||"").toLowerCase().includes("elopement");h.useEffect(()=>{const M=S;if(w!=="track"||!M)return;let W=!1;return(async()=>{try{const X=await Y.getAlertNotifications(M);if(W)return;const K=new Map;(X||[]).forEach(se=>{const de=String(se?.notificationType||"Unknown"),ce=K.get(de)||[];ce.push(se),K.set(de,ce)});const te=Array.from(K.entries()).map(([se,de])=>{const ce=de.map(oe=>{const Te=String(oe?.messageStatus||"").toLowerCase(),Me=Te==="delivered"?"Delivered":Te==="failed"?"Failed":"Queued";return{name:oe?.receipientName||oe?.recipientName||"-",role:oe?.receipientRoleName||"",phone:oe?.receipentPhoneNumber||oe?.recipientPhoneNumber||oe?.receipientEmail||oe?.recipientEmail||"",status:Me}}),Ge=ce.filter(oe=>oe.status==="Delivered").length,Ee=de.map(oe=>oe?.sentAt).filter(Boolean).sort((oe,Te)=>new Date(Te).getTime()-new Date(oe).getTime())[0],Ie=de[0]||{},We=[Ie?.severityName,Ie?.anomalyName].filter(Boolean).join(" - ")||`${se} Notification`;return{channelLabel:`${se} Notification`,sentAt:Ee||"",messageTitle:We,messageBody:"",total:ce.length,delivered:Ge,recipients:ce}});U(te)}catch{U(void 0)}})(),()=>{W=!0}},[w,S]),h.useEffect(()=>{e&&p(o)},[e,o]);const F=(i||[]).map(M=>({value:M.value,label:M.statusName})),q=async()=>{try{y(!0);const M={alertUniqueId:j,alertId:S,status:l!==void 0?String(l):void 0,notes:d.trim(),modifiedBy:0},W=await D.mutateAsync(M);if(W?.responseStatus){const X=W?.data||"Alert updated successfully.";ne.toast.success(X,{autoClose:1500,onClose:()=>{r(),t()}}),f(void 0),m("")}else{const X=W?.errorMessage||"Failed to update alert status";ne.toast.error(X)}}catch(M){console.error("Error updating alert status:",M),ne.toast.error("Failed to update alert status. Please try again.")}finally{y(!1)}},B=async()=>{try{if(!S){ne.toast.error("Alert ID is missing.");return}$(!0);const M=S;if(!Y.notifyFamilyMembers){ne.toast.error("Notify Family is not supported.");return}const W=await Y.notifyFamilyMembers(M);if(W?.responseStatus){const X=W?.data||"Alert Notifications sent to Family Members.";ne.toast.success(X)}else{const X=W?.errorMessage||"Failed to send notifications.";ne.toast.error(X)}}catch(M){console.error("Error notifying family members:",M),ne.toast.error("Failed to send notifications. Please try again.")}finally{$(!1)}};return n.jsx(c.Modal,{open:e,onCancel:t,width:1e3,footer:w==="details"?n.jsxs("div",{className:"flex flex-row gap-2 justify-start",children:[n.jsx(c.Button,{onClick:t,className:"bg-[#6C757D] text-white",children:"Cancel"}),n.jsx(c.Button,{type:"primary",onClick:q,loading:b,children:b?"Saving...":"Save Changes"})]}):null,children:s&&n.jsx(c.Tabs,{activeKey:w,onChange:M=>p(M),items:[{key:"details",label:"Alert Detail",children:n.jsxs("div",{className:"grid grid-cols-2 gap-2",children:[n.jsxs("div",{className:"flex flex-col gap-2",children:[n.jsx("div",{className:"text-sm font-bold",children:I||"Alert Event"}),u?.firstName?n.jsxs("div",{className:"text-sm text-gray-500",children:["Resident ID/Name: ",u?.firstName," ",u?.lastName||""," ",u?.residentId||""]}):null,n.jsxs("div",{className:"text-sm text-gray-500",children:["Timestamp: ",Je(T)]}),n.jsxs("div",{className:"font-sm text-gray-500",children:[n.jsx("b",{className:"text-black text-sm/6",children:"Description:"})," ",ee||"No description available"]}),re&&n.jsxs("div",{className:"font-sm text-gray-500",children:["Space: ",re]}),k&&n.jsxs("div",{className:"font-sm text-gray-500",children:["Assigned to: ",k]}),n.jsxs("div",{className:"flex gap-2 justify-start mt-3",children:[n.jsxs(c.Tag,{className:"font-sm text-gray-500 rounded-[8px] py-2 px-3",style:{border:`2px solid ${on[String(v)]||"#DFE4EA"}`,backgroundColor:ln[String(v)]},children:["Severity: ",v||"N/A"]}),n.jsxs(c.Tag,{className:"font-sm text-gray-500 rounded-[8px] py-2 px-3",style:String(g||"").toLowerCase()==="completed"?{background:"#E7F6EC",border:"0.68px solid var(--Green, #34C759)"}:{background:"#E0EDFF",border:"1px solid var(--Grays-Gray-4, #D1D1D6)"},children:["Status: ",g||"N/A"]})]}),n.jsx("div",{className:"w-full flex flex-col justify-start items-start mt-2 font-bold",children:n.jsxs("div",{className:"w-full mt-4",children:[n.jsx("div",{className:"flex flex-col gap-2",children:n.jsx(c.Select,{placeholder:"Change Status",className:"w-full text-gray-500",onChange:M=>f(M),value:l,options:F,loading:a})}),n.jsxs("div",{className:"flex flex-col gap-2 mt-3",children:[n.jsx("label",{className:"text-xs text-gray-500 font-medium",children:"Action Taken (Comments)"}),n.jsx("textarea",{id:"action-details-input",placeholder:"Enter details...",className:"w-full text-gray-500 h-20 border border-grey-500 rounded-md p-2",value:d,onChange:M=>m(M.target.value)})]}),R&&n.jsxs("div",{className:"border border-[#DFE4EA] rounded-md px-4 py-2 flex flex-row justify-between items-center mt-4 mb-8",children:[n.jsx("label",{className:"text-xs font-medium",children:"Alert notification will be sent to all Family Members."}),n.jsx(c.Button,{loading:L,onClick:B,disabled:L,className:"bg-black text-white rounded-md px-4 py-2 text-xs disabled:opacity-60 disabled:cursor-not-allowed",children:"Notify Family"})]})]})})]}),n.jsx("div",{className:"flex flex-col gap-4",children:n.jsxs("div",{className:"w-full mt-1",children:[n.jsxs("div",{className:"w-full flex items-center justify-between",children:[n.jsx("h3",{className:"text-black font-bold text-sm",children:"Camera Footage"}),Xe(N).length?n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx("button",{type:"button",onClick:()=>C.current?.prev?.(),className:"w-6 h-6 flex items-center justify-center rounded-full bg-gray-200 hover:bg-gray-300 text-gray-600","aria-label":"Previous media",children:n.jsx(ke.LeftOutlined,{style:{fontSize:12}})}),n.jsx("button",{type:"button",onClick:()=>C.current?.next?.(),className:"w-6 h-6 flex items-center justify-center rounded-full bg-gray-200 hover:bg-gray-300 text-gray-600","aria-label":"Next media",children:n.jsx(ke.RightOutlined,{style:{fontSize:12}})})]}):null]}),Xe(N).length?n.jsx("div",{className:"w-full",children:n.jsx(c.Carousel,{ref:C,dots:!0,className:"w-full",children:Xe(N).map((M,W)=>n.jsxs("div",{className:"flex justify-center items-center",children:[an(M)?n.jsxs("video",{width:"240",height:"200",controls:!0,className:"max-w-full max-h-[90vh] object-contain rounded-lg shadow-lg",children:[n.jsx("source",{src:M.mediaUrl||M}),"Your browser does not support the video tag."]}):n.jsx("img",{src:M.mediaUrl||M,alt:M.caption||`media-${W}`,className:"max-w-full max-h-[90vh] object-contain rounded-lg shadow-lg"}),M.caption&&n.jsx("p",{className:"text-xs text-gray-500 mt-1",children:M.caption})]},W))})}):null]})})]})},{key:"track",label:"Track Incident",children:(()=>{const M={alertId:j??S??"",incidentId:"-",severity:v||"",location:re||"",alertNumber:E??""},W=x&&x.length?x.map(K=>({status:(K?.status||K?.eventStatus||"").toLowerCase()==="completed"?"Completed":"Inprogress",title:K?.status||K?.eventStatus||"Status Update",description:K?.description||K?.actionNotes||"",timestamp:K?.createdDate?`${Je(K?.createdDate)}`:K?.timestamp?`${Je(K?.timestamp)}`:""})):[],X={summary:M,timeline:W,notifications:A??[]};return n.jsx(rn,{data:X})})()}]})})};function ds(){const{alerts:e}=fe(),t=mt({queryKey:["alerts","statusList"],queryFn:()=>e.getAlertStatusList(),staleTime:5*6e4});return{list:t.data??[],loading:t.isLoading,error:t.error,refetch:t.refetch}}function yt({alerts:e,loading:t=!1,columns:s,onRefetch:r}){const[i,a]=h.useState(!1),[o,l]=h.useState(null),[f,d]=h.useState("details"),{list:m,loading:b}=ds();function y(p,A){l(p),d(A?.tab??"details"),a(!0)}function C(){a(!1)}const w=o?{originalData:{...o,alertId:o.alertId??o.id,mediaDetails:o.mediaDetails}}:null;return n.jsxs("div",{className:"p-6 flex flex-col items-start justify-start min-h-screen w-full overflow-auto",children:[n.jsxs("div",{className:"w-1/2 flex items-center justify-between mb-4",children:[n.jsx("h1",{className:"text-xl font-bold text-black",children:"Alert Console"}),n.jsx(as,{label:"USA",timeZone:"America/New_York"})]}),n.jsx(c.Tabs,{defaultActiveKey:"active",className:"w-full",tabBarStyle:{fontSize:"medium"},onChange:p=>{p==="active"&&r?.()},items:[{key:"active",label:"Active",children:n.jsx(lt,{data:e,loading:t,pageSize:10,columns:s||[],onAlertIdClick:y,onRefetch:r})},{key:"archived",label:"Archived",children:n.jsx(is,{alerts:e,loading:t,columns:s||[],onAlertIdClick:y})},{key:"settings",label:"Settings",children:n.jsx(un,{})}]}),n.jsx(cn,{isModalOpen:i,handleModalClose:C,selectedRow:w,fetchAlertLogs:()=>{},alertStatusList:m,alertStatusLoading:b,initialTab:f})]})}function un(){const[e,t]=h.useState([]),[s,r]=h.useState([]),[i,a]=h.useState([]),{rules:o}=fe();return h.useEffect(()=>{let l=!0;return(async()=>{try{const f=await o.getRules();if(!l)return;a(Array.isArray(f)?f:[]);const d=(f||[]).map((m,b)=>({RuleId:m.ruleId||m.ruleName||String(b),Name:m.ruleName||m.Name||"-",Description:m.ruleDesc||m.Description||"",SeverityId:0}));t(d.length?d:Re.rules);try{const m=await o.getLookups(),b=Array.isArray(m?.userRoles)?m.userRoles.map(y=>({userRoleId:y.userRoleId??y.id,userRoleName:y.userRoleName??y.name})):[];r(b.length?b:Re.userRoles)}catch{r(Re.userRoles)}}catch{t(Re.rules),r(Re.userRoles)}})(),()=>{l=!1}},[]),n.jsx(us,{severities:Re.severities,rules:e,userRoles:s,rawRules:i})}function hs(){const{alerts:e}=fe(),t=mt({queryKey:["alerts","list"],queryFn:()=>e.listAlerts(),staleTime:3e4});return{alerts:t.data??[],loading:t.isLoading,error:t.error,refetch:t.refetch}}function dn(e){const{alerts:t,loading:s,refetch:r}=hs();return n.jsx(yt,{alerts:t,loading:s,columns:e.columns,onRefetch:r})}function hn({tenant:e,apiDomain:t,rulesDomain:s,headers:r,alerts:i,loading:a,columns:o}){const[l]=h.useState(()=>new Cr),f=h.useMemo(()=>({alertsBaseUrl:t,rulesBaseUrl:s||t,headers:r||void 0}),[t,s,r]);return n.jsx(Ir,{client:l,children:n.jsx(Yt,{tenant:e,override:f,children:Array.isArray(i)?n.jsx(yt,{alerts:i,loading:!!a,columns:o}):n.jsx(dn,{columns:o})})})}function fn(e){const{alerts:t}=fe(),s=mt({queryKey:["alerts","report",e],queryFn:()=>t.getAlertsReport(e),staleTime:6e4});return{data:s.data??[],loading:s.isLoading,error:s.error,refetch:s.refetch}}const mn=[{title:"ID",dataIndex:"id",key:"id",width:120},{title:"Priority",dataIndex:"priority",key:"priority",width:120},{title:"Timestamp",dataIndex:"timestamp",key:"timestamp",width:220},{title:"Status",dataIndex:"statusType",key:"statusType",width:140},{title:"Description",dataIndex:"description",key:"description"}];exports.AlertAssignment=os;exports.AlertConsole=yt;exports.AlertConsoleWidget=hn;exports.AlertsTable=lt;exports.ApiProvider=Yt;exports.ArchivedTable=is;exports.Clock=as;exports.DataTable=zt;exports.MyPreferencesPanel=cs;exports.SettingsPanel=ls;exports.SettingsTabs=us;exports.exampleAlertColumns=mn;exports.useAlertStatusList=ds;exports.useAlerts=hs;exports.useAlertsReport=fn;exports.useApi=fe;exports.useUpdateAlertStatus=pt;
|
|
7
2
|
//# sourceMappingURL=index.cjs.map
|