omegga 1.5.2 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/CHANGELOG.md +19 -2
  2. package/bin/omegga +1 -1
  3. package/dist/cli/terminal.js +46 -0
  4. package/dist/cli/terminal.js.map +1 -1
  5. package/dist/omegga/commandInjector.js +13 -6
  6. package/dist/omegga/commandInjector.js.map +1 -1
  7. package/dist/omegga/player.js +2 -2
  8. package/dist/omegga/player.js.map +1 -1
  9. package/dist/plugin.js.map +1 -1
  10. package/dist/webserver/backend/database.js +219 -7
  11. package/dist/webserver/backend/database.js.map +1 -1
  12. package/dist/webserver/backend/events.js +1 -1
  13. package/dist/webserver/backend/events.js.map +1 -1
  14. package/dist/webserver/backend/index.js +120 -2
  15. package/dist/webserver/backend/index.js.map +1 -1
  16. package/dist/webserver/backend/permissions.js +74 -0
  17. package/dist/webserver/backend/permissions.js.map +1 -0
  18. package/dist/webserver/backend/router/chat.js +9 -7
  19. package/dist/webserver/backend/router/chat.js.map +1 -1
  20. package/dist/webserver/backend/router/index.js +3 -1
  21. package/dist/webserver/backend/router/index.js.map +1 -1
  22. package/dist/webserver/backend/router/mfa.js +162 -0
  23. package/dist/webserver/backend/router/mfa.js.map +1 -0
  24. package/dist/webserver/backend/router/player.js +7 -6
  25. package/dist/webserver/backend/router/player.js.map +1 -1
  26. package/dist/webserver/backend/router/plugin.js +14 -10
  27. package/dist/webserver/backend/router/plugin.js.map +1 -1
  28. package/dist/webserver/backend/router/role.js +2 -1
  29. package/dist/webserver/backend/router/role.js.map +1 -1
  30. package/dist/webserver/backend/router/server.js +85 -71
  31. package/dist/webserver/backend/router/server.js.map +1 -1
  32. package/dist/webserver/backend/router/session.js +11 -2
  33. package/dist/webserver/backend/router/session.js.map +1 -1
  34. package/dist/webserver/backend/router/user.js +175 -13
  35. package/dist/webserver/backend/router/user.js.map +1 -1
  36. package/dist/webserver/backend/router/world.js +10 -9
  37. package/dist/webserver/backend/router/world.js.map +1 -1
  38. package/dist/webserver/backend/scopes.js +303 -0
  39. package/dist/webserver/backend/scopes.js.map +1 -0
  40. package/dist/webserver/backend/totp.js +32 -0
  41. package/dist/webserver/backend/totp.js.map +1 -0
  42. package/dist/webserver/backend/trpc.js +47 -4
  43. package/dist/webserver/backend/trpc.js.map +1 -1
  44. package/doc/permissions.md +193 -0
  45. package/package.json +7 -2
  46. package/public/app.html +932 -526
  47. package/public/assets/IconShieldCheck-Bjlm8mX2.js +2 -0
  48. package/public/assets/IconShieldCheck-Bjlm8mX2.js.map +1 -0
  49. package/public/assets/IconWorld-XmQNg6JI.js +2 -0
  50. package/public/assets/IconWorld-XmQNg6JI.js.map +1 -0
  51. package/public/assets/IconWorldPlus-CxGGv2eD.js +2 -0
  52. package/public/assets/IconWorldPlus-CxGGv2eD.js.map +1 -0
  53. package/public/assets/app-DMr_-wik.js +7 -0
  54. package/public/assets/app-DMr_-wik.js.map +1 -0
  55. package/public/assets/auth-CEYiizOt.js +2 -0
  56. package/public/assets/auth-CEYiizOt.js.map +1 -0
  57. package/public/assets/index-BDkarAkX.js +3 -0
  58. package/public/assets/index-BDkarAkX.js.map +1 -0
  59. package/public/assets/{index-2cgXLhrt.js → index-DEL-PD_8.js} +2 -2
  60. package/public/assets/{index-2cgXLhrt.js.map → index-DEL-PD_8.js.map} +1 -1
  61. package/public/assets/index-D_STNela.js +2 -0
  62. package/public/assets/index-D_STNela.js.map +1 -0
  63. package/public/assets/index-Dkh3HiBz.js +4 -0
  64. package/public/assets/index-Dkh3HiBz.js.map +1 -0
  65. package/public/assets/shared/@components-CgsSYMe6.js +2 -0
  66. package/public/assets/shared/@components-CgsSYMe6.js.map +1 -0
  67. package/public/assets/shared/@hooks-DT93N7wd.js +2 -0
  68. package/public/assets/shared/{@hooks-Ch_hJYh0.js.map → @hooks-DT93N7wd.js.map} +1 -1
  69. package/public/assets/shared/@tabler_icons-react-DrVFX3uL.js +3 -0
  70. package/public/assets/shared/{@tabler_icons-react-iQk11eD_.js.map → @tabler_icons-react-DrVFX3uL.js.map} +1 -1
  71. package/public/assets/shared/{wouter-CUC1caxu.js → wouter-CNISJ5i6.js} +2 -2
  72. package/public/assets/shared/wouter-CNISJ5i6.js.map +1 -0
  73. package/public/assets/useHasScope-BOdFktko.js +2 -0
  74. package/public/assets/useHasScope-BOdFktko.js.map +1 -0
  75. package/public/auth.html +97 -33
  76. package/templates/safe-ts/omegga.d.ts +1 -1
  77. package/public/assets/IconArrowRight-BuVxhqKX.js +0 -2
  78. package/public/assets/IconArrowRight-BuVxhqKX.js.map +0 -1
  79. package/public/assets/IconWorld-B6GK5qpx.js +0 -2
  80. package/public/assets/IconWorld-B6GK5qpx.js.map +0 -1
  81. package/public/assets/IconWorldPlus-Dkos72Ws.js +0 -2
  82. package/public/assets/IconWorldPlus-Dkos72Ws.js.map +0 -1
  83. package/public/assets/app-CLZ-5FIi.js +0 -6
  84. package/public/assets/app-CLZ-5FIi.js.map +0 -1
  85. package/public/assets/auth-6N37o421.js +0 -2
  86. package/public/assets/auth-6N37o421.js.map +0 -1
  87. package/public/assets/index-DLZ8-XzO.js +0 -4
  88. package/public/assets/index-DLZ8-XzO.js.map +0 -1
  89. package/public/assets/index-DY750sgZ.js +0 -2
  90. package/public/assets/index-DY750sgZ.js.map +0 -1
  91. package/public/assets/shared/@components-DPHARroA.js +0 -2
  92. package/public/assets/shared/@components-DPHARroA.js.map +0 -1
  93. package/public/assets/shared/@hooks-Ch_hJYh0.js +0 -2
  94. package/public/assets/shared/@tabler_icons-react-iQk11eD_.js +0 -3
  95. package/public/assets/shared/wouter-CUC1caxu.js.map +0 -1
