omegga 1.2.0 → 1.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/dist/cli/terminal.js +7 -3
  2. package/dist/cli/terminal.js.map +1 -1
  3. package/dist/omegga/matchers/join.js +3 -2
  4. package/dist/omegga/matchers/join.js.map +1 -1
  5. package/dist/omegga/player.js +1 -1
  6. package/dist/omegga/player.js.map +1 -1
  7. package/dist/omegga/plugin/plugin_node_safe/proxyOmegga.d.ts +1 -0
  8. package/dist/omegga/plugin/plugin_node_safe/proxyOmegga.js.map +1 -1
  9. package/dist/omegga/server.d.ts +1 -0
  10. package/dist/omegga/server.js +4 -2
  11. package/dist/omegga/server.js.map +1 -1
  12. package/dist/plugin.d.ts +1 -0
  13. package/dist/plugin.js.map +1 -1
  14. package/dist/webserver/backend/api.d.ts +1 -0
  15. package/dist/webserver/backend/api.js.map +1 -1
  16. package/dist/webserver/backend/database.d.ts +2 -0
  17. package/dist/webserver/backend/database.js +21 -3
  18. package/dist/webserver/backend/database.js.map +1 -1
  19. package/dist/webserver/backend/metrics.js +6 -4
  20. package/dist/webserver/backend/metrics.js.map +1 -1
  21. package/package.json +1 -1
  22. package/public/app.html +12 -4
  23. package/public/assets/app-CtCP4WJN.js +6 -0
  24. package/public/assets/{app-CRu25Om6.js.map → app-CtCP4WJN.js.map} +1 -1
  25. package/public/assets/auth-CvxEWAMc.js +2 -0
  26. package/public/assets/auth-CvxEWAMc.js.map +1 -0
  27. package/public/assets/{index-CtY8r8rg.js → index-BC_vZ56r.js} +6 -5
  28. package/public/assets/index-BC_vZ56r.js.map +1 -0
  29. package/public/assets/index-DYcAgWjJ.js +2 -0
  30. package/public/assets/index-DYcAgWjJ.js.map +1 -0
  31. package/public/assets/shared/@components-B442wlEb.js +2 -0
  32. package/public/assets/shared/@components-B442wlEb.js.map +1 -0
  33. package/public/auth.html +7 -3
  34. package/templates/safe-ts/omegga.d.ts +1 -0
  35. package/public/assets/app-CRu25Om6.js +0 -6
  36. package/public/assets/auth-DdQ5DJ5h.js +0 -2
  37. package/public/assets/auth-DdQ5DJ5h.js.map +0 -1
  38. package/public/assets/index-CtY8r8rg.js.map +0 -1
  39. package/public/assets/index-DaWNRjkx.js +0 -2
  40. package/public/assets/index-DaWNRjkx.js.map +0 -1
  41. package/public/assets/shared/@components-BiaBe0jO.js +0 -2
  42. package/public/assets/shared/@components-BiaBe0jO.js.map +0 -1
