react-semaphor 0.0.364 → 0.0.365
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.
- package/dist/chunks/{index-B48hv_2G.js → index-Bbvr9K_x.js} +639 -638
- package/dist/chunks/index-D-22LEzt.js +181 -0
- package/dist/chunks/{index-BdIy27IM.js → index-DD_Iz12h.js} +4 -4
- package/dist/chunks/{index-M934lYN-.js → index-FJLesO8t.js} +1 -1
- package/dist/chunks/{lucide-react-CN5Da4Em.js → lucide-react-1s476nzq.js} +1 -1
- package/dist/chunks/{lucide-react-69gCJpeX.js → lucide-react-Ds4vVLCA.js} +3 -3
- package/dist/dashboard/index.cjs +1 -1
- package/dist/dashboard/index.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +2 -2
- package/dist/style.css +1 -1
- package/dist/surfboard/index.cjs +1 -1
- package/dist/surfboard/index.js +1 -1
- package/package.json +1 -1
- package/dist/chunks/index--KqMl_wh.js +0 -181
|
@@ -412,7 +412,7 @@ prismjs/prism.js:
|
|
|
412
412
|
* @namespace
|
|
413
413
|
* @public
|
|
414
414
|
*)
|
|
415
|
-
*/function XRe({message:e,onAddToDashboard:t}){var o;const n=(o=e==null?void 0:e.parts)==null?void 0:o.filter(s=>s.type==="tool-invocation"&&s.toolInvocation.toolName==="getData"&&s.toolInvocation.state==="result");if(!n)return null;const i=n.map(s=>s.toolInvocation).map(s=>{const l=s.result.data.records;return{chartCfg:vE({cardType:s.args.chartType,data:l}),chartTitle:s.args.chartTitle,chartType:s.args.chartType,sql:s.args.sql,data:l,connectionId:s.args.connectionId}});return i.length===0?null:v.jsx("div",{className:"",children:i.map((s,a)=>v.jsxs("div",{className:"relative isolate flex h-[350px] w-[99%] grow flex-col",children:[v.jsxs(br,{className:"absolute right-0 top-0 z-10 h-8 p-2",onClick:()=>{t==null||t({sql:s.sql,data:s.data,cardCfg:s.chartCfg,cardTitle:s.chartTitle,connectionId:s.connectionId,cardType:s.chartType})},size:"sm",variant:"secondary",children:[v.jsx(qy,{className:"mr-1 size-4"}),"Add"]}),v.jsx(qE,{cfg:s.chartCfg})]},a))})}function QRe({message:e,showTools:t}){var r;if(!t)return null;const n=(r=e==null?void 0:e.parts)==null?void 0:r.filter(i=>i.type==="tool-invocation");return v.jsx("div",{className:"space-y-3",children:n==null?void 0:n.map((i,o)=>{const s=i.toolInvocation;return v.jsxs(g1e,{children:[v.jsxs(m1e,{className:"rounded-md bg-green-200 p-1 px-2 font-mono text-xs text-black",children:[v.jsx("span",{className:"font-bold",children:"Tool:"})," ",s.toolName]}),v.jsx(b1e,{className:"mt-2 font-mono text-xs",children:v.jsxs("div",{className:"space-y-2 px-2",children:[v.jsxs("div",{className:"space-y-1",children:[v.jsx("span",{children:"Args:"}),v.jsx(I_,{language:"json",code:JSON.stringify(s.args,null,2)})]}),v.jsxs("div",{className:"space-y-1",children:[v.jsx("span",{children:"Result:"}),v.jsx(I_,{language:"json",code:JSON.stringify(s.result,null,2)})]})]})})]},o)})})}function ZRe({message:e}){return e.role!=="user"?null:v.jsxs("div",{className:"rounded-md bg-muted/50 p-3 text-sm",children:[v.jsx(xL,{className:"float-left mr-2 size-4"}),v.jsx("div",{children:e.content})]})}function JRe({message:e,handleRun:t}){if(e.role!=="assistant")return null;const n={p:({node:r,...i})=>v.jsx("p",{className:"text-sm",...i}),code:({node:r,...i})=>v.jsx("code",{className:"rounded-md bg-muted px-2 py-1 text-xs",...i}),pre:r=>v.jsx(e2e,{...r,handleRun:t}),li:({node:r,...i})=>v.jsx("li",{className:"my-2 list-outside pl-4 text-sm",...i})};return v.jsx(WEe,{components:n,children:e.content.replace(/DuckDB/gi,"Semaphor")})}function p7({status:e,isLoading:t}){return t?v.jsx("div",{className:"flex items-center text-xs text-muted-foreground",children:e}):null}function g7({messages:e,showTools:t=!1,handleRun:n,onAddToDashboard:r}){return e==null?void 0:e.map(i=>v.jsxs("div",{className:be("relative my-4 space-y-4 text-sm text-foreground/80"),children:[v.jsx(ZRe,{message:i}),v.jsx(QRe,{message:i,showTools:t}),v.jsx(XRe,{onAddToDashboard:r,message:i}),v.jsx(JRe,{message:i,handleRun:n})]},i.id))}function e2e({children:e,handleRun:t}){const[n,r]=k.useState(!1);k.useRef(null);const i=()=>{navigator.clipboard.writeText(o).then(()=>{r(!0),setTimeout(()=>r(!1),2e3)})},o=M_(e);return v.jsxs("pre",{className:"relative my-2 space-y-2 rounded-md bg-muted/50",children:[v.jsxs("div",{className:"float-right m-1.5",children:[v.jsx(br,{className:"h-8 p-2 text-xs text-muted-foreground hover:text-foreground",onClick:i,size:"sm",variant:"ghost",children:n?v.jsx(jc,{className:"size-3"}):v.jsx($C,{className:"size-3"})}),v.jsx(br,{className:"h-8 p-2 text-muted-foreground hover:text-foreground",onClick:()=>t==null?void 0:t(o),size:"sm",variant:"ghost",children:v.jsx(hL,{className:"size-3"})})]}),v.jsx(I_,{code:o})]})}function M_(e){return typeof e=="string"?e:Array.isArray(e)?e.map(M_).join(""):k.isValidElement(e)?M_(e.props.children):""}const I_=({code:e,language:t="sql"})=>{const n=ye(r=>r.theme);return v.jsx(KRe,{code:e,language:t,theme:n==="dark"?O_.vsDark:O_.oneLight,children:({className:r,style:i,tokens:o,getLineProps:s,getTokenProps:a})=>v.jsx("pre",{className:`${r} border-1 whitespace-pre-wrap rounded-md border border-muted p-2 text-xs`,style:{...i},children:o.map((l,c)=>v.jsx("div",{...s({line:l}),children:l.map((u,d)=>v.jsx("span",{...a({token:u})},d))},c))})})};function m7(e,t){return t||(e==="ready"?"":e==="error"?"Error":e==="streaming"?"":"Thinking...")}const b7=k.forwardRef(({input:e,handleInputChange:t,handleSubmit:n,isLoading:r,stop:i},o)=>v.jsxs("form",{onSubmit:n,className:"flex w-full items-center rounded-md border",children:[v.jsx(dc,{autoFocus:!0,ref:o,placeholder:"Type your question...",className:be("max-h-10 min-h-7 resize-none border-none focus-visible:ring-0 focus-visible:ring-ring focus-visible:ring-offset-0"),disabled:r,value:e,onChange:t}),v.jsxs("div",{className:"mr-2 flex items-center gap-2",children:[r===!0&&v.jsx(br,{size:"sm",className:"h-7 rounded-full p-2",onClick:()=>i(),children:v.jsx(uL,{className:"size-3 bg-background"})}),r===!1&&e&&v.jsx("button",{disabled:!e,className:"mr-3",children:v.jsx(mL,{className:"size-4 text-muted-foreground hover:text-foreground"})})]})]}));function t2e(){const e=k.useRef(null),[t,n]=k.useState("");k.useState(!1);const r=ye(R=>R.dashboard.aiScopeTables);Wy();const i=ye(R=>R.selectedSheetId),{addFrame:o,setSelectedFrameId:s,setIsDashboardEditing:a}=Vn(),{authToken:l}=Wi(),c=iC(),{messages:u,setMessages:d,reload:p,input:h,status:m,handleInputChange:b,handleSubmit:y,addToolResult:x,stop:w}=w9({api:"https://semaphor.cloud/api/v1/chat",headers:{Authorization:`Bearer ${l==null?void 0:l.accessToken}`},maxSteps:10,async onToolCall({toolCall:R}){if(R.toolName==="getTables")return n("Initializing..."),{tables:r||[]};if(R.toolName==="getSchemas"&&n("Analyzing..."),R.toolName==="getData"){n("Fetching..."),console.log(R.args);const T=R.args;if(!(T!=null&&T.sql)||!(T!=null&&T.connectionId))return"Please provide sql, connectionId and table";const M=await c.fetchQuery({queryKey:["chat",T.connectionId,T.sql],queryFn:()=>Cy("https://semaphor.cloud/api/v1/query",(l==null?void 0:l.accessToken)||(l==null?void 0:l.accessToken)||"",{connection_id:T.connectionId,sql:T.sql,cache_config:J_({})})});return n("Summarizing..."),{data:M,sql:T.sql}}},onFinish(R,T){n(""),console.log("onFinish",R,T),T.finishReason==="stop"&&n("")}}),_=()=>{var R;(R=e.current)==null||R.scrollIntoView({behavior:"smooth"})};k.useEffect(()=>{_()},[u]);function E({sql:R,data:T,cardCfg:M,cardTitle:L,connectionId:j,cardType:F}){if(!i)return;const $={id:Ga(),title:L||"Title",description:"Description",preferences:{onClickFilter:[{columnIndex:0,expression:""}],chartOptions:{indexAxis:F==="horizontalBar"?"y":"x"}},type:M.type,cfg:M,sql:R,data:T,connectionId:j},Q={id:Ga(),cards:[$],activeCardId:$.id};a(!0),o(i,Q,"start"),s(Q.id)}const C=!["ready","error"].includes(m);return v.jsxs("div",{role:"chat-box",className:"flex h-full grow flex-col justify-between break-words rounded-md",children:[v.jsxs("div",{className:"flex items-center justify-between gap-2 px-6 py-8",children:[v.jsxs("div",{className:"flex items-center gap-4",children:[v.jsx(Sn,{className:"flex items-center gap-2 text-xl",children:"Assistant"}),v.jsxs(Bd,{openDelay:0,children:[v.jsx(Hd,{children:v.jsx(wL,{className:"size-4 text-muted-foreground/70 hover:text-muted-foreground"})}),v.jsx(Bc,{className:"w-70 p-2",children:v.jsx("div",{className:"flex justify-between space-x-2 text-muted-foreground",children:v.jsxs("div",{children:[(r==null?void 0:r.length)===0&&v.jsx("p",{className:"text-sm",children:"No tables in scope"}),v.jsx("div",{className:"space-y-2",children:r==null?void 0:r.map((R,T)=>v.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[v.jsx(yL,{className:"size-3 text-muted-foreground/70"}),v.jsx("span",{children:vN({schemaName:R.schemaName||"",tableName:R.tableName||"",modelName:R.datamodelName||"",connectionType:R.connectionType||""})})]},T))})]})})})]})]}),v.jsx("div",{children:v.jsx(br,{className:"h-8",size:"sm",variant:"secondary",onClick:()=>{d([]),p()},children:"Clear"})})]}),v.jsx(Rp,{className:"bg-muted"}),v.jsxs(fc,{className:"flex flex-1 basis-0 flex-col flex-wrap justify-end px-6 py-6",children:[v.jsxs("div",{className:"pb-4",children:[v.jsx(g7,{messages:u,onAddToDashboard:E}),v.jsx(p7,{status:m7(m,t),isLoading:C}),v.jsx("div",{ref:e})]}),v.jsx(Mp,{orientation:"vertical"})]}),v.jsx("div",{className:"px-6 pb-8",children:v.jsx(b7,{stop:w,input:h,handleInputChange:b,handleSubmit:y,isLoading:C})})]})}const{createElement:Td,createContext:n2e,createRef:YAe,forwardRef:y7,useCallback:ci,useContext:v7,useEffect:pc,useImperativeHandle:x7,useLayoutEffect:r2e,useMemo:i2e,useRef:fi,useState:Hu}=P,PD=P[`useId${Math.random()}`.slice(0,5)],o2e=r2e,$0=n2e(null);$0.displayName="PanelGroupContext";const gc=o2e,s2e=typeof PD=="function"?PD:()=>null;let a2e=0;function e2(e=null){const t=s2e(),n=fi(e||t||null);return n.current===null&&(n.current=""+a2e++),e??n.current}function w7({children:e,className:t="",collapsedSize:n,collapsible:r,defaultSize:i,forwardedRef:o,id:s,maxSize:a,minSize:l,onCollapse:c,onExpand:u,onResize:d,order:p,style:h,tagName:m="div",...b}){const y=v7($0);if(y===null)throw Error("Panel components must be rendered within a PanelGroup container");const{collapsePanel:x,expandPanel:w,getPanelSize:_,getPanelStyle:E,groupId:C,isPanelCollapsed:R,reevaluatePanelConstraints:T,registerPanel:M,resizePanel:L,unregisterPanel:j}=y,F=e2(s),$=fi({callbacks:{onCollapse:c,onExpand:u,onResize:d},constraints:{collapsedSize:n,collapsible:r,defaultSize:i,maxSize:a,minSize:l},id:F,idIsFromProps:s!==void 0,order:p});fi({didLogMissingDefaultSizeWarning:!1}),gc(()=>{const{callbacks:H,constraints:N}=$.current,G={...N};$.current.id=F,$.current.idIsFromProps=s!==void 0,$.current.order=p,H.onCollapse=c,H.onExpand=u,H.onResize=d,N.collapsedSize=n,N.collapsible=r,N.defaultSize=i,N.maxSize=a,N.minSize=l,(G.collapsedSize!==N.collapsedSize||G.collapsible!==N.collapsible||G.maxSize!==N.maxSize||G.minSize!==N.minSize)&&T($.current,G)}),gc(()=>{const H=$.current;return M(H),()=>{j(H)}},[p,F,M,j]),x7(o,()=>({collapse:()=>{x($.current)},expand:H=>{w($.current,H)},getId(){return F},getSize(){return _($.current)},isCollapsed(){return R($.current)},isExpanded(){return!R($.current)},resize:H=>{L($.current,H)}}),[x,w,_,R,F,L]);const Q=E($.current,i);return Td(m,{...b,children:e,className:t,id:s,style:{...Q,...h},"data-panel":"","data-panel-collapsible":r||void 0,"data-panel-group-id":C,"data-panel-id":F,"data-panel-size":parseFloat(""+Q.flexGrow).toFixed(1)})}const S7=y7((e,t)=>Td(w7,{...e,forwardedRef:t}));w7.displayName="Panel";S7.displayName="forwardRef(Panel)";let D_=null,ql=null;function l2e(e,t){if(t){const n=(t&P7)!==0,r=(t&T7)!==0,i=(t&k7)!==0,o=(t&A7)!==0;if(n)return i?"se-resize":o?"ne-resize":"e-resize";if(r)return i?"sw-resize":o?"nw-resize":"w-resize";if(i)return"s-resize";if(o)return"n-resize"}switch(e){case"horizontal":return"ew-resize";case"intersection":return"move";case"vertical":return"ns-resize"}}function c2e(){ql!==null&&(document.head.removeChild(ql),D_=null,ql=null)}function e1(e,t){const n=l2e(e,t);D_!==n&&(D_=n,ql===null&&(ql=document.createElement("style"),document.head.appendChild(ql)),ql.innerHTML=`*{cursor: ${n}!important;}`)}function _7(e){return e.type==="keydown"}function C7(e){return e.type.startsWith("pointer")}function E7(e){return e.type.startsWith("mouse")}function z0(e){if(C7(e)){if(e.isPrimary)return{x:e.clientX,y:e.clientY}}else if(E7(e))return{x:e.clientX,y:e.clientY};return{x:1/0,y:1/0}}function u2e(){if(typeof matchMedia=="function")return matchMedia("(pointer:coarse)").matches?"coarse":"fine"}function d2e(e,t,n){return e.x<t.x+t.width&&e.x+e.width>t.x&&e.y<t.y+t.height&&e.y+e.height>t.y}function f2e(e,t){if(e===t)throw new Error("Cannot compare node with itself");const n={a:AD(e),b:AD(t)};let r;for(;n.a.at(-1)===n.b.at(-1);)e=n.a.pop(),t=n.b.pop(),r=e;xt(r,"Stacking order can only be calculated for elements with a common ancestor");const i={a:kD(TD(n.a)),b:kD(TD(n.b))};if(i.a===i.b){const o=r.childNodes,s={a:n.a.at(-1),b:n.b.at(-1)};let a=o.length;for(;a--;){const l=o[a];if(l===s.a)return 1;if(l===s.b)return-1}}return Math.sign(i.a-i.b)}const h2e=/\b(?:position|zIndex|opacity|transform|webkitTransform|mixBlendMode|filter|webkitFilter|isolation)\b/;function p2e(e){var t;const n=getComputedStyle((t=R7(e))!==null&&t!==void 0?t:e).display;return n==="flex"||n==="inline-flex"}function g2e(e){const t=getComputedStyle(e);return!!(t.position==="fixed"||t.zIndex!=="auto"&&(t.position!=="static"||p2e(e))||+t.opacity<1||"transform"in t&&t.transform!=="none"||"webkitTransform"in t&&t.webkitTransform!=="none"||"mixBlendMode"in t&&t.mixBlendMode!=="normal"||"filter"in t&&t.filter!=="none"||"webkitFilter"in t&&t.webkitFilter!=="none"||"isolation"in t&&t.isolation==="isolate"||h2e.test(t.willChange)||t.webkitOverflowScrolling==="touch")}function TD(e){let t=e.length;for(;t--;){const n=e[t];if(xt(n,"Missing node"),g2e(n))return n}return null}function kD(e){return e&&Number(getComputedStyle(e).zIndex)||0}function AD(e){const t=[];for(;e;)t.push(e),e=R7(e);return t}function R7(e){const{parentNode:t}=e;return t&&t instanceof ShadowRoot?t.host:t}const P7=1,T7=2,k7=4,A7=8,m2e=u2e()==="coarse";let Oo=[],Vu=!1,Ta=new Map,B0=new Map;const tp=new Set;function b2e(e,t,n,r,i){var o;const{ownerDocument:s}=t,a={direction:n,element:t,hitAreaMargins:r,setResizeHandlerState:i},l=(o=Ta.get(s))!==null&&o!==void 0?o:0;return Ta.set(s,l+1),tp.add(a),uy(),function(){var u;B0.delete(e),tp.delete(a);const d=(u=Ta.get(s))!==null&&u!==void 0?u:1;if(Ta.set(s,d-1),uy(),d===1&&Ta.delete(s),Oo.includes(a)){const p=Oo.indexOf(a);p>=0&&Oo.splice(p,1),n2(),i("up",!0,null)}}}function OD(e){const{target:t}=e,{x:n,y:r}=z0(e);Vu=!0,t2({target:t,x:n,y:r}),uy(),Oo.length>0&&(dy("down",e),e.preventDefault(),e.stopPropagation())}function Ff(e){const{x:t,y:n}=z0(e);if(Vu&&e.buttons===0&&(Vu=!1,dy("up",e)),!Vu){const{target:r}=e;t2({target:r,x:t,y:n})}dy("move",e),n2(),Oo.length>0&&e.preventDefault()}function yu(e){const{target:t}=e,{x:n,y:r}=z0(e);B0.clear(),Vu=!1,Oo.length>0&&e.preventDefault(),dy("up",e),t2({target:t,x:n,y:r}),n2(),uy()}function t2({target:e,x:t,y:n}){Oo.splice(0);let r=null;(e instanceof HTMLElement||e instanceof SVGElement)&&(r=e),tp.forEach(i=>{const{element:o,hitAreaMargins:s}=i,a=o.getBoundingClientRect(),{bottom:l,left:c,right:u,top:d}=a,p=m2e?s.coarse:s.fine;if(t>=c-p&&t<=u+p&&n>=d-p&&n<=l+p){if(r!==null&&document.contains(r)&&o!==r&&!o.contains(r)&&!r.contains(o)&&f2e(r,o)>0){let m=r,b=!1;for(;m&&!m.contains(o);){if(d2e(m.getBoundingClientRect(),a)){b=!0;break}m=m.parentElement}if(b)return}Oo.push(i)}})}function t1(e,t){B0.set(e,t)}function n2(){let e=!1,t=!1;Oo.forEach(r=>{const{direction:i}=r;i==="horizontal"?e=!0:t=!0});let n=0;B0.forEach(r=>{n|=r}),e&&t?e1("intersection",n):e?e1("horizontal",n):t?e1("vertical",n):c2e()}function uy(){Ta.forEach((e,t)=>{const{body:n}=t;n.removeEventListener("contextmenu",yu),n.removeEventListener("pointerdown",OD),n.removeEventListener("pointerleave",Ff),n.removeEventListener("pointermove",Ff)}),window.removeEventListener("pointerup",yu),window.removeEventListener("pointercancel",yu),tp.size>0&&(Vu?(Oo.length>0&&Ta.forEach((e,t)=>{const{body:n}=t;e>0&&(n.addEventListener("contextmenu",yu),n.addEventListener("pointerleave",Ff),n.addEventListener("pointermove",Ff))}),window.addEventListener("pointerup",yu),window.addEventListener("pointercancel",yu)):Ta.forEach((e,t)=>{const{body:n}=t;e>0&&(n.addEventListener("pointerdown",OD,{capture:!0}),n.addEventListener("pointermove",Ff))}))}function dy(e,t){tp.forEach(n=>{const{setResizeHandlerState:r}=n,i=Oo.includes(n);r(e,i,t)})}function y2e(){const[e,t]=Hu(0);return ci(()=>t(n=>n+1),[])}function xt(e,t){if(!e)throw console.error(t),Error(t)}const r2=10;function kc(e,t,n=r2){return e.toFixed(n)===t.toFixed(n)?0:e>t?1:-1}function qs(e,t,n=r2){return kc(e,t,n)===0}function Ii(e,t,n){return kc(e,t,n)===0}function v2e(e,t,n){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++){const i=e[r],o=t[r];if(!Ii(i,o,n))return!1}return!0}function Tu({panelConstraints:e,panelIndex:t,size:n}){const r=e[t];xt(r!=null,`Panel constraints not found for index ${t}`);let{collapsedSize:i=0,collapsible:o,maxSize:s=100,minSize:a=0}=r;if(kc(n,a)<0)if(o){const l=(i+a)/2;kc(n,l)<0?n=i:n=a}else n=a;return n=Math.min(s,n),n=parseFloat(n.toFixed(r2)),n}function eh({delta:e,initialLayout:t,panelConstraints:n,pivotIndices:r,prevLayout:i,trigger:o}){if(Ii(e,0))return t;const s=[...t],[a,l]=r;xt(a!=null,"Invalid first pivot index"),xt(l!=null,"Invalid second pivot index");let c=0;if(o==="keyboard"){{const d=e<0?l:a,p=n[d];xt(p,`Panel constraints not found for index ${d}`);const{collapsedSize:h=0,collapsible:m,minSize:b=0}=p;if(m){const y=t[d];if(xt(y!=null,`Previous layout not found for panel index ${d}`),Ii(y,h)){const x=b-y;kc(x,Math.abs(e))>0&&(e=e<0?0-x:x)}}}{const d=e<0?a:l,p=n[d];xt(p,`No panel constraints found for index ${d}`);const{collapsedSize:h=0,collapsible:m,minSize:b=0}=p;if(m){const y=t[d];if(xt(y!=null,`Previous layout not found for panel index ${d}`),Ii(y,b)){const x=y-h;kc(x,Math.abs(e))>0&&(e=e<0?0-x:x)}}}}{const d=e<0?1:-1;let p=e<0?l:a,h=0;for(;;){const b=t[p];xt(b!=null,`Previous layout not found for panel index ${p}`);const x=Tu({panelConstraints:n,panelIndex:p,size:100})-b;if(h+=x,p+=d,p<0||p>=n.length)break}const m=Math.min(Math.abs(e),Math.abs(h));e=e<0?0-m:m}{let p=e<0?a:l;for(;p>=0&&p<n.length;){const h=Math.abs(e)-Math.abs(c),m=t[p];xt(m!=null,`Previous layout not found for panel index ${p}`);const b=m-h,y=Tu({panelConstraints:n,panelIndex:p,size:b});if(!Ii(m,y)&&(c+=m-y,s[p]=y,c.toPrecision(3).localeCompare(Math.abs(e).toPrecision(3),void 0,{numeric:!0})>=0))break;e<0?p--:p++}}if(v2e(i,s))return i;{const d=e<0?l:a,p=t[d];xt(p!=null,`Previous layout not found for panel index ${d}`);const h=p+c,m=Tu({panelConstraints:n,panelIndex:d,size:h});if(s[d]=m,!Ii(m,h)){let b=h-m,x=e<0?l:a;for(;x>=0&&x<n.length;){const w=s[x];xt(w!=null,`Previous layout not found for panel index ${x}`);const _=w+b,E=Tu({panelConstraints:n,panelIndex:x,size:_});if(Ii(w,E)||(b-=E-w,s[x]=E),Ii(b,0))break;e>0?x--:x++}}}const u=s.reduce((d,p)=>p+d,0);return Ii(u,100)?s:i}function x2e({layout:e,panelsArray:t,pivotIndices:n}){let r=0,i=100,o=0,s=0;const a=n[0];xt(a!=null,"No pivot index found"),t.forEach((d,p)=>{const{constraints:h}=d,{maxSize:m=100,minSize:b=0}=h;p===a?(r=b,i=m):(o+=b,s+=m)});const l=Math.min(i,100-o),c=Math.max(r,100-s),u=e[a];return{valueMax:l,valueMin:c,valueNow:u}}function np(e,t=document){return Array.from(t.querySelectorAll(`[data-panel-resize-handle-id][data-panel-group-id="${e}"]`))}function O7(e,t,n=document){const i=np(e,n).findIndex(o=>o.getAttribute("data-panel-resize-handle-id")===t);return i??null}function M7(e,t,n){const r=O7(e,t,n);return r!=null?[r,r+1]:[-1,-1]}function I7(e,t=document){var n;if(t instanceof HTMLElement&&(t==null||(n=t.dataset)===null||n===void 0?void 0:n.panelGroupId)==e)return t;const r=t.querySelector(`[data-panel-group][data-panel-group-id="${e}"]`);return r||null}function H0(e,t=document){const n=t.querySelector(`[data-panel-resize-handle-id="${e}"]`);return n||null}function w2e(e,t,n,r=document){var i,o,s,a;const l=H0(t,r),c=np(e,r),u=l?c.indexOf(l):-1,d=(i=(o=n[u])===null||o===void 0?void 0:o.id)!==null&&i!==void 0?i:null,p=(s=(a=n[u+1])===null||a===void 0?void 0:a.id)!==null&&s!==void 0?s:null;return[d,p]}function S2e({committedValuesRef:e,eagerValuesRef:t,groupId:n,layout:r,panelDataArray:i,panelGroupElement:o,setLayout:s}){fi({didWarnAboutMissingResizeHandle:!1}),gc(()=>{if(!o)return;const a=np(n,o);for(let l=0;l<i.length-1;l++){const{valueMax:c,valueMin:u,valueNow:d}=x2e({layout:r,panelsArray:i,pivotIndices:[l,l+1]}),p=a[l];if(p!=null){const h=i[l];xt(h,`No panel data found for index "${l}"`),p.setAttribute("aria-controls",h.id),p.setAttribute("aria-valuemax",""+Math.round(c)),p.setAttribute("aria-valuemin",""+Math.round(u)),p.setAttribute("aria-valuenow",d!=null?""+Math.round(d):"")}}return()=>{a.forEach((l,c)=>{l.removeAttribute("aria-controls"),l.removeAttribute("aria-valuemax"),l.removeAttribute("aria-valuemin"),l.removeAttribute("aria-valuenow")})}},[n,r,i,o]),pc(()=>{if(!o)return;const a=t.current;xt(a,"Eager values not found");const{panelDataArray:l}=a,c=I7(n,o);xt(c!=null,`No group found for id "${n}"`);const u=np(n,o);xt(u,`No resize handles found for group id "${n}"`);const d=u.map(p=>{const h=p.getAttribute("data-panel-resize-handle-id");xt(h,"Resize handle element has no handle id attribute");const[m,b]=w2e(n,h,l,o);if(m==null||b==null)return()=>{};const y=x=>{if(!x.defaultPrevented)switch(x.key){case"Enter":{x.preventDefault();const w=l.findIndex(_=>_.id===m);if(w>=0){const _=l[w];xt(_,`No panel data found for index ${w}`);const E=r[w],{collapsedSize:C=0,collapsible:R,minSize:T=0}=_.constraints;if(E!=null&&R){const M=eh({delta:Ii(E,C)?T-C:C-E,initialLayout:r,panelConstraints:l.map(L=>L.constraints),pivotIndices:M7(n,h,o),prevLayout:r,trigger:"keyboard"});r!==M&&s(M)}}break}}};return p.addEventListener("keydown",y),()=>{p.removeEventListener("keydown",y)}});return()=>{d.forEach(p=>p())}},[o,e,t,n,r,i,s])}function MD(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function D7(e,t){const n=e==="horizontal",{x:r,y:i}=z0(t);return n?r:i}function _2e(e,t,n,r,i){const o=n==="horizontal",s=H0(t,i);xt(s,`No resize handle element found for id "${t}"`);const a=s.getAttribute("data-panel-group-id");xt(a,"Resize handle element has no group id attribute");let{initialCursorPosition:l}=r;const c=D7(n,e),u=I7(a,i);xt(u,`No group element found for id "${a}"`);const d=u.getBoundingClientRect(),p=o?d.width:d.height;return(c-l)/p*100}function C2e(e,t,n,r,i,o){if(_7(e)){const s=n==="horizontal";let a=0;e.shiftKey?a=100:i!=null?a=i:a=10;let l=0;switch(e.key){case"ArrowDown":l=s?0:a;break;case"ArrowLeft":l=s?-a:0;break;case"ArrowRight":l=s?a:0;break;case"ArrowUp":l=s?0:-a;break;case"End":l=100;break;case"Home":l=-100;break}return l}else return r==null?0:_2e(e,t,n,r,o)}function E2e({panelDataArray:e}){const t=Array(e.length),n=e.map(o=>o.constraints);let r=0,i=100;for(let o=0;o<e.length;o++){const s=n[o];xt(s,`Panel constraints not found for index ${o}`);const{defaultSize:a}=s;a!=null&&(r++,t[o]=a,i-=a)}for(let o=0;o<e.length;o++){const s=n[o];xt(s,`Panel constraints not found for index ${o}`);const{defaultSize:a}=s;if(a!=null)continue;const l=e.length-r,c=i/l;r++,t[o]=c,i-=c}return t}function vu(e,t,n){t.forEach((r,i)=>{const o=e[i];xt(o,`Panel data not found for index ${i}`);const{callbacks:s,constraints:a,id:l}=o,{collapsedSize:c=0,collapsible:u}=a,d=n[l];if(d==null||r!==d){n[l]=r;const{onCollapse:p,onExpand:h,onResize:m}=s;m&&m(r,d),u&&(p||h)&&(h&&(d==null||qs(d,c))&&!qs(r,c)&&h(),p&&(d==null||!qs(d,c))&&qs(r,c)&&p())}})}function $m(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!=t[n])return!1;return!0}function R2e({defaultSize:e,dragState:t,layout:n,panelData:r,panelIndex:i,precision:o=3}){const s=n[i];let a;return s==null?a=e!=null?e.toPrecision(o):"1":r.length===1?a="1":a=s.toPrecision(o),{flexBasis:0,flexGrow:a,flexShrink:1,overflow:"hidden",pointerEvents:t!==null?"none":void 0}}function P2e(e,t=10){let n=null;return(...i)=>{n!==null&&clearTimeout(n),n=setTimeout(()=>{e(...i)},t)}}function ID(e){try{if(typeof localStorage<"u")e.getItem=t=>localStorage.getItem(t),e.setItem=(t,n)=>{localStorage.setItem(t,n)};else throw new Error("localStorage not supported in this environment")}catch(t){console.error(t),e.getItem=()=>null,e.setItem=()=>{}}}function N7(e){return`react-resizable-panels:${e}`}function L7(e){return e.map(t=>{const{constraints:n,id:r,idIsFromProps:i,order:o}=t;return i?r:o?`${o}:${JSON.stringify(n)}`:JSON.stringify(n)}).sort((t,n)=>t.localeCompare(n)).join(",")}function F7(e,t){try{const n=N7(e),r=t.getItem(n);if(r){const i=JSON.parse(r);if(typeof i=="object"&&i!=null)return i}}catch{}return null}function T2e(e,t,n){var r,i;const o=(r=F7(e,n))!==null&&r!==void 0?r:{},s=L7(t);return(i=o[s])!==null&&i!==void 0?i:null}function k2e(e,t,n,r,i){var o;const s=N7(e),a=L7(t),l=(o=F7(e,i))!==null&&o!==void 0?o:{};l[a]={expandToSizes:Object.fromEntries(n.entries()),layout:r};try{i.setItem(s,JSON.stringify(l))}catch(c){console.error(c)}}function DD({layout:e,panelConstraints:t}){const n=[...e],r=n.reduce((o,s)=>o+s,0);if(n.length!==t.length)throw Error(`Invalid ${t.length} panel layout: ${n.map(o=>`${o}%`).join(", ")}`);if(!Ii(r,100)&&n.length>0)for(let o=0;o<t.length;o++){const s=n[o];xt(s!=null,`No layout data found for index ${o}`);const a=100/r*s;n[o]=a}let i=0;for(let o=0;o<t.length;o++){const s=n[o];xt(s!=null,`No layout data found for index ${o}`);const a=Tu({panelConstraints:t,panelIndex:o,size:s});s!=a&&(i+=s-a,n[o]=a)}if(!Ii(i,0))for(let o=0;o<t.length;o++){const s=n[o];xt(s!=null,`No layout data found for index ${o}`);const a=s+i,l=Tu({panelConstraints:t,panelIndex:o,size:a});if(s!==l&&(i-=l-s,n[o]=l,Ii(i,0)))break}return n}const A2e=100,th={getItem:e=>(ID(th),th.getItem(e)),setItem:(e,t)=>{ID(th),th.setItem(e,t)}},ND={};function j7({autoSaveId:e=null,children:t,className:n="",direction:r,forwardedRef:i,id:o=null,onLayout:s=null,keyboardResizeBy:a=null,storage:l=th,style:c,tagName:u="div",...d}){const p=e2(o),h=fi(null),[m,b]=Hu(null),[y,x]=Hu([]),w=y2e(),_=fi({}),E=fi(new Map),C=fi(0),R=fi({autoSaveId:e,direction:r,dragState:m,id:p,keyboardResizeBy:a,onLayout:s,storage:l}),T=fi({layout:y,panelDataArray:[],panelDataArrayChanged:!1});fi({didLogIdAndOrderWarning:!1,didLogPanelConstraintsWarning:!1,prevPanelIds:[]}),x7(i,()=>({getId:()=>R.current.id,getLayout:()=>{const{layout:O}=T.current;return O},setLayout:O=>{const{onLayout:ee}=R.current,{layout:K,panelDataArray:oe}=T.current,X=DD({layout:O,panelConstraints:oe.map(J=>J.constraints)});MD(K,X)||(x(X),T.current.layout=X,ee&&ee(X),vu(oe,X,_.current))}}),[]),gc(()=>{R.current.autoSaveId=e,R.current.direction=r,R.current.dragState=m,R.current.id=p,R.current.onLayout=s,R.current.storage=l}),S2e({committedValuesRef:R,eagerValuesRef:T,groupId:p,layout:y,panelDataArray:T.current.panelDataArray,setLayout:x,panelGroupElement:h.current}),pc(()=>{const{panelDataArray:O}=T.current;if(e){if(y.length===0||y.length!==O.length)return;let ee=ND[e];ee==null&&(ee=P2e(k2e,A2e),ND[e]=ee);const K=[...O],oe=new Map(E.current);ee(e,K,oe,y,l)}},[e,y,l]),pc(()=>{});const M=ci(O=>{const{onLayout:ee}=R.current,{layout:K,panelDataArray:oe}=T.current;if(O.constraints.collapsible){const X=oe.map(ge=>ge.constraints),{collapsedSize:J=0,panelSize:se,pivotIndices:le}=Tl(oe,O,K);if(xt(se!=null,`Panel size not found for panel "${O.id}"`),!qs(se,J)){E.current.set(O.id,se);const ie=wu(oe,O)===oe.length-1?se-J:J-se,pe=eh({delta:ie,initialLayout:K,panelConstraints:X,pivotIndices:le,prevLayout:K,trigger:"imperative-api"});$m(K,pe)||(x(pe),T.current.layout=pe,ee&&ee(pe),vu(oe,pe,_.current))}}},[]),L=ci((O,ee)=>{const{onLayout:K}=R.current,{layout:oe,panelDataArray:X}=T.current;if(O.constraints.collapsible){const J=X.map(he=>he.constraints),{collapsedSize:se=0,panelSize:le=0,minSize:ge=0,pivotIndices:ie}=Tl(X,O,oe),pe=ee??ge;if(qs(le,se)){const he=E.current.get(O.id),Re=he!=null&&he>=pe?he:pe,Fe=wu(X,O)===X.length-1?le-Re:Re-le,ke=eh({delta:Fe,initialLayout:oe,panelConstraints:J,pivotIndices:ie,prevLayout:oe,trigger:"imperative-api"});$m(oe,ke)||(x(ke),T.current.layout=ke,K&&K(ke),vu(X,ke,_.current))}}},[]),j=ci(O=>{const{layout:ee,panelDataArray:K}=T.current,{panelSize:oe}=Tl(K,O,ee);return xt(oe!=null,`Panel size not found for panel "${O.id}"`),oe},[]),F=ci((O,ee)=>{const{panelDataArray:K}=T.current,oe=wu(K,O);return R2e({defaultSize:ee,dragState:m,layout:y,panelData:K,panelIndex:oe})},[m,y]),$=ci(O=>{const{layout:ee,panelDataArray:K}=T.current,{collapsedSize:oe=0,collapsible:X,panelSize:J}=Tl(K,O,ee);return xt(J!=null,`Panel size not found for panel "${O.id}"`),X===!0&&qs(J,oe)},[]),Q=ci(O=>{const{layout:ee,panelDataArray:K}=T.current,{collapsedSize:oe=0,collapsible:X,panelSize:J}=Tl(K,O,ee);return xt(J!=null,`Panel size not found for panel "${O.id}"`),!X||kc(J,oe)>0},[]),H=ci(O=>{const{panelDataArray:ee}=T.current;ee.push(O),ee.sort((K,oe)=>{const X=K.order,J=oe.order;return X==null&&J==null?0:X==null?-1:J==null?1:X-J}),T.current.panelDataArrayChanged=!0,w()},[w]);gc(()=>{if(T.current.panelDataArrayChanged){T.current.panelDataArrayChanged=!1;const{autoSaveId:O,onLayout:ee,storage:K}=R.current,{layout:oe,panelDataArray:X}=T.current;let J=null;if(O){const le=T2e(O,X,K);le&&(E.current=new Map(Object.entries(le.expandToSizes)),J=le.layout)}J==null&&(J=E2e({panelDataArray:X}));const se=DD({layout:J,panelConstraints:X.map(le=>le.constraints)});MD(oe,se)||(x(se),T.current.layout=se,ee&&ee(se),vu(X,se,_.current))}}),gc(()=>{const O=T.current;return()=>{O.layout=[]}},[]);const N=ci(O=>{let ee=!1;const K=h.current;return K&&window.getComputedStyle(K,null).getPropertyValue("direction")==="rtl"&&(ee=!0),function(X){X.preventDefault();const J=h.current;if(!J)return()=>null;const{direction:se,dragState:le,id:ge,keyboardResizeBy:ie,onLayout:pe}=R.current,{layout:he,panelDataArray:Re}=T.current,{initialLayout:Oe}=le??{},Fe=M7(ge,O,J);let ke=C2e(X,O,se,le,ie,J);const Be=se==="horizontal";Be&&ee&&(ke=-ke);const dt=Re.map(mt=>mt.constraints),Ct=eh({delta:ke,initialLayout:Oe??he,panelConstraints:dt,pivotIndices:Fe,prevLayout:he,trigger:_7(X)?"keyboard":"mouse-or-touch"}),an=!$m(he,Ct);(C7(X)||E7(X))&&C.current!=ke&&(C.current=ke,!an&&ke!==0?Be?t1(O,ke<0?P7:T7):t1(O,ke<0?k7:A7):t1(O,0)),an&&(x(Ct),T.current.layout=Ct,pe&&pe(Ct),vu(Re,Ct,_.current))}},[]),G=ci((O,ee)=>{const{onLayout:K}=R.current,{layout:oe,panelDataArray:X}=T.current,J=X.map(he=>he.constraints),{panelSize:se,pivotIndices:le}=Tl(X,O,oe);xt(se!=null,`Panel size not found for panel "${O.id}"`);const ie=wu(X,O)===X.length-1?se-ee:ee-se,pe=eh({delta:ie,initialLayout:oe,panelConstraints:J,pivotIndices:le,prevLayout:oe,trigger:"imperative-api"});$m(oe,pe)||(x(pe),T.current.layout=pe,K&&K(pe),vu(X,pe,_.current))},[]),B=ci((O,ee)=>{const{layout:K,panelDataArray:oe}=T.current,{collapsedSize:X=0,collapsible:J}=ee,{collapsedSize:se=0,collapsible:le,maxSize:ge=100,minSize:ie=0}=O.constraints,{panelSize:pe}=Tl(oe,O,K);pe!=null&&(J&&le&&qs(pe,X)?qs(X,se)||G(O,se):pe<ie?G(O,ie):pe>ge&&G(O,ge))},[G]),W=ci((O,ee)=>{const{direction:K}=R.current,{layout:oe}=T.current;if(!h.current)return;const X=H0(O,h.current);xt(X,`Drag handle element not found for id "${O}"`);const J=D7(K,ee);b({dragHandleId:O,dragHandleRect:X.getBoundingClientRect(),initialCursorPosition:J,initialLayout:oe})},[]),q=ci(()=>{b(null)},[]),I=ci(O=>{const{panelDataArray:ee}=T.current,K=wu(ee,O);K>=0&&(ee.splice(K,1),delete _.current[O.id],T.current.panelDataArrayChanged=!0,w())},[w]),Y=i2e(()=>({collapsePanel:M,direction:r,dragState:m,expandPanel:L,getPanelSize:j,getPanelStyle:F,groupId:p,isPanelCollapsed:$,isPanelExpanded:Q,reevaluatePanelConstraints:B,registerPanel:H,registerResizeHandle:N,resizePanel:G,startDragging:W,stopDragging:q,unregisterPanel:I,panelGroupElement:h.current}),[M,m,r,L,j,F,p,$,Q,B,H,N,G,W,q,I]),U={display:"flex",flexDirection:r==="horizontal"?"row":"column",height:"100%",overflow:"hidden",width:"100%"};return Td($0.Provider,{value:Y},Td(u,{...d,children:t,className:n,id:o,ref:h,style:{...U,...c},"data-panel-group":"","data-panel-group-direction":r,"data-panel-group-id":p}))}const $7=y7((e,t)=>Td(j7,{...e,forwardedRef:t}));j7.displayName="PanelGroup";$7.displayName="forwardRef(PanelGroup)";function wu(e,t){return e.findIndex(n=>n===t||n.id===t.id)}function Tl(e,t,n){const r=wu(e,t),o=r===e.length-1?[r-1,r]:[r,r+1],s=n[r];return{...t.constraints,panelSize:s,pivotIndices:o}}function O2e({disabled:e,handleId:t,resizeHandler:n,panelGroupElement:r}){pc(()=>{if(e||n==null||r==null)return;const i=H0(t,r);if(i==null)return;const o=s=>{if(!s.defaultPrevented)switch(s.key){case"ArrowDown":case"ArrowLeft":case"ArrowRight":case"ArrowUp":case"End":case"Home":{s.preventDefault(),n(s);break}case"F6":{s.preventDefault();const a=i.getAttribute("data-panel-group-id");xt(a,`No group element found for id "${a}"`);const l=np(a,r),c=O7(a,t,r);xt(c!==null,`No resize element found for id "${t}"`);const u=s.shiftKey?c>0?c-1:l.length-1:c+1<l.length?c+1:0;l[u].focus();break}}};return i.addEventListener("keydown",o),()=>{i.removeEventListener("keydown",o)}},[r,e,t,n])}function i2({children:e=null,className:t="",disabled:n=!1,hitAreaMargins:r,id:i,onBlur:o,onDragging:s,onFocus:a,style:l={},tabIndex:c=0,tagName:u="div",...d}){var p,h;const m=fi(null),b=fi({onDragging:s});pc(()=>{b.current.onDragging=s});const y=v7($0);if(y===null)throw Error("PanelResizeHandle components must be rendered within a PanelGroup container");const{direction:x,groupId:w,registerResizeHandle:_,startDragging:E,stopDragging:C,panelGroupElement:R}=y,T=e2(i),[M,L]=Hu("inactive"),[j,F]=Hu(!1),[$,Q]=Hu(null),H=fi({state:M});gc(()=>{H.current.state=M}),pc(()=>{if(n)Q(null);else{const W=_(T);Q(()=>W)}},[n,T,_]);const N=(p=r==null?void 0:r.coarse)!==null&&p!==void 0?p:15,G=(h=r==null?void 0:r.fine)!==null&&h!==void 0?h:5;return pc(()=>{if(n||$==null)return;const W=m.current;return xt(W,"Element ref not attached"),b2e(T,W,x,{coarse:N,fine:G},(I,Y,U)=>{if(Y)switch(I){case"down":{L("drag"),xt(U,'Expected event to be defined for "down" action'),E(T,U);const{onDragging:O}=b.current;O&&O(!0);break}case"move":{const{state:O}=H.current;O!=="drag"&&L("hover"),xt(U,'Expected event to be defined for "move" action'),$(U);break}case"up":{L("hover"),C();const{onDragging:O}=b.current;O&&O(!1);break}}else L("inactive")})},[N,x,n,G,_,T,$,E,C]),O2e({disabled:n,handleId:T,resizeHandler:$,panelGroupElement:R}),Td(u,{...d,children:e,className:t,id:i,onBlur:()=>{F(!1),o==null||o()},onFocus:()=>{F(!0),a==null||a()},ref:m,role:"separator",style:{...{touchAction:"none",userSelect:"none"},...l},tabIndex:c,"data-panel-group-direction":x,"data-panel-group-id":w,"data-resize-handle":"","data-resize-handle-active":M==="drag"?"pointer":j?"keyboard":void 0,"data-resize-handle-state":M,"data-panel-resize-handle-enabled":!n,"data-panel-resize-handle-id":T})}i2.displayName="PanelResizeHandle";const z7=({className:e,...t})=>v.jsx($7,{className:be("flex h-full w-full data-[panel-group-direction=vertical]:flex-col",e),...t}),N_=S7,M2e=({withHandle:e,className:t,...n})=>v.jsx(i2,{className:be("relative flex w-px items-center justify-center bg-border after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-1 data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:-translate-y-1/2 data-[panel-group-direction=vertical]:after:translate-x-0 [&[data-panel-group-direction=vertical]>div]:rotate-90",t),...n,children:e&&v.jsx("div",{className:"z-10 flex h-4 w-3 items-center justify-center rounded-sm border bg-border",children:v.jsx(oL,{className:"h-2.5 w-2.5"})})}),I2e=({withHandle:e,className:t,onTabClick:n,open:r,...i})=>v.jsx(i2,{className:be("relative flex w-px items-start justify-end bg-border after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-1 data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:-translate-y-1/2 data-[panel-group-direction=vertical]:after:translate-x-0 [&[data-panel-group-direction=vertical]>div]:rotate-90",{"justify-start":r},t),...i,children:e&&v.jsx("div",{className:be("z-50 flex items-center justify-start",{"border-l":r}),children:v.jsx(br,{variant:"secondary",className:be("h-7 p-0.5",{"rounded-bl-none rounded-br-md rounded-tl-none rounded-tr-md":r,"mt-0 rounded-bl-md rounded-br-none rounded-tl-md rounded-tr-none":!r}),onClick:()=>n(!r),children:r?v.jsx(Gy,{className:"size-4"}):v.jsx(FC,{className:"size-4"})})})});var o2="Dialog",[B7,H7]=nr(o2),[D2e,Lo]=B7(o2),V7=e=>{const{__scopeDialog:t,children:n,open:r,defaultOpen:i,onOpenChange:o,modal:s=!0}=e,a=P.useRef(null),l=P.useRef(null),[c=!1,u]=Dr({prop:r,defaultProp:i,onChange:o});return v.jsx(D2e,{scope:t,triggerRef:a,contentRef:l,contentId:Yn(),titleId:Yn(),descriptionId:Yn(),open:c,onOpenChange:u,onOpenToggle:P.useCallback(()=>u(d=>!d),[u]),modal:s,children:n})};V7.displayName=o2;var W7="DialogTrigger",U7=P.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,i=Lo(W7,n),o=it(t,i.triggerRef);return v.jsx(Le.button,{type:"button","aria-haspopup":"dialog","aria-expanded":i.open,"aria-controls":i.contentId,"data-state":l2(i.open),...r,ref:o,onClick:Pe(e.onClick,i.onOpenToggle)})});U7.displayName=W7;var s2="DialogPortal",[N2e,G7]=B7(s2,{forceMount:void 0}),q7=e=>{const{__scopeDialog:t,forceMount:n,children:r,container:i}=e,o=Lo(s2,t);return v.jsx(N2e,{scope:t,forceMount:n,children:P.Children.map(r,s=>v.jsx(Kn,{present:n||o.open,children:v.jsx(Ep,{asChild:!0,container:i,children:s})}))})};q7.displayName=s2;var fy="DialogOverlay",Y7=P.forwardRef((e,t)=>{const n=G7(fy,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,o=Lo(fy,e.__scopeDialog);return o.modal?v.jsx(Kn,{present:r||o.open,children:v.jsx(L2e,{...i,ref:t})}):null});Y7.displayName=fy;var L2e=P.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,i=Lo(fy,n);return v.jsx(Tp,{as:ea,allowPinchZoom:!0,shards:[i.contentRef],children:v.jsx(Le.div,{"data-state":l2(i.open),...r,ref:t,style:{pointerEvents:"auto",...r.style}})})}),Ac="DialogContent",K7=P.forwardRef((e,t)=>{const n=G7(Ac,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,o=Lo(Ac,e.__scopeDialog);return v.jsx(Kn,{present:r||o.open,children:o.modal?v.jsx(F2e,{...i,ref:t}):v.jsx(j2e,{...i,ref:t})})});K7.displayName=Ac;var F2e=P.forwardRef((e,t)=>{const n=Lo(Ac,e.__scopeDialog),r=P.useRef(null),i=it(t,n.contentRef,r);return P.useEffect(()=>{const o=r.current;if(o)return g0(o)},[]),v.jsx(X7,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:Pe(e.onCloseAutoFocus,o=>{var s;o.preventDefault(),(s=n.triggerRef.current)==null||s.focus()}),onPointerDownOutside:Pe(e.onPointerDownOutside,o=>{const s=o.detail.originalEvent,a=s.button===0&&s.ctrlKey===!0;(s.button===2||a)&&o.preventDefault()}),onFocusOutside:Pe(e.onFocusOutside,o=>o.preventDefault())})}),j2e=P.forwardRef((e,t)=>{const n=Lo(Ac,e.__scopeDialog),r=P.useRef(!1),i=P.useRef(!1);return v.jsx(X7,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:o=>{var s,a;(s=e.onCloseAutoFocus)==null||s.call(e,o),o.defaultPrevented||(r.current||(a=n.triggerRef.current)==null||a.focus(),o.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:o=>{var l,c;(l=e.onInteractOutside)==null||l.call(e,o),o.defaultPrevented||(r.current=!0,o.detail.originalEvent.type==="pointerdown"&&(i.current=!0));const s=o.target;((c=n.triggerRef.current)==null?void 0:c.contains(s))&&o.preventDefault(),o.detail.originalEvent.type==="focusin"&&i.current&&o.preventDefault()}})}),X7=P.forwardRef((e,t)=>{const{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:o,...s}=e,a=Lo(Ac,n),l=P.useRef(null),c=it(t,l);return h0(),v.jsxs(v.Fragment,{children:[v.jsx(Pp,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:o,children:v.jsx(zc,{role:"dialog",id:a.contentId,"aria-describedby":a.descriptionId,"aria-labelledby":a.titleId,"data-state":l2(a.open),...s,ref:c,onDismiss:()=>a.onOpenChange(!1)})}),v.jsxs(v.Fragment,{children:[v.jsx(z2e,{titleId:a.titleId}),v.jsx(H2e,{contentRef:l,descriptionId:a.descriptionId})]})]})}),a2="DialogTitle",Q7=P.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,i=Lo(a2,n);return v.jsx(Le.h2,{id:i.titleId,...r,ref:t})});Q7.displayName=a2;var Z7="DialogDescription",J7=P.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,i=Lo(Z7,n);return v.jsx(Le.p,{id:i.descriptionId,...r,ref:t})});J7.displayName=Z7;var e$="DialogClose",t$=P.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,i=Lo(e$,n);return v.jsx(Le.button,{type:"button",...r,ref:t,onClick:Pe(e.onClick,()=>i.onOpenChange(!1))})});t$.displayName=e$;function l2(e){return e?"open":"closed"}var n$="DialogTitleWarning",[$2e,r$]=ZX(n$,{contentName:Ac,titleName:a2,docsSlug:"dialog"}),z2e=({titleId:e})=>{const t=r$(n$),n=`\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users.
|
|
415
|
+
*/function XRe({message:e,onAddToDashboard:t}){var o;const n=(o=e==null?void 0:e.parts)==null?void 0:o.filter(s=>s.type==="tool-invocation"&&s.toolInvocation.toolName==="getData"&&s.toolInvocation.state==="result");if(!n)return null;const i=n.map(s=>s.toolInvocation).map(s=>{const l=s.result.data.records;return{chartCfg:vE({cardType:s.args.chartType,data:l}),chartTitle:s.args.chartTitle,chartType:s.args.chartType,sql:s.args.sql,data:l,connectionId:s.args.connectionId}});return i.length===0?null:v.jsx("div",{className:"",children:i.map((s,a)=>v.jsxs("div",{className:"relative isolate flex h-[350px] w-[99%] grow flex-col",children:[v.jsxs(br,{className:"absolute right-0 top-0 z-10 h-8 p-2",onClick:()=>{t==null||t({sql:s.sql,data:s.data,cardCfg:s.chartCfg,cardTitle:s.chartTitle,connectionId:s.connectionId,cardType:s.chartType})},size:"sm",variant:"outline",children:[v.jsx(qy,{className:"mr-1 size-4"}),"Add"]}),v.jsx(qE,{cfg:s.chartCfg})]},a))})}function QRe({message:e,showTools:t}){var r;if(!t)return null;const n=(r=e==null?void 0:e.parts)==null?void 0:r.filter(i=>i.type==="tool-invocation");return v.jsx("div",{className:"space-y-3",children:n==null?void 0:n.map((i,o)=>{const s=i.toolInvocation;return v.jsxs(g1e,{children:[v.jsxs(m1e,{className:"rounded-md bg-green-200 p-1 px-2 font-mono text-xs text-black",children:[v.jsx("span",{className:"font-bold",children:"Tool:"})," ",s.toolName]}),v.jsx(b1e,{className:"mt-2 font-mono text-xs",children:v.jsxs("div",{className:"space-y-2 px-2",children:[v.jsxs("div",{className:"space-y-1",children:[v.jsx("span",{children:"Args:"}),v.jsx(I_,{language:"json",code:JSON.stringify(s.args,null,2)})]}),v.jsxs("div",{className:"space-y-1",children:[v.jsx("span",{children:"Result:"}),v.jsx(I_,{language:"json",code:JSON.stringify(s.result,null,2)})]})]})})]},o)})})}function ZRe({message:e}){return e.role!=="user"?null:v.jsxs("div",{className:"rounded-md bg-muted/50 p-3 text-sm",children:[v.jsx(xL,{className:"float-left mr-2 size-4"}),v.jsx("div",{children:e.content})]})}function JRe({message:e,handleRun:t}){if(e.role!=="assistant")return null;const n={p:({node:r,...i})=>v.jsx("p",{className:"text-sm",...i}),code:({node:r,...i})=>v.jsx("code",{className:"rounded-md bg-muted px-2 py-1 text-xs",...i}),pre:r=>v.jsx(e2e,{...r,handleRun:t}),li:({node:r,...i})=>v.jsx("li",{className:"my-2 list-outside pl-4 text-sm",...i})};return v.jsx(WEe,{components:n,children:e.content.replace(/DuckDB/gi,"Semaphor")})}function p7({status:e,isLoading:t}){return t?v.jsx("div",{className:"flex items-center text-xs text-muted-foreground",children:e}):null}function g7({messages:e,showTools:t=!1,handleRun:n,onAddToDashboard:r}){return e==null?void 0:e.map(i=>v.jsxs("div",{className:be("relative my-4 space-y-4 text-sm text-foreground/80"),children:[v.jsx(ZRe,{message:i}),v.jsx(QRe,{message:i,showTools:t}),v.jsx(XRe,{onAddToDashboard:r,message:i}),v.jsx(JRe,{message:i,handleRun:n})]},i.id))}function e2e({children:e,handleRun:t}){const[n,r]=k.useState(!1);k.useRef(null);const i=()=>{navigator.clipboard.writeText(o).then(()=>{r(!0),setTimeout(()=>r(!1),2e3)})},o=M_(e);return v.jsxs("pre",{className:"relative my-2 space-y-2 rounded-md bg-muted/50",children:[v.jsxs("div",{className:"float-right m-1.5",children:[v.jsx(br,{className:"h-8 p-2 text-xs text-muted-foreground hover:text-foreground",onClick:i,size:"sm",variant:"ghost",children:n?v.jsx(jc,{className:"size-3"}):v.jsx($C,{className:"size-3"})}),v.jsx(br,{className:"h-8 p-2 text-muted-foreground hover:text-foreground",onClick:()=>t==null?void 0:t(o),size:"sm",variant:"ghost",children:v.jsx(hL,{className:"size-3"})})]}),v.jsx(I_,{code:o})]})}function M_(e){return typeof e=="string"?e:Array.isArray(e)?e.map(M_).join(""):k.isValidElement(e)?M_(e.props.children):""}const I_=({code:e,language:t="sql"})=>{const n=ye(r=>r.theme);return v.jsx(KRe,{code:e,language:t,theme:n==="dark"?O_.vsDark:O_.oneLight,children:({className:r,style:i,tokens:o,getLineProps:s,getTokenProps:a})=>v.jsx("pre",{className:`${r} border-1 whitespace-pre-wrap rounded-md border border-muted p-2 text-xs`,style:{...i},children:o.map((l,c)=>v.jsx("div",{...s({line:l}),children:l.map((u,d)=>v.jsx("span",{...a({token:u})},d))},c))})})};function m7(e,t){return t||(e==="ready"?"":e==="error"?"Error":e==="streaming"?"":"Thinking...")}const b7=k.forwardRef(({input:e,handleInputChange:t,handleSubmit:n,isLoading:r,stop:i},o)=>v.jsxs("form",{onSubmit:n,className:"flex w-full items-center rounded-md border",children:[v.jsx(dc,{autoFocus:!0,ref:o,placeholder:"Type your question...",className:be("max-h-10 min-h-7 resize-none border-none focus-visible:ring-0 focus-visible:ring-ring focus-visible:ring-offset-0"),disabled:r,value:e,onChange:t}),v.jsxs("div",{className:"mr-2 flex items-center gap-2",children:[r===!0&&v.jsx(br,{size:"sm",className:"h-7 rounded-full p-2",onClick:()=>i(),children:v.jsx(uL,{className:"size-3 bg-background"})}),r===!1&&e&&v.jsx("button",{disabled:!e,className:"mr-3",children:v.jsx(mL,{className:"size-4 text-muted-foreground hover:text-foreground"})})]})]}));function t2e(){const e=k.useRef(null),[t,n]=k.useState("");k.useState(!1);const r=ye(R=>R.dashboard.aiScopeTables);Wy();const i=ye(R=>R.selectedSheetId),{addFrame:o,setSelectedFrameId:s,setIsDashboardEditing:a}=Vn(),{authToken:l}=Wi(),c=iC(),{messages:u,setMessages:d,reload:p,input:h,status:m,handleInputChange:b,handleSubmit:y,addToolResult:x,stop:w}=w9({api:"https://semaphor.cloud/api/v1/chat",headers:{Authorization:`Bearer ${l==null?void 0:l.accessToken}`},maxSteps:10,async onToolCall({toolCall:R}){if(R.toolName==="getTables")return n("Initializing..."),{tables:r||[]};if(R.toolName==="getSchemas"&&n("Analyzing..."),R.toolName==="getData"){n("Fetching..."),console.log(R.args);const T=R.args;if(!(T!=null&&T.sql)||!(T!=null&&T.connectionId))return"Please provide sql, connectionId and table";const M=await c.fetchQuery({queryKey:["chat",T.connectionId,T.sql],queryFn:()=>Cy("https://semaphor.cloud/api/v1/query",(l==null?void 0:l.accessToken)||(l==null?void 0:l.accessToken)||"",{connection_id:T.connectionId,sql:T.sql,cache_config:J_({})})});return n("Summarizing..."),{data:M,sql:T.sql}}},onFinish(R,T){n(""),console.log("onFinish",R,T),T.finishReason==="stop"&&n("")}}),_=()=>{var R;(R=e.current)==null||R.scrollIntoView({behavior:"smooth"})};k.useEffect(()=>{_()},[u]);function E({sql:R,data:T,cardCfg:M,cardTitle:L,connectionId:j,cardType:F}){if(!i)return;const $={id:Ga(),title:L||"Title",description:"Description",preferences:{onClickFilter:[{columnIndex:0,expression:""}],chartOptions:{indexAxis:F==="horizontalBar"?"y":"x"}},type:M.type,cfg:M,sql:R,data:T,connectionId:j},Q={id:Ga(),cards:[$],activeCardId:$.id};a(!0),o(i,Q,"start"),s(Q.id)}const C=!["ready","error"].includes(m);return v.jsxs("div",{role:"chat-box",className:"flex h-full grow flex-col justify-between break-words rounded-md",children:[v.jsxs("div",{className:"flex items-center justify-between gap-2 px-6 py-6",children:[v.jsxs("div",{className:"flex items-center gap-4",children:[v.jsx(Sn,{className:"flex items-center gap-2 text-xl",children:"Assistant"}),v.jsxs(Bd,{openDelay:0,children:[v.jsx(Hd,{children:v.jsx(wL,{className:"size-4 text-muted-foreground/70 hover:text-muted-foreground"})}),v.jsx(Bc,{className:"w-70 p-2",children:v.jsx("div",{className:"flex justify-between space-x-2 text-muted-foreground",children:v.jsxs("div",{children:[(r==null?void 0:r.length)===0&&v.jsx("p",{className:"text-sm",children:"No tables in scope"}),v.jsx("div",{className:"space-y-2",children:r==null?void 0:r.map((R,T)=>v.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[v.jsx(yL,{className:"size-3 text-muted-foreground/70"}),v.jsx("span",{children:vN({schemaName:R.schemaName||"",tableName:R.tableName||"",modelName:R.datamodelName||"",connectionType:R.connectionType||""})})]},T))})]})})})]})]}),v.jsx("div",{children:v.jsx(br,{className:"h-8",size:"sm",variant:"secondary",onClick:()=>{d([]),p()},children:"Clear"})})]}),v.jsx(Rp,{className:"bg-muted"}),v.jsxs(fc,{className:"flex flex-1 basis-0 flex-col flex-wrap justify-end px-6 py-3",children:[v.jsxs("div",{className:"pb-4",children:[v.jsx(g7,{messages:u,onAddToDashboard:E}),v.jsx(p7,{status:m7(m,t),isLoading:C}),v.jsx("div",{ref:e})]}),v.jsx(Mp,{orientation:"vertical"})]}),v.jsx("div",{className:"px-6 pb-6",children:v.jsx(b7,{stop:w,input:h,handleInputChange:b,handleSubmit:y,isLoading:C})})]})}const{createElement:Td,createContext:n2e,createRef:YAe,forwardRef:y7,useCallback:ci,useContext:v7,useEffect:pc,useImperativeHandle:x7,useLayoutEffect:r2e,useMemo:i2e,useRef:fi,useState:Hu}=P,PD=P[`useId${Math.random()}`.slice(0,5)],o2e=r2e,$0=n2e(null);$0.displayName="PanelGroupContext";const gc=o2e,s2e=typeof PD=="function"?PD:()=>null;let a2e=0;function e2(e=null){const t=s2e(),n=fi(e||t||null);return n.current===null&&(n.current=""+a2e++),e??n.current}function w7({children:e,className:t="",collapsedSize:n,collapsible:r,defaultSize:i,forwardedRef:o,id:s,maxSize:a,minSize:l,onCollapse:c,onExpand:u,onResize:d,order:p,style:h,tagName:m="div",...b}){const y=v7($0);if(y===null)throw Error("Panel components must be rendered within a PanelGroup container");const{collapsePanel:x,expandPanel:w,getPanelSize:_,getPanelStyle:E,groupId:C,isPanelCollapsed:R,reevaluatePanelConstraints:T,registerPanel:M,resizePanel:L,unregisterPanel:j}=y,F=e2(s),$=fi({callbacks:{onCollapse:c,onExpand:u,onResize:d},constraints:{collapsedSize:n,collapsible:r,defaultSize:i,maxSize:a,minSize:l},id:F,idIsFromProps:s!==void 0,order:p});fi({didLogMissingDefaultSizeWarning:!1}),gc(()=>{const{callbacks:H,constraints:N}=$.current,G={...N};$.current.id=F,$.current.idIsFromProps=s!==void 0,$.current.order=p,H.onCollapse=c,H.onExpand=u,H.onResize=d,N.collapsedSize=n,N.collapsible=r,N.defaultSize=i,N.maxSize=a,N.minSize=l,(G.collapsedSize!==N.collapsedSize||G.collapsible!==N.collapsible||G.maxSize!==N.maxSize||G.minSize!==N.minSize)&&T($.current,G)}),gc(()=>{const H=$.current;return M(H),()=>{j(H)}},[p,F,M,j]),x7(o,()=>({collapse:()=>{x($.current)},expand:H=>{w($.current,H)},getId(){return F},getSize(){return _($.current)},isCollapsed(){return R($.current)},isExpanded(){return!R($.current)},resize:H=>{L($.current,H)}}),[x,w,_,R,F,L]);const Q=E($.current,i);return Td(m,{...b,children:e,className:t,id:s,style:{...Q,...h},"data-panel":"","data-panel-collapsible":r||void 0,"data-panel-group-id":C,"data-panel-id":F,"data-panel-size":parseFloat(""+Q.flexGrow).toFixed(1)})}const S7=y7((e,t)=>Td(w7,{...e,forwardedRef:t}));w7.displayName="Panel";S7.displayName="forwardRef(Panel)";let D_=null,ql=null;function l2e(e,t){if(t){const n=(t&P7)!==0,r=(t&T7)!==0,i=(t&k7)!==0,o=(t&A7)!==0;if(n)return i?"se-resize":o?"ne-resize":"e-resize";if(r)return i?"sw-resize":o?"nw-resize":"w-resize";if(i)return"s-resize";if(o)return"n-resize"}switch(e){case"horizontal":return"ew-resize";case"intersection":return"move";case"vertical":return"ns-resize"}}function c2e(){ql!==null&&(document.head.removeChild(ql),D_=null,ql=null)}function e1(e,t){const n=l2e(e,t);D_!==n&&(D_=n,ql===null&&(ql=document.createElement("style"),document.head.appendChild(ql)),ql.innerHTML=`*{cursor: ${n}!important;}`)}function _7(e){return e.type==="keydown"}function C7(e){return e.type.startsWith("pointer")}function E7(e){return e.type.startsWith("mouse")}function z0(e){if(C7(e)){if(e.isPrimary)return{x:e.clientX,y:e.clientY}}else if(E7(e))return{x:e.clientX,y:e.clientY};return{x:1/0,y:1/0}}function u2e(){if(typeof matchMedia=="function")return matchMedia("(pointer:coarse)").matches?"coarse":"fine"}function d2e(e,t,n){return e.x<t.x+t.width&&e.x+e.width>t.x&&e.y<t.y+t.height&&e.y+e.height>t.y}function f2e(e,t){if(e===t)throw new Error("Cannot compare node with itself");const n={a:AD(e),b:AD(t)};let r;for(;n.a.at(-1)===n.b.at(-1);)e=n.a.pop(),t=n.b.pop(),r=e;xt(r,"Stacking order can only be calculated for elements with a common ancestor");const i={a:kD(TD(n.a)),b:kD(TD(n.b))};if(i.a===i.b){const o=r.childNodes,s={a:n.a.at(-1),b:n.b.at(-1)};let a=o.length;for(;a--;){const l=o[a];if(l===s.a)return 1;if(l===s.b)return-1}}return Math.sign(i.a-i.b)}const h2e=/\b(?:position|zIndex|opacity|transform|webkitTransform|mixBlendMode|filter|webkitFilter|isolation)\b/;function p2e(e){var t;const n=getComputedStyle((t=R7(e))!==null&&t!==void 0?t:e).display;return n==="flex"||n==="inline-flex"}function g2e(e){const t=getComputedStyle(e);return!!(t.position==="fixed"||t.zIndex!=="auto"&&(t.position!=="static"||p2e(e))||+t.opacity<1||"transform"in t&&t.transform!=="none"||"webkitTransform"in t&&t.webkitTransform!=="none"||"mixBlendMode"in t&&t.mixBlendMode!=="normal"||"filter"in t&&t.filter!=="none"||"webkitFilter"in t&&t.webkitFilter!=="none"||"isolation"in t&&t.isolation==="isolate"||h2e.test(t.willChange)||t.webkitOverflowScrolling==="touch")}function TD(e){let t=e.length;for(;t--;){const n=e[t];if(xt(n,"Missing node"),g2e(n))return n}return null}function kD(e){return e&&Number(getComputedStyle(e).zIndex)||0}function AD(e){const t=[];for(;e;)t.push(e),e=R7(e);return t}function R7(e){const{parentNode:t}=e;return t&&t instanceof ShadowRoot?t.host:t}const P7=1,T7=2,k7=4,A7=8,m2e=u2e()==="coarse";let Oo=[],Vu=!1,Ta=new Map,B0=new Map;const tp=new Set;function b2e(e,t,n,r,i){var o;const{ownerDocument:s}=t,a={direction:n,element:t,hitAreaMargins:r,setResizeHandlerState:i},l=(o=Ta.get(s))!==null&&o!==void 0?o:0;return Ta.set(s,l+1),tp.add(a),uy(),function(){var u;B0.delete(e),tp.delete(a);const d=(u=Ta.get(s))!==null&&u!==void 0?u:1;if(Ta.set(s,d-1),uy(),d===1&&Ta.delete(s),Oo.includes(a)){const p=Oo.indexOf(a);p>=0&&Oo.splice(p,1),n2(),i("up",!0,null)}}}function OD(e){const{target:t}=e,{x:n,y:r}=z0(e);Vu=!0,t2({target:t,x:n,y:r}),uy(),Oo.length>0&&(dy("down",e),e.preventDefault(),e.stopPropagation())}function Ff(e){const{x:t,y:n}=z0(e);if(Vu&&e.buttons===0&&(Vu=!1,dy("up",e)),!Vu){const{target:r}=e;t2({target:r,x:t,y:n})}dy("move",e),n2(),Oo.length>0&&e.preventDefault()}function yu(e){const{target:t}=e,{x:n,y:r}=z0(e);B0.clear(),Vu=!1,Oo.length>0&&e.preventDefault(),dy("up",e),t2({target:t,x:n,y:r}),n2(),uy()}function t2({target:e,x:t,y:n}){Oo.splice(0);let r=null;(e instanceof HTMLElement||e instanceof SVGElement)&&(r=e),tp.forEach(i=>{const{element:o,hitAreaMargins:s}=i,a=o.getBoundingClientRect(),{bottom:l,left:c,right:u,top:d}=a,p=m2e?s.coarse:s.fine;if(t>=c-p&&t<=u+p&&n>=d-p&&n<=l+p){if(r!==null&&document.contains(r)&&o!==r&&!o.contains(r)&&!r.contains(o)&&f2e(r,o)>0){let m=r,b=!1;for(;m&&!m.contains(o);){if(d2e(m.getBoundingClientRect(),a)){b=!0;break}m=m.parentElement}if(b)return}Oo.push(i)}})}function t1(e,t){B0.set(e,t)}function n2(){let e=!1,t=!1;Oo.forEach(r=>{const{direction:i}=r;i==="horizontal"?e=!0:t=!0});let n=0;B0.forEach(r=>{n|=r}),e&&t?e1("intersection",n):e?e1("horizontal",n):t?e1("vertical",n):c2e()}function uy(){Ta.forEach((e,t)=>{const{body:n}=t;n.removeEventListener("contextmenu",yu),n.removeEventListener("pointerdown",OD),n.removeEventListener("pointerleave",Ff),n.removeEventListener("pointermove",Ff)}),window.removeEventListener("pointerup",yu),window.removeEventListener("pointercancel",yu),tp.size>0&&(Vu?(Oo.length>0&&Ta.forEach((e,t)=>{const{body:n}=t;e>0&&(n.addEventListener("contextmenu",yu),n.addEventListener("pointerleave",Ff),n.addEventListener("pointermove",Ff))}),window.addEventListener("pointerup",yu),window.addEventListener("pointercancel",yu)):Ta.forEach((e,t)=>{const{body:n}=t;e>0&&(n.addEventListener("pointerdown",OD,{capture:!0}),n.addEventListener("pointermove",Ff))}))}function dy(e,t){tp.forEach(n=>{const{setResizeHandlerState:r}=n,i=Oo.includes(n);r(e,i,t)})}function y2e(){const[e,t]=Hu(0);return ci(()=>t(n=>n+1),[])}function xt(e,t){if(!e)throw console.error(t),Error(t)}const r2=10;function kc(e,t,n=r2){return e.toFixed(n)===t.toFixed(n)?0:e>t?1:-1}function qs(e,t,n=r2){return kc(e,t,n)===0}function Ii(e,t,n){return kc(e,t,n)===0}function v2e(e,t,n){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++){const i=e[r],o=t[r];if(!Ii(i,o,n))return!1}return!0}function Tu({panelConstraints:e,panelIndex:t,size:n}){const r=e[t];xt(r!=null,`Panel constraints not found for index ${t}`);let{collapsedSize:i=0,collapsible:o,maxSize:s=100,minSize:a=0}=r;if(kc(n,a)<0)if(o){const l=(i+a)/2;kc(n,l)<0?n=i:n=a}else n=a;return n=Math.min(s,n),n=parseFloat(n.toFixed(r2)),n}function eh({delta:e,initialLayout:t,panelConstraints:n,pivotIndices:r,prevLayout:i,trigger:o}){if(Ii(e,0))return t;const s=[...t],[a,l]=r;xt(a!=null,"Invalid first pivot index"),xt(l!=null,"Invalid second pivot index");let c=0;if(o==="keyboard"){{const d=e<0?l:a,p=n[d];xt(p,`Panel constraints not found for index ${d}`);const{collapsedSize:h=0,collapsible:m,minSize:b=0}=p;if(m){const y=t[d];if(xt(y!=null,`Previous layout not found for panel index ${d}`),Ii(y,h)){const x=b-y;kc(x,Math.abs(e))>0&&(e=e<0?0-x:x)}}}{const d=e<0?a:l,p=n[d];xt(p,`No panel constraints found for index ${d}`);const{collapsedSize:h=0,collapsible:m,minSize:b=0}=p;if(m){const y=t[d];if(xt(y!=null,`Previous layout not found for panel index ${d}`),Ii(y,b)){const x=y-h;kc(x,Math.abs(e))>0&&(e=e<0?0-x:x)}}}}{const d=e<0?1:-1;let p=e<0?l:a,h=0;for(;;){const b=t[p];xt(b!=null,`Previous layout not found for panel index ${p}`);const x=Tu({panelConstraints:n,panelIndex:p,size:100})-b;if(h+=x,p+=d,p<0||p>=n.length)break}const m=Math.min(Math.abs(e),Math.abs(h));e=e<0?0-m:m}{let p=e<0?a:l;for(;p>=0&&p<n.length;){const h=Math.abs(e)-Math.abs(c),m=t[p];xt(m!=null,`Previous layout not found for panel index ${p}`);const b=m-h,y=Tu({panelConstraints:n,panelIndex:p,size:b});if(!Ii(m,y)&&(c+=m-y,s[p]=y,c.toPrecision(3).localeCompare(Math.abs(e).toPrecision(3),void 0,{numeric:!0})>=0))break;e<0?p--:p++}}if(v2e(i,s))return i;{const d=e<0?l:a,p=t[d];xt(p!=null,`Previous layout not found for panel index ${d}`);const h=p+c,m=Tu({panelConstraints:n,panelIndex:d,size:h});if(s[d]=m,!Ii(m,h)){let b=h-m,x=e<0?l:a;for(;x>=0&&x<n.length;){const w=s[x];xt(w!=null,`Previous layout not found for panel index ${x}`);const _=w+b,E=Tu({panelConstraints:n,panelIndex:x,size:_});if(Ii(w,E)||(b-=E-w,s[x]=E),Ii(b,0))break;e>0?x--:x++}}}const u=s.reduce((d,p)=>p+d,0);return Ii(u,100)?s:i}function x2e({layout:e,panelsArray:t,pivotIndices:n}){let r=0,i=100,o=0,s=0;const a=n[0];xt(a!=null,"No pivot index found"),t.forEach((d,p)=>{const{constraints:h}=d,{maxSize:m=100,minSize:b=0}=h;p===a?(r=b,i=m):(o+=b,s+=m)});const l=Math.min(i,100-o),c=Math.max(r,100-s),u=e[a];return{valueMax:l,valueMin:c,valueNow:u}}function np(e,t=document){return Array.from(t.querySelectorAll(`[data-panel-resize-handle-id][data-panel-group-id="${e}"]`))}function O7(e,t,n=document){const i=np(e,n).findIndex(o=>o.getAttribute("data-panel-resize-handle-id")===t);return i??null}function M7(e,t,n){const r=O7(e,t,n);return r!=null?[r,r+1]:[-1,-1]}function I7(e,t=document){var n;if(t instanceof HTMLElement&&(t==null||(n=t.dataset)===null||n===void 0?void 0:n.panelGroupId)==e)return t;const r=t.querySelector(`[data-panel-group][data-panel-group-id="${e}"]`);return r||null}function H0(e,t=document){const n=t.querySelector(`[data-panel-resize-handle-id="${e}"]`);return n||null}function w2e(e,t,n,r=document){var i,o,s,a;const l=H0(t,r),c=np(e,r),u=l?c.indexOf(l):-1,d=(i=(o=n[u])===null||o===void 0?void 0:o.id)!==null&&i!==void 0?i:null,p=(s=(a=n[u+1])===null||a===void 0?void 0:a.id)!==null&&s!==void 0?s:null;return[d,p]}function S2e({committedValuesRef:e,eagerValuesRef:t,groupId:n,layout:r,panelDataArray:i,panelGroupElement:o,setLayout:s}){fi({didWarnAboutMissingResizeHandle:!1}),gc(()=>{if(!o)return;const a=np(n,o);for(let l=0;l<i.length-1;l++){const{valueMax:c,valueMin:u,valueNow:d}=x2e({layout:r,panelsArray:i,pivotIndices:[l,l+1]}),p=a[l];if(p!=null){const h=i[l];xt(h,`No panel data found for index "${l}"`),p.setAttribute("aria-controls",h.id),p.setAttribute("aria-valuemax",""+Math.round(c)),p.setAttribute("aria-valuemin",""+Math.round(u)),p.setAttribute("aria-valuenow",d!=null?""+Math.round(d):"")}}return()=>{a.forEach((l,c)=>{l.removeAttribute("aria-controls"),l.removeAttribute("aria-valuemax"),l.removeAttribute("aria-valuemin"),l.removeAttribute("aria-valuenow")})}},[n,r,i,o]),pc(()=>{if(!o)return;const a=t.current;xt(a,"Eager values not found");const{panelDataArray:l}=a,c=I7(n,o);xt(c!=null,`No group found for id "${n}"`);const u=np(n,o);xt(u,`No resize handles found for group id "${n}"`);const d=u.map(p=>{const h=p.getAttribute("data-panel-resize-handle-id");xt(h,"Resize handle element has no handle id attribute");const[m,b]=w2e(n,h,l,o);if(m==null||b==null)return()=>{};const y=x=>{if(!x.defaultPrevented)switch(x.key){case"Enter":{x.preventDefault();const w=l.findIndex(_=>_.id===m);if(w>=0){const _=l[w];xt(_,`No panel data found for index ${w}`);const E=r[w],{collapsedSize:C=0,collapsible:R,minSize:T=0}=_.constraints;if(E!=null&&R){const M=eh({delta:Ii(E,C)?T-C:C-E,initialLayout:r,panelConstraints:l.map(L=>L.constraints),pivotIndices:M7(n,h,o),prevLayout:r,trigger:"keyboard"});r!==M&&s(M)}}break}}};return p.addEventListener("keydown",y),()=>{p.removeEventListener("keydown",y)}});return()=>{d.forEach(p=>p())}},[o,e,t,n,r,i,s])}function MD(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function D7(e,t){const n=e==="horizontal",{x:r,y:i}=z0(t);return n?r:i}function _2e(e,t,n,r,i){const o=n==="horizontal",s=H0(t,i);xt(s,`No resize handle element found for id "${t}"`);const a=s.getAttribute("data-panel-group-id");xt(a,"Resize handle element has no group id attribute");let{initialCursorPosition:l}=r;const c=D7(n,e),u=I7(a,i);xt(u,`No group element found for id "${a}"`);const d=u.getBoundingClientRect(),p=o?d.width:d.height;return(c-l)/p*100}function C2e(e,t,n,r,i,o){if(_7(e)){const s=n==="horizontal";let a=0;e.shiftKey?a=100:i!=null?a=i:a=10;let l=0;switch(e.key){case"ArrowDown":l=s?0:a;break;case"ArrowLeft":l=s?-a:0;break;case"ArrowRight":l=s?a:0;break;case"ArrowUp":l=s?0:-a;break;case"End":l=100;break;case"Home":l=-100;break}return l}else return r==null?0:_2e(e,t,n,r,o)}function E2e({panelDataArray:e}){const t=Array(e.length),n=e.map(o=>o.constraints);let r=0,i=100;for(let o=0;o<e.length;o++){const s=n[o];xt(s,`Panel constraints not found for index ${o}`);const{defaultSize:a}=s;a!=null&&(r++,t[o]=a,i-=a)}for(let o=0;o<e.length;o++){const s=n[o];xt(s,`Panel constraints not found for index ${o}`);const{defaultSize:a}=s;if(a!=null)continue;const l=e.length-r,c=i/l;r++,t[o]=c,i-=c}return t}function vu(e,t,n){t.forEach((r,i)=>{const o=e[i];xt(o,`Panel data not found for index ${i}`);const{callbacks:s,constraints:a,id:l}=o,{collapsedSize:c=0,collapsible:u}=a,d=n[l];if(d==null||r!==d){n[l]=r;const{onCollapse:p,onExpand:h,onResize:m}=s;m&&m(r,d),u&&(p||h)&&(h&&(d==null||qs(d,c))&&!qs(r,c)&&h(),p&&(d==null||!qs(d,c))&&qs(r,c)&&p())}})}function $m(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!=t[n])return!1;return!0}function R2e({defaultSize:e,dragState:t,layout:n,panelData:r,panelIndex:i,precision:o=3}){const s=n[i];let a;return s==null?a=e!=null?e.toPrecision(o):"1":r.length===1?a="1":a=s.toPrecision(o),{flexBasis:0,flexGrow:a,flexShrink:1,overflow:"hidden",pointerEvents:t!==null?"none":void 0}}function P2e(e,t=10){let n=null;return(...i)=>{n!==null&&clearTimeout(n),n=setTimeout(()=>{e(...i)},t)}}function ID(e){try{if(typeof localStorage<"u")e.getItem=t=>localStorage.getItem(t),e.setItem=(t,n)=>{localStorage.setItem(t,n)};else throw new Error("localStorage not supported in this environment")}catch(t){console.error(t),e.getItem=()=>null,e.setItem=()=>{}}}function N7(e){return`react-resizable-panels:${e}`}function L7(e){return e.map(t=>{const{constraints:n,id:r,idIsFromProps:i,order:o}=t;return i?r:o?`${o}:${JSON.stringify(n)}`:JSON.stringify(n)}).sort((t,n)=>t.localeCompare(n)).join(",")}function F7(e,t){try{const n=N7(e),r=t.getItem(n);if(r){const i=JSON.parse(r);if(typeof i=="object"&&i!=null)return i}}catch{}return null}function T2e(e,t,n){var r,i;const o=(r=F7(e,n))!==null&&r!==void 0?r:{},s=L7(t);return(i=o[s])!==null&&i!==void 0?i:null}function k2e(e,t,n,r,i){var o;const s=N7(e),a=L7(t),l=(o=F7(e,i))!==null&&o!==void 0?o:{};l[a]={expandToSizes:Object.fromEntries(n.entries()),layout:r};try{i.setItem(s,JSON.stringify(l))}catch(c){console.error(c)}}function DD({layout:e,panelConstraints:t}){const n=[...e],r=n.reduce((o,s)=>o+s,0);if(n.length!==t.length)throw Error(`Invalid ${t.length} panel layout: ${n.map(o=>`${o}%`).join(", ")}`);if(!Ii(r,100)&&n.length>0)for(let o=0;o<t.length;o++){const s=n[o];xt(s!=null,`No layout data found for index ${o}`);const a=100/r*s;n[o]=a}let i=0;for(let o=0;o<t.length;o++){const s=n[o];xt(s!=null,`No layout data found for index ${o}`);const a=Tu({panelConstraints:t,panelIndex:o,size:s});s!=a&&(i+=s-a,n[o]=a)}if(!Ii(i,0))for(let o=0;o<t.length;o++){const s=n[o];xt(s!=null,`No layout data found for index ${o}`);const a=s+i,l=Tu({panelConstraints:t,panelIndex:o,size:a});if(s!==l&&(i-=l-s,n[o]=l,Ii(i,0)))break}return n}const A2e=100,th={getItem:e=>(ID(th),th.getItem(e)),setItem:(e,t)=>{ID(th),th.setItem(e,t)}},ND={};function j7({autoSaveId:e=null,children:t,className:n="",direction:r,forwardedRef:i,id:o=null,onLayout:s=null,keyboardResizeBy:a=null,storage:l=th,style:c,tagName:u="div",...d}){const p=e2(o),h=fi(null),[m,b]=Hu(null),[y,x]=Hu([]),w=y2e(),_=fi({}),E=fi(new Map),C=fi(0),R=fi({autoSaveId:e,direction:r,dragState:m,id:p,keyboardResizeBy:a,onLayout:s,storage:l}),T=fi({layout:y,panelDataArray:[],panelDataArrayChanged:!1});fi({didLogIdAndOrderWarning:!1,didLogPanelConstraintsWarning:!1,prevPanelIds:[]}),x7(i,()=>({getId:()=>R.current.id,getLayout:()=>{const{layout:O}=T.current;return O},setLayout:O=>{const{onLayout:ee}=R.current,{layout:K,panelDataArray:oe}=T.current,X=DD({layout:O,panelConstraints:oe.map(J=>J.constraints)});MD(K,X)||(x(X),T.current.layout=X,ee&&ee(X),vu(oe,X,_.current))}}),[]),gc(()=>{R.current.autoSaveId=e,R.current.direction=r,R.current.dragState=m,R.current.id=p,R.current.onLayout=s,R.current.storage=l}),S2e({committedValuesRef:R,eagerValuesRef:T,groupId:p,layout:y,panelDataArray:T.current.panelDataArray,setLayout:x,panelGroupElement:h.current}),pc(()=>{const{panelDataArray:O}=T.current;if(e){if(y.length===0||y.length!==O.length)return;let ee=ND[e];ee==null&&(ee=P2e(k2e,A2e),ND[e]=ee);const K=[...O],oe=new Map(E.current);ee(e,K,oe,y,l)}},[e,y,l]),pc(()=>{});const M=ci(O=>{const{onLayout:ee}=R.current,{layout:K,panelDataArray:oe}=T.current;if(O.constraints.collapsible){const X=oe.map(ge=>ge.constraints),{collapsedSize:J=0,panelSize:se,pivotIndices:le}=Tl(oe,O,K);if(xt(se!=null,`Panel size not found for panel "${O.id}"`),!qs(se,J)){E.current.set(O.id,se);const ie=wu(oe,O)===oe.length-1?se-J:J-se,pe=eh({delta:ie,initialLayout:K,panelConstraints:X,pivotIndices:le,prevLayout:K,trigger:"imperative-api"});$m(K,pe)||(x(pe),T.current.layout=pe,ee&&ee(pe),vu(oe,pe,_.current))}}},[]),L=ci((O,ee)=>{const{onLayout:K}=R.current,{layout:oe,panelDataArray:X}=T.current;if(O.constraints.collapsible){const J=X.map(he=>he.constraints),{collapsedSize:se=0,panelSize:le=0,minSize:ge=0,pivotIndices:ie}=Tl(X,O,oe),pe=ee??ge;if(qs(le,se)){const he=E.current.get(O.id),Re=he!=null&&he>=pe?he:pe,Fe=wu(X,O)===X.length-1?le-Re:Re-le,ke=eh({delta:Fe,initialLayout:oe,panelConstraints:J,pivotIndices:ie,prevLayout:oe,trigger:"imperative-api"});$m(oe,ke)||(x(ke),T.current.layout=ke,K&&K(ke),vu(X,ke,_.current))}}},[]),j=ci(O=>{const{layout:ee,panelDataArray:K}=T.current,{panelSize:oe}=Tl(K,O,ee);return xt(oe!=null,`Panel size not found for panel "${O.id}"`),oe},[]),F=ci((O,ee)=>{const{panelDataArray:K}=T.current,oe=wu(K,O);return R2e({defaultSize:ee,dragState:m,layout:y,panelData:K,panelIndex:oe})},[m,y]),$=ci(O=>{const{layout:ee,panelDataArray:K}=T.current,{collapsedSize:oe=0,collapsible:X,panelSize:J}=Tl(K,O,ee);return xt(J!=null,`Panel size not found for panel "${O.id}"`),X===!0&&qs(J,oe)},[]),Q=ci(O=>{const{layout:ee,panelDataArray:K}=T.current,{collapsedSize:oe=0,collapsible:X,panelSize:J}=Tl(K,O,ee);return xt(J!=null,`Panel size not found for panel "${O.id}"`),!X||kc(J,oe)>0},[]),H=ci(O=>{const{panelDataArray:ee}=T.current;ee.push(O),ee.sort((K,oe)=>{const X=K.order,J=oe.order;return X==null&&J==null?0:X==null?-1:J==null?1:X-J}),T.current.panelDataArrayChanged=!0,w()},[w]);gc(()=>{if(T.current.panelDataArrayChanged){T.current.panelDataArrayChanged=!1;const{autoSaveId:O,onLayout:ee,storage:K}=R.current,{layout:oe,panelDataArray:X}=T.current;let J=null;if(O){const le=T2e(O,X,K);le&&(E.current=new Map(Object.entries(le.expandToSizes)),J=le.layout)}J==null&&(J=E2e({panelDataArray:X}));const se=DD({layout:J,panelConstraints:X.map(le=>le.constraints)});MD(oe,se)||(x(se),T.current.layout=se,ee&&ee(se),vu(X,se,_.current))}}),gc(()=>{const O=T.current;return()=>{O.layout=[]}},[]);const N=ci(O=>{let ee=!1;const K=h.current;return K&&window.getComputedStyle(K,null).getPropertyValue("direction")==="rtl"&&(ee=!0),function(X){X.preventDefault();const J=h.current;if(!J)return()=>null;const{direction:se,dragState:le,id:ge,keyboardResizeBy:ie,onLayout:pe}=R.current,{layout:he,panelDataArray:Re}=T.current,{initialLayout:Oe}=le??{},Fe=M7(ge,O,J);let ke=C2e(X,O,se,le,ie,J);const Be=se==="horizontal";Be&&ee&&(ke=-ke);const dt=Re.map(mt=>mt.constraints),Ct=eh({delta:ke,initialLayout:Oe??he,panelConstraints:dt,pivotIndices:Fe,prevLayout:he,trigger:_7(X)?"keyboard":"mouse-or-touch"}),an=!$m(he,Ct);(C7(X)||E7(X))&&C.current!=ke&&(C.current=ke,!an&&ke!==0?Be?t1(O,ke<0?P7:T7):t1(O,ke<0?k7:A7):t1(O,0)),an&&(x(Ct),T.current.layout=Ct,pe&&pe(Ct),vu(Re,Ct,_.current))}},[]),G=ci((O,ee)=>{const{onLayout:K}=R.current,{layout:oe,panelDataArray:X}=T.current,J=X.map(he=>he.constraints),{panelSize:se,pivotIndices:le}=Tl(X,O,oe);xt(se!=null,`Panel size not found for panel "${O.id}"`);const ie=wu(X,O)===X.length-1?se-ee:ee-se,pe=eh({delta:ie,initialLayout:oe,panelConstraints:J,pivotIndices:le,prevLayout:oe,trigger:"imperative-api"});$m(oe,pe)||(x(pe),T.current.layout=pe,K&&K(pe),vu(X,pe,_.current))},[]),B=ci((O,ee)=>{const{layout:K,panelDataArray:oe}=T.current,{collapsedSize:X=0,collapsible:J}=ee,{collapsedSize:se=0,collapsible:le,maxSize:ge=100,minSize:ie=0}=O.constraints,{panelSize:pe}=Tl(oe,O,K);pe!=null&&(J&&le&&qs(pe,X)?qs(X,se)||G(O,se):pe<ie?G(O,ie):pe>ge&&G(O,ge))},[G]),W=ci((O,ee)=>{const{direction:K}=R.current,{layout:oe}=T.current;if(!h.current)return;const X=H0(O,h.current);xt(X,`Drag handle element not found for id "${O}"`);const J=D7(K,ee);b({dragHandleId:O,dragHandleRect:X.getBoundingClientRect(),initialCursorPosition:J,initialLayout:oe})},[]),q=ci(()=>{b(null)},[]),I=ci(O=>{const{panelDataArray:ee}=T.current,K=wu(ee,O);K>=0&&(ee.splice(K,1),delete _.current[O.id],T.current.panelDataArrayChanged=!0,w())},[w]),Y=i2e(()=>({collapsePanel:M,direction:r,dragState:m,expandPanel:L,getPanelSize:j,getPanelStyle:F,groupId:p,isPanelCollapsed:$,isPanelExpanded:Q,reevaluatePanelConstraints:B,registerPanel:H,registerResizeHandle:N,resizePanel:G,startDragging:W,stopDragging:q,unregisterPanel:I,panelGroupElement:h.current}),[M,m,r,L,j,F,p,$,Q,B,H,N,G,W,q,I]),U={display:"flex",flexDirection:r==="horizontal"?"row":"column",height:"100%",overflow:"hidden",width:"100%"};return Td($0.Provider,{value:Y},Td(u,{...d,children:t,className:n,id:o,ref:h,style:{...U,...c},"data-panel-group":"","data-panel-group-direction":r,"data-panel-group-id":p}))}const $7=y7((e,t)=>Td(j7,{...e,forwardedRef:t}));j7.displayName="PanelGroup";$7.displayName="forwardRef(PanelGroup)";function wu(e,t){return e.findIndex(n=>n===t||n.id===t.id)}function Tl(e,t,n){const r=wu(e,t),o=r===e.length-1?[r-1,r]:[r,r+1],s=n[r];return{...t.constraints,panelSize:s,pivotIndices:o}}function O2e({disabled:e,handleId:t,resizeHandler:n,panelGroupElement:r}){pc(()=>{if(e||n==null||r==null)return;const i=H0(t,r);if(i==null)return;const o=s=>{if(!s.defaultPrevented)switch(s.key){case"ArrowDown":case"ArrowLeft":case"ArrowRight":case"ArrowUp":case"End":case"Home":{s.preventDefault(),n(s);break}case"F6":{s.preventDefault();const a=i.getAttribute("data-panel-group-id");xt(a,`No group element found for id "${a}"`);const l=np(a,r),c=O7(a,t,r);xt(c!==null,`No resize element found for id "${t}"`);const u=s.shiftKey?c>0?c-1:l.length-1:c+1<l.length?c+1:0;l[u].focus();break}}};return i.addEventListener("keydown",o),()=>{i.removeEventListener("keydown",o)}},[r,e,t,n])}function i2({children:e=null,className:t="",disabled:n=!1,hitAreaMargins:r,id:i,onBlur:o,onDragging:s,onFocus:a,style:l={},tabIndex:c=0,tagName:u="div",...d}){var p,h;const m=fi(null),b=fi({onDragging:s});pc(()=>{b.current.onDragging=s});const y=v7($0);if(y===null)throw Error("PanelResizeHandle components must be rendered within a PanelGroup container");const{direction:x,groupId:w,registerResizeHandle:_,startDragging:E,stopDragging:C,panelGroupElement:R}=y,T=e2(i),[M,L]=Hu("inactive"),[j,F]=Hu(!1),[$,Q]=Hu(null),H=fi({state:M});gc(()=>{H.current.state=M}),pc(()=>{if(n)Q(null);else{const W=_(T);Q(()=>W)}},[n,T,_]);const N=(p=r==null?void 0:r.coarse)!==null&&p!==void 0?p:15,G=(h=r==null?void 0:r.fine)!==null&&h!==void 0?h:5;return pc(()=>{if(n||$==null)return;const W=m.current;return xt(W,"Element ref not attached"),b2e(T,W,x,{coarse:N,fine:G},(I,Y,U)=>{if(Y)switch(I){case"down":{L("drag"),xt(U,'Expected event to be defined for "down" action'),E(T,U);const{onDragging:O}=b.current;O&&O(!0);break}case"move":{const{state:O}=H.current;O!=="drag"&&L("hover"),xt(U,'Expected event to be defined for "move" action'),$(U);break}case"up":{L("hover"),C();const{onDragging:O}=b.current;O&&O(!1);break}}else L("inactive")})},[N,x,n,G,_,T,$,E,C]),O2e({disabled:n,handleId:T,resizeHandler:$,panelGroupElement:R}),Td(u,{...d,children:e,className:t,id:i,onBlur:()=>{F(!1),o==null||o()},onFocus:()=>{F(!0),a==null||a()},ref:m,role:"separator",style:{...{touchAction:"none",userSelect:"none"},...l},tabIndex:c,"data-panel-group-direction":x,"data-panel-group-id":w,"data-resize-handle":"","data-resize-handle-active":M==="drag"?"pointer":j?"keyboard":void 0,"data-resize-handle-state":M,"data-panel-resize-handle-enabled":!n,"data-panel-resize-handle-id":T})}i2.displayName="PanelResizeHandle";const z7=({className:e,...t})=>v.jsx($7,{className:be("flex h-full w-full data-[panel-group-direction=vertical]:flex-col",e),...t}),N_=S7,M2e=({withHandle:e,className:t,...n})=>v.jsx(i2,{className:be("relative flex w-px items-center justify-center bg-border after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-1 data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:-translate-y-1/2 data-[panel-group-direction=vertical]:after:translate-x-0 [&[data-panel-group-direction=vertical]>div]:rotate-90",t),...n,children:e&&v.jsx("div",{className:"z-10 flex h-4 w-3 items-center justify-center rounded-sm border bg-border",children:v.jsx(oL,{className:"h-2.5 w-2.5"})})}),I2e=({withHandle:e,className:t,onTabClick:n,open:r,...i})=>v.jsx(i2,{className:be("relative flex w-px items-start justify-end bg-border after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-1 data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:-translate-y-1/2 data-[panel-group-direction=vertical]:after:translate-x-0 [&[data-panel-group-direction=vertical]>div]:rotate-90",{"justify-start":r},t),...i,children:e&&v.jsx("div",{className:be("z-50 flex items-center justify-start",{"border-l":r}),children:v.jsx(br,{variant:"secondary",className:be("h-7 p-0.5",{"rounded-bl-none rounded-br-md rounded-tl-none rounded-tr-md":r,"mt-0 rounded-bl-md rounded-br-none rounded-tl-md rounded-tr-none":!r}),onClick:()=>n(!r),children:r?v.jsx(Gy,{className:"size-4"}):v.jsx(FC,{className:"size-4"})})})});var o2="Dialog",[B7,H7]=nr(o2),[D2e,Lo]=B7(o2),V7=e=>{const{__scopeDialog:t,children:n,open:r,defaultOpen:i,onOpenChange:o,modal:s=!0}=e,a=P.useRef(null),l=P.useRef(null),[c=!1,u]=Dr({prop:r,defaultProp:i,onChange:o});return v.jsx(D2e,{scope:t,triggerRef:a,contentRef:l,contentId:Yn(),titleId:Yn(),descriptionId:Yn(),open:c,onOpenChange:u,onOpenToggle:P.useCallback(()=>u(d=>!d),[u]),modal:s,children:n})};V7.displayName=o2;var W7="DialogTrigger",U7=P.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,i=Lo(W7,n),o=it(t,i.triggerRef);return v.jsx(Le.button,{type:"button","aria-haspopup":"dialog","aria-expanded":i.open,"aria-controls":i.contentId,"data-state":l2(i.open),...r,ref:o,onClick:Pe(e.onClick,i.onOpenToggle)})});U7.displayName=W7;var s2="DialogPortal",[N2e,G7]=B7(s2,{forceMount:void 0}),q7=e=>{const{__scopeDialog:t,forceMount:n,children:r,container:i}=e,o=Lo(s2,t);return v.jsx(N2e,{scope:t,forceMount:n,children:P.Children.map(r,s=>v.jsx(Kn,{present:n||o.open,children:v.jsx(Ep,{asChild:!0,container:i,children:s})}))})};q7.displayName=s2;var fy="DialogOverlay",Y7=P.forwardRef((e,t)=>{const n=G7(fy,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,o=Lo(fy,e.__scopeDialog);return o.modal?v.jsx(Kn,{present:r||o.open,children:v.jsx(L2e,{...i,ref:t})}):null});Y7.displayName=fy;var L2e=P.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,i=Lo(fy,n);return v.jsx(Tp,{as:ea,allowPinchZoom:!0,shards:[i.contentRef],children:v.jsx(Le.div,{"data-state":l2(i.open),...r,ref:t,style:{pointerEvents:"auto",...r.style}})})}),Ac="DialogContent",K7=P.forwardRef((e,t)=>{const n=G7(Ac,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,o=Lo(Ac,e.__scopeDialog);return v.jsx(Kn,{present:r||o.open,children:o.modal?v.jsx(F2e,{...i,ref:t}):v.jsx(j2e,{...i,ref:t})})});K7.displayName=Ac;var F2e=P.forwardRef((e,t)=>{const n=Lo(Ac,e.__scopeDialog),r=P.useRef(null),i=it(t,n.contentRef,r);return P.useEffect(()=>{const o=r.current;if(o)return g0(o)},[]),v.jsx(X7,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:Pe(e.onCloseAutoFocus,o=>{var s;o.preventDefault(),(s=n.triggerRef.current)==null||s.focus()}),onPointerDownOutside:Pe(e.onPointerDownOutside,o=>{const s=o.detail.originalEvent,a=s.button===0&&s.ctrlKey===!0;(s.button===2||a)&&o.preventDefault()}),onFocusOutside:Pe(e.onFocusOutside,o=>o.preventDefault())})}),j2e=P.forwardRef((e,t)=>{const n=Lo(Ac,e.__scopeDialog),r=P.useRef(!1),i=P.useRef(!1);return v.jsx(X7,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:o=>{var s,a;(s=e.onCloseAutoFocus)==null||s.call(e,o),o.defaultPrevented||(r.current||(a=n.triggerRef.current)==null||a.focus(),o.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:o=>{var l,c;(l=e.onInteractOutside)==null||l.call(e,o),o.defaultPrevented||(r.current=!0,o.detail.originalEvent.type==="pointerdown"&&(i.current=!0));const s=o.target;((c=n.triggerRef.current)==null?void 0:c.contains(s))&&o.preventDefault(),o.detail.originalEvent.type==="focusin"&&i.current&&o.preventDefault()}})}),X7=P.forwardRef((e,t)=>{const{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:o,...s}=e,a=Lo(Ac,n),l=P.useRef(null),c=it(t,l);return h0(),v.jsxs(v.Fragment,{children:[v.jsx(Pp,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:o,children:v.jsx(zc,{role:"dialog",id:a.contentId,"aria-describedby":a.descriptionId,"aria-labelledby":a.titleId,"data-state":l2(a.open),...s,ref:c,onDismiss:()=>a.onOpenChange(!1)})}),v.jsxs(v.Fragment,{children:[v.jsx(z2e,{titleId:a.titleId}),v.jsx(H2e,{contentRef:l,descriptionId:a.descriptionId})]})]})}),a2="DialogTitle",Q7=P.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,i=Lo(a2,n);return v.jsx(Le.h2,{id:i.titleId,...r,ref:t})});Q7.displayName=a2;var Z7="DialogDescription",J7=P.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,i=Lo(Z7,n);return v.jsx(Le.p,{id:i.descriptionId,...r,ref:t})});J7.displayName=Z7;var e$="DialogClose",t$=P.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,i=Lo(e$,n);return v.jsx(Le.button,{type:"button",...r,ref:t,onClick:Pe(e.onClick,()=>i.onOpenChange(!1))})});t$.displayName=e$;function l2(e){return e?"open":"closed"}var n$="DialogTitleWarning",[$2e,r$]=ZX(n$,{contentName:Ac,titleName:a2,docsSlug:"dialog"}),z2e=({titleId:e})=>{const t=r$(n$),n=`\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users.
|
|
416
416
|
|
|
417
417
|
If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component.
|
|
418
418
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-FJLesO8t.js"),a=require("./index-D-22LEzt.js");/**
|
|
2
2
|
* @license lucide-react v0.453.0 - ISC
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the ISC license.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { c as a, C as e, a as t, b as c, d as h, e as d, f as o, g as y, h as i, i as s, E as n, j as r, F as k, k as p, G as l, I as u, l as M, L as v, m as g, O as m, P as x, n as L, o as w, p as C, S as f, q as I, r as S, s as q, T as b, t as H, U as z, u as A, X as P } from "./index-
|
|
2
|
-
import { v as zv } from "./index-
|
|
3
|
-
import { B as V, a as j, C as B, b as F, c as D, d as R, e as T, f as U, g as O, h as Z, i as G, E as W, j as E, k as X, G as N, H as K, l as J, m as Q, L as Y, n as _, o as $, p as a1, M as e1, q as t1, N as c1, P as h1, S as d1, r as o1, s as y1, t as i1, u as s1, T as n1, v as r1, w as k1, x as p1, y as l1 } from "./index-
|
|
1
|
+
import { c as a, C as e, a as t, b as c, d as h, e as d, f as o, g as y, h as i, i as s, E as n, j as r, F as k, k as p, G as l, I as u, l as M, L as v, m as g, O as m, P as x, n as L, o as w, p as C, S as f, q as I, r as S, s as q, T as b, t as H, U as z, u as A, X as P } from "./index-DD_Iz12h.js";
|
|
2
|
+
import { v as zv } from "./index-DD_Iz12h.js";
|
|
3
|
+
import { B as V, a as j, C as B, b as F, c as D, d as R, e as T, f as U, g as O, h as Z, i as G, E as W, j as E, k as X, G as N, H as K, l as J, m as Q, L as Y, n as _, o as $, p as a1, M as e1, q as t1, N as c1, P as h1, S as d1, r as o1, s as y1, t as i1, u as s1, T as n1, v as r1, w as k1, x as p1, y as l1 } from "./index-Bbvr9K_x.js";
|
|
4
4
|
/**
|
|
5
5
|
* @license lucide-react v0.453.0 - ISC
|
|
6
6
|
*
|
package/dist/dashboard/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../chunks/index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../chunks/index-FJLesO8t.js");exports.Dashboard=e.Dashboard;
|
package/dist/dashboard/index.js
CHANGED
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./chunks/index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./chunks/index-FJLesO8t.js"),a=require("./chunks/index-D-22LEzt.js");require("react");require("react-dom");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.useCard=e.useCard;exports.useDashboardActions=e.useDashboardActions;exports.useDashboardStore=e.useDashboardStore;exports.useDateFilterHook=e.useDateFilterHook;exports.useEditorActions=e.useEditorActions;exports.useEditorStore=e.useEditorStore;exports.useTextFilterHook=e.useTextFilterHook;exports.SelectComponent=a.SelectComponent;exports.Surfboard=a.DashboardPlus;exports.cleanCard=a.cleanCard;exports.getDashbaordStateWithoutData=a.getDashbaordStateWithoutData;exports.useEditorAside=a.useEditorAside;
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { D as o, cg as r, ce as i, ce as l, an as u, ap as d, ci as D, ch as n, az as c, bM as p, ao as m, a7 as T, au as b, ax as y, at as S, as as h, ar as g, cj as C, cf as f, y as x, x as F, cc as A, aM as k, a5 as q, cd as v } from "./chunks/index-
|
|
2
|
-
import { A as N, D as Q, I as z, F as G, z as H } from "./chunks/index-
|
|
1
|
+
import { D as o, cg as r, ce as i, ce as l, an as u, ap as d, ci as D, ch as n, az as c, bM as p, ao as m, a7 as T, au as b, ax as y, at as S, as as h, ar as g, cj as C, cf as f, y as x, x as F, cc as A, aM as k, a5 as q, cd as v } from "./chunks/index-DD_Iz12h.js";
|
|
2
|
+
import { A as N, D as Q, I as z, F as G, z as H } from "./chunks/index-Bbvr9K_x.js";
|
|
3
3
|
import "react";
|
|
4
4
|
import "react-dom";
|
|
5
5
|
export {
|