@citron-systems/citron-ui 1.8.0 → 1.10.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 Ge,Calendar as ze}from"lucide-react";import{clsx as Oe}from"clsx";import{twMerge as _e}from"tailwind-merge";function e(...t){return _e(Oe(t))}import{jsx as kt,jsxs as Ke}from"react/jsx-runtime";var $e={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 $t({buttons:t,className:r}){return kt("div",{className:e("flex flex-wrap items-center gap-[var(--inkblot-spacing-3)]",r),children:t.map(a=>Ke("button",{type:"button",onClick:()=>{a.onClick?.()},disabled:a.disabled,className:e("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",$e[a.variant]),children:[a.icon??null,a.label]},a.id))})}function xt({onSendNow:t,onSchedule:r,onSaveDraft:a,className:o}){return kt($t,{buttons:[{id:"send",label:"Send Now",variant:"primary",icon:kt(Ge,{className:"h-4 w-4"}),onClick:t},{id:"schedule",label:"Schedule",variant:"secondary",icon:kt(ze,{className:"h-4 w-4"}),onClick:r},{id:"draft",label:"Save Draft",variant:"secondary",onClick:a}],className:o})}import{forwardRef as Ue}from"react";import{Loader2 as je,Sparkles as qe}from"lucide-react";import{jsx as U,jsxs as Kt}from"react/jsx-runtime";var it=Ue(({label:t,loading:r=!1,onWriteWithAI:a,disabled:o,className:n,...s},i)=>{let l=o||r;return Kt("div",{className:e("flex flex-col gap-[var(--inkblot-spacing-2)]",n),children:[Kt("div",{className:"flex items-center justify-between",children:[t?U("label",{htmlFor:s.id,className:e("uppercase tracking-wider","[font:var(--inkblot-semantic-typography-body-small)]","text-[var(--inkblot-semantic-color-text-primary)]"),children:t}):U("span",{}),a?Kt("button",{type:"button",onClick:a,disabled:r,className:e("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:[r?U(je,{className:"h-4 w-4 shrink-0 animate-spin"}):U(qe,{className:"h-4 w-4 shrink-0",style:{color:"var(--inkblot-semantic-color-status-warning)"}}),r?"Generating...":"Write with AI"]}):null]}),U("div",{className:"relative",children:U("textarea",{ref:i,disabled:l,className:e("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"),...s})})]})});it.displayName="AIComposeInput";import{forwardRef as Qe}from"react";import{jsx as Ze}from"react/jsx-runtime";var Ye={primary:"bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-primary)] 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",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-interactive-secondary-hover)] 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"},st=Qe(({className:t,variant:r="primary",disabled:a,...o},n)=>Ze("button",{ref:n,disabled:a,className:e("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center rounded-[var(--inkblot-radius-lg)] px-4 py-2 font-semibold transition-[background,border-color] duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)]",Ye[r],t),...o}));st.displayName="Button";import{CheckCircle as Xe,Zap as Je,FileText as tr,Clock as er}from"lucide-react";import{jsx as x,jsxs as lt}from"react/jsx-runtime";var rr={sent:{icon:Xe,label:"Sent",colorClass:"text-[var(--inkblot-semantic-color-status-success)]"},active:{icon:Je,label:"Active",colorClass:"text-[var(--inkblot-semantic-color-status-warning)]"},draft:{icon:tr,label:"Draft",colorClass:"text-[var(--inkblot-semantic-color-text-secondary)]"},scheduled:{icon:er,label:"Scheduled",colorClass:"text-[var(--inkblot-semantic-color-status-info)]"}};function ht({columns:t,rows:r,className:a}){return x("div",{className:e("overflow-x-auto rounded-[var(--inkblot-radius-lg)]","border border-[var(--inkblot-semantic-color-border-subtle)]","bg-[var(--inkblot-semantic-color-background-primary)]",a),children:lt("table",{className:"w-full min-w-[600px] border-collapse",children:[x("thead",{children:x("tr",{className:"bg-[var(--inkblot-semantic-color-background-secondary)]",children:t.map(o=>x("th",{className:e("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:o.label},o.key))})}),x("tbody",{children:r.map(o=>lt("tr",{className:e("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:[x("td",{className:e("px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-3)]","border-b border-[var(--inkblot-semantic-color-border-subtle)]"),children:lt("div",{className:"flex flex-col gap-0.5",children:[x("span",{className:e("[font:var(--inkblot-semantic-typography-body-large-bold)]","text-[var(--inkblot-semantic-color-text-primary)]"),children:o.campaignName}),x("span",{className:e("[font:var(--inkblot-semantic-typography-body-small)]","text-[var(--inkblot-semantic-color-text-secondary)]"),children:o.recipients})]})}),x("td",{className:e("px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-3)]","border-b border-[var(--inkblot-semantic-color-border-subtle)]"),children:x(ar,{status:o.status,subtext:o.statusSubtext})}),x("td",{className:e("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:o.opens}),x("td",{className:e("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:o.clicks}),x("td",{className:e("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:o.date})]},o.id))})]})})}function ar({status:t,subtext:r}){let a=rr[t],o=a.icon;return lt("div",{className:"flex flex-col gap-0.5",children:[lt("div",{className:e("inline-flex items-center gap-1.5","[font:var(--inkblot-semantic-typography-body-small)] font-medium",a.colorClass),children:[x(o,{className:"h-4 w-4 shrink-0"}),a.label]}),r?x("span",{className:e("[font:var(--inkblot-semantic-typography-body-small)]","text-[var(--inkblot-semantic-color-text-secondary)]"),children:r}):null]})}import{Sparkles as nr}from"lucide-react";import{File as or}from"lucide-react";import{jsx as ct,jsxs as ie}from"react/jsx-runtime";function Nt({category:t,title:r,uses:a,onClick:o,className:n}){return ie("button",{type:"button",onClick:o,className:e("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:[ie("div",{className:"flex items-start justify-between gap-2",children:[ct("span",{className:e("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}),ct("span",{className:e("[font:var(--inkblot-semantic-typography-body-small)]","text-[var(--inkblot-semantic-color-text-secondary)]"),children:a})]}),ct("h3",{className:e("[font:var(--inkblot-semantic-typography-body-large-bold)]","text-[var(--inkblot-semantic-color-text-primary)]"),children:r}),ct("div",{className:"flex flex-1 items-end justify-center pt-[var(--inkblot-spacing-4)]",children:ct(or,{className:e("h-10 w-10","text-[var(--inkblot-semantic-color-text-tertiary)]")})})]})}import{jsx as Ct,jsxs as Ut}from"react/jsx-runtime";function St({title:t="EMAIL TEMPLATES",onGenerateWithAI:r,templates:a,onTemplateClick:o,className:n}){return Ut("section",{className:e("flex flex-col gap-[var(--inkblot-spacing-6)]",n),children:[Ut("div",{className:"flex flex-col gap-[var(--inkblot-spacing-4)] sm:flex-row sm:items-center sm:justify-between",children:[Ct("h2",{className:e("uppercase tracking-wider","[font:var(--inkblot-semantic-typography-body-medium)]","text-[var(--inkblot-semantic-color-text-secondary)]"),children:t}),r?Ut("button",{type:"button",onClick:r,className:e("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-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)]"),children:[Ct(nr,{className:"h-4 w-4 shrink-0",style:{color:"var(--inkblot-semantic-color-status-warning)"}}),"Generate with AI"]}):null]}),Ct("div",{className:"grid grid-cols-1 gap-[var(--inkblot-spacing-6)] sm:grid-cols-2",children:a.map(s=>Ct(Nt,{category:s.category,title:s.title,uses:s.uses,onClick:()=>o?.(s)},s.id))})]})}import{useRef as ir}from"react";import{Loader2 as sr,Paperclip as lr,Send as cr,Sparkles as mr}from"lucide-react";import{jsx as C,jsxs as jt}from"react/jsx-runtime";function j({promptValue:t="",onPromptChange:r,onPromptSubmit:a,onFilesAttach:o,isProcessing:n=!1,response:s,placeholder:i="Ask Citron Intelligence...",accept:l,multiple:c=!0,className:d}){let m=ir(null),b=y=>{y.key==="Enter"&&!y.shiftKey&&(y.preventDefault(),a?.())},B=()=>{m.current?.click()},H=y=>{let N=y.target.files;N&&N.length>0&&o&&o(Array.from(N)),y.target.value=""};return jt("div",{className:e("flex w-full max-w-[80rem] flex-col gap-[var(--inkblot-spacing-2)]",d),children:[jt("div",{className:e("flex items-center gap-[var(--inkblot-spacing-2)]",n&&"pointer-events-none"),children:[C("input",{ref:m,type:"file",accept:l,multiple:c,onChange:H,className:"sr-only","aria-hidden":!0}),C("button",{type:"button",onClick:B,disabled:n,className:e("flex h-9 w-9 shrink-0 items-center justify-center rounded-[var(--inkblot-radius-full)] text-[var(--inkblot-semantic-color-text-tertiary)] transition-colors duration-[var(--inkblot-duration-fast)]","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-primary)]","disabled:pointer-events-none disabled:opacity-[var(--inkblot-opacity-disabled)]"),"aria-label":"Adjuntar archivos",children:C(lr,{size:20,strokeWidth:1.5,className:"text-[var(--inkblot-semantic-color-text-tertiary)]","aria-hidden":!0})}),jt("div",{className:e("relative flex min-w-0 flex-1 items-center gap-[var(--inkblot-spacing-2)] rounded-[var(--inkblot-radius-full)] bg-[var(--inkblot-semantic-color-background-primary)] px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)] shadow-[var(--inkblot-shadow-sm)]","transition-shadow duration-[var(--inkblot-duration-fast)]"),"aria-busy":n,children:[C("div",{className:"flex shrink-0 items-center opacity-[var(--inkblot-opacity-subtle)]","aria-hidden":!0,children:C(mr,{size:20,strokeWidth:1.5,className:"text-[var(--inkblot-semantic-color-text-tertiary)]"})}),C("textarea",{value:t,onChange:y=>r?.(y.target.value),onKeyDown:b,placeholder:i,rows:2,disabled:n,className:e("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-small)] 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)]")}),C("div",{className:e("absolute right-[var(--inkblot-spacing-2)] top-[var(--inkblot-spacing-2)] flex h-8 w-8 shrink-0 items-center justify-center rounded-[var(--inkblot-radius-full)] text-[var(--inkblot-semantic-color-text-inverse)]",n?"pointer-events-none bg-[var(--inkblot-semantic-color-interactive-primary)] opacity-90":""),children:n?C(sr,{size:16,strokeWidth:2,className:"animate-spin text-[var(--inkblot-semantic-color-text-inverse)]","aria-hidden":!0}):C("button",{type:"button",onClick:a,disabled:n,className:e("flex h-full w-full items-center justify-center rounded-[var(--inkblot-radius-full)] transition-colors duration-[var(--inkblot-duration-fast)]","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)]","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:C(cr,{size:16,strokeWidth:2,className:"text-[var(--inkblot-semantic-color-text-inverse)]","aria-hidden":!0})})})]})]}),s?C("div",{className:"flex flex-col gap-[var(--inkblot-spacing-4)]",children:C("div",{className:"min-w-0 [font:var(--inkblot-semantic-typography-body-small)] text-[var(--inkblot-semantic-color-text-primary)]",children:s})}):null]})}import{jsx as q,jsxs as Q}from"react/jsx-runtime";var dr={Person:"border-l-[var(--inkblot-semantic-color-status-info)] bg-[var(--inkblot-semantic-color-background-secondary)]",Organization:"border-l-[var(--inkblot-semantic-color-status-warning)] bg-[var(--inkblot-semantic-color-background-secondary)]",Deal:"border-l-[var(--inkblot-semantic-color-status-success)] bg-[var(--inkblot-semantic-color-background-secondary)]"};function wt({name:t,entityType:r,metadata:a,edges:o=[],className:n}){return Q("article",{className:e("flex flex-col gap-4 rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] border-l-4 p-4",dr[r],n),children:[Q("div",{className:"flex flex-col gap-1",children:[q("span",{className:"text-xs font-medium uppercase tracking-wide text-[var(--inkblot-semantic-color-text-tertiary)]",children:r}),q("h3",{className:"text-base font-semibold text-[var(--inkblot-semantic-color-text-primary)]",children:t})]}),a&&Object.keys(a).length>0?q("dl",{className:"flex flex-col gap-1",children:Object.entries(a).map(([s,i])=>Q("div",{className:"flex gap-2",children:[Q("dt",{className:"text-sm text-[var(--inkblot-semantic-color-text-tertiary)]",children:[s,":"]}),q("dd",{className:"text-sm text-[var(--inkblot-semantic-color-text-secondary)]",children:i})]},s))}):null,o.length>0?Q("div",{className:"flex flex-col gap-2",children:[q("h4",{className:"text-sm font-medium text-[var(--inkblot-semantic-color-text-secondary)]",children:"Edges"}),q("ul",{className:"flex flex-wrap gap-2",children:o.map((s,i)=>Q("li",{className:"rounded-[var(--inkblot-radius-md)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-tertiary)] px-2 py-1 text-xs text-[var(--inkblot-semantic-color-text-secondary)]",children:[s.type,s.target?` \u2192 ${s.target}`:""]},i))})]}):null]})}import{forwardRef as pr}from"react";import{jsx as br}from"react/jsx-runtime";var mt=pr(({className:t,error:r,disabled:a,...o},n)=>br("input",{ref:n,disabled:a,"aria-invalid":r,"aria-disabled":a,className:e("min-h-[var(--inkblot-size-touch-target-min)] w-full rounded-[var(--inkblot-radius-md)] border bg-[var(--inkblot-semantic-color-background-secondary)] px-4 py-2 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:opacity-[var(--inkblot-opacity-disabled)] disabled:pointer-events-none disabled:cursor-not-allowed",r?"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),...o}));mt.displayName="Input";import{Component as ur}from"react";import{jsx as qt,jsxs as vr}from"react/jsx-runtime";var p=class extends ur{constructor(r){super(r),this.state={hasError:!1,error:null}}static getDerivedStateFromError(r){return{hasError:!0,error:r}}render(){return this.state.hasError&&this.state.error?vr("div",{role:"alert",className:e("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:[qt("p",{className:"text-base font-semibold text-[var(--inkblot-semantic-color-text-primary)]",children:"This module failed to load"}),qt("p",{className:"text-sm text-[var(--inkblot-semantic-color-text-tertiary)]",children:this.state.error.message}),qt(st,{variant:"secondary",onClick:this.props.onRetry,className:"w-fit border-[var(--inkblot-semantic-color-status-error)]",children:"Retry"})]}):this.props.children}};import{jsx as M,jsxs as Qt}from"react/jsx-runtime";function se({title:t,insights:r,stats:a=[],commandValue:o="",onCommandChange:n,onCommandSubmit:s,className:i}){let l=c=>{c.key==="Enter"&&(c.preventDefault(),s?.())};return M(p,{className:i,children:Qt("div",{className:"flex flex-col gap-4 rounded-[var(--inkblot-radius-xl)] bg-[var(--inkblot-semantic-color-background-secondary)] p-4",children:[M("h2",{className:"text-xl font-semibold text-[var(--inkblot-semantic-color-text-primary)]",children:t}),r?M("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:r}):null,a.length>0?Qt("div",{children:[M("h3",{className:"mb-2 text-sm font-medium text-[var(--inkblot-semantic-color-text-secondary)]",children:"Connected To"}),M("div",{className:"grid grid-cols-2 gap-2 sm:grid-cols-3",children:a.map((c,d)=>Qt("div",{className:"rounded-[var(--inkblot-radius-md)] bg-[var(--inkblot-semantic-color-background-tertiary)] px-3 py-2",children:[M("span",{className:"text-xs text-[var(--inkblot-semantic-color-text-tertiary)]",children:c.label}),M("p",{className:"text-sm font-medium text-[var(--inkblot-semantic-color-text-primary)]",children:c.value})]},d))})]}):null,M("div",{className:"mt-2",children:M(mt,{type:"text",value:o,onChange:c=>n?.(c.target.value),onKeyDown:l,placeholder:"Ask about this entity...",className:"rounded-[var(--inkblot-radius-md)]"})})]})})}import{Component as gr}from"react";import{jsx as le}from"react/jsx-runtime";var Pt=class extends gr{constructor(r){super(r),this.state={hasError:!1,error:null}}static getDerivedStateFromError(r){return{hasError:!0,error:r}}render(){return this.state.hasError&&this.state.error?this.props.fallback?this.props.fallback:le("div",{className:e("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:le("span",{className:"text-sm font-medium",children:"Something went wrong"})}):this.props.children}};import{jsx as yr}from"react/jsx-runtime";var fr={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 Et({label:t,variant:r="info",className:a}){return yr("span",{className:e("inline-flex items-center rounded-[var(--inkblot-radius-md)] border px-2 py-0.5 text-xs font-medium",fr[r],a),children:t})}import{jsx as Y,jsxs as xr}from"react/jsx-runtime";function kr(t){return t>=.8?"success":t>=.5?"info":t>=.2?"warning":"error"}function Tt({event:t,className:r}){let a=kr(t.confidence_score),o=`${Math.round(t.confidence_score*100)}%`;return xr("div",{className:e("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",r),children:[Y("span",{className:"text-sm font-medium text-[var(--inkblot-semantic-color-text-primary)]",children:t.actor}),Y("span",{className:"text-sm text-[var(--inkblot-semantic-color-text-tertiary)]",children:"\u2192"}),Y("span",{className:"text-sm text-[var(--inkblot-semantic-color-text-secondary)]",children:t.subject}),Y("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}),Y("span",{className:"text-xs text-[var(--inkblot-semantic-color-text-tertiary)]",children:t.timestamp}),Y(Et,{label:o,variant:a})]})}import{jsx as R,jsxs as ce}from"react/jsx-runtime";var hr={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 Nr(){return R("svg",{viewBox:"0 0 16 16",className:"h-4 w-4 text-[var(--inkblot-semantic-color-text-tertiary)]","aria-hidden":!0,children:R("circle",{cx:"8",cy:"8",r:"2",fill:"currentColor"})})}function me({events:t,className:r}){return R(p,{className:r,children:R("div",{className:e("flex flex-col gap-4 border-l-2 border-[var(--inkblot-semantic-color-border-default)] pl-4"),children:t.map(a=>ce("div",{className:"flex items-start gap-3",children:[R("div",{className:"flex shrink-0 items-center pt-0.5",children:a.icon??R(Nr,{})}),ce("div",{className:"min-w-0 flex-1",children:[R("p",{className:"text-sm font-medium text-[var(--inkblot-semantic-color-text-primary)]",children:a.title}),R("p",{className:"text-xs text-[var(--inkblot-semantic-color-text-tertiary)]",children:a.timestamp})]}),a.status?R("div",{className:e("mt-1.5 h-2 w-2 shrink-0 rounded-full",hr[a.status]),"aria-hidden":!0}):null]},a.id))})})}import{jsx as I,jsxs as dt}from"react/jsx-runtime";var Zt=36,Yt=2*Math.PI*Zt;function It({label:t,value:r,subtext:a,trend:o,className:n}){let s=Math.min(100,Math.max(0,r)),i=Yt-s/100*Yt;return I(p,{className:n,children:dt("div",{className:"flex flex-col items-center gap-4 rounded-[var(--inkblot-radius-lg)] bg-[var(--inkblot-semantic-color-background-secondary)] p-4",children:[dt("div",{className:"relative",children:[dt("svg",{width:"96",height:"96",viewBox:"0 0 96 96",className:"-rotate-90",children:[I("circle",{cx:"48",cy:"48",r:Zt,fill:"none",stroke:"var(--inkblot-semantic-color-background-tertiary)",strokeWidth:"4"}),I("circle",{cx:"48",cy:"48",r:Zt,fill:"none",stroke:"var(--inkblot-semantic-color-interactive-primary)",strokeWidth:"4",strokeDasharray:Yt,strokeDashoffset:i,strokeLinecap:"round",className:"transition-[stroke-dashoffset] duration-[var(--inkblot-duration-fast)]"})]}),I("div",{className:"absolute inset-0 flex flex-col items-center justify-center",children:dt("span",{className:"flex items-center gap-1 text-lg font-semibold text-[var(--inkblot-semantic-color-text-primary)]",children:[s,"%",o==="up"?I("svg",{viewBox:"0 0 16 16",className:"h-4 w-4 text-[var(--inkblot-semantic-color-status-success)]","aria-hidden":!0,children:I("path",{fill:"currentColor",d:"M8 4l4 6H4l4-6z"})}):o==="down"?I("svg",{viewBox:"0 0 16 16",className:"h-4 w-4 text-[var(--inkblot-semantic-color-status-error)]","aria-hidden":!0,children:I("path",{fill:"currentColor",d:"M8 12l4-6H4l4 6z"})}):null]})})]}),dt("div",{className:"text-center",children:[I("p",{className:"text-sm font-medium text-[var(--inkblot-semantic-color-text-primary)]",children:t}),a?I("p",{className:"text-xs text-[var(--inkblot-semantic-color-text-tertiary)]",children:a}):null]})]})})}import{jsx as W,jsxs as wr}from"react/jsx-runtime";var Cr={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 Sr({className:t}){return W("svg",{viewBox:"0 0 16 16",className:e("h-4 w-4",t),"aria-hidden":!0,children:W("path",{fill:"currentColor",d:"M6 4l4 4-4 4V4z"})})}function de({items:t,className:r}){return W(p,{className:r,children:W("ul",{className:e("flex flex-col gap-4 py-2"),children:t.map((a,o)=>wr("li",{className:"flex items-center justify-between gap-4",children:[W("span",{className:"text-sm text-[var(--inkblot-semantic-color-text-secondary)]",children:a.label}),W("span",{className:e("flex items-center gap-1 text-sm font-medium",Cr[a.variant??"default"]),children:a.value!=null?a.value:W(Sr,{})})]},o))})})}import{jsx as Pr}from"react/jsx-runtime";function A({className:t,...r}){return Pr("div",{className:e("animate-shimmer rounded-[var(--inkblot-radius-md)] 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),...r})}import{jsx as pt,jsxs as Er}from"react/jsx-runtime";function Z({className:t,...r}){return Er("div",{className:e("flex flex-col gap-2 rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-4",t),...r,children:[pt(A,{className:"h-5 w-3/4"}),pt(A,{className:"h-4 w-full"}),pt(A,{className:"h-4 w-5/6"}),pt(A,{className:"h-4 w-4/5"}),pt(A,{className:"h-4 w-3/4"})]})}import{jsx as Mt,jsxs as pe}from"react/jsx-runtime";function Rt({children:t,loading:r=!1,title:a,className:o,onRetry:n}){return Mt(p,{className:o,onRetry:n,children:r?pe("div",{className:e("flex flex-col gap-4",o),children:[a?Mt("h2",{className:"text-lg font-semibold text-[var(--inkblot-semantic-color-text-primary)]",children:a}):null,Mt(Z,{})]}):pe("div",{className:e("flex flex-col gap-4",o),children:[a?Mt("h2",{className:"text-lg font-semibold text-[var(--inkblot-semantic-color-text-primary)]",children:a}):null,t]})})}import{Plus as Tr}from"lucide-react";import{jsx as bt,jsxs as Bt}from"react/jsx-runtime";function X({title:t,subtitle:r,icon:a,action:o,className:n}){return Bt("header",{className:e("flex flex-col gap-2 sm:flex-row sm:items-start sm:justify-between","pb-[var(--inkblot-spacing-2)]",n),children:[Bt("div",{className:"flex items-start gap-[var(--inkblot-spacing-3)]",children:[a?bt("div",{className:e("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:a}):null,Bt("div",{className:"min-w-0",children:[bt("h1",{className:e("text-[var(--inkblot-semantic-color-text-primary)]","[font:var(--inkblot-semantic-typography-heading-medium)]"),children:t}),r?bt("p",{className:e("mt-0.5 text-[var(--inkblot-semantic-color-text-secondary)]","[font:var(--inkblot-semantic-typography-body-small)]"),children:r}):null]})]}),o?bt("div",{className:"mt-[var(--inkblot-spacing-4)] shrink-0 sm:mt-0",children:o}):null]})}function J({label:t,onClick:r,icon:a,className:o}){return Bt("button",{type:"button",onClick:r,className:e("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)]",o),children:[a??bt(Tr,{className:"h-4 w-4"}),t]})}import{Link as Ir}from"react-router-dom";import{jsx as Xt,jsxs as be}from"react/jsx-runtime";function At({resetErrorBoundary:t}){return be("div",{role:"alert",className:e("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:[Xt("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"}),be("div",{className:"flex flex-col items-center gap-[var(--inkblot-spacing-4)] sm:flex-row",children:[Xt("button",{type:"button",onClick:t,className:e("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"}),Xt(Ir,{to:"/",className:e("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 Mr}from"react-error-boundary";import{useNavigate as Rr}from"react-router-dom";import{jsx as Br}from"react/jsx-runtime";function ue({children:t,fallback:r}){let a=Rr();return Br(Mr,{FallbackComponent:r??At,onReset:()=>{a("/")},children:t})}import{forwardRef as Ar}from"react";import{Search as Lr}from"lucide-react";import{jsx as Jt,jsxs as ve}from"react/jsx-runtime";var L=Ar(({className:t,label:r,error:a,disabled:o,...n},s)=>ve("div",{className:"flex flex-col gap-1",children:[r?Jt("label",{htmlFor:n.id,className:e("uppercase tracking-wider","[font:var(--inkblot-semantic-typography-body-small)]","text-[var(--inkblot-semantic-color-text-primary)]"),children:r}):null,ve("div",{className:e("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)]",a?"border-[var(--inkblot-semantic-color-status-error)]":"border-[var(--inkblot-semantic-color-border-default)] hover:border-[var(--inkblot-semantic-color-border-strong)]",o&&"opacity-[var(--inkblot-opacity-disabled)] pointer-events-none cursor-not-allowed"),children:[Jt(Lr,{className:e("ml-[var(--inkblot-spacing-4)] h-4 w-4 shrink-0","text-[var(--inkblot-semantic-color-text-tertiary)]")}),Jt("input",{ref:s,type:"search",disabled:o,"aria-invalid":a,"aria-label":r??"Search",className:e("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})]})]}));L.displayName="SearchBar";import{jsx as Dr}from"react/jsx-runtime";function ge({children:t,columns:r=4,className:a}){return Dr("div",{className:e("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"}[r],a),children:t})}import{jsx as ut,jsxs as Vr}from"react/jsx-runtime";function fe({items:t,className:r}){return ut(p,{className:r,children:ut("nav",{className:e("flex w-14 flex-col items-center gap-1 border-r border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] py-4"),"aria-label":"Navigation",children:t.map(a=>Vr("div",{className:e("relative flex w-full flex-col items-center gap-1 rounded-[var(--inkblot-radius-md)] px-2 py-2 transition-colors hover:text-[var(--inkblot-semantic-color-text-secondary)]",a.active?"text-[var(--inkblot-semantic-color-interactive-primary)]":"text-[var(--inkblot-semantic-color-text-tertiary)]"),children:[a.active?ut("span",{className:"absolute left-0 top-1/2 h-6 w-0.5 -translate-y-1/2 rounded-r-full bg-[var(--inkblot-semantic-color-interactive-primary)]","aria-hidden":!0}):null,ut("div",{className:"flex h-8 w-8 items-center justify-center [&>svg]:h-5 [&>svg]:w-5",children:a.icon}),a.label?ut("span",{className:"text-[10px] font-medium",children:a.label}):null]},a.id))})})}import{jsx as S,jsxs as te}from"react/jsx-runtime";var ye={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 Lt({items:t,className:r}){return S("div",{className:e("grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-4",r),children:t.map(a=>S(Hr,{item:a},a.label))})}function Hr({item:t}){let r=t.changeVariant??"neutral",a=ye[r];return te("div",{className:e("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:[S("span",{className:e("uppercase tracking-wider","[font:var(--inkblot-semantic-typography-body-small)]","text-[var(--inkblot-semantic-color-text-secondary)]"),children:t.label}),S("span",{className:e("[font:var(--inkblot-semantic-typography-heading-medium)]","text-[var(--inkblot-semantic-color-text-primary)]"),children:t.value}),t.change?S("span",{className:e("[font:var(--inkblot-semantic-typography-body-small)]",a),children:t.change}):null]})}function ke({items:t,className:r}){return S("div",{className:e("grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-4",r),children:t.map(a=>S(Fr,{item:a},a.label))})}function Fr({item:t}){let r=t.changeVariant??"neutral",a=ye[r],o=t.chartData??[],n=Math.max(...o,1);return te("div",{className:e("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:[S("span",{className:e("uppercase tracking-wider","[font:var(--inkblot-semantic-typography-body-small)]","text-[var(--inkblot-semantic-color-text-secondary)]"),children:t.label}),te("div",{className:"flex items-end justify-between gap-2",children:[S("span",{className:e("[font:var(--inkblot-semantic-typography-heading-medium)]","text-[var(--inkblot-semantic-color-text-primary)]"),children:t.value}),o.length>0?S("div",{className:"flex h-8 items-end gap-0.5",children:o.map((s,i)=>S("div",{className:"w-1 min-w-[2px] rounded-sm bg-[var(--inkblot-semantic-color-interactive-primary)] opacity-80",style:{height:`${s/n*100}%`,minHeight:4}},i))}):null]}),t.change?S("span",{className:e("[font:var(--inkblot-semantic-typography-body-small)]",a),children:t.change}):null]})}import{jsx as xe,jsxs as Wr}from"react/jsx-runtime";function Dt({tabs:t,activeTabId:r,onTabChange:a,className:o}){return xe("nav",{role:"tablist","aria-label":"Tabs",className:e("flex gap-0 pt-[var(--inkblot-spacing-2)]",o),children:t.map(n=>{let s=n.id===r;return Wr("button",{role:"tab","aria-selected":s,"aria-controls":`panel-${n.id}`,id:`tab-${n.id}`,type:"button",onClick:()=>a(n.id),className:e("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)]",s?["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,s?xe("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 Or,Check as _r,User as Gr}from"lucide-react";import{jsx as O,jsxs as vt}from"react/jsx-runtime";var zr={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 Vt({id:t,title:r,company:a,priority:o,date:n,assignee:s,completed:i=!1,onToggle:l,onClick:c,className:d}){let m=zr[o];return vt("div",{role:"button",tabIndex:0,onClick:()=>c?.(t),onKeyDown:b=>{(b.key==="Enter"||b.key===" ")&&(b.preventDefault(),c?.(t))},className:e("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:[O("button",{type:"button",onClick:b=>{b.stopPropagation(),l?.(t)},"aria-label":i?"Mark as incomplete":"Mark as complete","aria-pressed":i,className:e("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)]",i?"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:i?O(_r,{className:"h-3 w-3",strokeWidth:3}):null}),vt("div",{className:"min-w-0 flex-1",children:[O("p",{className:e("[font:var(--inkblot-semantic-typography-body-large-bold)]","text-[var(--inkblot-semantic-color-text-primary)]",i&&"line-through text-[var(--inkblot-semantic-color-text-secondary)]"),children:r}),O("p",{className:e("mt-0.5 [font:var(--inkblot-semantic-typography-body-small)]","text-[var(--inkblot-semantic-color-text-secondary)]",i&&"line-through"),children:a})]}),vt("div",{className:"flex shrink-0 flex-wrap items-center justify-end gap-[var(--inkblot-spacing-3)]",children:[O("span",{className:e("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",m),children:o.charAt(0).toUpperCase()+o.slice(1)}),vt("span",{className:e("flex items-center gap-1","[font:var(--inkblot-semantic-typography-body-small)]","text-[var(--inkblot-semantic-color-text-primary)]"),children:[O(Or,{className:"h-4 w-4 shrink-0 text-[var(--inkblot-semantic-color-text-tertiary)]"}),n]}),vt("span",{className:e("flex items-center gap-1","[font:var(--inkblot-semantic-typography-body-small)]","text-[var(--inkblot-semantic-color-text-primary)]"),children:[O(Gr,{className:"h-4 w-4 shrink-0 text-[var(--inkblot-semantic-color-text-tertiary)]"}),s]})]})]})}import{CircleDot as $r,Clock as Kr,CheckCircle as Ur}from"lucide-react";import{jsx as tt,jsxs as he}from"react/jsx-runtime";var jr={todo:$r,in_progress:Kr,done:Ur};function Ht({sections:t,onTaskToggle:r,onTaskClick:a,className:o}){return tt("div",{className:e("flex flex-col gap-[var(--inkblot-spacing-8)]",o),children:t.map(n=>{let s=jr[n.id],i=n.id==="done";return he("section",{className:"flex flex-col gap-[var(--inkblot-spacing-4)]",children:[he("div",{className:"flex items-center gap-[var(--inkblot-spacing-3)]",children:[tt(s,{className:e("h-5 w-5 shrink-0",i?"text-[var(--inkblot-semantic-color-interactive-primary)]":"text-[var(--inkblot-semantic-color-text-secondary)]")}),tt("h2",{className:e("[font:var(--inkblot-semantic-typography-body-large-bold)]","text-[var(--inkblot-semantic-color-text-primary)]"),children:n.label}),tt("span",{className:e("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})]}),tt("div",{className:"flex flex-col gap-[var(--inkblot-spacing-3)]",children:n.tasks.map(l=>tt(Vt,{...l,completed:i,onToggle:r,onClick:a},l.id))})]},n.id)})})}import{Mail as Ne,FileText as Ft,Zap as qr,Phone as Ce,Link2 as Qr}from"lucide-react";import{jsx as E,jsxs as Se}from"react/jsx-runtime";function Yr(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 Zr={EMAIL_OPENED:Ne,EMAIL_SENT:Ne,INVOICE_PAID:Ft,INVOICE_OVERDUE:Ft,CONTRACT_SIGNED:Ft,STAGE_CHANGED:qr,CALL_COMPLETED:Ce,PHONE_CALL:Ce,RELATIONSHIP_DETECTED:Qr};function Xr(t){return Zr[t]??Ft}function Jr(t){return t.metadata?.description??t.event_type.replace(/_/g," ").toLowerCase()}function ta(t){return t.metadata?.details??`${t.actor} - ${t.subject}`}function Wt({events:t,onEntitySelect:r,findEntity:a,emptyMessage:o="No hay actividad reciente",className:n}){let s=r?i=>{let l=a?.(i.subject)??a?.(i.actor);l&&r(l)}:void 0;return E(p,{children:E("div",{className:e("space-y-2",n),children:t.length===0?E("p",{className:"py-6 text-center text-sm text-[var(--inkblot-semantic-color-text-tertiary)]",children:o}):t.map(i=>{let c=!!(a?.(i.subject)??a?.(i.actor))&&!!s,d=Xr(i.event_type),m=Se("div",{className:"flex flex-1 items-center gap-3",children:[E(d,{className:"h-4 w-4 shrink-0 text-[var(--inkblot-semantic-color-text-secondary)]","aria-hidden":!0}),E("div",{className:`h-2 w-2 shrink-0 rounded-full ${Yr(i.confidence_score)}`,"aria-hidden":!0}),Se("div",{className:"min-w-0 flex-1",children:[E("p",{className:"text-sm font-medium text-[var(--inkblot-semantic-color-text-primary)]",children:Jr(i)}),E("p",{className:"text-xs text-[var(--inkblot-semantic-color-text-secondary)]",children:ta(i)})]}),E("span",{className:"shrink-0 text-xs text-[var(--inkblot-semantic-color-text-tertiary)]",children:i.timestamp})]}),b=i.id??`${i.actor}-${i.subject}-${i.timestamp}`;return E("div",{children:c?E("button",{type:"button",onClick:()=>s(i),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:m}):E("div",{className:"flex w-full items-center gap-3 rounded-[var(--inkblot-radius-md)] bg-[var(--inkblot-semantic-color-background-secondary)] p-3",children:m})},b)})})})}import{NavLink as ea}from"react-router-dom";import{ClipboardList as ra,Brain as aa,BarChart3 as oa,Network as na,Activity as ia,Settings as sa,Sparkles as la}from"lucide-react";import{jsx as _,jsxs as ma}from"react/jsx-runtime";var ca=[{id:"home",path:"/",icon:ra,label:"Home"},{id:"intelligence",path:"/intelligence",icon:aa,label:"Intelligence"},{id:"pipeline",path:"/pipeline",icon:oa,label:"Pipeline"},{id:"graph",path:"/graph",icon:na,label:"Graph"},{id:"events",path:"/events",icon:ia,label:"Events"},{id:"settings",path:"/settings",icon:sa,label:"Settings"}];function we({items:t=ca,brandLogo:r,brandTitle:a="Command Canvas \u2014 AI-native Interface",className:o}){return _(p,{children:ma("nav",{className:e("flex h-full flex-col gap-4 bg-[var(--inkblot-semantic-color-background-secondary)] p-3",o),children:[_("div",{className:"flex flex-col items-center gap-2",children:_("div",{className:"flex h-10 w-10 shrink-0 items-center justify-center rounded-[var(--inkblot-radius-md)] bg-[var(--inkblot-semantic-color-interactive-primary)]",title:a,children:r??_(la,{className:"h-5 w-5 text-[var(--inkblot-semantic-color-text-primary)]","aria-hidden":!0})})}),_("div",{className:"flex flex-1 flex-col gap-2",children:t.map(n=>{let s=n.icon;return _(ea,{to:n.path,end:n.path==="/","aria-label":n.label,className:({isActive:i})=>`flex items-center justify-center gap-2 rounded-[var(--inkblot-radius-md)] border-l-2 px-3 py-2 transition-colors duration-[var(--inkblot-duration-fast)] ${i?"border-[var(--inkblot-semantic-color-interactive-primary)] bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-primary)]":"border-transparent text-[var(--inkblot-semantic-color-text-secondary)] hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)]"}`,children:_(s,{size:20,"aria-hidden":!0})},n.id)})})]})})}import{useState as Ot,useCallback as da,useRef as pa,useEffect as ba}from"react";import{jsx as g,jsxs as _t}from"react/jsx-runtime";function ua(t){let r=t.toLowerCase();return r.includes("entity")||r.includes("company")||r.includes("person")||r.includes("deal")||r.includes("profile")||r.includes("org")?"entity":r.includes("event")||r.includes("activity")||r.includes("recent")||r.includes("stream")||r.includes("log")?"event":"general"}function va({entities:t}){let r=t[0];return r?_t("div",{className:"space-y-3",children:[g("p",{className:"text-sm text-[var(--inkblot-semantic-color-text-secondary)]",children:"Here's the entity profile and current intelligence scores:"}),g(wt,{name:r.name,entityType:r.type,metadata:r.metadata,edges:[{type:"WORKS_WITH",target:t[1]?.name},{type:"MANAGES",target:t[4]?.name}]})]}):null}function ga({events:t}){return _t("div",{className:"space-y-2",children:[g("p",{className:"text-sm text-[var(--inkblot-semantic-color-text-secondary)]",children:"Latest activity from the event bus:"}),t.slice(0,5).map(r=>g(Tt,{event:r},r.id??`${r.actor}-${r.subject}-${r.timestamp}`))]})}function fa(){return g("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 Pe({entities:t,events:r,onFocusEntity:a,findEntity:o,placeholder:n="Ask anything \u2014 deals, contacts, forecasts...",emptyMessage:s="Escribe para comenzar...",className:i}){let[l,c]=Ot(""),[d,m]=Ot([]),[b,B]=Ot(!1),[H,y]=Ot(new Map),N=pa(null);ba(()=>{N.current&&(N.current.scrollTop=N.current.scrollHeight)},[d,b]);let $=da(()=>{let f=l.trim();if(!f||b)return;let u=o?.(f);u&&a&&a(u);let T={id:`msg-${Date.now()}`,role:"user",content:f,timestamp:new Date().toISOString()},w=ua(f);m(P=>[...P,T]),c(""),B(!0),setTimeout(()=>{let P={id:`msg-${Date.now()}-res`,role:"assistant",content:"",intent:w,timestamp:new Date().toISOString()},K;switch(w){case"entity":K=g(va,{entities:t});break;case"event":K=g(ga,{events:r});break;default:K=g(fa,{})}y(nt=>{let yt=new Map(nt);return yt.set(P.id,K),yt}),m(nt=>[...nt,P]),B(!1)},1e3)},[l,b,t,r,a,o]);return _t("div",{className:e("flex h-full flex-col",i),children:[_t("div",{ref:N,className:"flex-1 space-y-4 overflow-y-auto p-4",children:[d.length===0&&!b?g("div",{className:"flex flex-1 items-center justify-center py-12",children:g("p",{className:"text-sm text-[var(--inkblot-semantic-color-text-tertiary)]",children:s})}):d.map(f=>g("div",{className:"flex flex-col gap-2",children:f.role==="user"?g("div",{className:"flex justify-end",children:g("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:f.content})}):g("div",{className:"max-w-[90%]",children:H.get(f.id)??g("p",{className:"text-sm text-[var(--inkblot-semantic-color-text-primary)]",children:f.content})})},f.id)),b&&g("div",{className:"max-w-[70%]",children:g(Z,{className:"animate-shimmer"})})]}),g("div",{className:"shrink-0 border-t border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-primary)] p-4",children:g(j,{promptValue:l,onPromptChange:c,onPromptSubmit:$,isProcessing:b,placeholder:n})})]})}import{Sparkles as ya}from"lucide-react";import{jsx as gt,jsxs as Ee}from"react/jsx-runtime";function Te({prompt:t,onPromptChange:r,onSubmit:a,isProcessing:o,placeholder:n="Ask anything \u2014 deals, contacts, forecasts...",subtitle:s="Citron OS v1.0 \u2014 AI-native Revenue & Operations Platform",className:i}){return Ee("div",{className:e("border-t border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-4",i),children:[Ee("div",{className:"flex items-center gap-3",children:[gt("div",{className:"flex h-10 w-10 shrink-0 items-center justify-center rounded-[var(--inkblot-radius-md)] bg-[var(--inkblot-semantic-color-interactive-primary)]",children:gt(ya,{className:"h-5 w-5 text-[var(--inkblot-semantic-color-text-primary)]","aria-hidden":!0})}),gt("div",{className:"flex-1",children:gt(j,{promptValue:t,onPromptChange:r,onPromptSubmit:a,isProcessing:o,placeholder:n})})]}),s&&gt("p",{className:"mt-2 text-xs text-[var(--inkblot-semantic-color-text-tertiary)]",children:s})]})}import{jsx as et,jsxs as ee}from"react/jsx-runtime";function Ie({events:t,title:r="Event Stream",showLive:a=!0,className:o}){return et(p,{children:ee("div",{className:e("flex h-full flex-col bg-[var(--inkblot-semantic-color-background-secondary)]",o),children:[ee("div",{className:"flex shrink-0 items-center justify-between border-b border-[var(--inkblot-semantic-color-border-default)] px-4 py-3",children:[et("span",{className:"text-xs font-medium uppercase tracking-wider text-[var(--inkblot-semantic-color-text-secondary)]",children:r}),a&&ee("div",{className:"flex items-center gap-2",children:[et("div",{className:"h-2 w-2 rounded-full bg-[var(--inkblot-semantic-color-status-success)]"}),et("span",{className:"text-xs text-[var(--inkblot-semantic-color-status-success)]",children:"Live"})]})]}),et("div",{className:"flex-1 overflow-auto p-4",children:et(Wt,{events:t})})]})})}import{jsx as h,jsxs as G}from"react/jsx-runtime";var ka=[{label:"Pipeline Health",value:76},{label:"Churn Risk",value:28},{label:"Expansion Signal",value:64},{label:"Team Velocity",value:83}],xa=[{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 Me({loading:t,kpiCards:r=ka,aiInsights:a=xa,title:o="Intelligence Lab",subtitle:n="AI-generated insights - Updated 3 min ago",className:s}){return G("div",{className:e("flex h-full flex-col gap-4 overflow-y-auto p-4",s),children:[G("div",{children:[h("h1",{className:"text-2xl font-semibold text-[var(--inkblot-semantic-color-text-primary)]",children:o}),h("p",{className:"text-sm text-[var(--inkblot-semantic-color-text-tertiary)]",children:n})]}),h(Rt,{loading:t,title:"",children:h(p,{children:G("div",{className:"flex flex-col gap-4",children:[h("div",{className:"grid grid-cols-2 gap-4 lg:grid-cols-4",children:r.map(i=>h(It,{label:i.label,value:i.value,subtext:i.subtext,trend:i.trend},i.label))}),G("div",{children:[h("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"}),h("div",{className:"flex flex-col gap-4",children:a.map(i=>h(p,{children:G("div",{className:"flex items-start justify-between gap-4 rounded-[var(--inkblot-radius-lg)] bg-[var(--inkblot-semantic-color-background-secondary)] p-4",children:[G("div",{className:"min-w-0 flex-1",children:[h("h3",{className:"font-semibold text-[var(--inkblot-semantic-color-text-primary)]",children:i.title}),h("p",{className:"mt-1 text-sm text-[var(--inkblot-semantic-color-text-tertiary)]",children:i.description})]}),G("div",{className:"flex shrink-0 flex-col items-center",children:[h("span",{className:"text-lg font-bold text-[var(--inkblot-semantic-color-text-primary)]",children:i.confidence}),h("span",{className:"text-xs text-[var(--inkblot-semantic-color-text-tertiary)]",children:"Conf."})]})]})},i.title))})]})]})})})]})}import{jsx as ft,jsxs as re}from"react/jsx-runtime";function Re({navigation:t,eventStream:r,commandBar:a,children:o,className:n,eventStreamWidth:s="w-80"}){return re("div",{className:e("flex h-screen w-screen overflow-hidden bg-[var(--inkblot-semantic-color-background-primary)]",n),children:[ft("aside",{className:"flex h-full w-16 shrink-0 flex-col border-r border-[var(--inkblot-semantic-color-border-default)]",children:t}),ft("main",{className:"flex flex-1 flex-col overflow-hidden",children:re("div",{className:"flex min-h-0 flex-1",children:[re("div",{className:"flex min-h-0 flex-1 flex-col overflow-hidden bg-[var(--inkblot-semantic-color-background-primary)]",children:[ft("div",{className:"flex-1 overflow-auto",children:o}),ft("div",{className:"shrink-0",children:a})]}),r&&ft("aside",{className:e("flex h-full shrink-0 flex-col border-l border-[var(--inkblot-semantic-color-border-default)]",s),children:r})]})})]})}import{useState as ae}from"react";import{Check as ha,X as Na}from"lucide-react";import{jsx as rt,jsxs as Gt}from"react/jsx-runtime";var Ca=["urgent","high","medium","low"];function zt({onConfirm:t,onCancel:r,className:a}){let[o,n]=ae(""),[s,i]=ae(""),[l,c]=ae("medium");return Gt("form",{onSubmit:m=>{m.preventDefault();let b=o.trim();b&&(t({title:b,company:s.trim()||void 0,priority:l}),n(""),i(""),c("medium"))},className:e("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)]",a),children:[rt("input",{type:"text",value:o,onChange:m=>n(m.target.value),placeholder:"Task title...",autoFocus:!0,required:!0,className:e("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)]")}),rt("input",{type:"text",value:s,onChange:m=>i(m.target.value),placeholder:"Company (optional)",className:e("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)]")}),rt("div",{className:"flex flex-wrap gap-[var(--inkblot-spacing-2)]",children:Ca.map(m=>rt("button",{type:"button",onClick:()=>c(m),className:e("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===m?"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:m.charAt(0).toUpperCase()+m.slice(1)},m))}),Gt("div",{className:"flex justify-end gap-[var(--inkblot-spacing-2)]",children:[Gt("button",{type:"button",onClick:r,className:e("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:[rt(Na,{className:"h-4 w-4"}),"Cancel"]}),Gt("button",{type:"submit",disabled:!o.trim(),className:e("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:[rt(ha,{className:"h-4 w-4"}),"Add Task"]})]})]})}import{useState as oe,useMemo as Be}from"react";import{ClipboardList as Sa}from"lucide-react";import{jsx as z,jsxs as Pa}from"react/jsx-runtime";function D(t,r,a="You"){let n=new Date().toLocaleDateString("en-US",{month:"short",day:"numeric"})||"Today";return{id:r,title:t.title,company:t.company??"Unassigned",priority:t.priority??"medium",date:n,assignee:a,status:"todo"}}function wa(t){let r={todo:t.filter(a=>a.status==="todo"),in_progress:t.filter(a=>a.status==="in_progress"),done:t.filter(a=>a.status==="done")};return[{id:"todo",label:"TO DO",count:r.todo.length,tasks:r.todo},{id:"in_progress",label:"IN PROGRESS",count:r.in_progress.length,tasks:r.in_progress},{id:"done",label:"DONE",count:r.done.length,tasks:r.done}]}var V=[D({title:"Follow up with Sarah Chen on proposal",company:"Acme Corp",priority:"high"},"1"),D({title:"Schedule demo with engineering team",company:"TechStart Inc",priority:"medium"},"2"),D({title:"Prepare quarterly report slides",company:"GlobalTech",priority:"low"},"3"),D({title:"Review Q1 marketing budget",company:"TechStart Inc",priority:"medium"},"4"),D({title:"Draft partnership agreement",company:"Enterprise Co",priority:"urgent"},"5"),D({title:"Send contract to legal team",company:"GlobalTech",priority:"low"},"6"),D({title:"Update CRM with new contacts",company:"Acme Corp",priority:"low"},"7")];V[0].status="todo";V[1].status="todo";V[2].status="todo";V[3].status="in_progress";V[4].status="in_progress";V[5].status="done";V[6].status="done";function Ae({initialTasks:t=V,onTaskCreate:r,onTaskToggle:a,onTaskClick:o,className:n}){let[s,i]=oe(t),[l,c]=oe(!1),[d,m]=oe(""),b=Be(()=>{if(!d.trim())return s;let u=d.toLowerCase();return s.filter(T=>T.title.toLowerCase().includes(u)||T.company.toLowerCase().includes(u))},[s,d]),B=Be(()=>wa(b),[b]),H=s.filter(u=>u.status!=="done").length,y=s.filter(u=>u.priority==="urgent"&&u.status!=="done").length,N=`${H} pending${y>0?` \xB7 ${y} urgent`:""}`,$=u=>{let T=`task-${Date.now()}`,w=D(u,T);i(P=>[w,...P]),c(!1),r?.(u)},f=u=>{i(T=>T.map(w=>{if(w.id!==u)return w;let P=w.status==="done"?"todo":"done";return{...w,status:P}})),a?.(u)};return z("div",{className:e("flex min-h-screen flex-col bg-[var(--inkblot-semantic-color-background-primary)]",n),children:Pa("div",{className:"flex flex-1 flex-col gap-8 px-8 py-8",children:[z(X,{title:"Tasks",subtitle:N,icon:z(Sa,{className:"h-5 w-5"}),action:z(J,{label:"New Task",onClick:()=>c(u=>!u)})}),z(L,{placeholder:"Search tasks...",value:d,onChange:u=>m(u.target.value)}),l?z(zt,{onConfirm:$,onCancel:()=>c(!1)}):null,z(Ht,{sections:B,onTaskToggle:f,onTaskClick:o})]})})}import{useState as at,useMemo as ne}from"react";import{Mail as Ea}from"lucide-react";import{Fragment as Ra,jsx as k,jsxs as ot}from"react/jsx-runtime";var Ta=`Hi [Name],
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],
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,4 +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]`,Le=[{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"}],De=[{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"}],Ve=["Acme Corp - Sarah Chen","TechStart Inc - Mike Rodriguez","GlobalTech - Lisa Kim","Enterprise Co - John Smith","StartupXYZ - Emma Wilson"],Ia=[{key:"campaign",label:"Campaign"},{key:"status",label:"Status"},{key:"opens",label:"Opens"},{key:"clicks",label:"Clicks"},{key:"date",label:"Date"}],Ma=[{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 He({onSendNow:t,onSchedule:r,onSaveDraft:a,onNewCampaign:o,onGenerateWithAI:n,onTemplateClick:s,className:i}){let[l,c]=at("campaigns"),[d,m]=at(""),[b,B]=at(""),[H,y]=at(""),[N,$]=at(!1),[f,u]=at(""),T=ne(()=>{if(!d.trim())return Le;let v=d.toLowerCase();return Le.filter(F=>F.campaignName.toLowerCase().includes(v)||F.recipients.toLowerCase().includes(v))},[d]),w=ne(()=>{if(!d.trim())return De;let v=d.toLowerCase();return De.filter(F=>F.title.toLowerCase().includes(v)||F.category.toLowerCase().includes(v))},[d]),P=ne(()=>{if(!f.trim())return Ve;let v=f.toLowerCase();return Ve.filter(F=>F.toLowerCase().includes(v))},[f]),K=async()=>{$(!0),await new Promise(v=>setTimeout(v,1500)),y(Ta),$(!1)},nt=()=>{console.log("Send Now clicked"),t?.()},yt=()=>{console.log("Schedule clicked"),r?.()},Fe=()=>{console.log("Save Draft clicked"),a?.()},We=l==="campaigns"||l==="templates";return k("div",{className:e("flex min-h-screen flex-col bg-[var(--inkblot-semantic-color-background-primary)]",i),children:ot("div",{className:"flex flex-1 flex-col gap-8 px-8 py-8",children:[k(X,{title:"Email Campaigns",subtitle:"Automate outreach \xB7 AI-powered templates",icon:k(Ea,{className:"h-5 w-5"}),action:k(J,{label:"New Campaign",onClick:()=>o?.()})}),k(Dt,{tabs:[{id:"campaigns",label:"Campaigns"},{id:"templates",label:"Templates"},{id:"compose",label:"Compose"}],activeTabId:l,onTabChange:c}),We?k(L,{placeholder:l==="campaigns"?"Search campaigns...":"Search templates...",value:d,onChange:v=>m(v.target.value)}):null,l==="campaigns"?ot(Ra,{children:[k(Lt,{items:Ma}),k(ht,{columns:Ia,rows:T})]}):l==="templates"?k(St,{templates:w,onGenerateWithAI:n,onTemplateClick:s}):ot("div",{className:"flex max-w-2xl flex-col gap-6",children:[ot("div",{className:"flex flex-col gap-6",children:[ot("div",{className:"flex flex-col gap-2",children:[k("label",{className:"uppercase tracking-wider text-[var(--inkblot-semantic-color-text-primary)] [font:var(--inkblot-semantic-typography-body-small)]",children:"Subject"}),k("input",{type:"text",value:b,onChange:v=>B(v.target.value),placeholder:"Enter subject line...",className:e("min-h-[var(--inkblot-size-touch-target-min)] w-full rounded-[var(--inkblot-radius-lg)]","border border-[var(--inkblot-semantic-color-border-default)]","bg-[var(--inkblot-semantic-color-background-secondary)]","px-4 py-2 text-[var(--inkblot-semantic-color-text-primary)] placeholder:text-[var(--inkblot-semantic-color-text-tertiary)]")})]}),k(it,{label:"Body",value:H,onChange:v=>y(v.target.value),placeholder:"Compose your email or let AI generate content...",loading:N,onWriteWithAI:K}),ot("div",{className:"flex flex-col gap-2",children:[k(L,{label:"Recipients",placeholder:"Search contacts, segments, or tags...",value:f,onChange:v=>u(v.target.value)}),P.length>0?k("ul",{className:"flex flex-wrap gap-2",children:P.slice(0,5).map(v=>k("li",{className:e("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:v},v))}):null]})]}),k(xt,{onSendNow:nt,onSchedule:yt,onSaveDraft:Fe})]})]})})}export{it as AIComposeInput,$t as ActionButtons,Wt as ActivityStream,we as AppNavigationRail,st as Button,ht as CampaignTable,Pe as ChatFeed,Te as CommandBar,j as CommandInterface,He as EmailCampaignsView,xt as EmailComposeActionButtons,St as EmailTemplatesSection,wt as EntityCard,se as EntityCommandCard,Pt as ErrorBoundary,Tt as EventRow,me as EventStreamFeed,Ie as EventStreamSidebar,mt as Input,Me as IntelligenceLab,It as IntelligenceScoreCard,Re as MainShell,de as MetricComparisonList,Rt as ModuleContainer,p as ModuleErrorBoundary,Z as ModuleSkeleton,fe as OSNavigationRail,At as PageErrorFallback,X as PageHeader,J as PageHeaderActionButton,ue as RouteWithErrorBoundary,L as SearchBar,A as Skeleton,ge as StatCardGrid,Lt as StatCards,ke as StatCardsWithChart,Et as StatusBadge,Dt as TabSystem,zt as TaskCreateForm,Vt as TaskItem,Ht as TaskList,Ae as TasksView,Nt as TemplateCard};
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};