@tickernelz/paperclip-pro-ui 2026.928.1 → 2026.928.2
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/assets/{Agents.production-DnNn75nn.js → Agents.production-jEVgGnQD.js} +2 -2
- package/dist/assets/{CompanyActivity.production-BY7txBud.js → CompanyActivity.production-D55CMhVL.js} +1 -1
- package/dist/assets/{CompanyExport-CM6gvMQK.js → CompanyExport-BKFNfLEZ.js} +1 -1
- package/dist/assets/{CompanySkills.production-D-APop9n.js → CompanySkills.production-BAMuC3sl.js} +1 -1
- package/dist/assets/{Costs.production-BLGB0Sf8.js → Costs.production-BgKjdIvf.js} +1 -1
- package/dist/assets/{MarkdownEditor-Pip4OXiJ.js → MarkdownEditor-DfrwLv1M.js} +1 -1
- package/dist/assets/{OrgChart.production-BAnt5soz.js → OrgChart.production-DB1AFxvf.js} +1 -1
- package/dist/assets/{RoutineDetail.production-DcR87XCo.js → RoutineDetail.production-2uUOMx6c.js} +1 -1
- package/dist/assets/{RoutineRunVariablesDialog-BdO_mZGp.js → RoutineRunVariablesDialog-Bt4KAWCh.js} +1 -1
- package/dist/assets/{Routines.production-Wo_pIGw6.js → Routines.production-Bc2tvohM.js} +1 -1
- package/dist/assets/{checkbox-CmMbs2PZ.js → checkbox-757DLJRS.js} +1 -1
- package/dist/assets/{definition-C0oghTDp.js → definition-CY8sfltb.js} +1 -1
- package/dist/assets/{index-DhwreIEp.js → index-Dgrf6BZM.js} +5 -5
- package/dist/assets/{label-C2ddSDJj.js → label-BueB30Ch.js} +1 -1
- package/dist/assets/{sheet-DeCxNmfl.js → sheet-CQJe5sfn.js} +1 -1
- package/dist/index.html +6 -6
- package/dist/sw.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
var ks=Object.defineProperty;var t=(n,c)=>ks(n,"name",{value:c,configurable:!0});import{i as as}from"./rolldown-runtime-ZpX3ckPj.js";import{Fr as Ps,Lr as As,Pr as Ms,S as Ds,U as Ts,Y as m,nr as A,tr as _}from"./createLucideIcon-r3v6fbGz.js";import{B as ze,U as qs,b as Ks,ct as Us,o as Es}from"./router-Bb8nJWyv.js";import{Ct as Os,O as Ls,bt as Qs,cr as ls,gr as Bs,lr as ee,or as Ge,r as Vs,sr as We,t as $s,v as he,vt as Ye,wt as zs,xt as Gs,yt as Ws}from"./RoutineRunVariablesDialog-BdO_mZGp.js";import{l as J,t as Ys}from"./MarkdownEditor-Pip4OXiJ.js";import{t as He}from"./AgentAvatar-PT82VwmU.js";import{a as Hs,r as Js}from"./checkbox-CmMbs2PZ.js";import{n as Je,t as Xs}from"./tabs-DWRZjksg.js";import{a as Xe,c as Ze,r as es,t as Zs}from"./agents-BlSzFh-1.js";import{g as et}from"./StatusIcon-BuUYMqqU.js";import{r as st,t as je}from"./EmptyState-DPcc0zYh.js";import{t as tt}from"./check-DDiXDm2i.js";import{t as nt}from"./chevron-down-F9aZv-V7.js";import{t as cs}from"./chevron-right-B9JUOr38.js";import{c as ye,i as X,n as ve,s as be,t as we}from"./select-mS22eY6T.js";import{k as Z,t as F}from"./button-CAPbz11u.js";import{t as rt}from"./heartbeats-CK_aXmx5.js";import{i as it,o as ot}from"./company-members-BcZm1g8Q.js";import{r as at,t as lt}from"./card-dmVcp3AX.js";import{t as ct}from"./PageSkeleton-DHjTwRT3.js";import{$ as dt,$t as ut,J as mt,Q as pt,X as ft,Y as gt,Z as xt,at as ht,et as jt,fn as yt,ht as M,in as vt,it as bt,mt as wt,nt as Nt,pt as It,rn as Rt,rt as Ct,tt as St}from"./index-DhwreIEp.js";var l=as(As(),1),s=as(Ps(),1),_t=["coalesce_if_active","always_enqueue","skip_if_active"],Ft=["skip_missed","enqueue_missed_with_cap"],kt={coalesce_if_active:"If a run is already active, keep just one follow-up run queued.",always_enqueue:"Queue every trigger occurrence, even if the routine is already running.",skip_if_active:"Drop new trigger occurrences while a run is still active."},Pt={skip_missed:"Ignore windows that were missed while the scheduler or routine was paused.",enqueue_missed_with_cap:"Catch up missed schedule windows after recovery; sub-hourly schedules are combined into one catch-up run, slower schedules replay each missed window up to a cap."};function ss(n){n&&(n.style.height="auto",n.style.height=`${n.scrollHeight}px`)}t(ss,"autoResizeTextarea");var At="__built_in_routines",ts={sortField:"title",sortDir:"asc",groupBy:"folder",collapsedGroups:[]};function ns(n){try{const c=localStorage.getItem(n);if(c)return{...ts,...JSON.parse(c)}}catch{}return{...ts}}t(ns,"getRoutineViewState");function Mt(n,c){localStorage.setItem(n,JSON.stringify(c))}t(Mt,"saveRoutineViewState");function q(n){if(!n)return Number.NEGATIVE_INFINITY;const c=new Date(n).getTime();return Number.isFinite(c)?c:Number.NEGATIVE_INFINITY}t(q,"timestampValue");function rs(n,c){return(n??"").localeCompare(c??"",void 0,{sensitivity:"base"})}t(rs,"compareNullableText");function Dt(n){return{...n,description:n.description.trim()||null,projectId:n.projectId||null,folderId:n.folderId||null,assigneeAgentId:n.assigneeAgentId||null}}t(Dt,"buildRoutineMutationPayload");function Tt(n,c,d,b,g){if(c==="none")return[{key:"__all",label:null,items:n}];if(c==="folder"){const i=he(n,o=>o.folderId??"__unfiled");return Object.keys(i).sort((o,j)=>{if(o==="__unfiled"||j==="__unfiled")return o===j?0:o==="__unfiled"?1:-1;const w=g.get(o),I=g.get(j),O=(Number.isFinite(w?.position)?w.position:Number.POSITIVE_INFINITY)-(Number.isFinite(I?.position)?I.position:Number.POSITIVE_INFINITY);return O!==0?O:(w?.name??"Unknown folder").localeCompare(I?.name??"Unknown folder",void 0,{sensitivity:"base"})||o.localeCompare(j)}).map(o=>({key:o,label:o==="__unfiled"?"Unfiled":g.get(o)?.name??"Unknown folder",items:i[o]}))}if(c==="project"){const i=he(n,o=>o.projectId??"__no_project");return Object.keys(i).sort((o,j)=>{const w=o==="__no_project"?"No project":d.get(o)?.name??"Unknown project",I=j==="__no_project"?"No project":d.get(j)?.name??"Unknown project";return w.localeCompare(I)}).map(o=>({key:o,label:o==="__no_project"?"No project":d.get(o)?.name??"Unknown project",items:i[o]}))}const x=he(n,i=>i.assigneeAgentId??"__unassigned");return Object.keys(x).sort((i,o)=>{const j=i==="__unassigned"?"Unassigned":b.get(i)?.name??"Unknown agent",w=o==="__unassigned"?"Unassigned":b.get(o)?.name??"Unknown agent";return j.localeCompare(w)}).map(i=>({key:i,label:i==="__unassigned"?"Unassigned":b.get(i)?.name??"Unknown agent",items:x[i]}))}t(Tt,"buildRoutineGroups");function is(n){return n.originKind==="built_in_agent_bundle"}t(is,"isBuiltInRoutine");function qt(n,c,d,b,g){const x=n.filter(is),i=Tt(n.filter(o=>!is(o)),c,d,b,g).filter(o=>o.items.length>0).map(o=>x.length>0&&c==="none"&&o.key==="__all"?{...o,label:"Custom routines"}:o);return x.length===0?i:[...i,{key:At,label:"Built-in routines",items:x}]}t(qt,"buildRoutineSections");function Kt(n,c,d){const b=d==="asc"?1:-1;return[...n].sort((g,x)=>{let i=0;return c==="title"?i=rs(g.title,x.title):c==="created"?i=q(g.createdAt)-q(x.createdAt):c==="lastRun"?i=q(g.lastRun?.triggeredAt??g.lastTriggeredAt)-q(x.lastRun?.triggeredAt??x.lastTriggeredAt):i=q(g.updatedAt)-q(x.updatedAt),i!==0?i*b:rs(g.title,x.title)})}t(Kt,"sortRoutines");function os(n){return n==="runs"?"/routines?tab=runs":"/routines"}t(os,"buildRoutinesTabHref");function Ut({label:n,count:c,isOpen:d}){return(0,s.jsxs)("div",{className:`flex items-center gap-2 rounded-lg border border-border px-3 py-2${d?" mb-1":""}`,children:[(0,s.jsxs)(ls,{className:"flex items-center gap-1.5",children:[(0,s.jsx)(cs,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground transition-transform [[data-state=open]>&]:rotate-90"}),(0,s.jsx)("span",{className:"text-sm font-semibold uppercase tracking-wide",children:n})]}),(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:c})]})}t(Ut,"RoutineSectionHeader");function cn(){const{selectedCompanyId:n}=Ts(),{setBreadcrumbs:c}=st(),d=Ms(),b=Es(),[g,x]=Us(),{pushToast:i}=yt(),o=(0,l.useRef)(null),j=(0,l.useRef)(null),w=(0,l.useRef)(null),I=(0,l.useRef)(null),[O,K]=(0,l.useState)(!1),[se,L]=(0,l.useState)(null),[Q,te]=(0,l.useState)(null),[ds,Ne]=(0,l.useState)(!1),[ne,re]=(0,l.useState)(!1),[B,V]=(0,l.useState)([]),[Ie,Re]=(0,l.useState)([]),[us,Ce]=(0,l.useState)(null),[ms,Se]=(0,l.useState)(null),[k,ie]=(0,l.useState)(null),[$,z]=(0,l.useState)(!1),[_e,oe]=(0,l.useState)(!1),P=g.get("tab")==="runs"?"runs":"routines",[p,R]=(0,l.useState)({title:"",description:"",projectId:"",folderId:null,assigneeAgentId:"",priority:"medium",concurrencyPolicy:"coalesce_if_active",catchUpPolicy:"skip_missed",variables:[]}),G=n?`paperclip:routines-view:${n}`:"paperclip:routines-view",[u,Fe]=(0,l.useState)(()=>ns(G)),f=bt(g.get("folder"));(0,l.useEffect)(()=>{c([{label:"Routines"}])},[c]),(0,l.useEffect)(()=>{Fe(ns(G))},[G]);const{data:ke,isLoading:ps,error:ae}=A({queryKey:m.routines.list(n),queryFn:t(()=>J.list(n),"queryFn"),enabled:!!n}),{data:h,isLoading:Pe}=A({queryKey:m.folders.list(n,"routine"),queryFn:t(()=>M.list(n,"routine"),"queryFn"),enabled:!!n&&P==="routines"}),{data:C}=A({queryKey:m.agents.list(n),queryFn:t(()=>Zs.list(n),"queryFn"),enabled:!!n}),{data:S}=A({queryKey:m.projects.list(n,{includeArchived:!0}),queryFn:t(()=>et.list(n,{includeArchived:!0}),"queryFn"),enabled:!!n}),{data:Ae}=A({queryKey:m.access.companyUserDirectory(n),queryFn:t(()=>ot.listUserDirectory(n),"queryFn"),enabled:!!n}),{data:le,isLoading:fs,error:gs}=A({queryKey:[...m.issues.list(n),"routine-executions"],queryFn:t(()=>ze.list(n,{originKind:"routine_execution"}),"queryFn"),enabled:!!n&&P==="runs"}),Me=m.liveRuns(n),ce=vt({companyId:n,resourceKey:"live-runs",queryKey:Me,enabled:!!n&&P==="runs",refetchInterval:!1,leaderOnly:!0}),{data:de,dataUpdatedAt:xs}=A({queryKey:Me,queryFn:t(()=>rt.liveRunsForCompany(n),"queryFn"),enabled:ce.enabled,refetchInterval:ce.refetchInterval});Rt(ce,de,xs),(0,l.useEffect)(()=>{ss(j.current)},[p.title,$]);const hs=(0,l.useMemo)(()=>it({agents:C,projects:(S??[]).filter(e=>!e.archivedAt),members:Ae?.users}),[C,Ae?.users,S]),N=_({mutationFn:t(()=>J.create(n,Dt(p)),"mutationFn"),onSuccess:t(async e=>{R({title:"",description:"",projectId:"",folderId:null,assigneeAgentId:"",priority:"medium",concurrencyPolicy:"coalesce_if_active",catchUpPolicy:"skip_missed",variables:[]}),z(!1),oe(!1),await d.invalidateQueries({queryKey:m.routines.list(n)}),i({title:"Routine created",body:e.assigneeAgentId?"Add the first trigger to turn it into a live workflow.":"Draft saved. Add a default agent before enabling automation.",tone:"success"}),b(`/routines/${e.id}?tab=triggers`)},"onSuccess")}),De=_({mutationFn:t(e=>M.create(n,{kind:"routine",...e}),"mutationFn"),onSuccess:t(async e=>{if(K(!1),L(null),await d.invalidateQueries({queryKey:m.folders.list(n,"routine")}),Ie.length>0){const r=Ie;Re([]);try{await Promise.all(r.map(a=>M.moveItem(n,{kind:"routine",itemId:a,folderId:e.id}))),await Promise.all([d.invalidateQueries({queryKey:m.routines.list(n)}),d.invalidateQueries({queryKey:m.folders.list(n,"routine")})])}catch(a){i({title:"Folder created, move failed",body:a instanceof Error?a.message:"Paperclip could not move the selected routines.",tone:"error"});return}}else Y(e.id);i({title:"Folder created",body:e.name,tone:"success"})},"onSuccess"),onError:t(e=>{i({title:"Failed to save folder",body:e instanceof Error?e.message:"Paperclip could not save the folder.",tone:"error"})},"onError")}),ue=_({mutationFn:t(({folderId:e,payload:r})=>M.update(n,e,r),"mutationFn"),onSuccess:t(async()=>{K(!1),L(null),await d.invalidateQueries({queryKey:m.folders.list(n,"routine")})},"onSuccess"),onError:t(e=>{i({title:"Folder save failed",body:e instanceof Error?e.message:"Paperclip could not update the folder.",tone:"error"})},"onError")}),Te=_({mutationFn:t(e=>M.delete(n,e),"mutationFn"),onSuccess:t(async(e,r)=>{f===r&&Y("all"),te(null),await Promise.all([d.invalidateQueries({queryKey:m.routines.list(n)}),d.invalidateQueries({queryKey:m.folders.list(n,"routine")})]),i({title:"Folder deleted",body:"Items moved to Unfiled.",tone:"success"})},"onSuccess"),onError:t(e=>{i({title:"Folder delete failed",body:e instanceof Error?e.message:"Paperclip could not delete the folder.",tone:"error"})},"onError")}),qe=_({mutationFn:t(({itemId:e,folderId:r})=>M.moveItem(n,{kind:"routine",itemId:e,folderId:r}),"mutationFn"),onSuccess:t(async()=>{await Promise.all([d.invalidateQueries({queryKey:m.routines.list(n)}),d.invalidateQueries({queryKey:m.folders.list(n,"routine")})])},"onSuccess"),onError:t(e=>{i({title:"Move failed",body:e instanceof Error?e.message:"Paperclip could not move the routine.",tone:"error"})},"onError")}),js=_({mutationFn:t(({id:e,data:r})=>ze.update(e,r),"mutationFn"),onSuccess:t(async()=>{await d.invalidateQueries({queryKey:[...m.issues.list(n),"routine-executions"]})},"onSuccess")}),Ke=_({mutationFn:t(({id:e,status:r})=>J.update(e,{status:r}),"mutationFn"),onMutate:t(({id:e})=>{Se(e)},"onMutate"),onSuccess:t(async(e,r)=>{await Promise.all([d.invalidateQueries({queryKey:m.routines.list(n)}),d.invalidateQueries({queryKey:m.routines.detail(r.id)})])},"onSuccess"),onSettled:t(()=>{Se(null)},"onSettled"),onError:t(e=>{i({title:"Failed to update routine",body:e instanceof Error?e.message:"Paperclip could not update the routine.",tone:"error"})},"onError")}),Ue=_({mutationFn:t(({id:e,data:r})=>J.run(e,{...r?.variables&&Object.keys(r.variables).length>0?{variables:r.variables}:{},...r?.assigneeAgentId!==void 0?{assigneeAgentId:r.assigneeAgentId}:{},...r?.projectId!==void 0?{projectId:r.projectId}:{},...r?.executionWorkspaceId!==void 0?{executionWorkspaceId:r.executionWorkspaceId}:{},...r?.executionWorkspacePreference!==void 0?{executionWorkspacePreference:r.executionWorkspacePreference}:{},...r?.executionWorkspaceSettings!==void 0?{executionWorkspaceSettings:r.executionWorkspaceSettings}:{}}),"mutationFn"),onMutate:t(({id:e})=>{Ce(e)},"onMutate"),onSuccess:t(async(e,{id:r})=>{ie(null),await Promise.all([d.invalidateQueries({queryKey:m.routines.list(n)}),d.invalidateQueries({queryKey:m.routines.detail(r)})])},"onSuccess"),onSettled:t(()=>{Ce(null)},"onSettled"),onError:t(e=>{i({title:"Routine run failed",body:e instanceof Error?e.message:"Paperclip could not start the routine run.",tone:"error"})},"onError")}),me=(0,l.useMemo)(()=>Gs(),[$]),ys=(0,l.useMemo)(()=>Ws(),[$]),vs=(0,l.useMemo)(()=>Os((C??[]).filter(e=>e.status!=="terminated"),me).map(e=>({id:e.id,label:e.name,searchText:`${e.name} ${e.role} ${e.title??""}`})),[C,me]),bs=(0,l.useMemo)(()=>(S??[]).filter(e=>!e.archivedAt).map(e=>({id:e.id,label:e.name,searchText:e.description??""})),[S]),U=(0,l.useMemo)(()=>new Map((C??[]).map(e=>[e.id,e])),[C]),E=(0,l.useMemo)(()=>new Map((S??[]).map(e=>[e.id,e])),[S]),Ee=(0,l.useMemo)(()=>new Map((h?.folders??[]).map(e=>[e.id,e])),[h]),ws=(0,l.useMemo)(()=>Ls(de,le),[de,le]),y=(0,l.useMemo)(()=>(ke??[]).filter(e=>e.status!=="archived"),[ke]),Oe=(0,l.useMemo)(()=>u.groupBy!=="folder"||f==="all"?y:f==="unfiled"?y.filter(e=>!e.folderId):y.filter(e=>e.folderId===f),[f,u.groupBy,y]),pe=(0,l.useMemo)(()=>{if(!h)return h;const e=new Map;let r=0;for(const a of y)a.folderId?e.set(a.folderId,(e.get(a.folderId)??0)+1):r+=1;return{...h,allCount:y.length,unfiledCount:r,folders:h.folders.map(a=>({...a,itemCount:e.get(a.id)??0}))}},[h,y]),D=(0,l.useMemo)(()=>Kt(Oe,u.sortField,u.sortDir),[Oe,u.sortDir,u.sortField]),Ns=(0,l.useMemo)(()=>qt(D,u.groupBy,E,U,Ee),[U,Ee,E,u.groupBy,D]),Is=(0,l.useMemo)(()=>qs("Recent Runs",os("runs"),"issues"),[]),Le=p.assigneeAgentId?U.get(p.assigneeAgentId)??null:null,Qe=p.projectId?E.get(p.projectId)??null:null,Be=ht(h?.folders??[],f),W=(h?.folders.length??0)>0,fe=P==="routines"&&u.groupBy==="folder"&&W;function ge(e){Fe(r=>{const a={...r,...e};return Mt(G,a),a})}t(ge,"updateRoutineView");function Ve(e){const r=e==="runs"?"runs":"routines";(0,l.startTransition)(()=>{b(os(r))})}t(Ve,"handleTabChange");function Y(e){x(r=>{const a=new URLSearchParams(r),v=Ct(e);return v?a.set("folder",v):a.delete("folder"),a})}t(Y,"setFolderSelection");function T(e=[]){Re(e),L(null),K(!0)}t(T,"openCreateFolder");function $e(){R(e=>({...e,folderId:f==="all"||f==="unfiled"?null:f})),z(!0)}t($e,"openCreateRoutine");async function Rs(e){const r=B;if(r.length!==0)try{await Promise.all(r.map(a=>M.moveItem(n,{kind:"routine",itemId:a,folderId:e}))),V([]),re(!1),await Promise.all([d.invalidateQueries({queryKey:m.routines.list(n)}),d.invalidateQueries({queryKey:m.folders.list(n,"routine")})]),i({title:"Routines moved",body:`${r.length} routine${r.length===1?"":"s"} filed.`,tone:"success"})}catch(a){i({title:"Failed to move routines",body:a instanceof Error?a.message:"Paperclip could not move the selected routines.",tone:"error"})}}t(Rs,"moveSelectedRoutines");function Cs(e){ie(e)}t(Cs,"handleRunNow");function Ss(e,r){if(!r&&!e.assigneeAgentId){i({title:"Default agent required",body:"Set a default agent before enabling routine automation.",tone:"warn"});return}Ke.mutate({id:e.id,status:wt(e.status,!r)})}t(Ss,"handleToggleEnabled");function _s(e){Ke.mutate({id:e.id,status:e.status==="archived"?"active":"archived"})}return t(_s,"handleToggleArchived"),n?ps?(0,s.jsx)(ct,{variant:"issues-list"}):(0,s.jsxs)("div",{className:"space-y-6",children:[(0,s.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-end sm:justify-between",children:[(0,s.jsxs)("div",{className:"space-y-1",children:[(0,s.jsx)("h1",{className:"text-2xl font-semibold tracking-tight",children:"Routines"}),(0,s.jsx)("p",{className:"text-sm text-muted-foreground",children:"Recurring work definitions that materialize into auditable execution tasks."})]}),(0,s.jsxs)(F,{onClick:$e,children:[(0,s.jsx)(Z,{className:"mr-2 h-4 w-4"}),"Create routine"]})]}),(0,s.jsxs)(Xs,{value:P,onValueChange:Ve,children:[(0,s.jsx)(ut,{align:"start",value:P,onValueChange:Ve,items:[{value:"routines",label:"Routines"},{value:"runs",label:"Recent Runs"}]}),(0,s.jsxs)(Je,{value:"routines",className:"space-y-4",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,s.jsxs)("p",{className:"text-sm text-muted-foreground",children:[y.length," routine",y.length===1?"":"s"]}),(0,s.jsxs)("div",{className:"flex items-center gap-1",children:[(0,s.jsxs)(es,{children:[(0,s.jsx)(Ze,{asChild:!0,children:(0,s.jsxs)(F,{variant:"ghost",size:"sm",className:"text-xs",title:"Sort",children:[(0,s.jsx)(Bs,{className:"h-3.5 w-3.5 sm:h-3 sm:w-3 sm:mr-1"}),(0,s.jsx)("span",{className:"hidden sm:inline",children:"Sort"})]})}),(0,s.jsx)(Xe,{align:"end",className:"w-44 p-0",children:(0,s.jsx)("div",{className:"p-2 space-y-0.5",children:[["updated","Updated"],["created","Created"],["lastRun","Last run"],["title","Title"]].map(([e,r])=>(0,s.jsxs)("button",{className:`flex w-full items-center justify-between rounded-sm px-2 py-1.5 text-sm ${u.sortField===e?"bg-accent/50 text-foreground":"text-muted-foreground hover:bg-accent/50"}`,onClick:t(()=>{ge(u.sortField===e?{sortDir:u.sortDir==="asc"?"desc":"asc"}:{sortField:e,sortDir:e==="title"?"asc":"desc"})},"onClick"),children:[(0,s.jsx)("span",{children:r}),u.sortField===e?(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:u.sortDir==="asc"?"Asc":"Desc"}):null]},e))})})]}),(0,s.jsxs)(es,{children:[(0,s.jsx)(Ze,{asChild:!0,children:(0,s.jsxs)(F,{variant:"ghost",size:"sm",className:"text-xs",title:"Group",children:[(0,s.jsx)(Ks,{className:"h-3.5 w-3.5 sm:h-3 sm:w-3 sm:mr-1"}),(0,s.jsx)("span",{className:"hidden sm:inline",children:"Group"})]})}),(0,s.jsx)(Xe,{align:"end",className:"w-44 p-0",children:(0,s.jsx)("div",{className:"p-2 space-y-0.5",children:[["folder","Folder"],["project","Project"],["assignee","Agent"],["none","None"]].map(([e,r])=>(0,s.jsxs)("button",{className:`flex w-full items-center justify-between rounded-sm px-2 py-1.5 text-sm ${u.groupBy===e?"bg-accent/50 text-foreground":"text-muted-foreground hover:bg-accent/50"}`,onClick:t(()=>ge({groupBy:e,collapsedGroups:[]}),"onClick"),children:[(0,s.jsx)("span",{children:r}),u.groupBy===e?(0,s.jsx)(tt,{className:"h-3.5 w-3.5"}):null]},e))})})]}),u.groupBy==="folder"&&!W?(0,s.jsxs)(F,{variant:"outline",size:"sm",onClick:t(()=>T(),"onClick"),children:[(0,s.jsx)(Z,{className:"mr-2 h-3.5 w-3.5"}),"New folder"]}):null,fe?(0,s.jsx)(F,{variant:"ghost",size:"sm",className:"text-xs",onClick:t(()=>re(e=>!e),"onClick"),children:ne?"Done":"Select"}):null]})]}),u.groupBy==="folder"?(0,s.jsx)("div",{className:"md:hidden",children:(0,s.jsx)(xt,{result:pe,selection:f,allLabel:"All routines",onClick:t(()=>Ne(!0),"onClick")})}):null]}),(0,s.jsx)(Je,{value:"runs",children:(0,s.jsx)(Vs,{issues:le??[],isLoading:fs,error:gs,agents:C,projects:S,liveIssueIds:ws,viewStateKey:"paperclip:routine-recent-runs-view",issueLinkState:Is,onUpdateIssue:t((e,r)=>js.mutate({id:e,data:r}),"onUpdateIssue")})})]}),(0,s.jsx)(Js,{open:$,onOpenChange:t(e=>{N.isPending||z(e)},"onOpenChange"),children:(0,s.jsxs)(Hs,{showCloseButton:!1,className:"flex max-h-(--sz-calc-18) max-w-3xl flex-col gap-0 overflow-hidden p-0",children:[(0,s.jsxs)("div",{className:"shrink-0 flex flex-wrap items-center justify-between gap-3 border-b border-border/60 px-5 py-3",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("p",{className:"text-xs font-medium uppercase tracking-(--tracking-caps) text-muted-foreground",children:"New routine"}),(0,s.jsx)("p",{className:"text-sm text-muted-foreground",children:"Define the recurring work first. Default project and agent are optional for draft routines."})]}),(0,s.jsx)(F,{variant:"ghost",size:"sm",onClick:t(()=>{z(!1),oe(!1)},"onClick"),disabled:N.isPending,children:"Cancel"})]}),(0,s.jsxs)("div",{className:"min-h-0 flex-1 overflow-y-auto",children:[(0,s.jsx)("div",{className:"px-5 pt-5 pb-3",children:(0,s.jsx)("textarea",{ref:j,className:"w-full resize-none overflow-hidden bg-transparent text-xl font-semibold outline-none placeholder:text-muted-foreground/50",placeholder:"Routine title",rows:1,value:p.title,onChange:t(e=>{R(r=>({...r,title:e.target.value})),ss(e.target)},"onChange"),onKeyDown:t(e=>{if(e.key==="Enter"&&!e.metaKey&&!e.ctrlKey&&!e.nativeEvent.isComposing){e.preventDefault(),o.current?.focus();return}e.key==="Tab"&&!e.shiftKey&&(e.preventDefault(),p.assigneeAgentId?p.projectId?o.current?.focus():I.current?.focus():w.current?.focus())},"onKeyDown"),autoFocus:!0})}),(0,s.jsx)("div",{className:"px-5 pb-3",children:(0,s.jsx)("div",{className:"overflow-x-auto overscroll-x-contain",children:(0,s.jsxs)("div",{className:"inline-flex min-w-full flex-wrap items-center gap-2 text-sm text-muted-foreground sm:min-w-max sm:flex-nowrap",children:[(0,s.jsx)("span",{children:"For"}),(0,s.jsx)(Ye,{ref:w,value:p.assigneeAgentId,options:vs,recentOptionIds:me,placeholder:"Responsible",noneLabel:"No responsible",searchPlaceholder:"Search responsible...",emptyMessage:"No responsible found.",onChange:t(e=>{e&&zs(e),R(r=>({...r,assigneeAgentId:e}))},"onChange"),onConfirm:t(()=>{p.projectId?o.current?.focus():I.current?.focus()},"onConfirm"),renderTriggerValue:t(e=>e?Le?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(He,{agent:Le,size:16,className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}),(0,s.jsx)("span",{className:"truncate",children:e.label})]}):(0,s.jsx)("span",{className:"truncate",children:e.label}):(0,s.jsx)("span",{className:"text-muted-foreground",children:"Responsible"}),"renderTriggerValue"),renderOption:t(e=>{if(!e.id)return(0,s.jsx)("span",{className:"truncate",children:e.label});const r=U.get(e.id);return(0,s.jsxs)(s.Fragment,{children:[r?(0,s.jsx)(He,{agent:r,size:16,className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}):null,(0,s.jsx)("span",{className:"truncate",children:e.label})]})},"renderOption")}),(0,s.jsx)("span",{children:"in"}),(0,s.jsx)(Ye,{ref:I,value:p.projectId,options:bs,recentOptionIds:ys,placeholder:"Project",noneLabel:"No project",searchPlaceholder:"Search projects...",emptyMessage:"No projects found.",onChange:t(e=>{e&&Qs(e),R(r=>({...r,projectId:e}))},"onChange"),onConfirm:t(()=>o.current?.focus(),"onConfirm"),renderTriggerValue:t(e=>e&&Qe?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("span",{className:"h-3.5 w-3.5 shrink-0 rounded-sm",style:{backgroundColor:Qe.color??"var(--project-none)"}}),(0,s.jsx)("span",{className:"truncate",children:e.label})]}):(0,s.jsx)("span",{className:"text-muted-foreground",children:"Project"}),"renderTriggerValue"),renderOption:t(e=>{if(!e.id)return(0,s.jsx)("span",{className:"truncate",children:e.label});const r=E.get(e.id);return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("span",{className:"h-3.5 w-3.5 shrink-0 rounded-sm",style:{backgroundColor:r?.color??"var(--project-none)"}}),(0,s.jsx)("span",{className:"truncate",children:e.label})]})},"renderOption")}),(0,s.jsx)("span",{children:"filed in"}),(0,s.jsxs)(we,{value:p.folderId??"__unfiled",onValueChange:t(e=>R(r=>({...r,folderId:e==="__unfiled"?null:e})),"onValueChange"),children:[(0,s.jsx)(be,{className:"h-8 w-auto min-w-32 border-0 bg-muted/50 px-2 shadow-none",children:(0,s.jsx)(ye,{})}),(0,s.jsxs)(ve,{children:[(0,s.jsx)(X,{value:"__unfiled",children:"Unfiled"}),(h?.folders??[]).map(e=>(0,s.jsx)(X,{value:e.id,children:e.name},e.id))]})]})]})})}),(0,s.jsx)("div",{className:"border-t border-border/60 px-5 py-4",children:(0,s.jsx)(Ys,{ref:o,value:p.description,onChange:t(e=>R(r=>({...r,description:e})),"onChange"),placeholder:"Add instructions...",bordered:!1,contentClassName:"min-h-(--sz-160px) text-sm text-muted-foreground",mentions:hs,onSubmit:t(()=>{!N.isPending&&p.title.trim()&&p.projectId&&p.assigneeAgentId&&N.mutate()},"onSubmit")})}),(0,s.jsx)("div",{className:"border-t border-border/60 px-5 py-3",children:(0,s.jsxs)(Ge,{open:_e,onOpenChange:oe,children:[(0,s.jsxs)(ls,{className:"flex w-full items-center justify-between text-left",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("p",{className:"text-sm font-medium",children:"Advanced delivery settings"}),(0,s.jsx)("p",{className:"text-sm text-muted-foreground",children:"Keep policy controls secondary to the work definition."})]}),_e?(0,s.jsx)(nt,{className:"h-4 w-4 text-muted-foreground"}):(0,s.jsx)(cs,{className:"h-4 w-4 text-muted-foreground"})]}),(0,s.jsx)(We,{className:"pt-3",children:(0,s.jsxs)("div",{className:"grid gap-4 md:grid-cols-2",children:[(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)("p",{className:"text-xs font-medium uppercase tracking-(--tracking-caps) text-muted-foreground",children:"Concurrency"}),(0,s.jsxs)(we,{value:p.concurrencyPolicy,onValueChange:t(e=>R(r=>({...r,concurrencyPolicy:e})),"onValueChange"),children:[(0,s.jsx)(be,{children:(0,s.jsx)(ye,{})}),(0,s.jsx)(ve,{children:_t.map(e=>(0,s.jsx)(X,{value:e,children:e.replaceAll("_"," ")},e))})]}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground",children:kt[p.concurrencyPolicy]})]}),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)("p",{className:"text-xs font-medium uppercase tracking-(--tracking-caps) text-muted-foreground",children:"Catch-up"}),(0,s.jsxs)(we,{value:p.catchUpPolicy,onValueChange:t(e=>R(r=>({...r,catchUpPolicy:e})),"onValueChange"),children:[(0,s.jsx)(be,{children:(0,s.jsx)(ye,{})}),(0,s.jsx)(ve,{children:Ft.map(e=>(0,s.jsx)(X,{value:e,children:e.replaceAll("_"," ")},e))})]}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground",children:Pt[p.catchUpPolicy]})]})]})})]})})]}),(0,s.jsxs)("div",{className:"shrink-0 flex flex-col gap-3 border-t border-border/60 px-5 py-4 sm:flex-row sm:items-center sm:justify-between",children:[(0,s.jsx)("div",{className:"text-sm text-muted-foreground",children:"After creation, Paperclip takes you straight to trigger setup. Draft routines stay paused until you add a default agent."}),(0,s.jsxs)("div",{className:"flex flex-col gap-2 sm:items-end",children:[(0,s.jsxs)(F,{onClick:t(()=>N.mutate(),"onClick"),disabled:N.isPending||!p.title.trim(),children:[(0,s.jsx)(Z,{className:"mr-2 h-4 w-4"}),N.isPending?"Creating...":"Create routine"]}),N.isError?(0,s.jsx)("p",{className:"text-sm text-destructive",children:N.error instanceof Error?N.error.message:"Failed to create routine"}):null]})]})]})}),ae?(0,s.jsx)(lt,{children:(0,s.jsx)(at,{className:"pt-6 text-sm text-destructive",children:ae instanceof Error?ae.message:"Failed to load routines"})}):null,P==="routines"?(0,s.jsxs)("div",{className:Ds(fe&&"flex gap-4"),children:[fe?(0,s.jsx)(dt,{result:pe,selection:f,allLabel:"All routines",itemLabelPlural:"routines",loading:Pe,onSelect:Y,onCreate:t(()=>T(),"onCreate"),onRename:t((e,r)=>ue.mutate({folderId:e.id,payload:{name:r}}),"onRename"),onEdit:t(e=>{L(e),K(!0)},"onEdit"),onDelete:te}):null,(0,s.jsxs)("div",{className:"min-w-0 flex-1",children:[u.groupBy==="folder"&&W?(0,s.jsx)("div",{className:"mb-3 flex flex-wrap items-center gap-2",children:f==="all"?(0,s.jsx)(Et,{label:"All routines",count:D.length}):(0,s.jsxs)("div",{className:"flex min-w-0 items-center gap-2 text-sm",children:[(0,s.jsx)(jt,{color:Be?.color}),(0,s.jsx)("span",{className:"truncate font-medium",children:f==="unfiled"?"Unfiled":Be?.name??"Folder"}),(0,s.jsxs)("span",{className:"text-muted-foreground",children:[D.length," routine",D.length===1?"":"s"]})]})}):null,u.groupBy==="folder"&&!W&&!Pe&&y.length>0?(0,s.jsx)(mt,{storageKey:`paperclip:routines-folder-nudge:${n??"none"}`,itemLabelPlural:"routines",onCreateFolder:t(()=>T(),"onCreateFolder")}):null,ne?(0,s.jsx)(gt,{selectedCount:B.length,folders:h?.folders??[],onMove:t(e=>{Rs(e)},"onMove"),onCreateAndMove:t(()=>T(B),"onCreateAndMove"),onClear:t(()=>V([]),"onClear"),onDone:t(()=>{re(!1),V([])},"onDone")}):null,y.length===0?(0,s.jsx)("div",{className:"py-12",children:(0,s.jsx)(je,{icon:ee,message:"No active routines. Use Create routine to define the first recurring workflow."})}):D.length===0?(0,s.jsxs)("div",{className:"py-12",children:[(0,s.jsx)(je,{icon:ee,message:f==="all"?"No routines match this view.":"This folder is empty."}),f!=="all"?(0,s.jsx)("div",{className:"mt-3 flex justify-center",children:(0,s.jsxs)(F,{size:"sm",onClick:$e,children:[(0,s.jsx)(Z,{className:"mr-2 h-3.5 w-3.5"}),"New routine in this folder"]})}):null]}):(0,s.jsx)("div",{className:"flex flex-col gap-3",children:Ns.map(e=>{const r=!u.collapsedGroups.includes(e.key);return(0,s.jsxs)(Ge,{open:r,onOpenChange:t(a=>{ge({collapsedGroups:a?u.collapsedGroups.filter(v=>v!==e.key):[...u.collapsedGroups,e.key]})},"onOpenChange"),children:[e.label?(0,s.jsx)(Ut,{label:e.label,count:e.items.length,isOpen:r}):null,(0,s.jsx)(We,{children:e.items.map(a=>(0,s.jsx)(It,{routine:a,projectById:E,agentById:U,runningRoutineId:us,statusMutationRoutineId:ms,href:`/routines/${a.id}`,runNowButton:!0,divider:!1,onRunNow:Cs,onToggleEnabled:Ss,onToggleArchived:_s,selectMode:ne,selected:B.includes(a.id),onSelectChange:t((v,xe)=>{V(H=>xe?Array.from(new Set([...H,v.id])):H.filter(Fs=>Fs!==v.id))},"onSelectChange"),extraMenuItems:(0,s.jsx)(Nt,{folders:h?.folders??[],currentFolderId:a.folderId??null,onMove:t(v=>{const xe=a.folderId??null;qe.mutate({itemId:a.id,folderId:v}),i({title:"Routine moved",body:v?`Moved "${a.title}" to ${h?.folders.find(H=>H.id===v)?.name??"folder"}.`:`Moved "${a.title}" to Unfiled.`,tone:"success",action:{label:"Undo",onClick:t(()=>qe.mutate({itemId:a.id,folderId:xe}),"onClick")}})},"onMove"),onCreateAndMove:t(()=>T([a.id]),"onCreateAndMove")})},a.id))})]},e.key)})})]})]}):null,(0,s.jsx)(pt,{open:O,kind:"routine",folder:se,pending:De.isPending||ue.isPending,onOpenChange:K,onSubmit:t(e=>{se?ue.mutate({folderId:se.id,payload:e}):De.mutate(e)},"onSubmit")}),(0,s.jsx)(ft,{open:Q!==null,folder:Q,itemLabelPlural:"routines",pending:Te.isPending,onOpenChange:t(e=>{e||te(null)},"onOpenChange"),onConfirm:t(()=>{Q&&Te.mutate(Q.id)},"onConfirm")}),(0,s.jsx)(St,{open:ds,onOpenChange:Ne,result:pe,selection:f,allLabel:"All routines",itemLabelPlural:"Routines",onSelect:Y,onCreate:t(()=>T(),"onCreate")}),(0,s.jsx)($s,{open:k!==null,onOpenChange:t(e=>{e||ie(null)},"onOpenChange"),companyId:n,routineName:k?.title??null,agents:C??[],projects:S??[],defaultProjectId:k?.projectId??null,defaultAssigneeAgentId:k?.assigneeAgentId??null,variables:k?.variables??[],isPending:Ue.isPending,onSubmit:t(e=>{k&&Ue.mutate({id:k.id,data:e})},"onSubmit")})]}):(0,s.jsx)(je,{icon:ee,message:"Select a company to view routines."})}t(cn,"Routines");function Et({label:n,count:c}){return(0,s.jsxs)("div",{className:"flex min-w-0 items-center gap-2 text-sm",children:[(0,s.jsx)(ee,{className:"h-3.5 w-3.5 text-muted-foreground"}),(0,s.jsx)("span",{className:"truncate font-medium",children:n}),(0,s.jsxs)("span",{className:"text-muted-foreground",children:[c," routine",c===1?"":"s"]})]})}t(Et,"FolderIconHeader");export{cn as Routines};
|
|
1
|
+
var ks=Object.defineProperty;var t=(n,c)=>ks(n,"name",{value:c,configurable:!0});import{i as as}from"./rolldown-runtime-ZpX3ckPj.js";import{Fr as Ps,Lr as As,Pr as Ms,S as Ds,U as Ts,Y as m,nr as A,tr as _}from"./createLucideIcon-r3v6fbGz.js";import{B as ze,U as qs,b as Ks,ct as Us,o as Es}from"./router-Bb8nJWyv.js";import{Ct as Os,O as Ls,bt as Qs,cr as ls,gr as Bs,lr as ee,or as Ge,r as Vs,sr as We,t as $s,v as he,vt as Ye,wt as zs,xt as Gs,yt as Ws}from"./RoutineRunVariablesDialog-Bt4KAWCh.js";import{l as J,t as Ys}from"./MarkdownEditor-DfrwLv1M.js";import{t as He}from"./AgentAvatar-PT82VwmU.js";import{a as Hs,r as Js}from"./checkbox-757DLJRS.js";import{n as Je,t as Xs}from"./tabs-DWRZjksg.js";import{a as Xe,c as Ze,r as es,t as Zs}from"./agents-BlSzFh-1.js";import{g as et}from"./StatusIcon-BuUYMqqU.js";import{r as st,t as je}from"./EmptyState-DPcc0zYh.js";import{t as tt}from"./check-DDiXDm2i.js";import{t as nt}from"./chevron-down-F9aZv-V7.js";import{t as cs}from"./chevron-right-B9JUOr38.js";import{c as ye,i as X,n as ve,s as be,t as we}from"./select-mS22eY6T.js";import{k as Z,t as F}from"./button-CAPbz11u.js";import{t as rt}from"./heartbeats-CK_aXmx5.js";import{i as it,o as ot}from"./company-members-BcZm1g8Q.js";import{r as at,t as lt}from"./card-dmVcp3AX.js";import{t as ct}from"./PageSkeleton-DHjTwRT3.js";import{$ as dt,$t as ut,J as mt,Q as pt,X as ft,Y as gt,Z as xt,at as ht,et as jt,fn as yt,ht as M,in as vt,it as bt,mt as wt,nt as Nt,pt as It,rn as Rt,rt as Ct,tt as St}from"./index-Dgrf6BZM.js";var l=as(As(),1),s=as(Ps(),1),_t=["coalesce_if_active","always_enqueue","skip_if_active"],Ft=["skip_missed","enqueue_missed_with_cap"],kt={coalesce_if_active:"If a run is already active, keep just one follow-up run queued.",always_enqueue:"Queue every trigger occurrence, even if the routine is already running.",skip_if_active:"Drop new trigger occurrences while a run is still active."},Pt={skip_missed:"Ignore windows that were missed while the scheduler or routine was paused.",enqueue_missed_with_cap:"Catch up missed schedule windows after recovery; sub-hourly schedules are combined into one catch-up run, slower schedules replay each missed window up to a cap."};function ss(n){n&&(n.style.height="auto",n.style.height=`${n.scrollHeight}px`)}t(ss,"autoResizeTextarea");var At="__built_in_routines",ts={sortField:"title",sortDir:"asc",groupBy:"folder",collapsedGroups:[]};function ns(n){try{const c=localStorage.getItem(n);if(c)return{...ts,...JSON.parse(c)}}catch{}return{...ts}}t(ns,"getRoutineViewState");function Mt(n,c){localStorage.setItem(n,JSON.stringify(c))}t(Mt,"saveRoutineViewState");function q(n){if(!n)return Number.NEGATIVE_INFINITY;const c=new Date(n).getTime();return Number.isFinite(c)?c:Number.NEGATIVE_INFINITY}t(q,"timestampValue");function rs(n,c){return(n??"").localeCompare(c??"",void 0,{sensitivity:"base"})}t(rs,"compareNullableText");function Dt(n){return{...n,description:n.description.trim()||null,projectId:n.projectId||null,folderId:n.folderId||null,assigneeAgentId:n.assigneeAgentId||null}}t(Dt,"buildRoutineMutationPayload");function Tt(n,c,d,b,g){if(c==="none")return[{key:"__all",label:null,items:n}];if(c==="folder"){const i=he(n,o=>o.folderId??"__unfiled");return Object.keys(i).sort((o,j)=>{if(o==="__unfiled"||j==="__unfiled")return o===j?0:o==="__unfiled"?1:-1;const w=g.get(o),I=g.get(j),O=(Number.isFinite(w?.position)?w.position:Number.POSITIVE_INFINITY)-(Number.isFinite(I?.position)?I.position:Number.POSITIVE_INFINITY);return O!==0?O:(w?.name??"Unknown folder").localeCompare(I?.name??"Unknown folder",void 0,{sensitivity:"base"})||o.localeCompare(j)}).map(o=>({key:o,label:o==="__unfiled"?"Unfiled":g.get(o)?.name??"Unknown folder",items:i[o]}))}if(c==="project"){const i=he(n,o=>o.projectId??"__no_project");return Object.keys(i).sort((o,j)=>{const w=o==="__no_project"?"No project":d.get(o)?.name??"Unknown project",I=j==="__no_project"?"No project":d.get(j)?.name??"Unknown project";return w.localeCompare(I)}).map(o=>({key:o,label:o==="__no_project"?"No project":d.get(o)?.name??"Unknown project",items:i[o]}))}const x=he(n,i=>i.assigneeAgentId??"__unassigned");return Object.keys(x).sort((i,o)=>{const j=i==="__unassigned"?"Unassigned":b.get(i)?.name??"Unknown agent",w=o==="__unassigned"?"Unassigned":b.get(o)?.name??"Unknown agent";return j.localeCompare(w)}).map(i=>({key:i,label:i==="__unassigned"?"Unassigned":b.get(i)?.name??"Unknown agent",items:x[i]}))}t(Tt,"buildRoutineGroups");function is(n){return n.originKind==="built_in_agent_bundle"}t(is,"isBuiltInRoutine");function qt(n,c,d,b,g){const x=n.filter(is),i=Tt(n.filter(o=>!is(o)),c,d,b,g).filter(o=>o.items.length>0).map(o=>x.length>0&&c==="none"&&o.key==="__all"?{...o,label:"Custom routines"}:o);return x.length===0?i:[...i,{key:At,label:"Built-in routines",items:x}]}t(qt,"buildRoutineSections");function Kt(n,c,d){const b=d==="asc"?1:-1;return[...n].sort((g,x)=>{let i=0;return c==="title"?i=rs(g.title,x.title):c==="created"?i=q(g.createdAt)-q(x.createdAt):c==="lastRun"?i=q(g.lastRun?.triggeredAt??g.lastTriggeredAt)-q(x.lastRun?.triggeredAt??x.lastTriggeredAt):i=q(g.updatedAt)-q(x.updatedAt),i!==0?i*b:rs(g.title,x.title)})}t(Kt,"sortRoutines");function os(n){return n==="runs"?"/routines?tab=runs":"/routines"}t(os,"buildRoutinesTabHref");function Ut({label:n,count:c,isOpen:d}){return(0,s.jsxs)("div",{className:`flex items-center gap-2 rounded-lg border border-border px-3 py-2${d?" mb-1":""}`,children:[(0,s.jsxs)(ls,{className:"flex items-center gap-1.5",children:[(0,s.jsx)(cs,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground transition-transform [[data-state=open]>&]:rotate-90"}),(0,s.jsx)("span",{className:"text-sm font-semibold uppercase tracking-wide",children:n})]}),(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:c})]})}t(Ut,"RoutineSectionHeader");function cn(){const{selectedCompanyId:n}=Ts(),{setBreadcrumbs:c}=st(),d=Ms(),b=Es(),[g,x]=Us(),{pushToast:i}=yt(),o=(0,l.useRef)(null),j=(0,l.useRef)(null),w=(0,l.useRef)(null),I=(0,l.useRef)(null),[O,K]=(0,l.useState)(!1),[se,L]=(0,l.useState)(null),[Q,te]=(0,l.useState)(null),[ds,Ne]=(0,l.useState)(!1),[ne,re]=(0,l.useState)(!1),[B,V]=(0,l.useState)([]),[Ie,Re]=(0,l.useState)([]),[us,Ce]=(0,l.useState)(null),[ms,Se]=(0,l.useState)(null),[k,ie]=(0,l.useState)(null),[$,z]=(0,l.useState)(!1),[_e,oe]=(0,l.useState)(!1),P=g.get("tab")==="runs"?"runs":"routines",[p,R]=(0,l.useState)({title:"",description:"",projectId:"",folderId:null,assigneeAgentId:"",priority:"medium",concurrencyPolicy:"coalesce_if_active",catchUpPolicy:"skip_missed",variables:[]}),G=n?`paperclip:routines-view:${n}`:"paperclip:routines-view",[u,Fe]=(0,l.useState)(()=>ns(G)),f=bt(g.get("folder"));(0,l.useEffect)(()=>{c([{label:"Routines"}])},[c]),(0,l.useEffect)(()=>{Fe(ns(G))},[G]);const{data:ke,isLoading:ps,error:ae}=A({queryKey:m.routines.list(n),queryFn:t(()=>J.list(n),"queryFn"),enabled:!!n}),{data:h,isLoading:Pe}=A({queryKey:m.folders.list(n,"routine"),queryFn:t(()=>M.list(n,"routine"),"queryFn"),enabled:!!n&&P==="routines"}),{data:C}=A({queryKey:m.agents.list(n),queryFn:t(()=>Zs.list(n),"queryFn"),enabled:!!n}),{data:S}=A({queryKey:m.projects.list(n,{includeArchived:!0}),queryFn:t(()=>et.list(n,{includeArchived:!0}),"queryFn"),enabled:!!n}),{data:Ae}=A({queryKey:m.access.companyUserDirectory(n),queryFn:t(()=>ot.listUserDirectory(n),"queryFn"),enabled:!!n}),{data:le,isLoading:fs,error:gs}=A({queryKey:[...m.issues.list(n),"routine-executions"],queryFn:t(()=>ze.list(n,{originKind:"routine_execution"}),"queryFn"),enabled:!!n&&P==="runs"}),Me=m.liveRuns(n),ce=vt({companyId:n,resourceKey:"live-runs",queryKey:Me,enabled:!!n&&P==="runs",refetchInterval:!1,leaderOnly:!0}),{data:de,dataUpdatedAt:xs}=A({queryKey:Me,queryFn:t(()=>rt.liveRunsForCompany(n),"queryFn"),enabled:ce.enabled,refetchInterval:ce.refetchInterval});Rt(ce,de,xs),(0,l.useEffect)(()=>{ss(j.current)},[p.title,$]);const hs=(0,l.useMemo)(()=>it({agents:C,projects:(S??[]).filter(e=>!e.archivedAt),members:Ae?.users}),[C,Ae?.users,S]),N=_({mutationFn:t(()=>J.create(n,Dt(p)),"mutationFn"),onSuccess:t(async e=>{R({title:"",description:"",projectId:"",folderId:null,assigneeAgentId:"",priority:"medium",concurrencyPolicy:"coalesce_if_active",catchUpPolicy:"skip_missed",variables:[]}),z(!1),oe(!1),await d.invalidateQueries({queryKey:m.routines.list(n)}),i({title:"Routine created",body:e.assigneeAgentId?"Add the first trigger to turn it into a live workflow.":"Draft saved. Add a default agent before enabling automation.",tone:"success"}),b(`/routines/${e.id}?tab=triggers`)},"onSuccess")}),De=_({mutationFn:t(e=>M.create(n,{kind:"routine",...e}),"mutationFn"),onSuccess:t(async e=>{if(K(!1),L(null),await d.invalidateQueries({queryKey:m.folders.list(n,"routine")}),Ie.length>0){const r=Ie;Re([]);try{await Promise.all(r.map(a=>M.moveItem(n,{kind:"routine",itemId:a,folderId:e.id}))),await Promise.all([d.invalidateQueries({queryKey:m.routines.list(n)}),d.invalidateQueries({queryKey:m.folders.list(n,"routine")})])}catch(a){i({title:"Folder created, move failed",body:a instanceof Error?a.message:"Paperclip could not move the selected routines.",tone:"error"});return}}else Y(e.id);i({title:"Folder created",body:e.name,tone:"success"})},"onSuccess"),onError:t(e=>{i({title:"Failed to save folder",body:e instanceof Error?e.message:"Paperclip could not save the folder.",tone:"error"})},"onError")}),ue=_({mutationFn:t(({folderId:e,payload:r})=>M.update(n,e,r),"mutationFn"),onSuccess:t(async()=>{K(!1),L(null),await d.invalidateQueries({queryKey:m.folders.list(n,"routine")})},"onSuccess"),onError:t(e=>{i({title:"Folder save failed",body:e instanceof Error?e.message:"Paperclip could not update the folder.",tone:"error"})},"onError")}),Te=_({mutationFn:t(e=>M.delete(n,e),"mutationFn"),onSuccess:t(async(e,r)=>{f===r&&Y("all"),te(null),await Promise.all([d.invalidateQueries({queryKey:m.routines.list(n)}),d.invalidateQueries({queryKey:m.folders.list(n,"routine")})]),i({title:"Folder deleted",body:"Items moved to Unfiled.",tone:"success"})},"onSuccess"),onError:t(e=>{i({title:"Folder delete failed",body:e instanceof Error?e.message:"Paperclip could not delete the folder.",tone:"error"})},"onError")}),qe=_({mutationFn:t(({itemId:e,folderId:r})=>M.moveItem(n,{kind:"routine",itemId:e,folderId:r}),"mutationFn"),onSuccess:t(async()=>{await Promise.all([d.invalidateQueries({queryKey:m.routines.list(n)}),d.invalidateQueries({queryKey:m.folders.list(n,"routine")})])},"onSuccess"),onError:t(e=>{i({title:"Move failed",body:e instanceof Error?e.message:"Paperclip could not move the routine.",tone:"error"})},"onError")}),js=_({mutationFn:t(({id:e,data:r})=>ze.update(e,r),"mutationFn"),onSuccess:t(async()=>{await d.invalidateQueries({queryKey:[...m.issues.list(n),"routine-executions"]})},"onSuccess")}),Ke=_({mutationFn:t(({id:e,status:r})=>J.update(e,{status:r}),"mutationFn"),onMutate:t(({id:e})=>{Se(e)},"onMutate"),onSuccess:t(async(e,r)=>{await Promise.all([d.invalidateQueries({queryKey:m.routines.list(n)}),d.invalidateQueries({queryKey:m.routines.detail(r.id)})])},"onSuccess"),onSettled:t(()=>{Se(null)},"onSettled"),onError:t(e=>{i({title:"Failed to update routine",body:e instanceof Error?e.message:"Paperclip could not update the routine.",tone:"error"})},"onError")}),Ue=_({mutationFn:t(({id:e,data:r})=>J.run(e,{...r?.variables&&Object.keys(r.variables).length>0?{variables:r.variables}:{},...r?.assigneeAgentId!==void 0?{assigneeAgentId:r.assigneeAgentId}:{},...r?.projectId!==void 0?{projectId:r.projectId}:{},...r?.executionWorkspaceId!==void 0?{executionWorkspaceId:r.executionWorkspaceId}:{},...r?.executionWorkspacePreference!==void 0?{executionWorkspacePreference:r.executionWorkspacePreference}:{},...r?.executionWorkspaceSettings!==void 0?{executionWorkspaceSettings:r.executionWorkspaceSettings}:{}}),"mutationFn"),onMutate:t(({id:e})=>{Ce(e)},"onMutate"),onSuccess:t(async(e,{id:r})=>{ie(null),await Promise.all([d.invalidateQueries({queryKey:m.routines.list(n)}),d.invalidateQueries({queryKey:m.routines.detail(r)})])},"onSuccess"),onSettled:t(()=>{Ce(null)},"onSettled"),onError:t(e=>{i({title:"Routine run failed",body:e instanceof Error?e.message:"Paperclip could not start the routine run.",tone:"error"})},"onError")}),me=(0,l.useMemo)(()=>Gs(),[$]),ys=(0,l.useMemo)(()=>Ws(),[$]),vs=(0,l.useMemo)(()=>Os((C??[]).filter(e=>e.status!=="terminated"),me).map(e=>({id:e.id,label:e.name,searchText:`${e.name} ${e.role} ${e.title??""}`})),[C,me]),bs=(0,l.useMemo)(()=>(S??[]).filter(e=>!e.archivedAt).map(e=>({id:e.id,label:e.name,searchText:e.description??""})),[S]),U=(0,l.useMemo)(()=>new Map((C??[]).map(e=>[e.id,e])),[C]),E=(0,l.useMemo)(()=>new Map((S??[]).map(e=>[e.id,e])),[S]),Ee=(0,l.useMemo)(()=>new Map((h?.folders??[]).map(e=>[e.id,e])),[h]),ws=(0,l.useMemo)(()=>Ls(de,le),[de,le]),y=(0,l.useMemo)(()=>(ke??[]).filter(e=>e.status!=="archived"),[ke]),Oe=(0,l.useMemo)(()=>u.groupBy!=="folder"||f==="all"?y:f==="unfiled"?y.filter(e=>!e.folderId):y.filter(e=>e.folderId===f),[f,u.groupBy,y]),pe=(0,l.useMemo)(()=>{if(!h)return h;const e=new Map;let r=0;for(const a of y)a.folderId?e.set(a.folderId,(e.get(a.folderId)??0)+1):r+=1;return{...h,allCount:y.length,unfiledCount:r,folders:h.folders.map(a=>({...a,itemCount:e.get(a.id)??0}))}},[h,y]),D=(0,l.useMemo)(()=>Kt(Oe,u.sortField,u.sortDir),[Oe,u.sortDir,u.sortField]),Ns=(0,l.useMemo)(()=>qt(D,u.groupBy,E,U,Ee),[U,Ee,E,u.groupBy,D]),Is=(0,l.useMemo)(()=>qs("Recent Runs",os("runs"),"issues"),[]),Le=p.assigneeAgentId?U.get(p.assigneeAgentId)??null:null,Qe=p.projectId?E.get(p.projectId)??null:null,Be=ht(h?.folders??[],f),W=(h?.folders.length??0)>0,fe=P==="routines"&&u.groupBy==="folder"&&W;function ge(e){Fe(r=>{const a={...r,...e};return Mt(G,a),a})}t(ge,"updateRoutineView");function Ve(e){const r=e==="runs"?"runs":"routines";(0,l.startTransition)(()=>{b(os(r))})}t(Ve,"handleTabChange");function Y(e){x(r=>{const a=new URLSearchParams(r),v=Ct(e);return v?a.set("folder",v):a.delete("folder"),a})}t(Y,"setFolderSelection");function T(e=[]){Re(e),L(null),K(!0)}t(T,"openCreateFolder");function $e(){R(e=>({...e,folderId:f==="all"||f==="unfiled"?null:f})),z(!0)}t($e,"openCreateRoutine");async function Rs(e){const r=B;if(r.length!==0)try{await Promise.all(r.map(a=>M.moveItem(n,{kind:"routine",itemId:a,folderId:e}))),V([]),re(!1),await Promise.all([d.invalidateQueries({queryKey:m.routines.list(n)}),d.invalidateQueries({queryKey:m.folders.list(n,"routine")})]),i({title:"Routines moved",body:`${r.length} routine${r.length===1?"":"s"} filed.`,tone:"success"})}catch(a){i({title:"Failed to move routines",body:a instanceof Error?a.message:"Paperclip could not move the selected routines.",tone:"error"})}}t(Rs,"moveSelectedRoutines");function Cs(e){ie(e)}t(Cs,"handleRunNow");function Ss(e,r){if(!r&&!e.assigneeAgentId){i({title:"Default agent required",body:"Set a default agent before enabling routine automation.",tone:"warn"});return}Ke.mutate({id:e.id,status:wt(e.status,!r)})}t(Ss,"handleToggleEnabled");function _s(e){Ke.mutate({id:e.id,status:e.status==="archived"?"active":"archived"})}return t(_s,"handleToggleArchived"),n?ps?(0,s.jsx)(ct,{variant:"issues-list"}):(0,s.jsxs)("div",{className:"space-y-6",children:[(0,s.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-end sm:justify-between",children:[(0,s.jsxs)("div",{className:"space-y-1",children:[(0,s.jsx)("h1",{className:"text-2xl font-semibold tracking-tight",children:"Routines"}),(0,s.jsx)("p",{className:"text-sm text-muted-foreground",children:"Recurring work definitions that materialize into auditable execution tasks."})]}),(0,s.jsxs)(F,{onClick:$e,children:[(0,s.jsx)(Z,{className:"mr-2 h-4 w-4"}),"Create routine"]})]}),(0,s.jsxs)(Xs,{value:P,onValueChange:Ve,children:[(0,s.jsx)(ut,{align:"start",value:P,onValueChange:Ve,items:[{value:"routines",label:"Routines"},{value:"runs",label:"Recent Runs"}]}),(0,s.jsxs)(Je,{value:"routines",className:"space-y-4",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,s.jsxs)("p",{className:"text-sm text-muted-foreground",children:[y.length," routine",y.length===1?"":"s"]}),(0,s.jsxs)("div",{className:"flex items-center gap-1",children:[(0,s.jsxs)(es,{children:[(0,s.jsx)(Ze,{asChild:!0,children:(0,s.jsxs)(F,{variant:"ghost",size:"sm",className:"text-xs",title:"Sort",children:[(0,s.jsx)(Bs,{className:"h-3.5 w-3.5 sm:h-3 sm:w-3 sm:mr-1"}),(0,s.jsx)("span",{className:"hidden sm:inline",children:"Sort"})]})}),(0,s.jsx)(Xe,{align:"end",className:"w-44 p-0",children:(0,s.jsx)("div",{className:"p-2 space-y-0.5",children:[["updated","Updated"],["created","Created"],["lastRun","Last run"],["title","Title"]].map(([e,r])=>(0,s.jsxs)("button",{className:`flex w-full items-center justify-between rounded-sm px-2 py-1.5 text-sm ${u.sortField===e?"bg-accent/50 text-foreground":"text-muted-foreground hover:bg-accent/50"}`,onClick:t(()=>{ge(u.sortField===e?{sortDir:u.sortDir==="asc"?"desc":"asc"}:{sortField:e,sortDir:e==="title"?"asc":"desc"})},"onClick"),children:[(0,s.jsx)("span",{children:r}),u.sortField===e?(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:u.sortDir==="asc"?"Asc":"Desc"}):null]},e))})})]}),(0,s.jsxs)(es,{children:[(0,s.jsx)(Ze,{asChild:!0,children:(0,s.jsxs)(F,{variant:"ghost",size:"sm",className:"text-xs",title:"Group",children:[(0,s.jsx)(Ks,{className:"h-3.5 w-3.5 sm:h-3 sm:w-3 sm:mr-1"}),(0,s.jsx)("span",{className:"hidden sm:inline",children:"Group"})]})}),(0,s.jsx)(Xe,{align:"end",className:"w-44 p-0",children:(0,s.jsx)("div",{className:"p-2 space-y-0.5",children:[["folder","Folder"],["project","Project"],["assignee","Agent"],["none","None"]].map(([e,r])=>(0,s.jsxs)("button",{className:`flex w-full items-center justify-between rounded-sm px-2 py-1.5 text-sm ${u.groupBy===e?"bg-accent/50 text-foreground":"text-muted-foreground hover:bg-accent/50"}`,onClick:t(()=>ge({groupBy:e,collapsedGroups:[]}),"onClick"),children:[(0,s.jsx)("span",{children:r}),u.groupBy===e?(0,s.jsx)(tt,{className:"h-3.5 w-3.5"}):null]},e))})})]}),u.groupBy==="folder"&&!W?(0,s.jsxs)(F,{variant:"outline",size:"sm",onClick:t(()=>T(),"onClick"),children:[(0,s.jsx)(Z,{className:"mr-2 h-3.5 w-3.5"}),"New folder"]}):null,fe?(0,s.jsx)(F,{variant:"ghost",size:"sm",className:"text-xs",onClick:t(()=>re(e=>!e),"onClick"),children:ne?"Done":"Select"}):null]})]}),u.groupBy==="folder"?(0,s.jsx)("div",{className:"md:hidden",children:(0,s.jsx)(xt,{result:pe,selection:f,allLabel:"All routines",onClick:t(()=>Ne(!0),"onClick")})}):null]}),(0,s.jsx)(Je,{value:"runs",children:(0,s.jsx)(Vs,{issues:le??[],isLoading:fs,error:gs,agents:C,projects:S,liveIssueIds:ws,viewStateKey:"paperclip:routine-recent-runs-view",issueLinkState:Is,onUpdateIssue:t((e,r)=>js.mutate({id:e,data:r}),"onUpdateIssue")})})]}),(0,s.jsx)(Js,{open:$,onOpenChange:t(e=>{N.isPending||z(e)},"onOpenChange"),children:(0,s.jsxs)(Hs,{showCloseButton:!1,className:"flex max-h-(--sz-calc-18) max-w-3xl flex-col gap-0 overflow-hidden p-0",children:[(0,s.jsxs)("div",{className:"shrink-0 flex flex-wrap items-center justify-between gap-3 border-b border-border/60 px-5 py-3",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("p",{className:"text-xs font-medium uppercase tracking-(--tracking-caps) text-muted-foreground",children:"New routine"}),(0,s.jsx)("p",{className:"text-sm text-muted-foreground",children:"Define the recurring work first. Default project and agent are optional for draft routines."})]}),(0,s.jsx)(F,{variant:"ghost",size:"sm",onClick:t(()=>{z(!1),oe(!1)},"onClick"),disabled:N.isPending,children:"Cancel"})]}),(0,s.jsxs)("div",{className:"min-h-0 flex-1 overflow-y-auto",children:[(0,s.jsx)("div",{className:"px-5 pt-5 pb-3",children:(0,s.jsx)("textarea",{ref:j,className:"w-full resize-none overflow-hidden bg-transparent text-xl font-semibold outline-none placeholder:text-muted-foreground/50",placeholder:"Routine title",rows:1,value:p.title,onChange:t(e=>{R(r=>({...r,title:e.target.value})),ss(e.target)},"onChange"),onKeyDown:t(e=>{if(e.key==="Enter"&&!e.metaKey&&!e.ctrlKey&&!e.nativeEvent.isComposing){e.preventDefault(),o.current?.focus();return}e.key==="Tab"&&!e.shiftKey&&(e.preventDefault(),p.assigneeAgentId?p.projectId?o.current?.focus():I.current?.focus():w.current?.focus())},"onKeyDown"),autoFocus:!0})}),(0,s.jsx)("div",{className:"px-5 pb-3",children:(0,s.jsx)("div",{className:"overflow-x-auto overscroll-x-contain",children:(0,s.jsxs)("div",{className:"inline-flex min-w-full flex-wrap items-center gap-2 text-sm text-muted-foreground sm:min-w-max sm:flex-nowrap",children:[(0,s.jsx)("span",{children:"For"}),(0,s.jsx)(Ye,{ref:w,value:p.assigneeAgentId,options:vs,recentOptionIds:me,placeholder:"Responsible",noneLabel:"No responsible",searchPlaceholder:"Search responsible...",emptyMessage:"No responsible found.",onChange:t(e=>{e&&zs(e),R(r=>({...r,assigneeAgentId:e}))},"onChange"),onConfirm:t(()=>{p.projectId?o.current?.focus():I.current?.focus()},"onConfirm"),renderTriggerValue:t(e=>e?Le?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(He,{agent:Le,size:16,className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}),(0,s.jsx)("span",{className:"truncate",children:e.label})]}):(0,s.jsx)("span",{className:"truncate",children:e.label}):(0,s.jsx)("span",{className:"text-muted-foreground",children:"Responsible"}),"renderTriggerValue"),renderOption:t(e=>{if(!e.id)return(0,s.jsx)("span",{className:"truncate",children:e.label});const r=U.get(e.id);return(0,s.jsxs)(s.Fragment,{children:[r?(0,s.jsx)(He,{agent:r,size:16,className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}):null,(0,s.jsx)("span",{className:"truncate",children:e.label})]})},"renderOption")}),(0,s.jsx)("span",{children:"in"}),(0,s.jsx)(Ye,{ref:I,value:p.projectId,options:bs,recentOptionIds:ys,placeholder:"Project",noneLabel:"No project",searchPlaceholder:"Search projects...",emptyMessage:"No projects found.",onChange:t(e=>{e&&Qs(e),R(r=>({...r,projectId:e}))},"onChange"),onConfirm:t(()=>o.current?.focus(),"onConfirm"),renderTriggerValue:t(e=>e&&Qe?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("span",{className:"h-3.5 w-3.5 shrink-0 rounded-sm",style:{backgroundColor:Qe.color??"var(--project-none)"}}),(0,s.jsx)("span",{className:"truncate",children:e.label})]}):(0,s.jsx)("span",{className:"text-muted-foreground",children:"Project"}),"renderTriggerValue"),renderOption:t(e=>{if(!e.id)return(0,s.jsx)("span",{className:"truncate",children:e.label});const r=E.get(e.id);return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("span",{className:"h-3.5 w-3.5 shrink-0 rounded-sm",style:{backgroundColor:r?.color??"var(--project-none)"}}),(0,s.jsx)("span",{className:"truncate",children:e.label})]})},"renderOption")}),(0,s.jsx)("span",{children:"filed in"}),(0,s.jsxs)(we,{value:p.folderId??"__unfiled",onValueChange:t(e=>R(r=>({...r,folderId:e==="__unfiled"?null:e})),"onValueChange"),children:[(0,s.jsx)(be,{className:"h-8 w-auto min-w-32 border-0 bg-muted/50 px-2 shadow-none",children:(0,s.jsx)(ye,{})}),(0,s.jsxs)(ve,{children:[(0,s.jsx)(X,{value:"__unfiled",children:"Unfiled"}),(h?.folders??[]).map(e=>(0,s.jsx)(X,{value:e.id,children:e.name},e.id))]})]})]})})}),(0,s.jsx)("div",{className:"border-t border-border/60 px-5 py-4",children:(0,s.jsx)(Ys,{ref:o,value:p.description,onChange:t(e=>R(r=>({...r,description:e})),"onChange"),placeholder:"Add instructions...",bordered:!1,contentClassName:"min-h-(--sz-160px) text-sm text-muted-foreground",mentions:hs,onSubmit:t(()=>{!N.isPending&&p.title.trim()&&p.projectId&&p.assigneeAgentId&&N.mutate()},"onSubmit")})}),(0,s.jsx)("div",{className:"border-t border-border/60 px-5 py-3",children:(0,s.jsxs)(Ge,{open:_e,onOpenChange:oe,children:[(0,s.jsxs)(ls,{className:"flex w-full items-center justify-between text-left",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("p",{className:"text-sm font-medium",children:"Advanced delivery settings"}),(0,s.jsx)("p",{className:"text-sm text-muted-foreground",children:"Keep policy controls secondary to the work definition."})]}),_e?(0,s.jsx)(nt,{className:"h-4 w-4 text-muted-foreground"}):(0,s.jsx)(cs,{className:"h-4 w-4 text-muted-foreground"})]}),(0,s.jsx)(We,{className:"pt-3",children:(0,s.jsxs)("div",{className:"grid gap-4 md:grid-cols-2",children:[(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)("p",{className:"text-xs font-medium uppercase tracking-(--tracking-caps) text-muted-foreground",children:"Concurrency"}),(0,s.jsxs)(we,{value:p.concurrencyPolicy,onValueChange:t(e=>R(r=>({...r,concurrencyPolicy:e})),"onValueChange"),children:[(0,s.jsx)(be,{children:(0,s.jsx)(ye,{})}),(0,s.jsx)(ve,{children:_t.map(e=>(0,s.jsx)(X,{value:e,children:e.replaceAll("_"," ")},e))})]}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground",children:kt[p.concurrencyPolicy]})]}),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)("p",{className:"text-xs font-medium uppercase tracking-(--tracking-caps) text-muted-foreground",children:"Catch-up"}),(0,s.jsxs)(we,{value:p.catchUpPolicy,onValueChange:t(e=>R(r=>({...r,catchUpPolicy:e})),"onValueChange"),children:[(0,s.jsx)(be,{children:(0,s.jsx)(ye,{})}),(0,s.jsx)(ve,{children:Ft.map(e=>(0,s.jsx)(X,{value:e,children:e.replaceAll("_"," ")},e))})]}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground",children:Pt[p.catchUpPolicy]})]})]})})]})})]}),(0,s.jsxs)("div",{className:"shrink-0 flex flex-col gap-3 border-t border-border/60 px-5 py-4 sm:flex-row sm:items-center sm:justify-between",children:[(0,s.jsx)("div",{className:"text-sm text-muted-foreground",children:"After creation, Paperclip takes you straight to trigger setup. Draft routines stay paused until you add a default agent."}),(0,s.jsxs)("div",{className:"flex flex-col gap-2 sm:items-end",children:[(0,s.jsxs)(F,{onClick:t(()=>N.mutate(),"onClick"),disabled:N.isPending||!p.title.trim(),children:[(0,s.jsx)(Z,{className:"mr-2 h-4 w-4"}),N.isPending?"Creating...":"Create routine"]}),N.isError?(0,s.jsx)("p",{className:"text-sm text-destructive",children:N.error instanceof Error?N.error.message:"Failed to create routine"}):null]})]})]})}),ae?(0,s.jsx)(lt,{children:(0,s.jsx)(at,{className:"pt-6 text-sm text-destructive",children:ae instanceof Error?ae.message:"Failed to load routines"})}):null,P==="routines"?(0,s.jsxs)("div",{className:Ds(fe&&"flex gap-4"),children:[fe?(0,s.jsx)(dt,{result:pe,selection:f,allLabel:"All routines",itemLabelPlural:"routines",loading:Pe,onSelect:Y,onCreate:t(()=>T(),"onCreate"),onRename:t((e,r)=>ue.mutate({folderId:e.id,payload:{name:r}}),"onRename"),onEdit:t(e=>{L(e),K(!0)},"onEdit"),onDelete:te}):null,(0,s.jsxs)("div",{className:"min-w-0 flex-1",children:[u.groupBy==="folder"&&W?(0,s.jsx)("div",{className:"mb-3 flex flex-wrap items-center gap-2",children:f==="all"?(0,s.jsx)(Et,{label:"All routines",count:D.length}):(0,s.jsxs)("div",{className:"flex min-w-0 items-center gap-2 text-sm",children:[(0,s.jsx)(jt,{color:Be?.color}),(0,s.jsx)("span",{className:"truncate font-medium",children:f==="unfiled"?"Unfiled":Be?.name??"Folder"}),(0,s.jsxs)("span",{className:"text-muted-foreground",children:[D.length," routine",D.length===1?"":"s"]})]})}):null,u.groupBy==="folder"&&!W&&!Pe&&y.length>0?(0,s.jsx)(mt,{storageKey:`paperclip:routines-folder-nudge:${n??"none"}`,itemLabelPlural:"routines",onCreateFolder:t(()=>T(),"onCreateFolder")}):null,ne?(0,s.jsx)(gt,{selectedCount:B.length,folders:h?.folders??[],onMove:t(e=>{Rs(e)},"onMove"),onCreateAndMove:t(()=>T(B),"onCreateAndMove"),onClear:t(()=>V([]),"onClear"),onDone:t(()=>{re(!1),V([])},"onDone")}):null,y.length===0?(0,s.jsx)("div",{className:"py-12",children:(0,s.jsx)(je,{icon:ee,message:"No active routines. Use Create routine to define the first recurring workflow."})}):D.length===0?(0,s.jsxs)("div",{className:"py-12",children:[(0,s.jsx)(je,{icon:ee,message:f==="all"?"No routines match this view.":"This folder is empty."}),f!=="all"?(0,s.jsx)("div",{className:"mt-3 flex justify-center",children:(0,s.jsxs)(F,{size:"sm",onClick:$e,children:[(0,s.jsx)(Z,{className:"mr-2 h-3.5 w-3.5"}),"New routine in this folder"]})}):null]}):(0,s.jsx)("div",{className:"flex flex-col gap-3",children:Ns.map(e=>{const r=!u.collapsedGroups.includes(e.key);return(0,s.jsxs)(Ge,{open:r,onOpenChange:t(a=>{ge({collapsedGroups:a?u.collapsedGroups.filter(v=>v!==e.key):[...u.collapsedGroups,e.key]})},"onOpenChange"),children:[e.label?(0,s.jsx)(Ut,{label:e.label,count:e.items.length,isOpen:r}):null,(0,s.jsx)(We,{children:e.items.map(a=>(0,s.jsx)(It,{routine:a,projectById:E,agentById:U,runningRoutineId:us,statusMutationRoutineId:ms,href:`/routines/${a.id}`,runNowButton:!0,divider:!1,onRunNow:Cs,onToggleEnabled:Ss,onToggleArchived:_s,selectMode:ne,selected:B.includes(a.id),onSelectChange:t((v,xe)=>{V(H=>xe?Array.from(new Set([...H,v.id])):H.filter(Fs=>Fs!==v.id))},"onSelectChange"),extraMenuItems:(0,s.jsx)(Nt,{folders:h?.folders??[],currentFolderId:a.folderId??null,onMove:t(v=>{const xe=a.folderId??null;qe.mutate({itemId:a.id,folderId:v}),i({title:"Routine moved",body:v?`Moved "${a.title}" to ${h?.folders.find(H=>H.id===v)?.name??"folder"}.`:`Moved "${a.title}" to Unfiled.`,tone:"success",action:{label:"Undo",onClick:t(()=>qe.mutate({itemId:a.id,folderId:xe}),"onClick")}})},"onMove"),onCreateAndMove:t(()=>T([a.id]),"onCreateAndMove")})},a.id))})]},e.key)})})]})]}):null,(0,s.jsx)(pt,{open:O,kind:"routine",folder:se,pending:De.isPending||ue.isPending,onOpenChange:K,onSubmit:t(e=>{se?ue.mutate({folderId:se.id,payload:e}):De.mutate(e)},"onSubmit")}),(0,s.jsx)(ft,{open:Q!==null,folder:Q,itemLabelPlural:"routines",pending:Te.isPending,onOpenChange:t(e=>{e||te(null)},"onOpenChange"),onConfirm:t(()=>{Q&&Te.mutate(Q.id)},"onConfirm")}),(0,s.jsx)(St,{open:ds,onOpenChange:Ne,result:pe,selection:f,allLabel:"All routines",itemLabelPlural:"Routines",onSelect:Y,onCreate:t(()=>T(),"onCreate")}),(0,s.jsx)($s,{open:k!==null,onOpenChange:t(e=>{e||ie(null)},"onOpenChange"),companyId:n,routineName:k?.title??null,agents:C??[],projects:S??[],defaultProjectId:k?.projectId??null,defaultAssigneeAgentId:k?.assigneeAgentId??null,variables:k?.variables??[],isPending:Ue.isPending,onSubmit:t(e=>{k&&Ue.mutate({id:k.id,data:e})},"onSubmit")})]}):(0,s.jsx)(je,{icon:ee,message:"Select a company to view routines."})}t(cn,"Routines");function Et({label:n,count:c}){return(0,s.jsxs)("div",{className:"flex min-w-0 items-center gap-2 text-sm",children:[(0,s.jsx)(ee,{className:"h-3.5 w-3.5 text-muted-foreground"}),(0,s.jsx)("span",{className:"truncate font-medium",children:n}),(0,s.jsxs)("span",{className:"text-muted-foreground",children:[c," routine",c===1?"":"s"]})]})}t(Et,"FolderIconHeader");export{cn as Routines};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var rt=Object.defineProperty;var s=(t,e)=>rt(t,"name",{value:e,configurable:!0});import{i as Re}from"./rolldown-runtime-ZpX3ckPj.js";import{Fr as at,Lr as st,S as _,a as pe,c as me,f as ct,i as Z,l as N,m as A,n as ge,r as re,s as C,t as Pe,u as it}from"./createLucideIcon-r3v6fbGz.js";import{Q as ut}from"./mention-chips-DXumPrOR.js";import{a as dt,i as lt,n as ft,r as je,t as pt}from"./dist-5v80Jc6A.js";import{$ as mt,G as gt,J as ht,K as ye,Q as xt,U as vt,X as bt,Y as Ct,et as Mt,q as Ee,tt as wt}from"./zap-P-cXfK28.js";import{C as he,D as _t,E as It,O as Dt,S as kt,T as St,_ as Rt,b as Pt,g as jt,h as yt,k as Et,v as Tt,w as Ot,y as Nt}from"./MarkdownEditor-Pip4OXiJ.js";import{t as Te}from"./check-DDiXDm2i.js";import{t as At}from"./chevron-right-B9JUOr38.js";import{A as Lt,t as Ft}from"./button-CAPbz11u.js";var i=Re(st(),1),o=Re(at(),1),zt=Object.defineProperty,O=s((t,e)=>zt(t,"name",{value:e,configurable:!0}),"__name$2"),xe="Checkbox",[Gt,No]=me(xe),[$t,ve]=Gt(xe);function Oe(t){const{__scopeCheckbox:e,checked:r,children:n,defaultChecked:a,disabled:c,form:u,name:d,onCheckedChange:f,required:p,value:x="on",internal_do_not_use_render:g}=t,[l,m]=pe({prop:r,defaultProp:a??!1,onChange:f,caller:xe}),[b,M]=i.useState(null),[k,y]=i.useState(null),S=i.useRef(!1),[w,R]=i.useReducer(P=>P+1,0),F=b?!!u||!!b.closest("form"):!0,K={checked:l,disabled:c,setChecked:m,control:b,setControl:M,name:d,form:u,value:x,hasConsumerStoppedPropagationRef:S,userInteractionCount:w,onUserInteraction:R,required:p,defaultChecked:T(a)?!1:a,isFormControl:F,bubbleInput:k,setBubbleInput:y};return(0,o.jsx)($t,{scope:e,...K,children:Ne(g)?g(K):n})}s(Oe,"CheckboxProvider");O(Oe,"CheckboxProvider");var Kt="CheckboxTrigger",Ut=i.forwardRef(O(s(function({__scopeCheckbox:e,onKeyDown:r,onClick:n,...a},c){const{control:u,value:d,disabled:f,checked:p,required:x,setControl:g,setChecked:l,hasConsumerStoppedPropagationRef:m,onUserInteraction:b,isFormControl:M,bubbleInput:k}=ve(Kt,e),y=A(c,g),S=i.useRef(p);return i.useEffect(()=>{const w=u?.form;if(w){const R=O(()=>l(S.current),"reset");return w.addEventListener("reset",R),()=>w.removeEventListener("reset",R)}},[u,l]),(0,o.jsx)(N.button,{type:"button",role:"checkbox","aria-checked":T(p)?"mixed":p,"aria-required":x,"data-state":be(p),"data-disabled":f?"":void 0,disabled:f,value:d,...a,ref:y,onKeyDown:C(r,w=>{w.key==="Enter"&&w.preventDefault()}),onClick:C(n,w=>{b(),l(R=>T(R)?!0:!R),k&&M&&(m.current=w.isPropagationStopped(),m.current||w.stopPropagation())})})},"CheckboxTrigger2"),"CheckboxTrigger")),Bt=i.forwardRef(O(s(function(e,r){const{__scopeCheckbox:n,name:a,checked:c,defaultChecked:u,required:d,disabled:f,value:p,onCheckedChange:x,form:g,...l}=e;return(0,o.jsx)(Oe,{__scopeCheckbox:n,checked:c,defaultChecked:u,disabled:f,required:d,onCheckedChange:x,name:a,form:g,value:p,internal_do_not_use_render:s(({isFormControl:m})=>(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(Ut,{...l,ref:r,__scopeCheckbox:n}),m&&(0,o.jsx)(qt,{__scopeCheckbox:n})]}),"internal_do_not_use_render")})},"Checkbox2"),"Checkbox")),Vt="CheckboxIndicator",Xt=i.forwardRef(O(s(function(e,r){const{__scopeCheckbox:n,forceMount:a,...c}=e,u=ve(Vt,n);return(0,o.jsx)(Z,{present:a||T(u.checked)||u.checked===!0,children:(0,o.jsx)(N.span,{"data-state":be(u.checked),"data-disabled":u.disabled?"":void 0,...c,ref:r,style:{pointerEvents:"none",...e.style}})})},"CheckboxIndicator2"),"CheckboxIndicator")),Yt="CheckboxBubbleInput",qt=i.forwardRef(O(s(function({__scopeCheckbox:e,onClick:r,...n},a){const{control:c,hasConsumerStoppedPropagationRef:u,userInteractionCount:d,checked:f,defaultChecked:p,required:x,disabled:g,name:l,value:m,form:b,bubbleInput:M,setBubbleInput:k}=ve(Yt,e),y=A(a,k),S=ht(c),w=i.useRef(!1),R=i.useRef(f),F=i.useRef(d);i.useEffect(()=>{const P=M;if(!P)return;const U=window.HTMLInputElement.prototype,te=Object.getOwnPropertyDescriptor(U,"checked").set,z=d!==F.current;F.current=d;const B=R.current!==f;R.current=f;const ie=!(z&&u.current);if(B&&te){w.current=!z;const H=new Event("click",{bubbles:ie});P.indeterminate=T(f),te.call(P,T(f)?!1:f),P.dispatchEvent(H),w.current=!1}},[M,f,u,d]);const K=i.useRef(T(f)?!1:f);return(0,o.jsx)(N.input,{type:"checkbox","aria-hidden":!0,defaultChecked:p??K.current,required:x,disabled:g,name:l,value:m,form:b,...n,tabIndex:-1,ref:y,onClick:C(r,P=>{w.current&&P.stopPropagation()}),style:{...n.style,...S,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})},"CheckboxBubbleInput2"),"CheckboxBubbleInput"));function Ne(t){return typeof t=="function"}s(Ne,"isFunction");O(Ne,"isFunction");function T(t){return t==="indeterminate"}s(T,"isIndeterminate$1");O(T,"isIndeterminate");function be(t){return T(t)?"indeterminate":t?"checked":"unchecked"}s(be,"getState");O(be,"getState");var Ht=Object.defineProperty,v=s((t,e)=>Ht(t,"name",{value:e,configurable:!0}),"__name$1"),le=["Enter"," "],Wt=["ArrowDown","PageUp","Home"],Ae=["ArrowUp","PageDown","End"],Qt=[...Wt,...Ae],Jt={ltr:[...le,"ArrowRight"],rtl:[...le,"ArrowLeft"]},Zt={ltr:["ArrowLeft"],rtl:["ArrowRight"]},ae="Menu",[Q,en,tn]=dt(ae),[$,Le]=me(ae,[tn,Ee,je]),se=Ee(),Fe=je(),[ze,L]=$(ae),[nn,ee]=$(ae),on=v(t=>{const{__scopeMenu:e,open:r=!1,children:n,dir:a,onOpenChange:c,modal:u=!0}=t,d=se(e),[f,p]=i.useState(null),x=i.useRef(!1),g=ge(c),l=lt(a);return i.useEffect(()=>{const m=v(()=>{x.current=!0,document.addEventListener("pointerdown",b,{capture:!0,once:!0}),document.addEventListener("pointermove",b,{capture:!0,once:!0})},"handleKeyDown"),b=v(()=>x.current=!1,"handlePointer");return document.addEventListener("keydown",m,{capture:!0}),()=>{document.removeEventListener("keydown",m,{capture:!0}),document.removeEventListener("pointerdown",b,{capture:!0}),document.removeEventListener("pointermove",b,{capture:!0})}},[]),i.useEffect(()=>{if(!r)return;const m=v(()=>g(!1),"handleBlur");return window.addEventListener("blur",m),()=>window.removeEventListener("blur",m)},[r,g]),(0,o.jsx)(ye,{...d,children:(0,o.jsx)(ze,{scope:e,open:r,onOpenChange:g,content:f,onContentChange:p,children:(0,o.jsx)(nn,{scope:e,onClose:i.useCallback(()=>g(!1),[g]),isUsingKeyboardRef:x,dir:l,modal:u,children:n})})})},"Menu"),Ge=i.forwardRef(v(s(function(e,r){const{__scopeMenu:n,...a}=e,c=se(n);return(0,o.jsx)(vt,{...c,...a,ref:r})},"MenuAnchor2"),"MenuAnchor")),$e="MenuPortal",[rn,Ke]=$($e,{forceMount:void 0}),an=v(t=>{const{__scopeMenu:e,forceMount:r,children:n,container:a}=t,c=L($e,e);return(0,o.jsx)(rn,{scope:e,forceMount:r,children:(0,o.jsx)(Z,{present:r||c.open,children:(0,o.jsx)(mt,{asChild:!0,container:a,children:n})})})},"MenuPortal"),j="MenuContent",[sn,Ce]=$(j),cn=i.forwardRef(v(s(function(e,r){const n=Ke(j,e.__scopeMenu),{forceMount:a=n.forceMount,...c}=e,u=L(j,e.__scopeMenu),d=ee(j,e.__scopeMenu);return(0,o.jsx)(Q.Provider,{scope:e.__scopeMenu,children:(0,o.jsx)(Z,{present:a||u.open,children:(0,o.jsx)(Q.Slot,{scope:e.__scopeMenu,children:d.modal?(0,o.jsx)(un,{...c,ref:r}):(0,o.jsx)(dn,{...c,ref:r})})})})},"MenuContent2"),"MenuContent")),un=i.forwardRef(v(s(function(e,r){const n=L(j,e.__scopeMenu),a=i.useRef(null),c=A(r,a);return i.useEffect(()=>{const u=a.current;if(u)return Ct(u)},[]),(0,o.jsx)(Me,{...e,ref:c,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:C(e.onFocusOutside,u=>u.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:s(()=>n.onOpenChange(!1),"onDismiss")})},"MenuRootContentModal2"),"MenuRootContentModal")),dn=i.forwardRef(v(s(function(e,r){const n=L(j,e.__scopeMenu);return(0,o.jsx)(Me,{...e,ref:r,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:s(()=>n.onOpenChange(!1),"onDismiss")})},"MenuRootContentNonModal2"),"MenuRootContentNonModal")),ln=ct("MenuContent.ScrollLock"),Me=i.forwardRef(v(s(function(e,r){const{__scopeMenu:n,loop:a=!1,trapFocus:c,onOpenAutoFocus:u,onCloseAutoFocus:d,disableOutsidePointerEvents:f,onEntryFocus:p,onEscapeKeyDown:x,onPointerDownOutside:g,onFocusOutside:l,onInteractOutside:m,onDismiss:b,disableOutsideScroll:M,...k}=e,y=L(j,n),S=ee(j,n),w=se(n),R=Fe(n),F=en(n),[K,P]=i.useState(null),U=i.useRef(null),te=A(r,U,y.onContentChange),z=i.useRef(0),B=i.useRef(""),ie=i.useRef(0),H=i.useRef(null),De=i.useRef("right"),ue=i.useRef(0),tt=M?bt:i.Fragment,nt=M?{as:ln,allowPinchZoom:!0}:void 0,ot=v(h=>{const X=B.current+h,G=F().filter(E=>!E.disabled),W=document.activeElement,de=G.find(E=>E.ref.current===W)?.textValue,ne=We(G.map(E=>E.textValue),X,de),Y=G.find(E=>E.textValue===ne)?.ref.current;v(s((function E(ke){B.current=ke,window.clearTimeout(z.current),ke!==""&&(z.current=window.setTimeout(()=>E(""),1e3))}),"updateSearch"),"updateSearch")(X),Y&&setTimeout(()=>Y.focus())},"handleTypeaheadSearch");i.useEffect(()=>()=>window.clearTimeout(z.current),[]),xt();const V=i.useCallback(h=>De.current===H.current?.side&&Je(h,H.current?.area),[]);return(0,o.jsx)(sn,{scope:n,searchRef:B,onItemEnter:i.useCallback(h=>{V(h)&&h.preventDefault()},[V]),onItemLeave:i.useCallback(h=>{V(h)||(U.current?.focus(),P(null))},[V]),onTriggerLeave:i.useCallback(h=>{V(h)&&h.preventDefault()},[V]),pointerGraceTimerRef:ie,onPointerGraceIntentChange:i.useCallback(h=>{H.current=h},[]),children:(0,o.jsx)(tt,{...nt,children:(0,o.jsx)(Mt,{asChild:!0,trapped:c,onMountAutoFocus:C(u,h=>{h.preventDefault(),U.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:d,children:(0,o.jsx)(wt,{asChild:!0,disableOutsidePointerEvents:f,onEscapeKeyDown:x,onPointerDownOutside:g,onFocusOutside:l,onInteractOutside:m,onDismiss:b,children:(0,o.jsx)(ft,{asChild:!0,...R,dir:S.dir,orientation:"vertical",loop:a,currentTabStopId:K,onCurrentTabStopIdChange:P,onEntryFocus:C(p,h=>{S.isUsingKeyboardRef.current||h.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,o.jsx)(gt,{role:"menu","aria-orientation":"vertical","data-state":_e(y.open),"data-radix-menu-content":"",dir:S.dir,...w,...k,ref:te,style:{outline:"none",...k.style},onKeyDown:C(k.onKeyDown,h=>{const X=h.target.closest("[data-radix-menu-content]")===h.currentTarget,G=h.ctrlKey||h.altKey||h.metaKey,W=h.key.length===1;X&&(h.key==="Tab"&&h.preventDefault(),!G&&W&&ot(h.key));const de=U.current;if(h.target!==de||!Qt.includes(h.key))return;h.preventDefault();const ne=F().filter(Y=>!Y.disabled).map(Y=>Y.ref.current);Ae.includes(h.key)&&ne.reverse(),qe(ne)}),onBlur:C(e.onBlur,h=>{h.currentTarget.contains(h.target)||(window.clearTimeout(z.current),B.current="")}),onPointerMove:C(e.onPointerMove,q(h=>{const X=h.target,G=ue.current!==h.clientX;if(h.currentTarget.contains(X)&&G){const W=h.clientX>ue.current?"right":"left";De.current=W,ue.current=h.clientX}}))})})})})})})},"MenuContentImpl2"),"MenuContentImpl")),fn=i.forwardRef(v(s(function(e,r){const{__scopeMenu:n,...a}=e;return(0,o.jsx)(N.div,{role:"group",...a,ref:r})},"MenuGroup2"),"MenuGroup")),pn=i.forwardRef(v(s(function(e,r){const{__scopeMenu:n,...a}=e;return(0,o.jsx)(N.div,{...a,ref:r})},"MenuLabel2"),"MenuLabel")),fe="MenuItem",Se="menu.itemSelect",we=i.forwardRef(v(s(function(e,r){const{disabled:n=!1,onSelect:a,...c}=e,u=i.useRef(null),d=ee(fe,e.__scopeMenu),f=Ce(fe,e.__scopeMenu),p=A(r,u),x=i.useRef(!1),g=v(()=>{const l=u.current;if(!n&&l){const m=new CustomEvent(Se,{bubbles:!0,cancelable:!0});l.addEventListener(Se,b=>a?.(b),{once:!0}),it(l,m),m.defaultPrevented?x.current=!1:d.onClose()}},"handleSelect");return(0,o.jsx)(Ue,{...c,ref:p,disabled:n,onClick:C(e.onClick,g),onPointerDown:s(l=>{e.onPointerDown?.(l),x.current=!0},"onPointerDown"),onPointerUp:C(e.onPointerUp,l=>{x.current||l.currentTarget?.click()}),onKeyDown:C(e.onKeyDown,l=>{n||l.target!==l.currentTarget||f.searchRef.current!==""&&l.key===" "||le.includes(l.key)&&(l.currentTarget.click(),l.preventDefault())})})},"MenuItem2"),"MenuItem")),Ue=i.forwardRef(v(s(function(e,r){const{__scopeMenu:n,disabled:a=!1,textValue:c,...u}=e,d=Ce(fe,n),f=Fe(n),p=i.useRef(null),x=A(r,p),[g,l]=i.useState(!1),[m,b]=i.useState("");return i.useEffect(()=>{const M=p.current;M&&b((M.textContent??"").trim())},[u.children]),(0,o.jsx)(Q.ItemSlot,{scope:n,disabled:a,textValue:c??m,children:(0,o.jsx)(pt,{asChild:!0,...f,focusable:!a,children:(0,o.jsx)(N.div,{role:"menuitem","data-highlighted":g?"":void 0,"aria-disabled":a||void 0,"data-disabled":a?"":void 0,...u,ref:x,onPointerMove:C(e.onPointerMove,q(M=>{a?d.onItemLeave(M):(d.onItemEnter(M),M.defaultPrevented||M.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:C(e.onPointerLeave,q(M=>d.onItemLeave(M))),onFocus:C(e.onFocus,()=>l(!0)),onBlur:C(e.onBlur,()=>l(!1))})})})},"MenuItemImpl2"),"MenuItemImpl")),mn=i.forwardRef(v(s(function(e,r){const{checked:n=!1,onCheckedChange:a,...c}=e;return(0,o.jsx)(Ve,{scope:e.__scopeMenu,checked:n,children:(0,o.jsx)(we,{role:"menuitemcheckbox","aria-checked":J(n)?"mixed":n,...c,ref:r,"data-state":ce(n),onSelect:C(c.onSelect,()=>a?.(J(n)?!0:!n),{checkForDefaultPrevented:!1})})})},"MenuCheckboxItem2"),"MenuCheckboxItem")),[gn,hn]=$("MenuRadioGroup",{value:void 0,onValueChange:v(()=>{},"onValueChange")}),xn=i.forwardRef(v(s(function(e,r){const{value:n,onValueChange:a,...c}=e,u=ge(a);return(0,o.jsx)(gn,{scope:e.__scopeMenu,value:n,onValueChange:u,children:(0,o.jsx)(fn,{...c,ref:r})})},"MenuRadioGroup2"),"MenuRadioGroup")),vn="MenuRadioItem",bn=i.forwardRef(v(s(function(e,r){const{value:n,...a}=e,c=hn(vn,e.__scopeMenu),u=n===c.value;return(0,o.jsx)(Ve,{scope:e.__scopeMenu,checked:u,children:(0,o.jsx)(we,{role:"menuitemradio","aria-checked":u,...a,ref:r,"data-state":ce(u),onSelect:C(a.onSelect,()=>c.onValueChange?.(n),{checkForDefaultPrevented:!1})})})},"MenuRadioItem2"),"MenuRadioItem")),Be="MenuItemIndicator",[Ve,Cn]=$(Be,{checked:!1}),Mn=i.forwardRef(v(s(function(e,r){const{__scopeMenu:n,forceMount:a,...c}=e,u=Cn(Be,n);return(0,o.jsx)(Z,{present:a||J(u.checked)||u.checked===!0,children:(0,o.jsx)(N.span,{...c,ref:r,"data-state":ce(u.checked)})})},"MenuItemIndicator2"),"MenuItemIndicator")),wn=i.forwardRef(v(s(function(e,r){const{__scopeMenu:n,...a}=e;return(0,o.jsx)(N.div,{role:"separator","aria-orientation":"horizontal",...a,ref:r})},"MenuSeparator2"),"MenuSeparator")),Xe="MenuSub",[_n,Ye]=$(Xe),In=v(t=>{const{__scopeMenu:e,children:r,open:n=!1,onOpenChange:a}=t,c=L(Xe,e),u=se(e),[d,f]=i.useState(null),[p,x]=i.useState(null),g=ge(a);return i.useEffect(()=>(c.open===!1&&g(!1),()=>g(!1)),[c.open,g]),(0,o.jsx)(ye,{...u,children:(0,o.jsx)(ze,{scope:e,open:n,onOpenChange:g,content:p,onContentChange:x,children:(0,o.jsx)(_n,{scope:e,contentId:re(),triggerId:re(),trigger:d,onTriggerChange:f,children:r})})})},"MenuSub"),oe="MenuSubTrigger",Dn=i.forwardRef(v(s(function(e,r){const n=L(oe,e.__scopeMenu),a=ee(oe,e.__scopeMenu),c=Ye(oe,e.__scopeMenu),u=Ce(oe,e.__scopeMenu),d=i.useRef(null),{pointerGraceTimerRef:f,onPointerGraceIntentChange:p}=u,x={__scopeMenu:e.__scopeMenu},g=i.useCallback(()=>{d.current&&window.clearTimeout(d.current),d.current=null},[]);i.useEffect(()=>g,[g]),i.useEffect(()=>{const m=f.current;return()=>{window.clearTimeout(m),p(null)}},[f,p]);const l=A(r,c.onTriggerChange);return(0,o.jsx)(Ge,{asChild:!0,...x,children:(0,o.jsx)(Ue,{id:c.triggerId,"aria-haspopup":"menu","aria-expanded":n.open,"aria-controls":n.open?c.contentId:void 0,"data-state":_e(n.open),...e,ref:l,onClick:s(m=>{e.onClick?.(m),!(e.disabled||m.defaultPrevented)&&(m.currentTarget.focus(),n.open||n.onOpenChange(!0))},"onClick"),onPointerMove:C(e.onPointerMove,q(m=>{u.onItemEnter(m),!m.defaultPrevented&&!e.disabled&&!n.open&&!d.current&&(u.onPointerGraceIntentChange(null),d.current=window.setTimeout(()=>{n.onOpenChange(!0),g()},100))})),onPointerLeave:C(e.onPointerLeave,q(m=>{g();const b=n.content?.getBoundingClientRect();if(b){const M=n.content?.dataset.side,k=M==="right",y=k?-5:5,S=b[k?"left":"right"],w=b[k?"right":"left"];u.onPointerGraceIntentChange({area:[{x:m.clientX+y,y:m.clientY},{x:S,y:b.top},{x:w,y:b.top},{x:w,y:b.bottom},{x:S,y:b.bottom}],side:M}),window.clearTimeout(f.current),f.current=window.setTimeout(()=>u.onPointerGraceIntentChange(null),300)}else{if(u.onTriggerLeave(m),m.defaultPrevented)return;u.onPointerGraceIntentChange(null)}})),onKeyDown:C(e.onKeyDown,m=>{e.disabled||m.target!==m.currentTarget||u.searchRef.current!==""&&m.key===" "||Jt[a.dir].includes(m.key)&&(n.onOpenChange(!0),n.content?.focus(),m.preventDefault())})})})},"MenuSubTrigger2"),"MenuSubTrigger")),kn="MenuSubContent",Sn=i.forwardRef(v(s(function(e,r){const n=Ke(j,e.__scopeMenu),{forceMount:a=n.forceMount,align:c="start",...u}=e,d=L(j,e.__scopeMenu),f=ee(j,e.__scopeMenu),p=Ye(kn,e.__scopeMenu),x=i.useRef(null),g=A(r,x);return(0,o.jsx)(Q.Provider,{scope:e.__scopeMenu,children:(0,o.jsx)(Z,{present:a||d.open,children:(0,o.jsx)(Q.Slot,{scope:e.__scopeMenu,children:(0,o.jsx)(Me,{id:p.contentId,"aria-labelledby":p.triggerId,...u,ref:g,align:c,side:f.dir==="rtl"?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:s(l=>{f.isUsingKeyboardRef.current&&x.current?.focus(),l.preventDefault()},"onOpenAutoFocus"),onCloseAutoFocus:s(l=>l.preventDefault(),"onCloseAutoFocus"),onFocusOutside:C(e.onFocusOutside,l=>{l.target!==p.trigger&&d.onOpenChange(!1)}),onEscapeKeyDown:C(e.onEscapeKeyDown,l=>{f.onClose(),l.preventDefault()}),onKeyDown:C(e.onKeyDown,l=>{const m=l.currentTarget.contains(l.target),b=Zt[f.dir].includes(l.key);m&&b&&(d.onOpenChange(!1),p.trigger?.focus(),l.preventDefault())})})})})})},"MenuSubContent2"),"MenuSubContent"));function _e(t){return t?"open":"closed"}s(_e,"getOpenState");v(_e,"getOpenState");function J(t){return t==="indeterminate"}s(J,"isIndeterminate");v(J,"isIndeterminate");function ce(t){return J(t)?"indeterminate":t?"checked":"unchecked"}s(ce,"getCheckedState");v(ce,"getCheckedState");function qe(t){const e=document.activeElement;for(const r of t)if(r===e||(r.focus(),document.activeElement!==e))return}s(qe,"focusFirst");v(qe,"focusFirst");function He(t,e){return t.map((r,n)=>t[(e+n)%t.length])}s(He,"wrapArray");v(He,"wrapArray");function We(t,e,r){const n=e.length>1&&Array.from(e).every(d=>d===e[0])?e[0]:e,a=r?t.indexOf(r):-1;let c=He(t,Math.max(a,0));n.length===1&&(c=c.filter(d=>d!==r));const u=c.find(d=>d.toLowerCase().startsWith(n.toLowerCase()));return u!==r?u:void 0}s(We,"getNextMatch");v(We,"getNextMatch");function Qe(t,e){const{x:r,y:n}=t;let a=!1;for(let c=0,u=e.length-1;c<e.length;u=c++){const d=e[c],f=e[u],p=d.x,x=d.y,g=f.x,l=f.y;x>n!=l>n&&r<(g-p)*(n-x)/(l-x)+p&&(a=!a)}return a}s(Qe,"isPointInPolygon");v(Qe,"isPointInPolygon");function Je(t,e){return e?Qe({x:t.clientX,y:t.clientY},e):!1}s(Je,"isPointerInGraceArea");v(Je,"isPointerInGraceArea");function q(t){return e=>e.pointerType==="mouse"?t(e):void 0}s(q,"whenMouse");v(q,"whenMouse");var Rn=on,Pn=Ge,jn=an,yn=cn,En=pn,Tn=we,On=mn,Nn=xn,An=bn,Ln=Mn,Fn=wn,zn=In,Gn=Dn,$n=Sn,Kn=Object.defineProperty,I=s((t,e)=>Kn(t,"name",{value:e,configurable:!0}),"__name"),Ie="DropdownMenu",[Un,Ao]=me(Ie,[Le]),D=Le(),[Bn,Ze]=Un(Ie),Vn=I(t=>{const{__scopeDropdownMenu:e,children:r,dir:n,open:a,defaultOpen:c,onOpenChange:u,modal:d=!0}=t,f=D(e),p=i.useRef(null),[x,g]=pe({prop:a,defaultProp:c??!1,onChange:u,caller:Ie});return(0,o.jsx)(Bn,{scope:e,triggerId:re(),triggerRef:p,contentId:re(),open:x,onOpenChange:g,onOpenToggle:i.useCallback(()=>g(l=>!l),[g]),modal:d,children:(0,o.jsx)(Rn,{...f,open:x,onOpenChange:g,dir:n,modal:d,children:r})})},"DropdownMenu"),Xn="DropdownMenuTrigger",Yn=i.forwardRef(I(s(function(e,r){const{__scopeDropdownMenu:n,disabled:a=!1,...c}=e,u=Ze(Xn,n),d=D(n),f=A(r,u.triggerRef);return(0,o.jsx)(Pn,{asChild:!0,...d,children:(0,o.jsx)(N.button,{type:"button",id:u.triggerId,"aria-haspopup":"menu","aria-expanded":u.open,"aria-controls":u.open?u.contentId:void 0,"data-state":u.open?"open":"closed","data-disabled":a?"":void 0,disabled:a,...c,ref:f,onPointerDown:C(e.onPointerDown,p=>{!a&&p.button===0&&p.ctrlKey===!1&&(u.onOpenToggle(),u.open||p.preventDefault())}),onKeyDown:C(e.onKeyDown,p=>{a||(["Enter"," "].includes(p.key)&&u.onOpenToggle(),p.key==="ArrowDown"&&u.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(p.key)&&p.preventDefault())})})})},"DropdownMenuTrigger2"),"DropdownMenuTrigger")),qn=I(t=>{const{__scopeDropdownMenu:e,...r}=t,n=D(e);return(0,o.jsx)(jn,{...n,...r})},"DropdownMenuPortal"),Hn="DropdownMenuContent",Wn=i.forwardRef(I(s(function(e,r){const{__scopeDropdownMenu:n,...a}=e,c=Ze(Hn,n),u=D(n),d=i.useRef(!1);return(0,o.jsx)(yn,{id:c.contentId,"aria-labelledby":c.triggerId,...u,...a,ref:r,onCloseAutoFocus:C(e.onCloseAutoFocus,f=>{d.current||c.triggerRef.current?.focus(),d.current=!1,f.preventDefault()}),onInteractOutside:C(e.onInteractOutside,f=>{const p=f.detail.originalEvent,x=p.button===0&&p.ctrlKey===!0,g=p.button===2||x;(!c.modal||g)&&(d.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})},"DropdownMenuContent2"),"DropdownMenuContent")),Qn=i.forwardRef(I(s(function(e,r){const{__scopeDropdownMenu:n,...a}=e,c=D(n);return(0,o.jsx)(En,{...c,...a,ref:r})},"DropdownMenuLabel2"),"DropdownMenuLabel")),Jn=i.forwardRef(I(s(function(e,r){const{__scopeDropdownMenu:n,...a}=e,c=D(n);return(0,o.jsx)(Tn,{...c,...a,ref:r})},"DropdownMenuItem2"),"DropdownMenuItem")),Zn=i.forwardRef(I(s(function(e,r){const{__scopeDropdownMenu:n,...a}=e,c=D(n);return(0,o.jsx)(On,{...c,...a,ref:r})},"DropdownMenuCheckboxItem2"),"DropdownMenuCheckboxItem")),eo=i.forwardRef(I(s(function(e,r){const{__scopeDropdownMenu:n,...a}=e,c=D(n);return(0,o.jsx)(Nn,{...c,...a,ref:r})},"DropdownMenuRadioGroup2"),"DropdownMenuRadioGroup")),to=i.forwardRef(I(s(function(e,r){const{__scopeDropdownMenu:n,...a}=e,c=D(n);return(0,o.jsx)(An,{...c,...a,ref:r})},"DropdownMenuRadioItem2"),"DropdownMenuRadioItem")),no=i.forwardRef(I(s(function(e,r){const{__scopeDropdownMenu:n,...a}=e,c=D(n);return(0,o.jsx)(Ln,{...c,...a,ref:r})},"DropdownMenuItemIndicator2"),"DropdownMenuItemIndicator")),oo=i.forwardRef(I(s(function(e,r){const{__scopeDropdownMenu:n,...a}=e,c=D(n);return(0,o.jsx)(Fn,{...c,...a,ref:r})},"DropdownMenuSeparator2"),"DropdownMenuSeparator")),ro=I(t=>{const{__scopeDropdownMenu:e,children:r,open:n,onOpenChange:a,defaultOpen:c}=t,u=D(e),[d,f]=pe({prop:n,defaultProp:c??!1,onChange:a,caller:"DropdownMenuSub"});return(0,o.jsx)(zn,{...u,open:d,onOpenChange:f,children:r})},"DropdownMenuSub"),ao=i.forwardRef(I(s(function(e,r){const{__scopeDropdownMenu:n,...a}=e,c=D(n);return(0,o.jsx)(Gn,{...c,...a,ref:r})},"DropdownMenuSubTrigger2"),"DropdownMenuSubTrigger")),so=i.forwardRef(I(s(function(e,r){const{__scopeDropdownMenu:n,...a}=e,c=D(n);return(0,o.jsx)($n,{...c,...a,ref:r,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})},"DropdownMenuSubContent2"),"DropdownMenuSubContent")),co=Vn,io=Yn,uo=qn,lo=Wn,fo=Qn,po=Jn,mo=Zn,go=eo,ho=to,et=no,xo=oo,vo=ro,bo=ao,Co=so,Mo=[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]],Lo=Pe("ellipsis",Mo),wo=[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],Fo=Pe("trash-2",wo);function zo({...t}){return(0,o.jsx)(co,{"data-slot":"dropdown-menu",...t})}s(zo,"DropdownMenu");function Go({...t}){return(0,o.jsx)(io,{"data-slot":"dropdown-menu-trigger",...t})}s(Go,"DropdownMenuTrigger");function $o({className:t,sideOffset:e=4,...r}){return(0,o.jsx)(uo,{children:(0,o.jsx)(lo,{"data-slot":"dropdown-menu-content",sideOffset:e,className:_("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-(--sz-8rem) origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md",t),...r})})}s($o,"DropdownMenuContent");function Ko({className:t,inset:e,variant:r="default",...n}){return(0,o.jsx)(po,{"data-slot":"dropdown-menu-item","data-inset":e,"data-variant":r,className:_("focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",t),...n})}s(Ko,"DropdownMenuItem");function Uo({className:t,children:e,checked:r,...n}){return(0,o.jsxs)(mo,{"data-slot":"dropdown-menu-checkbox-item",className:_("focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",t),checked:r,...n,children:[(0,o.jsx)("span",{className:"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center",children:(0,o.jsx)(et,{children:(0,o.jsx)(Te,{className:"size-4"})})}),e]})}s(Uo,"DropdownMenuCheckboxItem");function Bo({...t}){return(0,o.jsx)(go,{"data-slot":"dropdown-menu-radio-group",...t})}s(Bo,"DropdownMenuRadioGroup");function Vo({className:t,children:e,...r}){return(0,o.jsxs)(ho,{"data-slot":"dropdown-menu-radio-item",className:_("focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",t),...r,children:[(0,o.jsx)("span",{className:"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center",children:(0,o.jsx)(et,{children:(0,o.jsx)(Lt,{className:"size-2 fill-current"})})}),e]})}s(Vo,"DropdownMenuRadioItem");function Xo({className:t,inset:e,...r}){return(0,o.jsx)(fo,{"data-slot":"dropdown-menu-label","data-inset":e,className:_("px-2 py-1.5 text-sm font-medium data-[inset]:pl-8",t),...r})}s(Xo,"DropdownMenuLabel");function Yo({className:t,...e}){return(0,o.jsx)(xo,{"data-slot":"dropdown-menu-separator",className:_("bg-border -mx-1 my-1 h-px",t),...e})}s(Yo,"DropdownMenuSeparator");function qo({className:t,...e}){return(0,o.jsx)("span",{"data-slot":"dropdown-menu-shortcut",className:_("text-muted-foreground ml-auto text-xs tracking-widest",t),...e})}s(qo,"DropdownMenuShortcut");function Ho({...t}){return(0,o.jsx)(vo,{"data-slot":"dropdown-menu-sub",...t})}s(Ho,"DropdownMenuSub");function Wo({className:t,inset:e,children:r,...n}){return(0,o.jsxs)(bo,{"data-slot":"dropdown-menu-sub-trigger","data-inset":e,className:_("focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",t),...n,children:[r,(0,o.jsx)(At,{className:"ml-auto size-4"})]})}s(Wo,"DropdownMenuSubTrigger");function Qo({className:t,...e}){return(0,o.jsx)(Co,{"data-slot":"dropdown-menu-sub-content",className:_("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-(--sz-8rem) origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg",t),...e})}s(Qo,"DropdownMenuSubContent");function Jo({delayDuration:t=0,...e}){return(0,o.jsx)(Tt,{"data-slot":"tooltip-provider",delayDuration:t,...e})}s(Jo,"TooltipProvider");function Zo({...t}){return(0,o.jsx)(Nt,{"data-slot":"tooltip",...t})}s(Zo,"Tooltip");function er({...t}){return(0,o.jsx)(Pt,{"data-slot":"tooltip-trigger",...t})}s(er,"TooltipTrigger");function tr({className:t,sideOffset:e=0,children:r,...n}){return(0,o.jsx)(Rt,{children:(0,o.jsxs)(jt,{"data-slot":"tooltip-content",sideOffset:e,className:_("bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance",t),...n,children:[r,(0,o.jsx)(yt,{className:"bg-foreground fill-foreground z-50 size-2.5 translate-y-(--sz-calc-28) rotate-45 rounded-(--rad-2)"})]})})}s(tr,"TooltipContent");function nr({...t}){return(0,o.jsx)(kt,{"data-slot":"dialog",...t})}s(nr,"Dialog");function or({...t}){return(0,o.jsx)(Et,{"data-slot":"dialog-trigger",...t})}s(or,"DialogTrigger");function _o({...t}){return(0,o.jsx)(_t,{"data-slot":"dialog-portal",...t})}s(_o,"DialogPortal");function rr({...t}){return(0,o.jsx)(he,{"data-slot":"dialog-close",...t})}s(rr,"DialogClose");function Io({className:t,...e}){return(0,o.jsx)(It,{"data-slot":"dialog-overlay",className:_("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50 duration-100 motion-reduce:animate-none motion-reduce:transition-none",t),...e})}s(Io,"DialogOverlay");function ar({className:t,children:e,showCloseButton:r=!0,...n}){return(0,o.jsxs)(_o,{"data-slot":"dialog-portal",children:[(0,o.jsx)(Io,{}),(0,o.jsxs)(Ot,{"data-slot":"dialog-content",className:_("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-[0.97] data-[state=open]:zoom-in-[0.97] data-[state=closed]:slide-out-to-top-[1%] data-[state=open]:slide-in-from-top-[1%] fixed top-(--sz-calc-26) md:top-(--pct-50) left-(--pct-50) z-50 grid w-full max-w-(--sz-calc-25) translate-x-(--pct-neg-50) translate-y-0 md:translate-y-(--pct-neg-50) gap-4 rounded-lg border p-6 shadow-lg duration-150 ease-(--e-cubic-bezier-0_16-1-0_3-1) outline-none sm:max-w-lg [&>*]:min-w-0 motion-reduce:animate-none motion-reduce:transition-none",t),...n,children:[e,r&&(0,o.jsxs)(he,{"data-slot":"dialog-close",className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[(0,o.jsx)(ut,{}),(0,o.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})}s(ar,"DialogContent");function sr({className:t,...e}){return(0,o.jsx)("div",{"data-slot":"dialog-header",className:_("flex flex-col gap-2 text-center sm:text-left",t),...e})}s(sr,"DialogHeader");function cr({className:t,showCloseButton:e=!1,children:r,...n}){return(0,o.jsxs)("div",{"data-slot":"dialog-footer",className:_("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",t),...n,children:[r,e&&(0,o.jsx)(he,{asChild:!0,children:(0,o.jsx)(Ft,{variant:"outline",children:"Close"})})]})}s(cr,"DialogFooter");function ir({className:t,...e}){return(0,o.jsx)(Dt,{"data-slot":"dialog-title",className:_("text-lg leading-none font-semibold",t),...e})}s(ir,"DialogTitle");function ur({className:t,...e}){return(0,o.jsx)(St,{"data-slot":"dialog-description",className:_("text-muted-foreground text-sm",t),...e})}s(ur,"DialogDescription");function dr({className:t,...e}){return(0,o.jsx)("textarea",{"data-slot":"textarea",className:_("border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 min-w-0 w-full max-w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-(--tp-color-box-shadow) outline-none focus-visible:ring-(length:--rad-3) disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",t),...e})}s(dr,"Textarea");function lr({className:t,...e}){return(0,o.jsx)(Bt,{"data-slot":"checkbox",className:_("peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-(--rad-4) border shadow-xs transition-shadow outline-none focus-visible:ring-(length:--rad-3) disabled:cursor-not-allowed disabled:opacity-50",t),...e,children:(0,o.jsx)(Xt,{"data-slot":"checkbox-indicator",className:"grid place-content-center text-current transition-none",children:(0,o.jsx)(Te,{className:"size-3.5"})})})}s(lr,"Checkbox");export{Lo as A,Yo as C,Wo as D,Qo as E,Go as O,Vo as S,Ho as T,Uo as _,ar as a,Xo as b,sr as c,or as d,Zo as f,zo as g,er as h,rr as i,Fo as k,_o as l,Jo as m,dr as n,ur as o,tr as p,nr as r,cr as s,lr as t,ir as u,$o as v,qo as w,Bo as x,Ko as y};
|
|
1
|
+
var rt=Object.defineProperty;var s=(t,e)=>rt(t,"name",{value:e,configurable:!0});import{i as Re}from"./rolldown-runtime-ZpX3ckPj.js";import{Fr as at,Lr as st,S as _,a as pe,c as me,f as ct,i as Z,l as N,m as A,n as ge,r as re,s as C,t as Pe,u as it}from"./createLucideIcon-r3v6fbGz.js";import{Q as ut}from"./mention-chips-DXumPrOR.js";import{a as dt,i as lt,n as ft,r as je,t as pt}from"./dist-5v80Jc6A.js";import{$ as mt,G as gt,J as ht,K as ye,Q as xt,U as vt,X as bt,Y as Ct,et as Mt,q as Ee,tt as wt}from"./zap-P-cXfK28.js";import{C as he,D as _t,E as It,O as Dt,S as kt,T as St,_ as Rt,b as Pt,g as jt,h as yt,k as Et,v as Tt,w as Ot,y as Nt}from"./MarkdownEditor-DfrwLv1M.js";import{t as Te}from"./check-DDiXDm2i.js";import{t as At}from"./chevron-right-B9JUOr38.js";import{A as Lt,t as Ft}from"./button-CAPbz11u.js";var i=Re(st(),1),o=Re(at(),1),zt=Object.defineProperty,O=s((t,e)=>zt(t,"name",{value:e,configurable:!0}),"__name$2"),xe="Checkbox",[Gt,No]=me(xe),[$t,ve]=Gt(xe);function Oe(t){const{__scopeCheckbox:e,checked:r,children:n,defaultChecked:a,disabled:c,form:u,name:d,onCheckedChange:f,required:p,value:x="on",internal_do_not_use_render:g}=t,[l,m]=pe({prop:r,defaultProp:a??!1,onChange:f,caller:xe}),[b,M]=i.useState(null),[k,y]=i.useState(null),S=i.useRef(!1),[w,R]=i.useReducer(P=>P+1,0),F=b?!!u||!!b.closest("form"):!0,K={checked:l,disabled:c,setChecked:m,control:b,setControl:M,name:d,form:u,value:x,hasConsumerStoppedPropagationRef:S,userInteractionCount:w,onUserInteraction:R,required:p,defaultChecked:T(a)?!1:a,isFormControl:F,bubbleInput:k,setBubbleInput:y};return(0,o.jsx)($t,{scope:e,...K,children:Ne(g)?g(K):n})}s(Oe,"CheckboxProvider");O(Oe,"CheckboxProvider");var Kt="CheckboxTrigger",Ut=i.forwardRef(O(s(function({__scopeCheckbox:e,onKeyDown:r,onClick:n,...a},c){const{control:u,value:d,disabled:f,checked:p,required:x,setControl:g,setChecked:l,hasConsumerStoppedPropagationRef:m,onUserInteraction:b,isFormControl:M,bubbleInput:k}=ve(Kt,e),y=A(c,g),S=i.useRef(p);return i.useEffect(()=>{const w=u?.form;if(w){const R=O(()=>l(S.current),"reset");return w.addEventListener("reset",R),()=>w.removeEventListener("reset",R)}},[u,l]),(0,o.jsx)(N.button,{type:"button",role:"checkbox","aria-checked":T(p)?"mixed":p,"aria-required":x,"data-state":be(p),"data-disabled":f?"":void 0,disabled:f,value:d,...a,ref:y,onKeyDown:C(r,w=>{w.key==="Enter"&&w.preventDefault()}),onClick:C(n,w=>{b(),l(R=>T(R)?!0:!R),k&&M&&(m.current=w.isPropagationStopped(),m.current||w.stopPropagation())})})},"CheckboxTrigger2"),"CheckboxTrigger")),Bt=i.forwardRef(O(s(function(e,r){const{__scopeCheckbox:n,name:a,checked:c,defaultChecked:u,required:d,disabled:f,value:p,onCheckedChange:x,form:g,...l}=e;return(0,o.jsx)(Oe,{__scopeCheckbox:n,checked:c,defaultChecked:u,disabled:f,required:d,onCheckedChange:x,name:a,form:g,value:p,internal_do_not_use_render:s(({isFormControl:m})=>(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(Ut,{...l,ref:r,__scopeCheckbox:n}),m&&(0,o.jsx)(qt,{__scopeCheckbox:n})]}),"internal_do_not_use_render")})},"Checkbox2"),"Checkbox")),Vt="CheckboxIndicator",Xt=i.forwardRef(O(s(function(e,r){const{__scopeCheckbox:n,forceMount:a,...c}=e,u=ve(Vt,n);return(0,o.jsx)(Z,{present:a||T(u.checked)||u.checked===!0,children:(0,o.jsx)(N.span,{"data-state":be(u.checked),"data-disabled":u.disabled?"":void 0,...c,ref:r,style:{pointerEvents:"none",...e.style}})})},"CheckboxIndicator2"),"CheckboxIndicator")),Yt="CheckboxBubbleInput",qt=i.forwardRef(O(s(function({__scopeCheckbox:e,onClick:r,...n},a){const{control:c,hasConsumerStoppedPropagationRef:u,userInteractionCount:d,checked:f,defaultChecked:p,required:x,disabled:g,name:l,value:m,form:b,bubbleInput:M,setBubbleInput:k}=ve(Yt,e),y=A(a,k),S=ht(c),w=i.useRef(!1),R=i.useRef(f),F=i.useRef(d);i.useEffect(()=>{const P=M;if(!P)return;const U=window.HTMLInputElement.prototype,te=Object.getOwnPropertyDescriptor(U,"checked").set,z=d!==F.current;F.current=d;const B=R.current!==f;R.current=f;const ie=!(z&&u.current);if(B&&te){w.current=!z;const H=new Event("click",{bubbles:ie});P.indeterminate=T(f),te.call(P,T(f)?!1:f),P.dispatchEvent(H),w.current=!1}},[M,f,u,d]);const K=i.useRef(T(f)?!1:f);return(0,o.jsx)(N.input,{type:"checkbox","aria-hidden":!0,defaultChecked:p??K.current,required:x,disabled:g,name:l,value:m,form:b,...n,tabIndex:-1,ref:y,onClick:C(r,P=>{w.current&&P.stopPropagation()}),style:{...n.style,...S,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})},"CheckboxBubbleInput2"),"CheckboxBubbleInput"));function Ne(t){return typeof t=="function"}s(Ne,"isFunction");O(Ne,"isFunction");function T(t){return t==="indeterminate"}s(T,"isIndeterminate$1");O(T,"isIndeterminate");function be(t){return T(t)?"indeterminate":t?"checked":"unchecked"}s(be,"getState");O(be,"getState");var Ht=Object.defineProperty,v=s((t,e)=>Ht(t,"name",{value:e,configurable:!0}),"__name$1"),le=["Enter"," "],Wt=["ArrowDown","PageUp","Home"],Ae=["ArrowUp","PageDown","End"],Qt=[...Wt,...Ae],Jt={ltr:[...le,"ArrowRight"],rtl:[...le,"ArrowLeft"]},Zt={ltr:["ArrowLeft"],rtl:["ArrowRight"]},ae="Menu",[Q,en,tn]=dt(ae),[$,Le]=me(ae,[tn,Ee,je]),se=Ee(),Fe=je(),[ze,L]=$(ae),[nn,ee]=$(ae),on=v(t=>{const{__scopeMenu:e,open:r=!1,children:n,dir:a,onOpenChange:c,modal:u=!0}=t,d=se(e),[f,p]=i.useState(null),x=i.useRef(!1),g=ge(c),l=lt(a);return i.useEffect(()=>{const m=v(()=>{x.current=!0,document.addEventListener("pointerdown",b,{capture:!0,once:!0}),document.addEventListener("pointermove",b,{capture:!0,once:!0})},"handleKeyDown"),b=v(()=>x.current=!1,"handlePointer");return document.addEventListener("keydown",m,{capture:!0}),()=>{document.removeEventListener("keydown",m,{capture:!0}),document.removeEventListener("pointerdown",b,{capture:!0}),document.removeEventListener("pointermove",b,{capture:!0})}},[]),i.useEffect(()=>{if(!r)return;const m=v(()=>g(!1),"handleBlur");return window.addEventListener("blur",m),()=>window.removeEventListener("blur",m)},[r,g]),(0,o.jsx)(ye,{...d,children:(0,o.jsx)(ze,{scope:e,open:r,onOpenChange:g,content:f,onContentChange:p,children:(0,o.jsx)(nn,{scope:e,onClose:i.useCallback(()=>g(!1),[g]),isUsingKeyboardRef:x,dir:l,modal:u,children:n})})})},"Menu"),Ge=i.forwardRef(v(s(function(e,r){const{__scopeMenu:n,...a}=e,c=se(n);return(0,o.jsx)(vt,{...c,...a,ref:r})},"MenuAnchor2"),"MenuAnchor")),$e="MenuPortal",[rn,Ke]=$($e,{forceMount:void 0}),an=v(t=>{const{__scopeMenu:e,forceMount:r,children:n,container:a}=t,c=L($e,e);return(0,o.jsx)(rn,{scope:e,forceMount:r,children:(0,o.jsx)(Z,{present:r||c.open,children:(0,o.jsx)(mt,{asChild:!0,container:a,children:n})})})},"MenuPortal"),j="MenuContent",[sn,Ce]=$(j),cn=i.forwardRef(v(s(function(e,r){const n=Ke(j,e.__scopeMenu),{forceMount:a=n.forceMount,...c}=e,u=L(j,e.__scopeMenu),d=ee(j,e.__scopeMenu);return(0,o.jsx)(Q.Provider,{scope:e.__scopeMenu,children:(0,o.jsx)(Z,{present:a||u.open,children:(0,o.jsx)(Q.Slot,{scope:e.__scopeMenu,children:d.modal?(0,o.jsx)(un,{...c,ref:r}):(0,o.jsx)(dn,{...c,ref:r})})})})},"MenuContent2"),"MenuContent")),un=i.forwardRef(v(s(function(e,r){const n=L(j,e.__scopeMenu),a=i.useRef(null),c=A(r,a);return i.useEffect(()=>{const u=a.current;if(u)return Ct(u)},[]),(0,o.jsx)(Me,{...e,ref:c,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:C(e.onFocusOutside,u=>u.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:s(()=>n.onOpenChange(!1),"onDismiss")})},"MenuRootContentModal2"),"MenuRootContentModal")),dn=i.forwardRef(v(s(function(e,r){const n=L(j,e.__scopeMenu);return(0,o.jsx)(Me,{...e,ref:r,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:s(()=>n.onOpenChange(!1),"onDismiss")})},"MenuRootContentNonModal2"),"MenuRootContentNonModal")),ln=ct("MenuContent.ScrollLock"),Me=i.forwardRef(v(s(function(e,r){const{__scopeMenu:n,loop:a=!1,trapFocus:c,onOpenAutoFocus:u,onCloseAutoFocus:d,disableOutsidePointerEvents:f,onEntryFocus:p,onEscapeKeyDown:x,onPointerDownOutside:g,onFocusOutside:l,onInteractOutside:m,onDismiss:b,disableOutsideScroll:M,...k}=e,y=L(j,n),S=ee(j,n),w=se(n),R=Fe(n),F=en(n),[K,P]=i.useState(null),U=i.useRef(null),te=A(r,U,y.onContentChange),z=i.useRef(0),B=i.useRef(""),ie=i.useRef(0),H=i.useRef(null),De=i.useRef("right"),ue=i.useRef(0),tt=M?bt:i.Fragment,nt=M?{as:ln,allowPinchZoom:!0}:void 0,ot=v(h=>{const X=B.current+h,G=F().filter(E=>!E.disabled),W=document.activeElement,de=G.find(E=>E.ref.current===W)?.textValue,ne=We(G.map(E=>E.textValue),X,de),Y=G.find(E=>E.textValue===ne)?.ref.current;v(s((function E(ke){B.current=ke,window.clearTimeout(z.current),ke!==""&&(z.current=window.setTimeout(()=>E(""),1e3))}),"updateSearch"),"updateSearch")(X),Y&&setTimeout(()=>Y.focus())},"handleTypeaheadSearch");i.useEffect(()=>()=>window.clearTimeout(z.current),[]),xt();const V=i.useCallback(h=>De.current===H.current?.side&&Je(h,H.current?.area),[]);return(0,o.jsx)(sn,{scope:n,searchRef:B,onItemEnter:i.useCallback(h=>{V(h)&&h.preventDefault()},[V]),onItemLeave:i.useCallback(h=>{V(h)||(U.current?.focus(),P(null))},[V]),onTriggerLeave:i.useCallback(h=>{V(h)&&h.preventDefault()},[V]),pointerGraceTimerRef:ie,onPointerGraceIntentChange:i.useCallback(h=>{H.current=h},[]),children:(0,o.jsx)(tt,{...nt,children:(0,o.jsx)(Mt,{asChild:!0,trapped:c,onMountAutoFocus:C(u,h=>{h.preventDefault(),U.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:d,children:(0,o.jsx)(wt,{asChild:!0,disableOutsidePointerEvents:f,onEscapeKeyDown:x,onPointerDownOutside:g,onFocusOutside:l,onInteractOutside:m,onDismiss:b,children:(0,o.jsx)(ft,{asChild:!0,...R,dir:S.dir,orientation:"vertical",loop:a,currentTabStopId:K,onCurrentTabStopIdChange:P,onEntryFocus:C(p,h=>{S.isUsingKeyboardRef.current||h.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,o.jsx)(gt,{role:"menu","aria-orientation":"vertical","data-state":_e(y.open),"data-radix-menu-content":"",dir:S.dir,...w,...k,ref:te,style:{outline:"none",...k.style},onKeyDown:C(k.onKeyDown,h=>{const X=h.target.closest("[data-radix-menu-content]")===h.currentTarget,G=h.ctrlKey||h.altKey||h.metaKey,W=h.key.length===1;X&&(h.key==="Tab"&&h.preventDefault(),!G&&W&&ot(h.key));const de=U.current;if(h.target!==de||!Qt.includes(h.key))return;h.preventDefault();const ne=F().filter(Y=>!Y.disabled).map(Y=>Y.ref.current);Ae.includes(h.key)&&ne.reverse(),qe(ne)}),onBlur:C(e.onBlur,h=>{h.currentTarget.contains(h.target)||(window.clearTimeout(z.current),B.current="")}),onPointerMove:C(e.onPointerMove,q(h=>{const X=h.target,G=ue.current!==h.clientX;if(h.currentTarget.contains(X)&&G){const W=h.clientX>ue.current?"right":"left";De.current=W,ue.current=h.clientX}}))})})})})})})},"MenuContentImpl2"),"MenuContentImpl")),fn=i.forwardRef(v(s(function(e,r){const{__scopeMenu:n,...a}=e;return(0,o.jsx)(N.div,{role:"group",...a,ref:r})},"MenuGroup2"),"MenuGroup")),pn=i.forwardRef(v(s(function(e,r){const{__scopeMenu:n,...a}=e;return(0,o.jsx)(N.div,{...a,ref:r})},"MenuLabel2"),"MenuLabel")),fe="MenuItem",Se="menu.itemSelect",we=i.forwardRef(v(s(function(e,r){const{disabled:n=!1,onSelect:a,...c}=e,u=i.useRef(null),d=ee(fe,e.__scopeMenu),f=Ce(fe,e.__scopeMenu),p=A(r,u),x=i.useRef(!1),g=v(()=>{const l=u.current;if(!n&&l){const m=new CustomEvent(Se,{bubbles:!0,cancelable:!0});l.addEventListener(Se,b=>a?.(b),{once:!0}),it(l,m),m.defaultPrevented?x.current=!1:d.onClose()}},"handleSelect");return(0,o.jsx)(Ue,{...c,ref:p,disabled:n,onClick:C(e.onClick,g),onPointerDown:s(l=>{e.onPointerDown?.(l),x.current=!0},"onPointerDown"),onPointerUp:C(e.onPointerUp,l=>{x.current||l.currentTarget?.click()}),onKeyDown:C(e.onKeyDown,l=>{n||l.target!==l.currentTarget||f.searchRef.current!==""&&l.key===" "||le.includes(l.key)&&(l.currentTarget.click(),l.preventDefault())})})},"MenuItem2"),"MenuItem")),Ue=i.forwardRef(v(s(function(e,r){const{__scopeMenu:n,disabled:a=!1,textValue:c,...u}=e,d=Ce(fe,n),f=Fe(n),p=i.useRef(null),x=A(r,p),[g,l]=i.useState(!1),[m,b]=i.useState("");return i.useEffect(()=>{const M=p.current;M&&b((M.textContent??"").trim())},[u.children]),(0,o.jsx)(Q.ItemSlot,{scope:n,disabled:a,textValue:c??m,children:(0,o.jsx)(pt,{asChild:!0,...f,focusable:!a,children:(0,o.jsx)(N.div,{role:"menuitem","data-highlighted":g?"":void 0,"aria-disabled":a||void 0,"data-disabled":a?"":void 0,...u,ref:x,onPointerMove:C(e.onPointerMove,q(M=>{a?d.onItemLeave(M):(d.onItemEnter(M),M.defaultPrevented||M.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:C(e.onPointerLeave,q(M=>d.onItemLeave(M))),onFocus:C(e.onFocus,()=>l(!0)),onBlur:C(e.onBlur,()=>l(!1))})})})},"MenuItemImpl2"),"MenuItemImpl")),mn=i.forwardRef(v(s(function(e,r){const{checked:n=!1,onCheckedChange:a,...c}=e;return(0,o.jsx)(Ve,{scope:e.__scopeMenu,checked:n,children:(0,o.jsx)(we,{role:"menuitemcheckbox","aria-checked":J(n)?"mixed":n,...c,ref:r,"data-state":ce(n),onSelect:C(c.onSelect,()=>a?.(J(n)?!0:!n),{checkForDefaultPrevented:!1})})})},"MenuCheckboxItem2"),"MenuCheckboxItem")),[gn,hn]=$("MenuRadioGroup",{value:void 0,onValueChange:v(()=>{},"onValueChange")}),xn=i.forwardRef(v(s(function(e,r){const{value:n,onValueChange:a,...c}=e,u=ge(a);return(0,o.jsx)(gn,{scope:e.__scopeMenu,value:n,onValueChange:u,children:(0,o.jsx)(fn,{...c,ref:r})})},"MenuRadioGroup2"),"MenuRadioGroup")),vn="MenuRadioItem",bn=i.forwardRef(v(s(function(e,r){const{value:n,...a}=e,c=hn(vn,e.__scopeMenu),u=n===c.value;return(0,o.jsx)(Ve,{scope:e.__scopeMenu,checked:u,children:(0,o.jsx)(we,{role:"menuitemradio","aria-checked":u,...a,ref:r,"data-state":ce(u),onSelect:C(a.onSelect,()=>c.onValueChange?.(n),{checkForDefaultPrevented:!1})})})},"MenuRadioItem2"),"MenuRadioItem")),Be="MenuItemIndicator",[Ve,Cn]=$(Be,{checked:!1}),Mn=i.forwardRef(v(s(function(e,r){const{__scopeMenu:n,forceMount:a,...c}=e,u=Cn(Be,n);return(0,o.jsx)(Z,{present:a||J(u.checked)||u.checked===!0,children:(0,o.jsx)(N.span,{...c,ref:r,"data-state":ce(u.checked)})})},"MenuItemIndicator2"),"MenuItemIndicator")),wn=i.forwardRef(v(s(function(e,r){const{__scopeMenu:n,...a}=e;return(0,o.jsx)(N.div,{role:"separator","aria-orientation":"horizontal",...a,ref:r})},"MenuSeparator2"),"MenuSeparator")),Xe="MenuSub",[_n,Ye]=$(Xe),In=v(t=>{const{__scopeMenu:e,children:r,open:n=!1,onOpenChange:a}=t,c=L(Xe,e),u=se(e),[d,f]=i.useState(null),[p,x]=i.useState(null),g=ge(a);return i.useEffect(()=>(c.open===!1&&g(!1),()=>g(!1)),[c.open,g]),(0,o.jsx)(ye,{...u,children:(0,o.jsx)(ze,{scope:e,open:n,onOpenChange:g,content:p,onContentChange:x,children:(0,o.jsx)(_n,{scope:e,contentId:re(),triggerId:re(),trigger:d,onTriggerChange:f,children:r})})})},"MenuSub"),oe="MenuSubTrigger",Dn=i.forwardRef(v(s(function(e,r){const n=L(oe,e.__scopeMenu),a=ee(oe,e.__scopeMenu),c=Ye(oe,e.__scopeMenu),u=Ce(oe,e.__scopeMenu),d=i.useRef(null),{pointerGraceTimerRef:f,onPointerGraceIntentChange:p}=u,x={__scopeMenu:e.__scopeMenu},g=i.useCallback(()=>{d.current&&window.clearTimeout(d.current),d.current=null},[]);i.useEffect(()=>g,[g]),i.useEffect(()=>{const m=f.current;return()=>{window.clearTimeout(m),p(null)}},[f,p]);const l=A(r,c.onTriggerChange);return(0,o.jsx)(Ge,{asChild:!0,...x,children:(0,o.jsx)(Ue,{id:c.triggerId,"aria-haspopup":"menu","aria-expanded":n.open,"aria-controls":n.open?c.contentId:void 0,"data-state":_e(n.open),...e,ref:l,onClick:s(m=>{e.onClick?.(m),!(e.disabled||m.defaultPrevented)&&(m.currentTarget.focus(),n.open||n.onOpenChange(!0))},"onClick"),onPointerMove:C(e.onPointerMove,q(m=>{u.onItemEnter(m),!m.defaultPrevented&&!e.disabled&&!n.open&&!d.current&&(u.onPointerGraceIntentChange(null),d.current=window.setTimeout(()=>{n.onOpenChange(!0),g()},100))})),onPointerLeave:C(e.onPointerLeave,q(m=>{g();const b=n.content?.getBoundingClientRect();if(b){const M=n.content?.dataset.side,k=M==="right",y=k?-5:5,S=b[k?"left":"right"],w=b[k?"right":"left"];u.onPointerGraceIntentChange({area:[{x:m.clientX+y,y:m.clientY},{x:S,y:b.top},{x:w,y:b.top},{x:w,y:b.bottom},{x:S,y:b.bottom}],side:M}),window.clearTimeout(f.current),f.current=window.setTimeout(()=>u.onPointerGraceIntentChange(null),300)}else{if(u.onTriggerLeave(m),m.defaultPrevented)return;u.onPointerGraceIntentChange(null)}})),onKeyDown:C(e.onKeyDown,m=>{e.disabled||m.target!==m.currentTarget||u.searchRef.current!==""&&m.key===" "||Jt[a.dir].includes(m.key)&&(n.onOpenChange(!0),n.content?.focus(),m.preventDefault())})})})},"MenuSubTrigger2"),"MenuSubTrigger")),kn="MenuSubContent",Sn=i.forwardRef(v(s(function(e,r){const n=Ke(j,e.__scopeMenu),{forceMount:a=n.forceMount,align:c="start",...u}=e,d=L(j,e.__scopeMenu),f=ee(j,e.__scopeMenu),p=Ye(kn,e.__scopeMenu),x=i.useRef(null),g=A(r,x);return(0,o.jsx)(Q.Provider,{scope:e.__scopeMenu,children:(0,o.jsx)(Z,{present:a||d.open,children:(0,o.jsx)(Q.Slot,{scope:e.__scopeMenu,children:(0,o.jsx)(Me,{id:p.contentId,"aria-labelledby":p.triggerId,...u,ref:g,align:c,side:f.dir==="rtl"?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:s(l=>{f.isUsingKeyboardRef.current&&x.current?.focus(),l.preventDefault()},"onOpenAutoFocus"),onCloseAutoFocus:s(l=>l.preventDefault(),"onCloseAutoFocus"),onFocusOutside:C(e.onFocusOutside,l=>{l.target!==p.trigger&&d.onOpenChange(!1)}),onEscapeKeyDown:C(e.onEscapeKeyDown,l=>{f.onClose(),l.preventDefault()}),onKeyDown:C(e.onKeyDown,l=>{const m=l.currentTarget.contains(l.target),b=Zt[f.dir].includes(l.key);m&&b&&(d.onOpenChange(!1),p.trigger?.focus(),l.preventDefault())})})})})})},"MenuSubContent2"),"MenuSubContent"));function _e(t){return t?"open":"closed"}s(_e,"getOpenState");v(_e,"getOpenState");function J(t){return t==="indeterminate"}s(J,"isIndeterminate");v(J,"isIndeterminate");function ce(t){return J(t)?"indeterminate":t?"checked":"unchecked"}s(ce,"getCheckedState");v(ce,"getCheckedState");function qe(t){const e=document.activeElement;for(const r of t)if(r===e||(r.focus(),document.activeElement!==e))return}s(qe,"focusFirst");v(qe,"focusFirst");function He(t,e){return t.map((r,n)=>t[(e+n)%t.length])}s(He,"wrapArray");v(He,"wrapArray");function We(t,e,r){const n=e.length>1&&Array.from(e).every(d=>d===e[0])?e[0]:e,a=r?t.indexOf(r):-1;let c=He(t,Math.max(a,0));n.length===1&&(c=c.filter(d=>d!==r));const u=c.find(d=>d.toLowerCase().startsWith(n.toLowerCase()));return u!==r?u:void 0}s(We,"getNextMatch");v(We,"getNextMatch");function Qe(t,e){const{x:r,y:n}=t;let a=!1;for(let c=0,u=e.length-1;c<e.length;u=c++){const d=e[c],f=e[u],p=d.x,x=d.y,g=f.x,l=f.y;x>n!=l>n&&r<(g-p)*(n-x)/(l-x)+p&&(a=!a)}return a}s(Qe,"isPointInPolygon");v(Qe,"isPointInPolygon");function Je(t,e){return e?Qe({x:t.clientX,y:t.clientY},e):!1}s(Je,"isPointerInGraceArea");v(Je,"isPointerInGraceArea");function q(t){return e=>e.pointerType==="mouse"?t(e):void 0}s(q,"whenMouse");v(q,"whenMouse");var Rn=on,Pn=Ge,jn=an,yn=cn,En=pn,Tn=we,On=mn,Nn=xn,An=bn,Ln=Mn,Fn=wn,zn=In,Gn=Dn,$n=Sn,Kn=Object.defineProperty,I=s((t,e)=>Kn(t,"name",{value:e,configurable:!0}),"__name"),Ie="DropdownMenu",[Un,Ao]=me(Ie,[Le]),D=Le(),[Bn,Ze]=Un(Ie),Vn=I(t=>{const{__scopeDropdownMenu:e,children:r,dir:n,open:a,defaultOpen:c,onOpenChange:u,modal:d=!0}=t,f=D(e),p=i.useRef(null),[x,g]=pe({prop:a,defaultProp:c??!1,onChange:u,caller:Ie});return(0,o.jsx)(Bn,{scope:e,triggerId:re(),triggerRef:p,contentId:re(),open:x,onOpenChange:g,onOpenToggle:i.useCallback(()=>g(l=>!l),[g]),modal:d,children:(0,o.jsx)(Rn,{...f,open:x,onOpenChange:g,dir:n,modal:d,children:r})})},"DropdownMenu"),Xn="DropdownMenuTrigger",Yn=i.forwardRef(I(s(function(e,r){const{__scopeDropdownMenu:n,disabled:a=!1,...c}=e,u=Ze(Xn,n),d=D(n),f=A(r,u.triggerRef);return(0,o.jsx)(Pn,{asChild:!0,...d,children:(0,o.jsx)(N.button,{type:"button",id:u.triggerId,"aria-haspopup":"menu","aria-expanded":u.open,"aria-controls":u.open?u.contentId:void 0,"data-state":u.open?"open":"closed","data-disabled":a?"":void 0,disabled:a,...c,ref:f,onPointerDown:C(e.onPointerDown,p=>{!a&&p.button===0&&p.ctrlKey===!1&&(u.onOpenToggle(),u.open||p.preventDefault())}),onKeyDown:C(e.onKeyDown,p=>{a||(["Enter"," "].includes(p.key)&&u.onOpenToggle(),p.key==="ArrowDown"&&u.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(p.key)&&p.preventDefault())})})})},"DropdownMenuTrigger2"),"DropdownMenuTrigger")),qn=I(t=>{const{__scopeDropdownMenu:e,...r}=t,n=D(e);return(0,o.jsx)(jn,{...n,...r})},"DropdownMenuPortal"),Hn="DropdownMenuContent",Wn=i.forwardRef(I(s(function(e,r){const{__scopeDropdownMenu:n,...a}=e,c=Ze(Hn,n),u=D(n),d=i.useRef(!1);return(0,o.jsx)(yn,{id:c.contentId,"aria-labelledby":c.triggerId,...u,...a,ref:r,onCloseAutoFocus:C(e.onCloseAutoFocus,f=>{d.current||c.triggerRef.current?.focus(),d.current=!1,f.preventDefault()}),onInteractOutside:C(e.onInteractOutside,f=>{const p=f.detail.originalEvent,x=p.button===0&&p.ctrlKey===!0,g=p.button===2||x;(!c.modal||g)&&(d.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})},"DropdownMenuContent2"),"DropdownMenuContent")),Qn=i.forwardRef(I(s(function(e,r){const{__scopeDropdownMenu:n,...a}=e,c=D(n);return(0,o.jsx)(En,{...c,...a,ref:r})},"DropdownMenuLabel2"),"DropdownMenuLabel")),Jn=i.forwardRef(I(s(function(e,r){const{__scopeDropdownMenu:n,...a}=e,c=D(n);return(0,o.jsx)(Tn,{...c,...a,ref:r})},"DropdownMenuItem2"),"DropdownMenuItem")),Zn=i.forwardRef(I(s(function(e,r){const{__scopeDropdownMenu:n,...a}=e,c=D(n);return(0,o.jsx)(On,{...c,...a,ref:r})},"DropdownMenuCheckboxItem2"),"DropdownMenuCheckboxItem")),eo=i.forwardRef(I(s(function(e,r){const{__scopeDropdownMenu:n,...a}=e,c=D(n);return(0,o.jsx)(Nn,{...c,...a,ref:r})},"DropdownMenuRadioGroup2"),"DropdownMenuRadioGroup")),to=i.forwardRef(I(s(function(e,r){const{__scopeDropdownMenu:n,...a}=e,c=D(n);return(0,o.jsx)(An,{...c,...a,ref:r})},"DropdownMenuRadioItem2"),"DropdownMenuRadioItem")),no=i.forwardRef(I(s(function(e,r){const{__scopeDropdownMenu:n,...a}=e,c=D(n);return(0,o.jsx)(Ln,{...c,...a,ref:r})},"DropdownMenuItemIndicator2"),"DropdownMenuItemIndicator")),oo=i.forwardRef(I(s(function(e,r){const{__scopeDropdownMenu:n,...a}=e,c=D(n);return(0,o.jsx)(Fn,{...c,...a,ref:r})},"DropdownMenuSeparator2"),"DropdownMenuSeparator")),ro=I(t=>{const{__scopeDropdownMenu:e,children:r,open:n,onOpenChange:a,defaultOpen:c}=t,u=D(e),[d,f]=pe({prop:n,defaultProp:c??!1,onChange:a,caller:"DropdownMenuSub"});return(0,o.jsx)(zn,{...u,open:d,onOpenChange:f,children:r})},"DropdownMenuSub"),ao=i.forwardRef(I(s(function(e,r){const{__scopeDropdownMenu:n,...a}=e,c=D(n);return(0,o.jsx)(Gn,{...c,...a,ref:r})},"DropdownMenuSubTrigger2"),"DropdownMenuSubTrigger")),so=i.forwardRef(I(s(function(e,r){const{__scopeDropdownMenu:n,...a}=e,c=D(n);return(0,o.jsx)($n,{...c,...a,ref:r,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})},"DropdownMenuSubContent2"),"DropdownMenuSubContent")),co=Vn,io=Yn,uo=qn,lo=Wn,fo=Qn,po=Jn,mo=Zn,go=eo,ho=to,et=no,xo=oo,vo=ro,bo=ao,Co=so,Mo=[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]],Lo=Pe("ellipsis",Mo),wo=[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],Fo=Pe("trash-2",wo);function zo({...t}){return(0,o.jsx)(co,{"data-slot":"dropdown-menu",...t})}s(zo,"DropdownMenu");function Go({...t}){return(0,o.jsx)(io,{"data-slot":"dropdown-menu-trigger",...t})}s(Go,"DropdownMenuTrigger");function $o({className:t,sideOffset:e=4,...r}){return(0,o.jsx)(uo,{children:(0,o.jsx)(lo,{"data-slot":"dropdown-menu-content",sideOffset:e,className:_("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-(--sz-8rem) origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md",t),...r})})}s($o,"DropdownMenuContent");function Ko({className:t,inset:e,variant:r="default",...n}){return(0,o.jsx)(po,{"data-slot":"dropdown-menu-item","data-inset":e,"data-variant":r,className:_("focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",t),...n})}s(Ko,"DropdownMenuItem");function Uo({className:t,children:e,checked:r,...n}){return(0,o.jsxs)(mo,{"data-slot":"dropdown-menu-checkbox-item",className:_("focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",t),checked:r,...n,children:[(0,o.jsx)("span",{className:"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center",children:(0,o.jsx)(et,{children:(0,o.jsx)(Te,{className:"size-4"})})}),e]})}s(Uo,"DropdownMenuCheckboxItem");function Bo({...t}){return(0,o.jsx)(go,{"data-slot":"dropdown-menu-radio-group",...t})}s(Bo,"DropdownMenuRadioGroup");function Vo({className:t,children:e,...r}){return(0,o.jsxs)(ho,{"data-slot":"dropdown-menu-radio-item",className:_("focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",t),...r,children:[(0,o.jsx)("span",{className:"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center",children:(0,o.jsx)(et,{children:(0,o.jsx)(Lt,{className:"size-2 fill-current"})})}),e]})}s(Vo,"DropdownMenuRadioItem");function Xo({className:t,inset:e,...r}){return(0,o.jsx)(fo,{"data-slot":"dropdown-menu-label","data-inset":e,className:_("px-2 py-1.5 text-sm font-medium data-[inset]:pl-8",t),...r})}s(Xo,"DropdownMenuLabel");function Yo({className:t,...e}){return(0,o.jsx)(xo,{"data-slot":"dropdown-menu-separator",className:_("bg-border -mx-1 my-1 h-px",t),...e})}s(Yo,"DropdownMenuSeparator");function qo({className:t,...e}){return(0,o.jsx)("span",{"data-slot":"dropdown-menu-shortcut",className:_("text-muted-foreground ml-auto text-xs tracking-widest",t),...e})}s(qo,"DropdownMenuShortcut");function Ho({...t}){return(0,o.jsx)(vo,{"data-slot":"dropdown-menu-sub",...t})}s(Ho,"DropdownMenuSub");function Wo({className:t,inset:e,children:r,...n}){return(0,o.jsxs)(bo,{"data-slot":"dropdown-menu-sub-trigger","data-inset":e,className:_("focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",t),...n,children:[r,(0,o.jsx)(At,{className:"ml-auto size-4"})]})}s(Wo,"DropdownMenuSubTrigger");function Qo({className:t,...e}){return(0,o.jsx)(Co,{"data-slot":"dropdown-menu-sub-content",className:_("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-(--sz-8rem) origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg",t),...e})}s(Qo,"DropdownMenuSubContent");function Jo({delayDuration:t=0,...e}){return(0,o.jsx)(Tt,{"data-slot":"tooltip-provider",delayDuration:t,...e})}s(Jo,"TooltipProvider");function Zo({...t}){return(0,o.jsx)(Nt,{"data-slot":"tooltip",...t})}s(Zo,"Tooltip");function er({...t}){return(0,o.jsx)(Pt,{"data-slot":"tooltip-trigger",...t})}s(er,"TooltipTrigger");function tr({className:t,sideOffset:e=0,children:r,...n}){return(0,o.jsx)(Rt,{children:(0,o.jsxs)(jt,{"data-slot":"tooltip-content",sideOffset:e,className:_("bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance",t),...n,children:[r,(0,o.jsx)(yt,{className:"bg-foreground fill-foreground z-50 size-2.5 translate-y-(--sz-calc-28) rotate-45 rounded-(--rad-2)"})]})})}s(tr,"TooltipContent");function nr({...t}){return(0,o.jsx)(kt,{"data-slot":"dialog",...t})}s(nr,"Dialog");function or({...t}){return(0,o.jsx)(Et,{"data-slot":"dialog-trigger",...t})}s(or,"DialogTrigger");function _o({...t}){return(0,o.jsx)(_t,{"data-slot":"dialog-portal",...t})}s(_o,"DialogPortal");function rr({...t}){return(0,o.jsx)(he,{"data-slot":"dialog-close",...t})}s(rr,"DialogClose");function Io({className:t,...e}){return(0,o.jsx)(It,{"data-slot":"dialog-overlay",className:_("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50 duration-100 motion-reduce:animate-none motion-reduce:transition-none",t),...e})}s(Io,"DialogOverlay");function ar({className:t,children:e,showCloseButton:r=!0,...n}){return(0,o.jsxs)(_o,{"data-slot":"dialog-portal",children:[(0,o.jsx)(Io,{}),(0,o.jsxs)(Ot,{"data-slot":"dialog-content",className:_("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-[0.97] data-[state=open]:zoom-in-[0.97] data-[state=closed]:slide-out-to-top-[1%] data-[state=open]:slide-in-from-top-[1%] fixed top-(--sz-calc-26) md:top-(--pct-50) left-(--pct-50) z-50 grid w-full max-w-(--sz-calc-25) translate-x-(--pct-neg-50) translate-y-0 md:translate-y-(--pct-neg-50) gap-4 rounded-lg border p-6 shadow-lg duration-150 ease-(--e-cubic-bezier-0_16-1-0_3-1) outline-none sm:max-w-lg [&>*]:min-w-0 motion-reduce:animate-none motion-reduce:transition-none",t),...n,children:[e,r&&(0,o.jsxs)(he,{"data-slot":"dialog-close",className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[(0,o.jsx)(ut,{}),(0,o.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})}s(ar,"DialogContent");function sr({className:t,...e}){return(0,o.jsx)("div",{"data-slot":"dialog-header",className:_("flex flex-col gap-2 text-center sm:text-left",t),...e})}s(sr,"DialogHeader");function cr({className:t,showCloseButton:e=!1,children:r,...n}){return(0,o.jsxs)("div",{"data-slot":"dialog-footer",className:_("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",t),...n,children:[r,e&&(0,o.jsx)(he,{asChild:!0,children:(0,o.jsx)(Ft,{variant:"outline",children:"Close"})})]})}s(cr,"DialogFooter");function ir({className:t,...e}){return(0,o.jsx)(Dt,{"data-slot":"dialog-title",className:_("text-lg leading-none font-semibold",t),...e})}s(ir,"DialogTitle");function ur({className:t,...e}){return(0,o.jsx)(St,{"data-slot":"dialog-description",className:_("text-muted-foreground text-sm",t),...e})}s(ur,"DialogDescription");function dr({className:t,...e}){return(0,o.jsx)("textarea",{"data-slot":"textarea",className:_("border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 min-w-0 w-full max-w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-(--tp-color-box-shadow) outline-none focus-visible:ring-(length:--rad-3) disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",t),...e})}s(dr,"Textarea");function lr({className:t,...e}){return(0,o.jsx)(Bt,{"data-slot":"checkbox",className:_("peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-(--rad-4) border shadow-xs transition-shadow outline-none focus-visible:ring-(length:--rad-3) disabled:cursor-not-allowed disabled:opacity-50",t),...e,children:(0,o.jsx)(Xt,{"data-slot":"checkbox-indicator",className:"grid place-content-center text-current transition-none",children:(0,o.jsx)(Te,{className:"size-3.5"})})})}s(lr,"Checkbox");export{Lo as A,Yo as C,Wo as D,Qo as E,Go as O,Vo as S,Ho as T,Uo as _,ar as a,Xo as b,sr as c,or as d,Zo as f,zo as g,er as h,rr as i,Fo as k,_o as l,Jo as m,dr as n,ur as o,tr as p,nr as r,cr as s,lr as t,ir as u,$o as v,qo as w,Bo as x,Ko as y};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var c=Object.defineProperty;var n=(e,o)=>c(e,"name",{value:o,configurable:!0});import{zt as p}from"./index-
|
|
1
|
+
var c=Object.defineProperty;var n=(e,o)=>c(e,"name",{value:o,configurable:!0});import{zt as p}from"./index-Dgrf6BZM.js";import{PAPERCLIP_CHARACTER as a}from"./character-CguPM7IG.js";import{o as l,r as f}from"./model-DL5biheO.js";function b(e,o=!1){const r=p[o?"muted-dream":e.paletteId],i={...a.character,id:"paperclip-cap-v1",name:"Agent",color:r.a,color2:r.b,followCursor:!0,followRotation:!0},s=f({version:1,name:"Paperclip",characters:[i],expressions:a.expressions,animations:a.animations},i);for(const t of s.animations)t.id==="happy"&&(t.loop=!1);return s}n(b,"characterDefinition");function d(e){return e==="success"?"happy":e==="rest"?"idle":e}n(d,"animationId");function C(e,o){if(o==="rest"){const r=e.expressions.find(i=>i.id==="idle")??e.expressions[0];return{pose:{...r.beats[0].pose},blink:0,bob:0,breathe:0,expressionId:r.id,beatIndex:0,stepIndex:0,faceLayers:void 0}}return l(e,d(o),.6)}n(C,"characterStill");export{d as animationId,b as characterDefinition,C as characterStill};
|