@perses-dev/table-plugin 0.11.0-beta.0 → 0.11.0-rc.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.
Files changed (35) hide show
  1. package/__mf/js/{Table.048c2e60.js → Table.7c94517d.js} +3 -3
  2. package/__mf/js/async/{8728.546704f2.js → 1103.ffbc2bec.js} +1 -1
  3. package/__mf/js/async/{1490.08a726d9.js → 1490.9d97e5d1.js} +3 -3
  4. package/__mf/js/async/{3919.1085fa1d.js → 3919.927efb3c.js} +3 -3
  5. package/__mf/js/async/5413.6d8fc766.js +1 -0
  6. package/__mf/js/async/5501.bc363348.js +1 -0
  7. package/__mf/js/async/7794.0374cd38.js +1 -0
  8. package/__mf/js/async/{7417.86d0bc09.js → 8094.c02682f3.js} +1 -1
  9. package/__mf/js/async/__federation_expose_Table.61be353a.js +1 -0
  10. package/__mf/js/{main.10849b01.js → main.1250232e.js} +3 -3
  11. package/lib/cjs/components/ColumnsEditor/ColumnEditor.js +10 -0
  12. package/lib/cjs/components/ColumnsEditor/DataLinkEditorDialog.js +139 -0
  13. package/lib/cjs/components/TablePanel.js +7 -5
  14. package/lib/components/ColumnsEditor/ColumnEditor.d.ts.map +1 -1
  15. package/lib/components/ColumnsEditor/ColumnEditor.js +10 -0
  16. package/lib/components/ColumnsEditor/ColumnEditor.js.map +1 -1
  17. package/lib/components/ColumnsEditor/DataLinkEditorDialog.d.ts +5 -0
  18. package/lib/components/ColumnsEditor/DataLinkEditorDialog.d.ts.map +1 -0
  19. package/lib/components/ColumnsEditor/DataLinkEditorDialog.js +126 -0
  20. package/lib/components/ColumnsEditor/DataLinkEditorDialog.js.map +1 -0
  21. package/lib/components/TablePanel.d.ts.map +1 -1
  22. package/lib/components/TablePanel.js +7 -5
  23. package/lib/components/TablePanel.js.map +1 -1
  24. package/lib/models/table-model.d.ts +6 -0
  25. package/lib/models/table-model.d.ts.map +1 -1
  26. package/lib/models/table-model.js.map +1 -1
  27. package/mf-manifest.json +17 -17
  28. package/mf-stats.json +17 -17
  29. package/package.json +5 -5
  30. package/__mf/js/async/4761.08da9107.js +0 -1
  31. package/__mf/js/async/5501.bdb9a707.js +0 -1
  32. package/__mf/js/async/7142.5d923107.js +0 -1
  33. package/__mf/js/async/__federation_expose_Table.d6cfbcd9.js +0 -1
  34. /package/__mf/js/async/{1490.08a726d9.js.LICENSE.txt → 1490.9d97e5d1.js.LICENSE.txt} +0 -0
  35. /package/__mf/js/async/{3919.1085fa1d.js.LICENSE.txt → 3919.927efb3c.js.LICENSE.txt} +0 -0
