@perses-dev/logs-table-plugin 0.3.0-rc.1 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/__mf/js/{LogsTable.9823d4be.js → LogsTable.f8cdc769.js} +2 -2
- package/__mf/js/async/{2546.011c9c58.js → 2546.6b3aab40.js} +2 -2
- package/__mf/js/async/2842.610cb74b.js +1 -0
- package/__mf/js/async/{3332.3b8e2b2f.js → 3332.ab0338e8.js} +2 -2
- package/__mf/js/async/{9126.66f4505f.js → 9126.a313fc37.js} +3 -3
- package/__mf/js/async/{__federation_expose_LogsTable.9045f682.js → __federation_expose_LogsTable.e6a243de.js} +1 -1
- package/__mf/js/{main.c2df795f.js → main.4253925a.js} +2 -2
- package/mf-manifest.json +15 -15
- package/mf-stats.json +15 -15
- package/package.json +5 -5
- package/__mf/js/async/2842.7c7a1b3f.js +0 -1
- /package/__mf/js/async/{3332.3b8e2b2f.js.LICENSE.txt → 3332.ab0338e8.js.LICENSE.txt} +0 -0
- /package/__mf/js/async/{9126.66f4505f.js.LICENSE.txt → 9126.a313fc37.js.LICENSE.txt} +0 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
/*! For license information please see 9126.
|
|
2
|
-
(self.chunk_LogsTable=self.chunk_LogsTable||[]).push([["9126"],{39098(e,t,n){"use strict";n.d(t,{A:()=>A});var r=n(70451),i=n(11750),a=n(46477),o=n(3725),s=n(81023),l=n(77308),u=n(56599),c=n(23434),d=n(72052),p=n(48927),f=n(32494),h=n(29424),g=n(29009),m=n(46733);function y(e){return(0,m.Ay)("MuiCollapse",e)}(0,g.A)("MuiCollapse",["root","horizontal","vertical","entered","hidden","wrapper","wrapperInner"]);var b=n(62540);let v=(0,l.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,c.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"}}]}))),x=(0,l.A)("div",{name:"MuiCollapse",slot:"Wrapper",overridesResolver:(e,t)=>t.wrapper})({display:"flex",width:"100%",variants:[{props:{orientation:"horizontal"},style:{width:"auto",height:"100%"}}]}),w=(0,l.A)("div",{name:"MuiCollapse",slot:"WrapperInner",overridesResolver:(e,t)=>t.wrapperInner})({width:"100%",variants:[{props:{orientation:"horizontal"},style:{width:"auto",height:"100%"}}]}),j=r.forwardRef(function(e,t){let n=(0,d.b)({props:e,name:"MuiCollapse"}),{addEndListener:l,children:c,className:g,collapsedSize:m="0px",component:j,easing:A,in:S,onEnter:C,onEntered:D,onEntering:E,onExit:k,onExited:O,onExiting:P,orientation:M="vertical",style:T,timeout:R=p.p0.standard,TransitionComponent:L=a.Ay,...I}=n,V={...n,orientation:M,collapsedSize:m},_=(e=>{let{orientation:t,classes:n}=e,r={root:["root",`${t}`],entered:["entered"],hidden:["hidden"],wrapper:["wrapper",`${t}`],wrapperInner:["wrapperInner",`${t}`]};return(0,s.A)(r,y,n)})(V),H=(0,u.A)(),N=(0,o.A)(),z=r.useRef(null),$=r.useRef(),B="number"==typeof m?`${m}px`:m,G="horizontal"===M,F=G?"width":"height",W=r.useRef(null),U=(0,h.A)(t,W),q=e=>t=>{if(e){let n=W.current;void 0===t?e(n):e(n,t)}},K=()=>z.current?z.current[G?"clientWidth":"clientHeight"]:0,J=q((e,t)=>{z.current&&G&&(z.current.style.position="absolute"),e.style[F]=B,C&&C(e,t)}),Y=q((e,t)=>{let n=K();z.current&&G&&(z.current.style.position="");let{duration:r,easing:i}=(0,f.c)({style:T,timeout:R,easing:A},{mode:"enter"});if("auto"===R){let t=H.transitions.getAutoHeightDuration(n);e.style.transitionDuration=`${t}ms`,$.current=t}else e.style.transitionDuration="string"==typeof r?r:`${r}ms`;e.style[F]=`${n}px`,e.style.transitionTimingFunction=i,E&&E(e,t)}),Z=q((e,t)=>{e.style[F]="auto",D&&D(e,t)}),X=q(e=>{e.style[F]=`${K()}px`,k&&k(e)}),Q=q(O),ee=q(e=>{let t=K(),{duration:n,easing:r}=(0,f.c)({style:T,timeout:R,easing:A},{mode:"exit"});if("auto"===R){let n=H.transitions.getAutoHeightDuration(t);e.style.transitionDuration=`${n}ms`,$.current=n}else e.style.transitionDuration="string"==typeof n?n:`${n}ms`;e.style[F]=B,e.style.transitionTimingFunction=r,P&&P(e)});return(0,b.jsx)(L,{in:S,onEnter:J,onEntered:Z,onEntering:Y,onExit:X,onExited:Q,onExiting:ee,addEndListener:e=>{"auto"===R&&N.start($.current||0,e),l&&l(W.current,e)},nodeRef:W,timeout:"auto"===R?null:R,...I,children:(e,{ownerState:t,...n})=>(0,b.jsx)(v,{as:j,className:(0,i.A)(_.root,g,{entered:_.entered,exited:!S&&"0px"===B&&_.hidden}[e]),style:{[G?"minWidth":"minHeight"]:B,...T},ref:U,ownerState:{...V,state:e},...n,children:(0,b.jsx)(x,{ownerState:{...V,state:e},className:_.wrapper,ref:z,children:(0,b.jsx)(w,{ownerState:{...V,state:e},className:_.wrapperInner,children:c})})})})});j&&(j.muiSupportAuto=!0);let A=j},20853(e,t,n){"use strict";let r,i;n.r(t),n.d(t,{TIME_SHIFT_BACK_EVENT:()=>ir,DashboardDiscardChangesConfirmationDialog:()=>sk,usePanelGroupIds:()=>ee,EditDatasourcesButton:()=>o0,PanelGroupDialog:()=>sJ,RepeatGridLayout:()=>t1,useDeletePanelDialog:()=>ev,EditJsonDialog:()=>sP,dispatchShortcutEvent:()=>iO,AddGroupButton:()=>eT,HeaderIconButton:()=>tV,ARIA_LABEL_TEXT:()=>d,Row:()=>tX,createPanelDefinition:()=>R,useHotkey:()=>ln,useHotkeys:()=>r1,useDashboardDuration:()=>ew,EmptyDashboard:()=>re,TOGGLE_THEME_EVENT:()=>ig,DashboardStickyToolbar:()=>sx,AnnotationProvider:()=>iK,TIME_PASTE_SHORTCUT:()=>i_,TOOLTIP_TEXT:()=>c,GridTitle:()=>tZ,TOGGLE_EDIT_MODE_EVENT:()=>r6,PANEL_EDIT_SHORTCUT:()=>ix,DEFAULT_DASHBOARD_DURATION:()=>"1h",HEADER_ACTIONS_CONTAINER_NAME:()=>f,TIME_ZOOM_IN_SHORTCUT:()=>iT,SaveChangesConfirmationDialog:()=>s0,TOGGLE_EDIT_MODE_SHORTCUT:()=>ib,buildShortcutOptions:()=>iC,PanelEditorContext:()=>sN,useDashboardStore:()=>B,usePanelKey:()=>ep,useEditJsonDialog:()=>eM,GO_EXPLORE_SHORTCUT:()=>s4,useExternalVariableDefinitions:()=>nl,useHotkeySequences:()=>r4,useSelectionItemActions:()=>t$,isPanelGroupItemIdEqual:()=>eY,useAnnotationStoreCtx:()=>i$,useListPanelGroups:()=>en,GridItemContent:()=>tU,PANEL_DELETE_EVENT:()=>id,REFRESH_DASHBOARD_SHORTCUT:()=>iy,generateId:()=>T,usePanelGroup:()=>er,useVariableDefinitionStates:()=>ni,Variable:()=>sp,PanelPreview:()=>sU,DashboardContext:()=>$,VariableProvider:()=>nd,useAnnotationSpecs:()=>iB,SHOW_SHORTCUTS_SHORTCUT:()=>s6,PANEL_EDIT_EVENT:()=>il,LeaveDialog:()=>sI,useViewPanelGroup:()=>eC,useListVariableState:()=>sf,BuiltinVariableAccordions:()=>nQ,createModEnterHandler:()=>iP,useAnnotationsWithData:()=>iU,DeletePanelDialog:()=>sC,DeletePanelGroupDialog:()=>sE,PANEL_DUPLICATE_SHORTCUT:()=>ij,VariableProviderWithQueryParams:()=>np,useDashboardLinksActions:()=>X,useListVariableListBoxContext:()=>sl,TIME_SHIFT_BACK_SHORTCUT:()=>iR,HotkeysProvider:()=>rl,GridLayout:()=>t0,ListVariableListBox:()=>sc,MAX_VARIABLE_WIDTH:()=>500,useDiscardChangesConfirmationDialog:()=>eO,PanelDrawer:()=>sF,TIME_ZOOM_IN_EVENT:()=>it,VariableList:()=>sb,GO_PROFILE_SHORTCUT:()=>s7,useVariableDefinitions:()=>ns,ViewDashboard:()=>lS,HEADER_MEDIUM_WIDTH:()=>220,useHotkeyRegistrations:()=>lo,SHOW_SHORTCUTS_EVENT:()=>ih,useVariableDefinitionActions:()=>no,useDashboardShortcuts:()=>i0,HEADER_SMALL_WIDTH:()=>170,usePanelEditor:()=>ey,TIME_PASTE_EVENT:()=>is,usePanelFocusHandlers:()=>e1,SAVE_DASHBOARD_EVENT:()=>r7,ListVariableListBoxProvider:()=>su,VariableName:()=>n3,PANEL_DUPLICATE_EVENT:()=>ic,Panel:()=>tG,QuerySummaryTable:()=>sZ,useFocusedPanel:()=>e0,PANEL_DELETE_SHORTCUT:()=>iA,useDashboardLinks:()=>Y,usePanelActions:()=>eg,TIME_SHIFT_FORWARD_EVENT:()=>ii,TIME_RANGE_SHORTCUTS:()=>iH,formatForDisplay:()=>lx,useViewPanel:()=>eA,TIME_MAKE_ABSOLUTE_SHORTCUT:()=>iI,DatasourceStoreProvider:()=>s1,DashboardProvider:()=>G,requireShortcutSequence:()=>iE,GLOBAL_SHORTCUTS:()=>lt,DashboardToolbar:()=>sS,SAVE_DASHBOARD_SHORTCUT:()=>im,VariableListItem:()=>sv,requireShortcutHotkey:()=>iD,PanelPluginLoader:()=>e7,DashboardLinksEditor:()=>rr,Prompt:()=>sL,EditDashboardLinksButton:()=>ra,useAnnotationStates:()=>iG,AddPanelButton:()=>eL,DEFAULT_REFRESH_INTERVAL:()=>"0s",useSaveChangesConfirmationDialog:()=>eE,VariableEditor:()=>n1,useAnnotationSpecAndState:()=>iW,DatasourceEditor:()=>oQ,SHORTCUT_CATEGORY_LABELS:()=>s9,TIME_COPY_SHORTCUT:()=>iV,TIME_SHIFT_FORWARD_SHORTCUT:()=>iL,editButtonStyle:()=>p,TIME_COPY_EVENT:()=>io,usePanel:()=>ef,EditJsonButton:()=>o2,useDeletePanelGroupDialog:()=>ed,DASHBOARD_SHORTCUTS:()=>iv,OPEN_SEARCH_SHORTCUT:()=>s8,requireShortcutEvent:()=>ik,DownloadButton:()=>oX,SHORTCUT_CATEGORY_ORDER:()=>s3,Dashboard:()=>rt,GRID_LAYOUT_SMALL_BREAKPOINT:()=>"sm",PANEL_SHORTCUTS:()=>iS,PANEL_FULLSCREEN_SHORTCUT:()=>iw,GRID_LAYOUT_COLS:()=>_,useAnnotationActions:()=>iF,GO_HOME_SHORTCUT:()=>s5,GridContainer:()=>e$,PanelFocusProvider:()=>eQ,useEditMode:()=>U,usePanelGroupEditor:()=>eu,TOGGLE_THEME_SHORTCUT:()=>le,useDashboard:()=>iJ,useVariableDefinitionAndState:()=>na,QueryViewerDialog:()=>tW,REFRESH_DASHBOARD_EVENT:()=>r8,useHotkeySequence:()=>lr,TIME_MAKE_ABSOLUTE_EVENT:()=>ia,useDashboardActions:()=>K,SaveDashboardButton:()=>o9,PANEL_FULLSCREEN_EVENT:()=>iu,TIME_ZOOM_OUT_SHORTCUT:()=>iM,MIN_VARIABLE_WIDTH:()=>120,useVariableDefinitionStoreCtx:()=>nr,usePanelGroupActions:()=>ea,OPEN_SEARCH_EVENT:()=>ip,EditVariablesButton:()=>n5,useSaveDashboard:()=>iY,TIME_ZOOM_OUT_EVENT:()=>ie});var a,o=n(62540),s=n(7013),l=n(2859),u=n(29457);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 D(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 9126.a313fc37.js.LICENSE.txt */
|
|
2
|
+
(self.chunk_LogsTable=self.chunk_LogsTable||[]).push([["9126"],{39098(e,t,n){"use strict";n.d(t,{A:()=>A});var r=n(70451),i=n(11750),a=n(46477),o=n(3725),s=n(81023),l=n(77308),u=n(56599),c=n(23434),d=n(72052),p=n(48927),f=n(32494),h=n(29424),g=n(29009),m=n(46733);function y(e){return(0,m.Ay)("MuiCollapse",e)}(0,g.A)("MuiCollapse",["root","horizontal","vertical","entered","hidden","wrapper","wrapperInner"]);var b=n(62540);let v=(0,l.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,c.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"}}]}))),x=(0,l.A)("div",{name:"MuiCollapse",slot:"Wrapper",overridesResolver:(e,t)=>t.wrapper})({display:"flex",width:"100%",variants:[{props:{orientation:"horizontal"},style:{width:"auto",height:"100%"}}]}),w=(0,l.A)("div",{name:"MuiCollapse",slot:"WrapperInner",overridesResolver:(e,t)=>t.wrapperInner})({width:"100%",variants:[{props:{orientation:"horizontal"},style:{width:"auto",height:"100%"}}]}),j=r.forwardRef(function(e,t){let n=(0,d.b)({props:e,name:"MuiCollapse"}),{addEndListener:l,children:c,className:g,collapsedSize:m="0px",component:j,easing:A,in:S,onEnter:C,onEntered:D,onEntering:E,onExit:k,onExited:O,onExiting:P,orientation:M="vertical",style:T,timeout:R=p.p0.standard,TransitionComponent:L=a.Ay,...I}=n,V={...n,orientation:M,collapsedSize:m},_=(e=>{let{orientation:t,classes:n}=e,r={root:["root",`${t}`],entered:["entered"],hidden:["hidden"],wrapper:["wrapper",`${t}`],wrapperInner:["wrapperInner",`${t}`]};return(0,s.A)(r,y,n)})(V),H=(0,u.A)(),N=(0,o.A)(),z=r.useRef(null),$=r.useRef(),B="number"==typeof m?`${m}px`:m,G="horizontal"===M,F=G?"width":"height",W=r.useRef(null),U=(0,h.A)(t,W),q=e=>t=>{if(e){let n=W.current;void 0===t?e(n):e(n,t)}},K=()=>z.current?z.current[G?"clientWidth":"clientHeight"]:0,J=q((e,t)=>{z.current&&G&&(z.current.style.position="absolute"),e.style[F]=B,C&&C(e,t)}),Y=q((e,t)=>{let n=K();z.current&&G&&(z.current.style.position="");let{duration:r,easing:i}=(0,f.c)({style:T,timeout:R,easing:A},{mode:"enter"});if("auto"===R){let t=H.transitions.getAutoHeightDuration(n);e.style.transitionDuration=`${t}ms`,$.current=t}else e.style.transitionDuration="string"==typeof r?r:`${r}ms`;e.style[F]=`${n}px`,e.style.transitionTimingFunction=i,E&&E(e,t)}),Z=q((e,t)=>{e.style[F]="auto",D&&D(e,t)}),X=q(e=>{e.style[F]=`${K()}px`,k&&k(e)}),Q=q(O),ee=q(e=>{let t=K(),{duration:n,easing:r}=(0,f.c)({style:T,timeout:R,easing:A},{mode:"exit"});if("auto"===R){let n=H.transitions.getAutoHeightDuration(t);e.style.transitionDuration=`${n}ms`,$.current=n}else e.style.transitionDuration="string"==typeof n?n:`${n}ms`;e.style[F]=B,e.style.transitionTimingFunction=r,P&&P(e)});return(0,b.jsx)(L,{in:S,onEnter:J,onEntered:Z,onEntering:Y,onExit:X,onExited:Q,onExiting:ee,addEndListener:e=>{"auto"===R&&N.start($.current||0,e),l&&l(W.current,e)},nodeRef:W,timeout:"auto"===R?null:R,...I,children:(e,{ownerState:t,...n})=>(0,b.jsx)(v,{as:j,className:(0,i.A)(_.root,g,{entered:_.entered,exited:!S&&"0px"===B&&_.hidden}[e]),style:{[G?"minWidth":"minHeight"]:B,...T},ref:U,ownerState:{...V,state:e},...n,children:(0,b.jsx)(x,{ownerState:{...V,state:e},className:_.wrapper,ref:z,children:(0,b.jsx)(w,{ownerState:{...V,state:e},className:_.wrapperInner,children:c})})})})});j&&(j.muiSupportAuto=!0);let A=j},20853(e,t,n){"use strict";let r,i;n.r(t),n.d(t,{TIME_SHIFT_BACK_EVENT:()=>ir,DashboardDiscardChangesConfirmationDialog:()=>sk,usePanelGroupIds:()=>ee,EditDatasourcesButton:()=>o0,PanelGroupDialog:()=>sJ,RepeatGridLayout:()=>t1,useDeletePanelDialog:()=>ev,EditJsonDialog:()=>sP,dispatchShortcutEvent:()=>iO,AddGroupButton:()=>eT,HeaderIconButton:()=>tV,ARIA_LABEL_TEXT:()=>d,Row:()=>tX,createPanelDefinition:()=>R,useHotkey:()=>ln,useHotkeys:()=>r1,useDashboardDuration:()=>ew,EmptyDashboard:()=>re,TOGGLE_THEME_EVENT:()=>ig,DashboardStickyToolbar:()=>sx,AnnotationProvider:()=>iK,TIME_PASTE_SHORTCUT:()=>i_,TOOLTIP_TEXT:()=>c,GridTitle:()=>tZ,TOGGLE_EDIT_MODE_EVENT:()=>r6,PANEL_EDIT_SHORTCUT:()=>ix,DEFAULT_DASHBOARD_DURATION:()=>"1h",HEADER_ACTIONS_CONTAINER_NAME:()=>f,TIME_ZOOM_IN_SHORTCUT:()=>iT,SaveChangesConfirmationDialog:()=>s0,TOGGLE_EDIT_MODE_SHORTCUT:()=>ib,buildShortcutOptions:()=>iC,PanelEditorContext:()=>sN,useDashboardStore:()=>B,usePanelKey:()=>ep,useEditJsonDialog:()=>eM,GO_EXPLORE_SHORTCUT:()=>s4,useExternalVariableDefinitions:()=>nl,useHotkeySequences:()=>r4,useSelectionItemActions:()=>t$,isPanelGroupItemIdEqual:()=>eY,useAnnotationStoreCtx:()=>i$,useListPanelGroups:()=>en,GridItemContent:()=>tU,PANEL_DELETE_EVENT:()=>id,REFRESH_DASHBOARD_SHORTCUT:()=>iy,generateId:()=>T,usePanelGroup:()=>er,useVariableDefinitionStates:()=>ni,Variable:()=>sp,PanelPreview:()=>sU,DashboardContext:()=>$,VariableProvider:()=>nd,useAnnotationSpecs:()=>iB,SHOW_SHORTCUTS_SHORTCUT:()=>s6,PANEL_EDIT_EVENT:()=>il,LeaveDialog:()=>sI,useViewPanelGroup:()=>eC,useListVariableState:()=>sf,BuiltinVariableAccordions:()=>nQ,createModEnterHandler:()=>iP,useAnnotationsWithData:()=>iU,DeletePanelDialog:()=>sC,DeletePanelGroupDialog:()=>sE,PANEL_DUPLICATE_SHORTCUT:()=>ij,VariableProviderWithQueryParams:()=>np,useDashboardLinksActions:()=>X,useListVariableListBoxContext:()=>sl,TIME_SHIFT_BACK_SHORTCUT:()=>iR,HotkeysProvider:()=>rl,GridLayout:()=>t0,ListVariableListBox:()=>sc,MAX_VARIABLE_WIDTH:()=>500,useDiscardChangesConfirmationDialog:()=>eO,PanelDrawer:()=>sF,TIME_ZOOM_IN_EVENT:()=>it,VariableList:()=>sb,GO_PROFILE_SHORTCUT:()=>s7,useVariableDefinitions:()=>ns,ViewDashboard:()=>lS,HEADER_MEDIUM_WIDTH:()=>220,useHotkeyRegistrations:()=>lo,SHOW_SHORTCUTS_EVENT:()=>ih,useVariableDefinitionActions:()=>no,useDashboardShortcuts:()=>i0,HEADER_SMALL_WIDTH:()=>170,usePanelEditor:()=>ey,TIME_PASTE_EVENT:()=>is,usePanelFocusHandlers:()=>e1,SAVE_DASHBOARD_EVENT:()=>r7,ListVariableListBoxProvider:()=>su,VariableName:()=>n3,PANEL_DUPLICATE_EVENT:()=>ic,Panel:()=>tG,QuerySummaryTable:()=>sZ,useFocusedPanel:()=>e0,PANEL_DELETE_SHORTCUT:()=>iA,useDashboardLinks:()=>Y,usePanelActions:()=>eg,TIME_SHIFT_FORWARD_EVENT:()=>ii,TIME_RANGE_SHORTCUTS:()=>iH,formatForDisplay:()=>lx,useViewPanel:()=>eA,TIME_MAKE_ABSOLUTE_SHORTCUT:()=>iI,DatasourceStoreProvider:()=>s1,DashboardProvider:()=>G,requireShortcutSequence:()=>iE,GLOBAL_SHORTCUTS:()=>lt,DashboardToolbar:()=>sS,SAVE_DASHBOARD_SHORTCUT:()=>im,VariableListItem:()=>sv,requireShortcutHotkey:()=>iD,PanelPluginLoader:()=>e7,DashboardLinksEditor:()=>rr,Prompt:()=>sL,EditDashboardLinksButton:()=>ra,useAnnotationStates:()=>iG,AddPanelButton:()=>eL,DEFAULT_REFRESH_INTERVAL:()=>"0s",useSaveChangesConfirmationDialog:()=>eE,VariableEditor:()=>n1,useAnnotationSpecAndState:()=>iW,DatasourceEditor:()=>oQ,SHORTCUT_CATEGORY_LABELS:()=>s9,TIME_COPY_SHORTCUT:()=>iV,TIME_SHIFT_FORWARD_SHORTCUT:()=>iL,editButtonStyle:()=>p,TIME_COPY_EVENT:()=>io,usePanel:()=>ef,EditJsonButton:()=>o2,useDeletePanelGroupDialog:()=>ed,DASHBOARD_SHORTCUTS:()=>iv,OPEN_SEARCH_SHORTCUT:()=>s8,requireShortcutEvent:()=>ik,DownloadButton:()=>oX,SHORTCUT_CATEGORY_ORDER:()=>s3,Dashboard:()=>rt,GRID_LAYOUT_SMALL_BREAKPOINT:()=>"sm",PANEL_SHORTCUTS:()=>iS,PANEL_FULLSCREEN_SHORTCUT:()=>iw,GRID_LAYOUT_COLS:()=>_,useAnnotationActions:()=>iF,GO_HOME_SHORTCUT:()=>s5,GridContainer:()=>e$,PanelFocusProvider:()=>eQ,useEditMode:()=>U,usePanelGroupEditor:()=>eu,TOGGLE_THEME_SHORTCUT:()=>le,useDashboard:()=>iJ,useVariableDefinitionAndState:()=>na,QueryViewerDialog:()=>tW,REFRESH_DASHBOARD_EVENT:()=>r8,useHotkeySequence:()=>lr,TIME_MAKE_ABSOLUTE_EVENT:()=>ia,useDashboardActions:()=>K,SaveDashboardButton:()=>o9,PANEL_FULLSCREEN_EVENT:()=>iu,TIME_ZOOM_OUT_SHORTCUT:()=>iM,MIN_VARIABLE_WIDTH:()=>120,useVariableDefinitionStoreCtx:()=>nr,usePanelGroupActions:()=>ea,OPEN_SEARCH_EVENT:()=>ip,EditVariablesButton:()=>n5,useSaveDashboard:()=>iY,TIME_ZOOM_OUT_EVENT:()=>ie});var a,o=n(62540),s=n(7013),l=n(2859),u=n(76956);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 D(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 D(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 D(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},D=(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 E=n(38662);let k=e=>(t,n,r)=>(r.setState=(e,n,...r)=>t("function"==typeof e?(0,E.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(29207),M=n(81531);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 I(){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 _={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,timezone:l,duration:u,refreshInterval:c="0s",datasources:d,layouts:p=[],panels:f={}}}=t,h=t.spec.links??[],g="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})}})})(p)(...e),...((e,t)=>({panelGroupEditor:void 0,openAddPanelGroup:()=>{let t={mode:"Add",initialValues:{title:"",isCollapsed:!1,repeatVariable:""},applyChanges(t){let n=I();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:f}))(...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=I()).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=_.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:h,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,timezone:l,duration:u,refreshInterval:c,datasources:d,ttl:g,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=[],timezone:c}})=>{t(t=>{t.kind=e,t.metadata=n,t.display=r,t.timezone=c,t.panels=i;let{panelGroups:d,panelGroupOrder:p}=L(a);t.panelGroups=d,t.panelGroupOrder=p,t.duration=o,t.refreshInterval=s??"0s",t.datasources=l,t.links=u})},setMetadata:e=>{t(t=>{t.metadata="function"==typeof e?e(t.metadata):e})}}})))}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 Z=e=>({setLinks:e.setLinks});function X(){return B(Z)}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 eD=({saveChangesConfirmationDialog:e,openSaveChangesConfirmationDialog:t,closeSaveChangesConfirmationDialog:n})=>({saveChangesConfirmationDialog:e,openSaveChangesConfirmationDialog:t,closeSaveChangesConfirmationDialog:n});function eE(){return B(eD)}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 eI=n(74628),eV=n(56599),e_=n(39098),eH=n(29057),eN=n(12548),ez=n(77308);function e$(e){let[t,n]=(0,h.useState)(!0);return(0,h.useEffect)(()=>{t&&n(!1)},[t]),(0,o.jsx)(eB,{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 eB=(0,ez.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 eG=n(29424),eF=Object.defineProperty,eW=new Map,eU=new WeakMap,eq=0,eK=void 0;function eJ({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=eK){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":(eU.has(n)||(eq+=1,eU.set(n,eq.toString())),eU.get(n)):e[t]}`}).toString(),n=eW.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},eW.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(),eW.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 eY(e,t){return e?.panelGroupId===t?.panelGroupId&&e?.panelGroupItemLayoutId===t?.panelGroupItemLayoutId}h.Component;let eZ=(0,h.createContext)(void 0);function eX(){let e=(0,h.useContext)(eZ);if(void 0===e)throw Error("Panel focus hooks must be used within a PanelFocusProvider");return e}function eQ({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)(eZ.Provider,{value:a,children:e})}function e0(){return eX().focusedPanelKey}function e1(e){let{setFocusedPanel:t,clearFocusedPanel:n}=eX(),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 e2=n(68150),e9=n(32189),e3=n(13850),e5=n.n(e3),e4=n(33313);function e7(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)(e4.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 e8(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)(e4.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)(e7,{kind:t,spec:i,contentDimensions:a,definition:n,queryResults:u});if(r.some(e=>e.isFetching))return(0,o.jsx)(e6,{plugin:s,spec:i,definition:n,contentDimensions:a});let c=r.find(e=>e.error);if(c)throw c.error;return(0,o.jsx)(e6,{plugin:s,spec:i,definition:n,contentDimensions:a})}function e6({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 te=n(35875),tt=n(315),tn=n(65211),tr=n(88091),ti=n(25742),ta=n(48865),to=n(95591),ts=n(83183),tl=n(10713),tu=n(30443);function tc(e){return e.substring(2).toLowerCase()}function td(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,to.A)((0,tu.A)(t),s),d=(0,ts.A)(e=>{let t=u.current;u.current=!1;let r=(0,tl.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=tc(a),t=(0,tl.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=tc(r),t=(0,tl.A)(s.current);return t.addEventListener(e,d),()=>{t.removeEventListener(e,d)}}},[d,r]),h.cloneElement(t,f)}var tp=n(72795),tf=n(35050),th=n(53493),tg=n(59909),tm=n(86067),ty=n(61318),tb=n(50172),tv=n(14637),tx=n(4178),tw=n(74830),tj=n(17366),tA=n(66081),tS=n(47095),tC=n(24726),tD=n(30145),tE=n(47601),tk=n(63079),tO=n(57438),tP=n(65241);function tM({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)(tR,{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)(tt.A,{direction:"row",spacing:1,children:e.map(e=>(0,o.jsx)(tT,{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)(tS.A,{"aria-label":`${(0,tC.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)(tP.default,{"aria-describedby":"links-icon",fontSize:"inherit",sx:{color:e=>e.palette.text.secondary}})})}),(0,o.jsx)(tD.A,{anchorEl:n,open:!!n,onClose:()=>{r(null)},MenuListProps:{"aria-labelledby":`${t}-links-button`},children:e.map(e=>(0,o.jsx)(tL,{link:e},e.url))})]})}function tT({link:e}){let{url:t,name:n,tooltip:r,targetBlank:i}=tI(e);return(0,o.jsx)(u.InfoTooltip,{description:r??t,enterDelay:100,children:(0,o.jsx)(tE.A,{label:n??t,component:"a",href:t,target:i?"_blank":"_self",clickable:!0,size:"medium",icon:(0,o.jsx)(tP.default,{color:"inherit",fontSize:"small"}),sx:e=>({height:e.spacing(3)})})})}function tR({link:e}){let{url:t,name:n,tooltip:r,targetBlank:i}=tI(e);return(0,o.jsx)(u.InfoTooltip,{description:r??t,enterDelay:100,children:(0,o.jsx)(tS.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)(tP.default,{fontSize:"inherit",sx:{color:e=>e.palette.text.secondary}})})})}function tL({link:e}){let{url:t,name:n,tooltip:r,targetBlank:i}=tI(e);return(0,o.jsx)(u.InfoTooltip,{description:r??t,enterDelay:100,children:(0,o.jsx)(tk.A,{component:tO.A,href:t,target:i?"_blank":"_self",children:n??t})})}function tI(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 tV=(0,ez.A)(tS.A)(({theme:e})=>({borderRadius:e.shape.borderRadius,padding:"4px"})),t_={error:(0,o.jsx)(tw.default,{color:"error"}),warning:(0,o.jsx)(tx.default,{fontSize:"inherit",color:"warning"}),info:(0,o.jsx)(tj.default,{fontSize:"inherit",color:"info"})},tH=(0,ez.A)(eI.A)({display:"none",alignItems:"center",flexGrow:1,justifyContent:"flex-end"}),tN=({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)(tV,{"aria-label":"panel description",size:"small",children:(0,o.jsx)(tj.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)(tM,{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)(ti.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)(tV,{"aria-label":"panel errors",size:"small",children:(0,o.jsx)(tx.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)(tV,{"aria-label":"panel notices",size:"small",children:t_[t.type]})})}},[p]),A=(0,h.useMemo)(()=>{if(void 0!==t)return(0,o.jsx)(u.InfoTooltip,{description:c.viewPanel,children:(0,o.jsx)(tV,{"aria-label":d.viewPanel(i),size:"small",onClick:t.onViewPanelClick,children:t.isPanelViewed?(0,o.jsx)(tf.default,{fontSize:"inherit"}):(0,o.jsx)(th.default,{fontSize:"inherit"})})})},[t,i]),S=(0,h.useMemo)(()=>n?.onClick?(0,o.jsx)(u.InfoTooltip,{description:c.queryView,children:(0,o.jsx)(tV,{"aria-label":d.openQueryView(i),size:"small",onClick:n.onClick,children:(0,o.jsx)(tp.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)(tV,{"aria-label":d.editPanel(i),size:"small",onClick:e.onEditPanelClick,children:(0,o.jsx)(tg.default,{fontSize:"inherit"})})}),(0,o.jsx)(u.InfoTooltip,{description:c.duplicatePanel,children:(0,o.jsx)(tV,{"aria-label":d.duplicatePanel(i),size:"small",onClick:e.onDuplicatePanelClick,children:(0,o.jsx)(tb.default,{fontSize:"inherit",sx:{transform:"scale(0.925)"}})})}),(0,o.jsx)(u.InfoTooltip,{description:c.deletePanel,children:(0,o.jsx)(tV,{"aria-label":d.deletePanel(i),size:"small",onClick:e.onDeletePanelClick,children:(0,o.jsx)(tm.default,{fontSize:"inherit"})})})]})},[e,i]),D=(0,h.useMemo)(()=>{if(C&&!t?.isPanelViewed)return(0,o.jsx)(eI.A,{sx:{background:e=>e.palette.background.default},children:(0,o.jsx)(u.InfoTooltip,{description:c.movePanel,children:(0,o.jsx)(tV,{"aria-label":d.movePanel(i),size:"small",children:(0,o.jsx)(ty.default,{className:"drag-handle",sx:{cursor:"grab"},fontSize:"inherit"})})})})},[C,t,i]),E=(0,o.jsx)(eI.A,{sx:{flexGrow:1}}),k=({children:e})=>"hover"===y?(0,o.jsx)(eI.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)(tH,{sx:e=>({[e.containerQueries(f).between(0,170)]:{display:"flex"}}),children:[E,(0,o.jsxs)(k,{children:[(0,o.jsxs)(tz,{title:i,children:[b," ",v," ",w," ",j," ",x," ",S,A," ",g," ",m,C]}),D]})]}),(0,o.jsxs)(tH,{sx:e=>({[e.containerQueries(f).between(170,220)]:{display:"flex"}}),children:[(0,o.jsxs)(k,{children:[b," ",v]}),E," ",w,j,(0,o.jsxs)(k,{children:[x,A,(0,o.jsxs)(tz,{title:i,children:[C," ",S," ",g," ",m]}),D]})]}),(0,o.jsxs)(tH,{sx:e=>({display:"flex",[e.containerQueries(f).down(220)]:{display:"none"}}),children:[(0,o.jsxs)(k,{children:[b," ",v]}),E," ",w,j,(0,o.jsxs)(k,{children:[x,S,A," ",C,g.length<=1?g:(0,o.jsx)(tz,{title:i,children:g}),m.length<=1?m:(0,o.jsx)(u.InfoTooltip,{description:`${m.length} actions`,children:(0,o.jsx)(tz,{icon:(0,o.jsx)(tA.default,{fontSize:"inherit"}),direction:"column",title:i,children:m})}),D]})]})]})},tz=({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)(eI.A,{sx:{background:e=>e.palette.background.default},children:[(0,o.jsx)(tV,{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)(tv.default,{fontSize:"inherit"})}),(0,o.jsx)(ta.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)(td,{onClickAway:c,children:(0,o.jsx)(tt.A,{direction:r,alignItems:"center",sx:{padding:1},onClick:c,children:e})})})]})};function t$({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)(tV,{size:"small",disabled:e||g,onClick:e=>{e.stopPropagation(),d(n)},"aria-label":n.name,children:e?(0,o.jsx)(ti.A,{size:14}):r?r.icon:(0,o.jsx)(eI.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)(tV,{size:"small",disabled:e||g,onClick:e=>{e.stopPropagation(),d(r,t)},"aria-label":r.name,children:e?(0,o.jsx)(ti.A,{size:14}):a?a.icon:(0,o.jsx)(eI.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 tB({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:D,confirmDialog:E}=t$({actions:p,variableState:A,disabledWithEmptySelection:!0});return(0,o.jsxs)(o.Fragment,{children:[w?(0,o.jsx)(te.A,{id:e,component:"header","aria-labelledby":v,"aria-describedby":x,disableTypography:!0,title:(0,o.jsxs)(tt.A,{direction:"row",alignItems:"center",height:"var(--panel-header-height, 30px)",children:[(0,o.jsx)(tn.A,{title:w,disableHoverListener:!C,children:(0,o.jsx)(tr.A,{id:v,variant:"subtitle1",ref:S,sx:{lineHeight:"24px",minHeight:"26px",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:w})}),(0,o.jsx)(tN,{title:w,description:j,descriptionTooltipId:x,links:r,readHandlers:a,editHandlers:s,viewQueriesHandler:m,extra:c,queryResults:i,pluginActions:d,itemActions:D,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)(tt.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)(tN,{title:w,description:j,descriptionTooltipId:x,links:r,readHandlers:a,editHandlers:s,viewQueriesHandler:m,extra:c,queryResults:i,pluginActions:d,itemActions:D,showIcons:g})}),E]})}let tG=(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}=e5()({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 D=l?.showIcons??(r||n?.isPanelViewed?"always":"hover"),E=t.spec.plugin.spec?.actions?t.spec.plugin.spec.actions:void 0,k=E?.enabled&&E.displayInHeader?E.actionsList:[];return(0,o.jsx)(u.SelectionProvider,{children:(0,o.jsx)(u.ItemActionsProvider,{children:(0,o.jsxs)(e2.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)(tB,{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:D,sx:{py:"2px",pl:"8px",pr:"2px"},dimension:x}),(0,o.jsx)(e9.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)(e8,{definition:t,panelPluginKind:t.spec.plugin.kind,spec:t.spec.plugin.spec,contentDimensions:x,queryResults:w})})})]})})})});var tF=n(6227);function tW({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)(tF.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 tU(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}=e1(`${n.panelGroupId}-${n.panelGroupItemLayoutId}`),{ref:m,inView:y}=eJ({threshold:0,initialInView:!1,triggerOnce:!0}),{ref:b,inView:v}=eJ({threshold:.2,initialInView:!1,triggerOnce:!1}),x=(0,eG.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:eY(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:D}=(0,P.usePlugin)("Panel",i.spec.plugin.kind),E="function"==typeof D?.queryOptions?D?.queryOptions(i.spec.plugin.spec):D?.queryOptions;return(0,o.jsxs)(eI.A,{ref:x,tabIndex:-1,onMouseEnter:f,onMouseLeave:g,sx:{width:"100%",height:"100%",outline:"none"},children:[(0,o.jsx)(P.DataQueriesProvider,{definitions:a??[],options:{suggestedStepMs:C,...E},queryOptions:{enabled:y},children:v&&(0,o.jsx)(tG,{definition:i,readHandlers:S,editHandlers:t,viewQueriesHandler:A,panelOptions:e.panelOptions,panelGroupItemId:n})}),(0,o.jsx)(tW,{open:w,queryDefinitions:a??[],onClose:()=>j(!1)})]})}var tq=n(87275),tK=n(11061),tJ=n(65168),tY=n(46001);function tZ(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)(tr.A,{variant:"h2",children:i});return(0,o.jsx)(eI.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)(tS.A,{sx:{marginRight:1},"aria-label":`${r.isOpen?"collapse":"expand"} group ${i}`,children:r.isOpen?(0,o.jsx)(tq.default,{}):(0,o.jsx)(tK.default,{})}),g,h&&(0,o.jsxs)(tt.A,{direction:"row",marginLeft:"auto",children:[(0,o.jsx)(u.InfoTooltip,{description:c.addPanelToGroup,children:(0,o.jsx)(tS.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)(tS.A,{"aria-label":d.editGroup(i),onClick:e=>{e.stopPropagation(),s()},children:(0,o.jsx)(tg.default,{})})}),(0,o.jsx)(u.InfoTooltip,{description:c.deleteGroup,children:(0,o.jsx)(tS.A,{"aria-label":d.deleteGroup(i),onClick:e=>{e.stopPropagation(),f(t)},children:(0,o.jsx)(tm.default,{})})}),(0,o.jsx)(u.InfoTooltip,{description:c.moveGroupDown,children:(0,o.jsx)(tS.A,{"aria-label":d.moveGroupDown(i),disabled:void 0===p,onClick:e=>{e.stopPropagation(),p?.()},children:(0,o.jsx)(tY.default,{})})}),(0,o.jsx)(u.InfoTooltip,{description:c.moveGroupUp,children:(0,o.jsx)(tS.A,{"aria-label":d.moveGroupUp(i),disabled:void 0===l,onClick:e=>{e.stopPropagation(),l?.()},children:(0,o.jsx)(tJ.default,{})})})]})]}):g})}function tX({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,eN.WidthProvider)(eN.Responsive),[]),p=(0,eV.A)(),f=(0,eH.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)(e$,{sx:{display:v?"block":"none",height:b?`${r}px`:"unset",overflow:b?"hidden":"unset"},children:[t.title&&(0,o.jsx)(tZ,{panelGroupId:e,title:t.title,collapse:void 0===t.isCollapsed?void 0:{isOpen:g,onToggleOpen:()=>m(e=>!e)}}),(0,o.jsx)(e_.A,{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:_,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)(tU,{panelOptions:i,panelGroupItemId:{panelGroupId:e,panelGroupItemLayoutId:t,repeatVariable:c},width:tQ(r,n)})})},t))})})]})}let tQ=(e,t)=>Number.isFinite(e)?Math.round(t*e+10*Math.max(0,e-1)):e;function t0(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)(t1,{repeatVariableName:i.repeatVariable,panelGroupId:t,groupDefinition:i,gridColWidth:u,panelFullHeight:r,panelOptions:n,isEditMode:l,onLayoutChange:p,onWidthChange:f}):(0,o.jsx)(tX,{panelGroupId:t,groupDefinition:i,gridColWidth:u,panelFullHeight:r,panelOptions:n,isEditMode:l,onLayoutChange:p,onWidthChange:f})})}function t1({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)(tX,{panelGroupId:t,groupDefinition:n,gridColWidth:r,panelFullHeight:i,panelOptions:a,isEditMode:s,onLayoutChange:l,onWidthChange:u,repeatVariable:[e,d]})},`${e}-${d}`))}):(0,o.jsx)(tX,{panelGroupId:t,groupDefinition:n,gridColWidth:r,panelFullHeight:i,panelOptions:a,isEditMode:s,onLayoutChange:l,onWidthChange:u})}let{useDebugValue:t2}=g(),{useSyncExternalStoreWithSelector:t9}=b,t3=e=>e;function t5(e,t=t3,n){let r=t9(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return t2(r),r}function t4(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 t7(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 t8(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},{...t7(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},{...t7(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 t6=n(57348);let ne="var-",nt={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""}},nn=(0,h.createContext)(void 0);function nr(){let e=(0,h.useContext)(nn);if(!e)throw Error("VariableStoreContext not initialized");return e}function ni(e){return j(nr(),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 na(e,t){return t5(nr(),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 no(){return j(nr(),e=>({setVariableValue:e.setVariableValue,setVariableLoading:e.setVariableLoading,setVariableOptions:e.setVariableOptions,setVariableDefinitions:e.setVariableDefinitions,setVariableDefaultValues:e.setVariableDefaultValues,getSavedVariablesStatus:e.getSavedVariablesStatus}),O)}function ns(){return t5(nr(),e=>e.variableDefinitions)}function nl(){return t5(nr(),e=>e.externalVariableDefinitions)}function nu({children:e,builtinVariables:t}){let n=ni(),r=ns(),i=nl(),{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=t4(r,i).find(e=>e.spec.name===t);e?.kind==="ListVariable"&&e.spec.customAllValue?(a.value=e.spec.customAllValue,a.customAllValue=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 nc({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(ne,"")]=t)}),a),...r};return y()(C(k((r,i)=>({variableState:t8(e,o,t),variableDefinitions:e,externalVariableDefinitions:t,setVariableDefinitions(e){r(n=>{n.variableDefinitions=e,n.variableState=t8(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])({[`${ne}${e}`]:a});o.value=a}},!1,"[Variables] setVariableValue"),setVariableDefaultValues:()=>{let e=i().variableDefinitions,t=i().variableState,n=(0,E.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,E.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,E.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 nd({children:e,initialVariableDefinitions:t=[],externalVariableDefinitions:n=[],builtinVariableDefinitions:r=[],initialVariableValues:i}){let[a]=(0,h.useState)(()=>nc({initialVariableDefinitions:t,externalVariableDefinitions:n,initialVariableValues:i}));return(0,o.jsx)(nn.Provider,{value:a,children:(0,o.jsx)(nu,{builtinVariables:r,children:e})})}function np({children:e,initialVariableDefinitions:t=[],externalVariableDefinitions:n=[],builtinVariableDefinitions:r=[]}){let i,a=(i={},t4(t,n).forEach(e=>{var t;i[t=e.spec.name,`${ne}${t}`]=nt}),(0,t6.useQueryParams)(i,{updateType:"replaceIn"})),[s]=(0,h.useState)(()=>nc({initialVariableDefinitions:t,externalVariableDefinitions:n,queryParams:a}));return(0,o.jsx)(nn.Provider,{value:s,children:(0,o.jsx)(nu,{builtinVariables:r,children:e})})}var nf=n(34007),nh=n(347),ng=n(91394),nm=n(70561),ny=n(3399),nb=n(5139),nv=n(68003),nx=n(11750),nw=n(81023),nj=n(23434),nA=n(72052),nS=n(11502);let nC=h.createContext({});var nD=n(2203),nE=n(73397),nk=n(29009),nO=n(46733);function nP(e){return(0,nO.Ay)("MuiAccordion",e)}let nM=(0,nk.A)("MuiAccordion",["root","heading","rounded","expanded","disabled","gutters","region"]),nT=(0,ez.A)(nS.A,{name:"MuiAccordion",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:n}=e;return[{[`& .${nM.region}`]:t.region},t.root,!n.square&&t.rounded,!n.disableGutters&&t.gutters]}})((0,nj.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"}},[`&.${nM.expanded}`]:{"&::before":{opacity:0},"&:first-of-type":{marginTop:0},"&:last-of-type":{marginBottom:0},"& + &":{"&::before":{display:"none"}}},[`&.${nM.disabled}`]:{backgroundColor:(e.vars||e).palette.action.disabledBackground}}}),(0,nj.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:{[`&.${nM.expanded}`]:{margin:"16px 0"}}}]}))),nR=(0,ez.A)("h3",{name:"MuiAccordion",slot:"Heading",overridesResolver:(e,t)=>t.heading})({all:"unset"}),nL=h.forwardRef(function(e,t){let n=(0,nA.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,nD.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,nw.A)({root:["root",!n&&"rounded",r&&"expanded",i&&"disabled",!a&&"gutters"],heading:["heading"],region:["region"]},nP,t)})(S),D={slots:{transition:g,...p},slotProps:{transition:m,...f}},[E,k]=(0,nE.A)("root",{elementType:nT,externalForwardedProps:{...D,...y},className:(0,nx.A)(C.root,i),shouldForwardComponentProp:!0,ownerState:S,ref:t,additionalProps:{square:d}}),[O,P]=(0,nE.A)("heading",{elementType:nR,externalForwardedProps:D,className:C.heading,ownerState:S}),[M,T]=(0,nE.A)("transition",{elementType:e_.A,externalForwardedProps:D,ownerState:S});return(0,o.jsxs)(E,{...k,children:[(0,o.jsx)(O,{...P,children:(0,o.jsx)(nC.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 nI=n(1337);function nV(e){return(0,nO.Ay)("MuiAccordionSummary",e)}let n_=(0,nk.A)("MuiAccordionSummary",["root","expanded","focusVisible","disabled","gutters","contentGutters","content","expandIconWrapper"]),nH=(0,ez.A)(nI.A,{name:"MuiAccordionSummary",slot:"Root",overridesResolver:(e,t)=>t.root})((0,nj.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),[`&.${n_.focusVisible}`]:{backgroundColor:(e.vars||e).palette.action.focus},[`&.${n_.disabled}`]:{opacity:(e.vars||e).palette.action.disabledOpacity},[`&:hover:not(.${n_.disabled})`]:{cursor:"pointer"},variants:[{props:e=>!e.disableGutters,style:{[`&.${n_.expanded}`]:{minHeight:64}}}]}})),nN=(0,ez.A)("span",{name:"MuiAccordionSummary",slot:"Content",overridesResolver:(e,t)=>t.content})((0,nj.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}),[`&.${n_.expanded}`]:{margin:"20px 0"}}}]}))),nz=(0,ez.A)("span",{name:"MuiAccordionSummary",slot:"ExpandIconWrapper",overridesResolver:(e,t)=>t.expandIconWrapper})((0,nj.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}),[`&.${n_.expanded}`]:{transform:"rotate(180deg)"}}))),n$=h.forwardRef(function(e,t){let n=(0,nA.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(nC),y={...n,expanded:g,disabled:p,disableGutters:f},b=(e=>{let{classes:t,expanded:n,disabled:r,disableGutters:i}=e;return(0,nw.A)({root:["root",n&&"expanded",r&&"disabled",!i&&"gutters"],focusVisible:["focusVisible"],content:["content",n&&"expanded",!i&&"contentGutters"],expandIconWrapper:["expandIconWrapper",n&&"expanded"]},nV,t)})(y),v={slots:u,slotProps:c},[x,w]=(0,nE.A)("root",{ref:t,shouldForwardComponentProp:!0,className:(0,nx.A)(b.root,i),elementType:nH,externalForwardedProps:{...v,...d},ownerState:y,additionalProps:{focusRipple:!1,disableRipple:!0,disabled:p,"aria-expanded":g,focusVisibleClassName:(0,nx.A)(b.focusVisible,s)},getSlotProps:e=>({...e,onClick:t=>{e.onClick?.(t),m&&m(t),l&&l(t)}})}),[j,A]=(0,nE.A)("content",{className:b.content,elementType:nN,externalForwardedProps:v,ownerState:y}),[S,C]=(0,nE.A)("expandIconWrapper",{className:b.expandIconWrapper,elementType:nz,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 nB(e){return(0,nO.Ay)("MuiAccordionDetails",e)}(0,nk.A)("MuiAccordionDetails",["root"]);let nG=(0,ez.A)("div",{name:"MuiAccordionDetails",slot:"Root",overridesResolver:(e,t)=>t.root})((0,nj.A)(({theme:e})=>({padding:e.spacing(1,2,2)}))),nF=h.forwardRef(function(e,t){let n=(0,nA.b)({props:e,name:"MuiAccordionDetails"}),{className:r,...i}=n,a=(e=>{let{classes:t}=e;return(0,nw.A)({root:["root"]},nB,t)})(n);return(0,o.jsx)(nG,{className:(0,nx.A)(a.root,r),ref:t,ownerState:n,...i})});var nW=n(45271),nU=n(86742);function nq(e){var t=(0,h.useState)(function(){return(0,E.CN)("function"==typeof e?e():e,!0)}),n=t[1];return[t[0],(0,h.useCallback)(function(e){n("function"==typeof e?(0,E.jM)(e):(0,E.CN)(e))},[])]}var nK=n(49603),nJ=n(4150),nY=n(30576),nZ=n(10571),nX=n(38990);function nQ({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)(nL,{sx:e=>({".MuiAccordionSummary-root":{backgroundColor:e.palette.background.lighter},".MuiAccordionDetails-root":{backgroundColor:e.palette.background.lighter}}),children:[(0,o.jsx)(n$,{expandIcon:(0,o.jsx)(nX.default,{}),"aria-controls":"builtin",id:"builtin",children:(0,o.jsx)(tr.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)(nF,{children:(0,o.jsx)(nh.A,{children:(0,o.jsxs)(ng.A,{sx:{minWidth:650},"aria-label":"table of external variables",children:[(0,o.jsx)(nm.A,{children:(0,o.jsxs)(ny.A,{children:[(0,o.jsx)(nW.A,{children:"Name"}),(0,o.jsx)(nW.A,{children:"Description"})]})}),(0,o.jsx)(nb.A,{children:(t[e]??[]).map(t=>(0,o.jsxs)(ny.A,{children:[(0,o.jsx)(nW.A,{component:"th",scope:"row",sx:{fontWeight:"bold"},children:t.spec.name}),(0,o.jsx)(nW.A,{children:t.spec.display?.description??""})]},e+"-"+t.spec.name))})]})})})]},e))})}function n0(e){return P.VARIABLE_TYPES.find(t=>t.kind===e)?.label}function n1(e){let[t,n]=nq(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)(()=>[t8(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)(n9,{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)(eI.A,{sx:{display:"flex",alignItems:"center",padding:e=>e.spacing(1,2),borderBottom:e=>`1px solid ${e.palette.divider}`},children:[(0,o.jsx)(tr.A,{variant:"h2",children:"Edit Dashboard Variables"}),(0,o.jsxs)(tt.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)(eI.A,{padding:2,sx:{overflowY:"scroll"},children:(0,o.jsxs)(tt.A,{spacing:2,children:[(0,o.jsxs)(tt.A,{spacing:2,children:[!p.isValid&&p.errors.map(e=>(0,o.jsx)(nf.A,{severity:"error",children:e},e)),(0,o.jsx)(nh.A,{children:(0,o.jsxs)(ng.A,{sx:{minWidth:650},"aria-label":"table of variables",children:[(0,o.jsx)(nm.A,{children:(0,o.jsxs)(ny.A,{children:[(0,o.jsx)(n2,{children:"Visibility"}),(0,o.jsx)(n2,{children:"Name"}),(0,o.jsx)(n2,{children:"Type"}),(0,o.jsx)(n2,{children:"Description"}),(0,o.jsx)(n2,{align:"right",children:"Actions"})]})}),(0,o.jsx)(nb.A,{children:t.map((e,r)=>(0,o.jsxs)(ny.A,{children:[(0,o.jsx)(n2,{component:"th",scope:"row",children:(0,o.jsx)(nv.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)(n2,{component:"th",scope:"row",sx:{fontWeight:"bold"},children:(0,o.jsx)(n3,{name:e.spec.name,state:f.get({name:e.spec.name})})}),(0,o.jsx)(n2,{children:n0(e.kind)??e.kind}),(0,o.jsx)(n2,{children:e.spec.display?.description??""}),(0,o.jsxs)(n2,{align:"right",sx:{whiteSpace:"nowrap"},children:[(0,o.jsx)(tS.A,{onClick:()=>v(r,"up"),disabled:0===r,children:(0,o.jsx)(tJ.default,{})}),(0,o.jsx)(tS.A,{onClick:()=>v(r,"down"),disabled:r===t.length-1,children:(0,o.jsx)(tY.default,{})}),(0,o.jsx)(tS.A,{onClick:()=>{l("update"),i(r)},children:(0,o.jsx)(nK.default,{})}),(0,o.jsx)(tS.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)(tb.default,{})}),(0,o.jsx)(tS.A,{onClick:()=>b(r),children:(0,o.jsx)(nJ.default,{})})]})]},e.spec.name))})]})}),(0,o.jsx)(eI.A,{display:"flex",children:(0,o.jsx)(s.A,{variant:"contained",startIcon:(0,o.jsx)(nU.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)(nL,{sx:e=>({".MuiAccordionSummary-root":{backgroundColor:e.palette.background.lighter},".MuiAccordionDetails-root":{backgroundColor:e.palette.background.lighter}}),children:[(0,o.jsx)(n$,{expandIcon:(0,o.jsx)(nX.default,{}),"aria-controls":e.source,id:e.source,children:(0,o.jsx)(tt.A,{flexDirection:"row",alignItems:"center",justifyContent:"start",children:(0,o.jsxs)(o.Fragment,{children:[e.tooltip?(0,o.jsx)(tr.A,{variant:"h2",children:(0,o.jsx)(u.InfoTooltip,{title:e.tooltip.title||"",description:e.tooltip.description||"",children:(0,o.jsxs)("span",{children:[(0,tC.A)(e.source)," Variables"]})})}):(0,o.jsxs)(tr.A,{variant:"h2",children:[(0,tC.A)(e.source)," Variables"]}),e.editLink&&(0,o.jsx)(tS.A,{href:e.editLink,target:"_blank",children:(0,o.jsx)(nZ.default,{fontSize:"small"})})]})})}),(0,o.jsx)(nF,{children:(0,o.jsx)(nh.A,{children:(0,o.jsxs)(ng.A,{sx:{minWidth:650},"aria-label":"table of external variables",children:[(0,o.jsx)(nm.A,{children:(0,o.jsxs)(ny.A,{children:[(0,o.jsx)(n2,{children:"Visibility"}),(0,o.jsx)(n2,{children:"Name"}),(0,o.jsx)(n2,{children:"Type"}),(0,o.jsx)(n2,{children:"Description"}),(0,o.jsx)(n2,{align:"right",children:"Actions"})]})}),(0,o.jsx)(nb.A,{children:e.definitions.map(t=>(0,o.jsxs)(ny.A,{children:[(0,o.jsx)(n2,{component:"th",scope:"row",children:(0,o.jsx)(nv.A,{checked:t.spec.display?.hidden!==!0,disabled:!0})}),(0,o.jsx)(n2,{component:"th",scope:"row",sx:{fontWeight:"bold"},children:(0,o.jsx)(n3,{name:t.spec.name,state:f.get({name:t.spec.name,source:e.source})})}),(0,o.jsx)(n2,{children:n0(t.kind)??t.kind}),(0,o.jsx)(n2,{children:t.spec.display?.description??""}),(0,o.jsxs)(n2,{align:"right",children:[(0,o.jsx)(tn.A,{title:"Override",children:(0,o.jsx)(tS.A,{onClick:()=>{n(e=>{e.push(t)})},disabled:!!f.get({name:t.spec.name}),children:(0,o.jsx)(nY.default,{})})}),(0,o.jsx)(tS.A,{disabled:!0,children:(0,o.jsx)(tJ.default,{})}),(0,o.jsx)(tS.A,{disabled:!0,children:(0,o.jsx)(tY.default,{})}),(0,o.jsx)(tS.A,{disabled:!0,children:(0,o.jsx)(nK.default,{})}),(0,o.jsx)(tS.A,{disabled:!0,children:(0,o.jsx)(nJ.default,{})})]})]},t.spec.name))})]})})})]},t)),d&&(0,o.jsx)(nQ,{builtinVariableDefinitions:d})]})})]})]})}let n2=(0,ez.A)(nW.A)(({theme:e})=>({borderBottom:`solid 1px ${e.palette.divider}`}));function n9({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)(tt.A,{sx:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%",width:"100%",overflow:"hidden"},children:(0,o.jsx)(ti.A,{"aria-label":"loading"})}):(0,o.jsx)(nd,{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 n3(e){let{name:t,state:n}=e;return(0,o.jsxs)(o.Fragment,{children:[!n?.overridden&&`${t} `,!n?.overridden&&n?.overriding&&(0,o.jsx)(eI.A,{fontWeight:"normal",color:e=>e.palette.primary.main,children:"(overriding)"}),n?.overridden&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(eI.A,{color:e=>e.palette.grey[500],children:t}),(0,o.jsx)(eI.A,{fontWeight:"normal",color:e=>e.palette.grey[500],children:"(overridden)"})]})]})}function n5({variant:e="text",label:t="Variables",color:n="primary",fullWidth:r}){let[i,a]=(0,h.useState)(!1),l=ns(),d=nl(),f=(0,P.useBuiltinVariableDefinitions)(),{setVariableDefinitions:g}=no(),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)(tg.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)(n1,{variableDefinitions:l,externalVariableDefinitions:d,builtinVariableDefinitions:f,onCancel:m,onChange:e=>{g(e),a(!1)}})})]})}let n4=({label:e="Edit",onClick:t})=>(0,o.jsx)(s.A,{onClick:t,startIcon:(0,o.jsx)(tg.default,{}),variant:"outlined",color:"secondary",sx:{whiteSpace:"nowrap",minWidth:"auto"},children:e}),n7="Let's get started",n8={variant:"outlined",color:"secondary"},n6=({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)(n5,{variant:"outlined",color:"secondary",label:"Add Variables",fullWidth:!0})]}):n?(0,o.jsx)(n4,{...n8,label:"Edit Dashboard",onClick:n}):null,re=({title:e=n7,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)(n6,{actions:i,onEditButtonClick:a,isEditMode:s});return(0,o.jsxs)(eI.A,{sx:{width:"500px",textAlign:"center",margin:"0 auto"},children:[(0,o.jsxs)(eI.A,{sx:{width:"289px",margin:"0 auto"},children:[!!t&&t,(0,o.jsx)(tr.A,{variant:"h2",gutterBottom:!0,children:e}),(0,o.jsx)(tr.A,{variant:"body1",children:n??l}),u&&(0,o.jsx)(eI.A,{sx:{display:"flex",gap:2,marginTop:1,justifyContent:"center"},children:u})]}),r&&(0,o.jsx)(tr.A,{variant:"subtitle1",sx:{marginTop:12},children:r})]})};function rt({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)(eI.A,{...n,sx:{height:"100%"},ref:i,children:(0,o.jsxs)(u.ErrorBoundary,{FallbackComponent:u.ErrorAlert,children:[a&&(0,o.jsx)(eI.A,{sx:{height:"100%",display:"flex",alignItems:"center"},children:(0,o.jsx)(re,{...e})}),!a&&r.map(e=>(0,o.jsx)(t0,{panelGroupId:e,panelOptions:t,panelFullHeight:l},e))]})})}let rn={url:"",name:"",tooltip:"",renderVariables:!0,targetBlank:!0};function rr({links:e,onChange:t,onCancel:n}){let[r,i]=nq(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)(eI.A,{sx:{display:"flex",alignItems:"center",padding:e=>e.spacing(1,2),borderBottom:e=>`1px solid ${e.palette.divider}`},children:[(0,o.jsx)(tr.A,{variant:"h2",children:"Edit Dashboard Links"}),(0,o.jsxs)(tt.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)(eI.A,{padding:2,sx:{overflowY:"scroll"},children:(0,o.jsxs)(tt.A,{spacing:2,children:[(0,o.jsx)(nh.A,{children:(0,o.jsxs)(ng.A,{size:"small",sx:{tableLayout:"fixed",width:"100%"},"aria-label":"table of dashboard links",children:[(0,o.jsx)(nm.A,{children:(0,o.jsxs)(ny.A,{children:[(0,o.jsx)(nW.A,{children:"Name"}),(0,o.jsx)(nW.A,{children:"URL"}),(0,o.jsx)(nW.A,{width:80,children:"New Tab"}),(0,o.jsx)(nW.A,{align:"right",width:180,children:"Actions"})]})}),(0,o.jsx)(nb.A,{children:r.map((e,t)=>(0,o.jsx)(ri,{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)(tr.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)(nU.default,{}),onClick:()=>{i(e=>{e.push({...rn})}),l(r.length)},sx:{alignSelf:"flex-start"},children:"Add Link"})]})})]})}function ri({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)(ny.A,{children:[(0,o.jsx)(nW.A,{component:"th",scope:"row",sx:{fontWeight:"bold",overflow:"hidden",textOverflow:"ellipsis"},children:p}),(0,o.jsx)(nW.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)(nW.A,{children:e.targetBlank?"Yes":"No"}),(0,o.jsxs)(nW.A,{align:"right",sx:{whiteSpace:"nowrap"},children:[(0,o.jsx)(tS.A,{onClick:c,disabled:n,"aria-label":"Move link up",children:(0,o.jsx)(tJ.default,{})}),(0,o.jsx)(tS.A,{onClick:d,disabled:r,"aria-label":"Move link down",children:(0,o.jsx)(tY.default,{})}),(0,o.jsx)(tS.A,{onClick:a,"aria-label":i?"Collapse link editor":"Edit link",children:i?(0,o.jsx)(nX.default,{}):(0,o.jsx)(nK.default,{})}),(0,o.jsx)(tS.A,{onClick:l,"aria-label":"Remove link",children:(0,o.jsx)(nJ.default,{})})]})]}),(0,o.jsx)(ny.A,{children:(0,o.jsx)(nW.A,{colSpan:4,sx:{paddingBottom:0,paddingTop:0,border:i?void 0:"none"},children:(0,o.jsx)(e_.A,{in:i,timeout:"auto",unmountOnExit:!0,children:(0,o.jsx)(eI.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 ra({variant:e="text",label:t="Links",color:n="primary",fullWidth:r}){let[i,a]=(0,h.useState)(!1),l=Y(),{setLinks:d}=X(),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)(tg.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)(rr,{links:l,onCancel:f,onChange:e=>{d?.(e),a(!1)}})})]})}let ro=(0,h.createContext)(null),rs={};function rl({children:e,defaultOptions:t=rs}){let n=(0,h.useMemo)(()=>({defaultOptions:t}),[t]);return g().createElement(ro.Provider,{value:n},e)}function ru(){return(0,h.useContext)(ro)?.defaultOptions??{}}function rc(e){return null!==e&&"object"==typeof e&&"current"in e}function rd(){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 rp=["Control","Alt","Shift","Meta"],rf={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 rh(e,t=rd()){return"Mod"===e?"mac"===t?"Meta":"Control":e}let rg=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"]),rm=new Set(["0","1","2","3","4","5","6","7","8","9"]),ry=new Set(["F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12"]),rb=new Set(["ArrowUp","ArrowDown","ArrowLeft","ArrowRight","Home","End","PageUp","PageDown"]),rv=new Set(["Enter","Escape","Space","Tab","Backspace","Delete"]),rx=new Set(["/","[","]","\\","=","-",",",".",";","`"]),rw={Backquote:"`",Backslash:"\\",BracketLeft:"[",BracketRight:"]",Comma:",",Equal:"=",Minus:"-",Period:".",Semicolon:";",Slash:"/"};[...rg,...rm,...ry,...rb,...rv,...rx];let rj={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 rA(e){return/^\p{Letter}$/u.test(e)}function rS(e){if(!e)return"";if(e in rj)return rj[e];if(rA(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 rC(e,t=rd()){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=rS(a);else{let e=rf[a]??rf[a.toLowerCase()];if(e){let n=rh(e,t);r.add(n)}else 1===n.length&&(i=rS(a))}}return!i&&n.length>0&&(i=rS(n[n.length-1].trim())),{key:i,ctrl:r.has("Control"),shift:r.has("Shift"),alt:r.has("Alt"),meta:r.has("Meta"),modifiers:rp.filter(e=>r.has(e))}}function rD(e,t=rd()){let n=e.ctrl??!1,r=e.shift??!1,i=e.alt??!1,a=e.meta??!1;e.mod&&("Control"===rh("Mod",t)?n=!0:a=!0);let o=rp.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 rE(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 rp)e.modifiers.includes(t)&&r.push(t);return r.push(rS(e.key)),r.join("+")}function rk(e,t=rd()){return"string"==typeof e?function(e,t=rd()){return rE(rC(e,t),t)}(e,t):function(e,t=rd()){return rE(e,t)}(rD(e,t),t)}function rO(e){return e.join(" ")}function rP(e,t,n=rd()){let r="string"==typeof t?rC(t,n):t;if(e.ctrlKey!==r.ctrl||e.shiftKey!==r.shift||e.altKey!==r.alt||e.metaKey!==r.meta)return!1;let i=rS(e.key),a=r.key;if("Dead"!==i&&1===i.length&&1===a.length){if(i.toUpperCase()===a.toUpperCase())return!0;if(rA(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 rw&&rw[e.code]===a}return i===a}let rM={preventDefault:!0,stopPropagation:!0,eventType:"keydown",enabled:!0,ignoreInputs:!0,conflictBehavior:"warn"};function rT(e){return!e.ctrl&&!e.meta&&"Escape"!==e.key}function rR(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 rL(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&&rR(r)&&r!==n||e.composedPath().some(e=>rR(e)&&e!==n))||rR(e.target)&&e.target!==n}function rI(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 rV(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 r_=((a=r_||{})[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 rH(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 rN=[],rz=0,{link:r$,unlink:rB,propagate:rG,checkDirty:rF,shallowPropagate:rW}=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){rN[rq++]=e,e.flags&=~r_.Watching},unwatched(e){void 0!==e.depsTail&&(e.depsTail=void 0,e.flags=r_.Mutable|r_.Dirty,rK(e))}}),rU=0,rq=0;function rK(e){let t=e.depsTail,n=void 0!==t?t.nextDep:e.deps;for(;void 0!==n;)n=rB(n,e)}class rJ{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?r_.None:r_.Mutable,get:()=>(void 0!==r&&r$(n,r,rz),n._snapshot),subscribe(e){var t;let i,a,o=rH(e),s={current:!1},l=(t=()=>{n.get(),s.current?o.next?.(n._snapshot):s.current=!0},i=()=>{let e=r;r=a,++rz,a.depsTail=void 0,a.flags=r_.Watching|r_.RecursedCheck;try{return t()}finally{r=e,a.flags&=~r_.RecursedCheck,rK(a)}},a={deps:void 0,depsTail:void 0,subs:void 0,subsTail:void 0,flags:r_.Watching|r_.RecursedCheck,notify(){let e=this.flags;e&r_.Dirty||e&r_.Pending&&rF(this.deps,this)?i():this.flags=r_.Watching},stop(){this.flags=r_.None,this.depsTail=void 0,rK(this)}},i(),a);return{unsubscribe:()=>{l.stop()}}},_update(i){let a=r,o=(void 0)??Object.is;if(t)r=n,++rz,n.depsTail=void 0;else if(void 0===i)return!1;t&&(n.flags=r_.Mutable|r_.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&=~r_.RecursedCheck),rK(n)}}};return t?(n.flags=r_.Mutable|r_.Dirty,n.get=function(){let e=n.flags;if(e&r_.Dirty||e&r_.Pending&&rF(n.deps,n)){if(n._update()){let e=n.subs;void 0!==e&&rW(e)}}else e&r_.Pending&&(n.flags=e&~r_.Pending);return void 0!==r&&r$(n,r,rz),n._snapshot}):n.set=function(e){if(n._update(e)){let e=n.subs;if(void 0!==e&&(rG(e),rW(e),1)){for(;rU<rq;){let e=rN[rU];rN[rU++]=void 0,e.notify()}rU=0,rq=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(rH(e))}}function rY(e){return{hotkey:e.hotkey,id:e.id,options:e.options,parsedHotkey:e.parsedHotkey,target:e.target,triggerCount:e.triggerCount,hasFired:e.hasFired}}let rZ=0;function rX(){return`hotkey_${++rZ}`}var rQ=class e{static #e=null;#t;#n=new Map;#r=new Map;constructor(){this.registrations=new rJ(new Map),this.#t=rd()}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:rX(),unregister:()=>{},get callback(){return e},set callback(newCallback){e=newCallback},setOptions:()=>{},get isActive(){return!1}}}let r=rX(),i=n.platform??this.#t,a="string"==typeof e?rC(e,i):rD(e,i),o="string"==typeof e?e:function(e){let t=[];for(let n of rp)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&&rV(u.id,o,l,e=>this.#a(e));let c=n.ignoreInputs??rT(a),d={id:r,hotkey:o,parsedHotkey:a,callback:t,options:{...rM,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&&rI(e,t)&&r.options.enabled&&!(!1!==r.options.ignoreInputs&&rL(e,t,r.target)))if("keydown"===n){if("keydown"!==r.options.eventType)continue;rP(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&&rP(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=rS(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 r0(){return rQ.getInstance()}function r1(e,t={}){let n=ru().hotkey,r=r0(),i=t.platform??n?.platform??rd(),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=>rk(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=rc(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 r2=0;function r9(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 r3=class e{static #e=null;#f=new Map;#n=new Map;#r=new Map;#t;constructor(){this.registrations=new rJ(new Map),this.#t=rd()}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,r9(e)))}register(e,t,n={}){if(0===e.length)throw Error("Sequence must contain at least one hotkey");let r=`sequence_${++r2}`,i=n.platform??this.#t,a=e.map(e=>rC(e,i)),o=n.target??("u">typeof document?document:{}),s=n.conflictBehavior??"warn",l=this.#g(e,o);l&&rV(l.id,rO(e),s,e=>this.#a(e));let u=a[0],c=n.ignoreInputs??rT(u),d={id:r,sequence:e,parsedSequence:a,callback:t,options:{...rM,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,r9(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,r9(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=rS(e.key))in rf||r.toLowerCase()in rf)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||!rI(e,t)||!i.options.enabled||!1!==i.options.ignoreInputs&&rL(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(rP(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&&(rP(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 r5(){return r3.getInstance()}function r4(e,t={}){let n=ru().hotkeySequence,r=r5(),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=>rO(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=rc(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 r7="perses:save-dashboard",r8="perses:refresh-dashboard",r6="perses:toggle-edit-mode",ie="perses:time-zoom-out",it="perses:time-zoom-in",ir="perses:time-shift-back",ii="perses:time-shift-forward",ia="perses:time-make-absolute",io="perses:time-copy",is="perses:time-paste",il="perses:panel-edit",iu="perses:panel-fullscreen",ic="perses:panel-duplicate",id="perses:panel-delete",ip="perses:open-search",ih="perses:show-shortcuts",ig="perses:toggle-theme",im={id:"save-dashboard",hotkey:"Mod+S",name:"Save Dashboard",description:"Save the current dashboard",category:"dashboard",scope:"dashboard",event:r7},iy={id:"refresh-dashboard",sequence:["D","R"],name:"Refresh Dashboard",description:"Refresh all panels",category:"dashboard",scope:"dashboard",event:r8},ib={id:"toggle-edit-mode",sequence:["D","M"],name:"Toggle Edit Mode",description:"Toggle between edit and view mode",category:"dashboard",scope:"dashboard",event:r6},iv=[im,iy,ib],ix={id:"panel-edit",hotkey:"E",name:"Edit Panel",description:"Edit the focused panel when in edit mode",category:"focused-panel",scope:"panel",event:il,ignoreInputs:!0},iw={id:"panel-fullscreen",hotkey:"V",name:"Toggle Fullscreen",description:"Toggle fullscreen on the focused panel",category:"focused-panel",scope:"panel",event:iu,ignoreInputs:!0},ij={id:"panel-duplicate",sequence:["P","D"],name:"Duplicate Panel",description:"Duplicate the focused panel",category:"focused-panel",scope:"panel",event:ic},iA={id:"panel-delete",sequence:["P","R"],name:"Delete Panel",description:"Delete the focused panel",category:"focused-panel",scope:"panel",event:id},iS=[ix,iw,ij,iA];function iC(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 iD(e){if(void 0===e.hotkey)throw Error(`Shortcut ${e.id} is missing a hotkey definition`);return e.hotkey}function iE(e){if(void 0===e.sequence)throw Error(`Shortcut ${e.id} is missing a sequence definition`);return e.sequence}function ik(e){if(void 0===e.event)throw Error(`Shortcut ${e.id} is missing an event definition`);return e.event}function iO(e){window.dispatchEvent(new CustomEvent(e))}function iP(e){return t=>{"Enter"===t.key&&(t.ctrlKey||t.metaKey)&&!t.shiftKey&&!t.altKey&&(t.preventDefault(),e())}}let iM={id:"time-zoom-out",sequence:["T","O"],name:"Zoom Out",description:"Zoom out time range (2x)",category:"time-range",scope:"dashboard",event:ie},iT={id:"time-zoom-in",sequence:["T","I"],name:"Zoom In",description:"Zoom in time range (\xbd)",category:"time-range",scope:"dashboard",event:it},iR={id:"time-shift-back",sequence:["T","ArrowLeft"],name:"Shift Back",description:"Shift time range backward",category:"time-range",scope:"dashboard",event:ir},iL={id:"time-shift-forward",sequence:["T","ArrowRight"],name:"Shift Forward",description:"Shift time range forward",category:"time-range",scope:"dashboard",event:ii},iI={id:"time-make-absolute",sequence:["T","A"],name:"Make Absolute",description:"Convert time range to absolute",category:"time-range",scope:"dashboard",event:ia},iV={id:"time-copy",sequence:["T","C"],name:"Copy Time Range",description:"Copy time range to clipboard",category:"time-range",scope:"dashboard",event:io},i_={id:"time-paste",sequence:["T","V"],name:"Paste Time Range",description:"Paste time range from clipboard",category:"time-range",scope:"dashboard",event:is},iH=[iM,iT,iR,iL,iI,iV,i_];function iN({children:e}){let t=iB(),{setAnnotationState:n}=iF(),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 iz=(0,h.createContext)(void 0);function i$(){let e=(0,h.useContext)(iz);return e||iq({initialAnnotationSpecs:[]})}function iB(){return t5(i$(),e=>e.annotationSpecs)}function iG(e){let t=i$();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 iF(){return j(i$(),e=>({setAnnotationState:e.setAnnotationState,setAnnotationSpecs:e.setAnnotationSpecs}),O)}function iW(e){return t5(i$(),t=>({definition:t.annotationSpecs.find(t=>t.display.name===e),state:t.annotationState[e]}))}function iU(){return t5(i$(),e=>e.annotationSpecs.map(t=>{let n=e.annotationState[t.display.name];return{definition:t,data:n?.data}}).filter(e=>!!e.data))}function iq({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 iK({children:e,initialAnnotationSpecs:t=[]}){let[n]=(0,h.useState)(()=>iq({initialAnnotationSpecs:t}));return(0,o.jsx)(iz.Provider,{value:n,children:(0,o.jsx)(iN,{children:e})})}function iJ(){var e;let t,{panels:n,panelGroups:r,panelGroupOrder:i,setDashboard:a,kind:o,metadata:s,display:l,timezone:u,duration:c,refreshInterval:d,datasources:p,links:f,ttl:h}=B(({panels:e,panelGroups:t,panelGroupOrder:n,setDashboard:r,kind:i,metadata:a,timezone:o,display:s,duration:l,refreshInterval:u,datasources:c,links:d,ttl:p})=>({panels:e,panelGroups:t,panelGroupOrder:n,setDashboard:r,kind:i,metadata:a,timezone:o,display:s,duration:l,refreshInterval:u,datasources:c,links:d,ttl:p})),{setVariableDefinitions:g}=no(),{setAnnotationSpecs:m}=iF(),y=ns(),b=iB(),v=(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:v,variables:y,annotations:b,duration:c,timezone:u,refreshInterval:d,datasources:p,links:f}}:{kind:o,metadata:s,spec:{display:l,panels:n,layouts:v,variables:y,annotations:b,duration:c,refreshInterval:d,datasources:p,links:f,ttl:h}},setDashboard:e=>{g(e.spec.variables),e.spec.annotations&&m(e.spec.annotations),a(e)}}}function iY(e){let[t,n]=(0,h.useState)(!1),{dashboard:r,setDashboard:i}=iJ(),{setEditMode:a}=U(),{timeRange:o,refreshInterval:s}=(0,P.useTimeRange)(),{timeZone:l}=(0,P.useTimeZoneParams)(),{getSavedVariablesStatus:u,setVariableDefaultValues:c}=no(),{openSaveChangesConfirmationDialog:d,closeSaveChangesConfirmationDialog:p}=eE(),f=(0,h.useCallback)(async()=>{if(!e)return void a(!1);try{n(!0),await e(r),p(),a(!1)}finally{n(!1)}},[p,r,e,a]);return{saveDashboard:(0,h.useCallback)(()=>{if(t)return;let{isSavedVariableModified:e}=u(),n=(0,M.isRelativeTimeRange)(o)&&r.spec.duration!==o.pastDuration,a=r.spec.refreshInterval!==s,h=("local"!==l||!!r.spec.timezone)&&r.spec.timezone!==l;n||e||a||h?d({onSaveChanges:e=>{let{saveDefaultRefreshInterval:t,saveDefaultTimeRange:n,saveDefaultTimeZone:u,saveDefaultVariables:d}=e;if((0,M.isRelativeTimeRange)(o)&&n&&(r.spec.duration=o.pastDuration),u&&(r.spec.timezone=l),d){let e=c();r.spec.variables=e}t&&a&&(r.spec.refreshInterval=s),i(r),f()},onCancel:()=>{p()},isSavedDurationModified:n,isSavedVariableModified:e,isSavedRefreshIntervalModified:a,isTimeZoneModified:h}):f()},[t,o,r,s,l,u,d,c,i,f,p]),isSaving:t}}function iZ(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 iX(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 iQ=e=>({openEditPanel:e.openEditPanel,duplicatePanel:e.duplicatePanel,openDeletePanelDialog:e.openDeletePanelDialog,setViewPanel:e.setViewPanel,panelEditor:e.panelEditor});function i0({onSave:e,onRefresh:t,isReadonly:n,onEditButtonClick:r,onCancelButtonClick:i,disabled:a=!1}){let o=e0(),{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(iQ),{saveDashboard:j}=iY(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]),D=(0,h.useCallback)(()=>{s?i?i():l(!1):r?r():l(!0)},[s,l,i,r]),E=(0,h.useCallback)(()=>{let{durationMs:e,midpointMs:t}=iX(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}=iX(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}=iX(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}=iX(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]),I=(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=iZ(o);e&&y(e)}},[o,s,y,w]),_=(0,h.useCallback)(()=>{if(void 0!==m)return void x(void 0);if(o){let e=iZ(o);e&&x(e)}},[o,x,m]),H=(0,h.useCallback)(()=>{if(o&&s){let e=iZ(o);e&&b(e)}},[o,s,b]),N=(0,h.useCallback)(()=>{if(o&&s){let e=iZ(o);e&&v(e)}},[o,s,v]);r1([{def:im,enabled:!a,callback:S},{def:ix,enabled:!a&&(A||void 0!==w),callback:V},{def:iw,enabled:!a&&(A||void 0!==m),callback:_}].map(({def:e,enabled:t,callback:n})=>({hotkey:iD(e),callback:n,options:iC(e,t)}))),r4([{def:iy,enabled:!a,callback:C},{def:ib,enabled:!a,callback:D},{def:iM,enabled:!a,callback:E},{def:iT,enabled:!a,callback:k},{def:iR,enabled:!a,callback:O},{def:iL,enabled:!a,callback:T},{def:iI,enabled:!a,callback:R},{def:iV,enabled:!a,callback:L},{def:i_,enabled:!a,callback:I},{def:ij,enabled:!a&&A,callback:H},{def:iA,enabled:!a&&A,callback:N}].map(({def:e,enabled:t,callback:n})=>({sequence:iE(e),callback:n,options:iC(e,t)})))}var i1=n(8072),i2=n(19557),i9=n(97090);let i3=Symbol.for("yaml.alias"),i5=Symbol.for("yaml.document"),i4=Symbol.for("yaml.map"),i7=Symbol.for("yaml.pair"),i8=Symbol.for("yaml.scalar"),i6=Symbol.for("yaml.seq"),ae=Symbol.for("yaml.node.type"),at=e=>!!e&&"object"==typeof e&&e[ae]===i3,an=e=>!!e&&"object"==typeof e&&e[ae]===i5,ar=e=>!!e&&"object"==typeof e&&e[ae]===i4,ai=e=>!!e&&"object"==typeof e&&e[ae]===i7,aa=e=>!!e&&"object"==typeof e&&e[ae]===i8,ao=e=>!!e&&"object"==typeof e&&e[ae]===i6;function as(e){if(e&&"object"==typeof e)switch(e[ae]){case i4:case i6:return!0}return!1}function al(e){if(e&&"object"==typeof e)switch(e[ae]){case i3:case i4:case i8:case i6:return!0}return!1}let au=e=>(aa(e)||as(e))&&!!e.anchor,ac=Symbol("break visit"),ad=Symbol("skip children"),ap=Symbol("remove node");function af(e,t){let n=ay(t);an(e)?ah(null,e.contents,n,Object.freeze([e]))===ap&&(e.contents=null):ah(null,e,n,Object.freeze([]))}function ah(e,t,n,r){let i=ab(e,t,n,r);if(al(i)||ai(i))return av(e,r,i),ah(e,i,n,r);if("symbol"!=typeof i){if(as(t)){r=Object.freeze(r.concat(t));for(let e=0;e<t.items.length;++e){let i=ah(e,t.items[e],n,r);if("number"==typeof i)e=i-1;else{if(i===ac)return ac;i===ap&&(t.items.splice(e,1),e-=1)}}}else if(ai(t)){r=Object.freeze(r.concat(t));let e=ah("key",t.key,n,r);if(e===ac)return ac;e===ap&&(t.key=null);let i=ah("value",t.value,n,r);if(i===ac)return ac;i===ap&&(t.value=null)}}return i}async function ag(e,t){let n=ay(t);an(e)?await am(null,e.contents,n,Object.freeze([e]))===ap&&(e.contents=null):await am(null,e,n,Object.freeze([]))}async function am(e,t,n,r){let i=await ab(e,t,n,r);if(al(i)||ai(i))return av(e,r,i),am(e,i,n,r);if("symbol"!=typeof i){if(as(t)){r=Object.freeze(r.concat(t));for(let e=0;e<t.items.length;++e){let i=await am(e,t.items[e],n,r);if("number"==typeof i)e=i-1;else{if(i===ac)return ac;i===ap&&(t.items.splice(e,1),e-=1)}}}else if(ai(t)){r=Object.freeze(r.concat(t));let e=await am("key",t.key,n,r);if(e===ac)return ac;e===ap&&(t.key=null);let i=await am("value",t.value,n,r);if(i===ac)return ac;i===ap&&(t.value=null)}}return i}function ay(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 ab(e,t,n,r){return"function"==typeof n?n(e,t,r):ar(t)?n.Map?.(e,t,r):ao(t)?n.Seq?.(e,t,r):ai(t)?n.Pair?.(e,t,r):aa(t)?n.Scalar?.(e,t,r):at(t)?n.Alias?.(e,t,r):void 0}function av(e,t,n){let r=t[t.length-1];if(as(r))r.items[e]=n;else if(ai(r))"key"===e?r.key=n:r.value=n;else if(an(r))r.contents=n;else{let e=at(r)?"alias":"scalar";throw Error(`Cannot replace node with ${e} parent`)}}af.BREAK=ac,af.SKIP=ad,af.REMOVE=ap,ag.BREAK=ac,ag.SKIP=ad,ag.REMOVE=ap;let ax={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},aw=e=>e.replace(/[!,[\]{}]/g,e=>ax[e]);class aj{constructor(e,t){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},aj.defaultYaml,e),this.tags=Object.assign({},aj.defaultTags,t)}clone(){let e=new aj(this.yaml,this.tags);return e.docStart=this.docStart,e}atDocument(){let e=new aj(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:aj.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},aj.defaultTags)}return e}add(e,t){this.atNextDocument&&(this.yaml={explicit:aj.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},aj.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+aw(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&&al(e.contents)){let n={};af(e.contents,(e,t)=>{al(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 aA(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 aS(e){let t=new Set;return af(e,{Value(e,n){n.anchor&&t.add(n.anchor)}}),t}function aC(e,t){for(let n=1;;++n){let r=`${e}${n}`;if(!t.has(r))return r}}function aD(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=aD(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=aD(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=aD(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=aD(e,r,t,n);void 0===i?delete r[t]:i!==n&&(r[t]=i)}return e.call(t,n,r)}function aE(e,t,n){if(Array.isArray(e))return e.map((e,t)=>aE(e,String(t),n));if(e&&"function"==typeof e.toJSON){if(!n||!au(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)}aj.defaultYaml={explicit:!1,version:"1.2"},aj.defaultTags={"!!":"tag:yaml.org,2002:"};class ak{constructor(e){Object.defineProperty(this,ae,{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(!an(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=aE(this,"",a);if("function"==typeof r)for(let{count:e,res:t}of a.anchors.values())r(t,e);return"function"==typeof i?aD(i,{"":o},"",o):o}}class aO extends ak{constructor(e){super(i3),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=[],af(e,{Node:(e,t)=>{(at(t)||au(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||(aE(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(at(n)){let e=n.resolve(t),i=r&&e&&r.get(e);return i?i.count*i.aliasCount:0}if(as(n)){let i=0;for(let a of n.items){let n=e(t,a,r);n>i&&(i=n)}return i}return ai(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(aA(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 aP=e=>!e||"function"!=typeof e&&"object"!=typeof e;class aM extends ak{constructor(e){super(i8),this.value=e}toJSON(e,t){return t?.keep?this.value:aE(this.value,e,t)}toString(){return String(this.value)}}function aT(e,t,n){let r;if(an(e)&&(e=e.contents),al(e))return e;if(ai(e)){let t=n.schema[i4].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 aO(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 aM(e);return r&&(r.node=t),t}u=e instanceof Map?s[i4]:Symbol.iterator in Object(e)?s[i6]:s[i4]}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 aM(e);return t?c.tag=t:u.default||(c.tag=u.tag),r&&(r.node=c),c}function aR(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 aT(r,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw Error("This should not happen, please report a bug.")},schema:e,sourceObjects:new Map})}aM.BLOCK_FOLDED="BLOCK_FOLDED",aM.BLOCK_LITERAL="BLOCK_LITERAL",aM.PLAIN="PLAIN",aM.QUOTE_DOUBLE="QUOTE_DOUBLE",aM.QUOTE_SINGLE="QUOTE_SINGLE";let aL=e=>null==e||"object"==typeof e&&!!e[Symbol.iterator]().next().done;class aI extends ak{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=>al(t)||ai(t)?t.clone(e):t),this.range&&(t.range=this.range.slice()),t}addIn(e,t){if(aL(e))this.add(t);else{let[n,...r]=e,i=this.get(n,!0);if(as(i))i.addIn(r,t);else if(void 0===i&&this.schema)this.set(n,aR(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(as(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&&aa(i)?i.value:i:as(i)?i.getIn(r,t):void 0}hasAllNullValues(e){return this.items.every(t=>{if(!ai(t))return!1;let n=t.value;return null==n||e&&aa(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!!as(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(as(e))e.setIn(r,t);else if(void 0===e&&this.schema)this.set(n,aR(this.schema,r,t));else throw Error(`Expected YAML collection at ${n}. Remaining path: ${r}`)}}}let aV=e=>e.replace(/^(?!$)(?: $)?/gm,"#");function a_(e,t){return/^\n+$/.test(e)?e.substring(1):t?e.replace(/^(?! *$)/gm,t):e}let aH=(e,t,n)=>e.endsWith("\n")?a_(n,t):n.includes("\n")?"\n"+a_(n,t):(e.endsWith(" ")?"":" ")+n,aN="block",az="quoted";function a$(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===aN&&-1!==(m=aB(e,m,t.length))&&(h=m+d);c=e[m+=1];){if(n===az&&"\\"===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===aN&&(m=aB(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===az){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 D(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 D(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},D=(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 E=n(38662);let k=e=>(t,n,r)=>(r.setState=(e,n,...r)=>t("function"==typeof e?(0,E.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(98870),M=n(47805);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 I(){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 _={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,timezone:l,duration:u,refreshInterval:c="0s",datasources:d,layouts:p=[],panels:f={}}}=t,h=t.spec.links??[],g="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})}})})(p)(...e),...((e,t)=>({panelGroupEditor:void 0,openAddPanelGroup:()=>{let t={mode:"Add",initialValues:{title:"",isCollapsed:!1,repeatVariable:""},applyChanges(t){let n=I();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:f}))(...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=I()).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=_.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:h,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,timezone:l,duration:u,refreshInterval:c,datasources:d,ttl:g,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=[],timezone:c}})=>{t(t=>{t.kind=e,t.metadata=n,t.display=r,t.timezone=c,t.panels=i;let{panelGroups:d,panelGroupOrder:p}=L(a);t.panelGroups=d,t.panelGroupOrder=p,t.duration=o,t.refreshInterval=s??"0s",t.datasources=l,t.links=u})},setMetadata:e=>{t(t=>{t.metadata="function"==typeof e?e(t.metadata):e})}}})))}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 Z=e=>({setLinks:e.setLinks});function X(){return B(Z)}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 eD=({saveChangesConfirmationDialog:e,openSaveChangesConfirmationDialog:t,closeSaveChangesConfirmationDialog:n})=>({saveChangesConfirmationDialog:e,openSaveChangesConfirmationDialog:t,closeSaveChangesConfirmationDialog:n});function eE(){return B(eD)}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 eI=n(74628),eV=n(56599),e_=n(39098),eH=n(29057),eN=n(12548),ez=n(77308);function e$(e){let[t,n]=(0,h.useState)(!0);return(0,h.useEffect)(()=>{t&&n(!1)},[t]),(0,o.jsx)(eB,{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 eB=(0,ez.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 eG=n(29424),eF=Object.defineProperty,eW=new Map,eU=new WeakMap,eq=0,eK=void 0;function eJ({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=eK){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":(eU.has(n)||(eq+=1,eU.set(n,eq.toString())),eU.get(n)):e[t]}`}).toString(),n=eW.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},eW.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(),eW.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 eY(e,t){return e?.panelGroupId===t?.panelGroupId&&e?.panelGroupItemLayoutId===t?.panelGroupItemLayoutId}h.Component;let eZ=(0,h.createContext)(void 0);function eX(){let e=(0,h.useContext)(eZ);if(void 0===e)throw Error("Panel focus hooks must be used within a PanelFocusProvider");return e}function eQ({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)(eZ.Provider,{value:a,children:e})}function e0(){return eX().focusedPanelKey}function e1(e){let{setFocusedPanel:t,clearFocusedPanel:n}=eX(),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 e2=n(68150),e9=n(32189),e3=n(13850),e5=n.n(e3),e4=n(33313);function e7(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)(e4.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 e8(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)(e4.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)(e7,{kind:t,spec:i,contentDimensions:a,definition:n,queryResults:u});if(r.some(e=>e.isFetching))return(0,o.jsx)(e6,{plugin:s,spec:i,definition:n,contentDimensions:a});let c=r.find(e=>e.error);if(c)throw c.error;return(0,o.jsx)(e6,{plugin:s,spec:i,definition:n,contentDimensions:a})}function e6({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 te=n(35875),tt=n(315),tn=n(65211),tr=n(88091),ti=n(25742),ta=n(48865),to=n(95591),ts=n(83183),tl=n(10713),tu=n(30443);function tc(e){return e.substring(2).toLowerCase()}function td(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,to.A)((0,tu.A)(t),s),d=(0,ts.A)(e=>{let t=u.current;u.current=!1;let r=(0,tl.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=tc(a),t=(0,tl.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=tc(r),t=(0,tl.A)(s.current);return t.addEventListener(e,d),()=>{t.removeEventListener(e,d)}}},[d,r]),h.cloneElement(t,f)}var tp=n(72795),tf=n(35050),th=n(53493),tg=n(59909),tm=n(86067),ty=n(61318),tb=n(50172),tv=n(14637),tx=n(4178),tw=n(74830),tj=n(17366),tA=n(66081),tS=n(47095),tC=n(24726),tD=n(30145),tE=n(47601),tk=n(63079),tO=n(57438),tP=n(65241);function tM({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)(tR,{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)(tt.A,{direction:"row",spacing:1,children:e.map(e=>(0,o.jsx)(tT,{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)(tS.A,{"aria-label":`${(0,tC.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)(tP.default,{"aria-describedby":"links-icon",fontSize:"inherit",sx:{color:e=>e.palette.text.secondary}})})}),(0,o.jsx)(tD.A,{anchorEl:n,open:!!n,onClose:()=>{r(null)},MenuListProps:{"aria-labelledby":`${t}-links-button`},children:e.map(e=>(0,o.jsx)(tL,{link:e},e.url))})]})}function tT({link:e}){let{url:t,name:n,tooltip:r,targetBlank:i}=tI(e);return(0,o.jsx)(u.InfoTooltip,{description:r??t,enterDelay:100,children:(0,o.jsx)(tE.A,{label:n??t,component:"a",href:t,target:i?"_blank":"_self",clickable:!0,size:"medium",icon:(0,o.jsx)(tP.default,{color:"inherit",fontSize:"small"}),sx:e=>({height:e.spacing(3)})})})}function tR({link:e}){let{url:t,name:n,tooltip:r,targetBlank:i}=tI(e);return(0,o.jsx)(u.InfoTooltip,{description:r??t,enterDelay:100,children:(0,o.jsx)(tS.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)(tP.default,{fontSize:"inherit",sx:{color:e=>e.palette.text.secondary}})})})}function tL({link:e}){let{url:t,name:n,tooltip:r,targetBlank:i}=tI(e);return(0,o.jsx)(u.InfoTooltip,{description:r??t,enterDelay:100,children:(0,o.jsx)(tk.A,{component:tO.A,href:t,target:i?"_blank":"_self",children:n??t})})}function tI(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 tV=(0,ez.A)(tS.A)(({theme:e})=>({borderRadius:e.shape.borderRadius,padding:"4px"})),t_={error:(0,o.jsx)(tw.default,{color:"error"}),warning:(0,o.jsx)(tx.default,{fontSize:"inherit",color:"warning"}),info:(0,o.jsx)(tj.default,{fontSize:"inherit",color:"info"})},tH=(0,ez.A)(eI.A)({display:"none",alignItems:"center",flexGrow:1,justifyContent:"flex-end"}),tN=({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)(tV,{"aria-label":"panel description",size:"small",children:(0,o.jsx)(tj.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)(tM,{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)(ti.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)(tV,{"aria-label":"panel errors",size:"small",children:(0,o.jsx)(tx.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)(tV,{"aria-label":"panel notices",size:"small",children:t_[t.type]})})}},[p]),A=(0,h.useMemo)(()=>{if(void 0!==t)return(0,o.jsx)(u.InfoTooltip,{description:c.viewPanel,children:(0,o.jsx)(tV,{"aria-label":d.viewPanel(i),size:"small",onClick:t.onViewPanelClick,children:t.isPanelViewed?(0,o.jsx)(tf.default,{fontSize:"inherit"}):(0,o.jsx)(th.default,{fontSize:"inherit"})})})},[t,i]),S=(0,h.useMemo)(()=>n?.onClick?(0,o.jsx)(u.InfoTooltip,{description:c.queryView,children:(0,o.jsx)(tV,{"aria-label":d.openQueryView(i),size:"small",onClick:n.onClick,children:(0,o.jsx)(tp.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)(tV,{"aria-label":d.editPanel(i),size:"small",onClick:e.onEditPanelClick,children:(0,o.jsx)(tg.default,{fontSize:"inherit"})})}),(0,o.jsx)(u.InfoTooltip,{description:c.duplicatePanel,children:(0,o.jsx)(tV,{"aria-label":d.duplicatePanel(i),size:"small",onClick:e.onDuplicatePanelClick,children:(0,o.jsx)(tb.default,{fontSize:"inherit",sx:{transform:"scale(0.925)"}})})}),(0,o.jsx)(u.InfoTooltip,{description:c.deletePanel,children:(0,o.jsx)(tV,{"aria-label":d.deletePanel(i),size:"small",onClick:e.onDeletePanelClick,children:(0,o.jsx)(tm.default,{fontSize:"inherit"})})})]})},[e,i]),D=(0,h.useMemo)(()=>{if(C&&!t?.isPanelViewed)return(0,o.jsx)(eI.A,{sx:{background:e=>e.palette.background.default},children:(0,o.jsx)(u.InfoTooltip,{description:c.movePanel,children:(0,o.jsx)(tV,{"aria-label":d.movePanel(i),size:"small",children:(0,o.jsx)(ty.default,{className:"drag-handle",sx:{cursor:"grab"},fontSize:"inherit"})})})})},[C,t,i]),E=(0,o.jsx)(eI.A,{sx:{flexGrow:1}}),k=({children:e})=>"hover"===y?(0,o.jsx)(eI.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)(tH,{sx:e=>({[e.containerQueries(f).between(0,170)]:{display:"flex"}}),children:[E,(0,o.jsxs)(k,{children:[(0,o.jsxs)(tz,{title:i,children:[b," ",v," ",w," ",j," ",x," ",S,A," ",g," ",m,C]}),D]})]}),(0,o.jsxs)(tH,{sx:e=>({[e.containerQueries(f).between(170,220)]:{display:"flex"}}),children:[(0,o.jsxs)(k,{children:[b," ",v]}),E," ",w,j,(0,o.jsxs)(k,{children:[x,A,(0,o.jsxs)(tz,{title:i,children:[C," ",S," ",g," ",m]}),D]})]}),(0,o.jsxs)(tH,{sx:e=>({display:"flex",[e.containerQueries(f).down(220)]:{display:"none"}}),children:[(0,o.jsxs)(k,{children:[b," ",v]}),E," ",w,j,(0,o.jsxs)(k,{children:[x,S,A," ",C,g.length<=1?g:(0,o.jsx)(tz,{title:i,children:g}),m.length<=1?m:(0,o.jsx)(u.InfoTooltip,{description:`${m.length} actions`,children:(0,o.jsx)(tz,{icon:(0,o.jsx)(tA.default,{fontSize:"inherit"}),direction:"column",title:i,children:m})}),D]})]})]})},tz=({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)(eI.A,{sx:{background:e=>e.palette.background.default},children:[(0,o.jsx)(tV,{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)(tv.default,{fontSize:"inherit"})}),(0,o.jsx)(ta.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)(td,{onClickAway:c,children:(0,o.jsx)(tt.A,{direction:r,alignItems:"center",sx:{padding:1},onClick:c,children:e})})})]})};function t$({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)(tV,{size:"small",disabled:e||g,onClick:e=>{e.stopPropagation(),d(n)},"aria-label":n.name,children:e?(0,o.jsx)(ti.A,{size:14}):r?r.icon:(0,o.jsx)(eI.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)(tV,{size:"small",disabled:e||g,onClick:e=>{e.stopPropagation(),d(r,t)},"aria-label":r.name,children:e?(0,o.jsx)(ti.A,{size:14}):a?a.icon:(0,o.jsx)(eI.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 tB({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:D,confirmDialog:E}=t$({actions:p,variableState:A,disabledWithEmptySelection:!0});return(0,o.jsxs)(o.Fragment,{children:[w?(0,o.jsx)(te.A,{id:e,component:"header","aria-labelledby":v,"aria-describedby":x,disableTypography:!0,title:(0,o.jsxs)(tt.A,{direction:"row",alignItems:"center",height:"var(--panel-header-height, 30px)",children:[(0,o.jsx)(tn.A,{title:w,disableHoverListener:!C,children:(0,o.jsx)(tr.A,{id:v,variant:"subtitle1",ref:S,sx:{lineHeight:"24px",minHeight:"26px",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:w})}),(0,o.jsx)(tN,{title:w,description:j,descriptionTooltipId:x,links:r,readHandlers:a,editHandlers:s,viewQueriesHandler:m,extra:c,queryResults:i,pluginActions:d,itemActions:D,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)(tt.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)(tN,{title:w,description:j,descriptionTooltipId:x,links:r,readHandlers:a,editHandlers:s,viewQueriesHandler:m,extra:c,queryResults:i,pluginActions:d,itemActions:D,showIcons:g})}),E]})}let tG=(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}=e5()({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 D=l?.showIcons??(r||n?.isPanelViewed?"always":"hover"),E=t.spec.plugin.spec?.actions?t.spec.plugin.spec.actions:void 0,k=E?.enabled&&E.displayInHeader?E.actionsList:[];return(0,o.jsx)(u.SelectionProvider,{children:(0,o.jsx)(u.ItemActionsProvider,{children:(0,o.jsxs)(e2.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)(tB,{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:D,sx:{py:"2px",pl:"8px",pr:"2px"},dimension:x}),(0,o.jsx)(e9.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)(e8,{definition:t,panelPluginKind:t.spec.plugin.kind,spec:t.spec.plugin.spec,contentDimensions:x,queryResults:w})})})]})})})});var tF=n(6227);function tW({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)(tF.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 tU(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}=e1(`${n.panelGroupId}-${n.panelGroupItemLayoutId}`),{ref:m,inView:y}=eJ({threshold:0,initialInView:!1,triggerOnce:!0}),{ref:b,inView:v}=eJ({threshold:.2,initialInView:!1,triggerOnce:!1}),x=(0,eG.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:eY(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:D}=(0,P.usePlugin)("Panel",i.spec.plugin.kind),E="function"==typeof D?.queryOptions?D?.queryOptions(i.spec.plugin.spec):D?.queryOptions;return(0,o.jsxs)(eI.A,{ref:x,tabIndex:-1,onMouseEnter:f,onMouseLeave:g,sx:{width:"100%",height:"100%",outline:"none"},children:[(0,o.jsx)(P.DataQueriesProvider,{definitions:a??[],options:{suggestedStepMs:C,...E},queryOptions:{enabled:y},children:v&&(0,o.jsx)(tG,{definition:i,readHandlers:S,editHandlers:t,viewQueriesHandler:A,panelOptions:e.panelOptions,panelGroupItemId:n})}),(0,o.jsx)(tW,{open:w,queryDefinitions:a??[],onClose:()=>j(!1)})]})}var tq=n(87275),tK=n(11061),tJ=n(65168),tY=n(46001);function tZ(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)(tr.A,{variant:"h2",children:i});return(0,o.jsx)(eI.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)(tS.A,{sx:{marginRight:1},"aria-label":`${r.isOpen?"collapse":"expand"} group ${i}`,children:r.isOpen?(0,o.jsx)(tq.default,{}):(0,o.jsx)(tK.default,{})}),g,h&&(0,o.jsxs)(tt.A,{direction:"row",marginLeft:"auto",children:[(0,o.jsx)(u.InfoTooltip,{description:c.addPanelToGroup,children:(0,o.jsx)(tS.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)(tS.A,{"aria-label":d.editGroup(i),onClick:e=>{e.stopPropagation(),s()},children:(0,o.jsx)(tg.default,{})})}),(0,o.jsx)(u.InfoTooltip,{description:c.deleteGroup,children:(0,o.jsx)(tS.A,{"aria-label":d.deleteGroup(i),onClick:e=>{e.stopPropagation(),f(t)},children:(0,o.jsx)(tm.default,{})})}),(0,o.jsx)(u.InfoTooltip,{description:c.moveGroupDown,children:(0,o.jsx)(tS.A,{"aria-label":d.moveGroupDown(i),disabled:void 0===p,onClick:e=>{e.stopPropagation(),p?.()},children:(0,o.jsx)(tY.default,{})})}),(0,o.jsx)(u.InfoTooltip,{description:c.moveGroupUp,children:(0,o.jsx)(tS.A,{"aria-label":d.moveGroupUp(i),disabled:void 0===l,onClick:e=>{e.stopPropagation(),l?.()},children:(0,o.jsx)(tJ.default,{})})})]})]}):g})}function tX({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,eN.WidthProvider)(eN.Responsive),[]),p=(0,eV.A)(),f=(0,eH.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)(e$,{sx:{display:v?"block":"none",height:b?`${r}px`:"unset",overflow:b?"hidden":"unset"},children:[t.title&&(0,o.jsx)(tZ,{panelGroupId:e,title:t.title,collapse:void 0===t.isCollapsed?void 0:{isOpen:g,onToggleOpen:()=>m(e=>!e)}}),(0,o.jsx)(e_.A,{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:_,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)(tU,{panelOptions:i,panelGroupItemId:{panelGroupId:e,panelGroupItemLayoutId:t,repeatVariable:c},width:tQ(r,n)})})},t))})})]})}let tQ=(e,t)=>Number.isFinite(e)?Math.round(t*e+10*Math.max(0,e-1)):e;function t0(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)(t1,{repeatVariableName:i.repeatVariable,panelGroupId:t,groupDefinition:i,gridColWidth:u,panelFullHeight:r,panelOptions:n,isEditMode:l,onLayoutChange:p,onWidthChange:f}):(0,o.jsx)(tX,{panelGroupId:t,groupDefinition:i,gridColWidth:u,panelFullHeight:r,panelOptions:n,isEditMode:l,onLayoutChange:p,onWidthChange:f})})}function t1({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)(tX,{panelGroupId:t,groupDefinition:n,gridColWidth:r,panelFullHeight:i,panelOptions:a,isEditMode:s,onLayoutChange:l,onWidthChange:u,repeatVariable:[e,d]})},`${e}-${d}`))}):(0,o.jsx)(tX,{panelGroupId:t,groupDefinition:n,gridColWidth:r,panelFullHeight:i,panelOptions:a,isEditMode:s,onLayoutChange:l,onWidthChange:u})}let{useDebugValue:t2}=g(),{useSyncExternalStoreWithSelector:t9}=b,t3=e=>e;function t5(e,t=t3,n){let r=t9(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return t2(r),r}function t4(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 t7(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 t8(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},{...t7(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},{...t7(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 t6=n(57348);let ne="var-",nt={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""}},nn=(0,h.createContext)(void 0);function nr(){let e=(0,h.useContext)(nn);if(!e)throw Error("VariableStoreContext not initialized");return e}function ni(e){return j(nr(),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 na(e,t){return t5(nr(),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 no(){return j(nr(),e=>({setVariableValue:e.setVariableValue,setVariableLoading:e.setVariableLoading,setVariableOptions:e.setVariableOptions,setVariableDefinitions:e.setVariableDefinitions,setVariableDefaultValues:e.setVariableDefaultValues,getSavedVariablesStatus:e.getSavedVariablesStatus}),O)}function ns(){return t5(nr(),e=>e.variableDefinitions)}function nl(){return t5(nr(),e=>e.externalVariableDefinitions)}function nu({children:e,builtinVariables:t}){let n=ni(),r=ns(),i=nl(),{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=t4(r,i).find(e=>e.spec.name===t);e?.kind==="ListVariable"&&e.spec.customAllValue?(a.value=e.spec.customAllValue,a.customAllValue=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 nc({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(ne,"")]=t)}),a),...r};return y()(C(k((r,i)=>({variableState:t8(e,o,t),variableDefinitions:e,externalVariableDefinitions:t,setVariableDefinitions(e){r(n=>{n.variableDefinitions=e,n.variableState=t8(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])({[`${ne}${e}`]:a});o.value=a}},!1,"[Variables] setVariableValue"),setVariableDefaultValues:()=>{let e=i().variableDefinitions,t=i().variableState,n=(0,E.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,E.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,E.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 nd({children:e,initialVariableDefinitions:t=[],externalVariableDefinitions:n=[],builtinVariableDefinitions:r=[],initialVariableValues:i}){let[a]=(0,h.useState)(()=>nc({initialVariableDefinitions:t,externalVariableDefinitions:n,initialVariableValues:i}));return(0,o.jsx)(nn.Provider,{value:a,children:(0,o.jsx)(nu,{builtinVariables:r,children:e})})}function np({children:e,initialVariableDefinitions:t=[],externalVariableDefinitions:n=[],builtinVariableDefinitions:r=[]}){let i,a=(i={},t4(t,n).forEach(e=>{var t;i[t=e.spec.name,`${ne}${t}`]=nt}),(0,t6.useQueryParams)(i,{updateType:"replaceIn"})),[s]=(0,h.useState)(()=>nc({initialVariableDefinitions:t,externalVariableDefinitions:n,queryParams:a}));return(0,o.jsx)(nn.Provider,{value:s,children:(0,o.jsx)(nu,{builtinVariables:r,children:e})})}var nf=n(34007),nh=n(347),ng=n(91394),nm=n(70561),ny=n(3399),nb=n(5139),nv=n(68003),nx=n(11750),nw=n(81023),nj=n(23434),nA=n(72052),nS=n(11502);let nC=h.createContext({});var nD=n(2203),nE=n(73397),nk=n(29009),nO=n(46733);function nP(e){return(0,nO.Ay)("MuiAccordion",e)}let nM=(0,nk.A)("MuiAccordion",["root","heading","rounded","expanded","disabled","gutters","region"]),nT=(0,ez.A)(nS.A,{name:"MuiAccordion",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:n}=e;return[{[`& .${nM.region}`]:t.region},t.root,!n.square&&t.rounded,!n.disableGutters&&t.gutters]}})((0,nj.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"}},[`&.${nM.expanded}`]:{"&::before":{opacity:0},"&:first-of-type":{marginTop:0},"&:last-of-type":{marginBottom:0},"& + &":{"&::before":{display:"none"}}},[`&.${nM.disabled}`]:{backgroundColor:(e.vars||e).palette.action.disabledBackground}}}),(0,nj.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:{[`&.${nM.expanded}`]:{margin:"16px 0"}}}]}))),nR=(0,ez.A)("h3",{name:"MuiAccordion",slot:"Heading",overridesResolver:(e,t)=>t.heading})({all:"unset"}),nL=h.forwardRef(function(e,t){let n=(0,nA.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,nD.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,nw.A)({root:["root",!n&&"rounded",r&&"expanded",i&&"disabled",!a&&"gutters"],heading:["heading"],region:["region"]},nP,t)})(S),D={slots:{transition:g,...p},slotProps:{transition:m,...f}},[E,k]=(0,nE.A)("root",{elementType:nT,externalForwardedProps:{...D,...y},className:(0,nx.A)(C.root,i),shouldForwardComponentProp:!0,ownerState:S,ref:t,additionalProps:{square:d}}),[O,P]=(0,nE.A)("heading",{elementType:nR,externalForwardedProps:D,className:C.heading,ownerState:S}),[M,T]=(0,nE.A)("transition",{elementType:e_.A,externalForwardedProps:D,ownerState:S});return(0,o.jsxs)(E,{...k,children:[(0,o.jsx)(O,{...P,children:(0,o.jsx)(nC.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 nI=n(1337);function nV(e){return(0,nO.Ay)("MuiAccordionSummary",e)}let n_=(0,nk.A)("MuiAccordionSummary",["root","expanded","focusVisible","disabled","gutters","contentGutters","content","expandIconWrapper"]),nH=(0,ez.A)(nI.A,{name:"MuiAccordionSummary",slot:"Root",overridesResolver:(e,t)=>t.root})((0,nj.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),[`&.${n_.focusVisible}`]:{backgroundColor:(e.vars||e).palette.action.focus},[`&.${n_.disabled}`]:{opacity:(e.vars||e).palette.action.disabledOpacity},[`&:hover:not(.${n_.disabled})`]:{cursor:"pointer"},variants:[{props:e=>!e.disableGutters,style:{[`&.${n_.expanded}`]:{minHeight:64}}}]}})),nN=(0,ez.A)("span",{name:"MuiAccordionSummary",slot:"Content",overridesResolver:(e,t)=>t.content})((0,nj.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}),[`&.${n_.expanded}`]:{margin:"20px 0"}}}]}))),nz=(0,ez.A)("span",{name:"MuiAccordionSummary",slot:"ExpandIconWrapper",overridesResolver:(e,t)=>t.expandIconWrapper})((0,nj.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}),[`&.${n_.expanded}`]:{transform:"rotate(180deg)"}}))),n$=h.forwardRef(function(e,t){let n=(0,nA.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(nC),y={...n,expanded:g,disabled:p,disableGutters:f},b=(e=>{let{classes:t,expanded:n,disabled:r,disableGutters:i}=e;return(0,nw.A)({root:["root",n&&"expanded",r&&"disabled",!i&&"gutters"],focusVisible:["focusVisible"],content:["content",n&&"expanded",!i&&"contentGutters"],expandIconWrapper:["expandIconWrapper",n&&"expanded"]},nV,t)})(y),v={slots:u,slotProps:c},[x,w]=(0,nE.A)("root",{ref:t,shouldForwardComponentProp:!0,className:(0,nx.A)(b.root,i),elementType:nH,externalForwardedProps:{...v,...d},ownerState:y,additionalProps:{focusRipple:!1,disableRipple:!0,disabled:p,"aria-expanded":g,focusVisibleClassName:(0,nx.A)(b.focusVisible,s)},getSlotProps:e=>({...e,onClick:t=>{e.onClick?.(t),m&&m(t),l&&l(t)}})}),[j,A]=(0,nE.A)("content",{className:b.content,elementType:nN,externalForwardedProps:v,ownerState:y}),[S,C]=(0,nE.A)("expandIconWrapper",{className:b.expandIconWrapper,elementType:nz,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 nB(e){return(0,nO.Ay)("MuiAccordionDetails",e)}(0,nk.A)("MuiAccordionDetails",["root"]);let nG=(0,ez.A)("div",{name:"MuiAccordionDetails",slot:"Root",overridesResolver:(e,t)=>t.root})((0,nj.A)(({theme:e})=>({padding:e.spacing(1,2,2)}))),nF=h.forwardRef(function(e,t){let n=(0,nA.b)({props:e,name:"MuiAccordionDetails"}),{className:r,...i}=n,a=(e=>{let{classes:t}=e;return(0,nw.A)({root:["root"]},nB,t)})(n);return(0,o.jsx)(nG,{className:(0,nx.A)(a.root,r),ref:t,ownerState:n,...i})});var nW=n(45271),nU=n(86742);function nq(e){var t=(0,h.useState)(function(){return(0,E.CN)("function"==typeof e?e():e,!0)}),n=t[1];return[t[0],(0,h.useCallback)(function(e){n("function"==typeof e?(0,E.jM)(e):(0,E.CN)(e))},[])]}var nK=n(49603),nJ=n(4150),nY=n(30576),nZ=n(10571),nX=n(38990);function nQ({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)(nL,{sx:e=>({".MuiAccordionSummary-root":{backgroundColor:e.palette.background.lighter},".MuiAccordionDetails-root":{backgroundColor:e.palette.background.lighter}}),children:[(0,o.jsx)(n$,{expandIcon:(0,o.jsx)(nX.default,{}),"aria-controls":"builtin",id:"builtin",children:(0,o.jsx)(tr.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)(nF,{children:(0,o.jsx)(nh.A,{children:(0,o.jsxs)(ng.A,{sx:{minWidth:650},"aria-label":"table of external variables",children:[(0,o.jsx)(nm.A,{children:(0,o.jsxs)(ny.A,{children:[(0,o.jsx)(nW.A,{children:"Name"}),(0,o.jsx)(nW.A,{children:"Description"})]})}),(0,o.jsx)(nb.A,{children:(t[e]??[]).map(t=>(0,o.jsxs)(ny.A,{children:[(0,o.jsx)(nW.A,{component:"th",scope:"row",sx:{fontWeight:"bold"},children:t.spec.name}),(0,o.jsx)(nW.A,{children:t.spec.display?.description??""})]},e+"-"+t.spec.name))})]})})})]},e))})}function n0(e){return P.VARIABLE_TYPES.find(t=>t.kind===e)?.label}function n1(e){let[t,n]=nq(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)(()=>[t8(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)(n9,{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)(eI.A,{sx:{display:"flex",alignItems:"center",padding:e=>e.spacing(1,2),borderBottom:e=>`1px solid ${e.palette.divider}`},children:[(0,o.jsx)(tr.A,{variant:"h2",children:"Edit Dashboard Variables"}),(0,o.jsxs)(tt.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)(eI.A,{padding:2,sx:{overflowY:"scroll"},children:(0,o.jsxs)(tt.A,{spacing:2,children:[(0,o.jsxs)(tt.A,{spacing:2,children:[!p.isValid&&p.errors.map(e=>(0,o.jsx)(nf.A,{severity:"error",children:e},e)),(0,o.jsx)(nh.A,{children:(0,o.jsxs)(ng.A,{sx:{minWidth:650},"aria-label":"table of variables",children:[(0,o.jsx)(nm.A,{children:(0,o.jsxs)(ny.A,{children:[(0,o.jsx)(n2,{children:"Visibility"}),(0,o.jsx)(n2,{children:"Name"}),(0,o.jsx)(n2,{children:"Type"}),(0,o.jsx)(n2,{children:"Description"}),(0,o.jsx)(n2,{align:"right",children:"Actions"})]})}),(0,o.jsx)(nb.A,{children:t.map((e,r)=>(0,o.jsxs)(ny.A,{children:[(0,o.jsx)(n2,{component:"th",scope:"row",children:(0,o.jsx)(nv.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)(n2,{component:"th",scope:"row",sx:{fontWeight:"bold"},children:(0,o.jsx)(n3,{name:e.spec.name,state:f.get({name:e.spec.name})})}),(0,o.jsx)(n2,{children:n0(e.kind)??e.kind}),(0,o.jsx)(n2,{children:e.spec.display?.description??""}),(0,o.jsxs)(n2,{align:"right",sx:{whiteSpace:"nowrap"},children:[(0,o.jsx)(tS.A,{onClick:()=>v(r,"up"),disabled:0===r,children:(0,o.jsx)(tJ.default,{})}),(0,o.jsx)(tS.A,{onClick:()=>v(r,"down"),disabled:r===t.length-1,children:(0,o.jsx)(tY.default,{})}),(0,o.jsx)(tS.A,{onClick:()=>{l("update"),i(r)},children:(0,o.jsx)(nK.default,{})}),(0,o.jsx)(tS.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)(tb.default,{})}),(0,o.jsx)(tS.A,{onClick:()=>b(r),children:(0,o.jsx)(nJ.default,{})})]})]},e.spec.name))})]})}),(0,o.jsx)(eI.A,{display:"flex",children:(0,o.jsx)(s.A,{variant:"contained",startIcon:(0,o.jsx)(nU.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)(nL,{sx:e=>({".MuiAccordionSummary-root":{backgroundColor:e.palette.background.lighter},".MuiAccordionDetails-root":{backgroundColor:e.palette.background.lighter}}),children:[(0,o.jsx)(n$,{expandIcon:(0,o.jsx)(nX.default,{}),"aria-controls":e.source,id:e.source,children:(0,o.jsx)(tt.A,{flexDirection:"row",alignItems:"center",justifyContent:"start",children:(0,o.jsxs)(o.Fragment,{children:[e.tooltip?(0,o.jsx)(tr.A,{variant:"h2",children:(0,o.jsx)(u.InfoTooltip,{title:e.tooltip.title||"",description:e.tooltip.description||"",children:(0,o.jsxs)("span",{children:[(0,tC.A)(e.source)," Variables"]})})}):(0,o.jsxs)(tr.A,{variant:"h2",children:[(0,tC.A)(e.source)," Variables"]}),e.editLink&&(0,o.jsx)(tS.A,{href:e.editLink,target:"_blank",children:(0,o.jsx)(nZ.default,{fontSize:"small"})})]})})}),(0,o.jsx)(nF,{children:(0,o.jsx)(nh.A,{children:(0,o.jsxs)(ng.A,{sx:{minWidth:650},"aria-label":"table of external variables",children:[(0,o.jsx)(nm.A,{children:(0,o.jsxs)(ny.A,{children:[(0,o.jsx)(n2,{children:"Visibility"}),(0,o.jsx)(n2,{children:"Name"}),(0,o.jsx)(n2,{children:"Type"}),(0,o.jsx)(n2,{children:"Description"}),(0,o.jsx)(n2,{align:"right",children:"Actions"})]})}),(0,o.jsx)(nb.A,{children:e.definitions.map(t=>(0,o.jsxs)(ny.A,{children:[(0,o.jsx)(n2,{component:"th",scope:"row",children:(0,o.jsx)(nv.A,{checked:t.spec.display?.hidden!==!0,disabled:!0})}),(0,o.jsx)(n2,{component:"th",scope:"row",sx:{fontWeight:"bold"},children:(0,o.jsx)(n3,{name:t.spec.name,state:f.get({name:t.spec.name,source:e.source})})}),(0,o.jsx)(n2,{children:n0(t.kind)??t.kind}),(0,o.jsx)(n2,{children:t.spec.display?.description??""}),(0,o.jsxs)(n2,{align:"right",children:[(0,o.jsx)(tn.A,{title:"Override",children:(0,o.jsx)(tS.A,{onClick:()=>{n(e=>{e.push(t)})},disabled:!!f.get({name:t.spec.name}),children:(0,o.jsx)(nY.default,{})})}),(0,o.jsx)(tS.A,{disabled:!0,children:(0,o.jsx)(tJ.default,{})}),(0,o.jsx)(tS.A,{disabled:!0,children:(0,o.jsx)(tY.default,{})}),(0,o.jsx)(tS.A,{disabled:!0,children:(0,o.jsx)(nK.default,{})}),(0,o.jsx)(tS.A,{disabled:!0,children:(0,o.jsx)(nJ.default,{})})]})]},t.spec.name))})]})})})]},t)),d&&(0,o.jsx)(nQ,{builtinVariableDefinitions:d})]})})]})]})}let n2=(0,ez.A)(nW.A)(({theme:e})=>({borderBottom:`solid 1px ${e.palette.divider}`}));function n9({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)(tt.A,{sx:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%",width:"100%",overflow:"hidden"},children:(0,o.jsx)(ti.A,{"aria-label":"loading"})}):(0,o.jsx)(nd,{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 n3(e){let{name:t,state:n}=e;return(0,o.jsxs)(o.Fragment,{children:[!n?.overridden&&`${t} `,!n?.overridden&&n?.overriding&&(0,o.jsx)(eI.A,{fontWeight:"normal",color:e=>e.palette.primary.main,children:"(overriding)"}),n?.overridden&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(eI.A,{color:e=>e.palette.grey[500],children:t}),(0,o.jsx)(eI.A,{fontWeight:"normal",color:e=>e.palette.grey[500],children:"(overridden)"})]})]})}function n5({variant:e="text",label:t="Variables",color:n="primary",fullWidth:r}){let[i,a]=(0,h.useState)(!1),l=ns(),d=nl(),f=(0,P.useBuiltinVariableDefinitions)(),{setVariableDefinitions:g}=no(),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)(tg.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)(n1,{variableDefinitions:l,externalVariableDefinitions:d,builtinVariableDefinitions:f,onCancel:m,onChange:e=>{g(e),a(!1)}})})]})}let n4=({label:e="Edit",onClick:t})=>(0,o.jsx)(s.A,{onClick:t,startIcon:(0,o.jsx)(tg.default,{}),variant:"outlined",color:"secondary",sx:{whiteSpace:"nowrap",minWidth:"auto"},children:e}),n7="Let's get started",n8={variant:"outlined",color:"secondary"},n6=({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)(n5,{variant:"outlined",color:"secondary",label:"Add Variables",fullWidth:!0})]}):n?(0,o.jsx)(n4,{...n8,label:"Edit Dashboard",onClick:n}):null,re=({title:e=n7,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)(n6,{actions:i,onEditButtonClick:a,isEditMode:s});return(0,o.jsxs)(eI.A,{sx:{width:"500px",textAlign:"center",margin:"0 auto"},children:[(0,o.jsxs)(eI.A,{sx:{width:"289px",margin:"0 auto"},children:[!!t&&t,(0,o.jsx)(tr.A,{variant:"h2",gutterBottom:!0,children:e}),(0,o.jsx)(tr.A,{variant:"body1",children:n??l}),u&&(0,o.jsx)(eI.A,{sx:{display:"flex",gap:2,marginTop:1,justifyContent:"center"},children:u})]}),r&&(0,o.jsx)(tr.A,{variant:"subtitle1",sx:{marginTop:12},children:r})]})};function rt({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)(eI.A,{...n,sx:{height:"100%"},ref:i,children:(0,o.jsxs)(u.ErrorBoundary,{FallbackComponent:u.ErrorAlert,children:[a&&(0,o.jsx)(eI.A,{sx:{height:"100%",display:"flex",alignItems:"center"},children:(0,o.jsx)(re,{...e})}),!a&&r.map(e=>(0,o.jsx)(t0,{panelGroupId:e,panelOptions:t,panelFullHeight:l},e))]})})}let rn={url:"",name:"",tooltip:"",renderVariables:!0,targetBlank:!0};function rr({links:e,onChange:t,onCancel:n}){let[r,i]=nq(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)(eI.A,{sx:{display:"flex",alignItems:"center",padding:e=>e.spacing(1,2),borderBottom:e=>`1px solid ${e.palette.divider}`},children:[(0,o.jsx)(tr.A,{variant:"h2",children:"Edit Dashboard Links"}),(0,o.jsxs)(tt.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)(eI.A,{padding:2,sx:{overflowY:"scroll"},children:(0,o.jsxs)(tt.A,{spacing:2,children:[(0,o.jsx)(nh.A,{children:(0,o.jsxs)(ng.A,{size:"small",sx:{tableLayout:"fixed",width:"100%"},"aria-label":"table of dashboard links",children:[(0,o.jsx)(nm.A,{children:(0,o.jsxs)(ny.A,{children:[(0,o.jsx)(nW.A,{children:"Name"}),(0,o.jsx)(nW.A,{children:"URL"}),(0,o.jsx)(nW.A,{width:80,children:"New Tab"}),(0,o.jsx)(nW.A,{align:"right",width:180,children:"Actions"})]})}),(0,o.jsx)(nb.A,{children:r.map((e,t)=>(0,o.jsx)(ri,{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)(tr.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)(nU.default,{}),onClick:()=>{i(e=>{e.push({...rn})}),l(r.length)},sx:{alignSelf:"flex-start"},children:"Add Link"})]})})]})}function ri({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)(ny.A,{children:[(0,o.jsx)(nW.A,{component:"th",scope:"row",sx:{fontWeight:"bold",overflow:"hidden",textOverflow:"ellipsis"},children:p}),(0,o.jsx)(nW.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)(nW.A,{children:e.targetBlank?"Yes":"No"}),(0,o.jsxs)(nW.A,{align:"right",sx:{whiteSpace:"nowrap"},children:[(0,o.jsx)(tS.A,{onClick:c,disabled:n,"aria-label":"Move link up",children:(0,o.jsx)(tJ.default,{})}),(0,o.jsx)(tS.A,{onClick:d,disabled:r,"aria-label":"Move link down",children:(0,o.jsx)(tY.default,{})}),(0,o.jsx)(tS.A,{onClick:a,"aria-label":i?"Collapse link editor":"Edit link",children:i?(0,o.jsx)(nX.default,{}):(0,o.jsx)(nK.default,{})}),(0,o.jsx)(tS.A,{onClick:l,"aria-label":"Remove link",children:(0,o.jsx)(nJ.default,{})})]})]}),(0,o.jsx)(ny.A,{children:(0,o.jsx)(nW.A,{colSpan:4,sx:{paddingBottom:0,paddingTop:0,border:i?void 0:"none"},children:(0,o.jsx)(e_.A,{in:i,timeout:"auto",unmountOnExit:!0,children:(0,o.jsx)(eI.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 ra({variant:e="text",label:t="Links",color:n="primary",fullWidth:r}){let[i,a]=(0,h.useState)(!1),l=Y(),{setLinks:d}=X(),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)(tg.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)(rr,{links:l,onCancel:f,onChange:e=>{d?.(e),a(!1)}})})]})}let ro=(0,h.createContext)(null),rs={};function rl({children:e,defaultOptions:t=rs}){let n=(0,h.useMemo)(()=>({defaultOptions:t}),[t]);return g().createElement(ro.Provider,{value:n},e)}function ru(){return(0,h.useContext)(ro)?.defaultOptions??{}}function rc(e){return null!==e&&"object"==typeof e&&"current"in e}function rd(){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 rp=["Control","Alt","Shift","Meta"],rf={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 rh(e,t=rd()){return"Mod"===e?"mac"===t?"Meta":"Control":e}let rg=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"]),rm=new Set(["0","1","2","3","4","5","6","7","8","9"]),ry=new Set(["F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12"]),rb=new Set(["ArrowUp","ArrowDown","ArrowLeft","ArrowRight","Home","End","PageUp","PageDown"]),rv=new Set(["Enter","Escape","Space","Tab","Backspace","Delete"]),rx=new Set(["/","[","]","\\","=","-",",",".",";","`"]),rw={Backquote:"`",Backslash:"\\",BracketLeft:"[",BracketRight:"]",Comma:",",Equal:"=",Minus:"-",Period:".",Semicolon:";",Slash:"/"};[...rg,...rm,...ry,...rb,...rv,...rx];let rj={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 rA(e){return/^\p{Letter}$/u.test(e)}function rS(e){if(!e)return"";if(e in rj)return rj[e];if(rA(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 rC(e,t=rd()){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=rS(a);else{let e=rf[a]??rf[a.toLowerCase()];if(e){let n=rh(e,t);r.add(n)}else 1===n.length&&(i=rS(a))}}return!i&&n.length>0&&(i=rS(n[n.length-1].trim())),{key:i,ctrl:r.has("Control"),shift:r.has("Shift"),alt:r.has("Alt"),meta:r.has("Meta"),modifiers:rp.filter(e=>r.has(e))}}function rD(e,t=rd()){let n=e.ctrl??!1,r=e.shift??!1,i=e.alt??!1,a=e.meta??!1;e.mod&&("Control"===rh("Mod",t)?n=!0:a=!0);let o=rp.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 rE(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 rp)e.modifiers.includes(t)&&r.push(t);return r.push(rS(e.key)),r.join("+")}function rk(e,t=rd()){return"string"==typeof e?function(e,t=rd()){return rE(rC(e,t),t)}(e,t):function(e,t=rd()){return rE(e,t)}(rD(e,t),t)}function rO(e){return e.join(" ")}function rP(e,t,n=rd()){let r="string"==typeof t?rC(t,n):t;if(e.ctrlKey!==r.ctrl||e.shiftKey!==r.shift||e.altKey!==r.alt||e.metaKey!==r.meta)return!1;let i=rS(e.key),a=r.key;if("Dead"!==i&&1===i.length&&1===a.length){if(i.toUpperCase()===a.toUpperCase())return!0;if(rA(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 rw&&rw[e.code]===a}return i===a}let rM={preventDefault:!0,stopPropagation:!0,eventType:"keydown",enabled:!0,ignoreInputs:!0,conflictBehavior:"warn"};function rT(e){return!e.ctrl&&!e.meta&&"Escape"!==e.key}function rR(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 rL(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&&rR(r)&&r!==n||e.composedPath().some(e=>rR(e)&&e!==n))||rR(e.target)&&e.target!==n}function rI(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 rV(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 r_=((a=r_||{})[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 rH(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 rN=[],rz=0,{link:r$,unlink:rB,propagate:rG,checkDirty:rF,shallowPropagate:rW}=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){rN[rq++]=e,e.flags&=~r_.Watching},unwatched(e){void 0!==e.depsTail&&(e.depsTail=void 0,e.flags=r_.Mutable|r_.Dirty,rK(e))}}),rU=0,rq=0;function rK(e){let t=e.depsTail,n=void 0!==t?t.nextDep:e.deps;for(;void 0!==n;)n=rB(n,e)}class rJ{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?r_.None:r_.Mutable,get:()=>(void 0!==r&&r$(n,r,rz),n._snapshot),subscribe(e){var t;let i,a,o=rH(e),s={current:!1},l=(t=()=>{n.get(),s.current?o.next?.(n._snapshot):s.current=!0},i=()=>{let e=r;r=a,++rz,a.depsTail=void 0,a.flags=r_.Watching|r_.RecursedCheck;try{return t()}finally{r=e,a.flags&=~r_.RecursedCheck,rK(a)}},a={deps:void 0,depsTail:void 0,subs:void 0,subsTail:void 0,flags:r_.Watching|r_.RecursedCheck,notify(){let e=this.flags;e&r_.Dirty||e&r_.Pending&&rF(this.deps,this)?i():this.flags=r_.Watching},stop(){this.flags=r_.None,this.depsTail=void 0,rK(this)}},i(),a);return{unsubscribe:()=>{l.stop()}}},_update(i){let a=r,o=(void 0)??Object.is;if(t)r=n,++rz,n.depsTail=void 0;else if(void 0===i)return!1;t&&(n.flags=r_.Mutable|r_.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&=~r_.RecursedCheck),rK(n)}}};return t?(n.flags=r_.Mutable|r_.Dirty,n.get=function(){let e=n.flags;if(e&r_.Dirty||e&r_.Pending&&rF(n.deps,n)){if(n._update()){let e=n.subs;void 0!==e&&rW(e)}}else e&r_.Pending&&(n.flags=e&~r_.Pending);return void 0!==r&&r$(n,r,rz),n._snapshot}):n.set=function(e){if(n._update(e)){let e=n.subs;if(void 0!==e&&(rG(e),rW(e),1)){for(;rU<rq;){let e=rN[rU];rN[rU++]=void 0,e.notify()}rU=0,rq=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(rH(e))}}function rY(e){return{hotkey:e.hotkey,id:e.id,options:e.options,parsedHotkey:e.parsedHotkey,target:e.target,triggerCount:e.triggerCount,hasFired:e.hasFired}}let rZ=0;function rX(){return`hotkey_${++rZ}`}var rQ=class e{static #e=null;#t;#n=new Map;#r=new Map;constructor(){this.registrations=new rJ(new Map),this.#t=rd()}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:rX(),unregister:()=>{},get callback(){return e},set callback(newCallback){e=newCallback},setOptions:()=>{},get isActive(){return!1}}}let r=rX(),i=n.platform??this.#t,a="string"==typeof e?rC(e,i):rD(e,i),o="string"==typeof e?e:function(e){let t=[];for(let n of rp)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&&rV(u.id,o,l,e=>this.#a(e));let c=n.ignoreInputs??rT(a),d={id:r,hotkey:o,parsedHotkey:a,callback:t,options:{...rM,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&&rI(e,t)&&r.options.enabled&&!(!1!==r.options.ignoreInputs&&rL(e,t,r.target)))if("keydown"===n){if("keydown"!==r.options.eventType)continue;rP(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&&rP(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=rS(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 r0(){return rQ.getInstance()}function r1(e,t={}){let n=ru().hotkey,r=r0(),i=t.platform??n?.platform??rd(),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=>rk(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=rc(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 r2=0;function r9(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 r3=class e{static #e=null;#f=new Map;#n=new Map;#r=new Map;#t;constructor(){this.registrations=new rJ(new Map),this.#t=rd()}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,r9(e)))}register(e,t,n={}){if(0===e.length)throw Error("Sequence must contain at least one hotkey");let r=`sequence_${++r2}`,i=n.platform??this.#t,a=e.map(e=>rC(e,i)),o=n.target??("u">typeof document?document:{}),s=n.conflictBehavior??"warn",l=this.#g(e,o);l&&rV(l.id,rO(e),s,e=>this.#a(e));let u=a[0],c=n.ignoreInputs??rT(u),d={id:r,sequence:e,parsedSequence:a,callback:t,options:{...rM,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,r9(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,r9(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=rS(e.key))in rf||r.toLowerCase()in rf)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||!rI(e,t)||!i.options.enabled||!1!==i.options.ignoreInputs&&rL(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(rP(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&&(rP(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 r5(){return r3.getInstance()}function r4(e,t={}){let n=ru().hotkeySequence,r=r5(),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=>rO(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=rc(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 r7="perses:save-dashboard",r8="perses:refresh-dashboard",r6="perses:toggle-edit-mode",ie="perses:time-zoom-out",it="perses:time-zoom-in",ir="perses:time-shift-back",ii="perses:time-shift-forward",ia="perses:time-make-absolute",io="perses:time-copy",is="perses:time-paste",il="perses:panel-edit",iu="perses:panel-fullscreen",ic="perses:panel-duplicate",id="perses:panel-delete",ip="perses:open-search",ih="perses:show-shortcuts",ig="perses:toggle-theme",im={id:"save-dashboard",hotkey:"Mod+S",name:"Save Dashboard",description:"Save the current dashboard",category:"dashboard",scope:"dashboard",event:r7},iy={id:"refresh-dashboard",sequence:["D","R"],name:"Refresh Dashboard",description:"Refresh all panels",category:"dashboard",scope:"dashboard",event:r8},ib={id:"toggle-edit-mode",sequence:["D","M"],name:"Toggle Edit Mode",description:"Toggle between edit and view mode",category:"dashboard",scope:"dashboard",event:r6},iv=[im,iy,ib],ix={id:"panel-edit",hotkey:"E",name:"Edit Panel",description:"Edit the focused panel when in edit mode",category:"focused-panel",scope:"panel",event:il,ignoreInputs:!0},iw={id:"panel-fullscreen",hotkey:"V",name:"Toggle Fullscreen",description:"Toggle fullscreen on the focused panel",category:"focused-panel",scope:"panel",event:iu,ignoreInputs:!0},ij={id:"panel-duplicate",sequence:["P","D"],name:"Duplicate Panel",description:"Duplicate the focused panel",category:"focused-panel",scope:"panel",event:ic},iA={id:"panel-delete",sequence:["P","R"],name:"Delete Panel",description:"Delete the focused panel",category:"focused-panel",scope:"panel",event:id},iS=[ix,iw,ij,iA];function iC(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 iD(e){if(void 0===e.hotkey)throw Error(`Shortcut ${e.id} is missing a hotkey definition`);return e.hotkey}function iE(e){if(void 0===e.sequence)throw Error(`Shortcut ${e.id} is missing a sequence definition`);return e.sequence}function ik(e){if(void 0===e.event)throw Error(`Shortcut ${e.id} is missing an event definition`);return e.event}function iO(e){window.dispatchEvent(new CustomEvent(e))}function iP(e){return t=>{"Enter"===t.key&&(t.ctrlKey||t.metaKey)&&!t.shiftKey&&!t.altKey&&(t.preventDefault(),e())}}let iM={id:"time-zoom-out",sequence:["T","O"],name:"Zoom Out",description:"Zoom out time range (2x)",category:"time-range",scope:"dashboard",event:ie},iT={id:"time-zoom-in",sequence:["T","I"],name:"Zoom In",description:"Zoom in time range (\xbd)",category:"time-range",scope:"dashboard",event:it},iR={id:"time-shift-back",sequence:["T","ArrowLeft"],name:"Shift Back",description:"Shift time range backward",category:"time-range",scope:"dashboard",event:ir},iL={id:"time-shift-forward",sequence:["T","ArrowRight"],name:"Shift Forward",description:"Shift time range forward",category:"time-range",scope:"dashboard",event:ii},iI={id:"time-make-absolute",sequence:["T","A"],name:"Make Absolute",description:"Convert time range to absolute",category:"time-range",scope:"dashboard",event:ia},iV={id:"time-copy",sequence:["T","C"],name:"Copy Time Range",description:"Copy time range to clipboard",category:"time-range",scope:"dashboard",event:io},i_={id:"time-paste",sequence:["T","V"],name:"Paste Time Range",description:"Paste time range from clipboard",category:"time-range",scope:"dashboard",event:is},iH=[iM,iT,iR,iL,iI,iV,i_];function iN({children:e}){let t=iB(),{setAnnotationState:n}=iF(),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 iz=(0,h.createContext)(void 0);function i$(){let e=(0,h.useContext)(iz);return e||iq({initialAnnotationSpecs:[]})}function iB(){return t5(i$(),e=>e.annotationSpecs)}function iG(e){let t=i$();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 iF(){return j(i$(),e=>({setAnnotationState:e.setAnnotationState,setAnnotationSpecs:e.setAnnotationSpecs}),O)}function iW(e){return t5(i$(),t=>({definition:t.annotationSpecs.find(t=>t.display.name===e),state:t.annotationState[e]}))}function iU(){return t5(i$(),e=>e.annotationSpecs.map(t=>{let n=e.annotationState[t.display.name];return{definition:t,data:n?.data}}).filter(e=>!!e.data))}function iq({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 iK({children:e,initialAnnotationSpecs:t=[]}){let[n]=(0,h.useState)(()=>iq({initialAnnotationSpecs:t}));return(0,o.jsx)(iz.Provider,{value:n,children:(0,o.jsx)(iN,{children:e})})}function iJ(){var e;let t,{panels:n,panelGroups:r,panelGroupOrder:i,setDashboard:a,kind:o,metadata:s,display:l,timezone:u,duration:c,refreshInterval:d,datasources:p,links:f,ttl:h}=B(({panels:e,panelGroups:t,panelGroupOrder:n,setDashboard:r,kind:i,metadata:a,timezone:o,display:s,duration:l,refreshInterval:u,datasources:c,links:d,ttl:p})=>({panels:e,panelGroups:t,panelGroupOrder:n,setDashboard:r,kind:i,metadata:a,timezone:o,display:s,duration:l,refreshInterval:u,datasources:c,links:d,ttl:p})),{setVariableDefinitions:g}=no(),{setAnnotationSpecs:m}=iF(),y=ns(),b=iB(),v=(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:v,variables:y,annotations:b,duration:c,timezone:u,refreshInterval:d,datasources:p,links:f}}:{kind:o,metadata:s,spec:{display:l,panels:n,layouts:v,variables:y,annotations:b,duration:c,refreshInterval:d,datasources:p,links:f,ttl:h}},setDashboard:e=>{g(e.spec.variables),e.spec.annotations&&m(e.spec.annotations),a(e)}}}function iY(e){let[t,n]=(0,h.useState)(!1),{dashboard:r,setDashboard:i}=iJ(),{setEditMode:a}=U(),{timeRange:o,refreshInterval:s}=(0,P.useTimeRange)(),{timeZone:l}=(0,P.useTimeZoneParams)(),{getSavedVariablesStatus:u,setVariableDefaultValues:c}=no(),{openSaveChangesConfirmationDialog:d,closeSaveChangesConfirmationDialog:p}=eE(),f=(0,h.useCallback)(async()=>{if(!e)return void a(!1);try{n(!0),await e(r),p(),a(!1)}finally{n(!1)}},[p,r,e,a]);return{saveDashboard:(0,h.useCallback)(()=>{if(t)return;let{isSavedVariableModified:e}=u(),n=(0,M.isRelativeTimeRange)(o)&&r.spec.duration!==o.pastDuration,a=r.spec.refreshInterval!==s,h=("local"!==l||!!r.spec.timezone)&&r.spec.timezone!==l;n||e||a||h?d({onSaveChanges:e=>{let{saveDefaultRefreshInterval:t,saveDefaultTimeRange:n,saveDefaultTimeZone:u,saveDefaultVariables:d}=e;if((0,M.isRelativeTimeRange)(o)&&n&&(r.spec.duration=o.pastDuration),u&&(r.spec.timezone=l),d){let e=c();r.spec.variables=e}t&&a&&(r.spec.refreshInterval=s),i(r),f()},onCancel:()=>{p()},isSavedDurationModified:n,isSavedVariableModified:e,isSavedRefreshIntervalModified:a,isTimeZoneModified:h}):f()},[t,o,r,s,l,u,d,c,i,f,p]),isSaving:t}}function iZ(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 iX(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 iQ=e=>({openEditPanel:e.openEditPanel,duplicatePanel:e.duplicatePanel,openDeletePanelDialog:e.openDeletePanelDialog,setViewPanel:e.setViewPanel,panelEditor:e.panelEditor});function i0({onSave:e,onRefresh:t,isReadonly:n,onEditButtonClick:r,onCancelButtonClick:i,disabled:a=!1}){let o=e0(),{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(iQ),{saveDashboard:j}=iY(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]),D=(0,h.useCallback)(()=>{s?i?i():l(!1):r?r():l(!0)},[s,l,i,r]),E=(0,h.useCallback)(()=>{let{durationMs:e,midpointMs:t}=iX(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}=iX(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}=iX(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}=iX(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]),I=(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=iZ(o);e&&y(e)}},[o,s,y,w]),_=(0,h.useCallback)(()=>{if(void 0!==m)return void x(void 0);if(o){let e=iZ(o);e&&x(e)}},[o,x,m]),H=(0,h.useCallback)(()=>{if(o&&s){let e=iZ(o);e&&b(e)}},[o,s,b]),N=(0,h.useCallback)(()=>{if(o&&s){let e=iZ(o);e&&v(e)}},[o,s,v]);r1([{def:im,enabled:!a,callback:S},{def:ix,enabled:!a&&(A||void 0!==w),callback:V},{def:iw,enabled:!a&&(A||void 0!==m),callback:_}].map(({def:e,enabled:t,callback:n})=>({hotkey:iD(e),callback:n,options:iC(e,t)}))),r4([{def:iy,enabled:!a,callback:C},{def:ib,enabled:!a,callback:D},{def:iM,enabled:!a,callback:E},{def:iT,enabled:!a,callback:k},{def:iR,enabled:!a,callback:O},{def:iL,enabled:!a,callback:T},{def:iI,enabled:!a,callback:R},{def:iV,enabled:!a,callback:L},{def:i_,enabled:!a,callback:I},{def:ij,enabled:!a&&A,callback:H},{def:iA,enabled:!a&&A,callback:N}].map(({def:e,enabled:t,callback:n})=>({sequence:iE(e),callback:n,options:iC(e,t)})))}var i1=n(8072),i2=n(19557),i9=n(97090);let i3=Symbol.for("yaml.alias"),i5=Symbol.for("yaml.document"),i4=Symbol.for("yaml.map"),i7=Symbol.for("yaml.pair"),i8=Symbol.for("yaml.scalar"),i6=Symbol.for("yaml.seq"),ae=Symbol.for("yaml.node.type"),at=e=>!!e&&"object"==typeof e&&e[ae]===i3,an=e=>!!e&&"object"==typeof e&&e[ae]===i5,ar=e=>!!e&&"object"==typeof e&&e[ae]===i4,ai=e=>!!e&&"object"==typeof e&&e[ae]===i7,aa=e=>!!e&&"object"==typeof e&&e[ae]===i8,ao=e=>!!e&&"object"==typeof e&&e[ae]===i6;function as(e){if(e&&"object"==typeof e)switch(e[ae]){case i4:case i6:return!0}return!1}function al(e){if(e&&"object"==typeof e)switch(e[ae]){case i3:case i4:case i8:case i6:return!0}return!1}let au=e=>(aa(e)||as(e))&&!!e.anchor,ac=Symbol("break visit"),ad=Symbol("skip children"),ap=Symbol("remove node");function af(e,t){let n=ay(t);an(e)?ah(null,e.contents,n,Object.freeze([e]))===ap&&(e.contents=null):ah(null,e,n,Object.freeze([]))}function ah(e,t,n,r){let i=ab(e,t,n,r);if(al(i)||ai(i))return av(e,r,i),ah(e,i,n,r);if("symbol"!=typeof i){if(as(t)){r=Object.freeze(r.concat(t));for(let e=0;e<t.items.length;++e){let i=ah(e,t.items[e],n,r);if("number"==typeof i)e=i-1;else{if(i===ac)return ac;i===ap&&(t.items.splice(e,1),e-=1)}}}else if(ai(t)){r=Object.freeze(r.concat(t));let e=ah("key",t.key,n,r);if(e===ac)return ac;e===ap&&(t.key=null);let i=ah("value",t.value,n,r);if(i===ac)return ac;i===ap&&(t.value=null)}}return i}async function ag(e,t){let n=ay(t);an(e)?await am(null,e.contents,n,Object.freeze([e]))===ap&&(e.contents=null):await am(null,e,n,Object.freeze([]))}async function am(e,t,n,r){let i=await ab(e,t,n,r);if(al(i)||ai(i))return av(e,r,i),am(e,i,n,r);if("symbol"!=typeof i){if(as(t)){r=Object.freeze(r.concat(t));for(let e=0;e<t.items.length;++e){let i=await am(e,t.items[e],n,r);if("number"==typeof i)e=i-1;else{if(i===ac)return ac;i===ap&&(t.items.splice(e,1),e-=1)}}}else if(ai(t)){r=Object.freeze(r.concat(t));let e=await am("key",t.key,n,r);if(e===ac)return ac;e===ap&&(t.key=null);let i=await am("value",t.value,n,r);if(i===ac)return ac;i===ap&&(t.value=null)}}return i}function ay(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 ab(e,t,n,r){return"function"==typeof n?n(e,t,r):ar(t)?n.Map?.(e,t,r):ao(t)?n.Seq?.(e,t,r):ai(t)?n.Pair?.(e,t,r):aa(t)?n.Scalar?.(e,t,r):at(t)?n.Alias?.(e,t,r):void 0}function av(e,t,n){let r=t[t.length-1];if(as(r))r.items[e]=n;else if(ai(r))"key"===e?r.key=n:r.value=n;else if(an(r))r.contents=n;else{let e=at(r)?"alias":"scalar";throw Error(`Cannot replace node with ${e} parent`)}}af.BREAK=ac,af.SKIP=ad,af.REMOVE=ap,ag.BREAK=ac,ag.SKIP=ad,ag.REMOVE=ap;let ax={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},aw=e=>e.replace(/[!,[\]{}]/g,e=>ax[e]);class aj{constructor(e,t){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},aj.defaultYaml,e),this.tags=Object.assign({},aj.defaultTags,t)}clone(){let e=new aj(this.yaml,this.tags);return e.docStart=this.docStart,e}atDocument(){let e=new aj(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:aj.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},aj.defaultTags)}return e}add(e,t){this.atNextDocument&&(this.yaml={explicit:aj.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},aj.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+aw(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&&al(e.contents)){let n={};af(e.contents,(e,t)=>{al(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 aA(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 aS(e){let t=new Set;return af(e,{Value(e,n){n.anchor&&t.add(n.anchor)}}),t}function aC(e,t){for(let n=1;;++n){let r=`${e}${n}`;if(!t.has(r))return r}}function aD(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=aD(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=aD(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=aD(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=aD(e,r,t,n);void 0===i?delete r[t]:i!==n&&(r[t]=i)}return e.call(t,n,r)}function aE(e,t,n){if(Array.isArray(e))return e.map((e,t)=>aE(e,String(t),n));if(e&&"function"==typeof e.toJSON){if(!n||!au(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)}aj.defaultYaml={explicit:!1,version:"1.2"},aj.defaultTags={"!!":"tag:yaml.org,2002:"};class ak{constructor(e){Object.defineProperty(this,ae,{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(!an(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=aE(this,"",a);if("function"==typeof r)for(let{count:e,res:t}of a.anchors.values())r(t,e);return"function"==typeof i?aD(i,{"":o},"",o):o}}class aO extends ak{constructor(e){super(i3),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=[],af(e,{Node:(e,t)=>{(at(t)||au(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||(aE(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(at(n)){let e=n.resolve(t),i=r&&e&&r.get(e);return i?i.count*i.aliasCount:0}if(as(n)){let i=0;for(let a of n.items){let n=e(t,a,r);n>i&&(i=n)}return i}return ai(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(aA(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 aP=e=>!e||"function"!=typeof e&&"object"!=typeof e;class aM extends ak{constructor(e){super(i8),this.value=e}toJSON(e,t){return t?.keep?this.value:aE(this.value,e,t)}toString(){return String(this.value)}}function aT(e,t,n){let r;if(an(e)&&(e=e.contents),al(e))return e;if(ai(e)){let t=n.schema[i4].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 aO(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 aM(e);return r&&(r.node=t),t}u=e instanceof Map?s[i4]:Symbol.iterator in Object(e)?s[i6]:s[i4]}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 aM(e);return t?c.tag=t:u.default||(c.tag=u.tag),r&&(r.node=c),c}function aR(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 aT(r,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw Error("This should not happen, please report a bug.")},schema:e,sourceObjects:new Map})}aM.BLOCK_FOLDED="BLOCK_FOLDED",aM.BLOCK_LITERAL="BLOCK_LITERAL",aM.PLAIN="PLAIN",aM.QUOTE_DOUBLE="QUOTE_DOUBLE",aM.QUOTE_SINGLE="QUOTE_SINGLE";let aL=e=>null==e||"object"==typeof e&&!!e[Symbol.iterator]().next().done;class aI extends ak{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=>al(t)||ai(t)?t.clone(e):t),this.range&&(t.range=this.range.slice()),t}addIn(e,t){if(aL(e))this.add(t);else{let[n,...r]=e,i=this.get(n,!0);if(as(i))i.addIn(r,t);else if(void 0===i&&this.schema)this.set(n,aR(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(as(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&&aa(i)?i.value:i:as(i)?i.getIn(r,t):void 0}hasAllNullValues(e){return this.items.every(t=>{if(!ai(t))return!1;let n=t.value;return null==n||e&&aa(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!!as(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(as(e))e.setIn(r,t);else if(void 0===e&&this.schema)this.set(n,aR(this.schema,r,t));else throw Error(`Expected YAML collection at ${n}. Remaining path: ${r}`)}}}let aV=e=>e.replace(/^(?!$)(?: $)?/gm,"#");function a_(e,t){return/^\n+$/.test(e)?e.substring(1):t?e.replace(/^(?! *$)/gm,t):e}let aH=(e,t,n)=>e.endsWith("\n")?a_(n,t):n.includes("\n")?"\n"+a_(n,t):(e.endsWith(" ")?"":" ")+n,aN="block",az="quoted";function a$(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===aN&&-1!==(m=aB(e,m,t.length))&&(h=m+d);c=e[m+=1];){if(n===az&&"\\"===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===aN&&(m=aB(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===az){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===az&&f[i]&&(v+=`${e[i]}\\`),v+=`
|
|
8
8
|
${t}${e.slice(i+1,a)}`)}return v}function aB(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 aG=(e,t)=>({indentAtStart:t?e.indent.length:e.indentAtStart,lineWidth:e.options.lineWidth,minContentWidth:e.options.minContentWidth});function aF(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:a$(o,a,"quoted",aG(t,!1))}function aW(e,t){if(!1===t.options.singleQuote||t.implicitKey&&e.includes("\n")||/[ \t]\n|\n[ \t]/.test(e))return aF(e,t);let n=t.indent||(/^(%|---|\.\.\.)/m.test(e)?" ":""),r="'"+e.replace(/'/g,"''").replace(/\n+/g,`$&
|
|
9
9
|
${n}`)+"'";return t.implicitKey?r:a$(r,n,"flow",aG(t,!1))}function aU(e,t){let n,{singleQuote:r}=t.options;if(!1===r)n=aF;else{let t=e.includes('"'),i=e.includes("'");n=t&&!i?aW:i&&!t?aF:r?aW:aF}return n(e,t)}try{i=RegExp("(^|(?<!\n))\n+(?!\n|$)","g")}catch{i=/\n+(?!\n|$)/g}function aq({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 aU(n,r);let h=r.indent||(r.forceBlockIndent||(c=n,/^(%|---|\.\.\.)/m.test(c))?" ":""),g="literal"===d||"folded"!==d&&t!==aM.BLOCK_FOLDED&&(t===aM.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=aG(r,!0);"folded"!==d&&t!==aM.BLOCK_FOLDED&&(a.onOverflow=()=>{i=!0});let o=a$(`${x}${e}${m}`,h,"block",a);if(!i)return`>${j}
|