unleash-server
Version:
Unleash is an enterprise ready feature flag service. It provides different strategies for handling feature flags.
3 lines • 92.1 kB
JavaScript
import{j as g,B as X,T as ze,j1 as Rn,j2 as Dn,M as Ie,j3 as _n,j4 as Sr,e0 as On,m as Rr,r as L,j5 as rr,j6 as Pn,dF as En,dG as zn,b9 as nr,u as Cn,A as Mn,t as Dr,l as _r,V as jn,s as B,b as Or,al as Pr,cb as Tn,hY as Ln,hZ as Hn,j7 as Er,E as $n,b_ as Nn,i as or,aE as Wn,j8 as kn,cG as ir,b1 as An,b3 as qn,em as In,j9 as Gn,ja as zr,jb as Bn,jc as he,jd as Ct,g as Fn}from"./index-BAMIkcom.js";const Yn=({formData:t,actions:e,metricSeries:r,loading:n})=>g.jsxs(X,{children:[g.jsxs(X,{sx:o=>({display:"flex",flexDirection:"column",gap:o.spacing(3)}),children:[g.jsx(ze,{variant:"body2",color:"text.secondary",children:"Select a custom metric to see its value over time. This can help you understand the impact of your feature rollout on key outcomes, such as system performance, usage patterns or error rates."}),g.jsx(Rn,{value:t.metricName,onChange:e.handleSeriesChange,options:r,loading:n}),t.metricName?g.jsxs(g.Fragment,{children:[g.jsxs(Dn,{value:t.timeRange,onChange:e.setTimeRange,children:[g.jsx(Ie,{value:"hour",children:"Last hour"}),g.jsx(Ie,{value:"day",children:"Last 24 hours"}),g.jsx(Ie,{value:"week",children:"Last 7 days"}),g.jsx(Ie,{value:"month",children:"Last 30 days"})]}),g.jsx(_n,{value:t.aggregationMode,onChange:e.setAggregationMode,metricType:Sr(t.metricName)})]}):null]}),t.metricName?g.jsx(On,{sx:o=>({margin:o.spacing(1.5,0)}),control:g.jsx(Rr,{checked:t.yAxisMin==="zero",onChange:o=>e.setYAxisMin(o.target.checked?"zero":"auto")}),label:"Begin at zero"}):null]}),Xn=({open:t,initialConfig:e})=>{const[r,n]=L.useState((e==null?void 0:e.title)||""),[o,i]=L.useState((e==null?void 0:e.metricName)||""),[a,u]=L.useState((e==null?void 0:e.timeRange)||"day"),[s,l]=L.useState((e==null?void 0:e.yAxisMin)||"auto"),[c,d]=L.useState((e==null?void 0:e.labelSelectors)||{}),[f,p]=L.useState((e==null?void 0:e.aggregationMode)||rr(o)),{data:{labels:w}}=Pn(o?{series:o,range:a,aggregationMode:f}:void 0);L.useEffect(()=>{t&&e?(n(e.title||""),i(e.metricName),u(e.timeRange),l(e.yAxisMin),d(e.labelSelectors),p(e.aggregationMode||rr(e.metricName))):t&&!e&&(n(""),i(""),u("day"),l("auto"),d({}),p("count"))},[t,e]);const D=b=>{i(b),d({});const y=Sr(b);y==="counter"?p("count"):y==="gauge"?p("avg"):y==="histogram"&&p("p50")},S=()=>({title:r||void 0,metricName:o,timeRange:a,yAxisMin:s,labelSelectors:c,aggregationMode:f}),h=o.length>0;return{formData:{title:r,metricName:o,timeRange:a,yAxisMin:s,aggregationMode:f,labelSelectors:c},actions:{setTitle:n,setMetricName:i,setTimeRange:u,setYAxisMin:l,setAggregationMode:p,setLabelSelectors:d,handleSeriesChange:D,getConfigToSave:S},isValid:h,currentAvailableLabels:w}},Un=()=>{const t="api/admin/impact-metrics/config",{data:e,refetch:r,loading:n,error:o}=En(nr(t),()=>zn(nr(t),"impactMetricsConfig"));return{configs:(e==null?void 0:e.configs)||[],refetch:r,loading:n,error:o}},Vn=t=>{const e=t?`api/admin/projects/${t.projectId}/features/${t.featureName}/impact-metrics/config`:"api/admin/impact-metrics/config",{makeRequest:r,createRequest:n,errors:o,loading:i}=Cn({propagateErrors:!0}),a=L.useCallback(async s=>{const l=n(e,{method:"POST",body:JSON.stringify(s)},"updateImpactMetric");return r(l.caller,l.id)},[r,n]),u=L.useCallback(async s=>{const l=n(`${e}/${s}`,{method:"DELETE"},"deleteImpactMetric");return r(l.caller,l.id)},[r,n,e]);return{createImpactMetric:a,deleteImpactMetric:u,errors:o,loading:i}},de="*",Ga=()=>{const{configs:t,loading:e,error:r,refetch:n}=Un(),{layout:o,charts:i}=L.useMemo(()=>({layout:t.map((p,w)=>{const D=w%2,S=Math.floor(w/2);return{i:p.id,x:D*6,y:S*2,w:6,h:2,minW:4,minH:2,maxW:12,maxH:8}}),charts:t}),[t]),{createImpactMetric:a,deleteImpactMetric:u,loading:s,errors:l}=Vn(),c=L.useCallback(async p=>{await a(p),n()},[a,n]),d=L.useCallback(async(p,w)=>{await a({...w,id:p}),n()},[t,a,n]),f=L.useCallback(async p=>{await u(p),n()},[t,u,n]);return{charts:i,layout:o,loading:e||s,error:r||Object.keys(l).length>0?l:void 0,addChart:c,updateChart:d,deleteChart:f}},Kn=({labelKey:t,options:e,value:r,onChange:n})=>{const o=r.includes(de),i=`autocomplete-${t}`,a=e.length>=1e3,u=[de,...e];return g.jsx(Mn,{multiple:!0,disableCloseOnSelect:!0,id:i,options:u,value:o?e:r,getOptionLabel:s=>s===de?"(Select all)":s,onChange:(s,l,c,d)=>{if((d==null?void 0:d.option)===de){n(o?[]:[de]);return}n(l.filter(f=>f!==de))},renderOption:(s,l,{selected:c})=>{const{key:d,...f}=s;return g.jsxs("li",{...f,children:[g.jsx(Rr,{size:"small",checked:l===de?o:c,style:{marginRight:8}}),l===de?g.jsx(ze,{component:"span",sx:{color:"text.secondary"},children:"Select all"}):l]},d||l)},renderTags:(s,l)=>{const d=s.slice(-5),f=s.length-5;return g.jsxs(g.Fragment,{children:[d.map((p,w)=>{const{key:D,...S}=l({index:w});return L.createElement(Dr,{...S,key:D,label:p,size:"small"})}),f>0?g.jsxs(ze,{component:"span",sx:{color:"text.secondary"},children:[" ","(+",f,")"]}):null]})},renderInput:s=>g.jsxs(g.Fragment,{children:[g.jsx(_r,{...s,label:t,placeholder:o?void 0:"Select values…",variant:"outlined",size:"small",inputProps:{...s.inputProps}}),a&&g.jsx(jn,{severity:"warning",sx:l=>({padding:l.spacing(1,2),marginTop:l.spacing(1)}),children:"Maximum of 1000 values loaded due to performance."})]})})},Zn=B(X)(({theme:t})=>({display:"flex",flexDirection:"column",gap:t.spacing(1),width:"100%"})),Jn=B(X)(({theme:t})=>({width:"100%",display:"flex",alignItems:"center",gap:t.spacing(1)})),Qn=B(X)(({theme:t})=>({display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(250px, 1fr))",gap:t.spacing(2),flexGrow:1})),eo=B(X)({display:"flex",flexDirection:"column",flexGrow:1}),to=B(ze)({lineHeight:1.5,height:"24px"}),ro=B(Dr)(({theme:t})=>({position:"relative",height:"20px",margin:t.spacing(-1,0)})),ar=({title:t,labels:e,labelSelectors:r,onLabelChange:n,onAllToggle:o,onChange:i})=>{const a=e.map(([l])=>l),u=a.some(l=>r[l]),s=()=>{const l={};Object.entries(r).forEach(([c,d])=>{a.includes(c)||(l[c]=d)}),i(l)};return g.jsxs(Zn,{children:[g.jsxs(Jn,{children:[g.jsx(to,{variant:"subtitle2",children:t}),u&&g.jsx(ro,{label:"Clear all",size:"small",variant:"outlined",onClick:s})]}),g.jsx(Qn,{children:e.map(([l,c])=>{const d=r[l]||[];return g.jsx(eo,{children:g.jsx(Kn,{labelKey:l,options:c,value:d,onChange:f=>n(l,f),handleAllToggle:o})},l)})})]})},sr=["environment","appName","origin"],no=({labelSelectors:t,onChange:e,availableLabels:r})=>{const n=(u,s)=>{const l={...t};s.length===0?delete l[u]:l[u]=s,e(l)},o=(u,s)=>{const l={...t};s?l[u]=["*"]:delete l[u],e(l)};if(!r||Object.keys(r).length===0)return null;const i=Object.entries(r).filter(([u])=>sr.includes(u)).sort(),a=Object.entries(r).filter(([u])=>!sr.includes(u)).sort();return g.jsxs(X,{sx:{display:"flex",gap:2,flexWrap:"wrap"},children:[i.length>0&&g.jsx(ar,{title:"Filter by labels",labels:i,labelSelectors:t,onLabelChange:n,onAllToggle:o,onChange:e}),a.length>0&&g.jsx(ar,{title:"Flag specific filters",labels:a,labelSelectors:t,onLabelChange:n,onAllToggle:o,onChange:e})]})},oo=B(X)(({theme:t})=>({display:"flex",flexDirection:"column",gap:t.spacing(3),[t.breakpoints.down("lg")]:{flex:"none"},[t.breakpoints.up("lg")]:{flex:"0 0 400px"}})),io=B(X)(({theme:t})=>({flex:1,display:"flex",flexDirection:"column",gap:t.spacing(2),[t.breakpoints.down("lg")]:{minHeight:"300px"},[t.breakpoints.up("lg")]:{minHeight:"400px"}})),Ba=({open:t,onClose:e,onSave:r,initialConfig:n,metricSeries:o,loading:i=!1})=>{const{formData:a,actions:u,isValid:s,currentAvailableLabels:l}=Xn({open:t,initialConfig:n}),c=Or(),d=Pr(c.breakpoints.down("lg")),f=()=>{s&&(r(u.getConfigToSave()),e())};return g.jsxs(Tn,{open:t,onClose:e,maxWidth:"lg",fullWidth:!0,sx:{"& .MuiDialog-paper":{minHeight:"600px",maxHeight:"90vh"}},children:[g.jsx(Ln,{children:n?"Edit Chart":"Add New Chart"}),g.jsxs(Hn,{children:[g.jsxs(X,{sx:p=>({display:"flex",flexDirection:{xs:"column",lg:"row"},gap:p.spacing(3),pt:p.spacing(1),height:"100%"}),children:[g.jsxs(oo,{children:[g.jsx(_r,{label:"Chart Title (optional)",value:a.title,onChange:p=>u.setTitle(p.target.value),fullWidth:!0,variant:"outlined",size:"small"}),g.jsx(Yn,{formData:a,actions:u,metricSeries:o,loading:i})]}),g.jsx(io,{children:g.jsx(X,{sx:p=>({padding:p.spacing(1)}),children:g.jsx(Er,{metricName:a.metricName,timeRange:a.timeRange,labelSelectors:a.labelSelectors,yAxisMin:a.yAxisMin,aggregationMode:a.aggregationMode,isPreview:!0},d?"small":"large")})})]}),l?g.jsx(no,{labelSelectors:a.labelSelectors,onChange:u.setLabelSelectors,availableLabels:l}):null]}),g.jsx($n,{}),g.jsxs(Nn,{sx:p=>({margin:p.spacing(2,3,3)}),children:[g.jsx(or,{onClick:e,children:"Cancel"}),g.jsx(or,{onClick:f,variant:"contained",disabled:!s,children:n?"Update":"Add Chart"})]})]})},ao=t=>{const e=[];t.displayName&&e.push(`${t.displayName}`),e.push(`last ${t.timeRange}`),e.push(t.aggregationMode);const r=Object.keys(t.labelSelectors).length;return r>0&&e.push(`${r} filter${r>1?"s":""}`),e.join(" • ")},so=B(Wn)(({theme:t})=>({borderRadius:`${t.shape.borderRadiusMedium}px`,boxShadow:"none",display:"flex",flexDirection:"column",height:"100%"})),lo=B(X)({flex:1,display:"flex",flexDirection:"column",minHeight:0}),uo=B(X)(({theme:t})=>({position:"relative",minWidth:0,flexGrow:1,height:"100%",display:"flex",flexDirection:"column",margin:"auto 0",padding:t.spacing(3)})),co=B(X)(({theme:t})=>({display:"flex",gap:t.spacing(1),alignItems:"center",padding:t.spacing(1.5,2),borderBottom:`1px solid ${t.palette.divider}`})),fo=B(X)(({theme:t})=>({display:"flex",flexDirection:"column",justifyContent:"flex-end",flexGrow:1,overflow:"hidden",textOverflow:"ellipsis"})),po=B(X)(({theme:t})=>({marginLeft:"auto",display:"flex",alignItems:"center",gap:t.spacing(.5)})),ho=B(kn)(({theme:t})=>({alignSelf:"start",color:t.palette.primary.main,marginTop:t.spacing(.25)})),Fa=({config:t,onEdit:e,onDelete:r,permission:n=In,projectId:o,dragHandle:i,icon:a})=>g.jsxs(so,{children:[g.jsxs(co,{children:[i,t.mode==="read"?g.jsx(ho,{}):null,g.jsxs(fo,{children:[t.title&&g.jsx(ze,{variant:"h6",children:t.title}),g.jsx(ze,{variant:"body2",color:"text.secondary",children:ao(t)})]}),a,t.mode!=="read"&&g.jsxs(po,{children:[g.jsx(ir,{onClick:()=>e(t),permission:n,projectId:o,tooltipProps:{title:"Edit chart"},children:g.jsx(An,{})}),g.jsx(ir,{onClick:()=>r(t.id),permission:n,projectId:o,tooltipProps:{title:"Remove chart"},children:g.jsx(qn,{})})]})]}),g.jsx(lo,{children:g.jsx(uo,{children:g.jsx(Er,{metricName:t.metricName,timeRange:t.timeRange,labelSelectors:t.labelSelectors,yAxisMin:t.yAxisMin,aggregationMode:t.aggregationMode,aspectRatio:1.5,overrideOptions:{maintainAspectRatio:!1},emptyDataDescription:"Send impact metrics using Unleash SDK for this series to view the chart."})})})]});var Cr={exports:{}},We={},bt={exports:{}};(function(t,e){(function(r,n){n(e)})(Gn,function(r){function n(v){return function(T,M,j,W,I,te,k){return v(T,M,k)}}function o(v){return function(T,M,j,W){if(!T||!M||typeof T!="object"||typeof M!="object")return v(T,M,j,W);var I=W.get(T),te=W.get(M);if(I&&te)return I===M&&te===T;W.set(T,M),W.set(M,T);var k=v(T,M,j,W);return W.delete(T),W.delete(M),k}}function i(v,_){var T={};for(var M in v)T[M]=v[M];for(var M in _)T[M]=_[M];return T}function a(v){return v.constructor===Object||v.constructor==null}function u(v){return typeof v.then=="function"}function s(v,_){return v===_||v!==v&&_!==_}var l="[object Arguments]",c="[object Boolean]",d="[object Date]",f="[object RegExp]",p="[object Map]",w="[object Number]",D="[object Object]",S="[object Set]",h="[object String]",b=Object.prototype.toString;function y(v){var _=v.areArraysEqual,T=v.areDatesEqual,M=v.areMapsEqual,j=v.areObjectsEqual,W=v.areRegExpsEqual,I=v.areSetsEqual,te=v.createIsNestedEqual,k=te(ne);function ne(H,A,oe){if(H===A)return!0;if(!H||!A||typeof H!="object"||typeof A!="object")return H!==H&&A!==A;if(a(H)&&a(A))return j(H,A,k,oe);var er=Array.isArray(H),tr=Array.isArray(A);if(er||tr)return er===tr&&_(H,A,k,oe);var ie=b.call(H);return ie!==b.call(A)?!1:ie===d?T(H,A,k,oe):ie===f?W(H,A,k,oe):ie===p?M(H,A,k,oe):ie===S?I(H,A,k,oe):ie===D||ie===l?u(H)||u(A)?!1:j(H,A,k,oe):ie===c||ie===w||ie===h?s(H.valueOf(),A.valueOf()):!1}return ne}function x(v,_,T,M){var j=v.length;if(_.length!==j)return!1;for(;j-- >0;)if(!T(v[j],_[j],j,j,v,_,M))return!1;return!0}var m=o(x);function z(v,_){return s(v.valueOf(),_.valueOf())}function N(v,_,T,M){var j=v.size===_.size;if(!j)return!1;if(!v.size)return!0;var W={},I=0;return v.forEach(function(te,k){if(j){var ne=!1,H=0;_.forEach(function(A,oe){!ne&&!W[H]&&(ne=T(k,oe,I,H,v,_,M)&&T(te,A,k,oe,v,_,M))&&(W[H]=!0),H++}),I++,j=ne}}),j}var q=o(N),K="_owner",J=Object.prototype.hasOwnProperty;function Me(v,_,T,M){var j=Object.keys(v),W=j.length;if(Object.keys(_).length!==W)return!1;for(var I;W-- >0;){if(I=j[W],I===K){var te=!!v.$$typeof,k=!!_.$$typeof;if((te||k)&&te!==k)return!1}if(!J.call(_,I)||!T(v[I],_[I],I,I,v,_,M))return!1}return!0}var ct=o(Me);function je(v,_){return v.source===_.source&&v.flags===_.flags}function Te(v,_,T,M){var j=v.size===_.size;if(!j)return!1;if(!v.size)return!0;var W={};return v.forEach(function(I,te){if(j){var k=!1,ne=0;_.forEach(function(H,A){!k&&!W[ne]&&(k=T(I,H,te,A,v,_,M))&&(W[ne]=!0),ne++}),j=k}}),j}var Qt=o(Te),ge=Object.freeze({areArraysEqual:x,areDatesEqual:z,areMapsEqual:N,areObjectsEqual:Me,areRegExpsEqual:je,areSetsEqual:Te,createIsNestedEqual:n}),me=Object.freeze({areArraysEqual:m,areDatesEqual:z,areMapsEqual:q,areObjectsEqual:ct,areRegExpsEqual:je,areSetsEqual:Qt,createIsNestedEqual:n}),qe=y(ge);function dt(v,_){return qe(v,_,void 0)}var gn=y(i(ge,{createIsNestedEqual:function(){return s}}));function mn(v,_){return gn(v,_,void 0)}var yn=y(me);function vn(v,_){return yn(v,_,new WeakMap)}var bn=y(i(me,{createIsNestedEqual:function(){return s}}));function wn(v,_){return bn(v,_,new WeakMap)}function xn(v){return y(i(ge,v(ge)))}function Sn(v){var _=y(i(me,v(me)));return function(T,M,j){return j===void 0&&(j=new WeakMap),_(T,M,j)}}r.circularDeepEqual=vn,r.circularShallowEqual=wn,r.createCustomCircularEqual=Sn,r.createCustomEqual=xn,r.deepEqual=dt,r.sameValueZeroEqual=s,r.shallowEqual=mn,Object.defineProperty(r,"__esModule",{value:!0})})})(bt,bt.exports);var Mt=bt.exports;const Ze=zr(Bn);var E={},go=function(e,r,n){return e===r?!0:e.className===r.className&&n(e.style,r.style)&&e.width===r.width&&e.autoSize===r.autoSize&&e.cols===r.cols&&e.draggableCancel===r.draggableCancel&&e.draggableHandle===r.draggableHandle&&n(e.verticalCompact,r.verticalCompact)&&n(e.compactType,r.compactType)&&n(e.layout,r.layout)&&n(e.margin,r.margin)&&n(e.containerPadding,r.containerPadding)&&e.rowHeight===r.rowHeight&&e.maxRows===r.maxRows&&e.isBounded===r.isBounded&&e.isDraggable===r.isDraggable&&e.isResizable===r.isResizable&&e.allowOverlap===r.allowOverlap&&e.preventCollision===r.preventCollision&&e.useCSSTransforms===r.useCSSTransforms&&e.transformScale===r.transformScale&&e.isDroppable===r.isDroppable&&n(e.resizeHandles,r.resizeHandles)&&n(e.resizeHandle,r.resizeHandle)&&e.onLayoutChange===r.onLayoutChange&&e.onDragStart===r.onDragStart&&e.onDrag===r.onDrag&&e.onDragStop===r.onDragStop&&e.onResizeStart===r.onResizeStart&&e.onResize===r.onResize&&e.onResizeStop===r.onResizeStop&&e.onDrop===r.onDrop&&n(e.droppingItem,r.droppingItem)&&n(e.innerRef,r.innerRef)};Object.defineProperty(E,"__esModule",{value:!0});E.bottom=jt;E.childrenEqual=vo;E.cloneLayout=Mr;E.cloneLayoutItem=xe;E.collides=Je;E.compact=Tr;E.compactItem=Lr;E.compactType=jo;E.correctBounds=Hr;E.fastPositionEqual=bo;E.fastRGLPropsEqual=void 0;E.getAllCollisions=$r;E.getFirstCollision=be;E.getLayoutItem=Tt;E.getStatics=Lt;E.modifyLayout=jr;E.moveElement=Ne;E.moveElementAwayFromCollision=xt;E.noop=void 0;E.perc=xo;E.resizeItemInDirection=Po;E.setTopLeft=zo;E.setTransform=Eo;E.sortLayoutItems=At;E.sortLayoutItemsByColRow=qr;E.sortLayoutItemsByRowCol=Ar;E.synchronizeLayoutWithChildren=Co;E.validateLayout=Mo;E.withLayoutItem=yo;var lr=Mt,$e=mo(L);function mo(t){return t&&t.__esModule?t:{default:t}}function jt(t){let e=0,r;for(let n=0,o=t.length;n<o;n++)r=t[n].y+t[n].h,r>e&&(e=r);return e}function Mr(t){const e=Array(t.length);for(let r=0,n=t.length;r<n;r++)e[r]=xe(t[r]);return e}function jr(t,e){const r=Array(t.length);for(let n=0,o=t.length;n<o;n++)e.i===t[n].i?r[n]=e:r[n]=t[n];return r}function yo(t,e,r){let n=Tt(t,e);return n?(n=r(xe(n)),t=jr(t,n),[t,n]):[t,null]}function xe(t){return{w:t.w,h:t.h,x:t.x,y:t.y,i:t.i,minW:t.minW,maxW:t.maxW,minH:t.minH,maxH:t.maxH,moved:!!t.moved,static:!!t.static,isDraggable:t.isDraggable,isResizable:t.isResizable,resizeHandles:t.resizeHandles,isBounded:t.isBounded}}function vo(t,e){return(0,lr.deepEqual)($e.default.Children.map(t,r=>r==null?void 0:r.key),$e.default.Children.map(e,r=>r==null?void 0:r.key))&&(0,lr.deepEqual)($e.default.Children.map(t,r=>r==null?void 0:r.props["data-grid"]),$e.default.Children.map(e,r=>r==null?void 0:r.props["data-grid"]))}E.fastRGLPropsEqual=go;function bo(t,e){return t.left===e.left&&t.top===e.top&&t.width===e.width&&t.height===e.height}function Je(t,e){return!(t.i===e.i||t.x+t.w<=e.x||t.x>=e.x+e.w||t.y+t.h<=e.y||t.y>=e.y+e.h)}function Tr(t,e,r,n){const o=Lt(t),i=At(t,e),a=Array(t.length);for(let u=0,s=i.length;u<s;u++){let l=xe(i[u]);l.static||(l=Lr(o,l,e,r,i,n),o.push(l)),a[t.indexOf(i[u])]=l,l.moved=!1}return a}const wo={x:"w",y:"h"};function wt(t,e,r,n){const o=wo[n];e[n]+=1;const i=t.map(a=>a.i).indexOf(e.i);for(let a=i+1;a<t.length;a++){const u=t[a];if(!u.static){if(u.y>e.y+e.h)break;Je(e,u)&&wt(t,u,r+e[o],n)}}e[n]=r}function Lr(t,e,r,n,o,i){const a=r==="vertical",u=r==="horizontal";if(a)for(e.y=Math.min(jt(t),e.y);e.y>0&&!be(t,e);)e.y--;else if(u)for(;e.x>0&&!be(t,e);)e.x--;let s;for(;(s=be(t,e))&&!(r===null&&i);)if(u?wt(o,e,s.x+s.w,"x"):wt(o,e,s.y+s.h,"y"),u&&e.x+e.w>n)for(e.x=n-e.w,e.y++;e.x>0&&!be(t,e);)e.x--;return e.y=Math.max(e.y,0),e.x=Math.max(e.x,0),e}function Hr(t,e){const r=Lt(t);for(let n=0,o=t.length;n<o;n++){const i=t[n];if(i.x+i.w>e.cols&&(i.x=e.cols-i.w),i.x<0&&(i.x=0,i.w=e.cols),!i.static)r.push(i);else for(;be(r,i);)i.y++}return t}function Tt(t,e){for(let r=0,n=t.length;r<n;r++)if(t[r].i===e)return t[r]}function be(t,e){for(let r=0,n=t.length;r<n;r++)if(Je(t[r],e))return t[r]}function $r(t,e){return t.filter(r=>Je(r,e))}function Lt(t){return t.filter(e=>e.static)}function Ne(t,e,r,n,o,i,a,u,s){if(e.static&&e.isDraggable!==!0||e.y===n&&e.x===r)return t;`${e.i}${String(r)}${String(n)}${e.x}${e.y}`;const l=e.x,c=e.y;typeof r=="number"&&(e.x=r),typeof n=="number"&&(e.y=n),e.moved=!0;let d=At(t,a);(a==="vertical"&&typeof n=="number"?c>=n:a==="horizontal"&&typeof r=="number"?l>=r:!1)&&(d=d.reverse());const p=$r(d,e),w=p.length>0;if(w&&s)return Mr(t);if(w&&i)return`${e.i}`,e.x=l,e.y=c,e.moved=!1,t;for(let D=0,S=p.length;D<S;D++){const h=p[D];`${e.i}${e.x}${e.y}${h.i}${h.x}${h.y}`,!h.moved&&(h.static?t=xt(t,h,e,o,a):t=xt(t,e,h,o,a))}return t}function xt(t,e,r,n,o,i){const a=o==="horizontal",u=o==="vertical",s=e.static;if(n){n=!1;const d={x:a?Math.max(e.x-r.w,0):r.x,y:u?Math.max(e.y-r.h,0):r.y,w:r.w,h:r.h,i:"-1"},f=be(t,d),p=f&&f.y+f.h>e.y,w=f&&e.x+e.w>f.x;if(f){if(p&&u)return Ne(t,r,void 0,e.y+1,n,s,o);if(p&&o==null)return e.y=r.y,r.y=r.y+r.h,t;if(w&&a)return Ne(t,e,r.x,void 0,n,s,o)}else return`${r.i}${d.x}${d.y}`,Ne(t,r,a?d.x:void 0,u?d.y:void 0,n,s,o)}const l=a?r.x+1:void 0,c=u?r.y+1:void 0;return l==null&&c==null?t:Ne(t,r,a?r.x+1:void 0,u?r.y+1:void 0,n,s,o)}function xo(t){return t*100+"%"}const Nr=(t,e,r,n)=>t+r>n?e:r,Wr=(t,e,r)=>t<0?e:r,kr=t=>Math.max(0,t),Ht=t=>Math.max(0,t),$t=(t,e,r)=>{let{left:n,height:o,width:i}=e;const a=t.top-(o-t.height);return{left:n,width:i,height:Wr(a,t.height,o),top:Ht(a)}},Nt=(t,e,r)=>{let{top:n,left:o,height:i,width:a}=e;return{top:n,height:i,width:Nr(t.left,t.width,a,r),left:kr(o)}},Wt=(t,e,r)=>{let{top:n,height:o,width:i}=e;const a=t.left-(i-t.width);return{height:o,width:a<0?t.width:Nr(t.left,t.width,i,r),top:Ht(n),left:kr(a)}},kt=(t,e,r)=>{let{top:n,left:o,height:i,width:a}=e;return{width:a,left:o,height:Wr(n,t.height,i),top:Ht(n)}},So=function(){return $t(arguments.length<=0?void 0:arguments[0],Nt(...arguments))},Ro=function(){return $t(arguments.length<=0?void 0:arguments[0],Wt(...arguments))},Do=function(){return kt(arguments.length<=0?void 0:arguments[0],Nt(...arguments))},_o=function(){return kt(arguments.length<=0?void 0:arguments[0],Wt(...arguments))},Oo={n:$t,ne:So,e:Nt,se:Do,s:kt,sw:_o,w:Wt,nw:Ro};function Po(t,e,r,n){const o=Oo[t];return o?o(e,{...e,...r},n):r}function Eo(t){let{top:e,left:r,width:n,height:o}=t;const i=`translate(${r}px,${e}px)`;return{transform:i,WebkitTransform:i,MozTransform:i,msTransform:i,OTransform:i,width:`${n}px`,height:`${o}px`,position:"absolute"}}function zo(t){let{top:e,left:r,width:n,height:o}=t;return{top:`${e}px`,left:`${r}px`,width:`${n}px`,height:`${o}px`,position:"absolute"}}function At(t,e){return e==="horizontal"?qr(t):e==="vertical"?Ar(t):t}function Ar(t){return t.slice(0).sort(function(e,r){return e.y>r.y||e.y===r.y&&e.x>r.x?1:e.y===r.y&&e.x===r.x?0:-1})}function qr(t){return t.slice(0).sort(function(e,r){return e.x>r.x||e.x===r.x&&e.y>r.y?1:-1})}function Co(t,e,r,n,o){t=t||[];const i=[];$e.default.Children.forEach(e,u=>{if((u==null?void 0:u.key)==null)return;const s=Tt(t,String(u.key)),l=u.props["data-grid"];s&&l==null?i.push(xe(s)):l?i.push(xe({...l,i:u.key})):i.push(xe({w:1,h:1,x:0,y:jt(i),i:String(u.key)}))});const a=Hr(i,{cols:r});return o?a:Tr(a,n,r)}function Mo(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"Layout";const r=["x","y","w","h"];if(!Array.isArray(t))throw new Error(e+" must be an array!");for(let n=0,o=t.length;n<o;n++){const i=t[n];for(let a=0;a<r.length;a++){const u=r[a],s=i[u];if(typeof s!="number"||Number.isNaN(s))throw new Error(`ReactGridLayout: ${e}[${n}].${u} must be a number! Received: ${s} (${typeof s})`)}if(typeof i.i<"u"&&typeof i.i!="string")throw new Error(`ReactGridLayout: ${e}[${n}].i must be a string! Received: ${i.i} (${typeof i.i})`)}}function jo(t){const{verticalCompact:e,compactType:r}=t||{};return e===!1?null:r}const To=()=>{};E.noop=To;var se={};Object.defineProperty(se,"__esModule",{value:!0});se.calcGridColWidth=Qe;se.calcGridItemPosition=Lo;se.calcGridItemWHPx=St;se.calcWH=$o;se.calcXY=Ho;se.clamp=we;function Qe(t){const{margin:e,containerPadding:r,containerWidth:n,cols:o}=t;return(n-e[0]*(o-1)-r[0]*2)/o}function St(t,e,r){return Number.isFinite(t)?Math.round(e*t+Math.max(0,t-1)*r):t}function Lo(t,e,r,n,o,i){const{margin:a,containerPadding:u,rowHeight:s}=t,l=Qe(t),c={};return i&&i.resizing?(c.width=Math.round(i.resizing.width),c.height=Math.round(i.resizing.height)):(c.width=St(n,l,a[0]),c.height=St(o,s,a[1])),i&&i.dragging?(c.top=Math.round(i.dragging.top),c.left=Math.round(i.dragging.left)):i&&i.resizing&&typeof i.resizing.top=="number"&&typeof i.resizing.left=="number"?(c.top=Math.round(i.resizing.top),c.left=Math.round(i.resizing.left)):(c.top=Math.round((s+a[1])*r+u[1]),c.left=Math.round((l+a[0])*e+u[0])),c}function Ho(t,e,r,n,o){const{margin:i,containerPadding:a,cols:u,rowHeight:s,maxRows:l}=t,c=Qe(t);let d=Math.round((r-a[0])/(c+i[0])),f=Math.round((e-a[1])/(s+i[1]));return d=we(d,0,u-n),f=we(f,0,l-o),{x:d,y:f}}function $o(t,e,r,n,o,i){const{margin:a,maxRows:u,cols:s,rowHeight:l}=t,c=Qe(t);let d=Math.round((e+a[0])/(c+a[0])),f=Math.round((r+a[1])/(l+a[1])),p=we(d,0,s-n),w=we(f,0,u-o);return["sw","w","nw"].indexOf(i)!==-1&&(p=we(d,0,s)),["nw","n","ne"].indexOf(i)!==-1&&(w=we(f,0,u)),{w:p,h:w}}function we(t,e,r){return Math.max(Math.min(t,r),e)}var et={},tt={exports:{}},Ir={},$={},le={};Object.defineProperty(le,"__esModule",{value:!0});le.dontSetMe=qo;le.findInArray=No;le.int=Ao;le.isFunction=Wo;le.isNum=ko;function No(t,e){for(let r=0,n=t.length;r<n;r++)if(e.apply(e,[t[r],r,t]))return t[r]}function Wo(t){return typeof t=="function"||Object.prototype.toString.call(t)==="[object Function]"}function ko(t){return typeof t=="number"&&!isNaN(t)}function Ao(t){return parseInt(t,10)}function qo(t,e,r){if(t[e])return new Error(`Invalid prop ${e} passed to ${r} - do not set this, set it on the child.`)}var Se={};Object.defineProperty(Se,"__esModule",{value:!0});Se.browserPrefixToKey=Br;Se.browserPrefixToStyle=Io;Se.default=void 0;Se.getPrefix=Gr;const ft=["Moz","Webkit","O","ms"];function Gr(){var r,n;let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"transform";if(typeof window>"u")return"";const e=(n=(r=window.document)==null?void 0:r.documentElement)==null?void 0:n.style;if(!e||t in e)return"";for(let o=0;o<ft.length;o++)if(Br(t,ft[o])in e)return ft[o];return""}function Br(t,e){return e?`${e}${Go(t)}`:t}function Io(t,e){return e?`-${e.toLowerCase()}-${t}`:t}function Go(t){let e="",r=!0;for(let n=0;n<t.length;n++)r?(e+=t[n].toUpperCase(),r=!1):t[n]==="-"?r=!0:e+=t[n];return e}Se.default=Gr();Object.defineProperty($,"__esModule",{value:!0});$.addClassName=Xr;$.addEvent=Fo;$.addUserSelectStyles=ri;$.createCSSTransform=Jo;$.createSVGTransform=Qo;$.getTouch=ei;$.getTouchIdentifier=ti;$.getTranslation=qt;$.innerHeight=Vo;$.innerWidth=Ko;$.matchesSelector=Yr;$.matchesSelectorAndParentsTo=Bo;$.offsetXYFromParent=Zo;$.outerHeight=Xo;$.outerWidth=Uo;$.removeClassName=Ur;$.removeEvent=Yo;$.scheduleRemoveUserSelectStyles=ni;var ee=le,ur=Fr(Se);function Fr(t,e){if(typeof WeakMap=="function")var r=new WeakMap,n=new WeakMap;return(Fr=function(o,i){if(!i&&o&&o.__esModule)return o;var a,u,s={__proto__:null,default:o};if(o===null||typeof o!="object"&&typeof o!="function")return s;if(a=i?n:r){if(a.has(o))return a.get(o);a.set(o,s)}for(const l in o)l!=="default"&&{}.hasOwnProperty.call(o,l)&&((u=(a=Object.defineProperty)&&Object.getOwnPropertyDescriptor(o,l))&&(u.get||u.set)?a(s,l,u):s[l]=o[l]);return s})(t,e)}let Ge="";function Yr(t,e){return Ge||(Ge=(0,ee.findInArray)(["matches","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector"],function(r){return(0,ee.isFunction)(t[r])})),(0,ee.isFunction)(t[Ge])?t[Ge](e):!1}function Bo(t,e,r){let n=t;do{if(Yr(n,e))return!0;if(n===r)return!1;n=n.parentNode}while(n);return!1}function Fo(t,e,r,n){if(!t)return;const o={capture:!0,...n};t.addEventListener?t.addEventListener(e,r,o):t.attachEvent?t.attachEvent("on"+e,r):t["on"+e]=r}function Yo(t,e,r,n){if(!t)return;const o={capture:!0,...n};t.removeEventListener?t.removeEventListener(e,r,o):t.detachEvent?t.detachEvent("on"+e,r):t["on"+e]=null}function Xo(t){let e=t.clientHeight;const r=t.ownerDocument.defaultView.getComputedStyle(t);return e+=(0,ee.int)(r.borderTopWidth),e+=(0,ee.int)(r.borderBottomWidth),e}function Uo(t){let e=t.clientWidth;const r=t.ownerDocument.defaultView.getComputedStyle(t);return e+=(0,ee.int)(r.borderLeftWidth),e+=(0,ee.int)(r.borderRightWidth),e}function Vo(t){let e=t.clientHeight;const r=t.ownerDocument.defaultView.getComputedStyle(t);return e-=(0,ee.int)(r.paddingTop),e-=(0,ee.int)(r.paddingBottom),e}function Ko(t){let e=t.clientWidth;const r=t.ownerDocument.defaultView.getComputedStyle(t);return e-=(0,ee.int)(r.paddingLeft),e-=(0,ee.int)(r.paddingRight),e}function Zo(t,e,r){const o=e===e.ownerDocument.body?{left:0,top:0}:e.getBoundingClientRect(),i=(t.clientX+e.scrollLeft-o.left)/r,a=(t.clientY+e.scrollTop-o.top)/r;return{x:i,y:a}}function Jo(t,e){const r=qt(t,e,"px");return{[(0,ur.browserPrefixToKey)("transform",ur.default)]:r}}function Qo(t,e){return qt(t,e,"")}function qt(t,e,r){let{x:n,y:o}=t,i=`translate(${n}${r},${o}${r})`;if(e){const a=`${typeof e.x=="string"?e.x:e.x+r}`,u=`${typeof e.y=="string"?e.y:e.y+r}`;i=`translate(${a}, ${u})`+i}return i}function ei(t,e){return t.targetTouches&&(0,ee.findInArray)(t.targetTouches,r=>e===r.identifier)||t.changedTouches&&(0,ee.findInArray)(t.changedTouches,r=>e===r.identifier)}function ti(t){if(t.targetTouches&&t.targetTouches[0])return t.targetTouches[0].identifier;if(t.changedTouches&&t.changedTouches[0])return t.changedTouches[0].identifier}function ri(t){if(!t)return;let e=t.getElementById("react-draggable-style-el");e||(e=t.createElement("style"),e.type="text/css",e.id="react-draggable-style-el",e.innerHTML=`.react-draggable-transparent-selection *::-moz-selection {all: inherit;}
`,e.innerHTML+=`.react-draggable-transparent-selection *::selection {all: inherit;}
`,t.getElementsByTagName("head")[0].appendChild(e)),t.body&&Xr(t.body,"react-draggable-transparent-selection")}function ni(t){window.requestAnimationFrame?window.requestAnimationFrame(()=>{cr(t)}):cr(t)}function cr(t){if(t)try{if(t.body&&Ur(t.body,"react-draggable-transparent-selection"),t.selection)t.selection.empty();else{const e=(t.defaultView||window).getSelection();e&&e.type!=="Caret"&&e.removeAllRanges()}}catch{}}function Xr(t,e){t.classList?t.classList.add(e):t.className.match(new RegExp(`(?:^|\\s)${e}(?!\\S)`))||(t.className+=` ${e}`)}function Ur(t,e){t.classList?t.classList.remove(e):t.className=t.className.replace(new RegExp(`(?:^|\\s)${e}(?!\\S)`,"g"),"")}var ue={};Object.defineProperty(ue,"__esModule",{value:!0});ue.canDragX=ai;ue.canDragY=si;ue.createCoreData=ui;ue.createDraggableData=ci;ue.getBoundPosition=oi;ue.getControlPosition=li;ue.snapToGrid=ii;var Q=le,Pe=$;function oi(t,e,r){if(!t.props.bounds)return[e,r];let{bounds:n}=t.props;n=typeof n=="string"?n:di(n);const o=It(t);if(typeof n=="string"){const{ownerDocument:i}=o,a=i.defaultView;let u;if(n==="parent"?u=o.parentNode:u=o.getRootNode().querySelector(n),!(u instanceof a.HTMLElement))throw new Error('Bounds selector "'+n+'" could not find an element.');const s=u,l=a.getComputedStyle(o),c=a.getComputedStyle(s);n={left:-o.offsetLeft+(0,Q.int)(c.paddingLeft)+(0,Q.int)(l.marginLeft),top:-o.offsetTop+(0,Q.int)(c.paddingTop)+(0,Q.int)(l.marginTop),right:(0,Pe.innerWidth)(s)-(0,Pe.outerWidth)(o)-o.offsetLeft+(0,Q.int)(c.paddingRight)-(0,Q.int)(l.marginRight),bottom:(0,Pe.innerHeight)(s)-(0,Pe.outerHeight)(o)-o.offsetTop+(0,Q.int)(c.paddingBottom)-(0,Q.int)(l.marginBottom)}}return(0,Q.isNum)(n.right)&&(e=Math.min(e,n.right)),(0,Q.isNum)(n.bottom)&&(r=Math.min(r,n.bottom)),(0,Q.isNum)(n.left)&&(e=Math.max(e,n.left)),(0,Q.isNum)(n.top)&&(r=Math.max(r,n.top)),[e,r]}function ii(t,e,r){const n=Math.round(e/t[0])*t[0],o=Math.round(r/t[1])*t[1];return[n,o]}function ai(t){return t.props.axis==="both"||t.props.axis==="x"}function si(t){return t.props.axis==="both"||t.props.axis==="y"}function li(t,e,r){const n=typeof e=="number"?(0,Pe.getTouch)(t,e):null;if(typeof e=="number"&&!n)return null;const o=It(r),i=r.props.offsetParent||o.offsetParent||o.ownerDocument.body;return(0,Pe.offsetXYFromParent)(n||t,i,r.props.scale)}function ui(t,e,r){const n=!(0,Q.isNum)(t.lastX),o=It(t);return n?{node:o,deltaX:0,deltaY:0,lastX:e,lastY:r,x:e,y:r}:{node:o,deltaX:e-t.lastX,deltaY:r-t.lastY,lastX:t.lastX,lastY:t.lastY,x:e,y:r}}function ci(t,e){const r=t.props.scale;return{node:e.node,x:t.state.x+e.deltaX/r,y:t.state.y+e.deltaY/r,deltaX:e.deltaX/r,deltaY:e.deltaY/r,lastX:t.state.x,lastY:t.state.y}}function di(t){return{left:t.left,top:t.top,right:t.right,bottom:t.bottom}}function It(t){const e=t.findDOMNode();if(!e)throw new Error("<DraggableCore>: Unmounted during event!");return e}var rt={},nt={};Object.defineProperty(nt,"__esModule",{value:!0});nt.default=fi;function fi(){}Object.defineProperty(rt,"__esModule",{value:!0});rt.default=void 0;var pt=Vr(L),U=Gt(he),pi=Gt(Ct),F=$,fe=ue,ht=le,Le=Gt(nt);function Gt(t){return t&&t.__esModule?t:{default:t}}function Vr(t,e){if(typeof WeakMap=="function")var r=new WeakMap,n=new WeakMap;return(Vr=function(o,i){if(!i&&o&&o.__esModule)return o;var a,u,s={__proto__:null,default:o};if(o===null||typeof o!="object"&&typeof o!="function")return s;if(a=i?n:r){if(a.has(o))return a.get(o);a.set(o,s)}for(const l in o)l!=="default"&&{}.hasOwnProperty.call(o,l)&&((u=(a=Object.defineProperty)&&Object.getOwnPropertyDescriptor(o,l))&&(u.get||u.set)?a(s,l,u):s[l]=o[l]);return s})(t,e)}function V(t,e,r){return(e=hi(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function hi(t){var e=gi(t,"string");return typeof e=="symbol"?e:e+""}function gi(t,e){if(typeof t!="object"||!t)return t;var r=t[Symbol.toPrimitive];if(r!==void 0){var n=r.call(t,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}const re={touch:{start:"touchstart",move:"touchmove",stop:"touchend"},mouse:{start:"mousedown",move:"mousemove",stop:"mouseup"}};let pe=re.mouse,ot=class extends pt.Component{constructor(){super(...arguments),V(this,"dragging",!1),V(this,"lastX",NaN),V(this,"lastY",NaN),V(this,"touchIdentifier",null),V(this,"mounted",!1),V(this,"handleDragStart",e=>{if(this.props.onMouseDown(e),!this.props.allowAnyClick&&typeof e.button=="number"&&e.button!==0)return!1;const r=this.findDOMNode();if(!r||!r.ownerDocument||!r.ownerDocument.body)throw new Error("<DraggableCore> not mounted on DragStart!");const{ownerDocument:n}=r;if(this.props.disabled||!(e.target instanceof n.defaultView.Node)||this.props.handle&&!(0,F.matchesSelectorAndParentsTo)(e.target,this.props.handle,r)||this.props.cancel&&(0,F.matchesSelectorAndParentsTo)(e.target,this.props.cancel,r))return;e.type==="touchstart"&&!this.props.allowMobileScroll&&e.preventDefault();const o=(0,F.getTouchIdentifier)(e);this.touchIdentifier=o;const i=(0,fe.getControlPosition)(e,o,this);if(i==null)return;const{x:a,y:u}=i,s=(0,fe.createCoreData)(this,a,u);(0,Le.default)("DraggableCore: handleDragStart: %j",s),(0,Le.default)("calling",this.props.onStart),!(this.props.onStart(e,s)===!1||this.mounted===!1)&&(this.props.enableUserSelectHack&&(0,F.addUserSelectStyles)(n),this.dragging=!0,this.lastX=a,this.lastY=u,(0,F.addEvent)(n,pe.move,this.handleDrag),(0,F.addEvent)(n,pe.stop,this.handleDragStop))}),V(this,"handleDrag",e=>{const r=(0,fe.getControlPosition)(e,this.touchIdentifier,this);if(r==null)return;let{x:n,y:o}=r;if(Array.isArray(this.props.grid)){let u=n-this.lastX,s=o-this.lastY;if([u,s]=(0,fe.snapToGrid)(this.props.grid,u,s),!u&&!s)return;n=this.lastX+u,o=this.lastY+s}const i=(0,fe.createCoreData)(this,n,o);if((0,Le.default)("DraggableCore: handleDrag: %j",i),this.props.onDrag(e,i)===!1||this.mounted===!1){try{this.handleDragStop(new MouseEvent("mouseup"))}catch{const s=document.createEvent("MouseEvents");s.initMouseEvent("mouseup",!0,!0,window,0,0,0,0,0,!1,!1,!1,!1,0,null),this.handleDragStop(s)}return}this.lastX=n,this.lastY=o}),V(this,"handleDragStop",e=>{if(!this.dragging)return;const r=(0,fe.getControlPosition)(e,this.touchIdentifier,this);if(r==null)return;let{x:n,y:o}=r;if(Array.isArray(this.props.grid)){let s=n-this.lastX||0,l=o-this.lastY||0;[s,l]=(0,fe.snapToGrid)(this.props.grid,s,l),n=this.lastX+s,o=this.lastY+l}const i=(0,fe.createCoreData)(this,n,o);if(this.props.onStop(e,i)===!1||this.mounted===!1)return!1;const u=this.findDOMNode();u&&this.props.enableUserSelectHack&&(0,F.scheduleRemoveUserSelectStyles)(u.ownerDocument),(0,Le.default)("DraggableCore: handleDragStop: %j",i),this.dragging=!1,this.lastX=NaN,this.lastY=NaN,u&&((0,Le.default)("DraggableCore: Removing handlers"),(0,F.removeEvent)(u.ownerDocument,pe.move,this.handleDrag),(0,F.removeEvent)(u.ownerDocument,pe.stop,this.handleDragStop))}),V(this,"onMouseDown",e=>(pe=re.mouse,this.handleDragStart(e))),V(this,"onMouseUp",e=>(pe=re.mouse,this.handleDragStop(e))),V(this,"onTouchStart",e=>(pe=re.touch,this.handleDragStart(e))),V(this,"onTouchEnd",e=>(pe=re.touch,this.handleDragStop(e)))}componentDidMount(){this.mounted=!0;const e=this.findDOMNode();e&&(0,F.addEvent)(e,re.touch.start,this.onTouchStart,{passive:!1})}componentWillUnmount(){this.mounted=!1;const e=this.findDOMNode();if(e){const{ownerDocument:r}=e;(0,F.removeEvent)(r,re.mouse.move,this.handleDrag),(0,F.removeEvent)(r,re.touch.move,this.handleDrag),(0,F.removeEvent)(r,re.mouse.stop,this.handleDragStop),(0,F.removeEvent)(r,re.touch.stop,this.handleDragStop),(0,F.removeEvent)(e,re.touch.start,this.onTouchStart,{passive:!1}),this.props.enableUserSelectHack&&(0,F.scheduleRemoveUserSelectStyles)(r)}}findDOMNode(){var e,r,n;return(e=this.props)!=null&&e.nodeRef?(n=(r=this.props)==null?void 0:r.nodeRef)==null?void 0:n.current:pi.default.findDOMNode(this)}render(){return pt.cloneElement(pt.Children.only(this.props.children),{onMouseDown:this.onMouseDown,onMouseUp:this.onMouseUp,onTouchEnd:this.onTouchEnd})}};rt.default=ot;V(ot,"displayName","DraggableCore");V(ot,"propTypes",{allowAnyClick:U.default.bool,allowMobileScroll:U.default.bool,children:U.default.node.isRequired,disabled:U.default.bool,enableUserSelectHack:U.default.bool,offsetParent:function(t,e){if(t[e]&&t[e].nodeType!==1)throw new Error("Draggable's offsetParent must be a DOM Node.")},grid:U.default.arrayOf(U.default.number),handle:U.default.string,cancel:U.default.string,nodeRef:U.default.object,onStart:U.default.func,onDrag:U.default.func,onStop:U.default.func,onMouseDown:U.default.func,scale:U.default.number,className:ht.dontSetMe,style:ht.dontSetMe,transform:ht.dontSetMe});V(ot,"defaultProps",{allowAnyClick:!1,allowMobileScroll:!1,disabled:!1,enableUserSelectHack:!0,onStart:function(){},onDrag:function(){},onStop:function(){},onMouseDown:function(){},scale:1});(function(t){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"DraggableCore",{enumerable:!0,get:function(){return s.default}}),t.default=void 0;var e=d(L),r=c(he),n=c(Ct),o=Ze,i=$,a=ue,u=le,s=c(rt),l=c(nt);function c(h){return h&&h.__esModule?h:{default:h}}function d(h,b){if(typeof WeakMap=="function")var y=new WeakMap,x=new WeakMap;return(d=function(m,z){if(!z&&m&&m.__esModule)return m;var N,q,K={__proto__:null,default:m};if(m===null||typeof m!="object"&&typeof m!="function")return K;if(N=z?x:y){if(N.has(m))return N.get(m);N.set(m,K)}for(const J in m)J!=="default"&&{}.hasOwnProperty.call(m,J)&&((q=(N=Object.defineProperty)&&Object.getOwnPropertyDescriptor(m,J))&&(q.get||q.set)?N(K,J,q):K[J]=m[J]);return K})(h,b)}function f(){return f=Object.assign?Object.assign.bind():function(h){for(var b=1;b<arguments.length;b++){var y=arguments[b];for(var x in y)({}).hasOwnProperty.call(y,x)&&(h[x]=y[x])}return h},f.apply(null,arguments)}function p(h,b,y){return(b=w(b))in h?Object.defineProperty(h,b,{value:y,enumerable:!0,configurable:!0,writable:!0}):h[b]=y,h}function w(h){var b=D(h,"string");return typeof b=="symbol"?b:b+""}function D(h,b){if(typeof h!="object"||!h)return h;var y=h[Symbol.toPrimitive];if(y!==void 0){var x=y.call(h,b||"default");if(typeof x!="object")return x;throw new TypeError("@@toPrimitive must return a primitive value.")}return(b==="string"?String:Number)(h)}class S extends e.Component{static getDerivedStateFromProps(b,y){let{position:x}=b,{prevPropsPosition:m}=y;return x&&(!m||x.x!==m.x||x.y!==m.y)?((0,l.default)("Draggable: getDerivedStateFromProps %j",{position:x,prevPropsPosition:m}),{x:x.x,y:x.y,prevPropsPosition:{...x}}):null}constructor(b){super(b),p(this,"onDragStart",(y,x)=>{if((0,l.default)("Draggable: onDragStart: %j",x),this.props.onStart(y,(0,a.createDraggableData)(this,x))===!1)return!1;this.setState({dragging:!0,dragged:!0})}),p(this,"onDrag",(y,x)=>{if(!this.state.dragging)return!1;(0,l.default)("Draggable: onDrag: %j",x);const m=(0,a.createDraggableData)(this,x),z={x:m.x,y:m.y,slackX:0,slackY:0};if(this.props.bounds){const{x:q,y:K}=z;z.x+=this.state.slackX,z.y+=this.state.slackY;const[J,Me]=(0,a.getBoundPosition)(this,z.x,z.y);z.x=J,z.y=Me,z.slackX=this.state.slackX+(q-z.x),z.slackY=this.state.slackY+(K-z.y),m.x=z.x,m.y=z.y,m.deltaX=z.x-this.state.x,m.deltaY=z.y-this.state.y}if(this.props.onDrag(y,m)===!1)return!1;this.setState(z)}),p(this,"onDragStop",(y,x)=>{if(!this.state.dragging||this.props.onStop(y,(0,a.createDraggableData)(this,x))===!1)return!1;(0,l.default)("Draggable: onDragStop: %j",x);const z={dragging:!1,slackX:0,slackY:0};if(!!this.props.position){const{x:q,y:K}=this.props.position;z.x=q,z.y=K}this.setState(z)}),this.state={dragging:!1,dragged:!1,x:b.position?b.position.x:b.defaultPosition.x,y:b.position?b.position.y:b.defaultPosition.y,prevPropsPosition:{...b.position},slackX:0,slackY:0,isElementSVG:!1},b.position&&!(b.onDrag||b.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(){var b,y;return((y=(b=this.props)==null?void 0:b.nodeRef)==null?void 0:y.current)??n.default.findDOMNode(this)}render(){const{axis:b,bounds:y,children:x,defaultPosition:m,defaultClassName:z,defaultClassNameDragging:N,defaultClassNameDragged:q,position:K,positionOffset:J,scale:Me,...ct}=this.props;let je={},Te=null;const ge=!!!K||this.state.dragging,me=K||m,qe={x:(0,a.canDragX)(this)&&ge?this.state.x:me.x,y:(0,a.canDragY)(this)&&ge?this.state.y:me.y};this.state.isElementSVG?Te=(0,i.createSVGTransform)(qe,J):je=(0,i.createCSSTransform)(qe,J);const dt=(0,o.clsx)(x.props.className||"",z,{[N]:this.state.dragging,[q]:this.state.dragged});return e.createElement(s.default,f({},ct,{onStart:this.onDragStart,onDrag:this.onDrag,onStop:this.onDragStop}),e.cloneElement(e.Children.only(x),{className:dt,style:{...x.props.style,...je},transform:Te}))}}t.default=S,p(S,"displayName","Draggable"),p(S,"propTypes",{...s.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:u.dontSetMe,style:u.dontSetMe,transform:u.dontSetMe}),p(S,"defaultProps",{...s.default.defaultProps,axis:"both",bounds:!1,defaultClassName:"react-draggable",defaultClassNameDragging:"react-draggable-dragging",defaultClassNameDragged:"react-draggable-dragged",defaultPosition:{x:0,y:0},scale:1})})(Ir);const{default:Kr,DraggableCore:mi}=Ir;tt.exports=Kr;tt.exports.default=Kr;tt.exports.DraggableCore=mi;var Zr=tt.exports,it={exports:{}},ke={},Bt={};Bt.__esModule=!0;Bt.cloneElement=Si;var yi=vi(L);function vi(t){return t&&t.__esModule?t:{default:t}}function dr(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),r.push.apply(r,n)}return r}function fr(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?dr(Object(r),!0).forEach(function(n){bi(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):dr(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function bi(t,e,r){return e=wi(e),e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function wi(t){var e=xi(t,"string");return typeof e=="symbol"?e:String(e)}function xi(t,e){if(typeof t!="object"||t===null)return t;var r=t[Symbol.toPrimitive];if(r!==void 0){var n=r.call(t,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function Si(t,e){return e.style&&t.props.style&&(e.style=fr(fr({},t.props.style),e.style)),e.className&&t.props.className&&(e.className=t.props.className+" "+e.className),yi.default.cloneElement(t,e)}var Ae={};Ae.__esModule=!0;Ae.resizableProps=void 0;var O=Ri(he);function Ri(t){return t&&t.__esModule?t:{default:t}}var Di={axis:O.default.oneOf(["both","x","y","none"]),className:O.default.string,children:O.default.element.isRequired,draggableOpts:O.default.shape({allowAnyClick:O.default.bool,cancel:O.default.string,children:O.default.node,disabled:O.default.bool,enableUserSelectHack:O.default.bool,offsetParent:O.default.node,grid:O.default.arrayOf(O.default.number),handle:O.default.string,nodeRef:O.default.object,onStart:O.default.func,onDrag:O.default.func,onStop:O.default.func,onMouseDown:O.default.func,scale:O.default.number}),height:function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];var o=r[0];if(o.axis==="both"||o.axis==="y"){var i;return(i=O.default.number).isRequired.apply(i,r)}return O.default.number.apply(O.default,r)},handle:O.default.oneOfType([O.default.node,O.default.func]),handleSize:O.default.arrayOf(O.default.number),lockAspectRatio:O.default.bool,maxConstraints:O.default.arrayOf(O.default.number),minConstraints:O.default.arrayOf(O.default.number),onResizeStop:O.default.func,onResizeStart:O.default.func,onResize:O.default.func,resizeHandles:O.default.arrayOf(O.default.oneOf(["s","w","e","n","sw","nw","se","ne"])),transformScale:O.default.number,width:function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];var o=r[0];if(o.axis==="both"||o.axis==="x"){var i;return(i=O.default.number).isRequired.apply(i,r)}return O.default.number.apply(O.default,r)}};Ae.resizableProps=Di;ke.__esModule=!0;ke.default=void 0;var He=zi(L),_i=Zr,Oi=Bt,Pi=Ae,Ei=["children","className","draggableOpts","width","height","handle","handleSize","lockAspectRatio","axis","minConstraints","maxConstraints","onResize","onResizeStop","onResizeStart","resizeHandles","transformScale"];function Jr(t){if(typeof WeakMap!="function")return null;var e=new WeakMap,r=new WeakMap;return(Jr=function(o){return o?r:e})(t)}function zi(t,e){if(t&&t.__esModule)return t;if(t===null||typeof t!="object"&&typeof t!="function")return{default:t};var r=Jr(e);if(r&&r.has(t))return r.get(t);var n={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in t)if(i!=="default"&&Object.prototype.hasOwnProperty.call(t,i)){var a=o?Object.getOwnPropertyDescriptor(t,i):null;a&&(a.get||a.set)?Object.defineProperty(n,i,a):n[i]=t[i]}return n.default=t,r&&r.set(t,n),n}function Rt(){return Rt=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(t[n]=r[n])}return t},Rt.apply(this,arguments)}function Ci(t,e){if(t==null)return{};var r={},n=Object.keys(t),o,i;for(i=0;i<n.length;i++)o=n[i],!(e.indexOf(o)>=0)&&(r[o]=t[o]);return r}function pr(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),r.push.apply(r,n)}return r}function gt(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?pr(Object(r),!0).forEach(function(n){Mi(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):pr(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function Mi(t,e,r){return e=ji(e),e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function ji(t){var e=Ti(t,"string");return typeof e=="symbol"?e:String(e)}function Ti(t,e){if(typeof t!="object"||t===null)return t;var r=t[Symbol.toPrimitive];if(r!==void 0){var n=r.call(t,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function Li(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,Dt(t,e)}function Dt(t,e){return Dt=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,o){return n.__proto__=o,n},Dt(t,e)}var Ft=function(t){Li(e,t);function e(){for(var n,o=arguments.length,i=new Array(o),a=0;a<o;a++)i[a]=arguments[a];return n=t.call.apply(t,[this].concat(i))||this,n.handleRefs={},n.lastHandleRect=null,n.slack=null,n}var r=e.prototype;return r.componentWillUnmount=function(){this.resetData()},r.resetData=function(){this.lastHandleRect=this.slack=null},r.runConstraints=function(o,i){var a=this.props,u=a.minConstraints,s=a.maxConstraints,l=a.lockAspectRatio;if(!u&&!s&&!l)return[o,i];if(l){var c=this.props.width/this.props.height,d=o-this.props.width,f=i-this.props.height;Math.abs(d)>Math.abs(f*c)?i=o/c:o=i*c}var p=o,w=i,D=this.slack||[0,0],S=D[0],h=D[1];return o+=S,i+=h,u&&(o=Math.max(u[0],o),i=Math.max(u[1],i)),s&&(o=Math.min(s[0],o),i=Math.min(s[1],i)),this.slack=[S+(p-o),h+(w-i)],[o,i]},r.resizeHandler=function(o,i){var a=this;return function(u,s){var l=s.node,c=s.deltaX,d=s.deltaY;o==="onResizeStart"&&a.resetData();var f=(a.props.axis==="both"||a.props.axis==="x")&&i!=="n"&&i!=="s",p=(a.props.axis==="both"||a.props.axis==="y")&&i!=="e"&&i!=="w";if(!(!f&&!p)){var w=i[0],D=i[i.length-1],S=l.getBoundingClientRect();if(a.lastHandleRect!=null){if(D==="w"){var h=S.left-a.lastHandleRect.left;c+=h}if(w==="n"){var b=S.top-a.lastHandleRect.top;d+=b}}a.lastHandleRect=S,D==="w"&&(c=-c),w==="n"&&(d=-d);var y=a.props.width+(f?c/a.props.transformScale:0),x=a.props.height+(p?d/a.props.transformScale:0),m=a.runConstraints(y,x);y=m[0],x=m[1];var z=y!==a.props.width||x!==a.props.height,N=typeof a.props[o]=="function"?a.props[o]:null,q=o==="onResize"&&!z;N&&!q&&(u.persist==null||u.persist(),N(u,{node:l,size:{width:y,height:x},handle:i})),o==="onResizeStop"&&a.resetData()}}},r.renderResizeHandle=function(o,i){var a=this.props.handle;if(!a)return He.createElement("span",{className:"react-resizable-handle react-resizable-handle-"+o,ref:i});if(typeof a=="function")return a(o,i);var u=typeof a.type=="string",s=gt({ref:i},u?{}:{handleAxis:o});return He.cloneElement(a,s)},r.render=function(){var o=this,i=this.props,a=i.children,u=i.className,s=i.draggableOpts;i.width,i.height,i.handle,i.handleSize,i.l