react-semaphor 0.0.504 → 0.0.505

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.
@@ -4,7 +4,7 @@ var Ga = (t) => {
4
4
  var Rn = (t, a, n) => a.has(t) || Ga("Cannot " + n);
5
5
  var ue = (t, a, n) => (Rn(t, a, "read from private field"), n ? n.call(t) : a.get(t)), Ae = (t, a, n) => a.has(t) ? Ga("Cannot add the same private member more than once") : a instanceof WeakSet ? a.add(t) : a.set(t, n), Se = (t, a, n, r) => (Rn(t, a, "write to private field"), r ? r.call(t, n) : a.set(t, n), n), ze = (t, a, n) => (Rn(t, a, "access private method"), n);
6
6
  import { jsxs as s, jsx as e, Fragment as se } from "react/jsx-runtime";
7
- import { z as _r, A as Un, B as $r, Q as us, C as ms, E as Gr, F as Jr, G as Hr, H as Ur, I as Yr, J as Kr, K as Ja, L as Ha, M as Qr, N as Wr, O as q, P as ua, v as G, w as It, R as lt, T as pn, U as hs, V as P, W as ke, X as fn, Y as gn, Z as yn, _ as bn, $ as H, a0 as we, a1 as ps, a2 as fs, a3 as gs, a4 as ae, a5 as ys, a6 as bs, a7 as vs, a8 as Zr, a9 as Ua, aa as _, ab as ma, ac as Xr, ad as le, ae as oe, af as ce, ag as de, ah as nt, ai as Ge, aj as U, ak as xs, al as Ye, am as Ke, an as Et, ao as Ze, ap as gt, aq as yt, ar as At, as as bt, at, au as Ns, av as Ut, aw as ha, ax as Cs, ay as pa, az as Yn, aA as ws, x as T, aB as Ss, aC as Mt, aD as jt, aE as vt, aF as vn, aG as xn, aH as Nn, aI as Cn, aJ as wn, aK as Sn, aL as Yt, aM as qt, t as Pe, aN as ks, aO as Ms, aP as Ts, aQ as Ds, l as Os, k as Is, f as qe, aR as ei, e as _e, aS as ti, g as pt, h as $e, aT as Es, j as ni, aU as ai, aV as si, aW as it, aX as st, aY as As, aZ as ri, y as X, d as zs, a_ as Bt, a$ as Xe, b0 as ii, b1 as Kn, b2 as fa, b3 as ga, b4 as Kt, b5 as He, b6 as Fs, r as sn, p as Ya, b7 as Ee, b8 as li, b9 as xt, ba as oi, bb as ci, bc as di, bd as ui, be as Ls, bf as mi, bg as kn, bh as hi, bi as pi, bj as Qn, bk as ve, bl as et, bm as Ce, bn as tt, bo as fi, bp as Rs, bq as Vs, br as js, bs as gi, bt as yi, bu as bi, bv as vi, bw as Vn, bx as xi, by as Ka, bz as Ni, bA as Qa, bB as Ci, bC as wi, bD as Si, bE as ki, bF as qs, bG as Mi, bH as ya, bI as Bs, bJ as Mn, bK as Ps, bL as wt, bM as _s, bN as Ti, bO as $s, bP as Tn, bQ as Di, bR as Oi, bS as Gs, bT as Js, bU as Dn, bV as Hs, bW as Ii, bX as Qt, bY as Wt, bZ as Te, b_ as an, b$ as Ei, c0 as Ai, c1 as zi, c2 as ba, c3 as Us, c4 as Fi, c5 as rn, c6 as Ys, c7 as ln, c8 as Ks, c9 as Li, ca as Ri, cb as Vi, cc as Qs, cd as ji, ce as ot, cf as he, cg as pe, ch as fe, ci as On, cj as qi, ck as Bi, cl as Pi, cm as _i, q as $i, cn as Wa, co as Ws, cp as Gi, cq as Ji, cr as Hi, cs as Zs, ct as va, cu as zt, cv as xa, cw as Ue, cx as Ui, cy as Ft, cz as Xs, cA as Yi, cB as Ki, cC as Qi, cD as Wi, cE as Za, cF as Zi, cG as Xi, cH as el, cI as tl, cJ as nl, cK as al, cL as In, cM as sl, cN as rl, cO as il, cP as ll, cQ as ol, cR as er, cS as Wn, cT as jn, cU as cl, cV as Pt, cW as Je, cX as ge, cY as dl, cZ as ul, c_ as ml, c$ as Tt, d0 as Be, d1 as hl, d2 as pl, d3 as fl, d4 as Zn, d5 as Xa, d6 as Xn, d7 as ea, d8 as on, d9 as Dt, da as _t, db as gl, dc as tr, dd as yl, de as bl, df as vl, dg as xl, dh as Nl, di as Cl } from "./index-CgeLnBe2.js";
7
+ import { z as _r, A as Un, B as $r, Q as us, C as ms, E as Gr, F as Jr, G as Hr, H as Ur, I as Yr, J as Kr, K as Ja, L as Ha, M as Qr, N as Wr, O as q, P as ua, v as G, w as It, R as lt, T as pn, U as hs, V as P, W as ke, X as fn, Y as gn, Z as yn, _ as bn, $ as H, a0 as we, a1 as ps, a2 as fs, a3 as gs, a4 as ae, a5 as ys, a6 as bs, a7 as vs, a8 as Zr, a9 as Ua, aa as _, ab as ma, ac as Xr, ad as le, ae as oe, af as ce, ag as de, ah as nt, ai as Ge, aj as U, ak as xs, al as Ye, am as Ke, an as Et, ao as Ze, ap as gt, aq as yt, ar as At, as as bt, at, au as Ns, av as Ut, aw as ha, ax as Cs, ay as pa, az as Yn, aA as ws, x as T, aB as Ss, aC as Mt, aD as jt, aE as vt, aF as vn, aG as xn, aH as Nn, aI as Cn, aJ as wn, aK as Sn, aL as Yt, aM as qt, t as Pe, aN as ks, aO as Ms, aP as Ts, aQ as Ds, l as Os, k as Is, f as qe, aR as ei, e as _e, aS as ti, g as pt, h as $e, aT as Es, j as ni, aU as ai, aV as si, aW as it, aX as st, aY as As, aZ as ri, y as X, d as zs, a_ as Bt, a$ as Xe, b0 as ii, b1 as Kn, b2 as fa, b3 as ga, b4 as Kt, b5 as He, b6 as Fs, r as sn, p as Ya, b7 as Ee, b8 as li, b9 as xt, ba as oi, bb as ci, bc as di, bd as ui, be as Ls, bf as mi, bg as kn, bh as hi, bi as pi, bj as Qn, bk as ve, bl as et, bm as Ce, bn as tt, bo as fi, bp as Rs, bq as Vs, br as js, bs as gi, bt as yi, bu as bi, bv as vi, bw as Vn, bx as xi, by as Ka, bz as Ni, bA as Qa, bB as Ci, bC as wi, bD as Si, bE as ki, bF as qs, bG as Mi, bH as ya, bI as Bs, bJ as Mn, bK as Ps, bL as wt, bM as _s, bN as Ti, bO as $s, bP as Tn, bQ as Di, bR as Oi, bS as Gs, bT as Js, bU as Dn, bV as Hs, bW as Ii, bX as Qt, bY as Wt, bZ as Te, b_ as an, b$ as Ei, c0 as Ai, c1 as zi, c2 as ba, c3 as Us, c4 as Fi, c5 as rn, c6 as Ys, c7 as ln, c8 as Ks, c9 as Li, ca as Ri, cb as Vi, cc as Qs, cd as ji, ce as ot, cf as he, cg as pe, ch as fe, ci as On, cj as qi, ck as Bi, cl as Pi, cm as _i, q as $i, cn as Wa, co as Ws, cp as Gi, cq as Ji, cr as Hi, cs as Zs, ct as va, cu as zt, cv as xa, cw as Ue, cx as Ui, cy as Ft, cz as Xs, cA as Yi, cB as Ki, cC as Qi, cD as Wi, cE as Za, cF as Zi, cG as Xi, cH as el, cI as tl, cJ as nl, cK as al, cL as In, cM as sl, cN as rl, cO as il, cP as ll, cQ as ol, cR as er, cS as Wn, cT as jn, cU as cl, cV as Pt, cW as Je, cX as ge, cY as dl, cZ as ul, c_ as ml, c$ as Tt, d0 as Be, d1 as hl, d2 as pl, d3 as fl, d4 as Zn, d5 as Xa, d6 as Xn, d7 as ea, d8 as on, d9 as Dt, da as _t, db as gl, dc as tr, dd as yl, de as bl, df as vl, dg as xl, dh as Nl, di as Cl } from "./index-CPLZoYFD.js";
8
8
  import * as Ie from "react";
9
9
  import Le, { useState as V, useMemo as rt, useRef as ft, useCallback as Ne, useEffect as be, Suspense as wl } from "react";
10
10
  import "react-dom";
@@ -1,4 +1,4 @@
1
- "use strict";var Ft=s=>{throw TypeError(s)};var Je=(s,a,n)=>a.has(s)||Ft("Cannot "+n);var W=(s,a,n)=>(Je(s,a,"read from private field"),n?n.call(s):a.get(s)),oe=(s,a,n)=>a.has(s)?Ft("Cannot add the same private member more than once"):a instanceof WeakSet?a.add(s):a.set(s,n),te=(s,a,n,r)=>(Je(s,a,"write to private field"),r?r.call(s,n):a.set(s,n),n),ie=(s,a,n)=>(Je(s,a,"access private method"),n);const e=require("react/jsx-runtime"),t=require("./index-CGZJfir8.js"),L=require("react");require("react-dom");function Fs(s){const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(s){for(const n in s)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(s,n);Object.defineProperty(a,n,r.get?r:{enumerable:!0,get:()=>s[n]})}}return a.default=s,Object.freeze(a)}const re=Fs(L);function Bt(s,a){return s.filter(n=>!a.includes(n))}function Bs(s,a,n){const r=s.slice(0);return r[a]=n,r}var pe,ne,Ne,Ce,ae,he,Ie,De,Te,ee,tt,st,nt,at,rt,Jt,zs=(Jt=class extends t.Subscribable{constructor(a,n,r){super();oe(this,ee);oe(this,pe);oe(this,ne);oe(this,Ne);oe(this,Ce);oe(this,ae);oe(this,he);oe(this,Ie);oe(this,De);oe(this,Te,[]);te(this,pe,a),te(this,Ce,r),te(this,Ne,[]),te(this,ae,[]),te(this,ne,[]),this.setQueries(n)}onSubscribe(){this.listeners.size===1&&W(this,ae).forEach(a=>{a.subscribe(n=>{ie(this,ee,at).call(this,a,n)})})}onUnsubscribe(){this.listeners.size||this.destroy()}destroy(){this.listeners=new Set,W(this,ae).forEach(a=>{a.destroy()})}setQueries(a,n,r){if(te(this,Ne,a),te(this,Ce,n),process.env.NODE_ENV!=="production"){const o=a.map(i=>W(this,pe).defaultQueryOptions(i).queryHash);new Set(o).size!==o.length&&console.warn("[QueriesObserver]: Duplicate Queries found. This might result in unexpected behavior.")}t.notifyManager.batch(()=>{const o=W(this,ae),i=ie(this,ee,nt).call(this,W(this,Ne));te(this,Te,i),i.forEach(h=>h.observer.setOptions(h.defaultedQueryOptions,r));const l=i.map(h=>h.observer),u=l.map(h=>h.getCurrentResult()),c=l.some((h,d)=>h!==o[d]);o.length===l.length&&!c||(te(this,ae,l),te(this,ne,u),this.hasListeners()&&(Bt(o,l).forEach(h=>{h.destroy()}),Bt(l,o).forEach(h=>{h.subscribe(d=>{ie(this,ee,at).call(this,h,d)})}),ie(this,ee,rt).call(this)))})}getCurrentResult(){return W(this,ne)}getQueries(){return W(this,ae).map(a=>a.getCurrentQuery())}getObservers(){return W(this,ae)}getOptimisticResult(a,n){const r=ie(this,ee,nt).call(this,a),o=r.map(i=>i.observer.getOptimisticResult(i.defaultedQueryOptions));return[o,i=>ie(this,ee,st).call(this,i??o,n),()=>ie(this,ee,tt).call(this,o,r)]}},pe=new WeakMap,ne=new WeakMap,Ne=new WeakMap,Ce=new WeakMap,ae=new WeakMap,he=new WeakMap,Ie=new WeakMap,De=new WeakMap,Te=new WeakMap,ee=new WeakSet,tt=function(a,n){return n.map((r,o)=>{const i=a[o];return r.defaultedQueryOptions.notifyOnChangeProps?i:r.observer.trackResult(i,l=>{n.forEach(u=>{u.observer.trackProp(l)})})})},st=function(a,n){return n?((!W(this,he)||W(this,ne)!==W(this,De)||n!==W(this,Ie))&&(te(this,Ie,n),te(this,De,W(this,ne)),te(this,he,t.replaceEqualDeep(W(this,he),n(a)))),W(this,he)):a},nt=function(a){const n=new Map(W(this,ae).map(o=>[o.options.queryHash,o])),r=[];return a.forEach(o=>{const i=W(this,pe).defaultQueryOptions(o),l=n.get(i.queryHash);l?r.push({defaultedQueryOptions:i,observer:l}):r.push({defaultedQueryOptions:i,observer:new t.QueryObserver(W(this,pe),i)})}),r},at=function(a,n){const r=W(this,ae).indexOf(a);r!==-1&&(te(this,ne,Bs(W(this,ne),r,n)),ie(this,ee,rt).call(this))},rt=function(){var a;if(this.hasListeners()){const n=W(this,he),r=ie(this,ee,tt).call(this,W(this,ne),W(this,Te)),o=ie(this,ee,st).call(this,r,(a=W(this,Ce))==null?void 0:a.combine);n!==o&&t.notifyManager.batch(()=>{this.listeners.forEach(i=>{i(W(this,ne))})})}},Jt);function Rs({queries:s,...a},n){const r=t.useQueryClient(),o=t.useIsRestoring(),i=t.useQueryErrorResetBoundary(),l=re.useMemo(()=>s.map(x=>{const v=r.defaultQueryOptions(x);return v._optimisticResults=o?"isRestoring":"optimistic",v}),[s,r,o]);l.forEach(x=>{t.ensureSuspenseTimers(x),t.ensurePreventErrorBoundaryRetry(x,i)}),t.useClearResetErrorBoundary(i);const[u]=re.useState(()=>new zs(r,l,a)),[c,h,d]=u.getOptimisticResult(l,a.combine),m=!o&&a.subscribed!==!1;re.useSyncExternalStore(re.useCallback(x=>m?u.subscribe(t.notifyManager.batchCalls(x)):t.noop,[u,m]),()=>u.getCurrentResult(),()=>u.getCurrentResult()),re.useEffect(()=>{u.setQueries(l,a,{listeners:!1})},[l,a,u]);const f=c.some((x,v)=>t.shouldSuspend(l[v],x))?c.flatMap((x,v)=>{const p=l[v];if(p){const k=new t.QueryObserver(r,p);if(t.shouldSuspend(p,x))return t.fetchOptimistic(p,k,i);t.willFetch(x,o)&&t.fetchOptimistic(p,k,i)}return[]}):[];if(f.length>0)throw Promise.all(f);const g=c.find((x,v)=>{const p=l[v];return p&&t.getHasError({result:x,errorResetBoundary:i,throwOnError:p.throwOnError,query:r.getQueryCache().get(p.queryHash),suspense:p.suspense})});if(g!=null&&g.error)throw g.error;return h(d())}/**
1
+ "use strict";var Ft=s=>{throw TypeError(s)};var Je=(s,a,n)=>a.has(s)||Ft("Cannot "+n);var W=(s,a,n)=>(Je(s,a,"read from private field"),n?n.call(s):a.get(s)),oe=(s,a,n)=>a.has(s)?Ft("Cannot add the same private member more than once"):a instanceof WeakSet?a.add(s):a.set(s,n),te=(s,a,n,r)=>(Je(s,a,"write to private field"),r?r.call(s,n):a.set(s,n),n),ie=(s,a,n)=>(Je(s,a,"access private method"),n);const e=require("react/jsx-runtime"),t=require("./index-DiwXdNV5.js"),L=require("react");require("react-dom");function Fs(s){const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(s){for(const n in s)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(s,n);Object.defineProperty(a,n,r.get?r:{enumerable:!0,get:()=>s[n]})}}return a.default=s,Object.freeze(a)}const re=Fs(L);function Bt(s,a){return s.filter(n=>!a.includes(n))}function Bs(s,a,n){const r=s.slice(0);return r[a]=n,r}var pe,ne,Ne,Ce,ae,he,Ie,De,Te,ee,tt,st,nt,at,rt,Jt,zs=(Jt=class extends t.Subscribable{constructor(a,n,r){super();oe(this,ee);oe(this,pe);oe(this,ne);oe(this,Ne);oe(this,Ce);oe(this,ae);oe(this,he);oe(this,Ie);oe(this,De);oe(this,Te,[]);te(this,pe,a),te(this,Ce,r),te(this,Ne,[]),te(this,ae,[]),te(this,ne,[]),this.setQueries(n)}onSubscribe(){this.listeners.size===1&&W(this,ae).forEach(a=>{a.subscribe(n=>{ie(this,ee,at).call(this,a,n)})})}onUnsubscribe(){this.listeners.size||this.destroy()}destroy(){this.listeners=new Set,W(this,ae).forEach(a=>{a.destroy()})}setQueries(a,n,r){if(te(this,Ne,a),te(this,Ce,n),process.env.NODE_ENV!=="production"){const o=a.map(i=>W(this,pe).defaultQueryOptions(i).queryHash);new Set(o).size!==o.length&&console.warn("[QueriesObserver]: Duplicate Queries found. This might result in unexpected behavior.")}t.notifyManager.batch(()=>{const o=W(this,ae),i=ie(this,ee,nt).call(this,W(this,Ne));te(this,Te,i),i.forEach(h=>h.observer.setOptions(h.defaultedQueryOptions,r));const l=i.map(h=>h.observer),u=l.map(h=>h.getCurrentResult()),c=l.some((h,d)=>h!==o[d]);o.length===l.length&&!c||(te(this,ae,l),te(this,ne,u),this.hasListeners()&&(Bt(o,l).forEach(h=>{h.destroy()}),Bt(l,o).forEach(h=>{h.subscribe(d=>{ie(this,ee,at).call(this,h,d)})}),ie(this,ee,rt).call(this)))})}getCurrentResult(){return W(this,ne)}getQueries(){return W(this,ae).map(a=>a.getCurrentQuery())}getObservers(){return W(this,ae)}getOptimisticResult(a,n){const r=ie(this,ee,nt).call(this,a),o=r.map(i=>i.observer.getOptimisticResult(i.defaultedQueryOptions));return[o,i=>ie(this,ee,st).call(this,i??o,n),()=>ie(this,ee,tt).call(this,o,r)]}},pe=new WeakMap,ne=new WeakMap,Ne=new WeakMap,Ce=new WeakMap,ae=new WeakMap,he=new WeakMap,Ie=new WeakMap,De=new WeakMap,Te=new WeakMap,ee=new WeakSet,tt=function(a,n){return n.map((r,o)=>{const i=a[o];return r.defaultedQueryOptions.notifyOnChangeProps?i:r.observer.trackResult(i,l=>{n.forEach(u=>{u.observer.trackProp(l)})})})},st=function(a,n){return n?((!W(this,he)||W(this,ne)!==W(this,De)||n!==W(this,Ie))&&(te(this,Ie,n),te(this,De,W(this,ne)),te(this,he,t.replaceEqualDeep(W(this,he),n(a)))),W(this,he)):a},nt=function(a){const n=new Map(W(this,ae).map(o=>[o.options.queryHash,o])),r=[];return a.forEach(o=>{const i=W(this,pe).defaultQueryOptions(o),l=n.get(i.queryHash);l?r.push({defaultedQueryOptions:i,observer:l}):r.push({defaultedQueryOptions:i,observer:new t.QueryObserver(W(this,pe),i)})}),r},at=function(a,n){const r=W(this,ae).indexOf(a);r!==-1&&(te(this,ne,Bs(W(this,ne),r,n)),ie(this,ee,rt).call(this))},rt=function(){var a;if(this.hasListeners()){const n=W(this,he),r=ie(this,ee,tt).call(this,W(this,ne),W(this,Te)),o=ie(this,ee,st).call(this,r,(a=W(this,Ce))==null?void 0:a.combine);n!==o&&t.notifyManager.batch(()=>{this.listeners.forEach(i=>{i(W(this,ne))})})}},Jt);function Rs({queries:s,...a},n){const r=t.useQueryClient(),o=t.useIsRestoring(),i=t.useQueryErrorResetBoundary(),l=re.useMemo(()=>s.map(x=>{const v=r.defaultQueryOptions(x);return v._optimisticResults=o?"isRestoring":"optimistic",v}),[s,r,o]);l.forEach(x=>{t.ensureSuspenseTimers(x),t.ensurePreventErrorBoundaryRetry(x,i)}),t.useClearResetErrorBoundary(i);const[u]=re.useState(()=>new zs(r,l,a)),[c,h,d]=u.getOptimisticResult(l,a.combine),m=!o&&a.subscribed!==!1;re.useSyncExternalStore(re.useCallback(x=>m?u.subscribe(t.notifyManager.batchCalls(x)):t.noop,[u,m]),()=>u.getCurrentResult(),()=>u.getCurrentResult()),re.useEffect(()=>{u.setQueries(l,a,{listeners:!1})},[l,a,u]);const f=c.some((x,v)=>t.shouldSuspend(l[v],x))?c.flatMap((x,v)=>{const p=l[v];if(p){const k=new t.QueryObserver(r,p);if(t.shouldSuspend(p,x))return t.fetchOptimistic(p,k,i);t.willFetch(x,o)&&t.fetchOptimistic(p,k,i)}return[]}):[];if(f.length>0)throw Promise.all(f);const g=c.find((x,v)=>{const p=l[v];return p&&t.getHasError({result:x,errorResetBoundary:i,throwOnError:p.throwOnError,query:r.getQueryCache().get(p.queryHash),suspense:p.suspense})});if(g!=null&&g.error)throw g.error;return h(d())}/**
2
2
  * @license lucide-react v0.453.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -73385,6 +73385,7 @@ function gNe(e, t) {
73385
73385
  return {
73386
73386
  connectionItems: Nt,
73387
73387
  selectedConnectionId: o,
73388
+ selectedConnection: k,
73388
73389
  isConnectionsLoading: S,
73389
73390
  isConnectionsError: C,
73390
73391
  modelItems: ye,
@@ -521,7 +521,7 @@ Error message: ${S7(n)}`,cause:n}),this[A7]=!0,this.value=t}static isInstance(t)
521
521
  To pick up a draggable item, press the space bar.
522
522
  While dragging, use the arrow keys to move the item.
523
523
  Press space again to drop the item in its new position, or press escape to cancel.
524
- `},bDe={onDragStart(e){let{active:t}=e;return"Picked up draggable item "+t.id+"."},onDragOver(e){let{active:t,over:n}=e;return n?"Draggable item "+t.id+" was moved over droppable area "+n.id+".":"Draggable item "+t.id+" is no longer over a droppable area."},onDragEnd(e){let{active:t,over:n}=e;return n?"Draggable item "+t.id+" was dropped over droppable area "+n.id:"Draggable item "+t.id+" was dropped."},onDragCancel(e){let{active:t}=e;return"Dragging was cancelled. Draggable item "+t.id+" was dropped."}};function yDe(e){let{announcements:t=bDe,container:n,hiddenTextDescribedById:r,screenReaderInstructions:o=mDe}=e;const{announce:i,announcement:s}=hDe(),a=Yh("DndLiveRegion"),[l,c]=R.useState(!1);if(R.useEffect(()=>{c(!0)},[]),pDe(R.useMemo(()=>({onDragStart(d){let{active:f}=d;i(t.onDragStart({active:f}))},onDragMove(d){let{active:f,over:h}=d;t.onDragMove&&i(t.onDragMove({active:f,over:h}))},onDragOver(d){let{active:f,over:h}=d;i(t.onDragOver({active:f,over:h}))},onDragEnd(d){let{active:f,over:h}=d;i(t.onDragEnd({active:f,over:h}))},onDragCancel(d){let{active:f,over:h}=d;i(t.onDragCancel({active:f,over:h}))}}),[i,t])),!l)return null;const u=R.createElement(R.Fragment,null,R.createElement(dDe,{id:r,value:o.draggable}),R.createElement(fDe,{id:a,announcement:s}));return n?ln.createPortal(u,n):u}var Rn;(function(e){e.DragStart="dragStart",e.DragMove="dragMove",e.DragEnd="dragEnd",e.DragCancel="dragCancel",e.DragOver="dragOver",e.RegisterDroppable="registerDroppable",e.SetDroppableDisabled="setDroppableDisabled",e.UnregisterDroppable="unregisterDroppable"})(Rn||(Rn={}));function tb(){}function vDe(e,t){return R.useMemo(()=>({sensor:e,options:t??{}}),[e,t])}function xDe(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return R.useMemo(()=>[...t].filter(r=>r!=null),[...t])}const Fo=Object.freeze({x:0,y:0});function mz(e,t){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function wDe(e,t){const n=eb(e);if(!n)return"0 0";const r={x:(n.x-t.left)/t.width*100,y:(n.y-t.top)/t.height*100};return r.x+"% "+r.y+"%"}function bz(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return n-r}function CDe(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return r-n}function EA(e){let{left:t,top:n,height:r,width:o}=e;return[{x:t,y:n},{x:t+o,y:n},{x:t,y:n+r},{x:t+o,y:n+r}]}function yz(e,t){if(!e||e.length===0)return null;const[n]=e;return n[t]}function _A(e,t,n){return t===void 0&&(t=e.left),n===void 0&&(n=e.top),{x:t+e.width*.5,y:n+e.height*.5}}const SDe=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e;const o=_A(t,t.left,t.top),i=[];for(const s of r){const{id:a}=s,l=n.get(a);if(l){const c=mz(_A(l),o);i.push({id:a,data:{droppableContainer:s,value:c}})}}return i.sort(bz)},EDe=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e;const o=EA(t),i=[];for(const s of r){const{id:a}=s,l=n.get(a);if(l){const c=EA(l),u=o.reduce((f,h,g)=>f+mz(c[g],h),0),d=Number((u/4).toFixed(4));i.push({id:a,data:{droppableContainer:s,value:d}})}}return i.sort(bz)};function _De(e,t){const n=Math.max(t.top,e.top),r=Math.max(t.left,e.left),o=Math.min(t.left+t.width,e.left+e.width),i=Math.min(t.top+t.height,e.top+e.height),s=o-r,a=i-n;if(r<o&&n<i){const l=t.width*t.height,c=e.width*e.height,u=s*a,d=u/(l+c-u);return Number(d.toFixed(4))}return 0}const RDe=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e;const o=[];for(const i of r){const{id:s}=i,a=n.get(s);if(a){const l=_De(a,t);l>0&&o.push({id:s,data:{droppableContainer:i,value:l}})}}return o.sort(CDe)};function kDe(e,t,n){return{...e,scaleX:t&&n?t.width/n.width:1,scaleY:t&&n?t.height/n.height:1}}function vz(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:Fo}function PDe(e){return function(n){for(var r=arguments.length,o=new Array(r>1?r-1:0),i=1;i<r;i++)o[i-1]=arguments[i];return o.reduce((s,a)=>({...s,top:s.top+e*a.y,bottom:s.bottom+e*a.y,left:s.left+e*a.x,right:s.right+e*a.x}),{...n})}}const DDe=PDe(1);function xz(e){if(e.startsWith("matrix3d(")){const t=e.slice(9,-1).split(/, /);return{x:+t[12],y:+t[13],scaleX:+t[0],scaleY:+t[5]}}else if(e.startsWith("matrix(")){const t=e.slice(7,-1).split(/, /);return{x:+t[4],y:+t[5],scaleX:+t[0],scaleY:+t[3]}}return null}function MDe(e,t,n){const r=xz(t);if(!r)return e;const{scaleX:o,scaleY:i,x:s,y:a}=r,l=e.left-s-(1-o)*parseFloat(n),c=e.top-a-(1-i)*parseFloat(n.slice(n.indexOf(" ")+1)),u=o?e.width/o:e.width,d=i?e.height/i:e.height;return{width:u,height:d,top:c,right:l+u,bottom:c+d,left:l}}const NDe={ignoreTransform:!1};function Xu(e,t){t===void 0&&(t=NDe);let n=e.getBoundingClientRect();if(t.ignoreTransform){const{transform:c,transformOrigin:u}=mr(e).getComputedStyle(e);c&&(n=MDe(n,c,u))}const{top:r,left:o,width:i,height:s,bottom:a,right:l}=n;return{top:r,left:o,width:i,height:s,bottom:a,right:l}}function RA(e){return Xu(e,{ignoreTransform:!0})}function ADe(e){const t=e.innerWidth,n=e.innerHeight;return{top:0,left:0,right:t,bottom:n,width:t,height:n}}function TDe(e,t){return t===void 0&&(t=mr(e).getComputedStyle(e)),t.position==="fixed"}function IDe(e,t){t===void 0&&(t=mr(e).getComputedStyle(e));const n=/(auto|scroll|overlay)/;return["overflow","overflowX","overflowY"].some(o=>{const i=t[o];return typeof i=="string"?n.test(i):!1})}function q0(e,t){const n=[];function r(o){if(t!=null&&n.length>=t||!o)return n;if(j2(o)&&o.scrollingElement!=null&&!n.includes(o.scrollingElement))return n.push(o.scrollingElement),n;if(!Uh(o)||hz(o)||n.includes(o))return n;const i=mr(e).getComputedStyle(o);return o!==e&&IDe(o,i)&&n.push(o),TDe(o,i)?n:r(o.parentNode)}return e?r(e):n}function wz(e){const[t]=q0(e,1);return t??null}function wx(e){return!V0||!e?null:Yu(e)?e:O2(e)?j2(e)||e===Ku(e).scrollingElement?window:Uh(e)?e:null:null}function Cz(e){return Yu(e)?e.scrollX:e.scrollLeft}function Sz(e){return Yu(e)?e.scrollY:e.scrollTop}function bC(e){return{x:Cz(e),y:Sz(e)}}var Mn;(function(e){e[e.Forward=1]="Forward",e[e.Backward=-1]="Backward"})(Mn||(Mn={}));function Ez(e){return!V0||!e?!1:e===document.scrollingElement}function _z(e){const t={x:0,y:0},n=Ez(e)?{height:window.innerHeight,width:window.innerWidth}:{height:e.clientHeight,width:e.clientWidth},r={x:e.scrollWidth-n.width,y:e.scrollHeight-n.height},o=e.scrollTop<=t.y,i=e.scrollLeft<=t.x,s=e.scrollTop>=r.y,a=e.scrollLeft>=r.x;return{isTop:o,isLeft:i,isBottom:s,isRight:a,maxScroll:r,minScroll:t}}const ODe={x:.2,y:.2};function jDe(e,t,n,r,o){let{top:i,left:s,right:a,bottom:l}=n;r===void 0&&(r=10),o===void 0&&(o=ODe);const{isTop:c,isBottom:u,isLeft:d,isRight:f}=_z(e),h={x:0,y:0},g={x:0,y:0},m={height:t.height*o.y,width:t.width*o.x};return!c&&i<=t.top+m.height?(h.y=Mn.Backward,g.y=r*Math.abs((t.top+m.height-i)/m.height)):!u&&l>=t.bottom-m.height&&(h.y=Mn.Forward,g.y=r*Math.abs((t.bottom-m.height-l)/m.height)),!f&&a>=t.right-m.width?(h.x=Mn.Forward,g.x=r*Math.abs((t.right-m.width-a)/m.width)):!d&&s<=t.left+m.width&&(h.x=Mn.Backward,g.x=r*Math.abs((t.left+m.width-s)/m.width)),{direction:h,speed:g}}function FDe(e){if(e===document.scrollingElement){const{innerWidth:i,innerHeight:s}=window;return{top:0,left:0,right:i,bottom:s,width:i,height:s}}const{top:t,left:n,right:r,bottom:o}=e.getBoundingClientRect();return{top:t,left:n,right:r,bottom:o,width:e.clientWidth,height:e.clientHeight}}function Rz(e){return e.reduce((t,n)=>Tc(t,bC(n)),Fo)}function LDe(e){return e.reduce((t,n)=>t+Cz(n),0)}function $De(e){return e.reduce((t,n)=>t+Sz(n),0)}function kz(e,t){if(t===void 0&&(t=Xu),!e)return;const{top:n,left:r,bottom:o,right:i}=t(e);wz(e)&&(o<=0||i<=0||n>=window.innerHeight||r>=window.innerWidth)&&e.scrollIntoView({block:"center",inline:"center"})}const zDe=[["x",["left","right"],LDe],["y",["top","bottom"],$De]];class F2{constructor(t,n){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;const r=q0(n),o=Rz(r);this.rect={...t},this.width=t.width,this.height=t.height;for(const[i,s,a]of zDe)for(const l of s)Object.defineProperty(this,l,{get:()=>{const c=a(r),u=o[i]-c;return this.rect[l]+u},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}}class rf{constructor(t){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(n=>{var r;return(r=this.target)==null?void 0:r.removeEventListener(...n)})},this.target=t}add(t,n,r){var o;(o=this.target)==null||o.addEventListener(t,n,r),this.listeners.push([t,n,r])}}function BDe(e){const{EventTarget:t}=mr(e);return e instanceof t?e:Ku(e)}function Cx(e,t){const n=Math.abs(e.x),r=Math.abs(e.y);return typeof t=="number"?Math.sqrt(n**2+r**2)>t:"x"in t&&"y"in t?n>t.x&&r>t.y:"x"in t?n>t.x:"y"in t?r>t.y:!1}var ro;(function(e){e.Click="click",e.DragStart="dragstart",e.Keydown="keydown",e.ContextMenu="contextmenu",e.Resize="resize",e.SelectionChange="selectionchange",e.VisibilityChange="visibilitychange"})(ro||(ro={}));function kA(e){e.preventDefault()}function VDe(e){e.stopPropagation()}var ht;(function(e){e.Space="Space",e.Down="ArrowDown",e.Right="ArrowRight",e.Left="ArrowLeft",e.Up="ArrowUp",e.Esc="Escape",e.Enter="Enter",e.Tab="Tab"})(ht||(ht={}));const Pz={start:[ht.Space,ht.Enter],cancel:[ht.Esc],end:[ht.Space,ht.Enter,ht.Tab]},HDe=(e,t)=>{let{currentCoordinates:n}=t;switch(e.code){case ht.Right:return{...n,x:n.x+25};case ht.Left:return{...n,x:n.x-25};case ht.Down:return{...n,y:n.y+25};case ht.Up:return{...n,y:n.y-25}}};class L2{constructor(t){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=t;const{event:{target:n}}=t;this.props=t,this.listeners=new rf(Ku(n)),this.windowListeners=new rf(mr(n)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(ro.Resize,this.handleCancel),this.windowListeners.add(ro.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(ro.Keydown,this.handleKeyDown))}handleStart(){const{activeNode:t,onStart:n}=this.props,r=t.node.current;r&&kz(r),n(Fo)}handleKeyDown(t){if(W0(t)){const{active:n,context:r,options:o}=this.props,{keyboardCodes:i=Pz,coordinateGetter:s=HDe,scrollBehavior:a="smooth"}=o,{code:l}=t;if(i.end.includes(l)){this.handleEnd(t);return}if(i.cancel.includes(l)){this.handleCancel(t);return}const{collisionRect:c}=r.current,u=c?{x:c.left,y:c.top}:Fo;this.referenceCoordinates||(this.referenceCoordinates=u);const d=s(t,{active:n,context:r.current,currentCoordinates:u});if(d){const f=Jf(d,u),h={x:0,y:0},{scrollableAncestors:g}=r.current;for(const m of g){const b=t.code,{isTop:y,isRight:v,isLeft:x,isBottom:E,maxScroll:_,minScroll:S}=_z(m),C=FDe(m),k={x:Math.min(b===ht.Right?C.right-C.width/2:C.right,Math.max(b===ht.Right?C.left:C.left+C.width/2,d.x)),y:Math.min(b===ht.Down?C.bottom-C.height/2:C.bottom,Math.max(b===ht.Down?C.top:C.top+C.height/2,d.y))},M=b===ht.Right&&!v||b===ht.Left&&!x,P=b===ht.Down&&!E||b===ht.Up&&!y;if(M&&k.x!==d.x){const N=m.scrollLeft+f.x,A=b===ht.Right&&N<=_.x||b===ht.Left&&N>=S.x;if(A&&!f.y){m.scrollTo({left:N,behavior:a});return}A?h.x=m.scrollLeft-N:h.x=b===ht.Right?m.scrollLeft-_.x:m.scrollLeft-S.x,h.x&&m.scrollBy({left:-h.x,behavior:a});break}else if(P&&k.y!==d.y){const N=m.scrollTop+f.y,A=b===ht.Down&&N<=_.y||b===ht.Up&&N>=S.y;if(A&&!f.x){m.scrollTo({top:N,behavior:a});return}A?h.y=m.scrollTop-N:h.y=b===ht.Down?m.scrollTop-_.y:m.scrollTop-S.y,h.y&&m.scrollBy({top:-h.y,behavior:a});break}}this.handleMove(t,Tc(Jf(d,this.referenceCoordinates),h))}}}handleMove(t,n){const{onMove:r}=this.props;t.preventDefault(),r(n)}handleEnd(t){const{onEnd:n}=this.props;t.preventDefault(),this.detach(),n()}handleCancel(t){const{onCancel:n}=this.props;t.preventDefault(),this.detach(),n()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}}L2.activators=[{eventName:"onKeyDown",handler:(e,t,n)=>{let{keyboardCodes:r=Pz,onActivation:o}=t,{active:i}=n;const{code:s}=e.nativeEvent;if(r.start.includes(s)){const a=i.activatorNode.current;return a&&e.target!==a?!1:(e.preventDefault(),o==null||o({event:e.nativeEvent}),!0)}return!1}}];function PA(e){return!!(e&&"distance"in e)}function DA(e){return!!(e&&"delay"in e)}class $2{constructor(t,n,r){var o;r===void 0&&(r=BDe(t.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=t,this.events=n;const{event:i}=t,{target:s}=i;this.props=t,this.events=n,this.document=Ku(s),this.documentListeners=new rf(this.document),this.listeners=new rf(r),this.windowListeners=new rf(mr(s)),this.initialCoordinates=(o=eb(i))!=null?o:Fo,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){const{events:t,props:{options:{activationConstraint:n,bypassActivationConstraint:r}}}=this;if(this.listeners.add(t.move.name,this.handleMove,{passive:!1}),this.listeners.add(t.end.name,this.handleEnd),t.cancel&&this.listeners.add(t.cancel.name,this.handleCancel),this.windowListeners.add(ro.Resize,this.handleCancel),this.windowListeners.add(ro.DragStart,kA),this.windowListeners.add(ro.VisibilityChange,this.handleCancel),this.windowListeners.add(ro.ContextMenu,kA),this.documentListeners.add(ro.Keydown,this.handleKeydown),n){if(r!=null&&r({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if(DA(n)){this.timeoutId=setTimeout(this.handleStart,n.delay),this.handlePending(n);return}if(PA(n)){this.handlePending(n);return}}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),this.timeoutId!==null&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handlePending(t,n){const{active:r,onPending:o}=this.props;o(r,t,this.initialCoordinates,n)}handleStart(){const{initialCoordinates:t}=this,{onStart:n}=this.props;t&&(this.activated=!0,this.documentListeners.add(ro.Click,VDe,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(ro.SelectionChange,this.removeTextSelection),n(t))}handleMove(t){var n;const{activated:r,initialCoordinates:o,props:i}=this,{onMove:s,options:{activationConstraint:a}}=i;if(!o)return;const l=(n=eb(t))!=null?n:Fo,c=Jf(o,l);if(!r&&a){if(PA(a)){if(a.tolerance!=null&&Cx(c,a.tolerance))return this.handleCancel();if(Cx(c,a.distance))return this.handleStart()}if(DA(a)&&Cx(c,a.tolerance))return this.handleCancel();this.handlePending(a,c);return}t.cancelable&&t.preventDefault(),s(l)}handleEnd(){const{onAbort:t,onEnd:n}=this.props;this.detach(),this.activated||t(this.props.active),n()}handleCancel(){const{onAbort:t,onCancel:n}=this.props;this.detach(),this.activated||t(this.props.active),n()}handleKeydown(t){t.code===ht.Esc&&this.handleCancel()}removeTextSelection(){var t;(t=this.document.getSelection())==null||t.removeAllRanges()}}const WDe={cancel:{name:"pointercancel"},move:{name:"pointermove"},end:{name:"pointerup"}};class z2 extends $2{constructor(t){const{event:n}=t,r=Ku(n.target);super(t,WDe,r)}}z2.activators=[{eventName:"onPointerDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return!n.isPrimary||n.button!==0?!1:(r==null||r({event:n}),!0)}}];const qDe={move:{name:"mousemove"},end:{name:"mouseup"}};var yC;(function(e){e[e.RightClick=2]="RightClick"})(yC||(yC={}));class Dz extends $2{constructor(t){super(t,qDe,Ku(t.event.target))}}Dz.activators=[{eventName:"onMouseDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return n.button===yC.RightClick?!1:(r==null||r({event:n}),!0)}}];const Sx={cancel:{name:"touchcancel"},move:{name:"touchmove"},end:{name:"touchend"}};class UDe extends $2{constructor(t){super(t,Sx)}static setup(){return window.addEventListener(Sx.move.name,t,{capture:!1,passive:!1}),function(){window.removeEventListener(Sx.move.name,t)};function t(){}}}UDe.activators=[{eventName:"onTouchStart",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;const{touches:o}=n;return o.length>1?!1:(r==null||r({event:n}),!0)}}];var of;(function(e){e[e.Pointer=0]="Pointer",e[e.DraggableRect=1]="DraggableRect"})(of||(of={}));var nb;(function(e){e[e.TreeOrder=0]="TreeOrder",e[e.ReversedTreeOrder=1]="ReversedTreeOrder"})(nb||(nb={}));function GDe(e){let{acceleration:t,activator:n=of.Pointer,canScroll:r,draggingRect:o,enabled:i,interval:s=5,order:a=nb.TreeOrder,pointerCoordinates:l,scrollableAncestors:c,scrollableAncestorRects:u,delta:d,threshold:f}=e;const h=KDe({delta:d,disabled:!i}),[g,m]=sDe(),b=R.useRef({x:0,y:0}),y=R.useRef({x:0,y:0}),v=R.useMemo(()=>{switch(n){case of.Pointer:return l?{top:l.y,bottom:l.y,left:l.x,right:l.x}:null;case of.DraggableRect:return o}},[n,o,l]),x=R.useRef(null),E=R.useCallback(()=>{const S=x.current;if(!S)return;const C=b.current.x*y.current.x,k=b.current.y*y.current.y;S.scrollBy(C,k)},[]),_=R.useMemo(()=>a===nb.TreeOrder?[...c].reverse():c,[a,c]);R.useEffect(()=>{if(!i||!c.length||!v){m();return}for(const S of _){if((r==null?void 0:r(S))===!1)continue;const C=c.indexOf(S),k=u[C];if(!k)continue;const{direction:M,speed:P}=jDe(S,k,v,t,f);for(const N of["x","y"])h[N][M[N]]||(P[N]=0,M[N]=0);if(P.x>0||P.y>0){m(),x.current=S,g(E,s),b.current=P,y.current=M;return}}b.current={x:0,y:0},y.current={x:0,y:0},m()},[t,E,r,m,i,s,JSON.stringify(v),JSON.stringify(h),g,c,_,u,JSON.stringify(f)])}const YDe={x:{[Mn.Backward]:!1,[Mn.Forward]:!1},y:{[Mn.Backward]:!1,[Mn.Forward]:!1}};function KDe(e){let{delta:t,disabled:n}=e;const r=Jm(t);return Gh(o=>{if(n||!r||!o)return YDe;const i={x:Math.sign(t.x-r.x),y:Math.sign(t.y-r.y)};return{x:{[Mn.Backward]:o.x[Mn.Backward]||i.x===-1,[Mn.Forward]:o.x[Mn.Forward]||i.x===1},y:{[Mn.Backward]:o.y[Mn.Backward]||i.y===-1,[Mn.Forward]:o.y[Mn.Forward]||i.y===1}}},[n,t,r])}function XDe(e,t){const n=t!=null?e.get(t):void 0,r=n?n.node.current:null;return Gh(o=>{var i;return t==null?null:(i=r??o)!=null?i:null},[r,t])}function QDe(e,t){return R.useMemo(()=>e.reduce((n,r)=>{const{sensor:o}=r,i=o.activators.map(s=>({eventName:s.eventName,handler:t(s.handler,r)}));return[...n,...i]},[]),[e,t])}var eh;(function(e){e[e.Always=0]="Always",e[e.BeforeDragging=1]="BeforeDragging",e[e.WhileDragging=2]="WhileDragging"})(eh||(eh={}));var vC;(function(e){e.Optimized="optimized"})(vC||(vC={}));const MA=new Map;function ZDe(e,t){let{dragging:n,dependencies:r,config:o}=t;const[i,s]=R.useState(null),{frequency:a,measure:l,strategy:c}=o,u=R.useRef(e),d=b(),f=Zf(d),h=R.useCallback(function(y){y===void 0&&(y=[]),!f.current&&s(v=>v===null?y:v.concat(y.filter(x=>!v.includes(x))))},[f]),g=R.useRef(null),m=Gh(y=>{if(d&&!n)return MA;if(!y||y===MA||u.current!==e||i!=null){const v=new Map;for(let x of e){if(!x)continue;if(i&&i.length>0&&!i.includes(x.id)&&x.rect.current){v.set(x.id,x.rect.current);continue}const E=x.node.current,_=E?new F2(l(E),E):null;x.rect.current=_,_&&v.set(x.id,_)}return v}return y},[e,i,n,d,l]);return R.useEffect(()=>{u.current=e},[e]),R.useEffect(()=>{d||h()},[n,d]),R.useEffect(()=>{i&&i.length>0&&s(null)},[JSON.stringify(i)]),R.useEffect(()=>{d||typeof a!="number"||g.current!==null||(g.current=setTimeout(()=>{h(),g.current=null},a))},[a,d,h,...r]),{droppableRects:m,measureDroppableContainers:h,measuringScheduled:i!=null};function b(){switch(c){case eh.Always:return!1;case eh.BeforeDragging:return n;default:return!n}}}function B2(e,t){return Gh(n=>e?n||(typeof t=="function"?t(e):e):null,[t,e])}function JDe(e,t){return B2(e,t)}function eMe(e){let{callback:t,disabled:n}=e;const r=H0(t),o=R.useMemo(()=>{if(n||typeof window>"u"||typeof window.MutationObserver>"u")return;const{MutationObserver:i}=window;return new i(r)},[r,n]);return R.useEffect(()=>()=>o==null?void 0:o.disconnect(),[o]),o}function U0(e){let{callback:t,disabled:n}=e;const r=H0(t),o=R.useMemo(()=>{if(n||typeof window>"u"||typeof window.ResizeObserver>"u")return;const{ResizeObserver:i}=window;return new i(r)},[n]);return R.useEffect(()=>()=>o==null?void 0:o.disconnect(),[o]),o}function tMe(e){return new F2(Xu(e),e)}function NA(e,t,n){t===void 0&&(t=tMe);const[r,o]=R.useState(null);function i(){o(l=>{if(!e)return null;if(e.isConnected===!1){var c;return(c=l??n)!=null?c:null}const u=t(e);return JSON.stringify(l)===JSON.stringify(u)?l:u})}const s=eMe({callback(l){if(e)for(const c of l){const{type:u,target:d}=c;if(u==="childList"&&d instanceof HTMLElement&&d.contains(e)){i();break}}}}),a=U0({callback:i});return jo(()=>{i(),e?(a==null||a.observe(e),s==null||s.observe(document.body,{childList:!0,subtree:!0})):(a==null||a.disconnect(),s==null||s.disconnect())},[e]),r}function nMe(e){const t=B2(e);return vz(e,t)}const AA=[];function rMe(e){const t=R.useRef(e),n=Gh(r=>e?r&&r!==AA&&e&&t.current&&e.parentNode===t.current.parentNode?r:q0(e):AA,[e]);return R.useEffect(()=>{t.current=e},[e]),n}function oMe(e){const[t,n]=R.useState(null),r=R.useRef(e),o=R.useCallback(i=>{const s=wx(i.target);s&&n(a=>a?(a.set(s,bC(s)),new Map(a)):null)},[]);return R.useEffect(()=>{const i=r.current;if(e!==i){s(i);const a=e.map(l=>{const c=wx(l);return c?(c.addEventListener("scroll",o,{passive:!0}),[c,bC(c)]):null}).filter(l=>l!=null);n(a.length?new Map(a):null),r.current=e}return()=>{s(e),s(i)};function s(a){a.forEach(l=>{const c=wx(l);c==null||c.removeEventListener("scroll",o)})}},[o,e]),R.useMemo(()=>e.length?t?Array.from(t.values()).reduce((i,s)=>Tc(i,s),Fo):Rz(e):Fo,[e,t])}function TA(e,t){t===void 0&&(t=[]);const n=R.useRef(null);return R.useEffect(()=>{n.current=null},t),R.useEffect(()=>{const r=e!==Fo;r&&!n.current&&(n.current=e),!r&&n.current&&(n.current=null)},[e]),n.current?Jf(e,n.current):Fo}function iMe(e){R.useEffect(()=>{if(!V0)return;const t=e.map(n=>{let{sensor:r}=n;return r.setup==null?void 0:r.setup()});return()=>{for(const n of t)n==null||n()}},e.map(t=>{let{sensor:n}=t;return n}))}function sMe(e,t){return R.useMemo(()=>e.reduce((n,r)=>{let{eventName:o,handler:i}=r;return n[o]=s=>{i(s,t)},n},{}),[e,t])}function Mz(e){return R.useMemo(()=>e?ADe(e):null,[e])}const IA=[];function aMe(e,t){t===void 0&&(t=Xu);const[n]=e,r=Mz(n?mr(n):null),[o,i]=R.useState(IA);function s(){i(()=>e.length?e.map(l=>Ez(l)?r:new F2(t(l),l)):IA)}const a=U0({callback:s});return jo(()=>{a==null||a.disconnect(),s(),e.forEach(l=>a==null?void 0:a.observe(l))},[e]),o}function Nz(e){if(!e)return null;if(e.children.length>1)return e;const t=e.children[0];return Uh(t)?t:e}function lMe(e){let{measure:t}=e;const[n,r]=R.useState(null),o=R.useCallback(c=>{for(const{target:u}of c)if(Uh(u)){r(d=>{const f=t(u);return d?{...d,width:f.width,height:f.height}:f});break}},[t]),i=U0({callback:o}),s=R.useCallback(c=>{const u=Nz(c);i==null||i.disconnect(),u&&(i==null||i.observe(u)),r(u?t(u):null)},[t,i]),[a,l]=Zm(s);return R.useMemo(()=>({nodeRef:a,rect:n,setRef:l}),[n,a,l])}const cMe=[{sensor:z2,options:{}},{sensor:L2,options:{}}],uMe={current:{}},jg={draggable:{measure:RA},droppable:{measure:RA,strategy:eh.WhileDragging,frequency:vC.Optimized},dragOverlay:{measure:Xu}};class sf extends Map{get(t){var n;return t!=null&&(n=super.get(t))!=null?n:void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(t=>{let{disabled:n}=t;return!n})}getNodeFor(t){var n,r;return(n=(r=this.get(t))==null?void 0:r.node.current)!=null?n:void 0}}const dMe={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new sf,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:tb},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:jg,measureDroppableContainers:tb,windowRect:null,measuringScheduled:!1},Az={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:""},dispatch:tb,draggableNodes:new Map,over:null,measureDroppableContainers:tb},Kh=R.createContext(Az),Tz=R.createContext(dMe);function fMe(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new sf}}}function hMe(e,t){switch(t.type){case Rn.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case Rn.DragMove:return e.draggable.active==null?e:{...e,draggable:{...e.draggable,translate:{x:t.coordinates.x-e.draggable.initialCoordinates.x,y:t.coordinates.y-e.draggable.initialCoordinates.y}}};case Rn.DragEnd:case Rn.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case Rn.RegisterDroppable:{const{element:n}=t,{id:r}=n,o=new sf(e.droppable.containers);return o.set(r,n),{...e,droppable:{...e.droppable,containers:o}}}case Rn.SetDroppableDisabled:{const{id:n,key:r,disabled:o}=t,i=e.droppable.containers.get(n);if(!i||r!==i.key)return e;const s=new sf(e.droppable.containers);return s.set(n,{...i,disabled:o}),{...e,droppable:{...e.droppable,containers:s}}}case Rn.UnregisterDroppable:{const{id:n,key:r}=t,o=e.droppable.containers.get(n);if(!o||r!==o.key)return e;const i=new sf(e.droppable.containers);return i.delete(n),{...e,droppable:{...e.droppable,containers:i}}}default:return e}}function pMe(e){let{disabled:t}=e;const{active:n,activatorEvent:r,draggableNodes:o}=R.useContext(Kh),i=Jm(r),s=Jm(n==null?void 0:n.id);return R.useEffect(()=>{if(!t&&!r&&i&&s!=null){if(!W0(i)||document.activeElement===i.target)return;const a=o.get(s);if(!a)return;const{activatorNode:l,node:c}=a;if(!l.current&&!c.current)return;requestAnimationFrame(()=>{for(const u of[l.current,c.current]){if(!u)continue;const d=cDe(u);if(d){d.focus();break}}})}},[r,t,o,s,i]),null}function Iz(e,t){let{transform:n,...r}=t;return e!=null&&e.length?e.reduce((o,i)=>i({transform:o,...r}),n):n}function gMe(e){return R.useMemo(()=>({draggable:{...jg.draggable,...e==null?void 0:e.draggable},droppable:{...jg.droppable,...e==null?void 0:e.droppable},dragOverlay:{...jg.dragOverlay,...e==null?void 0:e.dragOverlay}}),[e==null?void 0:e.draggable,e==null?void 0:e.droppable,e==null?void 0:e.dragOverlay])}function mMe(e){let{activeNode:t,measure:n,initialRect:r,config:o=!0}=e;const i=R.useRef(!1),{x:s,y:a}=typeof o=="boolean"?{x:o,y:o}:o;jo(()=>{if(!s&&!a||!t){i.current=!1;return}if(i.current||!r)return;const c=t==null?void 0:t.node.current;if(!c||c.isConnected===!1)return;const u=n(c),d=vz(u,r);if(s||(d.x=0),a||(d.y=0),i.current=!0,Math.abs(d.x)>0||Math.abs(d.y)>0){const f=wz(c);f&&f.scrollBy({top:d.y,left:d.x})}},[t,s,a,r,n])}const G0=R.createContext({...Fo,scaleX:1,scaleY:1});var xs;(function(e){e[e.Uninitialized=0]="Uninitialized",e[e.Initializing=1]="Initializing",e[e.Initialized=2]="Initialized"})(xs||(xs={}));const bMe=R.memo(function(t){var n,r,o,i;let{id:s,accessibility:a,autoScroll:l=!0,children:c,sensors:u=cMe,collisionDetection:d=RDe,measuring:f,modifiers:h,...g}=t;const m=R.useReducer(hMe,void 0,fMe),[b,y]=m,[v,x]=gDe(),[E,_]=R.useState(xs.Uninitialized),S=E===xs.Initialized,{draggable:{active:C,nodes:k,translate:M},droppable:{containers:P}}=b,N=C!=null?k.get(C):null,A=R.useRef({initial:null,translated:null}),j=R.useMemo(()=>{var on;return C!=null?{id:C,data:(on=N==null?void 0:N.data)!=null?on:uMe,rect:A}:null},[C,N]),F=R.useRef(null),[I,O]=R.useState(null),[L,B]=R.useState(null),V=Zf(g,Object.values(g)),T=Yh("DndDescribedBy",s),q=R.useMemo(()=>P.getEnabled(),[P]),$=gMe(f),{droppableRects:D,measureDroppableContainers:z,measuringScheduled:U}=ZDe(q,{dragging:S,dependencies:[M.x,M.y],config:$.droppable}),Y=XDe(k,C),W=R.useMemo(()=>L?eb(L):null,[L]),G=Ri(),K=JDe(Y,$.draggable.measure);mMe({activeNode:C!=null?k.get(C):null,config:G.layoutShiftCompensation,initialRect:K,measure:$.draggable.measure});const J=NA(Y,$.draggable.measure,K),ne=NA(Y?Y.parentElement:null),Q=R.useRef({activatorEvent:null,active:null,activeNode:Y,collisionRect:null,collisions:null,droppableRects:D,draggableNodes:k,draggingNode:null,draggingNodeRect:null,droppableContainers:P,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),ie=P.getNodeFor((n=Q.current.over)==null?void 0:n.id),te=lMe({measure:$.dragOverlay.measure}),ce=(r=te.nodeRef.current)!=null?r:Y,de=S?(o=te.rect)!=null?o:J:null,_e=!!(te.nodeRef.current&&te.rect),be=nMe(_e?null:J),xe=Mz(ce?mr(ce):null),De=rMe(S?ie??Y:null),Ge=aMe(De),Ct=Iz(h,{transform:{x:M.x-be.x,y:M.y-be.y,scaleX:1,scaleY:1},activatorEvent:L,active:j,activeNodeRect:J,containerNodeRect:ne,draggingNodeRect:de,over:Q.current.over,overlayNodeRect:te.rect,scrollableAncestors:De,scrollableAncestorRects:Ge,windowRect:xe}),pe=W?Tc(W,M):null,Ie=oMe(De),Me=TA(Ie),ee=TA(Ie,[J]),le=Tc(Ct,Me),Ee=de?DDe(de,Ct):null,Pe=j&&Ee?d({active:j,collisionRect:Ee,droppableRects:D,droppableContainers:q,pointerCoordinates:pe}):null,We=yz(Pe,"id"),[Mt,_n]=R.useState(null),fn=_e?Ct:Tc(Ct,ee),ge=kDe(fn,(i=Mt==null?void 0:Mt.rect)!=null?i:null,J),hn=R.useRef(null),Nt=R.useCallback((on,St)=>{let{sensor:On,options:Ne}=St;if(F.current==null)return;const qe=k.get(F.current);if(!qe)return;const nt=on.nativeEvent,Zt=new On({active:F.current,activeNode:qe,event:nt,options:Ne,context:Q,onAbort(Tt){if(!k.get(Tt))return;const{onDragAbort:Jt}=V.current,pn={id:Tt};Jt==null||Jt(pn),v({type:"onDragAbort",event:pn})},onPending(Tt,Dn,Jt,pn){if(!k.get(Tt))return;const{onDragPending:Jr}=V.current,Vo={id:Tt,constraint:Dn,initialCoordinates:Jt,offset:pn};Jr==null||Jr(Vo),v({type:"onDragPending",event:Vo})},onStart(Tt){const Dn=F.current;if(Dn==null)return;const Jt=k.get(Dn);if(!Jt)return;const{onDragStart:pn}=V.current,da={activatorEvent:nt,active:{id:Dn,data:Jt.data,rect:A}};ln.unstable_batchedUpdates(()=>{pn==null||pn(da),_(xs.Initializing),y({type:Rn.DragStart,initialCoordinates:Tt,active:Dn}),v({type:"onDragStart",event:da}),O(hn.current),B(nt)})},onMove(Tt){y({type:Rn.DragMove,coordinates:Tt})},onEnd:At(Rn.DragEnd),onCancel:At(Rn.DragCancel)});hn.current=Zt;function At(Tt){return async function(){const{active:Jt,collisions:pn,over:da,scrollAdjustedTranslate:Jr}=Q.current;let Vo=null;if(Jt&&Jr){const{cancelDrop:fa}=V.current;Vo={activatorEvent:nt,active:Jt,collisions:pn,delta:Jr,over:da},Tt===Rn.DragEnd&&typeof fa=="function"&&await Promise.resolve(fa(Vo))&&(Tt=Rn.DragCancel)}F.current=null,ln.unstable_batchedUpdates(()=>{y({type:Tt}),_(xs.Uninitialized),_n(null),O(null),B(null),hn.current=null;const fa=Tt===Rn.DragEnd?"onDragEnd":"onDragCancel";if(Vo){const Qu=V.current[fa];Qu==null||Qu(Vo),v({type:fa,event:Vo})}})}}},[k]),Zr=R.useCallback((on,St)=>(On,Ne)=>{const qe=On.nativeEvent,nt=k.get(Ne);if(F.current!==null||!nt||qe.dndKit||qe.defaultPrevented)return;const Zt={active:nt};on(On,St.options,Zt)===!0&&(qe.dndKit={capturedBy:St.sensor},F.current=Ne,Nt(On,St))},[k,Nt]),In=QDe(u,Zr);iMe(u),jo(()=>{J&&E===xs.Initializing&&_(xs.Initialized)},[J,E]),R.useEffect(()=>{const{onDragMove:on}=V.current,{active:St,activatorEvent:On,collisions:Ne,over:qe}=Q.current;if(!St||!On)return;const nt={active:St,activatorEvent:On,collisions:Ne,delta:{x:le.x,y:le.y},over:qe};ln.unstable_batchedUpdates(()=>{on==null||on(nt),v({type:"onDragMove",event:nt})})},[le.x,le.y]),R.useEffect(()=>{const{active:on,activatorEvent:St,collisions:On,droppableContainers:Ne,scrollAdjustedTranslate:qe}=Q.current;if(!on||F.current==null||!St||!qe)return;const{onDragOver:nt}=V.current,Zt=Ne.get(We),At=Zt&&Zt.rect.current?{id:Zt.id,rect:Zt.rect.current,data:Zt.data,disabled:Zt.disabled}:null,Tt={active:on,activatorEvent:St,collisions:On,delta:{x:qe.x,y:qe.y},over:At};ln.unstable_batchedUpdates(()=>{_n(At),nt==null||nt(Tt),v({type:"onDragOver",event:Tt})})},[We]),jo(()=>{Q.current={activatorEvent:L,active:j,activeNode:Y,collisionRect:Ee,collisions:Pe,droppableRects:D,draggableNodes:k,draggingNode:ce,draggingNodeRect:de,droppableContainers:P,over:Mt,scrollableAncestors:De,scrollAdjustedTranslate:le},A.current={initial:de,translated:Ee}},[j,Y,Pe,Ee,k,ce,de,D,P,Mt,De,le]),GDe({...G,delta:M,draggingRect:Ee,pointerCoordinates:pe,scrollableAncestors:De,scrollableAncestorRects:Ge});const Bl=R.useMemo(()=>({active:j,activeNode:Y,activeNodeRect:J,activatorEvent:L,collisions:Pe,containerNodeRect:ne,dragOverlay:te,draggableNodes:k,droppableContainers:P,droppableRects:D,over:Mt,measureDroppableContainers:z,scrollableAncestors:De,scrollableAncestorRects:Ge,measuringConfiguration:$,measuringScheduled:U,windowRect:xe}),[j,Y,J,L,Pe,ne,te,k,P,D,Mt,z,De,Ge,$,U,xe]),ua=R.useMemo(()=>({activatorEvent:L,activators:In,active:j,activeNodeRect:J,ariaDescribedById:{draggable:T},dispatch:y,draggableNodes:k,over:Mt,measureDroppableContainers:z}),[L,In,j,J,y,T,k,Mt,z]);return R.createElement(gz.Provider,{value:x},R.createElement(Kh.Provider,{value:ua},R.createElement(Tz.Provider,{value:Bl},R.createElement(G0.Provider,{value:ge},c)),R.createElement(pMe,{disabled:(a==null?void 0:a.restoreFocus)===!1})),R.createElement(yDe,{...a,hiddenTextDescribedById:T}));function Ri(){const on=(I==null?void 0:I.autoScrollEnabled)===!1,St=typeof l=="object"?l.enabled===!1:l===!1,On=S&&!on&&!St;return typeof l=="object"?{...l,enabled:On}:{enabled:On}}}),yMe=R.createContext(null),OA="button",vMe="Draggable";function Oz(e){let{id:t,data:n,disabled:r=!1,attributes:o}=e;const i=Yh(vMe),{activators:s,activatorEvent:a,active:l,activeNodeRect:c,ariaDescribedById:u,draggableNodes:d,over:f}=R.useContext(Kh),{role:h=OA,roleDescription:g="draggable",tabIndex:m=0}=o??{},b=(l==null?void 0:l.id)===t,y=R.useContext(b?G0:yMe),[v,x]=Zm(),[E,_]=Zm(),S=sMe(s,t),C=Zf(n);jo(()=>(d.set(t,{id:t,key:i,node:v,activatorNode:E,data:C}),()=>{const M=d.get(t);M&&M.key===i&&d.delete(t)}),[d,t]);const k=R.useMemo(()=>({role:h,tabIndex:m,"aria-disabled":r,"aria-pressed":b&&h===OA?!0:void 0,"aria-roledescription":g,"aria-describedby":u.draggable}),[r,h,m,b,g,u.draggable]);return{active:l,activatorEvent:a,activeNodeRect:c,attributes:k,isDragging:b,listeners:r?void 0:S,node:v,over:f,setNodeRef:x,setActivatorNodeRef:_,transform:y}}function jz(){return R.useContext(Tz)}const xMe="Droppable",wMe={timeout:25};function Fz(e){let{data:t,disabled:n=!1,id:r,resizeObserverConfig:o}=e;const i=Yh(xMe),{active:s,dispatch:a,over:l,measureDroppableContainers:c}=R.useContext(Kh),u=R.useRef({disabled:n}),d=R.useRef(!1),f=R.useRef(null),h=R.useRef(null),{disabled:g,updateMeasurementsFor:m,timeout:b}={...wMe,...o},y=Zf(m??r),v=R.useCallback(()=>{if(!d.current){d.current=!0;return}h.current!=null&&clearTimeout(h.current),h.current=setTimeout(()=>{c(Array.isArray(y.current)?y.current:[y.current]),h.current=null},b)},[b]),x=U0({callback:v,disabled:g||!s}),E=R.useCallback((k,M)=>{x&&(M&&(x.unobserve(M),d.current=!1),k&&x.observe(k))},[x]),[_,S]=Zm(E),C=Zf(t);return R.useEffect(()=>{!x||!_.current||(x.disconnect(),d.current=!1,x.observe(_.current))},[_,x]),R.useEffect(()=>(a({type:Rn.RegisterDroppable,element:{id:r,key:i,disabled:n,node:_,rect:f,data:C}}),()=>a({type:Rn.UnregisterDroppable,key:i,id:r})),[r]),R.useEffect(()=>{n!==u.current.disabled&&(a({type:Rn.SetDroppableDisabled,id:r,key:i,disabled:n}),u.current.disabled=n)},[r,i,n,a]),{active:s,rect:f,isOver:(l==null?void 0:l.id)===r,node:_,over:l,setNodeRef:S}}function CMe(e){let{animation:t,children:n}=e;const[r,o]=R.useState(null),[i,s]=R.useState(null),a=Jm(n);return!n&&!r&&a&&o(a),jo(()=>{if(!i)return;const l=r==null?void 0:r.key,c=r==null?void 0:r.props.id;if(l==null||c==null){o(null);return}Promise.resolve(t(c,i)).then(()=>{o(null)})},[t,r,i]),R.createElement(R.Fragment,null,n,r?R.cloneElement(r,{ref:s}):null)}const SMe={x:0,y:0,scaleX:1,scaleY:1};function EMe(e){let{children:t}=e;return R.createElement(Kh.Provider,{value:Az},R.createElement(G0.Provider,{value:SMe},t))}const _Me={position:"fixed",touchAction:"none"},RMe=e=>W0(e)?"transform 250ms ease":void 0,kMe=R.forwardRef((e,t)=>{let{as:n,activatorEvent:r,adjustScale:o,children:i,className:s,rect:a,style:l,transform:c,transition:u=RMe}=e;if(!a)return null;const d=o?c:{...c,scaleX:1,scaleY:1},f={..._Me,width:a.width,height:a.height,top:a.top,left:a.left,transform:Zs.Transform.toString(d),transformOrigin:o&&r?wDe(r,a):void 0,transition:typeof u=="function"?u(r):u,...l};return R.createElement(n,{className:s,style:f,ref:t},i)}),PMe=e=>t=>{let{active:n,dragOverlay:r}=t;const o={},{styles:i,className:s}=e;if(i!=null&&i.active)for(const[a,l]of Object.entries(i.active))l!==void 0&&(o[a]=n.node.style.getPropertyValue(a),n.node.style.setProperty(a,l));if(i!=null&&i.dragOverlay)for(const[a,l]of Object.entries(i.dragOverlay))l!==void 0&&r.node.style.setProperty(a,l);return s!=null&&s.active&&n.node.classList.add(s.active),s!=null&&s.dragOverlay&&r.node.classList.add(s.dragOverlay),function(){for(const[l,c]of Object.entries(o))n.node.style.setProperty(l,c);s!=null&&s.active&&n.node.classList.remove(s.active)}},DMe=e=>{let{transform:{initial:t,final:n}}=e;return[{transform:Zs.Transform.toString(t)},{transform:Zs.Transform.toString(n)}]},MMe={duration:250,easing:"ease",keyframes:DMe,sideEffects:PMe({styles:{active:{opacity:"0"}}})};function NMe(e){let{config:t,draggableNodes:n,droppableContainers:r,measuringConfiguration:o}=e;return H0((i,s)=>{if(t===null)return;const a=n.get(i);if(!a)return;const l=a.node.current;if(!l)return;const c=Nz(s);if(!c)return;const{transform:u}=mr(s).getComputedStyle(s),d=xz(u);if(!d)return;const f=typeof t=="function"?t:AMe(t);return kz(l,o.draggable.measure),f({active:{id:i,data:a.data,node:l,rect:o.draggable.measure(l)},draggableNodes:n,dragOverlay:{node:s,rect:o.dragOverlay.measure(c)},droppableContainers:r,measuringConfiguration:o,transform:d})})}function AMe(e){const{duration:t,easing:n,sideEffects:r,keyframes:o}={...MMe,...e};return i=>{let{active:s,dragOverlay:a,transform:l,...c}=i;if(!t)return;const u={x:a.rect.left-s.rect.left,y:a.rect.top-s.rect.top},d={scaleX:l.scaleX!==1?s.rect.width*l.scaleX/a.rect.width:1,scaleY:l.scaleY!==1?s.rect.height*l.scaleY/a.rect.height:1},f={x:l.x-u.x,y:l.y-u.y,...d},h=o({...c,active:s,dragOverlay:a,transform:{initial:l,final:f}}),[g]=h,m=h[h.length-1];if(JSON.stringify(g)===JSON.stringify(m))return;const b=r==null?void 0:r({active:s,dragOverlay:a,...c}),y=a.node.animate(h,{duration:t,easing:n,fill:"forwards"});return new Promise(v=>{y.onfinish=()=>{b==null||b(),v()}})}}let jA=0;function TMe(e){return R.useMemo(()=>{if(e!=null)return jA++,jA},[e])}const IMe=R.memo(e=>{let{adjustScale:t=!1,children:n,dropAnimation:r,style:o,transition:i,modifiers:s,wrapperElement:a="div",className:l,zIndex:c=999}=e;const{activatorEvent:u,active:d,activeNodeRect:f,containerNodeRect:h,draggableNodes:g,droppableContainers:m,dragOverlay:b,over:y,measuringConfiguration:v,scrollableAncestors:x,scrollableAncestorRects:E,windowRect:_}=jz(),S=R.useContext(G0),C=TMe(d==null?void 0:d.id),k=Iz(s,{activatorEvent:u,active:d,activeNodeRect:f,containerNodeRect:h,draggingNodeRect:b.rect,over:y,overlayNodeRect:b.rect,scrollableAncestors:x,scrollableAncestorRects:E,transform:S,windowRect:_}),M=B2(f),P=NMe({config:r,draggableNodes:g,droppableContainers:m,measuringConfiguration:v}),N=M?b.setRef:void 0;return R.createElement(EMe,null,R.createElement(CMe,{animation:P},d&&C?R.createElement(kMe,{key:C,id:d.id,ref:N,as:a,activatorEvent:u,adjustScale:t,className:l,transition:i,rect:M,style:{zIndex:c,...o},transform:k},n):null))});function Lz(e){var b;const t=re(y=>y.authToken)||e,n=ve(y=>y.selectedConnectionId),r=ve(y=>y.selectedDatabaseName),o=ve(y=>y.selectedDatamodelId),i=ve(y=>y.selectedSchemaName),s=ve(y=>y.selectedTableName),{selectedConnection:a}=xi(),l=a==null?void 0:a.type,{data:c,isLoading:u,isFetching:d,isError:f,refetch:h}=Yn({queryKey:["columns",n,r,o,i,s],queryFn:()=>ao("https://semaphor.cloud/api/v1/columns",(t==null?void 0:t.accessToken)||"",{connection_id:n,datamodel_id:o||"",database_name:r,schema_name:i,table_name:s}),enabled:g(l)});function g(y){return t!=null&&t.accessToken?!!(n&&r&&r!=="NA"&&i&&s||n&&(y==="S3"||y==="API")||o&&o):!1}return{columns:(b=c==null?void 0:c.columns)==null?void 0:b.map(y=>({...y,data_type:y.data_type.toLowerCase()})),isColumnsLoading:u,isColumnsFetching:d,isColumnsError:f,refetchColumns:h}}function $z(e,t){var Pe,We,Mt,_n,fn;const n=Cu(),r=nr().authToken||e,o=ve(ge=>ge.selectedConnectionId),i=ve(ge=>ge.card),{queryKey:s}=EO(i),a=ve(ge=>ge.selectedDatamodelId),l=ve(ge=>ge.isDevMode),c=ve(ge=>ge.selectedDatabaseName),u=ve(ge=>ge.selectedSchemaName),d=ve(ge=>ge.selectedTableName),f=ve(ge=>ge.actions.setSelectedConnectionId),h=ve(ge=>ge.actions.setSelectedDatamodelId),g=ve(ge=>ge.actions.setSelectedDatabaseName),m=ve(ge=>ge.actions.setSelectedSchemaName),b=ve(ge=>ge.actions.setSelectedTableName);ve(ge=>ge.actions.setCardSql);const{setQueryConfig:y}=tr();function v(ge){return o&&c&&u&&c!=="NA"?!0:o&&ge==="API"?!1:!!(o&&ge==="S3")}function x(ge){return o&&ge?!(ge==="API"||ge==="S3"):!1}const{refetchConnections:E,connectionsData:_,isConnectionsLoading:S,isConnectionsError:C,selectedConnection:k}=xi(e),{refetch:M,data:P,isLoading:N,isError:A}=Yn({queryKey:["models",o],queryFn:()=>ao("https://semaphor.cloud/api/v1/datamodels",(r==null?void 0:r.accessToken)||"",{connection_id:o}),enabled:!!(r!=null&&r.accessToken)&&!!o}),j=k==null?void 0:k.type,F=(k==null?void 0:k.type)==="API"||(k==null?void 0:k.type)==="S3",{data:I,isLoading:O,isFetching:L,isError:B,refetch:V}=Yn({queryKey:["databases",o],queryFn:()=>ao("https://semaphor.cloud/api/v1/databases",(r==null?void 0:r.accessToken)||"",{connection_id:o}),enabled:x(j)}),{data:T,isLoading:q,isFetching:$,isError:D,refetch:z}=Yn({queryKey:["schemas",o,c],queryFn:()=>ao("https://semaphor.cloud/api/v1/schemas",(r==null?void 0:r.accessToken)||"",{connection_id:o,database_name:c}),enabled:!!o&&!!c&&!F&&c!=="NA"}),{data:U,isLoading:Y,isFetching:W,isError:G,refetch:K}=Yn({queryKey:["tables",o,c,u],queryFn:()=>ao("https://semaphor.cloud/api/v1/tables",(r==null?void 0:r.accessToken)||"",{connection_id:o,database_name:c,schema_name:u}),enabled:v(j)}),{columns:J,isColumnsLoading:ne,isColumnsFetching:Q,isColumnsError:ie,refetchColumns:te}=Lz(e);R.useEffect(()=>{(j==="S3"||j==="API")&&(g(""),m(""),h(""),j==="API"&&b("api"))},[j,b,g,m,h]);const ce=(k==null?void 0:k.type)==="API"?(Pe=k==null?void 0:k.type)==null?void 0:Pe.toLowerCase():d||"",de=F?"":u||"";function _e(ge){b(ge),y(void 0),l||(n.setQueryData(s,null),n.removeQueries({queryKey:s,exact:!0}))}function be(ge){m(ge),b("")}function xe(ge){g(ge==="none"?"":ge),m(""),b(""),ge!=="none"&&ge!==""&&h("")}function De(ge){f(ge)}function Ge(ge){h(ge==="none"?"":ge),ge!=="none"&&ge!==""&&g("")}I&&((We=I==null?void 0:I.databases)==null?void 0:We.length)>0,T&&((Mt=T==null?void 0:T.schemas)==null?void 0:Mt.length)>0;const Ct=_==null?void 0:_.connections.map(ge=>({id:ge.id,name:ge.name,type:ge.type})),pe=(_n=P==null?void 0:P.datamodels)==null?void 0:_n.map(ge=>({id:ge.id,name:ge.name})),Ie=I==null?void 0:I.databases.map(ge=>({id:ge.database_name,name:ge.database_name})),Me=T==null?void 0:T.schemas.map(ge=>({id:ge.schema_name,name:ge.schema_name})),ee=U==null?void 0:U.tables.map(ge=>({id:ge.table_name,name:ge.table_name})),le=(fn=P==null?void 0:P.datamodels.find(ge=>ge.id===a))==null?void 0:fn.name,Ee=bT({schemaName:de,tableName:ce,modelName:le,connectionType:j,databaseName:c||""});return{connectionItems:Ct,selectedConnectionId:o,isConnectionsLoading:S,isConnectionsError:C,modelItems:pe,selectedDatamodelId:a,selectedDatamodelName:le,isModelsLoading:N,isModelsError:A,selectedDatabaseName:c,databaseItems:Ie,isDatabasesLoadingOrFetching:O||L,isDatabaseError:B,schemaItems:Me,selectedSchemaName:u,isSchemaLoadingOrFetching:q||$,isSchemaError:D,tableItems:ee,selectedTableName:d,isTableLoadingOrFetching:Y||W,isTableError:G,columns:J,isColumnsLoadingOrFetching:ne||Q,isColumnsError:ie,isNonDbConnection:F,connectionType:j,tableName:ce,formattedTableName:Ee,schemaName:de,refetchConnections:E,refetchModels:M,refetchDatabases:V,refetchSchemas:z,refetchTables:K,refetchColumns:te,handleConnectionChange:De,handleDatamodelChange:Ge,handleDatabaseChange:xe,handleSchemaChange:be,handleTableChange:_e}}var V2="Switch",[OMe,lTe]=Pn(V2),[jMe,FMe]=OMe(V2),zz=w.forwardRef((e,t)=>{const{__scopeSwitch:n,name:r,checked:o,defaultChecked:i,required:s,disabled:a,value:l="on",onCheckedChange:c,form:u,...d}=e,[f,h]=w.useState(null),g=Ve(t,x=>h(x)),m=w.useRef(!1),b=f?u||!!f.closest("form"):!0,[y=!1,v]=er({prop:o,defaultProp:i,onChange:c});return p.jsxs(jMe,{scope:n,checked:y,disabled:a,children:[p.jsx(Ce.button,{type:"button",role:"switch","aria-checked":y,"aria-required":s,"data-state":Hz(y),"data-disabled":a?"":void 0,disabled:a,value:l,...d,ref:g,onClick:ue(e.onClick,x=>{v(E=>!E),b&&(m.current=x.isPropagationStopped(),m.current||x.stopPropagation())})}),b&&p.jsx(LMe,{control:f,bubbles:!m.current,name:r,value:l,checked:y,required:s,disabled:a,form:u,style:{transform:"translateX(-100%)"}})]})});zz.displayName=V2;var Bz="SwitchThumb",Vz=w.forwardRef((e,t)=>{const{__scopeSwitch:n,...r}=e,o=FMe(Bz,n);return p.jsx(Ce.span,{"data-state":Hz(o.checked),"data-disabled":o.disabled?"":void 0,...r,ref:t})});Vz.displayName=Bz;var LMe=e=>{const{control:t,checked:n,bubbles:r=!0,...o}=e,i=w.useRef(null),s=r0(n),a=Gb(t);return w.useEffect(()=>{const l=i.current,c=window.HTMLInputElement.prototype,d=Object.getOwnPropertyDescriptor(c,"checked").set;if(s!==n&&d){const f=new Event("click",{bubbles:r});d.call(l,n),l.dispatchEvent(f)}},[s,n,r]),p.jsx("input",{type:"checkbox","aria-hidden":!0,defaultChecked:n,...o,tabIndex:-1,ref:i,style:{...e.style,...a,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})};function Hz(e){return e?"checked":"unchecked"}var Y0=zz,Wz=Vz;const qz=w.forwardRef(({className:e,...t},n)=>p.jsx(Y0,{className:se("peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",e),...t,ref:n,children:p.jsx(Wz,{className:se("pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0")})}));qz.displayName=Y0.displayName;function $Me(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function FA(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function LA(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?FA(Object(n),!0).forEach(function(r){$Me(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):FA(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function zMe(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,i;for(i=0;i<r.length;i++)o=r[i],!(t.indexOf(o)>=0)&&(n[o]=e[o]);return n}function BMe(e,t){if(e==null)return{};var n=zMe(e,t),r,o;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o<i.length;o++)r=i[o],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function VMe(e,t){return HMe(e)||WMe(e,t)||qMe(e,t)||UMe()}function HMe(e){if(Array.isArray(e))return e}function WMe(e,t){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(e)))){var n=[],r=!0,o=!1,i=void 0;try{for(var s=e[Symbol.iterator](),a;!(r=(a=s.next()).done)&&(n.push(a.value),!(t&&n.length===t));r=!0);}catch(l){o=!0,i=l}finally{try{!r&&s.return!=null&&s.return()}finally{if(o)throw i}}return n}}function qMe(e,t){if(e){if(typeof e=="string")return $A(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return $A(e,t)}}function $A(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function UMe(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
524
+ `},bDe={onDragStart(e){let{active:t}=e;return"Picked up draggable item "+t.id+"."},onDragOver(e){let{active:t,over:n}=e;return n?"Draggable item "+t.id+" was moved over droppable area "+n.id+".":"Draggable item "+t.id+" is no longer over a droppable area."},onDragEnd(e){let{active:t,over:n}=e;return n?"Draggable item "+t.id+" was dropped over droppable area "+n.id:"Draggable item "+t.id+" was dropped."},onDragCancel(e){let{active:t}=e;return"Dragging was cancelled. Draggable item "+t.id+" was dropped."}};function yDe(e){let{announcements:t=bDe,container:n,hiddenTextDescribedById:r,screenReaderInstructions:o=mDe}=e;const{announce:i,announcement:s}=hDe(),a=Yh("DndLiveRegion"),[l,c]=R.useState(!1);if(R.useEffect(()=>{c(!0)},[]),pDe(R.useMemo(()=>({onDragStart(d){let{active:f}=d;i(t.onDragStart({active:f}))},onDragMove(d){let{active:f,over:h}=d;t.onDragMove&&i(t.onDragMove({active:f,over:h}))},onDragOver(d){let{active:f,over:h}=d;i(t.onDragOver({active:f,over:h}))},onDragEnd(d){let{active:f,over:h}=d;i(t.onDragEnd({active:f,over:h}))},onDragCancel(d){let{active:f,over:h}=d;i(t.onDragCancel({active:f,over:h}))}}),[i,t])),!l)return null;const u=R.createElement(R.Fragment,null,R.createElement(dDe,{id:r,value:o.draggable}),R.createElement(fDe,{id:a,announcement:s}));return n?ln.createPortal(u,n):u}var Rn;(function(e){e.DragStart="dragStart",e.DragMove="dragMove",e.DragEnd="dragEnd",e.DragCancel="dragCancel",e.DragOver="dragOver",e.RegisterDroppable="registerDroppable",e.SetDroppableDisabled="setDroppableDisabled",e.UnregisterDroppable="unregisterDroppable"})(Rn||(Rn={}));function tb(){}function vDe(e,t){return R.useMemo(()=>({sensor:e,options:t??{}}),[e,t])}function xDe(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return R.useMemo(()=>[...t].filter(r=>r!=null),[...t])}const Fo=Object.freeze({x:0,y:0});function mz(e,t){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function wDe(e,t){const n=eb(e);if(!n)return"0 0";const r={x:(n.x-t.left)/t.width*100,y:(n.y-t.top)/t.height*100};return r.x+"% "+r.y+"%"}function bz(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return n-r}function CDe(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return r-n}function EA(e){let{left:t,top:n,height:r,width:o}=e;return[{x:t,y:n},{x:t+o,y:n},{x:t,y:n+r},{x:t+o,y:n+r}]}function yz(e,t){if(!e||e.length===0)return null;const[n]=e;return n[t]}function _A(e,t,n){return t===void 0&&(t=e.left),n===void 0&&(n=e.top),{x:t+e.width*.5,y:n+e.height*.5}}const SDe=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e;const o=_A(t,t.left,t.top),i=[];for(const s of r){const{id:a}=s,l=n.get(a);if(l){const c=mz(_A(l),o);i.push({id:a,data:{droppableContainer:s,value:c}})}}return i.sort(bz)},EDe=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e;const o=EA(t),i=[];for(const s of r){const{id:a}=s,l=n.get(a);if(l){const c=EA(l),u=o.reduce((f,h,g)=>f+mz(c[g],h),0),d=Number((u/4).toFixed(4));i.push({id:a,data:{droppableContainer:s,value:d}})}}return i.sort(bz)};function _De(e,t){const n=Math.max(t.top,e.top),r=Math.max(t.left,e.left),o=Math.min(t.left+t.width,e.left+e.width),i=Math.min(t.top+t.height,e.top+e.height),s=o-r,a=i-n;if(r<o&&n<i){const l=t.width*t.height,c=e.width*e.height,u=s*a,d=u/(l+c-u);return Number(d.toFixed(4))}return 0}const RDe=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e;const o=[];for(const i of r){const{id:s}=i,a=n.get(s);if(a){const l=_De(a,t);l>0&&o.push({id:s,data:{droppableContainer:i,value:l}})}}return o.sort(CDe)};function kDe(e,t,n){return{...e,scaleX:t&&n?t.width/n.width:1,scaleY:t&&n?t.height/n.height:1}}function vz(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:Fo}function PDe(e){return function(n){for(var r=arguments.length,o=new Array(r>1?r-1:0),i=1;i<r;i++)o[i-1]=arguments[i];return o.reduce((s,a)=>({...s,top:s.top+e*a.y,bottom:s.bottom+e*a.y,left:s.left+e*a.x,right:s.right+e*a.x}),{...n})}}const DDe=PDe(1);function xz(e){if(e.startsWith("matrix3d(")){const t=e.slice(9,-1).split(/, /);return{x:+t[12],y:+t[13],scaleX:+t[0],scaleY:+t[5]}}else if(e.startsWith("matrix(")){const t=e.slice(7,-1).split(/, /);return{x:+t[4],y:+t[5],scaleX:+t[0],scaleY:+t[3]}}return null}function MDe(e,t,n){const r=xz(t);if(!r)return e;const{scaleX:o,scaleY:i,x:s,y:a}=r,l=e.left-s-(1-o)*parseFloat(n),c=e.top-a-(1-i)*parseFloat(n.slice(n.indexOf(" ")+1)),u=o?e.width/o:e.width,d=i?e.height/i:e.height;return{width:u,height:d,top:c,right:l+u,bottom:c+d,left:l}}const NDe={ignoreTransform:!1};function Xu(e,t){t===void 0&&(t=NDe);let n=e.getBoundingClientRect();if(t.ignoreTransform){const{transform:c,transformOrigin:u}=mr(e).getComputedStyle(e);c&&(n=MDe(n,c,u))}const{top:r,left:o,width:i,height:s,bottom:a,right:l}=n;return{top:r,left:o,width:i,height:s,bottom:a,right:l}}function RA(e){return Xu(e,{ignoreTransform:!0})}function ADe(e){const t=e.innerWidth,n=e.innerHeight;return{top:0,left:0,right:t,bottom:n,width:t,height:n}}function TDe(e,t){return t===void 0&&(t=mr(e).getComputedStyle(e)),t.position==="fixed"}function IDe(e,t){t===void 0&&(t=mr(e).getComputedStyle(e));const n=/(auto|scroll|overlay)/;return["overflow","overflowX","overflowY"].some(o=>{const i=t[o];return typeof i=="string"?n.test(i):!1})}function q0(e,t){const n=[];function r(o){if(t!=null&&n.length>=t||!o)return n;if(j2(o)&&o.scrollingElement!=null&&!n.includes(o.scrollingElement))return n.push(o.scrollingElement),n;if(!Uh(o)||hz(o)||n.includes(o))return n;const i=mr(e).getComputedStyle(o);return o!==e&&IDe(o,i)&&n.push(o),TDe(o,i)?n:r(o.parentNode)}return e?r(e):n}function wz(e){const[t]=q0(e,1);return t??null}function wx(e){return!V0||!e?null:Yu(e)?e:O2(e)?j2(e)||e===Ku(e).scrollingElement?window:Uh(e)?e:null:null}function Cz(e){return Yu(e)?e.scrollX:e.scrollLeft}function Sz(e){return Yu(e)?e.scrollY:e.scrollTop}function bC(e){return{x:Cz(e),y:Sz(e)}}var Mn;(function(e){e[e.Forward=1]="Forward",e[e.Backward=-1]="Backward"})(Mn||(Mn={}));function Ez(e){return!V0||!e?!1:e===document.scrollingElement}function _z(e){const t={x:0,y:0},n=Ez(e)?{height:window.innerHeight,width:window.innerWidth}:{height:e.clientHeight,width:e.clientWidth},r={x:e.scrollWidth-n.width,y:e.scrollHeight-n.height},o=e.scrollTop<=t.y,i=e.scrollLeft<=t.x,s=e.scrollTop>=r.y,a=e.scrollLeft>=r.x;return{isTop:o,isLeft:i,isBottom:s,isRight:a,maxScroll:r,minScroll:t}}const ODe={x:.2,y:.2};function jDe(e,t,n,r,o){let{top:i,left:s,right:a,bottom:l}=n;r===void 0&&(r=10),o===void 0&&(o=ODe);const{isTop:c,isBottom:u,isLeft:d,isRight:f}=_z(e),h={x:0,y:0},g={x:0,y:0},m={height:t.height*o.y,width:t.width*o.x};return!c&&i<=t.top+m.height?(h.y=Mn.Backward,g.y=r*Math.abs((t.top+m.height-i)/m.height)):!u&&l>=t.bottom-m.height&&(h.y=Mn.Forward,g.y=r*Math.abs((t.bottom-m.height-l)/m.height)),!f&&a>=t.right-m.width?(h.x=Mn.Forward,g.x=r*Math.abs((t.right-m.width-a)/m.width)):!d&&s<=t.left+m.width&&(h.x=Mn.Backward,g.x=r*Math.abs((t.left+m.width-s)/m.width)),{direction:h,speed:g}}function FDe(e){if(e===document.scrollingElement){const{innerWidth:i,innerHeight:s}=window;return{top:0,left:0,right:i,bottom:s,width:i,height:s}}const{top:t,left:n,right:r,bottom:o}=e.getBoundingClientRect();return{top:t,left:n,right:r,bottom:o,width:e.clientWidth,height:e.clientHeight}}function Rz(e){return e.reduce((t,n)=>Tc(t,bC(n)),Fo)}function LDe(e){return e.reduce((t,n)=>t+Cz(n),0)}function $De(e){return e.reduce((t,n)=>t+Sz(n),0)}function kz(e,t){if(t===void 0&&(t=Xu),!e)return;const{top:n,left:r,bottom:o,right:i}=t(e);wz(e)&&(o<=0||i<=0||n>=window.innerHeight||r>=window.innerWidth)&&e.scrollIntoView({block:"center",inline:"center"})}const zDe=[["x",["left","right"],LDe],["y",["top","bottom"],$De]];class F2{constructor(t,n){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;const r=q0(n),o=Rz(r);this.rect={...t},this.width=t.width,this.height=t.height;for(const[i,s,a]of zDe)for(const l of s)Object.defineProperty(this,l,{get:()=>{const c=a(r),u=o[i]-c;return this.rect[l]+u},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}}class rf{constructor(t){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(n=>{var r;return(r=this.target)==null?void 0:r.removeEventListener(...n)})},this.target=t}add(t,n,r){var o;(o=this.target)==null||o.addEventListener(t,n,r),this.listeners.push([t,n,r])}}function BDe(e){const{EventTarget:t}=mr(e);return e instanceof t?e:Ku(e)}function Cx(e,t){const n=Math.abs(e.x),r=Math.abs(e.y);return typeof t=="number"?Math.sqrt(n**2+r**2)>t:"x"in t&&"y"in t?n>t.x&&r>t.y:"x"in t?n>t.x:"y"in t?r>t.y:!1}var ro;(function(e){e.Click="click",e.DragStart="dragstart",e.Keydown="keydown",e.ContextMenu="contextmenu",e.Resize="resize",e.SelectionChange="selectionchange",e.VisibilityChange="visibilitychange"})(ro||(ro={}));function kA(e){e.preventDefault()}function VDe(e){e.stopPropagation()}var ht;(function(e){e.Space="Space",e.Down="ArrowDown",e.Right="ArrowRight",e.Left="ArrowLeft",e.Up="ArrowUp",e.Esc="Escape",e.Enter="Enter",e.Tab="Tab"})(ht||(ht={}));const Pz={start:[ht.Space,ht.Enter],cancel:[ht.Esc],end:[ht.Space,ht.Enter,ht.Tab]},HDe=(e,t)=>{let{currentCoordinates:n}=t;switch(e.code){case ht.Right:return{...n,x:n.x+25};case ht.Left:return{...n,x:n.x-25};case ht.Down:return{...n,y:n.y+25};case ht.Up:return{...n,y:n.y-25}}};class L2{constructor(t){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=t;const{event:{target:n}}=t;this.props=t,this.listeners=new rf(Ku(n)),this.windowListeners=new rf(mr(n)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(ro.Resize,this.handleCancel),this.windowListeners.add(ro.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(ro.Keydown,this.handleKeyDown))}handleStart(){const{activeNode:t,onStart:n}=this.props,r=t.node.current;r&&kz(r),n(Fo)}handleKeyDown(t){if(W0(t)){const{active:n,context:r,options:o}=this.props,{keyboardCodes:i=Pz,coordinateGetter:s=HDe,scrollBehavior:a="smooth"}=o,{code:l}=t;if(i.end.includes(l)){this.handleEnd(t);return}if(i.cancel.includes(l)){this.handleCancel(t);return}const{collisionRect:c}=r.current,u=c?{x:c.left,y:c.top}:Fo;this.referenceCoordinates||(this.referenceCoordinates=u);const d=s(t,{active:n,context:r.current,currentCoordinates:u});if(d){const f=Jf(d,u),h={x:0,y:0},{scrollableAncestors:g}=r.current;for(const m of g){const b=t.code,{isTop:y,isRight:v,isLeft:x,isBottom:E,maxScroll:_,minScroll:S}=_z(m),C=FDe(m),k={x:Math.min(b===ht.Right?C.right-C.width/2:C.right,Math.max(b===ht.Right?C.left:C.left+C.width/2,d.x)),y:Math.min(b===ht.Down?C.bottom-C.height/2:C.bottom,Math.max(b===ht.Down?C.top:C.top+C.height/2,d.y))},M=b===ht.Right&&!v||b===ht.Left&&!x,P=b===ht.Down&&!E||b===ht.Up&&!y;if(M&&k.x!==d.x){const N=m.scrollLeft+f.x,A=b===ht.Right&&N<=_.x||b===ht.Left&&N>=S.x;if(A&&!f.y){m.scrollTo({left:N,behavior:a});return}A?h.x=m.scrollLeft-N:h.x=b===ht.Right?m.scrollLeft-_.x:m.scrollLeft-S.x,h.x&&m.scrollBy({left:-h.x,behavior:a});break}else if(P&&k.y!==d.y){const N=m.scrollTop+f.y,A=b===ht.Down&&N<=_.y||b===ht.Up&&N>=S.y;if(A&&!f.x){m.scrollTo({top:N,behavior:a});return}A?h.y=m.scrollTop-N:h.y=b===ht.Down?m.scrollTop-_.y:m.scrollTop-S.y,h.y&&m.scrollBy({top:-h.y,behavior:a});break}}this.handleMove(t,Tc(Jf(d,this.referenceCoordinates),h))}}}handleMove(t,n){const{onMove:r}=this.props;t.preventDefault(),r(n)}handleEnd(t){const{onEnd:n}=this.props;t.preventDefault(),this.detach(),n()}handleCancel(t){const{onCancel:n}=this.props;t.preventDefault(),this.detach(),n()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}}L2.activators=[{eventName:"onKeyDown",handler:(e,t,n)=>{let{keyboardCodes:r=Pz,onActivation:o}=t,{active:i}=n;const{code:s}=e.nativeEvent;if(r.start.includes(s)){const a=i.activatorNode.current;return a&&e.target!==a?!1:(e.preventDefault(),o==null||o({event:e.nativeEvent}),!0)}return!1}}];function PA(e){return!!(e&&"distance"in e)}function DA(e){return!!(e&&"delay"in e)}class $2{constructor(t,n,r){var o;r===void 0&&(r=BDe(t.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=t,this.events=n;const{event:i}=t,{target:s}=i;this.props=t,this.events=n,this.document=Ku(s),this.documentListeners=new rf(this.document),this.listeners=new rf(r),this.windowListeners=new rf(mr(s)),this.initialCoordinates=(o=eb(i))!=null?o:Fo,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){const{events:t,props:{options:{activationConstraint:n,bypassActivationConstraint:r}}}=this;if(this.listeners.add(t.move.name,this.handleMove,{passive:!1}),this.listeners.add(t.end.name,this.handleEnd),t.cancel&&this.listeners.add(t.cancel.name,this.handleCancel),this.windowListeners.add(ro.Resize,this.handleCancel),this.windowListeners.add(ro.DragStart,kA),this.windowListeners.add(ro.VisibilityChange,this.handleCancel),this.windowListeners.add(ro.ContextMenu,kA),this.documentListeners.add(ro.Keydown,this.handleKeydown),n){if(r!=null&&r({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if(DA(n)){this.timeoutId=setTimeout(this.handleStart,n.delay),this.handlePending(n);return}if(PA(n)){this.handlePending(n);return}}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),this.timeoutId!==null&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handlePending(t,n){const{active:r,onPending:o}=this.props;o(r,t,this.initialCoordinates,n)}handleStart(){const{initialCoordinates:t}=this,{onStart:n}=this.props;t&&(this.activated=!0,this.documentListeners.add(ro.Click,VDe,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(ro.SelectionChange,this.removeTextSelection),n(t))}handleMove(t){var n;const{activated:r,initialCoordinates:o,props:i}=this,{onMove:s,options:{activationConstraint:a}}=i;if(!o)return;const l=(n=eb(t))!=null?n:Fo,c=Jf(o,l);if(!r&&a){if(PA(a)){if(a.tolerance!=null&&Cx(c,a.tolerance))return this.handleCancel();if(Cx(c,a.distance))return this.handleStart()}if(DA(a)&&Cx(c,a.tolerance))return this.handleCancel();this.handlePending(a,c);return}t.cancelable&&t.preventDefault(),s(l)}handleEnd(){const{onAbort:t,onEnd:n}=this.props;this.detach(),this.activated||t(this.props.active),n()}handleCancel(){const{onAbort:t,onCancel:n}=this.props;this.detach(),this.activated||t(this.props.active),n()}handleKeydown(t){t.code===ht.Esc&&this.handleCancel()}removeTextSelection(){var t;(t=this.document.getSelection())==null||t.removeAllRanges()}}const WDe={cancel:{name:"pointercancel"},move:{name:"pointermove"},end:{name:"pointerup"}};class z2 extends $2{constructor(t){const{event:n}=t,r=Ku(n.target);super(t,WDe,r)}}z2.activators=[{eventName:"onPointerDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return!n.isPrimary||n.button!==0?!1:(r==null||r({event:n}),!0)}}];const qDe={move:{name:"mousemove"},end:{name:"mouseup"}};var yC;(function(e){e[e.RightClick=2]="RightClick"})(yC||(yC={}));class Dz extends $2{constructor(t){super(t,qDe,Ku(t.event.target))}}Dz.activators=[{eventName:"onMouseDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return n.button===yC.RightClick?!1:(r==null||r({event:n}),!0)}}];const Sx={cancel:{name:"touchcancel"},move:{name:"touchmove"},end:{name:"touchend"}};class UDe extends $2{constructor(t){super(t,Sx)}static setup(){return window.addEventListener(Sx.move.name,t,{capture:!1,passive:!1}),function(){window.removeEventListener(Sx.move.name,t)};function t(){}}}UDe.activators=[{eventName:"onTouchStart",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;const{touches:o}=n;return o.length>1?!1:(r==null||r({event:n}),!0)}}];var of;(function(e){e[e.Pointer=0]="Pointer",e[e.DraggableRect=1]="DraggableRect"})(of||(of={}));var nb;(function(e){e[e.TreeOrder=0]="TreeOrder",e[e.ReversedTreeOrder=1]="ReversedTreeOrder"})(nb||(nb={}));function GDe(e){let{acceleration:t,activator:n=of.Pointer,canScroll:r,draggingRect:o,enabled:i,interval:s=5,order:a=nb.TreeOrder,pointerCoordinates:l,scrollableAncestors:c,scrollableAncestorRects:u,delta:d,threshold:f}=e;const h=KDe({delta:d,disabled:!i}),[g,m]=sDe(),b=R.useRef({x:0,y:0}),y=R.useRef({x:0,y:0}),v=R.useMemo(()=>{switch(n){case of.Pointer:return l?{top:l.y,bottom:l.y,left:l.x,right:l.x}:null;case of.DraggableRect:return o}},[n,o,l]),x=R.useRef(null),E=R.useCallback(()=>{const S=x.current;if(!S)return;const C=b.current.x*y.current.x,k=b.current.y*y.current.y;S.scrollBy(C,k)},[]),_=R.useMemo(()=>a===nb.TreeOrder?[...c].reverse():c,[a,c]);R.useEffect(()=>{if(!i||!c.length||!v){m();return}for(const S of _){if((r==null?void 0:r(S))===!1)continue;const C=c.indexOf(S),k=u[C];if(!k)continue;const{direction:M,speed:P}=jDe(S,k,v,t,f);for(const N of["x","y"])h[N][M[N]]||(P[N]=0,M[N]=0);if(P.x>0||P.y>0){m(),x.current=S,g(E,s),b.current=P,y.current=M;return}}b.current={x:0,y:0},y.current={x:0,y:0},m()},[t,E,r,m,i,s,JSON.stringify(v),JSON.stringify(h),g,c,_,u,JSON.stringify(f)])}const YDe={x:{[Mn.Backward]:!1,[Mn.Forward]:!1},y:{[Mn.Backward]:!1,[Mn.Forward]:!1}};function KDe(e){let{delta:t,disabled:n}=e;const r=Jm(t);return Gh(o=>{if(n||!r||!o)return YDe;const i={x:Math.sign(t.x-r.x),y:Math.sign(t.y-r.y)};return{x:{[Mn.Backward]:o.x[Mn.Backward]||i.x===-1,[Mn.Forward]:o.x[Mn.Forward]||i.x===1},y:{[Mn.Backward]:o.y[Mn.Backward]||i.y===-1,[Mn.Forward]:o.y[Mn.Forward]||i.y===1}}},[n,t,r])}function XDe(e,t){const n=t!=null?e.get(t):void 0,r=n?n.node.current:null;return Gh(o=>{var i;return t==null?null:(i=r??o)!=null?i:null},[r,t])}function QDe(e,t){return R.useMemo(()=>e.reduce((n,r)=>{const{sensor:o}=r,i=o.activators.map(s=>({eventName:s.eventName,handler:t(s.handler,r)}));return[...n,...i]},[]),[e,t])}var eh;(function(e){e[e.Always=0]="Always",e[e.BeforeDragging=1]="BeforeDragging",e[e.WhileDragging=2]="WhileDragging"})(eh||(eh={}));var vC;(function(e){e.Optimized="optimized"})(vC||(vC={}));const MA=new Map;function ZDe(e,t){let{dragging:n,dependencies:r,config:o}=t;const[i,s]=R.useState(null),{frequency:a,measure:l,strategy:c}=o,u=R.useRef(e),d=b(),f=Zf(d),h=R.useCallback(function(y){y===void 0&&(y=[]),!f.current&&s(v=>v===null?y:v.concat(y.filter(x=>!v.includes(x))))},[f]),g=R.useRef(null),m=Gh(y=>{if(d&&!n)return MA;if(!y||y===MA||u.current!==e||i!=null){const v=new Map;for(let x of e){if(!x)continue;if(i&&i.length>0&&!i.includes(x.id)&&x.rect.current){v.set(x.id,x.rect.current);continue}const E=x.node.current,_=E?new F2(l(E),E):null;x.rect.current=_,_&&v.set(x.id,_)}return v}return y},[e,i,n,d,l]);return R.useEffect(()=>{u.current=e},[e]),R.useEffect(()=>{d||h()},[n,d]),R.useEffect(()=>{i&&i.length>0&&s(null)},[JSON.stringify(i)]),R.useEffect(()=>{d||typeof a!="number"||g.current!==null||(g.current=setTimeout(()=>{h(),g.current=null},a))},[a,d,h,...r]),{droppableRects:m,measureDroppableContainers:h,measuringScheduled:i!=null};function b(){switch(c){case eh.Always:return!1;case eh.BeforeDragging:return n;default:return!n}}}function B2(e,t){return Gh(n=>e?n||(typeof t=="function"?t(e):e):null,[t,e])}function JDe(e,t){return B2(e,t)}function eMe(e){let{callback:t,disabled:n}=e;const r=H0(t),o=R.useMemo(()=>{if(n||typeof window>"u"||typeof window.MutationObserver>"u")return;const{MutationObserver:i}=window;return new i(r)},[r,n]);return R.useEffect(()=>()=>o==null?void 0:o.disconnect(),[o]),o}function U0(e){let{callback:t,disabled:n}=e;const r=H0(t),o=R.useMemo(()=>{if(n||typeof window>"u"||typeof window.ResizeObserver>"u")return;const{ResizeObserver:i}=window;return new i(r)},[n]);return R.useEffect(()=>()=>o==null?void 0:o.disconnect(),[o]),o}function tMe(e){return new F2(Xu(e),e)}function NA(e,t,n){t===void 0&&(t=tMe);const[r,o]=R.useState(null);function i(){o(l=>{if(!e)return null;if(e.isConnected===!1){var c;return(c=l??n)!=null?c:null}const u=t(e);return JSON.stringify(l)===JSON.stringify(u)?l:u})}const s=eMe({callback(l){if(e)for(const c of l){const{type:u,target:d}=c;if(u==="childList"&&d instanceof HTMLElement&&d.contains(e)){i();break}}}}),a=U0({callback:i});return jo(()=>{i(),e?(a==null||a.observe(e),s==null||s.observe(document.body,{childList:!0,subtree:!0})):(a==null||a.disconnect(),s==null||s.disconnect())},[e]),r}function nMe(e){const t=B2(e);return vz(e,t)}const AA=[];function rMe(e){const t=R.useRef(e),n=Gh(r=>e?r&&r!==AA&&e&&t.current&&e.parentNode===t.current.parentNode?r:q0(e):AA,[e]);return R.useEffect(()=>{t.current=e},[e]),n}function oMe(e){const[t,n]=R.useState(null),r=R.useRef(e),o=R.useCallback(i=>{const s=wx(i.target);s&&n(a=>a?(a.set(s,bC(s)),new Map(a)):null)},[]);return R.useEffect(()=>{const i=r.current;if(e!==i){s(i);const a=e.map(l=>{const c=wx(l);return c?(c.addEventListener("scroll",o,{passive:!0}),[c,bC(c)]):null}).filter(l=>l!=null);n(a.length?new Map(a):null),r.current=e}return()=>{s(e),s(i)};function s(a){a.forEach(l=>{const c=wx(l);c==null||c.removeEventListener("scroll",o)})}},[o,e]),R.useMemo(()=>e.length?t?Array.from(t.values()).reduce((i,s)=>Tc(i,s),Fo):Rz(e):Fo,[e,t])}function TA(e,t){t===void 0&&(t=[]);const n=R.useRef(null);return R.useEffect(()=>{n.current=null},t),R.useEffect(()=>{const r=e!==Fo;r&&!n.current&&(n.current=e),!r&&n.current&&(n.current=null)},[e]),n.current?Jf(e,n.current):Fo}function iMe(e){R.useEffect(()=>{if(!V0)return;const t=e.map(n=>{let{sensor:r}=n;return r.setup==null?void 0:r.setup()});return()=>{for(const n of t)n==null||n()}},e.map(t=>{let{sensor:n}=t;return n}))}function sMe(e,t){return R.useMemo(()=>e.reduce((n,r)=>{let{eventName:o,handler:i}=r;return n[o]=s=>{i(s,t)},n},{}),[e,t])}function Mz(e){return R.useMemo(()=>e?ADe(e):null,[e])}const IA=[];function aMe(e,t){t===void 0&&(t=Xu);const[n]=e,r=Mz(n?mr(n):null),[o,i]=R.useState(IA);function s(){i(()=>e.length?e.map(l=>Ez(l)?r:new F2(t(l),l)):IA)}const a=U0({callback:s});return jo(()=>{a==null||a.disconnect(),s(),e.forEach(l=>a==null?void 0:a.observe(l))},[e]),o}function Nz(e){if(!e)return null;if(e.children.length>1)return e;const t=e.children[0];return Uh(t)?t:e}function lMe(e){let{measure:t}=e;const[n,r]=R.useState(null),o=R.useCallback(c=>{for(const{target:u}of c)if(Uh(u)){r(d=>{const f=t(u);return d?{...d,width:f.width,height:f.height}:f});break}},[t]),i=U0({callback:o}),s=R.useCallback(c=>{const u=Nz(c);i==null||i.disconnect(),u&&(i==null||i.observe(u)),r(u?t(u):null)},[t,i]),[a,l]=Zm(s);return R.useMemo(()=>({nodeRef:a,rect:n,setRef:l}),[n,a,l])}const cMe=[{sensor:z2,options:{}},{sensor:L2,options:{}}],uMe={current:{}},jg={draggable:{measure:RA},droppable:{measure:RA,strategy:eh.WhileDragging,frequency:vC.Optimized},dragOverlay:{measure:Xu}};class sf extends Map{get(t){var n;return t!=null&&(n=super.get(t))!=null?n:void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(t=>{let{disabled:n}=t;return!n})}getNodeFor(t){var n,r;return(n=(r=this.get(t))==null?void 0:r.node.current)!=null?n:void 0}}const dMe={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new sf,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:tb},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:jg,measureDroppableContainers:tb,windowRect:null,measuringScheduled:!1},Az={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:""},dispatch:tb,draggableNodes:new Map,over:null,measureDroppableContainers:tb},Kh=R.createContext(Az),Tz=R.createContext(dMe);function fMe(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new sf}}}function hMe(e,t){switch(t.type){case Rn.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case Rn.DragMove:return e.draggable.active==null?e:{...e,draggable:{...e.draggable,translate:{x:t.coordinates.x-e.draggable.initialCoordinates.x,y:t.coordinates.y-e.draggable.initialCoordinates.y}}};case Rn.DragEnd:case Rn.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case Rn.RegisterDroppable:{const{element:n}=t,{id:r}=n,o=new sf(e.droppable.containers);return o.set(r,n),{...e,droppable:{...e.droppable,containers:o}}}case Rn.SetDroppableDisabled:{const{id:n,key:r,disabled:o}=t,i=e.droppable.containers.get(n);if(!i||r!==i.key)return e;const s=new sf(e.droppable.containers);return s.set(n,{...i,disabled:o}),{...e,droppable:{...e.droppable,containers:s}}}case Rn.UnregisterDroppable:{const{id:n,key:r}=t,o=e.droppable.containers.get(n);if(!o||r!==o.key)return e;const i=new sf(e.droppable.containers);return i.delete(n),{...e,droppable:{...e.droppable,containers:i}}}default:return e}}function pMe(e){let{disabled:t}=e;const{active:n,activatorEvent:r,draggableNodes:o}=R.useContext(Kh),i=Jm(r),s=Jm(n==null?void 0:n.id);return R.useEffect(()=>{if(!t&&!r&&i&&s!=null){if(!W0(i)||document.activeElement===i.target)return;const a=o.get(s);if(!a)return;const{activatorNode:l,node:c}=a;if(!l.current&&!c.current)return;requestAnimationFrame(()=>{for(const u of[l.current,c.current]){if(!u)continue;const d=cDe(u);if(d){d.focus();break}}})}},[r,t,o,s,i]),null}function Iz(e,t){let{transform:n,...r}=t;return e!=null&&e.length?e.reduce((o,i)=>i({transform:o,...r}),n):n}function gMe(e){return R.useMemo(()=>({draggable:{...jg.draggable,...e==null?void 0:e.draggable},droppable:{...jg.droppable,...e==null?void 0:e.droppable},dragOverlay:{...jg.dragOverlay,...e==null?void 0:e.dragOverlay}}),[e==null?void 0:e.draggable,e==null?void 0:e.droppable,e==null?void 0:e.dragOverlay])}function mMe(e){let{activeNode:t,measure:n,initialRect:r,config:o=!0}=e;const i=R.useRef(!1),{x:s,y:a}=typeof o=="boolean"?{x:o,y:o}:o;jo(()=>{if(!s&&!a||!t){i.current=!1;return}if(i.current||!r)return;const c=t==null?void 0:t.node.current;if(!c||c.isConnected===!1)return;const u=n(c),d=vz(u,r);if(s||(d.x=0),a||(d.y=0),i.current=!0,Math.abs(d.x)>0||Math.abs(d.y)>0){const f=wz(c);f&&f.scrollBy({top:d.y,left:d.x})}},[t,s,a,r,n])}const G0=R.createContext({...Fo,scaleX:1,scaleY:1});var xs;(function(e){e[e.Uninitialized=0]="Uninitialized",e[e.Initializing=1]="Initializing",e[e.Initialized=2]="Initialized"})(xs||(xs={}));const bMe=R.memo(function(t){var n,r,o,i;let{id:s,accessibility:a,autoScroll:l=!0,children:c,sensors:u=cMe,collisionDetection:d=RDe,measuring:f,modifiers:h,...g}=t;const m=R.useReducer(hMe,void 0,fMe),[b,y]=m,[v,x]=gDe(),[E,_]=R.useState(xs.Uninitialized),S=E===xs.Initialized,{draggable:{active:C,nodes:k,translate:M},droppable:{containers:P}}=b,N=C!=null?k.get(C):null,A=R.useRef({initial:null,translated:null}),j=R.useMemo(()=>{var on;return C!=null?{id:C,data:(on=N==null?void 0:N.data)!=null?on:uMe,rect:A}:null},[C,N]),F=R.useRef(null),[I,O]=R.useState(null),[L,B]=R.useState(null),V=Zf(g,Object.values(g)),T=Yh("DndDescribedBy",s),q=R.useMemo(()=>P.getEnabled(),[P]),$=gMe(f),{droppableRects:D,measureDroppableContainers:z,measuringScheduled:U}=ZDe(q,{dragging:S,dependencies:[M.x,M.y],config:$.droppable}),Y=XDe(k,C),W=R.useMemo(()=>L?eb(L):null,[L]),G=Ri(),K=JDe(Y,$.draggable.measure);mMe({activeNode:C!=null?k.get(C):null,config:G.layoutShiftCompensation,initialRect:K,measure:$.draggable.measure});const J=NA(Y,$.draggable.measure,K),ne=NA(Y?Y.parentElement:null),Q=R.useRef({activatorEvent:null,active:null,activeNode:Y,collisionRect:null,collisions:null,droppableRects:D,draggableNodes:k,draggingNode:null,draggingNodeRect:null,droppableContainers:P,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),ie=P.getNodeFor((n=Q.current.over)==null?void 0:n.id),te=lMe({measure:$.dragOverlay.measure}),ce=(r=te.nodeRef.current)!=null?r:Y,de=S?(o=te.rect)!=null?o:J:null,_e=!!(te.nodeRef.current&&te.rect),be=nMe(_e?null:J),xe=Mz(ce?mr(ce):null),De=rMe(S?ie??Y:null),Ge=aMe(De),Ct=Iz(h,{transform:{x:M.x-be.x,y:M.y-be.y,scaleX:1,scaleY:1},activatorEvent:L,active:j,activeNodeRect:J,containerNodeRect:ne,draggingNodeRect:de,over:Q.current.over,overlayNodeRect:te.rect,scrollableAncestors:De,scrollableAncestorRects:Ge,windowRect:xe}),pe=W?Tc(W,M):null,Ie=oMe(De),Me=TA(Ie),ee=TA(Ie,[J]),le=Tc(Ct,Me),Ee=de?DDe(de,Ct):null,Pe=j&&Ee?d({active:j,collisionRect:Ee,droppableRects:D,droppableContainers:q,pointerCoordinates:pe}):null,We=yz(Pe,"id"),[Mt,_n]=R.useState(null),fn=_e?Ct:Tc(Ct,ee),ge=kDe(fn,(i=Mt==null?void 0:Mt.rect)!=null?i:null,J),hn=R.useRef(null),Nt=R.useCallback((on,St)=>{let{sensor:On,options:Ne}=St;if(F.current==null)return;const qe=k.get(F.current);if(!qe)return;const nt=on.nativeEvent,Zt=new On({active:F.current,activeNode:qe,event:nt,options:Ne,context:Q,onAbort(Tt){if(!k.get(Tt))return;const{onDragAbort:Jt}=V.current,pn={id:Tt};Jt==null||Jt(pn),v({type:"onDragAbort",event:pn})},onPending(Tt,Dn,Jt,pn){if(!k.get(Tt))return;const{onDragPending:Jr}=V.current,Vo={id:Tt,constraint:Dn,initialCoordinates:Jt,offset:pn};Jr==null||Jr(Vo),v({type:"onDragPending",event:Vo})},onStart(Tt){const Dn=F.current;if(Dn==null)return;const Jt=k.get(Dn);if(!Jt)return;const{onDragStart:pn}=V.current,da={activatorEvent:nt,active:{id:Dn,data:Jt.data,rect:A}};ln.unstable_batchedUpdates(()=>{pn==null||pn(da),_(xs.Initializing),y({type:Rn.DragStart,initialCoordinates:Tt,active:Dn}),v({type:"onDragStart",event:da}),O(hn.current),B(nt)})},onMove(Tt){y({type:Rn.DragMove,coordinates:Tt})},onEnd:At(Rn.DragEnd),onCancel:At(Rn.DragCancel)});hn.current=Zt;function At(Tt){return async function(){const{active:Jt,collisions:pn,over:da,scrollAdjustedTranslate:Jr}=Q.current;let Vo=null;if(Jt&&Jr){const{cancelDrop:fa}=V.current;Vo={activatorEvent:nt,active:Jt,collisions:pn,delta:Jr,over:da},Tt===Rn.DragEnd&&typeof fa=="function"&&await Promise.resolve(fa(Vo))&&(Tt=Rn.DragCancel)}F.current=null,ln.unstable_batchedUpdates(()=>{y({type:Tt}),_(xs.Uninitialized),_n(null),O(null),B(null),hn.current=null;const fa=Tt===Rn.DragEnd?"onDragEnd":"onDragCancel";if(Vo){const Qu=V.current[fa];Qu==null||Qu(Vo),v({type:fa,event:Vo})}})}}},[k]),Zr=R.useCallback((on,St)=>(On,Ne)=>{const qe=On.nativeEvent,nt=k.get(Ne);if(F.current!==null||!nt||qe.dndKit||qe.defaultPrevented)return;const Zt={active:nt};on(On,St.options,Zt)===!0&&(qe.dndKit={capturedBy:St.sensor},F.current=Ne,Nt(On,St))},[k,Nt]),In=QDe(u,Zr);iMe(u),jo(()=>{J&&E===xs.Initializing&&_(xs.Initialized)},[J,E]),R.useEffect(()=>{const{onDragMove:on}=V.current,{active:St,activatorEvent:On,collisions:Ne,over:qe}=Q.current;if(!St||!On)return;const nt={active:St,activatorEvent:On,collisions:Ne,delta:{x:le.x,y:le.y},over:qe};ln.unstable_batchedUpdates(()=>{on==null||on(nt),v({type:"onDragMove",event:nt})})},[le.x,le.y]),R.useEffect(()=>{const{active:on,activatorEvent:St,collisions:On,droppableContainers:Ne,scrollAdjustedTranslate:qe}=Q.current;if(!on||F.current==null||!St||!qe)return;const{onDragOver:nt}=V.current,Zt=Ne.get(We),At=Zt&&Zt.rect.current?{id:Zt.id,rect:Zt.rect.current,data:Zt.data,disabled:Zt.disabled}:null,Tt={active:on,activatorEvent:St,collisions:On,delta:{x:qe.x,y:qe.y},over:At};ln.unstable_batchedUpdates(()=>{_n(At),nt==null||nt(Tt),v({type:"onDragOver",event:Tt})})},[We]),jo(()=>{Q.current={activatorEvent:L,active:j,activeNode:Y,collisionRect:Ee,collisions:Pe,droppableRects:D,draggableNodes:k,draggingNode:ce,draggingNodeRect:de,droppableContainers:P,over:Mt,scrollableAncestors:De,scrollAdjustedTranslate:le},A.current={initial:de,translated:Ee}},[j,Y,Pe,Ee,k,ce,de,D,P,Mt,De,le]),GDe({...G,delta:M,draggingRect:Ee,pointerCoordinates:pe,scrollableAncestors:De,scrollableAncestorRects:Ge});const Bl=R.useMemo(()=>({active:j,activeNode:Y,activeNodeRect:J,activatorEvent:L,collisions:Pe,containerNodeRect:ne,dragOverlay:te,draggableNodes:k,droppableContainers:P,droppableRects:D,over:Mt,measureDroppableContainers:z,scrollableAncestors:De,scrollableAncestorRects:Ge,measuringConfiguration:$,measuringScheduled:U,windowRect:xe}),[j,Y,J,L,Pe,ne,te,k,P,D,Mt,z,De,Ge,$,U,xe]),ua=R.useMemo(()=>({activatorEvent:L,activators:In,active:j,activeNodeRect:J,ariaDescribedById:{draggable:T},dispatch:y,draggableNodes:k,over:Mt,measureDroppableContainers:z}),[L,In,j,J,y,T,k,Mt,z]);return R.createElement(gz.Provider,{value:x},R.createElement(Kh.Provider,{value:ua},R.createElement(Tz.Provider,{value:Bl},R.createElement(G0.Provider,{value:ge},c)),R.createElement(pMe,{disabled:(a==null?void 0:a.restoreFocus)===!1})),R.createElement(yDe,{...a,hiddenTextDescribedById:T}));function Ri(){const on=(I==null?void 0:I.autoScrollEnabled)===!1,St=typeof l=="object"?l.enabled===!1:l===!1,On=S&&!on&&!St;return typeof l=="object"?{...l,enabled:On}:{enabled:On}}}),yMe=R.createContext(null),OA="button",vMe="Draggable";function Oz(e){let{id:t,data:n,disabled:r=!1,attributes:o}=e;const i=Yh(vMe),{activators:s,activatorEvent:a,active:l,activeNodeRect:c,ariaDescribedById:u,draggableNodes:d,over:f}=R.useContext(Kh),{role:h=OA,roleDescription:g="draggable",tabIndex:m=0}=o??{},b=(l==null?void 0:l.id)===t,y=R.useContext(b?G0:yMe),[v,x]=Zm(),[E,_]=Zm(),S=sMe(s,t),C=Zf(n);jo(()=>(d.set(t,{id:t,key:i,node:v,activatorNode:E,data:C}),()=>{const M=d.get(t);M&&M.key===i&&d.delete(t)}),[d,t]);const k=R.useMemo(()=>({role:h,tabIndex:m,"aria-disabled":r,"aria-pressed":b&&h===OA?!0:void 0,"aria-roledescription":g,"aria-describedby":u.draggable}),[r,h,m,b,g,u.draggable]);return{active:l,activatorEvent:a,activeNodeRect:c,attributes:k,isDragging:b,listeners:r?void 0:S,node:v,over:f,setNodeRef:x,setActivatorNodeRef:_,transform:y}}function jz(){return R.useContext(Tz)}const xMe="Droppable",wMe={timeout:25};function Fz(e){let{data:t,disabled:n=!1,id:r,resizeObserverConfig:o}=e;const i=Yh(xMe),{active:s,dispatch:a,over:l,measureDroppableContainers:c}=R.useContext(Kh),u=R.useRef({disabled:n}),d=R.useRef(!1),f=R.useRef(null),h=R.useRef(null),{disabled:g,updateMeasurementsFor:m,timeout:b}={...wMe,...o},y=Zf(m??r),v=R.useCallback(()=>{if(!d.current){d.current=!0;return}h.current!=null&&clearTimeout(h.current),h.current=setTimeout(()=>{c(Array.isArray(y.current)?y.current:[y.current]),h.current=null},b)},[b]),x=U0({callback:v,disabled:g||!s}),E=R.useCallback((k,M)=>{x&&(M&&(x.unobserve(M),d.current=!1),k&&x.observe(k))},[x]),[_,S]=Zm(E),C=Zf(t);return R.useEffect(()=>{!x||!_.current||(x.disconnect(),d.current=!1,x.observe(_.current))},[_,x]),R.useEffect(()=>(a({type:Rn.RegisterDroppable,element:{id:r,key:i,disabled:n,node:_,rect:f,data:C}}),()=>a({type:Rn.UnregisterDroppable,key:i,id:r})),[r]),R.useEffect(()=>{n!==u.current.disabled&&(a({type:Rn.SetDroppableDisabled,id:r,key:i,disabled:n}),u.current.disabled=n)},[r,i,n,a]),{active:s,rect:f,isOver:(l==null?void 0:l.id)===r,node:_,over:l,setNodeRef:S}}function CMe(e){let{animation:t,children:n}=e;const[r,o]=R.useState(null),[i,s]=R.useState(null),a=Jm(n);return!n&&!r&&a&&o(a),jo(()=>{if(!i)return;const l=r==null?void 0:r.key,c=r==null?void 0:r.props.id;if(l==null||c==null){o(null);return}Promise.resolve(t(c,i)).then(()=>{o(null)})},[t,r,i]),R.createElement(R.Fragment,null,n,r?R.cloneElement(r,{ref:s}):null)}const SMe={x:0,y:0,scaleX:1,scaleY:1};function EMe(e){let{children:t}=e;return R.createElement(Kh.Provider,{value:Az},R.createElement(G0.Provider,{value:SMe},t))}const _Me={position:"fixed",touchAction:"none"},RMe=e=>W0(e)?"transform 250ms ease":void 0,kMe=R.forwardRef((e,t)=>{let{as:n,activatorEvent:r,adjustScale:o,children:i,className:s,rect:a,style:l,transform:c,transition:u=RMe}=e;if(!a)return null;const d=o?c:{...c,scaleX:1,scaleY:1},f={..._Me,width:a.width,height:a.height,top:a.top,left:a.left,transform:Zs.Transform.toString(d),transformOrigin:o&&r?wDe(r,a):void 0,transition:typeof u=="function"?u(r):u,...l};return R.createElement(n,{className:s,style:f,ref:t},i)}),PMe=e=>t=>{let{active:n,dragOverlay:r}=t;const o={},{styles:i,className:s}=e;if(i!=null&&i.active)for(const[a,l]of Object.entries(i.active))l!==void 0&&(o[a]=n.node.style.getPropertyValue(a),n.node.style.setProperty(a,l));if(i!=null&&i.dragOverlay)for(const[a,l]of Object.entries(i.dragOverlay))l!==void 0&&r.node.style.setProperty(a,l);return s!=null&&s.active&&n.node.classList.add(s.active),s!=null&&s.dragOverlay&&r.node.classList.add(s.dragOverlay),function(){for(const[l,c]of Object.entries(o))n.node.style.setProperty(l,c);s!=null&&s.active&&n.node.classList.remove(s.active)}},DMe=e=>{let{transform:{initial:t,final:n}}=e;return[{transform:Zs.Transform.toString(t)},{transform:Zs.Transform.toString(n)}]},MMe={duration:250,easing:"ease",keyframes:DMe,sideEffects:PMe({styles:{active:{opacity:"0"}}})};function NMe(e){let{config:t,draggableNodes:n,droppableContainers:r,measuringConfiguration:o}=e;return H0((i,s)=>{if(t===null)return;const a=n.get(i);if(!a)return;const l=a.node.current;if(!l)return;const c=Nz(s);if(!c)return;const{transform:u}=mr(s).getComputedStyle(s),d=xz(u);if(!d)return;const f=typeof t=="function"?t:AMe(t);return kz(l,o.draggable.measure),f({active:{id:i,data:a.data,node:l,rect:o.draggable.measure(l)},draggableNodes:n,dragOverlay:{node:s,rect:o.dragOverlay.measure(c)},droppableContainers:r,measuringConfiguration:o,transform:d})})}function AMe(e){const{duration:t,easing:n,sideEffects:r,keyframes:o}={...MMe,...e};return i=>{let{active:s,dragOverlay:a,transform:l,...c}=i;if(!t)return;const u={x:a.rect.left-s.rect.left,y:a.rect.top-s.rect.top},d={scaleX:l.scaleX!==1?s.rect.width*l.scaleX/a.rect.width:1,scaleY:l.scaleY!==1?s.rect.height*l.scaleY/a.rect.height:1},f={x:l.x-u.x,y:l.y-u.y,...d},h=o({...c,active:s,dragOverlay:a,transform:{initial:l,final:f}}),[g]=h,m=h[h.length-1];if(JSON.stringify(g)===JSON.stringify(m))return;const b=r==null?void 0:r({active:s,dragOverlay:a,...c}),y=a.node.animate(h,{duration:t,easing:n,fill:"forwards"});return new Promise(v=>{y.onfinish=()=>{b==null||b(),v()}})}}let jA=0;function TMe(e){return R.useMemo(()=>{if(e!=null)return jA++,jA},[e])}const IMe=R.memo(e=>{let{adjustScale:t=!1,children:n,dropAnimation:r,style:o,transition:i,modifiers:s,wrapperElement:a="div",className:l,zIndex:c=999}=e;const{activatorEvent:u,active:d,activeNodeRect:f,containerNodeRect:h,draggableNodes:g,droppableContainers:m,dragOverlay:b,over:y,measuringConfiguration:v,scrollableAncestors:x,scrollableAncestorRects:E,windowRect:_}=jz(),S=R.useContext(G0),C=TMe(d==null?void 0:d.id),k=Iz(s,{activatorEvent:u,active:d,activeNodeRect:f,containerNodeRect:h,draggingNodeRect:b.rect,over:y,overlayNodeRect:b.rect,scrollableAncestors:x,scrollableAncestorRects:E,transform:S,windowRect:_}),M=B2(f),P=NMe({config:r,draggableNodes:g,droppableContainers:m,measuringConfiguration:v}),N=M?b.setRef:void 0;return R.createElement(EMe,null,R.createElement(CMe,{animation:P},d&&C?R.createElement(kMe,{key:C,id:d.id,ref:N,as:a,activatorEvent:u,adjustScale:t,className:l,transition:i,rect:M,style:{zIndex:c,...o},transform:k},n):null))});function Lz(e){var b;const t=re(y=>y.authToken)||e,n=ve(y=>y.selectedConnectionId),r=ve(y=>y.selectedDatabaseName),o=ve(y=>y.selectedDatamodelId),i=ve(y=>y.selectedSchemaName),s=ve(y=>y.selectedTableName),{selectedConnection:a}=xi(),l=a==null?void 0:a.type,{data:c,isLoading:u,isFetching:d,isError:f,refetch:h}=Yn({queryKey:["columns",n,r,o,i,s],queryFn:()=>ao("https://semaphor.cloud/api/v1/columns",(t==null?void 0:t.accessToken)||"",{connection_id:n,datamodel_id:o||"",database_name:r,schema_name:i,table_name:s}),enabled:g(l)});function g(y){return t!=null&&t.accessToken?!!(n&&r&&r!=="NA"&&i&&s||n&&(y==="S3"||y==="API")||o&&o):!1}return{columns:(b=c==null?void 0:c.columns)==null?void 0:b.map(y=>({...y,data_type:y.data_type.toLowerCase()})),isColumnsLoading:u,isColumnsFetching:d,isColumnsError:f,refetchColumns:h}}function $z(e,t){var Pe,We,Mt,_n,fn;const n=Cu(),r=nr().authToken||e,o=ve(ge=>ge.selectedConnectionId),i=ve(ge=>ge.card),{queryKey:s}=EO(i),a=ve(ge=>ge.selectedDatamodelId),l=ve(ge=>ge.isDevMode),c=ve(ge=>ge.selectedDatabaseName),u=ve(ge=>ge.selectedSchemaName),d=ve(ge=>ge.selectedTableName),f=ve(ge=>ge.actions.setSelectedConnectionId),h=ve(ge=>ge.actions.setSelectedDatamodelId),g=ve(ge=>ge.actions.setSelectedDatabaseName),m=ve(ge=>ge.actions.setSelectedSchemaName),b=ve(ge=>ge.actions.setSelectedTableName);ve(ge=>ge.actions.setCardSql);const{setQueryConfig:y}=tr();function v(ge){return o&&c&&u&&c!=="NA"?!0:o&&ge==="API"?!1:!!(o&&ge==="S3")}function x(ge){return o&&ge?!(ge==="API"||ge==="S3"):!1}const{refetchConnections:E,connectionsData:_,isConnectionsLoading:S,isConnectionsError:C,selectedConnection:k}=xi(e),{refetch:M,data:P,isLoading:N,isError:A}=Yn({queryKey:["models",o],queryFn:()=>ao("https://semaphor.cloud/api/v1/datamodels",(r==null?void 0:r.accessToken)||"",{connection_id:o}),enabled:!!(r!=null&&r.accessToken)&&!!o}),j=k==null?void 0:k.type,F=(k==null?void 0:k.type)==="API"||(k==null?void 0:k.type)==="S3",{data:I,isLoading:O,isFetching:L,isError:B,refetch:V}=Yn({queryKey:["databases",o],queryFn:()=>ao("https://semaphor.cloud/api/v1/databases",(r==null?void 0:r.accessToken)||"",{connection_id:o}),enabled:x(j)}),{data:T,isLoading:q,isFetching:$,isError:D,refetch:z}=Yn({queryKey:["schemas",o,c],queryFn:()=>ao("https://semaphor.cloud/api/v1/schemas",(r==null?void 0:r.accessToken)||"",{connection_id:o,database_name:c}),enabled:!!o&&!!c&&!F&&c!=="NA"}),{data:U,isLoading:Y,isFetching:W,isError:G,refetch:K}=Yn({queryKey:["tables",o,c,u],queryFn:()=>ao("https://semaphor.cloud/api/v1/tables",(r==null?void 0:r.accessToken)||"",{connection_id:o,database_name:c,schema_name:u}),enabled:v(j)}),{columns:J,isColumnsLoading:ne,isColumnsFetching:Q,isColumnsError:ie,refetchColumns:te}=Lz(e);R.useEffect(()=>{(j==="S3"||j==="API")&&(g(""),m(""),h(""),j==="API"&&b("api"))},[j,b,g,m,h]);const ce=(k==null?void 0:k.type)==="API"?(Pe=k==null?void 0:k.type)==null?void 0:Pe.toLowerCase():d||"",de=F?"":u||"";function _e(ge){b(ge),y(void 0),l||(n.setQueryData(s,null),n.removeQueries({queryKey:s,exact:!0}))}function be(ge){m(ge),b("")}function xe(ge){g(ge==="none"?"":ge),m(""),b(""),ge!=="none"&&ge!==""&&h("")}function De(ge){f(ge)}function Ge(ge){h(ge==="none"?"":ge),ge!=="none"&&ge!==""&&g("")}I&&((We=I==null?void 0:I.databases)==null?void 0:We.length)>0,T&&((Mt=T==null?void 0:T.schemas)==null?void 0:Mt.length)>0;const Ct=_==null?void 0:_.connections.map(ge=>({id:ge.id,name:ge.name,type:ge.type})),pe=(_n=P==null?void 0:P.datamodels)==null?void 0:_n.map(ge=>({id:ge.id,name:ge.name})),Ie=I==null?void 0:I.databases.map(ge=>({id:ge.database_name,name:ge.database_name})),Me=T==null?void 0:T.schemas.map(ge=>({id:ge.schema_name,name:ge.schema_name})),ee=U==null?void 0:U.tables.map(ge=>({id:ge.table_name,name:ge.table_name})),le=(fn=P==null?void 0:P.datamodels.find(ge=>ge.id===a))==null?void 0:fn.name,Ee=bT({schemaName:de,tableName:ce,modelName:le,connectionType:j,databaseName:c||""});return{connectionItems:Ct,selectedConnectionId:o,selectedConnection:k,isConnectionsLoading:S,isConnectionsError:C,modelItems:pe,selectedDatamodelId:a,selectedDatamodelName:le,isModelsLoading:N,isModelsError:A,selectedDatabaseName:c,databaseItems:Ie,isDatabasesLoadingOrFetching:O||L,isDatabaseError:B,schemaItems:Me,selectedSchemaName:u,isSchemaLoadingOrFetching:q||$,isSchemaError:D,tableItems:ee,selectedTableName:d,isTableLoadingOrFetching:Y||W,isTableError:G,columns:J,isColumnsLoadingOrFetching:ne||Q,isColumnsError:ie,isNonDbConnection:F,connectionType:j,tableName:ce,formattedTableName:Ee,schemaName:de,refetchConnections:E,refetchModels:M,refetchDatabases:V,refetchSchemas:z,refetchTables:K,refetchColumns:te,handleConnectionChange:De,handleDatamodelChange:Ge,handleDatabaseChange:xe,handleSchemaChange:be,handleTableChange:_e}}var V2="Switch",[OMe,lTe]=Pn(V2),[jMe,FMe]=OMe(V2),zz=w.forwardRef((e,t)=>{const{__scopeSwitch:n,name:r,checked:o,defaultChecked:i,required:s,disabled:a,value:l="on",onCheckedChange:c,form:u,...d}=e,[f,h]=w.useState(null),g=Ve(t,x=>h(x)),m=w.useRef(!1),b=f?u||!!f.closest("form"):!0,[y=!1,v]=er({prop:o,defaultProp:i,onChange:c});return p.jsxs(jMe,{scope:n,checked:y,disabled:a,children:[p.jsx(Ce.button,{type:"button",role:"switch","aria-checked":y,"aria-required":s,"data-state":Hz(y),"data-disabled":a?"":void 0,disabled:a,value:l,...d,ref:g,onClick:ue(e.onClick,x=>{v(E=>!E),b&&(m.current=x.isPropagationStopped(),m.current||x.stopPropagation())})}),b&&p.jsx(LMe,{control:f,bubbles:!m.current,name:r,value:l,checked:y,required:s,disabled:a,form:u,style:{transform:"translateX(-100%)"}})]})});zz.displayName=V2;var Bz="SwitchThumb",Vz=w.forwardRef((e,t)=>{const{__scopeSwitch:n,...r}=e,o=FMe(Bz,n);return p.jsx(Ce.span,{"data-state":Hz(o.checked),"data-disabled":o.disabled?"":void 0,...r,ref:t})});Vz.displayName=Bz;var LMe=e=>{const{control:t,checked:n,bubbles:r=!0,...o}=e,i=w.useRef(null),s=r0(n),a=Gb(t);return w.useEffect(()=>{const l=i.current,c=window.HTMLInputElement.prototype,d=Object.getOwnPropertyDescriptor(c,"checked").set;if(s!==n&&d){const f=new Event("click",{bubbles:r});d.call(l,n),l.dispatchEvent(f)}},[s,n,r]),p.jsx("input",{type:"checkbox","aria-hidden":!0,defaultChecked:n,...o,tabIndex:-1,ref:i,style:{...e.style,...a,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})};function Hz(e){return e?"checked":"unchecked"}var Y0=zz,Wz=Vz;const qz=w.forwardRef(({className:e,...t},n)=>p.jsx(Y0,{className:se("peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",e),...t,ref:n,children:p.jsx(Wz,{className:se("pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0")})}));qz.displayName=Y0.displayName;function $Me(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function FA(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function LA(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?FA(Object(n),!0).forEach(function(r){$Me(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):FA(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function zMe(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,i;for(i=0;i<r.length;i++)o=r[i],!(t.indexOf(o)>=0)&&(n[o]=e[o]);return n}function BMe(e,t){if(e==null)return{};var n=zMe(e,t),r,o;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o<i.length;o++)r=i[o],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function VMe(e,t){return HMe(e)||WMe(e,t)||qMe(e,t)||UMe()}function HMe(e){if(Array.isArray(e))return e}function WMe(e,t){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(e)))){var n=[],r=!0,o=!1,i=void 0;try{for(var s=e[Symbol.iterator](),a;!(r=(a=s.next()).done)&&(n.push(a.value),!(t&&n.length===t));r=!0);}catch(l){o=!0,i=l}finally{try{!r&&s.return!=null&&s.return()}finally{if(o)throw i}}return n}}function qMe(e,t){if(e){if(typeof e=="string")return $A(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return $A(e,t)}}function $A(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function UMe(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
525
525
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function GMe(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function zA(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function BA(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?zA(Object(n),!0).forEach(function(r){GMe(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):zA(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function YMe(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return function(r){return t.reduceRight(function(o,i){return i(o)},r)}}function Id(e){return function t(){for(var n=this,r=arguments.length,o=new Array(r),i=0;i<r;i++)o[i]=arguments[i];return o.length>=e.length?e.apply(this,o):function(){for(var s=arguments.length,a=new Array(s),l=0;l<s;l++)a[l]=arguments[l];return t.apply(n,[].concat(o,a))}}}function rb(e){return{}.toString.call(e).includes("Object")}function KMe(e){return!Object.keys(e).length}function th(e){return typeof e=="function"}function XMe(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function QMe(e,t){return rb(t)||zs("changeType"),Object.keys(t).some(function(n){return!XMe(e,n)})&&zs("changeField"),t}function ZMe(e){th(e)||zs("selectorType")}function JMe(e){th(e)||rb(e)||zs("handlerType"),rb(e)&&Object.values(e).some(function(t){return!th(t)})&&zs("handlersType")}function eNe(e){e||zs("initialIsRequired"),rb(e)||zs("initialType"),KMe(e)&&zs("initialContent")}function tNe(e,t){throw new Error(e[t]||e.default)}var nNe={initialIsRequired:"initial state is required",initialType:"initial state should be an object",initialContent:"initial state shouldn't be an empty object",handlerType:"handler should be an object or a function",handlersType:"all handlers should be a functions",selectorType:"selector should be a function",changeType:"provided value of changes should be an object",changeField:'it seams you want to change a field in the state which is not specified in the "initial" state',default:"an unknown error accured in `state-local` package"},zs=Id(tNe)(nNe),hg={changes:QMe,selector:ZMe,handler:JMe,initial:eNe};function rNe(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};hg.initial(e),hg.handler(t);var n={current:e},r=Id(sNe)(n,t),o=Id(iNe)(n),i=Id(hg.changes)(e),s=Id(oNe)(n);function a(){var c=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(u){return u};return hg.selector(c),c(n.current)}function l(c){YMe(r,o,i,s)(c)}return[a,l]}function oNe(e,t){return th(t)?t(e.current):t}function iNe(e,t){return e.current=BA(BA({},e.current),t),t}function sNe(e,t,n){return th(t)?t(e.current):Object.keys(n).forEach(function(r){var o;return(o=t[r])===null||o===void 0?void 0:o.call(t,e.current[r])}),n}var aNe={create:rNe},lNe={paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@0.52.2/min/vs"}};function cNe(e){return function t(){for(var n=this,r=arguments.length,o=new Array(r),i=0;i<r;i++)o[i]=arguments[i];return o.length>=e.length?e.apply(this,o):function(){for(var s=arguments.length,a=new Array(s),l=0;l<s;l++)a[l]=arguments[l];return t.apply(n,[].concat(o,a))}}}function uNe(e){return{}.toString.call(e).includes("Object")}function dNe(e){return e||VA("configIsRequired"),uNe(e)||VA("configType"),e.urls?(fNe(),{paths:{vs:e.urls.monacoBase}}):e}function fNe(){console.warn(Uz.deprecation)}function hNe(e,t){throw new Error(e[t]||e.default)}var Uz={configIsRequired:"the configuration object is required",configType:"the configuration object should be an object",default:"an unknown error accured in `@monaco-editor/loader` package",deprecation:`Deprecation warning!
526
526
  You are using deprecated way of configuration.
527
527
 
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../chunks/index-CGZJfir8.js"),r=require("../types/index.cjs");exports.Dashboard=e.Dashboard;exports.EMPTY_SELECTION=r.EMPTY_SELECTION;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../chunks/index-DiwXdNV5.js"),r=require("../types/index.cjs");exports.Dashboard=e.Dashboard;exports.EMPTY_SELECTION=r.EMPTY_SELECTION;
@@ -1,4 +1,4 @@
1
- import { D as a } from "../chunks/index-CgeLnBe2.js";
1
+ import { D as a } from "../chunks/index-CPLZoYFD.js";
2
2
  import { EMPTY_SELECTION as e } from "../types/index.js";
3
3
  export {
4
4
  a as Dashboard,
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./chunks/index-CGZJfir8.js"),t=require("./types/index.cjs"),a=require("./chunks/dashboard-plus-DkRjEQS7.js");require("react/jsx-runtime");require("react");require("react-dom");const o=["YYYY-MM-DD","MM/DD/YYYY","DD/MM/YYYY","MMMM DD, YYYY","MMM DD, YYYY","DD MMM YYYY","YYYY-MM","MMMM YYYY","custom"];exports.Dashboard=e.Dashboard;exports.DashboardWC=e.DashboardWC;exports.SemaphorDataProvider=e.SemaphorQueryClient;exports.SemaphorQueryClient=e.SemaphorQueryClient;exports.createSqlGenConfig=e.createSqlGenConfig;exports.fmt=e.fmt;exports.getColumnDataType=e.getColumnDataType;exports.getFilterValueType=e.getFilterValueType;exports.getFormattedTableNameForQuery=e.getFormattedTableNameForQuery;exports.getQualifiedTableName=e.getQualifiedTableName;exports.getSql=e.getSql;exports.invalidateToken=e.invalidateToken;exports.isBooleanDataType=e.isBooleanDataType;exports.isColumnInSqlGen=e.isColumnInSqlGen;exports.isDateDataType=e.isDateDataType;exports.isNumberDataType=e.isNumberDataType;exports.isTextDataType=e.isTextDataType;exports.resolveDataType=e.resolveDataType;exports.resolveDatamodelName=e.resolveDatamodelName;exports.useCard=e.useCard;exports.useDashboardActions=e.useDashboardActions;exports.useDashboardStore=e.useDashboardStore;exports.useDataColumns=e.useDataColumns;exports.useDateFilterHook=e.useDateFilterHook;exports.useEditorActions=e.useEditorActions;exports.useEditorAside=e.useEditorAside;exports.useEditorStore=e.useEditorStore;exports.useTextFilterHook=e.useTextFilterHook;exports.EMPTY_SELECTION=t.EMPTY_SELECTION;exports.ScheduleDashboard=a.ScheduleDashboard;exports.SelectComponent=a.SelectComponent;exports.Surfboard=a.DashboardPlus;exports.cleanCard=a.cleanCard;exports.downloadPdf=a.downloadPdf;exports.getDashbaordStateWithoutData=a.getDashbaordStateWithoutData;exports.DATE_FORMAT_VALUES=o;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./chunks/index-DiwXdNV5.js"),t=require("./types/index.cjs"),a=require("./chunks/dashboard-plus-qJpm9vOe.js");require("react/jsx-runtime");require("react");require("react-dom");const o=["YYYY-MM-DD","MM/DD/YYYY","DD/MM/YYYY","MMMM DD, YYYY","MMM DD, YYYY","DD MMM YYYY","YYYY-MM","MMMM YYYY","custom"];exports.Dashboard=e.Dashboard;exports.DashboardWC=e.DashboardWC;exports.SemaphorDataProvider=e.SemaphorQueryClient;exports.SemaphorQueryClient=e.SemaphorQueryClient;exports.createSqlGenConfig=e.createSqlGenConfig;exports.fmt=e.fmt;exports.getColumnDataType=e.getColumnDataType;exports.getFilterValueType=e.getFilterValueType;exports.getFormattedTableNameForQuery=e.getFormattedTableNameForQuery;exports.getQualifiedTableName=e.getQualifiedTableName;exports.getSql=e.getSql;exports.invalidateToken=e.invalidateToken;exports.isBooleanDataType=e.isBooleanDataType;exports.isColumnInSqlGen=e.isColumnInSqlGen;exports.isDateDataType=e.isDateDataType;exports.isNumberDataType=e.isNumberDataType;exports.isTextDataType=e.isTextDataType;exports.resolveDataType=e.resolveDataType;exports.resolveDatamodelName=e.resolveDatamodelName;exports.useCard=e.useCard;exports.useDashboardActions=e.useDashboardActions;exports.useDashboardStore=e.useDashboardStore;exports.useDataColumns=e.useDataColumns;exports.useDateFilterHook=e.useDateFilterHook;exports.useEditorActions=e.useEditorActions;exports.useEditorAside=e.useEditorAside;exports.useEditorStore=e.useEditorStore;exports.useTextFilterHook=e.useTextFilterHook;exports.EMPTY_SELECTION=t.EMPTY_SELECTION;exports.ScheduleDashboard=a.ScheduleDashboard;exports.SelectComponent=a.SelectComponent;exports.Surfboard=a.DashboardPlus;exports.cleanCard=a.cleanCard;exports.downloadPdf=a.downloadPdf;exports.getDashbaordStateWithoutData=a.getDashbaordStateWithoutData;exports.DATE_FORMAT_VALUES=o;
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
- import { D, c as Y, S as i, S as d, l, f as M, n as u, m, p as n, q as p, k as S, i as T, j as b, o as h, h as c, g as y, e as C, s as f, r as g, b as E, w as x, v as A, d as F, u as v, y as N, t as k, x as q, a as P } from "./chunks/index-CgeLnBe2.js";
1
+ import { D, c as Y, S as i, S as d, l, f as M, n as u, m, p as n, q as p, k as S, i as T, j as b, o as h, h as c, g as y, e as C, s as f, r as g, b as E, w as x, v as A, d as F, u as v, y as N, t as k, x as q, a as P } from "./chunks/index-CPLZoYFD.js";
2
2
  import { EMPTY_SELECTION as _ } from "./types/index.js";
3
- import { S as G, a as H, D as I, c as L, d as O, g as V } from "./chunks/dashboard-plus-l7VBGMzZ.js";
3
+ import { S as G, a as H, D as I, c as L, d as O, g as V } from "./chunks/dashboard-plus-AeZY3NhM.js";
4
4
  import "react/jsx-runtime";
5
5
  import "react";
6
6
  import "react-dom";
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../chunks/dashboard-plus-DkRjEQS7.js"),r=require("../types/index.cjs");exports.Surfboard=e.DashboardPlus;exports.EMPTY_SELECTION=r.EMPTY_SELECTION;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../chunks/dashboard-plus-qJpm9vOe.js"),r=require("../types/index.cjs");exports.Surfboard=e.DashboardPlus;exports.EMPTY_SELECTION=r.EMPTY_SELECTION;
@@ -1,4 +1,4 @@
1
- import { D as f } from "../chunks/dashboard-plus-l7VBGMzZ.js";
1
+ import { D as f } from "../chunks/dashboard-plus-AeZY3NhM.js";
2
2
  import { EMPTY_SELECTION as a } from "../types/index.js";
3
3
  export {
4
4
  a as EMPTY_SELECTION,
@@ -246,10 +246,27 @@ export declare type ExportDataPayload = {
246
246
  };
247
247
 
248
248
  declare interface Field {
249
+ /**
250
+ * Unique identifier for this field instance (for joins, UI state, etc.).
251
+ * Should be unique within the context of the query or data model.
252
+ * Example: 'orders.customer_id', 'expr_12345', etc.
253
+ */
249
254
  id: string;