@@ -0,0 +1,6 @@
1
+ import{c as ln}from"./client-C5T7_OK9.js";import{j as e}from"./jsx-runtime-DoEZbXM1.js";import{r as z,a as cn}from"./index-i4mjW0og.js";import{N as Pe,P as Ne,S as Ee,r as V,I as un,C as dn,s as De,i as Be,a as be,U as Ct,L as Ft,b as Er,c as ge,D as Tt,T as xe,d as Re,e as hn,f as fn,R as pn,u as Or,$ as _r,g as mn,h as gn,j as yn,k as vn,l as xn,m as bn,n as jn}from"./index-BC_vZ56r.js";import{u as Oe,L as nt,a as Lt,S as zr,R as me,b as wn,c as Sn}from"./index-CRRRLlCc.js";import{duration as ue,isoTime as Rn,heartbeatAgo as kr,isoDate as Gt,debounce as Wt,logout as Cn}from"./shared/@utils-BQyGUOvP.js";import{a as A,L as he,F as We,I as ie,H as qt,D as Mr,M as Tr,P as kt,u as ut}from"./index-DYcAgWjJ.js";import{I as Dn,a as dt,b as Pn,c as Nn,d as En,e as On,f as $t,g as _n,h as ht,i as zn,j as bt,k as kn,l as Lr,m as Wr,n as Mn,o as ft,p as qr,q as Hr,r as Tn,s as Ln,t as Wn,u as qn,v as Hn,w as An,x as In,y as Ar,z as Un,A as Bn,B as Yt,C as Xt,D as Ir,E as Ur,F as Fn,G as Gn,H as $n,J as Yn}from"./IconWorldPlus-CMeE6oOX.js";import pt from"./IconArrowRight-CA5_cccJ.js";import{a as Xn,g as Vn}from"./_commonjsHelpers-CE1G-McA.js";import{r as fe}from"./index-c0qeY2gs.js";import{r as Ht}from"./index-DqHVrEeL.js";import{I as Kn,a as Br,b as mt,c as Fr,d as Vt,e as Jn}from"./IconWorld-DtARpBKX.js";import{a as st}from"./IconX-SYtbnYKI.js";import{I as Zn}from"./IconCheck-Dyq5qyY1.js";import{useStore as Ce}from"./shared/@nanostores_react-HTG3s0lp.js";import{useSaved as Qn,SavedSpan as es,SavedStatus as ts}from"./shared/@hooks-DfTzYBIL.js";import{a as Gr}from"./index-CSV4ZXsq.js";import"./jsx-runtime-Bw5QeaCk.js";import"./index-CJ4e7_2M.js";let gt=-1,yt=-1,He=!1,Ae,$e;const de=document.createElement("div");Object.assign(de.style,{position:"fixed",left:"-1000px",top:"-1000px",border:"2px solid black",background:"white",fontFamily:"Glacial Indifference",fontWeight:"bold",fontSize:"16px",padding:"8px",maxWidth:"300px",zIndex:"100000",borderRadius:"8px",pointerEvents:"none",opacity:0,transition:"opacity .2s ease"});de.innerText="";document.body.appendChild(de);document.body.addEventListener("mousemove",t=>{gt=t.clientX,yt=t.clientY,Ae&&$r()});function $r(){const t=document.body.clientWidth,l=document.body.clientHeight;Object.assign(de.style,{left:gt+(gt<t/2?16:-16-de.clientWidth)+"px",top:yt+(yt<l/2?16:-16-de.clientHeight)+"px"})}function Yr(t){if(!t||!t.getAttribute)return;const l=t.getAttribute("data-tooltip");return l||Yr(t.parentNode??null)}function rs(){const t=document.elementFromPoint(gt,yt),l=Yr(t),s=de.innerText;!l&&He&&!Ae&&(He=!1,clearTimeout($e)),l&&!He&&!Ae?(clearTimeout($e),He=!0,$e=setTimeout(()=>{de.innerText=l,$r(),de.style.opacity="1",Ae=!0},400)):s!==l&&Ae&&He&&(clearTimeout($e),He=!1,$e=setTimeout(()=>{Ae=!1,Object.assign(de.style,{left:"-1000px",top:"-1000px"})},300),de.style.opacity="0")}setInterval(()=>{rs()},100);const ns=()=>e.jsxs(e.Fragment,{children:[e.jsx(Pe,{title:"Not Found"}),e.jsx(Ne,{children:e.jsx(Ee,{})})]}),Kt=["January","February","March","April","May","June","July","August","September","October","November","December"],je=(t,l=!1)=>Object.keys(t).map(Number).sort((s,f)=>l?f-s:s-f),ss=()=>{const[t,l]=Oe("/history/:time?"),s=l?.time,[f,b]=z.useState(!0),[m,g]=z.useState(!0),[w,R]=z.useState(!1),[j,k]=z.useState({}),[S,C]=z.useState(0),E=z.useMemo(()=>new Date().getFullYear(),[]),[x,p]=z.useState(E),r=z.useMemo(()=>new Date().getMonth(),[]),[a,n]=z.useState(r),o=z.useMemo(()=>new Date().getDate(),[]),h=z.useRef(null),[c,u]=z.useState(null),[i,v]=z.useState(null),N=z.useRef(null),D=z.useRef(null),O=z.useRef([]),_=z.useCallback(async()=>{b(!0);const M=await V("chat.calendar");k(M),b(!1)},[]),T=z.useCallback(M=>{if(!M.length)return;O.current=O.current.concat(M),O.current.sort((d,y)=>d.created-y.created);const W=O.current[0].created,$=O.current[O.current.length-1].created;for(let d=0;d<O.current.length;d++){const y=O.current[d],P=new Date(y.created);y.date=P.getDate(),d===0||y.date!==O.current[d-1].date?y.newDay=`${Kt[P.getMonth()]} ${y.date}, ${P.getFullYear()}`:y.newDay=void 0}N.current=W,D.current=$,C(d=>d+1)},[]),H=z.useCallback(async({before:M,after:W},$)=>{b(!0);const d=await V("chat.history",{before:M,after:W});return T(d),$==="bottom"&&O.current.length>200&&O.current.splice(0,O.current.length-200),$==="top"&&O.current.length>200&&O.current.splice(200,O.current.length-200),g(!1),b(!1),d},[]),F=()=>new Promise(M=>{const W=h.current?.querySelector(".scroll-scroller");window.requestAnimationFrame(()=>{W&&(W.scrollTop=W.scrollHeight,M())})});z.useEffect(()=>{const M=s&&new Date(s.match(/^\d+$/)?Number(s):s);(async()=>(m&&await _(),M&&!Number.isNaN(M.getTime())?(O.current=[],await H({before:M.getTime()-1}),await H({after:M.getTime()-1}),requestAnimationFrame(()=>{h.current?.querySelector(".focused")?.scrollIntoView({block:"center"})})):(O.current=[],await H({before:Date.now()}),F())))()},[s]);const B=async(M,W,$)=>{O.current=[],C(y=>y+1);const d=new Date(M,W,$).getTime();await H({after:d})},K=async()=>{if(c&&N.current&&N.current<=c)return;(await H({before:N.current},"top")).length===0&&u(N.current)},J=async()=>{if(i&&D.current&&D.current>=i)return;(await H({after:D.current},"bottom")).length===0&&v(D.current)},Q=z.useMemo(()=>je(j),[j]),Y=z.useMemo(()=>je(j,!0),[j]),te=z.useMemo(()=>{const M=Y.find(W=>W>x)??null;return M?[M,je(j[M])[0]]:null},[j,Y]),re=z.useMemo(()=>{const M=Q.find(W=>W<x)??null;return M?[M,je(j[M],!0)[0]]:null},[j,Q]),ae=z.useMemo(()=>{if(a!==11&&j[x]){const $=je(j[x]).find(d=>d>a);if(typeof $=="number")return[x,$]}const M=Q.find($=>$>x);if(!M)return null;const W=je(j[M])[0];return typeof W!="number"?null:[M,W]},[x,a,Q,j]),le=z.useMemo(()=>{if(a!==0&&j[x]){const $=je(j[x],!0).find(d=>d<a);if(typeof $=="number")return[x,$]}const M=Y.find($=>$<x);if(!M)return null;const W=je(j[M],!0)[0];return typeof W!="number"?null:[M,W]},[x,a,j]),oe=M=>{M&&(p(x),n(a))},ze=new Date(x,a+1,0).getDate(),ke=new Date(x,a,1).getDay();return e.jsxs(e.Fragment,{children:[e.jsx(Pe,{title:"History",children:e.jsxs("div",{className:"calendar-container",children:[e.jsxs(A,{normal:!0,boxy:!0,style:{marginRight:0},"data-tooltip":"Show a calendar previewing days",onClick:()=>R(!w),children:[e.jsx(Dn,{})," Calendar"]}),w&&e.jsxs("div",{className:"calendar",children:[e.jsxs("div",{className:"year",children:[e.jsx(A,{icon:!0,normal:!0,disabled:!re,onClick:()=>oe(re),children:e.jsx(dt,{})}),x,e.jsx(A,{icon:!0,normal:!0,disabled:!te,onClick:()=>oe(te),children:e.jsx(pt,{})})]}),e.jsxs("div",{className:"month",children:[e.jsx(A,{icon:!0,normal:!0,disabled:!le,onClick:()=>oe(le),children:e.jsx(dt,{})}),Kt[a],e.jsx(A,{icon:!0,normal:!0,disabled:!ae,onClick:()=>oe(ae),children:e.jsx(pt,{})})]}),e.jsxs("div",{className:"calendar-days",children:[e.jsx("div",{className:"week-header days",children:"S"}),e.jsx("div",{className:"week-header days",children:"M"}),e.jsx("div",{className:"week-header days",children:"T"}),e.jsx("div",{className:"week-header days",children:"W"}),e.jsx("div",{className:"week-header days",children:"T"}),e.jsx("div",{className:"week-header days",children:"F"}),e.jsx("div",{className:"week-header days",children:"S"}),Array.from({length:ke}).map((M,W)=>e.jsx("div",{},`empty-${W}`)),Array.from({length:ze}).map((M,W)=>e.jsx("div",{className:`days ${r===a&&E===x&&W+1===o?"today":""} ${!(r===a&&E===x&&W+1>o)&&j[x]?.[a]?.[W]?"available":""}`,onClick:()=>B(x,a,W+1),children:W+1},W))]})]})]})}),e.jsxs(Ne,{children:[e.jsx(Ee,{}),e.jsx("div",{className:"generic-container history-container",ref:h,children:e.jsxs("div",{className:"chat-history",children:[e.jsx("div",{className:"scroll-container",children:e.jsx(un,{loading:f,onTop:K,onBottom:J,onTopScrollsToBottom:!1,offset:500,className:"scroll-scroller",children:O.current.map(M=>e.jsxs(cn.Fragment,{children:[M.newDay&&e.jsx("div",{className:"chat-new-day",children:M.newDay}),e.jsx(dn,{log:M},M._id)]},M._id))})}),e.jsx(he,{active:f&&m,size:"huge",children:"Loading Chat"})]})})]})]})};var Dt={exports:{}},Ye={},rt={exports:{}},as=rt.exports,Jt;function At(){return Jt||(Jt=1,function(t,l){(function(s,f){f(l)})(as,function(s){function f(M){return function($,d,y,P,L,I,q){return M($,d,q)}}function b(M){return function($,d,y,P){if(!$||!d||typeof $!="object"||typeof d!="object")return M($,d,y,P);var L=P.get($),I=P.get(d);if(L&&I)return L===d&&I===$;P.set($,d),P.set(d,$);var q=M($,d,y,P);return P.delete($),P.delete(d),q}}function m(M,W){var $={};for(var d in M)$[d]=M[d];for(var d in W)$[d]=W[d];return $}function g(M){return M.constructor===Object||M.constructor==null}function w(M){return typeof M.then=="function"}function R(M,W){return M===W||M!==M&&W!==W}var j="[object Arguments]",k="[object Boolean]",S="[object Date]",C="[object RegExp]",E="[object Map]",x="[object Number]",p="[object Object]",r="[object Set]",a="[object String]",n=Object.prototype.toString;function o(M){var W=M.areArraysEqual,$=M.areDatesEqual,d=M.areMapsEqual,y=M.areObjectsEqual,P=M.areRegExpsEqual,L=M.areSetsEqual,I=M.createIsNestedEqual,q=I(G);function G(U,X,ee){if(U===X)return!0;if(!U||!X||typeof U!="object"||typeof X!="object")return U!==U&&X!==X;if(g(U)&&g(X))return y(U,X,q,ee);var Me=Array.isArray(U),ce=Array.isArray(X);if(Me||ce)return Me===ce&&W(U,X,q,ee);var se=n.call(U);return se!==n.call(X)?!1:se===S?$(U,X,q,ee):se===C?P(U,X,q,ee):se===E?d(U,X,q,ee):se===r?L(U,X,q,ee):se===p||se===j?w(U)||w(X)?!1:y(U,X,q,ee):se===k||se===x||se===a?R(U.valueOf(),X.valueOf()):!1}return G}function h(M,W,$,d){var y=M.length;if(W.length!==y)return!1;for(;y-- >0;)if(!$(M[y],W[y],y,y,M,W,d))return!1;return!0}var c=b(h);function u(M,W){return R(M.valueOf(),W.valueOf())}function i(M,W,$,d){var y=M.size===W.size;if(!y)return!1;if(!M.size)return!0;var P={},L=0;return M.forEach(function(I,q){if(y){var G=!1,U=0;W.forEach(function(X,ee){!G&&!P[U]&&(G=$(q,ee,L,U,M,W,d)&&$(I,X,q,ee,M,W,d))&&(P[U]=!0),U++}),L++,y=G}}),y}var v=b(i),N="_owner",D=Object.prototype.hasOwnProperty;function O(M,W,$,d){var y=Object.keys(M),P=y.length;if(Object.keys(W).length!==P)return!1;for(var L;P-- >0;){if(L=y[P],L===N){var I=!!M.$$typeof,q=!!W.$$typeof;if((I||q)&&I!==q)return!1}if(!D.call(W,L)||!$(M[L],W[L],L,L,M,W,d))return!1}return!0}var _=b(O);function T(M,W){return M.source===W.source&&M.flags===W.flags}function H(M,W,$,d){var y=M.size===W.size;if(!y)return!1;if(!M.size)return!0;var P={};return M.forEach(function(L,I){if(y){var q=!1,G=0;W.forEach(function(U,X){!q&&!P[G]&&(q=$(L,U,I,X,M,W,d))&&(P[G]=!0),G++}),y=q}}),y}var F=b(H),B=Object.freeze({areArraysEqual:h,areDatesEqual:u,areMapsEqual:i,areObjectsEqual:O,areRegExpsEqual:T,areSetsEqual:H,createIsNestedEqual:f}),K=Object.freeze({areArraysEqual:c,areDatesEqual:u,areMapsEqual:v,areObjectsEqual:_,areRegExpsEqual:T,areSetsEqual:F,createIsNestedEqual:f}),J=o(B);function Q(M,W){return J(M,W,void 0)}var Y=o(m(B,{createIsNestedEqual:function(){return R}}));function te(M,W){return Y(M,W,void 0)}var re=o(K);function ae(M,W){return re(M,W,new WeakMap)}var le=o(m(K,{createIsNestedEqual:function(){return R}}));function oe(M,W){return le(M,W,new WeakMap)}function ze(M){return o(m(B,M(B)))}function ke(M){var W=o(m(K,M(K)));return function($,d,y){return y===void 0&&(y=new WeakMap),W($,d,y)}}s.circularDeepEqual=ae,s.circularShallowEqual=oe,s.createCustomCircularEqual=ke,s.createCustomEqual=ze,s.deepEqual=Q,s.sameValueZeroEqual=R,s.shallowEqual=te,Object.defineProperty(s,"__esModule",{value:!0})})}(rt,rt.exports)),rt.exports}var it={exports:{}},Zt;function jt(){if(Zt)return it.exports;Zt=1;function t(s){var f,b,m="";if(typeof s=="string"||typeof s=="number")m+=s;else if(typeof s=="object")if(Array.isArray(s)){var g=s.length;for(f=0;f<g;f++)s[f]&&(b=t(s[f]))&&(m&&(m+=" "),m+=b)}else for(b in s)s[b]&&(m&&(m+=" "),m+=b);return m}function l(){for(var s,f,b=0,m="",g=arguments.length;b<g;b++)(s=arguments[b])&&(f=t(s))&&(m&&(m+=" "),m+=f);return m}return it.exports=l,it.exports.clsx=l,it.exports}var Z={},Pt,Qt;function is(){return Qt||(Qt=1,Pt=function(l,s,f){return l===s?!0:l.className===s.className&&f(l.style,s.style)&&l.width===s.width&&l.autoSize===s.autoSize&&l.cols===s.cols&&l.draggableCancel===s.draggableCancel&&l.draggableHandle===s.draggableHandle&&f(l.verticalCompact,s.verticalCompact)&&f(l.compactType,s.compactType)&&f(l.layout,s.layout)&&f(l.margin,s.margin)&&f(l.containerPadding,s.containerPadding)&&l.rowHeight===s.rowHeight&&l.maxRows===s.maxRows&&l.isBounded===s.isBounded&&l.isDraggable===s.isDraggable&&l.isResizable===s.isResizable&&l.allowOverlap===s.allowOverlap&&l.preventCollision===s.preventCollision&&l.useCSSTransforms===s.useCSSTransforms&&l.transformScale===s.transformScale&&l.isDroppable===s.isDroppable&&f(l.resizeHandles,s.resizeHandles)&&f(l.resizeHandle,s.resizeHandle)&&l.onLayoutChange===s.onLayoutChange&&l.onDragStart===s.onDragStart&&l.onDrag===s.onDrag&&l.onDragStop===s.onDragStop&&l.onResizeStart===s.onResizeStart&&l.onResize===s.onResize&&l.onResizeStop===s.onResizeStop&&l.onDrop===s.onDrop&&f(l.droppingItem,s.droppingItem)&&f(l.innerRef,s.innerRef)}),Pt}var er;function Ge(){if(er)return Z;er=1,Object.defineProperty(Z,"__esModule",{value:!0}),Z.bottom=f,Z.childrenEqual=R,Z.cloneLayout=b,Z.cloneLayoutItem=w,Z.collides=k,Z.compact=S,Z.compactItem=x,Z.compactType=M,Z.correctBounds=p,Z.fastPositionEqual=j,Z.fastRGLPropsEqual=void 0,Z.getAllCollisions=n,Z.getFirstCollision=a,Z.getLayoutItem=r,Z.getStatics=o,Z.modifyLayout=m,Z.moveElement=h,Z.moveElementAwayFromCollision=c,Z.noop=void 0,Z.perc=u,Z.resizeItemInDirection=Y,Z.setTopLeft=re,Z.setTransform=te,Z.sortLayoutItems=ae,Z.sortLayoutItemsByColRow=oe,Z.sortLayoutItemsByRowCol=le,Z.synchronizeLayoutWithChildren=ze,Z.validateLayout=ke,Z.withLayoutItem=g;var t=At(),l=s(fe());function s(d){return d&&d.__esModule?d:{default:d}}function f(d){let y=0,P;for(let L=0,I=d.length;L<I;L++)P=d[L].y+d[L].h,P>y&&(y=P);return y}function b(d){const y=Array(d.length);for(let P=0,L=d.length;P<L;P++)y[P]=w(d[P]);return y}function m(d,y){const P=Array(d.length);for(let L=0,I=d.length;L<I;L++)y.i===d[L].i?P[L]=y:P[L]=d[L];return P}function g(d,y,P){let L=r(d,y);return L?(L=P(w(L)),d=m(d,L),[d,L]):[d,null]}function w(d){return{w:d.w,h:d.h,x:d.x,y:d.y,i:d.i,minW:d.minW,maxW:d.maxW,minH:d.minH,maxH:d.maxH,moved:!!d.moved,static:!!d.static,isDraggable:d.isDraggable,isResizable:d.isResizable,resizeHandles:d.resizeHandles,isBounded:d.isBounded}}function R(d,y){return(0,t.deepEqual)(l.default.Children.map(d,P=>P?.key),l.default.Children.map(y,P=>P?.key))&&(0,t.deepEqual)(l.default.Children.map(d,P=>P?.props["data-grid"]),l.default.Children.map(y,P=>P?.props["data-grid"]))}Z.fastRGLPropsEqual=is();function j(d,y){return d.left===y.left&&d.top===y.top&&d.width===y.width&&d.height===y.height}function k(d,y){return!(d.i===y.i||d.x+d.w<=y.x||d.x>=y.x+y.w||d.y+d.h<=y.y||d.y>=y.y+y.h)}function S(d,y,P,L){const I=o(d),q=ae(d,y),G=Array(d.length);for(let U=0,X=q.length;U<X;U++){let ee=w(q[U]);ee.static||(ee=x(I,ee,y,P,q,L),I.push(ee)),G[d.indexOf(q[U])]=ee,ee.moved=!1}return G}const C={x:"w",y:"h"};function E(d,y,P,L){const I=C[L];y[L]+=1;const q=d.map(G=>G.i).indexOf(y.i);for(let G=q+1;G<d.length;G++){const U=d[G];if(!U.static){if(U.y>y.y+y.h)break;k(y,U)&&E(d,U,P+y[I],L)}}y[L]=P}function x(d,y,P,L,I,q){const G=P==="vertical",U=P==="horizontal";if(G)for(y.y=Math.min(f(d),y.y);y.y>0&&!a(d,y);)y.y--;else if(U)for(;y.x>0&&!a(d,y);)y.x--;let X;for(;(X=a(d,y))&&!(P===null&&q);)if(U?E(I,y,X.x+X.w,"x"):E(I,y,X.y+X.h,"y"),U&&y.x+y.w>L)for(y.x=L-y.w,y.y++;y.x>0&&!a(d,y);)y.x--;return y.y=Math.max(y.y,0),y.x=Math.max(y.x,0),y}function p(d,y){const P=o(d);for(let L=0,I=d.length;L<I;L++){const q=d[L];if(q.x+q.w>y.cols&&(q.x=y.cols-q.w),q.x<0&&(q.x=0,q.w=y.cols),!q.static)P.push(q);else for(;a(P,q);)q.y++}return d}function r(d,y){for(let P=0,L=d.length;P<L;P++)if(d[P].i===y)return d[P]}function a(d,y){for(let P=0,L=d.length;P<L;P++)if(k(d[P],y))return d[P]}function n(d,y){return d.filter(P=>k(P,y))}function o(d){return d.filter(y=>y.static)}function h(d,y,P,L,I,q,G,U,X){if(y.static&&y.isDraggable!==!0||y.y===L&&y.x===P)return d;`${y.i}${String(P)}${String(L)}${y.x}${y.y}`;const ee=y.x,Me=y.y;typeof P=="number"&&(y.x=P),typeof L=="number"&&(y.y=L),y.moved=!0;let ce=ae(d,G);(G==="vertical"&&typeof L=="number"?Me>=L:G==="horizontal"&&typeof P=="number"?ee>=P:!1)&&(ce=ce.reverse());const qe=n(ce,y),at=qe.length>0;if(at&&X)return b(d);if(at&&q)return`${y.i}`,y.x=ee,y.y=Me,y.moved=!1,d;for(let Rt=0,on=qe.length;Rt<on;Rt++){const Te=qe[Rt];`${y.i}${y.x}${y.y}${Te.i}${Te.x}${Te.y}`,!Te.moved&&(Te.static?d=c(d,Te,y,I,G):d=c(d,y,Te,I,G))}return d}function c(d,y,P,L,I,q){const G=I==="horizontal",U=I==="vertical",X=y.static;if(L){L=!1;const ce={x:G?Math.max(y.x-P.w,0):P.x,y:U?Math.max(y.y-P.h,0):P.y,w:P.w,h:P.h,i:"-1"},se=a(d,ce),qe=se&&se.y+se.h>y.y,at=se&&y.x+y.w>se.x;if(se){if(qe&&U)return h(d,P,void 0,y.y+1,L,X,I);if(qe&&I==null)return y.y=P.y,P.y=P.y+P.h,d;if(at&&G)return h(d,y,P.x,void 0,L,X,I)}else return`${P.i}${ce.x}${ce.y}`,h(d,P,G?ce.x:void 0,U?ce.y:void 0,L,X,I)}const ee=G?P.x+1:void 0,Me=U?P.y+1:void 0;return ee==null&&Me==null?d:h(d,P,G?P.x+1:void 0,U?P.y+1:void 0,L,X,I)}function u(d){return d*100+"%"}const i=(d,y,P,L)=>d+P>L?y:P,v=(d,y,P)=>d<0?y:P,N=d=>Math.max(0,d),D=d=>Math.max(0,d),O=(d,y,P)=>{let{left:L,height:I,width:q}=y;const G=d.top-(I-d.height);return{left:L,width:q,height:v(G,d.height,I),top:D(G)}},_=(d,y,P)=>{let{top:L,left:I,height:q,width:G}=y;return{top:L,height:q,width:i(d.left,d.width,G,P),left:N(I)}},T=(d,y,P)=>{let{top:L,height:I,width:q}=y;const G=d.left-(q-d.width);return{height:I,width:G<0?d.width:i(d.left,d.width,q,P),top:D(L),left:N(G)}},H=(d,y,P)=>{let{top:L,left:I,height:q,width:G}=y;return{width:G,left:I,height:v(L,d.height,q),top:D(L)}},Q={n:O,ne:function(){return O(arguments.length<=0?void 0:arguments[0],_(...arguments))},e:_,se:function(){return H(arguments.length<=0?void 0:arguments[0],_(...arguments))},s:H,sw:function(){return H(arguments.length<=0?void 0:arguments[0],T(...arguments))},w:T,nw:function(){return O(arguments.length<=0?void 0:arguments[0],T(...arguments))}};function Y(d,y,P,L){const I=Q[d];return I?I(y,{...y,...P},L):P}function te(d){let{top:y,left:P,width:L,height:I}=d;const q=`translate(${P}px,${y}px)`;return{transform:q,WebkitTransform:q,MozTransform:q,msTransform:q,OTransform:q,width:`${L}px`,height:`${I}px`,position:"absolute"}}function re(d){let{top:y,left:P,width:L,height:I}=d;return{top:`${y}px`,left:`${P}px`,width:`${L}px`,height:`${I}px`,position:"absolute"}}function ae(d,y){return y==="horizontal"?oe(d):y==="vertical"?le(d):d}function le(d){return d.slice(0).sort(function(y,P){return y.y>P.y||y.y===P.y&&y.x>P.x?1:y.y===P.y&&y.x===P.x?0:-1})}function oe(d){return d.slice(0).sort(function(y,P){return y.x>P.x||y.x===P.x&&y.y>P.y?1:-1})}function ze(d,y,P,L,I){d=d||[];const q=[];l.default.Children.forEach(y,U=>{if(U?.key==null)return;const X=r(d,String(U.key)),ee=U.props["data-grid"];X&&ee==null?q.push(w(X)):ee?q.push(w({...ee,i:U.key})):q.push(w({w:1,h:1,x:0,y:f(q),i:String(U.key)}))});const G=p(q,{cols:P});return I?G:S(G,L,P)}function ke(d){let y=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"Layout";const P=["x","y","w","h"];if(!Array.isArray(d))throw new Error(y+" must be an array!");for(let L=0,I=d.length;L<I;L++){const q=d[L];for(let G=0;G<P.length;G++){const U=P[G],X=q[U];if(typeof X!="number"||Number.isNaN(X))throw new Error(`ReactGridLayout: ${y}[${L}].${U} must be a number! Received: ${X} (${typeof X})`)}if(typeof q.i<"u"&&typeof q.i!="string")throw new Error(`ReactGridLayout: ${y}[${L}].i must be a string! Received: ${q.i} (${typeof q.i})`)}}function M(d){const{verticalCompact:y,compactType:P}=d||{};return y===!1?null:P}function W(){}const $=()=>{};return Z.noop=$,Z}var ye={},tr;function It(){if(tr)return ye;tr=1,Object.defineProperty(ye,"__esModule",{value:!0}),ye.calcGridColWidth=t,ye.calcGridItemPosition=s,ye.calcGridItemWHPx=l,ye.calcWH=b,ye.calcXY=f,ye.clamp=m;function t(g){const{margin:w,containerPadding:R,containerWidth:j,cols:k}=g;return(j-w[0]*(k-1)-R[0]*2)/k}function l(g,w,R){return Number.isFinite(g)?Math.round(w*g+Math.max(0,g-1)*R):g}function s(g,w,R,j,k,S){const{margin:C,containerPadding:E,rowHeight:x}=g,p=t(g),r={};return S&&S.resizing?(r.width=Math.round(S.resizing.width),r.height=Math.round(S.resizing.height)):(r.width=l(j,p,C[0]),r.height=l(k,x,C[1])),S&&S.dragging?(r.top=Math.round(S.dragging.top),r.left=Math.round(S.dragging.left)):S&&S.resizing&&typeof S.resizing.top=="number"&&typeof S.resizing.left=="number"?(r.top=Math.round(S.resizing.top),r.left=Math.round(S.resizing.left)):(r.top=Math.round((x+C[1])*R+E[1]),r.left=Math.round((p+C[0])*w+E[0])),r}function f(g,w,R,j,k){const{margin:S,containerPadding:C,cols:E,rowHeight:x,maxRows:p}=g,r=t(g);let a=Math.round((R-C[0])/(r+S[0])),n=Math.round((w-C[1])/(x+S[1]));return a=m(a,0,E-j),n=m(n,0,p-k),{x:a,y:n}}function b(g,w,R,j,k,S){const{margin:C,maxRows:E,cols:x,rowHeight:p}=g,r=t(g);let a=Math.round((w+C[0])/(r+C[0])),n=Math.round((R+C[1])/(p+C[1])),o=m(a,0,x-j),h=m(n,0,E-k);return["sw","w","nw"].indexOf(S)!==-1&&(o=m(a,0,x)),["nw","n","ne"].indexOf(S)!==-1&&(h=m(n,0,E)),{w:o,h}}function m(g,w,R){return Math.max(Math.min(g,R),w)}return ye}var Xe={},Nt={exports:{}},Et,rr;function os(){if(rr)return Et;rr=1;var t="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";return Et=t,Et}var Ot,nr;function ls(){if(nr)return Ot;nr=1;var t=os();function l(){}function s(){}return s.resetWarningCache=l,Ot=function(){function f(g,w,R,j,k,S){if(S!==t){var C=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw C.name="Invariant Violation",C}}f.isRequired=f;function b(){return f}var m={array:f,bigint:f,bool:f,func:f,number:f,object:f,string:f,symbol:f,any:f,arrayOf:b,element:f,elementType:f,instanceOf:b,node:f,objectOf:b,oneOf:b,oneOfType:b,shape:b,exact:b,checkPropTypes:s,resetWarningCache:l};return m.PropTypes=m,m},Ot}var sr;function _e(){return sr||(sr=1,Nt.exports=ls()()),Nt.exports}var Ve={exports:{}},_t={},ne={},we={},ar;function wt(){if(ar)return we;ar=1,Object.defineProperty(we,"__esModule",{value:!0}),we.dontSetMe=b,we.findInArray=t,we.int=f,we.isFunction=l,we.isNum=s;function t(m,g){for(let w=0,R=m.length;w<R;w++)if(g.apply(g,[m[w],w,m]))return m[w]}function l(m){return typeof m=="function"||Object.prototype.toString.call(m)==="[object Function]"}function s(m){return typeof m=="number"&&!isNaN(m)}function f(m){return parseInt(m,10)}function b(m,g,w){if(m[g])return new Error(`Invalid prop ${g} passed to ${w} - do not set this, set it on the child.`)}return we}var Se={},ir;function cs(){if(ir)return Se;ir=1,Object.defineProperty(Se,"__esModule",{value:!0}),Se.browserPrefixToKey=s,Se.browserPrefixToStyle=f,Se.default=void 0,Se.getPrefix=l;const t=["Moz","Webkit","O","ms"];function l(){let m=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"transform";if(typeof window>"u")return"";const g=window.document?.documentElement?.style;if(!g||m in g)return"";for(let w=0;w<t.length;w++)if(s(m,t[w])in g)return t[w];return""}function s(m,g){return g?`${g}${b(m)}`:m}function f(m,g){return g?`-${g.toLowerCase()}-${m}`:m}function b(m){let g="",w=!0;for(let R=0;R<m.length;R++)w?(g+=m[R].toUpperCase(),w=!1):m[R]==="-"?w=!0:g+=m[R];return g}return Se.default=l(),Se}var or;function Ut(){if(or)return ne;or=1,Object.defineProperty(ne,"__esModule",{value:!0}),ne.addClassName=c,ne.addEvent=g,ne.addUserSelectStyles=n,ne.createCSSTransform=E,ne.createSVGTransform=x,ne.getTouch=r,ne.getTouchIdentifier=a,ne.getTranslation=p,ne.innerHeight=k,ne.innerWidth=S,ne.matchesSelector=b,ne.matchesSelectorAndParentsTo=m,ne.offsetXYFromParent=C,ne.outerHeight=R,ne.outerWidth=j,ne.removeClassName=u,ne.removeEvent=w,ne.scheduleRemoveUserSelectStyles=o;var t=wt(),l=s(cs());function s(i,v){if(typeof WeakMap=="function")var N=new WeakMap,D=new WeakMap;return(s=function(O,_){if(!_&&O&&O.__esModule)return O;var T,H,F={__proto__:null,default:O};if(O===null||typeof O!="object"&&typeof O!="function")return F;if(T=_?D:N){if(T.has(O))return T.get(O);T.set(O,F)}for(const B in O)B!=="default"&&{}.hasOwnProperty.call(O,B)&&((H=(T=Object.defineProperty)&&Object.getOwnPropertyDescriptor(O,B))&&(H.get||H.set)?T(F,B,H):F[B]=O[B]);return F})(i,v)}let f="";function b(i,v){return f||(f=(0,t.findInArray)(["matches","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector"],function(N){return(0,t.isFunction)(i[N])})),(0,t.isFunction)(i[f])?i[f](v):!1}function m(i,v,N){let D=i;do{if(b(D,v))return!0;if(D===N)return!1;D=D.parentNode}while(D);return!1}function g(i,v,N,D){if(!i)return;const O={capture:!0,...D};i.addEventListener?i.addEventListener(v,N,O):i.attachEvent?i.attachEvent("on"+v,N):i["on"+v]=N}function w(i,v,N,D){if(!i)return;const O={capture:!0,...D};i.removeEventListener?i.removeEventListener(v,N,O):i.detachEvent?i.detachEvent("on"+v,N):i["on"+v]=null}function R(i){let v=i.clientHeight;const N=i.ownerDocument.defaultView.getComputedStyle(i);return v+=(0,t.int)(N.borderTopWidth),v+=(0,t.int)(N.borderBottomWidth),v}function j(i){let v=i.clientWidth;const N=i.ownerDocument.defaultView.getComputedStyle(i);return v+=(0,t.int)(N.borderLeftWidth),v+=(0,t.int)(N.borderRightWidth),v}function k(i){let v=i.clientHeight;const N=i.ownerDocument.defaultView.getComputedStyle(i);return v-=(0,t.int)(N.paddingTop),v-=(0,t.int)(N.paddingBottom),v}function S(i){let v=i.clientWidth;const N=i.ownerDocument.defaultView.getComputedStyle(i);return v-=(0,t.int)(N.paddingLeft),v-=(0,t.int)(N.paddingRight),v}function C(i,v,N){const O=v===v.ownerDocument.body?{left:0,top:0}:v.getBoundingClientRect(),_=(i.clientX+v.scrollLeft-O.left)/N,T=(i.clientY+v.scrollTop-O.top)/N;return{x:_,y:T}}function E(i,v){const N=p(i,v,"px");return{[(0,l.browserPrefixToKey)("transform",l.default)]:N}}function x(i,v){return p(i,v,"")}function p(i,v,N){let{x:D,y:O}=i,_=`translate(${D}${N},${O}${N})`;if(v){const T=`${typeof v.x=="string"?v.x:v.x+N}`,H=`${typeof v.y=="string"?v.y:v.y+N}`;_=`translate(${T}, ${H})`+_}return _}function r(i,v){return i.targetTouches&&(0,t.findInArray)(i.targetTouches,N=>v===N.identifier)||i.changedTouches&&(0,t.findInArray)(i.changedTouches,N=>v===N.identifier)}function a(i){if(i.targetTouches&&i.targetTouches[0])return i.targetTouches[0].identifier;if(i.changedTouches&&i.changedTouches[0])return i.changedTouches[0].identifier}function n(i){if(!i)return;let v=i.getElementById("react-draggable-style-el");v||(v=i.createElement("style"),v.type="text/css",v.id="react-draggable-style-el",v.innerHTML=`.react-draggable-transparent-selection *::-moz-selection {all: inherit;}
2
+ `,v.innerHTML+=`.react-draggable-transparent-selection *::selection {all: inherit;}
3
+ `,i.getElementsByTagName("head")[0].appendChild(v)),i.body&&c(i.body,"react-draggable-transparent-selection")}function o(i){window.requestAnimationFrame?window.requestAnimationFrame(()=>{h(i)}):h(i)}function h(i){if(i)try{if(i.body&&u(i.body,"react-draggable-transparent-selection"),i.selection)i.selection.empty();else{const v=(i.defaultView||window).getSelection();v&&v.type!=="Caret"&&v.removeAllRanges()}}catch{}}function c(i,v){i.classList?i.classList.add(v):i.className.match(new RegExp(`(?:^|\\s)${v}(?!\\S)`))||(i.className+=` ${v}`)}function u(i,v){i.classList?i.classList.remove(v):i.className=i.className.replace(new RegExp(`(?:^|\\s)${v}(?!\\S)`,"g"),"")}return ne}var pe={},lr;function Xr(){if(lr)return pe;lr=1,Object.defineProperty(pe,"__esModule",{value:!0}),pe.canDragX=b,pe.canDragY=m,pe.createCoreData=w,pe.createDraggableData=R,pe.getBoundPosition=s,pe.getControlPosition=g,pe.snapToGrid=f;var t=wt(),l=Ut();function s(S,C,E){if(!S.props.bounds)return[C,E];let{bounds:x}=S.props;x=typeof x=="string"?x:j(x);const p=k(S);if(typeof x=="string"){const{ownerDocument:r}=p,a=r.defaultView;let n;if(x==="parent"?n=p.parentNode:n=p.getRootNode().querySelector(x),!(n instanceof a.HTMLElement))throw new Error('Bounds selector "'+x+'" could not find an element.');const o=n,h=a.getComputedStyle(p),c=a.getComputedStyle(o);x={left:-p.offsetLeft+(0,t.int)(c.paddingLeft)+(0,t.int)(h.marginLeft),top:-p.offsetTop+(0,t.int)(c.paddingTop)+(0,t.int)(h.marginTop),right:(0,l.innerWidth)(o)-(0,l.outerWidth)(p)-p.offsetLeft+(0,t.int)(c.paddingRight)-(0,t.int)(h.marginRight),bottom:(0,l.innerHeight)(o)-(0,l.outerHeight)(p)-p.offsetTop+(0,t.int)(c.paddingBottom)-(0,t.int)(h.marginBottom)}}return(0,t.isNum)(x.right)&&(C=Math.min(C,x.right)),(0,t.isNum)(x.bottom)&&(E=Math.min(E,x.bottom)),(0,t.isNum)(x.left)&&(C=Math.max(C,x.left)),(0,t.isNum)(x.top)&&(E=Math.max(E,x.top)),[C,E]}function f(S,C,E){const x=Math.round(C/S[0])*S[0],p=Math.round(E/S[1])*S[1];return[x,p]}function b(S){return S.props.axis==="both"||S.props.axis==="x"}function m(S){return S.props.axis==="both"||S.props.axis==="y"}function g(S,C,E){const x=typeof C=="number"?(0,l.getTouch)(S,C):null;if(typeof C=="number"&&!x)return null;const p=k(E),r=E.props.offsetParent||p.offsetParent||p.ownerDocument.body;return(0,l.offsetXYFromParent)(x||S,r,E.props.scale)}function w(S,C,E){const x=!(0,t.isNum)(S.lastX),p=k(S);return x?{node:p,deltaX:0,deltaY:0,lastX:C,lastY:E,x:C,y:E}:{node:p,deltaX:C-S.lastX,deltaY:E-S.lastY,lastX:S.lastX,lastY:S.lastY,x:C,y:E}}function R(S,C){const E=S.props.scale;return{node:C.node,x:S.state.x+C.deltaX/E,y:S.state.y+C.deltaY/E,deltaX:C.deltaX/E,deltaY:C.deltaY/E,lastX:S.state.x,lastY:S.state.y}}function j(S){return{left:S.left,top:S.top,right:S.right,bottom:S.bottom}}function k(S){const C=S.findDOMNode();if(!C)throw new Error("<DraggableCore>: Unmounted during event!");return C}return pe}var Ke={},ot={},cr;function Vr(){if(cr)return ot;cr=1,Object.defineProperty(ot,"__esModule",{value:!0}),ot.default=t;function t(){}return ot}var ur;function us(){if(ur)return Ke;ur=1,Object.defineProperty(Ke,"__esModule",{value:!0}),Ke.default=void 0;var t=R(fe()),l=w(_e()),s=w(Ht()),f=Ut(),b=Xr(),m=wt(),g=w(Vr());function w(p){return p&&p.__esModule?p:{default:p}}function R(p,r){if(typeof WeakMap=="function")var a=new WeakMap,n=new WeakMap;return(R=function(o,h){if(!h&&o&&o.__esModule)return o;var c,u,i={__proto__:null,default:o};if(o===null||typeof o!="object"&&typeof o!="function")return i;if(c=h?n:a){if(c.has(o))return c.get(o);c.set(o,i)}for(const v in o)v!=="default"&&{}.hasOwnProperty.call(o,v)&&((u=(c=Object.defineProperty)&&Object.getOwnPropertyDescriptor(o,v))&&(u.get||u.set)?c(i,v,u):i[v]=o[v]);return i})(p,r)}function j(p,r,a){return(r=k(r))in p?Object.defineProperty(p,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):p[r]=a,p}function k(p){var r=S(p,"string");return typeof r=="symbol"?r:r+""}function S(p,r){if(typeof p!="object"||!p)return p;var a=p[Symbol.toPrimitive];if(a!==void 0){var n=a.call(p,r);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(r==="string"?String:Number)(p)}const C={touch:{start:"touchstart",move:"touchmove",stop:"touchend"},mouse:{start:"mousedown",move:"mousemove",stop:"mouseup"}};let E=C.mouse,x=class extends t.Component{constructor(){super(...arguments),j(this,"dragging",!1),j(this,"lastX",NaN),j(this,"lastY",NaN),j(this,"touchIdentifier",null),j(this,"mounted",!1),j(this,"handleDragStart",r=>{if(this.props.onMouseDown(r),!this.props.allowAnyClick&&typeof r.button=="number"&&r.button!==0)return!1;const a=this.findDOMNode();if(!a||!a.ownerDocument||!a.ownerDocument.body)throw new Error("<DraggableCore> not mounted on DragStart!");const{ownerDocument:n}=a;if(this.props.disabled||!(r.target instanceof n.defaultView.Node)||this.props.handle&&!(0,f.matchesSelectorAndParentsTo)(r.target,this.props.handle,a)||this.props.cancel&&(0,f.matchesSelectorAndParentsTo)(r.target,this.props.cancel,a))return;r.type==="touchstart"&&!this.props.allowMobileScroll&&r.preventDefault();const o=(0,f.getTouchIdentifier)(r);this.touchIdentifier=o;const h=(0,b.getControlPosition)(r,o,this);if(h==null)return;const{x:c,y:u}=h,i=(0,b.createCoreData)(this,c,u);(0,g.default)("DraggableCore: handleDragStart: %j",i),(0,g.default)("calling",this.props.onStart),!(this.props.onStart(r,i)===!1||this.mounted===!1)&&(this.props.enableUserSelectHack&&(0,f.addUserSelectStyles)(n),this.dragging=!0,this.lastX=c,this.lastY=u,(0,f.addEvent)(n,E.move,this.handleDrag),(0,f.addEvent)(n,E.stop,this.handleDragStop))}),j(this,"handleDrag",r=>{const a=(0,b.getControlPosition)(r,this.touchIdentifier,this);if(a==null)return;let{x:n,y:o}=a;if(Array.isArray(this.props.grid)){let u=n-this.lastX,i=o-this.lastY;if([u,i]=(0,b.snapToGrid)(this.props.grid,u,i),!u&&!i)return;n=this.lastX+u,o=this.lastY+i}const h=(0,b.createCoreData)(this,n,o);if((0,g.default)("DraggableCore: handleDrag: %j",h),this.props.onDrag(r,h)===!1||this.mounted===!1){try{this.handleDragStop(new MouseEvent("mouseup"))}catch{const i=document.createEvent("MouseEvents");i.initMouseEvent("mouseup",!0,!0,window,0,0,0,0,0,!1,!1,!1,!1,0,null),this.handleDragStop(i)}return}this.lastX=n,this.lastY=o}),j(this,"handleDragStop",r=>{if(!this.dragging)return;const a=(0,b.getControlPosition)(r,this.touchIdentifier,this);if(a==null)return;let{x:n,y:o}=a;if(Array.isArray(this.props.grid)){let i=n-this.lastX||0,v=o-this.lastY||0;[i,v]=(0,b.snapToGrid)(this.props.grid,i,v),n=this.lastX+i,o=this.lastY+v}const h=(0,b.createCoreData)(this,n,o);if(this.props.onStop(r,h)===!1||this.mounted===!1)return!1;const u=this.findDOMNode();u&&this.props.enableUserSelectHack&&(0,f.scheduleRemoveUserSelectStyles)(u.ownerDocument),(0,g.default)("DraggableCore: handleDragStop: %j",h),this.dragging=!1,this.lastX=NaN,this.lastY=NaN,u&&((0,g.default)("DraggableCore: Removing handlers"),(0,f.removeEvent)(u.ownerDocument,E.move,this.handleDrag),(0,f.removeEvent)(u.ownerDocument,E.stop,this.handleDragStop))}),j(this,"onMouseDown",r=>(E=C.mouse,this.handleDragStart(r))),j(this,"onMouseUp",r=>(E=C.mouse,this.handleDragStop(r))),j(this,"onTouchStart",r=>(E=C.touch,this.handleDragStart(r))),j(this,"onTouchEnd",r=>(E=C.touch,this.handleDragStop(r)))}componentDidMount(){this.mounted=!0;const r=this.findDOMNode();r&&(0,f.addEvent)(r,C.touch.start,this.onTouchStart,{passive:!1})}componentWillUnmount(){this.mounted=!1;const r=this.findDOMNode();if(r){const{ownerDocument:a}=r;(0,f.removeEvent)(a,C.mouse.move,this.handleDrag),(0,f.removeEvent)(a,C.touch.move,this.handleDrag),(0,f.removeEvent)(a,C.mouse.stop,this.handleDragStop),(0,f.removeEvent)(a,C.touch.stop,this.handleDragStop),(0,f.removeEvent)(r,C.touch.start,this.onTouchStart,{passive:!1}),this.props.enableUserSelectHack&&(0,f.scheduleRemoveUserSelectStyles)(a)}}findDOMNode(){return this.props?.nodeRef?this.props?.nodeRef?.current:s.default.findDOMNode(this)}render(){return t.cloneElement(t.Children.only(this.props.children),{onMouseDown:this.onMouseDown,onMouseUp:this.onMouseUp,onTouchEnd:this.onTouchEnd})}};return Ke.default=x,j(x,"displayName","DraggableCore"),j(x,"propTypes",{allowAnyClick:l.default.bool,allowMobileScroll:l.default.bool,children:l.default.node.isRequired,disabled:l.default.bool,enableUserSelectHack:l.default.bool,offsetParent:function(p,r){if(p[r]&&p[r].nodeType!==1)throw new Error("Draggable's offsetParent must be a DOM Node.")},grid:l.default.arrayOf(l.default.number),handle:l.default.string,cancel:l.default.string,nodeRef:l.default.object,onStart:l.default.func,onDrag:l.default.func,onStop:l.default.func,onMouseDown:l.default.func,scale:l.default.number,className:m.dontSetMe,style:m.dontSetMe,transform:m.dontSetMe}),j(x,"defaultProps",{allowAnyClick:!1,allowMobileScroll:!1,disabled:!1,enableUserSelectHack:!0,onStart:function(){},onDrag:function(){},onStop:function(){},onMouseDown:function(){},scale:1}),Ke}var dr;function ds(){return dr||(dr=1,function(t){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"DraggableCore",{enumerable:!0,get:function(){return R.default}}),t.default=void 0;var l=S(fe()),s=k(_e()),f=k(Ht()),b=jt(),m=Ut(),g=Xr(),w=wt(),R=k(us()),j=k(Vr());function k(a){return a&&a.__esModule?a:{default:a}}function S(a,n){if(typeof WeakMap=="function")var o=new WeakMap,h=new WeakMap;return(S=function(c,u){if(!u&&c&&c.__esModule)return c;var i,v,N={__proto__:null,default:c};if(c===null||typeof c!="object"&&typeof c!="function")return N;if(i=u?h:o){if(i.has(c))return i.get(c);i.set(c,N)}for(const D in c)D!=="default"&&{}.hasOwnProperty.call(c,D)&&((v=(i=Object.defineProperty)&&Object.getOwnPropertyDescriptor(c,D))&&(v.get||v.set)?i(N,D,v):N[D]=c[D]);return N})(a,n)}function C(){return C=Object.assign?Object.assign.bind():function(a){for(var n=1;n<arguments.length;n++){var o=arguments[n];for(var h in o)({}).hasOwnProperty.call(o,h)&&(a[h]=o[h])}return a},C.apply(null,arguments)}function E(a,n,o){return(n=x(n))in a?Object.defineProperty(a,n,{value:o,enumerable:!0,configurable:!0,writable:!0}):a[n]=o,a}function x(a){var n=p(a,"string");return typeof n=="symbol"?n:n+""}function p(a,n){if(typeof a!="object"||!a)return a;var o=a[Symbol.toPrimitive];if(o!==void 0){var h=o.call(a,n);if(typeof h!="object")return h;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(a)}class r extends l.Component{static getDerivedStateFromProps(n,o){let{position:h}=n,{prevPropsPosition:c}=o;return h&&(!c||h.x!==c.x||h.y!==c.y)?((0,j.default)("Draggable: getDerivedStateFromProps %j",{position:h,prevPropsPosition:c}),{x:h.x,y:h.y,prevPropsPosition:{...h}}):null}constructor(n){super(n),E(this,"onDragStart",(o,h)=>{if((0,j.default)("Draggable: onDragStart: %j",h),this.props.onStart(o,(0,g.createDraggableData)(this,h))===!1)return!1;this.setState({dragging:!0,dragged:!0})}),E(this,"onDrag",(o,h)=>{if(!this.state.dragging)return!1;(0,j.default)("Draggable: onDrag: %j",h);const c=(0,g.createDraggableData)(this,h),u={x:c.x,y:c.y,slackX:0,slackY:0};if(this.props.bounds){const{x:v,y:N}=u;u.x+=this.state.slackX,u.y+=this.state.slackY;const[D,O]=(0,g.getBoundPosition)(this,u.x,u.y);u.x=D,u.y=O,u.slackX=this.state.slackX+(v-u.x),u.slackY=this.state.slackY+(N-u.y),c.x=u.x,c.y=u.y,c.deltaX=u.x-this.state.x,c.deltaY=u.y-this.state.y}if(this.props.onDrag(o,c)===!1)return!1;this.setState(u)}),E(this,"onDragStop",(o,h)=>{if(!this.state.dragging||this.props.onStop(o,(0,g.createDraggableData)(this,h))===!1)return!1;(0,j.default)("Draggable: onDragStop: %j",h);const u={dragging:!1,slackX:0,slackY:0};if(!!this.props.position){const{x:v,y:N}=this.props.position;u.x=v,u.y=N}this.setState(u)}),this.state={dragging:!1,dragged:!1,x:n.position?n.position.x:n.defaultPosition.x,y:n.position?n.position.y:n.defaultPosition.y,prevPropsPosition:{...n.position},slackX:0,slackY:0,isElementSVG:!1},n.position&&!(n.onDrag||n.onStop)&&console.warn("A `position` was applied to this <Draggable>, without drag handlers. This will make this component effectively undraggable. Please attach `onDrag` or `onStop` handlers so you can adjust the `position` of this element.")}componentDidMount(){typeof window.SVGElement<"u"&&this.findDOMNode()instanceof window.SVGElement&&this.setState({isElementSVG:!0})}componentWillUnmount(){this.state.dragging&&this.setState({dragging:!1})}findDOMNode(){return this.props?.nodeRef?.current??f.default.findDOMNode(this)}render(){const{axis:n,bounds:o,children:h,defaultPosition:c,defaultClassName:u,defaultClassNameDragging:i,defaultClassNameDragged:v,position:N,positionOffset:D,scale:O,..._}=this.props;let T={},H=null;const B=!!!N||this.state.dragging,K=N||c,J={x:(0,g.canDragX)(this)&&B?this.state.x:K.x,y:(0,g.canDragY)(this)&&B?this.state.y:K.y};this.state.isElementSVG?H=(0,m.createSVGTransform)(J,D):T=(0,m.createCSSTransform)(J,D);const Q=(0,b.clsx)(h.props.className||"",u,{[i]:this.state.dragging,[v]:this.state.dragged});return l.createElement(R.default,C({},_,{onStart:this.onDragStart,onDrag:this.onDrag,onStop:this.onDragStop}),l.cloneElement(l.Children.only(h),{className:Q,style:{...h.props.style,...T},transform:H}))}}t.default=r,E(r,"displayName","Draggable"),E(r,"propTypes",{...R.default.propTypes,axis:s.default.oneOf(["both","x","y","none"]),bounds:s.default.oneOfType([s.default.shape({left:s.default.number,right:s.default.number,top:s.default.number,bottom:s.default.number}),s.default.string,s.default.oneOf([!1])]),defaultClassName:s.default.string,defaultClassNameDragging:s.default.string,defaultClassNameDragged:s.default.string,defaultPosition:s.default.shape({x:s.default.number,y:s.default.number}),positionOffset:s.default.shape({x:s.default.oneOfType([s.default.number,s.default.string]),y:s.default.oneOfType([s.default.number,s.default.string])}),position:s.default.shape({x:s.default.number,y:s.default.number}),className:w.dontSetMe,style:w.dontSetMe,transform:w.dontSetMe}),E(r,"defaultProps",{...R.default.defaultProps,axis:"both",bounds:!1,defaultClassName:"react-draggable",defaultClassNameDragging:"react-draggable-dragging",defaultClassNameDragged:"react-draggable-dragged",defaultPosition:{x:0,y:0},scale:1})}(_t)),_t}var hr;function Bt(){if(hr)return Ve.exports;hr=1;const{default:t,DraggableCore:l}=ds();return Ve.exports=t,Ve.exports.default=t,Ve.exports.DraggableCore=l,Ve.exports}var Je={exports:{}},Ze={},lt={},fr;function hs(){if(fr)return lt;fr=1,lt.__esModule=!0,lt.cloneElement=w;var t=l(fe());function l(R){return R&&R.__esModule?R:{default:R}}function s(R,j){var k=Object.keys(R);if(Object.getOwnPropertySymbols){var S=Object.getOwnPropertySymbols(R);j&&(S=S.filter(function(C){return Object.getOwnPropertyDescriptor(R,C).enumerable})),k.push.apply(k,S)}return k}function f(R){for(var j=1;j<arguments.length;j++){var k=arguments[j]!=null?arguments[j]:{};j%2?s(Object(k),!0).forEach(function(S){b(R,S,k[S])}):Object.getOwnPropertyDescriptors?Object.defineProperties(R,Object.getOwnPropertyDescriptors(k)):s(Object(k)).forEach(function(S){Object.defineProperty(R,S,Object.getOwnPropertyDescriptor(k,S))})}return R}function b(R,j,k){return j=m(j),j in R?Object.defineProperty(R,j,{value:k,enumerable:!0,configurable:!0,writable:!0}):R[j]=k,R}function m(R){var j=g(R,"string");return typeof j=="symbol"?j:String(j)}function g(R,j){if(typeof R!="object"||R===null)return R;var k=R[Symbol.toPrimitive];if(k!==void 0){var S=k.call(R,j);if(typeof S!="object")return S;throw new TypeError("@@toPrimitive must return a primitive value.")}return(j==="string"?String:Number)(R)}function w(R,j){return j.style&&R.props.style&&(j.style=f(f({},R.props.style),j.style)),j.className&&R.props.className&&(j.className=R.props.className+" "+j.className),t.default.cloneElement(R,j)}return lt}var Qe={},pr;function Kr(){if(pr)return Qe;pr=1,Qe.__esModule=!0,Qe.resizableProps=void 0;var t=l(_e());Bt();function l(f){return f&&f.__esModule?f:{default:f}}var s={axis:t.default.oneOf(["both","x","y","none"]),className:t.default.string,children:t.default.element.isRequired,draggableOpts:t.default.shape({allowAnyClick:t.default.bool,cancel:t.default.string,children:t.default.node,disabled:t.default.bool,enableUserSelectHack:t.default.bool,offsetParent:t.default.node,grid:t.default.arrayOf(t.default.number),handle:t.default.string,nodeRef:t.default.object,onStart:t.default.func,onDrag:t.default.func,onStop:t.default.func,onMouseDown:t.default.func,scale:t.default.number}),height:function(){for(var b=arguments.length,m=new Array(b),g=0;g<b;g++)m[g]=arguments[g];var w=m[0];if(w.axis==="both"||w.axis==="y"){var R;return(R=t.default.number).isRequired.apply(R,m)}return t.default.number.apply(t.default,m)},handle:t.default.oneOfType([t.default.node,t.default.func]),handleSize:t.default.arrayOf(t.default.number),lockAspectRatio:t.default.bool,maxConstraints:t.default.arrayOf(t.default.number),minConstraints:t.default.arrayOf(t.default.number),onResizeStop:t.default.func,onResizeStart:t.default.func,onResize:t.default.func,resizeHandles:t.default.arrayOf(t.default.oneOf(["s","w","e","n","sw","nw","se","ne"])),transformScale:t.default.number,width:function(){for(var b=arguments.length,m=new Array(b),g=0;g<b;g++)m[g]=arguments[g];var w=m[0];if(w.axis==="both"||w.axis==="x"){var R;return(R=t.default.number).isRequired.apply(R,m)}return t.default.number.apply(t.default,m)}};return Qe.resizableProps=s,Qe}var mr;function Jr(){if(mr)return Ze;mr=1,Ze.__esModule=!0,Ze.default=void 0;var t=g(fe()),l=Bt(),s=hs(),f=Kr(),b=["children","className","draggableOpts","width","height","handle","handleSize","lockAspectRatio","axis","minConstraints","maxConstraints","onResize","onResizeStop","onResizeStart","resizeHandles","transformScale"];function m(a){if(typeof WeakMap!="function")return null;var n=new WeakMap,o=new WeakMap;return(m=function(c){return c?o:n})(a)}function g(a,n){if(a&&a.__esModule)return a;if(a===null||typeof a!="object"&&typeof a!="function")return{default:a};var o=m(n);if(o&&o.has(a))return o.get(a);var h={},c=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in a)if(u!=="default"&&Object.prototype.hasOwnProperty.call(a,u)){var i=c?Object.getOwnPropertyDescriptor(a,u):null;i&&(i.get||i.set)?Object.defineProperty(h,u,i):h[u]=a[u]}return h.default=a,o&&o.set(a,h),h}function w(){return w=Object.assign?Object.assign.bind():function(a){for(var n=1;n<arguments.length;n++){var o=arguments[n];for(var h in o)Object.prototype.hasOwnProperty.call(o,h)&&(a[h]=o[h])}return a},w.apply(this,arguments)}function R(a,n){if(a==null)return{};var o={},h=Object.keys(a),c,u;for(u=0;u<h.length;u++)c=h[u],!(n.indexOf(c)>=0)&&(o[c]=a[c]);return o}function j(a,n){var o=Object.keys(a);if(Object.getOwnPropertySymbols){var h=Object.getOwnPropertySymbols(a);n&&(h=h.filter(function(c){return Object.getOwnPropertyDescriptor(a,c).enumerable})),o.push.apply(o,h)}return o}function k(a){for(var n=1;n<arguments.length;n++){var o=arguments[n]!=null?arguments[n]:{};n%2?j(Object(o),!0).forEach(function(h){S(a,h,o[h])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(o)):j(Object(o)).forEach(function(h){Object.defineProperty(a,h,Object.getOwnPropertyDescriptor(o,h))})}return a}function S(a,n,o){return n=C(n),n in a?Object.defineProperty(a,n,{value:o,enumerable:!0,configurable:!0,writable:!0}):a[n]=o,a}function C(a){var n=E(a,"string");return typeof n=="symbol"?n:String(n)}function E(a,n){if(typeof a!="object"||a===null)return a;var o=a[Symbol.toPrimitive];if(o!==void 0){var h=o.call(a,n);if(typeof h!="object")return h;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(a)}function x(a,n){a.prototype=Object.create(n.prototype),a.prototype.constructor=a,p(a,n)}function p(a,n){return p=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(h,c){return h.__proto__=c,h},p(a,n)}var r=function(a){x(n,a);function n(){for(var h,c=arguments.length,u=new Array(c),i=0;i<c;i++)u[i]=arguments[i];return h=a.call.apply(a,[this].concat(u))||this,h.handleRefs={},h.lastHandleRect=null,h.slack=null,h}var o=n.prototype;return o.componentWillUnmount=function(){this.resetData()},o.resetData=function(){this.lastHandleRect=this.slack=null},o.runConstraints=function(c,u){var i=this.props,v=i.minConstraints,N=i.maxConstraints,D=i.lockAspectRatio;if(!v&&!N&&!D)return[c,u];if(D){var O=this.props.width/this.props.height,_=c-this.props.width,T=u-this.props.height;Math.abs(_)>Math.abs(T*O)?u=c/O:c=u*O}var H=c,F=u,B=this.slack||[0,0],K=B[0],J=B[1];return c+=K,u+=J,v&&(c=Math.max(v[0],c),u=Math.max(v[1],u)),N&&(c=Math.min(N[0],c),u=Math.min(N[1],u)),this.slack=[K+(H-c),J+(F-u)],[c,u]},o.resizeHandler=function(c,u){var i=this;return function(v,N){var D=N.node,O=N.deltaX,_=N.deltaY;c==="onResizeStart"&&i.resetData();var T=(i.props.axis==="both"||i.props.axis==="x")&&u!=="n"&&u!=="s",H=(i.props.axis==="both"||i.props.axis==="y")&&u!=="e"&&u!=="w";if(!(!T&&!H)){var F=u[0],B=u[u.length-1],K=D.getBoundingClientRect();if(i.lastHandleRect!=null){if(B==="w"){var J=K.left-i.lastHandleRect.left;O+=J}if(F==="n"){var Q=K.top-i.lastHandleRect.top;_+=Q}}i.lastHandleRect=K,B==="w"&&(O=-O),F==="n"&&(_=-_);var Y=i.props.width+(T?O/i.props.transformScale:0),te=i.props.height+(H?_/i.props.transformScale:0),re=i.runConstraints(Y,te);Y=re[0],te=re[1];var ae=Y!==i.props.width||te!==i.props.height,le=typeof i.props[c]=="function"?i.props[c]:null,oe=c==="onResize"&&!ae;le&&!oe&&(v.persist==null||v.persist(),le(v,{node:D,size:{width:Y,height:te},handle:u})),c==="onResizeStop"&&i.resetData()}}},o.renderResizeHandle=function(c,u){var i=this.props.handle;if(!i)return t.createElement("span",{className:"react-resizable-handle react-resizable-handle-"+c,ref:u});if(typeof i=="function")return i(c,u);var v=typeof i.type=="string",N=k({ref:u},v?{}:{handleAxis:c});return t.cloneElement(i,N)},o.render=function(){var c=this,u=this.props,i=u.children,v=u.className,N=u.draggableOpts;u.width,u.height,u.handle,u.handleSize,u.lockAspectRatio,u.axis,u.minConstraints,u.maxConstraints,u.onResize,u.onResizeStop,u.onResizeStart;var D=u.resizeHandles;u.transformScale;var O=R(u,b);return(0,s.cloneElement)(i,k(k({},O),{},{className:(v?v+" ":"")+"react-resizable",children:[].concat(i.props.children,D.map(function(_){var T,H=(T=c.handleRefs[_])!=null?T:c.handleRefs[_]=t.createRef();return t.createElement(l.DraggableCore,w({},N,{nodeRef:H,key:"resizableHandle-"+_,onStop:c.resizeHandler("onResizeStop",_),onStart:c.resizeHandler("onResizeStart",_),onDrag:c.resizeHandler("onResize",_)}),c.renderResizeHandle(_,H))}))}))},n}(t.Component);return Ze.default=r,r.propTypes=f.resizableProps,r.defaultProps={axis:"both",handleSize:[20,20],lockAspectRatio:!1,minConstraints:[20,20],maxConstraints:[1/0,1/0],resizeHandles:["se"],transformScale:1},Ze}var et={},gr;function fs(){if(gr)return et;gr=1,et.__esModule=!0,et.default=void 0;var t=w(fe()),l=m(_e()),s=m(Jr()),f=Kr(),b=["handle","handleSize","onResize","onResizeStart","onResizeStop","draggableOpts","minConstraints","maxConstraints","lockAspectRatio","axis","width","height","resizeHandles","style","transformScale"];function m(n){return n&&n.__esModule?n:{default:n}}function g(n){if(typeof WeakMap!="function")return null;var o=new WeakMap,h=new WeakMap;return(g=function(u){return u?h:o})(n)}function w(n,o){if(n&&n.__esModule)return n;if(n===null||typeof n!="object"&&typeof n!="function")return{default:n};var h=g(o);if(h&&h.has(n))return h.get(n);var c={},u=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in n)if(i!=="default"&&Object.prototype.hasOwnProperty.call(n,i)){var v=u?Object.getOwnPropertyDescriptor(n,i):null;v&&(v.get||v.set)?Object.defineProperty(c,i,v):c[i]=n[i]}return c.default=n,h&&h.set(n,c),c}function R(){return R=Object.assign?Object.assign.bind():function(n){for(var o=1;o<arguments.length;o++){var h=arguments[o];for(var c in h)Object.prototype.hasOwnProperty.call(h,c)&&(n[c]=h[c])}return n},R.apply(this,arguments)}function j(n,o){var h=Object.keys(n);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(n);o&&(c=c.filter(function(u){return Object.getOwnPropertyDescriptor(n,u).enumerable})),h.push.apply(h,c)}return h}function k(n){for(var o=1;o<arguments.length;o++){var h=arguments[o]!=null?arguments[o]:{};o%2?j(Object(h),!0).forEach(function(c){S(n,c,h[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(h)):j(Object(h)).forEach(function(c){Object.defineProperty(n,c,Object.getOwnPropertyDescriptor(h,c))})}return n}function S(n,o,h){return o=C(o),o in n?Object.defineProperty(n,o,{value:h,enumerable:!0,configurable:!0,writable:!0}):n[o]=h,n}function C(n){var o=E(n,"string");return typeof o=="symbol"?o:String(o)}function E(n,o){if(typeof n!="object"||n===null)return n;var h=n[Symbol.toPrimitive];if(h!==void 0){var c=h.call(n,o);if(typeof c!="object")return c;throw new TypeError("@@toPrimitive must return a primitive value.")}return(o==="string"?String:Number)(n)}function x(n,o){if(n==null)return{};var h={},c=Object.keys(n),u,i;for(i=0;i<c.length;i++)u=c[i],!(o.indexOf(u)>=0)&&(h[u]=n[u]);return h}function p(n,o){n.prototype=Object.create(o.prototype),n.prototype.constructor=n,r(n,o)}function r(n,o){return r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(c,u){return c.__proto__=u,c},r(n,o)}var a=function(n){p(o,n);function o(){for(var c,u=arguments.length,i=new Array(u),v=0;v<u;v++)i[v]=arguments[v];return c=n.call.apply(n,[this].concat(i))||this,c.state={width:c.props.width,height:c.props.height,propsWidth:c.props.width,propsHeight:c.props.height},c.onResize=function(N,D){var O=D.size;c.props.onResize?(N.persist==null||N.persist(),c.setState(O,function(){return c.props.onResize&&c.props.onResize(N,D)})):c.setState(O)},c}o.getDerivedStateFromProps=function(u,i){return i.propsWidth!==u.width||i.propsHeight!==u.height?{width:u.width,height:u.height,propsWidth:u.width,propsHeight:u.height}:null};var h=o.prototype;return h.render=function(){var u=this.props,i=u.handle,v=u.handleSize;u.onResize;var N=u.onResizeStart,D=u.onResizeStop,O=u.draggableOpts,_=u.minConstraints,T=u.maxConstraints,H=u.lockAspectRatio,F=u.axis;u.width,u.height;var B=u.resizeHandles,K=u.style,J=u.transformScale,Q=x(u,b);return t.createElement(s.default,{axis:F,draggableOpts:O,handle:i,handleSize:v,height:this.state.height,lockAspectRatio:H,maxConstraints:T,minConstraints:_,onResizeStart:N,onResize:this.onResize,onResizeStop:D,resizeHandles:B,transformScale:J,width:this.state.width},t.createElement("div",R({},Q,{style:k(k({},K),{},{width:this.state.width+"px",height:this.state.height+"px"})})))},o}(t.Component);return et.default=a,a.propTypes=k(k({},f.resizableProps),{},{children:l.default.element}),et}var yr;function ps(){return yr||(yr=1,Je.exports=function(){throw new Error("Don't instantiate Resizable directly! Use require('react-resizable').Resizable")},Je.exports.Resizable=Jr().default,Je.exports.ResizableBox=fs().default),Je.exports}var ve={},vr;function Zr(){if(vr)return ve;vr=1,Object.defineProperty(ve,"__esModule",{value:!0}),ve.resizeHandleType=ve.resizeHandleAxesType=ve.default=void 0;var t=s(_e()),l=s(fe());function s(m){return m&&m.__esModule?m:{default:m}}const f=ve.resizeHandleAxesType=t.default.arrayOf(t.default.oneOf(["s","w","e","n","sw","nw","se","ne"])),b=ve.resizeHandleType=t.default.oneOfType([t.default.node,t.default.func]);return ve.default={className:t.default.string,style:t.default.object,width:t.default.number,autoSize:t.default.bool,cols:t.default.number,draggableCancel:t.default.string,draggableHandle:t.default.string,verticalCompact:function(m){m.verticalCompact},compactType:t.default.oneOf(["vertical","horizontal"]),layout:function(m){var g=m.layout;g!==void 0&&Ge().validateLayout(g,"layout")},margin:t.default.arrayOf(t.default.number),containerPadding:t.default.arrayOf(t.default.number),rowHeight:t.default.number,maxRows:t.default.number,isBounded:t.default.bool,isDraggable:t.default.bool,isResizable:t.default.bool,allowOverlap:t.default.bool,preventCollision:t.default.bool,useCSSTransforms:t.default.bool,transformScale:t.default.number,isDroppable:t.default.bool,resizeHandles:f,resizeHandle:b,onLayoutChange:t.default.func,onDragStart:t.default.func,onDrag:t.default.func,onDragStop:t.default.func,onResizeStart:t.default.func,onResize:t.default.func,onResizeStop:t.default.func,onDrop:t.default.func,droppingItem:t.default.shape({i:t.default.string.isRequired,w:t.default.number.isRequired,h:t.default.number.isRequired}),children:function(m,g){const w=m[g],R={};l.default.Children.forEach(w,function(j){if(j?.key!=null){if(R[j.key])throw new Error('Duplicate child key "'+j.key+'" found! This will cause problems in ReactGridLayout.');R[j.key]=!0}})},innerRef:t.default.any},ve}var xr;function ms(){if(xr)return Xe;xr=1,Object.defineProperty(Xe,"__esModule",{value:!0}),Xe.default=void 0;var t=j(fe()),l=Ht(),s=j(_e()),f=Bt(),b=ps(),m=Ge(),g=It(),w=Zr(),R=j(jt());function j(x){return x&&x.__esModule?x:{default:x}}function k(x,p,r){return(p=S(p))in x?Object.defineProperty(x,p,{value:r,enumerable:!0,configurable:!0,writable:!0}):x[p]=r,x}function S(x){var p=C(x,"string");return typeof p=="symbol"?p:p+""}function C(x,p){if(typeof x!="object"||!x)return x;var r=x[Symbol.toPrimitive];if(r!==void 0){var a=r.call(x,p);if(typeof a!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(p==="string"?String:Number)(x)}let E=class extends t.default.Component{constructor(){super(...arguments),k(this,"state",{resizing:null,dragging:null,className:""}),k(this,"elementRef",t.default.createRef()),k(this,"onDragStart",(p,r)=>{let{node:a}=r;const{onDragStart:n,transformScale:o}=this.props;if(!n)return;const h={top:0,left:0},{offsetParent:c}=a;if(!c)return;const u=c.getBoundingClientRect(),i=a.getBoundingClientRect(),v=i.left/o,N=u.left/o,D=i.top/o,O=u.top/o;h.left=v-N+c.scrollLeft,h.top=D-O+c.scrollTop,this.setState({dragging:h});const{x:_,y:T}=(0,g.calcXY)(this.getPositionParams(),h.top,h.left,this.props.w,this.props.h);return n.call(this,this.props.i,_,T,{e:p,node:a,newPosition:h})}),k(this,"onDrag",(p,r,a)=>{let{node:n,deltaX:o,deltaY:h}=r;const{onDrag:c}=this.props;if(!c)return;if(!this.state.dragging)throw new Error("onDrag called before onDragStart.");let u=this.state.dragging.top+h,i=this.state.dragging.left+o;const{isBounded:v,i:N,w:D,h:O,containerWidth:_}=this.props,T=this.getPositionParams();if(v){const{offsetParent:K}=n;if(K){const{margin:J,rowHeight:Q}=this.props,Y=K.clientHeight-(0,g.calcGridItemWHPx)(O,Q,J[1]);u=(0,g.clamp)(u,0,Y);const te=(0,g.calcGridColWidth)(T),re=_-(0,g.calcGridItemWHPx)(D,te,J[0]);i=(0,g.clamp)(i,0,re)}}const H={top:u,left:i};a?this.setState({dragging:H}):(0,l.flushSync)(()=>{this.setState({dragging:H})});const{x:F,y:B}=(0,g.calcXY)(T,u,i,D,O);return c.call(this,N,F,B,{e:p,node:n,newPosition:H})}),k(this,"onDragStop",(p,r)=>{let{node:a}=r;const{onDragStop:n}=this.props;if(!n)return;if(!this.state.dragging)throw new Error("onDragEnd called before onDragStart.");const{w:o,h,i:c}=this.props,{left:u,top:i}=this.state.dragging,v={top:i,left:u};this.setState({dragging:null});const{x:N,y:D}=(0,g.calcXY)(this.getPositionParams(),i,u,o,h);return n.call(this,c,N,D,{e:p,node:a,newPosition:v})}),k(this,"onResizeStop",(p,r,a)=>this.onResizeHandler(p,r,a,"onResizeStop")),k(this,"onResizeStart",(p,r,a)=>this.onResizeHandler(p,r,a,"onResizeStart")),k(this,"onResize",(p,r,a)=>this.onResizeHandler(p,r,a,"onResize"))}shouldComponentUpdate(p,r){if(this.props.children!==p.children||this.props.droppingPosition!==p.droppingPosition)return!0;const a=(0,g.calcGridItemPosition)(this.getPositionParams(this.props),this.props.x,this.props.y,this.props.w,this.props.h,this.state),n=(0,g.calcGridItemPosition)(this.getPositionParams(p),p.x,p.y,p.w,p.h,r);return!(0,m.fastPositionEqual)(a,n)||this.props.useCSSTransforms!==p.useCSSTransforms}componentDidMount(){this.moveDroppingItem({})}componentDidUpdate(p){this.moveDroppingItem(p)}moveDroppingItem(p){const{droppingPosition:r}=this.props;if(!r)return;const a=this.elementRef.current;if(!a)return;const n=p.droppingPosition||{left:0,top:0},{dragging:o}=this.state,h=o&&r.left!==n.left||r.top!==n.top;if(!o)this.onDragStart(r.e,{node:a,deltaX:r.left,deltaY:r.top});else if(h){const c=r.left-o.left,u=r.top-o.top;this.onDrag(r.e,{node:a,deltaX:c,deltaY:u},!0)}}getPositionParams(){let p=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.props;return{cols:p.cols,containerPadding:p.containerPadding,containerWidth:p.containerWidth,margin:p.margin,maxRows:p.maxRows,rowHeight:p.rowHeight}}createStyle(p){const{usePercentages:r,containerWidth:a,useCSSTransforms:n}=this.props;let o;return n?o=(0,m.setTransform)(p):(o=(0,m.setTopLeft)(p),r&&(o.left=(0,m.perc)(p.left/a),o.width=(0,m.perc)(p.width/a))),o}mixinDraggable(p,r){return t.default.createElement(f.DraggableCore,{disabled:!r,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},p)}curryResizeHandler(p,r){return(a,n)=>r(a,n,p)}mixinResizable(p,r,a){const{cols:n,minW:o,minH:h,maxW:c,maxH:u,transformScale:i,resizeHandles:v,resizeHandle:N}=this.props,D=this.getPositionParams(),O=(0,g.calcGridItemPosition)(D,0,0,n,0).width,_=(0,g.calcGridItemPosition)(D,0,0,o,h),T=(0,g.calcGridItemPosition)(D,0,0,c,u),H=[_.width,_.height],F=[Math.min(T.width,O),Math.min(T.height,1/0)];return t.default.createElement(b.Resizable,{draggableOpts:{disabled:!a},className:a?void 0:"react-resizable-hide",width:r.width,height:r.height,minConstraints:H,maxConstraints:F,onResizeStop:this.curryResizeHandler(r,this.onResizeStop),onResizeStart:this.curryResizeHandler(r,this.onResizeStart),onResize:this.curryResizeHandler(r,this.onResize),transformScale:i,resizeHandles:v,handle:N},p)}onResizeHandler(p,r,a,n){let{node:o,size:h,handle:c}=r;const u=this.props[n];if(!u)return;const{x:i,y:v,i:N,maxH:D,minH:O,containerWidth:_}=this.props,{minW:T,maxW:H}=this.props;let F=h;o&&(F=(0,m.resizeItemInDirection)(c,a,h,_),(0,l.flushSync)(()=>{this.setState({resizing:n==="onResizeStop"?null:F})}));let{w:B,h:K}=(0,g.calcWH)(this.getPositionParams(),F.width,F.height,i,v,c);B=(0,g.clamp)(B,Math.max(T,1),H),K=(0,g.clamp)(K,O,D),u.call(this,N,B,K,{e:p,node:o,size:F,handle:c})}render(){const{x:p,y:r,w:a,h:n,isDraggable:o,isResizable:h,droppingPosition:c,useCSSTransforms:u}=this.props,i=(0,g.calcGridItemPosition)(this.getPositionParams(),p,r,a,n,this.state),v=t.default.Children.only(this.props.children);let N=t.default.cloneElement(v,{ref:this.elementRef,className:(0,R.default)("react-grid-item",v.props.className,this.props.className,{static:this.props.static,resizing:!!this.state.resizing,"react-draggable":o,"react-draggable-dragging":!!this.state.dragging,dropping:!!c,cssTransforms:u}),style:{...this.props.style,...v.props.style,...this.createStyle(i)}});return N=this.mixinResizable(N,i,h),N=this.mixinDraggable(N,o),N}};return Xe.default=E,k(E,"propTypes",{children:s.default.element,cols:s.default.number.isRequired,containerWidth:s.default.number.isRequired,rowHeight:s.default.number.isRequired,margin:s.default.array.isRequired,maxRows:s.default.number.isRequired,containerPadding:s.default.array.isRequired,x:s.default.number.isRequired,y:s.default.number.isRequired,w:s.default.number.isRequired,h:s.default.number.isRequired,minW:function(x,p){const r=x[p];if(typeof r!="number")return new Error("minWidth not Number");if(r>x.w||r>x.maxW)return new Error("minWidth larger than item width/maxWidth")},maxW:function(x,p){const r=x[p];if(typeof r!="number")return new Error("maxWidth not Number");if(r<x.w||r<x.minW)return new Error("maxWidth smaller than item width/minWidth")},minH:function(x,p){const r=x[p];if(typeof r!="number")return new Error("minHeight not Number");if(r>x.h||r>x.maxH)return new Error("minHeight larger than item height/maxHeight")},maxH:function(x,p){const r=x[p];if(typeof r!="number")return new Error("maxHeight not Number");if(r<x.h||r<x.minH)return new Error("maxHeight smaller than item height/minHeight")},i:s.default.string.isRequired,resizeHandles:w.resizeHandleAxesType,resizeHandle:w.resizeHandleType,onDragStop:s.default.func,onDragStart:s.default.func,onDrag:s.default.func,onResizeStop:s.default.func,onResizeStart:s.default.func,onResize:s.default.func,isDraggable:s.default.bool.isRequired,isResizable:s.default.bool.isRequired,isBounded:s.default.bool.isRequired,static:s.default.bool,useCSSTransforms:s.default.bool.isRequired,transformScale:s.default.number,className:s.default.string,handle:s.default.string,cancel:s.default.string,droppingPosition:s.default.shape({e:s.default.object.isRequired,left:s.default.number.isRequired,top:s.default.number.isRequired})}),k(E,"defaultProps",{className:"",cancel:"",handle:"",minH:1,minW:1,maxH:1/0,maxW:1/0,transformScale:1}),Xe}var br;function Qr(){if(br)return Ye;br=1,Object.defineProperty(Ye,"__esModule",{value:!0}),Ye.default=void 0;var t=R(fe()),l=At(),s=w(jt()),f=Ge(),b=It(),m=w(ms()),g=w(Zr());function w(p){return p&&p.__esModule?p:{default:p}}function R(p,r){if(typeof WeakMap=="function")var a=new WeakMap,n=new WeakMap;return(R=function(o,h){if(!h&&o&&o.__esModule)return o;var c,u,i={__proto__:null,default:o};if(o===null||typeof o!="object"&&typeof o!="function")return i;if(c=h?n:a){if(c.has(o))return c.get(o);c.set(o,i)}for(const v in o)v!=="default"&&{}.hasOwnProperty.call(o,v)&&((u=(c=Object.defineProperty)&&Object.getOwnPropertyDescriptor(o,v))&&(u.get||u.set)?c(i,v,u):i[v]=o[v]);return i})(p,r)}function j(p,r,a){return(r=k(r))in p?Object.defineProperty(p,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):p[r]=a,p}function k(p){var r=S(p,"string");return typeof r=="symbol"?r:r+""}function S(p,r){if(typeof p!="object"||!p)return p;var a=p[Symbol.toPrimitive];if(a!==void 0){var n=a.call(p,r);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(r==="string"?String:Number)(p)}const C="react-grid-layout";let E=!1;try{E=/firefox/i.test(navigator.userAgent)}catch{}let x=class extends t.Component{constructor(){super(...arguments),j(this,"state",{activeDrag:null,layout:(0,f.synchronizeLayoutWithChildren)(this.props.layout,this.props.children,this.props.cols,(0,f.compactType)(this.props),this.props.allowOverlap),mounted:!1,oldDragItem:null,oldLayout:null,oldResizeItem:null,resizing:!1,droppingDOMNode:null,children:[]}),j(this,"dragEnterCounter",0),j(this,"onDragStart",(r,a,n,o)=>{let{e:h,node:c}=o;const{layout:u}=this.state,i=(0,f.getLayoutItem)(u,r);if(!i)return;const v={w:i.w,h:i.h,x:i.x,y:i.y,placeholder:!0,i:r};return this.setState({oldDragItem:(0,f.cloneLayoutItem)(i),oldLayout:u,activeDrag:v}),this.props.onDragStart(u,i,i,null,h,c)}),j(this,"onDrag",(r,a,n,o)=>{let{e:h,node:c}=o;const{oldDragItem:u}=this.state;let{layout:i}=this.state;const{cols:v,allowOverlap:N,preventCollision:D}=this.props,O=(0,f.getLayoutItem)(i,r);if(!O)return;const _={w:O.w,h:O.h,x:O.x,y:O.y,placeholder:!0,i:r};i=(0,f.moveElement)(i,O,a,n,!0,D,(0,f.compactType)(this.props),v,N),this.props.onDrag(i,u,O,_,h,c),this.setState({layout:N?i:(0,f.compact)(i,(0,f.compactType)(this.props),v),activeDrag:_})}),j(this,"onDragStop",(r,a,n,o)=>{let{e:h,node:c}=o;if(!this.state.activeDrag)return;const{oldDragItem:u}=this.state;let{layout:i}=this.state;const{cols:v,preventCollision:N,allowOverlap:D}=this.props,O=(0,f.getLayoutItem)(i,r);if(!O)return;i=(0,f.moveElement)(i,O,a,n,!0,N,(0,f.compactType)(this.props),v,D);const T=D?i:(0,f.compact)(i,(0,f.compactType)(this.props),v);this.props.onDragStop(T,u,O,null,h,c);const{oldLayout:H}=this.state;this.setState({activeDrag:null,layout:T,oldDragItem:null,oldLayout:null}),this.onLayoutMaybeChanged(T,H)}),j(this,"onResizeStart",(r,a,n,o)=>{let{e:h,node:c}=o;const{layout:u}=this.state,i=(0,f.getLayoutItem)(u,r);i&&(this.setState({oldResizeItem:(0,f.cloneLayoutItem)(i),oldLayout:this.state.layout,resizing:!0}),this.props.onResizeStart(u,i,i,null,h,c))}),j(this,"onResize",(r,a,n,o)=>{let{e:h,node:c,size:u,handle:i}=o;const{oldResizeItem:v}=this.state,{layout:N}=this.state,{cols:D,preventCollision:O,allowOverlap:_}=this.props;let T=!1,H,F,B;const[K,J]=(0,f.withLayoutItem)(N,r,Y=>{let te;return F=Y.x,B=Y.y,["sw","w","nw","n","ne"].indexOf(i)!==-1&&(["sw","nw","w"].indexOf(i)!==-1&&(F=Y.x+(Y.w-a),a=Y.x!==F&&F<0?Y.w:a,F=F<0?0:F),["ne","n","nw"].indexOf(i)!==-1&&(B=Y.y+(Y.h-n),n=Y.y!==B&&B<0?Y.h:n,B=B<0?0:B),T=!0),O&&!_&&(te=(0,f.getAllCollisions)(N,{...Y,w:a,h:n,x:F,y:B}).filter(ae=>ae.i!==Y.i).length>0,te&&(B=Y.y,n=Y.h,F=Y.x,a=Y.w,T=!1)),Y.w=a,Y.h=n,Y});if(!J)return;H=K,T&&(H=(0,f.moveElement)(K,J,F,B,!0,this.props.preventCollision,(0,f.compactType)(this.props),D,_));const Q={w:J.w,h:J.h,x:J.x,y:J.y,static:!0,i:r};this.props.onResize(H,v,J,Q,h,c),this.setState({layout:_?H:(0,f.compact)(H,(0,f.compactType)(this.props),D),activeDrag:Q})}),j(this,"onResizeStop",(r,a,n,o)=>{let{e:h,node:c}=o;const{layout:u,oldResizeItem:i}=this.state,{cols:v,allowOverlap:N}=this.props,D=(0,f.getLayoutItem)(u,r),O=N?u:(0,f.compact)(u,(0,f.compactType)(this.props),v);this.props.onResizeStop(O,i,D,null,h,c);const{oldLayout:_}=this.state;this.setState({activeDrag:null,layout:O,oldResizeItem:null,oldLayout:null,resizing:!1}),this.onLayoutMaybeChanged(O,_)}),j(this,"onDragOver",r=>{if(r.preventDefault(),r.stopPropagation(),E&&!r.nativeEvent.target?.classList.contains(C))return!1;const{droppingItem:a,onDropDragOver:n,margin:o,cols:h,rowHeight:c,maxRows:u,width:i,containerPadding:v,transformScale:N}=this.props,D=n?.(r);if(D===!1)return this.state.droppingDOMNode&&this.removeDroppingPlaceholder(),!1;const O={...a,...D},{layout:_}=this.state,T=r.currentTarget.getBoundingClientRect(),H=r.clientX-T.left,F=r.clientY-T.top,B={left:H/N,top:F/N,e:r};if(this.state.droppingDOMNode){if(this.state.droppingPosition){const{left:K,top:J}=this.state.droppingPosition;(K!=H||J!=F)&&this.setState({droppingPosition:B})}}else{const K={cols:h,margin:o,maxRows:u,rowHeight:c,containerWidth:i,containerPadding:v||o},J=(0,b.calcXY)(K,F,H,O.w,O.h);this.setState({droppingDOMNode:t.createElement("div",{key:O.i}),droppingPosition:B,layout:[..._,{...O,x:J.x,y:J.y,static:!1,isDraggable:!0}]})}}),j(this,"removeDroppingPlaceholder",()=>{const{droppingItem:r,cols:a}=this.props,{layout:n}=this.state,o=(0,f.compact)(n.filter(h=>h.i!==r.i),(0,f.compactType)(this.props),a,this.props.allowOverlap);this.setState({layout:o,droppingDOMNode:null,activeDrag:null,droppingPosition:void 0})}),j(this,"onDragLeave",r=>{r.preventDefault(),r.stopPropagation(),this.dragEnterCounter--,this.dragEnterCounter===0&&this.removeDroppingPlaceholder()}),j(this,"onDragEnter",r=>{r.preventDefault(),r.stopPropagation(),this.dragEnterCounter++}),j(this,"onDrop",r=>{r.preventDefault(),r.stopPropagation();const{droppingItem:a}=this.props,{layout:n}=this.state,o=n.find(h=>h.i===a.i);this.dragEnterCounter=0,this.removeDroppingPlaceholder(),this.props.onDrop(n,o,r)})}componentDidMount(){this.setState({mounted:!0}),this.onLayoutMaybeChanged(this.state.layout,this.props.layout)}static getDerivedStateFromProps(r,a){let n;return a.activeDrag?null:(!(0,l.deepEqual)(r.layout,a.propsLayout)||r.compactType!==a.compactType?n=r.layout:(0,f.childrenEqual)(r.children,a.children)||(n=a.layout),n?{layout:(0,f.synchronizeLayoutWithChildren)(n,r.children,r.cols,(0,f.compactType)(r),r.allowOverlap),compactType:r.compactType,children:r.children,propsLayout:r.layout}:null)}shouldComponentUpdate(r,a){return this.props.children!==r.children||!(0,f.fastRGLPropsEqual)(this.props,r,l.deepEqual)||this.state.activeDrag!==a.activeDrag||this.state.mounted!==a.mounted||this.state.droppingPosition!==a.droppingPosition}componentDidUpdate(r,a){if(!this.state.activeDrag){const n=this.state.layout,o=a.layout;this.onLayoutMaybeChanged(n,o)}}containerHeight(){if(!this.props.autoSize)return;const r=(0,f.bottom)(this.state.layout),a=this.props.containerPadding?this.props.containerPadding[1]:this.props.margin[1];return r*this.props.rowHeight+(r-1)*this.props.margin[1]+a*2+"px"}onLayoutMaybeChanged(r,a){a||(a=this.state.layout),(0,l.deepEqual)(a,r)||this.props.onLayoutChange(r)}placeholder(){const{activeDrag:r}=this.state;if(!r)return null;const{width:a,cols:n,margin:o,containerPadding:h,rowHeight:c,maxRows:u,useCSSTransforms:i,transformScale:v}=this.props;return t.createElement(m.default,{w:r.w,h:r.h,x:r.x,y:r.y,i:r.i,className:`react-grid-placeholder ${this.state.resizing?"placeholder-resizing":""}`,containerWidth:a,cols:n,margin:o,containerPadding:h||o,maxRows:u,rowHeight:c,isDraggable:!1,isResizable:!1,isBounded:!1,useCSSTransforms:i,transformScale:v},t.createElement("div",null))}processGridItem(r,a){if(!r||!r.key)return;const n=(0,f.getLayoutItem)(this.state.layout,String(r.key));if(!n)return null;const{width:o,cols:h,margin:c,containerPadding:u,rowHeight:i,maxRows:v,isDraggable:N,isResizable:D,isBounded:O,useCSSTransforms:_,transformScale:T,draggableCancel:H,draggableHandle:F,resizeHandles:B,resizeHandle:K}=this.props,{mounted:J,droppingPosition:Q}=this.state,Y=typeof n.isDraggable=="boolean"?n.isDraggable:!n.static&&N,te=typeof n.isResizable=="boolean"?n.isResizable:!n.static&&D,re=n.resizeHandles||B,ae=Y&&O&&n.isBounded!==!1;return t.createElement(m.default,{containerWidth:o,cols:h,margin:c,containerPadding:u||c,maxRows:v,rowHeight:i,cancel:H,handle:F,onDragStop:this.onDragStop,onDragStart:this.onDragStart,onDrag:this.onDrag,onResizeStart:this.onResizeStart,onResize:this.onResize,onResizeStop:this.onResizeStop,isDraggable:Y,isResizable:te,isBounded:ae,useCSSTransforms:_&&J,usePercentages:!J,transformScale:T,w:n.w,h:n.h,x:n.x,y:n.y,i:n.i,minH:n.minH,minW:n.minW,maxH:n.maxH,maxW:n.maxW,static:n.static,droppingPosition:a?Q:void 0,resizeHandles:re,resizeHandle:K},r)}render(){const{className:r,style:a,isDroppable:n,innerRef:o}=this.props,h=(0,s.default)(C,r),c={height:this.containerHeight(),...a};return t.createElement("div",{ref:o,className:h,style:c,onDrop:n?this.onDrop:f.noop,onDragLeave:n?this.onDragLeave:f.noop,onDragEnter:n?this.onDragEnter:f.noop,onDragOver:n?this.onDragOver:f.noop},t.Children.map(this.props.children,u=>this.processGridItem(u)),n&&this.state.droppingDOMNode&&this.processGridItem(this.state.droppingDOMNode,!0),this.placeholder())}};return Ye.default=x,j(x,"displayName","ReactGridLayout"),j(x,"propTypes",g.default),j(x,"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:f.noop,onDragStart:f.noop,onDrag:f.noop,onDragStop:f.noop,onResizeStart:f.noop,onResize:f.noop,onResizeStop:f.noop,onDrop:f.noop,onDropDragOver:f.noop}),Ye}var tt={},Le={},jr;function en(){if(jr)return Le;jr=1,Object.defineProperty(Le,"__esModule",{value:!0}),Le.findOrGenerateResponsiveLayout=f,Le.getBreakpointFromWidth=l,Le.getColsFromBreakpoint=s,Le.sortBreakpoints=b;var t=Ge();function l(m,g){const w=b(m);let R=w[0];for(let j=1,k=w.length;j<k;j++){const S=w[j];g>m[S]&&(R=S)}return R}function s(m,g){if(!g[m])throw new Error("ResponsiveReactGridLayout: `cols` entry for breakpoint "+m+" is missing!");return g[m]}function f(m,g,w,R,j,k){if(m[w])return(0,t.cloneLayout)(m[w]);let S=m[R];const C=b(g),E=C.slice(C.indexOf(w));for(let x=0,p=E.length;x<p;x++){const r=E[x];if(m[r]){S=m[r];break}}return S=(0,t.cloneLayout)(S||[]),(0,t.compact)((0,t.correctBounds)(S,{cols:j}),k,j)}function b(m){return Object.keys(m).sort(function(w,R){return m[w]-m[R]})}return Le}var wr;function gs(){if(wr)return tt;wr=1,Object.defineProperty(tt,"__esModule",{value:!0}),tt.default=void 0;var t=w(fe()),l=g(_e()),s=At(),f=Ge(),b=en(),m=g(Qr());function g(p){return p&&p.__esModule?p:{default:p}}function w(p,r){if(typeof WeakMap=="function")var a=new WeakMap,n=new WeakMap;return(w=function(o,h){if(!h&&o&&o.__esModule)return o;var c,u,i={__proto__:null,default:o};if(o===null||typeof o!="object"&&typeof o!="function")return i;if(c=h?n:a){if(c.has(o))return c.get(o);c.set(o,i)}for(const v in o)v!=="default"&&{}.hasOwnProperty.call(o,v)&&((u=(c=Object.defineProperty)&&Object.getOwnPropertyDescriptor(o,v))&&(u.get||u.set)?c(i,v,u):i[v]=o[v]);return i})(p,r)}function R(){return R=Object.assign?Object.assign.bind():function(p){for(var r=1;r<arguments.length;r++){var a=arguments[r];for(var n in a)({}).hasOwnProperty.call(a,n)&&(p[n]=a[n])}return p},R.apply(null,arguments)}function j(p,r,a){return(r=k(r))in p?Object.defineProperty(p,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):p[r]=a,p}function k(p){var r=S(p,"string");return typeof r=="symbol"?r:r+""}function S(p,r){if(typeof p!="object"||!p)return p;var a=p[Symbol.toPrimitive];if(a!==void 0){var n=a.call(p,r);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(r==="string"?String:Number)(p)}const C=p=>Object.prototype.toString.call(p);function E(p,r){return p==null?null:Array.isArray(p)?p:p[r]}let x=class extends t.Component{constructor(){super(...arguments),j(this,"state",this.generateInitialState()),j(this,"onLayoutChange",r=>{this.props.onLayoutChange(r,{...this.props.layouts,[this.state.breakpoint]:r})})}generateInitialState(){const{width:r,breakpoints:a,layouts:n,cols:o}=this.props,h=(0,b.getBreakpointFromWidth)(a,r),c=(0,b.getColsFromBreakpoint)(h,o),u=this.props.verticalCompact===!1?null:this.props.compactType;return{layout:(0,b.findOrGenerateResponsiveLayout)(n,a,h,h,c,u),breakpoint:h,cols:c}}static getDerivedStateFromProps(r,a){if(!(0,s.deepEqual)(r.layouts,a.layouts)){const{breakpoint:n,cols:o}=a;return{layout:(0,b.findOrGenerateResponsiveLayout)(r.layouts,r.breakpoints,n,n,o,r.compactType),layouts:r.layouts}}return null}componentDidUpdate(r){(this.props.width!=r.width||this.props.breakpoint!==r.breakpoint||!(0,s.deepEqual)(this.props.breakpoints,r.breakpoints)||!(0,s.deepEqual)(this.props.cols,r.cols))&&this.onWidthChange(r)}onWidthChange(r){const{breakpoints:a,cols:n,layouts:o,compactType:h}=this.props,c=this.props.breakpoint||(0,b.getBreakpointFromWidth)(this.props.breakpoints,this.props.width),u=this.state.breakpoint,i=(0,b.getColsFromBreakpoint)(c,n),v={...o};if(u!==c||r.breakpoints!==a||r.cols!==n){u in v||(v[u]=(0,f.cloneLayout)(this.state.layout));let O=(0,b.findOrGenerateResponsiveLayout)(v,a,c,u,i,h);O=(0,f.synchronizeLayoutWithChildren)(O,this.props.children,i,h,this.props.allowOverlap),v[c]=O,this.props.onBreakpointChange(c,i),this.props.onLayoutChange(O,v),this.setState({breakpoint:c,layout:O,cols:i})}const N=E(this.props.margin,c),D=E(this.props.containerPadding,c);this.props.onWidthChange(this.props.width,N,i,D)}render(){const{breakpoint:r,breakpoints:a,cols:n,layouts:o,margin:h,containerPadding:c,onBreakpointChange:u,onLayoutChange:i,onWidthChange:v,...N}=this.props;return t.createElement(m.default,R({},N,{margin:E(h,this.state.breakpoint),containerPadding:E(c,this.state.breakpoint),onLayoutChange:this.onLayoutChange,layout:this.state.layout,cols:this.state.cols}))}};return tt.default=x,j(x,"propTypes",{breakpoint:l.default.string,breakpoints:l.default.object,allowOverlap:l.default.bool,cols:l.default.object,margin:l.default.oneOfType([l.default.array,l.default.object]),containerPadding:l.default.oneOfType([l.default.array,l.default.object]),layouts(p,r){if(C(p[r])!=="[object Object]")throw new Error("Layout property must be an object. Received: "+C(p[r]));Object.keys(p[r]).forEach(a=>{if(!(a in p.breakpoints))throw new Error("Each key in layouts must align with a key in breakpoints.");(0,f.validateLayout)(p.layouts[a],"layouts."+a)})},width:l.default.number.isRequired,onBreakpointChange:l.default.func,onLayoutChange:l.default.func,onWidthChange:l.default.func}),j(x,"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:f.noop,onLayoutChange:f.noop,onWidthChange:f.noop}),tt}var ct={},tn=function(){if(typeof Map<"u")return Map;function t(l,s){var f=-1;return l.some(function(b,m){return b[0]===s?(f=m,!0):!1}),f}return function(){function l(){this.__entries__=[]}return Object.defineProperty(l.prototype,"size",{get:function(){return this.__entries__.length},enumerable:!0,configurable:!0}),l.prototype.get=function(s){var f=t(this.__entries__,s),b=this.__entries__[f];return b&&b[1]},l.prototype.set=function(s,f){var b=t(this.__entries__,s);~b?this.__entries__[b][1]=f:this.__entries__.push([s,f])},l.prototype.delete=function(s){var f=this.__entries__,b=t(f,s);~b&&f.splice(b,1)},l.prototype.has=function(s){return!!~t(this.__entries__,s)},l.prototype.clear=function(){this.__entries__.splice(0)},l.prototype.forEach=function(s,f){f===void 0&&(f=null);for(var b=0,m=this.__entries__;b<m.length;b++){var g=m[b];s.call(f,g[1],g[0])}},l}()}(),Mt=typeof window<"u"&&typeof document<"u"&&window.document===document,vt=function(){return typeof global<"u"&&global.Math===Math?global:typeof self<"u"&&self.Math===Math?self:typeof window<"u"&&window.Math===Math?window:Function("return this")()}(),ys=function(){return typeof requestAnimationFrame=="function"?requestAnimationFrame.bind(vt):function(t){return setTimeout(function(){return t(Date.now())},1e3/60)}}(),vs=2;function xs(t,l){var s=!1,f=!1,b=0;function m(){s&&(s=!1,t()),f&&w()}function g(){ys(m)}function w(){var R=Date.now();if(s){if(R-b<vs)return;f=!0}else s=!0,f=!1,setTimeout(g,l);b=R}return w}var bs=20,js=["top","right","bottom","left","width","height","size","weight"],ws=typeof MutationObserver<"u",Ss=function(){function t(){this.connected_=!1,this.mutationEventsAdded_=!1,this.mutationsObserver_=null,this.observers_=[],this.onTransitionEnd_=this.onTransitionEnd_.bind(this),this.refresh=xs(this.refresh.bind(this),bs)}return t.prototype.addObserver=function(l){~this.observers_.indexOf(l)||this.observers_.push(l),this.connected_||this.connect_()},t.prototype.removeObserver=function(l){var s=this.observers_,f=s.indexOf(l);~f&&s.splice(f,1),!s.length&&this.connected_&&this.disconnect_()},t.prototype.refresh=function(){var l=this.updateObservers_();l&&this.refresh()},t.prototype.updateObservers_=function(){var l=this.observers_.filter(function(s){return s.gatherActive(),s.hasActive()});return l.forEach(function(s){return s.broadcastActive()}),l.length>0},t.prototype.connect_=function(){!Mt||this.connected_||(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),ws?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener("DOMSubtreeModified",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},t.prototype.disconnect_=function(){!Mt||!this.connected_||(document.removeEventListener("transitionend",this.onTransitionEnd_),window.removeEventListener("resize",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener("DOMSubtreeModified",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},t.prototype.onTransitionEnd_=function(l){var s=l.propertyName,f=s===void 0?"":s,b=js.some(function(m){return!!~f.indexOf(m)});b&&this.refresh()},t.getInstance=function(){return this.instance_||(this.instance_=new t),this.instance_},t.instance_=null,t}(),rn=function(t,l){for(var s=0,f=Object.keys(l);s<f.length;s++){var b=f[s];Object.defineProperty(t,b,{value:l[b],enumerable:!1,writable:!1,configurable:!0})}return t},Fe=function(t){var l=t&&t.ownerDocument&&t.ownerDocument.defaultView;return l||vt},nn=St(0,0,0,0);function xt(t){return parseFloat(t)||0}function Sr(t){for(var l=[],s=1;s<arguments.length;s++)l[s-1]=arguments[s];return l.reduce(function(f,b){var m=t["border-"+b+"-width"];return f+xt(m)},0)}function Rs(t){for(var l=["top","right","bottom","left"],s={},f=0,b=l;f<b.length;f++){var m=b[f],g=t["padding-"+m];s[m]=xt(g)}return s}function Cs(t){var l=t.getBBox();return St(0,0,l.width,l.height)}function Ds(t){var l=t.clientWidth,s=t.clientHeight;if(!l&&!s)return nn;var f=Fe(t).getComputedStyle(t),b=Rs(f),m=b.left+b.right,g=b.top+b.bottom,w=xt(f.width),R=xt(f.height);if(f.boxSizing==="border-box"&&(Math.round(w+m)!==l&&(w-=Sr(f,"left","right")+m),Math.round(R+g)!==s&&(R-=Sr(f,"top","bottom")+g)),!Ns(t)){var j=Math.round(w+m)-l,k=Math.round(R+g)-s;Math.abs(j)!==1&&(w-=j),Math.abs(k)!==1&&(R-=k)}return St(b.left,b.top,w,R)}var Ps=function(){return typeof SVGGraphicsElement<"u"?function(t){return t instanceof Fe(t).SVGGraphicsElement}:function(t){return t instanceof Fe(t).SVGElement&&typeof t.getBBox=="function"}}();function Ns(t){return t===Fe(t).document.documentElement}function Es(t){return Mt?Ps(t)?Cs(t):Ds(t):nn}function Os(t){var l=t.x,s=t.y,f=t.width,b=t.height,m=typeof DOMRectReadOnly<"u"?DOMRectReadOnly:Object,g=Object.create(m.prototype);return rn(g,{x:l,y:s,width:f,height:b,top:s,right:l+f,bottom:b+s,left:l}),g}function St(t,l,s,f){return{x:t,y:l,width:s,height:f}}var _s=function(){function t(l){this.broadcastWidth=0,this.broadcastHeight=0,this.contentRect_=St(0,0,0,0),this.target=l}return t.prototype.isActive=function(){var l=Es(this.target);return this.contentRect_=l,l.width!==this.broadcastWidth||l.height!==this.broadcastHeight},t.prototype.broadcastRect=function(){var l=this.contentRect_;return this.broadcastWidth=l.width,this.broadcastHeight=l.height,l},t}(),zs=function(){function t(l,s){var f=Os(s);rn(this,{target:l,contentRect:f})}return t}(),ks=function(){function t(l,s,f){if(this.activeObservations_=[],this.observations_=new tn,typeof l!="function")throw new TypeError("The callback provided as parameter 1 is not a function.");this.callback_=l,this.controller_=s,this.callbackCtx_=f}return t.prototype.observe=function(l){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if(!(typeof Element>"u"||!(Element instanceof Object))){if(!(l instanceof Fe(l).Element))throw new TypeError('parameter 1 is not of type "Element".');var s=this.observations_;s.has(l)||(s.set(l,new _s(l)),this.controller_.addObserver(this),this.controller_.refresh())}},t.prototype.unobserve=function(l){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if(!(typeof Element>"u"||!(Element instanceof Object))){if(!(l instanceof Fe(l).Element))throw new TypeError('parameter 1 is not of type "Element".');var s=this.observations_;s.has(l)&&(s.delete(l),s.size||this.controller_.removeObserver(this))}},t.prototype.disconnect=function(){this.clearActive(),this.observations_.clear(),this.controller_.removeObserver(this)},t.prototype.gatherActive=function(){var l=this;this.clearActive(),this.observations_.forEach(function(s){s.isActive()&&l.activeObservations_.push(s)})},t.prototype.broadcastActive=function(){if(this.hasActive()){var l=this.callbackCtx_,s=this.activeObservations_.map(function(f){return new zs(f.target,f.broadcastRect())});this.callback_.call(l,s,l),this.clearActive()}},t.prototype.clearActive=function(){this.activeObservations_.splice(0)},t.prototype.hasActive=function(){return this.activeObservations_.length>0},t}(),sn=typeof WeakMap<"u"?new WeakMap:new tn,an=function(){function t(l){if(!(this instanceof t))throw new TypeError("Cannot call a class as a function.");if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");var s=Ss.getInstance(),f=new ks(l,s,this);sn.set(this,f)}return t}();["observe","unobserve","disconnect"].forEach(function(t){an.prototype[t]=function(){var l;return(l=sn.get(this))[t].apply(l,arguments)}});var Ms=function(){return typeof vt.ResizeObserver<"u"?vt.ResizeObserver:an}();const Ts=Object.freeze(Object.defineProperty({__proto__:null,default:Ms},Symbol.toStringTag,{value:"Module"})),Ls=Xn(Ts);var Rr;function Ws(){if(Rr)return ct;Rr=1,Object.defineProperty(ct,"__esModule",{value:!0}),ct.default=S;var t=m(fe()),l=b(_e()),s=b(Ls),f=b(jt());function b(C){return C&&C.__esModule?C:{default:C}}function m(C,E){if(typeof WeakMap=="function")var x=new WeakMap,p=new WeakMap;return(m=function(r,a){if(!a&&r&&r.__esModule)return r;var n,o,h={__proto__:null,default:r};if(r===null||typeof r!="object"&&typeof r!="function")return h;if(n=a?p:x){if(n.has(r))return n.get(r);n.set(r,h)}for(const c in r)c!=="default"&&{}.hasOwnProperty.call(r,c)&&((o=(n=Object.defineProperty)&&Object.getOwnPropertyDescriptor(r,c))&&(o.get||o.set)?n(h,c,o):h[c]=r[c]);return h})(C,E)}function g(){return g=Object.assign?Object.assign.bind():function(C){for(var E=1;E<arguments.length;E++){var x=arguments[E];for(var p in x)({}).hasOwnProperty.call(x,p)&&(C[p]=x[p])}return C},g.apply(null,arguments)}function w(C,E,x){return(E=R(E))in C?Object.defineProperty(C,E,{value:x,enumerable:!0,configurable:!0,writable:!0}):C[E]=x,C}function R(C){var E=j(C,"string");return typeof E=="symbol"?E:E+""}function j(C,E){if(typeof C!="object"||!C)return C;var x=C[Symbol.toPrimitive];if(x!==void 0){var p=x.call(C,E);if(typeof p!="object")return p;throw new TypeError("@@toPrimitive must return a primitive value.")}return(E==="string"?String:Number)(C)}const k="react-grid-layout";function S(C){var E;return E=class extends t.Component{constructor(){super(...arguments),w(this,"state",{width:1280}),w(this,"elementRef",t.createRef()),w(this,"mounted",!1),w(this,"resizeObserver",void 0)}componentDidMount(){this.mounted=!0,this.resizeObserver=new s.default(r=>{if(this.elementRef.current instanceof HTMLElement){const n=r[0].contentRect.width;this.setState({width:n})}});const p=this.elementRef.current;p instanceof HTMLElement&&this.resizeObserver.observe(p)}componentWillUnmount(){this.mounted=!1;const p=this.elementRef.current;p instanceof HTMLElement&&this.resizeObserver.unobserve(p),this.resizeObserver.disconnect()}render(){const{measureBeforeMount:p,...r}=this.props;return p&&!this.mounted?t.createElement("div",{className:(0,f.default)(this.props.className,k),style:this.props.style,ref:this.elementRef}):t.createElement(C,g({innerRef:this.elementRef},r,this.state))}},w(E,"defaultProps",{measureBeforeMount:!1}),w(E,"propTypes",{measureBeforeMount:l.default.bool}),E}return ct}var Cr;function qs(){return Cr||(Cr=1,function(t){t.exports=Qr().default,t.exports.utils=Ge(),t.exports.calculateUtils=It(),t.exports.Responsive=gs().default,t.exports.Responsive.utils=en(),t.exports.WidthProvider=Ws().default}(Dt)),Dt.exports}var Hs=qs();const As=Vn(Hs),Is=()=>{const[t,l]=z.useState([]),[s,f]=z.useState(""),b=z.useRef(null),m=()=>{b.current&&(b.current.scrollTop=b.current.scrollHeight)};z.useEffect(()=>{const w=R=>{l(j=>{const k=[...j,R];return k.length>50?k.slice(k.length-50):k})};return De.on("chat",w),Be("subscribe","chat"),V("chat.recent").then(R=>{l(R.reverse())}),()=>{De.off("chat",w),Be("unsubscribe","chat")}},[]),z.useLayoutEffect(()=>{m()},[t]);const g=w=>{w.preventDefault(),!(s.length>140||s.length===0)&&(Er("chat",s),f(""))};return e.jsxs("div",{className:"chat-widget",children:[e.jsx(be,{className:"messages",ref:b,children:e.jsx("div",{className:"messages-child",children:t.map(w=>e.jsxs("div",{className:"log-entry",children:[w.action==="msg"&&e.jsxs("div",{className:"chat-message",children:[w.user?.web?"[":"",e.jsx(Ct,{color:!0,user:w.user}),w.user?.web?"]":"",":"," ",e.jsx(Ft,{as:"span",children:w.message})]}),w.action==="leave"&&e.jsxs("div",{className:"join-message",children:[e.jsx(Ct,{user:w.user})," left the game."]}),w.action==="join"&&e.jsxs("div",{className:"join-message",children:[e.jsx(Ct,{user:w.user})," joined the game",w.user?.isFirst?" for the first time":"","."]}),w.action==="server"&&e.jsx(Ft,{as:"div",className:"server-message",children:w.message})]},w._id))})}),e.jsx("form",{onSubmit:g,children:e.jsxs(We,{children:[e.jsx(ie,{roboto:!0,type:"text",placeholder:"Message",value:s,onChange:w=>f(w)}),e.jsx(A,{normal:!0,icon:!0,style:{marginLeft:"10px"},onClick:g,children:e.jsx(Pn,{})})]})})]})},Us=()=>{const[t,l]=z.useState(null);return z.useEffect(()=>(De.on("server.status",l),Be("subscribe","status"),V("server.status").then(l),()=>{De.off("server.status",l),Be("unsubscribe","status")}),[]),e.jsxs("div",{className:"status-widget",children:[t?.players&&e.jsx(be,{className:"players",children:e.jsxs("div",{className:"players-child",children:[e.jsxs("div",{className:"stats",children:[e.jsxs("div",{className:"stat",children:[e.jsx("b",{children:"Name:"})," ",t.serverName]}),e.jsxs("div",{className:"stat",children:[e.jsx("b",{children:"Uptime:"})," ",ue(t.time)]}),e.jsxs("div",{className:"stat",children:[e.jsx("b",{children:"Bricks:"})," ",t.bricks]}),e.jsxs("div",{className:"stat",children:[e.jsx("b",{children:"Players:"})," ",t.players.length]})]}),e.jsxs("table",{className:"br-table",children:[e.jsx("thead",{children:e.jsxs("tr",{children:[e.jsx("th",{style:{textAlign:"left",width:"100%"},children:"Name"}),e.jsx("th",{children:"Time"}),e.jsx("th",{children:"Ping"})]})}),e.jsx("tbody",{children:t.players.map(s=>e.jsxs("tr",{children:[e.jsx("td",{children:e.jsx(nt,{className:"user",to:"/players/"+s.id,children:s.name})}),e.jsx("td",{style:{textAlign:"right"},children:ue(s.time)}),e.jsx("td",{style:{textAlign:"right"},children:s.ping})]},s.address+s.id))})]})]})}),!t?.players&&e.jsx(he,{blur:!0,size:"huge",children:"Loading Status"})]})},zt={chat:{component:Is,icon:En,tooltip:"Chat with online players"},status:{component:Us,icon:Kn,tooltip:"View current online players and server status"}},Dr=[{x:0,y:0,w:2,h:2,i:"chat"},{x:2,y:0,w:2,h:2,i:"status"}],Bs={minW:2,maxW:10,minH:2,maxH:10},Fs=[8,8],Gs=()=>{const[t,l]=z.useState(()=>{if(localStorage.omeggaDashLayout2)try{return JSON.parse(localStorage.omeggaDashLayout2)}catch(S){return console.error("Invalid layout in localStorage, using default layout",S),Dr}return Dr});z.useEffect(()=>{localStorage.omeggaDashLayout2=JSON.stringify(t)},[t]);const s=S=>{l(t.filter(C=>C.i!==S))},f=S=>{S in zt&&l([...t,{x:0,y:0,w:2,h:2,i:S}])},[b,m]=z.useState(!1),g=Object.fromEntries(t.map(S=>[S.i,!0])),w=z.useCallback(S=>{l(S)},[]),R=z.useRef(null),[j,k]=z.useState(null);return z.useEffect(()=>{R.current&&k(R.current.clientWidth);const S=new ResizeObserver(C=>{for(const E of C)E.target===R.current&&k(E.contentRect.width)});return R.current&&S.observe(R.current),()=>{S.disconnect()}},[R.current]),e.jsxs(e.Fragment,{children:[e.jsx(Pe,{title:"Dashboard",children:e.jsxs("div",{className:"widgets-container",children:[e.jsxs(A,{normal:!0,boxy:!0,"data-tooltip":"Add more widgets to the dashboard",onClick:()=>m(!b),children:[e.jsx(Nn,{}),"Widgets"]}),e.jsx("div",{className:"widgets-list",style:{display:b?"block":"none"},children:Object.entries(zt).map(([S,C])=>e.jsxs("div",{className:"widget-item",children:[e.jsxs("div",{className:"name","data-tooltip":C.tooltip,children:[e.jsx(C.icon,{}),S]}),g[S]?e.jsx(A,{warn:!0,icon:!0,"data-tooltip":`Remove ${S} widget`,onClick:()=>s(S),children:e.jsx(Br,{})}):e.jsx(A,{main:!0,icon:!0,"data-tooltip":`Add ${S} widget`,onClick:()=>f(S),children:e.jsx(mt,{})})]},S))})]})}),e.jsxs(Ne,{children:[e.jsx(Ee,{}),e.jsx("div",{className:"grid-container",ref:R,children:j!==null&&e.jsx(As,{layout:t.map(S=>({...S,...Bs})),width:j,cols:10,autoSize:!0,useCSSTransforms:!0,rowHeight:100,isBounded:!0,isResizable:!0,isDraggable:!0,margin:Fs,onLayoutChange:w,draggableHandle:".drag-handle",draggableCancel:".no-drag",resizeHandles:["se"],resizeHandle:e.jsx(On,{style:{cursor:"se-resize"},className:"resize-handle"}),children:t.map(S=>{const C=zt[S.i].component;return e.jsxs("div",{className:"grid-item",children:[e.jsxs(qt,{className:"drag-handle",children:[e.jsx("span",{style:{flex:1},children:S.i}),e.jsx(A,{icon:!0,error:!0,className:"no-drag","data-tooltip":"Close widget",onClick:()=>s(S.i),children:e.jsx(st,{})})]}),e.jsx("div",{className:"drag-contents",children:e.jsx(C,{})})]},S.i)})})})]})]})},Pr={"Minute(s)":1,"Hour(s)":60,"Day(s)":24*60,"Week(s)":24*60*7,"Month(s)":24*60*30},$s=["Permanent","Minute(s)","Hour(s)","Day(s)","Week(s)","Month(s)"],Ys=()=>{const[t,l]=Oe("/players/:id"),[s,f]=Lt(),[b,m]=z.useState(null),[g,w]=z.useState(null),[R,j]=z.useState(!1),[k,S]=z.useState(""),[C,E]=z.useState(10),[x,p]=z.useState("Permanent"),[r,a]=z.useState(!0),[n,o]=z.useState(!1),h=z.useCallback(async()=>{if(!l?.id)return;a(!0);const D=await V("player.get",l.id);if(!D)return f("/players");w(D),a(!1)},[l?.id]);z.useEffect(()=>{h()},[h]);const c=async()=>{if(!g.id)return;o(!0);const D=x==="Permanent"?-1:C*Pr[x];try{await V("player.ban",g.id,D,k)}catch(O){console.error("Failed to ban player:",O)}m(null),h(),o(!1)},u=async()=>{if(g.id){o(!0);try{await V("player.kick",g.id,k)}catch(D){console.error("Failed to kick player:",D)}m(null),h(),o(!1)}},i=async()=>{if(g.id){o(!0);try{await V("player.unban",g.id)}catch(D){console.error("Failed to unban player:",D)}h(),o(!1)}},v=async()=>{if(g.id){o(!0);try{await V("player.clearbricks",g.id)}catch(D){console.error("Failed to clear bricks:",D)}o(!1),m(null)}},N=z.useMemo(()=>x==="Permanent"?"Never":Rn(Date.now()+Pr[x]*60*1e3*C),[x,C]);return e.jsxs("div",{className:"player-inspector-container",children:[e.jsxs(ge,{attached:!0,children:[g?.name||"SELECT A PLAYER",e.jsx("span",{style:{flex:1}}),g&&e.jsxs("div",{className:"widgets-container",children:[e.jsxs(A,{normal:!0,boxy:!0,onClick:()=>j(!R),children:[e.jsx(Fr,{}),"User Actions..."]}),e.jsxs("div",{className:"widgets-list",style:{display:R?"block":"none"},children:[e.jsxs(A,{boxy:!0,warn:!0,disabled:n,onClick:()=>{m("clear"),j(!1)},children:[e.jsx($t,{}),"Clear Bricks"]}),!g.isHost&&g.isOnline&&e.jsxs(A,{boxy:!0,error:!0,disabled:n,onClick:()=>{m("kick"),j(!1)},children:[e.jsx(Vt,{}),"Kick"]}),g.currentBan&&e.jsxs(A,{boxy:!0,warn:!0,disabled:n,onClick:()=>{i(),j(!1)},children:[e.jsx(_n,{}),"Unban"]}),!g.isHost&&e.jsxs(A,{boxy:!0,error:!0,disabled:n,onClick:()=>{m("ban"),j(!1)},children:[e.jsx(ht,{}),"Ban"]})]})]})]}),e.jsx("div",{className:"player-inspector",children:e.jsxs("div",{className:"player-view",children:[e.jsx(he,{active:r,size:"huge",children:"Loading Player"}),e.jsx("div",{className:"player-info",children:!r&&g&&e.jsxs(be,{children:[e.jsxs("div",{className:"stats",children:[e.jsxs("div",{className:"stat",children:[e.jsx("b",{children:"Profile:"})," ",e.jsx("a",{href:"https://brickadia.com/users/"+g.id,target:"_blank",children:g.name})]}),e.jsxs("div",{className:"stat",children:[e.jsx("b",{children:"Display Name:"})," ",g.displayName??"unknown"]}),e.jsxs("div",{className:"stat",children:[e.jsx("b",{children:"Host:"})," ",g.isHost?"Yes":"No"]}),e.jsxs("div",{className:"stat",children:[e.jsx("b",{children:"Banned:"})," ",g.currentBan&&g.currentBan.duration<=0?e.jsx("span",{children:"Permanent"}):g.currentBan?e.jsxs("span",{children:[ue(g.currentBan.remainingTime)," of"," ",ue(g.currentBan.duration)," remaining"]}):e.jsx("span",{children:"No"})]}),e.jsxs("div",{className:"stat",children:[e.jsx("b",{"data-tooltip":"Number of status heartbeats this player has been part of",children:"Time Played:"})," ",kr(g.heartbeats)]}),e.jsxs("div",{className:"stat",children:[e.jsx("b",{"data-tooltip":"Date player was last seen",children:"Last Seen:"})," ",e.jsxs("span",{"data-tooltip":new Date(g.lastSeen),children:[ue(g.seenAgo)," ago"]})]}),e.jsxs("div",{className:"stat",children:[e.jsx("b",{"data-tooltip":"Date player was first seen",children:"First Seen:"})," ",e.jsxs("span",{"data-tooltip":new Date(g.created),children:[ue(g.createdAgo)," ago"]})]}),e.jsxs("div",{className:"stat",children:[e.jsx("b",{"data-tooltip":"Number of times this player has visited the server (new visits are registered if the player joins 3 hours after last seen)",children:"Visits:"})," ",g.sessions]}),e.jsxs("div",{className:"stat",children:[e.jsx("b",{"data-tooltip":"Number of server instances this player has joined",children:"Server Visits:"})," ",g.instances]}),e.jsxs("div",{className:"stat",children:[e.jsx("b",{children:"Bans:"})," ",g.banHistory.length]})]}),e.jsx("div",{className:"section-header","data-tooltip":"Roles this player has",children:"Roles"}),e.jsxs("div",{className:"option-list",children:[g.roles.map(D=>e.jsx("div",{className:"option-item",children:e.jsx("div",{className:"option-name",style:{color:"#"+D.color},children:D.name})},D.name)),e.jsx("div",{className:"option-item",children:e.jsx("div",{className:"option-name",style:{color:"white"},children:"Default"})})]}),e.jsx("div",{className:"section-header","data-tooltip":"Names this player has gone by historically",children:"Name History"}),e.jsxs("table",{className:"br-table name-history",children:[e.jsx("thead",{children:e.jsxs("tr",{children:[e.jsx("th",{style:{textAlign:"left",width:"100%"},children:e.jsx("span",{children:"Name"})}),e.jsx("th",{children:"First Seen"})]})}),e.jsx("tbody",{children:g.nameHistory.map(D=>e.jsxs("tr",{children:[e.jsxs("td",{children:[e.jsx("div",{"data-tooltip":D.displayName?"Display Name":"Username",children:D.displayName??D.name}),D.displayName&&e.jsx("div",{"data-tooltip":"Username",className:"username",children:D.name})]}),e.jsx("td",{style:{textAlign:"right"},"data-tooltip":new Date(D.date),children:ue(D.ago)})]},D.date+D.name))})]}),e.jsx("div",{className:"section-header","data-tooltip":"Times this player has been banned from the server",children:"Ban History"}),e.jsxs("table",{className:"br-table",children:[e.jsx("thead",{children:e.jsxs("tr",{children:[e.jsx("th",{style:{width:"100%",textAlign:"left"},children:"Reason"}),e.jsx("th",{children:"Length"}),e.jsx("th",{children:"Issuer"}),e.jsx("th",{children:"Date"})]})}),e.jsxs("tbody",{children:[g.banHistory.length===0&&e.jsx("tr",{children:e.jsx("td",{colSpan:4,children:e.jsx("i",{children:"None"})})}),g.banHistory.map(D=>e.jsxs("tr",{children:[e.jsx("td",{className:"reason",children:D.reason}),e.jsx("td",{style:{textAlign:"right"},"data-tooltip":"Expires "+new Date(D.expires),children:0>=(D.duration??-1)?"Permanent":ue(D.duration)}),e.jsx("td",{children:e.jsx(nt,{to:"/players/"+D.bannerId,children:D.bannerName||"missing name"})}),e.jsx("td",{style:{textAlign:"right"},"data-tooltip":new Date(D.created),children:Gt(D.created)})]},D.created))]})]}),e.jsx("div",{className:"section-header","data-tooltip":"Times this player has been booted from the server",children:"Kick History"}),e.jsxs("table",{className:"br-table",children:[e.jsx("thead",{children:e.jsxs("tr",{children:[e.jsx("th",{style:{width:"100%",textAlign:"left"},children:"Reason"}),e.jsx("th",{children:"Issuer"}),e.jsx("th",{children:"Date"})]})}),e.jsxs("tbody",{children:[g.kickHistory.length===0&&e.jsx("tr",{children:e.jsx("td",{colSpan:4,children:e.jsx("i",{children:"None"})})}),g.kickHistory.map(D=>e.jsxs("tr",{children:[e.jsx("td",{className:"reason",children:D.reason}),e.jsx("td",{children:e.jsx(nt,{to:"/players/"+D.kickerId,children:D.kickerName||"missing name"})}),e.jsx("td",{style:{textAlign:"right"},"data-tooltip":new Date(D.created),children:Gt(D.created)})]},D.created))]})]})]})})]})}),e.jsxs(Mr,{visible:!!b,children:[e.jsx(he,{active:n,size:"huge",children:"Running Action..."}),e.jsxs(Tr,{visible:!n,children:[e.jsx(qt,{children:b==="ban"?"Ban Player":b==="kick"?"Kick Player":"Clear Bricks"}),(b==="kick"||b==="ban")&&e.jsxs("div",{className:`popout-inputs ${b}`,children:[e.jsx(ie,{type:"text",placeholder:"Reason",value:k,onChange:S}),b==="ban"&&e.jsxs("div",{className:"ban-duration",style:{display:"flex"},children:[x!=="Permanent"&&e.jsx(ie,{placeholder:"Duration",type:"number",value:C,onChange:E}),e.jsx(Tt,{options:$s,value:x,onChange:D=>p(D)})]})]}),b==="ban"&&e.jsxs(kt,{children:["This ban will expire"," ",e.jsx("span",{style:{color:"white"},children:N}),"."]}),b==="clear"&&e.jsx(kt,{children:e.jsxs("p",{style:{padding:20},children:["Are you sure you want to clear"," ",e.jsx("span",{style:{color:"white"},children:g?.name??"??"}),"'s bricks?"]})}),e.jsxs(We,{attached:!0,children:[b==="ban"&&e.jsxs(A,{error:!0,onClick:c,children:[e.jsx(ht,{}),"Ban"]}),b==="clear"&&e.jsxs(A,{warn:!0,onClick:v,children:[e.jsx($t,{}),"Clear Bricks"]}),b==="kick"&&e.jsxs(A,{error:!0,onClick:u,children:[e.jsx(Vt,{}),"Kick"]}),e.jsx("div",{style:{flex:1}}),e.jsxs(A,{normal:!0,onClick:()=>m(null),children:[e.jsx(st,{}),"Cancel"]})]})]})]})]})},Xs=()=>{const[t,l]=z.useState(0),[s,f]=z.useState(0),[b,m]=z.useState(!0),[g,w]=z.useState(!1),[R,j]=z.useState([]),[k,S]=Lt(),[C,E]=Oe("/players/:id?"),x=z.useRef({page:0,search:"",sort:"lastSeen",direction:-1,filterBanned:!1}),{page:p,search:r,sort:a,direction:n,filterBanned:o}=x.current,[h,c]=z.useState(0),u=T=>{x.current.search=T,O(),c(H=>H+1)},i=T=>{typeof T=="function"&&(T=T(x.current.page)),x.current.page=T,D()},v=T=>{typeof T=="function"&&(T=T(x.current.direction)),x.current.direction=T},N=T=>{x.current.filterBanned=T,O()},D=z.useCallback(async()=>{m(!0);const{page:T,search:H,sort:F,direction:B,filterBanned:K}=x.current,{players:J,total:Q,pages:Y}=await V("players.list",{page:T,search:H,sort:F,direction:B,filter:K?"banned":""});l(Y),f(Q),j(J),m(!1)},[]);z.useEffect(()=>{D()},[]);const O=z.useMemo(()=>Wt(()=>{x.current.page=0,D()},500),[]),_=T=>{T==a?v(H=>H*-1):(x.current.sort=T,v(T==="name"?1:-1)),D()};return e.jsxs(e.Fragment,{children:[e.jsx(Pe,{title:"Players",className:"players-view",children:e.jsxs("div",{className:"widgets-container",children:[e.jsxs(A,{normal:!0,boxy:!0,"data-tooltip":"Player list filters",onClick:()=>w(T=>!T),children:[e.jsx(zn,{}),"Filters"]}),e.jsx("div",{className:"widgets-list",style:{display:g?"block":"none"},children:e.jsxs("div",{className:"widget-item","data-tooltip":"Filter by banned players",children:[e.jsxs("div",{className:"name",children:[e.jsx(ht,{}),"Banned"]}),e.jsx(xe,{onChange:N,value:o})]})})]})}),e.jsxs(Ne,{children:[e.jsx(Ee,{}),e.jsxs("div",{className:"generic-container players-container",children:[e.jsxs("div",{className:"player-table-container",children:[e.jsxs(ge,{attached:!0,children:[e.jsx(ie,{type:"text",placeholder:"Search Players...",value:r,onChange:u}),e.jsx("span",{style:{flex:1}}),e.jsx(A,{icon:!0,normal:!0,"data-tooltip":"Refresh player list",onClick:D,children:e.jsx(bt,{})})]}),e.jsxs("div",{className:"players-list",children:[e.jsx(be,{children:e.jsxs("table",{className:"br-table",children:[e.jsx("thead",{children:e.jsxs("tr",{children:[e.jsx("th",{style:{textAlign:"left",width:"100%"},onClick:()=>_("name"),children:e.jsxs("span",{children:["Name",e.jsx(Re,{name:"name",sort:a,direction:n})]})}),e.jsx("th",{onClick:()=>_("heartbeats"),"data-tooltip":"Number of heartbeats the player has been part of (minutely)",children:e.jsxs("span",{children:["Played",e.jsx(Re,{name:"heartbeats",sort:a,direction:n})]})}),e.jsx("th",{onClick:()=>_("lastSeen"),"data-tooltip":"When the player was last seen",children:e.jsxs("span",{children:["Seen",e.jsx(Re,{name:"lastSeen",sort:a,direction:n})]})}),e.jsx("th",{onClick:()=>_("created"),"data-tooltip":"When the player joined",children:e.jsxs("span",{children:["Joined",e.jsx(Re,{name:"created",sort:a,direction:n})]})}),e.jsx("th",{onClick:()=>_("sessions"),"data-tooltip":"Number of Visits",children:e.jsxs("span",{className:"icon-cell",children:[e.jsx(kn,{className:"label",size:"30"}),e.jsx(Re,{name:"sessions",sort:a,direction:n})]})})]})}),e.jsx("tbody",{children:R.map(T=>e.jsxs("tr",{onClick:()=>S(`/players/${T.id}`),className:T.id===E?.id?"active":"",children:[e.jsxs("td",{className:T.ban?"ban":"",children:[T.name,T.ban&&e.jsx(ht,{size:"18"})]}),e.jsx("td",{style:{textAlign:"right"},children:kr(T.heartbeats)}),e.jsx("td",{style:{textAlign:"right"},"data-tooltip":new Date(T.lastSeen),children:ue(T.seenAgo)}),e.jsx("td",{style:{textAlign:"right"},"data-tooltip":new Date(T.created),children:ue(T.createdAgo)}),e.jsx("td",{style:{textAlign:"right"},children:T.sessions})]},T.id))})]})}),e.jsxs(We,{className:"pagination-footer",children:[e.jsx(A,{icon:!0,normal:!0,disabled:p===0,onClick:()=>{i(0)},children:e.jsx(Lr,{})}),e.jsx(A,{icon:!0,normal:!0,disabled:p===0,onClick:()=>i(T=>Math.max(0,T-1)),children:e.jsx(dt,{})}),e.jsxs("div",{className:"current-page",children:[e.jsxs("div",{children:["Page ",p+1," of ",t]}),e.jsxs("div",{children:["Showing ",R.length," of ",s]})]}),e.jsx(A,{icon:!0,normal:!0,disabled:p>=t-1,onClick:()=>i(T=>Math.min(R.length-1,T+1)),children:e.jsx(pt,{})}),e.jsx(A,{icon:!0,normal:!0,disabled:p>=t-1,onClick:()=>i(R.length-1),children:e.jsx(Wr,{})})]}),e.jsx(he,{active:b,size:"huge",children:"Loading Players"})]})]}),e.jsxs(zr,{children:[e.jsx(me,{path:"/players/:id",component:Ys}),e.jsx(me,{children:e.jsxs("div",{className:"player-inspector-container","v-if":"!$route.params.id",children:[e.jsx(ge,{attached:!0,children:"SELECT A PLAYER"}),e.jsx("div",{className:"player-inspector"})]})})]})]})]})]})},Vs=(t,l)=>{try{return JSON.stringify(t)===JSON.stringify(l)}catch{return!1}},Ks=()=>{const[t,l]=Oe("/plugins/:id"),[s,f]=z.useState(null),[b,m]=z.useState({}),[g,w]=z.useState(!!s?.path),[R,j]=z.useState(!1),[k,S]=z.useState({}),C=async()=>{if(!l?.id)return;w(!0);const c=await V("plugin.get",l.id);f(c),m(c.config),w(!1)},E=async()=>{l?.id&&(j(!0),await V("plugin.load",l.id),await C(),j(!1))},x=async()=>{l?.id&&(j(!0),await V("plugin.unload",l.id),await C(),j(!1))},p=async()=>{if(!l?.id)return;j(!0),await V("plugin.unload",l.id)&&await V("plugin.load",l.id),await C(),j(!1)},r=async c=>{l?.id&&(j(!0),await V("plugin.toggle",l.id,c),await C(),j(!1))},a=z.useRef(b);a.current=b;const n=z.useRef(s);n.current=s,z.useEffect(()=>{if(!l?.id)return;n.current=null,a.current={},f(null),m({}),C();const c=([u,i])=>{u===s?.path&&f(v=>({...v,...i}))};return De.on("plugin",c),()=>{De.off("plugin",c)}},[l?.id]);const o=z.useMemo(()=>Wt(async()=>{if(!l?.id||!n.current)return;const c={},u=a.current,i=n.current.path;for(const v in n.current?.config??{})n.current?.config[v]!=u[v]&&(c[v]=!0),await V("plugin.config",l?.id,u)&&(S(c),setTimeout(()=>{S({}),f(D=>D?.path===i?{...D,config:u}:D)}))},500),[l?.id]),h=(c,u)=>{!s||!b||(m(i=>({...i,[c]:u})),o())};return e.jsxs("div",{className:"plugin-view",children:[e.jsx(he,{active:g,size:"huge",children:"Loading Plugin"}),e.jsx("div",{className:"plugin-info",children:!g&&s&&e.jsxs(be,{children:[e.jsxs("div",{className:"stats",children:[e.jsxs("div",{className:"stat",children:[e.jsx("b",{"data-tooltip":"Plugin name",children:"Name:"})," ",s.name]}),e.jsxs("div",{className:"stat",children:[e.jsx("b",{"data-tooltip":"Plugin creator",children:"Author:"})," ",s.documentation?.author??"unknown"]}),e.jsxs("div",{className:"stat",children:[e.jsx("b",{children:"Description:"})," ",s.documentation?.description??"none"]}),e.jsxs("div",{className:"stat",children:[e.jsx("b",{"data-tooltip":"The folder this plugin runs in",children:"Folder:"})," ",s.path]}),e.jsxs("div",{className:"stat",children:[e.jsx("b",{"data-tooltip":"The type of plugin this is",children:"Format:"})," ",s.format]}),e.jsxs("div",{className:"stat",children:[e.jsx("b",{"data-tooltip":"Number of objects in the plugin's storage",children:"Stored Objects:"})," ",s.objCount]}),e.jsxs("div",{className:"stat",children:[e.jsx("b",{"data-tooltip":"Plugin can be started",children:"Enabled:"})," ",s.isEnabled?"Yes":"No"]}),e.jsxs("div",{className:"stat",children:[e.jsx("b",{"data-tooltip":"Plugin is running",children:"Loaded:"})," ",s.isLoaded?"Yes":"No"]})]}),e.jsx("div",{className:"section-header","data-tooltip":"Ways to configure the plugin. Changes take place the next time a plugin is loaded.",children:"Configs"}),e.jsxs("div",{className:"option-list",children:[Object.keys(s.documentation.config??{}).length===0&&e.jsx("div",{className:"option-item",children:e.jsx("i",{className:"option-name",children:"None"})}),Object.entries(s.documentation.config??{}).map(([c,u])=>e.jsx("div",{className:"option-item config",children:e.jsxs("div",{className:"option-input",children:[e.jsxs("div",{className:"option-label","data-tooltip":u.description,children:[c,e.jsxs("span",{className:`saved-note ${k[c]?"show":""}`,children:["SAVED ",e.jsx(Zn,{size:"20"})]})]}),e.jsxs("div",{className:"option-value",children:[["string","password","number"].includes(u.type)&&e.jsx(ie,{type:u.type==="string"?"text":u.type,value:b[c],onChange:i=>h(c,i)}),u.type==="list"&&e.jsx(hn,{options:"options"in u?u.options:void 0,type:u.itemType,value:b[c],onChange:i=>h(c,i)}),u.type==="players"&&e.jsx(fn,{value:b[c],onChange:i=>h(c,i)}),u.type==="role"&&e.jsx(pn,{value:b[c],onChange:i=>h(c,i)}),u.type==="enum"&&e.jsx(Tt,{options:u.options,value:b[c],onChange:i=>h(c,i)}),u.type==="boolean"&&e.jsx(xe,{value:b[c],onChange:i=>h(c,i)}),!Vs(u.default,b[c])&&e.jsx(Mn,{onClick:()=>h(c,u.default),className:"reset-button","data-tooltip":"Reset to default value"})]})]})},c))]}),e.jsx("div",{className:"section-header","data-tooltip":"Ways to control the plugin",children:"Commands"}),e.jsxs("div",{className:"option-list",children:[(s.documentation.commands??[]).length===0&&e.jsx("div",{className:"option-item",children:e.jsx("i",{className:"option-name",children:"None"})}),(s.documentation.commands||[]).map(c=>e.jsxs("div",{className:"option-item",children:[e.jsx("div",{className:"option-name","data-tooltip":c.description,children:c.name}),e.jsx("div",{className:"option-args",children:(c.args||[]).map(u=>e.jsx("div",{className:`option-arg ${u.required?"required":""}`,"data-tooltip":(u.required?"(required) ":"")+u.description,children:u.name},u.name))})]},c.name))]})]})}),e.jsxs(We,{attached:!0,children:[s?.isEnabled&&!s.isLoaded&&e.jsxs(A,{main:!0,disabled:R,"data-tooltip":"Start the plugin",onClick:()=>E(),children:[e.jsx(ft,{}),"Load"]}),s?.isEnabled&&s.isLoaded&&e.jsxs(A,{warn:!0,"data-tooltip":"Stop, then start the plugin",disabled:R,onClick:()=>p(),children:[e.jsx(qr,{}),"Reload"]}),e.jsx("span",{style:{flex:1}}),s?.isEnabled&&s.isLoaded&&e.jsxs(A,{error:!0,disabled:R,"data-tooltip":"Stop the plugin",onClick:()=>x(),children:[e.jsx(Hr,{}),"Unload"]}),s&&!s?.isEnabled&&e.jsxs(A,{main:!0,"data-tooltip":"Allow the plugin to be started",disabled:R,onClick:()=>r(!0),children:[e.jsx(mt,{}),"Enable"]}),s?.isEnabled&&!s.isLoaded&&e.jsxs(A,{error:!0,"data-tooltip":"Prevent the plugin from being started",disabled:R,onClick:()=>r(!1),children:[e.jsx(Br,{}),"Disable"]})]})]})},Nr=t=>{const l=(t.isLoaded?2:0)+(t.isEnabled?1:0),s=["disabled","broken","bugged","running"][l],f=["Plugin is disabled","Plugin is enabled but not running","Plugin is running but not enabled","Plugin is running"][l],b=[Ln,Wn,qn,Hn][l];return{...t,state:l,status:s,tooltip:f,icon:b}},Js=()=>{const[t,l]=z.useState(""),[s,f]=z.useState(!0),[b,m]=z.useState(!1),[g,w]=z.useState([]),[R,j]=Oe("/plugins/:id?"),k=z.useMemo(()=>g.find(x=>x.name===j?.id)?.name??"SELECT A PLUGIN",[g,j?.id]),S=async()=>{f(!0);const x=await V("plugins.list");w(x.map(Nr)),f(!1)},C=async()=>{m(!0),await V("plugins.reload"),m(!1)},E=x=>x.name.toLowerCase().includes(t.toLowerCase());return z.useEffect(()=>{const x=([p,r])=>{const a=Nr(r);w(n=>n.map(o=>o.path===p?{...o,...a}:o))};return De.on("plugin",x),Be("subscribe","plugins"),S(),()=>{De.off("plugin",x),Be("unsubscribe","plugins")}},[]),e.jsxs(e.Fragment,{children:[e.jsxs(Pe,{title:"Plugins",children:[e.jsx("span",{style:{flex:1}}),e.jsxs(A,{warn:!0,disabled:b,onClick:C,"data-tooltip":"Reload all plugins, this may clear current plugin progress",children:[e.jsx(Tn,{}),"Reload Plugins"]})]}),e.jsxs(Ne,{children:[e.jsx(Ee,{}),e.jsxs("div",{className:"generic-container plugins-container",children:[e.jsxs("div",{className:"plugins-list-container",children:[e.jsxs(ge,{children:[e.jsx(ie,{type:"text",placeholder:"Search Plugins...",value:t,onChange:x=>l(x)}),e.jsx("span",{style:{flex:1}}),e.jsx(A,{icon:!0,normal:!0,"data-tooltip":"Refresh plugin list",onClick:S,children:e.jsx(bt,{})})]}),e.jsxs("div",{className:"plugins-list",children:[e.jsx(be,{children:g.map(x=>E(x)&&e.jsxs(nt,{href:"/plugins/"+x.path,"data-tooltip":x.documentation?.description,className:"plugin-item",children:[e.jsx(x.icon,{className:x.status,"data-tooltip":x.tooltip}),x.name]},x.path))}),e.jsx(he,{active:s,size:"huge",children:"Loading Plugins"})]})]}),e.jsxs("div",{className:"plugin-inspector-container",children:[e.jsx(ge,{attached:!0,children:k}),e.jsx("div",{className:"plugin-inspector",children:e.jsx(Ks,{})})]})]})]})]})},Zs=()=>{const{started:t,stopping:l,starting:s,loading:f}=Or(),b=ut(),[m,g]=z.useState(null),w=Ce(_r),[R,j]=z.useState(w?.update?.lastCheck??null);z.useEffect(()=>{j(w?.update?.lastCheck??null)},[w?.update?.lastCheck]);const[k,S]=z.useState(!1),[C,E]=z.useState(!1);z.useEffect(()=>{V("server.autorestart.get").then(g)},[]);const x=w?.update?.canCheck??!1,p=z.useCallback(()=>{x&&(S(!0),V("server.updatecheck").then(h=>{j(h),S(!1)}))},[x]),r=z.useCallback(async()=>{if(!m)return;const h={type:"autoRestartConfig",maxUptime:Math.round(Math.max(1,Math.min(m.maxUptime,168))),maxUptimeEnabled:m.maxUptimeEnabled,emptyUptime:Math.round(Math.max(1,Math.min(m.emptyUptime,168))),emptyUptimeEnabled:m.emptyUptimeEnabled,dailyHour:Math.round(Math.max(0,Math.min(m.dailyHour,23))),dailyHourEnabled:m.dailyHourEnabled,announcementEnabled:m.announcementEnabled,playersEnabled:m.playersEnabled,saveWorld:m.saveWorld,autoUpdateEnabled:m.autoUpdateEnabled??!0,autoUpdateIntervalMins:Math.round(Math.max(10,Math.min(m.autoUpdateIntervalMins??60,1/0)))};Er("server.autorestart.set",h)},[m]),a=async()=>{E(!0),await V("world.save"),E(!1)},n=Qn(r),o=h=>c=>{m&&(g(u=>({...u,[h]:c})),n.fire())};return e.jsxs(e.Fragment,{children:[e.jsx(Pe,{title:"Server",children:w?.isSteam&&x!==null&&e.jsx(A,{main:!!R,normal:!R,"data-tooltip":"Check for updates",disabled:k,onClick:p,children:R===!0?e.jsxs(e.Fragment,{children:[e.jsx(An,{}),"Update Available"]}):e.jsxs(e.Fragment,{children:[e.jsx(In,{}),"Check for Update"]})})}),e.jsxs(Ne,{children:[e.jsx(Ee,{}),e.jsxs("div",{className:"generic-container server-container",children:[e.jsxs(ge,{children:["Server Status:"," ",s?"starting":l?"stopping":t?"started":"stopped"]}),e.jsxs("div",{className:"buttons",children:[e.jsxs(A,{main:!0,"data-tooltip":"Start the server",disabled:s||l||f||t,onClick:()=>b.prompt("start the server").then(h=>h&&mn()),children:[e.jsx(ft,{}),"Start"]}),e.jsxs(A,{error:!0,"data-tooltip":"Stop the server",disabled:s||l||f||!t,onClick:()=>b.prompt("stop the server").then(h=>h&&gn()),children:[e.jsx(Hr,{}),"Stop"]}),e.jsxs(A,{warn:!0,"data-tooltip":"Reloads the server's world. Saves minigames/environment/bricks if 'Save World' is enabled below.",disabled:s||l||f,onClick:()=>b.prompt("restart the server").then(h=>h&&yn()),children:[e.jsx(qr,{}),"Restart"]}),e.jsxs(A,{info:!0,"data-tooltip":"Save the current world.",disabled:s||l||f||C,onClick:a,children:[e.jsx(Ar,{}),"Save World"]}),w?.isSteam&&e.jsxs(A,{normal:!R,main:R===!0,"data-tooltip":`Stop and update the server even if there are no updates available.
4
+
5
+ Does not save the world or player locations.`,disabled:s||l||f,onClick:()=>b.prompt("update the server").then(h=>h&&vn()),children:[e.jsx(Un,{}),"Update"]})]}),e.jsxs(ge,{attached:!0,style:{marginTop:8},children:["Auto Restart",e.jsx(es,{show:n.status===ts.Waiting})]}),m&&e.jsxs("div",{className:"inputs-list",children:[e.jsxs("div",{className:"inputs-item","data-tooltip":"When enabled on servers setup with SteamCMD, automatically updates the server when a new version is available",children:[e.jsxs("label",{children:["Auto Update",x?"":" (Feature requires SteamCMD)"]}),e.jsxs("div",{className:"inputs",children:[e.jsx(xe,{tooltip:"Enabled",value:m.autoUpdateEnabled,onChange:o("autoUpdateEnabled")}),e.jsx(ie,{type:"number",placeholder:"Minutes",tooltip:"Interval in minutes to check for updates (min 10)",value:m.autoUpdateIntervalMins,onChange:o("autoUpdateIntervalMins")})]})]}),e.jsxs("div",{className:"inputs-item","data-tooltip":"How many hours before restarting regardless of online players",children:[e.jsx("label",{children:"Max Server Uptime (Hours)"}),e.jsxs("div",{className:"inputs",children:[e.jsx(xe,{tooltip:"Enabled",value:m.maxUptimeEnabled,onChange:o("maxUptimeEnabled")}),e.jsx(ie,{type:"number",placeholder:"Hours",tooltip:"Uptime Hours",value:m.maxUptime,onChange:o("maxUptime")})]})]}),e.jsxs("div",{className:"inputs-item","data-tooltip":"How many hours before restarting when no players are online",children:[e.jsx("label",{children:"Empty Server Lifetime (Hours)"}),e.jsxs("div",{className:"inputs",children:[e.jsx(xe,{tooltip:"Enabled",value:m.emptyUptimeEnabled,onChange:o("emptyUptimeEnabled")}),e.jsx(ie,{type:"number",placeholder:"Hours",tooltip:"Uptime Hours",value:m.emptyUptime,onChange:o("emptyUptime")})]})]}),e.jsxs("div",{className:"inputs-item","data-tooltip":"Restart every day at a certain hour",children:[e.jsx("label",{children:"Daily at a Specific Hour"}),e.jsxs("div",{className:"inputs",children:[e.jsx(xe,{tooltip:"Enabled",value:m.dailyHourEnabled,onChange:o("dailyHourEnabled")}),e.jsx(ie,{type:"number",placeholder:"Hour",tooltip:"Hour (0 = 12am, 13 = 1pm)",value:m.dailyHour,onChange:o("dailyHour")})]})]}),e.jsxs("div",{className:"inputs-item","data-tooltip":"When enabled, announces auto restart",children:[e.jsx("label",{children:"Restart Announcement"}),e.jsx("div",{className:"inputs",children:e.jsx(xe,{tooltip:"Enabled",value:m.announcementEnabled,onChange:o("announcementEnabled")})})]}),e.jsxs("div",{className:"inputs-item","data-tooltip":"When enabled, reconnects players at their previous positions",children:[e.jsx("label",{children:"Reload Players"}),e.jsx("div",{className:"inputs",children:e.jsx(xe,{tooltip:"Enabled",value:m.playersEnabled,onChange:o("playersEnabled")})})]}),e.jsxs("div",{className:"inputs-item","data-tooltip":"When enabled, saves the current world. The default world will be loaded on restart",children:[e.jsx("label",{children:"Save World"}),e.jsx("div",{className:"inputs",children:e.jsx(xe,{tooltip:"Enabled",value:m.saveWorld??!0,onChange:o("saveWorld")})})]})]}),b.children]})]})]})},Qs=()=>{const t=Ce(_r)?.userless,l=Ce(xn),[s,f]=z.useState(0),[b,m]=z.useState(0),[g,w]=z.useState(!0),[R,j]=z.useState([]),[k,S]=z.useState(""),[C,E]=z.useState(""),[x,p]=z.useState(""),[r,a]=z.useState(""),[n,o]=z.useState(!1),[h,c]=z.useState(!1),[u,i]=z.useState(!1),[v,N]=Lt(),[D,O]=Oe("/users/:id?"),_=z.useRef({page:0,search:"",sort:"lastSeen",direction:-1}),{page:T,search:H,sort:F,direction:B}=_.current,[K,J]=z.useState(0),Q=d=>{_.current.search=d,le(),J(y=>y+1)},Y=d=>{typeof d=="function"&&(d=d(_.current.page)),_.current.page=d,re()},te=d=>{typeof d=="function"&&(d=d(_.current.direction)),_.current.direction=d},re=async()=>{w(!0);const{page:d,search:y,sort:P,direction:L}=_.current,{users:I,total:q,pages:G}=await V("users.list",{page:d,search:y,sort:P,direction:L});f(G),m(q),j(I),w(!1)},ae=z.useRef(re);ae.current=re,z.useEffect(()=>{re()},[]);const le=z.useMemo(()=>Wt(()=>{_.current.page=0,ae.current?.()},500),[]),oe=d=>{d==F?te(y=>y*-1):(_.current.sort=d,te(d==="name"?1:-1)),re()},ze=()=>{c(!h),o(!1),E(""),S("")},ke=()=>{o(!n),c(!1),t||E(l?.username??""),S("")},M=()=>{c(!1),o(!1),E(""),S(""),p(""),a("")},W=async()=>{if(S(""),x!==r)return;i(!0);let d="";try{if(n&&!t?d=await V("users.passwd",l?.username,x):d=await V("users.create",C,x),i(!1),!d){n&&t?Cn():M();return}}catch(y){console.error("error setting user credentials",y)}S(d)},$=z.useMemo(()=>{const d=C.length!==0||!(n&&!t);return C.match(/^\w{0,32}$/)&&d&&x.length!==0},[C,x,n,t]);return e.jsxs(e.Fragment,{children:[e.jsxs(Pe,{title:"Users",children:[e.jsx("span",{style:{flex:1}}),e.jsx(A,{normal:!0,"data-tooltip":t?"Enable user sign-in":"Change password",onClick:ke,children:t?e.jsxs(e.Fragment,{children:[e.jsx(Bn,{}),"Enable Users"]}):e.jsxs(e.Fragment,{children:[e.jsx(Yt,{}),"Change Password"]})}),!t&&l?.isOwner&&e.jsxs(A,{normal:!0,onClick:ze,"data-tooltip":"Add a new user",children:[e.jsx(Xt,{}),"Add User"]})]}),e.jsxs(Ne,{children:[e.jsx(Ee,{}),e.jsxs("div",{className:"generic-container players-container",children:[e.jsxs("div",{className:"player-table-container",children:[e.jsxs(ge,{attached:!0,children:[e.jsx(ie,{type:"text",placeholder:"Search Users...",value:H,onChange:Q}),e.jsx("span",{style:{flex:1}}),e.jsx(A,{icon:!0,normal:!0,"data-tooltip":"Refresh user list",onClick:re,children:e.jsx(bt,{})})]}),e.jsxs("div",{className:"players-list",children:[e.jsx(be,{children:e.jsxs("table",{className:"br-table",children:[e.jsx("thead",{children:e.jsxs("tr",{children:[e.jsx("th",{style:{textAlign:"left",width:"100%"},onClick:()=>oe("username"),children:e.jsxs("span",{children:["Username",e.jsx(Re,{name:"username",sort:F,direction:B})]})}),e.jsx("th",{onClick:()=>oe("lastOnline"),"data-tooltip":"When the user was last active",children:e.jsxs("span",{children:["Active",e.jsx(Re,{name:"lastOnline",sort:F,direction:B})]})}),e.jsx("th",{onClick:()=>oe("created"),"data-tooltip":"When the user joined",children:e.jsxs("span",{children:["Joined",e.jsx(Re,{name:"created",sort:F,direction:B})]})})]})}),e.jsx("tbody",{children:R.map(d=>e.jsxs("tr",{onClick:()=>N(`/users/${d.username}`),className:d.username===O?.id?"active":"",children:[e.jsxs("td",{children:[d.username||"Admin"," ",(d.username||"Admin")===(l?.username||"Admin")&&e.jsx("span",{style:{fontSize:12},children:"(You)"})]}),e.jsx("td",{style:{textAlign:"right"},"data-tooltip":d.lastOnline?new Date(d.lastOnline):"Never",children:d.lastOnline?ue(d.seenAgo):"Never"}),e.jsx("td",{style:{textAlign:"right"},"data-tooltip":new Date(d.created),children:ue(d.createdAgo)})]},d.username))})]})}),e.jsxs(We,{className:"pagination-footer",children:[e.jsx(A,{icon:!0,normal:!0,disabled:T===0,onClick:()=>{Y(0)},children:e.jsx(Lr,{})}),e.jsx(A,{icon:!0,normal:!0,disabled:T===0,onClick:()=>Y(d=>Math.max(0,d-1)),children:e.jsx(dt,{})}),e.jsxs("div",{className:"current-page",children:[e.jsxs("div",{children:["Page ",T+1," of ",s]}),e.jsxs("div",{children:["Showing ",R.length," of ",b]})]}),e.jsx(A,{icon:!0,normal:!0,disabled:T>=s-1,onClick:()=>Y(d=>Math.min(R.length-1,d+1)),children:e.jsx(pt,{})}),e.jsx(A,{icon:!0,normal:!0,disabled:T>=s-1,onClick:()=>Y(R.length-1),children:e.jsx(Wr,{})})]}),e.jsx(he,{active:g,size:"huge",children:"Loading Users"})]})]}),e.jsxs(Mr,{visible:n||h,children:[e.jsx(he,{active:u,size:"huge",children:"Submitting"}),e.jsxs(Tr,{visible:!u,children:[e.jsx(qt,{children:h?"Create New User":"Update Credentials"}),e.jsxs(kt,{children:[t&&e.jsxs(e.Fragment,{children:[e.jsx("p",{children:"This will require you to enter a password when you sign in."}),e.jsx("p",{children:"This action cannot be undone."})]}),!t&&n&&e.jsxs("p",{children:['Updating credentials for user "',C,'""']}),h&&e.jsx("p",{children:"Creating a new user. It's recommended to create a temporary password."}),k&&e.jsxs("p",{style:{color:"red"},children:["Error: ",k]})]}),e.jsxs("div",{className:"popout-inputs",children:[(t||h)&&e.jsx(ie,{placeholder:"username",type:"text",value:C,onChange:d=>E(d)}),e.jsx(ie,{placeholder:"password",type:"password",value:x,onChange:d=>p(d)}),e.jsx(ie,{placeholder:"confirm password",type:"password",value:r,onChange:d=>a(d)})]}),e.jsxs(We,{children:[e.jsxs(A,{main:!0,disabled:!$||r!==x,onClick:()=>W(),children:[h&&e.jsx(Xt,{}),!h&&e.jsx(Yt,{}),h?"Add":"Update"]}),e.jsx("div",{style:{flex:1}}),e.jsxs(A,{normal:!0,onClick:M,children:[e.jsx(st,{}),"Cancel"]})]})]})]})]})]})]})},Ie=Gr(null),Ue=Gr(null),ea=()=>{const[t,l]=Oe("/worlds/*"),s=l?.["*"],[f,b]=z.useState(!1),m=Ce(Ie),g=Ce(Ue),w=Ce(bn),[R,j]=z.useState(!1),[k,S]=z.useState(null),C=z.useRef(s);C.current=s;const E=ut();z.useEffect(()=>{!s||!w.started||(j(!0),S(null),V("world.revisions",s).then(a=>{C.current===s&&(S(a?.reverse()??null),j(!1))}))},[s,w.started]);const x=async()=>{if(!s)return;b(!0),await V("world.use",s)&&(Ue.set(s),Ie.set(s)),b(!1)},p=async()=>{if(!s)return;if(b(!0),await V("world.use")){const n=await V("world.next"),o=await V("world.active");Ue.set(o),Ie.set(n)}b(!1)},r=async a=>{if(!s)return;b(!0);const n=await V("world.load",s,a??null);console.info("world loaded",n),b(!1)};return e.jsxs("div",{className:"world-view",children:[e.jsx("div",{className:"world-info",children:s&&e.jsxs(be,{children:[e.jsxs("div",{className:"stats",children:[e.jsxs("div",{className:"stat",children:[e.jsx("b",{"data-tooltip":"World name",children:"Name:"})," ",s]}),e.jsxs("div",{className:"stat",children:[e.jsx("b",{"data-tooltip":"If yes, this world will be loaded on the next server start",children:"Is Default:"})," ",g===s?"Yes":"No"]}),m!==g&&e.jsxs("div",{className:"stat",children:[e.jsx("b",{"data-tooltip":"Whether this world is configured to load next start if no other default is specified",children:"Is Fallback World:"})," ",m===s?"Yes":"No"]})]}),e.jsx("div",{className:"section-header","data-tooltip":"Ways to configure the plugin. Changes take place the next time a plugin is loaded.",children:"Revisions"}),e.jsxs("div",{className:"revision-list",children:[e.jsx(he,{active:R,size:"huge",children:"Loading World"}),k?.length===0&&e.jsx("div",{className:"revision-item",children:e.jsx("i",{className:"revision-note",children:"Something went wrong listing the revisions"})}),k===null&&!R&&w.started&&e.jsx("div",{className:"revision-item",children:e.jsx("i",{className:"revision-note",children:"World might not exist"})}),k?.map(a=>e.jsxs("div",{className:"revision-item config",children:[e.jsx("div",{className:"revision-index",children:a.index}),e.jsxs("div",{className:"revision-note",children:[a.note,e.jsx("div",{className:"revision-date",children:new Date(a.date).toLocaleString()})]}),e.jsx(A,{icon:!0,main:!0,disabled:f||!w.started,onClick:()=>E.prompt(e.jsxs("p",{children:["Are you sure you want to load revision ",a.index," of"," ",e.jsx("b",{style:{color:"white"},children:s}),"? Unsaved work will be lost."]})).then(n=>{n&&r(a.index)}),"data-tooltip":`Load revision ${a.index}`,children:e.jsx(ft,{})})]},a.index))]})]})}),e.jsxs(We,{attached:!0,children:[g!==s&&e.jsxs(A,{normal:!0,disabled:f||!s,"data-tooltip":"Make this the default world for the server (on startup)",onClick:()=>x(),children:[e.jsx(Ir,{}),"Make Default"]}),g===s&&e.jsxs(A,{warn:!0,disabled:f||!s,"data-tooltip":"Remove this world as the default world for the server (on startup)",onClick:()=>p(),children:[e.jsx(Ur,{}),"Clear Default"]}),e.jsx("span",{style:{flex:1}}),e.jsxs(A,{main:!0,"data-tooltip":"Load this world immediately",disabled:f||!w.started||!s,onClick:()=>E.prompt(e.jsxs("p",{children:["Are you sure you want to load"," ",e.jsx("b",{style:{color:"white"},children:s}),"? Unsaved work will be lost."]})).then(a=>{a&&r()}),children:[e.jsx(ft,{}),"Load"]})]}),E.children]})},ta=["Plate","Space","Studio","Peaks"],ra=()=>{const[t,l]=z.useState(""),[s,f]=z.useState(!0),[b,m]=z.useState([]),[g,w]=z.useState(!1),R=Ce(Ie),j=Ce(Ue),[k,S]=z.useState(!1),C=Or(),[E,x]=Oe("/worlds/*?"),p=x?.["*"],r=async()=>{f(!0);const[_,T,H]=await Promise.all([V("world.list"),V("world.active"),V("world.next")]);m(_),Ue.set(T),Ie.set(H),f(!1)};z.useEffect(()=>{r()},[]);const a=async()=>{if(w(!0),await V("world.use",null)){Ue.set(null);const T=await V("world.next");Ie.set(T)}w(!1)},n=async()=>{w(!0),await V("world.save"),w(!1)},o=async _=>{w(!0),await V("world.save",_),w(!1),r()},h=async(_,T)=>{w(!0),await V("world.create",_,T),w(!1),r()},c=_=>_.toLowerCase().includes(t.toLowerCase()),[u,i]=z.useState(null),v=ut({title:"Save World As",content:e.jsxs(e.Fragment,{children:[e.jsx("p",{children:"Enter a name for the new world"}),e.jsx("p",{children:e.jsx(ie,{type:"text",placeholder:"World Name",value:u??"",onChange:_=>i(_)})})]}),leftButton:_=>e.jsxs(A,{normal:!0,onClick:()=>_(null),children:[e.jsx(st,{}),"Cancel"]}),rightButton:_=>e.jsxs(A,{disabled:!u,main:!0,onClick:()=>_(u),children:[e.jsx(mt,{}),"Save As"]})}),[N,D]=z.useState("Plate"),O=ut({title:"Create New World",content:e.jsxs(e.Fragment,{children:[e.jsx("p",{children:"Select a name and map for the new world"}),e.jsx("p",{children:e.jsx(ie,{type:"text",placeholder:"World Name",value:u??"",onChange:_=>i(_)})}),e.jsx("p",{children:e.jsx(Tt,{value:N,options:ta,onChange:_=>D(_)})})]}),leftButton:_=>e.jsxs(A,{normal:!0,onClick:()=>_(null),children:[e.jsx(st,{}),"Cancel"]}),rightButton:_=>e.jsxs(A,{disabled:!u,main:!0,onClick:()=>_({name:u,map:N}),children:[e.jsx(mt,{}),"Create"]})});return e.jsxs(e.Fragment,{children:[e.jsx(Pe,{title:"Worlds",children:e.jsxs("div",{className:"widgets-container worlds",children:[e.jsxs(A,{normal:!0,boxy:!0,"data-tooltip":"Show more world actions",onClick:()=>S(!k),children:[k?e.jsx(Fn,{}):e.jsx(Fr,{}),"Actions"]}),e.jsxs("div",{className:"widgets-list",style:{display:k?"block":"none"},children:[e.jsxs(A,{info:!0,disabled:g||!C.started,"data-tooltip":"Save the currently loaded world",onClick:()=>{S(!1),n()},children:[e.jsx(Ar,{}),"Save World"]}),e.jsxs(A,{normal:!0,disabled:g||!C.started,"data-tooltip":"Save a copy of the currently loaded world",onClick:()=>{S(!1),i(null),v.prompt().then(_=>{_&&o(_)})},children:[e.jsx(Gn,{}),"Save As"]}),e.jsxs(A,{main:!0,disabled:g||!C.started,"data-tooltip":"Create a new world",onClick:()=>{S(!1),i(null),D("Plate"),O.prompt().then(_=>{_&&h(_.name,_.map)})},children:[e.jsx($n,{}),"New World"]}),e.jsxs(A,{normal:j===null,warn:j!==null,disabled:g||!j,"data-tooltip":"Remove the default world for the server (on startup)",onClick:()=>{S(!1),a()},children:[e.jsx(Ur,{}),"Clear Default"]})]})]})}),e.jsxs(Ne,{children:[e.jsx(Ee,{}),e.jsxs("div",{className:"generic-container worlds-container",children:[e.jsxs("div",{className:"worlds-list-container",children:[e.jsxs(ge,{children:[e.jsx(ie,{type:"text",placeholder:"Search Worlds...",value:t,onChange:_=>l(_)}),e.jsx("span",{style:{flex:1}}),e.jsx(A,{icon:!0,normal:!0,"data-tooltip":"Refresh world list",onClick:r,children:e.jsx(bt,{})})]}),e.jsxs("div",{className:"worlds-list",children:[e.jsx(be,{children:b.map(_=>c(_)&&e.jsxs(nt,{href:"/worlds/"+_,className:`world-item ${_===p?"selected":""}`,"data-tooltip":_===R?"This world will load when the server starts":"",children:[_===j?e.jsx(Ir,{className:"world-item-active"}):!j&&_===R?e.jsx(Yn,{className:"world-item-next"}):e.jsx(Jn,{}),_]},_))}),e.jsx(he,{active:s,size:"huge",children:"Loading Worlds"})]})]}),e.jsxs("div",{className:"world-inspector-container",children:[e.jsx(ge,{attached:!0,children:p??"SELECT A WORLD"}),e.jsx("div",{className:"world-inspector",children:e.jsx(ea,{})})]})]})]}),v.children,O.children]})},na=()=>e.jsx(jn,{children:e.jsx(wn,{hook:Sn,children:e.jsxs(zr,{children:[e.jsx(me,{path:"/",component:Gs}),e.jsx(me,{path:"/history/:time?",component:ss}),e.jsx(me,{path:"/players/:id?",component:Xs}),e.jsx(me,{path:"/plugins/:id?",component:Js}),e.jsx(me,{path:"/server",component:Zs}),e.jsx(me,{path:"/users/:id?",component:Qs}),e.jsx(me,{path:"/worlds/*?",component:ra}),e.jsx(me,{component:ns})]})})});ln.createRoot(document.getElementById("root")).render(e.jsx(na,{}));
6
+ //# sourceMappingURL=app-CtCP4WJN.js.map