@citron-systems/citron-ui 1.10.0 → 1.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import{Send as Mn,Calendar as Sn}from"lucide-react";import{clsx as Tn}from"clsx";import{twMerge as Pn}from"tailwind-merge";function o(...t){return Pn(Tn(t))}import{jsx as be,jsxs as Ln}from"react/jsx-runtime";var En={primary:["bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)]","hover:bg-[var(--inkblot-semantic-color-interactive-primary-hover)] active:bg-[var(--inkblot-semantic-color-interactive-primary-active)]"],secondary:["bg-[var(--inkblot-semantic-color-interactive-secondary)] text-[var(--inkblot-semantic-color-text-primary)]","border border-[var(--inkblot-semantic-color-border-default)]","hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)] hover:border-[var(--inkblot-semantic-color-border-strong)]","active:bg-[var(--inkblot-semantic-color-background-tertiary)]"]};function Ye({buttons:t,className:e}){return be("div",{className:o("flex flex-wrap items-center gap-[var(--inkblot-spacing-3)]",e),children:t.map(r=>Ln("button",{type:"button",onClick:()=>{r.onClick?.()},disabled:r.disabled,className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center gap-2 rounded-[var(--inkblot-radius-lg)] px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)]","[font:var(--inkblot-semantic-typography-body-medium)] font-medium","focus:outline-none focus:ring-2 focus:ring-[var(--inkblot-semantic-color-border-focus)] focus:ring-offset-2 focus:ring-offset-[var(--inkblot-semantic-color-background-primary)]","transition-colors duration-[var(--inkblot-duration-fast)]","disabled:opacity-[var(--inkblot-opacity-disabled)] disabled:pointer-events-none disabled:cursor-not-allowed",En[r.variant]),children:[r.icon??null,r.label]},r.id))})}function ue({onSendNow:t,onSchedule:e,onSaveDraft:r,className:a}){return be(Ye,{buttons:[{id:"send",label:"Send Now",variant:"primary",icon:be(Mn,{className:"h-4 w-4"}),onClick:t},{id:"schedule",label:"Schedule",variant:"secondary",icon:be(Sn,{className:"h-4 w-4"}),onClick:e},{id:"draft",label:"Save Draft",variant:"secondary",onClick:r}],className:a})}import{forwardRef as In}from"react";import{Loader2 as Dn,Sparkles as An}from"lucide-react";import{jsx as St,jsxs as Xe}from"react/jsx-runtime";var qt=In(({label:t,loading:e=!1,onWriteWithAI:r,disabled:a,className:n,...i},s)=>{let l=a||e;return Xe("div",{className:o("flex flex-col gap-[var(--inkblot-spacing-2)]",n),children:[Xe("div",{className:"flex items-center justify-between",children:[t?St("label",{htmlFor:i.id,className:o("uppercase tracking-wider","[font:var(--inkblot-semantic-typography-body-small)]","text-[var(--inkblot-semantic-color-text-primary)]"),children:t}):St("span",{}),r?Xe("button",{type:"button",onClick:r,disabled:e,className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center gap-2 rounded-[var(--inkblot-radius-lg)]","border border-[var(--inkblot-semantic-color-border-default)]","bg-[var(--inkblot-semantic-color-interactive-secondary)]","px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)]","[font:var(--inkblot-semantic-typography-body-medium)] font-medium","text-[var(--inkblot-semantic-color-text-primary)]","hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)] hover:border-[var(--inkblot-semantic-color-border-strong)]","focus:outline-none focus:ring-2 focus:ring-[var(--inkblot-semantic-color-border-focus)] focus:ring-offset-2 focus:ring-offset-[var(--inkblot-semantic-color-background-primary)]","transition-colors duration-[var(--inkblot-duration-fast)]","disabled:opacity-[var(--inkblot-opacity-disabled)] disabled:cursor-not-allowed disabled:pointer-events-none"),children:[e?St(Dn,{className:"h-4 w-4 shrink-0 animate-spin"}):St(An,{className:"h-4 w-4 shrink-0",style:{color:"var(--inkblot-semantic-color-status-warning)"}}),e?"Generating...":"Write with AI"]}):null]}),St("div",{className:"relative",children:St("textarea",{ref:s,disabled:l,className:o("min-h-[12rem] w-full rounded-[var(--inkblot-radius-lg)]","border border-[var(--inkblot-semantic-color-border-default)]","bg-[var(--inkblot-semantic-color-background-secondary)]","px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-3)]","[font:var(--inkblot-semantic-typography-body-medium)]","text-[var(--inkblot-semantic-color-text-primary)] placeholder:text-[var(--inkblot-semantic-color-text-tertiary)]","transition-colors duration-[var(--inkblot-duration-fast)]","hover:border-[var(--inkblot-semantic-color-border-strong)]","focus:outline-none focus:ring-2 focus:ring-[var(--inkblot-semantic-color-border-focus)] focus:ring-offset-2 focus:ring-offset-[var(--inkblot-semantic-color-background-primary)]","disabled:opacity-[var(--inkblot-opacity-disabled)] disabled:cursor-not-allowed disabled:pointer-events-none"),...i})})]})});qt.displayName="AIComposeInput";import{forwardRef as Rn}from"react";import{jsx as Bn}from"react/jsx-runtime";var Hn={primary:"border border-transparent bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)] shadow-[var(--inkblot-shadow-sm)] hover:bg-[var(--inkblot-semantic-color-interactive-primary-hover)] active:bg-[var(--inkblot-semantic-color-interactive-primary-active)]",secondary:"border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] text-[var(--inkblot-semantic-color-text-primary)] hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)] hover:border-[var(--inkblot-semantic-color-border-strong)] active:bg-[var(--inkblot-semantic-color-background-tertiary)]"},Yt=Rn(({className:t,variant:e="primary",disabled:r,...a},n)=>Bn("button",{ref:n,disabled:r,className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center rounded-[var(--inkblot-radius-lg)] px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)] [font:var(--inkblot-semantic-typography-body-medium)] font-semibold transition-[background,border-color,box-shadow,color] duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--inkblot-semantic-color-border-focus)] focus-visible:ring-offset-2 focus-visible:ring-offset-[var(--inkblot-semantic-color-background-primary)] disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-[var(--inkblot-opacity-disabled)]",Hn[e],t),...a}));Yt.displayName="Button";import{useMemo as zn,useState as Jr}from"react";import{ArrowDown as On,ArrowUp as Vn,ArrowUpDown as Fn,CheckCircle as Gn,Zap as Wn,FileText as $n,Clock as _n}from"lucide-react";import{jsx as R,jsxs as kt}from"react/jsx-runtime";var Kn={sent:{icon:Gn,label:"Sent",colorClass:"text-[var(--inkblot-semantic-color-status-success)]"},active:{icon:Wn,label:"Active",colorClass:"text-[var(--inkblot-semantic-color-status-warning)]"},draft:{icon:$n,label:"Draft",colorClass:"text-[var(--inkblot-semantic-color-text-secondary)]"},scheduled:{icon:_n,label:"Scheduled",colorClass:"text-[var(--inkblot-semantic-color-status-info)]"}};function ve({columns:t,rows:e,sortKey:r,sortDirection:a,defaultSortKey:n,defaultSortDirection:i="asc",onSortChange:s,sortableColumns:l,emptyTitle:c="No campaigns found",emptyDescription:d="Create a campaign or adjust filters to see results.",className:p}){let[u,v]=Jr(n),[m,f]=Jr(i),h=r!==void 0&&a!==void 0,N=h?r:u,x=h?a:m,w=b=>!l||l.length===0?!0:l.includes(b),C=(b,y)=>{if(y==="campaign")return b.campaignName.toLowerCase();if(y==="status")return b.status;if(y==="opens")return Number.parseFloat(b.opens.replace("%","").trim())||0;if(y==="clicks")return Number.parseFloat(b.clicks.replace("%","").trim())||0;if(y==="date")return new Date(b.date).getTime()||0;let T=b[y];return typeof T=="number"?T:String(T??"").toLowerCase()},k=zn(()=>N?[...e].sort((y,T)=>{let P=C(y,N),I=C(T,N);return P<I?x==="asc"?-1:1:P>I?x==="asc"?1:-1:0}):e,[x,N,e]),g=b=>{let y=N===b&&x==="asc"?"desc":"asc";h||(v(b),f(y)),s?.(b,y)};return R("div",{className:o("overflow-x-auto rounded-[var(--inkblot-radius-lg)]","border border-[var(--inkblot-semantic-color-border-subtle)]","bg-[var(--inkblot-semantic-color-background-primary)]",p),children:kt("table",{className:"w-full min-w-[600px] border-collapse",children:[R("thead",{children:R("tr",{className:"bg-[var(--inkblot-semantic-color-background-secondary)]",children:t.map(b=>R("th",{className:o("px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-3)] text-left","uppercase tracking-wider","[font:var(--inkblot-semantic-typography-body-small)]","text-[var(--inkblot-semantic-color-text-secondary)]","border-b border-[var(--inkblot-semantic-color-border-subtle)]"),children:w(b.key)?kt("button",{type:"button",onClick:()=>g(b.key),className:"inline-flex items-center gap-[var(--inkblot-spacing-1)] rounded-[var(--inkblot-radius-sm)] transition-colors duration-[var(--inkblot-duration-fast)] hover:text-[var(--inkblot-semantic-color-text-primary)]",children:[b.label,N!==b.key?R(Fn,{className:"h-3.5 w-3.5","aria-hidden":!0}):x==="asc"?R(Vn,{className:"h-3.5 w-3.5","aria-hidden":!0}):R(On,{className:"h-3.5 w-3.5","aria-hidden":!0})]}):b.label},b.key))})}),R("tbody",{children:k.length===0?R("tr",{children:R("td",{colSpan:t.length,className:"px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-10)] text-center",children:kt("div",{className:"mx-auto flex max-w-[420px] flex-col gap-[var(--inkblot-spacing-1)]",children:[R("span",{className:"[font:var(--inkblot-semantic-typography-body-large-bold)] text-[var(--inkblot-semantic-color-text-primary)]",children:c}),R("span",{className:"[font:var(--inkblot-semantic-typography-body-small)] text-[var(--inkblot-semantic-color-text-secondary)]",children:d})]})})}):k.map(b=>kt("tr",{className:o("border-b border-[var(--inkblot-semantic-color-border-subtle)] last:border-b-0","transition-colors duration-[var(--inkblot-duration-fast)]","hover:bg-[var(--inkblot-semantic-color-background-secondary)]/50"),children:[R("td",{className:o("px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-3)]","border-b border-[var(--inkblot-semantic-color-border-subtle)]"),children:kt("div",{className:"flex flex-col gap-0.5",children:[R("span",{className:o("[font:var(--inkblot-semantic-typography-body-large-bold)]","text-[var(--inkblot-semantic-color-text-primary)]"),children:b.campaignName}),R("span",{className:o("[font:var(--inkblot-semantic-typography-body-small)]","text-[var(--inkblot-semantic-color-text-secondary)]"),children:b.recipients})]})}),R("td",{className:o("px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-3)]","border-b border-[var(--inkblot-semantic-color-border-subtle)]"),children:R(Un,{status:b.status,subtext:b.statusSubtext})}),R("td",{className:o("px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-3)]","[font:var(--inkblot-semantic-typography-body-medium)]","text-[var(--inkblot-semantic-color-text-primary)]","border-b border-[var(--inkblot-semantic-color-border-subtle)]"),children:b.opens}),R("td",{className:o("px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-3)]","[font:var(--inkblot-semantic-typography-body-medium)]","text-[var(--inkblot-semantic-color-text-primary)]","border-b border-[var(--inkblot-semantic-color-border-subtle)]"),children:b.clicks}),R("td",{className:o("px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-3)]","[font:var(--inkblot-semantic-typography-body-medium)]","text-[var(--inkblot-semantic-color-text-primary)]","border-b border-[var(--inkblot-semantic-color-border-subtle)]"),children:b.date})]},b.id))})]})})}function Un({status:t,subtext:e}){let r=Kn[t],a=r.icon;return kt("div",{className:"flex flex-col gap-0.5",children:[kt("div",{className:o("inline-flex items-center gap-1.5","[font:var(--inkblot-semantic-typography-body-small)] font-medium",r.colorClass),children:[R(a,{className:"h-4 w-4 shrink-0"}),r.label]}),e?R("span",{className:o("[font:var(--inkblot-semantic-typography-body-small)]","text-[var(--inkblot-semantic-color-text-secondary)]"),children:e}):null]})}import{Sparkles as qn}from"lucide-react";import{File as jn}from"lucide-react";import{jsx as Xt,jsxs as to}from"react/jsx-runtime";function fe({category:t,title:e,uses:r,onClick:a,className:n}){return to("button",{type:"button",onClick:a,className:o("flex flex-col gap-[var(--inkblot-spacing-4)] rounded-[var(--inkblot-radius-lg)]","bg-[var(--inkblot-semantic-color-background-secondary)]","border border-[var(--inkblot-semantic-color-border-subtle)]","px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-5)]","text-left transition-colors duration-[var(--inkblot-duration-fast)]","hover:border-[var(--inkblot-semantic-color-border-default)] hover:bg-[var(--inkblot-semantic-color-background-tertiary)]","focus:outline-none focus:ring-2 focus:ring-[var(--inkblot-semantic-color-border-focus)] focus:ring-offset-2 focus:ring-offset-[var(--inkblot-semantic-color-background-primary)]",n),children:[to("div",{className:"flex items-start justify-between gap-2",children:[Xt("span",{className:o("rounded-[var(--inkblot-radius-md)] px-[var(--inkblot-spacing-2)] py-[var(--inkblot-spacing-1)]","bg-[var(--inkblot-semantic-color-background-tertiary)]","[font:var(--inkblot-semantic-typography-body-small)] font-medium","text-[var(--inkblot-semantic-color-text-primary)]"),children:t}),Xt("span",{className:o("[font:var(--inkblot-semantic-typography-body-small)]","text-[var(--inkblot-semantic-color-text-secondary)]"),children:r})]}),Xt("h3",{className:o("[font:var(--inkblot-semantic-typography-body-large-bold)]","text-[var(--inkblot-semantic-color-text-primary)]"),children:e}),Xt("div",{className:"flex flex-1 items-end justify-center pt-[var(--inkblot-spacing-4)]",children:Xt(jn,{className:o("h-10 w-10","text-[var(--inkblot-semantic-color-text-tertiary)]")})})]})}import{jsx as ge,jsxs as Ze}from"react/jsx-runtime";function ke({title:t="EMAIL TEMPLATES",onGenerateWithAI:e,templates:r,onTemplateClick:a,className:n}){return Ze("section",{className:o("flex flex-col gap-[var(--inkblot-spacing-6)] rounded-[var(--inkblot-radius-xl)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-[var(--inkblot-spacing-5)] shadow-[var(--inkblot-shadow-sm)]",n),children:[Ze("div",{className:"flex flex-col gap-[var(--inkblot-spacing-4)] sm:flex-row sm:items-center sm:justify-between",children:[ge("h2",{className:o("uppercase tracking-wider","[font:var(--inkblot-semantic-typography-body-medium)]","text-[var(--inkblot-semantic-color-text-secondary)]"),children:t}),e?Ze("button",{type:"button",onClick:e,className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] w-fit items-center justify-center gap-2 rounded-[var(--inkblot-radius-lg)]","border border-[var(--inkblot-semantic-color-border-default)]","bg-[var(--inkblot-semantic-color-background-primary)]","px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)]","[font:var(--inkblot-semantic-typography-body-medium)] font-medium","text-[var(--inkblot-semantic-color-text-primary)]","hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)] hover:border-[var(--inkblot-semantic-color-border-strong)]","focus:outline-none focus:ring-2 focus:ring-[var(--inkblot-semantic-color-border-focus)] focus:ring-offset-2 focus:ring-offset-[var(--inkblot-semantic-color-background-primary)]","transition-colors duration-[var(--inkblot-duration-fast)]"),children:[ge(qn,{className:"h-4 w-4 shrink-0",style:{color:"var(--inkblot-semantic-color-status-warning)"}}),"Generate with AI"]}):null]}),ge("div",{className:"grid grid-cols-1 gap-[var(--inkblot-spacing-6)] sm:grid-cols-2",children:r.map(i=>ge(fe,{category:i.category,title:i.title,uses:i.uses,onClick:()=>a?.(i)},i.id))})]})}import{useRef as Yn}from"react";import{Loader2 as Xn,Paperclip as Zn,Send as Qn,Sparkles as Jn}from"lucide-react";import{jsx as q,jsxs as Qe}from"react/jsx-runtime";function Et({promptValue:t="",onPromptChange:e,onPromptSubmit:r,onFilesAttach:a,isProcessing:n=!1,response:i,placeholder:s="Ask Citron Intelligence...",accept:l,multiple:c=!0,className:d}){let p=Yn(null),u=f=>{f.key==="Enter"&&!f.shiftKey&&(f.preventDefault(),r?.())},v=()=>{p.current?.click()},m=f=>{let h=f.target.files;h&&h.length>0&&a&&a(Array.from(h)),f.target.value=""};return Qe("div",{className:o("flex w-full max-w-[80rem] flex-col gap-[var(--inkblot-spacing-3)]",d),children:[Qe("div",{className:o("flex items-end gap-[var(--inkblot-spacing-2)] rounded-[var(--inkblot-radius-xl)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-[var(--inkblot-spacing-2)] shadow-[var(--inkblot-shadow-sm)]",n&&"pointer-events-none"),"aria-busy":n,children:[q("input",{ref:p,type:"file",accept:l,multiple:c,onChange:m,className:"sr-only","aria-hidden":!0}),q("button",{type:"button",onClick:v,disabled:n,className:o("flex h-9 w-9 shrink-0 items-center justify-center rounded-[var(--inkblot-radius-full)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-primary)] text-[var(--inkblot-semantic-color-text-tertiary)] transition-[background,border-color,color] duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)]","hover:border-[var(--inkblot-semantic-color-border-strong)] hover:bg-[var(--inkblot-semantic-color-background-tertiary)] hover:text-[var(--inkblot-semantic-color-text-secondary)]","focus:outline-none focus:ring-2 focus:ring-[var(--inkblot-semantic-color-border-focus)] focus:ring-offset-2 focus:ring-offset-[var(--inkblot-semantic-color-background-secondary)]","disabled:pointer-events-none disabled:opacity-[var(--inkblot-opacity-disabled)]"),"aria-label":"Adjuntar archivos",children:q(Zn,{size:18,strokeWidth:1.7,"aria-hidden":!0})}),Qe("div",{className:"relative flex min-w-0 flex-1 items-center gap-[var(--inkblot-spacing-2)] rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-primary)] px-[var(--inkblot-spacing-3)] py-[var(--inkblot-spacing-2)]",children:[q(Jn,{size:18,strokeWidth:1.7,className:"shrink-0 text-[var(--inkblot-semantic-color-text-tertiary)]","aria-hidden":!0}),q("textarea",{value:t,onChange:f=>e?.(f.target.value),onKeyDown:u,placeholder:s,rows:2,disabled:n,className:o("min-h-[2.5rem] min-w-0 flex-1 resize-none border-0 bg-transparent py-0 pr-[var(--inkblot-spacing-12)] [font:var(--inkblot-semantic-typography-body-medium)] text-[var(--inkblot-semantic-color-text-primary)] placeholder:text-[var(--inkblot-semantic-color-text-tertiary)]","focus:outline-none focus:ring-0","disabled:cursor-not-allowed disabled:opacity-[var(--inkblot-opacity-disabled)]")}),q("div",{className:o("absolute bottom-[var(--inkblot-spacing-2)] right-[var(--inkblot-spacing-2)] flex h-8 w-8 items-center justify-center rounded-[var(--inkblot-radius-full)]",n?"bg-[var(--inkblot-semantic-color-interactive-primary)]":""),children:n?q(Xn,{size:16,strokeWidth:2,className:"animate-spin text-[var(--inkblot-semantic-color-text-inverse)]","aria-hidden":!0}):q("button",{type:"button",onClick:r,disabled:n,className:o("flex h-full w-full items-center justify-center rounded-[var(--inkblot-radius-full)] bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)] transition-[background,box-shadow] duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)]","hover:bg-[var(--inkblot-semantic-color-interactive-primary-hover)] active:bg-[var(--inkblot-semantic-color-interactive-primary-active)]","focus:outline-none focus:ring-2 focus:ring-[var(--inkblot-semantic-color-border-focus)] focus:ring-offset-2 focus:ring-offset-[var(--inkblot-semantic-color-background-primary)]"),"aria-label":"Enviar",children:q(Qn,{size:16,strokeWidth:2,"aria-hidden":!0})})})]})]}),i?q("div",{className:"rounded-[var(--inkblot-radius-xl)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-[var(--inkblot-spacing-4)]",children:q("div",{className:"min-w-0 [font:var(--inkblot-semantic-typography-body-medium)] text-[var(--inkblot-semantic-color-text-primary)]",children:i})}):null]})}import{BadgeCheck as ti,Building2 as ei,UserRound as ri}from"lucide-react";import{jsx as Z,jsxs as Lt}from"react/jsx-runtime";var oi={Person:"border-l-[var(--inkblot-semantic-color-status-info)]",Organization:"border-l-[var(--inkblot-semantic-color-status-warning)]",Deal:"border-l-[var(--inkblot-semantic-color-status-success)]"},ai={Person:ri,Organization:ei,Deal:ti},ni={Person:"bg-[var(--inkblot-semantic-color-status-info)]/15 text-[var(--inkblot-semantic-color-status-info)]",Organization:"bg-[var(--inkblot-semantic-color-status-warning)]/15 text-[var(--inkblot-semantic-color-status-warning)]",Deal:"bg-[var(--inkblot-semantic-color-status-success)]/15 text-[var(--inkblot-semantic-color-status-success)]"};function ye({name:t,entityType:e,metadata:r,edges:a=[],className:n}){let i=ai[e];return Lt("article",{className:o("flex flex-col gap-[var(--inkblot-spacing-4)] rounded-[var(--inkblot-radius-xl)] border border-[var(--inkblot-semantic-color-border-default)] border-l-4 bg-[var(--inkblot-semantic-color-background-secondary)] p-[var(--inkblot-spacing-4)] shadow-[var(--inkblot-shadow-sm)]",oi[e],n),children:[Z("div",{className:"flex items-start justify-between gap-[var(--inkblot-spacing-3)]",children:Lt("div",{className:"flex items-center gap-[var(--inkblot-spacing-3)]",children:[Z("div",{className:"flex h-10 w-10 shrink-0 items-center justify-center rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-primary)] text-[var(--inkblot-semantic-color-text-secondary)]",children:Z(i,{className:"h-5 w-5","aria-hidden":!0})}),Lt("div",{className:"flex flex-col gap-[var(--inkblot-spacing-1)]",children:[Z("h3",{className:"[font:var(--inkblot-semantic-typography-body-medium)] font-semibold text-[var(--inkblot-semantic-color-text-primary)]",children:t}),Z("span",{className:o("inline-flex w-fit items-center rounded-[var(--inkblot-radius-full)] px-[var(--inkblot-spacing-2)] py-[var(--inkblot-spacing-1)] [font:var(--inkblot-semantic-typography-body-small)] font-medium uppercase tracking-wide",ni[e]),children:e})]})]})}),r&&Object.keys(r).length>0?Z("dl",{className:"grid grid-cols-1 gap-[var(--inkblot-spacing-2)] sm:grid-cols-2",children:Object.entries(r).map(([s,l])=>Lt("div",{className:"rounded-[var(--inkblot-radius-md)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-primary)] px-[var(--inkblot-spacing-3)] py-[var(--inkblot-spacing-2)]",children:[Z("dt",{className:"[font:var(--inkblot-semantic-typography-body-small)] uppercase tracking-wide text-[var(--inkblot-semantic-color-text-tertiary)]",children:s}),Z("dd",{className:"[font:var(--inkblot-semantic-typography-body-medium)] text-[var(--inkblot-semantic-color-text-secondary)]",children:l})]},s))}):null,a.length>0?Lt("div",{className:"flex flex-col gap-[var(--inkblot-spacing-2)]",children:[Z("h4",{className:"[font:var(--inkblot-semantic-typography-body-small)] font-medium uppercase tracking-wide text-[var(--inkblot-semantic-color-text-secondary)]",children:"Edges"}),Z("ul",{className:"flex flex-wrap gap-[var(--inkblot-spacing-2)]",children:a.map((s,l)=>Lt("li",{className:"rounded-[var(--inkblot-radius-full)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-primary)] px-[var(--inkblot-spacing-3)] py-[var(--inkblot-spacing-1)] [font:var(--inkblot-semantic-typography-body-small)] text-[var(--inkblot-semantic-color-text-secondary)]",children:[s.type,s.target?` \u2192 ${s.target}`:""]},l))})]}):null]})}import{forwardRef as ii}from"react";import{jsx as si}from"react/jsx-runtime";var yt=ii(({className:t,error:e,disabled:r,...a},n)=>si("input",{ref:n,disabled:r,"aria-invalid":e,"aria-disabled":r,className:o("min-h-[var(--inkblot-size-touch-target-min)] w-full rounded-[var(--inkblot-radius-lg)] border bg-[var(--inkblot-semantic-color-background-secondary)] px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)] [font:var(--inkblot-semantic-typography-body-medium)] text-[var(--inkblot-semantic-color-text-primary)] shadow-[var(--inkblot-shadow-xs)] placeholder:text-[var(--inkblot-semantic-color-text-tertiary)] transition-[background,border-color,box-shadow] duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--inkblot-semantic-color-border-focus)] focus-visible:ring-offset-2 focus-visible:ring-offset-[var(--inkblot-semantic-color-background-primary)] disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-[var(--inkblot-opacity-disabled)]",e?"border-[var(--inkblot-semantic-color-status-error)] focus-visible:ring-[var(--inkblot-semantic-color-status-error)]":"border-[var(--inkblot-semantic-color-border-default)] hover:border-[var(--inkblot-semantic-color-border-strong)] hover:bg-[var(--inkblot-semantic-color-background-primary)]",t),...a}));yt.displayName="Input";import{Component as li}from"react";import{jsx as Je,jsxs as ci}from"react/jsx-runtime";var D=class extends li{constructor(e){super(e),this.state={hasError:!1,error:null}}static getDerivedStateFromError(e){return{hasError:!0,error:e}}render(){return this.state.hasError&&this.state.error?ci("div",{role:"alert",className:o("flex flex-col gap-4 rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-4",this.props.className),children:[Je("p",{className:"text-base font-semibold text-[var(--inkblot-semantic-color-text-primary)]",children:"This module failed to load"}),Je("p",{className:"text-sm text-[var(--inkblot-semantic-color-text-tertiary)]",children:this.state.error.message}),Je(Yt,{variant:"secondary",onClick:this.props.onRetry,className:"w-fit border-[var(--inkblot-semantic-color-status-error)]",children:"Retry"})]}):this.props.children}};import{jsx as tt,jsxs as tr}from"react/jsx-runtime";function eo({title:t,insights:e,stats:r=[],commandValue:a="",onCommandChange:n,onCommandSubmit:i,className:s}){let l=c=>{c.key==="Enter"&&(c.preventDefault(),i?.())};return tt(D,{className:s,children:tr("div",{className:"flex flex-col gap-4 rounded-[var(--inkblot-radius-xl)] bg-[var(--inkblot-semantic-color-background-secondary)] p-4",children:[tt("h2",{className:"text-xl font-semibold text-[var(--inkblot-semantic-color-text-primary)]",children:t}),e?tt("div",{className:"rounded-[var(--inkblot-radius-md)] border border-[var(--inkblot-semantic-color-interactive-primary)] p-4",style:{boxShadow:"0 0 12px var(--inkblot-semantic-color-interactive-primary)"},children:e}):null,r.length>0?tr("div",{children:[tt("h3",{className:"mb-2 text-sm font-medium text-[var(--inkblot-semantic-color-text-secondary)]",children:"Connected To"}),tt("div",{className:"grid grid-cols-2 gap-2 sm:grid-cols-3",children:r.map((c,d)=>tr("div",{className:"rounded-[var(--inkblot-radius-md)] bg-[var(--inkblot-semantic-color-background-tertiary)] px-3 py-2",children:[tt("span",{className:"text-xs text-[var(--inkblot-semantic-color-text-tertiary)]",children:c.label}),tt("p",{className:"text-sm font-medium text-[var(--inkblot-semantic-color-text-primary)]",children:c.value})]},d))})]}):null,tt("div",{className:"mt-2",children:tt(yt,{type:"text",value:a,onChange:c=>n?.(c.target.value),onKeyDown:l,placeholder:"Ask about this entity...",className:"rounded-[var(--inkblot-radius-md)]"})})]})})}import{Component as di}from"react";import{jsx as ro}from"react/jsx-runtime";var xe=class extends di{constructor(e){super(e),this.state={hasError:!1,error:null}}static getDerivedStateFromError(e){return{hasError:!0,error:e}}render(){return this.state.hasError&&this.state.error?this.props.fallback?this.props.fallback:ro("div",{className:o("inline-flex items-center gap-3 rounded-[var(--inkblot-radius-md)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-tertiary)] px-4 py-3 text-[var(--inkblot-semantic-color-text-secondary)]",this.props.className),role:"alert",children:ro("span",{className:"text-sm font-medium",children:"Something went wrong"})}):this.props.children}};import{jsx as pi}from"react/jsx-runtime";var mi={success:"border-[var(--inkblot-semantic-color-status-success)] bg-[var(--inkblot-semantic-color-status-success)]/10 text-[var(--inkblot-semantic-color-status-success)]",warning:"border-[var(--inkblot-semantic-color-status-warning)] bg-[var(--inkblot-semantic-color-status-warning)]/10 text-[var(--inkblot-semantic-color-status-warning)]",error:"border-[var(--inkblot-semantic-color-status-error)] bg-[var(--inkblot-semantic-color-status-error)]/10 text-[var(--inkblot-semantic-color-status-error)]",info:"border-[var(--inkblot-semantic-color-status-info)] bg-[var(--inkblot-semantic-color-status-info)]/10 text-[var(--inkblot-semantic-color-status-info)]"};function he({label:t,variant:e="info",className:r}){return pi("span",{className:o("inline-flex items-center rounded-[var(--inkblot-radius-md)] border px-2 py-0.5 text-xs font-medium",mi[e],r),children:t})}import{jsx as It,jsxs as ui}from"react/jsx-runtime";function bi(t){return t>=.8?"success":t>=.5?"info":t>=.2?"warning":"error"}function Ne({event:t,className:e}){let r=bi(t.confidence_score),a=`${Math.round(t.confidence_score*100)}%`;return ui("div",{className:o("flex flex-wrap items-center gap-2 rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-4",e),children:[It("span",{className:"text-sm font-medium text-[var(--inkblot-semantic-color-text-primary)]",children:t.actor}),It("span",{className:"text-sm text-[var(--inkblot-semantic-color-text-tertiary)]",children:"\u2192"}),It("span",{className:"text-sm text-[var(--inkblot-semantic-color-text-secondary)]",children:t.subject}),It("span",{className:"rounded-[var(--inkblot-radius-md)] bg-[var(--inkblot-semantic-color-background-tertiary)] px-2 py-0.5 text-xs text-[var(--inkblot-semantic-color-text-secondary)]",children:t.event_type}),It("span",{className:"text-xs text-[var(--inkblot-semantic-color-text-tertiary)]",children:t.timestamp}),It(he,{label:a,variant:r})]})}import{Clock3 as vi}from"lucide-react";import{jsx as ot,jsxs as oo}from"react/jsx-runtime";var fi={success:"bg-[var(--inkblot-semantic-color-status-success)]",warning:"bg-[var(--inkblot-semantic-color-status-warning)]",error:"bg-[var(--inkblot-semantic-color-status-error)]",info:"bg-[var(--inkblot-semantic-color-status-info)]"};function gi(){return ot(vi,{className:"h-4 w-4 text-[var(--inkblot-semantic-color-text-tertiary)]","aria-hidden":!0})}function ao({events:t,className:e}){return ot(D,{className:e,children:ot("div",{className:o("flex flex-col gap-[var(--inkblot-spacing-3)] rounded-[var(--inkblot-radius-xl)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-[var(--inkblot-spacing-4)] shadow-[var(--inkblot-shadow-sm)]"),children:t.map(r=>oo("div",{className:"flex items-start gap-[var(--inkblot-spacing-3)] rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)]/60 bg-[var(--inkblot-semantic-color-background-primary)] px-[var(--inkblot-spacing-3)] py-[var(--inkblot-spacing-2)]",children:[ot("div",{className:"mt-[var(--inkblot-spacing-1)] flex h-7 w-7 shrink-0 items-center justify-center rounded-[var(--inkblot-radius-md)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)]",children:r.icon??ot(gi,{})}),oo("div",{className:"min-w-0 flex-1",children:[ot("p",{className:"[font:var(--inkblot-semantic-typography-body-medium)] font-medium text-[var(--inkblot-semantic-color-text-primary)]",children:r.title}),ot("p",{className:"[font:var(--inkblot-semantic-typography-body-small)] text-[var(--inkblot-semantic-color-text-tertiary)]",children:r.timestamp})]}),r.status?ot("div",{className:o("mt-[var(--inkblot-spacing-2)] h-2 w-2 shrink-0 rounded-[var(--inkblot-radius-full)]",fi[r.status]),"aria-hidden":!0}):null]},r.id))})})}import{TrendingDown as ki,TrendingUp as yi}from"lucide-react";import{jsx as at,jsxs as Zt}from"react/jsx-runtime";var rr=36,er=2*Math.PI*rr;function Ce({label:t,value:e,subtext:r,trend:a,className:n}){let i=Math.min(100,Math.max(0,e)),s=er-i/100*er;return at(D,{className:n,children:Zt("div",{className:"flex flex-col items-center gap-[var(--inkblot-spacing-4)] rounded-[var(--inkblot-radius-xl)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-[var(--inkblot-spacing-4)] shadow-[var(--inkblot-shadow-sm)]",children:[Zt("div",{className:"relative",children:[Zt("svg",{width:"96",height:"96",viewBox:"0 0 96 96",className:"-rotate-90",children:[at("circle",{cx:"48",cy:"48",r:rr,fill:"none",stroke:"var(--inkblot-semantic-color-background-tertiary)",strokeWidth:"4"}),at("circle",{cx:"48",cy:"48",r:rr,fill:"none",stroke:"var(--inkblot-semantic-color-interactive-primary)",strokeWidth:"4",strokeDasharray:er,strokeDashoffset:s,strokeLinecap:"round",className:"transition-[stroke-dashoffset] duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)]"})]}),at("div",{className:"absolute inset-0 flex flex-col items-center justify-center",children:Zt("span",{className:"flex items-center gap-[var(--inkblot-spacing-1)] [font:var(--inkblot-semantic-typography-heading-small)] font-semibold text-[var(--inkblot-semantic-color-text-primary)]",children:[i,"%",a==="up"?at(yi,{className:"h-4 w-4 text-[var(--inkblot-semantic-color-status-success)]","aria-hidden":!0}):a==="down"?at(ki,{className:"h-4 w-4 text-[var(--inkblot-semantic-color-status-error)]","aria-hidden":!0}):null]})})]}),Zt("div",{className:"text-center",children:[at("p",{className:"[font:var(--inkblot-semantic-typography-body-medium)] font-semibold text-[var(--inkblot-semantic-color-text-primary)]",children:t}),r?at("p",{className:"[font:var(--inkblot-semantic-typography-body-small)] text-[var(--inkblot-semantic-color-text-tertiary)]",children:r}):null]})]})})}import{jsx as xt,jsxs as Ni}from"react/jsx-runtime";var xi={default:"text-[var(--inkblot-semantic-color-text-primary)]",success:"text-[var(--inkblot-semantic-color-status-success)]",warning:"text-[var(--inkblot-semantic-color-status-warning)]",error:"text-[var(--inkblot-semantic-color-status-error)]"};function hi({className:t}){return xt("svg",{viewBox:"0 0 16 16",className:o("h-4 w-4",t),"aria-hidden":!0,children:xt("path",{fill:"currentColor",d:"M6 4l4 4-4 4V4z"})})}function no({items:t,className:e}){return xt(D,{className:e,children:xt("ul",{className:o("flex flex-col gap-4 py-2"),children:t.map((r,a)=>Ni("li",{className:"flex items-center justify-between gap-4",children:[xt("span",{className:"text-sm text-[var(--inkblot-semantic-color-text-secondary)]",children:r.label}),xt("span",{className:o("flex items-center gap-1 text-sm font-medium",xi[r.variant??"default"]),children:r.value!=null?r.value:xt(hi,{})})]},a))})})}import{jsx as Ci}from"react/jsx-runtime";function nt({className:t,...e}){return Ci("div",{className:o("animate-shimmer rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)]/40 bg-[length:200%_100%] bg-[linear-gradient(90deg,var(--inkblot-semantic-color-background-secondary)_0%,var(--inkblot-semantic-color-background-tertiary)_50%,var(--inkblot-semantic-color-background-secondary)_100%)]",t),...e})}import{jsx as Qt,jsxs as wi}from"react/jsx-runtime";function Dt({className:t,...e}){return wi("div",{className:o("flex flex-col gap-[var(--inkblot-spacing-3)] rounded-[var(--inkblot-radius-xl)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-[var(--inkblot-spacing-4)] shadow-[var(--inkblot-shadow-sm)]",t),...e,children:[Qt(nt,{className:"h-8 w-3/5"}),Qt(nt,{className:"h-4 w-full"}),Qt(nt,{className:"h-4 w-11/12"}),Qt(nt,{className:"h-4 w-4/5"}),Qt(nt,{className:"h-4 w-2/3"})]})}import{jsx as we,jsxs as io}from"react/jsx-runtime";function Te({children:t,loading:e=!1,title:r,className:a,onRetry:n}){return we(D,{className:a,onRetry:n,children:e?io("div",{className:o("flex flex-col gap-4",a),children:[r?we("h2",{className:"text-lg font-semibold text-[var(--inkblot-semantic-color-text-primary)]",children:r}):null,we(Dt,{})]}):io("div",{className:o("flex flex-col gap-4",a),children:[r?we("h2",{className:"text-lg font-semibold text-[var(--inkblot-semantic-color-text-primary)]",children:r}):null,t]})})}import{Plus as Ti}from"lucide-react";import{jsx as Jt,jsxs as Pe}from"react/jsx-runtime";function At({title:t,subtitle:e,icon:r,action:a,className:n}){return Pe("header",{className:o("flex flex-col gap-2 sm:flex-row sm:items-start sm:justify-between","pb-[var(--inkblot-spacing-2)]",n),children:[Pe("div",{className:"flex items-start gap-[var(--inkblot-spacing-3)]",children:[r?Jt("div",{className:o("flex h-10 w-10 shrink-0 items-center justify-center rounded-[var(--inkblot-radius-lg)]","bg-[var(--inkblot-semantic-color-background-secondary)]","[color:var(--inkblot-semantic-color-status-warning)]"),children:r}):null,Pe("div",{className:"min-w-0",children:[Jt("h1",{className:o("text-[var(--inkblot-semantic-color-text-primary)]","[font:var(--inkblot-semantic-typography-heading-medium)]"),children:t}),e?Jt("p",{className:o("mt-0.5 text-[var(--inkblot-semantic-color-text-secondary)]","[font:var(--inkblot-semantic-typography-body-small)]"),children:e}):null]})]}),a?Jt("div",{className:"mt-[var(--inkblot-spacing-4)] shrink-0 sm:mt-0",children:a}):null]})}function Rt({label:t,onClick:e,icon:r,className:a}){return Pe("button",{type:"button",onClick:e,className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center gap-2 rounded-[var(--inkblot-radius-lg)] px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)]","bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)]","[font:var(--inkblot-semantic-typography-body-medium)] font-semibold","hover:bg-[var(--inkblot-semantic-color-interactive-primary-hover)] active:bg-[var(--inkblot-semantic-color-interactive-primary-active)]","focus:outline-none focus:ring-2 focus:ring-[var(--inkblot-semantic-color-border-focus)] focus:ring-offset-2 focus:ring-offset-[var(--inkblot-semantic-color-background-primary)]","transition-colors duration-[var(--inkblot-duration-fast)]",a),children:[r??Jt(Ti,{className:"h-4 w-4"}),t]})}import{Link as Pi}from"react-router-dom";import{jsx as or,jsxs as so}from"react/jsx-runtime";function Me({resetErrorBoundary:t}){return so("div",{role:"alert",className:o("flex min-h-[50vh] flex-col items-center justify-center gap-[var(--inkblot-spacing-6)] px-[var(--inkblot-spacing-6)] py-[var(--inkblot-spacing-8)]","bg-[var(--inkblot-semantic-color-background-primary)]","[font:var(--inkblot-semantic-typography-body-small)]"),children:[or("p",{className:"text-center text-[var(--inkblot-semantic-color-text-primary)] [font:var(--inkblot-semantic-typography-heading-medium)]",children:"Esta p\xE1gina no est\xE1 disponible"}),so("div",{className:"flex flex-col items-center gap-[var(--inkblot-spacing-4)] sm:flex-row",children:[or("button",{type:"button",onClick:t,className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center rounded-[var(--inkblot-radius-lg)] px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)]","bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)]","hover:bg-[var(--inkblot-semantic-color-interactive-primary-hover)] active:bg-[var(--inkblot-semantic-color-interactive-primary-active)]","focus:outline-none focus:ring-2 focus:ring-[var(--inkblot-semantic-color-border-focus)] focus:ring-offset-2 focus:ring-offset-[var(--inkblot-semantic-color-background-primary)]","transition-colors duration-[var(--inkblot-duration-fast)]"),children:"Reintentar"}),or(Pi,{to:"/",className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center rounded-[var(--inkblot-radius-lg)] px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)]","text-[var(--inkblot-semantic-color-interactive-primary)] underline-offset-4 hover:underline","focus:outline-none focus:ring-2 focus:ring-[var(--inkblot-semantic-color-border-focus)] focus:ring-offset-2 focus:ring-offset-[var(--inkblot-semantic-color-background-primary)]","transition-colors duration-[var(--inkblot-duration-fast)]"),children:"Ir al inicio"})]})]})}import{ErrorBoundary as Mi}from"react-error-boundary";import{useNavigate as Si}from"react-router-dom";import{jsx as Ei}from"react/jsx-runtime";function lo({children:t,fallback:e}){let r=Si();return Ei(Mi,{FallbackComponent:e??Me,onReset:()=>{r("/")},children:t})}import{forwardRef as Li}from"react";import{Search as Ii}from"lucide-react";import{jsx as ar,jsxs as co}from"react/jsx-runtime";var it=Li(({className:t,label:e,error:r,disabled:a,...n},i)=>co("div",{className:"flex flex-col gap-1",children:[e?ar("label",{htmlFor:n.id,className:o("uppercase tracking-wider","[font:var(--inkblot-semantic-typography-body-small)]","text-[var(--inkblot-semantic-color-text-primary)]"),children:e}):null,co("div",{className:o("flex items-center gap-2 rounded-[var(--inkblot-radius-full)]","bg-[var(--inkblot-semantic-color-background-secondary)]","border transition-colors duration-[var(--inkblot-duration-fast)]","focus-within:ring-2 focus-within:ring-[var(--inkblot-semantic-color-border-focus)] focus-within:ring-offset-2 focus-within:ring-offset-[var(--inkblot-semantic-color-background-primary)]",r?"border-[var(--inkblot-semantic-color-status-error)]":"border-[var(--inkblot-semantic-color-border-default)] hover:border-[var(--inkblot-semantic-color-border-strong)]",a&&"opacity-[var(--inkblot-opacity-disabled)] pointer-events-none cursor-not-allowed"),children:[ar(Ii,{className:o("ml-[var(--inkblot-spacing-4)] h-4 w-4 shrink-0","text-[var(--inkblot-semantic-color-text-tertiary)]")}),ar("input",{ref:i,type:"search",disabled:a,"aria-invalid":r,"aria-label":e??"Search",className:o("min-h-[var(--inkblot-size-touch-target-min)] w-full flex-1 bg-transparent px-2 py-[var(--inkblot-spacing-2)] pr-[var(--inkblot-spacing-4)]","[font:var(--inkblot-semantic-typography-body-medium)]","text-[var(--inkblot-semantic-color-text-primary)] placeholder:text-[var(--inkblot-semantic-color-text-tertiary)]","focus:outline-none","disabled:cursor-not-allowed",t),...n})]})]}));it.displayName="SearchBar";import{jsx as Di}from"react/jsx-runtime";function mo({children:t,columns:e=4,className:r}){return Di("div",{className:o("grid gap-[var(--inkblot-spacing-4)]",{1:"grid-cols-1",2:"grid-cols-1 sm:grid-cols-2",3:"grid-cols-1 sm:grid-cols-2 lg:grid-cols-3",4:"grid-cols-1 sm:grid-cols-2 lg:grid-cols-4"}[e],r),children:t})}import{useCallback as Ai,useMemo as Ri,useState as Hi}from"react";import{jsx as te,jsxs as Bi}from"react/jsx-runtime";function po({items:t,activeItemId:e,defaultActiveItemId:r,onActiveItemChange:a,onItemClick:n,className:i}){let s=Ri(()=>r!==void 0?r:t.find(v=>v.active)?.id,[r,t]),[l,c]=Hi(s),d=e!==void 0,p=d?e:l,u=Ai((v,m)=>{if(m.disabled){v.preventDefault();return}d||c(m.id),n?.(m.id,m),m.onClick?.(m.id),a?.(m.id,m)},[d,a,n]);return te(D,{className:i,children:te("nav",{className:o("flex w-16 flex-col items-center gap-[var(--inkblot-spacing-2)] border-r border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] px-[var(--inkblot-spacing-2)] py-[var(--inkblot-spacing-4)]"),"aria-label":"Navigation",children:t.map(v=>{let m=p?v.id===p:!!v.active;return Bi("button",{type:"button",disabled:v.disabled,onClick:f=>u(f,v),"aria-current":m?"page":void 0,className:o("relative flex w-full flex-col items-center gap-[var(--inkblot-spacing-1)] rounded-[var(--inkblot-radius-lg)] border border-transparent px-[var(--inkblot-spacing-2)] py-[var(--inkblot-spacing-2)] transition-[background,border-color,color] duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)]",m?"border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-primary)] text-[var(--inkblot-semantic-color-interactive-primary)]":"text-[var(--inkblot-semantic-color-text-tertiary)] hover:bg-[var(--inkblot-semantic-color-background-primary)] hover:text-[var(--inkblot-semantic-color-text-secondary)]","disabled:pointer-events-none disabled:opacity-[var(--inkblot-opacity-disabled)]"),children:[m?te("span",{className:"absolute left-[-0.5rem] top-1/2 h-6 w-1 -translate-y-1/2 rounded-r-[var(--inkblot-radius-full)] bg-[var(--inkblot-semantic-color-interactive-primary)]","aria-hidden":!0}):null,te("div",{className:"flex h-8 w-8 items-center justify-center [&>svg]:h-5 [&>svg]:w-5",children:v.icon}),v.label?te("span",{className:"[font:var(--inkblot-semantic-typography-body-small)] font-medium",children:v.label}):null]},v.id)})})})}import{jsx as _,jsxs as nr}from"react/jsx-runtime";var bo={success:"text-[var(--inkblot-semantic-color-status-success)]",error:"text-[var(--inkblot-semantic-color-status-error)]",neutral:"text-[var(--inkblot-semantic-color-text-secondary)]"};function Se({items:t,className:e}){return _("div",{className:o("grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-4",e),children:t.map(r=>_(zi,{item:r},r.label))})}function zi({item:t}){let e=t.changeVariant??"neutral",r=bo[e];return nr("div",{className:o("flex flex-col gap-1 rounded-[var(--inkblot-radius-lg)]","bg-[var(--inkblot-semantic-color-background-secondary)]","px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-4)]","border border-[var(--inkblot-semantic-color-border-subtle)]"),children:[_("span",{className:o("uppercase tracking-wider","[font:var(--inkblot-semantic-typography-body-small)]","text-[var(--inkblot-semantic-color-text-secondary)]"),children:t.label}),_("span",{className:o("[font:var(--inkblot-semantic-typography-heading-medium)]","text-[var(--inkblot-semantic-color-text-primary)]"),children:t.value}),t.change?_("span",{className:o("[font:var(--inkblot-semantic-typography-body-small)]",r),children:t.change}):null]})}function uo({items:t,className:e}){return _("div",{className:o("grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-4",e),children:t.map(r=>_(Oi,{item:r},r.label))})}function Oi({item:t}){let e=t.changeVariant??"neutral",r=bo[e],a=t.chartData??[],n=Math.max(...a,1);return nr("div",{className:o("flex flex-col gap-2 rounded-[var(--inkblot-radius-lg)]","bg-[var(--inkblot-semantic-color-background-secondary)]","px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-4)]","border border-[var(--inkblot-semantic-color-border-subtle)]"),children:[_("span",{className:o("uppercase tracking-wider","[font:var(--inkblot-semantic-typography-body-small)]","text-[var(--inkblot-semantic-color-text-secondary)]"),children:t.label}),nr("div",{className:"flex items-end justify-between gap-2",children:[_("span",{className:o("[font:var(--inkblot-semantic-typography-heading-medium)]","text-[var(--inkblot-semantic-color-text-primary)]"),children:t.value}),a.length>0?_("div",{className:"flex h-8 items-end gap-0.5",children:a.map((i,s)=>_("div",{className:"w-1 min-w-[2px] rounded-sm bg-[var(--inkblot-semantic-color-interactive-primary)] opacity-80",style:{height:`${i/n*100}%`,minHeight:4}},s))}):null]}),t.change?_("span",{className:o("[font:var(--inkblot-semantic-typography-body-small)]",r),children:t.change}):null]})}import{jsx as vo,jsxs as Vi}from"react/jsx-runtime";function Ee({tabs:t,activeTabId:e,onTabChange:r,className:a}){return vo("nav",{role:"tablist","aria-label":"Tabs",className:o("flex gap-0 pt-[var(--inkblot-spacing-2)]",a),children:t.map(n=>{let i=n.id===e;return Vi("button",{role:"tab","aria-selected":i,"aria-controls":`panel-${n.id}`,id:`tab-${n.id}`,type:"button",onClick:()=>r(n.id),className:o("relative px-[var(--inkblot-spacing-5)] py-[var(--inkblot-spacing-4)]","[font:var(--inkblot-semantic-typography-body-medium)]","transition-colors duration-[var(--inkblot-duration-fast)]","focus:outline-none focus:ring-2 focus:ring-[var(--inkblot-semantic-color-border-focus)] focus:ring-offset-2 focus:ring-offset-[var(--inkblot-semantic-color-background-primary)]",i?["font-semibold text-[var(--inkblot-semantic-color-text-primary)]","bg-[var(--inkblot-semantic-color-background-secondary)]","rounded-t-[var(--inkblot-radius-lg)]"]:["text-[var(--inkblot-semantic-color-text-secondary)]","hover:text-[var(--inkblot-semantic-color-text-primary)]","hover:bg-[var(--inkblot-semantic-color-background-secondary)]/50"]),children:[n.label,i?vo("span",{className:"absolute bottom-0 left-0 right-0 h-0.5 rounded-full bg-[var(--inkblot-semantic-color-interactive-primary)]","aria-hidden":!0}):null]},n.id)})})}import{Calendar as Fi,Check as Gi,User as Wi}from"lucide-react";import{jsx as ht,jsxs as ee}from"react/jsx-runtime";var $i={urgent:"bg-[var(--inkblot-semantic-color-status-error)]/20 text-[var(--inkblot-semantic-color-status-error)] border-[var(--inkblot-semantic-color-status-error)]/30",high:"bg-[var(--inkblot-semantic-color-status-warning)]/20 text-[var(--inkblot-semantic-color-status-warning)] border-[var(--inkblot-semantic-color-status-warning)]/30",medium:"bg-[var(--inkblot-semantic-color-status-success)]/10 text-[var(--inkblot-semantic-color-status-success)] border-[var(--inkblot-semantic-color-status-success)]/30",low:"bg-[var(--inkblot-semantic-color-background-tertiary)] text-[var(--inkblot-semantic-color-text-secondary)] border-[var(--inkblot-semantic-color-border-subtle)]"};function Le({id:t,title:e,company:r,priority:a,date:n,assignee:i,completed:s=!1,onToggle:l,onClick:c,className:d}){let p=$i[a];return ee("div",{role:"button",tabIndex:0,onClick:()=>c?.(t),onKeyDown:u=>{(u.key==="Enter"||u.key===" ")&&(u.preventDefault(),c?.(t))},className:o("flex items-center gap-[var(--inkblot-spacing-4)] rounded-[var(--inkblot-radius-lg)]","border border-[var(--inkblot-semantic-color-border-subtle)]","bg-[var(--inkblot-semantic-color-background-secondary)]","px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-3)]","transition-colors duration-[var(--inkblot-duration-fast)]","hover:border-[var(--inkblot-semantic-color-border-default)] hover:bg-[var(--inkblot-semantic-color-background-tertiary)]","focus:outline-none focus:ring-2 focus:ring-[var(--inkblot-semantic-color-border-focus)] focus:ring-offset-2 focus:ring-offset-[var(--inkblot-semantic-color-background-primary)]","cursor-pointer",d),children:[ht("button",{type:"button",onClick:u=>{u.stopPropagation(),l?.(t)},"aria-label":s?"Mark as incomplete":"Mark as complete","aria-pressed":s,className:o("flex h-5 w-5 shrink-0 items-center justify-center rounded-full","transition-colors duration-[var(--inkblot-duration-fast)]","focus:outline-none focus:ring-2 focus:ring-[var(--inkblot-semantic-color-border-focus)] focus:ring-offset-2 focus:ring-offset-[var(--inkblot-semantic-color-background-primary)]",s?"bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)]":"border-2 border-[var(--inkblot-semantic-color-border-default)] bg-transparent"),children:s?ht(Gi,{className:"h-3 w-3",strokeWidth:3}):null}),ee("div",{className:"min-w-0 flex-1",children:[ht("p",{className:o("[font:var(--inkblot-semantic-typography-body-large-bold)]","text-[var(--inkblot-semantic-color-text-primary)]",s&&"line-through text-[var(--inkblot-semantic-color-text-secondary)]"),children:e}),ht("p",{className:o("mt-0.5 [font:var(--inkblot-semantic-typography-body-small)]","text-[var(--inkblot-semantic-color-text-secondary)]",s&&"line-through"),children:r})]}),ee("div",{className:"flex shrink-0 flex-wrap items-center justify-end gap-[var(--inkblot-spacing-3)]",children:[ht("span",{className:o("rounded-[var(--inkblot-radius-md)] border px-[var(--inkblot-spacing-2)] py-[var(--inkblot-spacing-1)]","[font:var(--inkblot-semantic-typography-body-small)] font-medium",p),children:a.charAt(0).toUpperCase()+a.slice(1)}),ee("span",{className:o("flex items-center gap-1","[font:var(--inkblot-semantic-typography-body-small)]","text-[var(--inkblot-semantic-color-text-primary)]"),children:[ht(Fi,{className:"h-4 w-4 shrink-0 text-[var(--inkblot-semantic-color-text-tertiary)]"}),n]}),ee("span",{className:o("flex items-center gap-1","[font:var(--inkblot-semantic-typography-body-small)]","text-[var(--inkblot-semantic-color-text-primary)]"),children:[ht(Wi,{className:"h-4 w-4 shrink-0 text-[var(--inkblot-semantic-color-text-tertiary)]"}),i]})]})]})}import{CircleDot as _i,Clock as Ki,CheckCircle as Ui}from"lucide-react";import{jsx as Ht,jsxs as fo}from"react/jsx-runtime";var ji={todo:_i,in_progress:Ki,done:Ui};function Ie({sections:t,onTaskToggle:e,onTaskClick:r,className:a}){return Ht("div",{className:o("flex flex-col gap-[var(--inkblot-spacing-8)]",a),children:t.map(n=>{let i=ji[n.id],s=n.id==="done";return fo("section",{className:"flex flex-col gap-[var(--inkblot-spacing-4)]",children:[fo("div",{className:"flex items-center gap-[var(--inkblot-spacing-3)]",children:[Ht(i,{className:o("h-5 w-5 shrink-0",s?"text-[var(--inkblot-semantic-color-interactive-primary)]":"text-[var(--inkblot-semantic-color-text-secondary)]")}),Ht("h2",{className:o("[font:var(--inkblot-semantic-typography-body-large-bold)]","text-[var(--inkblot-semantic-color-text-primary)]"),children:n.label}),Ht("span",{className:o("rounded-[var(--inkblot-radius-full)] px-[var(--inkblot-spacing-2)] py-[var(--inkblot-spacing-1)]","bg-[var(--inkblot-semantic-color-background-secondary)]","[font:var(--inkblot-semantic-typography-body-small)] font-medium","text-[var(--inkblot-semantic-color-text-primary)]"),children:n.count})]}),Ht("div",{className:"flex flex-col gap-[var(--inkblot-spacing-3)]",children:n.tasks.map(l=>Ht(Le,{...l,completed:s,onToggle:e,onClick:r},l.id))})]},n.id)})})}import{Mail as go,FileText as De,Zap as qi,Phone as ko,Link2 as Yi}from"lucide-react";import{jsx as Y,jsxs as yo}from"react/jsx-runtime";function Xi(t){return t>=.8?"bg-[var(--inkblot-semantic-color-status-success)]":t>=.5?"bg-[var(--inkblot-semantic-color-status-info)]":t>=.2?"bg-[var(--inkblot-semantic-color-status-warning)]":"bg-[var(--inkblot-semantic-color-status-error)]"}var Zi={EMAIL_OPENED:go,EMAIL_SENT:go,INVOICE_PAID:De,INVOICE_OVERDUE:De,CONTRACT_SIGNED:De,STAGE_CHANGED:qi,CALL_COMPLETED:ko,PHONE_CALL:ko,RELATIONSHIP_DETECTED:Yi};function Qi(t){return Zi[t]??De}function Ji(t){return t.metadata?.description??t.event_type.replace(/_/g," ").toLowerCase()}function ts(t){return t.metadata?.details??`${t.actor} - ${t.subject}`}function Ae({events:t,onEntitySelect:e,findEntity:r,emptyMessage:a="No hay actividad reciente",className:n}){let i=e?s=>{let l=r?.(s.subject)??r?.(s.actor);l&&e(l)}:void 0;return Y(D,{children:Y("div",{className:o("space-y-2",n),children:t.length===0?Y("p",{className:"py-6 text-center text-sm text-[var(--inkblot-semantic-color-text-tertiary)]",children:a}):t.map(s=>{let c=!!(r?.(s.subject)??r?.(s.actor))&&!!i,d=Qi(s.event_type),p=yo("div",{className:"flex flex-1 items-center gap-3",children:[Y(d,{className:"h-4 w-4 shrink-0 text-[var(--inkblot-semantic-color-text-secondary)]","aria-hidden":!0}),Y("div",{className:`h-2 w-2 shrink-0 rounded-full ${Xi(s.confidence_score)}`,"aria-hidden":!0}),yo("div",{className:"min-w-0 flex-1",children:[Y("p",{className:"text-sm font-medium text-[var(--inkblot-semantic-color-text-primary)]",children:Ji(s)}),Y("p",{className:"text-xs text-[var(--inkblot-semantic-color-text-secondary)]",children:ts(s)})]}),Y("span",{className:"shrink-0 text-xs text-[var(--inkblot-semantic-color-text-tertiary)]",children:s.timestamp})]}),u=s.id??`${s.actor}-${s.subject}-${s.timestamp}`;return Y("div",{children:c?Y("button",{type:"button",onClick:()=>i(s),className:"flex w-full items-center gap-3 rounded-[var(--inkblot-radius-md)] bg-[var(--inkblot-semantic-color-background-secondary)] p-3 text-left transition-colors duration-[var(--inkblot-duration-fast)] hover:bg-[var(--inkblot-semantic-color-background-tertiary)] focus:outline-none focus:ring-2 focus:ring-[var(--inkblot-semantic-color-border-focus)] focus:ring-offset-2 focus:ring-offset-[var(--inkblot-semantic-color-background-primary)]",children:p}):Y("div",{className:"flex w-full items-center gap-3 rounded-[var(--inkblot-radius-md)] bg-[var(--inkblot-semantic-color-background-secondary)] p-3",children:p})},u)})})})}import{NavLink as es}from"react-router-dom";import{ClipboardList as rs,Brain as os,BarChart3 as as,Network as ns,Activity as is,Settings as ss,Sparkles as ls}from"lucide-react";import{jsx as Nt,jsxs as ds}from"react/jsx-runtime";var cs=[{id:"home",path:"/",icon:rs,label:"Home"},{id:"intelligence",path:"/intelligence",icon:os,label:"Intelligence"},{id:"pipeline",path:"/pipeline",icon:as,label:"Pipeline"},{id:"graph",path:"/graph",icon:ns,label:"Graph"},{id:"events",path:"/events",icon:is,label:"Events"},{id:"settings",path:"/settings",icon:ss,label:"Settings"}];function xo({items:t=cs,brandLogo:e,brandTitle:r="Command Canvas \u2014 AI-native Interface",className:a}){return Nt(D,{children:ds("nav",{className:o("flex h-full flex-col gap-[var(--inkblot-spacing-4)] border-r border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-[var(--inkblot-spacing-3)]",a),children:[Nt("div",{className:"flex flex-col items-center gap-2",children:Nt("div",{className:"flex h-11 w-11 shrink-0 items-center justify-center rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-primary)] shadow-[var(--inkblot-shadow-sm)]",title:r,children:e??Nt(ls,{className:"h-5 w-5 text-[var(--inkblot-semantic-color-interactive-primary)]","aria-hidden":!0})})}),Nt("div",{className:"flex flex-1 flex-col gap-[var(--inkblot-spacing-2)]",children:t.map(n=>{let i=n.icon;return Nt(es,{to:n.path,end:n.path==="/","aria-label":n.label,className:({isActive:s})=>`flex items-center justify-center gap-[var(--inkblot-spacing-2)] rounded-[var(--inkblot-radius-lg)] border border-transparent px-[var(--inkblot-spacing-2)] py-[var(--inkblot-spacing-2)] transition-[background,border-color,color] duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)] ${s?"border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-primary)] text-[var(--inkblot-semantic-color-interactive-primary)]":"text-[var(--inkblot-semantic-color-text-secondary)] hover:border-[var(--inkblot-semantic-color-border-default)]/60 hover:bg-[var(--inkblot-semantic-color-background-primary)]"}`,children:Nt(i,{size:20,"aria-hidden":!0})},n.id)})})]})})}import{useState as Re,useCallback as ms,useRef as ps,useEffect as bs}from"react";import{jsx as z,jsxs as He}from"react/jsx-runtime";function us(t){let e=t.toLowerCase();return e.includes("entity")||e.includes("company")||e.includes("person")||e.includes("deal")||e.includes("profile")||e.includes("org")?"entity":e.includes("event")||e.includes("activity")||e.includes("recent")||e.includes("stream")||e.includes("log")?"event":"general"}function vs({entities:t}){let e=t[0];return e?He("div",{className:"space-y-3",children:[z("p",{className:"text-sm text-[var(--inkblot-semantic-color-text-secondary)]",children:"Here's the entity profile and current intelligence scores:"}),z(ye,{name:e.name,entityType:e.type,metadata:e.metadata,edges:[{type:"WORKS_WITH",target:t[1]?.name},{type:"MANAGES",target:t[4]?.name}]})]}):null}function fs({events:t}){return He("div",{className:"space-y-2",children:[z("p",{className:"text-sm text-[var(--inkblot-semantic-color-text-secondary)]",children:"Latest activity from the event bus:"}),t.slice(0,5).map(e=>z(Ne,{event:e},e.id??`${e.actor}-${e.subject}-${e.timestamp}`))]})}function gs(){return z("p",{className:"text-sm text-[var(--inkblot-semantic-color-text-primary)]",children:"Revenue confidence is trending upward at 78%. Momentum score increased 12% this week driven by 3 new meetings with Acme Corp. Churn risk remains low at 15% across the active pipeline."})}function ho({entities:t,events:e,onFocusEntity:r,findEntity:a,placeholder:n="Ask anything \u2014 deals, contacts, forecasts...",emptyMessage:i="Escribe para comenzar...",className:s}){let[l,c]=Re(""),[d,p]=Re([]),[u,v]=Re(!1),[m,f]=Re(new Map),h=ps(null);bs(()=>{h.current&&(h.current.scrollTop=h.current.scrollHeight)},[d,u]);let N=ms(()=>{let x=l.trim();if(!x||u)return;let w=a?.(x);w&&r&&r(w);let C={id:`msg-${Date.now()}`,role:"user",content:x,timestamp:new Date().toISOString()},k=us(x);p(g=>[...g,C]),c(""),v(!0),setTimeout(()=>{let g={id:`msg-${Date.now()}-res`,role:"assistant",content:"",intent:k,timestamp:new Date().toISOString()},b;switch(k){case"entity":b=z(vs,{entities:t});break;case"event":b=z(fs,{events:e});break;default:b=z(gs,{})}f(y=>{let T=new Map(y);return T.set(g.id,b),T}),p(y=>[...y,g]),v(!1)},1e3)},[l,u,t,e,r,a]);return He("div",{className:o("flex h-full flex-col",s),children:[He("div",{ref:h,className:"flex-1 space-y-4 overflow-y-auto p-4",children:[d.length===0&&!u?z("div",{className:"flex flex-1 items-center justify-center py-12",children:z("p",{className:"text-sm text-[var(--inkblot-semantic-color-text-tertiary)]",children:i})}):d.map(x=>z("div",{className:"flex flex-col gap-2",children:x.role==="user"?z("div",{className:"flex justify-end",children:z("div",{className:"max-w-[80%] rounded-[var(--inkblot-radius-lg)] bg-[var(--inkblot-semantic-color-interactive-primary)] px-4 py-3 text-sm text-[var(--inkblot-semantic-color-text-primary)]",children:x.content})}):z("div",{className:"max-w-[90%]",children:m.get(x.id)??z("p",{className:"text-sm text-[var(--inkblot-semantic-color-text-primary)]",children:x.content})})},x.id)),u&&z("div",{className:"max-w-[70%]",children:z(Dt,{className:"animate-shimmer"})})]}),z("div",{className:"shrink-0 border-t border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-primary)] p-4",children:z(Et,{promptValue:l,onPromptChange:c,onPromptSubmit:N,isProcessing:u,placeholder:n})})]})}import{Sparkles as ks}from"lucide-react";import{jsx as re,jsxs as No}from"react/jsx-runtime";function Co({prompt:t,onPromptChange:e,onSubmit:r,isProcessing:a,placeholder:n="Ask anything \u2014 deals, contacts, forecasts...",subtitle:i="Citron OS v1.0 \u2014 AI-native Revenue & Operations Platform",className:s}){return No("div",{className:o("border-t border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] px-[var(--inkblot-spacing-6)] py-[var(--inkblot-spacing-4)]",s),children:[No("div",{className:"flex items-start gap-[var(--inkblot-spacing-3)]",children:[re("div",{className:"mt-[var(--inkblot-spacing-1)] flex h-10 w-10 shrink-0 items-center justify-center rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-primary)]",children:re(ks,{className:"h-5 w-5 text-[var(--inkblot-semantic-color-interactive-primary)]","aria-hidden":!0})}),re("div",{className:"flex-1",children:re(Et,{promptValue:t,onPromptChange:e,onPromptSubmit:r,isProcessing:a,placeholder:n})})]}),i&&re("p",{className:"mt-[var(--inkblot-spacing-2)] [font:var(--inkblot-semantic-typography-body-small)] text-[var(--inkblot-semantic-color-text-tertiary)]",children:i})]})}import{jsx as Bt,jsxs as ir}from"react/jsx-runtime";function wo({events:t,title:e="Event Stream",showLive:r=!0,className:a}){return Bt(D,{children:ir("div",{className:o("flex h-full flex-col bg-[var(--inkblot-semantic-color-background-secondary)]",a),children:[ir("div",{className:"flex shrink-0 items-center justify-between border-b border-[var(--inkblot-semantic-color-border-default)] px-4 py-3",children:[Bt("span",{className:"text-xs font-medium uppercase tracking-wider text-[var(--inkblot-semantic-color-text-secondary)]",children:e}),r&&ir("div",{className:"flex items-center gap-2",children:[Bt("div",{className:"h-2 w-2 rounded-full bg-[var(--inkblot-semantic-color-status-success)]"}),Bt("span",{className:"text-xs text-[var(--inkblot-semantic-color-status-success)]",children:"Live"})]})]}),Bt("div",{className:"flex-1 overflow-auto p-4",children:Bt(Ae,{events:t})})]})})}import{jsx as $,jsxs as Ct}from"react/jsx-runtime";var ys=[{label:"Pipeline Health",value:76},{label:"Churn Risk",value:28},{label:"Expansion Signal",value:64},{label:"Team Velocity",value:83}],xs=[{title:"Acme Corp likely to close within 14 days",description:"Based on email sentiment, meeting cadence, and champion engagement patterns.",confidence:89},{title:"Churn risk detected: GlobalTech Inc",description:"Declining touchpoints and support ticket volume suggest potential churn.",confidence:74},{title:"Expansion opportunity: TechVentures",description:"Usage patterns and NPS scores indicate readiness for upsell conversation.",confidence:81}];function To({loading:t,kpiCards:e=ys,aiInsights:r=xs,title:a="Intelligence Lab",subtitle:n="AI-generated insights - Updated 3 min ago",className:i}){return Ct("div",{className:o("flex h-full flex-col gap-4 overflow-y-auto p-4",i),children:[Ct("div",{children:[$("h1",{className:"text-2xl font-semibold text-[var(--inkblot-semantic-color-text-primary)]",children:a}),$("p",{className:"text-sm text-[var(--inkblot-semantic-color-text-tertiary)]",children:n})]}),$(Te,{loading:t,title:"",children:$(D,{children:Ct("div",{className:"flex flex-col gap-4",children:[$("div",{className:"grid grid-cols-2 gap-4 lg:grid-cols-4",children:e.map(s=>$(Ce,{label:s.label,value:s.value,subtext:s.subtext,trend:s.trend},s.label))}),Ct("div",{children:[$("h2",{className:"mb-4 border-b border-[var(--inkblot-semantic-color-border-default)] pb-2 text-sm font-bold uppercase tracking-wider text-[var(--inkblot-semantic-color-text-primary)]",children:"AI Insights"}),$("div",{className:"flex flex-col gap-4",children:r.map(s=>$(D,{children:Ct("div",{className:"flex items-start justify-between gap-4 rounded-[var(--inkblot-radius-lg)] bg-[var(--inkblot-semantic-color-background-secondary)] p-4",children:[Ct("div",{className:"min-w-0 flex-1",children:[$("h3",{className:"font-semibold text-[var(--inkblot-semantic-color-text-primary)]",children:s.title}),$("p",{className:"mt-1 text-sm text-[var(--inkblot-semantic-color-text-tertiary)]",children:s.description})]}),Ct("div",{className:"flex shrink-0 flex-col items-center",children:[$("span",{className:"text-lg font-bold text-[var(--inkblot-semantic-color-text-primary)]",children:s.confidence}),$("span",{className:"text-xs text-[var(--inkblot-semantic-color-text-tertiary)]",children:"Conf."})]})]})},s.title))})]})]})})})]})}import{jsx as oe,jsxs as sr}from"react/jsx-runtime";function Po({navigation:t,eventStream:e,commandBar:r,children:a,className:n,eventStreamWidth:i="w-80"}){return sr("div",{className:o("flex h-screen w-screen overflow-hidden bg-[var(--inkblot-semantic-color-background-primary)]",n),children:[oe("aside",{className:"flex h-full w-16 shrink-0 flex-col border-r border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)]",children:t}),oe("main",{className:"flex flex-1 flex-col overflow-hidden",children:sr("div",{className:"flex min-h-0 flex-1",children:[sr("div",{className:"flex min-h-0 flex-1 flex-col overflow-hidden bg-[var(--inkblot-semantic-color-background-primary)]",children:[oe("div",{className:"flex-1 overflow-auto px-[var(--inkblot-spacing-6)] py-[var(--inkblot-spacing-6)]",children:a}),oe("div",{className:"shrink-0 border-t border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)]",children:r})]}),e&&oe("aside",{className:o("flex h-full shrink-0 flex-col border-l border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-[var(--inkblot-spacing-4)]",i),children:e})]})})]})}import{useState as lr}from"react";import{Check as hs,X as Ns}from"lucide-react";import{jsx as zt,jsxs as Be}from"react/jsx-runtime";var Cs=["urgent","high","medium","low"];function ze({onConfirm:t,onCancel:e,className:r}){let[a,n]=lr(""),[i,s]=lr(""),[l,c]=lr("medium");return Be("form",{onSubmit:p=>{p.preventDefault();let u=a.trim();u&&(t({title:u,company:i.trim()||void 0,priority:l}),n(""),s(""),c("medium"))},className:o("flex flex-col gap-[var(--inkblot-spacing-4)] rounded-[var(--inkblot-radius-lg)]","border border-[var(--inkblot-semantic-color-border-default)]","bg-[var(--inkblot-semantic-color-background-secondary)]","p-[var(--inkblot-spacing-4)]",r),children:[zt("input",{type:"text",value:a,onChange:p=>n(p.target.value),placeholder:"Task title...",autoFocus:!0,required:!0,className:o("min-h-[var(--inkblot-size-touch-target-min)] w-full rounded-[var(--inkblot-radius-md)]","border border-[var(--inkblot-semantic-color-border-default)]","bg-[var(--inkblot-semantic-color-background-primary)]","px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)]","[font:var(--inkblot-semantic-typography-body-medium)]","text-[var(--inkblot-semantic-color-text-primary)] placeholder:text-[var(--inkblot-semantic-color-text-tertiary)]","focus:outline-none focus:ring-2 focus:ring-[var(--inkblot-semantic-color-border-focus)]")}),zt("input",{type:"text",value:i,onChange:p=>s(p.target.value),placeholder:"Company (optional)",className:o("min-h-[var(--inkblot-size-touch-target-min)] w-full rounded-[var(--inkblot-radius-md)]","border border-[var(--inkblot-semantic-color-border-default)]","bg-[var(--inkblot-semantic-color-background-primary)]","px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)]","[font:var(--inkblot-semantic-typography-body-medium)]","text-[var(--inkblot-semantic-color-text-primary)] placeholder:text-[var(--inkblot-semantic-color-text-tertiary)]","focus:outline-none focus:ring-2 focus:ring-[var(--inkblot-semantic-color-border-focus)]")}),zt("div",{className:"flex flex-wrap gap-[var(--inkblot-spacing-2)]",children:Cs.map(p=>zt("button",{type:"button",onClick:()=>c(p),className:o("rounded-[var(--inkblot-radius-md)] px-[var(--inkblot-spacing-2)] py-[var(--inkblot-spacing-1)]","[font:var(--inkblot-semantic-typography-body-small)] font-medium","transition-colors duration-[var(--inkblot-duration-fast)]",l===p?"bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)]":"bg-[var(--inkblot-semantic-color-background-tertiary)] text-[var(--inkblot-semantic-color-text-secondary)] hover:bg-[var(--inkblot-semantic-color-background-tertiary)]/80"),children:p.charAt(0).toUpperCase()+p.slice(1)},p))}),Be("div",{className:"flex justify-end gap-[var(--inkblot-spacing-2)]",children:[Be("button",{type:"button",onClick:e,className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center gap-2 rounded-[var(--inkblot-radius-lg)]","border border-[var(--inkblot-semantic-color-border-default)]","bg-[var(--inkblot-semantic-color-interactive-secondary)]","px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)]","[font:var(--inkblot-semantic-typography-body-medium)] font-medium","text-[var(--inkblot-semantic-color-text-primary)]","hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)]","focus:outline-none focus:ring-2 focus:ring-[var(--inkblot-semantic-color-border-focus)]"),children:[zt(Ns,{className:"h-4 w-4"}),"Cancel"]}),Be("button",{type:"submit",disabled:!a.trim(),className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center gap-2 rounded-[var(--inkblot-radius-lg)]","bg-[var(--inkblot-semantic-color-interactive-primary)]","px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)]","[font:var(--inkblot-semantic-typography-body-medium)] font-medium","text-[var(--inkblot-semantic-color-text-inverse)]","hover:bg-[var(--inkblot-semantic-color-interactive-primary-hover)] active:bg-[var(--inkblot-semantic-color-interactive-primary-active)]","focus:outline-none focus:ring-2 focus:ring-[var(--inkblot-semantic-color-border-focus)]","disabled:opacity-[var(--inkblot-opacity-disabled)] disabled:cursor-not-allowed"),children:[zt(hs,{className:"h-4 w-4"}),"Add Task"]})]})]})}import{useState as cr,useMemo as Mo}from"react";import{ClipboardList as ws}from"lucide-react";import{jsx as wt,jsxs as Ps}from"react/jsx-runtime";function st(t,e,r="You"){let n=new Date().toLocaleDateString("en-US",{month:"short",day:"numeric"})||"Today";return{id:e,title:t.title,company:t.company??"Unassigned",priority:t.priority??"medium",date:n,assignee:r,status:"todo"}}function Ts(t){let e={todo:t.filter(r=>r.status==="todo"),in_progress:t.filter(r=>r.status==="in_progress"),done:t.filter(r=>r.status==="done")};return[{id:"todo",label:"TO DO",count:e.todo.length,tasks:e.todo},{id:"in_progress",label:"IN PROGRESS",count:e.in_progress.length,tasks:e.in_progress},{id:"done",label:"DONE",count:e.done.length,tasks:e.done}]}var lt=[st({title:"Follow up with Sarah Chen on proposal",company:"Acme Corp",priority:"high"},"1"),st({title:"Schedule demo with engineering team",company:"TechStart Inc",priority:"medium"},"2"),st({title:"Prepare quarterly report slides",company:"GlobalTech",priority:"low"},"3"),st({title:"Review Q1 marketing budget",company:"TechStart Inc",priority:"medium"},"4"),st({title:"Draft partnership agreement",company:"Enterprise Co",priority:"urgent"},"5"),st({title:"Send contract to legal team",company:"GlobalTech",priority:"low"},"6"),st({title:"Update CRM with new contacts",company:"Acme Corp",priority:"low"},"7")];lt[0].status="todo";lt[1].status="todo";lt[2].status="todo";lt[3].status="in_progress";lt[4].status="in_progress";lt[5].status="done";lt[6].status="done";function So({initialTasks:t=lt,onTaskCreate:e,onTaskToggle:r,onTaskClick:a,className:n}){let[i,s]=cr(t),[l,c]=cr(!1),[d,p]=cr(""),u=Mo(()=>{if(!d.trim())return i;let w=d.toLowerCase();return i.filter(C=>C.title.toLowerCase().includes(w)||C.company.toLowerCase().includes(w))},[i,d]),v=Mo(()=>Ts(u),[u]),m=i.filter(w=>w.status!=="done").length,f=i.filter(w=>w.priority==="urgent"&&w.status!=="done").length,h=`${m} pending${f>0?` \xB7 ${f} urgent`:""}`,N=w=>{let C=`task-${Date.now()}`,k=st(w,C);s(g=>[k,...g]),c(!1),e?.(w)},x=w=>{s(C=>C.map(k=>{if(k.id!==w)return k;let g=k.status==="done"?"todo":"done";return{...k,status:g}})),r?.(w)};return wt("div",{className:o("flex min-h-screen flex-col bg-[var(--inkblot-semantic-color-background-primary)]",n),children:Ps("div",{className:"flex flex-1 flex-col gap-8 px-8 py-8",children:[wt(At,{title:"Tasks",subtitle:h,icon:wt(ws,{className:"h-5 w-5"}),action:wt(Rt,{label:"New Task",onClick:()=>c(w=>!w)})}),wt(it,{placeholder:"Search tasks...",value:d,onChange:w=>p(w.target.value)}),l?wt(ze,{onConfirm:N,onCancel:()=>c(!1)}):null,wt(Ie,{sections:v,onTaskToggle:x,onTaskClick:a})]})})}import{useState as Ot,useMemo as dr}from"react";import{Mail as Ms}from"lucide-react";import{Fragment as Is,jsx as V,jsxs as Vt}from"react/jsx-runtime";var Ss=`Hi [Name],
1
+ import{Send as Kn,Calendar as jn}from"lucide-react";import{clsx as $n}from"clsx";import{twMerge as _n}from"tailwind-merge";function o(...t){return _n($n(t))}import{jsx as Me,jsxs as qn}from"react/jsx-runtime";var Un={primary:["bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)]","hover:bg-[var(--inkblot-semantic-color-interactive-primary-hover)] active:bg-[var(--inkblot-semantic-color-interactive-primary-active)]"],secondary:["bg-[var(--inkblot-semantic-color-interactive-secondary)] text-[var(--inkblot-semantic-color-text-primary)]","border border-[var(--inkblot-semantic-color-border-default)]","hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)] hover:border-[var(--inkblot-semantic-color-border-strong)]","active:bg-[var(--inkblot-semantic-color-background-tertiary)]"]};function pr({buttons:t,className:e}){return Me("div",{className:o("flex flex-wrap items-center gap-[var(--inkblot-spacing-3)]",e),children:t.map(r=>qn("button",{type:"button",onClick:()=>{r.onClick?.()},disabled:r.disabled,className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center gap-2 rounded-[var(--inkblot-radius-lg)] px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)]","[font:var(--inkblot-semantic-typography-body-medium)] font-medium","focus:outline-none focus:ring-2 focus:ring-[var(--inkblot-semantic-color-border-focus)] focus:ring-offset-2 focus:ring-offset-[var(--inkblot-semantic-color-background-primary)]","transition-colors duration-[var(--inkblot-duration-fast)]","disabled:opacity-[var(--inkblot-opacity-disabled)] disabled:pointer-events-none disabled:cursor-not-allowed",Un[r.variant]),children:[r.icon??null,r.label]},r.id))})}function Se({onSendNow:t,onSchedule:e,onSaveDraft:r,className:a}){return Me(pr,{buttons:[{id:"send",label:"Send Now",variant:"primary",icon:Me(Kn,{className:"h-4 w-4"}),onClick:t},{id:"schedule",label:"Schedule",variant:"secondary",icon:Me(jn,{className:"h-4 w-4"}),onClick:e},{id:"draft",label:"Save Draft",variant:"secondary",onClick:r}],className:a})}import{forwardRef as Yn}from"react";import{Loader2 as Xn,Sparkles as Zn}from"lucide-react";import{jsx as Ht,jsxs as br}from"react/jsx-runtime";var re=Yn(({label:t,loading:e=!1,onWriteWithAI:r,disabled:a,className:i,...n},s)=>{let l=a||e;return br("div",{className:o("flex flex-col gap-[var(--inkblot-spacing-2)]",i),children:[br("div",{className:"flex items-center justify-between",children:[t?Ht("label",{htmlFor:n.id,className:o("uppercase tracking-wider","[font:var(--inkblot-semantic-typography-body-small)]","text-[var(--inkblot-semantic-color-text-primary)]"),children:t}):Ht("span",{}),r?br("button",{type:"button",onClick:r,disabled:e,className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center gap-2 rounded-[var(--inkblot-radius-lg)]","border border-[var(--inkblot-semantic-color-border-default)]","bg-[var(--inkblot-semantic-color-interactive-secondary)]","px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)]","[font:var(--inkblot-semantic-typography-body-medium)] font-medium","text-[var(--inkblot-semantic-color-text-primary)]","hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)] hover:border-[var(--inkblot-semantic-color-border-strong)]","focus:outline-none focus:ring-2 focus:ring-[var(--inkblot-semantic-color-border-focus)] focus:ring-offset-2 focus:ring-offset-[var(--inkblot-semantic-color-background-primary)]","transition-colors duration-[var(--inkblot-duration-fast)]","disabled:opacity-[var(--inkblot-opacity-disabled)] disabled:cursor-not-allowed disabled:pointer-events-none"),children:[e?Ht(Xn,{className:"h-4 w-4 shrink-0 animate-spin"}):Ht(Zn,{className:"h-4 w-4 shrink-0",style:{color:"var(--inkblot-semantic-color-status-warning)"}}),e?"Generating...":"Write with AI"]}):null]}),Ht("div",{className:"relative",children:Ht("textarea",{ref:s,disabled:l,className:o("min-h-[12rem] w-full rounded-[var(--inkblot-radius-lg)]","border border-[var(--inkblot-semantic-color-border-default)]","bg-[var(--inkblot-semantic-color-background-secondary)]","px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-3)]","[font:var(--inkblot-semantic-typography-body-medium)]","text-[var(--inkblot-semantic-color-text-primary)] placeholder:text-[var(--inkblot-semantic-color-text-tertiary)]","transition-colors duration-[var(--inkblot-duration-fast)]","hover:border-[var(--inkblot-semantic-color-border-strong)]","focus:outline-none focus:ring-2 focus:ring-[var(--inkblot-semantic-color-border-focus)] focus:ring-offset-2 focus:ring-offset-[var(--inkblot-semantic-color-background-primary)]","disabled:opacity-[var(--inkblot-opacity-disabled)] disabled:cursor-not-allowed disabled:pointer-events-none"),...n})})]})});re.displayName="AIComposeInput";import{forwardRef as Qn}from"react";import{jsx as ti}from"react/jsx-runtime";var Jn={primary:"border border-transparent bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)] shadow-[var(--inkblot-shadow-sm)] hover:bg-[var(--inkblot-semantic-color-interactive-primary-hover)] active:bg-[var(--inkblot-semantic-color-interactive-primary-active)]",secondary:"border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] text-[var(--inkblot-semantic-color-text-primary)] hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)] hover:border-[var(--inkblot-semantic-color-border-strong)] active:bg-[var(--inkblot-semantic-color-background-tertiary)]"},oe=Qn(({className:t,variant:e="primary",disabled:r,...a},i)=>ti("button",{ref:i,disabled:r,className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center rounded-[var(--inkblot-radius-lg)] px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)] [font:var(--inkblot-semantic-typography-body-medium)] font-semibold transition-[background,border-color,box-shadow,color] duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--inkblot-semantic-color-border-focus)] focus-visible:ring-offset-2 focus-visible:ring-offset-[var(--inkblot-semantic-color-background-primary)] disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-[var(--inkblot-opacity-disabled)]",Jn[e],t),...a}));oe.displayName="Button";import{useMemo as ei,useState as go}from"react";import{ArrowDown as ri,ArrowUp as oi,ArrowUpDown as ai,CheckCircle as ni,Zap as ii,FileText as si,Clock as li}from"lucide-react";import{jsx as z,jsxs as Tt}from"react/jsx-runtime";var ci={sent:{icon:ni,label:"Sent",colorClass:"text-[var(--inkblot-semantic-color-status-success)]"},active:{icon:ii,label:"Active",colorClass:"text-[var(--inkblot-semantic-color-status-warning)]"},draft:{icon:si,label:"Draft",colorClass:"text-[var(--inkblot-semantic-color-text-secondary)]"},scheduled:{icon:li,label:"Scheduled",colorClass:"text-[var(--inkblot-semantic-color-status-info)]"}};function Ee({columns:t,rows:e,sortKey:r,sortDirection:a,defaultSortKey:i,defaultSortDirection:n="asc",onSortChange:s,sortableColumns:l,emptyTitle:c="No campaigns found",emptyDescription:d="Create a campaign or adjust filters to see results.",className:b}){let[m,v]=go(i),[p,g]=go(n),C=r!==void 0&&a!==void 0,w=C?r:m,N=C?a:p,T=u=>!l||l.length===0?!0:l.includes(u),h=(u,x)=>{if(x==="campaign")return u.campaignName.toLowerCase();if(x==="status")return u.status;if(x==="opens")return Number.parseFloat(u.opens.replace("%","").trim())||0;if(x==="clicks")return Number.parseFloat(u.clicks.replace("%","").trim())||0;if(x==="date")return new Date(u.date).getTime()||0;let P=u[x];return typeof P=="number"?P:String(P??"").toLowerCase()},y=ei(()=>w?[...e].sort((x,P)=>{let M=h(x,w),A=h(P,w);return M<A?N==="asc"?-1:1:M>A?N==="asc"?1:-1:0}):e,[N,w,e]),k=u=>{let x=w===u&&N==="asc"?"desc":"asc";C||(v(u),g(x)),s?.(u,x)};return z("div",{className:o("overflow-x-auto rounded-[var(--inkblot-radius-lg)]","border border-[var(--inkblot-semantic-color-border-subtle)]","bg-[var(--inkblot-semantic-color-background-primary)]",b),children:Tt("table",{className:"w-full min-w-[600px] border-collapse",children:[z("thead",{children:z("tr",{className:"bg-[var(--inkblot-semantic-color-background-secondary)]",children:t.map(u=>z("th",{className:o("px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-3)] text-left","uppercase tracking-wider","[font:var(--inkblot-semantic-typography-body-small)]","text-[var(--inkblot-semantic-color-text-secondary)]","border-b border-[var(--inkblot-semantic-color-border-subtle)]"),children:T(u.key)?Tt("button",{type:"button",onClick:()=>k(u.key),className:"inline-flex items-center gap-[var(--inkblot-spacing-1)] rounded-[var(--inkblot-radius-sm)] transition-colors duration-[var(--inkblot-duration-fast)] hover:text-[var(--inkblot-semantic-color-text-primary)]",children:[u.label,w!==u.key?z(ai,{className:"h-3.5 w-3.5","aria-hidden":!0}):N==="asc"?z(oi,{className:"h-3.5 w-3.5","aria-hidden":!0}):z(ri,{className:"h-3.5 w-3.5","aria-hidden":!0})]}):u.label},u.key))})}),z("tbody",{children:y.length===0?z("tr",{children:z("td",{colSpan:t.length,className:"px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-10)] text-center",children:Tt("div",{className:"mx-auto flex max-w-[420px] flex-col gap-[var(--inkblot-spacing-1)]",children:[z("span",{className:"[font:var(--inkblot-semantic-typography-body-large-bold)] text-[var(--inkblot-semantic-color-text-primary)]",children:c}),z("span",{className:"[font:var(--inkblot-semantic-typography-body-small)] text-[var(--inkblot-semantic-color-text-secondary)]",children:d})]})})}):y.map(u=>Tt("tr",{className:o("border-b border-[var(--inkblot-semantic-color-border-subtle)] last:border-b-0","transition-colors duration-[var(--inkblot-duration-fast)]","hover:bg-[var(--inkblot-semantic-color-background-secondary)]/50"),children:[z("td",{className:o("px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-3)]","border-b border-[var(--inkblot-semantic-color-border-subtle)]"),children:Tt("div",{className:"flex flex-col gap-0.5",children:[z("span",{className:o("[font:var(--inkblot-semantic-typography-body-large-bold)]","text-[var(--inkblot-semantic-color-text-primary)]"),children:u.campaignName}),z("span",{className:o("[font:var(--inkblot-semantic-typography-body-small)]","text-[var(--inkblot-semantic-color-text-secondary)]"),children:u.recipients})]})}),z("td",{className:o("px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-3)]","border-b border-[var(--inkblot-semantic-color-border-subtle)]"),children:z(di,{status:u.status,subtext:u.statusSubtext})}),z("td",{className:o("px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-3)]","[font:var(--inkblot-semantic-typography-body-medium)]","text-[var(--inkblot-semantic-color-text-primary)]","border-b border-[var(--inkblot-semantic-color-border-subtle)]"),children:u.opens}),z("td",{className:o("px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-3)]","[font:var(--inkblot-semantic-typography-body-medium)]","text-[var(--inkblot-semantic-color-text-primary)]","border-b border-[var(--inkblot-semantic-color-border-subtle)]"),children:u.clicks}),z("td",{className:o("px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-3)]","[font:var(--inkblot-semantic-typography-body-medium)]","text-[var(--inkblot-semantic-color-text-primary)]","border-b border-[var(--inkblot-semantic-color-border-subtle)]"),children:u.date})]},u.id))})]})})}function di({status:t,subtext:e}){let r=ci[t],a=r.icon;return Tt("div",{className:"flex flex-col gap-0.5",children:[Tt("div",{className:o("inline-flex items-center gap-1.5","[font:var(--inkblot-semantic-typography-body-small)] font-medium",r.colorClass),children:[z(a,{className:"h-4 w-4 shrink-0"}),r.label]}),e?z("span",{className:o("[font:var(--inkblot-semantic-typography-body-small)]","text-[var(--inkblot-semantic-color-text-secondary)]"),children:e}):null]})}import{Sparkles as pi}from"lucide-react";import{File as mi}from"lucide-react";import{jsx as ae,jsxs as fo}from"react/jsx-runtime";function Le({category:t,title:e,uses:r,onClick:a,className:i}){return fo("button",{type:"button",onClick:a,className:o("flex flex-col gap-[var(--inkblot-spacing-4)] rounded-[var(--inkblot-radius-lg)]","bg-[var(--inkblot-semantic-color-background-secondary)]","border border-[var(--inkblot-semantic-color-border-subtle)]","px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-5)]","text-left transition-colors duration-[var(--inkblot-duration-fast)]","hover:border-[var(--inkblot-semantic-color-border-default)] hover:bg-[var(--inkblot-semantic-color-background-tertiary)]","focus:outline-none focus:ring-2 focus:ring-[var(--inkblot-semantic-color-border-focus)] focus:ring-offset-2 focus:ring-offset-[var(--inkblot-semantic-color-background-primary)]",i),children:[fo("div",{className:"flex items-start justify-between gap-2",children:[ae("span",{className:o("rounded-[var(--inkblot-radius-md)] px-[var(--inkblot-spacing-2)] py-[var(--inkblot-spacing-1)]","bg-[var(--inkblot-semantic-color-background-tertiary)]","[font:var(--inkblot-semantic-typography-body-small)] font-medium","text-[var(--inkblot-semantic-color-text-primary)]"),children:t}),ae("span",{className:o("[font:var(--inkblot-semantic-typography-body-small)]","text-[var(--inkblot-semantic-color-text-secondary)]"),children:r})]}),ae("h3",{className:o("[font:var(--inkblot-semantic-typography-body-large-bold)]","text-[var(--inkblot-semantic-color-text-primary)]"),children:e}),ae("div",{className:"flex flex-1 items-end justify-center pt-[var(--inkblot-spacing-4)]",children:ae(mi,{className:o("h-10 w-10","text-[var(--inkblot-semantic-color-text-tertiary)]")})})]})}import{jsx as Ie,jsxs as ur}from"react/jsx-runtime";function Re({title:t="EMAIL TEMPLATES",onGenerateWithAI:e,templates:r,onTemplateClick:a,className:i}){return ur("section",{className:o("flex flex-col gap-[var(--inkblot-spacing-6)] rounded-[var(--inkblot-radius-xl)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-[var(--inkblot-spacing-5)] shadow-[var(--inkblot-shadow-sm)]",i),children:[ur("div",{className:"flex flex-col gap-[var(--inkblot-spacing-4)] sm:flex-row sm:items-center sm:justify-between",children:[Ie("h2",{className:o("uppercase tracking-wider","[font:var(--inkblot-semantic-typography-body-medium)]","text-[var(--inkblot-semantic-color-text-secondary)]"),children:t}),e?ur("button",{type:"button",onClick:e,className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] w-fit items-center justify-center gap-2 rounded-[var(--inkblot-radius-lg)]","border border-[var(--inkblot-semantic-color-border-default)]","bg-[var(--inkblot-semantic-color-background-primary)]","px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)]","[font:var(--inkblot-semantic-typography-body-medium)] font-medium","text-[var(--inkblot-semantic-color-text-primary)]","hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)] hover:border-[var(--inkblot-semantic-color-border-strong)]","focus:outline-none focus:ring-2 focus:ring-[var(--inkblot-semantic-color-border-focus)] focus:ring-offset-2 focus:ring-offset-[var(--inkblot-semantic-color-background-primary)]","transition-colors duration-[var(--inkblot-duration-fast)]"),children:[Ie(pi,{className:"h-4 w-4 shrink-0",style:{color:"var(--inkblot-semantic-color-status-warning)"}}),"Generate with AI"]}):null]}),Ie("div",{className:"grid grid-cols-1 gap-[var(--inkblot-spacing-6)] sm:grid-cols-2",children:r.map(n=>Ie(Le,{category:n.category,title:n.title,uses:n.uses,onClick:()=>a?.(n)},n.id))})]})}import{useRef as bi}from"react";import{Loader2 as ui,Paperclip as vi,Send as gi,Sparkles as fi}from"lucide-react";import{jsx as et,jsxs as vr}from"react/jsx-runtime";function Bt({promptValue:t="",onPromptChange:e,onPromptSubmit:r,onFilesAttach:a,isProcessing:i=!1,response:n,placeholder:s="Ask Citron Intelligence...",accept:l,multiple:c=!0,className:d}){let b=bi(null),m=g=>{g.key==="Enter"&&!g.shiftKey&&(g.preventDefault(),r?.())},v=()=>{b.current?.click()},p=g=>{let C=g.target.files;C&&C.length>0&&a&&a(Array.from(C)),g.target.value=""};return vr("div",{className:o("flex w-full max-w-[80rem] flex-col gap-[var(--inkblot-spacing-3)]",d),children:[vr("div",{className:o("flex items-end gap-[var(--inkblot-spacing-2)] rounded-[var(--inkblot-radius-xl)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-[var(--inkblot-spacing-2)] shadow-[var(--inkblot-shadow-sm)]",i&&"pointer-events-none"),"aria-busy":i,children:[et("input",{ref:b,type:"file",accept:l,multiple:c,onChange:p,className:"sr-only","aria-hidden":!0}),et("button",{type:"button",onClick:v,disabled:i,className:o("flex h-9 w-9 shrink-0 items-center justify-center rounded-[var(--inkblot-radius-full)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-primary)] text-[var(--inkblot-semantic-color-text-tertiary)] transition-[background,border-color,color] duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)]","hover:border-[var(--inkblot-semantic-color-border-strong)] hover:bg-[var(--inkblot-semantic-color-background-tertiary)] hover:text-[var(--inkblot-semantic-color-text-secondary)]","focus:outline-none focus:ring-2 focus:ring-[var(--inkblot-semantic-color-border-focus)] focus:ring-offset-2 focus:ring-offset-[var(--inkblot-semantic-color-background-secondary)]","disabled:pointer-events-none disabled:opacity-[var(--inkblot-opacity-disabled)]"),"aria-label":"Adjuntar archivos",children:et(vi,{size:18,strokeWidth:1.7,"aria-hidden":!0})}),vr("div",{className:"relative flex min-w-0 flex-1 items-center gap-[var(--inkblot-spacing-2)] rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-primary)] px-[var(--inkblot-spacing-3)] py-[var(--inkblot-spacing-2)]",children:[et(fi,{size:18,strokeWidth:1.7,className:"shrink-0 text-[var(--inkblot-semantic-color-text-tertiary)]","aria-hidden":!0}),et("textarea",{value:t,onChange:g=>e?.(g.target.value),onKeyDown:m,placeholder:s,rows:2,disabled:i,className:o("min-h-[2.5rem] min-w-0 flex-1 resize-none border-0 bg-transparent py-0 pr-[var(--inkblot-spacing-12)] [font:var(--inkblot-semantic-typography-body-medium)] text-[var(--inkblot-semantic-color-text-primary)] placeholder:text-[var(--inkblot-semantic-color-text-tertiary)]","focus:outline-none focus:ring-0","disabled:cursor-not-allowed disabled:opacity-[var(--inkblot-opacity-disabled)]")}),et("div",{className:o("absolute bottom-[var(--inkblot-spacing-2)] right-[var(--inkblot-spacing-2)] flex h-8 w-8 items-center justify-center rounded-[var(--inkblot-radius-full)]",i?"bg-[var(--inkblot-semantic-color-interactive-primary)]":""),children:i?et(ui,{size:16,strokeWidth:2,className:"animate-spin text-[var(--inkblot-semantic-color-text-inverse)]","aria-hidden":!0}):et("button",{type:"button",onClick:r,disabled:i,className:o("flex h-full w-full items-center justify-center rounded-[var(--inkblot-radius-full)] bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)] transition-[background,box-shadow] duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)]","hover:bg-[var(--inkblot-semantic-color-interactive-primary-hover)] active:bg-[var(--inkblot-semantic-color-interactive-primary-active)]","focus:outline-none focus:ring-2 focus:ring-[var(--inkblot-semantic-color-border-focus)] focus:ring-offset-2 focus:ring-offset-[var(--inkblot-semantic-color-background-primary)]"),"aria-label":"Enviar",children:et(gi,{size:16,strokeWidth:2,"aria-hidden":!0})})})]})]}),n?et("div",{className:"rounded-[var(--inkblot-radius-xl)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-[var(--inkblot-spacing-4)]",children:et("div",{className:"min-w-0 [font:var(--inkblot-semantic-typography-body-medium)] text-[var(--inkblot-semantic-color-text-primary)]",children:n})}):null]})}import{ArrowUpRight as ki,BadgeCheck as yi,Building2 as xi,TrendingUp as hi,UserRound as Ni,Users as Ci}from"lucide-react";import{jsx as V,jsxs as K}from"react/jsx-runtime";var wi={Person:"border-l-[var(--inkblot-semantic-color-status-info)]",Organization:"border-l-[var(--inkblot-semantic-color-status-warning)]",Deal:"border-l-[var(--inkblot-semantic-color-status-success)]"},Ti={Person:Ni,Organization:xi,Deal:yi},Pi={Person:"bg-[var(--inkblot-semantic-color-status-info)]/15 text-[var(--inkblot-semantic-color-status-info)]",Organization:"bg-[var(--inkblot-semantic-color-status-warning)]/15 text-[var(--inkblot-semantic-color-status-warning)]",Deal:"bg-[var(--inkblot-semantic-color-status-success)]/15 text-[var(--inkblot-semantic-color-status-success)]"},Mi=[{label:"Contacts",value:"12",icon:Ci},{label:"Open Deals",value:"3",icon:hi},{label:"Touchpoints",value:"47",icon:ki}];function Ae({name:t,entityType:e,subtitle:r,statusLabel:a,metadata:i,edges:n=[],stats:s,connections:l,className:c}){let d=Ti[e];if(s!==void 0||l!==void 0){let m=s??Mi;return K("article",{className:o("glass flex flex-col gap-[var(--inkblot-spacing-4)] rounded-[var(--inkblot-radius-xl)] p-[var(--inkblot-spacing-5)]",c),children:[K("div",{className:"flex items-start justify-between",children:[K("div",{className:"flex items-center gap-[var(--inkblot-spacing-3)]",children:[V("div",{className:"flex h-10 w-10 shrink-0 items-center justify-center rounded-[var(--inkblot-radius-lg)] bg-[var(--inkblot-semantic-color-interactive-primary)]/10",children:V(d,{className:"h-5 w-5 text-[var(--inkblot-semantic-color-interactive-primary)]","aria-hidden":!0})}),K("div",{children:[V("h3",{className:"text-sm font-semibold text-[var(--inkblot-semantic-color-text-primary)]",children:t}),r?V("p",{className:"text-xs text-[var(--inkblot-semantic-color-text-tertiary)]",children:r}):null]})]}),a?V("span",{className:"rounded-[var(--inkblot-radius-sm)] bg-[var(--inkblot-semantic-color-interactive-primary)]/10 px-2 py-0.5 font-mono text-xs text-[var(--inkblot-semantic-color-interactive-primary)]",children:a}):null]}),V("div",{className:"grid grid-cols-3 gap-[var(--inkblot-spacing-3)]",children:m.map(v=>{let p=v.icon;return K("div",{className:"rounded-[var(--inkblot-radius-md)] bg-[var(--inkblot-semantic-color-background-tertiary)] p-[var(--inkblot-spacing-3)]",children:[K("div",{className:"mb-1 flex items-center gap-1.5",children:[p?V(p,{className:"h-3 w-3 text-[var(--inkblot-semantic-color-text-tertiary)]","aria-hidden":!0}):null,V("span",{className:"text-[10px] uppercase tracking-wider text-[var(--inkblot-semantic-color-text-tertiary)]",children:v.label})]}),V("span",{className:"text-lg font-semibold text-[var(--inkblot-semantic-color-text-primary)]",children:v.value})]},v.label)})}),l?K("div",{className:"flex items-center gap-2 text-xs text-[var(--inkblot-semantic-color-text-tertiary)]",children:[V("span",{className:"h-1.5 w-1.5 rounded-full bg-[var(--inkblot-semantic-color-interactive-primary)]"}),l]}):null]})}return K("article",{className:o("flex flex-col gap-[var(--inkblot-spacing-4)] rounded-[var(--inkblot-radius-xl)] border border-[var(--inkblot-semantic-color-border-default)] border-l-4 bg-[var(--inkblot-semantic-color-background-secondary)] p-[var(--inkblot-spacing-4)] shadow-[var(--inkblot-shadow-sm)]",wi[e],c),children:[K("div",{className:"flex items-start justify-between gap-[var(--inkblot-spacing-3)]",children:[K("div",{className:"flex items-center gap-[var(--inkblot-spacing-3)]",children:[V("div",{className:"flex h-10 w-10 shrink-0 items-center justify-center rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-primary)] text-[var(--inkblot-semantic-color-text-secondary)]",children:V(d,{className:"h-5 w-5","aria-hidden":!0})}),K("div",{className:"flex flex-col gap-[var(--inkblot-spacing-1)]",children:[V("h3",{className:"[font:var(--inkblot-semantic-typography-body-medium)] font-semibold text-[var(--inkblot-semantic-color-text-primary)]",children:t}),r?V("p",{className:"text-xs text-[var(--inkblot-semantic-color-text-tertiary)]",children:r}):V("span",{className:o("inline-flex w-fit items-center rounded-[var(--inkblot-radius-full)] px-[var(--inkblot-spacing-2)] py-[var(--inkblot-spacing-1)] [font:var(--inkblot-semantic-typography-body-small)] font-medium uppercase tracking-wide",Pi[e]),children:e})]})]}),a?V("span",{className:"rounded-[var(--inkblot-radius-sm)] bg-[var(--inkblot-semantic-color-interactive-primary)]/10 px-2 py-0.5 font-mono text-xs text-[var(--inkblot-semantic-color-interactive-primary)]",children:a}):null]}),i&&Object.keys(i).length>0?V("dl",{className:"grid grid-cols-1 gap-[var(--inkblot-spacing-2)] sm:grid-cols-2",children:Object.entries(i).map(([m,v])=>K("div",{className:"rounded-[var(--inkblot-radius-md)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-primary)] px-[var(--inkblot-spacing-3)] py-[var(--inkblot-spacing-2)]",children:[V("dt",{className:"[font:var(--inkblot-semantic-typography-body-small)] uppercase tracking-wide text-[var(--inkblot-semantic-color-text-tertiary)]",children:m}),V("dd",{className:"[font:var(--inkblot-semantic-typography-body-medium)] text-[var(--inkblot-semantic-color-text-secondary)]",children:v})]},m))}):null,n.length>0?K("div",{className:"flex flex-col gap-[var(--inkblot-spacing-2)]",children:[V("h4",{className:"[font:var(--inkblot-semantic-typography-body-small)] font-medium uppercase tracking-wide text-[var(--inkblot-semantic-color-text-secondary)]",children:"Edges"}),V("ul",{className:"flex flex-wrap gap-[var(--inkblot-spacing-2)]",children:n.map((m,v)=>K("li",{className:"rounded-[var(--inkblot-radius-full)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-primary)] px-[var(--inkblot-spacing-3)] py-[var(--inkblot-spacing-1)] [font:var(--inkblot-semantic-typography-body-small)] text-[var(--inkblot-semantic-color-text-secondary)]",children:[m.type,m.target?` \u2192 ${m.target}`:""]},v))})]}):null,l?K("div",{className:"flex items-center gap-2 text-xs text-[var(--inkblot-semantic-color-text-tertiary)]",children:[V("span",{className:"h-1.5 w-1.5 rounded-full bg-[var(--inkblot-semantic-color-interactive-primary)]"}),l]}):null]})}import{forwardRef as Si}from"react";import{jsx as Ei}from"react/jsx-runtime";var Pt=Si(({className:t,error:e,disabled:r,...a},i)=>Ei("input",{ref:i,disabled:r,"aria-invalid":e,"aria-disabled":r,className:o("min-h-[var(--inkblot-size-touch-target-min)] w-full rounded-[var(--inkblot-radius-lg)] border bg-[var(--inkblot-semantic-color-background-secondary)] px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)] [font:var(--inkblot-semantic-typography-body-medium)] text-[var(--inkblot-semantic-color-text-primary)] shadow-[var(--inkblot-shadow-xs)] placeholder:text-[var(--inkblot-semantic-color-text-tertiary)] transition-[background,border-color,box-shadow] duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--inkblot-semantic-color-border-focus)] focus-visible:ring-offset-2 focus-visible:ring-offset-[var(--inkblot-semantic-color-background-primary)] disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-[var(--inkblot-opacity-disabled)]",e?"border-[var(--inkblot-semantic-color-status-error)] focus-visible:ring-[var(--inkblot-semantic-color-status-error)]":"border-[var(--inkblot-semantic-color-border-default)] hover:border-[var(--inkblot-semantic-color-border-strong)] hover:bg-[var(--inkblot-semantic-color-background-primary)]",t),...a}));Pt.displayName="Input";import{Component as Li}from"react";import{jsx as gr,jsxs as Ii}from"react/jsx-runtime";var D=class extends Li{constructor(e){super(e),this.state={hasError:!1,error:null}}static getDerivedStateFromError(e){return{hasError:!0,error:e}}render(){return this.state.hasError&&this.state.error?Ii("div",{role:"alert",className:o("flex flex-col gap-4 rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-4",this.props.className),children:[gr("p",{className:"text-base font-semibold text-[var(--inkblot-semantic-color-text-primary)]",children:"This module failed to load"}),gr("p",{className:"text-sm text-[var(--inkblot-semantic-color-text-tertiary)]",children:this.state.error.message}),gr(oe,{variant:"secondary",onClick:this.props.onRetry,className:"w-fit border-[var(--inkblot-semantic-color-status-error)]",children:"Retry"})]}):this.props.children}};import{jsx as st,jsxs as fr}from"react/jsx-runtime";function ko({title:t,insights:e,stats:r=[],commandValue:a="",onCommandChange:i,onCommandSubmit:n,className:s}){let l=c=>{c.key==="Enter"&&(c.preventDefault(),n?.())};return st(D,{className:s,children:fr("div",{className:"flex flex-col gap-4 rounded-[var(--inkblot-radius-xl)] bg-[var(--inkblot-semantic-color-background-secondary)] p-4",children:[st("h2",{className:"text-xl font-semibold text-[var(--inkblot-semantic-color-text-primary)]",children:t}),e?st("div",{className:"rounded-[var(--inkblot-radius-md)] border border-[var(--inkblot-semantic-color-interactive-primary)] p-4",style:{boxShadow:"0 0 12px var(--inkblot-semantic-color-interactive-primary)"},children:e}):null,r.length>0?fr("div",{children:[st("h3",{className:"mb-2 text-sm font-medium text-[var(--inkblot-semantic-color-text-secondary)]",children:"Connected To"}),st("div",{className:"grid grid-cols-2 gap-2 sm:grid-cols-3",children:r.map((c,d)=>fr("div",{className:"rounded-[var(--inkblot-radius-md)] bg-[var(--inkblot-semantic-color-background-tertiary)] px-3 py-2",children:[st("span",{className:"text-xs text-[var(--inkblot-semantic-color-text-tertiary)]",children:c.label}),st("p",{className:"text-sm font-medium text-[var(--inkblot-semantic-color-text-primary)]",children:c.value})]},d))})]}):null,st("div",{className:"mt-2",children:st(Pt,{type:"text",value:a,onChange:c=>i?.(c.target.value),onKeyDown:l,placeholder:"Ask about this entity...",className:"rounded-[var(--inkblot-radius-md)]"})})]})})}import{Component as Ri}from"react";import{jsx as yo}from"react/jsx-runtime";var De=class extends Ri{constructor(e){super(e),this.state={hasError:!1,error:null}}static getDerivedStateFromError(e){return{hasError:!0,error:e}}render(){return this.state.hasError&&this.state.error?this.props.fallback?this.props.fallback:yo("div",{className:o("inline-flex items-center gap-3 rounded-[var(--inkblot-radius-md)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-tertiary)] px-4 py-3 text-[var(--inkblot-semantic-color-text-secondary)]",this.props.className),role:"alert",children:yo("span",{className:"text-sm font-medium",children:"Something went wrong"})}):this.props.children}};import{jsx as Di}from"react/jsx-runtime";var Ai={success:"border-[var(--inkblot-semantic-color-status-success)] bg-[var(--inkblot-semantic-color-status-success)]/10 text-[var(--inkblot-semantic-color-status-success)]",warning:"border-[var(--inkblot-semantic-color-status-warning)] bg-[var(--inkblot-semantic-color-status-warning)]/10 text-[var(--inkblot-semantic-color-status-warning)]",error:"border-[var(--inkblot-semantic-color-status-error)] bg-[var(--inkblot-semantic-color-status-error)]/10 text-[var(--inkblot-semantic-color-status-error)]",info:"border-[var(--inkblot-semantic-color-status-info)] bg-[var(--inkblot-semantic-color-status-info)]/10 text-[var(--inkblot-semantic-color-status-info)]"};function He({label:t,variant:e="info",className:r}){return Di("span",{className:o("inline-flex items-center rounded-[var(--inkblot-radius-md)] border px-2 py-0.5 text-xs font-medium",Ai[e],r),children:t})}import{jsx as zt,jsxs as Bi}from"react/jsx-runtime";function Hi(t){return t>=.8?"success":t>=.5?"info":t>=.2?"warning":"error"}function Be({event:t,className:e}){let r=Hi(t.confidence_score),a=`${Math.round(t.confidence_score*100)}%`;return Bi("div",{className:o("flex flex-wrap items-center gap-2 rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-4",e),children:[zt("span",{className:"text-sm font-medium text-[var(--inkblot-semantic-color-text-primary)]",children:t.actor}),zt("span",{className:"text-sm text-[var(--inkblot-semantic-color-text-tertiary)]",children:"\u2192"}),zt("span",{className:"text-sm text-[var(--inkblot-semantic-color-text-secondary)]",children:t.subject}),zt("span",{className:"rounded-[var(--inkblot-radius-md)] bg-[var(--inkblot-semantic-color-background-tertiary)] px-2 py-0.5 text-xs text-[var(--inkblot-semantic-color-text-secondary)]",children:t.event_type}),zt("span",{className:"text-xs text-[var(--inkblot-semantic-color-text-tertiary)]",children:t.timestamp}),zt(He,{label:a,variant:r})]})}import{Clock3 as zi}from"lucide-react";import{jsx as pt,jsxs as xo}from"react/jsx-runtime";var Vi={success:"bg-[var(--inkblot-semantic-color-status-success)]",warning:"bg-[var(--inkblot-semantic-color-status-warning)]",error:"bg-[var(--inkblot-semantic-color-status-error)]",info:"bg-[var(--inkblot-semantic-color-status-info)]"};function Oi(){return pt(zi,{className:"h-4 w-4 text-[var(--inkblot-semantic-color-text-tertiary)]","aria-hidden":!0})}function ho({events:t,className:e}){return pt(D,{className:e,children:pt("div",{className:o("flex flex-col gap-[var(--inkblot-spacing-3)] rounded-[var(--inkblot-radius-xl)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-[var(--inkblot-spacing-4)] shadow-[var(--inkblot-shadow-sm)]"),children:t.map(r=>xo("div",{className:"flex items-start gap-[var(--inkblot-spacing-3)] rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)]/60 bg-[var(--inkblot-semantic-color-background-primary)] px-[var(--inkblot-spacing-3)] py-[var(--inkblot-spacing-2)]",children:[pt("div",{className:"mt-[var(--inkblot-spacing-1)] flex h-7 w-7 shrink-0 items-center justify-center rounded-[var(--inkblot-radius-md)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)]",children:r.icon??pt(Oi,{})}),xo("div",{className:"min-w-0 flex-1",children:[pt("p",{className:"[font:var(--inkblot-semantic-typography-body-medium)] font-medium text-[var(--inkblot-semantic-color-text-primary)]",children:r.title}),pt("p",{className:"[font:var(--inkblot-semantic-typography-body-small)] text-[var(--inkblot-semantic-color-text-tertiary)]",children:r.timestamp})]}),r.status?pt("div",{className:o("mt-[var(--inkblot-spacing-2)] h-2 w-2 shrink-0 rounded-[var(--inkblot-radius-full)]",Vi[r.status]),"aria-hidden":!0}):null]},r.id))})})}import{TrendingDown as Fi,TrendingUp as Gi}from"lucide-react";import{jsx as bt,jsxs as ne}from"react/jsx-runtime";var yr=36,kr=2*Math.PI*yr;function ze({label:t,value:e,subtext:r,trend:a,className:i}){let n=Math.min(100,Math.max(0,e)),s=kr-n/100*kr;return bt(D,{className:i,children:ne("div",{className:"flex flex-col items-center gap-[var(--inkblot-spacing-4)] rounded-[var(--inkblot-radius-xl)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-[var(--inkblot-spacing-4)] shadow-[var(--inkblot-shadow-sm)]",children:[ne("div",{className:"relative",children:[ne("svg",{width:"96",height:"96",viewBox:"0 0 96 96",className:"-rotate-90",children:[bt("circle",{cx:"48",cy:"48",r:yr,fill:"none",stroke:"var(--inkblot-semantic-color-background-tertiary)",strokeWidth:"4"}),bt("circle",{cx:"48",cy:"48",r:yr,fill:"none",stroke:"var(--inkblot-semantic-color-interactive-primary)",strokeWidth:"4",strokeDasharray:kr,strokeDashoffset:s,strokeLinecap:"round",className:"transition-[stroke-dashoffset] duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)]"})]}),bt("div",{className:"absolute inset-0 flex flex-col items-center justify-center",children:ne("span",{className:"flex items-center gap-[var(--inkblot-spacing-1)] [font:var(--inkblot-semantic-typography-heading-small)] font-semibold text-[var(--inkblot-semantic-color-text-primary)]",children:[n,"%",a==="up"?bt(Gi,{className:"h-4 w-4 text-[var(--inkblot-semantic-color-status-success)]","aria-hidden":!0}):a==="down"?bt(Fi,{className:"h-4 w-4 text-[var(--inkblot-semantic-color-status-error)]","aria-hidden":!0}):null]})})]}),ne("div",{className:"text-center",children:[bt("p",{className:"[font:var(--inkblot-semantic-typography-body-medium)] font-semibold text-[var(--inkblot-semantic-color-text-primary)]",children:t}),r?bt("p",{className:"[font:var(--inkblot-semantic-typography-body-small)] text-[var(--inkblot-semantic-color-text-tertiary)]",children:r}):null]})]})})}import{jsx as Mt,jsxs as _i}from"react/jsx-runtime";var Wi={default:"text-[var(--inkblot-semantic-color-text-primary)]",success:"text-[var(--inkblot-semantic-color-status-success)]",warning:"text-[var(--inkblot-semantic-color-status-warning)]",error:"text-[var(--inkblot-semantic-color-status-error)]"};function $i({className:t}){return Mt("svg",{viewBox:"0 0 16 16",className:o("h-4 w-4",t),"aria-hidden":!0,children:Mt("path",{fill:"currentColor",d:"M6 4l4 4-4 4V4z"})})}function No({items:t,className:e}){return Mt(D,{className:e,children:Mt("ul",{className:o("flex flex-col gap-4 py-2"),children:t.map((r,a)=>_i("li",{className:"flex items-center justify-between gap-4",children:[Mt("span",{className:"text-sm text-[var(--inkblot-semantic-color-text-secondary)]",children:r.label}),Mt("span",{className:o("flex items-center gap-1 text-sm font-medium",Wi[r.variant??"default"]),children:r.value!=null?r.value:Mt($i,{})})]},a))})})}import{jsx as Ki}from"react/jsx-runtime";function ut({className:t,...e}){return Ki("div",{className:o("animate-shimmer rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)]/40 bg-[length:200%_100%] bg-[linear-gradient(90deg,var(--inkblot-semantic-color-background-secondary)_0%,var(--inkblot-semantic-color-background-tertiary)_50%,var(--inkblot-semantic-color-background-secondary)_100%)]",t),...e})}import{jsx as ie,jsxs as ji}from"react/jsx-runtime";function Vt({className:t,...e}){return ji("div",{className:o("flex flex-col gap-[var(--inkblot-spacing-3)] rounded-[var(--inkblot-radius-xl)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-[var(--inkblot-spacing-4)] shadow-[var(--inkblot-shadow-sm)]",t),...e,children:[ie(ut,{className:"h-8 w-3/5"}),ie(ut,{className:"h-4 w-full"}),ie(ut,{className:"h-4 w-11/12"}),ie(ut,{className:"h-4 w-4/5"}),ie(ut,{className:"h-4 w-2/3"})]})}import{jsx as Ve,jsxs as Co}from"react/jsx-runtime";function Oe({children:t,loading:e=!1,title:r,className:a,onRetry:i}){return Ve(D,{className:a,onRetry:i,children:e?Co("div",{className:o("flex flex-col gap-4",a),children:[r?Ve("h2",{className:"text-lg font-semibold text-[var(--inkblot-semantic-color-text-primary)]",children:r}):null,Ve(Vt,{})]}):Co("div",{className:o("flex flex-col gap-4",a),children:[r?Ve("h2",{className:"text-lg font-semibold text-[var(--inkblot-semantic-color-text-primary)]",children:r}):null,t]})})}import{Plus as Ui}from"lucide-react";import{jsx as se,jsxs as Fe}from"react/jsx-runtime";function Ot({title:t,subtitle:e,icon:r,action:a,className:i}){return Fe("header",{className:o("flex flex-col gap-2 sm:flex-row sm:items-start sm:justify-between","pb-[var(--inkblot-spacing-2)]",i),children:[Fe("div",{className:"flex items-start gap-[var(--inkblot-spacing-3)]",children:[r?se("div",{className:o("flex h-10 w-10 shrink-0 items-center justify-center rounded-[var(--inkblot-radius-lg)]","bg-[var(--inkblot-semantic-color-background-secondary)]","[color:var(--inkblot-semantic-color-status-warning)]"),children:r}):null,Fe("div",{className:"min-w-0",children:[se("h1",{className:o("text-[var(--inkblot-semantic-color-text-primary)]","[font:var(--inkblot-semantic-typography-heading-medium)]"),children:t}),e?se("p",{className:o("mt-0.5 text-[var(--inkblot-semantic-color-text-secondary)]","[font:var(--inkblot-semantic-typography-body-small)]"),children:e}):null]})]}),a?se("div",{className:"mt-[var(--inkblot-spacing-4)] shrink-0 sm:mt-0",children:a}):null]})}function Ft({label:t,onClick:e,icon:r,className:a}){return Fe("button",{type:"button",onClick:e,className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center gap-2 rounded-[var(--inkblot-radius-lg)] px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)]","bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)]","[font:var(--inkblot-semantic-typography-body-medium)] font-semibold","hover:bg-[var(--inkblot-semantic-color-interactive-primary-hover)] active:bg-[var(--inkblot-semantic-color-interactive-primary-active)]","focus:outline-none focus:ring-2 focus:ring-[var(--inkblot-semantic-color-border-focus)] focus:ring-offset-2 focus:ring-offset-[var(--inkblot-semantic-color-background-primary)]","transition-colors duration-[var(--inkblot-duration-fast)]",a),children:[r??se(Ui,{className:"h-4 w-4"}),t]})}import{Link as qi}from"react-router-dom";import{jsx as xr,jsxs as wo}from"react/jsx-runtime";function Ge({resetErrorBoundary:t}){return wo("div",{role:"alert",className:o("flex min-h-[50vh] flex-col items-center justify-center gap-[var(--inkblot-spacing-6)] px-[var(--inkblot-spacing-6)] py-[var(--inkblot-spacing-8)]","bg-[var(--inkblot-semantic-color-background-primary)]","[font:var(--inkblot-semantic-typography-body-small)]"),children:[xr("p",{className:"text-center text-[var(--inkblot-semantic-color-text-primary)] [font:var(--inkblot-semantic-typography-heading-medium)]",children:"Esta p\xE1gina no est\xE1 disponible"}),wo("div",{className:"flex flex-col items-center gap-[var(--inkblot-spacing-4)] sm:flex-row",children:[xr("button",{type:"button",onClick:t,className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center rounded-[var(--inkblot-radius-lg)] px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)]","bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)]","hover:bg-[var(--inkblot-semantic-color-interactive-primary-hover)] active:bg-[var(--inkblot-semantic-color-interactive-primary-active)]","focus:outline-none focus:ring-2 focus:ring-[var(--inkblot-semantic-color-border-focus)] focus:ring-offset-2 focus:ring-offset-[var(--inkblot-semantic-color-background-primary)]","transition-colors duration-[var(--inkblot-duration-fast)]"),children:"Reintentar"}),xr(qi,{to:"/",className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center rounded-[var(--inkblot-radius-lg)] px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)]","text-[var(--inkblot-semantic-color-interactive-primary)] underline-offset-4 hover:underline","focus:outline-none focus:ring-2 focus:ring-[var(--inkblot-semantic-color-border-focus)] focus:ring-offset-2 focus:ring-offset-[var(--inkblot-semantic-color-background-primary)]","transition-colors duration-[var(--inkblot-duration-fast)]"),children:"Ir al inicio"})]})]})}import{ErrorBoundary as Yi}from"react-error-boundary";import{useNavigate as Xi}from"react-router-dom";import{jsx as Zi}from"react/jsx-runtime";function To({children:t,fallback:e}){let r=Xi();return Zi(Yi,{FallbackComponent:e??Ge,onReset:()=>{r("/")},children:t})}import{forwardRef as Qi}from"react";import{Search as Ji}from"lucide-react";import{jsx as hr,jsxs as Po}from"react/jsx-runtime";var vt=Qi(({className:t,label:e,error:r,disabled:a,...i},n)=>Po("div",{className:"flex flex-col gap-1",children:[e?hr("label",{htmlFor:i.id,className:o("uppercase tracking-wider","[font:var(--inkblot-semantic-typography-body-small)]","text-[var(--inkblot-semantic-color-text-primary)]"),children:e}):null,Po("div",{className:o("flex items-center gap-2 rounded-[var(--inkblot-radius-full)]","bg-[var(--inkblot-semantic-color-background-secondary)]","border transition-colors duration-[var(--inkblot-duration-fast)]","focus-within:ring-2 focus-within:ring-[var(--inkblot-semantic-color-border-focus)] focus-within:ring-offset-2 focus-within:ring-offset-[var(--inkblot-semantic-color-background-primary)]",r?"border-[var(--inkblot-semantic-color-status-error)]":"border-[var(--inkblot-semantic-color-border-default)] hover:border-[var(--inkblot-semantic-color-border-strong)]",a&&"opacity-[var(--inkblot-opacity-disabled)] pointer-events-none cursor-not-allowed"),children:[hr(Ji,{className:o("ml-[var(--inkblot-spacing-4)] h-4 w-4 shrink-0","text-[var(--inkblot-semantic-color-text-tertiary)]")}),hr("input",{ref:n,type:"search",disabled:a,"aria-invalid":r,"aria-label":e??"Search",className:o("min-h-[var(--inkblot-size-touch-target-min)] w-full flex-1 bg-transparent px-2 py-[var(--inkblot-spacing-2)] pr-[var(--inkblot-spacing-4)]","[font:var(--inkblot-semantic-typography-body-medium)]","text-[var(--inkblot-semantic-color-text-primary)] placeholder:text-[var(--inkblot-semantic-color-text-tertiary)]","focus:outline-none","disabled:cursor-not-allowed",t),...i})]})]}));vt.displayName="SearchBar";import{jsx as ts}from"react/jsx-runtime";function Mo({children:t,columns:e=4,className:r}){return ts("div",{className:o("grid gap-[var(--inkblot-spacing-4)]",{1:"grid-cols-1",2:"grid-cols-1 sm:grid-cols-2",3:"grid-cols-1 sm:grid-cols-2 lg:grid-cols-3",4:"grid-cols-1 sm:grid-cols-2 lg:grid-cols-4"}[e],r),children:t})}import{useCallback as es,useMemo as rs,useState as os}from"react";import{jsx as le,jsxs as as}from"react/jsx-runtime";function So({items:t,activeItemId:e,defaultActiveItemId:r,onActiveItemChange:a,onItemClick:i,className:n}){let s=rs(()=>r!==void 0?r:t.find(v=>v.active)?.id,[r,t]),[l,c]=os(s),d=e!==void 0,b=d?e:l,m=es((v,p)=>{if(p.disabled){v.preventDefault();return}d||c(p.id),i?.(p.id,p),p.onClick?.(p.id),a?.(p.id,p)},[d,a,i]);return le(D,{className:n,children:le("nav",{className:o("flex w-16 flex-col items-center gap-[var(--inkblot-spacing-2)] border-r border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] px-[var(--inkblot-spacing-2)] py-[var(--inkblot-spacing-4)]"),"aria-label":"Navigation",children:t.map(v=>{let p=b?v.id===b:!!v.active;return as("button",{type:"button",disabled:v.disabled,onClick:g=>m(g,v),"aria-current":p?"page":void 0,className:o("relative flex w-full flex-col items-center gap-[var(--inkblot-spacing-1)] rounded-[var(--inkblot-radius-lg)] border border-transparent px-[var(--inkblot-spacing-2)] py-[var(--inkblot-spacing-2)] transition-[background,border-color,color] duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)]",p?"border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-primary)] text-[var(--inkblot-semantic-color-interactive-primary)]":"text-[var(--inkblot-semantic-color-text-tertiary)] hover:bg-[var(--inkblot-semantic-color-background-primary)] hover:text-[var(--inkblot-semantic-color-text-secondary)]","disabled:pointer-events-none disabled:opacity-[var(--inkblot-opacity-disabled)]"),children:[p?le("span",{className:"absolute left-[-0.5rem] top-1/2 h-6 w-1 -translate-y-1/2 rounded-r-[var(--inkblot-radius-full)] bg-[var(--inkblot-semantic-color-interactive-primary)]","aria-hidden":!0}):null,le("div",{className:"flex h-8 w-8 items-center justify-center [&>svg]:h-5 [&>svg]:w-5",children:v.icon}),v.label?le("span",{className:"[font:var(--inkblot-semantic-typography-body-small)] font-medium",children:v.label}):null]},v.id)})})})}import{jsx as Z,jsxs as Nr}from"react/jsx-runtime";var Eo={success:"text-[var(--inkblot-semantic-color-status-success)]",error:"text-[var(--inkblot-semantic-color-status-error)]",neutral:"text-[var(--inkblot-semantic-color-text-secondary)]"};function We({items:t,className:e}){return Z("div",{className:o("grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-4",e),children:t.map(r=>Z(ns,{item:r},r.label))})}function ns({item:t}){let e=t.changeVariant??"neutral",r=Eo[e];return Nr("div",{className:o("flex flex-col gap-1 rounded-[var(--inkblot-radius-lg)]","bg-[var(--inkblot-semantic-color-background-secondary)]","px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-4)]","border border-[var(--inkblot-semantic-color-border-subtle)]"),children:[Z("span",{className:o("uppercase tracking-wider","[font:var(--inkblot-semantic-typography-body-small)]","text-[var(--inkblot-semantic-color-text-secondary)]"),children:t.label}),Z("span",{className:o("[font:var(--inkblot-semantic-typography-heading-medium)]","text-[var(--inkblot-semantic-color-text-primary)]"),children:t.value}),t.change?Z("span",{className:o("[font:var(--inkblot-semantic-typography-body-small)]",r),children:t.change}):null]})}function Lo({items:t,className:e}){return Z("div",{className:o("grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-4",e),children:t.map(r=>Z(is,{item:r},r.label))})}function is({item:t}){let e=t.changeVariant??"neutral",r=Eo[e],a=t.chartData??[],i=Math.max(...a,1);return Nr("div",{className:o("flex flex-col gap-2 rounded-[var(--inkblot-radius-lg)]","bg-[var(--inkblot-semantic-color-background-secondary)]","px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-4)]","border border-[var(--inkblot-semantic-color-border-subtle)]"),children:[Z("span",{className:o("uppercase tracking-wider","[font:var(--inkblot-semantic-typography-body-small)]","text-[var(--inkblot-semantic-color-text-secondary)]"),children:t.label}),Nr("div",{className:"flex items-end justify-between gap-2",children:[Z("span",{className:o("[font:var(--inkblot-semantic-typography-heading-medium)]","text-[var(--inkblot-semantic-color-text-primary)]"),children:t.value}),a.length>0?Z("div",{className:"flex h-8 items-end gap-0.5",children:a.map((n,s)=>Z("div",{className:"w-1 min-w-[2px] rounded-sm bg-[var(--inkblot-semantic-color-interactive-primary)] opacity-80",style:{height:`${n/i*100}%`,minHeight:4}},s))}):null]}),t.change?Z("span",{className:o("[font:var(--inkblot-semantic-typography-body-small)]",r),children:t.change}):null]})}import{jsx as Io,jsxs as ss}from"react/jsx-runtime";function $e({tabs:t,activeTabId:e,onTabChange:r,className:a}){return Io("nav",{role:"tablist","aria-label":"Tabs",className:o("flex gap-0 pt-[var(--inkblot-spacing-2)]",a),children:t.map(i=>{let n=i.id===e;return ss("button",{role:"tab","aria-selected":n,"aria-controls":`panel-${i.id}`,id:`tab-${i.id}`,type:"button",onClick:()=>r(i.id),className:o("relative px-[var(--inkblot-spacing-5)] py-[var(--inkblot-spacing-4)]","[font:var(--inkblot-semantic-typography-body-medium)]","transition-colors duration-[var(--inkblot-duration-fast)]","focus:outline-none focus:ring-2 focus:ring-[var(--inkblot-semantic-color-border-focus)] focus:ring-offset-2 focus:ring-offset-[var(--inkblot-semantic-color-background-primary)]",n?["font-semibold text-[var(--inkblot-semantic-color-text-primary)]","bg-[var(--inkblot-semantic-color-background-secondary)]","rounded-t-[var(--inkblot-radius-lg)]"]:["text-[var(--inkblot-semantic-color-text-secondary)]","hover:text-[var(--inkblot-semantic-color-text-primary)]","hover:bg-[var(--inkblot-semantic-color-background-secondary)]/50"]),children:[i.label,n?Io("span",{className:"absolute bottom-0 left-0 right-0 h-0.5 rounded-full bg-[var(--inkblot-semantic-color-interactive-primary)]","aria-hidden":!0}):null]},i.id)})})}import{Calendar as ls,Check as cs,User as ds}from"lucide-react";import{jsx as St,jsxs as ce}from"react/jsx-runtime";var ms={urgent:"bg-[var(--inkblot-semantic-color-status-error)]/20 text-[var(--inkblot-semantic-color-status-error)] border-[var(--inkblot-semantic-color-status-error)]/30",high:"bg-[var(--inkblot-semantic-color-status-warning)]/20 text-[var(--inkblot-semantic-color-status-warning)] border-[var(--inkblot-semantic-color-status-warning)]/30",medium:"bg-[var(--inkblot-semantic-color-status-success)]/10 text-[var(--inkblot-semantic-color-status-success)] border-[var(--inkblot-semantic-color-status-success)]/30",low:"bg-[var(--inkblot-semantic-color-background-tertiary)] text-[var(--inkblot-semantic-color-text-secondary)] border-[var(--inkblot-semantic-color-border-subtle)]"};function _e({id:t,title:e,company:r,priority:a,date:i,assignee:n,completed:s=!1,onToggle:l,onClick:c,className:d}){let b=ms[a];return ce("div",{role:"button",tabIndex:0,onClick:()=>c?.(t),onKeyDown:m=>{(m.key==="Enter"||m.key===" ")&&(m.preventDefault(),c?.(t))},className:o("flex items-center gap-[var(--inkblot-spacing-4)] rounded-[var(--inkblot-radius-lg)]","border border-[var(--inkblot-semantic-color-border-subtle)]","bg-[var(--inkblot-semantic-color-background-secondary)]","px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-3)]","transition-colors duration-[var(--inkblot-duration-fast)]","hover:border-[var(--inkblot-semantic-color-border-default)] hover:bg-[var(--inkblot-semantic-color-background-tertiary)]","focus:outline-none focus:ring-2 focus:ring-[var(--inkblot-semantic-color-border-focus)] focus:ring-offset-2 focus:ring-offset-[var(--inkblot-semantic-color-background-primary)]","cursor-pointer",d),children:[St("button",{type:"button",onClick:m=>{m.stopPropagation(),l?.(t)},"aria-label":s?"Mark as incomplete":"Mark as complete","aria-pressed":s,className:o("flex h-5 w-5 shrink-0 items-center justify-center rounded-full","transition-colors duration-[var(--inkblot-duration-fast)]","focus:outline-none focus:ring-2 focus:ring-[var(--inkblot-semantic-color-border-focus)] focus:ring-offset-2 focus:ring-offset-[var(--inkblot-semantic-color-background-primary)]",s?"bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)]":"border-2 border-[var(--inkblot-semantic-color-border-default)] bg-transparent"),children:s?St(cs,{className:"h-3 w-3",strokeWidth:3}):null}),ce("div",{className:"min-w-0 flex-1",children:[St("p",{className:o("[font:var(--inkblot-semantic-typography-body-large-bold)]","text-[var(--inkblot-semantic-color-text-primary)]",s&&"line-through text-[var(--inkblot-semantic-color-text-secondary)]"),children:e}),St("p",{className:o("mt-0.5 [font:var(--inkblot-semantic-typography-body-small)]","text-[var(--inkblot-semantic-color-text-secondary)]",s&&"line-through"),children:r})]}),ce("div",{className:"flex shrink-0 flex-wrap items-center justify-end gap-[var(--inkblot-spacing-3)]",children:[St("span",{className:o("rounded-[var(--inkblot-radius-md)] border px-[var(--inkblot-spacing-2)] py-[var(--inkblot-spacing-1)]","[font:var(--inkblot-semantic-typography-body-small)] font-medium",b),children:a.charAt(0).toUpperCase()+a.slice(1)}),ce("span",{className:o("flex items-center gap-1","[font:var(--inkblot-semantic-typography-body-small)]","text-[var(--inkblot-semantic-color-text-primary)]"),children:[St(ls,{className:"h-4 w-4 shrink-0 text-[var(--inkblot-semantic-color-text-tertiary)]"}),i]}),ce("span",{className:o("flex items-center gap-1","[font:var(--inkblot-semantic-typography-body-small)]","text-[var(--inkblot-semantic-color-text-primary)]"),children:[St(ds,{className:"h-4 w-4 shrink-0 text-[var(--inkblot-semantic-color-text-tertiary)]"}),n]})]})]})}import{CircleDot as ps,Clock as bs,CheckCircle as us}from"lucide-react";import{jsx as Gt,jsxs as Ro}from"react/jsx-runtime";var vs={todo:ps,in_progress:bs,done:us};function Ke({sections:t,onTaskToggle:e,onTaskClick:r,className:a}){return Gt("div",{className:o("flex flex-col gap-[var(--inkblot-spacing-8)]",a),children:t.map(i=>{let n=vs[i.id],s=i.id==="done";return Ro("section",{className:"flex flex-col gap-[var(--inkblot-spacing-4)]",children:[Ro("div",{className:"flex items-center gap-[var(--inkblot-spacing-3)]",children:[Gt(n,{className:o("h-5 w-5 shrink-0",s?"text-[var(--inkblot-semantic-color-interactive-primary)]":"text-[var(--inkblot-semantic-color-text-secondary)]")}),Gt("h2",{className:o("[font:var(--inkblot-semantic-typography-body-large-bold)]","text-[var(--inkblot-semantic-color-text-primary)]"),children:i.label}),Gt("span",{className:o("rounded-[var(--inkblot-radius-full)] px-[var(--inkblot-spacing-2)] py-[var(--inkblot-spacing-1)]","bg-[var(--inkblot-semantic-color-background-secondary)]","[font:var(--inkblot-semantic-typography-body-small)] font-medium","text-[var(--inkblot-semantic-color-text-primary)]"),children:i.count})]}),Gt("div",{className:"flex flex-col gap-[var(--inkblot-spacing-3)]",children:i.tasks.map(l=>Gt(_e,{...l,completed:s,onToggle:e,onClick:r},l.id))})]},i.id)})})}import{Mail as Ao,FileText as je,Zap as gs,Phone as Do,Link2 as fs}from"lucide-react";import{jsx as rt,jsxs as Ho}from"react/jsx-runtime";function ks(t){return t>=.8?"bg-[var(--inkblot-semantic-color-status-success)]":t>=.5?"bg-[var(--inkblot-semantic-color-status-info)]":t>=.2?"bg-[var(--inkblot-semantic-color-status-warning)]":"bg-[var(--inkblot-semantic-color-status-error)]"}var ys={EMAIL_OPENED:Ao,EMAIL_SENT:Ao,INVOICE_PAID:je,INVOICE_OVERDUE:je,CONTRACT_SIGNED:je,STAGE_CHANGED:gs,CALL_COMPLETED:Do,PHONE_CALL:Do,RELATIONSHIP_DETECTED:fs};function xs(t){return ys[t]??je}function hs(t){return t.metadata?.description??t.event_type.replace(/_/g," ").toLowerCase()}function Ns(t){return t.metadata?.details??`${t.actor} - ${t.subject}`}function Ue({events:t,onEntitySelect:e,findEntity:r,emptyMessage:a="No hay actividad reciente",className:i}){let n=e?s=>{let l=r?.(s.subject)??r?.(s.actor);l&&e(l)}:void 0;return rt(D,{children:rt("div",{className:o("space-y-2",i),children:t.length===0?rt("p",{className:"py-6 text-center text-sm text-[var(--inkblot-semantic-color-text-tertiary)]",children:a}):t.map(s=>{let c=!!(r?.(s.subject)??r?.(s.actor))&&!!n,d=xs(s.event_type),b=Ho("div",{className:"flex flex-1 items-center gap-3",children:[rt(d,{className:"h-4 w-4 shrink-0 text-[var(--inkblot-semantic-color-text-secondary)]","aria-hidden":!0}),rt("div",{className:`h-2 w-2 shrink-0 rounded-full ${ks(s.confidence_score)}`,"aria-hidden":!0}),Ho("div",{className:"min-w-0 flex-1",children:[rt("p",{className:"text-sm font-medium text-[var(--inkblot-semantic-color-text-primary)]",children:hs(s)}),rt("p",{className:"text-xs text-[var(--inkblot-semantic-color-text-secondary)]",children:Ns(s)})]}),rt("span",{className:"shrink-0 text-xs text-[var(--inkblot-semantic-color-text-tertiary)]",children:s.timestamp})]}),m=s.id??`${s.actor}-${s.subject}-${s.timestamp}`;return rt("div",{children:c?rt("button",{type:"button",onClick:()=>n(s),className:"flex w-full items-center gap-3 rounded-[var(--inkblot-radius-md)] bg-[var(--inkblot-semantic-color-background-secondary)] p-3 text-left transition-colors duration-[var(--inkblot-duration-fast)] hover:bg-[var(--inkblot-semantic-color-background-tertiary)] focus:outline-none focus:ring-2 focus:ring-[var(--inkblot-semantic-color-border-focus)] focus:ring-offset-2 focus:ring-offset-[var(--inkblot-semantic-color-background-primary)]",children:b}):rt("div",{className:"flex w-full items-center gap-3 rounded-[var(--inkblot-radius-md)] bg-[var(--inkblot-semantic-color-background-secondary)] p-3",children:b})},m)})})})}import{NavLink as Cs}from"react-router-dom";import{ClipboardList as ws,Brain as Ts,BarChart3 as Ps,Network as Ms,Activity as Ss,Settings as Es,Sparkles as Ls}from"lucide-react";import{jsx as Et,jsxs as Rs}from"react/jsx-runtime";var Is=[{id:"home",path:"/",icon:ws,label:"Home"},{id:"intelligence",path:"/intelligence",icon:Ts,label:"Intelligence"},{id:"pipeline",path:"/pipeline",icon:Ps,label:"Pipeline"},{id:"graph",path:"/graph",icon:Ms,label:"Graph"},{id:"events",path:"/events",icon:Ss,label:"Events"},{id:"settings",path:"/settings",icon:Es,label:"Settings"}];function Bo({items:t=Is,brandLogo:e,brandTitle:r="Command Canvas \u2014 AI-native Interface",className:a}){return Et(D,{children:Rs("nav",{className:o("flex h-full flex-col gap-[var(--inkblot-spacing-4)] border-r border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-[var(--inkblot-spacing-3)]",a),children:[Et("div",{className:"flex flex-col items-center gap-2",children:Et("div",{className:"flex h-11 w-11 shrink-0 items-center justify-center rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-primary)] shadow-[var(--inkblot-shadow-sm)]",title:r,children:e??Et(Ls,{className:"h-5 w-5 text-[var(--inkblot-semantic-color-interactive-primary)]","aria-hidden":!0})})}),Et("div",{className:"flex flex-1 flex-col gap-[var(--inkblot-spacing-2)]",children:t.map(i=>{let n=i.icon;return Et(Cs,{to:i.path,end:i.path==="/","aria-label":i.label,className:({isActive:s})=>`flex items-center justify-center gap-[var(--inkblot-spacing-2)] rounded-[var(--inkblot-radius-lg)] border border-transparent px-[var(--inkblot-spacing-2)] py-[var(--inkblot-spacing-2)] transition-[background,border-color,color] duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)] ${s?"border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-primary)] text-[var(--inkblot-semantic-color-interactive-primary)]":"text-[var(--inkblot-semantic-color-text-secondary)] hover:border-[var(--inkblot-semantic-color-border-default)]/60 hover:bg-[var(--inkblot-semantic-color-background-primary)]"}`,children:Et(n,{size:20,"aria-hidden":!0})},i.id)})})]})})}import{useState as qe,useCallback as As,useRef as Ds,useEffect as Hs}from"react";import{jsx as $,jsxs as Ye}from"react/jsx-runtime";function Bs(t){let e=t.toLowerCase();return e.includes("entity")||e.includes("company")||e.includes("person")||e.includes("deal")||e.includes("profile")||e.includes("org")?"entity":e.includes("event")||e.includes("activity")||e.includes("recent")||e.includes("stream")||e.includes("log")?"event":"general"}function zs({entities:t}){let e=t[0];return e?Ye("div",{className:"space-y-3",children:[$("p",{className:"text-sm text-[var(--inkblot-semantic-color-text-secondary)]",children:"Here's the entity profile and current intelligence scores:"}),$(Ae,{name:e.name,entityType:e.type,metadata:e.metadata,edges:[{type:"WORKS_WITH",target:t[1]?.name},{type:"MANAGES",target:t[4]?.name}]})]}):null}function Vs({events:t}){return Ye("div",{className:"space-y-2",children:[$("p",{className:"text-sm text-[var(--inkblot-semantic-color-text-secondary)]",children:"Latest activity from the event bus:"}),t.slice(0,5).map(e=>$(Be,{event:e},e.id??`${e.actor}-${e.subject}-${e.timestamp}`))]})}function Os(){return $("p",{className:"text-sm text-[var(--inkblot-semantic-color-text-primary)]",children:"Revenue confidence is trending upward at 78%. Momentum score increased 12% this week driven by 3 new meetings with Acme Corp. Churn risk remains low at 15% across the active pipeline."})}function zo({entities:t,events:e,onFocusEntity:r,findEntity:a,placeholder:i="Ask anything \u2014 deals, contacts, forecasts...",emptyMessage:n="Escribe para comenzar...",className:s}){let[l,c]=qe(""),[d,b]=qe([]),[m,v]=qe(!1),[p,g]=qe(new Map),C=Ds(null);Hs(()=>{C.current&&(C.current.scrollTop=C.current.scrollHeight)},[d,m]);let w=As(()=>{let N=l.trim();if(!N||m)return;let T=a?.(N);T&&r&&r(T);let h={id:`msg-${Date.now()}`,role:"user",content:N,timestamp:new Date().toISOString()},y=Bs(N);b(k=>[...k,h]),c(""),v(!0),setTimeout(()=>{let k={id:`msg-${Date.now()}-res`,role:"assistant",content:"",intent:y,timestamp:new Date().toISOString()},u;switch(y){case"entity":u=$(zs,{entities:t});break;case"event":u=$(Vs,{events:e});break;default:u=$(Os,{})}g(x=>{let P=new Map(x);return P.set(k.id,u),P}),b(x=>[...x,k]),v(!1)},1e3)},[l,m,t,e,r,a]);return Ye("div",{className:o("flex h-full flex-col",s),children:[Ye("div",{ref:C,className:"flex-1 space-y-4 overflow-y-auto p-4",children:[d.length===0&&!m?$("div",{className:"flex flex-1 items-center justify-center py-12",children:$("p",{className:"text-sm text-[var(--inkblot-semantic-color-text-tertiary)]",children:n})}):d.map(N=>$("div",{className:"flex flex-col gap-2",children:N.role==="user"?$("div",{className:"flex justify-end",children:$("div",{className:"max-w-[80%] rounded-[var(--inkblot-radius-lg)] bg-[var(--inkblot-semantic-color-interactive-primary)] px-4 py-3 text-sm text-[var(--inkblot-semantic-color-text-primary)]",children:N.content})}):$("div",{className:"max-w-[90%]",children:p.get(N.id)??$("p",{className:"text-sm text-[var(--inkblot-semantic-color-text-primary)]",children:N.content})})},N.id)),m&&$("div",{className:"max-w-[70%]",children:$(Vt,{className:"animate-shimmer"})})]}),$("div",{className:"shrink-0 border-t border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-primary)] p-4",children:$(Bt,{promptValue:l,onPromptChange:c,onPromptSubmit:w,isProcessing:m,placeholder:i})})]})}import{Sparkles as Fs}from"lucide-react";import{jsx as de,jsxs as Vo}from"react/jsx-runtime";function Oo({prompt:t,onPromptChange:e,onSubmit:r,isProcessing:a,placeholder:i="Ask anything \u2014 deals, contacts, forecasts...",subtitle:n="Citron OS v1.0 \u2014 AI-native Revenue & Operations Platform",className:s}){return Vo("div",{className:o("border-t border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] px-[var(--inkblot-spacing-6)] py-[var(--inkblot-spacing-4)]",s),children:[Vo("div",{className:"flex items-start gap-[var(--inkblot-spacing-3)]",children:[de("div",{className:"mt-[var(--inkblot-spacing-1)] flex h-10 w-10 shrink-0 items-center justify-center rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-primary)]",children:de(Fs,{className:"h-5 w-5 text-[var(--inkblot-semantic-color-interactive-primary)]","aria-hidden":!0})}),de("div",{className:"flex-1",children:de(Bt,{promptValue:t,onPromptChange:e,onPromptSubmit:r,isProcessing:a,placeholder:i})})]}),n&&de("p",{className:"mt-[var(--inkblot-spacing-2)] [font:var(--inkblot-semantic-typography-body-small)] text-[var(--inkblot-semantic-color-text-tertiary)]",children:n})]})}import{jsx as Wt,jsxs as Cr}from"react/jsx-runtime";function Fo({events:t,title:e="Event Stream",showLive:r=!0,className:a}){return Wt(D,{children:Cr("div",{className:o("flex h-full flex-col bg-[var(--inkblot-semantic-color-background-secondary)]",a),children:[Cr("div",{className:"flex shrink-0 items-center justify-between border-b border-[var(--inkblot-semantic-color-border-default)] px-4 py-3",children:[Wt("span",{className:"text-xs font-medium uppercase tracking-wider text-[var(--inkblot-semantic-color-text-secondary)]",children:e}),r&&Cr("div",{className:"flex items-center gap-2",children:[Wt("div",{className:"h-2 w-2 rounded-full bg-[var(--inkblot-semantic-color-status-success)]"}),Wt("span",{className:"text-xs text-[var(--inkblot-semantic-color-status-success)]",children:"Live"})]})]}),Wt("div",{className:"flex-1 overflow-auto p-4",children:Wt(Ue,{events:t})})]})})}import{jsx as Y,jsxs as Lt}from"react/jsx-runtime";var Gs=[{label:"Pipeline Health",value:76},{label:"Churn Risk",value:28},{label:"Expansion Signal",value:64},{label:"Team Velocity",value:83}],Ws=[{title:"Acme Corp likely to close within 14 days",description:"Based on email sentiment, meeting cadence, and champion engagement patterns.",confidence:89},{title:"Churn risk detected: GlobalTech Inc",description:"Declining touchpoints and support ticket volume suggest potential churn.",confidence:74},{title:"Expansion opportunity: TechVentures",description:"Usage patterns and NPS scores indicate readiness for upsell conversation.",confidence:81}];function Go({loading:t,kpiCards:e=Gs,aiInsights:r=Ws,title:a="Intelligence Lab",subtitle:i="AI-generated insights - Updated 3 min ago",className:n}){return Lt("div",{className:o("flex h-full flex-col gap-4 overflow-y-auto p-4",n),children:[Lt("div",{children:[Y("h1",{className:"text-2xl font-semibold text-[var(--inkblot-semantic-color-text-primary)]",children:a}),Y("p",{className:"text-sm text-[var(--inkblot-semantic-color-text-tertiary)]",children:i})]}),Y(Oe,{loading:t,title:"",children:Y(D,{children:Lt("div",{className:"flex flex-col gap-4",children:[Y("div",{className:"grid grid-cols-2 gap-4 lg:grid-cols-4",children:e.map(s=>Y(ze,{label:s.label,value:s.value,subtext:s.subtext,trend:s.trend},s.label))}),Lt("div",{children:[Y("h2",{className:"mb-4 border-b border-[var(--inkblot-semantic-color-border-default)] pb-2 text-sm font-bold uppercase tracking-wider text-[var(--inkblot-semantic-color-text-primary)]",children:"AI Insights"}),Y("div",{className:"flex flex-col gap-4",children:r.map(s=>Y(D,{children:Lt("div",{className:"flex items-start justify-between gap-4 rounded-[var(--inkblot-radius-lg)] bg-[var(--inkblot-semantic-color-background-secondary)] p-4",children:[Lt("div",{className:"min-w-0 flex-1",children:[Y("h3",{className:"font-semibold text-[var(--inkblot-semantic-color-text-primary)]",children:s.title}),Y("p",{className:"mt-1 text-sm text-[var(--inkblot-semantic-color-text-tertiary)]",children:s.description})]}),Lt("div",{className:"flex shrink-0 flex-col items-center",children:[Y("span",{className:"text-lg font-bold text-[var(--inkblot-semantic-color-text-primary)]",children:s.confidence}),Y("span",{className:"text-xs text-[var(--inkblot-semantic-color-text-tertiary)]",children:"Conf."})]})]})},s.title))})]})]})})})]})}import{jsx as me,jsxs as wr}from"react/jsx-runtime";function Wo({navigation:t,eventStream:e,commandBar:r,children:a,className:i,eventStreamWidth:n="w-80"}){return wr("div",{className:o("flex h-screen w-screen overflow-hidden bg-[var(--inkblot-semantic-color-background-primary)]",i),children:[me("aside",{className:"flex h-full w-16 shrink-0 flex-col border-r border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)]",children:t}),me("main",{className:"flex flex-1 flex-col overflow-hidden",children:wr("div",{className:"flex min-h-0 flex-1",children:[wr("div",{className:"flex min-h-0 flex-1 flex-col overflow-hidden bg-[var(--inkblot-semantic-color-background-primary)]",children:[me("div",{className:"flex-1 overflow-auto px-[var(--inkblot-spacing-6)] py-[var(--inkblot-spacing-6)]",children:a}),me("div",{className:"shrink-0 border-t border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)]",children:r})]}),e&&me("aside",{className:o("flex h-full shrink-0 flex-col border-l border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-[var(--inkblot-spacing-4)]",n),children:e})]})})]})}import{useState as Tr}from"react";import{Check as $s,X as _s}from"lucide-react";import{jsx as $t,jsxs as Xe}from"react/jsx-runtime";var Ks=["urgent","high","medium","low"];function Ze({onConfirm:t,onCancel:e,className:r}){let[a,i]=Tr(""),[n,s]=Tr(""),[l,c]=Tr("medium");return Xe("form",{onSubmit:b=>{b.preventDefault();let m=a.trim();m&&(t({title:m,company:n.trim()||void 0,priority:l}),i(""),s(""),c("medium"))},className:o("flex flex-col gap-[var(--inkblot-spacing-4)] rounded-[var(--inkblot-radius-lg)]","border border-[var(--inkblot-semantic-color-border-default)]","bg-[var(--inkblot-semantic-color-background-secondary)]","p-[var(--inkblot-spacing-4)]",r),children:[$t("input",{type:"text",value:a,onChange:b=>i(b.target.value),placeholder:"Task title...",autoFocus:!0,required:!0,className:o("min-h-[var(--inkblot-size-touch-target-min)] w-full rounded-[var(--inkblot-radius-md)]","border border-[var(--inkblot-semantic-color-border-default)]","bg-[var(--inkblot-semantic-color-background-primary)]","px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)]","[font:var(--inkblot-semantic-typography-body-medium)]","text-[var(--inkblot-semantic-color-text-primary)] placeholder:text-[var(--inkblot-semantic-color-text-tertiary)]","focus:outline-none focus:ring-2 focus:ring-[var(--inkblot-semantic-color-border-focus)]")}),$t("input",{type:"text",value:n,onChange:b=>s(b.target.value),placeholder:"Company (optional)",className:o("min-h-[var(--inkblot-size-touch-target-min)] w-full rounded-[var(--inkblot-radius-md)]","border border-[var(--inkblot-semantic-color-border-default)]","bg-[var(--inkblot-semantic-color-background-primary)]","px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)]","[font:var(--inkblot-semantic-typography-body-medium)]","text-[var(--inkblot-semantic-color-text-primary)] placeholder:text-[var(--inkblot-semantic-color-text-tertiary)]","focus:outline-none focus:ring-2 focus:ring-[var(--inkblot-semantic-color-border-focus)]")}),$t("div",{className:"flex flex-wrap gap-[var(--inkblot-spacing-2)]",children:Ks.map(b=>$t("button",{type:"button",onClick:()=>c(b),className:o("rounded-[var(--inkblot-radius-md)] px-[var(--inkblot-spacing-2)] py-[var(--inkblot-spacing-1)]","[font:var(--inkblot-semantic-typography-body-small)] font-medium","transition-colors duration-[var(--inkblot-duration-fast)]",l===b?"bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)]":"bg-[var(--inkblot-semantic-color-background-tertiary)] text-[var(--inkblot-semantic-color-text-secondary)] hover:bg-[var(--inkblot-semantic-color-background-tertiary)]/80"),children:b.charAt(0).toUpperCase()+b.slice(1)},b))}),Xe("div",{className:"flex justify-end gap-[var(--inkblot-spacing-2)]",children:[Xe("button",{type:"button",onClick:e,className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center gap-2 rounded-[var(--inkblot-radius-lg)]","border border-[var(--inkblot-semantic-color-border-default)]","bg-[var(--inkblot-semantic-color-interactive-secondary)]","px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)]","[font:var(--inkblot-semantic-typography-body-medium)] font-medium","text-[var(--inkblot-semantic-color-text-primary)]","hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)]","focus:outline-none focus:ring-2 focus:ring-[var(--inkblot-semantic-color-border-focus)]"),children:[$t(_s,{className:"h-4 w-4"}),"Cancel"]}),Xe("button",{type:"submit",disabled:!a.trim(),className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center gap-2 rounded-[var(--inkblot-radius-lg)]","bg-[var(--inkblot-semantic-color-interactive-primary)]","px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)]","[font:var(--inkblot-semantic-typography-body-medium)] font-medium","text-[var(--inkblot-semantic-color-text-inverse)]","hover:bg-[var(--inkblot-semantic-color-interactive-primary-hover)] active:bg-[var(--inkblot-semantic-color-interactive-primary-active)]","focus:outline-none focus:ring-2 focus:ring-[var(--inkblot-semantic-color-border-focus)]","disabled:opacity-[var(--inkblot-opacity-disabled)] disabled:cursor-not-allowed"),children:[$t($s,{className:"h-4 w-4"}),"Add Task"]})]})]})}import{useState as Pr,useMemo as $o}from"react";import{ClipboardList as js}from"lucide-react";import{jsx as It,jsxs as qs}from"react/jsx-runtime";function gt(t,e,r="You"){let i=new Date().toLocaleDateString("en-US",{month:"short",day:"numeric"})||"Today";return{id:e,title:t.title,company:t.company??"Unassigned",priority:t.priority??"medium",date:i,assignee:r,status:"todo"}}function Us(t){let e={todo:t.filter(r=>r.status==="todo"),in_progress:t.filter(r=>r.status==="in_progress"),done:t.filter(r=>r.status==="done")};return[{id:"todo",label:"TO DO",count:e.todo.length,tasks:e.todo},{id:"in_progress",label:"IN PROGRESS",count:e.in_progress.length,tasks:e.in_progress},{id:"done",label:"DONE",count:e.done.length,tasks:e.done}]}var ft=[gt({title:"Follow up with Sarah Chen on proposal",company:"Acme Corp",priority:"high"},"1"),gt({title:"Schedule demo with engineering team",company:"TechStart Inc",priority:"medium"},"2"),gt({title:"Prepare quarterly report slides",company:"GlobalTech",priority:"low"},"3"),gt({title:"Review Q1 marketing budget",company:"TechStart Inc",priority:"medium"},"4"),gt({title:"Draft partnership agreement",company:"Enterprise Co",priority:"urgent"},"5"),gt({title:"Send contract to legal team",company:"GlobalTech",priority:"low"},"6"),gt({title:"Update CRM with new contacts",company:"Acme Corp",priority:"low"},"7")];ft[0].status="todo";ft[1].status="todo";ft[2].status="todo";ft[3].status="in_progress";ft[4].status="in_progress";ft[5].status="done";ft[6].status="done";function _o({initialTasks:t=ft,onTaskCreate:e,onTaskToggle:r,onTaskClick:a,className:i}){let[n,s]=Pr(t),[l,c]=Pr(!1),[d,b]=Pr(""),m=$o(()=>{if(!d.trim())return n;let T=d.toLowerCase();return n.filter(h=>h.title.toLowerCase().includes(T)||h.company.toLowerCase().includes(T))},[n,d]),v=$o(()=>Us(m),[m]),p=n.filter(T=>T.status!=="done").length,g=n.filter(T=>T.priority==="urgent"&&T.status!=="done").length,C=`${p} pending${g>0?` \xB7 ${g} urgent`:""}`,w=T=>{let h=`task-${Date.now()}`,y=gt(T,h);s(k=>[y,...k]),c(!1),e?.(T)},N=T=>{s(h=>h.map(y=>{if(y.id!==T)return y;let k=y.status==="done"?"todo":"done";return{...y,status:k}})),r?.(T)};return It("div",{className:o("flex min-h-screen flex-col bg-[var(--inkblot-semantic-color-background-primary)]",i),children:qs("div",{className:"flex flex-1 flex-col gap-8 px-8 py-8",children:[It(Ot,{title:"Tasks",subtitle:C,icon:It(js,{className:"h-5 w-5"}),action:It(Ft,{label:"New Task",onClick:()=>c(T=>!T)})}),It(vt,{placeholder:"Search tasks...",value:d,onChange:T=>b(T.target.value)}),l?It(Ze,{onConfirm:w,onCancel:()=>c(!1)}):null,It(Ke,{sections:v,onTaskToggle:N,onTaskClick:a})]})})}import{useState as _t,useMemo as Mr}from"react";import{Mail as Ys}from"lucide-react";import{Fragment as Js,jsx as _,jsxs as Kt}from"react/jsx-runtime";var Xs=`Hi [Name],
2
2
 
3
3
  I hope this email finds you well. I wanted to reach out regarding our recent conversation about [Topic].
4
4
 
@@ -17,5 +17,5 @@ I'd love to schedule a quick call this week to walk you through these in more de
17
17
  Looking forward to hearing from you.
18
18
 
19
19
  Best regards,
20
- [Your name]`,Eo=[{id:"1",campaignName:"Q1 Product Launch",recipients:"2840 recipients",status:"sent",opens:"68%",clicks:"24%",date:"Feb 12, 2026"},{id:"2",campaignName:"Welcome Series",recipients:"1200 recipients",status:"active",statusSubtext:"Running",opens:"-",clicks:"-",date:"Feb 28, 2026"},{id:"3",campaignName:"Re-engagement Campaign",recipients:"890 recipients",status:"draft",opens:"-",clicks:"-",date:"Feb 5, 2026"},{id:"4",campaignName:"Holiday Promo",recipients:"4500 recipients",status:"scheduled",opens:"-",clicks:"-",date:"Mar 1, 2026"}],Lo=[{id:"1",category:"Onboarding",title:"Welcome Series",uses:"34 uses"},{id:"2",category:"Marketing",title:"Product Announcement",uses:"12 uses"},{id:"3",category:"Retention",title:"Renewal Reminder",uses:"28 uses"},{id:"4",category:"Sales",title:"Meeting Follow-up",uses:"56 uses"}],Io=["Acme Corp - Sarah Chen","TechStart Inc - Mike Rodriguez","GlobalTech - Lisa Kim","Enterprise Co - John Smith","StartupXYZ - Emma Wilson"],Es=[{key:"campaign",label:"Campaign"},{key:"status",label:"Status"},{key:"opens",label:"Opens"},{key:"clicks",label:"Clicks"},{key:"date",label:"Date"}],Ls=[{label:"Total Sent",value:"12.4K",change:"This month",changeVariant:"success"},{label:"Avg. Open Rate",value:"64%",change:"+8% vs prior",changeVariant:"success"},{label:"Avg. Click Rate",value:"22%",change:"+3% vs prior",changeVariant:"success"},{label:"Active Automations",value:"7",change:"3 paused",changeVariant:"error"}];function Do({onSendNow:t,onSchedule:e,onSaveDraft:r,onNewCampaign:a,onGenerateWithAI:n,onTemplateClick:i,className:s}){let[l,c]=Ot("campaigns"),[d,p]=Ot(""),[u,v]=Ot(""),[m,f]=Ot(""),[h,N]=Ot(!1),[x,w]=Ot(""),C=dr(()=>{if(!d.trim())return Eo;let M=d.toLowerCase();return Eo.filter(F=>F.campaignName.toLowerCase().includes(M)||F.recipients.toLowerCase().includes(M))},[d]),k=dr(()=>{if(!d.trim())return Lo;let M=d.toLowerCase();return Lo.filter(F=>F.title.toLowerCase().includes(M)||F.category.toLowerCase().includes(M))},[d]),g=dr(()=>{if(!x.trim())return Io;let M=x.toLowerCase();return Io.filter(F=>F.toLowerCase().includes(M))},[x]),b=async()=>{N(!0),await new Promise(M=>setTimeout(M,1500)),f(Ss),N(!1)},y=()=>{t?.()},T=()=>{e?.()},P=()=>{r?.()},I=l==="campaigns"||l==="templates";return V("div",{className:o("flex min-h-screen flex-col bg-[var(--inkblot-semantic-color-background-primary)]",s),children:Vt("div",{className:"flex flex-1 flex-col gap-[var(--inkblot-spacing-8)] px-[var(--inkblot-spacing-8)] py-[var(--inkblot-spacing-8)]",children:[V(At,{title:"Email Campaigns",subtitle:"Automate outreach \xB7 AI-powered templates",icon:V(Ms,{className:"h-5 w-5"}),action:V(Rt,{label:"New Campaign",onClick:()=>a?.()})}),V(Ee,{tabs:[{id:"campaigns",label:"Campaigns"},{id:"templates",label:"Templates"},{id:"compose",label:"Compose"}],activeTabId:l,onTabChange:c}),I?V(it,{placeholder:l==="campaigns"?"Search campaigns...":"Search templates...",value:d,onChange:M=>p(M.target.value)}):null,l==="campaigns"?Vt(Is,{children:[V(Se,{items:Ls}),V(ve,{columns:Es,rows:C})]}):l==="templates"?V(ke,{templates:k,onGenerateWithAI:n,onTemplateClick:i}):Vt("div",{className:"flex max-w-2xl flex-col gap-[var(--inkblot-spacing-6)] rounded-[var(--inkblot-radius-xl)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-[var(--inkblot-spacing-6)] shadow-[var(--inkblot-shadow-sm)]",children:[Vt("div",{className:"flex flex-col gap-[var(--inkblot-spacing-6)]",children:[Vt("div",{className:"flex flex-col gap-[var(--inkblot-spacing-2)]",children:[V("label",{className:"uppercase tracking-wider text-[var(--inkblot-semantic-color-text-primary)] [font:var(--inkblot-semantic-typography-body-small)]",children:"Subject"}),V(yt,{type:"text",value:u,onChange:M=>v(M.target.value),placeholder:"Enter subject line..."})]}),V(qt,{label:"Body",value:m,onChange:M=>f(M.target.value),placeholder:"Compose your email or let AI generate content...",loading:h,onWriteWithAI:b}),Vt("div",{className:"flex flex-col gap-[var(--inkblot-spacing-2)]",children:[V(it,{label:"Recipients",placeholder:"Search contacts, segments, or tags...",value:x,onChange:M=>w(M.target.value)}),g.length>0?V("ul",{className:"flex flex-wrap gap-[var(--inkblot-spacing-2)]",children:g.slice(0,5).map(M=>V("li",{className:o("rounded-[var(--inkblot-radius-md)]","bg-[var(--inkblot-semantic-color-background-secondary)]","px-[var(--inkblot-spacing-2)] py-[var(--inkblot-spacing-1)]","[font:var(--inkblot-semantic-typography-body-small)]","text-[var(--inkblot-semantic-color-text-secondary)]"),children:M},M))}):null]})]}),V(ue,{onSendNow:y,onSchedule:T,onSaveDraft:P})]})]})})}import{useMemo as Ds,useState as As}from"react";import{ChevronDown as Rs}from"lucide-react";import{jsx as Oe,jsxs as Ao}from"react/jsx-runtime";function Hs({items:t,defaultValue:e,allowMultiple:r=!1,className:a}){let n=Ds(()=>new Set(e??[]),[e]),[i,s]=As(n),l=c=>{s(d=>{let p=new Set(d);return p.has(c)?(p.delete(c),p):r?(p.add(c),p):new Set([c])})};return Oe("div",{className:o("w-full overflow-hidden rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)]",a),children:t.map((c,d)=>{let p=i.has(c.id);return Ao("div",{className:o(d!==0&&"border-t border-[var(--inkblot-semantic-color-border-default)]"),children:[Ao("button",{type:"button",disabled:c.disabled,"aria-expanded":p,onClick:()=>l(c.id),className:o("flex min-h-[var(--inkblot-size-touch-target-min)] w-full items-center justify-between gap-[var(--inkblot-spacing-3)] px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-3)] text-left text-[var(--inkblot-semantic-color-text-primary)] transition-colors duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)]",c.disabled?"cursor-not-allowed opacity-[var(--inkblot-opacity-disabled)]":"hover:bg-[var(--inkblot-semantic-color-background-tertiary)] focus-visible:outline focus-visible:outline-2 focus-visible:outline-[var(--inkblot-semantic-color-border-focus)] focus-visible:outline-offset-[-2px]"),children:[Oe("span",{className:"font-medium",children:c.title}),Oe(Rs,{className:o("h-4 w-4 shrink-0 text-[var(--inkblot-semantic-color-text-tertiary)] transition-transform duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)]",p&&"rotate-180")})]}),p&&Oe("div",{className:"px-[var(--inkblot-spacing-4)] pb-[var(--inkblot-spacing-4)] text-sm text-[var(--inkblot-semantic-color-text-secondary)]",children:c.content})]},c.id)})})}import{AlertCircle as Bs,AlertTriangle as zs,CheckCircle2 as Os,Info as Vs}from"lucide-react";import{jsx as mr,jsxs as Ro}from"react/jsx-runtime";var Fs={info:"border-[var(--inkblot-semantic-color-status-info)] bg-[var(--inkblot-semantic-color-status-info)]/10 text-[var(--inkblot-semantic-color-text-primary)]",success:"border-[var(--inkblot-semantic-color-status-success)] bg-[var(--inkblot-semantic-color-status-success)]/10 text-[var(--inkblot-semantic-color-text-primary)]",warning:"border-[var(--inkblot-semantic-color-status-warning)] bg-[var(--inkblot-semantic-color-status-warning)]/10 text-[var(--inkblot-semantic-color-text-primary)]",error:"border-[var(--inkblot-semantic-color-status-error)] bg-[var(--inkblot-semantic-color-status-error)]/10 text-[var(--inkblot-semantic-color-text-primary)]"},Gs={info:Vs,success:Os,warning:zs,error:Bs};function Ws({title:t,description:e,variant:r="info",className:a}){let n=Gs[r];return Ro("div",{role:"alert",className:o("flex w-full items-start gap-[var(--inkblot-spacing-3)] rounded-[var(--inkblot-radius-lg)] border px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-3)]",Fs[r],a),children:[mr(n,{className:"mt-0.5 h-4 w-4 shrink-0"}),Ro("div",{className:"flex min-w-0 flex-col gap-[var(--inkblot-spacing-1)]",children:[mr("div",{className:"font-semibold",children:t}),e&&mr("div",{className:"text-sm text-[var(--inkblot-semantic-color-text-secondary)]",children:e})]})]})}import{useCallback as Ho,useEffect as $s,useId as Bo,useRef as pr}from"react";import{AlertTriangle as _s}from"lucide-react";import{jsx as Tt,jsxs as Ve}from"react/jsx-runtime";function Ks({open:t,title:e,description:r,confirmLabel:a="Confirmar",cancelLabel:n="Cancelar",destructive:i=!1,confirmDisabled:s=!1,closeOnConfirm:l=!0,initialFocusRef:c,onOpenChange:d,onConfirm:p,onCancel:u,className:v}){let m=pr(null),f=pr(null),h=pr(null),N=Bo(),x=Bo(),w=Ho(()=>{u?.(),d?.(!1)},[u,d]),C=Ho(()=>{p?.(),l&&d?.(!1)},[l,p,d]);return $s(()=>{if(!t)return;h.current=document.activeElement instanceof HTMLElement?document.activeElement:null,(c?.current??f.current??m.current)?.focus();let g=b=>{b.key==="Escape"&&w()};return window.addEventListener("keydown",g),()=>{window.removeEventListener("keydown",g),h.current?.focus()}},[w,c,t]),t?Tt("div",{className:"fixed inset-0 z-50 grid place-items-center bg-[var(--inkblot-semantic-color-background-primary)]/70 px-[var(--inkblot-spacing-4)]",onClick:w,children:Ve("div",{role:"alertdialog","aria-modal":"true","aria-labelledby":N,"aria-describedby":r?x:void 0,tabIndex:-1,ref:m,onClick:k=>k.stopPropagation(),className:o("w-full max-w-[520px] rounded-[var(--inkblot-radius-xl)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-[var(--inkblot-spacing-6)] text-[var(--inkblot-semantic-color-text-primary)] shadow-lg",v),children:[Ve("div",{className:"mb-[var(--inkblot-spacing-4)] flex items-start gap-[var(--inkblot-spacing-3)]",children:[Tt("div",{className:o("mt-0.5 rounded-[var(--inkblot-radius-full)] p-[var(--inkblot-spacing-2)]",i?"bg-[var(--inkblot-semantic-color-status-error)]/15 text-[var(--inkblot-semantic-color-status-error)]":"bg-[var(--inkblot-semantic-color-status-warning)]/15 text-[var(--inkblot-semantic-color-status-warning)]"),children:Tt(_s,{className:"h-5 w-5"})}),Ve("div",{className:"flex-1",children:[Tt("h2",{id:N,className:"text-lg font-semibold",children:e}),r&&Tt("p",{id:x,className:"mt-[var(--inkblot-spacing-2)] text-sm text-[var(--inkblot-semantic-color-text-secondary)]",children:r})]})]}),Ve("div",{className:"flex flex-wrap justify-end gap-[var(--inkblot-spacing-2)]",children:[Tt("button",{type:"button",ref:f,onClick:w,className:"inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center rounded-[var(--inkblot-radius-md)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-interactive-secondary)] px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)] font-medium text-[var(--inkblot-semantic-color-text-primary)] transition-colors duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)] hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)] active:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)]",children:n}),Tt("button",{type:"button",disabled:s,onClick:C,className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center rounded-[var(--inkblot-radius-md)] px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)] font-medium text-[var(--inkblot-semantic-color-text-inverse)] transition-colors duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)] disabled:cursor-not-allowed disabled:opacity-[var(--inkblot-opacity-disabled)]",i?"bg-[var(--inkblot-semantic-color-status-error)] hover:bg-[var(--inkblot-semantic-color-status-error)]/85 active:bg-[var(--inkblot-semantic-color-status-error)]/80":"bg-[var(--inkblot-semantic-color-interactive-primary)] hover:bg-[var(--inkblot-semantic-color-interactive-primary-hover)] active:bg-[var(--inkblot-semantic-color-interactive-primary-active)]"),children:a})]})]})}):null}import{useEffect as Us,useRef as js,useState as br}from"react";import{Check as qs,Loader2 as Ys,Sparkles as zo}from"lucide-react";import{Fragment as ur,jsx as et,jsxs as Ft}from"react/jsx-runtime";var Xs=["Write a product launch announcement for a SaaS tool","Create a re-engagement email for churned users","Draft a welcome email for new customers","Write a quarterly business review summary"];function jg({value:t,defaultValue:e="",onValueChange:r,isGenerating:a,onGeneratingChange:n,generated:i,onGeneratedChange:s,generationDelayMs:l=1500,onSubmitPrompt:c,generateBlocks:d,onGenerate:p,suggestions:u=Xs,className:v}){let[m,f]=br(e),[h,N]=br(!1),[x,w]=br(!1),C=js(null),k=t!==void 0,g=k?t:m,b=a!==void 0,y=b?a:h,T=i!==void 0,P=T?i:x,I=E=>{k||f(E),r?.(E)},M=E=>{b||N(E),n?.(E)},F=E=>{T||w(E),s?.(E)};Us(()=>()=>{C.current!==null&&window.clearTimeout(C.current)},[]);let S=E=>{let G=Date.now();return[{id:`ai-${G}-1`,type:"heading",content:"Exciting News from Our Team"},{id:`ai-${G}-2`,type:"text",content:`Generated from prompt: ${E}`},{id:`ai-${G}-3`,type:"image",content:""},{id:`ai-${G}-4`,type:"text",content:"Our latest updates are designed to help you achieve more with less effort. We've built these improvements with your feedback in mind."},{id:`ai-${G}-5`,type:"button",content:"Learn More"},{id:`ai-${G}-6`,type:"divider",content:""},{id:`ai-${G}-7`,type:"text",content:`Best regards,
21
- The Team`}]},B=async()=>{let E=g.trim();if(!E||y)return;c?.(E),M(!0);let G;d?G=await Promise.resolve(d(E)):(await new Promise(jt=>{window.setTimeout(()=>jt(),l)}),G=S(E)),p?.(G),M(!1),F(!0),C.current=window.setTimeout(()=>F(!1),1800)};return Ft("section",{className:o(v),children:[Ft("div",{className:"mb-2 flex items-center gap-2",children:[et(zo,{className:"h-4 w-4 text-[var(--inkblot-semantic-color-status-warning)]"}),et("span",{className:"text-xs font-medium text-[var(--inkblot-semantic-color-text-primary)]",children:"AI Email Generator"})]}),Ft("div",{className:"space-y-3",children:[et("textarea",{value:g,onChange:E=>I(E.target.value),rows:3,placeholder:"Describe the email you want to create...",className:"w-full resize-none rounded-[var(--inkblot-radius-md)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] px-4 py-3 text-sm text-[var(--inkblot-semantic-color-text-primary)] placeholder:text-[var(--inkblot-semantic-color-text-tertiary)] outline-none"}),et("div",{className:"flex flex-wrap gap-1.5",children:u.map(E=>et("button",{type:"button",onClick:()=>I(E),className:"rounded-[var(--inkblot-radius-sm)] bg-[var(--inkblot-semantic-color-interactive-secondary)] px-2.5 py-1 text-[10px] text-[var(--inkblot-semantic-color-text-primary)] transition-opacity duration-[var(--inkblot-duration-fast)] hover:opacity-85",children:E},E))}),et("button",{type:"button",onClick:B,disabled:!g.trim()||y,className:"flex items-center gap-2 rounded-[var(--inkblot-radius-md)] bg-[var(--inkblot-semantic-color-status-warning)]/10 px-4 py-2 text-xs font-medium text-[var(--inkblot-semantic-color-status-warning)] transition-opacity duration-[var(--inkblot-duration-fast)] disabled:opacity-40",children:y?Ft(ur,{children:[et(Ys,{className:"h-3 w-3 animate-spin"}),"Generating..."]}):P?Ft(ur,{children:[et(qs,{className:"h-3 w-3"}),"Applied to editor"]}):Ft(ur,{children:[et(zo,{className:"h-3 w-3"}),"Generate Email"]})})]})]})}import{Activity as Qs,BarChart3 as Js,CheckSquare as tl,Command as el,FileText as rl,FlaskConical as ol,GitBranch as al,Mail as nl,MessageSquare as il,PieChart as sl,Settings as ll,Users as cl,Workflow as dl}from"lucide-react";import{jsx as vr,jsxs as Zs}from"react/jsx-runtime";function fr({label:t,icon:e,active:r=!1,onClick:a,title:n,dataTour:i,className:s}){return Zs("button",{type:"button",onClick:a,"data-tour":i,className:o("group relative flex h-10 w-10 shrink-0 items-center justify-center rounded-[var(--inkblot-radius-md)] border border-transparent transition-colors duration-[var(--inkblot-duration-fast)]",r?"bg-[var(--inkblot-semantic-color-interactive-secondary)] text-[var(--inkblot-semantic-color-text-primary)]":"text-[var(--inkblot-semantic-color-text-tertiary)] hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)] hover:text-[var(--inkblot-semantic-color-text-primary)]",s),title:n??t,"aria-current":r?"page":void 0,"aria-label":t,children:[vr(e,{className:"h-[18px] w-[18px]","aria-hidden":!0}),r?vr("span",{className:"absolute left-0 top-1/2 h-4 w-[2px] -translate-y-1/2 rounded-r bg-[var(--inkblot-semantic-color-interactive-primary)]"}):null,vr("span",{className:"pointer-events-none absolute left-full z-50 ml-3 whitespace-nowrap rounded-[var(--inkblot-radius-sm)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] px-2 py-1 text-xs font-medium text-[var(--inkblot-semantic-color-text-primary)] opacity-0 transition-opacity duration-[var(--inkblot-duration-fast)] group-hover:opacity-100",children:t})]})}import{jsx as Gt,jsxs as Oo}from"react/jsx-runtime";var ml=[{id:"canvas",icon:il,label:"Canvas",path:"/",dataTour:"nav-canvas"},{id:"deals",icon:Js,label:"Deals",path:"/deals",dataTour:"nav-deals"},{id:"contacts",icon:cl,label:"Contacts",path:"/contacts",dataTour:"nav-contacts"},{id:"graph",icon:al,label:"Graph",path:"/graph",dataTour:"nav-graph"},{id:"events",icon:Qs,label:"Events",path:"/events",dataTour:"nav-events"},{id:"campaigns",icon:nl,label:"Campaigns",path:"/campaigns",dataTour:"nav-campaigns"},{id:"invoices",icon:rl,label:"Invoices",path:"/invoices",dataTour:"nav-invoices"},{id:"tasks",icon:tl,label:"Tasks",path:"/tasks",dataTour:"nav-tasks"},{id:"automations",icon:dl,label:"Automations",path:"/automations",dataTour:"nav-automations"},{id:"reports",icon:sl,label:"Reports",path:"/reports",dataTour:"nav-reports"},{id:"intelligence",icon:ol,label:"Intel Lab",path:"/intelligence",dataTour:"nav-intelligence"}],pl=[{id:"settings",icon:ll,label:"Settings",path:"/settings",dataTour:"nav-settings"}];function Vo({items:t=ml,bottomItems:e=pl,activePath:r="/",onNavigate:a,logo:n,className:i}){return Oo("aside",{"data-tour":"sidebar",className:o("flex h-full w-16 flex-col items-center gap-1 border-r border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] py-4",i),children:[Gt("div",{className:"mb-6 flex h-9 w-9 items-center justify-center rounded-[var(--inkblot-radius-md)] bg-[var(--inkblot-semantic-color-interactive-primary)]",children:n??Gt(el,{className:"h-4 w-4 text-[var(--inkblot-semantic-color-text-inverse)]","aria-hidden":!0})}),Gt("nav",{className:"flex flex-1 flex-col gap-1 overflow-y-auto",children:t.map(s=>Gt(fr,{label:s.label,icon:s.icon,active:s.path===r,onClick:()=>a?.(s.path),dataTour:s.dataTour},s.id))}),Oo("div",{className:"flex flex-col gap-1",children:[e.map(s=>Gt(fr,{label:s.label,icon:s.icon,active:s.path===r,onClick:()=>a?.(s.path),dataTour:s.dataTour},s.id)),Gt("span",{"data-tour":"system-status",className:"mx-auto mt-2 h-2 w-2 rounded-full bg-[var(--inkblot-semantic-color-status-success)]",title:"System Online"})]})]})}import{CreditCard as bl,FileText as ul,GitBranch as vl,Mail as fl,Phone as gl,Zap as kl}from"lucide-react";import{jsx as Q,jsxs as ae}from"react/jsx-runtime";var yl=[{id:1,icon:fl,title:"Email opened",meta:"Jane Smith \xB7 Acme Corp",time:"2m ago",status:"info"},{id:2,icon:bl,title:"Invoice #1042 paid",meta:"$24,500 \xB7 TechVentures",time:"8m ago",status:"success"},{id:3,icon:kl,title:"Pipeline stage changed",meta:"Negotiation \u2192 Closing",time:"14m ago",status:"warning"},{id:4,icon:gl,title:"Call completed",meta:"12 min \xB7 Mark Johnson",time:"23m ago",status:"info"},{id:5,icon:ul,title:"Contract signed",meta:"NDA \xB7 GlobalTech Inc",time:"1h ago",status:"success"},{id:6,icon:vl,title:"New relationship detected",meta:"Acme \u2194 DataFlow Labs",time:"2h ago",status:"error"}],xl={success:"bg-[var(--inkblot-semantic-color-status-success)]",warning:"bg-[var(--inkblot-semantic-color-status-warning)]",error:"bg-[var(--inkblot-semantic-color-status-error)]",info:"bg-[var(--inkblot-semantic-color-status-info)]"};function Fo({title:t="Event Stream",liveLabel:e="Live",events:r=yl,onItemClick:a,className:n}){return ae("section",{className:o("p-4",n),children:[ae("header",{className:"mb-4 flex items-center justify-between",children:[Q("h3",{className:"text-xs font-medium uppercase tracking-wide text-[var(--inkblot-semantic-color-text-tertiary)]",children:t}),Q("span",{className:"text-[10px] font-medium text-[var(--inkblot-semantic-color-text-tertiary)]",children:e})]}),Q("ul",{className:"space-y-1",children:r.map(i=>{let s=i.icon;return Q("li",{children:ae("button",{type:"button",onClick:()=>a?.(i),className:"group flex w-full items-start gap-3 rounded-[var(--inkblot-radius-md)] px-2.5 py-2.5 text-left transition-colors duration-[var(--inkblot-duration-fast)] hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)]",children:[Q("span",{className:"mt-0.5 flex h-7 w-7 shrink-0 items-center justify-center rounded-[var(--inkblot-radius-sm)] bg-[var(--inkblot-semantic-color-background-tertiary)]",children:Q(s,{className:"h-3.5 w-3.5 text-[var(--inkblot-semantic-color-text-tertiary)] group-hover:text-[var(--inkblot-semantic-color-text-secondary)]","aria-hidden":!0})}),ae("span",{className:"min-w-0 flex-1",children:[ae("span",{className:"flex items-center gap-2",children:[Q("span",{className:o("h-1.5 w-1.5 shrink-0 rounded-full",xl[i.status])}),Q("span",{className:"truncate text-xs font-medium text-[var(--inkblot-semantic-color-text-primary)]",children:i.title})]}),Q("span",{className:"mt-0.5 block truncate text-[10px] text-[var(--inkblot-semantic-color-text-tertiary)]",children:i.meta})]}),Q("span",{className:"mt-0.5 shrink-0 text-[10px] text-[var(--inkblot-semantic-color-text-tertiary)]",children:i.time})]})},i.id)})})]})}import{jsx as Fe,jsxs as Go}from"react/jsx-runtime";function yk({children:t,showEventFeed:e=!1,sidebarProps:r,eventFeedProps:a,className:n}){return Go("div",{className:o("flex h-screen w-full overflow-hidden bg-[var(--inkblot-semantic-color-background-primary)]",n),children:[Fe(Vo,{...r}),Go("main",{className:"flex flex-1 overflow-hidden",children:[Fe("section",{"data-tour":"canvas",className:"flex-1 overflow-y-auto",children:t}),e?Fe("aside",{"data-tour":"event-feed",className:"w-80 overflow-y-auto border-l border-[var(--inkblot-semantic-color-border-default)]",children:Fe(Fo,{...a})}):null]})]})}import{jsx as Wo,jsxs as Nl}from"react/jsx-runtime";function hl({ratio:t=16/9,children:e,className:r}){let a=Number.isFinite(t)&&t>0?t:1.7777777777777777;return Nl("div",{className:o("relative w-full overflow-hidden",r),children:[Wo("div",{style:{paddingTop:`${1/a*100}%`}}),Wo("div",{className:"absolute inset-0",children:e})]})}import{useState as Cl}from"react";import{User as wl}from"lucide-react";import{jsx as Ge}from"react/jsx-runtime";var Tl={sm:"h-8 w-8 text-xs",md:"h-10 w-10 text-sm",lg:"h-14 w-14 text-base"};function Pl({src:t,alt:e="Avatar",fallback:r,size:a="md",disabled:n=!1,className:i}){let[s,l]=Cl(!1),c=!!(t&&!s);return Ge("span",{"aria-disabled":n,className:o("inline-flex shrink-0 items-center justify-center overflow-hidden rounded-[var(--inkblot-radius-full)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-tertiary)] text-[var(--inkblot-semantic-color-text-secondary)]",n&&"opacity-[var(--inkblot-opacity-disabled)]",Tl[a],i),children:c?Ge("img",{src:t,alt:e,onError:()=>l(!0),className:"h-full w-full object-cover"}):r?Ge("span",{className:"font-medium uppercase",children:r.slice(0,2)}):Ge(wl,{className:"h-4 w-4"})})}import{jsx as El}from"react/jsx-runtime";var Ml={default:"bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)]",secondary:"bg-[var(--inkblot-semantic-color-background-tertiary)] text-[var(--inkblot-semantic-color-text-primary)]",success:"bg-[var(--inkblot-semantic-color-status-success)]/15 text-[var(--inkblot-semantic-color-status-success)]",warning:"bg-[var(--inkblot-semantic-color-status-warning)]/15 text-[var(--inkblot-semantic-color-status-warning)]",error:"bg-[var(--inkblot-semantic-color-status-error)]/15 text-[var(--inkblot-semantic-color-status-error)]",outline:"border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] text-[var(--inkblot-semantic-color-text-primary)]"};function Sl({children:t,variant:e="default",disabled:r=!1,className:a}){return El("span",{"aria-disabled":r,className:o("inline-flex min-h-[calc(var(--inkblot-size-touch-target-min)-1rem)] items-center justify-center rounded-[var(--inkblot-radius-full)] px-[var(--inkblot-spacing-2)] py-[var(--inkblot-spacing-1)] text-xs font-semibold transition-colors duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)]",Ml[e],r&&"opacity-[var(--inkblot-opacity-disabled)]",a),children:t})}import{ChevronRight as Ll}from"lucide-react";import{jsx as ne,jsxs as Dl}from"react/jsx-runtime";function Il({items:t,className:e}){return ne("nav",{"aria-label":"Breadcrumb",className:o("w-full",e),children:ne("ol",{className:"flex flex-wrap items-center gap-[var(--inkblot-spacing-2)]",children:t.map((r,a)=>{let n=r.href&&!r.disabled&&!r.current?ne("a",{href:r.href,onClick:r.onClick,className:"rounded-[var(--inkblot-radius-sm)] text-sm text-[var(--inkblot-semantic-color-text-secondary)] transition-colors duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)] hover:text-[var(--inkblot-semantic-color-text-primary)]",children:r.label}):ne("span",{"aria-current":r.current?"page":void 0,className:o("text-sm",r.current?"font-semibold text-[var(--inkblot-semantic-color-text-primary)]":"text-[var(--inkblot-semantic-color-text-tertiary)]",r.disabled&&"opacity-[var(--inkblot-opacity-disabled)]"),children:r.label});return Dl("li",{className:"flex items-center gap-[var(--inkblot-spacing-2)]",children:[n,a<t.length-1&&ne(Ll,{className:"h-4 w-4 text-[var(--inkblot-semantic-color-text-tertiary)]"})]},r.id)})})})}import{useMemo as $o,useState as Al}from"react";import{ChevronLeft as Rl,ChevronRight as Hl}from"lucide-react";import{jsx as ct,jsxs as kr}from"react/jsx-runtime";var Bl=["L","M","X","J","V","S","D"];function _o(t){return new Date(t.getFullYear(),t.getMonth(),1)}function zl(t){return new Date(t.getFullYear(),t.getMonth()+1,0)}function Ol(t,e){return t.getFullYear()===e.getFullYear()&&t.getMonth()===e.getMonth()&&t.getDate()===e.getDate()}function gr(t){return`${t.getFullYear()}-${t.getMonth()}-${t.getDate()}`}function Vl(t){let e=_o(t),r=zl(t),a=(e.getDay()+6)%7,n=r.getDate(),i=[];for(let s=0;s<a;s+=1)i.push(null);for(let s=1;s<=n;s+=1)i.push(new Date(t.getFullYear(),t.getMonth(),s));for(;i.length%7!==0;)i.push(null);return i}function Fl({value:t,onChange:e,disabledDates:r,className:a}){let n=t??new Date,[i,s]=Al(_o(n)),l=$o(()=>Vl(i),[i]),c=$o(()=>new Set((r??[]).map(gr)),[r]);return kr("div",{className:o("w-[320px] rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-[var(--inkblot-spacing-4)] text-[var(--inkblot-semantic-color-text-primary)]",a),children:[kr("div",{className:"mb-[var(--inkblot-spacing-3)] flex items-center justify-between",children:[ct("button",{type:"button",onClick:()=>s(new Date(i.getFullYear(),i.getMonth()-1,1)),className:"inline-flex h-8 w-8 items-center justify-center rounded-[var(--inkblot-radius-md)] text-[var(--inkblot-semantic-color-text-secondary)] hover:bg-[var(--inkblot-semantic-color-background-tertiary)]",children:ct(Rl,{className:"h-4 w-4"})}),ct("div",{className:"font-semibold",children:i.toLocaleDateString("es-ES",{month:"long",year:"numeric"})}),ct("button",{type:"button",onClick:()=>s(new Date(i.getFullYear(),i.getMonth()+1,1)),className:"inline-flex h-8 w-8 items-center justify-center rounded-[var(--inkblot-radius-md)] text-[var(--inkblot-semantic-color-text-secondary)] hover:bg-[var(--inkblot-semantic-color-background-tertiary)]",children:ct(Hl,{className:"h-4 w-4"})})]}),kr("div",{className:"grid grid-cols-7 gap-[var(--inkblot-spacing-1)]",children:[Bl.map(d=>ct("div",{className:"pb-[var(--inkblot-spacing-1)] text-center text-xs font-medium text-[var(--inkblot-semantic-color-text-tertiary)]",children:d},d)),l.map((d,p)=>{if(!d)return ct("div",{className:"h-9"},`empty-${p}`);let u=c.has(gr(d)),v=t?Ol(d,t):!1;return ct("button",{type:"button",disabled:u,onClick:()=>e?.(d),className:o("h-9 rounded-[var(--inkblot-radius-md)] text-sm transition-colors duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)]",v?"bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)]":"text-[var(--inkblot-semantic-color-text-primary)] hover:bg-[var(--inkblot-semantic-color-background-tertiary)]",u&&"cursor-not-allowed opacity-[var(--inkblot-opacity-disabled)]"),children:d.getDate()},gr(d))})]})]})}import{jsx as Wt}from"react/jsx-runtime";function Gl({className:t,interactive:e=!1,disabled:r=!1,...a}){return Wt("div",{"aria-disabled":r,className:o("w-full rounded-[var(--inkblot-radius-xl)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] text-[var(--inkblot-semantic-color-text-primary)]",e&&"transition-[border-color,transform,background] duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)] hover:border-[var(--inkblot-semantic-color-border-strong)] hover:bg-[var(--inkblot-semantic-color-background-tertiary)] active:translate-y-px",r&&"pointer-events-none opacity-[var(--inkblot-opacity-disabled)]",t),...a})}function Wl({className:t,...e}){return Wt("div",{className:o("flex flex-col gap-[var(--inkblot-spacing-1)] p-[var(--inkblot-spacing-5)]",t),...e})}function $l({className:t,...e}){return Wt("h3",{className:o("text-base font-semibold text-[var(--inkblot-semantic-color-text-primary)]",t),...e})}function _l({className:t,...e}){return Wt("p",{className:o("text-sm text-[var(--inkblot-semantic-color-text-secondary)]",t),...e})}function Kl({className:t,...e}){return Wt("div",{className:o("px-[var(--inkblot-spacing-5)] pb-[var(--inkblot-spacing-5)]",t),...e})}function Ul({className:t,...e}){return Wt("div",{className:o("flex items-center justify-end gap-[var(--inkblot-spacing-2)] border-t border-[var(--inkblot-semantic-color-border-default)] px-[var(--inkblot-spacing-5)] py-[var(--inkblot-spacing-4)]",t),...e})}import{useState as jl}from"react";import{ChevronLeft as ql,ChevronRight as Yl}from"lucide-react";import{jsx as dt,jsxs as yr}from"react/jsx-runtime";function Xl({items:t,initialIndex:e=0,loop:r=!1,className:a}){let[n,i]=jl(Math.min(Math.max(e,0),Math.max(t.length-1,0))),s=r||n>0,l=r||n<t.length-1,c=()=>{if(t.length!==0){if(r){i(p=>(p-1+t.length)%t.length);return}i(p=>Math.max(p-1,0))}},d=()=>{if(t.length!==0){if(r){i(p=>(p+1)%t.length);return}i(p=>Math.min(p+1,t.length-1))}};return yr("div",{className:o("w-full rounded-[var(--inkblot-radius-xl)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-[var(--inkblot-spacing-4)]",a),children:[dt("div",{className:"relative overflow-hidden rounded-[var(--inkblot-radius-lg)]",children:dt("div",{className:"flex transition-transform duration-[var(--inkblot-duration-normal)] ease-[var(--inkblot-easing-default)]",style:{transform:`translateX(-${n*100}%)`},children:t.map((p,u)=>dt("div",{className:"w-full shrink-0",children:p},u))})}),yr("div",{className:"mt-[var(--inkblot-spacing-3)] flex items-center justify-between",children:[dt("div",{className:"text-sm text-[var(--inkblot-semantic-color-text-secondary)]",children:t.length>0?`${n+1} de ${t.length}`:"Sin elementos"}),yr("div",{className:"flex gap-[var(--inkblot-spacing-2)]",children:[dt("button",{type:"button",onClick:c,disabled:!s||t.length===0,className:"inline-flex h-9 w-9 items-center justify-center rounded-[var(--inkblot-radius-md)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-interactive-secondary)] text-[var(--inkblot-semantic-color-text-primary)] hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)] disabled:cursor-not-allowed disabled:opacity-[var(--inkblot-opacity-disabled)]",children:dt(ql,{className:"h-4 w-4"})}),dt("button",{type:"button",onClick:d,disabled:!l||t.length===0,className:"inline-flex h-9 w-9 items-center justify-center rounded-[var(--inkblot-radius-md)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-interactive-secondary)] text-[var(--inkblot-semantic-color-text-primary)] hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)] disabled:cursor-not-allowed disabled:opacity-[var(--inkblot-opacity-disabled)]",children:dt(Yl,{className:"h-4 w-4"})})]})]})]})}import{jsx as Pt,jsxs as Ko}from"react/jsx-runtime";function Zl({data:t,title:e="Rendimiento",emptyMessage:r="No hay datos para mostrar.",className:a}){let n=Math.max(...t.map(i=>i.value),0);return Ko("div",{className:o("w-full rounded-[var(--inkblot-radius-xl)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-[var(--inkblot-spacing-5)]",a),children:[Pt("h3",{className:"mb-[var(--inkblot-spacing-4)] text-sm font-semibold text-[var(--inkblot-semantic-color-text-primary)]",children:e}),t.length===0?Pt("div",{className:"rounded-[var(--inkblot-radius-md)] bg-[var(--inkblot-semantic-color-background-tertiary)] px-[var(--inkblot-spacing-3)] py-[var(--inkblot-spacing-4)] text-sm text-[var(--inkblot-semantic-color-text-secondary)]",children:r}):Pt("div",{className:"flex flex-col gap-[var(--inkblot-spacing-3)]",children:t.map(i=>{let s=n>0?i.value/n*100:0;return Ko("div",{className:"grid grid-cols-[120px_1fr_48px] items-center gap-[var(--inkblot-spacing-3)]",children:[Pt("span",{className:"truncate text-sm text-[var(--inkblot-semantic-color-text-secondary)]",children:i.label}),Pt("div",{className:"h-3 overflow-hidden rounded-[var(--inkblot-radius-full)] bg-[var(--inkblot-semantic-color-background-tertiary)]",children:Pt("div",{className:"h-full rounded-[var(--inkblot-radius-full)] bg-[var(--inkblot-semantic-color-interactive-primary)]",style:{width:`${s}%`,backgroundColor:i.color??"var(--inkblot-semantic-color-interactive-primary)"}})}),Pt("span",{className:"text-right text-sm font-medium text-[var(--inkblot-semantic-color-text-primary)]",children:i.value})]},i.id)})})]})}import{useState as Ql}from"react";import{Check as Jl}from"lucide-react";import{jsx as We,jsxs as Uo}from"react/jsx-runtime";function tc({checked:t,defaultChecked:e=!1,onCheckedChange:r,label:a,description:n,disabled:i=!1,error:s=!1,className:l}){let[c,d]=Ql(e),p=t!==void 0,u=p?t:c,v=m=>{p||d(m),r?.(m)};return Uo("label",{className:o("inline-flex items-start gap-[var(--inkblot-spacing-3)] text-[var(--inkblot-semantic-color-text-primary)]",i&&"cursor-not-allowed opacity-[var(--inkblot-opacity-disabled)]",l),children:[We("button",{type:"button",role:"checkbox","aria-checked":u,disabled:i,onClick:()=>v(!u),className:o("mt-0.5 inline-flex h-5 w-5 shrink-0 items-center justify-center rounded-[var(--inkblot-radius-sm)] border transition-colors duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)] focus-visible:outline focus-visible:outline-2 focus-visible:outline-[var(--inkblot-semantic-color-border-focus)] focus-visible:outline-offset-2",u?"border-[var(--inkblot-semantic-color-interactive-primary)] bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)]":"border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] hover:border-[var(--inkblot-semantic-color-border-strong)]",s&&!u&&"border-[var(--inkblot-semantic-color-status-error)]"),children:u&&We(Jl,{className:"h-4 w-4"})}),(a||n)&&Uo("span",{className:"flex flex-col gap-[var(--inkblot-spacing-1)]",children:[a&&We("span",{className:"text-sm font-medium",children:a}),n&&We("span",{className:o("text-xs text-[var(--inkblot-semantic-color-text-secondary)]",s&&!u&&"text-[var(--inkblot-semantic-color-status-error)]"),children:n})]})]})}import{jsx as ie,jsxs as xr}from"react/jsx-runtime";var ec={success:"var(--inkblot-semantic-color-status-success)",warning:"var(--inkblot-semantic-color-status-warning)",error:"var(--inkblot-semantic-color-status-error)",info:"var(--inkblot-semantic-color-status-info)",primary:"var(--inkblot-semantic-color-interactive-primary)"};function jo({label:t,value:e,tone:r="primary",size:a=72,className:n}){let i=Math.max(0,Math.min(100,e)),s=5,l=(a-s)/2,c=2*Math.PI*l,d=c-i/100*c;return ie("div",{className:n,children:xr("div",{className:"flex flex-col items-center gap-2",children:[xr("div",{className:"relative",style:{width:a,height:a},children:[xr("svg",{width:a,height:a,className:"-rotate-90",children:[ie("circle",{cx:a/2,cy:a/2,r:l,fill:"none",stroke:"var(--inkblot-semantic-color-background-tertiary)",strokeWidth:s}),ie("circle",{cx:a/2,cy:a/2,r:l,fill:"none",stroke:ec[r],strokeWidth:s,strokeDasharray:c,strokeDashoffset:d,strokeLinecap:"round",className:"transition-[stroke-dashoffset] duration-[var(--inkblot-duration-fast)]"})]}),ie("span",{className:"absolute inset-0 flex items-center justify-center text-sm font-semibold text-[var(--inkblot-semantic-color-text-primary)]",children:i})]}),ie("span",{className:"text-center text-[10px] leading-tight text-[var(--inkblot-semantic-color-text-tertiary)]",children:t})]})})}import{useState as rc}from"react";import{ChevronDown as oc}from"lucide-react";import{jsx as hr,jsxs as qo}from"react/jsx-runtime";function ac({title:t,children:e,defaultOpen:r=!1,disabled:a=!1,className:n}){let[i,s]=rc(r);return qo("div",{className:o("w-full rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)]",a&&"opacity-[var(--inkblot-opacity-disabled)]",n),children:[qo("button",{type:"button",disabled:a,"aria-expanded":i,onClick:()=>s(l=>!l),className:o("flex min-h-[var(--inkblot-size-touch-target-min)] w-full items-center justify-between gap-[var(--inkblot-spacing-3)] px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-3)] text-left text-[var(--inkblot-semantic-color-text-primary)]",!a&&"hover:bg-[var(--inkblot-semantic-color-background-tertiary)] focus-visible:outline focus-visible:outline-2 focus-visible:outline-[var(--inkblot-semantic-color-border-focus)] focus-visible:outline-offset-[-2px]"),children:[hr("span",{className:"font-medium",children:t}),hr(oc,{className:o("h-4 w-4 text-[var(--inkblot-semantic-color-text-tertiary)] transition-transform duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)]",i&&"rotate-180")})]}),i&&hr("div",{className:"border-t border-[var(--inkblot-semantic-color-border-default)] px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-4)] text-sm text-[var(--inkblot-semantic-color-text-secondary)]",children:e})]})}import{useMemo as nc,useState as ic}from"react";import{Search as sc}from"lucide-react";import{jsx as mt,jsxs as Nr}from"react/jsx-runtime";function lc({items:t,placeholder:e="Buscar comando...",onSelect:r,className:a}){let[n,i]=ic(""),s=nc(()=>{let l=n.trim().toLowerCase();return l?t.filter(c=>{let d=c.label.toLowerCase().includes(l),p=(c.keywords??[]).some(u=>u.toLowerCase().includes(l));return d||p}):t},[t,n]);return Nr("div",{className:o("w-full rounded-[var(--inkblot-radius-xl)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)]",a),children:[Nr("div",{className:"flex items-center gap-[var(--inkblot-spacing-2)] border-b border-[var(--inkblot-semantic-color-border-default)] px-[var(--inkblot-spacing-3)]",children:[mt(sc,{className:"h-4 w-4 text-[var(--inkblot-semantic-color-text-tertiary)]"}),mt("input",{value:n,onChange:l=>i(l.target.value),placeholder:e,className:"h-11 w-full bg-transparent text-sm text-[var(--inkblot-semantic-color-text-primary)] outline-none placeholder:text-[var(--inkblot-semantic-color-text-tertiary)]"})]}),mt("div",{className:"max-h-[280px] overflow-y-auto p-[var(--inkblot-spacing-2)]",children:s.length>0?mt("ul",{className:"flex flex-col gap-[var(--inkblot-spacing-1)]",children:s.map(l=>mt("li",{children:Nr("button",{type:"button",disabled:l.disabled,onClick:()=>r?.(l),className:o("flex min-h-[var(--inkblot-size-touch-target-min)] w-full items-center gap-[var(--inkblot-spacing-2)] rounded-[var(--inkblot-radius-md)] px-[var(--inkblot-spacing-3)] text-left text-sm text-[var(--inkblot-semantic-color-text-primary)] transition-colors duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)]",l.disabled?"cursor-not-allowed opacity-[var(--inkblot-opacity-disabled)]":"hover:bg-[var(--inkblot-semantic-color-background-tertiary)] active:bg-[var(--inkblot-semantic-color-background-tertiary)]"),children:[l.icon&&mt("span",{className:"text-[var(--inkblot-semantic-color-text-tertiary)]",children:l.icon}),mt("span",{children:l.label})]})},l.id))}):mt("div",{className:"px-[var(--inkblot-spacing-2)] py-[var(--inkblot-spacing-3)] text-sm text-[var(--inkblot-semantic-color-text-secondary)]",children:"Sin resultados para tu b\xFAsqueda."})})]})}import{useEffect as cc,useMemo as dc,useRef as mc,useState as Cr}from"react";import{Send as pc,Sparkles as Yo}from"lucide-react";import{jsx as O,jsxs as pt}from"react/jsx-runtime";var bc=[{id:"1",role:"user",content:"Show me Acme Corp's profile and deal health."},{id:"2",role:"assistant",content:"Here's the entity profile and current intelligence scores for Acme Corp.",cards:["entity","intelligence"]}],uc="rounded-[var(--inkblot-radius-md)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-3 text-xs text-[var(--inkblot-semantic-color-text-tertiary)]";function Ky({title:t="Command Canvas",subtitle:e="AI-native interface \u2014 talk to your revenue engine",readyLabel:r="System ready",placeholder:a="Ask anything \u2014 deals, contacts, forecasts...",footerText:n="Citron OS v1.0 \xB7 AI-native Revenue & Operations Platform",messages:i,initialMessages:s=bc,onMessagesChange:l,inputValue:c,defaultInputValue:d="",onInputValueChange:p,autoAssistantResponse:u=!0,assistantResponseDelayMs:v=700,isResponding:m,onRespondingChange:f,onSend:h,generateAssistantMessage:N,renderCard:x,className:w}){let[C,k]=Cr(s),[g,b]=Cr(d),[y,T]=Cr(!1),P=mc(null),I=i!==void 0,M=I?i:C,F=c!==void 0,S=F?c:g,B=m!==void 0,E=B?m:y,G=S.trim().length>0&&!E,jt=dc(()=>L=>({content:`Analyzing "${L}". Here are the latest insights.`,cards:["entity","intelligence"]}),[]),jr=L=>{I||k(L),l?.(L)},qr=L=>{F||b(L),p?.(L)},Yr=L=>{B||T(L),f?.(L)};cc(()=>()=>{P.current!==null&&window.clearTimeout(P.current)},[]);let Xr=()=>{let L=S.trim();if(!L)return;let Mt={id:`${Date.now()}-user`,role:"user",content:L},Zr=[...M,Mt];jr(Zr),qr(""),h?.(L),u&&(Yr(!0),P.current=window.setTimeout(()=>{let Qr=(N??jt)(L),wn=[...Zr,{id:`${Date.now()}-assistant`,role:"assistant",content:Qr.content,cards:Qr.cards}];jr(wn),Yr(!1)},v))};return pt("section",{className:o("flex h-full flex-col",w),children:[pt("header",{className:"flex items-center justify-between border-b border-[var(--inkblot-semantic-color-border-default)] px-8 py-5",children:[pt("div",{children:[O("h2",{className:"text-lg font-semibold tracking-tight text-[var(--inkblot-semantic-color-text-primary)]",children:t}),O("p",{className:"mt-0.5 text-xs text-[var(--inkblot-semantic-color-text-tertiary)]",children:e})]}),pt("div",{className:"flex items-center gap-2 text-xs text-[var(--inkblot-semantic-color-text-tertiary)]",children:[O("span",{className:"h-1.5 w-1.5 rounded-full bg-[var(--inkblot-semantic-color-status-success)]"}),r]})]}),O("div",{className:"flex-1 overflow-y-auto px-8 py-6",children:O("div",{className:"mx-auto max-w-3xl space-y-6",children:M.map(L=>L.role==="user"?O("div",{className:"flex justify-end",children:O("div",{className:"max-w-md rounded-2xl rounded-br-sm bg-[var(--inkblot-semantic-color-interactive-secondary)] px-4 py-2.5 text-sm leading-relaxed text-[var(--inkblot-semantic-color-text-primary)]",children:L.content})},L.id):pt("div",{className:"space-y-4",children:[pt("div",{className:"flex items-start gap-3",children:[O("div",{className:"mt-0.5 flex h-6 w-6 shrink-0 items-center justify-center rounded-[var(--inkblot-radius-sm)] bg-[var(--inkblot-semantic-color-interactive-primary)]/15",children:O(Yo,{className:"h-3.5 w-3.5 text-[var(--inkblot-semantic-color-interactive-primary)]","aria-hidden":!0})}),O("p",{className:"pt-0.5 text-sm leading-relaxed text-[var(--inkblot-semantic-color-text-secondary)]",children:L.content})]}),L.cards?.length?O("div",{className:"ml-9 grid gap-4",children:L.cards.map(Mt=>x?O("div",{children:x(Mt)},Mt):O("div",{className:uc,children:Mt==="entity"?"Entity card preview":"Intelligence card preview"},Mt))}):null]},L.id))})}),O("footer",{className:"border-t border-[var(--inkblot-semantic-color-border-default)] px-8 py-4",children:pt("div",{className:"mx-auto max-w-3xl",children:[pt("div",{className:"flex items-center gap-3 rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] px-4 py-3",children:[O(Yo,{className:"h-4 w-4 shrink-0 text-[var(--inkblot-semantic-color-text-tertiary)]"}),O("input",{type:"text",value:S,onChange:L=>qr(L.target.value),onKeyDown:L=>{L.key==="Enter"&&Xr()},placeholder:a,className:"flex-1 bg-transparent text-sm text-[var(--inkblot-semantic-color-text-primary)] placeholder:text-[var(--inkblot-semantic-color-text-tertiary)] outline-none"}),O("button",{type:"button",onClick:Xr,disabled:!G,className:"flex h-8 w-8 items-center justify-center rounded-[var(--inkblot-radius-sm)] bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)] transition-opacity duration-[var(--inkblot-duration-fast)] disabled:opacity-35","aria-label":"Send",children:O(pc,{className:"h-3.5 w-3.5"})})]}),O("p",{className:"mt-2 text-center text-[10px] text-[var(--inkblot-semantic-color-text-tertiary)]",children:n})]})})]})}import{useEffect as vc,useRef as fc,useState as Xo}from"react";import{jsx as $e,jsxs as wr}from"react/jsx-runtime";function gc({trigger:t,items:e,className:r}){let[a,n]=Xo(!1),[i,s]=Xo({x:0,y:0}),l=fc(null);vc(()=>{if(!a)return;let d=()=>n(!1);return document.addEventListener("click",d),document.addEventListener("contextmenu",d),()=>{document.removeEventListener("click",d),document.removeEventListener("contextmenu",d)}},[a]);let c=d=>{d.preventDefault();let p=l.current?.getBoundingClientRect(),u=p?.left??0,v=p?.top??0;s({x:d.clientX-u,y:d.clientY-v}),n(!0)};return wr("div",{ref:l,className:o("relative w-full",r),onContextMenu:c,children:[t,a&&$e("div",{role:"menu",className:"absolute z-40 min-w-[220px] rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-[var(--inkblot-spacing-1)] shadow-lg",style:{left:i.x,top:i.y},children:e.map(d=>wr("button",{type:"button",role:"menuitem",disabled:d.disabled,onClick:()=>{d.onSelect?.(),n(!1)},className:o("flex min-h-[var(--inkblot-size-touch-target-min)] w-full items-center justify-between gap-[var(--inkblot-spacing-2)] rounded-[var(--inkblot-radius-md)] px-[var(--inkblot-spacing-3)] text-sm transition-colors duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)]",d.disabled?"cursor-not-allowed opacity-[var(--inkblot-opacity-disabled)]":"hover:bg-[var(--inkblot-semantic-color-background-tertiary)]",d.danger?"text-[var(--inkblot-semantic-color-status-error)]":"text-[var(--inkblot-semantic-color-text-primary)]"),children:[wr("span",{className:"flex items-center gap-[var(--inkblot-spacing-2)]",children:[d.icon&&$e("span",{className:"text-[var(--inkblot-semantic-color-text-tertiary)]",children:d.icon}),$e("span",{children:d.label})]}),d.shortcut&&$e("span",{className:"text-xs text-[var(--inkblot-semantic-color-text-tertiary)]",children:d.shortcut})]},d.id))})]})}import{createContext as kc,forwardRef as Pr,useCallback as Tr,useContext as yc,useEffect as Zo,useId as Qo,useMemo as xc,useRef as Jo,useState as hc}from"react";import{createPortal as Nc}from"react-dom";import{X as Cc}from"lucide-react";import{jsx as K,jsxs as ta}from"react/jsx-runtime";var ea=kc(null);function Mr(){let t=yc(ea);if(!t)throw new Error("Dialog components must be used within Dialog");return t}function wc({open:t,defaultOpen:e=!1,onOpenChange:r,children:a}){let[n,i]=hc(e),s=t!==void 0,l=s?t:n,c=Tr(p=>{s||i(p),r?.(p)},[s,r]),d=xc(()=>({open:l,setOpen:c}),[l,c]);return K(ea.Provider,{value:d,children:a})}var ra=Pr(({className:t,type:e="button",onClick:r,...a},n)=>{let{setOpen:i}=Mr();return K("button",{ref:n,type:e,onClick:s=>{r?.(s),s.defaultPrevented||i(!0)},className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center rounded-[var(--inkblot-radius-lg)] px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)]","bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)]","hover:bg-[var(--inkblot-semantic-color-interactive-primary-hover)] active:bg-[var(--inkblot-semantic-color-interactive-primary-active)]","focus-visible:outline focus-visible:outline-2 focus-visible:outline-[var(--inkblot-semantic-color-border-focus)] focus-visible:outline-offset-2","disabled:opacity-[var(--inkblot-opacity-disabled)] disabled:pointer-events-none disabled:cursor-not-allowed","[font:var(--inkblot-semantic-typography-body-medium)]",t),...a})});ra.displayName="DialogTrigger";var oa=Pr(({className:t,children:e,showCloseButton:r=!0,initialFocusRef:a,...n},i)=>{let{open:s,setOpen:l}=Mr(),c=Qo(),d=Qo(),p=Jo(null),u=Jo(null),v=Tr(f=>{if(p.current=f,typeof i=="function"){i(f);return}i&&(i.current=f)},[i]),m=Tr(()=>{l(!1)},[l]);return Zo(()=>{if(!s)return;let f=h=>{h.key==="Escape"&&m()};return window.addEventListener("keydown",f),()=>{window.removeEventListener("keydown",f)}},[m,s]),Zo(()=>{if(!s)return;u.current=document.activeElement instanceof HTMLElement?document.activeElement:null;let f=a?.current,h=p.current?.querySelector('button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])');return(f??h??p.current)?.focus(),()=>{u.current?.focus()}},[a,s]),!s||typeof document>"u"?null:Nc(ta("div",{className:o("fixed inset-0 z-50 flex items-center justify-center p-[var(--inkblot-spacing-6)]"),children:[K("button",{type:"button","aria-label":"Close dialog",className:o("absolute inset-0 bg-[var(--inkblot-semantic-color-background-primary)]/70"),onClick:m}),ta("div",{ref:v,role:"dialog","aria-modal":"true","aria-labelledby":c,"aria-describedby":d,tabIndex:-1,className:o("relative z-10 w-full max-w-[calc(var(--inkblot-size-touch-target-min)*10)] rounded-[var(--inkblot-radius-xl)] border border-[var(--inkblot-semantic-color-border-default)]","bg-[var(--inkblot-semantic-color-background-primary)] p-[var(--inkblot-spacing-6)]","shadow-[var(--inkblot-shadow-lg)]",t),...n,children:[r?K(Sr,{"aria-label":"Close dialog",className:o("absolute right-[var(--inkblot-spacing-4)] top-[var(--inkblot-spacing-4)] rounded-[var(--inkblot-radius-md)] p-[var(--inkblot-spacing-2)]"),children:K(Cc,{style:{width:"var(--inkblot-spacing-4)",height:"var(--inkblot-spacing-4)"}})}):null,K("div",{id:c,className:"sr-only"}),K("div",{id:d,className:"sr-only"}),e]})]}),document.body)});oa.displayName="DialogContent";function Tc({className:t,...e}){return K("div",{className:o("mb-[var(--inkblot-spacing-4)] grid gap-[var(--inkblot-spacing-2)]",t),...e})}function Pc({className:t,...e}){return K("h2",{className:o("text-[var(--inkblot-semantic-color-text-primary)] [font:var(--inkblot-semantic-typography-heading-small)]",t),...e})}function Mc({className:t,...e}){return K("p",{className:o("text-[var(--inkblot-semantic-color-text-secondary)] [font:var(--inkblot-semantic-typography-body-medium)]",t),...e})}function Sc({className:t,...e}){return K("div",{className:o("mt-[var(--inkblot-spacing-6)] flex flex-wrap justify-end gap-[var(--inkblot-spacing-3)]",t),...e})}var Sr=Pr(({className:t,type:e="button",onClick:r,...a},n)=>{let{setOpen:i}=Mr();return K("button",{ref:n,type:e,onClick:s=>{r?.(s),s.defaultPrevented||i(!1)},className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center rounded-[var(--inkblot-radius-lg)] px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)]","bg-[var(--inkblot-semantic-color-interactive-secondary)] text-[var(--inkblot-semantic-color-text-primary)]","border border-[var(--inkblot-semantic-color-border-default)]","hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)] hover:border-[var(--inkblot-semantic-color-border-strong)]","focus-visible:outline focus-visible:outline-2 focus-visible:outline-[var(--inkblot-semantic-color-border-focus)] focus-visible:outline-offset-2","[font:var(--inkblot-semantic-typography-body-medium)]",t),...a})});Sr.displayName="DialogClose";import{createContext as Ec,forwardRef as Lr,useCallback as Er,useContext as Lc,useEffect as aa,useMemo as Ic,useRef as na,useState as Dc}from"react";import{createPortal as Ac}from"react-dom";import{X as Rc}from"lucide-react";import{jsx as J,jsxs as Fc}from"react/jsx-runtime";var ia=Ec(null);function Ir(){let t=Lc(ia);if(!t)throw new Error("Drawer components must be used within Drawer");return t}function Hc({children:t,open:e,defaultOpen:r=!1,onOpenChange:a,side:n="right"}){let[i,s]=Dc(r),l=e!==void 0,c=l?e:i,d=Er(u=>{l||s(u),a?.(u)},[l,a]),p=Ic(()=>({open:c,setOpen:d,side:n}),[c,d,n]);return J(ia.Provider,{value:p,children:t})}var sa=Lr(({className:t,type:e="button",onClick:r,...a},n)=>{let{setOpen:i}=Ir();return J("button",{ref:n,type:e,onClick:s=>{r?.(s),s.defaultPrevented||i(!0)},className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center rounded-[var(--inkblot-radius-lg)] px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)]","bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)]","hover:bg-[var(--inkblot-semantic-color-interactive-primary-hover)] active:bg-[var(--inkblot-semantic-color-interactive-primary-active)]","focus-visible:outline focus-visible:outline-2 focus-visible:outline-[var(--inkblot-semantic-color-border-focus)] focus-visible:outline-offset-2",t),...a})});sa.displayName="DrawerTrigger";var la=Lr(({className:t,children:e,initialFocusRef:r,...a},n)=>{let{open:i,setOpen:s,side:l}=Ir(),c=na(null),d=na(null),p=Er(v=>{if(c.current=v,typeof n=="function"){n(v);return}n&&(n.current=v)},[n]),u=Er(()=>{s(!1)},[s]);return aa(()=>{if(!i)return;let v=m=>{m.key==="Escape"&&u()};return window.addEventListener("keydown",v),()=>{window.removeEventListener("keydown",v)}},[u,i]),aa(()=>{if(!i)return;d.current=document.activeElement instanceof HTMLElement?document.activeElement:null;let v=r?.current,m=c.current?.querySelector('button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])');return(v??m??c.current)?.focus(),()=>{d.current?.focus()}},[r,i]),!i||typeof document>"u"?null:Ac(Fc("div",{className:"fixed inset-0 z-50",children:[J("button",{type:"button","aria-label":"Close drawer",className:"absolute inset-0 bg-[var(--inkblot-semantic-color-background-primary)]/70",onClick:u}),J("div",{ref:p,role:"dialog","aria-modal":"true",tabIndex:-1,className:o("absolute top-0 h-full w-full max-w-[calc(var(--inkblot-size-touch-target-min)*7)] border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-primary)] p-[var(--inkblot-spacing-6)] shadow-[var(--inkblot-shadow-lg)]",l==="right"?"right-0 border-l":"left-0 border-r",t),...a,children:e})]}),document.body)});la.displayName="DrawerContent";function Bc({className:t,...e}){return J("div",{className:o("mb-[var(--inkblot-spacing-4)] grid gap-[var(--inkblot-spacing-2)]",t),...e})}function zc({className:t,...e}){return J("h2",{className:o("text-[var(--inkblot-semantic-color-text-primary)] [font:var(--inkblot-semantic-typography-heading-small)]",t),...e})}function Oc({className:t,...e}){return J("p",{className:o("text-[var(--inkblot-semantic-color-text-secondary)] [font:var(--inkblot-semantic-typography-body-medium)]",t),...e})}function Vc({className:t,...e}){return J("div",{className:o("mt-[var(--inkblot-spacing-6)] flex flex-wrap justify-end gap-[var(--inkblot-spacing-3)]",t),...e})}var ca=Lr(({className:t,type:e="button",onClick:r,children:a,...n},i)=>{let{setOpen:s}=Ir();return J("button",{ref:i,type:e,onClick:l=>{r?.(l),l.defaultPrevented||s(!1)},className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center gap-[var(--inkblot-spacing-2)] rounded-[var(--inkblot-radius-lg)] px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)]","bg-[var(--inkblot-semantic-color-interactive-secondary)] text-[var(--inkblot-semantic-color-text-primary)]","border border-[var(--inkblot-semantic-color-border-default)] hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)]",t),...n,children:a??J(Rc,{style:{width:"var(--inkblot-spacing-4)",height:"var(--inkblot-spacing-4)"}})})});ca.displayName="DrawerClose";import{createContext as Gc,forwardRef as Dr,useCallback as Wc,useContext as $c,useEffect as _c,useMemo as Kc,useRef as Uc,useState as jc}from"react";import{ChevronDown as qc}from"lucide-react";import{jsx as se,jsxs as ua}from"react/jsx-runtime";var da=Gc(null);function Ar(){let t=$c(da);if(!t)throw new Error("DropdownMenu components must be used within DropdownMenu");return t}function Yc({children:t,open:e,defaultOpen:r=!1,onOpenChange:a}){let[n,i]=jc(r),s=Uc(null),l=e!==void 0,c=l?e:n,d=Wc(u=>{l||i(u),a?.(u)},[l,a]);_c(()=>{if(!c)return;let u=m=>{let f=m.target;f&&s.current&&!s.current.contains(f)&&d(!1)},v=m=>{m.key==="Escape"&&d(!1)};return window.addEventListener("pointerdown",u),window.addEventListener("keydown",v),()=>{window.removeEventListener("pointerdown",u),window.removeEventListener("keydown",v)}},[c,d]);let p=Kc(()=>({open:c,setOpen:d,containerRef:s}),[c,d]);return se(da.Provider,{value:p,children:se("div",{ref:s,className:"relative inline-flex",children:t})})}var ma=Dr(({className:t,type:e="button",showChevron:r=!0,onClick:a,children:n,...i},s)=>{let{open:l,setOpen:c}=Ar();return ua("button",{ref:s,type:e,"aria-haspopup":"menu","aria-expanded":l,onClick:d=>{a?.(d),d.defaultPrevented||c(!l)},className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center gap-[var(--inkblot-spacing-2)] rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)]","bg-[var(--inkblot-semantic-color-interactive-secondary)] px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)]","text-[var(--inkblot-semantic-color-text-primary)] hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)]","focus-visible:outline focus-visible:outline-2 focus-visible:outline-[var(--inkblot-semantic-color-border-focus)] focus-visible:outline-offset-2","[font:var(--inkblot-semantic-typography-body-medium)]",t),...i,children:[n,r?se(qc,{style:{width:"var(--inkblot-spacing-4)",height:"var(--inkblot-spacing-4)"}}):null]})});ma.displayName="DropdownMenuTrigger";var pa=Dr(({className:t,...e},r)=>{let{open:a}=Ar();return a?se("div",{ref:r,role:"menu",className:o("absolute right-0 top-[calc(100%+var(--inkblot-spacing-2))] z-40 min-w-[calc(var(--inkblot-size-touch-target-min)*4)] rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)]","bg-[var(--inkblot-semantic-color-background-primary)] p-[var(--inkblot-spacing-2)] shadow-[var(--inkblot-shadow-md)]",t),...e}):null});pa.displayName="DropdownMenuContent";var ba=Dr(({className:t,type:e="button",icon:r,onClick:a,children:n,...i},s)=>{let{setOpen:l}=Ar();return ua("button",{ref:s,type:e,role:"menuitem",onClick:c=>{a?.(c),c.defaultPrevented||l(!1)},className:o("flex min-h-[var(--inkblot-size-touch-target-min)] w-full items-center gap-[var(--inkblot-spacing-2)] rounded-[var(--inkblot-radius-md)] px-[var(--inkblot-spacing-3)] py-[var(--inkblot-spacing-2)]","text-left text-[var(--inkblot-semantic-color-text-primary)] hover:bg-[var(--inkblot-semantic-color-background-secondary)]","focus-visible:outline focus-visible:outline-2 focus-visible:outline-[var(--inkblot-semantic-color-border-focus)] focus-visible:outline-offset-0","[font:var(--inkblot-semantic-typography-body-medium)]",t),...i,children:[r,n]})});ba.displayName="DropdownMenuItem";function Xc({className:t,...e}){return se("div",{className:o("my-[var(--inkblot-spacing-2)] border-b border-[var(--inkblot-semantic-color-border-default)]",t),...e})}import{useMemo as va,useState as Zc}from"react";import{ChevronDown as Qc,ChevronUp as Jc,Columns as td,GripVertical as fa,Image as ya,Minus as ed,Square as rd,Trash2 as od,Type as ga}from"lucide-react";import{jsx as A,jsxs as bt}from"react/jsx-runtime";var ka=[{type:"heading",label:"Heading",icon:ga},{type:"text",label:"Text",icon:ga},{type:"image",label:"Image",icon:ya},{type:"button",label:"Button",icon:rd},{type:"divider",label:"Divider",icon:ed},{type:"columns",label:"2 Columns",icon:td}],ad={heading:"Your Heading Here",text:"Write your content here. Click to edit this text block.",image:"https://placehold.co/600x200",button:"Click Me",divider:"",columns:"Column 1 | Column 2"};function Sx({blocks:t,onBlocksChange:e,availableBlockTypes:r,editingId:a,onEditingIdChange:n,onAddBlock:i,onDeleteBlock:s,onMoveBlock:l,onBlockContentChange:c,readOnly:d=!1,className:p}){let[u,v]=Zc(null),m=a!==void 0,f=m?a:u,h=b=>{m||v(b),n?.(b)},N=va(()=>!r||r.length===0?ka:ka.filter(b=>r.includes(b.type)),[r]),x=va(()=>t.reduce((b,y,T)=>(b[y.id]=T,b),{}),[t]),w=b=>{if(d)return;let y={id:`block-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,type:b,content:ad[b]};e([...t,y]),i?.(b,y)},C=(b,y)=>{d||(e(t.map(T=>T.id===b?{...T,content:y}:T)),c?.(b,y))},k=b=>{d||(e(t.filter(y=>y.id!==b)),s?.(b))},g=(b,y)=>{if(d)return;let T=x[b],P=T+y;if(P<0||P>=t.length)return;let I=[...t],[M]=I.splice(T,1);I.splice(P,0,M),e(I),l?.(b,y)};return bt("section",{className:o("flex gap-4",p),children:[bt("aside",{className:"w-44 shrink-0",children:[A("span",{className:"text-[10px] uppercase tracking-wide text-[var(--inkblot-semantic-color-text-tertiary)]",children:"Blocks"}),A("div",{className:"mt-2 space-y-1",children:N.map(b=>bt("button",{type:"button",onClick:()=>w(b.type),disabled:d,className:"flex w-full items-center gap-2 rounded-[var(--inkblot-radius-md)] border border-[var(--inkblot-semantic-color-border-default)] px-3 py-2 text-xs text-[var(--inkblot-semantic-color-text-primary)] transition-colors duration-[var(--inkblot-duration-fast)] hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)]",children:[A(b.icon,{className:"h-3.5 w-3.5 text-[var(--inkblot-semantic-color-text-tertiary)]"}),b.label]},b.type))})]}),A("div",{className:"min-h-[400px] flex-1 rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-6",children:t.length===0?bt("div",{className:"flex h-full flex-col items-center justify-center gap-2 text-center",children:[A(fa,{className:"h-8 w-8 text-[var(--inkblot-semantic-color-text-tertiary)]/40"}),A("p",{className:"text-sm text-[var(--inkblot-semantic-color-text-tertiary)]",children:"Drop blocks here to build your email"})]}):A("div",{className:"space-y-2",children:t.map((b,y)=>bt("article",{className:"group flex items-start gap-2",children:[A("div",{className:"pt-1 text-[var(--inkblot-semantic-color-text-tertiary)]",children:A(fa,{className:"h-3.5 w-3.5"})}),bt("div",{className:"flex-1 rounded-[var(--inkblot-radius-md)] border border-transparent p-3 transition-colors duration-[var(--inkblot-duration-fast)] group-hover:border-[var(--inkblot-semantic-color-border-default)]",children:[b.type==="heading"?A("h2",{contentEditable:!d&&f===b.id,suppressContentEditableWarning:!0,onClick:()=>{d||h(b.id)},onBlur:T=>{C(b.id,T.currentTarget.textContent??""),h(null)},className:"cursor-text text-xl font-bold text-[var(--inkblot-semantic-color-text-primary)] outline-none",children:b.content}):null,b.type==="text"?A("p",{contentEditable:!d&&f===b.id,suppressContentEditableWarning:!0,onClick:()=>{d||h(b.id)},onBlur:T=>{C(b.id,T.currentTarget.textContent??""),h(null)},className:"cursor-text text-sm leading-relaxed text-[var(--inkblot-semantic-color-text-secondary)] outline-none",children:b.content}):null,b.type==="image"?A("div",{className:"flex h-32 items-center justify-center overflow-hidden rounded-[var(--inkblot-radius-md)] bg-[var(--inkblot-semantic-color-background-tertiary)]",children:A(ya,{className:"h-8 w-8 text-[var(--inkblot-semantic-color-text-tertiary)]/50"})}):null,b.type==="button"?A("div",{className:"flex justify-center",children:A("span",{contentEditable:!d&&f===b.id,suppressContentEditableWarning:!0,onClick:()=>{d||h(b.id)},onBlur:T=>{C(b.id,T.currentTarget.textContent??""),h(null)},className:"cursor-text rounded-[var(--inkblot-radius-md)] bg-[var(--inkblot-semantic-color-interactive-primary)] px-6 py-2.5 text-sm font-medium text-[var(--inkblot-semantic-color-text-inverse)] outline-none",children:b.content})}):null,b.type==="divider"?A("hr",{className:"my-2 border-[var(--inkblot-semantic-color-border-default)]"}):null,b.type==="columns"?bt("div",{className:"grid grid-cols-2 gap-4",children:[A("div",{className:"rounded-[var(--inkblot-radius-md)] bg-[var(--inkblot-semantic-color-background-tertiary)] p-4 text-center text-sm text-[var(--inkblot-semantic-color-text-tertiary)]",children:"Column 1"}),A("div",{className:"rounded-[var(--inkblot-radius-md)] bg-[var(--inkblot-semantic-color-background-tertiary)] p-4 text-center text-sm text-[var(--inkblot-semantic-color-text-tertiary)]",children:"Column 2"})]}):null]}),bt("div",{className:"flex flex-col gap-1 opacity-0 transition-opacity duration-[var(--inkblot-duration-fast)] group-hover:opacity-100",children:[A("button",{type:"button",onClick:()=>g(b.id,-1),disabled:d||y===0,className:"rounded-[var(--inkblot-radius-sm)] p-1 text-[var(--inkblot-semantic-color-text-tertiary)] transition-colors duration-[var(--inkblot-duration-fast)] hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)] disabled:opacity-30","aria-label":"Move up",children:A(Jc,{className:"h-3 w-3"})}),A("button",{type:"button",onClick:()=>g(b.id,1),disabled:d||y===t.length-1,className:"rounded-[var(--inkblot-radius-sm)] p-1 text-[var(--inkblot-semantic-color-text-tertiary)] transition-colors duration-[var(--inkblot-duration-fast)] hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)] disabled:opacity-30","aria-label":"Move down",children:A(Qc,{className:"h-3 w-3"})}),A("button",{type:"button",onClick:()=>k(b.id),disabled:d,className:"rounded-[var(--inkblot-radius-sm)] p-1 text-[var(--inkblot-semantic-color-status-error)] transition-colors duration-[var(--inkblot-duration-fast)] hover:bg-[var(--inkblot-semantic-color-status-error)]/10","aria-label":"Delete block",children:A(od,{className:"h-3 w-3"})})]})]},b.id))})})]})}import{forwardRef as nd}from"react";import{jsx as le,jsxs as xa}from"react/jsx-runtime";var ha=nd(({className:t,...e},r)=>le("form",{ref:r,className:o("grid gap-[var(--inkblot-spacing-4)] rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-primary)] p-[var(--inkblot-spacing-5)]",t),...e}));ha.displayName="Form";function id({className:t,label:e,hint:r,error:a,children:n,requiredIndicator:i,...s}){return xa("div",{className:o("grid gap-[var(--inkblot-spacing-2)]",t),...s,children:[e?xa("p",{className:"text-[var(--inkblot-semantic-color-text-primary)] [font:var(--inkblot-semantic-typography-body-medium)]",children:[e,i?le("span",{className:"ml-[var(--inkblot-spacing-1)] text-[var(--inkblot-semantic-color-status-error)]",children:"*"}):null]}):null,n,a?le("p",{className:"text-[var(--inkblot-semantic-color-status-error)] [font:var(--inkblot-semantic-typography-body-small)]",children:a}):r?le("p",{className:"text-[var(--inkblot-semantic-color-text-secondary)] [font:var(--inkblot-semantic-typography-body-small)]",children:r}):null]})}function sd({className:t,...e}){return le("div",{className:o("mt-[var(--inkblot-spacing-2)] flex flex-wrap justify-end gap-[var(--inkblot-spacing-3)]",t),...e})}import{useEffect as ld,useRef as cd}from"react";import{jsx as $t,jsxs as _t}from"react/jsx-runtime";var dd=[{id:"1",label:"Acme Corp",kind:"org",x:400,y:250,score:82},{id:"2",label:"TechVentures",kind:"org",x:220,y:140,score:65},{id:"3",label:"DataFlow Labs",kind:"org",x:600,y:160,score:45},{id:"4",label:"Jane Smith",kind:"person",x:300,y:380,score:90},{id:"5",label:"Mark Johnson",kind:"person",x:520,y:370,score:72},{id:"6",label:"GlobalTech",kind:"org",x:160,y:300,score:38},{id:"7",label:"Sarah Lee",kind:"person",x:650,y:310,score:55}],md=[{from:"1",to:"2",strength:.8},{from:"1",to:"3",strength:.5},{from:"1",to:"4",strength:.9},{from:"1",to:"5",strength:.7},{from:"2",to:"6",strength:.4},{from:"3",to:"7",strength:.6},{from:"4",to:"5",strength:.3},{from:"6",to:"4",strength:.5}];function pd(t,e,r,a){return t>=70?e:t>=50?r:a}function ut(t,e){for(let r of e){let a=t.getPropertyValue(r).trim();if(a)return a}return""}function Rr(t,e,r){if(e){t.font=e;return}t.font=r}function Gx({title:t="Entity Graph",subtitle:e,nodes:r=dd,edges:a=md,className:n}){let i=cd(null);ld(()=>{let l=i.current;if(!l)return;let c=l.getContext("2d");if(!c)return;let d=()=>{let p=l.getBoundingClientRect(),u=window.devicePixelRatio||1;l.width=p.width*u,l.height=p.height*u,c.setTransform(u,0,0,u,0,0),c.clearRect(0,0,p.width,p.height);let v=getComputedStyle(document.documentElement),m=ut(v,["--inkblot-semantic-color-border-default","--inkblot-semantic-color-border-strong"]),f=ut(v,["--inkblot-semantic-color-text-tertiary","--inkblot-semantic-color-text-secondary"]),h=ut(v,["--inkblot-semantic-color-background-secondary","--inkblot-semantic-color-background-primary"]),N=ut(v,["--inkblot-semantic-color-status-success","--inkblot-semantic-color-interactive-primary"]),x=ut(v,["--inkblot-semantic-color-status-warning","--inkblot-semantic-color-status-info"]),w=ut(v,["--inkblot-semantic-color-status-error","--inkblot-semantic-color-status-warning"]),C=ut(v,["--inkblot-semantic-typography-body-small","--inkblot-semantic-typography-body-medium"]),k=ut(v,["--inkblot-semantic-typography-body-medium","--inkblot-semantic-typography-body-small"]),g=c.font;a.forEach(b=>{let y=r.find(P=>P.id===b.from),T=r.find(P=>P.id===b.to);!y||!T||(c.beginPath(),c.moveTo(y.x,y.y),c.lineTo(T.x,T.y),c.strokeStyle=m,c.globalAlpha=Math.min(1,Math.max(0,b.strength*.45)),c.lineWidth=Math.max(1,b.strength*2),c.stroke(),c.globalAlpha=1)}),r.forEach(b=>{let y=pd(b.score,N,x,w),T=b.kind==="org"?28:22;c.beginPath(),c.arc(b.x,b.y,T+8,0,Math.PI*2),c.fillStyle=y,c.globalAlpha=.08,c.fill(),c.globalAlpha=1,c.beginPath(),c.arc(b.x,b.y,T,0,Math.PI*2),c.fillStyle=h,c.strokeStyle=y,c.globalAlpha=.7,c.lineWidth=1.5,c.fill(),c.stroke(),c.globalAlpha=1,c.fillStyle=y,Rr(c,C,g),c.textAlign="center",c.textBaseline="middle",c.fillText(b.kind==="org"?"\u2B21":"\u25CF",b.x,b.y),c.fillStyle=f,Rr(c,k,g),c.fillText(b.label,b.x,b.y+T+16),c.fillStyle=y,c.globalAlpha=.8,Rr(c,C,g),c.fillText(String(b.score),b.x,b.y+T+28),c.globalAlpha=1})};return d(),window.addEventListener("resize",d),()=>window.removeEventListener("resize",d)},[a,r]);let s=e??`Relationship intelligence \xB7 ${r.length} nodes \xB7 ${a.length} edges`;return _t("section",{className:o("flex h-full flex-col",n),children:[_t("header",{className:"flex items-center justify-between border-b border-[var(--inkblot-semantic-color-border-default)] px-8 py-5",children:[_t("div",{children:[$t("h2",{className:"text-lg font-semibold tracking-tight text-[var(--inkblot-semantic-color-text-primary)]",children:t}),$t("p",{className:"mt-0.5 text-xs text-[var(--inkblot-semantic-color-text-tertiary)]",children:s})]}),_t("div",{className:"flex items-center gap-4 text-xs text-[var(--inkblot-semantic-color-text-tertiary)]",children:[_t("span",{className:"flex items-center gap-1.5",children:[$t("span",{className:"h-2 w-2 rounded-full bg-[var(--inkblot-semantic-color-status-success)]"}),"Orgs"]}),_t("span",{className:"flex items-center gap-1.5",children:[$t("span",{className:"h-2 w-2 rounded-full bg-[var(--inkblot-semantic-color-status-warning)]"}),"People"]})]})]}),$t("div",{className:"relative flex-1",children:$t("canvas",{ref:i,className:"h-full w-full"})})]})}import{useCallback as bd,useEffect as ud,useMemo as vd,useState as Hr}from"react";import{ArrowLeft as fd,ArrowRight as gd,Check as kd,X as yd}from"lucide-react";import{Fragment as Na,jsx as U,jsxs as vt}from"react/jsx-runtime";var xd=[{target:"[data-tour='sidebar']",title:"Navigation Sidebar",description:"Access all CRM modules from this sidebar. Each icon represents a different module.",position:"right"},{target:"[data-tour='canvas']",title:"AI Command Canvas",description:"This is your AI-powered command center where you can orchestrate tasks and workflows.",position:"bottom"},{target:"[data-tour='event-feed']",title:"Real-Time Event Feed",description:"Follow live system activity like stage updates, invoices, and communication events.",position:"left"},{target:"[data-tour='system-status']",title:"System Status",description:"This indicator confirms platform health and connectivity.",position:"right"}];function Yx({steps:t=xd,open:e,defaultOpen:r=!0,onOpenChange:a,stepIndex:n,defaultStepIndex:i=0,onStepIndexChange:s,onComplete:l,className:c}){let[d,p]=Hr(r),[u,v]=Hr(i),[m,f]=Hr(null),h=e??d,N=n??u,x=t[N],w=N===t.length-1,C=P=>{e===void 0&&p(P),a?.(P)},k=P=>{let I=Math.min(Math.max(P,0),Math.max(t.length-1,0));n===void 0&&v(I),s?.(I)},g=bd(()=>{let P=document.querySelector(x.target);if(!P){f(null);return}f(P.getBoundingClientRect())},[x.target]);ud(()=>(g(),window.addEventListener("resize",g),window.addEventListener("scroll",g,!0),()=>{window.removeEventListener("resize",g),window.removeEventListener("scroll",g,!0)}),[g]);let b=()=>{if(w){C(!1),l();return}k(N+1)},y=()=>{k(N-1)},T=vd(()=>{if(!m)return{top:"50%",left:"50%",transform:"translate(-50%, -50%)"};let P=16,I=320;return x.position==="right"?{top:m.top+m.height/2,left:m.right+P,transform:"translateY(-50%)"}:x.position==="left"?{top:m.top+m.height/2,left:m.left-I-P,transform:"translateY(-50%)"}:x.position==="top"?{top:m.top-P,left:m.left+m.width/2,transform:"translate(-50%, -100%)"}:{top:m.bottom+P,left:m.left+m.width/2,transform:"translateX(-50%)"}},[x.position,m]);return h?vt("div",{className:o("fixed inset-0 z-[200]",c),children:[m?U("div",{className:"pointer-events-none absolute rounded-[var(--inkblot-radius-lg)] border-2 border-[var(--inkblot-semantic-color-interactive-primary)]/50",style:{top:m.top-6,left:m.left-6,width:m.width+12,height:m.height+12,boxShadow:"0 0 0 9999px var(--inkblot-semantic-color-background-inverse), var(--inkblot-shadow-lg)"}}):U("div",{className:"absolute inset-0 bg-[var(--inkblot-semantic-color-background-inverse)]/70"}),vt("div",{style:{...T,position:"absolute",width:320,zIndex:210},className:"rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-5 shadow-[var(--inkblot-shadow-lg)]",children:[vt("div",{className:"mb-3 flex items-center justify-between",children:[vt("span",{className:"text-[10px] uppercase tracking-wide text-[var(--inkblot-semantic-color-text-tertiary)]",children:["Step ",N+1," of ",t.length]}),U("button",{type:"button",onClick:()=>{C(!1),l()},className:"rounded-[var(--inkblot-radius-sm)] p-1 text-[var(--inkblot-semantic-color-text-tertiary)] transition-colors duration-[var(--inkblot-duration-fast)] hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)]","aria-label":"Close tour",children:U(yd,{className:"h-3 w-3"})})]}),U("h3",{className:"mb-1.5 text-sm font-semibold text-[var(--inkblot-semantic-color-text-primary)]",children:x.title}),U("p",{className:"text-xs leading-relaxed text-[var(--inkblot-semantic-color-text-tertiary)]",children:x.description}),U("div",{className:"mb-3 mt-4 flex gap-1",children:t.map((P,I)=>U("span",{className:o("h-1 flex-1 rounded-full",I<=N?"bg-[var(--inkblot-semantic-color-interactive-primary)]":"bg-[var(--inkblot-semantic-color-background-tertiary)]")},`${I}-progress`))}),vt("div",{className:"flex items-center justify-between",children:[vt("button",{type:"button",onClick:y,disabled:N===0,className:"flex items-center gap-1 text-xs text-[var(--inkblot-semantic-color-text-tertiary)] transition-opacity duration-[var(--inkblot-duration-fast)] disabled:opacity-0",children:[U(fd,{className:"h-3 w-3"}),"Back"]}),U("button",{type:"button",onClick:b,className:"flex items-center gap-1.5 rounded-[var(--inkblot-radius-md)] bg-[var(--inkblot-semantic-color-interactive-primary)] px-4 py-2 text-xs font-medium text-[var(--inkblot-semantic-color-text-inverse)]",children:w?vt(Na,{children:[U(kd,{className:"h-3 w-3"}),"Get Started"]}):vt(Na,{children:["Next",U(gd,{className:"h-3 w-3"})]})})]})]})]}):null}import{createContext as hd,forwardRef as Ca,useContext as Nd,useMemo as Cd,useRef as wd,useState as Td}from"react";import{jsx as _e}from"react/jsx-runtime";var wa=hd(null);function Ta(){let t=Nd(wa);if(!t)throw new Error("HoverCard components must be used within HoverCard");return t}function Pd({children:t,openDelay:e=120,closeDelay:r=120}){let[a,n]=Td(!1),i=wd(null),s=Cd(()=>({open:a,setOpen:n,openDelay:e,closeDelay:r,timeoutRef:i}),[a,e,r]);return _e(wa.Provider,{value:s,children:_e("div",{className:"relative inline-flex",children:t})})}var Pa=Ca(({className:t,onMouseEnter:e,onMouseLeave:r,onFocus:a,onBlur:n,...i},s)=>{let{setOpen:l,openDelay:c,closeDelay:d,timeoutRef:p}=Ta();return _e("div",{ref:s,tabIndex:0,onMouseEnter:u=>{e?.(u),p.current&&window.clearTimeout(p.current),p.current=window.setTimeout(()=>l(!0),c)},onMouseLeave:u=>{r?.(u),p.current&&window.clearTimeout(p.current),p.current=window.setTimeout(()=>l(!1),d)},onFocus:u=>{a?.(u),l(!0)},onBlur:u=>{n?.(u),l(!1)},className:o(t),...i})});Pa.displayName="HoverCardTrigger";var Ma=Ca(({className:t,onMouseEnter:e,onMouseLeave:r,...a},n)=>{let{open:i,setOpen:s,closeDelay:l,timeoutRef:c}=Ta();return i?_e("div",{ref:n,role:"dialog",onMouseEnter:d=>{e?.(d),c.current&&window.clearTimeout(c.current),s(!0)},onMouseLeave:d=>{r?.(d),c.current&&window.clearTimeout(c.current),c.current=window.setTimeout(()=>s(!1),l)},className:o("absolute left-0 top-[calc(100%+var(--inkblot-spacing-2))] z-40 min-w-[calc(var(--inkblot-size-touch-target-min)*4)] rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)]","bg-[var(--inkblot-semantic-color-background-primary)] p-[var(--inkblot-spacing-4)] shadow-[var(--inkblot-shadow-md)]",t),...a}):null});Ma.displayName="HoverCardContent";import{forwardRef as Md,useMemo as Sd,useRef as Ed,useState as Ld}from"react";import{jsx as Sa}from"react/jsx-runtime";var Ea=Md(({className:t,disabled:e,length:r=6,value:a,defaultValue:n="",onValueChange:i,containerProps:s,...l},c)=>{let[d,p]=Ld(n.slice(0,r)),u=Ed([]),v=a!==void 0,m=v?a.slice(0,r):d,f=Sd(()=>Array.from({length:r},(k,g)=>m[g]??""),[m,r]),h=k=>{let g=k.slice(0,r);v||p(g),i?.(g)},N=k=>{let g=u.current[k];g?.focus(),g?.select()},x=(k,g)=>{let b=g.replace(/[^0-9A-Za-z]/g,"").slice(0,1),y=f.map((T,P)=>P===k?b:T);h(y.join("")),b&&k<r-1&&N(k+1)},w=(k,g)=>{if(g.key==="Backspace"&&!f[k]&&k>0){let b=f.map((y,T)=>T===k-1?"":y);h(b.join("")),N(k-1)}g.key==="ArrowLeft"&&k>0&&(g.preventDefault(),N(k-1)),g.key==="ArrowRight"&&k<r-1&&(g.preventDefault(),N(k+1))};return Sa("div",{ref:c,onPaste:k=>{k.preventDefault();let g=k.clipboardData.getData("text").replace(/[^0-9A-Za-z]/g,"").slice(0,r);g&&(h(g),N(Math.min(g.length,r-1)))},className:o("flex items-center gap-[var(--inkblot-spacing-2)]",t,s?.className),...s,children:f.map((k,g)=>Sa("input",{ref:b=>{u.current[g]=b},type:"text",inputMode:"numeric",maxLength:1,value:k,disabled:e,onChange:b=>x(g,b.target.value),onKeyDown:b=>w(g,b),className:o("min-h-[var(--inkblot-size-touch-target-min)] w-full rounded-[var(--inkblot-radius-md)] border border-[var(--inkblot-semantic-color-border-default)]","bg-[var(--inkblot-semantic-color-background-secondary)] px-[var(--inkblot-spacing-3)] py-[var(--inkblot-spacing-2)]","text-center text-[var(--inkblot-semantic-color-text-primary)] [font:var(--inkblot-semantic-typography-heading-small)]","focus-visible:outline focus-visible:outline-2 focus-visible:outline-[var(--inkblot-semantic-color-border-focus)] focus-visible:outline-offset-2","disabled:opacity-[var(--inkblot-opacity-disabled)] disabled:pointer-events-none"),...l},`otp-slot-${g}`))})});Ea.displayName="InputOtp";import{jsx as Br,jsxs as Dd}from"react/jsx-runtime";var Id=[{label:"Revenue Confidence",value:82,tone:"success"},{label:"Churn Risk",value:23,tone:"warning"},{label:"Momentum",value:67,tone:"primary"}];function uh({title:t="Intelligence Scores",items:e=Id,className:r}){return Dd("article",{className:o("rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-5",r),children:[Br("h3",{className:"mb-4 text-xs font-medium uppercase tracking-wide text-[var(--inkblot-semantic-color-text-tertiary)]",children:t}),Br("div",{className:"grid grid-cols-3 gap-6",children:e.map(a=>Br(jo,{label:a.label,value:a.value,tone:a.tone},a.label))})]})}import{forwardRef as Ad}from"react";import{jsx as Rd,jsxs as Hd}from"react/jsx-runtime";var La=Ad(({className:t,children:e,requiredIndicator:r,...a},n)=>Hd("label",{ref:n,className:o("inline-flex items-center gap-[var(--inkblot-spacing-1)] text-[var(--inkblot-semantic-color-text-primary)] [font:var(--inkblot-semantic-typography-body-medium)]",t),...a,children:[e,r?Rd("span",{className:"text-[var(--inkblot-semantic-color-status-error)]",children:"*"}):null]}));La.displayName="Label";import{createContext as Ia,forwardRef as ce,useContext as Da,useMemo as Aa,useRef as Bd,useState as zd}from"react";import{ChevronDown as Od}from"lucide-react";import{jsx as ft,jsxs as Wa}from"react/jsx-runtime";var Ra=Ia(null);function zr(){let t=Da(Ra);if(!t)throw new Error("Menubar components must be used within Menubar");return t}var Ha=Ia(null);function Ba(){let t=Da(Ha);if(!t)throw new Error("Menubar menu components must be used within MenubarMenu");return t}var za=ce(({className:t,...e},r)=>{let[a,n]=zd(null),i=Aa(()=>({openMenuId:a,setOpenMenuId:n}),[a]);return ft(Ra.Provider,{value:i,children:ft("div",{ref:r,className:o("flex items-center gap-[var(--inkblot-spacing-2)] rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-primary)] p-[var(--inkblot-spacing-2)]",t),...e})})});za.displayName="Menubar";function Vd({id:t,className:e,...r}){let a=Aa(()=>({menuId:t}),[t]);return ft(Ha.Provider,{value:a,children:ft("div",{className:o("relative inline-flex",e),...r})})}var Oa=ce(({className:t,type:e="button",showChevron:r=!0,onClick:a,children:n,...i},s)=>{let{openMenuId:l,setOpenMenuId:c}=zr(),{menuId:d}=Ba(),p=l===d;return Wa("button",{ref:s,type:e,"aria-haspopup":"menu","aria-expanded":p,onClick:u=>{a?.(u),u.defaultPrevented||c(p?null:d)},className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center gap-[var(--inkblot-spacing-2)] rounded-[var(--inkblot-radius-md)] px-[var(--inkblot-spacing-3)] py-[var(--inkblot-spacing-2)]","[font:var(--inkblot-semantic-typography-body-medium)]",p?"bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)]":"text-[var(--inkblot-semantic-color-text-primary)] hover:bg-[var(--inkblot-semantic-color-background-secondary)]",t),...i,children:[n,r?ft(Od,{style:{width:"var(--inkblot-spacing-4)",height:"var(--inkblot-spacing-4)"}}):null]})});Oa.displayName="MenubarTrigger";var Va=ce(({className:t,...e},r)=>{let{openMenuId:a}=zr(),{menuId:n}=Ba();return a!==n?null:ft("div",{ref:r,role:"menu",className:o("absolute left-0 top-[calc(100%+var(--inkblot-spacing-2))] z-40 min-w-[calc(var(--inkblot-size-touch-target-min)*4)] rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)]","bg-[var(--inkblot-semantic-color-background-primary)] p-[var(--inkblot-spacing-2)] shadow-[var(--inkblot-shadow-md)]",t),...e})});Va.displayName="MenubarContent";var Fa=ce(({className:t,type:e="button",icon:r,...a},n)=>Wa("button",{ref:n,type:e,role:"menuitem",className:o("flex min-h-[var(--inkblot-size-touch-target-min)] w-full items-center gap-[var(--inkblot-spacing-2)] rounded-[var(--inkblot-radius-md)] px-[var(--inkblot-spacing-3)] py-[var(--inkblot-spacing-2)]","text-left text-[var(--inkblot-semantic-color-text-primary)] hover:bg-[var(--inkblot-semantic-color-background-secondary)]","[font:var(--inkblot-semantic-typography-body-medium)]",t),...a,children:[r,a.children]}));Fa.displayName="MenubarItem";function Fd({className:t,...e}){return ft("div",{className:o("my-[var(--inkblot-spacing-2)] border-b border-[var(--inkblot-semantic-color-border-default)]",t),...e})}var Ga=ce(({className:t,...e},r)=>{let{setOpenMenuId:a}=zr(),n=Bd(null);return ft("div",{ref:i=>{n.current=i,typeof r=="function"?r(i):r&&(r.current=i)},onPointerDown:i=>{n.current?.contains(i.target)&&a(null)},className:o(t),...e})});Ga.displayName="MenubarCloseZone";import{ChevronRight as $a}from"lucide-react";import{jsx as Ke,jsxs as _a}from"react/jsx-runtime";function Gd({items:t,className:e,onItemSelect:r}){return Ke("nav",{"aria-label":"Navigation menu",className:o("flex flex-wrap items-center gap-[var(--inkblot-spacing-2)] rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-primary)] p-[var(--inkblot-spacing-2)]",e),children:t.map(a=>Ke(Wd,{item:a,onSelect:()=>r?.(a)},a.id))})}function Wd({item:t,onSelect:e,className:r,...a}){let n=o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center gap-[var(--inkblot-spacing-2)] rounded-[var(--inkblot-radius-md)] px-[var(--inkblot-spacing-3)] py-[var(--inkblot-spacing-2)]","[font:var(--inkblot-semantic-typography-body-medium)]",t.active?"bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)]":"text-[var(--inkblot-semantic-color-text-primary)] hover:bg-[var(--inkblot-semantic-color-background-secondary)]",t.disabled&&"pointer-events-none opacity-[var(--inkblot-opacity-disabled)]",r);return t.href?_a("a",{href:t.href,"aria-current":t.active?"page":void 0,className:n,onClick:()=>e?.(),...a,children:[t.icon,t.label,t.active?null:Ke($a,{style:{width:"var(--inkblot-spacing-4)",height:"var(--inkblot-spacing-4)"}})]}):_a("button",{type:"button","aria-current":t.active?"page":void 0,disabled:t.disabled,className:n,onClick:()=>e?.(),children:[t.icon,t.label,t.active?null:Ke($a,{style:{width:"var(--inkblot-spacing-4)",height:"var(--inkblot-spacing-4)"}})]})}import{useMemo as $d,useState as Ka}from"react";import{ArrowLeft as _d,ArrowRight as Kd,Briefcase as Ud,Building2 as jd,Check as qd,Command as Yd,Globe as Xd,Megaphone as Zd,Sparkles as Qd,Target as Ua,Users as Jd}from"lucide-react";import{Fragment as ja,jsx as H,jsxs as j}from"react/jsx-runtime";var tm=[{id:"company",question:"What's your company name?",subtitle:"We'll personalize your workspace around your brand.",icon:jd,type:"input",field:"companyName",placeholder:"e.g. Acme Corporation"},{id:"size",question:"How many employees does your company have?",subtitle:"This helps us tailor the right features for your team size.",icon:Jd,type:"select",field:"companySize",options:[{value:"1-10",label:"1-10"},{value:"11-50",label:"11-50"},{value:"51-200",label:"51-200"},{value:"201-1000",label:"201-1,000"},{value:"1000+",label:"1,000+"}]},{id:"industry",question:"What industry are you in?",subtitle:"We'll pre-configure pipelines and templates for your sector.",icon:Ud,type:"select",field:"industry",options:[{value:"saas",label:"SaaS / Software"},{value:"agency",label:"Agency / Consulting"},{value:"ecommerce",label:"E-Commerce"},{value:"fintech",label:"Fintech"},{value:"healthcare",label:"Healthcare"},{value:"other",label:"Other"}]},{id:"role",question:"What's your role?",subtitle:"So we can surface the most relevant modules first.",icon:Ua,type:"select",field:"role",options:[{value:"founder",label:"Founder / CEO"},{value:"sales",label:"Sales Leader"},{value:"marketing",label:"Marketing"},{value:"ops",label:"Operations"},{value:"other",label:"Other"}]},{id:"goals",question:"What do you want to achieve?",subtitle:"Select all that apply. We'll prioritize these in your dashboard.",icon:Ua,type:"multi-select",field:"goals",options:[{value:"pipeline",label:"Manage Sales Pipeline"},{value:"contacts",label:"Organize Contacts"},{value:"email",label:"Email Campaigns"},{value:"invoicing",label:"Invoicing"},{value:"reporting",label:"Analytics & Reporting"},{value:"automation",label:"Workflow Automation"}]},{id:"source",question:"How did you hear about us?",subtitle:"Helps us improve our outreach.",icon:Zd,type:"select",field:"source",options:[{value:"google",label:"Google Search"},{value:"social",label:"Social Media"},{value:"referral",label:"Friend / Colleague"},{value:"event",label:"Conference / Event"},{value:"other",label:"Other"}]},{id:"website",question:"What's your company website?",subtitle:"Optional, we'll try to auto-import your branding.",icon:Xd,type:"input",field:"website",placeholder:"e.g. https://acme.com"}];function Gh({onComplete:t,steps:e=tm,value:r,defaultValue:a,onValueChange:n,stepIndex:i,defaultStepIndex:s=0,onStepIndexChange:l,onCancel:c,showSkip:d=!0,className:p}){let[u,v]=Ka(s),[m,f]=Ka(a??{}),h=i!==void 0,N=r!==void 0,x=h?i:u,w=N?r:m,C=e[x],k=w[C.field]??(C.type==="multi-select"?[]:""),g=x===e.length-1,b=$d(()=>C.type==="multi-select"?k.length>0:C.id==="website"?!0:typeof k=="string"&&k.trim().length>0,[k,C.id,C.type]),y=S=>{let B=Math.min(Math.max(S,0),Math.max(e.length-1,0));h||v(B),l?.(B)},T=S=>{N||f(S),n?.(S)},P=()=>y(x-1),I=()=>{if(g){t(w);return}y(x+1)},M=(S,B)=>{T({...w,[S]:B})},F=(S,B)=>{let E=w[S]??[],G=E.includes(B)?E.filter(jt=>jt!==B):[...E,B];M(S,G)};return j("section",{className:o("fixed inset-0 z-[100] flex items-center justify-center bg-[var(--inkblot-semantic-color-background-primary)]",p),children:[j("div",{className:"absolute inset-0 overflow-hidden",children:[H("div",{className:"absolute left-1/4 top-1/4 h-96 w-96 rounded-full bg-[var(--inkblot-semantic-color-interactive-primary)]/5 blur-[120px]"}),H("div",{className:"absolute bottom-1/4 right-1/4 h-96 w-96 rounded-full bg-[var(--inkblot-semantic-color-status-warning)]/5 blur-[120px]"})]}),j("div",{className:"relative w-full max-w-lg px-6",children:[j("header",{className:"mb-12 flex items-center justify-center gap-2",children:[H("span",{className:"flex h-10 w-10 items-center justify-center rounded-[var(--inkblot-radius-lg)] bg-[var(--inkblot-semantic-color-interactive-primary)]",children:H(Yd,{className:"h-5 w-5 text-[var(--inkblot-semantic-color-text-inverse)]"})}),H("span",{className:"text-lg font-semibold tracking-tight text-[var(--inkblot-semantic-color-text-primary)]",children:"Citron OS"})]}),H("div",{className:"mb-10 flex gap-1",children:e.map((S,B)=>H("span",{className:o("h-0.5 flex-1 rounded-full",B<x?"bg-[var(--inkblot-semantic-color-interactive-primary)]":B===x?"bg-[var(--inkblot-semantic-color-interactive-primary)]/60":"bg-[var(--inkblot-semantic-color-background-tertiary)]")},S.id))}),j("div",{className:"space-y-6",children:[j("div",{children:[H("div",{className:"mb-4 flex h-10 w-10 items-center justify-center rounded-[var(--inkblot-radius-lg)] bg-[var(--inkblot-semantic-color-interactive-secondary)]",children:H(C.icon,{className:"h-5 w-5 text-[var(--inkblot-semantic-color-text-primary)]"})}),H("h2",{className:"text-xl font-semibold tracking-tight text-[var(--inkblot-semantic-color-text-primary)]",children:C.question}),H("p",{className:"mt-1 text-sm text-[var(--inkblot-semantic-color-text-tertiary)]",children:C.subtitle})]}),C.type==="input"?H("input",{autoFocus:!0,value:k||"",onChange:S=>M(C.field,S.target.value),placeholder:C.placeholder,onKeyDown:S=>{S.key==="Enter"&&b&&I()},className:"w-full rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] px-5 py-3.5 text-sm text-[var(--inkblot-semantic-color-text-primary)] placeholder:text-[var(--inkblot-semantic-color-text-tertiary)] outline-none"}):null,C.type==="select"?H("div",{className:"grid grid-cols-2 gap-2",children:C.options?.map(S=>H("button",{type:"button",onClick:()=>M(C.field,S.value),className:o("rounded-[var(--inkblot-radius-lg)] border px-4 py-3 text-left text-sm transition-colors duration-[var(--inkblot-duration-fast)]",k===S.value?"border-[var(--inkblot-semantic-color-interactive-primary)] bg-[var(--inkblot-semantic-color-interactive-primary)]/10 text-[var(--inkblot-semantic-color-text-primary)]":"border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] text-[var(--inkblot-semantic-color-text-tertiary)] hover:bg-[var(--inkblot-semantic-color-background-tertiary)]"),children:S.label},S.value))}):null,C.type==="multi-select"?H("div",{className:"grid grid-cols-2 gap-2",children:C.options?.map(S=>{let B=k.includes(S.value);return j("button",{type:"button",onClick:()=>F(C.field,S.value),className:o("flex items-center gap-2 rounded-[var(--inkblot-radius-lg)] border px-4 py-3 text-left text-sm transition-colors duration-[var(--inkblot-duration-fast)]",B?"border-[var(--inkblot-semantic-color-interactive-primary)] bg-[var(--inkblot-semantic-color-interactive-primary)]/10 text-[var(--inkblot-semantic-color-text-primary)]":"border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] text-[var(--inkblot-semantic-color-text-tertiary)] hover:bg-[var(--inkblot-semantic-color-background-tertiary)]"),children:[H("span",{className:o("flex h-4 w-4 shrink-0 items-center justify-center rounded-[var(--inkblot-radius-sm)] border",B?"border-[var(--inkblot-semantic-color-interactive-primary)] bg-[var(--inkblot-semantic-color-interactive-primary)]":"border-[var(--inkblot-semantic-color-border-default)]"),children:B?H(qd,{className:"h-2.5 w-2.5 text-[var(--inkblot-semantic-color-text-inverse)]"}):null}),S.label]},S.value)})}):null]}),j("footer",{className:"mt-10 flex items-center justify-between",children:[j("button",{type:"button",onClick:P,disabled:x===0,className:"flex items-center gap-1.5 rounded-[var(--inkblot-radius-md)] px-4 py-2 text-xs text-[var(--inkblot-semantic-color-text-tertiary)] transition-opacity duration-[var(--inkblot-duration-fast)] disabled:opacity-0",children:[H(_d,{className:"h-3 w-3"}),"Back"]}),j("div",{className:"flex items-center gap-3",children:[!g&&d?H("button",{type:"button",onClick:c??I,className:"text-xs text-[var(--inkblot-semantic-color-text-tertiary)]",children:"Skip"}):null,H("button",{type:"button",onClick:I,disabled:!b,className:"flex items-center gap-2 rounded-[var(--inkblot-radius-lg)] bg-[var(--inkblot-semantic-color-interactive-primary)] px-5 py-2.5 text-xs font-medium text-[var(--inkblot-semantic-color-text-inverse)] transition-opacity duration-[var(--inkblot-duration-fast)] disabled:opacity-40",children:g?j(ja,{children:[H(Qd,{className:"h-3 w-3"}),"Launch Citron OS"]}):j(ja,{children:["Continue",H(Kd,{className:"h-3 w-3"})]})})]})]})]})]})}import{ChevronLeft as em,ChevronRight as rm}from"lucide-react";import{jsx as de,jsxs as am}from"react/jsx-runtime";function om({page:t,totalPages:e,onPageChange:r,className:a}){let n=Array.from({length:e},(i,s)=>s+1);return am("nav",{"aria-label":"Pagination",className:o("flex items-center gap-[var(--inkblot-spacing-2)]",a),children:[de("button",{type:"button","aria-label":"Previous page",disabled:t<=1,onClick:()=>r(Math.max(t-1,1)),className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center rounded-[var(--inkblot-radius-md)] border border-[var(--inkblot-semantic-color-border-default)] px-[var(--inkblot-spacing-3)]","bg-[var(--inkblot-semantic-color-interactive-secondary)] text-[var(--inkblot-semantic-color-text-primary)]","hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)] disabled:opacity-[var(--inkblot-opacity-disabled)] disabled:pointer-events-none"),children:de(em,{style:{width:"var(--inkblot-spacing-4)",height:"var(--inkblot-spacing-4)"}})}),n.map(i=>{let s=i===t;return de("button",{type:"button",onClick:()=>r(i),"aria-current":s?"page":void 0,className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] min-w-[var(--inkblot-size-touch-target-min)] items-center justify-center rounded-[var(--inkblot-radius-md)] px-[var(--inkblot-spacing-3)]","[font:var(--inkblot-semantic-typography-body-medium)]",s?"bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)]":"bg-[var(--inkblot-semantic-color-interactive-secondary)] text-[var(--inkblot-semantic-color-text-primary)] hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)]"),children:i},`page-${i}`)}),de("button",{type:"button","aria-label":"Next page",disabled:t>=e,onClick:()=>r(Math.min(t+1,e)),className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center rounded-[var(--inkblot-radius-md)] border border-[var(--inkblot-semantic-color-border-default)] px-[var(--inkblot-spacing-3)]","bg-[var(--inkblot-semantic-color-interactive-secondary)] text-[var(--inkblot-semantic-color-text-primary)]","hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)] disabled:opacity-[var(--inkblot-opacity-disabled)] disabled:pointer-events-none"),children:de(rm,{style:{width:"var(--inkblot-spacing-4)",height:"var(--inkblot-spacing-4)"}})})]})}import{createContext as nm,forwardRef as Or,useCallback as im,useContext as sm,useEffect as lm,useMemo as cm,useRef as dm,useState as mm}from"react";import{jsx as me}from"react/jsx-runtime";var qa=nm(null);function Vr(){let t=sm(qa);if(!t)throw new Error("Popover components must be used within Popover");return t}function pm({children:t,open:e,defaultOpen:r=!1,onOpenChange:a}){let[n,i]=mm(r),s=dm(null),l=e!==void 0,c=l?e:n,d=im(u=>{l||i(u),a?.(u)},[l,a]);lm(()=>{if(!c)return;let u=m=>{let f=m.target;f&&s.current&&!s.current.contains(f)&&d(!1)},v=m=>{m.key==="Escape"&&d(!1)};return window.addEventListener("pointerdown",u),window.addEventListener("keydown",v),()=>{window.removeEventListener("pointerdown",u),window.removeEventListener("keydown",v)}},[c,d]);let p=cm(()=>({open:c,setOpen:d,containerRef:s}),[c,d]);return me(qa.Provider,{value:p,children:me("div",{ref:s,className:"relative inline-flex",children:t})})}var Ya=Or(({className:t,type:e="button",onClick:r,...a},n)=>{let{open:i,setOpen:s}=Vr();return me("button",{ref:n,type:e,"aria-haspopup":"dialog","aria-expanded":i,onClick:l=>{r?.(l),l.defaultPrevented||s(!i)},className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)]","bg-[var(--inkblot-semantic-color-interactive-secondary)] px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)] text-[var(--inkblot-semantic-color-text-primary)]","hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)]","[font:var(--inkblot-semantic-typography-body-medium)]",t),...a})});Ya.displayName="PopoverTrigger";var Xa=Or(({className:t,...e},r)=>{let{open:a}=Vr();return a?me("div",{ref:r,role:"dialog",className:o("absolute left-0 top-[calc(100%+var(--inkblot-spacing-2))] z-40 min-w-[calc(var(--inkblot-size-touch-target-min)*4)] rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)]","bg-[var(--inkblot-semantic-color-background-primary)] p-[var(--inkblot-spacing-4)] shadow-[var(--inkblot-shadow-md)]",t),...e}):null});Xa.displayName="PopoverContent";var Za=Or(({className:t,type:e="button",onClick:r,...a},n)=>{let{setOpen:i}=Vr();return me("button",{ref:n,type:e,onClick:s=>{r?.(s),s.defaultPrevented||i(!1)},className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center rounded-[var(--inkblot-radius-md)] px-[var(--inkblot-spacing-3)] py-[var(--inkblot-spacing-2)]","bg-[var(--inkblot-semantic-color-interactive-secondary)] text-[var(--inkblot-semantic-color-text-primary)]",t),...a})});Za.displayName="PopoverClose";import{forwardRef as bm}from"react";import{jsx as Fr,jsxs as um}from"react/jsx-runtime";var Qa=bm(({className:t,value:e,max:r=100,showValueLabel:a=!1,...n},i)=>{let s=Math.max(0,Math.min(e/r,1)),l=`${Math.round(s*100)}%`;return um("div",{ref:i,className:o("grid gap-[var(--inkblot-spacing-2)]",t),...n,children:[Fr("div",{className:"h-[var(--inkblot-spacing-2)] overflow-hidden rounded-[var(--inkblot-radius-full)] bg-[var(--inkblot-semantic-color-background-secondary)]",children:Fr("div",{className:"h-full rounded-[var(--inkblot-radius-full)] bg-[var(--inkblot-semantic-color-interactive-primary)] transition-[width] duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)]",style:{width:l}})}),a?Fr("p",{className:"text-[var(--inkblot-semantic-color-text-secondary)] [font:var(--inkblot-semantic-typography-body-small)]",children:l}):null]})});Qa.displayName="Progress";import{forwardRef as tn,useState as vm}from"react";import{jsx as pe,jsxs as Ja}from"react/jsx-runtime";var en=tn(({className:t,options:e,value:r,defaultValue:a,onValueChange:n,name:i="radio-group",...s},l)=>{let[c,d]=vm(a??""),p=r!==void 0,u=p?r:c,v=m=>{p||d(m),n?.(m)};return pe("div",{ref:l,role:"radiogroup",className:o("grid gap-[var(--inkblot-spacing-2)]",t),...s,children:e.map(m=>Ja("label",{className:o("flex cursor-pointer items-start gap-[var(--inkblot-spacing-3)] rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] p-[var(--inkblot-spacing-3)]","bg-[var(--inkblot-semantic-color-background-primary)] hover:bg-[var(--inkblot-semantic-color-background-secondary)]",m.disabled&&"pointer-events-none opacity-[var(--inkblot-opacity-disabled)]"),children:[pe(Gr,{type:"radio",name:i,value:m.value,checked:u===m.value,disabled:m.disabled,onChange:()=>v(m.value)}),Ja("span",{className:"grid gap-[var(--inkblot-spacing-1)]",children:[pe("span",{className:"text-[var(--inkblot-semantic-color-text-primary)] [font:var(--inkblot-semantic-typography-body-medium)]",children:m.label}),m.description?pe("span",{className:"text-[var(--inkblot-semantic-color-text-secondary)] [font:var(--inkblot-semantic-typography-body-small)]",children:m.description}):null]})]},m.value))})});en.displayName="RadioGroup";var Gr=tn(({className:t,...e},r)=>pe("input",{ref:r,className:o("mt-[var(--inkblot-spacing-1)] h-[var(--inkblot-spacing-4)] w-[var(--inkblot-spacing-4)] border-[var(--inkblot-semantic-color-border-default)] text-[var(--inkblot-semantic-color-interactive-primary)]",t),...e}));Gr.displayName="RadioGroupItem";import{useMemo as fm,useState as gm}from"react";import{GripVertical as km,GripHorizontal as ym}from"lucide-react";import{jsx as Kt,jsxs as hm}from"react/jsx-runtime";function xm({primary:t,secondary:e,direction:r="horizontal",defaultPrimarySize:a=50,minPrimarySize:n=20,minSecondarySize:i=20,className:s}){let[l,c]=gm(a),d=r==="horizontal",p=fm(()=>d?{gridTemplateColumns:`${l}fr auto ${100-l}fr`}:{gridTemplateRows:`${l}fr auto ${100-l}fr`},[d,l]),u=(v,m)=>{let f=m.getBoundingClientRect(),h=d?(v.x-f.left)/f.width*100:(v.y-f.top)/f.height*100,N=100-i,x=Math.min(N,Math.max(n,h));c(x)};return hm("div",{className:o("grid h-full w-full overflow-hidden rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-primary)]",s),style:p,children:[Kt("div",{className:"min-h-0 min-w-0 overflow-auto p-[var(--inkblot-spacing-3)]",children:t}),Kt("div",{className:o(d?"w-[var(--inkblot-spacing-2)]":"h-[var(--inkblot-spacing-2)]","bg-[var(--inkblot-semantic-color-border-default)]"),children:Kt("button",{type:"button","aria-label":"Resize panels",className:o("flex h-full w-full items-center justify-center bg-[var(--inkblot-semantic-color-background-secondary)] text-[var(--inkblot-semantic-color-text-secondary)]","hover:bg-[var(--inkblot-semantic-color-background-tertiary)] active:bg-[var(--inkblot-semantic-color-background-secondary)]"),onPointerDown:v=>{let m=v.currentTarget.closest("div")?.parentElement;if(!m)return;u({x:v.clientX,y:v.clientY},m);let f=N=>{u({x:N.clientX,y:N.clientY},m)},h=()=>{window.removeEventListener("pointermove",f),window.removeEventListener("pointerup",h)};window.addEventListener("pointermove",f),window.addEventListener("pointerup",h)},children:d?Kt(km,{style:{width:"var(--inkblot-spacing-4)",height:"var(--inkblot-spacing-4)"}}):Kt(ym,{style:{width:"var(--inkblot-spacing-4)",height:"var(--inkblot-spacing-4)"}})})}),Kt("div",{className:"min-h-0 min-w-0 overflow-auto p-[var(--inkblot-spacing-3)]",children:e})]})}import{forwardRef as Nm}from"react";import{jsx as Cm}from"react/jsx-runtime";var rn=Nm(({className:t,maxHeight:e="var(--inkblot-size-touch-target-min)",...r},a)=>Cm("div",{ref:a,className:o("overflow-auto rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-primary)] p-[var(--inkblot-spacing-3)]",t),style:{maxHeight:e,...r.style},...r}));rn.displayName="ScrollArea";import{ChevronDown as wm}from"lucide-react";import{forwardRef as Tm}from"react";import{jsx as Wr,jsxs as on}from"react/jsx-runtime";var an=Tm(({className:t,options:e,placeholder:r,error:a,disabled:n,...i},s)=>on("div",{className:"relative w-full",children:[on("select",{ref:s,disabled:n,"aria-invalid":a,className:o("min-h-[var(--inkblot-size-touch-target-min)] w-full appearance-none rounded-[var(--inkblot-radius-md)] border bg-[var(--inkblot-semantic-color-background-secondary)] px-4 py-2 pr-10 text-[var(--inkblot-semantic-color-text-primary)] transition-[border-color,box-shadow] duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--inkblot-semantic-color-border-focus)] focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-[var(--inkblot-opacity-disabled)]",a?"border-[var(--inkblot-semantic-color-status-error)] focus-visible:ring-[var(--inkblot-semantic-color-status-error)]":"border-[var(--inkblot-semantic-color-border-default)] hover:border-[var(--inkblot-semantic-color-border-strong)]",t),...i,children:[r?Wr("option",{value:"",disabled:!0,children:r}):null,e.map(l=>Wr("option",{value:l.value,disabled:l.disabled,children:l.label},l.value))]}),Wr(wm,{"aria-hidden":!0,className:"pointer-events-none absolute right-3 top-1/2 size-4 -translate-y-1/2 text-[var(--inkblot-semantic-color-text-tertiary)]"})]}));an.displayName="Select";import{forwardRef as Pm}from"react";import{jsx as Mm}from"react/jsx-runtime";var nn=Pm(({className:t,orientation:e="horizontal",decorative:r=!0,...a},n)=>Mm("div",{ref:n,role:r?"none":"separator","aria-orientation":e,className:o("shrink-0 bg-[var(--inkblot-semantic-color-border-default)]",e==="horizontal"?"h-px w-full":"h-full w-px",t),...a}));nn.displayName="Separator";import{X as Sm}from"lucide-react";import{useEffect as Em}from"react";import{jsx as Ut,jsxs as Ue}from"react/jsx-runtime";var Lm={top:"inset-x-0 top-0 border-b rounded-b-[var(--inkblot-radius-lg)]",right:"inset-y-0 right-0 h-full w-full max-w-[420px] border-l",bottom:"inset-x-0 bottom-0 border-t rounded-t-[var(--inkblot-radius-lg)]",left:"inset-y-0 left-0 h-full w-full max-w-[420px] border-r"};function Im({open:t,onOpenChange:e,side:r="right",title:a,description:n,showCloseButton:i=!0,className:s,overlayClassName:l,children:c,...d}){return Em(()=>{if(!t)return;let p=u=>{u.key==="Escape"&&e?.(!1)};return window.addEventListener("keydown",p),()=>window.removeEventListener("keydown",p)},[t,e]),t?Ue("div",{className:"fixed inset-0 z-50",children:[Ut("button",{type:"button","aria-label":"Cerrar panel",onClick:()=>e?.(!1),className:o("absolute inset-0 bg-[var(--inkblot-semantic-color-background-primary)]/70",l)}),Ue("section",{role:"dialog","aria-modal":"true",className:o("absolute bg-[var(--inkblot-semantic-color-background-secondary)] p-5 text-[var(--inkblot-semantic-color-text-primary)] shadow-lg border-[var(--inkblot-semantic-color-border-default)]",Lm[r],s),...d,children:[(a||n||i)&&Ue("header",{className:"mb-4 flex items-start justify-between gap-4",children:[Ue("div",{children:[a?Ut("h3",{className:"text-base font-semibold",children:a}):null,n?Ut("p",{className:"mt-1 text-sm text-[var(--inkblot-semantic-color-text-secondary)]",children:n}):null]}),i?Ut("button",{type:"button","aria-label":"Cerrar",onClick:()=>e?.(!1),className:"inline-flex size-9 items-center justify-center rounded-[var(--inkblot-radius-md)] border border-[var(--inkblot-semantic-color-border-default)] text-[var(--inkblot-semantic-color-text-secondary)] transition-colors hover:text-[var(--inkblot-semantic-color-text-primary)]",children:Ut(Sm,{className:"size-4"})}):null]}),Ut("div",{children:c})]})]}):null}import{PanelLeftClose as Dm,PanelLeftOpen as Am}from"lucide-react";import{Fragment as Hm,jsx as rt,jsxs as je}from"react/jsx-runtime";function Rm({items:t,collapsed:e=!1,onCollapsedChange:r,header:a,footer:n,className:i,...s}){return je("aside",{className:o("flex h-full flex-col border-r border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-3 transition-[width] duration-[var(--inkblot-duration-fast)]",e?"w-[76px]":"w-[260px]",i),...s,children:[je("div",{className:"mb-3 flex items-center justify-between gap-2",children:[rt("div",{className:o("truncate text-sm font-semibold",e&&"sr-only"),children:a}),rt("button",{type:"button","aria-label":e?"Expandir sidebar":"Colapsar sidebar",onClick:()=>r?.(!e),className:"inline-flex size-9 items-center justify-center rounded-[var(--inkblot-radius-md)] border border-[var(--inkblot-semantic-color-border-default)] text-[var(--inkblot-semantic-color-text-secondary)] hover:text-[var(--inkblot-semantic-color-text-primary)]",children:e?rt(Am,{className:"size-4"}):rt(Dm,{className:"size-4"})})]}),rt("nav",{className:"flex flex-1 flex-col gap-1",children:t.map(l=>{let c=l.icon;return je("button",{type:"button",disabled:l.disabled,onClick:l.onClick,className:o("flex min-h-[var(--inkblot-size-touch-target-min)] items-center gap-3 rounded-[var(--inkblot-radius-md)] px-3 py-2 text-sm transition-colors",l.active?"bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)]":"text-[var(--inkblot-semantic-color-text-secondary)] hover:bg-[var(--inkblot-semantic-color-background-tertiary)] hover:text-[var(--inkblot-semantic-color-text-primary)]",l.disabled&&"cursor-not-allowed opacity-[var(--inkblot-opacity-disabled)]"),children:[c?rt(c,{className:"size-4 shrink-0"}):null,e?null:je(Hm,{children:[rt("span",{className:"truncate",children:l.label}),l.badge?rt("span",{className:"ml-auto",children:l.badge}):null]})]},l.id)})}),n?rt("div",{className:o("mt-3 border-t border-[var(--inkblot-semantic-color-border-default)] pt-3",e&&"sr-only"),children:n}):null]})}import{forwardRef as Bm,useMemo as zm}from"react";import{jsx as qe,jsxs as sn}from"react/jsx-runtime";var ln=Bm(({className:t,value:e,defaultValue:r,min:a=0,max:n=100,step:i=1,disabled:s,showValue:l=!0,onValueChange:c,...d},p)=>{let u=e??r??a,v=zm(()=>n<=a?0:(u-a)/(n-a)*100,[u,a,n]);return sn("div",{className:o("w-full",t),children:[sn("div",{className:"mb-2 flex items-center justify-between text-sm",children:[qe("span",{className:"text-[var(--inkblot-semantic-color-text-secondary)]",children:a}),l?qe("span",{className:"font-medium text-[var(--inkblot-semantic-color-text-primary)]",children:u}):null,qe("span",{className:"text-[var(--inkblot-semantic-color-text-secondary)]",children:n})]}),qe("input",{ref:p,type:"range",value:e,defaultValue:r,min:a,max:n,step:i,disabled:s,onChange:m=>c?.(Number(m.target.value)),className:"h-2 w-full cursor-pointer appearance-none rounded-full bg-[var(--inkblot-semantic-color-background-tertiary)] disabled:cursor-not-allowed disabled:opacity-[var(--inkblot-opacity-disabled)] [&::-webkit-slider-runnable-track]:h-2 [&::-webkit-slider-runnable-track]:rounded-full [&::-webkit-slider-runnable-track]:bg-transparent [&::-webkit-slider-thumb]:mt-[-4px] [&::-webkit-slider-thumb]:size-4 [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:border [&::-webkit-slider-thumb]:border-[var(--inkblot-semantic-color-border-default)] [&::-webkit-slider-thumb]:bg-[var(--inkblot-semantic-color-background-secondary)] [&::-webkit-slider-thumb]:shadow-sm [&::-moz-range-track]:h-2 [&::-moz-range-track]:rounded-full [&::-moz-range-track]:bg-transparent [&::-moz-range-thumb]:size-4 [&::-moz-range-thumb]:rounded-full [&::-moz-range-thumb]:border [&::-moz-range-thumb]:border-[var(--inkblot-semantic-color-border-default)] [&::-moz-range-thumb]:bg-[var(--inkblot-semantic-color-background-secondary)]",style:{background:`linear-gradient(to right, var(--inkblot-semantic-color-interactive-primary) 0%, var(--inkblot-semantic-color-interactive-primary) ${v}%, var(--inkblot-semantic-color-background-tertiary) ${v}%, var(--inkblot-semantic-color-background-tertiary) 100%)`},...d})]})});ln.displayName="Slider";import{useMemo as Um}from"react";import{AlertTriangle as Om,CheckCircle2 as Vm,CircleX as Fm,Info as Gm,X as Wm}from"lucide-react";import{jsx as X,jsxs as cn}from"react/jsx-runtime";var $m={info:"border-[var(--inkblot-semantic-color-status-info)]",success:"border-[var(--inkblot-semantic-color-status-success)]",warning:"border-[var(--inkblot-semantic-color-status-warning)]",error:"border-[var(--inkblot-semantic-color-status-error)]"},_m={info:X(Gm,{className:"size-4"}),success:X(Vm,{className:"size-4"}),warning:X(Om,{className:"size-4"}),error:X(Fm,{className:"size-4"})};function $r({title:t,description:e,variant:r="info",action:a,onClose:n,className:i,...s}){return X("div",{role:"status",className:o("w-full rounded-[var(--inkblot-radius-lg)] border-l-4 border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-3 text-[var(--inkblot-semantic-color-text-primary)] shadow-sm",$m[r],i),...s,children:cn("div",{className:"flex items-start gap-3",children:[X("span",{className:"mt-0.5 text-[var(--inkblot-semantic-color-text-secondary)]",children:_m[r]}),cn("div",{className:"min-w-0 flex-1",children:[X("p",{className:"text-sm font-semibold",children:t}),e?X("p",{className:"mt-1 text-sm text-[var(--inkblot-semantic-color-text-secondary)]",children:e}):null,a?X("button",{type:"button",...a,className:o("mt-2 rounded-[var(--inkblot-radius-md)] border border-[var(--inkblot-semantic-color-border-default)] px-2 py-1 text-xs font-medium text-[var(--inkblot-semantic-color-text-primary)] hover:bg-[var(--inkblot-semantic-color-background-tertiary)]",a.className),children:a.label}):null]}),n?X("button",{type:"button","aria-label":"Cerrar notificaci\xF3n",onClick:n,className:"inline-flex size-8 items-center justify-center rounded-[var(--inkblot-radius-md)] text-[var(--inkblot-semantic-color-text-tertiary)] hover:text-[var(--inkblot-semantic-color-text-primary)]",children:X(Wm,{className:"size-4"})}):null]})})}import{jsx as dn}from"react/jsx-runtime";var Km={"top-left":"top-4 left-4","top-right":"top-4 right-4","bottom-left":"bottom-4 left-4","bottom-right":"bottom-4 right-4"};function _r({toasts:t,position:e="bottom-right",onDismiss:r,className:a,...n}){return dn("div",{className:o("fixed z-50 flex w-full max-w-[360px] flex-col gap-2",Km[e],a),...n,children:t.map(i=>dn($r,{...i,onClose:()=>r?.(i.id)},i.id))})}import{jsx as qm}from"react/jsx-runtime";function jm({toasts:t,maxVisible:e=3,position:r="bottom-right",onDismiss:a,...n}){let i=Um(()=>t.slice(0,e),[t,e]);return qm(_r,{toasts:i,position:r,onDismiss:a,...n})}import{forwardRef as Ym,useState as Xm}from"react";import{jsx as mn}from"react/jsx-runtime";var pn=Ym(({checked:t,defaultChecked:e=!1,onCheckedChange:r,disabled:a,className:n,...i},s)=>{let[l,c]=Xm(e),d=t??l;return mn("button",{ref:s,type:"button",role:"switch","aria-checked":d,disabled:a,onClick:()=>{if(a)return;let u=!d;t===void 0&&c(u),r?.(u)},className:o("relative inline-flex h-7 w-12 items-center rounded-full border transition-colors duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--inkblot-semantic-color-border-focus)] focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-[var(--inkblot-opacity-disabled)]",d?"border-[var(--inkblot-semantic-color-interactive-primary)] bg-[var(--inkblot-semantic-color-interactive-primary)]":"border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-tertiary)]",n),...i,children:mn("span",{className:o("inline-block size-5 rounded-full bg-[var(--inkblot-semantic-color-background-secondary)] transition-transform duration-[var(--inkblot-duration-fast)]",d?"translate-x-6":"translate-x-1")})})});pn.displayName="Switch";import{forwardRef as gt}from"react";import{ArrowDown as Zm,ArrowUp as Qm,ArrowUpDown as Jm}from"lucide-react";import{jsx as W,jsxs as hn}from"react/jsx-runtime";var bn=gt(({className:t,...e},r)=>W("div",{className:"w-full overflow-x-auto rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)]",children:W("table",{ref:r,className:o("w-full border-collapse bg-[var(--inkblot-semantic-color-background-secondary)]",t),...e})})),un=gt(({className:t,...e},r)=>W("thead",{ref:r,className:o("bg-[var(--inkblot-semantic-color-background-tertiary)]",t),...e})),vn=gt(({className:t,...e},r)=>W("tbody",{ref:r,className:o(t),...e})),fn=gt(({className:t,...e},r)=>W("tr",{ref:r,className:o("border-b border-[var(--inkblot-semantic-color-border-default)] text-[var(--inkblot-semantic-color-text-primary)] transition-colors hover:bg-[var(--inkblot-semantic-color-background-tertiary)]",t),...e})),gn=gt(({className:t,children:e,sortable:r=!1,sortDirection:a,onSort:n,sortButtonProps:i,...s},l)=>W("th",{ref:l,className:o("px-4 py-3 text-left text-sm font-semibold text-[var(--inkblot-semantic-color-text-secondary)]",t),...s,children:r?hn("button",{type:"button",onClick:n,className:"inline-flex items-center gap-[var(--inkblot-spacing-1)] rounded-[var(--inkblot-radius-sm)] text-inherit transition-colors duration-[var(--inkblot-duration-fast)] hover:text-[var(--inkblot-semantic-color-text-primary)]",...i,children:[e,a==="asc"?W(Qm,{className:"h-3.5 w-3.5","aria-hidden":!0}):a==="desc"?W(Zm,{className:"h-3.5 w-3.5","aria-hidden":!0}):W(Jm,{className:"h-3.5 w-3.5","aria-hidden":!0})]}):e})),kn=gt(({className:t,...e},r)=>W("td",{ref:r,className:o("px-4 py-3 text-sm",t),...e})),yn=gt(({className:t,...e},r)=>W("caption",{ref:r,className:o("p-3 text-left text-sm text-[var(--inkblot-semantic-color-text-tertiary)]",t),...e})),xn=gt(({className:t,colSpan:e,title:r="No data available",description:a="Adjust filters or add records to populate this table.",...n},i)=>W("tr",{children:W("td",{ref:i,colSpan:e,className:o("px-4 py-10 text-center align-middle","text-[var(--inkblot-semantic-color-text-secondary)]",t),...n,children:hn("div",{className:"mx-auto flex max-w-[420px] flex-col gap-[var(--inkblot-spacing-1)]",children:[W("span",{className:"[font:var(--inkblot-semantic-typography-body-large-bold)] text-[var(--inkblot-semantic-color-text-primary)]",children:r}),W("span",{className:"[font:var(--inkblot-semantic-typography-body-small)]",children:a})]})})}));bn.displayName="Table";un.displayName="TableHeader";vn.displayName="TableBody";fn.displayName="TableRow";gn.displayName="TableHead";kn.displayName="TableCell";yn.displayName="TableCaption";xn.displayName="TableEmptyState";import{useMemo as tp,useState as ep}from"react";import{jsx as Kr,jsxs as op}from"react/jsx-runtime";function rp({items:t,value:e,defaultValue:r,onValueChange:a,fullWidth:n=!1,className:i,...s}){let l=r??t.find(m=>!m.disabled)?.id??"",[c,d]=ep(l),p=e??c,u=tp(()=>t.find(m=>m.id===p)??t.find(m=>!m.disabled),[p,t]),v=m=>{e===void 0&&d(m),a?.(m)};return op("div",{className:o("w-full",i),...s,children:[Kr("div",{role:"tablist",className:"inline-flex rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-tertiary)] p-1",children:t.map(m=>{let f=m.id===u?.id;return Kr("button",{type:"button",role:"tab","aria-selected":f,disabled:m.disabled,onClick:()=>v(m.id),className:o("min-h-[var(--inkblot-size-touch-target-min)] rounded-[var(--inkblot-radius-md)] px-4 py-2 text-sm font-medium transition-colors disabled:cursor-not-allowed disabled:opacity-[var(--inkblot-opacity-disabled)]",n&&"flex-1",f?"bg-[var(--inkblot-semantic-color-background-secondary)] text-[var(--inkblot-semantic-color-text-primary)]":"text-[var(--inkblot-semantic-color-text-secondary)] hover:text-[var(--inkblot-semantic-color-text-primary)]"),children:m.label},m.id)})}),Kr("div",{className:"mt-3 rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-4 text-[var(--inkblot-semantic-color-text-primary)]",children:u?.content})]})}import{forwardRef as ap}from"react";import{jsx as ip}from"react/jsx-runtime";var np={none:"resize-none",vertical:"resize-y",horizontal:"resize-x",both:"resize"},Nn=ap(({className:t,error:e,disabled:r,resize:a="vertical",...n},i)=>ip("textarea",{ref:i,disabled:r,"aria-invalid":e,className:o("min-h-[120px] w-full rounded-[var(--inkblot-radius-md)] border bg-[var(--inkblot-semantic-color-background-secondary)] px-4 py-3 text-[var(--inkblot-semantic-color-text-primary)] placeholder:text-[var(--inkblot-semantic-color-text-tertiary)] transition-[border-color,box-shadow] duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--inkblot-semantic-color-border-focus)] focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-[var(--inkblot-opacity-disabled)]",np[a],e?"border-[var(--inkblot-semantic-color-status-error)] focus-visible:ring-[var(--inkblot-semantic-color-status-error)]":"border-[var(--inkblot-semantic-color-border-default)] hover:border-[var(--inkblot-semantic-color-border-strong)]",t),...n}));Nn.displayName="Textarea";import{useState as sp}from"react";import{jsx as cp}from"react/jsx-runtime";var lp={sm:"h-8 px-3 text-xs",md:"h-10 px-4 text-sm",lg:"h-11 px-5 text-sm"};function Ur({pressed:t,defaultPressed:e=!1,onPressedChange:r,size:a="md",variant:n="default",disabled:i,className:s,children:l,...c}){let[d,p]=sp(e),u=t??d;return cp("button",{type:"button","aria-pressed":u,disabled:i,onClick:()=>{if(i)return;let m=!u;t===void 0&&p(m),r?.(m)},className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center rounded-[var(--inkblot-radius-md)] border font-medium transition-colors duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--inkblot-semantic-color-border-focus)] focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-[var(--inkblot-opacity-disabled)]",lp[a],n==="default"?u?"border-[var(--inkblot-semantic-color-interactive-primary)] bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)]":"border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] text-[var(--inkblot-semantic-color-text-primary)] hover:bg-[var(--inkblot-semantic-color-background-tertiary)]":u?"border-[var(--inkblot-semantic-color-text-primary)] bg-[var(--inkblot-semantic-color-background-tertiary)] text-[var(--inkblot-semantic-color-text-primary)]":"border-[var(--inkblot-semantic-color-border-default)] bg-transparent text-[var(--inkblot-semantic-color-text-secondary)] hover:text-[var(--inkblot-semantic-color-text-primary)]",s),...c,children:l})}import{useMemo as dp,useState as mp}from"react";import{jsx as Cn,jsxs as bp}from"react/jsx-runtime";function pp({type:t="single",items:e,value:r,defaultValue:a,onValueChange:n,className:i,...s}){let l=a??(t==="single"?"":[]),[c,d]=mp(l),p=r??c,u=dp(()=>{if(t==="single"){let f=typeof p=="string"?p:"";return new Set(f?[f]:[])}let m=Array.isArray(p)?p:[];return new Set(m)},[p,t]),v=m=>{if(t==="single"){let N=u.has(m)?"":m;r===void 0&&d(N),n?.(N);return}let f=Array.isArray(p)?p:[],h=f.includes(m)?f.filter(N=>N!==m):[...f,m];r===void 0&&d(h),n?.(h)};return Cn("div",{className:o("inline-flex items-center gap-2 rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-tertiary)] p-1",i),...s,children:e.map(m=>{let f=m.icon;return bp(Ur,{pressed:u.has(m.id),onPressedChange:()=>v(m.id),disabled:m.disabled,size:"sm",children:[f?Cn(f,{className:"mr-2 size-4"}):null,m.label]},m.id)})})}import{useState as up}from"react";import{jsx as gp,jsxs as kp}from"react/jsx-runtime";var vp={top:"bottom-full left-1/2 mb-2 -translate-x-1/2",right:"left-full top-1/2 ml-2 -translate-y-1/2",bottom:"left-1/2 top-full mt-2 -translate-x-1/2",left:"right-full top-1/2 mr-2 -translate-y-1/2"};function fp({content:t,side:e="top",open:r,defaultOpen:a=!1,onOpenChange:n,disabled:i=!1,className:s,children:l,...c}){let[d,p]=up(a),u=r??d,v=m=>{r===void 0&&p(m),n?.(m)};return kp("span",{className:o("relative inline-flex",s),onMouseEnter:()=>!i&&v(!0),onMouseLeave:()=>v(!1),onFocus:()=>!i&&v(!0),onBlur:()=>v(!1),...c,children:[l,u&&!i?gp("span",{role:"tooltip",className:o("pointer-events-none absolute z-50 rounded-[var(--inkblot-radius-md)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] px-3 py-2 text-xs text-[var(--inkblot-semantic-color-text-primary)] shadow-sm",vp[e]),children:t}):null]})}export{qt as AIComposeInput,jg as AIEmailGenerator,Hs as Accordion,Ye as ActionButtons,Ae as ActivityStream,Ws as Alert,Ks as AlertDialog,yk as AppLayout,xo as AppNavigationRail,Vo as AppSidebar,hl as AspectRatio,Pl as Avatar,Sl as Badge,Il as Breadcrumb,Yt as Button,Fl as Calendar,ve as CampaignTable,Gl as Card,Kl as CardContent,_l as CardDescription,Ul as CardFooter,Wl as CardHeader,$l as CardTitle,Xl as Carousel,Zl as Chart,ho as ChatFeed,tc as Checkbox,jo as CircularScore,ac as Collapsible,lc as Command,Co as CommandBar,Ky as CommandCanvas,Et as CommandInterface,gc as ContextMenu,wc as Dialog,Sr as DialogClose,oa as DialogContent,Mc as DialogDescription,Sc as DialogFooter,Tc as DialogHeader,Pc as DialogTitle,ra as DialogTrigger,Hc as Drawer,ca as DrawerClose,la as DrawerContent,Oc as DrawerDescription,Vc as DrawerFooter,Bc as DrawerHeader,zc as DrawerTitle,sa as DrawerTrigger,Yc as DropdownMenu,pa as DropdownMenuContent,ba as DropdownMenuItem,Xc as DropdownMenuSeparator,ma as DropdownMenuTrigger,Sx as EmailBlockEditor,Do as EmailCampaignsView,ue as EmailComposeActionButtons,ke as EmailTemplatesSection,ye as EntityCard,eo as EntityCommandCard,xe as ErrorBoundary,Fo as EventFeed,Ne as EventRow,ao as EventStreamFeed,wo as EventStreamSidebar,ha as Form,sd as FormActions,id as FormField,Gx as GraphView,Yx as GuidedTour,Pd as HoverCard,Ma as HoverCardContent,Pa as HoverCardTrigger,yt as Input,Ea as InputOtp,uh as IntelligenceCard,To as IntelligenceLab,Ce as IntelligenceScoreCard,La as Label,Po as MainShell,za as Menubar,Ga as MenubarCloseZone,Va as MenubarContent,Fa as MenubarItem,Vd as MenubarMenu,Fd as MenubarSeparator,Oa as MenubarTrigger,no as MetricComparisonList,Te as ModuleContainer,D as ModuleErrorBoundary,Dt as ModuleSkeleton,fr as NavLink,Gd as NavigationMenu,po as OSNavigationRail,Gh as OnboardingWizard,Me as PageErrorFallback,At as PageHeader,Rt as PageHeaderActionButton,om as Pagination,pm as Popover,Za as PopoverClose,Xa as PopoverContent,Ya as PopoverTrigger,Qa as Progress,en as RadioGroup,Gr as RadioGroupItem,xm as Resizable,lo as RouteWithErrorBoundary,rn as ScrollArea,it as SearchBar,an as Select,nn as Separator,Im as Sheet,Rm as Sidebar,nt as Skeleton,ln as Slider,jm as Sonner,mo as StatCardGrid,Se as StatCards,uo as StatCardsWithChart,he as StatusBadge,pn as Switch,Ee as TabSystem,bn as Table,vn as TableBody,yn as TableCaption,kn as TableCell,xn as TableEmptyState,gn as TableHead,un as TableHeader,fn as TableRow,rp as Tabs,ze as TaskCreateForm,Le as TaskItem,Ie as TaskList,So as TasksView,fe as TemplateCard,Nn as Textarea,$r as Toast,_r as Toaster,Ur as Toggle,pp as ToggleGroup,fp as Tooltip};
20
+ [Your name]`,Ko=[{id:"1",campaignName:"Q1 Product Launch",recipients:"2840 recipients",status:"sent",opens:"68%",clicks:"24%",date:"Feb 12, 2026"},{id:"2",campaignName:"Welcome Series",recipients:"1200 recipients",status:"active",statusSubtext:"Running",opens:"-",clicks:"-",date:"Feb 28, 2026"},{id:"3",campaignName:"Re-engagement Campaign",recipients:"890 recipients",status:"draft",opens:"-",clicks:"-",date:"Feb 5, 2026"},{id:"4",campaignName:"Holiday Promo",recipients:"4500 recipients",status:"scheduled",opens:"-",clicks:"-",date:"Mar 1, 2026"}],jo=[{id:"1",category:"Onboarding",title:"Welcome Series",uses:"34 uses"},{id:"2",category:"Marketing",title:"Product Announcement",uses:"12 uses"},{id:"3",category:"Retention",title:"Renewal Reminder",uses:"28 uses"},{id:"4",category:"Sales",title:"Meeting Follow-up",uses:"56 uses"}],Uo=["Acme Corp - Sarah Chen","TechStart Inc - Mike Rodriguez","GlobalTech - Lisa Kim","Enterprise Co - John Smith","StartupXYZ - Emma Wilson"],Zs=[{key:"campaign",label:"Campaign"},{key:"status",label:"Status"},{key:"opens",label:"Opens"},{key:"clicks",label:"Clicks"},{key:"date",label:"Date"}],Qs=[{label:"Total Sent",value:"12.4K",change:"This month",changeVariant:"success"},{label:"Avg. Open Rate",value:"64%",change:"+8% vs prior",changeVariant:"success"},{label:"Avg. Click Rate",value:"22%",change:"+3% vs prior",changeVariant:"success"},{label:"Active Automations",value:"7",change:"3 paused",changeVariant:"error"}];function qo({onSendNow:t,onSchedule:e,onSaveDraft:r,onNewCampaign:a,onGenerateWithAI:i,onTemplateClick:n,className:s}){let[l,c]=_t("campaigns"),[d,b]=_t(""),[m,v]=_t(""),[p,g]=_t(""),[C,w]=_t(!1),[N,T]=_t(""),h=Mr(()=>{if(!d.trim())return Ko;let S=d.toLowerCase();return Ko.filter(F=>F.campaignName.toLowerCase().includes(S)||F.recipients.toLowerCase().includes(S))},[d]),y=Mr(()=>{if(!d.trim())return jo;let S=d.toLowerCase();return jo.filter(F=>F.title.toLowerCase().includes(S)||F.category.toLowerCase().includes(S))},[d]),k=Mr(()=>{if(!N.trim())return Uo;let S=N.toLowerCase();return Uo.filter(F=>F.toLowerCase().includes(S))},[N]),u=async()=>{w(!0),await new Promise(S=>setTimeout(S,1500)),g(Xs),w(!1)},x=()=>{t?.()},P=()=>{e?.()},M=()=>{r?.()},A=l==="campaigns"||l==="templates";return _("div",{className:o("flex min-h-screen flex-col bg-[var(--inkblot-semantic-color-background-primary)]",s),children:Kt("div",{className:"flex flex-1 flex-col gap-[var(--inkblot-spacing-8)] px-[var(--inkblot-spacing-8)] py-[var(--inkblot-spacing-8)]",children:[_(Ot,{title:"Email Campaigns",subtitle:"Automate outreach \xB7 AI-powered templates",icon:_(Ys,{className:"h-5 w-5"}),action:_(Ft,{label:"New Campaign",onClick:()=>a?.()})}),_($e,{tabs:[{id:"campaigns",label:"Campaigns"},{id:"templates",label:"Templates"},{id:"compose",label:"Compose"}],activeTabId:l,onTabChange:c}),A?_(vt,{placeholder:l==="campaigns"?"Search campaigns...":"Search templates...",value:d,onChange:S=>b(S.target.value)}):null,l==="campaigns"?Kt(Js,{children:[_(We,{items:Qs}),_(Ee,{columns:Zs,rows:h})]}):l==="templates"?_(Re,{templates:y,onGenerateWithAI:i,onTemplateClick:n}):Kt("div",{className:"flex max-w-2xl flex-col gap-[var(--inkblot-spacing-6)] rounded-[var(--inkblot-radius-xl)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-[var(--inkblot-spacing-6)] shadow-[var(--inkblot-shadow-sm)]",children:[Kt("div",{className:"flex flex-col gap-[var(--inkblot-spacing-6)]",children:[Kt("div",{className:"flex flex-col gap-[var(--inkblot-spacing-2)]",children:[_("label",{className:"uppercase tracking-wider text-[var(--inkblot-semantic-color-text-primary)] [font:var(--inkblot-semantic-typography-body-small)]",children:"Subject"}),_(Pt,{type:"text",value:m,onChange:S=>v(S.target.value),placeholder:"Enter subject line..."})]}),_(re,{label:"Body",value:p,onChange:S=>g(S.target.value),placeholder:"Compose your email or let AI generate content...",loading:C,onWriteWithAI:u}),Kt("div",{className:"flex flex-col gap-[var(--inkblot-spacing-2)]",children:[_(vt,{label:"Recipients",placeholder:"Search contacts, segments, or tags...",value:N,onChange:S=>T(S.target.value)}),k.length>0?_("ul",{className:"flex flex-wrap gap-[var(--inkblot-spacing-2)]",children:k.slice(0,5).map(S=>_("li",{className:o("rounded-[var(--inkblot-radius-md)]","bg-[var(--inkblot-semantic-color-background-secondary)]","px-[var(--inkblot-spacing-2)] py-[var(--inkblot-spacing-1)]","[font:var(--inkblot-semantic-typography-body-small)]","text-[var(--inkblot-semantic-color-text-secondary)]"),children:S},S))}):null]})]}),_(Se,{onSendNow:x,onSchedule:P,onSaveDraft:M})]})]})})}import{useMemo as tl,useState as el}from"react";import{ChevronDown as rl}from"lucide-react";import{jsx as Qe,jsxs as Yo}from"react/jsx-runtime";function ol({items:t,defaultValue:e,allowMultiple:r=!1,className:a}){let i=tl(()=>new Set(e??[]),[e]),[n,s]=el(i),l=c=>{s(d=>{let b=new Set(d);return b.has(c)?(b.delete(c),b):r?(b.add(c),b):new Set([c])})};return Qe("div",{className:o("w-full overflow-hidden rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)]",a),children:t.map((c,d)=>{let b=n.has(c.id);return Yo("div",{className:o(d!==0&&"border-t border-[var(--inkblot-semantic-color-border-default)]"),children:[Yo("button",{type:"button",disabled:c.disabled,"aria-expanded":b,onClick:()=>l(c.id),className:o("flex min-h-[var(--inkblot-size-touch-target-min)] w-full items-center justify-between gap-[var(--inkblot-spacing-3)] px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-3)] text-left text-[var(--inkblot-semantic-color-text-primary)] transition-colors duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)]",c.disabled?"cursor-not-allowed opacity-[var(--inkblot-opacity-disabled)]":"hover:bg-[var(--inkblot-semantic-color-background-tertiary)] focus-visible:outline focus-visible:outline-2 focus-visible:outline-[var(--inkblot-semantic-color-border-focus)] focus-visible:outline-offset-[-2px]"),children:[Qe("span",{className:"font-medium",children:c.title}),Qe(rl,{className:o("h-4 w-4 shrink-0 text-[var(--inkblot-semantic-color-text-tertiary)] transition-transform duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)]",b&&"rotate-180")})]}),b&&Qe("div",{className:"px-[var(--inkblot-spacing-4)] pb-[var(--inkblot-spacing-4)] text-sm text-[var(--inkblot-semantic-color-text-secondary)]",children:c.content})]},c.id)})})}import{AlertCircle as al,AlertTriangle as nl,CheckCircle2 as il,Info as sl}from"lucide-react";import{jsx as Sr,jsxs as Xo}from"react/jsx-runtime";var ll={info:"border-[var(--inkblot-semantic-color-status-info)] bg-[var(--inkblot-semantic-color-status-info)]/10 text-[var(--inkblot-semantic-color-text-primary)]",success:"border-[var(--inkblot-semantic-color-status-success)] bg-[var(--inkblot-semantic-color-status-success)]/10 text-[var(--inkblot-semantic-color-text-primary)]",warning:"border-[var(--inkblot-semantic-color-status-warning)] bg-[var(--inkblot-semantic-color-status-warning)]/10 text-[var(--inkblot-semantic-color-text-primary)]",error:"border-[var(--inkblot-semantic-color-status-error)] bg-[var(--inkblot-semantic-color-status-error)]/10 text-[var(--inkblot-semantic-color-text-primary)]"},cl={info:sl,success:il,warning:nl,error:al};function dl({title:t,description:e,variant:r="info",className:a}){let i=cl[r];return Xo("div",{role:"alert",className:o("flex w-full items-start gap-[var(--inkblot-spacing-3)] rounded-[var(--inkblot-radius-lg)] border px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-3)]",ll[r],a),children:[Sr(i,{className:"mt-0.5 h-4 w-4 shrink-0"}),Xo("div",{className:"flex min-w-0 flex-col gap-[var(--inkblot-spacing-1)]",children:[Sr("div",{className:"font-semibold",children:t}),e&&Sr("div",{className:"text-sm text-[var(--inkblot-semantic-color-text-secondary)]",children:e})]})]})}import{useCallback as Zo,useEffect as ml,useId as Qo,useRef as Er}from"react";import{AlertTriangle as pl}from"lucide-react";import{jsx as Rt,jsxs as Je}from"react/jsx-runtime";function bl({open:t,title:e,description:r,confirmLabel:a="Confirmar",cancelLabel:i="Cancelar",destructive:n=!1,confirmDisabled:s=!1,closeOnConfirm:l=!0,initialFocusRef:c,onOpenChange:d,onConfirm:b,onCancel:m,className:v}){let p=Er(null),g=Er(null),C=Er(null),w=Qo(),N=Qo(),T=Zo(()=>{m?.(),d?.(!1)},[m,d]),h=Zo(()=>{b?.(),l&&d?.(!1)},[l,b,d]);return ml(()=>{if(!t)return;C.current=document.activeElement instanceof HTMLElement?document.activeElement:null,(c?.current??g.current??p.current)?.focus();let k=u=>{u.key==="Escape"&&T()};return window.addEventListener("keydown",k),()=>{window.removeEventListener("keydown",k),C.current?.focus()}},[T,c,t]),t?Rt("div",{className:"fixed inset-0 z-50 grid place-items-center bg-[var(--inkblot-semantic-color-background-primary)]/70 px-[var(--inkblot-spacing-4)]",onClick:T,children:Je("div",{role:"alertdialog","aria-modal":"true","aria-labelledby":w,"aria-describedby":r?N:void 0,tabIndex:-1,ref:p,onClick:y=>y.stopPropagation(),className:o("w-full max-w-[520px] rounded-[var(--inkblot-radius-xl)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-[var(--inkblot-spacing-6)] text-[var(--inkblot-semantic-color-text-primary)] shadow-lg",v),children:[Je("div",{className:"mb-[var(--inkblot-spacing-4)] flex items-start gap-[var(--inkblot-spacing-3)]",children:[Rt("div",{className:o("mt-0.5 rounded-[var(--inkblot-radius-full)] p-[var(--inkblot-spacing-2)]",n?"bg-[var(--inkblot-semantic-color-status-error)]/15 text-[var(--inkblot-semantic-color-status-error)]":"bg-[var(--inkblot-semantic-color-status-warning)]/15 text-[var(--inkblot-semantic-color-status-warning)]"),children:Rt(pl,{className:"h-5 w-5"})}),Je("div",{className:"flex-1",children:[Rt("h2",{id:w,className:"text-lg font-semibold",children:e}),r&&Rt("p",{id:N,className:"mt-[var(--inkblot-spacing-2)] text-sm text-[var(--inkblot-semantic-color-text-secondary)]",children:r})]})]}),Je("div",{className:"flex flex-wrap justify-end gap-[var(--inkblot-spacing-2)]",children:[Rt("button",{type:"button",ref:g,onClick:T,className:"inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center rounded-[var(--inkblot-radius-md)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-interactive-secondary)] px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)] font-medium text-[var(--inkblot-semantic-color-text-primary)] transition-colors duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)] hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)] active:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)]",children:i}),Rt("button",{type:"button",disabled:s,onClick:h,className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center rounded-[var(--inkblot-radius-md)] px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)] font-medium text-[var(--inkblot-semantic-color-text-inverse)] transition-colors duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)] disabled:cursor-not-allowed disabled:opacity-[var(--inkblot-opacity-disabled)]",n?"bg-[var(--inkblot-semantic-color-status-error)] hover:bg-[var(--inkblot-semantic-color-status-error)]/85 active:bg-[var(--inkblot-semantic-color-status-error)]/80":"bg-[var(--inkblot-semantic-color-interactive-primary)] hover:bg-[var(--inkblot-semantic-color-interactive-primary-hover)] active:bg-[var(--inkblot-semantic-color-interactive-primary-active)]"),children:a})]})]})}):null}import{useEffect as ul,useRef as vl,useState as Lr}from"react";import{Check as gl,Loader2 as fl,Sparkles as Jo}from"lucide-react";import{Fragment as Ir,jsx as lt,jsxs as jt}from"react/jsx-runtime";var kl=["Write a product launch announcement for a SaaS tool","Create a re-engagement email for churned users","Draft a welcome email for new customers","Write a quarterly business review summary","Create a seasonal promotion email with urgency"];function Ak({value:t,defaultValue:e="",onValueChange:r,isGenerating:a,onGeneratingChange:i,generated:n,onGeneratedChange:s,generationDelayMs:l=1500,onSubmitPrompt:c,generateBlocks:d,onGenerate:b,suggestions:m=kl,className:v}){let[p,g]=Lr(e),[C,w]=Lr(!1),[N,T]=Lr(!1),h=vl(null),y=t!==void 0,k=y?t:p,u=a!==void 0,x=u?a:C,P=n!==void 0,M=P?n:N,A=L=>{y||g(L),r?.(L)},S=L=>{u||w(L),i?.(L)},F=L=>{P||T(L),s?.(L)};ul(()=>()=>{h.current!==null&&window.clearTimeout(h.current)},[]);let E=L=>{let G=Date.now();return[{id:`ai-${G}-1`,type:"heading",content:"Exciting News from Our Team"},{id:`ai-${G}-2`,type:"text",content:`Generated from prompt: ${L}`},{id:`ai-${G}-3`,type:"image",content:""},{id:`ai-${G}-4`,type:"text",content:"Our latest updates are designed to help you achieve more with less effort. We've built these improvements with your feedback in mind."},{id:`ai-${G}-5`,type:"button",content:"Learn More"},{id:`ai-${G}-6`,type:"divider",content:""},{id:`ai-${G}-7`,type:"text",content:`Best regards,
21
+ The Team`}]},B=async()=>{let L=k.trim();if(!L||x)return;c?.(L),S(!0);let G;d?G=await Promise.resolve(d(L)):(await new Promise(q=>{window.setTimeout(()=>q(),l)}),G=E(L)),b?.(G),S(!1),F(!0),h.current=window.setTimeout(()=>F(!1),1800)};return jt("section",{className:o(v),children:[jt("div",{className:"mb-2 flex items-center gap-2",children:[lt(Jo,{className:"h-4 w-4 text-[var(--inkblot-semantic-color-status-warning)]"}),lt("span",{className:"text-xs font-medium text-[var(--inkblot-semantic-color-text-primary)]",children:"AI Email Generator"})]}),jt("div",{className:"space-y-3",children:[lt("textarea",{value:k,onChange:L=>A(L.target.value),rows:3,placeholder:"Describe the email you want to create...",className:"w-full resize-none rounded-[var(--inkblot-radius-md)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] px-4 py-3 text-sm text-[var(--inkblot-semantic-color-text-primary)] placeholder:text-[var(--inkblot-semantic-color-text-tertiary)] outline-none"}),lt("div",{className:"flex flex-wrap gap-1.5",children:m.map(L=>lt("button",{type:"button",onClick:()=>A(L),className:"rounded-[var(--inkblot-radius-sm)] bg-[var(--inkblot-semantic-color-interactive-secondary)] px-2.5 py-1 text-[10px] text-[var(--inkblot-semantic-color-text-primary)] transition-opacity duration-[var(--inkblot-duration-fast)] hover:opacity-85",children:L},L))}),lt("button",{type:"button",onClick:B,disabled:!k.trim()||x,className:"flex items-center gap-2 rounded-[var(--inkblot-radius-md)] bg-[var(--inkblot-semantic-color-status-warning)]/10 px-4 py-2 text-xs font-medium text-[var(--inkblot-semantic-color-status-warning)] transition-opacity duration-[var(--inkblot-duration-fast)] disabled:opacity-40",children:x?jt(Ir,{children:[lt(fl,{className:"h-3 w-3 animate-spin"}),"Generating..."]}):M?jt(Ir,{children:[lt(gl,{className:"h-3 w-3"}),"Applied to editor"]}):jt(Ir,{children:[lt(Jo,{className:"h-3 w-3"}),"Generate Email"]})})]})]})}import{CheckSquare as xl,Command as hl,FileText as Nl,Mail as Cl,MessageSquare as wl,Settings as Tl,Users as Pl}from"lucide-react";import{jsx as Rr,jsxs as yl}from"react/jsx-runtime";function Ar({label:t,icon:e,active:r=!1,onClick:a,title:i,dataTour:n,className:s}){return yl("button",{type:"button",onClick:a,"data-tour":n,className:o("group relative flex h-10 w-10 shrink-0 items-center justify-center rounded-[var(--inkblot-radius-md)] border border-transparent transition-colors duration-[var(--inkblot-duration-fast)]",r?"bg-[var(--inkblot-semantic-color-interactive-secondary)] text-[var(--inkblot-semantic-color-text-primary)]":"text-[var(--inkblot-semantic-color-text-tertiary)] hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)] hover:text-[var(--inkblot-semantic-color-text-primary)]",s),title:i??t,"aria-current":r?"page":void 0,"aria-label":t,children:[Rr(e,{className:"h-[18px] w-[18px]","aria-hidden":!0}),r?Rr("span",{className:"absolute left-0 top-1/2 h-4 w-[2px] -translate-y-1/2 rounded-r bg-[var(--inkblot-semantic-color-interactive-primary)]"}):null,Rr("span",{className:"pointer-events-none absolute left-full z-50 ml-3 whitespace-nowrap rounded-[var(--inkblot-radius-sm)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] px-2 py-1 text-xs font-medium text-[var(--inkblot-semantic-color-text-primary)] opacity-0 transition-opacity duration-[var(--inkblot-duration-fast)] group-hover:opacity-100",children:t})]})}import{jsx as Ut,jsxs as ta}from"react/jsx-runtime";var Ml=[{id:"canvas",icon:wl,label:"Canvas",path:"/",dataTour:"nav-canvas"},{id:"invoices",icon:Nl,label:"Invoices & Deals",path:"/invoices",dataTour:"nav-invoices"},{id:"contacts",icon:Pl,label:"Contacts",path:"/contacts",dataTour:"nav-contacts"},{id:"campaigns",icon:Cl,label:"Campaigns",path:"/campaigns",dataTour:"nav-campaigns"},{id:"tasks",icon:xl,label:"Tasks",path:"/tasks",dataTour:"nav-tasks"}],Sl=[{id:"settings",icon:Tl,label:"Settings",path:"/settings",dataTour:"nav-settings"}];function ea({items:t=Ml,bottomItems:e=Sl,activePath:r="/",onNavigate:a,logo:i,showStatusDot:n=!0,className:s}){return ta("aside",{"data-tour":"sidebar",className:o("flex h-full w-16 flex-col items-center gap-1 border-r border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] py-4",s),children:[Ut("div",{className:"mb-6 flex h-9 w-9 items-center justify-center rounded-[var(--inkblot-radius-md)] bg-[var(--inkblot-semantic-color-interactive-primary)]",children:i??Ut(hl,{className:"h-4 w-4 text-[var(--inkblot-semantic-color-text-inverse)]","aria-hidden":!0})}),Ut("nav",{className:"hide-scrollbar flex flex-1 flex-col gap-1 overflow-y-auto",children:t.map(l=>Ut(Ar,{label:l.label,icon:l.icon,active:l.path===r,onClick:()=>a?.(l.path),dataTour:l.dataTour},l.id))}),ta("div",{className:"flex flex-col gap-1",children:[e.map(l=>Ut(Ar,{label:l.label,icon:l.icon,active:l.path===r,onClick:()=>a?.(l.path),dataTour:l.dataTour},l.id)),n?Ut("span",{"data-tour":"system-status",className:"mx-auto mt-2 h-2 w-2 animate-pulse rounded-full bg-[var(--inkblot-semantic-color-status-success)]",title:"System Online"}):null]})]})}import{CreditCard as ra,FileText as El,GitBranch as Ll,Mail as Il,Phone as Rl,Zap as Al}from"lucide-react";import{jsx as nt,jsxs as pe}from"react/jsx-runtime";var Dl=[{id:1,icon:Il,title:"Email opened",meta:"Jane Smith \xB7 Acme Corp",time:"2m ago",status:"info"},{id:2,icon:ra,title:"Invoice #1042 paid",meta:"$24,500 \xB7 TechVentures",time:"8m ago",status:"success"},{id:3,icon:Al,title:"Pipeline stage changed",meta:"Negotiation \u2192 Closing",time:"14m ago",status:"warning"},{id:4,icon:Rl,title:"Call completed",meta:"12 min \xB7 Mark Johnson",time:"23m ago",status:"info"},{id:5,icon:El,title:"Contract signed",meta:"NDA \xB7 GlobalTech Inc",time:"1h ago",status:"success"},{id:6,icon:Ll,title:"New relationship detected",meta:"Acme \u2194 DataFlow Labs",time:"2h ago",status:"info"},{id:7,icon:ra,title:"Invoice overdue",meta:"$8,200 \xB7 StartupXYZ",time:"3h ago",status:"danger"}],Hl={success:"bg-[var(--inkblot-semantic-color-status-success)]",warning:"bg-[var(--inkblot-semantic-color-status-warning)]",error:"bg-[var(--inkblot-semantic-color-status-error)]",danger:"bg-[var(--inkblot-semantic-color-status-error)]",info:"bg-[var(--inkblot-semantic-color-status-info)]"};function Dr({title:t="Event Stream",liveLabel:e="Live",events:r=Dl,onItemClick:a,className:i}){return pe("section",{className:o("p-4",i),children:[pe("header",{className:"mb-4 flex items-center justify-between",children:[nt("h3",{className:"text-xs font-medium uppercase tracking-wide text-[var(--inkblot-semantic-color-text-tertiary)]",children:t}),nt("span",{className:"text-[10px] font-medium text-[var(--inkblot-semantic-color-text-tertiary)]",children:e})]}),nt("ul",{className:"space-y-1",children:r.map(n=>{let s=n.icon;return nt("li",{children:pe("button",{type:"button",onClick:()=>a?.(n),className:"group flex w-full items-start gap-3 rounded-[var(--inkblot-radius-md)] px-2.5 py-2.5 text-left transition-colors duration-[var(--inkblot-duration-fast)] hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)]",children:[nt("span",{className:"mt-0.5 flex h-7 w-7 shrink-0 items-center justify-center rounded-[var(--inkblot-radius-sm)] bg-[var(--inkblot-semantic-color-background-tertiary)]",children:nt(s,{className:"h-3.5 w-3.5 text-[var(--inkblot-semantic-color-text-tertiary)] group-hover:text-[var(--inkblot-semantic-color-text-secondary)]","aria-hidden":!0})}),pe("span",{className:"min-w-0 flex-1",children:[pe("span",{className:"flex items-center gap-2",children:[nt("span",{className:o("h-1.5 w-1.5 shrink-0 rounded-full",Hl[n.status])}),nt("span",{className:"truncate text-xs font-medium text-[var(--inkblot-semantic-color-text-primary)]",children:n.title})]}),nt("span",{className:"mt-0.5 block truncate text-[10px] text-[var(--inkblot-semantic-color-text-tertiary)]",children:n.meta})]}),nt("span",{className:"mt-0.5 shrink-0 text-[10px] text-[var(--inkblot-semantic-color-text-tertiary)]",children:n.time})]})},n.id)})})]})}import{useState as qt,useRef as Bl}from"react";import{motion as oa,AnimatePresence as zl}from"framer-motion";import{Send as Vl,Sparkles as aa,Activity as Ol,ChevronDown as Fl,FileText as Gl,Mail as Wl,Users as $l,CheckSquare as _l,MessageSquare as Kl,Paperclip as Hr,X as jl}from"lucide-react";import{Fragment as Xl,jsx as R,jsxs as j}from"react/jsx-runtime";var Ul=[{id:"general",label:"General",icon:Kl,description:"Full CRM assistant"},{id:"invoices",label:"Invoices",icon:Gl,description:"Create & manage invoices"},{id:"campaigns",label:"Campaigns",icon:Wl,description:"Email campaigns & templates"},{id:"contacts",label:"Contacts",icon:$l,description:"Contact management"},{id:"tasks",label:"Tasks",icon:_l,description:"Task automation"}],ql={general:{text:"Here's an overview of your CRM data with entity profile and intelligence scores.",cards:["entity","intelligence"]},invoices:{text:"I've pulled up your latest invoice data and deal health metrics.",cards:["entity","intelligence"]},campaigns:{text:"Analyzing your campaign performance. Here are the key insights.",cards:["intelligence"]},contacts:{text:"Here's the contact profile and relationship intelligence.",cards:["entity"]},tasks:{text:"I've reviewed your task queue. Here's what needs attention.",cards:["intelligence"]}},Yl=[{id:"1",role:"assistant",content:"Welcome to Citron OS. I'm your AI assistant \u2014 ask me anything about your revenue operations."}];function tr({defaultTab:t="chat",tab:e,onTabChange:r,agents:a=Ul,defaultAgent:i,agent:n,onAgentChange:s,messages:l,defaultMessages:c=Yl,onMessagesChange:d,onSend:b,onAddCanvasBlocks:m,agentResponses:v=ql,autoRespond:p=!0,autoRespondDelayMs:g=800,renderEventsTab:C,className:w}){let[N,T]=qt(t),[h,y]=qt(i??a[0]),[k,u]=qt(!1),[x,P]=qt(c),[M,A]=qt(""),[S,F]=qt([]),E=Bl(null),B=e!==void 0,L=B?e:N,G=n!==void 0,q=G?n:h,he=l!==void 0,Ne=he?l:x,Ce=f=>{B||T(f),r?.(f)},we=f=>{G||y(f),s?.(f)},te=f=>{he||P(f),d?.(f)},ee=()=>{if(!M.trim()&&S.length===0)return;let f=S.map(X=>X.name),W={id:Date.now().toString(),role:"user",content:M||`Attached ${f.length} file(s)`,files:f.length>0?f:void 0},mt=[...Ne,W];if(te(mt),b?.(M,S),A(""),F([]),m){let X=`loading-${Date.now()}`;m([{id:X,type:"loading"}])}p&&setTimeout(()=>{let X=v[q.id]??v.general??{text:"Processing your request...",cards:[]};te([...mt,{id:(Date.now()+1).toString(),role:"assistant",content:X.text}]),m&&m([{id:`text-${Date.now()}`,type:"text",content:`[${q.label}] ${X.text}`},...X.cards.map((mr,Wn)=>({id:`card-${Date.now()}-${Wn}`,type:mr}))])},g)},Te=f=>{f.target.files&&F(W=>[...W,...Array.from(f.target.files)]),E.current&&(E.current.value="")},Pe=f=>{F(W=>W.filter((mt,X)=>X!==f))},dr=q.icon;return j("div",{className:o("flex h-full flex-col bg-[var(--inkblot-semantic-color-background-secondary)]",w),children:[j("div",{className:"flex border-b border-[var(--inkblot-semantic-color-border-default)]",children:[j("button",{type:"button",onClick:()=>Ce("chat"),className:o("flex flex-1 items-center justify-center gap-1.5 px-3 py-2.5 text-xs font-medium transition-colors duration-[var(--inkblot-duration-fast)]",L==="chat"?"border-b-2 border-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-primary)]":"text-[var(--inkblot-semantic-color-text-tertiary)] hover:text-[var(--inkblot-semantic-color-text-primary)]"),children:[R(aa,{className:"h-3 w-3","aria-hidden":!0}),"AI Chat"]}),j("button",{type:"button",onClick:()=>Ce("events"),className:o("flex flex-1 items-center justify-center gap-1.5 px-3 py-2.5 text-xs font-medium transition-colors duration-[var(--inkblot-duration-fast)]",L==="events"?"border-b-2 border-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-primary)]":"text-[var(--inkblot-semantic-color-text-tertiary)] hover:text-[var(--inkblot-semantic-color-text-primary)]"),children:[R(Ol,{className:"h-3 w-3","aria-hidden":!0}),"Events"]})]}),L==="events"?R("div",{className:"hide-scrollbar flex-1 overflow-y-auto",children:C?.()}):j(Xl,{children:[j("div",{className:"relative border-b border-[var(--inkblot-semantic-color-border-default)] px-3 py-2",children:[j("button",{type:"button",onClick:()=>u(!k),className:"flex w-full items-center gap-2 rounded-[var(--inkblot-radius-md)] px-2.5 py-1.5 transition-colors duration-[var(--inkblot-duration-fast)] hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)]",children:[R(dr,{className:"h-3.5 w-3.5 text-[var(--inkblot-semantic-color-interactive-primary)]","aria-hidden":!0}),j("span",{className:"text-xs font-medium text-[var(--inkblot-semantic-color-text-primary)]",children:[q.label," Agent"]}),R(Fl,{className:o("ml-auto h-3 w-3 text-[var(--inkblot-semantic-color-text-tertiary)] transition-transform duration-[var(--inkblot-duration-fast)]",k&&"rotate-180"),"aria-hidden":!0})]}),R(zl,{children:k&&R(oa.div,{initial:{opacity:0,y:-4},animate:{opacity:1,y:0},exit:{opacity:0,y:-4},transition:{duration:.15},className:"glass absolute left-3 right-3 top-full z-50 mt-1 rounded-[var(--inkblot-radius-md)] py-1 shadow-[var(--inkblot-shadow-lg)]",children:a.map(f=>{let W=f.icon;return j("button",{type:"button",onClick:()=>{we(f),u(!1)},className:o("flex w-full items-center gap-2.5 px-3 py-2 text-left transition-colors duration-[var(--inkblot-duration-fast)] hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)]",q.id===f.id&&"bg-[var(--inkblot-semantic-color-interactive-secondary)]"),children:[R(W,{className:"h-3.5 w-3.5 text-[var(--inkblot-semantic-color-text-tertiary)]","aria-hidden":!0}),j("div",{children:[R("p",{className:"text-xs font-medium text-[var(--inkblot-semantic-color-text-primary)]",children:f.label}),R("p",{className:"text-[10px] text-[var(--inkblot-semantic-color-text-tertiary)]",children:f.description})]})]},f.id)})})})]}),R("div",{className:"hide-scrollbar flex-1 space-y-3 overflow-y-auto px-3 py-3",children:Ne.map(f=>R(oa.div,{initial:{opacity:0,y:8},animate:{opacity:1,y:0},transition:{duration:.2},className:f.role==="user"?"flex justify-end":"",children:f.role==="user"?j("div",{className:"max-w-[85%]",children:[f.files&&f.files.length>0&&R("div",{className:"mb-1 flex flex-wrap justify-end gap-1",children:f.files.map((W,mt)=>j("span",{className:"flex items-center gap-1 rounded-[var(--inkblot-radius-sm)] bg-[var(--inkblot-semantic-color-interactive-secondary)] px-1.5 py-0.5 text-[10px] text-[var(--inkblot-semantic-color-text-tertiary)]",children:[R(Hr,{className:"h-2 w-2","aria-hidden":!0}),W]},mt))}),R("div",{className:"rounded-2xl rounded-br-sm bg-[var(--inkblot-semantic-color-interactive-secondary)] px-3 py-2 text-xs leading-relaxed text-[var(--inkblot-semantic-color-text-primary)]",children:f.content})]}):j("div",{className:"flex items-start gap-2",children:[R("div",{className:"mt-0.5 flex h-5 w-5 shrink-0 items-center justify-center rounded-[var(--inkblot-radius-sm)] bg-[var(--inkblot-semantic-color-interactive-primary)]/15",children:R(aa,{className:"h-2.5 w-2.5 text-[var(--inkblot-semantic-color-interactive-primary)]","aria-hidden":!0})}),R("p",{className:"text-xs leading-relaxed text-[var(--inkblot-semantic-color-text-secondary)]",children:f.content})]})},f.id))}),S.length>0&&R("div",{className:"flex flex-wrap gap-1.5 border-t border-[var(--inkblot-semantic-color-border-default)]/50 px-3 py-2",children:S.map((f,W)=>j("span",{className:"flex items-center gap-1.5 rounded-[var(--inkblot-radius-sm)] bg-[var(--inkblot-semantic-color-interactive-secondary)] px-2 py-1 text-[10px] text-[var(--inkblot-semantic-color-text-primary)]",children:[R(Hr,{className:"h-2.5 w-2.5 text-[var(--inkblot-semantic-color-text-tertiary)]","aria-hidden":!0}),f.name,R("button",{type:"button",onClick:()=>Pe(W),className:"text-[var(--inkblot-semantic-color-text-tertiary)] transition-colors duration-[var(--inkblot-duration-fast)] hover:text-[var(--inkblot-semantic-color-status-error)]","aria-label":`Remove ${f.name}`,children:R(jl,{className:"h-2.5 w-2.5"})})]},W))}),R("div",{className:"border-t border-[var(--inkblot-semantic-color-border-default)] px-3 py-2.5",children:j("div",{className:"glass flex items-center gap-2 rounded-[var(--inkblot-radius-md)] px-3 py-2",children:[R("input",{type:"file",ref:E,onChange:Te,multiple:!0,className:"hidden"}),R("button",{type:"button",onClick:()=>E.current?.click(),className:"flex h-6 w-6 shrink-0 items-center justify-center rounded-[var(--inkblot-radius-sm)] text-[var(--inkblot-semantic-color-text-tertiary)] transition-colors duration-[var(--inkblot-duration-fast)] hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)] hover:text-[var(--inkblot-semantic-color-text-primary)]",title:"Attach files","aria-label":"Attach files",children:R(Hr,{className:"h-3 w-3"})}),R("input",{type:"text",value:M,onChange:f=>A(f.target.value),onKeyDown:f=>{f.key==="Enter"&&ee()},placeholder:`Ask ${q.label} agent...`,className:"flex-1 bg-transparent text-xs text-[var(--inkblot-semantic-color-text-primary)] outline-none placeholder:text-[var(--inkblot-semantic-color-text-tertiary)]"}),R("button",{type:"button",onClick:ee,disabled:!M.trim()&&S.length===0,className:"flex h-6 w-6 items-center justify-center rounded-[var(--inkblot-radius-sm)] bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)] transition-opacity duration-[var(--inkblot-duration-fast)] hover:opacity-90 disabled:opacity-30","aria-label":"Send message",children:R(Vl,{className:"h-3 w-3"})})]})})]})]})}import{createContext as Zl,useContext as Ql,useState as Jl,useCallback as na}from"react";import{jsx as rc}from"react/jsx-runtime";var ia=Zl(null);function tc(){let t=Ql(ia);if(!t)throw new Error("useCanvas must be used within a CanvasProvider");return t}var ec=[{id:"welcome-1",type:"text",content:"Welcome to Citron OS. Use the AI chat on the right to interact with your revenue engine."},{id:"welcome-2",type:"entity"},{id:"welcome-3",type:"intelligence"}];function Br({children:t,initialBlocks:e=ec}){let[r,a]=Jl(e),i=na(s=>{a(l=>[...l,...s])},[]),n=na(()=>{a([])},[]);return rc(ia.Provider,{value:{blocks:r,addBlocks:i,clearBlocks:n},children:t})}import{jsx as At,jsxs as sa}from"react/jsx-runtime";function xy({children:t,showEventFeed:e=!1,showRightPanel:r=!1,sidebarProps:a,eventFeedProps:i,rightPanelProps:n,canvasProviderProps:s,className:l}){let c=r||e,d=sa("div",{className:o("flex h-screen w-full overflow-hidden bg-[var(--inkblot-semantic-color-background-primary)]",l),children:[At(ea,{...a}),sa("main",{className:"flex flex-1 overflow-hidden",children:[At("section",{"data-tour":"canvas",className:"hide-scrollbar flex-1 overflow-y-auto",children:t}),c?At("aside",{"data-tour":"right-panel",className:"flex w-80 flex-col overflow-hidden border-l border-[var(--inkblot-semantic-color-border-default)]",children:r?At(tr,{renderEventsTab:()=>At(Dr,{...i}),...n}):At(Dr,{...i})}):null]})]});return r?At(Br,{...s,children:d}):d}import{jsx as la,jsxs as ac}from"react/jsx-runtime";function oc({ratio:t=16/9,children:e,className:r}){let a=Number.isFinite(t)&&t>0?t:1.7777777777777777;return ac("div",{className:o("relative w-full overflow-hidden",r),children:[la("div",{style:{paddingTop:`${1/a*100}%`}}),la("div",{className:"absolute inset-0",children:e})]})}import{useState as nc}from"react";import{User as ic}from"lucide-react";import{jsx as er}from"react/jsx-runtime";var sc={sm:"h-8 w-8 text-xs",md:"h-10 w-10 text-sm",lg:"h-14 w-14 text-base"};function lc({src:t,alt:e="Avatar",fallback:r,size:a="md",disabled:i=!1,className:n}){let[s,l]=nc(!1),c=!!(t&&!s);return er("span",{"aria-disabled":i,className:o("inline-flex shrink-0 items-center justify-center overflow-hidden rounded-[var(--inkblot-radius-full)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-tertiary)] text-[var(--inkblot-semantic-color-text-secondary)]",i&&"opacity-[var(--inkblot-opacity-disabled)]",sc[a],n),children:c?er("img",{src:t,alt:e,onError:()=>l(!0),className:"h-full w-full object-cover"}):r?er("span",{className:"font-medium uppercase",children:r.slice(0,2)}):er(ic,{className:"h-4 w-4"})})}import{jsx as mc}from"react/jsx-runtime";var cc={default:"bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)]",secondary:"bg-[var(--inkblot-semantic-color-background-tertiary)] text-[var(--inkblot-semantic-color-text-primary)]",success:"bg-[var(--inkblot-semantic-color-status-success)]/15 text-[var(--inkblot-semantic-color-status-success)]",warning:"bg-[var(--inkblot-semantic-color-status-warning)]/15 text-[var(--inkblot-semantic-color-status-warning)]",error:"bg-[var(--inkblot-semantic-color-status-error)]/15 text-[var(--inkblot-semantic-color-status-error)]",outline:"border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] text-[var(--inkblot-semantic-color-text-primary)]"};function dc({children:t,variant:e="default",disabled:r=!1,className:a}){return mc("span",{"aria-disabled":r,className:o("inline-flex min-h-[calc(var(--inkblot-size-touch-target-min)-1rem)] items-center justify-center rounded-[var(--inkblot-radius-full)] px-[var(--inkblot-spacing-2)] py-[var(--inkblot-spacing-1)] text-xs font-semibold transition-colors duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)]",cc[e],r&&"opacity-[var(--inkblot-opacity-disabled)]",a),children:t})}import{ChevronRight as pc}from"lucide-react";import{jsx as be,jsxs as uc}from"react/jsx-runtime";function bc({items:t,className:e}){return be("nav",{"aria-label":"Breadcrumb",className:o("w-full",e),children:be("ol",{className:"flex flex-wrap items-center gap-[var(--inkblot-spacing-2)]",children:t.map((r,a)=>{let i=r.href&&!r.disabled&&!r.current?be("a",{href:r.href,onClick:r.onClick,className:"rounded-[var(--inkblot-radius-sm)] text-sm text-[var(--inkblot-semantic-color-text-secondary)] transition-colors duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)] hover:text-[var(--inkblot-semantic-color-text-primary)]",children:r.label}):be("span",{"aria-current":r.current?"page":void 0,className:o("text-sm",r.current?"font-semibold text-[var(--inkblot-semantic-color-text-primary)]":"text-[var(--inkblot-semantic-color-text-tertiary)]",r.disabled&&"opacity-[var(--inkblot-opacity-disabled)]"),children:r.label});return uc("li",{className:"flex items-center gap-[var(--inkblot-spacing-2)]",children:[i,a<t.length-1&&be(pc,{className:"h-4 w-4 text-[var(--inkblot-semantic-color-text-tertiary)]"})]},r.id)})})})}import{useMemo as ca,useState as vc}from"react";import{ChevronLeft as gc,ChevronRight as fc}from"lucide-react";import{jsx as kt,jsxs as Vr}from"react/jsx-runtime";var kc=["L","M","X","J","V","S","D"];function da(t){return new Date(t.getFullYear(),t.getMonth(),1)}function yc(t){return new Date(t.getFullYear(),t.getMonth()+1,0)}function xc(t,e){return t.getFullYear()===e.getFullYear()&&t.getMonth()===e.getMonth()&&t.getDate()===e.getDate()}function zr(t){return`${t.getFullYear()}-${t.getMonth()}-${t.getDate()}`}function hc(t){let e=da(t),r=yc(t),a=(e.getDay()+6)%7,i=r.getDate(),n=[];for(let s=0;s<a;s+=1)n.push(null);for(let s=1;s<=i;s+=1)n.push(new Date(t.getFullYear(),t.getMonth(),s));for(;n.length%7!==0;)n.push(null);return n}function Nc({value:t,onChange:e,disabledDates:r,className:a}){let i=t??new Date,[n,s]=vc(da(i)),l=ca(()=>hc(n),[n]),c=ca(()=>new Set((r??[]).map(zr)),[r]);return Vr("div",{className:o("w-[320px] rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-[var(--inkblot-spacing-4)] text-[var(--inkblot-semantic-color-text-primary)]",a),children:[Vr("div",{className:"mb-[var(--inkblot-spacing-3)] flex items-center justify-between",children:[kt("button",{type:"button",onClick:()=>s(new Date(n.getFullYear(),n.getMonth()-1,1)),className:"inline-flex h-8 w-8 items-center justify-center rounded-[var(--inkblot-radius-md)] text-[var(--inkblot-semantic-color-text-secondary)] hover:bg-[var(--inkblot-semantic-color-background-tertiary)]",children:kt(gc,{className:"h-4 w-4"})}),kt("div",{className:"font-semibold",children:n.toLocaleDateString("es-ES",{month:"long",year:"numeric"})}),kt("button",{type:"button",onClick:()=>s(new Date(n.getFullYear(),n.getMonth()+1,1)),className:"inline-flex h-8 w-8 items-center justify-center rounded-[var(--inkblot-radius-md)] text-[var(--inkblot-semantic-color-text-secondary)] hover:bg-[var(--inkblot-semantic-color-background-tertiary)]",children:kt(fc,{className:"h-4 w-4"})})]}),Vr("div",{className:"grid grid-cols-7 gap-[var(--inkblot-spacing-1)]",children:[kc.map(d=>kt("div",{className:"pb-[var(--inkblot-spacing-1)] text-center text-xs font-medium text-[var(--inkblot-semantic-color-text-tertiary)]",children:d},d)),l.map((d,b)=>{if(!d)return kt("div",{className:"h-9"},`empty-${b}`);let m=c.has(zr(d)),v=t?xc(d,t):!1;return kt("button",{type:"button",disabled:m,onClick:()=>e?.(d),className:o("h-9 rounded-[var(--inkblot-radius-md)] text-sm transition-colors duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)]",v?"bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)]":"text-[var(--inkblot-semantic-color-text-primary)] hover:bg-[var(--inkblot-semantic-color-background-tertiary)]",m&&"cursor-not-allowed opacity-[var(--inkblot-opacity-disabled)]"),children:d.getDate()},zr(d))})]})]})}import{jsx as Yt}from"react/jsx-runtime";function Cc({className:t,interactive:e=!1,disabled:r=!1,...a}){return Yt("div",{"aria-disabled":r,className:o("w-full rounded-[var(--inkblot-radius-xl)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] text-[var(--inkblot-semantic-color-text-primary)]",e&&"transition-[border-color,transform,background] duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)] hover:border-[var(--inkblot-semantic-color-border-strong)] hover:bg-[var(--inkblot-semantic-color-background-tertiary)] active:translate-y-px",r&&"pointer-events-none opacity-[var(--inkblot-opacity-disabled)]",t),...a})}function wc({className:t,...e}){return Yt("div",{className:o("flex flex-col gap-[var(--inkblot-spacing-1)] p-[var(--inkblot-spacing-5)]",t),...e})}function Tc({className:t,...e}){return Yt("h3",{className:o("text-base font-semibold text-[var(--inkblot-semantic-color-text-primary)]",t),...e})}function Pc({className:t,...e}){return Yt("p",{className:o("text-sm text-[var(--inkblot-semantic-color-text-secondary)]",t),...e})}function Mc({className:t,...e}){return Yt("div",{className:o("px-[var(--inkblot-spacing-5)] pb-[var(--inkblot-spacing-5)]",t),...e})}function Sc({className:t,...e}){return Yt("div",{className:o("flex items-center justify-end gap-[var(--inkblot-spacing-2)] border-t border-[var(--inkblot-semantic-color-border-default)] px-[var(--inkblot-spacing-5)] py-[var(--inkblot-spacing-4)]",t),...e})}import{useState as Ec}from"react";import{ChevronLeft as Lc,ChevronRight as Ic}from"lucide-react";import{jsx as yt,jsxs as Or}from"react/jsx-runtime";function Rc({items:t,initialIndex:e=0,loop:r=!1,className:a}){let[i,n]=Ec(Math.min(Math.max(e,0),Math.max(t.length-1,0))),s=r||i>0,l=r||i<t.length-1,c=()=>{if(t.length!==0){if(r){n(b=>(b-1+t.length)%t.length);return}n(b=>Math.max(b-1,0))}},d=()=>{if(t.length!==0){if(r){n(b=>(b+1)%t.length);return}n(b=>Math.min(b+1,t.length-1))}};return Or("div",{className:o("w-full rounded-[var(--inkblot-radius-xl)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-[var(--inkblot-spacing-4)]",a),children:[yt("div",{className:"relative overflow-hidden rounded-[var(--inkblot-radius-lg)]",children:yt("div",{className:"flex transition-transform duration-[var(--inkblot-duration-normal)] ease-[var(--inkblot-easing-default)]",style:{transform:`translateX(-${i*100}%)`},children:t.map((b,m)=>yt("div",{className:"w-full shrink-0",children:b},m))})}),Or("div",{className:"mt-[var(--inkblot-spacing-3)] flex items-center justify-between",children:[yt("div",{className:"text-sm text-[var(--inkblot-semantic-color-text-secondary)]",children:t.length>0?`${i+1} de ${t.length}`:"Sin elementos"}),Or("div",{className:"flex gap-[var(--inkblot-spacing-2)]",children:[yt("button",{type:"button",onClick:c,disabled:!s||t.length===0,className:"inline-flex h-9 w-9 items-center justify-center rounded-[var(--inkblot-radius-md)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-interactive-secondary)] text-[var(--inkblot-semantic-color-text-primary)] hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)] disabled:cursor-not-allowed disabled:opacity-[var(--inkblot-opacity-disabled)]",children:yt(Lc,{className:"h-4 w-4"})}),yt("button",{type:"button",onClick:d,disabled:!l||t.length===0,className:"inline-flex h-9 w-9 items-center justify-center rounded-[var(--inkblot-radius-md)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-interactive-secondary)] text-[var(--inkblot-semantic-color-text-primary)] hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)] disabled:cursor-not-allowed disabled:opacity-[var(--inkblot-opacity-disabled)]",children:yt(Ic,{className:"h-4 w-4"})})]})]})]})}import{jsx as Dt,jsxs as ma}from"react/jsx-runtime";function Ac({data:t,title:e="Rendimiento",emptyMessage:r="No hay datos para mostrar.",className:a}){let i=Math.max(...t.map(n=>n.value),0);return ma("div",{className:o("w-full rounded-[var(--inkblot-radius-xl)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-[var(--inkblot-spacing-5)]",a),children:[Dt("h3",{className:"mb-[var(--inkblot-spacing-4)] text-sm font-semibold text-[var(--inkblot-semantic-color-text-primary)]",children:e}),t.length===0?Dt("div",{className:"rounded-[var(--inkblot-radius-md)] bg-[var(--inkblot-semantic-color-background-tertiary)] px-[var(--inkblot-spacing-3)] py-[var(--inkblot-spacing-4)] text-sm text-[var(--inkblot-semantic-color-text-secondary)]",children:r}):Dt("div",{className:"flex flex-col gap-[var(--inkblot-spacing-3)]",children:t.map(n=>{let s=i>0?n.value/i*100:0;return ma("div",{className:"grid grid-cols-[120px_1fr_48px] items-center gap-[var(--inkblot-spacing-3)]",children:[Dt("span",{className:"truncate text-sm text-[var(--inkblot-semantic-color-text-secondary)]",children:n.label}),Dt("div",{className:"h-3 overflow-hidden rounded-[var(--inkblot-radius-full)] bg-[var(--inkblot-semantic-color-background-tertiary)]",children:Dt("div",{className:"h-full rounded-[var(--inkblot-radius-full)] bg-[var(--inkblot-semantic-color-interactive-primary)]",style:{width:`${s}%`,backgroundColor:n.color??"var(--inkblot-semantic-color-interactive-primary)"}})}),Dt("span",{className:"text-right text-sm font-medium text-[var(--inkblot-semantic-color-text-primary)]",children:n.value})]},n.id)})})]})}import{useState as Dc}from"react";import{Check as Hc}from"lucide-react";import{jsx as rr,jsxs as pa}from"react/jsx-runtime";function Bc({checked:t,defaultChecked:e=!1,onCheckedChange:r,label:a,description:i,disabled:n=!1,error:s=!1,className:l}){let[c,d]=Dc(e),b=t!==void 0,m=b?t:c,v=p=>{b||d(p),r?.(p)};return pa("label",{className:o("inline-flex items-start gap-[var(--inkblot-spacing-3)] text-[var(--inkblot-semantic-color-text-primary)]",n&&"cursor-not-allowed opacity-[var(--inkblot-opacity-disabled)]",l),children:[rr("button",{type:"button",role:"checkbox","aria-checked":m,disabled:n,onClick:()=>v(!m),className:o("mt-0.5 inline-flex h-5 w-5 shrink-0 items-center justify-center rounded-[var(--inkblot-radius-sm)] border transition-colors duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)] focus-visible:outline focus-visible:outline-2 focus-visible:outline-[var(--inkblot-semantic-color-border-focus)] focus-visible:outline-offset-2",m?"border-[var(--inkblot-semantic-color-interactive-primary)] bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)]":"border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] hover:border-[var(--inkblot-semantic-color-border-strong)]",s&&!m&&"border-[var(--inkblot-semantic-color-status-error)]"),children:m&&rr(Hc,{className:"h-4 w-4"})}),(a||i)&&pa("span",{className:"flex flex-col gap-[var(--inkblot-spacing-1)]",children:[a&&rr("span",{className:"text-sm font-medium",children:a}),i&&rr("span",{className:o("text-xs text-[var(--inkblot-semantic-color-text-secondary)]",s&&!m&&"text-[var(--inkblot-semantic-color-status-error)]"),children:i})]})]})}import{jsx as ue,jsxs as Fr}from"react/jsx-runtime";var zc={success:"var(--inkblot-semantic-color-status-success)",warning:"var(--inkblot-semantic-color-status-warning)",error:"var(--inkblot-semantic-color-status-error)",info:"var(--inkblot-semantic-color-status-info)",primary:"var(--inkblot-semantic-color-interactive-primary)"};function ba({label:t,value:e,tone:r="primary",color:a,inverted:i=!1,size:n=72,className:s}){let l=Math.max(0,Math.min(100,e)),c=i?100-l:l,d=5,b=(n-d)/2,m=2*Math.PI*b,v=m-c/100*m,p=a??zc[r];return ue("div",{className:s,children:Fr("div",{className:"flex flex-col items-center gap-2",children:[Fr("div",{className:"relative",style:{width:n,height:n},children:[Fr("svg",{width:n,height:n,className:"-rotate-90",children:[ue("circle",{cx:n/2,cy:n/2,r:b,fill:"none",stroke:"var(--inkblot-semantic-color-background-tertiary)",strokeWidth:d}),ue("circle",{cx:n/2,cy:n/2,r:b,fill:"none",stroke:p,strokeWidth:d,strokeDasharray:m,strokeDashoffset:v,strokeLinecap:"round",className:"transition-[stroke-dashoffset] duration-[var(--inkblot-duration-fast)]"})]}),ue("span",{className:"absolute inset-0 flex items-center justify-center text-sm font-semibold text-[var(--inkblot-semantic-color-text-primary)]",children:l})]}),ue("span",{className:"text-center text-[10px] leading-tight text-[var(--inkblot-semantic-color-text-tertiary)]",children:t})]})})}import{useState as Vc}from"react";import{ChevronDown as Oc}from"lucide-react";import{jsx as Gr,jsxs as ua}from"react/jsx-runtime";function Fc({title:t,children:e,defaultOpen:r=!1,disabled:a=!1,className:i}){let[n,s]=Vc(r);return ua("div",{className:o("w-full rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)]",a&&"opacity-[var(--inkblot-opacity-disabled)]",i),children:[ua("button",{type:"button",disabled:a,"aria-expanded":n,onClick:()=>s(l=>!l),className:o("flex min-h-[var(--inkblot-size-touch-target-min)] w-full items-center justify-between gap-[var(--inkblot-spacing-3)] px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-3)] text-left text-[var(--inkblot-semantic-color-text-primary)]",!a&&"hover:bg-[var(--inkblot-semantic-color-background-tertiary)] focus-visible:outline focus-visible:outline-2 focus-visible:outline-[var(--inkblot-semantic-color-border-focus)] focus-visible:outline-offset-[-2px]"),children:[Gr("span",{className:"font-medium",children:t}),Gr(Oc,{className:o("h-4 w-4 text-[var(--inkblot-semantic-color-text-tertiary)] transition-transform duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)]",n&&"rotate-180")})]}),n&&Gr("div",{className:"border-t border-[var(--inkblot-semantic-color-border-default)] px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-4)] text-sm text-[var(--inkblot-semantic-color-text-secondary)]",children:e})]})}import{useMemo as Gc,useState as Wc}from"react";import{Search as $c}from"lucide-react";import{jsx as xt,jsxs as Wr}from"react/jsx-runtime";function _c({items:t,placeholder:e="Buscar comando...",onSelect:r,className:a}){let[i,n]=Wc(""),s=Gc(()=>{let l=i.trim().toLowerCase();return l?t.filter(c=>{let d=c.label.toLowerCase().includes(l),b=(c.keywords??[]).some(m=>m.toLowerCase().includes(l));return d||b}):t},[t,i]);return Wr("div",{className:o("w-full rounded-[var(--inkblot-radius-xl)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)]",a),children:[Wr("div",{className:"flex items-center gap-[var(--inkblot-spacing-2)] border-b border-[var(--inkblot-semantic-color-border-default)] px-[var(--inkblot-spacing-3)]",children:[xt($c,{className:"h-4 w-4 text-[var(--inkblot-semantic-color-text-tertiary)]"}),xt("input",{value:i,onChange:l=>n(l.target.value),placeholder:e,className:"h-11 w-full bg-transparent text-sm text-[var(--inkblot-semantic-color-text-primary)] outline-none placeholder:text-[var(--inkblot-semantic-color-text-tertiary)]"})]}),xt("div",{className:"max-h-[280px] overflow-y-auto p-[var(--inkblot-spacing-2)]",children:s.length>0?xt("ul",{className:"flex flex-col gap-[var(--inkblot-spacing-1)]",children:s.map(l=>xt("li",{children:Wr("button",{type:"button",disabled:l.disabled,onClick:()=>r?.(l),className:o("flex min-h-[var(--inkblot-size-touch-target-min)] w-full items-center gap-[var(--inkblot-spacing-2)] rounded-[var(--inkblot-radius-md)] px-[var(--inkblot-spacing-3)] text-left text-sm text-[var(--inkblot-semantic-color-text-primary)] transition-colors duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)]",l.disabled?"cursor-not-allowed opacity-[var(--inkblot-opacity-disabled)]":"hover:bg-[var(--inkblot-semantic-color-background-tertiary)] active:bg-[var(--inkblot-semantic-color-background-tertiary)]"),children:[l.icon&&xt("span",{className:"text-[var(--inkblot-semantic-color-text-tertiary)]",children:l.icon}),xt("span",{children:l.label})]})},l.id))}):xt("div",{className:"px-[var(--inkblot-spacing-2)] py-[var(--inkblot-spacing-3)] text-sm text-[var(--inkblot-semantic-color-text-secondary)]",children:"Sin resultados para tu b\xFAsqueda."})})]})}import{useEffect as Kc,useMemo as jc,useRef as Uc,useState as $r}from"react";import{Send as qc,Sparkles as or}from"lucide-react";import{jsx as I,jsxs as ot}from"react/jsx-runtime";var Yc=[{id:"1",role:"user",content:"Show me Acme Corp's profile and deal health."},{id:"2",role:"assistant",content:"Here's the entity profile and current intelligence scores for Acme Corp.",cards:["entity","intelligence"]}],_r="rounded-[var(--inkblot-radius-md)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-3 text-xs text-[var(--inkblot-semantic-color-text-tertiary)]";function jx({title:t="Command Canvas",subtitle:e="AI-native interface \u2014 results appear here",readyLabel:r="System ready",placeholder:a="Ask anything \u2014 deals, contacts, forecasts...",footerText:i="Citron OS v1.0 \xB7 AI-native Revenue & Operations Platform",blocks:n,renderBlock:s,messages:l,initialMessages:c=Yc,onMessagesChange:d,inputValue:b,defaultInputValue:m="",onInputValueChange:v,autoAssistantResponse:p=!0,assistantResponseDelayMs:g=700,isResponding:C,onRespondingChange:w,onSend:N,generateAssistantMessage:T,renderCard:h,hideInput:y=!1,className:k}){let[u,x]=$r(c),[P,M]=$r(m),[A,S]=$r(!1),F=Uc(null),E=l!==void 0,B=E?l:u,L=b!==void 0,G=L?b:P,q=C!==void 0,he=q?C:A,Ne=G.trim().length>0&&!he,Ce=jc(()=>f=>({content:`Analyzing "${f}". Here are the latest insights.`,cards:["entity","intelligence"]}),[]),we=f=>{E||x(f),d?.(f)},te=f=>{L||M(f),v?.(f)},ee=f=>{q||S(f),w?.(f)};Kc(()=>()=>{F.current!==null&&window.clearTimeout(F.current)},[]);let Te=()=>{let f=G.trim();if(!f)return;let W={id:`${Date.now()}-user`,role:"user",content:f},mt=[...B,W];we(mt),te(""),N?.(f),p&&(ee(!0),F.current=window.setTimeout(()=>{let X=(T??Ce)(f),mr=[...mt,{id:`${Date.now()}-assistant`,role:"assistant",content:X.content,cards:X.cards}];we(mr),ee(!1)},g))},Pe=n!==void 0,dr=f=>f.type==="text"?ot("div",{className:"flex items-start gap-3",children:[I("div",{className:"mt-0.5 flex h-6 w-6 shrink-0 items-center justify-center rounded-[var(--inkblot-radius-sm)] bg-[var(--inkblot-semantic-color-interactive-primary)]/15",children:I(or,{className:"h-3.5 w-3.5 text-[var(--inkblot-semantic-color-interactive-primary)]","aria-hidden":!0})}),I("p",{className:"pt-0.5 text-sm leading-relaxed text-[var(--inkblot-semantic-color-text-secondary)]",children:f.content})]}):f.type==="entity"?h?h("entity"):I("div",{className:_r,children:"Entity card preview"}):f.type==="intelligence"?h?h("intelligence"):I("div",{className:_r,children:"Intelligence card preview"}):f.type==="loading"?ot("div",{className:"flex items-center gap-3",children:[I("div",{className:"flex h-6 w-6 shrink-0 items-center justify-center rounded-[var(--inkblot-radius-sm)] bg-[var(--inkblot-semantic-color-interactive-primary)]/15",children:I(or,{className:"h-3.5 w-3.5 animate-pulse text-[var(--inkblot-semantic-color-interactive-primary)]","aria-hidden":!0})}),ot("div",{className:"flex gap-1",children:[I("span",{className:"h-1.5 w-1.5 animate-bounce rounded-full bg-[var(--inkblot-semantic-color-text-tertiary)]",style:{animationDelay:"0ms"}}),I("span",{className:"h-1.5 w-1.5 animate-bounce rounded-full bg-[var(--inkblot-semantic-color-text-tertiary)]",style:{animationDelay:"150ms"}}),I("span",{className:"h-1.5 w-1.5 animate-bounce rounded-full bg-[var(--inkblot-semantic-color-text-tertiary)]",style:{animationDelay:"300ms"}})]})]}):null;return ot("section",{className:o("flex h-full flex-col",k),children:[ot("header",{className:"flex items-center justify-between border-b border-[var(--inkblot-semantic-color-border-default)] px-8 py-5",children:[ot("div",{children:[I("h2",{className:"text-lg font-semibold tracking-tight text-[var(--inkblot-semantic-color-text-primary)]",children:t}),I("p",{className:"mt-0.5 text-xs text-[var(--inkblot-semantic-color-text-tertiary)]",children:e})]}),ot("div",{className:"flex items-center gap-2 text-xs text-[var(--inkblot-semantic-color-text-tertiary)]",children:[I("span",{className:"h-1.5 w-1.5 rounded-full bg-[var(--inkblot-semantic-color-status-success)]"}),r]})]}),I("div",{className:"hide-scrollbar flex-1 overflow-y-auto px-8 py-6",children:I("div",{className:"mx-auto max-w-3xl space-y-6",children:Pe?n.map(f=>I("div",{children:s?s(f):dr(f)},f.id)):B.map(f=>f.role==="user"?I("div",{className:"flex justify-end",children:I("div",{className:"max-w-md rounded-2xl rounded-br-sm bg-[var(--inkblot-semantic-color-interactive-secondary)] px-4 py-2.5 text-sm leading-relaxed text-[var(--inkblot-semantic-color-text-primary)]",children:f.content})},f.id):ot("div",{className:"space-y-4",children:[ot("div",{className:"flex items-start gap-3",children:[I("div",{className:"mt-0.5 flex h-6 w-6 shrink-0 items-center justify-center rounded-[var(--inkblot-radius-sm)] bg-[var(--inkblot-semantic-color-interactive-primary)]/15",children:I(or,{className:"h-3.5 w-3.5 text-[var(--inkblot-semantic-color-interactive-primary)]","aria-hidden":!0})}),I("p",{className:"pt-0.5 text-sm leading-relaxed text-[var(--inkblot-semantic-color-text-secondary)]",children:f.content})]}),f.cards?.length?I("div",{className:"ml-9 grid gap-4",children:f.cards.map(W=>h?I("div",{children:h(W)},W):I("div",{className:_r,children:W==="entity"?"Entity card preview":"Intelligence card preview"},W))}):null]},f.id))})}),!y&&!Pe?I("footer",{className:"border-t border-[var(--inkblot-semantic-color-border-default)] px-8 py-4",children:ot("div",{className:"mx-auto max-w-3xl",children:[ot("div",{className:"flex items-center gap-3 rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] px-4 py-3",children:[I(or,{className:"h-4 w-4 shrink-0 text-[var(--inkblot-semantic-color-text-tertiary)]"}),I("input",{type:"text",value:G,onChange:f=>te(f.target.value),onKeyDown:f=>{f.key==="Enter"&&Te()},placeholder:a,className:"flex-1 bg-transparent text-sm text-[var(--inkblot-semantic-color-text-primary)] placeholder:text-[var(--inkblot-semantic-color-text-tertiary)] outline-none"}),I("button",{type:"button",onClick:Te,disabled:!Ne,className:"flex h-8 w-8 items-center justify-center rounded-[var(--inkblot-radius-sm)] bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)] transition-opacity duration-[var(--inkblot-duration-fast)] disabled:opacity-35","aria-label":"Send",children:I(qc,{className:"h-3.5 w-3.5"})})]}),I("p",{className:"mt-2 text-center text-[10px] text-[var(--inkblot-semantic-color-text-tertiary)]",children:i})]})}):I("footer",{className:"border-t border-[var(--inkblot-semantic-color-border-default)] px-8 py-3",children:I("p",{className:"text-center text-[10px] text-[var(--inkblot-semantic-color-text-tertiary)]",children:i})})]})}import{useEffect as Xc,useRef as Zc,useState as va}from"react";import{jsx as ar,jsxs as Kr}from"react/jsx-runtime";function Qc({trigger:t,items:e,className:r}){let[a,i]=va(!1),[n,s]=va({x:0,y:0}),l=Zc(null);Xc(()=>{if(!a)return;let d=()=>i(!1);return document.addEventListener("click",d),document.addEventListener("contextmenu",d),()=>{document.removeEventListener("click",d),document.removeEventListener("contextmenu",d)}},[a]);let c=d=>{d.preventDefault();let b=l.current?.getBoundingClientRect(),m=b?.left??0,v=b?.top??0;s({x:d.clientX-m,y:d.clientY-v}),i(!0)};return Kr("div",{ref:l,className:o("relative w-full",r),onContextMenu:c,children:[t,a&&ar("div",{role:"menu",className:"absolute z-40 min-w-[220px] rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-[var(--inkblot-spacing-1)] shadow-lg",style:{left:n.x,top:n.y},children:e.map(d=>Kr("button",{type:"button",role:"menuitem",disabled:d.disabled,onClick:()=>{d.onSelect?.(),i(!1)},className:o("flex min-h-[var(--inkblot-size-touch-target-min)] w-full items-center justify-between gap-[var(--inkblot-spacing-2)] rounded-[var(--inkblot-radius-md)] px-[var(--inkblot-spacing-3)] text-sm transition-colors duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)]",d.disabled?"cursor-not-allowed opacity-[var(--inkblot-opacity-disabled)]":"hover:bg-[var(--inkblot-semantic-color-background-tertiary)]",d.danger?"text-[var(--inkblot-semantic-color-status-error)]":"text-[var(--inkblot-semantic-color-text-primary)]"),children:[Kr("span",{className:"flex items-center gap-[var(--inkblot-spacing-2)]",children:[d.icon&&ar("span",{className:"text-[var(--inkblot-semantic-color-text-tertiary)]",children:d.icon}),ar("span",{children:d.label})]}),d.shortcut&&ar("span",{className:"text-xs text-[var(--inkblot-semantic-color-text-tertiary)]",children:d.shortcut})]},d.id))})]})}import{createContext as Jc,forwardRef as Ur,useCallback as jr,useContext as td,useEffect as ga,useId as fa,useMemo as ed,useRef as ka,useState as rd}from"react";import{createPortal as od}from"react-dom";import{X as ad}from"lucide-react";import{jsx as Q,jsxs as ya}from"react/jsx-runtime";var xa=Jc(null);function qr(){let t=td(xa);if(!t)throw new Error("Dialog components must be used within Dialog");return t}function nd({open:t,defaultOpen:e=!1,onOpenChange:r,children:a}){let[i,n]=rd(e),s=t!==void 0,l=s?t:i,c=jr(b=>{s||n(b),r?.(b)},[s,r]),d=ed(()=>({open:l,setOpen:c}),[l,c]);return Q(xa.Provider,{value:d,children:a})}var ha=Ur(({className:t,type:e="button",onClick:r,...a},i)=>{let{setOpen:n}=qr();return Q("button",{ref:i,type:e,onClick:s=>{r?.(s),s.defaultPrevented||n(!0)},className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center rounded-[var(--inkblot-radius-lg)] px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)]","bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)]","hover:bg-[var(--inkblot-semantic-color-interactive-primary-hover)] active:bg-[var(--inkblot-semantic-color-interactive-primary-active)]","focus-visible:outline focus-visible:outline-2 focus-visible:outline-[var(--inkblot-semantic-color-border-focus)] focus-visible:outline-offset-2","disabled:opacity-[var(--inkblot-opacity-disabled)] disabled:pointer-events-none disabled:cursor-not-allowed","[font:var(--inkblot-semantic-typography-body-medium)]",t),...a})});ha.displayName="DialogTrigger";var Na=Ur(({className:t,children:e,showCloseButton:r=!0,initialFocusRef:a,...i},n)=>{let{open:s,setOpen:l}=qr(),c=fa(),d=fa(),b=ka(null),m=ka(null),v=jr(g=>{if(b.current=g,typeof n=="function"){n(g);return}n&&(n.current=g)},[n]),p=jr(()=>{l(!1)},[l]);return ga(()=>{if(!s)return;let g=C=>{C.key==="Escape"&&p()};return window.addEventListener("keydown",g),()=>{window.removeEventListener("keydown",g)}},[p,s]),ga(()=>{if(!s)return;m.current=document.activeElement instanceof HTMLElement?document.activeElement:null;let g=a?.current,C=b.current?.querySelector('button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])');return(g??C??b.current)?.focus(),()=>{m.current?.focus()}},[a,s]),!s||typeof document>"u"?null:od(ya("div",{className:o("fixed inset-0 z-50 flex items-center justify-center p-[var(--inkblot-spacing-6)]"),children:[Q("button",{type:"button","aria-label":"Close dialog",className:o("absolute inset-0 bg-[var(--inkblot-semantic-color-background-primary)]/70"),onClick:p}),ya("div",{ref:v,role:"dialog","aria-modal":"true","aria-labelledby":c,"aria-describedby":d,tabIndex:-1,className:o("relative z-10 w-full max-w-[calc(var(--inkblot-size-touch-target-min)*10)] rounded-[var(--inkblot-radius-xl)] border border-[var(--inkblot-semantic-color-border-default)]","bg-[var(--inkblot-semantic-color-background-primary)] p-[var(--inkblot-spacing-6)]","shadow-[var(--inkblot-shadow-lg)]",t),...i,children:[r?Q(Yr,{"aria-label":"Close dialog",className:o("absolute right-[var(--inkblot-spacing-4)] top-[var(--inkblot-spacing-4)] rounded-[var(--inkblot-radius-md)] p-[var(--inkblot-spacing-2)]"),children:Q(ad,{style:{width:"var(--inkblot-spacing-4)",height:"var(--inkblot-spacing-4)"}})}):null,Q("div",{id:c,className:"sr-only"}),Q("div",{id:d,className:"sr-only"}),e]})]}),document.body)});Na.displayName="DialogContent";function id({className:t,...e}){return Q("div",{className:o("mb-[var(--inkblot-spacing-4)] grid gap-[var(--inkblot-spacing-2)]",t),...e})}function sd({className:t,...e}){return Q("h2",{className:o("text-[var(--inkblot-semantic-color-text-primary)] [font:var(--inkblot-semantic-typography-heading-small)]",t),...e})}function ld({className:t,...e}){return Q("p",{className:o("text-[var(--inkblot-semantic-color-text-secondary)] [font:var(--inkblot-semantic-typography-body-medium)]",t),...e})}function cd({className:t,...e}){return Q("div",{className:o("mt-[var(--inkblot-spacing-6)] flex flex-wrap justify-end gap-[var(--inkblot-spacing-3)]",t),...e})}var Yr=Ur(({className:t,type:e="button",onClick:r,...a},i)=>{let{setOpen:n}=qr();return Q("button",{ref:i,type:e,onClick:s=>{r?.(s),s.defaultPrevented||n(!1)},className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center rounded-[var(--inkblot-radius-lg)] px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)]","bg-[var(--inkblot-semantic-color-interactive-secondary)] text-[var(--inkblot-semantic-color-text-primary)]","border border-[var(--inkblot-semantic-color-border-default)]","hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)] hover:border-[var(--inkblot-semantic-color-border-strong)]","focus-visible:outline focus-visible:outline-2 focus-visible:outline-[var(--inkblot-semantic-color-border-focus)] focus-visible:outline-offset-2","[font:var(--inkblot-semantic-typography-body-medium)]",t),...a})});Yr.displayName="DialogClose";import{createContext as dd,forwardRef as Zr,useCallback as Xr,useContext as md,useEffect as Ca,useMemo as pd,useRef as wa,useState as bd}from"react";import{createPortal as ud}from"react-dom";import{X as vd}from"lucide-react";import{jsx as it,jsxs as hd}from"react/jsx-runtime";var Ta=dd(null);function Qr(){let t=md(Ta);if(!t)throw new Error("Drawer components must be used within Drawer");return t}function gd({children:t,open:e,defaultOpen:r=!1,onOpenChange:a,side:i="right"}){let[n,s]=bd(r),l=e!==void 0,c=l?e:n,d=Xr(m=>{l||s(m),a?.(m)},[l,a]),b=pd(()=>({open:c,setOpen:d,side:i}),[c,d,i]);return it(Ta.Provider,{value:b,children:t})}var Pa=Zr(({className:t,type:e="button",onClick:r,...a},i)=>{let{setOpen:n}=Qr();return it("button",{ref:i,type:e,onClick:s=>{r?.(s),s.defaultPrevented||n(!0)},className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center rounded-[var(--inkblot-radius-lg)] px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)]","bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)]","hover:bg-[var(--inkblot-semantic-color-interactive-primary-hover)] active:bg-[var(--inkblot-semantic-color-interactive-primary-active)]","focus-visible:outline focus-visible:outline-2 focus-visible:outline-[var(--inkblot-semantic-color-border-focus)] focus-visible:outline-offset-2",t),...a})});Pa.displayName="DrawerTrigger";var Ma=Zr(({className:t,children:e,initialFocusRef:r,...a},i)=>{let{open:n,setOpen:s,side:l}=Qr(),c=wa(null),d=wa(null),b=Xr(v=>{if(c.current=v,typeof i=="function"){i(v);return}i&&(i.current=v)},[i]),m=Xr(()=>{s(!1)},[s]);return Ca(()=>{if(!n)return;let v=p=>{p.key==="Escape"&&m()};return window.addEventListener("keydown",v),()=>{window.removeEventListener("keydown",v)}},[m,n]),Ca(()=>{if(!n)return;d.current=document.activeElement instanceof HTMLElement?document.activeElement:null;let v=r?.current,p=c.current?.querySelector('button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])');return(v??p??c.current)?.focus(),()=>{d.current?.focus()}},[r,n]),!n||typeof document>"u"?null:ud(hd("div",{className:"fixed inset-0 z-50",children:[it("button",{type:"button","aria-label":"Close drawer",className:"absolute inset-0 bg-[var(--inkblot-semantic-color-background-primary)]/70",onClick:m}),it("div",{ref:b,role:"dialog","aria-modal":"true",tabIndex:-1,className:o("absolute top-0 h-full w-full max-w-[calc(var(--inkblot-size-touch-target-min)*7)] border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-primary)] p-[var(--inkblot-spacing-6)] shadow-[var(--inkblot-shadow-lg)]",l==="right"?"right-0 border-l":"left-0 border-r",t),...a,children:e})]}),document.body)});Ma.displayName="DrawerContent";function fd({className:t,...e}){return it("div",{className:o("mb-[var(--inkblot-spacing-4)] grid gap-[var(--inkblot-spacing-2)]",t),...e})}function kd({className:t,...e}){return it("h2",{className:o("text-[var(--inkblot-semantic-color-text-primary)] [font:var(--inkblot-semantic-typography-heading-small)]",t),...e})}function yd({className:t,...e}){return it("p",{className:o("text-[var(--inkblot-semantic-color-text-secondary)] [font:var(--inkblot-semantic-typography-body-medium)]",t),...e})}function xd({className:t,...e}){return it("div",{className:o("mt-[var(--inkblot-spacing-6)] flex flex-wrap justify-end gap-[var(--inkblot-spacing-3)]",t),...e})}var Sa=Zr(({className:t,type:e="button",onClick:r,children:a,...i},n)=>{let{setOpen:s}=Qr();return it("button",{ref:n,type:e,onClick:l=>{r?.(l),l.defaultPrevented||s(!1)},className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center gap-[var(--inkblot-spacing-2)] rounded-[var(--inkblot-radius-lg)] px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)]","bg-[var(--inkblot-semantic-color-interactive-secondary)] text-[var(--inkblot-semantic-color-text-primary)]","border border-[var(--inkblot-semantic-color-border-default)] hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)]",t),...i,children:a??it(vd,{style:{width:"var(--inkblot-spacing-4)",height:"var(--inkblot-spacing-4)"}})})});Sa.displayName="DrawerClose";import{createContext as Nd,forwardRef as Jr,useCallback as Cd,useContext as wd,useEffect as Td,useMemo as Pd,useRef as Md,useState as Sd}from"react";import{ChevronDown as Ed}from"lucide-react";import{jsx as ve,jsxs as Aa}from"react/jsx-runtime";var Ea=Nd(null);function to(){let t=wd(Ea);if(!t)throw new Error("DropdownMenu components must be used within DropdownMenu");return t}function Ld({children:t,open:e,defaultOpen:r=!1,onOpenChange:a}){let[i,n]=Sd(r),s=Md(null),l=e!==void 0,c=l?e:i,d=Cd(m=>{l||n(m),a?.(m)},[l,a]);Td(()=>{if(!c)return;let m=p=>{let g=p.target;g&&s.current&&!s.current.contains(g)&&d(!1)},v=p=>{p.key==="Escape"&&d(!1)};return window.addEventListener("pointerdown",m),window.addEventListener("keydown",v),()=>{window.removeEventListener("pointerdown",m),window.removeEventListener("keydown",v)}},[c,d]);let b=Pd(()=>({open:c,setOpen:d,containerRef:s}),[c,d]);return ve(Ea.Provider,{value:b,children:ve("div",{ref:s,className:"relative inline-flex",children:t})})}var La=Jr(({className:t,type:e="button",showChevron:r=!0,onClick:a,children:i,...n},s)=>{let{open:l,setOpen:c}=to();return Aa("button",{ref:s,type:e,"aria-haspopup":"menu","aria-expanded":l,onClick:d=>{a?.(d),d.defaultPrevented||c(!l)},className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center gap-[var(--inkblot-spacing-2)] rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)]","bg-[var(--inkblot-semantic-color-interactive-secondary)] px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)]","text-[var(--inkblot-semantic-color-text-primary)] hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)]","focus-visible:outline focus-visible:outline-2 focus-visible:outline-[var(--inkblot-semantic-color-border-focus)] focus-visible:outline-offset-2","[font:var(--inkblot-semantic-typography-body-medium)]",t),...n,children:[i,r?ve(Ed,{style:{width:"var(--inkblot-spacing-4)",height:"var(--inkblot-spacing-4)"}}):null]})});La.displayName="DropdownMenuTrigger";var Ia=Jr(({className:t,...e},r)=>{let{open:a}=to();return a?ve("div",{ref:r,role:"menu",className:o("absolute right-0 top-[calc(100%+var(--inkblot-spacing-2))] z-40 min-w-[calc(var(--inkblot-size-touch-target-min)*4)] rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)]","bg-[var(--inkblot-semantic-color-background-primary)] p-[var(--inkblot-spacing-2)] shadow-[var(--inkblot-shadow-md)]",t),...e}):null});Ia.displayName="DropdownMenuContent";var Ra=Jr(({className:t,type:e="button",icon:r,onClick:a,children:i,...n},s)=>{let{setOpen:l}=to();return Aa("button",{ref:s,type:e,role:"menuitem",onClick:c=>{a?.(c),c.defaultPrevented||l(!1)},className:o("flex min-h-[var(--inkblot-size-touch-target-min)] w-full items-center gap-[var(--inkblot-spacing-2)] rounded-[var(--inkblot-radius-md)] px-[var(--inkblot-spacing-3)] py-[var(--inkblot-spacing-2)]","text-left text-[var(--inkblot-semantic-color-text-primary)] hover:bg-[var(--inkblot-semantic-color-background-secondary)]","focus-visible:outline focus-visible:outline-2 focus-visible:outline-[var(--inkblot-semantic-color-border-focus)] focus-visible:outline-offset-0","[font:var(--inkblot-semantic-typography-body-medium)]",t),...n,children:[r,i]})});Ra.displayName="DropdownMenuItem";function Id({className:t,...e}){return ve("div",{className:o("my-[var(--inkblot-spacing-2)] border-b border-[var(--inkblot-semantic-color-border-default)]",t),...e})}import{useMemo as Da,useState as Rd}from"react";import{ChevronDown as Ad,ChevronUp as Dd,Columns as Hd,GripVertical as Bd,Image as za,Minus as zd,MousePointerClick as Vd,Square as Od,Trash2 as Fd,Type as Ha}from"lucide-react";import{jsx as H,jsxs as ct}from"react/jsx-runtime";var Ba=[{type:"heading",label:"Heading",icon:Ha},{type:"text",label:"Text",icon:Ha},{type:"image",label:"Image",icon:za},{type:"button",label:"Button",icon:Od},{type:"divider",label:"Divider",icon:zd},{type:"columns",label:"2 Columns",icon:Hd}],Gd={heading:"Your Heading Here",text:"Write your content here. Click to edit this text block.",image:"https://placehold.co/600x200",button:"Click Me",divider:"",columns:"Column 1 | Column 2"};function Eh({blocks:t,onBlocksChange:e,availableBlockTypes:r,editingId:a,onEditingIdChange:i,onAddBlock:n,onDeleteBlock:s,onMoveBlock:l,onBlockContentChange:c,readOnly:d=!1,className:b}){let[m,v]=Rd(null),p=a!==void 0,g=p?a:m,C=u=>{p||v(u),i?.(u)},w=Da(()=>!r||r.length===0?Ba:Ba.filter(u=>r.includes(u.type)),[r]),N=Da(()=>t.reduce((u,x,P)=>(u[x.id]=P,u),{}),[t]),T=u=>{if(d)return;let x={id:`block-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,type:u,content:Gd[u]};e([...t,x]),n?.(u,x)},h=(u,x)=>{d||(e(t.map(P=>P.id===u?{...P,content:x}:P)),c?.(u,x))},y=u=>{d||(e(t.filter(x=>x.id!==u)),s?.(u))},k=(u,x)=>{if(d)return;let P=N[u],M=P+x;if(M<0||M>=t.length)return;let A=[...t],[S]=A.splice(P,1);A.splice(M,0,S),e(A),l?.(u,x)};return ct("section",{className:o("flex gap-4",b),children:[ct("aside",{className:"w-44 shrink-0",children:[H("span",{className:"text-[10px] uppercase tracking-wide text-[var(--inkblot-semantic-color-text-tertiary)]",children:"Blocks"}),H("div",{className:"mt-2 space-y-1",children:w.map(u=>ct("button",{type:"button",onClick:()=>T(u.type),disabled:d,className:"flex w-full items-center gap-2 rounded-[var(--inkblot-radius-md)] border border-[var(--inkblot-semantic-color-border-default)] px-3 py-2 text-xs text-[var(--inkblot-semantic-color-text-primary)] transition-colors duration-[var(--inkblot-duration-fast)] hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)]",children:[H(u.icon,{className:"h-3.5 w-3.5 text-[var(--inkblot-semantic-color-text-tertiary)]"}),u.label]},u.type))})]}),H("div",{className:"glass min-h-[400px] flex-1 rounded-[var(--inkblot-radius-lg)] p-6",children:t.length===0?ct("div",{className:"flex h-full flex-col items-center justify-center gap-3 text-center",children:[H(Vd,{className:"h-8 w-8 text-[var(--inkblot-semantic-color-text-tertiary)]/40"}),ct("div",{children:[H("p",{className:"text-sm text-[var(--inkblot-semantic-color-text-tertiary)]",children:"Drop blocks here to build your email"}),H("p",{className:"mt-1 text-[10px] text-[var(--inkblot-semantic-color-text-tertiary)]/60",children:"or use AI to generate a full layout"})]})]}):H("div",{className:"space-y-2",children:t.map((u,x)=>ct("article",{className:"group flex items-start gap-2",children:[H("div",{className:"pt-1 text-[var(--inkblot-semantic-color-text-tertiary)]",children:H(Bd,{className:"h-3.5 w-3.5"})}),ct("div",{className:"flex-1 rounded-[var(--inkblot-radius-md)] border border-transparent p-3 transition-colors duration-[var(--inkblot-duration-fast)] group-hover:border-[var(--inkblot-semantic-color-border-default)]",children:[u.type==="heading"?H("h2",{contentEditable:!d&&g===u.id,suppressContentEditableWarning:!0,onClick:()=>{d||C(u.id)},onBlur:P=>{h(u.id,P.currentTarget.textContent??""),C(null)},className:"cursor-text text-xl font-bold text-[var(--inkblot-semantic-color-text-primary)] outline-none",children:u.content}):null,u.type==="text"?H("p",{contentEditable:!d&&g===u.id,suppressContentEditableWarning:!0,onClick:()=>{d||C(u.id)},onBlur:P=>{h(u.id,P.currentTarget.textContent??""),C(null)},className:"cursor-text text-sm leading-relaxed text-[var(--inkblot-semantic-color-text-secondary)] outline-none",children:u.content}):null,u.type==="image"?H("div",{className:"flex h-32 items-center justify-center overflow-hidden rounded-[var(--inkblot-radius-md)] bg-[var(--inkblot-semantic-color-background-tertiary)]",children:H(za,{className:"h-8 w-8 text-[var(--inkblot-semantic-color-text-tertiary)]/50"})}):null,u.type==="button"?H("div",{className:"flex justify-center",children:H("span",{contentEditable:!d&&g===u.id,suppressContentEditableWarning:!0,onClick:()=>{d||C(u.id)},onBlur:P=>{h(u.id,P.currentTarget.textContent??""),C(null)},className:"cursor-text rounded-[var(--inkblot-radius-md)] bg-[var(--inkblot-semantic-color-interactive-primary)] px-6 py-2.5 text-sm font-medium text-[var(--inkblot-semantic-color-text-inverse)] outline-none",children:u.content})}):null,u.type==="divider"?H("hr",{className:"my-2 border-[var(--inkblot-semantic-color-border-default)]"}):null,u.type==="columns"?ct("div",{className:"grid grid-cols-2 gap-4",children:[H("div",{className:"rounded-[var(--inkblot-radius-md)] bg-[var(--inkblot-semantic-color-background-tertiary)] p-4 text-center text-sm text-[var(--inkblot-semantic-color-text-tertiary)]",children:"Column 1"}),H("div",{className:"rounded-[var(--inkblot-radius-md)] bg-[var(--inkblot-semantic-color-background-tertiary)] p-4 text-center text-sm text-[var(--inkblot-semantic-color-text-tertiary)]",children:"Column 2"})]}):null]}),ct("div",{className:"flex flex-col gap-1 opacity-0 transition-opacity duration-[var(--inkblot-duration-fast)] group-hover:opacity-100",children:[H("button",{type:"button",onClick:()=>k(u.id,-1),disabled:d||x===0,className:"rounded-[var(--inkblot-radius-sm)] p-1 text-[var(--inkblot-semantic-color-text-tertiary)] transition-colors duration-[var(--inkblot-duration-fast)] hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)] disabled:opacity-30","aria-label":"Move up",children:H(Dd,{className:"h-3 w-3"})}),H("button",{type:"button",onClick:()=>k(u.id,1),disabled:d||x===t.length-1,className:"rounded-[var(--inkblot-radius-sm)] p-1 text-[var(--inkblot-semantic-color-text-tertiary)] transition-colors duration-[var(--inkblot-duration-fast)] hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)] disabled:opacity-30","aria-label":"Move down",children:H(Ad,{className:"h-3 w-3"})}),H("button",{type:"button",onClick:()=>y(u.id),disabled:d,className:"rounded-[var(--inkblot-radius-sm)] p-1 text-[var(--inkblot-semantic-color-status-error)] transition-colors duration-[var(--inkblot-duration-fast)] hover:bg-[var(--inkblot-semantic-color-status-error)]/10","aria-label":"Delete block",children:H(Fd,{className:"h-3 w-3"})})]})]},u.id))})})]})}import{forwardRef as Wd}from"react";import{jsx as ge,jsxs as Va}from"react/jsx-runtime";var Oa=Wd(({className:t,...e},r)=>ge("form",{ref:r,className:o("grid gap-[var(--inkblot-spacing-4)] rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-primary)] p-[var(--inkblot-spacing-5)]",t),...e}));Oa.displayName="Form";function $d({className:t,label:e,hint:r,error:a,children:i,requiredIndicator:n,...s}){return Va("div",{className:o("grid gap-[var(--inkblot-spacing-2)]",t),...s,children:[e?Va("p",{className:"text-[var(--inkblot-semantic-color-text-primary)] [font:var(--inkblot-semantic-typography-body-medium)]",children:[e,n?ge("span",{className:"ml-[var(--inkblot-spacing-1)] text-[var(--inkblot-semantic-color-status-error)]",children:"*"}):null]}):null,i,a?ge("p",{className:"text-[var(--inkblot-semantic-color-status-error)] [font:var(--inkblot-semantic-typography-body-small)]",children:a}):r?ge("p",{className:"text-[var(--inkblot-semantic-color-text-secondary)] [font:var(--inkblot-semantic-typography-body-small)]",children:r}):null]})}function _d({className:t,...e}){return ge("div",{className:o("mt-[var(--inkblot-spacing-2)] flex flex-wrap justify-end gap-[var(--inkblot-spacing-3)]",t),...e})}import{useEffect as Kd,useRef as jd}from"react";import{jsx as Xt,jsxs as Zt}from"react/jsx-runtime";var Ud=[{id:"1",label:"Acme Corp",kind:"org",x:400,y:250,score:82},{id:"2",label:"TechVentures",kind:"org",x:220,y:140,score:65},{id:"3",label:"DataFlow Labs",kind:"org",x:600,y:160,score:45},{id:"4",label:"Jane Smith",kind:"person",x:300,y:380,score:90},{id:"5",label:"Mark Johnson",kind:"person",x:520,y:370,score:72},{id:"6",label:"GlobalTech",kind:"org",x:160,y:300,score:38},{id:"7",label:"Sarah Lee",kind:"person",x:650,y:310,score:55}],qd=[{from:"1",to:"2",strength:.8},{from:"1",to:"3",strength:.5},{from:"1",to:"4",strength:.9},{from:"1",to:"5",strength:.7},{from:"2",to:"6",strength:.4},{from:"3",to:"7",strength:.6},{from:"4",to:"5",strength:.3},{from:"6",to:"4",strength:.5}];function Yd(t,e,r,a){return t>=70?e:t>=50?r:a}function ht(t,e){for(let r of e){let a=t.getPropertyValue(r).trim();if(a)return a}return""}function eo(t,e,r){if(e){t.font=e;return}t.font=r}function Wh({title:t="Entity Graph",subtitle:e,nodes:r=Ud,edges:a=qd,className:i}){let n=jd(null);Kd(()=>{let l=n.current;if(!l)return;let c=l.getContext("2d");if(!c)return;let d=()=>{let b=l.getBoundingClientRect(),m=window.devicePixelRatio||1;l.width=b.width*m,l.height=b.height*m,c.setTransform(m,0,0,m,0,0),c.clearRect(0,0,b.width,b.height);let v=getComputedStyle(document.documentElement),p=ht(v,["--inkblot-semantic-color-border-default","--inkblot-semantic-color-border-strong"]),g=ht(v,["--inkblot-semantic-color-text-tertiary","--inkblot-semantic-color-text-secondary"]),C=ht(v,["--inkblot-semantic-color-background-secondary","--inkblot-semantic-color-background-primary"]),w=ht(v,["--inkblot-semantic-color-status-success","--inkblot-semantic-color-interactive-primary"]),N=ht(v,["--inkblot-semantic-color-status-warning","--inkblot-semantic-color-status-info"]),T=ht(v,["--inkblot-semantic-color-status-error","--inkblot-semantic-color-status-warning"]),h=ht(v,["--inkblot-semantic-typography-body-small","--inkblot-semantic-typography-body-medium"]),y=ht(v,["--inkblot-semantic-typography-body-medium","--inkblot-semantic-typography-body-small"]),k=c.font;a.forEach(u=>{let x=r.find(M=>M.id===u.from),P=r.find(M=>M.id===u.to);!x||!P||(c.beginPath(),c.moveTo(x.x,x.y),c.lineTo(P.x,P.y),c.strokeStyle=p,c.globalAlpha=Math.min(1,Math.max(0,u.strength*.45)),c.lineWidth=Math.max(1,u.strength*2),c.stroke(),c.globalAlpha=1)}),r.forEach(u=>{let x=Yd(u.score,w,N,T),P=u.kind==="org"?28:22;c.beginPath(),c.arc(u.x,u.y,P+8,0,Math.PI*2),c.fillStyle=x,c.globalAlpha=.08,c.fill(),c.globalAlpha=1,c.beginPath(),c.arc(u.x,u.y,P,0,Math.PI*2),c.fillStyle=C,c.strokeStyle=x,c.globalAlpha=.7,c.lineWidth=1.5,c.fill(),c.stroke(),c.globalAlpha=1,c.fillStyle=x,eo(c,h,k),c.textAlign="center",c.textBaseline="middle",c.fillText(u.kind==="org"?"\u2B21":"\u25CF",u.x,u.y),c.fillStyle=g,eo(c,y,k),c.fillText(u.label,u.x,u.y+P+16),c.fillStyle=x,c.globalAlpha=.8,eo(c,h,k),c.fillText(String(u.score),u.x,u.y+P+28),c.globalAlpha=1})};return d(),window.addEventListener("resize",d),()=>window.removeEventListener("resize",d)},[a,r]);let s=e??`Relationship intelligence \xB7 ${r.length} nodes \xB7 ${a.length} edges`;return Zt("section",{className:o("flex h-full flex-col",i),children:[Zt("header",{className:"flex items-center justify-between border-b border-[var(--inkblot-semantic-color-border-default)] px-8 py-5",children:[Zt("div",{children:[Xt("h2",{className:"text-lg font-semibold tracking-tight text-[var(--inkblot-semantic-color-text-primary)]",children:t}),Xt("p",{className:"mt-0.5 text-xs text-[var(--inkblot-semantic-color-text-tertiary)]",children:s})]}),Zt("div",{className:"flex items-center gap-4 text-xs text-[var(--inkblot-semantic-color-text-tertiary)]",children:[Zt("span",{className:"flex items-center gap-1.5",children:[Xt("span",{className:"h-2 w-2 rounded-full bg-[var(--inkblot-semantic-color-status-success)]"}),"Orgs"]}),Zt("span",{className:"flex items-center gap-1.5",children:[Xt("span",{className:"h-2 w-2 rounded-full bg-[var(--inkblot-semantic-color-status-warning)]"}),"People"]})]})]}),Xt("div",{className:"relative flex-1",children:Xt("canvas",{ref:n,className:"h-full w-full"})})]})}import{useCallback as Xd,useEffect as Zd,useMemo as Qd,useState as ro}from"react";import{ArrowLeft as Jd,ArrowRight as tm,Check as em,X as rm}from"lucide-react";import{Fragment as Fa,jsx as J,jsxs as Nt}from"react/jsx-runtime";var om=[{target:"[data-tour='sidebar']",title:"Navigation Sidebar",description:"Access all CRM modules from this sidebar. Each icon represents a different module.",position:"right"},{target:"[data-tour='canvas']",title:"AI Command Canvas",description:"This is your AI-powered command center where you can orchestrate tasks and workflows.",position:"bottom"},{target:"[data-tour='event-feed']",title:"Real-Time Event Feed",description:"Follow live system activity like stage updates, invoices, and communication events.",position:"left"},{target:"[data-tour='system-status']",title:"System Status",description:"This indicator confirms platform health and connectivity.",position:"right"}];function Xh({steps:t=om,open:e,defaultOpen:r=!0,onOpenChange:a,stepIndex:i,defaultStepIndex:n=0,onStepIndexChange:s,onComplete:l,className:c}){let[d,b]=ro(r),[m,v]=ro(n),[p,g]=ro(null),C=e??d,w=i??m,N=t[w],T=w===t.length-1,h=M=>{e===void 0&&b(M),a?.(M)},y=M=>{let A=Math.min(Math.max(M,0),Math.max(t.length-1,0));i===void 0&&v(A),s?.(A)},k=Xd(()=>{let M=document.querySelector(N.target);if(!M){g(null);return}g(M.getBoundingClientRect())},[N.target]);Zd(()=>(k(),window.addEventListener("resize",k),window.addEventListener("scroll",k,!0),()=>{window.removeEventListener("resize",k),window.removeEventListener("scroll",k,!0)}),[k]);let u=()=>{if(T){h(!1),l();return}y(w+1)},x=()=>{y(w-1)},P=Qd(()=>{if(!p)return{top:"50%",left:"50%",transform:"translate(-50%, -50%)"};let M=16,A=320;return N.position==="right"?{top:p.top+p.height/2,left:p.right+M,transform:"translateY(-50%)"}:N.position==="left"?{top:p.top+p.height/2,left:p.left-A-M,transform:"translateY(-50%)"}:N.position==="top"?{top:p.top-M,left:p.left+p.width/2,transform:"translate(-50%, -100%)"}:{top:p.bottom+M,left:p.left+p.width/2,transform:"translateX(-50%)"}},[N.position,p]);return C?Nt("div",{className:o("fixed inset-0 z-[200]",c),children:[p?J("div",{className:"pointer-events-none absolute rounded-[var(--inkblot-radius-lg)] border-2 border-[var(--inkblot-semantic-color-interactive-primary)]/50",style:{top:p.top-6,left:p.left-6,width:p.width+12,height:p.height+12,boxShadow:"0 0 0 9999px var(--inkblot-semantic-color-background-inverse), var(--inkblot-shadow-lg)"}}):J("div",{className:"absolute inset-0 bg-[var(--inkblot-semantic-color-background-inverse)]/70"}),Nt("div",{style:{...P,position:"absolute",width:320,zIndex:210},className:"rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-5 shadow-[var(--inkblot-shadow-lg)]",children:[Nt("div",{className:"mb-3 flex items-center justify-between",children:[Nt("span",{className:"text-[10px] uppercase tracking-wide text-[var(--inkblot-semantic-color-text-tertiary)]",children:["Step ",w+1," of ",t.length]}),J("button",{type:"button",onClick:()=>{h(!1),l()},className:"rounded-[var(--inkblot-radius-sm)] p-1 text-[var(--inkblot-semantic-color-text-tertiary)] transition-colors duration-[var(--inkblot-duration-fast)] hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)]","aria-label":"Close tour",children:J(rm,{className:"h-3 w-3"})})]}),J("h3",{className:"mb-1.5 text-sm font-semibold text-[var(--inkblot-semantic-color-text-primary)]",children:N.title}),J("p",{className:"text-xs leading-relaxed text-[var(--inkblot-semantic-color-text-tertiary)]",children:N.description}),J("div",{className:"mb-3 mt-4 flex gap-1",children:t.map((M,A)=>J("span",{className:o("h-1 flex-1 rounded-full",A<=w?"bg-[var(--inkblot-semantic-color-interactive-primary)]":"bg-[var(--inkblot-semantic-color-background-tertiary)]")},`${A}-progress`))}),Nt("div",{className:"flex items-center justify-between",children:[Nt("button",{type:"button",onClick:x,disabled:w===0,className:"flex items-center gap-1 text-xs text-[var(--inkblot-semantic-color-text-tertiary)] transition-opacity duration-[var(--inkblot-duration-fast)] disabled:opacity-0",children:[J(Jd,{className:"h-3 w-3"}),"Back"]}),J("button",{type:"button",onClick:u,className:"flex items-center gap-1.5 rounded-[var(--inkblot-radius-md)] bg-[var(--inkblot-semantic-color-interactive-primary)] px-4 py-2 text-xs font-medium text-[var(--inkblot-semantic-color-text-inverse)]",children:T?Nt(Fa,{children:[J(em,{className:"h-3 w-3"}),"Get Started"]}):Nt(Fa,{children:["Next",J(tm,{className:"h-3 w-3"})]})})]})]})]}):null}import{createContext as am,forwardRef as Ga,useContext as nm,useMemo as im,useRef as sm,useState as lm}from"react";import{jsx as nr}from"react/jsx-runtime";var Wa=am(null);function $a(){let t=nm(Wa);if(!t)throw new Error("HoverCard components must be used within HoverCard");return t}function cm({children:t,openDelay:e=120,closeDelay:r=120}){let[a,i]=lm(!1),n=sm(null),s=im(()=>({open:a,setOpen:i,openDelay:e,closeDelay:r,timeoutRef:n}),[a,e,r]);return nr(Wa.Provider,{value:s,children:nr("div",{className:"relative inline-flex",children:t})})}var _a=Ga(({className:t,onMouseEnter:e,onMouseLeave:r,onFocus:a,onBlur:i,...n},s)=>{let{setOpen:l,openDelay:c,closeDelay:d,timeoutRef:b}=$a();return nr("div",{ref:s,tabIndex:0,onMouseEnter:m=>{e?.(m),b.current&&window.clearTimeout(b.current),b.current=window.setTimeout(()=>l(!0),c)},onMouseLeave:m=>{r?.(m),b.current&&window.clearTimeout(b.current),b.current=window.setTimeout(()=>l(!1),d)},onFocus:m=>{a?.(m),l(!0)},onBlur:m=>{i?.(m),l(!1)},className:o(t),...n})});_a.displayName="HoverCardTrigger";var Ka=Ga(({className:t,onMouseEnter:e,onMouseLeave:r,...a},i)=>{let{open:n,setOpen:s,closeDelay:l,timeoutRef:c}=$a();return n?nr("div",{ref:i,role:"dialog",onMouseEnter:d=>{e?.(d),c.current&&window.clearTimeout(c.current),s(!0)},onMouseLeave:d=>{r?.(d),c.current&&window.clearTimeout(c.current),c.current=window.setTimeout(()=>s(!1),l)},className:o("absolute left-0 top-[calc(100%+var(--inkblot-spacing-2))] z-40 min-w-[calc(var(--inkblot-size-touch-target-min)*4)] rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)]","bg-[var(--inkblot-semantic-color-background-primary)] p-[var(--inkblot-spacing-4)] shadow-[var(--inkblot-shadow-md)]",t),...a}):null});Ka.displayName="HoverCardContent";import{forwardRef as dm,useMemo as mm,useRef as pm,useState as bm}from"react";import{jsx as ja}from"react/jsx-runtime";var Ua=dm(({className:t,disabled:e,length:r=6,value:a,defaultValue:i="",onValueChange:n,containerProps:s,...l},c)=>{let[d,b]=bm(i.slice(0,r)),m=pm([]),v=a!==void 0,p=v?a.slice(0,r):d,g=mm(()=>Array.from({length:r},(y,k)=>p[k]??""),[p,r]),C=y=>{let k=y.slice(0,r);v||b(k),n?.(k)},w=y=>{let k=m.current[y];k?.focus(),k?.select()},N=(y,k)=>{let u=k.replace(/[^0-9A-Za-z]/g,"").slice(0,1),x=g.map((P,M)=>M===y?u:P);C(x.join("")),u&&y<r-1&&w(y+1)},T=(y,k)=>{if(k.key==="Backspace"&&!g[y]&&y>0){let u=g.map((x,P)=>P===y-1?"":x);C(u.join("")),w(y-1)}k.key==="ArrowLeft"&&y>0&&(k.preventDefault(),w(y-1)),k.key==="ArrowRight"&&y<r-1&&(k.preventDefault(),w(y+1))};return ja("div",{ref:c,onPaste:y=>{y.preventDefault();let k=y.clipboardData.getData("text").replace(/[^0-9A-Za-z]/g,"").slice(0,r);k&&(C(k),w(Math.min(k.length,r-1)))},className:o("flex items-center gap-[var(--inkblot-spacing-2)]",t,s?.className),...s,children:g.map((y,k)=>ja("input",{ref:u=>{m.current[k]=u},type:"text",inputMode:"numeric",maxLength:1,value:y,disabled:e,onChange:u=>N(k,u.target.value),onKeyDown:u=>T(k,u),className:o("min-h-[var(--inkblot-size-touch-target-min)] w-full rounded-[var(--inkblot-radius-md)] border border-[var(--inkblot-semantic-color-border-default)]","bg-[var(--inkblot-semantic-color-background-secondary)] px-[var(--inkblot-spacing-3)] py-[var(--inkblot-spacing-2)]","text-center text-[var(--inkblot-semantic-color-text-primary)] [font:var(--inkblot-semantic-typography-heading-small)]","focus-visible:outline focus-visible:outline-2 focus-visible:outline-[var(--inkblot-semantic-color-border-focus)] focus-visible:outline-offset-2","disabled:opacity-[var(--inkblot-opacity-disabled)] disabled:pointer-events-none"),...l},`otp-slot-${k}`))})});Ua.displayName="InputOtp";import{jsx as oo,jsxs as vm}from"react/jsx-runtime";var um=[{label:"Revenue Confidence",value:82,tone:"success"},{label:"Churn Risk",value:23,tone:"warning",inverted:!0},{label:"Momentum",value:67,tone:"primary"}];function vN({title:t="Intelligence Scores",items:e=um,className:r}){return vm("article",{className:o("glass rounded-[var(--inkblot-radius-lg)] p-5",r),children:[oo("h3",{className:"mb-4 text-xs font-medium uppercase tracking-wide text-[var(--inkblot-semantic-color-text-tertiary)]",children:t}),oo("div",{className:"grid grid-cols-3 gap-6",children:e.map(a=>oo(ba,{label:a.label,value:a.value,tone:a.tone,color:a.color,inverted:a.inverted},a.label))})]})}import{forwardRef as gm}from"react";import{jsx as fm,jsxs as km}from"react/jsx-runtime";var qa=gm(({className:t,children:e,requiredIndicator:r,...a},i)=>km("label",{ref:i,className:o("inline-flex items-center gap-[var(--inkblot-spacing-1)] text-[var(--inkblot-semantic-color-text-primary)] [font:var(--inkblot-semantic-typography-body-medium)]",t),...a,children:[e,r?fm("span",{className:"text-[var(--inkblot-semantic-color-status-error)]",children:"*"}):null]}));qa.displayName="Label";import{createContext as Ya,forwardRef as fe,useContext as Xa,useMemo as Za,useRef as ym,useState as xm}from"react";import{ChevronDown as hm}from"lucide-react";import{jsx as Ct,jsxs as sn}from"react/jsx-runtime";var Qa=Ya(null);function ao(){let t=Xa(Qa);if(!t)throw new Error("Menubar components must be used within Menubar");return t}var Ja=Ya(null);function tn(){let t=Xa(Ja);if(!t)throw new Error("Menubar menu components must be used within MenubarMenu");return t}var en=fe(({className:t,...e},r)=>{let[a,i]=xm(null),n=Za(()=>({openMenuId:a,setOpenMenuId:i}),[a]);return Ct(Qa.Provider,{value:n,children:Ct("div",{ref:r,className:o("flex items-center gap-[var(--inkblot-spacing-2)] rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-primary)] p-[var(--inkblot-spacing-2)]",t),...e})})});en.displayName="Menubar";function Nm({id:t,className:e,...r}){let a=Za(()=>({menuId:t}),[t]);return Ct(Ja.Provider,{value:a,children:Ct("div",{className:o("relative inline-flex",e),...r})})}var rn=fe(({className:t,type:e="button",showChevron:r=!0,onClick:a,children:i,...n},s)=>{let{openMenuId:l,setOpenMenuId:c}=ao(),{menuId:d}=tn(),b=l===d;return sn("button",{ref:s,type:e,"aria-haspopup":"menu","aria-expanded":b,onClick:m=>{a?.(m),m.defaultPrevented||c(b?null:d)},className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center gap-[var(--inkblot-spacing-2)] rounded-[var(--inkblot-radius-md)] px-[var(--inkblot-spacing-3)] py-[var(--inkblot-spacing-2)]","[font:var(--inkblot-semantic-typography-body-medium)]",b?"bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)]":"text-[var(--inkblot-semantic-color-text-primary)] hover:bg-[var(--inkblot-semantic-color-background-secondary)]",t),...n,children:[i,r?Ct(hm,{style:{width:"var(--inkblot-spacing-4)",height:"var(--inkblot-spacing-4)"}}):null]})});rn.displayName="MenubarTrigger";var on=fe(({className:t,...e},r)=>{let{openMenuId:a}=ao(),{menuId:i}=tn();return a!==i?null:Ct("div",{ref:r,role:"menu",className:o("absolute left-0 top-[calc(100%+var(--inkblot-spacing-2))] z-40 min-w-[calc(var(--inkblot-size-touch-target-min)*4)] rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)]","bg-[var(--inkblot-semantic-color-background-primary)] p-[var(--inkblot-spacing-2)] shadow-[var(--inkblot-shadow-md)]",t),...e})});on.displayName="MenubarContent";var an=fe(({className:t,type:e="button",icon:r,...a},i)=>sn("button",{ref:i,type:e,role:"menuitem",className:o("flex min-h-[var(--inkblot-size-touch-target-min)] w-full items-center gap-[var(--inkblot-spacing-2)] rounded-[var(--inkblot-radius-md)] px-[var(--inkblot-spacing-3)] py-[var(--inkblot-spacing-2)]","text-left text-[var(--inkblot-semantic-color-text-primary)] hover:bg-[var(--inkblot-semantic-color-background-secondary)]","[font:var(--inkblot-semantic-typography-body-medium)]",t),...a,children:[r,a.children]}));an.displayName="MenubarItem";function Cm({className:t,...e}){return Ct("div",{className:o("my-[var(--inkblot-spacing-2)] border-b border-[var(--inkblot-semantic-color-border-default)]",t),...e})}var nn=fe(({className:t,...e},r)=>{let{setOpenMenuId:a}=ao(),i=ym(null);return Ct("div",{ref:n=>{i.current=n,typeof r=="function"?r(n):r&&(r.current=n)},onPointerDown:n=>{i.current?.contains(n.target)&&a(null)},className:o(t),...e})});nn.displayName="MenubarCloseZone";import{ChevronRight as ln}from"lucide-react";import{jsx as ir,jsxs as cn}from"react/jsx-runtime";function wm({items:t,className:e,onItemSelect:r}){return ir("nav",{"aria-label":"Navigation menu",className:o("flex flex-wrap items-center gap-[var(--inkblot-spacing-2)] rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-primary)] p-[var(--inkblot-spacing-2)]",e),children:t.map(a=>ir(Tm,{item:a,onSelect:()=>r?.(a)},a.id))})}function Tm({item:t,onSelect:e,className:r,...a}){let i=o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center gap-[var(--inkblot-spacing-2)] rounded-[var(--inkblot-radius-md)] px-[var(--inkblot-spacing-3)] py-[var(--inkblot-spacing-2)]","[font:var(--inkblot-semantic-typography-body-medium)]",t.active?"bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)]":"text-[var(--inkblot-semantic-color-text-primary)] hover:bg-[var(--inkblot-semantic-color-background-secondary)]",t.disabled&&"pointer-events-none opacity-[var(--inkblot-opacity-disabled)]",r);return t.href?cn("a",{href:t.href,"aria-current":t.active?"page":void 0,className:i,onClick:()=>e?.(),...a,children:[t.icon,t.label,t.active?null:ir(ln,{style:{width:"var(--inkblot-spacing-4)",height:"var(--inkblot-spacing-4)"}})]}):cn("button",{type:"button","aria-current":t.active?"page":void 0,disabled:t.disabled,className:i,onClick:()=>e?.(),children:[t.icon,t.label,t.active?null:ir(ln,{style:{width:"var(--inkblot-spacing-4)",height:"var(--inkblot-spacing-4)"}})]})}import{useMemo as Pm,useState as dn}from"react";import{ArrowLeft as Mm,ArrowRight as Sm,Briefcase as Em,Building2 as Lm,Check as Im,Command as Rm,Globe as Am,Megaphone as Dm,Sparkles as Hm,Target as mn,Users as Bm}from"lucide-react";import{Fragment as pn,jsx as O,jsxs as tt}from"react/jsx-runtime";var zm=[{id:"company",question:"What's your company name?",subtitle:"We'll personalize your workspace around your brand.",icon:Lm,type:"input",field:"companyName",placeholder:"e.g. Acme Corporation"},{id:"size",question:"How many employees does your company have?",subtitle:"This helps us tailor the right features for your team size.",icon:Bm,type:"select",field:"companySize",options:[{value:"1-10",label:"1-10"},{value:"11-50",label:"11-50"},{value:"51-200",label:"51-200"},{value:"201-1000",label:"201-1,000"},{value:"1000+",label:"1,000+"}]},{id:"industry",question:"What industry are you in?",subtitle:"We'll pre-configure pipelines and templates for your sector.",icon:Em,type:"select",field:"industry",options:[{value:"saas",label:"SaaS / Software"},{value:"agency",label:"Agency / Consulting"},{value:"ecommerce",label:"E-Commerce"},{value:"fintech",label:"Fintech"},{value:"healthcare",label:"Healthcare"},{value:"other",label:"Other"}]},{id:"role",question:"What's your role?",subtitle:"So we can surface the most relevant modules first.",icon:mn,type:"select",field:"role",options:[{value:"founder",label:"Founder / CEO"},{value:"sales",label:"Sales Leader"},{value:"marketing",label:"Marketing"},{value:"ops",label:"Operations"},{value:"other",label:"Other"}]},{id:"goals",question:"What do you want to achieve?",subtitle:"Select all that apply. We'll prioritize these in your dashboard.",icon:mn,type:"multi-select",field:"goals",options:[{value:"pipeline",label:"Manage Sales Pipeline"},{value:"contacts",label:"Organize Contacts"},{value:"email",label:"Email Campaigns"},{value:"invoicing",label:"Invoicing"},{value:"reporting",label:"Analytics & Reporting"},{value:"automation",label:"Workflow Automation"}]},{id:"source",question:"How did you hear about us?",subtitle:"Helps us improve our outreach.",icon:Dm,type:"select",field:"source",options:[{value:"google",label:"Google Search"},{value:"social",label:"Social Media"},{value:"referral",label:"Friend / Colleague"},{value:"event",label:"Conference / Event"},{value:"other",label:"Other"}]},{id:"website",question:"What's your company website?",subtitle:"Optional, we'll try to auto-import your branding.",icon:Am,type:"input",field:"website",placeholder:"e.g. https://acme.com"}];function WN({onComplete:t,steps:e=zm,value:r,defaultValue:a,onValueChange:i,stepIndex:n,defaultStepIndex:s=0,onStepIndexChange:l,onCancel:c,showSkip:d=!0,className:b}){let[m,v]=dn(s),[p,g]=dn(a??{}),C=n!==void 0,w=r!==void 0,N=C?n:m,T=w?r:p,h=e[N],y=T[h.field]??(h.type==="multi-select"?[]:""),k=N===e.length-1,u=Pm(()=>h.type==="multi-select"?y.length>0:h.id==="website"?!0:typeof y=="string"&&y.trim().length>0,[y,h.id,h.type]),x=E=>{let B=Math.min(Math.max(E,0),Math.max(e.length-1,0));C||v(B),l?.(B)},P=E=>{w||g(E),i?.(E)},M=()=>x(N-1),A=()=>{if(k){t(T);return}x(N+1)},S=(E,B)=>{P({...T,[E]:B})},F=(E,B)=>{let L=T[E]??[],G=L.includes(B)?L.filter(q=>q!==B):[...L,B];S(E,G)};return tt("section",{className:o("fixed inset-0 z-[100] flex items-center justify-center bg-[var(--inkblot-semantic-color-background-primary)]",b),children:[tt("div",{className:"absolute inset-0 overflow-hidden",children:[O("div",{className:"absolute left-1/4 top-1/4 h-96 w-96 rounded-full bg-[var(--inkblot-semantic-color-interactive-primary)]/5 blur-[120px]"}),O("div",{className:"absolute bottom-1/4 right-1/4 h-96 w-96 rounded-full bg-[var(--inkblot-semantic-color-status-warning)]/5 blur-[120px]"})]}),tt("div",{className:"relative w-full max-w-lg px-6",children:[tt("header",{className:"mb-12 flex items-center justify-center gap-2",children:[O("span",{className:"flex h-10 w-10 items-center justify-center rounded-[var(--inkblot-radius-lg)] bg-[var(--inkblot-semantic-color-interactive-primary)]",children:O(Rm,{className:"h-5 w-5 text-[var(--inkblot-semantic-color-text-inverse)]"})}),O("span",{className:"text-lg font-semibold tracking-tight text-[var(--inkblot-semantic-color-text-primary)]",children:"Citron OS"})]}),O("div",{className:"mb-10 flex gap-1",children:e.map((E,B)=>O("span",{className:o("h-0.5 flex-1 rounded-full",B<N?"bg-[var(--inkblot-semantic-color-interactive-primary)]":B===N?"bg-[var(--inkblot-semantic-color-interactive-primary)]/60":"bg-[var(--inkblot-semantic-color-background-tertiary)]")},E.id))}),tt("div",{className:"space-y-6",children:[tt("div",{children:[O("div",{className:"mb-4 flex h-10 w-10 items-center justify-center rounded-[var(--inkblot-radius-lg)] bg-[var(--inkblot-semantic-color-interactive-secondary)]",children:O(h.icon,{className:"h-5 w-5 text-[var(--inkblot-semantic-color-text-primary)]"})}),O("h2",{className:"text-xl font-semibold tracking-tight text-[var(--inkblot-semantic-color-text-primary)]",children:h.question}),O("p",{className:"mt-1 text-sm text-[var(--inkblot-semantic-color-text-tertiary)]",children:h.subtitle})]}),h.type==="input"?O("input",{autoFocus:!0,value:y||"",onChange:E=>S(h.field,E.target.value),placeholder:h.placeholder,onKeyDown:E=>{E.key==="Enter"&&u&&A()},className:"w-full rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] px-5 py-3.5 text-sm text-[var(--inkblot-semantic-color-text-primary)] placeholder:text-[var(--inkblot-semantic-color-text-tertiary)] outline-none"}):null,h.type==="select"?O("div",{className:"grid grid-cols-2 gap-2",children:h.options?.map(E=>O("button",{type:"button",onClick:()=>S(h.field,E.value),className:o("rounded-[var(--inkblot-radius-lg)] border px-4 py-3 text-left text-sm transition-colors duration-[var(--inkblot-duration-fast)]",y===E.value?"border-[var(--inkblot-semantic-color-interactive-primary)] bg-[var(--inkblot-semantic-color-interactive-primary)]/10 text-[var(--inkblot-semantic-color-text-primary)]":"border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] text-[var(--inkblot-semantic-color-text-tertiary)] hover:bg-[var(--inkblot-semantic-color-background-tertiary)]"),children:E.label},E.value))}):null,h.type==="multi-select"?O("div",{className:"grid grid-cols-2 gap-2",children:h.options?.map(E=>{let B=y.includes(E.value);return tt("button",{type:"button",onClick:()=>F(h.field,E.value),className:o("flex items-center gap-2 rounded-[var(--inkblot-radius-lg)] border px-4 py-3 text-left text-sm transition-colors duration-[var(--inkblot-duration-fast)]",B?"border-[var(--inkblot-semantic-color-interactive-primary)] bg-[var(--inkblot-semantic-color-interactive-primary)]/10 text-[var(--inkblot-semantic-color-text-primary)]":"border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] text-[var(--inkblot-semantic-color-text-tertiary)] hover:bg-[var(--inkblot-semantic-color-background-tertiary)]"),children:[O("span",{className:o("flex h-4 w-4 shrink-0 items-center justify-center rounded-[var(--inkblot-radius-sm)] border",B?"border-[var(--inkblot-semantic-color-interactive-primary)] bg-[var(--inkblot-semantic-color-interactive-primary)]":"border-[var(--inkblot-semantic-color-border-default)]"),children:B?O(Im,{className:"h-2.5 w-2.5 text-[var(--inkblot-semantic-color-text-inverse)]"}):null}),E.label]},E.value)})}):null]}),tt("footer",{className:"mt-10 flex items-center justify-between",children:[tt("button",{type:"button",onClick:M,disabled:N===0,className:"flex items-center gap-1.5 rounded-[var(--inkblot-radius-md)] px-4 py-2 text-xs text-[var(--inkblot-semantic-color-text-tertiary)] transition-opacity duration-[var(--inkblot-duration-fast)] disabled:opacity-0",children:[O(Mm,{className:"h-3 w-3"}),"Back"]}),tt("div",{className:"flex items-center gap-3",children:[!k&&d?O("button",{type:"button",onClick:c??A,className:"text-xs text-[var(--inkblot-semantic-color-text-tertiary)]",children:"Skip"}):null,O("button",{type:"button",onClick:A,disabled:!u,className:"flex items-center gap-2 rounded-[var(--inkblot-radius-lg)] bg-[var(--inkblot-semantic-color-interactive-primary)] px-5 py-2.5 text-xs font-medium text-[var(--inkblot-semantic-color-text-inverse)] transition-opacity duration-[var(--inkblot-duration-fast)] disabled:opacity-40",children:k?tt(pn,{children:[O(Hm,{className:"h-3 w-3"}),"Launch Citron OS"]}):tt(pn,{children:["Continue",O(Sm,{className:"h-3 w-3"})]})})]})]})]})]})}import{ChevronLeft as Vm,ChevronRight as Om}from"lucide-react";import{jsx as ke,jsxs as Gm}from"react/jsx-runtime";function Fm({page:t,totalPages:e,onPageChange:r,className:a}){let i=Array.from({length:e},(n,s)=>s+1);return Gm("nav",{"aria-label":"Pagination",className:o("flex items-center gap-[var(--inkblot-spacing-2)]",a),children:[ke("button",{type:"button","aria-label":"Previous page",disabled:t<=1,onClick:()=>r(Math.max(t-1,1)),className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center rounded-[var(--inkblot-radius-md)] border border-[var(--inkblot-semantic-color-border-default)] px-[var(--inkblot-spacing-3)]","bg-[var(--inkblot-semantic-color-interactive-secondary)] text-[var(--inkblot-semantic-color-text-primary)]","hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)] disabled:opacity-[var(--inkblot-opacity-disabled)] disabled:pointer-events-none"),children:ke(Vm,{style:{width:"var(--inkblot-spacing-4)",height:"var(--inkblot-spacing-4)"}})}),i.map(n=>{let s=n===t;return ke("button",{type:"button",onClick:()=>r(n),"aria-current":s?"page":void 0,className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] min-w-[var(--inkblot-size-touch-target-min)] items-center justify-center rounded-[var(--inkblot-radius-md)] px-[var(--inkblot-spacing-3)]","[font:var(--inkblot-semantic-typography-body-medium)]",s?"bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)]":"bg-[var(--inkblot-semantic-color-interactive-secondary)] text-[var(--inkblot-semantic-color-text-primary)] hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)]"),children:n},`page-${n}`)}),ke("button",{type:"button","aria-label":"Next page",disabled:t>=e,onClick:()=>r(Math.min(t+1,e)),className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center rounded-[var(--inkblot-radius-md)] border border-[var(--inkblot-semantic-color-border-default)] px-[var(--inkblot-spacing-3)]","bg-[var(--inkblot-semantic-color-interactive-secondary)] text-[var(--inkblot-semantic-color-text-primary)]","hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)] disabled:opacity-[var(--inkblot-opacity-disabled)] disabled:pointer-events-none"),children:ke(Om,{style:{width:"var(--inkblot-spacing-4)",height:"var(--inkblot-spacing-4)"}})})]})}import{createContext as Wm,forwardRef as no,useCallback as $m,useContext as _m,useEffect as Km,useMemo as jm,useRef as Um,useState as qm}from"react";import{jsx as ye}from"react/jsx-runtime";var bn=Wm(null);function io(){let t=_m(bn);if(!t)throw new Error("Popover components must be used within Popover");return t}function Ym({children:t,open:e,defaultOpen:r=!1,onOpenChange:a}){let[i,n]=qm(r),s=Um(null),l=e!==void 0,c=l?e:i,d=$m(m=>{l||n(m),a?.(m)},[l,a]);Km(()=>{if(!c)return;let m=p=>{let g=p.target;g&&s.current&&!s.current.contains(g)&&d(!1)},v=p=>{p.key==="Escape"&&d(!1)};return window.addEventListener("pointerdown",m),window.addEventListener("keydown",v),()=>{window.removeEventListener("pointerdown",m),window.removeEventListener("keydown",v)}},[c,d]);let b=jm(()=>({open:c,setOpen:d,containerRef:s}),[c,d]);return ye(bn.Provider,{value:b,children:ye("div",{ref:s,className:"relative inline-flex",children:t})})}var un=no(({className:t,type:e="button",onClick:r,...a},i)=>{let{open:n,setOpen:s}=io();return ye("button",{ref:i,type:e,"aria-haspopup":"dialog","aria-expanded":n,onClick:l=>{r?.(l),l.defaultPrevented||s(!n)},className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)]","bg-[var(--inkblot-semantic-color-interactive-secondary)] px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)] text-[var(--inkblot-semantic-color-text-primary)]","hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)]","[font:var(--inkblot-semantic-typography-body-medium)]",t),...a})});un.displayName="PopoverTrigger";var vn=no(({className:t,...e},r)=>{let{open:a}=io();return a?ye("div",{ref:r,role:"dialog",className:o("absolute left-0 top-[calc(100%+var(--inkblot-spacing-2))] z-40 min-w-[calc(var(--inkblot-size-touch-target-min)*4)] rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)]","bg-[var(--inkblot-semantic-color-background-primary)] p-[var(--inkblot-spacing-4)] shadow-[var(--inkblot-shadow-md)]",t),...e}):null});vn.displayName="PopoverContent";var gn=no(({className:t,type:e="button",onClick:r,...a},i)=>{let{setOpen:n}=io();return ye("button",{ref:i,type:e,onClick:s=>{r?.(s),s.defaultPrevented||n(!1)},className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center rounded-[var(--inkblot-radius-md)] px-[var(--inkblot-spacing-3)] py-[var(--inkblot-spacing-2)]","bg-[var(--inkblot-semantic-color-interactive-secondary)] text-[var(--inkblot-semantic-color-text-primary)]",t),...a})});gn.displayName="PopoverClose";import{forwardRef as Xm}from"react";import{jsx as so,jsxs as Zm}from"react/jsx-runtime";var fn=Xm(({className:t,value:e,max:r=100,showValueLabel:a=!1,...i},n)=>{let s=Math.max(0,Math.min(e/r,1)),l=`${Math.round(s*100)}%`;return Zm("div",{ref:n,className:o("grid gap-[var(--inkblot-spacing-2)]",t),...i,children:[so("div",{className:"h-[var(--inkblot-spacing-2)] overflow-hidden rounded-[var(--inkblot-radius-full)] bg-[var(--inkblot-semantic-color-background-secondary)]",children:so("div",{className:"h-full rounded-[var(--inkblot-radius-full)] bg-[var(--inkblot-semantic-color-interactive-primary)] transition-[width] duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)]",style:{width:l}})}),a?so("p",{className:"text-[var(--inkblot-semantic-color-text-secondary)] [font:var(--inkblot-semantic-typography-body-small)]",children:l}):null]})});fn.displayName="Progress";import{forwardRef as yn,useState as Qm}from"react";import{jsx as xe,jsxs as kn}from"react/jsx-runtime";var xn=yn(({className:t,options:e,value:r,defaultValue:a,onValueChange:i,name:n="radio-group",...s},l)=>{let[c,d]=Qm(a??""),b=r!==void 0,m=b?r:c,v=p=>{b||d(p),i?.(p)};return xe("div",{ref:l,role:"radiogroup",className:o("grid gap-[var(--inkblot-spacing-2)]",t),...s,children:e.map(p=>kn("label",{className:o("flex cursor-pointer items-start gap-[var(--inkblot-spacing-3)] rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] p-[var(--inkblot-spacing-3)]","bg-[var(--inkblot-semantic-color-background-primary)] hover:bg-[var(--inkblot-semantic-color-background-secondary)]",p.disabled&&"pointer-events-none opacity-[var(--inkblot-opacity-disabled)]"),children:[xe(lo,{type:"radio",name:n,value:p.value,checked:m===p.value,disabled:p.disabled,onChange:()=>v(p.value)}),kn("span",{className:"grid gap-[var(--inkblot-spacing-1)]",children:[xe("span",{className:"text-[var(--inkblot-semantic-color-text-primary)] [font:var(--inkblot-semantic-typography-body-medium)]",children:p.label}),p.description?xe("span",{className:"text-[var(--inkblot-semantic-color-text-secondary)] [font:var(--inkblot-semantic-typography-body-small)]",children:p.description}):null]})]},p.value))})});xn.displayName="RadioGroup";var lo=yn(({className:t,...e},r)=>xe("input",{ref:r,className:o("mt-[var(--inkblot-spacing-1)] h-[var(--inkblot-spacing-4)] w-[var(--inkblot-spacing-4)] border-[var(--inkblot-semantic-color-border-default)] text-[var(--inkblot-semantic-color-interactive-primary)]",t),...e}));lo.displayName="RadioGroupItem";import{useMemo as Jm,useState as tp}from"react";import{GripVertical as ep,GripHorizontal as rp}from"lucide-react";import{jsx as Qt,jsxs as ap}from"react/jsx-runtime";function op({primary:t,secondary:e,direction:r="horizontal",defaultPrimarySize:a=50,minPrimarySize:i=20,minSecondarySize:n=20,className:s}){let[l,c]=tp(a),d=r==="horizontal",b=Jm(()=>d?{gridTemplateColumns:`${l}fr auto ${100-l}fr`}:{gridTemplateRows:`${l}fr auto ${100-l}fr`},[d,l]),m=(v,p)=>{let g=p.getBoundingClientRect(),C=d?(v.x-g.left)/g.width*100:(v.y-g.top)/g.height*100,w=100-n,N=Math.min(w,Math.max(i,C));c(N)};return ap("div",{className:o("grid h-full w-full overflow-hidden rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-primary)]",s),style:b,children:[Qt("div",{className:"min-h-0 min-w-0 overflow-auto p-[var(--inkblot-spacing-3)]",children:t}),Qt("div",{className:o(d?"w-[var(--inkblot-spacing-2)]":"h-[var(--inkblot-spacing-2)]","bg-[var(--inkblot-semantic-color-border-default)]"),children:Qt("button",{type:"button","aria-label":"Resize panels",className:o("flex h-full w-full items-center justify-center bg-[var(--inkblot-semantic-color-background-secondary)] text-[var(--inkblot-semantic-color-text-secondary)]","hover:bg-[var(--inkblot-semantic-color-background-tertiary)] active:bg-[var(--inkblot-semantic-color-background-secondary)]"),onPointerDown:v=>{let p=v.currentTarget.closest("div")?.parentElement;if(!p)return;m({x:v.clientX,y:v.clientY},p);let g=w=>{m({x:w.clientX,y:w.clientY},p)},C=()=>{window.removeEventListener("pointermove",g),window.removeEventListener("pointerup",C)};window.addEventListener("pointermove",g),window.addEventListener("pointerup",C)},children:d?Qt(ep,{style:{width:"var(--inkblot-spacing-4)",height:"var(--inkblot-spacing-4)"}}):Qt(rp,{style:{width:"var(--inkblot-spacing-4)",height:"var(--inkblot-spacing-4)"}})})}),Qt("div",{className:"min-h-0 min-w-0 overflow-auto p-[var(--inkblot-spacing-3)]",children:e})]})}import{forwardRef as np}from"react";import{jsx as ip}from"react/jsx-runtime";var hn=np(({className:t,maxHeight:e="var(--inkblot-size-touch-target-min)",...r},a)=>ip("div",{ref:a,className:o("overflow-auto rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-primary)] p-[var(--inkblot-spacing-3)]",t),style:{maxHeight:e,...r.style},...r}));hn.displayName="ScrollArea";import{ChevronDown as sp}from"lucide-react";import{forwardRef as lp}from"react";import{jsx as co,jsxs as Nn}from"react/jsx-runtime";var Cn=lp(({className:t,options:e,placeholder:r,error:a,disabled:i,...n},s)=>Nn("div",{className:"relative w-full",children:[Nn("select",{ref:s,disabled:i,"aria-invalid":a,className:o("min-h-[var(--inkblot-size-touch-target-min)] w-full appearance-none rounded-[var(--inkblot-radius-md)] border bg-[var(--inkblot-semantic-color-background-secondary)] px-4 py-2 pr-10 text-[var(--inkblot-semantic-color-text-primary)] transition-[border-color,box-shadow] duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--inkblot-semantic-color-border-focus)] focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-[var(--inkblot-opacity-disabled)]",a?"border-[var(--inkblot-semantic-color-status-error)] focus-visible:ring-[var(--inkblot-semantic-color-status-error)]":"border-[var(--inkblot-semantic-color-border-default)] hover:border-[var(--inkblot-semantic-color-border-strong)]",t),...n,children:[r?co("option",{value:"",disabled:!0,children:r}):null,e.map(l=>co("option",{value:l.value,disabled:l.disabled,children:l.label},l.value))]}),co(sp,{"aria-hidden":!0,className:"pointer-events-none absolute right-3 top-1/2 size-4 -translate-y-1/2 text-[var(--inkblot-semantic-color-text-tertiary)]"})]}));Cn.displayName="Select";import{forwardRef as cp}from"react";import{jsx as dp}from"react/jsx-runtime";var wn=cp(({className:t,orientation:e="horizontal",decorative:r=!0,...a},i)=>dp("div",{ref:i,role:r?"none":"separator","aria-orientation":e,className:o("shrink-0 bg-[var(--inkblot-semantic-color-border-default)]",e==="horizontal"?"h-px w-full":"h-full w-px",t),...a}));wn.displayName="Separator";import{X as mp}from"lucide-react";import{useEffect as pp}from"react";import{jsx as Jt,jsxs as sr}from"react/jsx-runtime";var bp={top:"inset-x-0 top-0 border-b rounded-b-[var(--inkblot-radius-lg)]",right:"inset-y-0 right-0 h-full w-full max-w-[420px] border-l",bottom:"inset-x-0 bottom-0 border-t rounded-t-[var(--inkblot-radius-lg)]",left:"inset-y-0 left-0 h-full w-full max-w-[420px] border-r"};function up({open:t,onOpenChange:e,side:r="right",title:a,description:i,showCloseButton:n=!0,className:s,overlayClassName:l,children:c,...d}){return pp(()=>{if(!t)return;let b=m=>{m.key==="Escape"&&e?.(!1)};return window.addEventListener("keydown",b),()=>window.removeEventListener("keydown",b)},[t,e]),t?sr("div",{className:"fixed inset-0 z-50",children:[Jt("button",{type:"button","aria-label":"Cerrar panel",onClick:()=>e?.(!1),className:o("absolute inset-0 bg-[var(--inkblot-semantic-color-background-primary)]/70",l)}),sr("section",{role:"dialog","aria-modal":"true",className:o("absolute bg-[var(--inkblot-semantic-color-background-secondary)] p-5 text-[var(--inkblot-semantic-color-text-primary)] shadow-lg border-[var(--inkblot-semantic-color-border-default)]",bp[r],s),...d,children:[(a||i||n)&&sr("header",{className:"mb-4 flex items-start justify-between gap-4",children:[sr("div",{children:[a?Jt("h3",{className:"text-base font-semibold",children:a}):null,i?Jt("p",{className:"mt-1 text-sm text-[var(--inkblot-semantic-color-text-secondary)]",children:i}):null]}),n?Jt("button",{type:"button","aria-label":"Cerrar",onClick:()=>e?.(!1),className:"inline-flex size-9 items-center justify-center rounded-[var(--inkblot-radius-md)] border border-[var(--inkblot-semantic-color-border-default)] text-[var(--inkblot-semantic-color-text-secondary)] transition-colors hover:text-[var(--inkblot-semantic-color-text-primary)]",children:Jt(mp,{className:"size-4"})}):null]}),Jt("div",{children:c})]})]}):null}import{PanelLeftClose as vp,PanelLeftOpen as gp}from"lucide-react";import{Fragment as kp,jsx as dt,jsxs as lr}from"react/jsx-runtime";function fp({items:t,collapsed:e=!1,onCollapsedChange:r,header:a,footer:i,className:n,...s}){return lr("aside",{className:o("flex h-full flex-col border-r border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-3 transition-[width] duration-[var(--inkblot-duration-fast)]",e?"w-[76px]":"w-[260px]",n),...s,children:[lr("div",{className:"mb-3 flex items-center justify-between gap-2",children:[dt("div",{className:o("truncate text-sm font-semibold",e&&"sr-only"),children:a}),dt("button",{type:"button","aria-label":e?"Expandir sidebar":"Colapsar sidebar",onClick:()=>r?.(!e),className:"inline-flex size-9 items-center justify-center rounded-[var(--inkblot-radius-md)] border border-[var(--inkblot-semantic-color-border-default)] text-[var(--inkblot-semantic-color-text-secondary)] hover:text-[var(--inkblot-semantic-color-text-primary)]",children:e?dt(gp,{className:"size-4"}):dt(vp,{className:"size-4"})})]}),dt("nav",{className:"flex flex-1 flex-col gap-1",children:t.map(l=>{let c=l.icon;return lr("button",{type:"button",disabled:l.disabled,onClick:l.onClick,className:o("flex min-h-[var(--inkblot-size-touch-target-min)] items-center gap-3 rounded-[var(--inkblot-radius-md)] px-3 py-2 text-sm transition-colors",l.active?"bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)]":"text-[var(--inkblot-semantic-color-text-secondary)] hover:bg-[var(--inkblot-semantic-color-background-tertiary)] hover:text-[var(--inkblot-semantic-color-text-primary)]",l.disabled&&"cursor-not-allowed opacity-[var(--inkblot-opacity-disabled)]"),children:[c?dt(c,{className:"size-4 shrink-0"}):null,e?null:lr(kp,{children:[dt("span",{className:"truncate",children:l.label}),l.badge?dt("span",{className:"ml-auto",children:l.badge}):null]})]},l.id)})}),i?dt("div",{className:o("mt-3 border-t border-[var(--inkblot-semantic-color-border-default)] pt-3",e&&"sr-only"),children:i}):null]})}import{forwardRef as yp,useMemo as xp}from"react";import{jsx as cr,jsxs as Tn}from"react/jsx-runtime";var Pn=yp(({className:t,value:e,defaultValue:r,min:a=0,max:i=100,step:n=1,disabled:s,showValue:l=!0,onValueChange:c,...d},b)=>{let m=e??r??a,v=xp(()=>i<=a?0:(m-a)/(i-a)*100,[m,a,i]);return Tn("div",{className:o("w-full",t),children:[Tn("div",{className:"mb-2 flex items-center justify-between text-sm",children:[cr("span",{className:"text-[var(--inkblot-semantic-color-text-secondary)]",children:a}),l?cr("span",{className:"font-medium text-[var(--inkblot-semantic-color-text-primary)]",children:m}):null,cr("span",{className:"text-[var(--inkblot-semantic-color-text-secondary)]",children:i})]}),cr("input",{ref:b,type:"range",value:e,defaultValue:r,min:a,max:i,step:n,disabled:s,onChange:p=>c?.(Number(p.target.value)),className:"h-2 w-full cursor-pointer appearance-none rounded-full bg-[var(--inkblot-semantic-color-background-tertiary)] disabled:cursor-not-allowed disabled:opacity-[var(--inkblot-opacity-disabled)] [&::-webkit-slider-runnable-track]:h-2 [&::-webkit-slider-runnable-track]:rounded-full [&::-webkit-slider-runnable-track]:bg-transparent [&::-webkit-slider-thumb]:mt-[-4px] [&::-webkit-slider-thumb]:size-4 [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:border [&::-webkit-slider-thumb]:border-[var(--inkblot-semantic-color-border-default)] [&::-webkit-slider-thumb]:bg-[var(--inkblot-semantic-color-background-secondary)] [&::-webkit-slider-thumb]:shadow-sm [&::-moz-range-track]:h-2 [&::-moz-range-track]:rounded-full [&::-moz-range-track]:bg-transparent [&::-moz-range-thumb]:size-4 [&::-moz-range-thumb]:rounded-full [&::-moz-range-thumb]:border [&::-moz-range-thumb]:border-[var(--inkblot-semantic-color-border-default)] [&::-moz-range-thumb]:bg-[var(--inkblot-semantic-color-background-secondary)]",style:{background:`linear-gradient(to right, var(--inkblot-semantic-color-interactive-primary) 0%, var(--inkblot-semantic-color-interactive-primary) ${v}%, var(--inkblot-semantic-color-background-tertiary) ${v}%, var(--inkblot-semantic-color-background-tertiary) 100%)`},...d})]})});Pn.displayName="Slider";import{useMemo as Ep}from"react";import{AlertTriangle as hp,CheckCircle2 as Np,CircleX as Cp,Info as wp,X as Tp}from"lucide-react";import{jsx as at,jsxs as Mn}from"react/jsx-runtime";var Pp={info:"border-[var(--inkblot-semantic-color-status-info)]",success:"border-[var(--inkblot-semantic-color-status-success)]",warning:"border-[var(--inkblot-semantic-color-status-warning)]",error:"border-[var(--inkblot-semantic-color-status-error)]"},Mp={info:at(wp,{className:"size-4"}),success:at(Np,{className:"size-4"}),warning:at(hp,{className:"size-4"}),error:at(Cp,{className:"size-4"})};function mo({title:t,description:e,variant:r="info",action:a,onClose:i,className:n,...s}){return at("div",{role:"status",className:o("w-full rounded-[var(--inkblot-radius-lg)] border-l-4 border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-3 text-[var(--inkblot-semantic-color-text-primary)] shadow-sm",Pp[r],n),...s,children:Mn("div",{className:"flex items-start gap-3",children:[at("span",{className:"mt-0.5 text-[var(--inkblot-semantic-color-text-secondary)]",children:Mp[r]}),Mn("div",{className:"min-w-0 flex-1",children:[at("p",{className:"text-sm font-semibold",children:t}),e?at("p",{className:"mt-1 text-sm text-[var(--inkblot-semantic-color-text-secondary)]",children:e}):null,a?at("button",{type:"button",...a,className:o("mt-2 rounded-[var(--inkblot-radius-md)] border border-[var(--inkblot-semantic-color-border-default)] px-2 py-1 text-xs font-medium text-[var(--inkblot-semantic-color-text-primary)] hover:bg-[var(--inkblot-semantic-color-background-tertiary)]",a.className),children:a.label}):null]}),i?at("button",{type:"button","aria-label":"Cerrar notificaci\xF3n",onClick:i,className:"inline-flex size-8 items-center justify-center rounded-[var(--inkblot-radius-md)] text-[var(--inkblot-semantic-color-text-tertiary)] hover:text-[var(--inkblot-semantic-color-text-primary)]",children:at(Tp,{className:"size-4"})}):null]})})}import{jsx as Sn}from"react/jsx-runtime";var Sp={"top-left":"top-4 left-4","top-right":"top-4 right-4","bottom-left":"bottom-4 left-4","bottom-right":"bottom-4 right-4"};function po({toasts:t,position:e="bottom-right",onDismiss:r,className:a,...i}){return Sn("div",{className:o("fixed z-50 flex w-full max-w-[360px] flex-col gap-2",Sp[e],a),...i,children:t.map(n=>Sn(mo,{...n,onClose:()=>r?.(n.id)},n.id))})}import{jsx as Ip}from"react/jsx-runtime";function Lp({toasts:t,maxVisible:e=3,position:r="bottom-right",onDismiss:a,...i}){let n=Ep(()=>t.slice(0,e),[t,e]);return Ip(po,{toasts:n,position:r,onDismiss:a,...i})}import{forwardRef as Rp,useState as Ap}from"react";import{jsx as En}from"react/jsx-runtime";var Ln=Rp(({checked:t,defaultChecked:e=!1,onCheckedChange:r,disabled:a,className:i,...n},s)=>{let[l,c]=Ap(e),d=t??l;return En("button",{ref:s,type:"button",role:"switch","aria-checked":d,disabled:a,onClick:()=>{if(a)return;let m=!d;t===void 0&&c(m),r?.(m)},className:o("relative inline-flex h-7 w-12 items-center rounded-full border transition-colors duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--inkblot-semantic-color-border-focus)] focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-[var(--inkblot-opacity-disabled)]",d?"border-[var(--inkblot-semantic-color-interactive-primary)] bg-[var(--inkblot-semantic-color-interactive-primary)]":"border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-tertiary)]",i),...n,children:En("span",{className:o("inline-block size-5 rounded-full bg-[var(--inkblot-semantic-color-background-secondary)] transition-transform duration-[var(--inkblot-duration-fast)]",d?"translate-x-6":"translate-x-1")})})});Ln.displayName="Switch";import{forwardRef as wt}from"react";import{ArrowDown as Dp,ArrowUp as Hp,ArrowUpDown as Bp}from"lucide-react";import{jsx as U,jsxs as On}from"react/jsx-runtime";var In=wt(({className:t,...e},r)=>U("div",{className:"w-full overflow-x-auto rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)]",children:U("table",{ref:r,className:o("w-full border-collapse bg-[var(--inkblot-semantic-color-background-secondary)]",t),...e})})),Rn=wt(({className:t,...e},r)=>U("thead",{ref:r,className:o("bg-[var(--inkblot-semantic-color-background-tertiary)]",t),...e})),An=wt(({className:t,...e},r)=>U("tbody",{ref:r,className:o(t),...e})),Dn=wt(({className:t,...e},r)=>U("tr",{ref:r,className:o("border-b border-[var(--inkblot-semantic-color-border-default)] text-[var(--inkblot-semantic-color-text-primary)] transition-colors hover:bg-[var(--inkblot-semantic-color-background-tertiary)]",t),...e})),Hn=wt(({className:t,children:e,sortable:r=!1,sortDirection:a,onSort:i,sortButtonProps:n,...s},l)=>U("th",{ref:l,className:o("px-4 py-3 text-left text-sm font-semibold text-[var(--inkblot-semantic-color-text-secondary)]",t),...s,children:r?On("button",{type:"button",onClick:i,className:"inline-flex items-center gap-[var(--inkblot-spacing-1)] rounded-[var(--inkblot-radius-sm)] text-inherit transition-colors duration-[var(--inkblot-duration-fast)] hover:text-[var(--inkblot-semantic-color-text-primary)]",...n,children:[e,a==="asc"?U(Hp,{className:"h-3.5 w-3.5","aria-hidden":!0}):a==="desc"?U(Dp,{className:"h-3.5 w-3.5","aria-hidden":!0}):U(Bp,{className:"h-3.5 w-3.5","aria-hidden":!0})]}):e})),Bn=wt(({className:t,...e},r)=>U("td",{ref:r,className:o("px-4 py-3 text-sm",t),...e})),zn=wt(({className:t,...e},r)=>U("caption",{ref:r,className:o("p-3 text-left text-sm text-[var(--inkblot-semantic-color-text-tertiary)]",t),...e})),Vn=wt(({className:t,colSpan:e,title:r="No data available",description:a="Adjust filters or add records to populate this table.",...i},n)=>U("tr",{children:U("td",{ref:n,colSpan:e,className:o("px-4 py-10 text-center align-middle","text-[var(--inkblot-semantic-color-text-secondary)]",t),...i,children:On("div",{className:"mx-auto flex max-w-[420px] flex-col gap-[var(--inkblot-spacing-1)]",children:[U("span",{className:"[font:var(--inkblot-semantic-typography-body-large-bold)] text-[var(--inkblot-semantic-color-text-primary)]",children:r}),U("span",{className:"[font:var(--inkblot-semantic-typography-body-small)]",children:a})]})})}));In.displayName="Table";Rn.displayName="TableHeader";An.displayName="TableBody";Dn.displayName="TableRow";Hn.displayName="TableHead";Bn.displayName="TableCell";zn.displayName="TableCaption";Vn.displayName="TableEmptyState";import{useMemo as zp,useState as Vp}from"react";import{jsx as bo,jsxs as Fp}from"react/jsx-runtime";function Op({items:t,value:e,defaultValue:r,onValueChange:a,fullWidth:i=!1,className:n,...s}){let l=r??t.find(p=>!p.disabled)?.id??"",[c,d]=Vp(l),b=e??c,m=zp(()=>t.find(p=>p.id===b)??t.find(p=>!p.disabled),[b,t]),v=p=>{e===void 0&&d(p),a?.(p)};return Fp("div",{className:o("w-full",n),...s,children:[bo("div",{role:"tablist",className:"inline-flex rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-tertiary)] p-1",children:t.map(p=>{let g=p.id===m?.id;return bo("button",{type:"button",role:"tab","aria-selected":g,disabled:p.disabled,onClick:()=>v(p.id),className:o("min-h-[var(--inkblot-size-touch-target-min)] rounded-[var(--inkblot-radius-md)] px-4 py-2 text-sm font-medium transition-colors disabled:cursor-not-allowed disabled:opacity-[var(--inkblot-opacity-disabled)]",i&&"flex-1",g?"bg-[var(--inkblot-semantic-color-background-secondary)] text-[var(--inkblot-semantic-color-text-primary)]":"text-[var(--inkblot-semantic-color-text-secondary)] hover:text-[var(--inkblot-semantic-color-text-primary)]"),children:p.label},p.id)})}),bo("div",{className:"mt-3 rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-4 text-[var(--inkblot-semantic-color-text-primary)]",children:m?.content})]})}import{forwardRef as Gp}from"react";import{jsx as $p}from"react/jsx-runtime";var Wp={none:"resize-none",vertical:"resize-y",horizontal:"resize-x",both:"resize"},Fn=Gp(({className:t,error:e,disabled:r,resize:a="vertical",...i},n)=>$p("textarea",{ref:n,disabled:r,"aria-invalid":e,className:o("min-h-[120px] w-full rounded-[var(--inkblot-radius-md)] border bg-[var(--inkblot-semantic-color-background-secondary)] px-4 py-3 text-[var(--inkblot-semantic-color-text-primary)] placeholder:text-[var(--inkblot-semantic-color-text-tertiary)] transition-[border-color,box-shadow] duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--inkblot-semantic-color-border-focus)] focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-[var(--inkblot-opacity-disabled)]",Wp[a],e?"border-[var(--inkblot-semantic-color-status-error)] focus-visible:ring-[var(--inkblot-semantic-color-status-error)]":"border-[var(--inkblot-semantic-color-border-default)] hover:border-[var(--inkblot-semantic-color-border-strong)]",t),...i}));Fn.displayName="Textarea";import{useState as _p}from"react";import{jsx as jp}from"react/jsx-runtime";var Kp={sm:"h-8 px-3 text-xs",md:"h-10 px-4 text-sm",lg:"h-11 px-5 text-sm"};function uo({pressed:t,defaultPressed:e=!1,onPressedChange:r,size:a="md",variant:i="default",disabled:n,className:s,children:l,...c}){let[d,b]=_p(e),m=t??d;return jp("button",{type:"button","aria-pressed":m,disabled:n,onClick:()=>{if(n)return;let p=!m;t===void 0&&b(p),r?.(p)},className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center rounded-[var(--inkblot-radius-md)] border font-medium transition-colors duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--inkblot-semantic-color-border-focus)] focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-[var(--inkblot-opacity-disabled)]",Kp[a],i==="default"?m?"border-[var(--inkblot-semantic-color-interactive-primary)] bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)]":"border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] text-[var(--inkblot-semantic-color-text-primary)] hover:bg-[var(--inkblot-semantic-color-background-tertiary)]":m?"border-[var(--inkblot-semantic-color-text-primary)] bg-[var(--inkblot-semantic-color-background-tertiary)] text-[var(--inkblot-semantic-color-text-primary)]":"border-[var(--inkblot-semantic-color-border-default)] bg-transparent text-[var(--inkblot-semantic-color-text-secondary)] hover:text-[var(--inkblot-semantic-color-text-primary)]",s),...c,children:l})}import{useMemo as Up,useState as qp}from"react";import{jsx as Gn,jsxs as Xp}from"react/jsx-runtime";function Yp({type:t="single",items:e,value:r,defaultValue:a,onValueChange:i,className:n,...s}){let l=a??(t==="single"?"":[]),[c,d]=qp(l),b=r??c,m=Up(()=>{if(t==="single"){let g=typeof b=="string"?b:"";return new Set(g?[g]:[])}let p=Array.isArray(b)?b:[];return new Set(p)},[b,t]),v=p=>{if(t==="single"){let w=m.has(p)?"":p;r===void 0&&d(w),i?.(w);return}let g=Array.isArray(b)?b:[],C=g.includes(p)?g.filter(w=>w!==p):[...g,p];r===void 0&&d(C),i?.(C)};return Gn("div",{className:o("inline-flex items-center gap-2 rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-tertiary)] p-1",n),...s,children:e.map(p=>{let g=p.icon;return Xp(uo,{pressed:m.has(p.id),onPressedChange:()=>v(p.id),disabled:p.disabled,size:"sm",children:[g?Gn(g,{className:"mr-2 size-4"}):null,p.label]},p.id)})})}import{useState as Zp}from"react";import{jsx as tb,jsxs as eb}from"react/jsx-runtime";var Qp={top:"bottom-full left-1/2 mb-2 -translate-x-1/2",right:"left-full top-1/2 ml-2 -translate-y-1/2",bottom:"left-1/2 top-full mt-2 -translate-x-1/2",left:"right-full top-1/2 mr-2 -translate-y-1/2"};function Jp({content:t,side:e="top",open:r,defaultOpen:a=!1,onOpenChange:i,disabled:n=!1,className:s,children:l,...c}){let[d,b]=Zp(a),m=r??d,v=p=>{r===void 0&&b(p),i?.(p)};return eb("span",{className:o("relative inline-flex",s),onMouseEnter:()=>!n&&v(!0),onMouseLeave:()=>v(!1),onFocus:()=>!n&&v(!0),onBlur:()=>v(!1),...c,children:[l,m&&!n?tb("span",{role:"tooltip",className:o("pointer-events-none absolute z-50 rounded-[var(--inkblot-radius-md)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] px-3 py-2 text-xs text-[var(--inkblot-semantic-color-text-primary)] shadow-sm",Qp[e]),children:t}):null]})}import{forwardRef as rb}from"react";import{NavLink as ob}from"react-router-dom";import{jsx as ab}from"react/jsx-runtime";var vo=rb(({className:t,activeClassName:e,pendingClassName:r,...a},i)=>ab(ob,{ref:i,className:({isActive:n,isPending:s})=>o(t,n&&e,s&&r),...a}));vo.displayName="NavLinkRouter";export{re as AIComposeInput,Ak as AIEmailGenerator,ol as Accordion,pr as ActionButtons,Ue as ActivityStream,dl as Alert,bl as AlertDialog,xy as AppLayout,Bo as AppNavigationRail,ea as AppSidebar,oc as AspectRatio,lc as Avatar,dc as Badge,bc as Breadcrumb,oe as Button,Nc as Calendar,Ee as CampaignTable,Br as CanvasProvider,Cc as Card,Mc as CardContent,Pc as CardDescription,Sc as CardFooter,wc as CardHeader,Tc as CardTitle,Rc as Carousel,Ac as Chart,zo as ChatFeed,Bc as Checkbox,ba as CircularScore,Fc as Collapsible,_c as Command,Oo as CommandBar,jx as CommandCanvas,Bt as CommandInterface,Qc as ContextMenu,nd as Dialog,Yr as DialogClose,Na as DialogContent,ld as DialogDescription,cd as DialogFooter,id as DialogHeader,sd as DialogTitle,ha as DialogTrigger,gd as Drawer,Sa as DrawerClose,Ma as DrawerContent,yd as DrawerDescription,xd as DrawerFooter,fd as DrawerHeader,kd as DrawerTitle,Pa as DrawerTrigger,Ld as DropdownMenu,Ia as DropdownMenuContent,Ra as DropdownMenuItem,Id as DropdownMenuSeparator,La as DropdownMenuTrigger,Eh as EmailBlockEditor,qo as EmailCampaignsView,Se as EmailComposeActionButtons,Re as EmailTemplatesSection,Ae as EntityCard,ko as EntityCommandCard,De as ErrorBoundary,Dr as EventFeed,Be as EventRow,ho as EventStreamFeed,Fo as EventStreamSidebar,Oa as Form,_d as FormActions,$d as FormField,Wh as GraphView,Xh as GuidedTour,cm as HoverCard,Ka as HoverCardContent,_a as HoverCardTrigger,Pt as Input,Ua as InputOtp,vN as IntelligenceCard,Go as IntelligenceLab,ze as IntelligenceScoreCard,qa as Label,Wo as MainShell,en as Menubar,nn as MenubarCloseZone,on as MenubarContent,an as MenubarItem,Nm as MenubarMenu,Cm as MenubarSeparator,rn as MenubarTrigger,No as MetricComparisonList,Oe as ModuleContainer,D as ModuleErrorBoundary,Vt as ModuleSkeleton,Ar as NavLink,vo as NavLinkRouter,wm as NavigationMenu,So as OSNavigationRail,WN as OnboardingWizard,Ge as PageErrorFallback,Ot as PageHeader,Ft as PageHeaderActionButton,Fm as Pagination,Ym as Popover,gn as PopoverClose,vn as PopoverContent,un as PopoverTrigger,fn as Progress,xn as RadioGroup,lo as RadioGroupItem,op as Resizable,tr as RightPanel,To as RouteWithErrorBoundary,hn as ScrollArea,vt as SearchBar,Cn as Select,wn as Separator,up as Sheet,fp as Sidebar,ut as Skeleton,Pn as Slider,Lp as Sonner,Mo as StatCardGrid,We as StatCards,Lo as StatCardsWithChart,He as StatusBadge,Ln as Switch,$e as TabSystem,In as Table,An as TableBody,zn as TableCaption,Bn as TableCell,Vn as TableEmptyState,Hn as TableHead,Rn as TableHeader,Dn as TableRow,Op as Tabs,Ze as TaskCreateForm,_e as TaskItem,Ke as TaskList,_o as TasksView,Le as TemplateCard,Fn as Textarea,mo as Toast,po as Toaster,uo as Toggle,Yp as ToggleGroup,Jp as Tooltip,tc as useCanvas};