(self.webpackChunkgrafana=self.webpackChunkgrafana||[]).push([[6263],{71508:ee=>{function y(s){var c,f,g="";if(typeof s=="string"||typeof s=="number")g+=s;else if(typeof s=="object")if(Array.isArray(s))for(c=0;c<s.length;c++)s[c]&&(f=y(s[c]))&&(g&&(g+=" "),g+=f);else for(c in s)s[c]&&(g&&(g+=" "),g+=c);return g}function r(){for(var s,c,f=0,g="";f<arguments.length;)(s=arguments[f++])&&(c=y(s))&&(g&&(g+=" "),g+=c);return g}ee.exports=r,ee.exports.clsx=r},59757:(ee,y,r)=>{"use strict";r.d(y,{y:()=>m});var s=r(32196),c=r(96540),f=r(42418),g=r(94954),N=r(31678);const m=({initError:T})=>T?c.createElement("div",{className:M.dashboardLoading},c.createElement(f.F,{severity:N.AppNotificationSeverity.Error,title:T.message},(0,g.q)(T.error))):null,M={dashboardLoading:(0,s.css)`
    height: 60vh;
    display: flex;
    align-items: center;
    justify-content: center;
  `}},9980:(ee,y,r)=>{"use strict";r.d(y,{P:()=>T});var s=r(32196),c=r(96540),f=r(12131),g=r(40845),N=r(66864),m=r(62930),M=r(55852);const T=({initPhase:W})=>{const R=(0,g.of)(A),j=()=>{f.Ny.push("/")};return c.createElement("div",{className:R.dashboardLoading},c.createElement("div",{className:R.dashboardLoadingText},c.createElement(N.gW,{spacing:"md"},c.createElement(N.Gy,{align:"center",justify:"center",spacing:"xs"},c.createElement(m.y,{inline:!0})," ",W)," ",c.createElement(N.Gy,{align:"center",justify:"center"},c.createElement(M.$n,{variant:"secondary",size:"md",icon:"repeat",onClick:j},"Cancel loading dashboard")))))},A=W=>{const R="0.5s",j=(0,s.keyframes)`
    0% { opacity: 0%; }
    100% { opacity: 100%; }
  `;return{dashboardLoading:(0,s.css)`
      height: 60vh;
      display: flex;
      opacity: 0%;
      align-items: center;
      justify-content: center;
      animation: ${j} 0s step-end ${R} 1 normal forwards;
    `,dashboardLoadingText:(0,s.css)`
      font-size: ${W.typography.h4.fontSize};
    `}}},2118:(ee,y,r)=>{"use strict";r.d(y,{N:()=>K});var s=r(46942),c=r.n(s),f=r(96540),g=r(66816),N=r.n(g),m=r(64423),M=r(32264),T=r(28138),A=r(15054),W=r(16233),R=r(80484),j=r(28444),X=r(32196),z=r(84140),l=r(40845),u=r(29158),d=r(44836),n=r(16678);const a=({panel:O,dashboard:w})=>{const v=t=>{t.preventDefault(),w.removePanel(O)},E=t=>{const{gridPos:i}=O,h={...t.model,gridPos:i,libraryPanel:t};w.addPanel(h),w.removePanel(O)},e=(0,l.of)(o);return f.createElement("div",{className:e.wrapper},f.createElement("div",{className:(0,X.cx)("panel-container",e.callToAction)},f.createElement("div",{className:(0,X.cx)(e.headerRow,"grid-drag-handle")},f.createElement("span",null,f.createElement(d.x6,{i18nKey:"library-panel.add-widget.title"},"Add panel from panel library")),f.createElement("div",{className:"flex-grow-1"}),f.createElement(u.K,{"aria-label":"Close 'Add Panel' widget",name:"times",onClick:v,tooltip:"Close widget"})),f.createElement(n.j,{onClick:E,variant:n.s.Tight,showPanelFilter:!0})))},o=O=>{const w=(0,X.keyframes)({"0%":{boxShadow:`0 0 0 2px ${O.colors.background.canvas}, 0 0 0px 4px ${O.colors.primary.main}`},"50%":{boxShadow:`0 0 0 2px ${O.components.dashboard.background}, 0 0 0px 4px ${(0,z.A)(O.colors.primary.main).darken(20).toHexString()}`},"100%":{boxShadow:`0 0 0 2px ${O.components.dashboard.background}, 0 0 0px 4px  ${O.colors.primary.main}`}});return{wrapper:(0,X.css)({height:"100%",paddingTop:`${O.spacing(.5)}`}),headerRow:(0,X.css)({display:"flex",alignItems:"center",height:"38px",flexShrink:0,width:"100%",fontSize:O.typography.fontSize,fontWeight:O.typography.fontWeightMedium,paddingLeft:`${O.spacing(1)}`,transition:"background-color 0.1s ease-in-out",cursor:"move","&:hover":{background:`${O.colors.background.secondary}`}}),callToAction:(0,X.css)({overflow:"hidden",outline:"2px dotted transparent",outlineOffset:"2px",boxShadow:"0 0 0 2px black, 0 0 0px 4px #1f60c4",animation:`${w} 2s ease infinite`})}};var p=r(2543),P=r(13544),S=r(3591),D=r(72574),b=r(72109),B=r(14578),U=r(45994),F=r(71678),G=r(37390),$=r(88575),V=r(10354),Q=r(42418),Z=r(55852),_=r(72235),ae=r(92378);const te=({repeat:O,title:w,warning:v,onUpdate:E,onCancel:e})=>{const[t,i]=(0,f.useState)(O),h=(0,f.useCallback)(x=>i(x),[i]);return f.createElement(_.l,{defaultValues:{title:w},onSubmit:x=>{E(x.title,t)}},({register:x})=>f.createElement(f.Fragment,null,f.createElement($.D,{label:"Title"},f.createElement(V.p,{...x("title"),type:"text"})),f.createElement($.D,{label:"Repeat for"},f.createElement(ae.G,{repeat:t,onChange:h})),v&&f.createElement(Q.F,{"data-testid":P.Tp.pages.Dashboard.Rows.Repeated.ConfigSection.warningMessage,severity:"warning",title:"",topSpacing:3,bottomSpacing:0},v),f.createElement(G.a.ButtonRow,null,f.createElement(Z.$n,{type:"button",variant:"secondary",onClick:e,fill:"outline"},"Cancel"),f.createElement(Z.$n,{type:"submit"},"Update"))))},oe=({repeat:O,title:w,onDismiss:v,onUpdate:E,warning:e})=>{const t=(0,l.of)(J);return f.createElement(G.a,{isOpen:!0,title:"Row options",icon:"copy",onDismiss:v,className:t.modal},f.createElement(te,{repeat:O,title:w,onCancel:v,onUpdate:E,warning:e}))},J=()=>({modal:(0,X.css)`
    label: RowOptionsModal;
    width: 500px;
  `}),ie=({repeat:O,title:w,onUpdate:v,warning:E})=>{const e=t=>(i,h)=>{v(i,h),t()};return f.createElement(F.$s,null,({showModal:t,hideModal:i})=>f.createElement("button",{type:"button",className:"pointer","aria-label":"Row options",onClick:()=>{t(oe,{title:w,repeat:O,onDismiss:i,onUpdate:e(i),warning:E})}},f.createElement(B.I,{name:"cog"})))};ie.displayName="RowOptionsButton";class ue extends f.Component{constructor(){super(...arguments),this.onVariableUpdated=()=>{this.forceUpdate()},this.onToggle=()=>{this.props.dashboard.toggleRow(this.props.panel)},this.getWarning=()=>{if((this.props.panel.panels?.length?this.props.panel.panels:this.props.dashboard.getRowPanels((0,p.indexOf)(this.props.dashboard.panels,this.props.panel))).some(E=>E.datasource?.uid===U.K))return f.createElement("div",null,f.createElement("p",null,"Panels in this row use the ",U.K," data source. These panels will reference the panel in the original row, not the ones in the repeated rows."),f.createElement(b.Y,{external:!0,href:"https://grafana.com/docs/grafana/latest/dashboards/build-dashboards/create-dashboard/#configure-repeating-rows"},"Learn more"))},this.onUpdate=(w,v)=>{this.props.panel.setProperty("title",w),this.props.panel.setProperty("repeat",v??void 0),this.props.panel.render(),this.props.dashboard.processRepeats(),this.forceUpdate()},this.onDelete=()=>{T.A.publish(new j.bY({title:"Delete row",text:"Are you sure you want to remove this row and all its panels?",altActionText:"Delete row only",icon:"trash-alt",onConfirm:()=>{this.props.dashboard.removeRow(this.props.panel,!0)},onAltAction:()=>{this.props.dashboard.removeRow(this.props.panel,!1)}}))}}componentDidMount(){this.sub=this.props.dashboard.events.subscribe(S._,this.onVariableUpdated)}componentWillUnmount(){this.sub&&this.sub.unsubscribe()}render(){const w=c()({"dashboard-row":!0,"dashboard-row--collapsed":this.props.panel.collapsed}),v=(0,D.w)().replace(this.props.panel.title,this.props.panel.scopedVars,"text"),E=this.props.panel.panels?this.props.panel.panels.length:0,e=E===1?"panel":"panels",t=this.props.dashboard.meta.canEdit===!0;return f.createElement("div",{className:w,"data-testid":"dashboard-row-container"},f.createElement("button",{className:"dashboard-row__title pointer",type:"button","data-testid":P.Tp.components.DashboardRow.title(v),onClick:this.onToggle},f.createElement(B.I,{name:this.props.panel.collapsed?"angle-right":"angle-down"}),v,f.createElement("span",{className:"dashboard-row__panel_count"},"(",E," ",e,")")),t&&f.createElement("div",{className:"dashboard-row__actions"},f.createElement(ie,{title:this.props.panel.title,repeat:this.props.panel.repeat,onUpdate:this.onUpdate,warning:this.getWarning()}),f.createElement("button",{type:"button",className:"pointer",onClick:this.onDelete,"aria-label":"Delete row"},f.createElement(B.I,{name:"trash-alt"}))),this.props.panel.collapsed===!0&&f.createElement("div",{className:"dashboard-row__toggle-target",onClick:this.onToggle},"\xA0"),t&&f.createElement("div",{"data-testid":"dashboard-row-drag",className:"dashboard-row__drag grid-drag-handle"}))}}var se=r(68064),C=r(39569);const I="systemPanelFilterVar";class K extends f.PureComponent{constructor(w){super(w),this.panelMap={},this.eventSubs=new m.yU,this.windowHeight=1200,this.windowWidth=1920,this.gridWidth=0,this.lastPanelBottom=0,this.isLayoutInitialized=!1,this.onLayoutChange=v=>{if(!this.state.panelFilter){for(const E of v)this.panelMap[E.i].updateGridPos(E,this.isLayoutInitialized);this.isLayoutInitialized&&(this.isLayoutInitialized=!0),this.props.dashboard.sortPanelsByGridPos(),this.forceUpdate()}},this.triggerForceUpdate=()=>{this.forceUpdate()},this.updateGridPos=(v,E)=>{this.panelMap[v.i].updateGridPos(v)},this.onResize=(v,E,e)=>{this.panelMap[e.i].updateGridPos(e)},this.onResizeStop=(v,E,e)=>{this.updateGridPos(e,v)},this.onDragStop=(v,E,e)=>{this.updateGridPos(e,v)},this.onGetWrapperDivRef=v=>{v&&W.TP.user.authenticatedBy!=="render"&&setTimeout(()=>{v.classList.add("react-grid-layout--enable-move-animations")},50)},this.rootEl=null,this.onMeasureRef=v=>{if(!v){this.rootEl&&this.resizeObserver&&this.resizeObserver.unobserve(this.rootEl);return}this.rootEl=v,this.resizeObserver=new ResizeObserver(E=>{E.forEach(e=>{this.setState({width:e.contentRect.width})})}),this.resizeObserver.observe(v)},this.state={panelFilter:void 0,width:document.body.clientWidth}}componentDidMount(){const{dashboard:w}=this.props;if(M.$.featureToggles.panelFilterVariable){for(const v of w.getVariables())if(v.id===I){"query"in v&&this.setPanelFilter(v.query);break}this.eventSubs.add(T.A.subscribe(R.og,v=>{if(v.payload.variable?.id===I&&"current"in v.payload.variable){let E=v.payload.variable.current;"value"in E&&typeof E.value=="string"&&this.setPanelFilter(E.value)}}))}this.eventSubs.add(w.events.subscribe(j.Q$,this.triggerForceUpdate))}componentWillUnmount(){this.eventSubs.unsubscribe()}setPanelFilter(w){let v;w.length>0&&(v=new RegExp(w,"i")),this.setState({panelFilter:v})}buildLayout(){const w=[];this.panelMap={};const{panelFilter:v}=this.state;let E=0;for(const e of this.props.dashboard.panels){if(e.key||(e.key=`panel-${e.id}-${Date.now()}`),this.panelMap[e.key]=e,!e.gridPos){console.log("panel without gridpos");continue}const t={i:e.key,x:e.gridPos.x,y:e.gridPos.y,w:e.gridPos.w,h:e.gridPos.h};e.type==="row"&&(t.w=A.cV,t.h=1,t.isResizable=!1,t.isDraggable=e.collapsed),v?v.test(e.title)&&(t.isResizable=!1,t.isDraggable=!1,t.x=E%2*A.cV,t.y=Math.floor(E/2),w.push(t),E++):w.push(t)}return w}getPanelScreenPos(w,v){let E=0;return v<M.$.theme2.breakpoints.values.md?E=this.lastPanelBottom+A.dU:E=q(w.gridPos.y)+A.dU,this.lastPanelBottom=E+q(w.gridPos.h),{top:E,bottom:this.lastPanelBottom}}renderPanels(w,v){const{panelFilter:E}=this.state,e=[];this.lastPanelBottom=0,this.gridWidth!==w&&(this.windowHeight=window.innerHeight??1e3,this.windowWidth=window.innerWidth,this.gridWidth=w);for(const t of this.props.dashboard.panels){const i=c()({"react-grid-item--fullscreen":t.isViewing}),h=f.createElement(k,{key:t.key,className:i,"data-panelid":t.id,gridPos:t.gridPos,gridWidth:w,windowHeight:this.windowHeight,windowWidth:this.windowWidth,isViewing:t.isViewing},(x,L)=>this.renderPanel(t,x,L,v));E?E.test(t.title)&&e.push(h):e.push(h)}return e}renderPanel(w,v,E,e){return w.type==="row"?f.createElement(ue,{key:w.key,panel:w,dashboard:this.props.dashboard}):w.type==="add-library-panel"?f.createElement(a,{key:w.key,panel:w,dashboard:this.props.dashboard}):f.createElement(C.L,{key:w.key,stateKey:w.key,panel:w,dashboard:this.props.dashboard,isEditing:w.isEditing,isViewing:w.isViewing,isDraggable:e,width:v,height:E,hideMenu:this.props.hidePanelMenus})}render(){const{isEditable:w,dashboard:v}=this.props,{width:E}=this.state;if(v.panels.length===0)return f.createElement(se.A,{dashboard:v,canCreate:w});const e=E<=M.$.theme2.breakpoints.values.md?!1:w;return f.createElement("div",{ref:this.onMeasureRef,style:{flex:"1 1 auto",position:"relative",zIndex:1,display:this.props.editPanel?"none":void 0}},f.createElement("div",{style:{width:E,height:"100%"},ref:this.onGetWrapperDivRef},f.createElement(N(),{width:E,isDraggable:e,isResizable:w,containerPadding:[0,0],useCSSTransforms:!0,margin:[A.dU,A.dU],cols:A.cV,rowHeight:A.sD,draggableHandle:".grid-drag-handle",draggableCancel:".grid-drag-cancel",layout:this.buildLayout(),onDragStop:this.onDragStop,onResize:this.onResize,onResizeStop:this.onResizeStop,onLayoutChange:this.onLayoutChange},this.renderPanels(E,e))))}}const k=f.forwardRef((O,w)=>{const v=M.$.theme2;let E=100,e=100;const{gridWidth:t,gridPos:i,isViewing:h,windowHeight:x,windowWidth:L,...H}=O,Y=O.style??{};if(h)E=t,e=x*.85,Y.height=e,Y.width="100%";else if(L<v.breakpoints.values.md)E=O.gridWidth,e=q(i.h),Y.height=e,Y.width="100%";else if(O.style){const{width:ne,height:re}=O.style;ne!=null&&(E=typeof ne=="number"?ne:parseFloat(ne)),re!=null&&(e=typeof re=="number"?re:parseFloat(re))}return f.createElement("div",{...H,style:{...H.style},ref:w},[O.children[0](E,e),O.children.slice(1)])});function q(O){return O*(A.sD+A.dU)-A.dU}k.displayName="GridItemWithDimensions"},26392:(ee,y,r)=>{"use strict";Object.defineProperty(y,"__esModule",{value:!0}),y.default=void 0;var s=A(r(96540)),c=A(r(5556)),f=r(55794),g=r(66036),N=r(38426),m=r(82134),M=r(80634),T=A(r(71508));function A(z){return z&&z.__esModule?z:{default:z}}function W(z,l,u){return l=R(l),l in z?Object.defineProperty(z,l,{value:u,enumerable:!0,configurable:!0,writable:!0}):z[l]=u,z}function R(z){var l=j(z,"string");return typeof l=="symbol"?l:String(l)}function j(z,l){if(typeof z!="object"||z===null)return z;var u=z[Symbol.toPrimitive];if(u!==void 0){var d=u.call(z,l||"default");if(typeof d!="object")return d;throw new TypeError("@@toPrimitive must return a primitive value.")}return(l==="string"?String:Number)(z)}class X extends s.default.Component{constructor(){super(...arguments),W(this,"state",{resizing:null,dragging:null,className:""}),W(this,"elementRef",s.default.createRef()),W(this,"onDragStart",(l,u)=>{let{node:d}=u;const{onDragStart:n,transformScale:a}=this.props;if(!n)return;const o={top:0,left:0},{offsetParent:p}=d;if(!p)return;const P=p.getBoundingClientRect(),S=d.getBoundingClientRect(),D=S.left/a,b=P.left/a,B=S.top/a,U=P.top/a;o.left=D-b+p.scrollLeft,o.top=B-U+p.scrollTop,this.setState({dragging:o});const{x:F,y:G}=(0,m.calcXY)(this.getPositionParams(),o.top,o.left,this.props.w,this.props.h);return n.call(this,this.props.i,F,G,{e:l,node:d,newPosition:o})}),W(this,"onDrag",(l,u)=>{let{node:d,deltaX:n,deltaY:a}=u;const{onDrag:o}=this.props;if(!o)return;if(!this.state.dragging)throw new Error("onDrag called before onDragStart.");let p=this.state.dragging.top+a,P=this.state.dragging.left+n;const{isBounded:S,i:D,w:b,h:B,containerWidth:U}=this.props,F=this.getPositionParams();if(S){const{offsetParent:Z}=d;if(Z){const{margin:_,rowHeight:ae,containerPadding:te}=this.props,oe=Z.clientHeight-(0,m.calcGridItemWHPx)(B,ae,_[1]);p=(0,m.clamp)(p-te[1],0,oe);const J=(0,m.calcGridColWidth)(F),ie=U-(0,m.calcGridItemWHPx)(b,J,_[0]);P=(0,m.clamp)(P-te[0],0,ie)}}const G={top:p,left:P};this.setState({dragging:G});const{containerPadding:$}=this.props,{x:V,y:Q}=(0,m.calcXY)(F,p-$[1],P-$[0],b,B);return o.call(this,D,V,Q,{e:l,node:d,newPosition:G})}),W(this,"onDragStop",(l,u)=>{let{node:d}=u;const{onDragStop:n}=this.props;if(!n)return;if(!this.state.dragging)throw new Error("onDragEnd called before onDragStart.");const{w:a,h:o,i:p,containerPadding:P}=this.props,{left:S,top:D}=this.state.dragging,b={top:D,left:S};this.setState({dragging:null});const{x:B,y:U}=(0,m.calcXY)(this.getPositionParams(),D-P[1],S-P[0],a,o);return n.call(this,p,B,U,{e:l,node:d,newPosition:b})}),W(this,"onResizeStop",(l,u,d)=>this.onResizeHandler(l,u,d,"onResizeStop")),W(this,"onResizeStart",(l,u,d)=>this.onResizeHandler(l,u,d,"onResizeStart")),W(this,"onResize",(l,u,d)=>this.onResizeHandler(l,u,d,"onResize"))}shouldComponentUpdate(l,u){if(this.props.children!==l.children||this.props.droppingPosition!==l.droppingPosition)return!0;const d=(0,m.calcGridItemPosition)(this.getPositionParams(this.props),this.props.x,this.props.y,this.props.w,this.props.h,this.state),n=(0,m.calcGridItemPosition)(this.getPositionParams(l),l.x,l.y,l.w,l.h,u);return!(0,N.fastPositionEqual)(d,n)||this.props.useCSSTransforms!==l.useCSSTransforms}componentDidMount(){this.moveDroppingItem({})}componentDidUpdate(l){this.moveDroppingItem(l)}moveDroppingItem(l){const{droppingPosition:u}=this.props;if(!u)return;const d=this.elementRef.current;if(!d)return;const n=l.droppingPosition||{left:0,top:0},{dragging:a}=this.state,o=a&&u.left!==n.left||u.top!==n.top;if(!a)this.onDragStart(u.e,{node:d,deltaX:u.left,deltaY:u.top});else if(o){const p=u.left-a.left,P=u.top-a.top;this.onDrag(u.e,{node:d,deltaX:p,deltaY:P})}}getPositionParams(){let l=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.props;return{cols:l.cols,containerPadding:l.containerPadding,containerWidth:l.containerWidth,margin:l.margin,maxRows:l.maxRows,rowHeight:l.rowHeight}}createStyle(l){const{usePercentages:u,containerWidth:d,useCSSTransforms:n}=this.props;let a;return n?a=(0,N.setTransform)(l):(a=(0,N.setTopLeft)(l),u&&(a.left=(0,N.perc)(l.left/d),a.width=(0,N.perc)(l.width/d))),a}mixinDraggable(l,u){return s.default.createElement(f.DraggableCore,{disabled:!u,onStart:this.onDragStart,onDrag:this.onDrag,onStop:this.onDragStop,handle:this.props.handle,cancel:".react-resizable-handle"+(this.props.cancel?","+this.props.cancel:""),scale:this.props.transformScale,nodeRef:this.elementRef},l)}curryResizeHandler(l,u){return(d,n)=>u(d,n,l)}mixinResizable(l,u,d){const{cols:n,minW:a,minH:o,maxW:p,maxH:P,transformScale:S,resizeHandles:D,resizeHandle:b}=this.props,B=this.getPositionParams(),U=(0,m.calcGridItemPosition)(B,0,0,n,0).width,F=(0,m.calcGridItemPosition)(B,0,0,a,o),G=(0,m.calcGridItemPosition)(B,0,0,p,P),$=[F.width,F.height],V=[Math.min(G.width,U),Math.min(G.height,1/0)];return s.default.createElement(g.Resizable,{draggableOpts:{disabled:!d},className:d?void 0:"react-resizable-hide",width:u.width,height:u.height,minConstraints:$,maxConstraints:V,onResizeStop:this.curryResizeHandler(u,this.onResizeStop),onResizeStart:this.curryResizeHandler(u,this.onResizeStart),onResize:this.curryResizeHandler(u,this.onResize),transformScale:S,resizeHandles:D,handle:b},l)}onResizeHandler(l,u,d,n){let{node:a,size:o,handle:p}=u;const P=this.props[n];if(!P)return;const{x:S,y:D,i:b,maxH:B,minH:U,containerWidth:F}=this.props,{minW:G,maxW:$}=this.props;let V=o;a&&(V=(0,N.resizeItemInDirection)(p,d,o,F),this.setState({resizing:n==="onResizeStop"?null:V}));let{w:Q,h:Z}=(0,m.calcWH)(this.getPositionParams(),V.width,V.height,S,D,p);Q=(0,m.clamp)(Q,Math.max(G,1),$),Z=(0,m.clamp)(Z,U,B),P.call(this,b,Q,Z,{e:l,node:a,size:V,handle:p})}render(){const{x:l,y:u,w:d,h:n,isDraggable:a,isResizable:o,droppingPosition:p,useCSSTransforms:P}=this.props,S=(0,m.calcGridItemPosition)(this.getPositionParams(),l,u,d,n,this.state),D=s.default.Children.only(this.props.children);let b=s.default.cloneElement(D,{ref:this.elementRef,className:(0,T.default)("react-grid-item",D.props.className,this.props.className,{static:this.props.static,resizing:!!this.state.resizing,"react-draggable":a,"react-draggable-dragging":!!this.state.dragging,dropping:!!p,cssTransforms:P}),style:{...this.props.style,...D.props.style,...this.createStyle(S)}});return b=this.mixinResizable(b,S,o),b=this.mixinDraggable(b,a),b}}y.default=X,W(X,"propTypes",{children:c.default.element,cols:c.default.number.isRequired,containerWidth:c.default.number.isRequired,rowHeight:c.default.number.isRequired,margin:c.default.array.isRequired,maxRows:c.default.number.isRequired,containerPadding:c.default.array.isRequired,x:c.default.number.isRequired,y:c.default.number.isRequired,w:c.default.number.isRequired,h:c.default.number.isRequired,minW:function(z,l){const u=z[l];if(typeof u!="number")return new Error("minWidth not Number");if(u>z.w||u>z.maxW)return new Error("minWidth larger than item width/maxWidth")},maxW:function(z,l){const u=z[l];if(typeof u!="number")return new Error("maxWidth not Number");if(u<z.w||u<z.minW)return new Error("maxWidth smaller than item width/minWidth")},minH:function(z,l){const u=z[l];if(typeof u!="number")return new Error("minHeight not Number");if(u>z.h||u>z.maxH)return new Error("minHeight larger than item height/maxHeight")},maxH:function(z,l){const u=z[l];if(typeof u!="number")return new Error("maxHeight not Number");if(u<z.h||u<z.minH)return new Error("maxHeight smaller than item height/minHeight")},i:c.default.string.isRequired,resizeHandles:M.resizeHandleAxesType,resizeHandle:M.resizeHandleType,onDragStop:c.default.func,onDragStart:c.default.func,onDrag:c.default.func,onResizeStop:c.default.func,onResizeStart:c.default.func,onResize:c.default.func,isDraggable:c.default.bool.isRequired,isResizable:c.default.bool.isRequired,isBounded:c.default.bool.isRequired,static:c.default.bool,useCSSTransforms:c.default.bool.isRequired,transformScale:c.default.number,className:c.default.string,handle:c.default.string,cancel:c.default.string,droppingPosition:c.default.shape({e:c.default.object.isRequired,left:c.default.number.isRequired,top:c.default.number.isRequired})}),W(X,"defaultProps",{className:"",cancel:"",handle:"",minH:1,minW:1,maxH:1/0,maxW:1/0,transformScale:1})},59742:(ee,y,r)=>{"use strict";Object.defineProperty(y,"__esModule",{value:!0}),y.default=void 0;var s=W(r(96540)),c=r(87953),f=T(r(71508)),g=r(38426),N=r(82134),m=T(r(26392)),M=T(r(80634));function T(d){return d&&d.__esModule?d:{default:d}}function A(d){if(typeof WeakMap!="function")return null;var n=new WeakMap,a=new WeakMap;return(A=function(o){return o?a:n})(d)}function W(d,n){if(!n&&d&&d.__esModule)return d;if(d===null||typeof d!="object"&&typeof d!="function")return{default:d};var a=A(n);if(a&&a.has(d))return a.get(d);var o={__proto__:null},p=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var P in d)if(P!=="default"&&Object.prototype.hasOwnProperty.call(d,P)){var S=p?Object.getOwnPropertyDescriptor(d,P):null;S&&(S.get||S.set)?Object.defineProperty(o,P,S):o[P]=d[P]}return o.default=d,a&&a.set(d,o),o}function R(d,n,a){return n=j(n),n in d?Object.defineProperty(d,n,{value:a,enumerable:!0,configurable:!0,writable:!0}):d[n]=a,d}function j(d){var n=X(d,"string");return typeof n=="symbol"?n:String(n)}function X(d,n){if(typeof d!="object"||d===null)return d;var a=d[Symbol.toPrimitive];if(a!==void 0){var o=a.call(d,n||"default");if(typeof o!="object")return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(d)}const z="react-grid-layout";let l=!1;try{l=/firefox/i.test(navigator.userAgent)}catch{}class u extends s.Component{constructor(){super(...arguments),R(this,"state",{activeDrag:null,layout:(0,g.synchronizeLayoutWithChildren)(this.props.layout,this.props.children,this.props.cols,(0,g.compactType)(this.props),this.props.allowOverlap),mounted:!1,oldDragItem:null,oldLayout:null,oldResizeItem:null,resizing:!1,droppingDOMNode:null,children:[]}),R(this,"dragEnterCounter",0),R(this,"onDragStart",(n,a,o,p)=>{let{e:P,node:S}=p;const{layout:D}=this.state,b=(0,g.getLayoutItem)(D,n);if(!b)return;const B={w:b.w,h:b.h,x:b.x,y:b.y,placeholder:!0,i:n};return this.setState({oldDragItem:(0,g.cloneLayoutItem)(b),oldLayout:D,activeDrag:B}),this.props.onDragStart(D,b,b,null,P,S)}),R(this,"onDrag",(n,a,o,p)=>{let{e:P,node:S}=p;const{oldDragItem:D}=this.state;let{layout:b}=this.state;const{cols:B,allowOverlap:U,preventCollision:F}=this.props,G=(0,g.getLayoutItem)(b,n);if(!G)return;const $={w:G.w,h:G.h,x:G.x,y:G.y,placeholder:!0,i:n};b=(0,g.moveElement)(b,G,a,o,!0,F,(0,g.compactType)(this.props),B,U),this.props.onDrag(b,D,G,$,P,S),this.setState({layout:U?b:(0,g.compact)(b,(0,g.compactType)(this.props),B),activeDrag:$})}),R(this,"onDragStop",(n,a,o,p)=>{let{e:P,node:S}=p;if(!this.state.activeDrag)return;const{oldDragItem:D}=this.state;let{layout:b}=this.state;const{cols:B,preventCollision:U,allowOverlap:F}=this.props,G=(0,g.getLayoutItem)(b,n);if(!G)return;b=(0,g.moveElement)(b,G,a,o,!0,U,(0,g.compactType)(this.props),B,F);const V=F?b:(0,g.compact)(b,(0,g.compactType)(this.props),B);this.props.onDragStop(V,D,G,null,P,S);const{oldLayout:Q}=this.state;this.setState({activeDrag:null,layout:V,oldDragItem:null,oldLayout:null}),this.onLayoutMaybeChanged(V,Q)}),R(this,"onResizeStart",(n,a,o,p)=>{let{e:P,node:S}=p;const{layout:D}=this.state,b=(0,g.getLayoutItem)(D,n);b&&(this.setState({oldResizeItem:(0,g.cloneLayoutItem)(b),oldLayout:this.state.layout,resizing:!0}),this.props.onResizeStart(D,b,b,null,P,S))}),R(this,"onResize",(n,a,o,p)=>{let{e:P,node:S,size:D,handle:b}=p;const{oldResizeItem:B}=this.state,{layout:U}=this.state,{cols:F,preventCollision:G,allowOverlap:$}=this.props;let V=!1,Q,Z,_;const[ae,te]=(0,g.withLayoutItem)(U,n,J=>{let ie;return Z=J.x,_=J.y,["sw","w","nw","n","ne"].indexOf(b)!==-1&&(["sw","nw","w"].indexOf(b)!==-1&&(Z=J.x+(J.w-a),a=J.x!==Z&&Z<0?J.w:a,Z=Z<0?0:Z),["ne","n","nw"].indexOf(b)!==-1&&(_=J.y+(J.h-o),o=J.y!==_&&_<0?J.h:o,_=_<0?0:_),V=!0),G&&!$&&(ie=(0,g.getAllCollisions)(U,{...J,w:a,h:o,x:Z,y:_}).filter(se=>se.i!==J.i).length>0,ie&&(_=J.y,o=J.h,Z=J.x,a=J.w,V=!1)),J.w=a,J.h=o,J});if(!te)return;Q=ae,V&&(Q=(0,g.moveElement)(ae,te,Z,_,!0,this.props.preventCollision,(0,g.compactType)(this.props),F,$));const oe={w:te.w,h:te.h,x:te.x,y:te.y,static:!0,i:n};this.props.onResize(Q,B,te,oe,P,S),this.setState({layout:$?Q:(0,g.compact)(Q,(0,g.compactType)(this.props),F),activeDrag:oe})}),R(this,"onResizeStop",(n,a,o,p)=>{let{e:P,node:S}=p;const{layout:D,oldResizeItem:b}=this.state,{cols:B,allowOverlap:U}=this.props,F=(0,g.getLayoutItem)(D,n),G=U?D:(0,g.compact)(D,(0,g.compactType)(this.props),B);this.props.onResizeStop(G,b,F,null,P,S);const{oldLayout:$}=this.state;this.setState({activeDrag:null,layout:G,oldResizeItem:null,oldLayout:null,resizing:!1}),this.onLayoutMaybeChanged(G,$)}),R(this,"onDragOver",n=>{if(n.preventDefault(),n.stopPropagation(),l&&!n.nativeEvent.target?.classList.contains(z))return!1;const{droppingItem:a,onDropDragOver:o,margin:p,cols:P,rowHeight:S,maxRows:D,width:b,containerPadding:B,transformScale:U}=this.props,F=o?.(n);if(F===!1)return this.state.droppingDOMNode&&this.removeDroppingPlaceholder(),!1;const G={...a,...F},{layout:$}=this.state,V=n.currentTarget.getBoundingClientRect(),Q=n.clientX-V.left,Z=n.clientY-V.top,_={left:Q/U,top:Z/U,e:n};if(this.state.droppingDOMNode){if(this.state.droppingPosition){const{left:ae,top:te}=this.state.droppingPosition;(ae!=Q||te!=Z)&&this.setState({droppingPosition:_})}}else{const ae={cols:P,margin:p,maxRows:D,rowHeight:S,containerWidth:b,containerPadding:B||p},te=(0,N.calcXY)(ae,Z,Q,G.w,G.h);this.setState({droppingDOMNode:s.createElement("div",{key:G.i}),droppingPosition:_,layout:[...$,{...G,x:te.x,y:te.y,static:!1,isDraggable:!0}]})}}),R(this,"removeDroppingPlaceholder",()=>{const{droppingItem:n,cols:a}=this.props,{layout:o}=this.state,p=(0,g.compact)(o.filter(P=>P.i!==n.i),(0,g.compactType)(this.props),a,this.props.allowOverlap);this.setState({layout:p,droppingDOMNode:null,activeDrag:null,droppingPosition:void 0})}),R(this,"onDragLeave",n=>{n.preventDefault(),n.stopPropagation(),this.dragEnterCounter--,this.dragEnterCounter===0&&this.removeDroppingPlaceholder()}),R(this,"onDragEnter",n=>{n.preventDefault(),n.stopPropagation(),this.dragEnterCounter++}),R(this,"onDrop",n=>{n.preventDefault(),n.stopPropagation();const{droppingItem:a}=this.props,{layout:o}=this.state,p=o.find(P=>P.i===a.i);this.dragEnterCounter=0,this.removeDroppingPlaceholder(),this.props.onDrop(o,p,n)})}componentDidMount(){this.setState({mounted:!0}),this.onLayoutMaybeChanged(this.state.layout,this.props.layout)}static getDerivedStateFromProps(n,a){let o;return a.activeDrag?null:(!(0,c.deepEqual)(n.layout,a.propsLayout)||n.compactType!==a.compactType?o=n.layout:(0,g.childrenEqual)(n.children,a.children)||(o=a.layout),o?{layout:(0,g.synchronizeLayoutWithChildren)(o,n.children,n.cols,(0,g.compactType)(n),n.allowOverlap),compactType:n.compactType,children:n.children,propsLayout:n.layout}:null)}shouldComponentUpdate(n,a){return this.props.children!==n.children||!(0,g.fastRGLPropsEqual)(this.props,n,c.deepEqual)||this.state.activeDrag!==a.activeDrag||this.state.mounted!==a.mounted||this.state.droppingPosition!==a.droppingPosition}componentDidUpdate(n,a){if(!this.state.activeDrag){const o=this.state.layout,p=a.layout;this.onLayoutMaybeChanged(o,p)}}containerHeight(){if(!this.props.autoSize)return;const n=(0,g.bottom)(this.state.layout),a=this.props.containerPadding?this.props.containerPadding[1]:this.props.margin[1];return n*this.props.rowHeight+(n-1)*this.props.margin[1]+a*2+"px"}onLayoutMaybeChanged(n,a){a||(a=this.state.layout),(0,c.deepEqual)(a,n)||this.props.onLayoutChange(n)}placeholder(){const{activeDrag:n}=this.state;if(!n)return null;const{width:a,cols:o,margin:p,containerPadding:P,rowHeight:S,maxRows:D,useCSSTransforms:b,transformScale:B}=this.props;return s.createElement(m.default,{w:n.w,h:n.h,x:n.x,y:n.y,i:n.i,className:`react-grid-placeholder ${this.state.resizing?"placeholder-resizing":""}`,containerWidth:a,cols:o,margin:p,containerPadding:P||p,maxRows:D,rowHeight:S,isDraggable:!1,isResizable:!1,isBounded:!1,useCSSTransforms:b,transformScale:B},s.createElement("div",null))}processGridItem(n,a){if(!n||!n.key)return;const o=(0,g.getLayoutItem)(this.state.layout,String(n.key));if(!o)return null;const{width:p,cols:P,margin:S,containerPadding:D,rowHeight:b,maxRows:B,isDraggable:U,isResizable:F,isBounded:G,useCSSTransforms:$,transformScale:V,draggableCancel:Q,draggableHandle:Z,resizeHandles:_,resizeHandle:ae}=this.props,{mounted:te,droppingPosition:oe}=this.state,J=typeof o.isDraggable=="boolean"?o.isDraggable:!o.static&&U,ie=typeof o.isResizable=="boolean"?o.isResizable:!o.static&&F,ue=o.resizeHandles||_,se=J&&G&&o.isBounded!==!1;return s.createElement(m.default,{containerWidth:p,cols:P,margin:S,containerPadding:D||S,maxRows:B,rowHeight:b,cancel:Q,handle:Z,onDragStop:this.onDragStop,onDragStart:this.onDragStart,onDrag:this.onDrag,onResizeStart:this.onResizeStart,onResize:this.onResize,onResizeStop:this.onResizeStop,isDraggable:J,isResizable:ie,isBounded:se,useCSSTransforms:$&&te,usePercentages:!te,transformScale:V,w:o.w,h:o.h,x:o.x,y:o.y,i:o.i,minH:o.minH,minW:o.minW,maxH:o.maxH,maxW:o.maxW,static:o.static,droppingPosition:a?oe:void 0,resizeHandles:ue,resizeHandle:ae},n)}render(){const{className:n,style:a,isDroppable:o,innerRef:p}=this.props,P=(0,f.default)(z,n),S={height:this.containerHeight(),...a};return s.createElement("div",{ref:p,className:P,style:S,onDrop:o?this.onDrop:g.noop,onDragLeave:o?this.onDragLeave:g.noop,onDragEnter:o?this.onDragEnter:g.noop,onDragOver:o?this.onDragOver:g.noop},s.Children.map(this.props.children,D=>this.processGridItem(D)),o&&this.state.droppingDOMNode&&this.processGridItem(this.state.droppingDOMNode,!0),this.placeholder())}}y.default=u,R(u,"displayName","ReactGridLayout"),R(u,"propTypes",M.default),R(u,"defaultProps",{autoSize:!0,cols:12,className:"",style:{},draggableHandle:"",draggableCancel:"",containerPadding:null,rowHeight:150,maxRows:1/0,layout:[],margin:[10,10],isBounded:!1,isDraggable:!0,isResizable:!0,allowOverlap:!1,isDroppable:!1,useCSSTransforms:!0,transformScale:1,verticalCompact:!0,compactType:"vertical",preventCollision:!1,droppingItem:{i:"__dropping-elem__",h:1,w:1},resizeHandles:["se"],onLayoutChange:g.noop,onDragStart:g.noop,onDrag:g.noop,onDragStop:g.noop,onResizeStart:g.noop,onResize:g.noop,onResizeStop:g.noop,onDrop:g.noop,onDropDragOver:g.noop})},80634:(ee,y,r)=>{"use strict";Object.defineProperty(y,"__esModule",{value:!0}),y.resizeHandleType=y.resizeHandleAxesType=y.default=void 0;var s=f(r(5556)),c=f(r(96540));function f(M){return M&&M.__esModule?M:{default:M}}const g=y.resizeHandleAxesType=s.default.arrayOf(s.default.oneOf(["s","w","e","n","sw","nw","se","ne"])),N=y.resizeHandleType=s.default.oneOfType([s.default.node,s.default.func]);var m=y.default={className:s.default.string,style:s.default.object,width:s.default.number,autoSize:s.default.bool,cols:s.default.number,draggableCancel:s.default.string,draggableHandle:s.default.string,verticalCompact:function(M){M.verticalCompact},compactType:s.default.oneOf(["vertical","horizontal"]),layout:function(M){var T=M.layout;T!==void 0&&r(38426).validateLayout(T,"layout")},margin:s.default.arrayOf(s.default.number),containerPadding:s.default.arrayOf(s.default.number),rowHeight:s.default.number,maxRows:s.default.number,isBounded:s.default.bool,isDraggable:s.default.bool,isResizable:s.default.bool,allowOverlap:s.default.bool,preventCollision:s.default.bool,useCSSTransforms:s.default.bool,transformScale:s.default.number,isDroppable:s.default.bool,resizeHandles:g,resizeHandle:N,onLayoutChange:s.default.func,onDragStart:s.default.func,onDrag:s.default.func,onDragStop:s.default.func,onResizeStart:s.default.func,onResize:s.default.func,onResizeStop:s.default.func,onDrop:s.default.func,droppingItem:s.default.shape({i:s.default.string.isRequired,w:s.default.number.isRequired,h:s.default.number.isRequired}),children:function(M,T){const A=M[T],W={};c.default.Children.forEach(A,function(R){if(R?.key!=null){if(W[R.key])throw new Error('Duplicate child key "'+R.key+'" found! This will cause problems in ReactGridLayout.');W[R.key]=!0}})},innerRef:s.default.any}},59864:(ee,y,r)=>{"use strict";var s;s={value:!0},y.default=void 0;var c=W(r(96540)),f=T(r(5556)),g=r(87953),N=r(38426),m=r(3108),M=T(r(59742));function T(n){return n&&n.__esModule?n:{default:n}}function A(n){if(typeof WeakMap!="function")return null;var a=new WeakMap,o=new WeakMap;return(A=function(p){return p?o:a})(n)}function W(n,a){if(!a&&n&&n.__esModule)return n;if(n===null||typeof n!="object"&&typeof n!="function")return{default:n};var o=A(a);if(o&&o.has(n))return o.get(n);var p={__proto__:null},P=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var S in n)if(S!=="default"&&Object.prototype.hasOwnProperty.call(n,S)){var D=P?Object.getOwnPropertyDescriptor(n,S):null;D&&(D.get||D.set)?Object.defineProperty(p,S,D):p[S]=n[S]}return p.default=n,o&&o.set(n,p),p}function R(){return R=Object.assign?Object.assign.bind():function(n){for(var a=1;a<arguments.length;a++){var o=arguments[a];for(var p in o)Object.prototype.hasOwnProperty.call(o,p)&&(n[p]=o[p])}return n},R.apply(this,arguments)}function j(n,a,o){return a=X(a),a in n?Object.defineProperty(n,a,{value:o,enumerable:!0,configurable:!0,writable:!0}):n[a]=o,n}function X(n){var a=z(n,"string");return typeof a=="symbol"?a:String(a)}function z(n,a){if(typeof n!="object"||n===null)return n;var o=n[Symbol.toPrimitive];if(o!==void 0){var p=o.call(n,a||"default");if(typeof p!="object")return p;throw new TypeError("@@toPrimitive must return a primitive value.")}return(a==="string"?String:Number)(n)}const l=n=>Object.prototype.toString.call(n);function u(n,a){return n==null?null:Array.isArray(n)?n:n[a]}class d extends c.Component{constructor(){super(...arguments),j(this,"state",this.generateInitialState()),j(this,"onLayoutChange",a=>{this.props.onLayoutChange(a,{...this.props.layouts,[this.state.breakpoint]:a})})}generateInitialState(){const{width:a,breakpoints:o,layouts:p,cols:P}=this.props,S=(0,m.getBreakpointFromWidth)(o,a),D=(0,m.getColsFromBreakpoint)(S,P),b=this.props.verticalCompact===!1?null:this.props.compactType;return{layout:(0,m.findOrGenerateResponsiveLayout)(p,o,S,S,D,b),breakpoint:S,cols:D}}static getDerivedStateFromProps(a,o){if(!(0,g.deepEqual)(a.layouts,o.layouts)){const{breakpoint:p,cols:P}=o;return{layout:(0,m.findOrGenerateResponsiveLayout)(a.layouts,a.breakpoints,p,p,P,a.compactType),layouts:a.layouts}}return null}componentDidUpdate(a){(this.props.width!=a.width||this.props.breakpoint!==a.breakpoint||!(0,g.deepEqual)(this.props.breakpoints,a.breakpoints)||!(0,g.deepEqual)(this.props.cols,a.cols))&&this.onWidthChange(a)}onWidthChange(a){const{breakpoints:o,cols:p,layouts:P,compactType:S}=this.props,D=this.props.breakpoint||(0,m.getBreakpointFromWidth)(this.props.breakpoints,this.props.width),b=this.state.breakpoint,B=(0,m.getColsFromBreakpoint)(D,p),U={...P};if(b!==D||a.breakpoints!==o||a.cols!==p){b in U||(U[b]=(0,N.cloneLayout)(this.state.layout));let $=(0,m.findOrGenerateResponsiveLayout)(U,o,D,b,B,S);$=(0,N.synchronizeLayoutWithChildren)($,this.props.children,B,S,this.props.allowOverlap),U[D]=$,this.props.onLayoutChange($,U),this.props.onBreakpointChange(D,B),this.setState({breakpoint:D,layout:$,cols:B})}const F=u(this.props.margin,D),G=u(this.props.containerPadding,D);this.props.onWidthChange(this.props.width,F,B,G)}render(){const{breakpoint:a,breakpoints:o,cols:p,layouts:P,margin:S,containerPadding:D,onBreakpointChange:b,onLayoutChange:B,onWidthChange:U,...F}=this.props;return c.createElement(M.default,R({},F,{margin:u(S,this.state.breakpoint),containerPadding:u(D,this.state.breakpoint),onLayoutChange:this.onLayoutChange,layout:this.state.layout,cols:this.state.cols}))}}y.default=d,j(d,"propTypes",{breakpoint:f.default.string,breakpoints:f.default.object,allowOverlap:f.default.bool,cols:f.default.object,margin:f.default.oneOfType([f.default.array,f.default.object]),containerPadding:f.default.oneOfType([f.default.array,f.default.object]),layouts(n,a){if(l(n[a])!=="[object Object]")throw new Error("Layout property must be an object. Received: "+l(n[a]));Object.keys(n[a]).forEach(o=>{if(!(o in n.breakpoints))throw new Error("Each key in layouts must align with a key in breakpoints.");(0,N.validateLayout)(n.layouts[o],"layouts."+o)})},width:f.default.number.isRequired,onBreakpointChange:f.default.func,onLayoutChange:f.default.func,onWidthChange:f.default.func}),j(d,"defaultProps",{breakpoints:{lg:1200,md:996,sm:768,xs:480,xxs:0},cols:{lg:12,md:10,sm:6,xs:4,xxs:2},containerPadding:{lg:null,md:null,sm:null,xs:null,xxs:null},layouts:{},margin:[10,10],allowOverlap:!1,onBreakpointChange:N.noop,onLayoutChange:N.noop,onWidthChange:N.noop})},82134:(ee,y)=>{"use strict";Object.defineProperty(y,"__esModule",{value:!0}),y.calcGridColWidth=r,y.calcGridItemPosition=c,y.calcGridItemWHPx=s,y.calcWH=g,y.calcXY=f,y.clamp=N;function r(m){const{margin:M,containerPadding:T,containerWidth:A,cols:W}=m;return(A-M[0]*(W-1)-T[0]*2)/W}function s(m,M,T){return Number.isFinite(m)?Math.round(M*m+Math.max(0,m-1)*T):m}function c(m,M,T,A,W,R){const{margin:j,containerPadding:X,rowHeight:z}=m,l=r(m),u={};return R&&R.resizing?(u.width=Math.round(R.resizing.width),u.height=Math.round(R.resizing.height)):(u.width=s(A,l,j[0]),u.height=s(W,z,j[1])),R&&R.dragging?(u.top=Math.round(R.dragging.top),u.left=Math.round(R.dragging.left)):R&&R.resizing&&typeof R.resizing.top=="number"&&typeof R.resizing.left=="number"?(u.top=Math.round(R.resizing.top),u.left=Math.round(R.resizing.left)):(u.top=Math.round((z+j[1])*T+X[1]),u.left=Math.round((l+j[0])*M+X[0])),u}function f(m,M,T,A,W){const{margin:R,cols:j,rowHeight:X,maxRows:z}=m,l=r(m);let u=Math.round((T-R[0])/(l+R[0])),d=Math.round((M-R[1])/(X+R[1]));return u=N(u,0,j-A),d=N(d,0,z-W),{x:u,y:d}}function g(m,M,T,A,W,R){const{margin:j,maxRows:X,cols:z,rowHeight:l}=m,u=r(m);let d=Math.round((M+j[0])/(u+j[0])),n=Math.round((T+j[1])/(l+j[1])),a=N(d,0,z-A),o=N(n,0,X-W);return["sw","w","nw"].indexOf(R)!==-1&&(a=N(d,0,z)),["nw","n","ne"].indexOf(R)!==-1&&(o=N(n,0,X)),{w:a,h:o}}function N(m,M,T){return Math.max(Math.min(m,T),M)}},35001:(ee,y,r)=>{"use strict";var s;s={value:!0},y.default=z;var c=T(r(96540)),f=m(r(5556)),g=m(r(43591)),N=m(r(71508));function m(l){return l&&l.__esModule?l:{default:l}}function M(l){if(typeof WeakMap!="function")return null;var u=new WeakMap,d=new WeakMap;return(M=function(n){return n?d:u})(l)}function T(l,u){if(!u&&l&&l.__esModule)return l;if(l===null||typeof l!="object"&&typeof l!="function")return{default:l};var d=M(u);if(d&&d.has(l))return d.get(l);var n={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in l)if(o!=="default"&&Object.prototype.hasOwnProperty.call(l,o)){var p=a?Object.getOwnPropertyDescriptor(l,o):null;p&&(p.get||p.set)?Object.defineProperty(n,o,p):n[o]=l[o]}return n.default=l,d&&d.set(l,n),n}function A(){return A=Object.assign?Object.assign.bind():function(l){for(var u=1;u<arguments.length;u++){var d=arguments[u];for(var n in d)Object.prototype.hasOwnProperty.call(d,n)&&(l[n]=d[n])}return l},A.apply(this,arguments)}function W(l,u,d){return u=R(u),u in l?Object.defineProperty(l,u,{value:d,enumerable:!0,configurable:!0,writable:!0}):l[u]=d,l}function R(l){var u=j(l,"string");return typeof u=="symbol"?u:String(u)}function j(l,u){if(typeof l!="object"||l===null)return l;var d=l[Symbol.toPrimitive];if(d!==void 0){var n=d.call(l,u||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(u==="string"?String:Number)(l)}const X="react-grid-layout";function z(l){var u;return u=class extends c.Component{constructor(){super(...arguments),W(this,"state",{width:1280}),W(this,"elementRef",c.createRef()),W(this,"mounted",!1),W(this,"resizeObserver",void 0)}componentDidMount(){this.mounted=!0,this.resizeObserver=new g.default(a=>{if(this.elementRef.current instanceof HTMLElement){const p=a[0].contentRect.width;this.setState({width:p})}});const n=this.elementRef.current;n instanceof HTMLElement&&this.resizeObserver.observe(n)}componentWillUnmount(){this.mounted=!1;const n=this.elementRef.current;n instanceof HTMLElement&&this.resizeObserver.unobserve(n),this.resizeObserver.disconnect()}render(){const{measureBeforeMount:n,...a}=this.props;return n&&!this.mounted?c.createElement("div",{className:(0,N.default)(this.props.className,X),style:this.props.style,ref:this.elementRef}):c.createElement(l,A({innerRef:this.elementRef},a,this.state))}},W(u,"defaultProps",{measureBeforeMount:!1}),W(u,"propTypes",{measureBeforeMount:f.default.bool}),u}},72590:ee=>{ee.exports=function(r,s,c){return r===s?!0:r.className===s.className&&c(r.style,s.style)&&r.width===s.width&&r.autoSize===s.autoSize&&r.cols===s.cols&&r.draggableCancel===s.draggableCancel&&r.draggableHandle===s.draggableHandle&&c(r.verticalCompact,s.verticalCompact)&&c(r.compactType,s.compactType)&&c(r.layout,s.layout)&&c(r.margin,s.margin)&&c(r.containerPadding,s.containerPadding)&&r.rowHeight===s.rowHeight&&r.maxRows===s.maxRows&&r.isBounded===s.isBounded&&r.isDraggable===s.isDraggable&&r.isResizable===s.isResizable&&r.allowOverlap===s.allowOverlap&&r.preventCollision===s.preventCollision&&r.useCSSTransforms===s.useCSSTransforms&&r.transformScale===s.transformScale&&r.isDroppable===s.isDroppable&&c(r.resizeHandles,s.resizeHandles)&&c(r.resizeHandle,s.resizeHandle)&&r.onLayoutChange===s.onLayoutChange&&r.onDragStart===s.onDragStart&&r.onDrag===s.onDrag&&r.onDragStop===s.onDragStop&&r.onResizeStart===s.onResizeStart&&r.onResize===s.onResize&&r.onResizeStop===s.onResizeStop&&r.onDrop===s.onDrop&&c(r.droppingItem,s.droppingItem)&&c(r.innerRef,s.innerRef)}},3108:(ee,y,r)=>{"use strict";Object.defineProperty(y,"__esModule",{value:!0}),y.findOrGenerateResponsiveLayout=g,y.getBreakpointFromWidth=c,y.getColsFromBreakpoint=f,y.sortBreakpoints=N;var s=r(38426);function c(m,M){const T=N(m);let A=T[0];for(let W=1,R=T.length;W<R;W++){const j=T[W];M>m[j]&&(A=j)}return A}function f(m,M){if(!M[m])throw new Error("ResponsiveReactGridLayout: `cols` entry for breakpoint "+m+" is missing!");return M[m]}function g(m,M,T,A,W,R){if(m[T])return(0,s.cloneLayout)(m[T]);let j=m[A];const X=N(M),z=X.slice(X.indexOf(T));for(let l=0,u=z.length;l<u;l++){const d=z[l];if(m[d]){j=m[d];break}}return j=(0,s.cloneLayout)(j||[]),(0,s.compact)((0,s.correctBounds)(j,{cols:W}),R,W)}function N(m){return Object.keys(m).sort(function(T,A){return m[T]-m[A]})}},38426:(ee,y,r)=>{"use strict";Object.defineProperty(y,"__esModule",{value:!0}),y.bottom=m,y.childrenEqual=R,y.cloneLayout=M,y.cloneLayoutItem=W,y.collides=z,y.compact=l,y.compactItem=n,y.compactType=w,y.correctBounds=a,y.fastPositionEqual=X,y.fastRGLPropsEqual=void 0,y.getAllCollisions=P,y.getFirstCollision=p,y.getLayoutItem=o,y.getStatics=S,y.modifyLayout=T,y.moveElement=D,y.moveElementAwayFromCollision=b,y.noop=void 0,y.perc=B,y.resizeItemInDirection=ue,y.setTopLeft=C,y.setTransform=se,y.sortLayoutItems=I,y.sortLayoutItemsByColRow=k,y.sortLayoutItemsByRowCol=K,y.synchronizeLayoutWithChildren=q,y.validateLayout=O,y.withLayoutItem=A;var s=r(87953),c=f(r(96540));function f(e){return e&&e.__esModule?e:{default:e}}const g=!0,N=!1;function m(e){let t=0,i;for(let h=0,x=e.length;h<x;h++)i=e[h].y+e[h].h,i>t&&(t=i);return t}function M(e){const t=Array(e.length);for(let i=0,h=e.length;i<h;i++)t[i]=W(e[i]);return t}function T(e,t){const i=Array(e.length);for(let h=0,x=e.length;h<x;h++)t.i===e[h].i?i[h]=t:i[h]=e[h];return i}function A(e,t,i){let h=o(e,t);return h?(h=i(W(h)),e=T(e,h),[e,h]):[e,null]}function W(e){return{w:e.w,h:e.h,x:e.x,y:e.y,i:e.i,minW:e.minW,maxW:e.maxW,minH:e.minH,maxH:e.maxH,moved:!!e.moved,static:!!e.static,isDraggable:e.isDraggable,isResizable:e.isResizable,resizeHandles:e.resizeHandles,isBounded:e.isBounded}}function R(e,t){return(0,s.deepEqual)(c.default.Children.map(e,i=>i?.key),c.default.Children.map(t,i=>i?.key))&&(0,s.deepEqual)(c.default.Children.map(e,i=>i?.props["data-grid"]),c.default.Children.map(t,i=>i?.props["data-grid"]))}const j=y.fastRGLPropsEqual=r(72590);function X(e,t){return e.left===t.left&&e.top===t.top&&e.width===t.width&&e.height===t.height}function z(e,t){return!(e.i===t.i||e.x+e.w<=t.x||e.x>=t.x+t.w||e.y+e.h<=t.y||e.y>=t.y+t.h)}function l(e,t,i,h){const x=S(e),L=I(e,t),H=Array(e.length);for(let Y=0,ne=L.length;Y<ne;Y++){let re=W(L[Y]);re.static||(re=n(x,re,t,i,L,h),x.push(re)),H[e.indexOf(L[Y])]=re,re.moved=!1}return H}const u={x:"w",y:"h"};function d(e,t,i,h){const x=u[h];t[h]+=1;const L=e.map(H=>H.i).indexOf(t.i);for(let H=L+1;H<e.length;H++){const Y=e[H];if(!Y.static){if(Y.y>t.y+t.h)break;z(t,Y)&&d(e,Y,i+t[x],h)}}t[h]=i}function n(e,t,i,h,x,L){const H=i==="vertical",Y=i==="horizontal";if(H)for(t.y=Math.min(m(e),t.y);t.y>0&&!p(e,t);)t.y--;else if(Y)for(;t.x>0&&!p(e,t);)t.x--;let ne;for(;(ne=p(e,t))&&!(i===null&&L);)if(Y?d(x,t,ne.x+ne.w,"x"):d(x,t,ne.y+ne.h,"y"),Y&&t.x+t.w>h)for(t.x=h-t.w,t.y++;t.x>0&&!p(e,t);)t.x--;return t.y=Math.max(t.y,0),t.x=Math.max(t.x,0),t}function a(e,t){const i=S(e);for(let h=0,x=e.length;h<x;h++){const L=e[h];if(L.x+L.w>t.cols&&(L.x=t.cols-L.w),L.x<0&&(L.x=0,L.w=t.cols),!L.static)i.push(L);else for(;p(i,L);)L.y++}return e}function o(e,t){for(let i=0,h=e.length;i<h;i++)if(e[i].i===t)return e[i]}function p(e,t){for(let i=0,h=e.length;i<h;i++)if(z(e[i],t))return e[i]}function P(e,t){return e.filter(i=>z(i,t))}function S(e){return e.filter(t=>t.static)}function D(e,t,i,h,x,L,H,Y,ne){if(t.static&&t.isDraggable!==!0||t.y===h&&t.x===i)return e;v(`Moving element ${t.i} to [${String(i)},${String(h)}] from [${t.x},${t.y}]`);const re=t.x,fe=t.y;typeof i=="number"&&(t.x=i),typeof h=="number"&&(t.y=h),t.moved=!0;let le=I(e,H);(H==="vertical"&&typeof h=="number"?fe>=h:H==="horizontal"&&typeof i=="number"?re>=i:!1)&&(le=le.reverse());const he=P(le,t),pe=he.length>0;if(pe&&ne)return M(e);if(pe&&L)return v(`Collision prevented on ${t.i}, reverting.`),t.x=re,t.y=fe,t.moved=!1,e;for(let ge=0,me=he.length;ge<me;ge++){const ce=he[ge];v(`Resolving collision between ${t.i} at [${t.x},${t.y}] and ${ce.i} at [${ce.x},${ce.y}]`),!ce.moved&&(ce.static?e=b(e,ce,t,x,H,Y):e=b(e,t,ce,x,H,Y))}return e}function b(e,t,i,h,x,L){const H=x==="horizontal",Y=x==="vertical",ne=t.static;if(h){h=!1;const le={x:H?Math.max(t.x-i.w,0):i.x,y:Y?Math.max(t.y-i.h,0):i.y,w:i.w,h:i.h,i:"-1"},de=p(e,le),he=de&&de.y+de.h>t.y,pe=de&&t.x+t.w>de.x;if(de){if(he&&Y)return D(e,i,void 0,t.y+1,h,ne,x,L);if(he&&x==null)return t.y=i.y,i.y=i.y+i.h,e;if(pe&&H)return D(e,t,i.x,void 0,h,ne,x,L)}else return v(`Doing reverse collision on ${i.i} up to [${le.x},${le.y}].`),D(e,i,H?le.x:void 0,Y?le.y:void 0,h,ne,x,L)}const re=H?i.x+1:void 0,fe=Y?i.y+1:void 0;return re==null&&fe==null?e:D(e,i,H?i.x+1:void 0,Y?i.y+1:void 0,h,ne,x,L)}function B(e){return e*100+"%"}const U=(e,t,i,h)=>e+i>h?t:i,F=(e,t,i)=>e<0?t:i,G=e=>Math.max(0,e),$=e=>Math.max(0,e),V=(e,t,i)=>{let{left:h,height:x,width:L}=t;const H=e.top-(x-e.height);return{left:h,width:L,height:F(H,e.height,x),top:$(H)}},Q=(e,t,i)=>{let{top:h,left:x,height:L,width:H}=t;return{top:h,height:L,width:U(e.left,e.width,H,i),left:G(x)}},Z=(e,t,i)=>{let{top:h,height:x,width:L}=t;const H=e.left-(L-e.width);return{height:x,width:H<0?e.width:U(e.left,e.width,L,i),top:$(h),left:G(H)}},_=(e,t,i)=>{let{top:h,left:x,height:L,width:H}=t;return{width:H,left:x,height:F(h,e.height,L),top:$(h)}},ie={n:V,ne:function(){return V(arguments.length<=0?void 0:arguments[0],Q(...arguments),arguments.length<=2?void 0:arguments[2])},e:Q,se:function(){return _(arguments.length<=0?void 0:arguments[0],Q(...arguments),arguments.length<=2?void 0:arguments[2])},s:_,sw:function(){return _(arguments.length<=0?void 0:arguments[0],Z(...arguments),arguments.length<=2?void 0:arguments[2])},w:Z,nw:function(){return V(arguments.length<=0?void 0:arguments[0],Z(...arguments),arguments.length<=2?void 0:arguments[2])}};function ue(e,t,i,h){const x=ie[e];return x?x(t,{...t,...i},h):i}function se(e){let{top:t,left:i,width:h,height:x}=e;const L=`translate(${i}px,${t}px)`;return{transform:L,WebkitTransform:L,MozTransform:L,msTransform:L,OTransform:L,width:`${h}px`,height:`${x}px`,position:"absolute"}}function C(e){let{top:t,left:i,width:h,height:x}=e;return{top:`${t}px`,left:`${i}px`,width:`${h}px`,height:`${x}px`,position:"absolute"}}function I(e,t){return t==="horizontal"?k(e):t==="vertical"?K(e):e}function K(e){return e.slice(0).sort(function(t,i){return t.y>i.y||t.y===i.y&&t.x>i.x?1:t.y===i.y&&t.x===i.x?0:-1})}function k(e){return e.slice(0).sort(function(t,i){return t.x>i.x||t.x===i.x&&t.y>i.y?1:-1})}function q(e,t,i,h,x){e=e||[];const L=[];c.default.Children.forEach(t,Y=>{if(Y?.key==null)return;const ne=o(e,String(Y.key)),re=Y.props["data-grid"];ne&&re==null?L.push(W(ne)):re?(g||O([re],"ReactGridLayout.children"),L.push(W({...re,i:Y.key}))):L.push(W({w:1,h:1,x:0,y:m(L),i:String(Y.key)}))});const H=a(L,{cols:i});return x?H:l(H,h,i)}function O(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"Layout";const i=["x","y","w","h"];if(!Array.isArray(e))throw new Error(t+" must be an array!");for(let h=0,x=e.length;h<x;h++){const L=e[h];for(let H=0;H<i.length;H++)if(typeof L[i[H]]!="number")throw new Error("ReactGridLayout: "+t+"["+h+"]."+i[H]+" must be a number!")}}function w(e){const{verticalCompact:t,compactType:i}=e||{};return t===!1?null:i}function v(){N&&console.log(...arguments)}const E=()=>{};y.noop=E},66816:(ee,y,r)=>{ee.exports=r(59742).default,ee.exports.utils=r(38426),ee.exports.calculateUtils=r(82134),ee.exports.Responsive=r(59864).default,ee.exports.Responsive.utils=r(3108),ee.exports.WidthProvider=r(35001).default},87953:function(ee,y){(function(r,s){s(y)})(this,function(r){"use strict";function s(C){return function(K,k,q,O,w,v,E){return C(K,k,E)}}function c(C){return function(K,k,q,O){if(!K||!k||typeof K!="object"||typeof k!="object")return C(K,k,q,O);var w=O.get(K),v=O.get(k);if(w&&v)return w===k&&v===K;O.set(K,k),O.set(k,K);var E=C(K,k,q,O);return O.delete(K),O.delete(k),E}}function f(C,I){var K={};for(var k in C)K[k]=C[k];for(var k in I)K[k]=I[k];return K}function g(C){return C.constructor===Object||C.constructor==null}function N(C){return typeof C.then=="function"}function m(C,I){return C===I||C!==C&&I!==I}var M="[object Arguments]",T="[object Boolean]",A="[object Date]",W="[object RegExp]",R="[object Map]",j="[object Number]",X="[object Object]",z="[object Set]",l="[object String]",u=Object.prototype.toString;function d(C){var I=C.areArraysEqual,K=C.areDatesEqual,k=C.areMapsEqual,q=C.areObjectsEqual,O=C.areRegExpsEqual,w=C.areSetsEqual,v=C.createIsNestedEqual,E=v(e);function e(t,i,h){if(t===i)return!0;if(!t||!i||typeof t!="object"||typeof i!="object")return t!==t&&i!==i;if(g(t)&&g(i))return q(t,i,E,h);var x=Array.isArray(t),L=Array.isArray(i);if(x||L)return x===L&&I(t,i,E,h);var H=u.call(t);return H!==u.call(i)?!1:H===A?K(t,i,E,h):H===W?O(t,i,E,h):H===R?k(t,i,E,h):H===z?w(t,i,E,h):H===X||H===M?N(t)||N(i)?!1:q(t,i,E,h):H===T||H===j||H===l?m(t.valueOf(),i.valueOf()):!1}return e}function n(C,I,K,k){var q=C.length;if(I.length!==q)return!1;for(;q-- >0;)if(!K(C[q],I[q],q,q,C,I,k))return!1;return!0}var a=c(n);function o(C,I){return m(C.valueOf(),I.valueOf())}function p(C,I,K,k){var q=C.size===I.size;if(!q)return!1;if(!C.size)return!0;var O={},w=0;return C.forEach(function(v,E){if(q){var e=!1,t=0;I.forEach(function(i,h){!e&&!O[t]&&(e=K(E,h,w,t,C,I,k)&&K(v,i,E,h,C,I,k))&&(O[t]=!0),t++}),w++,q=e}}),q}var P=c(p),S="_owner",D=Object.prototype.hasOwnProperty;function b(C,I,K,k){var q=Object.keys(C),O=q.length;if(Object.keys(I).length!==O)return!1;for(var w;O-- >0;){if(w=q[O],w===S){var v=!!C.$$typeof,E=!!I.$$typeof;if((v||E)&&v!==E)return!1}if(!D.call(I,w)||!K(C[w],I[w],w,w,C,I,k))return!1}return!0}var B=c(b);function U(C,I){return C.source===I.source&&C.flags===I.flags}function F(C,I,K,k){var q=C.size===I.size;if(!q)return!1;if(!C.size)return!0;var O={};return C.forEach(function(w,v){if(q){var E=!1,e=0;I.forEach(function(t,i){!E&&!O[e]&&(E=K(w,t,v,i,C,I,k))&&(O[e]=!0),e++}),q=E}}),q}var G=c(F),$=Object.freeze({areArraysEqual:n,areDatesEqual:o,areMapsEqual:p,areObjectsEqual:b,areRegExpsEqual:U,areSetsEqual:F,createIsNestedEqual:s}),V=Object.freeze({areArraysEqual:a,areDatesEqual:o,areMapsEqual:P,areObjectsEqual:B,areRegExpsEqual:U,areSetsEqual:G,createIsNestedEqual:s}),Q=d($);function Z(C,I){return Q(C,I,void 0)}var _=d(f($,{createIsNestedEqual:function(){return m}}));function ae(C,I){return _(C,I,void 0)}var te=d(V);function oe(C,I){return te(C,I,new WeakMap)}var J=d(f(V,{createIsNestedEqual:function(){return m}}));function ie(C,I){return J(C,I,new WeakMap)}function ue(C){return d(f($,C($)))}function se(C){var I=d(f(V,C(V)));return function(K,k,q){return q===void 0&&(q=new WeakMap),I(K,k,q)}}r.circularDeepEqual=oe,r.circularShallowEqual=ie,r.createCustomCircularEqual=se,r.createCustomEqual=ue,r.deepEqual=Z,r.sameValueZeroEqual=m,r.shallowEqual=ae,Object.defineProperty(r,"__esModule",{value:!0})})}}]);

//# sourceMappingURL=6263.5a786bf1580f63c0220d.js.map