@perses-dev/prometheus-plugin 0.58.0-beta.2 → 0.58.0-beta.3

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 (26) hide show
  1. package/__mf/js/{Prometheus.e5d7ce90.js → Prometheus.e833859d.js} +2 -2
  2. package/__mf/js/async/{1728.bbe08f31.js → 1728.11ee7ff9.js} +1 -1
  3. package/__mf/js/async/{2177.adb95f75.js → 2177.a9ef2479.js} +2 -2
  4. package/__mf/js/async/{3613.8ccc0992.js → 3613.f0b10cb1.js} +3 -3
  5. package/__mf/js/async/8002.011a74d4.js +3 -0
  6. package/__mf/js/async/9020.311b6932.js +1 -0
  7. package/__mf/js/async/__federation_expose_PrometheusDatasource.534ca47d.js +1 -0
  8. package/__mf/js/async/__federation_expose_PrometheusExplorer.2c37dbd9.js +1 -0
  9. package/__mf/js/async/__federation_expose_PrometheusLabelNamesVariable.ffb9bbc3.js +1 -0
  10. package/__mf/js/async/__federation_expose_PrometheusLabelValuesVariable.a17f75cc.js +1 -0
  11. package/__mf/js/async/__federation_expose_PrometheusPromQLVariable.26f85fc6.js +1 -0
  12. package/__mf/js/async/__federation_expose_PrometheusTimeSeriesQuery.6626e886.js +1 -0
  13. package/__mf/js/{main.0a0f0efb.js → main.f4a1cbf1.js} +2 -2
  14. package/mf-manifest.json +49 -49
  15. package/mf-stats.json +50 -50
  16. package/package.json +7 -7
  17. package/__mf/js/async/7729.2e55d1c3.js +0 -3
  18. package/__mf/js/async/9020.058fd99c.js +0 -1
  19. package/__mf/js/async/__federation_expose_PrometheusDatasource.ef5f1df2.js +0 -1
  20. package/__mf/js/async/__federation_expose_PrometheusExplorer.e3461057.js +0 -1
  21. package/__mf/js/async/__federation_expose_PrometheusLabelNamesVariable.31fc9961.js +0 -1
  22. package/__mf/js/async/__federation_expose_PrometheusLabelValuesVariable.c3dbff14.js +0 -1
  23. package/__mf/js/async/__federation_expose_PrometheusPromQLVariable.cfc93e6f.js +0 -1
  24. package/__mf/js/async/__federation_expose_PrometheusTimeSeriesQuery.0e2db857.js +0 -1
  25. /package/__mf/js/async/{2177.adb95f75.js.LICENSE.txt → 2177.a9ef2479.js.LICENSE.txt} +0 -0
  26. /package/__mf/js/async/{3613.8ccc0992.js.LICENSE.txt → 3613.f0b10cb1.js.LICENSE.txt} +0 -0
@@ -1,9 +1,9 @@
1
- /*! For license information please see 3613.8ccc0992.js.LICENSE.txt */
2
- (self["chunk_Prometheus "]=self["chunk_Prometheus "]||[]).push([["3613"],{32189(e,t,n){"use strict";n.d(t,{A:()=>f});var r=n(70451),i=n(11750),a=n(81023),o=n(77308),s=n(72052),l=n(29009),u=n(46733);function c(e){return(0,u.Ay)("MuiCardContent",e)}(0,l.A)("MuiCardContent",["root"]);var d=n(62540);let p=(0,o.A)("div",{name:"MuiCardContent",slot:"Root",overridesResolver:(e,t)=>t.root})({padding:16,"&:last-child":{paddingBottom:24}}),f=r.forwardRef(function(e,t){let n=(0,s.b)({props:e,name:"MuiCardContent"}),{className:r,component:o="div",...l}=n,u={...n,component:o},f=(e=>{let{classes:t}=e;return(0,a.A)({root:["root"]},c,t)})(u);return(0,d.jsx)(p,{as:o,className:(0,i.A)(f.root,r),ownerState:u,ref:t,...l})})},35875(e,t,n){"use strict";n.d(t,{A:()=>v});var r=n(70451),i=n(81023),a=n(47599),o=n(88091),s=n(77308),l=n(72052),u=n(29009),c=n(46733);function d(e){return(0,c.Ay)("MuiCardHeader",e)}let p=(0,u.A)("MuiCardHeader",["root","avatar","action","content","title","subheader"]);var f=n(73397),h=n(62540);let g=(0,s.A)("div",{name:"MuiCardHeader",slot:"Root",overridesResolver:(e,t)=>[{[`& .${p.title}`]:t.title},{[`& .${p.subheader}`]:t.subheader},t.root]})({display:"flex",alignItems:"center",padding:16}),m=(0,s.A)("div",{name:"MuiCardHeader",slot:"Avatar",overridesResolver:(e,t)=>t.avatar})({display:"flex",flex:"0 0 auto",marginRight:16}),y=(0,s.A)("div",{name:"MuiCardHeader",slot:"Action",overridesResolver:(e,t)=>t.action})({flex:"0 0 auto",alignSelf:"flex-start",marginTop:-4,marginRight:-8,marginBottom:-4}),b=(0,s.A)("div",{name:"MuiCardHeader",slot:"Content",overridesResolver:(e,t)=>t.content})({flex:"1 1 auto",[`.${a.A.root}:where(& .${p.title})`]:{display:"block"},[`.${a.A.root}:where(& .${p.subheader})`]:{display:"block"}}),v=r.forwardRef(function(e,t){let n=(0,l.b)({props:e,name:"MuiCardHeader"}),{action:r,avatar:a,component:s="div",disableTypography:u=!1,subheader:c,subheaderTypographyProps:p,title:v,titleTypographyProps:x,slots:w={},slotProps:j={},...A}=n,S={...n,component:s,disableTypography:u},C=(e=>{let{classes:t}=e;return(0,i.A)({root:["root"],avatar:["avatar"],action:["action"],content:["content"],title:["title"],subheader:["subheader"]},d,t)})(S),E={slots:w,slotProps:{title:x,subheader:p,...j}},D=v,[k,O]=(0,f.A)("title",{className:C.title,elementType:o.A,externalForwardedProps:E,ownerState:S,additionalProps:{variant:a?"body2":"h5",component:"span"}});null==D||D.type===o.A||u||(D=(0,h.jsx)(k,{...O,children:D}));let P=c,[M,T]=(0,f.A)("subheader",{className:C.subheader,elementType:o.A,externalForwardedProps:E,ownerState:S,additionalProps:{variant:a?"body2":"body1",color:"textSecondary",component:"span"}});null==P||P.type===o.A||u||(P=(0,h.jsx)(M,{...T,children:P}));let[R,L]=(0,f.A)("root",{ref:t,className:C.root,elementType:g,externalForwardedProps:{...E,...A,component:s},ownerState:S}),[_,V]=(0,f.A)("avatar",{className:C.avatar,elementType:m,externalForwardedProps:E,ownerState:S}),[I,H]=(0,f.A)("content",{className:C.content,elementType:b,externalForwardedProps:E,ownerState:S}),[N,z]=(0,f.A)("action",{className:C.action,elementType:y,externalForwardedProps:E,ownerState:S});return(0,h.jsxs)(R,{...L,children:[a&&(0,h.jsx)(_,{...V,children:a}),(0,h.jsxs)(I,{...H,children:[D,P]}),r&&(0,h.jsx)(N,{...z,children:r})]})})},45158(e,t,n){"use strict";n.d(t,{A:()=>g});var r=n(70451),i=n(11750),a=n(81023),o=n(77308),s=n(72052),l=n(29009),u=n(46733);function c(e){return(0,u.Ay)("MuiFormGroup",e)}(0,l.A)("MuiFormGroup",["root","row","error"]);var d=n(42872),p=n(87842),f=n(62540);let h=(0,o.A)("div",{name:"MuiFormGroup",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.root,n.row&&t.row]}})({display:"flex",flexDirection:"column",flexWrap:"wrap",variants:[{props:{row:!0},style:{flexDirection:"row"}}]}),g=r.forwardRef(function(e,t){let n=(0,s.b)({props:e,name:"MuiFormGroup"}),{className:r,row:o=!1,...l}=n,u=(0,d.A)(),g=(0,p.A)({props:n,muiFormControl:u,states:["error"]}),m={...n,row:o,error:g.error},y=(e=>{let{classes:t,row:n,error:r}=e;return(0,a.A)({root:["root",n&&"row",r&&"error"]},c,t)})(m);return(0,f.jsx)(h,{className:(0,i.A)(y.root,r),ownerState:m,ref:t,...l})})},33276(e,t,n){"use strict";let r,i;n.r(t),n.d(t,{TIME_SHIFT_BACK_EVENT:()=>ic,DashboardDiscardChangesConfirmationDialog:()=>s_,usePanelGroupIds:()=>ee,EditDatasourcesButton:()=>o7,PanelGroupDialog:()=>s2,RepeatGridLayout:()=>ni,useDeletePanelDialog:()=>ev,EditJsonDialog:()=>sI,dispatchShortcutEvent:()=>iV,AddGroupButton:()=>eT,HeaderIconButton:()=>tJ,ARIA_LABEL_TEXT:()=>d,Row:()=>nt,createPanelDefinition:()=>R,useHotkey:()=>lu,useHotkeys:()=>r8,useDashboardDuration:()=>ew,EmptyDashboard:()=>rs,TOGGLE_THEME_EVENT:()=>ij,DashboardStickyToolbar:()=>sD,AnnotationProvider:()=>i1,TIME_PASTE_SHORTCUT:()=>iF,TOOLTIP_TEXT:()=>c,GridTitle:()=>ne,TOGGLE_EDIT_MODE_EVENT:()=>is,PANEL_EDIT_SHORTCUT:()=>iD,DEFAULT_DASHBOARD_DURATION:()=>"1h",HEADER_ACTIONS_CONTAINER_NAME:()=>f,TIME_ZOOM_IN_SHORTCUT:()=>iN,SaveChangesConfirmationDialog:()=>s7,TOGGLE_EDIT_MODE_SHORTCUT:()=>iC,buildShortcutOptions:()=>iT,PanelEditorContext:()=>sU,useDashboardStore:()=>B,usePanelKey:()=>ep,useEditJsonDialog:()=>eM,GO_EXPLORE_SHORTCUT:()=>lr,useExternalVariableDefinitions:()=>nw,useHotkeySequences:()=>ii,useSelectionItemActions:()=>t0,isPanelGroupItemIdEqual:()=>te,useAnnotationStoreCtx:()=>iK,useListPanelGroups:()=>en,GridItemContent:()=>t4,PANEL_DELETE_EVENT:()=>iv,REFRESH_DASHBOARD_SHORTCUT:()=>iS,generateId:()=>T,usePanelGroup:()=>er,useVariableDefinitionStates:()=>ny,Variable:()=>sv,PanelPreview:()=>sQ,DashboardContext:()=>$,VariableProvider:()=>nS,useAnnotationSpecs:()=>iJ,SHOW_SHORTCUTS_SHORTCUT:()=>lo,PANEL_EDIT_EVENT:()=>im,LeaveDialog:()=>sB,useViewPanelGroup:()=>eC,useListVariableState:()=>sx,BuiltinVariableAccordions:()=>n5,createModEnterHandler:()=>iI,useAnnotationsWithData:()=>iQ,DeletePanelDialog:()=>sT,DeletePanelGroupDialog:()=>sL,PANEL_DUPLICATE_SHORTCUT:()=>iO,VariableProviderWithQueryParams:()=>nC,useDashboardLinksActions:()=>Z,useListVariableListBoxContext:()=>sg,TIME_SHIFT_BACK_SHORTCUT:()=>iz,HotkeysProvider:()=>rg,GridLayout:()=>nr,ListVariableListBox:()=>sy,MAX_VARIABLE_WIDTH:()=>500,useDiscardChangesConfirmationDialog:()=>eO,PanelDrawer:()=>sX,TIME_ZOOM_IN_EVENT:()=>iu,VariableList:()=>sC,GO_PROFILE_SHORTCUT:()=>li,useVariableDefinitions:()=>nx,ViewDashboard:()=>lM,HEADER_MEDIUM_WIDTH:()=>220,useHotkeyRegistrations:()=>lf,SHOW_SHORTCUTS_EVENT:()=>iw,useVariableDefinitionActions:()=>nv,useDashboardShortcuts:()=>i7,HEADER_SMALL_WIDTH:()=>170,usePanelEditor:()=>ey,TIME_PASTE_EVENT:()=>ig,usePanelFocusHandlers:()=>ta,SAVE_DASHBOARD_EVENT:()=>ia,ListVariableListBoxProvider:()=>sm,VariableName:()=>rt,PANEL_DUPLICATE_EVENT:()=>ib,Panel:()=>t2,QuerySummaryTable:()=>s9,useFocusedPanel:()=>ti,PANEL_DELETE_SHORTCUT:()=>iP,useDashboardLinks:()=>Y,usePanelActions:()=>eg,TIME_SHIFT_FORWARD_EVENT:()=>id,TIME_RANGE_SHORTCUTS:()=>iW,formatForDisplay:()=>lD,useViewPanel:()=>eA,TIME_MAKE_ABSOLUTE_SHORTCUT:()=>iB,DatasourceStoreProvider:()=>s8,DashboardProvider:()=>G,requireShortcutSequence:()=>iL,GLOBAL_SHORTCUTS:()=>ll,DashboardToolbar:()=>sM,SAVE_DASHBOARD_SHORTCUT:()=>iA,VariableListItem:()=>sE,requireShortcutHotkey:()=>iR,PanelPluginLoader:()=>tc,DashboardLinksEditor:()=>rc,Prompt:()=>s$,EditDashboardLinksButton:()=>rp,useAnnotationStates:()=>iY,AddPanelButton:()=>eL,DEFAULT_REFRESH_INTERVAL:()=>"0s",useSaveChangesConfirmationDialog:()=>eD,VariableEditor:()=>n8,useAnnotationSpecAndState:()=>iZ,DatasourceEditor:()=>o5,SHORTCUT_CATEGORY_LABELS:()=>le,TIME_COPY_SHORTCUT:()=>iG,TIME_SHIFT_FORWARD_SHORTCUT:()=>i$,editButtonStyle:()=>p,TIME_COPY_EVENT:()=>ih,usePanel:()=>ef,EditJsonButton:()=>o6,useDeletePanelGroupDialog:()=>ed,DASHBOARD_SHORTCUTS:()=>iE,OPEN_SEARCH_SHORTCUT:()=>la,requireShortcutEvent:()=>i_,DownloadButton:()=>o4,SHORTCUT_CATEGORY_ORDER:()=>lt,Dashboard:()=>rl,GRID_LAYOUT_SMALL_BREAKPOINT:()=>"sm",PANEL_SHORTCUTS:()=>iM,PANEL_FULLSCREEN_SHORTCUT:()=>ik,GRID_LAYOUT_COLS:()=>I,useAnnotationActions:()=>iX,GO_HOME_SHORTCUT:()=>ln,GridContainer:()=>e2,PanelFocusProvider:()=>tr,useEditMode:()=>U,usePanelGroupEditor:()=>eu,TOGGLE_THEME_SHORTCUT:()=>ls,useDashboard:()=>i2,useVariableDefinitionAndState:()=>nb,QueryViewerDialog:()=>t9,REFRESH_DASHBOARD_EVENT:()=>io,useHotkeySequence:()=>lc,TIME_MAKE_ABSOLUTE_EVENT:()=>ip,useDashboardActions:()=>K,SaveDashboardButton:()=>se,PANEL_FULLSCREEN_EVENT:()=>iy,TIME_ZOOM_OUT_SHORTCUT:()=>iH,MIN_VARIABLE_WIDTH:()=>120,useVariableDefinitionStoreCtx:()=>nm,usePanelGroupActions:()=>ea,OPEN_SEARCH_EVENT:()=>ix,EditVariablesButton:()=>rn,useSaveDashboard:()=>i3,TIME_ZOOM_OUT_EVENT:()=>il});var a,o=n(62540),s=n(7013),l=n(2859),u=n(83026);let c={addPanel:"Add panel",addGroup:"Add panel group",editDatasources:"Edit datasources",editJson:"Edit JSON",editLinks:"Edit links",editVariables:"Edit variables",editAnnotations:"Edit annotations",viewJson:"View JSON",addPanelToGroup:"Add panel to group",deleteGroup:"Delete group",editGroup:"Edit group",moveGroupDown:"Move group down",moveGroupUp:"Move group up",viewPanel:"Toggle View Mode",editPanel:"Edit",duplicatePanel:"Duplicate",deletePanel:"Delete",movePanel:"Move",refreshVariableValues:"Refresh values",copyVariableValues:"Copy values to clipboard",queryView:"Open query view"},d={addPanelToGroup:e=>`add panel to group ${e}`,deleteGroup:e=>`delete group ${e}`,editGroup:e=>`edit group ${e}`,moveGroupDown:e=>`move group ${e} down`,moveGroupUp:e=>`move group ${e} up`,viewPanel:e=>e?`toggle panel ${e} view mode`:"toggle panel view mode",editPanel:e=>e?`edit panel ${e}`:"edit panel",duplicatePanel:e=>e?`duplicate panel ${e}`:"duplicate panel",deletePanel:e=>e?`delete panel ${e}`:"delete panel",showPanelActions:e=>e?`show panel actions for ${e}`:"show panel actions",movePanel:e=>e?`move panel ${e}`:"move panel",openQueryView:e=>e?`open query view for panel ${e}`:"open query view for panel"},p={whiteSpace:"nowrap",minWidth:"auto","& .MuiButton-startIcon":{marginRight:.5}},f="header-actions-container";var h=n(70451),g=n.n(h);let m=e=>{let t,n=new Set,r=(e,r)=>{let i="function"==typeof e?e(t):e;if(!Object.is(i,t)){let e=t;t=(null!=r?r:"object"!=typeof i||null===i)?i:Object.assign({},t,i),n.forEach(n=>n(t,e))}},i=()=>t,a={setState:r,getState:i,getInitialState:()=>o,subscribe:e=>(n.add(e),()=>n.delete(e)),destroy:()=>{n.clear()}},o=t=e(r,i,a);return a},y=e=>e?m(e):m;var b=n(95390);let{useDebugValue:v}=g(),{useSyncExternalStoreWithSelector:x}=b,w=e=>e;function j(e,t=w,n){let r=x(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return v(r),r}let A=new Map,S=e=>{let t=A.get(e);return t?Object.fromEntries(Object.entries(t.stores).map(([e,t])=>[e,t.getState()])):{}},C=(e,t={})=>(n,r,i)=>{let a,{enabled:o,anonymousActionType:s,store:l,...u}=t;try{a=null!=o&&o&&window.__REDUX_DEVTOOLS_EXTENSION__}catch(e){}if(!a)return e(n,r,i);let{connection:c,...d}=((e,t,n)=>{if(void 0===e)return{type:"untracked",connection:t.connect(n)};let r=A.get(n.name);if(r)return{type:"tracked",store:e,...r};let i={connection:t.connect(n),stores:{}};return A.set(n.name,i),{type:"tracked",store:e,...i}})(l,a,u),p=!0;i.setState=(e,t,a)=>{let o=n(e,t);if(!p)return o;let d=void 0===a?{type:s||"anonymous"}:"string"==typeof a?{type:a}:a;return void 0===l?null==c||c.send(d,r()):null==c||c.send({...d,type:`${l}/${d.type}`},{...S(u.name),[l]:i.getState()}),o};let f=(...e)=>{let t=p;p=!1,n(...e),p=t},h=e(i.setState,r,i);if("untracked"===d.type?null==c||c.init(h):(d.stores[d.store]=i,null==c||c.init(Object.fromEntries(Object.entries(d.stores).map(([e,t])=>[e,e===d.store?h:t.getState()])))),i.dispatchFromDevtools&&"function"==typeof i.dispatch){let e=i.dispatch;i.dispatch=(...t)=>{e(...t)}}return c.subscribe(e=>{var t;switch(e.type){case"ACTION":if("string"!=typeof e.payload)return void console.error("[zustand devtools middleware] Unsupported action format");return E(e.payload,e=>{if("__setState"===e.type){if(void 0===l)return void f(e.state);1!==Object.keys(e.state).length&&console.error(`
1
+ /*! For license information please see 3613.f0b10cb1.js.LICENSE.txt */
2
+ (self["chunk_Prometheus "]=self["chunk_Prometheus "]||[]).push([["3613"],{32189(e,t,n){"use strict";n.d(t,{A:()=>f});var r=n(70451),i=n(11750),a=n(81023),o=n(77308),s=n(72052),l=n(29009),u=n(46733);function c(e){return(0,u.Ay)("MuiCardContent",e)}(0,l.A)("MuiCardContent",["root"]);var d=n(62540);let p=(0,o.A)("div",{name:"MuiCardContent",slot:"Root",overridesResolver:(e,t)=>t.root})({padding:16,"&:last-child":{paddingBottom:24}}),f=r.forwardRef(function(e,t){let n=(0,s.b)({props:e,name:"MuiCardContent"}),{className:r,component:o="div",...l}=n,u={...n,component:o},f=(e=>{let{classes:t}=e;return(0,a.A)({root:["root"]},c,t)})(u);return(0,d.jsx)(p,{as:o,className:(0,i.A)(f.root,r),ownerState:u,ref:t,...l})})},35875(e,t,n){"use strict";n.d(t,{A:()=>v});var r=n(70451),i=n(81023),a=n(47599),o=n(88091),s=n(77308),l=n(72052),u=n(29009),c=n(46733);function d(e){return(0,c.Ay)("MuiCardHeader",e)}let p=(0,u.A)("MuiCardHeader",["root","avatar","action","content","title","subheader"]);var f=n(73397),h=n(62540);let g=(0,s.A)("div",{name:"MuiCardHeader",slot:"Root",overridesResolver:(e,t)=>[{[`& .${p.title}`]:t.title},{[`& .${p.subheader}`]:t.subheader},t.root]})({display:"flex",alignItems:"center",padding:16}),m=(0,s.A)("div",{name:"MuiCardHeader",slot:"Avatar",overridesResolver:(e,t)=>t.avatar})({display:"flex",flex:"0 0 auto",marginRight:16}),y=(0,s.A)("div",{name:"MuiCardHeader",slot:"Action",overridesResolver:(e,t)=>t.action})({flex:"0 0 auto",alignSelf:"flex-start",marginTop:-4,marginRight:-8,marginBottom:-4}),b=(0,s.A)("div",{name:"MuiCardHeader",slot:"Content",overridesResolver:(e,t)=>t.content})({flex:"1 1 auto",[`.${a.A.root}:where(& .${p.title})`]:{display:"block"},[`.${a.A.root}:where(& .${p.subheader})`]:{display:"block"}}),v=r.forwardRef(function(e,t){let n=(0,l.b)({props:e,name:"MuiCardHeader"}),{action:r,avatar:a,component:s="div",disableTypography:u=!1,subheader:c,subheaderTypographyProps:p,title:v,titleTypographyProps:x,slots:w={},slotProps:j={},...A}=n,S={...n,component:s,disableTypography:u},C=(e=>{let{classes:t}=e;return(0,i.A)({root:["root"],avatar:["avatar"],action:["action"],content:["content"],title:["title"],subheader:["subheader"]},d,t)})(S),E={slots:w,slotProps:{title:x,subheader:p,...j}},D=v,[k,O]=(0,f.A)("title",{className:C.title,elementType:o.A,externalForwardedProps:E,ownerState:S,additionalProps:{variant:a?"body2":"h5",component:"span"}});null==D||D.type===o.A||u||(D=(0,h.jsx)(k,{...O,children:D}));let P=c,[M,T]=(0,f.A)("subheader",{className:C.subheader,elementType:o.A,externalForwardedProps:E,ownerState:S,additionalProps:{variant:a?"body2":"body1",color:"textSecondary",component:"span"}});null==P||P.type===o.A||u||(P=(0,h.jsx)(M,{...T,children:P}));let[R,L]=(0,f.A)("root",{ref:t,className:C.root,elementType:g,externalForwardedProps:{...E,...A,component:s},ownerState:S}),[_,V]=(0,f.A)("avatar",{className:C.avatar,elementType:m,externalForwardedProps:E,ownerState:S}),[I,H]=(0,f.A)("content",{className:C.content,elementType:b,externalForwardedProps:E,ownerState:S}),[N,z]=(0,f.A)("action",{className:C.action,elementType:y,externalForwardedProps:E,ownerState:S});return(0,h.jsxs)(R,{...L,children:[a&&(0,h.jsx)(_,{...V,children:a}),(0,h.jsxs)(I,{...H,children:[D,P]}),r&&(0,h.jsx)(N,{...z,children:r})]})})},45158(e,t,n){"use strict";n.d(t,{A:()=>g});var r=n(70451),i=n(11750),a=n(81023),o=n(77308),s=n(72052),l=n(29009),u=n(46733);function c(e){return(0,u.Ay)("MuiFormGroup",e)}(0,l.A)("MuiFormGroup",["root","row","error"]);var d=n(42872),p=n(87842),f=n(62540);let h=(0,o.A)("div",{name:"MuiFormGroup",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.root,n.row&&t.row]}})({display:"flex",flexDirection:"column",flexWrap:"wrap",variants:[{props:{row:!0},style:{flexDirection:"row"}}]}),g=r.forwardRef(function(e,t){let n=(0,s.b)({props:e,name:"MuiFormGroup"}),{className:r,row:o=!1,...l}=n,u=(0,d.A)(),g=(0,p.A)({props:n,muiFormControl:u,states:["error"]}),m={...n,row:o,error:g.error},y=(e=>{let{classes:t,row:n,error:r}=e;return(0,a.A)({root:["root",n&&"row",r&&"error"]},c,t)})(m);return(0,f.jsx)(h,{className:(0,i.A)(y.root,r),ownerState:m,ref:t,...l})})},33276(e,t,n){"use strict";let r,i;n.r(t),n.d(t,{TIME_SHIFT_BACK_EVENT:()=>ic,DashboardDiscardChangesConfirmationDialog:()=>s_,usePanelGroupIds:()=>ee,EditDatasourcesButton:()=>o7,PanelGroupDialog:()=>s2,RepeatGridLayout:()=>ni,useDeletePanelDialog:()=>ev,EditJsonDialog:()=>sI,dispatchShortcutEvent:()=>iV,AddGroupButton:()=>eT,HeaderIconButton:()=>tJ,ARIA_LABEL_TEXT:()=>d,Row:()=>nt,createPanelDefinition:()=>R,useHotkey:()=>lu,useHotkeys:()=>r8,useDashboardDuration:()=>ew,EmptyDashboard:()=>rs,TOGGLE_THEME_EVENT:()=>ij,DashboardStickyToolbar:()=>sD,AnnotationProvider:()=>i1,TIME_PASTE_SHORTCUT:()=>iF,TOOLTIP_TEXT:()=>c,GridTitle:()=>ne,TOGGLE_EDIT_MODE_EVENT:()=>is,PANEL_EDIT_SHORTCUT:()=>iD,DEFAULT_DASHBOARD_DURATION:()=>"1h",HEADER_ACTIONS_CONTAINER_NAME:()=>f,TIME_ZOOM_IN_SHORTCUT:()=>iN,SaveChangesConfirmationDialog:()=>s7,TOGGLE_EDIT_MODE_SHORTCUT:()=>iC,buildShortcutOptions:()=>iT,PanelEditorContext:()=>sU,useDashboardStore:()=>B,usePanelKey:()=>ep,useEditJsonDialog:()=>eM,GO_EXPLORE_SHORTCUT:()=>lr,useExternalVariableDefinitions:()=>nw,useHotkeySequences:()=>ii,useSelectionItemActions:()=>t0,isPanelGroupItemIdEqual:()=>te,useAnnotationStoreCtx:()=>iK,useListPanelGroups:()=>en,GridItemContent:()=>t4,PANEL_DELETE_EVENT:()=>iv,REFRESH_DASHBOARD_SHORTCUT:()=>iS,generateId:()=>T,usePanelGroup:()=>er,useVariableDefinitionStates:()=>ny,Variable:()=>sv,PanelPreview:()=>sQ,DashboardContext:()=>$,VariableProvider:()=>nS,useAnnotationSpecs:()=>iJ,SHOW_SHORTCUTS_SHORTCUT:()=>lo,PANEL_EDIT_EVENT:()=>im,LeaveDialog:()=>sB,useViewPanelGroup:()=>eC,useListVariableState:()=>sx,BuiltinVariableAccordions:()=>n5,createModEnterHandler:()=>iI,useAnnotationsWithData:()=>iQ,DeletePanelDialog:()=>sT,DeletePanelGroupDialog:()=>sL,PANEL_DUPLICATE_SHORTCUT:()=>iO,VariableProviderWithQueryParams:()=>nC,useDashboardLinksActions:()=>Z,useListVariableListBoxContext:()=>sg,TIME_SHIFT_BACK_SHORTCUT:()=>iz,HotkeysProvider:()=>rg,GridLayout:()=>nr,ListVariableListBox:()=>sy,MAX_VARIABLE_WIDTH:()=>500,useDiscardChangesConfirmationDialog:()=>eO,PanelDrawer:()=>sX,TIME_ZOOM_IN_EVENT:()=>iu,VariableList:()=>sC,GO_PROFILE_SHORTCUT:()=>li,useVariableDefinitions:()=>nx,ViewDashboard:()=>lM,HEADER_MEDIUM_WIDTH:()=>220,useHotkeyRegistrations:()=>lf,SHOW_SHORTCUTS_EVENT:()=>iw,useVariableDefinitionActions:()=>nv,useDashboardShortcuts:()=>i7,HEADER_SMALL_WIDTH:()=>170,usePanelEditor:()=>ey,TIME_PASTE_EVENT:()=>ig,usePanelFocusHandlers:()=>ta,SAVE_DASHBOARD_EVENT:()=>ia,ListVariableListBoxProvider:()=>sm,VariableName:()=>rt,PANEL_DUPLICATE_EVENT:()=>ib,Panel:()=>t2,QuerySummaryTable:()=>s9,useFocusedPanel:()=>ti,PANEL_DELETE_SHORTCUT:()=>iP,useDashboardLinks:()=>Y,usePanelActions:()=>eg,TIME_SHIFT_FORWARD_EVENT:()=>id,TIME_RANGE_SHORTCUTS:()=>iW,formatForDisplay:()=>lD,useViewPanel:()=>eA,TIME_MAKE_ABSOLUTE_SHORTCUT:()=>iB,DatasourceStoreProvider:()=>s8,DashboardProvider:()=>G,requireShortcutSequence:()=>iL,GLOBAL_SHORTCUTS:()=>ll,DashboardToolbar:()=>sM,SAVE_DASHBOARD_SHORTCUT:()=>iA,VariableListItem:()=>sE,requireShortcutHotkey:()=>iR,PanelPluginLoader:()=>tc,DashboardLinksEditor:()=>rc,Prompt:()=>s$,EditDashboardLinksButton:()=>rp,useAnnotationStates:()=>iY,AddPanelButton:()=>eL,DEFAULT_REFRESH_INTERVAL:()=>"0s",useSaveChangesConfirmationDialog:()=>eD,VariableEditor:()=>n8,useAnnotationSpecAndState:()=>iZ,DatasourceEditor:()=>o5,SHORTCUT_CATEGORY_LABELS:()=>le,TIME_COPY_SHORTCUT:()=>iG,TIME_SHIFT_FORWARD_SHORTCUT:()=>i$,editButtonStyle:()=>p,TIME_COPY_EVENT:()=>ih,usePanel:()=>ef,EditJsonButton:()=>o6,useDeletePanelGroupDialog:()=>ed,DASHBOARD_SHORTCUTS:()=>iE,OPEN_SEARCH_SHORTCUT:()=>la,requireShortcutEvent:()=>i_,DownloadButton:()=>o4,SHORTCUT_CATEGORY_ORDER:()=>lt,Dashboard:()=>rl,GRID_LAYOUT_SMALL_BREAKPOINT:()=>"sm",PANEL_SHORTCUTS:()=>iM,PANEL_FULLSCREEN_SHORTCUT:()=>ik,GRID_LAYOUT_COLS:()=>I,useAnnotationActions:()=>iX,GO_HOME_SHORTCUT:()=>ln,GridContainer:()=>e2,PanelFocusProvider:()=>tr,useEditMode:()=>U,usePanelGroupEditor:()=>eu,TOGGLE_THEME_SHORTCUT:()=>ls,useDashboard:()=>i2,useVariableDefinitionAndState:()=>nb,QueryViewerDialog:()=>t9,REFRESH_DASHBOARD_EVENT:()=>io,useHotkeySequence:()=>lc,TIME_MAKE_ABSOLUTE_EVENT:()=>ip,useDashboardActions:()=>K,SaveDashboardButton:()=>se,PANEL_FULLSCREEN_EVENT:()=>iy,TIME_ZOOM_OUT_SHORTCUT:()=>iH,MIN_VARIABLE_WIDTH:()=>120,useVariableDefinitionStoreCtx:()=>nm,usePanelGroupActions:()=>ea,OPEN_SEARCH_EVENT:()=>ix,EditVariablesButton:()=>rn,useSaveDashboard:()=>i3,TIME_ZOOM_OUT_EVENT:()=>il});var a,o=n(62540),s=n(7013),l=n(2859),u=n(21351);let c={addPanel:"Add panel",addGroup:"Add panel group",editDatasources:"Edit datasources",editJson:"Edit JSON",editLinks:"Edit links",editVariables:"Edit variables",editAnnotations:"Edit annotations",viewJson:"View JSON",addPanelToGroup:"Add panel to group",deleteGroup:"Delete group",editGroup:"Edit group",moveGroupDown:"Move group down",moveGroupUp:"Move group up",viewPanel:"Toggle View Mode",editPanel:"Edit",duplicatePanel:"Duplicate",deletePanel:"Delete",movePanel:"Move",refreshVariableValues:"Refresh values",copyVariableValues:"Copy values to clipboard",queryView:"Open query view"},d={addPanelToGroup:e=>`add panel to group ${e}`,deleteGroup:e=>`delete group ${e}`,editGroup:e=>`edit group ${e}`,moveGroupDown:e=>`move group ${e} down`,moveGroupUp:e=>`move group ${e} up`,viewPanel:e=>e?`toggle panel ${e} view mode`:"toggle panel view mode",editPanel:e=>e?`edit panel ${e}`:"edit panel",duplicatePanel:e=>e?`duplicate panel ${e}`:"duplicate panel",deletePanel:e=>e?`delete panel ${e}`:"delete panel",showPanelActions:e=>e?`show panel actions for ${e}`:"show panel actions",movePanel:e=>e?`move panel ${e}`:"move panel",openQueryView:e=>e?`open query view for panel ${e}`:"open query view for panel"},p={whiteSpace:"nowrap",minWidth:"auto","& .MuiButton-startIcon":{marginRight:.5}},f="header-actions-container";var h=n(70451),g=n.n(h);let m=e=>{let t,n=new Set,r=(e,r)=>{let i="function"==typeof e?e(t):e;if(!Object.is(i,t)){let e=t;t=(null!=r?r:"object"!=typeof i||null===i)?i:Object.assign({},t,i),n.forEach(n=>n(t,e))}},i=()=>t,a={setState:r,getState:i,getInitialState:()=>o,subscribe:e=>(n.add(e),()=>n.delete(e)),destroy:()=>{n.clear()}},o=t=e(r,i,a);return a},y=e=>e?m(e):m;var b=n(95390);let{useDebugValue:v}=g(),{useSyncExternalStoreWithSelector:x}=b,w=e=>e;function j(e,t=w,n){let r=x(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return v(r),r}let A=new Map,S=e=>{let t=A.get(e);return t?Object.fromEntries(Object.entries(t.stores).map(([e,t])=>[e,t.getState()])):{}},C=(e,t={})=>(n,r,i)=>{let a,{enabled:o,anonymousActionType:s,store:l,...u}=t;try{a=null!=o&&o&&window.__REDUX_DEVTOOLS_EXTENSION__}catch(e){}if(!a)return e(n,r,i);let{connection:c,...d}=((e,t,n)=>{if(void 0===e)return{type:"untracked",connection:t.connect(n)};let r=A.get(n.name);if(r)return{type:"tracked",store:e,...r};let i={connection:t.connect(n),stores:{}};return A.set(n.name,i),{type:"tracked",store:e,...i}})(l,a,u),p=!0;i.setState=(e,t,a)=>{let o=n(e,t);if(!p)return o;let d=void 0===a?{type:s||"anonymous"}:"string"==typeof a?{type:a}:a;return void 0===l?null==c||c.send(d,r()):null==c||c.send({...d,type:`${l}/${d.type}`},{...S(u.name),[l]:i.getState()}),o};let f=(...e)=>{let t=p;p=!1,n(...e),p=t},h=e(i.setState,r,i);if("untracked"===d.type?null==c||c.init(h):(d.stores[d.store]=i,null==c||c.init(Object.fromEntries(Object.entries(d.stores).map(([e,t])=>[e,e===d.store?h:t.getState()])))),i.dispatchFromDevtools&&"function"==typeof i.dispatch){let e=i.dispatch;i.dispatch=(...t)=>{e(...t)}}return c.subscribe(e=>{var t;switch(e.type){case"ACTION":if("string"!=typeof e.payload)return void console.error("[zustand devtools middleware] Unsupported action format");return E(e.payload,e=>{if("__setState"===e.type){if(void 0===l)return void f(e.state);1!==Object.keys(e.state).length&&console.error(`
3
3
  [zustand devtools middleware] Unsupported __setState action format.
4
4
  When using 'store' option in devtools(), the 'state' should have only one key, which is a value of 'store' that was passed in devtools(),
5
5
  and value of this only key should be a state object. Example: { "type": "__setState", "state": { "abc123Store": { "foo": "bar" } } }
6
- `);let t=e.state[l];return void(null==t||JSON.stringify(i.getState())!==JSON.stringify(t)&&f(t))}i.dispatchFromDevtools&&"function"==typeof i.dispatch&&i.dispatch(e)});case"DISPATCH":switch(e.payload.type){case"RESET":if(f(h),void 0===l)return null==c?void 0:c.init(i.getState());return null==c?void 0:c.init(S(u.name));case"COMMIT":if(void 0===l){null==c||c.init(i.getState());break}return null==c?void 0:c.init(S(u.name));case"ROLLBACK":return E(e.state,e=>{if(void 0===l){f(e),null==c||c.init(i.getState());return}f(e[l]),null==c||c.init(S(u.name))});case"JUMP_TO_STATE":case"JUMP_TO_ACTION":return E(e.state,e=>{void 0===l?f(e):JSON.stringify(i.getState())!==JSON.stringify(e[l])&&f(e[l])});case"IMPORT_STATE":{let{nextLiftedState:n}=e.payload,r=null==(t=n.computedStates.slice(-1)[0])?void 0:t.state;if(!r)return;void 0===l?f(r):f(r[l]),null==c||c.send(null,n);break}case"PAUSE_RECORDING":return p=!p}return}}),h},E=(e,t)=>{let n;try{n=JSON.parse(e)}catch(e){console.error("[zustand devtools middleware] Could not parse the received json",e)}void 0!==n&&t(n)};var D=n(38662);let k=e=>(t,n,r)=>(r.setState=(e,n,...r)=>t("function"==typeof e?(0,D.jM)(e):e,n,...r),e(r.setState,n,r));function O(e,t){if(Object.is(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(let[n,r]of e)if(!Object.is(r,t.get(n)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}let n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(let r of n)if(!Object.prototype.hasOwnProperty.call(t,r)||!Object.is(e[r],t[r]))return!1;return!0}var P=n(89602),M=n(40625);function T(){return void 0===globalThis.dashboardStoreId&&(globalThis.dashboardStoreId=0),globalThis.dashboardStoreId++}function R(e,t){return{kind:"Panel",spec:{display:{name:"",description:void 0},plugin:{kind:e??"",spec:t??{}},queries:[]}}}function L(e){let t={},n=[];for(let r of e){let e=[],i={};if("items"in r.spec)for(let t of r.spec.items){let n=T().toString();e.push({i:n,w:t.width,h:t.height,x:t.x,y:t.y}),i[n]=(0,M.getPanelKeyFromRef)(t.content)}let a="repeatVariable"in r.spec?r.spec.repeatVariable:void 0,o=T();t[o]={id:o,isCollapsed:r.spec.display?.collapse?.open===!1,repeatVariable:a,title:r.spec.display?.title,itemLayouts:e,itemPanelKeys:i},n.push(o)}return{panelGroups:t,panelGroupOrder:n}}function _(){return{id:T(),title:void 0,isCollapsed:!1,itemLayouts:[],itemPanelKeys:{}}}function V(e,t){e.panelGroups[t.id]=t,e.panelGroupOrder.unshift(t.id)}let I={sm:24,xxs:2};function H(e){let t=0;for(let n of e.itemLayouts){let e=n.y+n.h;e>t&&(t=e)}return t}function N({x:e,y:t,w:n,h:r}){return{x1:e,x2:e+n,y1:t,y2:t+r}}let z=()=>{if(window.isSecureContext)return crypto.randomUUID().replaceAll("-","");let e=String(Date.now()),t=Math.random().toString(36).substring(2);return`${e}${t}`},$=(0,h.createContext)(void 0);function B(e){let t=(0,h.useContext)($);if(void 0===t)throw Error("No DashboardContext found. Did you forget a Provider?");return j(t,e,O)}function G(e){let t=(0,h.useCallback)(F,[e]),[n]=(0,h.useState)(t(e)),{defaultPluginKinds:r}=(0,P.usePluginRegistry)(),i=r?.Panel??"",{data:a}=(0,P.usePlugin)("Panel",i);return(0,h.useEffect)(()=>{if(void 0===a)return;let e=a.createInitialOptions?a.createInitialOptions():{};n.setState({initialValues:{panelDefinition:R(i,e)}})},[a,n,i]),(0,o.jsx)($.Provider,{value:n,children:e.children})}function F(e){let{initialState:{dashboardResource:t,isEditMode:n,viewPanelRef:r,setViewPanelRef:i}}=e,{kind:a,metadata:o,spec:{display:s,duration:l,refreshInterval:u="0s",datasources:c,layouts:d=[],panels:p={}}}=t,f=t.spec.links??[],h="ttl"in t.spec?t.spec.ttl:void 0;return y()(k(C((...e)=>{let[t]=e;return{...(function(e){let{panelGroups:t,panelGroupOrder:n}=L(e);return e=>({panelGroups:t,panelGroupOrder:n,swapPanelGroups(t,n){e(e=>{if(t<0||t>=e.panelGroupOrder.length||n<0||n>=e.panelGroupOrder.length)throw Error("index out of bound");let r=e.panelGroupOrder[t],i=e.panelGroupOrder[n];if(void 0===r||void 0===i)throw Error("panel group is undefined");[e.panelGroupOrder[t],e.panelGroupOrder[n]]=[i,r]})},updatePanelGroupLayouts(t,n){e(e=>{let r=e.panelGroups[t];if(void 0===r)throw Error(`Cannot find panel group ${t}`);r.itemLayouts=n})}})})(d)(...e),...((e,t)=>({panelGroupEditor:void 0,openAddPanelGroup:()=>{let t={mode:"Add",initialValues:{title:"",isCollapsed:!1,repeatVariable:""},applyChanges(t){let n=_();n.title=t.title,n.isCollapsed=t.isCollapsed,n.repeatVariable=t.repeatVariable,e(e=>{V(e,n)})},close(){e(e=>{e.panelGroupEditor=void 0})}};e(e=>{e.panelGroupEditor=t})},openEditPanelGroup:n=>{let r=t().panelGroups[n];if(void 0===r)throw Error(`Panel group with Id ${n} does not exist`);let i={mode:"Edit",initialValues:{title:r.title??"",isCollapsed:r.isCollapsed,repeatVariable:r.repeatVariable??""},applyChanges(t){e(e=>{let r=e.panelGroups[n];if(void 0===r)throw Error(`Panel group with Id ${n} does not exist`);r.title=t.title,r.isCollapsed=t.isCollapsed,r.repeatVariable=t.repeatVariable})},close(){e(e=>{e.panelGroupEditor=void 0})}};e(e=>{e.panelGroupEditor=i})}}))(...e),...((e,t)=>({deletePanelGroup(n){let{panelGroups:r,panelGroupOrder:i}=t(),a=r[n],o=i.findIndex(e=>e===n);if(void 0===a||-1===o)throw Error(`Panel group ${n} not found`);let s=Object.values(a.itemPanelKeys);e(e=>{delete e.panelGroups[n],e.panelGroupOrder.splice(o,1);let t=function(e){let t=new Set;for(let n of Object.values(e))for(let e of Object.values(n.itemPanelKeys))t.add(e);return t}(e.panelGroups);for(let n of s)t.has(n)||delete e.panels[n]})},openDeletePanelGroupDialog:n=>{let r=t().panelGroups[n];if(void 0===r)throw Error(`Panel group with Id ${n} not found`);e(e=>{e.deletePanelGroupDialog={panelGroupId:n,panelGroupName:r.title}})},closeDeletePanelGroupDialog:()=>e(e=>{e.deletePanelGroupDialog=void 0})}))(...e),...(()=>({panels:p}))(...e),...((e,t)=>({panelEditor:void 0,openEditPanel(n){let{panels:r,panelGroups:i}=t(),{panelGroupId:a,panelGroupItemLayoutId:o}=n,s=i[a]?.itemPanelKeys[o];if(void 0===s)throw Error(`Could not find Panel Group item ${n}`);let l=r[s];if(void 0===l)throw Error(`Cannot find Panel with key '${s}'`);let u={mode:"update",panelGroupItemId:n,initialValues:{groupId:n.panelGroupId,panelDefinition:l},applyChanges:t=>{e(e=>{if(e.panels[s]=t.panelDefinition,t.groupId===a)return;let n=e.panelGroups[a];if(void 0===n)throw Error(`Missing panel group ${a}`);let r=n.itemLayouts.findIndex(e=>e.i===o),i=n.itemLayouts[r],l=n.itemPanelKeys[o];if(-1===r||void 0===i||void 0===l)throw Error(`Missing panel group item ${o}`);n.itemLayouts.splice(r,1),delete n.itemPanelKeys[o];let u=e.panelGroups[t.groupId];if(void 0===u)throw Error(`Could not find new group ${t.groupId}`);u.itemLayouts.push({i:i.i,x:0,y:H(u),w:i.w,h:i.h}),u.itemPanelKeys[i.i]=l})},close:()=>{e(e=>{e.panelEditor=void 0})}};e(e=>{e.panelEditor=u})},openAddPanel(n){let r;void 0===(n??=t().panelGroupOrder[0])&&((r=_()).title="Panel Group",n=r.id);let i={mode:"create",initialValues:{groupId:n,panelDefinition:t().initialValues?.panelDefinition??R()},applyChanges:t=>{let n=z();e(e=>{e.panels[n]=t.panelDefinition;let r=e.panelGroups[t.groupId];if(void 0===r)throw Error(`Missing panel group ${t.groupId}`);let i={i:T().toString(),x:0,y:H(r),w:12,h:6};r.itemLayouts.push(i),r.itemPanelKeys[i.i]=n})},close:()=>{e(e=>{e.panelEditor=void 0})}};e(e=>{void 0!==r&&V(e,r),e.panelEditor=i})}}))(...e),...((e,t)=>({deletePanel(t){e(e=>{let{panelGroupId:n,panelGroupItemLayoutId:r}=t,i=e.panelGroups[n];if(void 0===i)throw Error(`Missing panel group ${n}`);let a=i.itemLayouts.findIndex(e=>e.i===r),o=i.itemPanelKeys[r];if(-1===a||void 0===o)throw Error(`Missing panel group item ${r}`);i.itemLayouts.splice(a,1),delete i.itemPanelKeys[r],!1===function(e,t){for(let n of Object.values(e))if(void 0!==Object.values(n.itemPanelKeys).find(e=>e===t))return!0;return!1}(e.panelGroups,o)&&delete e.panels[o]})},openDeletePanelDialog(n){let{panelGroupId:r,panelGroupItemLayoutId:i}=n,{panels:a,panelGroups:o}=t(),s=o[r];if(void 0===s)throw Error(`Panel group not found ${r}`);let l=s.itemPanelKeys[i];if(void 0===l)throw Error(`Could not find Panel Group item ${i}`);let u=a[l];if(void 0===u)throw Error(`Could not find panel ${l}`);e(e=>{e.deletePanelDialog={panelGroupItemId:n,panelName:u.spec.display?.name??l,panelGroupName:s.title??""}})},closeDeletePanelDialog(){e(e=>{e.deletePanelDialog=void 0})}}))(...e),...(e=>({duplicatePanel(t){e(e=>{let n=e.panels,{panelGroupId:r,panelGroupItemLayoutId:i}=t,a=e.panelGroups[r];if(void 0===a)throw Error(`Missing panel group ${r}`);let o=a.itemPanelKeys[i];if(void 0===o)throw Error(`Could not find Panel Group item ${t}`);let s=n[o];if(void 0===s)throw Error(`Cannot find Panel with key '${o}'`);let l=a.itemLayouts.find(e=>e.i===i);if(void 0===l)throw Error(`Cannot find layout for Panel with key '${o}'`);let u=z();e.panels[u]=s;let c={i:T().toString(),w:l.w,h:l.h};a.itemLayouts=function(e,t,n){let r=I.sm,i=N(t),a=[],o=[],s=[];n.forEach(e=>{let t=N(e);t.y2<=i.y1?a.push(e):t.y1>=i.y2?s.push(e):o.push(e)}),o.sort((e,t)=>e.x-t.x);let l=o.findIndex(e=>e.i===t.i);if(l===o.length-1){if(i.x2+e.w<=r)return[...a,...o,{...e,x:i.x2,y:i.y1},...s]}else if(l>=0){let t=o[l+1];if(t&&N(t).x1-i.x2>=e.w)return o.splice(l+1,0,{...e,x:i.x2,y:i.y1}),[...a,...o,...s]}return[...a,...o,{x:i.x1,y:i.y2,...e},...s.map(t=>({...t,y:t.y+e.h}))]}(c,l,a.itemLayouts),a.itemPanelKeys[c.i]=u})}}))(...e),...((e,t)=>({viewPanel:{panelGroupItemId:void 0,panelRef:r},getViewPanel:()=>{var e,n,r;return e=t().panelGroups,n=t().viewPanel.panelGroupItemId,r=t().viewPanel.panelRef,n||(r?function(e,t){for(let n of Object.values(e)){let e=Object.entries(n.itemPanelKeys??[]).find(([e,n])=>n===t.ref);if(e){let[r]=e;return{panelGroupId:n.id,panelGroupItemLayoutId:r,repeatVariable:t.repeatVariable}}}}(e,r):void 0)},setViewPanel(n){e(e=>{e.viewPanel={panelRef:void 0,panelGroupItemId:n};let r=function(e,t){if(!t)return;let n=e[t.panelGroupId];if(n){let e=n.itemPanelKeys[t.panelGroupItemLayoutId];if(e)return{ref:e,repeatVariable:t.repeatVariable}}}(t().panelGroups,n);i&&i(r)})}}))(...e),...(e=>({links:f,setLinks:t=>{e(e=>{e.links=t})}}))(...e),...(e=>({isOpen:!1,openDiscardChangesConfirmationDialog(t){e(e=>{e.discardChangesConfirmationDialog=t})},closeDiscardChangesConfirmationDialog(){e(e=>{e.discardChangesConfirmationDialog=void 0})}}))(...e),...(e=>({openEditJsonDialog(){e(e=>{e.editJsonDialog={isOpen:!0}})},closeEditJsonDialog(){e(e=>{e.editJsonDialog={isOpen:!1}})}}))(...e),...(e=>({isOpen:!1,openSaveChangesConfirmationDialog(t){e(e=>{e.saveChangesConfirmationDialog=t},!1,"openSaveChangesConfirmationDialog")},closeSaveChangesConfirmationDialog(){e(e=>{e.saveChangesConfirmationDialog=void 0},!1,"closeSaveChangesConfirmationDialog")}}))(...e),kind:a,metadata:o,display:s,duration:l,refreshInterval:u,datasources:c,ttl:h,isEditMode:!!n,setEditMode:e=>{t({isEditMode:e})},setDashboard:({kind:e,metadata:n,spec:{display:r,panels:i={},layouts:a=[],duration:o,refreshInterval:s,datasources:l={},links:u=[]}})=>{t(t=>{t.kind=e,t.metadata=n,t.display=r,t.panels=i;let{panelGroups:c,panelGroupOrder:d}=L(a);t.panelGroups=c,t.panelGroupOrder=d,t.duration=o,t.refreshInterval=s??"0s",t.datasources=l,t.links=u})}}})))}let W=({isEditMode:e,setEditMode:t})=>({isEditMode:e,setEditMode:t});function U(){return B(W)}let q=({setDashboard:e,openAddPanelGroup:t,openAddPanel:n})=>({setDashboard:e,openAddPanelGroup:t,openAddPanel:n});function K(){let{setDashboard:e,openAddPanelGroup:t,openAddPanel:n}=B(q);return{setDashboard:e,openAddPanelGroup:()=>t(),openAddPanel:()=>n()}}let J=e=>e.links;function Y(){return B(J)??[]}let X=e=>({setLinks:e.setLinks});function Z(){return B(X)}let Q=e=>e.panelGroupOrder;function ee(){return B(Q)}let et=e=>e.panelGroups;function en(){let e=ee(),t=B(et);return(0,h.useMemo)(()=>e.map(e=>{let n=t[e];if(void 0===n)throw Error(`Invalid panel group Id found ${e}`);return n}),[e,t])}function er(e){let t=B((0,h.useCallback)(t=>t.panelGroups[e],[e]));if(void 0===t)throw Error(`Panel group with Id ${e} was not found`);return t}let ei=({openEditPanelGroup:e,deletePanelGroup:t,openAddPanel:n,updatePanelGroupLayouts:r})=>({openEditPanelGroup:e,deletePanelGroup:t,openAddPanel:n,updatePanelGroupLayouts:r});function ea(e){let{moveUp:t,moveDown:n}=function(e){let t=B((0,h.useCallback)(t=>t.panelGroupOrder.findIndex(t=>t===e),[e])),n=B(es),r=B(eo);if(t<0)throw Error(`Could not find panel group with Id ${e} in order array`);return{moveUp:t>0?()=>r(t,t-1):void 0,moveDown:t<n-1?()=>r(t,t+1):void 0}}(e),{openEditPanelGroup:r,deletePanelGroup:i,openAddPanel:a,updatePanelGroupLayouts:o}=B(ei);return{openEditPanelGroup:()=>r(e),deletePanelGroup:()=>i(e),openAddPanel:()=>a(e),moveUp:t,moveDown:n,updatePanelGroupLayouts:t=>o(e,t)}}let eo=e=>e.swapPanelGroups,es=e=>e.panelGroupOrder.length,el=e=>e.panelGroupEditor;function eu(){return B(el)}let ec=({deletePanelGroupDialog:e,openDeletePanelGroupDialog:t,closeDeletePanelGroupDialog:n,deletePanelGroup:r})=>({deletePanelGroupDialog:e,openDeletePanelGroupDialog:t,closeDeletePanelGroupDialog:n,deletePanelGroup:r});function ed(){let{deletePanelGroupDialog:e,openDeletePanelGroupDialog:t,closeDeletePanelGroupDialog:n,deletePanelGroup:r}=B(ec);return{deletePanelGroupDialog:e,deletePanelGroup:r,openDeletePanelGroupDialog:t,closeDeletePanelGroupDialog:()=>n()}}function ep(e){return B((0,h.useCallback)(t=>{if(void 0!==e)return t.panelGroups[e.panelGroupId]?.itemPanelKeys[e.panelGroupItemLayoutId]},[e]))}function ef(e){let{panelGroupId:t,panelGroupItemLayoutId:n}=e,r=B((0,h.useCallback)(e=>{let r=e.panelGroups[t]?.itemPanelKeys[n];if(void 0!==r)return e.panels[r]},[t,n]));if(void 0===r)throw Error(`Could not find panel for Id ${e}`);return r}let eh=({openEditPanel:e,openDeletePanelDialog:t,duplicatePanel:n,setViewPanel:r})=>({openEditPanel:e,openDeletePanelDialog:t,duplicatePanel:n,setViewPanel:r});function eg(e){let{openEditPanel:t,openDeletePanelDialog:n,duplicatePanel:r,setViewPanel:i}=B(eh);return{openEditPanel:()=>t(e),openDeletePanelDialog:()=>n(e),duplicatePanel:()=>r(e),viewPanel:e=>i(e)}}let em=e=>e.panelEditor;function ey(){return B(em)}let eb=({deletePanelDialog:e,deletePanel:t,closeDeletePanelDialog:n})=>({deletePanelDialog:e,deletePanel:t,closeDeletePanelDialog:n});function ev(){return B(eb)}let ex=e=>e.duration;function ew(){return B(ex)}let ej=e=>({setViewPanel:e.setViewPanel,getViewPanel:e.getViewPanel,viewPanelId:e.getViewPanel()});function eA(){return B(ej)}let eS=e=>e.getViewPanel();function eC(){return B(eS)}let eE=({saveChangesConfirmationDialog:e,openSaveChangesConfirmationDialog:t,closeSaveChangesConfirmationDialog:n})=>({saveChangesConfirmationDialog:e,openSaveChangesConfirmationDialog:t,closeSaveChangesConfirmationDialog:n});function eD(){return B(eE)}let ek=({discardChangesConfirmationDialog:e,openDiscardChangesConfirmationDialog:t,closeDiscardChangesConfirmationDialog:n})=>({discardChangesConfirmationDialog:e,openDiscardChangesConfirmationDialog:t,closeDiscardChangesConfirmationDialog:n});function eO(){return B(ek)}let eP=({editJsonDialog:e,openEditJsonDialog:t,closeEditJsonDialog:n})=>({editJsonDialog:e,openEditJsonDialog:t,closeEditJsonDialog:n});function eM(){return B(eP)}let eT=()=>{let{openAddPanelGroup:e}=K();return(0,o.jsx)(u.InfoTooltip,{description:c.addGroup,children:(0,o.jsx)(s.A,{startIcon:(0,o.jsx)(l.default,{}),onClick:e,"aria-label":c.addGroup,sx:p,children:"Panel Group"})})};var eR=n(69525);let eL=({variant:e="text",color:t="primary",label:n="Panel",fullWidth:r})=>{let{openAddPanel:i}=K();return(0,o.jsx)(u.InfoTooltip,{description:c.addPanel,children:(0,o.jsx)(s.A,{startIcon:(0,o.jsx)(eR.default,{}),onClick:i,"aria-label":c.addPanel,variant:e,color:t,fullWidth:r,sx:p,children:n})})};var e_=n(74628),eV=n(56599),eI=n(11750),eH=n(46477),eN=n(3725),ez=n(81023),e$=n(77308),eB=n(23434),eG=n(72052),eF=n(48927),eW=n(32494),eU=n(29424),eq=n(29009),eK=n(46733);function eJ(e){return(0,eK.Ay)("MuiCollapse",e)}(0,eq.A)("MuiCollapse",["root","horizontal","vertical","entered","hidden","wrapper","wrapperInner"]);let eY=(0,e$.A)("div",{name:"MuiCollapse",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.root,t[n.orientation],"entered"===n.state&&t.entered,"exited"===n.state&&!n.in&&"0px"===n.collapsedSize&&t.hidden]}})((0,eB.A)(({theme:e})=>({height:0,overflow:"hidden",transition:e.transitions.create("height"),variants:[{props:{orientation:"horizontal"},style:{height:"auto",width:0,transition:e.transitions.create("width")}},{props:{state:"entered"},style:{height:"auto",overflow:"visible"}},{props:{state:"entered",orientation:"horizontal"},style:{width:"auto"}},{props:({ownerState:e})=>"exited"===e.state&&!e.in&&"0px"===e.collapsedSize,style:{visibility:"hidden"}}]}))),eX=(0,e$.A)("div",{name:"MuiCollapse",slot:"Wrapper",overridesResolver:(e,t)=>t.wrapper})({display:"flex",width:"100%",variants:[{props:{orientation:"horizontal"},style:{width:"auto",height:"100%"}}]}),eZ=(0,e$.A)("div",{name:"MuiCollapse",slot:"WrapperInner",overridesResolver:(e,t)=>t.wrapperInner})({width:"100%",variants:[{props:{orientation:"horizontal"},style:{width:"auto",height:"100%"}}]}),eQ=h.forwardRef(function(e,t){let n=(0,eG.b)({props:e,name:"MuiCollapse"}),{addEndListener:r,children:i,className:a,collapsedSize:s="0px",component:l,easing:u,in:c,onEnter:d,onEntered:p,onEntering:f,onExit:g,onExited:m,onExiting:y,orientation:b="vertical",style:v,timeout:x=eF.p0.standard,TransitionComponent:w=eH.Ay,...j}=n,A={...n,orientation:b,collapsedSize:s},S=(e=>{let{orientation:t,classes:n}=e,r={root:["root",`${t}`],entered:["entered"],hidden:["hidden"],wrapper:["wrapper",`${t}`],wrapperInner:["wrapperInner",`${t}`]};return(0,ez.A)(r,eJ,n)})(A),C=(0,eV.A)(),E=(0,eN.A)(),D=h.useRef(null),k=h.useRef(),O="number"==typeof s?`${s}px`:s,P="horizontal"===b,M=P?"width":"height",T=h.useRef(null),R=(0,eU.A)(t,T),L=e=>t=>{if(e){let n=T.current;void 0===t?e(n):e(n,t)}},_=()=>D.current?D.current[P?"clientWidth":"clientHeight"]:0,V=L((e,t)=>{D.current&&P&&(D.current.style.position="absolute"),e.style[M]=O,d&&d(e,t)}),I=L((e,t)=>{let n=_();D.current&&P&&(D.current.style.position="");let{duration:r,easing:i}=(0,eW.c)({style:v,timeout:x,easing:u},{mode:"enter"});if("auto"===x){let t=C.transitions.getAutoHeightDuration(n);e.style.transitionDuration=`${t}ms`,k.current=t}else e.style.transitionDuration="string"==typeof r?r:`${r}ms`;e.style[M]=`${n}px`,e.style.transitionTimingFunction=i,f&&f(e,t)}),H=L((e,t)=>{e.style[M]="auto",p&&p(e,t)}),N=L(e=>{e.style[M]=`${_()}px`,g&&g(e)}),z=L(m),$=L(e=>{let t=_(),{duration:n,easing:r}=(0,eW.c)({style:v,timeout:x,easing:u},{mode:"exit"});if("auto"===x){let n=C.transitions.getAutoHeightDuration(t);e.style.transitionDuration=`${n}ms`,k.current=n}else e.style.transitionDuration="string"==typeof n?n:`${n}ms`;e.style[M]=O,e.style.transitionTimingFunction=r,y&&y(e)});return(0,o.jsx)(w,{in:c,onEnter:V,onEntered:H,onEntering:I,onExit:N,onExited:z,onExiting:$,addEndListener:e=>{"auto"===x&&E.start(k.current||0,e),r&&r(T.current,e)},nodeRef:T,timeout:"auto"===x?null:x,...j,children:(e,{ownerState:t,...n})=>(0,o.jsx)(eY,{as:l,className:(0,eI.A)(S.root,a,{entered:S.entered,exited:!c&&"0px"===O&&S.hidden}[e]),style:{[P?"minWidth":"minHeight"]:O,...v},ref:R,ownerState:{...A,state:e},...n,children:(0,o.jsx)(eX,{ownerState:{...A,state:e},className:S.wrapper,ref:D,children:(0,o.jsx)(eZ,{ownerState:{...A,state:e},className:S.wrapperInner,children:i})})})})});eQ&&(eQ.muiSupportAuto=!0);var e0=n(29057),e1=n(12548);function e2(e){let[t,n]=(0,h.useState)(!0);return(0,h.useEffect)(()=>{t&&n(!1)},[t]),(0,o.jsx)(e3,{sx:[{"& + &":{marginTop:1},"& .react-grid-item.cssTransforms":{transitionProperty:t?"none":"transform"}},...Array.isArray(e.sx)?e.sx:[e.sx]],"data-testid":"panel-group",children:e.children})}let e3=(0,e$.A)("section")(({theme:e})=>({"& .react-grid-layout":{position:"relative",transition:"height 200ms ease"},"& .react-grid-item":{transition:"all 200ms ease",transitionProperty:"left, top"},"& .react-grid-item img":{pointerEvents:"none",userSelect:"none"},"& .react-grid-item.cssTransforms":{transitionProperty:"transform"},"& .react-grid-item.resizing":{zIndex:1,willChange:"width, height"},"& .react-grid-item.react-draggable-dragging":{transition:"none",zIndex:3,willChange:"transform"},"& .react-grid-item.dropping":{visibility:"hidden"},"& .react-grid-item.react-grid-placeholder":{background:e.palette.primary.main,opacity:.2,transitionDuration:"100ms",zIndex:2,userSelect:"none",WebkitUserSelect:"none",MozUserSelect:"none",msUserSelect:"none",OUserSelect:"none"},"& .react-grid-item > .react-resizable-handle":{position:"absolute",width:"20px",height:"20px"},"& .react-grid-item > .react-resizable-handle::after":{content:'""',position:"absolute",right:"3px",bottom:"3px",width:"5px",height:"5px",borderRight:`2px solid ${e.palette.text.secondary}`,borderBottom:`2px solid ${e.palette.text.secondary}`},"& .react-resizable-hide > .react-resizable-handle":{display:"none"},"& .react-grid-item > .react-resizable-handle.react-resizable-handle-sw":{bottom:"0",left:"0",cursor:"sw-resize",transform:"rotate(90deg)"},"& .react-grid-item > .react-resizable-handle.react-resizable-handle-se":{bottom:"0",right:"0",cursor:"se-resize"},"& .react-grid-item > .react-resizable-handle.react-resizable-handle-nw":{top:"0",left:"0",cursor:"nw-resize",transform:"rotate(180deg)"},"& .react-grid-item > .react-resizable-handle.react-resizable-handle-ne":{top:"0",right:"0",cursor:"ne-resize",transform:"rotate(270deg)"},"& .react-grid-item > .react-resizable-handle.react-resizable-handle-w, &.react-grid-item > .react-resizable-handle.react-resizable-handle-e":{top:"50%",marginTop:"-10px",cursor:"ew-resize"},"& .react-grid-item > .react-resizable-handle.react-resizable-handle-w":{left:"0",transform:"rotate(135deg)"},"& .react-grid-item > .react-resizable-handle.react-resizable-handle-e":{right:"0",transform:"rotate(315deg)"},"& .react-grid-item > .react-resizable-handle.react-resizable-handle-n, &.react-grid-item > .react-resizable-handle.react-resizable-handle-s":{left:"50%",marginLeft:"-10px",cursor:"ns-resize"},"& .react-grid-item > .react-resizable-handle.react-resizable-handle-n":{top:"0",transform:"rotate(225deg)"},"& .react-grid-item > .react-resizable-handle.react-resizable-handle-s":{bottom:"0",transform:"rotate(45deg)"},"& .react-resizable":{position:"relative"},"& .react-resizable-handle":{position:"absolute",width:"20px",height:"20px",backgroundRepeat:"no-repeat",backgroundOrigin:"content-box",boxSizing:"border-box",backgroundImage:"url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4Ij48ZyBvcGFjaXR5PSIwLjMwMiI+PHBhdGggZD0iTSA2IDYgTCAwIDYgTCAwIDQuMiBMIDQgNC4yIEwgNC4yIDQuMiBMIDQuMiAwIEwgNiAwIEwgNiA2IEwgNiA2IFoiIGZpbGw9IiMwMDAwMDAiLz48L2c+PC9zdmc+')",backgroundPosition:"bottom right",padding:"0 3px 3px 0"},"& .react-resizable-handle-sw":{bottom:"0",left:"0",cursor:"sw-resize",transform:"rotate(90deg)"},"& .react-resizable-handle-se":{bottom:"0",right:"0",cursor:"se-resize"},"& .react-resizable-handle-nw":{top:"0",left:"0",cursor:"nw-resize",transform:"rotate(180deg)"},"& .react-resizable-handle-ne":{top:"0",right:"0",cursor:"ne-resize",transform:"rotate(270deg)"},"& .react-resizable-handle-w, .react-resizable-handle-e":{top:"50%",marginTop:"-10px",cursor:"ew-resize"},"& .react-resizable-handle-w":{left:"0",transform:"rotate(135deg)"},"& .react-resizable-handle-e":{right:"0",transform:"rotate(315deg)"},"& .react-resizable-handle-n, .react-resizable-handle-s":{left:"50%",marginLeft:"-10px",cursor:"ns-resize"},"& .react-resizable-handle-n":{top:"0",transform:"rotate(225deg)"},"& .react-resizable-handle-s":{bottom:"0",transform:"rotate(45deg)"}}));var e9=Object.defineProperty,e4=new Map,e5=new WeakMap,e7=0,e8=void 0;function e6({threshold:e,delay:t,trackVisibility:n,rootMargin:r,root:i,triggerOnce:a,skip:o,initialInView:s,fallbackInView:l,onChange:u}={}){var c;let[d,p]=h.useState(null),f=h.useRef(u),[g,m]=h.useState({inView:!!s,entry:void 0});f.current=u,h.useEffect(()=>{let s;if(!o&&d)return s=function(e,t,n={},r=e8){if(void 0===window.IntersectionObserver&&void 0!==r){let i=e.getBoundingClientRect();return t(r,{isIntersecting:r,target:e,intersectionRatio:"number"==typeof n.threshold?n.threshold:0,time:0,boundingClientRect:i,intersectionRect:i,rootBounds:i}),()=>{}}let{id:i,observer:a,elements:o}=function(e){let t=Object.keys(e).sort().filter(t=>void 0!==e[t]).map(t=>{var n;return`${t}_${"root"===t?!(n=e.root)?"0":(e5.has(n)||(e7+=1,e5.set(n,e7.toString())),e5.get(n)):e[t]}`}).toString(),n=e4.get(t);if(!n){let r,i=new Map,a=new IntersectionObserver(t=>{t.forEach(t=>{var n;let a=t.isIntersecting&&r.some(e=>t.intersectionRatio>=e);e.trackVisibility&&void 0===t.isVisible&&(t.isVisible=a),null==(n=i.get(t.target))||n.forEach(e=>{e(a,t)})})},e);r=a.thresholds||(Array.isArray(e.threshold)?e.threshold:[e.threshold||0]),n={id:t,observer:a,elements:i},e4.set(t,n)}return n}(n),s=o.get(e)||[];return o.has(e)||o.set(e,s),s.push(t),a.observe(e),function(){s.splice(s.indexOf(t),1),0===s.length&&(o.delete(e),a.unobserve(e)),0===o.size&&(a.disconnect(),e4.delete(i))}}(d,(e,t)=>{m({inView:e,entry:t}),f.current&&f.current(e,t),t.isIntersecting&&a&&s&&(s(),s=void 0)},{root:i,rootMargin:r,threshold:e,trackVisibility:n,delay:t},l),()=>{s&&s()}},[Array.isArray(e)?e.toString():e,d,i,r,a,o,n,l,t]);let y=null==(c=g.entry)?void 0:c.target,b=h.useRef(void 0);d||!y||a||o||b.current===y||(b.current=y,m({inView:!!s,entry:void 0}));let v=[p,g.inView,g.entry];return v.ref=v[0],v.inView=v[1],v.entry=v[2],v}function te(e,t){return e?.panelGroupId===t?.panelGroupId&&e?.panelGroupItemLayoutId===t?.panelGroupItemLayoutId}h.Component;let tt=(0,h.createContext)(void 0);function tn(){let e=(0,h.useContext)(tt);if(void 0===e)throw Error("Panel focus hooks must be used within a PanelFocusProvider");return e}function tr({children:e}){let[t,n]=(0,h.useState)(null),r=(0,h.useCallback)(e=>{n(e)},[]),i=(0,h.useCallback)(()=>{n(null)},[]),a=(0,h.useMemo)(()=>({focusedPanelKey:t,setFocusedPanel:r,clearFocusedPanel:i}),[t,r,i]);return(0,o.jsx)(tt.Provider,{value:a,children:e})}function ti(){return tn().focusedPanelKey}function ta(e){let{setFocusedPanel:t,clearFocusedPanel:n}=tn(),r=(0,h.useRef)(null),i=(0,h.useCallback)(n=>{let i=n.currentTarget;null!==r.current&&clearTimeout(r.current),r.current=setTimeout(()=>{t(e),i.focus({preventScroll:!0}),r.current=null},50)},[e,t]),a=(0,h.useCallback)(()=>{null!==r.current&&(clearTimeout(r.current),r.current=null),n()},[n]);return(0,h.useEffect)(()=>()=>{null!==r.current&&clearTimeout(r.current)},[]),(0,h.useMemo)(()=>({onMouseEnter:i,onMouseLeave:a}),[i,a])}var to=n(68150),ts=n(32189),tl=n(85180),tu=n(33313);function tc(e){let{kind:t,spec:n,contentDimensions:r,definition:i,queryResults:a}=e,{data:s,isLoading:l}=(0,P.usePlugin)("Panel",t,{useErrorBoundary:!0}),u=s?.PanelComponent,c=s?.supportedQueryTypes||[],d=c.length>0?a:[];if(l)return(0,o.jsx)(tu.A,{variant:"rectangular",width:r?.width,height:r?.height,"aria-label":"Loading..."});if(void 0===u)throw Error(`Missing PanelComponent from panel plugin for kind '${t}'`);for(let e of d)if(!c.includes(e.definition.kind))throw Error(`This panel does not support queries of type '${e.definition.kind}'. Supported query types: ${c.join(", ")}.`);return(0,o.jsx)(u,{spec:n,contentDimensions:r,definition:i,queryResults:d})}function td(e){let{panelPluginKind:t,definition:n,queryResults:r,spec:i,contentDimensions:a}=e,{data:s,isLoading:l}=(0,P.usePlugin)("Panel",t,{useErrorBoundary:!0});if(l)return(0,o.jsx)(tu.A,{variant:"rectangular",width:a?.width,height:a?.height,"aria-label":"Loading..."});let u=r.flatMap(e=>e.data?[{data:e.data,definition:e.definition}]:[]);if(u.length>0||0===r.length)return(0,o.jsx)(tc,{kind:t,spec:i,contentDimensions:a,definition:n,queryResults:u});if(r.some(e=>e.isFetching))return(0,o.jsx)(tp,{plugin:s,spec:i,definition:n,contentDimensions:a});let c=r.find(e=>e.error);if(c)throw c.error;return(0,o.jsx)(tp,{plugin:s,spec:i,definition:n,contentDimensions:a})}function tp({plugin:e,spec:t,definition:n,contentDimensions:r}){return e?.LoadingComponent?(0,o.jsx)(e.LoadingComponent,{spec:t,contentDimensions:r,definition:n,queryResults:[]}):(0,o.jsx)(u.LoadingOverlay,{})}var tf=n(35875),th=n(315),tg=n(65211),tm=n(88091),ty=n(25742),tb=n(48865),tv=n(95591),tx=n(83183),tw=n(10713),tj=n(30443);function tA(e){return e.substring(2).toLowerCase()}function tS(e){let{children:t,disableReactTree:n=!1,mouseEvent:r="onClick",onClickAway:i,touchEvent:a="onTouchEnd"}=e,o=h.useRef(!1),s=h.useRef(null),l=h.useRef(!1),u=h.useRef(!1);h.useEffect(()=>(setTimeout(()=>{l.current=!0},0),()=>{l.current=!1}),[]);let c=(0,tv.A)((0,tj.A)(t),s),d=(0,tx.A)(e=>{let t=u.current;u.current=!1;let r=(0,tw.A)(s.current);if(!(!l.current||!s.current||"clientX"in e&&(r.documentElement.clientWidth<e.clientX||r.documentElement.clientHeight<e.clientY))){if(o.current){o.current=!1;return}(e.composedPath?e.composedPath().includes(s.current):!r.documentElement.contains(e.target)||s.current.contains(e.target))||!n&&t||i(e)}}),p=e=>n=>{u.current=!0;let r=t.props[e];r&&r(n)},f={ref:c};return!1!==a&&(f[a]=p(a)),h.useEffect(()=>{if(!1!==a){let e=tA(a),t=(0,tw.A)(s.current),n=()=>{o.current=!0};return t.addEventListener(e,d),t.addEventListener("touchmove",n),()=>{t.removeEventListener(e,d),t.removeEventListener("touchmove",n)}}},[d,a]),!1!==r&&(f[r]=p(r)),h.useEffect(()=>{if(!1!==r){let e=tA(r),t=(0,tw.A)(s.current);return t.addEventListener(e,d),()=>{t.removeEventListener(e,d)}}},[d,r]),h.cloneElement(t,f)}var tC=n(72795),tE=n(35050),tD=n(53493),tk=n(59909),tO=n(86067),tP=n(61318),tM=n(50172),tT=n(14637),tR=n(4178),tL=n(74830),t_=n(17366),tV=n(66081),tI=n(47095),tH=n(24726),tN=n(30145),tz=n(47601),t$=n(97653),tB=n(57438),tG=n(65241);function tF({links:e,variant:t}){let[n,r]=(0,h.useState)(null);return 0===e.length?null:"panel"===t&&1===e.length&&e[0]?(0,o.jsx)(tU,{link:e[0]}):"dashboard"===t&&e.length<=3&&e.every(e=>e.name?e.name.length<30:!!e.url&&e.url.length<70)?(0,o.jsx)(th.A,{direction:"row",spacing:1,children:e.map(e=>(0,o.jsx)(tW,{link:e},e.url))}):(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(u.InfoTooltip,{description:`${e.length} links`,enterDelay:100,children:(0,o.jsx)(tI.A,{"aria-label":`${(0,tH.A)(t)}-links`,id:`${t}-links-button`,size:"small",onClick:e=>{r(e.currentTarget)},sx:e=>({borderRadius:e.shape.borderRadius,padding:"4px"}),children:(0,o.jsx)(tG.default,{"aria-describedby":"links-icon",fontSize:"inherit",sx:{color:e=>e.palette.text.secondary}})})}),(0,o.jsx)(tN.A,{anchorEl:n,open:!!n,onClose:()=>{r(null)},MenuListProps:{"aria-labelledby":`${t}-links-button`},children:e.map(e=>(0,o.jsx)(tq,{link:e},e.url))})]})}function tW({link:e}){let{url:t,name:n,tooltip:r,targetBlank:i}=tK(e);return(0,o.jsx)(u.InfoTooltip,{description:r??t,enterDelay:100,children:(0,o.jsx)(tz.A,{label:n??t,component:"a",href:t,target:i?"_blank":"_self",clickable:!0,size:"medium",icon:(0,o.jsx)(tG.default,{color:"inherit",fontSize:"small"}),sx:e=>({height:e.spacing(3)})})})}function tU({link:e}){let{url:t,name:n,tooltip:r,targetBlank:i}=tK(e);return(0,o.jsx)(u.InfoTooltip,{description:r??t,enterDelay:100,children:(0,o.jsx)(tI.A,{"aria-label":n??t,size:"small",href:t,target:i?"_blank":"_self",sx:e=>({borderRadius:e.shape.borderRadius,padding:"4px"}),children:(0,o.jsx)(tG.default,{fontSize:"inherit",sx:{color:e=>e.palette.text.secondary}})})})}function tq({link:e}){let{url:t,name:n,tooltip:r,targetBlank:i}=tK(e);return(0,o.jsx)(u.InfoTooltip,{description:r??t,enterDelay:100,children:(0,o.jsx)(t$.A,{component:tB.A,href:t,target:i?"_blank":"_self",children:n??t})})}function tK(e){let t=(0,P.useReplaceVariablesInString)(e.url)??e.url,n=(0,P.useReplaceVariablesInString)(e.name),r=(0,P.useReplaceVariablesInString)(e.tooltip);return!1===e.renderVariables?e:{...e,url:t,name:n,tooltip:r}}let tJ=(0,e$.A)(tI.A)(({theme:e})=>({borderRadius:e.shape.borderRadius,padding:"4px"})),tY={error:(0,o.jsx)(tL.default,{color:"error"}),warning:(0,o.jsx)(tR.default,{fontSize:"inherit",color:"warning"}),info:(0,o.jsx)(t_.default,{fontSize:"inherit",color:"info"})},tX=(0,e$.A)(e_.A)({display:"none",alignItems:"center",flexGrow:1,justifyContent:"flex-end"}),tZ=({editHandlers:e,readHandlers:t,viewQueriesHandler:n,extra:r,title:i,description:a,descriptionTooltipId:s,links:l,queryResults:p,pluginActions:g=[],itemActions:m=[],showIcons:y})=>{let b=(0,h.useMemo)(()=>{if(a&&a.trim().length>0)return(0,o.jsx)(u.InfoTooltip,{id:s,description:a,enterDelay:100,children:(0,o.jsx)(tJ,{"aria-label":"panel description",size:"small",children:(0,o.jsx)(t_.default,{"aria-describedby":"info-tooltip","aria-hidden":!1,fontSize:"inherit",sx:{color:e=>e.palette.text.secondary}})})})},[s,a]),v=l&&l.length>0&&(0,o.jsx)(tF,{links:l,variant:"panel"}),x=void 0===e&&r,w=(0,h.useMemo)(()=>{let e=p.some(e=>e.data),t=p.some(e=>e.isFetching),n=p.filter(e=>e.error);if(t&&e)return(0,o.jsx)(ty.A,{"aria-label":"loading",size:"1.125rem"});if(n.length>0){let e=n.map(e=>e.error).map(e=>e.message).join("\n");return(0,o.jsx)(u.InfoTooltip,{description:e,children:(0,o.jsx)(tJ,{"aria-label":"panel errors",size:"small",children:(0,o.jsx)(tR.default,{fontSize:"inherit",sx:{color:e=>e.palette.error.main}})})})}},[p]),j=(0,h.useMemo)(()=>{let e=p.flatMap(e=>e.data?.metadata?.notices??[]);if(e.length>0){let t=e[e.length-1];return(0,o.jsx)(u.InfoTooltip,{description:t.message,children:(0,o.jsx)(tJ,{"aria-label":"panel notices",size:"small",children:tY[t.type]})})}},[p]),A=(0,h.useMemo)(()=>{if(void 0!==t)return(0,o.jsx)(u.InfoTooltip,{description:c.viewPanel,children:(0,o.jsx)(tJ,{"aria-label":d.viewPanel(i),size:"small",onClick:t.onViewPanelClick,children:t.isPanelViewed?(0,o.jsx)(tE.default,{fontSize:"inherit"}):(0,o.jsx)(tD.default,{fontSize:"inherit"})})})},[t,i]),S=(0,h.useMemo)(()=>n?.onClick?(0,o.jsx)(u.InfoTooltip,{description:c.queryView,children:(0,o.jsx)(tJ,{"aria-label":d.openQueryView(i),size:"small",onClick:n.onClick,children:(0,o.jsx)(tC.default,{fontSize:"inherit"})})}):null,[n,i]),C=(0,h.useMemo)(()=>{if(void 0!==e)return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(u.InfoTooltip,{description:c.editPanel,children:(0,o.jsx)(tJ,{"aria-label":d.editPanel(i),size:"small",onClick:e.onEditPanelClick,children:(0,o.jsx)(tk.default,{fontSize:"inherit"})})}),(0,o.jsx)(u.InfoTooltip,{description:c.duplicatePanel,children:(0,o.jsx)(tJ,{"aria-label":d.duplicatePanel(i),size:"small",onClick:e.onDuplicatePanelClick,children:(0,o.jsx)(tM.default,{fontSize:"inherit",sx:{transform:"scale(0.925)"}})})}),(0,o.jsx)(u.InfoTooltip,{description:c.deletePanel,children:(0,o.jsx)(tJ,{"aria-label":d.deletePanel(i),size:"small",onClick:e.onDeletePanelClick,children:(0,o.jsx)(tO.default,{fontSize:"inherit"})})})]})},[e,i]),E=(0,h.useMemo)(()=>{if(C&&!t?.isPanelViewed)return(0,o.jsx)(e_.A,{sx:{background:e=>e.palette.background.default},children:(0,o.jsx)(u.InfoTooltip,{description:c.movePanel,children:(0,o.jsx)(tJ,{"aria-label":d.movePanel(i),size:"small",children:(0,o.jsx)(tP.default,{className:"drag-handle",sx:{cursor:"grab"},fontSize:"inherit"})})})})},[C,t,i]),D=(0,o.jsx)(e_.A,{sx:{flexGrow:1}}),k=({children:e})=>"hover"===y?(0,o.jsx)(e_.A,{sx:{display:"var(--panel-hover, none)"},children:e}):(0,o.jsx)(o.Fragment,{children:e});return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(tX,{sx:e=>({[e.containerQueries(f).between(0,170)]:{display:"flex"}}),children:[D,(0,o.jsxs)(k,{children:[(0,o.jsxs)(tQ,{title:i,children:[b," ",v," ",w," ",j," ",x," ",S,A," ",g," ",m,C]}),E]})]}),(0,o.jsxs)(tX,{sx:e=>({[e.containerQueries(f).between(170,220)]:{display:"flex"}}),children:[(0,o.jsxs)(k,{children:[b," ",v]}),D," ",w,j,(0,o.jsxs)(k,{children:[x,A,(0,o.jsxs)(tQ,{title:i,children:[C," ",S," ",g," ",m]}),E]})]}),(0,o.jsxs)(tX,{sx:e=>({display:"flex",[e.containerQueries(f).down(220)]:{display:"none"}}),children:[(0,o.jsxs)(k,{children:[b," ",v]}),D," ",w,j,(0,o.jsxs)(k,{children:[x,S,A," ",C,g.length<=1?g:(0,o.jsx)(tQ,{title:i,children:g}),m.length<=1?m:(0,o.jsx)(u.InfoTooltip,{description:`${m.length} actions`,children:(0,o.jsx)(tQ,{icon:(0,o.jsx)(tV.default,{fontSize:"inherit"}),direction:"column",title:i,children:m})}),E]})]})]})},tQ=({children:e,title:t,icon:n,direction:r="row",placement:i="bottom",offsetX:a=-2,offsetY:s=-25})=>{let[l,u]=(0,h.useState)(null);if(!((0,h.isValidElement)(e)||Array.isArray(e)&&e.some(h.isValidElement)))return null;let c=()=>{u(null)},p=!!l,f=p?"actions-menu":void 0;return(0,o.jsxs)(e_.A,{sx:{background:e=>e.palette.background.default},children:[(0,o.jsx)(tJ,{className:"show-actions","aria-describedby":f,onClick:e=>{u(l?null:e.currentTarget)},"aria-label":d.showPanelActions(t),size:"small",children:n??(0,o.jsx)(tT.default,{fontSize:"inherit"})}),(0,o.jsx)(tb.A,{id:f,open:p,anchorEl:l,placement:i,modifiers:[{name:"offset",options:{offset:[a,s]}}],sx:{backgroundColor:e=>e.palette.background.paper,borderRadius:1,boxShadow:e=>e.shadows[4]},children:(0,o.jsx)(tS,{onClickAway:c,children:(0,o.jsx)(th.A,{direction:r,alignItems:"center",sx:{padding:1},onClick:c,children:e})})})]})};function t0({actions:e,variableState:t,disabledWithEmptySelection:n}){let{selectionMap:r}=(0,u.useSelection)(),{actionStatuses:i,setActionStatus:a}=(0,u.useItemActions)(),[s,l]=(0,h.useState)({open:!1}),c=(0,h.useCallback)(async(e,n)=>{n?await (0,P.executeAction)({action:e,selectionMap:new Map([[n.id,n.data]]),variableState:t,setActionStatus:a}):await (0,P.executeAction)({action:e,selectionMap:r,variableState:t,setActionStatus:a})},[r,t,a]),d=(0,h.useCallback)((e,t)=>{e.confirmMessage?l({open:!0,action:e,item:t}):c(e,t)},[c]),p=(0,h.useCallback)(()=>l(e=>({...e,open:!1})),[]),f=(0,h.useCallback)(async()=>{l(e=>({...e,open:!1})),s.action&&await c(s.action,s.item)},[s.action,c,s.item]),g=n&&0===r.size,m=(0,h.useMemo)(()=>{if(!e?.length)return[];let t=[];for(let n of e){if(!n.enabled)continue;let e=i.get(n.name)?.loading??!1,r=n.icon?P.ACTION_ICONS.find(e=>e.value===n.icon):void 0;t.push((0,o.jsx)(u.InfoTooltip,{description:n.name,children:(0,o.jsx)(tJ,{size:"small",disabled:e||g,onClick:e=>{e.stopPropagation(),d(n)},"aria-label":n.name,children:e?(0,o.jsx)(ty.A,{size:14}):r?r.icon:(0,o.jsx)(e_.A,{component:"span",sx:{fontSize:"0.75rem",px:.5},children:n.name})})},n.name))}return t},[e,i,d,g]),y=(0,h.useCallback)(t=>{if(!e?.length)return[];let n=[];for(let r of e){if(!r.enabled)continue;let e=i.get(r.name)?.itemStatuses?.get(t.id)?.loading??!1,a=r.icon?P.ACTION_ICONS.find(e=>e.value===r.icon):void 0;n.push((0,o.jsx)(u.InfoTooltip,{description:r.name,children:(0,o.jsx)(tJ,{size:"small",disabled:e||g,onClick:e=>{e.stopPropagation(),d(r,t)},"aria-label":r.name,children:e?(0,o.jsx)(ty.A,{size:14}):a?a.icon:(0,o.jsx)(e_.A,{component:"span",sx:{fontSize:"0.75rem",px:.5},children:r.name})})},`${r.name}-${t.id}`))}return n},[e,i,g,d]);return{actionButtons:m,confirmDialog:(0,h.useMemo)(()=>(0,o.jsxs)(u.Dialog,{open:s.open&&!!s.action,onClose:p,children:[(0,o.jsx)(u.Dialog.Header,{onClose:p,children:s.action?.name?`Confirm: ${s.action.name}`:"Confirm Action"}),(0,o.jsx)(u.Dialog.Content,{children:s.action?.confirmMessage??"Are you sure you want to perform this action?"}),(0,o.jsxs)(u.Dialog.Actions,{children:[(0,o.jsx)(u.Dialog.PrimaryButton,{onClick:f,children:"Confirm"}),(0,o.jsx)(u.Dialog.SecondaryButton,{onClick:p,children:"Cancel"})]})]}),[s.open,s.action,p,f]),getItemActionButtons:y}}function t1({id:e,title:t,description:n,links:r,queryResults:i,readHandlers:a,editHandlers:s,sx:l,extra:c,pluginActions:d,itemActionsListConfig:p,showIcons:g,viewQueriesHandler:m,dimension:y,...b}){let v=`${e}-title`,x=`${e}-description`,w=(0,P.useReplaceVariablesInString)(t),j=(0,P.useReplaceVariablesInString)(n),A=(0,P.useAllVariableValues)(),S=(0,h.useRef)(null),C=!!(S.current&&y?.width)&&S.current.scrollWidth>S.current.clientWidth,{actionButtons:E,confirmDialog:D}=t0({actions:p,variableState:A,disabledWithEmptySelection:!0});return(0,o.jsxs)(o.Fragment,{children:[w?(0,o.jsx)(tf.A,{id:e,component:"header","aria-labelledby":v,"aria-describedby":x,disableTypography:!0,title:(0,o.jsxs)(th.A,{direction:"row",alignItems:"center",height:"var(--panel-header-height, 30px)",children:[(0,o.jsx)(tg.A,{title:w,disableHoverListener:!C,children:(0,o.jsx)(tm.A,{id:v,variant:"subtitle1",ref:S,sx:{lineHeight:"24px",minHeight:"26px",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:w})}),(0,o.jsx)(tZ,{title:w,description:j,descriptionTooltipId:x,links:r,readHandlers:a,editHandlers:s,viewQueriesHandler:m,extra:c,queryResults:i,pluginActions:d,itemActions:E,showIcons:g})]}),sx:(0,u.combineSx)(e=>({containerType:"inline-size",containerName:f,padding:e.spacing(1),borderBottom:`solid 1px ${e.palette.divider}`,".MuiCardHeader-content":{overflow:"hidden"}}),l),...b}):(0,o.jsx)(th.A,{id:e,component:"header","aria-describedby":x,sx:(0,u.combineSx)({position:"absolute",right:0,top:0,zIndex:5,containerType:"inline-size",containerName:f},l),...b,children:(0,o.jsx)(tZ,{title:w,description:j,descriptionTooltipId:x,links:r,readHandlers:a,editHandlers:s,viewQueriesHandler:m,extra:c,queryResults:i,pluginActions:d,itemActions:E,showIcons:g})}),D]})}let t2=(0,h.memo)(function(e){let{definition:t,readHandlers:n,editHandlers:r,onMouseEnter:i,onMouseLeave:a,sx:s,panelOptions:l,panelGroupItemId:c,viewQueriesHandler:d,...p}=e,f=(0,u.useId)("Panel"),g=`${f}-header`,[m,y]=(0,h.useState)(null),{width:b,height:v}=(0,tl.default)({ref:m}),x=(0,h.useMemo)(()=>{if(void 0!==b&&void 0!==v)return{width:b,height:v}},[b,v]),{queryResults:w}=(0,P.useDataQueriesContext)(),{getPlugin:j}=(0,P.usePluginRegistry)(),A=(0,h.useMemo)(()=>({spec:t.spec.plugin.spec,queryResults:w.map(e=>({definition:e.definition,data:e.data})),contentDimensions:x,definition:t}),[t,x,w]),[S,C]=(0,h.useState)([]);(0,h.useEffect)(()=>{(async()=>{let e=t.spec.plugin.kind;if(!e||!A||!j||"function"!=typeof j)return C([]);try{let t=await j({kind:"Panel",name:e});if(!t||"object"!=typeof t||!t.actions||!Array.isArray(t.actions)||0===t.actions.length)return void C([]);let n=t.actions.filter(e=>!e.location||"header"===e.location).map((e,t)=>{let n=e.component;try{return(0,o.jsx)(n,{...A},`plugin-action-${t}`)}catch(e){return console.warn(`Failed to render plugin action ${t}:`,e),null}}).filter(e=>!!e);C(n)}catch(e){console.warn("Failed to load plugin actions:",e),C([])}})()},[t.spec.plugin.kind,A,j]);let E=l?.showIcons??(r||n?.isPanelViewed?"always":"hover"),D=t.spec.plugin.spec?.actions?t.spec.plugin.spec.actions:void 0,k=D?.enabled&&D.displayInHeader?D.actionsList:[];return(0,o.jsx)(u.SelectionProvider,{children:(0,o.jsx)(u.ItemActionsProvider,{children:(0,o.jsxs)(to.A,{component:"section",sx:(0,u.combineSx)({width:"100%",height:"100%",display:"flex",flexFlow:"column nowrap",":hover":{"--panel-hover":"block"}},s),variant:"outlined",onMouseEnter:e=>{i?.(e)},onMouseLeave:e=>{a?.(e)},"aria-labelledby":g,"aria-describedby":g,"data-testid":"panel",...p,children:[!l?.hideHeader&&(0,o.jsx)(t1,{extra:l?.extra?.({panelDefinition:t,panelGroupItemId:c}),id:g,title:t.spec.display?.name??"",description:t.spec.display?.description,queryResults:w,readHandlers:n,editHandlers:r,viewQueriesHandler:d,links:t.spec.links,pluginActions:S,itemActionsListConfig:k,showIcons:E,sx:{py:"2px",pl:"8px",pr:"2px"},dimension:x}),(0,o.jsx)(ts.A,{component:"figure",sx:{position:"relative",overflow:"hidden",flexGrow:1,margin:0,padding:0,":last-child":{padding:0}},ref:y,children:(0,o.jsx)(u.ErrorBoundary,{FallbackComponent:u.ErrorAlert,resetKeys:[t.spec,w],children:(0,o.jsx)(td,{definition:t,panelPluginKind:t.spec.plugin.kind,spec:t.spec.plugin.spec,contentDimensions:x,queryResults:w})})})]})})})});var t3=n(6227);function t9({open:e,queryDefinitions:t,onClose:n}){let r=(0,h.useMemo)(()=>{if(!t?.length)return null;let e=[];return t.forEach((n,r)=>{n?.spec?.plugin?.kind&&n?.kind&&e.push((0,o.jsxs)(g().Fragment,{children:[(0,o.jsx)(P.PluginSpecEditor,{value:n.spec.plugin.spec,pluginSelection:{kind:n.spec.plugin.kind,type:n.kind},onChange:()=>{},isReadonly:!0}),r<t.length-1&&(0,o.jsx)(t3.A,{sx:{my:2}})]},`query-${r}`))}),e},[t]);return(0,o.jsxs)(u.Dialog,{open:e,onClose:n,maxWidth:"lg",fullWidth:!0,children:[(0,o.jsx)(u.Dialog.Header,{children:"Query Viewer"}),(0,o.jsx)(u.Dialog.Content,{children:r}),(0,o.jsx)(u.Dialog.Actions,{children:(0,o.jsx)(s.A,{variant:"outlined",color:"secondary",onClick:n,children:"Close"})})]})}function t4(e){let t,{panelGroupItemId:n,width:r}=e,i=ef(n),{spec:{queries:a}}=i,{isEditMode:s}=U(),{openEditPanel:l,openDeletePanelDialog:u,duplicatePanel:c,viewPanel:d}=eg(n),p=eC(),{onMouseEnter:f,onMouseLeave:g}=ta(`${n.panelGroupId}-${n.panelGroupItemLayoutId}`),{ref:m,inView:y}=e6({threshold:0,initialInView:!1,triggerOnce:!0}),{ref:b,inView:v}=e6({threshold:.2,initialInView:!1,triggerOnce:!1}),x=(0,eU.A)(b,m),[w,j]=(0,h.useState)(!1),A=(0,h.useMemo)(()=>s||!a?.length?void 0:{onClick:()=>{j(!0)}},[s,a]),S={isPanelViewed:te(p,n),onViewPanelClick:function(){void 0===p?d(n):d(void 0)}};s&&(t={onEditPanelClick:l,onDuplicatePanelClick:c,onDeletePanelClick:u});let C=(0,P.useSuggestedStepMs)(r),{data:E}=(0,P.usePlugin)("Panel",i.spec.plugin.kind),D=a??[],k=D.map(e=>({kind:e.spec.plugin.kind,spec:e.spec.plugin.spec})),O="function"==typeof E?.queryOptions?E?.queryOptions(i.spec.plugin.spec):E?.queryOptions;return(0,o.jsxs)(e_.A,{ref:x,tabIndex:-1,onMouseEnter:f,onMouseLeave:g,sx:{width:"100%",height:"100%",outline:"none"},children:[(0,o.jsx)(P.DataQueriesProvider,{definitions:k,options:{suggestedStepMs:C,...O},queryOptions:{enabled:y},children:v&&(0,o.jsx)(t2,{definition:i,readHandlers:S,editHandlers:t,viewQueriesHandler:A,panelOptions:e.panelOptions,panelGroupItemId:n})}),(0,o.jsx)(t9,{open:w,queryDefinitions:D,onClose:()=>j(!1)})]})}var t5=n(87275),t7=n(11061),t8=n(65168),t6=n(46001);function ne(e){let{panelGroupId:t,title:n,collapse:r}=e,i=(0,P.useReplaceVariablesInString)(n),{openAddPanel:a,openEditPanelGroup:s,moveUp:l,moveDown:p}=ea(t),{openDeletePanelGroupDialog:f}=ed(),{isEditMode:h}=U(),g=(0,o.jsx)(tm.A,{variant:"h2",children:i});return(0,o.jsx)(e_.A,{onClick:r?.onToggleOpen,sx:{display:"flex",justifyContent:"start",alignItems:"center",cursor:r?"pointer":"auto",backgroundColor:({palette:e})=>e.background.paper},"data-testid":"panel-group-header",children:r?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(tI.A,{sx:{marginRight:1},"aria-label":`${r.isOpen?"collapse":"expand"} group ${i}`,children:r.isOpen?(0,o.jsx)(t5.default,{}):(0,o.jsx)(t7.default,{})}),g,h&&(0,o.jsxs)(th.A,{direction:"row",marginLeft:"auto",children:[(0,o.jsx)(u.InfoTooltip,{description:c.addPanelToGroup,children:(0,o.jsx)(tI.A,{"aria-label":d.addPanelToGroup(i),onClick:e=>{e.stopPropagation(),a()},children:(0,o.jsx)(eR.default,{})})}),(0,o.jsx)(u.InfoTooltip,{description:c.editGroup,children:(0,o.jsx)(tI.A,{"aria-label":d.editGroup(i),onClick:e=>{e.stopPropagation(),s()},children:(0,o.jsx)(tk.default,{})})}),(0,o.jsx)(u.InfoTooltip,{description:c.deleteGroup,children:(0,o.jsx)(tI.A,{"aria-label":d.deleteGroup(i),onClick:e=>{e.stopPropagation(),f(t)},children:(0,o.jsx)(tO.default,{})})}),(0,o.jsx)(u.InfoTooltip,{description:c.moveGroupDown,children:(0,o.jsx)(tI.A,{"aria-label":d.moveGroupDown(i),disabled:void 0===p,onClick:e=>{e.stopPropagation(),p?.()},children:(0,o.jsx)(t6.default,{})})}),(0,o.jsx)(u.InfoTooltip,{description:c.moveGroupUp,children:(0,o.jsx)(tI.A,{"aria-label":d.moveGroupUp(i),disabled:void 0===l,onClick:e=>{e.stopPropagation(),l?.()},children:(0,o.jsx)(t8.default,{})})})]})]}):g})}function nt({panelGroupId:e,groupDefinition:t,gridColWidth:n,panelFullHeight:r,panelOptions:i,isEditMode:a=!1,onLayoutChange:s,onWidthChange:l,repeatVariable:c}){let d=(0,h.useMemo)(()=>(0,e1.WidthProvider)(e1.Responsive),[]),p=(0,eV.A)(),f=(0,e0.useViewPanelGroup)(),[g,m]=(0,h.useState)(!t.isCollapsed),y=f?.panelGroupId===e&&f.repeatVariable?.[0]===c?.[0]&&f.repeatVariable?.[1]===c?.[1],b=f?.panelGroupItemLayoutId,v=!f||y;(0,h.useEffect)(()=>{y&&m(!0)},[y]);let x=(0,h.useMemo)(()=>b?t.itemLayouts.map(e=>e.i===b?{h:Math.round(((r??window.innerHeight)-48)/40),i:b,w:48,x:0,y:0}:e):t.itemLayouts,[t.itemLayouts,b,r]);return(0,o.jsxs)(e2,{sx:{display:v?"block":"none",height:b?`${r}px`:"unset",overflow:b?"hidden":"unset"},children:[t.title&&(0,o.jsx)(ne,{panelGroupId:e,title:t.title,collapse:void 0===t.isCollapsed?void 0:{isOpen:g,onToggleOpen:()=>m(e=>!e)}}),(0,o.jsx)(eQ,{in:g,unmountOnExit:!0,appear:!1,"data-testid":"panel-group-content",children:(0,o.jsx)(d,{className:"layout",breakpoints:{sm:p.breakpoints.values.sm,xxs:0},cols:I,rowHeight:30,draggableHandle:".drag-handle",resizeHandles:["se"],isDraggable:a&&!y,isResizable:a&&!y,margin:[10,10],containerPadding:[0,10],layouts:{sm:x},onLayoutChange:s,onWidthChange:l,allowOverlap:y,children:x.map(({i:t,w:r})=>(0,o.jsx)("div",{style:{display:b?b===t?"unset":"none":"unset"},children:(0,o.jsx)(u.ErrorBoundary,{FallbackComponent:u.ErrorAlert,children:(0,o.jsx)(t4,{panelOptions:i,panelGroupItemId:{panelGroupId:e,panelGroupItemLayoutId:t,repeatVariable:c},width:nn(r,n)})})},t))})})]})}let nn=(e,t)=>Number.isFinite(e)?Math.round(t*e+10*Math.max(0,e-1)):e;function nr(e){let{panelGroupId:t,panelOptions:n,panelFullHeight:r}=e,i=er(t),{updatePanelGroupLayouts:a}=ea(t),s=eC(),{isEditMode:l}=U(),[u,c]=(0,h.useState)(0),d=s?.panelGroupId===t,p=(e,t)=>{let n=t.sm;n&&!d&&a(n)},f=(e,t,n,r)=>{c((e-t[0]*(n-1)-2*r[0])/n)};return(0,o.jsx)(o.Fragment,{children:i.repeatVariable?(0,o.jsx)(ni,{repeatVariableName:i.repeatVariable,panelGroupId:t,groupDefinition:i,gridColWidth:u,panelFullHeight:r,panelOptions:n,isEditMode:l,onLayoutChange:p,onWidthChange:f}):(0,o.jsx)(nt,{panelGroupId:t,groupDefinition:i,gridColWidth:u,panelFullHeight:r,panelOptions:n,isEditMode:l,onLayoutChange:p,onWidthChange:f})})}function ni({repeatVariableName:e,panelGroupId:t,groupDefinition:n,gridColWidth:r,panelFullHeight:i,panelOptions:a,isEditMode:s=!1,onLayoutChange:l,onWidthChange:u}){let c=(0,P.useVariableValues)(),d=c[e];return void 0!==d&&Array.isArray(d.value)&&0!==d.value.length?(0,o.jsx)(o.Fragment,{children:d.value.map(d=>(0,o.jsx)(P.VariableContext.Provider,{value:{state:{...c,[e]:{value:d,loading:!1}}},children:(0,o.jsx)(nt,{panelGroupId:t,groupDefinition:n,gridColWidth:r,panelFullHeight:i,panelOptions:a,isEditMode:s,onLayoutChange:l,onWidthChange:u,repeatVariable:[e,d]})},`${e}-${d}`))}):(0,o.jsx)(nt,{panelGroupId:t,groupDefinition:n,gridColWidth:r,panelFullHeight:i,panelOptions:a,isEditMode:s,onLayoutChange:l,onWidthChange:u})}let{useDebugValue:na}=g(),{useSyncExternalStoreWithSelector:no}=b,ns=e=>e;function nl(e,t=ns,n){let r=no(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return na(r),r}function nu(e,t){var n,r,i;let a={},o=[];return n=e,r=t,i=(e,t)=>{a[t]||(o.push(e),a[t]=!0)},n.forEach(e=>i(e,e.spec.name)),r.forEach(e=>e.definitions.forEach(t=>i(t,t.spec.name,e.source))),o}function nc(e,t){let n={value:null,loading:!1,overriding:!1,overridden:!1};switch(e.kind){case"TextVariable":n.value=t??e.spec.value;break;case"ListVariable":if(n.options=[],n.value=t??e.spec.defaultValue??null,n.options.length>0&&!n.value){let t=n.options[0]?.value??null;null!==t&&(n.value=e.spec.allowMultiple?[t]:t)}Array.isArray(n.value)&&1===n.value.length&&n.value[0]===M.DEFAULT_ALL_VALUE&&(n.value=M.DEFAULT_ALL_VALUE)}return n}function nd(e,t,n=[]){let r=new P.VariableStoreStateMap,i={};e.forEach(e=>{i[e.spec.name]=!0},{});let a={};return n.forEach(e=>{let n=e.source;e.definitions.forEach(e=>{let o=e.spec.name,s=t[o];r.set({source:n,name:o},{...nc(e,s||null),overridden:!!i[o]}),i[o]=!0,a[e.spec.name]=!0})},{}),e.forEach(e=>{let n=e.spec.name,i=t[n];r.set({name:n},{...nc(e,i||null),overriding:!!a[n]})}),i={},n.slice().reverse().forEach(e=>{let t=e.source;e.definitions.forEach(e=>{let n=e.spec.name,a=r.get({source:t,name:n});a&&(a.overriding=!!i[n]),i[n]=!0})}),r}var np=n(57348);let nf="var-",nh={encode:function(e){return Array.isArray(e)?e.join(","):e},decode:e=>{if("string"==typeof e){if(!e)return null;let t=e.split(",");return 1===t.length?t[0]:t}return""}},ng=(0,h.createContext)(void 0);function nm(){let e=(0,h.useContext)(ng);if(!e)throw Error("VariableStoreContext not initialized");return e}function ny(e){return j(nm(),t=>{let n={};return(e??t.variableDefinitions.map(e=>e.spec.name)).forEach(e=>{let r=t.variableState.get({name:e});r&&!r.overridden&&(n[e]=r)}),t.externalVariableDefinitions.forEach(e=>{let r=e.source;e.definitions.forEach(e=>{let i=e.spec.name,a=t.variableState.get({name:i,source:r});a&&!a.overridden&&(n[i]=a)})}),n},(e,t)=>JSON.stringify(e)===JSON.stringify(t))}function nb(e,t){return nl(nm(),n=>({state:n.variableState.get({name:e,source:t}),definition:((t?n.externalVariableDefinitions.find(e=>e.source===t)?.definitions:n.variableDefinitions)||[]).find(t=>t.spec.name===e)}))}function nv(){return j(nm(),e=>({setVariableValue:e.setVariableValue,setVariableLoading:e.setVariableLoading,setVariableOptions:e.setVariableOptions,setVariableDefinitions:e.setVariableDefinitions,setVariableDefaultValues:e.setVariableDefaultValues,getSavedVariablesStatus:e.getSavedVariablesStatus}),O)}function nx(){return nl(nm(),e=>e.variableDefinitions)}function nw(){return nl(nm(),e=>e.externalVariableDefinitions)}function nj({children:e,builtinVariables:t}){let n=ny(),r=nx(),i=nw(),{absoluteTimeRange:a}=(0,P.useTimeRange)(),s=(0,h.useMemo)(()=>{let e={};return Object.keys(n).forEach(t=>{let a={...n[t]};if(a.value===M.DEFAULT_ALL_VALUE){let e=nu(r,i).find(e=>e.spec.name===t);e?.kind==="ListVariable"&&e.spec.customAllValue?a.value=e.spec.customAllValue:a.value=a.options?.map(e=>e.value)??null}e[t]=a}),e},[n,r,i]),l=(0,h.useMemo)(()=>{let e=[{kind:"BuiltinVariable",spec:{name:"__from",value:()=>a.start.valueOf().toString(),source:"Dashboard",display:{name:"__from",description:"Start time of the current time range in unix millisecond epoch",hidden:!0}}},{kind:"BuiltinVariable",spec:{name:"__to",value:()=>a.end.valueOf().toString(),source:"Dashboard",display:{name:"__to",description:"End time of the current time range in unix millisecond epoch",hidden:!0}}},{kind:"BuiltinVariable",spec:{name:"__range",value:()=>(0,M.formatDuration)((0,M.intervalToDuration)(a)),source:"Dashboard",display:{name:"__range",description:"The range for the current dashboard in human readable format",hidden:!0}}},{kind:"BuiltinVariable",spec:{name:"__range_s",value:()=>((a.end.valueOf()-a.start.valueOf())/1e3).toString(),source:"Dashboard",display:{name:"__range_s",description:"The range for the current dashboard in second",hidden:!0}}},{kind:"BuiltinVariable",spec:{name:"__range_ms",value:()=>(a.end.valueOf()-a.start.valueOf()).toString(),source:"Dashboard",display:{name:"__range_ms",description:"The range for the current dashboard in millisecond",hidden:!0}}}];return t?.forEach(t=>e.push(t)),e},[a,t]);return(0,o.jsx)(P.BuiltinVariableContext.Provider,{value:{variables:l},children:(0,o.jsx)(P.VariableContext.Provider,{value:{state:s},children:e})})}function nA({initialVariableDefinitions:e=[],externalVariableDefinitions:t=[],queryParams:n,initialVariableValues:r}){var i;let a,o={...(i=n?n[0]:{},a={},Object.keys(i).forEach(e=>{let t=i[e];t&&(a[e.replace(nf,"")]=t)}),a),...r};return y()(C(k((r,i)=>({variableState:nd(e,o,t),variableDefinitions:e,externalVariableDefinitions:t,setVariableDefinitions(e){r(n=>{n.variableDefinitions=e,n.variableState=nd(e,o,t)},!1,"[Variables] setVariableDefinitions")},setVariableOptions(e,t,n){r(r=>{let i=r.variableState.get({name:e,source:n});i&&(i.options=t)},!1,"[Variables] setVariableOptions")},setVariableLoading(e,t,n){r(r=>{let i=r.variableState.get({name:e,source:n});i&&(i.loading=t)},!1,"[Variables] setVariableLoading")},setVariableValue:(e,t,i)=>r(r=>{let a=t,o=r.variableState.get({name:e,source:i});if(o){(Array.isArray(a)&&a.includes(M.DEFAULT_ALL_VALUE)&&(a=a.at(-1)===M.DEFAULT_ALL_VALUE?M.DEFAULT_ALL_VALUE:a.filter(e=>e!==M.DEFAULT_ALL_VALUE)),n)&&(0,n[1])({[`${nf}${e}`]:a});o.value=a}},!1,"[Variables] setVariableValue"),setVariableDefaultValues:()=>{let e=i().variableDefinitions,t=i().variableState,n=(0,D.jM)(e,e=>{e.forEach((n,r)=>{let i=n.spec.name;if("ListVariable"===n.kind){let a=t.get({name:i});a?.value!==void 0&&(e[r]={kind:"ListVariable",spec:(0,D.jM)(n.spec,e=>{e.defaultValue=a.value})})}else if("TextVariable"===n.kind){let a=t.get({name:i}),o="string"==typeof a?.value?a.value:"";a?.value!==void 0&&(e[r]={kind:"TextVariable",spec:(0,D.jM)(n.spec,e=>{e.value=o})})}})});return r(e=>{e.variableDefinitions=n},!1,"[Variables] setVariableDefaultValues"),n},getSavedVariablesStatus:()=>(function(e,t){let n=!1,r=[];for(let i of e){let e=i.spec.name;if("ListVariable"===i.kind){let a=t.get({name:e});a?.value!==null&&a?.value!==i.spec.defaultValue&&(r.push(e),n=!0)}else if("TextVariable"===i.kind){let a=t.get({name:e}),o="string"==typeof a?.value?a.value:"";i.spec.value!==o&&(r.push(e),n=!0)}}return{isSavedVariableModified:n,modifiedVariableNames:r}})(i().variableDefinitions,i().variableState)}))))}function nS({children:e,initialVariableDefinitions:t=[],externalVariableDefinitions:n=[],builtinVariableDefinitions:r=[],initialVariableValues:i}){let[a]=(0,h.useState)(()=>nA({initialVariableDefinitions:t,externalVariableDefinitions:n,initialVariableValues:i}));return(0,o.jsx)(ng.Provider,{value:a,children:(0,o.jsx)(nj,{builtinVariables:r,children:e})})}function nC({children:e,initialVariableDefinitions:t=[],externalVariableDefinitions:n=[],builtinVariableDefinitions:r=[]}){let i,a=(i={},nu(t,n).forEach(e=>{var t;i[t=e.spec.name,`${nf}${t}`]=nh}),(0,np.useQueryParams)(i,{updateType:"replaceIn"})),[s]=(0,h.useState)(()=>nA({initialVariableDefinitions:t,externalVariableDefinitions:n,queryParams:a}));return(0,o.jsx)(ng.Provider,{value:s,children:(0,o.jsx)(nj,{builtinVariables:r,children:e})})}var nE=n(34007),nD=n(347),nk=n(91394),nO=n(70561),nP=n(3399),nM=n(5139),nT=n(68003),nR=n(11502);let nL=h.createContext({});var n_=n(2203),nV=n(73397);function nI(e){return(0,eK.Ay)("MuiAccordion",e)}let nH=(0,eq.A)("MuiAccordion",["root","heading","rounded","expanded","disabled","gutters","region"]),nN=(0,e$.A)(nR.A,{name:"MuiAccordion",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:n}=e;return[{[`& .${nH.region}`]:t.region},t.root,!n.square&&t.rounded,!n.disableGutters&&t.gutters]}})((0,eB.A)(({theme:e})=>{let t={duration:e.transitions.duration.shortest};return{position:"relative",transition:e.transitions.create(["margin"],t),overflowAnchor:"none","&::before":{position:"absolute",left:0,top:-1,right:0,height:1,content:'""',opacity:1,backgroundColor:(e.vars||e).palette.divider,transition:e.transitions.create(["opacity","background-color"],t)},"&:first-of-type":{"&::before":{display:"none"}},[`&.${nH.expanded}`]:{"&::before":{opacity:0},"&:first-of-type":{marginTop:0},"&:last-of-type":{marginBottom:0},"& + &":{"&::before":{display:"none"}}},[`&.${nH.disabled}`]:{backgroundColor:(e.vars||e).palette.action.disabledBackground}}}),(0,eB.A)(({theme:e})=>({variants:[{props:e=>!e.square,style:{borderRadius:0,"&:first-of-type":{borderTopLeftRadius:(e.vars||e).shape.borderRadius,borderTopRightRadius:(e.vars||e).shape.borderRadius},"&:last-of-type":{borderBottomLeftRadius:(e.vars||e).shape.borderRadius,borderBottomRightRadius:(e.vars||e).shape.borderRadius,"@supports (-ms-ime-align: auto)":{borderBottomLeftRadius:0,borderBottomRightRadius:0}}}},{props:e=>!e.disableGutters,style:{[`&.${nH.expanded}`]:{margin:"16px 0"}}}]}))),nz=(0,e$.A)("h3",{name:"MuiAccordion",slot:"Heading",overridesResolver:(e,t)=>t.heading})({all:"unset"}),n$=h.forwardRef(function(e,t){let n=(0,eG.b)({props:e,name:"MuiAccordion"}),{children:r,className:i,defaultExpanded:a=!1,disabled:s=!1,disableGutters:l=!1,expanded:u,onChange:c,square:d=!1,slots:p={},slotProps:f={},TransitionComponent:g,TransitionProps:m,...y}=n,[b,v]=(0,n_.A)({controlled:u,default:a,name:"Accordion",state:"expanded"}),x=h.useCallback(e=>{v(!b),c&&c(e,!b)},[b,c,v]),[w,...j]=h.Children.toArray(r),A=h.useMemo(()=>({expanded:b,disabled:s,disableGutters:l,toggle:x}),[b,s,l,x]),S={...n,square:d,disabled:s,disableGutters:l,expanded:b},C=(e=>{let{classes:t,square:n,expanded:r,disabled:i,disableGutters:a}=e;return(0,ez.A)({root:["root",!n&&"rounded",r&&"expanded",i&&"disabled",!a&&"gutters"],heading:["heading"],region:["region"]},nI,t)})(S),E={slots:{transition:g,...p},slotProps:{transition:m,...f}},[D,k]=(0,nV.A)("root",{elementType:nN,externalForwardedProps:{...E,...y},className:(0,eI.A)(C.root,i),shouldForwardComponentProp:!0,ownerState:S,ref:t,additionalProps:{square:d}}),[O,P]=(0,nV.A)("heading",{elementType:nz,externalForwardedProps:E,className:C.heading,ownerState:S}),[M,T]=(0,nV.A)("transition",{elementType:eQ,externalForwardedProps:E,ownerState:S});return(0,o.jsxs)(D,{...k,children:[(0,o.jsx)(O,{...P,children:(0,o.jsx)(nL.Provider,{value:A,children:w})}),(0,o.jsx)(M,{in:b,timeout:"auto",...T,children:(0,o.jsx)("div",{"aria-labelledby":w.props.id,id:w.props["aria-controls"],role:"region",className:C.region,children:j})})]})});var nB=n(1337);function nG(e){return(0,eK.Ay)("MuiAccordionSummary",e)}let nF=(0,eq.A)("MuiAccordionSummary",["root","expanded","focusVisible","disabled","gutters","contentGutters","content","expandIconWrapper"]),nW=(0,e$.A)(nB.A,{name:"MuiAccordionSummary",slot:"Root",overridesResolver:(e,t)=>t.root})((0,eB.A)(({theme:e})=>{let t={duration:e.transitions.duration.shortest};return{display:"flex",width:"100%",minHeight:48,padding:e.spacing(0,2),transition:e.transitions.create(["min-height","background-color"],t),[`&.${nF.focusVisible}`]:{backgroundColor:(e.vars||e).palette.action.focus},[`&.${nF.disabled}`]:{opacity:(e.vars||e).palette.action.disabledOpacity},[`&:hover:not(.${nF.disabled})`]:{cursor:"pointer"},variants:[{props:e=>!e.disableGutters,style:{[`&.${nF.expanded}`]:{minHeight:64}}}]}})),nU=(0,e$.A)("span",{name:"MuiAccordionSummary",slot:"Content",overridesResolver:(e,t)=>t.content})((0,eB.A)(({theme:e})=>({display:"flex",textAlign:"start",flexGrow:1,margin:"12px 0",variants:[{props:e=>!e.disableGutters,style:{transition:e.transitions.create(["margin"],{duration:e.transitions.duration.shortest}),[`&.${nF.expanded}`]:{margin:"20px 0"}}}]}))),nq=(0,e$.A)("span",{name:"MuiAccordionSummary",slot:"ExpandIconWrapper",overridesResolver:(e,t)=>t.expandIconWrapper})((0,eB.A)(({theme:e})=>({display:"flex",color:(e.vars||e).palette.action.active,transform:"rotate(0deg)",transition:e.transitions.create("transform",{duration:e.transitions.duration.shortest}),[`&.${nF.expanded}`]:{transform:"rotate(180deg)"}}))),nK=h.forwardRef(function(e,t){let n=(0,eG.b)({props:e,name:"MuiAccordionSummary"}),{children:r,className:i,expandIcon:a,focusVisibleClassName:s,onClick:l,slots:u,slotProps:c,...d}=n,{disabled:p=!1,disableGutters:f,expanded:g,toggle:m}=h.useContext(nL),y={...n,expanded:g,disabled:p,disableGutters:f},b=(e=>{let{classes:t,expanded:n,disabled:r,disableGutters:i}=e;return(0,ez.A)({root:["root",n&&"expanded",r&&"disabled",!i&&"gutters"],focusVisible:["focusVisible"],content:["content",n&&"expanded",!i&&"contentGutters"],expandIconWrapper:["expandIconWrapper",n&&"expanded"]},nG,t)})(y),v={slots:u,slotProps:c},[x,w]=(0,nV.A)("root",{ref:t,shouldForwardComponentProp:!0,className:(0,eI.A)(b.root,i),elementType:nW,externalForwardedProps:{...v,...d},ownerState:y,additionalProps:{focusRipple:!1,disableRipple:!0,disabled:p,"aria-expanded":g,focusVisibleClassName:(0,eI.A)(b.focusVisible,s)},getSlotProps:e=>({...e,onClick:t=>{e.onClick?.(t),m&&m(t),l&&l(t)}})}),[j,A]=(0,nV.A)("content",{className:b.content,elementType:nU,externalForwardedProps:v,ownerState:y}),[S,C]=(0,nV.A)("expandIconWrapper",{className:b.expandIconWrapper,elementType:nq,externalForwardedProps:v,ownerState:y});return(0,o.jsxs)(x,{...w,children:[(0,o.jsx)(j,{...A,children:r}),a&&(0,o.jsx)(S,{...C,children:a})]})});function nJ(e){return(0,eK.Ay)("MuiAccordionDetails",e)}(0,eq.A)("MuiAccordionDetails",["root"]);let nY=(0,e$.A)("div",{name:"MuiAccordionDetails",slot:"Root",overridesResolver:(e,t)=>t.root})((0,eB.A)(({theme:e})=>({padding:e.spacing(1,2,2)}))),nX=h.forwardRef(function(e,t){let n=(0,eG.b)({props:e,name:"MuiAccordionDetails"}),{className:r,...i}=n,a=(e=>{let{classes:t}=e;return(0,ez.A)({root:["root"]},nJ,t)})(n);return(0,o.jsx)(nY,{className:(0,eI.A)(a.root,r),ref:t,ownerState:n,...i})});var nZ=n(45271),nQ=n(86742);function n0(e){var t=(0,h.useState)(function(){return(0,D.CN)("function"==typeof e?e():e,!0)}),n=t[1];return[t[0],(0,h.useCallback)(function(e){n("function"==typeof e?(0,D.jM)(e):(0,D.CN)(e))},[])]}var n1=n(49603),n2=n(4150),n3=n(30576),n9=n(10571),n4=n(38990);function n5({builtinVariableDefinitions:e}){let t=(0,h.useMemo)(()=>{let t={};for(let n of e){let e=t[n.spec.source];if(e){e.push(n);continue}t[n.spec.source]=[n]}return t},[e]),n=(0,h.useMemo)(()=>{let e=[];for(let n in t)e.includes(n)||e.push(n);return e},[t]);return(0,o.jsx)(o.Fragment,{children:n.map(e=>(0,o.jsxs)(n$,{sx:e=>({".MuiAccordionSummary-root":{backgroundColor:e.palette.background.lighter},".MuiAccordionDetails-root":{backgroundColor:e.palette.background.lighter}}),children:[(0,o.jsx)(nK,{expandIcon:(0,o.jsx)(n4.default,{}),"aria-controls":"builtin",id:"builtin",children:(0,o.jsx)(tm.A,{variant:"h2",children:(0,o.jsx)(u.InfoTooltip,{title:`${e} Built-in Variables`,description:"Variables computed during dashboard rendering.",children:(0,o.jsxs)("span",{children:[e," Built-in Variables"]})})})}),(0,o.jsx)(nX,{children:(0,o.jsx)(nD.A,{children:(0,o.jsxs)(nk.A,{sx:{minWidth:650},"aria-label":"table of external variables",children:[(0,o.jsx)(nO.A,{children:(0,o.jsxs)(nP.A,{children:[(0,o.jsx)(nZ.A,{children:"Name"}),(0,o.jsx)(nZ.A,{children:"Description"})]})}),(0,o.jsx)(nM.A,{children:(t[e]??[]).map(t=>(0,o.jsxs)(nP.A,{children:[(0,o.jsx)(nZ.A,{component:"th",scope:"row",sx:{fontWeight:"bold"},children:t.spec.name}),(0,o.jsx)(nZ.A,{children:t.spec.display?.description??""})]},e+"-"+t.spec.name))})]})})})]},e))})}function n7(e){return P.VARIABLE_TYPES.find(t=>t.kind===e)?.label}function n8(e){let[t,n]=n0(e.variableDefinitions),[r,i]=(0,h.useState)(null),[a,l]=(0,h.useState)("update"),c=e.externalVariableDefinitions,d=e.builtinVariableDefinitions,p=(0,h.useMemo)(()=>{let e,n,r;return e=[],r=new Set(n=t.map(e=>e.spec.name)),n.length!==r.size&&e.push("Variable names must be unique"),{errors:e,isValid:0===e.length}},[t]),[f]=(0,h.useMemo)(()=>[nd(t,{},c)],[c,t]),g=null!==r?t[r]:void 0,{openDiscardChangesConfirmationDialog:m,closeDiscardChangesConfirmationDialog:y}=eO(),b=e=>{n(t=>{t.splice(e,1)})},v=(e,t)=>{n(n=>{if("up"===t){let t=n[e-1],r=n[e];0!==e&&t&&r&&(n[e-1]=r,n[e]=t)}else{let t=n[e+1],r=n[e];if(e===n.length-1||!t||!r)return;n[e+1]=r,n[e]=t}})};return(0,o.jsxs)(o.Fragment,{children:[null!==r&&g&&(0,o.jsx)(re,{variableDefinitions:t,externalVariableDefinitions:c,builtinVariableDefinitions:d,currentEditingVariableDefinition:g,variableFormAction:a,onActionChange:l,onSave:e=>{n(t=>{t[r]=e,i(null)})},onClose:()=>{"create"===a&&b(r),i(null)}}),!g&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(e_.A,{sx:{display:"flex",alignItems:"center",padding:e=>e.spacing(1,2),borderBottom:e=>`1px solid ${e.palette.divider}`},children:[(0,o.jsx)(tm.A,{variant:"h2",children:"Edit Dashboard Variables"}),(0,o.jsxs)(th.A,{direction:"row",spacing:1,marginLeft:"auto",children:[(0,o.jsx)(s.A,{disabled:e.variableDefinitions===t||!p.isValid,variant:"contained",onClick:()=>{e.onChange(t)},children:"Apply"}),(0,o.jsx)(s.A,{color:"secondary",variant:"outlined",onClick:()=>{JSON.stringify(e.variableDefinitions)!==JSON.stringify(t)?m({onDiscardChanges:()=>{y(),e.onCancel()},onCancel:()=>{y()},description:"You have unapplied changes. Are you sure you want to discard these changes? Changes cannot be recovered."}):e.onCancel()},children:"Cancel"})]})]}),(0,o.jsx)(e_.A,{padding:2,sx:{overflowY:"scroll"},children:(0,o.jsxs)(th.A,{spacing:2,children:[(0,o.jsxs)(th.A,{spacing:2,children:[!p.isValid&&p.errors.map(e=>(0,o.jsx)(nE.A,{severity:"error",children:e},e)),(0,o.jsx)(nD.A,{children:(0,o.jsxs)(nk.A,{sx:{minWidth:650},"aria-label":"table of variables",children:[(0,o.jsx)(nO.A,{children:(0,o.jsxs)(nP.A,{children:[(0,o.jsx)(n6,{children:"Visibility"}),(0,o.jsx)(n6,{children:"Name"}),(0,o.jsx)(n6,{children:"Type"}),(0,o.jsx)(n6,{children:"Description"}),(0,o.jsx)(n6,{align:"right",children:"Actions"})]})}),(0,o.jsx)(nM.A,{children:t.map((e,r)=>(0,o.jsxs)(nP.A,{children:[(0,o.jsx)(n6,{component:"th",scope:"row",children:(0,o.jsx)(nT.A,{checked:e.spec.display?.hidden!==!0,onChange:e=>{var t;t=e.target.checked,n(e=>{let n=e[r];n&&(n.spec.display||(n.spec.display={name:n.spec.name,hidden:!1}),n.spec.display.hidden=!1===t)})}})}),(0,o.jsx)(n6,{component:"th",scope:"row",sx:{fontWeight:"bold"},children:(0,o.jsx)(rt,{name:e.spec.name,state:f.get({name:e.spec.name})})}),(0,o.jsx)(n6,{children:n7(e.kind)??e.kind}),(0,o.jsx)(n6,{children:e.spec.display?.description??""}),(0,o.jsxs)(n6,{align:"right",sx:{whiteSpace:"nowrap"},children:[(0,o.jsx)(tI.A,{onClick:()=>v(r,"up"),disabled:0===r,children:(0,o.jsx)(t8.default,{})}),(0,o.jsx)(tI.A,{onClick:()=>v(r,"down"),disabled:r===t.length-1,children:(0,o.jsx)(t6.default,{})}),(0,o.jsx)(tI.A,{onClick:()=>{l("update"),i(r)},children:(0,o.jsx)(n1.default,{})}),(0,o.jsx)(tI.A,{onClick:()=>{n(t=>{"TextVariable"===e.kind?t.push({...e,spec:{...e.spec,value:e.spec.value,name:`${e.spec.name}_copy`}}):t.push({...e,spec:{...e.spec,name:`${e.spec.name}_copy`}})})},children:(0,o.jsx)(tM.default,{})}),(0,o.jsx)(tI.A,{onClick:()=>b(r),children:(0,o.jsx)(n2.default,{})})]})]},e.spec.name))})]})}),(0,o.jsx)(e_.A,{display:"flex",children:(0,o.jsx)(s.A,{variant:"contained",startIcon:(0,o.jsx)(nQ.default,{}),sx:{marginLeft:"auto"},onClick:()=>{l("create"),n(e=>{e.push({kind:"TextVariable",spec:{name:"NewVariable",value:""}})}),i(t.length)},children:"Add Variable"})})]}),c&&!c.every(e=>0===e.definitions.length)&&c.map((e,t)=>e.definitions.length>0&&(0,o.jsxs)(n$,{sx:e=>({".MuiAccordionSummary-root":{backgroundColor:e.palette.background.lighter},".MuiAccordionDetails-root":{backgroundColor:e.palette.background.lighter}}),children:[(0,o.jsx)(nK,{expandIcon:(0,o.jsx)(n4.default,{}),"aria-controls":e.source,id:e.source,children:(0,o.jsx)(th.A,{flexDirection:"row",alignItems:"center",justifyContent:"start",children:(0,o.jsxs)(o.Fragment,{children:[e.tooltip?(0,o.jsx)(tm.A,{variant:"h2",children:(0,o.jsx)(u.InfoTooltip,{title:e.tooltip.title||"",description:e.tooltip.description||"",children:(0,o.jsxs)("span",{children:[(0,tH.A)(e.source)," Variables"]})})}):(0,o.jsxs)(tm.A,{variant:"h2",children:[(0,tH.A)(e.source)," Variables"]}),e.editLink&&(0,o.jsx)(tI.A,{href:e.editLink,target:"_blank",children:(0,o.jsx)(n9.default,{fontSize:"small"})})]})})}),(0,o.jsx)(nX,{children:(0,o.jsx)(nD.A,{children:(0,o.jsxs)(nk.A,{sx:{minWidth:650},"aria-label":"table of external variables",children:[(0,o.jsx)(nO.A,{children:(0,o.jsxs)(nP.A,{children:[(0,o.jsx)(n6,{children:"Visibility"}),(0,o.jsx)(n6,{children:"Name"}),(0,o.jsx)(n6,{children:"Type"}),(0,o.jsx)(n6,{children:"Description"}),(0,o.jsx)(n6,{align:"right",children:"Actions"})]})}),(0,o.jsx)(nM.A,{children:e.definitions.map(t=>(0,o.jsxs)(nP.A,{children:[(0,o.jsx)(n6,{component:"th",scope:"row",children:(0,o.jsx)(nT.A,{checked:t.spec.display?.hidden!==!0,disabled:!0})}),(0,o.jsx)(n6,{component:"th",scope:"row",sx:{fontWeight:"bold"},children:(0,o.jsx)(rt,{name:t.spec.name,state:f.get({name:t.spec.name,source:e.source})})}),(0,o.jsx)(n6,{children:n7(t.kind)??t.kind}),(0,o.jsx)(n6,{children:t.spec.display?.description??""}),(0,o.jsxs)(n6,{align:"right",children:[(0,o.jsx)(tg.A,{title:"Override",children:(0,o.jsx)(tI.A,{onClick:()=>{n(e=>{e.push(t)})},disabled:!!f.get({name:t.spec.name}),children:(0,o.jsx)(n3.default,{})})}),(0,o.jsx)(tI.A,{disabled:!0,children:(0,o.jsx)(t8.default,{})}),(0,o.jsx)(tI.A,{disabled:!0,children:(0,o.jsx)(t6.default,{})}),(0,o.jsx)(tI.A,{disabled:!0,children:(0,o.jsx)(n1.default,{})}),(0,o.jsx)(tI.A,{disabled:!0,children:(0,o.jsx)(n2.default,{})})]})]},t.spec.name))})]})})})]},t)),d&&(0,o.jsx)(n5,{builtinVariableDefinitions:d})]})})]})]})}let n6=(0,e$.A)(nZ.A)(({theme:e})=>({borderBottom:`solid 1px ${e.palette.divider}`}));function re({variableDefinitions:e,externalVariableDefinitions:t,builtinVariableDefinitions:n,currentEditingVariableDefinition:r,variableFormAction:i,onActionChange:a,onSave:s,onClose:l}){let{initialVariableValues:u,isLoading:c}=(0,P.useResolveListVariableValues)(e);return c?(0,o.jsx)(th.A,{sx:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%",width:"100%",overflow:"hidden"},children:(0,o.jsx)(ty.A,{"aria-label":"loading"})}):(0,o.jsx)(nS,{initialVariableDefinitions:e,externalVariableDefinitions:t,builtinVariableDefinitions:n,initialVariableValues:u,children:(0,o.jsx)(P.ValidationProvider,{children:(0,o.jsx)(P.VariableEditorForm,{initialVariableDefinition:r,action:i,isDraft:!0,onActionChange:a,onSave:s,onClose:l})})})}function rt(e){let{name:t,state:n}=e;return(0,o.jsxs)(o.Fragment,{children:[!n?.overridden&&`${t} `,!n?.overridden&&n?.overriding&&(0,o.jsx)(e_.A,{fontWeight:"normal",color:e=>e.palette.primary.main,children:"(overriding)"}),n?.overridden&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e_.A,{color:e=>e.palette.grey[500],children:t}),(0,o.jsx)(e_.A,{fontWeight:"normal",color:e=>e.palette.grey[500],children:"(overridden)"})]})]})}function rn({variant:e="text",label:t="Variables",color:n="primary",fullWidth:r}){let[i,a]=(0,h.useState)(!1),l=nx(),d=nw(),f=(0,P.useBuiltinVariableDefinitions)(),{setVariableDefinitions:g}=nv(),m=()=>{a(!1)};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(u.InfoTooltip,{description:c.editVariables,children:(0,o.jsx)(s.A,{startIcon:(0,o.jsx)(tk.default,{}),onClick:()=>{a(!0)},"aria-label":c.editVariables,variant:e,color:n,fullWidth:r,sx:p,children:t})}),(0,o.jsx)(u.Drawer,{isOpen:i,onClose:m,PaperProps:{sx:{width:"50%"}},"data-testid":"variable-editor",children:(0,o.jsx)(n8,{variableDefinitions:l,externalVariableDefinitions:d,builtinVariableDefinitions:f,onCancel:m,onChange:e=>{g(e),a(!1)}})})]})}let rr=({label:e="Edit",onClick:t})=>(0,o.jsx)(s.A,{onClick:t,startIcon:(0,o.jsx)(tk.default,{}),variant:"outlined",color:"secondary",sx:{whiteSpace:"nowrap",minWidth:"auto"},children:e}),ri="Let's get started",ra={variant:"outlined",color:"secondary"},ro=({actions:e,isEditMode:t,onEditButtonClick:n})=>e&&"boolean"!=typeof e?e:!1===e?null:t?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(eL,{variant:"outlined",color:"secondary",label:"Add Panel",fullWidth:!0}),(0,o.jsx)(rn,{variant:"outlined",color:"secondary",label:"Add Variables",fullWidth:!0})]}):n?(0,o.jsx)(rr,{...ra,label:"Edit Dashboard",onClick:n}):null,rs=({title:e=ri,image:t,description:n,additionalText:r,actions:i,onEditButtonClick:a})=>{let{isEditMode:s}=U(),l=s?"We currently support time series charts, gauge charts, stat charts and more!":"This dashboard is currently empty. Get started by clicking the edit button.",u=(0,o.jsx)(ro,{actions:i,onEditButtonClick:a,isEditMode:s});return(0,o.jsxs)(e_.A,{sx:{width:"500px",textAlign:"center",margin:"0 auto"},children:[(0,o.jsxs)(e_.A,{sx:{width:"289px",margin:"0 auto"},children:[!!t&&t,(0,o.jsx)(tm.A,{variant:"h2",gutterBottom:!0,children:e}),(0,o.jsx)(tm.A,{variant:"body1",children:n??l}),u&&(0,o.jsx)(e_.A,{sx:{display:"flex",gap:2,marginTop:1,justifyContent:"center"},children:u})]}),r&&(0,o.jsx)(tm.A,{variant:"subtitle1",sx:{marginTop:12},children:r})]})};function rl({emptyDashboardProps:e,panelOptions:t,...n}){let r=ee(),i=(0,h.useRef)(null),a=!r.length,s=i.current?.getBoundingClientRect().top??165,l=window.innerHeight-s-window.scrollY;return(0,o.jsx)(e_.A,{...n,sx:{height:"100%"},ref:i,children:(0,o.jsxs)(u.ErrorBoundary,{FallbackComponent:u.ErrorAlert,children:[a&&(0,o.jsx)(e_.A,{sx:{height:"100%",display:"flex",alignItems:"center"},children:(0,o.jsx)(rs,{...e})}),!a&&r.map(e=>(0,o.jsx)(nr,{panelGroupId:e,panelOptions:t,panelFullHeight:l},e))]})})}let ru={url:"",name:"",tooltip:"",renderVariables:!0,targetBlank:!0};function rc({links:e,onChange:t,onCancel:n}){let[r,i]=n0(e),[a,l]=(0,h.useState)(null),{openDiscardChangesConfirmationDialog:u,closeDiscardChangesConfirmationDialog:c}=eO(),d=r.every(e=>e.url.trim().length>0);return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(e_.A,{sx:{display:"flex",alignItems:"center",padding:e=>e.spacing(1,2),borderBottom:e=>`1px solid ${e.palette.divider}`},children:[(0,o.jsx)(tm.A,{variant:"h2",children:"Edit Dashboard Links"}),(0,o.jsxs)(th.A,{direction:"row",spacing:1,marginLeft:"auto",children:[(0,o.jsx)(s.A,{disabled:!d,variant:"contained",onClick:()=>t(r),children:"Apply"}),(0,o.jsx)(s.A,{color:"secondary",variant:"outlined",onClick:()=>{JSON.stringify(e)!==JSON.stringify(r)?u({onDiscardChanges:()=>{c(),n()},onCancel:c}):n()},children:"Cancel"})]})]}),(0,o.jsx)(e_.A,{padding:2,sx:{overflowY:"scroll"},children:(0,o.jsxs)(th.A,{spacing:2,children:[(0,o.jsx)(nD.A,{children:(0,o.jsxs)(nk.A,{size:"small",sx:{tableLayout:"fixed",width:"100%"},"aria-label":"table of dashboard links",children:[(0,o.jsx)(nO.A,{children:(0,o.jsxs)(nP.A,{children:[(0,o.jsx)(nZ.A,{children:"Name"}),(0,o.jsx)(nZ.A,{children:"URL"}),(0,o.jsx)(nZ.A,{width:80,children:"New Tab"}),(0,o.jsx)(nZ.A,{align:"right",width:180,children:"Actions"})]})}),(0,o.jsx)(nM.A,{children:r.map((e,t)=>(0,o.jsx)(rd,{link:e,index:t,isFirst:0===t,isLast:t===r.length-1,isExpanded:a===t,onToggleExpand:()=>l(a===t?null:t),onUpdate:e=>{i(n=>{n[t]=e})},onRemove:()=>{i(e=>{e.splice(t,1)}),a===t?l(null):null!==a&&a>t&&l(a-1)},onMoveUp:()=>{0!==t&&(i(e=>{let n=e[t-1];n&&e[t]&&(e[t-1]=e[t],e[t]=n)}),a===t?l(t-1):a===t-1&&l(t))},onMoveDown:()=>{t>=r.length-1||(i(e=>{let n=e[t+1];n&&e[t]&&(e[t+1]=e[t],e[t]=n)}),a===t?l(t+1):a===t+1&&l(t))}},t))})]})}),0===r.length&&(0,o.jsx)(tm.A,{variant:"body1",color:"text.secondary",fontStyle:"italic",textAlign:"center",py:4,children:"No links defined. Click 'Add Link' to create one."}),(0,o.jsx)(s.A,{variant:"contained",startIcon:(0,o.jsx)(nQ.default,{}),onClick:()=>{i(e=>{e.push({...ru})}),l(r.length)},sx:{alignSelf:"flex-start"},children:"Add Link"})]})})]})}function rd({link:e,index:t,isFirst:n,isLast:r,isExpanded:i,onToggleExpand:a,onUpdate:s,onRemove:l,onMoveUp:c,onMoveDown:d}){let p=e.name?.trim()||`Link ${t+1}`,f=0===e.url.trim().length;return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(nP.A,{children:[(0,o.jsx)(nZ.A,{component:"th",scope:"row",sx:{fontWeight:"bold",overflow:"hidden",textOverflow:"ellipsis"},children:p}),(0,o.jsx)(nZ.A,{sx:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:f?"error.main":void 0},children:(0,o.jsx)(u.InfoTooltip,{description:e.url,enterDelay:100,children:e.url||"(no URL)"})}),(0,o.jsx)(nZ.A,{children:e.targetBlank?"Yes":"No"}),(0,o.jsxs)(nZ.A,{align:"right",sx:{whiteSpace:"nowrap"},children:[(0,o.jsx)(tI.A,{onClick:c,disabled:n,"aria-label":"Move link up",children:(0,o.jsx)(t8.default,{})}),(0,o.jsx)(tI.A,{onClick:d,disabled:r,"aria-label":"Move link down",children:(0,o.jsx)(t6.default,{})}),(0,o.jsx)(tI.A,{onClick:a,"aria-label":i?"Collapse link editor":"Edit link",children:i?(0,o.jsx)(n4.default,{}):(0,o.jsx)(n1.default,{})}),(0,o.jsx)(tI.A,{onClick:l,"aria-label":"Remove link",children:(0,o.jsx)(n2.default,{})})]})]}),(0,o.jsx)(nP.A,{children:(0,o.jsx)(nZ.A,{colSpan:4,sx:{paddingBottom:0,paddingTop:0,border:i?void 0:"none"},children:(0,o.jsx)(eQ,{in:i,timeout:"auto",unmountOnExit:!0,children:(0,o.jsx)(e_.A,{sx:{margin:2},children:(0,o.jsx)(u.LinkEditorForm,{mode:"modalEmbedded",url:{value:e.url,label:"URL",error:{hasError:f,helperText:f?"URL is required":void 0},placeholder:"https://example.com/dashboard?var=$variable",onChange:t=>s({...e,url:t})},name:{value:e.name??"",label:"Display Name",onChange:t=>s({...e,name:t})},tooltip:{value:e.tooltip??"",label:"Tooltip",onChange:t=>s({...e,tooltip:t})},renderVariables:{value:e.renderVariables??!0,label:"Replace variables in URL",onChange:t=>s({...e,renderVariables:t})},newTabOpen:{value:e.targetBlank??!0,label:"Open in new tab",onChange:t=>s({...e,targetBlank:t})}})})})})})]})}function rp({variant:e="text",label:t="Links",color:n="primary",fullWidth:r}){let[i,a]=(0,h.useState)(!1),l=Y(),{setLinks:d}=Z(),f=()=>{a(!1)};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(u.InfoTooltip,{description:c.editLinks,children:(0,o.jsx)(s.A,{startIcon:(0,o.jsx)(tk.default,{}),onClick:()=>{a(!0)},"aria-label":c.editLinks,variant:e,color:n,fullWidth:r,sx:p,children:t})}),(0,o.jsx)(u.Drawer,{isOpen:i,onClose:f,PaperProps:{sx:{width:"50%"}},"data-testid":"dashboard-links-editor",children:(0,o.jsx)(rc,{links:l,onCancel:f,onChange:e=>{d?.(e),a(!1)}})})]})}let rf=(0,h.createContext)(null),rh={};function rg({children:e,defaultOptions:t=rh}){let n=(0,h.useMemo)(()=>({defaultOptions:t}),[t]);return g().createElement(rf.Provider,{value:n},e)}function rm(){return(0,h.useContext)(rf)?.defaultOptions??{}}function ry(e){return null!==e&&"object"==typeof e&&"current"in e}function rb(){if("u"<typeof navigator)return"linux";let e=navigator.platform?.toLowerCase()??"",t=navigator.userAgent?.toLowerCase()??"";return e.includes("mac")||t.includes("mac")?"mac":e.includes("win")||t.includes("win")?"windows":"linux"}let rv=["Control","Alt","Shift","Meta"],rx={Control:"Control",Ctrl:"Control",control:"Control",ctrl:"Control",Shift:"Shift",shift:"Shift",Alt:"Alt",Option:"Alt",alt:"Alt",option:"Alt",Command:"Meta",Cmd:"Meta",Meta:"Meta",command:"Meta",cmd:"Meta",meta:"Meta",OS:"Meta",os:"Meta",Win:"Meta",win:"Meta",CommandOrControl:"Mod",Mod:"Mod",commandorcontrol:"Mod",mod:"Mod"};function rw(e,t=rb()){return"Mod"===e?"mac"===t?"Meta":"Control":e}let rj=new Set(["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"]),rA=new Set(["0","1","2","3","4","5","6","7","8","9"]),rS=new Set(["F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12"]),rC=new Set(["ArrowUp","ArrowDown","ArrowLeft","ArrowRight","Home","End","PageUp","PageDown"]),rE=new Set(["Enter","Escape","Space","Tab","Backspace","Delete"]),rD=new Set(["/","[","]","\\","=","-",",",".",";","`"]),rk={Backquote:"`",Backslash:"\\",BracketLeft:"[",BracketRight:"]",Comma:",",Equal:"=",Minus:"-",Period:".",Semicolon:";",Slash:"/"};[...rj,...rA,...rS,...rC,...rE,...rD];let rO={Esc:"Escape",esc:"Escape",escape:"Escape",Return:"Enter",return:"Enter",enter:"Enter"," ":"Space",space:"Space",Spacebar:"Space",spacebar:"Space",tab:"Tab",backspace:"Backspace",Del:"Delete",del:"Delete",delete:"Delete",Up:"ArrowUp",up:"ArrowUp",arrowup:"ArrowUp",Down:"ArrowDown",down:"ArrowDown",arrowdown:"ArrowDown",Left:"ArrowLeft",left:"ArrowLeft",arrowleft:"ArrowLeft",Right:"ArrowRight",right:"ArrowRight",arrowright:"ArrowRight",home:"Home",end:"End",pageup:"PageUp",pagedown:"PageDown",PgUp:"PageUp",PgDn:"PageDown",pgup:"PageUp",pgdn:"PageDown"};function rP(e){return/^\p{Letter}$/u.test(e)}function rM(e){if(!e)return"";if(e in rO)return rO[e];if(rP(e)){let t=e.toUpperCase();return 1===t.length?t:e}let t=e.toUpperCase();return/^F([1-9]|1[0-2])$/.test(t)?t:e}function rT(e,t=rb()){let n=e.split("+"),r=new Set,i="";for(let e=0;e<n.length;e++){let a=n[e].trim();if(e===n.length-1)i=rM(a);else{let e=rx[a]??rx[a.toLowerCase()];if(e){let n=rw(e,t);r.add(n)}else 1===n.length&&(i=rM(a))}}return!i&&n.length>0&&(i=rM(n[n.length-1].trim())),{key:i,ctrl:r.has("Control"),shift:r.has("Shift"),alt:r.has("Alt"),meta:r.has("Meta"),modifiers:rv.filter(e=>r.has(e))}}function rR(e,t=rb()){let n=e.ctrl??!1,r=e.shift??!1,i=e.alt??!1,a=e.meta??!1;e.mod&&("Control"===rw("Mod",t)?n=!0:a=!0);let o=rv.filter(e=>{switch(e){case"Control":return n;case"Shift":return r;case"Alt":return i;case"Meta":return a;default:return!1}});return{key:e.key,ctrl:n,shift:r,alt:i,meta:a,modifiers:o}}function rL(e,t){let n="mac"===t?e.meta&&!e.ctrl:e.ctrl&&!e.meta,r=[];if(n)r.push("Mod"),e.alt&&r.push("Alt"),e.shift&&r.push("Shift");else for(let t of rv)e.modifiers.includes(t)&&r.push(t);return r.push(rM(e.key)),r.join("+")}function r_(e,t=rb()){return"string"==typeof e?function(e,t=rb()){return rL(rT(e,t),t)}(e,t):function(e,t=rb()){return rL(e,t)}(rR(e,t),t)}function rV(e){return e.join(" ")}function rI(e,t,n=rb()){let r="string"==typeof t?rT(t,n):t;if(e.ctrlKey!==r.ctrl||e.shiftKey!==r.shift||e.altKey!==r.alt||e.metaKey!==r.meta)return!1;let i=rM(e.key),a=r.key;if("Dead"!==i&&1===i.length&&1===a.length){if(i.toUpperCase()===a.toUpperCase())return!0;if(rP(i)&&(/^[A-Za-z]$/.test(i)||!e.altKey))return!1}if(e.code&&("Dead"===i||1===i.length&&1===a.length)){if(e.code.startsWith("Key")){let t=e.code.slice(3);if(1===t.length&&/^[A-Za-z]$/.test(t))return t.toUpperCase()===a.toUpperCase()}if(e.code.startsWith("Digit")){let t=e.code.slice(5);if(1===t.length&&/^[0-9]$/.test(t))return t===a}return e.code in rk&&rk[e.code]===a}return i===a}let rH={preventDefault:!0,stopPropagation:!0,eventType:"keydown",enabled:!0,ignoreInputs:!0,conflictBehavior:"warn"};function rN(e){return!e.ctrl&&!e.meta&&"Escape"!==e.key}function rz(e){if(!e)return!1;if(e instanceof HTMLInputElement){let t=e.type.toLowerCase();return"button"!==t&&"submit"!==t&&"reset"!==t}return!!(e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement||e instanceof HTMLElement&&e.isContentEditable)}function r$(e,t,n){let r="u"<typeof document?null:"u">typeof Document&&t instanceof Document||"u">typeof Node&&t.nodeType===Node.DOCUMENT_NODE?t.activeElement:"u">typeof HTMLElement&&t instanceof HTMLElement?t.ownerDocument.activeElement??null:t.document.activeElement??null;return!!(r&&rz(r)&&r!==n||e.composedPath().some(e=>rz(e)&&e!==n))||rz(e.target)&&e.target!==n}function rB(e,t){return t===document||t===window?e.currentTarget===t||e.currentTarget===document.documentElement:t===window?e.currentTarget===window||e.currentTarget===document||e.currentTarget===document.documentElement:!!(t instanceof HTMLElement&&(e.currentTarget===t||e.target instanceof Node&&t.contains(e.target)))||!1}function rG(e,t,n,r){if("allow"!==n){if("warn"===n)return void console.warn(`'${t}' is already registered. Multiple handlers will be triggered. Use conflictBehavior: 'replace' to replace the existing handler, or conflictBehavior: 'allow' to suppress this warning.`);if("error"===n)throw Error(`'${t}' is already registered. Use conflictBehavior: 'replace' to replace the existing handler, or conflictBehavior: 'allow' to allow multiple registrations.`);r(e)}}var rF=((a=rF||{})[a.None=0]="None",a[a.Mutable=1]="Mutable",a[a.Watching=2]="Watching",a[a.RecursedCheck=4]="RecursedCheck",a[a.Recursed=8]="Recursed",a[a.Dirty=16]="Dirty",a[a.Pending=32]="Pending",a);function rW(e,t,n){let r="object"==typeof e,i=r?e:void 0;return{next:(r?e.next:e)?.bind(i),error:(r?e.error:t)?.bind(i),complete:(r?e.complete:n)?.bind(i)}}let rU=[],rq=0,{link:rK,unlink:rJ,propagate:rY,checkDirty:rX,shallowPropagate:rZ}=function({update:e,notify:t,unwatched:n}){return{link:function(e,t,n){let r=t.depsTail;if(void 0!==r&&r.dep===e)return;let i=void 0!==r?r.nextDep:t.deps;if(void 0!==i&&i.dep===e){i.version=n,t.depsTail=i;return}let a=e.subsTail;if(void 0!==a&&a.version===n&&a.sub===t)return;let o=t.depsTail=e.subsTail={version:n,dep:e,sub:t,prevDep:r,nextDep:i,prevSub:a,nextSub:void 0};void 0!==i&&(i.prevDep=o),void 0!==r?r.nextDep=o:t.deps=o,void 0!==a?a.nextSub=o:e.subs=o},unlink:function(e,t=e.sub){let r=e.dep,i=e.prevDep,a=e.nextDep,o=e.nextSub,s=e.prevSub;return void 0!==a?a.prevDep=i:t.depsTail=i,void 0!==i?i.nextDep=a:t.deps=a,void 0!==o?o.prevSub=s:r.subsTail=s,void 0!==s?s.nextSub=o:void 0===(r.subs=o)&&n(r),a},propagate:function(e){let n,r=e.nextSub;e:for(;;){let i=e.sub,a=i.flags;if(60&a?12&a?4&a?!(48&a)&&function(e,t){let n=t.depsTail;for(;void 0!==n;){if(n===e)return!0;n=n.prevDep}return!1}(e,i)?(i.flags=40|a,a&=1):a=0:i.flags=-9&a|32:a=0:i.flags=32|a,2&a&&t(i),1&a){let t=i.subs;if(void 0!==t){let i=(e=t).nextSub;void 0!==i&&(n={value:r,prev:n},r=i);continue}}if(void 0!==(e=r)){r=e.nextSub;continue}for(;void 0!==n;)if(e=n.value,n=n.prev,void 0!==e){r=e.nextSub;continue e}break}},checkDirty:function(t,n){let i,a=0,o=!1;e:for(;;){let s=t.dep,l=s.flags;if(16&n.flags)o=!0;else if((17&l)==17){if(e(s)){let e=s.subs;void 0!==e.nextSub&&r(e),o=!0}}else if((33&l)==33){(void 0!==t.nextSub||void 0!==t.prevSub)&&(i={value:t,prev:i}),t=s.deps,n=s,++a;continue}if(!o){let e=t.nextDep;if(void 0!==e){t=e;continue}}for(;a--;){let a=n.subs,s=void 0!==a.nextSub;if(s?(t=i.value,i=i.prev):t=a,o){if(e(n)){s&&r(a),n=t.sub;continue}o=!1}else n.flags&=-33;n=t.sub;let l=t.nextDep;if(void 0!==l){t=l;continue e}}return o}},shallowPropagate:r};function r(e){do{let n=e.sub,r=n.flags;(48&r)==32&&(n.flags=16|r,(6&r)==2&&t(n))}while(void 0!==(e=e.nextSub))}}({update:e=>e._update(),notify(e){rU[r0++]=e,e.flags&=~rF.Watching},unwatched(e){void 0!==e.depsTail&&(e.depsTail=void 0,e.flags=rF.Mutable|rF.Dirty,r1(e))}}),rQ=0,r0=0;function r1(e){let t=e.depsTail,n=void 0!==t?t.nextDep:e.deps;for(;void 0!==n;)n=rJ(n,e)}class r2{constructor(e){this.atom=function(e){let t="function"==typeof e,n={_snapshot:t?void 0:e,subs:void 0,subsTail:void 0,deps:void 0,depsTail:void 0,flags:t?rF.None:rF.Mutable,get:()=>(void 0!==r&&rK(n,r,rq),n._snapshot),subscribe(e){var t;let i,a,o=rW(e),s={current:!1},l=(t=()=>{n.get(),s.current?o.next?.(n._snapshot):s.current=!0},i=()=>{let e=r;r=a,++rq,a.depsTail=void 0,a.flags=rF.Watching|rF.RecursedCheck;try{return t()}finally{r=e,a.flags&=~rF.RecursedCheck,r1(a)}},a={deps:void 0,depsTail:void 0,subs:void 0,subsTail:void 0,flags:rF.Watching|rF.RecursedCheck,notify(){let e=this.flags;e&rF.Dirty||e&rF.Pending&&rX(this.deps,this)?i():this.flags=rF.Watching},stop(){this.flags=rF.None,this.depsTail=void 0,r1(this)}},i(),a);return{unsubscribe:()=>{l.stop()}}},_update(i){let a=r,o=(void 0)??Object.is;if(t)r=n,++rq,n.depsTail=void 0;else if(void 0===i)return!1;t&&(n.flags=rF.Mutable|rF.RecursedCheck);try{let r=n._snapshot,a="function"==typeof i?i(r):void 0===i&&t?e(r):i;if(void 0===r||!o(r,a))return n._snapshot=a,!0;return!1}finally{r=a,t&&(n.flags&=~rF.RecursedCheck),r1(n)}}};return t?(n.flags=rF.Mutable|rF.Dirty,n.get=function(){let e=n.flags;if(e&rF.Dirty||e&rF.Pending&&rX(n.deps,n)){if(n._update()){let e=n.subs;void 0!==e&&rZ(e)}}else e&rF.Pending&&(n.flags=e&~rF.Pending);return void 0!==r&&rK(n,r,rq),n._snapshot}):n.set=function(e){if(n._update(e)){let e=n.subs;if(void 0!==e&&(rY(e),rZ(e),1)){for(;rQ<r0;){let e=rU[rQ];rU[rQ++]=void 0,e.notify()}rQ=0,r0=0}}},n}(e)}setState(e){this.atom.set(e)}get state(){return this.atom.get()}get(){return this.state}subscribe(e){return this.atom.subscribe(rW(e))}}function r3(e){return{hotkey:e.hotkey,id:e.id,options:e.options,parsedHotkey:e.parsedHotkey,target:e.target,triggerCount:e.triggerCount,hasFired:e.hasFired}}let r9=0;function r4(){return`hotkey_${++r9}`}var r5=class e{static #e=null;#t;#n=new Map;#r=new Map;constructor(){this.registrations=new r2(new Map),this.#t=rb()}static getInstance(){return e.#e||(e.#e=new e),e.#e}static resetInstance(){e.#e&&(e.#e.destroy(),e.#e=null)}register(e,t,n={}){if("u"<typeof document&&!n.target){let e=t;return{id:r4(),unregister:()=>{},get callback(){return e},set callback(newCallback){e=newCallback},setOptions:()=>{},get isActive(){return!1}}}let r=r4(),i=n.platform??this.#t,a="string"==typeof e?rT(e,i):rR(e,i),o="string"==typeof e?e:function(e){let t=[];for(let n of rv)e.modifiers.includes(n)&&t.push(n);return t.push(e.key),t.join("+")}(a),s=n.target??document,l=n.conflictBehavior??"warn",u=this.#i(o,s);u&&rG(u.id,o,l,e=>this.#a(e));let c=n.ignoreInputs??rN(a),d={id:r,hotkey:o,parsedHotkey:a,callback:t,options:{...rH,requireReset:!1,...n,platform:i,ignoreInputs:c},hasFired:!1,triggerCount:0,target:s};this.registrations.setState(e=>new Map(e).set(r,d)),this.#r.has(s)||this.#r.set(s,new Set),this.#r.get(s).add(r),this.#o(s);let p=this;return{get id(){return r},unregister:()=>{p.#a(r)},get callback(){return p.registrations.state.get(r)?.callback??t},set callback(newCallback){let e=p.registrations.state.get(r);e&&(e.callback=newCallback)},setOptions:e=>{p.registrations.setState(t=>{let n=t.get(r);if(n){let i=new Map(t);return i.set(r,{...n,options:{...n.options,...e}}),i}return t})},get isActive(){return p.registrations.state.has(r)}}}#a(e){let t=this.registrations.state.get(e);if(!t)return;let n=t.target;this.registrations.setState(t=>{let n=new Map(t);return n.delete(e),n});let r=this.#r.get(n);r&&(r.delete(e),0===r.size&&this.#s(n))}#o(e){if("u"<typeof document||this.#n.has(e))return;let t=this.#l(e),n=this.#u(e);e.addEventListener("keydown",t),e.addEventListener("keyup",n),this.#n.set(e,{keydown:t,keyup:n})}#s(e){if("u"<typeof document)return;let t=this.#n.get(e);t&&(e.removeEventListener("keydown",t.keydown),e.removeEventListener("keyup",t.keyup),this.#n.delete(e),this.#r.delete(e))}#c(e,t,n){let r=this.#r.get(t);if(r)for(let i of r){let r=this.registrations.state.get(i);if(r&&rB(e,t)&&r.options.enabled&&!(!1!==r.options.ignoreInputs&&r$(e,t,r.target)))if("keydown"===n){if("keydown"!==r.options.eventType)continue;rI(e,r.parsedHotkey,r.options.platform)&&(r.options.preventDefault&&e.preventDefault(),r.options.stopPropagation&&e.stopPropagation(),r.options.requireReset&&r.hasFired||(this.#d(r,e),r.options.requireReset&&(r.hasFired=!0)))}else"keyup"===r.options.eventType&&rI(e,r.parsedHotkey,r.options.platform)&&this.#d(r,e),r.options.requireReset&&r.hasFired&&this.#p(r,e)&&(r.hasFired=!1)}}#d(e,t){e.options.preventDefault&&t.preventDefault(),e.options.stopPropagation&&t.stopPropagation(),e.triggerCount++,this.registrations.setState(e=>new Map(e));let n={hotkey:e.hotkey,parsedHotkey:e.parsedHotkey};e.callback(t,n)}#l(e){return t=>{this.#c(t,e,"keydown")}}#u(e){return t=>{this.#c(t,e,"keyup")}}#i(e,t){for(let n of this.registrations.state.values())if(n.hotkey===e&&n.target===t)return n;return null}#p(e,t){let n=e.parsedHotkey,r=rM(t.key),i=1===n.key.length?n.key.toUpperCase():n.key;return(1===r.length?r.toUpperCase():r)===i||!!n.ctrl&&"Control"===r||!!n.shift&&"Shift"===r||!!n.alt&&"Alt"===r||!!n.meta&&"Meta"===r}triggerRegistration(e){let t=this.registrations.state.get(e);if(!t)return!1;let n=t.parsedHotkey,r=new KeyboardEvent(t.options.eventType??"keydown",{key:n.key,ctrlKey:n.ctrl,shiftKey:n.shift,altKey:n.alt,metaKey:n.meta,bubbles:!0,cancelable:!0});return t.triggerCount++,this.registrations.setState(e=>new Map(e)),t.callback(r,{hotkey:t.hotkey,parsedHotkey:t.parsedHotkey}),!0}getRegistrationCount(){return this.registrations.state.size}isRegistered(e,t){for(let n of this.registrations.state.values())if(n.hotkey===e&&(void 0===t||n.target===t))return!0;return!1}destroy(){for(let e of this.#n.keys())this.#s(e);this.registrations.setState(()=>new Map),this.#n.clear(),this.#r.clear()}};function r7(){return r5.getInstance()}function r8(e,t={}){let n=rm().hotkey,r=r7(),i=t.platform??n?.platform??rb(),a=(0,h.useRef)(new Map),o=(0,h.useRef)(e),s=(0,h.useRef)([]),l=(0,h.useRef)(t),u=(0,h.useRef)(n),c=(0,h.useRef)(r),d=e.map(e=>r_(e.hotkey,i));o.current=e,s.current=d,l.current=t,u.current=n,c.current=r,(0,h.useEffect)(()=>{let e=a.current,t=new Map,n=[];for(let e=0;e<o.current.length;e++){let t=o.current[e],r=s.current[e],i={...u.current,...l.current,...t.options},a=ry(i.target)?i.target.current:i.target??("u">typeof document?document:null);if(!a)continue;let c=`${e}:${r}`;n.push({registrationKey:c,def:t,hotkeyStr:r,mergedOptions:i,resolvedTarget:a})}let r=new Set(n.map(e=>e.registrationKey));for(let[t,n]of e)!r.has(t)&&n.handle.isActive&&n.handle.unregister();for(let r of n){let{registrationKey:n,def:i,hotkeyStr:a,mergedOptions:o,resolvedTarget:s}=r,l=e.get(n);if(l?.handle.isActive&&l.target===s){t.set(n,l);continue}l?.handle.isActive&&l.handle.unregister();let u=c.current.register(a,i.callback,{...o,target:s});t.set(n,{handle:u,target:s})}a.current=t}),(0,h.useEffect)(()=>()=>{for(let{handle:e}of a.current.values())e.isActive&&e.unregister();a.current=new Map},[]);for(let r=0;r<e.length;r++){let i=e[r],o=d[r],s=`${r}:${o}`,l=a.current.get(s)?.handle;if(l?.isActive){l.callback=i.callback;let{target:e,...r}={...n,...t,...i.options};l.setOptions(r)}}}let r6=0;function ie(e){let t=e.parsedSequence.length,n=e.currentIndex>0&&e.currentIndex<t;return{id:e.id,sequence:e.sequence,options:e.options,target:e.target,triggerCount:e.triggerCount,hasFired:e.hasFired,matchedStepCount:n?e.currentIndex:0,partialMatchLastKeyTime:n?e.lastKeyTime:0}}var it=class e{static #e=null;#f=new Map;#n=new Map;#r=new Map;#t;constructor(){this.registrations=new r2(new Map),this.#t=rb()}static getInstance(){return e.#e||(e.#e=new e),e.#e}static resetInstance(){e.#e&&(e.#e.destroy(),e.#e=null)}#h(e){this.registrations.setState(t=>new Map(t).set(e.id,ie(e)))}register(e,t,n={}){if(0===e.length)throw Error("Sequence must contain at least one hotkey");let r=`sequence_${++r6}`,i=n.platform??this.#t,a=e.map(e=>rT(e,i)),o=n.target??("u">typeof document?document:{}),s=n.conflictBehavior??"warn",l=this.#g(e,o);l&&rG(l.id,rV(e),s,e=>this.#a(e));let u=a[0],c=n.ignoreInputs??rN(u),d={id:r,sequence:e,parsedSequence:a,callback:t,options:{...rH,timeout:1e3,...n,platform:i,ignoreInputs:c},target:o,currentIndex:0,lastKeyTime:0,triggerCount:0,hasFired:!1};this.#f.set(r,d),this.registrations.setState(e=>new Map(e).set(r,ie(d))),this.#r.has(o)||this.#r.set(o,new Set),this.#r.get(o).add(r),this.#o(o);let p=this;return{get id(){return r},get isActive(){return p.#f.has(r)},get callback(){return p.#f.get(r)?.callback??t},set callback(newCallback){let e=p.#f.get(r);e&&(e.callback=newCallback)},setOptions:e=>{let t=p.#f.get(r);t&&(t.options={...t.options,...e},p.registrations.setState(e=>new Map(e).set(r,ie(t))))},unregister:()=>{p.#a(r)}}}#a(e){let t=this.#f.get(e);if(!t)return;let n=t.target;this.#f.delete(e),this.registrations.setState(t=>{let n=new Map(t);return n.delete(e),n});let r=this.#r.get(n);r&&(r.delete(e),0===r.size&&this.#s(n))}#o(e){if("u"<typeof document||this.#n.has(e))return;let t=this.#l(e),n=this.#u(e);e.addEventListener("keydown",t),e.addEventListener("keyup",n),this.#n.set(e,{keydown:t,keyup:n})}#s(e){if("u"<typeof document)return;let t=this.#n.get(e);t&&(e.removeEventListener("keydown",t.keydown),e.removeEventListener("keyup",t.keyup),this.#n.delete(e),this.#r.delete(e))}#l(e){return t=>{this.#c(t,e,"keydown")}}#u(e){return t=>{this.#c(t,e,"keyup")}}#c(e,t,n){var r;if((r=rM(e.key))in rx||r.toLowerCase()in rx)return;let i=this.#r.get(t);if(!i)return;let a=Date.now();for(let r of i){let i=this.#f.get(r);if(!i||!rB(e,t)||!i.options.enabled||!1!==i.options.ignoreInputs&&r$(e,t,i.target)||i.options.eventType!==n)continue;let o=i.options.timeout??1e3;i.currentIndex>0&&a-i.lastKeyTime>o&&(i.currentIndex=0,this.#h(i));let s=i.parsedSequence[i.currentIndex];if(s)if(rI(e,s,i.options.platform))if(i.lastKeyTime=a,i.currentIndex++,i.currentIndex>=i.parsedSequence.length){i.options.preventDefault&&e.preventDefault(),i.options.stopPropagation&&e.stopPropagation();let t={hotkey:i.sequence.join(" "),parsedHotkey:i.parsedSequence[i.parsedSequence.length-1]};i.triggerCount++,i.hasFired=!0,i.currentIndex=0,this.#h(i),i.callback(e,t)}else this.#h(i);else i.currentIndex>0&&(rI(e,i.parsedSequence[0],i.options.platform)?(i.currentIndex=1,i.lastKeyTime=a):i.currentIndex=0,this.#h(i))}}#g(e,t){let n=e.join("|");for(let e of this.#f.values())if(e.sequence.join("|")===n&&e.target===t)return e;return null}resetAll(){for(let e of this.#f.values())e.currentIndex=0,e.lastKeyTime=0,this.#h(e)}triggerSequence(e){let t=this.#f.get(e);if(!t)return!1;let n=t.parsedSequence[t.parsedSequence.length-1];if(!n)return!1;let r=new KeyboardEvent(t.options.eventType??"keydown",{key:n.key,ctrlKey:n.ctrl,shiftKey:n.shift,altKey:n.alt,metaKey:n.meta,bubbles:!0,cancelable:!0});t.triggerCount++,t.hasFired=!0,this.#h(t);let i={hotkey:t.sequence.join(" "),parsedHotkey:n};return t.callback(r,i),!0}getRegistrationCount(){return this.#f.size}destroy(){for(let e of this.#n.keys())this.#s(e);this.#f.clear(),this.registrations.setState(()=>new Map)}};function ir(){return it.getInstance()}function ii(e,t={}){let n=rm().hotkeySequence,r=ir(),i=(0,h.useRef)(new Map),a=(0,h.useRef)(e),o=(0,h.useRef)([]),s=(0,h.useRef)(t),l=(0,h.useRef)(n),u=(0,h.useRef)(r),c=e.map(e=>rV(e.sequence));a.current=e,o.current=c,s.current=t,l.current=n,u.current=r,(0,h.useEffect)(()=>{let e=i.current,t=new Map,n=[];for(let e=0;e<a.current.length;e++){let t=a.current[e],r=o.current[e],i=t.sequence;if(0===i.length)continue;let u={...l.current,...s.current,...t.options},c=ry(u.target)?u.target.current:u.target??("u">typeof document?document:null);if(!c)continue;let d=`${e}:${r}`;n.push({registrationKey:d,def:t,seq:i,seqStr:r,mergedOptions:u,resolvedTarget:c})}let r=new Set(n.map(e=>e.registrationKey));for(let[t,n]of e)!r.has(t)&&n.handle.isActive&&n.handle.unregister();for(let r of n){let{registrationKey:n,def:i,seq:a,mergedOptions:o,resolvedTarget:s}=r,l=e.get(n);if(l?.handle.isActive&&l.target===s){t.set(n,l);continue}l?.handle.isActive&&l.handle.unregister();let c=u.current.register(a,i.callback,{...o,target:s});t.set(n,{handle:c,target:s})}i.current=t}),(0,h.useEffect)(()=>()=>{for(let{handle:e}of i.current.values())e.isActive&&e.unregister();i.current=new Map},[]);for(let r=0;r<e.length;r++){let a=e[r],o=c[r],s=`${r}:${o}`,l=i.current.get(s)?.handle;if(l?.isActive&&a.sequence.length>0){l.callback=a.callback;let{target:e,...r}={...n,...t,...a.options};l.setOptions(r)}}}let ia="perses:save-dashboard",io="perses:refresh-dashboard",is="perses:toggle-edit-mode",il="perses:time-zoom-out",iu="perses:time-zoom-in",ic="perses:time-shift-back",id="perses:time-shift-forward",ip="perses:time-make-absolute",ih="perses:time-copy",ig="perses:time-paste",im="perses:panel-edit",iy="perses:panel-fullscreen",ib="perses:panel-duplicate",iv="perses:panel-delete",ix="perses:open-search",iw="perses:show-shortcuts",ij="perses:toggle-theme",iA={id:"save-dashboard",hotkey:"Mod+S",name:"Save Dashboard",description:"Save the current dashboard",category:"dashboard",scope:"dashboard",event:ia},iS={id:"refresh-dashboard",sequence:["D","R"],name:"Refresh Dashboard",description:"Refresh all panels",category:"dashboard",scope:"dashboard",event:io},iC={id:"toggle-edit-mode",sequence:["D","M"],name:"Toggle Edit Mode",description:"Toggle between edit and view mode",category:"dashboard",scope:"dashboard",event:is},iE=[iA,iS,iC],iD={id:"panel-edit",hotkey:"E",name:"Edit Panel",description:"Edit the focused panel when in edit mode",category:"focused-panel",scope:"panel",event:im,ignoreInputs:!0},ik={id:"panel-fullscreen",hotkey:"V",name:"Toggle Fullscreen",description:"Toggle fullscreen on the focused panel",category:"focused-panel",scope:"panel",event:iy,ignoreInputs:!0},iO={id:"panel-duplicate",sequence:["P","D"],name:"Duplicate Panel",description:"Duplicate the focused panel",category:"focused-panel",scope:"panel",event:ib},iP={id:"panel-delete",sequence:["P","R"],name:"Delete Panel",description:"Delete the focused panel",category:"focused-panel",scope:"panel",event:iv},iM=[iD,ik,iO,iP];function iT(e,t){return{enabled:t,meta:{id:e.id,name:e.name,description:e.description,category:e.category,scope:e.scope,displayOverride:e.displayOverride},...void 0!==e.ignoreInputs?{ignoreInputs:e.ignoreInputs}:{}}}function iR(e){if(void 0===e.hotkey)throw Error(`Shortcut ${e.id} is missing a hotkey definition`);return e.hotkey}function iL(e){if(void 0===e.sequence)throw Error(`Shortcut ${e.id} is missing a sequence definition`);return e.sequence}function i_(e){if(void 0===e.event)throw Error(`Shortcut ${e.id} is missing an event definition`);return e.event}function iV(e){window.dispatchEvent(new CustomEvent(e))}function iI(e){return t=>{"Enter"===t.key&&(t.ctrlKey||t.metaKey)&&!t.shiftKey&&!t.altKey&&(t.preventDefault(),e())}}let iH={id:"time-zoom-out",sequence:["T","O"],name:"Zoom Out",description:"Zoom out time range (2x)",category:"time-range",scope:"dashboard",event:il},iN={id:"time-zoom-in",sequence:["T","I"],name:"Zoom In",description:"Zoom in time range (\xbd)",category:"time-range",scope:"dashboard",event:iu},iz={id:"time-shift-back",sequence:["T","ArrowLeft"],name:"Shift Back",description:"Shift time range backward",category:"time-range",scope:"dashboard",event:ic},i$={id:"time-shift-forward",sequence:["T","ArrowRight"],name:"Shift Forward",description:"Shift time range forward",category:"time-range",scope:"dashboard",event:id},iB={id:"time-make-absolute",sequence:["T","A"],name:"Make Absolute",description:"Convert time range to absolute",category:"time-range",scope:"dashboard",event:ip},iG={id:"time-copy",sequence:["T","C"],name:"Copy Time Range",description:"Copy time range to clipboard",category:"time-range",scope:"dashboard",event:ih},iF={id:"time-paste",sequence:["T","V"],name:"Paste Time Range",description:"Paste time range from clipboard",category:"time-range",scope:"dashboard",event:ig},iW=[iH,iN,iz,i$,iB,iG,iF];function iU({children:e}){let t=iJ(),{setAnnotationState:n}=iX(),r=(0,P.useAnnotations)(t);return(0,h.useEffect)(()=>{for(let[e,i]of t.entries()){let t=r[e]??null;t&&n(i.display.name,{data:t.data??null,isPending:t.isLoading,error:t?.error??null})}},[t,r,n]),(0,o.jsx)(o.Fragment,{children:e})}let iq=(0,h.createContext)(void 0);function iK(){let e=(0,h.useContext)(iq);return e||i0({initialAnnotationSpecs:[]})}function iJ(){return nl(iK(),e=>e.annotationSpecs)}function iY(e){let t=iK();return j(t,n=>{if(e){let n={};return e.forEach(e=>{let r=t.getState().annotationState[e];r&&(n[e]=r)}),n}return n.annotationState},(e,t)=>JSON.stringify(e)===JSON.stringify(t))}function iX(){return j(iK(),e=>({setAnnotationState:e.setAnnotationState,setAnnotationSpecs:e.setAnnotationSpecs}),O)}function iZ(e){return nl(iK(),t=>({definition:t.annotationSpecs.find(t=>t.display.name===e),state:t.annotationState[e]}))}function iQ(){return nl(iK(),e=>e.annotationSpecs.map(t=>{let n=e.annotationState[t.display.name];return{definition:t,data:n?.data}}).filter(e=>!!e.data))}function i0({initialAnnotationSpecs:e=[]}){return y()(C(k((t,n)=>({annotationSpecs:e,annotationState:{},setAnnotationSpecs(e){t(t=>{t.annotationSpecs=e},!1,"[Annotations] setAnnotationSpecs")},setAnnotationState:(e,n)=>{t(t=>{t.annotationState[e]=n},!1,"[Annotations] setAnnotationState")}}))))}function i1({children:e,initialAnnotationSpecs:t=[]}){let[n]=(0,h.useState)(()=>i0({initialAnnotationSpecs:t}));return(0,o.jsx)(iq.Provider,{value:n,children:(0,o.jsx)(iU,{children:e})})}function i2(){var e;let t,{panels:n,panelGroups:r,panelGroupOrder:i,setDashboard:a,kind:o,metadata:s,display:l,duration:u,refreshInterval:c,datasources:d,links:p,ttl:f}=B(({panels:e,panelGroups:t,panelGroupOrder:n,setDashboard:r,kind:i,metadata:a,display:o,duration:s,refreshInterval:l,datasources:u,links:c,ttl:d})=>({panels:e,panelGroups:t,panelGroupOrder:n,setDashboard:r,kind:i,metadata:a,display:o,duration:s,refreshInterval:l,datasources:u,links:c,ttl:d})),{setVariableDefinitions:h}=nv(),{setAnnotationSpecs:g}=iX(),m=nx(),y=iJ(),b=(e=r,t=[],i.map(n=>{let r,i=e[n];if(void 0===i)throw Error("panel group not found");let{title:a,isCollapsed:o,repeatVariable:s,itemLayouts:l,itemPanelKeys:u}=i;(a||void 0!==o)&&(r={title:a??"",collapse:{open:!o}});let c={kind:"Grid",spec:{display:r,items:l.map(e=>{let t=u[e.i];if(void 0===t)throw Error(`Missing panel key of layout ${e.i}`);return{x:e.x,y:e.y,width:e.w,height:e.h,content:(0,M.createPanelRef)(t)}}),repeatVariable:s}};t.push(c)}),t);return{dashboard:"Dashboard"===o?{kind:o,metadata:s,spec:{display:l,panels:n,layouts:b,variables:m,annotations:y,duration:u,refreshInterval:c,datasources:d,links:p}}:{kind:o,metadata:s,spec:{display:l,panels:n,layouts:b,variables:m,annotations:y,duration:u,refreshInterval:c,datasources:d,links:p,ttl:f}},setDashboard:e=>{h(e.spec.variables),e.spec.annotations&&g(e.spec.annotations),a(e)}}}function i3(e){let[t,n]=(0,h.useState)(!1),{dashboard:r,setDashboard:i}=i2(),{setEditMode:a}=U(),{timeRange:o,refreshInterval:s}=(0,P.useTimeRange)(),{getSavedVariablesStatus:l,setVariableDefaultValues:u}=nv(),{openSaveChangesConfirmationDialog:c,closeSaveChangesConfirmationDialog:d}=eD(),p=(0,h.useCallback)(async()=>{if(!e)return void a(!1);try{n(!0),await e(r),d(),a(!1)}finally{n(!1)}},[d,r,e,a]);return{saveDashboard:(0,h.useCallback)(()=>{if(t)return;let{isSavedVariableModified:e}=l(),n=(0,M.isRelativeTimeRange)(o)&&r.spec.duration!==o.pastDuration,a=r.spec.refreshInterval!==s;n||e||a?c({onSaveChanges:(e,t,n)=>{if((0,M.isRelativeTimeRange)(o)&&e&&(r.spec.duration=o.pastDuration),n){let e=u();r.spec.variables=e}t&&a&&(r.spec.refreshInterval=s),i(r),p()},onCancel:()=>{d()},isSavedDurationModified:n,isSavedVariableModified:e,isSavedRefreshIntervalModified:a}):p()},[t,l,o,r,s,c,u,i,p,d]),isSaving:t}}function i9(e){let t=e.indexOf("-");if(-1===t)return null;let n=parseInt(e.substring(0,t),10),r=e.substring(t+1);return isNaN(n)?null:{panelGroupId:n,panelGroupItemLayoutId:r}}function i4(e){let t=(0,M.isRelativeTimeRange)(e)?(0,M.toAbsoluteTimeRange)(e):e,n=t.start.getTime(),r=t.end.getTime()-n,i=Math.round(n+r/2);return{absoluteRange:t,durationMs:r,midpointMs:i}}let i5=e=>({openEditPanel:e.openEditPanel,duplicatePanel:e.duplicatePanel,openDeletePanelDialog:e.openDeletePanelDialog,setViewPanel:e.setViewPanel,panelEditor:e.panelEditor});function i7({onSave:e,onRefresh:t,isReadonly:n,onEditButtonClick:r,onCancelButtonClick:i,disabled:a=!1}){let o=ti(),{isEditMode:s,setEditMode:l}=U(),{timeRange:c,setTimeRange:d,refresh:p}=(0,P.useTimeRange)(),{infoSnackbar:f,warningSnackbar:g}=(0,u.useSnackbar)(),m=eC(),{openEditPanel:y,duplicatePanel:b,openDeletePanelDialog:v,setViewPanel:x,panelEditor:w}=B(i5),{saveDashboard:j}=i3(e),A=null!==o,S=(0,h.useCallback)(()=>{n?g("This dashboard is read-only. Keyboard save is disabled."):s?e?j():g("Save action is unavailable for this dashboard."):f("Enter edit mode to save this dashboard.")},[f,s,n,e,j,g]),C=(0,h.useCallback)(()=>{p(),f("Dashboard refreshed."),t&&t()},[p,f,t]),E=(0,h.useCallback)(()=>{s?i?i():l(!1):r?r():l(!0)},[s,l,i,r]),D=(0,h.useCallback)(()=>{let{durationMs:e,midpointMs:t}=i4(c),n=Math.round(Math.min(2*e,315576e6)/2);d({start:new Date(t-n),end:new Date(t+n)})},[c,d]),k=(0,h.useCallback)(()=>{let{durationMs:e,midpointMs:t}=i4(c),n=Math.round(Math.max(Math.round(e/2),1e3)/2);d({start:new Date(t-n),end:new Date(t+n)})},[c,d]),O=(0,h.useCallback)(()=>{let{absoluteRange:e,durationMs:t}=i4(c),n=Math.round(t/2);d({start:new Date(e.start.getTime()-n),end:new Date(e.end.getTime()-n)})},[c,d]),T=(0,h.useCallback)(()=>{let{absoluteRange:e,durationMs:t}=i4(c),n=Math.round(t/2);d({start:new Date(e.start.getTime()+n),end:new Date(e.end.getTime()+n)})},[c,d]),R=(0,h.useCallback)(()=>{(0,M.isRelativeTimeRange)(c)&&d((0,M.toAbsoluteTimeRange)(c))},[c,d]),L=(0,h.useCallback)(()=>{let e=(0,M.isRelativeTimeRange)(c)?(0,M.toAbsoluteTimeRange)(c):c,t=`${e.start.toISOString()} - ${e.end.toISOString()}`;navigator.clipboard.writeText(t).then(()=>{f("Time range copied to clipboard.")}).catch(()=>{g("Failed to copy time range to clipboard.")})},[c,f,g]),_=(0,h.useCallback)(()=>{let e='Expected format: "<ISO date format> - <ISO date format>".';navigator.clipboard.readText().then(t=>{let n=t.split(" - ");if(2!==n.length)return void g(`Clipboard does not contain a valid time range. ${e}`);let[r,i]=n,a=new Date(r.trim()),o=new Date(i.trim());isNaN(a.getTime())||isNaN(o.getTime())?g(`Clipboard does not contain a valid time range. ${e}`):a>=o?g("Invalid time range: start must be before end."):(d({start:a,end:o}),f("Time range pasted from clipboard."))}).catch(()=>{g("Unable to read from clipboard. Check browser permissions.")})},[d,f,g]),V=(0,h.useCallback)(()=>{if(void 0!==w)return void w.close();if(o&&s){let e=i9(o);e&&y(e)}},[o,s,y,w]),I=(0,h.useCallback)(()=>{if(void 0!==m)return void x(void 0);if(o){let e=i9(o);e&&x(e)}},[o,x,m]),H=(0,h.useCallback)(()=>{if(o&&s){let e=i9(o);e&&b(e)}},[o,s,b]),N=(0,h.useCallback)(()=>{if(o&&s){let e=i9(o);e&&v(e)}},[o,s,v]);r8([{def:iA,enabled:!a,callback:S},{def:iD,enabled:!a&&(A||void 0!==w),callback:V},{def:ik,enabled:!a&&(A||void 0!==m),callback:I}].map(({def:e,enabled:t,callback:n})=>({hotkey:iR(e),callback:n,options:iT(e,t)}))),ii([{def:iS,enabled:!a,callback:C},{def:iC,enabled:!a,callback:E},{def:iH,enabled:!a,callback:D},{def:iN,enabled:!a,callback:k},{def:iz,enabled:!a,callback:O},{def:i$,enabled:!a,callback:T},{def:iB,enabled:!a,callback:R},{def:iG,enabled:!a,callback:L},{def:iF,enabled:!a,callback:_},{def:iO,enabled:!a&&A,callback:H},{def:iP,enabled:!a&&A,callback:N}].map(({def:e,enabled:t,callback:n})=>({sequence:iL(e),callback:n,options:iT(e,t)})))}var i8=n(8072),i6=n(19557),ae=n(97090);let at=Symbol.for("yaml.alias"),an=Symbol.for("yaml.document"),ar=Symbol.for("yaml.map"),ai=Symbol.for("yaml.pair"),aa=Symbol.for("yaml.scalar"),ao=Symbol.for("yaml.seq"),as=Symbol.for("yaml.node.type"),al=e=>!!e&&"object"==typeof e&&e[as]===at,au=e=>!!e&&"object"==typeof e&&e[as]===an,ac=e=>!!e&&"object"==typeof e&&e[as]===ar,ad=e=>!!e&&"object"==typeof e&&e[as]===ai,ap=e=>!!e&&"object"==typeof e&&e[as]===aa,af=e=>!!e&&"object"==typeof e&&e[as]===ao;function ah(e){if(e&&"object"==typeof e)switch(e[as]){case ar:case ao:return!0}return!1}function ag(e){if(e&&"object"==typeof e)switch(e[as]){case at:case ar:case aa:case ao:return!0}return!1}let am=e=>(ap(e)||ah(e))&&!!e.anchor,ay=Symbol("break visit"),ab=Symbol("skip children"),av=Symbol("remove node");function ax(e,t){let n=aS(t);au(e)?aw(null,e.contents,n,Object.freeze([e]))===av&&(e.contents=null):aw(null,e,n,Object.freeze([]))}function aw(e,t,n,r){let i=aC(e,t,n,r);if(ag(i)||ad(i))return aE(e,r,i),aw(e,i,n,r);if("symbol"!=typeof i){if(ah(t)){r=Object.freeze(r.concat(t));for(let e=0;e<t.items.length;++e){let i=aw(e,t.items[e],n,r);if("number"==typeof i)e=i-1;else{if(i===ay)return ay;i===av&&(t.items.splice(e,1),e-=1)}}}else if(ad(t)){r=Object.freeze(r.concat(t));let e=aw("key",t.key,n,r);if(e===ay)return ay;e===av&&(t.key=null);let i=aw("value",t.value,n,r);if(i===ay)return ay;i===av&&(t.value=null)}}return i}async function aj(e,t){let n=aS(t);au(e)?await aA(null,e.contents,n,Object.freeze([e]))===av&&(e.contents=null):await aA(null,e,n,Object.freeze([]))}async function aA(e,t,n,r){let i=await aC(e,t,n,r);if(ag(i)||ad(i))return aE(e,r,i),aA(e,i,n,r);if("symbol"!=typeof i){if(ah(t)){r=Object.freeze(r.concat(t));for(let e=0;e<t.items.length;++e){let i=await aA(e,t.items[e],n,r);if("number"==typeof i)e=i-1;else{if(i===ay)return ay;i===av&&(t.items.splice(e,1),e-=1)}}}else if(ad(t)){r=Object.freeze(r.concat(t));let e=await aA("key",t.key,n,r);if(e===ay)return ay;e===av&&(t.key=null);let i=await aA("value",t.value,n,r);if(i===ay)return ay;i===av&&(t.value=null)}}return i}function aS(e){return"object"==typeof e&&(e.Collection||e.Node||e.Value)?Object.assign({Alias:e.Node,Map:e.Node,Scalar:e.Node,Seq:e.Node},e.Value&&{Map:e.Value,Scalar:e.Value,Seq:e.Value},e.Collection&&{Map:e.Collection,Seq:e.Collection},e):e}function aC(e,t,n,r){return"function"==typeof n?n(e,t,r):ac(t)?n.Map?.(e,t,r):af(t)?n.Seq?.(e,t,r):ad(t)?n.Pair?.(e,t,r):ap(t)?n.Scalar?.(e,t,r):al(t)?n.Alias?.(e,t,r):void 0}function aE(e,t,n){let r=t[t.length-1];if(ah(r))r.items[e]=n;else if(ad(r))"key"===e?r.key=n:r.value=n;else if(au(r))r.contents=n;else{let e=al(r)?"alias":"scalar";throw Error(`Cannot replace node with ${e} parent`)}}ax.BREAK=ay,ax.SKIP=ab,ax.REMOVE=av,aj.BREAK=ay,aj.SKIP=ab,aj.REMOVE=av;let aD={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},ak=e=>e.replace(/[!,[\]{}]/g,e=>aD[e]);class aO{constructor(e,t){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},aO.defaultYaml,e),this.tags=Object.assign({},aO.defaultTags,t)}clone(){let e=new aO(this.yaml,this.tags);return e.docStart=this.docStart,e}atDocument(){let e=new aO(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:aO.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},aO.defaultTags)}return e}add(e,t){this.atNextDocument&&(this.yaml={explicit:aO.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},aO.defaultTags),this.atNextDocument=!1);let n=e.trim().split(/[ \t]+/),r=n.shift();switch(r){case"%TAG":{if(2!==n.length&&(t(0,"%TAG directive should contain exactly two parts"),n.length<2))return!1;let[e,r]=n;return this.tags[e]=r,!0}case"%YAML":{if(this.yaml.explicit=!0,1!==n.length)return t(0,"%YAML directive should contain exactly one part"),!1;let[e]=n;if("1.1"===e||"1.2"===e)return this.yaml.version=e,!0;{let n=/^\d+\.\d+$/.test(e);return t(6,`Unsupported YAML version ${e}`,n),!1}}default:return t(0,`Unknown directive ${r}`,!0),!1}}tagName(e,t){if("!"===e)return"!";if("!"!==e[0])return t(`Not a valid tag: ${e}`),null;if("<"===e[1]){let n=e.slice(2,-1);return"!"===n||"!!"===n?(t(`Verbatim tags aren't resolved, so ${e} is invalid.`),null):(">"!==e[e.length-1]&&t("Verbatim tags must end with a >"),n)}let[,n,r]=e.match(/^(.*!)([^!]*)$/s);r||t(`The ${e} tag has no suffix`);let i=this.tags[n];if(i)try{return i+decodeURIComponent(r)}catch(e){return t(String(e)),null}return"!"===n?e:(t(`Could not resolve tag: ${e}`),null)}tagString(e){for(let[t,n]of Object.entries(this.tags))if(e.startsWith(n))return t+ak(e.substring(n.length));return"!"===e[0]?e:`!<${e}>`}toString(e){let t,n=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],r=Object.entries(this.tags);if(e&&r.length>0&&ag(e.contents)){let n={};ax(e.contents,(e,t)=>{ag(t)&&t.tag&&(n[t.tag]=!0)}),t=Object.keys(n)}else t=[];for(let[i,a]of r)("!!"!==i||"tag:yaml.org,2002:"!==a)&&(!e||t.some(e=>e.startsWith(a)))&&n.push(`%TAG ${i} ${a}`);return n.join("\n")}}function aP(e){if(/[\x00-\x19\s,[\]{}]/.test(e)){let t=JSON.stringify(e);throw Error(`Anchor must not contain whitespace or control characters: ${t}`)}return!0}function aM(e){let t=new Set;return ax(e,{Value(e,n){n.anchor&&t.add(n.anchor)}}),t}function aT(e,t){for(let n=1;;++n){let r=`${e}${n}`;if(!t.has(r))return r}}function aR(e,t,n,r){if(r&&"object"==typeof r)if(Array.isArray(r))for(let t=0,n=r.length;t<n;++t){let n=r[t],i=aR(e,r,String(t),n);void 0===i?delete r[t]:i!==n&&(r[t]=i)}else if(r instanceof Map)for(let t of Array.from(r.keys())){let n=r.get(t),i=aR(e,r,t,n);void 0===i?r.delete(t):i!==n&&r.set(t,i)}else if(r instanceof Set)for(let t of Array.from(r)){let n=aR(e,r,t,t);void 0===n?r.delete(t):n!==t&&(r.delete(t),r.add(n))}else for(let[t,n]of Object.entries(r)){let i=aR(e,r,t,n);void 0===i?delete r[t]:i!==n&&(r[t]=i)}return e.call(t,n,r)}function aL(e,t,n){if(Array.isArray(e))return e.map((e,t)=>aL(e,String(t),n));if(e&&"function"==typeof e.toJSON){if(!n||!am(e))return e.toJSON(t,n);let r={aliasCount:0,count:1,res:void 0};n.anchors.set(e,r),n.onCreate=e=>{r.res=e,delete n.onCreate};let i=e.toJSON(t,n);return n.onCreate&&n.onCreate(i),i}return"bigint"!=typeof e||n?.keep?e:Number(e)}aO.defaultYaml={explicit:!1,version:"1.2"},aO.defaultTags={"!!":"tag:yaml.org,2002:"};class a_{constructor(e){Object.defineProperty(this,as,{value:e})}clone(){let e=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return this.range&&(e.range=this.range.slice()),e}toJS(e,{mapAsMap:t,maxAliasCount:n,onAnchor:r,reviver:i}={}){if(!au(e))throw TypeError("A document argument is required");let a={anchors:new Map,doc:e,keep:!0,mapAsMap:!0===t,mapKeyWarned:!1,maxAliasCount:"number"==typeof n?n:100},o=aL(this,"",a);if("function"==typeof r)for(let{count:e,res:t}of a.anchors.values())r(t,e);return"function"==typeof i?aR(i,{"":o},"",o):o}}class aV extends a_{constructor(e){super(at),this.source=e,Object.defineProperty(this,"tag",{set(){throw Error("Alias nodes cannot have tags")}})}resolve(e,t){let n,r;if(t?.maxAliasCount===0)throw ReferenceError("Alias resolution is disabled");for(let i of(t?.aliasResolveCache?n=t.aliasResolveCache:(n=[],ax(e,{Node:(e,t)=>{(al(t)||am(t))&&n.push(t)}}),t&&(t.aliasResolveCache=n)),n)){if(i===this)break;i.anchor===this.source&&(r=i)}return r}toJSON(e,t){if(!t)return{source:this.source};let{anchors:n,doc:r,maxAliasCount:i}=t,a=this.resolve(r,t);if(!a)throw ReferenceError(`Unresolved alias (the anchor must be set before the alias): ${this.source}`);let o=n.get(a);if(o||(aL(a,null,t),o=n.get(a)),o?.res===void 0)throw ReferenceError("This should not happen: Alias anchor was not resolved?");if(i>=0&&(o.count+=1,0===o.aliasCount&&(o.aliasCount=function e(t,n,r){if(al(n)){let e=n.resolve(t),i=r&&e&&r.get(e);return i?i.count*i.aliasCount:0}if(ah(n)){let i=0;for(let a of n.items){let n=e(t,a,r);n>i&&(i=n)}return i}return ad(n)?Math.max(e(t,n.key,r),e(t,n.value,r)):1}(r,a,n)),o.count*o.aliasCount>i))throw ReferenceError("Excessive alias count indicates a resource exhaustion attack");return o.res}toString(e,t,n){let r=`*${this.source}`;if(e){if(aP(this.source),e.options.verifyAliasOrder&&!e.anchors.has(this.source))throw Error(`Unresolved alias (the anchor must be set before the alias): ${this.source}`);if(e.implicitKey)return`${r} `}return r}}let aI=e=>!e||"function"!=typeof e&&"object"!=typeof e;class aH extends a_{constructor(e){super(aa),this.value=e}toJSON(e,t){return t?.keep?this.value:aL(this.value,e,t)}toString(){return String(this.value)}}function aN(e,t,n){let r;if(au(e)&&(e=e.contents),ag(e))return e;if(ad(e)){let t=n.schema[ar].createNode?.(n.schema,null,n);return t.items.push(e),t}(e instanceof String||e instanceof Number||e instanceof Boolean||"u">typeof BigInt&&e instanceof BigInt)&&(e=e.valueOf());let{aliasDuplicateObjects:i,onAnchor:a,onTagObj:o,schema:s,sourceObjects:l}=n;if(i&&e&&"object"==typeof e){if(r=l.get(e))return r.anchor??(r.anchor=a(e)),new aV(r.anchor);r={anchor:null,node:null},l.set(e,r)}t?.startsWith("!!")&&(t="tag:yaml.org,2002:"+t.slice(2));let u=function(e,t,n){if(t){let e=n.filter(e=>e.tag===t),r=e.find(e=>!e.format)??e[0];if(!r)throw Error(`Tag ${t} not found`);return r}return n.find(t=>t.identify?.(e)&&!t.format)}(e,t,s.tags);if(!u){if(e&&"function"==typeof e.toJSON&&(e=e.toJSON()),!e||"object"!=typeof e){let t=new aH(e);return r&&(r.node=t),t}u=e instanceof Map?s[ar]:Symbol.iterator in Object(e)?s[ao]:s[ar]}o&&(o(u),delete n.onTagObj);let c=u?.createNode?u.createNode(n.schema,e,n):"function"==typeof u?.nodeClass?.from?u.nodeClass.from(n.schema,e,n):new aH(e);return t?c.tag=t:u.default||(c.tag=u.tag),r&&(r.node=c),c}function az(e,t,n){let r=n;for(let e=t.length-1;e>=0;--e){let n=t[e];if("number"==typeof n&&Number.isInteger(n)&&n>=0){let e=[];e[n]=r,r=e}else r=new Map([[n,r]])}return aN(r,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw Error("This should not happen, please report a bug.")},schema:e,sourceObjects:new Map})}aH.BLOCK_FOLDED="BLOCK_FOLDED",aH.BLOCK_LITERAL="BLOCK_LITERAL",aH.PLAIN="PLAIN",aH.QUOTE_DOUBLE="QUOTE_DOUBLE",aH.QUOTE_SINGLE="QUOTE_SINGLE";let a$=e=>null==e||"object"==typeof e&&!!e[Symbol.iterator]().next().done;class aB extends a_{constructor(e,t){super(e),Object.defineProperty(this,"schema",{value:t,configurable:!0,enumerable:!1,writable:!0})}clone(e){let t=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return e&&(t.schema=e),t.items=t.items.map(t=>ag(t)||ad(t)?t.clone(e):t),this.range&&(t.range=this.range.slice()),t}addIn(e,t){if(a$(e))this.add(t);else{let[n,...r]=e,i=this.get(n,!0);if(ah(i))i.addIn(r,t);else if(void 0===i&&this.schema)this.set(n,az(this.schema,r,t));else throw Error(`Expected YAML collection at ${n}. Remaining path: ${r}`)}}deleteIn(e){let[t,...n]=e;if(0===n.length)return this.delete(t);let r=this.get(t,!0);if(ah(r))return r.deleteIn(n);throw Error(`Expected YAML collection at ${t}. Remaining path: ${n}`)}getIn(e,t){let[n,...r]=e,i=this.get(n,!0);return 0===r.length?!t&&ap(i)?i.value:i:ah(i)?i.getIn(r,t):void 0}hasAllNullValues(e){return this.items.every(t=>{if(!ad(t))return!1;let n=t.value;return null==n||e&&ap(n)&&null==n.value&&!n.commentBefore&&!n.comment&&!n.tag})}hasIn(e){let[t,...n]=e;if(0===n.length)return this.has(t);let r=this.get(t,!0);return!!ah(r)&&r.hasIn(n)}setIn(e,t){let[n,...r]=e;if(0===r.length)this.set(n,t);else{let e=this.get(n,!0);if(ah(e))e.setIn(r,t);else if(void 0===e&&this.schema)this.set(n,az(this.schema,r,t));else throw Error(`Expected YAML collection at ${n}. Remaining path: ${r}`)}}}let aG=e=>e.replace(/^(?!$)(?: $)?/gm,"#");function aF(e,t){return/^\n+$/.test(e)?e.substring(1):t?e.replace(/^(?! *$)/gm,t):e}let aW=(e,t,n)=>e.endsWith("\n")?aF(n,t):n.includes("\n")?"\n"+aF(n,t):(e.endsWith(" ")?"":" ")+n,aU="block",aq="quoted";function aK(e,t,n="flow",{indentAtStart:r,lineWidth:i=80,minContentWidth:a=20,onFold:o,onOverflow:s}={}){let l,u,c;if(!i||i<0)return e;i<a&&(a=0);let d=Math.max(1+a,1+i-t.length);if(e.length<=d)return e;let p=[],f={},h=i-t.length;"number"==typeof r&&(r>i-Math.max(2,a)?p.push(0):h=i-r);let g=!1,m=-1,y=-1,b=-1;for(n===aU&&-1!==(m=aJ(e,m,t.length))&&(h=m+d);c=e[m+=1];){if(n===aq&&"\\"===c){switch(y=m,e[m+1]){case"x":m+=3;break;case"u":m+=5;break;case"U":m+=9;break;default:m+=1}b=m}if("\n"===c)n===aU&&(m=aJ(e,m,t.length)),h=m+t.length+d,l=void 0;else{if(" "===c&&u&&" "!==u&&"\n"!==u&&" "!==u){let t=e[m+1];t&&" "!==t&&"\n"!==t&&" "!==t&&(l=m)}if(m>=h)if(l)p.push(l),h=l+d,l=void 0;else if(n===aq){for(;" "===u||" "===u;)u=c,c=e[m+=1],g=!0;let t=m>b+1?m-2:y-1;if(f[t])return e;p.push(t),f[t]=!0,h=t+d,l=void 0}else g=!0}u=c}if(g&&s&&s(),0===p.length)return e;o&&o();let v=e.slice(0,p[0]);for(let r=0;r<p.length;++r){let i=p[r],a=p[r+1]||e.length;0===i?v=`
6
+ `);let t=e.state[l];return void(null==t||JSON.stringify(i.getState())!==JSON.stringify(t)&&f(t))}i.dispatchFromDevtools&&"function"==typeof i.dispatch&&i.dispatch(e)});case"DISPATCH":switch(e.payload.type){case"RESET":if(f(h),void 0===l)return null==c?void 0:c.init(i.getState());return null==c?void 0:c.init(S(u.name));case"COMMIT":if(void 0===l){null==c||c.init(i.getState());break}return null==c?void 0:c.init(S(u.name));case"ROLLBACK":return E(e.state,e=>{if(void 0===l){f(e),null==c||c.init(i.getState());return}f(e[l]),null==c||c.init(S(u.name))});case"JUMP_TO_STATE":case"JUMP_TO_ACTION":return E(e.state,e=>{void 0===l?f(e):JSON.stringify(i.getState())!==JSON.stringify(e[l])&&f(e[l])});case"IMPORT_STATE":{let{nextLiftedState:n}=e.payload,r=null==(t=n.computedStates.slice(-1)[0])?void 0:t.state;if(!r)return;void 0===l?f(r):f(r[l]),null==c||c.send(null,n);break}case"PAUSE_RECORDING":return p=!p}return}}),h},E=(e,t)=>{let n;try{n=JSON.parse(e)}catch(e){console.error("[zustand devtools middleware] Could not parse the received json",e)}void 0!==n&&t(n)};var D=n(38662);let k=e=>(t,n,r)=>(r.setState=(e,n,...r)=>t("function"==typeof e?(0,D.jM)(e):e,n,...r),e(r.setState,n,r));function O(e,t){if(Object.is(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(let[n,r]of e)if(!Object.is(r,t.get(n)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}let n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(let r of n)if(!Object.prototype.hasOwnProperty.call(t,r)||!Object.is(e[r],t[r]))return!1;return!0}var P=n(42893),M=n(40625);function T(){return void 0===globalThis.dashboardStoreId&&(globalThis.dashboardStoreId=0),globalThis.dashboardStoreId++}function R(e,t){return{kind:"Panel",spec:{display:{name:"",description:void 0},plugin:{kind:e??"",spec:t??{}},queries:[]}}}function L(e){let t={},n=[];for(let r of e){let e=[],i={};if("items"in r.spec)for(let t of r.spec.items){let n=T().toString();e.push({i:n,w:t.width,h:t.height,x:t.x,y:t.y}),i[n]=(0,M.getPanelKeyFromRef)(t.content)}let a="repeatVariable"in r.spec?r.spec.repeatVariable:void 0,o=T();t[o]={id:o,isCollapsed:r.spec.display?.collapse?.open===!1,repeatVariable:a,title:r.spec.display?.title,itemLayouts:e,itemPanelKeys:i},n.push(o)}return{panelGroups:t,panelGroupOrder:n}}function _(){return{id:T(),title:void 0,isCollapsed:!1,itemLayouts:[],itemPanelKeys:{}}}function V(e,t){e.panelGroups[t.id]=t,e.panelGroupOrder.unshift(t.id)}let I={sm:24,xxs:2};function H(e){let t=0;for(let n of e.itemLayouts){let e=n.y+n.h;e>t&&(t=e)}return t}function N({x:e,y:t,w:n,h:r}){return{x1:e,x2:e+n,y1:t,y2:t+r}}let z=()=>{if(window.isSecureContext)return crypto.randomUUID().replaceAll("-","");let e=String(Date.now()),t=Math.random().toString(36).substring(2);return`${e}${t}`},$=(0,h.createContext)(void 0);function B(e){let t=(0,h.useContext)($);if(void 0===t)throw Error("No DashboardContext found. Did you forget a Provider?");return j(t,e,O)}function G(e){let t=(0,h.useCallback)(F,[e]),[n]=(0,h.useState)(t(e)),{defaultPluginKinds:r}=(0,P.usePluginRegistry)(),i=r?.Panel??"",{data:a}=(0,P.usePlugin)("Panel",i);return(0,h.useEffect)(()=>{if(void 0===a)return;let e=a.createInitialOptions?a.createInitialOptions():{};n.setState({initialValues:{panelDefinition:R(i,e)}})},[a,n,i]),(0,o.jsx)($.Provider,{value:n,children:e.children})}function F(e){let{initialState:{dashboardResource:t,isEditMode:n,viewPanelRef:r,setViewPanelRef:i}}=e,{kind:a,metadata:o,spec:{display:s,duration:l,refreshInterval:u="0s",datasources:c,layouts:d=[],panels:p={}}}=t,f=t.spec.links??[],h="ttl"in t.spec?t.spec.ttl:void 0;return y()(k(C((...e)=>{let[t]=e;return{...(function(e){let{panelGroups:t,panelGroupOrder:n}=L(e);return e=>({panelGroups:t,panelGroupOrder:n,swapPanelGroups(t,n){e(e=>{if(t<0||t>=e.panelGroupOrder.length||n<0||n>=e.panelGroupOrder.length)throw Error("index out of bound");let r=e.panelGroupOrder[t],i=e.panelGroupOrder[n];if(void 0===r||void 0===i)throw Error("panel group is undefined");[e.panelGroupOrder[t],e.panelGroupOrder[n]]=[i,r]})},updatePanelGroupLayouts(t,n){e(e=>{let r=e.panelGroups[t];if(void 0===r)throw Error(`Cannot find panel group ${t}`);r.itemLayouts=n})}})})(d)(...e),...((e,t)=>({panelGroupEditor:void 0,openAddPanelGroup:()=>{let t={mode:"Add",initialValues:{title:"",isCollapsed:!1,repeatVariable:""},applyChanges(t){let n=_();n.title=t.title,n.isCollapsed=t.isCollapsed,n.repeatVariable=t.repeatVariable,e(e=>{V(e,n)})},close(){e(e=>{e.panelGroupEditor=void 0})}};e(e=>{e.panelGroupEditor=t})},openEditPanelGroup:n=>{let r=t().panelGroups[n];if(void 0===r)throw Error(`Panel group with Id ${n} does not exist`);let i={mode:"Edit",initialValues:{title:r.title??"",isCollapsed:r.isCollapsed,repeatVariable:r.repeatVariable??""},applyChanges(t){e(e=>{let r=e.panelGroups[n];if(void 0===r)throw Error(`Panel group with Id ${n} does not exist`);r.title=t.title,r.isCollapsed=t.isCollapsed,r.repeatVariable=t.repeatVariable})},close(){e(e=>{e.panelGroupEditor=void 0})}};e(e=>{e.panelGroupEditor=i})}}))(...e),...((e,t)=>({deletePanelGroup(n){let{panelGroups:r,panelGroupOrder:i}=t(),a=r[n],o=i.findIndex(e=>e===n);if(void 0===a||-1===o)throw Error(`Panel group ${n} not found`);let s=Object.values(a.itemPanelKeys);e(e=>{delete e.panelGroups[n],e.panelGroupOrder.splice(o,1);let t=function(e){let t=new Set;for(let n of Object.values(e))for(let e of Object.values(n.itemPanelKeys))t.add(e);return t}(e.panelGroups);for(let n of s)t.has(n)||delete e.panels[n]})},openDeletePanelGroupDialog:n=>{let r=t().panelGroups[n];if(void 0===r)throw Error(`Panel group with Id ${n} not found`);e(e=>{e.deletePanelGroupDialog={panelGroupId:n,panelGroupName:r.title}})},closeDeletePanelGroupDialog:()=>e(e=>{e.deletePanelGroupDialog=void 0})}))(...e),...(()=>({panels:p}))(...e),...((e,t)=>({panelEditor:void 0,openEditPanel(n){let{panels:r,panelGroups:i}=t(),{panelGroupId:a,panelGroupItemLayoutId:o}=n,s=i[a]?.itemPanelKeys[o];if(void 0===s)throw Error(`Could not find Panel Group item ${n}`);let l=r[s];if(void 0===l)throw Error(`Cannot find Panel with key '${s}'`);let u={mode:"update",panelGroupItemId:n,initialValues:{groupId:n.panelGroupId,panelDefinition:l},applyChanges:t=>{e(e=>{if(e.panels[s]=t.panelDefinition,t.groupId===a)return;let n=e.panelGroups[a];if(void 0===n)throw Error(`Missing panel group ${a}`);let r=n.itemLayouts.findIndex(e=>e.i===o),i=n.itemLayouts[r],l=n.itemPanelKeys[o];if(-1===r||void 0===i||void 0===l)throw Error(`Missing panel group item ${o}`);n.itemLayouts.splice(r,1),delete n.itemPanelKeys[o];let u=e.panelGroups[t.groupId];if(void 0===u)throw Error(`Could not find new group ${t.groupId}`);u.itemLayouts.push({i:i.i,x:0,y:H(u),w:i.w,h:i.h}),u.itemPanelKeys[i.i]=l})},close:()=>{e(e=>{e.panelEditor=void 0})}};e(e=>{e.panelEditor=u})},openAddPanel(n){let r;void 0===(n??=t().panelGroupOrder[0])&&((r=_()).title="Panel Group",n=r.id);let i={mode:"create",initialValues:{groupId:n,panelDefinition:t().initialValues?.panelDefinition??R()},applyChanges:t=>{let n=z();e(e=>{e.panels[n]=t.panelDefinition;let r=e.panelGroups[t.groupId];if(void 0===r)throw Error(`Missing panel group ${t.groupId}`);let i={i:T().toString(),x:0,y:H(r),w:12,h:6};r.itemLayouts.push(i),r.itemPanelKeys[i.i]=n})},close:()=>{e(e=>{e.panelEditor=void 0})}};e(e=>{void 0!==r&&V(e,r),e.panelEditor=i})}}))(...e),...((e,t)=>({deletePanel(t){e(e=>{let{panelGroupId:n,panelGroupItemLayoutId:r}=t,i=e.panelGroups[n];if(void 0===i)throw Error(`Missing panel group ${n}`);let a=i.itemLayouts.findIndex(e=>e.i===r),o=i.itemPanelKeys[r];if(-1===a||void 0===o)throw Error(`Missing panel group item ${r}`);i.itemLayouts.splice(a,1),delete i.itemPanelKeys[r],!1===function(e,t){for(let n of Object.values(e))if(void 0!==Object.values(n.itemPanelKeys).find(e=>e===t))return!0;return!1}(e.panelGroups,o)&&delete e.panels[o]})},openDeletePanelDialog(n){let{panelGroupId:r,panelGroupItemLayoutId:i}=n,{panels:a,panelGroups:o}=t(),s=o[r];if(void 0===s)throw Error(`Panel group not found ${r}`);let l=s.itemPanelKeys[i];if(void 0===l)throw Error(`Could not find Panel Group item ${i}`);let u=a[l];if(void 0===u)throw Error(`Could not find panel ${l}`);e(e=>{e.deletePanelDialog={panelGroupItemId:n,panelName:u.spec.display?.name??l,panelGroupName:s.title??""}})},closeDeletePanelDialog(){e(e=>{e.deletePanelDialog=void 0})}}))(...e),...(e=>({duplicatePanel(t){e(e=>{let n=e.panels,{panelGroupId:r,panelGroupItemLayoutId:i}=t,a=e.panelGroups[r];if(void 0===a)throw Error(`Missing panel group ${r}`);let o=a.itemPanelKeys[i];if(void 0===o)throw Error(`Could not find Panel Group item ${t}`);let s=n[o];if(void 0===s)throw Error(`Cannot find Panel with key '${o}'`);let l=a.itemLayouts.find(e=>e.i===i);if(void 0===l)throw Error(`Cannot find layout for Panel with key '${o}'`);let u=z();e.panels[u]=s;let c={i:T().toString(),w:l.w,h:l.h};a.itemLayouts=function(e,t,n){let r=I.sm,i=N(t),a=[],o=[],s=[];n.forEach(e=>{let t=N(e);t.y2<=i.y1?a.push(e):t.y1>=i.y2?s.push(e):o.push(e)}),o.sort((e,t)=>e.x-t.x);let l=o.findIndex(e=>e.i===t.i);if(l===o.length-1){if(i.x2+e.w<=r)return[...a,...o,{...e,x:i.x2,y:i.y1},...s]}else if(l>=0){let t=o[l+1];if(t&&N(t).x1-i.x2>=e.w)return o.splice(l+1,0,{...e,x:i.x2,y:i.y1}),[...a,...o,...s]}return[...a,...o,{x:i.x1,y:i.y2,...e},...s.map(t=>({...t,y:t.y+e.h}))]}(c,l,a.itemLayouts),a.itemPanelKeys[c.i]=u})}}))(...e),...((e,t)=>({viewPanel:{panelGroupItemId:void 0,panelRef:r},getViewPanel:()=>{var e,n,r;return e=t().panelGroups,n=t().viewPanel.panelGroupItemId,r=t().viewPanel.panelRef,n||(r?function(e,t){for(let n of Object.values(e)){let e=Object.entries(n.itemPanelKeys??[]).find(([e,n])=>n===t.ref);if(e){let[r]=e;return{panelGroupId:n.id,panelGroupItemLayoutId:r,repeatVariable:t.repeatVariable}}}}(e,r):void 0)},setViewPanel(n){e(e=>{e.viewPanel={panelRef:void 0,panelGroupItemId:n};let r=function(e,t){if(!t)return;let n=e[t.panelGroupId];if(n){let e=n.itemPanelKeys[t.panelGroupItemLayoutId];if(e)return{ref:e,repeatVariable:t.repeatVariable}}}(t().panelGroups,n);i&&i(r)})}}))(...e),...(e=>({links:f,setLinks:t=>{e(e=>{e.links=t})}}))(...e),...(e=>({isOpen:!1,openDiscardChangesConfirmationDialog(t){e(e=>{e.discardChangesConfirmationDialog=t})},closeDiscardChangesConfirmationDialog(){e(e=>{e.discardChangesConfirmationDialog=void 0})}}))(...e),...(e=>({openEditJsonDialog(){e(e=>{e.editJsonDialog={isOpen:!0}})},closeEditJsonDialog(){e(e=>{e.editJsonDialog={isOpen:!1}})}}))(...e),...(e=>({isOpen:!1,openSaveChangesConfirmationDialog(t){e(e=>{e.saveChangesConfirmationDialog=t},!1,"openSaveChangesConfirmationDialog")},closeSaveChangesConfirmationDialog(){e(e=>{e.saveChangesConfirmationDialog=void 0},!1,"closeSaveChangesConfirmationDialog")}}))(...e),kind:a,metadata:o,display:s,duration:l,refreshInterval:u,datasources:c,ttl:h,isEditMode:!!n,setEditMode:e=>{t({isEditMode:e})},setDashboard:({kind:e,metadata:n,spec:{display:r,panels:i={},layouts:a=[],duration:o,refreshInterval:s,datasources:l={},links:u=[]}})=>{t(t=>{t.kind=e,t.metadata=n,t.display=r,t.panels=i;let{panelGroups:c,panelGroupOrder:d}=L(a);t.panelGroups=c,t.panelGroupOrder=d,t.duration=o,t.refreshInterval=s??"0s",t.datasources=l,t.links=u})}}})))}let W=({isEditMode:e,setEditMode:t})=>({isEditMode:e,setEditMode:t});function U(){return B(W)}let q=({setDashboard:e,openAddPanelGroup:t,openAddPanel:n})=>({setDashboard:e,openAddPanelGroup:t,openAddPanel:n});function K(){let{setDashboard:e,openAddPanelGroup:t,openAddPanel:n}=B(q);return{setDashboard:e,openAddPanelGroup:()=>t(),openAddPanel:()=>n()}}let J=e=>e.links;function Y(){return B(J)??[]}let X=e=>({setLinks:e.setLinks});function Z(){return B(X)}let Q=e=>e.panelGroupOrder;function ee(){return B(Q)}let et=e=>e.panelGroups;function en(){let e=ee(),t=B(et);return(0,h.useMemo)(()=>e.map(e=>{let n=t[e];if(void 0===n)throw Error(`Invalid panel group Id found ${e}`);return n}),[e,t])}function er(e){let t=B((0,h.useCallback)(t=>t.panelGroups[e],[e]));if(void 0===t)throw Error(`Panel group with Id ${e} was not found`);return t}let ei=({openEditPanelGroup:e,deletePanelGroup:t,openAddPanel:n,updatePanelGroupLayouts:r})=>({openEditPanelGroup:e,deletePanelGroup:t,openAddPanel:n,updatePanelGroupLayouts:r});function ea(e){let{moveUp:t,moveDown:n}=function(e){let t=B((0,h.useCallback)(t=>t.panelGroupOrder.findIndex(t=>t===e),[e])),n=B(es),r=B(eo);if(t<0)throw Error(`Could not find panel group with Id ${e} in order array`);return{moveUp:t>0?()=>r(t,t-1):void 0,moveDown:t<n-1?()=>r(t,t+1):void 0}}(e),{openEditPanelGroup:r,deletePanelGroup:i,openAddPanel:a,updatePanelGroupLayouts:o}=B(ei);return{openEditPanelGroup:()=>r(e),deletePanelGroup:()=>i(e),openAddPanel:()=>a(e),moveUp:t,moveDown:n,updatePanelGroupLayouts:t=>o(e,t)}}let eo=e=>e.swapPanelGroups,es=e=>e.panelGroupOrder.length,el=e=>e.panelGroupEditor;function eu(){return B(el)}let ec=({deletePanelGroupDialog:e,openDeletePanelGroupDialog:t,closeDeletePanelGroupDialog:n,deletePanelGroup:r})=>({deletePanelGroupDialog:e,openDeletePanelGroupDialog:t,closeDeletePanelGroupDialog:n,deletePanelGroup:r});function ed(){let{deletePanelGroupDialog:e,openDeletePanelGroupDialog:t,closeDeletePanelGroupDialog:n,deletePanelGroup:r}=B(ec);return{deletePanelGroupDialog:e,deletePanelGroup:r,openDeletePanelGroupDialog:t,closeDeletePanelGroupDialog:()=>n()}}function ep(e){return B((0,h.useCallback)(t=>{if(void 0!==e)return t.panelGroups[e.panelGroupId]?.itemPanelKeys[e.panelGroupItemLayoutId]},[e]))}function ef(e){let{panelGroupId:t,panelGroupItemLayoutId:n}=e,r=B((0,h.useCallback)(e=>{let r=e.panelGroups[t]?.itemPanelKeys[n];if(void 0!==r)return e.panels[r]},[t,n]));if(void 0===r)throw Error(`Could not find panel for Id ${e}`);return r}let eh=({openEditPanel:e,openDeletePanelDialog:t,duplicatePanel:n,setViewPanel:r})=>({openEditPanel:e,openDeletePanelDialog:t,duplicatePanel:n,setViewPanel:r});function eg(e){let{openEditPanel:t,openDeletePanelDialog:n,duplicatePanel:r,setViewPanel:i}=B(eh);return{openEditPanel:()=>t(e),openDeletePanelDialog:()=>n(e),duplicatePanel:()=>r(e),viewPanel:e=>i(e)}}let em=e=>e.panelEditor;function ey(){return B(em)}let eb=({deletePanelDialog:e,deletePanel:t,closeDeletePanelDialog:n})=>({deletePanelDialog:e,deletePanel:t,closeDeletePanelDialog:n});function ev(){return B(eb)}let ex=e=>e.duration;function ew(){return B(ex)}let ej=e=>({setViewPanel:e.setViewPanel,getViewPanel:e.getViewPanel,viewPanelId:e.getViewPanel()});function eA(){return B(ej)}let eS=e=>e.getViewPanel();function eC(){return B(eS)}let eE=({saveChangesConfirmationDialog:e,openSaveChangesConfirmationDialog:t,closeSaveChangesConfirmationDialog:n})=>({saveChangesConfirmationDialog:e,openSaveChangesConfirmationDialog:t,closeSaveChangesConfirmationDialog:n});function eD(){return B(eE)}let ek=({discardChangesConfirmationDialog:e,openDiscardChangesConfirmationDialog:t,closeDiscardChangesConfirmationDialog:n})=>({discardChangesConfirmationDialog:e,openDiscardChangesConfirmationDialog:t,closeDiscardChangesConfirmationDialog:n});function eO(){return B(ek)}let eP=({editJsonDialog:e,openEditJsonDialog:t,closeEditJsonDialog:n})=>({editJsonDialog:e,openEditJsonDialog:t,closeEditJsonDialog:n});function eM(){return B(eP)}let eT=()=>{let{openAddPanelGroup:e}=K();return(0,o.jsx)(u.InfoTooltip,{description:c.addGroup,children:(0,o.jsx)(s.A,{startIcon:(0,o.jsx)(l.default,{}),onClick:e,"aria-label":c.addGroup,sx:p,children:"Panel Group"})})};var eR=n(69525);let eL=({variant:e="text",color:t="primary",label:n="Panel",fullWidth:r})=>{let{openAddPanel:i}=K();return(0,o.jsx)(u.InfoTooltip,{description:c.addPanel,children:(0,o.jsx)(s.A,{startIcon:(0,o.jsx)(eR.default,{}),onClick:i,"aria-label":c.addPanel,variant:e,color:t,fullWidth:r,sx:p,children:n})})};var e_=n(74628),eV=n(56599),eI=n(11750),eH=n(46477),eN=n(3725),ez=n(81023),e$=n(77308),eB=n(23434),eG=n(72052),eF=n(48927),eW=n(32494),eU=n(29424),eq=n(29009),eK=n(46733);function eJ(e){return(0,eK.Ay)("MuiCollapse",e)}(0,eq.A)("MuiCollapse",["root","horizontal","vertical","entered","hidden","wrapper","wrapperInner"]);let eY=(0,e$.A)("div",{name:"MuiCollapse",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.root,t[n.orientation],"entered"===n.state&&t.entered,"exited"===n.state&&!n.in&&"0px"===n.collapsedSize&&t.hidden]}})((0,eB.A)(({theme:e})=>({height:0,overflow:"hidden",transition:e.transitions.create("height"),variants:[{props:{orientation:"horizontal"},style:{height:"auto",width:0,transition:e.transitions.create("width")}},{props:{state:"entered"},style:{height:"auto",overflow:"visible"}},{props:{state:"entered",orientation:"horizontal"},style:{width:"auto"}},{props:({ownerState:e})=>"exited"===e.state&&!e.in&&"0px"===e.collapsedSize,style:{visibility:"hidden"}}]}))),eX=(0,e$.A)("div",{name:"MuiCollapse",slot:"Wrapper",overridesResolver:(e,t)=>t.wrapper})({display:"flex",width:"100%",variants:[{props:{orientation:"horizontal"},style:{width:"auto",height:"100%"}}]}),eZ=(0,e$.A)("div",{name:"MuiCollapse",slot:"WrapperInner",overridesResolver:(e,t)=>t.wrapperInner})({width:"100%",variants:[{props:{orientation:"horizontal"},style:{width:"auto",height:"100%"}}]}),eQ=h.forwardRef(function(e,t){let n=(0,eG.b)({props:e,name:"MuiCollapse"}),{addEndListener:r,children:i,className:a,collapsedSize:s="0px",component:l,easing:u,in:c,onEnter:d,onEntered:p,onEntering:f,onExit:g,onExited:m,onExiting:y,orientation:b="vertical",style:v,timeout:x=eF.p0.standard,TransitionComponent:w=eH.Ay,...j}=n,A={...n,orientation:b,collapsedSize:s},S=(e=>{let{orientation:t,classes:n}=e,r={root:["root",`${t}`],entered:["entered"],hidden:["hidden"],wrapper:["wrapper",`${t}`],wrapperInner:["wrapperInner",`${t}`]};return(0,ez.A)(r,eJ,n)})(A),C=(0,eV.A)(),E=(0,eN.A)(),D=h.useRef(null),k=h.useRef(),O="number"==typeof s?`${s}px`:s,P="horizontal"===b,M=P?"width":"height",T=h.useRef(null),R=(0,eU.A)(t,T),L=e=>t=>{if(e){let n=T.current;void 0===t?e(n):e(n,t)}},_=()=>D.current?D.current[P?"clientWidth":"clientHeight"]:0,V=L((e,t)=>{D.current&&P&&(D.current.style.position="absolute"),e.style[M]=O,d&&d(e,t)}),I=L((e,t)=>{let n=_();D.current&&P&&(D.current.style.position="");let{duration:r,easing:i}=(0,eW.c)({style:v,timeout:x,easing:u},{mode:"enter"});if("auto"===x){let t=C.transitions.getAutoHeightDuration(n);e.style.transitionDuration=`${t}ms`,k.current=t}else e.style.transitionDuration="string"==typeof r?r:`${r}ms`;e.style[M]=`${n}px`,e.style.transitionTimingFunction=i,f&&f(e,t)}),H=L((e,t)=>{e.style[M]="auto",p&&p(e,t)}),N=L(e=>{e.style[M]=`${_()}px`,g&&g(e)}),z=L(m),$=L(e=>{let t=_(),{duration:n,easing:r}=(0,eW.c)({style:v,timeout:x,easing:u},{mode:"exit"});if("auto"===x){let n=C.transitions.getAutoHeightDuration(t);e.style.transitionDuration=`${n}ms`,k.current=n}else e.style.transitionDuration="string"==typeof n?n:`${n}ms`;e.style[M]=O,e.style.transitionTimingFunction=r,y&&y(e)});return(0,o.jsx)(w,{in:c,onEnter:V,onEntered:H,onEntering:I,onExit:N,onExited:z,onExiting:$,addEndListener:e=>{"auto"===x&&E.start(k.current||0,e),r&&r(T.current,e)},nodeRef:T,timeout:"auto"===x?null:x,...j,children:(e,{ownerState:t,...n})=>(0,o.jsx)(eY,{as:l,className:(0,eI.A)(S.root,a,{entered:S.entered,exited:!c&&"0px"===O&&S.hidden}[e]),style:{[P?"minWidth":"minHeight"]:O,...v},ref:R,ownerState:{...A,state:e},...n,children:(0,o.jsx)(eX,{ownerState:{...A,state:e},className:S.wrapper,ref:D,children:(0,o.jsx)(eZ,{ownerState:{...A,state:e},className:S.wrapperInner,children:i})})})})});eQ&&(eQ.muiSupportAuto=!0);var e0=n(29057),e1=n(12548);function e2(e){let[t,n]=(0,h.useState)(!0);return(0,h.useEffect)(()=>{t&&n(!1)},[t]),(0,o.jsx)(e3,{sx:[{"& + &":{marginTop:1},"& .react-grid-item.cssTransforms":{transitionProperty:t?"none":"transform"}},...Array.isArray(e.sx)?e.sx:[e.sx]],"data-testid":"panel-group",children:e.children})}let e3=(0,e$.A)("section")(({theme:e})=>({"& .react-grid-layout":{position:"relative",transition:"height 200ms ease"},"& .react-grid-item":{transition:"all 200ms ease",transitionProperty:"left, top"},"& .react-grid-item img":{pointerEvents:"none",userSelect:"none"},"& .react-grid-item.cssTransforms":{transitionProperty:"transform"},"& .react-grid-item.resizing":{zIndex:1,willChange:"width, height"},"& .react-grid-item.react-draggable-dragging":{transition:"none",zIndex:3,willChange:"transform"},"& .react-grid-item.dropping":{visibility:"hidden"},"& .react-grid-item.react-grid-placeholder":{background:e.palette.primary.main,opacity:.2,transitionDuration:"100ms",zIndex:2,userSelect:"none",WebkitUserSelect:"none",MozUserSelect:"none",msUserSelect:"none",OUserSelect:"none"},"& .react-grid-item > .react-resizable-handle":{position:"absolute",width:"20px",height:"20px"},"& .react-grid-item > .react-resizable-handle::after":{content:'""',position:"absolute",right:"3px",bottom:"3px",width:"5px",height:"5px",borderRight:`2px solid ${e.palette.text.secondary}`,borderBottom:`2px solid ${e.palette.text.secondary}`},"& .react-resizable-hide > .react-resizable-handle":{display:"none"},"& .react-grid-item > .react-resizable-handle.react-resizable-handle-sw":{bottom:"0",left:"0",cursor:"sw-resize",transform:"rotate(90deg)"},"& .react-grid-item > .react-resizable-handle.react-resizable-handle-se":{bottom:"0",right:"0",cursor:"se-resize"},"& .react-grid-item > .react-resizable-handle.react-resizable-handle-nw":{top:"0",left:"0",cursor:"nw-resize",transform:"rotate(180deg)"},"& .react-grid-item > .react-resizable-handle.react-resizable-handle-ne":{top:"0",right:"0",cursor:"ne-resize",transform:"rotate(270deg)"},"& .react-grid-item > .react-resizable-handle.react-resizable-handle-w, &.react-grid-item > .react-resizable-handle.react-resizable-handle-e":{top:"50%",marginTop:"-10px",cursor:"ew-resize"},"& .react-grid-item > .react-resizable-handle.react-resizable-handle-w":{left:"0",transform:"rotate(135deg)"},"& .react-grid-item > .react-resizable-handle.react-resizable-handle-e":{right:"0",transform:"rotate(315deg)"},"& .react-grid-item > .react-resizable-handle.react-resizable-handle-n, &.react-grid-item > .react-resizable-handle.react-resizable-handle-s":{left:"50%",marginLeft:"-10px",cursor:"ns-resize"},"& .react-grid-item > .react-resizable-handle.react-resizable-handle-n":{top:"0",transform:"rotate(225deg)"},"& .react-grid-item > .react-resizable-handle.react-resizable-handle-s":{bottom:"0",transform:"rotate(45deg)"},"& .react-resizable":{position:"relative"},"& .react-resizable-handle":{position:"absolute",width:"20px",height:"20px",backgroundRepeat:"no-repeat",backgroundOrigin:"content-box",boxSizing:"border-box",backgroundImage:"url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4Ij48ZyBvcGFjaXR5PSIwLjMwMiI+PHBhdGggZD0iTSA2IDYgTCAwIDYgTCAwIDQuMiBMIDQgNC4yIEwgNC4yIDQuMiBMIDQuMiAwIEwgNiAwIEwgNiA2IEwgNiA2IFoiIGZpbGw9IiMwMDAwMDAiLz48L2c+PC9zdmc+')",backgroundPosition:"bottom right",padding:"0 3px 3px 0"},"& .react-resizable-handle-sw":{bottom:"0",left:"0",cursor:"sw-resize",transform:"rotate(90deg)"},"& .react-resizable-handle-se":{bottom:"0",right:"0",cursor:"se-resize"},"& .react-resizable-handle-nw":{top:"0",left:"0",cursor:"nw-resize",transform:"rotate(180deg)"},"& .react-resizable-handle-ne":{top:"0",right:"0",cursor:"ne-resize",transform:"rotate(270deg)"},"& .react-resizable-handle-w, .react-resizable-handle-e":{top:"50%",marginTop:"-10px",cursor:"ew-resize"},"& .react-resizable-handle-w":{left:"0",transform:"rotate(135deg)"},"& .react-resizable-handle-e":{right:"0",transform:"rotate(315deg)"},"& .react-resizable-handle-n, .react-resizable-handle-s":{left:"50%",marginLeft:"-10px",cursor:"ns-resize"},"& .react-resizable-handle-n":{top:"0",transform:"rotate(225deg)"},"& .react-resizable-handle-s":{bottom:"0",transform:"rotate(45deg)"}}));var e9=Object.defineProperty,e4=new Map,e5=new WeakMap,e7=0,e8=void 0;function e6({threshold:e,delay:t,trackVisibility:n,rootMargin:r,root:i,triggerOnce:a,skip:o,initialInView:s,fallbackInView:l,onChange:u}={}){var c;let[d,p]=h.useState(null),f=h.useRef(u),[g,m]=h.useState({inView:!!s,entry:void 0});f.current=u,h.useEffect(()=>{let s;if(!o&&d)return s=function(e,t,n={},r=e8){if(void 0===window.IntersectionObserver&&void 0!==r){let i=e.getBoundingClientRect();return t(r,{isIntersecting:r,target:e,intersectionRatio:"number"==typeof n.threshold?n.threshold:0,time:0,boundingClientRect:i,intersectionRect:i,rootBounds:i}),()=>{}}let{id:i,observer:a,elements:o}=function(e){let t=Object.keys(e).sort().filter(t=>void 0!==e[t]).map(t=>{var n;return`${t}_${"root"===t?!(n=e.root)?"0":(e5.has(n)||(e7+=1,e5.set(n,e7.toString())),e5.get(n)):e[t]}`}).toString(),n=e4.get(t);if(!n){let r,i=new Map,a=new IntersectionObserver(t=>{t.forEach(t=>{var n;let a=t.isIntersecting&&r.some(e=>t.intersectionRatio>=e);e.trackVisibility&&void 0===t.isVisible&&(t.isVisible=a),null==(n=i.get(t.target))||n.forEach(e=>{e(a,t)})})},e);r=a.thresholds||(Array.isArray(e.threshold)?e.threshold:[e.threshold||0]),n={id:t,observer:a,elements:i},e4.set(t,n)}return n}(n),s=o.get(e)||[];return o.has(e)||o.set(e,s),s.push(t),a.observe(e),function(){s.splice(s.indexOf(t),1),0===s.length&&(o.delete(e),a.unobserve(e)),0===o.size&&(a.disconnect(),e4.delete(i))}}(d,(e,t)=>{m({inView:e,entry:t}),f.current&&f.current(e,t),t.isIntersecting&&a&&s&&(s(),s=void 0)},{root:i,rootMargin:r,threshold:e,trackVisibility:n,delay:t},l),()=>{s&&s()}},[Array.isArray(e)?e.toString():e,d,i,r,a,o,n,l,t]);let y=null==(c=g.entry)?void 0:c.target,b=h.useRef(void 0);d||!y||a||o||b.current===y||(b.current=y,m({inView:!!s,entry:void 0}));let v=[p,g.inView,g.entry];return v.ref=v[0],v.inView=v[1],v.entry=v[2],v}function te(e,t){return e?.panelGroupId===t?.panelGroupId&&e?.panelGroupItemLayoutId===t?.panelGroupItemLayoutId}h.Component;let tt=(0,h.createContext)(void 0);function tn(){let e=(0,h.useContext)(tt);if(void 0===e)throw Error("Panel focus hooks must be used within a PanelFocusProvider");return e}function tr({children:e}){let[t,n]=(0,h.useState)(null),r=(0,h.useCallback)(e=>{n(e)},[]),i=(0,h.useCallback)(()=>{n(null)},[]),a=(0,h.useMemo)(()=>({focusedPanelKey:t,setFocusedPanel:r,clearFocusedPanel:i}),[t,r,i]);return(0,o.jsx)(tt.Provider,{value:a,children:e})}function ti(){return tn().focusedPanelKey}function ta(e){let{setFocusedPanel:t,clearFocusedPanel:n}=tn(),r=(0,h.useRef)(null),i=(0,h.useCallback)(n=>{let i=n.currentTarget;null!==r.current&&clearTimeout(r.current),r.current=setTimeout(()=>{t(e),i.focus({preventScroll:!0}),r.current=null},50)},[e,t]),a=(0,h.useCallback)(()=>{null!==r.current&&(clearTimeout(r.current),r.current=null),n()},[n]);return(0,h.useEffect)(()=>()=>{null!==r.current&&clearTimeout(r.current)},[]),(0,h.useMemo)(()=>({onMouseEnter:i,onMouseLeave:a}),[i,a])}var to=n(68150),ts=n(32189),tl=n(85180),tu=n(33313);function tc(e){let{kind:t,spec:n,contentDimensions:r,definition:i,queryResults:a}=e,{data:s,isLoading:l}=(0,P.usePlugin)("Panel",t,{useErrorBoundary:!0}),u=s?.PanelComponent,c=s?.supportedQueryTypes||[],d=c.length>0?a:[];if(l)return(0,o.jsx)(tu.A,{variant:"rectangular",width:r?.width,height:r?.height,"aria-label":"Loading..."});if(void 0===u)throw Error(`Missing PanelComponent from panel plugin for kind '${t}'`);for(let e of d)if(!c.includes(e.definition.kind))throw Error(`This panel does not support queries of type '${e.definition.kind}'. Supported query types: ${c.join(", ")}.`);return(0,o.jsx)(u,{spec:n,contentDimensions:r,definition:i,queryResults:d})}function td(e){let{panelPluginKind:t,definition:n,queryResults:r,spec:i,contentDimensions:a}=e,{data:s,isLoading:l}=(0,P.usePlugin)("Panel",t,{useErrorBoundary:!0});if(l)return(0,o.jsx)(tu.A,{variant:"rectangular",width:a?.width,height:a?.height,"aria-label":"Loading..."});let u=r.flatMap(e=>e.data?[{data:e.data,definition:e.definition}]:[]);if(u.length>0||0===r.length)return(0,o.jsx)(tc,{kind:t,spec:i,contentDimensions:a,definition:n,queryResults:u});if(r.some(e=>e.isFetching))return(0,o.jsx)(tp,{plugin:s,spec:i,definition:n,contentDimensions:a});let c=r.find(e=>e.error);if(c)throw c.error;return(0,o.jsx)(tp,{plugin:s,spec:i,definition:n,contentDimensions:a})}function tp({plugin:e,spec:t,definition:n,contentDimensions:r}){return e?.LoadingComponent?(0,o.jsx)(e.LoadingComponent,{spec:t,contentDimensions:r,definition:n,queryResults:[]}):(0,o.jsx)(u.LoadingOverlay,{})}var tf=n(35875),th=n(315),tg=n(65211),tm=n(88091),ty=n(25742),tb=n(48865),tv=n(95591),tx=n(83183),tw=n(10713),tj=n(30443);function tA(e){return e.substring(2).toLowerCase()}function tS(e){let{children:t,disableReactTree:n=!1,mouseEvent:r="onClick",onClickAway:i,touchEvent:a="onTouchEnd"}=e,o=h.useRef(!1),s=h.useRef(null),l=h.useRef(!1),u=h.useRef(!1);h.useEffect(()=>(setTimeout(()=>{l.current=!0},0),()=>{l.current=!1}),[]);let c=(0,tv.A)((0,tj.A)(t),s),d=(0,tx.A)(e=>{let t=u.current;u.current=!1;let r=(0,tw.A)(s.current);if(!(!l.current||!s.current||"clientX"in e&&(r.documentElement.clientWidth<e.clientX||r.documentElement.clientHeight<e.clientY))){if(o.current){o.current=!1;return}(e.composedPath?e.composedPath().includes(s.current):!r.documentElement.contains(e.target)||s.current.contains(e.target))||!n&&t||i(e)}}),p=e=>n=>{u.current=!0;let r=t.props[e];r&&r(n)},f={ref:c};return!1!==a&&(f[a]=p(a)),h.useEffect(()=>{if(!1!==a){let e=tA(a),t=(0,tw.A)(s.current),n=()=>{o.current=!0};return t.addEventListener(e,d),t.addEventListener("touchmove",n),()=>{t.removeEventListener(e,d),t.removeEventListener("touchmove",n)}}},[d,a]),!1!==r&&(f[r]=p(r)),h.useEffect(()=>{if(!1!==r){let e=tA(r),t=(0,tw.A)(s.current);return t.addEventListener(e,d),()=>{t.removeEventListener(e,d)}}},[d,r]),h.cloneElement(t,f)}var tC=n(72795),tE=n(35050),tD=n(53493),tk=n(59909),tO=n(86067),tP=n(61318),tM=n(50172),tT=n(14637),tR=n(4178),tL=n(74830),t_=n(17366),tV=n(66081),tI=n(47095),tH=n(24726),tN=n(30145),tz=n(47601),t$=n(97653),tB=n(57438),tG=n(65241);function tF({links:e,variant:t}){let[n,r]=(0,h.useState)(null);return 0===e.length?null:"panel"===t&&1===e.length&&e[0]?(0,o.jsx)(tU,{link:e[0]}):"dashboard"===t&&e.length<=3&&e.every(e=>e.name?e.name.length<30:!!e.url&&e.url.length<70)?(0,o.jsx)(th.A,{direction:"row",spacing:1,children:e.map(e=>(0,o.jsx)(tW,{link:e},e.url))}):(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(u.InfoTooltip,{description:`${e.length} links`,enterDelay:100,children:(0,o.jsx)(tI.A,{"aria-label":`${(0,tH.A)(t)}-links`,id:`${t}-links-button`,size:"small",onClick:e=>{r(e.currentTarget)},sx:e=>({borderRadius:e.shape.borderRadius,padding:"4px"}),children:(0,o.jsx)(tG.default,{"aria-describedby":"links-icon",fontSize:"inherit",sx:{color:e=>e.palette.text.secondary}})})}),(0,o.jsx)(tN.A,{anchorEl:n,open:!!n,onClose:()=>{r(null)},MenuListProps:{"aria-labelledby":`${t}-links-button`},children:e.map(e=>(0,o.jsx)(tq,{link:e},e.url))})]})}function tW({link:e}){let{url:t,name:n,tooltip:r,targetBlank:i}=tK(e);return(0,o.jsx)(u.InfoTooltip,{description:r??t,enterDelay:100,children:(0,o.jsx)(tz.A,{label:n??t,component:"a",href:t,target:i?"_blank":"_self",clickable:!0,size:"medium",icon:(0,o.jsx)(tG.default,{color:"inherit",fontSize:"small"}),sx:e=>({height:e.spacing(3)})})})}function tU({link:e}){let{url:t,name:n,tooltip:r,targetBlank:i}=tK(e);return(0,o.jsx)(u.InfoTooltip,{description:r??t,enterDelay:100,children:(0,o.jsx)(tI.A,{"aria-label":n??t,size:"small",href:t,target:i?"_blank":"_self",sx:e=>({borderRadius:e.shape.borderRadius,padding:"4px"}),children:(0,o.jsx)(tG.default,{fontSize:"inherit",sx:{color:e=>e.palette.text.secondary}})})})}function tq({link:e}){let{url:t,name:n,tooltip:r,targetBlank:i}=tK(e);return(0,o.jsx)(u.InfoTooltip,{description:r??t,enterDelay:100,children:(0,o.jsx)(t$.A,{component:tB.A,href:t,target:i?"_blank":"_self",children:n??t})})}function tK(e){let t=(0,P.useReplaceVariablesInString)(e.url)??e.url,n=(0,P.useReplaceVariablesInString)(e.name),r=(0,P.useReplaceVariablesInString)(e.tooltip);return!1===e.renderVariables?e:{...e,url:t,name:n,tooltip:r}}let tJ=(0,e$.A)(tI.A)(({theme:e})=>({borderRadius:e.shape.borderRadius,padding:"4px"})),tY={error:(0,o.jsx)(tL.default,{color:"error"}),warning:(0,o.jsx)(tR.default,{fontSize:"inherit",color:"warning"}),info:(0,o.jsx)(t_.default,{fontSize:"inherit",color:"info"})},tX=(0,e$.A)(e_.A)({display:"none",alignItems:"center",flexGrow:1,justifyContent:"flex-end"}),tZ=({editHandlers:e,readHandlers:t,viewQueriesHandler:n,extra:r,title:i,description:a,descriptionTooltipId:s,links:l,queryResults:p,pluginActions:g=[],itemActions:m=[],showIcons:y})=>{let b=(0,h.useMemo)(()=>{if(a&&a.trim().length>0)return(0,o.jsx)(u.InfoTooltip,{id:s,description:a,enterDelay:100,children:(0,o.jsx)(tJ,{"aria-label":"panel description",size:"small",children:(0,o.jsx)(t_.default,{"aria-describedby":"info-tooltip","aria-hidden":!1,fontSize:"inherit",sx:{color:e=>e.palette.text.secondary}})})})},[s,a]),v=l&&l.length>0&&(0,o.jsx)(tF,{links:l,variant:"panel"}),x=void 0===e&&r,w=(0,h.useMemo)(()=>{let e=p.some(e=>e.data),t=p.some(e=>e.isFetching),n=p.filter(e=>e.error);if(t&&e)return(0,o.jsx)(ty.A,{"aria-label":"loading",size:"1.125rem"});if(n.length>0){let e=n.map(e=>e.error).map(e=>e.message).join("\n");return(0,o.jsx)(u.InfoTooltip,{description:e,children:(0,o.jsx)(tJ,{"aria-label":"panel errors",size:"small",children:(0,o.jsx)(tR.default,{fontSize:"inherit",sx:{color:e=>e.palette.error.main}})})})}},[p]),j=(0,h.useMemo)(()=>{let e=p.flatMap(e=>e.data?.metadata?.notices??[]);if(e.length>0){let t=e[e.length-1];return(0,o.jsx)(u.InfoTooltip,{description:t.message,children:(0,o.jsx)(tJ,{"aria-label":"panel notices",size:"small",children:tY[t.type]})})}},[p]),A=(0,h.useMemo)(()=>{if(void 0!==t)return(0,o.jsx)(u.InfoTooltip,{description:c.viewPanel,children:(0,o.jsx)(tJ,{"aria-label":d.viewPanel(i),size:"small",onClick:t.onViewPanelClick,children:t.isPanelViewed?(0,o.jsx)(tE.default,{fontSize:"inherit"}):(0,o.jsx)(tD.default,{fontSize:"inherit"})})})},[t,i]),S=(0,h.useMemo)(()=>n?.onClick?(0,o.jsx)(u.InfoTooltip,{description:c.queryView,children:(0,o.jsx)(tJ,{"aria-label":d.openQueryView(i),size:"small",onClick:n.onClick,children:(0,o.jsx)(tC.default,{fontSize:"inherit"})})}):null,[n,i]),C=(0,h.useMemo)(()=>{if(void 0!==e)return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(u.InfoTooltip,{description:c.editPanel,children:(0,o.jsx)(tJ,{"aria-label":d.editPanel(i),size:"small",onClick:e.onEditPanelClick,children:(0,o.jsx)(tk.default,{fontSize:"inherit"})})}),(0,o.jsx)(u.InfoTooltip,{description:c.duplicatePanel,children:(0,o.jsx)(tJ,{"aria-label":d.duplicatePanel(i),size:"small",onClick:e.onDuplicatePanelClick,children:(0,o.jsx)(tM.default,{fontSize:"inherit",sx:{transform:"scale(0.925)"}})})}),(0,o.jsx)(u.InfoTooltip,{description:c.deletePanel,children:(0,o.jsx)(tJ,{"aria-label":d.deletePanel(i),size:"small",onClick:e.onDeletePanelClick,children:(0,o.jsx)(tO.default,{fontSize:"inherit"})})})]})},[e,i]),E=(0,h.useMemo)(()=>{if(C&&!t?.isPanelViewed)return(0,o.jsx)(e_.A,{sx:{background:e=>e.palette.background.default},children:(0,o.jsx)(u.InfoTooltip,{description:c.movePanel,children:(0,o.jsx)(tJ,{"aria-label":d.movePanel(i),size:"small",children:(0,o.jsx)(tP.default,{className:"drag-handle",sx:{cursor:"grab"},fontSize:"inherit"})})})})},[C,t,i]),D=(0,o.jsx)(e_.A,{sx:{flexGrow:1}}),k=({children:e})=>"hover"===y?(0,o.jsx)(e_.A,{sx:{display:"var(--panel-hover, none)"},children:e}):(0,o.jsx)(o.Fragment,{children:e});return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(tX,{sx:e=>({[e.containerQueries(f).between(0,170)]:{display:"flex"}}),children:[D,(0,o.jsxs)(k,{children:[(0,o.jsxs)(tQ,{title:i,children:[b," ",v," ",w," ",j," ",x," ",S,A," ",g," ",m,C]}),E]})]}),(0,o.jsxs)(tX,{sx:e=>({[e.containerQueries(f).between(170,220)]:{display:"flex"}}),children:[(0,o.jsxs)(k,{children:[b," ",v]}),D," ",w,j,(0,o.jsxs)(k,{children:[x,A,(0,o.jsxs)(tQ,{title:i,children:[C," ",S," ",g," ",m]}),E]})]}),(0,o.jsxs)(tX,{sx:e=>({display:"flex",[e.containerQueries(f).down(220)]:{display:"none"}}),children:[(0,o.jsxs)(k,{children:[b," ",v]}),D," ",w,j,(0,o.jsxs)(k,{children:[x,S,A," ",C,g.length<=1?g:(0,o.jsx)(tQ,{title:i,children:g}),m.length<=1?m:(0,o.jsx)(u.InfoTooltip,{description:`${m.length} actions`,children:(0,o.jsx)(tQ,{icon:(0,o.jsx)(tV.default,{fontSize:"inherit"}),direction:"column",title:i,children:m})}),E]})]})]})},tQ=({children:e,title:t,icon:n,direction:r="row",placement:i="bottom",offsetX:a=-2,offsetY:s=-25})=>{let[l,u]=(0,h.useState)(null);if(!((0,h.isValidElement)(e)||Array.isArray(e)&&e.some(h.isValidElement)))return null;let c=()=>{u(null)},p=!!l,f=p?"actions-menu":void 0;return(0,o.jsxs)(e_.A,{sx:{background:e=>e.palette.background.default},children:[(0,o.jsx)(tJ,{className:"show-actions","aria-describedby":f,onClick:e=>{u(l?null:e.currentTarget)},"aria-label":d.showPanelActions(t),size:"small",children:n??(0,o.jsx)(tT.default,{fontSize:"inherit"})}),(0,o.jsx)(tb.A,{id:f,open:p,anchorEl:l,placement:i,modifiers:[{name:"offset",options:{offset:[a,s]}}],sx:{backgroundColor:e=>e.palette.background.paper,borderRadius:1,boxShadow:e=>e.shadows[4]},children:(0,o.jsx)(tS,{onClickAway:c,children:(0,o.jsx)(th.A,{direction:r,alignItems:"center",sx:{padding:1},onClick:c,children:e})})})]})};function t0({actions:e,variableState:t,disabledWithEmptySelection:n}){let{selectionMap:r}=(0,u.useSelection)(),{actionStatuses:i,setActionStatus:a}=(0,u.useItemActions)(),[s,l]=(0,h.useState)({open:!1}),c=(0,h.useCallback)(async(e,n)=>{n?await (0,P.executeAction)({action:e,selectionMap:new Map([[n.id,n.data]]),variableState:t,setActionStatus:a}):await (0,P.executeAction)({action:e,selectionMap:r,variableState:t,setActionStatus:a})},[r,t,a]),d=(0,h.useCallback)((e,t)=>{e.confirmMessage?l({open:!0,action:e,item:t}):c(e,t)},[c]),p=(0,h.useCallback)(()=>l(e=>({...e,open:!1})),[]),f=(0,h.useCallback)(async()=>{l(e=>({...e,open:!1})),s.action&&await c(s.action,s.item)},[s.action,c,s.item]),g=n&&0===r.size,m=(0,h.useMemo)(()=>{if(!e?.length)return[];let t=[];for(let n of e){if(!n.enabled)continue;let e=i.get(n.name)?.loading??!1,r=n.icon?P.ACTION_ICONS.find(e=>e.value===n.icon):void 0;t.push((0,o.jsx)(u.InfoTooltip,{description:n.name,children:(0,o.jsx)(tJ,{size:"small",disabled:e||g,onClick:e=>{e.stopPropagation(),d(n)},"aria-label":n.name,children:e?(0,o.jsx)(ty.A,{size:14}):r?r.icon:(0,o.jsx)(e_.A,{component:"span",sx:{fontSize:"0.75rem",px:.5},children:n.name})})},n.name))}return t},[e,i,d,g]),y=(0,h.useCallback)(t=>{if(!e?.length)return[];let n=[];for(let r of e){if(!r.enabled)continue;let e=i.get(r.name)?.itemStatuses?.get(t.id)?.loading??!1,a=r.icon?P.ACTION_ICONS.find(e=>e.value===r.icon):void 0;n.push((0,o.jsx)(u.InfoTooltip,{description:r.name,children:(0,o.jsx)(tJ,{size:"small",disabled:e||g,onClick:e=>{e.stopPropagation(),d(r,t)},"aria-label":r.name,children:e?(0,o.jsx)(ty.A,{size:14}):a?a.icon:(0,o.jsx)(e_.A,{component:"span",sx:{fontSize:"0.75rem",px:.5},children:r.name})})},`${r.name}-${t.id}`))}return n},[e,i,g,d]);return{actionButtons:m,confirmDialog:(0,h.useMemo)(()=>(0,o.jsxs)(u.Dialog,{open:s.open&&!!s.action,onClose:p,children:[(0,o.jsx)(u.Dialog.Header,{onClose:p,children:s.action?.name?`Confirm: ${s.action.name}`:"Confirm Action"}),(0,o.jsx)(u.Dialog.Content,{children:s.action?.confirmMessage??"Are you sure you want to perform this action?"}),(0,o.jsxs)(u.Dialog.Actions,{children:[(0,o.jsx)(u.Dialog.PrimaryButton,{onClick:f,children:"Confirm"}),(0,o.jsx)(u.Dialog.SecondaryButton,{onClick:p,children:"Cancel"})]})]}),[s.open,s.action,p,f]),getItemActionButtons:y}}function t1({id:e,title:t,description:n,links:r,queryResults:i,readHandlers:a,editHandlers:s,sx:l,extra:c,pluginActions:d,itemActionsListConfig:p,showIcons:g,viewQueriesHandler:m,dimension:y,...b}){let v=`${e}-title`,x=`${e}-description`,w=(0,P.useReplaceVariablesInString)(t),j=(0,P.useReplaceVariablesInString)(n),A=(0,P.useAllVariableValues)(),S=(0,h.useRef)(null),C=!!(S.current&&y?.width)&&S.current.scrollWidth>S.current.clientWidth,{actionButtons:E,confirmDialog:D}=t0({actions:p,variableState:A,disabledWithEmptySelection:!0});return(0,o.jsxs)(o.Fragment,{children:[w?(0,o.jsx)(tf.A,{id:e,component:"header","aria-labelledby":v,"aria-describedby":x,disableTypography:!0,title:(0,o.jsxs)(th.A,{direction:"row",alignItems:"center",height:"var(--panel-header-height, 30px)",children:[(0,o.jsx)(tg.A,{title:w,disableHoverListener:!C,children:(0,o.jsx)(tm.A,{id:v,variant:"subtitle1",ref:S,sx:{lineHeight:"24px",minHeight:"26px",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:w})}),(0,o.jsx)(tZ,{title:w,description:j,descriptionTooltipId:x,links:r,readHandlers:a,editHandlers:s,viewQueriesHandler:m,extra:c,queryResults:i,pluginActions:d,itemActions:E,showIcons:g})]}),sx:(0,u.combineSx)(e=>({containerType:"inline-size",containerName:f,padding:e.spacing(1),borderBottom:`solid 1px ${e.palette.divider}`,".MuiCardHeader-content":{overflow:"hidden"}}),l),...b}):(0,o.jsx)(th.A,{id:e,component:"header","aria-describedby":x,sx:(0,u.combineSx)({position:"absolute",right:0,top:0,zIndex:5,containerType:"inline-size",containerName:f},l),...b,children:(0,o.jsx)(tZ,{title:w,description:j,descriptionTooltipId:x,links:r,readHandlers:a,editHandlers:s,viewQueriesHandler:m,extra:c,queryResults:i,pluginActions:d,itemActions:E,showIcons:g})}),D]})}let t2=(0,h.memo)(function(e){let{definition:t,readHandlers:n,editHandlers:r,onMouseEnter:i,onMouseLeave:a,sx:s,panelOptions:l,panelGroupItemId:c,viewQueriesHandler:d,...p}=e,f=(0,u.useId)("Panel"),g=`${f}-header`,[m,y]=(0,h.useState)(null),{width:b,height:v}=(0,tl.default)({ref:m}),x=(0,h.useMemo)(()=>{if(void 0!==b&&void 0!==v)return{width:b,height:v}},[b,v]),{queryResults:w}=(0,P.useDataQueriesContext)(),{getPlugin:j}=(0,P.usePluginRegistry)(),A=(0,h.useMemo)(()=>({spec:t.spec.plugin.spec,queryResults:w.map(e=>({definition:e.definition,data:e.data})),contentDimensions:x,definition:t}),[t,x,w]),[S,C]=(0,h.useState)([]);(0,h.useEffect)(()=>{(async()=>{let e=t.spec.plugin.kind;if(!e||!A||!j||"function"!=typeof j)return C([]);try{let t=await j({kind:"Panel",name:e});if(!t||"object"!=typeof t||!t.actions||!Array.isArray(t.actions)||0===t.actions.length)return void C([]);let n=t.actions.filter(e=>!e.location||"header"===e.location).map((e,t)=>{let n=e.component;try{return(0,o.jsx)(n,{...A},`plugin-action-${t}`)}catch(e){return console.warn(`Failed to render plugin action ${t}:`,e),null}}).filter(e=>!!e);C(n)}catch(e){console.warn("Failed to load plugin actions:",e),C([])}})()},[t.spec.plugin.kind,A,j]);let E=l?.showIcons??(r||n?.isPanelViewed?"always":"hover"),D=t.spec.plugin.spec?.actions?t.spec.plugin.spec.actions:void 0,k=D?.enabled&&D.displayInHeader?D.actionsList:[];return(0,o.jsx)(u.SelectionProvider,{children:(0,o.jsx)(u.ItemActionsProvider,{children:(0,o.jsxs)(to.A,{component:"section",sx:(0,u.combineSx)({width:"100%",height:"100%",display:"flex",flexFlow:"column nowrap",":hover":{"--panel-hover":"block"}},s),variant:"outlined",onMouseEnter:e=>{i?.(e)},onMouseLeave:e=>{a?.(e)},"aria-labelledby":g,"aria-describedby":g,"data-testid":"panel",...p,children:[!l?.hideHeader&&(0,o.jsx)(t1,{extra:l?.extra?.({panelDefinition:t,panelGroupItemId:c}),id:g,title:t.spec.display?.name??"",description:t.spec.display?.description,queryResults:w,readHandlers:n,editHandlers:r,viewQueriesHandler:d,links:t.spec.links,pluginActions:S,itemActionsListConfig:k,showIcons:E,sx:{py:"2px",pl:"8px",pr:"2px"},dimension:x}),(0,o.jsx)(ts.A,{component:"figure",sx:{position:"relative",overflow:"hidden",flexGrow:1,margin:0,padding:0,":last-child":{padding:0}},ref:y,children:(0,o.jsx)(u.ErrorBoundary,{FallbackComponent:u.ErrorAlert,resetKeys:[t.spec,w],children:(0,o.jsx)(td,{definition:t,panelPluginKind:t.spec.plugin.kind,spec:t.spec.plugin.spec,contentDimensions:x,queryResults:w})})})]})})})});var t3=n(6227);function t9({open:e,queryDefinitions:t,onClose:n}){let r=(0,h.useMemo)(()=>{if(!t?.length)return null;let e=[];return t.forEach((n,r)=>{n?.spec?.plugin?.kind&&n?.kind&&e.push((0,o.jsxs)(g().Fragment,{children:[(0,o.jsx)(P.PluginSpecEditor,{value:n.spec.plugin.spec,pluginSelection:{kind:n.spec.plugin.kind,type:n.kind},onChange:()=>{},isReadonly:!0}),r<t.length-1&&(0,o.jsx)(t3.A,{sx:{my:2}})]},`query-${r}`))}),e},[t]);return(0,o.jsxs)(u.Dialog,{open:e,onClose:n,maxWidth:"lg",fullWidth:!0,children:[(0,o.jsx)(u.Dialog.Header,{children:"Query Viewer"}),(0,o.jsx)(u.Dialog.Content,{children:r}),(0,o.jsx)(u.Dialog.Actions,{children:(0,o.jsx)(s.A,{variant:"outlined",color:"secondary",onClick:n,children:"Close"})})]})}function t4(e){let t,{panelGroupItemId:n,width:r}=e,i=ef(n),{spec:{queries:a}}=i,{isEditMode:s}=U(),{openEditPanel:l,openDeletePanelDialog:u,duplicatePanel:c,viewPanel:d}=eg(n),p=eC(),{onMouseEnter:f,onMouseLeave:g}=ta(`${n.panelGroupId}-${n.panelGroupItemLayoutId}`),{ref:m,inView:y}=e6({threshold:0,initialInView:!1,triggerOnce:!0}),{ref:b,inView:v}=e6({threshold:.2,initialInView:!1,triggerOnce:!1}),x=(0,eU.A)(b,m),[w,j]=(0,h.useState)(!1),A=(0,h.useMemo)(()=>s||!a?.length?void 0:{onClick:()=>{j(!0)}},[s,a]),S={isPanelViewed:te(p,n),onViewPanelClick:function(){void 0===p?d(n):d(void 0)}};s&&(t={onEditPanelClick:l,onDuplicatePanelClick:c,onDeletePanelClick:u});let C=(0,P.useSuggestedStepMs)(r),{data:E}=(0,P.usePlugin)("Panel",i.spec.plugin.kind),D=a??[],k=D.map(e=>({kind:e.spec.plugin.kind,spec:e.spec.plugin.spec})),O="function"==typeof E?.queryOptions?E?.queryOptions(i.spec.plugin.spec):E?.queryOptions;return(0,o.jsxs)(e_.A,{ref:x,tabIndex:-1,onMouseEnter:f,onMouseLeave:g,sx:{width:"100%",height:"100%",outline:"none"},children:[(0,o.jsx)(P.DataQueriesProvider,{definitions:k,options:{suggestedStepMs:C,...O},queryOptions:{enabled:y},children:v&&(0,o.jsx)(t2,{definition:i,readHandlers:S,editHandlers:t,viewQueriesHandler:A,panelOptions:e.panelOptions,panelGroupItemId:n})}),(0,o.jsx)(t9,{open:w,queryDefinitions:D,onClose:()=>j(!1)})]})}var t5=n(87275),t7=n(11061),t8=n(65168),t6=n(46001);function ne(e){let{panelGroupId:t,title:n,collapse:r}=e,i=(0,P.useReplaceVariablesInString)(n),{openAddPanel:a,openEditPanelGroup:s,moveUp:l,moveDown:p}=ea(t),{openDeletePanelGroupDialog:f}=ed(),{isEditMode:h}=U(),g=(0,o.jsx)(tm.A,{variant:"h2",children:i});return(0,o.jsx)(e_.A,{onClick:r?.onToggleOpen,sx:{display:"flex",justifyContent:"start",alignItems:"center",cursor:r?"pointer":"auto",backgroundColor:({palette:e})=>e.background.paper},"data-testid":"panel-group-header",children:r?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(tI.A,{sx:{marginRight:1},"aria-label":`${r.isOpen?"collapse":"expand"} group ${i}`,children:r.isOpen?(0,o.jsx)(t5.default,{}):(0,o.jsx)(t7.default,{})}),g,h&&(0,o.jsxs)(th.A,{direction:"row",marginLeft:"auto",children:[(0,o.jsx)(u.InfoTooltip,{description:c.addPanelToGroup,children:(0,o.jsx)(tI.A,{"aria-label":d.addPanelToGroup(i),onClick:e=>{e.stopPropagation(),a()},children:(0,o.jsx)(eR.default,{})})}),(0,o.jsx)(u.InfoTooltip,{description:c.editGroup,children:(0,o.jsx)(tI.A,{"aria-label":d.editGroup(i),onClick:e=>{e.stopPropagation(),s()},children:(0,o.jsx)(tk.default,{})})}),(0,o.jsx)(u.InfoTooltip,{description:c.deleteGroup,children:(0,o.jsx)(tI.A,{"aria-label":d.deleteGroup(i),onClick:e=>{e.stopPropagation(),f(t)},children:(0,o.jsx)(tO.default,{})})}),(0,o.jsx)(u.InfoTooltip,{description:c.moveGroupDown,children:(0,o.jsx)(tI.A,{"aria-label":d.moveGroupDown(i),disabled:void 0===p,onClick:e=>{e.stopPropagation(),p?.()},children:(0,o.jsx)(t6.default,{})})}),(0,o.jsx)(u.InfoTooltip,{description:c.moveGroupUp,children:(0,o.jsx)(tI.A,{"aria-label":d.moveGroupUp(i),disabled:void 0===l,onClick:e=>{e.stopPropagation(),l?.()},children:(0,o.jsx)(t8.default,{})})})]})]}):g})}function nt({panelGroupId:e,groupDefinition:t,gridColWidth:n,panelFullHeight:r,panelOptions:i,isEditMode:a=!1,onLayoutChange:s,onWidthChange:l,repeatVariable:c}){let d=(0,h.useMemo)(()=>(0,e1.WidthProvider)(e1.Responsive),[]),p=(0,eV.A)(),f=(0,e0.useViewPanelGroup)(),[g,m]=(0,h.useState)(!t.isCollapsed),y=f?.panelGroupId===e&&f.repeatVariable?.[0]===c?.[0]&&f.repeatVariable?.[1]===c?.[1],b=f?.panelGroupItemLayoutId,v=!f||y;(0,h.useEffect)(()=>{y&&m(!0)},[y]);let x=(0,h.useMemo)(()=>b?t.itemLayouts.map(e=>e.i===b?{h:Math.round(((r??window.innerHeight)-48)/40),i:b,w:48,x:0,y:0}:e):t.itemLayouts,[t.itemLayouts,b,r]);return(0,o.jsxs)(e2,{sx:{display:v?"block":"none",height:b?`${r}px`:"unset",overflow:b?"hidden":"unset"},children:[t.title&&(0,o.jsx)(ne,{panelGroupId:e,title:t.title,collapse:void 0===t.isCollapsed?void 0:{isOpen:g,onToggleOpen:()=>m(e=>!e)}}),(0,o.jsx)(eQ,{in:g,unmountOnExit:!0,appear:!1,"data-testid":"panel-group-content",children:(0,o.jsx)(d,{className:"layout",breakpoints:{sm:p.breakpoints.values.sm,xxs:0},cols:I,rowHeight:30,draggableHandle:".drag-handle",resizeHandles:["se"],isDraggable:a&&!y,isResizable:a&&!y,margin:[10,10],containerPadding:[0,10],layouts:{sm:x},onLayoutChange:s,onWidthChange:l,allowOverlap:y,children:x.map(({i:t,w:r})=>(0,o.jsx)("div",{style:{display:b?b===t?"unset":"none":"unset"},children:(0,o.jsx)(u.ErrorBoundary,{FallbackComponent:u.ErrorAlert,children:(0,o.jsx)(t4,{panelOptions:i,panelGroupItemId:{panelGroupId:e,panelGroupItemLayoutId:t,repeatVariable:c},width:nn(r,n)})})},t))})})]})}let nn=(e,t)=>Number.isFinite(e)?Math.round(t*e+10*Math.max(0,e-1)):e;function nr(e){let{panelGroupId:t,panelOptions:n,panelFullHeight:r}=e,i=er(t),{updatePanelGroupLayouts:a}=ea(t),s=eC(),{isEditMode:l}=U(),[u,c]=(0,h.useState)(0),d=s?.panelGroupId===t,p=(e,t)=>{let n=t.sm;n&&!d&&a(n)},f=(e,t,n,r)=>{c((e-t[0]*(n-1)-2*r[0])/n)};return(0,o.jsx)(o.Fragment,{children:i.repeatVariable?(0,o.jsx)(ni,{repeatVariableName:i.repeatVariable,panelGroupId:t,groupDefinition:i,gridColWidth:u,panelFullHeight:r,panelOptions:n,isEditMode:l,onLayoutChange:p,onWidthChange:f}):(0,o.jsx)(nt,{panelGroupId:t,groupDefinition:i,gridColWidth:u,panelFullHeight:r,panelOptions:n,isEditMode:l,onLayoutChange:p,onWidthChange:f})})}function ni({repeatVariableName:e,panelGroupId:t,groupDefinition:n,gridColWidth:r,panelFullHeight:i,panelOptions:a,isEditMode:s=!1,onLayoutChange:l,onWidthChange:u}){let c=(0,P.useVariableValues)(),d=c[e];return void 0!==d&&Array.isArray(d.value)&&0!==d.value.length?(0,o.jsx)(o.Fragment,{children:d.value.map(d=>(0,o.jsx)(P.VariableContext.Provider,{value:{state:{...c,[e]:{value:d,loading:!1}}},children:(0,o.jsx)(nt,{panelGroupId:t,groupDefinition:n,gridColWidth:r,panelFullHeight:i,panelOptions:a,isEditMode:s,onLayoutChange:l,onWidthChange:u,repeatVariable:[e,d]})},`${e}-${d}`))}):(0,o.jsx)(nt,{panelGroupId:t,groupDefinition:n,gridColWidth:r,panelFullHeight:i,panelOptions:a,isEditMode:s,onLayoutChange:l,onWidthChange:u})}let{useDebugValue:na}=g(),{useSyncExternalStoreWithSelector:no}=b,ns=e=>e;function nl(e,t=ns,n){let r=no(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return na(r),r}function nu(e,t){var n,r,i;let a={},o=[];return n=e,r=t,i=(e,t)=>{a[t]||(o.push(e),a[t]=!0)},n.forEach(e=>i(e,e.spec.name)),r.forEach(e=>e.definitions.forEach(t=>i(t,t.spec.name,e.source))),o}function nc(e,t){let n={value:null,loading:!1,overriding:!1,overridden:!1};switch(e.kind){case"TextVariable":n.value=t??e.spec.value;break;case"ListVariable":if(n.options=[],n.value=t??e.spec.defaultValue??null,n.options.length>0&&!n.value){let t=n.options[0]?.value??null;null!==t&&(n.value=e.spec.allowMultiple?[t]:t)}Array.isArray(n.value)&&1===n.value.length&&n.value[0]===M.DEFAULT_ALL_VALUE&&(n.value=M.DEFAULT_ALL_VALUE)}return n}function nd(e,t,n=[]){let r=new P.VariableStoreStateMap,i={};e.forEach(e=>{i[e.spec.name]=!0},{});let a={};return n.forEach(e=>{let n=e.source;e.definitions.forEach(e=>{let o=e.spec.name,s=t[o];r.set({source:n,name:o},{...nc(e,s||null),overridden:!!i[o]}),i[o]=!0,a[e.spec.name]=!0})},{}),e.forEach(e=>{let n=e.spec.name,i=t[n];r.set({name:n},{...nc(e,i||null),overriding:!!a[n]})}),i={},n.slice().reverse().forEach(e=>{let t=e.source;e.definitions.forEach(e=>{let n=e.spec.name,a=r.get({source:t,name:n});a&&(a.overriding=!!i[n]),i[n]=!0})}),r}var np=n(57348);let nf="var-",nh={encode:function(e){return Array.isArray(e)?e.join(","):e},decode:e=>{if("string"==typeof e){if(!e)return null;let t=e.split(",");return 1===t.length?t[0]:t}return""}},ng=(0,h.createContext)(void 0);function nm(){let e=(0,h.useContext)(ng);if(!e)throw Error("VariableStoreContext not initialized");return e}function ny(e){return j(nm(),t=>{let n={};return(e??t.variableDefinitions.map(e=>e.spec.name)).forEach(e=>{let r=t.variableState.get({name:e});r&&!r.overridden&&(n[e]=r)}),t.externalVariableDefinitions.forEach(e=>{let r=e.source;e.definitions.forEach(e=>{let i=e.spec.name,a=t.variableState.get({name:i,source:r});a&&!a.overridden&&(n[i]=a)})}),n},(e,t)=>JSON.stringify(e)===JSON.stringify(t))}function nb(e,t){return nl(nm(),n=>({state:n.variableState.get({name:e,source:t}),definition:((t?n.externalVariableDefinitions.find(e=>e.source===t)?.definitions:n.variableDefinitions)||[]).find(t=>t.spec.name===e)}))}function nv(){return j(nm(),e=>({setVariableValue:e.setVariableValue,setVariableLoading:e.setVariableLoading,setVariableOptions:e.setVariableOptions,setVariableDefinitions:e.setVariableDefinitions,setVariableDefaultValues:e.setVariableDefaultValues,getSavedVariablesStatus:e.getSavedVariablesStatus}),O)}function nx(){return nl(nm(),e=>e.variableDefinitions)}function nw(){return nl(nm(),e=>e.externalVariableDefinitions)}function nj({children:e,builtinVariables:t}){let n=ny(),r=nx(),i=nw(),{absoluteTimeRange:a}=(0,P.useTimeRange)(),s=(0,h.useMemo)(()=>{let e={};return Object.keys(n).forEach(t=>{let a={...n[t]};if(a.value===M.DEFAULT_ALL_VALUE){let e=nu(r,i).find(e=>e.spec.name===t);e?.kind==="ListVariable"&&e.spec.customAllValue?a.value=e.spec.customAllValue:a.value=a.options?.map(e=>e.value)??null}e[t]=a}),e},[n,r,i]),l=(0,h.useMemo)(()=>{let e=[{kind:"BuiltinVariable",spec:{name:"__from",value:()=>a.start.valueOf().toString(),source:"Dashboard",display:{name:"__from",description:"Start time of the current time range in unix millisecond epoch",hidden:!0}}},{kind:"BuiltinVariable",spec:{name:"__to",value:()=>a.end.valueOf().toString(),source:"Dashboard",display:{name:"__to",description:"End time of the current time range in unix millisecond epoch",hidden:!0}}},{kind:"BuiltinVariable",spec:{name:"__range",value:()=>(0,M.formatDuration)((0,M.intervalToDuration)(a)),source:"Dashboard",display:{name:"__range",description:"The range for the current dashboard in human readable format",hidden:!0}}},{kind:"BuiltinVariable",spec:{name:"__range_s",value:()=>((a.end.valueOf()-a.start.valueOf())/1e3).toString(),source:"Dashboard",display:{name:"__range_s",description:"The range for the current dashboard in second",hidden:!0}}},{kind:"BuiltinVariable",spec:{name:"__range_ms",value:()=>(a.end.valueOf()-a.start.valueOf()).toString(),source:"Dashboard",display:{name:"__range_ms",description:"The range for the current dashboard in millisecond",hidden:!0}}}];return t?.forEach(t=>e.push(t)),e},[a,t]);return(0,o.jsx)(P.BuiltinVariableContext.Provider,{value:{variables:l},children:(0,o.jsx)(P.VariableContext.Provider,{value:{state:s},children:e})})}function nA({initialVariableDefinitions:e=[],externalVariableDefinitions:t=[],queryParams:n,initialVariableValues:r}){var i;let a,o={...(i=n?n[0]:{},a={},Object.keys(i).forEach(e=>{let t=i[e];t&&(a[e.replace(nf,"")]=t)}),a),...r};return y()(C(k((r,i)=>({variableState:nd(e,o,t),variableDefinitions:e,externalVariableDefinitions:t,setVariableDefinitions(e){r(n=>{n.variableDefinitions=e,n.variableState=nd(e,o,t)},!1,"[Variables] setVariableDefinitions")},setVariableOptions(e,t,n){r(r=>{let i=r.variableState.get({name:e,source:n});i&&(i.options=t)},!1,"[Variables] setVariableOptions")},setVariableLoading(e,t,n){r(r=>{let i=r.variableState.get({name:e,source:n});i&&(i.loading=t)},!1,"[Variables] setVariableLoading")},setVariableValue:(e,t,i)=>r(r=>{let a=t,o=r.variableState.get({name:e,source:i});if(o){(Array.isArray(a)&&a.includes(M.DEFAULT_ALL_VALUE)&&(a=a.at(-1)===M.DEFAULT_ALL_VALUE?M.DEFAULT_ALL_VALUE:a.filter(e=>e!==M.DEFAULT_ALL_VALUE)),n)&&(0,n[1])({[`${nf}${e}`]:a});o.value=a}},!1,"[Variables] setVariableValue"),setVariableDefaultValues:()=>{let e=i().variableDefinitions,t=i().variableState,n=(0,D.jM)(e,e=>{e.forEach((n,r)=>{let i=n.spec.name;if("ListVariable"===n.kind){let a=t.get({name:i});a?.value!==void 0&&(e[r]={kind:"ListVariable",spec:(0,D.jM)(n.spec,e=>{e.defaultValue=a.value})})}else if("TextVariable"===n.kind){let a=t.get({name:i}),o="string"==typeof a?.value?a.value:"";a?.value!==void 0&&(e[r]={kind:"TextVariable",spec:(0,D.jM)(n.spec,e=>{e.value=o})})}})});return r(e=>{e.variableDefinitions=n},!1,"[Variables] setVariableDefaultValues"),n},getSavedVariablesStatus:()=>(function(e,t){let n=!1,r=[];for(let i of e){let e=i.spec.name;if("ListVariable"===i.kind){let a=t.get({name:e});a?.value!==null&&a?.value!==i.spec.defaultValue&&(r.push(e),n=!0)}else if("TextVariable"===i.kind){let a=t.get({name:e}),o="string"==typeof a?.value?a.value:"";i.spec.value!==o&&(r.push(e),n=!0)}}return{isSavedVariableModified:n,modifiedVariableNames:r}})(i().variableDefinitions,i().variableState)}))))}function nS({children:e,initialVariableDefinitions:t=[],externalVariableDefinitions:n=[],builtinVariableDefinitions:r=[],initialVariableValues:i}){let[a]=(0,h.useState)(()=>nA({initialVariableDefinitions:t,externalVariableDefinitions:n,initialVariableValues:i}));return(0,o.jsx)(ng.Provider,{value:a,children:(0,o.jsx)(nj,{builtinVariables:r,children:e})})}function nC({children:e,initialVariableDefinitions:t=[],externalVariableDefinitions:n=[],builtinVariableDefinitions:r=[]}){let i,a=(i={},nu(t,n).forEach(e=>{var t;i[t=e.spec.name,`${nf}${t}`]=nh}),(0,np.useQueryParams)(i,{updateType:"replaceIn"})),[s]=(0,h.useState)(()=>nA({initialVariableDefinitions:t,externalVariableDefinitions:n,queryParams:a}));return(0,o.jsx)(ng.Provider,{value:s,children:(0,o.jsx)(nj,{builtinVariables:r,children:e})})}var nE=n(34007),nD=n(347),nk=n(91394),nO=n(70561),nP=n(3399),nM=n(5139),nT=n(68003),nR=n(11502);let nL=h.createContext({});var n_=n(2203),nV=n(73397);function nI(e){return(0,eK.Ay)("MuiAccordion",e)}let nH=(0,eq.A)("MuiAccordion",["root","heading","rounded","expanded","disabled","gutters","region"]),nN=(0,e$.A)(nR.A,{name:"MuiAccordion",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:n}=e;return[{[`& .${nH.region}`]:t.region},t.root,!n.square&&t.rounded,!n.disableGutters&&t.gutters]}})((0,eB.A)(({theme:e})=>{let t={duration:e.transitions.duration.shortest};return{position:"relative",transition:e.transitions.create(["margin"],t),overflowAnchor:"none","&::before":{position:"absolute",left:0,top:-1,right:0,height:1,content:'""',opacity:1,backgroundColor:(e.vars||e).palette.divider,transition:e.transitions.create(["opacity","background-color"],t)},"&:first-of-type":{"&::before":{display:"none"}},[`&.${nH.expanded}`]:{"&::before":{opacity:0},"&:first-of-type":{marginTop:0},"&:last-of-type":{marginBottom:0},"& + &":{"&::before":{display:"none"}}},[`&.${nH.disabled}`]:{backgroundColor:(e.vars||e).palette.action.disabledBackground}}}),(0,eB.A)(({theme:e})=>({variants:[{props:e=>!e.square,style:{borderRadius:0,"&:first-of-type":{borderTopLeftRadius:(e.vars||e).shape.borderRadius,borderTopRightRadius:(e.vars||e).shape.borderRadius},"&:last-of-type":{borderBottomLeftRadius:(e.vars||e).shape.borderRadius,borderBottomRightRadius:(e.vars||e).shape.borderRadius,"@supports (-ms-ime-align: auto)":{borderBottomLeftRadius:0,borderBottomRightRadius:0}}}},{props:e=>!e.disableGutters,style:{[`&.${nH.expanded}`]:{margin:"16px 0"}}}]}))),nz=(0,e$.A)("h3",{name:"MuiAccordion",slot:"Heading",overridesResolver:(e,t)=>t.heading})({all:"unset"}),n$=h.forwardRef(function(e,t){let n=(0,eG.b)({props:e,name:"MuiAccordion"}),{children:r,className:i,defaultExpanded:a=!1,disabled:s=!1,disableGutters:l=!1,expanded:u,onChange:c,square:d=!1,slots:p={},slotProps:f={},TransitionComponent:g,TransitionProps:m,...y}=n,[b,v]=(0,n_.A)({controlled:u,default:a,name:"Accordion",state:"expanded"}),x=h.useCallback(e=>{v(!b),c&&c(e,!b)},[b,c,v]),[w,...j]=h.Children.toArray(r),A=h.useMemo(()=>({expanded:b,disabled:s,disableGutters:l,toggle:x}),[b,s,l,x]),S={...n,square:d,disabled:s,disableGutters:l,expanded:b},C=(e=>{let{classes:t,square:n,expanded:r,disabled:i,disableGutters:a}=e;return(0,ez.A)({root:["root",!n&&"rounded",r&&"expanded",i&&"disabled",!a&&"gutters"],heading:["heading"],region:["region"]},nI,t)})(S),E={slots:{transition:g,...p},slotProps:{transition:m,...f}},[D,k]=(0,nV.A)("root",{elementType:nN,externalForwardedProps:{...E,...y},className:(0,eI.A)(C.root,i),shouldForwardComponentProp:!0,ownerState:S,ref:t,additionalProps:{square:d}}),[O,P]=(0,nV.A)("heading",{elementType:nz,externalForwardedProps:E,className:C.heading,ownerState:S}),[M,T]=(0,nV.A)("transition",{elementType:eQ,externalForwardedProps:E,ownerState:S});return(0,o.jsxs)(D,{...k,children:[(0,o.jsx)(O,{...P,children:(0,o.jsx)(nL.Provider,{value:A,children:w})}),(0,o.jsx)(M,{in:b,timeout:"auto",...T,children:(0,o.jsx)("div",{"aria-labelledby":w.props.id,id:w.props["aria-controls"],role:"region",className:C.region,children:j})})]})});var nB=n(1337);function nG(e){return(0,eK.Ay)("MuiAccordionSummary",e)}let nF=(0,eq.A)("MuiAccordionSummary",["root","expanded","focusVisible","disabled","gutters","contentGutters","content","expandIconWrapper"]),nW=(0,e$.A)(nB.A,{name:"MuiAccordionSummary",slot:"Root",overridesResolver:(e,t)=>t.root})((0,eB.A)(({theme:e})=>{let t={duration:e.transitions.duration.shortest};return{display:"flex",width:"100%",minHeight:48,padding:e.spacing(0,2),transition:e.transitions.create(["min-height","background-color"],t),[`&.${nF.focusVisible}`]:{backgroundColor:(e.vars||e).palette.action.focus},[`&.${nF.disabled}`]:{opacity:(e.vars||e).palette.action.disabledOpacity},[`&:hover:not(.${nF.disabled})`]:{cursor:"pointer"},variants:[{props:e=>!e.disableGutters,style:{[`&.${nF.expanded}`]:{minHeight:64}}}]}})),nU=(0,e$.A)("span",{name:"MuiAccordionSummary",slot:"Content",overridesResolver:(e,t)=>t.content})((0,eB.A)(({theme:e})=>({display:"flex",textAlign:"start",flexGrow:1,margin:"12px 0",variants:[{props:e=>!e.disableGutters,style:{transition:e.transitions.create(["margin"],{duration:e.transitions.duration.shortest}),[`&.${nF.expanded}`]:{margin:"20px 0"}}}]}))),nq=(0,e$.A)("span",{name:"MuiAccordionSummary",slot:"ExpandIconWrapper",overridesResolver:(e,t)=>t.expandIconWrapper})((0,eB.A)(({theme:e})=>({display:"flex",color:(e.vars||e).palette.action.active,transform:"rotate(0deg)",transition:e.transitions.create("transform",{duration:e.transitions.duration.shortest}),[`&.${nF.expanded}`]:{transform:"rotate(180deg)"}}))),nK=h.forwardRef(function(e,t){let n=(0,eG.b)({props:e,name:"MuiAccordionSummary"}),{children:r,className:i,expandIcon:a,focusVisibleClassName:s,onClick:l,slots:u,slotProps:c,...d}=n,{disabled:p=!1,disableGutters:f,expanded:g,toggle:m}=h.useContext(nL),y={...n,expanded:g,disabled:p,disableGutters:f},b=(e=>{let{classes:t,expanded:n,disabled:r,disableGutters:i}=e;return(0,ez.A)({root:["root",n&&"expanded",r&&"disabled",!i&&"gutters"],focusVisible:["focusVisible"],content:["content",n&&"expanded",!i&&"contentGutters"],expandIconWrapper:["expandIconWrapper",n&&"expanded"]},nG,t)})(y),v={slots:u,slotProps:c},[x,w]=(0,nV.A)("root",{ref:t,shouldForwardComponentProp:!0,className:(0,eI.A)(b.root,i),elementType:nW,externalForwardedProps:{...v,...d},ownerState:y,additionalProps:{focusRipple:!1,disableRipple:!0,disabled:p,"aria-expanded":g,focusVisibleClassName:(0,eI.A)(b.focusVisible,s)},getSlotProps:e=>({...e,onClick:t=>{e.onClick?.(t),m&&m(t),l&&l(t)}})}),[j,A]=(0,nV.A)("content",{className:b.content,elementType:nU,externalForwardedProps:v,ownerState:y}),[S,C]=(0,nV.A)("expandIconWrapper",{className:b.expandIconWrapper,elementType:nq,externalForwardedProps:v,ownerState:y});return(0,o.jsxs)(x,{...w,children:[(0,o.jsx)(j,{...A,children:r}),a&&(0,o.jsx)(S,{...C,children:a})]})});function nJ(e){return(0,eK.Ay)("MuiAccordionDetails",e)}(0,eq.A)("MuiAccordionDetails",["root"]);let nY=(0,e$.A)("div",{name:"MuiAccordionDetails",slot:"Root",overridesResolver:(e,t)=>t.root})((0,eB.A)(({theme:e})=>({padding:e.spacing(1,2,2)}))),nX=h.forwardRef(function(e,t){let n=(0,eG.b)({props:e,name:"MuiAccordionDetails"}),{className:r,...i}=n,a=(e=>{let{classes:t}=e;return(0,ez.A)({root:["root"]},nJ,t)})(n);return(0,o.jsx)(nY,{className:(0,eI.A)(a.root,r),ref:t,ownerState:n,...i})});var nZ=n(45271),nQ=n(86742);function n0(e){var t=(0,h.useState)(function(){return(0,D.CN)("function"==typeof e?e():e,!0)}),n=t[1];return[t[0],(0,h.useCallback)(function(e){n("function"==typeof e?(0,D.jM)(e):(0,D.CN)(e))},[])]}var n1=n(49603),n2=n(4150),n3=n(30576),n9=n(10571),n4=n(38990);function n5({builtinVariableDefinitions:e}){let t=(0,h.useMemo)(()=>{let t={};for(let n of e){let e=t[n.spec.source];if(e){e.push(n);continue}t[n.spec.source]=[n]}return t},[e]),n=(0,h.useMemo)(()=>{let e=[];for(let n in t)e.includes(n)||e.push(n);return e},[t]);return(0,o.jsx)(o.Fragment,{children:n.map(e=>(0,o.jsxs)(n$,{sx:e=>({".MuiAccordionSummary-root":{backgroundColor:e.palette.background.lighter},".MuiAccordionDetails-root":{backgroundColor:e.palette.background.lighter}}),children:[(0,o.jsx)(nK,{expandIcon:(0,o.jsx)(n4.default,{}),"aria-controls":"builtin",id:"builtin",children:(0,o.jsx)(tm.A,{variant:"h2",children:(0,o.jsx)(u.InfoTooltip,{title:`${e} Built-in Variables`,description:"Variables computed during dashboard rendering.",children:(0,o.jsxs)("span",{children:[e," Built-in Variables"]})})})}),(0,o.jsx)(nX,{children:(0,o.jsx)(nD.A,{children:(0,o.jsxs)(nk.A,{sx:{minWidth:650},"aria-label":"table of external variables",children:[(0,o.jsx)(nO.A,{children:(0,o.jsxs)(nP.A,{children:[(0,o.jsx)(nZ.A,{children:"Name"}),(0,o.jsx)(nZ.A,{children:"Description"})]})}),(0,o.jsx)(nM.A,{children:(t[e]??[]).map(t=>(0,o.jsxs)(nP.A,{children:[(0,o.jsx)(nZ.A,{component:"th",scope:"row",sx:{fontWeight:"bold"},children:t.spec.name}),(0,o.jsx)(nZ.A,{children:t.spec.display?.description??""})]},e+"-"+t.spec.name))})]})})})]},e))})}function n7(e){return P.VARIABLE_TYPES.find(t=>t.kind===e)?.label}function n8(e){let[t,n]=n0(e.variableDefinitions),[r,i]=(0,h.useState)(null),[a,l]=(0,h.useState)("update"),c=e.externalVariableDefinitions,d=e.builtinVariableDefinitions,p=(0,h.useMemo)(()=>{let e,n,r;return e=[],r=new Set(n=t.map(e=>e.spec.name)),n.length!==r.size&&e.push("Variable names must be unique"),{errors:e,isValid:0===e.length}},[t]),[f]=(0,h.useMemo)(()=>[nd(t,{},c)],[c,t]),g=null!==r?t[r]:void 0,{openDiscardChangesConfirmationDialog:m,closeDiscardChangesConfirmationDialog:y}=eO(),b=e=>{n(t=>{t.splice(e,1)})},v=(e,t)=>{n(n=>{if("up"===t){let t=n[e-1],r=n[e];0!==e&&t&&r&&(n[e-1]=r,n[e]=t)}else{let t=n[e+1],r=n[e];if(e===n.length-1||!t||!r)return;n[e+1]=r,n[e]=t}})};return(0,o.jsxs)(o.Fragment,{children:[null!==r&&g&&(0,o.jsx)(re,{variableDefinitions:t,externalVariableDefinitions:c,builtinVariableDefinitions:d,currentEditingVariableDefinition:g,variableFormAction:a,onActionChange:l,onSave:e=>{n(t=>{t[r]=e,i(null)})},onClose:()=>{"create"===a&&b(r),i(null)}}),!g&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(e_.A,{sx:{display:"flex",alignItems:"center",padding:e=>e.spacing(1,2),borderBottom:e=>`1px solid ${e.palette.divider}`},children:[(0,o.jsx)(tm.A,{variant:"h2",children:"Edit Dashboard Variables"}),(0,o.jsxs)(th.A,{direction:"row",spacing:1,marginLeft:"auto",children:[(0,o.jsx)(s.A,{disabled:e.variableDefinitions===t||!p.isValid,variant:"contained",onClick:()=>{e.onChange(t)},children:"Apply"}),(0,o.jsx)(s.A,{color:"secondary",variant:"outlined",onClick:()=>{JSON.stringify(e.variableDefinitions)!==JSON.stringify(t)?m({onDiscardChanges:()=>{y(),e.onCancel()},onCancel:()=>{y()},description:"You have unapplied changes. Are you sure you want to discard these changes? Changes cannot be recovered."}):e.onCancel()},children:"Cancel"})]})]}),(0,o.jsx)(e_.A,{padding:2,sx:{overflowY:"scroll"},children:(0,o.jsxs)(th.A,{spacing:2,children:[(0,o.jsxs)(th.A,{spacing:2,children:[!p.isValid&&p.errors.map(e=>(0,o.jsx)(nE.A,{severity:"error",children:e},e)),(0,o.jsx)(nD.A,{children:(0,o.jsxs)(nk.A,{sx:{minWidth:650},"aria-label":"table of variables",children:[(0,o.jsx)(nO.A,{children:(0,o.jsxs)(nP.A,{children:[(0,o.jsx)(n6,{children:"Visibility"}),(0,o.jsx)(n6,{children:"Name"}),(0,o.jsx)(n6,{children:"Type"}),(0,o.jsx)(n6,{children:"Description"}),(0,o.jsx)(n6,{align:"right",children:"Actions"})]})}),(0,o.jsx)(nM.A,{children:t.map((e,r)=>(0,o.jsxs)(nP.A,{children:[(0,o.jsx)(n6,{component:"th",scope:"row",children:(0,o.jsx)(nT.A,{checked:e.spec.display?.hidden!==!0,onChange:e=>{var t;t=e.target.checked,n(e=>{let n=e[r];n&&(n.spec.display||(n.spec.display={name:n.spec.name,hidden:!1}),n.spec.display.hidden=!1===t)})}})}),(0,o.jsx)(n6,{component:"th",scope:"row",sx:{fontWeight:"bold"},children:(0,o.jsx)(rt,{name:e.spec.name,state:f.get({name:e.spec.name})})}),(0,o.jsx)(n6,{children:n7(e.kind)??e.kind}),(0,o.jsx)(n6,{children:e.spec.display?.description??""}),(0,o.jsxs)(n6,{align:"right",sx:{whiteSpace:"nowrap"},children:[(0,o.jsx)(tI.A,{onClick:()=>v(r,"up"),disabled:0===r,children:(0,o.jsx)(t8.default,{})}),(0,o.jsx)(tI.A,{onClick:()=>v(r,"down"),disabled:r===t.length-1,children:(0,o.jsx)(t6.default,{})}),(0,o.jsx)(tI.A,{onClick:()=>{l("update"),i(r)},children:(0,o.jsx)(n1.default,{})}),(0,o.jsx)(tI.A,{onClick:()=>{n(t=>{"TextVariable"===e.kind?t.push({...e,spec:{...e.spec,value:e.spec.value,name:`${e.spec.name}_copy`}}):t.push({...e,spec:{...e.spec,name:`${e.spec.name}_copy`}})})},children:(0,o.jsx)(tM.default,{})}),(0,o.jsx)(tI.A,{onClick:()=>b(r),children:(0,o.jsx)(n2.default,{})})]})]},e.spec.name))})]})}),(0,o.jsx)(e_.A,{display:"flex",children:(0,o.jsx)(s.A,{variant:"contained",startIcon:(0,o.jsx)(nQ.default,{}),sx:{marginLeft:"auto"},onClick:()=>{l("create"),n(e=>{e.push({kind:"TextVariable",spec:{name:"NewVariable",value:""}})}),i(t.length)},children:"Add Variable"})})]}),c&&!c.every(e=>0===e.definitions.length)&&c.map((e,t)=>e.definitions.length>0&&(0,o.jsxs)(n$,{sx:e=>({".MuiAccordionSummary-root":{backgroundColor:e.palette.background.lighter},".MuiAccordionDetails-root":{backgroundColor:e.palette.background.lighter}}),children:[(0,o.jsx)(nK,{expandIcon:(0,o.jsx)(n4.default,{}),"aria-controls":e.source,id:e.source,children:(0,o.jsx)(th.A,{flexDirection:"row",alignItems:"center",justifyContent:"start",children:(0,o.jsxs)(o.Fragment,{children:[e.tooltip?(0,o.jsx)(tm.A,{variant:"h2",children:(0,o.jsx)(u.InfoTooltip,{title:e.tooltip.title||"",description:e.tooltip.description||"",children:(0,o.jsxs)("span",{children:[(0,tH.A)(e.source)," Variables"]})})}):(0,o.jsxs)(tm.A,{variant:"h2",children:[(0,tH.A)(e.source)," Variables"]}),e.editLink&&(0,o.jsx)(tI.A,{href:e.editLink,target:"_blank",children:(0,o.jsx)(n9.default,{fontSize:"small"})})]})})}),(0,o.jsx)(nX,{children:(0,o.jsx)(nD.A,{children:(0,o.jsxs)(nk.A,{sx:{minWidth:650},"aria-label":"table of external variables",children:[(0,o.jsx)(nO.A,{children:(0,o.jsxs)(nP.A,{children:[(0,o.jsx)(n6,{children:"Visibility"}),(0,o.jsx)(n6,{children:"Name"}),(0,o.jsx)(n6,{children:"Type"}),(0,o.jsx)(n6,{children:"Description"}),(0,o.jsx)(n6,{align:"right",children:"Actions"})]})}),(0,o.jsx)(nM.A,{children:e.definitions.map(t=>(0,o.jsxs)(nP.A,{children:[(0,o.jsx)(n6,{component:"th",scope:"row",children:(0,o.jsx)(nT.A,{checked:t.spec.display?.hidden!==!0,disabled:!0})}),(0,o.jsx)(n6,{component:"th",scope:"row",sx:{fontWeight:"bold"},children:(0,o.jsx)(rt,{name:t.spec.name,state:f.get({name:t.spec.name,source:e.source})})}),(0,o.jsx)(n6,{children:n7(t.kind)??t.kind}),(0,o.jsx)(n6,{children:t.spec.display?.description??""}),(0,o.jsxs)(n6,{align:"right",children:[(0,o.jsx)(tg.A,{title:"Override",children:(0,o.jsx)(tI.A,{onClick:()=>{n(e=>{e.push(t)})},disabled:!!f.get({name:t.spec.name}),children:(0,o.jsx)(n3.default,{})})}),(0,o.jsx)(tI.A,{disabled:!0,children:(0,o.jsx)(t8.default,{})}),(0,o.jsx)(tI.A,{disabled:!0,children:(0,o.jsx)(t6.default,{})}),(0,o.jsx)(tI.A,{disabled:!0,children:(0,o.jsx)(n1.default,{})}),(0,o.jsx)(tI.A,{disabled:!0,children:(0,o.jsx)(n2.default,{})})]})]},t.spec.name))})]})})})]},t)),d&&(0,o.jsx)(n5,{builtinVariableDefinitions:d})]})})]})]})}let n6=(0,e$.A)(nZ.A)(({theme:e})=>({borderBottom:`solid 1px ${e.palette.divider}`}));function re({variableDefinitions:e,externalVariableDefinitions:t,builtinVariableDefinitions:n,currentEditingVariableDefinition:r,variableFormAction:i,onActionChange:a,onSave:s,onClose:l}){let{initialVariableValues:u,isLoading:c}=(0,P.useResolveListVariableValues)(e);return c?(0,o.jsx)(th.A,{sx:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%",width:"100%",overflow:"hidden"},children:(0,o.jsx)(ty.A,{"aria-label":"loading"})}):(0,o.jsx)(nS,{initialVariableDefinitions:e,externalVariableDefinitions:t,builtinVariableDefinitions:n,initialVariableValues:u,children:(0,o.jsx)(P.ValidationProvider,{children:(0,o.jsx)(P.VariableEditorForm,{initialVariableDefinition:r,action:i,isDraft:!0,onActionChange:a,onSave:s,onClose:l})})})}function rt(e){let{name:t,state:n}=e;return(0,o.jsxs)(o.Fragment,{children:[!n?.overridden&&`${t} `,!n?.overridden&&n?.overriding&&(0,o.jsx)(e_.A,{fontWeight:"normal",color:e=>e.palette.primary.main,children:"(overriding)"}),n?.overridden&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e_.A,{color:e=>e.palette.grey[500],children:t}),(0,o.jsx)(e_.A,{fontWeight:"normal",color:e=>e.palette.grey[500],children:"(overridden)"})]})]})}function rn({variant:e="text",label:t="Variables",color:n="primary",fullWidth:r}){let[i,a]=(0,h.useState)(!1),l=nx(),d=nw(),f=(0,P.useBuiltinVariableDefinitions)(),{setVariableDefinitions:g}=nv(),m=()=>{a(!1)};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(u.InfoTooltip,{description:c.editVariables,children:(0,o.jsx)(s.A,{startIcon:(0,o.jsx)(tk.default,{}),onClick:()=>{a(!0)},"aria-label":c.editVariables,variant:e,color:n,fullWidth:r,sx:p,children:t})}),(0,o.jsx)(u.Drawer,{isOpen:i,onClose:m,PaperProps:{sx:{width:"50%"}},"data-testid":"variable-editor",children:(0,o.jsx)(n8,{variableDefinitions:l,externalVariableDefinitions:d,builtinVariableDefinitions:f,onCancel:m,onChange:e=>{g(e),a(!1)}})})]})}let rr=({label:e="Edit",onClick:t})=>(0,o.jsx)(s.A,{onClick:t,startIcon:(0,o.jsx)(tk.default,{}),variant:"outlined",color:"secondary",sx:{whiteSpace:"nowrap",minWidth:"auto"},children:e}),ri="Let's get started",ra={variant:"outlined",color:"secondary"},ro=({actions:e,isEditMode:t,onEditButtonClick:n})=>e&&"boolean"!=typeof e?e:!1===e?null:t?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(eL,{variant:"outlined",color:"secondary",label:"Add Panel",fullWidth:!0}),(0,o.jsx)(rn,{variant:"outlined",color:"secondary",label:"Add Variables",fullWidth:!0})]}):n?(0,o.jsx)(rr,{...ra,label:"Edit Dashboard",onClick:n}):null,rs=({title:e=ri,image:t,description:n,additionalText:r,actions:i,onEditButtonClick:a})=>{let{isEditMode:s}=U(),l=s?"We currently support time series charts, gauge charts, stat charts and more!":"This dashboard is currently empty. Get started by clicking the edit button.",u=(0,o.jsx)(ro,{actions:i,onEditButtonClick:a,isEditMode:s});return(0,o.jsxs)(e_.A,{sx:{width:"500px",textAlign:"center",margin:"0 auto"},children:[(0,o.jsxs)(e_.A,{sx:{width:"289px",margin:"0 auto"},children:[!!t&&t,(0,o.jsx)(tm.A,{variant:"h2",gutterBottom:!0,children:e}),(0,o.jsx)(tm.A,{variant:"body1",children:n??l}),u&&(0,o.jsx)(e_.A,{sx:{display:"flex",gap:2,marginTop:1,justifyContent:"center"},children:u})]}),r&&(0,o.jsx)(tm.A,{variant:"subtitle1",sx:{marginTop:12},children:r})]})};function rl({emptyDashboardProps:e,panelOptions:t,...n}){let r=ee(),i=(0,h.useRef)(null),a=!r.length,s=i.current?.getBoundingClientRect().top??165,l=window.innerHeight-s-window.scrollY;return(0,o.jsx)(e_.A,{...n,sx:{height:"100%"},ref:i,children:(0,o.jsxs)(u.ErrorBoundary,{FallbackComponent:u.ErrorAlert,children:[a&&(0,o.jsx)(e_.A,{sx:{height:"100%",display:"flex",alignItems:"center"},children:(0,o.jsx)(rs,{...e})}),!a&&r.map(e=>(0,o.jsx)(nr,{panelGroupId:e,panelOptions:t,panelFullHeight:l},e))]})})}let ru={url:"",name:"",tooltip:"",renderVariables:!0,targetBlank:!0};function rc({links:e,onChange:t,onCancel:n}){let[r,i]=n0(e),[a,l]=(0,h.useState)(null),{openDiscardChangesConfirmationDialog:u,closeDiscardChangesConfirmationDialog:c}=eO(),d=r.every(e=>e.url.trim().length>0);return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(e_.A,{sx:{display:"flex",alignItems:"center",padding:e=>e.spacing(1,2),borderBottom:e=>`1px solid ${e.palette.divider}`},children:[(0,o.jsx)(tm.A,{variant:"h2",children:"Edit Dashboard Links"}),(0,o.jsxs)(th.A,{direction:"row",spacing:1,marginLeft:"auto",children:[(0,o.jsx)(s.A,{disabled:!d,variant:"contained",onClick:()=>t(r),children:"Apply"}),(0,o.jsx)(s.A,{color:"secondary",variant:"outlined",onClick:()=>{JSON.stringify(e)!==JSON.stringify(r)?u({onDiscardChanges:()=>{c(),n()},onCancel:c}):n()},children:"Cancel"})]})]}),(0,o.jsx)(e_.A,{padding:2,sx:{overflowY:"scroll"},children:(0,o.jsxs)(th.A,{spacing:2,children:[(0,o.jsx)(nD.A,{children:(0,o.jsxs)(nk.A,{size:"small",sx:{tableLayout:"fixed",width:"100%"},"aria-label":"table of dashboard links",children:[(0,o.jsx)(nO.A,{children:(0,o.jsxs)(nP.A,{children:[(0,o.jsx)(nZ.A,{children:"Name"}),(0,o.jsx)(nZ.A,{children:"URL"}),(0,o.jsx)(nZ.A,{width:80,children:"New Tab"}),(0,o.jsx)(nZ.A,{align:"right",width:180,children:"Actions"})]})}),(0,o.jsx)(nM.A,{children:r.map((e,t)=>(0,o.jsx)(rd,{link:e,index:t,isFirst:0===t,isLast:t===r.length-1,isExpanded:a===t,onToggleExpand:()=>l(a===t?null:t),onUpdate:e=>{i(n=>{n[t]=e})},onRemove:()=>{i(e=>{e.splice(t,1)}),a===t?l(null):null!==a&&a>t&&l(a-1)},onMoveUp:()=>{0!==t&&(i(e=>{let n=e[t-1];n&&e[t]&&(e[t-1]=e[t],e[t]=n)}),a===t?l(t-1):a===t-1&&l(t))},onMoveDown:()=>{t>=r.length-1||(i(e=>{let n=e[t+1];n&&e[t]&&(e[t+1]=e[t],e[t]=n)}),a===t?l(t+1):a===t+1&&l(t))}},t))})]})}),0===r.length&&(0,o.jsx)(tm.A,{variant:"body1",color:"text.secondary",fontStyle:"italic",textAlign:"center",py:4,children:"No links defined. Click 'Add Link' to create one."}),(0,o.jsx)(s.A,{variant:"contained",startIcon:(0,o.jsx)(nQ.default,{}),onClick:()=>{i(e=>{e.push({...ru})}),l(r.length)},sx:{alignSelf:"flex-start"},children:"Add Link"})]})})]})}function rd({link:e,index:t,isFirst:n,isLast:r,isExpanded:i,onToggleExpand:a,onUpdate:s,onRemove:l,onMoveUp:c,onMoveDown:d}){let p=e.name?.trim()||`Link ${t+1}`,f=0===e.url.trim().length;return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(nP.A,{children:[(0,o.jsx)(nZ.A,{component:"th",scope:"row",sx:{fontWeight:"bold",overflow:"hidden",textOverflow:"ellipsis"},children:p}),(0,o.jsx)(nZ.A,{sx:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:f?"error.main":void 0},children:(0,o.jsx)(u.InfoTooltip,{description:e.url,enterDelay:100,children:e.url||"(no URL)"})}),(0,o.jsx)(nZ.A,{children:e.targetBlank?"Yes":"No"}),(0,o.jsxs)(nZ.A,{align:"right",sx:{whiteSpace:"nowrap"},children:[(0,o.jsx)(tI.A,{onClick:c,disabled:n,"aria-label":"Move link up",children:(0,o.jsx)(t8.default,{})}),(0,o.jsx)(tI.A,{onClick:d,disabled:r,"aria-label":"Move link down",children:(0,o.jsx)(t6.default,{})}),(0,o.jsx)(tI.A,{onClick:a,"aria-label":i?"Collapse link editor":"Edit link",children:i?(0,o.jsx)(n4.default,{}):(0,o.jsx)(n1.default,{})}),(0,o.jsx)(tI.A,{onClick:l,"aria-label":"Remove link",children:(0,o.jsx)(n2.default,{})})]})]}),(0,o.jsx)(nP.A,{children:(0,o.jsx)(nZ.A,{colSpan:4,sx:{paddingBottom:0,paddingTop:0,border:i?void 0:"none"},children:(0,o.jsx)(eQ,{in:i,timeout:"auto",unmountOnExit:!0,children:(0,o.jsx)(e_.A,{sx:{margin:2},children:(0,o.jsx)(u.LinkEditorForm,{mode:"modalEmbedded",url:{value:e.url,label:"URL",error:{hasError:f,helperText:f?"URL is required":void 0},placeholder:"https://example.com/dashboard?var=$variable",onChange:t=>s({...e,url:t})},name:{value:e.name??"",label:"Display Name",onChange:t=>s({...e,name:t})},tooltip:{value:e.tooltip??"",label:"Tooltip",onChange:t=>s({...e,tooltip:t})},renderVariables:{value:e.renderVariables??!0,label:"Replace variables in URL",onChange:t=>s({...e,renderVariables:t})},newTabOpen:{value:e.targetBlank??!0,label:"Open in new tab",onChange:t=>s({...e,targetBlank:t})}})})})})})]})}function rp({variant:e="text",label:t="Links",color:n="primary",fullWidth:r}){let[i,a]=(0,h.useState)(!1),l=Y(),{setLinks:d}=Z(),f=()=>{a(!1)};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(u.InfoTooltip,{description:c.editLinks,children:(0,o.jsx)(s.A,{startIcon:(0,o.jsx)(tk.default,{}),onClick:()=>{a(!0)},"aria-label":c.editLinks,variant:e,color:n,fullWidth:r,sx:p,children:t})}),(0,o.jsx)(u.Drawer,{isOpen:i,onClose:f,PaperProps:{sx:{width:"50%"}},"data-testid":"dashboard-links-editor",children:(0,o.jsx)(rc,{links:l,onCancel:f,onChange:e=>{d?.(e),a(!1)}})})]})}let rf=(0,h.createContext)(null),rh={};function rg({children:e,defaultOptions:t=rh}){let n=(0,h.useMemo)(()=>({defaultOptions:t}),[t]);return g().createElement(rf.Provider,{value:n},e)}function rm(){return(0,h.useContext)(rf)?.defaultOptions??{}}function ry(e){return null!==e&&"object"==typeof e&&"current"in e}function rb(){if("u"<typeof navigator)return"linux";let e=navigator.platform?.toLowerCase()??"",t=navigator.userAgent?.toLowerCase()??"";return e.includes("mac")||t.includes("mac")?"mac":e.includes("win")||t.includes("win")?"windows":"linux"}let rv=["Control","Alt","Shift","Meta"],rx={Control:"Control",Ctrl:"Control",control:"Control",ctrl:"Control",Shift:"Shift",shift:"Shift",Alt:"Alt",Option:"Alt",alt:"Alt",option:"Alt",Command:"Meta",Cmd:"Meta",Meta:"Meta",command:"Meta",cmd:"Meta",meta:"Meta",OS:"Meta",os:"Meta",Win:"Meta",win:"Meta",CommandOrControl:"Mod",Mod:"Mod",commandorcontrol:"Mod",mod:"Mod"};function rw(e,t=rb()){return"Mod"===e?"mac"===t?"Meta":"Control":e}let rj=new Set(["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"]),rA=new Set(["0","1","2","3","4","5","6","7","8","9"]),rS=new Set(["F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12"]),rC=new Set(["ArrowUp","ArrowDown","ArrowLeft","ArrowRight","Home","End","PageUp","PageDown"]),rE=new Set(["Enter","Escape","Space","Tab","Backspace","Delete"]),rD=new Set(["/","[","]","\\","=","-",",",".",";","`"]),rk={Backquote:"`",Backslash:"\\",BracketLeft:"[",BracketRight:"]",Comma:",",Equal:"=",Minus:"-",Period:".",Semicolon:";",Slash:"/"};[...rj,...rA,...rS,...rC,...rE,...rD];let rO={Esc:"Escape",esc:"Escape",escape:"Escape",Return:"Enter",return:"Enter",enter:"Enter"," ":"Space",space:"Space",Spacebar:"Space",spacebar:"Space",tab:"Tab",backspace:"Backspace",Del:"Delete",del:"Delete",delete:"Delete",Up:"ArrowUp",up:"ArrowUp",arrowup:"ArrowUp",Down:"ArrowDown",down:"ArrowDown",arrowdown:"ArrowDown",Left:"ArrowLeft",left:"ArrowLeft",arrowleft:"ArrowLeft",Right:"ArrowRight",right:"ArrowRight",arrowright:"ArrowRight",home:"Home",end:"End",pageup:"PageUp",pagedown:"PageDown",PgUp:"PageUp",PgDn:"PageDown",pgup:"PageUp",pgdn:"PageDown"};function rP(e){return/^\p{Letter}$/u.test(e)}function rM(e){if(!e)return"";if(e in rO)return rO[e];if(rP(e)){let t=e.toUpperCase();return 1===t.length?t:e}let t=e.toUpperCase();return/^F([1-9]|1[0-2])$/.test(t)?t:e}function rT(e,t=rb()){let n=e.split("+"),r=new Set,i="";for(let e=0;e<n.length;e++){let a=n[e].trim();if(e===n.length-1)i=rM(a);else{let e=rx[a]??rx[a.toLowerCase()];if(e){let n=rw(e,t);r.add(n)}else 1===n.length&&(i=rM(a))}}return!i&&n.length>0&&(i=rM(n[n.length-1].trim())),{key:i,ctrl:r.has("Control"),shift:r.has("Shift"),alt:r.has("Alt"),meta:r.has("Meta"),modifiers:rv.filter(e=>r.has(e))}}function rR(e,t=rb()){let n=e.ctrl??!1,r=e.shift??!1,i=e.alt??!1,a=e.meta??!1;e.mod&&("Control"===rw("Mod",t)?n=!0:a=!0);let o=rv.filter(e=>{switch(e){case"Control":return n;case"Shift":return r;case"Alt":return i;case"Meta":return a;default:return!1}});return{key:e.key,ctrl:n,shift:r,alt:i,meta:a,modifiers:o}}function rL(e,t){let n="mac"===t?e.meta&&!e.ctrl:e.ctrl&&!e.meta,r=[];if(n)r.push("Mod"),e.alt&&r.push("Alt"),e.shift&&r.push("Shift");else for(let t of rv)e.modifiers.includes(t)&&r.push(t);return r.push(rM(e.key)),r.join("+")}function r_(e,t=rb()){return"string"==typeof e?function(e,t=rb()){return rL(rT(e,t),t)}(e,t):function(e,t=rb()){return rL(e,t)}(rR(e,t),t)}function rV(e){return e.join(" ")}function rI(e,t,n=rb()){let r="string"==typeof t?rT(t,n):t;if(e.ctrlKey!==r.ctrl||e.shiftKey!==r.shift||e.altKey!==r.alt||e.metaKey!==r.meta)return!1;let i=rM(e.key),a=r.key;if("Dead"!==i&&1===i.length&&1===a.length){if(i.toUpperCase()===a.toUpperCase())return!0;if(rP(i)&&(/^[A-Za-z]$/.test(i)||!e.altKey))return!1}if(e.code&&("Dead"===i||1===i.length&&1===a.length)){if(e.code.startsWith("Key")){let t=e.code.slice(3);if(1===t.length&&/^[A-Za-z]$/.test(t))return t.toUpperCase()===a.toUpperCase()}if(e.code.startsWith("Digit")){let t=e.code.slice(5);if(1===t.length&&/^[0-9]$/.test(t))return t===a}return e.code in rk&&rk[e.code]===a}return i===a}let rH={preventDefault:!0,stopPropagation:!0,eventType:"keydown",enabled:!0,ignoreInputs:!0,conflictBehavior:"warn"};function rN(e){return!e.ctrl&&!e.meta&&"Escape"!==e.key}function rz(e){if(!e)return!1;if(e instanceof HTMLInputElement){let t=e.type.toLowerCase();return"button"!==t&&"submit"!==t&&"reset"!==t}return!!(e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement||e instanceof HTMLElement&&e.isContentEditable)}function r$(e,t,n){let r="u"<typeof document?null:"u">typeof Document&&t instanceof Document||"u">typeof Node&&t.nodeType===Node.DOCUMENT_NODE?t.activeElement:"u">typeof HTMLElement&&t instanceof HTMLElement?t.ownerDocument.activeElement??null:t.document.activeElement??null;return!!(r&&rz(r)&&r!==n||e.composedPath().some(e=>rz(e)&&e!==n))||rz(e.target)&&e.target!==n}function rB(e,t){return t===document||t===window?e.currentTarget===t||e.currentTarget===document.documentElement:t===window?e.currentTarget===window||e.currentTarget===document||e.currentTarget===document.documentElement:!!(t instanceof HTMLElement&&(e.currentTarget===t||e.target instanceof Node&&t.contains(e.target)))||!1}function rG(e,t,n,r){if("allow"!==n){if("warn"===n)return void console.warn(`'${t}' is already registered. Multiple handlers will be triggered. Use conflictBehavior: 'replace' to replace the existing handler, or conflictBehavior: 'allow' to suppress this warning.`);if("error"===n)throw Error(`'${t}' is already registered. Use conflictBehavior: 'replace' to replace the existing handler, or conflictBehavior: 'allow' to allow multiple registrations.`);r(e)}}var rF=((a=rF||{})[a.None=0]="None",a[a.Mutable=1]="Mutable",a[a.Watching=2]="Watching",a[a.RecursedCheck=4]="RecursedCheck",a[a.Recursed=8]="Recursed",a[a.Dirty=16]="Dirty",a[a.Pending=32]="Pending",a);function rW(e,t,n){let r="object"==typeof e,i=r?e:void 0;return{next:(r?e.next:e)?.bind(i),error:(r?e.error:t)?.bind(i),complete:(r?e.complete:n)?.bind(i)}}let rU=[],rq=0,{link:rK,unlink:rJ,propagate:rY,checkDirty:rX,shallowPropagate:rZ}=function({update:e,notify:t,unwatched:n}){return{link:function(e,t,n){let r=t.depsTail;if(void 0!==r&&r.dep===e)return;let i=void 0!==r?r.nextDep:t.deps;if(void 0!==i&&i.dep===e){i.version=n,t.depsTail=i;return}let a=e.subsTail;if(void 0!==a&&a.version===n&&a.sub===t)return;let o=t.depsTail=e.subsTail={version:n,dep:e,sub:t,prevDep:r,nextDep:i,prevSub:a,nextSub:void 0};void 0!==i&&(i.prevDep=o),void 0!==r?r.nextDep=o:t.deps=o,void 0!==a?a.nextSub=o:e.subs=o},unlink:function(e,t=e.sub){let r=e.dep,i=e.prevDep,a=e.nextDep,o=e.nextSub,s=e.prevSub;return void 0!==a?a.prevDep=i:t.depsTail=i,void 0!==i?i.nextDep=a:t.deps=a,void 0!==o?o.prevSub=s:r.subsTail=s,void 0!==s?s.nextSub=o:void 0===(r.subs=o)&&n(r),a},propagate:function(e){let n,r=e.nextSub;e:for(;;){let i=e.sub,a=i.flags;if(60&a?12&a?4&a?!(48&a)&&function(e,t){let n=t.depsTail;for(;void 0!==n;){if(n===e)return!0;n=n.prevDep}return!1}(e,i)?(i.flags=40|a,a&=1):a=0:i.flags=-9&a|32:a=0:i.flags=32|a,2&a&&t(i),1&a){let t=i.subs;if(void 0!==t){let i=(e=t).nextSub;void 0!==i&&(n={value:r,prev:n},r=i);continue}}if(void 0!==(e=r)){r=e.nextSub;continue}for(;void 0!==n;)if(e=n.value,n=n.prev,void 0!==e){r=e.nextSub;continue e}break}},checkDirty:function(t,n){let i,a=0,o=!1;e:for(;;){let s=t.dep,l=s.flags;if(16&n.flags)o=!0;else if((17&l)==17){if(e(s)){let e=s.subs;void 0!==e.nextSub&&r(e),o=!0}}else if((33&l)==33){(void 0!==t.nextSub||void 0!==t.prevSub)&&(i={value:t,prev:i}),t=s.deps,n=s,++a;continue}if(!o){let e=t.nextDep;if(void 0!==e){t=e;continue}}for(;a--;){let a=n.subs,s=void 0!==a.nextSub;if(s?(t=i.value,i=i.prev):t=a,o){if(e(n)){s&&r(a),n=t.sub;continue}o=!1}else n.flags&=-33;n=t.sub;let l=t.nextDep;if(void 0!==l){t=l;continue e}}return o}},shallowPropagate:r};function r(e){do{let n=e.sub,r=n.flags;(48&r)==32&&(n.flags=16|r,(6&r)==2&&t(n))}while(void 0!==(e=e.nextSub))}}({update:e=>e._update(),notify(e){rU[r0++]=e,e.flags&=~rF.Watching},unwatched(e){void 0!==e.depsTail&&(e.depsTail=void 0,e.flags=rF.Mutable|rF.Dirty,r1(e))}}),rQ=0,r0=0;function r1(e){let t=e.depsTail,n=void 0!==t?t.nextDep:e.deps;for(;void 0!==n;)n=rJ(n,e)}class r2{constructor(e){this.atom=function(e){let t="function"==typeof e,n={_snapshot:t?void 0:e,subs:void 0,subsTail:void 0,deps:void 0,depsTail:void 0,flags:t?rF.None:rF.Mutable,get:()=>(void 0!==r&&rK(n,r,rq),n._snapshot),subscribe(e){var t;let i,a,o=rW(e),s={current:!1},l=(t=()=>{n.get(),s.current?o.next?.(n._snapshot):s.current=!0},i=()=>{let e=r;r=a,++rq,a.depsTail=void 0,a.flags=rF.Watching|rF.RecursedCheck;try{return t()}finally{r=e,a.flags&=~rF.RecursedCheck,r1(a)}},a={deps:void 0,depsTail:void 0,subs:void 0,subsTail:void 0,flags:rF.Watching|rF.RecursedCheck,notify(){let e=this.flags;e&rF.Dirty||e&rF.Pending&&rX(this.deps,this)?i():this.flags=rF.Watching},stop(){this.flags=rF.None,this.depsTail=void 0,r1(this)}},i(),a);return{unsubscribe:()=>{l.stop()}}},_update(i){let a=r,o=(void 0)??Object.is;if(t)r=n,++rq,n.depsTail=void 0;else if(void 0===i)return!1;t&&(n.flags=rF.Mutable|rF.RecursedCheck);try{let r=n._snapshot,a="function"==typeof i?i(r):void 0===i&&t?e(r):i;if(void 0===r||!o(r,a))return n._snapshot=a,!0;return!1}finally{r=a,t&&(n.flags&=~rF.RecursedCheck),r1(n)}}};return t?(n.flags=rF.Mutable|rF.Dirty,n.get=function(){let e=n.flags;if(e&rF.Dirty||e&rF.Pending&&rX(n.deps,n)){if(n._update()){let e=n.subs;void 0!==e&&rZ(e)}}else e&rF.Pending&&(n.flags=e&~rF.Pending);return void 0!==r&&rK(n,r,rq),n._snapshot}):n.set=function(e){if(n._update(e)){let e=n.subs;if(void 0!==e&&(rY(e),rZ(e),1)){for(;rQ<r0;){let e=rU[rQ];rU[rQ++]=void 0,e.notify()}rQ=0,r0=0}}},n}(e)}setState(e){this.atom.set(e)}get state(){return this.atom.get()}get(){return this.state}subscribe(e){return this.atom.subscribe(rW(e))}}function r3(e){return{hotkey:e.hotkey,id:e.id,options:e.options,parsedHotkey:e.parsedHotkey,target:e.target,triggerCount:e.triggerCount,hasFired:e.hasFired}}let r9=0;function r4(){return`hotkey_${++r9}`}var r5=class e{static #e=null;#t;#n=new Map;#r=new Map;constructor(){this.registrations=new r2(new Map),this.#t=rb()}static getInstance(){return e.#e||(e.#e=new e),e.#e}static resetInstance(){e.#e&&(e.#e.destroy(),e.#e=null)}register(e,t,n={}){if("u"<typeof document&&!n.target){let e=t;return{id:r4(),unregister:()=>{},get callback(){return e},set callback(newCallback){e=newCallback},setOptions:()=>{},get isActive(){return!1}}}let r=r4(),i=n.platform??this.#t,a="string"==typeof e?rT(e,i):rR(e,i),o="string"==typeof e?e:function(e){let t=[];for(let n of rv)e.modifiers.includes(n)&&t.push(n);return t.push(e.key),t.join("+")}(a),s=n.target??document,l=n.conflictBehavior??"warn",u=this.#i(o,s);u&&rG(u.id,o,l,e=>this.#a(e));let c=n.ignoreInputs??rN(a),d={id:r,hotkey:o,parsedHotkey:a,callback:t,options:{...rH,requireReset:!1,...n,platform:i,ignoreInputs:c},hasFired:!1,triggerCount:0,target:s};this.registrations.setState(e=>new Map(e).set(r,d)),this.#r.has(s)||this.#r.set(s,new Set),this.#r.get(s).add(r),this.#o(s);let p=this;return{get id(){return r},unregister:()=>{p.#a(r)},get callback(){return p.registrations.state.get(r)?.callback??t},set callback(newCallback){let e=p.registrations.state.get(r);e&&(e.callback=newCallback)},setOptions:e=>{p.registrations.setState(t=>{let n=t.get(r);if(n){let i=new Map(t);return i.set(r,{...n,options:{...n.options,...e}}),i}return t})},get isActive(){return p.registrations.state.has(r)}}}#a(e){let t=this.registrations.state.get(e);if(!t)return;let n=t.target;this.registrations.setState(t=>{let n=new Map(t);return n.delete(e),n});let r=this.#r.get(n);r&&(r.delete(e),0===r.size&&this.#s(n))}#o(e){if("u"<typeof document||this.#n.has(e))return;let t=this.#l(e),n=this.#u(e);e.addEventListener("keydown",t),e.addEventListener("keyup",n),this.#n.set(e,{keydown:t,keyup:n})}#s(e){if("u"<typeof document)return;let t=this.#n.get(e);t&&(e.removeEventListener("keydown",t.keydown),e.removeEventListener("keyup",t.keyup),this.#n.delete(e),this.#r.delete(e))}#c(e,t,n){let r=this.#r.get(t);if(r)for(let i of r){let r=this.registrations.state.get(i);if(r&&rB(e,t)&&r.options.enabled&&!(!1!==r.options.ignoreInputs&&r$(e,t,r.target)))if("keydown"===n){if("keydown"!==r.options.eventType)continue;rI(e,r.parsedHotkey,r.options.platform)&&(r.options.preventDefault&&e.preventDefault(),r.options.stopPropagation&&e.stopPropagation(),r.options.requireReset&&r.hasFired||(this.#d(r,e),r.options.requireReset&&(r.hasFired=!0)))}else"keyup"===r.options.eventType&&rI(e,r.parsedHotkey,r.options.platform)&&this.#d(r,e),r.options.requireReset&&r.hasFired&&this.#p(r,e)&&(r.hasFired=!1)}}#d(e,t){e.options.preventDefault&&t.preventDefault(),e.options.stopPropagation&&t.stopPropagation(),e.triggerCount++,this.registrations.setState(e=>new Map(e));let n={hotkey:e.hotkey,parsedHotkey:e.parsedHotkey};e.callback(t,n)}#l(e){return t=>{this.#c(t,e,"keydown")}}#u(e){return t=>{this.#c(t,e,"keyup")}}#i(e,t){for(let n of this.registrations.state.values())if(n.hotkey===e&&n.target===t)return n;return null}#p(e,t){let n=e.parsedHotkey,r=rM(t.key),i=1===n.key.length?n.key.toUpperCase():n.key;return(1===r.length?r.toUpperCase():r)===i||!!n.ctrl&&"Control"===r||!!n.shift&&"Shift"===r||!!n.alt&&"Alt"===r||!!n.meta&&"Meta"===r}triggerRegistration(e){let t=this.registrations.state.get(e);if(!t)return!1;let n=t.parsedHotkey,r=new KeyboardEvent(t.options.eventType??"keydown",{key:n.key,ctrlKey:n.ctrl,shiftKey:n.shift,altKey:n.alt,metaKey:n.meta,bubbles:!0,cancelable:!0});return t.triggerCount++,this.registrations.setState(e=>new Map(e)),t.callback(r,{hotkey:t.hotkey,parsedHotkey:t.parsedHotkey}),!0}getRegistrationCount(){return this.registrations.state.size}isRegistered(e,t){for(let n of this.registrations.state.values())if(n.hotkey===e&&(void 0===t||n.target===t))return!0;return!1}destroy(){for(let e of this.#n.keys())this.#s(e);this.registrations.setState(()=>new Map),this.#n.clear(),this.#r.clear()}};function r7(){return r5.getInstance()}function r8(e,t={}){let n=rm().hotkey,r=r7(),i=t.platform??n?.platform??rb(),a=(0,h.useRef)(new Map),o=(0,h.useRef)(e),s=(0,h.useRef)([]),l=(0,h.useRef)(t),u=(0,h.useRef)(n),c=(0,h.useRef)(r),d=e.map(e=>r_(e.hotkey,i));o.current=e,s.current=d,l.current=t,u.current=n,c.current=r,(0,h.useEffect)(()=>{let e=a.current,t=new Map,n=[];for(let e=0;e<o.current.length;e++){let t=o.current[e],r=s.current[e],i={...u.current,...l.current,...t.options},a=ry(i.target)?i.target.current:i.target??("u">typeof document?document:null);if(!a)continue;let c=`${e}:${r}`;n.push({registrationKey:c,def:t,hotkeyStr:r,mergedOptions:i,resolvedTarget:a})}let r=new Set(n.map(e=>e.registrationKey));for(let[t,n]of e)!r.has(t)&&n.handle.isActive&&n.handle.unregister();for(let r of n){let{registrationKey:n,def:i,hotkeyStr:a,mergedOptions:o,resolvedTarget:s}=r,l=e.get(n);if(l?.handle.isActive&&l.target===s){t.set(n,l);continue}l?.handle.isActive&&l.handle.unregister();let u=c.current.register(a,i.callback,{...o,target:s});t.set(n,{handle:u,target:s})}a.current=t}),(0,h.useEffect)(()=>()=>{for(let{handle:e}of a.current.values())e.isActive&&e.unregister();a.current=new Map},[]);for(let r=0;r<e.length;r++){let i=e[r],o=d[r],s=`${r}:${o}`,l=a.current.get(s)?.handle;if(l?.isActive){l.callback=i.callback;let{target:e,...r}={...n,...t,...i.options};l.setOptions(r)}}}let r6=0;function ie(e){let t=e.parsedSequence.length,n=e.currentIndex>0&&e.currentIndex<t;return{id:e.id,sequence:e.sequence,options:e.options,target:e.target,triggerCount:e.triggerCount,hasFired:e.hasFired,matchedStepCount:n?e.currentIndex:0,partialMatchLastKeyTime:n?e.lastKeyTime:0}}var it=class e{static #e=null;#f=new Map;#n=new Map;#r=new Map;#t;constructor(){this.registrations=new r2(new Map),this.#t=rb()}static getInstance(){return e.#e||(e.#e=new e),e.#e}static resetInstance(){e.#e&&(e.#e.destroy(),e.#e=null)}#h(e){this.registrations.setState(t=>new Map(t).set(e.id,ie(e)))}register(e,t,n={}){if(0===e.length)throw Error("Sequence must contain at least one hotkey");let r=`sequence_${++r6}`,i=n.platform??this.#t,a=e.map(e=>rT(e,i)),o=n.target??("u">typeof document?document:{}),s=n.conflictBehavior??"warn",l=this.#g(e,o);l&&rG(l.id,rV(e),s,e=>this.#a(e));let u=a[0],c=n.ignoreInputs??rN(u),d={id:r,sequence:e,parsedSequence:a,callback:t,options:{...rH,timeout:1e3,...n,platform:i,ignoreInputs:c},target:o,currentIndex:0,lastKeyTime:0,triggerCount:0,hasFired:!1};this.#f.set(r,d),this.registrations.setState(e=>new Map(e).set(r,ie(d))),this.#r.has(o)||this.#r.set(o,new Set),this.#r.get(o).add(r),this.#o(o);let p=this;return{get id(){return r},get isActive(){return p.#f.has(r)},get callback(){return p.#f.get(r)?.callback??t},set callback(newCallback){let e=p.#f.get(r);e&&(e.callback=newCallback)},setOptions:e=>{let t=p.#f.get(r);t&&(t.options={...t.options,...e},p.registrations.setState(e=>new Map(e).set(r,ie(t))))},unregister:()=>{p.#a(r)}}}#a(e){let t=this.#f.get(e);if(!t)return;let n=t.target;this.#f.delete(e),this.registrations.setState(t=>{let n=new Map(t);return n.delete(e),n});let r=this.#r.get(n);r&&(r.delete(e),0===r.size&&this.#s(n))}#o(e){if("u"<typeof document||this.#n.has(e))return;let t=this.#l(e),n=this.#u(e);e.addEventListener("keydown",t),e.addEventListener("keyup",n),this.#n.set(e,{keydown:t,keyup:n})}#s(e){if("u"<typeof document)return;let t=this.#n.get(e);t&&(e.removeEventListener("keydown",t.keydown),e.removeEventListener("keyup",t.keyup),this.#n.delete(e),this.#r.delete(e))}#l(e){return t=>{this.#c(t,e,"keydown")}}#u(e){return t=>{this.#c(t,e,"keyup")}}#c(e,t,n){var r;if((r=rM(e.key))in rx||r.toLowerCase()in rx)return;let i=this.#r.get(t);if(!i)return;let a=Date.now();for(let r of i){let i=this.#f.get(r);if(!i||!rB(e,t)||!i.options.enabled||!1!==i.options.ignoreInputs&&r$(e,t,i.target)||i.options.eventType!==n)continue;let o=i.options.timeout??1e3;i.currentIndex>0&&a-i.lastKeyTime>o&&(i.currentIndex=0,this.#h(i));let s=i.parsedSequence[i.currentIndex];if(s)if(rI(e,s,i.options.platform))if(i.lastKeyTime=a,i.currentIndex++,i.currentIndex>=i.parsedSequence.length){i.options.preventDefault&&e.preventDefault(),i.options.stopPropagation&&e.stopPropagation();let t={hotkey:i.sequence.join(" "),parsedHotkey:i.parsedSequence[i.parsedSequence.length-1]};i.triggerCount++,i.hasFired=!0,i.currentIndex=0,this.#h(i),i.callback(e,t)}else this.#h(i);else i.currentIndex>0&&(rI(e,i.parsedSequence[0],i.options.platform)?(i.currentIndex=1,i.lastKeyTime=a):i.currentIndex=0,this.#h(i))}}#g(e,t){let n=e.join("|");for(let e of this.#f.values())if(e.sequence.join("|")===n&&e.target===t)return e;return null}resetAll(){for(let e of this.#f.values())e.currentIndex=0,e.lastKeyTime=0,this.#h(e)}triggerSequence(e){let t=this.#f.get(e);if(!t)return!1;let n=t.parsedSequence[t.parsedSequence.length-1];if(!n)return!1;let r=new KeyboardEvent(t.options.eventType??"keydown",{key:n.key,ctrlKey:n.ctrl,shiftKey:n.shift,altKey:n.alt,metaKey:n.meta,bubbles:!0,cancelable:!0});t.triggerCount++,t.hasFired=!0,this.#h(t);let i={hotkey:t.sequence.join(" "),parsedHotkey:n};return t.callback(r,i),!0}getRegistrationCount(){return this.#f.size}destroy(){for(let e of this.#n.keys())this.#s(e);this.#f.clear(),this.registrations.setState(()=>new Map)}};function ir(){return it.getInstance()}function ii(e,t={}){let n=rm().hotkeySequence,r=ir(),i=(0,h.useRef)(new Map),a=(0,h.useRef)(e),o=(0,h.useRef)([]),s=(0,h.useRef)(t),l=(0,h.useRef)(n),u=(0,h.useRef)(r),c=e.map(e=>rV(e.sequence));a.current=e,o.current=c,s.current=t,l.current=n,u.current=r,(0,h.useEffect)(()=>{let e=i.current,t=new Map,n=[];for(let e=0;e<a.current.length;e++){let t=a.current[e],r=o.current[e],i=t.sequence;if(0===i.length)continue;let u={...l.current,...s.current,...t.options},c=ry(u.target)?u.target.current:u.target??("u">typeof document?document:null);if(!c)continue;let d=`${e}:${r}`;n.push({registrationKey:d,def:t,seq:i,seqStr:r,mergedOptions:u,resolvedTarget:c})}let r=new Set(n.map(e=>e.registrationKey));for(let[t,n]of e)!r.has(t)&&n.handle.isActive&&n.handle.unregister();for(let r of n){let{registrationKey:n,def:i,seq:a,mergedOptions:o,resolvedTarget:s}=r,l=e.get(n);if(l?.handle.isActive&&l.target===s){t.set(n,l);continue}l?.handle.isActive&&l.handle.unregister();let c=u.current.register(a,i.callback,{...o,target:s});t.set(n,{handle:c,target:s})}i.current=t}),(0,h.useEffect)(()=>()=>{for(let{handle:e}of i.current.values())e.isActive&&e.unregister();i.current=new Map},[]);for(let r=0;r<e.length;r++){let a=e[r],o=c[r],s=`${r}:${o}`,l=i.current.get(s)?.handle;if(l?.isActive&&a.sequence.length>0){l.callback=a.callback;let{target:e,...r}={...n,...t,...a.options};l.setOptions(r)}}}let ia="perses:save-dashboard",io="perses:refresh-dashboard",is="perses:toggle-edit-mode",il="perses:time-zoom-out",iu="perses:time-zoom-in",ic="perses:time-shift-back",id="perses:time-shift-forward",ip="perses:time-make-absolute",ih="perses:time-copy",ig="perses:time-paste",im="perses:panel-edit",iy="perses:panel-fullscreen",ib="perses:panel-duplicate",iv="perses:panel-delete",ix="perses:open-search",iw="perses:show-shortcuts",ij="perses:toggle-theme",iA={id:"save-dashboard",hotkey:"Mod+S",name:"Save Dashboard",description:"Save the current dashboard",category:"dashboard",scope:"dashboard",event:ia},iS={id:"refresh-dashboard",sequence:["D","R"],name:"Refresh Dashboard",description:"Refresh all panels",category:"dashboard",scope:"dashboard",event:io},iC={id:"toggle-edit-mode",sequence:["D","M"],name:"Toggle Edit Mode",description:"Toggle between edit and view mode",category:"dashboard",scope:"dashboard",event:is},iE=[iA,iS,iC],iD={id:"panel-edit",hotkey:"E",name:"Edit Panel",description:"Edit the focused panel when in edit mode",category:"focused-panel",scope:"panel",event:im,ignoreInputs:!0},ik={id:"panel-fullscreen",hotkey:"V",name:"Toggle Fullscreen",description:"Toggle fullscreen on the focused panel",category:"focused-panel",scope:"panel",event:iy,ignoreInputs:!0},iO={id:"panel-duplicate",sequence:["P","D"],name:"Duplicate Panel",description:"Duplicate the focused panel",category:"focused-panel",scope:"panel",event:ib},iP={id:"panel-delete",sequence:["P","R"],name:"Delete Panel",description:"Delete the focused panel",category:"focused-panel",scope:"panel",event:iv},iM=[iD,ik,iO,iP];function iT(e,t){return{enabled:t,meta:{id:e.id,name:e.name,description:e.description,category:e.category,scope:e.scope,displayOverride:e.displayOverride},...void 0!==e.ignoreInputs?{ignoreInputs:e.ignoreInputs}:{}}}function iR(e){if(void 0===e.hotkey)throw Error(`Shortcut ${e.id} is missing a hotkey definition`);return e.hotkey}function iL(e){if(void 0===e.sequence)throw Error(`Shortcut ${e.id} is missing a sequence definition`);return e.sequence}function i_(e){if(void 0===e.event)throw Error(`Shortcut ${e.id} is missing an event definition`);return e.event}function iV(e){window.dispatchEvent(new CustomEvent(e))}function iI(e){return t=>{"Enter"===t.key&&(t.ctrlKey||t.metaKey)&&!t.shiftKey&&!t.altKey&&(t.preventDefault(),e())}}let iH={id:"time-zoom-out",sequence:["T","O"],name:"Zoom Out",description:"Zoom out time range (2x)",category:"time-range",scope:"dashboard",event:il},iN={id:"time-zoom-in",sequence:["T","I"],name:"Zoom In",description:"Zoom in time range (\xbd)",category:"time-range",scope:"dashboard",event:iu},iz={id:"time-shift-back",sequence:["T","ArrowLeft"],name:"Shift Back",description:"Shift time range backward",category:"time-range",scope:"dashboard",event:ic},i$={id:"time-shift-forward",sequence:["T","ArrowRight"],name:"Shift Forward",description:"Shift time range forward",category:"time-range",scope:"dashboard",event:id},iB={id:"time-make-absolute",sequence:["T","A"],name:"Make Absolute",description:"Convert time range to absolute",category:"time-range",scope:"dashboard",event:ip},iG={id:"time-copy",sequence:["T","C"],name:"Copy Time Range",description:"Copy time range to clipboard",category:"time-range",scope:"dashboard",event:ih},iF={id:"time-paste",sequence:["T","V"],name:"Paste Time Range",description:"Paste time range from clipboard",category:"time-range",scope:"dashboard",event:ig},iW=[iH,iN,iz,i$,iB,iG,iF];function iU({children:e}){let t=iJ(),{setAnnotationState:n}=iX(),r=(0,P.useAnnotations)(t);return(0,h.useEffect)(()=>{for(let[e,i]of t.entries()){let t=r[e]??null;t&&n(i.display.name,{data:t.data??null,isPending:t.isLoading,error:t?.error??null})}},[t,r,n]),(0,o.jsx)(o.Fragment,{children:e})}let iq=(0,h.createContext)(void 0);function iK(){let e=(0,h.useContext)(iq);return e||i0({initialAnnotationSpecs:[]})}function iJ(){return nl(iK(),e=>e.annotationSpecs)}function iY(e){let t=iK();return j(t,n=>{if(e){let n={};return e.forEach(e=>{let r=t.getState().annotationState[e];r&&(n[e]=r)}),n}return n.annotationState},(e,t)=>JSON.stringify(e)===JSON.stringify(t))}function iX(){return j(iK(),e=>({setAnnotationState:e.setAnnotationState,setAnnotationSpecs:e.setAnnotationSpecs}),O)}function iZ(e){return nl(iK(),t=>({definition:t.annotationSpecs.find(t=>t.display.name===e),state:t.annotationState[e]}))}function iQ(){return nl(iK(),e=>e.annotationSpecs.map(t=>{let n=e.annotationState[t.display.name];return{definition:t,data:n?.data}}).filter(e=>!!e.data))}function i0({initialAnnotationSpecs:e=[]}){return y()(C(k((t,n)=>({annotationSpecs:e,annotationState:{},setAnnotationSpecs(e){t(t=>{t.annotationSpecs=e},!1,"[Annotations] setAnnotationSpecs")},setAnnotationState:(e,n)=>{t(t=>{t.annotationState[e]=n},!1,"[Annotations] setAnnotationState")}}))))}function i1({children:e,initialAnnotationSpecs:t=[]}){let[n]=(0,h.useState)(()=>i0({initialAnnotationSpecs:t}));return(0,o.jsx)(iq.Provider,{value:n,children:(0,o.jsx)(iU,{children:e})})}function i2(){var e;let t,{panels:n,panelGroups:r,panelGroupOrder:i,setDashboard:a,kind:o,metadata:s,display:l,duration:u,refreshInterval:c,datasources:d,links:p,ttl:f}=B(({panels:e,panelGroups:t,panelGroupOrder:n,setDashboard:r,kind:i,metadata:a,display:o,duration:s,refreshInterval:l,datasources:u,links:c,ttl:d})=>({panels:e,panelGroups:t,panelGroupOrder:n,setDashboard:r,kind:i,metadata:a,display:o,duration:s,refreshInterval:l,datasources:u,links:c,ttl:d})),{setVariableDefinitions:h}=nv(),{setAnnotationSpecs:g}=iX(),m=nx(),y=iJ(),b=(e=r,t=[],i.map(n=>{let r,i=e[n];if(void 0===i)throw Error("panel group not found");let{title:a,isCollapsed:o,repeatVariable:s,itemLayouts:l,itemPanelKeys:u}=i;(a||void 0!==o)&&(r={title:a??"",collapse:{open:!o}});let c={kind:"Grid",spec:{display:r,items:l.map(e=>{let t=u[e.i];if(void 0===t)throw Error(`Missing panel key of layout ${e.i}`);return{x:e.x,y:e.y,width:e.w,height:e.h,content:(0,M.createPanelRef)(t)}}),repeatVariable:s}};t.push(c)}),t);return{dashboard:"Dashboard"===o?{kind:o,metadata:s,spec:{display:l,panels:n,layouts:b,variables:m,annotations:y,duration:u,refreshInterval:c,datasources:d,links:p}}:{kind:o,metadata:s,spec:{display:l,panels:n,layouts:b,variables:m,annotations:y,duration:u,refreshInterval:c,datasources:d,links:p,ttl:f}},setDashboard:e=>{h(e.spec.variables),e.spec.annotations&&g(e.spec.annotations),a(e)}}}function i3(e){let[t,n]=(0,h.useState)(!1),{dashboard:r,setDashboard:i}=i2(),{setEditMode:a}=U(),{timeRange:o,refreshInterval:s}=(0,P.useTimeRange)(),{getSavedVariablesStatus:l,setVariableDefaultValues:u}=nv(),{openSaveChangesConfirmationDialog:c,closeSaveChangesConfirmationDialog:d}=eD(),p=(0,h.useCallback)(async()=>{if(!e)return void a(!1);try{n(!0),await e(r),d(),a(!1)}finally{n(!1)}},[d,r,e,a]);return{saveDashboard:(0,h.useCallback)(()=>{if(t)return;let{isSavedVariableModified:e}=l(),n=(0,M.isRelativeTimeRange)(o)&&r.spec.duration!==o.pastDuration,a=r.spec.refreshInterval!==s;n||e||a?c({onSaveChanges:(e,t,n)=>{if((0,M.isRelativeTimeRange)(o)&&e&&(r.spec.duration=o.pastDuration),n){let e=u();r.spec.variables=e}t&&a&&(r.spec.refreshInterval=s),i(r),p()},onCancel:()=>{d()},isSavedDurationModified:n,isSavedVariableModified:e,isSavedRefreshIntervalModified:a}):p()},[t,l,o,r,s,c,u,i,p,d]),isSaving:t}}function i9(e){let t=e.indexOf("-");if(-1===t)return null;let n=parseInt(e.substring(0,t),10),r=e.substring(t+1);return isNaN(n)?null:{panelGroupId:n,panelGroupItemLayoutId:r}}function i4(e){let t=(0,M.isRelativeTimeRange)(e)?(0,M.toAbsoluteTimeRange)(e):e,n=t.start.getTime(),r=t.end.getTime()-n,i=Math.round(n+r/2);return{absoluteRange:t,durationMs:r,midpointMs:i}}let i5=e=>({openEditPanel:e.openEditPanel,duplicatePanel:e.duplicatePanel,openDeletePanelDialog:e.openDeletePanelDialog,setViewPanel:e.setViewPanel,panelEditor:e.panelEditor});function i7({onSave:e,onRefresh:t,isReadonly:n,onEditButtonClick:r,onCancelButtonClick:i,disabled:a=!1}){let o=ti(),{isEditMode:s,setEditMode:l}=U(),{timeRange:c,setTimeRange:d,refresh:p}=(0,P.useTimeRange)(),{infoSnackbar:f,warningSnackbar:g}=(0,u.useSnackbar)(),m=eC(),{openEditPanel:y,duplicatePanel:b,openDeletePanelDialog:v,setViewPanel:x,panelEditor:w}=B(i5),{saveDashboard:j}=i3(e),A=null!==o,S=(0,h.useCallback)(()=>{n?g("This dashboard is read-only. Keyboard save is disabled."):s?e?j():g("Save action is unavailable for this dashboard."):f("Enter edit mode to save this dashboard.")},[f,s,n,e,j,g]),C=(0,h.useCallback)(()=>{p(),f("Dashboard refreshed."),t&&t()},[p,f,t]),E=(0,h.useCallback)(()=>{s?i?i():l(!1):r?r():l(!0)},[s,l,i,r]),D=(0,h.useCallback)(()=>{let{durationMs:e,midpointMs:t}=i4(c),n=Math.round(Math.min(2*e,315576e6)/2);d({start:new Date(t-n),end:new Date(t+n)})},[c,d]),k=(0,h.useCallback)(()=>{let{durationMs:e,midpointMs:t}=i4(c),n=Math.round(Math.max(Math.round(e/2),1e3)/2);d({start:new Date(t-n),end:new Date(t+n)})},[c,d]),O=(0,h.useCallback)(()=>{let{absoluteRange:e,durationMs:t}=i4(c),n=Math.round(t/2);d({start:new Date(e.start.getTime()-n),end:new Date(e.end.getTime()-n)})},[c,d]),T=(0,h.useCallback)(()=>{let{absoluteRange:e,durationMs:t}=i4(c),n=Math.round(t/2);d({start:new Date(e.start.getTime()+n),end:new Date(e.end.getTime()+n)})},[c,d]),R=(0,h.useCallback)(()=>{(0,M.isRelativeTimeRange)(c)&&d((0,M.toAbsoluteTimeRange)(c))},[c,d]),L=(0,h.useCallback)(()=>{let e=(0,M.isRelativeTimeRange)(c)?(0,M.toAbsoluteTimeRange)(c):c,t=`${e.start.toISOString()} - ${e.end.toISOString()}`;navigator.clipboard.writeText(t).then(()=>{f("Time range copied to clipboard.")}).catch(()=>{g("Failed to copy time range to clipboard.")})},[c,f,g]),_=(0,h.useCallback)(()=>{let e='Expected format: "<ISO date format> - <ISO date format>".';navigator.clipboard.readText().then(t=>{let n=t.split(" - ");if(2!==n.length)return void g(`Clipboard does not contain a valid time range. ${e}`);let[r,i]=n,a=new Date(r.trim()),o=new Date(i.trim());isNaN(a.getTime())||isNaN(o.getTime())?g(`Clipboard does not contain a valid time range. ${e}`):a>=o?g("Invalid time range: start must be before end."):(d({start:a,end:o}),f("Time range pasted from clipboard."))}).catch(()=>{g("Unable to read from clipboard. Check browser permissions.")})},[d,f,g]),V=(0,h.useCallback)(()=>{if(void 0!==w)return void w.close();if(o&&s){let e=i9(o);e&&y(e)}},[o,s,y,w]),I=(0,h.useCallback)(()=>{if(void 0!==m)return void x(void 0);if(o){let e=i9(o);e&&x(e)}},[o,x,m]),H=(0,h.useCallback)(()=>{if(o&&s){let e=i9(o);e&&b(e)}},[o,s,b]),N=(0,h.useCallback)(()=>{if(o&&s){let e=i9(o);e&&v(e)}},[o,s,v]);r8([{def:iA,enabled:!a,callback:S},{def:iD,enabled:!a&&(A||void 0!==w),callback:V},{def:ik,enabled:!a&&(A||void 0!==m),callback:I}].map(({def:e,enabled:t,callback:n})=>({hotkey:iR(e),callback:n,options:iT(e,t)}))),ii([{def:iS,enabled:!a,callback:C},{def:iC,enabled:!a,callback:E},{def:iH,enabled:!a,callback:D},{def:iN,enabled:!a,callback:k},{def:iz,enabled:!a,callback:O},{def:i$,enabled:!a,callback:T},{def:iB,enabled:!a,callback:R},{def:iG,enabled:!a,callback:L},{def:iF,enabled:!a,callback:_},{def:iO,enabled:!a&&A,callback:H},{def:iP,enabled:!a&&A,callback:N}].map(({def:e,enabled:t,callback:n})=>({sequence:iL(e),callback:n,options:iT(e,t)})))}var i8=n(8072),i6=n(19557),ae=n(97090);let at=Symbol.for("yaml.alias"),an=Symbol.for("yaml.document"),ar=Symbol.for("yaml.map"),ai=Symbol.for("yaml.pair"),aa=Symbol.for("yaml.scalar"),ao=Symbol.for("yaml.seq"),as=Symbol.for("yaml.node.type"),al=e=>!!e&&"object"==typeof e&&e[as]===at,au=e=>!!e&&"object"==typeof e&&e[as]===an,ac=e=>!!e&&"object"==typeof e&&e[as]===ar,ad=e=>!!e&&"object"==typeof e&&e[as]===ai,ap=e=>!!e&&"object"==typeof e&&e[as]===aa,af=e=>!!e&&"object"==typeof e&&e[as]===ao;function ah(e){if(e&&"object"==typeof e)switch(e[as]){case ar:case ao:return!0}return!1}function ag(e){if(e&&"object"==typeof e)switch(e[as]){case at:case ar:case aa:case ao:return!0}return!1}let am=e=>(ap(e)||ah(e))&&!!e.anchor,ay=Symbol("break visit"),ab=Symbol("skip children"),av=Symbol("remove node");function ax(e,t){let n=aS(t);au(e)?aw(null,e.contents,n,Object.freeze([e]))===av&&(e.contents=null):aw(null,e,n,Object.freeze([]))}function aw(e,t,n,r){let i=aC(e,t,n,r);if(ag(i)||ad(i))return aE(e,r,i),aw(e,i,n,r);if("symbol"!=typeof i){if(ah(t)){r=Object.freeze(r.concat(t));for(let e=0;e<t.items.length;++e){let i=aw(e,t.items[e],n,r);if("number"==typeof i)e=i-1;else{if(i===ay)return ay;i===av&&(t.items.splice(e,1),e-=1)}}}else if(ad(t)){r=Object.freeze(r.concat(t));let e=aw("key",t.key,n,r);if(e===ay)return ay;e===av&&(t.key=null);let i=aw("value",t.value,n,r);if(i===ay)return ay;i===av&&(t.value=null)}}return i}async function aj(e,t){let n=aS(t);au(e)?await aA(null,e.contents,n,Object.freeze([e]))===av&&(e.contents=null):await aA(null,e,n,Object.freeze([]))}async function aA(e,t,n,r){let i=await aC(e,t,n,r);if(ag(i)||ad(i))return aE(e,r,i),aA(e,i,n,r);if("symbol"!=typeof i){if(ah(t)){r=Object.freeze(r.concat(t));for(let e=0;e<t.items.length;++e){let i=await aA(e,t.items[e],n,r);if("number"==typeof i)e=i-1;else{if(i===ay)return ay;i===av&&(t.items.splice(e,1),e-=1)}}}else if(ad(t)){r=Object.freeze(r.concat(t));let e=await aA("key",t.key,n,r);if(e===ay)return ay;e===av&&(t.key=null);let i=await aA("value",t.value,n,r);if(i===ay)return ay;i===av&&(t.value=null)}}return i}function aS(e){return"object"==typeof e&&(e.Collection||e.Node||e.Value)?Object.assign({Alias:e.Node,Map:e.Node,Scalar:e.Node,Seq:e.Node},e.Value&&{Map:e.Value,Scalar:e.Value,Seq:e.Value},e.Collection&&{Map:e.Collection,Seq:e.Collection},e):e}function aC(e,t,n,r){return"function"==typeof n?n(e,t,r):ac(t)?n.Map?.(e,t,r):af(t)?n.Seq?.(e,t,r):ad(t)?n.Pair?.(e,t,r):ap(t)?n.Scalar?.(e,t,r):al(t)?n.Alias?.(e,t,r):void 0}function aE(e,t,n){let r=t[t.length-1];if(ah(r))r.items[e]=n;else if(ad(r))"key"===e?r.key=n:r.value=n;else if(au(r))r.contents=n;else{let e=al(r)?"alias":"scalar";throw Error(`Cannot replace node with ${e} parent`)}}ax.BREAK=ay,ax.SKIP=ab,ax.REMOVE=av,aj.BREAK=ay,aj.SKIP=ab,aj.REMOVE=av;let aD={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},ak=e=>e.replace(/[!,[\]{}]/g,e=>aD[e]);class aO{constructor(e,t){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},aO.defaultYaml,e),this.tags=Object.assign({},aO.defaultTags,t)}clone(){let e=new aO(this.yaml,this.tags);return e.docStart=this.docStart,e}atDocument(){let e=new aO(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:aO.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},aO.defaultTags)}return e}add(e,t){this.atNextDocument&&(this.yaml={explicit:aO.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},aO.defaultTags),this.atNextDocument=!1);let n=e.trim().split(/[ \t]+/),r=n.shift();switch(r){case"%TAG":{if(2!==n.length&&(t(0,"%TAG directive should contain exactly two parts"),n.length<2))return!1;let[e,r]=n;return this.tags[e]=r,!0}case"%YAML":{if(this.yaml.explicit=!0,1!==n.length)return t(0,"%YAML directive should contain exactly one part"),!1;let[e]=n;if("1.1"===e||"1.2"===e)return this.yaml.version=e,!0;{let n=/^\d+\.\d+$/.test(e);return t(6,`Unsupported YAML version ${e}`,n),!1}}default:return t(0,`Unknown directive ${r}`,!0),!1}}tagName(e,t){if("!"===e)return"!";if("!"!==e[0])return t(`Not a valid tag: ${e}`),null;if("<"===e[1]){let n=e.slice(2,-1);return"!"===n||"!!"===n?(t(`Verbatim tags aren't resolved, so ${e} is invalid.`),null):(">"!==e[e.length-1]&&t("Verbatim tags must end with a >"),n)}let[,n,r]=e.match(/^(.*!)([^!]*)$/s);r||t(`The ${e} tag has no suffix`);let i=this.tags[n];if(i)try{return i+decodeURIComponent(r)}catch(e){return t(String(e)),null}return"!"===n?e:(t(`Could not resolve tag: ${e}`),null)}tagString(e){for(let[t,n]of Object.entries(this.tags))if(e.startsWith(n))return t+ak(e.substring(n.length));return"!"===e[0]?e:`!<${e}>`}toString(e){let t,n=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],r=Object.entries(this.tags);if(e&&r.length>0&&ag(e.contents)){let n={};ax(e.contents,(e,t)=>{ag(t)&&t.tag&&(n[t.tag]=!0)}),t=Object.keys(n)}else t=[];for(let[i,a]of r)("!!"!==i||"tag:yaml.org,2002:"!==a)&&(!e||t.some(e=>e.startsWith(a)))&&n.push(`%TAG ${i} ${a}`);return n.join("\n")}}function aP(e){if(/[\x00-\x19\s,[\]{}]/.test(e)){let t=JSON.stringify(e);throw Error(`Anchor must not contain whitespace or control characters: ${t}`)}return!0}function aM(e){let t=new Set;return ax(e,{Value(e,n){n.anchor&&t.add(n.anchor)}}),t}function aT(e,t){for(let n=1;;++n){let r=`${e}${n}`;if(!t.has(r))return r}}function aR(e,t,n,r){if(r&&"object"==typeof r)if(Array.isArray(r))for(let t=0,n=r.length;t<n;++t){let n=r[t],i=aR(e,r,String(t),n);void 0===i?delete r[t]:i!==n&&(r[t]=i)}else if(r instanceof Map)for(let t of Array.from(r.keys())){let n=r.get(t),i=aR(e,r,t,n);void 0===i?r.delete(t):i!==n&&r.set(t,i)}else if(r instanceof Set)for(let t of Array.from(r)){let n=aR(e,r,t,t);void 0===n?r.delete(t):n!==t&&(r.delete(t),r.add(n))}else for(let[t,n]of Object.entries(r)){let i=aR(e,r,t,n);void 0===i?delete r[t]:i!==n&&(r[t]=i)}return e.call(t,n,r)}function aL(e,t,n){if(Array.isArray(e))return e.map((e,t)=>aL(e,String(t),n));if(e&&"function"==typeof e.toJSON){if(!n||!am(e))return e.toJSON(t,n);let r={aliasCount:0,count:1,res:void 0};n.anchors.set(e,r),n.onCreate=e=>{r.res=e,delete n.onCreate};let i=e.toJSON(t,n);return n.onCreate&&n.onCreate(i),i}return"bigint"!=typeof e||n?.keep?e:Number(e)}aO.defaultYaml={explicit:!1,version:"1.2"},aO.defaultTags={"!!":"tag:yaml.org,2002:"};class a_{constructor(e){Object.defineProperty(this,as,{value:e})}clone(){let e=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return this.range&&(e.range=this.range.slice()),e}toJS(e,{mapAsMap:t,maxAliasCount:n,onAnchor:r,reviver:i}={}){if(!au(e))throw TypeError("A document argument is required");let a={anchors:new Map,doc:e,keep:!0,mapAsMap:!0===t,mapKeyWarned:!1,maxAliasCount:"number"==typeof n?n:100},o=aL(this,"",a);if("function"==typeof r)for(let{count:e,res:t}of a.anchors.values())r(t,e);return"function"==typeof i?aR(i,{"":o},"",o):o}}class aV extends a_{constructor(e){super(at),this.source=e,Object.defineProperty(this,"tag",{set(){throw Error("Alias nodes cannot have tags")}})}resolve(e,t){let n,r;if(t?.maxAliasCount===0)throw ReferenceError("Alias resolution is disabled");for(let i of(t?.aliasResolveCache?n=t.aliasResolveCache:(n=[],ax(e,{Node:(e,t)=>{(al(t)||am(t))&&n.push(t)}}),t&&(t.aliasResolveCache=n)),n)){if(i===this)break;i.anchor===this.source&&(r=i)}return r}toJSON(e,t){if(!t)return{source:this.source};let{anchors:n,doc:r,maxAliasCount:i}=t,a=this.resolve(r,t);if(!a)throw ReferenceError(`Unresolved alias (the anchor must be set before the alias): ${this.source}`);let o=n.get(a);if(o||(aL(a,null,t),o=n.get(a)),o?.res===void 0)throw ReferenceError("This should not happen: Alias anchor was not resolved?");if(i>=0&&(o.count+=1,0===o.aliasCount&&(o.aliasCount=function e(t,n,r){if(al(n)){let e=n.resolve(t),i=r&&e&&r.get(e);return i?i.count*i.aliasCount:0}if(ah(n)){let i=0;for(let a of n.items){let n=e(t,a,r);n>i&&(i=n)}return i}return ad(n)?Math.max(e(t,n.key,r),e(t,n.value,r)):1}(r,a,n)),o.count*o.aliasCount>i))throw ReferenceError("Excessive alias count indicates a resource exhaustion attack");return o.res}toString(e,t,n){let r=`*${this.source}`;if(e){if(aP(this.source),e.options.verifyAliasOrder&&!e.anchors.has(this.source))throw Error(`Unresolved alias (the anchor must be set before the alias): ${this.source}`);if(e.implicitKey)return`${r} `}return r}}let aI=e=>!e||"function"!=typeof e&&"object"!=typeof e;class aH extends a_{constructor(e){super(aa),this.value=e}toJSON(e,t){return t?.keep?this.value:aL(this.value,e,t)}toString(){return String(this.value)}}function aN(e,t,n){let r;if(au(e)&&(e=e.contents),ag(e))return e;if(ad(e)){let t=n.schema[ar].createNode?.(n.schema,null,n);return t.items.push(e),t}(e instanceof String||e instanceof Number||e instanceof Boolean||"u">typeof BigInt&&e instanceof BigInt)&&(e=e.valueOf());let{aliasDuplicateObjects:i,onAnchor:a,onTagObj:o,schema:s,sourceObjects:l}=n;if(i&&e&&"object"==typeof e){if(r=l.get(e))return r.anchor??(r.anchor=a(e)),new aV(r.anchor);r={anchor:null,node:null},l.set(e,r)}t?.startsWith("!!")&&(t="tag:yaml.org,2002:"+t.slice(2));let u=function(e,t,n){if(t){let e=n.filter(e=>e.tag===t),r=e.find(e=>!e.format)??e[0];if(!r)throw Error(`Tag ${t} not found`);return r}return n.find(t=>t.identify?.(e)&&!t.format)}(e,t,s.tags);if(!u){if(e&&"function"==typeof e.toJSON&&(e=e.toJSON()),!e||"object"!=typeof e){let t=new aH(e);return r&&(r.node=t),t}u=e instanceof Map?s[ar]:Symbol.iterator in Object(e)?s[ao]:s[ar]}o&&(o(u),delete n.onTagObj);let c=u?.createNode?u.createNode(n.schema,e,n):"function"==typeof u?.nodeClass?.from?u.nodeClass.from(n.schema,e,n):new aH(e);return t?c.tag=t:u.default||(c.tag=u.tag),r&&(r.node=c),c}function az(e,t,n){let r=n;for(let e=t.length-1;e>=0;--e){let n=t[e];if("number"==typeof n&&Number.isInteger(n)&&n>=0){let e=[];e[n]=r,r=e}else r=new Map([[n,r]])}return aN(r,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw Error("This should not happen, please report a bug.")},schema:e,sourceObjects:new Map})}aH.BLOCK_FOLDED="BLOCK_FOLDED",aH.BLOCK_LITERAL="BLOCK_LITERAL",aH.PLAIN="PLAIN",aH.QUOTE_DOUBLE="QUOTE_DOUBLE",aH.QUOTE_SINGLE="QUOTE_SINGLE";let a$=e=>null==e||"object"==typeof e&&!!e[Symbol.iterator]().next().done;class aB extends a_{constructor(e,t){super(e),Object.defineProperty(this,"schema",{value:t,configurable:!0,enumerable:!1,writable:!0})}clone(e){let t=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return e&&(t.schema=e),t.items=t.items.map(t=>ag(t)||ad(t)?t.clone(e):t),this.range&&(t.range=this.range.slice()),t}addIn(e,t){if(a$(e))this.add(t);else{let[n,...r]=e,i=this.get(n,!0);if(ah(i))i.addIn(r,t);else if(void 0===i&&this.schema)this.set(n,az(this.schema,r,t));else throw Error(`Expected YAML collection at ${n}. Remaining path: ${r}`)}}deleteIn(e){let[t,...n]=e;if(0===n.length)return this.delete(t);let r=this.get(t,!0);if(ah(r))return r.deleteIn(n);throw Error(`Expected YAML collection at ${t}. Remaining path: ${n}`)}getIn(e,t){let[n,...r]=e,i=this.get(n,!0);return 0===r.length?!t&&ap(i)?i.value:i:ah(i)?i.getIn(r,t):void 0}hasAllNullValues(e){return this.items.every(t=>{if(!ad(t))return!1;let n=t.value;return null==n||e&&ap(n)&&null==n.value&&!n.commentBefore&&!n.comment&&!n.tag})}hasIn(e){let[t,...n]=e;if(0===n.length)return this.has(t);let r=this.get(t,!0);return!!ah(r)&&r.hasIn(n)}setIn(e,t){let[n,...r]=e;if(0===r.length)this.set(n,t);else{let e=this.get(n,!0);if(ah(e))e.setIn(r,t);else if(void 0===e&&this.schema)this.set(n,az(this.schema,r,t));else throw Error(`Expected YAML collection at ${n}. Remaining path: ${r}`)}}}let aG=e=>e.replace(/^(?!$)(?: $)?/gm,"#");function aF(e,t){return/^\n+$/.test(e)?e.substring(1):t?e.replace(/^(?! *$)/gm,t):e}let aW=(e,t,n)=>e.endsWith("\n")?aF(n,t):n.includes("\n")?"\n"+aF(n,t):(e.endsWith(" ")?"":" ")+n,aU="block",aq="quoted";function aK(e,t,n="flow",{indentAtStart:r,lineWidth:i=80,minContentWidth:a=20,onFold:o,onOverflow:s}={}){let l,u,c;if(!i||i<0)return e;i<a&&(a=0);let d=Math.max(1+a,1+i-t.length);if(e.length<=d)return e;let p=[],f={},h=i-t.length;"number"==typeof r&&(r>i-Math.max(2,a)?p.push(0):h=i-r);let g=!1,m=-1,y=-1,b=-1;for(n===aU&&-1!==(m=aJ(e,m,t.length))&&(h=m+d);c=e[m+=1];){if(n===aq&&"\\"===c){switch(y=m,e[m+1]){case"x":m+=3;break;case"u":m+=5;break;case"U":m+=9;break;default:m+=1}b=m}if("\n"===c)n===aU&&(m=aJ(e,m,t.length)),h=m+t.length+d,l=void 0;else{if(" "===c&&u&&" "!==u&&"\n"!==u&&" "!==u){let t=e[m+1];t&&" "!==t&&"\n"!==t&&" "!==t&&(l=m)}if(m>=h)if(l)p.push(l),h=l+d,l=void 0;else if(n===aq){for(;" "===u||" "===u;)u=c,c=e[m+=1],g=!0;let t=m>b+1?m-2:y-1;if(f[t])return e;p.push(t),f[t]=!0,h=t+d,l=void 0}else g=!0}u=c}if(g&&s&&s(),0===p.length)return e;o&&o();let v=e.slice(0,p[0]);for(let r=0;r<p.length;++r){let i=p[r],a=p[r+1]||e.length;0===i?v=`
7
7
  ${t}${e.slice(0,a)}`:(n===aq&&f[i]&&(v+=`${e[i]}\\`),v+=`
8
8
  ${t}${e.slice(i+1,a)}`)}return v}function aJ(e,t,n){let r=t,i=t+1,a=e[i];for(;" "===a||" "===a;)if(t<i+n)a=e[++t];else{do a=e[++t];while(a&&"\n"!==a);r=t,a=e[i=t+1]}return r}let aY=(e,t)=>({indentAtStart:t?e.indent.length:e.indentAtStart,lineWidth:e.options.lineWidth,minContentWidth:e.options.minContentWidth});function aX(e,t){let n=JSON.stringify(e);if(t.options.doubleQuotedAsJSON)return n;let{implicitKey:r}=t,i=t.options.doubleQuotedMinMultiLineLength,a=t.indent||(/^(%|---|\.\.\.)/m.test(e)?" ":""),o="",s=0;for(let e=0,t=n[e];t;t=n[++e])if(" "===t&&"\\"===n[e+1]&&"n"===n[e+2]&&(o+=n.slice(s,e)+"\\ ",e+=1,s=e,t="\\"),"\\"===t)switch(n[e+1]){case"u":{o+=n.slice(s,e);let t=n.substr(e+2,4);switch(t){case"0000":o+="\\0";break;case"0007":o+="\\a";break;case"000b":o+="\\v";break;case"001b":o+="\\e";break;case"0085":o+="\\N";break;case"00a0":o+="\\_";break;case"2028":o+="\\L";break;case"2029":o+="\\P";break;default:"00"===t.substr(0,2)?o+="\\x"+t.substr(2):o+=n.substr(e,6)}e+=5,s=e+1}break;case"n":if(r||'"'===n[e+2]||n.length<i)e+=1;else{for(o+=n.slice(s,e)+"\n\n";"\\"===n[e+2]&&"n"===n[e+3]&&'"'!==n[e+4];)o+="\n",e+=2;o+=a," "===n[e+2]&&(o+="\\"),e+=1,s=e+1}break;default:e+=1}return o=s?o+n.slice(s):n,r?o:aK(o,a,"quoted",aY(t,!1))}function aZ(e,t){if(!1===t.options.singleQuote||t.implicitKey&&e.includes("\n")||/[ \t]\n|\n[ \t]/.test(e))return aX(e,t);let n=t.indent||(/^(%|---|\.\.\.)/m.test(e)?" ":""),r="'"+e.replace(/'/g,"''").replace(/\n+/g,`$&
9
9
  ${n}`)+"'";return t.implicitKey?r:aK(r,n,"flow",aY(t,!1))}function aQ(e,t){let n,{singleQuote:r}=t.options;if(!1===r)n=aX;else{let t=e.includes('"'),i=e.includes("'");n=t&&!i?aZ:i&&!t?aX:r?aZ:aX}return n(e,t)}try{i=RegExp("(^|(?<!\n))\n+(?!\n|$)","g")}catch{i=/\n+(?!\n|$)/g}function a0({comment:e,type:t,value:n},r,a,o){let s,l,u,c,{blockQuote:d,commentString:p,lineWidth:f}=r.options;if(!d||/\n[\t ]+$/.test(n))return aQ(n,r);let h=r.indent||(r.forceBlockIndent||(c=n,/^(%|---|\.\.\.)/m.test(c))?" ":""),g="literal"===d||"folded"!==d&&t!==aH.BLOCK_FOLDED&&(t===aH.BLOCK_LITERAL||!function(e,t,n){if(!t||t<0)return!1;let r=t-n,i=e.length;if(i<=r)return!1;for(let t=0,n=0;t<i;++t)if("\n"===e[t]){if(t-n>r)return!0;if(i-(n=t+1)<=r)return!1}return!0}(n,f,h.length));if(!n)return g?"|\n":">\n";for(l=n.length;l>0;--l){let e=n[l-1];if("\n"!==e&&" "!==e&&" "!==e)break}let m=n.substring(l),y=m.indexOf("\n");-1===y?s="-":n===m||y!==m.length-1?(s="+",o&&o()):s="",m&&(n=n.slice(0,-m.length),"\n"===m[m.length-1]&&(m=m.slice(0,-1)),m=m.replace(i,`$&${h}`));let b=!1,v=-1;for(u=0;u<n.length;++u){let e=n[u];if(" "===e)b=!0;else if("\n"===e)v=u;else break}let x=n.substring(0,v<u?v+1:u);x&&(n=n.substring(x.length),x=x.replace(/\n+/g,`$&${h}`));let w=h?"2":"1",j=(b?w:"")+s;if(e&&(j+=" "+p(e.replace(/ ?[\r\n]+/g," ")),a&&a()),!g){let e=n.replace(/\n+/g,"\n$&").replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${h}`),i=!1,a=aY(r,!0);"folded"!==d&&t!==aH.BLOCK_FOLDED&&(a.onOverflow=()=>{i=!0});let o=aK(`${x}${e}${m}`,h,"block",a);if(!i)return`>${j}