@@ -1,6 +0,0 @@
1
- import{c as Jl}from"./client-BT1QYH0O.js";import{j as e}from"./jsx-runtime-BX5r4UiA.js";import{r as A,a as Zl}from"./index-CrN8I5Az.js";import{t as X,$ as Ca,a as ll,b as eu,c as tu,N as qe,P as Oe,S as Ne,I as ru,C as nu,d as _e,U as Gt,L as Ka,e as be,D as Pa,T as ye,f as ue,g as au,h as su,R as iu,i as ct,j as ou,q as Ya,Q as lu}from"./index-DLZ8-XzO.js";import{u as Ee,L as lt,a as Dt,S as ul,R as xe,b as uu,c as cu}from"./index-2cgXLhrt.js";import{d as de,i as du,h as cl,a as Xa,b as Da,l as hu,r as qt,c as Ot,e as fu,f as Nt,g as qa,j as Et,k as Me,m as pu}from"./utils-Ds3ldd-U.js";import{$ as mu,a as U,L as fe,F as Ie,I as se,H as Oa,D as Na,M as dl,P as Sa,u as yt}from"./index-DY750sgZ.js";import{a as dt}from"./index-CSV4ZXsq.js";import{I as gu,a as xt,b as vu,c as yu,d as xu,e as bu,f as _u,g as ju,h as wu,i as Su,j as hl,k as Va,l as Ru,m as bt,n as Cu,o as Mt,p as Pu,q as fl,r as pl,s as Du,t as _t,u as ml,v as gl,w as qu,x as Ou,y as Nu,z as Eu,A as Mu,B as Au,C as Tu,D as ku,E as vl,F as zu,G as Lu,H as Qa,J as Ja,K as yl,L as xl,M as Iu,N as Hu,O as Wu}from"./IconWorldPlus-Dkos72Ws.js";import jt from"./IconArrowRight-BuVxhqKX.js";import{a as Bu,g as Ea}from"./_commonjsHelpers-CE1G-McA.js";import{r as ge}from"./index-D0OPOe3j.js";import{r as Ma}from"./index-CtCtK5BX.js";import{I as Fu,a as bl,b as wt,c as _l,d as Za,e as Uu}from"./IconWorld-B6GK5qpx.js";import{a as ut}from"./IconX-CvmO0bbE.js";import{I as Gu}from"./IconCheck-DOe3u7iH.js";import{useStore as Re}from"./shared/@nanostores_react-DJPF1Eqx.js";import{useSaved as $u,SavedSpan as Ku,SavedStatus as Yu}from"./shared/@hooks-Ch_hJYh0.js";import"./jsx-runtime-DldvXD6N.js";import"./index-CJ4e7_2M.js";let St=-1,Rt=-1,Be=!1,Fe,Ye;const me=document.createElement("div");Object.assign(me.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"});me.innerText="";document.body.appendChild(me);document.body.addEventListener("mousemove",t=>{St=t.clientX,Rt=t.clientY,Fe&&jl()});function jl(){const t=document.body.clientWidth,n=document.body.clientHeight;Object.assign(me.style,{left:St+(St<t/2?16:-16-me.clientWidth)+"px",top:Rt+(Rt<n/2?16:-16-me.clientHeight)+"px"})}function wl(t){if(!t||!t.getAttribute)return;const n=t.getAttribute("data-tooltip");return n||wl(t.parentNode??null)}function Xu(){const t=document.elementFromPoint(St,Rt),n=wl(t),r=me.innerText;!n&&Be&&!Fe&&(Be=!1,clearTimeout(Ye)),n&&!Be&&!Fe?(clearTimeout(Ye),Be=!0,Ye=setTimeout(()=>{me.innerText=n,jl(),me.style.opacity="1",Fe=!0},400)):r!==n&&Fe&&Be&&(clearTimeout(Ye),Be=!1,Ye=setTimeout(()=>{Fe=!1,Object.assign(me.style,{left:"-1000px",top:"-1000px"})},300),me.style.opacity="0")}setInterval(()=>{Xu()},100);const es=dt(!1),ts=dt(!1),Vu=()=>{const{data:t,status:n}=X.session.info.useQuery();return A.useEffect(()=>{n==="success"&&t?(Ca.set(t),mu.set(t.version),ll.set(t.user),eu.set(t.roles),tu.set(t.canLogOut),es.set(!0),ts.set(!1)):n==="error"&&(es.set(!1),ts.set(!0))},[t,n]),null},Qu=()=>e.jsxs(e.Fragment,{children:[e.jsx(qe,{title:"Not Found"}),e.jsx(Oe,{children:e.jsx(Ne,{})})]}),rs=["January","February","March","April","May","June","July","August","September","October","November","December"],Ce=(t,n=!1)=>Object.keys(t).map(Number).sort((r,a)=>n?a-r:r-a),Ju=()=>{const[t,n]=Ee("/history/:time?"),r=n?.time,[a,i]=A.useState(!0),[s,l]=A.useState(!0),[c,y]=A.useState(!1),[m,C]=A.useState({}),[b,_]=A.useState(0),q=A.useMemo(()=>new Date().getFullYear(),[]),[R,f]=A.useState(q),o=A.useMemo(()=>new Date().getMonth(),[]),[d,u]=A.useState(o),p=A.useMemo(()=>new Date().getDate(),[]),x=A.useRef(null),[v,g]=A.useState(null),[h,j]=A.useState(null),P=A.useRef(null),O=A.useRef(null),D=A.useRef([]),M=X.useUtils(),T=A.useCallback(async()=>{i(!0);const z=await M.chat.calendar.fetch();C(z),i(!1)},[]),W=A.useCallback(z=>{if(!z.length)return;D.current=D.current.concat(z),D.current.sort((S,N)=>S.created-N.created);const F=D.current[0].created,w=D.current[D.current.length-1].created;for(let S=0;S<D.current.length;S++){const N=D.current[S],E=new Date(N.created);N.date=E.getDate(),S===0||N.date!==D.current[S-1].date?N.newDay=`${rs[E.getMonth()]} ${N.date}, ${E.getFullYear()}`:N.newDay=void 0}P.current=F,O.current=w,_(S=>S+1)},[]),H=A.useCallback(async({before:z,after:F},w)=>{i(!0);const S=await M.chat.history.fetch({before:z,after:F});W(S),l(!1),i(!1);const N=w;return N&&D.current.length>200&&requestAnimationFrame(()=>{N==="bottom"?(D.current.splice(0,D.current.length-200),P.current=D.current[0].created,g(null)):N==="top"&&(D.current.splice(200,D.current.length-200),O.current=D.current[D.current.length-1].created,j(null)),_(E=>E+1)}),S},[]),k=()=>new Promise(z=>{const F=x.current?.querySelector(".scroll-scroller");window.requestAnimationFrame(()=>{F&&(F.scrollTop=F.scrollHeight,z())})});A.useEffect(()=>{const z=r&&new Date(r.match(/^\d+$/)?Number(r):r);(async()=>(s&&await T(),z&&!Number.isNaN(z.getTime())?(D.current=[],await H({before:z.getTime()-1}),await H({after:z.getTime()-1}),requestAnimationFrame(()=>{x.current?.querySelector(".focused")?.scrollIntoView({block:"center"})})):(D.current=[],await H({before:Date.now()}),k())))()},[r]);const Y=async(z,F,w)=>{D.current=[],_(N=>N+1);const S=new Date(z,F,w).getTime();await H({after:S})},V=async()=>{if(v&&P.current&&P.current<=v)return;(await H({before:P.current},"top")).length===0&&g(P.current)},ee=async()=>{if(h&&O.current&&O.current>=h)return;(await H({after:O.current},"bottom")).length===0&&j(O.current)},Q=A.useMemo(()=>Ce(m),[m]),te=A.useMemo(()=>Ce(m,!0),[m]),ie=A.useMemo(()=>{const z=te.find(F=>F>R)??null;return z?[z,Ce(m[z])[0]]:null},[m,te]),ne=A.useMemo(()=>{const z=Q.find(F=>F<R)??null;return z?[z,Ce(m[z],!0)[0]]:null},[m,Q]),le=A.useMemo(()=>{if(d!==11&&m[R]){const w=Ce(m[R]).find(S=>S>d);if(typeof w=="number")return[R,w]}const z=Q.find(w=>w>R);if(!z)return null;const F=Ce(m[z])[0];return typeof F!="number"?null:[z,F]},[R,d,Q,m]),oe=A.useMemo(()=>{if(d!==0&&m[R]){const w=Ce(m[R],!0).find(S=>S<d);if(typeof w=="number")return[R,w]}const z=te.find(w=>w<R);if(!z)return null;const F=Ce(m[z],!0)[0];return typeof F!="number"?null:[z,F]},[R,d,m]),pe=z=>{z&&(f(R),u(d))},Te=new Date(R,d+1,0).getDate(),I=new Date(R,d,1).getDay();return e.jsxs(e.Fragment,{children:[e.jsx(qe,{title:"History",children:e.jsxs("div",{className:"calendar-container",children:[e.jsxs(U,{normal:!0,boxy:!0,style:{marginRight:0},"data-tooltip":"Show a calendar previewing days",onClick:()=>y(!c),children:[e.jsx(gu,{})," Calendar"]}),c&&e.jsxs("div",{className:"calendar",children:[e.jsxs("div",{className:"year",children:[e.jsx(U,{icon:!0,normal:!0,disabled:!ne,onClick:()=>pe(ne),children:e.jsx(xt,{})}),R,e.jsx(U,{icon:!0,normal:!0,disabled:!ie,onClick:()=>pe(ie),children:e.jsx(jt,{})})]}),e.jsxs("div",{className:"month",children:[e.jsx(U,{icon:!0,normal:!0,disabled:!oe,onClick:()=>pe(oe),children:e.jsx(xt,{})}),rs[d],e.jsx(U,{icon:!0,normal:!0,disabled:!le,onClick:()=>pe(le),children:e.jsx(jt,{})})]}),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:I}).map((z,F)=>e.jsx("div",{},`empty-${F}`)),Array.from({length:Te}).map((z,F)=>e.jsx("div",{className:`days ${o===d&&q===R&&F+1===p?"today":""} ${!(o===d&&q===R&&F+1>p)&&m[R]?.[d]?.[F]?"available":""}`,onClick:()=>Y(R,d,F+1),children:F+1},F))]})]})]})}),e.jsxs(Oe,{children:[e.jsx(Ne,{}),e.jsx("div",{className:"generic-container history-container",ref:x,children:e.jsxs("div",{className:"chat-history",children:[e.jsx("div",{className:"scroll-container",children:e.jsx(ru,{loading:a,onTop:V,onBottom:ee,onTopScrollsToBottom:!1,offset:500,className:"scroll-scroller",children:D.current.map(z=>e.jsxs(Zl.Fragment,{children:[z.newDay&&e.jsx("div",{className:"chat-new-day",children:z.newDay}),e.jsx(nu,{log:z},z._id)]},z._id))})}),e.jsx(fe,{active:a&&s,size:"huge",children:"Loading Chat"})]})})]})]})};var $t={exports:{}},Xe={},st={exports:{}},Zu=st.exports,ns;function Aa(){return ns||(ns=1,(function(t,n){(function(r,a){a(n)})(Zu,(function(r){function a(I){return function(F,w,S,N,E,B,L){return I(F,w,L)}}function i(I){return function(F,w,S,N){if(!F||!w||typeof F!="object"||typeof w!="object")return I(F,w,S,N);var E=N.get(F),B=N.get(w);if(E&&B)return E===w&&B===F;N.set(F,w),N.set(w,F);var L=I(F,w,S,N);return N.delete(F),N.delete(w),L}}function s(I,z){var F={};for(var w in I)F[w]=I[w];for(var w in z)F[w]=z[w];return F}function l(I){return I.constructor===Object||I.constructor==null}function c(I){return typeof I.then=="function"}function y(I,z){return I===z||I!==I&&z!==z}var m="[object Arguments]",C="[object Boolean]",b="[object Date]",_="[object RegExp]",q="[object Map]",R="[object Number]",f="[object Object]",o="[object Set]",d="[object String]",u=Object.prototype.toString;function p(I){var z=I.areArraysEqual,F=I.areDatesEqual,w=I.areMapsEqual,S=I.areObjectsEqual,N=I.areRegExpsEqual,E=I.areSetsEqual,B=I.createIsNestedEqual,L=B($);function $(G,K,Z){if(G===K)return!0;if(!G||!K||typeof G!="object"||typeof K!="object")return G!==G&&K!==K;if(l(G)&&l(K))return S(G,K,L,Z);var ke=Array.isArray(G),ce=Array.isArray(K);if(ke||ce)return ke===ce&&z(G,K,L,Z);var ae=u.call(G);return ae!==u.call(K)?!1:ae===b?F(G,K,L,Z):ae===_?N(G,K,L,Z):ae===q?w(G,K,L,Z):ae===o?E(G,K,L,Z):ae===f||ae===m?c(G)||c(K)?!1:S(G,K,L,Z):ae===C||ae===R||ae===d?y(G.valueOf(),K.valueOf()):!1}return $}function x(I,z,F,w){var S=I.length;if(z.length!==S)return!1;for(;S-- >0;)if(!F(I[S],z[S],S,S,I,z,w))return!1;return!0}var v=i(x);function g(I,z){return y(I.valueOf(),z.valueOf())}function h(I,z,F,w){var S=I.size===z.size;if(!S)return!1;if(!I.size)return!0;var N={},E=0;return I.forEach(function(B,L){if(S){var $=!1,G=0;z.forEach(function(K,Z){!$&&!N[G]&&($=F(L,Z,E,G,I,z,w)&&F(B,K,L,Z,I,z,w))&&(N[G]=!0),G++}),E++,S=$}}),S}var j=i(h),P="_owner",O=Object.prototype.hasOwnProperty;function D(I,z,F,w){var S=Object.keys(I),N=S.length;if(Object.keys(z).length!==N)return!1;for(var E;N-- >0;){if(E=S[N],E===P){var B=!!I.$$typeof,L=!!z.$$typeof;if((B||L)&&B!==L)return!1}if(!O.call(z,E)||!F(I[E],z[E],E,E,I,z,w))return!1}return!0}var M=i(D);function T(I,z){return I.source===z.source&&I.flags===z.flags}function W(I,z,F,w){var S=I.size===z.size;if(!S)return!1;if(!I.size)return!0;var N={};return I.forEach(function(E,B){if(S){var L=!1,$=0;z.forEach(function(G,K){!L&&!N[$]&&(L=F(E,G,B,K,I,z,w))&&(N[$]=!0),$++}),S=L}}),S}var H=i(W),k=Object.freeze({areArraysEqual:x,areDatesEqual:g,areMapsEqual:h,areObjectsEqual:D,areRegExpsEqual:T,areSetsEqual:W,createIsNestedEqual:a}),Y=Object.freeze({areArraysEqual:v,areDatesEqual:g,areMapsEqual:j,areObjectsEqual:M,areRegExpsEqual:T,areSetsEqual:H,createIsNestedEqual:a}),V=p(k);function ee(I,z){return V(I,z,void 0)}var Q=p(s(k,{createIsNestedEqual:function(){return y}}));function te(I,z){return Q(I,z,void 0)}var ie=p(Y);function ne(I,z){return ie(I,z,new WeakMap)}var le=p(s(Y,{createIsNestedEqual:function(){return y}}));function oe(I,z){return le(I,z,new WeakMap)}function pe(I){return p(s(k,I(k)))}function Te(I){var z=p(s(Y,I(Y)));return(function(F,w,S){return S===void 0&&(S=new WeakMap),z(F,w,S)})}r.circularDeepEqual=ne,r.circularShallowEqual=oe,r.createCustomCircularEqual=Te,r.createCustomEqual=pe,r.deepEqual=ee,r.sameValueZeroEqual=y,r.shallowEqual=te,Object.defineProperty(r,"__esModule",{value:!0})}))})(st,st.exports)),st.exports}var ft={exports:{}},as;function At(){if(as)return ft.exports;as=1;function t(r){var a,i,s="";if(typeof r=="string"||typeof r=="number")s+=r;else if(typeof r=="object")if(Array.isArray(r)){var l=r.length;for(a=0;a<l;a++)r[a]&&(i=t(r[a]))&&(s&&(s+=" "),s+=i)}else for(i in r)r[i]&&(s&&(s+=" "),s+=i);return s}function n(){for(var r,a,i=0,s="",l=arguments.length;i<l;i++)(r=arguments[i])&&(a=t(r))&&(s&&(s+=" "),s+=a);return s}return ft.exports=n,ft.exports.clsx=n,ft.exports}var J={},Kt,ss;function ec(){return ss||(ss=1,Kt=function(n,r,a){return n===r?!0:n.className===r.className&&a(n.style,r.style)&&n.width===r.width&&n.autoSize===r.autoSize&&n.cols===r.cols&&n.draggableCancel===r.draggableCancel&&n.draggableHandle===r.draggableHandle&&a(n.verticalCompact,r.verticalCompact)&&a(n.compactType,r.compactType)&&a(n.layout,r.layout)&&a(n.margin,r.margin)&&a(n.containerPadding,r.containerPadding)&&n.rowHeight===r.rowHeight&&n.maxRows===r.maxRows&&n.isBounded===r.isBounded&&n.isDraggable===r.isDraggable&&n.isResizable===r.isResizable&&n.allowOverlap===r.allowOverlap&&n.preventCollision===r.preventCollision&&n.useCSSTransforms===r.useCSSTransforms&&n.transformScale===r.transformScale&&n.isDroppable===r.isDroppable&&a(n.resizeHandles,r.resizeHandles)&&a(n.resizeHandle,r.resizeHandle)&&n.onLayoutChange===r.onLayoutChange&&n.onDragStart===r.onDragStart&&n.onDrag===r.onDrag&&n.onDragStop===r.onDragStop&&n.onResizeStart===r.onResizeStart&&n.onResize===r.onResize&&n.onResizeStop===r.onResizeStop&&n.onDrop===r.onDrop&&a(n.droppingItem,r.droppingItem)&&a(n.innerRef,r.innerRef)}),Kt}var is;function Ke(){if(is)return J;is=1,Object.defineProperty(J,"__esModule",{value:!0}),J.bottom=a,J.childrenEqual=y,J.cloneLayout=i,J.cloneLayoutItem=c,J.collides=C,J.compact=b,J.compactItem=R,J.compactType=I,J.correctBounds=f,J.fastPositionEqual=m,J.fastRGLPropsEqual=void 0,J.getAllCollisions=u,J.getFirstCollision=d,J.getLayoutItem=o,J.getStatics=p,J.modifyLayout=s,J.moveElement=x,J.moveElementAwayFromCollision=v,J.noop=void 0,J.perc=g,J.resizeItemInDirection=Q,J.setTopLeft=ie,J.setTransform=te,J.sortLayoutItems=ne,J.sortLayoutItemsByColRow=oe,J.sortLayoutItemsByRowCol=le,J.synchronizeLayoutWithChildren=pe,J.validateLayout=Te,J.withLayoutItem=l;var t=Aa(),n=r(ge());function r(w){return w&&w.__esModule?w:{default:w}}function a(w){let S=0,N;for(let E=0,B=w.length;E<B;E++)N=w[E].y+w[E].h,N>S&&(S=N);return S}function i(w){const S=Array(w.length);for(let N=0,E=w.length;N<E;N++)S[N]=c(w[N]);return S}function s(w,S){const N=Array(w.length);for(let E=0,B=w.length;E<B;E++)S.i===w[E].i?N[E]=S:N[E]=w[E];return N}function l(w,S,N){let E=o(w,S);return E?(E=N(c(E)),w=s(w,E),[w,E]):[w,null]}function c(w){return{w:w.w,h:w.h,x:w.x,y:w.y,i:w.i,minW:w.minW,maxW:w.maxW,minH:w.minH,maxH:w.maxH,moved:!!w.moved,static:!!w.static,isDraggable:w.isDraggable,isResizable:w.isResizable,resizeHandles:w.resizeHandles,isBounded:w.isBounded}}function y(w,S){return(0,t.deepEqual)(n.default.Children.map(w,N=>N?.key),n.default.Children.map(S,N=>N?.key))&&(0,t.deepEqual)(n.default.Children.map(w,N=>N?.props["data-grid"]),n.default.Children.map(S,N=>N?.props["data-grid"]))}J.fastRGLPropsEqual=ec();function m(w,S){return w.left===S.left&&w.top===S.top&&w.width===S.width&&w.height===S.height}function C(w,S){return!(w.i===S.i||w.x+w.w<=S.x||w.x>=S.x+S.w||w.y+w.h<=S.y||w.y>=S.y+S.h)}function b(w,S,N,E){const B=p(w),L=ne(w,S),$=Array(w.length);for(let G=0,K=L.length;G<K;G++){let Z=c(L[G]);Z.static||(Z=R(B,Z,S,N,L,E),B.push(Z)),$[w.indexOf(L[G])]=Z,Z.moved=!1}return $}const _={x:"w",y:"h"};function q(w,S,N,E){const B=_[E];S[E]+=1;const L=w.map($=>$.i).indexOf(S.i);for(let $=L+1;$<w.length;$++){const G=w[$];if(!G.static){if(G.y>S.y+S.h)break;C(S,G)&&q(w,G,N+S[B],E)}}S[E]=N}function R(w,S,N,E,B,L){const $=N==="vertical",G=N==="horizontal";if($)for(S.y=Math.min(a(w),S.y);S.y>0&&!d(w,S);)S.y--;else if(G)for(;S.x>0&&!d(w,S);)S.x--;let K;for(;(K=d(w,S))&&!(N===null&&L);)if(G?q(B,S,K.x+K.w,"x"):q(B,S,K.y+K.h,"y"),G&&S.x+S.w>E)for(S.x=E-S.w,S.y++;S.x>0&&!d(w,S);)S.x--;return S.y=Math.max(S.y,0),S.x=Math.max(S.x,0),S}function f(w,S){const N=p(w);for(let E=0,B=w.length;E<B;E++){const L=w[E];if(L.x+L.w>S.cols&&(L.x=S.cols-L.w),L.x<0&&(L.x=0,L.w=S.cols),!L.static)N.push(L);else for(;d(N,L);)L.y++}return w}function o(w,S){for(let N=0,E=w.length;N<E;N++)if(w[N].i===S)return w[N]}function d(w,S){for(let N=0,E=w.length;N<E;N++)if(C(w[N],S))return w[N]}function u(w,S){return w.filter(N=>C(N,S))}function p(w){return w.filter(S=>S.static)}function x(w,S,N,E,B,L,$,G,K){if(S.static&&S.isDraggable!==!0||S.y===E&&S.x===N)return w;`${S.i}${String(N)}${String(E)}${S.x}${S.y}`;const Z=S.x,ke=S.y;typeof N=="number"&&(S.x=N),typeof E=="number"&&(S.y=E),S.moved=!0;let ce=ne(w,$);($==="vertical"&&typeof E=="number"?ke>=E:$==="horizontal"&&typeof N=="number"&&Z>=N)&&(ce=ce.reverse());const We=u(ce,S),ht=We.length>0;if(ht&&K)return i(w);if(ht&&L)return`${S.i}`,S.x=Z,S.y=ke,S.moved=!1,w;for(let Ut=0,Ql=We.length;Ut<Ql;Ut++){const ze=We[Ut];`${S.i}${S.x}${S.y}${ze.i}${ze.x}${ze.y}`,!ze.moved&&(ze.static?w=v(w,ze,S,B,$):w=v(w,S,ze,B,$))}return w}function v(w,S,N,E,B,L){const $=B==="horizontal",G=B==="vertical",K=S.static;if(E){E=!1;const ce={x:$?Math.max(S.x-N.w,0):N.x,y:G?Math.max(S.y-N.h,0):N.y,w:N.w,h:N.h,i:"-1"},ae=d(w,ce),We=ae&&ae.y+ae.h>S.y,ht=ae&&S.x+S.w>ae.x;if(ae){if(We&&G)return x(w,N,void 0,S.y+1,E,K,B);if(We&&B==null)return S.y=N.y,N.y=N.y+N.h,w;if(ht&&$)return x(w,S,N.x,void 0,E,K,B)}else return`${N.i}${ce.x}${ce.y}`,x(w,N,$?ce.x:void 0,G?ce.y:void 0,E,K,B)}const Z=$?N.x+1:void 0,ke=G?N.y+1:void 0;return Z==null&&ke==null?w:x(w,N,$?N.x+1:void 0,G?N.y+1:void 0,E,K,B)}function g(w){return w*100+"%"}const h=(w,S,N,E)=>w+N>E?S:N,j=(w,S,N)=>w<0?S:N,P=w=>Math.max(0,w),O=w=>Math.max(0,w),D=(w,S,N)=>{let{left:E,height:B,width:L}=S;const $=w.top-(B-w.height);return{left:E,width:L,height:j($,w.height,B),top:O($)}},M=(w,S,N)=>{let{top:E,left:B,height:L,width:$}=S;return{top:E,height:L,width:h(w.left,w.width,$,N),left:P(B)}},T=(w,S,N)=>{let{top:E,height:B,width:L}=S;const $=w.left-(L-w.width);return{height:B,width:$<0?w.width:h(w.left,w.width,L,N),top:O(E),left:P($)}},W=(w,S,N)=>{let{top:E,left:B,height:L,width:$}=S;return{width:$,left:B,height:j(E,w.height,L),top:O(E)}},ee={n:D,ne:function(){return D(arguments.length<=0?void 0:arguments[0],M(...arguments))},e:M,se:function(){return W(arguments.length<=0?void 0:arguments[0],M(...arguments))},s:W,sw:function(){return W(arguments.length<=0?void 0:arguments[0],T(...arguments))},w:T,nw:function(){return D(arguments.length<=0?void 0:arguments[0],T(...arguments))}};function Q(w,S,N,E){const B=ee[w];return B?B(S,{...S,...N},E):N}function te(w){let{top:S,left:N,width:E,height:B}=w;const L=`translate(${N}px,${S}px)`;return{transform:L,WebkitTransform:L,MozTransform:L,msTransform:L,OTransform:L,width:`${E}px`,height:`${B}px`,position:"absolute"}}function ie(w){let{top:S,left:N,width:E,height:B}=w;return{top:`${S}px`,left:`${N}px`,width:`${E}px`,height:`${B}px`,position:"absolute"}}function ne(w,S){return S==="horizontal"?oe(w):S==="vertical"?le(w):w}function le(w){return w.slice(0).sort(function(S,N){return S.y>N.y||S.y===N.y&&S.x>N.x?1:S.y===N.y&&S.x===N.x?0:-1})}function oe(w){return w.slice(0).sort(function(S,N){return S.x>N.x||S.x===N.x&&S.y>N.y?1:-1})}function pe(w,S,N,E,B){w=w||[];const L=[];n.default.Children.forEach(S,G=>{if(G?.key==null)return;const K=o(w,String(G.key)),Z=G.props["data-grid"];K&&Z==null?L.push(c(K)):Z?L.push(c({...Z,i:G.key})):L.push(c({w:1,h:1,x:0,y:a(L),i:String(G.key)}))});const $=f(L,{cols:N});return B?$:b($,E,N)}function Te(w){let S=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"Layout";const N=["x","y","w","h"];if(!Array.isArray(w))throw new Error(S+" must be an array!");for(let E=0,B=w.length;E<B;E++){const L=w[E];for(let $=0;$<N.length;$++){const G=N[$],K=L[G];if(typeof K!="number"||Number.isNaN(K))throw new Error(`ReactGridLayout: ${S}[${E}].${G} must be a number! Received: ${K} (${typeof K})`)}if(typeof L.i<"u"&&typeof L.i!="string")throw new Error(`ReactGridLayout: ${S}[${E}].i must be a string! Received: ${L.i} (${typeof L.i})`)}}function I(w){const{verticalCompact:S,compactType:N}=w||{};return S===!1?null:N}function z(){}const F=()=>{};return J.noop=F,J}var we={},os;function Ta(){if(os)return we;os=1,Object.defineProperty(we,"__esModule",{value:!0}),we.calcGridColWidth=t,we.calcGridItemPosition=r,we.calcGridItemWHPx=n,we.calcWH=i,we.calcXY=a,we.clamp=s;function t(l){const{margin:c,containerPadding:y,containerWidth:m,cols:C}=l;return(m-c[0]*(C-1)-y[0]*2)/C}function n(l,c,y){return Number.isFinite(l)?Math.round(c*l+Math.max(0,l-1)*y):l}function r(l,c,y,m,C,b){const{margin:_,containerPadding:q,rowHeight:R}=l,f=t(l),o={};return b&&b.resizing?(o.width=Math.round(b.resizing.width),o.height=Math.round(b.resizing.height)):(o.width=n(m,f,_[0]),o.height=n(C,R,_[1])),b&&b.dragging?(o.top=Math.round(b.dragging.top),o.left=Math.round(b.dragging.left)):b&&b.resizing&&typeof b.resizing.top=="number"&&typeof b.resizing.left=="number"?(o.top=Math.round(b.resizing.top),o.left=Math.round(b.resizing.left)):(o.top=Math.round((R+_[1])*y+q[1]),o.left=Math.round((f+_[0])*c+q[0])),o}function a(l,c,y,m,C){const{margin:b,containerPadding:_,cols:q,rowHeight:R,maxRows:f}=l,o=t(l);let d=Math.round((y-_[0])/(o+b[0])),u=Math.round((c-_[1])/(R+b[1]));return d=s(d,0,q-m),u=s(u,0,f-C),{x:d,y:u}}function i(l,c,y,m,C,b){const{margin:_,maxRows:q,cols:R,rowHeight:f}=l,o=t(l);let d=Math.round((c+_[0])/(o+_[0])),u=Math.round((y+_[1])/(f+_[1])),p=s(d,0,R-m),x=s(u,0,q-C);return["sw","w","nw"].indexOf(b)!==-1&&(p=s(d,0,R)),["nw","n","ne"].indexOf(b)!==-1&&(x=s(u,0,q)),{w:p,h:x}}function s(l,c,y){return Math.max(Math.min(l,y),c)}return we}var Ve={},Yt={exports:{}},Xt,ls;function tc(){if(ls)return Xt;ls=1;var t="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";return Xt=t,Xt}var Vt,us;function rc(){if(us)return Vt;us=1;var t=tc();function n(){}function r(){}return r.resetWarningCache=n,Vt=function(){function a(l,c,y,m,C,b){if(b!==t){var _=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 _.name="Invariant Violation",_}}a.isRequired=a;function i(){return a}var s={array:a,bigint:a,bool:a,func:a,number:a,object:a,string:a,symbol:a,any:a,arrayOf:i,element:a,elementType:a,instanceOf:i,node:a,objectOf:i,oneOf:i,oneOfType:i,shape:i,exact:i,checkPropTypes:r,resetWarningCache:n};return s.PropTypes=s,s},Vt}var cs;function Ae(){return cs||(cs=1,Yt.exports=rc()()),Yt.exports}var Qe={exports:{}},Qt={},re={},Pe={},ds;function Tt(){if(ds)return Pe;ds=1,Object.defineProperty(Pe,"__esModule",{value:!0}),Pe.dontSetMe=i,Pe.findInArray=t,Pe.int=a,Pe.isFunction=n,Pe.isNum=r;function t(s,l){for(let c=0,y=s.length;c<y;c++)if(l.apply(l,[s[c],c,s]))return s[c]}function n(s){return typeof s=="function"||Object.prototype.toString.call(s)==="[object Function]"}function r(s){return typeof s=="number"&&!isNaN(s)}function a(s){return parseInt(s,10)}function i(s,l,c){if(s[l])return new Error(`Invalid prop ${l} passed to ${c} - do not set this, set it on the child.`)}return Pe}var De={},hs;function nc(){if(hs)return De;hs=1,Object.defineProperty(De,"__esModule",{value:!0}),De.browserPrefixToKey=r,De.browserPrefixToStyle=a,De.default=void 0,De.getPrefix=n;const t=["Moz","Webkit","O","ms"];function n(){let s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"transform";if(typeof window>"u")return"";const l=window.document?.documentElement?.style;if(!l||s in l)return"";for(let c=0;c<t.length;c++)if(r(s,t[c])in l)return t[c];return""}function r(s,l){return l?`${l}${i(s)}`:s}function a(s,l){return l?`-${l.toLowerCase()}-${s}`:s}function i(s){let l="",c=!0;for(let y=0;y<s.length;y++)c?(l+=s[y].toUpperCase(),c=!1):s[y]==="-"?c=!0:l+=s[y];return l}return De.default=n(),De}var fs;function ka(){if(fs)return re;fs=1,Object.defineProperty(re,"__esModule",{value:!0}),re.addClassName=v,re.addEvent=l,re.addUserSelectStyles=u,re.createCSSTransform=q,re.createSVGTransform=R,re.getTouch=o,re.getTouchIdentifier=d,re.getTranslation=f,re.innerHeight=C,re.innerWidth=b,re.matchesSelector=i,re.matchesSelectorAndParentsTo=s,re.offsetXYFromParent=_,re.outerHeight=y,re.outerWidth=m,re.removeClassName=g,re.removeEvent=c,re.scheduleRemoveUserSelectStyles=p;var t=Tt(),n=r(nc());function r(h,j){if(typeof WeakMap=="function")var P=new WeakMap,O=new WeakMap;return(r=function(D,M){if(!M&&D&&D.__esModule)return D;var T,W,H={__proto__:null,default:D};if(D===null||typeof D!="object"&&typeof D!="function")return H;if(T=M?O:P){if(T.has(D))return T.get(D);T.set(D,H)}for(const k in D)k!=="default"&&{}.hasOwnProperty.call(D,k)&&((W=(T=Object.defineProperty)&&Object.getOwnPropertyDescriptor(D,k))&&(W.get||W.set)?T(H,k,W):H[k]=D[k]);return H})(h,j)}let a="";function i(h,j){return a||(a=(0,t.findInArray)(["matches","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector"],function(P){return(0,t.isFunction)(h[P])})),(0,t.isFunction)(h[a])?h[a](j):!1}function s(h,j,P){let O=h;do{if(i(O,j))return!0;if(O===P)return!1;O=O.parentNode}while(O);return!1}function l(h,j,P,O){if(!h)return;const D={capture:!0,...O};h.addEventListener?h.addEventListener(j,P,D):h.attachEvent?h.attachEvent("on"+j,P):h["on"+j]=P}function c(h,j,P,O){if(!h)return;const D={capture:!0,...O};h.removeEventListener?h.removeEventListener(j,P,D):h.detachEvent?h.detachEvent("on"+j,P):h["on"+j]=null}function y(h){let j=h.clientHeight;const P=h.ownerDocument.defaultView.getComputedStyle(h);return j+=(0,t.int)(P.borderTopWidth),j+=(0,t.int)(P.borderBottomWidth),j}function m(h){let j=h.clientWidth;const P=h.ownerDocument.defaultView.getComputedStyle(h);return j+=(0,t.int)(P.borderLeftWidth),j+=(0,t.int)(P.borderRightWidth),j}function C(h){let j=h.clientHeight;const P=h.ownerDocument.defaultView.getComputedStyle(h);return j-=(0,t.int)(P.paddingTop),j-=(0,t.int)(P.paddingBottom),j}function b(h){let j=h.clientWidth;const P=h.ownerDocument.defaultView.getComputedStyle(h);return j-=(0,t.int)(P.paddingLeft),j-=(0,t.int)(P.paddingRight),j}function _(h,j,P){const D=j===j.ownerDocument.body?{left:0,top:0}:j.getBoundingClientRect(),M=(h.clientX+j.scrollLeft-D.left)/P,T=(h.clientY+j.scrollTop-D.top)/P;return{x:M,y:T}}function q(h,j){const P=f(h,j,"px");return{[(0,n.browserPrefixToKey)("transform",n.default)]:P}}function R(h,j){return f(h,j,"")}function f(h,j,P){let{x:O,y:D}=h,M=`translate(${O}${P},${D}${P})`;if(j){const T=`${typeof j.x=="string"?j.x:j.x+P}`,W=`${typeof j.y=="string"?j.y:j.y+P}`;M=`translate(${T}, ${W})`+M}return M}function o(h,j){return h.targetTouches&&(0,t.findInArray)(h.targetTouches,P=>j===P.identifier)||h.changedTouches&&(0,t.findInArray)(h.changedTouches,P=>j===P.identifier)}function d(h){if(h.targetTouches&&h.targetTouches[0])return h.targetTouches[0].identifier;if(h.changedTouches&&h.changedTouches[0])return h.changedTouches[0].identifier}function u(h){if(!h)return;let j=h.getElementById("react-draggable-style-el");j||(j=h.createElement("style"),j.type="text/css",j.id="react-draggable-style-el",j.innerHTML=`.react-draggable-transparent-selection *::-moz-selection {all: inherit;}
2
- `,j.innerHTML+=`.react-draggable-transparent-selection *::selection {all: inherit;}
3
- `,h.getElementsByTagName("head")[0].appendChild(j)),h.body&&v(h.body,"react-draggable-transparent-selection")}function p(h){window.requestAnimationFrame?window.requestAnimationFrame(()=>{x(h)}):x(h)}function x(h){if(h)try{if(h.body&&g(h.body,"react-draggable-transparent-selection"),h.selection)h.selection.empty();else{const j=(h.defaultView||window).getSelection();j&&j.type!=="Caret"&&j.removeAllRanges()}}catch{}}function v(h,j){h.classList?h.classList.add(j):h.className.match(new RegExp(`(?:^|\\s)${j}(?!\\S)`))||(h.className+=` ${j}`)}function g(h,j){h.classList?h.classList.remove(j):h.className=h.className.replace(new RegExp(`(?:^|\\s)${j}(?!\\S)`,"g"),"")}return re}var ve={},ps;function Sl(){if(ps)return ve;ps=1,Object.defineProperty(ve,"__esModule",{value:!0}),ve.canDragX=i,ve.canDragY=s,ve.createCoreData=c,ve.createDraggableData=y,ve.getBoundPosition=r,ve.getControlPosition=l,ve.snapToGrid=a;var t=Tt(),n=ka();function r(b,_,q){if(!b.props.bounds)return[_,q];let{bounds:R}=b.props;R=typeof R=="string"?R:m(R);const f=C(b);if(typeof R=="string"){const{ownerDocument:o}=f,d=o.defaultView;let u;if(R==="parent"?u=f.parentNode:u=f.getRootNode().querySelector(R),!(u instanceof d.HTMLElement))throw new Error('Bounds selector "'+R+'" could not find an element.');const p=u,x=d.getComputedStyle(f),v=d.getComputedStyle(p);R={left:-f.offsetLeft+(0,t.int)(v.paddingLeft)+(0,t.int)(x.marginLeft),top:-f.offsetTop+(0,t.int)(v.paddingTop)+(0,t.int)(x.marginTop),right:(0,n.innerWidth)(p)-(0,n.outerWidth)(f)-f.offsetLeft+(0,t.int)(v.paddingRight)-(0,t.int)(x.marginRight),bottom:(0,n.innerHeight)(p)-(0,n.outerHeight)(f)-f.offsetTop+(0,t.int)(v.paddingBottom)-(0,t.int)(x.marginBottom)}}return(0,t.isNum)(R.right)&&(_=Math.min(_,R.right)),(0,t.isNum)(R.bottom)&&(q=Math.min(q,R.bottom)),(0,t.isNum)(R.left)&&(_=Math.max(_,R.left)),(0,t.isNum)(R.top)&&(q=Math.max(q,R.top)),[_,q]}function a(b,_,q){const R=Math.round(_/b[0])*b[0],f=Math.round(q/b[1])*b[1];return[R,f]}function i(b){return b.props.axis==="both"||b.props.axis==="x"}function s(b){return b.props.axis==="both"||b.props.axis==="y"}function l(b,_,q){const R=typeof _=="number"?(0,n.getTouch)(b,_):null;if(typeof _=="number"&&!R)return null;const f=C(q),o=q.props.offsetParent||f.offsetParent||f.ownerDocument.body;return(0,n.offsetXYFromParent)(R||b,o,q.props.scale)}function c(b,_,q){const R=!(0,t.isNum)(b.lastX),f=C(b);return R?{node:f,deltaX:0,deltaY:0,lastX:_,lastY:q,x:_,y:q}:{node:f,deltaX:_-b.lastX,deltaY:q-b.lastY,lastX:b.lastX,lastY:b.lastY,x:_,y:q}}function y(b,_){const q=b.props.scale;return{node:_.node,x:b.state.x+_.deltaX/q,y:b.state.y+_.deltaY/q,deltaX:_.deltaX/q,deltaY:_.deltaY/q,lastX:b.state.x,lastY:b.state.y}}function m(b){return{left:b.left,top:b.top,right:b.right,bottom:b.bottom}}function C(b){const _=b.findDOMNode();if(!_)throw new Error("<DraggableCore>: Unmounted during event!");return _}return ve}var Je={},pt={},ms;function Rl(){if(ms)return pt;ms=1,Object.defineProperty(pt,"__esModule",{value:!0}),pt.default=t;function t(){}return pt}var gs;function ac(){if(gs)return Je;gs=1,Object.defineProperty(Je,"__esModule",{value:!0}),Je.default=void 0;var t=y(ge()),n=c(Ae()),r=c(Ma()),a=ka(),i=Sl(),s=Tt(),l=c(Rl());function c(f){return f&&f.__esModule?f:{default:f}}function y(f,o){if(typeof WeakMap=="function")var d=new WeakMap,u=new WeakMap;return(y=function(p,x){if(!x&&p&&p.__esModule)return p;var v,g,h={__proto__:null,default:p};if(p===null||typeof p!="object"&&typeof p!="function")return h;if(v=x?u:d){if(v.has(p))return v.get(p);v.set(p,h)}for(const j in p)j!=="default"&&{}.hasOwnProperty.call(p,j)&&((g=(v=Object.defineProperty)&&Object.getOwnPropertyDescriptor(p,j))&&(g.get||g.set)?v(h,j,g):h[j]=p[j]);return h})(f,o)}function m(f,o,d){return(o=C(o))in f?Object.defineProperty(f,o,{value:d,enumerable:!0,configurable:!0,writable:!0}):f[o]=d,f}function C(f){var o=b(f,"string");return typeof o=="symbol"?o:o+""}function b(f,o){if(typeof f!="object"||!f)return f;var d=f[Symbol.toPrimitive];if(d!==void 0){var u=d.call(f,o);if(typeof u!="object")return u;throw new TypeError("@@toPrimitive must return a primitive value.")}return(o==="string"?String:Number)(f)}const _={touch:{start:"touchstart",move:"touchmove",stop:"touchend"},mouse:{start:"mousedown",move:"mousemove",stop:"mouseup"}};let q=_.mouse,R=class extends t.Component{constructor(){super(...arguments),m(this,"dragging",!1),m(this,"lastX",NaN),m(this,"lastY",NaN),m(this,"touchIdentifier",null),m(this,"mounted",!1),m(this,"handleDragStart",o=>{if(this.props.onMouseDown(o),!this.props.allowAnyClick&&typeof o.button=="number"&&o.button!==0)return!1;const d=this.findDOMNode();if(!d||!d.ownerDocument||!d.ownerDocument.body)throw new Error("<DraggableCore> not mounted on DragStart!");const{ownerDocument:u}=d;if(this.props.disabled||!(o.target instanceof u.defaultView.Node)||this.props.handle&&!(0,a.matchesSelectorAndParentsTo)(o.target,this.props.handle,d)||this.props.cancel&&(0,a.matchesSelectorAndParentsTo)(o.target,this.props.cancel,d))return;o.type==="touchstart"&&!this.props.allowMobileScroll&&o.preventDefault();const p=(0,a.getTouchIdentifier)(o);this.touchIdentifier=p;const x=(0,i.getControlPosition)(o,p,this);if(x==null)return;const{x:v,y:g}=x,h=(0,i.createCoreData)(this,v,g);(0,l.default)("DraggableCore: handleDragStart: %j",h),(0,l.default)("calling",this.props.onStart),!(this.props.onStart(o,h)===!1||this.mounted===!1)&&(this.props.enableUserSelectHack&&(0,a.addUserSelectStyles)(u),this.dragging=!0,this.lastX=v,this.lastY=g,(0,a.addEvent)(u,q.move,this.handleDrag),(0,a.addEvent)(u,q.stop,this.handleDragStop))}),m(this,"handleDrag",o=>{const d=(0,i.getControlPosition)(o,this.touchIdentifier,this);if(d==null)return;let{x:u,y:p}=d;if(Array.isArray(this.props.grid)){let g=u-this.lastX,h=p-this.lastY;if([g,h]=(0,i.snapToGrid)(this.props.grid,g,h),!g&&!h)return;u=this.lastX+g,p=this.lastY+h}const x=(0,i.createCoreData)(this,u,p);if((0,l.default)("DraggableCore: handleDrag: %j",x),this.props.onDrag(o,x)===!1||this.mounted===!1){try{this.handleDragStop(new MouseEvent("mouseup"))}catch{const h=document.createEvent("MouseEvents");h.initMouseEvent("mouseup",!0,!0,window,0,0,0,0,0,!1,!1,!1,!1,0,null),this.handleDragStop(h)}return}this.lastX=u,this.lastY=p}),m(this,"handleDragStop",o=>{if(!this.dragging)return;const d=(0,i.getControlPosition)(o,this.touchIdentifier,this);if(d==null)return;let{x:u,y:p}=d;if(Array.isArray(this.props.grid)){let h=u-this.lastX||0,j=p-this.lastY||0;[h,j]=(0,i.snapToGrid)(this.props.grid,h,j),u=this.lastX+h,p=this.lastY+j}const x=(0,i.createCoreData)(this,u,p);if(this.props.onStop(o,x)===!1||this.mounted===!1)return!1;const g=this.findDOMNode();g&&this.props.enableUserSelectHack&&(0,a.scheduleRemoveUserSelectStyles)(g.ownerDocument),(0,l.default)("DraggableCore: handleDragStop: %j",x),this.dragging=!1,this.lastX=NaN,this.lastY=NaN,g&&((0,l.default)("DraggableCore: Removing handlers"),(0,a.removeEvent)(g.ownerDocument,q.move,this.handleDrag),(0,a.removeEvent)(g.ownerDocument,q.stop,this.handleDragStop))}),m(this,"onMouseDown",o=>(q=_.mouse,this.handleDragStart(o))),m(this,"onMouseUp",o=>(q=_.mouse,this.handleDragStop(o))),m(this,"onTouchStart",o=>(q=_.touch,this.handleDragStart(o))),m(this,"onTouchEnd",o=>(q=_.touch,this.handleDragStop(o)))}componentDidMount(){this.mounted=!0;const o=this.findDOMNode();o&&(0,a.addEvent)(o,_.touch.start,this.onTouchStart,{passive:!1})}componentWillUnmount(){this.mounted=!1;const o=this.findDOMNode();if(o){const{ownerDocument:d}=o;(0,a.removeEvent)(d,_.mouse.move,this.handleDrag),(0,a.removeEvent)(d,_.touch.move,this.handleDrag),(0,a.removeEvent)(d,_.mouse.stop,this.handleDragStop),(0,a.removeEvent)(d,_.touch.stop,this.handleDragStop),(0,a.removeEvent)(o,_.touch.start,this.onTouchStart,{passive:!1}),this.props.enableUserSelectHack&&(0,a.scheduleRemoveUserSelectStyles)(d)}}findDOMNode(){return this.props?.nodeRef?this.props?.nodeRef?.current:r.default.findDOMNode(this)}render(){return t.cloneElement(t.Children.only(this.props.children),{onMouseDown:this.onMouseDown,onMouseUp:this.onMouseUp,onTouchEnd:this.onTouchEnd})}};return Je.default=R,m(R,"displayName","DraggableCore"),m(R,"propTypes",{allowAnyClick:n.default.bool,allowMobileScroll:n.default.bool,children:n.default.node.isRequired,disabled:n.default.bool,enableUserSelectHack:n.default.bool,offsetParent:function(f,o){if(f[o]&&f[o].nodeType!==1)throw new Error("Draggable's offsetParent must be a DOM Node.")},grid:n.default.arrayOf(n.default.number),handle:n.default.string,cancel:n.default.string,nodeRef:n.default.object,onStart:n.default.func,onDrag:n.default.func,onStop:n.default.func,onMouseDown:n.default.func,scale:n.default.number,className:s.dontSetMe,style:s.dontSetMe,transform:s.dontSetMe}),m(R,"defaultProps",{allowAnyClick:!1,allowMobileScroll:!1,disabled:!1,enableUserSelectHack:!0,onStart:function(){},onDrag:function(){},onStop:function(){},onMouseDown:function(){},scale:1}),Je}var vs;function sc(){return vs||(vs=1,(function(t){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"DraggableCore",{enumerable:!0,get:function(){return y.default}}),t.default=void 0;var n=b(ge()),r=C(Ae()),a=C(Ma()),i=At(),s=ka(),l=Sl(),c=Tt(),y=C(ac()),m=C(Rl());function C(d){return d&&d.__esModule?d:{default:d}}function b(d,u){if(typeof WeakMap=="function")var p=new WeakMap,x=new WeakMap;return(b=function(v,g){if(!g&&v&&v.__esModule)return v;var h,j,P={__proto__:null,default:v};if(v===null||typeof v!="object"&&typeof v!="function")return P;if(h=g?x:p){if(h.has(v))return h.get(v);h.set(v,P)}for(const O in v)O!=="default"&&{}.hasOwnProperty.call(v,O)&&((j=(h=Object.defineProperty)&&Object.getOwnPropertyDescriptor(v,O))&&(j.get||j.set)?h(P,O,j):P[O]=v[O]);return P})(d,u)}function _(){return _=Object.assign?Object.assign.bind():function(d){for(var u=1;u<arguments.length;u++){var p=arguments[u];for(var x in p)({}).hasOwnProperty.call(p,x)&&(d[x]=p[x])}return d},_.apply(null,arguments)}function q(d,u,p){return(u=R(u))in d?Object.defineProperty(d,u,{value:p,enumerable:!0,configurable:!0,writable:!0}):d[u]=p,d}function R(d){var u=f(d,"string");return typeof u=="symbol"?u:u+""}function f(d,u){if(typeof d!="object"||!d)return d;var p=d[Symbol.toPrimitive];if(p!==void 0){var x=p.call(d,u);if(typeof x!="object")return x;throw new TypeError("@@toPrimitive must return a primitive value.")}return(u==="string"?String:Number)(d)}class o extends n.Component{static getDerivedStateFromProps(u,p){let{position:x}=u,{prevPropsPosition:v}=p;return x&&(!v||x.x!==v.x||x.y!==v.y)?((0,m.default)("Draggable: getDerivedStateFromProps %j",{position:x,prevPropsPosition:v}),{x:x.x,y:x.y,prevPropsPosition:{...x}}):null}constructor(u){super(u),q(this,"onDragStart",(p,x)=>{if((0,m.default)("Draggable: onDragStart: %j",x),this.props.onStart(p,(0,l.createDraggableData)(this,x))===!1)return!1;this.setState({dragging:!0,dragged:!0})}),q(this,"onDrag",(p,x)=>{if(!this.state.dragging)return!1;(0,m.default)("Draggable: onDrag: %j",x);const v=(0,l.createDraggableData)(this,x),g={x:v.x,y:v.y,slackX:0,slackY:0};if(this.props.bounds){const{x:j,y:P}=g;g.x+=this.state.slackX,g.y+=this.state.slackY;const[O,D]=(0,l.getBoundPosition)(this,g.x,g.y);g.x=O,g.y=D,g.slackX=this.state.slackX+(j-g.x),g.slackY=this.state.slackY+(P-g.y),v.x=g.x,v.y=g.y,v.deltaX=g.x-this.state.x,v.deltaY=g.y-this.state.y}if(this.props.onDrag(p,v)===!1)return!1;this.setState(g)}),q(this,"onDragStop",(p,x)=>{if(!this.state.dragging||this.props.onStop(p,(0,l.createDraggableData)(this,x))===!1)return!1;(0,m.default)("Draggable: onDragStop: %j",x);const g={dragging:!1,slackX:0,slackY:0};if(!!this.props.position){const{x:j,y:P}=this.props.position;g.x=j,g.y=P}this.setState(g)}),this.state={dragging:!1,dragged:!1,x:u.position?u.position.x:u.defaultPosition.x,y:u.position?u.position.y:u.defaultPosition.y,prevPropsPosition:{...u.position},slackX:0,slackY:0,isElementSVG:!1},u.position&&!(u.onDrag||u.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??a.default.findDOMNode(this)}render(){const{axis:u,bounds:p,children:x,defaultPosition:v,defaultClassName:g,defaultClassNameDragging:h,defaultClassNameDragged:j,position:P,positionOffset:O,scale:D,...M}=this.props;let T={},W=null;const k=!!!P||this.state.dragging,Y=P||v,V={x:(0,l.canDragX)(this)&&k?this.state.x:Y.x,y:(0,l.canDragY)(this)&&k?this.state.y:Y.y};this.state.isElementSVG?W=(0,s.createSVGTransform)(V,O):T=(0,s.createCSSTransform)(V,O);const ee=(0,i.clsx)(x.props.className||"",g,{[h]:this.state.dragging,[j]:this.state.dragged});return n.createElement(y.default,_({},M,{onStart:this.onDragStart,onDrag:this.onDrag,onStop:this.onDragStop}),n.cloneElement(n.Children.only(x),{className:ee,style:{...x.props.style,...T},transform:W}))}}t.default=o,q(o,"displayName","Draggable"),q(o,"propTypes",{...y.default.propTypes,axis:r.default.oneOf(["both","x","y","none"]),bounds:r.default.oneOfType([r.default.shape({left:r.default.number,right:r.default.number,top:r.default.number,bottom:r.default.number}),r.default.string,r.default.oneOf([!1])]),defaultClassName:r.default.string,defaultClassNameDragging:r.default.string,defaultClassNameDragged:r.default.string,defaultPosition:r.default.shape({x:r.default.number,y:r.default.number}),positionOffset:r.default.shape({x:r.default.oneOfType([r.default.number,r.default.string]),y:r.default.oneOfType([r.default.number,r.default.string])}),position:r.default.shape({x:r.default.number,y:r.default.number}),className:c.dontSetMe,style:c.dontSetMe,transform:c.dontSetMe}),q(o,"defaultProps",{...y.default.defaultProps,axis:"both",bounds:!1,defaultClassName:"react-draggable",defaultClassNameDragging:"react-draggable-dragging",defaultClassNameDragged:"react-draggable-dragged",defaultPosition:{x:0,y:0},scale:1})})(Qt)),Qt}var ys;function za(){if(ys)return Qe.exports;ys=1;const{default:t,DraggableCore:n}=sc();return Qe.exports=t,Qe.exports.default=t,Qe.exports.DraggableCore=n,Qe.exports}var Ze={exports:{}},et={},mt={},xs;function ic(){if(xs)return mt;xs=1,mt.__esModule=!0,mt.cloneElement=c;var t=n(ge());function n(y){return y&&y.__esModule?y:{default:y}}function r(y,m){var C=Object.keys(y);if(Object.getOwnPropertySymbols){var b=Object.getOwnPropertySymbols(y);m&&(b=b.filter(function(_){return Object.getOwnPropertyDescriptor(y,_).enumerable})),C.push.apply(C,b)}return C}function a(y){for(var m=1;m<arguments.length;m++){var C=arguments[m]!=null?arguments[m]:{};m%2?r(Object(C),!0).forEach(function(b){i(y,b,C[b])}):Object.getOwnPropertyDescriptors?Object.defineProperties(y,Object.getOwnPropertyDescriptors(C)):r(Object(C)).forEach(function(b){Object.defineProperty(y,b,Object.getOwnPropertyDescriptor(C,b))})}return y}function i(y,m,C){return m=s(m),m in y?Object.defineProperty(y,m,{value:C,enumerable:!0,configurable:!0,writable:!0}):y[m]=C,y}function s(y){var m=l(y,"string");return typeof m=="symbol"?m:String(m)}function l(y,m){if(typeof y!="object"||y===null)return y;var C=y[Symbol.toPrimitive];if(C!==void 0){var b=C.call(y,m);if(typeof b!="object")return b;throw new TypeError("@@toPrimitive must return a primitive value.")}return(m==="string"?String:Number)(y)}function c(y,m){return m.style&&y.props.style&&(m.style=a(a({},y.props.style),m.style)),m.className&&y.props.className&&(m.className=y.props.className+" "+m.className),t.default.cloneElement(y,m)}return mt}var tt={},bs;function Cl(){if(bs)return tt;bs=1,tt.__esModule=!0,tt.resizableProps=void 0;var t=n(Ae());za();function n(a){return a&&a.__esModule?a:{default:a}}var r={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 i=arguments.length,s=new Array(i),l=0;l<i;l++)s[l]=arguments[l];var c=s[0];if(c.axis==="both"||c.axis==="y"){var y;return(y=t.default.number).isRequired.apply(y,s)}return t.default.number.apply(t.default,s)},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 i=arguments.length,s=new Array(i),l=0;l<i;l++)s[l]=arguments[l];var c=s[0];if(c.axis==="both"||c.axis==="x"){var y;return(y=t.default.number).isRequired.apply(y,s)}return t.default.number.apply(t.default,s)}};return tt.resizableProps=r,tt}var _s;function Pl(){if(_s)return et;_s=1,et.__esModule=!0,et.default=void 0;var t=l(ge()),n=za(),r=ic(),a=Cl(),i=["children","className","draggableOpts","width","height","handle","handleSize","lockAspectRatio","axis","minConstraints","maxConstraints","onResize","onResizeStop","onResizeStart","resizeHandles","transformScale"];function s(d){if(typeof WeakMap!="function")return null;var u=new WeakMap,p=new WeakMap;return(s=function(v){return v?p:u})(d)}function l(d,u){if(d&&d.__esModule)return d;if(d===null||typeof d!="object"&&typeof d!="function")return{default:d};var p=s(u);if(p&&p.has(d))return p.get(d);var x={},v=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var g in d)if(g!=="default"&&Object.prototype.hasOwnProperty.call(d,g)){var h=v?Object.getOwnPropertyDescriptor(d,g):null;h&&(h.get||h.set)?Object.defineProperty(x,g,h):x[g]=d[g]}return x.default=d,p&&p.set(d,x),x}function c(){return c=Object.assign?Object.assign.bind():function(d){for(var u=1;u<arguments.length;u++){var p=arguments[u];for(var x in p)Object.prototype.hasOwnProperty.call(p,x)&&(d[x]=p[x])}return d},c.apply(this,arguments)}function y(d,u){if(d==null)return{};var p={},x=Object.keys(d),v,g;for(g=0;g<x.length;g++)v=x[g],!(u.indexOf(v)>=0)&&(p[v]=d[v]);return p}function m(d,u){var p=Object.keys(d);if(Object.getOwnPropertySymbols){var x=Object.getOwnPropertySymbols(d);u&&(x=x.filter(function(v){return Object.getOwnPropertyDescriptor(d,v).enumerable})),p.push.apply(p,x)}return p}function C(d){for(var u=1;u<arguments.length;u++){var p=arguments[u]!=null?arguments[u]:{};u%2?m(Object(p),!0).forEach(function(x){b(d,x,p[x])}):Object.getOwnPropertyDescriptors?Object.defineProperties(d,Object.getOwnPropertyDescriptors(p)):m(Object(p)).forEach(function(x){Object.defineProperty(d,x,Object.getOwnPropertyDescriptor(p,x))})}return d}function b(d,u,p){return u=_(u),u in d?Object.defineProperty(d,u,{value:p,enumerable:!0,configurable:!0,writable:!0}):d[u]=p,d}function _(d){var u=q(d,"string");return typeof u=="symbol"?u:String(u)}function q(d,u){if(typeof d!="object"||d===null)return d;var p=d[Symbol.toPrimitive];if(p!==void 0){var x=p.call(d,u);if(typeof x!="object")return x;throw new TypeError("@@toPrimitive must return a primitive value.")}return(u==="string"?String:Number)(d)}function R(d,u){d.prototype=Object.create(u.prototype),d.prototype.constructor=d,f(d,u)}function f(d,u){return f=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(x,v){return x.__proto__=v,x},f(d,u)}var o=(function(d){R(u,d);function u(){for(var x,v=arguments.length,g=new Array(v),h=0;h<v;h++)g[h]=arguments[h];return x=d.call.apply(d,[this].concat(g))||this,x.handleRefs={},x.lastHandleRect=null,x.slack=null,x}var p=u.prototype;return p.componentWillUnmount=function(){this.resetData()},p.resetData=function(){this.lastHandleRect=this.slack=null},p.runConstraints=function(v,g){var h=this.props,j=h.minConstraints,P=h.maxConstraints,O=h.lockAspectRatio;if(!j&&!P&&!O)return[v,g];if(O){var D=this.props.width/this.props.height,M=v-this.props.width,T=g-this.props.height;Math.abs(M)>Math.abs(T*D)?g=v/D:v=g*D}var W=v,H=g,k=this.slack||[0,0],Y=k[0],V=k[1];return v+=Y,g+=V,j&&(v=Math.max(j[0],v),g=Math.max(j[1],g)),P&&(v=Math.min(P[0],v),g=Math.min(P[1],g)),this.slack=[Y+(W-v),V+(H-g)],[v,g]},p.resizeHandler=function(v,g){var h=this;return function(j,P){var O=P.node,D=P.deltaX,M=P.deltaY;v==="onResizeStart"&&h.resetData();var T=(h.props.axis==="both"||h.props.axis==="x")&&g!=="n"&&g!=="s",W=(h.props.axis==="both"||h.props.axis==="y")&&g!=="e"&&g!=="w";if(!(!T&&!W)){var H=g[0],k=g[g.length-1],Y=O.getBoundingClientRect();if(h.lastHandleRect!=null){if(k==="w"){var V=Y.left-h.lastHandleRect.left;D+=V}if(H==="n"){var ee=Y.top-h.lastHandleRect.top;M+=ee}}h.lastHandleRect=Y,k==="w"&&(D=-D),H==="n"&&(M=-M);var Q=h.props.width+(T?D/h.props.transformScale:0),te=h.props.height+(W?M/h.props.transformScale:0),ie=h.runConstraints(Q,te);Q=ie[0],te=ie[1];var ne=Q!==h.props.width||te!==h.props.height,le=typeof h.props[v]=="function"?h.props[v]:null,oe=v==="onResize"&&!ne;le&&!oe&&(j.persist==null||j.persist(),le(j,{node:O,size:{width:Q,height:te},handle:g})),v==="onResizeStop"&&h.resetData()}}},p.renderResizeHandle=function(v,g){var h=this.props.handle;if(!h)return t.createElement("span",{className:"react-resizable-handle react-resizable-handle-"+v,ref:g});if(typeof h=="function")return h(v,g);var j=typeof h.type=="string",P=C({ref:g},j?{}:{handleAxis:v});return t.cloneElement(h,P)},p.render=function(){var v=this,g=this.props,h=g.children,j=g.className,P=g.draggableOpts;g.width,g.height,g.handle,g.handleSize,g.lockAspectRatio,g.axis,g.minConstraints,g.maxConstraints,g.onResize,g.onResizeStop,g.onResizeStart;var O=g.resizeHandles;g.transformScale;var D=y(g,i);return(0,r.cloneElement)(h,C(C({},D),{},{className:(j?j+" ":"")+"react-resizable",children:[].concat(h.props.children,O.map(function(M){var T,W=(T=v.handleRefs[M])!=null?T:v.handleRefs[M]=t.createRef();return t.createElement(n.DraggableCore,c({},P,{nodeRef:W,key:"resizableHandle-"+M,onStop:v.resizeHandler("onResizeStop",M),onStart:v.resizeHandler("onResizeStart",M),onDrag:v.resizeHandler("onResize",M)}),v.renderResizeHandle(M,W))}))}))},u})(t.Component);return et.default=o,o.propTypes=a.resizableProps,o.defaultProps={axis:"both",handleSize:[20,20],lockAspectRatio:!1,minConstraints:[20,20],maxConstraints:[1/0,1/0],resizeHandles:["se"],transformScale:1},et}var rt={},js;function oc(){if(js)return rt;js=1,rt.__esModule=!0,rt.default=void 0;var t=c(ge()),n=s(Ae()),r=s(Pl()),a=Cl(),i=["handle","handleSize","onResize","onResizeStart","onResizeStop","draggableOpts","minConstraints","maxConstraints","lockAspectRatio","axis","width","height","resizeHandles","style","transformScale"];function s(u){return u&&u.__esModule?u:{default:u}}function l(u){if(typeof WeakMap!="function")return null;var p=new WeakMap,x=new WeakMap;return(l=function(g){return g?x:p})(u)}function c(u,p){if(u&&u.__esModule)return u;if(u===null||typeof u!="object"&&typeof u!="function")return{default:u};var x=l(p);if(x&&x.has(u))return x.get(u);var v={},g=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var h in u)if(h!=="default"&&Object.prototype.hasOwnProperty.call(u,h)){var j=g?Object.getOwnPropertyDescriptor(u,h):null;j&&(j.get||j.set)?Object.defineProperty(v,h,j):v[h]=u[h]}return v.default=u,x&&x.set(u,v),v}function y(){return y=Object.assign?Object.assign.bind():function(u){for(var p=1;p<arguments.length;p++){var x=arguments[p];for(var v in x)Object.prototype.hasOwnProperty.call(x,v)&&(u[v]=x[v])}return u},y.apply(this,arguments)}function m(u,p){var x=Object.keys(u);if(Object.getOwnPropertySymbols){var v=Object.getOwnPropertySymbols(u);p&&(v=v.filter(function(g){return Object.getOwnPropertyDescriptor(u,g).enumerable})),x.push.apply(x,v)}return x}function C(u){for(var p=1;p<arguments.length;p++){var x=arguments[p]!=null?arguments[p]:{};p%2?m(Object(x),!0).forEach(function(v){b(u,v,x[v])}):Object.getOwnPropertyDescriptors?Object.defineProperties(u,Object.getOwnPropertyDescriptors(x)):m(Object(x)).forEach(function(v){Object.defineProperty(u,v,Object.getOwnPropertyDescriptor(x,v))})}return u}function b(u,p,x){return p=_(p),p in u?Object.defineProperty(u,p,{value:x,enumerable:!0,configurable:!0,writable:!0}):u[p]=x,u}function _(u){var p=q(u,"string");return typeof p=="symbol"?p:String(p)}function q(u,p){if(typeof u!="object"||u===null)return u;var x=u[Symbol.toPrimitive];if(x!==void 0){var v=x.call(u,p);if(typeof v!="object")return v;throw new TypeError("@@toPrimitive must return a primitive value.")}return(p==="string"?String:Number)(u)}function R(u,p){if(u==null)return{};var x={},v=Object.keys(u),g,h;for(h=0;h<v.length;h++)g=v[h],!(p.indexOf(g)>=0)&&(x[g]=u[g]);return x}function f(u,p){u.prototype=Object.create(p.prototype),u.prototype.constructor=u,o(u,p)}function o(u,p){return o=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(v,g){return v.__proto__=g,v},o(u,p)}var d=(function(u){f(p,u);function p(){for(var v,g=arguments.length,h=new Array(g),j=0;j<g;j++)h[j]=arguments[j];return v=u.call.apply(u,[this].concat(h))||this,v.state={width:v.props.width,height:v.props.height,propsWidth:v.props.width,propsHeight:v.props.height},v.onResize=function(P,O){var D=O.size;v.props.onResize?(P.persist==null||P.persist(),v.setState(D,function(){return v.props.onResize&&v.props.onResize(P,O)})):v.setState(D)},v}p.getDerivedStateFromProps=function(g,h){return h.propsWidth!==g.width||h.propsHeight!==g.height?{width:g.width,height:g.height,propsWidth:g.width,propsHeight:g.height}:null};var x=p.prototype;return x.render=function(){var g=this.props,h=g.handle,j=g.handleSize;g.onResize;var P=g.onResizeStart,O=g.onResizeStop,D=g.draggableOpts,M=g.minConstraints,T=g.maxConstraints,W=g.lockAspectRatio,H=g.axis;g.width,g.height;var k=g.resizeHandles,Y=g.style,V=g.transformScale,ee=R(g,i);return t.createElement(r.default,{axis:H,draggableOpts:D,handle:h,handleSize:j,height:this.state.height,lockAspectRatio:W,maxConstraints:T,minConstraints:M,onResizeStart:P,onResize:this.onResize,onResizeStop:O,resizeHandles:k,transformScale:V,width:this.state.width},t.createElement("div",y({},ee,{style:C(C({},Y),{},{width:this.state.width+"px",height:this.state.height+"px"})})))},p})(t.Component);return rt.default=d,d.propTypes=C(C({},a.resizableProps),{},{children:n.default.element}),rt}var ws;function lc(){return ws||(ws=1,Ze.exports=function(){throw new Error("Don't instantiate Resizable directly! Use require('react-resizable').Resizable")},Ze.exports.Resizable=Pl().default,Ze.exports.ResizableBox=oc().default),Ze.exports}var Se={},Ss;function Dl(){if(Ss)return Se;Ss=1,Object.defineProperty(Se,"__esModule",{value:!0}),Se.resizeHandleType=Se.resizeHandleAxesType=Se.default=void 0;var t=r(Ae()),n=r(ge());function r(s){return s&&s.__esModule?s:{default:s}}const a=Se.resizeHandleAxesType=t.default.arrayOf(t.default.oneOf(["s","w","e","n","sw","nw","se","ne"])),i=Se.resizeHandleType=t.default.oneOfType([t.default.node,t.default.func]);return Se.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(s){s.verticalCompact},compactType:t.default.oneOf(["vertical","horizontal"]),layout:function(s){var l=s.layout;l!==void 0&&Ke().validateLayout(l,"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:a,resizeHandle:i,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(s,l){const c=s[l],y={};n.default.Children.forEach(c,function(m){if(m?.key!=null){if(y[m.key])throw new Error('Duplicate child key "'+m.key+'" found! This will cause problems in ReactGridLayout.');y[m.key]=!0}})},innerRef:t.default.any},Se}var Rs;function uc(){if(Rs)return Ve;Rs=1,Object.defineProperty(Ve,"__esModule",{value:!0}),Ve.default=void 0;var t=m(ge()),n=Ma(),r=m(Ae()),a=za(),i=lc(),s=Ke(),l=Ta(),c=Dl(),y=m(At());function m(R){return R&&R.__esModule?R:{default:R}}function C(R,f,o){return(f=b(f))in R?Object.defineProperty(R,f,{value:o,enumerable:!0,configurable:!0,writable:!0}):R[f]=o,R}function b(R){var f=_(R,"string");return typeof f=="symbol"?f:f+""}function _(R,f){if(typeof R!="object"||!R)return R;var o=R[Symbol.toPrimitive];if(o!==void 0){var d=o.call(R,f);if(typeof d!="object")return d;throw new TypeError("@@toPrimitive must return a primitive value.")}return(f==="string"?String:Number)(R)}let q=class extends t.default.Component{constructor(){super(...arguments),C(this,"state",{resizing:null,dragging:null,className:""}),C(this,"elementRef",t.default.createRef()),C(this,"onDragStart",(f,o)=>{let{node:d}=o;const{onDragStart:u,transformScale:p}=this.props;if(!u)return;const x={top:0,left:0},{offsetParent:v}=d;if(!v)return;const g=v.getBoundingClientRect(),h=d.getBoundingClientRect(),j=h.left/p,P=g.left/p,O=h.top/p,D=g.top/p;x.left=j-P+v.scrollLeft,x.top=O-D+v.scrollTop,this.setState({dragging:x});const{x:M,y:T}=(0,l.calcXY)(this.getPositionParams(),x.top,x.left,this.props.w,this.props.h);return u.call(this,this.props.i,M,T,{e:f,node:d,newPosition:x})}),C(this,"onDrag",(f,o,d)=>{let{node:u,deltaX:p,deltaY:x}=o;const{onDrag:v}=this.props;if(!v)return;if(!this.state.dragging)throw new Error("onDrag called before onDragStart.");let g=this.state.dragging.top+x,h=this.state.dragging.left+p;const{isBounded:j,i:P,w:O,h:D,containerWidth:M}=this.props,T=this.getPositionParams();if(j){const{offsetParent:Y}=u;if(Y){const{margin:V,rowHeight:ee}=this.props,Q=Y.clientHeight-(0,l.calcGridItemWHPx)(D,ee,V[1]);g=(0,l.clamp)(g,0,Q);const te=(0,l.calcGridColWidth)(T),ie=M-(0,l.calcGridItemWHPx)(O,te,V[0]);h=(0,l.clamp)(h,0,ie)}}const W={top:g,left:h};d?this.setState({dragging:W}):(0,n.flushSync)(()=>{this.setState({dragging:W})});const{x:H,y:k}=(0,l.calcXY)(T,g,h,O,D);return v.call(this,P,H,k,{e:f,node:u,newPosition:W})}),C(this,"onDragStop",(f,o)=>{let{node:d}=o;const{onDragStop:u}=this.props;if(!u)return;if(!this.state.dragging)throw new Error("onDragEnd called before onDragStart.");const{w:p,h:x,i:v}=this.props,{left:g,top:h}=this.state.dragging,j={top:h,left:g};this.setState({dragging:null});const{x:P,y:O}=(0,l.calcXY)(this.getPositionParams(),h,g,p,x);return u.call(this,v,P,O,{e:f,node:d,newPosition:j})}),C(this,"onResizeStop",(f,o,d)=>this.onResizeHandler(f,o,d,"onResizeStop")),C(this,"onResizeStart",(f,o,d)=>this.onResizeHandler(f,o,d,"onResizeStart")),C(this,"onResize",(f,o,d)=>this.onResizeHandler(f,o,d,"onResize"))}shouldComponentUpdate(f,o){if(this.props.children!==f.children||this.props.droppingPosition!==f.droppingPosition)return!0;const d=(0,l.calcGridItemPosition)(this.getPositionParams(this.props),this.props.x,this.props.y,this.props.w,this.props.h,this.state),u=(0,l.calcGridItemPosition)(this.getPositionParams(f),f.x,f.y,f.w,f.h,o);return!(0,s.fastPositionEqual)(d,u)||this.props.useCSSTransforms!==f.useCSSTransforms}componentDidMount(){this.moveDroppingItem({})}componentDidUpdate(f){this.moveDroppingItem(f)}moveDroppingItem(f){const{droppingPosition:o}=this.props;if(!o)return;const d=this.elementRef.current;if(!d)return;const u=f.droppingPosition||{left:0,top:0},{dragging:p}=this.state,x=p&&o.left!==u.left||o.top!==u.top;if(!p)this.onDragStart(o.e,{node:d,deltaX:o.left,deltaY:o.top});else if(x){const v=o.left-p.left,g=o.top-p.top;this.onDrag(o.e,{node:d,deltaX:v,deltaY:g},!0)}}getPositionParams(){let f=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.props;return{cols:f.cols,containerPadding:f.containerPadding,containerWidth:f.containerWidth,margin:f.margin,maxRows:f.maxRows,rowHeight:f.rowHeight}}createStyle(f){const{usePercentages:o,containerWidth:d,useCSSTransforms:u}=this.props;let p;return u?p=(0,s.setTransform)(f):(p=(0,s.setTopLeft)(f),o&&(p.left=(0,s.perc)(f.left/d),p.width=(0,s.perc)(f.width/d))),p}mixinDraggable(f,o){return t.default.createElement(a.DraggableCore,{disabled:!o,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},f)}curryResizeHandler(f,o){return(d,u)=>o(d,u,f)}mixinResizable(f,o,d){const{cols:u,minW:p,minH:x,maxW:v,maxH:g,transformScale:h,resizeHandles:j,resizeHandle:P}=this.props,O=this.getPositionParams(),D=(0,l.calcGridItemPosition)(O,0,0,u,0).width,M=(0,l.calcGridItemPosition)(O,0,0,p,x),T=(0,l.calcGridItemPosition)(O,0,0,v,g),W=[M.width,M.height],H=[Math.min(T.width,D),Math.min(T.height,1/0)];return t.default.createElement(i.Resizable,{draggableOpts:{disabled:!d},className:d?void 0:"react-resizable-hide",width:o.width,height:o.height,minConstraints:W,maxConstraints:H,onResizeStop:this.curryResizeHandler(o,this.onResizeStop),onResizeStart:this.curryResizeHandler(o,this.onResizeStart),onResize:this.curryResizeHandler(o,this.onResize),transformScale:h,resizeHandles:j,handle:P},f)}onResizeHandler(f,o,d,u){let{node:p,size:x,handle:v}=o;const g=this.props[u];if(!g)return;const{x:h,y:j,i:P,maxH:O,minH:D,containerWidth:M}=this.props,{minW:T,maxW:W}=this.props;let H=x;p&&(H=(0,s.resizeItemInDirection)(v,d,x,M),(0,n.flushSync)(()=>{this.setState({resizing:u==="onResizeStop"?null:H})}));let{w:k,h:Y}=(0,l.calcWH)(this.getPositionParams(),H.width,H.height,h,j,v);k=(0,l.clamp)(k,Math.max(T,1),W),Y=(0,l.clamp)(Y,D,O),g.call(this,P,k,Y,{e:f,node:p,size:H,handle:v})}render(){const{x:f,y:o,w:d,h:u,isDraggable:p,isResizable:x,droppingPosition:v,useCSSTransforms:g}=this.props,h=(0,l.calcGridItemPosition)(this.getPositionParams(),f,o,d,u,this.state),j=t.default.Children.only(this.props.children);let P=t.default.cloneElement(j,{ref:this.elementRef,className:(0,y.default)("react-grid-item",j.props.className,this.props.className,{static:this.props.static,resizing:!!this.state.resizing,"react-draggable":p,"react-draggable-dragging":!!this.state.dragging,dropping:!!v,cssTransforms:g}),style:{...this.props.style,...j.props.style,...this.createStyle(h)}});return P=this.mixinResizable(P,h,x),P=this.mixinDraggable(P,p),P}};return Ve.default=q,C(q,"propTypes",{children:r.default.element,cols:r.default.number.isRequired,containerWidth:r.default.number.isRequired,rowHeight:r.default.number.isRequired,margin:r.default.array.isRequired,maxRows:r.default.number.isRequired,containerPadding:r.default.array.isRequired,x:r.default.number.isRequired,y:r.default.number.isRequired,w:r.default.number.isRequired,h:r.default.number.isRequired,minW:function(R,f){const o=R[f];if(typeof o!="number")return new Error("minWidth not Number");if(o>R.w||o>R.maxW)return new Error("minWidth larger than item width/maxWidth")},maxW:function(R,f){const o=R[f];if(typeof o!="number")return new Error("maxWidth not Number");if(o<R.w||o<R.minW)return new Error("maxWidth smaller than item width/minWidth")},minH:function(R,f){const o=R[f];if(typeof o!="number")return new Error("minHeight not Number");if(o>R.h||o>R.maxH)return new Error("minHeight larger than item height/maxHeight")},maxH:function(R,f){const o=R[f];if(typeof o!="number")return new Error("maxHeight not Number");if(o<R.h||o<R.minH)return new Error("maxHeight smaller than item height/minHeight")},i:r.default.string.isRequired,resizeHandles:c.resizeHandleAxesType,resizeHandle:c.resizeHandleType,onDragStop:r.default.func,onDragStart:r.default.func,onDrag:r.default.func,onResizeStop:r.default.func,onResizeStart:r.default.func,onResize:r.default.func,isDraggable:r.default.bool.isRequired,isResizable:r.default.bool.isRequired,isBounded:r.default.bool.isRequired,static:r.default.bool,useCSSTransforms:r.default.bool.isRequired,transformScale:r.default.number,className:r.default.string,handle:r.default.string,cancel:r.default.string,droppingPosition:r.default.shape({e:r.default.object.isRequired,left:r.default.number.isRequired,top:r.default.number.isRequired})}),C(q,"defaultProps",{className:"",cancel:"",handle:"",minH:1,minW:1,maxH:1/0,maxW:1/0,transformScale:1}),Ve}var Cs;function ql(){if(Cs)return Xe;Cs=1,Object.defineProperty(Xe,"__esModule",{value:!0}),Xe.default=void 0;var t=y(ge()),n=Aa(),r=c(At()),a=Ke(),i=Ta(),s=c(uc()),l=c(Dl());function c(f){return f&&f.__esModule?f:{default:f}}function y(f,o){if(typeof WeakMap=="function")var d=new WeakMap,u=new WeakMap;return(y=function(p,x){if(!x&&p&&p.__esModule)return p;var v,g,h={__proto__:null,default:p};if(p===null||typeof p!="object"&&typeof p!="function")return h;if(v=x?u:d){if(v.has(p))return v.get(p);v.set(p,h)}for(const j in p)j!=="default"&&{}.hasOwnProperty.call(p,j)&&((g=(v=Object.defineProperty)&&Object.getOwnPropertyDescriptor(p,j))&&(g.get||g.set)?v(h,j,g):h[j]=p[j]);return h})(f,o)}function m(f,o,d){return(o=C(o))in f?Object.defineProperty(f,o,{value:d,enumerable:!0,configurable:!0,writable:!0}):f[o]=d,f}function C(f){var o=b(f,"string");return typeof o=="symbol"?o:o+""}function b(f,o){if(typeof f!="object"||!f)return f;var d=f[Symbol.toPrimitive];if(d!==void 0){var u=d.call(f,o);if(typeof u!="object")return u;throw new TypeError("@@toPrimitive must return a primitive value.")}return(o==="string"?String:Number)(f)}const _="react-grid-layout";let q=!1;try{q=/firefox/i.test(navigator.userAgent)}catch{}let R=class extends t.Component{constructor(){super(...arguments),m(this,"state",{activeDrag:null,layout:(0,a.synchronizeLayoutWithChildren)(this.props.layout,this.props.children,this.props.cols,(0,a.compactType)(this.props),this.props.allowOverlap),mounted:!1,oldDragItem:null,oldLayout:null,oldResizeItem:null,resizing:!1,droppingDOMNode:null,children:[]}),m(this,"dragEnterCounter",0),m(this,"onDragStart",(o,d,u,p)=>{let{e:x,node:v}=p;const{layout:g}=this.state,h=(0,a.getLayoutItem)(g,o);if(!h)return;const j={w:h.w,h:h.h,x:h.x,y:h.y,placeholder:!0,i:o};return this.setState({oldDragItem:(0,a.cloneLayoutItem)(h),oldLayout:g,activeDrag:j}),this.props.onDragStart(g,h,h,null,x,v)}),m(this,"onDrag",(o,d,u,p)=>{let{e:x,node:v}=p;const{oldDragItem:g}=this.state;let{layout:h}=this.state;const{cols:j,allowOverlap:P,preventCollision:O}=this.props,D=(0,a.getLayoutItem)(h,o);if(!D)return;const M={w:D.w,h:D.h,x:D.x,y:D.y,placeholder:!0,i:o};h=(0,a.moveElement)(h,D,d,u,!0,O,(0,a.compactType)(this.props),j,P),this.props.onDrag(h,g,D,M,x,v),this.setState({layout:P?h:(0,a.compact)(h,(0,a.compactType)(this.props),j),activeDrag:M})}),m(this,"onDragStop",(o,d,u,p)=>{let{e:x,node:v}=p;if(!this.state.activeDrag)return;const{oldDragItem:g}=this.state;let{layout:h}=this.state;const{cols:j,preventCollision:P,allowOverlap:O}=this.props,D=(0,a.getLayoutItem)(h,o);if(!D)return;h=(0,a.moveElement)(h,D,d,u,!0,P,(0,a.compactType)(this.props),j,O);const T=O?h:(0,a.compact)(h,(0,a.compactType)(this.props),j);this.props.onDragStop(T,g,D,null,x,v);const{oldLayout:W}=this.state;this.setState({activeDrag:null,layout:T,oldDragItem:null,oldLayout:null}),this.onLayoutMaybeChanged(T,W)}),m(this,"onResizeStart",(o,d,u,p)=>{let{e:x,node:v}=p;const{layout:g}=this.state,h=(0,a.getLayoutItem)(g,o);h&&(this.setState({oldResizeItem:(0,a.cloneLayoutItem)(h),oldLayout:this.state.layout,resizing:!0}),this.props.onResizeStart(g,h,h,null,x,v))}),m(this,"onResize",(o,d,u,p)=>{let{e:x,node:v,size:g,handle:h}=p;const{oldResizeItem:j}=this.state,{layout:P}=this.state,{cols:O,preventCollision:D,allowOverlap:M}=this.props;let T=!1,W,H,k;const[Y,V]=(0,a.withLayoutItem)(P,o,Q=>{let te;return H=Q.x,k=Q.y,["sw","w","nw","n","ne"].indexOf(h)!==-1&&(["sw","nw","w"].indexOf(h)!==-1&&(H=Q.x+(Q.w-d),d=Q.x!==H&&H<0?Q.w:d,H=H<0?0:H),["ne","n","nw"].indexOf(h)!==-1&&(k=Q.y+(Q.h-u),u=Q.y!==k&&k<0?Q.h:u,k=k<0?0:k),T=!0),D&&!M&&(te=(0,a.getAllCollisions)(P,{...Q,w:d,h:u,x:H,y:k}).filter(ne=>ne.i!==Q.i).length>0,te&&(k=Q.y,u=Q.h,H=Q.x,d=Q.w,T=!1)),Q.w=d,Q.h=u,Q});if(!V)return;W=Y,T&&(W=(0,a.moveElement)(Y,V,H,k,!0,this.props.preventCollision,(0,a.compactType)(this.props),O,M));const ee={w:V.w,h:V.h,x:V.x,y:V.y,static:!0,i:o};this.props.onResize(W,j,V,ee,x,v),this.setState({layout:M?W:(0,a.compact)(W,(0,a.compactType)(this.props),O),activeDrag:ee})}),m(this,"onResizeStop",(o,d,u,p)=>{let{e:x,node:v}=p;const{layout:g,oldResizeItem:h}=this.state,{cols:j,allowOverlap:P}=this.props,O=(0,a.getLayoutItem)(g,o),D=P?g:(0,a.compact)(g,(0,a.compactType)(this.props),j);this.props.onResizeStop(D,h,O,null,x,v);const{oldLayout:M}=this.state;this.setState({activeDrag:null,layout:D,oldResizeItem:null,oldLayout:null,resizing:!1}),this.onLayoutMaybeChanged(D,M)}),m(this,"onDragOver",o=>{if(o.preventDefault(),o.stopPropagation(),q&&!o.nativeEvent.target?.classList.contains(_))return!1;const{droppingItem:d,onDropDragOver:u,margin:p,cols:x,rowHeight:v,maxRows:g,width:h,containerPadding:j,transformScale:P}=this.props,O=u?.(o);if(O===!1)return this.state.droppingDOMNode&&this.removeDroppingPlaceholder(),!1;const D={...d,...O},{layout:M}=this.state,T=o.currentTarget.getBoundingClientRect(),W=o.clientX-T.left,H=o.clientY-T.top,k={left:W/P,top:H/P,e:o};if(this.state.droppingDOMNode){if(this.state.droppingPosition){const{left:Y,top:V}=this.state.droppingPosition;(Y!=W||V!=H)&&this.setState({droppingPosition:k})}}else{const Y={cols:x,margin:p,maxRows:g,rowHeight:v,containerWidth:h,containerPadding:j||p},V=(0,i.calcXY)(Y,H,W,D.w,D.h);this.setState({droppingDOMNode:t.createElement("div",{key:D.i}),droppingPosition:k,layout:[...M,{...D,x:V.x,y:V.y,static:!1,isDraggable:!0}]})}}),m(this,"removeDroppingPlaceholder",()=>{const{droppingItem:o,cols:d}=this.props,{layout:u}=this.state,p=(0,a.compact)(u.filter(x=>x.i!==o.i),(0,a.compactType)(this.props),d,this.props.allowOverlap);this.setState({layout:p,droppingDOMNode:null,activeDrag:null,droppingPosition:void 0})}),m(this,"onDragLeave",o=>{o.preventDefault(),o.stopPropagation(),this.dragEnterCounter--,this.dragEnterCounter===0&&this.removeDroppingPlaceholder()}),m(this,"onDragEnter",o=>{o.preventDefault(),o.stopPropagation(),this.dragEnterCounter++}),m(this,"onDrop",o=>{o.preventDefault(),o.stopPropagation();const{droppingItem:d}=this.props,{layout:u}=this.state,p=u.find(x=>x.i===d.i);this.dragEnterCounter=0,this.removeDroppingPlaceholder(),this.props.onDrop(u,p,o)})}componentDidMount(){this.setState({mounted:!0}),this.onLayoutMaybeChanged(this.state.layout,this.props.layout)}static getDerivedStateFromProps(o,d){let u;return d.activeDrag?null:(!(0,n.deepEqual)(o.layout,d.propsLayout)||o.compactType!==d.compactType?u=o.layout:(0,a.childrenEqual)(o.children,d.children)||(u=d.layout),u?{layout:(0,a.synchronizeLayoutWithChildren)(u,o.children,o.cols,(0,a.compactType)(o),o.allowOverlap),compactType:o.compactType,children:o.children,propsLayout:o.layout}:null)}shouldComponentUpdate(o,d){return this.props.children!==o.children||!(0,a.fastRGLPropsEqual)(this.props,o,n.deepEqual)||this.state.activeDrag!==d.activeDrag||this.state.mounted!==d.mounted||this.state.droppingPosition!==d.droppingPosition}componentDidUpdate(o,d){if(!this.state.activeDrag){const u=this.state.layout,p=d.layout;this.onLayoutMaybeChanged(u,p)}}containerHeight(){if(!this.props.autoSize)return;const o=(0,a.bottom)(this.state.layout),d=this.props.containerPadding?this.props.containerPadding[1]:this.props.margin[1];return o*this.props.rowHeight+(o-1)*this.props.margin[1]+d*2+"px"}onLayoutMaybeChanged(o,d){d||(d=this.state.layout),(0,n.deepEqual)(d,o)||this.props.onLayoutChange(o)}placeholder(){const{activeDrag:o}=this.state;if(!o)return null;const{width:d,cols:u,margin:p,containerPadding:x,rowHeight:v,maxRows:g,useCSSTransforms:h,transformScale:j}=this.props;return t.createElement(s.default,{w:o.w,h:o.h,x:o.x,y:o.y,i:o.i,className:`react-grid-placeholder ${this.state.resizing?"placeholder-resizing":""}`,containerWidth:d,cols:u,margin:p,containerPadding:x||p,maxRows:g,rowHeight:v,isDraggable:!1,isResizable:!1,isBounded:!1,useCSSTransforms:h,transformScale:j},t.createElement("div",null))}processGridItem(o,d){if(!o||!o.key)return;const u=(0,a.getLayoutItem)(this.state.layout,String(o.key));if(!u)return null;const{width:p,cols:x,margin:v,containerPadding:g,rowHeight:h,maxRows:j,isDraggable:P,isResizable:O,isBounded:D,useCSSTransforms:M,transformScale:T,draggableCancel:W,draggableHandle:H,resizeHandles:k,resizeHandle:Y}=this.props,{mounted:V,droppingPosition:ee}=this.state,Q=typeof u.isDraggable=="boolean"?u.isDraggable:!u.static&&P,te=typeof u.isResizable=="boolean"?u.isResizable:!u.static&&O,ie=u.resizeHandles||k,ne=Q&&D&&u.isBounded!==!1;return t.createElement(s.default,{containerWidth:p,cols:x,margin:v,containerPadding:g||v,maxRows:j,rowHeight:h,cancel:W,handle:H,onDragStop:this.onDragStop,onDragStart:this.onDragStart,onDrag:this.onDrag,onResizeStart:this.onResizeStart,onResize:this.onResize,onResizeStop:this.onResizeStop,isDraggable:Q,isResizable:te,isBounded:ne,useCSSTransforms:M&&V,usePercentages:!V,transformScale:T,w:u.w,h:u.h,x:u.x,y:u.y,i:u.i,minH:u.minH,minW:u.minW,maxH:u.maxH,maxW:u.maxW,static:u.static,droppingPosition:d?ee:void 0,resizeHandles:ie,resizeHandle:Y},o)}render(){const{className:o,style:d,isDroppable:u,innerRef:p}=this.props,x=(0,r.default)(_,o),v={height:this.containerHeight(),...d};return t.createElement("div",{ref:p,className:x,style:v,onDrop:u?this.onDrop:a.noop,onDragLeave:u?this.onDragLeave:a.noop,onDragEnter:u?this.onDragEnter:a.noop,onDragOver:u?this.onDragOver:a.noop},t.Children.map(this.props.children,g=>this.processGridItem(g)),u&&this.state.droppingDOMNode&&this.processGridItem(this.state.droppingDOMNode,!0),this.placeholder())}};return Xe.default=R,m(R,"displayName","ReactGridLayout"),m(R,"propTypes",l.default),m(R,"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:a.noop,onDragStart:a.noop,onDrag:a.noop,onDragStop:a.noop,onResizeStart:a.noop,onResize:a.noop,onResizeStop:a.noop,onDrop:a.noop,onDropDragOver:a.noop}),Xe}var nt={},Le={},Ps;function Ol(){if(Ps)return Le;Ps=1,Object.defineProperty(Le,"__esModule",{value:!0}),Le.findOrGenerateResponsiveLayout=a,Le.getBreakpointFromWidth=n,Le.getColsFromBreakpoint=r,Le.sortBreakpoints=i;var t=Ke();function n(s,l){const c=i(s);let y=c[0];for(let m=1,C=c.length;m<C;m++){const b=c[m];l>s[b]&&(y=b)}return y}function r(s,l){if(!l[s])throw new Error("ResponsiveReactGridLayout: `cols` entry for breakpoint "+s+" is missing!");return l[s]}function a(s,l,c,y,m,C){if(s[c])return(0,t.cloneLayout)(s[c]);let b=s[y];const _=i(l),q=_.slice(_.indexOf(c));for(let R=0,f=q.length;R<f;R++){const o=q[R];if(s[o]){b=s[o];break}}return b=(0,t.cloneLayout)(b||[]),(0,t.compact)((0,t.correctBounds)(b,{cols:m}),C,m)}function i(s){return Object.keys(s).sort(function(c,y){return s[c]-s[y]})}return Le}var Ds;function cc(){if(Ds)return nt;Ds=1,Object.defineProperty(nt,"__esModule",{value:!0}),nt.default=void 0;var t=c(ge()),n=l(Ae()),r=Aa(),a=Ke(),i=Ol(),s=l(ql());function l(f){return f&&f.__esModule?f:{default:f}}function c(f,o){if(typeof WeakMap=="function")var d=new WeakMap,u=new WeakMap;return(c=function(p,x){if(!x&&p&&p.__esModule)return p;var v,g,h={__proto__:null,default:p};if(p===null||typeof p!="object"&&typeof p!="function")return h;if(v=x?u:d){if(v.has(p))return v.get(p);v.set(p,h)}for(const j in p)j!=="default"&&{}.hasOwnProperty.call(p,j)&&((g=(v=Object.defineProperty)&&Object.getOwnPropertyDescriptor(p,j))&&(g.get||g.set)?v(h,j,g):h[j]=p[j]);return h})(f,o)}function y(){return y=Object.assign?Object.assign.bind():function(f){for(var o=1;o<arguments.length;o++){var d=arguments[o];for(var u in d)({}).hasOwnProperty.call(d,u)&&(f[u]=d[u])}return f},y.apply(null,arguments)}function m(f,o,d){return(o=C(o))in f?Object.defineProperty(f,o,{value:d,enumerable:!0,configurable:!0,writable:!0}):f[o]=d,f}function C(f){var o=b(f,"string");return typeof o=="symbol"?o:o+""}function b(f,o){if(typeof f!="object"||!f)return f;var d=f[Symbol.toPrimitive];if(d!==void 0){var u=d.call(f,o);if(typeof u!="object")return u;throw new TypeError("@@toPrimitive must return a primitive value.")}return(o==="string"?String:Number)(f)}const _=f=>Object.prototype.toString.call(f);function q(f,o){return f==null?null:Array.isArray(f)?f:f[o]}let R=class extends t.Component{constructor(){super(...arguments),m(this,"state",this.generateInitialState()),m(this,"onLayoutChange",o=>{this.props.onLayoutChange(o,{...this.props.layouts,[this.state.breakpoint]:o})})}generateInitialState(){const{width:o,breakpoints:d,layouts:u,cols:p}=this.props,x=(0,i.getBreakpointFromWidth)(d,o),v=(0,i.getColsFromBreakpoint)(x,p),g=this.props.verticalCompact===!1?null:this.props.compactType;return{layout:(0,i.findOrGenerateResponsiveLayout)(u,d,x,x,v,g),breakpoint:x,cols:v}}static getDerivedStateFromProps(o,d){if(!(0,r.deepEqual)(o.layouts,d.layouts)){const{breakpoint:u,cols:p}=d;return{layout:(0,i.findOrGenerateResponsiveLayout)(o.layouts,o.breakpoints,u,u,p,o.compactType),layouts:o.layouts}}return null}componentDidUpdate(o){(this.props.width!=o.width||this.props.breakpoint!==o.breakpoint||!(0,r.deepEqual)(this.props.breakpoints,o.breakpoints)||!(0,r.deepEqual)(this.props.cols,o.cols))&&this.onWidthChange(o)}onWidthChange(o){const{breakpoints:d,cols:u,layouts:p,compactType:x}=this.props,v=this.props.breakpoint||(0,i.getBreakpointFromWidth)(this.props.breakpoints,this.props.width),g=this.state.breakpoint,h=(0,i.getColsFromBreakpoint)(v,u),j={...p};if(g!==v||o.breakpoints!==d||o.cols!==u){g in j||(j[g]=(0,a.cloneLayout)(this.state.layout));let D=(0,i.findOrGenerateResponsiveLayout)(j,d,v,g,h,x);D=(0,a.synchronizeLayoutWithChildren)(D,this.props.children,h,x,this.props.allowOverlap),j[v]=D,this.props.onBreakpointChange(v,h),this.props.onLayoutChange(D,j),this.setState({breakpoint:v,layout:D,cols:h})}const P=q(this.props.margin,v),O=q(this.props.containerPadding,v);this.props.onWidthChange(this.props.width,P,h,O)}render(){const{breakpoint:o,breakpoints:d,cols:u,layouts:p,margin:x,containerPadding:v,onBreakpointChange:g,onLayoutChange:h,onWidthChange:j,...P}=this.props;return t.createElement(s.default,y({},P,{margin:q(x,this.state.breakpoint),containerPadding:q(v,this.state.breakpoint),onLayoutChange:this.onLayoutChange,layout:this.state.layout,cols:this.state.cols}))}};return nt.default=R,m(R,"propTypes",{breakpoint:n.default.string,breakpoints:n.default.object,allowOverlap:n.default.bool,cols:n.default.object,margin:n.default.oneOfType([n.default.array,n.default.object]),containerPadding:n.default.oneOfType([n.default.array,n.default.object]),layouts(f,o){if(_(f[o])!=="[object Object]")throw new Error("Layout property must be an object. Received: "+_(f[o]));Object.keys(f[o]).forEach(d=>{if(!(d in f.breakpoints))throw new Error("Each key in layouts must align with a key in breakpoints.");(0,a.validateLayout)(f.layouts[d],"layouts."+d)})},width:n.default.number.isRequired,onBreakpointChange:n.default.func,onLayoutChange:n.default.func,onWidthChange:n.default.func}),m(R,"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:a.noop,onLayoutChange:a.noop,onWidthChange:a.noop}),nt}var gt={},Nl=(function(){if(typeof Map<"u")return Map;function t(n,r){var a=-1;return n.some(function(i,s){return i[0]===r?(a=s,!0):!1}),a}return(function(){function n(){this.__entries__=[]}return Object.defineProperty(n.prototype,"size",{get:function(){return this.__entries__.length},enumerable:!0,configurable:!0}),n.prototype.get=function(r){var a=t(this.__entries__,r),i=this.__entries__[a];return i&&i[1]},n.prototype.set=function(r,a){var i=t(this.__entries__,r);~i?this.__entries__[i][1]=a:this.__entries__.push([r,a])},n.prototype.delete=function(r){var a=this.__entries__,i=t(a,r);~i&&a.splice(i,1)},n.prototype.has=function(r){return!!~t(this.__entries__,r)},n.prototype.clear=function(){this.__entries__.splice(0)},n.prototype.forEach=function(r,a){a===void 0&&(a=null);for(var i=0,s=this.__entries__;i<s.length;i++){var l=s[i];r.call(a,l[1],l[0])}},n})()})(),Ra=typeof window<"u"&&typeof document<"u"&&window.document===document,Ct=(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")()})(),dc=(function(){return typeof requestAnimationFrame=="function"?requestAnimationFrame.bind(Ct):function(t){return setTimeout(function(){return t(Date.now())},1e3/60)}})(),hc=2;function fc(t,n){var r=!1,a=!1,i=0;function s(){r&&(r=!1,t()),a&&c()}function l(){dc(s)}function c(){var y=Date.now();if(r){if(y-i<hc)return;a=!0}else r=!0,a=!1,setTimeout(l,n);i=y}return c}var pc=20,mc=["top","right","bottom","left","width","height","size","weight"],gc=typeof MutationObserver<"u",vc=(function(){function t(){this.connected_=!1,this.mutationEventsAdded_=!1,this.mutationsObserver_=null,this.observers_=[],this.onTransitionEnd_=this.onTransitionEnd_.bind(this),this.refresh=fc(this.refresh.bind(this),pc)}return t.prototype.addObserver=function(n){~this.observers_.indexOf(n)||this.observers_.push(n),this.connected_||this.connect_()},t.prototype.removeObserver=function(n){var r=this.observers_,a=r.indexOf(n);~a&&r.splice(a,1),!r.length&&this.connected_&&this.disconnect_()},t.prototype.refresh=function(){var n=this.updateObservers_();n&&this.refresh()},t.prototype.updateObservers_=function(){var n=this.observers_.filter(function(r){return r.gatherActive(),r.hasActive()});return n.forEach(function(r){return r.broadcastActive()}),n.length>0},t.prototype.connect_=function(){!Ra||this.connected_||(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),gc?(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(){!Ra||!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(n){var r=n.propertyName,a=r===void 0?"":r,i=mc.some(function(s){return!!~a.indexOf(s)});i&&this.refresh()},t.getInstance=function(){return this.instance_||(this.instance_=new t),this.instance_},t.instance_=null,t})(),El=(function(t,n){for(var r=0,a=Object.keys(n);r<a.length;r++){var i=a[r];Object.defineProperty(t,i,{value:n[i],enumerable:!1,writable:!1,configurable:!0})}return t}),$e=(function(t){var n=t&&t.ownerDocument&&t.ownerDocument.defaultView;return n||Ct}),Ml=kt(0,0,0,0);function Pt(t){return parseFloat(t)||0}function qs(t){for(var n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];return n.reduce(function(a,i){var s=t["border-"+i+"-width"];return a+Pt(s)},0)}function yc(t){for(var n=["top","right","bottom","left"],r={},a=0,i=n;a<i.length;a++){var s=i[a],l=t["padding-"+s];r[s]=Pt(l)}return r}function xc(t){var n=t.getBBox();return kt(0,0,n.width,n.height)}function bc(t){var n=t.clientWidth,r=t.clientHeight;if(!n&&!r)return Ml;var a=$e(t).getComputedStyle(t),i=yc(a),s=i.left+i.right,l=i.top+i.bottom,c=Pt(a.width),y=Pt(a.height);if(a.boxSizing==="border-box"&&(Math.round(c+s)!==n&&(c-=qs(a,"left","right")+s),Math.round(y+l)!==r&&(y-=qs(a,"top","bottom")+l)),!jc(t)){var m=Math.round(c+s)-n,C=Math.round(y+l)-r;Math.abs(m)!==1&&(c-=m),Math.abs(C)!==1&&(y-=C)}return kt(i.left,i.top,c,y)}var _c=(function(){return typeof SVGGraphicsElement<"u"?function(t){return t instanceof $e(t).SVGGraphicsElement}:function(t){return t instanceof $e(t).SVGElement&&typeof t.getBBox=="function"}})();function jc(t){return t===$e(t).document.documentElement}function wc(t){return Ra?_c(t)?xc(t):bc(t):Ml}function Sc(t){var n=t.x,r=t.y,a=t.width,i=t.height,s=typeof DOMRectReadOnly<"u"?DOMRectReadOnly:Object,l=Object.create(s.prototype);return El(l,{x:n,y:r,width:a,height:i,top:r,right:n+a,bottom:i+r,left:n}),l}function kt(t,n,r,a){return{x:t,y:n,width:r,height:a}}var Rc=(function(){function t(n){this.broadcastWidth=0,this.broadcastHeight=0,this.contentRect_=kt(0,0,0,0),this.target=n}return t.prototype.isActive=function(){var n=wc(this.target);return this.contentRect_=n,n.width!==this.broadcastWidth||n.height!==this.broadcastHeight},t.prototype.broadcastRect=function(){var n=this.contentRect_;return this.broadcastWidth=n.width,this.broadcastHeight=n.height,n},t})(),Cc=(function(){function t(n,r){var a=Sc(r);El(this,{target:n,contentRect:a})}return t})(),Pc=(function(){function t(n,r,a){if(this.activeObservations_=[],this.observations_=new Nl,typeof n!="function")throw new TypeError("The callback provided as parameter 1 is not a function.");this.callback_=n,this.controller_=r,this.callbackCtx_=a}return t.prototype.observe=function(n){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if(!(typeof Element>"u"||!(Element instanceof Object))){if(!(n instanceof $e(n).Element))throw new TypeError('parameter 1 is not of type "Element".');var r=this.observations_;r.has(n)||(r.set(n,new Rc(n)),this.controller_.addObserver(this),this.controller_.refresh())}},t.prototype.unobserve=function(n){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if(!(typeof Element>"u"||!(Element instanceof Object))){if(!(n instanceof $e(n).Element))throw new TypeError('parameter 1 is not of type "Element".');var r=this.observations_;r.has(n)&&(r.delete(n),r.size||this.controller_.removeObserver(this))}},t.prototype.disconnect=function(){this.clearActive(),this.observations_.clear(),this.controller_.removeObserver(this)},t.prototype.gatherActive=function(){var n=this;this.clearActive(),this.observations_.forEach(function(r){r.isActive()&&n.activeObservations_.push(r)})},t.prototype.broadcastActive=function(){if(this.hasActive()){var n=this.callbackCtx_,r=this.activeObservations_.map(function(a){return new Cc(a.target,a.broadcastRect())});this.callback_.call(n,r,n),this.clearActive()}},t.prototype.clearActive=function(){this.activeObservations_.splice(0)},t.prototype.hasActive=function(){return this.activeObservations_.length>0},t})(),Al=typeof WeakMap<"u"?new WeakMap:new Nl,Tl=(function(){function t(n){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 r=vc.getInstance(),a=new Pc(n,r,this);Al.set(this,a)}return t})();["observe","unobserve","disconnect"].forEach(function(t){Tl.prototype[t]=function(){var n;return(n=Al.get(this))[t].apply(n,arguments)}});var Dc=(function(){return typeof Ct.ResizeObserver<"u"?Ct.ResizeObserver:Tl})();const qc=Object.freeze(Object.defineProperty({__proto__:null,default:Dc},Symbol.toStringTag,{value:"Module"})),Oc=Bu(qc);var Os;function Nc(){if(Os)return gt;Os=1,Object.defineProperty(gt,"__esModule",{value:!0}),gt.default=b;var t=s(ge()),n=i(Ae()),r=i(Oc),a=i(At());function i(_){return _&&_.__esModule?_:{default:_}}function s(_,q){if(typeof WeakMap=="function")var R=new WeakMap,f=new WeakMap;return(s=function(o,d){if(!d&&o&&o.__esModule)return o;var u,p,x={__proto__:null,default:o};if(o===null||typeof o!="object"&&typeof o!="function")return x;if(u=d?f:R){if(u.has(o))return u.get(o);u.set(o,x)}for(const v in o)v!=="default"&&{}.hasOwnProperty.call(o,v)&&((p=(u=Object.defineProperty)&&Object.getOwnPropertyDescriptor(o,v))&&(p.get||p.set)?u(x,v,p):x[v]=o[v]);return x})(_,q)}function l(){return l=Object.assign?Object.assign.bind():function(_){for(var q=1;q<arguments.length;q++){var R=arguments[q];for(var f in R)({}).hasOwnProperty.call(R,f)&&(_[f]=R[f])}return _},l.apply(null,arguments)}function c(_,q,R){return(q=y(q))in _?Object.defineProperty(_,q,{value:R,enumerable:!0,configurable:!0,writable:!0}):_[q]=R,_}function y(_){var q=m(_,"string");return typeof q=="symbol"?q:q+""}function m(_,q){if(typeof _!="object"||!_)return _;var R=_[Symbol.toPrimitive];if(R!==void 0){var f=R.call(_,q);if(typeof f!="object")return f;throw new TypeError("@@toPrimitive must return a primitive value.")}return(q==="string"?String:Number)(_)}const C="react-grid-layout";function b(_){var q;return q=class extends t.Component{constructor(){super(...arguments),c(this,"state",{width:1280}),c(this,"elementRef",t.createRef()),c(this,"mounted",!1),c(this,"resizeObserver",void 0)}componentDidMount(){this.mounted=!0,this.resizeObserver=new r.default(o=>{if(this.elementRef.current instanceof HTMLElement){const u=o[0].contentRect.width;this.setState({width:u})}});const f=this.elementRef.current;f instanceof HTMLElement&&this.resizeObserver.observe(f)}componentWillUnmount(){this.mounted=!1;const f=this.elementRef.current;f instanceof HTMLElement&&this.resizeObserver.unobserve(f),this.resizeObserver.disconnect()}render(){const{measureBeforeMount:f,...o}=this.props;return f&&!this.mounted?t.createElement("div",{className:(0,a.default)(this.props.className,C),style:this.props.style,ref:this.elementRef}):t.createElement(_,l({innerRef:this.elementRef},o,this.state))}},c(q,"defaultProps",{measureBeforeMount:!1}),c(q,"propTypes",{measureBeforeMount:n.default.bool}),q}return gt}var Ns;function Ec(){return Ns||(Ns=1,(function(t){t.exports=ql().default,t.exports.utils=Ke(),t.exports.calculateUtils=Ta(),t.exports.Responsive=cc().default,t.exports.Responsive.utils=Ol(),t.exports.WidthProvider=Nc().default})($t)),$t.exports}var Mc=Ec();const Ac=Ea(Mc),Tc=()=>{const[t,n]=A.useState([]),[r,a]=A.useState(""),i=A.useRef(null),s=X.chat.send.useMutation(),l=()=>{i.current&&(i.current.scrollTop=i.current.scrollHeight)},{data:c}=X.chat.recent.useQuery();A.useEffect(()=>{c&&n(c.slice().reverse())},[c]),X.chat.onMessage.useSubscription(void 0,{onData:m=>{n(C=>{const b=[...C,m];return b.length>50?b.slice(b.length-50):b})}}),A.useLayoutEffect(()=>{l()},[t]);const y=m=>{m.preventDefault(),!(r.length>140||r.length===0)&&(s.mutate(r),a(""))};return e.jsxs("div",{className:"chat-widget",children:[e.jsx(_e,{className:"messages",ref:i,children:e.jsx("div",{className:"messages-child",children:t.map(m=>e.jsxs("div",{className:"log-entry",children:[m.action==="msg"&&e.jsxs("div",{className:"chat-message",children:[m.user?.web?"[":"",e.jsx(Gt,{color:!0,user:m.user}),m.user?.web?"]":"",":"," ",e.jsx(Ka,{as:"span",children:m.message})]}),m.action==="leave"&&e.jsxs("div",{className:"join-message",children:[e.jsx(Gt,{user:m.user})," left the game."]}),m.action==="join"&&e.jsxs("div",{className:"join-message",children:[e.jsx(Gt,{user:m.user})," joined the game",m.user?.isFirst?" for the first time":"","."]}),m.action==="server"&&e.jsx(Ka,{as:"div",className:"server-message",children:m.message})]},m._id))})}),e.jsx("form",{onSubmit:y,children:e.jsxs(Ie,{children:[e.jsx(se,{roboto:!0,type:"text",placeholder:"Message",value:r,onChange:m=>a(m)}),e.jsx(U,{normal:!0,icon:!0,style:{marginLeft:"10px"},onClick:y,children:e.jsx(vu,{})})]})})]})},kc=()=>{const[t,n]=A.useState(null),{data:r}=X.server.status.useQuery();return A.useEffect(()=>{r&&!t&&n(r)},[r]),X.server.onHeartbeat.useSubscription(void 0,{onData:n}),e.jsxs("div",{className:"status-widget",children:[t?.players&&e.jsx(_e,{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:"})," ",de(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(a=>e.jsxs("tr",{children:[e.jsx("td",{children:e.jsx(lt,{className:"user",to:"/players/"+a.id,children:a.name})}),e.jsx("td",{style:{textAlign:"right"},children:de(a.time)}),e.jsx("td",{style:{textAlign:"right"},children:a.ping})]},a.address+a.id))})]})]})}),!t?.players&&e.jsx(fe,{blur:!0,size:"huge",children:"Loading Status"})]})},Es=30;function vt(t){return t<1024?`${t} B`:t<1024**2?`${(t/1024).toFixed(1)} KB`:t<1024**3?`${(t/1024**2).toFixed(1)} MB`:`${(t/1024**3).toFixed(1)} GB`}function Ms(t){return t<1024?`${Math.round(t)} B/s`:t<1024**2?`${(t/1024).toFixed(1)} KB/s`:`${(t/1024**2).toFixed(1)} MB/s`}function Jt(t){return t.length>=Es?t:[...new Array(Es-t.length).fill(t[0]??0),...t]}const Zt=({value:t,color:n})=>{const a=Math.PI*2*36,i=Math.max(0,Math.min(100,t));return e.jsxs("svg",{viewBox:"0 0 100 100",className:"donut-svg",children:[e.jsx("circle",{cx:"50",cy:"50",r:36,fill:"none",stroke:"rgba(255,255,255,0.06)",strokeWidth:"8"}),e.jsx("circle",{cx:"50",cy:"50",r:36,fill:"none",stroke:n,strokeWidth:"8",strokeDasharray:`${i/100*a} ${a}`,strokeLinecap:"round",transform:"rotate(-90 50 50)",style:{transition:"stroke-dasharray 0.5s ease"}}),e.jsx("text",{x:"50",y:"50",textAnchor:"middle",dominantBaseline:"central",className:"donut-pct",children:Math.round(i)===100?"100":`${Math.round(i)}%`})]})},er=({data:t,color:n,height:r=32,width:a=120})=>{if(t.length<2)return null;const i=Math.max(...t,1),s=a/(t.length-1),l=t.map((y,m)=>`${m*s},${r-y/i*(r-2)-1}`).join(" "),c=`0,${r} ${l} ${a},${r}`;return e.jsxs("svg",{viewBox:`0 0 ${a} ${r}`,className:"sparkline",preserveAspectRatio:"none",children:[e.jsx("polygon",{points:c,fill:n,fillOpacity:"0.12"}),e.jsx("polyline",{points:l,fill:"none",stroke:n,strokeWidth:"1.5",strokeLinejoin:"round",vectorEffect:"non-scaling-stroke"})]})},zc=()=>{const[t,n]=A.useState(null),r=A.useRef([]),a=A.useRef([]),i=A.useRef([]),[,s]=A.useState(0),l=A.useCallback(q=>{n(q),r.current=[...r.current.slice(-29),q.cpu],a.current=[...a.current.slice(-29),q.net.rxSec],i.current=[...i.current.slice(-29),q.net.txSec],s(R=>R+1)},[]),{data:c}=X.server.utilization.useQuery();if(A.useEffect(()=>{if(!c)return;const q=c.history;q.length>0&&(r.current=q.map(R=>R.cpu),a.current=q.map(R=>R.net.rxSec),i.current=q.map(R=>R.net.txSec)),c.current&&!t&&n(c.current),s(R=>R+1)},[c]),X.server.onUtilization.useSubscription(void 0,{onData:l}),!t)return e.jsx("div",{className:"utilization-widget",children:e.jsx(fe,{blur:!0,size:"huge",children:"Waiting for metrics..."})});const y=t.cpu>80?"#e02d2d":t.cpu>50?"#ffa10b":"#5da93d",m=t.mem.used/t.mem.total*100,C=m>80?"#e02d2d":m>50?"#ffa10b":"#009bee",b=t.disk.used/t.disk.total*100,_=b>90?"#e02d2d":b>70?"#ffa10b":"#009bee";return e.jsxs("div",{className:"utilization-widget",children:[e.jsxs("div",{className:"util-donuts",children:[e.jsxs("div",{className:"donut-row",children:[e.jsx(Zt,{value:t.cpu,color:y}),e.jsx("div",{className:"donut-detail",children:e.jsx("b",{children:"CPU"})})]}),e.jsxs("div",{className:"donut-row",children:[e.jsx(Zt,{value:m,color:C}),e.jsxs("div",{className:"donut-detail",children:[e.jsx("b",{children:"MEMORY"}),e.jsxs("div",{className:"donut-detail-line",children:[e.jsx("span",{children:vt(t.mem.used)}),e.jsxs("span",{className:"donut-detail-sub",children:["/ ",vt(t.mem.total)]})]})]})]}),e.jsxs("div",{className:"donut-row",children:[e.jsx(Zt,{value:b,color:_}),e.jsxs("div",{className:"donut-detail",children:[e.jsx("b",{children:"STORAGE"}),e.jsxs("div",{className:"donut-detail-line",children:[e.jsx("span",{children:vt(t.disk.used)}),e.jsxs("span",{className:"donut-detail-sub",children:["/ ",vt(t.disk.total)]})]})]})]})]}),e.jsxs("div",{className:"util-sparklines",children:[e.jsxs("div",{className:"spark-row",children:[e.jsxs("span",{className:"spark-label",children:[e.jsx(yu,{size:14}),"CPU"]}),e.jsx(er,{data:Jt(r.current),color:y}),e.jsxs("span",{className:"spark-value",children:[t.cpu,"%"]})]}),e.jsxs("div",{className:"spark-row",children:[e.jsxs("span",{className:"spark-label",children:[e.jsx(xu,{size:14}),"RX"]}),e.jsx(er,{data:Jt(a.current),color:"#009bee"}),e.jsx("span",{className:"spark-value",children:Ms(t.net.rxSec)})]}),e.jsxs("div",{className:"spark-row",children:[e.jsxs("span",{className:"spark-label",children:[e.jsx(bu,{size:14}),"TX"]}),e.jsx(er,{data:Jt(i.current),color:"#5da93d"}),e.jsx("span",{className:"spark-value",children:Ms(t.net.txSec)})]})]})]})},tr={chat:{component:Tc,icon:wu,tooltip:"Chat with online players"},status:{component:kc,icon:Fu,tooltip:"View current online players and server status"},utilization:{component:zc,icon:ju,tooltip:"View CPU, memory, disk, and network usage"}},As=[{x:0,y:0,w:4,h:4,i:"chat"},{x:4,y:0,w:4,h:4,i:"status"}],Lc={minW:2,maxW:10,minH:2,maxH:10},Ic=[8,8],Hc=()=>{const[t,n]=A.useState(()=>{if(localStorage.omeggaDashLayout2)try{return JSON.parse(localStorage.omeggaDashLayout2)}catch(b){return console.error("Invalid layout in localStorage, using default layout",b),As}return As});A.useEffect(()=>{localStorage.omeggaDashLayout2=JSON.stringify(t)},[t]);const r=b=>{n(t.filter(_=>_.i!==b))},a=b=>{b in tr&&n([...t,{x:0,y:0,w:4,h:4,i:b}])},[i,s]=A.useState(!1),l=Object.fromEntries(t.map(b=>[b.i,!0])),c=A.useCallback(b=>{n(b)},[]),y=A.useRef(null),[m,C]=A.useState(null);return A.useEffect(()=>{y.current&&C(y.current.clientWidth);const b=new ResizeObserver(_=>{for(const q of _)q.target===y.current&&C(q.contentRect.width)});return y.current&&b.observe(y.current),()=>{b.disconnect()}},[y.current]),e.jsxs(e.Fragment,{children:[e.jsx(qe,{title:"Dashboard",children:e.jsxs("div",{className:"widgets-container",children:[e.jsxs(U,{normal:!0,boxy:!0,"data-tooltip":"Add more widgets to the dashboard",onClick:()=>s(!i),children:[e.jsx(_u,{}),"Widgets"]}),e.jsx("div",{className:"widgets-list",style:{display:i?"block":"none"},children:Object.entries(tr).map(([b,_])=>e.jsxs("div",{className:"widget-item",children:[e.jsxs("div",{className:"name","data-tooltip":_.tooltip,children:[e.jsx(_.icon,{}),b]}),l[b]?e.jsx(U,{warn:!0,icon:!0,"data-tooltip":`Remove ${b} widget`,onClick:()=>r(b),children:e.jsx(bl,{})}):e.jsx(U,{main:!0,icon:!0,"data-tooltip":`Add ${b} widget`,onClick:()=>a(b),children:e.jsx(wt,{})})]},b))})]})}),e.jsxs(Oe,{children:[e.jsx(Ne,{}),e.jsx("div",{className:"grid-container",ref:y,children:m!==null&&e.jsx(Ac,{layout:t.map(b=>({...b,...Lc})),width:m,cols:10,autoSize:!0,useCSSTransforms:!0,rowHeight:100,isBounded:!0,isResizable:!0,isDraggable:!0,margin:Ic,onLayoutChange:c,draggableHandle:".drag-handle",draggableCancel:".no-drag",resizeHandles:["se"],resizeHandle:e.jsx(Su,{style:{cursor:"se-resize"},className:"resize-handle"}),children:t.map(b=>{const _=tr[b.i].component;return e.jsxs("div",{className:"grid-item",children:[e.jsxs(Oa,{className:"drag-handle",children:[e.jsx("span",{style:{flex:1},children:b.i}),e.jsx(U,{icon:!0,error:!0,className:"no-drag","data-tooltip":"Close widget",onClick:()=>r(b.i),children:e.jsx(ut,{})})]}),e.jsx("div",{className:"drag-contents",children:e.jsx(_,{})})]},b.i)})})})]})]})},Ts={"Minute(s)":1,"Hour(s)":60,"Day(s)":1440,"Week(s)":1440*7,"Month(s)":1440*30},Wc=["Permanent","Minute(s)","Hour(s)","Day(s)","Week(s)","Month(s)"],Bc=()=>{const[t,n]=Ee("/players/:id"),[r,a]=Dt(),[i,s]=A.useState(null),[l,c]=A.useState(!1),[y,m]=A.useState(""),[C,b]=A.useState(10),[_,q]=A.useState("Permanent"),[R,f]=A.useState(!1),{data:o,isLoading:d,refetch:u}=X.player.get.useQuery(n?.id??"",{enabled:!!n?.id});A.useEffect(()=>{!d&&!o&&n?.id&&a("/players")},[d,o,n?.id]);const p=X.player.ban.useMutation(),x=X.player.kick.useMutation(),v=X.player.unban.useMutation(),g=X.player.clearBricks.useMutation(),h=async()=>{if(!o.id)return;f(!0);const M=_==="Permanent"?-1:C*Ts[_];try{await p.mutateAsync({id:o.id,duration:M,reason:y})}catch(T){console.error("Failed to ban player:",T)}s(null),u(),f(!1)},j=async()=>{if(o.id){f(!0);try{await x.mutateAsync({id:o.id,reason:y})}catch(M){console.error("Failed to kick player:",M)}s(null),u(),f(!1)}},P=async()=>{if(o.id){f(!0);try{await v.mutateAsync({id:o.id})}catch(M){console.error("Failed to unban player:",M)}u(),f(!1)}},O=async()=>{if(o.id){f(!0);try{await g.mutateAsync({id:o.id})}catch(M){console.error("Failed to clear bricks:",M)}f(!1),s(null)}},D=A.useMemo(()=>_==="Permanent"?"Never":du(Date.now()+Ts[_]*60*1e3*C),[_,C]);return e.jsxs("div",{className:"player-inspector-container",children:[e.jsxs(be,{attached:!0,children:[o?.name||"SELECT A PLAYER",e.jsx("span",{style:{flex:1}}),o&&e.jsxs("div",{className:"widgets-container",children:[e.jsxs(U,{normal:!0,boxy:!0,onClick:()=>c(!l),children:[l?e.jsx(hl,{}):e.jsx(_l,{}),"User Actions"]}),e.jsxs("div",{className:"widgets-list",style:{display:l?"block":"none"},children:[e.jsxs(U,{boxy:!0,warn:!0,disabled:R,onClick:()=>{s("clear"),c(!1)},children:[e.jsx(Va,{}),"Clear Bricks"]}),!o.isHost&&o.isOnline&&e.jsxs(U,{boxy:!0,error:!0,disabled:R,onClick:()=>{s("kick"),c(!1)},children:[e.jsx(Za,{}),"Kick"]}),o.currentBan&&e.jsxs(U,{boxy:!0,warn:!0,disabled:R,onClick:()=>{P(),c(!1)},children:[e.jsx(Ru,{}),"Unban"]}),!o.isHost&&e.jsxs(U,{boxy:!0,error:!0,disabled:R,onClick:()=>{s("ban"),c(!1)},children:[e.jsx(bt,{}),"Ban"]})]})]})]}),e.jsx("div",{className:"player-inspector",children:e.jsxs("div",{className:"player-view",children:[e.jsx(fe,{active:d,size:"huge",children:"Loading Player"}),e.jsx("div",{className:"player-info",children:!d&&o&&e.jsxs(_e,{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/"+o.id,target:"_blank",children:o.name})]}),e.jsxs("div",{className:"stat",children:[e.jsx("b",{children:"Display Name:"})," ",o.displayName??"unknown"]}),e.jsxs("div",{className:"stat",children:[e.jsx("b",{children:"Host:"})," ",o.isHost?"Yes":"No"]}),e.jsxs("div",{className:"stat",children:[e.jsx("b",{children:"Banned:"})," ",o.currentBan&&o.currentBan.duration<=0?e.jsx("span",{children:"Permanent"}):o.currentBan?e.jsxs("span",{children:[de(o.currentBan.remainingTime)," of"," ",de(o.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:"})," ",cl(o.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(o.lastSeen),children:[de(o.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(o.created),children:[de(o.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:"})," ",o.sessions]}),e.jsxs("div",{className:"stat",children:[e.jsx("b",{"data-tooltip":"Number of server instances this player has joined",children:"Server Visits:"})," ",o.instances]}),e.jsxs("div",{className:"stat",children:[e.jsx("b",{children:"Bans:"})," ",o.banHistory.length]})]}),e.jsx("div",{className:"section-header","data-tooltip":"Roles this player has",children:"Roles"}),e.jsxs("div",{className:"option-list",children:[o.roles.map(M=>e.jsx("div",{className:"option-item",children:e.jsx("div",{className:"option-name",style:{color:"#"+M.color},children:M.name})},M.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:o.nameHistory.map(M=>e.jsxs("tr",{children:[e.jsxs("td",{children:[e.jsx("div",{"data-tooltip":M.displayName?"Display Name":"Username",children:M.displayName??M.name}),M.displayName&&e.jsx("div",{"data-tooltip":"Username",className:"username",children:M.name})]}),e.jsx("td",{style:{textAlign:"right"},"data-tooltip":new Date(M.date),children:de(M.ago)})]},M.date+M.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:[o.banHistory.length===0&&e.jsx("tr",{children:e.jsx("td",{colSpan:4,children:e.jsx("i",{children:"None"})})}),o.banHistory.map(M=>e.jsxs("tr",{children:[e.jsx("td",{className:"reason",children:M.reason}),e.jsx("td",{style:{textAlign:"right"},"data-tooltip":"Expires "+new Date(M.expires),children:0>=(M.duration??-1)?"Permanent":de(M.duration)}),e.jsx("td",{children:e.jsx(lt,{to:"/players/"+M.bannerId,children:M.bannerName||"missing name"})}),e.jsx("td",{style:{textAlign:"right"},"data-tooltip":new Date(M.created),children:Xa(M.created)})]},M.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:[o.kickHistory.length===0&&e.jsx("tr",{children:e.jsx("td",{colSpan:4,children:e.jsx("i",{children:"None"})})}),o.kickHistory.map(M=>e.jsxs("tr",{children:[e.jsx("td",{className:"reason",children:M.reason}),e.jsx("td",{children:e.jsx(lt,{to:"/players/"+M.kickerId,children:M.kickerName||"missing name"})}),e.jsx("td",{style:{textAlign:"right"},"data-tooltip":new Date(M.created),children:Xa(M.created)})]},M.created))]})]})]})})]})}),e.jsxs(Na,{visible:!!i,children:[e.jsx(fe,{active:R,size:"huge",children:"Running Action..."}),e.jsxs(dl,{visible:!R,children:[e.jsx(Oa,{children:i==="ban"?"Ban Player":i==="kick"?"Kick Player":"Clear Bricks"}),(i==="kick"||i==="ban")&&e.jsxs("div",{className:`popout-inputs ${i}`,children:[e.jsx(se,{type:"text",placeholder:"Reason",value:y,onChange:m}),i==="ban"&&e.jsxs("div",{className:"ban-duration",style:{display:"flex"},children:[_!=="Permanent"&&e.jsx(se,{placeholder:"Duration",type:"number",value:C,onChange:b}),e.jsx(Pa,{options:Wc,value:_,onChange:M=>q(M)})]})]}),i==="ban"&&e.jsxs(Sa,{children:["This ban will expire"," ",e.jsx("span",{style:{color:"white"},children:D}),"."]}),i==="clear"&&e.jsx(Sa,{children:e.jsxs("p",{style:{padding:20},children:["Are you sure you want to clear"," ",e.jsx("span",{style:{color:"white"},children:o?.name??"??"}),"'s bricks?"]})}),e.jsxs(Ie,{attached:!0,children:[i==="ban"&&e.jsxs(U,{error:!0,onClick:h,children:[e.jsx(bt,{}),"Ban"]}),i==="clear"&&e.jsxs(U,{warn:!0,onClick:O,children:[e.jsx(Va,{}),"Clear Bricks"]}),i==="kick"&&e.jsxs(U,{error:!0,onClick:j,children:[e.jsx(Za,{}),"Kick"]}),e.jsx("div",{style:{flex:1}}),e.jsxs(U,{normal:!0,onClick:()=>s(null),children:[e.jsx(ut,{}),"Cancel"]})]})]})]})]})},Fc=()=>{const[t,n]=A.useState(!1),[r,a]=Dt(),[i,s]=Ee("/players/:id?"),l=A.useRef({page:0,search:"",sort:"lastSeen",direction:-1,filterBanned:!1}),{page:c,search:y,sort:m,direction:C,filterBanned:b}=l.current,[_,q]=A.useState({page:l.current.page,search:l.current.search,sort:l.current.sort,direction:l.current.direction,filter:""}),R=()=>{q({page:l.current.page,search:l.current.search,sort:l.current.sort,direction:l.current.direction,filter:l.current.filterBanned?"banned":""})},[f,o]=A.useState(0),d=T=>{l.current.search=T,D(),o(W=>W+1)},u=T=>{typeof T=="function"&&(T=T(l.current.page)),l.current.page=T,R()},p=T=>{typeof T=="function"&&(T=T(l.current.direction)),l.current.direction=T},x=T=>{l.current.filterBanned=T,D()},{data:v,isLoading:g,refetch:h}=X.player.list.useQuery(_,{placeholderData:T=>T}),j=v?.players??[],P=v?.total??0,O=v?.pages??0,D=A.useMemo(()=>Da(()=>{l.current.page=0,R()},500),[]),M=T=>{T==m?p(W=>W*-1):(l.current.sort=T,p(T==="name"?1:-1)),R()};return e.jsxs(e.Fragment,{children:[e.jsx(qe,{title:"Players",className:"players-view",children:e.jsxs("div",{className:"widgets-container",children:[e.jsxs(U,{normal:!0,boxy:!0,"data-tooltip":"Player list filters",onClick:()=>n(T=>!T),children:[e.jsx(Cu,{}),"Filters"]}),e.jsx("div",{className:"widgets-list",style:{display:t?"block":"none"},children:e.jsxs("div",{className:"widget-item","data-tooltip":"Filter by banned players",children:[e.jsxs("div",{className:"name",children:[e.jsx(bt,{}),"Banned"]}),e.jsx(ye,{onChange:x,value:b})]})})]})}),e.jsxs(Oe,{children:[e.jsx(Ne,{}),e.jsxs("div",{className:"generic-container players-container",children:[e.jsxs("div",{className:"player-table-container",children:[e.jsxs(be,{attached:!0,children:[e.jsx(se,{type:"text",placeholder:"Search Players...",value:y,onChange:d}),e.jsx("span",{style:{flex:1}}),e.jsx(U,{icon:!0,normal:!0,"data-tooltip":"Refresh player list",onClick:()=>h(),children:e.jsx(Mt,{})})]}),e.jsxs("div",{className:"players-list",children:[e.jsx(_e,{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:()=>M("name"),children:e.jsxs("span",{children:["Name",e.jsx(ue,{name:"name",sort:m,direction:C})]})}),e.jsx("th",{onClick:()=>M("heartbeats"),"data-tooltip":"Number of heartbeats the player has been part of (minutely)",children:e.jsxs("span",{children:["Played",e.jsx(ue,{name:"heartbeats",sort:m,direction:C})]})}),e.jsx("th",{onClick:()=>M("lastSeen"),"data-tooltip":"When the player was last seen",children:e.jsxs("span",{children:["Seen",e.jsx(ue,{name:"lastSeen",sort:m,direction:C})]})}),e.jsx("th",{onClick:()=>M("created"),"data-tooltip":"When the player joined",children:e.jsxs("span",{children:["Joined",e.jsx(ue,{name:"created",sort:m,direction:C})]})}),e.jsx("th",{onClick:()=>M("sessions"),"data-tooltip":"Number of Visits",children:e.jsxs("span",{className:"icon-cell",children:[e.jsx(Pu,{className:"label",size:"30"}),e.jsx(ue,{name:"sessions",sort:m,direction:C})]})})]})}),e.jsx("tbody",{children:j.map(T=>e.jsxs("tr",{onClick:()=>a(`/players/${T.id}`),className:T.id===s?.id?"active":"",children:[e.jsx("td",{className:`player-name ${T.ban?"ban":""}`,children:e.jsxs("div",{className:"player-name-container",children:[e.jsxs("div",{children:[e.jsx("div",{"data-tooltip":T.displayName?"Display Name":"Username",children:T.displayName??T.name}),T.displayName&&e.jsx("div",{className:"username","data-tooltip":"Username",children:T.name})]}),T.ban&&e.jsx(bt,{size:"18"})]})}),e.jsx("td",{style:{textAlign:"right"},children:cl(T.heartbeats)}),e.jsx("td",{style:{textAlign:"right"},"data-tooltip":new Date(T.lastSeen),children:de(T.seenAgo)}),e.jsx("td",{style:{textAlign:"right"},"data-tooltip":new Date(T.created),children:de(T.createdAgo)}),e.jsx("td",{style:{textAlign:"right"},children:T.sessions})]},T.id))})]})}),e.jsxs(Ie,{className:"pagination-footer",children:[e.jsx(U,{icon:!0,normal:!0,disabled:c===0,onClick:()=>{u(0)},children:e.jsx(fl,{})}),e.jsx(U,{icon:!0,normal:!0,disabled:c===0,onClick:()=>u(T=>Math.max(0,T-1)),children:e.jsx(xt,{})}),e.jsxs("div",{className:"current-page",children:[e.jsxs("div",{children:["Page ",c+1," of ",O]}),e.jsxs("div",{children:["Showing ",j.length," of ",P]})]}),e.jsx(U,{icon:!0,normal:!0,disabled:c>=O-1,onClick:()=>u(T=>Math.min(j.length-1,T+1)),children:e.jsx(jt,{})}),e.jsx(U,{icon:!0,normal:!0,disabled:c>=O-1,onClick:()=>u(j.length-1),children:e.jsx(pl,{})})]}),e.jsx(fe,{active:g,size:"huge",children:"Loading Players"})]})]}),e.jsxs(ul,{children:[e.jsx(xe,{path:"/players/:id",component:Bc}),e.jsx(xe,{children:e.jsxs("div",{className:"player-inspector-container","v-if":"!$route.params.id",children:[e.jsx(be,{attached:!0,children:"SELECT A PLAYER"}),e.jsx("div",{className:"player-inspector"})]})})]})]})]})]})},Uc=(t,n)=>{try{return JSON.stringify(t)===JSON.stringify(n)}catch{return!1}},Gc=()=>{const[t,n]=Ee("/plugins/:id"),[r,a]=A.useState(null),[i,s]=A.useState({}),[l,c]=A.useState(!!r?.path),[y,m]=A.useState(!1),[C,b]=A.useState({}),_=X.plugin.get.useQuery({shortPath:n?.id??""},{enabled:!!n?.id});A.useEffect(()=>{_.data?(a(_.data),s(_.data.config),c(!1)):_.isError&&c(!1)},[_.data,_.isError]);const q=X.plugin.load.useMutation(),R=X.plugin.unload.useMutation(),f=X.plugin.toggle.useMutation(),o=X.plugin.config.useMutation(),d=async()=>{n?.id&&(m(!0),await q.mutateAsync({shortPath:n.id}),await _.refetch(),m(!1))},u=async()=>{n?.id&&(m(!0),await R.mutateAsync({shortPath:n.id}),await _.refetch(),m(!1))},p=async()=>{if(!n?.id)return;m(!0),await R.mutateAsync({shortPath:n.id})&&await q.mutateAsync({shortPath:n.id}),await _.refetch(),m(!1)},x=async P=>{n?.id&&(m(!0),await f.mutateAsync({shortPath:n.id,enabled:P}),await _.refetch(),m(!1))},v=A.useRef(i);v.current=i;const g=A.useRef(r);g.current=r,X.plugin.onStatus.useSubscription(void 0,{onData(P){P.shortPath===g.current?.path&&a(O=>({...O,...P}))}});const h=A.useMemo(()=>Da(async()=>{if(!n?.id||!g.current)return;const P={},O=v.current,D=g.current.path;for(const M in g.current?.config??{})g.current?.config[M]!=O[M]&&(P[M]=!0),await o.mutateAsync({shortPath:n?.id,config:O})&&(b(P),setTimeout(()=>{b({}),a(W=>W?.path===D?{...W,config:O}:W)}))},500),[n?.id]),j=(P,O)=>{!r||!i||(s(D=>({...D,[P]:O})),h())};return e.jsxs("div",{className:"plugin-view",children:[e.jsx(fe,{active:l,size:"huge",children:"Loading Plugin"}),e.jsx("div",{className:"plugin-info",children:!l&&r&&e.jsxs(_e,{children:[e.jsxs("div",{className:"stats",children:[e.jsxs("div",{className:"stat",children:[e.jsx("b",{"data-tooltip":"Plugin name",children:"Name:"})," ",r.name]}),e.jsxs("div",{className:"stat",children:[e.jsx("b",{"data-tooltip":"Plugin creator",children:"Author:"})," ",r.documentation?.author??"unknown"]}),e.jsxs("div",{className:"stat",children:[e.jsx("b",{children:"Description:"})," ",r.documentation?.description??"none"]}),e.jsxs("div",{className:"stat",children:[e.jsx("b",{"data-tooltip":"The folder this plugin runs in",children:"Folder:"})," ",r.path]}),e.jsxs("div",{className:"stat",children:[e.jsx("b",{"data-tooltip":"The type of plugin this is",children:"Format:"})," ",r.format]}),e.jsxs("div",{className:"stat",children:[e.jsx("b",{"data-tooltip":"Number of objects in the plugin's storage",children:"Stored Objects:"})," ",r.objCount]}),e.jsxs("div",{className:"stat",children:[e.jsx("b",{"data-tooltip":"Plugin can be started",children:"Enabled:"})," ",r.isEnabled?"Yes":"No"]}),e.jsxs("div",{className:"stat",children:[e.jsx("b",{"data-tooltip":"Plugin is running",children:"Loaded:"})," ",r.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(r.documentation.config??{}).length===0&&e.jsx("div",{className:"option-item",children:e.jsx("i",{className:"option-name",children:"None"})}),Object.entries(r.documentation.config??{}).map(([P,O])=>e.jsx("div",{className:"option-item config",children:e.jsxs("div",{className:"option-input",children:[e.jsxs("div",{className:"option-label","data-tooltip":O.description,children:[P,e.jsxs("span",{className:`saved-note ${C[P]?"show":""}`,children:["SAVED ",e.jsx(Gu,{size:"20"})]})]}),e.jsxs("div",{className:"option-value",children:[["string","password","number"].includes(O.type)&&e.jsx(se,{type:O.type==="string"?"text":O.type,value:i[P],onChange:D=>j(P,D)}),O.type==="list"&&e.jsx(au,{options:"options"in O?O.options:void 0,type:O.itemType,value:i[P],onChange:D=>j(P,D)}),O.type==="players"&&e.jsx(su,{value:i[P],onChange:D=>j(P,D)}),O.type==="role"&&e.jsx(iu,{value:i[P],onChange:D=>j(P,D)}),O.type==="enum"&&e.jsx(Pa,{options:O.options,value:i[P],onChange:D=>j(P,D)}),O.type==="boolean"&&e.jsx(ye,{value:i[P],onChange:D=>j(P,D)}),!Uc(O.default,i[P])&&e.jsx(Du,{onClick:()=>j(P,O.default),className:"reset-button","data-tooltip":"Reset to default value"})]})]})},P))]}),e.jsx("div",{className:"section-header","data-tooltip":"Ways to control the plugin",children:"Commands"}),e.jsxs("div",{className:"option-list",children:[(r.documentation.commands??[]).length===0&&e.jsx("div",{className:"option-item",children:e.jsx("i",{className:"option-name",children:"None"})}),(r.documentation.commands||[]).map(P=>e.jsxs("div",{className:"option-item",children:[e.jsx("div",{className:"option-name","data-tooltip":P.description,children:P.name}),e.jsx("div",{className:"option-args",children:(P.args||[]).map(O=>e.jsx("div",{className:`option-arg ${O.required?"required":""}`,"data-tooltip":(O.required?"(required) ":"")+O.description,children:O.name},O.name))})]},P.name))]})]})}),e.jsxs(Ie,{attached:!0,children:[r?.isEnabled&&!r.isLoaded&&e.jsxs(U,{main:!0,disabled:y,"data-tooltip":"Start the plugin",onClick:()=>d(),children:[e.jsx(_t,{}),"Load"]}),r?.isEnabled&&r.isLoaded&&e.jsxs(U,{warn:!0,"data-tooltip":"Stop, then start the plugin",disabled:y,onClick:()=>p(),children:[e.jsx(ml,{}),"Reload"]}),e.jsx("span",{style:{flex:1}}),r?.isEnabled&&r.isLoaded&&e.jsxs(U,{error:!0,disabled:y,"data-tooltip":"Stop the plugin",onClick:()=>u(),children:[e.jsx(gl,{}),"Unload"]}),r&&!r?.isEnabled&&e.jsxs(U,{main:!0,"data-tooltip":"Allow the plugin to be started",disabled:y,onClick:()=>x(!0),children:[e.jsx(wt,{}),"Enable"]}),r?.isEnabled&&!r.isLoaded&&e.jsxs(U,{error:!0,"data-tooltip":"Prevent the plugin from being started",disabled:y,onClick:()=>x(!1),children:[e.jsx(bl,{}),"Disable"]})]})]})},ks=t=>{const n=(t.isLoaded?2:0)+(t.isEnabled?1:0),r=["disabled","broken","bugged","running"][n],a=["Plugin is disabled","Plugin is enabled but not running","Plugin is running but not enabled","Plugin is running"][n],i=[Ou,Nu,Eu,Mu][n];return{...t,state:n,status:r,tooltip:a,icon:i}},$c=()=>{const[t,n]=A.useState(""),[r,a]=A.useState(!1),[i,s]=A.useState([]),[l,c]=Ee("/plugins/:id?"),y=A.useMemo(()=>i.find(f=>f.path===c?.id)?.name??"SELECT A PLUGIN",[i,c?.id]),m=X.plugin.list.useQuery();A.useEffect(()=>{m.data&&s(m.data.map(ks))},[m.data]);const C=m.isLoading,b=X.plugin.reloadAll.useMutation(),_=()=>{m.refetch()},q=async()=>{a(!0),await b.mutateAsync(),a(!1)},R=f=>f.name.toLowerCase().includes(t.toLowerCase());return X.plugin.onStatus.useSubscription(void 0,{onData(f){const o=ks(f);s(d=>d.map(u=>u.path===f.shortPath?{...u,...o}:u))}}),e.jsxs(e.Fragment,{children:[e.jsxs(qe,{title:"Plugins",children:[e.jsx("span",{style:{flex:1}}),e.jsxs(U,{warn:!0,disabled:r,onClick:q,"data-tooltip":"Reload all plugins, this may clear current plugin progress",children:[e.jsx(qu,{}),"Reload Plugins"]})]}),e.jsxs(Oe,{children:[e.jsx(Ne,{}),e.jsxs("div",{className:"generic-container plugins-container",children:[e.jsxs("div",{className:"plugins-list-container",children:[e.jsxs(be,{children:[e.jsx(se,{type:"text",placeholder:"Search Plugins...",value:t,onChange:f=>n(f)}),e.jsx("span",{style:{flex:1}}),e.jsx(U,{icon:!0,normal:!0,"data-tooltip":"Refresh plugin list",onClick:_,children:e.jsx(Mt,{})})]}),e.jsxs("div",{className:"plugins-list",children:[e.jsx(_e,{children:i.map(f=>R(f)&&e.jsxs(lt,{href:"/plugins/"+f.path,"data-tooltip":f.documentation?.description,className:`plugin-item ${c?.id===f.path?"selected":""}`,children:[e.jsx(f.icon,{className:f.status,"data-tooltip":f.tooltip}),f.name]},f.path))}),e.jsx(fe,{active:C,size:"huge",children:"Loading Plugins"})]})]}),e.jsxs("div",{className:"plugin-inspector-container",children:[e.jsx(be,{attached:!0,children:y}),e.jsx("div",{className:"plugin-inspector",children:e.jsx(Gc,{})})]})]})]})]})},he=dt({starting:!1,started:!1,stopping:!1,loading:!0}),kl=()=>{const{data:t}=X.server.started.useQuery();return A.useEffect(()=>{t&&he.set({started:t.started,starting:t.starting,stopping:t.stopping,loading:!1})},[t]),X.server.onStatus.useSubscription(void 0,{onData(n){he.set({started:n.started,starting:n.starting,stopping:n.stopping,loading:!1})}}),Re(he)},Kc=()=>{he.set({...he.get(),loading:!0}),ct.server.start.mutate()},Yc=()=>{he.set({...he.get(),loading:!0}),ct.server.stop.mutate()},Xc=()=>{he.set({...he.get(),loading:!0}),ct.server.restart.mutate()},Vc=()=>{he.set({...he.get(),loading:!0}),ct.server.update.run.mutate()};function Qc(t){const n=Math.floor((Date.now()-t)/1e3);if(n<60)return"just now";const r=Math.floor(n/60);return r<60?`${r}m ago`:`${Math.floor(r/60)}h ago`}const Jc=()=>{const{started:t,stopping:n,starting:r,loading:a}=kl(),i=yt(),[s,l]=A.useState(null),c=Re(Ca),[y,m]=A.useState(c?.update?.lastCheck??null);A.useEffect(()=>{m(c?.update?.lastCheck??null)},[c?.update?.lastCheck]);const[C,b]=A.useState(!1),[_,q]=A.useState(null),[R,f]=A.useState(!1),{data:o}=X.server.autoRestart.get.useQuery();A.useEffect(()=>{o&&l(o)},[o]);const d=c?.update?.canCheck??!1,u=X.server.update.check.useQuery(void 0,{enabled:!1}),p=A.useCallback(()=>{d&&(b(!0),u.refetch().then(({data:O})=>{m(O??null),q(Date.now()),b(!1)}))},[d,u]),x=X.server.autoRestart.set.useMutation(),v=A.useCallback(async()=>{if(!s)return;const O={type:"autoRestartConfig",maxUptime:Math.round(Math.max(1,Math.min(s.maxUptime,168))),maxUptimeEnabled:s.maxUptimeEnabled,emptyUptime:Math.round(Math.max(1,Math.min(s.emptyUptime,168))),emptyUptimeEnabled:s.emptyUptimeEnabled,dailyHour:Math.round(Math.max(0,Math.min(s.dailyHour,23))),dailyHourEnabled:s.dailyHourEnabled,announcementEnabled:s.announcementEnabled,playersEnabled:s.playersEnabled,saveWorld:s.saveWorld,autoUpdateEnabled:s.autoUpdateEnabled??!0,autoUpdateIntervalMins:Math.round(Math.max(10,Math.min(s.autoUpdateIntervalMins??60,1/0))),crashRestartEnabled:s.crashRestartEnabled??!0};x.mutate(O)},[s,x]),g=X.world.save.useMutation(),h=async()=>{f(!0),await g.mutateAsync({}),f(!1)},j=$u(v),P=O=>D=>{s&&(l(M=>({...M,[O]:D})),j.fire())};return e.jsxs(e.Fragment,{children:[e.jsx(qe,{title:"Server",children:d&&e.jsx(U,{main:!!y,normal:!y,"data-tooltip":"Check for updates",disabled:C,onClick:p,children:C?e.jsxs(e.Fragment,{children:[e.jsx(Au,{className:"spinning"}),"Checking..."]}):y===!0?e.jsxs(e.Fragment,{children:[e.jsx(Tu,{}),"Update Available"]}):e.jsxs(e.Fragment,{children:[e.jsx(ku,{}),"Check for Update"]})})}),e.jsxs(Oe,{children:[e.jsx(Ne,{}),e.jsxs("div",{className:"generic-container server-container",children:[e.jsxs(be,{children:["Server Status:"," ",r?"starting":n?"stopping":t?"started":"stopped",d&&y!==null&&e.jsx("span",{style:{marginLeft:8,fontSize:"0.75em",opacity:.7},children:y?"Update available":`Up to date${_?` (checked ${Qc(_)})`:""}`})]}),e.jsxs("div",{className:"buttons",children:[e.jsxs(U,{main:!0,"data-tooltip":"Start the server",disabled:r||n||a||t,onClick:()=>i.prompt("start the server").then(O=>O&&Kc()),children:[e.jsx(_t,{}),"Start"]}),e.jsxs(U,{error:!0,"data-tooltip":"Stop the server",disabled:r||n||a||!t,onClick:()=>i.prompt("stop the server").then(O=>O&&Yc()),children:[e.jsx(gl,{}),"Stop"]}),e.jsxs(U,{warn:!0,"data-tooltip":"Reloads the server's world. Saves minigames/environment/bricks if 'Save World' is enabled below.",disabled:r||n||a,onClick:()=>i.prompt("restart the server").then(O=>O&&Xc()),children:[e.jsx(ml,{}),"Restart"]}),e.jsxs(U,{info:!0,"data-tooltip":"Save the current world.",disabled:r||n||a||R,onClick:h,children:[e.jsx(vl,{}),"Save World"]}),c?.isSteam&&e.jsxs(U,{normal:!y,main:y===!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:r||n||a,onClick:()=>i.prompt("update the server").then(O=>O&&Vc()),children:[e.jsx(zu,{}),"Update"]})]}),e.jsxs(be,{attached:!0,style:{marginTop:8},children:["Auto Restart",e.jsx(Ku,{show:j.status===Yu.Waiting})]}),s&&e.jsxs("div",{className:"inputs-list",children:[e.jsxs("div",{className:"inputs-item","data-tooltip":"When enabled, automatically restarts the server if the game engine crashes",children:[e.jsx("label",{children:"Restart on Crash"}),e.jsx("div",{className:"inputs",children:e.jsx(ye,{tooltip:"Enabled",value:s.crashRestartEnabled??!0,onChange:P("crashRestartEnabled")})})]}),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",d?"":" (SteamCMD Only)"]}),e.jsxs("div",{className:"inputs",children:[e.jsx(ye,{tooltip:"Enabled",value:s.autoUpdateEnabled,onChange:P("autoUpdateEnabled")}),e.jsx(se,{type:"number",placeholder:"Minutes",tooltip:"Interval in minutes to check for updates (min 10)",value:s.autoUpdateIntervalMins,onChange:P("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(ye,{tooltip:"Enabled",value:s.maxUptimeEnabled,onChange:P("maxUptimeEnabled")}),e.jsx(se,{type:"number",placeholder:"Hours",tooltip:"Uptime Hours",value:s.maxUptime,onChange:P("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(ye,{tooltip:"Enabled",value:s.emptyUptimeEnabled,onChange:P("emptyUptimeEnabled")}),e.jsx(se,{type:"number",placeholder:"Hours",tooltip:"Uptime Hours",value:s.emptyUptime,onChange:P("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(ye,{tooltip:"Enabled",value:s.dailyHourEnabled,onChange:P("dailyHourEnabled")}),e.jsx(se,{type:"number",placeholder:"Hour",tooltip:"Hour (0 = 12am, 13 = 1pm)",value:s.dailyHour,onChange:P("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(ye,{tooltip:"Enabled",value:s.announcementEnabled,onChange:P("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(ye,{tooltip:"Enabled",value:s.playersEnabled,onChange:P("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(ye,{tooltip:"Enabled",value:s.saveWorld??!0,onChange:P("saveWorld")})})]})]}),i.children]})]})]})},Zc=()=>{const t=Re(Ca)?.userless,n=Re(ll),[r,a]=A.useState(0),[i,s]=A.useState(0),[l,c]=A.useState(!0),[y,m]=A.useState([]),[C,b]=A.useState(""),[_,q]=A.useState(""),[R,f]=A.useState(""),[o,d]=A.useState(""),[u,p]=A.useState(!1),[x,v]=A.useState(!1),[g,h]=A.useState(!1),[j,P]=Dt(),[O,D]=Ee("/users/:id?"),M=X.useUtils(),T=X.user.create.useMutation(),W=X.user.passwd.useMutation(),H=A.useRef({page:0,search:"",sort:"lastSeen",direction:-1}),{page:k,search:Y,sort:V,direction:ee}=H.current,[Q,te]=A.useState(0),ie=E=>{H.current.search=E,Te(),te(B=>B+1)},ne=E=>{typeof E=="function"&&(E=E(H.current.page)),H.current.page=E,oe()},le=E=>{typeof E=="function"&&(E=E(H.current.direction)),H.current.direction=E},oe=async()=>{c(!0);const{page:E,search:B,sort:L,direction:$}=H.current,{users:G,total:K,pages:Z}=await M.user.list.fetch({page:E,search:B,sort:L,direction:$});a(Z),s(K),m(G),c(!1)},pe=A.useRef(oe);pe.current=oe,A.useEffect(()=>{oe()},[]);const Te=A.useMemo(()=>Da(()=>{H.current.page=0,pe.current?.()},500),[]),I=E=>{E==V?le(B=>B*-1):(H.current.sort=E,le(E==="name"?1:-1)),oe()},z=()=>{v(!x),p(!1),q(""),b("")},F=()=>{p(!u),v(!1),t||q(n?.username??""),b("")},w=()=>{v(!1),p(!1),q(""),b(""),f(""),d("")},S=async()=>{if(b(""),R!==o)return;h(!0);let E="";try{if(u&&!t?E=await W.mutateAsync({username:n?.username??"",password:R}):E=await T.mutateAsync({username:_,password:R}),h(!1),!E){u&&t?hu():w();return}}catch(B){console.error("error setting user credentials",B)}b(E)},N=A.useMemo(()=>{const E=_.length!==0||!(u&&!t);return _.match(/^\w{0,32}$/)&&E&&R.length!==0},[_,R,u,t]);return e.jsxs(e.Fragment,{children:[e.jsxs(qe,{title:"Users",children:[e.jsx("span",{style:{flex:1}}),e.jsx(U,{normal:!0,"data-tooltip":t?"Enable user sign-in":"Change password",onClick:F,children:t?e.jsxs(e.Fragment,{children:[e.jsx(Lu,{}),"Enable Users"]}):e.jsxs(e.Fragment,{children:[e.jsx(Qa,{}),"Change Password"]})}),!t&&n?.isOwner&&e.jsxs(U,{normal:!0,onClick:z,"data-tooltip":"Add a new user",children:[e.jsx(Ja,{}),"Add User"]})]}),e.jsxs(Oe,{children:[e.jsx(Ne,{}),e.jsxs("div",{className:"generic-container players-container",children:[e.jsxs("div",{className:"player-table-container",children:[e.jsxs(be,{attached:!0,children:[e.jsx(se,{type:"text",placeholder:"Search Users...",value:Y,onChange:ie}),e.jsx("span",{style:{flex:1}}),e.jsx(U,{icon:!0,normal:!0,"data-tooltip":"Refresh user list",onClick:oe,children:e.jsx(Mt,{})})]}),e.jsxs("div",{className:"players-list",children:[e.jsx(_e,{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:()=>I("username"),children:e.jsxs("span",{children:["Username",e.jsx(ue,{name:"username",sort:V,direction:ee})]})}),e.jsx("th",{onClick:()=>I("lastOnline"),"data-tooltip":"When the user was last active",children:e.jsxs("span",{children:["Active",e.jsx(ue,{name:"lastOnline",sort:V,direction:ee})]})}),e.jsx("th",{onClick:()=>I("created"),"data-tooltip":"When the user joined",children:e.jsxs("span",{children:["Joined",e.jsx(ue,{name:"created",sort:V,direction:ee})]})})]})}),e.jsx("tbody",{children:y.map(E=>e.jsxs("tr",{onClick:()=>P(`/users/${E.username}`),className:E.username===D?.id?"active":"",children:[e.jsxs("td",{children:[E.username||"Admin"," ",(E.username||"Admin")===(n?.username||"Admin")&&e.jsx("span",{style:{fontSize:12},children:"(You)"})]}),e.jsx("td",{style:{textAlign:"right"},"data-tooltip":E.lastOnline?new Date(E.lastOnline):"Never",children:E.lastOnline?de(E.seenAgo):"Never"}),e.jsx("td",{style:{textAlign:"right"},"data-tooltip":new Date(E.created),children:de(E.createdAgo)})]},E.username))})]})}),e.jsxs(Ie,{className:"pagination-footer",children:[e.jsx(U,{icon:!0,normal:!0,disabled:k===0,onClick:()=>{ne(0)},children:e.jsx(fl,{})}),e.jsx(U,{icon:!0,normal:!0,disabled:k===0,onClick:()=>ne(E=>Math.max(0,E-1)),children:e.jsx(xt,{})}),e.jsxs("div",{className:"current-page",children:[e.jsxs("div",{children:["Page ",k+1," of ",r]}),e.jsxs("div",{children:["Showing ",y.length," of ",i]})]}),e.jsx(U,{icon:!0,normal:!0,disabled:k>=r-1,onClick:()=>ne(E=>Math.min(y.length-1,E+1)),children:e.jsx(jt,{})}),e.jsx(U,{icon:!0,normal:!0,disabled:k>=r-1,onClick:()=>ne(y.length-1),children:e.jsx(pl,{})})]}),e.jsx(fe,{active:l,size:"huge",children:"Loading Users"})]})]}),e.jsxs(Na,{visible:u||x,children:[e.jsx(fe,{active:g,size:"huge",children:"Submitting"}),e.jsxs(dl,{visible:!g,children:[e.jsx(Oa,{children:x?"Create New User":"Update Credentials"}),e.jsxs(Sa,{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&&u&&e.jsxs("p",{children:['Updating credentials for user "',_,'""']}),x&&e.jsx("p",{children:"Creating a new user. It's recommended to create a temporary password."}),C&&e.jsxs("p",{style:{color:"red"},children:["Error: ",C]})]}),e.jsxs("div",{className:"popout-inputs",children:[(t||x)&&e.jsx(se,{placeholder:"username",type:"text",value:_,onChange:E=>q(E)}),e.jsx(se,{placeholder:"password",type:"password",value:R,onChange:E=>f(E)}),e.jsx(se,{placeholder:"confirm password",type:"password",value:o,onChange:E=>d(E)})]}),e.jsxs(Ie,{children:[e.jsxs(U,{main:!0,disabled:!N||o!==R,onClick:()=>S(),children:[x&&e.jsx(Ja,{}),!x&&e.jsx(Qa,{}),x?"Add":"Update"]}),e.jsx("div",{style:{flex:1}}),e.jsxs(U,{normal:!0,onClick:w,children:[e.jsx(ut,{}),"Cancel"]})]})]})]})]})]})]})},Ue=dt(null),Ge=dt(null);var rr,zs;function ed(){if(zs)return rr;zs=1;var t=Math.ceil,n=Math.max;function r(a,i,s,l){for(var c=-1,y=n(t((i-a)/(s||1)),0),m=Array(y);y--;)m[l?y:++c]=a,a+=s;return m}return rr=r,rr}var nr,Ls;function La(){if(Ls)return nr;Ls=1;function t(n,r){return n===r||n!==n&&r!==r}return nr=t,nr}var ar,Is;function zl(){if(Is)return ar;Is=1;var t=qt(),n=Ot(),r="[object AsyncFunction]",a="[object Function]",i="[object GeneratorFunction]",s="[object Proxy]";function l(c){if(!n(c))return!1;var y=t(c);return y==a||y==i||y==r||y==s}return ar=l,ar}var sr,Hs;function Ia(){if(Hs)return sr;Hs=1;var t=9007199254740991;function n(r){return typeof r=="number"&&r>-1&&r%1==0&&r<=t}return sr=n,sr}var ir,Ws;function zt(){if(Ws)return ir;Ws=1;var t=zl(),n=Ia();function r(a){return a!=null&&n(a.length)&&!t(a)}return ir=r,ir}var or,Bs;function Ha(){if(Bs)return or;Bs=1;var t=9007199254740991,n=/^(?:0|[1-9]\d*)$/;function r(a,i){var s=typeof a;return i=i??t,!!i&&(s=="number"||s!="symbol"&&n.test(a))&&a>-1&&a%1==0&&a<i}return or=r,or}var lr,Fs;function Ll(){if(Fs)return lr;Fs=1;var t=La(),n=zt(),r=Ha(),a=Ot();function i(s,l,c){if(!a(c))return!1;var y=typeof l;return(y=="number"?n(c)&&r(l,c.length):y=="string"&&l in c)?t(c[l],s):!1}return lr=i,lr}var ur,Us;function td(){if(Us)return ur;Us=1;var t=fu(),n=1/0,r=17976931348623157e292;function a(i){if(!i)return i===0?i:0;if(i=t(i),i===n||i===-n){var s=i<0?-1:1;return s*r}return i===i?i:0}return ur=a,ur}var cr,Gs;function rd(){if(Gs)return cr;Gs=1;var t=ed(),n=Ll(),r=td();function a(i){return function(s,l,c){return c&&typeof c!="number"&&n(s,l,c)&&(l=c=void 0),s=r(s),l===void 0?(l=s,s=0):l=r(l),c=c===void 0?s<l?1:-1:r(c),t(s,l,c,i)}}return cr=a,cr}var dr,$s;function nd(){if($s)return dr;$s=1;var t=rd(),n=t();return dr=n,dr}var ad=nd();const Ks=Ea(ad);var hr,Ys;function Il(){if(Ys)return hr;Ys=1;function t(n,r){for(var a=-1,i=r.length,s=n.length;++a<i;)n[s+a]=r[a];return n}return hr=t,hr}var fr,Xs;function sd(){if(Xs)return fr;Xs=1;var t=qt(),n=Nt(),r="[object Arguments]";function a(i){return n(i)&&t(i)==r}return fr=a,fr}var pr,Vs;function Wa(){if(Vs)return pr;Vs=1;var t=sd(),n=Nt(),r=Object.prototype,a=r.hasOwnProperty,i=r.propertyIsEnumerable,s=t((function(){return arguments})())?t:function(l){return n(l)&&a.call(l,"callee")&&!i.call(l,"callee")};return pr=s,pr}var mr,Qs;function je(){if(Qs)return mr;Qs=1;var t=Array.isArray;return mr=t,mr}var gr,Js;function id(){if(Js)return gr;Js=1;var t=qa(),n=Wa(),r=je(),a=t?t.isConcatSpreadable:void 0;function i(s){return r(s)||n(s)||!!(a&&s&&s[a])}return gr=i,gr}var vr,Zs;function od(){if(Zs)return vr;Zs=1;var t=Il(),n=id();function r(a,i,s,l,c){var y=-1,m=a.length;for(s||(s=n),c||(c=[]);++y<m;){var C=a[y];i>0&&s(C)?i>1?r(C,i-1,s,l,c):t(c,C):l||(c[c.length]=C)}return c}return vr=r,vr}var yr,ei;function Hl(){if(ei)return yr;ei=1;function t(n,r){for(var a=-1,i=n==null?0:n.length,s=Array(i);++a<i;)s[a]=r(n[a],a,n);return s}return yr=t,yr}var xr,ti;function Ba(){if(ti)return xr;ti=1;var t=je(),n=Et(),r=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,a=/^\w*$/;function i(s,l){if(t(s))return!1;var c=typeof s;return c=="number"||c=="symbol"||c=="boolean"||s==null||n(s)?!0:a.test(s)||!r.test(s)||l!=null&&s in Object(l)}return xr=i,xr}var br,ri;function ld(){if(ri)return br;ri=1;var t=Me(),n=t["__core-js_shared__"];return br=n,br}var _r,ni;function ud(){if(ni)return _r;ni=1;var t=ld(),n=(function(){var a=/[^.]+$/.exec(t&&t.keys&&t.keys.IE_PROTO||"");return a?"Symbol(src)_1."+a:""})();function r(a){return!!n&&n in a}return _r=r,_r}var jr,ai;function Wl(){if(ai)return jr;ai=1;var t=Function.prototype,n=t.toString;function r(a){if(a!=null){try{return n.call(a)}catch{}try{return a+""}catch{}}return""}return jr=r,jr}var wr,si;function cd(){if(si)return wr;si=1;var t=zl(),n=ud(),r=Ot(),a=Wl(),i=/[\\^$.*+?()[\]{}|]/g,s=/^\[object .+?Constructor\]$/,l=Function.prototype,c=Object.prototype,y=l.toString,m=c.hasOwnProperty,C=RegExp("^"+y.call(m).replace(i,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function b(_){if(!r(_)||n(_))return!1;var q=t(_)?C:s;return q.test(a(_))}return wr=b,wr}var Sr,ii;function dd(){if(ii)return Sr;ii=1;function t(n,r){return n?.[r]}return Sr=t,Sr}var Rr,oi;function He(){if(oi)return Rr;oi=1;var t=cd(),n=dd();function r(a,i){var s=n(a,i);return t(s)?s:void 0}return Rr=r,Rr}var Cr,li;function Lt(){if(li)return Cr;li=1;var t=He(),n=t(Object,"create");return Cr=n,Cr}var Pr,ui;function hd(){if(ui)return Pr;ui=1;var t=Lt();function n(){this.__data__=t?t(null):{},this.size=0}return Pr=n,Pr}var Dr,ci;function fd(){if(ci)return Dr;ci=1;function t(n){var r=this.has(n)&&delete this.__data__[n];return this.size-=r?1:0,r}return Dr=t,Dr}var qr,di;function pd(){if(di)return qr;di=1;var t=Lt(),n="__lodash_hash_undefined__",r=Object.prototype,a=r.hasOwnProperty;function i(s){var l=this.__data__;if(t){var c=l[s];return c===n?void 0:c}return a.call(l,s)?l[s]:void 0}return qr=i,qr}var Or,hi;function md(){if(hi)return Or;hi=1;var t=Lt(),n=Object.prototype,r=n.hasOwnProperty;function a(i){var s=this.__data__;return t?s[i]!==void 0:r.call(s,i)}return Or=a,Or}var Nr,fi;function gd(){if(fi)return Nr;fi=1;var t=Lt(),n="__lodash_hash_undefined__";function r(a,i){var s=this.__data__;return this.size+=this.has(a)?0:1,s[a]=t&&i===void 0?n:i,this}return Nr=r,Nr}var Er,pi;function vd(){if(pi)return Er;pi=1;var t=hd(),n=fd(),r=pd(),a=md(),i=gd();function s(l){var c=-1,y=l==null?0:l.length;for(this.clear();++c<y;){var m=l[c];this.set(m[0],m[1])}}return s.prototype.clear=t,s.prototype.delete=n,s.prototype.get=r,s.prototype.has=a,s.prototype.set=i,Er=s,Er}var Mr,mi;function yd(){if(mi)return Mr;mi=1;function t(){this.__data__=[],this.size=0}return Mr=t,Mr}var Ar,gi;function It(){if(gi)return Ar;gi=1;var t=La();function n(r,a){for(var i=r.length;i--;)if(t(r[i][0],a))return i;return-1}return Ar=n,Ar}var Tr,vi;function xd(){if(vi)return Tr;vi=1;var t=It(),n=Array.prototype,r=n.splice;function a(i){var s=this.__data__,l=t(s,i);if(l<0)return!1;var c=s.length-1;return l==c?s.pop():r.call(s,l,1),--this.size,!0}return Tr=a,Tr}var kr,yi;function bd(){if(yi)return kr;yi=1;var t=It();function n(r){var a=this.__data__,i=t(a,r);return i<0?void 0:a[i][1]}return kr=n,kr}var zr,xi;function _d(){if(xi)return zr;xi=1;var t=It();function n(r){return t(this.__data__,r)>-1}return zr=n,zr}var Lr,bi;function jd(){if(bi)return Lr;bi=1;var t=It();function n(r,a){var i=this.__data__,s=t(i,r);return s<0?(++this.size,i.push([r,a])):i[s][1]=a,this}return Lr=n,Lr}var Ir,_i;function Ht(){if(_i)return Ir;_i=1;var t=yd(),n=xd(),r=bd(),a=_d(),i=jd();function s(l){var c=-1,y=l==null?0:l.length;for(this.clear();++c<y;){var m=l[c];this.set(m[0],m[1])}}return s.prototype.clear=t,s.prototype.delete=n,s.prototype.get=r,s.prototype.has=a,s.prototype.set=i,Ir=s,Ir}var Hr,ji;function Fa(){if(ji)return Hr;ji=1;var t=He(),n=Me(),r=t(n,"Map");return Hr=r,Hr}var Wr,wi;function wd(){if(wi)return Wr;wi=1;var t=vd(),n=Ht(),r=Fa();function a(){this.size=0,this.__data__={hash:new t,map:new(r||n),string:new t}}return Wr=a,Wr}var Br,Si;function Sd(){if(Si)return Br;Si=1;function t(n){var r=typeof n;return r=="string"||r=="number"||r=="symbol"||r=="boolean"?n!=="__proto__":n===null}return Br=t,Br}var Fr,Ri;function Wt(){if(Ri)return Fr;Ri=1;var t=Sd();function n(r,a){var i=r.__data__;return t(a)?i[typeof a=="string"?"string":"hash"]:i.map}return Fr=n,Fr}var Ur,Ci;function Rd(){if(Ci)return Ur;Ci=1;var t=Wt();function n(r){var a=t(this,r).delete(r);return this.size-=a?1:0,a}return Ur=n,Ur}var Gr,Pi;function Cd(){if(Pi)return Gr;Pi=1;var t=Wt();function n(r){return t(this,r).get(r)}return Gr=n,Gr}var $r,Di;function Pd(){if(Di)return $r;Di=1;var t=Wt();function n(r){return t(this,r).has(r)}return $r=n,$r}var Kr,qi;function Dd(){if(qi)return Kr;qi=1;var t=Wt();function n(r,a){var i=t(this,r),s=i.size;return i.set(r,a),this.size+=i.size==s?0:1,this}return Kr=n,Kr}var Yr,Oi;function Ua(){if(Oi)return Yr;Oi=1;var t=wd(),n=Rd(),r=Cd(),a=Pd(),i=Dd();function s(l){var c=-1,y=l==null?0:l.length;for(this.clear();++c<y;){var m=l[c];this.set(m[0],m[1])}}return s.prototype.clear=t,s.prototype.delete=n,s.prototype.get=r,s.prototype.has=a,s.prototype.set=i,Yr=s,Yr}var Xr,Ni;function qd(){if(Ni)return Xr;Ni=1;var t=Ua(),n="Expected a function";function r(a,i){if(typeof a!="function"||i!=null&&typeof i!="function")throw new TypeError(n);var s=function(){var l=arguments,c=i?i.apply(this,l):l[0],y=s.cache;if(y.has(c))return y.get(c);var m=a.apply(this,l);return s.cache=y.set(c,m)||y,m};return s.cache=new(r.Cache||t),s}return r.Cache=t,Xr=r,Xr}var Vr,Ei;function Od(){if(Ei)return Vr;Ei=1;var t=qd(),n=500;function r(a){var i=t(a,function(l){return s.size===n&&s.clear(),l}),s=i.cache;return i}return Vr=r,Vr}var Qr,Mi;function Nd(){if(Mi)return Qr;Mi=1;var t=Od(),n=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,r=/\\(\\)?/g,a=t(function(i){var s=[];return i.charCodeAt(0)===46&&s.push(""),i.replace(n,function(l,c,y,m){s.push(y?m.replace(r,"$1"):c||l)}),s});return Qr=a,Qr}var Jr,Ai;function Ed(){if(Ai)return Jr;Ai=1;var t=qa(),n=Hl(),r=je(),a=Et(),i=t?t.prototype:void 0,s=i?i.toString:void 0;function l(c){if(typeof c=="string")return c;if(r(c))return n(c,l)+"";if(a(c))return s?s.call(c):"";var y=c+"";return y=="0"&&1/c==-1/0?"-0":y}return Jr=l,Jr}var Zr,Ti;function Md(){if(Ti)return Zr;Ti=1;var t=Ed();function n(r){return r==null?"":t(r)}return Zr=n,Zr}var en,ki;function Bl(){if(ki)return en;ki=1;var t=je(),n=Ba(),r=Nd(),a=Md();function i(s,l){return t(s)?s:n(s,l)?[s]:r(a(s))}return en=i,en}var tn,zi;function Bt(){if(zi)return tn;zi=1;var t=Et();function n(r){if(typeof r=="string"||t(r))return r;var a=r+"";return a=="0"&&1/r==-1/0?"-0":a}return tn=n,tn}var rn,Li;function Ga(){if(Li)return rn;Li=1;var t=Bl(),n=Bt();function r(a,i){i=t(i,a);for(var s=0,l=i.length;a!=null&&s<l;)a=a[n(i[s++])];return s&&s==l?a:void 0}return rn=r,rn}var nn,Ii;function Ad(){if(Ii)return nn;Ii=1;var t=Ht();function n(){this.__data__=new t,this.size=0}return nn=n,nn}var an,Hi;function Td(){if(Hi)return an;Hi=1;function t(n){var r=this.__data__,a=r.delete(n);return this.size=r.size,a}return an=t,an}var sn,Wi;function kd(){if(Wi)return sn;Wi=1;function t(n){return this.__data__.get(n)}return sn=t,sn}var on,Bi;function zd(){if(Bi)return on;Bi=1;function t(n){return this.__data__.has(n)}return on=t,on}var ln,Fi;function Ld(){if(Fi)return ln;Fi=1;var t=Ht(),n=Fa(),r=Ua(),a=200;function i(s,l){var c=this.__data__;if(c instanceof t){var y=c.__data__;if(!n||y.length<a-1)return y.push([s,l]),this.size=++c.size,this;c=this.__data__=new r(y)}return c.set(s,l),this.size=c.size,this}return ln=i,ln}var un,Ui;function Fl(){if(Ui)return un;Ui=1;var t=Ht(),n=Ad(),r=Td(),a=kd(),i=zd(),s=Ld();function l(c){var y=this.__data__=new t(c);this.size=y.size}return l.prototype.clear=n,l.prototype.delete=r,l.prototype.get=a,l.prototype.has=i,l.prototype.set=s,un=l,un}var cn,Gi;function Id(){if(Gi)return cn;Gi=1;var t="__lodash_hash_undefined__";function n(r){return this.__data__.set(r,t),this}return cn=n,cn}var dn,$i;function Hd(){if($i)return dn;$i=1;function t(n){return this.__data__.has(n)}return dn=t,dn}var hn,Ki;function Wd(){if(Ki)return hn;Ki=1;var t=Ua(),n=Id(),r=Hd();function a(i){var s=-1,l=i==null?0:i.length;for(this.__data__=new t;++s<l;)this.add(i[s])}return a.prototype.add=a.prototype.push=n,a.prototype.has=r,hn=a,hn}var fn,Yi;function Bd(){if(Yi)return fn;Yi=1;function t(n,r){for(var a=-1,i=n==null?0:n.length;++a<i;)if(r(n[a],a,n))return!0;return!1}return fn=t,fn}var pn,Xi;function Fd(){if(Xi)return pn;Xi=1;function t(n,r){return n.has(r)}return pn=t,pn}var mn,Vi;function Ul(){if(Vi)return mn;Vi=1;var t=Wd(),n=Bd(),r=Fd(),a=1,i=2;function s(l,c,y,m,C,b){var _=y&a,q=l.length,R=c.length;if(q!=R&&!(_&&R>q))return!1;var f=b.get(l),o=b.get(c);if(f&&o)return f==c&&o==l;var d=-1,u=!0,p=y&i?new t:void 0;for(b.set(l,c),b.set(c,l);++d<q;){var x=l[d],v=c[d];if(m)var g=_?m(v,x,d,c,l,b):m(x,v,d,l,c,b);if(g!==void 0){if(g)continue;u=!1;break}if(p){if(!n(c,function(h,j){if(!r(p,j)&&(x===h||C(x,h,y,m,b)))return p.push(j)})){u=!1;break}}else if(!(x===v||C(x,v,y,m,b))){u=!1;break}}return b.delete(l),b.delete(c),u}return mn=s,mn}var gn,Qi;function Ud(){if(Qi)return gn;Qi=1;var t=Me(),n=t.Uint8Array;return gn=n,gn}var vn,Ji;function Gd(){if(Ji)return vn;Ji=1;function t(n){var r=-1,a=Array(n.size);return n.forEach(function(i,s){a[++r]=[s,i]}),a}return vn=t,vn}var yn,Zi;function $d(){if(Zi)return yn;Zi=1;function t(n){var r=-1,a=Array(n.size);return n.forEach(function(i){a[++r]=i}),a}return yn=t,yn}var xn,eo;function Kd(){if(eo)return xn;eo=1;var t=qa(),n=Ud(),r=La(),a=Ul(),i=Gd(),s=$d(),l=1,c=2,y="[object Boolean]",m="[object Date]",C="[object Error]",b="[object Map]",_="[object Number]",q="[object RegExp]",R="[object Set]",f="[object String]",o="[object Symbol]",d="[object ArrayBuffer]",u="[object DataView]",p=t?t.prototype:void 0,x=p?p.valueOf:void 0;function v(g,h,j,P,O,D,M){switch(j){case u:if(g.byteLength!=h.byteLength||g.byteOffset!=h.byteOffset)return!1;g=g.buffer,h=h.buffer;case d:return!(g.byteLength!=h.byteLength||!D(new n(g),new n(h)));case y:case m:case _:return r(+g,+h);case C:return g.name==h.name&&g.message==h.message;case q:case f:return g==h+"";case b:var T=i;case R:var W=P&l;if(T||(T=s),g.size!=h.size&&!W)return!1;var H=M.get(g);if(H)return H==h;P|=c,M.set(g,h);var k=a(T(g),T(h),P,O,D,M);return M.delete(g),k;case o:if(x)return x.call(g)==x.call(h)}return!1}return xn=v,xn}var bn,to;function Yd(){if(to)return bn;to=1;var t=Il(),n=je();function r(a,i,s){var l=i(a);return n(a)?l:t(l,s(a))}return bn=r,bn}var _n,ro;function Xd(){if(ro)return _n;ro=1;function t(n,r){for(var a=-1,i=n==null?0:n.length,s=0,l=[];++a<i;){var c=n[a];r(c,a,n)&&(l[s++]=c)}return l}return _n=t,_n}var jn,no;function Vd(){if(no)return jn;no=1;function t(){return[]}return jn=t,jn}var wn,ao;function Qd(){if(ao)return wn;ao=1;var t=Xd(),n=Vd(),r=Object.prototype,a=r.propertyIsEnumerable,i=Object.getOwnPropertySymbols,s=i?function(l){return l==null?[]:(l=Object(l),t(i(l),function(c){return a.call(l,c)}))}:n;return wn=s,wn}var Sn,so;function Jd(){if(so)return Sn;so=1;function t(n,r){for(var a=-1,i=Array(n);++a<n;)i[a]=r(a);return i}return Sn=t,Sn}var it={exports:{}},Rn,io;function Zd(){if(io)return Rn;io=1;function t(){return!1}return Rn=t,Rn}it.exports;var oo;function Gl(){return oo||(oo=1,(function(t,n){var r=Me(),a=Zd(),i=n&&!n.nodeType&&n,s=i&&!0&&t&&!t.nodeType&&t,l=s&&s.exports===i,c=l?r.Buffer:void 0,y=c?c.isBuffer:void 0,m=y||a;t.exports=m})(it,it.exports)),it.exports}var Cn,lo;function eh(){if(lo)return Cn;lo=1;var t=qt(),n=Ia(),r=Nt(),a="[object Arguments]",i="[object Array]",s="[object Boolean]",l="[object Date]",c="[object Error]",y="[object Function]",m="[object Map]",C="[object Number]",b="[object Object]",_="[object RegExp]",q="[object Set]",R="[object String]",f="[object WeakMap]",o="[object ArrayBuffer]",d="[object DataView]",u="[object Float32Array]",p="[object Float64Array]",x="[object Int8Array]",v="[object Int16Array]",g="[object Int32Array]",h="[object Uint8Array]",j="[object Uint8ClampedArray]",P="[object Uint16Array]",O="[object Uint32Array]",D={};D[u]=D[p]=D[x]=D[v]=D[g]=D[h]=D[j]=D[P]=D[O]=!0,D[a]=D[i]=D[o]=D[s]=D[d]=D[l]=D[c]=D[y]=D[m]=D[C]=D[b]=D[_]=D[q]=D[R]=D[f]=!1;function M(T){return r(T)&&n(T.length)&&!!D[t(T)]}return Cn=M,Cn}var Pn,uo;function $l(){if(uo)return Pn;uo=1;function t(n){return function(r){return n(r)}}return Pn=t,Pn}var ot={exports:{}};ot.exports;var co;function th(){return co||(co=1,(function(t,n){var r=pu(),a=n&&!n.nodeType&&n,i=a&&!0&&t&&!t.nodeType&&t,s=i&&i.exports===a,l=s&&r.process,c=(function(){try{var y=i&&i.require&&i.require("util").types;return y||l&&l.binding&&l.binding("util")}catch{}})();t.exports=c})(ot,ot.exports)),ot.exports}var Dn,ho;function Kl(){if(ho)return Dn;ho=1;var t=eh(),n=$l(),r=th(),a=r&&r.isTypedArray,i=a?n(a):t;return Dn=i,Dn}var qn,fo;function rh(){if(fo)return qn;fo=1;var t=Jd(),n=Wa(),r=je(),a=Gl(),i=Ha(),s=Kl(),l=Object.prototype,c=l.hasOwnProperty;function y(m,C){var b=r(m),_=!b&&n(m),q=!b&&!_&&a(m),R=!b&&!_&&!q&&s(m),f=b||_||q||R,o=f?t(m.length,String):[],d=o.length;for(var u in m)(C||c.call(m,u))&&!(f&&(u=="length"||q&&(u=="offset"||u=="parent")||R&&(u=="buffer"||u=="byteLength"||u=="byteOffset")||i(u,d)))&&o.push(u);return o}return qn=y,qn}var On,po;function nh(){if(po)return On;po=1;var t=Object.prototype;function n(r){var a=r&&r.constructor,i=typeof a=="function"&&a.prototype||t;return r===i}return On=n,On}var Nn,mo;function ah(){if(mo)return Nn;mo=1;function t(n,r){return function(a){return n(r(a))}}return Nn=t,Nn}var En,go;function sh(){if(go)return En;go=1;var t=ah(),n=t(Object.keys,Object);return En=n,En}var Mn,vo;function ih(){if(vo)return Mn;vo=1;var t=nh(),n=sh(),r=Object.prototype,a=r.hasOwnProperty;function i(s){if(!t(s))return n(s);var l=[];for(var c in Object(s))a.call(s,c)&&c!="constructor"&&l.push(c);return l}return Mn=i,Mn}var An,yo;function $a(){if(yo)return An;yo=1;var t=rh(),n=ih(),r=zt();function a(i){return r(i)?t(i):n(i)}return An=a,An}var Tn,xo;function oh(){if(xo)return Tn;xo=1;var t=Yd(),n=Qd(),r=$a();function a(i){return t(i,r,n)}return Tn=a,Tn}var kn,bo;function lh(){if(bo)return kn;bo=1;var t=oh(),n=1,r=Object.prototype,a=r.hasOwnProperty;function i(s,l,c,y,m,C){var b=c&n,_=t(s),q=_.length,R=t(l),f=R.length;if(q!=f&&!b)return!1;for(var o=q;o--;){var d=_[o];if(!(b?d in l:a.call(l,d)))return!1}var u=C.get(s),p=C.get(l);if(u&&p)return u==l&&p==s;var x=!0;C.set(s,l),C.set(l,s);for(var v=b;++o<q;){d=_[o];var g=s[d],h=l[d];if(y)var j=b?y(h,g,d,l,s,C):y(g,h,d,s,l,C);if(!(j===void 0?g===h||m(g,h,c,y,C):j)){x=!1;break}v||(v=d=="constructor")}if(x&&!v){var P=s.constructor,O=l.constructor;P!=O&&"constructor"in s&&"constructor"in l&&!(typeof P=="function"&&P instanceof P&&typeof O=="function"&&O instanceof O)&&(x=!1)}return C.delete(s),C.delete(l),x}return kn=i,kn}var zn,_o;function uh(){if(_o)return zn;_o=1;var t=He(),n=Me(),r=t(n,"DataView");return zn=r,zn}var Ln,jo;function ch(){if(jo)return Ln;jo=1;var t=He(),n=Me(),r=t(n,"Promise");return Ln=r,Ln}var In,wo;function dh(){if(wo)return In;wo=1;var t=He(),n=Me(),r=t(n,"Set");return In=r,In}var Hn,So;function hh(){if(So)return Hn;So=1;var t=He(),n=Me(),r=t(n,"WeakMap");return Hn=r,Hn}var Wn,Ro;function fh(){if(Ro)return Wn;Ro=1;var t=uh(),n=Fa(),r=ch(),a=dh(),i=hh(),s=qt(),l=Wl(),c="[object Map]",y="[object Object]",m="[object Promise]",C="[object Set]",b="[object WeakMap]",_="[object DataView]",q=l(t),R=l(n),f=l(r),o=l(a),d=l(i),u=s;return(t&&u(new t(new ArrayBuffer(1)))!=_||n&&u(new n)!=c||r&&u(r.resolve())!=m||a&&u(new a)!=C||i&&u(new i)!=b)&&(u=function(p){var x=s(p),v=x==y?p.constructor:void 0,g=v?l(v):"";if(g)switch(g){case q:return _;case R:return c;case f:return m;case o:return C;case d:return b}return x}),Wn=u,Wn}var Bn,Co;function ph(){if(Co)return Bn;Co=1;var t=Fl(),n=Ul(),r=Kd(),a=lh(),i=fh(),s=je(),l=Gl(),c=Kl(),y=1,m="[object Arguments]",C="[object Array]",b="[object Object]",_=Object.prototype,q=_.hasOwnProperty;function R(f,o,d,u,p,x){var v=s(f),g=s(o),h=v?C:i(f),j=g?C:i(o);h=h==m?b:h,j=j==m?b:j;var P=h==b,O=j==b,D=h==j;if(D&&l(f)){if(!l(o))return!1;v=!0,P=!1}if(D&&!P)return x||(x=new t),v||c(f)?n(f,o,d,u,p,x):r(f,o,h,d,u,p,x);if(!(d&y)){var M=P&&q.call(f,"__wrapped__"),T=O&&q.call(o,"__wrapped__");if(M||T){var W=M?f.value():f,H=T?o.value():o;return x||(x=new t),p(W,H,d,u,x)}}return D?(x||(x=new t),a(f,o,d,u,p,x)):!1}return Bn=R,Bn}var Fn,Po;function Yl(){if(Po)return Fn;Po=1;var t=ph(),n=Nt();function r(a,i,s,l,c){return a===i?!0:a==null||i==null||!n(a)&&!n(i)?a!==a&&i!==i:t(a,i,s,l,r,c)}return Fn=r,Fn}var Un,Do;function mh(){if(Do)return Un;Do=1;var t=Fl(),n=Yl(),r=1,a=2;function i(s,l,c,y){var m=c.length,C=m,b=!y;if(s==null)return!C;for(s=Object(s);m--;){var _=c[m];if(b&&_[2]?_[1]!==s[_[0]]:!(_[0]in s))return!1}for(;++m<C;){_=c[m];var q=_[0],R=s[q],f=_[1];if(b&&_[2]){if(R===void 0&&!(q in s))return!1}else{var o=new t;if(y)var d=y(R,f,q,s,l,o);if(!(d===void 0?n(f,R,r|a,y,o):d))return!1}}return!0}return Un=i,Un}var Gn,qo;function Xl(){if(qo)return Gn;qo=1;var t=Ot();function n(r){return r===r&&!t(r)}return Gn=n,Gn}var $n,Oo;function gh(){if(Oo)return $n;Oo=1;var t=Xl(),n=$a();function r(a){for(var i=n(a),s=i.length;s--;){var l=i[s],c=a[l];i[s]=[l,c,t(c)]}return i}return $n=r,$n}var Kn,No;function Vl(){if(No)return Kn;No=1;function t(n,r){return function(a){return a==null?!1:a[n]===r&&(r!==void 0||n in Object(a))}}return Kn=t,Kn}var Yn,Eo;function vh(){if(Eo)return Yn;Eo=1;var t=mh(),n=gh(),r=Vl();function a(i){var s=n(i);return s.length==1&&s[0][2]?r(s[0][0],s[0][1]):function(l){return l===i||t(l,i,s)}}return Yn=a,Yn}var Xn,Mo;function yh(){if(Mo)return Xn;Mo=1;var t=Ga();function n(r,a,i){var s=r==null?void 0:t(r,a);return s===void 0?i:s}return Xn=n,Xn}var Vn,Ao;function xh(){if(Ao)return Vn;Ao=1;function t(n,r){return n!=null&&r in Object(n)}return Vn=t,Vn}var Qn,To;function bh(){if(To)return Qn;To=1;var t=Bl(),n=Wa(),r=je(),a=Ha(),i=Ia(),s=Bt();function l(c,y,m){y=t(y,c);for(var C=-1,b=y.length,_=!1;++C<b;){var q=s(y[C]);if(!(_=c!=null&&m(c,q)))break;c=c[q]}return _||++C!=b?_:(b=c==null?0:c.length,!!b&&i(b)&&a(q,b)&&(r(c)||n(c)))}return Qn=l,Qn}var Jn,ko;function _h(){if(ko)return Jn;ko=1;var t=xh(),n=bh();function r(a,i){return a!=null&&n(a,i,t)}return Jn=r,Jn}var Zn,zo;function jh(){if(zo)return Zn;zo=1;var t=Yl(),n=yh(),r=_h(),a=Ba(),i=Xl(),s=Vl(),l=Bt(),c=1,y=2;function m(C,b){return a(C)&&i(b)?s(l(C),b):function(_){var q=n(_,C);return q===void 0&&q===b?r(_,C):t(b,q,c|y)}}return Zn=m,Zn}var ea,Lo;function Ft(){if(Lo)return ea;Lo=1;function t(n){return n}return ea=t,ea}var ta,Io;function wh(){if(Io)return ta;Io=1;function t(n){return function(r){return r?.[n]}}return ta=t,ta}var ra,Ho;function Sh(){if(Ho)return ra;Ho=1;var t=Ga();function n(r){return function(a){return t(a,r)}}return ra=n,ra}var na,Wo;function Rh(){if(Wo)return na;Wo=1;var t=wh(),n=Sh(),r=Ba(),a=Bt();function i(s){return r(s)?t(a(s)):n(s)}return na=i,na}var aa,Bo;function Ch(){if(Bo)return aa;Bo=1;var t=vh(),n=jh(),r=Ft(),a=je(),i=Rh();function s(l){return typeof l=="function"?l:l==null?r:typeof l=="object"?a(l)?n(l[0],l[1]):t(l):i(l)}return aa=s,aa}var sa,Fo;function Ph(){if(Fo)return sa;Fo=1;function t(n){return function(r,a,i){for(var s=-1,l=Object(r),c=i(r),y=c.length;y--;){var m=c[n?y:++s];if(a(l[m],m,l)===!1)break}return r}}return sa=t,sa}var ia,Uo;function Dh(){if(Uo)return ia;Uo=1;var t=Ph(),n=t();return ia=n,ia}var oa,Go;function qh(){if(Go)return oa;Go=1;var t=Dh(),n=$a();function r(a,i){return a&&t(a,i,n)}return oa=r,oa}var la,$o;function Oh(){if($o)return la;$o=1;var t=zt();function n(r,a){return function(i,s){if(i==null)return i;if(!t(i))return r(i,s);for(var l=i.length,c=a?l:-1,y=Object(i);(a?c--:++c<l)&&s(y[c],c,y)!==!1;);return i}}return la=n,la}var ua,Ko;function Nh(){if(Ko)return ua;Ko=1;var t=qh(),n=Oh(),r=n(t);return ua=r,ua}var ca,Yo;function Eh(){if(Yo)return ca;Yo=1;var t=Nh(),n=zt();function r(a,i){var s=-1,l=n(a)?Array(a.length):[];return t(a,function(c,y,m){l[++s]=i(c,y,m)}),l}return ca=r,ca}var da,Xo;function Mh(){if(Xo)return da;Xo=1;function t(n,r){var a=n.length;for(n.sort(r);a--;)n[a]=n[a].value;return n}return da=t,da}var ha,Vo;function Ah(){if(Vo)return ha;Vo=1;var t=Et();function n(r,a){if(r!==a){var i=r!==void 0,s=r===null,l=r===r,c=t(r),y=a!==void 0,m=a===null,C=a===a,b=t(a);if(!m&&!b&&!c&&r>a||c&&y&&C&&!m&&!b||s&&y&&C||!i&&C||!l)return 1;if(!s&&!c&&!b&&r<a||b&&i&&l&&!s&&!c||m&&i&&l||!y&&l||!C)return-1}return 0}return ha=n,ha}var fa,Qo;function Th(){if(Qo)return fa;Qo=1;var t=Ah();function n(r,a,i){for(var s=-1,l=r.criteria,c=a.criteria,y=l.length,m=i.length;++s<y;){var C=t(l[s],c[s]);if(C){if(s>=m)return C;var b=i[s];return C*(b=="desc"?-1:1)}}return r.index-a.index}return fa=n,fa}var pa,Jo;function kh(){if(Jo)return pa;Jo=1;var t=Hl(),n=Ga(),r=Ch(),a=Eh(),i=Mh(),s=$l(),l=Th(),c=Ft(),y=je();function m(C,b,_){b.length?b=t(b,function(f){return y(f)?function(o){return n(o,f.length===1?f[0]:f)}:f}):b=[c];var q=-1;b=t(b,s(r));var R=a(C,function(f,o,d){var u=t(b,function(p){return p(f)});return{criteria:u,index:++q,value:f}});return i(R,function(f,o){return l(f,o,_)})}return pa=m,pa}var ma,Zo;function zh(){if(Zo)return ma;Zo=1;function t(n,r,a){switch(a.length){case 0:return n.call(r);case 1:return n.call(r,a[0]);case 2:return n.call(r,a[0],a[1]);case 3:return n.call(r,a[0],a[1],a[2])}return n.apply(r,a)}return ma=t,ma}var ga,el;function Lh(){if(el)return ga;el=1;var t=zh(),n=Math.max;function r(a,i,s){return i=n(i===void 0?a.length-1:i,0),function(){for(var l=arguments,c=-1,y=n(l.length-i,0),m=Array(y);++c<y;)m[c]=l[i+c];c=-1;for(var C=Array(i+1);++c<i;)C[c]=l[c];return C[i]=s(m),t(a,this,C)}}return ga=r,ga}var va,tl;function Ih(){if(tl)return va;tl=1;function t(n){return function(){return n}}return va=t,va}var ya,rl;function Hh(){if(rl)return ya;rl=1;var t=He(),n=(function(){try{var r=t(Object,"defineProperty");return r({},"",{}),r}catch{}})();return ya=n,ya}var xa,nl;function Wh(){if(nl)return xa;nl=1;var t=Ih(),n=Hh(),r=Ft(),a=n?function(i,s){return n(i,"toString",{configurable:!0,enumerable:!1,value:t(s),writable:!0})}:r;return xa=a,xa}var ba,al;function Bh(){if(al)return ba;al=1;var t=800,n=16,r=Date.now;function a(i){var s=0,l=0;return function(){var c=r(),y=n-(c-l);if(l=c,y>0){if(++s>=t)return arguments[0]}else s=0;return i.apply(void 0,arguments)}}return ba=a,ba}var _a,sl;function Fh(){if(sl)return _a;sl=1;var t=Wh(),n=Bh(),r=n(t);return _a=r,_a}var ja,il;function Uh(){if(il)return ja;il=1;var t=Ft(),n=Lh(),r=Fh();function a(i,s){return r(n(i,s,t),i+"")}return ja=a,ja}var wa,ol;function Gh(){if(ol)return wa;ol=1;var t=od(),n=kh(),r=Uh(),a=Ll(),i=r(function(s,l){if(s==null)return[];var c=l.length;return c>1&&a(s,l[0],l[1])?l=[]:c>2&&a(l[0],l[1],l[2])&&(l=[l[0]]),n(s,t(l,1),[])});return wa=i,wa}var $h=Gh();const at=Ea($h),Kh=()=>{const[t,n]=Ee("/worlds/*"),r=n?.["*"],[a,i]=A.useState(!1),s=Re(Ue),l=Re(Ge),c=Re(he),[y,m]=A.useState(!1),[C,b]=A.useState(null),[_,q]=A.useState(null),R=A.useRef(r);R.current=r;const f=X.useUtils(),o=X.world.use.useMutation(),d=X.world.load.useMutation(),u=yt();A.useEffect(()=>{!r||!c.started||(m(!0),b(null),Promise.all([f.world.revisions.fetch({world:r}),f.world.meta.fetch({world:r})]).then(([g,h])=>{R.current===r&&(b(g?.reverse()??null),q(h??null),m(!1))}))},[r,c.started]);const p=async()=>{if(!r)return;i(!0),await o.mutateAsync({world:r})&&(Ge.set(r),Ue.set(r)),i(!1)},x=async()=>{if(!r)return;if(i(!0),await o.mutateAsync({})){const h=await f.world.next.fetch(),j=await f.world.active.fetch();Ge.set(j),Ue.set(h)}i(!1)},v=async g=>{if(!r)return;i(!0);const h=await d.mutateAsync({world:r,revision:g??void 0});console.info("world loaded",h),i(!1)};return e.jsxs("div",{className:"world-view",children:[e.jsx("div",{className:"world-info",children:r&&e.jsxs(_e,{children:[e.jsxs("div",{className:"stats",children:[e.jsxs("div",{className:"stat",children:[e.jsx("b",{"data-tooltip":"World name",children:"Name:"})," ",r]}),e.jsxs("div",{className:"stat",children:[e.jsx("b",{"data-tooltip":"World map",children:"Map:"})," ",_?.meta.world.environment??"Unknown"]}),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:"})," ",l===r?"Yes":"No"]}),s!==l&&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:"})," ",s===r?"Yes":"No"]})]}),e.jsx("div",{className:"section-header","data-tooltip":"A list of all brick, component, or entity owners in this world.",children:"Owners"}),e.jsx("div",{className:"owners-table",children:e.jsx(Yh,{meta:_})}),e.jsx("div",{className:"section-header","data-tooltip":"A list of all the revisions made to this world. Click the buttons on the right to load a specific revision.",children:"Revisions"}),e.jsxs("div",{className:"revision-list",children:[e.jsx(Na,{visible:y,children:e.jsx(fe,{active:y,size:"huge",children:"Loading World"})}),C?.length===0&&e.jsx("div",{className:"revision-item",children:e.jsx("i",{className:"revision-note",children:"Something went wrong listing the revisions"})}),C===null&&!y&&c.started&&e.jsx("div",{className:"revision-item",children:e.jsx("i",{className:"revision-note",children:"World might not exist"})}),C?.map(g=>e.jsxs("div",{className:"revision-item config",children:[e.jsx("div",{className:"revision-index",children:g.index}),e.jsxs("div",{className:"revision-note",children:[g.note,e.jsx("div",{className:"revision-date",children:new Date(g.date).toLocaleString()})]}),e.jsx(U,{icon:!0,main:!0,disabled:a||!c.started,onClick:()=>u.prompt(e.jsxs("p",{children:["Are you sure you want to load revision ",g.index," of"," ",e.jsx("b",{style:{color:"white"},children:r}),"? Unsaved work will be lost."]})).then(h=>{h&&v(g.index)}),"data-tooltip":`Load revision ${g.index}`,children:e.jsx(_t,{})})]},g.index))]})]})}),e.jsxs(Ie,{attached:!0,children:[l!==r&&e.jsxs(U,{normal:!0,disabled:a||!r,"data-tooltip":"Make this the default world for the server (on startup)",onClick:()=>p(),children:[e.jsx(yl,{}),"Make Default"]}),l===r&&e.jsxs(U,{warn:!0,disabled:a||!r,"data-tooltip":"Remove this world as the default world for the server (on startup)",onClick:()=>x(),children:[e.jsx(xl,{}),"Clear Default"]}),e.jsx("span",{style:{flex:1}}),e.jsxs(U,{main:!0,"data-tooltip":"Load this world immediately",disabled:a||!c.started||!r,onClick:()=>u.prompt(e.jsxs("p",{children:["Are you sure you want to load"," ",e.jsx("b",{style:{color:"white"},children:r}),"? Unsaved work will be lost."]})).then(g=>{g&&v()}),children:[e.jsx(_t,{}),"Load"]})]}),u.children]})},Yh=({meta:t})=>{const[n,r]=Dt(),a=A.useMemo(()=>Object.fromEntries(t?.owners.map(C=>[C.id,C])??[]),[t]),i=A.useMemo(()=>{const C=Object.keys(a),b=at(C,u=>a[u].display_name),_=at(C,u=>a[u].brick_count),q=at(C,u=>a[u].component_count),R=at(C,u=>a[u].entity_count),f=at(C,u=>a[u].wire_count),o=Ks(C.length).reverse(),d=Ks(C.length);return{display_name:b,brick_count:_,component_count:q,entity_count:R,wire_count:f,reverse:o,inorder:d}},[t]),[s,l]=A.useState("brick_count"),[c,y]=A.useState(-1),m=C=>{C==s?y(b=>b*-1):(l(C),y(C==="display_name"?1:-1))};return t?e.jsx(_e,{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:()=>m("display_name"),children:e.jsxs("span",{children:["Name",e.jsx(ue,{name:"display_name",sort:s,direction:c})]})}),e.jsx("th",{onClick:()=>m("brick_count"),children:e.jsxs("span",{children:["Bricks",e.jsx(ue,{name:"brick_count",sort:s,direction:c})]})}),e.jsx("th",{onClick:()=>m("component_count"),children:e.jsxs("span",{children:["Components",e.jsx(ue,{name:"component_count",sort:s,direction:c})]})}),e.jsx("th",{onClick:()=>m("entity_count"),children:e.jsxs("span",{children:["Entities",e.jsx(ue,{name:"entity_count",sort:s,direction:c})]})}),e.jsx("th",{onClick:()=>m("wire_count"),children:e.jsxs("span",{children:["Wires",e.jsx(ue,{name:"wire_count",sort:s,direction:c})]})})]})}),e.jsxs("tbody",{children:[t?.owners.length===0&&e.jsx("tr",{children:e.jsx("td",{colSpan:5,style:{textAlign:"center"},children:"No owners found in this world"})}),(c>0?i.inorder:i.reverse).map(C=>{const b=i[s][C],_=a[b];return!_||_.brick_count+_.component_count+_.entity_count+_.wire_count===0?null:e.jsxs("tr",{onClick:()=>r(`/players/${b}`),children:[e.jsx("td",{className:"player-name",children:e.jsx("div",{className:"player-name-container",children:e.jsxs("div",{children:[e.jsx("div",{"data-tooltip":_.display_name?"Display Name":"Username",children:_.display_name??_.name}),_.display_name&&e.jsx("div",{className:"username","data-tooltip":"Username",children:_.name})]})})}),e.jsx("td",{style:{textAlign:"right"},children:_.brick_count.toLocaleString()}),e.jsx("td",{style:{textAlign:"right"},children:_.component_count.toLocaleString()}),e.jsx("td",{style:{textAlign:"right"},children:_.entity_count.toLocaleString()}),e.jsx("td",{style:{textAlign:"right"},children:_.wire_count.toLocaleString()})]},b)})]})]})}):null},Xh=["Plate","Space","Studio","Peaks"],Vh=()=>{const[t,n]=A.useState(""),[r,a]=A.useState(!0),[i,s]=A.useState([]),[l,c]=A.useState(!1),y=Re(Ue),m=Re(Ge),[C,b]=A.useState(!1),_=kl(),[q,R]=Ee("/worlds/*?"),f=R?.["*"],o=X.useUtils(),d=X.world.use.useMutation(),u=X.world.save.useMutation(),p=X.world.create.useMutation(),x=async()=>{a(!0);const[k,Y,V]=await Promise.all([o.world.list.fetch(),o.world.active.fetch(),o.world.next.fetch()]);s(k),Ge.set(Y),Ue.set(V),a(!1)};A.useEffect(()=>{x()},[]);const v=async()=>{if(c(!0),await d.mutateAsync({})){Ge.set(null);const Y=await o.world.next.fetch();Ue.set(Y)}c(!1)},g=async()=>{c(!0),await u.mutateAsync({}),c(!1)},h=async k=>{c(!0),await u.mutateAsync({name:k}),c(!1),x()},j=async(k,Y)=>{c(!0),await p.mutateAsync({name:k,level:Y}),c(!1),x()},P=k=>k.toLowerCase().includes(t.toLowerCase()),[O,D]=A.useState(null),M=yt({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(se,{type:"text",placeholder:"World Name",value:O??"",onChange:k=>D(k)})})]}),leftButton:k=>e.jsxs(U,{normal:!0,onClick:()=>k(null),children:[e.jsx(ut,{}),"Cancel"]}),rightButton:k=>e.jsxs(U,{disabled:!O,main:!0,onClick:()=>k(O),children:[e.jsx(wt,{}),"Save As"]})}),[T,W]=A.useState("Plate"),H=yt({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(se,{type:"text",placeholder:"World Name",value:O??"",onChange:k=>D(k)})}),e.jsx("p",{children:e.jsx(Pa,{value:T,options:Xh,onChange:k=>W(k)})})]}),leftButton:k=>e.jsxs(U,{normal:!0,onClick:()=>k(null),children:[e.jsx(ut,{}),"Cancel"]}),rightButton:k=>e.jsxs(U,{disabled:!O,main:!0,onClick:()=>k({name:O,map:T}),children:[e.jsx(wt,{}),"Create"]})});return e.jsxs(e.Fragment,{children:[e.jsx(qe,{title:"Worlds",children:e.jsxs("div",{className:"widgets-container worlds",children:[e.jsxs(U,{normal:!0,boxy:!0,"data-tooltip":"Show more world actions",onClick:()=>b(!C),children:[C?e.jsx(hl,{}):e.jsx(_l,{}),"Actions"]}),e.jsxs("div",{className:"widgets-list",style:{display:C?"block":"none"},children:[e.jsxs(U,{info:!0,disabled:l||!_.started,"data-tooltip":"Save the currently loaded world",onClick:()=>{b(!1),g()},children:[e.jsx(vl,{}),"Save World"]}),e.jsxs(U,{normal:!0,disabled:l||!_.started,"data-tooltip":"Save a copy of the currently loaded world",onClick:()=>{b(!1),D(null),M.prompt().then(k=>{k&&h(k)})},children:[e.jsx(Iu,{}),"Save As"]}),e.jsxs(U,{main:!0,disabled:l||!_.started,"data-tooltip":"Create a new world",onClick:()=>{b(!1),D(null),W("Plate"),H.prompt().then(k=>{k&&j(k.name,k.map)})},children:[e.jsx(Hu,{}),"New World"]}),e.jsxs(U,{normal:m===null,warn:m!==null,disabled:l||!m,"data-tooltip":"Remove the default world for the server (on startup)",onClick:()=>{b(!1),v()},children:[e.jsx(xl,{}),"Clear Default"]})]})]})}),e.jsxs(Oe,{children:[e.jsx(Ne,{}),e.jsxs("div",{className:"generic-container worlds-container",children:[e.jsxs("div",{className:"worlds-list-container",children:[e.jsxs(be,{children:[e.jsx(se,{type:"text",placeholder:"Search Worlds...",value:t,onChange:k=>n(k)}),e.jsx("span",{style:{flex:1}}),e.jsx(U,{icon:!0,normal:!0,"data-tooltip":"Refresh world list",onClick:x,children:e.jsx(Mt,{})})]}),e.jsxs("div",{className:"worlds-list",children:[e.jsx(_e,{children:i.map(k=>P(k)&&e.jsxs(lt,{href:"/worlds/"+k,className:`world-item ${k===f?"selected":""} ${k===m?"next":""}`,"data-tooltip":k===m?"This world will load when the server starts":"",children:[k===m?e.jsx(yl,{className:"world-item-active"}):!m&&k===y?e.jsx(Wu,{className:"world-item-next"}):e.jsx(Uu,{}),k]},k))}),e.jsx(fe,{active:r,size:"huge",children:"Loading Worlds"})]})]}),e.jsxs("div",{className:"world-inspector-container",children:[e.jsx(be,{attached:!0,children:f??"SELECT A WORLD"}),e.jsx("div",{className:"world-inspector",children:e.jsx(Kh,{})})]})]})]}),M.children,H.children]})},Qh=({children:t})=>e.jsx(X.Provider,{client:ct,queryClient:Ya,children:e.jsxs(lu,{client:Ya,children:[e.jsx(Vu,{}),t]})}),Jh=()=>e.jsx(Qh,{children:e.jsx(ou,{children:e.jsx(uu,{hook:cu,children:e.jsxs(ul,{children:[e.jsx(xe,{path:"/",component:Hc}),e.jsx(xe,{path:"/history/:time?",component:Ju}),e.jsx(xe,{path:"/players/:id?",component:Fc}),e.jsx(xe,{path:"/plugins/:id?",component:$c}),e.jsx(xe,{path:"/server",component:Jc}),e.jsx(xe,{path:"/users/:id?",component:Zc}),e.jsx(xe,{path:"/worlds/*?",component:Vh}),e.jsx(xe,{component:Qu})]})})})});Jl.createRoot(document.getElementById("root")).render(e.jsx(Jh,{}));
6
- //# sourceMappingURL=app-CLZ-5FIi.js.map