@lovelybunch/api 1.0.75 → 1.0.76-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. package/dist/lib/storage/file-storage.d.ts +1 -0
  2. package/dist/lib/storage/file-storage.js +9 -1
  3. package/dist/routes/api/v1/mail/route.d.ts +3 -3
  4. package/dist/routes/api/v1/slack/route.d.ts +6 -6
  5. package/dist/routes/api/v1/tasks/[id]/route.d.ts +2 -2
  6. package/dist/routes/api/v1/tasks/[id]/steps/[stepId]/route.d.ts +60 -0
  7. package/dist/routes/api/v1/tasks/[id]/steps/[stepId]/route.js +81 -0
  8. package/dist/routes/api/v1/tasks/index.js +2 -0
  9. package/dist/routes/api/v1/tasks/route.d.ts +2 -2
  10. package/package.json +4 -4
  11. package/static/assets/{ActivityPage-k4I7Q53O.js → ActivityPage-DxajSxG1.js} +1 -1
  12. package/static/assets/{ApiKeysSettingsPage-B1YvVdmg.js → ApiKeysSettingsPage-DiBqSUMz.js} +1 -1
  13. package/static/assets/{ArchitectureEditPage-CpowsIx2.js → ArchitectureEditPage-iflIJaCh.js} +1 -1
  14. package/static/assets/{ArchitecturePage-DYxC_aMR.js → ArchitecturePage-oB3FtdZ7.js} +1 -1
  15. package/static/assets/{AuthSettingsPage-DtSo78Y_.js → AuthSettingsPage-BY7x-6wd.js} +1 -1
  16. package/static/assets/{CallbackPage-bROCGapx.js → CallbackPage-CYcV3OHa.js} +1 -1
  17. package/static/assets/{CodePage-CPCj64rX.js → CodePage-DxJYFhiT.js} +1 -1
  18. package/static/assets/{CollapsibleSection-M5cXbl92.js → CollapsibleSection-BLZv27JC.js} +1 -1
  19. package/static/assets/{DashboardPage-B9BZZfw6.js → DashboardPage-BdsK2Vor.js} +1 -1
  20. package/static/assets/{GitPage-BiDtdSK1.js → GitPage-CKIIMGjF.js} +1 -1
  21. package/static/assets/{GitSettingsPage-THm6wDjs.js → GitSettingsPage-sI4uzGzt.js} +1 -1
  22. package/static/assets/{IdentityPage-BC16skg6.js → IdentityPage-vzzaKU2-.js} +1 -1
  23. package/static/assets/ImplementationStepsEditor-BMHTxNEX.js +6 -0
  24. package/static/assets/{IntegrationsSettingsPage-CC_VKIQa.js → IntegrationsSettingsPage-BzuUrHO1.js} +1 -1
  25. package/static/assets/{JobDetailPage-z1QQYvmU.js → JobDetailPage-C-IKmhAF.js} +1 -1
  26. package/static/assets/{KnowledgeDetailPage-DzHXBS7Q.js → KnowledgeDetailPage-C1RHtPzz.js} +1 -1
  27. package/static/assets/{KnowledgeEditPage-BwGnUH_m.js → KnowledgeEditPage-D3gIqqKn.js} +1 -1
  28. package/static/assets/{KnowledgePage-CGIVMS02.js → KnowledgePage-DJphs1Kg.js} +1 -1
  29. package/static/assets/{LoginPage-VQ3lcfLV.js → LoginPage-DVaToPHL.js} +1 -1
  30. package/static/assets/{MailInboxPage-DiZKqwdU.js → MailInboxPage-I-MbS647.js} +1 -1
  31. package/static/assets/{MailProcessingModal-DIeSQBoR.js → MailProcessingModal-DXtDHWM_.js} +1 -1
  32. package/static/assets/{MailReadPage-C8AACmZQ.js → MailReadPage-DUN8EQjl.js} +1 -1
  33. package/static/assets/{MailSentPage-C_5yFly_.js → MailSentPage-DsGgBGBQ.js} +1 -1
  34. package/static/assets/{McpSettingsPage-i9YHcu1s.js → McpSettingsPage-d66ZIwm7.js} +1 -1
  35. package/static/assets/{NewKnowledgePage-BnVY7WUD.js → NewKnowledgePage-WbN6BikQ.js} +1 -1
  36. package/static/assets/{NewSkillPage-DwniHD6D.js → NewSkillPage-DesCsYgS.js} +1 -1
  37. package/static/assets/NewTaskPage-CrmiPuuw.js +91 -0
  38. package/static/assets/{NotFoundPage-BbSZX_4L.js → NotFoundPage-BcTtqwNP.js} +1 -1
  39. package/static/assets/{NotificationsSettingsPage-C8kjcift.js → NotificationsSettingsPage-BeJw7gY7.js} +1 -1
  40. package/static/assets/{ProjectEditPage-DUUlIEqI.js → ProjectEditPage-DiHz-pYk.js} +1 -1
  41. package/static/assets/{ProjectPage-Unz9PQpA.js → ProjectPage-CKaHBZlw.js} +1 -1
  42. package/static/assets/{PromptsSettingsPage-DVpIuRKI.js → PromptsSettingsPage-B_Opt_KA.js} +1 -1
  43. package/static/assets/{ResourceDetailPage-DqHZ2KYD.js → ResourceDetailPage-BSeDQxri.js} +1 -1
  44. package/static/assets/{ResourcesPage-BP5tuAi-.js → ResourcesPage-YmerqN0J.js} +1 -1
  45. package/static/assets/{RoleEditPage-BgKu8S0-.js → RoleEditPage-Bm7HG4sg.js} +1 -1
  46. package/static/assets/{RolePage-Fed52Ov5.js → RolePage-DoN5_uka.js} +1 -1
  47. package/static/assets/{RulesSettingsPage-BQ2O0u66.js → RulesSettingsPage-yQELBKgb.js} +1 -1
  48. package/static/assets/{SchedulePage-jkxjuzBx.js → SchedulePage-nmchdGUK.js} +1 -1
  49. package/static/assets/{SkillDetailPage-k3Q2-NFd.js → SkillDetailPage-BFjBVPS8.js} +1 -1
  50. package/static/assets/{SkillEditPage-urF4snjo.js → SkillEditPage-CjpscD5K.js} +1 -1
  51. package/static/assets/{SkillsPage-DlWDhEjR.js → SkillsPage-Dr_uyKVB.js} +1 -1
  52. package/static/assets/{SkillsSettingsPage-BViFgckG.js → SkillsSettingsPage-BknrbJBC.js} +1 -1
  53. package/static/assets/{SourceInput-CAFKTHw-.js → SourceInput-LclyzQLW.js} +1 -1
  54. package/static/assets/{TagInput-C6lI-ePr.js → TagInput-BZ6JyIo1.js} +1 -1
  55. package/static/assets/{TaskDetailPage-DpbRHnW_.js → TaskDetailPage-D97oWW98.js} +1 -1
  56. package/static/assets/{TaskEditPage-DssRbW0h.js → TaskEditPage-BTfzRYwM.js} +1 -1
  57. package/static/assets/{TasksPage-CD_eo0Bj.js → TasksPage-COvedmQz.js} +1 -1
  58. package/static/assets/{TerminalPage-BG_wlccr.js → TerminalPage-DhbOmISZ.js} +1 -1
  59. package/static/assets/{TerminalSessionPage-CsK-LznK.js → TerminalSessionPage-D2rZb8Ej.js} +1 -1
  60. package/static/assets/{UserPreferencesPage-CWUq3efu.js → UserPreferencesPage-CgtsVqvs.js} +1 -1
  61. package/static/assets/{UserSettingsPage-CduI_MGS.js → UserSettingsPage-AXLWqe0G.js} +1 -1
  62. package/static/assets/{UtilitiesPage-BAxokhLh.js → UtilitiesPage-CxQkYrza.js} +1 -1
  63. package/static/assets/{alert-BXsc6_qu.js → alert-BUrHsk9_.js} +1 -1
  64. package/static/assets/{arrow-down-DmW_3gE8.js → arrow-down-J9YP8VW9.js} +1 -1
  65. package/static/assets/{arrow-left-1S-835kP.js → arrow-left-RAzvFXpe.js} +1 -1
  66. package/static/assets/{arrow-up-BYism_o1.js → arrow-up-CjXXRPYC.js} +1 -1
  67. package/static/assets/{arrow-up-down-Dw3J0a4i.js → arrow-up-down-BRoDh-fK.js} +1 -1
  68. package/static/assets/{badge-BUEY53dV.js → badge-CA-A_JCd.js} +1 -1
  69. package/static/assets/{browser-modal-DCNdI4NT.js → browser-modal-DVtwh2h7.js} +1 -1
  70. package/static/assets/{card-BcPlIAH5.js → card-DdrUHBUG.js} +1 -1
  71. package/static/assets/{chevron-left-FMmNe7yP.js → chevron-left-C4bGr2Al.js} +1 -1
  72. package/static/assets/{chevron-up-CqM3won3.js → chevron-up-CPpQ_jgb.js} +1 -1
  73. package/static/assets/{chevrons-up-DTvCkIHc.js → chevrons-up-C8oR0iOR.js} +1 -1
  74. package/static/assets/{circle-alert-dseM-Ib7.js → circle-alert-B3zeVGHG.js} +1 -1
  75. package/static/assets/{circle-check-eyo6pBP1.js → circle-check-OfRBf8tJ.js} +1 -1
  76. package/static/assets/{circle-check-big-jKg34xC-.js → circle-check-big-CeVxJ4hA.js} +1 -1
  77. package/static/assets/{circle-play-BrY_lNiH.js → circle-play-C_Chmziu.js} +1 -1
  78. package/static/assets/{circle-x-uqmzEce1.js → circle-x-CtfEmATn.js} +1 -1
  79. package/static/assets/{clipboard-tzPFoieb.js → clipboard-Z_0Z5-r1.js} +1 -1
  80. package/static/assets/{clock-Bjc06QBM.js → clock-B43LjbrK.js} +1 -1
  81. package/static/assets/{code-DrYqPukx.js → code-D77i0toJ.js} +1 -1
  82. package/static/assets/{download-Bg__QCLT.js → download-C8rLaNF6.js} +1 -1
  83. package/static/assets/{external-link-CNDy2UUo.js → external-link-D6UvIQYD.js} +1 -1
  84. package/static/assets/{eye-DLFBnC8t.js → eye-C3fWwYx-.js} +1 -1
  85. package/static/assets/{folder-git-2-DUqd0WRi.js → folder-git-2-Crtn4eyJ.js} +1 -1
  86. package/static/assets/{index-DFcWlnzl.js → index-SWBrq2bx.js} +3 -3
  87. package/static/assets/{info-D6jxZC5X.js → info-BZi8bEGv.js} +1 -1
  88. package/static/assets/{label-DBuh-ke5.js → label-C8Wxd6GE.js} +1 -1
  89. package/static/assets/{markdown-editor-B4YNQFT2.js → markdown-editor-DAk7M9Ju.js} +1 -1
  90. package/static/assets/{message-square-B5RWz_ff.js → message-square-BpqFAvyq.js} +1 -1
  91. package/static/assets/{paperclip-4A_3MaPx.js → paperclip-Dk7jEYtI.js} +1 -1
  92. package/static/assets/{pause-BzhKXHtR.js → pause-CX3StCWt.js} +1 -1
  93. package/static/assets/{play-CHIf-Rcz.js → play-CRPN1vUy.js} +1 -1
  94. package/static/assets/{radio-group-C1ct-VsJ.js → radio-group-DFIfCEpZ.js} +1 -1
  95. package/static/assets/{refresh-cw-B3OwrDUf.js → refresh-cw-DGBXSYy5.js} +1 -1
  96. package/static/assets/{search-Cq1ksEdp.js → search-C9jI6Lg7.js} +1 -1
  97. package/static/assets/{select-44mcS2_G.js → select-DgNHsbaX.js} +1 -1
  98. package/static/assets/status-utils-PwF3DXLL.js +1 -0
  99. package/static/assets/{switch-CIwjYvCt.js → switch-C2zPfM3G.js} +1 -1
  100. package/static/assets/{tabs-DTV6Su-h.js → tabs-B7fjkp5h.js} +1 -1
  101. package/static/assets/{tag-p6yeowCW.js → tag-BOwlwHfi.js} +1 -1
  102. package/static/assets/{terminal-preview-DN38x9Jm.js → terminal-preview-BvBQu5Sd.js} +1 -1
  103. package/static/assets/{use-terminal-BXJqOeJe.js → use-terminal-xv9qDaX1.js} +1 -1
  104. package/static/assets/{video-BH5ChaoS.js → video-CW0zFsfp.js} +1 -1
  105. package/static/index.html +1 -1
  106. package/static/assets/ImplementationStepsEditor-HliLQav5.js +0 -6
  107. package/static/assets/NewTaskPage-F5UX2WMc.js +0 -90
  108. package/static/assets/status-utils-CDkPeVfP.js +0 -1