255
+ /**
256
+ * The physical/source column name in the database or data source.
257
+ * Used for mapping to the underlying data model and SQL generation (unless overridden by expression).
258
+ */
250
259
  name: string;
251
- dataType: string;
260
+ /**
261
+ * Human-friendly, localizable display name for the UI (table headers, chart axes, etc.).
262
+ */
252
263
  label: string;
264
+ /**
265
+ * Unique, stable, machine-friendly reference name for SQL (AS alias), exports, and scripting.
266
+ * If not provided, should be auto-generated from label or name.
267
+ */
268
+ alias?: string;
269
+ dataType: string;
253
270
  description?: string;
254
271
  qualifiedEntityName?: string;
255
272
  dateFormat?: DateFormatValue;
@@ -361,6 +378,11 @@ declare interface GroupByColumn extends BaseColumn {
361
378
  declare interface GroupByField extends Field {
362
379
  role: 'groupby';
363
380
  granularity?: 'day' | 'week' | 'month' | 'quarter' | 'year';
381
+ /**
382
+ * Optional SQL expression for grouping (e.g., DATE_TRUNC('month', order_date)).
383
+ * If present, used in SELECT and GROUP BY instead of just the column name.
384
+ */
385
+ expression?: string;
364
386
  }
365
387
 
366
388
  export declare type HtmlOptions = {
@@ -417,6 +439,31 @@ declare interface MetricColumn extends BaseColumn {
417
439
  declare interface MetricField extends Field {
418
440
  role: 'metric';
419
441
  aggregate: AggregateFunction;
442
+ /**
443
+ * Optional SQL expression for the metric (e.g., ship_date - order_date).
444
+ * If present, used as aggregate(expression) instead of aggregate(name).
445
+ */
446
+ expression?: string;
447
+ /**
448
+ * Optional parameters for future extensibility (e.g., window functions).
449
+ * * Example:
450
+ * {
451
+ aggregate: "SUM",
452
+ name: "sales",
453
+ parameters: {
454
+ window: "PARTITION BY region ORDER BY date ROWS BETWEEN 1 PRECEDING AND CURRENT ROW"
455
+ }
456
+ }
457
+
458
+ {
459
+ aggregate: "COUNT",
460
+ name: "order_id",
461
+ parameters: {
462
+ filter: "status = 'Active'"
463
+ }
464
+ }
465
+ */
466
+ parameters?: Record<string, any>;
420
467
  aliasTemplate?: string;
421
468
  valueAliases?: Record<string, string>;
422
469
  }
@@ -7,6 +7,7 @@ import { ComboBoxOption as ComboBoxOption_2 } from '../../components/surfboard/f
7
7
  import { CustomCard as CustomCard_2 } from '..';
8
8
  import { DateRange } from 'react-day-picker';
9
9
  import { default as default_2 } from 'react-grid-layout';
10
+ import { Dialect as Dialect_2 } from '../types/explorer-types';
10
11
  import { DropdownItem as DropdownItem_2 } from '../types/dropdown-types';
11
12
  import { EmailSettings as EmailSettings_2 } from '..';
12
13
  import { FontSpec } from 'chart.js';
@@ -15,6 +16,7 @@ import { QueryObserverResult } from '@tanstack/query-core';
15
16
  import { RefetchOptions } from '@tanstack/query-core';
16
17
  import { StoreApi } from 'zustand';
17
18
  import { TBaseQuery as TBaseQuery_2 } from '..';
19
+ import { TDbCapabilities as TDbCapabilities_2 } from '../types';
18
20
  import { TFilter as TFilter_2 } from '../surfboard/filter/types';
19
21
  import { TFilterValue as TFilterValue_2 } from '..';
20
22
  import { TStyle as TStyle_2 } from '..';
@@ -603,10 +605,27 @@ export declare type ExportDataPayload = {
603
605
  };
604
606
 
605
607
  export declare interface Field {
608
+ /**
609
+ * Unique identifier for this field instance (for joins, UI state, etc.).
610
+ * Should be unique within the context of the query or data model.
611
+ * Example: 'orders.customer_id', 'expr_12345', etc.
612
+ */
606
613
  id: string;
614
+ /**
615
+ * The physical/source column name in the database or data source.
616
+ * Used for mapping to the underlying data model and SQL generation (unless overridden by expression).
617
+ */
607
618
  name: string;
608
- dataType: string;
619
+ /**
620
+ * Human-friendly, localizable display name for the UI (table headers, chart axes, etc.).
621
+ */
609
622
  label: string;
623
+ /**
624
+ * Unique, stable, machine-friendly reference name for SQL (AS alias), exports, and scripting.
625
+ * If not provided, should be auto-generated from label or name.
626
+ */
627
+ alias?: string;
628
+ dataType: string;
610
629
  description?: string;
611
630
  qualifiedEntityName?: string;
612
631
  dateFormat?: DateFormatValue;
@@ -771,6 +790,11 @@ export declare interface GroupByColumn extends BaseColumn {
771
790
  export declare interface GroupByField extends Field {
772
791
  role: 'groupby';
773
792
  granularity?: 'day' | 'week' | 'month' | 'quarter' | 'year';
793
+ /**
794
+ * Optional SQL expression for grouping (e.g., DATE_TRUNC('month', order_date)).
795
+ * If present, used in SELECT and GROUP BY instead of just the column name.
796
+ */
797
+ expression?: string;
774
798
  }
775
799
 
776
800
  export declare type HtmlOptions = {
@@ -839,6 +863,31 @@ export declare interface MetricColumn extends BaseColumn {
839
863
  export declare interface MetricField extends Field {
840
864
  role: 'metric';
841
865
  aggregate: AggregateFunction;
866
+ /**
867
+ * Optional SQL expression for the metric (e.g., ship_date - order_date).
868
+ * If present, used as aggregate(expression) instead of aggregate(name).
869
+ */
870
+ expression?: string;
871
+ /**
872
+ * Optional parameters for future extensibility (e.g., window functions).
873
+ * * Example:
874
+ * {
875
+ aggregate: "SUM",
876
+ name: "sales",
877
+ parameters: {
878
+ window: "PARTITION BY region ORDER BY date ROWS BETWEEN 1 PRECEDING AND CURRENT ROW"
879
+ }
880
+ }
881
+
882
+ {
883
+ aggregate: "COUNT",
884
+ name: "order_id",
885
+ parameters: {
886
+ filter: "status = 'Active'"
887
+ }
888
+ }
889
+ */
890
+ parameters?: Record<string, any>;
842
891
  aliasTemplate?: string;
843
892
  valueAliases?: Record<string, string>;
844
893
  }
@@ -1356,6 +1405,14 @@ export declare const useEditorActions: () => Actions_2;
1356
1405
  export declare function useEditorAside(token?: AuthToken, _connectionQueryKey?: string): {
1357
1406
  connectionItems: ConnectionItem[];
1358
1407
  selectedConnectionId: string | undefined;
1408
+ selectedConnection: {
1409
+ id: string;
1410
+ name: string;
1411
+ type: string;
1412
+ dialect?: Dialect_2;
1413
+ uiType?: "database" | "api" | "s3";
1414
+ capabilities: TDbCapabilities_2;
1415
+ } | undefined;
1359
1416
  isConnectionsLoading: boolean;
1360
1417
  isConnectionsError: boolean;
1361
1418
  modelItems: DropdownItem_2[];
@@ -249,10 +249,27 @@ export declare type ExportDataPayload = {
249
249
  };
250
250
 
251
251
  declare interface Field {
252
+ /**
253
+ * Unique identifier for this field instance (for joins, UI state, etc.).
254
+ * Should be unique within the context of the query or data model.
255
+ * Example: 'orders.customer_id', 'expr_12345', etc.
256
+ */
252
257
  id: string;
258
+ /**
259
+ * The physical/source column name in the database or data source.
260
+ * Used for mapping to the underlying data model and SQL generation (unless overridden by expression).
261
+ */
253
262
  name: string;
254
- dataType: string;
263
+ /**
264
+ * Human-friendly, localizable display name for the UI (table headers, chart axes, etc.).
265
+ */
255
266
  label: string;
267
+ /**
268
+ * Unique, stable, machine-friendly reference name for SQL (AS alias), exports, and scripting.
269
+ * If not provided, should be auto-generated from label or name.
270
+ */
271
+ alias?: string;
272
+ dataType: string;
256
273
  description?: string;
257
274
  qualifiedEntityName?: string;
258
275
  dateFormat?: DateFormatValue;
@@ -364,6 +381,11 @@ declare interface GroupByColumn extends BaseColumn {
364
381
  declare interface GroupByField extends Field {
365
382
  role: 'groupby';
366
383
  granularity?: 'day' | 'week' | 'month' | 'quarter' | 'year';
384
+ /**
385
+ * Optional SQL expression for grouping (e.g., DATE_TRUNC('month', order_date)).
386
+ * If present, used in SELECT and GROUP BY instead of just the column name.
387
+ */
388
+ expression?: string;
367
389
  }
368
390
 
369
391
  export declare type HtmlOptions = {
@@ -420,6 +442,31 @@ declare interface MetricColumn extends BaseColumn {
420
442
  declare interface MetricField extends Field {
421
443
  role: 'metric';
422
444
  aggregate: AggregateFunction;
445
+ /**
446
+ * Optional SQL expression for the metric (e.g., ship_date - order_date).
447
+ * If present, used as aggregate(expression) instead of aggregate(name).
448
+ */
449
+ expression?: string;
450
+ /**
451
+ * Optional parameters for future extensibility (e.g., window functions).
452
+ * * Example:
453
+ * {
454
+ aggregate: "SUM",
455
+ name: "sales",
456
+ parameters: {
457
+ window: "PARTITION BY region ORDER BY date ROWS BETWEEN 1 PRECEDING AND CURRENT ROW"
458
+ }
459
+ }
460
+
461
+ {
462
+ aggregate: "COUNT",
463
+ name: "order_id",
464
+ parameters: {
465
+ filter: "status = 'Active'"
466
+ }
467
+ }
468
+ */
469
+ parameters?: Record<string, any>;
423
470
  aliasTemplate?: string;
424
471
  valueAliases?: Record<string, string>;
425
472
  }
@@ -243,10 +243,27 @@ export declare type ExportDataPayload = {
243
243
  };
244
244
 
245
245
  declare interface Field {
246
+ /**
247
+ * Unique identifier for this field instance (for joins, UI state, etc.).
248
+ * Should be unique within the context of the query or data model.
249
+ * Example: 'orders.customer_id', 'expr_12345', etc.
250
+ */
246
251
  id: string;
252
+ /**
253
+ * The physical/source column name in the database or data source.
254
+ * Used for mapping to the underlying data model and SQL generation (unless overridden by expression).
255
+ */
247
256
  name: string;
248
- dataType: string;
257
+ /**
258
+ * Human-friendly, localizable display name for the UI (table headers, chart axes, etc.).
259
+ */
249
260
  label: string;
261
+ /**
262
+ * Unique, stable, machine-friendly reference name for SQL (AS alias), exports, and scripting.
263
+ * If not provided, should be auto-generated from label or name.
264
+ */
265
+ alias?: string;
266
+ dataType: string;
250
267
  description?: string;
251
268
  qualifiedEntityName?: string;
252
269
  dateFormat?: DateFormatValue;
@@ -358,6 +375,11 @@ declare interface GroupByColumn extends BaseColumn {
358
375
  declare interface GroupByField extends Field {
359
376
  role: 'groupby';
360
377
  granularity?: 'day' | 'week' | 'month' | 'quarter' | 'year';
378
+ /**
379
+ * Optional SQL expression for grouping (e.g., DATE_TRUNC('month', order_date)).
380
+ * If present, used in SELECT and GROUP BY instead of just the column name.
381
+ */
382
+ expression?: string;
361
383
  }
362
384
 
363
385
  export declare type HtmlOptions = {
@@ -414,6 +436,31 @@ declare interface MetricColumn extends BaseColumn {
414
436
  declare interface MetricField extends Field {
415
437
  role: 'metric';
416
438
  aggregate: AggregateFunction;
439
+ /**
440
+ * Optional SQL expression for the metric (e.g., ship_date - order_date).
441
+ * If present, used as aggregate(expression) instead of aggregate(name).
442
+ */
443
+ expression?: string;
444
+ /**
445
+ * Optional parameters for future extensibility (e.g., window functions).
446
+ * * Example:
447
+ * {
448
+ aggregate: "SUM",
449
+ name: "sales",
450
+ parameters: {
451
+ window: "PARTITION BY region ORDER BY date ROWS BETWEEN 1 PRECEDING AND CURRENT ROW"
452
+ }
453
+ }
454
+
455
+ {
456
+ aggregate: "COUNT",
457
+ name: "order_id",
458
+ parameters: {
459
+ filter: "status = 'Active'"
460
+ }
461
+ }
462
+ */
463
+ parameters?: Record<string, any>;
417
464
  aliasTemplate?: string;
418
465
  valueAliases?: Record<string, string>;
419
466
  }
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "email": "support@semaphor.cloud"
6
6
  },
7
7
  "license": "MIT",
8
- "version": "0.0.504",
8
+ "version": "0.0.505",
9
9
  "description": "Fully interactive and customizable dashboards for your apps.",
10
10
  "keywords": [
11
11
  "react",