react-semaphor 0.0.563 → 0.0.564

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.
@@ -634,7 +634,7 @@ Error message: ${JW(n)}`,cause:n}),this[lU]=!0,this.value=t}static isInstance(t)
634
634
  padding: 0 4px;
635
635
  margin: 0 1px;
636
636
  }
637
- `})]})});kU.displayName="HighlightedInput";function IFe({availableEntities:e,localAiContext:t,setLocalAiContext:n}){const[r,o]=R.useState(""),[i,s]=R.useState(!1),[a,l]=R.useState(0),c=R.useRef(null),u=P=>"label"in P?P.label:P.name,d=P=>t.selectedEntities.some(j=>"id"in P&&"id"in j?P.id===j.id:P.name===j.name&&P.connectionId===j.connectionId),h=P=>{if(!P)return;P.focus();const j=window.getSelection();if(j){const O=document.createRange();O.selectNodeContents(P),O.collapse(!1),j.removeAllRanges(),j.addRange(O)}},p=P=>{const j=P.target.value,O=P.target.selectionStart||0;o(j),l(O);const T=j.slice(0,O),F=T.lastIndexOf("@");if(F!==-1){const L=T.slice(F+1),V=(F===0||/\s/.test(T[F-1]))&&!L.includes(" ");s(V)}else s(!1)},g=P=>{P.key==="Escape"&&i&&(P.preventDefault(),s(!1),setTimeout(()=>{if(P.currentTarget){P.currentTarget.focus();const j=window.getSelection();if(j){const O=document.createRange();O.selectNodeContents(P.currentTarget),O.collapse(!1),j.removeAllRanges(),j.addRange(O)}}},0))},m=P=>{const j=u(P),T=r.slice(0,a).lastIndexOf("@");if(T!==-1){const F=r.slice(0,T),L=r.slice(a),V=F+"@"+j+" "+L;o(V);const z=T+j.length+2;l(z)}},b=P=>{const O=`@${u(P)}`,T=r.indexOf(O);if(T!==-1){const F=r.slice(0,T),L=r.slice(T+O.length),V=F+(L.startsWith(" ")?L.slice(1):L);o(V),l(T)}},y=P=>{const j=[...t.selectedEntities,P];n({selectedEntities:j})},v=P=>{const j=t.selectedEntities.filter(O=>"id"in P&&"id"in O?P.id!==O.id:!(P.name===O.name&&P.connectionId===O.connectionId));n({selectedEntities:j})},x=P=>{d(P)?(v(P),b(P)):(y(P),m(P))},S=P=>{x(P)},_=P=>{d(P)||y(P),m(P),s(!1),setTimeout(()=>h(c.current),0)},E=P=>{v(P),b(P)},C=P=>{P.forEach(j=>{v(j),b(j)})},N=()=>{n({selectedEntities:[...e]}),e.forEach((P,j)=>{u(P)})},k=()=>{n({selectedEntities:[]});let P=r;t.selectedEntities.forEach(j=>{const T=`@${u(j)}`;P=P.replace(new RegExp(`${T}\\s?`,"g"),"")}),o(P),l(P.length)},M=R.useCallback(()=>{s(!1),setTimeout(()=>h(c.current),0)},[c]);return R.useEffect(()=>{const P=O=>{const T=O.target;!T.closest('[data-dropdown="entity-mention"]')&&!T.closest(".entity-dropdown-container")&&i&&M()},j=O=>{O.key==="Escape"&&i&&M()};return i&&(document.addEventListener("mousedown",P),document.addEventListener("keydown",j)),()=>{document.removeEventListener("mousedown",P),document.removeEventListener("keydown",j)}},[i,M]),{message:r,setMessage:o,showMentionDropdown:i,setShowMentionDropdown:s,cursorPosition:a,mainInputRef:c,handleTextareaChange:p,handleKeyDown:g,handleEntitySelect:x,handleEntityDeselect:S,handleMainTabComplete:_,handleRemoveEntity:E,handleAddAllEntities:N,handleRemoveEntities:C,handleRemoveAllEntities:k,closeDropdownAndFocus:M,handleMainAtButtonClick:()=>{s(!0),setTimeout(()=>h(c.current),0)},focusInputElement:h}}const NU=R.forwardRef(({input:e,setInput:t,handleSubmit:n,isLoading:r,stop:o,onFocus:i},s)=>{const a=cR(),{setCurrentAIContext:l}=uR(),c=oe(D=>{var P;return(P=D.dashboard.aiContext)==null?void 0:P.selectedEntities}),{message:u,setMessage:d,showMentionDropdown:h,setShowMentionDropdown:p,mainInputRef:g,handleTextareaChange:m,handleKeyDown:b,handleEntitySelect:y,handleEntityDeselect:v,handleMainTabComplete:x,handleRemoveEntity:S,handleRemoveEntities:_,handleAddAllEntities:E,handleRemoveAllEntities:C,handleMainAtButtonClick:N,focusInputElement:k}=IFe({availableEntities:c||[],localAiContext:a,setLocalAiContext:l});R.useEffect(()=>{d(e)},[e,d]),R.useEffect(()=>{t(u)},[u,t]);const M=D=>{u.trim()&&(n({preventDefault:()=>{}}),d(""))};return f.jsxs("div",{className:"space-y-4",children:[f.jsx(AFe,{entities:a.selectedEntities,availableEntities:c||[],onRemoveEntity:S,onRemoveEntities:_}),f.jsxs("div",{className:"relative",children:[f.jsx(kU,{value:u,onChange:m,onKeyDown:D=>{b(D),D.key==="Enter"&&!D.shiftKey&&(D.preventDefault(),M())},onFocus:D=>{i==null||i(),u.includes("@")&&p(!0)},placeholder:"What question do you have?",className:"pr-12placeholder-gray-400 min-h-[100px] resize-none border-foreground/20",isTextarea:!0,availableEntities:c||[],"data-input":"main",ref:g}),f.jsx(Ee,{variant:"outline",size:"sm",className:"absolute bottom-3 left-3 h-7 px-2",onClick:N,title:"Add entity",children:f.jsx(nJ,{className:"h-4 w-4 text-muted-foreground"})}),f.jsxs("div",{className:"absolute bottom-3 right-3 flex items-center gap-2",children:[r===!0&&f.jsx(Ee,{size:"sm",onClick:()=>o(),children:f.jsx(fJ,{className:"size-3.5 bg-background"})}),r===!1&&f.jsx(Ee,{disabled:r===!1&&!e,size:"sm",onClick:()=>M(),children:f.jsx(yJ,{className:"size-4"})})]}),h&&f.jsx("div",{className:"entity-dropdown-container absolute left-0 z-50","data-dropdown":"entity-mention",style:{bottom:"100%",marginBottom:"0.5rem",width:"20rem",maxWidth:"100%"},ref:D=>{D&&D.getBoundingClientRect().top<10&&(D.style.bottom="auto",D.style.top="100%",D.style.marginBottom="0",D.style.marginTop="0.5rem")},children:f.jsx(MFe,{isOpen:h,onSelect:y,onDeselect:v,onClose:()=>{p(!1),setTimeout(()=>k(g.current),0)},availableEntities:c||[],selectedEntities:a.selectedEntities,onTabComplete:x,onSelectAll:E,onRemoveAll:C})})]})]})});function MU(e){return e.type==="dataset"&&e.label||e.name}function TFe(e){const t=[];return t.push({label:"Type",value:e.type}),t.push({label:"Name",value:e.name}),e.connectionType&&t.push({label:"Connection",value:e.connectionType}),e.database&&t.push({label:"Database",value:e.database}),e.schema&&t.push({label:"Schema",value:e.schema}),e.type==="dataset"&&e.label&&t.push({label:"Label",value:e.label}),e.type==="dataset"&&e.description&&t.push({label:"Description",value:e.description}),e.type==="model"&&e.label&&t.push({label:"Label",value:e.label}),e.type==="model"&&e.description&&t.push({label:"Description",value:e.description}),t}function jFe({selectedEntities:e,onDeselectEntity:t}){return e.length===0?null:f.jsxs("div",{className:"mb-4 space-y-2",children:[f.jsxs(he,{className:"mb-2 text-xs font-medium text-muted-foreground",children:["Selected Entities (",e.length,")"]}),f.jsx("div",{className:"flex flex-wrap gap-1",children:e.map((n,r)=>f.jsxs(to,{variant:"secondary",className:"group relative cursor-pointer pr-6 text-xs transition-colors hover:border-red-200 hover:bg-red-50 dark:hover:border-red-800 dark:hover:bg-red-950",children:[f.jsxs("span",{className:"mr-1 text-gray-500",children:["[",n.type,"]"]}),MU(n),f.jsx("button",{onClick:o=>{o.stopPropagation(),t(n)},className:"absolute right-1 top-1/2 -translate-y-1/2 rounded-full p-0.5 opacity-0 transition-opacity hover:bg-red-100 group-hover:opacity-100",children:f.jsx(or,{className:"h-2.5 w-2.5 text-red-500"})})]},`${n.type}-${n.name}-${r}`))})]})}function PU(e){const t=oe(a=>a.authToken)||e;Re(a=>a.selectedConnectionId),Re(a=>{var l,c;return(c=(l=a==null?void 0:a.card)==null?void 0:l.dataSource)==null?void 0:c.connectionId});const{refetch:n,isPending:r,data:o,isLoading:i,isError:s}=Tn({queryKey:["semantic-domains"],queryFn:()=>vr("https://semaphor.cloud/api/v1/domains",(t==null?void 0:t.accessToken)||""),enabled:!!(t!=null&&t.accessToken)});return{isPending:r,error:s,semanticDomainsData:o,semanticDomains:(o==null?void 0:o.domains)||[],isSemanticDomainsLoading:i,isSemanticDomainsError:s,refetchSemanticDomains:n}}function OFe(e,t){const n=oe(l=>l.authToken)||t,{refetch:r,isPending:o,data:i,isLoading:s,isError:a}=Tn({queryKey:["datasets",e],queryFn:()=>vr("https://semaphor.cloud/api/v1/datasets",(n==null?void 0:n.accessToken)||"",{domainId:e}),enabled:!!(n!=null&&n.accessToken)&&!!e});return{isPending:o,error:a,datasets:(i==null?void 0:i.datasets)||[],isDatasetsLoading:s,isDatasetsError:a,refetchDatasets:r}}function FFe(e){var g,m;const t=oe(b=>b.authToken)||e,{connections:n}=Li(e),r=Re(b=>{var y,v;return(v=(y=b==null?void 0:b.card)==null?void 0:y.dataSource)==null?void 0:v.connectionId}),o=n==null?void 0:n.find(b=>b.id===r),i=o==null?void 0:o.type,s=o==null?void 0:o.capabilities,a=((g=s==null?void 0:s.labels)==null?void 0:g.database)||"Database";function l(b){return r&&b?!(b==="API"||b==="S3"):!1}const{data:c,isPending:u,error:d,refetch:h}=Tn({queryKey:["databases",r],queryFn:()=>vr("https://semaphor.cloud/api/v1/databases",(t==null?void 0:t.accessToken)||"",{connection_id:r}),enabled:l(i)}),p=(m=c==null?void 0:c.databases)==null?void 0:m.map(b=>({id:b.database_name,name:b.database_name}));return{isPending:u,error:d,databases:p||[],refetch:h,label:a}}function LFe(e){var g;const t=oe(m=>m.authToken)||e,{connections:n}=Li(e),r=Re(m=>{var b,y;return(y=(b=m==null?void 0:m.card)==null?void 0:b.dataSource)==null?void 0:y.connectionId}),o=Re(m=>{var b,y,v;return(v=(y=(b=m==null?void 0:m.card)==null?void 0:b.dataSource)==null?void 0:y.dbSelection)==null?void 0:v.database}),i=n==null?void 0:n.find(m=>m.id===r),s=i==null?void 0:i.capabilities,a=((g=s==null?void 0:s.labels)==null?void 0:g.schema)||"Schema";function l(){return!(!r||(i==null?void 0:i.type)==="API"||(i==null?void 0:i.type)==="S3"||!o||!(s!=null&&s.path.includes("schema")))}const{data:c,isPending:u,error:d,refetch:h}=Tn({queryKey:["schemas",r,o],queryFn:()=>vr("https://semaphor.cloud/api/v1/schemas",(t==null?void 0:t.accessToken)||"",{connection_id:r,database_name:o}),enabled:l()}),p=c==null?void 0:c.schemas.map(m=>({id:m.schema_name,name:m.schema_name}));return{isPending:u,error:d,schemas:p||[],refetch:h,label:a}}function AU(e){const t=oe(d=>d.authToken)||e,{connections:n}=Li(e),r=Re(d=>{var h,p;return(p=(h=d==null?void 0:d.card)==null?void 0:h.dataSource)==null?void 0:p.connectionId}),o=n.find(d=>d.id===r);function i(){return!(!(t!=null&&t.accessToken)||!r)}const{data:s,isPending:a,error:l,refetch:c}=Tn({queryKey:["dataModels",r],queryFn:()=>vr("https://semaphor.cloud/api/v1/datamodels",(t==null?void 0:t.accessToken)||"",{connection_id:r}),enabled:i()}),u=s==null?void 0:s.datamodels.map(d=>({id:d.id,name:d.name,label:d.label,description:d.description,connectionId:r,connectionType:o==null?void 0:o.type,dialect:o==null?void 0:o.dialect,type:"model",database:d.database,schema:d.schema}));return{isPending:a,error:l,dataModels:u||[],refetch:c}}function $Fe(){var _,E,C;const e=Re(N=>N.card.dataSource);Re(N=>N.actions.updateDirectSource);const t=Re(N=>N.actions.updateDataSource),[n,r]=R.useState(""),{selectedConnection:o,error:i}=Li(),{databases:s,isPending:a,error:l,label:c}=FFe(),{schemas:u,isPending:d,error:h,label:p}=LFe(),{error:g}=AU(),m=o==null?void 0:o.capabilities.path.includes("schema"),b=o==null?void 0:o.capabilities.path.includes("database"),y=c==null?void 0:c.toLowerCase(),v=p==null?void 0:p.toLowerCase(),x=N=>{e&&t({...e,dbSelection:{database:N,schema:"",entityType:"table"},selectedEntities:(e==null?void 0:e.selectedEntities)||[]})},S=N=>{var M;if(!((M=e==null?void 0:e.dbSelection)!=null&&M.database))return;const k=e.dbSelection||{database:"",schema:"",entityType:"table"};t({...e,dbSelection:{...k,schema:N},selectedEntities:(e==null?void 0:e.selectedEntities)||[]})};return f.jsxs(f.Fragment,{children:[(i||l||h||g)&&f.jsxs("div",{className:"rounded-md border border-red-200 bg-red-50 p-3",children:[f.jsx("div",{className:"flex items-center",children:f.jsxs("div",{className:"text-sm text-red-800",children:[f.jsx("strong",{children:"Error loading data:"}),f.jsxs("ul",{className:"mt-1 list-inside list-disc",children:[i&&f.jsxs("li",{children:["Connections: ",i]}),l&&f.jsxs("li",{children:[c,": ",l.message]}),h&&f.jsxs("li",{children:[p,": ",h.message]}),g&&f.jsxs("li",{children:["Data Models: ",g.message]})]})]})}),f.jsx(Ee,{variant:"outline",size:"sm",className:"mt-2",onClick:()=>window.location.reload(),children:"Retry"})]}),f.jsxs("div",{className:"space-y-4",children:[b&&f.jsxs("div",{className:"space-y-2",children:[f.jsx(he,{className:"text-sm font-medium",children:c}),f.jsxs(Pt,{value:((_=e==null?void 0:e.dbSelection)==null?void 0:_.database)||"",onValueChange:x,disabled:a,children:[f.jsx(St,{className:"w-full",children:f.jsxs("div",{className:"flex items-center gap-2",children:[a&&f.jsx(yb,{className:"h-4 w-4 animate-spin"}),f.jsx(At,{placeholder:l?`Error loading ${y}`:a?`Loading ${y}...`:`Select ${y}...`})]})}),f.jsx(Et,{children:s.map(N=>f.jsx(xe,{className:"hover:bg-muted",value:N.id,children:N.name},N.id))})]})]}),((E=e==null?void 0:e.dbSelection)==null?void 0:E.database)&&m&&f.jsxs("div",{className:"space-y-2",children:[f.jsx(he,{className:"text-sm font-medium",children:p}),f.jsxs(Pt,{value:((C=e==null?void 0:e.dbSelection)==null?void 0:C.schema)||"",onValueChange:S,disabled:d,children:[f.jsx(St,{className:"w-full",children:f.jsxs("div",{className:"flex items-center gap-2",children:[d&&f.jsx(yb,{className:"h-4 w-4 animate-spin"}),f.jsx(At,{placeholder:h?`Error loading ${v}`:d?`Loading ${v}...`:`Select ${v}...`})]})}),f.jsx(Et,{children:u.map(N=>f.jsx(xe,{className:"hover:bg-muted",value:N.id,children:N.name},N.id))})]})]})]})]})}function zFe(){const e=Re(l=>l.card.dataSource),t=Re(l=>l.actions.updateDataSource),[n,r]=R.useState(!1),o=l=>{if(!l||(e==null?void 0:e.mode)!=="upload")return;const c=Array.from(l).map(d=>({id:`file-${Date.now()}-${Math.random()}`,name:d.name,type:"upload",connectionId:"default",connectionType:"none",label:d.name,description:`Uploaded ${new Date().toLocaleString()}`,originalName:d.name,file:d})),u=(e==null?void 0:e.selectedEntities)||[];t({...e,selectedEntities:[...u,...c]})},i=l=>{if(!e)return;const c=(e.selectedEntities||[]).filter(u=>u.id!==l);t({...e,selectedEntities:c})},s=l=>{if(l===0)return"0 Bytes";const c=1024,u=["Bytes","KB","MB","GB"],d=Math.floor(Math.log(l)/Math.log(c));return Number.parseFloat((l/Math.pow(c,d)).toFixed(2))+" "+u[d]},a=(e==null?void 0:e.selectedEntities)||[];return f.jsxs("div",{className:"space-y-4",children:[f.jsxs("div",{className:"space-y-2",children:[f.jsx(he,{className:"text-sm font-medium",children:"Upload Files"}),f.jsxs("div",{className:`rounded-lg border-2 border-dashed p-6 text-center transition-colors ${n?"border-blue-400 bg-blue-50":"border-gray-300 hover:border-gray-400"}`,onDragOver:l=>{l.preventDefault(),r(!0)},onDragLeave:()=>r(!1),onDrop:l=>{l.preventDefault(),r(!1),o(l.dataTransfer.files)},children:[f.jsx(w_,{className:"mx-auto mb-2 h-8 w-8 text-gray-400"}),f.jsx("p",{className:"mb-2 text-sm text-gray-600",children:"Drag and drop files here, or click to select"}),f.jsx("input",{type:"file",multiple:!0,className:"hidden",id:"file-upload",onChange:l=>o(l.target.files),accept:".csv,.json,.xlsx,.xls"}),f.jsx(Ee,{variant:"outline",size:"sm",onClick:()=>{var l;return(l=document.getElementById("file-upload"))==null?void 0:l.click()},children:"Select Files"}),f.jsx("p",{className:"mt-2 text-xs text-gray-500",children:"Supports CSV, JSON, Excel files"})]})]}),a.length>0&&f.jsxs("div",{className:"space-y-2",children:[f.jsxs(he,{className:"text-xs text-gray-600",children:["Uploaded Files (",a.length,")"]}),f.jsx("div",{className:"max-h-40 space-y-1 overflow-y-auto",children:a.map(l=>f.jsxs("div",{className:"flex items-center justify-between rounded border bg-gray-50 p-2",children:[f.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[f.jsx(ty,{className:"h-4 w-4 flex-shrink-0 text-gray-500"}),f.jsxs("div",{className:"min-w-0",children:[f.jsx("p",{className:"truncate text-sm text-gray-700",children:l.originalName}),f.jsx("p",{className:"text-xs text-gray-500",children:l.file?s(l.file.size):""})]})]}),f.jsx(Ee,{variant:"ghost",size:"sm",className:"h-6 w-6 flex-shrink-0 p-0",onClick:()=>i(l.id),children:f.jsx(or,{className:"h-3 w-3"})})]},l.id))})]})]})}function BFe(){const e=Re(d=>d.card.dataSource),t=Re(d=>d.actions.updateDataSource),[n,r]=R.useState(""),[o,i]=R.useState(""),[s,a]=R.useState("api"),l=()=>{if(!n.trim()||!o.trim()||!e)return;const d={id:`url-${Date.now()}-${Math.random()}`,name:n.trim(),type:"url",connectionId:"default",connectionType:"none",label:n.trim(),description:`URL source of type ${s}`,url:o.trim(),sourceType:s,originalName:n.trim()},h=(e==null?void 0:e.selectedEntities)||[];t({...e,selectedEntities:[...h,d]}),r(""),i(""),a("api")},c=d=>{if(!e)return;const h=(e.selectedEntities||[]).filter(p=>p.id!==d);t({...e,selectedEntities:h})},u=(e==null?void 0:e.selectedEntities)||[];return f.jsxs("div",{className:"space-y-4",children:[f.jsxs("div",{className:"space-y-2",children:[f.jsx(he,{className:"text-sm font-medium text-gray-700",children:"URL Sources"}),f.jsxs("div",{className:"space-y-3 rounded-lg border bg-gray-50 p-3",children:[f.jsxs("div",{className:"space-y-2",children:[f.jsx(he,{className:"text-xs text-gray-600",children:"Source Name"}),f.jsx(xr,{placeholder:"e.g., Sales API, Customer Data",value:n,onChange:d=>r(d.target.value),className:"h-8 text-sm"})]}),f.jsxs("div",{className:"space-y-2",children:[f.jsx(he,{className:"text-xs text-gray-600",children:"URL"}),f.jsx(xr,{placeholder:"https://api.example.com/data",value:o,onChange:d=>i(d.target.value),className:"h-8 text-sm"})]}),f.jsxs("div",{className:"space-y-2",children:[f.jsx(he,{className:"text-xs text-gray-600",children:"Type"}),f.jsxs("select",{value:s,onChange:d=>a(d.target.value),className:"h-8 w-full rounded-md border border-gray-300 px-2 text-sm",children:[f.jsx("option",{value:"api",children:"API Endpoint"}),f.jsx("option",{value:"csv",children:"CSV File"}),f.jsx("option",{value:"json",children:"JSON File"})]})]}),f.jsxs(Ee,{onClick:l,disabled:!n.trim()||!o.trim(),size:"sm",className:"w-full",children:[f.jsx(pc,{className:"mr-1 h-3 w-3"}),"Add Source"]})]})]}),u.length>0&&f.jsxs("div",{className:"space-y-2",children:[f.jsxs(he,{className:"text-xs text-gray-600",children:["Added Sources (",u.length,")"]}),f.jsx("div",{className:"max-h-40 space-y-1 overflow-y-auto",children:u.map(d=>f.jsxs("div",{className:"flex items-center justify-between rounded border bg-gray-50 p-2",children:[f.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[f.jsx(g_,{className:"h-4 w-4 flex-shrink-0 text-gray-500"}),f.jsxs("div",{className:"min-w-0",children:[f.jsx("p",{className:"truncate text-sm text-gray-700",children:d.name}),f.jsx("p",{className:"truncate text-xs text-gray-500",children:d.url})]})]}),f.jsx(Ee,{variant:"ghost",size:"sm",className:"h-6 w-6 flex-shrink-0 p-0",onClick:()=>c(d.id),children:f.jsx(or,{className:"h-3 w-3"})})]},d.id))})]})]})}function wj(e,t){var y,v;const n=oe(x=>x.authToken)||t,{connections:r}=Li(t),o=Re(x=>{var S,_;return(_=(S=x==null?void 0:x.card)==null?void 0:S.dataSource)==null?void 0:_.connectionId}),i=Re(x=>{var S,_,E;return(E=(_=(S=x==null?void 0:x.card)==null?void 0:S.dataSource)==null?void 0:_.dbSelection)==null?void 0:E.database}),s=Re(x=>{var S,_,E;return(E=(_=(S=x==null?void 0:x.card)==null?void 0:S.dataSource)==null?void 0:_.dbSelection)==null?void 0:E.schema}),a=r==null?void 0:r.find(x=>x.id===o),l=a==null?void 0:a.capabilities,c=((y=l==null?void 0:l.labels)==null?void 0:y.schema)||"Schema";function u(){return o?(a==null?void 0:a.type)==="API"||(a==null?void 0:a.type)==="S3"?!0:!(!i||l!=null&&l.path.includes("schema")&&!s||e==="view"):!1}const{data:d,isPending:h,isLoading:p,error:g,refetch:m}=Tn({queryKey:[e,o,i,s],queryFn:()=>vr(`https://semaphor.cloud/api/v1/${e}s`,(n==null?void 0:n.accessToken)||"",{connection_id:o,database_name:i,schema_name:s}),enabled:u()}),b=(v=d==null?void 0:d[`${e}s`])==null?void 0:v.map(x=>({connectionId:a==null?void 0:a.id,connectionType:a==null?void 0:a.type,dialect:a==null?void 0:a.dialect,type:e,id:x[`${e}_name`],database:i,schema:s,name:x[`${e}_name`]}));return{isPending:h,isLoading:p,error:g,entities:b||[],refetch:m,label:c}}function k0({title:e,message:t}){return f.jsx("div",{className:"rounded-xl border border-destructive/40 bg-destructive/10 p-4 text-destructive shadow-sm",children:f.jsxs("div",{className:"flex items-start gap-4",children:[f.jsx(oF,{className:"h-6 w-6 flex-shrink-0"}),f.jsxs("div",{className:"flex-1",children:[f.jsx("h4",{className:"text-base font-semibold",children:e}),t&&f.jsx("p",{className:"mt-1 text-sm text-destructive/90",children:t})]})]})})}function VFe({dataSource:e,onSelectionChange:t,selectedEntities:n}){const{connections:r,isPending:o}=Li(),[i,s]=R.useState(""),[a,l]=R.useState(""),[c,u]=R.useState(""),{updateDataSource:d,setSelectedConnectionId:h}=Jo(),{entities:p,isLoading:g,error:m}=wj("table"),{entities:b}=wj("view"),{dataModels:y,isPending:v,error:x}=AU(),S=k=>{const M=r.find(P=>P.id===k);if(!M)return;const D=M.type==="upload"?"upload":M.type==="url"?"url":"database";d({...e,connectionId:k,connectionType:M.type,mode:D,dbSelection:{database:"",schema:"",entityType:"table"}}),h(k)},_=k=>{var j,O;const M=n||[],D=M.some(T=>T.name===k.name&&T.type===k.type);let P;if(D)P=M.filter(T=>!(T.name===k.name&&T.type===k.type));else{const T={connectionId:e.connectionId,connectionType:e.connectionType,type:k.type,database:((j=e.dbSelection)==null?void 0:j.database)||"",schema:((O=e.dbSelection)==null?void 0:O.schema)||"",name:k.name,dialect:k.dialect};P=[...M,T]}t==null||t(P)},E=k=>{const M=n||[],D=M.some(j=>j.type==="model"&&j.name===k.name);let P;D?P=M.filter(j=>!(j.type==="model"&&j.name===k.name)):P=[...M,k],t==null||t(P)},C=p.filter(k=>k.name.toLowerCase().includes(i.toLowerCase()));b.filter(k=>k.name.toLowerCase().includes(a.toLowerCase()));const N=y.filter(k=>k.name.toLowerCase().includes(c.toLowerCase()));return f.jsxs("div",{className:"space-y-4",children:[f.jsxs("div",{className:"space-y-2",children:[f.jsx(he,{className:"font-medium= text-sm",children:"Connection"}),f.jsxs(Pt,{value:(e==null?void 0:e.connectionId)||"",onValueChange:S,disabled:o,children:[f.jsx(St,{className:"w-full",children:f.jsx(At,{placeholder:o?"Loading connections...":"Select connection..."})}),f.jsx(Et,{children:r.map(k=>f.jsx(xe,{className:"hover:bg-muted",value:k.id,children:f.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[f.jsx(J0,{className:"h-4 w-4 flex-shrink-0"}),f.jsx("span",{className:"truncate",children:k.name}),f.jsx(to,{variant:"secondary",className:"flex-shrink-0 text-xs",children:k.type})]})},k.id))})]})]}),(e==null?void 0:e.connectionId)&&f.jsxs(f.Fragment,{children:[e.connectionType==="upload"&&f.jsx(zFe,{}),e.connectionType==="url"&&f.jsx(BFe,{}),e.connectionType!=="upload"&&e.connectionType!=="url"&&f.jsxs(f.Fragment,{children:[f.jsx($Fe,{}),f.jsx("div",{className:"space-y-4",children:f.jsx("div",{className:"space-y-2",children:f.jsxs(dd,{defaultValue:"tables",className:"w-full",children:[f.jsxs(dc,{className:"grid w-full grid-cols-3",children:[f.jsx(eo,{value:"tables",children:"Tables"}),f.jsx(eo,{value:"datamodels",children:"Data Models"}),f.jsx(eo,{value:"views",children:"Views (Coming soon)"})]}),f.jsxs(gi,{value:"tables",className:"space-y-2",children:[f.jsx(zn,{placeholder:"Search tables...",value:i,onChange:k=>s(k.target.value),className:"h-8 text-sm",disabled:g}),f.jsx("div",{className:"max-h-40 space-y-1 overflow-y-auto",children:g?f.jsx("div",{className:"py-4 text-center text-sm",children:"Loading tables..."}):m?f.jsx(k0,{title:"Error loading tables",message:m.message||"Failed to load tables. Please try again.",onRetry:()=>window.location.reload()}):C.length===0?f.jsx("div",{className:"py-4 text-center text-sm",children:"No tables found"}):C.map(k=>{const M=n.some(D=>D.name===k.name&&D.type==="table");return f.jsxs("div",{className:"flex items-center space-x-2 rounded p-2 hover:bg-muted",children:[f.jsx(Br,{id:`table-${k.name}`,checked:M,onCheckedChange:()=>_(k),disabled:g}),f.jsx(he,{htmlFor:`table-${k.name}`,children:k.name})]},k.name)})})]}),f.jsxs(gi,{value:"datamodels",className:"space-y-2",children:[f.jsx(zn,{placeholder:"Search data models...",value:c,onChange:k=>u(k.target.value),className:"h-8 text-sm",disabled:v}),f.jsx("div",{className:"max-h-40 space-y-1 overflow-y-auto",children:v?f.jsx("div",{className:"py-4 text-center text-sm",children:"Loading data models..."}):x?f.jsx(k0,{title:"Error loading data models",message:x.message||"Failed to load data models. Please try again.",onRetry:()=>window.location.reload()}):N.length===0?f.jsx("div",{className:"py-4 text-center text-sm",children:"No data models found"}):N.map(k=>{const M=n.some(D=>D.name===k.name&&D.type==="model");return f.jsxs("div",{className:"ounded flex items-start space-x-2 p-2 hover:bg-muted",children:[f.jsx(Br,{id:`dataModel-${k.name}`,checked:M,onCheckedChange:()=>E(k),disabled:v}),f.jsxs("div",{className:"flex flex-col gap-1",children:[f.jsx(he,{htmlFor:`dataModel-${k.name}`,children:k.name}),f.jsx("span",{className:"text-xs text-muted-foreground",children:k.description})]})]},k.name)})})]}),f.jsx(gi,{value:"views",className:"space-y-2",children:f.jsx("div",{className:"py-4 text-center text-sm",children:"Views support coming soon"})})]})})})]})]})]})}function HFe({dataSource:e,onDataSourceUpdate:t,onSelectionChange:n,selectedEntities:r}){var m;const[o,i]=R.useState(""),{semanticDomains:s,isPending:a,error:l}=PU(),{datasets:c,isPending:u,error:d}=OFe(e==null?void 0:e.semanticDomainId),h=b=>{const y={...e,connectionId:e.connectionId||"none",connectionType:e.connectionType||"none",mode:"semanticDomain",semanticDomainId:b};t({...y})},p=b=>{const y=r||[],v=y.some(S=>S.id===b.id&&S.type==="dataset");let x;if(v)x=y.filter(S=>!(S.id===b.id&&S.type==="dataset"));else{const S={id:b.id,datasetType:b.type,name:b.name||b.table,label:b.label,domainId:b.domainId,description:b.description,database:b.database,schema:b.schema,type:"dataset",connectionId:b.connectionId,connectionType:b.connectionType,datamodelId:b.datamodelId,sql:b.sql};x=[...y,S]}n==null||n(x)},g=c.filter(b=>b.name.toLowerCase().includes(o.toLowerCase()));return f.jsxs("div",{className:"space-y-4",children:[f.jsxs("div",{className:"space-y-2",children:[f.jsx(he,{className:"text-sm font-medium",children:"Semantic Domain"}),f.jsxs(Pt,{value:(e==null?void 0:e.semanticDomainId)||"",onValueChange:h,disabled:a,children:[f.jsx(St,{className:"w-full",children:f.jsx(At,{placeholder:a?"Loading semantic domains...":"Select semantic domain...",children:((m=s.find(b=>b.id===(e==null?void 0:e.semanticDomainId)))==null?void 0:m.label)||"Select semantic domain"})}),f.jsx(Et,{children:s.map(b=>f.jsx(xe,{className:"hover:bg-muted",value:b.id,children:f.jsxs("div",{className:"flex flex-col items-start",children:[f.jsx("span",{className:"font-medium",children:b.label}),f.jsx("span",{className:"text-xs",children:b.description})]})},b.id))})]}),l&&f.jsx(k0,{title:"Error loading semantic models",message:l.message})]}),(e==null?void 0:e.semanticDomainId)&&f.jsxs("div",{className:"space-y-2",children:[f.jsx(he,{className:"text-sm font-medium text-gray-700",children:"Datasets"}),f.jsxs("div",{className:"space-y-2",children:[f.jsx(zn,{placeholder:"Search datasets...",value:o,onChange:b=>i(b.target.value),className:"h-8 text-sm",disabled:u}),f.jsx("div",{className:"max-h-40 space-y-1 overflow-y-auto",children:u?f.jsx("div",{className:"py-4 text-center text-sm text-gray-500",children:"Loading datasets..."}):d?f.jsx(k0,{title:"Error loading datasets",message:d.message||"Failed to load datasets. Please try again.",onRetry:()=>window.location.reload()}):g.length===0?f.jsx("div",{className:"py-4 text-center text-sm text-gray-500",children:o?"No datasets match your search":"No datasets available"}):g.map(b=>{const y=r.some(v=>v.id===b.id&&v.type==="dataset");return f.jsxs("div",{className:"flex items-start space-x-2 rounded p-2 hover:bg-gray-50",children:[f.jsx(Br,{id:`dataset-${b.id}`,checked:y,onCheckedChange:()=>p(b),disabled:u}),f.jsxs("div",{className:"flex flex-col gap-1",children:[f.jsx(he,{htmlFor:`dataset-${b.id}`,className:"font-medium",children:b.label||b.name}),f.jsx("span",{className:"text-xs text-gray-500",children:b.description})]})]},b.label||b.name)})})]})]})]})}function DU({open:e,onOpenChange:t,dataSource:n,fallbackDataSource:r,dialogMode:o,incomingSelectedEntities:i}){const[s,a]=R.useState([]),{updateDataSource:l}=Jo(),c=oe(x=>x.isVisualEditing),u=oe(x=>x.dashboard.aiContext),{setAiContext:d}=an(),{semanticDomains:h}=PU();R.useEffect(()=>{e&&a(i||[])},[e,n==null?void 0:n.selectedEntities,o,l,i,n]);const p=x=>{const S=s.filter(_=>!(_.name===x.name&&_.type===x.type));a(S)},g=()=>{a([]),o==="aiContext"&&(d({...u,selectedEntities:[]}),t(!1)),o==="dataSource"&&(l({...r,...n,selectedEntities:[]}),t(!1))},m=R.useCallback(x=>{l({...n,connectionId:(n==null?void 0:n.connectionId)||"",connectionType:(n==null?void 0:n.connectionType)||"",mode:x,selectedEntities:(n==null?void 0:n.selectedEntities)||[]})},[n,l]),b=R.useCallback(x=>{l({...n,...x})},[n,l]),y=R.useCallback(x=>{a(x)},[]);function v(){var x,S;if(o==="aiContext"){const{selectedEntities:_,...E}=n;c&&l(n),d({...u,selectedEntities:s}),t(!1)}else if(o==="dataSource"){if(n.mode==="semanticDomain"){const _=(x=s==null?void 0:s[0])==null?void 0:x.connectionId,E=(S=s==null?void 0:s[0])==null?void 0:S.connectionType;l({...n,connectionId:_,connectionType:E,selectedEntities:s})}else l({...n,selectedEntities:s});t(!1)}}return h&&h.length>0,f.jsx(cy,{open:e,onOpenChange:t,children:f.jsx(dp,{className:"flex max-w-2xl flex-col",children:f.jsxs("div",{children:[f.jsxs(fp,{className:"flex-shrink-0",children:[f.jsx(pp,{children:o==="aiContext"?"AI Context":"Select Data Source"}),f.jsx(mp,{children:o==="aiContext"?"Set the overall data scope for the Assistant":"Select data sets to analyze"})]}),f.jsx("div",{className:"flex-1 grow overflow-y-auto py-4",children:f.jsxs("div",{className:"space-y-4",children:[f.jsx("div",{className:"space-y-2",children:f.jsx(dd,{defaultValue:(n==null?void 0:n.mode)||"database",value:(n==null?void 0:n.mode)||"database",onValueChange:m,className:"w-full",children:f.jsxs(dc,{className:"grid w-full grid-cols-2",children:[f.jsx(eo,{value:"database",children:"Direct Source"}),f.jsx(eo,{value:"semanticDomain",children:"Semantic Domain"})]})})}),(n==null?void 0:n.mode)==="semanticDomain"&&f.jsx(HFe,{dataSource:n,onDataSourceUpdate:b,selectedEntities:s,onSelectionChange:y}),(n==null?void 0:n.mode)==="database"&&f.jsx(VFe,{dataSource:n,onDataSourceUpdate:b,selectedEntities:s,onSelectionChange:y})]})}),f.jsx(jFe,{selectedEntities:s,onDeselectEntity:p}),f.jsx(hp,{className:"flex-shrink-0",children:f.jsx("div",{className:"flex w-full justify-between",children:f.jsxs("div",{className:"flex grow justify-end gap-2",children:[f.jsx(Ee,{variant:"outline",onClick:g,disabled:s.length===0,children:"Clear All"}),f.jsx(Ee,{variant:"outline",onClick:()=>t(!1),children:"Close"}),f.jsx(Ee,{onClick:v,disabled:s.length===0,children:"Add"})]})})})]})})})}const dE={connectionId:"",connectionType:"none",mode:"semanticDomain",selectedEntities:[]},WFe=[{title:"Show top 3 insights",subtitle:"from this dataset"},{title:"Create a bar chart for",subtitle:"sales by product category"}];function UFe({open:e,setOpen:t}){const[n,r]=R.useState(!1),[o,i]=R.useState(nb),[s,a]=R.useState(!1),[l,c]=R.useState(!1),u=R.useRef(null),d=R.useRef(null);oe($=>$.dashboard.aiScopeTables);const h=oe($=>$.isDashboardEditing),{setDataSource:p}=Jo(),g=cR(),{setCurrentAIContext:m,updateSelectedEntities:b}=uR(),y=oe($=>$.dashboard.aiContext),v=Re($=>$.card.dataSource),{assistantProfile:x}=_U(),S=oe($=>$.handleOpenAssistantProfile),{append:_,handleAddNewFrame:E,isLoading:C,handleSubmit:N,handleInputChange:k,input:M,setInput:D,messages:P,setMessages:j,reload:O,status:T,stop:F,errorMessage:L}=kFe(g);EU({scrollContainerRef:d,inputRef:u,messages:P}),R.useEffect(()=>{var $;e&&(($=u.current)==null||$.focus())},[e]);function V($){H();const U={role:"user",content:$.title+" "+$.subtitle};_(U)}function z($){H(),_({role:"user",content:$})}function I(){var q;const $=(q=y==null?void 0:y.selectedEntities)==null?void 0:q[0],U={connectionId:($==null?void 0:$.connectionId)||"",connectionType:($==null?void 0:$.connectionType)||"",mode:($==null?void 0:$.type)==="dataset"?"semanticDomain":"database",dbSelection:{database:($==null?void 0:$.database)||"",schema:($==null?void 0:$.schema)||"",entityType:($==null?void 0:$.type)||"table"},selectedEntities:(y==null?void 0:y.selectedEntities)||[]};p(U),c(!0)}function H(){g.selectedEntities.length===0&&m({selectedEntities:(y==null?void 0:y.selectedEntities)||[]})}const B=(M==null?void 0:M.length)===0&&(P==null?void 0:P.filter($=>$.role==="user").length)===0;function A(){return f.jsx("div",{"data-role":"header",children:f.jsx("div",{className:"text-lg font-semibold",children:"Assistant"})})}function W(){return f.jsxs(Lp,{children:[f.jsx($p,{asChild:!0,children:f.jsx(tu,{className:"h-7 p-2 text-muted-foreground hover:text-foreground",children:f.jsx(h_,{className:"size-3.5"})})}),f.jsxs(Rd,{align:"end",children:[f.jsx(hu,{children:"Options"}),f.jsx(zp,{}),f.jsx(Bf,{checked:n,onCheckedChange:r,children:"Token Usage"}),f.jsx(Bf,{checked:o,onCheckedChange:i,children:"Tool Invocations"}),f.jsx(Bf,{checked:s,onCheckedChange:a,children:"System Message"})]})]})}return f.jsxs("div",{"data-role":"dashboard-assistant",className:"flex h-full grow flex-col justify-between break-words px-6 py-4",children:[f.jsxs("div",{"data-role":"header-section",className:"flex items-start justify-between gap-2",children:[A(),S&&f.jsx(Ee,{variant:"outline",size:"sm",className:"h-7 p-2",onClick:S,children:(x==null?void 0:x.name)||"Default Profile"}),f.jsxs("div",{"data-role":"header-actions",className:"flex items-center gap-2",children:[W(),(h||nb)&&f.jsx(tu,{tooltip:"Add Context",className:"h-7 p-2 text-muted-foreground hover:text-foreground",onClick:I,children:f.jsx(la,{className:"size-4"})}),f.jsx(tu,{className:"h-7 p-2 text-muted-foreground hover:text-foreground",tooltip:"New Chat",onClick:()=>{j([]),O()},children:f.jsx(mF,{className:"size-4"})}),f.jsx(tu,{className:"h-7 p-2 text-muted-foreground hover:text-foreground",onClick:()=>{t(!1)},children:f.jsx(m_,{className:"size-4"})})]})]}),f.jsxs(kd,{"data-role":"dashboard-assistant-scroll-area",ref:d,className:"mt-4 flex flex-1 basis-0 flex-col flex-wrap justify-end pr-2",children:[f.jsxs("div",{className:"space-y-3 pb-4",children:[f.jsx(YW,{showTools:o,showSystemMessage:s,messages:P,onAddToDashboard:E}),f.jsx(qW,{messages:P,chatStatus:T,errorMessage:L})]}),f.jsx(Na,{orientation:"horizontal"})]}),f.jsxs("div",{className:"space-y-3",children:[!x&&B&&f.jsx(KW,{onClick:V,placeholders:WFe}),f.jsx("div",{children:B&&x&&f.jsx(RU,{seedQuestions:x.seedQuestions||[],handleSeedQuestionClick:z})}),f.jsx(NU,{ref:u,setInput:D,stop:F,input:M,handleInputChange:k,handleSubmit:$=>{H(),N($)},isLoading:C,onFocus:()=>{}})]}),f.jsx(DU,{incomingSelectedEntities:(y==null?void 0:y.selectedEntities)||[],open:l,onOpenChange:c,dataSource:v||dE,fallbackDataSource:dE,dialogMode:"aiContext"})]})}var GFe=e=>{switch(e){case"success":return KFe;case"info":return QFe;case"warning":return XFe;case"error":return ZFe;default:return null}},qFe=Array(12).fill(0),YFe=({visible:e,className:t})=>R.createElement("div",{className:["sonner-loading-wrapper",t].filter(Boolean).join(" "),"data-visible":e},R.createElement("div",{className:"sonner-spinner"},qFe.map((n,r)=>R.createElement("div",{className:"sonner-loading-bar",key:`spinner-bar-${r}`})))),KFe=R.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},R.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z",clipRule:"evenodd"})),XFe=R.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"},R.createElement("path",{fillRule:"evenodd",d:"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z",clipRule:"evenodd"})),QFe=R.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},R.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z",clipRule:"evenodd"})),ZFe=R.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},R.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})),JFe=R.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"},R.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),R.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"})),e4e=()=>{let[e,t]=R.useState(document.hidden);return R.useEffect(()=>{let n=()=>{t(document.hidden)};return document.addEventListener("visibilitychange",n),()=>window.removeEventListener("visibilitychange",n)},[]),e},fE=1,t4e=class{constructor(){this.subscribe=e=>(this.subscribers.push(e),()=>{let t=this.subscribers.indexOf(e);this.subscribers.splice(t,1)}),this.publish=e=>{this.subscribers.forEach(t=>t(e))},this.addToast=e=>{this.publish(e),this.toasts=[...this.toasts,e]},this.create=e=>{var t;let{message:n,...r}=e,o=typeof(e==null?void 0:e.id)=="number"||((t=e.id)==null?void 0:t.length)>0?e.id:fE++,i=this.toasts.find(a=>a.id===o),s=e.dismissible===void 0?!0:e.dismissible;return this.dismissedToasts.has(o)&&this.dismissedToasts.delete(o),i?this.toasts=this.toasts.map(a=>a.id===o?(this.publish({...a,...e,id:o,title:n}),{...a,...e,id:o,dismissible:s,title:n}):a):this.addToast({title:n,...r,dismissible:s,id:o}),o},this.dismiss=e=>(this.dismissedToasts.add(e),e||this.toasts.forEach(t=>{this.subscribers.forEach(n=>n({id:t.id,dismiss:!0}))}),this.subscribers.forEach(t=>t({id:e,dismiss:!0})),e),this.message=(e,t)=>this.create({...t,message:e}),this.error=(e,t)=>this.create({...t,message:e,type:"error"}),this.success=(e,t)=>this.create({...t,type:"success",message:e}),this.info=(e,t)=>this.create({...t,type:"info",message:e}),this.warning=(e,t)=>this.create({...t,type:"warning",message:e}),this.loading=(e,t)=>this.create({...t,type:"loading",message:e}),this.promise=(e,t)=>{if(!t)return;let n;t.loading!==void 0&&(n=this.create({...t,promise:e,type:"loading",message:t.loading,description:typeof t.description!="function"?t.description:void 0}));let r=e instanceof Promise?e:e(),o=n!==void 0,i,s=r.then(async l=>{if(i=["resolve",l],R.isValidElement(l))o=!1,this.create({id:n,type:"default",message:l});else if(r4e(l)&&!l.ok){o=!1;let c=typeof t.error=="function"?await t.error(`HTTP error! status: ${l.status}`):t.error,u=typeof t.description=="function"?await t.description(`HTTP error! status: ${l.status}`):t.description;this.create({id:n,type:"error",message:c,description:u})}else if(t.success!==void 0){o=!1;let c=typeof t.success=="function"?await t.success(l):t.success,u=typeof t.description=="function"?await t.description(l):t.description;this.create({id:n,type:"success",message:c,description:u})}}).catch(async l=>{if(i=["reject",l],t.error!==void 0){o=!1;let c=typeof t.error=="function"?await t.error(l):t.error,u=typeof t.description=="function"?await t.description(l):t.description;this.create({id:n,type:"error",message:c,description:u})}}).finally(()=>{var l;o&&(this.dismiss(n),n=void 0),(l=t.finally)==null||l.call(t)}),a=()=>new Promise((l,c)=>s.then(()=>i[0]==="reject"?c(i[1]):l(i[1])).catch(c));return typeof n!="string"&&typeof n!="number"?{unwrap:a}:Object.assign(n,{unwrap:a})},this.custom=(e,t)=>{let n=(t==null?void 0:t.id)||fE++;return this.create({jsx:e(n),id:n,...t}),n},this.getActiveToasts=()=>this.toasts.filter(e=>!this.dismissedToasts.has(e.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}},Tr=new t4e,n4e=(e,t)=>{let n=(t==null?void 0:t.id)||fE++;return Tr.addToast({title:e,...t,id:n}),n},r4e=e=>e&&typeof e=="object"&&"ok"in e&&typeof e.ok=="boolean"&&"status"in e&&typeof e.status=="number",o4e=n4e,i4e=()=>Tr.toasts,s4e=()=>Tr.getActiveToasts(),IU=Object.assign(o4e,{success:Tr.success,info:Tr.info,warning:Tr.warning,error:Tr.error,custom:Tr.custom,message:Tr.message,promise:Tr.promise,dismiss:Tr.dismiss,loading:Tr.loading},{getHistory:i4e,getToasts:s4e});function a4e(e,{insertAt:t}={}){if(typeof document>"u")return;let n=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css",t==="top"&&n.firstChild?n.insertBefore(r,n.firstChild):n.appendChild(r),r.styleSheet?r.styleSheet.cssText=e:r.appendChild(document.createTextNode(e))}a4e(`:where(html[dir="ltr"]),:where([data-sonner-toaster][dir="ltr"]){--toast-icon-margin-start: -3px;--toast-icon-margin-end: 4px;--toast-svg-margin-start: -1px;--toast-svg-margin-end: 0px;--toast-button-margin-start: auto;--toast-button-margin-end: 0;--toast-close-button-start: 0;--toast-close-button-end: unset;--toast-close-button-transform: translate(-35%, -35%)}:where(html[dir="rtl"]),:where([data-sonner-toaster][dir="rtl"]){--toast-icon-margin-start: 4px;--toast-icon-margin-end: -3px;--toast-svg-margin-start: 0px;--toast-svg-margin-end: -1px;--toast-button-margin-start: 0;--toast-button-margin-end: auto;--toast-close-button-start: unset;--toast-close-button-end: 0;--toast-close-button-transform: translate(35%, -35%)}:where([data-sonner-toaster]){position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1: hsl(0, 0%, 99%);--gray2: hsl(0, 0%, 97.3%);--gray3: hsl(0, 0%, 95.1%);--gray4: hsl(0, 0%, 93%);--gray5: hsl(0, 0%, 90.9%);--gray6: hsl(0, 0%, 88.7%);--gray7: hsl(0, 0%, 85.8%);--gray8: hsl(0, 0%, 78%);--gray9: hsl(0, 0%, 56.1%);--gray10: hsl(0, 0%, 52.3%);--gray11: hsl(0, 0%, 43.5%);--gray12: hsl(0, 0%, 9%);--border-radius: 8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:none;z-index:999999999;transition:transform .4s ease}:where([data-sonner-toaster][data-lifted="true"]){transform:translateY(-10px)}@media (hover: none) and (pointer: coarse){:where([data-sonner-toaster][data-lifted="true"]){transform:none}}:where([data-sonner-toaster][data-x-position="right"]){right:var(--offset-right)}:where([data-sonner-toaster][data-x-position="left"]){left:var(--offset-left)}:where([data-sonner-toaster][data-x-position="center"]){left:50%;transform:translate(-50%)}:where([data-sonner-toaster][data-y-position="top"]){top:var(--offset-top)}:where([data-sonner-toaster][data-y-position="bottom"]){bottom:var(--offset-bottom)}:where([data-sonner-toast]){--y: translateY(100%);--lift-amount: calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);filter:blur(0);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:none;overflow-wrap:anywhere}:where([data-sonner-toast][data-styled="true"]){padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px #0000001a;width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}:where([data-sonner-toast]:focus-visible){box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}:where([data-sonner-toast][data-y-position="top"]){top:0;--y: translateY(-100%);--lift: 1;--lift-amount: calc(1 * var(--gap))}:where([data-sonner-toast][data-y-position="bottom"]){bottom:0;--y: translateY(100%);--lift: -1;--lift-amount: calc(var(--lift) * var(--gap))}:where([data-sonner-toast]) :where([data-description]){font-weight:400;line-height:1.4;color:inherit}:where([data-sonner-toast]) :where([data-title]){font-weight:500;line-height:1.5;color:inherit}:where([data-sonner-toast]) :where([data-icon]){display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}:where([data-sonner-toast][data-promise="true"]) :where([data-icon])>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}:where([data-sonner-toast]) :where([data-icon])>*{flex-shrink:0}:where([data-sonner-toast]) :where([data-icon]) svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}:where([data-sonner-toast]) :where([data-content]){display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;cursor:pointer;outline:none;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}:where([data-sonner-toast]) :where([data-button]):focus-visible{box-shadow:0 0 0 2px #0006}:where([data-sonner-toast]) :where([data-button]):first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}:where([data-sonner-toast]) :where([data-cancel]){color:var(--normal-text);background:rgba(0,0,0,.08)}:where([data-sonner-toast][data-theme="dark"]) :where([data-cancel]){background:rgba(255,255,255,.3)}:where([data-sonner-toast]) :where([data-close-button]){position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast] [data-close-button]{background:var(--gray1)}:where([data-sonner-toast]) :where([data-close-button]):focus-visible{box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}:where([data-sonner-toast]) :where([data-disabled="true"]){cursor:not-allowed}:where([data-sonner-toast]):hover :where([data-close-button]):hover{background:var(--gray2);border-color:var(--gray5)}:where([data-sonner-toast][data-swiping="true"]):before{content:"";position:absolute;left:-50%;right:-50%;height:100%;z-index:-1}:where([data-sonner-toast][data-y-position="top"][data-swiping="true"]):before{bottom:50%;transform:scaleY(3) translateY(50%)}:where([data-sonner-toast][data-y-position="bottom"][data-swiping="true"]):before{top:50%;transform:scaleY(3) translateY(-50%)}:where([data-sonner-toast][data-swiping="false"][data-removed="true"]):before{content:"";position:absolute;inset:0;transform:scaleY(2)}:where([data-sonner-toast]):after{content:"";position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}:where([data-sonner-toast][data-mounted="true"]){--y: translateY(0);opacity:1}:where([data-sonner-toast][data-expanded="false"][data-front="false"]){--scale: var(--toasts-before) * .05 + 1;--y: translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}:where([data-sonner-toast])>*{transition:opacity .4s}:where([data-sonner-toast][data-expanded="false"][data-front="false"][data-styled="true"])>*{opacity:0}:where([data-sonner-toast][data-visible="false"]){opacity:0;pointer-events:none}:where([data-sonner-toast][data-mounted="true"][data-expanded="true"]){--y: translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}:where([data-sonner-toast][data-removed="true"][data-front="true"][data-swipe-out="false"]){--y: translateY(calc(var(--lift) * -100%));opacity:0}:where([data-sonner-toast][data-removed="true"][data-front="false"][data-swipe-out="false"][data-expanded="true"]){--y: translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}:where([data-sonner-toast][data-removed="true"][data-front="false"][data-swipe-out="false"][data-expanded="false"]){--y: translateY(40%);opacity:0;transition:transform .5s,opacity .2s}:where([data-sonner-toast][data-removed="true"][data-front="false"]):before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y, 0px)) translate(var(--swipe-amount-x, 0px));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{0%{transform:var(--y) translate(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translate(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{0%{transform:var(--y) translate(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translate(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{0%{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{0%{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width: 600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-theme=light]{--normal-bg: #fff;--normal-border: var(--gray4);--normal-text: var(--gray12);--success-bg: hsl(143, 85%, 96%);--success-border: hsl(145, 92%, 91%);--success-text: hsl(140, 100%, 27%);--info-bg: hsl(208, 100%, 97%);--info-border: hsl(221, 91%, 91%);--info-text: hsl(210, 92%, 45%);--warning-bg: hsl(49, 100%, 97%);--warning-border: hsl(49, 91%, 91%);--warning-text: hsl(31, 92%, 45%);--error-bg: hsl(359, 100%, 97%);--error-border: hsl(359, 100%, 94%);--error-text: hsl(360, 100%, 45%)}[data-sonner-toaster][data-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg: #000;--normal-border: hsl(0, 0%, 20%);--normal-text: var(--gray1)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg: #fff;--normal-border: var(--gray3);--normal-text: var(--gray12)}[data-sonner-toaster][data-theme=dark]{--normal-bg: #000;--normal-bg-hover: hsl(0, 0%, 12%);--normal-border: hsl(0, 0%, 20%);--normal-border-hover: hsl(0, 0%, 25%);--normal-text: var(--gray1);--success-bg: hsl(150, 100%, 6%);--success-border: hsl(147, 100%, 12%);--success-text: hsl(150, 86%, 65%);--info-bg: hsl(215, 100%, 6%);--info-border: hsl(223, 100%, 12%);--info-text: hsl(216, 87%, 65%);--warning-bg: hsl(64, 100%, 6%);--warning-border: hsl(60, 100%, 12%);--warning-text: hsl(46, 87%, 65%);--error-bg: hsl(358, 76%, 10%);--error-border: hsl(357, 89%, 16%);--error-text: hsl(358, 100%, 81%)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success],[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info],[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning],[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error],[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size: 16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:nth-child(1){animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}to{opacity:.15}}@media (prefers-reduced-motion){[data-sonner-toast],[data-sonner-toast]>*,.sonner-loading-bar{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}
637
+ `})]})});kU.displayName="HighlightedInput";function IFe({availableEntities:e,localAiContext:t,setLocalAiContext:n}){const[r,o]=R.useState(""),[i,s]=R.useState(!1),[a,l]=R.useState(0),c=R.useRef(null),u=P=>"label"in P?P.label:P.name,d=P=>t.selectedEntities.some(j=>"id"in P&&"id"in j?P.id===j.id:P.name===j.name&&P.connectionId===j.connectionId),h=P=>{if(!P)return;P.focus();const j=window.getSelection();if(j){const O=document.createRange();O.selectNodeContents(P),O.collapse(!1),j.removeAllRanges(),j.addRange(O)}},p=P=>{const j=P.target.value,O=P.target.selectionStart||0;o(j),l(O);const T=j.slice(0,O),F=T.lastIndexOf("@");if(F!==-1){const L=T.slice(F+1),V=(F===0||/\s/.test(T[F-1]))&&!L.includes(" ");s(V)}else s(!1)},g=P=>{P.key==="Escape"&&i&&(P.preventDefault(),s(!1),setTimeout(()=>{if(P.currentTarget){P.currentTarget.focus();const j=window.getSelection();if(j){const O=document.createRange();O.selectNodeContents(P.currentTarget),O.collapse(!1),j.removeAllRanges(),j.addRange(O)}}},0))},m=P=>{const j=u(P),T=r.slice(0,a).lastIndexOf("@");if(T!==-1){const F=r.slice(0,T),L=r.slice(a),V=F+"@"+j+" "+L;o(V);const z=T+j.length+2;l(z)}},b=P=>{const O=`@${u(P)}`,T=r.indexOf(O);if(T!==-1){const F=r.slice(0,T),L=r.slice(T+O.length),V=F+(L.startsWith(" ")?L.slice(1):L);o(V),l(T)}},y=P=>{const j=[...t.selectedEntities,P];n({selectedEntities:j})},v=P=>{const j=t.selectedEntities.filter(O=>"id"in P&&"id"in O?P.id!==O.id:!(P.name===O.name&&P.connectionId===O.connectionId));n({selectedEntities:j})},x=P=>{d(P)?(v(P),b(P)):(y(P),m(P))},S=P=>{x(P)},_=P=>{d(P)||y(P),m(P),s(!1),setTimeout(()=>h(c.current),0)},E=P=>{v(P),b(P)},C=P=>{P.forEach(j=>{v(j),b(j)})},N=()=>{n({selectedEntities:[...e]}),e.forEach((P,j)=>{u(P)})},k=()=>{n({selectedEntities:[]});let P=r;t.selectedEntities.forEach(j=>{const T=`@${u(j)}`;P=P.replace(new RegExp(`${T}\\s?`,"g"),"")}),o(P),l(P.length)},M=R.useCallback(()=>{s(!1),setTimeout(()=>h(c.current),0)},[c]);return R.useEffect(()=>{const P=O=>{const T=O.target;!T.closest('[data-dropdown="entity-mention"]')&&!T.closest(".entity-dropdown-container")&&i&&M()},j=O=>{O.key==="Escape"&&i&&M()};return i&&(document.addEventListener("mousedown",P),document.addEventListener("keydown",j)),()=>{document.removeEventListener("mousedown",P),document.removeEventListener("keydown",j)}},[i,M]),{message:r,setMessage:o,showMentionDropdown:i,setShowMentionDropdown:s,cursorPosition:a,mainInputRef:c,handleTextareaChange:p,handleKeyDown:g,handleEntitySelect:x,handleEntityDeselect:S,handleMainTabComplete:_,handleRemoveEntity:E,handleAddAllEntities:N,handleRemoveEntities:C,handleRemoveAllEntities:k,closeDropdownAndFocus:M,handleMainAtButtonClick:()=>{s(!0),setTimeout(()=>h(c.current),0)},focusInputElement:h}}const NU=R.forwardRef(({input:e,setInput:t,handleSubmit:n,isLoading:r,stop:o,onFocus:i},s)=>{const a=cR(),{setCurrentAIContext:l}=uR(),c=oe(D=>{var P;return(P=D.dashboard.aiContext)==null?void 0:P.selectedEntities}),{message:u,setMessage:d,showMentionDropdown:h,setShowMentionDropdown:p,mainInputRef:g,handleTextareaChange:m,handleKeyDown:b,handleEntitySelect:y,handleEntityDeselect:v,handleMainTabComplete:x,handleRemoveEntity:S,handleRemoveEntities:_,handleAddAllEntities:E,handleRemoveAllEntities:C,handleMainAtButtonClick:N,focusInputElement:k}=IFe({availableEntities:c||[],localAiContext:a,setLocalAiContext:l});R.useEffect(()=>{d(e)},[e,d]),R.useEffect(()=>{t(u)},[u,t]);const M=D=>{u.trim()&&(n({preventDefault:()=>{}}),d(""))};return f.jsxs("div",{className:"space-y-4",children:[f.jsx(AFe,{entities:a.selectedEntities,availableEntities:c||[],onRemoveEntity:S,onRemoveEntities:_}),f.jsxs("div",{className:"relative",children:[f.jsx(kU,{value:u,onChange:m,onKeyDown:D=>{b(D),D.key==="Enter"&&!D.shiftKey&&(D.preventDefault(),M())},onFocus:D=>{i==null||i(),u.includes("@")&&p(!0)},placeholder:"What question do you have?",className:"pr-12placeholder-gray-400 min-h-[100px] resize-none border-foreground/20",isTextarea:!0,availableEntities:c||[],"data-input":"main",ref:g}),f.jsx(Ee,{variant:"outline",size:"sm",className:"absolute bottom-3 left-3 h-7 px-2",onClick:N,title:"Add entity",children:f.jsx(nJ,{className:"h-4 w-4 text-muted-foreground"})}),f.jsxs("div",{className:"absolute bottom-3 right-3 flex items-center gap-2",children:[r===!0&&f.jsx(Ee,{size:"sm",onClick:()=>o(),children:f.jsx(fJ,{className:"size-3.5 bg-background"})}),r===!1&&f.jsx(Ee,{disabled:r===!1&&!e,size:"sm",onClick:()=>M(),children:f.jsx(yJ,{className:"size-4"})})]}),h&&f.jsx("div",{className:"entity-dropdown-container absolute left-0 z-50","data-dropdown":"entity-mention",style:{bottom:"100%",marginBottom:"0.5rem",width:"20rem",maxWidth:"100%"},ref:D=>{D&&D.getBoundingClientRect().top<10&&(D.style.bottom="auto",D.style.top="100%",D.style.marginBottom="0",D.style.marginTop="0.5rem")},children:f.jsx(MFe,{isOpen:h,onSelect:y,onDeselect:v,onClose:()=>{p(!1),setTimeout(()=>k(g.current),0)},availableEntities:c||[],selectedEntities:a.selectedEntities,onTabComplete:x,onSelectAll:E,onRemoveAll:C})})]})]})});function MU(e){return e.type==="dataset"&&e.label||e.name}function TFe(e){const t=[];return t.push({label:"Type",value:e.type}),t.push({label:"Name",value:e.name}),e.connectionType&&t.push({label:"Connection",value:e.connectionType}),e.database&&t.push({label:"Database",value:e.database}),e.schema&&t.push({label:"Schema",value:e.schema}),e.type==="dataset"&&e.label&&t.push({label:"Label",value:e.label}),e.type==="dataset"&&e.description&&t.push({label:"Description",value:e.description}),e.type==="model"&&e.label&&t.push({label:"Label",value:e.label}),e.type==="model"&&e.description&&t.push({label:"Description",value:e.description}),t}function jFe({selectedEntities:e,onDeselectEntity:t}){return e.length===0?null:f.jsxs("div",{className:"mb-4 space-y-2",children:[f.jsxs(he,{className:"mb-2 text-xs font-medium text-muted-foreground",children:["Selected Entities (",e.length,")"]}),f.jsx("div",{className:"flex flex-wrap gap-1",children:e.map((n,r)=>f.jsxs(to,{variant:"secondary",className:"group relative cursor-pointer pr-6 text-xs transition-colors hover:border-red-200 hover:bg-red-50 dark:hover:border-red-800 dark:hover:bg-red-950",children:[f.jsxs("span",{className:"mr-1 text-gray-500",children:["[",n.type,"]"]}),MU(n),f.jsx("button",{onClick:o=>{o.stopPropagation(),t(n)},className:"absolute right-1 top-1/2 -translate-y-1/2 rounded-full p-0.5 opacity-0 transition-opacity hover:bg-red-100 group-hover:opacity-100",children:f.jsx(or,{className:"h-2.5 w-2.5 text-red-500"})})]},`${n.type}-${n.name}-${r}`))})]})}function PU(e){const t=oe(a=>a.authToken)||e;Re(a=>a.selectedConnectionId),Re(a=>{var l,c;return(c=(l=a==null?void 0:a.card)==null?void 0:l.dataSource)==null?void 0:c.connectionId});const{refetch:n,isPending:r,data:o,isLoading:i,isError:s}=Tn({queryKey:["semantic-domains"],queryFn:()=>vr("https://semaphor.cloud/api/v1/domains",(t==null?void 0:t.accessToken)||""),enabled:!!(t!=null&&t.accessToken)});return{isPending:r,error:s,semanticDomainsData:o,semanticDomains:(o==null?void 0:o.domains)||[],isSemanticDomainsLoading:i,isSemanticDomainsError:s,refetchSemanticDomains:n}}function OFe(e,t){const n=oe(l=>l.authToken)||t,{refetch:r,isPending:o,data:i,isLoading:s,isError:a}=Tn({queryKey:["datasets",e],queryFn:()=>vr("https://semaphor.cloud/api/v1/datasets",(n==null?void 0:n.accessToken)||"",{domainId:e}),enabled:!!(n!=null&&n.accessToken)&&!!e});return{isPending:o,error:a,datasets:(i==null?void 0:i.datasets)||[],isDatasetsLoading:s,isDatasetsError:a,refetchDatasets:r}}function FFe(e){var g,m;const t=oe(b=>b.authToken)||e,{connections:n}=Li(e),r=Re(b=>{var y,v;return(v=(y=b==null?void 0:b.card)==null?void 0:y.dataSource)==null?void 0:v.connectionId}),o=n==null?void 0:n.find(b=>b.id===r),i=o==null?void 0:o.type,s=o==null?void 0:o.capabilities,a=((g=s==null?void 0:s.labels)==null?void 0:g.database)||"Database";function l(b){return r&&b?!(b==="API"||b==="S3"):!1}const{data:c,isPending:u,error:d,refetch:h}=Tn({queryKey:["databases",r],queryFn:()=>vr("https://semaphor.cloud/api/v1/databases",(t==null?void 0:t.accessToken)||"",{connection_id:r}),enabled:l(i)}),p=(m=c==null?void 0:c.databases)==null?void 0:m.map(b=>({id:b.database_name,name:b.database_name}));return{isPending:u,error:d,databases:p||[],refetch:h,label:a}}function LFe(e){var g;const t=oe(m=>m.authToken)||e,{connections:n}=Li(e),r=Re(m=>{var b,y;return(y=(b=m==null?void 0:m.card)==null?void 0:b.dataSource)==null?void 0:y.connectionId}),o=Re(m=>{var b,y,v;return(v=(y=(b=m==null?void 0:m.card)==null?void 0:b.dataSource)==null?void 0:y.dbSelection)==null?void 0:v.database}),i=n==null?void 0:n.find(m=>m.id===r),s=i==null?void 0:i.capabilities,a=((g=s==null?void 0:s.labels)==null?void 0:g.schema)||"Schema";function l(){return!(!r||(i==null?void 0:i.type)==="API"||(i==null?void 0:i.type)==="S3"||!o||!(s!=null&&s.path.includes("schema")))}const{data:c,isPending:u,error:d,refetch:h}=Tn({queryKey:["schemas",r,o],queryFn:()=>vr("https://semaphor.cloud/api/v1/schemas",(t==null?void 0:t.accessToken)||"",{connection_id:r,database_name:o}),enabled:l()}),p=c==null?void 0:c.schemas.map(m=>({id:m.schema_name,name:m.schema_name}));return{isPending:u,error:d,schemas:p||[],refetch:h,label:a}}function AU(e){const t=oe(d=>d.authToken)||e,{connections:n}=Li(e),r=Re(d=>{var h,p;return(p=(h=d==null?void 0:d.card)==null?void 0:h.dataSource)==null?void 0:p.connectionId}),o=n.find(d=>d.id===r);function i(){return!(!(t!=null&&t.accessToken)||!r)}const{data:s,isPending:a,error:l,refetch:c}=Tn({queryKey:["dataModels",r],queryFn:()=>vr("https://semaphor.cloud/api/v1/datamodels",(t==null?void 0:t.accessToken)||"",{connection_id:r}),enabled:i()}),u=s==null?void 0:s.datamodels.map(d=>({id:d.id,name:d.name,label:d.label,description:d.description,connectionId:r,connectionType:o==null?void 0:o.type,dialect:o==null?void 0:o.dialect,type:"model",database:d.database,schema:d.schema}));return{isPending:a,error:l,dataModels:u||[],refetch:c}}function $Fe(){var _,E,C;const e=Re(N=>N.card.dataSource);Re(N=>N.actions.updateDirectSource);const t=Re(N=>N.actions.updateDataSource),[n,r]=R.useState(""),{selectedConnection:o,error:i}=Li(),{databases:s,isPending:a,error:l,label:c}=FFe(),{schemas:u,isPending:d,error:h,label:p}=LFe(),{error:g}=AU(),m=o==null?void 0:o.capabilities.path.includes("schema"),b=o==null?void 0:o.capabilities.path.includes("database"),y=c==null?void 0:c.toLowerCase(),v=p==null?void 0:p.toLowerCase(),x=N=>{e&&t({...e,dbSelection:{database:N,schema:"",entityType:"table"},selectedEntities:(e==null?void 0:e.selectedEntities)||[]})},S=N=>{var M;if(!((M=e==null?void 0:e.dbSelection)!=null&&M.database))return;const k=e.dbSelection||{database:"",schema:"",entityType:"table"};t({...e,dbSelection:{...k,schema:N},selectedEntities:(e==null?void 0:e.selectedEntities)||[]})};return f.jsxs(f.Fragment,{children:[(i||l||h||g)&&f.jsxs("div",{className:"rounded-md border border-red-200 bg-red-50 p-3",children:[f.jsx("div",{className:"flex items-center",children:f.jsxs("div",{className:"text-sm text-red-800",children:[f.jsx("strong",{children:"Error loading data:"}),f.jsxs("ul",{className:"mt-1 list-inside list-disc",children:[i&&f.jsxs("li",{children:["Connections: ",i]}),l&&f.jsxs("li",{children:[c,": ",l.message]}),h&&f.jsxs("li",{children:[p,": ",h.message]}),g&&f.jsxs("li",{children:["Data Models: ",g.message]})]})]})}),f.jsx(Ee,{variant:"outline",size:"sm",className:"mt-2",onClick:()=>window.location.reload(),children:"Retry"})]}),f.jsxs("div",{className:"space-y-4",children:[b&&f.jsxs("div",{className:"space-y-2",children:[f.jsx(he,{className:"text-sm font-medium",children:c}),f.jsxs(Pt,{value:((_=e==null?void 0:e.dbSelection)==null?void 0:_.database)||"",onValueChange:x,disabled:a,children:[f.jsx(St,{className:"w-full",children:f.jsxs("div",{className:"flex items-center gap-2",children:[a&&f.jsx(yb,{className:"h-4 w-4 animate-spin"}),f.jsx(At,{placeholder:l?`Error loading ${y}`:a?`Loading ${y}...`:`Select ${y}...`})]})}),f.jsx(Et,{children:s.map(N=>f.jsx(xe,{className:"hover:bg-muted",value:N.id,children:N.name},N.id))})]})]}),((E=e==null?void 0:e.dbSelection)==null?void 0:E.database)&&m&&f.jsxs("div",{className:"space-y-2",children:[f.jsx(he,{className:"text-sm font-medium",children:p}),f.jsxs(Pt,{value:((C=e==null?void 0:e.dbSelection)==null?void 0:C.schema)||"",onValueChange:S,disabled:d,children:[f.jsx(St,{className:"w-full",children:f.jsxs("div",{className:"flex items-center gap-2",children:[d&&f.jsx(yb,{className:"h-4 w-4 animate-spin"}),f.jsx(At,{placeholder:h?`Error loading ${v}`:d?`Loading ${v}...`:`Select ${v}...`})]})}),f.jsx(Et,{children:u.map(N=>f.jsx(xe,{className:"hover:bg-muted",value:N.id,children:N.name},N.id))})]})]})]})]})}function zFe(){const e=Re(l=>l.card.dataSource),t=Re(l=>l.actions.updateDataSource),[n,r]=R.useState(!1),o=l=>{if(!l||(e==null?void 0:e.mode)!=="upload")return;const c=Array.from(l).map(d=>({id:`file-${Date.now()}-${Math.random()}`,name:d.name,type:"upload",connectionId:"default",connectionType:"none",label:d.name,description:`Uploaded ${new Date().toLocaleString()}`,originalName:d.name,file:d})),u=(e==null?void 0:e.selectedEntities)||[];t({...e,selectedEntities:[...u,...c]})},i=l=>{if(!e)return;const c=(e.selectedEntities||[]).filter(u=>u.id!==l);t({...e,selectedEntities:c})},s=l=>{if(l===0)return"0 Bytes";const c=1024,u=["Bytes","KB","MB","GB"],d=Math.floor(Math.log(l)/Math.log(c));return Number.parseFloat((l/Math.pow(c,d)).toFixed(2))+" "+u[d]},a=(e==null?void 0:e.selectedEntities)||[];return f.jsxs("div",{className:"space-y-4",children:[f.jsxs("div",{className:"space-y-2",children:[f.jsx(he,{className:"text-sm font-medium",children:"Upload Files"}),f.jsxs("div",{className:`rounded-lg border-2 border-dashed p-6 text-center transition-colors ${n?"border-blue-400 bg-blue-50":"border-gray-300 hover:border-gray-400"}`,onDragOver:l=>{l.preventDefault(),r(!0)},onDragLeave:()=>r(!1),onDrop:l=>{l.preventDefault(),r(!1),o(l.dataTransfer.files)},children:[f.jsx(w_,{className:"mx-auto mb-2 h-8 w-8 text-gray-400"}),f.jsx("p",{className:"mb-2 text-sm text-gray-600",children:"Drag and drop files here, or click to select"}),f.jsx("input",{type:"file",multiple:!0,className:"hidden",id:"file-upload",onChange:l=>o(l.target.files),accept:".csv,.json,.xlsx,.xls"}),f.jsx(Ee,{variant:"outline",size:"sm",onClick:()=>{var l;return(l=document.getElementById("file-upload"))==null?void 0:l.click()},children:"Select Files"}),f.jsx("p",{className:"mt-2 text-xs text-gray-500",children:"Supports CSV, JSON, Excel files"})]})]}),a.length>0&&f.jsxs("div",{className:"space-y-2",children:[f.jsxs(he,{className:"text-xs text-gray-600",children:["Uploaded Files (",a.length,")"]}),f.jsx("div",{className:"max-h-40 space-y-1 overflow-y-auto",children:a.map(l=>f.jsxs("div",{className:"flex items-center justify-between rounded border bg-gray-50 p-2",children:[f.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[f.jsx(ty,{className:"h-4 w-4 flex-shrink-0 text-gray-500"}),f.jsxs("div",{className:"min-w-0",children:[f.jsx("p",{className:"truncate text-sm text-gray-700",children:l.originalName}),f.jsx("p",{className:"text-xs text-gray-500",children:l.file?s(l.file.size):""})]})]}),f.jsx(Ee,{variant:"ghost",size:"sm",className:"h-6 w-6 flex-shrink-0 p-0",onClick:()=>i(l.id),children:f.jsx(or,{className:"h-3 w-3"})})]},l.id))})]})]})}function BFe(){const e=Re(d=>d.card.dataSource),t=Re(d=>d.actions.updateDataSource),[n,r]=R.useState(""),[o,i]=R.useState(""),[s,a]=R.useState("api"),l=()=>{if(!n.trim()||!o.trim()||!e)return;const d={id:`url-${Date.now()}-${Math.random()}`,name:n.trim(),type:"url",connectionId:"default",connectionType:"none",label:n.trim(),description:`URL source of type ${s}`,url:o.trim(),sourceType:s,originalName:n.trim()},h=(e==null?void 0:e.selectedEntities)||[];t({...e,selectedEntities:[...h,d]}),r(""),i(""),a("api")},c=d=>{if(!e)return;const h=(e.selectedEntities||[]).filter(p=>p.id!==d);t({...e,selectedEntities:h})},u=(e==null?void 0:e.selectedEntities)||[];return f.jsxs("div",{className:"space-y-4",children:[f.jsxs("div",{className:"space-y-2",children:[f.jsx(he,{className:"text-sm font-medium text-gray-700",children:"URL Sources"}),f.jsxs("div",{className:"space-y-3 rounded-lg border bg-gray-50 p-3",children:[f.jsxs("div",{className:"space-y-2",children:[f.jsx(he,{className:"text-xs text-gray-600",children:"Source Name"}),f.jsx(xr,{placeholder:"e.g., Sales API, Customer Data",value:n,onChange:d=>r(d.target.value),className:"h-8 text-sm"})]}),f.jsxs("div",{className:"space-y-2",children:[f.jsx(he,{className:"text-xs text-gray-600",children:"URL"}),f.jsx(xr,{placeholder:"https://api.example.com/data",value:o,onChange:d=>i(d.target.value),className:"h-8 text-sm"})]}),f.jsxs("div",{className:"space-y-2",children:[f.jsx(he,{className:"text-xs text-gray-600",children:"Type"}),f.jsxs("select",{value:s,onChange:d=>a(d.target.value),className:"h-8 w-full rounded-md border border-gray-300 px-2 text-sm",children:[f.jsx("option",{value:"api",children:"API Endpoint"}),f.jsx("option",{value:"csv",children:"CSV File"}),f.jsx("option",{value:"json",children:"JSON File"})]})]}),f.jsxs(Ee,{onClick:l,disabled:!n.trim()||!o.trim(),size:"sm",className:"w-full",children:[f.jsx(pc,{className:"mr-1 h-3 w-3"}),"Add Source"]})]})]}),u.length>0&&f.jsxs("div",{className:"space-y-2",children:[f.jsxs(he,{className:"text-xs text-gray-600",children:["Added Sources (",u.length,")"]}),f.jsx("div",{className:"max-h-40 space-y-1 overflow-y-auto",children:u.map(d=>f.jsxs("div",{className:"flex items-center justify-between rounded border bg-gray-50 p-2",children:[f.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[f.jsx(g_,{className:"h-4 w-4 flex-shrink-0 text-gray-500"}),f.jsxs("div",{className:"min-w-0",children:[f.jsx("p",{className:"truncate text-sm text-gray-700",children:d.name}),f.jsx("p",{className:"truncate text-xs text-gray-500",children:d.url})]})]}),f.jsx(Ee,{variant:"ghost",size:"sm",className:"h-6 w-6 flex-shrink-0 p-0",onClick:()=>c(d.id),children:f.jsx(or,{className:"h-3 w-3"})})]},d.id))})]})]})}function wj(e,t){var y,v;const n=oe(x=>x.authToken)||t,{connections:r}=Li(t),o=Re(x=>{var S,_;return(_=(S=x==null?void 0:x.card)==null?void 0:S.dataSource)==null?void 0:_.connectionId}),i=Re(x=>{var S,_,E;return(E=(_=(S=x==null?void 0:x.card)==null?void 0:S.dataSource)==null?void 0:_.dbSelection)==null?void 0:E.database}),s=Re(x=>{var S,_,E;return(E=(_=(S=x==null?void 0:x.card)==null?void 0:S.dataSource)==null?void 0:_.dbSelection)==null?void 0:E.schema}),a=r==null?void 0:r.find(x=>x.id===o),l=a==null?void 0:a.capabilities,c=((y=l==null?void 0:l.labels)==null?void 0:y.schema)||"Schema";function u(){return o?(a==null?void 0:a.type)==="API"||(a==null?void 0:a.type)==="S3"?!0:!(!i||l!=null&&l.path.includes("schema")&&!s||e==="view"):!1}const{data:d,isPending:h,isLoading:p,error:g,refetch:m}=Tn({queryKey:[e,o,i,s],queryFn:()=>vr(`https://semaphor.cloud/api/v1/${e}s`,(n==null?void 0:n.accessToken)||"",{connection_id:o,database_name:i,schema_name:s}),enabled:u()}),b=(v=d==null?void 0:d[`${e}s`])==null?void 0:v.map(x=>({connectionId:a==null?void 0:a.id,connectionType:a==null?void 0:a.type,dialect:a==null?void 0:a.dialect,type:e,id:x[`${e}_name`],database:i,schema:s,name:x[`${e}_name`]}));return{isPending:h,isLoading:p,error:g,entities:b||[],refetch:m,label:c}}function k0({title:e,message:t}){return f.jsx("div",{className:"rounded-xl border border-destructive/40 bg-destructive/10 p-4 text-destructive shadow-sm",children:f.jsxs("div",{className:"flex items-start gap-4",children:[f.jsx(oF,{className:"h-6 w-6 flex-shrink-0"}),f.jsxs("div",{className:"flex-1",children:[f.jsx("h4",{className:"text-base font-semibold",children:e}),t&&f.jsx("p",{className:"mt-1 text-sm text-destructive/90",children:t})]})]})})}function VFe({dataSource:e,onSelectionChange:t,selectedEntities:n}){const{connections:r,isPending:o}=Li(),[i,s]=R.useState(""),[a,l]=R.useState(""),[c,u]=R.useState(""),{updateDataSource:d,setSelectedConnectionId:h}=Jo(),{entities:p,isLoading:g,error:m}=wj("table"),{entities:b}=wj("view"),{dataModels:y,isPending:v,error:x}=AU(),S=k=>{const M=r.find(P=>P.id===k);if(!M)return;const D=M.type==="upload"?"upload":M.type==="url"?"url":"database";d({...e,connectionId:k,connectionType:M.type,mode:D,dbSelection:{database:"",schema:"",entityType:"table"}}),h(k)},_=k=>{var j,O;const M=n||[],D=M.some(T=>T.name===k.name&&T.type===k.type);let P;if(D)P=M.filter(T=>!(T.name===k.name&&T.type===k.type));else{const T={connectionId:e.connectionId,connectionType:e.connectionType,type:k.type,database:((j=e.dbSelection)==null?void 0:j.database)||"",schema:((O=e.dbSelection)==null?void 0:O.schema)||"",name:k.name,dialect:k.dialect};P=[...M,T]}t==null||t(P)},E=k=>{const M=n||[],D=M.some(j=>j.type==="model"&&j.name===k.name);let P;D?P=M.filter(j=>!(j.type==="model"&&j.name===k.name)):P=[...M,k],t==null||t(P)},C=p.filter(k=>k.name.toLowerCase().includes(i.toLowerCase()));b.filter(k=>k.name.toLowerCase().includes(a.toLowerCase()));const N=y.filter(k=>k.name.toLowerCase().includes(c.toLowerCase()));return f.jsxs("div",{className:"space-y-4",children:[f.jsxs("div",{className:"space-y-2",children:[f.jsx(he,{className:"font-medium= text-sm",children:"Connection"}),f.jsxs(Pt,{value:(e==null?void 0:e.connectionId)||"",onValueChange:S,disabled:o,children:[f.jsx(St,{className:"w-full",children:f.jsx(At,{placeholder:o?"Loading connections...":"Select connection..."})}),f.jsx(Et,{children:r.map(k=>f.jsx(xe,{className:"hover:bg-muted",value:k.id,children:f.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[f.jsx(J0,{className:"h-4 w-4 flex-shrink-0"}),f.jsx("span",{className:"truncate",children:k.name}),f.jsx(to,{variant:"secondary",className:"flex-shrink-0 text-xs",children:k.type})]})},k.id))})]})]}),(e==null?void 0:e.connectionId)&&f.jsxs(f.Fragment,{children:[e.connectionType==="upload"&&f.jsx(zFe,{}),e.connectionType==="url"&&f.jsx(BFe,{}),e.connectionType!=="upload"&&e.connectionType!=="url"&&f.jsxs(f.Fragment,{children:[f.jsx($Fe,{}),f.jsx("div",{className:"space-y-4",children:f.jsx("div",{className:"space-y-2",children:f.jsxs(dd,{defaultValue:"tables",className:"w-full",children:[f.jsxs(dc,{className:"grid w-full grid-cols-3",children:[f.jsx(eo,{value:"tables",children:"Tables"}),f.jsx(eo,{value:"datamodels",children:"Data Models"}),f.jsx(eo,{value:"views",children:"Views (Coming soon)"})]}),f.jsxs(gi,{value:"tables",className:"space-y-2",children:[f.jsx(zn,{placeholder:"Search tables...",value:i,onChange:k=>s(k.target.value),className:"h-8 text-sm",disabled:g}),f.jsx("div",{className:"max-h-40 space-y-1 overflow-y-auto",children:g?f.jsx("div",{className:"py-4 text-center text-sm",children:"Loading tables..."}):m?f.jsx(k0,{title:"Error loading tables",message:m.message||"Failed to load tables. Please try again.",onRetry:()=>window.location.reload()}):C.length===0?f.jsx("div",{className:"py-4 text-center text-sm",children:"No tables found"}):C.map(k=>{const M=n.some(D=>D.name===k.name&&D.type==="table");return f.jsxs("div",{className:"flex items-center space-x-2 rounded p-2 hover:bg-muted",children:[f.jsx(Br,{id:`table-${k.name}`,checked:M,onCheckedChange:()=>_(k),disabled:g}),f.jsx(he,{htmlFor:`table-${k.name}`,children:k.name})]},k.name)})})]}),f.jsxs(gi,{value:"datamodels",className:"space-y-2",children:[f.jsx(zn,{placeholder:"Search data models...",value:c,onChange:k=>u(k.target.value),className:"h-8 text-sm",disabled:v}),f.jsx("div",{className:"max-h-40 space-y-1 overflow-y-auto",children:v?f.jsx("div",{className:"py-4 text-center text-sm",children:"Loading data models..."}):x?f.jsx(k0,{title:"Error loading data models",message:x.message||"Failed to load data models. Please try again.",onRetry:()=>window.location.reload()}):N.length===0?f.jsx("div",{className:"py-4 text-center text-sm",children:"No data models found"}):N.map(k=>{const M=n.some(D=>D.name===k.name&&D.type==="model");return f.jsxs("div",{className:"ounded flex items-start space-x-2 p-2 hover:bg-muted",children:[f.jsx(Br,{id:`dataModel-${k.name}`,checked:M,onCheckedChange:()=>E(k),disabled:v}),f.jsxs("div",{className:"flex flex-col gap-1",children:[f.jsx(he,{htmlFor:`dataModel-${k.name}`,children:k.name}),f.jsx("span",{className:"text-xs text-muted-foreground",children:k.description})]})]},k.name)})})]}),f.jsx(gi,{value:"views",className:"space-y-2",children:f.jsx("div",{className:"py-4 text-center text-sm",children:"Views support coming soon"})})]})})})]})]})]})}function HFe({dataSource:e,onDataSourceUpdate:t,onSelectionChange:n,selectedEntities:r}){var m;const[o,i]=R.useState(""),{semanticDomains:s,isPending:a,error:l}=PU(),{datasets:c,isPending:u,error:d}=OFe(e==null?void 0:e.semanticDomainId),h=b=>{const y={...e,connectionId:e.connectionId||"none",connectionType:e.connectionType||"none",mode:"semanticDomain",semanticDomainId:b};t({...y})},p=b=>{const y=r||[],v=y.some(S=>S.id===b.id&&S.type==="dataset");let x;if(v)x=y.filter(S=>!(S.id===b.id&&S.type==="dataset"));else{const S={id:b.id,datasetType:b.type,name:b.name||b.table,label:b.label,domainId:b.domainId,description:b.description,database:b.database,schema:b.schema,type:"dataset",connectionId:b.connectionId,connectionType:b.connectionType,datamodelId:b.datamodelId,sql:b.sql};x=[...y,S]}n==null||n(x)},g=c.filter(b=>b.name.toLowerCase().includes(o.toLowerCase()));return f.jsxs("div",{className:"space-y-4",children:[f.jsxs("div",{className:"space-y-2",children:[f.jsx(he,{className:"text-sm font-medium",children:"Semantic Domain"}),f.jsxs(Pt,{value:(e==null?void 0:e.semanticDomainId)||"",onValueChange:h,disabled:a,children:[f.jsx(St,{className:"w-full",children:f.jsx(At,{placeholder:a?"Loading semantic domains...":"Select semantic domain...",children:((m=s.find(b=>b.id===(e==null?void 0:e.semanticDomainId)))==null?void 0:m.label)||"Select semantic domain"})}),f.jsx(Et,{children:s.map(b=>f.jsx(xe,{className:"hover:bg-muted",value:b.id,children:f.jsxs("div",{className:"flex flex-col items-start",children:[f.jsx("span",{className:"font-medium",children:b.label}),f.jsx("span",{className:"text-xs",children:b.description})]})},b.id))})]}),l&&f.jsx(k0,{title:"Error loading semantic models",message:l.message})]}),(e==null?void 0:e.semanticDomainId)&&f.jsxs("div",{className:"space-y-2",children:[f.jsx(he,{className:"text-sm font-medium text-gray-700",children:"Datasets"}),f.jsxs("div",{className:"space-y-2",children:[f.jsx(zn,{placeholder:"Search datasets...",value:o,onChange:b=>i(b.target.value),className:"h-8 text-sm",disabled:u}),f.jsx("div",{className:"max-h-40 space-y-1 overflow-y-auto",children:u?f.jsx("div",{className:"py-4 text-center text-sm text-gray-500",children:"Loading datasets..."}):d?f.jsx(k0,{title:"Error loading datasets",message:d.message||"Failed to load datasets. Please try again.",onRetry:()=>window.location.reload()}):g.length===0?f.jsx("div",{className:"py-4 text-center text-sm text-gray-500",children:o?"No datasets match your search":"No datasets available"}):g.map(b=>{const y=r.some(v=>v.id===b.id&&v.type==="dataset");return f.jsxs("div",{className:"flex items-start space-x-2 rounded p-2 hover:bg-gray-50",children:[f.jsx(Br,{id:`dataset-${b.id}`,checked:y,onCheckedChange:()=>p(b),disabled:u}),f.jsxs("div",{className:"flex flex-col gap-1",children:[f.jsx(he,{htmlFor:`dataset-${b.id}`,className:"font-medium",children:b.label||b.name}),f.jsx("span",{className:"text-xs text-gray-500",children:b.description})]})]},b.label||b.name)})})]})]})]})}function DU({open:e,onOpenChange:t,dataSource:n,fallbackDataSource:r,dialogMode:o,incomingSelectedEntities:i}){const[s,a]=R.useState([]),{updateDataSource:l}=Jo(),c=oe(x=>x.isVisualEditing),u=oe(x=>x.dashboard.aiContext),{setAiContext:d}=an(),{semanticDomains:h}=PU();R.useEffect(()=>{e&&a(i||[])},[e,n==null?void 0:n.selectedEntities,o,l,i,n]);const p=x=>{const S=s.filter(_=>!(_.name===x.name&&_.type===x.type));a(S)},g=()=>{a([]),o==="aiContext"&&(d({...u,selectedEntities:[]}),t(!1)),o==="dataSource"&&(l({...r,...n,selectedEntities:[]}),t(!1))},m=R.useCallback(x=>{l({...n,connectionId:(n==null?void 0:n.connectionId)||"",connectionType:(n==null?void 0:n.connectionType)||"",mode:x,selectedEntities:(n==null?void 0:n.selectedEntities)||[]})},[n,l]),b=R.useCallback(x=>{l({...n,...x})},[n,l]),y=R.useCallback(x=>{a(x)},[]);function v(){var x,S;if(o==="aiContext"){const{selectedEntities:_,...E}=n;c&&l(n),d({...u,selectedEntities:s}),t(!1)}else if(o==="dataSource"){if(n.mode==="semanticDomain"){const _=(x=s==null?void 0:s[0])==null?void 0:x.connectionId,E=(S=s==null?void 0:s[0])==null?void 0:S.connectionType;l({...n,connectionId:_,connectionType:E,selectedEntities:s})}else l({...n,selectedEntities:s});t(!1)}}return h&&h.length>0,f.jsx(cy,{open:e,onOpenChange:t,children:f.jsx(dp,{className:"flex max-w-2xl flex-col",children:f.jsxs("div",{children:[f.jsxs(fp,{className:"flex-shrink-0",children:[f.jsx(pp,{children:o==="aiContext"?"Data Context":"Select Data Source"}),f.jsx(mp,{children:o==="aiContext"?"Set the overall data scope for the dashboard":"Select data sets to analyze"})]}),f.jsx("div",{className:"flex-1 grow overflow-y-auto py-4",children:f.jsxs("div",{className:"space-y-4",children:[f.jsx("div",{className:"space-y-2",children:f.jsx(dd,{defaultValue:(n==null?void 0:n.mode)||"database",value:(n==null?void 0:n.mode)||"database",onValueChange:m,className:"w-full",children:f.jsxs(dc,{className:"grid w-full grid-cols-2",children:[f.jsx(eo,{value:"database",children:"Direct Source"}),f.jsx(eo,{value:"semanticDomain",children:"Semantic Domain"})]})})}),(n==null?void 0:n.mode)==="semanticDomain"&&f.jsx(HFe,{dataSource:n,onDataSourceUpdate:b,selectedEntities:s,onSelectionChange:y}),(n==null?void 0:n.mode)==="database"&&f.jsx(VFe,{dataSource:n,onDataSourceUpdate:b,selectedEntities:s,onSelectionChange:y})]})}),f.jsx(jFe,{selectedEntities:s,onDeselectEntity:p}),f.jsx(hp,{className:"flex-shrink-0",children:f.jsx("div",{className:"flex w-full justify-between",children:f.jsxs("div",{className:"flex grow justify-end gap-2",children:[f.jsx(Ee,{variant:"outline",onClick:g,disabled:s.length===0,children:"Clear All"}),f.jsx(Ee,{variant:"outline",onClick:()=>t(!1),children:"Close"}),f.jsx(Ee,{onClick:v,disabled:s.length===0,children:"Add"})]})})})]})})})}const dE={connectionId:"",connectionType:"none",mode:"semanticDomain",selectedEntities:[]},WFe=[{title:"Show top 3 insights",subtitle:"from this dataset"},{title:"Create a bar chart for",subtitle:"sales by product category"}];function UFe({open:e,setOpen:t}){const[n,r]=R.useState(!1),[o,i]=R.useState(nb),[s,a]=R.useState(!1),[l,c]=R.useState(!1),u=R.useRef(null),d=R.useRef(null);oe($=>$.dashboard.aiScopeTables);const h=oe($=>$.isDashboardEditing),{setDataSource:p}=Jo(),g=cR(),{setCurrentAIContext:m,updateSelectedEntities:b}=uR(),y=oe($=>$.dashboard.aiContext),v=Re($=>$.card.dataSource),{assistantProfile:x}=_U(),S=oe($=>$.handleOpenAssistantProfile),{append:_,handleAddNewFrame:E,isLoading:C,handleSubmit:N,handleInputChange:k,input:M,setInput:D,messages:P,setMessages:j,reload:O,status:T,stop:F,errorMessage:L}=kFe(g);EU({scrollContainerRef:d,inputRef:u,messages:P}),R.useEffect(()=>{var $;e&&(($=u.current)==null||$.focus())},[e]);function V($){H();const U={role:"user",content:$.title+" "+$.subtitle};_(U)}function z($){H(),_({role:"user",content:$})}function I(){var q;const $=(q=y==null?void 0:y.selectedEntities)==null?void 0:q[0],U={connectionId:($==null?void 0:$.connectionId)||"",connectionType:($==null?void 0:$.connectionType)||"",mode:($==null?void 0:$.type)==="dataset"?"semanticDomain":"database",dbSelection:{database:($==null?void 0:$.database)||"",schema:($==null?void 0:$.schema)||"",entityType:($==null?void 0:$.type)||"table"},selectedEntities:(y==null?void 0:y.selectedEntities)||[]};p(U),c(!0)}function H(){g.selectedEntities.length===0&&m({selectedEntities:(y==null?void 0:y.selectedEntities)||[]})}const B=(M==null?void 0:M.length)===0&&(P==null?void 0:P.filter($=>$.role==="user").length)===0;function A(){return f.jsx("div",{"data-role":"header",children:f.jsx("div",{className:"text-lg font-semibold",children:"Assistant"})})}function W(){return f.jsxs(Lp,{children:[f.jsx($p,{asChild:!0,children:f.jsx(tu,{className:"h-7 p-2 text-muted-foreground hover:text-foreground",children:f.jsx(h_,{className:"size-3.5"})})}),f.jsxs(Rd,{align:"end",children:[f.jsx(hu,{children:"Options"}),f.jsx(zp,{}),f.jsx(Bf,{checked:n,onCheckedChange:r,children:"Token Usage"}),f.jsx(Bf,{checked:o,onCheckedChange:i,children:"Tool Invocations"}),f.jsx(Bf,{checked:s,onCheckedChange:a,children:"System Message"})]})]})}return f.jsxs("div",{"data-role":"dashboard-assistant",className:"flex h-full grow flex-col justify-between break-words px-6 py-4",children:[f.jsxs("div",{"data-role":"header-section",className:"flex items-start justify-between gap-2",children:[A(),S&&f.jsx(Ee,{variant:"outline",size:"sm",className:"h-7 p-2",onClick:S,children:(x==null?void 0:x.name)||"Default Profile"}),f.jsxs("div",{"data-role":"header-actions",className:"flex items-center gap-2",children:[W(),(h||nb)&&f.jsx(tu,{tooltip:"Add Context",className:"h-7 p-2 text-muted-foreground hover:text-foreground",onClick:I,children:f.jsx(la,{className:"size-4"})}),f.jsx(tu,{className:"h-7 p-2 text-muted-foreground hover:text-foreground",tooltip:"New Chat",onClick:()=>{j([]),O()},children:f.jsx(mF,{className:"size-4"})}),f.jsx(tu,{className:"h-7 p-2 text-muted-foreground hover:text-foreground",onClick:()=>{t(!1)},children:f.jsx(m_,{className:"size-4"})})]})]}),f.jsxs(kd,{"data-role":"dashboard-assistant-scroll-area",ref:d,className:"mt-4 flex flex-1 basis-0 flex-col flex-wrap justify-end pr-2",children:[f.jsxs("div",{className:"space-y-3 pb-4",children:[f.jsx(YW,{showTools:o,showSystemMessage:s,messages:P,onAddToDashboard:E}),f.jsx(qW,{messages:P,chatStatus:T,errorMessage:L})]}),f.jsx(Na,{orientation:"horizontal"})]}),f.jsxs("div",{className:"space-y-3",children:[!x&&B&&f.jsx(KW,{onClick:V,placeholders:WFe}),f.jsx("div",{children:B&&x&&f.jsx(RU,{seedQuestions:x.seedQuestions||[],handleSeedQuestionClick:z})}),f.jsx(NU,{ref:u,setInput:D,stop:F,input:M,handleInputChange:k,handleSubmit:$=>{H(),N($)},isLoading:C,onFocus:()=>{}})]}),f.jsx(DU,{incomingSelectedEntities:(y==null?void 0:y.selectedEntities)||[],open:l,onOpenChange:c,dataSource:v||dE,fallbackDataSource:dE,dialogMode:"aiContext"})]})}var GFe=e=>{switch(e){case"success":return KFe;case"info":return QFe;case"warning":return XFe;case"error":return ZFe;default:return null}},qFe=Array(12).fill(0),YFe=({visible:e,className:t})=>R.createElement("div",{className:["sonner-loading-wrapper",t].filter(Boolean).join(" "),"data-visible":e},R.createElement("div",{className:"sonner-spinner"},qFe.map((n,r)=>R.createElement("div",{className:"sonner-loading-bar",key:`spinner-bar-${r}`})))),KFe=R.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},R.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z",clipRule:"evenodd"})),XFe=R.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"},R.createElement("path",{fillRule:"evenodd",d:"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z",clipRule:"evenodd"})),QFe=R.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},R.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z",clipRule:"evenodd"})),ZFe=R.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},R.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})),JFe=R.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"},R.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),R.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"})),e4e=()=>{let[e,t]=R.useState(document.hidden);return R.useEffect(()=>{let n=()=>{t(document.hidden)};return document.addEventListener("visibilitychange",n),()=>window.removeEventListener("visibilitychange",n)},[]),e},fE=1,t4e=class{constructor(){this.subscribe=e=>(this.subscribers.push(e),()=>{let t=this.subscribers.indexOf(e);this.subscribers.splice(t,1)}),this.publish=e=>{this.subscribers.forEach(t=>t(e))},this.addToast=e=>{this.publish(e),this.toasts=[...this.toasts,e]},this.create=e=>{var t;let{message:n,...r}=e,o=typeof(e==null?void 0:e.id)=="number"||((t=e.id)==null?void 0:t.length)>0?e.id:fE++,i=this.toasts.find(a=>a.id===o),s=e.dismissible===void 0?!0:e.dismissible;return this.dismissedToasts.has(o)&&this.dismissedToasts.delete(o),i?this.toasts=this.toasts.map(a=>a.id===o?(this.publish({...a,...e,id:o,title:n}),{...a,...e,id:o,dismissible:s,title:n}):a):this.addToast({title:n,...r,dismissible:s,id:o}),o},this.dismiss=e=>(this.dismissedToasts.add(e),e||this.toasts.forEach(t=>{this.subscribers.forEach(n=>n({id:t.id,dismiss:!0}))}),this.subscribers.forEach(t=>t({id:e,dismiss:!0})),e),this.message=(e,t)=>this.create({...t,message:e}),this.error=(e,t)=>this.create({...t,message:e,type:"error"}),this.success=(e,t)=>this.create({...t,type:"success",message:e}),this.info=(e,t)=>this.create({...t,type:"info",message:e}),this.warning=(e,t)=>this.create({...t,type:"warning",message:e}),this.loading=(e,t)=>this.create({...t,type:"loading",message:e}),this.promise=(e,t)=>{if(!t)return;let n;t.loading!==void 0&&(n=this.create({...t,promise:e,type:"loading",message:t.loading,description:typeof t.description!="function"?t.description:void 0}));let r=e instanceof Promise?e:e(),o=n!==void 0,i,s=r.then(async l=>{if(i=["resolve",l],R.isValidElement(l))o=!1,this.create({id:n,type:"default",message:l});else if(r4e(l)&&!l.ok){o=!1;let c=typeof t.error=="function"?await t.error(`HTTP error! status: ${l.status}`):t.error,u=typeof t.description=="function"?await t.description(`HTTP error! status: ${l.status}`):t.description;this.create({id:n,type:"error",message:c,description:u})}else if(t.success!==void 0){o=!1;let c=typeof t.success=="function"?await t.success(l):t.success,u=typeof t.description=="function"?await t.description(l):t.description;this.create({id:n,type:"success",message:c,description:u})}}).catch(async l=>{if(i=["reject",l],t.error!==void 0){o=!1;let c=typeof t.error=="function"?await t.error(l):t.error,u=typeof t.description=="function"?await t.description(l):t.description;this.create({id:n,type:"error",message:c,description:u})}}).finally(()=>{var l;o&&(this.dismiss(n),n=void 0),(l=t.finally)==null||l.call(t)}),a=()=>new Promise((l,c)=>s.then(()=>i[0]==="reject"?c(i[1]):l(i[1])).catch(c));return typeof n!="string"&&typeof n!="number"?{unwrap:a}:Object.assign(n,{unwrap:a})},this.custom=(e,t)=>{let n=(t==null?void 0:t.id)||fE++;return this.create({jsx:e(n),id:n,...t}),n},this.getActiveToasts=()=>this.toasts.filter(e=>!this.dismissedToasts.has(e.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}},Tr=new t4e,n4e=(e,t)=>{let n=(t==null?void 0:t.id)||fE++;return Tr.addToast({title:e,...t,id:n}),n},r4e=e=>e&&typeof e=="object"&&"ok"in e&&typeof e.ok=="boolean"&&"status"in e&&typeof e.status=="number",o4e=n4e,i4e=()=>Tr.toasts,s4e=()=>Tr.getActiveToasts(),IU=Object.assign(o4e,{success:Tr.success,info:Tr.info,warning:Tr.warning,error:Tr.error,custom:Tr.custom,message:Tr.message,promise:Tr.promise,dismiss:Tr.dismiss,loading:Tr.loading},{getHistory:i4e,getToasts:s4e});function a4e(e,{insertAt:t}={}){if(typeof document>"u")return;let n=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css",t==="top"&&n.firstChild?n.insertBefore(r,n.firstChild):n.appendChild(r),r.styleSheet?r.styleSheet.cssText=e:r.appendChild(document.createTextNode(e))}a4e(`:where(html[dir="ltr"]),:where([data-sonner-toaster][dir="ltr"]){--toast-icon-margin-start: -3px;--toast-icon-margin-end: 4px;--toast-svg-margin-start: -1px;--toast-svg-margin-end: 0px;--toast-button-margin-start: auto;--toast-button-margin-end: 0;--toast-close-button-start: 0;--toast-close-button-end: unset;--toast-close-button-transform: translate(-35%, -35%)}:where(html[dir="rtl"]),:where([data-sonner-toaster][dir="rtl"]){--toast-icon-margin-start: 4px;--toast-icon-margin-end: -3px;--toast-svg-margin-start: 0px;--toast-svg-margin-end: -1px;--toast-button-margin-start: 0;--toast-button-margin-end: auto;--toast-close-button-start: unset;--toast-close-button-end: 0;--toast-close-button-transform: translate(35%, -35%)}:where([data-sonner-toaster]){position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1: hsl(0, 0%, 99%);--gray2: hsl(0, 0%, 97.3%);--gray3: hsl(0, 0%, 95.1%);--gray4: hsl(0, 0%, 93%);--gray5: hsl(0, 0%, 90.9%);--gray6: hsl(0, 0%, 88.7%);--gray7: hsl(0, 0%, 85.8%);--gray8: hsl(0, 0%, 78%);--gray9: hsl(0, 0%, 56.1%);--gray10: hsl(0, 0%, 52.3%);--gray11: hsl(0, 0%, 43.5%);--gray12: hsl(0, 0%, 9%);--border-radius: 8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:none;z-index:999999999;transition:transform .4s ease}:where([data-sonner-toaster][data-lifted="true"]){transform:translateY(-10px)}@media (hover: none) and (pointer: coarse){:where([data-sonner-toaster][data-lifted="true"]){transform:none}}:where([data-sonner-toaster][data-x-position="right"]){right:var(--offset-right)}:where([data-sonner-toaster][data-x-position="left"]){left:var(--offset-left)}:where([data-sonner-toaster][data-x-position="center"]){left:50%;transform:translate(-50%)}:where([data-sonner-toaster][data-y-position="top"]){top:var(--offset-top)}:where([data-sonner-toaster][data-y-position="bottom"]){bottom:var(--offset-bottom)}:where([data-sonner-toast]){--y: translateY(100%);--lift-amount: calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);filter:blur(0);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:none;overflow-wrap:anywhere}:where([data-sonner-toast][data-styled="true"]){padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px #0000001a;width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}:where([data-sonner-toast]:focus-visible){box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}:where([data-sonner-toast][data-y-position="top"]){top:0;--y: translateY(-100%);--lift: 1;--lift-amount: calc(1 * var(--gap))}:where([data-sonner-toast][data-y-position="bottom"]){bottom:0;--y: translateY(100%);--lift: -1;--lift-amount: calc(var(--lift) * var(--gap))}:where([data-sonner-toast]) :where([data-description]){font-weight:400;line-height:1.4;color:inherit}:where([data-sonner-toast]) :where([data-title]){font-weight:500;line-height:1.5;color:inherit}:where([data-sonner-toast]) :where([data-icon]){display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}:where([data-sonner-toast][data-promise="true"]) :where([data-icon])>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}:where([data-sonner-toast]) :where([data-icon])>*{flex-shrink:0}:where([data-sonner-toast]) :where([data-icon]) svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}:where([data-sonner-toast]) :where([data-content]){display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;cursor:pointer;outline:none;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}:where([data-sonner-toast]) :where([data-button]):focus-visible{box-shadow:0 0 0 2px #0006}:where([data-sonner-toast]) :where([data-button]):first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}:where([data-sonner-toast]) :where([data-cancel]){color:var(--normal-text);background:rgba(0,0,0,.08)}:where([data-sonner-toast][data-theme="dark"]) :where([data-cancel]){background:rgba(255,255,255,.3)}:where([data-sonner-toast]) :where([data-close-button]){position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast] [data-close-button]{background:var(--gray1)}:where([data-sonner-toast]) :where([data-close-button]):focus-visible{box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}:where([data-sonner-toast]) :where([data-disabled="true"]){cursor:not-allowed}:where([data-sonner-toast]):hover :where([data-close-button]):hover{background:var(--gray2);border-color:var(--gray5)}:where([data-sonner-toast][data-swiping="true"]):before{content:"";position:absolute;left:-50%;right:-50%;height:100%;z-index:-1}:where([data-sonner-toast][data-y-position="top"][data-swiping="true"]):before{bottom:50%;transform:scaleY(3) translateY(50%)}:where([data-sonner-toast][data-y-position="bottom"][data-swiping="true"]):before{top:50%;transform:scaleY(3) translateY(-50%)}:where([data-sonner-toast][data-swiping="false"][data-removed="true"]):before{content:"";position:absolute;inset:0;transform:scaleY(2)}:where([data-sonner-toast]):after{content:"";position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}:where([data-sonner-toast][data-mounted="true"]){--y: translateY(0);opacity:1}:where([data-sonner-toast][data-expanded="false"][data-front="false"]){--scale: var(--toasts-before) * .05 + 1;--y: translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}:where([data-sonner-toast])>*{transition:opacity .4s}:where([data-sonner-toast][data-expanded="false"][data-front="false"][data-styled="true"])>*{opacity:0}:where([data-sonner-toast][data-visible="false"]){opacity:0;pointer-events:none}:where([data-sonner-toast][data-mounted="true"][data-expanded="true"]){--y: translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}:where([data-sonner-toast][data-removed="true"][data-front="true"][data-swipe-out="false"]){--y: translateY(calc(var(--lift) * -100%));opacity:0}:where([data-sonner-toast][data-removed="true"][data-front="false"][data-swipe-out="false"][data-expanded="true"]){--y: translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}:where([data-sonner-toast][data-removed="true"][data-front="false"][data-swipe-out="false"][data-expanded="false"]){--y: translateY(40%);opacity:0;transition:transform .5s,opacity .2s}:where([data-sonner-toast][data-removed="true"][data-front="false"]):before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y, 0px)) translate(var(--swipe-amount-x, 0px));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{0%{transform:var(--y) translate(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translate(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{0%{transform:var(--y) translate(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translate(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{0%{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{0%{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width: 600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-theme=light]{--normal-bg: #fff;--normal-border: var(--gray4);--normal-text: var(--gray12);--success-bg: hsl(143, 85%, 96%);--success-border: hsl(145, 92%, 91%);--success-text: hsl(140, 100%, 27%);--info-bg: hsl(208, 100%, 97%);--info-border: hsl(221, 91%, 91%);--info-text: hsl(210, 92%, 45%);--warning-bg: hsl(49, 100%, 97%);--warning-border: hsl(49, 91%, 91%);--warning-text: hsl(31, 92%, 45%);--error-bg: hsl(359, 100%, 97%);--error-border: hsl(359, 100%, 94%);--error-text: hsl(360, 100%, 45%)}[data-sonner-toaster][data-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg: #000;--normal-border: hsl(0, 0%, 20%);--normal-text: var(--gray1)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg: #fff;--normal-border: var(--gray3);--normal-text: var(--gray12)}[data-sonner-toaster][data-theme=dark]{--normal-bg: #000;--normal-bg-hover: hsl(0, 0%, 12%);--normal-border: hsl(0, 0%, 20%);--normal-border-hover: hsl(0, 0%, 25%);--normal-text: var(--gray1);--success-bg: hsl(150, 100%, 6%);--success-border: hsl(147, 100%, 12%);--success-text: hsl(150, 86%, 65%);--info-bg: hsl(215, 100%, 6%);--info-border: hsl(223, 100%, 12%);--info-text: hsl(216, 87%, 65%);--warning-bg: hsl(64, 100%, 6%);--warning-border: hsl(60, 100%, 12%);--warning-text: hsl(46, 87%, 65%);--error-bg: hsl(358, 76%, 10%);--error-border: hsl(357, 89%, 16%);--error-text: hsl(358, 100%, 81%)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success],[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info],[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning],[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error],[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size: 16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:nth-child(1){animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}to{opacity:.15}}@media (prefers-reduced-motion){[data-sonner-toast],[data-sonner-toast]>*,.sonner-loading-bar{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}
638
638
  `);function Mg(e){return e.label!==void 0}var l4e=3,c4e="32px",u4e="16px",Cj=4e3,d4e=356,f4e=14,h4e=20,p4e=200;function Do(...e){return e.filter(Boolean).join(" ")}function m4e(e){let[t,n]=e.split("-"),r=[];return t&&r.push(t),n&&r.push(n),r}var g4e=e=>{var t,n,r,o,i,s,a,l,c,u,d;let{invert:h,toast:p,unstyled:g,interacting:m,setHeights:b,visibleToasts:y,heights:v,index:x,toasts:S,expanded:_,removeToast:E,defaultRichColors:C,closeButton:N,style:k,cancelButtonStyle:M,actionButtonStyle:D,className:P="",descriptionClassName:j="",duration:O,position:T,gap:F,loadingIcon:L,expandByDefault:V,classNames:z,icons:I,closeButtonAriaLabel:H="Close toast",pauseWhenPageIsHidden:B}=e,[A,W]=R.useState(null),[$,U]=R.useState(null),[q,G]=R.useState(!1),[K,Z]=R.useState(!1),[te,Q]=R.useState(!1),[ie,J]=R.useState(!1),[ue,fe]=R.useState(!1),[ke,be]=R.useState(0),[Ce,Pe]=R.useState(0),De=R.useRef(p.duration||O||Cj),ft=R.useRef(null),je=R.useRef(null),Wt=x===0,it=x+1<=y,re=p.type,le=p.dismissible!==!1,ae=p.className||"",de=p.descriptionClassName||"",Se=R.useMemo(()=>v.findIndex(Ie=>Ie.toastId===p.id)||0,[v,p.id]),Oe=R.useMemo(()=>{var Ie;return(Ie=p.closeButton)!=null?Ie:N},[p.closeButton,N]),qt=R.useMemo(()=>p.duration||O||Cj,[p.duration,O]),en=R.useRef(0),ye=R.useRef(0),vn=R.useRef(0),jt=R.useRef(null),[uo,On]=T.split("-"),_c=R.useMemo(()=>v.reduce((Ie,Ge,nt)=>nt>=Se?Ie:Ie+Ge.height,0),[v,Se]),Wa=e4e(),Wi=p.invert||h,cn=re==="loading";ye.current=R.useMemo(()=>Se*F+_c,[Se,_c]),R.useEffect(()=>{De.current=qt},[qt]),R.useEffect(()=>{G(!0)},[]),R.useEffect(()=>{let Ie=je.current;if(Ie){let Ge=Ie.getBoundingClientRect().height;return Pe(Ge),b(nt=>[{toastId:p.id,height:Ge,position:p.position},...nt]),()=>b(nt=>nt.filter(tn=>tn.toastId!==p.id))}},[b,p.id]),R.useLayoutEffect(()=>{if(!q)return;let Ie=je.current,Ge=Ie.style.height;Ie.style.height="auto";let nt=Ie.getBoundingClientRect().height;Ie.style.height=Ge,Pe(nt),b(tn=>tn.find(Ot=>Ot.toastId===p.id)?tn.map(Ot=>Ot.toastId===p.id?{...Ot,height:nt}:Ot):[{toastId:p.id,height:nt,position:p.position},...tn])},[q,p.title,p.description,b,p.id]);let Rt=R.useCallback(()=>{Z(!0),be(ye.current),b(Ie=>Ie.filter(Ge=>Ge.toastId!==p.id)),setTimeout(()=>{E(p)},p4e)},[p,E,b,ye]);R.useEffect(()=>{if(p.promise&&re==="loading"||p.duration===1/0||p.type==="loading")return;let Ie;return _||m||B&&Wa?(()=>{if(vn.current<en.current){let Ge=new Date().getTime()-en.current;De.current=De.current-Ge}vn.current=new Date().getTime()})():De.current!==1/0&&(en.current=new Date().getTime(),Ie=setTimeout(()=>{var Ge;(Ge=p.onAutoClose)==null||Ge.call(p,p),Rt()},De.current)),()=>clearTimeout(Ie)},[_,m,p,re,B,Wa,Rt]),R.useEffect(()=>{p.delete&&Rt()},[Rt,p.delete]);function Fn(){var Ie,Ge,nt;return I!=null&&I.loading?R.createElement("div",{className:Do(z==null?void 0:z.loader,(Ie=p==null?void 0:p.classNames)==null?void 0:Ie.loader,"sonner-loader"),"data-visible":re==="loading"},I.loading):L?R.createElement("div",{className:Do(z==null?void 0:z.loader,(Ge=p==null?void 0:p.classNames)==null?void 0:Ge.loader,"sonner-loader"),"data-visible":re==="loading"},L):R.createElement(YFe,{className:Do(z==null?void 0:z.loader,(nt=p==null?void 0:p.classNames)==null?void 0:nt.loader),visible:re==="loading"})}return R.createElement("li",{tabIndex:0,ref:je,className:Do(P,ae,z==null?void 0:z.toast,(t=p==null?void 0:p.classNames)==null?void 0:t.toast,z==null?void 0:z.default,z==null?void 0:z[re],(n=p==null?void 0:p.classNames)==null?void 0:n[re]),"data-sonner-toast":"","data-rich-colors":(r=p.richColors)!=null?r:C,"data-styled":!(p.jsx||p.unstyled||g),"data-mounted":q,"data-promise":!!p.promise,"data-swiped":ue,"data-removed":K,"data-visible":it,"data-y-position":uo,"data-x-position":On,"data-index":x,"data-front":Wt,"data-swiping":te,"data-dismissible":le,"data-type":re,"data-invert":Wi,"data-swipe-out":ie,"data-swipe-direction":$,"data-expanded":!!(_||V&&q),style:{"--index":x,"--toasts-before":x,"--z-index":S.length-x,"--offset":`${K?ke:ye.current}px`,"--initial-height":V?"auto":`${Ce}px`,...k,...p.style},onDragEnd:()=>{Q(!1),W(null),jt.current=null},onPointerDown:Ie=>{cn||!le||(ft.current=new Date,be(ye.current),Ie.target.setPointerCapture(Ie.pointerId),Ie.target.tagName!=="BUTTON"&&(Q(!0),jt.current={x:Ie.clientX,y:Ie.clientY}))},onPointerUp:()=>{var Ie,Ge,nt,tn;if(ie||!le)return;jt.current=null;let Ot=Number(((Ie=je.current)==null?void 0:Ie.style.getPropertyValue("--swipe-amount-x").replace("px",""))||0),Ft=Number(((Ge=je.current)==null?void 0:Ge.style.getPropertyValue("--swipe-amount-y").replace("px",""))||0),An=new Date().getTime()-((nt=ft.current)==null?void 0:nt.getTime()),nn=A==="x"?Ot:Ft,xn=Math.abs(nn)/An;if(Math.abs(nn)>=h4e||xn>.11){be(ye.current),(tn=p.onDismiss)==null||tn.call(p,p),U(A==="x"?Ot>0?"right":"left":Ft>0?"down":"up"),Rt(),J(!0),fe(!1);return}Q(!1),W(null)},onPointerMove:Ie=>{var Ge,nt,tn,Ot;if(!jt.current||!le||((Ge=window.getSelection())==null?void 0:Ge.toString().length)>0)return;let Ft=Ie.clientY-jt.current.y,An=Ie.clientX-jt.current.x,nn=(nt=e.swipeDirections)!=null?nt:m4e(T);!A&&(Math.abs(An)>1||Math.abs(Ft)>1)&&W(Math.abs(An)>Math.abs(Ft)?"x":"y");let xn={x:0,y:0};A==="y"?(nn.includes("top")||nn.includes("bottom"))&&(nn.includes("top")&&Ft<0||nn.includes("bottom")&&Ft>0)&&(xn.y=Ft):A==="x"&&(nn.includes("left")||nn.includes("right"))&&(nn.includes("left")&&An<0||nn.includes("right")&&An>0)&&(xn.x=An),(Math.abs(xn.x)>0||Math.abs(xn.y)>0)&&fe(!0),(tn=je.current)==null||tn.style.setProperty("--swipe-amount-x",`${xn.x}px`),(Ot=je.current)==null||Ot.style.setProperty("--swipe-amount-y",`${xn.y}px`)}},Oe&&!p.jsx?R.createElement("button",{"aria-label":H,"data-disabled":cn,"data-close-button":!0,onClick:cn||!le?()=>{}:()=>{var Ie;Rt(),(Ie=p.onDismiss)==null||Ie.call(p,p)},className:Do(z==null?void 0:z.closeButton,(o=p==null?void 0:p.classNames)==null?void 0:o.closeButton)},(i=I==null?void 0:I.close)!=null?i:JFe):null,p.jsx||R.isValidElement(p.title)?p.jsx?p.jsx:typeof p.title=="function"?p.title():p.title:R.createElement(R.Fragment,null,re||p.icon||p.promise?R.createElement("div",{"data-icon":"",className:Do(z==null?void 0:z.icon,(s=p==null?void 0:p.classNames)==null?void 0:s.icon)},p.promise||p.type==="loading"&&!p.icon?p.icon||Fn():null,p.type!=="loading"?p.icon||(I==null?void 0:I[re])||GFe(re):null):null,R.createElement("div",{"data-content":"",className:Do(z==null?void 0:z.content,(a=p==null?void 0:p.classNames)==null?void 0:a.content)},R.createElement("div",{"data-title":"",className:Do(z==null?void 0:z.title,(l=p==null?void 0:p.classNames)==null?void 0:l.title)},typeof p.title=="function"?p.title():p.title),p.description?R.createElement("div",{"data-description":"",className:Do(j,de,z==null?void 0:z.description,(c=p==null?void 0:p.classNames)==null?void 0:c.description)},typeof p.description=="function"?p.description():p.description):null),R.isValidElement(p.cancel)?p.cancel:p.cancel&&Mg(p.cancel)?R.createElement("button",{"data-button":!0,"data-cancel":!0,style:p.cancelButtonStyle||M,onClick:Ie=>{var Ge,nt;Mg(p.cancel)&&le&&((nt=(Ge=p.cancel).onClick)==null||nt.call(Ge,Ie),Rt())},className:Do(z==null?void 0:z.cancelButton,(u=p==null?void 0:p.classNames)==null?void 0:u.cancelButton)},p.cancel.label):null,R.isValidElement(p.action)?p.action:p.action&&Mg(p.action)?R.createElement("button",{"data-button":!0,"data-action":!0,style:p.actionButtonStyle||D,onClick:Ie=>{var Ge,nt;Mg(p.action)&&((nt=(Ge=p.action).onClick)==null||nt.call(Ge,Ie),!Ie.defaultPrevented&&Rt())},className:Do(z==null?void 0:z.actionButton,(d=p==null?void 0:p.classNames)==null?void 0:d.actionButton)},p.action.label):null))};function Sj(){if(typeof window>"u"||typeof document>"u")return"ltr";let e=document.documentElement.getAttribute("dir");return e==="auto"||!e?window.getComputedStyle(document.documentElement).direction:e}function b4e(e,t){let n={};return[e,t].forEach((r,o)=>{let i=o===1,s=i?"--mobile-offset":"--offset",a=i?u4e:c4e;function l(c){["top","right","bottom","left"].forEach(u=>{n[`${s}-${u}`]=typeof c=="number"?`${c}px`:c})}typeof r=="number"||typeof r=="string"?l(r):typeof r=="object"?["top","right","bottom","left"].forEach(c=>{r[c]===void 0?n[`${s}-${c}`]=a:n[`${s}-${c}`]=typeof r[c]=="number"?`${r[c]}px`:r[c]}):l(a)}),n}var y4e=R.forwardRef(function(e,t){let{invert:n,position:r="bottom-right",hotkey:o=["altKey","KeyT"],expand:i,closeButton:s,className:a,offset:l,mobileOffset:c,theme:u="light",richColors:d,duration:h,style:p,visibleToasts:g=l4e,toastOptions:m,dir:b=Sj(),gap:y=f4e,loadingIcon:v,icons:x,containerAriaLabel:S="Notifications",pauseWhenPageIsHidden:_}=e,[E,C]=R.useState([]),N=R.useMemo(()=>Array.from(new Set([r].concat(E.filter(B=>B.position).map(B=>B.position)))),[E,r]),[k,M]=R.useState([]),[D,P]=R.useState(!1),[j,O]=R.useState(!1),[T,F]=R.useState(u!=="system"?u:typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),L=R.useRef(null),V=o.join("+").replace(/Key/g,"").replace(/Digit/g,""),z=R.useRef(null),I=R.useRef(!1),H=R.useCallback(B=>{C(A=>{var W;return(W=A.find($=>$.id===B.id))!=null&&W.delete||Tr.dismiss(B.id),A.filter(({id:$})=>$!==B.id)})},[]);return R.useEffect(()=>Tr.subscribe(B=>{if(B.dismiss){C(A=>A.map(W=>W.id===B.id?{...W,delete:!0}:W));return}setTimeout(()=>{sn.flushSync(()=>{C(A=>{let W=A.findIndex($=>$.id===B.id);return W!==-1?[...A.slice(0,W),{...A[W],...B},...A.slice(W+1)]:[B,...A]})})})}),[]),R.useEffect(()=>{if(u!=="system"){F(u);return}if(u==="system"&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?F("dark"):F("light")),typeof window>"u")return;let B=window.matchMedia("(prefers-color-scheme: dark)");try{B.addEventListener("change",({matches:A})=>{F(A?"dark":"light")})}catch{B.addListener(({matches:W})=>{try{F(W?"dark":"light")}catch($){console.error($)}})}},[u]),R.useEffect(()=>{E.length<=1&&P(!1)},[E]),R.useEffect(()=>{let B=A=>{var W,$;o.every(U=>A[U]||A.code===U)&&(P(!0),(W=L.current)==null||W.focus()),A.code==="Escape"&&(document.activeElement===L.current||($=L.current)!=null&&$.contains(document.activeElement))&&P(!1)};return document.addEventListener("keydown",B),()=>document.removeEventListener("keydown",B)},[o]),R.useEffect(()=>{if(L.current)return()=>{z.current&&(z.current.focus({preventScroll:!0}),z.current=null,I.current=!1)}},[L.current]),R.createElement("section",{ref:t,"aria-label":`${S} ${V}`,tabIndex:-1,"aria-live":"polite","aria-relevant":"additions text","aria-atomic":"false",suppressHydrationWarning:!0},N.map((B,A)=>{var W;let[$,U]=B.split("-");return E.length?R.createElement("ol",{key:B,dir:b==="auto"?Sj():b,tabIndex:-1,ref:L,className:a,"data-sonner-toaster":!0,"data-theme":T,"data-y-position":$,"data-lifted":D&&E.length>1&&!i,"data-x-position":U,style:{"--front-toast-height":`${((W=k[0])==null?void 0:W.height)||0}px`,"--width":`${d4e}px`,"--gap":`${y}px`,...p,...b4e(l,c)},onBlur:q=>{I.current&&!q.currentTarget.contains(q.relatedTarget)&&(I.current=!1,z.current&&(z.current.focus({preventScroll:!0}),z.current=null))},onFocus:q=>{q.target instanceof HTMLElement&&q.target.dataset.dismissible==="false"||I.current||(I.current=!0,z.current=q.relatedTarget)},onMouseEnter:()=>P(!0),onMouseMove:()=>P(!0),onMouseLeave:()=>{j||P(!1)},onDragEnd:()=>P(!1),onPointerDown:q=>{q.target instanceof HTMLElement&&q.target.dataset.dismissible==="false"||O(!0)},onPointerUp:()=>O(!1)},E.filter(q=>!q.position&&A===0||q.position===B).map((q,G)=>{var K,Z;return R.createElement(g4e,{key:q.id,icons:x,index:G,toast:q,defaultRichColors:d,duration:(K=m==null?void 0:m.duration)!=null?K:h,className:m==null?void 0:m.className,descriptionClassName:m==null?void 0:m.descriptionClassName,invert:n,visibleToasts:g,closeButton:(Z=m==null?void 0:m.closeButton)!=null?Z:s,interacting:j,position:B,style:m==null?void 0:m.style,unstyled:m==null?void 0:m.unstyled,classNames:m==null?void 0:m.classNames,cancelButtonStyle:m==null?void 0:m.cancelButtonStyle,actionButtonStyle:m==null?void 0:m.actionButtonStyle,removeToast:H,toasts:E.filter(te=>te.position==q.position),heights:k.filter(te=>te.position==q.position),setHeights:M,expandByDefault:i,gap:y,loadingIcon:v,expanded:D,pauseWhenPageIsHidden:_,swipeDirections:e.swipeDirections})})):null}))});function v4e(e){const t=e.current,{getSelectedFrame:n,addFrame:r,setSelectedFrameId:o}=an(),i=oe(u=>u.dashboard.sheets),a=oe(u=>u.selectedSheetId)??(i==null?void 0:i[0].id),l=oe(u=>u.isDashboardEditing),c=oe(u=>u.isVisualEditing);R.useEffect(()=>{if(!l||c)return;async function u(p){const g=p.ctrlKey||p.metaKey;g&&p.key==="c"?(await d(),IU.success("Card copied to clipboard"),p.preventDefault()):g&&p.key==="v"&&(await h(),p.preventDefault())}async function d(){try{const p=n();p&&await navigator.clipboard.writeText(JSON.stringify(p))}catch(p){console.error("Failed to copy text:",p)}}async function h(){if(!a)return null;try{const p=await navigator.clipboard.readText();try{const g=JSON.parse(p);if(g&&g.id){g.id=br();const m=g.activeCardId;g.cards.forEach(b=>{const y=b.id;b.id=br(),y===m&&(g.activeCardId=b.id,b.title=`${b.title} (Copy)`)}),r(a,g),o(g.id)}}catch(g){console.error("Failed to parse clipboard contents: ",g)}return p}catch(p){return console.error("Failed to paste text:",p),null}}return t==null||t.addEventListener("keydown",u),()=>t==null?void 0:t.removeEventListener("keydown",u)},[r,n,o,a,l,c,t])}function TU(e,t){const[n,r]=R.useState(()=>{const o=localStorage.getItem(e);return o?JSON.parse(o):t});return R.useEffect(()=>{localStorage.setItem(e,JSON.stringify(n))},[n,e]),[n,r]}function jU(){const{showAssistant:e}=sr(),t=R.useRef(null),n=R.useRef(null),[r,o]=R.useState(!1),[i,s]=TU("dashboardAssistantOpen",!1),a=oe(k=>k.themeStyle),l=oe(k=>{var M;return(M=k.dashboard)==null?void 0:M.sheets}),c=oe(k=>k.isDashboardEditing),u=oe(k=>k.selectedSheetId),{setSelectedSheetId:d,setSheetTitle:h,addSheet:p,setSheets:g}=an();v4e(n);function m(k){var M,D;k?((M=t.current)==null||M.resize(35),s(!0)):(s(!1),(D=t.current)==null||D.resize(0))}function b(){const k={id:br(),title:"New Sheet"};p(k)}function y(k){k<1?s(!1):s(!0)}function v(){return(a==null?void 0:a.canvasTheme)==="muted"||!(a!=null&&a.canvasTheme)?"hsl(var(--semaphor-muted))":(a==null?void 0:a.canvasTheme)==="clear"?"":a==null?void 0:a.canvasTheme}const x=(k,M)=>{k.dataTransfer.setData("tabIndex",M.toString())},S=k=>{k.preventDefault()},_=(k,M)=>{const D=k.dataTransfer.getData("tabIndex");if(D===M.toString())return;const P=Array.from(l||[]),[j]=P.splice(parseInt(D),1);P.splice(M,0,j),g(P)};function E(){var k,M;if(l&&l.length>1||c)return f.jsxs(dc,{role:"tab-list",className:"flex h-11 items-center justify-start gap-2 rounded-none border-b border-b-muted bg-transparent px-2.5 py-3",children:[l==null?void 0:l.map((D,P)=>f.jsxs(eo,{draggable:!0,onDragStart:j=>x(j,P),onDragOver:S,onDrop:j=>_(j,P),style:{borderRadius:a==null?void 0:a.controlInputRadius},onClick:()=>d(D.id),className:"flex items-center gap-1 rounded-none border px-2 py-1",value:D.id,children:[f.jsx(Ci,{enabled:c&&D.id===u,text:D.title,onSave:j=>h(D.id,j),children:D.title},D.id),c&&u===D.id&&l.length>1&&f.jsx(or,{className:"ml-1 size-3",onClick:()=>o(!0)})]},D.id)),c&&f.jsx("div",{style:{borderRadius:(M=(k=a==null?void 0:a.chart)==null?void 0:k.options)==null?void 0:M.borderRadius},className:"flex h-7 items-center justify-center border-none bg-muted p-2 hover:cursor-pointer dark:border-l-background",onClick:b,children:f.jsx(pc,{className:"size-3"})})]})}function C(){return f.jsx("div",{ref:n,style:{},className:"grow",children:l==null?void 0:l.map(k=>f.jsx(gi,{style:{backgroundColor:v()},className:ne("mt-0",{}),value:k.id,children:f.jsx(Mke,{sheet:k})},k.id))})}function N(){var k;return f.jsxs(dd,{"data-role":"dashboard-tabs-container",className:ne("relative flex h-full flex-col",a==null?void 0:a.dashboardTabsContainer),onValueChange:M=>{d(M)},value:u||((k=l==null?void 0:l[0])==null?void 0:k.id),children:[E(),f.jsx(kd,{className:"flex-1 grow basis-0 overflow-y-auto",children:C()}),f.jsx($Ne,{open:r,setOpen:o})]})}return l?f.jsxs(UV,{className:"flex-1 basis-0 overflow-y-auto",direction:"horizontal",children:[f.jsx(OS,{children:N()}),e===!0&&f.jsxs(f.Fragment,{children:[f.jsx(aNe,{open:i,onTabClick:m,withHandle:!0}),f.jsx(OS,{className:"flex grow","data-role":"dashboard-assistant-panel",onResize:y,defaultSize:i?35:0,ref:t,children:f.jsx("div",{className:"grow overflow-y-auto",children:f.jsx(UFe,{open:i,setOpen:m})})})]})]}):null}function OU({children:e}){return f.jsx(WY,{defaultTheme:"system",storageKey:"vite-ui-theme",children:f.jsx(Ky,{delayDuration:0,children:e})})}function FU(e){return typeof window>"u"?null:f.jsx(Pp,{FallbackComponent:d2,children:f.jsx(FO,{dashboardProps:e,children:f.jsx(OU,{children:f.jsx("main",{className:"flex h-full flex-col",children:f.jsx(BO,{...e,children:f.jsx(jU,{})})})})})})}function x4e(e,t=[]){let n=[];function r(i,s){const a=w.createContext(s),l=n.length;n=[...n,s];const c=d=>{var y;const{scope:h,children:p,...g}=d,m=((y=h==null?void 0:h[e])==null?void 0:y[l])||a,b=w.useMemo(()=>g,Object.values(g));return f.jsx(m.Provider,{value:b,children:p})};c.displayName=i+"Provider";function u(d,h){var m;const p=((m=h==null?void 0:h[e])==null?void 0:m[l])||a,g=w.useContext(p);if(g)return g;if(s!==void 0)return s;throw new Error(`\`${d}\` must be used within \`${i}\``)}return[c,u]}const o=()=>{const i=n.map(s=>w.createContext(s));return function(a){const l=(a==null?void 0:a[e])||i;return w.useMemo(()=>({[`__scope${e}`]:{...a,[e]:l}}),[a,l])}};return o.scopeName=e,[r,w4e(o,...t)]}function w4e(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const r=e.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(i){const s=r.reduce((a,{useScope:l,scopeName:c})=>{const d=l(i)[`__scope${c}`];return{...a,...d}},{});return w.useMemo(()=>({[`__scope${t.scopeName}`]:s}),[s])}};return n.scopeName=t.scopeName,n}function C4e(e){const t=w.useRef(e);return w.useEffect(()=>{t.current=e}),w.useMemo(()=>(...n)=>{var r;return(r=t.current)==null?void 0:r.call(t,...n)},[])}var hE=globalThis!=null&&globalThis.document?w.useLayoutEffect:()=>{},S4e=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],uN=S4e.reduce((e,t)=>{const n=ws(`Primitive.${t}`),r=w.forwardRef((o,i)=>{const{asChild:s,...a}=o,l=s?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),f.jsx(l,{...a,ref:i})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function E4e(){return A0.useSyncExternalStore(_4e,()=>!0,()=>!1)}function _4e(){return()=>{}}var dN="Avatar",[R4e,qLe]=x4e(dN),[k4e,LU]=R4e(dN),$U=w.forwardRef((e,t)=>{const{__scopeAvatar:n,...r}=e,[o,i]=w.useState("idle");return f.jsx(k4e,{scope:n,imageLoadingStatus:o,onImageLoadingStatusChange:i,children:f.jsx(uN.span,{...r,ref:t})})});$U.displayName=dN;var zU="AvatarImage",BU=w.forwardRef((e,t)=>{const{__scopeAvatar:n,src:r,onLoadingStatusChange:o=()=>{},...i}=e,s=LU(zU,n),a=N4e(r,i),l=C4e(c=>{o(c),s.onImageLoadingStatusChange(c)});return hE(()=>{a!=="idle"&&l(a)},[a,l]),a==="loaded"?f.jsx(uN.img,{...i,ref:t,src:r}):null});BU.displayName=zU;var VU="AvatarFallback",HU=w.forwardRef((e,t)=>{const{__scopeAvatar:n,delayMs:r,...o}=e,i=LU(VU,n),[s,a]=w.useState(r===void 0);return w.useEffect(()=>{if(r!==void 0){const l=window.setTimeout(()=>a(!0),r);return()=>window.clearTimeout(l)}},[r]),s&&i.imageLoadingStatus!=="loaded"?f.jsx(uN.span,{...o,ref:t}):null});HU.displayName=VU;function Ej(e,t){return e?t?(e.src!==t&&(e.src=t),e.complete&&e.naturalWidth>0?"loaded":"loading"):"error":"idle"}function N4e(e,{referrerPolicy:t,crossOrigin:n}){const r=E4e(),o=w.useRef(null),i=r?(o.current||(o.current=new window.Image),o.current):null,[s,a]=w.useState(()=>Ej(i,e));return hE(()=>{a(Ej(i,e))},[i,e]),hE(()=>{const l=d=>()=>{a(d)};if(!i)return;const c=l("loaded"),u=l("error");return i.addEventListener("load",c),i.addEventListener("error",u),t&&(i.referrerPolicy=t),typeof n=="string"&&(i.crossOrigin=n),()=>{i.removeEventListener("load",c),i.removeEventListener("error",u)}},[i,n,t]),s}var WU=$U,UU=BU,GU=HU;const qU=w.forwardRef(({className:e,...t},n)=>f.jsx(WU,{ref:n,className:ne("relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full",e),...t}));qU.displayName=WU.displayName;const YU=w.forwardRef(({className:e,...t},n)=>f.jsx(UU,{ref:n,className:ne("aspect-square h-full w-full",e),...t}));YU.displayName=UU.displayName;const KU=w.forwardRef(({className:e,...t},n)=>f.jsx(GU,{ref:n,className:ne("flex h-full w-full items-center justify-center rounded-full bg-muted",e),...t}));KU.displayName=GU.displayName;const M4e=e=>{const{currentContext:t,currentMode:n,selectedUsers:r,usersToRemove:o,usersToUpdate:i,selectedTenant:s,orgWideRole:a,allTenantsRole:l,tenantWideRole:c}=e;if(!t||!n)return null;switch(t){case"org-tab":if(n==="allOrgUsers")return{context:"org-tab",mode:"allOrgUsers",orgWideRole:a};if(n==="specificOrgUsers")return{context:"org-tab",mode:"specificOrgUsers",selectedUsers:r,usersToRemove:o,usersToUpdate:i};break;case"tenant-tab":if(n==="allTenants")return{context:"tenant-tab",mode:"allTenants",allTenantsRole:l};if(n==="allTenantUsers")return s?{context:"tenant-tab",mode:"allTenantUsers",tenantId:s,tenantWideRole:c}:null;if(n==="specificTenantUsers")return s?{context:"tenant-tab",mode:"specificTenantUsers",tenantId:s,selectedUsers:r,usersToRemove:o,usersToUpdate:i}:null;break;case"tenant-dialog":if(n==="allTenantUsers")return{context:"tenant-dialog",mode:"allTenantUsers",tenantWideRole:c};if(n==="specificTenantUsers")return{context:"tenant-dialog",mode:"specificTenantUsers",selectedUsers:r,usersToRemove:o,usersToUpdate:i};break}return null},XU=e=>{switch(e.context){case"org-tab":return e.mode==="specificOrgUsers"?e.selectedUsers.length>0||e.usersToRemove.length>0||e.usersToUpdate.length>0:!0;case"tenant-tab":if(e.mode==="allTenantUsers"||e.mode==="specificTenantUsers"){if(!e.tenantId)return!1;if(e.mode==="specificTenantUsers")return e.selectedUsers.length>0||e.usersToRemove.length>0||e.usersToUpdate.length>0}return!0;case"tenant-dialog":return e.mode==="specificTenantUsers"?e.selectedUsers.length>0||e.usersToRemove.length>0||e.usersToUpdate.length>0:!0}return!1};function QU(e){var b;const t=oe(y=>y.authToken)||e,n=Re(y=>y.selectedConnectionId),r=Re(y=>y.selectedDatabaseName),o=Re(y=>y.selectedDatamodelId),i=Re(y=>y.selectedSchemaName),s=Re(y=>y.selectedTableName),{selectedConnection:a}=Li(),l=a==null?void 0:a.type,{data:c,isLoading:u,isFetching:d,isError:h,refetch:p}=Tn({queryKey:["columns",n,r,o,i,s],queryFn:()=>vr("https://semaphor.cloud/api/v1/columns",(t==null?void 0:t.accessToken)||"",{connection_id:n,datamodel_id:o||"",database_name:r,schema_name:i,table_name:s}),enabled:g(l)});function g(y){return t!=null&&t.accessToken?!!(n&&r&&r!=="NA"&&i&&s||n&&(y==="S3"||y==="API")||o&&o):!1}return{columns:(b=c==null?void 0:c.columns)==null?void 0:b.map(y=>({...y,data_type:y.data_type.toLowerCase()})),isColumnsLoading:u,isColumnsFetching:d,isColumnsError:h,refetchColumns:p}}function P4e(e,t){const[n,r]=R.useState(e);return R.useEffect(()=>{const o=setTimeout(()=>{r(e)},t);return()=>{clearTimeout(o)}},[e,t]),n}const _j={searchQuery:"",debouncedSearchQuery:"",selectedUsers:[],usersToRemove:[],usersToUpdate:[],selectedTab:"org",currentContext:"org-tab",currentMode:null,orgWideRole:"VIEWER",allTenantsRole:"VIEWER",tenantWideRole:"VIEWER",selectedTenant:"",message:""},Po=_s()(np(e=>({..._j,actions:{setSearchQuery:t=>{e(n=>{n.searchQuery=t})},setDebouncedSearchQuery:t=>{e(n=>{n.debouncedSearchQuery=t})},setSelectedUsers:t=>{e(n=>{n.selectedUsers=t})},addSelectedUser:t=>{e(n=>{n.selectedUsers.some(o=>o.id===t.id)||n.selectedUsers.push(t)})},removeSelectedUser:t=>{e(n=>{n.selectedUsers=n.selectedUsers.filter(r=>r.id!==t)})},updateSelectedUserRole:(t,n)=>{e(r=>{const o=r.selectedUsers.find(i=>i.id===t);o&&(o.role=n)})},setUsersToRemove:t=>{e(n=>{n.usersToRemove=t})},addUserToRemove:t=>{e(n=>{n.usersToRemove.includes(t)||n.usersToRemove.push(t)})},removeUserFromRemove:t=>{e(n=>{n.usersToRemove=n.usersToRemove.filter(r=>r!==t)})},setUsersToUpdate:t=>{e(n=>{n.usersToUpdate=t})},addUserToUpdate:t=>{e(n=>{n.usersToUpdate=n.usersToUpdate.filter(r=>r.id!==t.id),n.usersToUpdate.push(t)})},removeUserFromUpdate:t=>{e(n=>{n.usersToUpdate=n.usersToUpdate.filter(r=>r.id!==t)})},setSelectedTenant:t=>{e(n=>{n.selectedTenant=t})},setSelectedTab:t=>{e(n=>{n.selectedTab=t})},setCurrentContext:t=>{e(n=>{n.currentContext=t})},setCurrentMode:t=>{e(n=>{n.currentMode=t})},setOrgWideRole:t=>{e(n=>{n.orgWideRole=t})},setAllTenantsRole:t=>{e(n=>{n.allTenantsRole=t})},setTenantWideRole:t=>{e(n=>{n.tenantWideRole=t})},setMessage:t=>{e(n=>{n.message=t})},validateShareData:t=>XU(t),resetShareState:()=>{e(t=>{Object.assign(t,_j)})},resetUserSelections:()=>{e(t=>{t.selectedUsers=[],t.usersToRemove=[],t.usersToUpdate=[]})}}}))),ZU=()=>Po(e=>e.searchQuery),A4e=()=>Po(e=>e.selectedUsers),D4e=()=>Po(e=>e.usersToRemove),I4e=()=>Po(e=>e.usersToUpdate),T4e=()=>Po(e=>e.selectedTenant),j4e=()=>Po(e=>e.selectedTab),O4e=()=>Po(e=>e.currentContext),F4e=()=>Po(e=>e.currentMode),L4e=()=>Po(e=>e.orgWideRole),$4e=()=>Po(e=>e.allTenantsRole),z4e=()=>Po(e=>e.tenantWideRole),JU=()=>Po(e=>e.actions),B4e=()=>{const e=ZU(),t=P4e(e,300),n=JU();return R.useEffect(()=>{n.setDebouncedSearchQuery(t)},[t,n]),{searchQuery:e,debouncedSearchQuery:t,setSearchQuery:n.setSearchQuery}};function eG(e,t){var de,Se,Oe,qt,en;const n=op(),r=sr().authToken||e,o=Re(ye=>ye.selectedConnectionId),i=Re(ye=>ye.card),{queryKey:s}=EF(i),a=Re(ye=>ye.selectedDatamodelId),l=Re(ye=>ye.isDevMode),c=Re(ye=>ye.selectedDatabaseName),u=Re(ye=>ye.selectedSchemaName),d=Re(ye=>ye.selectedTableName),h=Re(ye=>ye.actions.setSelectedConnectionId),p=Re(ye=>ye.actions.setSelectedDatamodelId),g=Re(ye=>ye.actions.setSelectedDatabaseName),m=Re(ye=>ye.actions.setSelectedSchemaName),b=Re(ye=>ye.actions.setSelectedTableName);Re(ye=>ye.actions.setCardSql);const{setQueryConfig:y}=Jo();function v(ye){return o&&c&&u&&c!=="NA"?!0:o&&ye==="API"?!1:!!(o&&ye==="S3")}function x(ye){return o&&ye?!(ye==="API"||ye==="S3"):!1}const{refetchConnections:S,connectionsData:_,isConnectionsLoading:E,isConnectionsError:C,selectedConnection:N}=Li(e),{refetch:k,data:M,isLoading:D,isError:P}=Tn({queryKey:["models",o],queryFn:()=>vr("https://semaphor.cloud/api/v1/datamodels",(r==null?void 0:r.accessToken)||"",{connection_id:o}),enabled:!!(r!=null&&r.accessToken)&&!!o}),j=N==null?void 0:N.type,O=(N==null?void 0:N.type)==="API"||(N==null?void 0:N.type)==="S3",{data:T,isLoading:F,isFetching:L,isError:V,refetch:z}=Tn({queryKey:["databases",o],queryFn:()=>vr("https://semaphor.cloud/api/v1/databases",(r==null?void 0:r.accessToken)||"",{connection_id:o}),enabled:x(j)}),{data:I,isLoading:H,isFetching:B,isError:A,refetch:W}=Tn({queryKey:["schemas",o,c],queryFn:()=>vr("https://semaphor.cloud/api/v1/schemas",(r==null?void 0:r.accessToken)||"",{connection_id:o,database_name:c}),enabled:!!o&&!!c&&!O&&c!=="NA"}),{data:$,isLoading:U,isFetching:q,isError:G,refetch:K}=Tn({queryKey:["tables",o,c,u],queryFn:()=>vr("https://semaphor.cloud/api/v1/tables",(r==null?void 0:r.accessToken)||"",{connection_id:o,database_name:c,schema_name:u}),enabled:v(j)}),{columns:Z,isColumnsLoading:te,isColumnsFetching:Q,isColumnsError:ie,refetchColumns:J}=QU(e);R.useEffect(()=>{(j==="S3"||j==="API")&&(g(""),m(""),p(""),j==="API"&&b("api"))},[j,b,g,m,p]);const ue=(N==null?void 0:N.type)==="API"?(de=N==null?void 0:N.type)==null?void 0:de.toLowerCase():d||"",fe=O?"":u||"";function ke(ye){b(ye),y(void 0),l||(n.setQueryData(s,null),n.removeQueries({queryKey:s,exact:!0}))}function be(ye){m(ye),b("")}function Ce(ye){g(ye==="none"?"":ye),m(""),b(""),ye!=="none"&&ye!==""&&p("")}function Pe(ye){h(ye)}function De(ye){p(ye==="none"?"":ye),ye!=="none"&&ye!==""&&g("")}T&&((Se=T==null?void 0:T.databases)==null?void 0:Se.length)>0,I&&((Oe=I==null?void 0:I.schemas)==null?void 0:Oe.length)>0;const ft=_==null?void 0:_.connections.map(ye=>({id:ye.id,name:ye.name,type:ye.type})),je=(qt=M==null?void 0:M.datamodels)==null?void 0:qt.map(ye=>({id:ye.id,name:ye.name})),Wt=T==null?void 0:T.databases.map(ye=>({id:ye.database_name,name:ye.database_name})),it=I==null?void 0:I.schemas.map(ye=>({id:ye.schema_name,name:ye.schema_name})),re=$==null?void 0:$.tables.map(ye=>({id:ye.table_name,name:ye.table_name})),le=(en=M==null?void 0:M.datamodels.find(ye=>ye.id===a))==null?void 0:en.name,ae=sO({schemaName:fe,tableName:ue,modelName:le,connectionType:j,databaseName:c||""});return{connectionItems:ft,selectedConnectionId:o,selectedConnection:N,isConnectionsLoading:E,isConnectionsError:C,modelItems:je,selectedDatamodelId:a,selectedDatamodelName:le,isModelsLoading:D,isModelsError:P,selectedDatabaseName:c,databaseItems:Wt,isDatabasesLoadingOrFetching:F||L,isDatabaseError:V,schemaItems:it,selectedSchemaName:u,isSchemaLoadingOrFetching:H||B,isSchemaError:A,tableItems:re,selectedTableName:d,isTableLoadingOrFetching:U||q,isTableError:G,columns:Z,isColumnsLoadingOrFetching:te||Q,isColumnsError:ie,isNonDbConnection:O,connectionType:j,tableName:ue,formattedTableName:ae,schemaName:fe,refetchConnections:S,refetchModels:k,refetchDatabases:z,refetchSchemas:W,refetchTables:K,refetchColumns:J,handleConnectionChange:Pe,handleDatamodelChange:De,handleDatabaseChange:Ce,handleSchemaChange:be,handleTableChange:ke}}function V4e(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Rj(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function kj(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?Rj(Object(n),!0).forEach(function(r){V4e(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Rj(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function H4e(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,i;for(i=0;i<r.length;i++)o=r[i],!(t.indexOf(o)>=0)&&(n[o]=e[o]);return n}function W4e(e,t){if(e==null)return{};var n=H4e(e,t),r,o;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o<i.length;o++)r=i[o],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function U4e(e,t){return G4e(e)||q4e(e,t)||Y4e(e,t)||K4e()}function G4e(e){if(Array.isArray(e))return e}function q4e(e,t){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(e)))){var n=[],r=!0,o=!1,i=void 0;try{for(var s=e[Symbol.iterator](),a;!(r=(a=s.next()).done)&&(n.push(a.value),!(t&&n.length===t));r=!0);}catch(l){o=!0,i=l}finally{try{!r&&s.return!=null&&s.return()}finally{if(o)throw i}}return n}}function Y4e(e,t){if(e){if(typeof e=="string")return Nj(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Nj(e,t)}}function Nj(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function K4e(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
639
639
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function X4e(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Mj(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function Pj(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?Mj(Object(n),!0).forEach(function(r){X4e(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Mj(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function Q4e(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return function(r){return t.reduceRight(function(o,i){return i(o)},r)}}function Ef(e){return function t(){for(var n=this,r=arguments.length,o=new Array(r),i=0;i<r;i++)o[i]=arguments[i];return o.length>=e.length?e.apply(this,o):function(){for(var s=arguments.length,a=new Array(s),l=0;l<s;l++)a[l]=arguments[l];return t.apply(n,[].concat(o,a))}}}function N0(e){return{}.toString.call(e).includes("Object")}function Z4e(e){return!Object.keys(e).length}function qh(e){return typeof e=="function"}function J4e(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function e3e(e,t){return N0(t)||fa("changeType"),Object.keys(t).some(function(n){return!J4e(e,n)})&&fa("changeField"),t}function t3e(e){qh(e)||fa("selectorType")}function n3e(e){qh(e)||N0(e)||fa("handlerType"),N0(e)&&Object.values(e).some(function(t){return!qh(t)})&&fa("handlersType")}function r3e(e){e||fa("initialIsRequired"),N0(e)||fa("initialType"),Z4e(e)&&fa("initialContent")}function o3e(e,t){throw new Error(e[t]||e.default)}var i3e={initialIsRequired:"initial state is required",initialType:"initial state should be an object",initialContent:"initial state shouldn't be an empty object",handlerType:"handler should be an object or a function",handlersType:"all handlers should be a functions",selectorType:"selector should be a function",changeType:"provided value of changes should be an object",changeField:'it seams you want to change a field in the state which is not specified in the "initial" state',default:"an unknown error accured in `state-local` package"},fa=Ef(o3e)(i3e),Pg={changes:e3e,selector:t3e,handler:n3e,initial:r3e};function s3e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};Pg.initial(e),Pg.handler(t);var n={current:e},r=Ef(c3e)(n,t),o=Ef(l3e)(n),i=Ef(Pg.changes)(e),s=Ef(a3e)(n);function a(){var c=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(u){return u};return Pg.selector(c),c(n.current)}function l(c){Q4e(r,o,i,s)(c)}return[a,l]}function a3e(e,t){return qh(t)?t(e.current):t}function l3e(e,t){return e.current=Pj(Pj({},e.current),t),t}function c3e(e,t,n){return qh(t)?t(e.current):Object.keys(n).forEach(function(r){var o;return(o=t[r])===null||o===void 0?void 0:o.call(t,e.current[r])}),n}var u3e={create:s3e},d3e={paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@0.52.2/min/vs"}};function f3e(e){return function t(){for(var n=this,r=arguments.length,o=new Array(r),i=0;i<r;i++)o[i]=arguments[i];return o.length>=e.length?e.apply(this,o):function(){for(var s=arguments.length,a=new Array(s),l=0;l<s;l++)a[l]=arguments[l];return t.apply(n,[].concat(o,a))}}}function h3e(e){return{}.toString.call(e).includes("Object")}function p3e(e){return e||Aj("configIsRequired"),h3e(e)||Aj("configType"),e.urls?(m3e(),{paths:{vs:e.urls.monacoBase}}):e}function m3e(){console.warn(tG.deprecation)}function g3e(e,t){throw new Error(e[t]||e.default)}var tG={configIsRequired:"the configuration object is required",configType:"the configuration object should be an object",default:"an unknown error accured in `@monaco-editor/loader` package",deprecation:`Deprecation warning!
640
640
  You are using deprecated way of configuration.
@@ -80811,8 +80811,8 @@ function v3e({
80811
80811
  }
80812
80812
  return f && f.length > 0, /* @__PURE__ */ p(b_, { open: e, onOpenChange: t, children: /* @__PURE__ */ p(X0, { className: "flex max-w-2xl flex-col", children: /* @__PURE__ */ P("div", { children: [
80813
80813
  /* @__PURE__ */ P(Q0, { className: "flex-shrink-0", children: [
80814
- /* @__PURE__ */ p(J0, { children: o === "aiContext" ? "AI Context" : "Select Data Source" }),
80815
- /* @__PURE__ */ p(ey, { children: o === "aiContext" ? "Set the overall data scope for the Assistant" : "Select data sets to analyze" })
80814
+ /* @__PURE__ */ p(J0, { children: o === "aiContext" ? "Data Context" : "Select Data Source" }),
80815
+ /* @__PURE__ */ p(ey, { children: o === "aiContext" ? "Set the overall data scope for the dashboard" : "Select data sets to analyze" })
80816
80816
  ] }),
80817
80817
  /* @__PURE__ */ p("div", { className: "flex-1 grow overflow-y-auto py-4", children: /* @__PURE__ */ P("div", { className: "space-y-4", children: [
80818
80818
  /* @__PURE__ */ p("div", { className: "space-y-2", children: /* @__PURE__ */ p(
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../chunks/index-DkXwAQmY.js"),r=require("../types/index.cjs");exports.Dashboard=e.Dashboard;exports.EMPTY_SELECTION=r.EMPTY_SELECTION;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../chunks/index-BCSRVTst.js"),r=require("../types/index.cjs");exports.Dashboard=e.Dashboard;exports.EMPTY_SELECTION=r.EMPTY_SELECTION;
@@ -1,4 +1,4 @@
1
- import { D as a } from "../chunks/index-DD-bkOqG.js";
1
+ import { D as a } from "../chunks/index-DSwq8_oh.js";
2
2
  import { EMPTY_SELECTION as e } from "../types/index.js";
3
3
  export {
4
4
  a as Dashboard,
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./chunks/index-DkXwAQmY.js"),o=require("./types/index.cjs"),a=require("./chunks/dashboard-plus-D6vt7we-.js");require("react/jsx-runtime");require("react");require("react-dom");const Y=["MM-DD-YYYY","YYYY-MM-DD","MM/DD/YYYY","DD/MM/YYYY","MMMM DD, YYYY","MMM DD, YYYY","DD MMM YYYY","Week of MMM DD, YYYY","Week of MMMM DD, YYYY","YYYY-WW","MMM YYYY","MMMM YYYY","YYYY-MM","MM/YYYY","YYYY MMM","Q1 YYYY","YYYY Q1","1st Quarter YYYY","YYYY-Q1","Quarter 1, YYYY","YYYY","YY","custom"];var r=(t=>(t.SUBTOTAL="__SUBTOTAL__",t.TOTAL="__TOTAL__",t.ALL="__ALL__",t))(r||{});exports.Dashboard=e.Dashboard;exports.DashboardWC=e.DashboardWC;exports.SemaphorContextProvider=e.SemaphorContextProvider;exports.SemaphorDataProvider=e.SemaphorQueryClient;exports.SemaphorQueryClient=e.SemaphorQueryClient;exports.createSqlGenConfig=e.createSqlGenConfig;exports.fmt=e.fmt;exports.getColumnDataType=e.getColumnDataType;exports.getFilterValueType=e.getFilterValueType;exports.getFormattedTableNameForQuery=e.getFormattedTableNameForQuery;exports.getQualifiedTableName=e.getQualifiedTableName;exports.getSql=e.getSql;exports.invalidateToken=e.invalidateToken;exports.isBooleanDataType=e.isBooleanDataType;exports.isColumnInSqlGen=e.isColumnInSqlGen;exports.isDateDataType=e.isDateDataType;exports.isNumberDataType=e.isNumberDataType;exports.isTextDataType=e.isTextDataType;exports.resolveDataType=e.resolveDataType;exports.resolveDatamodelName=e.resolveDatamodelName;exports.useCard=e.useCard;exports.useCurrentActiveCard=e.useCurrentActiveCard;exports.useCurrentCardConfig=e.useCurrentCardConfig;exports.useCurrentSheetActiveCards=e.useCurrentSheetActiveCards;exports.useDashboardActions=e.useDashboardActions;exports.useDashboardStore=e.useDashboardStore;exports.useDataColumns=e.useDataColumns;exports.useDateFilterHook=e.useDateFilterHook;exports.useEditorActions=e.useEditorActions;exports.useEditorAside=e.useEditorAside;exports.useEditorStore=e.useEditorStore;exports.useTextFilterHook=e.useTextFilterHook;exports.EMPTY_SELECTION=o.EMPTY_SELECTION;exports.ResourceManagementPanel=a.ResourceManagementPanel;exports.ScheduleDashboard=a.ScheduleDashboard;exports.SelectComponent=a.SelectComponent;exports.Surfboard=a.DashboardPlus;exports.cleanCard=a.cleanCard;exports.downloadPdf=a.downloadPdf;exports.getDashbaordStateWithoutData=a.getDashbaordStateWithoutData;exports.DATE_FORMAT_VALUES=Y;exports.PivotMarkerEnum=r;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./chunks/index-BCSRVTst.js"),o=require("./types/index.cjs"),a=require("./chunks/dashboard-plus-jmg1QJuX.js");require("react/jsx-runtime");require("react");require("react-dom");const Y=["MM-DD-YYYY","YYYY-MM-DD","MM/DD/YYYY","DD/MM/YYYY","MMMM DD, YYYY","MMM DD, YYYY","DD MMM YYYY","Week of MMM DD, YYYY","Week of MMMM DD, YYYY","YYYY-WW","MMM YYYY","MMMM YYYY","YYYY-MM","MM/YYYY","YYYY MMM","Q1 YYYY","YYYY Q1","1st Quarter YYYY","YYYY-Q1","Quarter 1, YYYY","YYYY","YY","custom"];var r=(t=>(t.SUBTOTAL="__SUBTOTAL__",t.TOTAL="__TOTAL__",t.ALL="__ALL__",t))(r||{});exports.Dashboard=e.Dashboard;exports.DashboardWC=e.DashboardWC;exports.SemaphorContextProvider=e.SemaphorContextProvider;exports.SemaphorDataProvider=e.SemaphorQueryClient;exports.SemaphorQueryClient=e.SemaphorQueryClient;exports.createSqlGenConfig=e.createSqlGenConfig;exports.fmt=e.fmt;exports.getColumnDataType=e.getColumnDataType;exports.getFilterValueType=e.getFilterValueType;exports.getFormattedTableNameForQuery=e.getFormattedTableNameForQuery;exports.getQualifiedTableName=e.getQualifiedTableName;exports.getSql=e.getSql;exports.invalidateToken=e.invalidateToken;exports.isBooleanDataType=e.isBooleanDataType;exports.isColumnInSqlGen=e.isColumnInSqlGen;exports.isDateDataType=e.isDateDataType;exports.isNumberDataType=e.isNumberDataType;exports.isTextDataType=e.isTextDataType;exports.resolveDataType=e.resolveDataType;exports.resolveDatamodelName=e.resolveDatamodelName;exports.useCard=e.useCard;exports.useCurrentActiveCard=e.useCurrentActiveCard;exports.useCurrentCardConfig=e.useCurrentCardConfig;exports.useCurrentSheetActiveCards=e.useCurrentSheetActiveCards;exports.useDashboardActions=e.useDashboardActions;exports.useDashboardStore=e.useDashboardStore;exports.useDataColumns=e.useDataColumns;exports.useDateFilterHook=e.useDateFilterHook;exports.useEditorActions=e.useEditorActions;exports.useEditorAside=e.useEditorAside;exports.useEditorStore=e.useEditorStore;exports.useTextFilterHook=e.useTextFilterHook;exports.EMPTY_SELECTION=o.EMPTY_SELECTION;exports.ResourceManagementPanel=a.ResourceManagementPanel;exports.ScheduleDashboard=a.ScheduleDashboard;exports.SelectComponent=a.SelectComponent;exports.Surfboard=a.DashboardPlus;exports.cleanCard=a.cleanCard;exports.downloadPdf=a.downloadPdf;exports.getDashbaordStateWithoutData=a.getDashbaordStateWithoutData;exports.DATE_FORMAT_VALUES=Y;exports.PivotMarkerEnum=r;
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
- import { D, d as u, S as d, b as i, b as n, m as l, f as T, o as m, n as p, q as C, s as S, l as A, i as _, k as c, p as h, j as b, h as f, g, t as y, r as L, c as x, x as Q, z as v, y as E, A as F, w as O, e as W, u as N, C as k, v as q, B, a as P } from "./chunks/index-DD-bkOqG.js";
1
+ import { D, d as u, S as d, b as i, b as n, m as l, f as T, o as m, n as p, q as C, s as S, l as A, i as _, k as c, p as h, j as b, h as f, g, t as y, r as L, c as x, x as Q, z as v, y as E, A as F, w as O, e as W, u as N, C as k, v as q, B, a as P } from "./chunks/index-DSwq8_oh.js";
2
2
  import { EMPTY_SELECTION as U } from "./types/index.js";
3
- import { R as G, S as H, a as I, D as V, c as j, d as z, g as J } from "./chunks/dashboard-plus-BDaSxoPS.js";
3
+ import { R as G, S as H, a as I, D as V, c as j, d as z, g as J } from "./chunks/dashboard-plus-BXuu8joa.js";
4
4
  import "react/jsx-runtime";
5
5
  import "react";
6
6
  import "react-dom";
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../chunks/dashboard-plus-D6vt7we-.js"),r=require("../types/index.cjs");exports.Surfboard=e.DashboardPlus;exports.EMPTY_SELECTION=r.EMPTY_SELECTION;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../chunks/dashboard-plus-jmg1QJuX.js"),r=require("../types/index.cjs");exports.Surfboard=e.DashboardPlus;exports.EMPTY_SELECTION=r.EMPTY_SELECTION;
@@ -1,4 +1,4 @@
1
- import { D as f } from "../chunks/dashboard-plus-BDaSxoPS.js";
1
+ import { D as f } from "../chunks/dashboard-plus-BXuu8joa.js";
2
2
  import { EMPTY_SELECTION as a } from "../types/index.js";
3
3
  export {
4
4
  a as EMPTY_SELECTION,
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "email": "support@semaphor.cloud"
6
6
  },
7
7
  "license": "MIT",
8
- "version": "0.0.563",
8
+ "version": "0.0.564",
9
9
  "description": "Fully interactive and customizable dashboards for your apps.",
10
10
  "keywords": [
11
11
  "react",