@@ -1,4 +1,4 @@
1
- import{c as a}from"./index-DFcWlnzl.js";/**
1
+ import{c as a}from"./index-SWBrq2bx.js";/**
2
2
  * @license lucide-react v0.542.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
1
- import{c}from"./index-DFcWlnzl.js";/**
1
+ import{c}from"./index-SWBrq2bx.js";/**
2
2
  * @license lucide-react v0.542.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
1
- import{c as e}from"./index-DFcWlnzl.js";/**
1
+ import{c as e}from"./index-SWBrq2bx.js";/**
2
2
  * @license lucide-react v0.542.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
1
- import{c as a}from"./index-DFcWlnzl.js";/**
1
+ import{c as a}from"./index-SWBrq2bx.js";/**
2
2
  * @license lucide-react v0.542.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1 +1 @@
1
- import{r as n,bk as E,am as K,ag as T,j as a,ah as N,bl as U,ak as h,al as w,bm as V,aj as g,bn as z,ap as H,ao as $,e as k,bo as W}from"./index-DFcWlnzl.js";var C="Radio",[X,I]=N(C),[Y,J]=X(C),j=n.forwardRef((r,t)=>{const{__scopeRadio:e,name:d,checked:o=!1,required:s,disabled:i,value:p="on",onCheck:f,form:R,...v}=r,[l,m]=n.useState(null),c=w(t,y=>m(y)),u=n.useRef(!1),b=l?R||!!l.closest("form"):!0;return a.jsxs(Y,{scope:e,checked:o,disabled:i,children:[a.jsx(h.button,{type:"button",role:"radio","aria-checked":o,"data-state":S(o),"data-disabled":i?"":void 0,disabled:i,value:p,...v,ref:c,onClick:g(r.onClick,y=>{o||f?.(),b&&(u.current=y.isPropagationStopped(),u.current||y.stopPropagation())})}),b&&a.jsx(P,{control:l,bubbles:!u.current,name:d,value:p,checked:o,required:s,disabled:i,form:R,style:{transform:"translateX(-100%)"}})]})});j.displayName=C;var _="RadioIndicator",G=n.forwardRef((r,t)=>{const{__scopeRadio:e,forceMount:d,...o}=r,s=J(_,e);return a.jsx(z,{present:d||s.checked,children:a.jsx(h.span,{"data-state":S(s.checked),"data-disabled":s.disabled?"":void 0,...o,ref:t})})});G.displayName=_;var Q="RadioBubbleInput",P=n.forwardRef(({__scopeRadio:r,control:t,checked:e,bubbles:d=!0,...o},s)=>{const i=n.useRef(null),p=w(i,s),f=H(e),R=$(t);return n.useEffect(()=>{const v=i.current;if(!v)return;const l=window.HTMLInputElement.prototype,c=Object.getOwnPropertyDescriptor(l,"checked").set;if(f!==e&&c){const u=new Event("click",{bubbles:d});c.call(v,e),v.dispatchEvent(u)}},[f,e,d]),a.jsx(h.input,{type:"radio","aria-hidden":!0,defaultChecked:e,...o,tabIndex:-1,ref:p,style:{...o.style,...R,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});P.displayName=Q;function S(r){return r?"checked":"unchecked"}var Z=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],x="RadioGroup",[ee,de]=N(x,[E,I]),A=E(),D=I(),[oe,re]=ee(x),M=n.forwardRef((r,t)=>{const{__scopeRadioGroup:e,name:d,defaultValue:o,value:s,required:i=!1,disabled:p=!1,orientation:f,dir:R,loop:v=!0,onValueChange:l,...m}=r,c=A(e),u=K(R),[b,y]=T({prop:s,defaultProp:o??null,onChange:l,caller:x});return a.jsx(oe,{scope:e,name:d,required:i,disabled:p,value:b,onValueChange:y,children:a.jsx(U,{asChild:!0,...c,orientation:f,dir:u,loop:v,children:a.jsx(h.div,{role:"radiogroup","aria-required":i,"aria-orientation":f,"data-disabled":p?"":void 0,dir:u,...m,ref:t})})})});M.displayName=x;var O="RadioGroupItem",F=n.forwardRef((r,t)=>{const{__scopeRadioGroup:e,disabled:d,...o}=r,s=re(O,e),i=s.disabled||d,p=A(e),f=D(e),R=n.useRef(null),v=w(t,R),l=s.value===o.value,m=n.useRef(!1);return n.useEffect(()=>{const c=b=>{Z.includes(b.key)&&(m.current=!0)},u=()=>m.current=!1;return document.addEventListener("keydown",c),document.addEventListener("keyup",u),()=>{document.removeEventListener("keydown",c),document.removeEventListener("keyup",u)}},[]),a.jsx(V,{asChild:!0,...p,focusable:!i,active:l,children:a.jsx(j,{disabled:i,required:s.required,checked:l,...f,...o,name:s.name,ref:v,onCheck:()=>s.onValueChange(o.value),onKeyDown:g(c=>{c.key==="Enter"&&c.preventDefault()}),onFocus:g(o.onFocus,()=>{m.current&&R.current?.click()})})})});F.displayName=O;var ae="RadioGroupIndicator",L=n.forwardRef((r,t)=>{const{__scopeRadioGroup:e,...d}=r,o=D(e);return a.jsx(G,{...o,...d,ref:t})});L.displayName=ae;var q=M,B=F,te=L;const se=n.forwardRef(({className:r,...t},e)=>a.jsx(q,{className:k("grid gap-2",r),...t,ref:e}));se.displayName=q.displayName;const ne=n.forwardRef(({className:r,...t},e)=>a.jsx(B,{ref:e,className:k("aspect-square h-4 w-4 rounded-full border border-primary text-primary ring-offset-background focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",r),...t,children:a.jsx(te,{className:"flex items-center justify-center",children:a.jsx(W,{className:"h-2.5 w-2.5 fill-current text-current"})})}));ne.displayName=B.displayName;export{se as R,ne as a};
1
+ import{r as n,bk as E,am as K,ag as T,j as a,ah as N,bl as U,ak as h,al as w,bm as V,aj as g,bn as z,ap as H,ao as $,e as k,bo as W}from"./index-SWBrq2bx.js";var C="Radio",[X,I]=N(C),[Y,J]=X(C),j=n.forwardRef((r,t)=>{const{__scopeRadio:e,name:d,checked:o=!1,required:s,disabled:i,value:p="on",onCheck:f,form:R,...v}=r,[l,m]=n.useState(null),c=w(t,y=>m(y)),u=n.useRef(!1),b=l?R||!!l.closest("form"):!0;return a.jsxs(Y,{scope:e,checked:o,disabled:i,children:[a.jsx(h.button,{type:"button",role:"radio","aria-checked":o,"data-state":S(o),"data-disabled":i?"":void 0,disabled:i,value:p,...v,ref:c,onClick:g(r.onClick,y=>{o||f?.(),b&&(u.current=y.isPropagationStopped(),u.current||y.stopPropagation())})}),b&&a.jsx(P,{control:l,bubbles:!u.current,name:d,value:p,checked:o,required:s,disabled:i,form:R,style:{transform:"translateX(-100%)"}})]})});j.displayName=C;var _="RadioIndicator",G=n.forwardRef((r,t)=>{const{__scopeRadio:e,forceMount:d,...o}=r,s=J(_,e);return a.jsx(z,{present:d||s.checked,children:a.jsx(h.span,{"data-state":S(s.checked),"data-disabled":s.disabled?"":void 0,...o,ref:t})})});G.displayName=_;var Q="RadioBubbleInput",P=n.forwardRef(({__scopeRadio:r,control:t,checked:e,bubbles:d=!0,...o},s)=>{const i=n.useRef(null),p=w(i,s),f=H(e),R=$(t);return n.useEffect(()=>{const v=i.current;if(!v)return;const l=window.HTMLInputElement.prototype,c=Object.getOwnPropertyDescriptor(l,"checked").set;if(f!==e&&c){const u=new Event("click",{bubbles:d});c.call(v,e),v.dispatchEvent(u)}},[f,e,d]),a.jsx(h.input,{type:"radio","aria-hidden":!0,defaultChecked:e,...o,tabIndex:-1,ref:p,style:{...o.style,...R,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});P.displayName=Q;function S(r){return r?"checked":"unchecked"}var Z=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],x="RadioGroup",[ee,de]=N(x,[E,I]),A=E(),D=I(),[oe,re]=ee(x),M=n.forwardRef((r,t)=>{const{__scopeRadioGroup:e,name:d,defaultValue:o,value:s,required:i=!1,disabled:p=!1,orientation:f,dir:R,loop:v=!0,onValueChange:l,...m}=r,c=A(e),u=K(R),[b,y]=T({prop:s,defaultProp:o??null,onChange:l,caller:x});return a.jsx(oe,{scope:e,name:d,required:i,disabled:p,value:b,onValueChange:y,children:a.jsx(U,{asChild:!0,...c,orientation:f,dir:u,loop:v,children:a.jsx(h.div,{role:"radiogroup","aria-required":i,"aria-orientation":f,"data-disabled":p?"":void 0,dir:u,...m,ref:t})})})});M.displayName=x;var O="RadioGroupItem",F=n.forwardRef((r,t)=>{const{__scopeRadioGroup:e,disabled:d,...o}=r,s=re(O,e),i=s.disabled||d,p=A(e),f=D(e),R=n.useRef(null),v=w(t,R),l=s.value===o.value,m=n.useRef(!1);return n.useEffect(()=>{const c=b=>{Z.includes(b.key)&&(m.current=!0)},u=()=>m.current=!1;return document.addEventListener("keydown",c),document.addEventListener("keyup",u),()=>{document.removeEventListener("keydown",c),document.removeEventListener("keyup",u)}},[]),a.jsx(V,{asChild:!0,...p,focusable:!i,active:l,children:a.jsx(j,{disabled:i,required:s.required,checked:l,...f,...o,name:s.name,ref:v,onCheck:()=>s.onValueChange(o.value),onKeyDown:g(c=>{c.key==="Enter"&&c.preventDefault()}),onFocus:g(o.onFocus,()=>{m.current&&R.current?.click()})})})});F.displayName=O;var ae="RadioGroupIndicator",L=n.forwardRef((r,t)=>{const{__scopeRadioGroup:e,...d}=r,o=D(e);return a.jsx(G,{...o,...d,ref:t})});L.displayName=ae;var q=M,B=F,te=L;const se=n.forwardRef(({className:r,...t},e)=>a.jsx(q,{className:k("grid gap-2",r),...t,ref:e}));se.displayName=q.displayName;const ne=n.forwardRef(({className:r,...t},e)=>a.jsx(B,{ref:e,className:k("aspect-square h-4 w-4 rounded-full border border-primary text-primary ring-offset-background focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",r),...t,children:a.jsx(te,{className:"flex items-center justify-center",children:a.jsx(W,{className:"h-2.5 w-2.5 fill-current text-current"})})}));ne.displayName=B.displayName;export{se as R,ne as a};
@@ -1,4 +1,4 @@
1
- import{c as e}from"./index-DFcWlnzl.js";/**
1
+ import{c as e}from"./index-SWBrq2bx.js";/**
2
2
  * @license lucide-react v0.542.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
1
- import{c}from"./index-DFcWlnzl.js";/**
1
+ import{c}from"./index-SWBrq2bx.js";/**
2
2
  * @license lucide-react v0.542.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1 +1 @@
1
- import{r as t,b3 as Pe,am as ft,ag as Te,j as r,b4 as mt,ah as ht,b5 as be,ai as gt,al as L,b6 as z,ak as j,ap as vt,b7 as xt,b8 as St,aj as N,b9 as wt,ba as Re,bb as yt,bc as Ct,bd as bt,be as It,bf as Tt,bg as Nt,bh as Pt,bi as Rt,an as Ne,bj as Et,e as G,n as Ee,ae as _t}from"./index-DFcWlnzl.js";import{C as jt}from"./chevron-up-CqM3won3.js";var Mt=[" ","Enter","ArrowUp","ArrowDown"],At=[" ","Enter"],Q="Select",[ie,de,Ot]=gt(Q),[oe,mo]=ht(Q,[Ot,Pe]),ue=Pe(),[Dt,Y]=oe(Q),[Lt,kt]=oe(Q),_e=o=>{const{__scopeSelect:n,children:e,open:l,defaultOpen:a,onOpenChange:u,value:s,defaultValue:c,onValueChange:i,dir:f,name:v,autoComplete:w,disabled:P,required:I,form:C}=o,d=ue(n),[h,x]=t.useState(null),[m,g]=t.useState(null),[F,M]=t.useState(!1),ne=ft(f),[R,O]=Te({prop:l,defaultProp:a??!1,onChange:u,caller:Q}),[W,X]=Te({prop:s,defaultProp:c,onChange:i,caller:Q}),k=t.useRef(null),B=h?C||!!h.closest("form"):!0,[K,V]=t.useState(new Set),H=Array.from(K).map(E=>E.props.value).join(";");return r.jsx(mt,{...d,children:r.jsxs(Dt,{required:I,scope:n,trigger:h,onTriggerChange:x,valueNode:m,onValueNodeChange:g,valueNodeHasChildren:F,onValueNodeHasChildrenChange:M,contentId:be(),value:W,onValueChange:X,open:R,onOpenChange:O,dir:ne,triggerPointerDownPosRef:k,disabled:P,children:[r.jsx(ie.Provider,{scope:n,children:r.jsx(Lt,{scope:o.__scopeSelect,onNativeOptionAdd:t.useCallback(E=>{V(D=>new Set(D).add(E))},[]),onNativeOptionRemove:t.useCallback(E=>{V(D=>{const U=new Set(D);return U.delete(E),U})},[]),children:e})}),B?r.jsxs(et,{"aria-hidden":!0,required:I,tabIndex:-1,name:v,autoComplete:w,value:W,onChange:E=>X(E.target.value),disabled:P,form:C,children:[W===void 0?r.jsx("option",{value:""}):null,Array.from(K)]},H):null]})})};_e.displayName=Q;var je="SelectTrigger",Me=t.forwardRef((o,n)=>{const{__scopeSelect:e,disabled:l=!1,...a}=o,u=ue(e),s=Y(je,e),c=s.disabled||l,i=L(n,s.onTriggerChange),f=de(e),v=t.useRef("touch"),[w,P,I]=ot(d=>{const h=f().filter(g=>!g.disabled),x=h.find(g=>g.value===s.value),m=nt(h,d,x);m!==void 0&&s.onValueChange(m.value)}),C=d=>{c||(s.onOpenChange(!0),I()),d&&(s.triggerPointerDownPosRef.current={x:Math.round(d.pageX),y:Math.round(d.pageY)})};return r.jsx(St,{asChild:!0,...u,children:r.jsx(j.button,{type:"button",role:"combobox","aria-controls":s.contentId,"aria-expanded":s.open,"aria-required":s.required,"aria-autocomplete":"none",dir:s.dir,"data-state":s.open?"open":"closed",disabled:c,"data-disabled":c?"":void 0,"data-placeholder":tt(s.value)?"":void 0,...a,ref:i,onClick:N(a.onClick,d=>{d.currentTarget.focus(),v.current!=="mouse"&&C(d)}),onPointerDown:N(a.onPointerDown,d=>{v.current=d.pointerType;const h=d.target;h.hasPointerCapture(d.pointerId)&&h.releasePointerCapture(d.pointerId),d.button===0&&d.ctrlKey===!1&&d.pointerType==="mouse"&&(C(d),d.preventDefault())}),onKeyDown:N(a.onKeyDown,d=>{const h=w.current!=="";!(d.ctrlKey||d.altKey||d.metaKey)&&d.key.length===1&&P(d.key),!(h&&d.key===" ")&&Mt.includes(d.key)&&(C(),d.preventDefault())})})})});Me.displayName=je;var Ae="SelectValue",Oe=t.forwardRef((o,n)=>{const{__scopeSelect:e,className:l,style:a,children:u,placeholder:s="",...c}=o,i=Y(Ae,e),{onValueNodeHasChildrenChange:f}=i,v=u!==void 0,w=L(n,i.onValueNodeChange);return z(()=>{f(v)},[f,v]),r.jsx(j.span,{...c,ref:w,style:{pointerEvents:"none"},children:tt(i.value)?r.jsx(r.Fragment,{children:s}):u})});Oe.displayName=Ae;var Bt="SelectIcon",De=t.forwardRef((o,n)=>{const{__scopeSelect:e,children:l,...a}=o;return r.jsx(j.span,{"aria-hidden":!0,...a,ref:n,children:l||"▼"})});De.displayName=Bt;var Vt="SelectPortal",Le=o=>r.jsx(wt,{asChild:!0,...o});Le.displayName=Vt;var ee="SelectContent",ke=t.forwardRef((o,n)=>{const e=Y(ee,o.__scopeSelect),[l,a]=t.useState();if(z(()=>{a(new DocumentFragment)},[]),!e.open){const u=l;return u?Re.createPortal(r.jsx(Be,{scope:o.__scopeSelect,children:r.jsx(ie.Slot,{scope:o.__scopeSelect,children:r.jsx("div",{children:o.children})})}),u):null}return r.jsx(Ve,{...o,ref:n})});ke.displayName=ee;var A=10,[Be,q]=oe(ee),Ht="SelectContentImpl",Ut=Tt("SelectContent.RemoveScroll"),Ve=t.forwardRef((o,n)=>{const{__scopeSelect:e,position:l="item-aligned",onCloseAutoFocus:a,onEscapeKeyDown:u,onPointerDownOutside:s,side:c,sideOffset:i,align:f,alignOffset:v,arrowPadding:w,collisionBoundary:P,collisionPadding:I,sticky:C,hideWhenDetached:d,avoidCollisions:h,...x}=o,m=Y(ee,e),[g,F]=t.useState(null),[M,ne]=t.useState(null),R=L(n,p=>F(p)),[O,W]=t.useState(null),[X,k]=t.useState(null),B=de(e),[K,V]=t.useState(!1),H=t.useRef(!1);t.useEffect(()=>{if(g)return Ct(g)},[g]),bt();const E=t.useCallback(p=>{const[b,..._]=B().map(T=>T.ref.current),[S]=_.slice(-1),y=document.activeElement;for(const T of p)if(T===y||(T?.scrollIntoView({block:"nearest"}),T===b&&M&&(M.scrollTop=0),T===S&&M&&(M.scrollTop=M.scrollHeight),T?.focus(),document.activeElement!==y))return},[B,M]),D=t.useCallback(()=>E([O,g]),[E,O,g]);t.useEffect(()=>{K&&D()},[K,D]);const{onOpenChange:U,triggerPointerDownPosRef:$}=m;t.useEffect(()=>{if(g){let p={x:0,y:0};const b=S=>{p={x:Math.abs(Math.round(S.pageX)-($.current?.x??0)),y:Math.abs(Math.round(S.pageY)-($.current?.y??0))}},_=S=>{p.x<=10&&p.y<=10?S.preventDefault():g.contains(S.target)||U(!1),document.removeEventListener("pointermove",b),$.current=null};return $.current!==null&&(document.addEventListener("pointermove",b),document.addEventListener("pointerup",_,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",b),document.removeEventListener("pointerup",_,{capture:!0})}}},[g,U,$]),t.useEffect(()=>{const p=()=>U(!1);return window.addEventListener("blur",p),window.addEventListener("resize",p),()=>{window.removeEventListener("blur",p),window.removeEventListener("resize",p)}},[U]);const[pe,ae]=ot(p=>{const b=B().filter(y=>!y.disabled),_=b.find(y=>y.ref.current===document.activeElement),S=nt(b,p,_);S&&setTimeout(()=>S.ref.current.focus())}),fe=t.useCallback((p,b,_)=>{const S=!H.current&&!_;(m.value!==void 0&&m.value===b||S)&&(W(p),S&&(H.current=!0))},[m.value]),me=t.useCallback(()=>g?.focus(),[g]),te=t.useCallback((p,b,_)=>{const S=!H.current&&!_;(m.value!==void 0&&m.value===b||S)&&k(p)},[m.value]),le=l==="popper"?xe:He,re=le===xe?{side:c,sideOffset:i,align:f,alignOffset:v,arrowPadding:w,collisionBoundary:P,collisionPadding:I,sticky:C,hideWhenDetached:d,avoidCollisions:h}:{};return r.jsx(Be,{scope:e,content:g,viewport:M,onViewportChange:ne,itemRefCallback:fe,selectedItem:O,onItemLeave:me,itemTextRefCallback:te,focusSelectedItem:D,selectedItemText:X,position:l,isPositioned:K,searchRef:pe,children:r.jsx(It,{as:Ut,allowPinchZoom:!0,children:r.jsx(Nt,{asChild:!0,trapped:m.open,onMountAutoFocus:p=>{p.preventDefault()},onUnmountAutoFocus:N(a,p=>{m.trigger?.focus({preventScroll:!0}),p.preventDefault()}),children:r.jsx(Pt,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:u,onPointerDownOutside:s,onFocusOutside:p=>p.preventDefault(),onDismiss:()=>m.onOpenChange(!1),children:r.jsx(le,{role:"listbox",id:m.contentId,"data-state":m.open?"open":"closed",dir:m.dir,onContextMenu:p=>p.preventDefault(),...x,...re,onPlaced:()=>V(!0),ref:R,style:{display:"flex",flexDirection:"column",outline:"none",...x.style},onKeyDown:N(x.onKeyDown,p=>{const b=p.ctrlKey||p.altKey||p.metaKey;if(p.key==="Tab"&&p.preventDefault(),!b&&p.key.length===1&&ae(p.key),["ArrowUp","ArrowDown","Home","End"].includes(p.key)){let S=B().filter(y=>!y.disabled).map(y=>y.ref.current);if(["ArrowUp","End"].includes(p.key)&&(S=S.slice().reverse()),["ArrowUp","ArrowDown"].includes(p.key)){const y=p.target,T=S.indexOf(y);S=S.slice(T+1)}setTimeout(()=>E(S)),p.preventDefault()}})})})})})})});Ve.displayName=Ht;var Ft="SelectItemAlignedPosition",He=t.forwardRef((o,n)=>{const{__scopeSelect:e,onPlaced:l,...a}=o,u=Y(ee,e),s=q(ee,e),[c,i]=t.useState(null),[f,v]=t.useState(null),w=L(n,R=>v(R)),P=de(e),I=t.useRef(!1),C=t.useRef(!0),{viewport:d,selectedItem:h,selectedItemText:x,focusSelectedItem:m}=s,g=t.useCallback(()=>{if(u.trigger&&u.valueNode&&c&&f&&d&&h&&x){const R=u.trigger.getBoundingClientRect(),O=f.getBoundingClientRect(),W=u.valueNode.getBoundingClientRect(),X=x.getBoundingClientRect();if(u.dir!=="rtl"){const y=X.left-O.left,T=W.left-y,Z=R.left-T,J=R.width+Z,he=Math.max(J,O.width),ge=window.innerWidth-A,ve=Ne(T,[A,Math.max(A,ge-he)]);c.style.minWidth=J+"px",c.style.left=ve+"px"}else{const y=O.right-X.right,T=window.innerWidth-W.right-y,Z=window.innerWidth-R.right-T,J=R.width+Z,he=Math.max(J,O.width),ge=window.innerWidth-A,ve=Ne(T,[A,Math.max(A,ge-he)]);c.style.minWidth=J+"px",c.style.right=ve+"px"}const k=P(),B=window.innerHeight-A*2,K=d.scrollHeight,V=window.getComputedStyle(f),H=parseInt(V.borderTopWidth,10),E=parseInt(V.paddingTop,10),D=parseInt(V.borderBottomWidth,10),U=parseInt(V.paddingBottom,10),$=H+E+K+U+D,pe=Math.min(h.offsetHeight*5,$),ae=window.getComputedStyle(d),fe=parseInt(ae.paddingTop,10),me=parseInt(ae.paddingBottom,10),te=R.top+R.height/2-A,le=B-te,re=h.offsetHeight/2,p=h.offsetTop+re,b=H+E+p,_=$-b;if(b<=te){const y=k.length>0&&h===k[k.length-1].ref.current;c.style.bottom="0px";const T=f.clientHeight-d.offsetTop-d.offsetHeight,Z=Math.max(le,re+(y?me:0)+T+D),J=b+Z;c.style.height=J+"px"}else{const y=k.length>0&&h===k[0].ref.current;c.style.top="0px";const Z=Math.max(te,H+d.offsetTop+(y?fe:0)+re)+_;c.style.height=Z+"px",d.scrollTop=b-te+d.offsetTop}c.style.margin=`${A}px 0`,c.style.minHeight=pe+"px",c.style.maxHeight=B+"px",l?.(),requestAnimationFrame(()=>I.current=!0)}},[P,u.trigger,u.valueNode,c,f,d,h,x,u.dir,l]);z(()=>g(),[g]);const[F,M]=t.useState();z(()=>{f&&M(window.getComputedStyle(f).zIndex)},[f]);const ne=t.useCallback(R=>{R&&C.current===!0&&(g(),m?.(),C.current=!1)},[g,m]);return r.jsx(Kt,{scope:e,contentWrapper:c,shouldExpandOnScrollRef:I,onScrollButtonChange:ne,children:r.jsx("div",{ref:i,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:F},children:r.jsx(j.div,{...a,ref:w,style:{boxSizing:"border-box",maxHeight:"100%",...a.style}})})})});He.displayName=Ft;var Wt="SelectPopperPosition",xe=t.forwardRef((o,n)=>{const{__scopeSelect:e,align:l="start",collisionPadding:a=A,...u}=o,s=ue(e);return r.jsx(Rt,{...s,...u,ref:n,align:l,collisionPadding:a,style:{boxSizing:"border-box",...u.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});xe.displayName=Wt;var[Kt,Ie]=oe(ee,{}),Se="SelectViewport",Ue=t.forwardRef((o,n)=>{const{__scopeSelect:e,nonce:l,...a}=o,u=q(Se,e),s=Ie(Se,e),c=L(n,u.onViewportChange),i=t.useRef(0);return r.jsxs(r.Fragment,{children:[r.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:l}),r.jsx(ie.Slot,{scope:e,children:r.jsx(j.div,{"data-radix-select-viewport":"",role:"presentation",...a,ref:c,style:{position:"relative",flex:1,overflow:"hidden auto",...a.style},onScroll:N(a.onScroll,f=>{const v=f.currentTarget,{contentWrapper:w,shouldExpandOnScrollRef:P}=s;if(P?.current&&w){const I=Math.abs(i.current-v.scrollTop);if(I>0){const C=window.innerHeight-A*2,d=parseFloat(w.style.minHeight),h=parseFloat(w.style.height),x=Math.max(d,h);if(x<C){const m=x+I,g=Math.min(C,m),F=m-g;w.style.height=g+"px",w.style.bottom==="0px"&&(v.scrollTop=F>0?F:0,w.style.justifyContent="flex-end")}}}i.current=v.scrollTop})})})]})});Ue.displayName=Se;var Fe="SelectGroup",[$t,zt]=oe(Fe),Gt=t.forwardRef((o,n)=>{const{__scopeSelect:e,...l}=o,a=be();return r.jsx($t,{scope:e,id:a,children:r.jsx(j.div,{role:"group","aria-labelledby":a,...l,ref:n})})});Gt.displayName=Fe;var We="SelectLabel",Ke=t.forwardRef((o,n)=>{const{__scopeSelect:e,...l}=o,a=zt(We,e);return r.jsx(j.div,{id:a.id,...l,ref:n})});Ke.displayName=We;var ce="SelectItem",[Yt,$e]=oe(ce),ze=t.forwardRef((o,n)=>{const{__scopeSelect:e,value:l,disabled:a=!1,textValue:u,...s}=o,c=Y(ce,e),i=q(ce,e),f=c.value===l,[v,w]=t.useState(u??""),[P,I]=t.useState(!1),C=L(n,m=>i.itemRefCallback?.(m,l,a)),d=be(),h=t.useRef("touch"),x=()=>{a||(c.onValueChange(l),c.onOpenChange(!1))};if(l==="")throw new Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return r.jsx(Yt,{scope:e,value:l,disabled:a,textId:d,isSelected:f,onItemTextChange:t.useCallback(m=>{w(g=>g||(m?.textContent??"").trim())},[]),children:r.jsx(ie.ItemSlot,{scope:e,value:l,disabled:a,textValue:v,children:r.jsx(j.div,{role:"option","aria-labelledby":d,"data-highlighted":P?"":void 0,"aria-selected":f&&P,"data-state":f?"checked":"unchecked","aria-disabled":a||void 0,"data-disabled":a?"":void 0,tabIndex:a?void 0:-1,...s,ref:C,onFocus:N(s.onFocus,()=>I(!0)),onBlur:N(s.onBlur,()=>I(!1)),onClick:N(s.onClick,()=>{h.current!=="mouse"&&x()}),onPointerUp:N(s.onPointerUp,()=>{h.current==="mouse"&&x()}),onPointerDown:N(s.onPointerDown,m=>{h.current=m.pointerType}),onPointerMove:N(s.onPointerMove,m=>{h.current=m.pointerType,a?i.onItemLeave?.():h.current==="mouse"&&m.currentTarget.focus({preventScroll:!0})}),onPointerLeave:N(s.onPointerLeave,m=>{m.currentTarget===document.activeElement&&i.onItemLeave?.()}),onKeyDown:N(s.onKeyDown,m=>{i.searchRef?.current!==""&&m.key===" "||(At.includes(m.key)&&x(),m.key===" "&&m.preventDefault())})})})})});ze.displayName=ce;var se="SelectItemText",Ge=t.forwardRef((o,n)=>{const{__scopeSelect:e,className:l,style:a,...u}=o,s=Y(se,e),c=q(se,e),i=$e(se,e),f=kt(se,e),[v,w]=t.useState(null),P=L(n,x=>w(x),i.onItemTextChange,x=>c.itemTextRefCallback?.(x,i.value,i.disabled)),I=v?.textContent,C=t.useMemo(()=>r.jsx("option",{value:i.value,disabled:i.disabled,children:I},i.value),[i.disabled,i.value,I]),{onNativeOptionAdd:d,onNativeOptionRemove:h}=f;return z(()=>(d(C),()=>h(C)),[d,h,C]),r.jsxs(r.Fragment,{children:[r.jsx(j.span,{id:i.textId,...u,ref:P}),i.isSelected&&s.valueNode&&!s.valueNodeHasChildren?Re.createPortal(u.children,s.valueNode):null]})});Ge.displayName=se;var Ye="SelectItemIndicator",qe=t.forwardRef((o,n)=>{const{__scopeSelect:e,...l}=o;return $e(Ye,e).isSelected?r.jsx(j.span,{"aria-hidden":!0,...l,ref:n}):null});qe.displayName=Ye;var we="SelectScrollUpButton",Xe=t.forwardRef((o,n)=>{const e=q(we,o.__scopeSelect),l=Ie(we,o.__scopeSelect),[a,u]=t.useState(!1),s=L(n,l.onScrollButtonChange);return z(()=>{if(e.viewport&&e.isPositioned){let c=function(){const f=i.scrollTop>0;u(f)};const i=e.viewport;return c(),i.addEventListener("scroll",c),()=>i.removeEventListener("scroll",c)}},[e.viewport,e.isPositioned]),a?r.jsx(Je,{...o,ref:s,onAutoScroll:()=>{const{viewport:c,selectedItem:i}=e;c&&i&&(c.scrollTop=c.scrollTop-i.offsetHeight)}}):null});Xe.displayName=we;var ye="SelectScrollDownButton",Ze=t.forwardRef((o,n)=>{const e=q(ye,o.__scopeSelect),l=Ie(ye,o.__scopeSelect),[a,u]=t.useState(!1),s=L(n,l.onScrollButtonChange);return z(()=>{if(e.viewport&&e.isPositioned){let c=function(){const f=i.scrollHeight-i.clientHeight,v=Math.ceil(i.scrollTop)<f;u(v)};const i=e.viewport;return c(),i.addEventListener("scroll",c),()=>i.removeEventListener("scroll",c)}},[e.viewport,e.isPositioned]),a?r.jsx(Je,{...o,ref:s,onAutoScroll:()=>{const{viewport:c,selectedItem:i}=e;c&&i&&(c.scrollTop=c.scrollTop+i.offsetHeight)}}):null});Ze.displayName=ye;var Je=t.forwardRef((o,n)=>{const{__scopeSelect:e,onAutoScroll:l,...a}=o,u=q("SelectScrollButton",e),s=t.useRef(null),c=de(e),i=t.useCallback(()=>{s.current!==null&&(window.clearInterval(s.current),s.current=null)},[]);return t.useEffect(()=>()=>i(),[i]),z(()=>{c().find(v=>v.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:"nearest"})},[c]),r.jsx(j.div,{"aria-hidden":!0,...a,ref:n,style:{flexShrink:0,...a.style},onPointerDown:N(a.onPointerDown,()=>{s.current===null&&(s.current=window.setInterval(l,50))}),onPointerMove:N(a.onPointerMove,()=>{u.onItemLeave?.(),s.current===null&&(s.current=window.setInterval(l,50))}),onPointerLeave:N(a.onPointerLeave,()=>{i()})})}),qt="SelectSeparator",Qe=t.forwardRef((o,n)=>{const{__scopeSelect:e,...l}=o;return r.jsx(j.div,{"aria-hidden":!0,...l,ref:n})});Qe.displayName=qt;var Ce="SelectArrow",Xt=t.forwardRef((o,n)=>{const{__scopeSelect:e,...l}=o,a=ue(e),u=Y(Ce,e),s=q(Ce,e);return u.open&&s.position==="popper"?r.jsx(Et,{...a,...l,ref:n}):null});Xt.displayName=Ce;var Zt="SelectBubbleInput",et=t.forwardRef(({__scopeSelect:o,value:n,...e},l)=>{const a=t.useRef(null),u=L(l,a),s=vt(n);return t.useEffect(()=>{const c=a.current;if(!c)return;const i=window.HTMLSelectElement.prototype,v=Object.getOwnPropertyDescriptor(i,"value").set;if(s!==n&&v){const w=new Event("change",{bubbles:!0});v.call(c,n),c.dispatchEvent(w)}},[s,n]),r.jsx(j.select,{...e,style:{...xt,...e.style},ref:u,defaultValue:n})});et.displayName=Zt;function tt(o){return o===""||o===void 0}function ot(o){const n=yt(o),e=t.useRef(""),l=t.useRef(0),a=t.useCallback(s=>{const c=e.current+s;n(c),(function i(f){e.current=f,window.clearTimeout(l.current),f!==""&&(l.current=window.setTimeout(()=>i(""),1e3))})(c)},[n]),u=t.useCallback(()=>{e.current="",window.clearTimeout(l.current)},[]);return t.useEffect(()=>()=>window.clearTimeout(l.current),[]),[e,a,u]}function nt(o,n,e){const a=n.length>1&&Array.from(n).every(f=>f===n[0])?n[0]:n,u=e?o.indexOf(e):-1;let s=Jt(o,Math.max(u,0));a.length===1&&(s=s.filter(f=>f!==e));const i=s.find(f=>f.textValue.toLowerCase().startsWith(a.toLowerCase()));return i!==e?i:void 0}function Jt(o,n){return o.map((e,l)=>o[(n+l)%o.length])}var Qt=_e,rt=Me,eo=Oe,to=De,oo=Le,st=ke,no=Ue,at=Ke,lt=ze,ro=Ge,so=qe,ct=Xe,it=Ze,dt=Qe;const ho=Qt,go=eo,ao=t.forwardRef(({className:o,children:n,...e},l)=>r.jsxs(rt,{ref:l,className:G("flex h-9 w-full items-center justify-between whitespace-nowrap rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",o),...e,children:[n,r.jsx(to,{asChild:!0,children:r.jsx(Ee,{className:"h-4 w-4 opacity-50"})})]}));ao.displayName=rt.displayName;const ut=t.forwardRef(({className:o,...n},e)=>r.jsx(ct,{ref:e,className:G("flex cursor-default items-center justify-center py-1",o),...n,children:r.jsx(jt,{className:"h-4 w-4"})}));ut.displayName=ct.displayName;const pt=t.forwardRef(({className:o,...n},e)=>r.jsx(it,{ref:e,className:G("flex cursor-default items-center justify-center py-1",o),...n,children:r.jsx(Ee,{className:"h-4 w-4"})}));pt.displayName=it.displayName;const lo=t.forwardRef(({className:o,children:n,position:e="popper",...l},a)=>r.jsx(oo,{children:r.jsxs(st,{ref:a,className:G("relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md 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",e==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",o),position:e,...l,children:[r.jsx(ut,{}),r.jsx(no,{className:G("p-1",e==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:n}),r.jsx(pt,{})]})}));lo.displayName=st.displayName;const co=t.forwardRef(({className:o,...n},e)=>r.jsx(at,{ref:e,className:G("px-2 py-1.5 text-sm font-semibold",o),...n}));co.displayName=at.displayName;const io=t.forwardRef(({className:o,children:n,...e},l)=>r.jsxs(lt,{ref:l,className:G("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",o),...e,children:[r.jsx("span",{className:"absolute right-2 flex h-3.5 w-3.5 items-center justify-center",children:r.jsx(so,{children:r.jsx(_t,{className:"h-4 w-4"})})}),r.jsx(ro,{children:n})]}));io.displayName=lt.displayName;const uo=t.forwardRef(({className:o,...n},e)=>r.jsx(dt,{ref:e,className:G("-mx-1 my-1 h-px bg-muted",o),...n}));uo.displayName=dt.displayName;export{ho as S,ao as a,go as b,lo as c,io as d};
1
+ import{r as t,b3 as Pe,am as ft,ag as Te,j as r,b4 as mt,ah as ht,b5 as be,ai as gt,al as L,b6 as z,ak as j,ap as vt,b7 as xt,b8 as St,aj as N,b9 as wt,ba as Re,bb as yt,bc as Ct,bd as bt,be as It,bf as Tt,bg as Nt,bh as Pt,bi as Rt,an as Ne,bj as Et,e as G,n as Ee,ae as _t}from"./index-SWBrq2bx.js";import{C as jt}from"./chevron-up-CPpQ_jgb.js";var Mt=[" ","Enter","ArrowUp","ArrowDown"],At=[" ","Enter"],Q="Select",[ie,de,Ot]=gt(Q),[oe,mo]=ht(Q,[Ot,Pe]),ue=Pe(),[Dt,Y]=oe(Q),[Lt,kt]=oe(Q),_e=o=>{const{__scopeSelect:n,children:e,open:l,defaultOpen:a,onOpenChange:u,value:s,defaultValue:c,onValueChange:i,dir:f,name:v,autoComplete:w,disabled:P,required:I,form:C}=o,d=ue(n),[h,x]=t.useState(null),[m,g]=t.useState(null),[F,M]=t.useState(!1),ne=ft(f),[R,O]=Te({prop:l,defaultProp:a??!1,onChange:u,caller:Q}),[W,X]=Te({prop:s,defaultProp:c,onChange:i,caller:Q}),k=t.useRef(null),B=h?C||!!h.closest("form"):!0,[K,V]=t.useState(new Set),H=Array.from(K).map(E=>E.props.value).join(";");return r.jsx(mt,{...d,children:r.jsxs(Dt,{required:I,scope:n,trigger:h,onTriggerChange:x,valueNode:m,onValueNodeChange:g,valueNodeHasChildren:F,onValueNodeHasChildrenChange:M,contentId:be(),value:W,onValueChange:X,open:R,onOpenChange:O,dir:ne,triggerPointerDownPosRef:k,disabled:P,children:[r.jsx(ie.Provider,{scope:n,children:r.jsx(Lt,{scope:o.__scopeSelect,onNativeOptionAdd:t.useCallback(E=>{V(D=>new Set(D).add(E))},[]),onNativeOptionRemove:t.useCallback(E=>{V(D=>{const U=new Set(D);return U.delete(E),U})},[]),children:e})}),B?r.jsxs(et,{"aria-hidden":!0,required:I,tabIndex:-1,name:v,autoComplete:w,value:W,onChange:E=>X(E.target.value),disabled:P,form:C,children:[W===void 0?r.jsx("option",{value:""}):null,Array.from(K)]},H):null]})})};_e.displayName=Q;var je="SelectTrigger",Me=t.forwardRef((o,n)=>{const{__scopeSelect:e,disabled:l=!1,...a}=o,u=ue(e),s=Y(je,e),c=s.disabled||l,i=L(n,s.onTriggerChange),f=de(e),v=t.useRef("touch"),[w,P,I]=ot(d=>{const h=f().filter(g=>!g.disabled),x=h.find(g=>g.value===s.value),m=nt(h,d,x);m!==void 0&&s.onValueChange(m.value)}),C=d=>{c||(s.onOpenChange(!0),I()),d&&(s.triggerPointerDownPosRef.current={x:Math.round(d.pageX),y:Math.round(d.pageY)})};return r.jsx(St,{asChild:!0,...u,children:r.jsx(j.button,{type:"button",role:"combobox","aria-controls":s.contentId,"aria-expanded":s.open,"aria-required":s.required,"aria-autocomplete":"none",dir:s.dir,"data-state":s.open?"open":"closed",disabled:c,"data-disabled":c?"":void 0,"data-placeholder":tt(s.value)?"":void 0,...a,ref:i,onClick:N(a.onClick,d=>{d.currentTarget.focus(),v.current!=="mouse"&&C(d)}),onPointerDown:N(a.onPointerDown,d=>{v.current=d.pointerType;const h=d.target;h.hasPointerCapture(d.pointerId)&&h.releasePointerCapture(d.pointerId),d.button===0&&d.ctrlKey===!1&&d.pointerType==="mouse"&&(C(d),d.preventDefault())}),onKeyDown:N(a.onKeyDown,d=>{const h=w.current!=="";!(d.ctrlKey||d.altKey||d.metaKey)&&d.key.length===1&&P(d.key),!(h&&d.key===" ")&&Mt.includes(d.key)&&(C(),d.preventDefault())})})})});Me.displayName=je;var Ae="SelectValue",Oe=t.forwardRef((o,n)=>{const{__scopeSelect:e,className:l,style:a,children:u,placeholder:s="",...c}=o,i=Y(Ae,e),{onValueNodeHasChildrenChange:f}=i,v=u!==void 0,w=L(n,i.onValueNodeChange);return z(()=>{f(v)},[f,v]),r.jsx(j.span,{...c,ref:w,style:{pointerEvents:"none"},children:tt(i.value)?r.jsx(r.Fragment,{children:s}):u})});Oe.displayName=Ae;var Bt="SelectIcon",De=t.forwardRef((o,n)=>{const{__scopeSelect:e,children:l,...a}=o;return r.jsx(j.span,{"aria-hidden":!0,...a,ref:n,children:l||"▼"})});De.displayName=Bt;var Vt="SelectPortal",Le=o=>r.jsx(wt,{asChild:!0,...o});Le.displayName=Vt;var ee="SelectContent",ke=t.forwardRef((o,n)=>{const e=Y(ee,o.__scopeSelect),[l,a]=t.useState();if(z(()=>{a(new DocumentFragment)},[]),!e.open){const u=l;return u?Re.createPortal(r.jsx(Be,{scope:o.__scopeSelect,children:r.jsx(ie.Slot,{scope:o.__scopeSelect,children:r.jsx("div",{children:o.children})})}),u):null}return r.jsx(Ve,{...o,ref:n})});ke.displayName=ee;var A=10,[Be,q]=oe(ee),Ht="SelectContentImpl",Ut=Tt("SelectContent.RemoveScroll"),Ve=t.forwardRef((o,n)=>{const{__scopeSelect:e,position:l="item-aligned",onCloseAutoFocus:a,onEscapeKeyDown:u,onPointerDownOutside:s,side:c,sideOffset:i,align:f,alignOffset:v,arrowPadding:w,collisionBoundary:P,collisionPadding:I,sticky:C,hideWhenDetached:d,avoidCollisions:h,...x}=o,m=Y(ee,e),[g,F]=t.useState(null),[M,ne]=t.useState(null),R=L(n,p=>F(p)),[O,W]=t.useState(null),[X,k]=t.useState(null),B=de(e),[K,V]=t.useState(!1),H=t.useRef(!1);t.useEffect(()=>{if(g)return Ct(g)},[g]),bt();const E=t.useCallback(p=>{const[b,..._]=B().map(T=>T.ref.current),[S]=_.slice(-1),y=document.activeElement;for(const T of p)if(T===y||(T?.scrollIntoView({block:"nearest"}),T===b&&M&&(M.scrollTop=0),T===S&&M&&(M.scrollTop=M.scrollHeight),T?.focus(),document.activeElement!==y))return},[B,M]),D=t.useCallback(()=>E([O,g]),[E,O,g]);t.useEffect(()=>{K&&D()},[K,D]);const{onOpenChange:U,triggerPointerDownPosRef:$}=m;t.useEffect(()=>{if(g){let p={x:0,y:0};const b=S=>{p={x:Math.abs(Math.round(S.pageX)-($.current?.x??0)),y:Math.abs(Math.round(S.pageY)-($.current?.y??0))}},_=S=>{p.x<=10&&p.y<=10?S.preventDefault():g.contains(S.target)||U(!1),document.removeEventListener("pointermove",b),$.current=null};return $.current!==null&&(document.addEventListener("pointermove",b),document.addEventListener("pointerup",_,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",b),document.removeEventListener("pointerup",_,{capture:!0})}}},[g,U,$]),t.useEffect(()=>{const p=()=>U(!1);return window.addEventListener("blur",p),window.addEventListener("resize",p),()=>{window.removeEventListener("blur",p),window.removeEventListener("resize",p)}},[U]);const[pe,ae]=ot(p=>{const b=B().filter(y=>!y.disabled),_=b.find(y=>y.ref.current===document.activeElement),S=nt(b,p,_);S&&setTimeout(()=>S.ref.current.focus())}),fe=t.useCallback((p,b,_)=>{const S=!H.current&&!_;(m.value!==void 0&&m.value===b||S)&&(W(p),S&&(H.current=!0))},[m.value]),me=t.useCallback(()=>g?.focus(),[g]),te=t.useCallback((p,b,_)=>{const S=!H.current&&!_;(m.value!==void 0&&m.value===b||S)&&k(p)},[m.value]),le=l==="popper"?xe:He,re=le===xe?{side:c,sideOffset:i,align:f,alignOffset:v,arrowPadding:w,collisionBoundary:P,collisionPadding:I,sticky:C,hideWhenDetached:d,avoidCollisions:h}:{};return r.jsx(Be,{scope:e,content:g,viewport:M,onViewportChange:ne,itemRefCallback:fe,selectedItem:O,onItemLeave:me,itemTextRefCallback:te,focusSelectedItem:D,selectedItemText:X,position:l,isPositioned:K,searchRef:pe,children:r.jsx(It,{as:Ut,allowPinchZoom:!0,children:r.jsx(Nt,{asChild:!0,trapped:m.open,onMountAutoFocus:p=>{p.preventDefault()},onUnmountAutoFocus:N(a,p=>{m.trigger?.focus({preventScroll:!0}),p.preventDefault()}),children:r.jsx(Pt,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:u,onPointerDownOutside:s,onFocusOutside:p=>p.preventDefault(),onDismiss:()=>m.onOpenChange(!1),children:r.jsx(le,{role:"listbox",id:m.contentId,"data-state":m.open?"open":"closed",dir:m.dir,onContextMenu:p=>p.preventDefault(),...x,...re,onPlaced:()=>V(!0),ref:R,style:{display:"flex",flexDirection:"column",outline:"none",...x.style},onKeyDown:N(x.onKeyDown,p=>{const b=p.ctrlKey||p.altKey||p.metaKey;if(p.key==="Tab"&&p.preventDefault(),!b&&p.key.length===1&&ae(p.key),["ArrowUp","ArrowDown","Home","End"].includes(p.key)){let S=B().filter(y=>!y.disabled).map(y=>y.ref.current);if(["ArrowUp","End"].includes(p.key)&&(S=S.slice().reverse()),["ArrowUp","ArrowDown"].includes(p.key)){const y=p.target,T=S.indexOf(y);S=S.slice(T+1)}setTimeout(()=>E(S)),p.preventDefault()}})})})})})})});Ve.displayName=Ht;var Ft="SelectItemAlignedPosition",He=t.forwardRef((o,n)=>{const{__scopeSelect:e,onPlaced:l,...a}=o,u=Y(ee,e),s=q(ee,e),[c,i]=t.useState(null),[f,v]=t.useState(null),w=L(n,R=>v(R)),P=de(e),I=t.useRef(!1),C=t.useRef(!0),{viewport:d,selectedItem:h,selectedItemText:x,focusSelectedItem:m}=s,g=t.useCallback(()=>{if(u.trigger&&u.valueNode&&c&&f&&d&&h&&x){const R=u.trigger.getBoundingClientRect(),O=f.getBoundingClientRect(),W=u.valueNode.getBoundingClientRect(),X=x.getBoundingClientRect();if(u.dir!=="rtl"){const y=X.left-O.left,T=W.left-y,Z=R.left-T,J=R.width+Z,he=Math.max(J,O.width),ge=window.innerWidth-A,ve=Ne(T,[A,Math.max(A,ge-he)]);c.style.minWidth=J+"px",c.style.left=ve+"px"}else{const y=O.right-X.right,T=window.innerWidth-W.right-y,Z=window.innerWidth-R.right-T,J=R.width+Z,he=Math.max(J,O.width),ge=window.innerWidth-A,ve=Ne(T,[A,Math.max(A,ge-he)]);c.style.minWidth=J+"px",c.style.right=ve+"px"}const k=P(),B=window.innerHeight-A*2,K=d.scrollHeight,V=window.getComputedStyle(f),H=parseInt(V.borderTopWidth,10),E=parseInt(V.paddingTop,10),D=parseInt(V.borderBottomWidth,10),U=parseInt(V.paddingBottom,10),$=H+E+K+U+D,pe=Math.min(h.offsetHeight*5,$),ae=window.getComputedStyle(d),fe=parseInt(ae.paddingTop,10),me=parseInt(ae.paddingBottom,10),te=R.top+R.height/2-A,le=B-te,re=h.offsetHeight/2,p=h.offsetTop+re,b=H+E+p,_=$-b;if(b<=te){const y=k.length>0&&h===k[k.length-1].ref.current;c.style.bottom="0px";const T=f.clientHeight-d.offsetTop-d.offsetHeight,Z=Math.max(le,re+(y?me:0)+T+D),J=b+Z;c.style.height=J+"px"}else{const y=k.length>0&&h===k[0].ref.current;c.style.top="0px";const Z=Math.max(te,H+d.offsetTop+(y?fe:0)+re)+_;c.style.height=Z+"px",d.scrollTop=b-te+d.offsetTop}c.style.margin=`${A}px 0`,c.style.minHeight=pe+"px",c.style.maxHeight=B+"px",l?.(),requestAnimationFrame(()=>I.current=!0)}},[P,u.trigger,u.valueNode,c,f,d,h,x,u.dir,l]);z(()=>g(),[g]);const[F,M]=t.useState();z(()=>{f&&M(window.getComputedStyle(f).zIndex)},[f]);const ne=t.useCallback(R=>{R&&C.current===!0&&(g(),m?.(),C.current=!1)},[g,m]);return r.jsx(Kt,{scope:e,contentWrapper:c,shouldExpandOnScrollRef:I,onScrollButtonChange:ne,children:r.jsx("div",{ref:i,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:F},children:r.jsx(j.div,{...a,ref:w,style:{boxSizing:"border-box",maxHeight:"100%",...a.style}})})})});He.displayName=Ft;var Wt="SelectPopperPosition",xe=t.forwardRef((o,n)=>{const{__scopeSelect:e,align:l="start",collisionPadding:a=A,...u}=o,s=ue(e);return r.jsx(Rt,{...s,...u,ref:n,align:l,collisionPadding:a,style:{boxSizing:"border-box",...u.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});xe.displayName=Wt;var[Kt,Ie]=oe(ee,{}),Se="SelectViewport",Ue=t.forwardRef((o,n)=>{const{__scopeSelect:e,nonce:l,...a}=o,u=q(Se,e),s=Ie(Se,e),c=L(n,u.onViewportChange),i=t.useRef(0);return r.jsxs(r.Fragment,{children:[r.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:l}),r.jsx(ie.Slot,{scope:e,children:r.jsx(j.div,{"data-radix-select-viewport":"",role:"presentation",...a,ref:c,style:{position:"relative",flex:1,overflow:"hidden auto",...a.style},onScroll:N(a.onScroll,f=>{const v=f.currentTarget,{contentWrapper:w,shouldExpandOnScrollRef:P}=s;if(P?.current&&w){const I=Math.abs(i.current-v.scrollTop);if(I>0){const C=window.innerHeight-A*2,d=parseFloat(w.style.minHeight),h=parseFloat(w.style.height),x=Math.max(d,h);if(x<C){const m=x+I,g=Math.min(C,m),F=m-g;w.style.height=g+"px",w.style.bottom==="0px"&&(v.scrollTop=F>0?F:0,w.style.justifyContent="flex-end")}}}i.current=v.scrollTop})})})]})});Ue.displayName=Se;var Fe="SelectGroup",[$t,zt]=oe(Fe),Gt=t.forwardRef((o,n)=>{const{__scopeSelect:e,...l}=o,a=be();return r.jsx($t,{scope:e,id:a,children:r.jsx(j.div,{role:"group","aria-labelledby":a,...l,ref:n})})});Gt.displayName=Fe;var We="SelectLabel",Ke=t.forwardRef((o,n)=>{const{__scopeSelect:e,...l}=o,a=zt(We,e);return r.jsx(j.div,{id:a.id,...l,ref:n})});Ke.displayName=We;var ce="SelectItem",[Yt,$e]=oe(ce),ze=t.forwardRef((o,n)=>{const{__scopeSelect:e,value:l,disabled:a=!1,textValue:u,...s}=o,c=Y(ce,e),i=q(ce,e),f=c.value===l,[v,w]=t.useState(u??""),[P,I]=t.useState(!1),C=L(n,m=>i.itemRefCallback?.(m,l,a)),d=be(),h=t.useRef("touch"),x=()=>{a||(c.onValueChange(l),c.onOpenChange(!1))};if(l==="")throw new Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return r.jsx(Yt,{scope:e,value:l,disabled:a,textId:d,isSelected:f,onItemTextChange:t.useCallback(m=>{w(g=>g||(m?.textContent??"").trim())},[]),children:r.jsx(ie.ItemSlot,{scope:e,value:l,disabled:a,textValue:v,children:r.jsx(j.div,{role:"option","aria-labelledby":d,"data-highlighted":P?"":void 0,"aria-selected":f&&P,"data-state":f?"checked":"unchecked","aria-disabled":a||void 0,"data-disabled":a?"":void 0,tabIndex:a?void 0:-1,...s,ref:C,onFocus:N(s.onFocus,()=>I(!0)),onBlur:N(s.onBlur,()=>I(!1)),onClick:N(s.onClick,()=>{h.current!=="mouse"&&x()}),onPointerUp:N(s.onPointerUp,()=>{h.current==="mouse"&&x()}),onPointerDown:N(s.onPointerDown,m=>{h.current=m.pointerType}),onPointerMove:N(s.onPointerMove,m=>{h.current=m.pointerType,a?i.onItemLeave?.():h.current==="mouse"&&m.currentTarget.focus({preventScroll:!0})}),onPointerLeave:N(s.onPointerLeave,m=>{m.currentTarget===document.activeElement&&i.onItemLeave?.()}),onKeyDown:N(s.onKeyDown,m=>{i.searchRef?.current!==""&&m.key===" "||(At.includes(m.key)&&x(),m.key===" "&&m.preventDefault())})})})})});ze.displayName=ce;var se="SelectItemText",Ge=t.forwardRef((o,n)=>{const{__scopeSelect:e,className:l,style:a,...u}=o,s=Y(se,e),c=q(se,e),i=$e(se,e),f=kt(se,e),[v,w]=t.useState(null),P=L(n,x=>w(x),i.onItemTextChange,x=>c.itemTextRefCallback?.(x,i.value,i.disabled)),I=v?.textContent,C=t.useMemo(()=>r.jsx("option",{value:i.value,disabled:i.disabled,children:I},i.value),[i.disabled,i.value,I]),{onNativeOptionAdd:d,onNativeOptionRemove:h}=f;return z(()=>(d(C),()=>h(C)),[d,h,C]),r.jsxs(r.Fragment,{children:[r.jsx(j.span,{id:i.textId,...u,ref:P}),i.isSelected&&s.valueNode&&!s.valueNodeHasChildren?Re.createPortal(u.children,s.valueNode):null]})});Ge.displayName=se;var Ye="SelectItemIndicator",qe=t.forwardRef((o,n)=>{const{__scopeSelect:e,...l}=o;return $e(Ye,e).isSelected?r.jsx(j.span,{"aria-hidden":!0,...l,ref:n}):null});qe.displayName=Ye;var we="SelectScrollUpButton",Xe=t.forwardRef((o,n)=>{const e=q(we,o.__scopeSelect),l=Ie(we,o.__scopeSelect),[a,u]=t.useState(!1),s=L(n,l.onScrollButtonChange);return z(()=>{if(e.viewport&&e.isPositioned){let c=function(){const f=i.scrollTop>0;u(f)};const i=e.viewport;return c(),i.addEventListener("scroll",c),()=>i.removeEventListener("scroll",c)}},[e.viewport,e.isPositioned]),a?r.jsx(Je,{...o,ref:s,onAutoScroll:()=>{const{viewport:c,selectedItem:i}=e;c&&i&&(c.scrollTop=c.scrollTop-i.offsetHeight)}}):null});Xe.displayName=we;var ye="SelectScrollDownButton",Ze=t.forwardRef((o,n)=>{const e=q(ye,o.__scopeSelect),l=Ie(ye,o.__scopeSelect),[a,u]=t.useState(!1),s=L(n,l.onScrollButtonChange);return z(()=>{if(e.viewport&&e.isPositioned){let c=function(){const f=i.scrollHeight-i.clientHeight,v=Math.ceil(i.scrollTop)<f;u(v)};const i=e.viewport;return c(),i.addEventListener("scroll",c),()=>i.removeEventListener("scroll",c)}},[e.viewport,e.isPositioned]),a?r.jsx(Je,{...o,ref:s,onAutoScroll:()=>{const{viewport:c,selectedItem:i}=e;c&&i&&(c.scrollTop=c.scrollTop+i.offsetHeight)}}):null});Ze.displayName=ye;var Je=t.forwardRef((o,n)=>{const{__scopeSelect:e,onAutoScroll:l,...a}=o,u=q("SelectScrollButton",e),s=t.useRef(null),c=de(e),i=t.useCallback(()=>{s.current!==null&&(window.clearInterval(s.current),s.current=null)},[]);return t.useEffect(()=>()=>i(),[i]),z(()=>{c().find(v=>v.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:"nearest"})},[c]),r.jsx(j.div,{"aria-hidden":!0,...a,ref:n,style:{flexShrink:0,...a.style},onPointerDown:N(a.onPointerDown,()=>{s.current===null&&(s.current=window.setInterval(l,50))}),onPointerMove:N(a.onPointerMove,()=>{u.onItemLeave?.(),s.current===null&&(s.current=window.setInterval(l,50))}),onPointerLeave:N(a.onPointerLeave,()=>{i()})})}),qt="SelectSeparator",Qe=t.forwardRef((o,n)=>{const{__scopeSelect:e,...l}=o;return r.jsx(j.div,{"aria-hidden":!0,...l,ref:n})});Qe.displayName=qt;var Ce="SelectArrow",Xt=t.forwardRef((o,n)=>{const{__scopeSelect:e,...l}=o,a=ue(e),u=Y(Ce,e),s=q(Ce,e);return u.open&&s.position==="popper"?r.jsx(Et,{...a,...l,ref:n}):null});Xt.displayName=Ce;var Zt="SelectBubbleInput",et=t.forwardRef(({__scopeSelect:o,value:n,...e},l)=>{const a=t.useRef(null),u=L(l,a),s=vt(n);return t.useEffect(()=>{const c=a.current;if(!c)return;const i=window.HTMLSelectElement.prototype,v=Object.getOwnPropertyDescriptor(i,"value").set;if(s!==n&&v){const w=new Event("change",{bubbles:!0});v.call(c,n),c.dispatchEvent(w)}},[s,n]),r.jsx(j.select,{...e,style:{...xt,...e.style},ref:u,defaultValue:n})});et.displayName=Zt;function tt(o){return o===""||o===void 0}function ot(o){const n=yt(o),e=t.useRef(""),l=t.useRef(0),a=t.useCallback(s=>{const c=e.current+s;n(c),(function i(f){e.current=f,window.clearTimeout(l.current),f!==""&&(l.current=window.setTimeout(()=>i(""),1e3))})(c)},[n]),u=t.useCallback(()=>{e.current="",window.clearTimeout(l.current)},[]);return t.useEffect(()=>()=>window.clearTimeout(l.current),[]),[e,a,u]}function nt(o,n,e){const a=n.length>1&&Array.from(n).every(f=>f===n[0])?n[0]:n,u=e?o.indexOf(e):-1;let s=Jt(o,Math.max(u,0));a.length===1&&(s=s.filter(f=>f!==e));const i=s.find(f=>f.textValue.toLowerCase().startsWith(a.toLowerCase()));return i!==e?i:void 0}function Jt(o,n){return o.map((e,l)=>o[(n+l)%o.length])}var Qt=_e,rt=Me,eo=Oe,to=De,oo=Le,st=ke,no=Ue,at=Ke,lt=ze,ro=Ge,so=qe,ct=Xe,it=Ze,dt=Qe;const ho=Qt,go=eo,ao=t.forwardRef(({className:o,children:n,...e},l)=>r.jsxs(rt,{ref:l,className:G("flex h-9 w-full items-center justify-between whitespace-nowrap rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",o),...e,children:[n,r.jsx(to,{asChild:!0,children:r.jsx(Ee,{className:"h-4 w-4 opacity-50"})})]}));ao.displayName=rt.displayName;const ut=t.forwardRef(({className:o,...n},e)=>r.jsx(ct,{ref:e,className:G("flex cursor-default items-center justify-center py-1",o),...n,children:r.jsx(jt,{className:"h-4 w-4"})}));ut.displayName=ct.displayName;const pt=t.forwardRef(({className:o,...n},e)=>r.jsx(it,{ref:e,className:G("flex cursor-default items-center justify-center py-1",o),...n,children:r.jsx(Ee,{className:"h-4 w-4"})}));pt.displayName=it.displayName;const lo=t.forwardRef(({className:o,children:n,position:e="popper",...l},a)=>r.jsx(oo,{children:r.jsxs(st,{ref:a,className:G("relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md 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",e==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",o),position:e,...l,children:[r.jsx(ut,{}),r.jsx(no,{className:G("p-1",e==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:n}),r.jsx(pt,{})]})}));lo.displayName=st.displayName;const co=t.forwardRef(({className:o,...n},e)=>r.jsx(at,{ref:e,className:G("px-2 py-1.5 text-sm font-semibold",o),...n}));co.displayName=at.displayName;const io=t.forwardRef(({className:o,children:n,...e},l)=>r.jsxs(lt,{ref:l,className:G("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",o),...e,children:[r.jsx("span",{className:"absolute right-2 flex h-3.5 w-3.5 items-center justify-center",children:r.jsx(so,{children:r.jsx(_t,{className:"h-4 w-4"})})}),r.jsx(ro,{children:n})]}));io.displayName=lt.displayName;const uo=t.forwardRef(({className:o,...n},e)=>r.jsx(dt,{ref:e,className:G("-mx-1 my-1 h-px bg-muted",o),...n}));uo.displayName=dt.displayName;export{ho as S,ao as a,go as b,lo as c,io as d};
@@ -0,0 +1 @@
1
+ const c=["draft","backlog","ready","queued","active","blocked","review","revision","done","canceled","duplicate"],t=["draft","backlog","ready","queued","active","blocked","review","revision"];function d(e){return{draft:"Draft",backlog:"Backlog",ready:"Ready",queued:"Queued",active:"Active",blocked:"Blocked",review:"Review",revision:"Revision",done:"Done",canceled:"Canceled",duplicate:"Duplicate"}[e]??e}function i(e){switch(e){case"ready":case"done":return"default";case"review":case"revision":case"active":case"queued":return"secondary";case"canceled":case"blocked":case"duplicate":return"destructive";default:return"outline"}}export{t as A,c as T,d as a,i as g};
@@ -1 +1 @@
1
- import{r as c,j as e,e as i}from"./index-DFcWlnzl.js";const d=c.forwardRef(({className:s,onCheckedChange:r,onChange:t,...o},n)=>{const l=a=>{t?.(a),r?.(a.target.checked)};return e.jsxs("label",{className:i("relative inline-flex cursor-pointer",s),children:[e.jsx("input",{type:"checkbox",className:"sr-only peer",onChange:l,ref:n,...o}),e.jsx("div",{className:"block bg-gray-300 w-9 h-5 rounded-full transition-colors duration-200 ease-in-out peer-checked:bg-blue-600"}),e.jsx("div",{className:"absolute left-0 top-0 bg-white w-4 h-4 rounded-full mt-0.5 ml-0.5 transition-transform duration-200 ease-in-out transform peer-checked:translate-x-4 shadow"})]})});d.displayName="Switch";export{d as S};
1
+ import{r as c,j as e,e as i}from"./index-SWBrq2bx.js";const d=c.forwardRef(({className:s,onCheckedChange:r,onChange:t,...o},n)=>{const l=a=>{t?.(a),r?.(a.target.checked)};return e.jsxs("label",{className:i("relative inline-flex cursor-pointer",s),children:[e.jsx("input",{type:"checkbox",className:"sr-only peer",onChange:l,ref:n,...o}),e.jsx("div",{className:"block bg-gray-300 w-9 h-5 rounded-full transition-colors duration-200 ease-in-out peer-checked:bg-blue-600"}),e.jsx("div",{className:"absolute left-0 top-0 bg-white w-4 h-4 rounded-full mt-0.5 ml-0.5 transition-transform duration-200 ease-in-out transform peer-checked:translate-x-4 shadow"})]})});d.displayName="Switch";export{d as S};
@@ -1 +1 @@
1
- import{r as l,am as F,ag as k,j as c,ah as $,b5 as D,ak as g,bk as y,bl as V,bm as G,aj as p,bn as L,e as T}from"./index-DFcWlnzl.js";var m="Tabs",[K,Q]=$(m,[y]),h=y(),[B,x]=K(m),N=l.forwardRef((e,a)=>{const{__scopeTabs:t,value:o,onValueChange:r,defaultValue:d,orientation:n="horizontal",dir:u,activationMode:f="automatic",...v}=e,i=F(u),[s,b]=k({prop:o,onChange:r,defaultProp:d??"",caller:m});return c.jsx(B,{scope:t,baseId:D(),value:s,onValueChange:b,orientation:n,dir:i,activationMode:f,children:c.jsx(g.div,{dir:i,"data-orientation":n,...v,ref:a})})});N.displayName=m;var C="TabsList",j=l.forwardRef((e,a)=>{const{__scopeTabs:t,loop:o=!0,...r}=e,d=x(C,t),n=h(t);return c.jsx(V,{asChild:!0,...n,orientation:d.orientation,dir:d.dir,loop:o,children:c.jsx(g.div,{role:"tablist","aria-orientation":d.orientation,...r,ref:a})})});j.displayName=C;var I="TabsTrigger",R=l.forwardRef((e,a)=>{const{__scopeTabs:t,value:o,disabled:r=!1,...d}=e,n=x(I,t),u=h(t),f=A(n.baseId,o),v=E(n.baseId,o),i=o===n.value;return c.jsx(G,{asChild:!0,...u,focusable:!r,active:i,children:c.jsx(g.button,{type:"button",role:"tab","aria-selected":i,"aria-controls":v,"data-state":i?"active":"inactive","data-disabled":r?"":void 0,disabled:r,id:f,...d,ref:a,onMouseDown:p(e.onMouseDown,s=>{!r&&s.button===0&&s.ctrlKey===!1?n.onValueChange(o):s.preventDefault()}),onKeyDown:p(e.onKeyDown,s=>{[" ","Enter"].includes(s.key)&&n.onValueChange(o)}),onFocus:p(e.onFocus,()=>{const s=n.activationMode!=="manual";!i&&!r&&s&&n.onValueChange(o)})})})});R.displayName=I;var w="TabsContent",_=l.forwardRef((e,a)=>{const{__scopeTabs:t,value:o,forceMount:r,children:d,...n}=e,u=x(w,t),f=A(u.baseId,o),v=E(u.baseId,o),i=o===u.value,s=l.useRef(i);return l.useEffect(()=>{const b=requestAnimationFrame(()=>s.current=!1);return()=>cancelAnimationFrame(b)},[]),c.jsx(L,{present:r||i,children:({present:b})=>c.jsx(g.div,{"data-state":i?"active":"inactive","data-orientation":u.orientation,role:"tabpanel","aria-labelledby":f,hidden:!b,id:v,tabIndex:0,...n,ref:a,style:{...e.style,animationDuration:s.current?"0s":void 0},children:b&&d})})});_.displayName=w;function A(e,a){return`${e}-trigger-${a}`}function E(e,a){return`${e}-content-${a}`}var q=N,S=j,M=R,P=_;const U=q,z=l.forwardRef(({className:e,...a},t)=>c.jsx(S,{ref:t,className:T("inline-flex h-9 items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground",e),...a}));z.displayName=S.displayName;const H=l.forwardRef(({className:e,...a},t)=>c.jsx(M,{ref:t,className:T("inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow",e),...a}));H.displayName=M.displayName;const O=l.forwardRef(({className:e,...a},t)=>c.jsx(P,{ref:t,className:T("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",e),...a}));O.displayName=P.displayName;export{U as T,z as a,H as b,O as c};
1
+ import{r as l,am as F,ag as k,j as c,ah as $,b5 as D,ak as g,bk as y,bl as V,bm as G,aj as p,bn as L,e as T}from"./index-SWBrq2bx.js";var m="Tabs",[K,Q]=$(m,[y]),h=y(),[B,x]=K(m),N=l.forwardRef((e,a)=>{const{__scopeTabs:t,value:o,onValueChange:r,defaultValue:d,orientation:n="horizontal",dir:u,activationMode:f="automatic",...v}=e,i=F(u),[s,b]=k({prop:o,onChange:r,defaultProp:d??"",caller:m});return c.jsx(B,{scope:t,baseId:D(),value:s,onValueChange:b,orientation:n,dir:i,activationMode:f,children:c.jsx(g.div,{dir:i,"data-orientation":n,...v,ref:a})})});N.displayName=m;var C="TabsList",j=l.forwardRef((e,a)=>{const{__scopeTabs:t,loop:o=!0,...r}=e,d=x(C,t),n=h(t);return c.jsx(V,{asChild:!0,...n,orientation:d.orientation,dir:d.dir,loop:o,children:c.jsx(g.div,{role:"tablist","aria-orientation":d.orientation,...r,ref:a})})});j.displayName=C;var I="TabsTrigger",R=l.forwardRef((e,a)=>{const{__scopeTabs:t,value:o,disabled:r=!1,...d}=e,n=x(I,t),u=h(t),f=A(n.baseId,o),v=E(n.baseId,o),i=o===n.value;return c.jsx(G,{asChild:!0,...u,focusable:!r,active:i,children:c.jsx(g.button,{type:"button",role:"tab","aria-selected":i,"aria-controls":v,"data-state":i?"active":"inactive","data-disabled":r?"":void 0,disabled:r,id:f,...d,ref:a,onMouseDown:p(e.onMouseDown,s=>{!r&&s.button===0&&s.ctrlKey===!1?n.onValueChange(o):s.preventDefault()}),onKeyDown:p(e.onKeyDown,s=>{[" ","Enter"].includes(s.key)&&n.onValueChange(o)}),onFocus:p(e.onFocus,()=>{const s=n.activationMode!=="manual";!i&&!r&&s&&n.onValueChange(o)})})})});R.displayName=I;var w="TabsContent",_=l.forwardRef((e,a)=>{const{__scopeTabs:t,value:o,forceMount:r,children:d,...n}=e,u=x(w,t),f=A(u.baseId,o),v=E(u.baseId,o),i=o===u.value,s=l.useRef(i);return l.useEffect(()=>{const b=requestAnimationFrame(()=>s.current=!1);return()=>cancelAnimationFrame(b)},[]),c.jsx(L,{present:r||i,children:({present:b})=>c.jsx(g.div,{"data-state":i?"active":"inactive","data-orientation":u.orientation,role:"tabpanel","aria-labelledby":f,hidden:!b,id:v,tabIndex:0,...n,ref:a,style:{...e.style,animationDuration:s.current?"0s":void 0},children:b&&d})})});_.displayName=w;function A(e,a){return`${e}-trigger-${a}`}function E(e,a){return`${e}-content-${a}`}var q=N,S=j,M=R,P=_;const U=q,z=l.forwardRef(({className:e,...a},t)=>c.jsx(S,{ref:t,className:T("inline-flex h-9 items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground",e),...a}));z.displayName=S.displayName;const H=l.forwardRef(({className:e,...a},t)=>c.jsx(M,{ref:t,className:T("inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow",e),...a}));H.displayName=M.displayName;const O=l.forwardRef(({className:e,...a},t)=>c.jsx(P,{ref:t,className:T("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",e),...a}));O.displayName=P.displayName;export{U as T,z as a,H as b,O as c};
@@ -1,4 +1,4 @@
1
- import{c}from"./index-DFcWlnzl.js";/**
1
+ import{c}from"./index-SWBrq2bx.js";/**
2
2
  * @license lucide-react v0.542.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1 +1 @@
1
- import{r as t,a8 as j,j as u}from"./index-DFcWlnzl.js";import{x as k,a as B}from"./xterm-DTxiCjtJ.js";function A({sessionId:l,className:p,heightPx:d=160,maxScrollback:m=200}){const h=t.useRef(null),v=t.useRef(null),w=t.useRef(null),y=t.useRef(null),[x,R]=t.useState(!0),o=t.useRef([]),i=t.useRef(null);return t.useEffect(()=>{const a=h.current;if(!a||!l)return;const e=new k.Terminal({disableStdin:!0,cursorBlink:!1,convertEol:!0,scrollback:Math.max(50,Math.min(m,1e3)),fontSize:12,fontFamily:"'IBM Plex Mono', 'Source Code Pro', 'Fira Code', ui-monospace, Menlo, Monaco, monospace",lineHeight:1.25,letterSpacing:.3,theme:{background:"#1a1b26",foreground:"#c0caf5",cursor:"#c0caf5",selectionBackground:"#33467c",black:"#15161e",red:"#f7768e",green:"#9ece6a",yellow:"#e0af68",blue:"#7aa2f7",magenta:"#bb9af7",cyan:"#7dcfff",white:"#a9b1d6",brightBlack:"#414868",brightRed:"#f7768e",brightGreen:"#9ece6a",brightYellow:"#e0af68",brightBlue:"#7aa2f7",brightMagenta:"#bb9af7",brightCyan:"#7dcfff",brightWhite:"#c0caf5"}}),f=new B.FitAddon;e.loadAddon(f),e.open(a),a.style.height=`${d}px`,v.current=e,w.current=f;const s=()=>{try{const n=a.getBoundingClientRect();n.width>8&&n.height>8&&e.element&&f.fit()}catch{}},S=setTimeout(()=>s(),100),g=new ResizeObserver(()=>s());g.observe(a);const b=()=>{document.visibilityState==="visible"&&setTimeout(s,50)};document.addEventListener("visibilitychange",b);const c=new WebSocket(`${j}/ws/terminal-preview/${l}`);y.current=c,c.onopen=()=>R(!1);const E=()=>{i.current=null;const n=o.current;if(n.length){o.current=[];try{e.write(n.join(""))}catch{}}},F=()=>{i.current===null&&(i.current=requestAnimationFrame(E))};return c.onmessage=n=>{let r;try{r=JSON.parse(n.data)}catch{return}if(r?.type==="snapshot"){if(e.reset(),o.current=[],r.data)try{e.write(r.data)}catch{}s()}else r?.type==="data"&&r.data&&(o.current.push(String(r.data)),F())},c.onclose=()=>{},c.onerror=()=>{},()=>{clearTimeout(S),g.disconnect(),document.removeEventListener("visibilitychange",b);try{c.close()}catch{}i.current!==null&&cancelAnimationFrame(i.current),i.current=null,o.current=[],e.dispose()}},[l,d,m]),u.jsxs("div",{className:`relative w-full ${p||""}`.trim(),children:[x&&u.jsx("div",{className:"absolute inset-0 flex items-center justify-center bg-gray-50/60 z-10",children:u.jsx("div",{className:"text-xs text-muted-foreground",children:"Loading preview…"})}),u.jsx("div",{ref:h,className:"border border-muted rounded overflow-hidden"})]})}export{A as T};
1
+ import{r as t,a8 as j,j as u}from"./index-SWBrq2bx.js";import{x as k,a as B}from"./xterm-DTxiCjtJ.js";function A({sessionId:l,className:p,heightPx:d=160,maxScrollback:m=200}){const h=t.useRef(null),v=t.useRef(null),w=t.useRef(null),y=t.useRef(null),[x,R]=t.useState(!0),o=t.useRef([]),i=t.useRef(null);return t.useEffect(()=>{const a=h.current;if(!a||!l)return;const e=new k.Terminal({disableStdin:!0,cursorBlink:!1,convertEol:!0,scrollback:Math.max(50,Math.min(m,1e3)),fontSize:12,fontFamily:"'IBM Plex Mono', 'Source Code Pro', 'Fira Code', ui-monospace, Menlo, Monaco, monospace",lineHeight:1.25,letterSpacing:.3,theme:{background:"#1a1b26",foreground:"#c0caf5",cursor:"#c0caf5",selectionBackground:"#33467c",black:"#15161e",red:"#f7768e",green:"#9ece6a",yellow:"#e0af68",blue:"#7aa2f7",magenta:"#bb9af7",cyan:"#7dcfff",white:"#a9b1d6",brightBlack:"#414868",brightRed:"#f7768e",brightGreen:"#9ece6a",brightYellow:"#e0af68",brightBlue:"#7aa2f7",brightMagenta:"#bb9af7",brightCyan:"#7dcfff",brightWhite:"#c0caf5"}}),f=new B.FitAddon;e.loadAddon(f),e.open(a),a.style.height=`${d}px`,v.current=e,w.current=f;const s=()=>{try{const n=a.getBoundingClientRect();n.width>8&&n.height>8&&e.element&&f.fit()}catch{}},S=setTimeout(()=>s(),100),g=new ResizeObserver(()=>s());g.observe(a);const b=()=>{document.visibilityState==="visible"&&setTimeout(s,50)};document.addEventListener("visibilitychange",b);const c=new WebSocket(`${j}/ws/terminal-preview/${l}`);y.current=c,c.onopen=()=>R(!1);const E=()=>{i.current=null;const n=o.current;if(n.length){o.current=[];try{e.write(n.join(""))}catch{}}},F=()=>{i.current===null&&(i.current=requestAnimationFrame(E))};return c.onmessage=n=>{let r;try{r=JSON.parse(n.data)}catch{return}if(r?.type==="snapshot"){if(e.reset(),o.current=[],r.data)try{e.write(r.data)}catch{}s()}else r?.type==="data"&&r.data&&(o.current.push(String(r.data)),F())},c.onclose=()=>{},c.onerror=()=>{},()=>{clearTimeout(S),g.disconnect(),document.removeEventListener("visibilitychange",b);try{c.close()}catch{}i.current!==null&&cancelAnimationFrame(i.current),i.current=null,o.current=[],e.dispose()}},[l,d,m]),u.jsxs("div",{className:`relative w-full ${p||""}`.trim(),children:[x&&u.jsx("div",{className:"absolute inset-0 flex items-center justify-center bg-gray-50/60 z-10",children:u.jsx("div",{className:"text-xs text-muted-foreground",children:"Loading preview…"})}),u.jsx("div",{ref:h,className:"border border-muted rounded overflow-hidden"})]})}export{A as T};
@@ -1 +1 @@
1
- import{r as i,ad as v,A as f}from"./index-DFcWlnzl.js";function j(){const[y,p]=i.useState([]),[m,c]=i.useState(!1),[d,o]=i.useState(null),{refresh:w}=v(),S=i.useCallback(async(s,n)=>{try{c(!0),o(null);const e=await fetch(`${f}/api/v1/terminal/${s}/create`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({startupCommand:n})});if(!e.ok){const t=await e.json();throw new Error(t.error||"Failed to create terminal session")}const r=await e.json();return await w(),r.sessionId}catch(e){const r=e instanceof Error?e.message:"Unknown error";return o(r),null}finally{c(!1)}},[w]),g=i.useCallback(async s=>{try{c(!0),o(null);let n;if(s.startsWith("session-")){const r=s.split("-");n=`${r[0]}-${r[1]}`}else{const r=s.split("-");n=`${r[0]}-${r[1]}`}const e=await fetch(`${f}/api/v1/terminal/${n}/destroy`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sessionId:s})});if(!e.ok){const r=await e.json();throw new Error(r.error||"Failed to destroy terminal session")}return p(r=>r.filter(t=>t.id!==s)),await w(),!0}catch(n){const e=n instanceof Error?n.message:"Unknown error";return o(e),!1}finally{c(!1)}},[w]),$=i.useCallback(async(s,n,e)=>{try{o(null);let r;if(s.startsWith("session-")){const a=s.split("-");r=`${a[0]}-${a[1]}`}else{const a=s.split("-");r=`${a[0]}-${a[1]}`}const t=await fetch(`${f}/api/v1/terminal/${r}/resize`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sessionId:s,cols:n,rows:e})});if(!t.ok){const a=await t.json();throw new Error(a.error||"Failed to resize terminal session")}return!0}catch(r){const t=r instanceof Error?r.message:"Unknown error";return o(t),!1}},[]),k=i.useCallback(async(s,n,e)=>{try{c(!0),o(null);const r=new URLSearchParams;s&&r.set("taskId",s),n&&(r.set("withPreview","true"),e&&Number.isFinite(e)&&r.set("lines",String(e)));const t=`${f}/api/v1/terminal/sessions${r.toString()?`?${r.toString()}`:""}`,a=await fetch(t);if(!a.ok){const l=await a.json();throw new Error(l.error||"Failed to fetch terminal sessions")}const u=await a.json();p(u.sessions)}catch(r){const t=r instanceof Error?r.message:"Unknown error";o(t)}finally{c(!1)}},[]),E=i.useCallback(async(s,n=8)=>{try{o(null);const e=new URLSearchParams;e.set("sessionId",s),e.set("withPreview","true"),e.set("lines",String(n)),e.set("colorize","true");const r=`${f}/api/v1/terminal/sessions?${e.toString()}`,t=await fetch(r);if(!t.ok){const l=await t.json().catch(()=>({}));throw new Error(l.error||"Failed to fetch preview")}const a=await t.json(),u=Array.isArray(a?.sessions)&&a.sessions[0]?.preview?a.sessions[0].preview:[];return p(l=>l.map(h=>h.id===s?{...h,preview:u}:h)),u}catch(e){const r=e instanceof Error?e.message:"Unknown error";return o(r),[]}},[]);return{sessions:y,loading:m,error:d,createSession:S,destroySession:g,resizeSession:$,refreshSessions:k,fetchPreview:E}}export{j as u};
1
+ import{r as i,ad as v,A as f}from"./index-SWBrq2bx.js";function j(){const[y,p]=i.useState([]),[m,c]=i.useState(!1),[d,o]=i.useState(null),{refresh:w}=v(),S=i.useCallback(async(s,n)=>{try{c(!0),o(null);const e=await fetch(`${f}/api/v1/terminal/${s}/create`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({startupCommand:n})});if(!e.ok){const t=await e.json();throw new Error(t.error||"Failed to create terminal session")}const r=await e.json();return await w(),r.sessionId}catch(e){const r=e instanceof Error?e.message:"Unknown error";return o(r),null}finally{c(!1)}},[w]),g=i.useCallback(async s=>{try{c(!0),o(null);let n;if(s.startsWith("session-")){const r=s.split("-");n=`${r[0]}-${r[1]}`}else{const r=s.split("-");n=`${r[0]}-${r[1]}`}const e=await fetch(`${f}/api/v1/terminal/${n}/destroy`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sessionId:s})});if(!e.ok){const r=await e.json();throw new Error(r.error||"Failed to destroy terminal session")}return p(r=>r.filter(t=>t.id!==s)),await w(),!0}catch(n){const e=n instanceof Error?n.message:"Unknown error";return o(e),!1}finally{c(!1)}},[w]),$=i.useCallback(async(s,n,e)=>{try{o(null);let r;if(s.startsWith("session-")){const a=s.split("-");r=`${a[0]}-${a[1]}`}else{const a=s.split("-");r=`${a[0]}-${a[1]}`}const t=await fetch(`${f}/api/v1/terminal/${r}/resize`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sessionId:s,cols:n,rows:e})});if(!t.ok){const a=await t.json();throw new Error(a.error||"Failed to resize terminal session")}return!0}catch(r){const t=r instanceof Error?r.message:"Unknown error";return o(t),!1}},[]),k=i.useCallback(async(s,n,e)=>{try{c(!0),o(null);const r=new URLSearchParams;s&&r.set("taskId",s),n&&(r.set("withPreview","true"),e&&Number.isFinite(e)&&r.set("lines",String(e)));const t=`${f}/api/v1/terminal/sessions${r.toString()?`?${r.toString()}`:""}`,a=await fetch(t);if(!a.ok){const l=await a.json();throw new Error(l.error||"Failed to fetch terminal sessions")}const u=await a.json();p(u.sessions)}catch(r){const t=r instanceof Error?r.message:"Unknown error";o(t)}finally{c(!1)}},[]),E=i.useCallback(async(s,n=8)=>{try{o(null);const e=new URLSearchParams;e.set("sessionId",s),e.set("withPreview","true"),e.set("lines",String(n)),e.set("colorize","true");const r=`${f}/api/v1/terminal/sessions?${e.toString()}`,t=await fetch(r);if(!t.ok){const l=await t.json().catch(()=>({}));throw new Error(l.error||"Failed to fetch preview")}const a=await t.json(),u=Array.isArray(a?.sessions)&&a.sessions[0]?.preview?a.sessions[0].preview:[];return p(l=>l.map(h=>h.id===s?{...h,preview:u}:h)),u}catch(e){const r=e instanceof Error?e.message:"Unknown error";return o(r),[]}},[]);return{sessions:y,loading:m,error:d,createSession:S,destroySession:g,resizeSession:$,refreshSessions:k,fetchPreview:E}}export{j as u};
@@ -1,4 +1,4 @@
1
- import{c as e}from"./index-DFcWlnzl.js";/**
1
+ import{c as e}from"./index-SWBrq2bx.js";/**
2
2
  * @license lucide-react v0.542.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
package/static/index.html CHANGED
@@ -8,7 +8,7 @@
8
8
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
9
9
  <link href="https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap" rel="stylesheet">
10
10
  <title>Coconut - Agentic Development Environment</title>
11
- <script type="module" crossorigin src="/assets/index-DFcWlnzl.js"></script>
11
+ <script type="module" crossorigin src="/assets/index-SWBrq2bx.js"></script>
12
12
  <link rel="stylesheet" crossorigin href="/assets/index-CHdBxVyk.css">
13
13
  </head>
14
14
  <body class="font-inter">
@@ -1,6 +0,0 @@
1
- import{c as u,j as e,e as p,B as c,E as x,I as j,P as v}from"./index-DFcWlnzl.js";import{L as r}from"./label-DBuh-ke5.js";import{S as y,a as S,b as f,c as g,d as b}from"./select-44mcS2_G.js";/**
2
- * @license lucide-react v0.542.0 - ISC
3
- *
4
- * This source code is licensed under the ISC license.
5
- * See the LICENSE file in the root directory of this source tree.
6
- */const k=[["path",{d:"m3 17 2 2 4-4",key:"1jhpwq"}],["path",{d:"m3 7 2 2 4-4",key:"1obspn"}],["path",{d:"M13 6h8",key:"15sg57"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 18h8",key:"oe0vm4"}]],E=u("list-checks",k),I=[{value:"pending",label:"Pending"},{value:"in-progress",label:"In Progress"},{value:"completed",label:"Completed"},{value:"failed",label:"Blocked / Failed"}],N=()=>typeof crypto<"u"&&"randomUUID"in crypto?crypto.randomUUID():`step-${Date.now()}-${Math.floor(Math.random()*1e3)}`;function L({steps:l,onChange:i,disabled:n,className:o}){const d=(a,t)=>{i(l.map(s=>s.id===a?{...s,...t}:s))},h=a=>{i(l.filter(t=>t.id!==a))},m=()=>{i([...l,{id:N(),description:"",status:"pending"}])};return e.jsxs("div",{className:p("space-y-4",o),children:[l.length===0&&e.jsx("p",{className:"text-sm text-muted-foreground",children:"Break the work down into actionable steps."}),l.map((a,t)=>e.jsxs("div",{className:"rounded-lg border p-4 space-y-3",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("p",{className:"text-sm font-semibold",children:["Step ",t+1]}),e.jsx(c,{type:"button",variant:"ghost",size:"icon",onClick:()=>h(a.id),disabled:n,"aria-label":`Remove step ${t+1}`,children:e.jsx(x,{className:"h-4 w-4"})})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(r,{htmlFor:`${a.id}-description`,children:"Description"}),e.jsx(j,{id:`${a.id}-description`,value:a.description,onChange:s=>d(a.id,{description:s.target.value}),placeholder:"What needs to be done?",disabled:n})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(r,{htmlFor:`${a.id}-status`,children:"Status"}),e.jsxs(y,{value:a.status,onValueChange:s=>d(a.id,{status:s}),disabled:n,children:[e.jsx(S,{id:`${a.id}-status`,children:e.jsx(f,{placeholder:"Select status"})}),e.jsx(g,{children:I.map(s=>e.jsx(b,{value:s.value,children:s.label},s.value))})]})]})]},a.id)),e.jsxs(c,{type:"button",variant:"outline",onClick:m,disabled:n,children:[e.jsx(v,{className:"mr-2 h-4 w-4"}),"Add Step"]})]})}export{L as I,E as L};
@@ -1,90 +0,0 @@
1
- import{u as X,q as Z,a as ee,s as te,r as n,A,j as e,B as j,L as E,I as y,a0 as se,y as ae,H as ie,J as ne,N as re,O as oe,Q as le,R as ce,U as de}from"./index-DFcWlnzl.js";import{C as he,b as ue,c as me,a as pe}from"./card-BcPlIAH5.js";import{L as h}from"./label-DBuh-ke5.js";import{M as ge}from"./markdown-editor-B4YNQFT2.js";import{S as F,a as L,b as P,c as I,d as r}from"./select-44mcS2_G.js";import{C as xe}from"./CollapsibleSection-M5cXbl92.js";import{I as fe,L as je}from"./ImplementationStepsEditor-HliLQav5.js";import{T as ye}from"./TagInput-C6lI-ePr.js";import{A as ve}from"./arrow-left-1S-835kP.js";import"./chevron-up-CqM3won3.js";import"./badge-BUEY53dV.js";const R={feature:{name:"New Feature",content:`## Problem Statement
2
- Describe the problem this new feature addresses.
3
-
4
- ## Proposed Solution
5
- Describe the solution you're proposing.
6
-
7
- ### Key Features
8
- - Feature 1
9
- - Feature 2
10
- - Feature 3
11
-
12
- ## Implementation Details
13
- Describe the technical implementation approach.
14
-
15
- ## Testing Strategy
16
- - [ ] Unit tests
17
- - [ ] Integration tests
18
- - [ ] Manual testing
19
-
20
- ## Rollout Plan
21
- 1. Development and testing
22
- 2. Staging deployment
23
- 3. Production rollout
24
-
25
- ## Success Metrics
26
- Define how you'll measure the success of this change.`},"quick-change":{name:"Quick Change",content:`## Overview
27
- Describe the quick change you're proposing.`},"bug-fix":{name:"Bug Fix",content:`## Bug Description
28
- Describe the bug that needs to be fixed.
29
-
30
- ## Steps to Reproduce
31
- 1. Step 1
32
- 2. Step 2
33
- 3. Step 3
34
-
35
- ## Expected Behavior
36
- Describe what should happen.
37
-
38
- ## Actual Behavior
39
- Describe what currently happens.
40
-
41
- ## Root Cause Analysis
42
- Explain the underlying cause of the bug.
43
-
44
- ## Proposed Fix
45
- Describe the solution to fix the bug.
46
-
47
- ## Testing Plan
48
- - [ ] Verify fix resolves the original issue
49
- - [ ] Test edge cases
50
- - [ ] Regression testing
51
-
52
- ## Risk Assessment
53
- - Impact: Low/Medium/High
54
- - Complexity: Low/Medium/High
55
- - Risk of introducing new bugs: Low/Medium/High`},refactor:{name:"Refactor",content:`## Current State
56
- Describe what needs to be refactored and why.
57
-
58
- ## Refactoring Goals
59
- - Improve code readability
60
- - Reduce complexity
61
- - Enhance maintainability
62
-
63
- ## Proposed Changes
64
- Describe the refactoring approach.
65
-
66
- ## Risk Assessment
67
- - Breaking changes: None/Low/Medium/High
68
- - Testing strategy for regression prevention`},documentation:{name:"Documentation",content:`## Documentation Gap
69
- What documentation is missing or outdated?
70
-
71
- ## Proposed Updates
72
- - [ ] API documentation
73
- - [ ] User guides
74
- - [ ] Code comments
75
- - [ ] README updates
76
-
77
- ## Target Audience
78
- Who will benefit from these documentation changes?`},"security-fix":{name:"Security Fix",content:`## Security Issue
79
- Brief description (avoid sensitive details).
80
-
81
- ## Impact Assessment
82
- - Severity: Low/Medium/High/Critical
83
- - Affected components
84
- - User impact
85
-
86
- ## Proposed Fix
87
- High-level approach to resolution.
88
-
89
- ## Verification Plan
90
- How to confirm the fix works without exposing the vulnerability.`}},M="feature";function Pe(){const B=X(),H=Z(),{toast:v}=ee(),{user:u,authEnabled:S}=te(),[c,w]=n.useState(!1),[U,q]=n.useState(M),[O,p]=n.useState(!1),[C,g]=n.useState(null),b=H.state,N=b?.description||R[M].content,$=b?.title||"",[a,l]=n.useState({title:$,description:N,priority:"medium",author:{id:"current-user",name:"",email:""}}),[m,V]=n.useState([]),[D,z]=n.useState([]),[K,_]=n.useState(N),x=n.useCallback(t=>{if((t.metaKey||t.ctrlKey)&&t.key==="Enter"&&(t.preventDefault(),!c&&a.title)){const s=document.querySelector("form");s&&s.requestSubmit()}},[c,a.title]),Q=a.description!==K,W=t=>{Q?(g(t),p(!0)):k(t)},k=t=>{const s=R[t];q(t),l(i=>({...i,description:s.content})),_(s.content)},G=()=>{C&&(k(C),g(null)),p(!1)},J=()=>{g(null),p(!1)};n.useEffect(()=>(document.addEventListener("keydown",x),()=>{document.removeEventListener("keydown",x)}),[x]);const T=n.useCallback(async()=>{try{const s=await(await fetch(`${A}/api/v1/user/settings`)).json();if(s.success&&s.data){const{profile:i}=s.data;l(d=>({...d,author:{...d.author,name:i?.firstName&&i?.lastName?`${i.firstName} ${i.lastName}`.trim():i?.firstName||i?.lastName||d.author.name,email:i?.email||d.author.email}}))}}catch(t){console.error("Failed to load user settings:",t)}},[]);n.useEffect(()=>{S?u&&l(t=>({...t,author:{...t.author,id:u.id||t.author.id,name:u.name||t.author.name,email:u.email||t.author.email}})):T()},[S,u,T]);const Y=async t=>{t.preventDefault(),w(!0);try{const s=m.map(o=>({id:o.id,description:o.description.trim(),status:o.status})).filter(o=>o.description.length>0),i=D.map(o=>o.trim()).filter(o=>o.length>0),d={title:a.title,author:{...a.author,type:"human"},planSteps:s,metadata:{priority:a.priority,tags:i},content:a.description},f=await(await fetch(`${A}/api/v1/tasks`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(d)})).json();if(f.success)v({title:"Success",description:"Task created successfully."}),B(`/tasks/${f.data.id}`);else throw new Error(f.error?.message||"Failed to create task")}catch(s){const i=s instanceof Error?s.message:"Unknown error occurred";v({title:"Error",description:`Error creating task: ${i}`,variant:"destructive"})}finally{w(!1)}};return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl font-bold tracking-tight",children:"New Task"}),e.jsx("p",{className:"text-muted-foreground",children:"Create a new task"})]}),e.jsx("div",{className:"flex items-center gap-2",children:e.jsx(j,{variant:"ghost",size:"sm",asChild:!0,children:e.jsx(E,{to:"/tasks",className:"flex items-center gap-1 text-muted-foreground hover:text-foreground transition-colors",children:e.jsx(ve,{className:"h-4 w-4"})})})})]}),e.jsx("form",{onSubmit:Y,children:e.jsxs(he,{children:[e.jsx(ue,{children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx(me,{children:"Task Details"}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(h,{htmlFor:"template-select",className:"text-sm text-muted-foreground",children:"Template:"}),e.jsxs(F,{value:U,onValueChange:W,children:[e.jsx(L,{className:"w-36",children:e.jsx(P,{})}),e.jsxs(I,{children:[e.jsx(r,{value:"feature",children:"New Feature"}),e.jsx(r,{value:"quick-change",children:"Quick Change"}),e.jsx(r,{value:"bug-fix",children:"Bug Fix"}),e.jsx(r,{value:"refactor",children:"Refactor"}),e.jsx(r,{value:"documentation",children:"Documentation"}),e.jsx(r,{value:"security-fix",children:"Security Fix"})]})]})]})]})}),e.jsxs(pe,{className:"space-y-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(h,{htmlFor:"title",children:"Title *"}),e.jsx(y,{id:"title",placeholder:"Brief overview of the task",value:a.title,onChange:t=>l(s=>({...s,title:t.target.value})),required:!0})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(h,{htmlFor:"description",children:"Description"}),e.jsx(ge,{value:a.description,onChange:t=>l(s=>({...s,description:t||""})),placeholder:"Write your task description in markdown...",height:300})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(h,{htmlFor:"author-name",children:"Author Name"}),e.jsx(y,{id:"author-name",value:a.author.name,onChange:t=>l(s=>({...s,author:{...s.author,name:t.target.value}})),required:!0})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(h,{htmlFor:"author-email",children:"Author Email"}),e.jsx(y,{id:"author-email",type:"email",value:a.author.email,onChange:t=>l(s=>({...s,author:{...s.author,email:t.target.value}}))})]})]}),e.jsx(xe,{icon:e.jsx(je,{className:"h-4 w-4"}),title:"Optional Implementation Detail",children:e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(h,{htmlFor:"priority",children:"Priority"}),e.jsxs(F,{value:a.priority,onValueChange:t=>l(s=>({...s,priority:t})),children:[e.jsx(L,{children:e.jsx(P,{placeholder:"Select priority"})}),e.jsxs(I,{children:[e.jsx(r,{value:"low",children:"Low"}),e.jsx(r,{value:"medium",children:"Medium"}),e.jsx(r,{value:"high",children:"High"}),e.jsx(r,{value:"critical",children:"Critical"})]})]})]}),e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"flex items-baseline justify-between gap-4",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-medium",children:"Implementation Steps"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Break the change into actionable steps."})]}),m.length>0&&e.jsxs("span",{className:"text-xs text-muted-foreground",children:[m.length," step",m.length===1?"":"s"]})]}),e.jsx(fe,{steps:m,onChange:V,disabled:c})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("p",{className:"text-sm font-medium",children:"Tags"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Use tags to categorize this task by area, team, or priority."}),e.jsx(ye,{tags:D,onChange:z,disabled:c,placeholder:"Add a tag (e.g. frontend, infra)"})]})]})}),e.jsxs("div",{className:"flex justify-end gap-2",children:[e.jsx(j,{type:"button",variant:"outline",asChild:!0,children:e.jsx(E,{to:"/tasks",children:"Cancel"})}),e.jsx(j,{type:"submit",disabled:c||!a.title,className:"relative",children:c?e.jsx(e.Fragment,{children:"Creating..."}):e.jsxs(e.Fragment,{children:[e.jsx(se,{className:"mr-2 h-4 w-4"}),"Create Task",e.jsx("span",{className:"ml-2 text-xs opacity-60 font-mono",children:"⌘↵"})]})})]})]})]})}),e.jsx(ae,{open:O,onOpenChange:p,children:e.jsxs(ie,{children:[e.jsxs(ne,{children:[e.jsx(re,{children:"Switch Template?"}),e.jsx(oe,{children:"You have unsaved changes to your task description. Switching templates will replace your current content with the new template. This action cannot be undone."})]}),e.jsxs(le,{children:[e.jsx(ce,{onClick:J,children:"Cancel"}),e.jsx(de,{onClick:G,children:"Switch Template"})]})]})})]})}export{Pe as NewTaskPage};
@@ -1 +0,0 @@
1
- const c=["draft","backlog","ready","queued","active","blocked","review","done","canceled","duplicate"],t=["draft","backlog","ready","queued","active","blocked","review"];function d(e){return{draft:"Draft",backlog:"Backlog",ready:"Ready",queued:"Queued",active:"Active",blocked:"Blocked",review:"Review",done:"Done",canceled:"Canceled",duplicate:"Duplicate"}[e]??e}function r(e){switch(e){case"ready":case"done":return"default";case"review":case"active":case"queued":return"secondary";case"canceled":case"blocked":case"duplicate":return"destructive";default:return"outline"}}export{t as A,c as T,d as a,r as g};