@perses-dev/alert-manager-plugin 0.1.0-rc.0 → 0.1.0-rc.1

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.
Files changed (27) hide show
  1. package/__mf/js/{AlertManager.3d597fc0.js → AlertManager.6c38fceb.js} +2 -2
  2. package/__mf/js/async/1728.58158ab6.js +1 -0
  3. package/__mf/js/async/3981.761f5a2b.js +4 -0
  4. package/__mf/js/async/{7984.1f786d95.js → 7984.b1a87327.js} +3 -3
  5. package/__mf/js/async/983.ca1d128d.js +1 -0
  6. package/__mf/js/async/{__federation_expose_AlertManagerAlertsExplorer.a0623742.js → __federation_expose_AlertManagerAlertsExplorer.5cf6e314.js} +2 -2
  7. package/__mf/js/async/{__federation_expose_AlertManagerAlertsQuery.aa08447d.js → __federation_expose_AlertManagerAlertsQuery.e886d5c1.js} +1 -1
  8. package/__mf/js/async/{__federation_expose_AlertManagerDatasource.fe5b34fb.js → __federation_expose_AlertManagerDatasource.6c182c38.js} +2 -2
  9. package/__mf/js/async/{__federation_expose_AlertManagerSilencesExplorer.ff9617f8.js → __federation_expose_AlertManagerSilencesExplorer.e0bd4474.js} +2 -2
  10. package/__mf/js/async/{__federation_expose_AlertManagerSilencesQuery.c9a49171.js → __federation_expose_AlertManagerSilencesQuery.959f4ae7.js} +2 -2
  11. package/__mf/js/async/__federation_expose_AlertTable.520c430a.js +1 -0
  12. package/__mf/js/async/{__federation_expose_SilenceTable.50ee1f33.js → __federation_expose_SilenceTable.36179ced.js} +2 -2
  13. package/__mf/js/{main.1ce74432.js → main.5d1c7c56.js} +2 -2
  14. package/mf-manifest.json +58 -58
  15. package/mf-stats.json +59 -59
  16. package/package.json +6 -6
  17. package/__mf/js/async/1728.a509c63a.js +0 -1
  18. package/__mf/js/async/9741.199e8033.js +0 -4
  19. package/__mf/js/async/983.77219d7b.js +0 -1
  20. package/__mf/js/async/__federation_expose_AlertTable.cac7598a.js +0 -1
  21. /package/__mf/js/async/{9741.199e8033.js.LICENSE.txt → 3981.761f5a2b.js.LICENSE.txt} +0 -0
  22. /package/__mf/js/async/{7984.1f786d95.js.LICENSE.txt → 7984.b1a87327.js.LICENSE.txt} +0 -0
  23. /package/__mf/js/async/{__federation_expose_AlertManagerAlertsExplorer.a0623742.js.LICENSE.txt → __federation_expose_AlertManagerAlertsExplorer.5cf6e314.js.LICENSE.txt} +0 -0
  24. /package/__mf/js/async/{__federation_expose_AlertManagerDatasource.fe5b34fb.js.LICENSE.txt → __federation_expose_AlertManagerDatasource.6c182c38.js.LICENSE.txt} +0 -0
  25. /package/__mf/js/async/{__federation_expose_AlertManagerSilencesExplorer.ff9617f8.js.LICENSE.txt → __federation_expose_AlertManagerSilencesExplorer.e0bd4474.js.LICENSE.txt} +0 -0
  26. /package/__mf/js/async/{__federation_expose_AlertManagerSilencesQuery.c9a49171.js.LICENSE.txt → __federation_expose_AlertManagerSilencesQuery.959f4ae7.js.LICENSE.txt} +0 -0
  27. /package/__mf/js/async/{__federation_expose_SilenceTable.50ee1f33.js.LICENSE.txt → __federation_expose_SilenceTable.36179ced.js.LICENSE.txt} +0 -0
