react-semaphor 0.0.387 → 0.0.388

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.
@@ -55249,21 +55249,30 @@ function age({
55249
55249
  style: { backgroundColor: i },
55250
55250
  ...o
55251
55251
  }
55252
- ) : /* @__PURE__ */ v("code", { className: "rounded-md bg-muted px-2 py-1 text-xs", ...o });
55252
+ ) : /* @__PURE__ */ v("code", { className: "rounded-md text-xs text-yellow-700", ...o });
55253
55253
  },
55254
55254
  pre: (r) => /* @__PURE__ */ v(cge, { ...r, handleRun: t }),
55255
- li: ({ node: r, ...o }) => /* @__PURE__ */ v("li", { className: "my-2 list-outside pl-4 text-sm", ...o }),
55255
+ li: ({ node: r, ...o }) => {
55256
+ var a;
55257
+ return ((a = r == null ? void 0 : r.children) == null ? void 0 : a.some(
55258
+ (s) => s.type === "element" && (s.tagName === "pre" || s.tagName === "code")
55259
+ )) ? /* @__PURE__ */ v("li", { className: "my-2 list-inside pl-4 text-sm", ...o }) : /* @__PURE__ */ v("li", { className: "my-2 list-inside list-disc pl-2 text-sm", ...o });
55260
+ },
55256
55261
  a: ({ node: r, ...o }) => /* @__PURE__ */ v(
55257
55262
  "a",
55258
55263
  {
55259
55264
  target: "_blank",
55260
55265
  rel: "noopener noreferrer",
55261
- className: "text-blue-700",
55266
+ className: "text-blue-700 hover:underline",
55262
55267
  ...o
55263
55268
  }
55264
- )
55269
+ ),
55270
+ h1: ({ node: r, ...o }) => /* @__PURE__ */ v("h1", { className: "text-lg font-bold", ...o }),
55271
+ h2: ({ node: r, ...o }) => /* @__PURE__ */ v("h2", { className: "text-md font-bold", ...o }),
55272
+ h3: ({ node: r, ...o }) => /* @__PURE__ */ v("h3", { className: "text-sm font-bold", ...o }),
55273
+ h4: ({ node: r, ...o }) => /* @__PURE__ */ v("h4", { className: "text-xs font-bold", ...o })
55265
55274
  // You can add more overrides for other elements like h1, h2, etc.
55266
- }, children: e.content.replace(/DuckDB/gi, "Semaphor") });
55275
+ }, children: e.content });
55267
55276
  }
55268
55277
  function sge({
55269
55278
  status: e,
@@ -55386,18 +55395,18 @@ function qve(e, t) {
55386
55395
  }
55387
55396
  const dge = Mn(
55388
55397
  ({ input: e, setInput: t, handleInputChange: n, handleSubmit: r, isLoading: o, stop: i }, a) => {
55389
- const [s, l] = ge(2), c = 5, u = (h) => {
55390
- const p = h.target.rows;
55391
- h.target.rows = 1;
55392
- const g = Math.floor(
55393
- h.target.scrollHeight / 24
55398
+ const [l, c] = ge(2), u = 5, d = (f) => {
55399
+ const g = f.target.rows;
55400
+ f.target.rows = 2;
55401
+ const m = Math.floor(
55402
+ f.target.scrollHeight / 24
55394
55403
  );
55395
- g === p && (h.target.rows = g), g >= c && (h.target.rows = c, h.target.scrollTop = h.target.scrollHeight), l(Math.min(g, c)), n(h);
55396
- }, d = (h) => {
55397
- if (h.key === "Enter") {
55398
- if (h.shiftKey)
55404
+ m === g && (f.target.rows = m), m >= u && (f.target.rows = u, f.target.scrollTop = f.target.scrollHeight), c(Math.min(m, u)), n(f);
55405
+ }, h = (f) => {
55406
+ if (f.key === "Enter") {
55407
+ if (f.shiftKey)
55399
55408
  return;
55400
- h.preventDefault(), r && e.trim() !== "" && (r(h), t(""), l(1));
55409
+ f.preventDefault(), r && e.trim() !== "" && (r(f), t(""), c(1));
55401
55410
  }
55402
55411
  };
55403
55412
  return /* @__PURE__ */ Q(
@@ -55417,9 +55426,9 @@ const dge = Mn(
55417
55426
  ),
55418
55427
  disabled: o,
55419
55428
  value: e,
55420
- rows: s,
55421
- onKeyDown: d,
55422
- onChange: u
55429
+ rows: l,
55430
+ onKeyDown: h,
55431
+ onChange: d
55423
55432
  }
55424
55433
  ),
55425
55434
  /* @__PURE__ */ Q("div", { className: "mr-2 flex items-center gap-2", children: [
@@ -361,7 +361,7 @@ prismjs/prism.js:
361
361
  * @namespace
362
362
  * @public
363
363
  *)
364
- */function Pge({message:e,onAddToDashboard:t}){var i;const n=(i=e==null?void 0:e.parts)==null?void 0:i.filter(s=>s.type==="tool-invocation"&&s.toolInvocation.toolName==="getData"&&s.toolInvocation.state==="result");if(!n)return null;const o=n.map(s=>s.toolInvocation).map(s=>{const a=s.result;if(a.status==="error")return null;const l=a.data.records;return{chartCfg:Nw({cardType:s.args.chartType,data:l}),chartTitle:s.args.chartTitle,chartType:s.args.chartType,sql:s.args.sql,data:l,connectionId:s.args.connectionId}}).filter(s=>s!==null);return!o||o.length===0?null:m.jsx("div",{className:"",children:o.map((s,a)=>m.jsxs("div",{className:"group relative isolate flex h-[350px] w-[99%] grow flex-col",children:[m.jsxs(qt,{className:"invisible absolute right-0 top-0 z-10 h-8 p-2 group-hover:visible",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:[m.jsx(gg,{className:"mr-1 size-4"}),"Add"]}),m.jsx(c1,{cfg:s.chartCfg})]},a))})}function Mge({message:e,showTools:t}){var r;if(!t)return null;const n=(r=e==null?void 0:e.parts)==null?void 0:r.filter(o=>o.type==="tool-invocation");return m.jsx("div",{className:"space-y-3",children:n==null?void 0:n.map((o,i)=>{const s=o.toolInvocation;return m.jsxs(Nce,{children:[m.jsxs(Fce,{className:"rounded-md bg-green-200 p-1 px-2 font-mono text-xs text-black",children:[m.jsx("span",{className:"font-bold",children:"Tool:"})," ",s.toolName]}),m.jsx(jce,{className:"mt-2 font-mono text-xs",children:m.jsxs("div",{className:"space-y-2 px-2",children:[m.jsxs("div",{className:"space-y-1",children:[m.jsx("span",{children:"Args:"}),m.jsx(Ip,{language:"json",code:JSON.stringify(s.args,null,2)})]}),m.jsxs("div",{className:"space-y-1",children:[m.jsx("span",{children:"Result:"}),m.jsx(Ip,{language:"json",code:JSON.stringify(s.result,null,2)})]})]})})]},i)})})}function Oge({message:e}){return e.role!=="user"?null:m.jsxs("div",{className:"rounded-md bg-muted/50 p-3 text-sm",children:[m.jsx(vB,{className:"float-left mr-2 size-4"}),m.jsx("div",{className:"whitespace-pre-line",children:e.content})]})}function Tge({message:e}){if(e.role!=="system")return null;const t=e.content.split("|"),n=t[0],r=t[1]||"{}",o=JSON.parse(r);return m.jsxs("div",{className:"space-y-1",children:[m.jsxs("div",{children:[m.jsx("span",{className:"font-bold",children:"System Message:"})," ",n]}),m.jsxs("div",{className:"space-y-1",children:[m.jsx("span",{className:"font-mono text-xs",children:"Scope:"}),m.jsx(Ip,{language:"json",code:JSON.stringify(o,null,2)})]})]})}function Dge({message:e,handleRun:t}){if(e.role!=="assistant")return null;const n={p:({node:r,...o})=>m.jsx("p",{className:"text-sm",...o}),code:({node:r,...o})=>{var s,a;const i=(a=(s=r==null?void 0:r.children)==null?void 0:s[0])==null?void 0:a.value;return i&&/^#([0-9a-fA-F]{6})$/.test(i)?m.jsx("code",{className:"rounded-md bg-muted px-2 py-1 text-xs",style:{backgroundColor:i},...o}):m.jsx("code",{className:"rounded-md bg-muted px-2 py-1 text-xs",...o})},pre:r=>m.jsx(Ige,{...r,handleRun:t}),li:({node:r,...o})=>m.jsx("li",{className:"my-2 list-outside pl-4 text-sm",...o}),a:({node:r,...o})=>m.jsx("a",{target:"_blank",rel:"noopener noreferrer",className:"text-blue-700",...o})};return m.jsx(vpe,{components:n,children:e.content.replace(/DuckDB/gi,"Semaphor")})}function e4({status:e,isLoading:t}){return t?m.jsx("div",{className:"flex items-center text-xs text-muted-foreground",children:e}):null}function t4({messages:e,showTools:t=!1,showSystemMessage:n=!1,handleRun:r,onAddToDashboard:o}){return e==null?void 0:e.map(i=>m.jsxs("div",{className:ie("relative my-4 space-y-4 text-sm text-foreground/80"),children:[m.jsx(Oge,{message:i}),n&&m.jsx(Tge,{message:i}),m.jsx(Mge,{message:i,showTools:t}),m.jsx(Pge,{onAddToDashboard:o,message:i}),m.jsx(Dge,{message:i,handleRun:r})]},i.id))}function Ige({children:e,handleRun:t}){const n=se(a=>a.isVisualEditing),[r,o]=E.useState(!1);E.useRef(null);const i=()=>{navigator.clipboard.writeText(s).then(()=>{o(!0),setTimeout(()=>o(!1),2e3)})},s=Qv(e);return m.jsxs("pre",{className:"relative my-2 space-y-2 rounded-md bg-muted/50",children:[m.jsxs("div",{className:"float-right m-1.5",children:[m.jsx(qt,{className:"h-8 p-2 text-xs text-muted-foreground hover:text-foreground",onClick:i,size:"sm",variant:"ghost",children:r?m.jsx(oc,{className:"size-3"}):m.jsx(tO,{className:"size-3"})}),n&&m.jsx(qt,{className:"h-8 p-2 text-muted-foreground hover:text-foreground",onClick:()=>t==null?void 0:t(s),size:"sm",variant:"ghost",children:m.jsx(lO,{className:"size-3"})})]}),m.jsx(Ip,{code:s})]})}function Qv(e){return typeof e=="string"?e:Array.isArray(e)?e.map(Qv).join(""):E.isValidElement(e)?Qv(e.props.children):""}const Ip=({code:e,language:t="sql"})=>{const n=se(r=>r.theme);return m.jsx(kge,{code:e,language:t,theme:n==="dark"?Xv.vsDark:Xv.vsLight,children:({className:r,style:o,tokens:i,getLineProps:s,getTokenProps:a})=>m.jsx("pre",{className:`${r} border-1 whitespace-pre-wrap rounded-md border border-muted p-2 text-xs`,style:{...o},children:i.map((l,c)=>m.jsx("div",{...s({line:l}),children:l.map((u,d)=>m.jsx("span",{...a({token:u})},d))},c))})})};function n4(e,t){return t||(e==="ready"?"":e==="error"?"Error":e==="streaming"?"":"Thinking...")}function Age(e,t){return e.some(n=>n.tableName&&n.tableName===t.tableName||n.datamodelName&&n.datamodelName===t.datamodelName)}function Nge(e){return e.filter((n,r,o)=>r===o.findIndex(i=>i.tableName===n.tableName&&i.datamodelName===n.datamodelName))}function Fge(e,t){return e.filter(n=>!(n.connectionId===t.connectionId&&n.tableName===t.tableName&&n.datamodelName===t.datamodelName))}const r4=E.forwardRef(({input:e,setInput:t,handleInputChange:n,handleSubmit:r,isLoading:o,stop:i},s)=>{const[a,l]=E.useState(2),c=5,u=h=>{const p=h.target.rows;h.target.rows=1;const g=Math.floor(h.target.scrollHeight/24);g===p&&(h.target.rows=g),g>=c&&(h.target.rows=c,h.target.scrollTop=h.target.scrollHeight),l(Math.min(g,c)),n(h)},d=h=>{if(h.key==="Enter"){if(h.shiftKey)return;h.preventDefault(),r&&e.trim()!==""&&(r(h),t(""),l(1))}};return m.jsxs("form",{onSubmit:r,className:"flex w-full items-end gap-2 rounded-md border py-3 pl-1 pr-2",children:[m.jsx(H1,{autoFocus:!0,ref:s,placeholder:"Type your question...",className:ie("min-h-7 resize-none border-none focus-visible:ring-0 focus-visible:ring-ring focus-visible:ring-offset-0"),disabled:o,value:e,rows:a,onKeyDown:d,onChange:u}),m.jsxs("div",{className:"mr-2 flex items-center gap-2",children:[o===!0&&m.jsx(qt,{size:"sm",className:"h-9 rounded-full p-2.5",onClick:()=>i(),children:m.jsx(pB,{className:"size-3.5 bg-background"})}),o===!1&&m.jsx(qt,{disabled:o===!1&&!e,size:"sm",className:"h-9 rounded-full p-2.5",onClick:()=>i(),children:m.jsx(lB,{className:"size-4 font-bold"})})]})]})});function jge({handleChatBox:e}){const t=E.useRef(null),[n,r]=E.useState(""),[o,i]=E.useState(!1),s=se(T=>T.dashboard.aiScopeTables),{setSelectedConnectionId:a}=xd(),l=se(T=>T.selectedSheetId),{addFrame:c,setSelectedFrameId:u,setIsDashboardEditing:d}=Bt(),{authToken:h}=xr(),f=Sx(),{messages:p,setMessages:g,reload:b,input:y,setInput:v,status:x,handleInputChange:_,handleSubmit:w,stop:S}=lF({api:"https://semaphor.cloud/api/v1/chat",headers:{Authorization:`Bearer ${h==null?void 0:h.accessToken}`},maxSteps:10,async onToolCall({toolCall:T}){if(T.toolName==="getTables")return r("Initializing..."),{tables:s||[]};if(T.toolName==="getSchemas"&&r("Analyzing..."),T.toolName==="getData"){r("Fetching...");const I=T.args;if(!(I!=null&&I.sql)||!(I!=null&&I.connectionId))return"Please provide sql, connectionId and table";try{return{status:"success",data:await f.fetchQuery({queryKey:["chat",I.connectionId,I.sql],queryFn:()=>Yp("https://semaphor.cloud/api/v1/query",(h==null?void 0:h.accessToken)||(h==null?void 0:h.accessToken)||"",{connection_id:I.connectionId,sql:I.sql,cache_config:bx({})})})}}catch(A){return console.log("error",A.message),r("Error fetching data"),{status:"error",message:A.message}}}},onFinish(T,I){r(T.content),I.finishReason==="stop"&&r("")}}),R=()=>{var T;(T=t.current)==null||T.scrollIntoView({behavior:"smooth"})};E.useEffect(()=>{R()},[p]);function P({sql:T,data:I,cardCfg:A,cardTitle:U,connectionId:$,cardType:D}){if(!l)return;const F={id:zi(),title:U||"Title",description:"Description",preferences:{onClickFilter:[{columnIndex:0,expression:""}],chartOptions:{indexAxis:D==="horizontalBar"?"y":"x"}},type:A.type,cfg:A,sql:T,data:I,connectionId:$},N={id:zi(),cards:[F],activeCardId:F.id};d(!0),c(l,N,"start"),u(N.id)}const O=!["ready","error"].includes(x);return m.jsxs("div",{role:"chat-box",className:"flex h-full grow flex-col justify-between break-words rounded-md",children:[m.jsxs("div",{className:"flex items-center justify-between gap-2 px-6 pb-3 pt-6",children:[m.jsxs("div",{className:"flex items-center gap-4",children:[m.jsx(Rt,{className:"flex items-center gap-2 text-xl",children:"Assistant"}),m.jsxs(Md,{openDelay:0,children:[m.jsx(Od,{children:m.jsx(xB,{className:"size-4 text-muted-foreground"})}),m.jsx(fc,{className:"w-70 p-2",children:m.jsx("div",{className:"flex justify-between space-x-2 text-muted-foreground",children:m.jsxs("div",{children:[(s==null?void 0:s.length)===0&&m.jsx("p",{className:"text-sm",children:"No tables in scope"}),m.jsx("div",{className:"space-y-2",children:s==null?void 0:s.map((T,I)=>m.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[m.jsx(yB,{className:"size-3 text-muted-foreground/70"}),m.jsx("span",{children:yP({schemaName:T.schemaName||"",tableName:T.tableName||"",modelName:T.datamodelName||"",connectionType:T.connectionType||""})})]},I))})]})})})]})]}),m.jsxs("div",{className:"flex items-center",children:[m.jsx(qt,{className:"h-7 p-2",size:"sm",variant:"ghost",onClick:()=>{g([]),b()},children:m.jsx(cO,{className:"size-3.5 text-muted-foreground"})}),m.jsx(qt,{className:"h-7 p-2",size:"sm",variant:"ghost",onClick:()=>e(!1),children:m.jsx(Ca,{className:"size-4 text-muted-foreground"})})]})]}),m.jsxs(Zs,{className:"flex flex-1 basis-0 flex-col flex-wrap justify-end px-6 py-3",children:[m.jsxs("div",{className:"pb-4",children:[m.jsx(t4,{messages:p,onAddToDashboard:P}),m.jsx(e4,{status:n4(x,n),isLoading:O}),m.jsx("div",{ref:t})]}),m.jsx(Fd,{orientation:"vertical"})]}),m.jsx("div",{className:"px-6 pb-6",children:m.jsx(r4,{setInput:v,stop:S,input:y,handleInputChange:_,handleSubmit:w,isLoading:O})})]})}const{createElement:Jl,createContext:Lge,forwardRef:o4,useCallback:$n,useContext:i4,useEffect:ea,useImperativeHandle:s4,useLayoutEffect:$ge,useMemo:zge,useRef:Un,useState:hl}=C,Ek=C[`useId${Math.random()}`.slice(0,5)],Bge=$ge,cm=Lge(null);cm.displayName="PanelGroupContext";const ta=Bge,Vge=typeof Ek=="function"?Ek:()=>null;let Hge=0;function bS(e=null){const t=Vge(),n=Un(e||t||null);return n.current===null&&(n.current=""+Hge++),e??n.current}function a4({children:e,className:t="",collapsedSize:n,collapsible:r,defaultSize:o,forwardedRef:i,id:s,maxSize:a,minSize:l,onCollapse:c,onExpand:u,onResize:d,order:h,style:f,tagName:p="div",...g}){const b=i4(cm);if(b===null)throw Error("Panel components must be rendered within a PanelGroup container");const{collapsePanel:y,expandPanel:v,getPanelSize:x,getPanelStyle:_,groupId:w,isPanelCollapsed:S,reevaluatePanelConstraints:R,registerPanel:P,resizePanel:O,unregisterPanel:T}=b,I=bS(s),A=Un({callbacks:{onCollapse:c,onExpand:u,onResize:d},constraints:{collapsedSize:n,collapsible:r,defaultSize:o,maxSize:a,minSize:l},id:I,idIsFromProps:s!==void 0,order:h});Un({didLogMissingDefaultSizeWarning:!1}),ta(()=>{const{callbacks:$,constraints:D}=A.current,F={...D};A.current.id=I,A.current.idIsFromProps=s!==void 0,A.current.order=h,$.onCollapse=c,$.onExpand=u,$.onResize=d,D.collapsedSize=n,D.collapsible=r,D.defaultSize=o,D.maxSize=a,D.minSize=l,(F.collapsedSize!==D.collapsedSize||F.collapsible!==D.collapsible||F.maxSize!==D.maxSize||F.minSize!==D.minSize)&&R(A.current,F)}),ta(()=>{const $=A.current;return P($),()=>{T($)}},[h,I,P,T]),s4(i,()=>({collapse:()=>{y(A.current)},expand:$=>{v(A.current,$)},getId(){return I},getSize(){return x(A.current)},isCollapsed(){return S(A.current)},isExpanded(){return!S(A.current)},resize:$=>{O(A.current,$)}}),[y,v,x,S,I,O]);const U=_(A.current,o);return Jl(p,{...g,children:e,className:t,id:s,style:{...U,...f},"data-panel":"","data-panel-collapsible":r||void 0,"data-panel-group-id":w,"data-panel-id":I,"data-panel-size":parseFloat(""+U.flexGrow).toFixed(1)})}const l4=o4((e,t)=>Jl(a4,{...e,forwardedRef:t}));a4.displayName="Panel";l4.displayName="forwardRef(Panel)";let Zv=null,As=null;function Wge(e,t){if(t){const n=(t&h4)!==0,r=(t&p4)!==0,o=(t&g4)!==0,i=(t&m4)!==0;if(n)return o?"se-resize":i?"ne-resize":"e-resize";if(r)return o?"sw-resize":i?"nw-resize":"w-resize";if(o)return"s-resize";if(i)return"n-resize"}switch(e){case"horizontal":return"ew-resize";case"intersection":return"move";case"vertical":return"ns-resize"}}function Uge(){As!==null&&(document.head.removeChild(As),Zv=null,As=null)}function xy(e,t){const n=Wge(e,t);Zv!==n&&(Zv=n,As===null&&(As=document.createElement("style"),document.head.appendChild(As)),As.innerHTML=`*{cursor: ${n}!important;}`)}function c4(e){return e.type==="keydown"}function u4(e){return e.type.startsWith("pointer")}function d4(e){return e.type.startsWith("mouse")}function um(e){if(u4(e)){if(e.isPrimary)return{x:e.clientX,y:e.clientY}}else if(d4(e))return{x:e.clientX,y:e.clientY};return{x:1/0,y:1/0}}function Gge(){if(typeof matchMedia=="function")return matchMedia("(pointer:coarse)").matches?"coarse":"fine"}function qge(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 Yge(e,t){if(e===t)throw new Error("Cannot compare node with itself");const n={a:Pk(e),b:Pk(t)};let r;for(;n.a.at(-1)===n.b.at(-1);)e=n.a.pop(),t=n.b.pop(),r=e;Ve(r,"Stacking order can only be calculated for elements with a common ancestor");const o={a:kk(Rk(n.a)),b:kk(Rk(n.b))};if(o.a===o.b){const i=r.childNodes,s={a:n.a.at(-1),b:n.b.at(-1)};let a=i.length;for(;a--;){const l=i[a];if(l===s.a)return 1;if(l===s.b)return-1}}return Math.sign(o.a-o.b)}const Kge=/\b(?:position|zIndex|opacity|transform|webkitTransform|mixBlendMode|filter|webkitFilter|isolation)\b/;function Xge(e){var t;const n=getComputedStyle((t=f4(e))!==null&&t!==void 0?t:e).display;return n==="flex"||n==="inline-flex"}function Qge(e){const t=getComputedStyle(e);return!!(t.position==="fixed"||t.zIndex!=="auto"&&(t.position!=="static"||Xge(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"||Kge.test(t.willChange)||t.webkitOverflowScrolling==="touch")}function Rk(e){let t=e.length;for(;t--;){const n=e[t];if(Ve(n,"Missing node"),Qge(n))return n}return null}function kk(e){return e&&Number(getComputedStyle(e).zIndex)||0}function Pk(e){const t=[];for(;e;)t.push(e),e=f4(e);return t}function f4(e){const{parentNode:t}=e;return t&&t instanceof ShadowRoot?t.host:t}const h4=1,p4=2,g4=4,m4=8,Zge=Gge()==="coarse";let Gr=[],pl=!1,Si=new Map,dm=new Map;const od=new Set;function Jge(e,t,n,r,o){var i;const{ownerDocument:s}=t,a={direction:n,element:t,hitAreaMargins:r,setResizeHandlerState:o},l=(i=Si.get(s))!==null&&i!==void 0?i:0;return Si.set(s,l+1),od.add(a),Ap(),function(){var u;dm.delete(e),od.delete(a);const d=(u=Si.get(s))!==null&&u!==void 0?u:1;if(Si.set(s,d-1),Ap(),d===1&&Si.delete(s),Gr.includes(a)){const h=Gr.indexOf(a);h>=0&&Gr.splice(h,1),vS(),o("up",!0,null)}}}function Mk(e){const{target:t}=e,{x:n,y:r}=um(e);pl=!0,yS({target:t,x:n,y:r}),Ap(),Gr.length>0&&(Np("down",e),e.preventDefault(),e.stopPropagation())}function $c(e){const{x:t,y:n}=um(e);if(pl&&e.buttons===0&&(pl=!1,Np("up",e)),!pl){const{target:r}=e;yS({target:r,x:t,y:n})}Np("move",e),vS(),Gr.length>0&&e.preventDefault()}function Va(e){const{target:t}=e,{x:n,y:r}=um(e);dm.clear(),pl=!1,Gr.length>0&&e.preventDefault(),Np("up",e),yS({target:t,x:n,y:r}),vS(),Ap()}function yS({target:e,x:t,y:n}){Gr.splice(0);let r=null;(e instanceof HTMLElement||e instanceof SVGElement)&&(r=e),od.forEach(o=>{const{element:i,hitAreaMargins:s}=o,a=i.getBoundingClientRect(),{bottom:l,left:c,right:u,top:d}=a,h=Zge?s.coarse:s.fine;if(t>=c-h&&t<=u+h&&n>=d-h&&n<=l+h){if(r!==null&&document.contains(r)&&i!==r&&!i.contains(r)&&!r.contains(i)&&Yge(r,i)>0){let p=r,g=!1;for(;p&&!p.contains(i);){if(qge(p.getBoundingClientRect(),a)){g=!0;break}p=p.parentElement}if(g)return}Gr.push(o)}})}function wy(e,t){dm.set(e,t)}function vS(){let e=!1,t=!1;Gr.forEach(r=>{const{direction:o}=r;o==="horizontal"?e=!0:t=!0});let n=0;dm.forEach(r=>{n|=r}),e&&t?xy("intersection",n):e?xy("horizontal",n):t?xy("vertical",n):Uge()}function Ap(){Si.forEach((e,t)=>{const{body:n}=t;n.removeEventListener("contextmenu",Va),n.removeEventListener("pointerdown",Mk),n.removeEventListener("pointerleave",$c),n.removeEventListener("pointermove",$c)}),window.removeEventListener("pointerup",Va),window.removeEventListener("pointercancel",Va),od.size>0&&(pl?(Gr.length>0&&Si.forEach((e,t)=>{const{body:n}=t;e>0&&(n.addEventListener("contextmenu",Va),n.addEventListener("pointerleave",$c),n.addEventListener("pointermove",$c))}),window.addEventListener("pointerup",Va),window.addEventListener("pointercancel",Va)):Si.forEach((e,t)=>{const{body:n}=t;e>0&&(n.addEventListener("pointerdown",Mk,{capture:!0}),n.addEventListener("pointermove",$c))}))}function Np(e,t){od.forEach(n=>{const{setResizeHandlerState:r}=n,o=Gr.includes(n);r(e,o,t)})}function eme(){const[e,t]=hl(0);return $n(()=>t(n=>n+1),[])}function Ve(e,t){if(!e)throw console.error(t),Error(t)}const xS=10;function ga(e,t,n=xS){return e.toFixed(n)===t.toFixed(n)?0:e>t?1:-1}function Jo(e,t,n=xS){return ga(e,t,n)===0}function ur(e,t,n){return ga(e,t,n)===0}function tme(e,t,n){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++){const o=e[r],i=t[r];if(!ur(o,i,n))return!1}return!0}function Za({panelConstraints:e,panelIndex:t,size:n}){const r=e[t];Ve(r!=null,`Panel constraints not found for index ${t}`);let{collapsedSize:o=0,collapsible:i,maxSize:s=100,minSize:a=0}=r;if(ga(n,a)<0)if(i){const l=(o+a)/2;ga(n,l)<0?n=o:n=a}else n=a;return n=Math.min(s,n),n=parseFloat(n.toFixed(xS)),n}function tu({delta:e,initialLayout:t,panelConstraints:n,pivotIndices:r,prevLayout:o,trigger:i}){if(ur(e,0))return t;const s=[...t],[a,l]=r;Ve(a!=null,"Invalid first pivot index"),Ve(l!=null,"Invalid second pivot index");let c=0;if(i==="keyboard"){{const d=e<0?l:a,h=n[d];Ve(h,`Panel constraints not found for index ${d}`);const{collapsedSize:f=0,collapsible:p,minSize:g=0}=h;if(p){const b=t[d];if(Ve(b!=null,`Previous layout not found for panel index ${d}`),ur(b,f)){const y=g-b;ga(y,Math.abs(e))>0&&(e=e<0?0-y:y)}}}{const d=e<0?a:l,h=n[d];Ve(h,`No panel constraints found for index ${d}`);const{collapsedSize:f=0,collapsible:p,minSize:g=0}=h;if(p){const b=t[d];if(Ve(b!=null,`Previous layout not found for panel index ${d}`),ur(b,g)){const y=b-f;ga(y,Math.abs(e))>0&&(e=e<0?0-y:y)}}}}{const d=e<0?1:-1;let h=e<0?l:a,f=0;for(;;){const g=t[h];Ve(g!=null,`Previous layout not found for panel index ${h}`);const y=Za({panelConstraints:n,panelIndex:h,size:100})-g;if(f+=y,h+=d,h<0||h>=n.length)break}const p=Math.min(Math.abs(e),Math.abs(f));e=e<0?0-p:p}{let h=e<0?a:l;for(;h>=0&&h<n.length;){const f=Math.abs(e)-Math.abs(c),p=t[h];Ve(p!=null,`Previous layout not found for panel index ${h}`);const g=p-f,b=Za({panelConstraints:n,panelIndex:h,size:g});if(!ur(p,b)&&(c+=p-b,s[h]=b,c.toPrecision(3).localeCompare(Math.abs(e).toPrecision(3),void 0,{numeric:!0})>=0))break;e<0?h--:h++}}if(tme(o,s))return o;{const d=e<0?l:a,h=t[d];Ve(h!=null,`Previous layout not found for panel index ${d}`);const f=h+c,p=Za({panelConstraints:n,panelIndex:d,size:f});if(s[d]=p,!ur(p,f)){let g=f-p,y=e<0?l:a;for(;y>=0&&y<n.length;){const v=s[y];Ve(v!=null,`Previous layout not found for panel index ${y}`);const x=v+g,_=Za({panelConstraints:n,panelIndex:y,size:x});if(ur(v,_)||(g-=_-v,s[y]=_),ur(g,0))break;e>0?y--:y++}}}const u=s.reduce((d,h)=>h+d,0);return ur(u,100)?s:o}function nme({layout:e,panelsArray:t,pivotIndices:n}){let r=0,o=100,i=0,s=0;const a=n[0];Ve(a!=null,"No pivot index found"),t.forEach((d,h)=>{const{constraints:f}=d,{maxSize:p=100,minSize:g=0}=f;h===a?(r=g,o=p):(i+=g,s+=p)});const l=Math.min(o,100-i),c=Math.max(r,100-s),u=e[a];return{valueMax:l,valueMin:c,valueNow:u}}function id(e,t=document){return Array.from(t.querySelectorAll(`[data-panel-resize-handle-id][data-panel-group-id="${e}"]`))}function b4(e,t,n=document){const o=id(e,n).findIndex(i=>i.getAttribute("data-panel-resize-handle-id")===t);return o??null}function y4(e,t,n){const r=b4(e,t,n);return r!=null?[r,r+1]:[-1,-1]}function v4(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 fm(e,t=document){const n=t.querySelector(`[data-panel-resize-handle-id="${e}"]`);return n||null}function rme(e,t,n,r=document){var o,i,s,a;const l=fm(t,r),c=id(e,r),u=l?c.indexOf(l):-1,d=(o=(i=n[u])===null||i===void 0?void 0:i.id)!==null&&o!==void 0?o:null,h=(s=(a=n[u+1])===null||a===void 0?void 0:a.id)!==null&&s!==void 0?s:null;return[d,h]}function ome({committedValuesRef:e,eagerValuesRef:t,groupId:n,layout:r,panelDataArray:o,panelGroupElement:i,setLayout:s}){Un({didWarnAboutMissingResizeHandle:!1}),ta(()=>{if(!i)return;const a=id(n,i);for(let l=0;l<o.length-1;l++){const{valueMax:c,valueMin:u,valueNow:d}=nme({layout:r,panelsArray:o,pivotIndices:[l,l+1]}),h=a[l];if(h!=null){const f=o[l];Ve(f,`No panel data found for index "${l}"`),h.setAttribute("aria-controls",f.id),h.setAttribute("aria-valuemax",""+Math.round(c)),h.setAttribute("aria-valuemin",""+Math.round(u)),h.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,o,i]),ea(()=>{if(!i)return;const a=t.current;Ve(a,"Eager values not found");const{panelDataArray:l}=a,c=v4(n,i);Ve(c!=null,`No group found for id "${n}"`);const u=id(n,i);Ve(u,`No resize handles found for group id "${n}"`);const d=u.map(h=>{const f=h.getAttribute("data-panel-resize-handle-id");Ve(f,"Resize handle element has no handle id attribute");const[p,g]=rme(n,f,l,i);if(p==null||g==null)return()=>{};const b=y=>{if(!y.defaultPrevented)switch(y.key){case"Enter":{y.preventDefault();const v=l.findIndex(x=>x.id===p);if(v>=0){const x=l[v];Ve(x,`No panel data found for index ${v}`);const _=r[v],{collapsedSize:w=0,collapsible:S,minSize:R=0}=x.constraints;if(_!=null&&S){const P=tu({delta:ur(_,w)?R-w:w-_,initialLayout:r,panelConstraints:l.map(O=>O.constraints),pivotIndices:y4(n,f,i),prevLayout:r,trigger:"keyboard"});r!==P&&s(P)}}break}}};return h.addEventListener("keydown",b),()=>{h.removeEventListener("keydown",b)}});return()=>{d.forEach(h=>h())}},[i,e,t,n,r,o,s])}function Ok(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 x4(e,t){const n=e==="horizontal",{x:r,y:o}=um(t);return n?r:o}function ime(e,t,n,r,o){const i=n==="horizontal",s=fm(t,o);Ve(s,`No resize handle element found for id "${t}"`);const a=s.getAttribute("data-panel-group-id");Ve(a,"Resize handle element has no group id attribute");let{initialCursorPosition:l}=r;const c=x4(n,e),u=v4(a,o);Ve(u,`No group element found for id "${a}"`);const d=u.getBoundingClientRect(),h=i?d.width:d.height;return(c-l)/h*100}function sme(e,t,n,r,o,i){if(c4(e)){const s=n==="horizontal";let a=0;e.shiftKey?a=100:o!=null?a=o: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:ime(e,t,n,r,i)}function ame({panelDataArray:e}){const t=Array(e.length),n=e.map(i=>i.constraints);let r=0,o=100;for(let i=0;i<e.length;i++){const s=n[i];Ve(s,`Panel constraints not found for index ${i}`);const{defaultSize:a}=s;a!=null&&(r++,t[i]=a,o-=a)}for(let i=0;i<e.length;i++){const s=n[i];Ve(s,`Panel constraints not found for index ${i}`);const{defaultSize:a}=s;if(a!=null)continue;const l=e.length-r,c=o/l;r++,t[i]=c,o-=c}return t}function Ha(e,t,n){t.forEach((r,o)=>{const i=e[o];Ve(i,`Panel data not found for index ${o}`);const{callbacks:s,constraints:a,id:l}=i,{collapsedSize:c=0,collapsible:u}=a,d=n[l];if(d==null||r!==d){n[l]=r;const{onCollapse:h,onExpand:f,onResize:p}=s;p&&p(r,d),u&&(h||f)&&(f&&(d==null||Jo(d,c))&&!Jo(r,c)&&f(),h&&(d==null||!Jo(d,c))&&Jo(r,c)&&h())}})}function lh(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 lme({defaultSize:e,dragState:t,layout:n,panelData:r,panelIndex:o,precision:i=3}){const s=n[o];let a;return s==null?a=e!=null?e.toPrecision(i):"1":r.length===1?a="1":a=s.toPrecision(i),{flexBasis:0,flexGrow:a,flexShrink:1,overflow:"hidden",pointerEvents:t!==null?"none":void 0}}function cme(e,t=10){let n=null;return(...o)=>{n!==null&&clearTimeout(n),n=setTimeout(()=>{e(...o)},t)}}function Tk(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 w4(e){return`react-resizable-panels:${e}`}function S4(e){return e.map(t=>{const{constraints:n,id:r,idIsFromProps:o,order:i}=t;return o?r:i?`${i}:${JSON.stringify(n)}`:JSON.stringify(n)}).sort((t,n)=>t.localeCompare(n)).join(",")}function C4(e,t){try{const n=w4(e),r=t.getItem(n);if(r){const o=JSON.parse(r);if(typeof o=="object"&&o!=null)return o}}catch{}return null}function ume(e,t,n){var r,o;const i=(r=C4(e,n))!==null&&r!==void 0?r:{},s=S4(t);return(o=i[s])!==null&&o!==void 0?o:null}function dme(e,t,n,r,o){var i;const s=w4(e),a=S4(t),l=(i=C4(e,o))!==null&&i!==void 0?i:{};l[a]={expandToSizes:Object.fromEntries(n.entries()),layout:r};try{o.setItem(s,JSON.stringify(l))}catch(c){console.error(c)}}function Dk({layout:e,panelConstraints:t}){const n=[...e],r=n.reduce((i,s)=>i+s,0);if(n.length!==t.length)throw Error(`Invalid ${t.length} panel layout: ${n.map(i=>`${i}%`).join(", ")}`);if(!ur(r,100)&&n.length>0)for(let i=0;i<t.length;i++){const s=n[i];Ve(s!=null,`No layout data found for index ${i}`);const a=100/r*s;n[i]=a}let o=0;for(let i=0;i<t.length;i++){const s=n[i];Ve(s!=null,`No layout data found for index ${i}`);const a=Za({panelConstraints:t,panelIndex:i,size:s});s!=a&&(o+=s-a,n[i]=a)}if(!ur(o,0))for(let i=0;i<t.length;i++){const s=n[i];Ve(s!=null,`No layout data found for index ${i}`);const a=s+o,l=Za({panelConstraints:t,panelIndex:i,size:a});if(s!==l&&(o-=l-s,n[i]=l,ur(o,0)))break}return n}const fme=100,nu={getItem:e=>(Tk(nu),nu.getItem(e)),setItem:(e,t)=>{Tk(nu),nu.setItem(e,t)}},Ik={};function _4({autoSaveId:e=null,children:t,className:n="",direction:r,forwardedRef:o,id:i=null,onLayout:s=null,keyboardResizeBy:a=null,storage:l=nu,style:c,tagName:u="div",...d}){const h=bS(i),f=Un(null),[p,g]=hl(null),[b,y]=hl([]),v=eme(),x=Un({}),_=Un(new Map),w=Un(0),S=Un({autoSaveId:e,direction:r,dragState:p,id:h,keyboardResizeBy:a,onLayout:s,storage:l}),R=Un({layout:b,panelDataArray:[],panelDataArrayChanged:!1});Un({didLogIdAndOrderWarning:!1,didLogPanelConstraintsWarning:!1,prevPanelIds:[]}),s4(o,()=>({getId:()=>S.current.id,getLayout:()=>{const{layout:k}=R.current;return k},setLayout:k=>{const{onLayout:G}=S.current,{layout:q,panelDataArray:Y}=R.current,V=Dk({layout:k,panelConstraints:Y.map(W=>W.constraints)});Ok(q,V)||(y(V),R.current.layout=V,G&&G(V),Ha(Y,V,x.current))}}),[]),ta(()=>{S.current.autoSaveId=e,S.current.direction=r,S.current.dragState=p,S.current.id=h,S.current.onLayout=s,S.current.storage=l}),ome({committedValuesRef:S,eagerValuesRef:R,groupId:h,layout:b,panelDataArray:R.current.panelDataArray,setLayout:y,panelGroupElement:f.current}),ea(()=>{const{panelDataArray:k}=R.current;if(e){if(b.length===0||b.length!==k.length)return;let G=Ik[e];G==null&&(G=cme(dme,fme),Ik[e]=G);const q=[...k],Y=new Map(_.current);G(e,q,Y,b,l)}},[e,b,l]),ea(()=>{});const P=$n(k=>{const{onLayout:G}=S.current,{layout:q,panelDataArray:Y}=R.current;if(k.constraints.collapsible){const V=Y.map(ne=>ne.constraints),{collapsedSize:W=0,panelSize:X,pivotIndices:J}=ms(Y,k,q);if(Ve(X!=null,`Panel size not found for panel "${k.id}"`),!Jo(X,W)){_.current.set(k.id,X);const Z=Ua(Y,k)===Y.length-1?X-W:W-X,oe=tu({delta:Z,initialLayout:q,panelConstraints:V,pivotIndices:J,prevLayout:q,trigger:"imperative-api"});lh(q,oe)||(y(oe),R.current.layout=oe,G&&G(oe),Ha(Y,oe,x.current))}}},[]),O=$n((k,G)=>{const{onLayout:q}=S.current,{layout:Y,panelDataArray:V}=R.current;if(k.constraints.collapsible){const W=V.map(ee=>ee.constraints),{collapsedSize:X=0,panelSize:J=0,minSize:ne=0,pivotIndices:Z}=ms(V,k,Y),oe=G??ne;if(Jo(J,X)){const ee=_.current.get(k.id),de=ee!=null&&ee>=oe?ee:oe,xe=Ua(V,k)===V.length-1?J-de:de-J,pe=tu({delta:xe,initialLayout:Y,panelConstraints:W,pivotIndices:Z,prevLayout:Y,trigger:"imperative-api"});lh(Y,pe)||(y(pe),R.current.layout=pe,q&&q(pe),Ha(V,pe,x.current))}}},[]),T=$n(k=>{const{layout:G,panelDataArray:q}=R.current,{panelSize:Y}=ms(q,k,G);return Ve(Y!=null,`Panel size not found for panel "${k.id}"`),Y},[]),I=$n((k,G)=>{const{panelDataArray:q}=R.current,Y=Ua(q,k);return lme({defaultSize:G,dragState:p,layout:b,panelData:q,panelIndex:Y})},[p,b]),A=$n(k=>{const{layout:G,panelDataArray:q}=R.current,{collapsedSize:Y=0,collapsible:V,panelSize:W}=ms(q,k,G);return Ve(W!=null,`Panel size not found for panel "${k.id}"`),V===!0&&Jo(W,Y)},[]),U=$n(k=>{const{layout:G,panelDataArray:q}=R.current,{collapsedSize:Y=0,collapsible:V,panelSize:W}=ms(q,k,G);return Ve(W!=null,`Panel size not found for panel "${k.id}"`),!V||ga(W,Y)>0},[]),$=$n(k=>{const{panelDataArray:G}=R.current;G.push(k),G.sort((q,Y)=>{const V=q.order,W=Y.order;return V==null&&W==null?0:V==null?-1:W==null?1:V-W}),R.current.panelDataArrayChanged=!0,v()},[v]);ta(()=>{if(R.current.panelDataArrayChanged){R.current.panelDataArrayChanged=!1;const{autoSaveId:k,onLayout:G,storage:q}=S.current,{layout:Y,panelDataArray:V}=R.current;let W=null;if(k){const J=ume(k,V,q);J&&(_.current=new Map(Object.entries(J.expandToSizes)),W=J.layout)}W==null&&(W=ame({panelDataArray:V}));const X=Dk({layout:W,panelConstraints:V.map(J=>J.constraints)});Ok(Y,X)||(y(X),R.current.layout=X,G&&G(X),Ha(V,X,x.current))}}),ta(()=>{const k=R.current;return()=>{k.layout=[]}},[]);const D=$n(k=>{let G=!1;const q=f.current;return q&&window.getComputedStyle(q,null).getPropertyValue("direction")==="rtl"&&(G=!0),function(V){V.preventDefault();const W=f.current;if(!W)return()=>null;const{direction:X,dragState:J,id:ne,keyboardResizeBy:Z,onLayout:oe}=S.current,{layout:ee,panelDataArray:de}=R.current,{initialLayout:fe}=J??{},xe=y4(ne,k,W);let pe=sme(V,k,X,J,Z,W);const be=X==="horizontal";be&&G&&(pe=-pe);const je=de.map(Ge=>Ge.constraints),nt=tu({delta:pe,initialLayout:fe??ee,panelConstraints:je,pivotIndices:xe,prevLayout:ee,trigger:c4(V)?"keyboard":"mouse-or-touch"}),Vt=!lh(ee,nt);(u4(V)||d4(V))&&w.current!=pe&&(w.current=pe,!Vt&&pe!==0?be?wy(k,pe<0?h4:p4):wy(k,pe<0?g4:m4):wy(k,0)),Vt&&(y(nt),R.current.layout=nt,oe&&oe(nt),Ha(de,nt,x.current))}},[]),F=$n((k,G)=>{const{onLayout:q}=S.current,{layout:Y,panelDataArray:V}=R.current,W=V.map(ee=>ee.constraints),{panelSize:X,pivotIndices:J}=ms(V,k,Y);Ve(X!=null,`Panel size not found for panel "${k.id}"`);const Z=Ua(V,k)===V.length-1?X-G:G-X,oe=tu({delta:Z,initialLayout:Y,panelConstraints:W,pivotIndices:J,prevLayout:Y,trigger:"imperative-api"});lh(Y,oe)||(y(oe),R.current.layout=oe,q&&q(oe),Ha(V,oe,x.current))},[]),N=$n((k,G)=>{const{layout:q,panelDataArray:Y}=R.current,{collapsedSize:V=0,collapsible:W}=G,{collapsedSize:X=0,collapsible:J,maxSize:ne=100,minSize:Z=0}=k.constraints,{panelSize:oe}=ms(Y,k,q);oe!=null&&(W&&J&&Jo(oe,V)?Jo(V,X)||F(k,X):oe<Z?F(k,Z):oe>ne&&F(k,ne))},[F]),j=$n((k,G)=>{const{direction:q}=S.current,{layout:Y}=R.current;if(!f.current)return;const V=fm(k,f.current);Ve(V,`Drag handle element not found for id "${k}"`);const W=x4(q,G);g({dragHandleId:k,dragHandleRect:V.getBoundingClientRect(),initialCursorPosition:W,initialLayout:Y})},[]),H=$n(()=>{g(null)},[]),M=$n(k=>{const{panelDataArray:G}=R.current,q=Ua(G,k);q>=0&&(G.splice(q,1),delete x.current[k.id],R.current.panelDataArrayChanged=!0,v())},[v]),B=zge(()=>({collapsePanel:P,direction:r,dragState:p,expandPanel:O,getPanelSize:T,getPanelStyle:I,groupId:h,isPanelCollapsed:A,isPanelExpanded:U,reevaluatePanelConstraints:N,registerPanel:$,registerResizeHandle:D,resizePanel:F,startDragging:j,stopDragging:H,unregisterPanel:M,panelGroupElement:f.current}),[P,p,r,O,T,I,h,A,U,N,$,D,F,j,H,M]),L={display:"flex",flexDirection:r==="horizontal"?"row":"column",height:"100%",overflow:"hidden",width:"100%"};return Jl(cm.Provider,{value:B},Jl(u,{...d,children:t,className:n,id:i,ref:f,style:{...L,...c},"data-panel-group":"","data-panel-group-direction":r,"data-panel-group-id":h}))}const E4=o4((e,t)=>Jl(_4,{...e,forwardedRef:t}));_4.displayName="PanelGroup";E4.displayName="forwardRef(PanelGroup)";function Ua(e,t){return e.findIndex(n=>n===t||n.id===t.id)}function ms(e,t,n){const r=Ua(e,t),i=r===e.length-1?[r-1,r]:[r,r+1],s=n[r];return{...t.constraints,panelSize:s,pivotIndices:i}}function hme({disabled:e,handleId:t,resizeHandler:n,panelGroupElement:r}){ea(()=>{if(e||n==null||r==null)return;const o=fm(t,r);if(o==null)return;const i=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=o.getAttribute("data-panel-group-id");Ve(a,`No group element found for id "${a}"`);const l=id(a,r),c=b4(a,t,r);Ve(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 o.addEventListener("keydown",i),()=>{o.removeEventListener("keydown",i)}},[r,e,t,n])}function wS({children:e=null,className:t="",disabled:n=!1,hitAreaMargins:r,id:o,onBlur:i,onDragging:s,onFocus:a,style:l={},tabIndex:c=0,tagName:u="div",...d}){var h,f;const p=Un(null),g=Un({onDragging:s});ea(()=>{g.current.onDragging=s});const b=i4(cm);if(b===null)throw Error("PanelResizeHandle components must be rendered within a PanelGroup container");const{direction:y,groupId:v,registerResizeHandle:x,startDragging:_,stopDragging:w,panelGroupElement:S}=b,R=bS(o),[P,O]=hl("inactive"),[T,I]=hl(!1),[A,U]=hl(null),$=Un({state:P});ta(()=>{$.current.state=P}),ea(()=>{if(n)U(null);else{const j=x(R);U(()=>j)}},[n,R,x]);const D=(h=r==null?void 0:r.coarse)!==null&&h!==void 0?h:15,F=(f=r==null?void 0:r.fine)!==null&&f!==void 0?f:5;return ea(()=>{if(n||A==null)return;const j=p.current;return Ve(j,"Element ref not attached"),Jge(R,j,y,{coarse:D,fine:F},(M,B,L)=>{if(B)switch(M){case"down":{O("drag"),Ve(L,'Expected event to be defined for "down" action'),_(R,L);const{onDragging:k}=g.current;k&&k(!0);break}case"move":{const{state:k}=$.current;k!=="drag"&&O("hover"),Ve(L,'Expected event to be defined for "move" action'),A(L);break}case"up":{O("hover"),w();const{onDragging:k}=g.current;k&&k(!1);break}}else O("inactive")})},[D,y,n,F,x,R,A,_,w]),hme({disabled:n,handleId:R,resizeHandler:A,panelGroupElement:S}),Jl(u,{...d,children:e,className:t,id:o,onBlur:()=>{I(!1),i==null||i()},onFocus:()=>{I(!0),a==null||a()},ref:p,role:"separator",style:{...{touchAction:"none",userSelect:"none"},...l},tabIndex:c,"data-panel-group-direction":y,"data-panel-group-id":v,"data-resize-handle":"","data-resize-handle-active":P==="drag"?"pointer":T?"keyboard":void 0,"data-resize-handle-state":P,"data-panel-resize-handle-enabled":!n,"data-panel-resize-handle-id":R})}wS.displayName="PanelResizeHandle";const R4=({className:e,...t})=>m.jsx(E4,{className:ie("flex h-full w-full data-[panel-group-direction=vertical]:flex-col",e),...t}),Jv=l4,pme=({withHandle:e,className:t,...n})=>m.jsx(wS,{className:ie("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&&m.jsx("div",{className:"z-10 flex h-4 w-3 items-center justify-center rounded-sm border bg-border",children:m.jsx(uB,{className:"h-2.5 w-2.5"})})}),gme=({withHandle:e,className:t,onTabClick:n,open:r,...o})=>m.jsx(wS,{className:ie("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),...o,children:e&&!r&&m.jsx("div",{className:ie("z-50 flex items-center justify-start",{"border-l":r}),children:m.jsx(qt,{variant:"secondary",className:ie("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?m.jsx(nw,{className:"size-4"}):m.jsx(ZM,{className:"size-4"})})})});var SS="Dialog",[k4,P4]=Xt(SS),[mme,Qr]=k4(SS),M4=e=>{const{__scopeDialog:t,children:n,open:r,defaultOpen:o,onOpenChange:i,modal:s=!0}=e,a=C.useRef(null),l=C.useRef(null),[c=!1,u]=xn({prop:r,defaultProp:o,onChange:i});return m.jsx(mme,{scope:t,triggerRef:a,contentRef:l,contentId:Gt(),titleId:Gt(),descriptionId:Gt(),open:c,onOpenChange:u,onOpenToggle:C.useCallback(()=>u(d=>!d),[u]),modal:s,children:n})};M4.displayName=SS;var O4="DialogTrigger",T4=C.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=Qr(O4,n),i=Te(t,o.triggerRef);return m.jsx(ge.button,{type:"button","aria-haspopup":"dialog","aria-expanded":o.open,"aria-controls":o.contentId,"data-state":ES(o.open),...r,ref:i,onClick:le(e.onClick,o.onOpenToggle)})});T4.displayName=O4;var CS="DialogPortal",[bme,D4]=k4(CS,{forceMount:void 0}),I4=e=>{const{__scopeDialog:t,forceMount:n,children:r,container:o}=e,i=Qr(CS,t);return m.jsx(bme,{scope:t,forceMount:n,children:C.Children.map(r,s=>m.jsx(Yt,{present:n||i.open,children:m.jsx(Pd,{asChild:!0,container:o,children:s})}))})};I4.displayName=CS;var Fp="DialogOverlay",A4=C.forwardRef((e,t)=>{const n=D4(Fp,e.__scopeDialog),{forceMount:r=n.forceMount,...o}=e,i=Qr(Fp,e.__scopeDialog);return i.modal?m.jsx(Yt,{present:r||i.open,children:m.jsx(yme,{...o,ref:t})}):null});A4.displayName=Fp;var yme=C.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=Qr(Fp,n);return m.jsx(Dd,{as:si,allowPinchZoom:!0,shards:[o.contentRef],children:m.jsx(ge.div,{"data-state":ES(o.open),...r,ref:t,style:{pointerEvents:"auto",...r.style}})})}),ma="DialogContent",N4=C.forwardRef((e,t)=>{const n=D4(ma,e.__scopeDialog),{forceMount:r=n.forceMount,...o}=e,i=Qr(ma,e.__scopeDialog);return m.jsx(Yt,{present:r||i.open,children:i.modal?m.jsx(vme,{...o,ref:t}):m.jsx(xme,{...o,ref:t})})});N4.displayName=ma;var vme=C.forwardRef((e,t)=>{const n=Qr(ma,e.__scopeDialog),r=C.useRef(null),o=Te(t,n.contentRef,r);return C.useEffect(()=>{const i=r.current;if(i)return $g(i)},[]),m.jsx(F4,{...e,ref:o,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:le(e.onCloseAutoFocus,i=>{var s;i.preventDefault(),(s=n.triggerRef.current)==null||s.focus()}),onPointerDownOutside:le(e.onPointerDownOutside,i=>{const s=i.detail.originalEvent,a=s.button===0&&s.ctrlKey===!0;(s.button===2||a)&&i.preventDefault()}),onFocusOutside:le(e.onFocusOutside,i=>i.preventDefault())})}),xme=C.forwardRef((e,t)=>{const n=Qr(ma,e.__scopeDialog),r=C.useRef(!1),o=C.useRef(!1);return m.jsx(F4,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:i=>{var s,a;(s=e.onCloseAutoFocus)==null||s.call(e,i),i.defaultPrevented||(r.current||(a=n.triggerRef.current)==null||a.focus(),i.preventDefault()),r.current=!1,o.current=!1},onInteractOutside:i=>{var l,c;(l=e.onInteractOutside)==null||l.call(e,i),i.defaultPrevented||(r.current=!0,i.detail.originalEvent.type==="pointerdown"&&(o.current=!0));const s=i.target;((c=n.triggerRef.current)==null?void 0:c.contains(s))&&i.preventDefault(),i.detail.originalEvent.type==="focusin"&&o.current&&i.preventDefault()}})}),F4=C.forwardRef((e,t)=>{const{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:o,onCloseAutoFocus:i,...s}=e,a=Qr(ma,n),l=C.useRef(null),c=Te(t,l);return jg(),m.jsxs(m.Fragment,{children:[m.jsx(Td,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:o,onUnmountAutoFocus:i,children:m.jsx(Ea,{role:"dialog",id:a.contentId,"aria-describedby":a.descriptionId,"aria-labelledby":a.titleId,"data-state":ES(a.open),...s,ref:c,onDismiss:()=>a.onOpenChange(!1)})}),m.jsxs(m.Fragment,{children:[m.jsx(Sme,{titleId:a.titleId}),m.jsx(_me,{contentRef:l,descriptionId:a.descriptionId})]})]})}),_S="DialogTitle",j4=C.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=Qr(_S,n);return m.jsx(ge.h2,{id:o.titleId,...r,ref:t})});j4.displayName=_S;var L4="DialogDescription",$4=C.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=Qr(L4,n);return m.jsx(ge.p,{id:o.descriptionId,...r,ref:t})});$4.displayName=L4;var z4="DialogClose",B4=C.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=Qr(z4,n);return m.jsx(ge.button,{type:"button",...r,ref:t,onClick:le(e.onClick,()=>o.onOpenChange(!1))})});B4.displayName=z4;function ES(e){return e?"open":"closed"}var V4="DialogTitleWarning",[wme,H4]=_9(V4,{contentName:ma,titleName:_S,docsSlug:"dialog"}),Sme=({titleId:e})=>{const t=H4(V4),n=`\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users.
364
+ */function Pge({message:e,onAddToDashboard:t}){var i;const n=(i=e==null?void 0:e.parts)==null?void 0:i.filter(s=>s.type==="tool-invocation"&&s.toolInvocation.toolName==="getData"&&s.toolInvocation.state==="result");if(!n)return null;const o=n.map(s=>s.toolInvocation).map(s=>{const a=s.result;if(a.status==="error")return null;const l=a.data.records;return{chartCfg:Nw({cardType:s.args.chartType,data:l}),chartTitle:s.args.chartTitle,chartType:s.args.chartType,sql:s.args.sql,data:l,connectionId:s.args.connectionId}}).filter(s=>s!==null);return!o||o.length===0?null:m.jsx("div",{className:"",children:o.map((s,a)=>m.jsxs("div",{className:"group relative isolate flex h-[350px] w-[99%] grow flex-col",children:[m.jsxs(qt,{className:"invisible absolute right-0 top-0 z-10 h-8 p-2 group-hover:visible",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:[m.jsx(gg,{className:"mr-1 size-4"}),"Add"]}),m.jsx(c1,{cfg:s.chartCfg})]},a))})}function Mge({message:e,showTools:t}){var r;if(!t)return null;const n=(r=e==null?void 0:e.parts)==null?void 0:r.filter(o=>o.type==="tool-invocation");return m.jsx("div",{className:"space-y-3",children:n==null?void 0:n.map((o,i)=>{const s=o.toolInvocation;return m.jsxs(Nce,{children:[m.jsxs(Fce,{className:"rounded-md bg-green-200 p-1 px-2 font-mono text-xs text-black",children:[m.jsx("span",{className:"font-bold",children:"Tool:"})," ",s.toolName]}),m.jsx(jce,{className:"mt-2 font-mono text-xs",children:m.jsxs("div",{className:"space-y-2 px-2",children:[m.jsxs("div",{className:"space-y-1",children:[m.jsx("span",{children:"Args:"}),m.jsx(Ip,{language:"json",code:JSON.stringify(s.args,null,2)})]}),m.jsxs("div",{className:"space-y-1",children:[m.jsx("span",{children:"Result:"}),m.jsx(Ip,{language:"json",code:JSON.stringify(s.result,null,2)})]})]})})]},i)})})}function Oge({message:e}){return e.role!=="user"?null:m.jsxs("div",{className:"rounded-md bg-muted/50 p-3 text-sm",children:[m.jsx(vB,{className:"float-left mr-2 size-4"}),m.jsx("div",{className:"whitespace-pre-line",children:e.content})]})}function Tge({message:e}){if(e.role!=="system")return null;const t=e.content.split("|"),n=t[0],r=t[1]||"{}",o=JSON.parse(r);return m.jsxs("div",{className:"space-y-1",children:[m.jsxs("div",{children:[m.jsx("span",{className:"font-bold",children:"System Message:"})," ",n]}),m.jsxs("div",{className:"space-y-1",children:[m.jsx("span",{className:"font-mono text-xs",children:"Scope:"}),m.jsx(Ip,{language:"json",code:JSON.stringify(o,null,2)})]})]})}function Dge({message:e,handleRun:t}){if(e.role!=="assistant")return null;const n={p:({node:r,...o})=>m.jsx("p",{className:"text-sm",...o}),code:({node:r,...o})=>{var s,a;const i=(a=(s=r==null?void 0:r.children)==null?void 0:s[0])==null?void 0:a.value;return i&&/^#([0-9a-fA-F]{6})$/.test(i)?m.jsx("code",{className:"rounded-md bg-muted px-2 py-1 text-xs",style:{backgroundColor:i},...o}):m.jsx("code",{className:"rounded-md text-xs text-yellow-700",...o})},pre:r=>m.jsx(Ige,{...r,handleRun:t}),li:({node:r,...o})=>{var s;return((s=r==null?void 0:r.children)==null?void 0:s.some(a=>a.type==="element"&&(a.tagName==="pre"||a.tagName==="code")))?m.jsx("li",{className:"my-2 list-inside pl-4 text-sm",...o}):m.jsx("li",{className:"my-2 list-inside list-disc pl-2 text-sm",...o})},a:({node:r,...o})=>m.jsx("a",{target:"_blank",rel:"noopener noreferrer",className:"text-blue-700 hover:underline",...o}),h1:({node:r,...o})=>m.jsx("h1",{className:"text-lg font-bold",...o}),h2:({node:r,...o})=>m.jsx("h2",{className:"text-md font-bold",...o}),h3:({node:r,...o})=>m.jsx("h3",{className:"text-sm font-bold",...o}),h4:({node:r,...o})=>m.jsx("h4",{className:"text-xs font-bold",...o})};return m.jsx(vpe,{components:n,children:e.content})}function e4({status:e,isLoading:t}){return t?m.jsx("div",{className:"flex items-center text-xs text-muted-foreground",children:e}):null}function t4({messages:e,showTools:t=!1,showSystemMessage:n=!1,handleRun:r,onAddToDashboard:o}){return e==null?void 0:e.map(i=>m.jsxs("div",{className:ie("relative my-4 space-y-4 text-sm text-foreground/80"),children:[m.jsx(Oge,{message:i}),n&&m.jsx(Tge,{message:i}),m.jsx(Mge,{message:i,showTools:t}),m.jsx(Pge,{onAddToDashboard:o,message:i}),m.jsx(Dge,{message:i,handleRun:r})]},i.id))}function Ige({children:e,handleRun:t}){const n=se(a=>a.isVisualEditing),[r,o]=E.useState(!1);E.useRef(null);const i=()=>{navigator.clipboard.writeText(s).then(()=>{o(!0),setTimeout(()=>o(!1),2e3)})},s=Qv(e);return m.jsxs("pre",{className:"relative my-2 space-y-2 rounded-md bg-muted/50",children:[m.jsxs("div",{className:"float-right m-1.5",children:[m.jsx(qt,{className:"h-8 p-2 text-xs text-muted-foreground hover:text-foreground",onClick:i,size:"sm",variant:"ghost",children:r?m.jsx(oc,{className:"size-3"}):m.jsx(tO,{className:"size-3"})}),n&&m.jsx(qt,{className:"h-8 p-2 text-muted-foreground hover:text-foreground",onClick:()=>t==null?void 0:t(s),size:"sm",variant:"ghost",children:m.jsx(lO,{className:"size-3"})})]}),m.jsx(Ip,{code:s})]})}function Qv(e){return typeof e=="string"?e:Array.isArray(e)?e.map(Qv).join(""):E.isValidElement(e)?Qv(e.props.children):""}const Ip=({code:e,language:t="sql"})=>{const n=se(r=>r.theme);return m.jsx(kge,{code:e,language:t,theme:n==="dark"?Xv.vsDark:Xv.vsLight,children:({className:r,style:o,tokens:i,getLineProps:s,getTokenProps:a})=>m.jsx("pre",{className:`${r} border-1 whitespace-pre-wrap rounded-md border border-muted p-2 text-xs`,style:{...o},children:i.map((l,c)=>m.jsx("div",{...s({line:l}),children:l.map((u,d)=>m.jsx("span",{...a({token:u})},d))},c))})})};function n4(e,t){return t||(e==="ready"?"":e==="error"?"Error":e==="streaming"?"":"Thinking...")}function Age(e,t){return e.some(n=>n.tableName&&n.tableName===t.tableName||n.datamodelName&&n.datamodelName===t.datamodelName)}function Nge(e){return e.filter((n,r,o)=>r===o.findIndex(i=>i.tableName===n.tableName&&i.datamodelName===n.datamodelName))}function Fge(e,t){return e.filter(n=>!(n.connectionId===t.connectionId&&n.tableName===t.tableName&&n.datamodelName===t.datamodelName))}const r4=E.forwardRef(({input:e,setInput:t,handleInputChange:n,handleSubmit:r,isLoading:o,stop:i},s)=>{const[l,c]=E.useState(2),u=5,d=f=>{const g=f.target.rows;f.target.rows=2;const b=Math.floor(f.target.scrollHeight/24);b===g&&(f.target.rows=b),b>=u&&(f.target.rows=u,f.target.scrollTop=f.target.scrollHeight),c(Math.min(b,u)),n(f)},h=f=>{if(f.key==="Enter"){if(f.shiftKey)return;f.preventDefault(),r&&e.trim()!==""&&(r(f),t(""),c(1))}};return m.jsxs("form",{onSubmit:r,className:"flex w-full items-end gap-2 rounded-md border py-3 pl-1 pr-2",children:[m.jsx(H1,{autoFocus:!0,ref:s,placeholder:"Type your question...",className:ie("min-h-7 resize-none border-none focus-visible:ring-0 focus-visible:ring-ring focus-visible:ring-offset-0"),disabled:o,value:e,rows:l,onKeyDown:h,onChange:d}),m.jsxs("div",{className:"mr-2 flex items-center gap-2",children:[o===!0&&m.jsx(qt,{size:"sm",className:"h-9 rounded-full p-2.5",onClick:()=>i(),children:m.jsx(pB,{className:"size-3.5 bg-background"})}),o===!1&&m.jsx(qt,{disabled:o===!1&&!e,size:"sm",className:"h-9 rounded-full p-2.5",onClick:()=>i(),children:m.jsx(lB,{className:"size-4 font-bold"})})]})]})});function jge({handleChatBox:e}){const t=E.useRef(null),[n,r]=E.useState(""),[o,i]=E.useState(!1),s=se(T=>T.dashboard.aiScopeTables),{setSelectedConnectionId:a}=xd(),l=se(T=>T.selectedSheetId),{addFrame:c,setSelectedFrameId:u,setIsDashboardEditing:d}=Bt(),{authToken:h}=xr(),f=Sx(),{messages:p,setMessages:g,reload:b,input:y,setInput:v,status:x,handleInputChange:_,handleSubmit:w,stop:S}=lF({api:"https://semaphor.cloud/api/v1/chat",headers:{Authorization:`Bearer ${h==null?void 0:h.accessToken}`},maxSteps:10,async onToolCall({toolCall:T}){if(T.toolName==="getTables")return r("Initializing..."),{tables:s||[]};if(T.toolName==="getSchemas"&&r("Analyzing..."),T.toolName==="getData"){r("Fetching...");const I=T.args;if(!(I!=null&&I.sql)||!(I!=null&&I.connectionId))return"Please provide sql, connectionId and table";try{return{status:"success",data:await f.fetchQuery({queryKey:["chat",I.connectionId,I.sql],queryFn:()=>Yp("https://semaphor.cloud/api/v1/query",(h==null?void 0:h.accessToken)||(h==null?void 0:h.accessToken)||"",{connection_id:I.connectionId,sql:I.sql,cache_config:bx({})})})}}catch(A){return console.log("error",A.message),r("Error fetching data"),{status:"error",message:A.message}}}},onFinish(T,I){r(T.content),I.finishReason==="stop"&&r("")}}),R=()=>{var T;(T=t.current)==null||T.scrollIntoView({behavior:"smooth"})};E.useEffect(()=>{R()},[p]);function P({sql:T,data:I,cardCfg:A,cardTitle:U,connectionId:$,cardType:D}){if(!l)return;const F={id:zi(),title:U||"Title",description:"Description",preferences:{onClickFilter:[{columnIndex:0,expression:""}],chartOptions:{indexAxis:D==="horizontalBar"?"y":"x"}},type:A.type,cfg:A,sql:T,data:I,connectionId:$},N={id:zi(),cards:[F],activeCardId:F.id};d(!0),c(l,N,"start"),u(N.id)}const O=!["ready","error"].includes(x);return m.jsxs("div",{role:"chat-box",className:"flex h-full grow flex-col justify-between break-words rounded-md",children:[m.jsxs("div",{className:"flex items-center justify-between gap-2 px-6 pb-3 pt-6",children:[m.jsxs("div",{className:"flex items-center gap-4",children:[m.jsx(Rt,{className:"flex items-center gap-2 text-xl",children:"Assistant"}),m.jsxs(Md,{openDelay:0,children:[m.jsx(Od,{children:m.jsx(xB,{className:"size-4 text-muted-foreground"})}),m.jsx(fc,{className:"w-70 p-2",children:m.jsx("div",{className:"flex justify-between space-x-2 text-muted-foreground",children:m.jsxs("div",{children:[(s==null?void 0:s.length)===0&&m.jsx("p",{className:"text-sm",children:"No tables in scope"}),m.jsx("div",{className:"space-y-2",children:s==null?void 0:s.map((T,I)=>m.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[m.jsx(yB,{className:"size-3 text-muted-foreground/70"}),m.jsx("span",{children:yP({schemaName:T.schemaName||"",tableName:T.tableName||"",modelName:T.datamodelName||"",connectionType:T.connectionType||""})})]},I))})]})})})]})]}),m.jsxs("div",{className:"flex items-center",children:[m.jsx(qt,{className:"h-7 p-2",size:"sm",variant:"ghost",onClick:()=>{g([]),b()},children:m.jsx(cO,{className:"size-3.5 text-muted-foreground"})}),m.jsx(qt,{className:"h-7 p-2",size:"sm",variant:"ghost",onClick:()=>e(!1),children:m.jsx(Ca,{className:"size-4 text-muted-foreground"})})]})]}),m.jsxs(Zs,{className:"flex flex-1 basis-0 flex-col flex-wrap justify-end px-6 py-3",children:[m.jsxs("div",{className:"pb-4",children:[m.jsx(t4,{messages:p,onAddToDashboard:P}),m.jsx(e4,{status:n4(x,n),isLoading:O}),m.jsx("div",{ref:t})]}),m.jsx(Fd,{orientation:"vertical"})]}),m.jsx("div",{className:"px-6 pb-6",children:m.jsx(r4,{setInput:v,stop:S,input:y,handleInputChange:_,handleSubmit:w,isLoading:O})})]})}const{createElement:Jl,createContext:Lge,forwardRef:o4,useCallback:$n,useContext:i4,useEffect:ea,useImperativeHandle:s4,useLayoutEffect:$ge,useMemo:zge,useRef:Un,useState:hl}=C,Ek=C[`useId${Math.random()}`.slice(0,5)],Bge=$ge,cm=Lge(null);cm.displayName="PanelGroupContext";const ta=Bge,Vge=typeof Ek=="function"?Ek:()=>null;let Hge=0;function bS(e=null){const t=Vge(),n=Un(e||t||null);return n.current===null&&(n.current=""+Hge++),e??n.current}function a4({children:e,className:t="",collapsedSize:n,collapsible:r,defaultSize:o,forwardedRef:i,id:s,maxSize:a,minSize:l,onCollapse:c,onExpand:u,onResize:d,order:h,style:f,tagName:p="div",...g}){const b=i4(cm);if(b===null)throw Error("Panel components must be rendered within a PanelGroup container");const{collapsePanel:y,expandPanel:v,getPanelSize:x,getPanelStyle:_,groupId:w,isPanelCollapsed:S,reevaluatePanelConstraints:R,registerPanel:P,resizePanel:O,unregisterPanel:T}=b,I=bS(s),A=Un({callbacks:{onCollapse:c,onExpand:u,onResize:d},constraints:{collapsedSize:n,collapsible:r,defaultSize:o,maxSize:a,minSize:l},id:I,idIsFromProps:s!==void 0,order:h});Un({didLogMissingDefaultSizeWarning:!1}),ta(()=>{const{callbacks:$,constraints:D}=A.current,F={...D};A.current.id=I,A.current.idIsFromProps=s!==void 0,A.current.order=h,$.onCollapse=c,$.onExpand=u,$.onResize=d,D.collapsedSize=n,D.collapsible=r,D.defaultSize=o,D.maxSize=a,D.minSize=l,(F.collapsedSize!==D.collapsedSize||F.collapsible!==D.collapsible||F.maxSize!==D.maxSize||F.minSize!==D.minSize)&&R(A.current,F)}),ta(()=>{const $=A.current;return P($),()=>{T($)}},[h,I,P,T]),s4(i,()=>({collapse:()=>{y(A.current)},expand:$=>{v(A.current,$)},getId(){return I},getSize(){return x(A.current)},isCollapsed(){return S(A.current)},isExpanded(){return!S(A.current)},resize:$=>{O(A.current,$)}}),[y,v,x,S,I,O]);const U=_(A.current,o);return Jl(p,{...g,children:e,className:t,id:s,style:{...U,...f},"data-panel":"","data-panel-collapsible":r||void 0,"data-panel-group-id":w,"data-panel-id":I,"data-panel-size":parseFloat(""+U.flexGrow).toFixed(1)})}const l4=o4((e,t)=>Jl(a4,{...e,forwardedRef:t}));a4.displayName="Panel";l4.displayName="forwardRef(Panel)";let Zv=null,As=null;function Wge(e,t){if(t){const n=(t&h4)!==0,r=(t&p4)!==0,o=(t&g4)!==0,i=(t&m4)!==0;if(n)return o?"se-resize":i?"ne-resize":"e-resize";if(r)return o?"sw-resize":i?"nw-resize":"w-resize";if(o)return"s-resize";if(i)return"n-resize"}switch(e){case"horizontal":return"ew-resize";case"intersection":return"move";case"vertical":return"ns-resize"}}function Uge(){As!==null&&(document.head.removeChild(As),Zv=null,As=null)}function xy(e,t){const n=Wge(e,t);Zv!==n&&(Zv=n,As===null&&(As=document.createElement("style"),document.head.appendChild(As)),As.innerHTML=`*{cursor: ${n}!important;}`)}function c4(e){return e.type==="keydown"}function u4(e){return e.type.startsWith("pointer")}function d4(e){return e.type.startsWith("mouse")}function um(e){if(u4(e)){if(e.isPrimary)return{x:e.clientX,y:e.clientY}}else if(d4(e))return{x:e.clientX,y:e.clientY};return{x:1/0,y:1/0}}function Gge(){if(typeof matchMedia=="function")return matchMedia("(pointer:coarse)").matches?"coarse":"fine"}function qge(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 Yge(e,t){if(e===t)throw new Error("Cannot compare node with itself");const n={a:Pk(e),b:Pk(t)};let r;for(;n.a.at(-1)===n.b.at(-1);)e=n.a.pop(),t=n.b.pop(),r=e;Ve(r,"Stacking order can only be calculated for elements with a common ancestor");const o={a:kk(Rk(n.a)),b:kk(Rk(n.b))};if(o.a===o.b){const i=r.childNodes,s={a:n.a.at(-1),b:n.b.at(-1)};let a=i.length;for(;a--;){const l=i[a];if(l===s.a)return 1;if(l===s.b)return-1}}return Math.sign(o.a-o.b)}const Kge=/\b(?:position|zIndex|opacity|transform|webkitTransform|mixBlendMode|filter|webkitFilter|isolation)\b/;function Xge(e){var t;const n=getComputedStyle((t=f4(e))!==null&&t!==void 0?t:e).display;return n==="flex"||n==="inline-flex"}function Qge(e){const t=getComputedStyle(e);return!!(t.position==="fixed"||t.zIndex!=="auto"&&(t.position!=="static"||Xge(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"||Kge.test(t.willChange)||t.webkitOverflowScrolling==="touch")}function Rk(e){let t=e.length;for(;t--;){const n=e[t];if(Ve(n,"Missing node"),Qge(n))return n}return null}function kk(e){return e&&Number(getComputedStyle(e).zIndex)||0}function Pk(e){const t=[];for(;e;)t.push(e),e=f4(e);return t}function f4(e){const{parentNode:t}=e;return t&&t instanceof ShadowRoot?t.host:t}const h4=1,p4=2,g4=4,m4=8,Zge=Gge()==="coarse";let Gr=[],pl=!1,Si=new Map,dm=new Map;const od=new Set;function Jge(e,t,n,r,o){var i;const{ownerDocument:s}=t,a={direction:n,element:t,hitAreaMargins:r,setResizeHandlerState:o},l=(i=Si.get(s))!==null&&i!==void 0?i:0;return Si.set(s,l+1),od.add(a),Ap(),function(){var u;dm.delete(e),od.delete(a);const d=(u=Si.get(s))!==null&&u!==void 0?u:1;if(Si.set(s,d-1),Ap(),d===1&&Si.delete(s),Gr.includes(a)){const h=Gr.indexOf(a);h>=0&&Gr.splice(h,1),vS(),o("up",!0,null)}}}function Mk(e){const{target:t}=e,{x:n,y:r}=um(e);pl=!0,yS({target:t,x:n,y:r}),Ap(),Gr.length>0&&(Np("down",e),e.preventDefault(),e.stopPropagation())}function $c(e){const{x:t,y:n}=um(e);if(pl&&e.buttons===0&&(pl=!1,Np("up",e)),!pl){const{target:r}=e;yS({target:r,x:t,y:n})}Np("move",e),vS(),Gr.length>0&&e.preventDefault()}function Va(e){const{target:t}=e,{x:n,y:r}=um(e);dm.clear(),pl=!1,Gr.length>0&&e.preventDefault(),Np("up",e),yS({target:t,x:n,y:r}),vS(),Ap()}function yS({target:e,x:t,y:n}){Gr.splice(0);let r=null;(e instanceof HTMLElement||e instanceof SVGElement)&&(r=e),od.forEach(o=>{const{element:i,hitAreaMargins:s}=o,a=i.getBoundingClientRect(),{bottom:l,left:c,right:u,top:d}=a,h=Zge?s.coarse:s.fine;if(t>=c-h&&t<=u+h&&n>=d-h&&n<=l+h){if(r!==null&&document.contains(r)&&i!==r&&!i.contains(r)&&!r.contains(i)&&Yge(r,i)>0){let p=r,g=!1;for(;p&&!p.contains(i);){if(qge(p.getBoundingClientRect(),a)){g=!0;break}p=p.parentElement}if(g)return}Gr.push(o)}})}function wy(e,t){dm.set(e,t)}function vS(){let e=!1,t=!1;Gr.forEach(r=>{const{direction:o}=r;o==="horizontal"?e=!0:t=!0});let n=0;dm.forEach(r=>{n|=r}),e&&t?xy("intersection",n):e?xy("horizontal",n):t?xy("vertical",n):Uge()}function Ap(){Si.forEach((e,t)=>{const{body:n}=t;n.removeEventListener("contextmenu",Va),n.removeEventListener("pointerdown",Mk),n.removeEventListener("pointerleave",$c),n.removeEventListener("pointermove",$c)}),window.removeEventListener("pointerup",Va),window.removeEventListener("pointercancel",Va),od.size>0&&(pl?(Gr.length>0&&Si.forEach((e,t)=>{const{body:n}=t;e>0&&(n.addEventListener("contextmenu",Va),n.addEventListener("pointerleave",$c),n.addEventListener("pointermove",$c))}),window.addEventListener("pointerup",Va),window.addEventListener("pointercancel",Va)):Si.forEach((e,t)=>{const{body:n}=t;e>0&&(n.addEventListener("pointerdown",Mk,{capture:!0}),n.addEventListener("pointermove",$c))}))}function Np(e,t){od.forEach(n=>{const{setResizeHandlerState:r}=n,o=Gr.includes(n);r(e,o,t)})}function eme(){const[e,t]=hl(0);return $n(()=>t(n=>n+1),[])}function Ve(e,t){if(!e)throw console.error(t),Error(t)}const xS=10;function ga(e,t,n=xS){return e.toFixed(n)===t.toFixed(n)?0:e>t?1:-1}function Jo(e,t,n=xS){return ga(e,t,n)===0}function ur(e,t,n){return ga(e,t,n)===0}function tme(e,t,n){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++){const o=e[r],i=t[r];if(!ur(o,i,n))return!1}return!0}function Za({panelConstraints:e,panelIndex:t,size:n}){const r=e[t];Ve(r!=null,`Panel constraints not found for index ${t}`);let{collapsedSize:o=0,collapsible:i,maxSize:s=100,minSize:a=0}=r;if(ga(n,a)<0)if(i){const l=(o+a)/2;ga(n,l)<0?n=o:n=a}else n=a;return n=Math.min(s,n),n=parseFloat(n.toFixed(xS)),n}function tu({delta:e,initialLayout:t,panelConstraints:n,pivotIndices:r,prevLayout:o,trigger:i}){if(ur(e,0))return t;const s=[...t],[a,l]=r;Ve(a!=null,"Invalid first pivot index"),Ve(l!=null,"Invalid second pivot index");let c=0;if(i==="keyboard"){{const d=e<0?l:a,h=n[d];Ve(h,`Panel constraints not found for index ${d}`);const{collapsedSize:f=0,collapsible:p,minSize:g=0}=h;if(p){const b=t[d];if(Ve(b!=null,`Previous layout not found for panel index ${d}`),ur(b,f)){const y=g-b;ga(y,Math.abs(e))>0&&(e=e<0?0-y:y)}}}{const d=e<0?a:l,h=n[d];Ve(h,`No panel constraints found for index ${d}`);const{collapsedSize:f=0,collapsible:p,minSize:g=0}=h;if(p){const b=t[d];if(Ve(b!=null,`Previous layout not found for panel index ${d}`),ur(b,g)){const y=b-f;ga(y,Math.abs(e))>0&&(e=e<0?0-y:y)}}}}{const d=e<0?1:-1;let h=e<0?l:a,f=0;for(;;){const g=t[h];Ve(g!=null,`Previous layout not found for panel index ${h}`);const y=Za({panelConstraints:n,panelIndex:h,size:100})-g;if(f+=y,h+=d,h<0||h>=n.length)break}const p=Math.min(Math.abs(e),Math.abs(f));e=e<0?0-p:p}{let h=e<0?a:l;for(;h>=0&&h<n.length;){const f=Math.abs(e)-Math.abs(c),p=t[h];Ve(p!=null,`Previous layout not found for panel index ${h}`);const g=p-f,b=Za({panelConstraints:n,panelIndex:h,size:g});if(!ur(p,b)&&(c+=p-b,s[h]=b,c.toPrecision(3).localeCompare(Math.abs(e).toPrecision(3),void 0,{numeric:!0})>=0))break;e<0?h--:h++}}if(tme(o,s))return o;{const d=e<0?l:a,h=t[d];Ve(h!=null,`Previous layout not found for panel index ${d}`);const f=h+c,p=Za({panelConstraints:n,panelIndex:d,size:f});if(s[d]=p,!ur(p,f)){let g=f-p,y=e<0?l:a;for(;y>=0&&y<n.length;){const v=s[y];Ve(v!=null,`Previous layout not found for panel index ${y}`);const x=v+g,_=Za({panelConstraints:n,panelIndex:y,size:x});if(ur(v,_)||(g-=_-v,s[y]=_),ur(g,0))break;e>0?y--:y++}}}const u=s.reduce((d,h)=>h+d,0);return ur(u,100)?s:o}function nme({layout:e,panelsArray:t,pivotIndices:n}){let r=0,o=100,i=0,s=0;const a=n[0];Ve(a!=null,"No pivot index found"),t.forEach((d,h)=>{const{constraints:f}=d,{maxSize:p=100,minSize:g=0}=f;h===a?(r=g,o=p):(i+=g,s+=p)});const l=Math.min(o,100-i),c=Math.max(r,100-s),u=e[a];return{valueMax:l,valueMin:c,valueNow:u}}function id(e,t=document){return Array.from(t.querySelectorAll(`[data-panel-resize-handle-id][data-panel-group-id="${e}"]`))}function b4(e,t,n=document){const o=id(e,n).findIndex(i=>i.getAttribute("data-panel-resize-handle-id")===t);return o??null}function y4(e,t,n){const r=b4(e,t,n);return r!=null?[r,r+1]:[-1,-1]}function v4(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 fm(e,t=document){const n=t.querySelector(`[data-panel-resize-handle-id="${e}"]`);return n||null}function rme(e,t,n,r=document){var o,i,s,a;const l=fm(t,r),c=id(e,r),u=l?c.indexOf(l):-1,d=(o=(i=n[u])===null||i===void 0?void 0:i.id)!==null&&o!==void 0?o:null,h=(s=(a=n[u+1])===null||a===void 0?void 0:a.id)!==null&&s!==void 0?s:null;return[d,h]}function ome({committedValuesRef:e,eagerValuesRef:t,groupId:n,layout:r,panelDataArray:o,panelGroupElement:i,setLayout:s}){Un({didWarnAboutMissingResizeHandle:!1}),ta(()=>{if(!i)return;const a=id(n,i);for(let l=0;l<o.length-1;l++){const{valueMax:c,valueMin:u,valueNow:d}=nme({layout:r,panelsArray:o,pivotIndices:[l,l+1]}),h=a[l];if(h!=null){const f=o[l];Ve(f,`No panel data found for index "${l}"`),h.setAttribute("aria-controls",f.id),h.setAttribute("aria-valuemax",""+Math.round(c)),h.setAttribute("aria-valuemin",""+Math.round(u)),h.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,o,i]),ea(()=>{if(!i)return;const a=t.current;Ve(a,"Eager values not found");const{panelDataArray:l}=a,c=v4(n,i);Ve(c!=null,`No group found for id "${n}"`);const u=id(n,i);Ve(u,`No resize handles found for group id "${n}"`);const d=u.map(h=>{const f=h.getAttribute("data-panel-resize-handle-id");Ve(f,"Resize handle element has no handle id attribute");const[p,g]=rme(n,f,l,i);if(p==null||g==null)return()=>{};const b=y=>{if(!y.defaultPrevented)switch(y.key){case"Enter":{y.preventDefault();const v=l.findIndex(x=>x.id===p);if(v>=0){const x=l[v];Ve(x,`No panel data found for index ${v}`);const _=r[v],{collapsedSize:w=0,collapsible:S,minSize:R=0}=x.constraints;if(_!=null&&S){const P=tu({delta:ur(_,w)?R-w:w-_,initialLayout:r,panelConstraints:l.map(O=>O.constraints),pivotIndices:y4(n,f,i),prevLayout:r,trigger:"keyboard"});r!==P&&s(P)}}break}}};return h.addEventListener("keydown",b),()=>{h.removeEventListener("keydown",b)}});return()=>{d.forEach(h=>h())}},[i,e,t,n,r,o,s])}function Ok(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 x4(e,t){const n=e==="horizontal",{x:r,y:o}=um(t);return n?r:o}function ime(e,t,n,r,o){const i=n==="horizontal",s=fm(t,o);Ve(s,`No resize handle element found for id "${t}"`);const a=s.getAttribute("data-panel-group-id");Ve(a,"Resize handle element has no group id attribute");let{initialCursorPosition:l}=r;const c=x4(n,e),u=v4(a,o);Ve(u,`No group element found for id "${a}"`);const d=u.getBoundingClientRect(),h=i?d.width:d.height;return(c-l)/h*100}function sme(e,t,n,r,o,i){if(c4(e)){const s=n==="horizontal";let a=0;e.shiftKey?a=100:o!=null?a=o: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:ime(e,t,n,r,i)}function ame({panelDataArray:e}){const t=Array(e.length),n=e.map(i=>i.constraints);let r=0,o=100;for(let i=0;i<e.length;i++){const s=n[i];Ve(s,`Panel constraints not found for index ${i}`);const{defaultSize:a}=s;a!=null&&(r++,t[i]=a,o-=a)}for(let i=0;i<e.length;i++){const s=n[i];Ve(s,`Panel constraints not found for index ${i}`);const{defaultSize:a}=s;if(a!=null)continue;const l=e.length-r,c=o/l;r++,t[i]=c,o-=c}return t}function Ha(e,t,n){t.forEach((r,o)=>{const i=e[o];Ve(i,`Panel data not found for index ${o}`);const{callbacks:s,constraints:a,id:l}=i,{collapsedSize:c=0,collapsible:u}=a,d=n[l];if(d==null||r!==d){n[l]=r;const{onCollapse:h,onExpand:f,onResize:p}=s;p&&p(r,d),u&&(h||f)&&(f&&(d==null||Jo(d,c))&&!Jo(r,c)&&f(),h&&(d==null||!Jo(d,c))&&Jo(r,c)&&h())}})}function lh(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 lme({defaultSize:e,dragState:t,layout:n,panelData:r,panelIndex:o,precision:i=3}){const s=n[o];let a;return s==null?a=e!=null?e.toPrecision(i):"1":r.length===1?a="1":a=s.toPrecision(i),{flexBasis:0,flexGrow:a,flexShrink:1,overflow:"hidden",pointerEvents:t!==null?"none":void 0}}function cme(e,t=10){let n=null;return(...o)=>{n!==null&&clearTimeout(n),n=setTimeout(()=>{e(...o)},t)}}function Tk(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 w4(e){return`react-resizable-panels:${e}`}function S4(e){return e.map(t=>{const{constraints:n,id:r,idIsFromProps:o,order:i}=t;return o?r:i?`${i}:${JSON.stringify(n)}`:JSON.stringify(n)}).sort((t,n)=>t.localeCompare(n)).join(",")}function C4(e,t){try{const n=w4(e),r=t.getItem(n);if(r){const o=JSON.parse(r);if(typeof o=="object"&&o!=null)return o}}catch{}return null}function ume(e,t,n){var r,o;const i=(r=C4(e,n))!==null&&r!==void 0?r:{},s=S4(t);return(o=i[s])!==null&&o!==void 0?o:null}function dme(e,t,n,r,o){var i;const s=w4(e),a=S4(t),l=(i=C4(e,o))!==null&&i!==void 0?i:{};l[a]={expandToSizes:Object.fromEntries(n.entries()),layout:r};try{o.setItem(s,JSON.stringify(l))}catch(c){console.error(c)}}function Dk({layout:e,panelConstraints:t}){const n=[...e],r=n.reduce((i,s)=>i+s,0);if(n.length!==t.length)throw Error(`Invalid ${t.length} panel layout: ${n.map(i=>`${i}%`).join(", ")}`);if(!ur(r,100)&&n.length>0)for(let i=0;i<t.length;i++){const s=n[i];Ve(s!=null,`No layout data found for index ${i}`);const a=100/r*s;n[i]=a}let o=0;for(let i=0;i<t.length;i++){const s=n[i];Ve(s!=null,`No layout data found for index ${i}`);const a=Za({panelConstraints:t,panelIndex:i,size:s});s!=a&&(o+=s-a,n[i]=a)}if(!ur(o,0))for(let i=0;i<t.length;i++){const s=n[i];Ve(s!=null,`No layout data found for index ${i}`);const a=s+o,l=Za({panelConstraints:t,panelIndex:i,size:a});if(s!==l&&(o-=l-s,n[i]=l,ur(o,0)))break}return n}const fme=100,nu={getItem:e=>(Tk(nu),nu.getItem(e)),setItem:(e,t)=>{Tk(nu),nu.setItem(e,t)}},Ik={};function _4({autoSaveId:e=null,children:t,className:n="",direction:r,forwardedRef:o,id:i=null,onLayout:s=null,keyboardResizeBy:a=null,storage:l=nu,style:c,tagName:u="div",...d}){const h=bS(i),f=Un(null),[p,g]=hl(null),[b,y]=hl([]),v=eme(),x=Un({}),_=Un(new Map),w=Un(0),S=Un({autoSaveId:e,direction:r,dragState:p,id:h,keyboardResizeBy:a,onLayout:s,storage:l}),R=Un({layout:b,panelDataArray:[],panelDataArrayChanged:!1});Un({didLogIdAndOrderWarning:!1,didLogPanelConstraintsWarning:!1,prevPanelIds:[]}),s4(o,()=>({getId:()=>S.current.id,getLayout:()=>{const{layout:k}=R.current;return k},setLayout:k=>{const{onLayout:G}=S.current,{layout:q,panelDataArray:Y}=R.current,V=Dk({layout:k,panelConstraints:Y.map(W=>W.constraints)});Ok(q,V)||(y(V),R.current.layout=V,G&&G(V),Ha(Y,V,x.current))}}),[]),ta(()=>{S.current.autoSaveId=e,S.current.direction=r,S.current.dragState=p,S.current.id=h,S.current.onLayout=s,S.current.storage=l}),ome({committedValuesRef:S,eagerValuesRef:R,groupId:h,layout:b,panelDataArray:R.current.panelDataArray,setLayout:y,panelGroupElement:f.current}),ea(()=>{const{panelDataArray:k}=R.current;if(e){if(b.length===0||b.length!==k.length)return;let G=Ik[e];G==null&&(G=cme(dme,fme),Ik[e]=G);const q=[...k],Y=new Map(_.current);G(e,q,Y,b,l)}},[e,b,l]),ea(()=>{});const P=$n(k=>{const{onLayout:G}=S.current,{layout:q,panelDataArray:Y}=R.current;if(k.constraints.collapsible){const V=Y.map(ne=>ne.constraints),{collapsedSize:W=0,panelSize:X,pivotIndices:J}=ms(Y,k,q);if(Ve(X!=null,`Panel size not found for panel "${k.id}"`),!Jo(X,W)){_.current.set(k.id,X);const Z=Ua(Y,k)===Y.length-1?X-W:W-X,oe=tu({delta:Z,initialLayout:q,panelConstraints:V,pivotIndices:J,prevLayout:q,trigger:"imperative-api"});lh(q,oe)||(y(oe),R.current.layout=oe,G&&G(oe),Ha(Y,oe,x.current))}}},[]),O=$n((k,G)=>{const{onLayout:q}=S.current,{layout:Y,panelDataArray:V}=R.current;if(k.constraints.collapsible){const W=V.map(ee=>ee.constraints),{collapsedSize:X=0,panelSize:J=0,minSize:ne=0,pivotIndices:Z}=ms(V,k,Y),oe=G??ne;if(Jo(J,X)){const ee=_.current.get(k.id),de=ee!=null&&ee>=oe?ee:oe,xe=Ua(V,k)===V.length-1?J-de:de-J,pe=tu({delta:xe,initialLayout:Y,panelConstraints:W,pivotIndices:Z,prevLayout:Y,trigger:"imperative-api"});lh(Y,pe)||(y(pe),R.current.layout=pe,q&&q(pe),Ha(V,pe,x.current))}}},[]),T=$n(k=>{const{layout:G,panelDataArray:q}=R.current,{panelSize:Y}=ms(q,k,G);return Ve(Y!=null,`Panel size not found for panel "${k.id}"`),Y},[]),I=$n((k,G)=>{const{panelDataArray:q}=R.current,Y=Ua(q,k);return lme({defaultSize:G,dragState:p,layout:b,panelData:q,panelIndex:Y})},[p,b]),A=$n(k=>{const{layout:G,panelDataArray:q}=R.current,{collapsedSize:Y=0,collapsible:V,panelSize:W}=ms(q,k,G);return Ve(W!=null,`Panel size not found for panel "${k.id}"`),V===!0&&Jo(W,Y)},[]),U=$n(k=>{const{layout:G,panelDataArray:q}=R.current,{collapsedSize:Y=0,collapsible:V,panelSize:W}=ms(q,k,G);return Ve(W!=null,`Panel size not found for panel "${k.id}"`),!V||ga(W,Y)>0},[]),$=$n(k=>{const{panelDataArray:G}=R.current;G.push(k),G.sort((q,Y)=>{const V=q.order,W=Y.order;return V==null&&W==null?0:V==null?-1:W==null?1:V-W}),R.current.panelDataArrayChanged=!0,v()},[v]);ta(()=>{if(R.current.panelDataArrayChanged){R.current.panelDataArrayChanged=!1;const{autoSaveId:k,onLayout:G,storage:q}=S.current,{layout:Y,panelDataArray:V}=R.current;let W=null;if(k){const J=ume(k,V,q);J&&(_.current=new Map(Object.entries(J.expandToSizes)),W=J.layout)}W==null&&(W=ame({panelDataArray:V}));const X=Dk({layout:W,panelConstraints:V.map(J=>J.constraints)});Ok(Y,X)||(y(X),R.current.layout=X,G&&G(X),Ha(V,X,x.current))}}),ta(()=>{const k=R.current;return()=>{k.layout=[]}},[]);const D=$n(k=>{let G=!1;const q=f.current;return q&&window.getComputedStyle(q,null).getPropertyValue("direction")==="rtl"&&(G=!0),function(V){V.preventDefault();const W=f.current;if(!W)return()=>null;const{direction:X,dragState:J,id:ne,keyboardResizeBy:Z,onLayout:oe}=S.current,{layout:ee,panelDataArray:de}=R.current,{initialLayout:fe}=J??{},xe=y4(ne,k,W);let pe=sme(V,k,X,J,Z,W);const be=X==="horizontal";be&&G&&(pe=-pe);const je=de.map(Ge=>Ge.constraints),nt=tu({delta:pe,initialLayout:fe??ee,panelConstraints:je,pivotIndices:xe,prevLayout:ee,trigger:c4(V)?"keyboard":"mouse-or-touch"}),Vt=!lh(ee,nt);(u4(V)||d4(V))&&w.current!=pe&&(w.current=pe,!Vt&&pe!==0?be?wy(k,pe<0?h4:p4):wy(k,pe<0?g4:m4):wy(k,0)),Vt&&(y(nt),R.current.layout=nt,oe&&oe(nt),Ha(de,nt,x.current))}},[]),F=$n((k,G)=>{const{onLayout:q}=S.current,{layout:Y,panelDataArray:V}=R.current,W=V.map(ee=>ee.constraints),{panelSize:X,pivotIndices:J}=ms(V,k,Y);Ve(X!=null,`Panel size not found for panel "${k.id}"`);const Z=Ua(V,k)===V.length-1?X-G:G-X,oe=tu({delta:Z,initialLayout:Y,panelConstraints:W,pivotIndices:J,prevLayout:Y,trigger:"imperative-api"});lh(Y,oe)||(y(oe),R.current.layout=oe,q&&q(oe),Ha(V,oe,x.current))},[]),N=$n((k,G)=>{const{layout:q,panelDataArray:Y}=R.current,{collapsedSize:V=0,collapsible:W}=G,{collapsedSize:X=0,collapsible:J,maxSize:ne=100,minSize:Z=0}=k.constraints,{panelSize:oe}=ms(Y,k,q);oe!=null&&(W&&J&&Jo(oe,V)?Jo(V,X)||F(k,X):oe<Z?F(k,Z):oe>ne&&F(k,ne))},[F]),j=$n((k,G)=>{const{direction:q}=S.current,{layout:Y}=R.current;if(!f.current)return;const V=fm(k,f.current);Ve(V,`Drag handle element not found for id "${k}"`);const W=x4(q,G);g({dragHandleId:k,dragHandleRect:V.getBoundingClientRect(),initialCursorPosition:W,initialLayout:Y})},[]),H=$n(()=>{g(null)},[]),M=$n(k=>{const{panelDataArray:G}=R.current,q=Ua(G,k);q>=0&&(G.splice(q,1),delete x.current[k.id],R.current.panelDataArrayChanged=!0,v())},[v]),B=zge(()=>({collapsePanel:P,direction:r,dragState:p,expandPanel:O,getPanelSize:T,getPanelStyle:I,groupId:h,isPanelCollapsed:A,isPanelExpanded:U,reevaluatePanelConstraints:N,registerPanel:$,registerResizeHandle:D,resizePanel:F,startDragging:j,stopDragging:H,unregisterPanel:M,panelGroupElement:f.current}),[P,p,r,O,T,I,h,A,U,N,$,D,F,j,H,M]),L={display:"flex",flexDirection:r==="horizontal"?"row":"column",height:"100%",overflow:"hidden",width:"100%"};return Jl(cm.Provider,{value:B},Jl(u,{...d,children:t,className:n,id:i,ref:f,style:{...L,...c},"data-panel-group":"","data-panel-group-direction":r,"data-panel-group-id":h}))}const E4=o4((e,t)=>Jl(_4,{...e,forwardedRef:t}));_4.displayName="PanelGroup";E4.displayName="forwardRef(PanelGroup)";function Ua(e,t){return e.findIndex(n=>n===t||n.id===t.id)}function ms(e,t,n){const r=Ua(e,t),i=r===e.length-1?[r-1,r]:[r,r+1],s=n[r];return{...t.constraints,panelSize:s,pivotIndices:i}}function hme({disabled:e,handleId:t,resizeHandler:n,panelGroupElement:r}){ea(()=>{if(e||n==null||r==null)return;const o=fm(t,r);if(o==null)return;const i=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=o.getAttribute("data-panel-group-id");Ve(a,`No group element found for id "${a}"`);const l=id(a,r),c=b4(a,t,r);Ve(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 o.addEventListener("keydown",i),()=>{o.removeEventListener("keydown",i)}},[r,e,t,n])}function wS({children:e=null,className:t="",disabled:n=!1,hitAreaMargins:r,id:o,onBlur:i,onDragging:s,onFocus:a,style:l={},tabIndex:c=0,tagName:u="div",...d}){var h,f;const p=Un(null),g=Un({onDragging:s});ea(()=>{g.current.onDragging=s});const b=i4(cm);if(b===null)throw Error("PanelResizeHandle components must be rendered within a PanelGroup container");const{direction:y,groupId:v,registerResizeHandle:x,startDragging:_,stopDragging:w,panelGroupElement:S}=b,R=bS(o),[P,O]=hl("inactive"),[T,I]=hl(!1),[A,U]=hl(null),$=Un({state:P});ta(()=>{$.current.state=P}),ea(()=>{if(n)U(null);else{const j=x(R);U(()=>j)}},[n,R,x]);const D=(h=r==null?void 0:r.coarse)!==null&&h!==void 0?h:15,F=(f=r==null?void 0:r.fine)!==null&&f!==void 0?f:5;return ea(()=>{if(n||A==null)return;const j=p.current;return Ve(j,"Element ref not attached"),Jge(R,j,y,{coarse:D,fine:F},(M,B,L)=>{if(B)switch(M){case"down":{O("drag"),Ve(L,'Expected event to be defined for "down" action'),_(R,L);const{onDragging:k}=g.current;k&&k(!0);break}case"move":{const{state:k}=$.current;k!=="drag"&&O("hover"),Ve(L,'Expected event to be defined for "move" action'),A(L);break}case"up":{O("hover"),w();const{onDragging:k}=g.current;k&&k(!1);break}}else O("inactive")})},[D,y,n,F,x,R,A,_,w]),hme({disabled:n,handleId:R,resizeHandler:A,panelGroupElement:S}),Jl(u,{...d,children:e,className:t,id:o,onBlur:()=>{I(!1),i==null||i()},onFocus:()=>{I(!0),a==null||a()},ref:p,role:"separator",style:{...{touchAction:"none",userSelect:"none"},...l},tabIndex:c,"data-panel-group-direction":y,"data-panel-group-id":v,"data-resize-handle":"","data-resize-handle-active":P==="drag"?"pointer":T?"keyboard":void 0,"data-resize-handle-state":P,"data-panel-resize-handle-enabled":!n,"data-panel-resize-handle-id":R})}wS.displayName="PanelResizeHandle";const R4=({className:e,...t})=>m.jsx(E4,{className:ie("flex h-full w-full data-[panel-group-direction=vertical]:flex-col",e),...t}),Jv=l4,pme=({withHandle:e,className:t,...n})=>m.jsx(wS,{className:ie("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&&m.jsx("div",{className:"z-10 flex h-4 w-3 items-center justify-center rounded-sm border bg-border",children:m.jsx(uB,{className:"h-2.5 w-2.5"})})}),gme=({withHandle:e,className:t,onTabClick:n,open:r,...o})=>m.jsx(wS,{className:ie("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),...o,children:e&&!r&&m.jsx("div",{className:ie("z-50 flex items-center justify-start",{"border-l":r}),children:m.jsx(qt,{variant:"secondary",className:ie("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?m.jsx(nw,{className:"size-4"}):m.jsx(ZM,{className:"size-4"})})})});var SS="Dialog",[k4,P4]=Xt(SS),[mme,Qr]=k4(SS),M4=e=>{const{__scopeDialog:t,children:n,open:r,defaultOpen:o,onOpenChange:i,modal:s=!0}=e,a=C.useRef(null),l=C.useRef(null),[c=!1,u]=xn({prop:r,defaultProp:o,onChange:i});return m.jsx(mme,{scope:t,triggerRef:a,contentRef:l,contentId:Gt(),titleId:Gt(),descriptionId:Gt(),open:c,onOpenChange:u,onOpenToggle:C.useCallback(()=>u(d=>!d),[u]),modal:s,children:n})};M4.displayName=SS;var O4="DialogTrigger",T4=C.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=Qr(O4,n),i=Te(t,o.triggerRef);return m.jsx(ge.button,{type:"button","aria-haspopup":"dialog","aria-expanded":o.open,"aria-controls":o.contentId,"data-state":ES(o.open),...r,ref:i,onClick:le(e.onClick,o.onOpenToggle)})});T4.displayName=O4;var CS="DialogPortal",[bme,D4]=k4(CS,{forceMount:void 0}),I4=e=>{const{__scopeDialog:t,forceMount:n,children:r,container:o}=e,i=Qr(CS,t);return m.jsx(bme,{scope:t,forceMount:n,children:C.Children.map(r,s=>m.jsx(Yt,{present:n||i.open,children:m.jsx(Pd,{asChild:!0,container:o,children:s})}))})};I4.displayName=CS;var Fp="DialogOverlay",A4=C.forwardRef((e,t)=>{const n=D4(Fp,e.__scopeDialog),{forceMount:r=n.forceMount,...o}=e,i=Qr(Fp,e.__scopeDialog);return i.modal?m.jsx(Yt,{present:r||i.open,children:m.jsx(yme,{...o,ref:t})}):null});A4.displayName=Fp;var yme=C.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=Qr(Fp,n);return m.jsx(Dd,{as:si,allowPinchZoom:!0,shards:[o.contentRef],children:m.jsx(ge.div,{"data-state":ES(o.open),...r,ref:t,style:{pointerEvents:"auto",...r.style}})})}),ma="DialogContent",N4=C.forwardRef((e,t)=>{const n=D4(ma,e.__scopeDialog),{forceMount:r=n.forceMount,...o}=e,i=Qr(ma,e.__scopeDialog);return m.jsx(Yt,{present:r||i.open,children:i.modal?m.jsx(vme,{...o,ref:t}):m.jsx(xme,{...o,ref:t})})});N4.displayName=ma;var vme=C.forwardRef((e,t)=>{const n=Qr(ma,e.__scopeDialog),r=C.useRef(null),o=Te(t,n.contentRef,r);return C.useEffect(()=>{const i=r.current;if(i)return $g(i)},[]),m.jsx(F4,{...e,ref:o,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:le(e.onCloseAutoFocus,i=>{var s;i.preventDefault(),(s=n.triggerRef.current)==null||s.focus()}),onPointerDownOutside:le(e.onPointerDownOutside,i=>{const s=i.detail.originalEvent,a=s.button===0&&s.ctrlKey===!0;(s.button===2||a)&&i.preventDefault()}),onFocusOutside:le(e.onFocusOutside,i=>i.preventDefault())})}),xme=C.forwardRef((e,t)=>{const n=Qr(ma,e.__scopeDialog),r=C.useRef(!1),o=C.useRef(!1);return m.jsx(F4,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:i=>{var s,a;(s=e.onCloseAutoFocus)==null||s.call(e,i),i.defaultPrevented||(r.current||(a=n.triggerRef.current)==null||a.focus(),i.preventDefault()),r.current=!1,o.current=!1},onInteractOutside:i=>{var l,c;(l=e.onInteractOutside)==null||l.call(e,i),i.defaultPrevented||(r.current=!0,i.detail.originalEvent.type==="pointerdown"&&(o.current=!0));const s=i.target;((c=n.triggerRef.current)==null?void 0:c.contains(s))&&i.preventDefault(),i.detail.originalEvent.type==="focusin"&&o.current&&i.preventDefault()}})}),F4=C.forwardRef((e,t)=>{const{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:o,onCloseAutoFocus:i,...s}=e,a=Qr(ma,n),l=C.useRef(null),c=Te(t,l);return jg(),m.jsxs(m.Fragment,{children:[m.jsx(Td,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:o,onUnmountAutoFocus:i,children:m.jsx(Ea,{role:"dialog",id:a.contentId,"aria-describedby":a.descriptionId,"aria-labelledby":a.titleId,"data-state":ES(a.open),...s,ref:c,onDismiss:()=>a.onOpenChange(!1)})}),m.jsxs(m.Fragment,{children:[m.jsx(Sme,{titleId:a.titleId}),m.jsx(_me,{contentRef:l,descriptionId:a.descriptionId})]})]})}),_S="DialogTitle",j4=C.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=Qr(_S,n);return m.jsx(ge.h2,{id:o.titleId,...r,ref:t})});j4.displayName=_S;var L4="DialogDescription",$4=C.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=Qr(L4,n);return m.jsx(ge.p,{id:o.descriptionId,...r,ref:t})});$4.displayName=L4;var z4="DialogClose",B4=C.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=Qr(z4,n);return m.jsx(ge.button,{type:"button",...r,ref:t,onClick:le(e.onClick,()=>o.onOpenChange(!1))})});B4.displayName=z4;function ES(e){return e?"open":"closed"}var V4="DialogTitleWarning",[wme,H4]=_9(V4,{contentName:ma,titleName:_S,docsSlug:"dialog"}),Sme=({titleId:e})=>{const t=H4(V4),n=`\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users.
365
365
 
366
366
  If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component.
367
367
 
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../chunks/index-6C0raQZK.js");exports.Dashboard=e.Dashboard;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../chunks/index-Djbdjw7_.js");exports.Dashboard=e.Dashboard;
@@ -1,4 +1,4 @@
1
- import { D as r } from "../chunks/index-DEK6orAX.js";
1
+ import { D as r } from "../chunks/index-Cp_436yj.js";
2
2
  export {
3
3
  r as Dashboard
4
4
  };
package/dist/index.cjs CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./chunks/index-6C0raQZK.js"),e=require("react/jsx-runtime"),S=require("react");require("react-dom");function gs(t){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const a in t)if(a!=="default"){const r=Object.getOwnPropertyDescriptor(t,a);Object.defineProperty(n,a,r.get?r:{enumerable:!0,get:()=>t[a]})}}return n.default=t,Object.freeze(n)}const Le=gs(S);/**
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./chunks/index-Djbdjw7_.js"),e=require("react/jsx-runtime"),S=require("react");require("react-dom");function gs(t){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const a in t)if(a!=="default"){const r=Object.getOwnPropertyDescriptor(t,a);Object.defineProperty(n,a,r.get?r:{enumerable:!0,get:()=>t[a]})}}return n.default=t,Object.freeze(n)}const Le=gs(S);/**
2
2
  * @license lucide-react v0.453.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -218,7 +218,7 @@
218
218
  *
219
219
  * This source code is licensed under the ISC license.
220
220
  * See the LICENSE file in the root directory of this source tree.
221
- */const Je=s.createLucideIcon("Type",[["polyline",{points:"4 7 4 4 20 4 20 7",key:"1nosan"}],["line",{x1:"9",x2:"15",y1:"20",y2:"20",key:"swin9y"}],["line",{x1:"12",x2:"12",y1:"4",y2:"20",key:"1tx1rr"}]]);function Ne(t){var n;return{...t,sheets:(n=t==null?void 0:t.sheets)==null?void 0:n.map(a=>{var r;return{...a,frames:(r=a.frames)==null?void 0:r.map(o=>{var i;return{...o,cards:(i=o.cards)==null?void 0:i.map(l=>We(l))}})}})}}function We(t){var n,a,r,o;return{...t,cfg:{...t.cfg,data:{...(n=t.cfg)==null?void 0:n.data,labels:[],datasets:(o=(r=(a=t.cfg)==null?void 0:a.data)==null?void 0:r.datasets)==null?void 0:o.map(i=>({...i,data:[]}))}},customCfg:Qs(t.customCfg),data:[]}}function Qs(t){var n,a;return t?{...t,data:{...t==null?void 0:t.data,labels:[],datasets:(a=(n=t==null?void 0:t.data)==null?void 0:n.datasets)==null?void 0:a.map(r=>({...r,data:[]}))}}:null}async function Js(t,n,a,r){if(!r)return null;const o=JSON.stringify(n);return await s.postRequest("https://semaphor.cloud/api/v1/lens",r,{name:t,template:o,filterValues:a,operation:"create"})}async function ye(t,n){if(!n)return null;const{id:a,template:r,filterValues:o,isDefault:i,shared:l}=t;return await s.postRequest("https://semaphor.cloud/api/v1/lens",n,{lensId:a,template:r,filterValues:o,isDefault:i,shared:l,operation:"update"})}async function Ws(t,n){return n?await s.postRequest("https://semaphor.cloud/api/v1/lens",n,{operation:"delete",lensId:t}):null}function Ks(){const[t,n]=S.useState(""),[a,r]=S.useState(!1),o=s.useDashboardStore(x=>x.lenses),{setLenses:i,setSelectedLensId:l}=s.useDashboardActions(),[d,u]=S.useState(!1),[p,c]=S.useState(!1),j=s.useDashboardStore(x=>x.dashboard),b=s.useDashboardStore(x=>x.filterValues),{authToken:h}=s.useSemaphorContext();async function f(){u(!0);const x=Ne(j),N=await Js(t,x,b,h==null?void 0:h.accessToken);N&&(i([...o||[],N]),l(N.id),c(!1)),u(!1)}return e.jsxs(s.Dialog,{open:p,onOpenChange:c,children:[e.jsx(s.DialogTrigger,{asChild:!0,children:e.jsxs(s.Button,{variant:"secondary",className:"h-7 p-2",size:"sm",children:[e.jsx(s.Plus,{className:"mr-2 h-4 w-4",strokeWidth:1.5}),"Lens"]})}),e.jsxs(s.DialogContent,{className:"sm:max-w-[425px]",children:[e.jsxs(s.DialogHeader,{children:[e.jsx(s.DialogTitle,{children:"Create Lens"}),e.jsx(s.DialogDescription,{children:"Lenses are private by default and are only visible to you."})]}),e.jsx("div",{className:"grid gap-4 py-4",children:e.jsxs("div",{className:"grid grid-cols-8 items-center gap-4",children:[e.jsx(s.Label,{className:"text-right",children:"Name"}),e.jsx(s.Input,{value:t,onChange:x=>{n(x.target.value)},id:"name",className:"col-span-7 focus-visible:ring-0 focus-visible:ring-ring focus-visible:ring-offset-0"})]})}),a&&e.jsx("p",{className:"text-sm",children:"The lens name already exists. Use a differnet name."}),e.jsx(s.DialogFooter,{children:e.jsx(s.Button,{size:"sm",variant:"outline",type:"submit",onClick:f,disabled:d,children:d?"Creating...":"Add"})})]})]})}function Xs(){const[t,n]=S.useState(!1),a=s.useDashboardStore(c=>c.lenses),r=s.useDashboardStore(c=>c.selectedLensId),{setLenses:o,setSelectedLensId:i}=s.useDashboardActions(),{authToken:l}=s.useSemaphorContext();async function d(c){i(c)}async function u(c){if(await Ws(c,l==null?void 0:l.accessToken)){const b=a==null?void 0:a.filter(h=>h.id!==c);o(b||[]),i("original")}}async function p(c){const j=a==null?void 0:a.map(f=>f.id===c.id?{...f,isDefault:!c.isDefault}:{...f,isDefault:!1});o(j||[]);const b={...c,isDefault:!c.isDefault};await ye(b,l==null?void 0:l.accessToken);const h=a==null?void 0:a.find(f=>f.isDefault);if(h&&h.id!==c.id){const f={...h,isDefault:!1};await ye(f,l==null?void 0:l.accessToken)}}return e.jsxs(s.DropdownMenu,{open:t,onOpenChange:n,children:[e.jsx(s.DropdownMenuTrigger,{asChild:!0,children:e.jsx(s.Button,{variant:"ghost",className:"h-7 p-2",children:e.jsx(Is,{className:"h-4 w-4",strokeWidth:1.5})})}),e.jsxs(s.DropdownMenuContent,{align:"end",className:"w-60",children:[e.jsx(s.DropdownMenuLabel,{className:"px-3",children:"Lenses"}),e.jsx(s.DropdownMenuSeparator,{}),e.jsxs(s.DropdownMenuRadioGroup,{value:r,onValueChange:d,children:[e.jsx(s.DropdownMenuRadioItem,{value:"original",children:"Original"}),a==null?void 0:a.map(c=>e.jsxs(s.DropdownMenuRadioItem,{className:"group flex justify-between gap-2",value:c.id,children:[e.jsx("p",{children:c.name}),e.jsxs("span",{className:"flex items-center gap-3",children:[e.jsx(Ls,{onClick:j=>{j.preventDefault(),p(c)},className:s.cn("size-3.5 text-muted-foreground hover:cursor-pointer hover:text-foreground group-hover:visible",{invisible:!c.isDefault,"text-green-500":c.isDefault}),strokeWidth:1.5}),e.jsx(s.Cross2Icon,{onClick:j=>{j.preventDefault(),u(c.id)},className:"invisible size-3.5 text-muted-foreground hover:cursor-pointer hover:text-foreground group-hover:visible",strokeWidth:1.5})]})]},c.id))]})]})]})}async function Ke(){var h;const t=s.useDashboardStore.getState().authToken,n=s.useDashboardStore.getState().theme,a=s.useDashboardStore.getState().filterValues,r=(h=s.useDashboardStore.getState().dashboard)==null?void 0:h.title,o=s.useDashboardStore.getState().isDownloadingPdf,i=s.useDashboardStore.getState().selectedSheetId;if(o)return;const l=new URLSearchParams;l.set("token",(t==null?void 0:t.accessToken)||""),l.set("theme",n||"light"),l.set("filterValues",JSON.stringify(a)),l.set("selectedSheetId",i||"");const d=`https://semaphor.cloud/api/v1/generate-pdf?params=${encodeURIComponent(l.toString())}`;s.useDashboardStore.setState({isDownloadingPdf:!0});const c=(await(await fetch(d,{method:"GET",headers:{Authorization:`Bearer ${t==null?void 0:t.accessToken}`}})).json()).url,j=document.createElement("a");j.href=c;const b=`${r}-${new Date().toISOString()}.pdf`;j.download=b,j.click(),s.useDashboardStore.setState({isDownloadingPdf:!1})}function Ys({iconClassName:t}){const{authToken:n}=s.useSemaphorContext();s.useDashboardStore(o=>{var i;return(i=o.dashboard)==null?void 0:i.title}),s.useDashboardStore(o=>o.theme),s.useDashboardStore(o=>o.filterValues);const a=s.useDashboardStore(o=>o.isDownloadingPdf);async function r(){await Ke()}return e.jsx(s.Button,{variant:"link",className:"group h-7 p-2",size:"sm",onClick:r,children:a?e.jsx(ue,{className:s.cn("size-3.5 animate-spin",t)}):e.jsx(s.Download,{className:s.cn("size-3.5",t),strokeWidth:1.5})})}function Zs(){const{authToken:t}=s.useSemaphorContext();s.useDashboardStore(m=>m.theme);const n=s.useDashboardStore(m=>m.lenses),a=s.useDashboardStore(m=>m.selectedLensId),r=n==null?void 0:n.find(m=>m.id===a),o=s.useDashboardStore(m=>m.dashboard);s.useDashboardStore(m=>m.selectedSheetId);const i=s.useDashboardStore(m=>m.isDashboardEditing),l=s.useEditorStore(m=>m.selectedConnectionId),[d,u]=S.useState(!1),p=s.useDashboardStore(m=>m.filterValues),c=s.useDashboardStore(m=>m.isVisualEditing),j=s.useDashboardStore(m=>m.showFilters);s.useDashboardStore(m=>m.showDashboardJSON);const b=s.useDashboardStore(m=>m.onSaveFunction),h=s.useDashboardStore(m=>m.actions.setShowFilters),{addFrame:f,setSelectedFrameId:x}=s.useDashboardStore(m=>m.actions),{getSelectedSheet:N,setIsDashboardEditing:y,setShowDashboardJSON:T}=s.useDashboardStore(m=>m.actions),C=N(),{tenantId:E,endUserId:M}=S.useMemo(()=>s.getTenantAndEndUserId(t==null?void 0:t.accessToken),[t==null?void 0:t.accessToken]),A=S.useMemo(()=>E||M,[E,M]),R=()=>{if(!i||!C)return;const m={connectionId:l,id:s.v4(),title:"Title",description:"Description",preferences:{onClickFilter:[{columnIndex:0,expression:""}]},type:"bar",sql:"select COUNT(*) from YOUR_TABLE",data:[]},L={id:s.v4(),cards:[m],activeCardId:m.id};f(C.id,L),x(L.id)},V=()=>{y(!0)};async function q(){if(u(!0),!a||!r)return;const m=Ne(o),L=JSON.stringify(m),_={...r,template:L,filterValues:p};await ye(_,t==null?void 0:t.accessToken),s.ue.success("Lens saved"),b==null||b(m),u(!1)}return c?null:e.jsxs("div",{className:"flex items-center justify-between gap-2 border-b bg-muted/50 py-2 pl-3 pr-2",role:"dashboard-controls",children:[!c&&e.jsx("div",{className:"flex items-center gap-3",children:e.jsx(s.Label,{children:r==null?void 0:r.name})}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx("button",{onClick:s.invalidateToken,children:e.jsx(Us,{className:"h-4 w-4",strokeWidth:1.5})}),e.jsx(Ys,{}),i&&!c&&A&&e.jsx(Ks,{}),!c&&A&&e.jsx(Xs,{}),i&&!c&&e.jsxs(s.Button,{variant:"secondary",className:"h-7 p-2",size:"sm",disabled:!i,onClick:R,children:[e.jsx(s.Plus,{className:"mr-2 h-4 w-4",strokeWidth:1.5}),"Frame"]}),!i&&e.jsx(s.Button,{variant:"ghost",className:"h-7 p-2",onClick:V,size:"sm",children:e.jsx(s.Pencil,{className:"h-4 w-4",strokeWidth:1.5})}),i&&!c&&e.jsx(s.Button,{variant:"ghost",role:"close",className:"h-7 p-2",onClick:()=>{y(!1),T(!1)},size:"sm",children:e.jsx(s.Cross2Icon,{className:"h-4 w-4",strokeWidth:1.5})}),i&&!c&&A&&e.jsx(s.Button,{className:"h-7 p-2",variant:"ghost",disabled:d,onClick:q,size:"sm",children:e.jsx(_s,{className:"h-4 w-4",strokeWidth:1.5})}),!j&&!c&&i&&e.jsx(s.Button,{className:"h-7 p-2",variant:"ghost",onClick:()=>h(!0),size:"sm",children:e.jsx(s.Filter,{className:"h-4 w-4",strokeWidth:1.5})}),!c&&i&&!1,!c&&!1]})]})}function oe({title:t,items:n,value:a,isLoading:r,isError:o,refetch:i,connectionTooltip:l,onChange:d,showNone:u=!1,className:p,showIcon:c=!0,disabled:j=!1}){const b=r?"Loading...":o?"Error":a;function h(){if(t==="Connection")return e.jsx(qs,{className:"size-4 rotate-90"});if(t==="Database")return e.jsx(ws,{className:"size-4"});if(t==="Schema")return e.jsx(Rs,{className:"size-4"});if(t==="Table")return e.jsx(ve,{className:"size-4"});if(t==="Model")return e.jsx(ys,{className:"size-4"})}return e.jsxs("div",{className:"flex items-center gap-2",children:[c&&e.jsx("div",{className:"shrink-0",children:l?e.jsxs(s.Tooltip,{children:[e.jsx(s.TooltipTrigger,{children:h()}),e.jsx(s.TooltipContent,{className:"text-xs",align:"start",children:l})]}):h()}),e.jsxs(s.Select,{disabled:j,value:b,onValueChange:d,children:[e.jsx(s.SelectTrigger,{className:s.cn("h-9 w-full focus:ring-1 focus:ring-offset-0",p),children:e.jsx(s.SelectValue,{placeholder:r?"Loading...":o?"Error":`Select ${t}`})}),e.jsx(s.SelectContent,{children:e.jsxs(s.SelectGroup,{children:[r?e.jsx(s.SelectLabel,{children:"Loading..."}):e.jsxs(s.SelectLabel,{className:"flex items-center justify-between gap-2",children:[t,e.jsx(Bs,{className:"mr-1 size-3 cursor-pointer text-muted-foreground hover:text-foreground",onClick:i})]}),e.jsxs(e.Fragment,{children:[u&&e.jsx(s.SelectItem,{value:"none",children:"None"},"none"),n&&n.map((f,x)=>e.jsx(s.SelectItem,{value:f.id,children:f.name},x))]}),(r||o)&&e.jsx(s.SelectItem,{value:b,children:b})]})})]})]})}function et({column:t}){const[n,a]=S.useState(!1),r=s.useEditorStore(f=>f.selectedTableName),o=s.useEditorStore(f=>f.selectedSchemaName),i=s.useEditorStore(f=>f.selectedDatamodelId),l=s.useEditorStore(f=>f.sqlGen),{modelItems:d,connectionType:u}=ne(),p=s.useEditorStore(f=>f.actions.setSqlGen),c=s.useEditorStore(f=>f.actions.setCardSql),j=s.useEditorStore(f=>f.actions.setRunSql);function b(f,x){var C;const N=s.createSqlGenConfig(f,l,x),y=(C=d==null?void 0:d.find(E=>E.id===i))==null?void 0:C.name;p(N);const T=s.getSql(N,s.fmt(o||""),s.fmt(r),y,u);T&&(c(T),j(!0)),a(!1)}function h(){return e.jsxs("ul",{className:"text-xs",children:[e.jsx("li",{onClick:()=>b(t,"COUNT"),className:"cursor-pointer p-1 px-3 transition-colors hover:bg-muted",children:"Count"}),e.jsx("li",{onClick:()=>b(t,"AVG"),className:"cursor-pointer p-1 px-3 transition-colors hover:bg-muted",children:"Avg"}),e.jsx("li",{onClick:()=>b(t,"SUM"),className:"cursor-pointer p-1 px-3 transition-colors hover:bg-muted",children:"Sum"}),e.jsx("li",{onClick:()=>b(t,"MAX"),className:"cursor-pointer p-1 px-3 transition-colors hover:bg-muted",children:"Max"}),e.jsx("li",{onClick:()=>b(t,"MIN"),className:"cursor-pointer p-1 px-3 transition-colors hover:bg-muted",children:"Min"})]})}return e.jsxs(s.HoverCard,{openDelay:0,open:n,onOpenChange:a,children:[e.jsx(s.HoverCardTrigger,{asChild:!0,children:e.jsx(He,{className:"invisible size-3.5 cursor-pointer text-foreground/40 group-hover:visible"})}),e.jsx(s.HoverCardContent,{align:"center",className:"w-20 rounded-md p-0 shadow-none",children:h()})]})}function Xe({column:t}){return e.jsxs(s.Tooltip,{children:[e.jsx(s.TooltipTrigger$1,{asChild:!0,children:s.isTextDataType(t.data_type)?e.jsx(Je,{className:"size-3"}):s.isNumberDataType(t.data_type)?e.jsx(As,{className:"size-3"}):s.isDateDataType(t.data_type)?e.jsx(s.Calendar,{className:"size-3"}):s.isBooleanDataType(t.data_type)?e.jsx($s,{className:"size-3"}):t.data_type.toLowerCase()==="json"?e.jsx(Ss,{className:"size-3"}):e.jsx(Ps,{className:"size-3"})}),e.jsx(s.TooltipContent,{children:e.jsx("p",{className:"font-mono text-xs",children:t.data_type})})]})}function st({schemaName:t,tableName:n,columns:a,status:r}){const o=s.useEditorStore(m=>m.sqlGen),i=s.useEditorStore(m=>m.selectedConnectionId),l=s.useEditorStore(m=>m.selectedDatabaseName),d=s.useEditorStore(m=>m.selectedSchemaName),u=s.useEditorStore(m=>m.selectedTableName),p=s.useEditorStore(m=>m.selectedDatamodelId),c=s.useDashboardStore(m=>m.dashboard.aiScopeTables),{addToAIScope:j,removeFromAIScope:b}=s.useDashboardActions(),{setAIScopeTables:h}=s.useDashboardStore(m=>m.actions),f=s.useEditorStore(m=>m.actions.setRunSql),x=s.useEditorStore(m=>m.actions.setSqlGen),N=s.useEditorStore(m=>m.actions.setIsShowingVisual),y=s.useEditorStore(m=>m.actions.setCardSql),{connectionType:T,modelItems:C,selectedDatamodelName:E}=ne();function M(m){var k;const L=s.createSqlGenConfig(m,o);x(L);const _=(k=C==null?void 0:C.find(z=>z.id===p))==null?void 0:k.name,g=s.getSql(L,s.fmt(t),s.fmt(n),_,T);g&&(y(g),f(!0))}function A(){return(c==null?void 0:c.find(m=>m.connectionId===i&&(m.tableName===u||m.datamodelName===E)))!==void 0}function R(m){m===!0&&(u||E)&&i?(j({connectionId:i,connectionType:T==="S3"||T==="API"?"DuckDb":T,databaseName:l||"",schemaName:d||"",tableName:u||"",datamodelName:s.resolveDatamodelName(E),datamodelId:p||""}),s.ue.success("Added to Assistant Scope",{position:"top-right",duration:2500,richColors:!0})):(b({connectionId:i||"",connectionType:T||"",tableName:u||"",datamodelName:s.resolveDatamodelName(E),datamodelId:p||"",databaseName:l||"",schemaName:d||""}),s.ue("Removed from Assistant Scope",{position:"top-right",duration:2e3,richColors:!0}))}function V(){const m=s.getFormattedTableNameForQuery({schemaName:t,tableName:n,modelName:E,connectionType:T});N(!1);const L=T==="MSSQL"?`SELECT top 10 * FROM ${m}`:`SELECT * FROM ${m} LIMIT 10`;y(L),f(!0)}function q(){const m=s.getFormattedTableNameForQuery({schemaName:t,tableName:n,modelName:E,connectionType:T});y(`SELECT COUNT(*) as count FROM ${m}`),f(!0)}return e.jsxs("div",{className:"flex grow flex-col space-y-4 px-4",children:[e.jsxs("div",{className:"mx-2 flex items-center justify-center gap-2",children:[e.jsxs(s.Toggle,{title:`${A()?"Remove from":"Add to"} Assistant Scope`,pressed:A(),onPressedChange:R,variant:"outline",className:s.cn("h-9 px-2",{}),children:[e.jsx(s.Plus,{className:s.cn("mr-1 size-4",{"text-green-400":A(),"text-muted-foreground":!A()})}),"AI"]}),e.jsxs(s.Button,{disabled:r!=="Success",onClick:V,size:"sm",variant:"secondary",className:"flex",children:[r!=="Success"?e.jsx(ue,{className:"mr-2 h-4 w-4 animate-spin text-foreground/50"}):e.jsx(Fs,{className:"mr-2 size-4"}),"Top 10"]}),e.jsxs(s.Button,{disabled:r!=="Success",onClick:q,size:"sm",variant:"secondary",className:"w-full",children:[r!=="Success"?e.jsx(ue,{className:"mr-2 h-4 w-4 animate-spin text-foreground/50"}):e.jsx(Hs,{className:"mr-2 size-4"}),"Count"]})]}),e.jsxs(s.ScrollArea,{className:"flex-1 basis-0 border-b border-t border-muted py-3",children:[e.jsx("div",{className:"flex flex-col gap-1",children:a==null?void 0:a.map(m=>e.jsxs("div",{onClick:()=>M(m),className:s.cn("group mx-3 flex cursor-pointer items-center justify-between rounded px-2 py-1 text-sm transition-colors hover:bg-muted/50",{"border border-dashed border-muted-foreground bg-muted":s.isColumnInSqlGen(m,o)}),children:[e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(Xe,{column:m}),e.jsx("span",{children:m.column_name})]}),e.jsx("div",{onClick:L=>L.stopPropagation(),className:"flex items-center justify-end",children:s.isNumberDataType(m.data_type)&&e.jsx(et,{column:m})})]},m.column_name))}),e.jsx(s.ScrollBar,{orientation:"vertical"}),e.jsx(s.ScrollBar,{orientation:"horizontal"})]})]})}function ne(t,n){var ke,Ee,De,Ie,Te,Ae;let a=S.useMemo(()=>[],[]);const r=s.useSemaphorContext().authToken||t,o=s.useEditorStore(v=>v.selectedConnectionId),i=s.useEditorStore(v=>v.selectedDatamodelId),l=s.useEditorStore(v=>v.selectedDatabaseName),d=s.useEditorStore(v=>v.selectedSchemaName),u=s.useEditorStore(v=>v.selectedTableName),p=s.useEditorStore(v=>v.actions.setCurrentColumns),c=s.useEditorStore(v=>v.actions.setSelectedConnectionId),j=s.useEditorStore(v=>v.actions.setSelectedDatamodelId),b=s.useEditorStore(v=>v.actions.setSelectedDatabaseName),h=s.useEditorStore(v=>v.actions.setSelectedSchemaName),f=s.useEditorStore(v=>v.actions.setSelectedTableName);s.useEditorStore(v=>v.actions.setCardSql);function x(v){return o&&l&&d&&l!=="NA"?!0:o&&v==="API"?!1:!!(o&&v==="S3")}function N(v){return!!(o&&l&&l!=="NA"&&d&&u||o&&(v==="S3"||v==="API")||i&&i)}function y(v){return o&&v?!(v==="API"||v==="S3"):!1}const{refetch:T,data:C,isLoading:E,isError:M}=s.useQuery({queryKey:["connections"],queryFn:()=>s.getRequest("https://semaphor.cloud/api/v1/connections",(r==null?void 0:r.accessToken)||""),enabled:!!(r!=null&&r.accessToken)}),{refetch:A,data:R,isLoading:V,isError:q}=s.useQuery({queryKey:["models",o],queryFn:()=>s.getRequest("https://semaphor.cloud/api/v1/datamodels",(r==null?void 0:r.accessToken)||"",{connection_id:o}),enabled:!!(r!=null&&r.accessToken)&&!!o}),m=C==null?void 0:C.connections.find(v=>v.id===o),L=m==null?void 0:m.type,_=(m==null?void 0:m.type)==="API"||(m==null?void 0:m.type)==="S3",{data:g,isLoading:k,isFetching:z,isError:I,refetch:H}=s.useQuery({queryKey:["databases",o],queryFn:()=>s.getRequest("https://semaphor.cloud/api/v1/databases",(r==null?void 0:r.accessToken)||"",{connection_id:o}),enabled:y(L)}),{data:P,isLoading:$,isFetching:X,isError:Q,refetch:F}=s.useQuery({queryKey:["schemas",o,l],queryFn:()=>s.getRequest("https://semaphor.cloud/api/v1/schemas",(r==null?void 0:r.accessToken)||"",{connection_id:o,database_name:l}),enabled:!!o&&!!l&&!_&&l!=="NA"}),{data:O,isLoading:Y,isFetching:w,isError:B,refetch:U}=s.useQuery({queryKey:["tables",o,l,d],queryFn:()=>s.getRequest("https://semaphor.cloud/api/v1/tables",(r==null?void 0:r.accessToken)||"",{connection_id:o,database_name:l,schema_name:d}),enabled:x(L)}),{data:W,isLoading:ae,isFetching:se,isError:G,refetch:K}=s.useQuery({queryKey:["columns",o,l,i,d,u],queryFn:()=>s.getRequest("https://semaphor.cloud/api/v1/columns",(r==null?void 0:r.accessToken)||"",{connection_id:o,datamodel_id:i||"",database_name:l,schema_name:d,table_name:u}),enabled:N(L)});S.useEffect(()=>{p(a)},[W,p,a]),S.useEffect(()=>{(L==="S3"||L==="API")&&(b(""),h(""),j(""),L==="API"&&f("api"))},[L,f,b,h,j]);const D=(m==null?void 0:m.type)==="API"?(ke=m==null?void 0:m.type)==null?void 0:ke.toLowerCase():u||"",J=_?"":d||"";function Z(v){h(v),f("")}function ee(v){b(v==="none"?"":v),h(""),f(""),v!=="none"&&v!==""&&j("")}function ce(v){c(v)}function je(v){j(v==="none"?"":v),v!=="none"&&v!==""&&b("")}g&&((Ee=g==null?void 0:g.databases)==null?void 0:Ee.length)>0,P&&((De=P==null?void 0:P.schemas)==null?void 0:De.length)>0,W&&((Ie=W==null?void 0:W.columns)==null?void 0:Ie.length)>0&&(a=W.columns.map(v=>({...v,data_type:v.data_type.toLowerCase()}))),I&&(a=[]),(G||M)&&(a=[]);const he=C==null?void 0:C.connections.map(v=>({id:v.id,name:v.name,type:v.type})),be=(Te=R==null?void 0:R.datamodels)==null?void 0:Te.map(v=>({id:v.id,name:v.name})),ms=g==null?void 0:g.databases.map(v=>({id:v.database_name,name:v.database_name})),xs=P==null?void 0:P.schemas.map(v=>({id:v.schema_name,name:v.schema_name})),ps=O==null?void 0:O.tables.map(v=>({id:v.table_name,name:v.table_name})),fs=(Ae=R==null?void 0:R.datamodels.find(v=>v.id===i))==null?void 0:Ae.name;return{connectionItems:he,isConnectionsLoading:E,isConnectionsError:M,modelItems:be,selectedDatamodelId:i,selectedDatamodelName:fs,isModelsLoading:V,isModelsError:q,databaseItems:ms,isDatabasesLoadingOrFetching:k||z,isDatabaseError:I,schemaItems:xs,isSchemaLoadingOrFetching:$||X,isSchemaError:Q,tableItems:ps,isTableLoadingOrFetching:Y||w,isTableError:B,columns:a,isColumnsLoadingOrFetching:ae||se,isColumnsError:G,isNonDbConnection:_,connectionType:L,tableName:D,schemaName:J,refetchConnections:T,refetchModels:A,refetchDatabases:H,refetchSchemas:F,refetchTables:U,refetchColumns:K,handleConnectionChange:ce,handleDatamodelChange:je,handleDatabaseChange:ee,handleSchemaChange:Z}}function Ye({ColumnsComponent:t}){var se;const n=s.useEditorStore(G=>G.selectedConnectionId),a=s.useEditorStore(G=>G.selectedDatamodelId),r=s.useEditorStore(G=>G.selectedDatabaseName),o=s.useEditorStore(G=>G.selectedSchemaName),i=s.useEditorStore(G=>G.selectedTableName),l=s.useEditorStore(G=>G.actions.setSelectedTableName),{connectionItems:d,modelItems:u,schemaItems:p,databaseItems:c,tableItems:j,columns:b,isConnectionsLoading:h,isModelsLoading:f,isConnectionsError:x,isModelsError:N,isDatabasesLoadingOrFetching:y,isDatabaseError:T,isSchemaLoadingOrFetching:C,isSchemaError:E,isColumnsError:M,isColumnsLoadingOrFetching:A,isTableLoadingOrFetching:R,isTableError:V,connectionType:q,isNonDbConnection:m,refetchDatabases:L,refetchModels:_,refetchSchemas:g,refetchTables:k,refetchColumns:z,refetchConnections:I,handleConnectionChange:H,handleDatabaseChange:P,handleSchemaChange:$,handleDatamodelChange:X,tableName:Q,schemaName:F}=ne();function O(){return t?t(F,Q,b):e.jsx(st,{schemaName:F,tableName:Q,columns:b,status:A?"Loading...":M?"Error":"Success"})}function Y(){window.location.href="mailto:support@semaphor.cloud?subject=Help&body=I need help with..."}function w(){if(!n||q==="S3"||q==="API")return null;if(!a||a==="none")return e.jsx(oe,{refetch:L,showNone:!0,onChange:P,isError:T,isLoading:y,items:c,value:r||"",title:"Database"})}function B(){if(n&&!m&&(!r||r==="none")&&(!a||a==="none"))return e.jsxs("div",{className:"grid grid-cols-3",children:[e.jsx("div",{className:"col-span-1 grid place-items-center",children:e.jsx(s.Separator,{})}),e.jsx("div",{className:"col-span-1 grid place-items-center",children:e.jsx(s.Label,{children:"OR"})}),e.jsx("div",{className:"col-span-1 grid place-items-center",children:e.jsx(s.Separator,{})})]})}function U(){if(!n||q==="S3"||q==="API")return null;if(!r||r==="none")return e.jsx(oe,{refetch:_,showNone:!0,onChange:X,isError:N,isLoading:f,items:u,value:a||"",title:"Model"})}function W(){return!n||q==="S3"||q==="API"||!r||r==="none"?null:e.jsx(oe,{refetch:g,onChange:$,isError:E,isLoading:C,items:p,value:o||"",title:"Schema"})}function ae(){function G(){let K=!1;return q==="API"?(K=!1,K):((q==="S3"||n&&r&&r!=="none"&&o)&&(K=!0),K)}return G()?e.jsx(oe,{refetch:k,onChange:l,isError:V,items:j,isLoading:R,value:i||"",title:"Table"}):null}return e.jsxs("aside",{className:"flex grow flex-col justify-between",children:[e.jsxs("section",{className:"space-y-3 px-6 py-4",children:[e.jsx(oe,{refetch:I,items:d,title:"Connection",value:n||"",onChange:H,isLoading:h,isError:x,connectionTooltip:((se=d==null?void 0:d.find(G=>G.id===n))==null?void 0:se.type)||""}),w(),B(),U(),W(),ae()]}),O(),e.jsx("div",{className:"flex items-end justify-center gap-2 px-6 py-4",children:e.jsxs(s.Button,{onClick:Y,size:"sm",variant:"secondary",className:"w-full",children:[e.jsx(Vs,{className:"mr-2 size-4"}),"Help"]})})]})}function tt(t){const n=t.toUpperCase().indexOf("WHERE"),a=t.toUpperCase().indexOf("GROUP BY"),r=t.toUpperCase().indexOf("LIMIT"),o=t.toUpperCase().indexOf("ORDER BY");let i=t.length;if(o!==-1&&(i=o),r!==-1&&r<i&&(i=r),n!==-1){const l=t.substring(0,n),d=t.substring(n);return`${l} {{ filters | where }} AND ${d.substring(6)}`}else if(a!==-1){const l=t.substring(0,a),d=t.substring(a);return`${l} {{ filters | where }} ${d}`}else{const l=t.substring(0,i),d=t.substring(i);return console.log("beforeClause",l),console.log("afterClause",d),d?`${l} {{ filters | where }} ${d}`:`${l.replace(/;$/,"")} {{ filters | where }}`}}function at({sql:t,error:n,onClick:a}){return!t&&!n?null:e.jsxs(s.HoverCard,{openDelay:n?0:500,children:[e.jsx(s.HoverCardTrigger,{asChild:!0,children:e.jsx(s.Button,{variant:"link",className:"h-5 p-0",children:n?e.jsx(vs,{className:"h-4 w-4 text-red-500"}):e.jsx(s.Info,{className:"h-4 w-4 text-muted-foreground"})})}),e.jsx(s.HoverCardContent,{align:"start",className:"w-full min-w-fit max-w-[700px]",children:e.jsx("div",{className:"flex justify-between space-x-4",children:e.jsxs("div",{className:"flex grow flex-col space-y-2",children:[e.jsxs(s.ScrollArea,{className:"max-h-[250px] min-h-0 overflow-scroll text-xs leading-relaxed text-foreground/80",children:[n&&n,t&&e.jsxs("div",{className:"flex flex-col space-y-1.5",children:[e.jsx("span",{className:"text-xs font-semibold",children:"Resolved SQL"}),e.jsx("span",{className:"font-mono",children:t})]})]}),n&&e.jsxs(s.Button,{onClick:a,size:"sm",variant:"secondary",children:[e.jsx(Ts,{className:"mr-2 h-4 w-4"}),"Debug with Assistant"]})]})})})]})}function nt(){const[t,n]=S.useState([]),[a,r]=S.useState(""),[o,i]=S.useState(null),{authToken:l}=s.useSemaphorContext(),d=s.useEditorStore(w=>{var B;return(B=w==null?void 0:w.card)==null?void 0:B.sql}),u=s.useEditorStore(w=>{var B;return(B=w==null?void 0:w.card)==null?void 0:B.python}),p=s.useEditorStore(w=>w.actions.setCardSql),c=s.useEditorStore(w=>w.actions.setRunSql),j=s.useEditorStore(w=>w.actions.switchCardType),b=s.useEditorStore(w=>w.userInputForAI),h=s.useEditorStore(w=>w.triggerAIRun),f=s.useEditorStore(w=>w.selectedDatabaseName),x=s.useEditorStore(w=>w.selectedTableName),N=s.useEditorStore(w=>w.selectedConnectionId),y=s.useEditorStore(w=>w.selectedSchemaName),T=s.useDashboardStore(w=>w.dashboard.aiScopeTables),{setTriggerAIRun:C}=s.useEditorActions(),{selectedDatamodelName:E,connectionType:M,selectedDatamodelId:A}=ne(),{messages:R,setMessages:V,reload:q,append:m,input:L,setInput:_,status:g,handleInputChange:k,handleSubmit:z,stop:I}=s.useChat({api:"https://semaphor.cloud/api/v1/assistant",headers:{Authorization:`Bearer ${l==null?void 0:l.accessToken}`},body:{random:Math.random()},maxSteps:10,onToolCall:H,onFinish(w,B){P(B.usage),r(""),console.log("onFinish",w,B),B.finishReason==="stop"&&r("")}});S.useEffect(()=>{h&&b&&(k({target:{value:b}}),setTimeout(()=>{z(),C(!1)},100))},[h,z,b,C,k]);async function H({toolCall:w}){if(w.toolName==="createChart"){console.log("createChart",w.args);const B=w.args.sql,U=w.args.chartType;return j(U),p(B),c(!0),{status:"success",message:"Let the user know that chart is created"}}else if(w.toolName==="getTableColumns")r("Getting table columns...");else{if(w.toolName==="getUserSql")return d?{status:"success",sql:d,python:u||""}:{status:"error",message:"No SQL found"};if(w.toolName==="getCurrentTableScope")return r("Getting table scope..."),O(),{status:"success",tables:t};r("Thinking...")}}function P(w){i(B=>B?{promptTokens:B.promptTokens+w.promptTokens,completionTokens:B.completionTokens+w.completionTokens,totalTokens:B.totalTokens+w.totalTokens}:w)}function $(w){const B=s.removeFromScopeArray(t,w);Q(B)}function X(w){return w.map(U=>({...U,connectionType:U.connectionType==="API"||U.connectionType==="S3"?"DuckDb":U.connectionType}))}function Q(w){const B=X(w);n(B),V(U=>[...U,{id:crypto.randomUUID(),role:"system",content:`Current scope of tables | ${JSON.stringify(B)}`}])}function F(){const w={databaseName:f||"",schemaName:y||"",tableName:x||"",datamodelId:A||"",datamodelName:s.resolveDatamodelName(E),connectionId:N||"",connectionType:M||""},B=s.dedup([...t,w]);Q(B)}function O(){const w={databaseName:f||"",schemaName:y||"",tableName:x||"",datamodelName:s.resolveDatamodelName(E),connectionId:N||"",connectionType:M||"",datamodelId:A||""};if(!s.isInAiScopeArray([...T||[],...t],w)||t.length===0){const U=s.dedup([...T||[],...t,w]).filter(W=>W.connectionId===w.connectionId);Q(U)}}const Y=!["ready","error"].includes(g);return{messages:R,setMessages:V,reload:q,append:m,input:L,setInput:_,isLoading:Y,handleSetAIScope:O,handleAddCurrentTableToScope:F,removeFromCurrentSelections:$,currentScope:t,setCurrentScope:n,handleInputChange:k,handleSubmit:z,stop:I,chatStatus:g,toolStatus:a,llmUsage:o}}const rt=!1;function ot(){const t=s.useEditorStore(I=>I.showAIDialog),n=S.useRef(t),a=S.useRef(null),r=S.useRef(null),[o,i]=S.useState(!1),[l,d]=S.useState(rt),[u,p]=S.useState(!1),c=s.useEditorStore(I=>I.actions.setCardSql),j=s.useEditorStore(I=>I.actions.setRunSql),{setShowAIDialog:b}=s.useEditorActions(),{messages:h,setMessages:f,reload:x,input:N,setInput:y,isLoading:T,handleSetAIScope:C,handleAddCurrentTableToScope:E,removeFromCurrentSelections:M,currentScope:A,setCurrentScope:R,handleInputChange:V,handleSubmit:q,stop:m,chatStatus:L,toolStatus:_,llmUsage:g}=nt();S.useEffect(()=>{const I=n.current?"smooth":"auto";n.current=t;const H=setTimeout(()=>{var P;a.current&&(a.current.scroll({top:a.current.scrollHeight,behavior:I}),(P=r.current)==null||P.focus())},50);return()=>clearTimeout(H)},[h,t]);function k(I){b(!1),c(I),j(!0)}function z(){return e.jsxs(s.DropdownMenu,{children:[e.jsx(s.DropdownMenuTrigger,{children:e.jsx(s.Button,{className:"h-7 p-2",size:"sm",variant:"ghost",children:e.jsx(He,{className:"size-3.5 text-muted-foreground/70 hover:text-muted-foreground"})})}),e.jsxs(s.DropdownMenuContent,{align:"end",children:[e.jsx(s.DropdownMenuLabel,{children:"Options"}),e.jsx(s.DropdownMenuSeparator,{}),e.jsx(s.DropdownMenuCheckboxItem,{checked:o,onCheckedChange:i,children:"Token Usage"}),e.jsx(s.DropdownMenuCheckboxItem,{checked:l,onCheckedChange:d,children:"Tool Invocations"}),e.jsx(s.DropdownMenuCheckboxItem,{checked:u,onCheckedChange:p,children:"System Message"})]})]})}return e.jsxs(s.Dialog,{open:t,onOpenChange:b,children:[e.jsx(s.DialogTrigger,{asChild:!0,children:e.jsx(s.Button,{onClick:C,size:"sm",className:"w-full cursor-text justify-start font-normal text-muted-foreground focus-visible:ring-0 focus-visible:ring-offset-0",variant:"ghost",children:"Type your question..."})}),e.jsxs(s.DialogContent,{className:"flex flex-col justify-between overflow-auto sm:max-w-[425px] md:max-h-[700px] md:min-w-[625px] [&>button]:hidden",children:[e.jsx(s.DialogHeader,{children:e.jsxs("div",{className:"flex items-start justify-between gap-2",children:[e.jsxs("div",{children:[e.jsx(s.DialogTitle,{children:"Assistant"}),A&&A.length>0&&e.jsxs("div",{className:"mt-2 flex flex-wrap items-center gap-2",children:[e.jsx("span",{className:"text-xs text-muted-foreground",children:"Context:"}),A==null?void 0:A.map((I,H)=>e.jsxs("div",{className:"flex items-center gap-2 rounded-md border border-border bg-muted px-2 py-1 text-xs",children:[s.getFormattedTableNameForQuery({schemaName:I.schemaName||"",tableName:I.tableName||"",modelName:I.datamodelName||"",connectionType:I.connectionType||""}),e.jsx("button",{onClick:()=>{M(I)},children:e.jsx(s.X,{className:"size-3 text-muted-foreground hover:text-foreground"})})]},H))]}),(A==null?void 0:A.length)===0&&e.jsxs("div",{className:"mt-2 flex items-center gap-2",children:[e.jsx("span",{className:"text-xs text-muted-foreground",children:"Context: None"}),e.jsxs(s.Button,{className:"h-6 text-xs",size:"sm",variant:"secondary",onClick:E,children:[e.jsx(s.Plus,{className:"mr-2 size-3"}),"Current Table"]})]})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[z(),e.jsx(s.Button,{className:"h-7 p-2",size:"sm",variant:"ghost",onClick:()=>{f([]),R([]),x()},children:e.jsx(s.RefreshCcw,{className:"size-3.5 text-muted-foreground"})})]})]})}),e.jsx("div",{ref:a,className:"h-[700px] w-full overflow-auto",children:e.jsxs("div",{className:"space-y-4 py-2 pr-3",role:"messages",children:[e.jsx(s.PrintMessages,{messages:h,showTools:l,handleRun:k,showSystemMessage:u}),e.jsx(s.ChatStatus,{status:s.getStatus(L,_),isLoading:T})]})}),e.jsx(s.ChatInput,{stop:m,ref:r,setInput:y,input:N,handleInputChange:V,handleSubmit:q,isLoading:T}),g&&o&&e.jsx("div",{className:"flex h-8 items-center justify-between",children:e.jsxs("div",{className:"text-xs text-muted-foreground",children:["Usage: ",g.promptTokens," prompt tokens,"," ",g.completionTokens," completion tokens,"," ",g.totalTokens," total tokens"]})})]})]})}var Ze={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},Oe=S.createContext&&S.createContext(Ze),it=["attr","size","title"];function lt(t,n){if(t==null)return{};var a=ct(t,n),r,o;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(o=0;o<i.length;o++)r=i[o],!(n.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(t,r)&&(a[r]=t[r])}return a}function ct(t,n){if(t==null)return{};var a={};for(var r in t)if(Object.prototype.hasOwnProperty.call(t,r)){if(n.indexOf(r)>=0)continue;a[r]=t[r]}return a}function pe(){return pe=Object.assign?Object.assign.bind():function(t){for(var n=1;n<arguments.length;n++){var a=arguments[n];for(var r in a)Object.prototype.hasOwnProperty.call(a,r)&&(t[r]=a[r])}return t},pe.apply(this,arguments)}function Me(t,n){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);n&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),a.push.apply(a,r)}return a}function fe(t){for(var n=1;n<arguments.length;n++){var a=arguments[n]!=null?arguments[n]:{};n%2?Me(Object(a),!0).forEach(function(r){dt(t,r,a[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(a)):Me(Object(a)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(a,r))})}return t}function dt(t,n,a){return n=ut(n),n in t?Object.defineProperty(t,n,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[n]=a,t}function ut(t){var n=ht(t,"string");return typeof n=="symbol"?n:n+""}function ht(t,n){if(typeof t!="object"||!t)return t;var a=t[Symbol.toPrimitive];if(a!==void 0){var r=a.call(t,n);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(t)}function es(t){return t&&t.map((n,a)=>S.createElement(n.tag,fe({key:a},n.attr),es(n.child)))}function ie(t){return n=>S.createElement(mt,pe({attr:fe({},t.attr)},n),es(t.child))}function mt(t){var n=a=>{var{attr:r,size:o,title:i}=t,l=lt(t,it),d=o||a.size||"1em",u;return a.className&&(u=a.className),t.className&&(u=(u?u+" ":"")+t.className),S.createElement("svg",pe({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},a.attr,r,l,{className:u,style:fe(fe({color:t.color||a.color},a.style),t.style),height:d,width:d,xmlns:"http://www.w3.org/2000/svg"}),i&&S.createElement("title",null,i),t.children)};return Oe!==void 0?S.createElement(Oe.Consumer,null,a=>n(a)):n(Ze)}function xt(t){return ie({attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z"},child:[]}]})(t)}function ss(t){const{theme:n}=s.useTheme(),a=s.useDashboardStore(x=>x.theme),r=s.useEditorStore(x=>x.frame),o=s.useEditorStore(x=>x.card),i=s.useEditorStore(x=>x.activeTabCardId),l=s.Le(),{refetch:d}=s.useDashboardCardQuery(o),{updateCardTab:u,setRunSql:p}=s.useEditorActions(),c=S.useRef(),j=S.useRef({}),b=r.cards.find(x=>x.id===i),h=S.useCallback(()=>{let x="";return t==="python"&&(x=(b==null?void 0:b.python)||s.PYTHON_DEFAULT_CODE),t==="sql"&&(x=(b==null?void 0:b.sql)||""),x},[t,b]);S.useEffect(()=>{if(i&&o.id&&o.id!==i){if(c.current&&l){const x=c.current.getModel();x&&(j.current[o.id]=x);let N=j.current[i];if(!N){const y=h();N=l.editor.createModel(y,t),j.current[i]=N}c.current.setModel(N)}u(i,o),p(!0)}},[i,o,u,l,p,t,h]),S.useEffect(()=>{if(!l)return;const x=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light",N=a==="system"?x:a;l.editor.defineTheme("default",{base:N==="light"?"vs":"vs-dark",inherit:!0,rules:[],colors:{"editor.background":N==="light"?"#ffffff":s.hslStringToHex("240 10% 10%")}}),l.editor.setTheme("default")},[n,a,l]),S.useEffect(()=>{const x=c.current;x&&l&&o&&x.addCommand(l.KeyMod.Shift|l.KeyCode.Enter,function(){return d(),!1})},[l,d,o]);function f(x,N){if(c.current=x,!j.current[o.id]){const y=x.getModel(),T=h();j.current[o.id]=y||(N==null?void 0:N.editor.createModel(T,t))||x.getModel()}x.setModel(j.current[o.id])}return{handleEditorDidMount:f}}function pt(){const t=s.useEditorStore(l=>l.card.sql),n=s.useEditorStore(l=>l.sqlGen),{setCardSql:a,setSqlGen:r}=s.useEditorActions(),{handleEditorDidMount:o}=ss("sql");function i(l){a(l),s.isObjectEmpty(n)||r({})}return e.jsx(s.Ft,{theme:"default",className:"pt-3",onChange:i,value:t||"",options:{minimap:{enabled:!1},wordWrap:"on",scrollbar:{verticalScrollbarSize:0,horizontalScrollbarSize:0},fontSize:13,renderLineHighlight:"none"},defaultLanguage:"sql",onMount:o})}function ft(){const t=s.useEditorStore(o=>o.card.python),{setCardPython:n}=s.useEditorActions(),{handleEditorDidMount:a}=ss("python");function r(o){n(o)}return e.jsx(s.Ft,{className:"pt-3",theme:"default",onChange:r,value:t||s.PYTHON_DEFAULT_CODE,options:{minimap:{enabled:!1},wordWrap:"on",scrollbar:{verticalScrollbarSize:0,horizontalScrollbarSize:0},fontSize:13,renderLineHighlight:"none"},defaultLanguage:"python",onMount:a})}function gt({jsonString:t}){return e.jsx(s.Ft,{theme:"default",defaultLanguage:"json",className:"mt-1 min-h-[220px]",value:t,options:{readOnly:!0,minimap:{enabled:!1},lineNumbers:"off",glyphMargin:!1,wordWrap:"on",scrollbar:{verticalScrollbarSize:0,horizontalScrollbarSize:0},fontSize:12,renderLineHighlight:"none"}})}function jt(){var K;const[t,n]=S.useState({queryKey:[],queryData:null}),a=s.useQueryClient(),[r,o]=S.useState(!1),[i,l]=S.useState(!1),d=s.useEditorStore(D=>D.frame),u=s.useEditorStore(D=>D.card),p=s.useEditorStore(D=>D.isShowingVisual),c=s.useEditorStore(D=>D.selectedConnectionId),j=s.useEditorStore(D=>D.selectedDatabaseName),b=s.useEditorStore(D=>D.selectedDatamodelId),h=s.useEditorStore(D=>D.selectedSchemaName),f=s.useEditorStore(D=>D.selectedTableName),x=s.useEditorStore(D=>{var J;return(J=D==null?void 0:D.card)==null?void 0:J.sql}),{sheetFilterValues:N}=s.useSheetFilterValues(),{setCardCustomCfg:y,setQueryResultColumns:T,setCardSql:C,setPythonStdOut:E,setCardPreferences:M,setCardType:A,setCardPython:R,runAssistant:V}=s.useEditorActions(),q=s.useEditorStore(D=>D.onSave),m=s.useEditorStore(D=>D.onClose),L=s.useEditorStore(D=>D.actions.setSqlGen),_=s.useEditorStore(D=>D.runSql),g=s.useEditorStore(D=>D.actions.setRunSql),k=s.useEditorStore(D=>D.actions.setCardCfg),z=s.useEditorStore(D=>D.actions.setIsSqlRunning),{data:I,isLoading:H,isFetching:P,isSuccess:$,isError:X,error:Q,queryKey:F,refetch:O}=s.useDashboardCardQuery(u);S.useEffect(()=>{if(I&&(I.rowLimitExceeded&&s.ue.error("Row limit (10,000) exceeded. Refine your query.",{position:"top-center",richColors:!0}),E((I==null?void 0:I.output)||""),I.records.length>0)){const{dimensionKeys:D}=s.getKeys(I.records);T(D)}},[I,T,E]),S.useEffect(()=>{(H||P)&&z(!0),(X||$)&&z(!1),X&&(T([]),E(""))},[H,P,I,E,X,$,z,T,Q]),S.useEffect(()=>{_&&(a.getQueryData(F)||O(),g(!1))},[_,O,g,F,a]);function Y(){const D=a.getQueryData(F);t.queryData||n({queryKey:F,queryData:D}),a.setQueryData(F,null),a.removeQueries({queryKey:F,exact:!0}),C(""),L({}),R(""),k(void 0),y(""),M({}),A("bar")}function w(D,J){if(D.length===0)return"";if(J){const Z=D.find(ee=>ee.id===J);if(Z){const ee=Z.tabTitle;if(ee=="All__Header")return D[0].id;if(ee&&ee.endsWith("__Header")){const je=ee.split("__")[0],he=D.find(be=>be.tabTitle===je);return he?he.id:D[0].id}return J}}return D[0].id}function B(){let D=x;x&&!x.includes("{{")&&(D=tt(x),C(D));const J={...u,lastSelectedSchema:h,lastSelectedDatamodelId:b,lastSelectedDatabase:j,lastSelectedTable:f,connectionId:c,type:p?u.type:"table",sql:D,customCfg:p?u.customCfg:null},Z=d.cards.map(ce=>ce.id===u.id?J:ce),ee={...d,cards:Z,activeCardId:w(Z,d.activeCardId)};q==null||q(ee)}function U(){const{queryKey:D,queryData:J}=t;D&&J&&a.setQueryData(D,J),L({}),m==null||m()}async function W(){const D=`Can you help me debug this query in the current table scope?
221
+ */const Je=s.createLucideIcon("Type",[["polyline",{points:"4 7 4 4 20 4 20 7",key:"1nosan"}],["line",{x1:"9",x2:"15",y1:"20",y2:"20",key:"swin9y"}],["line",{x1:"12",x2:"12",y1:"4",y2:"20",key:"1tx1rr"}]]);function Ne(t){var n;return{...t,sheets:(n=t==null?void 0:t.sheets)==null?void 0:n.map(a=>{var r;return{...a,frames:(r=a.frames)==null?void 0:r.map(o=>{var i;return{...o,cards:(i=o.cards)==null?void 0:i.map(l=>We(l))}})}})}}function We(t){var n,a,r,o;return{...t,cfg:{...t.cfg,data:{...(n=t.cfg)==null?void 0:n.data,labels:[],datasets:(o=(r=(a=t.cfg)==null?void 0:a.data)==null?void 0:r.datasets)==null?void 0:o.map(i=>({...i,data:[]}))}},customCfg:Qs(t.customCfg),data:[]}}function Qs(t){var n,a;return t?{...t,data:{...t==null?void 0:t.data,labels:[],datasets:(a=(n=t==null?void 0:t.data)==null?void 0:n.datasets)==null?void 0:a.map(r=>({...r,data:[]}))}}:null}async function Js(t,n,a,r){if(!r)return null;const o=JSON.stringify(n);return await s.postRequest("https://semaphor.cloud/api/v1/lens",r,{name:t,template:o,filterValues:a,operation:"create"})}async function ye(t,n){if(!n)return null;const{id:a,template:r,filterValues:o,isDefault:i,shared:l}=t;return await s.postRequest("https://semaphor.cloud/api/v1/lens",n,{lensId:a,template:r,filterValues:o,isDefault:i,shared:l,operation:"update"})}async function Ws(t,n){return n?await s.postRequest("https://semaphor.cloud/api/v1/lens",n,{operation:"delete",lensId:t}):null}function Ks(){const[t,n]=S.useState(""),[a,r]=S.useState(!1),o=s.useDashboardStore(x=>x.lenses),{setLenses:i,setSelectedLensId:l}=s.useDashboardActions(),[d,u]=S.useState(!1),[p,c]=S.useState(!1),j=s.useDashboardStore(x=>x.dashboard),b=s.useDashboardStore(x=>x.filterValues),{authToken:h}=s.useSemaphorContext();async function f(){u(!0);const x=Ne(j),N=await Js(t,x,b,h==null?void 0:h.accessToken);N&&(i([...o||[],N]),l(N.id),c(!1)),u(!1)}return e.jsxs(s.Dialog,{open:p,onOpenChange:c,children:[e.jsx(s.DialogTrigger,{asChild:!0,children:e.jsxs(s.Button,{variant:"secondary",className:"h-7 p-2",size:"sm",children:[e.jsx(s.Plus,{className:"mr-2 h-4 w-4",strokeWidth:1.5}),"Lens"]})}),e.jsxs(s.DialogContent,{className:"sm:max-w-[425px]",children:[e.jsxs(s.DialogHeader,{children:[e.jsx(s.DialogTitle,{children:"Create Lens"}),e.jsx(s.DialogDescription,{children:"Lenses are private by default and are only visible to you."})]}),e.jsx("div",{className:"grid gap-4 py-4",children:e.jsxs("div",{className:"grid grid-cols-8 items-center gap-4",children:[e.jsx(s.Label,{className:"text-right",children:"Name"}),e.jsx(s.Input,{value:t,onChange:x=>{n(x.target.value)},id:"name",className:"col-span-7 focus-visible:ring-0 focus-visible:ring-ring focus-visible:ring-offset-0"})]})}),a&&e.jsx("p",{className:"text-sm",children:"The lens name already exists. Use a differnet name."}),e.jsx(s.DialogFooter,{children:e.jsx(s.Button,{size:"sm",variant:"outline",type:"submit",onClick:f,disabled:d,children:d?"Creating...":"Add"})})]})]})}function Xs(){const[t,n]=S.useState(!1),a=s.useDashboardStore(c=>c.lenses),r=s.useDashboardStore(c=>c.selectedLensId),{setLenses:o,setSelectedLensId:i}=s.useDashboardActions(),{authToken:l}=s.useSemaphorContext();async function d(c){i(c)}async function u(c){if(await Ws(c,l==null?void 0:l.accessToken)){const b=a==null?void 0:a.filter(h=>h.id!==c);o(b||[]),i("original")}}async function p(c){const j=a==null?void 0:a.map(f=>f.id===c.id?{...f,isDefault:!c.isDefault}:{...f,isDefault:!1});o(j||[]);const b={...c,isDefault:!c.isDefault};await ye(b,l==null?void 0:l.accessToken);const h=a==null?void 0:a.find(f=>f.isDefault);if(h&&h.id!==c.id){const f={...h,isDefault:!1};await ye(f,l==null?void 0:l.accessToken)}}return e.jsxs(s.DropdownMenu,{open:t,onOpenChange:n,children:[e.jsx(s.DropdownMenuTrigger,{asChild:!0,children:e.jsx(s.Button,{variant:"ghost",className:"h-7 p-2",children:e.jsx(Is,{className:"h-4 w-4",strokeWidth:1.5})})}),e.jsxs(s.DropdownMenuContent,{align:"end",className:"w-60",children:[e.jsx(s.DropdownMenuLabel,{className:"px-3",children:"Lenses"}),e.jsx(s.DropdownMenuSeparator,{}),e.jsxs(s.DropdownMenuRadioGroup,{value:r,onValueChange:d,children:[e.jsx(s.DropdownMenuRadioItem,{value:"original",children:"Original"}),a==null?void 0:a.map(c=>e.jsxs(s.DropdownMenuRadioItem,{className:"group flex justify-between gap-2",value:c.id,children:[e.jsx("p",{children:c.name}),e.jsxs("span",{className:"flex items-center gap-3",children:[e.jsx(Ls,{onClick:j=>{j.preventDefault(),p(c)},className:s.cn("size-3.5 text-muted-foreground hover:cursor-pointer hover:text-foreground group-hover:visible",{invisible:!c.isDefault,"text-green-500":c.isDefault}),strokeWidth:1.5}),e.jsx(s.Cross2Icon,{onClick:j=>{j.preventDefault(),u(c.id)},className:"invisible size-3.5 text-muted-foreground hover:cursor-pointer hover:text-foreground group-hover:visible",strokeWidth:1.5})]})]},c.id))]})]})]})}async function Ke(){var h;const t=s.useDashboardStore.getState().authToken,n=s.useDashboardStore.getState().theme,a=s.useDashboardStore.getState().filterValues,r=(h=s.useDashboardStore.getState().dashboard)==null?void 0:h.title,o=s.useDashboardStore.getState().isDownloadingPdf,i=s.useDashboardStore.getState().selectedSheetId;if(o)return;const l=new URLSearchParams;l.set("token",(t==null?void 0:t.accessToken)||""),l.set("theme",n||"light"),l.set("filterValues",JSON.stringify(a)),l.set("selectedSheetId",i||"");const d=`https://semaphor.cloud/api/v1/generate-pdf?params=${encodeURIComponent(l.toString())}`;s.useDashboardStore.setState({isDownloadingPdf:!0});const c=(await(await fetch(d,{method:"GET",headers:{Authorization:`Bearer ${t==null?void 0:t.accessToken}`}})).json()).url,j=document.createElement("a");j.href=c;const b=`${r}-${new Date().toISOString()}.pdf`;j.download=b,j.click(),s.useDashboardStore.setState({isDownloadingPdf:!1})}function Ys({iconClassName:t}){const{authToken:n}=s.useSemaphorContext();s.useDashboardStore(o=>{var i;return(i=o.dashboard)==null?void 0:i.title}),s.useDashboardStore(o=>o.theme),s.useDashboardStore(o=>o.filterValues);const a=s.useDashboardStore(o=>o.isDownloadingPdf);async function r(){await Ke()}return e.jsx(s.Button,{variant:"link",className:"group h-7 p-2",size:"sm",onClick:r,children:a?e.jsx(ue,{className:s.cn("size-3.5 animate-spin",t)}):e.jsx(s.Download,{className:s.cn("size-3.5",t),strokeWidth:1.5})})}function Zs(){const{authToken:t}=s.useSemaphorContext();s.useDashboardStore(m=>m.theme);const n=s.useDashboardStore(m=>m.lenses),a=s.useDashboardStore(m=>m.selectedLensId),r=n==null?void 0:n.find(m=>m.id===a),o=s.useDashboardStore(m=>m.dashboard);s.useDashboardStore(m=>m.selectedSheetId);const i=s.useDashboardStore(m=>m.isDashboardEditing),l=s.useEditorStore(m=>m.selectedConnectionId),[d,u]=S.useState(!1),p=s.useDashboardStore(m=>m.filterValues),c=s.useDashboardStore(m=>m.isVisualEditing),j=s.useDashboardStore(m=>m.showFilters);s.useDashboardStore(m=>m.showDashboardJSON);const b=s.useDashboardStore(m=>m.onSaveFunction),h=s.useDashboardStore(m=>m.actions.setShowFilters),{addFrame:f,setSelectedFrameId:x}=s.useDashboardStore(m=>m.actions),{getSelectedSheet:N,setIsDashboardEditing:y,setShowDashboardJSON:T}=s.useDashboardStore(m=>m.actions),C=N(),{tenantId:E,endUserId:M}=S.useMemo(()=>s.getTenantAndEndUserId(t==null?void 0:t.accessToken),[t==null?void 0:t.accessToken]),A=S.useMemo(()=>E||M,[E,M]),R=()=>{if(!i||!C)return;const m={connectionId:l,id:s.v4(),title:"Title",description:"Description",preferences:{onClickFilter:[{columnIndex:0,expression:""}]},type:"bar",sql:"select COUNT(*) from YOUR_TABLE",data:[]},L={id:s.v4(),cards:[m],activeCardId:m.id};f(C.id,L),x(L.id)},V=()=>{y(!0)};async function q(){if(u(!0),!a||!r)return;const m=Ne(o),L=JSON.stringify(m),_={...r,template:L,filterValues:p};await ye(_,t==null?void 0:t.accessToken),s.ue.success("Lens saved"),b==null||b(m),u(!1)}return c?null:e.jsxs("div",{className:"flex items-center justify-between gap-2 border-b bg-muted/50 py-2 pl-3 pr-2",role:"dashboard-controls",children:[!c&&e.jsx("div",{className:"flex items-center gap-3",children:e.jsx(s.Label,{children:r==null?void 0:r.name})}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx("button",{onClick:s.invalidateToken,children:e.jsx(Us,{className:"h-4 w-4",strokeWidth:1.5})}),e.jsx(Ys,{}),i&&!c&&A&&e.jsx(Ks,{}),!c&&A&&e.jsx(Xs,{}),i&&!c&&e.jsxs(s.Button,{variant:"secondary",className:"h-7 p-2",size:"sm",disabled:!i,onClick:R,children:[e.jsx(s.Plus,{className:"mr-2 h-4 w-4",strokeWidth:1.5}),"Frame"]}),!i&&e.jsx(s.Button,{variant:"ghost",className:"h-7 p-2",onClick:V,size:"sm",children:e.jsx(s.Pencil,{className:"h-4 w-4",strokeWidth:1.5})}),i&&!c&&e.jsx(s.Button,{variant:"ghost",role:"close",className:"h-7 p-2",onClick:()=>{y(!1),T(!1)},size:"sm",children:e.jsx(s.Cross2Icon,{className:"h-4 w-4",strokeWidth:1.5})}),i&&!c&&A&&e.jsx(s.Button,{className:"h-7 p-2",variant:"ghost",disabled:d,onClick:q,size:"sm",children:e.jsx(_s,{className:"h-4 w-4",strokeWidth:1.5})}),!j&&!c&&i&&e.jsx(s.Button,{className:"h-7 p-2",variant:"ghost",onClick:()=>h(!0),size:"sm",children:e.jsx(s.Filter,{className:"h-4 w-4",strokeWidth:1.5})}),!c&&i&&!1,!c&&!1]})]})}function oe({title:t,items:n,value:a,isLoading:r,isError:o,refetch:i,connectionTooltip:l,onChange:d,showNone:u=!1,className:p,showIcon:c=!0,disabled:j=!1}){const b=r?"Loading...":o?"Error":a;function h(){if(t==="Connection")return e.jsx(qs,{className:"size-4 rotate-90"});if(t==="Database")return e.jsx(ws,{className:"size-4"});if(t==="Schema")return e.jsx(Rs,{className:"size-4"});if(t==="Table")return e.jsx(ve,{className:"size-4"});if(t==="Model")return e.jsx(ys,{className:"size-4"})}return e.jsxs("div",{className:"flex items-center gap-2",children:[c&&e.jsx("div",{className:"shrink-0",children:l?e.jsxs(s.Tooltip,{children:[e.jsx(s.TooltipTrigger,{children:h()}),e.jsx(s.TooltipContent,{className:"text-xs",align:"start",children:l})]}):h()}),e.jsxs(s.Select,{disabled:j,value:b,onValueChange:d,children:[e.jsx(s.SelectTrigger,{className:s.cn("h-9 w-full focus:ring-1 focus:ring-offset-0",p),children:e.jsx(s.SelectValue,{placeholder:r?"Loading...":o?"Error":`Select ${t}`})}),e.jsx(s.SelectContent,{children:e.jsxs(s.SelectGroup,{children:[r?e.jsx(s.SelectLabel,{children:"Loading..."}):e.jsxs(s.SelectLabel,{className:"flex items-center justify-between gap-2",children:[t,e.jsx(Bs,{className:"mr-1 size-3 cursor-pointer text-muted-foreground hover:text-foreground",onClick:i})]}),e.jsxs(e.Fragment,{children:[u&&e.jsx(s.SelectItem,{value:"none",children:"None"},"none"),n&&n.map((f,x)=>e.jsx(s.SelectItem,{value:f.id,children:f.name},x))]}),(r||o)&&e.jsx(s.SelectItem,{value:b,children:b})]})})]})]})}function et({column:t}){const[n,a]=S.useState(!1),r=s.useEditorStore(f=>f.selectedTableName),o=s.useEditorStore(f=>f.selectedSchemaName),i=s.useEditorStore(f=>f.selectedDatamodelId),l=s.useEditorStore(f=>f.sqlGen),{modelItems:d,connectionType:u}=ne(),p=s.useEditorStore(f=>f.actions.setSqlGen),c=s.useEditorStore(f=>f.actions.setCardSql),j=s.useEditorStore(f=>f.actions.setRunSql);function b(f,x){var C;const N=s.createSqlGenConfig(f,l,x),y=(C=d==null?void 0:d.find(E=>E.id===i))==null?void 0:C.name;p(N);const T=s.getSql(N,s.fmt(o||""),s.fmt(r),y,u);T&&(c(T),j(!0)),a(!1)}function h(){return e.jsxs("ul",{className:"text-xs",children:[e.jsx("li",{onClick:()=>b(t,"COUNT"),className:"cursor-pointer p-1 px-3 transition-colors hover:bg-muted",children:"Count"}),e.jsx("li",{onClick:()=>b(t,"AVG"),className:"cursor-pointer p-1 px-3 transition-colors hover:bg-muted",children:"Avg"}),e.jsx("li",{onClick:()=>b(t,"SUM"),className:"cursor-pointer p-1 px-3 transition-colors hover:bg-muted",children:"Sum"}),e.jsx("li",{onClick:()=>b(t,"MAX"),className:"cursor-pointer p-1 px-3 transition-colors hover:bg-muted",children:"Max"}),e.jsx("li",{onClick:()=>b(t,"MIN"),className:"cursor-pointer p-1 px-3 transition-colors hover:bg-muted",children:"Min"})]})}return e.jsxs(s.HoverCard,{openDelay:0,open:n,onOpenChange:a,children:[e.jsx(s.HoverCardTrigger,{asChild:!0,children:e.jsx(He,{className:"invisible size-3.5 cursor-pointer text-foreground/40 group-hover:visible"})}),e.jsx(s.HoverCardContent,{align:"center",className:"w-20 rounded-md p-0 shadow-none",children:h()})]})}function Xe({column:t}){return e.jsxs(s.Tooltip,{children:[e.jsx(s.TooltipTrigger$1,{asChild:!0,children:s.isTextDataType(t.data_type)?e.jsx(Je,{className:"size-3"}):s.isNumberDataType(t.data_type)?e.jsx(As,{className:"size-3"}):s.isDateDataType(t.data_type)?e.jsx(s.Calendar,{className:"size-3"}):s.isBooleanDataType(t.data_type)?e.jsx($s,{className:"size-3"}):t.data_type.toLowerCase()==="json"?e.jsx(Ss,{className:"size-3"}):e.jsx(Ps,{className:"size-3"})}),e.jsx(s.TooltipContent,{children:e.jsx("p",{className:"font-mono text-xs",children:t.data_type})})]})}function st({schemaName:t,tableName:n,columns:a,status:r}){const o=s.useEditorStore(m=>m.sqlGen),i=s.useEditorStore(m=>m.selectedConnectionId),l=s.useEditorStore(m=>m.selectedDatabaseName),d=s.useEditorStore(m=>m.selectedSchemaName),u=s.useEditorStore(m=>m.selectedTableName),p=s.useEditorStore(m=>m.selectedDatamodelId),c=s.useDashboardStore(m=>m.dashboard.aiScopeTables),{addToAIScope:j,removeFromAIScope:b}=s.useDashboardActions(),{setAIScopeTables:h}=s.useDashboardStore(m=>m.actions),f=s.useEditorStore(m=>m.actions.setRunSql),x=s.useEditorStore(m=>m.actions.setSqlGen),N=s.useEditorStore(m=>m.actions.setIsShowingVisual),y=s.useEditorStore(m=>m.actions.setCardSql),{connectionType:T,modelItems:C,selectedDatamodelName:E}=ne();function M(m){var k;const L=s.createSqlGenConfig(m,o);x(L);const _=(k=C==null?void 0:C.find(z=>z.id===p))==null?void 0:k.name,g=s.getSql(L,s.fmt(t),s.fmt(n),_,T);g&&(y(g),f(!0))}function A(){return(c==null?void 0:c.find(m=>m.connectionId===i&&(m.tableName===u||m.datamodelName===E)))!==void 0}function R(m){m===!0&&(u||E)&&i?(j({connectionId:i,connectionType:T==="S3"||T==="API"?"DuckDb":T,databaseName:l||"",schemaName:d||"",tableName:u||"",datamodelName:s.resolveDatamodelName(E),datamodelId:p||""}),s.ue.success("Added to Assistant Scope",{position:"top-right",duration:2500,richColors:!0})):(b({connectionId:i||"",connectionType:T||"",tableName:u||"",datamodelName:s.resolveDatamodelName(E),datamodelId:p||"",databaseName:l||"",schemaName:d||""}),s.ue("Removed from Assistant Scope",{position:"top-right",duration:2e3,richColors:!0}))}function V(){const m=s.getFormattedTableNameForQuery({schemaName:t,tableName:n,modelName:E,connectionType:T});N(!1);const L=T==="MSSQL"?`SELECT top 10 * FROM ${m}`:`SELECT * FROM ${m} LIMIT 10`;y(L),f(!0)}function q(){const m=s.getFormattedTableNameForQuery({schemaName:t,tableName:n,modelName:E,connectionType:T});y(`SELECT COUNT(*) as count FROM ${m}`),f(!0)}return e.jsxs("div",{className:"flex grow flex-col space-y-4 px-4",children:[e.jsxs("div",{className:"mx-2 flex items-center justify-center gap-2",children:[e.jsxs(s.Toggle,{title:`${A()?"Remove from":"Add to"} Assistant Scope`,pressed:A(),onPressedChange:R,variant:"outline",className:s.cn("h-9 px-2",{}),children:[e.jsx(s.Plus,{className:s.cn("mr-1 size-4",{"text-green-400":A(),"text-muted-foreground":!A()})}),"AI"]}),e.jsxs(s.Button,{disabled:r!=="Success",onClick:V,size:"sm",variant:"secondary",className:"flex",children:[r!=="Success"?e.jsx(ue,{className:"mr-2 h-4 w-4 animate-spin text-foreground/50"}):e.jsx(Fs,{className:"mr-2 size-4"}),"Top 10"]}),e.jsxs(s.Button,{disabled:r!=="Success",onClick:q,size:"sm",variant:"secondary",className:"w-full",children:[r!=="Success"?e.jsx(ue,{className:"mr-2 h-4 w-4 animate-spin text-foreground/50"}):e.jsx(Hs,{className:"mr-2 size-4"}),"Count"]})]}),e.jsxs(s.ScrollArea,{className:"flex-1 basis-0 border-b border-t border-muted py-3",children:[e.jsx("div",{className:"flex flex-col gap-1",children:a==null?void 0:a.map(m=>e.jsxs("div",{onClick:()=>M(m),className:s.cn("group mx-3 flex cursor-pointer items-center justify-between rounded px-2 py-1 text-sm transition-colors hover:bg-muted/50",{"border border-dashed border-muted-foreground bg-muted":s.isColumnInSqlGen(m,o)}),children:[e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(Xe,{column:m}),e.jsx("span",{children:m.column_name})]}),e.jsx("div",{onClick:L=>L.stopPropagation(),className:"flex items-center justify-end",children:s.isNumberDataType(m.data_type)&&e.jsx(et,{column:m})})]},m.column_name))}),e.jsx(s.ScrollBar,{orientation:"vertical"}),e.jsx(s.ScrollBar,{orientation:"horizontal"})]})]})}function ne(t,n){var ke,Ee,De,Ie,Te,Ae;let a=S.useMemo(()=>[],[]);const r=s.useSemaphorContext().authToken||t,o=s.useEditorStore(v=>v.selectedConnectionId),i=s.useEditorStore(v=>v.selectedDatamodelId),l=s.useEditorStore(v=>v.selectedDatabaseName),d=s.useEditorStore(v=>v.selectedSchemaName),u=s.useEditorStore(v=>v.selectedTableName),p=s.useEditorStore(v=>v.actions.setCurrentColumns),c=s.useEditorStore(v=>v.actions.setSelectedConnectionId),j=s.useEditorStore(v=>v.actions.setSelectedDatamodelId),b=s.useEditorStore(v=>v.actions.setSelectedDatabaseName),h=s.useEditorStore(v=>v.actions.setSelectedSchemaName),f=s.useEditorStore(v=>v.actions.setSelectedTableName);s.useEditorStore(v=>v.actions.setCardSql);function x(v){return o&&l&&d&&l!=="NA"?!0:o&&v==="API"?!1:!!(o&&v==="S3")}function N(v){return!!(o&&l&&l!=="NA"&&d&&u||o&&(v==="S3"||v==="API")||i&&i)}function y(v){return o&&v?!(v==="API"||v==="S3"):!1}const{refetch:T,data:C,isLoading:E,isError:M}=s.useQuery({queryKey:["connections"],queryFn:()=>s.getRequest("https://semaphor.cloud/api/v1/connections",(r==null?void 0:r.accessToken)||""),enabled:!!(r!=null&&r.accessToken)}),{refetch:A,data:R,isLoading:V,isError:q}=s.useQuery({queryKey:["models",o],queryFn:()=>s.getRequest("https://semaphor.cloud/api/v1/datamodels",(r==null?void 0:r.accessToken)||"",{connection_id:o}),enabled:!!(r!=null&&r.accessToken)&&!!o}),m=C==null?void 0:C.connections.find(v=>v.id===o),L=m==null?void 0:m.type,_=(m==null?void 0:m.type)==="API"||(m==null?void 0:m.type)==="S3",{data:g,isLoading:k,isFetching:z,isError:I,refetch:H}=s.useQuery({queryKey:["databases",o],queryFn:()=>s.getRequest("https://semaphor.cloud/api/v1/databases",(r==null?void 0:r.accessToken)||"",{connection_id:o}),enabled:y(L)}),{data:P,isLoading:$,isFetching:X,isError:Q,refetch:F}=s.useQuery({queryKey:["schemas",o,l],queryFn:()=>s.getRequest("https://semaphor.cloud/api/v1/schemas",(r==null?void 0:r.accessToken)||"",{connection_id:o,database_name:l}),enabled:!!o&&!!l&&!_&&l!=="NA"}),{data:O,isLoading:Y,isFetching:w,isError:B,refetch:U}=s.useQuery({queryKey:["tables",o,l,d],queryFn:()=>s.getRequest("https://semaphor.cloud/api/v1/tables",(r==null?void 0:r.accessToken)||"",{connection_id:o,database_name:l,schema_name:d}),enabled:x(L)}),{data:W,isLoading:ae,isFetching:se,isError:G,refetch:K}=s.useQuery({queryKey:["columns",o,l,i,d,u],queryFn:()=>s.getRequest("https://semaphor.cloud/api/v1/columns",(r==null?void 0:r.accessToken)||"",{connection_id:o,datamodel_id:i||"",database_name:l,schema_name:d,table_name:u}),enabled:N(L)});S.useEffect(()=>{p(a)},[W,p,a]),S.useEffect(()=>{(L==="S3"||L==="API")&&(b(""),h(""),j(""),L==="API"&&f("api"))},[L,f,b,h,j]);const D=(m==null?void 0:m.type)==="API"?(ke=m==null?void 0:m.type)==null?void 0:ke.toLowerCase():u||"",J=_?"":d||"";function Z(v){h(v),f("")}function ee(v){b(v==="none"?"":v),h(""),f(""),v!=="none"&&v!==""&&j("")}function ce(v){c(v)}function je(v){j(v==="none"?"":v),v!=="none"&&v!==""&&b("")}g&&((Ee=g==null?void 0:g.databases)==null?void 0:Ee.length)>0,P&&((De=P==null?void 0:P.schemas)==null?void 0:De.length)>0,W&&((Ie=W==null?void 0:W.columns)==null?void 0:Ie.length)>0&&(a=W.columns.map(v=>({...v,data_type:v.data_type.toLowerCase()}))),I&&(a=[]),(G||M)&&(a=[]);const he=C==null?void 0:C.connections.map(v=>({id:v.id,name:v.name,type:v.type})),be=(Te=R==null?void 0:R.datamodels)==null?void 0:Te.map(v=>({id:v.id,name:v.name})),ms=g==null?void 0:g.databases.map(v=>({id:v.database_name,name:v.database_name})),xs=P==null?void 0:P.schemas.map(v=>({id:v.schema_name,name:v.schema_name})),ps=O==null?void 0:O.tables.map(v=>({id:v.table_name,name:v.table_name})),fs=(Ae=R==null?void 0:R.datamodels.find(v=>v.id===i))==null?void 0:Ae.name;return{connectionItems:he,isConnectionsLoading:E,isConnectionsError:M,modelItems:be,selectedDatamodelId:i,selectedDatamodelName:fs,isModelsLoading:V,isModelsError:q,databaseItems:ms,isDatabasesLoadingOrFetching:k||z,isDatabaseError:I,schemaItems:xs,isSchemaLoadingOrFetching:$||X,isSchemaError:Q,tableItems:ps,isTableLoadingOrFetching:Y||w,isTableError:B,columns:a,isColumnsLoadingOrFetching:ae||se,isColumnsError:G,isNonDbConnection:_,connectionType:L,tableName:D,schemaName:J,refetchConnections:T,refetchModels:A,refetchDatabases:H,refetchSchemas:F,refetchTables:U,refetchColumns:K,handleConnectionChange:ce,handleDatamodelChange:je,handleDatabaseChange:ee,handleSchemaChange:Z}}function Ye({ColumnsComponent:t}){var se;const n=s.useEditorStore(G=>G.selectedConnectionId),a=s.useEditorStore(G=>G.selectedDatamodelId),r=s.useEditorStore(G=>G.selectedDatabaseName),o=s.useEditorStore(G=>G.selectedSchemaName),i=s.useEditorStore(G=>G.selectedTableName),l=s.useEditorStore(G=>G.actions.setSelectedTableName),{connectionItems:d,modelItems:u,schemaItems:p,databaseItems:c,tableItems:j,columns:b,isConnectionsLoading:h,isModelsLoading:f,isConnectionsError:x,isModelsError:N,isDatabasesLoadingOrFetching:y,isDatabaseError:T,isSchemaLoadingOrFetching:C,isSchemaError:E,isColumnsError:M,isColumnsLoadingOrFetching:A,isTableLoadingOrFetching:R,isTableError:V,connectionType:q,isNonDbConnection:m,refetchDatabases:L,refetchModels:_,refetchSchemas:g,refetchTables:k,refetchColumns:z,refetchConnections:I,handleConnectionChange:H,handleDatabaseChange:P,handleSchemaChange:$,handleDatamodelChange:X,tableName:Q,schemaName:F}=ne();function O(){return t?t(F,Q,b):e.jsx(st,{schemaName:F,tableName:Q,columns:b,status:A?"Loading...":M?"Error":"Success"})}function Y(){window.location.href="mailto:support@semaphor.cloud?subject=Help&body=I need help with..."}function w(){if(!n||q==="S3"||q==="API")return null;if(!a||a==="none")return e.jsx(oe,{refetch:L,showNone:!0,onChange:P,isError:T,isLoading:y,items:c,value:r||"",title:"Database"})}function B(){if(n&&!m&&(!r||r==="none")&&(!a||a==="none"))return e.jsxs("div",{className:"grid grid-cols-3",children:[e.jsx("div",{className:"col-span-1 grid place-items-center",children:e.jsx(s.Separator,{})}),e.jsx("div",{className:"col-span-1 grid place-items-center",children:e.jsx(s.Label,{children:"OR"})}),e.jsx("div",{className:"col-span-1 grid place-items-center",children:e.jsx(s.Separator,{})})]})}function U(){if(!n||q==="S3"||q==="API")return null;if(!r||r==="none")return e.jsx(oe,{refetch:_,showNone:!0,onChange:X,isError:N,isLoading:f,items:u,value:a||"",title:"Model"})}function W(){return!n||q==="S3"||q==="API"||!r||r==="none"?null:e.jsx(oe,{refetch:g,onChange:$,isError:E,isLoading:C,items:p,value:o||"",title:"Schema"})}function ae(){function G(){let K=!1;return q==="API"?(K=!1,K):((q==="S3"||n&&r&&r!=="none"&&o)&&(K=!0),K)}return G()?e.jsx(oe,{refetch:k,onChange:l,isError:V,items:j,isLoading:R,value:i||"",title:"Table"}):null}return e.jsxs("aside",{className:"flex grow flex-col justify-between",children:[e.jsxs("section",{className:"space-y-3 px-6 py-4",children:[e.jsx(oe,{refetch:I,items:d,title:"Connection",value:n||"",onChange:H,isLoading:h,isError:x,connectionTooltip:((se=d==null?void 0:d.find(G=>G.id===n))==null?void 0:se.type)||""}),w(),B(),U(),W(),ae()]}),O(),e.jsx("div",{className:"flex items-end justify-center gap-2 px-6 py-4",children:e.jsxs(s.Button,{onClick:Y,size:"sm",variant:"secondary",className:"w-full",children:[e.jsx(Vs,{className:"mr-2 size-4"}),"Help"]})})]})}function tt(t){const n=t.toUpperCase().indexOf("WHERE"),a=t.toUpperCase().indexOf("GROUP BY"),r=t.toUpperCase().indexOf("LIMIT"),o=t.toUpperCase().indexOf("ORDER BY");let i=t.length;if(o!==-1&&(i=o),r!==-1&&r<i&&(i=r),n!==-1){const l=t.substring(0,n),d=t.substring(n);return`${l} {{ filters | where }} AND ${d.substring(6)}`}else if(a!==-1){const l=t.substring(0,a),d=t.substring(a);return`${l} {{ filters | where }} ${d}`}else{const l=t.substring(0,i),d=t.substring(i);return console.log("beforeClause",l),console.log("afterClause",d),d?`${l} {{ filters | where }} ${d}`:`${l.replace(/;$/,"")} {{ filters | where }}`}}function at({sql:t,error:n,onClick:a}){return!t&&!n?null:e.jsxs(s.HoverCard,{openDelay:n?0:500,children:[e.jsx(s.HoverCardTrigger,{asChild:!0,children:e.jsx(s.Button,{variant:"link",className:"h-5 p-0",children:n?e.jsx(vs,{className:"h-4 w-4 text-red-500"}):e.jsx(s.Info,{className:"h-4 w-4 text-muted-foreground"})})}),e.jsx(s.HoverCardContent,{align:"start",className:"w-full min-w-fit max-w-[700px]",children:e.jsx("div",{className:"flex justify-between space-x-4",children:e.jsxs("div",{className:"flex grow flex-col space-y-2",children:[e.jsxs(s.ScrollArea,{className:"max-h-[250px] min-h-0 overflow-scroll text-xs leading-relaxed text-foreground/80",children:[n&&n,t&&e.jsxs("div",{className:"flex flex-col space-y-1.5",children:[e.jsx("span",{className:"text-xs font-semibold",children:"Resolved SQL"}),e.jsx("span",{className:"font-mono",children:t})]})]}),n&&e.jsxs(s.Button,{onClick:a,size:"sm",variant:"secondary",children:[e.jsx(Ts,{className:"mr-2 h-4 w-4"}),"Debug with Assistant"]})]})})})]})}function nt(){const[t,n]=S.useState([]),[a,r]=S.useState(""),[o,i]=S.useState(null),{authToken:l}=s.useSemaphorContext(),d=s.useEditorStore(w=>{var B;return(B=w==null?void 0:w.card)==null?void 0:B.sql}),u=s.useEditorStore(w=>{var B;return(B=w==null?void 0:w.card)==null?void 0:B.python}),p=s.useEditorStore(w=>w.actions.setCardSql),c=s.useEditorStore(w=>w.actions.setRunSql),j=s.useEditorStore(w=>w.actions.switchCardType),b=s.useEditorStore(w=>w.userInputForAI),h=s.useEditorStore(w=>w.triggerAIRun),f=s.useEditorStore(w=>w.selectedDatabaseName),x=s.useEditorStore(w=>w.selectedTableName),N=s.useEditorStore(w=>w.selectedConnectionId),y=s.useEditorStore(w=>w.selectedSchemaName),T=s.useDashboardStore(w=>w.dashboard.aiScopeTables),{setTriggerAIRun:C}=s.useEditorActions(),{selectedDatamodelName:E,connectionType:M,selectedDatamodelId:A}=ne(),{messages:R,setMessages:V,reload:q,append:m,input:L,setInput:_,status:g,handleInputChange:k,handleSubmit:z,stop:I}=s.useChat({api:"https://semaphor.cloud/api/v1/assistant",headers:{Authorization:`Bearer ${l==null?void 0:l.accessToken}`},body:{random:Math.random()},maxSteps:10,onToolCall:H,onFinish(w,B){P(B.usage),r(""),console.log("onFinish",w,B),B.finishReason==="stop"&&r("")}});S.useEffect(()=>{h&&b&&(k({target:{value:b}}),setTimeout(()=>{z(),C(!1)},100))},[h,z,b,C,k]);async function H({toolCall:w}){if(w.toolName==="createChart"){console.log("createChart",w.args);const B=w.args.sql,U=w.args.chartType;return j(U),p(B),c(!0),{status:"success",message:"Let the user know that chart is created"}}else if(w.toolName==="getTableColumns")r("Getting table columns...");else{if(w.toolName==="getUserSql")return d?{status:"success",sql:d,python:u||""}:{status:"error",message:"No SQL found"};if(w.toolName==="getCurrentTableScope")return r("Getting table scope..."),O(),{status:"success",tables:t};r("Analyzing...")}}function P(w){i(B=>B?{promptTokens:B.promptTokens+w.promptTokens,completionTokens:B.completionTokens+w.completionTokens,totalTokens:B.totalTokens+w.totalTokens}:w)}function $(w){const B=s.removeFromScopeArray(t,w);Q(B)}function X(w){return w.map(U=>({...U,connectionType:U.connectionType==="API"||U.connectionType==="S3"?"DuckDb":U.connectionType}))}function Q(w){const B=X(w);n(B),V(U=>[...U,{id:crypto.randomUUID(),role:"system",content:`Current scope of tables | ${JSON.stringify(B)}`}])}function F(){const w={databaseName:f||"",schemaName:y||"",tableName:x||"",datamodelId:A||"",datamodelName:s.resolveDatamodelName(E),connectionId:N||"",connectionType:M||""},B=s.dedup([...t,w]);Q(B)}function O(){const w={databaseName:f||"",schemaName:y||"",tableName:x||"",datamodelName:s.resolveDatamodelName(E),connectionId:N||"",connectionType:M||"",datamodelId:A||""};if(!s.isInAiScopeArray([...T||[],...t],w)||t.length===0){const U=s.dedup([...T||[],...t,w]).filter(W=>W.connectionId===w.connectionId);Q(U)}}const Y=!["ready","error"].includes(g);return{messages:R,setMessages:V,reload:q,append:m,input:L,setInput:_,isLoading:Y,handleSetAIScope:O,handleAddCurrentTableToScope:F,removeFromCurrentSelections:$,currentScope:t,setCurrentScope:n,handleInputChange:k,handleSubmit:z,stop:I,chatStatus:g,toolStatus:a,llmUsage:o}}const rt=!1;function ot(){const t=s.useEditorStore(I=>I.showAIDialog),n=S.useRef(t),a=S.useRef(null),r=S.useRef(null),[o,i]=S.useState(!1),[l,d]=S.useState(rt),[u,p]=S.useState(!1),c=s.useEditorStore(I=>I.actions.setCardSql),j=s.useEditorStore(I=>I.actions.setRunSql),{setShowAIDialog:b}=s.useEditorActions(),{messages:h,setMessages:f,reload:x,input:N,setInput:y,isLoading:T,handleSetAIScope:C,handleAddCurrentTableToScope:E,removeFromCurrentSelections:M,currentScope:A,setCurrentScope:R,handleInputChange:V,handleSubmit:q,stop:m,chatStatus:L,toolStatus:_,llmUsage:g}=nt();S.useEffect(()=>{const I=n.current?"smooth":"auto";n.current=t;const H=setTimeout(()=>{var P;a.current&&(a.current.scroll({top:a.current.scrollHeight,behavior:I}),(P=r.current)==null||P.focus())},50);return()=>clearTimeout(H)},[h,t]);function k(I){b(!1),c(I),j(!0)}function z(){return e.jsxs(s.DropdownMenu,{children:[e.jsx(s.DropdownMenuTrigger,{children:e.jsx(s.Button,{className:"h-7 p-2",size:"sm",variant:"ghost",children:e.jsx(He,{className:"size-3.5 text-muted-foreground/70 hover:text-muted-foreground"})})}),e.jsxs(s.DropdownMenuContent,{align:"end",children:[e.jsx(s.DropdownMenuLabel,{children:"Options"}),e.jsx(s.DropdownMenuSeparator,{}),e.jsx(s.DropdownMenuCheckboxItem,{checked:o,onCheckedChange:i,children:"Token Usage"}),e.jsx(s.DropdownMenuCheckboxItem,{checked:l,onCheckedChange:d,children:"Tool Invocations"}),e.jsx(s.DropdownMenuCheckboxItem,{checked:u,onCheckedChange:p,children:"System Message"})]})]})}return e.jsxs(s.Dialog,{open:t,onOpenChange:b,children:[e.jsx(s.DialogTrigger,{asChild:!0,children:e.jsx(s.Button,{onClick:C,size:"sm",className:"w-full cursor-text justify-start font-normal text-muted-foreground focus-visible:ring-0 focus-visible:ring-offset-0",variant:"ghost",children:"Type your question..."})}),e.jsxs(s.DialogContent,{className:"flex flex-col justify-between overflow-auto sm:max-w-[425px] md:max-h-[700px] md:min-w-[625px] [&>button]:hidden",children:[e.jsx(s.DialogHeader,{children:e.jsxs("div",{className:"flex items-start justify-between gap-2",children:[e.jsxs("div",{children:[e.jsx(s.DialogTitle,{children:"Assistant"}),A&&A.length>0&&e.jsxs("div",{className:"mt-2 flex flex-wrap items-center gap-2",children:[e.jsx("span",{className:"text-xs text-muted-foreground",children:"Context:"}),A==null?void 0:A.map((I,H)=>e.jsxs("div",{className:"flex items-center gap-2 rounded-md border border-border bg-muted px-2 py-1 text-xs",children:[s.getFormattedTableNameForQuery({schemaName:I.schemaName||"",tableName:I.tableName||"",modelName:I.datamodelName||"",connectionType:I.connectionType||""}),e.jsx("button",{onClick:()=>{M(I)},children:e.jsx(s.X,{className:"size-3 text-muted-foreground hover:text-foreground"})})]},H))]}),(A==null?void 0:A.length)===0&&e.jsxs("div",{className:"mt-2 flex items-center gap-2",children:[e.jsx("span",{className:"text-xs text-muted-foreground",children:"Context: None"}),e.jsxs(s.Button,{className:"h-6 text-xs",size:"sm",variant:"secondary",onClick:E,children:[e.jsx(s.Plus,{className:"mr-2 size-3"}),"Current Table"]})]})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[z(),e.jsx(s.Button,{className:"h-7 p-2",size:"sm",variant:"ghost",onClick:()=>{f([]),R([]),x()},children:e.jsx(s.RefreshCcw,{className:"size-3.5 text-muted-foreground"})})]})]})}),e.jsx("div",{ref:a,className:"h-[700px] w-full overflow-auto",children:e.jsxs("div",{className:"space-y-4 py-2 pr-3",role:"messages",children:[e.jsx(s.PrintMessages,{messages:h,showTools:l,handleRun:k,showSystemMessage:u}),e.jsx(s.ChatStatus,{status:s.getStatus(L,_),isLoading:T})]})}),e.jsx(s.ChatInput,{stop:m,ref:r,setInput:y,input:N,handleInputChange:V,handleSubmit:q,isLoading:T}),g&&o&&e.jsx("div",{className:"flex h-8 items-center justify-between",children:e.jsxs("div",{className:"text-xs text-muted-foreground",children:["Usage: ",g.promptTokens," prompt tokens,"," ",g.completionTokens," completion tokens,"," ",g.totalTokens," total tokens"]})})]})]})}var Ze={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},Oe=S.createContext&&S.createContext(Ze),it=["attr","size","title"];function lt(t,n){if(t==null)return{};var a=ct(t,n),r,o;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(o=0;o<i.length;o++)r=i[o],!(n.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(t,r)&&(a[r]=t[r])}return a}function ct(t,n){if(t==null)return{};var a={};for(var r in t)if(Object.prototype.hasOwnProperty.call(t,r)){if(n.indexOf(r)>=0)continue;a[r]=t[r]}return a}function pe(){return pe=Object.assign?Object.assign.bind():function(t){for(var n=1;n<arguments.length;n++){var a=arguments[n];for(var r in a)Object.prototype.hasOwnProperty.call(a,r)&&(t[r]=a[r])}return t},pe.apply(this,arguments)}function Me(t,n){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);n&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),a.push.apply(a,r)}return a}function fe(t){for(var n=1;n<arguments.length;n++){var a=arguments[n]!=null?arguments[n]:{};n%2?Me(Object(a),!0).forEach(function(r){dt(t,r,a[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(a)):Me(Object(a)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(a,r))})}return t}function dt(t,n,a){return n=ut(n),n in t?Object.defineProperty(t,n,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[n]=a,t}function ut(t){var n=ht(t,"string");return typeof n=="symbol"?n:n+""}function ht(t,n){if(typeof t!="object"||!t)return t;var a=t[Symbol.toPrimitive];if(a!==void 0){var r=a.call(t,n);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(t)}function es(t){return t&&t.map((n,a)=>S.createElement(n.tag,fe({key:a},n.attr),es(n.child)))}function ie(t){return n=>S.createElement(mt,pe({attr:fe({},t.attr)},n),es(t.child))}function mt(t){var n=a=>{var{attr:r,size:o,title:i}=t,l=lt(t,it),d=o||a.size||"1em",u;return a.className&&(u=a.className),t.className&&(u=(u?u+" ":"")+t.className),S.createElement("svg",pe({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},a.attr,r,l,{className:u,style:fe(fe({color:t.color||a.color},a.style),t.style),height:d,width:d,xmlns:"http://www.w3.org/2000/svg"}),i&&S.createElement("title",null,i),t.children)};return Oe!==void 0?S.createElement(Oe.Consumer,null,a=>n(a)):n(Ze)}function xt(t){return ie({attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z"},child:[]}]})(t)}function ss(t){const{theme:n}=s.useTheme(),a=s.useDashboardStore(x=>x.theme),r=s.useEditorStore(x=>x.frame),o=s.useEditorStore(x=>x.card),i=s.useEditorStore(x=>x.activeTabCardId),l=s.Le(),{refetch:d}=s.useDashboardCardQuery(o),{updateCardTab:u,setRunSql:p}=s.useEditorActions(),c=S.useRef(),j=S.useRef({}),b=r.cards.find(x=>x.id===i),h=S.useCallback(()=>{let x="";return t==="python"&&(x=(b==null?void 0:b.python)||s.PYTHON_DEFAULT_CODE),t==="sql"&&(x=(b==null?void 0:b.sql)||""),x},[t,b]);S.useEffect(()=>{if(i&&o.id&&o.id!==i){if(c.current&&l){const x=c.current.getModel();x&&(j.current[o.id]=x);let N=j.current[i];if(!N){const y=h();N=l.editor.createModel(y,t),j.current[i]=N}c.current.setModel(N)}u(i,o),p(!0)}},[i,o,u,l,p,t,h]),S.useEffect(()=>{if(!l)return;const x=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light",N=a==="system"?x:a;l.editor.defineTheme("default",{base:N==="light"?"vs":"vs-dark",inherit:!0,rules:[],colors:{"editor.background":N==="light"?"#ffffff":s.hslStringToHex("240 10% 10%")}}),l.editor.setTheme("default")},[n,a,l]),S.useEffect(()=>{const x=c.current;x&&l&&o&&x.addCommand(l.KeyMod.Shift|l.KeyCode.Enter,function(){return d(),!1})},[l,d,o]);function f(x,N){if(c.current=x,!j.current[o.id]){const y=x.getModel(),T=h();j.current[o.id]=y||(N==null?void 0:N.editor.createModel(T,t))||x.getModel()}x.setModel(j.current[o.id])}return{handleEditorDidMount:f}}function pt(){const t=s.useEditorStore(l=>l.card.sql),n=s.useEditorStore(l=>l.sqlGen),{setCardSql:a,setSqlGen:r}=s.useEditorActions(),{handleEditorDidMount:o}=ss("sql");function i(l){a(l),s.isObjectEmpty(n)||r({})}return e.jsx(s.Ft,{theme:"default",className:"pt-3",onChange:i,value:t||"",options:{minimap:{enabled:!1},wordWrap:"on",scrollbar:{verticalScrollbarSize:0,horizontalScrollbarSize:0},fontSize:13,renderLineHighlight:"none"},defaultLanguage:"sql",onMount:o})}function ft(){const t=s.useEditorStore(o=>o.card.python),{setCardPython:n}=s.useEditorActions(),{handleEditorDidMount:a}=ss("python");function r(o){n(o)}return e.jsx(s.Ft,{className:"pt-3",theme:"default",onChange:r,value:t||s.PYTHON_DEFAULT_CODE,options:{minimap:{enabled:!1},wordWrap:"on",scrollbar:{verticalScrollbarSize:0,horizontalScrollbarSize:0},fontSize:13,renderLineHighlight:"none"},defaultLanguage:"python",onMount:a})}function gt({jsonString:t}){return e.jsx(s.Ft,{theme:"default",defaultLanguage:"json",className:"mt-1 min-h-[220px]",value:t,options:{readOnly:!0,minimap:{enabled:!1},lineNumbers:"off",glyphMargin:!1,wordWrap:"on",scrollbar:{verticalScrollbarSize:0,horizontalScrollbarSize:0},fontSize:12,renderLineHighlight:"none"}})}function jt(){var K;const[t,n]=S.useState({queryKey:[],queryData:null}),a=s.useQueryClient(),[r,o]=S.useState(!1),[i,l]=S.useState(!1),d=s.useEditorStore(D=>D.frame),u=s.useEditorStore(D=>D.card),p=s.useEditorStore(D=>D.isShowingVisual),c=s.useEditorStore(D=>D.selectedConnectionId),j=s.useEditorStore(D=>D.selectedDatabaseName),b=s.useEditorStore(D=>D.selectedDatamodelId),h=s.useEditorStore(D=>D.selectedSchemaName),f=s.useEditorStore(D=>D.selectedTableName),x=s.useEditorStore(D=>{var J;return(J=D==null?void 0:D.card)==null?void 0:J.sql}),{sheetFilterValues:N}=s.useSheetFilterValues(),{setCardCustomCfg:y,setQueryResultColumns:T,setCardSql:C,setPythonStdOut:E,setCardPreferences:M,setCardType:A,setCardPython:R,runAssistant:V}=s.useEditorActions(),q=s.useEditorStore(D=>D.onSave),m=s.useEditorStore(D=>D.onClose),L=s.useEditorStore(D=>D.actions.setSqlGen),_=s.useEditorStore(D=>D.runSql),g=s.useEditorStore(D=>D.actions.setRunSql),k=s.useEditorStore(D=>D.actions.setCardCfg),z=s.useEditorStore(D=>D.actions.setIsSqlRunning),{data:I,isLoading:H,isFetching:P,isSuccess:$,isError:X,error:Q,queryKey:F,refetch:O}=s.useDashboardCardQuery(u);S.useEffect(()=>{if(I&&(I.rowLimitExceeded&&s.ue.error("Row limit (10,000) exceeded. Refine your query.",{position:"top-center",richColors:!0}),E((I==null?void 0:I.output)||""),I.records.length>0)){const{dimensionKeys:D}=s.getKeys(I.records);T(D)}},[I,T,E]),S.useEffect(()=>{(H||P)&&z(!0),(X||$)&&z(!1),X&&(T([]),E(""))},[H,P,I,E,X,$,z,T,Q]),S.useEffect(()=>{_&&(a.getQueryData(F)||O(),g(!1))},[_,O,g,F,a]);function Y(){const D=a.getQueryData(F);t.queryData||n({queryKey:F,queryData:D}),a.setQueryData(F,null),a.removeQueries({queryKey:F,exact:!0}),C(""),L({}),R(""),k(void 0),y(""),M({}),A("bar")}function w(D,J){if(D.length===0)return"";if(J){const Z=D.find(ee=>ee.id===J);if(Z){const ee=Z.tabTitle;if(ee=="All__Header")return D[0].id;if(ee&&ee.endsWith("__Header")){const je=ee.split("__")[0],he=D.find(be=>be.tabTitle===je);return he?he.id:D[0].id}return J}}return D[0].id}function B(){let D=x;x&&!x.includes("{{")&&(D=tt(x),C(D));const J={...u,lastSelectedSchema:h,lastSelectedDatamodelId:b,lastSelectedDatabase:j,lastSelectedTable:f,connectionId:c,type:p?u.type:"table",sql:D,customCfg:p?u.customCfg:null},Z=d.cards.map(ce=>ce.id===u.id?J:ce),ee={...d,cards:Z,activeCardId:w(Z,d.activeCardId)};q==null||q(ee)}function U(){const{queryKey:D,queryData:J}=t;D&&J&&a.setQueryData(D,J),L({}),m==null||m()}async function W(){const D=`Can you help me debug this query in the current table scope?
222
222
 
223
223
  Error:
224
224
 
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
- import { c as R, p as kt, u as M, a as Je, b as Me, d as Ot, e as It, B as z, P as We, f as Tt, g as Mt, h as Dt, i as aa, L as J, I as he, j as na, k as sa, l as la, m as ra, n as ia, o as oa, q as dn, r as Ut, s as ee, C as it, t as un, v as m, w as hn, x as mn, y as ca, F as da, z as Be, A as et, T as ua, E as pn, G as ha, S as ye, H as xe, J as ve, K as Ne, M as ke, N as Ce, O as te, Q as ma, R as pa, U as fa, V as ga, W as ba, X as ge, Y as fn, Z as gn, _ as ya, $ as bn, a0 as yn, a1 as xn, a2 as xa, a3 as Te, a4 as vn, a5 as qe, a6 as tt, a7 as xt, a8 as De, a9 as Ve, aa as Oe, ab as Nn, ac as re, ad as Cn, ae as Sn, af as Bt, ag as wn, ah as Ke, ai as kn, aj as On, ak as In, al as Tn, am as Mn, an as bt, ao as Dn, ap as zn, aq as Fe, ar as va, as as Fn, at as ot, au as Ln, av as An, aw as En, ax as vt, ay as Vn, az as qn, aA as at, aB as we, aC as nt, aD as jn, aE as Rn, aF as _n, aG as Hn, aH as yt, aI as Pn, aJ as Gt, aK as $n, aL as Jt, aM as Un, aN as Bn, aO as Gn, aP as Jn, aQ as Na, aR as Wn, aS as zt, aT as Ca, aU as Kn, aV as Qn, aW as Ye, aX as Zn, aY as Xn, aZ as Sa, a_ as Yn, a$ as es, b0 as ts, b1 as as, b2 as ns, b3 as ct, b4 as wa, b5 as ss, b6 as ka, b7 as Oa, b8 as Nt, b9 as Ct, ba as ls, bb as rs, bc as is, bd as dt, be as ut, bf as ht, bg as os, bh as cs, bi as ds, bj as us, bk as hs, bl as mt, bm as ze, bn as ms, bo as Pe, bp as Ft, bq as Ia, br as ps, bs as fs, bt as st, bu as gs, bv as bs, bw as ys, bx as xs, by as Wt, bz as Kt, bA as Ta, bB as vs, bC as Ns, bD as Cs, bE as Ss, bF as ws, bG as ks, bH as Os, bI as Is, bJ as Le, bK as Q, bL as Z, bM as Lt, bN as X, bO as Ts, bP as Ma, bQ as Ms, bR as Ds, bS as zs, bT as Fs, bU as Ls, bV as As, bW as Es, bX as Vs, bY as qs } from "./chunks/index-DEK6orAX.js";
2
- import { D as _r, c1 as Hr, b$ as Pr, b$ as $r, c3 as Ur, c2 as Br, c4 as Gr, c0 as Jr, bZ as Wr, b_ as Kr } from "./chunks/index-DEK6orAX.js";
1
+ import { c as R, p as kt, u as M, a as Je, b as Me, d as Ot, e as It, B as z, P as We, f as Tt, g as Mt, h as Dt, i as aa, L as J, I as he, j as na, k as sa, l as la, m as ra, n as ia, o as oa, q as dn, r as Ut, s as ee, C as it, t as un, v as m, w as hn, x as mn, y as ca, F as da, z as Be, A as et, T as ua, E as pn, G as ha, S as ye, H as xe, J as ve, K as Ne, M as ke, N as Ce, O as te, Q as ma, R as pa, U as fa, V as ga, W as ba, X as ge, Y as fn, Z as gn, _ as ya, $ as bn, a0 as yn, a1 as xn, a2 as xa, a3 as Te, a4 as vn, a5 as qe, a6 as tt, a7 as xt, a8 as De, a9 as Ve, aa as Oe, ab as Nn, ac as re, ad as Cn, ae as Sn, af as Bt, ag as wn, ah as Ke, ai as kn, aj as On, ak as In, al as Tn, am as Mn, an as bt, ao as Dn, ap as zn, aq as Fe, ar as va, as as Fn, at as ot, au as Ln, av as An, aw as En, ax as vt, ay as Vn, az as qn, aA as at, aB as we, aC as nt, aD as jn, aE as Rn, aF as _n, aG as Hn, aH as yt, aI as Pn, aJ as Gt, aK as $n, aL as Jt, aM as Un, aN as Bn, aO as Gn, aP as Jn, aQ as Na, aR as Wn, aS as zt, aT as Ca, aU as Kn, aV as Qn, aW as Ye, aX as Zn, aY as Xn, aZ as Sa, a_ as Yn, a$ as es, b0 as ts, b1 as as, b2 as ns, b3 as ct, b4 as wa, b5 as ss, b6 as ka, b7 as Oa, b8 as Nt, b9 as Ct, ba as ls, bb as rs, bc as is, bd as dt, be as ut, bf as ht, bg as os, bh as cs, bi as ds, bj as us, bk as hs, bl as mt, bm as ze, bn as ms, bo as Pe, bp as Ft, bq as Ia, br as ps, bs as fs, bt as st, bu as gs, bv as bs, bw as ys, bx as xs, by as Wt, bz as Kt, bA as Ta, bB as vs, bC as Ns, bD as Cs, bE as Ss, bF as ws, bG as ks, bH as Os, bI as Is, bJ as Le, bK as Q, bL as Z, bM as Lt, bN as X, bO as Ts, bP as Ma, bQ as Ms, bR as Ds, bS as zs, bT as Fs, bU as Ls, bV as As, bW as Es, bX as Vs, bY as qs } from "./chunks/index-Cp_436yj.js";
2
+ import { D as _r, c1 as Hr, b$ as Pr, b$ as $r, c3 as Ur, c2 as Br, c4 as Gr, c0 as Jr, bZ as Wr, b_ as Kr } from "./chunks/index-Cp_436yj.js";
3
3
  import { jsxs as s, jsx as e, Fragment as ae } from "react/jsx-runtime";
4
4
  import * as Qt from "react";
5
5
  import Ie, { useState as H, useMemo as St, useEffect as ce, useRef as $e, useCallback as Da, Suspense as js } from "react";
@@ -1924,7 +1924,7 @@ function Il() {
1924
1924
  status: "success",
1925
1925
  tables: t
1926
1926
  };
1927
- l("Thinking...");
1927
+ l("Analyzing...");
1928
1928
  }
1929
1929
  }
1930
1930
  function G(k) {
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- .semaphor-scope .react-grid-layout{position:relative;transition:height .2s ease}.semaphor-scope .react-grid-item{transition:all .2s ease;transition-property:left,top,width,height}.semaphor-scope .react-grid-item img{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.semaphor-scope .react-grid-item.cssTransforms{transition-property:transform,width,height}.semaphor-scope .react-grid-item.resizing{transition:none;z-index:1;will-change:width,height}.semaphor-scope .react-grid-item.react-draggable-dragging{transition:none;z-index:3;will-change:transform}.semaphor-scope .react-grid-item.dropping{visibility:hidden}.semaphor-scope .react-grid-item.react-grid-placeholder{background:red;opacity:.2;transition-duration:.1s;z-index:2;-webkit-user-select:none;-moz-user-select:none;-o-user-select:none;user-select:none}.semaphor-scope .react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.semaphor-scope .react-grid-item>.react-resizable-handle{position:absolute;width:20px;height:20px}.semaphor-scope .react-grid-item>.react-resizable-handle:after{content:"";position:absolute;right:3px;bottom:3px;width:5px;height:5px;border-right:2px solid rgba(0,0,0,.4);border-bottom:2px solid rgba(0,0,0,.4)}.semaphor-scope .react-resizable-hide>.react-resizable-handle{display:none}.semaphor-scope .react-grid-item>.react-resizable-handle.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.semaphor-scope .react-grid-item>.react-resizable-handle.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.semaphor-scope .react-grid-item>.react-resizable-handle.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.semaphor-scope .react-grid-item>.react-resizable-handle.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.semaphor-scope .react-grid-item>.react-resizable-handle.react-resizable-handle-w,.semaphor-scope .react-grid-item>.react-resizable-handle.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.semaphor-scope .react-grid-item>.react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.semaphor-scope .react-grid-item>.react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.semaphor-scope .react-grid-item>.react-resizable-handle.react-resizable-handle-n,.semaphor-scope .react-grid-item>.react-resizable-handle.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.semaphor-scope .react-grid-item>.react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.semaphor-scope .react-grid-item>.react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.semaphor-scope .react-resizable{position:relative}.semaphor-scope .react-resizable-handle{position:absolute;width:20px;height:20px;background-repeat:no-repeat;background-origin:content-box;box-sizing:border-box;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4Ij48ZyBvcGFjaXR5PSIwLjMwMiI+PHBhdGggZD0iTSA2IDYgTCAwIDYgTCAwIDQuMiBMIDQgNC4yIEwgNC4yIDQuMiBMIDQuMiAwIEwgNiAwIEwgNiA2IEwgNiA2IFoiIGZpbGw9IiMwMDAwMDAiLz48L2c+PC9zdmc+);background-position:bottom right;padding:0 3px 3px 0}.semaphor-scope .react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.semaphor-scope .react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.semaphor-scope .react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.semaphor-scope .react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.semaphor-scope .react-resizable-handle-w,.semaphor-scope .react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.semaphor-scope .react-resizable-handle-w{left:0;transform:rotate(135deg)}.semaphor-scope .react-resizable-handle-e{right:0;transform:rotate(315deg)}.semaphor-scope .react-resizable-handle-n,.semaphor-scope .react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.semaphor-scope .react-resizable-handle-n{top:0;transform:rotate(225deg)}.semaphor-scope .react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.semaphor-scope .react-resizable-handle{background-image:none!important;padding:0!important;height:10px!important;width:10px!important}.semaphor-scope .react-grid-item>.react-resizable-handle:after{border:none!important;content:none!important}.semaphor-scope .react-grid-item>.react-resizable-handle.react-resizable-handle-n,.semaphor-scope .react-grid-item>.react-resizable-handle.react-resizable-handle-e,.semaphor-scope .react-grid-item>.react-resizable-handle.react-resizable-handle-s,.semaphor-scope .react-grid-item>.react-resizable-handle.react-resizable-handle-w,.semaphor-scope .react-grid-item>.react-resizable-handle.react-resizable-handle-ne,.semaphor-scope .react-grid-item>.react-resizable-handle.react-resizable-handle-nw,.semaphor-scope .react-grid-item>.react-resizable-handle.react-resizable-handle-se,.semaphor-scope .react-grid-item>.react-resizable-handle.react-resizable-handle-sw{transform:none!important;margin:0!important}.semaphor-scope .react-grid-item.react-grid-placeholder{border-radius:1px!important;border-radius:var(--placeholder-border-radius, 1px)!important;background-color:gray!important;background-image:none!important;pointer-events:none!important}.semaphor-scope .kpi-card{container-type:inline-size}@container (inline-size < 270px){.semaphor-scope .kpi-card>div:nth-of-type(2){display:none}}@container (inline-size > 270px){.semaphor-scope .kpi-card>div:nth-of-type(2){display:flex}}.semaphor-scope *,.semaphor-scope :before,.semaphor-scope :after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgba(59, 130, 246, .5);--tw-ring-offset-shadow: 0 0 rgba(0,0,0,0);--tw-ring-shadow: 0 0 rgba(0,0,0,0);--tw-shadow: 0 0 rgba(0,0,0,0);--tw-shadow-colored: 0 0 rgba(0,0,0,0);--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.semaphor-scope ::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgba(59, 130, 246, .5);--tw-ring-offset-shadow: 0 0 rgba(0,0,0,0);--tw-ring-shadow: 0 0 rgba(0,0,0,0);--tw-shadow: 0 0 rgba(0,0,0,0);--tw-shadow-colored: 0 0 rgba(0,0,0,0);--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.semaphor-scope *,.semaphor-scope :before,.semaphor-scope :after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}.semaphor-scope :before,.semaphor-scope :after{--tw-content: ""}.semaphor-scope html,.semaphor-scope :host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}.semaphor-scope body{margin:0;line-height:inherit}.semaphor-scope hr{height:0;color:inherit;border-top-width:1px}.semaphor-scope abbr:where([title]){text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.semaphor-scope h1,.semaphor-scope h2,.semaphor-scope h3,.semaphor-scope h4,.semaphor-scope h5,.semaphor-scope h6{font-size:inherit;font-weight:inherit}.semaphor-scope a{color:inherit;text-decoration:inherit}.semaphor-scope b,.semaphor-scope strong{font-weight:bolder}.semaphor-scope code,.semaphor-scope kbd,.semaphor-scope samp,.semaphor-scope pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}.semaphor-scope small{font-size:80%}.semaphor-scope sub,.semaphor-scope sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.semaphor-scope sub{bottom:-.25em}.semaphor-scope sup{top:-.5em}.semaphor-scope table{text-indent:0;border-color:inherit;border-collapse:collapse}.semaphor-scope button,.semaphor-scope input,.semaphor-scope optgroup,.semaphor-scope select,.semaphor-scope textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}.semaphor-scope button,.semaphor-scope select{text-transform:none}.semaphor-scope button,.semaphor-scope input:where([type=button]),.semaphor-scope input:where([type=reset]),.semaphor-scope input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}.semaphor-scope :-moz-focusring{outline:auto}.semaphor-scope :-moz-ui-invalid{box-shadow:none}.semaphor-scope progress{vertical-align:baseline}.semaphor-scope ::-webkit-inner-spin-button,.semaphor-scope ::-webkit-outer-spin-button{height:auto}.semaphor-scope [type=search]{-webkit-appearance:textfield;outline-offset:-2px}.semaphor-scope ::-webkit-search-decoration{-webkit-appearance:none}.semaphor-scope ::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}.semaphor-scope summary{display:list-item}.semaphor-scope blockquote,.semaphor-scope dl,.semaphor-scope dd,.semaphor-scope h1,.semaphor-scope h2,.semaphor-scope h3,.semaphor-scope h4,.semaphor-scope h5,.semaphor-scope h6,.semaphor-scope hr,.semaphor-scope figure,.semaphor-scope p,.semaphor-scope pre{margin:0}.semaphor-scope fieldset{margin:0;padding:0}.semaphor-scope legend{padding:0}.semaphor-scope ol,.semaphor-scope ul,.semaphor-scope menu{list-style:none;margin:0;padding:0}.semaphor-scope dialog{padding:0}.semaphor-scope textarea{resize:vertical}.semaphor-scope input::-moz-placeholder,.semaphor-scope textarea::-moz-placeholder{opacity:1;color:#9ca3af}.semaphor-scope input::placeholder,.semaphor-scope textarea::placeholder{opacity:1;color:#9ca3af}.semaphor-scope button,.semaphor-scope [role=button]{cursor:pointer}.semaphor-scope :disabled{cursor:default}.semaphor-scope img,.semaphor-scope svg,.semaphor-scope video,.semaphor-scope canvas,.semaphor-scope audio,.semaphor-scope iframe,.semaphor-scope embed,.semaphor-scope object{display:block;vertical-align:middle}.semaphor-scope img,.semaphor-scope video{max-width:100%;height:auto}.semaphor-scope [hidden]:where(:not([hidden=until-found])){display:none}:root{--semaphor-background: 0 0% 100%;--semaphor-foreground: 240 10% 3.9%;--semaphor-card: 0 0% 100%;--semaphor-card-foreground: 240 10% 3.9%;--semaphor-popover: 0 0% 100%;--semaphor-popover-foreground: 240 10% 3.9%;--semaphor-primary: 240 5.9% 10%;--semaphor-primary-foreground: 0 0% 98%;--semaphor-secondary: 240 4.8% 95.9%;--semaphor-secondary-foreground: 240 5.9% 10%;--semaphor-muted: 240 4.8% 95.9%;--semaphor-muted-foreground: 240 3.8% 46.1%;--semaphor-accent: 240 4.8% 95.9%;--semaphor-accent-foreground: 240 5.9% 10%;--semaphor-destructive: 0 84.2% 60.2%;--semaphor-destructive-foreground: 0 0% 98%;--semaphor-border: 240 5.9% 90%;--semaphor-input: 240 5.9% 90%;--semaphor-ring: 240 5.9% 10%;--semaphor-radius: .5rem}.dark{--semaphor-background: 240 10% 10%;--semaphor-foreground: 0 0% 80%;--semaphor-card: 240 10% 10%;--semaphor-card-foreground: 0 0% 80%;--semaphor-popover: 240 10% 10%;--semaphor-popover-foreground: 0 0% 98%;--semaphor-primary: 0 0% 90%;--semaphor-primary-foreground: 240 5.9% 10%;--semaphor-secondary: 240 3.7% 15.9%;--semaphor-secondary-foreground: 0 0% 98%;--semaphor-muted: 240 3.7% 15.9%;--semaphor-muted-foreground: 240 5% 64.9%;--semaphor-accent: 240 3.7% 15.9%;--semaphor-accent-foreground: 0 0% 98%;--semaphor-destructive: 0 62.8% 30.6%;--semaphor-destructive-foreground: 0 0% 98%;--semaphor-border: 240 3.7% 15.9%;--semaphor-input: 240 3.7% 15.9%;--semaphor-ring: 240 4.9% 83.9%}.semaphor-scope *{border-color:#e4e4e7;border-color:hsl(var(--semaphor-border))}.semaphor-scope{background-color:#fff;background-color:hsl(var(--semaphor-background));color:#09090b;color:hsl(var(--semaphor-foreground))}.semaphor-scope .container{width:100%;margin-right:auto;margin-left:auto;padding-right:2rem;padding-left:2rem}@media (min-width: 1400px){.semaphor-scope .container{max-width:1400px}}.semaphor-scope .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.semaphor-scope .pointer-events-none{pointer-events:none}.semaphor-scope .visible{visibility:visible}.semaphor-scope .invisible{visibility:hidden}.semaphor-scope .static{position:static}.semaphor-scope .fixed{position:fixed}.semaphor-scope .absolute{position:absolute}.semaphor-scope .relative{position:relative}.semaphor-scope .sticky{position:sticky}.semaphor-scope .inset-0{top:0;right:0;bottom:0;left:0}.semaphor-scope .inset-x-0{left:0;right:0}.semaphor-scope .inset-y-0{top:0;bottom:0}.semaphor-scope .-top-\[1px\]{top:-1px}.semaphor-scope .bottom-0{bottom:0}.semaphor-scope .bottom-4{bottom:1rem}.semaphor-scope .left-0{left:0}.semaphor-scope .left-1{left:.25rem}.semaphor-scope .left-2{left:.5rem}.semaphor-scope .left-\[50\%\]{left:50%}.semaphor-scope .right-0{right:0}.semaphor-scope .right-1{right:.25rem}.semaphor-scope .right-2{right:.5rem}.semaphor-scope .right-3{right:.75rem}.semaphor-scope .right-4{right:1rem}.semaphor-scope .right-6{right:1.5rem}.semaphor-scope .top-0{top:0}.semaphor-scope .top-2{top:.5rem}.semaphor-scope .top-3{top:.75rem}.semaphor-scope .top-4{top:1rem}.semaphor-scope .top-6{top:1.5rem}.semaphor-scope .top-\[50\%\]{top:50%}.semaphor-scope .isolate{isolation:isolate}.semaphor-scope .z-10{z-index:10}.semaphor-scope .z-20{z-index:20}.semaphor-scope .z-50{z-index:50}.semaphor-scope .col-span-1{grid-column:span 1 / span 1}.semaphor-scope .col-span-2{grid-column:span 2 / span 2}.semaphor-scope .col-span-3{grid-column:span 3 / span 3}.semaphor-scope .col-span-4{grid-column:span 4 / span 4}.semaphor-scope .col-span-5{grid-column:span 5 / span 5}.semaphor-scope .col-span-6{grid-column:span 6 / span 6}.semaphor-scope .col-span-7{grid-column:span 7 / span 7}.semaphor-scope .col-start-1{grid-column-start:1}.semaphor-scope .col-start-2{grid-column-start:2}.semaphor-scope .col-start-3{grid-column-start:3}.semaphor-scope .float-right{float:right}.semaphor-scope .float-left{float:left}.semaphor-scope .m-1{margin:.25rem}.semaphor-scope .m-1\.5{margin:.375rem}.semaphor-scope .m-2{margin:.5rem}.semaphor-scope .m-4{margin:1rem}.semaphor-scope .m-auto{margin:auto}.semaphor-scope .-mx-1{margin-left:-.25rem;margin-right:-.25rem}.semaphor-scope .mx-0{margin-left:0;margin-right:0}.semaphor-scope .mx-1{margin-left:.25rem;margin-right:.25rem}.semaphor-scope .mx-14{margin-left:3.5rem;margin-right:3.5rem}.semaphor-scope .mx-2{margin-left:.5rem;margin-right:.5rem}.semaphor-scope .mx-3{margin-left:.75rem;margin-right:.75rem}.semaphor-scope .mx-6{margin-left:1.5rem;margin-right:1.5rem}.semaphor-scope .mx-auto{margin-left:auto;margin-right:auto}.semaphor-scope .my-1{margin-top:.25rem;margin-bottom:.25rem}.semaphor-scope .my-2{margin-top:.5rem;margin-bottom:.5rem}.semaphor-scope .my-3{margin-top:.75rem;margin-bottom:.75rem}.semaphor-scope .my-4{margin-top:1rem;margin-bottom:1rem}.semaphor-scope .my-6{margin-top:1.5rem;margin-bottom:1.5rem}.semaphor-scope .mb-0{margin-bottom:0}.semaphor-scope .mb-1{margin-bottom:.25rem}.semaphor-scope .mb-2{margin-bottom:.5rem}.semaphor-scope .mb-3{margin-bottom:.75rem}.semaphor-scope .ml-0\.5{margin-left:.125rem}.semaphor-scope .ml-1{margin-left:.25rem}.semaphor-scope .ml-2{margin-left:.5rem}.semaphor-scope .ml-3{margin-left:.75rem}.semaphor-scope .ml-6{margin-left:1.5rem}.semaphor-scope .ml-\[1px\]{margin-left:1px}.semaphor-scope .ml-auto{margin-left:auto}.semaphor-scope .mr-1{margin-right:.25rem}.semaphor-scope .mr-2{margin-right:.5rem}.semaphor-scope .mt-0{margin-top:0}.semaphor-scope .mt-1{margin-top:.25rem}.semaphor-scope .mt-2{margin-top:.5rem}.semaphor-scope .mt-4{margin-top:1rem}.semaphor-scope .block{display:block}.semaphor-scope .inline-block{display:inline-block}.semaphor-scope .inline{display:inline}.semaphor-scope .flex{display:flex}.semaphor-scope .inline-flex{display:inline-flex}.semaphor-scope .\!table{display:table!important}.semaphor-scope .table{display:table}.semaphor-scope .grid{display:grid}.semaphor-scope .contents{display:contents}.semaphor-scope .hidden{display:none}.semaphor-scope .aspect-square{aspect-ratio:1 / 1}.semaphor-scope .size-3{width:.75rem;height:.75rem}.semaphor-scope .size-3\.5{width:.875rem;height:.875rem}.semaphor-scope .size-4{width:1rem;height:1rem}.semaphor-scope .size-5{width:1.25rem;height:1.25rem}.semaphor-scope .size-6{width:1.5rem;height:1.5rem}.semaphor-scope .size-7{width:1.75rem;height:1.75rem}.semaphor-scope .size-8{width:2rem;height:2rem}.semaphor-scope .h-0{height:0px}.semaphor-scope .h-1{height:.25rem}.semaphor-scope .h-10{height:2.5rem}.semaphor-scope .h-11{height:2.75rem}.semaphor-scope .h-12{height:3rem}.semaphor-scope .h-2{height:.5rem}.semaphor-scope .h-2\.5{height:.625rem}.semaphor-scope .h-24{height:6rem}.semaphor-scope .h-3{height:.75rem}.semaphor-scope .h-3\.5{height:.875rem}.semaphor-scope .h-4{height:1rem}.semaphor-scope .h-5{height:1.25rem}.semaphor-scope .h-6{height:1.5rem}.semaphor-scope .h-7{height:1.75rem}.semaphor-scope .h-8{height:2rem}.semaphor-scope .h-9{height:2.25rem}.semaphor-scope .h-\[14px\]{height:14px}.semaphor-scope .h-\[1px\]{height:1px}.semaphor-scope .h-\[300px\]{height:300px}.semaphor-scope .h-\[34px\]{height:34px}.semaphor-scope .h-\[350px\]{height:350px}.semaphor-scope .h-\[550px\]{height:550px}.semaphor-scope .h-\[62vh\]{height:62vh}.semaphor-scope .h-\[700px\]{height:700px}.semaphor-scope .h-\[75vh\]{height:75vh}.semaphor-scope .h-\[95\%\]{height:95%}.semaphor-scope .h-\[99\%\]{height:99%}.semaphor-scope .h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.semaphor-scope .h-fit{height:-moz-fit-content;height:fit-content}.semaphor-scope .h-full{height:100%}.semaphor-scope .h-px{height:1px}.semaphor-scope .h-screen{height:100vh}.semaphor-scope .max-h-0{max-height:0px}.semaphor-scope .max-h-11{max-height:2.75rem}.semaphor-scope .max-h-60{max-height:15rem}.semaphor-scope .max-h-96{max-height:24rem}.semaphor-scope .max-h-\[125px\]{max-height:125px}.semaphor-scope .max-h-\[150px\]{max-height:150px}.semaphor-scope .max-h-\[250px\]{max-height:250px}.semaphor-scope .max-h-\[300px\]{max-height:300px}.semaphor-scope .max-h-\[70vh\]{max-height:70vh}.semaphor-scope .min-h-0{min-height:0px}.semaphor-scope .min-h-10{min-height:2.5rem}.semaphor-scope .min-h-11{min-height:2.75rem}.semaphor-scope .min-h-7{min-height:1.75rem}.semaphor-scope .min-h-\[220px\]{min-height:220px}.semaphor-scope .min-h-\[250px\]{min-height:250px}.semaphor-scope .min-h-\[500px\]{min-height:500px}.semaphor-scope .min-h-\[70vh\]{min-height:70vh}.semaphor-scope .min-h-\[80px\]{min-height:80px}.semaphor-scope .min-h-fit{min-height:-moz-fit-content;min-height:fit-content}.semaphor-scope .min-h-screen{min-height:100vh}.semaphor-scope .w-1\/2{width:50%}.semaphor-scope .w-1\/3{width:33.333333%}.semaphor-scope .w-10{width:2.5rem}.semaphor-scope .w-11{width:2.75rem}.semaphor-scope .w-2{width:.5rem}.semaphor-scope .w-2\.5{width:.625rem}.semaphor-scope .w-20{width:5rem}.semaphor-scope .w-3{width:.75rem}.semaphor-scope .w-3\.5{width:.875rem}.semaphor-scope .w-3\/4{width:75%}.semaphor-scope .w-4{width:1rem}.semaphor-scope .w-40{width:10rem}.semaphor-scope .w-5{width:1.25rem}.semaphor-scope .w-60{width:15rem}.semaphor-scope .w-64{width:16rem}.semaphor-scope .w-7{width:1.75rem}.semaphor-scope .w-72{width:18rem}.semaphor-scope .w-8{width:2rem}.semaphor-scope .w-80{width:20rem}.semaphor-scope .w-9{width:2.25rem}.semaphor-scope .w-\[14px\]{width:14px}.semaphor-scope .w-\[180px\]{width:180px}.semaphor-scope .w-\[1px\]{width:1px}.semaphor-scope .w-\[200px\]{width:200px}.semaphor-scope .w-\[250px\]{width:250px}.semaphor-scope .w-\[300px\]{width:300px}.semaphor-scope .w-\[600px\]{width:600px}.semaphor-scope .w-\[99\%\]{width:99%}.semaphor-scope .w-\[99\.5\%\]{width:99.5%}.semaphor-scope .w-auto{width:auto}.semaphor-scope .w-fit{width:-moz-fit-content;width:fit-content}.semaphor-scope .w-full{width:100%}.semaphor-scope .w-px{width:1px}.semaphor-scope .min-w-0{min-width:0px}.semaphor-scope .min-w-14{min-width:3.5rem}.semaphor-scope .min-w-\[250px\]{min-width:250px}.semaphor-scope .min-w-\[275px\]{min-width:275px}.semaphor-scope .min-w-\[320px\]{min-width:320px}.semaphor-scope .min-w-\[350px\]{min-width:350px}.semaphor-scope .min-w-\[8rem\]{min-width:8rem}.semaphor-scope .min-w-\[900px\]{min-width:900px}.semaphor-scope .min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.semaphor-scope .min-w-fit{min-width:-moz-fit-content;min-width:fit-content}.semaphor-scope .min-w-full{min-width:100%}.semaphor-scope .max-w-\[1500px\]{max-width:1500px}.semaphor-scope .max-w-\[200px\]{max-width:200px}.semaphor-scope .max-w-\[700px\]{max-width:700px}.semaphor-scope .max-w-fit{max-width:-moz-fit-content;max-width:fit-content}.semaphor-scope .max-w-lg{max-width:32rem}.semaphor-scope .flex-1{flex:1 1 0%}.semaphor-scope .shrink{flex-shrink:1}.semaphor-scope .shrink-0{flex-shrink:0}.semaphor-scope .flex-grow,.semaphor-scope .grow{flex-grow:1}.semaphor-scope .basis-0{flex-basis:0px}.semaphor-scope .caption-bottom{caption-side:bottom}.semaphor-scope .border-collapse{border-collapse:collapse}.semaphor-scope .translate-x-\[-50\%\]{--tw-translate-x: -50%;transform:translate(-50%,var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.semaphor-scope .translate-y-\[-50\%\]{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),-50%) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.semaphor-scope .rotate-0{--tw-rotate: 0deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(0) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.semaphor-scope .rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(180deg) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.semaphor-scope .rotate-90{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(90deg) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.semaphor-scope .rotate-\[135deg\]{--tw-rotate: 135deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(135deg) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.semaphor-scope .scale-0{--tw-scale-x: 0;--tw-scale-y: 0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(0) scaleY(0);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.semaphor-scope .scale-100{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(1) scaleY(1);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.semaphor-scope .transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.semaphor-scope .animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.semaphor-scope .animate-spin{animation:spin 1s linear infinite}.semaphor-scope .cursor-default{cursor:default}.semaphor-scope .cursor-pointer{cursor:pointer}.semaphor-scope .cursor-text{cursor:text}.semaphor-scope .touch-none{touch-action:none}.semaphor-scope .select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.semaphor-scope .resize-none{resize:none}.semaphor-scope .resize{resize:both}.semaphor-scope .list-outside{list-style-position:outside}.semaphor-scope .list-disc{list-style-type:disc}.semaphor-scope .list-none{list-style-type:none}.semaphor-scope .grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.semaphor-scope .grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.semaphor-scope .grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.semaphor-scope .grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.semaphor-scope .grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.semaphor-scope .grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.semaphor-scope .grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.semaphor-scope .grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.semaphor-scope .flex-row{flex-direction:row}.semaphor-scope .flex-col{flex-direction:column}.semaphor-scope .flex-col-reverse{flex-direction:column-reverse}.semaphor-scope .flex-wrap{flex-wrap:wrap}.semaphor-scope .place-items-center{align-items:center;justify-items:center;place-items:center}.semaphor-scope .items-start{align-items:flex-start}.semaphor-scope .items-end{align-items:flex-end}.semaphor-scope .items-center{align-items:center}.semaphor-scope .justify-start{justify-content:flex-start}.semaphor-scope .justify-end{justify-content:flex-end}.semaphor-scope .justify-center{justify-content:center}.semaphor-scope .justify-between{justify-content:space-between}.semaphor-scope .gap-0{gap:0px}.semaphor-scope .gap-1{gap:.25rem}.semaphor-scope .gap-1\.5{gap:.375rem}.semaphor-scope .gap-2{gap:.5rem}.semaphor-scope .gap-3{gap:.75rem}.semaphor-scope .gap-4{gap:1rem}.semaphor-scope .gap-5{gap:1.25rem}.semaphor-scope .space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:0rem;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * (1 - var(--tw-space-x-reverse)));margin-left:.25rem;margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.semaphor-scope .space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:0rem;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * (1 - var(--tw-space-x-reverse)));margin-left:.5rem;margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.semaphor-scope .space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:0rem;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * (1 - var(--tw-space-x-reverse)));margin-left:.75rem;margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.semaphor-scope .space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:0rem;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * (1 - var(--tw-space-x-reverse)));margin-left:1rem;margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.semaphor-scope .space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * (1 - var(--tw-space-y-reverse)));margin-top:.25rem;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:0rem;margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.semaphor-scope .space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * (1 - var(--tw-space-y-reverse)));margin-top:.375rem;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:0rem;margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.semaphor-scope .space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * (1 - var(--tw-space-y-reverse)));margin-top:.5rem;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:0rem;margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.semaphor-scope .space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * (1 - var(--tw-space-y-reverse)));margin-top:.75rem;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:0rem;margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.semaphor-scope .space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * (1 - var(--tw-space-y-reverse)));margin-top:1rem;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:0rem;margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.semaphor-scope .space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * (1 - var(--tw-space-y-reverse)));margin-top:1.5rem;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:0rem;margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.semaphor-scope .self-start{align-self:flex-start}.semaphor-scope .self-baseline{align-self:baseline}.semaphor-scope .overflow-auto{overflow:auto}.semaphor-scope .overflow-hidden{overflow:hidden}.semaphor-scope .overflow-scroll{overflow:scroll}.semaphor-scope .overflow-x-auto{overflow-x:auto}.semaphor-scope .overflow-y-auto{overflow-y:auto}.semaphor-scope .overflow-x-hidden{overflow-x:hidden}.semaphor-scope .overflow-x-scroll{overflow-x:scroll}.semaphor-scope .overflow-y-scroll{overflow-y:scroll}.semaphor-scope .whitespace-normal{white-space:normal}.semaphor-scope .whitespace-nowrap{white-space:nowrap}.semaphor-scope .whitespace-pre-line{white-space:pre-line}.semaphor-scope .whitespace-pre-wrap{white-space:pre-wrap}.semaphor-scope .break-words{word-wrap:break-word}.semaphor-scope .rounded{border-radius:.25rem}.semaphor-scope .rounded-\[inherit\]{border-radius:inherit}.semaphor-scope .rounded-full{border-radius:9999px}.semaphor-scope .rounded-lg{border-radius:.5rem;border-radius:var(--semaphor-radius)}.semaphor-scope .rounded-md{border-radius:calc(.5rem - 2px);border-radius:calc(var(--semaphor-radius) - 2px)}.semaphor-scope .rounded-none{border-radius:0}.semaphor-scope .rounded-sm{border-radius:calc(.5rem - 4px);border-radius:calc(var(--semaphor-radius) - 4px)}.semaphor-scope .rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.semaphor-scope .rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.semaphor-scope .rounded-bl-md{border-bottom-left-radius:calc(.5rem - 2px);border-bottom-left-radius:calc(var(--semaphor-radius) - 2px)}.semaphor-scope .rounded-bl-none{border-bottom-left-radius:0}.semaphor-scope .rounded-br-md{border-bottom-right-radius:calc(.5rem - 2px);border-bottom-right-radius:calc(var(--semaphor-radius) - 2px)}.semaphor-scope .rounded-br-none{border-bottom-right-radius:0}.semaphor-scope .rounded-tl-md{border-top-left-radius:calc(.5rem - 2px);border-top-left-radius:calc(var(--semaphor-radius) - 2px)}.semaphor-scope .rounded-tl-none{border-top-left-radius:0}.semaphor-scope .rounded-tr-md{border-top-right-radius:calc(.5rem - 2px);border-top-right-radius:calc(var(--semaphor-radius) - 2px)}.semaphor-scope .rounded-tr-none{border-top-right-radius:0}.semaphor-scope .border{border-width:1px}.semaphor-scope .border-2{border-width:2px}.semaphor-scope .border-x{border-left-width:1px;border-right-width:1px}.semaphor-scope .border-y{border-top-width:1px;border-bottom-width:1px}.semaphor-scope .border-b{border-bottom-width:1px}.semaphor-scope .border-b-0{border-bottom-width:0px}.semaphor-scope .border-b-2{border-bottom-width:2px}.semaphor-scope .border-l{border-left-width:1px}.semaphor-scope .border-r{border-right-width:1px}.semaphor-scope .border-r-\[1\.5px\]{border-right-width:1.5px}.semaphor-scope .border-t{border-top-width:1px}.semaphor-scope .border-t-0{border-top-width:0px}.semaphor-scope .border-dashed{border-style:dashed}.semaphor-scope .border-none{border-style:none}.semaphor-scope .border-background{border-color:#fff;border-color:hsl(var(--semaphor-background))}.semaphor-scope .border-border{border-color:#e4e4e7;border-color:hsl(var(--semaphor-border))}.semaphor-scope .border-foreground\/40{border-color:#09090b66;border-color:hsl(var(--semaphor-foreground) / .4)}.semaphor-scope .border-foreground\/50{border-color:#09090b80;border-color:hsl(var(--semaphor-foreground) / .5)}.semaphor-scope .border-input{border-color:#e4e4e7;border-color:hsl(var(--semaphor-input))}.semaphor-scope .border-muted{border-color:#f4f4f5;border-color:hsl(var(--semaphor-muted))}.semaphor-scope .border-muted-foreground{border-color:#71717a;border-color:hsl(var(--semaphor-muted-foreground))}.semaphor-scope .border-muted-foreground\/50{border-color:#71717a80;border-color:hsl(var(--semaphor-muted-foreground) / .5)}.semaphor-scope .border-primary{border-color:#18181b;border-color:hsl(var(--semaphor-primary))}.semaphor-scope .border-red-400{--tw-border-opacity: 1;border-color:#f87171;border-color:rgba(248,113,113,var(--tw-border-opacity, 1))}.semaphor-scope .border-red-700{--tw-border-opacity: 1;border-color:#b91c1c;border-color:rgba(185,28,28,var(--tw-border-opacity, 1))}.semaphor-scope .border-transparent{border-color:transparent}.semaphor-scope .border-b-muted{border-bottom-color:#f4f4f5;border-bottom-color:hsl(var(--semaphor-muted))}.semaphor-scope .border-l-transparent{border-left-color:transparent}.semaphor-scope .border-t-transparent{border-top-color:transparent}.semaphor-scope .bg-accent{background-color:#f4f4f5;background-color:hsl(var(--semaphor-accent))}.semaphor-scope .bg-background{background-color:#fff;background-color:hsl(var(--semaphor-background))}.semaphor-scope .bg-background\/80{background-color:#fffc;background-color:hsl(var(--semaphor-background) / .8)}.semaphor-scope .bg-black\/80{background-color:#000c}.semaphor-scope .bg-blue-300{--tw-bg-opacity: 1;background-color:#93c5fd;background-color:rgba(147,197,253,var(--tw-bg-opacity, 1))}.semaphor-scope .bg-border{background-color:#e4e4e7;background-color:hsl(var(--semaphor-border))}.semaphor-scope .bg-card{background-color:#fff;background-color:hsl(var(--semaphor-card))}.semaphor-scope .bg-destructive{background-color:#ef4343;background-color:hsl(var(--semaphor-destructive))}.semaphor-scope .bg-destructive\/10{background-color:#ef43431a;background-color:hsl(var(--semaphor-destructive) / .1)}.semaphor-scope .bg-foreground\/10{background-color:#09090b1a;background-color:hsl(var(--semaphor-foreground) / .1)}.semaphor-scope .bg-green-100{--tw-bg-opacity: 1;background-color:#dcfce7;background-color:rgba(220,252,231,var(--tw-bg-opacity, 1))}.semaphor-scope .bg-green-200{--tw-bg-opacity: 1;background-color:#bbf7d0;background-color:rgba(187,247,208,var(--tw-bg-opacity, 1))}.semaphor-scope .bg-green-500{--tw-bg-opacity: 1;background-color:#22c55e;background-color:rgba(34,197,94,var(--tw-bg-opacity, 1))}.semaphor-scope .bg-green-600\/10{background-color:#16a34a1a}.semaphor-scope .bg-muted{background-color:#f4f4f5;background-color:hsl(var(--semaphor-muted))}.semaphor-scope .bg-muted-foreground{background-color:#71717a;background-color:hsl(var(--semaphor-muted-foreground))}.semaphor-scope .bg-muted\/50{background-color:#f4f4f580;background-color:hsl(var(--semaphor-muted) / .5)}.semaphor-scope .bg-muted\/70{background-color:#f4f4f5b3;background-color:hsl(var(--semaphor-muted) / .7)}.semaphor-scope .bg-popover{background-color:#fff;background-color:hsl(var(--semaphor-popover))}.semaphor-scope .bg-primary{background-color:#18181b;background-color:hsl(var(--semaphor-primary))}.semaphor-scope .bg-primary-foreground\/20{background-color:#fafafa33;background-color:hsl(var(--semaphor-primary-foreground) / .2)}.semaphor-scope .bg-red-100{--tw-bg-opacity: 1;background-color:#fee2e2;background-color:rgba(254,226,226,var(--tw-bg-opacity, 1))}.semaphor-scope .bg-red-500{--tw-bg-opacity: 1;background-color:#ef4444;background-color:rgba(239,68,68,var(--tw-bg-opacity, 1))}.semaphor-scope .bg-secondary{background-color:#f4f4f5;background-color:hsl(var(--semaphor-secondary))}.semaphor-scope .bg-transparent{background-color:transparent}.semaphor-scope .bg-\[repeating-linear-gradient\(45deg\,_\#18171d_0_3px\,_\#272729_3px_6px\)\]{background-image:repeating-linear-gradient(45deg,#18171d 0,#18171d 3px,#272729 3px,#272729 6px)}.semaphor-scope .bg-\[repeating-linear-gradient\(45deg\,_\#ffffff_0_3px\,_\#f3f3f3_3px_6px\)\]{background-image:repeating-linear-gradient(45deg,#fff 0,#fff 3px,#f3f3f3 3px,#f3f3f3 6px)}.semaphor-scope .fill-current{fill:currentColor}.semaphor-scope .p-0{padding:0}.semaphor-scope .p-0\.5{padding:.125rem}.semaphor-scope .p-1{padding:.25rem}.semaphor-scope .p-10{padding:2.5rem}.semaphor-scope .p-2{padding:.5rem}.semaphor-scope .p-2\.5{padding:.625rem}.semaphor-scope .p-3{padding:.75rem}.semaphor-scope .p-4{padding:1rem}.semaphor-scope .p-5{padding:1.25rem}.semaphor-scope .p-6{padding:1.5rem}.semaphor-scope .p-\[1px\]{padding:1px}.semaphor-scope .px-0{padding-left:0;padding-right:0}.semaphor-scope .px-0\.5{padding-left:.125rem;padding-right:.125rem}.semaphor-scope .px-1{padding-left:.25rem;padding-right:.25rem}.semaphor-scope .px-2{padding-left:.5rem;padding-right:.5rem}.semaphor-scope .px-2\.5{padding-left:.625rem;padding-right:.625rem}.semaphor-scope .px-3{padding-left:.75rem;padding-right:.75rem}.semaphor-scope .px-4{padding-left:1rem;padding-right:1rem}.semaphor-scope .px-5{padding-left:1.25rem;padding-right:1.25rem}.semaphor-scope .px-6{padding-left:1.5rem;padding-right:1.5rem}.semaphor-scope .px-8{padding-left:2rem;padding-right:2rem}.semaphor-scope .py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.semaphor-scope .py-1{padding-top:.25rem;padding-bottom:.25rem}.semaphor-scope .py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.semaphor-scope .py-2{padding-top:.5rem;padding-bottom:.5rem}.semaphor-scope .py-3{padding-top:.75rem;padding-bottom:.75rem}.semaphor-scope .py-4{padding-top:1rem;padding-bottom:1rem}.semaphor-scope .py-6{padding-top:1.5rem;padding-bottom:1.5rem}.semaphor-scope .py-\[6px\]{padding-top:6px;padding-bottom:6px}.semaphor-scope .pb-0\.5{padding-bottom:.125rem}.semaphor-scope .pb-1{padding-bottom:.25rem}.semaphor-scope .pb-3{padding-bottom:.75rem}.semaphor-scope .pb-4{padding-bottom:1rem}.semaphor-scope .pb-6{padding-bottom:1.5rem}.semaphor-scope .pl-1{padding-left:.25rem}.semaphor-scope .pl-10{padding-left:2.5rem}.semaphor-scope .pl-3{padding-left:.75rem}.semaphor-scope .pl-4{padding-left:1rem}.semaphor-scope .pl-8{padding-left:2rem}.semaphor-scope .pr-1{padding-right:.25rem}.semaphor-scope .pr-10{padding-right:2.5rem}.semaphor-scope .pr-2{padding-right:.5rem}.semaphor-scope .pr-3{padding-right:.75rem}.semaphor-scope .pr-4{padding-right:1rem}.semaphor-scope .pt-0{padding-top:0}.semaphor-scope .pt-1{padding-top:.25rem}.semaphor-scope .pt-2{padding-top:.5rem}.semaphor-scope .pt-3{padding-top:.75rem}.semaphor-scope .pt-6{padding-top:1.5rem}.semaphor-scope .pt-8{padding-top:2rem}.semaphor-scope .text-left{text-align:left}.semaphor-scope .text-center{text-align:center}.semaphor-scope .text-right{text-align:right}.semaphor-scope .align-middle{vertical-align:middle}.semaphor-scope .font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.semaphor-scope .text-2xl{font-size:1.5rem;line-height:2rem}.semaphor-scope .text-3xl{font-size:1.875rem;line-height:2.25rem}.semaphor-scope .text-\[0\.8rem\]{font-size:.8rem}.semaphor-scope .text-base{font-size:1rem;line-height:1.5rem}.semaphor-scope .text-lg{font-size:1.125rem;line-height:1.75rem}.semaphor-scope .text-sm{font-size:.875rem;line-height:1.25rem}.semaphor-scope .text-xl{font-size:1.25rem;line-height:1.75rem}.semaphor-scope .text-xs{font-size:.75rem;line-height:1rem}.semaphor-scope .font-bold{font-weight:700}.semaphor-scope .font-medium{font-weight:500}.semaphor-scope .font-normal{font-weight:400}.semaphor-scope .font-semibold{font-weight:600}.semaphor-scope .uppercase{text-transform:uppercase}.semaphor-scope .lowercase{text-transform:lowercase}.semaphor-scope .capitalize{text-transform:capitalize}.semaphor-scope .italic{font-style:italic}.semaphor-scope .leading-5{line-height:1.25rem}.semaphor-scope .leading-none{line-height:1}.semaphor-scope .leading-relaxed{line-height:1.625}.semaphor-scope .tracking-tight{letter-spacing:-.025em}.semaphor-scope .tracking-wide{letter-spacing:.025em}.semaphor-scope .tracking-widest{letter-spacing:.1em}.semaphor-scope .text-accent-foreground{color:#18181b;color:hsl(var(--semaphor-accent-foreground))}.semaphor-scope .text-background{color:#fff;color:hsl(var(--semaphor-background))}.semaphor-scope .text-black{--tw-text-opacity: 1;color:#000;color:rgba(0,0,0,var(--tw-text-opacity, 1))}.semaphor-scope .text-blue-500{--tw-text-opacity: 1;color:#3b82f6;color:rgba(59,130,246,var(--tw-text-opacity, 1))}.semaphor-scope .text-blue-700{--tw-text-opacity: 1;color:#1d4ed8;color:rgba(29,78,216,var(--tw-text-opacity, 1))}.semaphor-scope .text-card{color:#fff;color:hsl(var(--semaphor-card))}.semaphor-scope .text-card-foreground{color:#09090b;color:hsl(var(--semaphor-card-foreground))}.semaphor-scope .text-current{color:currentColor}.semaphor-scope .text-destructive{color:#ef4343;color:hsl(var(--semaphor-destructive))}.semaphor-scope .text-destructive-foreground{color:#fafafa;color:hsl(var(--semaphor-destructive-foreground))}.semaphor-scope .text-foreground{color:#09090b;color:hsl(var(--semaphor-foreground))}.semaphor-scope .text-foreground\/30{color:#09090b4d;color:hsl(var(--semaphor-foreground) / .3)}.semaphor-scope .text-foreground\/40{color:#09090b66;color:hsl(var(--semaphor-foreground) / .4)}.semaphor-scope .text-foreground\/50{color:#09090b80;color:hsl(var(--semaphor-foreground) / .5)}.semaphor-scope .text-foreground\/70{color:#09090bb3;color:hsl(var(--semaphor-foreground) / .7)}.semaphor-scope .text-foreground\/80{color:#09090bcc;color:hsl(var(--semaphor-foreground) / .8)}.semaphor-scope .text-foreground\/90{color:#09090be6;color:hsl(var(--semaphor-foreground) / .9)}.semaphor-scope .text-foreground\/95{color:#09090bf2;color:hsl(var(--semaphor-foreground) / .95)}.semaphor-scope .text-gray-400{--tw-text-opacity: 1;color:#9ca3af;color:rgba(156,163,175,var(--tw-text-opacity, 1))}.semaphor-scope .text-gray-700{--tw-text-opacity: 1;color:#374151;color:rgba(55,65,81,var(--tw-text-opacity, 1))}.semaphor-scope .text-gray-900{--tw-text-opacity: 1;color:#111827;color:rgba(17,24,39,var(--tw-text-opacity, 1))}.semaphor-scope .text-green-400{--tw-text-opacity: 1;color:#4ade80;color:rgba(74,222,128,var(--tw-text-opacity, 1))}.semaphor-scope .text-green-500{--tw-text-opacity: 1;color:#22c55e;color:rgba(34,197,94,var(--tw-text-opacity, 1))}.semaphor-scope .text-green-600{--tw-text-opacity: 1;color:#16a34a;color:rgba(22,163,74,var(--tw-text-opacity, 1))}.semaphor-scope .text-muted{color:#f4f4f5;color:hsl(var(--semaphor-muted))}.semaphor-scope .text-muted-foreground{color:#71717a;color:hsl(var(--semaphor-muted-foreground))}.semaphor-scope .text-muted-foreground\/40{color:#71717a66;color:hsl(var(--semaphor-muted-foreground) / .4)}.semaphor-scope .text-muted-foreground\/70{color:#71717ab3;color:hsl(var(--semaphor-muted-foreground) / .7)}.semaphor-scope .text-popover-foreground{color:#09090b;color:hsl(var(--semaphor-popover-foreground))}.semaphor-scope .text-primary{color:#18181b;color:hsl(var(--semaphor-primary))}.semaphor-scope .text-primary-foreground{color:#fafafa;color:hsl(var(--semaphor-primary-foreground))}.semaphor-scope .text-red-500{--tw-text-opacity: 1;color:#ef4444;color:rgba(239,68,68,var(--tw-text-opacity, 1))}.semaphor-scope .text-secondary-foreground{color:#18181b;color:hsl(var(--semaphor-secondary-foreground))}.semaphor-scope .underline{text-decoration-line:underline}.semaphor-scope .underline-offset-4{text-underline-offset:4px}.semaphor-scope .opacity-0{opacity:0}.semaphor-scope .opacity-10{opacity:.1}.semaphor-scope .opacity-100{opacity:1}.semaphor-scope .opacity-50{opacity:.5}.semaphor-scope .opacity-60{opacity:.6}.semaphor-scope .opacity-70{opacity:.7}.semaphor-scope .shadow-lg{--tw-shadow: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:0 0 #0000,0 0 #0000,0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;box-shadow:var(--tw-ring-offset-shadow, 0 0 rgba(0,0,0,0)),var(--tw-ring-shadow, 0 0 rgba(0,0,0,0)),var(--tw-shadow)}.semaphor-scope .shadow-md{--tw-shadow: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:0 0 #0000,0 0 #0000,0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;box-shadow:var(--tw-ring-offset-shadow, 0 0 rgba(0,0,0,0)),var(--tw-ring-shadow, 0 0 rgba(0,0,0,0)),var(--tw-shadow)}.semaphor-scope .shadow-none{--tw-shadow: 0 0 rgba(0,0,0,0);--tw-shadow-colored: 0 0 rgba(0,0,0,0);box-shadow:0 0 #0000,0 0 #0000,0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 rgba(0,0,0,0)),var(--tw-ring-shadow, 0 0 rgba(0,0,0,0)),var(--tw-shadow)}.semaphor-scope .shadow-sm{--tw-shadow: 0 1px 2px 0 rgba(0, 0, 0, .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:0 0 #0000,0 0 #0000,0 1px 2px #0000000d;box-shadow:var(--tw-ring-offset-shadow, 0 0 rgba(0,0,0,0)),var(--tw-ring-shadow, 0 0 rgba(0,0,0,0)),var(--tw-shadow)}.semaphor-scope .outline-none{outline:2px solid transparent;outline-offset:2px}.semaphor-scope .outline{outline-style:solid}.semaphor-scope .outline-dashed{outline-style:dashed}.semaphor-scope .outline-1{outline-width:1px}.semaphor-scope .outline-\[0\.5px\]{outline-width:.5px}.semaphor-scope .outline-green-400{outline-color:#4ade80}.semaphor-scope .outline-primary\/50{outline-color:#18181b80;outline-color:hsl(var(--semaphor-primary) / .5)}.semaphor-scope .ring-0{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 rgba(0,0,0,0))}.semaphor-scope .ring-offset-background{--tw-ring-offset-color: hsl(var(--semaphor-background))}.semaphor-scope .blur{--tw-blur: blur(8px);filter:blur(8px) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.semaphor-scope .\!filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.semaphor-scope .filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.semaphor-scope .backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:blur(4px) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:blur(4px) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.semaphor-scope .transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.semaphor-scope .transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.semaphor-scope .transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.semaphor-scope .transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.semaphor-scope .transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.semaphor-scope .duration-100{transition-duration:.1s}.semaphor-scope .duration-200{transition-duration:.2s}.semaphor-scope .ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.semaphor-scope .ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}@keyframes enter{0%{opacity:1;opacity:var(--tw-enter-opacity, 1);transform:translateZ(0) scaleZ(1) rotate(0);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:1;opacity:var(--tw-exit-opacity, 1);transform:translateZ(0) scaleZ(1) rotate(0);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.semaphor-scope .animate-in{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.semaphor-scope .fade-in-0{--tw-enter-opacity: 0}.semaphor-scope .zoom-in-95{--tw-enter-scale: .95}.semaphor-scope .duration-100{animation-duration:.1s}.semaphor-scope .duration-200{animation-duration:.2s}.semaphor-scope .ease-in{animation-timing-function:cubic-bezier(.4,0,1,1)}.semaphor-scope .ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.semaphor-scope .running{animation-play-state:running}.semaphor-scope .\@container{container-type:inline-size}.semaphor-scope .file\:border-0::file-selector-button{border-width:0px}.semaphor-scope .file\:bg-transparent::file-selector-button{background-color:transparent}.semaphor-scope .file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.semaphor-scope .file\:font-medium::file-selector-button{font-weight:500}.semaphor-scope .placeholder\:text-muted-foreground::-moz-placeholder{color:#71717a;color:hsl(var(--semaphor-muted-foreground))}.semaphor-scope .placeholder\:text-muted-foreground::placeholder{color:#71717a;color:hsl(var(--semaphor-muted-foreground))}.semaphor-scope .after\:absolute:after{content:var(--tw-content);position:absolute}.semaphor-scope .after\:inset-y-0:after{content:var(--tw-content);top:0;bottom:0}.semaphor-scope .after\:left-1\/2:after{content:var(--tw-content);left:50%}.semaphor-scope .after\:w-1:after{content:var(--tw-content);width:.25rem}.semaphor-scope .after\:-translate-x-1\/2:after{content:var(--tw-content);--tw-translate-x: -50%;transform:translate(-50%,var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.semaphor-scope .after\:content-none:after{--tw-content: none;content:none;content:var(--tw-content)}.semaphor-scope .focus-within\:relative:focus-within{position:relative}.semaphor-scope .focus-within\:z-20:focus-within{z-index:20}.semaphor-scope .hover\:cursor-pointer:hover{cursor:pointer}.semaphor-scope .hover\:cursor-text:hover{cursor:text}.semaphor-scope .hover\:bg-accent:hover{background-color:#f4f4f5;background-color:hsl(var(--semaphor-accent))}.semaphor-scope .hover\:bg-destructive\/90:hover{background-color:#ef4343e6;background-color:hsl(var(--semaphor-destructive) / .9)}.semaphor-scope .hover\:bg-gray-200\/50:hover{background-color:#e5e7eb80}.semaphor-scope .hover\:bg-muted:hover{background-color:#f4f4f5;background-color:hsl(var(--semaphor-muted))}.semaphor-scope .hover\:bg-muted-foreground\/50:hover{background-color:#71717a80;background-color:hsl(var(--semaphor-muted-foreground) / .5)}.semaphor-scope .hover\:bg-muted\/50:hover{background-color:#f4f4f580;background-color:hsl(var(--semaphor-muted) / .5)}.semaphor-scope .hover\:bg-primary:hover{background-color:#18181b;background-color:hsl(var(--semaphor-primary))}.semaphor-scope .hover\:bg-primary\/90:hover{background-color:#18181be6;background-color:hsl(var(--semaphor-primary) / .9)}.semaphor-scope .hover\:bg-secondary\/80:hover{background-color:#f4f4f5cc;background-color:hsl(var(--semaphor-secondary) / .8)}.semaphor-scope .hover\:text-accent-foreground:hover{color:#18181b;color:hsl(var(--semaphor-accent-foreground))}.semaphor-scope .hover\:text-background:hover{color:#fff;color:hsl(var(--semaphor-background))}.semaphor-scope .hover\:text-foreground:hover{color:#09090b;color:hsl(var(--semaphor-foreground))}.semaphor-scope .hover\:text-foreground\/100:hover{color:#09090b;color:hsl(var(--semaphor-foreground) / 1)}.semaphor-scope .hover\:text-foreground\/50:hover{color:#09090b80;color:hsl(var(--semaphor-foreground) / .5)}.semaphor-scope .hover\:text-foreground\/70:hover{color:#09090bb3;color:hsl(var(--semaphor-foreground) / .7)}.semaphor-scope .hover\:text-foreground\/80:hover{color:#09090bcc;color:hsl(var(--semaphor-foreground) / .8)}.semaphor-scope .hover\:text-green-700:hover{--tw-text-opacity: 1;color:#15803d;color:rgba(21,128,61,var(--tw-text-opacity, 1))}.semaphor-scope .hover\:text-muted-foreground:hover{color:#71717a;color:hsl(var(--semaphor-muted-foreground))}.semaphor-scope .hover\:text-primary-foreground:hover{color:#fafafa;color:hsl(var(--semaphor-primary-foreground))}.semaphor-scope .hover\:underline:hover{text-decoration-line:underline}.semaphor-scope .hover\:opacity-100:hover{opacity:1}.semaphor-scope .focus\:bg-accent:focus{background-color:#f4f4f5;background-color:hsl(var(--semaphor-accent))}.semaphor-scope .focus\:bg-primary:focus{background-color:#18181b;background-color:hsl(var(--semaphor-primary))}.semaphor-scope .focus\:text-accent-foreground:focus{color:#18181b;color:hsl(var(--semaphor-accent-foreground))}.semaphor-scope .focus\:text-primary-foreground:focus{color:#fafafa;color:hsl(var(--semaphor-primary-foreground))}.semaphor-scope .focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.semaphor-scope .focus\:ring-0:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 rgba(0,0,0,0))}.semaphor-scope .focus\:ring-1:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 rgba(0,0,0,0))}.semaphor-scope .focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 rgba(0,0,0,0))}.semaphor-scope .focus\:ring-ring:focus{--tw-ring-color: hsl(var(--semaphor-ring))}.semaphor-scope .focus\:ring-offset-0:focus{--tw-ring-offset-width: 0px}.semaphor-scope .focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.semaphor-scope .focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.semaphor-scope .focus-visible\:ring-0:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 rgba(0,0,0,0))}.semaphor-scope .focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 rgba(0,0,0,0))}.semaphor-scope .focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 rgba(0,0,0,0))}.semaphor-scope .focus-visible\:ring-background\/75:focus-visible{--tw-ring-color: hsl(var(--semaphor-background) / .75)}.semaphor-scope .focus-visible\:ring-ring:focus-visible{--tw-ring-color: hsl(var(--semaphor-ring))}.semaphor-scope .focus-visible\:ring-offset-0:focus-visible{--tw-ring-offset-width: 0px}.semaphor-scope .focus-visible\:ring-offset-1:focus-visible{--tw-ring-offset-width: 1px}.semaphor-scope .focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.semaphor-scope .focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color: hsl(var(--semaphor-background))}.semaphor-scope .disabled\:pointer-events-none:disabled{pointer-events:none}.semaphor-scope .disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.semaphor-scope .disabled\:opacity-50:disabled{opacity:.5}.semaphor-scope .group:hover .group-hover\:visible{visibility:visible}.semaphor-scope .group:hover .group-hover\:block{display:block}.semaphor-scope .group:hover .group-hover\:border-2{border-width:2px}.semaphor-scope .group:hover .group-hover\:border-b-0{border-bottom-width:0px}.semaphor-scope .group:hover .group-hover\:border-l-0{border-left-width:0px}.semaphor-scope .group:hover .group-hover\:border-r-0{border-right-width:0px}.semaphor-scope .group:hover .group-hover\:border-t-0{border-top-width:0px}.semaphor-scope .group:hover .group-hover\:opacity-100{opacity:1}.semaphor-scope .group.toaster .group-\[\.toaster\]\:border-border{border-color:#e4e4e7;border-color:hsl(var(--semaphor-border))}.semaphor-scope .group.toast .group-\[\.toast\]\:bg-muted{background-color:#f4f4f5;background-color:hsl(var(--semaphor-muted))}.semaphor-scope .group.toast .group-\[\.toast\]\:bg-primary{background-color:#18181b;background-color:hsl(var(--semaphor-primary))}.semaphor-scope .group.toaster .group-\[\.toaster\]\:bg-background{background-color:#fff;background-color:hsl(var(--semaphor-background))}.semaphor-scope .group.toast .group-\[\.toast\]\:text-muted-foreground{color:#71717a;color:hsl(var(--semaphor-muted-foreground))}.semaphor-scope .group.toast .group-\[\.toast\]\:text-primary-foreground{color:#fafafa;color:hsl(var(--semaphor-primary-foreground))}.semaphor-scope .group.toaster .group-\[\.toaster\]\:text-foreground{color:#09090b;color:hsl(var(--semaphor-foreground))}.semaphor-scope .group.toaster .group-\[\.toaster\]\:shadow-lg{--tw-shadow: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:0 0 #0000,0 0 #0000,0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;box-shadow:var(--tw-ring-offset-shadow, 0 0 rgba(0,0,0,0)),var(--tw-ring-shadow, 0 0 rgba(0,0,0,0)),var(--tw-shadow)}.semaphor-scope .peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.semaphor-scope .peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.semaphor-scope .aria-selected\:bg-accent[aria-selected=true]{background-color:#f4f4f5;background-color:hsl(var(--semaphor-accent))}.semaphor-scope .aria-selected\:bg-accent\/50[aria-selected=true]{background-color:#f4f4f580;background-color:hsl(var(--semaphor-accent) / .5)}.semaphor-scope .aria-selected\:text-accent-foreground[aria-selected=true]{color:#18181b;color:hsl(var(--semaphor-accent-foreground))}.semaphor-scope .aria-selected\:text-muted-foreground[aria-selected=true]{color:#71717a;color:hsl(var(--semaphor-muted-foreground))}.semaphor-scope .aria-selected\:opacity-100[aria-selected=true]{opacity:1}.semaphor-scope .aria-selected\:opacity-30[aria-selected=true]{opacity:.3}.semaphor-scope .data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.semaphor-scope .data-\[panel-group-direction\=vertical\]\:h-px[data-panel-group-direction=vertical]{height:1px}.semaphor-scope .data-\[panel-group-direction\=vertical\]\:w-full[data-panel-group-direction=vertical]{width:100%}.semaphor-scope .data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y: .25rem;transform:translate(var(--tw-translate-x),.25rem) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.semaphor-scope .data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x: -.25rem;transform:translate(-.25rem,var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.semaphor-scope .data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x: .25rem;transform:translate(.25rem,var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.semaphor-scope .data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),-.25rem) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.semaphor-scope .data-\[state\=checked\]\:translate-x-4[data-state=checked]{--tw-translate-x: 1rem;transform:translate(1rem,var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.semaphor-scope .data-\[state\=checked\]\:translate-x-5[data-state=checked]{--tw-translate-x: 1.25rem;transform:translate(1.25rem,var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.semaphor-scope .data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x: 0px;transform:translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height)}to{height:0}}.semaphor-scope .data-\[state\=closed\]\:animate-accordion-up[data-state=closed]{animation:accordion-up .2s ease-out}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height)}}.semaphor-scope .data-\[state\=open\]\:animate-accordion-down[data-state=open]{animation:accordion-down .2s ease-out}.semaphor-scope .data-\[panel-group-direction\=vertical\]\:flex-col[data-panel-group-direction=vertical]{flex-direction:column}.semaphor-scope .data-\[state\=selected\]\:border-2[data-state=selected]{border-width:2px}.semaphor-scope .data-\[state\=selected\]\:border-dashed[data-state=selected]{border-style:dashed}.semaphor-scope .data-\[state\=active\]\:bg-background[data-state=active]{background-color:#fff;background-color:hsl(var(--semaphor-background))}.semaphor-scope .data-\[state\=checked\]\:bg-foreground\/50[data-state=checked]{background-color:#09090b80;background-color:hsl(var(--semaphor-foreground) / .5)}.semaphor-scope .data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:#18181b;background-color:hsl(var(--semaphor-primary))}.semaphor-scope .data-\[state\=on\]\:bg-accent[data-state=on],.semaphor-scope .data-\[state\=open\]\:bg-accent[data-state=open]{background-color:#f4f4f5;background-color:hsl(var(--semaphor-accent))}.semaphor-scope .data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:#f4f4f5;background-color:hsl(var(--semaphor-secondary))}.semaphor-scope .data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:#f4f4f5;background-color:hsl(var(--semaphor-muted))}.semaphor-scope .data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:#e4e4e7;background-color:hsl(var(--semaphor-input))}.semaphor-scope .data-\[state\=active\]\:text-foreground[data-state=active]{color:#09090b;color:hsl(var(--semaphor-foreground))}.semaphor-scope .data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:#fafafa;color:hsl(var(--semaphor-primary-foreground))}.semaphor-scope .data-\[state\=on\]\:text-accent-foreground[data-state=on]{color:#18181b;color:hsl(var(--semaphor-accent-foreground))}.semaphor-scope .data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:#71717a;color:hsl(var(--semaphor-muted-foreground))}.semaphor-scope .data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.semaphor-scope .data-\[state\=active\]\:shadow-sm[data-state=active]{--tw-shadow: 0 1px 2px 0 rgba(0, 0, 0, .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:0 0 #0000,0 0 #0000,0 1px 2px #0000000d;box-shadow:var(--tw-ring-offset-shadow, 0 0 rgba(0,0,0,0)),var(--tw-ring-shadow, 0 0 rgba(0,0,0,0)),var(--tw-shadow)}.semaphor-scope .data-\[state\=closed\]\:duration-300[data-state=closed]{transition-duration:.3s}.semaphor-scope .data-\[state\=open\]\:duration-500[data-state=open]{transition-duration:.5s}.semaphor-scope .data-\[state\=open\]\:animate-in[data-state=open]{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.semaphor-scope .data-\[state\=closed\]\:animate-out[data-state=closed]{animation-name:exit;animation-duration:.15s;--tw-exit-opacity: initial;--tw-exit-scale: initial;--tw-exit-rotate: initial;--tw-exit-translate-x: initial;--tw-exit-translate-y: initial}.semaphor-scope .data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity: 0}.semaphor-scope .data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity: 0}.semaphor-scope .data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale: .95}.semaphor-scope .data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale: .95}.semaphor-scope .data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y: -.5rem}.semaphor-scope .data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x: .5rem}.semaphor-scope .data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x: -.5rem}.semaphor-scope .data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y: .5rem}.semaphor-scope .data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y: 100%}.semaphor-scope .data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x: -100%}.semaphor-scope .data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x: -50%}.semaphor-scope .data-\[state\=closed\]\:slide-out-to-right[data-state=closed]{--tw-exit-translate-x: 100%}.semaphor-scope .data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y: -100%}.semaphor-scope .data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y: -48%}.semaphor-scope .data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y: 100%}.semaphor-scope .data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x: -100%}.semaphor-scope .data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x: -50%}.semaphor-scope .data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x: 100%}.semaphor-scope .data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y: -100%}.semaphor-scope .data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y: -48%}.semaphor-scope .data-\[state\=closed\]\:duration-300[data-state=closed]{animation-duration:.3s}.semaphor-scope .data-\[state\=open\]\:duration-500[data-state=open]{animation-duration:.5s}.semaphor-scope .data-\[panel-group-direction\=vertical\]\:after\:left-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);left:0}.semaphor-scope .data-\[panel-group-direction\=vertical\]\:after\:h-1[data-panel-group-direction=vertical]:after{content:var(--tw-content);height:.25rem}.semaphor-scope .data-\[panel-group-direction\=vertical\]\:after\:w-full[data-panel-group-direction=vertical]:after{content:var(--tw-content);width:100%}.semaphor-scope .data-\[panel-group-direction\=vertical\]\:after\:-translate-y-1\/2[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),-50%) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.semaphor-scope .data-\[panel-group-direction\=vertical\]\:after\:translate-x-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-x: 0px;transform:translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@container (min-width: 20rem){.semaphor-scope .\@xs\:flex{display:flex}}.dark .dark\:h-\[2px\]{height:2px}.dark .dark\:-rotate-90{--tw-rotate: -90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(-90deg) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark .dark\:rotate-0{--tw-rotate: 0deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(0) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark .dark\:scale-0{--tw-scale-x: 0;--tw-scale-y: 0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(0) scaleY(0);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark .dark\:scale-100{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(1) scaleY(1);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark .dark\:border-l-background{border-left-color:#fff;border-left-color:hsl(var(--semaphor-background))}@media (min-width: 640px){.semaphor-scope .sm\:mt-0{margin-top:0}.semaphor-scope .sm\:min-w-\[900px\]{min-width:900px}.semaphor-scope .sm\:max-w-\[425px\]{max-width:425px}.semaphor-scope .sm\:max-w-sm{max-width:24rem}.semaphor-scope .sm\:flex-row{flex-direction:row}.semaphor-scope .sm\:justify-end{justify-content:flex-end}.semaphor-scope .sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:0rem;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * (1 - var(--tw-space-x-reverse)));margin-left:.5rem;margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.semaphor-scope .sm\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:0rem;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * (1 - var(--tw-space-x-reverse)));margin-left:1rem;margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.semaphor-scope .sm\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0px * (1 - var(--tw-space-y-reverse)));margin-top:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:0;margin-bottom:calc(0px * var(--tw-space-y-reverse))}.semaphor-scope .sm\:rounded-lg{border-radius:.5rem;border-radius:var(--semaphor-radius)}.semaphor-scope .sm\:text-left{text-align:left}.semaphor-scope .sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width: 768px){.semaphor-scope .md\:max-h-\[700px\]{max-height:700px}.semaphor-scope .md\:min-w-\[625px\]{min-width:625px}}@media (min-width: 1024px){.semaphor-scope .lg\:min-w-\[1200px\]{min-width:1200px}}.semaphor-scope .\[\&\:has\(\[aria-selected\]\)\]\:bg-accent:has([aria-selected]){background-color:#f4f4f5;background-color:hsl(var(--semaphor-accent))}.semaphor-scope .first\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-l-md:has([aria-selected]):first-child{border-top-left-radius:calc(.5rem - 2px);border-top-left-radius:calc(var(--semaphor-radius) - 2px);border-bottom-left-radius:calc(.5rem - 2px);border-bottom-left-radius:calc(var(--semaphor-radius) - 2px)}.semaphor-scope .last\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-r-md:has([aria-selected]):last-child{border-top-right-radius:calc(.5rem - 2px);border-top-right-radius:calc(var(--semaphor-radius) - 2px);border-bottom-right-radius:calc(.5rem - 2px);border-bottom-right-radius:calc(var(--semaphor-radius) - 2px)}.semaphor-scope .\[\&\:has\(\[aria-selected\]\.day-outside\)\]\:bg-accent\/50:has([aria-selected].day-outside){background-color:#f4f4f580;background-color:hsl(var(--semaphor-accent) / .5)}.semaphor-scope .\[\&\:has\(\[aria-selected\]\.day-range-end\)\]\:rounded-r-md:has([aria-selected].day-range-end){border-top-right-radius:calc(.5rem - 2px);border-top-right-radius:calc(var(--semaphor-radius) - 2px);border-bottom-right-radius:calc(.5rem - 2px);border-bottom-right-radius:calc(var(--semaphor-radius) - 2px)}.semaphor-scope .\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.semaphor-scope .\[\&\>button\]\:hidden>button{display:none}.semaphor-scope .\[\&\>li\]\:mt-2>li{margin-top:.5rem}.semaphor-scope .\[\&\>span\]\:line-clamp-1>span{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.semaphor-scope .\[\&\>tr\]\:last\:border-b-0:last-child>tr{border-bottom-width:0px}.semaphor-scope .\[\&\[data-panel-group-direction\=vertical\]\>div\]\:rotate-90[data-panel-group-direction=vertical]>div{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(90deg) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.semaphor-scope .\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(180deg) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.semaphor-scope .\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-left:.5rem;padding-right:.5rem}.semaphor-scope .\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-top:.375rem;padding-bottom:.375rem}.semaphor-scope .\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:.75rem;line-height:1rem}.semaphor-scope .\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{font-weight:500}.semaphor-scope .\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:#71717a;color:hsl(var(--semaphor-muted-foreground))}.semaphor-scope .\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0}.semaphor-scope .\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-left:.5rem;padding-right:.5rem}.semaphor-scope .\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:1.25rem}.semaphor-scope .\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:1.25rem}.semaphor-scope .\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:3rem}.semaphor-scope .\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-left:.5rem;padding-right:.5rem}.semaphor-scope .\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-top:.75rem;padding-bottom:.75rem}.semaphor-scope .\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:1.25rem}.semaphor-scope .\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:1.25rem}.semaphor-scope .\[\&_summary\>svg\]\:open\:-rotate-180[open] summary>svg{--tw-rotate: -180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(-180deg) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.semaphor-scope .\[\&_tr\:last-child\]\:border-0 tr:last-child{border-width:0px}.semaphor-scope .\[\&_tr\]\:border-b tr{border-bottom-width:1px}
1
+ .semaphor-scope .react-grid-layout{position:relative;transition:height .2s ease}.semaphor-scope .react-grid-item{transition:all .2s ease;transition-property:left,top,width,height}.semaphor-scope .react-grid-item img{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.semaphor-scope .react-grid-item.cssTransforms{transition-property:transform,width,height}.semaphor-scope .react-grid-item.resizing{transition:none;z-index:1;will-change:width,height}.semaphor-scope .react-grid-item.react-draggable-dragging{transition:none;z-index:3;will-change:transform}.semaphor-scope .react-grid-item.dropping{visibility:hidden}.semaphor-scope .react-grid-item.react-grid-placeholder{background:red;opacity:.2;transition-duration:.1s;z-index:2;-webkit-user-select:none;-moz-user-select:none;-o-user-select:none;user-select:none}.semaphor-scope .react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.semaphor-scope .react-grid-item>.react-resizable-handle{position:absolute;width:20px;height:20px}.semaphor-scope .react-grid-item>.react-resizable-handle:after{content:"";position:absolute;right:3px;bottom:3px;width:5px;height:5px;border-right:2px solid rgba(0,0,0,.4);border-bottom:2px solid rgba(0,0,0,.4)}.semaphor-scope .react-resizable-hide>.react-resizable-handle{display:none}.semaphor-scope .react-grid-item>.react-resizable-handle.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.semaphor-scope .react-grid-item>.react-resizable-handle.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.semaphor-scope .react-grid-item>.react-resizable-handle.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.semaphor-scope .react-grid-item>.react-resizable-handle.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.semaphor-scope .react-grid-item>.react-resizable-handle.react-resizable-handle-w,.semaphor-scope .react-grid-item>.react-resizable-handle.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.semaphor-scope .react-grid-item>.react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.semaphor-scope .react-grid-item>.react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.semaphor-scope .react-grid-item>.react-resizable-handle.react-resizable-handle-n,.semaphor-scope .react-grid-item>.react-resizable-handle.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.semaphor-scope .react-grid-item>.react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.semaphor-scope .react-grid-item>.react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.semaphor-scope .react-resizable{position:relative}.semaphor-scope .react-resizable-handle{position:absolute;width:20px;height:20px;background-repeat:no-repeat;background-origin:content-box;box-sizing:border-box;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4Ij48ZyBvcGFjaXR5PSIwLjMwMiI+PHBhdGggZD0iTSA2IDYgTCAwIDYgTCAwIDQuMiBMIDQgNC4yIEwgNC4yIDQuMiBMIDQuMiAwIEwgNiAwIEwgNiA2IEwgNiA2IFoiIGZpbGw9IiMwMDAwMDAiLz48L2c+PC9zdmc+);background-position:bottom right;padding:0 3px 3px 0}.semaphor-scope .react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.semaphor-scope .react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.semaphor-scope .react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.semaphor-scope .react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.semaphor-scope .react-resizable-handle-w,.semaphor-scope .react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.semaphor-scope .react-resizable-handle-w{left:0;transform:rotate(135deg)}.semaphor-scope .react-resizable-handle-e{right:0;transform:rotate(315deg)}.semaphor-scope .react-resizable-handle-n,.semaphor-scope .react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.semaphor-scope .react-resizable-handle-n{top:0;transform:rotate(225deg)}.semaphor-scope .react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.semaphor-scope .react-resizable-handle{background-image:none!important;padding:0!important;height:10px!important;width:10px!important}.semaphor-scope .react-grid-item>.react-resizable-handle:after{border:none!important;content:none!important}.semaphor-scope .react-grid-item>.react-resizable-handle.react-resizable-handle-n,.semaphor-scope .react-grid-item>.react-resizable-handle.react-resizable-handle-e,.semaphor-scope .react-grid-item>.react-resizable-handle.react-resizable-handle-s,.semaphor-scope .react-grid-item>.react-resizable-handle.react-resizable-handle-w,.semaphor-scope .react-grid-item>.react-resizable-handle.react-resizable-handle-ne,.semaphor-scope .react-grid-item>.react-resizable-handle.react-resizable-handle-nw,.semaphor-scope .react-grid-item>.react-resizable-handle.react-resizable-handle-se,.semaphor-scope .react-grid-item>.react-resizable-handle.react-resizable-handle-sw{transform:none!important;margin:0!important}.semaphor-scope .react-grid-item.react-grid-placeholder{border-radius:1px!important;border-radius:var(--placeholder-border-radius, 1px)!important;background-color:gray!important;background-image:none!important;pointer-events:none!important}.semaphor-scope .kpi-card{container-type:inline-size}@container (inline-size < 270px){.semaphor-scope .kpi-card>div:nth-of-type(2){display:none}}@container (inline-size > 270px){.semaphor-scope .kpi-card>div:nth-of-type(2){display:flex}}.semaphor-scope *,.semaphor-scope :before,.semaphor-scope :after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgba(59, 130, 246, .5);--tw-ring-offset-shadow: 0 0 rgba(0,0,0,0);--tw-ring-shadow: 0 0 rgba(0,0,0,0);--tw-shadow: 0 0 rgba(0,0,0,0);--tw-shadow-colored: 0 0 rgba(0,0,0,0);--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.semaphor-scope ::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgba(59, 130, 246, .5);--tw-ring-offset-shadow: 0 0 rgba(0,0,0,0);--tw-ring-shadow: 0 0 rgba(0,0,0,0);--tw-shadow: 0 0 rgba(0,0,0,0);--tw-shadow-colored: 0 0 rgba(0,0,0,0);--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.semaphor-scope *,.semaphor-scope :before,.semaphor-scope :after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}.semaphor-scope :before,.semaphor-scope :after{--tw-content: ""}.semaphor-scope html,.semaphor-scope :host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}.semaphor-scope body{margin:0;line-height:inherit}.semaphor-scope hr{height:0;color:inherit;border-top-width:1px}.semaphor-scope abbr:where([title]){text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.semaphor-scope h1,.semaphor-scope h2,.semaphor-scope h3,.semaphor-scope h4,.semaphor-scope h5,.semaphor-scope h6{font-size:inherit;font-weight:inherit}.semaphor-scope a{color:inherit;text-decoration:inherit}.semaphor-scope b,.semaphor-scope strong{font-weight:bolder}.semaphor-scope code,.semaphor-scope kbd,.semaphor-scope samp,.semaphor-scope pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}.semaphor-scope small{font-size:80%}.semaphor-scope sub,.semaphor-scope sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.semaphor-scope sub{bottom:-.25em}.semaphor-scope sup{top:-.5em}.semaphor-scope table{text-indent:0;border-color:inherit;border-collapse:collapse}.semaphor-scope button,.semaphor-scope input,.semaphor-scope optgroup,.semaphor-scope select,.semaphor-scope textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}.semaphor-scope button,.semaphor-scope select{text-transform:none}.semaphor-scope button,.semaphor-scope input:where([type=button]),.semaphor-scope input:where([type=reset]),.semaphor-scope input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}.semaphor-scope :-moz-focusring{outline:auto}.semaphor-scope :-moz-ui-invalid{box-shadow:none}.semaphor-scope progress{vertical-align:baseline}.semaphor-scope ::-webkit-inner-spin-button,.semaphor-scope ::-webkit-outer-spin-button{height:auto}.semaphor-scope [type=search]{-webkit-appearance:textfield;outline-offset:-2px}.semaphor-scope ::-webkit-search-decoration{-webkit-appearance:none}.semaphor-scope ::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}.semaphor-scope summary{display:list-item}.semaphor-scope blockquote,.semaphor-scope dl,.semaphor-scope dd,.semaphor-scope h1,.semaphor-scope h2,.semaphor-scope h3,.semaphor-scope h4,.semaphor-scope h5,.semaphor-scope h6,.semaphor-scope hr,.semaphor-scope figure,.semaphor-scope p,.semaphor-scope pre{margin:0}.semaphor-scope fieldset{margin:0;padding:0}.semaphor-scope legend{padding:0}.semaphor-scope ol,.semaphor-scope ul,.semaphor-scope menu{list-style:none;margin:0;padding:0}.semaphor-scope dialog{padding:0}.semaphor-scope textarea{resize:vertical}.semaphor-scope input::-moz-placeholder,.semaphor-scope textarea::-moz-placeholder{opacity:1;color:#9ca3af}.semaphor-scope input::placeholder,.semaphor-scope textarea::placeholder{opacity:1;color:#9ca3af}.semaphor-scope button,.semaphor-scope [role=button]{cursor:pointer}.semaphor-scope :disabled{cursor:default}.semaphor-scope img,.semaphor-scope svg,.semaphor-scope video,.semaphor-scope canvas,.semaphor-scope audio,.semaphor-scope iframe,.semaphor-scope embed,.semaphor-scope object{display:block;vertical-align:middle}.semaphor-scope img,.semaphor-scope video{max-width:100%;height:auto}.semaphor-scope [hidden]:where(:not([hidden=until-found])){display:none}:root{--semaphor-background: 0 0% 100%;--semaphor-foreground: 240 10% 3.9%;--semaphor-card: 0 0% 100%;--semaphor-card-foreground: 240 10% 3.9%;--semaphor-popover: 0 0% 100%;--semaphor-popover-foreground: 240 10% 3.9%;--semaphor-primary: 240 5.9% 10%;--semaphor-primary-foreground: 0 0% 98%;--semaphor-secondary: 240 4.8% 95.9%;--semaphor-secondary-foreground: 240 5.9% 10%;--semaphor-muted: 240 4.8% 95.9%;--semaphor-muted-foreground: 240 3.8% 46.1%;--semaphor-accent: 240 4.8% 95.9%;--semaphor-accent-foreground: 240 5.9% 10%;--semaphor-destructive: 0 84.2% 60.2%;--semaphor-destructive-foreground: 0 0% 98%;--semaphor-border: 240 5.9% 90%;--semaphor-input: 240 5.9% 90%;--semaphor-ring: 240 5.9% 10%;--semaphor-radius: .5rem}.dark{--semaphor-background: 240 10% 10%;--semaphor-foreground: 0 0% 80%;--semaphor-card: 240 10% 10%;--semaphor-card-foreground: 0 0% 80%;--semaphor-popover: 240 10% 10%;--semaphor-popover-foreground: 0 0% 98%;--semaphor-primary: 0 0% 90%;--semaphor-primary-foreground: 240 5.9% 10%;--semaphor-secondary: 240 3.7% 15.9%;--semaphor-secondary-foreground: 0 0% 98%;--semaphor-muted: 240 3.7% 15.9%;--semaphor-muted-foreground: 240 5% 64.9%;--semaphor-accent: 240 3.7% 15.9%;--semaphor-accent-foreground: 0 0% 98%;--semaphor-destructive: 0 62.8% 30.6%;--semaphor-destructive-foreground: 0 0% 98%;--semaphor-border: 240 3.7% 15.9%;--semaphor-input: 240 3.7% 15.9%;--semaphor-ring: 240 4.9% 83.9%}.semaphor-scope *{border-color:#e4e4e7;border-color:hsl(var(--semaphor-border))}.semaphor-scope{background-color:#fff;background-color:hsl(var(--semaphor-background));color:#09090b;color:hsl(var(--semaphor-foreground))}.semaphor-scope .container{width:100%;margin-right:auto;margin-left:auto;padding-right:2rem;padding-left:2rem}@media (min-width: 1400px){.semaphor-scope .container{max-width:1400px}}.semaphor-scope .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.semaphor-scope .pointer-events-none{pointer-events:none}.semaphor-scope .visible{visibility:visible}.semaphor-scope .invisible{visibility:hidden}.semaphor-scope .static{position:static}.semaphor-scope .fixed{position:fixed}.semaphor-scope .absolute{position:absolute}.semaphor-scope .relative{position:relative}.semaphor-scope .sticky{position:sticky}.semaphor-scope .inset-0{top:0;right:0;bottom:0;left:0}.semaphor-scope .inset-x-0{left:0;right:0}.semaphor-scope .inset-y-0{top:0;bottom:0}.semaphor-scope .-top-\[1px\]{top:-1px}.semaphor-scope .bottom-0{bottom:0}.semaphor-scope .bottom-4{bottom:1rem}.semaphor-scope .left-0{left:0}.semaphor-scope .left-1{left:.25rem}.semaphor-scope .left-2{left:.5rem}.semaphor-scope .left-\[50\%\]{left:50%}.semaphor-scope .right-0{right:0}.semaphor-scope .right-1{right:.25rem}.semaphor-scope .right-2{right:.5rem}.semaphor-scope .right-3{right:.75rem}.semaphor-scope .right-4{right:1rem}.semaphor-scope .right-6{right:1.5rem}.semaphor-scope .top-0{top:0}.semaphor-scope .top-2{top:.5rem}.semaphor-scope .top-3{top:.75rem}.semaphor-scope .top-4{top:1rem}.semaphor-scope .top-6{top:1.5rem}.semaphor-scope .top-\[50\%\]{top:50%}.semaphor-scope .isolate{isolation:isolate}.semaphor-scope .z-10{z-index:10}.semaphor-scope .z-20{z-index:20}.semaphor-scope .z-50{z-index:50}.semaphor-scope .col-span-1{grid-column:span 1 / span 1}.semaphor-scope .col-span-2{grid-column:span 2 / span 2}.semaphor-scope .col-span-3{grid-column:span 3 / span 3}.semaphor-scope .col-span-4{grid-column:span 4 / span 4}.semaphor-scope .col-span-5{grid-column:span 5 / span 5}.semaphor-scope .col-span-6{grid-column:span 6 / span 6}.semaphor-scope .col-span-7{grid-column:span 7 / span 7}.semaphor-scope .col-start-1{grid-column-start:1}.semaphor-scope .col-start-2{grid-column-start:2}.semaphor-scope .col-start-3{grid-column-start:3}.semaphor-scope .float-right{float:right}.semaphor-scope .float-left{float:left}.semaphor-scope .m-1{margin:.25rem}.semaphor-scope .m-1\.5{margin:.375rem}.semaphor-scope .m-2{margin:.5rem}.semaphor-scope .m-4{margin:1rem}.semaphor-scope .m-auto{margin:auto}.semaphor-scope .-mx-1{margin-left:-.25rem;margin-right:-.25rem}.semaphor-scope .mx-0{margin-left:0;margin-right:0}.semaphor-scope .mx-1{margin-left:.25rem;margin-right:.25rem}.semaphor-scope .mx-14{margin-left:3.5rem;margin-right:3.5rem}.semaphor-scope .mx-2{margin-left:.5rem;margin-right:.5rem}.semaphor-scope .mx-3{margin-left:.75rem;margin-right:.75rem}.semaphor-scope .mx-6{margin-left:1.5rem;margin-right:1.5rem}.semaphor-scope .mx-auto{margin-left:auto;margin-right:auto}.semaphor-scope .my-1{margin-top:.25rem;margin-bottom:.25rem}.semaphor-scope .my-2{margin-top:.5rem;margin-bottom:.5rem}.semaphor-scope .my-3{margin-top:.75rem;margin-bottom:.75rem}.semaphor-scope .my-4{margin-top:1rem;margin-bottom:1rem}.semaphor-scope .my-6{margin-top:1.5rem;margin-bottom:1.5rem}.semaphor-scope .mb-0{margin-bottom:0}.semaphor-scope .mb-1{margin-bottom:.25rem}.semaphor-scope .mb-2{margin-bottom:.5rem}.semaphor-scope .mb-3{margin-bottom:.75rem}.semaphor-scope .ml-0\.5{margin-left:.125rem}.semaphor-scope .ml-1{margin-left:.25rem}.semaphor-scope .ml-2{margin-left:.5rem}.semaphor-scope .ml-3{margin-left:.75rem}.semaphor-scope .ml-6{margin-left:1.5rem}.semaphor-scope .ml-\[1px\]{margin-left:1px}.semaphor-scope .ml-auto{margin-left:auto}.semaphor-scope .mr-1{margin-right:.25rem}.semaphor-scope .mr-2{margin-right:.5rem}.semaphor-scope .mt-0{margin-top:0}.semaphor-scope .mt-1{margin-top:.25rem}.semaphor-scope .mt-2{margin-top:.5rem}.semaphor-scope .mt-4{margin-top:1rem}.semaphor-scope .block{display:block}.semaphor-scope .inline-block{display:inline-block}.semaphor-scope .inline{display:inline}.semaphor-scope .flex{display:flex}.semaphor-scope .inline-flex{display:inline-flex}.semaphor-scope .\!table{display:table!important}.semaphor-scope .table{display:table}.semaphor-scope .grid{display:grid}.semaphor-scope .contents{display:contents}.semaphor-scope .hidden{display:none}.semaphor-scope .aspect-square{aspect-ratio:1 / 1}.semaphor-scope .size-3{width:.75rem;height:.75rem}.semaphor-scope .size-3\.5{width:.875rem;height:.875rem}.semaphor-scope .size-4{width:1rem;height:1rem}.semaphor-scope .size-5{width:1.25rem;height:1.25rem}.semaphor-scope .size-6{width:1.5rem;height:1.5rem}.semaphor-scope .size-7{width:1.75rem;height:1.75rem}.semaphor-scope .size-8{width:2rem;height:2rem}.semaphor-scope .h-0{height:0px}.semaphor-scope .h-1{height:.25rem}.semaphor-scope .h-10{height:2.5rem}.semaphor-scope .h-11{height:2.75rem}.semaphor-scope .h-12{height:3rem}.semaphor-scope .h-2{height:.5rem}.semaphor-scope .h-2\.5{height:.625rem}.semaphor-scope .h-24{height:6rem}.semaphor-scope .h-3{height:.75rem}.semaphor-scope .h-3\.5{height:.875rem}.semaphor-scope .h-4{height:1rem}.semaphor-scope .h-5{height:1.25rem}.semaphor-scope .h-6{height:1.5rem}.semaphor-scope .h-7{height:1.75rem}.semaphor-scope .h-8{height:2rem}.semaphor-scope .h-9{height:2.25rem}.semaphor-scope .h-\[14px\]{height:14px}.semaphor-scope .h-\[1px\]{height:1px}.semaphor-scope .h-\[300px\]{height:300px}.semaphor-scope .h-\[34px\]{height:34px}.semaphor-scope .h-\[350px\]{height:350px}.semaphor-scope .h-\[550px\]{height:550px}.semaphor-scope .h-\[62vh\]{height:62vh}.semaphor-scope .h-\[700px\]{height:700px}.semaphor-scope .h-\[75vh\]{height:75vh}.semaphor-scope .h-\[95\%\]{height:95%}.semaphor-scope .h-\[99\%\]{height:99%}.semaphor-scope .h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.semaphor-scope .h-fit{height:-moz-fit-content;height:fit-content}.semaphor-scope .h-full{height:100%}.semaphor-scope .h-px{height:1px}.semaphor-scope .h-screen{height:100vh}.semaphor-scope .max-h-0{max-height:0px}.semaphor-scope .max-h-11{max-height:2.75rem}.semaphor-scope .max-h-60{max-height:15rem}.semaphor-scope .max-h-96{max-height:24rem}.semaphor-scope .max-h-\[125px\]{max-height:125px}.semaphor-scope .max-h-\[150px\]{max-height:150px}.semaphor-scope .max-h-\[250px\]{max-height:250px}.semaphor-scope .max-h-\[300px\]{max-height:300px}.semaphor-scope .max-h-\[70vh\]{max-height:70vh}.semaphor-scope .min-h-0{min-height:0px}.semaphor-scope .min-h-10{min-height:2.5rem}.semaphor-scope .min-h-11{min-height:2.75rem}.semaphor-scope .min-h-7{min-height:1.75rem}.semaphor-scope .min-h-\[220px\]{min-height:220px}.semaphor-scope .min-h-\[250px\]{min-height:250px}.semaphor-scope .min-h-\[500px\]{min-height:500px}.semaphor-scope .min-h-\[70vh\]{min-height:70vh}.semaphor-scope .min-h-\[80px\]{min-height:80px}.semaphor-scope .min-h-fit{min-height:-moz-fit-content;min-height:fit-content}.semaphor-scope .min-h-screen{min-height:100vh}.semaphor-scope .w-1\/2{width:50%}.semaphor-scope .w-1\/3{width:33.333333%}.semaphor-scope .w-10{width:2.5rem}.semaphor-scope .w-11{width:2.75rem}.semaphor-scope .w-2{width:.5rem}.semaphor-scope .w-2\.5{width:.625rem}.semaphor-scope .w-20{width:5rem}.semaphor-scope .w-3{width:.75rem}.semaphor-scope .w-3\.5{width:.875rem}.semaphor-scope .w-3\/4{width:75%}.semaphor-scope .w-4{width:1rem}.semaphor-scope .w-40{width:10rem}.semaphor-scope .w-5{width:1.25rem}.semaphor-scope .w-60{width:15rem}.semaphor-scope .w-64{width:16rem}.semaphor-scope .w-7{width:1.75rem}.semaphor-scope .w-72{width:18rem}.semaphor-scope .w-8{width:2rem}.semaphor-scope .w-80{width:20rem}.semaphor-scope .w-9{width:2.25rem}.semaphor-scope .w-\[14px\]{width:14px}.semaphor-scope .w-\[180px\]{width:180px}.semaphor-scope .w-\[1px\]{width:1px}.semaphor-scope .w-\[200px\]{width:200px}.semaphor-scope .w-\[250px\]{width:250px}.semaphor-scope .w-\[300px\]{width:300px}.semaphor-scope .w-\[600px\]{width:600px}.semaphor-scope .w-\[99\%\]{width:99%}.semaphor-scope .w-\[99\.5\%\]{width:99.5%}.semaphor-scope .w-auto{width:auto}.semaphor-scope .w-fit{width:-moz-fit-content;width:fit-content}.semaphor-scope .w-full{width:100%}.semaphor-scope .w-px{width:1px}.semaphor-scope .min-w-0{min-width:0px}.semaphor-scope .min-w-14{min-width:3.5rem}.semaphor-scope .min-w-\[250px\]{min-width:250px}.semaphor-scope .min-w-\[275px\]{min-width:275px}.semaphor-scope .min-w-\[320px\]{min-width:320px}.semaphor-scope .min-w-\[350px\]{min-width:350px}.semaphor-scope .min-w-\[8rem\]{min-width:8rem}.semaphor-scope .min-w-\[900px\]{min-width:900px}.semaphor-scope .min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.semaphor-scope .min-w-fit{min-width:-moz-fit-content;min-width:fit-content}.semaphor-scope .min-w-full{min-width:100%}.semaphor-scope .max-w-\[1500px\]{max-width:1500px}.semaphor-scope .max-w-\[200px\]{max-width:200px}.semaphor-scope .max-w-\[700px\]{max-width:700px}.semaphor-scope .max-w-fit{max-width:-moz-fit-content;max-width:fit-content}.semaphor-scope .max-w-lg{max-width:32rem}.semaphor-scope .flex-1{flex:1 1 0%}.semaphor-scope .shrink{flex-shrink:1}.semaphor-scope .shrink-0{flex-shrink:0}.semaphor-scope .flex-grow,.semaphor-scope .grow{flex-grow:1}.semaphor-scope .basis-0{flex-basis:0px}.semaphor-scope .caption-bottom{caption-side:bottom}.semaphor-scope .border-collapse{border-collapse:collapse}.semaphor-scope .translate-x-\[-50\%\]{--tw-translate-x: -50%;transform:translate(-50%,var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.semaphor-scope .translate-y-\[-50\%\]{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),-50%) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.semaphor-scope .rotate-0{--tw-rotate: 0deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(0) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.semaphor-scope .rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(180deg) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.semaphor-scope .rotate-90{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(90deg) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.semaphor-scope .rotate-\[135deg\]{--tw-rotate: 135deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(135deg) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.semaphor-scope .scale-0{--tw-scale-x: 0;--tw-scale-y: 0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(0) scaleY(0);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.semaphor-scope .scale-100{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(1) scaleY(1);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.semaphor-scope .transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.semaphor-scope .animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.semaphor-scope .animate-spin{animation:spin 1s linear infinite}.semaphor-scope .cursor-default{cursor:default}.semaphor-scope .cursor-pointer{cursor:pointer}.semaphor-scope .cursor-text{cursor:text}.semaphor-scope .touch-none{touch-action:none}.semaphor-scope .select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.semaphor-scope .resize-none{resize:none}.semaphor-scope .resize{resize:both}.semaphor-scope .list-inside{list-style-position:inside}.semaphor-scope .list-disc{list-style-type:disc}.semaphor-scope .list-none{list-style-type:none}.semaphor-scope .grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.semaphor-scope .grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.semaphor-scope .grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.semaphor-scope .grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.semaphor-scope .grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.semaphor-scope .grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.semaphor-scope .grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.semaphor-scope .grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.semaphor-scope .flex-row{flex-direction:row}.semaphor-scope .flex-col{flex-direction:column}.semaphor-scope .flex-col-reverse{flex-direction:column-reverse}.semaphor-scope .flex-wrap{flex-wrap:wrap}.semaphor-scope .place-items-center{align-items:center;justify-items:center;place-items:center}.semaphor-scope .items-start{align-items:flex-start}.semaphor-scope .items-end{align-items:flex-end}.semaphor-scope .items-center{align-items:center}.semaphor-scope .justify-start{justify-content:flex-start}.semaphor-scope .justify-end{justify-content:flex-end}.semaphor-scope .justify-center{justify-content:center}.semaphor-scope .justify-between{justify-content:space-between}.semaphor-scope .gap-0{gap:0px}.semaphor-scope .gap-1{gap:.25rem}.semaphor-scope .gap-1\.5{gap:.375rem}.semaphor-scope .gap-2{gap:.5rem}.semaphor-scope .gap-3{gap:.75rem}.semaphor-scope .gap-4{gap:1rem}.semaphor-scope .gap-5{gap:1.25rem}.semaphor-scope .space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:0rem;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * (1 - var(--tw-space-x-reverse)));margin-left:.25rem;margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.semaphor-scope .space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:0rem;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * (1 - var(--tw-space-x-reverse)));margin-left:.5rem;margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.semaphor-scope .space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:0rem;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * (1 - var(--tw-space-x-reverse)));margin-left:.75rem;margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.semaphor-scope .space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:0rem;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * (1 - var(--tw-space-x-reverse)));margin-left:1rem;margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.semaphor-scope .space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * (1 - var(--tw-space-y-reverse)));margin-top:.25rem;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:0rem;margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.semaphor-scope .space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * (1 - var(--tw-space-y-reverse)));margin-top:.375rem;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:0rem;margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.semaphor-scope .space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * (1 - var(--tw-space-y-reverse)));margin-top:.5rem;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:0rem;margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.semaphor-scope .space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * (1 - var(--tw-space-y-reverse)));margin-top:.75rem;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:0rem;margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.semaphor-scope .space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * (1 - var(--tw-space-y-reverse)));margin-top:1rem;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:0rem;margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.semaphor-scope .space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * (1 - var(--tw-space-y-reverse)));margin-top:1.5rem;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:0rem;margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.semaphor-scope .self-start{align-self:flex-start}.semaphor-scope .self-baseline{align-self:baseline}.semaphor-scope .overflow-auto{overflow:auto}.semaphor-scope .overflow-hidden{overflow:hidden}.semaphor-scope .overflow-scroll{overflow:scroll}.semaphor-scope .overflow-x-auto{overflow-x:auto}.semaphor-scope .overflow-y-auto{overflow-y:auto}.semaphor-scope .overflow-x-hidden{overflow-x:hidden}.semaphor-scope .overflow-x-scroll{overflow-x:scroll}.semaphor-scope .overflow-y-scroll{overflow-y:scroll}.semaphor-scope .whitespace-normal{white-space:normal}.semaphor-scope .whitespace-nowrap{white-space:nowrap}.semaphor-scope .whitespace-pre-line{white-space:pre-line}.semaphor-scope .whitespace-pre-wrap{white-space:pre-wrap}.semaphor-scope .break-words{word-wrap:break-word}.semaphor-scope .rounded{border-radius:.25rem}.semaphor-scope .rounded-\[inherit\]{border-radius:inherit}.semaphor-scope .rounded-full{border-radius:9999px}.semaphor-scope .rounded-lg{border-radius:.5rem;border-radius:var(--semaphor-radius)}.semaphor-scope .rounded-md{border-radius:calc(.5rem - 2px);border-radius:calc(var(--semaphor-radius) - 2px)}.semaphor-scope .rounded-none{border-radius:0}.semaphor-scope .rounded-sm{border-radius:calc(.5rem - 4px);border-radius:calc(var(--semaphor-radius) - 4px)}.semaphor-scope .rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.semaphor-scope .rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.semaphor-scope .rounded-bl-md{border-bottom-left-radius:calc(.5rem - 2px);border-bottom-left-radius:calc(var(--semaphor-radius) - 2px)}.semaphor-scope .rounded-bl-none{border-bottom-left-radius:0}.semaphor-scope .rounded-br-md{border-bottom-right-radius:calc(.5rem - 2px);border-bottom-right-radius:calc(var(--semaphor-radius) - 2px)}.semaphor-scope .rounded-br-none{border-bottom-right-radius:0}.semaphor-scope .rounded-tl-md{border-top-left-radius:calc(.5rem - 2px);border-top-left-radius:calc(var(--semaphor-radius) - 2px)}.semaphor-scope .rounded-tl-none{border-top-left-radius:0}.semaphor-scope .rounded-tr-md{border-top-right-radius:calc(.5rem - 2px);border-top-right-radius:calc(var(--semaphor-radius) - 2px)}.semaphor-scope .rounded-tr-none{border-top-right-radius:0}.semaphor-scope .border{border-width:1px}.semaphor-scope .border-2{border-width:2px}.semaphor-scope .border-x{border-left-width:1px;border-right-width:1px}.semaphor-scope .border-y{border-top-width:1px;border-bottom-width:1px}.semaphor-scope .border-b{border-bottom-width:1px}.semaphor-scope .border-b-0{border-bottom-width:0px}.semaphor-scope .border-b-2{border-bottom-width:2px}.semaphor-scope .border-l{border-left-width:1px}.semaphor-scope .border-r{border-right-width:1px}.semaphor-scope .border-r-\[1\.5px\]{border-right-width:1.5px}.semaphor-scope .border-t{border-top-width:1px}.semaphor-scope .border-t-0{border-top-width:0px}.semaphor-scope .border-dashed{border-style:dashed}.semaphor-scope .border-none{border-style:none}.semaphor-scope .border-background{border-color:#fff;border-color:hsl(var(--semaphor-background))}.semaphor-scope .border-border{border-color:#e4e4e7;border-color:hsl(var(--semaphor-border))}.semaphor-scope .border-foreground\/40{border-color:#09090b66;border-color:hsl(var(--semaphor-foreground) / .4)}.semaphor-scope .border-foreground\/50{border-color:#09090b80;border-color:hsl(var(--semaphor-foreground) / .5)}.semaphor-scope .border-input{border-color:#e4e4e7;border-color:hsl(var(--semaphor-input))}.semaphor-scope .border-muted{border-color:#f4f4f5;border-color:hsl(var(--semaphor-muted))}.semaphor-scope .border-muted-foreground{border-color:#71717a;border-color:hsl(var(--semaphor-muted-foreground))}.semaphor-scope .border-muted-foreground\/50{border-color:#71717a80;border-color:hsl(var(--semaphor-muted-foreground) / .5)}.semaphor-scope .border-primary{border-color:#18181b;border-color:hsl(var(--semaphor-primary))}.semaphor-scope .border-red-400{--tw-border-opacity: 1;border-color:#f87171;border-color:rgba(248,113,113,var(--tw-border-opacity, 1))}.semaphor-scope .border-red-700{--tw-border-opacity: 1;border-color:#b91c1c;border-color:rgba(185,28,28,var(--tw-border-opacity, 1))}.semaphor-scope .border-transparent{border-color:transparent}.semaphor-scope .border-b-muted{border-bottom-color:#f4f4f5;border-bottom-color:hsl(var(--semaphor-muted))}.semaphor-scope .border-l-transparent{border-left-color:transparent}.semaphor-scope .border-t-transparent{border-top-color:transparent}.semaphor-scope .bg-accent{background-color:#f4f4f5;background-color:hsl(var(--semaphor-accent))}.semaphor-scope .bg-background{background-color:#fff;background-color:hsl(var(--semaphor-background))}.semaphor-scope .bg-background\/80{background-color:#fffc;background-color:hsl(var(--semaphor-background) / .8)}.semaphor-scope .bg-black\/80{background-color:#000c}.semaphor-scope .bg-blue-300{--tw-bg-opacity: 1;background-color:#93c5fd;background-color:rgba(147,197,253,var(--tw-bg-opacity, 1))}.semaphor-scope .bg-border{background-color:#e4e4e7;background-color:hsl(var(--semaphor-border))}.semaphor-scope .bg-card{background-color:#fff;background-color:hsl(var(--semaphor-card))}.semaphor-scope .bg-destructive{background-color:#ef4343;background-color:hsl(var(--semaphor-destructive))}.semaphor-scope .bg-destructive\/10{background-color:#ef43431a;background-color:hsl(var(--semaphor-destructive) / .1)}.semaphor-scope .bg-foreground\/10{background-color:#09090b1a;background-color:hsl(var(--semaphor-foreground) / .1)}.semaphor-scope .bg-green-100{--tw-bg-opacity: 1;background-color:#dcfce7;background-color:rgba(220,252,231,var(--tw-bg-opacity, 1))}.semaphor-scope .bg-green-200{--tw-bg-opacity: 1;background-color:#bbf7d0;background-color:rgba(187,247,208,var(--tw-bg-opacity, 1))}.semaphor-scope .bg-green-500{--tw-bg-opacity: 1;background-color:#22c55e;background-color:rgba(34,197,94,var(--tw-bg-opacity, 1))}.semaphor-scope .bg-green-600\/10{background-color:#16a34a1a}.semaphor-scope .bg-muted{background-color:#f4f4f5;background-color:hsl(var(--semaphor-muted))}.semaphor-scope .bg-muted-foreground{background-color:#71717a;background-color:hsl(var(--semaphor-muted-foreground))}.semaphor-scope .bg-muted\/50{background-color:#f4f4f580;background-color:hsl(var(--semaphor-muted) / .5)}.semaphor-scope .bg-muted\/70{background-color:#f4f4f5b3;background-color:hsl(var(--semaphor-muted) / .7)}.semaphor-scope .bg-popover{background-color:#fff;background-color:hsl(var(--semaphor-popover))}.semaphor-scope .bg-primary{background-color:#18181b;background-color:hsl(var(--semaphor-primary))}.semaphor-scope .bg-primary-foreground\/20{background-color:#fafafa33;background-color:hsl(var(--semaphor-primary-foreground) / .2)}.semaphor-scope .bg-red-100{--tw-bg-opacity: 1;background-color:#fee2e2;background-color:rgba(254,226,226,var(--tw-bg-opacity, 1))}.semaphor-scope .bg-red-500{--tw-bg-opacity: 1;background-color:#ef4444;background-color:rgba(239,68,68,var(--tw-bg-opacity, 1))}.semaphor-scope .bg-secondary{background-color:#f4f4f5;background-color:hsl(var(--semaphor-secondary))}.semaphor-scope .bg-transparent{background-color:transparent}.semaphor-scope .bg-\[repeating-linear-gradient\(45deg\,_\#18171d_0_3px\,_\#272729_3px_6px\)\]{background-image:repeating-linear-gradient(45deg,#18171d 0,#18171d 3px,#272729 3px,#272729 6px)}.semaphor-scope .bg-\[repeating-linear-gradient\(45deg\,_\#ffffff_0_3px\,_\#f3f3f3_3px_6px\)\]{background-image:repeating-linear-gradient(45deg,#fff 0,#fff 3px,#f3f3f3 3px,#f3f3f3 6px)}.semaphor-scope .fill-current{fill:currentColor}.semaphor-scope .p-0{padding:0}.semaphor-scope .p-0\.5{padding:.125rem}.semaphor-scope .p-1{padding:.25rem}.semaphor-scope .p-10{padding:2.5rem}.semaphor-scope .p-2{padding:.5rem}.semaphor-scope .p-2\.5{padding:.625rem}.semaphor-scope .p-3{padding:.75rem}.semaphor-scope .p-4{padding:1rem}.semaphor-scope .p-5{padding:1.25rem}.semaphor-scope .p-6{padding:1.5rem}.semaphor-scope .p-\[1px\]{padding:1px}.semaphor-scope .px-0{padding-left:0;padding-right:0}.semaphor-scope .px-0\.5{padding-left:.125rem;padding-right:.125rem}.semaphor-scope .px-1{padding-left:.25rem;padding-right:.25rem}.semaphor-scope .px-2{padding-left:.5rem;padding-right:.5rem}.semaphor-scope .px-2\.5{padding-left:.625rem;padding-right:.625rem}.semaphor-scope .px-3{padding-left:.75rem;padding-right:.75rem}.semaphor-scope .px-4{padding-left:1rem;padding-right:1rem}.semaphor-scope .px-5{padding-left:1.25rem;padding-right:1.25rem}.semaphor-scope .px-6{padding-left:1.5rem;padding-right:1.5rem}.semaphor-scope .px-8{padding-left:2rem;padding-right:2rem}.semaphor-scope .py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.semaphor-scope .py-1{padding-top:.25rem;padding-bottom:.25rem}.semaphor-scope .py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.semaphor-scope .py-2{padding-top:.5rem;padding-bottom:.5rem}.semaphor-scope .py-3{padding-top:.75rem;padding-bottom:.75rem}.semaphor-scope .py-4{padding-top:1rem;padding-bottom:1rem}.semaphor-scope .py-6{padding-top:1.5rem;padding-bottom:1.5rem}.semaphor-scope .py-\[6px\]{padding-top:6px;padding-bottom:6px}.semaphor-scope .pb-0\.5{padding-bottom:.125rem}.semaphor-scope .pb-1{padding-bottom:.25rem}.semaphor-scope .pb-3{padding-bottom:.75rem}.semaphor-scope .pb-4{padding-bottom:1rem}.semaphor-scope .pb-6{padding-bottom:1.5rem}.semaphor-scope .pl-1{padding-left:.25rem}.semaphor-scope .pl-10{padding-left:2.5rem}.semaphor-scope .pl-2{padding-left:.5rem}.semaphor-scope .pl-3{padding-left:.75rem}.semaphor-scope .pl-4{padding-left:1rem}.semaphor-scope .pl-8{padding-left:2rem}.semaphor-scope .pr-1{padding-right:.25rem}.semaphor-scope .pr-10{padding-right:2.5rem}.semaphor-scope .pr-2{padding-right:.5rem}.semaphor-scope .pr-3{padding-right:.75rem}.semaphor-scope .pr-4{padding-right:1rem}.semaphor-scope .pt-0{padding-top:0}.semaphor-scope .pt-1{padding-top:.25rem}.semaphor-scope .pt-2{padding-top:.5rem}.semaphor-scope .pt-3{padding-top:.75rem}.semaphor-scope .pt-6{padding-top:1.5rem}.semaphor-scope .pt-8{padding-top:2rem}.semaphor-scope .text-left{text-align:left}.semaphor-scope .text-center{text-align:center}.semaphor-scope .text-right{text-align:right}.semaphor-scope .align-middle{vertical-align:middle}.semaphor-scope .font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.semaphor-scope .text-2xl{font-size:1.5rem;line-height:2rem}.semaphor-scope .text-3xl{font-size:1.875rem;line-height:2.25rem}.semaphor-scope .text-\[0\.8rem\]{font-size:.8rem}.semaphor-scope .text-base{font-size:1rem;line-height:1.5rem}.semaphor-scope .text-lg{font-size:1.125rem;line-height:1.75rem}.semaphor-scope .text-sm{font-size:.875rem;line-height:1.25rem}.semaphor-scope .text-xl{font-size:1.25rem;line-height:1.75rem}.semaphor-scope .text-xs{font-size:.75rem;line-height:1rem}.semaphor-scope .font-bold{font-weight:700}.semaphor-scope .font-medium{font-weight:500}.semaphor-scope .font-normal{font-weight:400}.semaphor-scope .font-semibold{font-weight:600}.semaphor-scope .uppercase{text-transform:uppercase}.semaphor-scope .lowercase{text-transform:lowercase}.semaphor-scope .capitalize{text-transform:capitalize}.semaphor-scope .italic{font-style:italic}.semaphor-scope .leading-5{line-height:1.25rem}.semaphor-scope .leading-none{line-height:1}.semaphor-scope .leading-relaxed{line-height:1.625}.semaphor-scope .tracking-tight{letter-spacing:-.025em}.semaphor-scope .tracking-wide{letter-spacing:.025em}.semaphor-scope .tracking-widest{letter-spacing:.1em}.semaphor-scope .text-accent-foreground{color:#18181b;color:hsl(var(--semaphor-accent-foreground))}.semaphor-scope .text-background{color:#fff;color:hsl(var(--semaphor-background))}.semaphor-scope .text-black{--tw-text-opacity: 1;color:#000;color:rgba(0,0,0,var(--tw-text-opacity, 1))}.semaphor-scope .text-blue-500{--tw-text-opacity: 1;color:#3b82f6;color:rgba(59,130,246,var(--tw-text-opacity, 1))}.semaphor-scope .text-blue-700{--tw-text-opacity: 1;color:#1d4ed8;color:rgba(29,78,216,var(--tw-text-opacity, 1))}.semaphor-scope .text-card{color:#fff;color:hsl(var(--semaphor-card))}.semaphor-scope .text-card-foreground{color:#09090b;color:hsl(var(--semaphor-card-foreground))}.semaphor-scope .text-current{color:currentColor}.semaphor-scope .text-destructive{color:#ef4343;color:hsl(var(--semaphor-destructive))}.semaphor-scope .text-destructive-foreground{color:#fafafa;color:hsl(var(--semaphor-destructive-foreground))}.semaphor-scope .text-foreground{color:#09090b;color:hsl(var(--semaphor-foreground))}.semaphor-scope .text-foreground\/30{color:#09090b4d;color:hsl(var(--semaphor-foreground) / .3)}.semaphor-scope .text-foreground\/40{color:#09090b66;color:hsl(var(--semaphor-foreground) / .4)}.semaphor-scope .text-foreground\/50{color:#09090b80;color:hsl(var(--semaphor-foreground) / .5)}.semaphor-scope .text-foreground\/70{color:#09090bb3;color:hsl(var(--semaphor-foreground) / .7)}.semaphor-scope .text-foreground\/80{color:#09090bcc;color:hsl(var(--semaphor-foreground) / .8)}.semaphor-scope .text-foreground\/90{color:#09090be6;color:hsl(var(--semaphor-foreground) / .9)}.semaphor-scope .text-foreground\/95{color:#09090bf2;color:hsl(var(--semaphor-foreground) / .95)}.semaphor-scope .text-gray-400{--tw-text-opacity: 1;color:#9ca3af;color:rgba(156,163,175,var(--tw-text-opacity, 1))}.semaphor-scope .text-gray-700{--tw-text-opacity: 1;color:#374151;color:rgba(55,65,81,var(--tw-text-opacity, 1))}.semaphor-scope .text-gray-900{--tw-text-opacity: 1;color:#111827;color:rgba(17,24,39,var(--tw-text-opacity, 1))}.semaphor-scope .text-green-400{--tw-text-opacity: 1;color:#4ade80;color:rgba(74,222,128,var(--tw-text-opacity, 1))}.semaphor-scope .text-green-500{--tw-text-opacity: 1;color:#22c55e;color:rgba(34,197,94,var(--tw-text-opacity, 1))}.semaphor-scope .text-green-600{--tw-text-opacity: 1;color:#16a34a;color:rgba(22,163,74,var(--tw-text-opacity, 1))}.semaphor-scope .text-muted{color:#f4f4f5;color:hsl(var(--semaphor-muted))}.semaphor-scope .text-muted-foreground{color:#71717a;color:hsl(var(--semaphor-muted-foreground))}.semaphor-scope .text-muted-foreground\/40{color:#71717a66;color:hsl(var(--semaphor-muted-foreground) / .4)}.semaphor-scope .text-muted-foreground\/70{color:#71717ab3;color:hsl(var(--semaphor-muted-foreground) / .7)}.semaphor-scope .text-popover-foreground{color:#09090b;color:hsl(var(--semaphor-popover-foreground))}.semaphor-scope .text-primary{color:#18181b;color:hsl(var(--semaphor-primary))}.semaphor-scope .text-primary-foreground{color:#fafafa;color:hsl(var(--semaphor-primary-foreground))}.semaphor-scope .text-red-500{--tw-text-opacity: 1;color:#ef4444;color:rgba(239,68,68,var(--tw-text-opacity, 1))}.semaphor-scope .text-secondary-foreground{color:#18181b;color:hsl(var(--semaphor-secondary-foreground))}.semaphor-scope .text-yellow-700{--tw-text-opacity: 1;color:#a16207;color:rgba(161,98,7,var(--tw-text-opacity, 1))}.semaphor-scope .underline{text-decoration-line:underline}.semaphor-scope .underline-offset-4{text-underline-offset:4px}.semaphor-scope .opacity-0{opacity:0}.semaphor-scope .opacity-10{opacity:.1}.semaphor-scope .opacity-100{opacity:1}.semaphor-scope .opacity-50{opacity:.5}.semaphor-scope .opacity-60{opacity:.6}.semaphor-scope .opacity-70{opacity:.7}.semaphor-scope .shadow-lg{--tw-shadow: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:0 0 #0000,0 0 #0000,0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;box-shadow:var(--tw-ring-offset-shadow, 0 0 rgba(0,0,0,0)),var(--tw-ring-shadow, 0 0 rgba(0,0,0,0)),var(--tw-shadow)}.semaphor-scope .shadow-md{--tw-shadow: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:0 0 #0000,0 0 #0000,0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;box-shadow:var(--tw-ring-offset-shadow, 0 0 rgba(0,0,0,0)),var(--tw-ring-shadow, 0 0 rgba(0,0,0,0)),var(--tw-shadow)}.semaphor-scope .shadow-none{--tw-shadow: 0 0 rgba(0,0,0,0);--tw-shadow-colored: 0 0 rgba(0,0,0,0);box-shadow:0 0 #0000,0 0 #0000,0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 rgba(0,0,0,0)),var(--tw-ring-shadow, 0 0 rgba(0,0,0,0)),var(--tw-shadow)}.semaphor-scope .shadow-sm{--tw-shadow: 0 1px 2px 0 rgba(0, 0, 0, .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:0 0 #0000,0 0 #0000,0 1px 2px #0000000d;box-shadow:var(--tw-ring-offset-shadow, 0 0 rgba(0,0,0,0)),var(--tw-ring-shadow, 0 0 rgba(0,0,0,0)),var(--tw-shadow)}.semaphor-scope .outline-none{outline:2px solid transparent;outline-offset:2px}.semaphor-scope .outline{outline-style:solid}.semaphor-scope .outline-dashed{outline-style:dashed}.semaphor-scope .outline-1{outline-width:1px}.semaphor-scope .outline-\[0\.5px\]{outline-width:.5px}.semaphor-scope .outline-green-400{outline-color:#4ade80}.semaphor-scope .outline-primary\/50{outline-color:#18181b80;outline-color:hsl(var(--semaphor-primary) / .5)}.semaphor-scope .ring-0{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 rgba(0,0,0,0))}.semaphor-scope .ring-offset-background{--tw-ring-offset-color: hsl(var(--semaphor-background))}.semaphor-scope .blur{--tw-blur: blur(8px);filter:blur(8px) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.semaphor-scope .\!filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.semaphor-scope .filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.semaphor-scope .backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:blur(4px) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:blur(4px) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.semaphor-scope .transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.semaphor-scope .transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.semaphor-scope .transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.semaphor-scope .transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.semaphor-scope .transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.semaphor-scope .duration-100{transition-duration:.1s}.semaphor-scope .duration-200{transition-duration:.2s}.semaphor-scope .ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.semaphor-scope .ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}@keyframes enter{0%{opacity:1;opacity:var(--tw-enter-opacity, 1);transform:translateZ(0) scaleZ(1) rotate(0);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:1;opacity:var(--tw-exit-opacity, 1);transform:translateZ(0) scaleZ(1) rotate(0);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.semaphor-scope .animate-in{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.semaphor-scope .fade-in-0{--tw-enter-opacity: 0}.semaphor-scope .zoom-in-95{--tw-enter-scale: .95}.semaphor-scope .duration-100{animation-duration:.1s}.semaphor-scope .duration-200{animation-duration:.2s}.semaphor-scope .ease-in{animation-timing-function:cubic-bezier(.4,0,1,1)}.semaphor-scope .ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.semaphor-scope .running{animation-play-state:running}.semaphor-scope .\@container{container-type:inline-size}.semaphor-scope .file\:border-0::file-selector-button{border-width:0px}.semaphor-scope .file\:bg-transparent::file-selector-button{background-color:transparent}.semaphor-scope .file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.semaphor-scope .file\:font-medium::file-selector-button{font-weight:500}.semaphor-scope .placeholder\:text-muted-foreground::-moz-placeholder{color:#71717a;color:hsl(var(--semaphor-muted-foreground))}.semaphor-scope .placeholder\:text-muted-foreground::placeholder{color:#71717a;color:hsl(var(--semaphor-muted-foreground))}.semaphor-scope .after\:absolute:after{content:var(--tw-content);position:absolute}.semaphor-scope .after\:inset-y-0:after{content:var(--tw-content);top:0;bottom:0}.semaphor-scope .after\:left-1\/2:after{content:var(--tw-content);left:50%}.semaphor-scope .after\:w-1:after{content:var(--tw-content);width:.25rem}.semaphor-scope .after\:-translate-x-1\/2:after{content:var(--tw-content);--tw-translate-x: -50%;transform:translate(-50%,var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.semaphor-scope .after\:content-none:after{--tw-content: none;content:none;content:var(--tw-content)}.semaphor-scope .focus-within\:relative:focus-within{position:relative}.semaphor-scope .focus-within\:z-20:focus-within{z-index:20}.semaphor-scope .hover\:cursor-pointer:hover{cursor:pointer}.semaphor-scope .hover\:cursor-text:hover{cursor:text}.semaphor-scope .hover\:bg-accent:hover{background-color:#f4f4f5;background-color:hsl(var(--semaphor-accent))}.semaphor-scope .hover\:bg-destructive\/90:hover{background-color:#ef4343e6;background-color:hsl(var(--semaphor-destructive) / .9)}.semaphor-scope .hover\:bg-gray-200\/50:hover{background-color:#e5e7eb80}.semaphor-scope .hover\:bg-muted:hover{background-color:#f4f4f5;background-color:hsl(var(--semaphor-muted))}.semaphor-scope .hover\:bg-muted-foreground\/50:hover{background-color:#71717a80;background-color:hsl(var(--semaphor-muted-foreground) / .5)}.semaphor-scope .hover\:bg-muted\/50:hover{background-color:#f4f4f580;background-color:hsl(var(--semaphor-muted) / .5)}.semaphor-scope .hover\:bg-primary:hover{background-color:#18181b;background-color:hsl(var(--semaphor-primary))}.semaphor-scope .hover\:bg-primary\/90:hover{background-color:#18181be6;background-color:hsl(var(--semaphor-primary) / .9)}.semaphor-scope .hover\:bg-secondary\/80:hover{background-color:#f4f4f5cc;background-color:hsl(var(--semaphor-secondary) / .8)}.semaphor-scope .hover\:text-accent-foreground:hover{color:#18181b;color:hsl(var(--semaphor-accent-foreground))}.semaphor-scope .hover\:text-background:hover{color:#fff;color:hsl(var(--semaphor-background))}.semaphor-scope .hover\:text-foreground:hover{color:#09090b;color:hsl(var(--semaphor-foreground))}.semaphor-scope .hover\:text-foreground\/100:hover{color:#09090b;color:hsl(var(--semaphor-foreground) / 1)}.semaphor-scope .hover\:text-foreground\/50:hover{color:#09090b80;color:hsl(var(--semaphor-foreground) / .5)}.semaphor-scope .hover\:text-foreground\/70:hover{color:#09090bb3;color:hsl(var(--semaphor-foreground) / .7)}.semaphor-scope .hover\:text-foreground\/80:hover{color:#09090bcc;color:hsl(var(--semaphor-foreground) / .8)}.semaphor-scope .hover\:text-green-700:hover{--tw-text-opacity: 1;color:#15803d;color:rgba(21,128,61,var(--tw-text-opacity, 1))}.semaphor-scope .hover\:text-muted-foreground:hover{color:#71717a;color:hsl(var(--semaphor-muted-foreground))}.semaphor-scope .hover\:text-primary-foreground:hover{color:#fafafa;color:hsl(var(--semaphor-primary-foreground))}.semaphor-scope .hover\:underline:hover{text-decoration-line:underline}.semaphor-scope .hover\:opacity-100:hover{opacity:1}.semaphor-scope .focus\:bg-accent:focus{background-color:#f4f4f5;background-color:hsl(var(--semaphor-accent))}.semaphor-scope .focus\:bg-primary:focus{background-color:#18181b;background-color:hsl(var(--semaphor-primary))}.semaphor-scope .focus\:text-accent-foreground:focus{color:#18181b;color:hsl(var(--semaphor-accent-foreground))}.semaphor-scope .focus\:text-primary-foreground:focus{color:#fafafa;color:hsl(var(--semaphor-primary-foreground))}.semaphor-scope .focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.semaphor-scope .focus\:ring-0:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 rgba(0,0,0,0))}.semaphor-scope .focus\:ring-1:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 rgba(0,0,0,0))}.semaphor-scope .focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 rgba(0,0,0,0))}.semaphor-scope .focus\:ring-ring:focus{--tw-ring-color: hsl(var(--semaphor-ring))}.semaphor-scope .focus\:ring-offset-0:focus{--tw-ring-offset-width: 0px}.semaphor-scope .focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.semaphor-scope .focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.semaphor-scope .focus-visible\:ring-0:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 rgba(0,0,0,0))}.semaphor-scope .focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 rgba(0,0,0,0))}.semaphor-scope .focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 rgba(0,0,0,0))}.semaphor-scope .focus-visible\:ring-background\/75:focus-visible{--tw-ring-color: hsl(var(--semaphor-background) / .75)}.semaphor-scope .focus-visible\:ring-ring:focus-visible{--tw-ring-color: hsl(var(--semaphor-ring))}.semaphor-scope .focus-visible\:ring-offset-0:focus-visible{--tw-ring-offset-width: 0px}.semaphor-scope .focus-visible\:ring-offset-1:focus-visible{--tw-ring-offset-width: 1px}.semaphor-scope .focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.semaphor-scope .focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color: hsl(var(--semaphor-background))}.semaphor-scope .disabled\:pointer-events-none:disabled{pointer-events:none}.semaphor-scope .disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.semaphor-scope .disabled\:opacity-50:disabled{opacity:.5}.semaphor-scope .group:hover .group-hover\:visible{visibility:visible}.semaphor-scope .group:hover .group-hover\:block{display:block}.semaphor-scope .group:hover .group-hover\:border-2{border-width:2px}.semaphor-scope .group:hover .group-hover\:border-b-0{border-bottom-width:0px}.semaphor-scope .group:hover .group-hover\:border-l-0{border-left-width:0px}.semaphor-scope .group:hover .group-hover\:border-r-0{border-right-width:0px}.semaphor-scope .group:hover .group-hover\:border-t-0{border-top-width:0px}.semaphor-scope .group:hover .group-hover\:opacity-100{opacity:1}.semaphor-scope .group.toaster .group-\[\.toaster\]\:border-border{border-color:#e4e4e7;border-color:hsl(var(--semaphor-border))}.semaphor-scope .group.toast .group-\[\.toast\]\:bg-muted{background-color:#f4f4f5;background-color:hsl(var(--semaphor-muted))}.semaphor-scope .group.toast .group-\[\.toast\]\:bg-primary{background-color:#18181b;background-color:hsl(var(--semaphor-primary))}.semaphor-scope .group.toaster .group-\[\.toaster\]\:bg-background{background-color:#fff;background-color:hsl(var(--semaphor-background))}.semaphor-scope .group.toast .group-\[\.toast\]\:text-muted-foreground{color:#71717a;color:hsl(var(--semaphor-muted-foreground))}.semaphor-scope .group.toast .group-\[\.toast\]\:text-primary-foreground{color:#fafafa;color:hsl(var(--semaphor-primary-foreground))}.semaphor-scope .group.toaster .group-\[\.toaster\]\:text-foreground{color:#09090b;color:hsl(var(--semaphor-foreground))}.semaphor-scope .group.toaster .group-\[\.toaster\]\:shadow-lg{--tw-shadow: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:0 0 #0000,0 0 #0000,0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;box-shadow:var(--tw-ring-offset-shadow, 0 0 rgba(0,0,0,0)),var(--tw-ring-shadow, 0 0 rgba(0,0,0,0)),var(--tw-shadow)}.semaphor-scope .peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.semaphor-scope .peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.semaphor-scope .aria-selected\:bg-accent[aria-selected=true]{background-color:#f4f4f5;background-color:hsl(var(--semaphor-accent))}.semaphor-scope .aria-selected\:bg-accent\/50[aria-selected=true]{background-color:#f4f4f580;background-color:hsl(var(--semaphor-accent) / .5)}.semaphor-scope .aria-selected\:text-accent-foreground[aria-selected=true]{color:#18181b;color:hsl(var(--semaphor-accent-foreground))}.semaphor-scope .aria-selected\:text-muted-foreground[aria-selected=true]{color:#71717a;color:hsl(var(--semaphor-muted-foreground))}.semaphor-scope .aria-selected\:opacity-100[aria-selected=true]{opacity:1}.semaphor-scope .aria-selected\:opacity-30[aria-selected=true]{opacity:.3}.semaphor-scope .data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.semaphor-scope .data-\[panel-group-direction\=vertical\]\:h-px[data-panel-group-direction=vertical]{height:1px}.semaphor-scope .data-\[panel-group-direction\=vertical\]\:w-full[data-panel-group-direction=vertical]{width:100%}.semaphor-scope .data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y: .25rem;transform:translate(var(--tw-translate-x),.25rem) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.semaphor-scope .data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x: -.25rem;transform:translate(-.25rem,var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.semaphor-scope .data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x: .25rem;transform:translate(.25rem,var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.semaphor-scope .data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),-.25rem) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.semaphor-scope .data-\[state\=checked\]\:translate-x-4[data-state=checked]{--tw-translate-x: 1rem;transform:translate(1rem,var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.semaphor-scope .data-\[state\=checked\]\:translate-x-5[data-state=checked]{--tw-translate-x: 1.25rem;transform:translate(1.25rem,var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.semaphor-scope .data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x: 0px;transform:translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height)}to{height:0}}.semaphor-scope .data-\[state\=closed\]\:animate-accordion-up[data-state=closed]{animation:accordion-up .2s ease-out}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height)}}.semaphor-scope .data-\[state\=open\]\:animate-accordion-down[data-state=open]{animation:accordion-down .2s ease-out}.semaphor-scope .data-\[panel-group-direction\=vertical\]\:flex-col[data-panel-group-direction=vertical]{flex-direction:column}.semaphor-scope .data-\[state\=selected\]\:border-2[data-state=selected]{border-width:2px}.semaphor-scope .data-\[state\=selected\]\:border-dashed[data-state=selected]{border-style:dashed}.semaphor-scope .data-\[state\=active\]\:bg-background[data-state=active]{background-color:#fff;background-color:hsl(var(--semaphor-background))}.semaphor-scope .data-\[state\=checked\]\:bg-foreground\/50[data-state=checked]{background-color:#09090b80;background-color:hsl(var(--semaphor-foreground) / .5)}.semaphor-scope .data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:#18181b;background-color:hsl(var(--semaphor-primary))}.semaphor-scope .data-\[state\=on\]\:bg-accent[data-state=on],.semaphor-scope .data-\[state\=open\]\:bg-accent[data-state=open]{background-color:#f4f4f5;background-color:hsl(var(--semaphor-accent))}.semaphor-scope .data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:#f4f4f5;background-color:hsl(var(--semaphor-secondary))}.semaphor-scope .data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:#f4f4f5;background-color:hsl(var(--semaphor-muted))}.semaphor-scope .data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:#e4e4e7;background-color:hsl(var(--semaphor-input))}.semaphor-scope .data-\[state\=active\]\:text-foreground[data-state=active]{color:#09090b;color:hsl(var(--semaphor-foreground))}.semaphor-scope .data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:#fafafa;color:hsl(var(--semaphor-primary-foreground))}.semaphor-scope .data-\[state\=on\]\:text-accent-foreground[data-state=on]{color:#18181b;color:hsl(var(--semaphor-accent-foreground))}.semaphor-scope .data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:#71717a;color:hsl(var(--semaphor-muted-foreground))}.semaphor-scope .data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.semaphor-scope .data-\[state\=active\]\:shadow-sm[data-state=active]{--tw-shadow: 0 1px 2px 0 rgba(0, 0, 0, .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:0 0 #0000,0 0 #0000,0 1px 2px #0000000d;box-shadow:var(--tw-ring-offset-shadow, 0 0 rgba(0,0,0,0)),var(--tw-ring-shadow, 0 0 rgba(0,0,0,0)),var(--tw-shadow)}.semaphor-scope .data-\[state\=closed\]\:duration-300[data-state=closed]{transition-duration:.3s}.semaphor-scope .data-\[state\=open\]\:duration-500[data-state=open]{transition-duration:.5s}.semaphor-scope .data-\[state\=open\]\:animate-in[data-state=open]{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.semaphor-scope .data-\[state\=closed\]\:animate-out[data-state=closed]{animation-name:exit;animation-duration:.15s;--tw-exit-opacity: initial;--tw-exit-scale: initial;--tw-exit-rotate: initial;--tw-exit-translate-x: initial;--tw-exit-translate-y: initial}.semaphor-scope .data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity: 0}.semaphor-scope .data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity: 0}.semaphor-scope .data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale: .95}.semaphor-scope .data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale: .95}.semaphor-scope .data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y: -.5rem}.semaphor-scope .data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x: .5rem}.semaphor-scope .data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x: -.5rem}.semaphor-scope .data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y: .5rem}.semaphor-scope .data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y: 100%}.semaphor-scope .data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x: -100%}.semaphor-scope .data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x: -50%}.semaphor-scope .data-\[state\=closed\]\:slide-out-to-right[data-state=closed]{--tw-exit-translate-x: 100%}.semaphor-scope .data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y: -100%}.semaphor-scope .data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y: -48%}.semaphor-scope .data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y: 100%}.semaphor-scope .data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x: -100%}.semaphor-scope .data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x: -50%}.semaphor-scope .data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x: 100%}.semaphor-scope .data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y: -100%}.semaphor-scope .data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y: -48%}.semaphor-scope .data-\[state\=closed\]\:duration-300[data-state=closed]{animation-duration:.3s}.semaphor-scope .data-\[state\=open\]\:duration-500[data-state=open]{animation-duration:.5s}.semaphor-scope .data-\[panel-group-direction\=vertical\]\:after\:left-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);left:0}.semaphor-scope .data-\[panel-group-direction\=vertical\]\:after\:h-1[data-panel-group-direction=vertical]:after{content:var(--tw-content);height:.25rem}.semaphor-scope .data-\[panel-group-direction\=vertical\]\:after\:w-full[data-panel-group-direction=vertical]:after{content:var(--tw-content);width:100%}.semaphor-scope .data-\[panel-group-direction\=vertical\]\:after\:-translate-y-1\/2[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),-50%) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.semaphor-scope .data-\[panel-group-direction\=vertical\]\:after\:translate-x-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-x: 0px;transform:translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@container (min-width: 20rem){.semaphor-scope .\@xs\:flex{display:flex}}.dark .dark\:h-\[2px\]{height:2px}.dark .dark\:-rotate-90{--tw-rotate: -90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(-90deg) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark .dark\:rotate-0{--tw-rotate: 0deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(0) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark .dark\:scale-0{--tw-scale-x: 0;--tw-scale-y: 0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(0) scaleY(0);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark .dark\:scale-100{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(1) scaleY(1);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark .dark\:border-l-background{border-left-color:#fff;border-left-color:hsl(var(--semaphor-background))}@media (min-width: 640px){.semaphor-scope .sm\:mt-0{margin-top:0}.semaphor-scope .sm\:min-w-\[900px\]{min-width:900px}.semaphor-scope .sm\:max-w-\[425px\]{max-width:425px}.semaphor-scope .sm\:max-w-sm{max-width:24rem}.semaphor-scope .sm\:flex-row{flex-direction:row}.semaphor-scope .sm\:justify-end{justify-content:flex-end}.semaphor-scope .sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:0rem;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * (1 - var(--tw-space-x-reverse)));margin-left:.5rem;margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.semaphor-scope .sm\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:0rem;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * (1 - var(--tw-space-x-reverse)));margin-left:1rem;margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.semaphor-scope .sm\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0px * (1 - var(--tw-space-y-reverse)));margin-top:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:0;margin-bottom:calc(0px * var(--tw-space-y-reverse))}.semaphor-scope .sm\:rounded-lg{border-radius:.5rem;border-radius:var(--semaphor-radius)}.semaphor-scope .sm\:text-left{text-align:left}.semaphor-scope .sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width: 768px){.semaphor-scope .md\:max-h-\[700px\]{max-height:700px}.semaphor-scope .md\:min-w-\[625px\]{min-width:625px}}@media (min-width: 1024px){.semaphor-scope .lg\:min-w-\[1200px\]{min-width:1200px}}.semaphor-scope .\[\&\:has\(\[aria-selected\]\)\]\:bg-accent:has([aria-selected]){background-color:#f4f4f5;background-color:hsl(var(--semaphor-accent))}.semaphor-scope .first\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-l-md:has([aria-selected]):first-child{border-top-left-radius:calc(.5rem - 2px);border-top-left-radius:calc(var(--semaphor-radius) - 2px);border-bottom-left-radius:calc(.5rem - 2px);border-bottom-left-radius:calc(var(--semaphor-radius) - 2px)}.semaphor-scope .last\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-r-md:has([aria-selected]):last-child{border-top-right-radius:calc(.5rem - 2px);border-top-right-radius:calc(var(--semaphor-radius) - 2px);border-bottom-right-radius:calc(.5rem - 2px);border-bottom-right-radius:calc(var(--semaphor-radius) - 2px)}.semaphor-scope .\[\&\:has\(\[aria-selected\]\.day-outside\)\]\:bg-accent\/50:has([aria-selected].day-outside){background-color:#f4f4f580;background-color:hsl(var(--semaphor-accent) / .5)}.semaphor-scope .\[\&\:has\(\[aria-selected\]\.day-range-end\)\]\:rounded-r-md:has([aria-selected].day-range-end){border-top-right-radius:calc(.5rem - 2px);border-top-right-radius:calc(var(--semaphor-radius) - 2px);border-bottom-right-radius:calc(.5rem - 2px);border-bottom-right-radius:calc(var(--semaphor-radius) - 2px)}.semaphor-scope .\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.semaphor-scope .\[\&\>button\]\:hidden>button{display:none}.semaphor-scope .\[\&\>li\]\:mt-2>li{margin-top:.5rem}.semaphor-scope .\[\&\>span\]\:line-clamp-1>span{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.semaphor-scope .\[\&\>tr\]\:last\:border-b-0:last-child>tr{border-bottom-width:0px}.semaphor-scope .\[\&\[data-panel-group-direction\=vertical\]\>div\]\:rotate-90[data-panel-group-direction=vertical]>div{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(90deg) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.semaphor-scope .\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(180deg) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.semaphor-scope .\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-left:.5rem;padding-right:.5rem}.semaphor-scope .\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-top:.375rem;padding-bottom:.375rem}.semaphor-scope .\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:.75rem;line-height:1rem}.semaphor-scope .\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{font-weight:500}.semaphor-scope .\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:#71717a;color:hsl(var(--semaphor-muted-foreground))}.semaphor-scope .\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0}.semaphor-scope .\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-left:.5rem;padding-right:.5rem}.semaphor-scope .\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:1.25rem}.semaphor-scope .\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:1.25rem}.semaphor-scope .\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:3rem}.semaphor-scope .\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-left:.5rem;padding-right:.5rem}.semaphor-scope .\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-top:.75rem;padding-bottom:.75rem}.semaphor-scope .\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:1.25rem}.semaphor-scope .\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:1.25rem}.semaphor-scope .\[\&_summary\>svg\]\:open\:-rotate-180[open] summary>svg{--tw-rotate: -180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(-180deg) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.semaphor-scope .\[\&_tr\:last-child\]\:border-0 tr:last-child{border-width:0px}.semaphor-scope .\[\&_tr\]\:border-b tr{border-bottom-width:1px}
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "email": "support@semaphor.cloud"
6
6
  },
7
7
  "license": "MIT",
8
- "version": "0.0.387",
8
+ "version": "0.0.388",
9
9
  "description": "Fully interactive and customizable dashboards for your apps.",
10
10
  "keywords": [
11
11
  "react",