@perses-dev/table-plugin 0.6.1 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/__mf/js/{6487.ac0b3bec.js → 6487.b74a51ce.js} +1 -1
- package/__mf/js/{Table.dcb50d79.js → Table.ae720bb0.js} +3 -3
- package/__mf/js/async/3090.f748dadb.js +2 -0
- package/__mf/js/async/{3224.673940ed.js → 3224.fbb884ab.js} +1 -1
- package/__mf/js/async/3598.193e9962.js +1 -0
- package/__mf/js/async/3980.9246eb0c.js +2 -0
- package/__mf/js/async/{6333.35401612.js.LICENSE.txt → 3980.9246eb0c.js.LICENSE.txt} +2 -2
- package/__mf/js/async/{4075.16e3dc8a.js → 4075.4fb81a28.js} +1 -1
- package/__mf/js/async/{5377.05ab91aa.js → 5377.0695a823.js} +1 -1
- package/__mf/js/async/5503.6fa43555.js +1 -0
- package/__mf/js/async/5901.2aaa62a6.js +2 -0
- package/__mf/js/async/7179.516df6f8.js +73 -0
- package/__mf/js/async/8970.e4194572.js +7 -0
- package/__mf/js/async/__federation_expose_Table.12e32a6d.js +1 -0
- package/__mf/js/main.8865f4ed.js +1 -0
- package/mf-manifest.json +64 -96
- package/mf-stats.json +64 -96
- package/package.json +5 -5
- package/__mf/css/async/2569.cbbd94a8.css +0 -1
- package/__mf/css/async/8433.cbbd94a8.css +0 -1
- package/__mf/js/async/133.46388a8d.js +0 -1
- package/__mf/js/async/2292.42e8992b.js +0 -2
- package/__mf/js/async/232.ab228ab3.js +0 -1
- package/__mf/js/async/2641.78a9e888.js +0 -1
- package/__mf/js/async/3079.9e782657.js +0 -23
- package/__mf/js/async/4062.0dd7dc24.js +0 -1
- package/__mf/js/async/52.77f8a241.js +0 -2
- package/__mf/js/async/5409.33ed27cd.js +0 -1
- package/__mf/js/async/5767.f16855a4.js +0 -1
- package/__mf/js/async/5998.ac755fc8.js +0 -73
- package/__mf/js/async/6277.853e296a.js +0 -23
- package/__mf/js/async/6333.35401612.js +0 -2
- package/__mf/js/async/654.0d5da894.js +0 -1
- package/__mf/js/async/6913.1b3a7693.js +0 -1
- package/__mf/js/async/7606.4ba8e3ec.js +0 -1
- package/__mf/js/async/894.0035563b.js +0 -1
- package/__mf/js/async/8981.3989d84b.js +0 -1
- package/__mf/js/async/9057.2b54c435.js +0 -1
- package/__mf/js/async/922.d9680010.js +0 -7
- package/__mf/js/async/__federation_expose_Table.07bc26cc.js +0 -1
- package/__mf/js/main.62569baf.js +0 -1
- /package/__mf/js/async/{2292.42e8992b.js.LICENSE.txt → 3090.f748dadb.js.LICENSE.txt} +0 -0
- /package/__mf/js/async/{52.77f8a241.js.LICENSE.txt → 5901.2aaa62a6.js.LICENSE.txt} +0 -0
- /package/__mf/js/async/{5998.ac755fc8.js.LICENSE.txt → 7179.516df6f8.js.LICENSE.txt} +0 -0
- /package/__mf/js/async/{922.d9680010.js.LICENSE.txt → 8970.e4194572.js.LICENSE.txt} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkTable=self.webpackChunkTable||[]).push([["5767"],{19147:function(e,i,n){n.r(i),n.d(i,{useListPanelGroups:()=>H,useVariableDefinitionAndState:()=>iP,usePanelGroupEditor:()=>ee,VariableProviderWithQueryParams:()=>iA,DashboardContext:()=>O,SaveDashboardButton:()=>nx,useDeletePanelGroupDialog:()=>en,DashboardDiscardChangesConfirmationDialog:()=>nB,useVariableDefinitionStoreCtx:()=>iw,useDashboardDuration:()=>eu,useDashboardStore:()=>z,useDiscardChangesConfirmationDialog:()=>ej,PanelPluginLoader:()=>eN,useDashboardActions:()=>F,useVariableDefinitions:()=>iS,VariableEditor:()=>i2,ViewDashboard:()=>ar,generateId:()=>v,EditJsonDialog:()=>nF,VariableList:()=>nE,DashboardToolbar:()=>nG,VariableListItem:()=>nV,DeletePanelDialog:()=>nA,Panel:()=>io,createPanelDefinition:()=>y,useEditMode:()=>B,usePanelGroupActions:()=>Q,useVariableDefinitionActions:()=>ik,usePanel:()=>ea,PanelGroupDialog:()=>n5,useViewPanel:()=>eh,QuerySummaryTable:()=>n7,GridContainer:()=>ic,Variable:()=>nD,GridItemContent:()=>id,GridLayout:()=>ip,useSaveChangesConfirmationDialog:()=>em,usePanelGroup:()=>J,VariableName:()=>i4,EmptyDashboard:()=>ni,GridTitle:()=>eR,DeletePanelGroupDialog:()=>n$,useViewPanelGroup:()=>eg,AddGroupButton:()=>eC,PanelDrawer:()=>nY,DownloadButton:()=>nd,BuiltinVariableAccordions:()=>i0,EditVariablesButton:()=>i3,useDeletePanelDialog:()=>ed,useEditJsonDialog:()=>ey,usePanelEditor:()=>es,DashboardProvider:()=>R,DatasourceStoreProvider:()=>ai,EditDatasourcesButton:()=>nu,SaveChangesConfirmationDialog:()=>ae,DatasourceEditor:()=>nc,VariableProvider:()=>iG,useExternalVariableDefinitions:()=>iE,EditJsonButton:()=>nh,useListVariableState:()=>nw,usePanelActions:()=>er,usePanelGroupIds:()=>W,AddPanelButton:()=>ew,useVariableDefinitionStates:()=>iZ,PanelPreview:()=>nJ,useDashboard:()=>no,DashboardStickyToolbar:()=>nI,Dashboard:()=>nn});var a=n(24246),t=n(48565),r=n(69472),l=n(90775);let s={addPanel:"Add panel",addGroup:"Add panel group",editDatasources:"Edit datasources",editJson:"Edit JSON",editVariables:"Edit variables",viewJson:"View JSON",addPanelToGroup:"Add panel to group",deleteGroup:"Delete group",editGroup:"Edit group",moveGroupDown:"Move group down",moveGroupUp:"Move group up",viewPanel:"Toggle View Mode",editPanel:"Edit",duplicatePanel:"Duplicate",deletePanel:"Delete",movePanel:"Move"},o={addPanelToGroup:e=>`add panel to group ${e}`,deleteGroup:e=>`delete group ${e}`,editGroup:e=>`edit group ${e}`,moveGroupDown:e=>`move group ${e} down`,moveGroupUp:e=>`move group ${e} up`,viewPanel:e=>`toggle panel ${e} view mode`,editPanel:e=>`edit panel ${e}`,duplicatePanel:e=>`duplicate panel ${e}`,deletePanel:e=>`delete panel ${e}`,showPanelActions:e=>`show panel actions for ${e}`,movePanel:e=>`move panel ${e}`},d={whiteSpace:"nowrap",minWidth:"auto","& .MuiButton-startIcon":{marginRight:.5}},c="header-actions-container";var u=n(54538),p=n.n(u),h=n(40330),x=n(8785),g=n(56569),f=n(48639),m=n(65447),b=n(3735),j=n(74128);function v(){return void 0===globalThis.dashboardStoreId&&(globalThis.dashboardStoreId=0),globalThis.dashboardStoreId++}function y(e,i){return{kind:"Panel",spec:{display:{name:"",description:void 0},plugin:{kind:e??"",spec:i??{}},queries:[]}}}function C(e){let i={},n=[];for(let a of e){let e=[],t={};for(let i of a.spec.items){let n=v().toString();e.push({i:n,w:i.width,h:i.height,x:i.x,y:i.y}),t[n]=(0,b.getPanelKeyFromRef)(i.content)}let r=v();i[r]={id:r,isCollapsed:a.spec.display?.collapse?.open===!1,title:a.spec.display?.title,itemLayouts:e,itemPanelKeys:t},n.push(r)}return{panelGroups:i,panelGroupOrder:n}}function D(){return{id:v(),title:void 0,isCollapsed:!1,itemLayouts:[],itemPanelKeys:{}}}function w(e,i){e.panelGroups[i.id]=i,e.panelGroupOrder.unshift(i.id)}let Z=(e,i)=>({panelGroupEditor:void 0,openAddPanelGroup:()=>{let i={mode:"Add",initialValues:{title:"",isCollapsed:!1},applyChanges(i){let n=D();n.title=i.title,n.isCollapsed=i.isCollapsed,e(e=>{w(e,n)})},close(){e(e=>{e.panelGroupEditor=void 0})}};e(e=>{e.panelGroupEditor=i})},openEditPanelGroup:n=>{let a=i().panelGroups[n];if(void 0===a)throw Error(`Panel group with Id ${n} does not exist`);let t={mode:"Edit",initialValues:{title:a.title??"",isCollapsed:a.isCollapsed},applyChanges(i){e(e=>{let a=e.panelGroups[n];if(void 0===a)throw Error(`Panel group with Id ${n} does not exist`);a.title=i.title,a.isCollapsed=i.isCollapsed})},close(){e(e=>{e.panelGroupEditor=void 0})}};e(e=>{e.panelGroupEditor=t})}}),P={sm:24,xxs:2};function k(e){let i=0;for(let n of e.itemLayouts){let e=n.y+n.h;e>i&&(i=e)}return i}function S({x:e,y:i,w:n,h:a}){return{x1:e,x2:e+n,y1:i,y2:i+a}}function E(e,i){let n=function(e){let i={};return Object.keys(e).forEach(e=>{let{name:n,number:a}=I(e);void 0===i[n]&&(i[n]=0);let t=i[n];"number"==typeof t&&a&&(i[n]=Math.max(t,a))}),i}(i),a=I(V(e)).name,t=n[a];return"number"==typeof t&&(a+=`-${t+1}`),a}let V=e=>e.replace(/\s+/g,"");function I(e){let i=e.match(/(.+)-([0-9]+)/);return i&&i[1]&&i[2]?{name:i[1],number:parseInt(i[2],10)}:{name:e}}let G=(e,i)=>({deletePanelGroup(n){let{panelGroups:a,panelGroupOrder:t}=i(),r=a[n],l=t.findIndex(e=>e===n);if(void 0===r||-1===l)throw Error(`Panel group ${n} not found`);let s=Object.values(r.itemPanelKeys);e(e=>{delete e.panelGroups[n],e.panelGroupOrder.splice(l,1);let i=function(e){let i=new Set;for(let n of Object.values(e))for(let e of Object.values(n.itemPanelKeys))i.add(e);return i}(e.panelGroups);for(let n of s)i.has(n)||delete e.panels[n]})},openDeletePanelGroupDialog:n=>{let a=i().panelGroups[n];if(void 0===a)throw Error(`Panel group with Id ${n} not found`);e(e=>{e.deletePanelGroupDialog={panelGroupId:n,panelGroupName:a.title}})},closeDeletePanelGroupDialog:()=>e(e=>{e.deletePanelGroupDialog=void 0})}),A=e=>({isOpen:!1,openDiscardChangesConfirmationDialog(i){e(e=>{e.discardChangesConfirmationDialog=i})},closeDiscardChangesConfirmationDialog(){e(e=>{e.discardChangesConfirmationDialog=void 0})}}),T=e=>({isOpen:!1,openSaveChangesConfirmationDialog(i){e(e=>{e.saveChangesConfirmationDialog=i},!1,"openSaveChangesConfirmationDialog")},closeSaveChangesConfirmationDialog(){e(e=>{e.saveChangesConfirmationDialog=void 0},!1,"closeSaveChangesConfirmationDialog")}}),L=e=>({openEditJsonDialog(){e(e=>{e.editJsonDialog={isOpen:!0}})},closeEditJsonDialog(){e(e=>{e.editJsonDialog={isOpen:!1}})}}),O=(0,u.createContext)(void 0);function z(e){let i=(0,u.useContext)(O);if(void 0===i)throw Error("No DashboardContext found. Did you forget a Provider?");return(0,x.s)(i,e,m.X)}function R(e){let i=(0,u.useCallback)(M,[e]),{defaultPluginKinds:n}=(0,j.usePluginRegistry)(),t=n?.Panel??"",{data:r}=(0,j.usePlugin)("Panel",t),[l]=(0,u.useState)(i(e));return(0,u.useEffect)(()=>{if(void 0===r)return;let e=r.createInitialOptions?r.createInitialOptions():{};l.setState({initialValues:{panelDefinition:y(t,e)}})},[r,l,t]),(0,a.jsx)(O.Provider,{value:l,children:e.children})}function M(e){let{initialState:{dashboardResource:i,isEditMode:n,viewPanelRef:a,setViewPanelRef:t}}=e,{kind:r,metadata:l,spec:{display:s,duration:o,refreshInterval:d=b.DEFAULT_REFRESH_INTERVAL,datasources:c}}=i,u="ttl"in i.spec?i.spec.ttl:void 0,{spec:{layouts:p,panels:x}}=i;return p=p??[],x=x??{},(0,h.M)()((0,f.n)((0,g.mW)((...e)=>{var i;let h,g,f,m;let[j]=e;return{...(function(e){let{panelGroups:i,panelGroupOrder:n}=C(e);return e=>({panelGroups:i,panelGroupOrder:n,swapPanelGroups(i,n){e(e=>{if(i<0||i>=e.panelGroupOrder.length||n<0||n>=e.panelGroupOrder.length)throw Error("index out of bound");let a=e.panelGroupOrder[i],t=e.panelGroupOrder[n];if(void 0===a||void 0===t)throw Error("panel group is undefined");[e.panelGroupOrder[i],e.panelGroupOrder[n]]=[t,a]})},updatePanelGroupLayouts(i,n){e(e=>{let a=e.panelGroups[i];if(void 0===a)throw Error(`Cannot find panel group ${i}`);a.itemLayouts=n})}})})(p)(...e),...Z(...e),...G(...e),...(i=x,()=>({panels:i}))(...e),panelEditor:void 0,openEditPanel(i){let{panels:n,panelGroups:a}=h(),{panelGroupId:t,panelGroupItemLayoutId:r}=i,l=a[t]?.itemPanelKeys[r];if(void 0===l)throw Error(`Could not find Panel Group item ${i}`);let s=n[l];if(void 0===s)throw Error(`Cannot find Panel with key '${l}'`);let o={mode:"update",initialValues:{groupId:i.panelGroupId,panelDefinition:s},applyChanges:i=>{e(e=>{if(e.panels[l]=i.panelDefinition,i.groupId===t)return;let n=e.panelGroups[t];if(void 0===n)throw Error(`Missing panel group ${t}`);let a=n.itemLayouts.findIndex(e=>e.i===r),s=n.itemLayouts[a],o=n.itemPanelKeys[r];if(-1===a||void 0===s||void 0===o)throw Error(`Missing panel group item ${r}`);n.itemLayouts.splice(a,1),delete n.itemPanelKeys[r];let d=e.panelGroups[i.groupId];if(void 0===d)throw Error(`Could not find new group ${i.groupId}`);d.itemLayouts.push({i:s.i,x:0,y:k(d),w:s.w,h:s.h}),d.itemPanelKeys[s.i]=o})},close:()=>{e(e=>{e.panelEditor=void 0})}};e(e=>{e.panelEditor=o})},openAddPanel(i){let n;void 0===(i??=h().panelGroupOrder[0])&&((n=D()).title="Panel Group",i=n.id);let a={mode:"create",initialValues:{groupId:i,panelDefinition:h().initialValues?.panelDefinition??y()},applyChanges:i=>{let n=E(i.panelDefinition.spec.display.name,h().panels);e(e=>{e.panels[n]=i.panelDefinition;let a=e.panelGroups[i.groupId];if(void 0===a)throw Error(`Missing panel group ${i.groupId}`);let t={i:v().toString(),x:0,y:k(a),w:12,h:6};a.itemLayouts.push(t),a.itemPanelKeys[t.i]=n})},close:()=>{e(e=>{e.panelEditor=void 0})}};e(e=>{void 0!==n&&w(e,n),e.panelEditor=a})},deletePanel(i){e(e=>{let{panelGroupId:n,panelGroupItemLayoutId:a}=i,t=e.panelGroups[n];if(void 0===t)throw Error(`Missing panel group ${n}`);let r=t.itemLayouts.findIndex(e=>e.i===a),l=t.itemPanelKeys[a];if(-1===r||void 0===l)throw Error(`Missing panel group item ${a}`);t.itemLayouts.splice(r,1),delete t.itemPanelKeys[a],!1===function(e,i){for(let n of Object.values(e))if(void 0!==Object.values(n.itemPanelKeys).find(e=>e===i))return!0;return!1}(e.panelGroups,l)&&delete e.panels[l]})},openDeletePanelDialog(i){let{panelGroupId:n,panelGroupItemLayoutId:a}=i,{panels:t,panelGroups:r}=g(),l=r[n];if(void 0===l)throw Error(`Panel group not found ${n}`);let s=l.itemPanelKeys[a];if(void 0===s)throw Error(`Could not find Panel Group item ${a}`);let o=t[s];if(void 0===o)throw Error(`Could not find panel ${s}`);e(e=>{e.deletePanelDialog={panelGroupItemId:i,panelName:o.spec.display.name,panelGroupName:l.title??""}})},closeDeletePanelDialog(){e(e=>{e.deletePanelDialog=void 0})},duplicatePanel(i){e(e=>{let n=e.panels,{panelGroupId:a,panelGroupItemLayoutId:t}=i,r=e.panelGroups[a];if(void 0===r)throw Error(`Missing panel group ${a}`);let l=r.itemPanelKeys[t];if(void 0===l)throw Error(`Could not find Panel Group item ${i}`);let s=n[l];if(void 0===s)throw Error(`Cannot find Panel with key '${l}'`);let o=r.itemLayouts.find(e=>e.i===t);if(void 0===o)throw Error(`Cannot find layout for Panel with key '${l}'`);let d=E(l,n);e.panels[d]=s;let c={i:v().toString(),w:o.w,h:o.h};r.itemLayouts=function(e,i,n){let a=P.sm,t=S(i),r=[],l=[],s=[];n.forEach(e=>{let i=S(e);i.y2<=t.y1?r.push(e):i.y1>=t.y2?s.push(e):l.push(e)}),l.sort((e,i)=>e.x-i.x);let o=l.findIndex(e=>e.i===i.i);if(o===l.length-1){if(t.x2+e.w<=a)return[...r,...l,{...e,x:t.x2,y:t.y1},...s]}else if(o>=0){let i=l[o+1];if(i&&S(i).x1-t.x2>=e.w)return l.splice(o+1,0,{...e,x:t.x2,y:t.y1}),[...r,...l,...s]}return[...r,...l,{x:t.x1,y:t.y2,...e},...s.map(i=>({...i,y:i.y+e.h}))]}(c,o,r.itemLayouts),r.itemPanelKeys[c.i]=d})},...(f=e,{viewPanel:{panelGroupItemId:void 0,panelRef:a},getViewPanel:()=>{var e,i,n;return e=m().panelGroups,i=m().viewPanel.panelGroupItemId,n=m().viewPanel.panelRef,i||(n?function(e,i){for(let n of Object.values(e)){let e=Object.entries(n.itemPanelKeys??[]).find(([e,n])=>n===i);if(e){let[i]=e;return{panelGroupId:n.id,panelGroupItemLayoutId:i}}}}(e,n):void 0)},setViewPanel(e){f(i=>{i.viewPanel={panelRef:void 0,panelGroupItemId:e};let n=function(e,i){if(!i)return;let n=e[i.panelGroupId];if(n)return n.itemPanelKeys[i.panelGroupItemLayoutId]}(m().panelGroups,e);t&&t(n)})}}),...A(...e),...L(...e),...T(...e),kind:r,metadata:l,display:s,duration:o,refreshInterval:d,datasources:c,ttl:u,isEditMode:!!n,setEditMode:e=>j({isEditMode:e}),setDashboard:({kind:e,metadata:i,spec:{display:n,panels:a={},layouts:t=[],duration:r,refreshInterval:l,datasources:s={}}})=>{j(o=>{o.kind=e,o.metadata=i,o.display=n,o.panels=a;let{panelGroups:d,panelGroupOrder:c}=C(t);o.panelGroups=d,o.panelGroupOrder=c,o.duration=r,o.refreshInterval=l??b.DEFAULT_REFRESH_INTERVAL,o.datasources=s})}}})))}let $=({isEditMode:e,setEditMode:i})=>({isEditMode:e,setEditMode:i});function B(){return z($)}let _=({setDashboard:e,openAddPanelGroup:i,openAddPanel:n})=>({setDashboard:e,openAddPanelGroup:i,openAddPanel:n});function F(){let{setDashboard:e,openAddPanelGroup:i,openAddPanel:n}=z(_);return{setDashboard:e,openAddPanelGroup:()=>i(),openAddPanel:()=>n()}}let N=e=>e.panelGroupOrder;function W(){return z(N)}let U=e=>e.panelGroups;function H(){let e=W(),i=z(U);return(0,u.useMemo)(()=>e.map(e=>{let n=i[e];if(void 0===n)throw Error(`Invalid panel group Id found ${e}`);return n}),[e,i])}function J(e){let i=z((0,u.useCallback)(i=>i.panelGroups[e],[e]));if(void 0===i)throw Error(`Panel group with Id ${e} was not found`);return i}let q=({openEditPanelGroup:e,deletePanelGroup:i,openAddPanel:n,updatePanelGroupLayouts:a})=>({openEditPanelGroup:e,deletePanelGroup:i,openAddPanel:n,updatePanelGroupLayouts:a});function Q(e){let{moveUp:i,moveDown:n}=function(e){let i=z((0,u.useCallback)(i=>i.panelGroupOrder.findIndex(i=>i===e),[e])),n=z(Y),a=z(K);if(i<0)throw Error(`Could not find panel group with Id ${e} in order array`);return{moveUp:i>0?()=>a(i,i-1):void 0,moveDown:i<n-1?()=>a(i,i+1):void 0}}(e),{openEditPanelGroup:a,deletePanelGroup:t,openAddPanel:r,updatePanelGroupLayouts:l}=z(q);return{openEditPanelGroup:()=>a(e),deletePanelGroup:()=>t(e),openAddPanel:()=>r(e),moveUp:i,moveDown:n,updatePanelGroupLayouts:i=>l(e,i)}}let K=e=>e.swapPanelGroups,Y=e=>e.panelGroupOrder.length,X=e=>e.panelGroupEditor;function ee(){return z(X)}let ei=({deletePanelGroupDialog:e,openDeletePanelGroupDialog:i,closeDeletePanelGroupDialog:n,deletePanelGroup:a})=>({deletePanelGroupDialog:e,openDeletePanelGroupDialog:i,closeDeletePanelGroupDialog:n,deletePanelGroup:a});function en(){let{deletePanelGroupDialog:e,openDeletePanelGroupDialog:i,closeDeletePanelGroupDialog:n,deletePanelGroup:a}=z(ei);return{deletePanelGroupDialog:e,deletePanelGroup:a,openDeletePanelGroupDialog:i,closeDeletePanelGroupDialog:()=>n()}}function ea(e){let{panelGroupId:i,panelGroupItemLayoutId:n}=e,a=z((0,u.useCallback)(e=>{let a=e.panelGroups[i]?.itemPanelKeys[n];if(void 0!==a)return e.panels[a]},[i,n]));if(void 0===a)throw Error(`Could not find panel for Id ${e}`);return a}let et=({openEditPanel:e,openDeletePanelDialog:i,duplicatePanel:n,setViewPanel:a})=>({openEditPanel:e,openDeletePanelDialog:i,duplicatePanel:n,setViewPanel:a});function er(e){let{openEditPanel:i,openDeletePanelDialog:n,duplicatePanel:a,setViewPanel:t}=z(et);return{openEditPanel:()=>i(e),openDeletePanelDialog:()=>n(e),duplicatePanel:()=>a(e),viewPanel:e=>t(e)}}let el=e=>e.panelEditor;function es(){return z(el)}let eo=({deletePanelDialog:e,deletePanel:i,closeDeletePanelDialog:n})=>({deletePanelDialog:e,deletePanel:i,closeDeletePanelDialog:n});function ed(){return z(eo)}let ec=e=>e.duration;function eu(){return z(ec)}let ep=e=>({setViewPanel:e.setViewPanel,getViewPanel:e.getViewPanel,viewPanelId:e.getViewPanel()});function eh(){return z(ep)}let ex=e=>e.getViewPanel();function eg(){return z(ex)}let ef=({saveChangesConfirmationDialog:e,openSaveChangesConfirmationDialog:i,closeSaveChangesConfirmationDialog:n})=>({saveChangesConfirmationDialog:e,openSaveChangesConfirmationDialog:i,closeSaveChangesConfirmationDialog:n});function em(){return z(ef)}let eb=({discardChangesConfirmationDialog:e,openDiscardChangesConfirmationDialog:i,closeDiscardChangesConfirmationDialog:n})=>({discardChangesConfirmationDialog:e,openDiscardChangesConfirmationDialog:i,closeDiscardChangesConfirmationDialog:n});function ej(){return z(eb)}let ev=({editJsonDialog:e,openEditJsonDialog:i,closeEditJsonDialog:n})=>({editJsonDialog:e,openEditJsonDialog:i,closeEditJsonDialog:n});function ey(){return z(ev)}let eC=()=>{let{openAddPanelGroup:e}=F();return(0,a.jsx)(l.InfoTooltip,{description:s.addGroup,children:(0,a.jsx)(t.Z,{startIcon:(0,a.jsx)(r.default,{}),onClick:e,"aria-label":s.addGroup,sx:d,children:"Panel Group"})})};var eD=n(31243);let ew=({variant:e="text",color:i="primary",label:n="Panel",fullWidth:r})=>{let{openAddPanel:o}=F();return(0,a.jsx)(l.InfoTooltip,{description:s.addPanel,children:(0,a.jsx)(t.Z,{startIcon:(0,a.jsx)(eD.default,{}),onClick:o,"aria-label":s.addPanel,variant:e,color:i,fullWidth:r,sx:d,children:n})})};var eZ=n(36372),eP=n(30788),ek=n(94776),eS=n(33711),eE=n(52054),eV=n(75094),eI=n(25283),eG=n(12449),eA=n(84974),eT=n(57739),eL=n(47501),eO=n(61679),ez=n(22446);function eR(e){let{panelGroupId:i,title:n,collapse:t}=e,r=(0,j.useReplaceVariablesInString)(n),{openAddPanel:d,openEditPanelGroup:c,moveUp:u,moveDown:p}=Q(i),{openDeletePanelGroupDialog:h}=en(),{isEditMode:x}=B(),g=(0,a.jsx)(eE.Z,{variant:"h2",children:r});return(0,a.jsx)(eZ.Z,{onClick:t?.onToggleOpen,sx:{display:"flex",justifyContent:"start",alignItems:"center",cursor:t?"pointer":"auto",backgroundColor:({palette:e})=>e.background.paper},"data-testid":"panel-group-header",children:t?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(eV.Z,{sx:{marginRight:1},"aria-label":`${t.isOpen?"collapse":"expand"} group ${r}`,children:t.isOpen?(0,a.jsx)(eG.default,{}):(0,a.jsx)(eA.default,{})}),g,x&&(0,a.jsxs)(eI.Z,{direction:"row",marginLeft:"auto",children:[(0,a.jsx)(l.InfoTooltip,{description:s.addPanelToGroup,children:(0,a.jsx)(eV.Z,{"aria-label":o.addPanelToGroup(r),onClick:e=>{e.stopPropagation(),d()},children:(0,a.jsx)(eD.default,{})})}),(0,a.jsx)(l.InfoTooltip,{description:s.editGroup,children:(0,a.jsx)(eV.Z,{"aria-label":o.editGroup(r),onClick:e=>{e.stopPropagation(),c()},children:(0,a.jsx)(eT.default,{})})}),(0,a.jsx)(l.InfoTooltip,{description:s.deleteGroup,children:(0,a.jsx)(eV.Z,{"aria-label":o.deleteGroup(r),onClick:e=>{e.stopPropagation(),h(i)},children:(0,a.jsx)(ez.default,{})})}),(0,a.jsx)(l.InfoTooltip,{description:s.moveGroupDown,children:(0,a.jsx)(eV.Z,{"aria-label":o.moveGroupDown(r),disabled:void 0===p,onClick:e=>{e.stopPropagation(),p?.()},children:(0,a.jsx)(eO.default,{})})}),(0,a.jsx)(l.InfoTooltip,{description:s.moveGroupUp,children:(0,a.jsx)(eV.Z,{"aria-label":o.moveGroupUp(r),disabled:void 0===u,onClick:e=>{e.stopPropagation(),u?.()},children:(0,a.jsx)(eL.default,{})})})]})]}):g})}var eM=n(32647),e$=n(84954),eB=n(25635),e_=n(75276),eF=n(66224);function eN(e){let{kind:i,spec:n,contentDimensions:t,definition:r,queryResults:l}=e,{data:s,isLoading:o}=(0,j.usePlugin)("Panel",i,{throwOnError:!0}),d=s?.PanelComponent,c=s?.supportedQueryTypes||[];if(o)return(0,a.jsx)(eF.Z,{variant:"rectangular",width:t?.width,height:t?.height,"aria-label":"Loading..."});if(void 0===d)throw Error(`Missing PanelComponent from panel plugin for kind '${i}'`);for(let e of l)if(!c.includes(e.definition.kind))throw Error(`This panel does not support queries of type '${e.definition.kind}'. Supported query types: ${c.join(", ")}.`);return(0,a.jsx)(d,{spec:n,contentDimensions:t,definition:r,queryResults:l})}function eW(e){let{panelPluginKind:i,definition:n,queryResults:t,spec:r,contentDimensions:l}=e,{data:s,isLoading:o}=(0,j.usePlugin)("Panel",i,{throwOnError:!0});if(o)return(0,a.jsx)(eF.Z,{variant:"rectangular",width:l?.width,height:l?.height,"aria-label":"Loading..."});let d=t.flatMap(e=>e.data?[{data:e.data,definition:e.definition}]:[]);if(d.length>0||0===t.length)return(0,a.jsx)(eN,{kind:i,spec:r,contentDimensions:l,definition:n,queryResults:d});if(t.some(e=>e.isFetching))return(0,a.jsx)(eU,{plugin:s,spec:r,definition:n,contentDimensions:l});let c=t.find(e=>e.error);if(c)throw c.error;return(0,a.jsx)(eU,{plugin:s,spec:r,definition:n,contentDimensions:l})}function eU({plugin:e,spec:i,definition:n,contentDimensions:t}){return e?.LoadingComponent?(0,a.jsx)(e.LoadingComponent,{spec:i,contentDimensions:t,definition:n,queryResults:[]}):(0,a.jsx)(l.LoadingOverlay,{})}var eH=n(81652),eJ=n(12709),eq=n(50898),eQ=n(6714),eK=n(15758),eY=n(13801),eX=n(18979),e0=n(50345),e1=n(93051),e2=n(47512),e5=n(39398);let e4=(0,eJ.ZP)(eV.Z)(({theme:e})=>({borderRadius:e.shape.borderRadius,padding:"4px"}));var e3=n(5549),e7=n(10517),e8=n(60886),e6=n(14434);function e9({links:e}){let[i,n]=(0,u.useState)(null);if(1===e.length&&e[0]){let i=e[0];return(0,a.jsx)(ie,{link:i})}return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(l.InfoTooltip,{description:`${e.length} links`,enterDelay:100,children:(0,a.jsx)(eV.Z,{"aria-label":"Panel links",size:"small",onClick:e=>{n(e.currentTarget)},sx:e=>({borderRadius:e.shape.borderRadius,padding:"4px"}),children:(0,a.jsx)(e6.default,{"aria-describedby":"links-icon",fontSize:"inherit",sx:{color:e=>e.palette.text.secondary}})})}),(0,a.jsx)(e3.Z,{anchorEl:i,open:!!i,onClose:()=>{n(null)},MenuListProps:{"aria-labelledby":"panel-links"},children:e.map(e=>(0,a.jsx)(ii,{link:e},e.url))})]})}function ie({link:e}){let{url:i,name:n,tooltip:t,targetBlank:r}=ia(e);return(0,a.jsx)(l.InfoTooltip,{description:t??i,enterDelay:100,children:(0,a.jsx)(eV.Z,{"aria-label":n??i,size:"small",href:i,target:r?"_blank":"_self",sx:e=>({borderRadius:e.shape.borderRadius,padding:"4px"}),children:(0,a.jsx)(e6.default,{fontSize:"inherit",sx:{color:e=>e.palette.text.secondary}})})})}function ii({link:e}){let{url:i,name:n,tooltip:t,targetBlank:r}=ia(e);return(0,a.jsx)(l.InfoTooltip,{description:t??i,enterDelay:100,children:(0,a.jsx)(e7.Z,{component:e8.Z,href:i,target:r?"_blank":"_self",children:n??i})})}function ia(e){let i=(0,j.useReplaceVariablesInString)(e.url)??e.url,n=(0,j.useReplaceVariablesInString)(e.name),a=(0,j.useReplaceVariablesInString)(e.tooltip);return!1===e.renderVariables?e:{...e,url:i,name:n,tooltip:a}}let it=(0,eJ.ZP)(eZ.Z)({display:"none",alignItems:"center",flexGrow:1,justifyContent:"flex-end"}),ir=({editHandlers:e,readHandlers:i,extra:n,title:t,description:r,descriptionTooltipId:d,links:p,queryResults:h})=>{let x=(0,u.useMemo)(()=>{if(r&&r.trim().length>0)return(0,a.jsx)(l.InfoTooltip,{id:d,description:r,enterDelay:100,children:(0,a.jsx)(e4,{"aria-label":"panel description",size:"small",children:(0,a.jsx)(e5.default,{"aria-describedby":"info-tooltip","aria-hidden":!1,fontSize:"inherit",sx:{color:e=>e.palette.text.secondary}})})})},[d,r]),g=p&&p.length>0&&(0,a.jsx)(e9,{links:p}),f=void 0===e&&n,m=(0,u.useMemo)(()=>{let e=h.some(e=>e.data),i=h.some(e=>e.isFetching),n=h.filter(e=>e.error);if(i&&e)return(0,a.jsx)(eq.Z,{"aria-label":"loading",size:"1.125rem"});if(n.length>0){let e=n.map(e=>e.error).map(e=>e?.message??e?.toString()??"Unknown error").join("\n");return(0,a.jsx)(l.InfoTooltip,{description:e,children:(0,a.jsx)(e4,{"aria-label":"panel errors",size:"small",children:(0,a.jsx)(e2.default,{fontSize:"inherit"})})})}},[h]),b=(0,u.useMemo)(()=>{if(void 0!==i)return(0,a.jsx)(l.InfoTooltip,{description:s.viewPanel,children:(0,a.jsx)(e4,{"aria-label":o.viewPanel(t),size:"small",onClick:i.onViewPanelClick,children:i.isPanelViewed?(0,a.jsx)(eK.default,{fontSize:"inherit"}):(0,a.jsx)(eY.default,{fontSize:"inherit"})})})},[i,t]),j=(0,u.useMemo)(()=>{if(void 0!==e)return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(l.InfoTooltip,{description:s.editPanel,children:(0,a.jsx)(e4,{"aria-label":o.editPanel(t),size:"small",onClick:e.onEditPanelClick,children:(0,a.jsx)(eT.default,{fontSize:"inherit"})})}),(0,a.jsx)(l.InfoTooltip,{description:s.duplicatePanel,children:(0,a.jsx)(e4,{"aria-label":o.duplicatePanel(t),size:"small",onClick:e.onDuplicatePanelClick,children:(0,a.jsx)(e0.default,{fontSize:"inherit",sx:{transform:"scale(0.925)"}})})}),(0,a.jsx)(l.InfoTooltip,{description:s.deletePanel,children:(0,a.jsx)(e4,{"aria-label":o.deletePanel(t),size:"small",onClick:e.onDeletePanelClick,children:(0,a.jsx)(ez.default,{fontSize:"inherit"})})})]})},[e,t]),v=(0,u.useMemo)(()=>{if(j&&!i?.isPanelViewed)return(0,a.jsx)(l.InfoTooltip,{description:s.movePanel,children:(0,a.jsx)(e4,{"aria-label":o.movePanel(t),size:"small",children:(0,a.jsx)(eX.default,{className:"drag-handle",sx:{cursor:"grab"},fontSize:"inherit"})})})},[j,i,t]),y=(0,a.jsx)(eZ.Z,{sx:{flexGrow:1}}),C=({children:n})=>void 0!==e||i?.isPanelViewed?(0,a.jsx)(a.Fragment,{children:n}):(0,a.jsx)(eZ.Z,{sx:{display:"var(--panel-hover, none)"},children:n});return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(it,{sx:e=>({[e.containerQueries(c).between(0,170)]:{display:"flex"}}),children:[y,(0,a.jsxs)(C,{children:[(0,a.jsxs)(il,{title:t,children:[x," ",g," ",m," ",f," ",b," ",j]}),v]})]}),(0,a.jsxs)(it,{sx:e=>({[e.containerQueries(c).between(170,220)]:{display:"flex"}}),children:[(0,a.jsxs)(C,{children:[x," ",g]}),y," ",m,(0,a.jsxs)(C,{children:[f," ",b,(0,a.jsx)(il,{title:t,children:j}),v]})]}),(0,a.jsxs)(it,{sx:e=>({display:"flex",[e.containerQueries(c).down(220)]:{display:"none"}}),children:[(0,a.jsxs)(C,{children:[x," ",g]}),y," ",m,(0,a.jsxs)(C,{children:[f," ",b," ",j," ",v]})]})]})},il=({children:e,title:i})=>{let[n,t]=(0,u.useState)();if(!((0,u.isValidElement)(e)||Array.isArray(e)&&e.some(u.isValidElement)))return;let r=()=>{t(void 0)},l=!!n,s=l?"actions-menu":void 0;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(e4,{className:"show-actions","aria-describedby":s,onClick:e=>{t(e.currentTarget.getBoundingClientRect())},"aria-label":o.showPanelActions(i),size:"small",children:(0,a.jsx)(e1.default,{fontSize:"inherit"})}),(0,a.jsx)(eQ.ZP,{id:s,open:l,anchorReference:"anchorPosition",anchorPosition:n,onClose:r,anchorOrigin:{vertical:"bottom",horizontal:"left"},children:(0,a.jsx)(eI.Z,{direction:"row",alignItems:"center",sx:{padding:1},onClick:r,children:e})})]})};function is({id:e,title:i,description:n,links:t,queryResults:r,readHandlers:s,editHandlers:o,sx:d,extra:u,...p}){let h=`${e}-title`,x=`${e}-description`,g=(0,j.useReplaceVariablesInString)(i),f=(0,j.useReplaceVariablesInString)(n);return(0,a.jsx)(eH.Z,{id:e,component:"header","aria-labelledby":h,"aria-describedby":x,disableTypography:!0,title:(0,a.jsxs)(eI.Z,{direction:"row",children:[(0,a.jsx)(eE.Z,{id:h,variant:"subtitle1",sx:{lineHeight:"24px",minHeight:"26px",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:g}),(0,a.jsx)(ir,{title:g,description:f,descriptionTooltipId:x,links:t,queryResults:r,readHandlers:s,editHandlers:o,extra:u})]}),sx:(0,l.combineSx)(e=>({containerType:"inline-size",containerName:c,padding:e.spacing(1),borderBottom:`solid 1px ${e.palette.divider}`,".MuiCardHeader-content":{overflow:"hidden"}}),d),...p})}let io=(0,u.memo)(function(e){let{definition:i,readHandlers:n,editHandlers:t,onMouseEnter:r,onMouseLeave:s,sx:o,panelOptions:d,panelGroupItemId:c,...p}=e,h=(0,l.useId)("Panel"),x=`${h}-header`,[g,f]=(0,u.useState)(null),{width:m,height:b}=(0,e_.default)({ref:g}),v=(0,u.useMemo)(()=>{if(void 0!==m&&void 0!==b)return{width:m,height:b}},[m,b]),y=(0,l.useChartsTheme)(),{queryResults:C}=(0,j.useDataQueriesContext)();return(0,a.jsxs)(e$.Z,{component:"section",sx:(0,l.combineSx)({width:"100%",height:"100%",display:"flex",flexFlow:"column nowrap",":hover":{"--panel-hover":"block"}},o),variant:"outlined",onMouseEnter:e=>{r?.(e)},onMouseLeave:e=>{s?.(e)},"aria-labelledby":x,"aria-describedby":x,"data-testid":"panel",...p,children:[!d?.hideHeader&&(0,a.jsx)(is,{extra:d?.extra?.({panelDefinition:i,panelGroupItemId:c}),id:x,title:i.spec.display.name,description:i.spec.display.description,queryResults:C,readHandlers:n,editHandlers:t,links:i.spec.links,sx:{paddingX:`${y.container.padding.default}px`}}),(0,a.jsx)(eB.Z,{component:"figure",sx:{position:"relative",overflow:"hidden",flexGrow:1,margin:0,padding:0,":last-child":{padding:0}},ref:f,children:(0,a.jsx)(l.ErrorBoundary,{FallbackComponent:l.ErrorAlert,resetKeys:[i.spec],children:(0,a.jsx)(eW,{definition:i,panelPluginKind:i.spec.plugin.kind,spec:i.spec.plugin.spec,contentDimensions:v,queryResults:C})})})]})});function id(e){let i;let{panelGroupItemId:n,width:t}=e,r=ea(n),{spec:{queries:l}}=r,{isEditMode:s}=B(),{openEditPanel:o,openDeletePanelDialog:d,duplicatePanel:c,viewPanel:u}=er(n),p=eg(),{ref:h,inView:x}=(0,eM.YD)({threshold:.2,initialInView:!1,triggerOnce:!0}),g={isPanelViewed:p?.panelGroupId===n?.panelGroupId&&p?.panelGroupItemLayoutId===n?.panelGroupItemLayoutId,onViewPanelClick:function(){void 0===p?u(n):u(void 0)}};s&&(i={onEditPanelClick:o,onDuplicatePanelClick:c,onDeletePanelClick:d});let f=(0,j.useSuggestedStepMs)(t),{data:m}=(0,j.usePlugin)("Panel",r.spec.plugin.kind),b=(l??[]).map(e=>({kind:e.spec.plugin.kind,spec:e.spec.plugin.spec})),v="function"==typeof m?.queryOptions?m?.queryOptions(r.spec.plugin.spec):m?.queryOptions;return(0,a.jsx)(eZ.Z,{ref:h,sx:{width:"100%",height:"100%"},children:(0,a.jsx)(j.DataQueriesProvider,{definitions:b,options:{suggestedStepMs:f,...v},queryOptions:{enabled:x},children:x&&(0,a.jsx)(io,{definition:r,readHandlers:g,editHandlers:i,panelOptions:e.panelOptions,panelGroupItemId:n})})})}function ic(e){let[i,n]=(0,u.useState)(!0);return(0,u.useEffect)(()=>{i&&n(!1)},[i]),(0,a.jsx)(iu,{sx:[{"& + &":{marginTop:1},"& .react-grid-item.cssTransforms":{transitionProperty:i?"none":"transform"}},...Array.isArray(e.sx)?e.sx:[e.sx]],"data-testid":"panel-group",children:e.children})}let iu=(0,eJ.ZP)("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)"}}));function ip(e){let{panelGroupId:i,panelOptions:n,panelFullHeight:t}=e,r=(0,ek.Z)(),s=J(i),{updatePanelGroupLayouts:o}=Q(i),[d,c]=(0,u.useState)(!s.isCollapsed),{isEditMode:p}=B(),[h,x]=(0,u.useState)(0),g=eg(),f=g?.panelGroupId===i,m=g?.panelGroupItemLayoutId;(0,u.useEffect)(()=>{f&&c(!0)},[f]);let b=void 0===g||f,j=(0,u.useMemo)(()=>m?s.itemLayouts.map(e=>e.i===m?{h:Math.round(((t??window.innerHeight)-48)/40),i:m,w:48,x:0,y:0}:e):s.itemLayouts,[s.itemLayouts,m,t]),v=(0,u.useMemo)(()=>(0,eP.WidthProvider)(eP.Responsive),[]);return(0,a.jsxs)(ic,{sx:{display:b?"block":"none",height:m?`${t}px`:"unset",overflow:m?"hidden":"unset"},children:[void 0!==s.title&&(0,a.jsx)(eR,{panelGroupId:i,title:s.title,collapse:void 0===s.isCollapsed?void 0:{isOpen:d,onToggleOpen:()=>c(e=>!e)}}),(0,a.jsx)(eS.Z,{in:d,unmountOnExit:!0,appear:!1,"data-testid":"panel-group-content",children:(0,a.jsx)(v,{className:"layout",breakpoints:{sm:r.breakpoints.values.sm,xxs:0},cols:P,rowHeight:30,draggableHandle:".drag-handle",resizeHandles:["se"],isDraggable:p&&!f,isResizable:p&&!f,margin:[10,10],containerPadding:[0,10],layouts:{sm:j},onLayoutChange:(e,i)=>{let n=i.sm;n&&!f&&o(n)},onWidthChange:(e,i,n,a)=>{x((e-i[0]*(n-1)-2*a[0])/n)},allowOverlap:f,children:j.map(({i:e,w:t})=>(0,a.jsx)("div",{style:{display:void 0!==m?m===e?"unset":"none":"unset"},children:(0,a.jsx)(l.ErrorBoundary,{FallbackComponent:l.ErrorAlert,children:(0,a.jsx)(id,{panelOptions:n,panelGroupItemId:{panelGroupId:i,panelGroupItemLayoutId:e},width:ih(t,h)})})},e))})})]})}let ih=(e,i)=>Number.isFinite(e)?Math.round(i*e+10*Math.max(0,e-1)):e;var ix=n(71783),ig=n(75586);function im(e,i){var n,a,t;let r={},l=[];return n=e,a=i,t=(e,i)=>{r[i]||(l.push(e),r[i]=!0)},n.forEach(e=>t(e,e.spec.name)),a.forEach(e=>e.definitions.forEach(i=>t(i,i.spec.name,e.source))),l}function ib(e,i){let n={value:null,loading:!1,overriding:!1,overridden:!1};switch(e.kind){case"TextVariable":n.value=i??e.spec.value;break;case"ListVariable":if(n.options=[],n.value=i??e.spec.defaultValue??null,n.options.length>0&&!n.value){let i=n.options[0]?.value??null;null!==i&&(n.value=e.spec.allowMultiple?[i]:i)}Array.isArray(n.value)&&1===n.value.length&&n.value[0]===b.DEFAULT_ALL_VALUE&&(n.value=b.DEFAULT_ALL_VALUE)}return n}function ij(e,i,n=[]){let a=new j.VariableStoreStateMap,t={};e.forEach(e=>{t[e.spec.name]=!0},{});let r={};return n.forEach(e=>{let n=e.source;e.definitions.forEach(e=>{let l=e.spec.name,s=i[l];a.set({source:n,name:l},{...ib(e,s||null),overridden:!!t[l]}),t[l]=!0,r[e.spec.name]=!0})},{}),e.forEach(e=>{let n=e.spec.name,t=i[n];a.set({name:n},{...ib(e,t||null),overriding:!!r[n]})}),t={},n.slice().reverse().forEach(e=>{let i=e.source;e.definitions.forEach(e=>{let n=e.spec.name,r=a.get({source:i,name:n});r&&(r.overriding=!!t[n]),t[n]=!0})}),a}var iv=n(51564);let iy="var-",iC={encode:function(e){return Array.isArray(e)?e.join(","):e},decode:e=>"string"==typeof e?function(e){if(!e)return null;let i=e.split(",");return 1===i.length?i[0]:i}(e):""},iD=(0,u.createContext)(void 0);function iw(){let e=(0,u.useContext)(iD);if(!e)throw Error("VariableStoreContext not initialized");return e}function iZ(e){let i=iw();return(0,x.s)(i,i=>{let n={};return(e??i.variableDefinitions.map(e=>e.spec.name)).forEach(e=>{let a=i.variableState.get({name:e});a&&!a.overridden&&(n[e]=a)}),i.externalVariableDefinitions.forEach(e=>{let a=e.source;e.definitions.forEach(e=>{let t=e.spec.name,r=i.variableState.get({name:t,source:a});r&&!r.overridden&&(n[t]=r)})}),n},(e,i)=>JSON.stringify(e)===JSON.stringify(i))}function iP(e,i){let n=iw();return(0,ix.oR)(n,n=>({state:n.variableState.get({name:e,source:i}),definition:((i?n.externalVariableDefinitions.find(e=>e.source===i)?.definitions:n.variableDefinitions)||[]).find(i=>i.spec.name===e)}))}function ik(){let e=iw();return(0,x.s)(e,e=>({setVariableValue:e.setVariableValue,setVariableLoading:e.setVariableLoading,setVariableOptions:e.setVariableOptions,setVariableDefinitions:e.setVariableDefinitions,setVariableDefaultValues:e.setVariableDefaultValues,getSavedVariablesStatus:e.getSavedVariablesStatus}),m.X)}function iS(){let e=iw();return(0,ix.oR)(e,e=>e.variableDefinitions)}function iE(){let e=iw();return(0,ix.oR)(e,e=>e.externalVariableDefinitions)}function iV({children:e,builtinVariables:i}){let n=iZ(),t=iS(),r=iE(),{absoluteTimeRange:l}=(0,j.useTimeRange)(),s=(0,u.useMemo)(()=>{let e={};return Object.keys(n).forEach(i=>{let a={...n[i]};if(a.value===b.DEFAULT_ALL_VALUE){let e=im(t,r).find(e=>e.spec.name===i);e?.kind==="ListVariable"&&e.spec.customAllValue?a.value=e.spec.customAllValue:a.value=a.options?.map(e=>e.value)??null}e[i]=a}),e},[n,t,r]),o=(0,u.useMemo)(()=>{let e=[{kind:"BuiltinVariable",spec:{name:"__from",value:()=>l.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:()=>l.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,b.formatDuration)((0,b.intervalToPrometheusDuration)(l)),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:()=>((l.end.valueOf()-l.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:()=>(l.end.valueOf()-l.start.valueOf()).toString(),source:"Dashboard",display:{name:"__range_ms",description:"The range for the current dashboard in millisecond",hidden:!0}}}];return i?.forEach(i=>e.push(i)),e},[l,i]);return(0,a.jsx)(j.BuiltinVariableContext.Provider,{value:{variables:o},children:(0,a.jsx)(j.VariableContext.Provider,{value:{state:s},children:e})})}function iI({initialVariableDefinitions:e=[],externalVariableDefinitions:i=[],queryParams:n}){let a=function(e){let i={};return Object.keys(e).forEach(n=>{let a=e[n];a&&(i[n.replace(iy,"")]=a)}),i}(n?n[0]:{});return(0,h.M)()((0,g.mW)((0,f.n)((t,r)=>({variableState:ij(e,a,i),variableDefinitions:e,externalVariableDefinitions:i,setVariableDefinitions(e){t(n=>{n.variableDefinitions=e,n.variableState=ij(e,a,i)},!1,"[Variables] setVariableDefinitions")},setVariableOptions(e,i,n){t(a=>{let t=a.variableState.get({name:e,source:n});t&&(t.options=i)},!1,"[Variables] setVariableOptions")},setVariableLoading(e,i,n){t(a=>{let t=a.variableState.get({name:e,source:n});t&&(t.loading=i)},!1,"[Variables] setVariableLoading")},setVariableValue:(e,i,a)=>t(t=>{let r=i,l=t.variableState.get({name:e,source:a});if(l){if(Array.isArray(r)&&r.includes(b.DEFAULT_ALL_VALUE)&&(r=r.at(-1)===b.DEFAULT_ALL_VALUE?b.DEFAULT_ALL_VALUE:r.filter(e=>e!==b.DEFAULT_ALL_VALUE)),n)(0,n[1])({[`${iy}${e}`]:r});l.value=r}},!1,"[Variables] setVariableValue"),setVariableDefaultValues:()=>{let e=r().variableDefinitions,i=r().variableState,n=(0,ig.Uy)(e,e=>{e.forEach((n,a)=>{let t=n.spec.name;if("ListVariable"===n.kind){let r=i.get({name:t});r?.value!==void 0&&(e[a]={kind:"ListVariable",spec:(0,ig.Uy)(n.spec,e=>{e.defaultValue=r.value})})}else if("TextVariable"===n.kind){let r=i.get({name:t}),l="string"==typeof r?.value?r.value:"";r?.value!==void 0&&(e[a]={kind:"TextVariable",spec:(0,ig.Uy)(n.spec,e=>{e.value=l})})}})});return t(e=>{e.variableDefinitions=n},!1,"[Variables] setVariableDefaultValues"),n},getSavedVariablesStatus:()=>(function(e,i){let n=!1,a=[];for(let t of e){let e=t.spec.name;if("ListVariable"===t.kind){let r=i.get({name:e});r?.value!==null&&r?.value!==t.spec.defaultValue&&(a.push(e),n=!0)}else if("TextVariable"===t.kind){let r=i.get({name:e}),l="string"==typeof r?.value?r.value:"";t.spec.value!==l&&(a.push(e),n=!0)}}return{isSavedVariableModified:n,modifiedVariableNames:a}})(r().variableDefinitions,r().variableState)}))))}function iG({children:e,initialVariableDefinitions:i=[],externalVariableDefinitions:n=[],builtinVariableDefinitions:t=[]}){let[r]=(0,u.useState)(()=>iI({initialVariableDefinitions:i,externalVariableDefinitions:n}));return(0,a.jsx)(iD.Provider,{value:r,children:(0,a.jsx)(iV,{builtinVariables:t,children:e})})}function iA({children:e,initialVariableDefinitions:i=[],externalVariableDefinitions:n=[],builtinVariableDefinitions:t=[]}){let r=function(e){let i={};return e.forEach(e=>{var n;i[n=e.spec.name,`${iy}${n}`]=iC}),(0,iv.useQueryParams)(i,{updateType:"replaceIn"})}(im(i,n)),[l]=(0,u.useState)(()=>iI({initialVariableDefinitions:i,externalVariableDefinitions:n,queryParams:r}));return(0,a.jsx)(iD.Provider,{value:l,children:(0,a.jsx)(iV,{builtinVariables:t,children:e})})}var iT=n(315),iL=n(59019),iO=n(90190),iz=n(31889),iR=n(14968),iM=n(56174),i$=n(87895),iB=n(49538),i_=n(56656),iF=n(51640),iN=n(85474),iW=n(32964),iU=n(96205),iH=n(33755),iJ=n(58641),iq=n(22212),iQ=n(74081),iK=n(64315),iY=n(14371),iX=n(6849);function i0({builtinVariableDefinitions:e}){let i=(0,u.useMemo)(()=>{let i={};for(let n of e){let e=i[n.spec.source];if(e){e.push(n);continue}i[n.spec.source]=[n]}return i},[e]),n=(0,u.useMemo)(()=>{let e=[];for(let n in i)e.includes(n)||e.push(n);return e},[i]);return(0,a.jsx)(a.Fragment,{children:n.map(e=>(0,a.jsxs)(iB.Z,{sx:e=>({".MuiAccordionSummary-root":{backgroundColor:e.palette.background.lighter},".MuiAccordionDetails-root":{backgroundColor:e.palette.background.lighter}}),children:[(0,a.jsx)(i_.Z,{expandIcon:(0,a.jsx)(iX.default,{}),"aria-controls":"builtin",id:"builtin",children:(0,a.jsx)(eE.Z,{variant:"h2",children:(0,a.jsx)(l.InfoTooltip,{title:`${e} Built-in Variables`,description:"Variables computed during dashboard rendering.",children:(0,a.jsxs)("span",{children:[e," Built-in Variables"]})})})}),(0,a.jsx)(iN.Z,{children:(0,a.jsx)(iL.Z,{children:(0,a.jsxs)(iO.Z,{sx:{minWidth:650},"aria-label":"table of external variables",children:[(0,a.jsx)(iz.Z,{children:(0,a.jsxs)(iR.Z,{children:[(0,a.jsx)(iU.Z,{children:"Name"}),(0,a.jsx)(iU.Z,{children:"Description"})]})}),(0,a.jsx)(iM.Z,{children:(i[e]??[]).map(i=>(0,a.jsxs)(iR.Z,{children:[(0,a.jsx)(iU.Z,{component:"th",scope:"row",sx:{fontWeight:"bold"},children:i.spec.name}),(0,a.jsx)(iU.Z,{children:i.spec.display?.description??""})]},e+"-"+i.spec.name))})]})})})]},e))})}function i1(e){return j.VARIABLE_TYPES.find(i=>i.kind===e)?.label}function i2(e){let[i,n]=(0,iJ.x)(e.variableDefinitions),[r,s]=(0,u.useState)(null),[o,d]=(0,u.useState)("update"),c=e.externalVariableDefinitions,p=e.builtinVariableDefinitions,h=(0,u.useMemo)(()=>(function(e){let i=[],n=e.map(e=>e.spec.name),a=new Set(n);return n.length!==a.size&&i.push("Variable names must be unique"),{errors:i,isValid:0===i.length}})(i),[i]),[x]=(0,u.useMemo)(()=>[ij(i,{},c)],[c,i]),g="number"==typeof r&&i[r],{openDiscardChangesConfirmationDialog:f,closeDiscardChangesConfirmationDialog:m}=ej(),b=e=>{n(i=>{i.splice(e,1)})},v=e=>{d("update"),s(e)},y=(e,i)=>{n(n=>{let a=n[e];a&&(a.spec.display||(a.spec.display={name:a.spec.name,hidden:!1}),a.spec.display.hidden=!1===i)})},C=(e,i)=>{n(n=>{if("up"===i){let i=n[e-1],a=n[e];0!==e&&i&&a&&(n[e-1]=a,n[e]=i)}else{let i=n[e+1],a=n[e];if(e===n.length-1||!i||!a)return;n[e+1]=a,n[e]=i}})},D=e=>{n(i=>{i.push(e)})};return(0,a.jsxs)(a.Fragment,{children:[g&&(0,a.jsx)(j.ValidationProvider,{children:(0,a.jsx)(j.VariableEditorForm,{initialVariableDefinition:g,action:o,isDraft:!0,onActionChange:d,onSave:e=>{n(i=>{i[r]=e,s(null)})},onClose:()=>{"create"===o&&b(r),s(null)}})}),!g&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(eZ.Z,{sx:{display:"flex",alignItems:"center",padding:e=>e.spacing(1,2),borderBottom:e=>`1px solid ${e.palette.divider}`},children:[(0,a.jsx)(eE.Z,{variant:"h2",children:"Edit Dashboard Variables"}),(0,a.jsxs)(eI.Z,{direction:"row",spacing:1,marginLeft:"auto",children:[(0,a.jsx)(t.Z,{disabled:e.variableDefinitions===i||!h.isValid,variant:"contained",onClick:()=>{e.onChange(i)},children:"Apply"}),(0,a.jsx)(t.Z,{color:"secondary",variant:"outlined",onClick:()=>{JSON.stringify(e.variableDefinitions)!==JSON.stringify(i)?f({onDiscardChanges:()=>{m(),e.onCancel()},onCancel:()=>{m()},description:"You have unapplied changes. Are you sure you want to discard these changes? Changes cannot be recovered."}):e.onCancel()},children:"Cancel"})]})]}),(0,a.jsx)(eZ.Z,{padding:2,sx:{overflowY:"scroll"},children:(0,a.jsxs)(eI.Z,{spacing:2,children:[(0,a.jsxs)(eI.Z,{spacing:2,children:[!h.isValid&&h.errors.map(e=>(0,a.jsx)(iT.Z,{severity:"error",children:e},e)),(0,a.jsx)(iL.Z,{children:(0,a.jsxs)(iO.Z,{sx:{minWidth:650},"aria-label":"table of variables",children:[(0,a.jsx)(iz.Z,{children:(0,a.jsxs)(iR.Z,{children:[(0,a.jsx)(i5,{children:"Visibility"}),(0,a.jsx)(i5,{children:"Name"}),(0,a.jsx)(i5,{children:"Type"}),(0,a.jsx)(i5,{children:"Description"}),(0,a.jsx)(i5,{align:"right",children:"Actions"})]})}),(0,a.jsx)(iM.Z,{children:i.map((e,n)=>(0,a.jsxs)(iR.Z,{children:[(0,a.jsx)(i5,{component:"th",scope:"row",children:(0,a.jsx)(i$.Z,{checked:e.spec.display?.hidden!==!0,onChange:e=>{y(n,e.target.checked)}})}),(0,a.jsx)(i5,{component:"th",scope:"row",sx:{fontWeight:"bold"},children:(0,a.jsx)(i4,{name:e.spec.name,state:x.get({name:e.spec.name})})}),(0,a.jsx)(i5,{children:i1(e.kind)??e.kind}),(0,a.jsx)(i5,{children:e.spec.display?.description??""}),(0,a.jsxs)(i5,{align:"right",sx:{whiteSpace:"nowrap"},children:[(0,a.jsx)(eV.Z,{onClick:()=>C(n,"up"),disabled:0===n,children:(0,a.jsx)(eL.default,{})}),(0,a.jsx)(eV.Z,{onClick:()=>C(n,"down"),disabled:n===i.length-1,children:(0,a.jsx)(eO.default,{})}),(0,a.jsx)(eV.Z,{onClick:()=>v(n),children:(0,a.jsx)(iq.default,{})}),(0,a.jsx)(eV.Z,{onClick:()=>b(n),children:(0,a.jsx)(iQ.default,{})})]})]},e.spec.name))})]})}),(0,a.jsx)(eZ.Z,{display:"flex",children:(0,a.jsx)(t.Z,{variant:"contained",startIcon:(0,a.jsx)(iH.default,{}),sx:{marginLeft:"auto"},onClick:()=>{d("create"),n(e=>{e.push({kind:"TextVariable",spec:{name:"NewVariable",value:""}})}),s(i.length)},children:"Add Variable"})})]}),c&&!c.every(e=>0===e.definitions.length)&&c.map((e,i)=>e.definitions.length>0&&(0,a.jsxs)(iB.Z,{sx:e=>({".MuiAccordionSummary-root":{backgroundColor:e.palette.background.lighter},".MuiAccordionDetails-root":{backgroundColor:e.palette.background.lighter}}),children:[(0,a.jsx)(i_.Z,{expandIcon:(0,a.jsx)(iX.default,{}),"aria-controls":e.source,id:e.source,children:(0,a.jsx)(eI.Z,{flexDirection:"row",alignItems:"center",justifyContent:"start",children:(0,a.jsxs)(a.Fragment,{children:[e.tooltip?(0,a.jsx)(eE.Z,{variant:"h2",children:(0,a.jsx)(l.InfoTooltip,{title:e.tooltip.title||"",description:e.tooltip.description||"",children:(0,a.jsxs)("span",{children:[(0,iF.Z)(e.source)," Variables"]})})}):(0,a.jsxs)(eE.Z,{variant:"h2",children:[(0,iF.Z)(e.source)," Variables"]}),e.editLink&&(0,a.jsx)(eV.Z,{href:e.editLink,target:"_blank",children:(0,a.jsx)(iY.default,{fontSize:"small"})})]})})}),(0,a.jsx)(iN.Z,{children:(0,a.jsx)(iL.Z,{children:(0,a.jsxs)(iO.Z,{sx:{minWidth:650},"aria-label":"table of external variables",children:[(0,a.jsx)(iz.Z,{children:(0,a.jsxs)(iR.Z,{children:[(0,a.jsx)(i5,{children:"Visibility"}),(0,a.jsx)(i5,{children:"Name"}),(0,a.jsx)(i5,{children:"Type"}),(0,a.jsx)(i5,{children:"Description"}),(0,a.jsx)(i5,{align:"right",children:"Actions"})]})}),(0,a.jsx)(iM.Z,{children:e.definitions.map(i=>(0,a.jsxs)(iR.Z,{children:[(0,a.jsx)(i5,{component:"th",scope:"row",children:(0,a.jsx)(i$.Z,{checked:i.spec.display?.hidden!==!0,disabled:!0})}),(0,a.jsx)(i5,{component:"th",scope:"row",sx:{fontWeight:"bold"},children:(0,a.jsx)(i4,{name:i.spec.name,state:x.get({name:i.spec.name,source:e.source})})}),(0,a.jsx)(i5,{children:i1(i.kind)??i.kind}),(0,a.jsx)(i5,{children:i.spec.display?.description??""}),(0,a.jsxs)(i5,{align:"right",children:[(0,a.jsx)(iW.Z,{title:"Override",children:(0,a.jsx)(eV.Z,{onClick:()=>D(i),disabled:!!x.get({name:i.spec.name}),children:(0,a.jsx)(iK.default,{})})}),(0,a.jsx)(eV.Z,{disabled:!0,children:(0,a.jsx)(eL.default,{})}),(0,a.jsx)(eV.Z,{disabled:!0,children:(0,a.jsx)(eO.default,{})}),(0,a.jsx)(eV.Z,{disabled:!0,children:(0,a.jsx)(iq.default,{})}),(0,a.jsx)(eV.Z,{disabled:!0,children:(0,a.jsx)(iQ.default,{})})]})]},i.spec.name))})]})})})]},i)),p&&(0,a.jsx)(i0,{builtinVariableDefinitions:p})]})})]})]})}let i5=(0,eJ.ZP)(iU.Z)(({theme:e})=>({borderBottom:`solid 1px ${e.palette.divider}`}));function i4(e){let{name:i,state:n}=e;return(0,a.jsxs)(a.Fragment,{children:[!n?.overridden&&`${i} `,!n?.overridden&&n?.overriding&&(0,a.jsx)(eZ.Z,{fontWeight:"normal",color:e=>e.palette.primary.main,children:"(overriding)"}),n?.overridden&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(eZ.Z,{color:e=>e.palette.grey[500],children:i}),(0,a.jsx)(eZ.Z,{fontWeight:"normal",color:e=>e.palette.grey[500],children:"(overridden)"})]})]})}function i3({variant:e="text",label:i="Variables",color:n="primary",fullWidth:r}){let[o,c]=(0,u.useState)(!1),p=iS(),h=iE(),x=(0,j.useBuiltinVariableDefinitions)(),{setVariableDefinitions:g}=ik(),f=()=>{c(!1)};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(l.InfoTooltip,{description:s.editVariables,children:(0,a.jsx)(t.Z,{startIcon:(0,a.jsx)(eT.default,{}),onClick:()=>{c(!0)},"aria-label":s.editVariables,variant:e,color:n,fullWidth:r,sx:d,children:i})}),(0,a.jsx)(l.Drawer,{isOpen:o,onClose:f,PaperProps:{sx:{width:"50%"}},"data-testid":"variable-editor",children:(0,a.jsx)(i2,{variableDefinitions:p,externalVariableDefinitions:h,builtinVariableDefinitions:x,onCancel:f,onChange:e=>{g(e),c(!1)}})})]})}let i7=({label:e="Edit",onClick:i})=>(0,a.jsx)(t.Z,{onClick:i,startIcon:(0,a.jsx)(eT.default,{}),variant:"outlined",color:"secondary",sx:{whiteSpace:"nowrap",minWidth:"auto"},children:e}),i8="Let's get started",i6={edit:"We currently support time series charts, gauge charts, stat charts and more!",view:"This dashboard is currently empty. Get started by clicking the edit button."},i9={variant:"outlined",color:"secondary"},ne=({actions:e,isEditMode:i,onEditButtonClick:n})=>e&&"boolean"!=typeof e?e:!1===e?null:i?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(ew,{variant:"outlined",color:"secondary",label:"Add Panel",fullWidth:!0}),(0,a.jsx)(i3,{variant:"outlined",color:"secondary",label:"Add Variables",fullWidth:!0})]}):n?(0,a.jsx)(i7,{...i9,label:"Edit Dashboard",onClick:n}):null,ni=({title:e=i8,image:i,description:n,additionalText:t,actions:r,onEditButtonClick:l})=>{let{isEditMode:s}=B(),o=s?i6.edit:i6.view,d=(0,a.jsx)(ne,{actions:r,onEditButtonClick:l,isEditMode:s});return(0,a.jsxs)(eZ.Z,{sx:{width:"500px",textAlign:"center",margin:"0 auto"},children:[(0,a.jsxs)(eZ.Z,{sx:{width:"289px",margin:"0 auto"},children:[!!i&&i,(0,a.jsx)(eE.Z,{variant:"h2",gutterBottom:!0,children:e}),(0,a.jsx)(eE.Z,{variant:"body1",children:n??o}),d&&(0,a.jsx)(eZ.Z,{sx:{display:"flex",gap:2,marginTop:1,justifyContent:"center"},children:d})]}),t&&(0,a.jsx)(eE.Z,{variant:"subtitle1",sx:{marginTop:12},children:t})]})};function nn({emptyDashboardProps:e,panelOptions:i,...n}){let t=W(),r=(0,u.useRef)(null),s=!t.length,o=r.current?.getBoundingClientRect().top??165,d=window.innerHeight-o-window.scrollY;return(0,a.jsx)(eZ.Z,{...n,sx:{height:"100%"},ref:r,children:(0,a.jsxs)(l.ErrorBoundary,{FallbackComponent:l.ErrorAlert,children:[s&&(0,a.jsx)(eZ.Z,{sx:{height:"100%",display:"flex",alignItems:"center"},children:(0,a.jsx)(ni,{...e})}),!s&&t.map(e=>(0,a.jsx)(ip,{panelGroupId:e,panelOptions:i,panelFullHeight:d},e))]})})}var na=n(76439),nt=n(70313),nr=n(18873),nl=n(29379),ns=n(18971);function no(){let{panels:e,panelGroups:i,panelGroupOrder:n,setDashboard:a,kind:t,metadata:r,display:l,duration:s,refreshInterval:o,datasources:d,ttl:c}=z(({panels:e,panelGroups:i,panelGroupOrder:n,setDashboard:a,kind:t,metadata:r,display:l,duration:s,refreshInterval:o,datasources:d,ttl:c})=>({panels:e,panelGroups:i,panelGroupOrder:n,setDashboard:a,kind:t,metadata:r,display:l,duration:s,refreshInterval:o,datasources:d,ttl:c})),{setVariableDefinitions:u}=ik(),p=iS(),h=function(e,i){let n=[];return i.map(i=>{let a;let t=e[i];if(void 0===t)throw Error("panel group not found");let{title:r,isCollapsed:l,itemLayouts:s,itemPanelKeys:o}=t;r&&(a={title:r,collapse:{open:!l}});let d={kind:"Grid",spec:{display:a,items:s.map(e=>{let i=o[e.i];if(void 0===i)throw Error(`Missing panel key of layout ${e.i}`);return{x:e.x,y:e.y,width:e.w,height:e.h,content:(0,b.createPanelRef)(i)}})}};n.push(d)}),n}(i,n);return{dashboard:"Dashboard"===t?{kind:t,metadata:r,spec:{display:l,panels:e,layouts:h,variables:p,duration:s,refreshInterval:o,datasources:d}}:{kind:t,metadata:r,spec:{display:l,panels:e,layouts:h,variables:p,duration:s,refreshInterval:o,datasources:d,ttl:c}},setDashboard:e=>{u(e.spec.variables),a(e)}}}function nd(){let{dashboard:e}=no(),i=(0,u.useRef)(null),[n,t]=p().useState(null),r=!!n,s=(n,a)=>()=>{t(null);let r,l="";switch(n){case"json":r="application/json",l=JSON.stringify(e,null,2);break;case"yaml":if(r="application/yaml","cr"===a){let i=e.metadata.name.toLowerCase().replace(/[^a-z0-9-]/g,"-");l=(0,ns.Pz)({apiVersion:"perses.dev/v1alpha1",kind:"PersesDashboard",metadata:{labels:{"app.kubernetes.io/name":"perses-dashboard","app.kubernetes.io/instance":i,"app.kubernetes.io/part-of":"perses-operator"},name:i},namespace:e.metadata.project,spec:e.spec})}else l=(0,ns.Pz)(e)}if(!i||!i.current)return;let s=URL.createObjectURL(new Blob([l],{type:r}));i.current.download=`${e.metadata.name}${"cr"===a?"-cr":""}.${n}`,i.current.href=s,i.current.click(),URL.revokeObjectURL(s)};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(l.ToolbarIconButton,{id:"download-dashboard-button","aria-controls":r?"basic-menu":void 0,"aria-haspopup":"true","aria-expanded":r?"true":void 0,onClick:e=>{t(e.currentTarget)},children:(0,a.jsx)(nl.default,{})}),(0,a.jsx)(e3.Z,{id:"download-dashboard-formats",anchorEl:n,open:r,hideBackdrop:!0,onClose:()=>t(null),MenuListProps:{"aria-labelledby":"download-dashboard-button"},children:(0,a.jsx)("div",{children:(0,a.jsx)(nt.d,{onClickAway:()=>t(null),children:(0,a.jsxs)(nr.Z,{children:[(0,a.jsx)(e7.Z,{onClick:s("json"),children:"JSON"}),(0,a.jsx)(e7.Z,{onClick:s("yaml"),children:"YAML"}),(0,a.jsx)(e7.Z,{onClick:s("yaml","cr"),children:"YAML (CR)"})]})})})}),(0,a.jsx)("a",{ref:i,style:{display:"none"}})]})}function nc(e){let[i,n]=(0,iJ.x)(e.datasources),[r,l]=(0,u.useState)("update"),[s,o]=(0,u.useState)(null),d={default:!1,plugin:{kind:"PrometheusDatasource",spec:{}}},{openDiscardChangesConfirmationDialog:c,closeDiscardChangesConfirmationDialog:p}=ej(),h=e=>{n(i=>{delete i[e]})},x=e=>{l("update"),o({name:e,spec:i[e]??d})};return(0,a.jsx)(a.Fragment,{children:s?(0,a.jsx)(j.ValidationProvider,{children:(0,a.jsx)(j.DatasourceEditorForm,{initialDatasourceDefinition:s,action:r,isDraft:!0,onActionChange:l,onSave:e=>{n(i=>{delete i[s.name],i[e.name]=e.spec,o(null)})},onClose:()=>{o(null)}})}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(eZ.Z,{sx:{display:"flex",alignItems:"center",padding:e=>e.spacing(1,2),borderBottom:e=>`1px solid ${e.palette.divider}`},children:[(0,a.jsx)(eE.Z,{variant:"h2",children:"Edit Dashboard Datasources"}),(0,a.jsxs)(eI.Z,{direction:"row",spacing:1,marginLeft:"auto",children:[(0,a.jsx)(t.Z,{disabled:e.datasources===i,variant:"contained",onClick:()=>{e.onChange(i)},children:"Apply"}),(0,a.jsx)(t.Z,{color:"secondary",variant:"outlined",onClick:()=>{JSON.stringify(e.datasources)!==JSON.stringify(i)?c({onDiscardChanges:()=>{p(),e.onCancel()},onCancel:()=>{p()},description:"You have unapplied changes. Are you sure you want to discard these changes? Changes cannot be recovered."}):e.onCancel()},children:"Cancel"})]})]}),(0,a.jsx)(eZ.Z,{padding:2,sx:{overflowY:"scroll"},children:(0,a.jsx)(eI.Z,{spacing:2,children:(0,a.jsxs)(eI.Z,{spacing:2,children:[(0,a.jsx)(iL.Z,{children:(0,a.jsxs)(iO.Z,{sx:{minWidth:650},"aria-label":"table of datasources",children:[(0,a.jsx)(iz.Z,{children:(0,a.jsxs)(iR.Z,{children:[(0,a.jsx)(iU.Z,{children:"Name"}),(0,a.jsx)(iU.Z,{children:"Type"}),(0,a.jsx)(iU.Z,{children:"Description"}),(0,a.jsx)(iU.Z,{align:"right",children:"Actions"})]})}),(0,a.jsx)(iM.Z,{children:Object.entries(i).map(([e,i])=>(0,a.jsxs)(iR.Z,{children:[(0,a.jsx)(iU.Z,{component:"th",scope:"row",sx:{fontWeight:"bold"},children:e}),(0,a.jsx)(iU.Z,{children:i.plugin.kind}),(0,a.jsx)(iU.Z,{children:i.display?.description??""}),(0,a.jsxs)(iU.Z,{align:"right",sx:{whiteSpace:"nowrap"},children:[(0,a.jsx)(eV.Z,{onClick:()=>x(e),children:(0,a.jsx)(iq.default,{})}),(0,a.jsx)(eV.Z,{onClick:()=>h(e),children:(0,a.jsx)(iQ.default,{})})]})]},e))})]})}),(0,a.jsx)(eZ.Z,{display:"flex",children:(0,a.jsx)(t.Z,{variant:"contained",startIcon:(0,a.jsx)(iH.default,{}),sx:{marginLeft:"auto"},onClick:()=>{l("create"),o({name:"NewDatasource",spec:d})},children:"Add Datasource"})})]})})})]})})}function nu(){let[e,i]=(0,u.useState)(!1),{getLocalDatasources:n,setLocalDatasources:r,getSavedDatasources:o,setSavedDatasources:c}=(0,j.useDatasourceStore)(),p=n(),h=o(),{dashboard:x,setDashboard:g}=no(),f=()=>{i(!1)};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(l.InfoTooltip,{description:s.editDatasources,children:(0,a.jsx)(t.Z,{startIcon:(0,a.jsx)(eT.default,{}),onClick:()=>{i(!0)},"aria-label":s.editDatasources,variant:"text",color:"primary",sx:d,children:"Datasources"})}),(0,a.jsx)(l.Drawer,{isOpen:e,onClose:f,PaperProps:{sx:{width:"50%"}},"data-testid":"datasource-editor",children:(0,a.jsx)(nc,{datasources:p,onCancel:f,onChange:e=>{let n=Object.keys(e).filter(i=>{let n="directUrl"in(e[i]?.plugin?.spec??{}),a=!n&&!("directUrl"in(h[i]?.plugin?.spec??{}))&&e[i]?.plugin?.spec?.proxy===h[i]?.plugin?.spec?.proxy;return n||a}).reduce((i,n)=>(i[n]=e[n],i),{});g((x.kind,{...x,spec:{...x.spec,datasources:e}})),c(n),r(e),i(!1)}})})]})}var np=n(40427);let nh=e=>{let{isReadonly:i}=e,{openEditJsonDialog:n}=ey(),t=i?s.viewJson:s.editJson;return(0,a.jsx)(l.InfoTooltip,{description:t,children:(0,a.jsx)(l.ToolbarIconButton,{"aria-label":t,variant:"outlined",onClick:()=>n(),children:(0,a.jsx)(np.default,{})})})},nx=({onSave:e,isDisabled:i,variant:n="contained"})=>{let[r,l]=(0,u.useState)(!1),{dashboard:s,setDashboard:o}=no(),{getSavedVariablesStatus:d,setVariableDefaultValues:c}=ik(),{isSavedVariableModified:p}=d(),{timeRange:h}=(0,j.useTimeRange)(),{setEditMode:x}=B(),{openSaveChangesConfirmationDialog:g,closeSaveChangesConfirmationDialog:f}=em(),m=async()=>{if(e)try{l(!0),await e(s),f(),x(!1)}catch(e){throw Error(`An error occurred while saving the dashboard. ${e}`)}finally{l(!1)}else x(!1)};return(0,a.jsx)(t.Z,{variant:n,onClick:()=>{let e=(0,b.isRelativeTimeRange)(h)&&s.spec.duration!==h.pastDuration;e||p?g({onSaveChanges:(e,i)=>{if((0,b.isRelativeTimeRange)(h)&&!0===e&&(s.spec.duration=h.pastDuration),!0===i){let e=c();s.spec.variables=e}o(s),m()},onCancel:()=>{f()},isSavedDurationModified:e,isSavedVariableModified:p}):m()},disabled:i||r,children:"Save"})};var ng=n(53620),nf=n(13098),nm=n(75186),nb=n(42402),nj=n(75651),nv=n(11774),ny=n(8695),nC=n(37809);function nD({name:e,source:i}){let n=iP(e,i),t=n.definition?.kind;switch(t){case"TextVariable":return(0,a.jsx)(nS,{name:e,source:i});case"ListVariable":return(0,a.jsx)(nk,{name:e,source:i})}return(0,a.jsxs)("div",{children:["Unsupported Variable Kind: $",t]})}function nw(e,i,n){let a=e?.allowMultiple===!0,t=e?.allowAllValue===!0,r=e?.sort,l=(0,u.useMemo)(()=>n.isFetching??!1,[n.isFetching]),s=(0,u.useMemo)(()=>n.data??[],[n.data]),o=i?.value;a&&!Array.isArray(o)&&(o="string"==typeof o?[o]:[]);let d=(0,u.useMemo)(()=>{let e=s?[...s]:[];if(!r||"none"===r)return e;switch(r){case"alphabetical-asc":return e.sort((e,i)=>e.label>i.label?1:-1);case"alphabetical-desc":return e.sort((e,i)=>e.label>i.label?-1:1);case"numerical-asc":return e.sort((e,i)=>parseInt(e.label)>parseInt(i.label)?1:-1);case"numerical-desc":return e.sort((e,i)=>parseInt(e.label)<parseInt(i.label)?1:-1);case"alphabetical-ci-asc":return e.sort((e,i)=>e.label.toLowerCase()>i.label.toLowerCase()?1:-1);case"alphabetical-ci-desc":return e.sort((e,i)=>e.label.toLowerCase()>i.label.toLowerCase()?-1:1);default:return e}},[s,r]),c=(0,u.useMemo)(()=>{let e=d;return t&&(e=[{value:b.DEFAULT_ALL_VALUE,label:"All"},...e]),e},[t,d]),p=(0,u.useMemo)(()=>!!c.find(e=>a?o.includes(e.value):o===e.value),[c,o,a]);o=(0,u.useMemo)(()=>{let e=c?.[+!!t]?.value;return!e||p&&o&&0!==o.length?o:a?[e]:e},[c,o,p,a,t]);let h=(0,u.useMemo)(()=>Array.isArray(o)?c.filter(e=>o?.includes(e.value)):c.find(e=>o===e.value)??{value:"",label:""},[o,c]);return{value:o,loading:l,options:s,selectedOptions:h,viewOptions:c}}let nZ=e=>(0,a.jsx)(nj.Z,{...e,sx:{minWidth:"fit-content"},placement:"bottom-start"}),nP=(e,i)=>{let n=(e.length+1)*8+40*("list"===i);return n<120?120:n>500?500:n};function nk({name:e,source:i}){let n=iP(e,i),t=n.definition,r=(0,j.useListVariablePluginValues)(t),{setVariableValue:l,setVariableLoading:s,setVariableOptions:o}=ik(),{selectedOptions:d,value:c,loading:p,options:h,viewOptions:x}=nw(t?.spec,n.state,r),[g,f]=(0,u.useState)(120),[m,v]=(0,u.useState)(""),y=t?.spec.display?.name??e,C=t?.spec.allowMultiple===!0,D=t?.spec.allowAllValue===!0;return(0,u.useEffect)(()=>{c&&l(e,c,i)},[l,e,c,i]),(0,u.useEffect)(()=>{s(e,p,i)},[s,e,p,i]),(0,u.useEffect)(()=>{h&&o(e,h,i)},[o,e,h,i]),(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(nv.Z,{disablePortal:!0,disableCloseOnSelect:C,multiple:C,fullWidth:!0,limitTags:3,size:"small",disableClearable:!0,slots:{popper:nZ},renderInput:e=>C?(0,a.jsx)(ny.Z,{...e,label:y,onChange:e=>v(e.target.value)}):(0,a.jsx)(ny.Z,{...e,label:y,style:{width:`${g}px`}}),sx:{"& .MuiInputBase-root":{minHeight:"38px"},"& .MuiAutocomplete-tag":{margin:"1px 2px"}},value:d,onChange:(n,a)=>{if((null===a||Array.isArray(a)&&0===a.length)&&D)l(e,b.DEFAULT_ALL_VALUE,i);else l(e,null===a?null:Array.isArray(a)?a.map(e=>e.value):a.value,i)},inputValue:C?m:void 0,onInputChange:(e,i)=>{C||f(nP(i,"list"))},onBlur:()=>{C&&v("")},options:x}),p&&(0,a.jsx)(nC.Z,{})]})}function nS({name:e,source:i}){let n=iP(e,i),t=n.state,r=n.definition,[l,s]=(0,u.useState)(t?.value??""),[o,d]=(0,u.useState)(nP(l,"text")),{setVariableValue:c}=ik();return(0,u.useEffect)(()=>{s(t?.value??"")},[t?.value]),(0,a.jsx)(ny.Z,{title:l,value:l,onChange:e=>{s(e.target.value),d(nP(e.target.value,"text"))},onBlur:()=>c(e,l,i),placeholder:e,label:r?.spec.display?.name??e,slotProps:{input:{readOnly:r?.spec.constant??!1}},sx:{width:`${o}px`,"& .MuiInputBase-root":{minHeight:"38px"},"& .MuiInputBase-input":{textOverflow:"ellipsis"}}})}function nE(){let e=iS(),i=iE();return(0,a.jsxs)(a.Fragment,{children:[i.slice().reverse().map(e=>e.definitions.map(i=>(0,a.jsx)(nV,{spec:i.spec,source:e.source},i.spec.name+e.source))),e.map(e=>(0,a.jsx)(nV,{spec:e.spec},e.spec.name))]})}function nV({spec:e,source:i}){let n=iP(e.name,i);return n.state?.overridden?null:(0,a.jsx)(eZ.Z,{display:e.display?.hidden?"none":void 0,minWidth:"120px",maxWidth:"500px",flexShrink:0,"data-testid":"variable-"+e.name,children:(0,a.jsx)(nD,{name:e.name,source:i},(e.name+i)??"")},(e.name+i)??"")}function nI(e){let[i,n]=(0,u.useState)(e.initialVariableIsSticky),t=(0,ng.Z)({disableHysteresis:!0})&&e.initialVariableIsSticky&&i,r=(0,na.Z)((0,ek.Z)().breakpoints.up("md"));return(0,a.jsx)(eZ.Z,{marginBottom:-1,"data-testid":"variable-list",children:(0,a.jsx)(nf.Z,{color:"inherit",position:t?"fixed":"static",elevation:4*!!t,sx:{backgroundColor:"inherit",...e.sx},children:(0,a.jsxs)(eZ.Z,{display:"flex",justifyContent:"space-between",sx:{flexDirection:r?"row":"column"},children:[(0,a.jsxs)(eZ.Z,{display:"flex",flexWrap:!t&&r?"wrap":"nowrap",maxWidth:t||!r?"100vw":"100%",maxHeight:"150px",pt:1,pl:+!!t,mt:t&&r?.5:0,ml:t&&r?.5:0,sx:{overflowX:!t&&r?"hidden":"auto",scrollbarWidth:"thin","&::-webkit-scrollbar":{height:"8px",backgroundColor:e=>e.palette.grey["300"]},"&::-webkit-scrollbar-thumb":{background:e=>e.palette.grey["600"]}},gap:1,children:[(0,a.jsx)(nE,{}),e.initialVariableIsSticky&&(0,a.jsx)(eV.Z,{style:{width:"fit-content",height:"fit-content"},onClick:()=>n(!i),children:i?(0,a.jsx)(nm.default,{}):(0,a.jsx)(nb.default,{})})]}),t&&(0,a.jsx)(eI.Z,{m:r?1.5:1,mt:1.5*!!r,ml:r?1.5:"auto",direction:"row",justifyContent:"end",children:(0,a.jsx)(j.TimeRangeControls,{})})]})})})}let nG=e=>{let{dashboardName:i,dashboardTitleComponent:n,initialVariableIsSticky:r,isReadonly:s,isVariableEnabled:o,isDatasourceEnabled:d,onEditButtonClick:c,onCancelButtonClick:u,onSave:p}=e,{isEditMode:h}=B(),x=(0,na.Z)((0,ek.Z)().breakpoints.up("sm")),g=(0,na.Z)((0,ek.Z)().breakpoints.up("md")),f=n||(0,a.jsx)(eE.Z,{variant:"h2",children:i});return(0,a.jsx)(a.Fragment,{children:(0,a.jsxs)(eI.Z,{"data-testid":"dashboard-toolbar",children:[(0,a.jsxs)(eZ.Z,{px:2,py:1.5,display:"flex",sx:{backgroundColor:e=>e.palette.primary.main+(h?"30":"0")},children:[f,h?(0,a.jsxs)(eI.Z,{direction:"row",gap:1,ml:"auto",children:[s&&(0,a.jsx)(iT.Z,{severity:"warning",sx:{backgroundColor:"transparent",padding:0},children:"Dashboard managed via code only. Download JSON and commit changes to save."}),(0,a.jsxs)(eI.Z,{direction:"row",spacing:.5,ml:1,whiteSpace:"nowrap",children:[o&&(0,a.jsx)(i3,{}),d&&(0,a.jsx)(nu,{}),(0,a.jsx)(ew,{}),(0,a.jsx)(eC,{})]}),(0,a.jsx)(nx,{onSave:p,isDisabled:s}),(0,a.jsx)(t.Z,{variant:"outlined",onClick:u,children:"Cancel"})]}):(0,a.jsx)(a.Fragment,{children:x&&(0,a.jsx)(eI.Z,{direction:"row",gap:1,ml:"auto",children:(0,a.jsx)(i7,{onClick:c})})})]}),(0,a.jsxs)(eZ.Z,{sx:{display:"flex",width:"100%",alignItems:"start",padding:e=>e.spacing(1,2,0,2),flexDirection:g?"row":"column",flexWrap:"nowrap",gap:1},children:[(0,a.jsx)(eZ.Z,{width:"100%",children:(0,a.jsx)(l.ErrorBoundary,{FallbackComponent:l.ErrorAlert,children:(0,a.jsx)(nI,{initialVariableIsSticky:r,sx:{backgroundColor:({palette:e})=>e.background.default}})})}),(0,a.jsx)(eI.Z,{direction:"row",ml:"auto",flexWrap:"wrap",justifyContent:"end",children:(0,a.jsxs)(eI.Z,{direction:"row",spacing:1,mt:1,ml:1,children:[(0,a.jsx)(j.TimeRangeControls,{}),(0,a.jsx)(nd,{}),(0,a.jsx)(nh,{isReadonly:!h})]})})]})]})})},nA=()=>{let{deletePanelDialog:e,closeDeletePanelDialog:i}=ed();return(0,a.jsxs)(l.Dialog,{open:void 0!==e,children:[(0,a.jsx)(l.Dialog.Header,{onClose:()=>i(),children:"Delete Panel"}),e&&(0,a.jsx)(nT,{deletePanelDialog:e})]})},nT=({deletePanelDialog:e})=>{let{deletePanel:i,closeDeletePanelDialog:n}=ed(),{setViewPanel:t}=eh();return(0,a.jsxs)("form",{onSubmit:a=>{a.preventDefault();let{panelGroupItemId:r}=e;i(r),n(),t(void 0)},children:[(0,a.jsxs)(l.Dialog.Content,{children:["Are you sure you want to delete ",e.panelName," from ",e.panelGroupName,"? This action cannot be undone."]}),(0,a.jsxs)(l.Dialog.Actions,{children:[(0,a.jsx)(l.Dialog.PrimaryButton,{children:"Delete"}),(0,a.jsx)(l.Dialog.SecondaryButton,{onClick:()=>n(),children:"Cancel"})]})]})};var nL=n(56873),nO=n(51602),nz=n(19978),nR=n(70616),nM=n(10763);let n$=()=>{let{deletePanelGroupDialog:e,closeDeletePanelGroupDialog:i,deletePanelGroup:n}=en(),{setViewPanel:r}=eh(),l=e?.panelGroupId;return(0,a.jsxs)(nL.Z,{open:void 0!==e,children:[(0,a.jsx)(nO.Z,{children:"Delete Panel Group"}),(0,a.jsx)(eV.Z,{"aria-label":"Close",onClick:()=>i(),sx:e=>({position:"absolute",top:e.spacing(.5),right:e.spacing(.5)}),children:(0,a.jsx)(nM.default,{})}),(0,a.jsxs)("form",{onSubmit:e=>{if(e.preventDefault(),void 0===l)throw Error("group index is undefined");n(l),i(),r(void 0)},children:[(0,a.jsxs)(nz.Z,{dividers:!0,sx:{width:"500px"},children:["Are you sure you want to delete ",e?.panelGroupName??"panel group","? This will delete all the panels within the group."]}),(0,a.jsxs)(nR.Z,{children:[(0,a.jsx)(t.Z,{variant:"contained",type:"submit",children:"Delete"}),(0,a.jsx)(t.Z,{variant:"outlined",color:"secondary",onClick:()=>i(),children:"Cancel"})]})]})]})},nB=()=>{let{discardChangesConfirmationDialog:e}=ej();return void 0===e?null:(0,a.jsx)(l.DiscardChangesConfirmationDialog,{description:e.description||"You have unsaved changes in this dashboard. Are you sure you want to discard these changes? Changes cannot be recovered.",isOpen:!0,onCancel:e.onCancel,onDiscardChanges:e.onDiscardChanges})};var n_=n(90192);let nF=e=>{let{isReadonly:i,disableMetadataEdition:n}=e,{editJsonDialog:t,closeEditJsonDialog:r}=ey();return(0,a.jsxs)(l.Dialog,{open:!!t?.isOpen,scroll:"paper",fullWidth:!0,maxWidth:"lg",children:[(0,a.jsxs)(l.Dialog.Header,{onClose:()=>r(),children:[!i&&"Edit "," Dashboard JSON"]}),t?.isOpen&&(0,a.jsx)(nN,{isReadonly:i,disableMetadataEdition:n})]})},nN=e=>{let{isReadonly:i,disableMetadataEdition:n}=e,{closeEditJsonDialog:t}=ey(),{setTimeRange:r,setRefreshInterval:s}=(0,j.useTimeRange)(),{dashboard:o,setDashboard:d}=no(),{setLocalDatasources:c}=(0,j.useDatasourceStore)(),[p,h]=(0,u.useState)(o),x=e=>{e.preventDefault(),d(p),r({pastDuration:p.spec.duration}),s(p.spec.refreshInterval??"0s"),c(p.spec.datasources??{}),t()},g=e=>{try{let i=JSON.parse(e??"{}");h(i)}catch(e){}};return(0,a.jsxs)(l.Dialog.Form,{onSubmit:x,children:[(0,a.jsxs)(l.Dialog.Content,{sx:{width:"100%"},children:[n&&!i&&(0,a.jsx)(iT.Z,{sx:{marginBottom:e=>e.spacing(1)},severity:"warning",children:"Metadata cannot be modified or saved."}),"EphemeralDashboard"===p.kind&&(0,a.jsx)(iT.Z,{sx:{marginBottom:1},severity:"warning",children:"Time-to-live cannot be modified or saved from here. Go to the project view to modify it."}),(0,a.jsx)(n_.Z,{fullWidth:!0,children:(0,a.jsx)(l.JSONEditor,{minHeight:"300px",maxHeight:"70vh",value:p,onChange:e=>g(e),readOnly:i})})]}),!i&&(0,a.jsx)(l.Dialog.Actions,{children:(0,a.jsx)(l.Dialog.PrimaryButton,{onClick:x,children:"Apply"})})]})};var nW=n(38359),nU=n(64293),nH=n(494);function nJ({panelDefinition:e}){let i=(0,u.useRef)(null),n=840;null!==i.current&&(n=i.current.getBoundingClientRect().width);let t=(0,j.useSuggestedStepMs)(n),{data:r,isPending:l}=(0,j.usePlugin)("Panel",e.spec.plugin.kind);if(l||""===e.spec.plugin.kind)return null;let s=e.spec.queries??[],o=s.length?s.map(e=>({kind:e.spec.plugin.kind,spec:e.spec.plugin.spec})):[];return(0,a.jsx)(eZ.Z,{ref:i,height:300,children:(0,a.jsx)(j.DataQueriesProvider,{definitions:o,options:{suggestedStepMs:t,...r?.queryOptions},children:(0,a.jsx)(io,{definition:e})})})}let nq=e=>{let{display:i,plugin:n,queries:a,links:t}=e.spec,[r,l]=(0,u.useState)(i.name),[s,o]=(0,u.useState)(i.description),[d,c]=(0,u.useState)(t),[p,h]=(0,u.useState)(n),[x,g]=(0,u.useState)(a),[f,m]=(0,u.useState)(a),b=(0,u.useCallback)((e,i)=>{i?(g(f),m(void 0)):m(void 0===e?x:e)},[m,f,g,x]),j=(0,u.useCallback)(e=>{let{display:i,plugin:n,queries:a,links:t}=e.spec;l(i.name),o(i.description),c(t),h(n),b(a)},[l,o,c,h,b]);return(0,u.useMemo)(()=>({panelDefinition:{kind:"Panel",spec:{display:{name:r,description:s},plugin:p,queries:f,links:d}},setName:l,setDescription:o,setLinks:c,setQueries:b,setPlugin:h,setPanelDefinition:j}),[r,s,d,p,f,b,j])};function nQ(e){let{initialValues:i,initialAction:n,onSave:r,onClose:s}=e,o=H(),{panelDefinition:d,setName:c,setDescription:p,setLinks:h,setQueries:x,setPlugin:g,setPanelDefinition:f}=nq(i.panelDefinition),{plugin:m}=d.spec,[b,v]=(0,u.useState)(!1),{panelEditorSchema:y}=(0,j.useValidationSchemas)(),C=(0,nU.useForm)({resolver:(0,nH.F)(y),mode:"onBlur",defaultValues:i}),D=(0,j.usePluginEditor)({pluginTypes:["Panel"],value:{selection:{kind:m.kind,type:"Panel"},spec:m.spec},onChange:e=>{C.setValue("panelDefinition.spec.plugin",{kind:e.selection.kind,spec:e.spec}),g({kind:e.selection.kind,spec:e.spec})},onHideQueryEditorChange:e=>{x(void 0,e)}}),w=(0,j.getTitleAction)(n,!0),Z=(0,j.getSubmitText)(n,!0),P=(0,nU.useWatch)({control:C.control,name:"panelDefinition.spec.links"});(0,u.useEffect)(()=>{h(P)},[h,P]);let k=(0,nU.useWatch)({control:C.control,name:"panelDefinition.spec.display.name"}),S=(0,nU.useWatch)({control:C.control,name:"panelDefinition.spec.display.description"}),E=(0,nU.useWatch)({control:C.control,name:"panelDefinition.spec.plugin.kind"});return(0,a.jsxs)(nU.FormProvider,{...C,children:[(0,a.jsxs)(eZ.Z,{sx:{display:"flex",alignItems:"center",padding:e=>e.spacing(1,2),borderBottom:e=>`1px solid ${e.palette.divider}`},children:[(0,a.jsxs)(eE.Z,{variant:"h2",children:[w," Panel"]}),(0,a.jsxs)(eI.Z,{direction:"row",spacing:1,marginLeft:"auto",children:[(0,a.jsx)(t.Z,{variant:"contained",disabled:!C.formState.isValid,onClick:C.handleSubmit(e=>{r(e)}),children:Z}),(0,a.jsx)(t.Z,{color:"secondary",variant:"outlined",onClick:function(){JSON.stringify(i)!==JSON.stringify(C.getValues())?v(!0):s()},children:"Cancel"})]})]}),(0,a.jsx)(eZ.Z,{id:nK,sx:{flex:1,overflowY:"scroll",padding:e=>e.spacing(2)},children:(0,a.jsxs)(nW.ZP,{container:!0,spacing:2,children:[(0,a.jsx)(nW.ZP,{item:!0,xs:8,children:(0,a.jsx)(nU.Controller,{control:C.control,name:"panelDefinition.spec.display.name",render:({field:e,fieldState:i})=>(0,a.jsx)(ny.Z,{...e,required:!0,fullWidth:!0,label:"Name",error:!!i.error,helperText:i.error?.message,value:k??"",onChange:i=>{e.onChange(i),c(i.target.value)}})})}),(0,a.jsx)(nW.ZP,{item:!0,xs:4,children:(0,a.jsx)(nU.Controller,{control:C.control,name:"groupId",render:({field:e,fieldState:i})=>(0,a.jsx)(ny.Z,{select:!0,...e,required:!0,fullWidth:!0,label:"Group",error:!!i.error,helperText:i.error?.message,onChange:i=>{e.onChange(i)},children:o.map((e,i)=>(0,a.jsx)(e7.Z,{value:e.id,children:e.title??`Group ${i+1}`},e.id))})})}),(0,a.jsx)(nW.ZP,{item:!0,xs:8,children:(0,a.jsx)(nU.Controller,{control:C.control,name:"panelDefinition.spec.display.description",render:({field:e,fieldState:i})=>(0,a.jsx)(ny.Z,{...e,fullWidth:!0,label:"Description",error:!!i.error,helperText:i.error?.message,value:S??"",onChange:i=>{e.onChange(i),p(i.target.value)}})})}),(0,a.jsx)(nW.ZP,{item:!0,xs:4,children:(0,a.jsx)(nU.Controller,{control:C.control,name:"panelDefinition.spec.plugin.kind",render:({field:e,fieldState:i})=>(0,a.jsx)(j.PluginKindSelect,{...e,pluginTypes:["Panel"],required:!0,fullWidth:!0,label:"Type",disabled:D.isLoading,error:!!D.error||!!i.error,helperText:D.error?.message??i.error?.message,value:{type:"Panel",kind:E},onChange:i=>{e.onChange(i.kind),D.onSelectionChange(i)}})})}),(0,a.jsxs)(nW.ZP,{item:!0,xs:12,children:[(0,a.jsx)(eE.Z,{variant:"h4",marginBottom:1,children:"Preview"}),(0,a.jsx)(l.ErrorBoundary,{FallbackComponent:l.ErrorAlert,children:(0,a.jsx)(nJ,{panelDefinition:d})})]}),(0,a.jsx)(nW.ZP,{item:!0,xs:12,children:(0,a.jsx)(l.ErrorBoundary,{FallbackComponent:l.ErrorAlert,children:(0,a.jsx)(j.PanelSpecEditor,{control:C.control,panelDefinition:d,onJSONChange:e=>{let i=JSON.parse(e),{kind:n,spec:a}=i.spec.plugin;d.spec.plugin.kind!==n&&JSON.stringify(d.spec.plugin.spec)!==JSON.stringify(a)&&D.rememberCurrentSpecState(),f(i)},onQueriesChange:e=>{x(e)},onPluginSpecChange:e=>{D.onSpecChange(e)}})})})]})}),(0,a.jsx)(l.DiscardChangesConfirmationDialog,{description:"You have unapplied changes in this panel. Are you sure you want to discard these changes? Changes cannot be recovered.",isOpen:b,onCancel:()=>{v(!1)},onDiscardChanges:()=>{v(!1),s()}})]})}let nK="panel-editor-form",nY=()=>{let e=es(),[i,n]=(0,u.useState)(!1),t=void 0!==e&&!1===i;return(0,a.jsx)(l.Drawer,{isOpen:t,onClose:()=>{},SlideProps:{onExited:()=>{e?.close(),n(!1)}},"data-testid":"panel-editor",children:e&&(0,a.jsx)(l.ErrorBoundary,{FallbackComponent:l.ErrorAlert,children:(0,a.jsx)(nQ,{initialAction:e.mode,initialValues:e.initialValues,onSave:function(i){if(void 0===e||void 0===i)throw Error("Cannot apply changes");e.applyChanges(i),n(!0)},onClose:()=>{n(!0)}})})})};var nX=n(68808),n0=n(63767);function n1(e){let{initialValues:i,onSubmit:n}=e,[t,r]=(0,u.useState)(i.title),[l,s]=(0,u.useState)(i.isCollapsed);return(0,a.jsxs)("form",{id:n2,onSubmit:e=>{e.preventDefault(),n({title:t,isCollapsed:l})},children:[(0,a.jsx)(n_.Z,{fullWidth:!0,margin:"normal",children:(0,a.jsx)(ny.Z,{required:!0,label:"Name",variant:"outlined",value:t,onChange:e=>r(e.target.value)})}),(0,a.jsxs)(n_.Z,{fullWidth:!0,margin:"normal",children:[(0,a.jsx)(nX.Z,{id:"select-collapse-state",children:"Collapse State"}),(0,a.jsxs)(n0.Z,{required:!0,displayEmpty:!0,labelId:"select-collapse-state",label:"Collapse State",size:"small",value:l?"Closed":"Open",onChange:e=>{s("Closed"===e.target.value)},children:[(0,a.jsx)(e7.Z,{value:"Open",children:"Open"}),(0,a.jsx)(e7.Z,{value:"Closed",children:"Closed"})]})]})]})}let n2="panel-group-editor-form";function n5(){let e=ee(),[i,n]=(0,u.useState)(!1),r=()=>n(!0),l=void 0!==e&&!1===i;return(0,a.jsx)(nL.Z,{open:l,TransitionProps:{onExited:()=>{e?.close(),n(!1)}},children:void 0!==e&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(nO.Z,{children:[e.mode," Panel Group"]}),(0,a.jsx)(eV.Z,{"aria-label":"Close",onClick:e.close,sx:e=>({position:"absolute",top:e.spacing(.5),right:e.spacing(.5)}),children:(0,a.jsx)(nM.default,{})}),(0,a.jsx)(nz.Z,{dividers:!0,sx:{width:"500px"},children:(0,a.jsx)(n1,{initialValues:e.initialValues,onSubmit:i=>{if(void 0===e)throw Error("Cannot apply changes");e.applyChanges(i),r()}})}),(0,a.jsxs)(nR.Z,{children:[(0,a.jsx)(t.Z,{variant:"contained",type:"submit",form:n2,children:"Edit"===e.mode?"Apply":"Add"}),(0,a.jsx)(t.Z,{variant:"outlined",color:"secondary",onClick:e.close,children:"Cancel"})]})]})})}var n4=n(28866),n3=n(53034);function n7(e){let{showTotalQueries:i=!0}=e,n=(0,j.useDatasourceClient)({kind:"PrometheusDatasource"}),{absoluteTimeRange:r}=(0,j.useTimeRange)(),l=(0,n3.useQueryClient)().getQueryCache().findAll(),s=l.filter(e=>"pending"===e.state.status),o=l.filter(e=>"success"===e.state.status),d=(0,j.useActiveTimeSeriesQueries)();if(!0===n.isLoading)return null;let c=[];return d.forEach(e=>{let i=e.state.data;if(i&&i.metadata?.notices){let n=e.queryKey,a=i.metadata.notices[0]?.message;a&&c.push({query:String(n[0].spec.plugin.spec.query),summary:a})}}),(0,a.jsxs)(eI.Z,{spacing:1,mb:2,sx:{maxWidth:1e3},children:[(0,a.jsxs)(eZ.Z,{sx:{p:1},children:[(0,a.jsx)(eE.Z,{variant:"h2",mb:1,children:"Query Summary"}),(0,a.jsx)(iL.Z,{component:n4.Z,children:(0,a.jsxs)(iO.Z,{size:"small","aria-label":"query summary table",children:[(0,a.jsx)(iz.Z,{children:(0,a.jsxs)(iR.Z,{children:[(0,a.jsx)(iU.Z,{children:"Queries Loading"}),(0,a.jsx)(iU.Z,{children:"Recent Time Series Queries"}),i&&(0,a.jsx)(iU.Z,{children:"Total Queries"}),(0,a.jsx)(iU.Z,{children:"Start Time"}),(0,a.jsx)(iU.Z,{children:"End Time"})]})}),(0,a.jsx)(iM.Z,{children:(0,a.jsxs)(iR.Z,{children:[(0,a.jsx)(iU.Z,{children:s.length}),(0,a.jsx)(iU.Z,{children:d.length}),i&&(0,a.jsx)(iU.Z,{children:o.length}),(0,a.jsx)(iU.Z,{children:r.start.toString()}),(0,a.jsx)(iU.Z,{children:r.end.toString()})]})})]})})]}),c.length>0&&(0,a.jsxs)(eZ.Z,{sx:{p:1,m:0},children:[(0,a.jsx)(eE.Z,{variant:"h3",mb:1,children:"Warnings"}),(0,a.jsx)(iL.Z,{component:n4.Z,sx:{mb:2},children:(0,a.jsxs)(iO.Z,{size:"small","aria-label":"query warnings table",children:[(0,a.jsx)(iz.Z,{children:(0,a.jsxs)(iR.Z,{children:[(0,a.jsx)(iU.Z,{children:"Query"}),(0,a.jsx)(iU.Z,{children:"Summary"})]})}),(0,a.jsx)(iM.Z,{children:c.map((e,i)=>(0,a.jsxs)(iR.Z,{children:[(0,a.jsx)(iU.Z,{children:e.query}),(0,a.jsx)(iU.Z,{children:e.summary})]},i))})]})}),(0,a.jsx)(t.Z,{disabled:!0,variant:"outlined",children:"TODO: Action Button"})]})]})}var n8=n(85843),n6=n(28797),n9=n(82707);let ae=()=>{let{saveChangesConfirmationDialog:e}=em(),i=e?.isSavedDurationModified??!0,n=e?.isSavedVariableModified??!0,[t,r]=(0,u.useState)(i),[s,o]=(0,u.useState)(n),{getSavedVariablesStatus:d}=ik(),{modifiedVariableNames:c}=d(),p=void 0!==e,{timeRange:h}=(0,j.useTimeRange)(),x=(0,b.isRelativeTimeRange)(h)?`(Last ${h.pastDuration})`:"(Absolute time ranges can not be saved)",g=`Save current time range as new default ${x}`,f=`Save current variable values as new default (${c.length>0?c.join(", "):"No modified variables"})`;return(0,a.jsx)(l.Dialog,{open:p,children:void 0!==e&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(l.Dialog.Header,{onClose:()=>e.onCancel(),children:"Save Dashboard"}),(0,a.jsxs)(l.Dialog.Content,{children:[(0,a.jsx)(eE.Z,{marginBottom:2,children:e.description||b.SAVE_DEFAULTS_DIALOG_TEXT}),(0,a.jsxs)(n8.Z,{children:[(0,a.jsx)(n6.Z,{control:(0,a.jsx)(n9.Z,{disabled:!i||!(0,b.isRelativeTimeRange)(h),checked:t&&i&&(0,b.isRelativeTimeRange)(h),onChange:e=>r(e.target.checked)}),label:g}),(0,a.jsx)(n6.Z,{control:(0,a.jsx)(n9.Z,{disabled:!n,checked:s&&n,onChange:e=>o(e.target.checked)}),label:f})]})]}),(0,a.jsxs)(l.Dialog.Actions,{children:[(0,a.jsx)(l.Dialog.PrimaryButton,{onClick:()=>e.onSaveChanges(t,s),children:"Save Changes"}),(0,a.jsx)(l.Dialog.SecondaryButton,{onClick:()=>e.onCancel(),children:"Cancel"})]})]})})};function ai(e){let{projectName:i,datasourceApi:n,onCreate:t,children:r}=e,[l,s]=(0,u.useState)(e.dashboardResource),[o,d]=(0,u.useState)(e.savedDatasources??{}),c=i??l?.metadata.project,{getPlugin:p,listPluginMetadata:h}=(0,j.usePluginRegistry)(),x=(0,b.useEvent)(async e=>{if(l){let{datasources:i}=l.spec,a=function(e,i){if(void 0===e)return;if(void 0!==i.name){let n=e[i.name];if(void 0===n)return;return n.plugin.kind===i.kind?{name:i.name,spec:n}:void 0}let n=Object.entries(e).find(e=>e[1].plugin.kind===i.kind&&e[1].default);if(n)return{name:n[0],spec:n[1]}}(i,e);if(void 0!==a)return{spec:a.spec,proxyUrl:an(n,{project:l.metadata.project,dashboard:l.metadata.name,name:a.name})}}if(c){let i=await n.getDatasource(c,e);if(void 0!==i)return{spec:i.spec,proxyUrl:an(n,{project:i.metadata.project,name:i.metadata.name})}}let i=await n.getGlobalDatasource(e);if(void 0!==i)return{spec:i.spec,proxyUrl:an(n,{name:i.metadata.name})};throw Error(`No datasource found for kind '${e.kind}' and name '${e.name}'`)}),g=(0,u.useCallback)(async e=>{let{spec:i}=await x(e);return i},[x]),f=(0,u.useCallback)(async function(e){let{kind:i}=e,[{spec:n,proxyUrl:a},r]=await Promise.all([x(e),p("Datasource",i)]),l=r.createClient(n.plugin.spec,{proxyUrl:a});return void 0!==t?t(l):l},[x,p,t]),m=(0,b.useEvent)(async e=>{let[i,a,t]=await Promise.all([h(["Datasource"]),c?n.listDatasources(c,e):[],n.listGlobalDatasources(e)]),r=i.find(i=>i.spec.name===e);if(void 0===r)throw Error(`Could not find a Datasource plugin with kind '${e}'`);let{results:s,addItem:d}=function(e){let i=[],n=new Set,a=!0,t=!1,r={},l=1;return{results:i,addItem:({spec:s,selectorName:o,selectorGroup:d,editLink:c,saved:u})=>{d=d??"",a&&i.push({group:`Default ${e}`,items:[]});let p=i[r[d]??-1];!p&&(r[d]=l,p={items:[],group:d,editLink:c},i[l]=p,l++);let h=n.has(o);p.items.push({name:s.display?.name??o,overridden:h,saved:u,selector:{kind:s.plugin.kind,name:o,group:d}}),n.add(o);let x=!h&&s.default&&!t;if(i[0]&&(a||x)&&(i[0].items=[{name:`Default (${o} from ${d})`,selector:{kind:s.plugin.kind}}],t=x),h)for(let e=+!!t;e<l;e++)(i[e]?.items??[]).filter(e=>e.selector.name===o).forEach(e=>{e.overriding=!0});a=!1}}}(r.spec.display.name);if(l?.spec.datasources)for(let i in l.spec.datasources){let n=l.spec.datasources[i];if(void 0===n||n.plugin.kind!==e)continue;let a=i in o;d({spec:n,selectorName:i,selectorGroup:"dashboard",saved:a})}for(let e of a){let i=e.metadata.name;d({spec:e.spec,selectorName:i,selectorGroup:"project",editLink:`/projects/${c}/datasources`})}for(let e of t){let i=e.metadata.name;d({spec:e.spec,selectorName:i,selectorGroup:"global",editLink:"/admin/datasources"})}return s}),v=(0,u.useCallback)(()=>l?.spec.datasources??{},[l]),y=(0,u.useCallback)(()=>o,[o]),C=(0,u.useCallback)(e=>{l&&s((l.kind,{...l,spec:{...l.spec,datasources:e}}))},[l]),D=(0,u.useMemo)(()=>({getDatasource:g,getDatasourceClient:f,getLocalDatasources:v,setLocalDatasources:C,setSavedDatasources:d,getSavedDatasources:y,listDatasourceSelectItems:m}),[g,f,v,C,m,d,y]);return(0,a.jsx)(j.DatasourceStoreContext.Provider,{value:D,children:r})}function an(e,i){return e.buildProxyUrl?e.buildProxyUrl(i):""}function aa({children:e,initialState:i}){let[n,t]=(0,iv.useQueryParam)("viewPanelRef",iv.StringParam);return(0,a.jsx)(R,{initialState:{viewPanelRef:n??void 0,setViewPanelRef:t,...i},children:e})}let at=e=>{let{dashboardResource:i,dashboardTitleComponent:n,emptyDashboardProps:t,onSave:r,onDiscard:s,initialVariableIsSticky:o,isReadonly:d,isVariableEnabled:c,isDatasourceEnabled:p,isCreating:h}=e,x=(0,l.useChartsTheme)(),{isEditMode:g,setEditMode:f}=B(),{dashboard:m,setDashboard:b}=no(),[v,y]=(0,u.useState)(void 0),{setSavedDatasources:C}=(0,j.useDatasourceStore)(),{openDiscardChangesConfirmationDialog:D,closeDiscardChangesConfirmationDialog:w}=ej(),Z=()=>{v&&b(v),f(!1),w(),s&&s(m)},P=()=>{f(!0),y(m),C(m.spec.datasources??{})};return(0,a.jsxs)(eZ.Z,{sx:{flexGrow:1,overflowX:"hidden",overflowY:"auto",display:"flex",flexDirection:"column"},children:[(0,a.jsx)(nG,{dashboardName:i.metadata.name,dashboardTitleComponent:n,initialVariableIsSticky:o,onSave:r,isReadonly:d,isVariableEnabled:c,isDatasourceEnabled:p,onEditButtonClick:P,onCancelButtonClick:()=>{JSON.stringify(m)===JSON.stringify(v)?f(!1):D({onDiscardChanges:()=>{Z()},onCancel:()=>{w()}})}}),(0,a.jsxs)(eZ.Z,{sx:{paddingTop:2,paddingX:2,height:"100%"},children:[(0,a.jsx)(l.ErrorBoundary,{FallbackComponent:l.ErrorAlert,children:(0,a.jsx)(nn,{emptyDashboardProps:{onEditButtonClick:P,...t}})}),(0,a.jsx)(l.ChartsProvider,{chartsTheme:x,enablePinning:!1,children:(0,a.jsx)(nY,{})}),(0,a.jsx)(n5,{}),(0,a.jsx)(n$,{}),(0,a.jsx)(nA,{}),(0,a.jsx)(nB,{}),(0,a.jsx)(nF,{isReadonly:!g,disableMetadataEdition:!h}),(0,a.jsx)(ae,{})]})]})};function ar(e){let{dashboardResource:i,datasourceApi:n,externalVariableDefinitions:t,dashboardTitleComponent:r,emptyDashboardProps:s,onSave:o,onDiscard:d,initialVariableIsSticky:c,isReadonly:p,isVariableEnabled:h,isDatasourceEnabled:x,isEditing:g,isCreating:f,sx:m,...v}=e,{spec:y}=i,C=y.duration??b.DEFAULT_DASHBOARD_DURATION,D=y.refreshInterval??b.DEFAULT_REFRESH_INTERVAL,w=(0,j.useInitialTimeRange)(C),Z=(0,j.useInitialRefreshInterval)(D),{data:P}=(0,j.usePluginBuiltinVariableDefinitions)(),k=(0,u.useMemo)(()=>{let e=[{kind:"BuiltinVariable",spec:{name:"__dashboard",value:()=>i.metadata.name,source:"Dashboard",display:{name:"__dashboard",description:"The name of the current dashboard",hidden:!0}}},{kind:"BuiltinVariable",spec:{name:"__project",value:()=>i.metadata.project,source:"Dashboard",display:{name:"__project",description:"The name of the current dashboard project",hidden:!0}}}];return P&&P.forEach(i=>e.push(i)),e},[i.metadata.name,i.metadata.project,P]);return(0,a.jsx)(ai,{dashboardResource:i,datasourceApi:n,children:(0,a.jsx)(aa,{initialState:{dashboardResource:i,isEditMode:!!g},children:(0,a.jsx)(j.TimeRangeProviderWithQueryParams,{initialTimeRange:w,initialRefreshInterval:Z,children:(0,a.jsx)(iA,{initialVariableDefinitions:y.variables,externalVariableDefinitions:t,builtinVariableDefinitions:k,children:(0,a.jsx)(eZ.Z,{sx:(0,l.combineSx)({display:"flex",width:"100%",height:"100%",position:"relative",overflow:"hidden"},m),...v,children:(0,a.jsx)(l.ErrorBoundary,{FallbackComponent:l.ErrorAlert,children:(0,a.jsx)(at,{dashboardResource:i,dashboardTitleComponent:r,emptyDashboardProps:s,onSave:o,onDiscard:d,initialVariableIsSticky:c,isReadonly:p,isVariableEnabled:h,isDatasourceEnabled:x,isCreating:f})})})})})})})}}}]);
|