@@ -1 +0,0 @@
1
- "use strict";(self.chunk_AlertManager=self.chunk_AlertManager||[]).push([["983"],{17635(e,l,n){n.d(l,{V:()=>k});var r=n(62540),t=n(74628),a=n(315),i=n(88091),s=n(47095),o=n(93648),c=n(10740),d=n(42927),u=n(67987),f=n(54227),h=n(76795),p=n(97653),v=n(6227),b=n(7013),g=n(3862),x=n(65168),j=n(46001),m=n(98029),A=n(86742),w=n(70451);let y={none:"None",asc:"Ascending",desc:"Descending"};function C(e){let{column:l,index:n,isFirst:v,isLast:b,sortModeLabels:g,defaultSortMode:A,getDisplayName:w,getHeaderPlaceholder:C,onUpdate:k,onRemove:S,onMoveUp:z,onMoveDown:M,renderNameField:I}=e;return(0,r.jsx)(t.A,{sx:{border:1,borderColor:"divider",borderRadius:1,p:2},children:(0,r.jsxs)(a.A,{spacing:2,children:[(0,r.jsxs)(a.A,{direction:"row",spacing:.5,alignItems:"center",justifyContent:"space-between",children:[(0,r.jsx)(i.A,{variant:"subtitle2",children:w(l)}),(0,r.jsxs)(a.A,{direction:"row",spacing:.5,children:[(0,r.jsx)(s.A,{size:"small",onClick:()=>z(n),disabled:v,"aria-label":"Move column up",children:(0,r.jsx)(x.default,{fontSize:"small"})}),(0,r.jsx)(s.A,{size:"small",onClick:()=>M(n),disabled:b,"aria-label":"Move column down",children:(0,r.jsx)(j.default,{fontSize:"small"})}),(0,r.jsx)(s.A,{size:"small",onClick:()=>S(n),"aria-label":"Remove column",children:(0,r.jsx)(m.default,{fontSize:"small"})})]})]}),(0,r.jsxs)(a.A,{direction:"row",spacing:1,children:[(0,r.jsx)(t.A,{sx:{flex:1},children:I(l,n,k)}),(0,r.jsx)(o.A,{label:"Header",value:l.header??"",onChange:e=>k(n,l=>{l.header=e.target.value||void 0}),size:"small",sx:{flex:1},placeholder:C(l)})]}),(0,r.jsx)(c.A,{control:(0,r.jsx)(d.A,{checked:!1!==l.enableSorting,onChange:e=>k(n,l=>{l.enableSorting=!!e.target.checked&&void 0}),size:"small"}),label:"Allow header sorting"}),(0,r.jsxs)(a.A,{direction:"row",spacing:1,children:[(0,r.jsxs)(u.A,{size:"small",sx:{flex:1},children:[(0,r.jsx)(f.A,{id:`sort-mode-label-${n}`,children:"Sort mode"}),(0,r.jsx)(h.A,{labelId:`sort-mode-label-${n}`,value:l.sortMode??A,onChange:e=>k(n,l=>{l.sortMode=e.target.value}),label:"Sort mode",children:Object.entries(g).map(e=>{let[l,n]=e;return(0,r.jsx)(p.A,{value:l,children:n},l)})})]}),(0,r.jsxs)(u.A,{size:"small",sx:{flex:1},children:[(0,r.jsx)(f.A,{id:`default-sort-label-${n}`,children:"Default sort"}),(0,r.jsx)(h.A,{labelId:`default-sort-label-${n}`,value:l.sort??"none",onChange:e=>k(n,l=>{let n=e.target.value;l.sort="none"===n?void 0:n}),label:"Default sort",children:Object.entries(y).map(e=>{let[l,n]=e;return(0,r.jsx)(p.A,{value:l,children:n},l)})})]})]})]})})}function k(e){let{columns:l,description:n,sortModeLabels:s,defaultSortMode:o,getDisplayName:c,getHeaderPlaceholder:d,onAdd:u,onRemove:f,onUpdate:h,onMoveUp:p,onMoveDown:x,renderNameField:j}=e,m=(0,w.useRef)(0),y=(0,w.useRef)([]);for(;y.current.length<l.length;)y.current.push(m.current++);y.current.length=l.length;let k=(0,w.useCallback)(()=>{y.current.push(m.current++),u()},[u]),S=(0,w.useCallback)(e=>{y.current.splice(e,1),f(e)},[f]),z=(0,w.useCallback)(e=>{if(e<=0)return;let l=y.current,n=l.splice(e,1)[0];l.splice(e-1,0,n),p(e)},[p]),M=(0,w.useCallback)(e=>{let l=y.current;if(e>=l.length-1)return;let n=l.splice(e,1)[0];l.splice(e+1,0,n),x(e)},[x]);return(0,r.jsx)(g.OptionsEditorGroup,{title:"Columns",children:(0,r.jsxs)(a.A,{spacing:2,children:[(0,r.jsx)(i.A,{variant:"body2",color:"text.secondary",children:n}),l.map((e,n)=>(0,r.jsxs)(t.A,{children:[n>0&&(0,r.jsx)(v.A,{sx:{mb:2}}),(0,r.jsx)(C,{column:e,index:n,isFirst:0===n,isLast:n===l.length-1,sortModeLabels:s,defaultSortMode:o,getDisplayName:c,getHeaderPlaceholder:d,onUpdate:h,onRemove:S,onMoveUp:z,onMoveDown:M,renderNameField:j})]},y.current[n])),(0,r.jsx)(b.A,{variant:"outlined",size:"small",startIcon:(0,r.jsx)(A.default,{}),onClick:k,children:"Add column"})]})})}},26734(e,l,n){n.d(l,{W:()=>s});var r=n(62540),t=n(47601);let a={firing:{label:"Firing",color:"error"},suppressed:{label:"Silenced",color:"warning"},pending:{label:"Pending",color:"default"},resolved:{label:"Resolved",color:"success"},inactive:{label:"Inactive",color:"default"}},i={active:{label:"Active",color:"success"},expired:{label:"Expired",color:"default"},pending:{label:"Pending",color:"warning"}};function s(e){let{status:l,variant:n="alert"}=e,s=("silence"===n?i:a)[l],o=(null==s?void 0:s.label)??l,c=(null==s?void 0:s.color)??"default";return(0,r.jsx)(t.A,{label:o,color:c,size:"small"})}},44789(e,l,n){n.d(l,{_1:()=>c,Xe:()=>p,_X:()=>v,M1:()=>g,qu:()=>s,IU:()=>x,Fe:()=>u,BS:()=>f,Ig:()=>b,_m:()=>d,nW:()=>o});var r=n(42648);async function t(e){if(!e.ok){let l=e.statusText;try{let n=await e.json();(null==n?void 0:n.message)&&(l=n.message)}catch{}throw Error(l)}}let a=async function(){for(var e=arguments.length,l=Array(e),n=0;n<e;n++)l[n]=arguments[n];let a=await (0,r.fetch)(...l);await t(a);try{return await a.json()}catch(e){throw console.error("Invalid response from server",e),Error("Invalid response from server")}};function i(e,l,n){let r,{datasourceUrl:t,headers:i={}}=n,s=`${t}${e}`,o=(r=new URLSearchParams,Object.entries(l).forEach(e=>{let[l,n]=e;if(void 0!==n){if(Array.isArray(n))return void n.forEach(e=>r.append(l,String(e)));r.append(l,String(n))}}),r).toString();return""!==o&&(s+=`?${o}`),a(s,{method:"GET",headers:i})}function s(e,l){return i("/api/v2/alerts",e??{},l??{datasourceUrl:""})}function o(e,l){return i("/api/v2/silences",e??{},l??{datasourceUrl:""})}function c(e,l){return i(`/api/v2/silence/${encodeURIComponent(e)}`,{},l)}function d(e,l){let{datasourceUrl:n,headers:r={}}=l;return a(`${n}/api/v2/silences`,{method:"POST",headers:{...r,"Content-Type":"application/json"},body:JSON.stringify(e)})}async function u(e,l){let{datasourceUrl:n,headers:a={}}=l,i=await (0,r.fetch)(`${n}/api/v2/silence/${encodeURIComponent(e)}`,{method:"DELETE",headers:a});await t(i)}function f(e){return i("/api/v2/status",{},e)}var h=n(39420);let p="AlertManagerDatasource",v={kind:p};function b(e){return!(0,h.isVariableDatasource)(e)&&void 0===e.name}function g(e){return(0,h.isVariableDatasource)(e)||e.kind===p}function x(e){var l,n;let r=null==(n=e[0])||null==(l=n.definition)?void 0:l.spec;if(r&&"object"==typeof r&&"plugin"in r){let e=r.plugin;if(e&&"object"==typeof e&&"spec"in e){let l=e.spec;if(l&&"object"==typeof l&&"datasource"in l){let e=l.datasource;if(e&&"object"==typeof e&&"kind"in e)return e}}}return v}}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.chunk_AlertManager=self.chunk_AlertManager||[]).push([["2827"],{50707(e,l,n){n.d(l,{K:()=>C});var t=n(62540),a=n(92890),r=n(91467),s=n(66834),i=n(315),o=n(88091),u=n(7013),c=n(93648),d=n(39750),m=n(86742),p=n(70451),h=n(67987),g=n(54227),x=n(76795),b=n(97653),f=n(47095),j=n(98029);function v(e){let{matcher:l,onChange:n,onRemove:a}=e,r=(0,p.useId)();return(0,t.jsxs)(i.A,{direction:"row",spacing:1,alignItems:"center",children:[(0,t.jsx)(c.A,{label:"Label name",value:l.name,onChange:e=>{n({...l,name:e.target.value})},size:"small",sx:{minWidth:150}}),(0,t.jsxs)(h.A,{size:"small",sx:{minWidth:80},children:[(0,t.jsx)(g.A,{id:r,children:"Match"}),(0,t.jsxs)(x.A,{labelId:r,value:l.isRegex?l.isEqual?"=~":"!~":l.isEqual?"=":"!=",onChange:e=>{let{isEqual:t,isRegex:a}=function(e){switch(e){case"=":return{isEqual:!0,isRegex:!1};case"!=":return{isEqual:!1,isRegex:!1};case"=~":return{isEqual:!0,isRegex:!0};case"!~":return{isEqual:!1,isRegex:!0}}}(e.target.value);n({...l,isEqual:t,isRegex:a})},label:"Match",children:[(0,t.jsx)(b.A,{value:"=",children:"="}),(0,t.jsx)(b.A,{value:"!=",children:"!="}),(0,t.jsx)(b.A,{value:"=~",children:"=~"}),(0,t.jsx)(b.A,{value:"!~",children:"!~"})]})]}),(0,t.jsx)(c.A,{label:"Value",value:l.value,onChange:e=>{n({...l,value:e.target.value})},size:"small",sx:{minWidth:200}}),(0,t.jsx)(f.A,{onClick:a,size:"small","aria-label":"Remove matcher",children:(0,t.jsx)(j.default,{fontSize:"small"})})]})}let A={name:"",value:"",isEqual:!0,isRegex:!1};function y(e){let l=e=>String(e).padStart(2,"0");return`${e.getFullYear()}-${l(e.getMonth()+1)}-${l(e.getDate())}T${l(e.getHours())}:${l(e.getMinutes())}`}function C(e){var l,n,h;let g,{open:x,onClose:b,onSubmit:f,initialSilence:j}=e,[C,k]=(0,p.useState)((null==j||null==(l=j.matchers)?void 0:l.length)?j.matchers.map(e=>({name:e.name,value:e.value,isEqual:e.isEqual,isRegex:e.isRegex})):[{...A}]),[w,M]=(0,p.useState)((null==j||null==(n=j.startsAt)?void 0:n.slice(0,16))??y(new Date)),[S,z]=(0,p.useState)((null==j||null==(h=j.endsAt)?void 0:h.slice(0,16))??((g=new Date).setMinutes(g.getMinutes()+30),y(g))),[N,$]=(0,p.useState)((null==j?void 0:j.createdBy)??""),[O,R]=(0,p.useState)((null==j?void 0:j.comment)??""),E=new Date(w),I=new Date(S),D=!isNaN(E.getTime())&&!isNaN(I.getTime())&&I.getTime()>E.getTime(),K=C.length>0&&C.every(e=>e.name.length>0)&&N.length>0&&D;return(0,t.jsxs)(a.A,{open:x,onClose:b,maxWidth:"md",fullWidth:!0,children:[(0,t.jsx)(r.A,{children:(null==j?void 0:j.id)?"Edit Silence":"Create Silence"}),(0,t.jsx)(s.A,{children:(0,t.jsxs)(i.A,{spacing:2,sx:{mt:1},children:[(0,t.jsx)(o.A,{variant:"subtitle2",children:"Matchers"}),C.map((e,l)=>(0,t.jsx)(v,{matcher:e,onChange:e=>{let n;(n=[...C])[l]=e,k(n)},onRemove:()=>{k(C.filter((e,n)=>n!==l))}},l)),(0,t.jsx)(u.A,{startIcon:(0,t.jsx)(m.default,{}),onClick:()=>{k([...C,{...A}])},variant:"outlined",size:"small",children:"Add Matcher"}),(0,t.jsxs)(i.A,{direction:"row",spacing:2,children:[(0,t.jsx)(c.A,{label:"Start",type:"datetime-local",value:w,onChange:e=>M(e.target.value),size:"small",InputLabelProps:{shrink:!0},sx:{flex:1}}),(0,t.jsx)(c.A,{label:"End",type:"datetime-local",value:S,onChange:e=>z(e.target.value),size:"small",InputLabelProps:{shrink:!0},sx:{flex:1}})]}),(0,t.jsx)(c.A,{label:"Creator",value:N,onChange:e=>$(e.target.value),size:"small",required:!0}),(0,t.jsx)(c.A,{label:"Comment",value:O,onChange:e=>R(e.target.value),size:"small",multiline:!0,rows:2})]})}),(0,t.jsxs)(d.A,{children:[(0,t.jsx)(u.A,{onClick:b,children:"Cancel"}),(0,t.jsx)(u.A,{onClick:()=>{let e=new Date(w),l=new Date(S);isNaN(e.getTime())||isNaN(l.getTime())||f({id:null==j?void 0:j.id,matchers:C.map(e=>({name:e.name,value:e.value,isEqual:e.isEqual,isRegex:e.isRegex})),startsAt:e.toISOString(),endsAt:l.toISOString(),createdBy:N,comment:O})},variant:"contained",disabled:!K,children:(null==j?void 0:j.id)?"Update":"Create"})]})]})}},70376(e,l,n){n.r(l),n.d(l,{AlertTable:()=>eA});var t=n(62540),a=n(93648),r=n(38662),s=n(70451),i=n(17635);let o={alphabetical:"Alphabetical",numeric:"Numeric",severity:"Severity (critical → other)",status:"Status (firing → resolved)"};var u=n(67987),c=n(54227),d=n(76795),m=n(97653),p=n(88091),h=n(5611),g=n(47601),x=n(3862);let b={none:"No deduplication. All alerts from all datasources are shown as-is.",fingerprint:"Alerts with the same fingerprint from different datasources are merged. This is the default.",labels:"Alerts are considered duplicates when all specified label values match."};var f=n(74628),j=n(315),v=n(47095),A=n(10740),y=n(42927),C=n(7013),k=n(6227),w=n(98029),M=n(86742);let S={auto:"Auto (hash-derived colors)",severity:"Severity (built-in defaults)",manual:"Manual (overrides only)"};function z(e){let{mapping:l,index:n,onUpdate:r,onRemove:i}=e,o=(0,s.useCallback)(()=>{r(n,e=>{e.overrides||(e.overrides=[]),e.overrides.push({value:"",isRegex:!1,color:"#1976d2"})})},[n,r]),h=(0,s.useCallback)(e=>{r(n,l=>{var n;null==(n=l.overrides)||n.splice(e,1)})},[n,r]),g=(0,s.useCallback)((e,l,t)=>{r(n,n=>{var a;let r=null==(a=n.overrides)?void 0:a[e];r&&("isRegex"===l?r.isRegex=t:r[l]=t)})},[n,r]);return(0,t.jsx)(f.A,{sx:{border:1,borderColor:"divider",borderRadius:1,p:2},children:(0,t.jsxs)(j.A,{spacing:2,children:[(0,t.jsxs)(j.A,{direction:"row",spacing:1,alignItems:"center",justifyContent:"space-between",children:[(0,t.jsx)(p.A,{variant:"subtitle2",children:l.labelKey||"New label"}),(0,t.jsx)(v.A,{size:"small",onClick:()=>i(n),"aria-label":"Remove label mapping",children:(0,t.jsx)(w.default,{fontSize:"small"})})]}),(0,t.jsx)(a.A,{label:"Label key",value:l.labelKey,onChange:e=>r(n,l=>{l.labelKey=e.target.value}),size:"small",fullWidth:!0}),(0,t.jsxs)(u.A,{size:"small",fullWidth:!0,children:[(0,t.jsx)(c.A,{id:`color-mode-label-${n}`,children:"Mode"}),(0,t.jsx)(d.A,{labelId:`color-mode-label-${n}`,value:l.mode,onChange:e=>r(n,l=>{l.mode=e.target.value}),label:"Mode",children:Object.keys(S).map(e=>(0,t.jsx)(m.A,{value:e,children:S[e]},e))})]}),(0,t.jsxs)(f.A,{children:[(0,t.jsx)(p.A,{variant:"body2",color:"text.secondary",sx:{mb:1},children:"Overrides"}),(0,t.jsxs)(j.A,{spacing:1,children:[(l.overrides??[]).map((e,l)=>(0,t.jsxs)(j.A,{direction:"row",spacing:1,alignItems:"center",children:[(0,t.jsx)(a.A,{label:"Value / Pattern",value:e.value,onChange:e=>g(l,"value",e.target.value),size:"small",sx:{flex:1}}),(0,t.jsx)(A.A,{control:(0,t.jsx)(y.A,{checked:e.isRegex,onChange:e=>g(l,"isRegex",e.target.checked),size:"small"}),label:"Regex"}),(0,t.jsx)("input",{type:"color",value:e.color,onChange:e=>g(l,"color",e.target.value),style:{width:36,height:28,border:"none",cursor:"pointer"}}),(0,t.jsx)(v.A,{size:"small",onClick:()=>h(l),"aria-label":"Remove override",children:(0,t.jsx)(w.default,{fontSize:"small"})})]},l)),(0,t.jsx)(C.A,{size:"small",startIcon:(0,t.jsx)(M.default,{}),onClick:o,children:"Add override"})]})]})]})})}let N={critical:"#d32f2f",error:"#ef6c00",warning:"#f9a825",info:"#0288d1",debug:"#7b1fa2",trace:"#6a1b9a",unknown:"#757575",other:"#9e9e9e"},$={critical:["critical","crit","fatal","emerg","alert","page"],error:["error","err","eror","high","severe"],warning:["warning","warn","medium"],info:["info","inf","information","informational","notice","low"],debug:["debug","dbug"],trace:["trace"],unknown:["unknown"],other:["other","none","minor",""]},O={};for(let[e,l]of Object.entries($)){let n=N[e];for(let e of l)O[e]=n}let R=["critical","error","warning","info","debug","trace","unknown","other"];function E(e){let l=e.toLowerCase();for(let[e,n]of Object.entries($))if(n.includes(l)){let l=R.indexOf(e);return -1===l?R.length:l}return R.length}function I(e){let l=5381;for(let n=0;n<e.length;n++)l=33*l^e.charCodeAt(n);let n=20+(l=Math.abs(l))%340,t=55+l%25,a=45+l%15;return`hsl(${n}, ${t}%, ${a}%)`}let D=new Map;function K(e,l){if(l.overrides){for(let n of l.overrides)if(function(e,l,n){if(n){let n=function(e){if(D.has(e))return D.get(e);D.size>=1e3&&D.clear();try{let l=new RegExp(e);return D.set(e,l),l}catch{return D.set(e,null),null}}(l);return null!==n&&n.test(e)}return e===l}(e,n.value,n.isRegex))return n.color}switch(l.mode){case"severity":return O[e.toLowerCase()]??I(e);case"auto":return I(e);case"manual":return"#9e9e9e"}}let W="__status__",L="__alertname__",G={firing:0,pending:1,suppressed:2,inactive:3,resolved:4};function T(e){return e.suppressed?"suppressed":e.state}function q(e){return"asc"===e?1:-1}function _(e,l){return void 0===e&&void 0===l?0:void 0===e?1:void 0===l?-1:e.localeCompare(l)}function V(e,l){let n=void 0!==e?parseFloat(e):NaN,t=void 0!==l?parseFloat(l):NaN;return isNaN(n)&&isNaN(t)?0:isNaN(n)?1:isNaN(t)?-1:n-t}function F(e){let l,n=0;for(let[t,a]of Object.entries(e))a>n&&(n=a,l=t);return{value:l,count:n}}function B(e){let l=5,n=0;for(let[t,a]of Object.entries(e)){let e=G[t]??5;e<l?(l=e,n=a):e===l&&(n+=a)}return{weight:l,count:n}}function Q(e){let l=R.length,n=0;for(let[t,a]of Object.entries(e)){let e=E(t);e<l?(l=e,n=a):e===l&&(n+=a)}return{weight:l,count:n}}let U=["silence","runbook"];function P(e,l){let n={total:0,firing:0,suppressed:0,pending:0},t={};if(t[W]={},t[L]={},l)for(let e of l)t[e]={};for(let a of e){if(n.total++,a.suppressed)n.suppressed++;else switch(a.state){case"firing":n.firing++;break;case"pending":n.pending++}let e=T(a);if(t[W][e]=(t[W][e]??0)+1,a.name&&(t[L][a.name]=(t[L][a.name]??0)+1),l)for(let e of l){let l=a.labels[e];if(void 0!==l){let n=t[e];n&&(n[l]=(n[l]??0)+1)}}}return n.labelCounts=t,n}let H={silence:"Silence alert",runbook:"View runbook"};var J=n(3399),Y=n(45271),X=n(65211),Z=n(2582),ee=n(347),el=n(91394),en=n(70561),et=n(62636),ea=n(5139),er=n(39420),es=n(91807),ei=n(81238),eo=n(90055),eu=n(87275),ec=n(11061),ed=n(98599),em=n(16979),ep=n(9323),eh=n(50707),eg=n(26734),ex=n(44789);function eb(e){let{summary:l}=e;return(0,t.jsxs)(j.A,{direction:"row",spacing:.5,children:[l.firing>0&&(0,t.jsx)(g.A,{label:`${l.firing} firing`,color:"error",size:"small"}),l.suppressed>0&&(0,t.jsx)(g.A,{label:`${l.suppressed} silenced`,color:"warning",size:"small"}),l.pending>0&&(0,t.jsx)(g.A,{label:`${l.pending} pending`,color:"default",size:"small"})]})}function ef(e){var l;let{summary:n,mapping:a}=e,r=null==(l=n.labelCounts)?void 0:l[a.labelKey];return r&&0!==Object.keys(r).length?(0,t.jsx)(j.A,{direction:"row",spacing:.5,children:Object.entries(r).sort((e,l)=>{let[,n]=e,[,t]=l;return t-n}).map(e=>{let[l,n]=e,r=K(l,a);return(0,t.jsx)(g.A,{label:`${n} ${l}`,size:"small",sx:{backgroundColor:r,color:"#fff",fontWeight:500}},l)})}):null}function ej(e){var l;let{alert:n,allowedActions:a,columnDefs:r,columnKeySet:s,mappingsByKey:i,runbookAnnotationKey:o,onSilence:u,duplicateCount:c,showDuplicates:d}=e,m=null==(l=n.annotations)?void 0:l[o],p=a.length>0;return(0,t.jsxs)(J.A,{hover:!0,children:[(0,t.jsx)(Y.A,{children:(0,t.jsx)(eg.W,{status:n.suppressed?"suppressed":n.state,variant:"alert"})}),(0,t.jsx)(Y.A,{children:n.name}),r.map((e,l)=>{let a=n.labels[e.name],r=i.get(e.name);if(void 0!==a&&r){let e=K(a,r);return(0,t.jsx)(Y.A,{children:(0,t.jsx)(g.A,{label:a,size:"small",sx:{backgroundColor:e,color:"#fff",fontWeight:500}})},l)}return(0,t.jsx)(Y.A,{children:a??""},l)}),d&&(0,t.jsx)(Y.A,{children:void 0!==c&&(0,t.jsx)(g.A,{label:`${c}`,size:"small",variant:"outlined",color:"info"})}),(0,t.jsx)(Y.A,{children:(0,t.jsx)(j.A,{direction:"row",spacing:.5,flexWrap:"wrap",useFlexGap:!0,children:Object.entries(n.labels).filter(e=>{let[l]=e;return"alertname"!==l&&!s.has(l)}).map(e=>{let[l,n]=e,a=i.get(l);if(a){let e=K(n,a);return(0,t.jsx)(g.A,{label:`${l}=${n}`,size:"small",sx:{backgroundColor:e,color:"#fff",fontWeight:500}},l)}return(0,t.jsx)(g.A,{label:`${l}=${n}`,size:"small",variant:"outlined"},l)})})}),p&&(0,t.jsx)(Y.A,{children:(0,t.jsxs)(j.A,{direction:"row",spacing:.5,children:[a.includes("silence")&&!n.suppressed&&(0,t.jsx)(X.A,{title:"Silence this alert",children:(0,t.jsx)(v.A,{size:"small","aria-label":"Silence alert",onClick:()=>u(n),children:(0,t.jsx)(ei.default,{fontSize:"small"})})}),a.includes("runbook")&&m&&(0,t.jsx)(X.A,{title:"View runbook",children:(0,t.jsx)(v.A,{size:"small","aria-label":"View runbook",component:"a",href:m,target:"_blank",rel:"noopener noreferrer",children:(0,t.jsx)(eo.default,{fontSize:"small"})})})]})})]})}function ev(e){let{group:l,expanded:n,allowedActions:a,columnDefs:r,columnKeySet:s,labelColorMappings:i,mappingsByKey:o,runbookAnnotationKey:u,onToggle:c,onSilence:d,duplicateCounts:m,showDuplicates:h}=e,x=a.length>0;return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(J.A,{sx:{cursor:"pointer","& > td":{fontWeight:"bold"}},onClick:c,children:[(0,t.jsx)(Y.A,{colSpan:2,children:(0,t.jsxs)(j.A,{direction:"row",spacing:1,alignItems:"center",children:[n?(0,t.jsx)(eu.default,{}):(0,t.jsx)(ec.default,{}),(0,t.jsx)(p.A,{variant:"body2",fontWeight:"bold",children:l.key||"Ungrouped"}),(0,t.jsx)(g.A,{label:`${l.summary.total}`,size:"small",variant:"outlined"})]})}),r.map((e,n)=>{var a;let r=null==(a=l.summary.labelCounts)?void 0:a[e.name],s=o.get(e.name);return r&&s?(0,t.jsx)(Y.A,{children:(0,t.jsx)(ef,{summary:l.summary,mapping:s})},n):r?(0,t.jsx)(Y.A,{children:(0,t.jsx)(j.A,{direction:"row",spacing:.5,children:Object.entries(r).sort((e,l)=>{let[,n]=e,[,t]=l;return t-n}).map(e=>{let[l,n]=e;return(0,t.jsx)(g.A,{label:`${n} ${l}`,size:"small",variant:"outlined"},l)})})},n):(0,t.jsx)(Y.A,{},n)}),h&&(0,t.jsx)(Y.A,{}),(0,t.jsx)(Y.A,{children:(0,t.jsxs)(j.A,{direction:"row",spacing:1,alignItems:"center",flexWrap:"wrap",useFlexGap:!0,children:[(0,t.jsx)(eb,{summary:l.summary}),i.filter(e=>!s.has(e.labelKey)).map(e=>(0,t.jsx)(ef,{summary:l.summary,mapping:e},e.labelKey))]})}),x&&(0,t.jsx)(Y.A,{})]}),n&&l.alerts.map((e,l)=>(0,t.jsx)(ej,{alert:e,allowedActions:a,columnDefs:r,columnKeySet:s,mappingsByKey:o,runbookAnnotationKey:u,onSilence:d,duplicateCount:m.get(e),showDuplicates:h},e.id??String(l)))]})}let eA={PanelComponent:function(e){let{spec:l,queryResults:n,contentDimensions:r}=e,i=(0,s.useMemo)(()=>(0,ex.IU)(n),[n]),{data:o}=(0,er.useDatasourceClient)(i),h=(0,es.useQueryClient)(),[g,b]=(0,s.useState)(null),A=(0,s.useRef)(0),y=(0,s.useCallback)(e=>{A.current++,b(e)},[]),[C,k]=(0,s.useState)(""),[w,M]=(0,s.useState)(new Set),{successSnackbar:S,exceptionSnackbar:z}=(0,x.useSnackbar)(),N=(0,s.useCallback)(async e=>{if(o)try{await o.createSilence(e),b(null),S("Silence created successfully"),h.invalidateQueries({queryKey:["query","AlertsQuery"]}),h.invalidateQueries({queryKey:["query","SilencesQuery"]})}catch(e){z(e)}},[o,h,S,z]),$=(0,s.useMemo)(()=>{if(g)return{matchers:Object.entries(g.labels).map(e=>{let[l,n]=e;return{name:l,value:n,isEqual:!0,isRegex:!1}})}},[g]),O=(0,s.useMemo)(()=>l.defaultGroupBy??["alertname"],[l.defaultGroupBy]),I=(0,s.useMemo)(()=>[...new Set(O.flatMap(e=>(0,er.parseVariables)(e)))],[O]),D=(0,er.useAllVariableValues)(I),K=(0,s.useMemo)(()=>{let e=[];for(let l of O){let n=(0,er.parseVariables)(l);if(0===n.length)e.push(l);else if(1===n.length&&(l===`$${n[0]}`||l===`\${${n[0]}}`)){let l=D[n[0]??""];(null==l?void 0:l.value)&&(Array.isArray(l.value)?e.push(...l.value):e.push(l.value))}else{let n=(0,er.replaceVariablesInString)(l,D);n&&e.push(n)}}return e},[O,D]),[H,ei]=(0,s.useState)(K);(0,s.useEffect)(()=>{ei(K)},[K]);let eo=(0,s.useMemo)(()=>l.allowedActions??U,[l.allowedActions]),eu=eo.length>0,ec=l.runbookAnnotationKey||"runbook_url",eg=(0,s.useMemo)(()=>l.columns??[],[l.columns]),eb=(0,s.useMemo)(()=>new Set(eg.map(e=>e.name)),[eg]),ef=(0,s.useMemo)(()=>l.labelColorMappings??[],[l.labelColorMappings]),ej=(0,s.useMemo)(()=>ef.map(e=>e.labelKey),[ef]),eA=(0,s.useMemo)(()=>new Map(ef.map(e=>[e.labelKey,e])),[ef]),ey=(0,s.useMemo)(()=>[...new Set([...ej,...eg.map(e=>e.name)])],[ej,eg]),eC=(0,s.useMemo)(()=>{let e=eg.find(e=>e.sort&&!1!==e.enableSorting);return(null==e?void 0:e.sort)?{columnName:e.name,direction:e.sort,mode:e.sortMode??"alphabetical"}:null},[eg]),[ek,ew]=(0,s.useState)(eC),eM=(0,s.useCallback)(function(e){let l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"alphabetical";ew(n=>(null==n?void 0:n.columnName)===e?"asc"===n.direction?{...n,direction:"desc"}:null:{columnName:e,direction:"asc",mode:l})},[]),eS=(0,s.useMemo)(()=>n.flatMap(e=>{var l;return(null==(l=e.data)?void 0:l.alerts)??[]}),[n]),ez=(0,s.useMemo)(()=>l.deduplication??{mode:"fingerprint"},[l.deduplication]),eN=(0,s.useMemo)(()=>(function(e,l){if(0===e.length||"none"===l.mode)return{alerts:e,duplicateCounts:new Map};let n=new Map,t=new Map,a=[];for(let r of e){let e;e="labels"===l.mode&&l.labels?l.labels.map(e=>`${e}=${r.labels[e]??""}`).join(","):r.id?r.id:JSON.stringify(r.labels),n.has(e)?t.set(e,(t.get(e)??1)+1):(n.set(e,r),t.set(e,1),a.push(r))}let r=new Map;for(let[e,l]of n){let n=t.get(e)??1;n>1&&r.set(l,n)}return{alerts:a,duplicateCounts:r}})(eS,ez),[eS,ez]),e$=eN.alerts,eO=eN.duplicateCounts,eR=eO.size>0,eE=(0,s.useMemo)(()=>{let e=C.trim().toLowerCase();return e?e$.filter(l=>!!(l.state.toLowerCase().includes(e)||l.suppressed&&("suppressed".includes(e)||"silenced".includes(e))||Object.values(l.labels).some(l=>l.toLowerCase().includes(e))||l.annotations&&Object.values(l.annotations).some(l=>l.toLowerCase().includes(e)))):e$},[e$,C]),eI=(0,s.useMemo)(()=>(function(e){let l=new Set;for(let n of e)for(let e of Object.keys(n.labels))l.add(e);return Array.from(l).sort()})(eE),[eE]),eD=(0,s.useMemo)(()=>{let e;if(0===H.length)e=[{key:"",alerts:[...eE],summary:P(eE,ey)}];else{let l=new Map;for(let e of eE){let n=function(e,l){return l.map(l=>`${l}=${e.labels[l]??""}`).join(",")}(e,H),t=l.get(n)??[];t.push(e),l.set(n,t)}e=Array.from(l.entries()).map(e=>{let[l,n]=e;return{key:l,alerts:n,summary:P(n,ey)}})}if(ek){for(let l of e)l.alerts.sort((e,l)=>(function(e,l,n){var t,a;let r;if(n.columnName===W)return t=T(e),a=T(l),((void 0!==t?G[t]??5:5)-(void 0!==a?G[a]??5:5))*q(n.direction);if(n.columnName===L)return _(e.name,l.name)*q(n.direction);let s=e.labels[n.columnName],i=l.labels[n.columnName];switch(n.mode){case"numeric":r=V(s,i);break;case"severity":r=(void 0!==s?E(s):R.length)-(void 0!==i?E(i):R.length);break;default:r=_(s,i)}return r*q(n.direction)})(e,l,ek));e.sort((e,l)=>{var n,t;return function(e,l,n){let t,a=!e||0===Object.keys(e).length,r=!l||0===Object.keys(l).length;if(a&&r)return 0;if(a)return 1;if(r)return -1;switch(n.mode){case"status":{let n=B(e),a=B(l);0==(t=n.weight-a.weight)&&(t=a.count-n.count);break}case"severity":{let n=Q(e),a=Q(l);0==(t=n.weight-a.weight)&&(t=a.count-n.count);break}case"numeric":{let t=F(e),a=F(l),r=V(t.value,a.value);if(0!==r)return r*q(n.direction);return a.count-t.count}default:{let t=F(e),a=F(l),r=_(t.value,a.value);if(0!==r)return r*q(n.direction);return a.count-t.count}}return t*q(n.direction)}(null==(n=e.summary.labelCounts)?void 0:n[ek.columnName],null==(t=l.summary.labelCounts)?void 0:t[ek.columnName],ek)})}return e},[eE,H,ey,ek]),eK=(0,s.useRef)("");(0,s.useEffect)(()=>{let e=eD.map(e=>e.key).join("\0");e!==eK.current&&(eK.current=e,1===eD.length?M(new Set(eD.map(e=>e.key))):M(new Set))},[eD]);let eW=(0,s.useCallback)(e=>{M(l=>{let n=new Set(l);return n.has(e)?n.delete(e):n.add(e),n})},[]),eL=(0,s.useCallback)(()=>{M(new Set(eD.map(e=>e.key)))},[eD]),eG=(0,s.useCallback)(()=>{M(new Set)},[]);return 0===eS.length?(0,t.jsx)(f.A,{sx:{display:"flex",justifyContent:"center",alignItems:"center",height:(null==r?void 0:r.height)??"100%"},children:(0,t.jsx)(p.A,{children:"No alerts to display"})}):(0,t.jsxs)(j.A,{spacing:1,sx:{height:null==r?void 0:r.height,overflow:"auto"},children:[(0,t.jsxs)(j.A,{direction:"row",spacing:2,alignItems:"center",sx:{px:1,pt:1},children:[(0,t.jsx)(a.A,{size:"small",placeholder:"Search alerts...",value:C,onChange:e=>k(e.target.value),sx:{minWidth:200},slotProps:{htmlInput:{"aria-label":"Search alerts"},input:{startAdornment:(0,t.jsx)(Z.A,{position:"start",children:(0,t.jsx)(ed.default,{fontSize:"small"})})}}}),(0,t.jsxs)(u.A,{size:"small",sx:{minWidth:200},children:[(0,t.jsx)(c.A,{id:"group-by-label",children:"Group by"}),(0,t.jsx)(d.A,{labelId:"group-by-label",multiple:!0,value:H,onChange:e=>{let l=e.target.value;ei("string"==typeof l?l.split(","):l)},label:"Group by",renderValue:e=>e.join(", "),children:eI.map(e=>(0,t.jsx)(m.A,{value:e,children:e},e))})]}),(0,t.jsxs)(p.A,{variant:"body2",color:"text.secondary",sx:{flexGrow:1},children:[eE.length," alert",1!==eE.length?"s":""," in ",eD.length," group",1!==eD.length?"s":""]}),(0,t.jsxs)(j.A,{direction:"row",spacing:.5,children:[(0,t.jsx)(X.A,{title:"Expand all groups",children:(0,t.jsx)(v.A,{size:"small","aria-label":"Expand all groups",onClick:eL,children:(0,t.jsx)(ep.default,{fontSize:"small"})})}),(0,t.jsx)(X.A,{title:"Collapse all groups",children:(0,t.jsx)(v.A,{size:"small","aria-label":"Collapse all groups",onClick:eG,children:(0,t.jsx)(em.default,{fontSize:"small"})})})]})]}),(0,t.jsx)(ee.A,{children:(0,t.jsxs)(el.A,{size:"small",stickyHeader:!0,children:[(0,t.jsx)(en.A,{children:(0,t.jsxs)(J.A,{children:[(0,t.jsx)(Y.A,{sortDirection:(null==ek?void 0:ek.columnName)===W&&ek.direction,children:(0,t.jsx)(et.A,{active:(null==ek?void 0:ek.columnName)===W,direction:(null==ek?void 0:ek.columnName)===W?ek.direction:"asc",onClick:()=>eM(W,"status"),children:"Status"})}),(0,t.jsx)(Y.A,{sortDirection:(null==ek?void 0:ek.columnName)===L&&ek.direction,children:(0,t.jsx)(et.A,{active:(null==ek?void 0:ek.columnName)===L,direction:(null==ek?void 0:ek.columnName)===L?ek.direction:"asc",onClick:()=>eM(L,"alphabetical"),children:"Alert Name"})}),eg.map((e,l)=>(0,t.jsx)(Y.A,{sortDirection:(null==ek?void 0:ek.columnName)===e.name&&ek.direction,children:!1!==e.enableSorting?(0,t.jsx)(et.A,{active:(null==ek?void 0:ek.columnName)===e.name,direction:(null==ek?void 0:ek.columnName)===e.name?ek.direction:"asc",onClick:()=>eM(e.name,e.sortMode),children:e.header??e.name}):e.header??e.name},l)),eR&&(0,t.jsx)(Y.A,{children:"Duplicates"}),(0,t.jsx)(Y.A,{children:"Labels"}),eu&&(0,t.jsx)(Y.A,{children:"Actions"})]})}),(0,t.jsx)(ea.A,{children:0===eE.length?(0,t.jsx)(J.A,{children:(0,t.jsx)(Y.A,{colSpan:99,align:"center",sx:{py:4},children:(0,t.jsx)(p.A,{color:"text.secondary",children:"No matching alerts"})})}):eD.map(e=>(0,t.jsx)(ev,{group:e,expanded:w.has(e.key),allowedActions:eo,columnDefs:eg,columnKeySet:eb,labelColorMappings:ef,mappingsByKey:eA,runbookAnnotationKey:ec,onToggle:()=>eW(e.key),onSilence:y,duplicateCounts:eO,showDuplicates:eR},e.key))})]})}),(0,t.jsx)(eh.K,{open:!!g,onClose:()=>b(null),onSubmit:N,initialSilence:$},A.current)]})},supportedQueryTypes:["AlertsQuery"],panelOptionsEditorComponents:[{label:"General",content:function(e){let{value:l,onChange:n}=e,i=l.allowedActions??U,o=l.defaultGroupBy??["alertname"],u=(0,s.useCallback)((e,t)=>{n((0,r.jM)(l,e=>{e.defaultGroupBy=t.length>0?t:void 0}))},[l,n]),c=(0,s.useCallback)(e=>{n((0,r.jM)(l,l=>{l.runbookAnnotationKey=e.target.value.trim()||void 0}))},[l,n]),d=(0,s.useCallback)((e,t)=>{n((0,r.jM)(l,l=>{let n=l.allowedActions??[...U];if(t)n.includes(e)||n.push(e);else{let l=n.indexOf(e);l>=0&&n.splice(l,1)}l.allowedActions=n}))},[l,n]);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(x.OptionsEditorGroup,{title:"Group By",children:(0,t.jsx)(h.A,{multiple:!0,freeSolo:!0,options:[],value:o,onChange:u,renderTags:(e,l)=>e.map((e,n)=>{let{key:a,...r}=l({index:n}),s=e.includes("$");return(0,t.jsx)(g.A,{label:e,size:"small",variant:s?"filled":"outlined",color:s?"primary":"default",...r},a)}),renderInput:e=>(0,t.jsx)(a.A,{...e,size:"small",placeholder:"Type a label key or $variable and press Enter",helperText:"Label keys to group alerts by. Supports $variable interpolation."})})}),(0,t.jsx)(x.OptionsEditorGroup,{title:"Actions",children:U.map(e=>(0,t.jsx)(A.A,{control:(0,t.jsx)(y.A,{checked:i.includes(e),onChange:l=>d(e,l.target.checked),size:"small"}),label:H[e]},e))}),(0,t.jsx)(x.OptionsEditorGroup,{title:"Runbook",children:(0,t.jsx)(a.A,{size:"small",fullWidth:!0,value:l.runbookAnnotationKey??"",onChange:c,placeholder:"runbook_url",helperText:"Annotation key used to extract the runbook URL. Defaults to runbook_url."})})]})}},{label:"Columns",content:function(e){let{value:l,onChange:n}=e,u=l.columns??[],c=(0,s.useCallback)(()=>{n((0,r.jM)(l,e=>{e.columns||(e.columns=[]),e.columns.push({name:""})}))},[l,n]),d=(0,s.useCallback)(e=>{n((0,r.jM)(l,l=>{var n;null==(n=l.columns)||n.splice(e,1)}))},[l,n]),m=(0,s.useCallback)((e,t)=>{n((0,r.jM)(l,l=>{var n;let a=null==(n=l.columns)?void 0:n[e];a&&t(a)}))},[l,n]),p=(0,s.useCallback)(e=>{e<=0||n((0,r.jM)(l,l=>{if(!l.columns)return;let n=l.columns.splice(e,1)[0];l.columns.splice(e-1,0,n)}))},[l,n]),h=(0,s.useCallback)(e=>{n((0,r.jM)(l,l=>{if(!l.columns||e>=l.columns.length-1)return;let n=l.columns.splice(e,1)[0];l.columns.splice(e+1,0,n)}))},[l,n]);return(0,t.jsx)(i.V,{columns:u,description:"Status and Alert Name are always shown. Add extra columns below.",sortModeLabels:o,defaultSortMode:"alphabetical",getDisplayName:e=>e.header||e.name||"New column",getHeaderPlaceholder:e=>e.name||"Column header",onAdd:c,onRemove:d,onUpdate:m,onMoveUp:p,onMoveDown:h,renderNameField:(e,l,n)=>(0,t.jsx)(a.A,{label:"Label key",value:e.name,onChange:e=>n(l,l=>{l.name=e.target.value}),size:"small",fullWidth:!0})})}},{label:"Labels",content:function(e){let{value:l,onChange:n}=e,a=l.labelColorMappings??[],i=(0,s.useCallback)(()=>{n((0,r.jM)(l,e=>{e.labelColorMappings||(e.labelColorMappings=[]),e.labelColorMappings.push({labelKey:"",mode:"auto"})}))},[l,n]),o=(0,s.useCallback)(e=>{n((0,r.jM)(l,l=>{var n;null==(n=l.labelColorMappings)||n.splice(e,1)}))},[l,n]),u=(0,s.useCallback)((e,t)=>{n((0,r.jM)(l,l=>{var n;let a=null==(n=l.labelColorMappings)?void 0:n[e];a&&t(a)}))},[l,n]);return(0,t.jsx)(x.OptionsEditorGroup,{title:"Label Color Mappings",children:(0,t.jsxs)(j.A,{spacing:2,children:[0===a.length&&(0,t.jsx)(p.A,{variant:"body2",color:"text.secondary",children:"No label color mappings configured. Add one to color label values in the table."}),a.map((e,l)=>(0,t.jsxs)(f.A,{children:[l>0&&(0,t.jsx)(k.A,{sx:{mb:2}}),(0,t.jsx)(z,{mapping:e,index:l,onUpdate:u,onRemove:o})]},l)),(0,t.jsx)(C.A,{variant:"outlined",size:"small",startIcon:(0,t.jsx)(M.default,{}),onClick:i,children:"Add label mapping"})]})})}},{label:"Deduplication",content:function(e){let{value:l,onChange:n}=e,i=l.deduplication??{mode:"fingerprint"},o=(0,s.useCallback)(e=>{n((0,r.jM)(l,l=>{l.deduplication={mode:e},"labels"===e&&(l.deduplication.labels=l.deduplication.labels??[])}))},[l,n]),f=(0,s.useCallback)((e,t)=>{n((0,r.jM)(l,e=>{e.deduplication||(e.deduplication={mode:"labels"}),e.deduplication.labels=t.length>0?t:void 0}))},[l,n]);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(x.OptionsEditorGroup,{title:"Mode",children:[(0,t.jsxs)(u.A,{size:"small",fullWidth:!0,children:[(0,t.jsx)(c.A,{id:"dedup-mode-label",children:"Deduplication Mode"}),(0,t.jsxs)(d.A,{labelId:"dedup-mode-label",value:i.mode,label:"Deduplication Mode",onChange:e=>o(e.target.value),children:[(0,t.jsx)(m.A,{value:"none",children:"None"}),(0,t.jsx)(m.A,{value:"fingerprint",children:"Fingerprint"}),(0,t.jsx)(m.A,{value:"labels",children:"Labels"})]})]}),(0,t.jsx)(p.A,{variant:"body2",color:"text.secondary",sx:{mt:1},children:b[i.mode]})]}),"labels"===i.mode&&(0,t.jsx)(x.OptionsEditorGroup,{title:"Deduplication Labels",children:(0,t.jsx)(h.A,{multiple:!0,freeSolo:!0,options:[],value:i.labels??[],onChange:f,renderTags:(e,l)=>e.map((e,n)=>{let{key:a,...r}=l({index:n});return(0,t.jsx)(g.A,{label:e,size:"small",variant:"outlined",...r},a)}),renderInput:e=>(0,t.jsx)(a.A,{...e,size:"small",placeholder:"Type a label key and press Enter",helperText:"Alerts with identical values for all listed labels are considered duplicates."})})})]})}}],createInitialOptions:()=>({defaultGroupBy:["alertname"]})}}}]);