@@ -1,9 +1,9 @@
1
- /*! For license information please see 1490.08a726d9.js.LICENSE.txt */
2
- (self.chunk_Table=self.chunk_Table||[]).push([["1490"],{28217:function(e,t,n){"use strict";let r;n.r(t),n.d(t,{ListVariableListBoxProvider:()=>aE,DashboardDiscardChangesConfirmationDialog:()=>aG,VariableName:()=>n3,usePanelGroupIds:()=>K,EditDatasourcesButton:()=>al,Panel:()=>tX,PanelGroupDialog:()=>ot,QuerySummaryTable:()=>or,EditJsonDialog:()=>aq,RepeatGridLayout:()=>t6,useDeletePanelDialog:()=>eh,AddGroupButton:()=>eO,HeaderIconButton:()=>tk,Row:()=>t5,createPanelDefinition:()=>L,usePanelActions:()=>ed,useViewPanel:()=>eb,useDashboardDuration:()=>em,EmptyDashboard:()=>re,DatasourceStoreProvider:()=>os,DashboardStickyToolbar:()=>aN,DashboardProvider:()=>W,useDashboardStore:()=>B,GridTitle:()=>t4,DashboardToolbar:()=>aH,VariableListItem:()=>az,SaveChangesConfirmationDialog:()=>oo,PanelEditorContext:()=>a1,PanelPluginLoader:()=>te,Prompt:()=>aK,useEditJsonDialog:()=>eD,useExternalVariableDefinitions:()=>nm,AddPanelButton:()=>ek,useListPanelGroups:()=>Q,GridItemContent:()=>t0,useSaveChangesConfirmationDialog:()=>ew,VariableEditor:()=>n2,generateId:()=>V,usePanelGroup:()=>Z,useVariableDefinitionStates:()=>np,Variable:()=>aM,PanelPreview:()=>a8,DatasourceEditor:()=>as,DashboardContext:()=>$,VariableProvider:()=>nv,usePanel:()=>el,LeaveDialog:()=>aX,EditJsonButton:()=>ad,useDeletePanelGroupDialog:()=>es,useViewPanelGroup:()=>ex,useListVariableState:()=>aV,BuiltinVariableAccordions:()=>n0,DeletePanelDialog:()=>a$,DeletePanelGroupDialog:()=>aW,VariableProviderWithQueryParams:()=>nx,DownloadButton:()=>ao,useListVariableListBoxContext:()=>aO,Dashboard:()=>rt,useDiscardChangesConfirmationDialog:()=>eA,ListVariableListBox:()=>ak,GridLayout:()=>t8,usePanelGroupEditor:()=>ea,PanelDrawer:()=>a5,GridContainer:()=>eX,VariableList:()=>a_,useEditMode:()=>q,useVariableDefinitions:()=>ng,useDashboard:()=>rc,useVariableDefinitionAndState:()=>nf,ViewDashboard:()=>oc,QueryViewerDialog:()=>tZ,useDashboardActions:()=>J,useVariableDefinitionActions:()=>nh,SaveDashboardButton:()=>ac,useVariableDefinitionStoreCtx:()=>nc,usePanelEditor:()=>ep,usePanelGroupActions:()=>et,EditVariablesButton:()=>n4});var i=n(62540),a=n(7013),o=n(2859),s=n(92648);let l="Add panel",u="Add panel group",d="Edit datasources",c="Edit variables",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}=h,{useSyncExternalStoreWithSelector:x}=b,j=e=>e;function w(e,t=j,n){let r=x(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return v(r),r}let S=new Map,A=e=>{let t=S.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:d,...c}=((e,t,n)=>{if(void 0===e)return{type:"untracked",connection:t.connect(n)};let r=S.get(n.name);if(r)return{type:"tracked",store:e,...r};let i={connection:t.connect(n),stores:{}};return S.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 c=void 0===a?{type:s||"anonymous"}:"string"==typeof a?{type:a}:a;return void 0===l?null==d||d.send(c,r()):null==d||d.send({...c,type:`${l}/${c.type}`},{...A(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"===c.type?null==d||d.init(h):(c.stores[c.store]=i,null==d||d.init(Object.fromEntries(Object.entries(c.stores).map(([e,t])=>[e,e===c.store?h:t.getState()])))),i.dispatchFromDevtools&&"function"==typeof i.dispatch){let e=i.dispatch;i.dispatch=(...t)=>{e(...t)}}return d.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 1490.9d97e5d1.js.LICENSE.txt */
2
+ (self.chunk_Table=self.chunk_Table||[]).push([["1490"],{28217:function(e,t,n){"use strict";let r;n.r(t),n.d(t,{ListVariableListBoxProvider:()=>aE,DashboardDiscardChangesConfirmationDialog:()=>aG,VariableName:()=>n3,usePanelGroupIds:()=>K,EditDatasourcesButton:()=>al,Panel:()=>tX,PanelGroupDialog:()=>ot,QuerySummaryTable:()=>or,EditJsonDialog:()=>aq,RepeatGridLayout:()=>t6,useDeletePanelDialog:()=>eh,AddGroupButton:()=>eO,HeaderIconButton:()=>tk,Row:()=>t5,createPanelDefinition:()=>L,usePanelActions:()=>ed,useViewPanel:()=>eb,useDashboardDuration:()=>em,EmptyDashboard:()=>re,DatasourceStoreProvider:()=>os,DashboardStickyToolbar:()=>aN,DashboardProvider:()=>W,useDashboardStore:()=>B,GridTitle:()=>t4,DashboardToolbar:()=>aH,VariableListItem:()=>az,SaveChangesConfirmationDialog:()=>oo,PanelEditorContext:()=>a1,PanelPluginLoader:()=>te,Prompt:()=>aK,useEditJsonDialog:()=>eD,useExternalVariableDefinitions:()=>nm,AddPanelButton:()=>ek,useListPanelGroups:()=>Q,GridItemContent:()=>t0,useSaveChangesConfirmationDialog:()=>ew,VariableEditor:()=>n2,generateId:()=>V,usePanelGroup:()=>Z,useVariableDefinitionStates:()=>np,Variable:()=>aM,PanelPreview:()=>a8,DatasourceEditor:()=>as,DashboardContext:()=>$,VariableProvider:()=>nv,usePanel:()=>el,LeaveDialog:()=>aX,EditJsonButton:()=>ad,useDeletePanelGroupDialog:()=>es,useViewPanelGroup:()=>ex,useListVariableState:()=>aV,BuiltinVariableAccordions:()=>n0,DeletePanelDialog:()=>a$,DeletePanelGroupDialog:()=>aW,VariableProviderWithQueryParams:()=>nx,DownloadButton:()=>ao,useListVariableListBoxContext:()=>aO,Dashboard:()=>rt,useDiscardChangesConfirmationDialog:()=>eA,ListVariableListBox:()=>ak,GridLayout:()=>t8,usePanelGroupEditor:()=>ea,PanelDrawer:()=>a5,GridContainer:()=>eX,VariableList:()=>a_,useEditMode:()=>q,useVariableDefinitions:()=>ng,useDashboard:()=>rc,useVariableDefinitionAndState:()=>nf,ViewDashboard:()=>oc,QueryViewerDialog:()=>tZ,useDashboardActions:()=>J,useVariableDefinitionActions:()=>nh,SaveDashboardButton:()=>ac,useVariableDefinitionStoreCtx:()=>nc,usePanelEditor:()=>ep,usePanelGroupActions:()=>et,EditVariablesButton:()=>n4});var i=n(62540),a=n(7013),o=n(2859),s=n(25086);let l="Add panel",u="Add panel group",d="Edit datasources",c="Edit variables",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}=h,{useSyncExternalStoreWithSelector:x}=b,j=e=>e;function w(e,t=j,n){let r=x(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return v(r),r}let S=new Map,A=e=>{let t=S.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:d,...c}=((e,t,n)=>{if(void 0===e)return{type:"untracked",connection:t.connect(n)};let r=S.get(n.name);if(r)return{type:"tracked",store:e,...r};let i={connection:t.connect(n),stores:{}};return S.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 c=void 0===a?{type:s||"anonymous"}:"string"==typeof a?{type:a}:a;return void 0===l?null==d||d.send(c,r()):null==d||d.send({...c,type:`${l}/${c.type}`},{...A(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"===c.type?null==d||d.init(h):(c.stores[c.store]=i,null==d||d.init(Object.fromEntries(Object.entries(c.stores).map(([e,t])=>[e,e===c.store?h:t.getState()])))),i.dispatchFromDevtools&&"function"==typeof i.dispatch){let e=i.dispatch;i.dispatch=(...t)=>{e(...t)}}return d.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==d?void 0:d.init(i.getState());return null==d?void 0:d.init(A(u.name));case"COMMIT":if(void 0===l){null==d||d.init(i.getState());break}return null==d?void 0:d.init(A(u.name));case"ROLLBACK":return D(e.state,e=>{if(void 0===l){f(e),null==d||d.init(i.getState());return}f(e[l]),null==d||d.init(A(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==d||d.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 O=n(38662);let E=e=>(t,n,r)=>(r.setState=(e,n,...r)=>t("function"==typeof e?(0,O.jM)(e):e,n,...r),e(r.setState,n,r));function k(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(77593),M=n(98100);function V(){return void 0===globalThis.dashboardStoreId&&(globalThis.dashboardStoreId=0),globalThis.dashboardStoreId++}function L(e,t){return{kind:"Panel",spec:{display:{name:"",description:void 0},plugin:{kind:e??"",spec:t??{}},queries:[]}}}function R(e){let t={},n=[];for(let r of e){let e=[],i={};for(let t of r.spec.items){let n=V().toString();e.push({i:n,w:t.width,h:t.height,x:t.x,y:t.y}),i[n]=(0,P.getPanelKeyFromRef)(t.content)}let a=V();t[a]={id:a,isCollapsed:r.spec.display?.collapse?.open===!1,repeatVariable:r.spec.repeatVariable,title:r.spec.display?.title,itemLayouts:e,itemPanelKeys:i},n.push(a)}return{panelGroups:t,panelGroupOrder:n}}function T(){return{id:V(),title:void 0,isCollapsed:!1,itemLayouts:[],itemPanelKeys:{}}}function I(e,t){e.panelGroups[t.id]=t,e.panelGroupOrder.unshift(t.id)}let _={sm:24,xxs:2};function z(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 H=()=>{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 w(t,e,k)}function W(e){let t=(0,h.useCallback)(G,[e]),[n]=(0,h.useState)(t(e)),{defaultPluginKinds:r}=(0,M.usePluginRegistry)(),a=r?.Panel??"",{data:o}=(0,M.usePlugin)("Panel",a);return(0,h.useEffect)(()=>{if(void 0===o)return;let e=o.createInitialOptions?o.createInitialOptions():{};n.setState({initialValues:{panelDefinition:L(a,e)}})},[o,n,a]),(0,i.jsx)($.Provider,{value:n,children:e.children})}function G(e){let{initialState:{dashboardResource:t,isEditMode:n,viewPanelRef:r,setViewPanelRef:i}}=e,{kind:a,metadata:o,spec:{display:s,duration:l,refreshInterval:u=P.DEFAULT_REFRESH_INTERVAL,datasources:d,layouts:c=[],panels:p={}}}=t,f="ttl"in t.spec?t.spec.ttl:void 0;return y()(E(C((...e)=>{let[t]=e;return{...(function(e){let{panelGroups:t,panelGroupOrder:n}=R(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})}})})(c)(...e),...((e,t)=>({panelGroupEditor:void 0,openAddPanelGroup:()=>{let t={mode:"Add",initialValues:{title:"",isCollapsed:!1,repeatVariable:""},applyChanges(t){let n=T();n.title=t.title,n.isCollapsed=t.isCollapsed,n.repeatVariable=t.repeatVariable,e(e=>{I(e,n)})},close(){e(e=>{e.panelGroupEditor=void 0})}};e(e=>{e.panelGroupEditor=t})},openEditPanelGroup:n=>{let r=t().panelGroups[n];if(void 0===r)throw Error(`Panel group with Id ${n} does not exist`);let i={mode:"Edit",initialValues:{title:r.title??"",isCollapsed:r.isCollapsed,repeatVariable:r.repeatVariable??""},applyChanges(t){e(e=>{let r=e.panelGroups[n];if(void 0===r)throw Error(`Panel group with Id ${n} does not exist`);r.title=t.title,r.isCollapsed=t.isCollapsed,r.repeatVariable=t.repeatVariable})},close(){e(e=>{e.panelGroupEditor=void 0})}};e(e=>{e.panelGroupEditor=i})}}))(...e),...((e,t)=>({deletePanelGroup(n){let{panelGroups:r,panelGroupOrder:i}=t(),a=r[n],o=i.findIndex(e=>e===n);if(void 0===a||-1===o)throw Error(`Panel group ${n} not found`);let s=Object.values(a.itemPanelKeys);e(e=>{delete e.panelGroups[n],e.panelGroupOrder.splice(o,1);let t=function(e){let t=new Set;for(let n of Object.values(e))for(let e of Object.values(n.itemPanelKeys))t.add(e);return t}(e.panelGroups);for(let n of s)t.has(n)||delete e.panels[n]})},openDeletePanelGroupDialog:n=>{let r=t().panelGroups[n];if(void 0===r)throw Error(`Panel group with Id ${n} not found`);e(e=>{e.deletePanelGroupDialog={panelGroupId:n,panelGroupName:r.title}})},closeDeletePanelGroupDialog:()=>e(e=>{e.deletePanelGroupDialog=void 0})}))(...e),...(()=>({panels:p}))(...e),...((e,t)=>({panelEditor:void 0,openEditPanel(n){let{panels:r,panelGroups:i}=t(),{panelGroupId:a,panelGroupItemLayoutId:o}=n,s=i[a]?.itemPanelKeys[o];if(void 0===s)throw Error(`Could not find Panel Group item ${n}`);let l=r[s];if(void 0===l)throw Error(`Cannot find Panel with key '${s}'`);let u={mode:"update",panelGroupItemId:n,initialValues:{groupId:n.panelGroupId,panelDefinition:l},applyChanges:t=>{e(e=>{if(e.panels[s]=t.panelDefinition,t.groupId===a)return;let n=e.panelGroups[a];if(void 0===n)throw Error(`Missing panel group ${a}`);let r=n.itemLayouts.findIndex(e=>e.i===o),i=n.itemLayouts[r],l=n.itemPanelKeys[o];if(-1===r||void 0===i||void 0===l)throw Error(`Missing panel group item ${o}`);n.itemLayouts.splice(r,1),delete n.itemPanelKeys[o];let u=e.panelGroups[t.groupId];if(void 0===u)throw Error(`Could not find new group ${t.groupId}`);u.itemLayouts.push({i:i.i,x:0,y:z(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=T()).title="Panel Group",n=r.id);let i={mode:"create",initialValues:{groupId:n,panelDefinition:t().initialValues?.panelDefinition??L()},applyChanges:t=>{let n=H();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:V().toString(),x:0,y:z(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&&I(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,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=H();e.panels[u]=s;let d={i:V().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}))]}(d,l,a.itemLayouts),a.itemPanelKeys[d.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=>({isOpen:!1,openDiscardChangesConfirmationDialog(t){e(e=>{e.discardChangesConfirmationDialog=t})},closeDiscardChangesConfirmationDialog(){e(e=>{e.discardChangesConfirmationDialog=void 0})}}))(...e),...(e=>({openEditJsonDialog(){e(e=>{e.editJsonDialog={isOpen:!0}})},closeEditJsonDialog(){e(e=>{e.editJsonDialog={isOpen:!1}})}}))(...e),...(e=>({isOpen:!1,openSaveChangesConfirmationDialog(t){e(e=>{e.saveChangesConfirmationDialog=t},!1,"openSaveChangesConfirmationDialog")},closeSaveChangesConfirmationDialog(){e(e=>{e.saveChangesConfirmationDialog=void 0},!1,"closeSaveChangesConfirmationDialog")}}))(...e),kind:a,metadata:o,display:s,duration:l,refreshInterval:u,datasources:d,ttl:f,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={}}})=>{t(t=>{t.kind=e,t.metadata=n,t.display=r,t.panels=i;let{panelGroups:u,panelGroupOrder:d}=R(a);t.panelGroups=u,t.panelGroupOrder=d,t.duration=o,t.refreshInterval=s??P.DEFAULT_REFRESH_INTERVAL,t.datasources=l})}}})))}let F=({isEditMode:e,setEditMode:t})=>({isEditMode:e,setEditMode:t});function q(){return B(F)}let U=({setDashboard:e,openAddPanelGroup:t,openAddPanel:n})=>({setDashboard:e,openAddPanelGroup:t,openAddPanel:n});function J(){let{setDashboard:e,openAddPanelGroup:t,openAddPanel:n}=B(U);return{setDashboard:e,openAddPanelGroup:()=>t(),openAddPanel:()=>n()}}let Y=e=>e.panelGroupOrder;function K(){return B(Y)}let X=e=>e.panelGroups;function Q(){let e=K(),t=B(X);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 Z(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 ee=({openEditPanelGroup:e,deletePanelGroup:t,openAddPanel:n,updatePanelGroupLayouts:r})=>({openEditPanelGroup:e,deletePanelGroup:t,openAddPanel:n,updatePanelGroupLayouts:r});function et(e){let{moveUp:t,moveDown:n}=function(e){let t=B((0,h.useCallback)(t=>t.panelGroupOrder.findIndex(t=>t===e),[e])),n=B(er),r=B(en);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(ee);return{openEditPanelGroup:()=>r(e),deletePanelGroup:()=>i(e),openAddPanel:()=>a(e),moveUp:t,moveDown:n,updatePanelGroupLayouts:t=>o(e,t)}}let en=e=>e.swapPanelGroups,er=e=>e.panelGroupOrder.length,ei=e=>e.panelGroupEditor;function ea(){return B(ei)}let eo=({deletePanelGroupDialog:e,openDeletePanelGroupDialog:t,closeDeletePanelGroupDialog:n,deletePanelGroup:r})=>({deletePanelGroupDialog:e,openDeletePanelGroupDialog:t,closeDeletePanelGroupDialog:n,deletePanelGroup:r});function es(){let{deletePanelGroupDialog:e,openDeletePanelGroupDialog:t,closeDeletePanelGroupDialog:n,deletePanelGroup:r}=B(eo);return{deletePanelGroupDialog:e,deletePanelGroup:r,openDeletePanelGroupDialog:t,closeDeletePanelGroupDialog:()=>n()}}function el(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 eu=({openEditPanel:e,openDeletePanelDialog:t,duplicatePanel:n,setViewPanel:r})=>({openEditPanel:e,openDeletePanelDialog:t,duplicatePanel:n,setViewPanel:r});function ed(e){let{openEditPanel:t,openDeletePanelDialog:n,duplicatePanel:r,setViewPanel:i}=B(eu);return{openEditPanel:()=>t(e),openDeletePanelDialog:()=>n(e),duplicatePanel:()=>r(e),viewPanel:e=>i(e)}}let ec=e=>e.panelEditor;function ep(){return B(ec)}let ef=({deletePanelDialog:e,deletePanel:t,closeDeletePanelDialog:n})=>({deletePanelDialog:e,deletePanel:t,closeDeletePanelDialog:n});function eh(){return B(ef)}let eg=e=>e.duration;function em(){return B(eg)}let ey=e=>({setViewPanel:e.setViewPanel,getViewPanel:e.getViewPanel,viewPanelId:e.getViewPanel()});function eb(){return B(ey)}let ev=e=>e.getViewPanel();function ex(){return B(ev)}let ej=({saveChangesConfirmationDialog:e,openSaveChangesConfirmationDialog:t,closeSaveChangesConfirmationDialog:n})=>({saveChangesConfirmationDialog:e,openSaveChangesConfirmationDialog:t,closeSaveChangesConfirmationDialog:n});function ew(){return B(ej)}let eS=({discardChangesConfirmationDialog:e,openDiscardChangesConfirmationDialog:t,closeDiscardChangesConfirmationDialog:n})=>({discardChangesConfirmationDialog:e,openDiscardChangesConfirmationDialog:t,closeDiscardChangesConfirmationDialog:n});function eA(){return B(eS)}let eC=({editJsonDialog:e,openEditJsonDialog:t,closeEditJsonDialog:n})=>({editJsonDialog:e,openEditJsonDialog:t,closeEditJsonDialog:n});function eD(){return B(eC)}let eO=()=>{let{openAddPanelGroup:e}=J();return(0,i.jsx)(s.InfoTooltip,{description:u,children:(0,i.jsx)(a.A,{startIcon:(0,i.jsx)(o.default,{}),onClick:e,"aria-label":u,sx:p,children:"Panel Group"})})};var eE=n(69525);let ek=({variant:e="text",color:t="primary",label:n="Panel",fullWidth:r})=>{let{openAddPanel:o}=J();return(0,i.jsx)(s.InfoTooltip,{description:l,children:(0,i.jsx)(a.A,{startIcon:(0,i.jsx)(eE.default,{}),onClick:o,"aria-label":l,variant:e,color:t,fullWidth:r,sx:p,children:n})})};var eP=n(74628),eM=n(56599),eV=n(11750),eL=n(46477),eR=n(3725),eT=n(81023),eI=n(77308),e_=n(23434),ez=n(72052),eN=n(48927),eH=n(32494),e$=n(29424),eB=n(29009),eW=n(46733);function eG(e){return(0,eW.Ay)("MuiCollapse",e)}(0,eB.A)("MuiCollapse",["root","horizontal","vertical","entered","hidden","wrapper","wrapperInner"]);let eF=(0,eI.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,e_.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"}}]}))),eq=(0,eI.A)("div",{name:"MuiCollapse",slot:"Wrapper",overridesResolver:(e,t)=>t.wrapper})({display:"flex",width:"100%",variants:[{props:{orientation:"horizontal"},style:{width:"auto",height:"100%"}}]}),eU=(0,eI.A)("div",{name:"MuiCollapse",slot:"WrapperInner",overridesResolver:(e,t)=>t.wrapperInner})({width:"100%",variants:[{props:{orientation:"horizontal"},style:{width:"auto",height:"100%"}}]}),eJ=h.forwardRef(function(e,t){let n=(0,ez.b)({props:e,name:"MuiCollapse"}),{addEndListener:r,children:a,className:o,collapsedSize:s="0px",component:l,easing:u,in:d,onEnter:c,onEntered:p,onEntering:f,onExit:g,onExited:m,onExiting:y,orientation:b="vertical",style:v,timeout:x=eN.p0.standard,TransitionComponent:j=eL.Ay,...w}=n,S={...n,orientation:b,collapsedSize:s},A=(e=>{let{orientation:t,classes:n}=e,r={root:["root",`${t}`],entered:["entered"],hidden:["hidden"],wrapper:["wrapper",`${t}`],wrapperInner:["wrapperInner",`${t}`]};return(0,eT.A)(r,eG,n)})(S),C=(0,eM.A)(),D=(0,eR.A)(),O=h.useRef(null),E=h.useRef(),k="number"==typeof s?`${s}px`:s,P="horizontal"===b,M=P?"width":"height",V=h.useRef(null),L=(0,e$.A)(t,V),R=e=>t=>{if(e){let n=V.current;void 0===t?e(n):e(n,t)}},T=()=>O.current?O.current[P?"clientWidth":"clientHeight"]:0,I=R((e,t)=>{O.current&&P&&(O.current.style.position="absolute"),e.style[M]=k,c&&c(e,t)}),_=R((e,t)=>{let n=T();O.current&&P&&(O.current.style.position="");let{duration:r,easing:i}=(0,eH.c)({style:v,timeout:x,easing:u},{mode:"enter"});if("auto"===x){let t=C.transitions.getAutoHeightDuration(n);e.style.transitionDuration=`${t}ms`,E.current=t}else e.style.transitionDuration="string"==typeof r?r:`${r}ms`;e.style[M]=`${n}px`,e.style.transitionTimingFunction=i,f&&f(e,t)}),z=R((e,t)=>{e.style[M]="auto",p&&p(e,t)}),N=R(e=>{e.style[M]=`${T()}px`,g&&g(e)}),H=R(m),$=R(e=>{let t=T(),{duration:n,easing:r}=(0,eH.c)({style:v,timeout:x,easing:u},{mode:"exit"});if("auto"===x){let n=C.transitions.getAutoHeightDuration(t);e.style.transitionDuration=`${n}ms`,E.current=n}else e.style.transitionDuration="string"==typeof n?n:`${n}ms`;e.style[M]=k,e.style.transitionTimingFunction=r,y&&y(e)});return(0,i.jsx)(j,{in:d,onEnter:I,onEntered:z,onEntering:_,onExit:N,onExited:H,onExiting:$,addEndListener:e=>{"auto"===x&&D.start(E.current||0,e),r&&r(V.current,e)},nodeRef:V,timeout:"auto"===x?null:x,...w,children:(e,{ownerState:t,...n})=>(0,i.jsx)(eF,{as:l,className:(0,eV.A)(A.root,o,{entered:A.entered,exited:!d&&"0px"===k&&A.hidden}[e]),style:{[P?"minWidth":"minHeight"]:k,...v},ref:L,ownerState:{...S,state:e},...n,children:(0,i.jsx)(eq,{ownerState:{...S,state:e},className:A.wrapper,ref:O,children:(0,i.jsx)(eU,{ownerState:{...S,state:e},className:A.wrapperInner,children:a})})})})});eJ&&(eJ.muiSupportAuto=!0);var eY=n(29057),eK=n(12548);function eX(e){let[t,n]=(0,h.useState)(!0);return(0,h.useEffect)(()=>{t&&n(!1)},[t]),(0,i.jsx)(eQ,{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 eQ=(0,eI.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 eZ=Object.defineProperty,e0=new Map,e1=new WeakMap,e2=0,e9=void 0;h.Component;var e3=n(68150);function e4(e){return(0,eW.Ay)("MuiCardContent",e)}(0,eB.A)("MuiCardContent",["root"]);let e5=(0,eI.A)("div",{name:"MuiCardContent",slot:"Root",overridesResolver:(e,t)=>t.root})({padding:16,"&:last-child":{paddingBottom:24}}),e7=h.forwardRef(function(e,t){let n=(0,ez.b)({props:e,name:"MuiCardContent"}),{className:r,component:a="div",...o}=n,s={...n,component:a},l=(e=>{let{classes:t}=e;return(0,eT.A)({root:["root"]},e4,t)})(s);return(0,i.jsx)(e5,{as:a,className:(0,eV.A)(l.root,r),ownerState:s,ref:t,...o})});var e8=n(85180),e6=n(33313);function te(e){let{kind:t,spec:n,contentDimensions:r,definition:a,queryResults:o}=e,{data:s,isLoading:l}=(0,M.usePlugin)("Panel",t,{useErrorBoundary:!0}),u=s?.PanelComponent,d=s?.supportedQueryTypes||[],c=d.length>0?o:[];if(l)return(0,i.jsx)(e6.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 c)if(!d.includes(e.definition.kind))throw Error(`This panel does not support queries of type '${e.definition.kind}'. Supported query types: ${d.join(", ")}.`);return(0,i.jsx)(u,{spec:n,contentDimensions:r,definition:a,queryResults:c})}function tt(e){let{panelPluginKind:t,definition:n,queryResults:r,spec:a,contentDimensions:o}=e,{data:s,isLoading:l}=(0,M.usePlugin)("Panel",t,{useErrorBoundary:!0});if(l)return(0,i.jsx)(e6.A,{variant:"rectangular",width:o?.width,height:o?.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,i.jsx)(te,{kind:t,spec:a,contentDimensions:o,definition:n,queryResults:u});if(r.some(e=>e.isFetching))return(0,i.jsx)(tn,{plugin:s,spec:a,definition:n,contentDimensions:o});let d=r.find(e=>e.error);if(d)throw d.error;return(0,i.jsx)(tn,{plugin:s,spec:a,definition:n,contentDimensions:o})}function tn({plugin:e,spec:t,definition:n,contentDimensions:r}){return e?.LoadingComponent?(0,i.jsx)(e.LoadingComponent,{spec:t,contentDimensions:r,definition:n,queryResults:[]}):(0,i.jsx)(s.LoadingOverlay,{})}var tr=n(47599),ti=n(88091);function ta(e){return(0,eW.Ay)("MuiCardHeader",e)}let to=(0,eB.A)("MuiCardHeader",["root","avatar","action","content","title","subheader"]);var ts=n(73397);let tl=(0,eI.A)("div",{name:"MuiCardHeader",slot:"Root",overridesResolver:(e,t)=>[{[`& .${to.title}`]:t.title},{[`& .${to.subheader}`]:t.subheader},t.root]})({display:"flex",alignItems:"center",padding:16}),tu=(0,eI.A)("div",{name:"MuiCardHeader",slot:"Avatar",overridesResolver:(e,t)=>t.avatar})({display:"flex",flex:"0 0 auto",marginRight:16}),td=(0,eI.A)("div",{name:"MuiCardHeader",slot:"Action",overridesResolver:(e,t)=>t.action})({flex:"0 0 auto",alignSelf:"flex-start",marginTop:-4,marginRight:-8,marginBottom:-4}),tc=(0,eI.A)("div",{name:"MuiCardHeader",slot:"Content",overridesResolver:(e,t)=>t.content})({flex:"1 1 auto",[`.${tr.A.root}:where(& .${to.title})`]:{display:"block"},[`.${tr.A.root}:where(& .${to.subheader})`]:{display:"block"}}),tp=h.forwardRef(function(e,t){let n=(0,ez.b)({props:e,name:"MuiCardHeader"}),{action:r,avatar:a,component:o="div",disableTypography:s=!1,subheader:l,subheaderTypographyProps:u,title:d,titleTypographyProps:c,slots:p={},slotProps:f={},...h}=n,g={...n,component:o,disableTypography:s},m=(e=>{let{classes:t}=e;return(0,eT.A)({root:["root"],avatar:["avatar"],action:["action"],content:["content"],title:["title"],subheader:["subheader"]},ta,t)})(g),y={slots:p,slotProps:{title:c,subheader:u,...f}},b=d,[v,x]=(0,ts.A)("title",{className:m.title,elementType:ti.A,externalForwardedProps:y,ownerState:g,additionalProps:{variant:a?"body2":"h5",component:"span"}});null==b||b.type===ti.A||s||(b=(0,i.jsx)(v,{...x,children:b}));let j=l,[w,S]=(0,ts.A)("subheader",{className:m.subheader,elementType:ti.A,externalForwardedProps:y,ownerState:g,additionalProps:{variant:a?"body2":"body1",color:"textSecondary",component:"span"}});null==j||j.type===ti.A||s||(j=(0,i.jsx)(w,{...S,children:j}));let[A,C]=(0,ts.A)("root",{ref:t,className:m.root,elementType:tl,externalForwardedProps:{...y,...h,component:o},ownerState:g}),[D,O]=(0,ts.A)("avatar",{className:m.avatar,elementType:tu,externalForwardedProps:y,ownerState:g}),[E,k]=(0,ts.A)("content",{className:m.content,elementType:tc,externalForwardedProps:y,ownerState:g}),[P,M]=(0,ts.A)("action",{className:m.action,elementType:td,externalForwardedProps:y,ownerState:g});return(0,i.jsxs)(A,{...C,children:[a&&(0,i.jsx)(D,{...O,children:a}),(0,i.jsxs)(E,{...k,children:[b,j]}),r&&(0,i.jsx)(P,{...M,children:r})]})});var tf=n(315),th=n(65211),tg=n(25742),tm=n(91823),ty=n(72795),tb=n(35050),tv=n(53493),tx=n(59909),tj=n(86067),tw=n(61318),tS=n(50172),tA=n(14637),tC=n(4178),tD=n(74830),tO=n(17366),tE=n(47095);let tk=(0,eI.A)(tE.A)(({theme:e})=>({borderRadius:e.shape.borderRadius,padding:"4px"}));var tP=n(30145),tM=n(97653),tV=n(59238),tL=n(93399),tR=n(24726),tT=n(26952),tI=n(82561),t_=n(95279);let tz={primary:!0,secondary:!0,error:!0,info:!0,success:!0,warning:!0,textPrimary:!0,textSecondary:!0,textDisabled:!0},tN=(0,eI.A)(ti.A,{name:"MuiLink",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.root,t[`underline${(0,tR.A)(n.underline)}`],"button"===n.component&&t.button]}})((0,e_.A)(({theme:e})=>({variants:[{props:{underline:"none"},style:{textDecoration:"none"}},{props:{underline:"hover"},style:{textDecoration:"none","&:hover":{textDecoration:"underline"}}},{props:{underline:"always"},style:{textDecoration:"underline","&:hover":{textDecorationColor:"inherit"}}},{props:({underline:e,ownerState:t})=>"always"===e&&"inherit"!==t.color,style:{textDecorationColor:"var(--Link-underlineColor)"}},...Object.entries(e.palette).filter((0,tT.A)()).map(([t])=>({props:{underline:"always",color:t},style:{"--Link-underlineColor":e.vars?`rgba(${e.vars.palette[t].mainChannel} / 0.4)`:(0,tV.X4)(e.palette[t].main,.4)}})),{props:{underline:"always",color:"textPrimary"},style:{"--Link-underlineColor":e.vars?`rgba(${e.vars.palette.text.primaryChannel} / 0.4)`:(0,tV.X4)(e.palette.text.primary,.4)}},{props:{underline:"always",color:"textSecondary"},style:{"--Link-underlineColor":e.vars?`rgba(${e.vars.palette.text.secondaryChannel} / 0.4)`:(0,tV.X4)(e.palette.text.secondary,.4)}},{props:{underline:"always",color:"textDisabled"},style:{"--Link-underlineColor":(e.vars||e).palette.text.disabled}},{props:{component:"button"},style:{position:"relative",WebkitTapHighlightColor:"transparent",backgroundColor:"transparent",outline:0,border:0,margin:0,borderRadius:0,padding:0,cursor:"pointer",userSelect:"none",verticalAlign:"middle",MozAppearance:"none",WebkitAppearance:"none","&::-moz-focus-inner":{borderStyle:"none"},[`&.${tI.A.focusVisible}`]:{outline:"auto"}}}]}))),tH=h.forwardRef(function(e,t){let n=(0,ez.b)({props:e,name:"MuiLink"}),r=(0,eM.A)(),{className:a,color:o="primary",component:s="a",onBlur:l,onFocus:u,TypographyClasses:d,underline:c="always",variant:p="inherit",sx:f,...g}=n,[m,y]=h.useState(!1),b={...n,color:o,component:s,focusVisible:m,underline:c,variant:p},v=(e=>{let{classes:t,component:n,focusVisible:r,underline:i}=e,a={root:["root",`underline${(0,tR.A)(i)}`,"button"===n&&"button",r&&"focusVisible"]};return(0,eT.A)(a,tI.t,t)})(b);return(0,i.jsx)(tN,{color:o,className:(0,eV.A)(v.root,a),classes:d,component:s,onBlur:e=>{(0,tL.A)(e.target)||y(!1),l&&l(e)},onFocus:e=>{(0,tL.A)(e.target)&&y(!0),u&&u(e)},ref:t,ownerState:b,variant:p,...g,sx:[...void 0===tz[o]?[{color:o}]:[],...Array.isArray(f)?f:[f]],style:{...g.style,..."always"===c&&"inherit"!==o&&!tz[o]&&{"--Link-underlineColor":(({theme:e,ownerState:t})=>{let n=t.color,r=(0,t_.Yn)(e,`palette.${n}.main`,!1)||(0,t_.Yn)(e,`palette.${n}`,!1)||t.color,i=(0,t_.Yn)(e,`palette.${n}.mainChannel`)||(0,t_.Yn)(e,`palette.${n}Channel`);return"vars"in e&&i?`rgba(${i} / 0.4)`:(0,tV.X4)(r,.4)})({theme:r,ownerState:b})}}})});var t$=n(65241);function tB({links:e}){let[t,n]=(0,h.useState)(null);if(1===e.length&&e[0]){let t=e[0];return(0,i.jsx)(tW,{link:t})}return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.InfoTooltip,{description:`${e.length} links`,enterDelay:100,children:(0,i.jsx)(tE.A,{"aria-label":"Panel links",size:"small",onClick:e=>{n(e.currentTarget)},sx:e=>({borderRadius:e.shape.borderRadius,padding:"4px"}),children:(0,i.jsx)(t$.default,{"aria-describedby":"links-icon",fontSize:"inherit",sx:{color:e=>e.palette.text.secondary}})})}),(0,i.jsx)(tP.A,{anchorEl:t,open:!!t,onClose:()=>{n(null)},MenuListProps:{"aria-labelledby":"panel-links"},children:e.map(e=>(0,i.jsx)(tG,{link:e},e.url))})]})}function tW({link:e}){let{url:t,name:n,tooltip:r,targetBlank:a}=tF(e);return(0,i.jsx)(s.InfoTooltip,{description:r??t,enterDelay:100,children:(0,i.jsx)(tE.A,{"aria-label":n??t,size:"small",href:t,target:a?"_blank":"_self",sx:e=>({borderRadius:e.shape.borderRadius,padding:"4px"}),children:(0,i.jsx)(t$.default,{fontSize:"inherit",sx:{color:e=>e.palette.text.secondary}})})})}function tG({link:e}){let{url:t,name:n,tooltip:r,targetBlank:a}=tF(e);return(0,i.jsx)(s.InfoTooltip,{description:r??t,enterDelay:100,children:(0,i.jsx)(tM.A,{component:tH,href:t,target:a?"_blank":"_self",children:n??t})})}function tF(e){let t=(0,M.useReplaceVariablesInString)(e.url)??e.url,n=(0,M.useReplaceVariablesInString)(e.name),r=(0,M.useReplaceVariablesInString)(e.tooltip);return!1===e.renderVariables?e:{...e,url:t,name:n,tooltip:r}}let tq={error:(0,i.jsx)(tD.default,{color:"error"}),warning:(0,i.jsx)(tC.default,{fontSize:"inherit",color:"warning"}),info:(0,i.jsx)(tO.default,{fontSize:"inherit",color:"info"})},tU=(0,eI.A)(eP.A)({display:"none",alignItems:"center",flexGrow:1,justifyContent:"flex-end"}),tJ=({editHandlers:e,readHandlers:t,viewQueriesHandler:n,extra:r,title:a,description:o,descriptionTooltipId:l,links:u,queryResults:d,pluginActions:c=[],showIcons:p})=>{let g=(0,h.useMemo)(()=>{if(o&&o.trim().length>0)return(0,i.jsx)(s.InfoTooltip,{id:l,description:o,enterDelay:100,children:(0,i.jsx)(tk,{"aria-label":"panel description",size:"small",children:(0,i.jsx)(tO.default,{"aria-describedby":"info-tooltip","aria-hidden":!1,fontSize:"inherit",sx:{color:e=>e.palette.text.secondary}})})})},[l,o]),m=u&&u.length>0&&(0,i.jsx)(tB,{links:u}),y=void 0===e&&r,b=(0,h.useMemo)(()=>{let e=d.some(e=>e.data),t=d.some(e=>e.isFetching),n=d.filter(e=>e.error);if(t&&e)return(0,i.jsx)(tg.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,i.jsx)(s.InfoTooltip,{description:e,children:(0,i.jsx)(tk,{"aria-label":"panel errors",size:"small",children:(0,i.jsx)(tC.default,{fontSize:"inherit",sx:{color:e=>e.palette.error.main}})})})}},[d]),v=(0,h.useMemo)(()=>{let e=d.flatMap(e=>e.data?.metadata?.notices??[]);if(e.length>0){let t=e[e.length-1];return(0,i.jsx)(s.InfoTooltip,{description:t.message,children:(0,i.jsx)(tk,{"aria-label":"panel notices",size:"small",children:tq[t.type]})})}},[d]),x=(0,h.useMemo)(()=>{if(void 0!==t){let e;return(0,i.jsx)(s.InfoTooltip,{description:"Toggle View Mode",children:(0,i.jsx)(tk,{"aria-label":(e=a,`toggle panel ${e} view mode`),size:"small",onClick:t.onViewPanelClick,children:t.isPanelViewed?(0,i.jsx)(tb.default,{fontSize:"inherit"}):(0,i.jsx)(tv.default,{fontSize:"inherit"})})})}},[t,a]),j=(0,h.useMemo)(()=>{let e;return n?.onClick?(0,i.jsx)(s.InfoTooltip,{description:"Open query view",children:(0,i.jsx)(tk,{"aria-label":(e=a,`open query view for panel ${e}`),size:"small",onClick:n.onClick,children:(0,i.jsx)(ty.default,{fontSize:"inherit"})})}):null},[n,a]),w=(0,h.useMemo)(()=>{if(void 0!==e){let t,n,r;return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.InfoTooltip,{description:"Edit",children:(0,i.jsx)(tk,{"aria-label":(t=a,`edit panel ${t}`),size:"small",onClick:e.onEditPanelClick,children:(0,i.jsx)(tx.default,{fontSize:"inherit"})})}),(0,i.jsx)(s.InfoTooltip,{description:"Duplicate",children:(0,i.jsx)(tk,{"aria-label":(n=a,`duplicate panel ${n}`),size:"small",onClick:e.onDuplicatePanelClick,children:(0,i.jsx)(tS.default,{fontSize:"inherit",sx:{transform:"scale(0.925)"}})})}),(0,i.jsx)(s.InfoTooltip,{description:"Delete",children:(0,i.jsx)(tk,{"aria-label":(r=a,`delete panel ${r}`),size:"small",onClick:e.onDeletePanelClick,children:(0,i.jsx)(tj.default,{fontSize:"inherit"})})})]})}},[e,a]),S=(0,h.useMemo)(()=>{if(w&&!t?.isPanelViewed){let e;return(0,i.jsx)(s.InfoTooltip,{description:"Move",children:(0,i.jsx)(tk,{"aria-label":(e=a,`move panel ${e}`),size:"small",children:(0,i.jsx)(tw.default,{className:"drag-handle",sx:{cursor:"grab"},fontSize:"inherit"})})})}},[w,t,a]),A=(0,i.jsx)(eP.A,{sx:{flexGrow:1}}),C=({children:e})=>"hover"===p?(0,i.jsx)(eP.A,{sx:{display:"var(--panel-hover, none)"},children:e}):(0,i.jsx)(i.Fragment,{children:e});return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(tU,{sx:e=>({[e.containerQueries(f).between(0,170)]:{display:"flex"}}),children:[A,(0,i.jsxs)(C,{children:[(0,i.jsxs)(tY,{title:a,children:[g," ",m," ",b," ",v," ",y," ",j,x," ",c,w]}),S]})]}),(0,i.jsxs)(tU,{sx:e=>({[e.containerQueries(f).between(170,220)]:{display:"flex"}}),children:[(0,i.jsxs)(C,{children:[g," ",m]}),A," ",b,v,(0,i.jsxs)(C,{children:[y,x,(0,i.jsxs)(tY,{title:a,children:[w," ",j," ",c]}),S]})]}),(0,i.jsxs)(tU,{sx:e=>({display:"flex",[e.containerQueries(f).down(220)]:{display:"none"}}),children:[(0,i.jsxs)(C,{children:[g," ",m]}),A," ",b,v,(0,i.jsxs)(C,{children:[y,j,x," ",w,c.length<=1?c:(0,i.jsx)(tY,{title:a,children:c}),S]})]})]})},tY=({children:e,title:t})=>{let n,[r,a]=(0,h.useState)();if(!((0,h.isValidElement)(e)||Array.isArray(e)&&e.some(h.isValidElement)))return null;let o=()=>{a(void 0)},s=!!r,l=s?"actions-menu":void 0;return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(tk,{className:"show-actions","aria-describedby":l,onClick:e=>{a(e.currentTarget.getBoundingClientRect())},"aria-label":(n=t,`show panel actions for ${n}`),size:"small",children:(0,i.jsx)(tA.default,{fontSize:"inherit"})}),(0,i.jsx)(tm.Ay,{id:l,open:s,anchorReference:"anchorPosition",anchorPosition:r,onClose:o,anchorOrigin:{vertical:"bottom",horizontal:"left"},children:(0,i.jsx)(tf.A,{direction:"row",alignItems:"center",sx:{padding:1},onClick:o,children:e})})]})};function tK({id:e,title:t,description:n,links:r,queryResults:a,readHandlers:o,editHandlers:l,sx:u,extra:d,pluginActions:c,showIcons:p,viewQueriesHandler:g,dimension:m,...y}){let b=`${e}-title`,v=`${e}-description`,x=(0,M.useReplaceVariablesInString)(t),j=(0,M.useReplaceVariablesInString)(n),w=(0,h.useRef)(null),S=!!(w.current&&m?.width)&&w.current.scrollWidth>w.current.clientWidth;return(0,i.jsx)(tp,{id:e,component:"header","aria-labelledby":b,"aria-describedby":v,disableTypography:!0,title:(0,i.jsxs)(tf.A,{direction:"row",alignItems:"center",height:"var(--panel-header-height, 30px)",children:[(0,i.jsx)(th.A,{title:x,disableHoverListener:!S,children:(0,i.jsx)(ti.A,{id:b,variant:"subtitle1",ref:w,sx:{lineHeight:"24px",minHeight:"26px",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:x})}),(0,i.jsx)(tJ,{title:x,description:j,descriptionTooltipId:v,links:r,readHandlers:o,editHandlers:l,viewQueriesHandler:g,extra:d,queryResults:a,pluginActions:c,showIcons:p})]}),sx:(0,s.combineSx)(e=>({containerType:"inline-size",containerName:f,padding:e.spacing(1),borderBottom:`solid 1px ${e.palette.divider}`,".MuiCardHeader-content":{overflow:"hidden"}}),u),...y})}let tX=(0,h.memo)(function(e){let{definition:t,readHandlers:n,editHandlers:r,onMouseEnter:a,onMouseLeave:o,sx:l,panelOptions:u,panelGroupItemId:d,viewQueriesHandler:c,...p}=e,f=(0,s.useId)("Panel"),g=`${f}-header`,[m,y]=(0,h.useState)(null),{width:b,height:v}=(0,e8.default)({ref:m}),x=(0,h.useMemo)(()=>{if(void 0!==b&&void 0!==v)return{width:b,height:v}},[b,v]),{queryResults:j}=(0,M.useDataQueriesContext)(),{getPlugin:w}=(0,M.usePluginRegistry)(),S=(0,h.useMemo)(()=>({spec:t.spec.plugin.spec,queryResults:j.map(e=>({definition:e.definition,data:e.data})),contentDimensions:x,definition:t}),[t,x,j]),[A,C]=(0,h.useState)([]);(0,h.useEffect)(()=>{let e=!1,n=async()=>{let n=t.spec.plugin.kind;if(!n||!S){e||C([]);return}try{if(!w||"function"!=typeof w){e||C([]);return}let t=await w("Panel",n);if(e)return;if(!t||"object"!=typeof t||!t.actions||!Array.isArray(t.actions)||0===t.actions.length){e||C([]);return}let r=t.actions.filter(e=>!e.location||"header"===e.location).map((e,t)=>{let n=e.component;try{return(0,i.jsx)(n,{...S},`plugin-action-${t}`)}catch(e){return console.warn(`Failed to render plugin action ${t}:`,e),null}}).filter(e=>!!e);e||C(r)}catch(t){e||(console.warn("Failed to load plugin actions:",t),C([]))}},r=setTimeout(()=>{n()},0);return()=>{e=!0,clearTimeout(r)}},[t.spec.plugin.kind,S,w]);let D=u?.showIcons??(r||n?.isPanelViewed?"always":"hover");return(0,i.jsxs)(e3.A,{component:"section",sx:(0,s.combineSx)({width:"100%",height:"100%",display:"flex",flexFlow:"column nowrap",":hover":{"--panel-hover":"block"}},l),variant:"outlined",onMouseEnter:e=>{a?.(e)},onMouseLeave:e=>{o?.(e)},"aria-labelledby":g,"aria-describedby":g,"data-testid":"panel",...p,children:[!u?.hideHeader&&(0,i.jsx)(tK,{extra:u?.extra?.({panelDefinition:t,panelGroupItemId:d}),id:g,title:t.spec.display.name,description:t.spec.display.description,queryResults:j,readHandlers:n,editHandlers:r,viewQueriesHandler:c,links:t.spec.links,pluginActions:A,showIcons:D,sx:{py:"2px",pl:"8px",pr:"2px"},dimension:x}),(0,i.jsx)(e7,{component:"figure",sx:{position:"relative",overflow:"hidden",flexGrow:1,margin:0,padding:0,":last-child":{padding:0}},ref:y,children:(0,i.jsx)(s.ErrorBoundary,{FallbackComponent:s.ErrorAlert,resetKeys:[t.spec,j],children:(0,i.jsx)(tt,{definition:t,panelPluginKind:t.spec.plugin.kind,spec:t.spec.plugin.spec,contentDimensions:x,queryResults:j})})})]})});var tQ=n(6227);function tZ({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,i.jsxs)(g().Fragment,{children:[(0,i.jsx)(M.PluginSpecEditor,{value:n.spec.plugin.spec,pluginSelection:{kind:n.spec.plugin.kind,type:n.kind},onChange:()=>{},isReadonly:!0}),r<t.length-1&&(0,i.jsx)(tQ.A,{sx:{my:2}})]},`query-${r}`))}),e},[t]);return(0,i.jsxs)(s.Dialog,{open:e,onClose:n,maxWidth:"lg",fullWidth:!0,children:[(0,i.jsx)(s.Dialog.Header,{children:"Query Viewer"}),(0,i.jsx)(s.Dialog.Content,{children:r}),(0,i.jsx)(s.Dialog.Actions,{children:(0,i.jsx)(a.A,{variant:"outlined",color:"secondary",onClick:n,children:"Close"})})]})}function t0(e){let t,{panelGroupItemId:n,width:r}=e,a=el(n),{spec:{queries:o}}=a,{isEditMode:s}=q(),{openEditPanel:l,openDeletePanelDialog:u,duplicatePanel:d,viewPanel:c}=ed(n),p=ex(),{ref:f,inView:g}=function({threshold:e,delay:t,trackVisibility:n,rootMargin:r,root:i,triggerOnce:a,skip:o,initialInView:s,fallbackInView:l,onChange:u}={}){var d;let[c,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&&c)return s=function(e,t,n={},r=e9){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":(e1.has(n)||(e2+=1,e1.set(n,e2.toString())),e1.get(n)):e[t]}`}).toString(),n=e0.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},e0.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(),e0.delete(i))}}(c,(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,c,i,r,a,o,n,l,t]);let y=null==(d=g.entry)?void 0:d.target,b=h.useRef(void 0);c||!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}({threshold:.2,initialInView:!1,triggerOnce:!0}),[m,y]=(0,h.useState)(!1),b=(0,h.useMemo)(()=>s||!o?.length?void 0:{onClick:()=>{y(!0)}},[s,o]),v={isPanelViewed:(0,P.isPanelGroupItemIdEqual)(p,n),onViewPanelClick:function(){void 0===p?c(n):c(void 0)}};s&&(t={onEditPanelClick:l,onDuplicatePanelClick:d,onDeletePanelClick:u});let x=(0,M.useSuggestedStepMs)(r),{data:j}=(0,M.usePlugin)("Panel",a.spec.plugin.kind),w=o??[],S=w.map(e=>({kind:e.spec.plugin.kind,spec:e.spec.plugin.spec})),A="function"==typeof j?.queryOptions?j?.queryOptions(a.spec.plugin.spec):j?.queryOptions;return(0,i.jsxs)(eP.A,{ref:f,sx:{width:"100%",height:"100%"},children:[(0,i.jsx)(M.DataQueriesProvider,{definitions:S,options:{suggestedStepMs:x,...A},queryOptions:{enabled:g},children:g&&(0,i.jsx)(tX,{definition:a,readHandlers:v,editHandlers:t,viewQueriesHandler:b,panelOptions:e.panelOptions,panelGroupItemId:n})}),(0,i.jsx)(tZ,{open:m,queryDefinitions:w,onClose:()=>y(!1)})]})}var t1=n(87275),t2=n(11061),t9=n(65168),t3=n(46001);function t4(e){let t,n,r,a,o,{panelGroupId:l,title:u,collapse:d}=e,c=(0,M.useReplaceVariablesInString)(u),{openAddPanel:p,openEditPanelGroup:f,moveUp:h,moveDown:g}=et(l),{openDeletePanelGroupDialog:m}=es(),{isEditMode:y}=q(),b=(0,i.jsx)(ti.A,{variant:"h2",children:c});return(0,i.jsx)(eP.A,{onClick:d?.onToggleOpen,sx:{display:"flex",justifyContent:"start",alignItems:"center",cursor:d?"pointer":"auto",backgroundColor:({palette:e})=>e.background.paper},"data-testid":"panel-group-header",children:d?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(tE.A,{sx:{marginRight:1},"aria-label":`${d.isOpen?"collapse":"expand"} group ${c}`,children:d.isOpen?(0,i.jsx)(t1.default,{}):(0,i.jsx)(t2.default,{})}),b,y&&(0,i.jsxs)(tf.A,{direction:"row",marginLeft:"auto",children:[(0,i.jsx)(s.InfoTooltip,{description:"Add panel to group",children:(0,i.jsx)(tE.A,{"aria-label":(t=c,`add panel to group ${t}`),onClick:e=>{e.stopPropagation(),p()},children:(0,i.jsx)(eE.default,{})})}),(0,i.jsx)(s.InfoTooltip,{description:"Edit group",children:(0,i.jsx)(tE.A,{"aria-label":(n=c,`edit group ${n}`),onClick:e=>{e.stopPropagation(),f()},children:(0,i.jsx)(tx.default,{})})}),(0,i.jsx)(s.InfoTooltip,{description:"Delete group",children:(0,i.jsx)(tE.A,{"aria-label":(r=c,`delete group ${r}`),onClick:e=>{e.stopPropagation(),m(l)},children:(0,i.jsx)(tj.default,{})})}),(0,i.jsx)(s.InfoTooltip,{description:"Move group down",children:(0,i.jsx)(tE.A,{"aria-label":(a=c,`move group ${a} down`),disabled:void 0===g,onClick:e=>{e.stopPropagation(),g?.()},children:(0,i.jsx)(t3.default,{})})}),(0,i.jsx)(s.InfoTooltip,{description:"Move group up",children:(0,i.jsx)(tE.A,{"aria-label":(o=c,`move group ${o} up`),disabled:void 0===h,onClick:e=>{e.stopPropagation(),h?.()},children:(0,i.jsx)(t9.default,{})})})]})]}):b})}function t5({panelGroupId:e,groupDefinition:t,gridColWidth:n,panelFullHeight:r,panelOptions:a,isEditMode:o=!1,onLayoutChange:l,onWidthChange:u,repeatVariable:d}){let c=(0,h.useMemo)(()=>(0,eK.WidthProvider)(eK.Responsive),[]),p=(0,eM.A)(),f=(0,eY.useViewPanelGroup)(),[g,m]=(0,h.useState)(!t.isCollapsed),y=f?.panelGroupId===e&&f.repeatVariable?.[0]===d?.[0]&&f.repeatVariable?.[1]===d?.[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,i.jsxs)(eX,{sx:{display:v?"block":"none",height:b?`${r}px`:"unset",overflow:b?"hidden":"unset"},children:[t.title&&(0,i.jsx)(t4,{panelGroupId:e,title:t.title,collapse:void 0===t.isCollapsed?void 0:{isOpen:g,onToggleOpen:()=>m(e=>!e)}}),(0,i.jsx)(eJ,{in:g,unmountOnExit:!0,appear:!1,"data-testid":"panel-group-content",children:(0,i.jsx)(c,{className:"layout",breakpoints:{sm:p.breakpoints.values.sm,xxs:0},cols:_,rowHeight:30,draggableHandle:".drag-handle",resizeHandles:["se"],isDraggable:o&&!y,isResizable:o&&!y,margin:[10,10],containerPadding:[0,10],layouts:{sm:x},onLayoutChange:l,onWidthChange:u,allowOverlap:y,children:x.map(({i:t,w:r})=>(0,i.jsx)("div",{style:{display:b?b===t?"unset":"none":"unset"},children:(0,i.jsx)(s.ErrorBoundary,{FallbackComponent:s.ErrorAlert,children:(0,i.jsx)(t0,{panelOptions:a,panelGroupItemId:{panelGroupId:e,panelGroupItemLayoutId:t,repeatVariable:d},width:t7(r,n)})})},t))})})]})}let t7=(e,t)=>Number.isFinite(e)?Math.round(t*e+10*Math.max(0,e-1)):e;function t8(e){let{panelGroupId:t,panelOptions:n,panelFullHeight:r}=e,a=Z(t),{updatePanelGroupLayouts:o}=et(t),s=ex(),{isEditMode:l}=q(),[u,d]=(0,h.useState)(0),c=s?.panelGroupId===t,p=(e,t)=>{let n=t.sm;n&&!c&&o(n)},f=(e,t,n,r)=>{d((e-t[0]*(n-1)-2*r[0])/n)};return(0,i.jsx)(i.Fragment,{children:a.repeatVariable?(0,i.jsx)(t6,{repeatVariableName:a.repeatVariable,panelGroupId:t,groupDefinition:a,gridColWidth:u,panelFullHeight:r,panelOptions:n,isEditMode:l,onLayoutChange:p,onWidthChange:f}):(0,i.jsx)(t5,{panelGroupId:t,groupDefinition:a,gridColWidth:u,panelFullHeight:r,panelOptions:n,isEditMode:l,onLayoutChange:p,onWidthChange:f})})}function t6({repeatVariableName:e,panelGroupId:t,groupDefinition:n,gridColWidth:r,panelFullHeight:a,panelOptions:o,isEditMode:s=!1,onLayoutChange:l,onWidthChange:u}){let d=(0,M.useVariableValues)(),c=d[e];return void 0!==c&&Array.isArray(c.value)&&0!==c.value.length?(0,i.jsx)(i.Fragment,{children:c.value.map(c=>(0,i.jsx)(M.VariableContext.Provider,{value:{state:{...d,[e]:{value:c,loading:!1}}},children:(0,i.jsx)(t5,{panelGroupId:t,groupDefinition:n,gridColWidth:r,panelFullHeight:a,panelOptions:o,isEditMode:s,onLayoutChange:l,onWidthChange:u,repeatVariable:[e,c]})},`${e}-${c}`))}):(0,i.jsx)(t5,{panelGroupId:t,groupDefinition:n,gridColWidth:r,panelFullHeight:a,panelOptions:o,isEditMode:s,onLayoutChange:l,onWidthChange:u})}let{useDebugValue:ne}=h,{useSyncExternalStoreWithSelector:nt}=b,nn=e=>e;function nr(e,t=nn,n){let r=nt(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return ne(r),r}function ni(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 na(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]===P.DEFAULT_ALL_VALUE&&(n.value=P.DEFAULT_ALL_VALUE)}return n}function no(e,t,n=[]){let r=new M.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},{...na(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},{...na(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 ns=n(57348);let nl="var-",nu={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""}},nd=(0,h.createContext)(void 0);function nc(){let e=(0,h.useContext)(nd);if(!e)throw Error("VariableStoreContext not initialized");return e}function np(e){return w(nc(),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 nf(e,t){return nr(nc(),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 nh(){return w(nc(),e=>({setVariableValue:e.setVariableValue,setVariableLoading:e.setVariableLoading,setVariableOptions:e.setVariableOptions,setVariableDefinitions:e.setVariableDefinitions,setVariableDefaultValues:e.setVariableDefaultValues,getSavedVariablesStatus:e.getSavedVariablesStatus}),k)}function ng(){return nr(nc(),e=>e.variableDefinitions)}function nm(){return nr(nc(),e=>e.externalVariableDefinitions)}function ny({children:e,builtinVariables:t}){let n=np(),r=ng(),a=nm(),{absoluteTimeRange:o}=(0,M.useTimeRange)(),s=(0,h.useMemo)(()=>{let e={};return Object.keys(n).forEach(t=>{let i={...n[t]};if(i.value===P.DEFAULT_ALL_VALUE){let e=ni(r,a).find(e=>e.spec.name===t);e?.kind==="ListVariable"&&e.spec.customAllValue?i.value=e.spec.customAllValue:i.value=i.options?.map(e=>e.value)??null}e[t]=i}),e},[n,r,a]),l=(0,h.useMemo)(()=>{let e=[{kind:"BuiltinVariable",spec:{name:"__from",value:()=>o.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:()=>o.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,P.formatDuration)((0,P.intervalToPrometheusDuration)(o)),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:()=>((o.end.valueOf()-o.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:()=>(o.end.valueOf()-o.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},[o,t]);return(0,i.jsx)(M.BuiltinVariableContext.Provider,{value:{variables:l},children:(0,i.jsx)(M.VariableContext.Provider,{value:{state:s},children:e})})}function nb({initialVariableDefinitions:e=[],externalVariableDefinitions:t=[],queryParams:n}){var r;let i,a=(r=n?n[0]:{},i={},Object.keys(r).forEach(e=>{let t=r[e];t&&(i[e.replace(nl,"")]=t)}),i);return y()(C(E((r,i)=>({variableState:no(e,a,t),variableDefinitions:e,externalVariableDefinitions:t,setVariableDefinitions(e){r(n=>{n.variableDefinitions=e,n.variableState=no(e,a,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(P.DEFAULT_ALL_VALUE)&&(a=a.at(-1)===P.DEFAULT_ALL_VALUE?P.DEFAULT_ALL_VALUE:a.filter(e=>e!==P.DEFAULT_ALL_VALUE)),n)&&(0,n[1])({[`${nl}${e}`]:a});o.value=a}},!1,"[Variables] setVariableValue"),setVariableDefaultValues:()=>{let e=i().variableDefinitions,t=i().variableState,n=(0,O.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,O.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,O.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 nv({children:e,initialVariableDefinitions:t=[],externalVariableDefinitions:n=[],builtinVariableDefinitions:r=[]}){let[a]=(0,h.useState)(()=>nb({initialVariableDefinitions:t,externalVariableDefinitions:n}));return(0,i.jsx)(nd.Provider,{value:a,children:(0,i.jsx)(ny,{builtinVariables:r,children:e})})}function nx({children:e,initialVariableDefinitions:t=[],externalVariableDefinitions:n=[],builtinVariableDefinitions:r=[]}){let a,o=(a={},ni(t,n).forEach(e=>{var t;a[t=e.spec.name,`${nl}${t}`]=nu}),(0,ns.useQueryParams)(a,{updateType:"replaceIn"})),[s]=(0,h.useState)(()=>nb({initialVariableDefinitions:t,externalVariableDefinitions:n,queryParams:o}));return(0,i.jsx)(nd.Provider,{value:s,children:(0,i.jsx)(ny,{builtinVariables:r,children:e})})}var nj=n(34007),nw=n(347),nS=n(91394),nA=n(70561),nC=n(3399),nD=n(5139),nO=n(68003),nE=n(11502);let nk=h.createContext({});var nP=n(2203);function nM(e){return(0,eW.Ay)("MuiAccordion",e)}let nV=(0,eB.A)("MuiAccordion",["root","heading","rounded","expanded","disabled","gutters","region"]),nL=(0,eI.A)(nE.A,{name:"MuiAccordion",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:n}=e;return[{[`& .${nV.region}`]:t.region},t.root,!n.square&&t.rounded,!n.disableGutters&&t.gutters]}})((0,e_.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"}},[`&.${nV.expanded}`]:{"&::before":{opacity:0},"&:first-of-type":{marginTop:0},"&:last-of-type":{marginBottom:0},"& + &":{"&::before":{display:"none"}}},[`&.${nV.disabled}`]:{backgroundColor:(e.vars||e).palette.action.disabledBackground}}}),(0,e_.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:{[`&.${nV.expanded}`]:{margin:"16px 0"}}}]}))),nR=(0,eI.A)("h3",{name:"MuiAccordion",slot:"Heading",overridesResolver:(e,t)=>t.heading})({all:"unset"}),nT=h.forwardRef(function(e,t){let n=(0,ez.b)({props:e,name:"MuiAccordion"}),{children:r,className:a,defaultExpanded:o=!1,disabled:s=!1,disableGutters:l=!1,expanded:u,onChange:d,square:c=!1,slots:p={},slotProps:f={},TransitionComponent:g,TransitionProps:m,...y}=n,[b,v]=(0,nP.A)({controlled:u,default:o,name:"Accordion",state:"expanded"}),x=h.useCallback(e=>{v(!b),d&&d(e,!b)},[b,d,v]),[j,...w]=h.Children.toArray(r),S=h.useMemo(()=>({expanded:b,disabled:s,disableGutters:l,toggle:x}),[b,s,l,x]),A={...n,square:c,disabled:s,disableGutters:l,expanded:b},C=(e=>{let{classes:t,square:n,expanded:r,disabled:i,disableGutters:a}=e;return(0,eT.A)({root:["root",!n&&"rounded",r&&"expanded",i&&"disabled",!a&&"gutters"],heading:["heading"],region:["region"]},nM,t)})(A),D={slots:{transition:g,...p},slotProps:{transition:m,...f}},[O,E]=(0,ts.A)("root",{elementType:nL,externalForwardedProps:{...D,...y},className:(0,eV.A)(C.root,a),shouldForwardComponentProp:!0,ownerState:A,ref:t,additionalProps:{square:c}}),[k,P]=(0,ts.A)("heading",{elementType:nR,externalForwardedProps:D,className:C.heading,ownerState:A}),[M,V]=(0,ts.A)("transition",{elementType:eJ,externalForwardedProps:D,ownerState:A});return(0,i.jsxs)(O,{...E,children:[(0,i.jsx)(k,{...P,children:(0,i.jsx)(nk.Provider,{value:S,children:j})}),(0,i.jsx)(M,{in:b,timeout:"auto",...V,children:(0,i.jsx)("div",{"aria-labelledby":j.props.id,id:j.props["aria-controls"],role:"region",className:C.region,children:w})})]})});var nI=n(1337);function n_(e){return(0,eW.Ay)("MuiAccordionSummary",e)}let nz=(0,eB.A)("MuiAccordionSummary",["root","expanded","focusVisible","disabled","gutters","contentGutters","content","expandIconWrapper"]),nN=(0,eI.A)(nI.A,{name:"MuiAccordionSummary",slot:"Root",overridesResolver:(e,t)=>t.root})((0,e_.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),[`&.${nz.focusVisible}`]:{backgroundColor:(e.vars||e).palette.action.focus},[`&.${nz.disabled}`]:{opacity:(e.vars||e).palette.action.disabledOpacity},[`&:hover:not(.${nz.disabled})`]:{cursor:"pointer"},variants:[{props:e=>!e.disableGutters,style:{[`&.${nz.expanded}`]:{minHeight:64}}}]}})),nH=(0,eI.A)("span",{name:"MuiAccordionSummary",slot:"Content",overridesResolver:(e,t)=>t.content})((0,e_.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}),[`&.${nz.expanded}`]:{margin:"20px 0"}}}]}))),n$=(0,eI.A)("span",{name:"MuiAccordionSummary",slot:"ExpandIconWrapper",overridesResolver:(e,t)=>t.expandIconWrapper})((0,e_.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}),[`&.${nz.expanded}`]:{transform:"rotate(180deg)"}}))),nB=h.forwardRef(function(e,t){let n=(0,ez.b)({props:e,name:"MuiAccordionSummary"}),{children:r,className:a,expandIcon:o,focusVisibleClassName:s,onClick:l,slots:u,slotProps:d,...c}=n,{disabled:p=!1,disableGutters:f,expanded:g,toggle:m}=h.useContext(nk),y={...n,expanded:g,disabled:p,disableGutters:f},b=(e=>{let{classes:t,expanded:n,disabled:r,disableGutters:i}=e;return(0,eT.A)({root:["root",n&&"expanded",r&&"disabled",!i&&"gutters"],focusVisible:["focusVisible"],content:["content",n&&"expanded",!i&&"contentGutters"],expandIconWrapper:["expandIconWrapper",n&&"expanded"]},n_,t)})(y),v={slots:u,slotProps:d},[x,j]=(0,ts.A)("root",{ref:t,shouldForwardComponentProp:!0,className:(0,eV.A)(b.root,a),elementType:nN,externalForwardedProps:{...v,...c},ownerState:y,additionalProps:{focusRipple:!1,disableRipple:!0,disabled:p,"aria-expanded":g,focusVisibleClassName:(0,eV.A)(b.focusVisible,s)},getSlotProps:e=>({...e,onClick:t=>{e.onClick?.(t),m&&m(t),l&&l(t)}})}),[w,S]=(0,ts.A)("content",{className:b.content,elementType:nH,externalForwardedProps:v,ownerState:y}),[A,C]=(0,ts.A)("expandIconWrapper",{className:b.expandIconWrapper,elementType:n$,externalForwardedProps:v,ownerState:y});return(0,i.jsxs)(x,{...j,children:[(0,i.jsx)(w,{...S,children:r}),o&&(0,i.jsx)(A,{...C,children:o})]})});function nW(e){return(0,eW.Ay)("MuiAccordionDetails",e)}(0,eB.A)("MuiAccordionDetails",["root"]);let nG=(0,eI.A)("div",{name:"MuiAccordionDetails",slot:"Root",overridesResolver:(e,t)=>t.root})((0,e_.A)(({theme:e})=>({padding:e.spacing(1,2,2)}))),nF=h.forwardRef(function(e,t){let n=(0,ez.b)({props:e,name:"MuiAccordionDetails"}),{className:r,...a}=n,o=(e=>{let{classes:t}=e;return(0,eT.A)({root:["root"]},nW,t)})(n);return(0,i.jsx)(nG,{className:(0,eV.A)(o.root,r),ref:t,ownerState:n,...a})});var nq=n(45271),nU=n(86742);function nJ(e){var t=(0,h.useState)(function(){return(0,O.CN)("function"==typeof e?e():e,!0)}),n=t[1];return[t[0],(0,h.useCallback)(function(e){n("function"==typeof e?(0,O.jM)(e):(0,O.CN)(e))},[])]}var nY=n(49603),nK=n(4150),nX=n(30576),nQ=n(10571),nZ=n(38990);function n0({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,i.jsx)(i.Fragment,{children:n.map(e=>(0,i.jsxs)(nT,{sx:e=>({".MuiAccordionSummary-root":{backgroundColor:e.palette.background.lighter},".MuiAccordionDetails-root":{backgroundColor:e.palette.background.lighter}}),children:[(0,i.jsx)(nB,{expandIcon:(0,i.jsx)(nZ.default,{}),"aria-controls":"builtin",id:"builtin",children:(0,i.jsx)(ti.A,{variant:"h2",children:(0,i.jsx)(s.InfoTooltip,{title:`${e} Built-in Variables`,description:"Variables computed during dashboard rendering.",children:(0,i.jsxs)("span",{children:[e," Built-in Variables"]})})})}),(0,i.jsx)(nF,{children:(0,i.jsx)(nw.A,{children:(0,i.jsxs)(nS.A,{sx:{minWidth:650},"aria-label":"table of external variables",children:[(0,i.jsx)(nA.A,{children:(0,i.jsxs)(nC.A,{children:[(0,i.jsx)(nq.A,{children:"Name"}),(0,i.jsx)(nq.A,{children:"Description"})]})}),(0,i.jsx)(nD.A,{children:(t[e]??[]).map(t=>(0,i.jsxs)(nC.A,{children:[(0,i.jsx)(nq.A,{component:"th",scope:"row",sx:{fontWeight:"bold"},children:t.spec.name}),(0,i.jsx)(nq.A,{children:t.spec.display?.description??""})]},e+"-"+t.spec.name))})]})})})]},e))})}function n1(e){return M.VARIABLE_TYPES.find(t=>t.kind===e)?.label}function n2(e){let[t,n]=nJ(e.variableDefinitions),[r,o]=(0,h.useState)(null),[l,u]=(0,h.useState)("update"),d=e.externalVariableDefinitions,c=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)(()=>[no(t,{},d)],[d,t]),g="number"==typeof r&&t[r],{openDiscardChangesConfirmationDialog:m,closeDiscardChangesConfirmationDialog:y}=eA(),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,i.jsxs)(i.Fragment,{children:[g&&(0,i.jsx)(M.ValidationProvider,{children:(0,i.jsx)(M.VariableEditorForm,{initialVariableDefinition:g,action:l,isDraft:!0,onActionChange:u,onSave:e=>{n(t=>{t[r]=e,o(null)})},onClose:()=>{"create"===l&&b(r),o(null)}})}),!g&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(eP.A,{sx:{display:"flex",alignItems:"center",padding:e=>e.spacing(1,2),borderBottom:e=>`1px solid ${e.palette.divider}`},children:[(0,i.jsx)(ti.A,{variant:"h2",children:"Edit Dashboard Variables"}),(0,i.jsxs)(tf.A,{direction:"row",spacing:1,marginLeft:"auto",children:[(0,i.jsx)(a.A,{disabled:e.variableDefinitions===t||!p.isValid,variant:"contained",onClick:()=>{e.onChange(t)},children:"Apply"}),(0,i.jsx)(a.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,i.jsx)(eP.A,{padding:2,sx:{overflowY:"scroll"},children:(0,i.jsxs)(tf.A,{spacing:2,children:[(0,i.jsxs)(tf.A,{spacing:2,children:[!p.isValid&&p.errors.map(e=>(0,i.jsx)(nj.A,{severity:"error",children:e},e)),(0,i.jsx)(nw.A,{children:(0,i.jsxs)(nS.A,{sx:{minWidth:650},"aria-label":"table of variables",children:[(0,i.jsx)(nA.A,{children:(0,i.jsxs)(nC.A,{children:[(0,i.jsx)(n9,{children:"Visibility"}),(0,i.jsx)(n9,{children:"Name"}),(0,i.jsx)(n9,{children:"Type"}),(0,i.jsx)(n9,{children:"Description"}),(0,i.jsx)(n9,{align:"right",children:"Actions"})]})}),(0,i.jsx)(nD.A,{children:t.map((e,r)=>(0,i.jsxs)(nC.A,{children:[(0,i.jsx)(n9,{component:"th",scope:"row",children:(0,i.jsx)(nO.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,i.jsx)(n9,{component:"th",scope:"row",sx:{fontWeight:"bold"},children:(0,i.jsx)(n3,{name:e.spec.name,state:f.get({name:e.spec.name})})}),(0,i.jsx)(n9,{children:n1(e.kind)??e.kind}),(0,i.jsx)(n9,{children:e.spec.display?.description??""}),(0,i.jsxs)(n9,{align:"right",sx:{whiteSpace:"nowrap"},children:[(0,i.jsx)(tE.A,{onClick:()=>v(r,"up"),disabled:0===r,children:(0,i.jsx)(t9.default,{})}),(0,i.jsx)(tE.A,{onClick:()=>v(r,"down"),disabled:r===t.length-1,children:(0,i.jsx)(t3.default,{})}),(0,i.jsx)(tE.A,{onClick:()=>{u("update"),o(r)},children:(0,i.jsx)(nY.default,{})}),(0,i.jsx)(tE.A,{onClick:()=>b(r),children:(0,i.jsx)(nK.default,{})})]})]},e.spec.name))})]})}),(0,i.jsx)(eP.A,{display:"flex",children:(0,i.jsx)(a.A,{variant:"contained",startIcon:(0,i.jsx)(nU.default,{}),sx:{marginLeft:"auto"},onClick:()=>{u("create"),n(e=>{e.push({kind:"TextVariable",spec:{name:"NewVariable",value:""}})}),o(t.length)},children:"Add Variable"})})]}),d&&!d.every(e=>0===e.definitions.length)&&d.map((e,t)=>e.definitions.length>0&&(0,i.jsxs)(nT,{sx:e=>({".MuiAccordionSummary-root":{backgroundColor:e.palette.background.lighter},".MuiAccordionDetails-root":{backgroundColor:e.palette.background.lighter}}),children:[(0,i.jsx)(nB,{expandIcon:(0,i.jsx)(nZ.default,{}),"aria-controls":e.source,id:e.source,children:(0,i.jsx)(tf.A,{flexDirection:"row",alignItems:"center",justifyContent:"start",children:(0,i.jsxs)(i.Fragment,{children:[e.tooltip?(0,i.jsx)(ti.A,{variant:"h2",children:(0,i.jsx)(s.InfoTooltip,{title:e.tooltip.title||"",description:e.tooltip.description||"",children:(0,i.jsxs)("span",{children:[(0,tR.A)(e.source)," Variables"]})})}):(0,i.jsxs)(ti.A,{variant:"h2",children:[(0,tR.A)(e.source)," Variables"]}),e.editLink&&(0,i.jsx)(tE.A,{href:e.editLink,target:"_blank",children:(0,i.jsx)(nQ.default,{fontSize:"small"})})]})})}),(0,i.jsx)(nF,{children:(0,i.jsx)(nw.A,{children:(0,i.jsxs)(nS.A,{sx:{minWidth:650},"aria-label":"table of external variables",children:[(0,i.jsx)(nA.A,{children:(0,i.jsxs)(nC.A,{children:[(0,i.jsx)(n9,{children:"Visibility"}),(0,i.jsx)(n9,{children:"Name"}),(0,i.jsx)(n9,{children:"Type"}),(0,i.jsx)(n9,{children:"Description"}),(0,i.jsx)(n9,{align:"right",children:"Actions"})]})}),(0,i.jsx)(nD.A,{children:e.definitions.map(t=>(0,i.jsxs)(nC.A,{children:[(0,i.jsx)(n9,{component:"th",scope:"row",children:(0,i.jsx)(nO.A,{checked:t.spec.display?.hidden!==!0,disabled:!0})}),(0,i.jsx)(n9,{component:"th",scope:"row",sx:{fontWeight:"bold"},children:(0,i.jsx)(n3,{name:t.spec.name,state:f.get({name:t.spec.name,source:e.source})})}),(0,i.jsx)(n9,{children:n1(t.kind)??t.kind}),(0,i.jsx)(n9,{children:t.spec.display?.description??""}),(0,i.jsxs)(n9,{align:"right",children:[(0,i.jsx)(th.A,{title:"Override",children:(0,i.jsx)(tE.A,{onClick:()=>{n(e=>{e.push(t)})},disabled:!!f.get({name:t.spec.name}),children:(0,i.jsx)(nX.default,{})})}),(0,i.jsx)(tE.A,{disabled:!0,children:(0,i.jsx)(t9.default,{})}),(0,i.jsx)(tE.A,{disabled:!0,children:(0,i.jsx)(t3.default,{})}),(0,i.jsx)(tE.A,{disabled:!0,children:(0,i.jsx)(nY.default,{})}),(0,i.jsx)(tE.A,{disabled:!0,children:(0,i.jsx)(nK.default,{})})]})]},t.spec.name))})]})})})]},t)),c&&(0,i.jsx)(n0,{builtinVariableDefinitions:c})]})})]})]})}let n9=(0,eI.A)(nq.A)(({theme:e})=>({borderBottom:`solid 1px ${e.palette.divider}`}));function n3(e){let{name:t,state:n}=e;return(0,i.jsxs)(i.Fragment,{children:[!n?.overridden&&`${t} `,!n?.overridden&&n?.overriding&&(0,i.jsx)(eP.A,{fontWeight:"normal",color:e=>e.palette.primary.main,children:"(overriding)"}),n?.overridden&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(eP.A,{color:e=>e.palette.grey[500],children:t}),(0,i.jsx)(eP.A,{fontWeight:"normal",color:e=>e.palette.grey[500],children:"(overridden)"})]})]})}function n4({variant:e="text",label:t="Variables",color:n="primary",fullWidth:r}){let[o,l]=(0,h.useState)(!1),u=ng(),d=nm(),f=(0,M.useBuiltinVariableDefinitions)(),{setVariableDefinitions:g}=nh(),m=()=>{l(!1)};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.InfoTooltip,{description:c,children:(0,i.jsx)(a.A,{startIcon:(0,i.jsx)(tx.default,{}),onClick:()=>{l(!0)},"aria-label":c,variant:e,color:n,fullWidth:r,sx:p,children:t})}),(0,i.jsx)(s.Drawer,{isOpen:o,onClose:m,PaperProps:{sx:{width:"50%"}},"data-testid":"variable-editor",children:(0,i.jsx)(n2,{variableDefinitions:u,externalVariableDefinitions:d,builtinVariableDefinitions:f,onCancel:m,onChange:e=>{g(e),l(!1)}})})]})}let n5=({label:e="Edit",onClick:t})=>(0,i.jsx)(a.A,{onClick:t,startIcon:(0,i.jsx)(tx.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,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(ek,{variant:"outlined",color:"secondary",label:"Add Panel",fullWidth:!0}),(0,i.jsx)(n4,{variant:"outlined",color:"secondary",label:"Add Variables",fullWidth:!0})]}):n?(0,i.jsx)(n5,{...n8,label:"Edit Dashboard",onClick:n}):null,re=({title:e=n7,image:t,description:n,additionalText:r,actions:a,onEditButtonClick:o})=>{let{isEditMode:s}=q(),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,i.jsx)(n6,{actions:a,onEditButtonClick:o,isEditMode:s});return(0,i.jsxs)(eP.A,{sx:{width:"500px",textAlign:"center",margin:"0 auto"},children:[(0,i.jsxs)(eP.A,{sx:{width:"289px",margin:"0 auto"},children:[!!t&&t,(0,i.jsx)(ti.A,{variant:"h2",gutterBottom:!0,children:e}),(0,i.jsx)(ti.A,{variant:"body1",children:n??l}),u&&(0,i.jsx)(eP.A,{sx:{display:"flex",gap:2,marginTop:1,justifyContent:"center"},children:u})]}),r&&(0,i.jsx)(ti.A,{variant:"subtitle1",sx:{marginTop:12},children:r})]})};function rt({emptyDashboardProps:e,panelOptions:t,...n}){let r=K(),a=(0,h.useRef)(null),o=!r.length,l=a.current?.getBoundingClientRect().top??165,u=window.innerHeight-l-window.scrollY;return(0,i.jsx)(eP.A,{...n,sx:{height:"100%"},ref:a,children:(0,i.jsxs)(s.ErrorBoundary,{FallbackComponent:s.ErrorAlert,children:[o&&(0,i.jsx)(eP.A,{sx:{height:"100%",display:"flex",alignItems:"center"},children:(0,i.jsx)(re,{...e})}),!o&&r.map(e=>(0,i.jsx)(t8,{panelGroupId:e,panelOptions:t,panelFullHeight:u},e))]})})}var rn=n(8072),rr=n(95591),ri=n(83183),ra=n(10713),ro=n(30443);function rs(e){return e.substring(2).toLowerCase()}function rl(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 d=(0,rr.A)((0,ro.A)(t),s),c=(0,ri.A)(e=>{let t=u.current;u.current=!1;let r=(0,ra.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:d};return!1!==a&&(f[a]=p(a)),h.useEffect(()=>{if(!1!==a){let e=rs(a),t=(0,ra.A)(s.current),n=()=>{o.current=!0};return t.addEventListener(e,c),t.addEventListener("touchmove",n),()=>{t.removeEventListener(e,c),t.removeEventListener("touchmove",n)}}},[c,a]),!1!==r&&(f[r]=p(r)),h.useEffect(()=>{if(!1!==r){let e=rs(r),t=(0,ra.A)(s.current);return t.addEventListener(e,c),()=>{t.removeEventListener(e,c)}}},[c,r]),h.cloneElement(t,f)}var ru=n(19557),rd=n(97090);function rc(){var e;let t,{panels:n,panelGroups:r,panelGroupOrder:i,setDashboard:a,kind:o,metadata:s,display:l,duration:u,refreshInterval:d,datasources:c,ttl:p}=B(({panels:e,panelGroups:t,panelGroupOrder:n,setDashboard:r,kind:i,metadata:a,display:o,duration:s,refreshInterval:l,datasources:u,ttl:d})=>({panels:e,panelGroups:t,panelGroupOrder:n,setDashboard:r,kind:i,metadata:a,display:o,duration:s,refreshInterval:l,datasources:u,ttl:d})),{setVariableDefinitions:f}=nh(),h=ng(),g=(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 d={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,P.createPanelRef)(t)}}),repeatVariable:s}};t.push(d)}),t);return{dashboard:"Dashboard"===o?{kind:o,metadata:s,spec:{display:l,panels:n,layouts:g,variables:h,duration:u,refreshInterval:d,datasources:c}}:{kind:o,metadata:s,spec:{display:l,panels:n,layouts:g,variables:h,duration:u,refreshInterval:d,datasources:c,ttl:p}},setDashboard:e=>{f(e.spec.variables),a(e)}}}let rp=Symbol.for("yaml.alias"),rf=Symbol.for("yaml.document"),rh=Symbol.for("yaml.map"),rg=Symbol.for("yaml.pair"),rm=Symbol.for("yaml.scalar"),ry=Symbol.for("yaml.seq"),rb=Symbol.for("yaml.node.type"),rv=e=>!!e&&"object"==typeof e&&e[rb]===rp,rx=e=>!!e&&"object"==typeof e&&e[rb]===rf,rj=e=>!!e&&"object"==typeof e&&e[rb]===rh,rw=e=>!!e&&"object"==typeof e&&e[rb]===rg,rS=e=>!!e&&"object"==typeof e&&e[rb]===rm,rA=e=>!!e&&"object"==typeof e&&e[rb]===ry;function rC(e){if(e&&"object"==typeof e)switch(e[rb]){case rh:case ry:return!0}return!1}function rD(e){if(e&&"object"==typeof e)switch(e[rb]){case rp:case rh:case rm:case ry:return!0}return!1}let rO=Symbol("break visit"),rE=Symbol("skip children"),rk=Symbol("remove node");function rP(e,t){let n=rR(t);rx(e)?rM(null,e.contents,n,Object.freeze([e]))===rk&&(e.contents=null):rM(null,e,n,Object.freeze([]))}function rM(e,t,n,r){let i=rT(e,t,n,r);if(rD(i)||rw(i))return rI(e,r,i),rM(e,i,n,r);if("symbol"!=typeof i){if(rC(t)){r=Object.freeze(r.concat(t));for(let e=0;e<t.items.length;++e){let i=rM(e,t.items[e],n,r);if("number"==typeof i)e=i-1;else{if(i===rO)return rO;i===rk&&(t.items.splice(e,1),e-=1)}}}else if(rw(t)){r=Object.freeze(r.concat(t));let e=rM("key",t.key,n,r);if(e===rO)return rO;e===rk&&(t.key=null);let i=rM("value",t.value,n,r);if(i===rO)return rO;i===rk&&(t.value=null)}}return i}async function rV(e,t){let n=rR(t);rx(e)?await rL(null,e.contents,n,Object.freeze([e]))===rk&&(e.contents=null):await rL(null,e,n,Object.freeze([]))}async function rL(e,t,n,r){let i=await rT(e,t,n,r);if(rD(i)||rw(i))return rI(e,r,i),rL(e,i,n,r);if("symbol"!=typeof i){if(rC(t)){r=Object.freeze(r.concat(t));for(let e=0;e<t.items.length;++e){let i=await rL(e,t.items[e],n,r);if("number"==typeof i)e=i-1;else{if(i===rO)return rO;i===rk&&(t.items.splice(e,1),e-=1)}}}else if(rw(t)){r=Object.freeze(r.concat(t));let e=await rL("key",t.key,n,r);if(e===rO)return rO;e===rk&&(t.key=null);let i=await rL("value",t.value,n,r);if(i===rO)return rO;i===rk&&(t.value=null)}}return i}function rR(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 rT(e,t,n,r){return"function"==typeof n?n(e,t,r):rj(t)?n.Map?.(e,t,r):rA(t)?n.Seq?.(e,t,r):rw(t)?n.Pair?.(e,t,r):rS(t)?n.Scalar?.(e,t,r):rv(t)?n.Alias?.(e,t,r):void 0}function rI(e,t,n){let r=t[t.length-1];if(rC(r))r.items[e]=n;else if(rw(r))"key"===e?r.key=n:r.value=n;else if(rx(r))r.contents=n;else{let e=rv(r)?"alias":"scalar";throw Error(`Cannot replace node with ${e} parent`)}}rP.BREAK=rO,rP.SKIP=rE,rP.REMOVE=rk,rV.BREAK=rO,rV.SKIP=rE,rV.REMOVE=rk;let r_={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},rz=e=>e.replace(/[!,[\]{}]/g,e=>r_[e]);class rN{constructor(e,t){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},rN.defaultYaml,e),this.tags=Object.assign({},rN.defaultTags,t)}clone(){let e=new rN(this.yaml,this.tags);return e.docStart=this.docStart,e}atDocument(){let e=new rN(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:rN.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},rN.defaultTags)}return e}add(e,t){this.atNextDocument&&(this.yaml={explicit:rN.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},rN.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+rz(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&&rD(e.contents)){let n={};rP(e.contents,(e,t)=>{rD(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 rH(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 r$(e){let t=new Set;return rP(e,{Value(e,n){n.anchor&&t.add(n.anchor)}}),t}function rB(e,t){for(let n=1;;++n){let r=`${e}${n}`;if(!t.has(r))return r}}function rW(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=rW(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=rW(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=rW(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=rW(e,r,t,n);void 0===i?delete r[t]:i!==n&&(r[t]=i)}return e.call(t,n,r)}function rG(e,t,n){if(Array.isArray(e))return e.map((e,t)=>rG(e,String(t),n));if(e&&"function"==typeof e.toJSON){if(!n||!((rS(e)||rC(e))&&e.anchor))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)}rN.defaultYaml={explicit:!1,version:"1.2"},rN.defaultTags={"!!":"tag:yaml.org,2002:"};class rF{constructor(e){Object.defineProperty(this,rb,{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(!rx(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=rG(this,"",a);if("function"==typeof r)for(let{count:e,res:t}of a.anchors.values())r(t,e);return"function"==typeof i?rW(i,{"":o},"",o):o}}class rq extends rF{constructor(e){super(rp),this.source=e,Object.defineProperty(this,"tag",{set(){throw Error("Alias nodes cannot have tags")}})}resolve(e){let t;return rP(e,{Node:(e,n)=>{if(n===this)return rP.BREAK;n.anchor===this.source&&(t=n)}}),t}toJSON(e,t){if(!t)return{source:this.source};let{anchors:n,doc:r,maxAliasCount:i}=t,a=this.resolve(r);if(!a)throw ReferenceError(`Unresolved alias (the anchor must be set before the alias): ${this.source}`);let o=n.get(a);if(o||(rG(a,null,t),o=n.get(a)),!o||void 0===o.res)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(rv(n)){let e=n.resolve(t),i=r&&e&&r.get(e);return i?i.count*i.aliasCount:0}if(rC(n)){let i=0;for(let a of n.items){let n=e(t,a,r);n>i&&(i=n)}return i}return rw(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(rH(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 rU=e=>!e||"function"!=typeof e&&"object"!=typeof e;class rJ extends rF{constructor(e){super(rm),this.value=e}toJSON(e,t){return t?.keep?this.value:rG(this.value,e,t)}toString(){return String(this.value)}}function rY(e,t,n){let r;if(rx(e)&&(e=e.contents),rD(e))return e;if(rw(e)){let t=n.schema[rh].createNode?.(n.schema,null,n);return t.items.push(e),t}(e instanceof String||e instanceof Number||e instanceof Boolean||"undefined"!=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 rq(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 rJ(e);return r&&(r.node=t),t}u=e instanceof Map?s[rh]:Symbol.iterator in Object(e)?s[ry]:s[rh]}o&&(o(u),delete n.onTagObj);let d=u?.createNode?u.createNode(n.schema,e,n):"function"==typeof u?.nodeClass?.from?u.nodeClass.from(n.schema,e,n):new rJ(e);return t?d.tag=t:u.default||(d.tag=u.tag),r&&(r.node=d),d}function rK(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 rY(r,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw Error("This should not happen, please report a bug.")},schema:e,sourceObjects:new Map})}rJ.BLOCK_FOLDED="BLOCK_FOLDED",rJ.BLOCK_LITERAL="BLOCK_LITERAL",rJ.PLAIN="PLAIN",rJ.QUOTE_DOUBLE="QUOTE_DOUBLE",rJ.QUOTE_SINGLE="QUOTE_SINGLE";let rX=e=>null==e||"object"==typeof e&&!!e[Symbol.iterator]().next().done;class rQ extends rF{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=>rD(t)||rw(t)?t.clone(e):t),this.range&&(t.range=this.range.slice()),t}addIn(e,t){if(rX(e))this.add(t);else{let[n,...r]=e,i=this.get(n,!0);if(rC(i))i.addIn(r,t);else if(void 0===i&&this.schema)this.set(n,rK(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(rC(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&&rS(i)?i.value:i:rC(i)?i.getIn(r,t):void 0}hasAllNullValues(e){return this.items.every(t=>{if(!rw(t))return!1;let n=t.value;return null==n||e&&rS(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!!rC(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(rC(e))e.setIn(r,t);else if(void 0===e&&this.schema)this.set(n,rK(this.schema,r,t));else throw Error(`Expected YAML collection at ${n}. Remaining path: ${r}`)}}}let rZ=e=>e.replace(/^(?!$)(?: $)?/gm,"#");function r0(e,t){return/^\n+$/.test(e)?e.substring(1):t?e.replace(/^(?! *$)/gm,t):e}let r1=(e,t,n)=>e.endsWith("\n")?r0(n,t):n.includes("\n")?"\n"+r0(n,t):(e.endsWith(" ")?"":" ")+n,r2="block",r9="quoted";function r3(e,t,n="flow",{indentAtStart:r,lineWidth:i=80,minContentWidth:a=20,onFold:o,onOverflow:s}={}){let l,u,d;if(!i||i<0)return e;i<a&&(a=0);let c=Math.max(1+a,1+i-t.length);if(e.length<=c)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===r2&&-1!==(m=r4(e,m,t.length))&&(h=m+c);d=e[m+=1];){if(n===r9&&"\\"===d){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"===d)n===r2&&(m=r4(e,m,t.length)),h=m+t.length+c,l=void 0;else{if(" "===d&&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+c,l=void 0;else if(n===r9){for(;" "===u||" "===u;)u=d,d=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+c,l=void 0}else g=!0}u=d}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==d?void 0:d.init(i.getState());return null==d?void 0:d.init(A(u.name));case"COMMIT":if(void 0===l){null==d||d.init(i.getState());break}return null==d?void 0:d.init(A(u.name));case"ROLLBACK":return D(e.state,e=>{if(void 0===l){f(e),null==d||d.init(i.getState());return}f(e[l]),null==d||d.init(A(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==d||d.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 O=n(38662);let E=e=>(t,n,r)=>(r.setState=(e,n,...r)=>t("function"==typeof e?(0,O.jM)(e):e,n,...r),e(r.setState,n,r));function k(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(63080),M=n(4978);function V(){return void 0===globalThis.dashboardStoreId&&(globalThis.dashboardStoreId=0),globalThis.dashboardStoreId++}function L(e,t){return{kind:"Panel",spec:{display:{name:"",description:void 0},plugin:{kind:e??"",spec:t??{}},queries:[]}}}function R(e){let t={},n=[];for(let r of e){let e=[],i={};for(let t of r.spec.items){let n=V().toString();e.push({i:n,w:t.width,h:t.height,x:t.x,y:t.y}),i[n]=(0,P.getPanelKeyFromRef)(t.content)}let a=V();t[a]={id:a,isCollapsed:r.spec.display?.collapse?.open===!1,repeatVariable:r.spec.repeatVariable,title:r.spec.display?.title,itemLayouts:e,itemPanelKeys:i},n.push(a)}return{panelGroups:t,panelGroupOrder:n}}function T(){return{id:V(),title:void 0,isCollapsed:!1,itemLayouts:[],itemPanelKeys:{}}}function I(e,t){e.panelGroups[t.id]=t,e.panelGroupOrder.unshift(t.id)}let _={sm:24,xxs:2};function z(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 H=()=>{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 w(t,e,k)}function W(e){let t=(0,h.useCallback)(G,[e]),[n]=(0,h.useState)(t(e)),{defaultPluginKinds:r}=(0,M.usePluginRegistry)(),a=r?.Panel??"",{data:o}=(0,M.usePlugin)("Panel",a);return(0,h.useEffect)(()=>{if(void 0===o)return;let e=o.createInitialOptions?o.createInitialOptions():{};n.setState({initialValues:{panelDefinition:L(a,e)}})},[o,n,a]),(0,i.jsx)($.Provider,{value:n,children:e.children})}function G(e){let{initialState:{dashboardResource:t,isEditMode:n,viewPanelRef:r,setViewPanelRef:i}}=e,{kind:a,metadata:o,spec:{display:s,duration:l,refreshInterval:u=P.DEFAULT_REFRESH_INTERVAL,datasources:d,layouts:c=[],panels:p={}}}=t,f="ttl"in t.spec?t.spec.ttl:void 0;return y()(E(C((...e)=>{let[t]=e;return{...(function(e){let{panelGroups:t,panelGroupOrder:n}=R(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})}})})(c)(...e),...((e,t)=>({panelGroupEditor:void 0,openAddPanelGroup:()=>{let t={mode:"Add",initialValues:{title:"",isCollapsed:!1,repeatVariable:""},applyChanges(t){let n=T();n.title=t.title,n.isCollapsed=t.isCollapsed,n.repeatVariable=t.repeatVariable,e(e=>{I(e,n)})},close(){e(e=>{e.panelGroupEditor=void 0})}};e(e=>{e.panelGroupEditor=t})},openEditPanelGroup:n=>{let r=t().panelGroups[n];if(void 0===r)throw Error(`Panel group with Id ${n} does not exist`);let i={mode:"Edit",initialValues:{title:r.title??"",isCollapsed:r.isCollapsed,repeatVariable:r.repeatVariable??""},applyChanges(t){e(e=>{let r=e.panelGroups[n];if(void 0===r)throw Error(`Panel group with Id ${n} does not exist`);r.title=t.title,r.isCollapsed=t.isCollapsed,r.repeatVariable=t.repeatVariable})},close(){e(e=>{e.panelGroupEditor=void 0})}};e(e=>{e.panelGroupEditor=i})}}))(...e),...((e,t)=>({deletePanelGroup(n){let{panelGroups:r,panelGroupOrder:i}=t(),a=r[n],o=i.findIndex(e=>e===n);if(void 0===a||-1===o)throw Error(`Panel group ${n} not found`);let s=Object.values(a.itemPanelKeys);e(e=>{delete e.panelGroups[n],e.panelGroupOrder.splice(o,1);let t=function(e){let t=new Set;for(let n of Object.values(e))for(let e of Object.values(n.itemPanelKeys))t.add(e);return t}(e.panelGroups);for(let n of s)t.has(n)||delete e.panels[n]})},openDeletePanelGroupDialog:n=>{let r=t().panelGroups[n];if(void 0===r)throw Error(`Panel group with Id ${n} not found`);e(e=>{e.deletePanelGroupDialog={panelGroupId:n,panelGroupName:r.title}})},closeDeletePanelGroupDialog:()=>e(e=>{e.deletePanelGroupDialog=void 0})}))(...e),...(()=>({panels:p}))(...e),...((e,t)=>({panelEditor:void 0,openEditPanel(n){let{panels:r,panelGroups:i}=t(),{panelGroupId:a,panelGroupItemLayoutId:o}=n,s=i[a]?.itemPanelKeys[o];if(void 0===s)throw Error(`Could not find Panel Group item ${n}`);let l=r[s];if(void 0===l)throw Error(`Cannot find Panel with key '${s}'`);let u={mode:"update",panelGroupItemId:n,initialValues:{groupId:n.panelGroupId,panelDefinition:l},applyChanges:t=>{e(e=>{if(e.panels[s]=t.panelDefinition,t.groupId===a)return;let n=e.panelGroups[a];if(void 0===n)throw Error(`Missing panel group ${a}`);let r=n.itemLayouts.findIndex(e=>e.i===o),i=n.itemLayouts[r],l=n.itemPanelKeys[o];if(-1===r||void 0===i||void 0===l)throw Error(`Missing panel group item ${o}`);n.itemLayouts.splice(r,1),delete n.itemPanelKeys[o];let u=e.panelGroups[t.groupId];if(void 0===u)throw Error(`Could not find new group ${t.groupId}`);u.itemLayouts.push({i:i.i,x:0,y:z(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=T()).title="Panel Group",n=r.id);let i={mode:"create",initialValues:{groupId:n,panelDefinition:t().initialValues?.panelDefinition??L()},applyChanges:t=>{let n=H();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:V().toString(),x:0,y:z(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&&I(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,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=H();e.panels[u]=s;let d={i:V().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}))]}(d,l,a.itemLayouts),a.itemPanelKeys[d.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=>({isOpen:!1,openDiscardChangesConfirmationDialog(t){e(e=>{e.discardChangesConfirmationDialog=t})},closeDiscardChangesConfirmationDialog(){e(e=>{e.discardChangesConfirmationDialog=void 0})}}))(...e),...(e=>({openEditJsonDialog(){e(e=>{e.editJsonDialog={isOpen:!0}})},closeEditJsonDialog(){e(e=>{e.editJsonDialog={isOpen:!1}})}}))(...e),...(e=>({isOpen:!1,openSaveChangesConfirmationDialog(t){e(e=>{e.saveChangesConfirmationDialog=t},!1,"openSaveChangesConfirmationDialog")},closeSaveChangesConfirmationDialog(){e(e=>{e.saveChangesConfirmationDialog=void 0},!1,"closeSaveChangesConfirmationDialog")}}))(...e),kind:a,metadata:o,display:s,duration:l,refreshInterval:u,datasources:d,ttl:f,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={}}})=>{t(t=>{t.kind=e,t.metadata=n,t.display=r,t.panels=i;let{panelGroups:u,panelGroupOrder:d}=R(a);t.panelGroups=u,t.panelGroupOrder=d,t.duration=o,t.refreshInterval=s??P.DEFAULT_REFRESH_INTERVAL,t.datasources=l})}}})))}let F=({isEditMode:e,setEditMode:t})=>({isEditMode:e,setEditMode:t});function q(){return B(F)}let U=({setDashboard:e,openAddPanelGroup:t,openAddPanel:n})=>({setDashboard:e,openAddPanelGroup:t,openAddPanel:n});function J(){let{setDashboard:e,openAddPanelGroup:t,openAddPanel:n}=B(U);return{setDashboard:e,openAddPanelGroup:()=>t(),openAddPanel:()=>n()}}let Y=e=>e.panelGroupOrder;function K(){return B(Y)}let X=e=>e.panelGroups;function Q(){let e=K(),t=B(X);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 Z(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 ee=({openEditPanelGroup:e,deletePanelGroup:t,openAddPanel:n,updatePanelGroupLayouts:r})=>({openEditPanelGroup:e,deletePanelGroup:t,openAddPanel:n,updatePanelGroupLayouts:r});function et(e){let{moveUp:t,moveDown:n}=function(e){let t=B((0,h.useCallback)(t=>t.panelGroupOrder.findIndex(t=>t===e),[e])),n=B(er),r=B(en);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(ee);return{openEditPanelGroup:()=>r(e),deletePanelGroup:()=>i(e),openAddPanel:()=>a(e),moveUp:t,moveDown:n,updatePanelGroupLayouts:t=>o(e,t)}}let en=e=>e.swapPanelGroups,er=e=>e.panelGroupOrder.length,ei=e=>e.panelGroupEditor;function ea(){return B(ei)}let eo=({deletePanelGroupDialog:e,openDeletePanelGroupDialog:t,closeDeletePanelGroupDialog:n,deletePanelGroup:r})=>({deletePanelGroupDialog:e,openDeletePanelGroupDialog:t,closeDeletePanelGroupDialog:n,deletePanelGroup:r});function es(){let{deletePanelGroupDialog:e,openDeletePanelGroupDialog:t,closeDeletePanelGroupDialog:n,deletePanelGroup:r}=B(eo);return{deletePanelGroupDialog:e,deletePanelGroup:r,openDeletePanelGroupDialog:t,closeDeletePanelGroupDialog:()=>n()}}function el(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 eu=({openEditPanel:e,openDeletePanelDialog:t,duplicatePanel:n,setViewPanel:r})=>({openEditPanel:e,openDeletePanelDialog:t,duplicatePanel:n,setViewPanel:r});function ed(e){let{openEditPanel:t,openDeletePanelDialog:n,duplicatePanel:r,setViewPanel:i}=B(eu);return{openEditPanel:()=>t(e),openDeletePanelDialog:()=>n(e),duplicatePanel:()=>r(e),viewPanel:e=>i(e)}}let ec=e=>e.panelEditor;function ep(){return B(ec)}let ef=({deletePanelDialog:e,deletePanel:t,closeDeletePanelDialog:n})=>({deletePanelDialog:e,deletePanel:t,closeDeletePanelDialog:n});function eh(){return B(ef)}let eg=e=>e.duration;function em(){return B(eg)}let ey=e=>({setViewPanel:e.setViewPanel,getViewPanel:e.getViewPanel,viewPanelId:e.getViewPanel()});function eb(){return B(ey)}let ev=e=>e.getViewPanel();function ex(){return B(ev)}let ej=({saveChangesConfirmationDialog:e,openSaveChangesConfirmationDialog:t,closeSaveChangesConfirmationDialog:n})=>({saveChangesConfirmationDialog:e,openSaveChangesConfirmationDialog:t,closeSaveChangesConfirmationDialog:n});function ew(){return B(ej)}let eS=({discardChangesConfirmationDialog:e,openDiscardChangesConfirmationDialog:t,closeDiscardChangesConfirmationDialog:n})=>({discardChangesConfirmationDialog:e,openDiscardChangesConfirmationDialog:t,closeDiscardChangesConfirmationDialog:n});function eA(){return B(eS)}let eC=({editJsonDialog:e,openEditJsonDialog:t,closeEditJsonDialog:n})=>({editJsonDialog:e,openEditJsonDialog:t,closeEditJsonDialog:n});function eD(){return B(eC)}let eO=()=>{let{openAddPanelGroup:e}=J();return(0,i.jsx)(s.InfoTooltip,{description:u,children:(0,i.jsx)(a.A,{startIcon:(0,i.jsx)(o.default,{}),onClick:e,"aria-label":u,sx:p,children:"Panel Group"})})};var eE=n(69525);let ek=({variant:e="text",color:t="primary",label:n="Panel",fullWidth:r})=>{let{openAddPanel:o}=J();return(0,i.jsx)(s.InfoTooltip,{description:l,children:(0,i.jsx)(a.A,{startIcon:(0,i.jsx)(eE.default,{}),onClick:o,"aria-label":l,variant:e,color:t,fullWidth:r,sx:p,children:n})})};var eP=n(74628),eM=n(56599),eV=n(11750),eL=n(46477),eR=n(3725),eT=n(81023),eI=n(77308),e_=n(23434),ez=n(72052),eN=n(48927),eH=n(32494),e$=n(29424),eB=n(29009),eW=n(46733);function eG(e){return(0,eW.Ay)("MuiCollapse",e)}(0,eB.A)("MuiCollapse",["root","horizontal","vertical","entered","hidden","wrapper","wrapperInner"]);let eF=(0,eI.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,e_.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"}}]}))),eq=(0,eI.A)("div",{name:"MuiCollapse",slot:"Wrapper",overridesResolver:(e,t)=>t.wrapper})({display:"flex",width:"100%",variants:[{props:{orientation:"horizontal"},style:{width:"auto",height:"100%"}}]}),eU=(0,eI.A)("div",{name:"MuiCollapse",slot:"WrapperInner",overridesResolver:(e,t)=>t.wrapperInner})({width:"100%",variants:[{props:{orientation:"horizontal"},style:{width:"auto",height:"100%"}}]}),eJ=h.forwardRef(function(e,t){let n=(0,ez.b)({props:e,name:"MuiCollapse"}),{addEndListener:r,children:a,className:o,collapsedSize:s="0px",component:l,easing:u,in:d,onEnter:c,onEntered:p,onEntering:f,onExit:g,onExited:m,onExiting:y,orientation:b="vertical",style:v,timeout:x=eN.p0.standard,TransitionComponent:j=eL.Ay,...w}=n,S={...n,orientation:b,collapsedSize:s},A=(e=>{let{orientation:t,classes:n}=e,r={root:["root",`${t}`],entered:["entered"],hidden:["hidden"],wrapper:["wrapper",`${t}`],wrapperInner:["wrapperInner",`${t}`]};return(0,eT.A)(r,eG,n)})(S),C=(0,eM.A)(),D=(0,eR.A)(),O=h.useRef(null),E=h.useRef(),k="number"==typeof s?`${s}px`:s,P="horizontal"===b,M=P?"width":"height",V=h.useRef(null),L=(0,e$.A)(t,V),R=e=>t=>{if(e){let n=V.current;void 0===t?e(n):e(n,t)}},T=()=>O.current?O.current[P?"clientWidth":"clientHeight"]:0,I=R((e,t)=>{O.current&&P&&(O.current.style.position="absolute"),e.style[M]=k,c&&c(e,t)}),_=R((e,t)=>{let n=T();O.current&&P&&(O.current.style.position="");let{duration:r,easing:i}=(0,eH.c)({style:v,timeout:x,easing:u},{mode:"enter"});if("auto"===x){let t=C.transitions.getAutoHeightDuration(n);e.style.transitionDuration=`${t}ms`,E.current=t}else e.style.transitionDuration="string"==typeof r?r:`${r}ms`;e.style[M]=`${n}px`,e.style.transitionTimingFunction=i,f&&f(e,t)}),z=R((e,t)=>{e.style[M]="auto",p&&p(e,t)}),N=R(e=>{e.style[M]=`${T()}px`,g&&g(e)}),H=R(m),$=R(e=>{let t=T(),{duration:n,easing:r}=(0,eH.c)({style:v,timeout:x,easing:u},{mode:"exit"});if("auto"===x){let n=C.transitions.getAutoHeightDuration(t);e.style.transitionDuration=`${n}ms`,E.current=n}else e.style.transitionDuration="string"==typeof n?n:`${n}ms`;e.style[M]=k,e.style.transitionTimingFunction=r,y&&y(e)});return(0,i.jsx)(j,{in:d,onEnter:I,onEntered:z,onEntering:_,onExit:N,onExited:H,onExiting:$,addEndListener:e=>{"auto"===x&&D.start(E.current||0,e),r&&r(V.current,e)},nodeRef:V,timeout:"auto"===x?null:x,...w,children:(e,{ownerState:t,...n})=>(0,i.jsx)(eF,{as:l,className:(0,eV.A)(A.root,o,{entered:A.entered,exited:!d&&"0px"===k&&A.hidden}[e]),style:{[P?"minWidth":"minHeight"]:k,...v},ref:L,ownerState:{...S,state:e},...n,children:(0,i.jsx)(eq,{ownerState:{...S,state:e},className:A.wrapper,ref:O,children:(0,i.jsx)(eU,{ownerState:{...S,state:e},className:A.wrapperInner,children:a})})})})});eJ&&(eJ.muiSupportAuto=!0);var eY=n(29057),eK=n(12548);function eX(e){let[t,n]=(0,h.useState)(!0);return(0,h.useEffect)(()=>{t&&n(!1)},[t]),(0,i.jsx)(eQ,{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 eQ=(0,eI.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 eZ=Object.defineProperty,e0=new Map,e1=new WeakMap,e2=0,e9=void 0;h.Component;var e3=n(68150);function e4(e){return(0,eW.Ay)("MuiCardContent",e)}(0,eB.A)("MuiCardContent",["root"]);let e5=(0,eI.A)("div",{name:"MuiCardContent",slot:"Root",overridesResolver:(e,t)=>t.root})({padding:16,"&:last-child":{paddingBottom:24}}),e7=h.forwardRef(function(e,t){let n=(0,ez.b)({props:e,name:"MuiCardContent"}),{className:r,component:a="div",...o}=n,s={...n,component:a},l=(e=>{let{classes:t}=e;return(0,eT.A)({root:["root"]},e4,t)})(s);return(0,i.jsx)(e5,{as:a,className:(0,eV.A)(l.root,r),ownerState:s,ref:t,...o})});var e8=n(85180),e6=n(33313);function te(e){let{kind:t,spec:n,contentDimensions:r,definition:a,queryResults:o}=e,{data:s,isLoading:l}=(0,M.usePlugin)("Panel",t,{useErrorBoundary:!0}),u=s?.PanelComponent,d=s?.supportedQueryTypes||[],c=d.length>0?o:[];if(l)return(0,i.jsx)(e6.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 c)if(!d.includes(e.definition.kind))throw Error(`This panel does not support queries of type '${e.definition.kind}'. Supported query types: ${d.join(", ")}.`);return(0,i.jsx)(u,{spec:n,contentDimensions:r,definition:a,queryResults:c})}function tt(e){let{panelPluginKind:t,definition:n,queryResults:r,spec:a,contentDimensions:o}=e,{data:s,isLoading:l}=(0,M.usePlugin)("Panel",t,{useErrorBoundary:!0});if(l)return(0,i.jsx)(e6.A,{variant:"rectangular",width:o?.width,height:o?.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,i.jsx)(te,{kind:t,spec:a,contentDimensions:o,definition:n,queryResults:u});if(r.some(e=>e.isFetching))return(0,i.jsx)(tn,{plugin:s,spec:a,definition:n,contentDimensions:o});let d=r.find(e=>e.error);if(d)throw d.error;return(0,i.jsx)(tn,{plugin:s,spec:a,definition:n,contentDimensions:o})}function tn({plugin:e,spec:t,definition:n,contentDimensions:r}){return e?.LoadingComponent?(0,i.jsx)(e.LoadingComponent,{spec:t,contentDimensions:r,definition:n,queryResults:[]}):(0,i.jsx)(s.LoadingOverlay,{})}var tr=n(47599),ti=n(88091);function ta(e){return(0,eW.Ay)("MuiCardHeader",e)}let to=(0,eB.A)("MuiCardHeader",["root","avatar","action","content","title","subheader"]);var ts=n(73397);let tl=(0,eI.A)("div",{name:"MuiCardHeader",slot:"Root",overridesResolver:(e,t)=>[{[`& .${to.title}`]:t.title},{[`& .${to.subheader}`]:t.subheader},t.root]})({display:"flex",alignItems:"center",padding:16}),tu=(0,eI.A)("div",{name:"MuiCardHeader",slot:"Avatar",overridesResolver:(e,t)=>t.avatar})({display:"flex",flex:"0 0 auto",marginRight:16}),td=(0,eI.A)("div",{name:"MuiCardHeader",slot:"Action",overridesResolver:(e,t)=>t.action})({flex:"0 0 auto",alignSelf:"flex-start",marginTop:-4,marginRight:-8,marginBottom:-4}),tc=(0,eI.A)("div",{name:"MuiCardHeader",slot:"Content",overridesResolver:(e,t)=>t.content})({flex:"1 1 auto",[`.${tr.A.root}:where(& .${to.title})`]:{display:"block"},[`.${tr.A.root}:where(& .${to.subheader})`]:{display:"block"}}),tp=h.forwardRef(function(e,t){let n=(0,ez.b)({props:e,name:"MuiCardHeader"}),{action:r,avatar:a,component:o="div",disableTypography:s=!1,subheader:l,subheaderTypographyProps:u,title:d,titleTypographyProps:c,slots:p={},slotProps:f={},...h}=n,g={...n,component:o,disableTypography:s},m=(e=>{let{classes:t}=e;return(0,eT.A)({root:["root"],avatar:["avatar"],action:["action"],content:["content"],title:["title"],subheader:["subheader"]},ta,t)})(g),y={slots:p,slotProps:{title:c,subheader:u,...f}},b=d,[v,x]=(0,ts.A)("title",{className:m.title,elementType:ti.A,externalForwardedProps:y,ownerState:g,additionalProps:{variant:a?"body2":"h5",component:"span"}});null==b||b.type===ti.A||s||(b=(0,i.jsx)(v,{...x,children:b}));let j=l,[w,S]=(0,ts.A)("subheader",{className:m.subheader,elementType:ti.A,externalForwardedProps:y,ownerState:g,additionalProps:{variant:a?"body2":"body1",color:"textSecondary",component:"span"}});null==j||j.type===ti.A||s||(j=(0,i.jsx)(w,{...S,children:j}));let[A,C]=(0,ts.A)("root",{ref:t,className:m.root,elementType:tl,externalForwardedProps:{...y,...h,component:o},ownerState:g}),[D,O]=(0,ts.A)("avatar",{className:m.avatar,elementType:tu,externalForwardedProps:y,ownerState:g}),[E,k]=(0,ts.A)("content",{className:m.content,elementType:tc,externalForwardedProps:y,ownerState:g}),[P,M]=(0,ts.A)("action",{className:m.action,elementType:td,externalForwardedProps:y,ownerState:g});return(0,i.jsxs)(A,{...C,children:[a&&(0,i.jsx)(D,{...O,children:a}),(0,i.jsxs)(E,{...k,children:[b,j]}),r&&(0,i.jsx)(P,{...M,children:r})]})});var tf=n(315),th=n(65211),tg=n(25742),tm=n(91823),ty=n(72795),tb=n(35050),tv=n(53493),tx=n(59909),tj=n(86067),tw=n(61318),tS=n(50172),tA=n(14637),tC=n(4178),tD=n(74830),tO=n(17366),tE=n(47095);let tk=(0,eI.A)(tE.A)(({theme:e})=>({borderRadius:e.shape.borderRadius,padding:"4px"}));var tP=n(30145),tM=n(97653),tV=n(59238),tL=n(93399),tR=n(24726),tT=n(26952),tI=n(82561),t_=n(95279);let tz={primary:!0,secondary:!0,error:!0,info:!0,success:!0,warning:!0,textPrimary:!0,textSecondary:!0,textDisabled:!0},tN=(0,eI.A)(ti.A,{name:"MuiLink",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.root,t[`underline${(0,tR.A)(n.underline)}`],"button"===n.component&&t.button]}})((0,e_.A)(({theme:e})=>({variants:[{props:{underline:"none"},style:{textDecoration:"none"}},{props:{underline:"hover"},style:{textDecoration:"none","&:hover":{textDecoration:"underline"}}},{props:{underline:"always"},style:{textDecoration:"underline","&:hover":{textDecorationColor:"inherit"}}},{props:({underline:e,ownerState:t})=>"always"===e&&"inherit"!==t.color,style:{textDecorationColor:"var(--Link-underlineColor)"}},...Object.entries(e.palette).filter((0,tT.A)()).map(([t])=>({props:{underline:"always",color:t},style:{"--Link-underlineColor":e.vars?`rgba(${e.vars.palette[t].mainChannel} / 0.4)`:(0,tV.X4)(e.palette[t].main,.4)}})),{props:{underline:"always",color:"textPrimary"},style:{"--Link-underlineColor":e.vars?`rgba(${e.vars.palette.text.primaryChannel} / 0.4)`:(0,tV.X4)(e.palette.text.primary,.4)}},{props:{underline:"always",color:"textSecondary"},style:{"--Link-underlineColor":e.vars?`rgba(${e.vars.palette.text.secondaryChannel} / 0.4)`:(0,tV.X4)(e.palette.text.secondary,.4)}},{props:{underline:"always",color:"textDisabled"},style:{"--Link-underlineColor":(e.vars||e).palette.text.disabled}},{props:{component:"button"},style:{position:"relative",WebkitTapHighlightColor:"transparent",backgroundColor:"transparent",outline:0,border:0,margin:0,borderRadius:0,padding:0,cursor:"pointer",userSelect:"none",verticalAlign:"middle",MozAppearance:"none",WebkitAppearance:"none","&::-moz-focus-inner":{borderStyle:"none"},[`&.${tI.A.focusVisible}`]:{outline:"auto"}}}]}))),tH=h.forwardRef(function(e,t){let n=(0,ez.b)({props:e,name:"MuiLink"}),r=(0,eM.A)(),{className:a,color:o="primary",component:s="a",onBlur:l,onFocus:u,TypographyClasses:d,underline:c="always",variant:p="inherit",sx:f,...g}=n,[m,y]=h.useState(!1),b={...n,color:o,component:s,focusVisible:m,underline:c,variant:p},v=(e=>{let{classes:t,component:n,focusVisible:r,underline:i}=e,a={root:["root",`underline${(0,tR.A)(i)}`,"button"===n&&"button",r&&"focusVisible"]};return(0,eT.A)(a,tI.t,t)})(b);return(0,i.jsx)(tN,{color:o,className:(0,eV.A)(v.root,a),classes:d,component:s,onBlur:e=>{(0,tL.A)(e.target)||y(!1),l&&l(e)},onFocus:e=>{(0,tL.A)(e.target)&&y(!0),u&&u(e)},ref:t,ownerState:b,variant:p,...g,sx:[...void 0===tz[o]?[{color:o}]:[],...Array.isArray(f)?f:[f]],style:{...g.style,..."always"===c&&"inherit"!==o&&!tz[o]&&{"--Link-underlineColor":(({theme:e,ownerState:t})=>{let n=t.color,r=(0,t_.Yn)(e,`palette.${n}.main`,!1)||(0,t_.Yn)(e,`palette.${n}`,!1)||t.color,i=(0,t_.Yn)(e,`palette.${n}.mainChannel`)||(0,t_.Yn)(e,`palette.${n}Channel`);return"vars"in e&&i?`rgba(${i} / 0.4)`:(0,tV.X4)(r,.4)})({theme:r,ownerState:b})}}})});var t$=n(65241);function tB({links:e}){let[t,n]=(0,h.useState)(null);if(1===e.length&&e[0]){let t=e[0];return(0,i.jsx)(tW,{link:t})}return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.InfoTooltip,{description:`${e.length} links`,enterDelay:100,children:(0,i.jsx)(tE.A,{"aria-label":"Panel links",size:"small",onClick:e=>{n(e.currentTarget)},sx:e=>({borderRadius:e.shape.borderRadius,padding:"4px"}),children:(0,i.jsx)(t$.default,{"aria-describedby":"links-icon",fontSize:"inherit",sx:{color:e=>e.palette.text.secondary}})})}),(0,i.jsx)(tP.A,{anchorEl:t,open:!!t,onClose:()=>{n(null)},MenuListProps:{"aria-labelledby":"panel-links"},children:e.map(e=>(0,i.jsx)(tG,{link:e},e.url))})]})}function tW({link:e}){let{url:t,name:n,tooltip:r,targetBlank:a}=tF(e);return(0,i.jsx)(s.InfoTooltip,{description:r??t,enterDelay:100,children:(0,i.jsx)(tE.A,{"aria-label":n??t,size:"small",href:t,target:a?"_blank":"_self",sx:e=>({borderRadius:e.shape.borderRadius,padding:"4px"}),children:(0,i.jsx)(t$.default,{fontSize:"inherit",sx:{color:e=>e.palette.text.secondary}})})})}function tG({link:e}){let{url:t,name:n,tooltip:r,targetBlank:a}=tF(e);return(0,i.jsx)(s.InfoTooltip,{description:r??t,enterDelay:100,children:(0,i.jsx)(tM.A,{component:tH,href:t,target:a?"_blank":"_self",children:n??t})})}function tF(e){let t=(0,M.useReplaceVariablesInString)(e.url)??e.url,n=(0,M.useReplaceVariablesInString)(e.name),r=(0,M.useReplaceVariablesInString)(e.tooltip);return!1===e.renderVariables?e:{...e,url:t,name:n,tooltip:r}}let tq={error:(0,i.jsx)(tD.default,{color:"error"}),warning:(0,i.jsx)(tC.default,{fontSize:"inherit",color:"warning"}),info:(0,i.jsx)(tO.default,{fontSize:"inherit",color:"info"})},tU=(0,eI.A)(eP.A)({display:"none",alignItems:"center",flexGrow:1,justifyContent:"flex-end"}),tJ=({editHandlers:e,readHandlers:t,viewQueriesHandler:n,extra:r,title:a,description:o,descriptionTooltipId:l,links:u,queryResults:d,pluginActions:c=[],showIcons:p})=>{let g=(0,h.useMemo)(()=>{if(o&&o.trim().length>0)return(0,i.jsx)(s.InfoTooltip,{id:l,description:o,enterDelay:100,children:(0,i.jsx)(tk,{"aria-label":"panel description",size:"small",children:(0,i.jsx)(tO.default,{"aria-describedby":"info-tooltip","aria-hidden":!1,fontSize:"inherit",sx:{color:e=>e.palette.text.secondary}})})})},[l,o]),m=u&&u.length>0&&(0,i.jsx)(tB,{links:u}),y=void 0===e&&r,b=(0,h.useMemo)(()=>{let e=d.some(e=>e.data),t=d.some(e=>e.isFetching),n=d.filter(e=>e.error);if(t&&e)return(0,i.jsx)(tg.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,i.jsx)(s.InfoTooltip,{description:e,children:(0,i.jsx)(tk,{"aria-label":"panel errors",size:"small",children:(0,i.jsx)(tC.default,{fontSize:"inherit",sx:{color:e=>e.palette.error.main}})})})}},[d]),v=(0,h.useMemo)(()=>{let e=d.flatMap(e=>e.data?.metadata?.notices??[]);if(e.length>0){let t=e[e.length-1];return(0,i.jsx)(s.InfoTooltip,{description:t.message,children:(0,i.jsx)(tk,{"aria-label":"panel notices",size:"small",children:tq[t.type]})})}},[d]),x=(0,h.useMemo)(()=>{if(void 0!==t){let e;return(0,i.jsx)(s.InfoTooltip,{description:"Toggle View Mode",children:(0,i.jsx)(tk,{"aria-label":(e=a,`toggle panel ${e} view mode`),size:"small",onClick:t.onViewPanelClick,children:t.isPanelViewed?(0,i.jsx)(tb.default,{fontSize:"inherit"}):(0,i.jsx)(tv.default,{fontSize:"inherit"})})})}},[t,a]),j=(0,h.useMemo)(()=>{let e;return n?.onClick?(0,i.jsx)(s.InfoTooltip,{description:"Open query view",children:(0,i.jsx)(tk,{"aria-label":(e=a,`open query view for panel ${e}`),size:"small",onClick:n.onClick,children:(0,i.jsx)(ty.default,{fontSize:"inherit"})})}):null},[n,a]),w=(0,h.useMemo)(()=>{if(void 0!==e){let t,n,r;return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.InfoTooltip,{description:"Edit",children:(0,i.jsx)(tk,{"aria-label":(t=a,`edit panel ${t}`),size:"small",onClick:e.onEditPanelClick,children:(0,i.jsx)(tx.default,{fontSize:"inherit"})})}),(0,i.jsx)(s.InfoTooltip,{description:"Duplicate",children:(0,i.jsx)(tk,{"aria-label":(n=a,`duplicate panel ${n}`),size:"small",onClick:e.onDuplicatePanelClick,children:(0,i.jsx)(tS.default,{fontSize:"inherit",sx:{transform:"scale(0.925)"}})})}),(0,i.jsx)(s.InfoTooltip,{description:"Delete",children:(0,i.jsx)(tk,{"aria-label":(r=a,`delete panel ${r}`),size:"small",onClick:e.onDeletePanelClick,children:(0,i.jsx)(tj.default,{fontSize:"inherit"})})})]})}},[e,a]),S=(0,h.useMemo)(()=>{if(w&&!t?.isPanelViewed){let e;return(0,i.jsx)(s.InfoTooltip,{description:"Move",children:(0,i.jsx)(tk,{"aria-label":(e=a,`move panel ${e}`),size:"small",children:(0,i.jsx)(tw.default,{className:"drag-handle",sx:{cursor:"grab"},fontSize:"inherit"})})})}},[w,t,a]),A=(0,i.jsx)(eP.A,{sx:{flexGrow:1}}),C=({children:e})=>"hover"===p?(0,i.jsx)(eP.A,{sx:{display:"var(--panel-hover, none)"},children:e}):(0,i.jsx)(i.Fragment,{children:e});return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(tU,{sx:e=>({[e.containerQueries(f).between(0,170)]:{display:"flex"}}),children:[A,(0,i.jsxs)(C,{children:[(0,i.jsxs)(tY,{title:a,children:[g," ",m," ",b," ",v," ",y," ",j,x," ",c,w]}),S]})]}),(0,i.jsxs)(tU,{sx:e=>({[e.containerQueries(f).between(170,220)]:{display:"flex"}}),children:[(0,i.jsxs)(C,{children:[g," ",m]}),A," ",b,v,(0,i.jsxs)(C,{children:[y,x,(0,i.jsxs)(tY,{title:a,children:[w," ",j," ",c]}),S]})]}),(0,i.jsxs)(tU,{sx:e=>({display:"flex",[e.containerQueries(f).down(220)]:{display:"none"}}),children:[(0,i.jsxs)(C,{children:[g," ",m]}),A," ",b,v,(0,i.jsxs)(C,{children:[y,j,x," ",w,c.length<=1?c:(0,i.jsx)(tY,{title:a,children:c}),S]})]})]})},tY=({children:e,title:t})=>{let n,[r,a]=(0,h.useState)();if(!((0,h.isValidElement)(e)||Array.isArray(e)&&e.some(h.isValidElement)))return null;let o=()=>{a(void 0)},s=!!r,l=s?"actions-menu":void 0;return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(tk,{className:"show-actions","aria-describedby":l,onClick:e=>{a(e.currentTarget.getBoundingClientRect())},"aria-label":(n=t,`show panel actions for ${n}`),size:"small",children:(0,i.jsx)(tA.default,{fontSize:"inherit"})}),(0,i.jsx)(tm.Ay,{id:l,open:s,anchorReference:"anchorPosition",anchorPosition:r,onClose:o,anchorOrigin:{vertical:"bottom",horizontal:"left"},children:(0,i.jsx)(tf.A,{direction:"row",alignItems:"center",sx:{padding:1},onClick:o,children:e})})]})};function tK({id:e,title:t,description:n,links:r,queryResults:a,readHandlers:o,editHandlers:l,sx:u,extra:d,pluginActions:c,showIcons:p,viewQueriesHandler:g,dimension:m,...y}){let b=`${e}-title`,v=`${e}-description`,x=(0,M.useReplaceVariablesInString)(t),j=(0,M.useReplaceVariablesInString)(n),w=(0,h.useRef)(null),S=!!(w.current&&m?.width)&&w.current.scrollWidth>w.current.clientWidth;return(0,i.jsx)(tp,{id:e,component:"header","aria-labelledby":b,"aria-describedby":v,disableTypography:!0,title:(0,i.jsxs)(tf.A,{direction:"row",alignItems:"center",height:"var(--panel-header-height, 30px)",children:[(0,i.jsx)(th.A,{title:x,disableHoverListener:!S,children:(0,i.jsx)(ti.A,{id:b,variant:"subtitle1",ref:w,sx:{lineHeight:"24px",minHeight:"26px",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:x})}),(0,i.jsx)(tJ,{title:x,description:j,descriptionTooltipId:v,links:r,readHandlers:o,editHandlers:l,viewQueriesHandler:g,extra:d,queryResults:a,pluginActions:c,showIcons:p})]}),sx:(0,s.combineSx)(e=>({containerType:"inline-size",containerName:f,padding:e.spacing(1),borderBottom:`solid 1px ${e.palette.divider}`,".MuiCardHeader-content":{overflow:"hidden"}}),u),...y})}let tX=(0,h.memo)(function(e){let{definition:t,readHandlers:n,editHandlers:r,onMouseEnter:a,onMouseLeave:o,sx:l,panelOptions:u,panelGroupItemId:d,viewQueriesHandler:c,...p}=e,f=(0,s.useId)("Panel"),g=`${f}-header`,[m,y]=(0,h.useState)(null),{width:b,height:v}=(0,e8.default)({ref:m}),x=(0,h.useMemo)(()=>{if(void 0!==b&&void 0!==v)return{width:b,height:v}},[b,v]),{queryResults:j}=(0,M.useDataQueriesContext)(),{getPlugin:w}=(0,M.usePluginRegistry)(),S=(0,h.useMemo)(()=>({spec:t.spec.plugin.spec,queryResults:j.map(e=>({definition:e.definition,data:e.data})),contentDimensions:x,definition:t}),[t,x,j]),[A,C]=(0,h.useState)([]);(0,h.useEffect)(()=>{let e=!1,n=async()=>{let n=t.spec.plugin.kind;if(!n||!S){e||C([]);return}try{if(!w||"function"!=typeof w){e||C([]);return}let t=await w("Panel",n);if(e)return;if(!t||"object"!=typeof t||!t.actions||!Array.isArray(t.actions)||0===t.actions.length){e||C([]);return}let r=t.actions.filter(e=>!e.location||"header"===e.location).map((e,t)=>{let n=e.component;try{return(0,i.jsx)(n,{...S},`plugin-action-${t}`)}catch(e){return console.warn(`Failed to render plugin action ${t}:`,e),null}}).filter(e=>!!e);e||C(r)}catch(t){e||(console.warn("Failed to load plugin actions:",t),C([]))}},r=setTimeout(()=>{n()},0);return()=>{e=!0,clearTimeout(r)}},[t.spec.plugin.kind,S,w]);let D=u?.showIcons??(r||n?.isPanelViewed?"always":"hover");return(0,i.jsxs)(e3.A,{component:"section",sx:(0,s.combineSx)({width:"100%",height:"100%",display:"flex",flexFlow:"column nowrap",":hover":{"--panel-hover":"block"}},l),variant:"outlined",onMouseEnter:e=>{a?.(e)},onMouseLeave:e=>{o?.(e)},"aria-labelledby":g,"aria-describedby":g,"data-testid":"panel",...p,children:[!u?.hideHeader&&(0,i.jsx)(tK,{extra:u?.extra?.({panelDefinition:t,panelGroupItemId:d}),id:g,title:t.spec.display.name,description:t.spec.display.description,queryResults:j,readHandlers:n,editHandlers:r,viewQueriesHandler:c,links:t.spec.links,pluginActions:A,showIcons:D,sx:{py:"2px",pl:"8px",pr:"2px"},dimension:x}),(0,i.jsx)(e7,{component:"figure",sx:{position:"relative",overflow:"hidden",flexGrow:1,margin:0,padding:0,":last-child":{padding:0}},ref:y,children:(0,i.jsx)(s.ErrorBoundary,{FallbackComponent:s.ErrorAlert,resetKeys:[t.spec,j],children:(0,i.jsx)(tt,{definition:t,panelPluginKind:t.spec.plugin.kind,spec:t.spec.plugin.spec,contentDimensions:x,queryResults:j})})})]})});var tQ=n(6227);function tZ({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,i.jsxs)(g().Fragment,{children:[(0,i.jsx)(M.PluginSpecEditor,{value:n.spec.plugin.spec,pluginSelection:{kind:n.spec.plugin.kind,type:n.kind},onChange:()=>{},isReadonly:!0}),r<t.length-1&&(0,i.jsx)(tQ.A,{sx:{my:2}})]},`query-${r}`))}),e},[t]);return(0,i.jsxs)(s.Dialog,{open:e,onClose:n,maxWidth:"lg",fullWidth:!0,children:[(0,i.jsx)(s.Dialog.Header,{children:"Query Viewer"}),(0,i.jsx)(s.Dialog.Content,{children:r}),(0,i.jsx)(s.Dialog.Actions,{children:(0,i.jsx)(a.A,{variant:"outlined",color:"secondary",onClick:n,children:"Close"})})]})}function t0(e){let t,{panelGroupItemId:n,width:r}=e,a=el(n),{spec:{queries:o}}=a,{isEditMode:s}=q(),{openEditPanel:l,openDeletePanelDialog:u,duplicatePanel:d,viewPanel:c}=ed(n),p=ex(),{ref:f,inView:g}=function({threshold:e,delay:t,trackVisibility:n,rootMargin:r,root:i,triggerOnce:a,skip:o,initialInView:s,fallbackInView:l,onChange:u}={}){var d;let[c,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&&c)return s=function(e,t,n={},r=e9){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":(e1.has(n)||(e2+=1,e1.set(n,e2.toString())),e1.get(n)):e[t]}`}).toString(),n=e0.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},e0.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(),e0.delete(i))}}(c,(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,c,i,r,a,o,n,l,t]);let y=null==(d=g.entry)?void 0:d.target,b=h.useRef(void 0);c||!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}({threshold:.2,initialInView:!1,triggerOnce:!0}),[m,y]=(0,h.useState)(!1),b=(0,h.useMemo)(()=>s||!o?.length?void 0:{onClick:()=>{y(!0)}},[s,o]),v={isPanelViewed:(0,P.isPanelGroupItemIdEqual)(p,n),onViewPanelClick:function(){void 0===p?c(n):c(void 0)}};s&&(t={onEditPanelClick:l,onDuplicatePanelClick:d,onDeletePanelClick:u});let x=(0,M.useSuggestedStepMs)(r),{data:j}=(0,M.usePlugin)("Panel",a.spec.plugin.kind),w=o??[],S=w.map(e=>({kind:e.spec.plugin.kind,spec:e.spec.plugin.spec})),A="function"==typeof j?.queryOptions?j?.queryOptions(a.spec.plugin.spec):j?.queryOptions;return(0,i.jsxs)(eP.A,{ref:f,sx:{width:"100%",height:"100%"},children:[(0,i.jsx)(M.DataQueriesProvider,{definitions:S,options:{suggestedStepMs:x,...A},queryOptions:{enabled:g},children:g&&(0,i.jsx)(tX,{definition:a,readHandlers:v,editHandlers:t,viewQueriesHandler:b,panelOptions:e.panelOptions,panelGroupItemId:n})}),(0,i.jsx)(tZ,{open:m,queryDefinitions:w,onClose:()=>y(!1)})]})}var t1=n(87275),t2=n(11061),t9=n(65168),t3=n(46001);function t4(e){let t,n,r,a,o,{panelGroupId:l,title:u,collapse:d}=e,c=(0,M.useReplaceVariablesInString)(u),{openAddPanel:p,openEditPanelGroup:f,moveUp:h,moveDown:g}=et(l),{openDeletePanelGroupDialog:m}=es(),{isEditMode:y}=q(),b=(0,i.jsx)(ti.A,{variant:"h2",children:c});return(0,i.jsx)(eP.A,{onClick:d?.onToggleOpen,sx:{display:"flex",justifyContent:"start",alignItems:"center",cursor:d?"pointer":"auto",backgroundColor:({palette:e})=>e.background.paper},"data-testid":"panel-group-header",children:d?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(tE.A,{sx:{marginRight:1},"aria-label":`${d.isOpen?"collapse":"expand"} group ${c}`,children:d.isOpen?(0,i.jsx)(t1.default,{}):(0,i.jsx)(t2.default,{})}),b,y&&(0,i.jsxs)(tf.A,{direction:"row",marginLeft:"auto",children:[(0,i.jsx)(s.InfoTooltip,{description:"Add panel to group",children:(0,i.jsx)(tE.A,{"aria-label":(t=c,`add panel to group ${t}`),onClick:e=>{e.stopPropagation(),p()},children:(0,i.jsx)(eE.default,{})})}),(0,i.jsx)(s.InfoTooltip,{description:"Edit group",children:(0,i.jsx)(tE.A,{"aria-label":(n=c,`edit group ${n}`),onClick:e=>{e.stopPropagation(),f()},children:(0,i.jsx)(tx.default,{})})}),(0,i.jsx)(s.InfoTooltip,{description:"Delete group",children:(0,i.jsx)(tE.A,{"aria-label":(r=c,`delete group ${r}`),onClick:e=>{e.stopPropagation(),m(l)},children:(0,i.jsx)(tj.default,{})})}),(0,i.jsx)(s.InfoTooltip,{description:"Move group down",children:(0,i.jsx)(tE.A,{"aria-label":(a=c,`move group ${a} down`),disabled:void 0===g,onClick:e=>{e.stopPropagation(),g?.()},children:(0,i.jsx)(t3.default,{})})}),(0,i.jsx)(s.InfoTooltip,{description:"Move group up",children:(0,i.jsx)(tE.A,{"aria-label":(o=c,`move group ${o} up`),disabled:void 0===h,onClick:e=>{e.stopPropagation(),h?.()},children:(0,i.jsx)(t9.default,{})})})]})]}):b})}function t5({panelGroupId:e,groupDefinition:t,gridColWidth:n,panelFullHeight:r,panelOptions:a,isEditMode:o=!1,onLayoutChange:l,onWidthChange:u,repeatVariable:d}){let c=(0,h.useMemo)(()=>(0,eK.WidthProvider)(eK.Responsive),[]),p=(0,eM.A)(),f=(0,eY.useViewPanelGroup)(),[g,m]=(0,h.useState)(!t.isCollapsed),y=f?.panelGroupId===e&&f.repeatVariable?.[0]===d?.[0]&&f.repeatVariable?.[1]===d?.[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,i.jsxs)(eX,{sx:{display:v?"block":"none",height:b?`${r}px`:"unset",overflow:b?"hidden":"unset"},children:[t.title&&(0,i.jsx)(t4,{panelGroupId:e,title:t.title,collapse:void 0===t.isCollapsed?void 0:{isOpen:g,onToggleOpen:()=>m(e=>!e)}}),(0,i.jsx)(eJ,{in:g,unmountOnExit:!0,appear:!1,"data-testid":"panel-group-content",children:(0,i.jsx)(c,{className:"layout",breakpoints:{sm:p.breakpoints.values.sm,xxs:0},cols:_,rowHeight:30,draggableHandle:".drag-handle",resizeHandles:["se"],isDraggable:o&&!y,isResizable:o&&!y,margin:[10,10],containerPadding:[0,10],layouts:{sm:x},onLayoutChange:l,onWidthChange:u,allowOverlap:y,children:x.map(({i:t,w:r})=>(0,i.jsx)("div",{style:{display:b?b===t?"unset":"none":"unset"},children:(0,i.jsx)(s.ErrorBoundary,{FallbackComponent:s.ErrorAlert,children:(0,i.jsx)(t0,{panelOptions:a,panelGroupItemId:{panelGroupId:e,panelGroupItemLayoutId:t,repeatVariable:d},width:t7(r,n)})})},t))})})]})}let t7=(e,t)=>Number.isFinite(e)?Math.round(t*e+10*Math.max(0,e-1)):e;function t8(e){let{panelGroupId:t,panelOptions:n,panelFullHeight:r}=e,a=Z(t),{updatePanelGroupLayouts:o}=et(t),s=ex(),{isEditMode:l}=q(),[u,d]=(0,h.useState)(0),c=s?.panelGroupId===t,p=(e,t)=>{let n=t.sm;n&&!c&&o(n)},f=(e,t,n,r)=>{d((e-t[0]*(n-1)-2*r[0])/n)};return(0,i.jsx)(i.Fragment,{children:a.repeatVariable?(0,i.jsx)(t6,{repeatVariableName:a.repeatVariable,panelGroupId:t,groupDefinition:a,gridColWidth:u,panelFullHeight:r,panelOptions:n,isEditMode:l,onLayoutChange:p,onWidthChange:f}):(0,i.jsx)(t5,{panelGroupId:t,groupDefinition:a,gridColWidth:u,panelFullHeight:r,panelOptions:n,isEditMode:l,onLayoutChange:p,onWidthChange:f})})}function t6({repeatVariableName:e,panelGroupId:t,groupDefinition:n,gridColWidth:r,panelFullHeight:a,panelOptions:o,isEditMode:s=!1,onLayoutChange:l,onWidthChange:u}){let d=(0,M.useVariableValues)(),c=d[e];return void 0!==c&&Array.isArray(c.value)&&0!==c.value.length?(0,i.jsx)(i.Fragment,{children:c.value.map(c=>(0,i.jsx)(M.VariableContext.Provider,{value:{state:{...d,[e]:{value:c,loading:!1}}},children:(0,i.jsx)(t5,{panelGroupId:t,groupDefinition:n,gridColWidth:r,panelFullHeight:a,panelOptions:o,isEditMode:s,onLayoutChange:l,onWidthChange:u,repeatVariable:[e,c]})},`${e}-${c}`))}):(0,i.jsx)(t5,{panelGroupId:t,groupDefinition:n,gridColWidth:r,panelFullHeight:a,panelOptions:o,isEditMode:s,onLayoutChange:l,onWidthChange:u})}let{useDebugValue:ne}=h,{useSyncExternalStoreWithSelector:nt}=b,nn=e=>e;function nr(e,t=nn,n){let r=nt(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return ne(r),r}function ni(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 na(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]===P.DEFAULT_ALL_VALUE&&(n.value=P.DEFAULT_ALL_VALUE)}return n}function no(e,t,n=[]){let r=new M.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},{...na(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},{...na(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 ns=n(57348);let nl="var-",nu={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""}},nd=(0,h.createContext)(void 0);function nc(){let e=(0,h.useContext)(nd);if(!e)throw Error("VariableStoreContext not initialized");return e}function np(e){return w(nc(),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 nf(e,t){return nr(nc(),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 nh(){return w(nc(),e=>({setVariableValue:e.setVariableValue,setVariableLoading:e.setVariableLoading,setVariableOptions:e.setVariableOptions,setVariableDefinitions:e.setVariableDefinitions,setVariableDefaultValues:e.setVariableDefaultValues,getSavedVariablesStatus:e.getSavedVariablesStatus}),k)}function ng(){return nr(nc(),e=>e.variableDefinitions)}function nm(){return nr(nc(),e=>e.externalVariableDefinitions)}function ny({children:e,builtinVariables:t}){let n=np(),r=ng(),a=nm(),{absoluteTimeRange:o}=(0,M.useTimeRange)(),s=(0,h.useMemo)(()=>{let e={};return Object.keys(n).forEach(t=>{let i={...n[t]};if(i.value===P.DEFAULT_ALL_VALUE){let e=ni(r,a).find(e=>e.spec.name===t);e?.kind==="ListVariable"&&e.spec.customAllValue?i.value=e.spec.customAllValue:i.value=i.options?.map(e=>e.value)??null}e[t]=i}),e},[n,r,a]),l=(0,h.useMemo)(()=>{let e=[{kind:"BuiltinVariable",spec:{name:"__from",value:()=>o.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:()=>o.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,P.formatDuration)((0,P.intervalToPrometheusDuration)(o)),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:()=>((o.end.valueOf()-o.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:()=>(o.end.valueOf()-o.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},[o,t]);return(0,i.jsx)(M.BuiltinVariableContext.Provider,{value:{variables:l},children:(0,i.jsx)(M.VariableContext.Provider,{value:{state:s},children:e})})}function nb({initialVariableDefinitions:e=[],externalVariableDefinitions:t=[],queryParams:n}){var r;let i,a=(r=n?n[0]:{},i={},Object.keys(r).forEach(e=>{let t=r[e];t&&(i[e.replace(nl,"")]=t)}),i);return y()(C(E((r,i)=>({variableState:no(e,a,t),variableDefinitions:e,externalVariableDefinitions:t,setVariableDefinitions(e){r(n=>{n.variableDefinitions=e,n.variableState=no(e,a,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(P.DEFAULT_ALL_VALUE)&&(a=a.at(-1)===P.DEFAULT_ALL_VALUE?P.DEFAULT_ALL_VALUE:a.filter(e=>e!==P.DEFAULT_ALL_VALUE)),n)&&(0,n[1])({[`${nl}${e}`]:a});o.value=a}},!1,"[Variables] setVariableValue"),setVariableDefaultValues:()=>{let e=i().variableDefinitions,t=i().variableState,n=(0,O.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,O.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,O.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 nv({children:e,initialVariableDefinitions:t=[],externalVariableDefinitions:n=[],builtinVariableDefinitions:r=[]}){let[a]=(0,h.useState)(()=>nb({initialVariableDefinitions:t,externalVariableDefinitions:n}));return(0,i.jsx)(nd.Provider,{value:a,children:(0,i.jsx)(ny,{builtinVariables:r,children:e})})}function nx({children:e,initialVariableDefinitions:t=[],externalVariableDefinitions:n=[],builtinVariableDefinitions:r=[]}){let a,o=(a={},ni(t,n).forEach(e=>{var t;a[t=e.spec.name,`${nl}${t}`]=nu}),(0,ns.useQueryParams)(a,{updateType:"replaceIn"})),[s]=(0,h.useState)(()=>nb({initialVariableDefinitions:t,externalVariableDefinitions:n,queryParams:o}));return(0,i.jsx)(nd.Provider,{value:s,children:(0,i.jsx)(ny,{builtinVariables:r,children:e})})}var nj=n(34007),nw=n(347),nS=n(91394),nA=n(70561),nC=n(3399),nD=n(5139),nO=n(68003),nE=n(11502);let nk=h.createContext({});var nP=n(2203);function nM(e){return(0,eW.Ay)("MuiAccordion",e)}let nV=(0,eB.A)("MuiAccordion",["root","heading","rounded","expanded","disabled","gutters","region"]),nL=(0,eI.A)(nE.A,{name:"MuiAccordion",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:n}=e;return[{[`& .${nV.region}`]:t.region},t.root,!n.square&&t.rounded,!n.disableGutters&&t.gutters]}})((0,e_.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"}},[`&.${nV.expanded}`]:{"&::before":{opacity:0},"&:first-of-type":{marginTop:0},"&:last-of-type":{marginBottom:0},"& + &":{"&::before":{display:"none"}}},[`&.${nV.disabled}`]:{backgroundColor:(e.vars||e).palette.action.disabledBackground}}}),(0,e_.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:{[`&.${nV.expanded}`]:{margin:"16px 0"}}}]}))),nR=(0,eI.A)("h3",{name:"MuiAccordion",slot:"Heading",overridesResolver:(e,t)=>t.heading})({all:"unset"}),nT=h.forwardRef(function(e,t){let n=(0,ez.b)({props:e,name:"MuiAccordion"}),{children:r,className:a,defaultExpanded:o=!1,disabled:s=!1,disableGutters:l=!1,expanded:u,onChange:d,square:c=!1,slots:p={},slotProps:f={},TransitionComponent:g,TransitionProps:m,...y}=n,[b,v]=(0,nP.A)({controlled:u,default:o,name:"Accordion",state:"expanded"}),x=h.useCallback(e=>{v(!b),d&&d(e,!b)},[b,d,v]),[j,...w]=h.Children.toArray(r),S=h.useMemo(()=>({expanded:b,disabled:s,disableGutters:l,toggle:x}),[b,s,l,x]),A={...n,square:c,disabled:s,disableGutters:l,expanded:b},C=(e=>{let{classes:t,square:n,expanded:r,disabled:i,disableGutters:a}=e;return(0,eT.A)({root:["root",!n&&"rounded",r&&"expanded",i&&"disabled",!a&&"gutters"],heading:["heading"],region:["region"]},nM,t)})(A),D={slots:{transition:g,...p},slotProps:{transition:m,...f}},[O,E]=(0,ts.A)("root",{elementType:nL,externalForwardedProps:{...D,...y},className:(0,eV.A)(C.root,a),shouldForwardComponentProp:!0,ownerState:A,ref:t,additionalProps:{square:c}}),[k,P]=(0,ts.A)("heading",{elementType:nR,externalForwardedProps:D,className:C.heading,ownerState:A}),[M,V]=(0,ts.A)("transition",{elementType:eJ,externalForwardedProps:D,ownerState:A});return(0,i.jsxs)(O,{...E,children:[(0,i.jsx)(k,{...P,children:(0,i.jsx)(nk.Provider,{value:S,children:j})}),(0,i.jsx)(M,{in:b,timeout:"auto",...V,children:(0,i.jsx)("div",{"aria-labelledby":j.props.id,id:j.props["aria-controls"],role:"region",className:C.region,children:w})})]})});var nI=n(1337);function n_(e){return(0,eW.Ay)("MuiAccordionSummary",e)}let nz=(0,eB.A)("MuiAccordionSummary",["root","expanded","focusVisible","disabled","gutters","contentGutters","content","expandIconWrapper"]),nN=(0,eI.A)(nI.A,{name:"MuiAccordionSummary",slot:"Root",overridesResolver:(e,t)=>t.root})((0,e_.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),[`&.${nz.focusVisible}`]:{backgroundColor:(e.vars||e).palette.action.focus},[`&.${nz.disabled}`]:{opacity:(e.vars||e).palette.action.disabledOpacity},[`&:hover:not(.${nz.disabled})`]:{cursor:"pointer"},variants:[{props:e=>!e.disableGutters,style:{[`&.${nz.expanded}`]:{minHeight:64}}}]}})),nH=(0,eI.A)("span",{name:"MuiAccordionSummary",slot:"Content",overridesResolver:(e,t)=>t.content})((0,e_.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}),[`&.${nz.expanded}`]:{margin:"20px 0"}}}]}))),n$=(0,eI.A)("span",{name:"MuiAccordionSummary",slot:"ExpandIconWrapper",overridesResolver:(e,t)=>t.expandIconWrapper})((0,e_.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}),[`&.${nz.expanded}`]:{transform:"rotate(180deg)"}}))),nB=h.forwardRef(function(e,t){let n=(0,ez.b)({props:e,name:"MuiAccordionSummary"}),{children:r,className:a,expandIcon:o,focusVisibleClassName:s,onClick:l,slots:u,slotProps:d,...c}=n,{disabled:p=!1,disableGutters:f,expanded:g,toggle:m}=h.useContext(nk),y={...n,expanded:g,disabled:p,disableGutters:f},b=(e=>{let{classes:t,expanded:n,disabled:r,disableGutters:i}=e;return(0,eT.A)({root:["root",n&&"expanded",r&&"disabled",!i&&"gutters"],focusVisible:["focusVisible"],content:["content",n&&"expanded",!i&&"contentGutters"],expandIconWrapper:["expandIconWrapper",n&&"expanded"]},n_,t)})(y),v={slots:u,slotProps:d},[x,j]=(0,ts.A)("root",{ref:t,shouldForwardComponentProp:!0,className:(0,eV.A)(b.root,a),elementType:nN,externalForwardedProps:{...v,...c},ownerState:y,additionalProps:{focusRipple:!1,disableRipple:!0,disabled:p,"aria-expanded":g,focusVisibleClassName:(0,eV.A)(b.focusVisible,s)},getSlotProps:e=>({...e,onClick:t=>{e.onClick?.(t),m&&m(t),l&&l(t)}})}),[w,S]=(0,ts.A)("content",{className:b.content,elementType:nH,externalForwardedProps:v,ownerState:y}),[A,C]=(0,ts.A)("expandIconWrapper",{className:b.expandIconWrapper,elementType:n$,externalForwardedProps:v,ownerState:y});return(0,i.jsxs)(x,{...j,children:[(0,i.jsx)(w,{...S,children:r}),o&&(0,i.jsx)(A,{...C,children:o})]})});function nW(e){return(0,eW.Ay)("MuiAccordionDetails",e)}(0,eB.A)("MuiAccordionDetails",["root"]);let nG=(0,eI.A)("div",{name:"MuiAccordionDetails",slot:"Root",overridesResolver:(e,t)=>t.root})((0,e_.A)(({theme:e})=>({padding:e.spacing(1,2,2)}))),nF=h.forwardRef(function(e,t){let n=(0,ez.b)({props:e,name:"MuiAccordionDetails"}),{className:r,...a}=n,o=(e=>{let{classes:t}=e;return(0,eT.A)({root:["root"]},nW,t)})(n);return(0,i.jsx)(nG,{className:(0,eV.A)(o.root,r),ref:t,ownerState:n,...a})});var nq=n(45271),nU=n(86742);function nJ(e){var t=(0,h.useState)(function(){return(0,O.CN)("function"==typeof e?e():e,!0)}),n=t[1];return[t[0],(0,h.useCallback)(function(e){n("function"==typeof e?(0,O.jM)(e):(0,O.CN)(e))},[])]}var nY=n(49603),nK=n(4150),nX=n(30576),nQ=n(10571),nZ=n(38990);function n0({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,i.jsx)(i.Fragment,{children:n.map(e=>(0,i.jsxs)(nT,{sx:e=>({".MuiAccordionSummary-root":{backgroundColor:e.palette.background.lighter},".MuiAccordionDetails-root":{backgroundColor:e.palette.background.lighter}}),children:[(0,i.jsx)(nB,{expandIcon:(0,i.jsx)(nZ.default,{}),"aria-controls":"builtin",id:"builtin",children:(0,i.jsx)(ti.A,{variant:"h2",children:(0,i.jsx)(s.InfoTooltip,{title:`${e} Built-in Variables`,description:"Variables computed during dashboard rendering.",children:(0,i.jsxs)("span",{children:[e," Built-in Variables"]})})})}),(0,i.jsx)(nF,{children:(0,i.jsx)(nw.A,{children:(0,i.jsxs)(nS.A,{sx:{minWidth:650},"aria-label":"table of external variables",children:[(0,i.jsx)(nA.A,{children:(0,i.jsxs)(nC.A,{children:[(0,i.jsx)(nq.A,{children:"Name"}),(0,i.jsx)(nq.A,{children:"Description"})]})}),(0,i.jsx)(nD.A,{children:(t[e]??[]).map(t=>(0,i.jsxs)(nC.A,{children:[(0,i.jsx)(nq.A,{component:"th",scope:"row",sx:{fontWeight:"bold"},children:t.spec.name}),(0,i.jsx)(nq.A,{children:t.spec.display?.description??""})]},e+"-"+t.spec.name))})]})})})]},e))})}function n1(e){return M.VARIABLE_TYPES.find(t=>t.kind===e)?.label}function n2(e){let[t,n]=nJ(e.variableDefinitions),[r,o]=(0,h.useState)(null),[l,u]=(0,h.useState)("update"),d=e.externalVariableDefinitions,c=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)(()=>[no(t,{},d)],[d,t]),g="number"==typeof r&&t[r],{openDiscardChangesConfirmationDialog:m,closeDiscardChangesConfirmationDialog:y}=eA(),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,i.jsxs)(i.Fragment,{children:[g&&(0,i.jsx)(M.ValidationProvider,{children:(0,i.jsx)(M.VariableEditorForm,{initialVariableDefinition:g,action:l,isDraft:!0,onActionChange:u,onSave:e=>{n(t=>{t[r]=e,o(null)})},onClose:()=>{"create"===l&&b(r),o(null)}})}),!g&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(eP.A,{sx:{display:"flex",alignItems:"center",padding:e=>e.spacing(1,2),borderBottom:e=>`1px solid ${e.palette.divider}`},children:[(0,i.jsx)(ti.A,{variant:"h2",children:"Edit Dashboard Variables"}),(0,i.jsxs)(tf.A,{direction:"row",spacing:1,marginLeft:"auto",children:[(0,i.jsx)(a.A,{disabled:e.variableDefinitions===t||!p.isValid,variant:"contained",onClick:()=>{e.onChange(t)},children:"Apply"}),(0,i.jsx)(a.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,i.jsx)(eP.A,{padding:2,sx:{overflowY:"scroll"},children:(0,i.jsxs)(tf.A,{spacing:2,children:[(0,i.jsxs)(tf.A,{spacing:2,children:[!p.isValid&&p.errors.map(e=>(0,i.jsx)(nj.A,{severity:"error",children:e},e)),(0,i.jsx)(nw.A,{children:(0,i.jsxs)(nS.A,{sx:{minWidth:650},"aria-label":"table of variables",children:[(0,i.jsx)(nA.A,{children:(0,i.jsxs)(nC.A,{children:[(0,i.jsx)(n9,{children:"Visibility"}),(0,i.jsx)(n9,{children:"Name"}),(0,i.jsx)(n9,{children:"Type"}),(0,i.jsx)(n9,{children:"Description"}),(0,i.jsx)(n9,{align:"right",children:"Actions"})]})}),(0,i.jsx)(nD.A,{children:t.map((e,r)=>(0,i.jsxs)(nC.A,{children:[(0,i.jsx)(n9,{component:"th",scope:"row",children:(0,i.jsx)(nO.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,i.jsx)(n9,{component:"th",scope:"row",sx:{fontWeight:"bold"},children:(0,i.jsx)(n3,{name:e.spec.name,state:f.get({name:e.spec.name})})}),(0,i.jsx)(n9,{children:n1(e.kind)??e.kind}),(0,i.jsx)(n9,{children:e.spec.display?.description??""}),(0,i.jsxs)(n9,{align:"right",sx:{whiteSpace:"nowrap"},children:[(0,i.jsx)(tE.A,{onClick:()=>v(r,"up"),disabled:0===r,children:(0,i.jsx)(t9.default,{})}),(0,i.jsx)(tE.A,{onClick:()=>v(r,"down"),disabled:r===t.length-1,children:(0,i.jsx)(t3.default,{})}),(0,i.jsx)(tE.A,{onClick:()=>{u("update"),o(r)},children:(0,i.jsx)(nY.default,{})}),(0,i.jsx)(tE.A,{onClick:()=>b(r),children:(0,i.jsx)(nK.default,{})})]})]},e.spec.name))})]})}),(0,i.jsx)(eP.A,{display:"flex",children:(0,i.jsx)(a.A,{variant:"contained",startIcon:(0,i.jsx)(nU.default,{}),sx:{marginLeft:"auto"},onClick:()=>{u("create"),n(e=>{e.push({kind:"TextVariable",spec:{name:"NewVariable",value:""}})}),o(t.length)},children:"Add Variable"})})]}),d&&!d.every(e=>0===e.definitions.length)&&d.map((e,t)=>e.definitions.length>0&&(0,i.jsxs)(nT,{sx:e=>({".MuiAccordionSummary-root":{backgroundColor:e.palette.background.lighter},".MuiAccordionDetails-root":{backgroundColor:e.palette.background.lighter}}),children:[(0,i.jsx)(nB,{expandIcon:(0,i.jsx)(nZ.default,{}),"aria-controls":e.source,id:e.source,children:(0,i.jsx)(tf.A,{flexDirection:"row",alignItems:"center",justifyContent:"start",children:(0,i.jsxs)(i.Fragment,{children:[e.tooltip?(0,i.jsx)(ti.A,{variant:"h2",children:(0,i.jsx)(s.InfoTooltip,{title:e.tooltip.title||"",description:e.tooltip.description||"",children:(0,i.jsxs)("span",{children:[(0,tR.A)(e.source)," Variables"]})})}):(0,i.jsxs)(ti.A,{variant:"h2",children:[(0,tR.A)(e.source)," Variables"]}),e.editLink&&(0,i.jsx)(tE.A,{href:e.editLink,target:"_blank",children:(0,i.jsx)(nQ.default,{fontSize:"small"})})]})})}),(0,i.jsx)(nF,{children:(0,i.jsx)(nw.A,{children:(0,i.jsxs)(nS.A,{sx:{minWidth:650},"aria-label":"table of external variables",children:[(0,i.jsx)(nA.A,{children:(0,i.jsxs)(nC.A,{children:[(0,i.jsx)(n9,{children:"Visibility"}),(0,i.jsx)(n9,{children:"Name"}),(0,i.jsx)(n9,{children:"Type"}),(0,i.jsx)(n9,{children:"Description"}),(0,i.jsx)(n9,{align:"right",children:"Actions"})]})}),(0,i.jsx)(nD.A,{children:e.definitions.map(t=>(0,i.jsxs)(nC.A,{children:[(0,i.jsx)(n9,{component:"th",scope:"row",children:(0,i.jsx)(nO.A,{checked:t.spec.display?.hidden!==!0,disabled:!0})}),(0,i.jsx)(n9,{component:"th",scope:"row",sx:{fontWeight:"bold"},children:(0,i.jsx)(n3,{name:t.spec.name,state:f.get({name:t.spec.name,source:e.source})})}),(0,i.jsx)(n9,{children:n1(t.kind)??t.kind}),(0,i.jsx)(n9,{children:t.spec.display?.description??""}),(0,i.jsxs)(n9,{align:"right",children:[(0,i.jsx)(th.A,{title:"Override",children:(0,i.jsx)(tE.A,{onClick:()=>{n(e=>{e.push(t)})},disabled:!!f.get({name:t.spec.name}),children:(0,i.jsx)(nX.default,{})})}),(0,i.jsx)(tE.A,{disabled:!0,children:(0,i.jsx)(t9.default,{})}),(0,i.jsx)(tE.A,{disabled:!0,children:(0,i.jsx)(t3.default,{})}),(0,i.jsx)(tE.A,{disabled:!0,children:(0,i.jsx)(nY.default,{})}),(0,i.jsx)(tE.A,{disabled:!0,children:(0,i.jsx)(nK.default,{})})]})]},t.spec.name))})]})})})]},t)),c&&(0,i.jsx)(n0,{builtinVariableDefinitions:c})]})})]})]})}let n9=(0,eI.A)(nq.A)(({theme:e})=>({borderBottom:`solid 1px ${e.palette.divider}`}));function n3(e){let{name:t,state:n}=e;return(0,i.jsxs)(i.Fragment,{children:[!n?.overridden&&`${t} `,!n?.overridden&&n?.overriding&&(0,i.jsx)(eP.A,{fontWeight:"normal",color:e=>e.palette.primary.main,children:"(overriding)"}),n?.overridden&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(eP.A,{color:e=>e.palette.grey[500],children:t}),(0,i.jsx)(eP.A,{fontWeight:"normal",color:e=>e.palette.grey[500],children:"(overridden)"})]})]})}function n4({variant:e="text",label:t="Variables",color:n="primary",fullWidth:r}){let[o,l]=(0,h.useState)(!1),u=ng(),d=nm(),f=(0,M.useBuiltinVariableDefinitions)(),{setVariableDefinitions:g}=nh(),m=()=>{l(!1)};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.InfoTooltip,{description:c,children:(0,i.jsx)(a.A,{startIcon:(0,i.jsx)(tx.default,{}),onClick:()=>{l(!0)},"aria-label":c,variant:e,color:n,fullWidth:r,sx:p,children:t})}),(0,i.jsx)(s.Drawer,{isOpen:o,onClose:m,PaperProps:{sx:{width:"50%"}},"data-testid":"variable-editor",children:(0,i.jsx)(n2,{variableDefinitions:u,externalVariableDefinitions:d,builtinVariableDefinitions:f,onCancel:m,onChange:e=>{g(e),l(!1)}})})]})}let n5=({label:e="Edit",onClick:t})=>(0,i.jsx)(a.A,{onClick:t,startIcon:(0,i.jsx)(tx.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,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(ek,{variant:"outlined",color:"secondary",label:"Add Panel",fullWidth:!0}),(0,i.jsx)(n4,{variant:"outlined",color:"secondary",label:"Add Variables",fullWidth:!0})]}):n?(0,i.jsx)(n5,{...n8,label:"Edit Dashboard",onClick:n}):null,re=({title:e=n7,image:t,description:n,additionalText:r,actions:a,onEditButtonClick:o})=>{let{isEditMode:s}=q(),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,i.jsx)(n6,{actions:a,onEditButtonClick:o,isEditMode:s});return(0,i.jsxs)(eP.A,{sx:{width:"500px",textAlign:"center",margin:"0 auto"},children:[(0,i.jsxs)(eP.A,{sx:{width:"289px",margin:"0 auto"},children:[!!t&&t,(0,i.jsx)(ti.A,{variant:"h2",gutterBottom:!0,children:e}),(0,i.jsx)(ti.A,{variant:"body1",children:n??l}),u&&(0,i.jsx)(eP.A,{sx:{display:"flex",gap:2,marginTop:1,justifyContent:"center"},children:u})]}),r&&(0,i.jsx)(ti.A,{variant:"subtitle1",sx:{marginTop:12},children:r})]})};function rt({emptyDashboardProps:e,panelOptions:t,...n}){let r=K(),a=(0,h.useRef)(null),o=!r.length,l=a.current?.getBoundingClientRect().top??165,u=window.innerHeight-l-window.scrollY;return(0,i.jsx)(eP.A,{...n,sx:{height:"100%"},ref:a,children:(0,i.jsxs)(s.ErrorBoundary,{FallbackComponent:s.ErrorAlert,children:[o&&(0,i.jsx)(eP.A,{sx:{height:"100%",display:"flex",alignItems:"center"},children:(0,i.jsx)(re,{...e})}),!o&&r.map(e=>(0,i.jsx)(t8,{panelGroupId:e,panelOptions:t,panelFullHeight:u},e))]})})}var rn=n(8072),rr=n(95591),ri=n(83183),ra=n(10713),ro=n(30443);function rs(e){return e.substring(2).toLowerCase()}function rl(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 d=(0,rr.A)((0,ro.A)(t),s),c=(0,ri.A)(e=>{let t=u.current;u.current=!1;let r=(0,ra.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:d};return!1!==a&&(f[a]=p(a)),h.useEffect(()=>{if(!1!==a){let e=rs(a),t=(0,ra.A)(s.current),n=()=>{o.current=!0};return t.addEventListener(e,c),t.addEventListener("touchmove",n),()=>{t.removeEventListener(e,c),t.removeEventListener("touchmove",n)}}},[c,a]),!1!==r&&(f[r]=p(r)),h.useEffect(()=>{if(!1!==r){let e=rs(r),t=(0,ra.A)(s.current);return t.addEventListener(e,c),()=>{t.removeEventListener(e,c)}}},[c,r]),h.cloneElement(t,f)}var ru=n(19557),rd=n(97090);function rc(){var e;let t,{panels:n,panelGroups:r,panelGroupOrder:i,setDashboard:a,kind:o,metadata:s,display:l,duration:u,refreshInterval:d,datasources:c,ttl:p}=B(({panels:e,panelGroups:t,panelGroupOrder:n,setDashboard:r,kind:i,metadata:a,display:o,duration:s,refreshInterval:l,datasources:u,ttl:d})=>({panels:e,panelGroups:t,panelGroupOrder:n,setDashboard:r,kind:i,metadata:a,display:o,duration:s,refreshInterval:l,datasources:u,ttl:d})),{setVariableDefinitions:f}=nh(),h=ng(),g=(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 d={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,P.createPanelRef)(t)}}),repeatVariable:s}};t.push(d)}),t);return{dashboard:"Dashboard"===o?{kind:o,metadata:s,spec:{display:l,panels:n,layouts:g,variables:h,duration:u,refreshInterval:d,datasources:c}}:{kind:o,metadata:s,spec:{display:l,panels:n,layouts:g,variables:h,duration:u,refreshInterval:d,datasources:c,ttl:p}},setDashboard:e=>{f(e.spec.variables),a(e)}}}let rp=Symbol.for("yaml.alias"),rf=Symbol.for("yaml.document"),rh=Symbol.for("yaml.map"),rg=Symbol.for("yaml.pair"),rm=Symbol.for("yaml.scalar"),ry=Symbol.for("yaml.seq"),rb=Symbol.for("yaml.node.type"),rv=e=>!!e&&"object"==typeof e&&e[rb]===rp,rx=e=>!!e&&"object"==typeof e&&e[rb]===rf,rj=e=>!!e&&"object"==typeof e&&e[rb]===rh,rw=e=>!!e&&"object"==typeof e&&e[rb]===rg,rS=e=>!!e&&"object"==typeof e&&e[rb]===rm,rA=e=>!!e&&"object"==typeof e&&e[rb]===ry;function rC(e){if(e&&"object"==typeof e)switch(e[rb]){case rh:case ry:return!0}return!1}function rD(e){if(e&&"object"==typeof e)switch(e[rb]){case rp:case rh:case rm:case ry:return!0}return!1}let rO=Symbol("break visit"),rE=Symbol("skip children"),rk=Symbol("remove node");function rP(e,t){let n=rR(t);rx(e)?rM(null,e.contents,n,Object.freeze([e]))===rk&&(e.contents=null):rM(null,e,n,Object.freeze([]))}function rM(e,t,n,r){let i=rT(e,t,n,r);if(rD(i)||rw(i))return rI(e,r,i),rM(e,i,n,r);if("symbol"!=typeof i){if(rC(t)){r=Object.freeze(r.concat(t));for(let e=0;e<t.items.length;++e){let i=rM(e,t.items[e],n,r);if("number"==typeof i)e=i-1;else{if(i===rO)return rO;i===rk&&(t.items.splice(e,1),e-=1)}}}else if(rw(t)){r=Object.freeze(r.concat(t));let e=rM("key",t.key,n,r);if(e===rO)return rO;e===rk&&(t.key=null);let i=rM("value",t.value,n,r);if(i===rO)return rO;i===rk&&(t.value=null)}}return i}async function rV(e,t){let n=rR(t);rx(e)?await rL(null,e.contents,n,Object.freeze([e]))===rk&&(e.contents=null):await rL(null,e,n,Object.freeze([]))}async function rL(e,t,n,r){let i=await rT(e,t,n,r);if(rD(i)||rw(i))return rI(e,r,i),rL(e,i,n,r);if("symbol"!=typeof i){if(rC(t)){r=Object.freeze(r.concat(t));for(let e=0;e<t.items.length;++e){let i=await rL(e,t.items[e],n,r);if("number"==typeof i)e=i-1;else{if(i===rO)return rO;i===rk&&(t.items.splice(e,1),e-=1)}}}else if(rw(t)){r=Object.freeze(r.concat(t));let e=await rL("key",t.key,n,r);if(e===rO)return rO;e===rk&&(t.key=null);let i=await rL("value",t.value,n,r);if(i===rO)return rO;i===rk&&(t.value=null)}}return i}function rR(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 rT(e,t,n,r){return"function"==typeof n?n(e,t,r):rj(t)?n.Map?.(e,t,r):rA(t)?n.Seq?.(e,t,r):rw(t)?n.Pair?.(e,t,r):rS(t)?n.Scalar?.(e,t,r):rv(t)?n.Alias?.(e,t,r):void 0}function rI(e,t,n){let r=t[t.length-1];if(rC(r))r.items[e]=n;else if(rw(r))"key"===e?r.key=n:r.value=n;else if(rx(r))r.contents=n;else{let e=rv(r)?"alias":"scalar";throw Error(`Cannot replace node with ${e} parent`)}}rP.BREAK=rO,rP.SKIP=rE,rP.REMOVE=rk,rV.BREAK=rO,rV.SKIP=rE,rV.REMOVE=rk;let r_={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},rz=e=>e.replace(/[!,[\]{}]/g,e=>r_[e]);class rN{constructor(e,t){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},rN.defaultYaml,e),this.tags=Object.assign({},rN.defaultTags,t)}clone(){let e=new rN(this.yaml,this.tags);return e.docStart=this.docStart,e}atDocument(){let e=new rN(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:rN.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},rN.defaultTags)}return e}add(e,t){this.atNextDocument&&(this.yaml={explicit:rN.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},rN.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+rz(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&&rD(e.contents)){let n={};rP(e.contents,(e,t)=>{rD(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 rH(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 r$(e){let t=new Set;return rP(e,{Value(e,n){n.anchor&&t.add(n.anchor)}}),t}function rB(e,t){for(let n=1;;++n){let r=`${e}${n}`;if(!t.has(r))return r}}function rW(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=rW(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=rW(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=rW(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=rW(e,r,t,n);void 0===i?delete r[t]:i!==n&&(r[t]=i)}return e.call(t,n,r)}function rG(e,t,n){if(Array.isArray(e))return e.map((e,t)=>rG(e,String(t),n));if(e&&"function"==typeof e.toJSON){if(!n||!((rS(e)||rC(e))&&e.anchor))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)}rN.defaultYaml={explicit:!1,version:"1.2"},rN.defaultTags={"!!":"tag:yaml.org,2002:"};class rF{constructor(e){Object.defineProperty(this,rb,{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(!rx(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=rG(this,"",a);if("function"==typeof r)for(let{count:e,res:t}of a.anchors.values())r(t,e);return"function"==typeof i?rW(i,{"":o},"",o):o}}class rq extends rF{constructor(e){super(rp),this.source=e,Object.defineProperty(this,"tag",{set(){throw Error("Alias nodes cannot have tags")}})}resolve(e){let t;return rP(e,{Node:(e,n)=>{if(n===this)return rP.BREAK;n.anchor===this.source&&(t=n)}}),t}toJSON(e,t){if(!t)return{source:this.source};let{anchors:n,doc:r,maxAliasCount:i}=t,a=this.resolve(r);if(!a)throw ReferenceError(`Unresolved alias (the anchor must be set before the alias): ${this.source}`);let o=n.get(a);if(o||(rG(a,null,t),o=n.get(a)),!o||void 0===o.res)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(rv(n)){let e=n.resolve(t),i=r&&e&&r.get(e);return i?i.count*i.aliasCount:0}if(rC(n)){let i=0;for(let a of n.items){let n=e(t,a,r);n>i&&(i=n)}return i}return rw(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(rH(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 rU=e=>!e||"function"!=typeof e&&"object"!=typeof e;class rJ extends rF{constructor(e){super(rm),this.value=e}toJSON(e,t){return t?.keep?this.value:rG(this.value,e,t)}toString(){return String(this.value)}}function rY(e,t,n){let r;if(rx(e)&&(e=e.contents),rD(e))return e;if(rw(e)){let t=n.schema[rh].createNode?.(n.schema,null,n);return t.items.push(e),t}(e instanceof String||e instanceof Number||e instanceof Boolean||"undefined"!=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 rq(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 rJ(e);return r&&(r.node=t),t}u=e instanceof Map?s[rh]:Symbol.iterator in Object(e)?s[ry]:s[rh]}o&&(o(u),delete n.onTagObj);let d=u?.createNode?u.createNode(n.schema,e,n):"function"==typeof u?.nodeClass?.from?u.nodeClass.from(n.schema,e,n):new rJ(e);return t?d.tag=t:u.default||(d.tag=u.tag),r&&(r.node=d),d}function rK(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 rY(r,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw Error("This should not happen, please report a bug.")},schema:e,sourceObjects:new Map})}rJ.BLOCK_FOLDED="BLOCK_FOLDED",rJ.BLOCK_LITERAL="BLOCK_LITERAL",rJ.PLAIN="PLAIN",rJ.QUOTE_DOUBLE="QUOTE_DOUBLE",rJ.QUOTE_SINGLE="QUOTE_SINGLE";let rX=e=>null==e||"object"==typeof e&&!!e[Symbol.iterator]().next().done;class rQ extends rF{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=>rD(t)||rw(t)?t.clone(e):t),this.range&&(t.range=this.range.slice()),t}addIn(e,t){if(rX(e))this.add(t);else{let[n,...r]=e,i=this.get(n,!0);if(rC(i))i.addIn(r,t);else if(void 0===i&&this.schema)this.set(n,rK(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(rC(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&&rS(i)?i.value:i:rC(i)?i.getIn(r,t):void 0}hasAllNullValues(e){return this.items.every(t=>{if(!rw(t))return!1;let n=t.value;return null==n||e&&rS(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!!rC(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(rC(e))e.setIn(r,t);else if(void 0===e&&this.schema)this.set(n,rK(this.schema,r,t));else throw Error(`Expected YAML collection at ${n}. Remaining path: ${r}`)}}}let rZ=e=>e.replace(/^(?!$)(?: $)?/gm,"#");function r0(e,t){return/^\n+$/.test(e)?e.substring(1):t?e.replace(/^(?! *$)/gm,t):e}let r1=(e,t,n)=>e.endsWith("\n")?r0(n,t):n.includes("\n")?"\n"+r0(n,t):(e.endsWith(" ")?"":" ")+n,r2="block",r9="quoted";function r3(e,t,n="flow",{indentAtStart:r,lineWidth:i=80,minContentWidth:a=20,onFold:o,onOverflow:s}={}){let l,u,d;if(!i||i<0)return e;i<a&&(a=0);let c=Math.max(1+a,1+i-t.length);if(e.length<=c)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===r2&&-1!==(m=r4(e,m,t.length))&&(h=m+c);d=e[m+=1];){if(n===r9&&"\\"===d){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"===d)n===r2&&(m=r4(e,m,t.length)),h=m+t.length+c,l=void 0;else{if(" "===d&&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+c,l=void 0;else if(n===r9){for(;" "===u||" "===u;)u=d,d=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+c,l=void 0}else g=!0}u=d}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===r9&&f[i]&&(v+=`${e[i]}\\`),v+=`
8
8
  ${t}${e.slice(i+1,a)}`)}return v}function r4(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 r5=(e,t)=>({indentAtStart:t?e.indent.length:e.indentAtStart,lineWidth:e.options.lineWidth,minContentWidth:e.options.minContentWidth});function r7(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:r3(o,a,"quoted",r5(t,!1))}function r8(e,t){if(!1===t.options.singleQuote||t.implicitKey&&e.includes("\n")||/[ \t]\n|\n[ \t]/.test(e))return r7(e,t);let n=t.indent||(/^(%|---|\.\.\.)/m.test(e)?" ":""),r="'"+e.replace(/'/g,"''").replace(/\n+/g,`$&
9
9
  ${n}`)+"'";return t.implicitKey?r:r3(r,n,"flow",r5(t,!1))}function r6(e,t){let n,{singleQuote:r}=t.options;if(!1===r)n=r7;else{let t=e.includes('"'),i=e.includes("'");n=t&&!i?r8:i&&!t?r7:r?r8:r7}return n(e,t)}try{r=RegExp("(^|(?<!\n))\n+(?!\n|$)","g")}catch{r=/\n+(?!\n|$)/g}function ie({comment:e,type:t,value:n},i,a,o){let s,l,u,d,{blockQuote:c,commentString:p,lineWidth:f}=i.options;if(!c||/\n[\t ]+$/.test(n)||/^\s*$/.test(n))return r6(n,i);let h=i.indent||(i.forceBlockIndent||(d=n,/^(%|---|\.\.\.)/m.test(d))?" ":""),g="literal"===c||"folded"!==c&&t!==rJ.BLOCK_FOLDED&&(t===rJ.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(r,`$&${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 j=h?"2":"1",w=(b?j:"")+s;if(e&&(w+=" "+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}`),r=!1,a=r5(i,!0);"folded"!==c&&t!==rJ.BLOCK_FOLDED&&(a.onOverflow=()=>{r=!0});let o=r3(`${x}${e}${m}`,h,"block",a);if(!r)return`>${w}