cognova 0.2.8 → 0.2.9

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 (166) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/_nuxt/{mfAEx0Kz.js → -JdScH3W.js} +1 -1
  3. package/.output/public/_nuxt/{CYQP4zpi.js → 0EY9Msdx.js} +1 -1
  4. package/.output/public/_nuxt/{BwyXWqBY.js → 1lOC4Si0.js} +1 -1
  5. package/.output/public/_nuxt/{DaBSQDif.js → 1zIQX9mh.js} +1 -1
  6. package/.output/public/_nuxt/{B9zgEO8N.js → 4Qy4OdWt.js} +1 -1
  7. package/.output/public/_nuxt/{DmDPSvxi.js → 4nN41Tyd.js} +1 -1
  8. package/.output/public/_nuxt/{cPPThz84.js → 5MZBbx-H.js} +1 -1
  9. package/.output/public/_nuxt/{DtJnWtpL.js → 6lIxuL6n.js} +1 -1
  10. package/.output/public/_nuxt/AUdD1uDD.js +1 -0
  11. package/.output/public/_nuxt/{D2kQkOaG.js → B-513wJW.js} +1 -1
  12. package/.output/public/_nuxt/{BBDxhFYY.js → B1vDCixB.js} +1 -1
  13. package/.output/public/_nuxt/{BjnQ1pI1.js → B2MVZlI-.js} +1 -1
  14. package/.output/public/_nuxt/{DmOS3vFH.js → B5JDxHxC.js} +1 -1
  15. package/.output/public/_nuxt/{njnzCNrH.js → B63LIwsW.js} +3 -3
  16. package/.output/public/_nuxt/{BqTdsCnW.js → B6bnHNWY.js} +1 -1
  17. package/.output/public/_nuxt/{SfaNtyKS.js → B6wYZD_K.js} +1 -1
  18. package/.output/public/_nuxt/{D4_89MZm.js → B8Ou5yh2.js} +1 -1
  19. package/.output/public/_nuxt/{zXvvpsZj.js → BE4Ndhrq.js} +1 -1
  20. package/.output/public/_nuxt/{DwIYtFfA.js → BES6FzF5.js} +1 -1
  21. package/.output/public/_nuxt/{BdxP21ep.js → BE_OHTBv.js} +1 -1
  22. package/.output/public/_nuxt/{BmdlymIW.js → BJ8jbKuq.js} +1 -1
  23. package/.output/public/_nuxt/{U3f6dy8i.js → BNBGEa-U.js} +1 -1
  24. package/.output/public/_nuxt/{C6FFW_cO.js → BOGXUgGg.js} +1 -1
  25. package/.output/public/_nuxt/{Cr0NfhPB.js → BQ1T6zWA.js} +1 -1
  26. package/.output/public/_nuxt/{B5SnZL2l.js → BVc_fOF1.js} +1 -1
  27. package/.output/public/_nuxt/{D4X6ONPF.js → BX6vcvkp.js} +1 -1
  28. package/.output/public/_nuxt/{GGcn5KPW.js → BYIq3eP8.js} +1 -1
  29. package/.output/public/_nuxt/{C24so3m7.js → BZqdzrSw.js} +2 -2
  30. package/.output/public/_nuxt/{BUC36BHp.js → BaYtugUf.js} +1 -1
  31. package/.output/public/_nuxt/{eE8TtXgC.js → Be5L93GM.js} +3 -3
  32. package/.output/public/_nuxt/{C1tCdK-M.js → BfECQayu.js} +1 -1
  33. package/.output/public/_nuxt/{CDkyQ1eQ.js → BgG2k-zy.js} +1 -1
  34. package/.output/public/_nuxt/{CewcVxDS.js → BhnONkIm.js} +1 -1
  35. package/.output/public/_nuxt/{-2AbaFNH.js → BjI5wb_q.js} +1 -1
  36. package/.output/public/_nuxt/{BnJ-6YDw.js → Bk9-HxOg.js} +1 -1
  37. package/.output/public/_nuxt/{nHSiDk8N.js → BltasKce.js} +1 -1
  38. package/.output/public/_nuxt/{CF33v_m5.js → Bp9kHdw6.js} +1 -1
  39. package/.output/public/_nuxt/{C7qhmmZh.js → Bsdcw5gr.js} +1 -1
  40. package/.output/public/_nuxt/{yJ9vRvHj.js → BsnhHCOa.js} +1 -1
  41. package/.output/public/_nuxt/{CSHcfejh.js → BwJVN9k0.js} +1 -1
  42. package/.output/public/_nuxt/{KEeoKtq_.js → BwVt3BzR.js} +1 -1
  43. package/.output/public/_nuxt/{BefOhWHD.js → BwdxQyyo.js} +1 -1
  44. package/.output/public/_nuxt/{BE1CVWts.js → BzTjmQCD.js} +1 -1
  45. package/.output/public/_nuxt/{B-AlyT2D.js → C1FhgWcI.js} +1 -1
  46. package/.output/public/_nuxt/{D_obX2Hj.js → C2DZeD9G.js} +1 -1
  47. package/.output/public/_nuxt/{BXtZVbmx.js → C3JOLqW1.js} +1 -1
  48. package/.output/public/_nuxt/{pHCJ6lhw.js → C4ScCUjy.js} +1 -1
  49. package/.output/public/_nuxt/{ImPsUDiH.js → C6HEirAm.js} +1 -1
  50. package/.output/public/_nuxt/{ijmD2cEW.js → C6UTTaCP.js} +1 -1
  51. package/.output/public/_nuxt/{CVYcsqmL.js → C8gtQaKB.js} +1 -1
  52. package/.output/public/_nuxt/{MWUW1sIF.js → C8tXHRIo.js} +1 -1
  53. package/.output/public/_nuxt/{36ZHqDPo.js → C8wa4Wh4.js} +1 -1
  54. package/.output/public/_nuxt/{D887s9k9.js → CDradKPE.js} +1 -1
  55. package/.output/public/_nuxt/{Dbfwn2zk.js → CEJh-OAl.js} +1 -1
  56. package/.output/public/_nuxt/{mT7Mt2d7.js → CGfVTQUF.js} +1 -1
  57. package/.output/public/_nuxt/{C075hYlX.js → CGgZuPnb.js} +1 -1
  58. package/.output/public/_nuxt/{CqFcWBkW.js → CH8kNq6W.js} +1 -1
  59. package/.output/public/_nuxt/{CO3hceDE.js → CIJ2MJdc.js} +1 -1
  60. package/.output/public/_nuxt/{DX_9SfFb.js → CIUZAp6g.js} +1 -1
  61. package/.output/public/_nuxt/{DtyyytRx.js → CXBOHJ2W.js} +1 -1
  62. package/.output/public/_nuxt/{BYtVdUIW.js → CY3x8iy3.js} +1 -1
  63. package/.output/public/_nuxt/{CQ3tAemj.js → CaLO8sre.js} +1 -1
  64. package/.output/public/_nuxt/{D4Cizi4y.js → CbTu13wM.js} +1 -1
  65. package/.output/public/_nuxt/{Dt5mOzXj.js → CfO_d5gC.js} +1 -1
  66. package/.output/public/_nuxt/{it8syoZI.js → Clr3MHUr.js} +1 -1
  67. package/.output/public/_nuxt/{B0xuHXvN.js → Cmdr5BNz.js} +1 -1
  68. package/.output/public/_nuxt/{2QHXgMyi.js → Cmj-BR0q.js} +1 -1
  69. package/.output/public/_nuxt/{CAfyXyeo.js → Cn83lLUb.js} +1 -1
  70. package/.output/public/_nuxt/{C21BjagS.js → CqMgz85Z.js} +1 -1
  71. package/.output/public/_nuxt/{BCCYopTB.js → CrW6y2-s.js} +1 -1
  72. package/.output/public/_nuxt/{CSjOaBKu.js → CrjNndEO.js} +1 -1
  73. package/.output/public/_nuxt/{DqzomZoo.js → Cs_udj6A.js} +1 -1
  74. package/.output/public/_nuxt/{BkO884Ds.js → CsbHYpNi.js} +3 -3
  75. package/.output/public/_nuxt/{BhYoxmLV.js → CwKe2KkK.js} +1 -1
  76. package/.output/public/_nuxt/{D79lbuWG.js → CwOUYOe5.js} +1 -1
  77. package/.output/public/_nuxt/{Drxf7nJz.js → CybU4a95.js} +1 -1
  78. package/.output/public/_nuxt/{Bwn-CRYH.js → CziltI1u.js} +1 -1
  79. package/.output/public/_nuxt/{BlsIfvSf.js → CzurfTnt.js} +1 -1
  80. package/.output/public/_nuxt/{D7pKT3IW.js → D-O8wAju.js} +1 -1
  81. package/.output/public/_nuxt/{BZBNJD7U.js → D1t0272g.js} +1 -1
  82. package/.output/public/_nuxt/{BLwctszt.js → D3RROe4s.js} +1 -1
  83. package/.output/public/_nuxt/{C6sX7TYf.js → D5G5UL_g.js} +1 -1
  84. package/.output/public/_nuxt/{CfY_bsV0.js → D76Dw8rw.js} +1 -1
  85. package/.output/public/_nuxt/{Pn7VD6uQ.js → D7DTZ0iS.js} +1 -1
  86. package/.output/public/_nuxt/{BxShcW0K.js → D7WbsJsa.js} +1 -1
  87. package/.output/public/_nuxt/{4XnyUc7C.js → D7iYVmH6.js} +1 -1
  88. package/.output/public/_nuxt/{CrmE-JGu.js → D8gh62A0.js} +1 -1
  89. package/.output/public/_nuxt/{Cve4psva.js → DA2RowFe.js} +1 -1
  90. package/.output/public/_nuxt/{ClGn48iq.js → DBKxzQ3U.js} +1 -1
  91. package/.output/public/_nuxt/{CbvNJVrk.js → DBuW01Fx.js} +1 -1
  92. package/.output/public/_nuxt/{Buf1PAiO.js → DCL9gWFw.js} +1 -1
  93. package/.output/public/_nuxt/{C-HCArYP.js → DGJKfutb.js} +1 -1
  94. package/.output/public/_nuxt/{0dqQoCHY.js → DHScQdvh.js} +1 -1
  95. package/.output/public/_nuxt/{BF3tVKtX.js → DI1FIvaM.js} +1 -1
  96. package/.output/public/_nuxt/{CY7f553E.js → DJ4pqxg-.js} +1 -1
  97. package/.output/public/_nuxt/{D9aYkNhQ.js → DJoRBCVm.js} +1 -1
  98. package/.output/public/_nuxt/{CXTrUfQ5.js → DLuRYg2p.js} +1 -1
  99. package/.output/public/_nuxt/DMy2sxuC.js +1 -0
  100. package/.output/public/_nuxt/{DLUvsixu.js → DQd-GXKJ.js} +1 -1
  101. package/.output/public/_nuxt/{DZEuR9ms.js → DSgubznn.js} +1 -1
  102. package/.output/public/_nuxt/{DKKY8zWm.js → DSynhNOO.js} +1 -1
  103. package/.output/public/_nuxt/{CzAZpALW.js → DTrFhdRO.js} +1 -1
  104. package/.output/public/_nuxt/{Bkc1Hpcf.js → DTu0K_pX.js} +1 -1
  105. package/.output/public/_nuxt/{BSA-U0so.js → DUDbJONU.js} +1 -1
  106. package/.output/public/_nuxt/{C13FKhqK.js → DYu_NYj3.js} +1 -1
  107. package/.output/public/_nuxt/{LQNRVThr.js → D_tCgCFX.js} +1 -1
  108. package/.output/public/_nuxt/{GYf-vnR6.js → DdXVAzIg.js} +1 -1
  109. package/.output/public/_nuxt/{DmlZSBjF.js → DfIqFkyp.js} +1 -1
  110. package/.output/public/_nuxt/{DJt7Rogf.js → Dj2opPDu.js} +1 -1
  111. package/.output/public/_nuxt/{C3tximD1.js → DjmFlCHK.js} +1 -1
  112. package/.output/public/_nuxt/{6QDVg5TO.js → DkhxRAb3.js} +1 -1
  113. package/.output/public/_nuxt/DlSJ4TF_.js +1 -0
  114. package/.output/public/_nuxt/{D-5A6cMB.js → DmmQUhEb.js} +1 -1
  115. package/.output/public/_nuxt/{BJUff9Ku.js → DvATBMPl.js} +1 -1
  116. package/.output/public/_nuxt/{dB7G4iIC.js → DwAJIRGg.js} +1 -1
  117. package/.output/public/_nuxt/{BrOKokPO.js → FYOLNuMV.js} +1 -1
  118. package/.output/public/_nuxt/{B8TQvzYX.js → Gy6_ehml.js} +1 -1
  119. package/.output/public/_nuxt/{DMb_1D81.js → HPOXd4gt.js} +1 -1
  120. package/.output/public/_nuxt/{BHn8tRjg.js → HlbU_z9a.js} +1 -1
  121. package/.output/public/_nuxt/{BwC62XRN.js → JQV21WEV.js} +1 -1
  122. package/.output/public/_nuxt/{CEDw8osP.js → NusIKwmA.js} +1 -1
  123. package/.output/public/_nuxt/{D-Ge96eV.js → OrcbFmB1.js} +1 -1
  124. package/.output/public/_nuxt/{D04CyXmf.js → Oy4_RPEZ.js} +1 -1
  125. package/.output/public/_nuxt/{BahXyh-A.js → Pa936BQP.js} +1 -1
  126. package/.output/public/_nuxt/PzQHm02e.js +1 -0
  127. package/.output/public/_nuxt/{BmaHzvZM.js → REP2-rzf.js} +1 -1
  128. package/.output/public/_nuxt/{DcbbfwCe.js → RRbnMIVe.js} +1 -1
  129. package/.output/public/_nuxt/{BVEFmI4I.js → TGVM5w2K.js} +1 -1
  130. package/.output/public/_nuxt/UbZP7wjm.js +1 -0
  131. package/.output/public/_nuxt/{B2Xfh7am.js → XJYoLoTi.js} +1 -1
  132. package/.output/public/_nuxt/{BLm0UviR.js → a9_LvIZ4.js} +1 -1
  133. package/.output/public/_nuxt/builds/latest.json +1 -1
  134. package/.output/public/_nuxt/builds/meta/613faa5d-8ace-45e0-8274-b611cc4fd1ad.json +1 -0
  135. package/.output/public/_nuxt/entry.DkvuF_CR.css +1 -0
  136. package/.output/public/_nuxt/{CEz288t8.js → fVkHtgGF.js} +1 -1
  137. package/.output/public/_nuxt/{C-Ygk9x5.js → hm3ShyaF.js} +1 -1
  138. package/.output/public/_nuxt/{BvstjGHC.js → k16puyWi.js} +1 -1
  139. package/.output/public/_nuxt/{zO9MgHj2.js → myNwwtfj.js} +1 -1
  140. package/.output/public/_nuxt/{CClsKJ9A.js → nTCVPCKg.js} +1 -1
  141. package/.output/public/_nuxt/{CH_jROT9.js → pHQcHl8n.js} +1 -1
  142. package/.output/public/_nuxt/{B6G3NLfW.js → pNqWPbXW.js} +1 -1
  143. package/.output/public/_nuxt/{vES4kgx7.js → qWWnsfRV.js} +1 -1
  144. package/.output/public/_nuxt/{D_O7SlHm.js → rRYEvKFu.js} +1 -1
  145. package/.output/public/_nuxt/{JReYPlwF.js → svWfwR0T.js} +1 -1
  146. package/.output/public/_nuxt/{Bhhg7oSf.js → wgX1ldgZ.js} +1 -1
  147. package/.output/public/_nuxt/{B6-U3KqJ.js → xrh9hzzH.js} +2 -2
  148. package/.output/server/chunks/build/client.precomputed.mjs +1 -1
  149. package/.output/server/chunks/build/server.mjs +1 -1
  150. package/.output/server/chunks/build/{settings-ByUXa46k.mjs → settings-B2KXoGcz.mjs} +213 -26
  151. package/.output/server/chunks/build/settings-B2KXoGcz.mjs.map +1 -0
  152. package/.output/server/chunks/build/styles.mjs +2 -2
  153. package/.output/server/chunks/nitro/nitro.mjs +926 -870
  154. package/.output/server/chunks/nitro/nitro.mjs.map +1 -1
  155. package/.output/server/package.json +1 -1
  156. package/app/pages/settings.vue +148 -9
  157. package/package.json +1 -1
  158. package/server/bridge/adapters/telegram.ts +83 -8
  159. package/.output/public/_nuxt/BIo-9u_O.js +0 -1
  160. package/.output/public/_nuxt/BMs0mHEp.js +0 -1
  161. package/.output/public/_nuxt/CE9_ECxx.js +0 -1
  162. package/.output/public/_nuxt/DmcMCO8x.js +0 -1
  163. package/.output/public/_nuxt/builds/meta/410e449d-9fe8-43a0-ae07-80797693b9b8.json +0 -1
  164. package/.output/public/_nuxt/entry._7ZkP07A.css +0 -1
  165. package/.output/public/_nuxt/iBaivqi8.js +0 -1
  166. package/.output/server/chunks/build/settings-ByUXa46k.mjs.map +0 -1
@@ -1 +1 @@
1
- import{T as O,a as F}from"./CAfyXyeo.js";import{c as G}from"./BHn8tRjg.js";import{ao as Q,N as H,c as _,e as k,f as x,at as J,G as h,R as d,T as m,ab as y,S as I,ai as W,aj as K,C as c,U as u,Q as w,au as X,V as Y,am as j,a9 as E,_ as P,ae as Z}from"./njnzCNrH.js";import ee from"./CDkyQ1eQ.js";import"./CClsKJ9A.js";import"./BIo-9u_O.js";import"./Bwn-CRYH.js";import"./ImPsUDiH.js";import"./BvstjGHC.js";import"./BCCYopTB.js";const le={slots:{root:"relative lg:h-[450px] my-5 grid lg:grid-cols-3 border border-muted rounded-md",list:"isolate relative p-2 border-b lg:border-b-0 lg:border-e border-muted overflow-y-auto",item:"",listWithChildren:"ms-4.5 border-s border-default",itemWithChildren:"ps-1.5 -ms-px",link:"relative group peer w-full px-2.5 py-1.5 before:inset-y-px before:inset-x-0 flex items-center gap-1.5 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:ring-inset focus-visible:before:ring-2",linkLeadingIcon:"size-4 shrink-0",linkLabel:"truncate",linkTrailing:"ms-auto inline-flex gap-1.5 items-center",linkTrailingIcon:"size-5 transform transition-transform duration-200 shrink-0 group-data-expanded:rotate-180",content:"overflow-hidden lg:col-span-2 flex flex-col [&>div]:my-0 [&>div]:flex-1 [&>div]:flex [&>div]:flex-col [&>div>div]:border-0 [&>div>pre]:border-b-0 [&>div>pre]:border-s-0 [&>div>pre]:border-e-0 [&>div>pre]:rounded-l-none [&>div>pre]:flex-1 [&>div]:overflow-y-auto"},variants:{active:{true:{link:"text-highlighted before:bg-elevated"},false:{link:["hover:text-highlighted hover:before:bg-elevated/50","transition-colors before:transition-colors"]}}}},pe=Object.assign({inheritAttrs:!1},{__name:"ProseCodeTree",props:{items:{type:Array,required:!1},modelValue:{type:String,required:!1},defaultValue:{type:String,required:!1},expandAll:{type:Boolean,required:!1},class:{type:null,required:!1},ui:{type:null,required:!1}},emits:["update:modelValue"],setup(z,{emit:D}){const l=z,N=D,R=Q(),b=H(),[U,L]=G(),r=_(()=>j({extend:j(le),...b.ui?.prose?.codeTree||{}})()),S=l.modelValue??l.defaultValue,p=k(S?{path:S}:void 0),$=k();x(p,e=>{e?.path!==l.modelValue&&N("update:modelValue",e?.path)}),x(()=>l.modelValue,e=>{if(e===p.value?.path)return;p.value=e?{path:e}:void 0;const t=T(e);for(const a of t)f.value.includes(a)||f.value.push(a)});const A=k(1),g=_(()=>(A.value,l.items||R.default?.()?.flatMap(q).filter(Boolean)||[])),B=_(()=>M(g.value));function M(e){const t=new Map,a=[];e.forEach(n=>{const i=n.label.split("/");let s="";i.forEach((v,C)=>{if(s=s?`${s}/${v}`:v,!t.has(s)){const V={label:v,path:s,...C<i.length-1&&{children:[]}};t.set(s,V),C===0?a.push(V):t.get(i.slice(0,C).join("/"))?.children?.push(V)}})});const o=n=>n.sort((i,s)=>!!i.children==!!s.children?i.label.localeCompare(s.label):s.children?1:-1).map(i=>({...i,children:i.children&&o(i.children)}));return o(a)}function q(e,t){return typeof e.type=="symbol"?e.children?.map(q):{label:e.props?.filename||e.props?.label||`${t}`,icon:e.props?.icon,component:e}}function T(e){if(l.expandAll){const a=new Set;return g.value.forEach(o=>{const n=o.label.split("/");for(let i=1;i<n.length;i++)a.add(n.slice(0,i).join("/"))}),Array.from(a)}if(!e)return[];const t=e.split("/");return t.slice(0,-1).map((a,o)=>t.slice(0,o+1).join("/"))}const f=k(T(p.value?.path));return x(g,()=>{l.expandAll&&(f.value=T())},{immediate:!0}),x(p,e=>{const t=g.value.find(a=>e?.path===a.label);t?.component&&($.value=t)},{immediate:!0}),J(()=>A.value++),(e,t)=>(d(),h(W,null,[m(c(U),null,{default:I(({items:a,level:o})=>[(d(!0),h(W,null,K(a,(n,i)=>(d(),h("li",{key:`${o}-${i}`,role:"presentation",class:u(o>1?r.value.itemWithChildren({class:l.ui?.itemWithChildren}):r.value.item({class:l.ui?.item}))},[m(c(F),{level:o,value:n,"as-child":""},{default:I(({isExpanded:s,isSelected:v})=>[y("button",{type:"button",class:u(r.value.link({class:l.ui?.link,active:v}))},[n.children?.length?(d(),w(P,{key:0,name:s?c(b).ui.icons.folderOpen:c(b).ui.icons.folder,class:u(r.value.linkLeadingIcon({class:l.ui?.linkLeadingIcon}))},null,8,["name","class"])):(d(),w(ee,{key:1,filename:n.label,class:u(r.value.linkLeadingIcon({class:l.ui?.linkLeadingIcon}))},null,8,["filename","class"])),y("span",{class:u(r.value.linkLabel({class:l.ui?.linkLabel}))},Z(n.label),3),n.children?.length?(d(),h("span",{key:2,class:u(r.value.linkTrailing({class:l.ui?.linkTrailing}))},[m(P,{name:c(b).ui.icons.chevronDown,class:u(r.value.linkTrailingIcon({class:l.ui?.linkTrailingIcon}))},null,8,["name","class"])],2)):E("",!0)],2),n.children?.length&&s?(d(),h("ul",{key:0,role:"group",class:u(r.value.listWithChildren({class:l.ui?.listWithChildren}))},[m(c(L),{items:n.children,level:o+1},null,8,["items","level"])],2)):E("",!0)]),_:2},1032,["level","value"])],2))),128))]),_:1}),y("div",Y(e.$attrs,{class:r.value.root({class:[l.ui?.root,l.class]})}),[m(c(O),{modelValue:p.value,"onUpdate:modelValue":t[0]||(t[0]=a=>p.value=a),expanded:f.value,"onUpdate:expanded":t[1]||(t[1]=a=>f.value=a),class:u(r.value.list({class:l.ui?.list})),items:B.value,"get-key":a=>a.path},{default:I(()=>[m(c(L),{items:B.value,level:1},null,8,["items"])]),_:1},8,["modelValue","expanded","class","items","get-key"]),y("div",{class:u(r.value.content({class:l.ui?.content}))},[(d(),w(X($.value?.component)))],2)],16)],64))}});export{pe as default};
1
+ import{T as O,a as F}from"./Cn83lLUb.js";import{c as G}from"./HlbU_z9a.js";import{ao as Q,N as H,c as _,e as k,f as x,at as J,G as h,R as d,T as m,ab as y,S as I,aj as W,ak as K,C as c,U as u,Q as w,au as X,V as Y,am as j,a9 as E,_ as P,ae as Z}from"./B63LIwsW.js";import ee from"./BgG2k-zy.js";import"./nTCVPCKg.js";import"./DlSJ4TF_.js";import"./CziltI1u.js";import"./C6HEirAm.js";import"./k16puyWi.js";import"./CrW6y2-s.js";const le={slots:{root:"relative lg:h-[450px] my-5 grid lg:grid-cols-3 border border-muted rounded-md",list:"isolate relative p-2 border-b lg:border-b-0 lg:border-e border-muted overflow-y-auto",item:"",listWithChildren:"ms-4.5 border-s border-default",itemWithChildren:"ps-1.5 -ms-px",link:"relative group peer w-full px-2.5 py-1.5 before:inset-y-px before:inset-x-0 flex items-center gap-1.5 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:ring-inset focus-visible:before:ring-2",linkLeadingIcon:"size-4 shrink-0",linkLabel:"truncate",linkTrailing:"ms-auto inline-flex gap-1.5 items-center",linkTrailingIcon:"size-5 transform transition-transform duration-200 shrink-0 group-data-expanded:rotate-180",content:"overflow-hidden lg:col-span-2 flex flex-col [&>div]:my-0 [&>div]:flex-1 [&>div]:flex [&>div]:flex-col [&>div>div]:border-0 [&>div>pre]:border-b-0 [&>div>pre]:border-s-0 [&>div>pre]:border-e-0 [&>div>pre]:rounded-l-none [&>div>pre]:flex-1 [&>div]:overflow-y-auto"},variants:{active:{true:{link:"text-highlighted before:bg-elevated"},false:{link:["hover:text-highlighted hover:before:bg-elevated/50","transition-colors before:transition-colors"]}}}},pe=Object.assign({inheritAttrs:!1},{__name:"ProseCodeTree",props:{items:{type:Array,required:!1},modelValue:{type:String,required:!1},defaultValue:{type:String,required:!1},expandAll:{type:Boolean,required:!1},class:{type:null,required:!1},ui:{type:null,required:!1}},emits:["update:modelValue"],setup(z,{emit:D}){const l=z,N=D,R=Q(),b=H(),[U,L]=G(),r=_(()=>j({extend:j(le),...b.ui?.prose?.codeTree||{}})()),S=l.modelValue??l.defaultValue,p=k(S?{path:S}:void 0),$=k();x(p,e=>{e?.path!==l.modelValue&&N("update:modelValue",e?.path)}),x(()=>l.modelValue,e=>{if(e===p.value?.path)return;p.value=e?{path:e}:void 0;const t=T(e);for(const a of t)f.value.includes(a)||f.value.push(a)});const A=k(1),g=_(()=>(A.value,l.items||R.default?.()?.flatMap(q).filter(Boolean)||[])),B=_(()=>M(g.value));function M(e){const t=new Map,a=[];e.forEach(n=>{const i=n.label.split("/");let s="";i.forEach((v,C)=>{if(s=s?`${s}/${v}`:v,!t.has(s)){const V={label:v,path:s,...C<i.length-1&&{children:[]}};t.set(s,V),C===0?a.push(V):t.get(i.slice(0,C).join("/"))?.children?.push(V)}})});const o=n=>n.sort((i,s)=>!!i.children==!!s.children?i.label.localeCompare(s.label):s.children?1:-1).map(i=>({...i,children:i.children&&o(i.children)}));return o(a)}function q(e,t){return typeof e.type=="symbol"?e.children?.map(q):{label:e.props?.filename||e.props?.label||`${t}`,icon:e.props?.icon,component:e}}function T(e){if(l.expandAll){const a=new Set;return g.value.forEach(o=>{const n=o.label.split("/");for(let i=1;i<n.length;i++)a.add(n.slice(0,i).join("/"))}),Array.from(a)}if(!e)return[];const t=e.split("/");return t.slice(0,-1).map((a,o)=>t.slice(0,o+1).join("/"))}const f=k(T(p.value?.path));return x(g,()=>{l.expandAll&&(f.value=T())},{immediate:!0}),x(p,e=>{const t=g.value.find(a=>e?.path===a.label);t?.component&&($.value=t)},{immediate:!0}),J(()=>A.value++),(e,t)=>(d(),h(W,null,[m(c(U),null,{default:I(({items:a,level:o})=>[(d(!0),h(W,null,K(a,(n,i)=>(d(),h("li",{key:`${o}-${i}`,role:"presentation",class:u(o>1?r.value.itemWithChildren({class:l.ui?.itemWithChildren}):r.value.item({class:l.ui?.item}))},[m(c(F),{level:o,value:n,"as-child":""},{default:I(({isExpanded:s,isSelected:v})=>[y("button",{type:"button",class:u(r.value.link({class:l.ui?.link,active:v}))},[n.children?.length?(d(),w(P,{key:0,name:s?c(b).ui.icons.folderOpen:c(b).ui.icons.folder,class:u(r.value.linkLeadingIcon({class:l.ui?.linkLeadingIcon}))},null,8,["name","class"])):(d(),w(ee,{key:1,filename:n.label,class:u(r.value.linkLeadingIcon({class:l.ui?.linkLeadingIcon}))},null,8,["filename","class"])),y("span",{class:u(r.value.linkLabel({class:l.ui?.linkLabel}))},Z(n.label),3),n.children?.length?(d(),h("span",{key:2,class:u(r.value.linkTrailing({class:l.ui?.linkTrailing}))},[m(P,{name:c(b).ui.icons.chevronDown,class:u(r.value.linkTrailingIcon({class:l.ui?.linkTrailingIcon}))},null,8,["name","class"])],2)):E("",!0)],2),n.children?.length&&s?(d(),h("ul",{key:0,role:"group",class:u(r.value.listWithChildren({class:l.ui?.listWithChildren}))},[m(c(L),{items:n.children,level:o+1},null,8,["items","level"])],2)):E("",!0)]),_:2},1032,["level","value"])],2))),128))]),_:1}),y("div",Y(e.$attrs,{class:r.value.root({class:[l.ui?.root,l.class]})}),[m(c(O),{modelValue:p.value,"onUpdate:modelValue":t[0]||(t[0]=a=>p.value=a),expanded:f.value,"onUpdate:expanded":t[1]||(t[1]=a=>f.value=a),class:u(r.value.list({class:l.ui?.list})),items:B.value,"get-key":a=>a.path},{default:I(()=>[m(c(L),{items:B.value,level:1},null,8,["items"])]),_:1},8,["modelValue","expanded","class","items","get-key"]),y("div",{class:u(r.value.content({class:l.ui?.content}))},[(d(),w(X($.value?.component)))],2)],16)],64))}});export{pe as default};
@@ -1 +1 @@
1
- import{N as d,c as t,Q as f,a9 as y,R as v,_ as a,aT as r}from"./njnzCNrH.js";const u={"package.json":"i-vscode-icons-file-type-node","tsconfig.json":"i-vscode-icons-file-type-tsconfig",".npmrc":"i-vscode-icons-file-type-npm",".editorconfig":"i-vscode-icons-file-type-editorconfig",".eslintrc":"i-vscode-icons-file-type-eslint",".eslintrc.cjs":"i-vscode-icons-file-type-eslint",".eslintignore":"i-vscode-icons-file-type-eslint","eslint.config.js":"i-vscode-icons-file-type-eslint","eslint.config.mjs":"i-vscode-icons-file-type-eslint","eslint.config.cjs":"i-vscode-icons-file-type-eslint",".gitignore":"i-vscode-icons-file-type-git","yarn.lock":"i-vscode-icons-file-type-yarn",".env":"i-vscode-icons-file-type-dotenv",".env.example":"i-vscode-icons-file-type-dotenv",".vscode/settings.json":"i-vscode-icons-file-type-vscode",nuxt:"i-vscode-icons-file-type-nuxt",".nuxtrc":"i-vscode-icons-file-type-nuxt",".nuxtignore":"i-vscode-icons-file-type-nuxt","nuxt.config.js":"i-vscode-icons-file-type-nuxt","nuxt.config.ts":"i-vscode-icons-file-type-nuxt","nuxt.schema.ts":"i-vscode-icons-file-type-nuxt","tailwind.config.js":"i-vscode-icons-file-type-tailwind","tailwind.config.ts":"i-vscode-icons-file-type-tailwind",vue:"i-vscode-icons-file-type-vue",ts:"i-vscode-icons-file-type-typescript",tsx:"i-vscode-icons-file-type-typescript",mjs:"i-vscode-icons-file-type-js",cjs:"i-vscode-icons-file-type-js",js:"i-vscode-icons-file-type-js",jsx:"i-vscode-icons-file-type-js",md:"i-vscode-icons-file-type-markdown",py:"i-vscode-icons-file-type-python",cs:"i-vscode-icons-file-type-csharp",asm:"i-vscode-icons-file-type-assembly",f:"i-vscode-icons-file-type-fortran",hs:"i-vscode-icons-file-type-haskell",fs:"i-vscode-icons-file-type-fsharp",kt:"i-vscode-icons-file-type-kotlin",rs:"i-vscode-icons-file-type-rust",rb:"i-vscode-icons-file-type-ruby",lsp:"i-vscode-icons-file-type-lisp",ps1:"i-vscode-icons-file-type-powershell",psd1:"i-vscode-icons-file-type-powershell",psm1:"i-vscode-icons-file-type-powershell",go:"i-vscode-icons-file-type-go",gleam:"i-vscode-icons-file-type-gleam",bicep:"i-vscode-icons-file-type-bicep",bicepparam:"i-vscode-icons-file-type-bicep",exs:"i-vscode-icons-file-type-elixir",erl:"i-vscode-icons-file-type-erlang",sbt:"i-vscode-icons-file-type-scala",h:"i-vscode-icons-file-type-cppheader",ino:"i-vscode-icons-file-type-arduino",pl:"i-vscode-icons-file-type-perl",jl:"i-vscode-icons-file-type-julia",dart:"i-vscode-icons-file-type-dartlang",ico:"i-vscode-icons-file-type-favicon",npm:"i-vscode-icons-file-type-npm",pnpm:"i-vscode-icons-file-type-pnpm",npx:"i-vscode-icons-file-type-npm",yarn:"i-vscode-icons-file-type-yarn",bun:"i-vscode-icons-file-type-bun",deno:"i-vscode-icons-file-type-deno",yml:"i-vscode-icons-file-type-yaml",terminal:"i-lucide-terminal"},g={__name:"ProseCodeIcon",props:{icon:{type:null,required:!1},filename:{type:String,required:!1}},setup(l){const e=l,p=d(),o=t(()=>r(p.ui?.prose?.codeIcon||{},u)),c=t(()=>{if(e.icon)return e.icon;if(!e.filename)return;const i=e.filename.replace(/\s*\(.*\)\s*$/,""),s=i.includes(".")&&i.split(".").pop(),n=i.split("/").pop();return(n&&o.value[n.toLowerCase()])??(s&&(o.value[s]??`i-vscode-icons-file-type-${s}`))});return(i,s)=>c.value?(v(),f(a,{key:0,name:c.value},null,8,["name"])):y("",!0)}};export{g as default};
1
+ import{N as d,c as t,Q as f,a9 as y,R as v,_ as a,aT as r}from"./B63LIwsW.js";const u={"package.json":"i-vscode-icons-file-type-node","tsconfig.json":"i-vscode-icons-file-type-tsconfig",".npmrc":"i-vscode-icons-file-type-npm",".editorconfig":"i-vscode-icons-file-type-editorconfig",".eslintrc":"i-vscode-icons-file-type-eslint",".eslintrc.cjs":"i-vscode-icons-file-type-eslint",".eslintignore":"i-vscode-icons-file-type-eslint","eslint.config.js":"i-vscode-icons-file-type-eslint","eslint.config.mjs":"i-vscode-icons-file-type-eslint","eslint.config.cjs":"i-vscode-icons-file-type-eslint",".gitignore":"i-vscode-icons-file-type-git","yarn.lock":"i-vscode-icons-file-type-yarn",".env":"i-vscode-icons-file-type-dotenv",".env.example":"i-vscode-icons-file-type-dotenv",".vscode/settings.json":"i-vscode-icons-file-type-vscode",nuxt:"i-vscode-icons-file-type-nuxt",".nuxtrc":"i-vscode-icons-file-type-nuxt",".nuxtignore":"i-vscode-icons-file-type-nuxt","nuxt.config.js":"i-vscode-icons-file-type-nuxt","nuxt.config.ts":"i-vscode-icons-file-type-nuxt","nuxt.schema.ts":"i-vscode-icons-file-type-nuxt","tailwind.config.js":"i-vscode-icons-file-type-tailwind","tailwind.config.ts":"i-vscode-icons-file-type-tailwind",vue:"i-vscode-icons-file-type-vue",ts:"i-vscode-icons-file-type-typescript",tsx:"i-vscode-icons-file-type-typescript",mjs:"i-vscode-icons-file-type-js",cjs:"i-vscode-icons-file-type-js",js:"i-vscode-icons-file-type-js",jsx:"i-vscode-icons-file-type-js",md:"i-vscode-icons-file-type-markdown",py:"i-vscode-icons-file-type-python",cs:"i-vscode-icons-file-type-csharp",asm:"i-vscode-icons-file-type-assembly",f:"i-vscode-icons-file-type-fortran",hs:"i-vscode-icons-file-type-haskell",fs:"i-vscode-icons-file-type-fsharp",kt:"i-vscode-icons-file-type-kotlin",rs:"i-vscode-icons-file-type-rust",rb:"i-vscode-icons-file-type-ruby",lsp:"i-vscode-icons-file-type-lisp",ps1:"i-vscode-icons-file-type-powershell",psd1:"i-vscode-icons-file-type-powershell",psm1:"i-vscode-icons-file-type-powershell",go:"i-vscode-icons-file-type-go",gleam:"i-vscode-icons-file-type-gleam",bicep:"i-vscode-icons-file-type-bicep",bicepparam:"i-vscode-icons-file-type-bicep",exs:"i-vscode-icons-file-type-elixir",erl:"i-vscode-icons-file-type-erlang",sbt:"i-vscode-icons-file-type-scala",h:"i-vscode-icons-file-type-cppheader",ino:"i-vscode-icons-file-type-arduino",pl:"i-vscode-icons-file-type-perl",jl:"i-vscode-icons-file-type-julia",dart:"i-vscode-icons-file-type-dartlang",ico:"i-vscode-icons-file-type-favicon",npm:"i-vscode-icons-file-type-npm",pnpm:"i-vscode-icons-file-type-pnpm",npx:"i-vscode-icons-file-type-npm",yarn:"i-vscode-icons-file-type-yarn",bun:"i-vscode-icons-file-type-bun",deno:"i-vscode-icons-file-type-deno",yml:"i-vscode-icons-file-type-yaml",terminal:"i-lucide-terminal"},g={__name:"ProseCodeIcon",props:{icon:{type:null,required:!1},filename:{type:String,required:!1}},setup(l){const e=l,p=d(),o=t(()=>r(p.ui?.prose?.codeIcon||{},u)),c=t(()=>{if(e.icon)return e.icon;if(!e.filename)return;const i=e.filename.replace(/\s*\(.*\)\s*$/,""),s=i.includes(".")&&i.split(".").pop(),n=i.split("/").pop();return(n&&o.value[n.toLowerCase()])??(s&&(o.value[s]??`i-vscode-icons-file-type-${s}`))});return(i,s)=>c.value?(v(),f(a,{key:0,name:c.value},null,8,["name"])):y("",!0)}};export{g as default};
@@ -1 +1 @@
1
- import{N as r,c,G as l,R as p,a4 as u,U as m,am as s}from"./njnzCNrH.js";const i={base:""},g={__name:"ProseStrong",props:{class:{type:null,required:!1}},setup(e){const a=e,o=r(),t=c(()=>s({extend:s(i),...o.ui?.prose?.strong||{}}));return(n,f)=>(p(),l("strong",{class:m(t.value({class:a.class}))},[u(n.$slots,"default")],2))}};export{g as default};
1
+ import{N as r,c,G as l,R as p,a4 as u,U as m,am as s}from"./B63LIwsW.js";const i={base:""},g={__name:"ProseStrong",props:{class:{type:null,required:!1}},setup(e){const a=e,o=r(),t=c(()=>s({extend:s(i),...o.ui?.prose?.strong||{}}));return(n,f)=>(p(),l("strong",{class:m(t.value({class:a.class}))},[u(n.$slots,"default")],2))}};export{g as default};
@@ -1 +1 @@
1
- import{r as s}from"./zXvvpsZj.js";import t from"./0dqQoCHY.js";import{N as e,Q as a,R as p,S as c,C as n}from"./njnzCNrH.js";import"./iik6CYzq.js";const d={__name:"ProseTip",setup(i){const o=e();return(r,f)=>(p(),a(t,{color:"success",icon:n(o).ui.icons.tip},{default:c(()=>[s(r.$slots,"default",{mdcUnwrap:"p"})]),_:3},8,["icon"]))}};export{d as default};
1
+ import{r as s}from"./BE4Ndhrq.js";import t from"./DHScQdvh.js";import{N as e,Q as a,R as p,S as c,C as n}from"./B63LIwsW.js";import"./iik6CYzq.js";const d={__name:"ProseTip",setup(i){const o=e();return(r,f)=>(p(),a(t,{color:"success",icon:n(o).ui.icons.tip},{default:c(()=>[s(r.$slots,"default",{mdcUnwrap:"p"})]),_:3},8,["icon"]))}};export{d as default};
@@ -1 +1 @@
1
- import{_ as fe}from"./SfaNtyKS.js";import{_ as ve}from"./Bhhg7oSf.js";import{e as h,c as j,a as te,q as re,G as L,R as k,ab as n,T as l,al as N,C as t,S as i,Q as A,_ as ae,U as Z,ae as X,bm as de,W as le,aa as O,a9 as J,O as ye,P as he,L as _e,N as be,am as ue,V as ge,bl as xe,a2 as we,ag as ke,aW as ce,bg as $e}from"./njnzCNrH.js";import{_ as Ce,a as De}from"./Drxf7nJz.js";import{_ as Se}from"./zO9MgHj2.js";import{_ as me}from"./GYf-vnR6.js";import{_ as Ue,a as Te}from"./B0xuHXvN.js";import{u as Fe}from"./C-Ygk9x5.js";import{_ as je}from"./BLm0UviR.js";import{_ as Ve}from"./BlsIfvSf.js";import{_ as qe}from"./BUC36BHp.js";import{_ as Ie}from"./Dbfwn2zk.js";import{_ as Pe}from"./D-5A6cMB.js";import{_ as ze}from"./CfY_bsV0.js";import{_ as Me,a as Ee}from"./D79lbuWG.js";import{c as Be,_ as Oe}from"./B5SnZL2l.js";import{_ as Ne}from"./pHCJ6lhw.js";import{i as Le,d as Re,_ as Ae,u as Ke}from"./BahXyh-A.js";import{u as He}from"./CF33v_m5.js";import{u as pe}from"./2QHXgMyi.js";import"./BHn8tRjg.js";import"./Pn7VD6uQ.js";import"./CAfyXyeo.js";import"./CClsKJ9A.js";import"./BIo-9u_O.js";import"./Bwn-CRYH.js";import"./ImPsUDiH.js";import"./BvstjGHC.js";import"./BCCYopTB.js";import"./D2kQkOaG.js";import"./MWUW1sIF.js";import"./CXTrUfQ5.js";import"./D9aYkNhQ.js";import"./B9zgEO8N.js";import"./C6Y-ieo6.js";import"./DLUvsixu.js";import"./CrmE-JGu.js";import"./BjnQ1pI1.js";import"./BZBNJD7U.js";import"./BYtVdUIW.js";import"./vES4kgx7.js";import"./iBaivqi8.js";import"./dB7G4iIC.js";import"./DMb_1D81.js";import"./Cve4psva.js";import"./Vcq4gwWv.js";import"./Buf1PAiO.js";function Qe(){const d=h([]),m=h(null),c=h(!1),_=h(null),r=h("");function p(o,a=!1){const s=o.type==="directory"?void 0:b(o.name);return{id:o.path,label:o.name,icon:s,path:o.path,type:o.type,defaultExpanded:a,children:o.children?.map(U=>p(U))}}function b(o){switch(o.split(".").pop()?.toLowerCase()){case"md":return"i-lucide-file-text";case"ts":case"tsx":return"i-lucide-file-code";case"js":case"jsx":return"i-lucide-file-code";case"vue":return"i-lucide-file-code";case"json":return"i-lucide-file-json";case"css":case"scss":return"i-lucide-file-code";case"png":case"jpg":case"jpeg":case"gif":case"svg":return"i-lucide-file-image";default:return"i-lucide-file"}}async function v(o="/"){c.value=!0,_.value=null;try{const a=await $fetch("/api/fs/list",{query:{path:o,recursive:"true"}});d.value=a.data.map(s=>p(s,!0))}catch(a){_.value="Failed to load file tree",console.error("Failed to load file tree:",a)}finally{c.value=!1}}async function T(o){try{return(await $fetch("/api/fs/read",{method:"POST",body:{path:o}})).data}catch(a){throw console.error("Failed to read file:",a),a}}async function F(o,a){try{return(await $fetch("/api/fs/write",{method:"POST",body:{path:o,content:a}})).data}catch(s){throw console.error("Failed to write file:",s),s}}async function C(o,a){const s=o==="/"?`/${a}`:`${o}/${a}`;return await F(s,""),await v(),s}async function g(o,a){const s=o==="/"?`/${a}`:`${o}/${a}`;try{return await $fetch("/api/fs/mkdir",{method:"POST",body:{path:s}}),await v(),s}catch(U){throw console.error("Failed to create folder:",U),U}}async function M(o,a){const s=o.split("/");s.pop();const U=[...s,a].join("/");try{return await $fetch("/api/fs/rename",{method:"POST",body:{oldPath:o,newPath:U}}),await v(),U}catch(f){throw console.error("Failed to rename:",f),f}}async function w(o){try{await $fetch("/api/fs/delete",{method:"POST",body:{path:o}}),m.value===o&&(m.value=null),await v()}catch(a){throw console.error("Failed to delete:",a),a}}async function $(o,a){try{const s=await $fetch("/api/fs/move",{method:"POST",body:{sourcePath:o,destinationPath:a}});return await v(),s.data.newPath}catch(s){throw console.error("Failed to move:",s),s}}const q=j(()=>{if(!r.value)return d.value;const o=r.value.toLowerCase();function a(s){return s.reduce((U,f)=>{const I=f.label.toLowerCase().includes(o),V=f.children?a(f.children):[];return(I||V.length>0)&&U.push({...f,children:V.length>0?V:f.children,defaultExpanded:V.length>0||I}),U},[])}return a(d.value)});return{items:d,filteredItems:q,selectedFile:m,loading:c,error:_,searchQuery:r,loadTree:v,readFile:T,writeFile:F,createFile:C,createFolder:g,renameItem:M,deleteItem:w,moveItem:$}}const We={class:"h-full flex flex-col"},Ge={class:"-mt-1 pb-2"},Je={key:0,class:"flex items-center justify-center py-8"},Xe={key:1,class:"h-full min-h-32 flex flex-col items-center justify-center text-dimmed text-sm"},Ye=["onContextmenu","onDragstart","onDragover","onDrop"],Ze={class:"truncate"},et={class:"flex items-center gap-2"},tt={class:"flex justify-end gap-2"},at={class:"flex items-center gap-2"},lt={class:"flex justify-end gap-2"},ot={class:"flex items-center gap-2"},nt={class:"flex justify-end gap-2"},it={class:"flex items-center gap-2 text-error"},st={key:0,class:"text-sm text-dimmed mt-1"},dt={class:"flex justify-end gap-2"},rt=te({__name:"FileTree",emits:["select"],setup(d,{emit:m}){const c=m,{filteredItems:_,selectedFile:r,loading:p,searchQuery:b,loadTree:v,createFile:T,createFolder:F,renameItem:C,deleteItem:g,moveItem:M}=Qe(),w=h(null),$=h(null);function q(S,e){w.value=e,S.dataTransfer&&(S.dataTransfer.effectAllowed="move",S.dataTransfer.setData("text/plain",e.path))}function o(S,e){w.value&&e.type==="directory"&&w.value.path!==e.path&&(e.path.startsWith(w.value.path+"/")||(S.preventDefault(),$.value=e))}function a(){$.value=null}function s(){w.value=null,$.value=null}async function U(S,e){if(S.preventDefault(),!(!w.value||e.type!=="directory")){try{await M(w.value.path,e.path)}catch{}w.value=null,$.value=null}}const f=h(null),I=h(!1),V=h(!1),E=h(!1),P=h(!1),y=h(""),Y=j(()=>[[{label:"New File",icon:"i-lucide-file-plus",onSelect:()=>{y.value="",I.value=!0}},{label:"New Folder",icon:"i-lucide-folder-plus",onSelect:()=>{y.value="",V.value=!0}}],[{label:"Rename",icon:"i-lucide-pencil",onSelect:()=>{f.value&&(y.value=f.value.label,E.value=!0)}},{label:"Delete",icon:"i-lucide-trash-2",color:"error",onSelect:()=>{P.value=!0}}]]);function ee(S){S.type==="file"&&(r.value=S.path,c("select",S.path))}async function Q(){if(!y.value.trim())return;const S=f.value?.type==="directory"?f.value.path:"/";let e=y.value.trim();e.includes(".")||(e+=".md");try{const K=await T(S,e);r.value=K,c("select",K)}catch{}I.value=!1,y.value=""}async function D(){if(!y.value.trim())return;const S=f.value?.type==="directory"?f.value.path:"/";try{await F(S,y.value.trim())}catch{}V.value=!1,y.value=""}async function x(){if(!(!f.value||!y.value.trim())){try{await C(f.value.path,y.value.trim())}catch{}E.value=!1,y.value=""}}async function H(){if(f.value){try{await g(f.value.path)}catch{}P.value=!1}}return re(()=>{v()}),(S,e)=>{const K=fe,oe=ve,B=ae,ne=Ce,ie=De,R=le,W=Se,z=me;return k(),L("div",We,[n("div",Ge,[l(K,{modelValue:t(b),"onUpdate:modelValue":e[0]||(e[0]=u=>N(b)?b.value=u:null),placeholder:"Search files...",icon:"i-lucide-search",size:"sm",class:"w-full"},null,8,["modelValue"])]),l(oe,{class:"mt-2"}),l(ie,{items:t(Y),class:"flex-1 h-full overflow-auto p-2",onContextmenu:e[2]||(e[2]=u=>f.value=null)},{default:i(()=>[t(p)?(k(),L("div",Je,[l(B,{name:"i-lucide-loader-2",class:"size-6 animate-spin text-dimmed"})])):t(_).length===0?(k(),L("div",Xe,[l(B,{name:"i-lucide-folder-open",class:"size-8 mx-auto mb-2 opacity-50"}),e[14]||(e[14]=n("p",null,"No files found",-1)),e[15]||(e[15]=n("p",{class:"text-xs mt-1"}," Right-click to create a file ",-1))])):(k(),A(ne,{key:2,items:t(_),"get-key":u=>u.id,color:"primary","expanded-icon":"i-lucide-folder-open","collapsed-icon":"i-lucide-folder",onSelect:e[1]||(e[1]=(u,se)=>ee(se))},{item:i(({item:u,expanded:se})=>[n("div",{class:Z(["flex items-center gap-2 w-full",{"bg-primary/10 rounded":t($)?.path===u.path}]),draggable:"true",onContextmenu:G=>f.value=u,onDragstart:G=>q(G,u),onDragover:G=>o(G,u),onDragleave:a,onDragend:s,onDrop:G=>U(G,u)},[u.children?.length?(k(),A(B,{key:0,name:se?"i-lucide-folder-open":"i-lucide-folder",class:"size-4 shrink-0 text-dimmed"},null,8,["name"])):u.icon?(k(),A(B,{key:1,name:u.icon,class:"size-4 shrink-0 text-dimmed"},null,8,["name"])):(k(),A(B,{key:2,name:"i-lucide-file",class:"size-4 shrink-0 text-dimmed"})),n("span",Ze,X(u.label),1)],42,Ye)]),_:1},8,["items","get-key"]))]),_:1},8,["items"]),l(z,{open:t(I),"onUpdate:open":e[5]||(e[5]=u=>N(I)?I.value=u:null)},{content:i(()=>[l(W,null,{header:i(()=>[n("div",et,[l(B,{name:"i-lucide-file-plus",class:"size-5"}),e[16]||(e[16]=n("span",{class:"font-semibold"},"New File",-1))])]),footer:i(()=>[n("div",tt,[l(R,{color:"neutral",variant:"ghost",onClick:e[4]||(e[4]=u=>I.value=!1)},{default:i(()=>[...e[17]||(e[17]=[O(" Cancel ",-1)])]),_:1}),l(R,{onClick:Q},{default:i(()=>[...e[18]||(e[18]=[O(" Create ",-1)])]),_:1})])]),default:i(()=>[l(K,{modelValue:t(y),"onUpdate:modelValue":e[3]||(e[3]=u=>N(y)?y.value=u:null),placeholder:"filename.md",autofocus:"",onKeyup:de(Q,["enter"])},null,8,["modelValue"])]),_:1})]),_:1},8,["open"]),l(z,{open:t(V),"onUpdate:open":e[8]||(e[8]=u=>N(V)?V.value=u:null)},{content:i(()=>[l(W,null,{header:i(()=>[n("div",at,[l(B,{name:"i-lucide-folder-plus",class:"size-5"}),e[19]||(e[19]=n("span",{class:"font-semibold"},"New Folder",-1))])]),footer:i(()=>[n("div",lt,[l(R,{color:"neutral",variant:"ghost",onClick:e[7]||(e[7]=u=>V.value=!1)},{default:i(()=>[...e[20]||(e[20]=[O(" Cancel ",-1)])]),_:1}),l(R,{onClick:D},{default:i(()=>[...e[21]||(e[21]=[O(" Create ",-1)])]),_:1})])]),default:i(()=>[l(K,{modelValue:t(y),"onUpdate:modelValue":e[6]||(e[6]=u=>N(y)?y.value=u:null),placeholder:"folder-name",autofocus:"",onKeyup:de(D,["enter"])},null,8,["modelValue"])]),_:1})]),_:1},8,["open"]),l(z,{open:t(E),"onUpdate:open":e[11]||(e[11]=u=>N(E)?E.value=u:null)},{content:i(()=>[l(W,null,{header:i(()=>[n("div",ot,[l(B,{name:"i-lucide-pencil",class:"size-5"}),e[22]||(e[22]=n("span",{class:"font-semibold"},"Rename",-1))])]),footer:i(()=>[n("div",nt,[l(R,{color:"neutral",variant:"ghost",onClick:e[10]||(e[10]=u=>E.value=!1)},{default:i(()=>[...e[23]||(e[23]=[O(" Cancel ",-1)])]),_:1}),l(R,{onClick:x},{default:i(()=>[...e[24]||(e[24]=[O(" Rename ",-1)])]),_:1})])]),default:i(()=>[l(K,{modelValue:t(y),"onUpdate:modelValue":e[9]||(e[9]=u=>N(y)?y.value=u:null),placeholder:"new-name",autofocus:"",onKeyup:de(x,["enter"])},null,8,["modelValue"])]),_:1})]),_:1},8,["open"]),l(z,{open:t(P),"onUpdate:open":e[13]||(e[13]=u=>N(P)?P.value=u:null)},{content:i(()=>[l(W,null,{header:i(()=>[n("div",it,[l(B,{name:"i-lucide-trash-2",class:"size-5"}),e[25]||(e[25]=n("span",{class:"font-semibold"},"Delete",-1))])]),footer:i(()=>[n("div",dt,[l(R,{color:"neutral",variant:"ghost",onClick:e[12]||(e[12]=u=>P.value=!1)},{default:i(()=>[...e[28]||(e[28]=[O(" Cancel ",-1)])]),_:1}),l(R,{color:"error",onClick:H},{default:i(()=>[...e[29]||(e[29]=[O(" Delete ",-1)])]),_:1})])]),default:i(()=>[n("p",null,[e[26]||(e[26]=O(" Are you sure you want to delete ",-1)),n("strong",null,X(t(f)?.label),1),e[27]||(e[27]=O("? ",-1))]),t(f)?.type==="directory"?(k(),L("p",st," This will delete all files and folders inside. ")):J("",!0)]),_:1})]),_:1},8,["open"])])}}}),ut=Object.assign(rt,{__name:"FilesFileTree"}),ct={base:"hidden lg:flex",variants:{side:{left:"",right:""}}},mt={__name:"UDashboardSidebarCollapse",props:{color:{type:null,required:!1,default:"neutral"},variant:{type:null,required:!1,default:"ghost"},side:{type:String,required:!1,default:"left"},label:{type:String,required:!1},activeColor:{type:null,required:!1},activeVariant:{type:null,required:!1},size:{type:null,required:!1},square:{type:Boolean,required:!1},block:{type:Boolean,required:!1},loadingAuto:{type:Boolean,required:!1},onClick:{type:[Function,Array],required:!1},class:{type:null,required:!1},ui:{type:null,required:!1},icon:{type:null,required:!1},avatar:{type:Object,required:!1},leading:{type:Boolean,required:!1},leadingIcon:{type:null,required:!1},trailing:{type:Boolean,required:!1},trailingIcon:{type:null,required:!1},loading:{type:Boolean,required:!1},loadingIcon:{type:null,required:!1},as:{type:null,required:!1},type:{type:null,required:!1},disabled:{type:Boolean,required:!1},exactActiveClass:{type:String,required:!1},viewTransition:{type:Boolean,required:!1}},setup(d){const m=d,c=ye(he(m,"icon","side","class")),{t:_}=_e(),r=be(),{sidebarCollapsed:p,collapseSidebar:b}=Fe({sidebarCollapsed:h(!1),collapseSidebar:()=>{}}),v=j(()=>ue({extend:ue(ct),...r.ui?.dashboardSidebarCollapse||{}}));return(T,F)=>(k(),A(le,ge({...t(c),icon:m.icon||(t(p)?t(r).ui.icons.panelOpen:t(r).ui.icons.panelClose),"aria-label":t(p)?t(_)("dashboardSidebarCollapse.expand"):t(_)("dashboardSidebarCollapse.collapse"),...T.$attrs},{class:v.value({class:m.class,side:m.side}),onClick:F[0]||(F[0]=C=>t(b)?.(!t(p)))}),null,16,["class"]))}},pt={class:"border-b border-default px-4 py-3 bg-elevated/50"},ft={class:"flex flex-wrap items-start gap-3"},vt={class:"flex items-start gap-2 py-0.5"},yt={class:"min-w-0"},ht={class:"font-medium"},_t={class:"text-xs text-dimmed truncate"},bt=te({__name:"DocumentMetadata",props:{metadata:{},projects:{}},emits:["update:metadata"],setup(d,{emit:m}){const c=d,_=m,r=[{label:"Hidden",value:"hidden",icon:"i-lucide-lock",description:"Hidden behind authentication and never viewable by the public"},{label:"Private",value:"private",icon:"i-lucide-eye-off",description:"Viewable by anyone with the link, but will not be indexed by search engines"},{label:"Public",value:"public",icon:"i-lucide-eye",description:"Viewable to the public and indexed by search engines"}],p=j(()=>c.metadata.shared?c.metadata.shareType||"private":"hidden"),b=j(()=>r.find(g=>g.value===p.value)),v=j({get:()=>c.metadata.tags||[],set:g=>_("update:metadata",{tags:g})});function T(g){_("update:metadata",{projectId:g||void 0})}function F(g){g==="hidden"?_("update:metadata",{shared:!1,shareType:void 0}):_("update:metadata",{shared:!0,shareType:g})}const C=j(()=>[{label:"None",value:void 0},...c.projects.map(g=>({label:g.name,value:g.id}))]);return(g,M)=>{const w=Ie,$=Pe,q=ae,o=ze;return k(),L("div",pt,[n("div",ft,[l($,{label:"Project",class:"w-40"},{default:i(()=>[l(w,{"model-value":d.metadata.projectId,items:t(C),"value-key":"value",placeholder:"None",class:"w-full","search-input":!1,"onUpdate:modelValue":T},null,8,["model-value","items"])]),_:1}),l($,{label:"Visibility",class:"w-44"},{default:i(()=>[l(w,{"model-value":t(p),items:r,"value-key":"value",class:"w-full","search-input":!1,"onUpdate:modelValue":F},{leading:i(()=>[t(b)?(k(),A(q,{key:0,name:t(b).icon,class:"size-4 text-dimmed"},null,8,["name"])):J("",!0)]),item:i(({item:a})=>[n("div",vt,[l(q,{name:a.icon,class:"size-4 mt-0.5 shrink-0"},null,8,["name"]),n("div",yt,[n("div",ht,X(a.label),1),n("div",_t,X(a.description),1)])])]),_:1},8,["model-value"])]),_:1}),l($,{label:"Tags",class:"flex-1 min-w-48"},{default:i(()=>[l(o,{modelValue:t(v),"onUpdate:modelValue":M[0]||(M[0]=a=>N(v)?v.value=a:null),placeholder:"Add tags...",class:"w-full"},null,8,["modelValue"])]),_:1})])])}}}),gt=Object.assign(bt,{__name:"EditorDocumentMetadata"}),xt=Be(Ne),wt={class:"h-full flex flex-col"},kt={class:"border-b border-default py-2 flex items-center justify-between"},$t={class:"flex items-center gap-2 text-sm text-dimmed min-w-0"},Ct={class:"truncate"},Dt={key:0,class:"w-40"},St={class:"flex items-center gap-3"},Ut={key:0,class:"flex items-center gap-1 text-sm text-dimmed"},Tt={class:"space-y-4"},Ft={class:"flex items-center gap-3"},jt={class:"flex items-center gap-3"},Vt={class:"flex items-center gap-3"},qt=te({__name:"DocumentEditor",props:{document:{},body:{},metadata:{},filePath:{},saveStatus:{},isDirty:{type:Boolean},metadataDirty:{type:Boolean}},emits:["update:body","update:metadata","save"],async setup(d,{emit:m}){let c,_;const r=d,p=m,{data:b}=([c,_]=xe(()=>He("/api/projects","$c96-63t_ij")),c=await c,_(),c),v=j(()=>b.value?.data||[]),T=h(!0),{editorMode:F}=pe(),C=j({get:()=>F.value==="editor",set:D=>F.value=D?"editor":"code"}),g=j(()=>r.document.fileType==="markdown"||Le(r.filePath)),M=j(()=>Re(r.filePath)),w=j(()=>g.value),$=[[{kind:"heading",level:1,icon:"i-lucide-heading-1"},{kind:"heading",level:2,icon:"i-lucide-heading-2"},{kind:"heading",level:3,icon:"i-lucide-heading-3"}],[{kind:"mark",mark:"bold",icon:"i-lucide-bold"},{kind:"mark",mark:"italic",icon:"i-lucide-italic"},{kind:"mark",mark:"code",icon:"i-lucide-code"}],[{kind:"bulletList",icon:"i-lucide-list"},{kind:"orderedList",icon:"i-lucide-list-ordered"},{kind:"blockquote",icon:"i-lucide-quote"}],[{kind:"link",icon:"i-lucide-link"},{kind:"codeBlock",icon:"i-lucide-file-code"},{kind:"horizontalRule",icon:"i-lucide-minus"}],[{kind:"undo",icon:"i-lucide-undo"},{kind:"redo",icon:"i-lucide-redo"}]],q=j(()=>{switch(r.saveStatus){case"saving":return"i-lucide-loader-2";case"saved":return"i-lucide-check";case"error":return"i-lucide-alert-circle";default:return r.isDirty||r.metadataDirty?"i-lucide-circle-dot":null}}),o=j(()=>{switch(r.saveStatus){case"saving":return"Saving...";case"saved":return"Saved";case"error":return"Error saving";default:return r.isDirty||r.metadataDirty?"Unsaved changes":""}}),a=j(()=>r.body||void 0);function s(D){p("update:body",D)}function U(D){p("update:metadata",D)}function f(D){(D.metaKey||D.ctrlKey)&&D.key==="s"&&(D.preventDefault(),p("save"))}re(()=>window.addEventListener("keydown",f)),we(()=>window.removeEventListener("keydown",f));const I=ke(),V=j(()=>r.document?.id?`${window.location.origin}/view/${r.document.id}`:""),E=h(!1),P=h(!1);function y(){r.metadata.shared?ee():P.value=!0}const{copy:Y}=Ke();async function ee(){await Y(V.value)?(E.value=!0,I.add({title:"Link copied!",icon:"i-lucide-check",color:"success"}),setTimeout(()=>{E.value=!1},2e3)):I.add({title:"Failed to copy link",icon:"i-lucide-x",color:"error"})}function Q(D,x){p("update:metadata",{shared:D,shareType:x??void 0}),P.value=!1,D&&setTimeout(()=>ee(),100)}return(D,x)=>{const H=ae,S=qe,e=le,K=gt,oe=Me,B=Ee,ne=xt,ie=Ae,R=Oe,W=me;return k(),L("div",wt,[n("div",kt,[n("div",$t,[l(H,{name:"i-lucide-file-text",class:"size-4 shrink-0"}),n("span",Ct,X(d.filePath),1)]),t(w)?(k(),L("div",Dt,[l(S,{modelValue:t(C),"onUpdate:modelValue":x[0]||(x[0]=z=>N(C)?C.value=z:null),"unchecked-icon":"i-lucide-code","checked-icon":"i-lucide-pencil",label:t(C)?"Editor Mode":"Code Mode",ui:{base:"data-[state=unchecked]:bg-info",icon:"group-data-[state=unchecked]:text-info"}},null,8,["modelValue","label"])])):J("",!0),n("div",St,[l(e,{icon:t(E)?"i-lucide-check":"i-lucide-share",size:"xs",variant:"ghost",class:"rounded-full",onClick:y},null,8,["icon"]),l(e,{icon:t(T)?"i-lucide-panel-top-close":"i-lucide-panel-top-open",size:"xs",variant:"ghost",class:"rounded-full",onClick:x[1]||(x[1]=z=>T.value=!t(T))},null,8,["icon"]),t(q)?(k(),L("div",Ut,[l(H,{name:t(q),class:Z(["size-4",d.saveStatus==="saving"&&"animate-spin",d.saveStatus==="error"&&"text-error"])},null,8,["name","class"]),n("span",null,X(t(o)),1)])):J("",!0)])]),t(T)?(k(),A(K,{key:0,metadata:d.metadata,projects:t(v),"onUpdate:metadata":U},null,8,["metadata","projects"])):J("",!0),t(g)&&t(C)?(k(),A(B,{key:1,"model-value":t(a),"content-type":"markdown",placeholder:"Start writing...",class:"markdown-editor w-full min-h-64 flex-1","onUpdate:modelValue":s},{default:i(({editor:z})=>[l(oe,{editor:z,items:$,class:"border-b border-default"},null,8,["editor"])]),_:1},8,["model-value"])):(k(),A(R,{key:2},{fallback:i(()=>[l(ie,{class:"flex-1"})]),default:i(()=>[l(ne,{"model-value":d.body,language:t(M),class:"flex-1","onUpdate:modelValue":s},null,8,["model-value","language"])]),_:1})),l(W,{open:t(P),"onUpdate:open":x[5]||(x[5]=z=>N(P)?P.value=z:null),title:"Share Document",description:"Choose how you want to share this document"},{body:i(()=>[n("div",Tt,[n("div",{class:Z(["p-4 border border-default rounded-lg cursor-pointer hover:bg-elevated transition-colors",{"border-primary bg-elevated":!d.metadata.shared}]),onClick:x[2]||(x[2]=z=>Q(!1,null))},[n("div",Ft,[l(H,{name:"i-lucide-eye-off",class:"size-5 text-dimmed"}),x[6]||(x[6]=n("div",null,[n("div",{class:"font-medium"}," Hidden "),n("div",{class:"text-sm text-dimmed"}," Only you can view this document. Not accessible via link. ")],-1))])],2),n("div",{class:Z(["p-4 border border-default rounded-lg cursor-pointer hover:bg-elevated transition-colors",{"border-primary bg-elevated":d.metadata.shared&&d.metadata.shareType==="private"}]),onClick:x[3]||(x[3]=z=>Q(!0,"private"))},[n("div",jt,[l(H,{name:"i-lucide-link",class:"size-5 text-dimmed"}),x[7]||(x[7]=n("div",null,[n("div",{class:"font-medium"}," Private (Link Only) "),n("div",{class:"text-sm text-dimmed"}," Anyone with the link can view. Not indexed by search engines. ")],-1))])],2),n("div",{class:Z(["p-4 border border-default rounded-lg cursor-pointer hover:bg-elevated transition-colors",{"border-primary bg-elevated":d.metadata.shared&&d.metadata.shareType==="public"}]),onClick:x[4]||(x[4]=z=>Q(!0,"public"))},[n("div",Vt,[l(H,{name:"i-lucide-globe",class:"size-5 text-dimmed"}),x[8]||(x[8]=n("div",null,[n("div",{class:"font-medium"}," Public "),n("div",{class:"text-sm text-dimmed"}," Visible to everyone. Indexed by search engines. ")],-1))])],2)])]),_:1},8,["open"])])}}}),It=Object.assign(qt,{__name:"EditorDocumentEditor"});function Pt(){const d=h(null),m=h(null),c=h(""),_=h(null),r=h(!1),p=h("idle"),b=h(!1),v=h(!1),T=ce(async()=>{!d.value||!b.value||await w({body:c.value})},2e3),F=ce(async()=>{!d.value||!v.value||await w()},500);async function C(o){r.value=!0,_.value=o,b.value=!1,v.value=!1,p.value="idle";try{const a=await $fetch("/api/documents/by-path",{method:"POST",body:{path:o}});d.value=a.data.document,m.value=a.data.metadata,c.value=a.data.body||""}catch(a){console.error("Failed to load document:",a),d.value=null,m.value=null,c.value=""}finally{r.value=!1}}function g(o){c.value!==o&&(c.value=o,b.value=!0,T())}function M(o){m.value&&(m.value={...m.value,...o},v.value=!0,F())}async function w(o={}){if(d.value){p.value="saving";try{const a={...o};v.value&&m.value&&(a.title=m.value.title,a.tags=m.value.tags,a.projectId=m.value.projectId,a.shared=m.value.shared,a.shareType=m.value.shareType),b.value&&o.body===void 0&&(a.body=c.value);const s=await $fetch(`/api/documents/${d.value.id}`,{method:"PUT",body:a});d.value=s.data.document,m.value=s.data.metadata,c.value=s.data.body||"",b.value=!1,v.value=!1,p.value="saved",setTimeout(()=>{p.value==="saved"&&(p.value="idle")},2e3)}catch(a){console.error("Failed to save document:",a),p.value="error"}}}async function $(){!b.value&&!v.value||await w({body:c.value})}function q(){d.value=null,m.value=null,c.value="",_.value=null,b.value=!1,v.value=!1,p.value="idle"}return{document:d,metadata:m,body:c,filePath:_,loading:r,saveStatus:p,isDirty:b,metadataDirty:v,loadDocument:C,updateBody:g,updateMetadata:M,saveDocument:w,saveNow:$,closeDocument:q}}const zt={class:"flex flex-1 min-w-0"},Mt={key:0,class:"flex-1 flex items-center justify-center h-full"},Et={key:1,class:"flex-1 flex items-center justify-center h-full text-dimmed"},Bt={class:"text-center"},qa=te({__name:"docs",setup(d){const m=$e(),{document:c,metadata:_,body:r,filePath:p,loading:b,saveStatus:v,isDirty:T,metadataDirty:F,loadDocument:C,updateBody:g,updateMetadata:M,saveNow:w}=Pt(),{lastDocumentPath:$}=pe();async function q(o){await C(o),$.value=o}return re(async()=>{const o=m.query.path;o?(await C(o),$.value=o):$.value&&await C($.value)}),(o,a)=>{const s=ut,U=Ue,f=mt,I=je,V=le,E=Ve,P=Te,y=ae,Y=It;return k(),L("div",zt,[l(U,{id:"docs-filetree",collapsible:"",resizable:"","min-size":12,"default-size":16,"max-size":24,class:"hidden lg:flex"},{body:i(()=>[l(s,{class:"h-full",onSelect:q})]),_:1}),l(U,{id:"docs-editor",grow:"",ui:{body:"sm:py-0"}},{header:i(()=>[l(P,null,{title:i(()=>[l(f),a[0]||(a[0]=O(" Editor ",-1))]),right:i(()=>[l(I),l(E,null,{content:i(()=>[l(s,{class:"h-full",onSelect:q})]),default:i(()=>[l(V,{icon:"i-lucide-folder-tree",class:"block lg:hidden"})]),_:1})]),_:1})]),body:i(()=>[t(b)?(k(),L("div",Mt,[l(y,{name:"i-lucide-loader-2",class:"size-6 animate-spin text-dimmed"})])):t(p)?t(_)&&t(c)?(k(),A(Y,{key:t(p),document:t(c),body:t(r),metadata:t(_),"file-path":t(p),"save-status":t(v),"is-dirty":t(T),"metadata-dirty":t(F),class:"h-full","onUpdate:body":t(g),"onUpdate:metadata":t(M),onSave:t(w)},null,8,["document","body","metadata","file-path","save-status","is-dirty","metadata-dirty","onUpdate:body","onUpdate:metadata","onSave"])):J("",!0):(k(),L("div",Et,[n("div",Bt,[l(y,{name:"i-lucide-file-text",class:"size-32 mx-auto mb-4 opacity-50"}),a[1]||(a[1]=n("p",null,"Select a file to edit",-1))])]))]),_:1})])}}});export{qa as default};
1
+ import{_ as fe}from"./B6wYZD_K.js";import{_ as ve}from"./wgX1ldgZ.js";import{e as h,c as j,a as te,q as re,G as L,R as k,ab as n,T as l,ai as N,C as t,S as i,Q as A,_ as ae,U as Z,ae as X,bm as de,W as le,aa as O,a9 as J,O as ye,P as he,L as _e,N as be,am as ue,V as ge,bl as xe,a2 as we,ag as ke,aW as ce,bg as $e}from"./B63LIwsW.js";import{_ as Ce,a as De}from"./CybU4a95.js";import{_ as Se}from"./myNwwtfj.js";import{_ as me}from"./DdXVAzIg.js";import{_ as Ue,a as Te}from"./Cmdr5BNz.js";import{u as Fe}from"./hm3ShyaF.js";import{_ as je}from"./a9_LvIZ4.js";import{_ as Ve}from"./CzurfTnt.js";import{_ as qe}from"./BaYtugUf.js";import{_ as Ie}from"./CEJh-OAl.js";import{_ as Pe}from"./DmmQUhEb.js";import{_ as ze}from"./D76Dw8rw.js";import{_ as Me,a as Ee}from"./CwOUYOe5.js";import{c as Be,_ as Oe}from"./BVc_fOF1.js";import{_ as Ne}from"./C4ScCUjy.js";import{i as Le,d as Re,_ as Ae,u as Ke}from"./Pa936BQP.js";import{u as He}from"./Bp9kHdw6.js";import{u as pe}from"./Cmj-BR0q.js";import"./HlbU_z9a.js";import"./D7DTZ0iS.js";import"./Cn83lLUb.js";import"./nTCVPCKg.js";import"./DlSJ4TF_.js";import"./CziltI1u.js";import"./C6HEirAm.js";import"./k16puyWi.js";import"./CrW6y2-s.js";import"./B-513wJW.js";import"./C8tXHRIo.js";import"./DLuRYg2p.js";import"./DJoRBCVm.js";import"./4Qy4OdWt.js";import"./C6Y-ieo6.js";import"./DQd-GXKJ.js";import"./D8gh62A0.js";import"./B2MVZlI-.js";import"./D1t0272g.js";import"./CY3x8iy3.js";import"./qWWnsfRV.js";import"./DMy2sxuC.js";import"./DwAJIRGg.js";import"./HPOXd4gt.js";import"./DA2RowFe.js";import"./Vcq4gwWv.js";import"./DCL9gWFw.js";function Qe(){const d=h([]),m=h(null),c=h(!1),_=h(null),r=h("");function p(o,a=!1){const s=o.type==="directory"?void 0:b(o.name);return{id:o.path,label:o.name,icon:s,path:o.path,type:o.type,defaultExpanded:a,children:o.children?.map(U=>p(U))}}function b(o){switch(o.split(".").pop()?.toLowerCase()){case"md":return"i-lucide-file-text";case"ts":case"tsx":return"i-lucide-file-code";case"js":case"jsx":return"i-lucide-file-code";case"vue":return"i-lucide-file-code";case"json":return"i-lucide-file-json";case"css":case"scss":return"i-lucide-file-code";case"png":case"jpg":case"jpeg":case"gif":case"svg":return"i-lucide-file-image";default:return"i-lucide-file"}}async function v(o="/"){c.value=!0,_.value=null;try{const a=await $fetch("/api/fs/list",{query:{path:o,recursive:"true"}});d.value=a.data.map(s=>p(s,!0))}catch(a){_.value="Failed to load file tree",console.error("Failed to load file tree:",a)}finally{c.value=!1}}async function T(o){try{return(await $fetch("/api/fs/read",{method:"POST",body:{path:o}})).data}catch(a){throw console.error("Failed to read file:",a),a}}async function F(o,a){try{return(await $fetch("/api/fs/write",{method:"POST",body:{path:o,content:a}})).data}catch(s){throw console.error("Failed to write file:",s),s}}async function C(o,a){const s=o==="/"?`/${a}`:`${o}/${a}`;return await F(s,""),await v(),s}async function g(o,a){const s=o==="/"?`/${a}`:`${o}/${a}`;try{return await $fetch("/api/fs/mkdir",{method:"POST",body:{path:s}}),await v(),s}catch(U){throw console.error("Failed to create folder:",U),U}}async function M(o,a){const s=o.split("/");s.pop();const U=[...s,a].join("/");try{return await $fetch("/api/fs/rename",{method:"POST",body:{oldPath:o,newPath:U}}),await v(),U}catch(f){throw console.error("Failed to rename:",f),f}}async function w(o){try{await $fetch("/api/fs/delete",{method:"POST",body:{path:o}}),m.value===o&&(m.value=null),await v()}catch(a){throw console.error("Failed to delete:",a),a}}async function $(o,a){try{const s=await $fetch("/api/fs/move",{method:"POST",body:{sourcePath:o,destinationPath:a}});return await v(),s.data.newPath}catch(s){throw console.error("Failed to move:",s),s}}const q=j(()=>{if(!r.value)return d.value;const o=r.value.toLowerCase();function a(s){return s.reduce((U,f)=>{const I=f.label.toLowerCase().includes(o),V=f.children?a(f.children):[];return(I||V.length>0)&&U.push({...f,children:V.length>0?V:f.children,defaultExpanded:V.length>0||I}),U},[])}return a(d.value)});return{items:d,filteredItems:q,selectedFile:m,loading:c,error:_,searchQuery:r,loadTree:v,readFile:T,writeFile:F,createFile:C,createFolder:g,renameItem:M,deleteItem:w,moveItem:$}}const We={class:"h-full flex flex-col"},Ge={class:"-mt-1 pb-2"},Je={key:0,class:"flex items-center justify-center py-8"},Xe={key:1,class:"h-full min-h-32 flex flex-col items-center justify-center text-dimmed text-sm"},Ye=["onContextmenu","onDragstart","onDragover","onDrop"],Ze={class:"truncate"},et={class:"flex items-center gap-2"},tt={class:"flex justify-end gap-2"},at={class:"flex items-center gap-2"},lt={class:"flex justify-end gap-2"},ot={class:"flex items-center gap-2"},nt={class:"flex justify-end gap-2"},it={class:"flex items-center gap-2 text-error"},st={key:0,class:"text-sm text-dimmed mt-1"},dt={class:"flex justify-end gap-2"},rt=te({__name:"FileTree",emits:["select"],setup(d,{emit:m}){const c=m,{filteredItems:_,selectedFile:r,loading:p,searchQuery:b,loadTree:v,createFile:T,createFolder:F,renameItem:C,deleteItem:g,moveItem:M}=Qe(),w=h(null),$=h(null);function q(S,e){w.value=e,S.dataTransfer&&(S.dataTransfer.effectAllowed="move",S.dataTransfer.setData("text/plain",e.path))}function o(S,e){w.value&&e.type==="directory"&&w.value.path!==e.path&&(e.path.startsWith(w.value.path+"/")||(S.preventDefault(),$.value=e))}function a(){$.value=null}function s(){w.value=null,$.value=null}async function U(S,e){if(S.preventDefault(),!(!w.value||e.type!=="directory")){try{await M(w.value.path,e.path)}catch{}w.value=null,$.value=null}}const f=h(null),I=h(!1),V=h(!1),E=h(!1),P=h(!1),y=h(""),Y=j(()=>[[{label:"New File",icon:"i-lucide-file-plus",onSelect:()=>{y.value="",I.value=!0}},{label:"New Folder",icon:"i-lucide-folder-plus",onSelect:()=>{y.value="",V.value=!0}}],[{label:"Rename",icon:"i-lucide-pencil",onSelect:()=>{f.value&&(y.value=f.value.label,E.value=!0)}},{label:"Delete",icon:"i-lucide-trash-2",color:"error",onSelect:()=>{P.value=!0}}]]);function ee(S){S.type==="file"&&(r.value=S.path,c("select",S.path))}async function Q(){if(!y.value.trim())return;const S=f.value?.type==="directory"?f.value.path:"/";let e=y.value.trim();e.includes(".")||(e+=".md");try{const K=await T(S,e);r.value=K,c("select",K)}catch{}I.value=!1,y.value=""}async function D(){if(!y.value.trim())return;const S=f.value?.type==="directory"?f.value.path:"/";try{await F(S,y.value.trim())}catch{}V.value=!1,y.value=""}async function x(){if(!(!f.value||!y.value.trim())){try{await C(f.value.path,y.value.trim())}catch{}E.value=!1,y.value=""}}async function H(){if(f.value){try{await g(f.value.path)}catch{}P.value=!1}}return re(()=>{v()}),(S,e)=>{const K=fe,oe=ve,B=ae,ne=Ce,ie=De,R=le,W=Se,z=me;return k(),L("div",We,[n("div",Ge,[l(K,{modelValue:t(b),"onUpdate:modelValue":e[0]||(e[0]=u=>N(b)?b.value=u:null),placeholder:"Search files...",icon:"i-lucide-search",size:"sm",class:"w-full"},null,8,["modelValue"])]),l(oe,{class:"mt-2"}),l(ie,{items:t(Y),class:"flex-1 h-full overflow-auto p-2",onContextmenu:e[2]||(e[2]=u=>f.value=null)},{default:i(()=>[t(p)?(k(),L("div",Je,[l(B,{name:"i-lucide-loader-2",class:"size-6 animate-spin text-dimmed"})])):t(_).length===0?(k(),L("div",Xe,[l(B,{name:"i-lucide-folder-open",class:"size-8 mx-auto mb-2 opacity-50"}),e[14]||(e[14]=n("p",null,"No files found",-1)),e[15]||(e[15]=n("p",{class:"text-xs mt-1"}," Right-click to create a file ",-1))])):(k(),A(ne,{key:2,items:t(_),"get-key":u=>u.id,color:"primary","expanded-icon":"i-lucide-folder-open","collapsed-icon":"i-lucide-folder",onSelect:e[1]||(e[1]=(u,se)=>ee(se))},{item:i(({item:u,expanded:se})=>[n("div",{class:Z(["flex items-center gap-2 w-full",{"bg-primary/10 rounded":t($)?.path===u.path}]),draggable:"true",onContextmenu:G=>f.value=u,onDragstart:G=>q(G,u),onDragover:G=>o(G,u),onDragleave:a,onDragend:s,onDrop:G=>U(G,u)},[u.children?.length?(k(),A(B,{key:0,name:se?"i-lucide-folder-open":"i-lucide-folder",class:"size-4 shrink-0 text-dimmed"},null,8,["name"])):u.icon?(k(),A(B,{key:1,name:u.icon,class:"size-4 shrink-0 text-dimmed"},null,8,["name"])):(k(),A(B,{key:2,name:"i-lucide-file",class:"size-4 shrink-0 text-dimmed"})),n("span",Ze,X(u.label),1)],42,Ye)]),_:1},8,["items","get-key"]))]),_:1},8,["items"]),l(z,{open:t(I),"onUpdate:open":e[5]||(e[5]=u=>N(I)?I.value=u:null)},{content:i(()=>[l(W,null,{header:i(()=>[n("div",et,[l(B,{name:"i-lucide-file-plus",class:"size-5"}),e[16]||(e[16]=n("span",{class:"font-semibold"},"New File",-1))])]),footer:i(()=>[n("div",tt,[l(R,{color:"neutral",variant:"ghost",onClick:e[4]||(e[4]=u=>I.value=!1)},{default:i(()=>[...e[17]||(e[17]=[O(" Cancel ",-1)])]),_:1}),l(R,{onClick:Q},{default:i(()=>[...e[18]||(e[18]=[O(" Create ",-1)])]),_:1})])]),default:i(()=>[l(K,{modelValue:t(y),"onUpdate:modelValue":e[3]||(e[3]=u=>N(y)?y.value=u:null),placeholder:"filename.md",autofocus:"",onKeyup:de(Q,["enter"])},null,8,["modelValue"])]),_:1})]),_:1},8,["open"]),l(z,{open:t(V),"onUpdate:open":e[8]||(e[8]=u=>N(V)?V.value=u:null)},{content:i(()=>[l(W,null,{header:i(()=>[n("div",at,[l(B,{name:"i-lucide-folder-plus",class:"size-5"}),e[19]||(e[19]=n("span",{class:"font-semibold"},"New Folder",-1))])]),footer:i(()=>[n("div",lt,[l(R,{color:"neutral",variant:"ghost",onClick:e[7]||(e[7]=u=>V.value=!1)},{default:i(()=>[...e[20]||(e[20]=[O(" Cancel ",-1)])]),_:1}),l(R,{onClick:D},{default:i(()=>[...e[21]||(e[21]=[O(" Create ",-1)])]),_:1})])]),default:i(()=>[l(K,{modelValue:t(y),"onUpdate:modelValue":e[6]||(e[6]=u=>N(y)?y.value=u:null),placeholder:"folder-name",autofocus:"",onKeyup:de(D,["enter"])},null,8,["modelValue"])]),_:1})]),_:1},8,["open"]),l(z,{open:t(E),"onUpdate:open":e[11]||(e[11]=u=>N(E)?E.value=u:null)},{content:i(()=>[l(W,null,{header:i(()=>[n("div",ot,[l(B,{name:"i-lucide-pencil",class:"size-5"}),e[22]||(e[22]=n("span",{class:"font-semibold"},"Rename",-1))])]),footer:i(()=>[n("div",nt,[l(R,{color:"neutral",variant:"ghost",onClick:e[10]||(e[10]=u=>E.value=!1)},{default:i(()=>[...e[23]||(e[23]=[O(" Cancel ",-1)])]),_:1}),l(R,{onClick:x},{default:i(()=>[...e[24]||(e[24]=[O(" Rename ",-1)])]),_:1})])]),default:i(()=>[l(K,{modelValue:t(y),"onUpdate:modelValue":e[9]||(e[9]=u=>N(y)?y.value=u:null),placeholder:"new-name",autofocus:"",onKeyup:de(x,["enter"])},null,8,["modelValue"])]),_:1})]),_:1},8,["open"]),l(z,{open:t(P),"onUpdate:open":e[13]||(e[13]=u=>N(P)?P.value=u:null)},{content:i(()=>[l(W,null,{header:i(()=>[n("div",it,[l(B,{name:"i-lucide-trash-2",class:"size-5"}),e[25]||(e[25]=n("span",{class:"font-semibold"},"Delete",-1))])]),footer:i(()=>[n("div",dt,[l(R,{color:"neutral",variant:"ghost",onClick:e[12]||(e[12]=u=>P.value=!1)},{default:i(()=>[...e[28]||(e[28]=[O(" Cancel ",-1)])]),_:1}),l(R,{color:"error",onClick:H},{default:i(()=>[...e[29]||(e[29]=[O(" Delete ",-1)])]),_:1})])]),default:i(()=>[n("p",null,[e[26]||(e[26]=O(" Are you sure you want to delete ",-1)),n("strong",null,X(t(f)?.label),1),e[27]||(e[27]=O("? ",-1))]),t(f)?.type==="directory"?(k(),L("p",st," This will delete all files and folders inside. ")):J("",!0)]),_:1})]),_:1},8,["open"])])}}}),ut=Object.assign(rt,{__name:"FilesFileTree"}),ct={base:"hidden lg:flex",variants:{side:{left:"",right:""}}},mt={__name:"UDashboardSidebarCollapse",props:{color:{type:null,required:!1,default:"neutral"},variant:{type:null,required:!1,default:"ghost"},side:{type:String,required:!1,default:"left"},label:{type:String,required:!1},activeColor:{type:null,required:!1},activeVariant:{type:null,required:!1},size:{type:null,required:!1},square:{type:Boolean,required:!1},block:{type:Boolean,required:!1},loadingAuto:{type:Boolean,required:!1},onClick:{type:[Function,Array],required:!1},class:{type:null,required:!1},ui:{type:null,required:!1},icon:{type:null,required:!1},avatar:{type:Object,required:!1},leading:{type:Boolean,required:!1},leadingIcon:{type:null,required:!1},trailing:{type:Boolean,required:!1},trailingIcon:{type:null,required:!1},loading:{type:Boolean,required:!1},loadingIcon:{type:null,required:!1},as:{type:null,required:!1},type:{type:null,required:!1},disabled:{type:Boolean,required:!1},exactActiveClass:{type:String,required:!1},viewTransition:{type:Boolean,required:!1}},setup(d){const m=d,c=ye(he(m,"icon","side","class")),{t:_}=_e(),r=be(),{sidebarCollapsed:p,collapseSidebar:b}=Fe({sidebarCollapsed:h(!1),collapseSidebar:()=>{}}),v=j(()=>ue({extend:ue(ct),...r.ui?.dashboardSidebarCollapse||{}}));return(T,F)=>(k(),A(le,ge({...t(c),icon:m.icon||(t(p)?t(r).ui.icons.panelOpen:t(r).ui.icons.panelClose),"aria-label":t(p)?t(_)("dashboardSidebarCollapse.expand"):t(_)("dashboardSidebarCollapse.collapse"),...T.$attrs},{class:v.value({class:m.class,side:m.side}),onClick:F[0]||(F[0]=C=>t(b)?.(!t(p)))}),null,16,["class"]))}},pt={class:"border-b border-default px-4 py-3 bg-elevated/50"},ft={class:"flex flex-wrap items-start gap-3"},vt={class:"flex items-start gap-2 py-0.5"},yt={class:"min-w-0"},ht={class:"font-medium"},_t={class:"text-xs text-dimmed truncate"},bt=te({__name:"DocumentMetadata",props:{metadata:{},projects:{}},emits:["update:metadata"],setup(d,{emit:m}){const c=d,_=m,r=[{label:"Hidden",value:"hidden",icon:"i-lucide-lock",description:"Hidden behind authentication and never viewable by the public"},{label:"Private",value:"private",icon:"i-lucide-eye-off",description:"Viewable by anyone with the link, but will not be indexed by search engines"},{label:"Public",value:"public",icon:"i-lucide-eye",description:"Viewable to the public and indexed by search engines"}],p=j(()=>c.metadata.shared?c.metadata.shareType||"private":"hidden"),b=j(()=>r.find(g=>g.value===p.value)),v=j({get:()=>c.metadata.tags||[],set:g=>_("update:metadata",{tags:g})});function T(g){_("update:metadata",{projectId:g||void 0})}function F(g){g==="hidden"?_("update:metadata",{shared:!1,shareType:void 0}):_("update:metadata",{shared:!0,shareType:g})}const C=j(()=>[{label:"None",value:void 0},...c.projects.map(g=>({label:g.name,value:g.id}))]);return(g,M)=>{const w=Ie,$=Pe,q=ae,o=ze;return k(),L("div",pt,[n("div",ft,[l($,{label:"Project",class:"w-40"},{default:i(()=>[l(w,{"model-value":d.metadata.projectId,items:t(C),"value-key":"value",placeholder:"None",class:"w-full","search-input":!1,"onUpdate:modelValue":T},null,8,["model-value","items"])]),_:1}),l($,{label:"Visibility",class:"w-44"},{default:i(()=>[l(w,{"model-value":t(p),items:r,"value-key":"value",class:"w-full","search-input":!1,"onUpdate:modelValue":F},{leading:i(()=>[t(b)?(k(),A(q,{key:0,name:t(b).icon,class:"size-4 text-dimmed"},null,8,["name"])):J("",!0)]),item:i(({item:a})=>[n("div",vt,[l(q,{name:a.icon,class:"size-4 mt-0.5 shrink-0"},null,8,["name"]),n("div",yt,[n("div",ht,X(a.label),1),n("div",_t,X(a.description),1)])])]),_:1},8,["model-value"])]),_:1}),l($,{label:"Tags",class:"flex-1 min-w-48"},{default:i(()=>[l(o,{modelValue:t(v),"onUpdate:modelValue":M[0]||(M[0]=a=>N(v)?v.value=a:null),placeholder:"Add tags...",class:"w-full"},null,8,["modelValue"])]),_:1})])])}}}),gt=Object.assign(bt,{__name:"EditorDocumentMetadata"}),xt=Be(Ne),wt={class:"h-full flex flex-col"},kt={class:"border-b border-default py-2 flex items-center justify-between"},$t={class:"flex items-center gap-2 text-sm text-dimmed min-w-0"},Ct={class:"truncate"},Dt={key:0,class:"w-40"},St={class:"flex items-center gap-3"},Ut={key:0,class:"flex items-center gap-1 text-sm text-dimmed"},Tt={class:"space-y-4"},Ft={class:"flex items-center gap-3"},jt={class:"flex items-center gap-3"},Vt={class:"flex items-center gap-3"},qt=te({__name:"DocumentEditor",props:{document:{},body:{},metadata:{},filePath:{},saveStatus:{},isDirty:{type:Boolean},metadataDirty:{type:Boolean}},emits:["update:body","update:metadata","save"],async setup(d,{emit:m}){let c,_;const r=d,p=m,{data:b}=([c,_]=xe(()=>He("/api/projects","$c96-63t_ij")),c=await c,_(),c),v=j(()=>b.value?.data||[]),T=h(!0),{editorMode:F}=pe(),C=j({get:()=>F.value==="editor",set:D=>F.value=D?"editor":"code"}),g=j(()=>r.document.fileType==="markdown"||Le(r.filePath)),M=j(()=>Re(r.filePath)),w=j(()=>g.value),$=[[{kind:"heading",level:1,icon:"i-lucide-heading-1"},{kind:"heading",level:2,icon:"i-lucide-heading-2"},{kind:"heading",level:3,icon:"i-lucide-heading-3"}],[{kind:"mark",mark:"bold",icon:"i-lucide-bold"},{kind:"mark",mark:"italic",icon:"i-lucide-italic"},{kind:"mark",mark:"code",icon:"i-lucide-code"}],[{kind:"bulletList",icon:"i-lucide-list"},{kind:"orderedList",icon:"i-lucide-list-ordered"},{kind:"blockquote",icon:"i-lucide-quote"}],[{kind:"link",icon:"i-lucide-link"},{kind:"codeBlock",icon:"i-lucide-file-code"},{kind:"horizontalRule",icon:"i-lucide-minus"}],[{kind:"undo",icon:"i-lucide-undo"},{kind:"redo",icon:"i-lucide-redo"}]],q=j(()=>{switch(r.saveStatus){case"saving":return"i-lucide-loader-2";case"saved":return"i-lucide-check";case"error":return"i-lucide-alert-circle";default:return r.isDirty||r.metadataDirty?"i-lucide-circle-dot":null}}),o=j(()=>{switch(r.saveStatus){case"saving":return"Saving...";case"saved":return"Saved";case"error":return"Error saving";default:return r.isDirty||r.metadataDirty?"Unsaved changes":""}}),a=j(()=>r.body||void 0);function s(D){p("update:body",D)}function U(D){p("update:metadata",D)}function f(D){(D.metaKey||D.ctrlKey)&&D.key==="s"&&(D.preventDefault(),p("save"))}re(()=>window.addEventListener("keydown",f)),we(()=>window.removeEventListener("keydown",f));const I=ke(),V=j(()=>r.document?.id?`${window.location.origin}/view/${r.document.id}`:""),E=h(!1),P=h(!1);function y(){r.metadata.shared?ee():P.value=!0}const{copy:Y}=Ke();async function ee(){await Y(V.value)?(E.value=!0,I.add({title:"Link copied!",icon:"i-lucide-check",color:"success"}),setTimeout(()=>{E.value=!1},2e3)):I.add({title:"Failed to copy link",icon:"i-lucide-x",color:"error"})}function Q(D,x){p("update:metadata",{shared:D,shareType:x??void 0}),P.value=!1,D&&setTimeout(()=>ee(),100)}return(D,x)=>{const H=ae,S=qe,e=le,K=gt,oe=Me,B=Ee,ne=xt,ie=Ae,R=Oe,W=me;return k(),L("div",wt,[n("div",kt,[n("div",$t,[l(H,{name:"i-lucide-file-text",class:"size-4 shrink-0"}),n("span",Ct,X(d.filePath),1)]),t(w)?(k(),L("div",Dt,[l(S,{modelValue:t(C),"onUpdate:modelValue":x[0]||(x[0]=z=>N(C)?C.value=z:null),"unchecked-icon":"i-lucide-code","checked-icon":"i-lucide-pencil",label:t(C)?"Editor Mode":"Code Mode",ui:{base:"data-[state=unchecked]:bg-info",icon:"group-data-[state=unchecked]:text-info"}},null,8,["modelValue","label"])])):J("",!0),n("div",St,[l(e,{icon:t(E)?"i-lucide-check":"i-lucide-share",size:"xs",variant:"ghost",class:"rounded-full",onClick:y},null,8,["icon"]),l(e,{icon:t(T)?"i-lucide-panel-top-close":"i-lucide-panel-top-open",size:"xs",variant:"ghost",class:"rounded-full",onClick:x[1]||(x[1]=z=>T.value=!t(T))},null,8,["icon"]),t(q)?(k(),L("div",Ut,[l(H,{name:t(q),class:Z(["size-4",d.saveStatus==="saving"&&"animate-spin",d.saveStatus==="error"&&"text-error"])},null,8,["name","class"]),n("span",null,X(t(o)),1)])):J("",!0)])]),t(T)?(k(),A(K,{key:0,metadata:d.metadata,projects:t(v),"onUpdate:metadata":U},null,8,["metadata","projects"])):J("",!0),t(g)&&t(C)?(k(),A(B,{key:1,"model-value":t(a),"content-type":"markdown",placeholder:"Start writing...",class:"markdown-editor w-full min-h-64 flex-1","onUpdate:modelValue":s},{default:i(({editor:z})=>[l(oe,{editor:z,items:$,class:"border-b border-default"},null,8,["editor"])]),_:1},8,["model-value"])):(k(),A(R,{key:2},{fallback:i(()=>[l(ie,{class:"flex-1"})]),default:i(()=>[l(ne,{"model-value":d.body,language:t(M),class:"flex-1","onUpdate:modelValue":s},null,8,["model-value","language"])]),_:1})),l(W,{open:t(P),"onUpdate:open":x[5]||(x[5]=z=>N(P)?P.value=z:null),title:"Share Document",description:"Choose how you want to share this document"},{body:i(()=>[n("div",Tt,[n("div",{class:Z(["p-4 border border-default rounded-lg cursor-pointer hover:bg-elevated transition-colors",{"border-primary bg-elevated":!d.metadata.shared}]),onClick:x[2]||(x[2]=z=>Q(!1,null))},[n("div",Ft,[l(H,{name:"i-lucide-eye-off",class:"size-5 text-dimmed"}),x[6]||(x[6]=n("div",null,[n("div",{class:"font-medium"}," Hidden "),n("div",{class:"text-sm text-dimmed"}," Only you can view this document. Not accessible via link. ")],-1))])],2),n("div",{class:Z(["p-4 border border-default rounded-lg cursor-pointer hover:bg-elevated transition-colors",{"border-primary bg-elevated":d.metadata.shared&&d.metadata.shareType==="private"}]),onClick:x[3]||(x[3]=z=>Q(!0,"private"))},[n("div",jt,[l(H,{name:"i-lucide-link",class:"size-5 text-dimmed"}),x[7]||(x[7]=n("div",null,[n("div",{class:"font-medium"}," Private (Link Only) "),n("div",{class:"text-sm text-dimmed"}," Anyone with the link can view. Not indexed by search engines. ")],-1))])],2),n("div",{class:Z(["p-4 border border-default rounded-lg cursor-pointer hover:bg-elevated transition-colors",{"border-primary bg-elevated":d.metadata.shared&&d.metadata.shareType==="public"}]),onClick:x[4]||(x[4]=z=>Q(!0,"public"))},[n("div",Vt,[l(H,{name:"i-lucide-globe",class:"size-5 text-dimmed"}),x[8]||(x[8]=n("div",null,[n("div",{class:"font-medium"}," Public "),n("div",{class:"text-sm text-dimmed"}," Visible to everyone. Indexed by search engines. ")],-1))])],2)])]),_:1},8,["open"])])}}}),It=Object.assign(qt,{__name:"EditorDocumentEditor"});function Pt(){const d=h(null),m=h(null),c=h(""),_=h(null),r=h(!1),p=h("idle"),b=h(!1),v=h(!1),T=ce(async()=>{!d.value||!b.value||await w({body:c.value})},2e3),F=ce(async()=>{!d.value||!v.value||await w()},500);async function C(o){r.value=!0,_.value=o,b.value=!1,v.value=!1,p.value="idle";try{const a=await $fetch("/api/documents/by-path",{method:"POST",body:{path:o}});d.value=a.data.document,m.value=a.data.metadata,c.value=a.data.body||""}catch(a){console.error("Failed to load document:",a),d.value=null,m.value=null,c.value=""}finally{r.value=!1}}function g(o){c.value!==o&&(c.value=o,b.value=!0,T())}function M(o){m.value&&(m.value={...m.value,...o},v.value=!0,F())}async function w(o={}){if(d.value){p.value="saving";try{const a={...o};v.value&&m.value&&(a.title=m.value.title,a.tags=m.value.tags,a.projectId=m.value.projectId,a.shared=m.value.shared,a.shareType=m.value.shareType),b.value&&o.body===void 0&&(a.body=c.value);const s=await $fetch(`/api/documents/${d.value.id}`,{method:"PUT",body:a});d.value=s.data.document,m.value=s.data.metadata,c.value=s.data.body||"",b.value=!1,v.value=!1,p.value="saved",setTimeout(()=>{p.value==="saved"&&(p.value="idle")},2e3)}catch(a){console.error("Failed to save document:",a),p.value="error"}}}async function $(){!b.value&&!v.value||await w({body:c.value})}function q(){d.value=null,m.value=null,c.value="",_.value=null,b.value=!1,v.value=!1,p.value="idle"}return{document:d,metadata:m,body:c,filePath:_,loading:r,saveStatus:p,isDirty:b,metadataDirty:v,loadDocument:C,updateBody:g,updateMetadata:M,saveDocument:w,saveNow:$,closeDocument:q}}const zt={class:"flex flex-1 min-w-0"},Mt={key:0,class:"flex-1 flex items-center justify-center h-full"},Et={key:1,class:"flex-1 flex items-center justify-center h-full text-dimmed"},Bt={class:"text-center"},qa=te({__name:"docs",setup(d){const m=$e(),{document:c,metadata:_,body:r,filePath:p,loading:b,saveStatus:v,isDirty:T,metadataDirty:F,loadDocument:C,updateBody:g,updateMetadata:M,saveNow:w}=Pt(),{lastDocumentPath:$}=pe();async function q(o){await C(o),$.value=o}return re(async()=>{const o=m.query.path;o?(await C(o),$.value=o):$.value&&await C($.value)}),(o,a)=>{const s=ut,U=Ue,f=mt,I=je,V=le,E=Ve,P=Te,y=ae,Y=It;return k(),L("div",zt,[l(U,{id:"docs-filetree",collapsible:"",resizable:"","min-size":12,"default-size":16,"max-size":24,class:"hidden lg:flex"},{body:i(()=>[l(s,{class:"h-full",onSelect:q})]),_:1}),l(U,{id:"docs-editor",grow:"",ui:{body:"sm:py-0"}},{header:i(()=>[l(P,null,{title:i(()=>[l(f),a[0]||(a[0]=O(" Editor ",-1))]),right:i(()=>[l(I),l(E,null,{content:i(()=>[l(s,{class:"h-full",onSelect:q})]),default:i(()=>[l(V,{icon:"i-lucide-folder-tree",class:"block lg:hidden"})]),_:1})]),_:1})]),body:i(()=>[t(b)?(k(),L("div",Mt,[l(y,{name:"i-lucide-loader-2",class:"size-6 animate-spin text-dimmed"})])):t(p)?t(_)&&t(c)?(k(),A(Y,{key:t(p),document:t(c),body:t(r),metadata:t(_),"file-path":t(p),"save-status":t(v),"is-dirty":t(T),"metadata-dirty":t(F),class:"h-full","onUpdate:body":t(g),"onUpdate:metadata":t(M),onSave:t(w)},null,8,["document","body","metadata","file-path","save-status","is-dirty","metadata-dirty","onUpdate:body","onUpdate:metadata","onSave"])):J("",!0):(k(),L("div",Et,[n("div",Bt,[l(y,{name:"i-lucide-file-text",class:"size-32 mx-auto mb-4 opacity-50"}),a[1]||(a[1]=n("p",null,"Select a file to edit",-1))])]))]),_:1})])}}});export{qa as default};
@@ -1,4 +1,4 @@
1
- import{_ as H}from"./DqzomZoo.js";import{a as B,c as F,G as T,R as k,a9 as O,ai as N,aj as j,T as n,ab as h,_ as J,ae as R,C as c,U as I,aG as Q,Q as M,b8 as Y,S as g,e as b,f as E,al as C,aa as D,W as K}from"./njnzCNrH.js";import{_ as X}from"./zO9MgHj2.js";import{e as Z}from"./BHn8tRjg.js";import{S as ee,C as te,A as ae,z as le,f as q}from"./BmdlymIW.js";import{S as oe,P as ne}from"./D4X6ONPF.js";import{_ as se}from"./DlAUqK2U.js";import{_ as ie}from"./SfaNtyKS.js";import{_ as re}from"./D-5A6cMB.js";import{_ as ce}from"./DmDPSvxi.js";import{_ as ue,a as de}from"./D79lbuWG.js";import{_ as me}from"./BUC36BHp.js";const fe={class:"flex items-center gap-2 text-muted text-sm mb-1"},ve={class:"text-2xl font-semibold"},pe=B({__name:"AgentStatsCards",props:{stats:{},variant:{},loading:{type:Boolean}},setup(o){const m=o;function x(e){return e<.01?"<$0.01":`$${e.toFixed(2)}`}function A(e){return e<1e3?`${e}ms`:e<6e4?`${(e/1e3).toFixed(1)}s`:`${(e/6e4).toFixed(1)}m`}function f(e){if(!e)return"Never";const u=new Date(e),w=new Date().getTime()-u.getTime(),s=Math.floor(w/6e4),$=Math.floor(w/36e5),a=Math.floor(w/864e5);return s<1?"Just now":s<60?`${s}m ago`:$<24?`${$}h ago`:`${a}d ago`}const v=F(()=>{if(m.variant!=="global"||!m.stats)return[];const e=m.stats;return[{title:"Total Agents",icon:"i-lucide-bot",value:e.totalAgents},{title:"Active",icon:"i-lucide-play-circle",value:e.activeAgents},{title:"Runs",icon:"i-lucide-activity",value:e.runsInPeriod},{title:"Success Rate",icon:"i-lucide-check-circle",value:`${e.successRate}%`},{title:"Total Cost",icon:"i-lucide-dollar-sign",value:x(e.totalCostUsd)}]}),_=F(()=>{if(m.variant!=="detail"||!m.stats)return[];const e=m.stats;return[{title:"Total Runs",icon:"i-lucide-activity",value:e.totalRuns},{title:"Success Rate",icon:"i-lucide-check-circle",value:`${e.successRate}%`},{title:"Avg Duration",icon:"i-lucide-clock",value:A(e.avgDurationMs)},{title:"Total Cost",icon:"i-lucide-dollar-sign",value:x(e.totalCostUsd)},{title:"Last Run",icon:"i-lucide-calendar",value:f(e.lastRunAt)}]}),y=F(()=>m.variant==="global"?v.value:_.value);return(e,u)=>{const p=H,w=J;return k(),T("div",{class:I(["grid gap-4",(o.variant==="global","grid-cols-2 sm:grid-cols-3 lg:grid-cols-5")])},[o.loading?(k(!0),T(N,{key:0},j((o.variant==="global",5),s=>(k(),T("div",{key:s,class:"p-4 rounded-lg bg-elevated border border-default"},[n(p,{class:"h-4 w-16 mb-2"}),n(p,{class:"h-8 w-12"})]))),128)):o.stats?(k(!0),T(N,{key:1},j(c(y),s=>(k(),T("div",{key:s.title,class:"p-4 rounded-lg bg-elevated border border-default"},[h("div",fe,[n(w,{name:s.icon,class:"size-4"},null,8,["name"]),h("span",null,R(s.title),1)]),h("p",ve,R(s.value),1)]))),128)):O("",!0)],2)}}}),Ne=Object.assign(pe,{__name:"AgentsAgentStatsCards"}),ge={class:"text-sm font-medium"},he={key:0,class:"flex items-center justify-center h-48 text-muted"},_e=B({__name:"AgentActivityChart.client",props:{data:{},title:{},height:{}},setup(o){const m=o,x=Q("cardRef"),{width:A}=Z(x),f=(e,u)=>u,v=e=>e.total,_=e=>{const u=m.data[e];return u?q(new Date(u.date),"d MMM"):""},y=e=>`<div class="p-2 text-sm">
1
+ import{_ as H}from"./Cs_udj6A.js";import{a as B,c as F,G as T,R as k,a9 as O,aj as N,ak as j,T as n,ab as h,_ as J,ae as R,C as c,U as I,aG as Q,Q as M,b8 as Y,S as g,e as b,f as E,ai as C,aa as D,W as K}from"./B63LIwsW.js";import{_ as X}from"./myNwwtfj.js";import{e as Z}from"./HlbU_z9a.js";import{S as ee,C as te,A as ae,z as le,f as q}from"./BJ8jbKuq.js";import{S as oe,P as ne}from"./BX6vcvkp.js";import{_ as se}from"./DlAUqK2U.js";import{_ as ie}from"./B6wYZD_K.js";import{_ as re}from"./DmmQUhEb.js";import{_ as ce}from"./4nN41Tyd.js";import{_ as ue,a as de}from"./CwOUYOe5.js";import{_ as me}from"./BaYtugUf.js";const fe={class:"flex items-center gap-2 text-muted text-sm mb-1"},ve={class:"text-2xl font-semibold"},pe=B({__name:"AgentStatsCards",props:{stats:{},variant:{},loading:{type:Boolean}},setup(o){const m=o;function x(e){return e<.01?"<$0.01":`$${e.toFixed(2)}`}function A(e){return e<1e3?`${e}ms`:e<6e4?`${(e/1e3).toFixed(1)}s`:`${(e/6e4).toFixed(1)}m`}function f(e){if(!e)return"Never";const u=new Date(e),w=new Date().getTime()-u.getTime(),s=Math.floor(w/6e4),$=Math.floor(w/36e5),a=Math.floor(w/864e5);return s<1?"Just now":s<60?`${s}m ago`:$<24?`${$}h ago`:`${a}d ago`}const v=F(()=>{if(m.variant!=="global"||!m.stats)return[];const e=m.stats;return[{title:"Total Agents",icon:"i-lucide-bot",value:e.totalAgents},{title:"Active",icon:"i-lucide-play-circle",value:e.activeAgents},{title:"Runs",icon:"i-lucide-activity",value:e.runsInPeriod},{title:"Success Rate",icon:"i-lucide-check-circle",value:`${e.successRate}%`},{title:"Total Cost",icon:"i-lucide-dollar-sign",value:x(e.totalCostUsd)}]}),_=F(()=>{if(m.variant!=="detail"||!m.stats)return[];const e=m.stats;return[{title:"Total Runs",icon:"i-lucide-activity",value:e.totalRuns},{title:"Success Rate",icon:"i-lucide-check-circle",value:`${e.successRate}%`},{title:"Avg Duration",icon:"i-lucide-clock",value:A(e.avgDurationMs)},{title:"Total Cost",icon:"i-lucide-dollar-sign",value:x(e.totalCostUsd)},{title:"Last Run",icon:"i-lucide-calendar",value:f(e.lastRunAt)}]}),y=F(()=>m.variant==="global"?v.value:_.value);return(e,u)=>{const p=H,w=J;return k(),T("div",{class:I(["grid gap-4",(o.variant==="global","grid-cols-2 sm:grid-cols-3 lg:grid-cols-5")])},[o.loading?(k(!0),T(N,{key:0},j((o.variant==="global",5),s=>(k(),T("div",{key:s,class:"p-4 rounded-lg bg-elevated border border-default"},[n(p,{class:"h-4 w-16 mb-2"}),n(p,{class:"h-8 w-12"})]))),128)):o.stats?(k(!0),T(N,{key:1},j(c(y),s=>(k(),T("div",{key:s.title,class:"p-4 rounded-lg bg-elevated border border-default"},[h("div",fe,[n(w,{name:s.icon,class:"size-4"},null,8,["name"]),h("span",null,R(s.title),1)]),h("p",ve,R(s.value),1)]))),128)):O("",!0)],2)}}}),Ne=Object.assign(pe,{__name:"AgentsAgentStatsCards"}),ge={class:"text-sm font-medium"},he={key:0,class:"flex items-center justify-center h-48 text-muted"},_e=B({__name:"AgentActivityChart.client",props:{data:{},title:{},height:{}},setup(o){const m=o,x=Q("cardRef"),{width:A}=Z(x),f=(e,u)=>u,v=e=>e.total,_=e=>{const u=m.data[e];return u?q(new Date(u.date),"d MMM"):""},y=e=>`<div class="p-2 text-sm">
2
2
  <div class="font-medium">${q(new Date(e.date),"MMM d, yyyy")}</div>
3
3
  <div class="text-success">Success: ${e.success}</div>
4
4
  <div class="text-error">Errors: ${e.error}</div>
@@ -1 +1 @@
1
- import{aX as M,c as z,b as u,ah as F,aY as S,aZ as A}from"./njnzCNrH.js";import{u as R}from"./Buf1PAiO.js";const x=[1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225],C=[1116352408,1899447441,-1245643825,-373957723,961987163,1508970993,-1841331548,-1424204075,-670586216,310598401,607225278,1426881987,1925078388,-2132889090,-1680079193,-1046744716,-459576895,-272742522,264347078,604807628,770255983,1249150122,1555081692,1996064986,-1740746414,-1473132947,-1341970488,-1084653625,-958395405,-710438585,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,-2117940946,-1838011259,-1564481375,-1474664885,-1035236496,-949202525,-778901479,-694614492,-200395387,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,-2067236844,-1933114872,-1866530822,-1538233109,-1090935817,-965641998],$="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",d=[];class q{_data=new w;_hash=new w([...x]);_nDataBytes=0;_minBufferSize=0;finalize(e){e&&this._append(e);const s=this._nDataBytes*8,t=this._data.sigBytes*8;return this._data.words[t>>>5]|=128<<24-t%32,this._data.words[(t+64>>>9<<4)+14]=Math.floor(s/4294967296),this._data.words[(t+64>>>9<<4)+15]=s,this._data.sigBytes=this._data.words.length*4,this._process(),this._hash}_doProcessBlock(e,s){const t=this._hash.words;let a=t[0],o=t[1],i=t[2],h=t[3],c=t[4],l=t[5],y=t[6],_=t[7];for(let n=0;n<64;n++){if(n<16)d[n]=e[s+n]|0;else{const f=d[n-15],k=(f<<25|f>>>7)^(f<<14|f>>>18)^f>>>3,g=d[n-2],U=(g<<15|g>>>17)^(g<<13|g>>>19)^g>>>10;d[n]=k+d[n-7]+U+d[n-16]}const m=c&l^~c&y,b=a&o^a&i^o&i,v=(a<<30|a>>>2)^(a<<19|a>>>13)^(a<<10|a>>>22),D=(c<<26|c>>>6)^(c<<21|c>>>11)^(c<<7|c>>>25),B=_+D+m+C[n]+d[n],j=v+b;_=y,y=l,l=c,c=h+B|0,h=i,i=o,o=a,a=B+j|0}t[0]=t[0]+a|0,t[1]=t[1]+o|0,t[2]=t[2]+i|0,t[3]=t[3]+h|0,t[4]=t[4]+c|0,t[5]=t[5]+l|0,t[6]=t[6]+y|0,t[7]=t[7]+_|0}_append(e){typeof e=="string"&&(e=w.fromUtf8(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes}_process(e){let s,t=this._data.sigBytes/64;e?t=Math.ceil(t):t=Math.max((t|0)-this._minBufferSize,0);const a=t*16,o=Math.min(a*4,this._data.sigBytes);if(a){for(let i=0;i<a;i+=16)this._doProcessBlock(this._data.words,i);s=this._data.words.splice(0,a),this._data.sigBytes-=o}return new w(s,o)}}class w{words;sigBytes;constructor(e,s){e=this.words=e||[],this.sigBytes=s===void 0?e.length*4:s}static fromUtf8(e){const s=unescape(encodeURIComponent(e)),t=s.length,a=[];for(let o=0;o<t;o++)a[o>>>2]|=(s.charCodeAt(o)&255)<<24-o%4*8;return new w(a,t)}toBase64(){const e=[];for(let s=0;s<this.sigBytes;s+=3){const t=this.words[s>>>2]>>>24-s%4*8&255,a=this.words[s+1>>>2]>>>24-(s+1)%4*8&255,o=this.words[s+2>>>2]>>>24-(s+2)%4*8&255,i=t<<16|a<<8|o;for(let h=0;h<4&&s*8+h*6<this.sigBytes*8;h++)e.push($.charAt(i>>>6*(3-h)&63))}return e.join("")}concat(e){if(this.words[this.sigBytes>>>2]&=4294967295<<32-this.sigBytes%4*8,this.words.length=Math.ceil(this.sigBytes/4),this.sigBytes%4)for(let s=0;s<e.sigBytes;s++){const t=e.words[s>>>2]>>>24-s%4*8&255;this.words[this.sigBytes+s>>>2]|=t<<24-(this.sigBytes+s)%4*8}else for(let s=0;s<e.sigBytes;s+=4)this.words[this.sigBytes+s>>>2]=e.words[s>>>2];this.sigBytes+=e.sigBytes}}function E(r){return new q().finalize(r).toBase64()}function p(r){return E(M(r))}function I(r,e,s){const[t={},a]=typeof e=="string"?[{},e]:[e,s],o=z(()=>u(r)),i=z(()=>u(t.key)||"$f"+p([a,typeof o.value=="string"?o.value:"",...L(t)]));if(!t.baseURL&&typeof o.value=="string"&&o.value[0]==="/"&&o.value[1]==="/")throw new Error('[nuxt] [useFetch] the request URL must not start with "//".');const{server:h,lazy:c,default:l,transform:y,pick:_,watch:n,immediate:m,getCachedData:b,deep:v,dedupe:D,timeout:B,...j}=t,f=F({...S,...j,cache:typeof t.cache=="boolean"?void 0:t.cache}),k={server:h,lazy:c,default:l,transform:y,pick:_,immediate:m,getCachedData:b,deep:v,dedupe:D,timeout:B,watch:n===!1?[]:[...n||[],f]};return R(n===!1?i.value:i,(U,{signal:O})=>(t.$fetch||globalThis.$fetch)(o.value,{signal:O,...f}),k)}function L(r){const e=[u(r.method)?.toUpperCase()||"GET",u(r.baseURL)];for(const s of[r.query||r.params]){const t=u(s);if(!t)continue;const a={};for(const[o,i]of Object.entries(t))a[u(o)]=u(i);e.push(a)}if(r.body){const s=u(r.body);if(!s)e.push(p(s));else if(s instanceof ArrayBuffer)e.push(p(Object.fromEntries([...new Uint8Array(s).entries()].map(([t,a])=>[t,a.toString()]))));else if(s instanceof FormData){const t={};for(const a of s.entries()){const[o,i]=a;t[o]=i instanceof File?i.name:i}e.push(p(t))}else if(A(s))e.push(p(F(s)));else try{e.push(p(s))}catch{console.warn("[useFetch] Failed to hash body",s)}}return e}export{I as u};
1
+ import{aX as M,c as z,b as u,ah as F,aY as S,aZ as A}from"./B63LIwsW.js";import{u as R}from"./DCL9gWFw.js";const x=[1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225],C=[1116352408,1899447441,-1245643825,-373957723,961987163,1508970993,-1841331548,-1424204075,-670586216,310598401,607225278,1426881987,1925078388,-2132889090,-1680079193,-1046744716,-459576895,-272742522,264347078,604807628,770255983,1249150122,1555081692,1996064986,-1740746414,-1473132947,-1341970488,-1084653625,-958395405,-710438585,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,-2117940946,-1838011259,-1564481375,-1474664885,-1035236496,-949202525,-778901479,-694614492,-200395387,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,-2067236844,-1933114872,-1866530822,-1538233109,-1090935817,-965641998],$="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",d=[];class q{_data=new w;_hash=new w([...x]);_nDataBytes=0;_minBufferSize=0;finalize(e){e&&this._append(e);const s=this._nDataBytes*8,t=this._data.sigBytes*8;return this._data.words[t>>>5]|=128<<24-t%32,this._data.words[(t+64>>>9<<4)+14]=Math.floor(s/4294967296),this._data.words[(t+64>>>9<<4)+15]=s,this._data.sigBytes=this._data.words.length*4,this._process(),this._hash}_doProcessBlock(e,s){const t=this._hash.words;let a=t[0],o=t[1],i=t[2],h=t[3],c=t[4],l=t[5],y=t[6],_=t[7];for(let n=0;n<64;n++){if(n<16)d[n]=e[s+n]|0;else{const f=d[n-15],k=(f<<25|f>>>7)^(f<<14|f>>>18)^f>>>3,g=d[n-2],U=(g<<15|g>>>17)^(g<<13|g>>>19)^g>>>10;d[n]=k+d[n-7]+U+d[n-16]}const m=c&l^~c&y,b=a&o^a&i^o&i,v=(a<<30|a>>>2)^(a<<19|a>>>13)^(a<<10|a>>>22),D=(c<<26|c>>>6)^(c<<21|c>>>11)^(c<<7|c>>>25),B=_+D+m+C[n]+d[n],j=v+b;_=y,y=l,l=c,c=h+B|0,h=i,i=o,o=a,a=B+j|0}t[0]=t[0]+a|0,t[1]=t[1]+o|0,t[2]=t[2]+i|0,t[3]=t[3]+h|0,t[4]=t[4]+c|0,t[5]=t[5]+l|0,t[6]=t[6]+y|0,t[7]=t[7]+_|0}_append(e){typeof e=="string"&&(e=w.fromUtf8(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes}_process(e){let s,t=this._data.sigBytes/64;e?t=Math.ceil(t):t=Math.max((t|0)-this._minBufferSize,0);const a=t*16,o=Math.min(a*4,this._data.sigBytes);if(a){for(let i=0;i<a;i+=16)this._doProcessBlock(this._data.words,i);s=this._data.words.splice(0,a),this._data.sigBytes-=o}return new w(s,o)}}class w{words;sigBytes;constructor(e,s){e=this.words=e||[],this.sigBytes=s===void 0?e.length*4:s}static fromUtf8(e){const s=unescape(encodeURIComponent(e)),t=s.length,a=[];for(let o=0;o<t;o++)a[o>>>2]|=(s.charCodeAt(o)&255)<<24-o%4*8;return new w(a,t)}toBase64(){const e=[];for(let s=0;s<this.sigBytes;s+=3){const t=this.words[s>>>2]>>>24-s%4*8&255,a=this.words[s+1>>>2]>>>24-(s+1)%4*8&255,o=this.words[s+2>>>2]>>>24-(s+2)%4*8&255,i=t<<16|a<<8|o;for(let h=0;h<4&&s*8+h*6<this.sigBytes*8;h++)e.push($.charAt(i>>>6*(3-h)&63))}return e.join("")}concat(e){if(this.words[this.sigBytes>>>2]&=4294967295<<32-this.sigBytes%4*8,this.words.length=Math.ceil(this.sigBytes/4),this.sigBytes%4)for(let s=0;s<e.sigBytes;s++){const t=e.words[s>>>2]>>>24-s%4*8&255;this.words[this.sigBytes+s>>>2]|=t<<24-(this.sigBytes+s)%4*8}else for(let s=0;s<e.sigBytes;s+=4)this.words[this.sigBytes+s>>>2]=e.words[s>>>2];this.sigBytes+=e.sigBytes}}function E(r){return new q().finalize(r).toBase64()}function p(r){return E(M(r))}function I(r,e,s){const[t={},a]=typeof e=="string"?[{},e]:[e,s],o=z(()=>u(r)),i=z(()=>u(t.key)||"$f"+p([a,typeof o.value=="string"?o.value:"",...L(t)]));if(!t.baseURL&&typeof o.value=="string"&&o.value[0]==="/"&&o.value[1]==="/")throw new Error('[nuxt] [useFetch] the request URL must not start with "//".');const{server:h,lazy:c,default:l,transform:y,pick:_,watch:n,immediate:m,getCachedData:b,deep:v,dedupe:D,timeout:B,...j}=t,f=F({...S,...j,cache:typeof t.cache=="boolean"?void 0:t.cache}),k={server:h,lazy:c,default:l,transform:y,pick:_,immediate:m,getCachedData:b,deep:v,dedupe:D,timeout:B,watch:n===!1?[]:[...n||[],f]};return R(n===!1?i.value:i,(U,{signal:O})=>(t.$fetch||globalThis.$fetch)(o.value,{signal:O,...f}),k)}function L(r){const e=[u(r.method)?.toUpperCase()||"GET",u(r.baseURL)];for(const s of[r.query||r.params]){const t=u(s);if(!t)continue;const a={};for(const[o,i]of Object.entries(t))a[u(o)]=u(i);e.push(a)}if(r.body){const s=u(r.body);if(!s)e.push(p(s));else if(s instanceof ArrayBuffer)e.push(p(Object.fromEntries([...new Uint8Array(s).entries()].map(([t,a])=>[t,a.toString()]))));else if(s instanceof FormData){const t={};for(const a of s.entries()){const[o,i]=a;t[o]=i instanceof File?i.name:i}e.push(p(t))}else if(A(s))e.push(p(F(s)));else try{e.push(p(s))}catch{console.warn("[useFetch] Failed to hash body",s)}}return e}export{I as u};
@@ -1 +1 @@
1
- import{ao as T,N as $,aJ as C,aI as _,c as N,am as p,e as P,Q as o,R as s,S as d,T as y,G as v,a9 as g,C as r,U as c,a4 as u,ai as x,aj as m,_ as K,ax as R,V as f,Y as z,aa as k,ae as S}from"./njnzCNrH.js";import{a as j,T as E,c as F,d as H,b as L}from"./D7pKT3IW.js";import{_ as M}from"./yJ9vRvHj.js";const O={slots:{root:"flex items-center gap-2",list:"relative flex p-1 group",indicator:"absolute transition-[translate,width] duration-200",trigger:["group relative inline-flex items-center min-w-0 data-[state=inactive]:text-muted hover:data-[state=inactive]:not-disabled:text-default font-medium rounded-md disabled:cursor-not-allowed disabled:opacity-75","transition-colors"],leadingIcon:"shrink-0",leadingAvatar:"shrink-0",leadingAvatarSize:"",label:"truncate",trailingBadge:"shrink-0",trailingBadgeSize:"sm",content:"focus:outline-none w-full"},variants:{color:{primary:"",secondary:"",success:"",info:"",warning:"",error:"",neutral:""},variant:{pill:{list:"bg-elevated rounded-lg",trigger:"grow",indicator:"rounded-md shadow-xs"},link:{list:"border-default",indicator:"rounded-full",trigger:"focus:outline-none"}},orientation:{horizontal:{root:"flex-col",list:"w-full",indicator:"left-0 w-(--reka-tabs-indicator-size) translate-x-(--reka-tabs-indicator-position)",trigger:"justify-center"},vertical:{list:"flex-col",indicator:"top-0 h-(--reka-tabs-indicator-size) translate-y-(--reka-tabs-indicator-position)"}},size:{xs:{trigger:"px-2 py-1 text-xs gap-1",leadingIcon:"size-4",leadingAvatarSize:"3xs"},sm:{trigger:"px-2.5 py-1.5 text-xs gap-1.5",leadingIcon:"size-4",leadingAvatarSize:"3xs"},md:{trigger:"px-3 py-1.5 text-sm gap-1.5",leadingIcon:"size-5",leadingAvatarSize:"2xs"},lg:{trigger:"px-3 py-2 text-sm gap-2",leadingIcon:"size-5",leadingAvatarSize:"2xs"},xl:{trigger:"px-3 py-2 text-base gap-2",leadingIcon:"size-6",leadingAvatarSize:"xs"}}},compoundVariants:[{orientation:"horizontal",variant:"pill",class:{indicator:"inset-y-1"}},{orientation:"horizontal",variant:"link",class:{list:"border-b -mb-px",indicator:"-bottom-px h-px"}},{orientation:"vertical",variant:"pill",class:{indicator:"inset-x-1",list:"items-center"}},{orientation:"vertical",variant:"link",class:{list:"border-s -ms-px",indicator:"-start-px w-px"}},{color:"primary",variant:"pill",class:{indicator:"bg-primary",trigger:"data-[state=active]:text-inverted focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary"}},{color:"secondary",variant:"pill",class:{indicator:"bg-secondary",trigger:"data-[state=active]:text-inverted focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-secondary"}},{color:"success",variant:"pill",class:{indicator:"bg-success",trigger:"data-[state=active]:text-inverted focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-success"}},{color:"info",variant:"pill",class:{indicator:"bg-info",trigger:"data-[state=active]:text-inverted focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-info"}},{color:"warning",variant:"pill",class:{indicator:"bg-warning",trigger:"data-[state=active]:text-inverted focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-warning"}},{color:"error",variant:"pill",class:{indicator:"bg-error",trigger:"data-[state=active]:text-inverted focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-error"}},{color:"neutral",variant:"pill",class:{indicator:"bg-inverted",trigger:"data-[state=active]:text-inverted focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-inverted"}},{color:"primary",variant:"link",class:{indicator:"bg-primary",trigger:"data-[state=active]:text-primary focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-primary"}},{color:"secondary",variant:"link",class:{indicator:"bg-secondary",trigger:"data-[state=active]:text-secondary focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-secondary"}},{color:"success",variant:"link",class:{indicator:"bg-success",trigger:"data-[state=active]:text-success focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-success"}},{color:"info",variant:"link",class:{indicator:"bg-info",trigger:"data-[state=active]:text-info focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-info"}},{color:"warning",variant:"link",class:{indicator:"bg-warning",trigger:"data-[state=active]:text-warning focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-warning"}},{color:"error",variant:"link",class:{indicator:"bg-error",trigger:"data-[state=active]:text-error focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-error"}},{color:"neutral",variant:"link",class:{indicator:"bg-inverted",trigger:"data-[state=active]:text-highlighted focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-inverted"}}],defaultVariants:{color:"primary",variant:"pill",size:"md"}},Q={__name:"UTabs",props:{as:{type:null,required:!1},items:{type:Array,required:!1},color:{type:null,required:!1},variant:{type:null,required:!1},size:{type:null,required:!1},orientation:{type:null,required:!1,default:"horizontal"},content:{type:Boolean,required:!1,default:!0},labelKey:{type:null,required:!1,default:"label"},class:{type:null,required:!1},ui:{type:null,required:!1},defaultValue:{type:null,required:!1,default:"0"},modelValue:{type:null,required:!1},activationMode:{type:String,required:!1},unmountOnHide:{type:Boolean,required:!1,default:!0}},emits:["update:modelValue"],setup(l,{expose:w,emit:h}){const a=l,A=h,q=T(),B=$(),I=C(_(a,"as","unmountOnHide"),A),i=N(()=>p({extend:p(O),...B.ui?.tabs||{}})({color:a.color,variant:a.variant,size:a.size,orientation:a.orientation})),b=P([]);return w({triggersRef:b}),(n,U)=>(s(),o(r(L),f(r(I),{"model-value":l.modelValue,"default-value":l.defaultValue,orientation:l.orientation,"activation-mode":l.activationMode,"data-slot":"root",class:i.value.root({class:[a.ui?.root,a.class]})}),{default:d(()=>[y(r(j),{"data-slot":"list",class:c(i.value.list({class:a.ui?.list}))},{default:d(()=>[y(r(E),{"data-slot":"indicator",class:c(i.value.indicator({class:a.ui?.indicator}))},null,8,["class"]),u(n.$slots,"list-leading"),(s(!0),v(x,null,m(l.items,(e,t)=>(s(),o(r(F),{key:t,ref_for:!0,ref:V=>b.value[t]=V,value:e.value??String(t),disabled:e.disabled,"data-slot":"trigger",class:c(i.value.trigger({class:[a.ui?.trigger,e.ui?.trigger]}))},{default:d(()=>[u(n.$slots,"leading",{item:e,index:t,ui:i.value},()=>[e.icon?(s(),o(K,{key:0,name:e.icon,"data-slot":"leadingIcon",class:c(i.value.leadingIcon({class:[a.ui?.leadingIcon,e.ui?.leadingIcon]}))},null,8,["name","class"])):e.avatar?(s(),o(R,f({key:1,size:e.ui?.leadingAvatarSize||a.ui?.leadingAvatarSize||i.value.leadingAvatarSize()},{ref_for:!0},e.avatar,{"data-slot":"leadingAvatar",class:i.value.leadingAvatar({class:[a.ui?.leadingAvatar,e.ui?.leadingAvatar]})}),null,16,["size","class"])):g("",!0)]),r(z)(e,a.labelKey)||q.default?(s(),v("span",{key:0,"data-slot":"label",class:c(i.value.label({class:[a.ui?.label,e.ui?.label]}))},[u(n.$slots,"default",{item:e,index:t},()=>[k(S(r(z)(e,a.labelKey)),1)])],2)):g("",!0),u(n.$slots,"trailing",{item:e,index:t,ui:i.value},()=>[e.badge||e.badge===0?(s(),o(M,f({key:0,color:"neutral",variant:"outline",size:e.ui?.trailingBadgeSize||a.ui?.trailingBadgeSize||i.value.trailingBadgeSize()},{ref_for:!0},typeof e.badge=="string"||typeof e.badge=="number"?{label:e.badge}:e.badge,{"data-slot":"trailingBadge",class:i.value.trailingBadge({class:[a.ui?.trailingBadge,e.ui?.trailingBadge]})}),null,16,["size","class"])):g("",!0)])]),_:2},1032,["value","disabled","class"]))),128)),u(n.$slots,"list-trailing")]),_:3},8,["class"]),l.content?(s(!0),v(x,{key:0},m(l.items,(e,t)=>(s(),o(r(H),{key:t,value:e.value??String(t),"data-slot":"content",class:c(i.value.content({class:[a.ui?.content,e.ui?.content,e.class]}))},{default:d(()=>[u(n.$slots,e.slot||"content",{item:e,index:t,ui:i.value},()=>[k(S(e.content),1)])]),_:2},1032,["value","class"]))),128)):g("",!0)]),_:3},16,["model-value","default-value","orientation","activation-mode","class"]))}};export{Q as _};
1
+ import{ao as T,N as $,aJ as C,aI as _,c as N,am as p,e as P,Q as o,R as s,S as d,T as y,G as v,a9 as g,C as r,U as c,a4 as u,aj as x,ak as m,_ as K,ax as R,V as f,Y as z,aa as k,ae as S}from"./B63LIwsW.js";import{a as j,T as E,c as F,d as H,b as L}from"./D-O8wAju.js";import{_ as M}from"./BsnhHCOa.js";const O={slots:{root:"flex items-center gap-2",list:"relative flex p-1 group",indicator:"absolute transition-[translate,width] duration-200",trigger:["group relative inline-flex items-center min-w-0 data-[state=inactive]:text-muted hover:data-[state=inactive]:not-disabled:text-default font-medium rounded-md disabled:cursor-not-allowed disabled:opacity-75","transition-colors"],leadingIcon:"shrink-0",leadingAvatar:"shrink-0",leadingAvatarSize:"",label:"truncate",trailingBadge:"shrink-0",trailingBadgeSize:"sm",content:"focus:outline-none w-full"},variants:{color:{primary:"",secondary:"",success:"",info:"",warning:"",error:"",neutral:""},variant:{pill:{list:"bg-elevated rounded-lg",trigger:"grow",indicator:"rounded-md shadow-xs"},link:{list:"border-default",indicator:"rounded-full",trigger:"focus:outline-none"}},orientation:{horizontal:{root:"flex-col",list:"w-full",indicator:"left-0 w-(--reka-tabs-indicator-size) translate-x-(--reka-tabs-indicator-position)",trigger:"justify-center"},vertical:{list:"flex-col",indicator:"top-0 h-(--reka-tabs-indicator-size) translate-y-(--reka-tabs-indicator-position)"}},size:{xs:{trigger:"px-2 py-1 text-xs gap-1",leadingIcon:"size-4",leadingAvatarSize:"3xs"},sm:{trigger:"px-2.5 py-1.5 text-xs gap-1.5",leadingIcon:"size-4",leadingAvatarSize:"3xs"},md:{trigger:"px-3 py-1.5 text-sm gap-1.5",leadingIcon:"size-5",leadingAvatarSize:"2xs"},lg:{trigger:"px-3 py-2 text-sm gap-2",leadingIcon:"size-5",leadingAvatarSize:"2xs"},xl:{trigger:"px-3 py-2 text-base gap-2",leadingIcon:"size-6",leadingAvatarSize:"xs"}}},compoundVariants:[{orientation:"horizontal",variant:"pill",class:{indicator:"inset-y-1"}},{orientation:"horizontal",variant:"link",class:{list:"border-b -mb-px",indicator:"-bottom-px h-px"}},{orientation:"vertical",variant:"pill",class:{indicator:"inset-x-1",list:"items-center"}},{orientation:"vertical",variant:"link",class:{list:"border-s -ms-px",indicator:"-start-px w-px"}},{color:"primary",variant:"pill",class:{indicator:"bg-primary",trigger:"data-[state=active]:text-inverted focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary"}},{color:"secondary",variant:"pill",class:{indicator:"bg-secondary",trigger:"data-[state=active]:text-inverted focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-secondary"}},{color:"success",variant:"pill",class:{indicator:"bg-success",trigger:"data-[state=active]:text-inverted focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-success"}},{color:"info",variant:"pill",class:{indicator:"bg-info",trigger:"data-[state=active]:text-inverted focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-info"}},{color:"warning",variant:"pill",class:{indicator:"bg-warning",trigger:"data-[state=active]:text-inverted focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-warning"}},{color:"error",variant:"pill",class:{indicator:"bg-error",trigger:"data-[state=active]:text-inverted focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-error"}},{color:"neutral",variant:"pill",class:{indicator:"bg-inverted",trigger:"data-[state=active]:text-inverted focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-inverted"}},{color:"primary",variant:"link",class:{indicator:"bg-primary",trigger:"data-[state=active]:text-primary focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-primary"}},{color:"secondary",variant:"link",class:{indicator:"bg-secondary",trigger:"data-[state=active]:text-secondary focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-secondary"}},{color:"success",variant:"link",class:{indicator:"bg-success",trigger:"data-[state=active]:text-success focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-success"}},{color:"info",variant:"link",class:{indicator:"bg-info",trigger:"data-[state=active]:text-info focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-info"}},{color:"warning",variant:"link",class:{indicator:"bg-warning",trigger:"data-[state=active]:text-warning focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-warning"}},{color:"error",variant:"link",class:{indicator:"bg-error",trigger:"data-[state=active]:text-error focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-error"}},{color:"neutral",variant:"link",class:{indicator:"bg-inverted",trigger:"data-[state=active]:text-highlighted focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-inverted"}}],defaultVariants:{color:"primary",variant:"pill",size:"md"}},Q={__name:"UTabs",props:{as:{type:null,required:!1},items:{type:Array,required:!1},color:{type:null,required:!1},variant:{type:null,required:!1},size:{type:null,required:!1},orientation:{type:null,required:!1,default:"horizontal"},content:{type:Boolean,required:!1,default:!0},labelKey:{type:null,required:!1,default:"label"},class:{type:null,required:!1},ui:{type:null,required:!1},defaultValue:{type:null,required:!1,default:"0"},modelValue:{type:null,required:!1},activationMode:{type:String,required:!1},unmountOnHide:{type:Boolean,required:!1,default:!0}},emits:["update:modelValue"],setup(l,{expose:w,emit:h}){const a=l,A=h,q=T(),B=$(),I=C(_(a,"as","unmountOnHide"),A),i=N(()=>p({extend:p(O),...B.ui?.tabs||{}})({color:a.color,variant:a.variant,size:a.size,orientation:a.orientation})),b=P([]);return w({triggersRef:b}),(n,U)=>(s(),o(r(L),f(r(I),{"model-value":l.modelValue,"default-value":l.defaultValue,orientation:l.orientation,"activation-mode":l.activationMode,"data-slot":"root",class:i.value.root({class:[a.ui?.root,a.class]})}),{default:d(()=>[y(r(j),{"data-slot":"list",class:c(i.value.list({class:a.ui?.list}))},{default:d(()=>[y(r(E),{"data-slot":"indicator",class:c(i.value.indicator({class:a.ui?.indicator}))},null,8,["class"]),u(n.$slots,"list-leading"),(s(!0),v(x,null,m(l.items,(e,t)=>(s(),o(r(F),{key:t,ref_for:!0,ref:V=>b.value[t]=V,value:e.value??String(t),disabled:e.disabled,"data-slot":"trigger",class:c(i.value.trigger({class:[a.ui?.trigger,e.ui?.trigger]}))},{default:d(()=>[u(n.$slots,"leading",{item:e,index:t,ui:i.value},()=>[e.icon?(s(),o(K,{key:0,name:e.icon,"data-slot":"leadingIcon",class:c(i.value.leadingIcon({class:[a.ui?.leadingIcon,e.ui?.leadingIcon]}))},null,8,["name","class"])):e.avatar?(s(),o(R,f({key:1,size:e.ui?.leadingAvatarSize||a.ui?.leadingAvatarSize||i.value.leadingAvatarSize()},{ref_for:!0},e.avatar,{"data-slot":"leadingAvatar",class:i.value.leadingAvatar({class:[a.ui?.leadingAvatar,e.ui?.leadingAvatar]})}),null,16,["size","class"])):g("",!0)]),r(z)(e,a.labelKey)||q.default?(s(),v("span",{key:0,"data-slot":"label",class:c(i.value.label({class:[a.ui?.label,e.ui?.label]}))},[u(n.$slots,"default",{item:e,index:t},()=>[k(S(r(z)(e,a.labelKey)),1)])],2)):g("",!0),u(n.$slots,"trailing",{item:e,index:t,ui:i.value},()=>[e.badge||e.badge===0?(s(),o(M,f({key:0,color:"neutral",variant:"outline",size:e.ui?.trailingBadgeSize||a.ui?.trailingBadgeSize||i.value.trailingBadgeSize()},{ref_for:!0},typeof e.badge=="string"||typeof e.badge=="number"?{label:e.badge}:e.badge,{"data-slot":"trailingBadge",class:i.value.trailingBadge({class:[a.ui?.trailingBadge,e.ui?.trailingBadge]})}),null,16,["size","class"])):g("",!0)])]),_:2},1032,["value","disabled","class"]))),128)),u(n.$slots,"list-trailing")]),_:3},8,["class"]),l.content?(s(!0),v(x,{key:0},m(l.items,(e,t)=>(s(),o(r(H),{key:t,value:e.value??String(t),"data-slot":"content",class:c(i.value.content({class:[a.ui?.content,e.ui?.content,e.class]}))},{default:d(()=>[u(n.$slots,e.slot||"content",{item:e,index:t,ui:i.value},()=>[k(S(e.content),1)])]),_:2},1032,["value","class"]))),128)):g("",!0)]),_:3},16,["model-value","default-value","orientation","activation-mode","class"]))}};export{Q as _};
@@ -1 +1 @@
1
- import{ao as z,N as q,av as I,aw as w,c as S,am as d,Q as i,R as n,S as A,a4 as o,a9 as c,C as r,_ as v,U as t,ax as k,V as h,G as B,ae as C,a3 as G}from"./njnzCNrH.js";const N={slots:{base:"font-medium inline-flex items-center",label:"truncate",leadingIcon:"shrink-0",leadingAvatar:"shrink-0",leadingAvatarSize:"",trailingIcon:"shrink-0"},variants:{fieldGroup:{horizontal:"not-only:first:rounded-e-none not-only:last:rounded-s-none not-last:not-first:rounded-none focus-visible:z-[1]",vertical:"not-only:first:rounded-b-none not-only:last:rounded-t-none not-last:not-first:rounded-none focus-visible:z-[1]"},color:{primary:"",secondary:"",success:"",info:"",warning:"",error:"",neutral:""},variant:{solid:"",outline:"",soft:"",subtle:""},size:{xs:{base:"text-[8px]/3 px-1 py-0.5 gap-1 rounded-sm",leadingIcon:"size-3",leadingAvatarSize:"3xs",trailingIcon:"size-3"},sm:{base:"text-[10px]/3 px-1.5 py-1 gap-1 rounded-sm",leadingIcon:"size-3",leadingAvatarSize:"3xs",trailingIcon:"size-3"},md:{base:"text-xs px-2 py-1 gap-1 rounded-md",leadingIcon:"size-4",leadingAvatarSize:"3xs",trailingIcon:"size-4"},lg:{base:"text-sm px-2 py-1 gap-1.5 rounded-md",leadingIcon:"size-5",leadingAvatarSize:"2xs",trailingIcon:"size-5"},xl:{base:"text-base px-2.5 py-1 gap-1.5 rounded-md",leadingIcon:"size-6",leadingAvatarSize:"2xs",trailingIcon:"size-6"}},square:{true:""}},compoundVariants:[{color:"primary",variant:"solid",class:"bg-primary text-inverted"},{color:"secondary",variant:"solid",class:"bg-secondary text-inverted"},{color:"success",variant:"solid",class:"bg-success text-inverted"},{color:"info",variant:"solid",class:"bg-info text-inverted"},{color:"warning",variant:"solid",class:"bg-warning text-inverted"},{color:"error",variant:"solid",class:"bg-error text-inverted"},{color:"primary",variant:"outline",class:"text-primary ring ring-inset ring-primary/50"},{color:"secondary",variant:"outline",class:"text-secondary ring ring-inset ring-secondary/50"},{color:"success",variant:"outline",class:"text-success ring ring-inset ring-success/50"},{color:"info",variant:"outline",class:"text-info ring ring-inset ring-info/50"},{color:"warning",variant:"outline",class:"text-warning ring ring-inset ring-warning/50"},{color:"error",variant:"outline",class:"text-error ring ring-inset ring-error/50"},{color:"primary",variant:"soft",class:"bg-primary/10 text-primary"},{color:"secondary",variant:"soft",class:"bg-secondary/10 text-secondary"},{color:"success",variant:"soft",class:"bg-success/10 text-success"},{color:"info",variant:"soft",class:"bg-info/10 text-info"},{color:"warning",variant:"soft",class:"bg-warning/10 text-warning"},{color:"error",variant:"soft",class:"bg-error/10 text-error"},{color:"primary",variant:"subtle",class:"bg-primary/10 text-primary ring ring-inset ring-primary/25"},{color:"secondary",variant:"subtle",class:"bg-secondary/10 text-secondary ring ring-inset ring-secondary/25"},{color:"success",variant:"subtle",class:"bg-success/10 text-success ring ring-inset ring-success/25"},{color:"info",variant:"subtle",class:"bg-info/10 text-info ring ring-inset ring-info/25"},{color:"warning",variant:"subtle",class:"bg-warning/10 text-warning ring ring-inset ring-warning/25"},{color:"error",variant:"subtle",class:"bg-error/10 text-error ring ring-inset ring-error/25"},{color:"neutral",variant:"solid",class:"text-inverted bg-inverted"},{color:"neutral",variant:"outline",class:"ring ring-inset ring-accented text-default bg-default"},{color:"neutral",variant:"soft",class:"text-default bg-elevated"},{color:"neutral",variant:"subtle",class:"ring ring-inset ring-accented text-default bg-elevated"},{size:"xs",square:!0,class:"p-0.5"},{size:"sm",square:!0,class:"p-1"},{size:"md",square:!0,class:"p-1"},{size:"lg",square:!0,class:"p-1"},{size:"xl",square:!0,class:"p-1"}],defaultVariants:{color:"primary",variant:"solid",size:"md"}},P={__name:"UBadge",props:{as:{type:null,required:!1,default:"span"},label:{type:[String,Number],required:!1},color:{type:null,required:!1},variant:{type:null,required:!1},size:{type:null,required:!1},square:{type:Boolean,required:!1},class:{type:null,required:!1},ui:{type:null,required:!1},icon:{type:null,required:!1},avatar:{type:Object,required:!1},leading:{type:Boolean,required:!1},leadingIcon:{type:null,required:!1},trailing:{type:Boolean,required:!1},trailingIcon:{type:null,required:!1}},setup(s){const e=s,f=z(),p=q(),{orientation:b,size:y}=I(e),{isLeading:x,isTrailing:m,leadingIconName:u,trailingIconName:g}=w(e),a=S(()=>d({extend:d(N),...p.ui?.badge||{}})({color:e.color,variant:e.variant,size:y.value||e.size,square:e.square||!f.default&&!e.label,fieldGroup:b.value}));return(l,$)=>(n(),i(r(G),{as:s.as,"data-slot":"base",class:t(a.value.base({class:[e.ui?.base,e.class]}))},{default:A(()=>[o(l.$slots,"leading",{ui:a.value},()=>[r(x)&&r(u)?(n(),i(v,{key:0,name:r(u),"data-slot":"leadingIcon",class:t(a.value.leadingIcon({class:e.ui?.leadingIcon}))},null,8,["name","class"])):s.avatar?(n(),i(k,h({key:1,size:e.ui?.leadingAvatarSize||a.value.leadingAvatarSize()},s.avatar,{"data-slot":"leadingAvatar",class:a.value.leadingAvatar({class:e.ui?.leadingAvatar})}),null,16,["size","class"])):c("",!0)]),o(l.$slots,"default",{ui:a.value},()=>[s.label!==void 0&&s.label!==null?(n(),B("span",{key:0,"data-slot":"label",class:t(a.value.label({class:e.ui?.label}))},C(s.label),3)):c("",!0)]),o(l.$slots,"trailing",{ui:a.value},()=>[r(m)&&r(g)?(n(),i(v,{key:0,name:r(g),"data-slot":"trailingIcon",class:t(a.value.trailingIcon({class:e.ui?.trailingIcon}))},null,8,["name","class"])):c("",!0)])]),_:3},8,["as","class"]))}};export{P as _};
1
+ import{ao as z,N as q,av as I,aw as w,c as S,am as d,Q as i,R as n,S as A,a4 as o,a9 as c,C as r,_ as v,U as t,ax as k,V as h,G as B,ae as C,a3 as G}from"./B63LIwsW.js";const N={slots:{base:"font-medium inline-flex items-center",label:"truncate",leadingIcon:"shrink-0",leadingAvatar:"shrink-0",leadingAvatarSize:"",trailingIcon:"shrink-0"},variants:{fieldGroup:{horizontal:"not-only:first:rounded-e-none not-only:last:rounded-s-none not-last:not-first:rounded-none focus-visible:z-[1]",vertical:"not-only:first:rounded-b-none not-only:last:rounded-t-none not-last:not-first:rounded-none focus-visible:z-[1]"},color:{primary:"",secondary:"",success:"",info:"",warning:"",error:"",neutral:""},variant:{solid:"",outline:"",soft:"",subtle:""},size:{xs:{base:"text-[8px]/3 px-1 py-0.5 gap-1 rounded-sm",leadingIcon:"size-3",leadingAvatarSize:"3xs",trailingIcon:"size-3"},sm:{base:"text-[10px]/3 px-1.5 py-1 gap-1 rounded-sm",leadingIcon:"size-3",leadingAvatarSize:"3xs",trailingIcon:"size-3"},md:{base:"text-xs px-2 py-1 gap-1 rounded-md",leadingIcon:"size-4",leadingAvatarSize:"3xs",trailingIcon:"size-4"},lg:{base:"text-sm px-2 py-1 gap-1.5 rounded-md",leadingIcon:"size-5",leadingAvatarSize:"2xs",trailingIcon:"size-5"},xl:{base:"text-base px-2.5 py-1 gap-1.5 rounded-md",leadingIcon:"size-6",leadingAvatarSize:"2xs",trailingIcon:"size-6"}},square:{true:""}},compoundVariants:[{color:"primary",variant:"solid",class:"bg-primary text-inverted"},{color:"secondary",variant:"solid",class:"bg-secondary text-inverted"},{color:"success",variant:"solid",class:"bg-success text-inverted"},{color:"info",variant:"solid",class:"bg-info text-inverted"},{color:"warning",variant:"solid",class:"bg-warning text-inverted"},{color:"error",variant:"solid",class:"bg-error text-inverted"},{color:"primary",variant:"outline",class:"text-primary ring ring-inset ring-primary/50"},{color:"secondary",variant:"outline",class:"text-secondary ring ring-inset ring-secondary/50"},{color:"success",variant:"outline",class:"text-success ring ring-inset ring-success/50"},{color:"info",variant:"outline",class:"text-info ring ring-inset ring-info/50"},{color:"warning",variant:"outline",class:"text-warning ring ring-inset ring-warning/50"},{color:"error",variant:"outline",class:"text-error ring ring-inset ring-error/50"},{color:"primary",variant:"soft",class:"bg-primary/10 text-primary"},{color:"secondary",variant:"soft",class:"bg-secondary/10 text-secondary"},{color:"success",variant:"soft",class:"bg-success/10 text-success"},{color:"info",variant:"soft",class:"bg-info/10 text-info"},{color:"warning",variant:"soft",class:"bg-warning/10 text-warning"},{color:"error",variant:"soft",class:"bg-error/10 text-error"},{color:"primary",variant:"subtle",class:"bg-primary/10 text-primary ring ring-inset ring-primary/25"},{color:"secondary",variant:"subtle",class:"bg-secondary/10 text-secondary ring ring-inset ring-secondary/25"},{color:"success",variant:"subtle",class:"bg-success/10 text-success ring ring-inset ring-success/25"},{color:"info",variant:"subtle",class:"bg-info/10 text-info ring ring-inset ring-info/25"},{color:"warning",variant:"subtle",class:"bg-warning/10 text-warning ring ring-inset ring-warning/25"},{color:"error",variant:"subtle",class:"bg-error/10 text-error ring ring-inset ring-error/25"},{color:"neutral",variant:"solid",class:"text-inverted bg-inverted"},{color:"neutral",variant:"outline",class:"ring ring-inset ring-accented text-default bg-default"},{color:"neutral",variant:"soft",class:"text-default bg-elevated"},{color:"neutral",variant:"subtle",class:"ring ring-inset ring-accented text-default bg-elevated"},{size:"xs",square:!0,class:"p-0.5"},{size:"sm",square:!0,class:"p-1"},{size:"md",square:!0,class:"p-1"},{size:"lg",square:!0,class:"p-1"},{size:"xl",square:!0,class:"p-1"}],defaultVariants:{color:"primary",variant:"solid",size:"md"}},P={__name:"UBadge",props:{as:{type:null,required:!1,default:"span"},label:{type:[String,Number],required:!1},color:{type:null,required:!1},variant:{type:null,required:!1},size:{type:null,required:!1},square:{type:Boolean,required:!1},class:{type:null,required:!1},ui:{type:null,required:!1},icon:{type:null,required:!1},avatar:{type:Object,required:!1},leading:{type:Boolean,required:!1},leadingIcon:{type:null,required:!1},trailing:{type:Boolean,required:!1},trailingIcon:{type:null,required:!1}},setup(s){const e=s,f=z(),p=q(),{orientation:b,size:y}=I(e),{isLeading:x,isTrailing:m,leadingIconName:u,trailingIconName:g}=w(e),a=S(()=>d({extend:d(N),...p.ui?.badge||{}})({color:e.color,variant:e.variant,size:y.value||e.size,square:e.square||!f.default&&!e.label,fieldGroup:b.value}));return(l,$)=>(n(),i(r(G),{as:s.as,"data-slot":"base",class:t(a.value.base({class:[e.ui?.base,e.class]}))},{default:A(()=>[o(l.$slots,"leading",{ui:a.value},()=>[r(x)&&r(u)?(n(),i(v,{key:0,name:r(u),"data-slot":"leadingIcon",class:t(a.value.leadingIcon({class:e.ui?.leadingIcon}))},null,8,["name","class"])):s.avatar?(n(),i(k,h({key:1,size:e.ui?.leadingAvatarSize||a.value.leadingAvatarSize()},s.avatar,{"data-slot":"leadingAvatar",class:a.value.leadingAvatar({class:e.ui?.leadingAvatar})}),null,16,["size","class"])):c("",!0)]),o(l.$slots,"default",{ui:a.value},()=>[s.label!==void 0&&s.label!==null?(n(),B("span",{key:0,"data-slot":"label",class:t(a.value.label({class:e.ui?.label}))},C(s.label),3)):c("",!0)]),o(l.$slots,"trailing",{ui:a.value},()=>[r(m)&&r(g)?(n(),i(v,{key:0,name:r(g),"data-slot":"trailingIcon",class:t(a.value.trailingIcon({class:e.ui?.trailingIcon}))},null,8,["name","class"])):c("",!0)])]),_:3},8,["as","class"]))}};export{P as _};
@@ -1 +1 @@
1
- import{aq as g,ao as S,ar as V,N as q,c as u,e as C,q as b,as as M,f as i,at as U,Q as m,R as c,S as _,au as B,C as I,aU as $,U as k,am as p}from"./njnzCNrH.js";import{_ as w}from"./C7qhmmZh.js";import"./D7pKT3IW.js";import"./Bwn-CRYH.js";import"./ImPsUDiH.js";import"./CClsKJ9A.js";import"./BIo-9u_O.js";import"./yJ9vRvHj.js";const x={slots:{root:"my-5 gap-4"}},R={__name:"ProseTabs",props:g({defaultValue:{type:String,required:!1,default:"0"},sync:{type:String,required:!1},hash:{type:String,required:!1},class:{type:null,required:!1},ui:{type:void 0,required:!1}},{modelValue:{type:String},modelModifiers:{}}),emits:["update:modelValue"],setup(r){const t=r,d=S(),s=V(r,"modelValue"),f=q(),y=u(()=>p({extend:p(x),...f.ui?.prose?.tabs||{}})),n=C(1),h=u(()=>(n.value,d.default?.()?.flatMap(l).filter(Boolean)||[]));function l(e,a){return typeof e.type=="symbol"?e.children?.map(l):{index:a,label:e.props?.label||`${a}`,description:e.props?.description,icon:e.props?.icon,component:e}}b(()=>{if(t.sync){const e=`tabs-${t.sync}`,a=M(e,()=>localStorage.getItem(e));i(a,()=>{a.value&&(s.value=a.value)},{immediate:!0}),i(s,()=>{s.value&&(a.value=s.value,localStorage.setItem(e,s.value))})}});async function v(){if(t.hash){const e=t.hash.startsWith("#")?t.hash:`#${t.hash}`;setTimeout(()=>{document.querySelector(e)?.scrollIntoView()},200)}}return U(()=>n.value++),(e,a)=>(c(),m(w,{modelValue:s.value,"onUpdate:modelValue":[a[0]||(a[0]=o=>s.value=o),v],color:"primary",variant:"link",items:h.value,class:k(t.class),"unmount-on-hide":!1,ui:I($)(y.value(),t.ui)},{content:_(({item:o})=>[(c(),m(B(o.component)))]),_:1},8,["modelValue","items","class","ui"]))}};export{R as default};
1
+ import{aq as g,ao as S,ar as V,N as q,c as u,e as C,q as b,as as M,f as i,at as U,Q as m,R as c,S as _,au as B,C as I,aU as $,U as k,am as p}from"./B63LIwsW.js";import{_ as w}from"./Bsdcw5gr.js";import"./D-O8wAju.js";import"./CziltI1u.js";import"./C6HEirAm.js";import"./nTCVPCKg.js";import"./DlSJ4TF_.js";import"./BsnhHCOa.js";const x={slots:{root:"my-5 gap-4"}},R={__name:"ProseTabs",props:g({defaultValue:{type:String,required:!1,default:"0"},sync:{type:String,required:!1},hash:{type:String,required:!1},class:{type:null,required:!1},ui:{type:void 0,required:!1}},{modelValue:{type:String},modelModifiers:{}}),emits:["update:modelValue"],setup(r){const t=r,d=S(),s=V(r,"modelValue"),f=q(),y=u(()=>p({extend:p(x),...f.ui?.prose?.tabs||{}})),n=C(1),h=u(()=>(n.value,d.default?.()?.flatMap(l).filter(Boolean)||[]));function l(e,a){return typeof e.type=="symbol"?e.children?.map(l):{index:a,label:e.props?.label||`${a}`,description:e.props?.description,icon:e.props?.icon,component:e}}b(()=>{if(t.sync){const e=`tabs-${t.sync}`,a=M(e,()=>localStorage.getItem(e));i(a,()=>{a.value&&(s.value=a.value)},{immediate:!0}),i(s,()=>{s.value&&(a.value=s.value,localStorage.setItem(e,s.value))})}});async function v(){if(t.hash){const e=t.hash.startsWith("#")?t.hash:`#${t.hash}`;setTimeout(()=>{document.querySelector(e)?.scrollIntoView()},200)}}return U(()=>n.value++),(e,a)=>(c(),m(w,{modelValue:s.value,"onUpdate:modelValue":[a[0]||(a[0]=o=>s.value=o),v],color:"primary",variant:"link",items:h.value,class:k(t.class),"unmount-on-hide":!1,ui:I($)(y.value(),t.ui)},{content:_(({item:o})=>[(c(),m(B(o.component)))]),_:1},8,["modelValue","items","class","ui"]))}};export{R as default};
@@ -1 +1 @@
1
- import{N as n,c,G as d,R as l,a4 as i,U as u,am as e}from"./njnzCNrH.js";const p={base:"px-1.5 py-0.5 text-sm font-mono font-medium rounded-md inline-block",variants:{color:{primary:"border border-primary/25 bg-primary/10 text-primary",secondary:"border border-secondary/25 bg-secondary/10 text-secondary",success:"border border-success/25 bg-success/10 text-success",info:"border border-info/25 bg-info/10 text-info",warning:"border border-warning/25 bg-warning/10 text-warning",error:"border border-error/25 bg-error/10 text-error",neutral:"border border-muted text-highlighted bg-muted"}},defaultVariants:{color:"neutral"}},g={__name:"ProseCode",props:{lang:{type:String,required:!1},color:{type:null,required:!1},class:{type:null,required:!1}},setup(o){const r=o,s=n(),t=c(()=>e({extend:e(p),...s.ui?.prose?.code||{}}));return(a,b)=>(l(),d("code",{class:u(t.value({class:(r.class||"").split(",").join(" "),color:r.color}))},[i(a.$slots,"default")],2))}};export{g as default};
1
+ import{N as n,c,G as d,R as l,a4 as i,U as u,am as e}from"./B63LIwsW.js";const p={base:"px-1.5 py-0.5 text-sm font-mono font-medium rounded-md inline-block",variants:{color:{primary:"border border-primary/25 bg-primary/10 text-primary",secondary:"border border-secondary/25 bg-secondary/10 text-secondary",success:"border border-success/25 bg-success/10 text-success",info:"border border-info/25 bg-info/10 text-info",warning:"border border-warning/25 bg-warning/10 text-warning",error:"border border-error/25 bg-error/10 text-error",neutral:"border border-muted text-highlighted bg-muted"}},defaultVariants:{color:"neutral"}},g={__name:"ProseCode",props:{lang:{type:String,required:!1},color:{type:null,required:!1},class:{type:null,required:!1}},setup(o){const r=o,s=n(),t=c(()=>e({extend:e(p),...s.ui?.prose?.code||{}}));return(a,b)=>(l(),d("code",{class:u(t.value({class:(r.class||"").split(",").join(" "),color:r.color}))},[i(a.$slots,"default")],2))}};export{g as default};
@@ -1 +1 @@
1
- import{N as d,c,G as o,R as n,a4 as i,U as u,am as s}from"./njnzCNrH.js";const p={base:"[&:first-child>th:first-child]:rounded-tl-md [&:first-child>th:last-child]:rounded-tr-md [&:last-child>td:first-child]:rounded-bl-md [&:last-child>td:last-child]:rounded-br-md"},f={__name:"ProseTr",props:{class:{type:null,required:!1}},setup(t){const e=t,l=d(),a=c(()=>s({extend:s(p),...l.ui?.prose?.tr||{}}));return(r,m)=>(n(),o("tr",{class:u(a.value({class:e.class}))},[i(r.$slots,"default")],2))}};export{f as default};
1
+ import{N as d,c,G as o,R as n,a4 as i,U as u,am as s}from"./B63LIwsW.js";const p={base:"[&:first-child>th:first-child]:rounded-tl-md [&:first-child>th:last-child]:rounded-tr-md [&:last-child>td:first-child]:rounded-bl-md [&:last-child>td:last-child]:rounded-br-md"},f={__name:"ProseTr",props:{class:{type:null,required:!1}},setup(t){const e=t,l=d(),a=c(()=>s({extend:s(p),...l.ui?.prose?.tr||{}}));return(r,m)=>(n(),o("tr",{class:u(a.value({class:e.class}))},[i(r.$slots,"default")],2))}};export{f as default};
@@ -1 +1 @@
1
- import{r as p}from"./zXvvpsZj.js";import{ao as m,N as y,c as f,Q as x,R as r,S as q,ab as v,G as i,a9 as l,ae as n,U as s,C as g,a3 as k,am as o,aa as S}from"./njnzCNrH.js";import"./iik6CYzq.js";const C={slots:{root:"my-5",container:"flex items-center gap-3 font-mono text-sm",name:"font-semibold text-primary",wrapper:"flex-1 flex items-center gap-1.5 text-xs",required:"rounded-sm bg-error/10 text-error px-1.5 py-0.5",type:"rounded-sm bg-elevated text-toned px-1.5 py-0.5",description:"mt-3 text-muted text-sm [&_code]:text-xs/4"}},h={__name:"ProseField",props:{as:{type:null,required:!1},name:{type:String,required:!1},type:{type:String,required:!1},description:{type:String,required:!1},required:{type:Boolean,required:!1},class:{type:null,required:!1},ui:{type:null,required:!1}},setup(e){const t=e,u=m(),c=y(),a=f(()=>o({extend:o(C),...c.ui?.prose?.field||{}})());return(d,w)=>(r(),x(g(k),{as:e.as,class:s(a.value.root({class:[t.ui?.root,t.class]}))},{default:q(()=>[v("div",{class:s(a.value.container({class:t.ui?.container}))},[e.name?(r(),i("span",{key:0,class:s(a.value.name({class:t.ui?.name}))},n(e.name),3)):l("",!0),e.type||e.required?(r(),i("div",{key:1,class:s(a.value.wrapper({class:t.ui?.wrapper}))},[e.type?(r(),i("span",{key:0,class:s(a.value.type({class:t.ui?.type}))},n(e.type),3)):l("",!0),e.required?(r(),i("span",{key:1,class:s(a.value.required({class:t.ui?.required}))}," required ",2)):l("",!0)],2)):l("",!0)],2),u.default||e.description?(r(),i("div",{key:0,class:s(a.value.description({class:t.ui?.description}))},[p(d.$slots,"default",{mdcUnwrap:"p"},()=>[S(n(e.description),1)])],2)):l("",!0)]),_:3},8,["as","class"]))}};export{h as default};
1
+ import{r as p}from"./BE4Ndhrq.js";import{ao as m,N as y,c as f,Q as x,R as r,S as q,ab as v,G as i,a9 as l,ae as n,U as s,C as g,a3 as k,am as o,aa as S}from"./B63LIwsW.js";import"./iik6CYzq.js";const C={slots:{root:"my-5",container:"flex items-center gap-3 font-mono text-sm",name:"font-semibold text-primary",wrapper:"flex-1 flex items-center gap-1.5 text-xs",required:"rounded-sm bg-error/10 text-error px-1.5 py-0.5",type:"rounded-sm bg-elevated text-toned px-1.5 py-0.5",description:"mt-3 text-muted text-sm [&_code]:text-xs/4"}},h={__name:"ProseField",props:{as:{type:null,required:!1},name:{type:String,required:!1},type:{type:String,required:!1},description:{type:String,required:!1},required:{type:Boolean,required:!1},class:{type:null,required:!1},ui:{type:null,required:!1}},setup(e){const t=e,u=m(),c=y(),a=f(()=>o({extend:o(C),...c.ui?.prose?.field||{}})());return(d,w)=>(r(),x(g(k),{as:e.as,class:s(a.value.root({class:[t.ui?.root,t.class]}))},{default:q(()=>[v("div",{class:s(a.value.container({class:t.ui?.container}))},[e.name?(r(),i("span",{key:0,class:s(a.value.name({class:t.ui?.name}))},n(e.name),3)):l("",!0),e.type||e.required?(r(),i("div",{key:1,class:s(a.value.wrapper({class:t.ui?.wrapper}))},[e.type?(r(),i("span",{key:0,class:s(a.value.type({class:t.ui?.type}))},n(e.type),3)):l("",!0),e.required?(r(),i("span",{key:1,class:s(a.value.required({class:t.ui?.required}))}," required ",2)):l("",!0)],2)):l("",!0)],2),u.default||e.description?(r(),i("div",{key:0,class:s(a.value.description({class:t.ui?.description}))},[p(d.$slots,"default",{mdcUnwrap:"p"},()=>[S(n(e.description),1)])],2)):l("",!0)]),_:3},8,["as","class"]))}};export{h as default};
@@ -1 +1 @@
1
- import{N as l,c as n,G as c,R as p,a4 as d,U as u,am as e}from"./njnzCNrH.js";const m={base:"py-3 px-4 font-semibold text-sm text-left border-e border-b first:border-s border-t border-muted"},b={__name:"ProseTh",props:{class:{type:null,required:!1}},setup(s){const t=s,o=l(),r=n(()=>e({extend:e(m),...o.ui?.prose?.th||{}}));return(a,f)=>(p(),c("th",{class:u(r.value({class:t.class}))},[d(a.$slots,"default")],2))}};export{b as default};
1
+ import{N as l,c as n,G as c,R as p,a4 as d,U as u,am as e}from"./B63LIwsW.js";const m={base:"py-3 px-4 font-semibold text-sm text-left border-e border-b first:border-s border-t border-muted"},b={__name:"ProseTh",props:{class:{type:null,required:!1}},setup(s){const t=s,o=l(),r=n(()=>e({extend:e(m),...o.ui?.prose?.th||{}}));return(a,f)=>(p(),c("th",{class:u(r.value({class:t.class}))},[d(a.$slots,"default")],2))}};export{b as default};
@@ -1 +1 @@
1
- import{N as i,c,am as r,Q as l,R as n,S as d,a4 as u,U as p,ap as f}from"./njnzCNrH.js";const m={base:["text-primary border-b border-transparent hover:border-primary font-medium focus-visible:outline-primary focus-visible:has-[>code]:outline-0 [&>code]:border-dashed hover:[&>code]:border-primary hover:[&>code]:text-primary focus-visible:[&>code]:border-primary focus-visible:[&>code]:text-primary","transition-colors [&>code]:transition-colors"]},y={__name:"ProseA",props:{href:{type:String,required:!1},target:{type:null,required:!1},class:{type:null,required:!1}},setup(e){const s=i(),a=c(()=>r({extend:r(m),...s.ui?.prose?.a||{}})),t=e;return(o,b)=>(n(),l(f,{href:e.href,target:e.target,class:p(a.value({class:t.class})),raw:""},{default:d(()=>[u(o.$slots,"default")]),_:3},8,["href","target","class"]))}};export{y as default};
1
+ import{N as i,c,am as r,Q as l,R as n,S as d,a4 as u,U as p,ap as f}from"./B63LIwsW.js";const m={base:["text-primary border-b border-transparent hover:border-primary font-medium focus-visible:outline-primary focus-visible:has-[>code]:outline-0 [&>code]:border-dashed hover:[&>code]:border-primary hover:[&>code]:text-primary focus-visible:[&>code]:border-primary focus-visible:[&>code]:text-primary","transition-colors [&>code]:transition-colors"]},y={__name:"ProseA",props:{href:{type:String,required:!1},target:{type:null,required:!1},class:{type:null,required:!1}},setup(e){const s=i(),a=c(()=>r({extend:r(m),...s.ui?.prose?.a||{}})),t=e;return(o,b)=>(n(),l(f,{href:e.href,target:e.target,class:p(a.value({class:t.class})),raw:""},{default:d(()=>[u(o.$slots,"default")]),_:3},8,["href","target","class"]))}};export{y as default};
@@ -1 +1 @@
1
- import{_ as ae}from"./SfaNtyKS.js";import{a as X,e as $,Q as w,R as c,S as a,ab as d,a9 as S,ae as B,aa as p,ak as Q,C as t,W as Y,af as ie,ao as fe,N as me,aF as pe,aw as ve,c as se,am as Z,aG as be,f as ye,q as ne,a4 as W,G as V,V as ee,U as O,_ as J,ax as ke,a3 as xe,aH as he,k as ze,an as $e,ag as oe,T as r,al as K,ai as te,aj as le,n as we}from"./njnzCNrH.js";import{_ as _e,a as Ce}from"./B0xuHXvN.js";import{_ as Ie}from"./DqzomZoo.js";import{_ as Se}from"./yJ9vRvHj.js";import{_ as qe}from"./BUC36BHp.js";import{_ as Ue}from"./D-5A6cMB.js";import{u as Te}from"./BHn8tRjg.js";import{_ as re}from"./GYf-vnR6.js";import"./C-Ygk9x5.js";import"./vES4kgx7.js";import"./iBaivqi8.js";import"./dB7G4iIC.js";import"./BZBNJD7U.js";import"./BIo-9u_O.js";import"./BYtVdUIW.js";import"./DLUvsixu.js";import"./B9zgEO8N.js";const Ve={class:"flex items-start justify-between gap-3"},Be={class:"flex-1 min-w-0"},Fe={class:"flex items-center gap-2 mb-1"},Ne={class:"font-medium text-sm truncate"},Ae={class:"text-xs text-muted line-clamp-2"},De={class:"flex items-center gap-2 mt-3"},Me={class:"text-xs text-dimmed ml-auto"},Oe=X({__name:"Card",props:{skill:{}},emits:["toggle","delete","update"],setup(i,{emit:x}){const _=i,l=x,k=$(!1);async function h(){k.value=!0,l("toggle",_.skill.name),k.value=!1}return(m,s)=>{const n=Se,g=qe,q=Y,I=ie;return c(),w(I,{to:`/skills/${i.skill.name}`,class:"block p-4 rounded-lg border border-default bg-elevated/50 hover:bg-elevated transition-colors"},{default:a(()=>[d("div",Ve,[d("div",Be,[d("div",Fe,[d("span",Ne,B(i.skill.name),1),i.skill.core?(c(),w(n,{key:0,variant:"subtle",color:"primary",size:"xs"},{default:a(()=>[...s[3]||(s[3]=[p(" Core ",-1)])]),_:1})):S("",!0),i.skill.active?S("",!0):(c(),w(n,{key:1,variant:"subtle",color:"neutral",size:"xs"},{default:a(()=>[...s[4]||(s[4]=[p(" Disabled ",-1)])]),_:1}))]),d("p",Ae,B(i.skill.description),1)]),i.skill.core?S("",!0):(c(),w(g,{key:0,"model-value":i.skill.active,size:"sm",loading:t(k),"onUpdate:modelValue":h,onClick:s[0]||(s[0]=Q(()=>{},["prevent","stop"]))},null,8,["model-value","loading"]))]),d("div",De,[i.skill.version?(c(),w(n,{key:0,variant:"soft",color:"neutral",size:"xs"},{default:a(()=>[p(" v"+B(i.skill.version),1)]),_:1})):S("",!0),i.skill.author?(c(),w(n,{key:1,variant:"soft",color:"neutral",size:"xs"},{default:a(()=>[p(B(i.skill.author),1)]),_:1})):S("",!0),d("span",Me,B(i.skill.fileCount)+" file"+B(i.skill.fileCount!==1?"s":""),1),i.skill.hasUpdate?(c(),w(q,{key:2,icon:"i-lucide-refresh-cw",color:"primary",variant:"soft",size:"xs",onClick:s[1]||(s[1]=Q(N=>l("update",i.skill.name),["prevent","stop"]))})):S("",!0),i.skill.core?S("",!0):(c(),w(q,{key:3,icon:"i-lucide-trash",color:"error",variant:"soft",size:"xs",onClick:s[2]||(s[2]=Q(N=>l("delete",i.skill.name),["prevent","stop"]))}))])]),_:1},8,["to"])}}}),je=Object.assign(Oe,{__name:"SkillsCard"}),Pe={slots:{root:"relative inline-flex items-center",base:["w-full rounded-md border-0 appearance-none placeholder:text-dimmed focus:outline-none disabled:cursor-not-allowed disabled:opacity-75","transition-colors"],leading:"absolute start-0 flex items-start",leadingIcon:"shrink-0 text-dimmed",leadingAvatar:"shrink-0",leadingAvatarSize:"",trailing:"absolute end-0 flex items-start",trailingIcon:"shrink-0 text-dimmed"},variants:{fieldGroup:{horizontal:{root:"group has-focus-visible:z-[1]",base:"group-not-only:group-first:rounded-e-none group-not-only:group-last:rounded-s-none group-not-last:group-not-first:rounded-none"},vertical:{root:"group has-focus-visible:z-[1]",base:"group-not-only:group-first:rounded-b-none group-not-only:group-last:rounded-t-none group-not-last:group-not-first:rounded-none"}},size:{xs:{base:"px-2 py-1 text-xs gap-1",leading:"ps-2 inset-y-1",trailing:"pe-2 inset-y-1",leadingIcon:"size-4",leadingAvatarSize:"3xs",trailingIcon:"size-4"},sm:{base:"px-2.5 py-1.5 text-xs gap-1.5",leading:"ps-2.5 inset-y-1.5",trailing:"pe-2.5 inset-y-1.5",leadingIcon:"size-4",leadingAvatarSize:"3xs",trailingIcon:"size-4"},md:{base:"px-2.5 py-1.5 text-sm gap-1.5",leading:"ps-2.5 inset-y-1.5",trailing:"pe-2.5 inset-y-1.5",leadingIcon:"size-5",leadingAvatarSize:"2xs",trailingIcon:"size-5"},lg:{base:"px-3 py-2 text-sm gap-2",leading:"ps-3 inset-y-2",trailing:"pe-3 inset-y-2",leadingIcon:"size-5",leadingAvatarSize:"2xs",trailingIcon:"size-5"},xl:{base:"px-3 py-2 text-base gap-2",leading:"ps-3 inset-y-2",trailing:"pe-3 inset-y-2",leadingIcon:"size-6",leadingAvatarSize:"xs",trailingIcon:"size-6"}},variant:{outline:"text-highlighted bg-default ring ring-inset ring-accented",soft:"text-highlighted bg-elevated/50 hover:bg-elevated focus:bg-elevated disabled:bg-elevated/50",subtle:"text-highlighted bg-elevated ring ring-inset ring-accented",ghost:"text-highlighted bg-transparent hover:bg-elevated focus:bg-elevated disabled:bg-transparent dark:disabled:bg-transparent",none:"text-highlighted bg-transparent"},color:{primary:"",secondary:"",success:"",info:"",warning:"",error:"",neutral:""},leading:{true:""},trailing:{true:""},loading:{true:""},highlight:{true:""},type:{file:"file:me-1.5 file:font-medium file:text-muted file:outline-none"},autoresize:{true:{base:"resize-none"}}},compoundVariants:[{color:"primary",variant:["outline","subtle"],class:"focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-primary"},{color:"secondary",variant:["outline","subtle"],class:"focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-secondary"},{color:"success",variant:["outline","subtle"],class:"focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-success"},{color:"info",variant:["outline","subtle"],class:"focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-info"},{color:"warning",variant:["outline","subtle"],class:"focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-warning"},{color:"error",variant:["outline","subtle"],class:"focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-error"},{color:"primary",highlight:!0,class:"ring ring-inset ring-primary"},{color:"secondary",highlight:!0,class:"ring ring-inset ring-secondary"},{color:"success",highlight:!0,class:"ring ring-inset ring-success"},{color:"info",highlight:!0,class:"ring ring-inset ring-info"},{color:"warning",highlight:!0,class:"ring ring-inset ring-warning"},{color:"error",highlight:!0,class:"ring ring-inset ring-error"},{color:"neutral",variant:["outline","subtle"],class:"focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-inverted"},{color:"neutral",highlight:!0,class:"ring ring-inset ring-inverted"},{leading:!0,size:"xs",class:"ps-7"},{leading:!0,size:"sm",class:"ps-8"},{leading:!0,size:"md",class:"ps-9"},{leading:!0,size:"lg",class:"ps-10"},{leading:!0,size:"xl",class:"ps-11"},{trailing:!0,size:"xs",class:"pe-7"},{trailing:!0,size:"sm",class:"pe-8"},{trailing:!0,size:"md",class:"pe-9"},{trailing:!0,size:"lg",class:"pe-10"},{trailing:!0,size:"xl",class:"pe-11"},{loading:!0,leading:!0,class:{leadingIcon:"animate-spin"}},{loading:!0,leading:!1,trailing:!0,class:{trailingIcon:"animate-spin"}}],defaultVariants:{size:"md",color:"primary",variant:"outline"}},Re=["id","value","name","rows","placeholder","disabled","required"],Le=Object.assign({inheritAttrs:!1},{__name:"UTextarea",props:{as:{type:null,required:!1},id:{type:String,required:!1},name:{type:String,required:!1},placeholder:{type:String,required:!1},color:{type:null,required:!1},variant:{type:null,required:!1},size:{type:null,required:!1},required:{type:Boolean,required:!1},autofocus:{type:Boolean,required:!1},autofocusDelay:{type:Number,required:!1,default:0},autoresize:{type:Boolean,required:!1},autoresizeDelay:{type:Number,required:!1,default:0},disabled:{type:Boolean,required:!1},rows:{type:Number,required:!1,default:3},maxrows:{type:Number,required:!1,default:0},highlight:{type:Boolean,required:!1},modelValue:{type:null,required:!1},defaultValue:{type:null,required:!1},modelModifiers:{type:Object,required:!1},class:{type:null,required:!1},ui:{type:null,required:!1},icon:{type:null,required:!1},avatar:{type:Object,required:!1},leading:{type:Boolean,required:!1},leadingIcon:{type:null,required:!1},trailing:{type:Boolean,required:!1},trailingIcon:{type:null,required:!1},loading:{type:Boolean,required:!1},loadingIcon:{type:null,required:!1}},emits:["update:modelValue","blur","change"],setup(i,{expose:x,emit:_}){const l=i,k=_,h=fe(),m=Te(l,"modelValue",k,{defaultValue:l.defaultValue}),s=me(),{emitFormFocus:n,emitFormBlur:g,emitFormInput:q,emitFormChange:I,size:N,color:U,id:u,name:A,highlight:M,disabled:D,ariaAttrs:v}=pe(l,{deferInputValidation:!0}),{isLeading:e,isTrailing:b,leadingIconName:y,trailingIconName:T}=ve(l),C=se(()=>Z({extend:Z(Pe),...s.ui?.textarea||{}})({color:U.value,variant:l.variant,size:N?.value,loading:l.loading,highlight:M.value,autoresize:l.autoresize,leading:e.value||!!l.avatar||!!h.leading,trailing:b.value||!!h.trailing})),z=be("textareaRef");function j(o){l.modelModifiers?.trim&&(o=o?.trim()??null),l.modelModifiers?.number&&(o=he(o)),l.modelModifiers?.nullable&&(o||=null),l.modelModifiers?.optional&&(o||=void 0),m.value=o,q()}function R(o){f(),l.modelModifiers?.lazy||j(o.target.value)}function L(o){const F=o.target.value;l.modelModifiers?.lazy&&j(F),l.modelModifiers?.trim&&(o.target.value=F.trim()),I(),k("change",o)}function G(o){g(),k("blur",o)}function P(){l.autofocus&&z.value?.focus()}function f(){if(l.autoresize&&z.value){z.value.rows=l.rows;const o=z.value.style.overflow;z.value.style.overflow="hidden";const F=window.getComputedStyle(z.value),H=Number.parseInt(F.paddingTop),de=Number.parseInt(F.paddingBottom),ue=H+de,ce=Number.parseInt(F.lineHeight),{scrollHeight:ge}=z.value,E=(ge-ue)/ce;E>l.rows&&(z.value.rows=l.maxrows?Math.min(E,l.maxrows):E),z.value.style.overflow=o}}return ye(m,()=>{ze(f)}),ne(()=>{setTimeout(()=>{P()},l.autofocusDelay),setTimeout(()=>{f()},l.autoresizeDelay)}),x({textareaRef:z}),(o,F)=>(c(),w(t(xe),{as:i.as,"data-slot":"root",class:O(C.value.root({class:[l.ui?.root,l.class]}))},{default:a(()=>[d("textarea",ee({id:t(u),ref_key:"textareaRef",ref:z,value:t(m),name:t(A),rows:i.rows,placeholder:i.placeholder,"data-slot":"base",class:C.value.base({class:l.ui?.base}),disabled:t(D),required:i.required},{...o.$attrs,...t(v)},{onInput:R,onBlur:G,onChange:L,onFocus:F[0]||(F[0]=(...H)=>t(n)&&t(n)(...H))}),null,16,Re),W(o.$slots,"default",{ui:C.value}),t(e)||i.avatar||h.leading?(c(),V("span",{key:0,"data-slot":"leading",class:O(C.value.leading({class:l.ui?.leading}))},[W(o.$slots,"leading",{ui:C.value},()=>[t(e)&&t(y)?(c(),w(J,{key:0,name:t(y),"data-slot":"leadingIcon",class:O(C.value.leadingIcon({class:l.ui?.leadingIcon}))},null,8,["name","class"])):i.avatar?(c(),w(ke,ee({key:1,size:l.ui?.leadingAvatarSize||C.value.leadingAvatarSize()},i.avatar,{"data-slot":"leadingAvatar",class:C.value.leadingAvatar({class:l.ui?.leadingAvatar})}),null,16,["size","class"])):S("",!0)])],2)):S("",!0),t(b)||h.trailing?(c(),V("span",{key:1,"data-slot":"trailing",class:O(C.value.trailing({class:l.ui?.trailing}))},[W(o.$slots,"trailing",{ui:C.value},()=>[t(T)?(c(),w(J,{key:0,name:t(T),"data-slot":"trailingIcon",class:O(C.value.trailingIcon({class:l.ui?.trailingIcon}))},null,8,["name","class"])):S("",!0)])],2)):S("",!0)]),_:3},8,["as","class"]))}}),Ge={class:"space-y-4"},He={class:"flex gap-2"},Ee={key:0,class:"text-xs text-muted"},Qe={class:"flex justify-end gap-2"},We=X({__name:"CreateModal",props:{open:{type:Boolean}},emits:["update:open","created"],setup(i,{emit:x}){const _=i,l=x,k=$e(),h=oe(),m=$("blank"),s=$(""),n=$(""),g=$(!1);function q(){m.value="blank",s.value="",n.value="",g.value=!1}function I(){l("update:open",!1),q()}async function N(){if(s.value.trim()){g.value=!0;try{if(m.value==="blank")await $fetch("/api/skills/create",{method:"POST",body:{name:s.value.trim(),description:n.value.trim()||void 0}}),h.add({title:`Skill '${s.value}' created`,color:"success"}),l("created",s.value.trim()),I(),k.push(`/skills/${s.value.trim()}`);else{if(!n.value.trim()){h.add({title:"Description is required for AI generation",color:"warning"}),g.value=!1;return}const U=await $fetch("/api/skills/generate",{method:"POST",body:{name:s.value.trim(),description:n.value.trim()}});h.add({title:`Skill '${s.value}' generated`,description:`Cost: $${U.data.costUsd.toFixed(4)} — created in inactive state for review`,color:"success"}),l("created",s.value.trim()),I(),k.push(`/skills/${s.value.trim()}`)}}catch(U){const u=U instanceof Error?U.message:"Failed to create skill";h.add({title:u,color:"error"})}finally{g.value=!1}}}return(U,u)=>{const A=Y,M=ae,D=Ue,v=Le,e=re;return c(),w(e,{open:_.open,"onUpdate:open":u[4]||(u[4]=b=>l("update:open",b))},{header:a(()=>[...u[5]||(u[5]=[d("span",{class:"font-semibold"},"Create Skill",-1)])]),body:a(()=>[d("div",Ge,[d("div",He,[r(A,{variant:t(m)==="blank"?"solid":"outline",color:"neutral",size:"sm",icon:"i-lucide-file-plus",onClick:u[0]||(u[0]=b=>m.value="blank")},{default:a(()=>[...u[6]||(u[6]=[p(" Blank Skill ",-1)])]),_:1},8,["variant"]),r(A,{variant:t(m)==="generate"?"solid":"outline",color:"neutral",size:"sm",icon:"i-lucide-sparkles",onClick:u[1]||(u[1]=b=>m.value="generate")},{default:a(()=>[...u[7]||(u[7]=[p(" AI Generate ",-1)])]),_:1},8,["variant"])]),r(D,{label:"Name"},{default:a(()=>[r(M,{modelValue:t(s),"onUpdate:modelValue":u[2]||(u[2]=b=>K(s)?s.value=b:null),placeholder:"my-skill",disabled:t(g),class:"w-full"},null,8,["modelValue","disabled"])]),_:1}),r(D,{label:"Description",required:t(m)==="generate"},{default:a(()=>[r(v,{modelValue:t(n),"onUpdate:modelValue":u[3]||(u[3]=b=>K(n)?n.value=b:null),placeholder:t(m)==="generate"?"Describe what this skill should do...":"Optional description",rows:3,disabled:t(g),class:"w-full"},null,8,["modelValue","placeholder","disabled"])]),_:1},8,["required"]),t(m)==="generate"?(c(),V("p",Ee," AI-generated skills are created in an inactive state so you can review them before enabling. ")):S("",!0)])]),footer:a(()=>[d("div",Qe,[r(A,{variant:"ghost",color:"neutral",disabled:t(g),onClick:I},{default:a(()=>[...u[8]||(u[8]=[p(" Cancel ",-1)])]),_:1},8,["disabled"]),r(A,{loading:t(g),disabled:!t(s).trim(),onClick:N},{default:a(()=>[p(B(t(m)==="generate"?"Generate":"Create"),1)]),_:1},8,["loading","disabled"])])]),_:1},8,["open"])}}}),Je=Object.assign(We,{__name:"SkillsCreateModal"}),Ke={class:"flex flex-1 min-w-0"},Xe={class:"p-4"},Ye={key:0,class:"grid gap-4 sm:grid-cols-2 lg:grid-cols-3"},Ze={key:1,class:"flex flex-col items-center justify-center py-16 text-dimmed"},et={key:2,class:"text-center py-12 text-muted text-sm"},tt={key:3,class:"grid gap-4 sm:grid-cols-2 lg:grid-cols-3"},lt={class:"text-sm text-muted"},at={class:"text-default"},it={class:"flex justify-end gap-2"},st={class:"text-sm text-muted"},nt={class:"text-default"},ot={class:"flex justify-end gap-2"},Ct=X({__name:"index",setup(i){const x=oe(),_=$([]),l=$(!0),k=$(""),h=$(!1),m=$(!1),s=$(null),n=$(""),g=$(""),q=$(!1),I=$(!1),N=se(()=>{if(!k.value.trim())return _.value;const v=k.value.toLowerCase();return _.value.filter(e=>e.name.toLowerCase().includes(v)||e.description.toLowerCase().includes(v))});async function U(){l.value=!0;try{const v=await $fetch("/api/skills");_.value=v.data}catch{x.add({title:"Failed to load skills",color:"error"})}finally{l.value=!1}}async function u(v){const e=v.target,b=e.files?.[0];if(b){m.value=!0;try{const y=new FormData;y.append("file",b);const T=await $fetch("/api/skills/import",{method:"POST",body:y});x.add({title:`Imported ${T.data.name}`,description:`${T.data.fileCount} file${T.data.fileCount===1?"":"s"}`,color:"success"}),we(`/skills/${T.data.name}`)}catch(y){const T=y instanceof Error?y.message:"Import failed";x.add({title:"Import failed",description:T,color:"error"})}finally{m.value=!1,e.value=""}}}async function A(v){try{const e=await $fetch(`/api/skills/${v}/toggle`,{method:"POST"}),b=_.value.find(y=>y.name===v);b&&(b.active=e.data.active),x.add({title:`${v} ${e.data.active?"enabled":"disabled"}`,color:"success"})}catch{x.add({title:`Failed to toggle ${v}`,color:"error"})}}async function M(){if(n.value){q.value=!0;try{await $fetch(`/api/skills/${n.value}/delete`,{method:"POST"}),_.value=_.value.filter(v=>v.name!==n.value),x.add({title:`Deleted ${n.value}`,color:"success"}),n.value=""}catch{x.add({title:`Failed to delete ${n.value}`,color:"error"})}finally{q.value=!1}}}async function D(){if(g.value){I.value=!0;try{await $fetch("/api/skills/library/install",{method:"POST",body:{name:g.value,force:!0}}),x.add({title:`Updated ${g.value}`,color:"success"}),g.value="",await U()}catch{x.add({title:`Failed to update ${g.value}`,color:"error"})}finally{I.value=!1}}}return ne(()=>U()),(v,e)=>{const b=ae,y=Y,T=ie,C=Ce,z=Ie,j=J,R=je,L=_e,G=Je,P=re;return c(),V("div",Ke,[r(L,{id:"skills-main",grow:""},{header:a(()=>[r(C,{title:"Skills"},{right:a(()=>[r(b,{modelValue:t(k),"onUpdate:modelValue":e[0]||(e[0]=f=>K(k)?k.value=f:null),icon:"i-lucide-search",placeholder:"Search skills...",size:"sm",class:"w-48"},null,8,["modelValue"]),r(T,{to:"/skills/library"},{default:a(()=>[r(y,{icon:"i-lucide-library",variant:"ghost",color:"neutral",size:"sm"},{default:a(()=>[...e[10]||(e[10]=[p(" Library ",-1)])]),_:1})]),_:1}),r(y,{icon:"i-lucide-upload",variant:"ghost",color:"neutral",size:"sm",loading:t(m),onClick:e[1]||(e[1]=f=>t(s)?.click())},{default:a(()=>[...e[11]||(e[11]=[p(" Import ",-1)])]),_:1},8,["loading"]),d("input",{ref_key:"fileInput",ref:s,type:"file",accept:".zip",class:"hidden",onChange:u},null,544),r(y,{icon:"i-lucide-plus",size:"sm",onClick:e[2]||(e[2]=f=>h.value=!0)},{default:a(()=>[...e[12]||(e[12]=[p(" Create Skill ",-1)])]),_:1})]),_:1})]),body:a(()=>[d("div",Xe,[t(l)?(c(),V("div",Ye,[(c(),V(te,null,le(6,f=>d("div",{key:f,class:"p-4 rounded-lg border border-default bg-elevated/50"},[r(z,{class:"h-4 w-24 mb-2"}),r(z,{class:"h-3 w-full mb-1"}),r(z,{class:"h-3 w-2/3"})])),64))])):t(_).length===0?(c(),V("div",Ze,[r(j,{name:"i-lucide-puzzle",class:"size-12 mb-4"}),e[13]||(e[13]=d("p",{class:"text-lg font-medium"}," No skills found ",-1)),e[14]||(e[14]=d("p",{class:"text-sm mt-1"}," Skills are loaded from ~/.claude/skills/ ",-1))])):t(N).length===0?(c(),V("div",et,' No skills matching "'+B(t(k))+'" ',1)):(c(),V("div",tt,[(c(!0),V(te,null,le(t(N),f=>(c(),w(R,{key:f.name,skill:f,onToggle:A,onDelete:e[3]||(e[3]=o=>n.value=o),onUpdate:e[4]||(e[4]=o=>g.value=o)},null,8,["skill"]))),128))]))])]),_:1}),r(G,{open:t(h),"onUpdate:open":e[5]||(e[5]=f=>h.value=f),onCreated:U},null,8,["open"]),r(P,{open:!!t(n),"onUpdate:open":e[7]||(e[7]=f=>!f&&(n.value=""))},{header:a(()=>[...e[15]||(e[15]=[d("span",{class:"font-semibold"},"Delete Skill",-1)])]),body:a(()=>[d("p",lt,[e[16]||(e[16]=p(" This will permanently delete ",-1)),d("strong",at,B(t(n)),1),e[17]||(e[17]=p(" and all its files. Any modifications you've made will be lost. This cannot be undone. ",-1))])]),footer:a(()=>[d("div",it,[r(y,{variant:"ghost",color:"neutral",disabled:t(q),onClick:e[6]||(e[6]=f=>n.value="")},{default:a(()=>[...e[18]||(e[18]=[p(" Cancel ",-1)])]),_:1},8,["disabled"]),r(y,{color:"error",loading:t(q),onClick:M},{default:a(()=>[...e[19]||(e[19]=[p(" Delete ",-1)])]),_:1},8,["loading"])])]),_:1},8,["open"]),r(P,{open:!!t(g),"onUpdate:open":e[9]||(e[9]=f=>!f&&(g.value=""))},{header:a(()=>[...e[20]||(e[20]=[d("span",{class:"font-semibold"},"Update Skill",-1)])]),body:a(()=>[d("p",st,[e[21]||(e[21]=p(" This will re-download ",-1)),d("strong",nt,B(t(g)),1),e[22]||(e[22]=p(" from the community library, overwriting any local changes you've made to its files. ",-1))])]),footer:a(()=>[d("div",ot,[r(y,{variant:"ghost",color:"neutral",disabled:t(I),onClick:e[8]||(e[8]=f=>g.value="")},{default:a(()=>[...e[23]||(e[23]=[p(" Cancel ",-1)])]),_:1},8,["disabled"]),r(y,{loading:t(I),onClick:D},{default:a(()=>[...e[24]||(e[24]=[p(" Update ",-1)])]),_:1},8,["loading"])])]),_:1},8,["open"])])}}});export{Ct as default};
1
+ import{_ as ae}from"./B6wYZD_K.js";import{a as X,e as $,Q as w,R as c,S as a,ab as d,a9 as S,ae as B,aa as p,al as Q,C as t,W as Y,af as ie,ao as fe,N as me,aF as pe,aw as ve,c as se,am as Z,aG as be,f as ye,q as ne,a4 as W,G as V,V as ee,U as O,_ as J,ax as ke,a3 as xe,aH as he,k as ze,an as $e,ag as oe,T as r,ai as K,aj as te,ak as le,n as we}from"./B63LIwsW.js";import{_ as _e,a as Ce}from"./Cmdr5BNz.js";import{_ as Ie}from"./Cs_udj6A.js";import{_ as Se}from"./BsnhHCOa.js";import{_ as qe}from"./BaYtugUf.js";import{_ as Ue}from"./DmmQUhEb.js";import{u as Te}from"./HlbU_z9a.js";import{_ as re}from"./DdXVAzIg.js";import"./hm3ShyaF.js";import"./qWWnsfRV.js";import"./DMy2sxuC.js";import"./DwAJIRGg.js";import"./D1t0272g.js";import"./DlSJ4TF_.js";import"./CY3x8iy3.js";import"./DQd-GXKJ.js";import"./4Qy4OdWt.js";const Ve={class:"flex items-start justify-between gap-3"},Be={class:"flex-1 min-w-0"},Fe={class:"flex items-center gap-2 mb-1"},Ne={class:"font-medium text-sm truncate"},Ae={class:"text-xs text-muted line-clamp-2"},De={class:"flex items-center gap-2 mt-3"},Me={class:"text-xs text-dimmed ml-auto"},Oe=X({__name:"Card",props:{skill:{}},emits:["toggle","delete","update"],setup(i,{emit:x}){const _=i,l=x,k=$(!1);async function h(){k.value=!0,l("toggle",_.skill.name),k.value=!1}return(m,s)=>{const n=Se,g=qe,q=Y,I=ie;return c(),w(I,{to:`/skills/${i.skill.name}`,class:"block p-4 rounded-lg border border-default bg-elevated/50 hover:bg-elevated transition-colors"},{default:a(()=>[d("div",Ve,[d("div",Be,[d("div",Fe,[d("span",Ne,B(i.skill.name),1),i.skill.core?(c(),w(n,{key:0,variant:"subtle",color:"primary",size:"xs"},{default:a(()=>[...s[3]||(s[3]=[p(" Core ",-1)])]),_:1})):S("",!0),i.skill.active?S("",!0):(c(),w(n,{key:1,variant:"subtle",color:"neutral",size:"xs"},{default:a(()=>[...s[4]||(s[4]=[p(" Disabled ",-1)])]),_:1}))]),d("p",Ae,B(i.skill.description),1)]),i.skill.core?S("",!0):(c(),w(g,{key:0,"model-value":i.skill.active,size:"sm",loading:t(k),"onUpdate:modelValue":h,onClick:s[0]||(s[0]=Q(()=>{},["prevent","stop"]))},null,8,["model-value","loading"]))]),d("div",De,[i.skill.version?(c(),w(n,{key:0,variant:"soft",color:"neutral",size:"xs"},{default:a(()=>[p(" v"+B(i.skill.version),1)]),_:1})):S("",!0),i.skill.author?(c(),w(n,{key:1,variant:"soft",color:"neutral",size:"xs"},{default:a(()=>[p(B(i.skill.author),1)]),_:1})):S("",!0),d("span",Me,B(i.skill.fileCount)+" file"+B(i.skill.fileCount!==1?"s":""),1),i.skill.hasUpdate?(c(),w(q,{key:2,icon:"i-lucide-refresh-cw",color:"primary",variant:"soft",size:"xs",onClick:s[1]||(s[1]=Q(N=>l("update",i.skill.name),["prevent","stop"]))})):S("",!0),i.skill.core?S("",!0):(c(),w(q,{key:3,icon:"i-lucide-trash",color:"error",variant:"soft",size:"xs",onClick:s[2]||(s[2]=Q(N=>l("delete",i.skill.name),["prevent","stop"]))}))])]),_:1},8,["to"])}}}),je=Object.assign(Oe,{__name:"SkillsCard"}),Pe={slots:{root:"relative inline-flex items-center",base:["w-full rounded-md border-0 appearance-none placeholder:text-dimmed focus:outline-none disabled:cursor-not-allowed disabled:opacity-75","transition-colors"],leading:"absolute start-0 flex items-start",leadingIcon:"shrink-0 text-dimmed",leadingAvatar:"shrink-0",leadingAvatarSize:"",trailing:"absolute end-0 flex items-start",trailingIcon:"shrink-0 text-dimmed"},variants:{fieldGroup:{horizontal:{root:"group has-focus-visible:z-[1]",base:"group-not-only:group-first:rounded-e-none group-not-only:group-last:rounded-s-none group-not-last:group-not-first:rounded-none"},vertical:{root:"group has-focus-visible:z-[1]",base:"group-not-only:group-first:rounded-b-none group-not-only:group-last:rounded-t-none group-not-last:group-not-first:rounded-none"}},size:{xs:{base:"px-2 py-1 text-xs gap-1",leading:"ps-2 inset-y-1",trailing:"pe-2 inset-y-1",leadingIcon:"size-4",leadingAvatarSize:"3xs",trailingIcon:"size-4"},sm:{base:"px-2.5 py-1.5 text-xs gap-1.5",leading:"ps-2.5 inset-y-1.5",trailing:"pe-2.5 inset-y-1.5",leadingIcon:"size-4",leadingAvatarSize:"3xs",trailingIcon:"size-4"},md:{base:"px-2.5 py-1.5 text-sm gap-1.5",leading:"ps-2.5 inset-y-1.5",trailing:"pe-2.5 inset-y-1.5",leadingIcon:"size-5",leadingAvatarSize:"2xs",trailingIcon:"size-5"},lg:{base:"px-3 py-2 text-sm gap-2",leading:"ps-3 inset-y-2",trailing:"pe-3 inset-y-2",leadingIcon:"size-5",leadingAvatarSize:"2xs",trailingIcon:"size-5"},xl:{base:"px-3 py-2 text-base gap-2",leading:"ps-3 inset-y-2",trailing:"pe-3 inset-y-2",leadingIcon:"size-6",leadingAvatarSize:"xs",trailingIcon:"size-6"}},variant:{outline:"text-highlighted bg-default ring ring-inset ring-accented",soft:"text-highlighted bg-elevated/50 hover:bg-elevated focus:bg-elevated disabled:bg-elevated/50",subtle:"text-highlighted bg-elevated ring ring-inset ring-accented",ghost:"text-highlighted bg-transparent hover:bg-elevated focus:bg-elevated disabled:bg-transparent dark:disabled:bg-transparent",none:"text-highlighted bg-transparent"},color:{primary:"",secondary:"",success:"",info:"",warning:"",error:"",neutral:""},leading:{true:""},trailing:{true:""},loading:{true:""},highlight:{true:""},type:{file:"file:me-1.5 file:font-medium file:text-muted file:outline-none"},autoresize:{true:{base:"resize-none"}}},compoundVariants:[{color:"primary",variant:["outline","subtle"],class:"focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-primary"},{color:"secondary",variant:["outline","subtle"],class:"focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-secondary"},{color:"success",variant:["outline","subtle"],class:"focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-success"},{color:"info",variant:["outline","subtle"],class:"focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-info"},{color:"warning",variant:["outline","subtle"],class:"focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-warning"},{color:"error",variant:["outline","subtle"],class:"focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-error"},{color:"primary",highlight:!0,class:"ring ring-inset ring-primary"},{color:"secondary",highlight:!0,class:"ring ring-inset ring-secondary"},{color:"success",highlight:!0,class:"ring ring-inset ring-success"},{color:"info",highlight:!0,class:"ring ring-inset ring-info"},{color:"warning",highlight:!0,class:"ring ring-inset ring-warning"},{color:"error",highlight:!0,class:"ring ring-inset ring-error"},{color:"neutral",variant:["outline","subtle"],class:"focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-inverted"},{color:"neutral",highlight:!0,class:"ring ring-inset ring-inverted"},{leading:!0,size:"xs",class:"ps-7"},{leading:!0,size:"sm",class:"ps-8"},{leading:!0,size:"md",class:"ps-9"},{leading:!0,size:"lg",class:"ps-10"},{leading:!0,size:"xl",class:"ps-11"},{trailing:!0,size:"xs",class:"pe-7"},{trailing:!0,size:"sm",class:"pe-8"},{trailing:!0,size:"md",class:"pe-9"},{trailing:!0,size:"lg",class:"pe-10"},{trailing:!0,size:"xl",class:"pe-11"},{loading:!0,leading:!0,class:{leadingIcon:"animate-spin"}},{loading:!0,leading:!1,trailing:!0,class:{trailingIcon:"animate-spin"}}],defaultVariants:{size:"md",color:"primary",variant:"outline"}},Re=["id","value","name","rows","placeholder","disabled","required"],Le=Object.assign({inheritAttrs:!1},{__name:"UTextarea",props:{as:{type:null,required:!1},id:{type:String,required:!1},name:{type:String,required:!1},placeholder:{type:String,required:!1},color:{type:null,required:!1},variant:{type:null,required:!1},size:{type:null,required:!1},required:{type:Boolean,required:!1},autofocus:{type:Boolean,required:!1},autofocusDelay:{type:Number,required:!1,default:0},autoresize:{type:Boolean,required:!1},autoresizeDelay:{type:Number,required:!1,default:0},disabled:{type:Boolean,required:!1},rows:{type:Number,required:!1,default:3},maxrows:{type:Number,required:!1,default:0},highlight:{type:Boolean,required:!1},modelValue:{type:null,required:!1},defaultValue:{type:null,required:!1},modelModifiers:{type:Object,required:!1},class:{type:null,required:!1},ui:{type:null,required:!1},icon:{type:null,required:!1},avatar:{type:Object,required:!1},leading:{type:Boolean,required:!1},leadingIcon:{type:null,required:!1},trailing:{type:Boolean,required:!1},trailingIcon:{type:null,required:!1},loading:{type:Boolean,required:!1},loadingIcon:{type:null,required:!1}},emits:["update:modelValue","blur","change"],setup(i,{expose:x,emit:_}){const l=i,k=_,h=fe(),m=Te(l,"modelValue",k,{defaultValue:l.defaultValue}),s=me(),{emitFormFocus:n,emitFormBlur:g,emitFormInput:q,emitFormChange:I,size:N,color:U,id:u,name:A,highlight:M,disabled:D,ariaAttrs:v}=pe(l,{deferInputValidation:!0}),{isLeading:e,isTrailing:b,leadingIconName:y,trailingIconName:T}=ve(l),C=se(()=>Z({extend:Z(Pe),...s.ui?.textarea||{}})({color:U.value,variant:l.variant,size:N?.value,loading:l.loading,highlight:M.value,autoresize:l.autoresize,leading:e.value||!!l.avatar||!!h.leading,trailing:b.value||!!h.trailing})),z=be("textareaRef");function j(o){l.modelModifiers?.trim&&(o=o?.trim()??null),l.modelModifiers?.number&&(o=he(o)),l.modelModifiers?.nullable&&(o||=null),l.modelModifiers?.optional&&(o||=void 0),m.value=o,q()}function R(o){f(),l.modelModifiers?.lazy||j(o.target.value)}function L(o){const F=o.target.value;l.modelModifiers?.lazy&&j(F),l.modelModifiers?.trim&&(o.target.value=F.trim()),I(),k("change",o)}function G(o){g(),k("blur",o)}function P(){l.autofocus&&z.value?.focus()}function f(){if(l.autoresize&&z.value){z.value.rows=l.rows;const o=z.value.style.overflow;z.value.style.overflow="hidden";const F=window.getComputedStyle(z.value),H=Number.parseInt(F.paddingTop),de=Number.parseInt(F.paddingBottom),ue=H+de,ce=Number.parseInt(F.lineHeight),{scrollHeight:ge}=z.value,E=(ge-ue)/ce;E>l.rows&&(z.value.rows=l.maxrows?Math.min(E,l.maxrows):E),z.value.style.overflow=o}}return ye(m,()=>{ze(f)}),ne(()=>{setTimeout(()=>{P()},l.autofocusDelay),setTimeout(()=>{f()},l.autoresizeDelay)}),x({textareaRef:z}),(o,F)=>(c(),w(t(xe),{as:i.as,"data-slot":"root",class:O(C.value.root({class:[l.ui?.root,l.class]}))},{default:a(()=>[d("textarea",ee({id:t(u),ref_key:"textareaRef",ref:z,value:t(m),name:t(A),rows:i.rows,placeholder:i.placeholder,"data-slot":"base",class:C.value.base({class:l.ui?.base}),disabled:t(D),required:i.required},{...o.$attrs,...t(v)},{onInput:R,onBlur:G,onChange:L,onFocus:F[0]||(F[0]=(...H)=>t(n)&&t(n)(...H))}),null,16,Re),W(o.$slots,"default",{ui:C.value}),t(e)||i.avatar||h.leading?(c(),V("span",{key:0,"data-slot":"leading",class:O(C.value.leading({class:l.ui?.leading}))},[W(o.$slots,"leading",{ui:C.value},()=>[t(e)&&t(y)?(c(),w(J,{key:0,name:t(y),"data-slot":"leadingIcon",class:O(C.value.leadingIcon({class:l.ui?.leadingIcon}))},null,8,["name","class"])):i.avatar?(c(),w(ke,ee({key:1,size:l.ui?.leadingAvatarSize||C.value.leadingAvatarSize()},i.avatar,{"data-slot":"leadingAvatar",class:C.value.leadingAvatar({class:l.ui?.leadingAvatar})}),null,16,["size","class"])):S("",!0)])],2)):S("",!0),t(b)||h.trailing?(c(),V("span",{key:1,"data-slot":"trailing",class:O(C.value.trailing({class:l.ui?.trailing}))},[W(o.$slots,"trailing",{ui:C.value},()=>[t(T)?(c(),w(J,{key:0,name:t(T),"data-slot":"trailingIcon",class:O(C.value.trailingIcon({class:l.ui?.trailingIcon}))},null,8,["name","class"])):S("",!0)])],2)):S("",!0)]),_:3},8,["as","class"]))}}),Ge={class:"space-y-4"},He={class:"flex gap-2"},Ee={key:0,class:"text-xs text-muted"},Qe={class:"flex justify-end gap-2"},We=X({__name:"CreateModal",props:{open:{type:Boolean}},emits:["update:open","created"],setup(i,{emit:x}){const _=i,l=x,k=$e(),h=oe(),m=$("blank"),s=$(""),n=$(""),g=$(!1);function q(){m.value="blank",s.value="",n.value="",g.value=!1}function I(){l("update:open",!1),q()}async function N(){if(s.value.trim()){g.value=!0;try{if(m.value==="blank")await $fetch("/api/skills/create",{method:"POST",body:{name:s.value.trim(),description:n.value.trim()||void 0}}),h.add({title:`Skill '${s.value}' created`,color:"success"}),l("created",s.value.trim()),I(),k.push(`/skills/${s.value.trim()}`);else{if(!n.value.trim()){h.add({title:"Description is required for AI generation",color:"warning"}),g.value=!1;return}const U=await $fetch("/api/skills/generate",{method:"POST",body:{name:s.value.trim(),description:n.value.trim()}});h.add({title:`Skill '${s.value}' generated`,description:`Cost: $${U.data.costUsd.toFixed(4)} — created in inactive state for review`,color:"success"}),l("created",s.value.trim()),I(),k.push(`/skills/${s.value.trim()}`)}}catch(U){const u=U instanceof Error?U.message:"Failed to create skill";h.add({title:u,color:"error"})}finally{g.value=!1}}}return(U,u)=>{const A=Y,M=ae,D=Ue,v=Le,e=re;return c(),w(e,{open:_.open,"onUpdate:open":u[4]||(u[4]=b=>l("update:open",b))},{header:a(()=>[...u[5]||(u[5]=[d("span",{class:"font-semibold"},"Create Skill",-1)])]),body:a(()=>[d("div",Ge,[d("div",He,[r(A,{variant:t(m)==="blank"?"solid":"outline",color:"neutral",size:"sm",icon:"i-lucide-file-plus",onClick:u[0]||(u[0]=b=>m.value="blank")},{default:a(()=>[...u[6]||(u[6]=[p(" Blank Skill ",-1)])]),_:1},8,["variant"]),r(A,{variant:t(m)==="generate"?"solid":"outline",color:"neutral",size:"sm",icon:"i-lucide-sparkles",onClick:u[1]||(u[1]=b=>m.value="generate")},{default:a(()=>[...u[7]||(u[7]=[p(" AI Generate ",-1)])]),_:1},8,["variant"])]),r(D,{label:"Name"},{default:a(()=>[r(M,{modelValue:t(s),"onUpdate:modelValue":u[2]||(u[2]=b=>K(s)?s.value=b:null),placeholder:"my-skill",disabled:t(g),class:"w-full"},null,8,["modelValue","disabled"])]),_:1}),r(D,{label:"Description",required:t(m)==="generate"},{default:a(()=>[r(v,{modelValue:t(n),"onUpdate:modelValue":u[3]||(u[3]=b=>K(n)?n.value=b:null),placeholder:t(m)==="generate"?"Describe what this skill should do...":"Optional description",rows:3,disabled:t(g),class:"w-full"},null,8,["modelValue","placeholder","disabled"])]),_:1},8,["required"]),t(m)==="generate"?(c(),V("p",Ee," AI-generated skills are created in an inactive state so you can review them before enabling. ")):S("",!0)])]),footer:a(()=>[d("div",Qe,[r(A,{variant:"ghost",color:"neutral",disabled:t(g),onClick:I},{default:a(()=>[...u[8]||(u[8]=[p(" Cancel ",-1)])]),_:1},8,["disabled"]),r(A,{loading:t(g),disabled:!t(s).trim(),onClick:N},{default:a(()=>[p(B(t(m)==="generate"?"Generate":"Create"),1)]),_:1},8,["loading","disabled"])])]),_:1},8,["open"])}}}),Je=Object.assign(We,{__name:"SkillsCreateModal"}),Ke={class:"flex flex-1 min-w-0"},Xe={class:"p-4"},Ye={key:0,class:"grid gap-4 sm:grid-cols-2 lg:grid-cols-3"},Ze={key:1,class:"flex flex-col items-center justify-center py-16 text-dimmed"},et={key:2,class:"text-center py-12 text-muted text-sm"},tt={key:3,class:"grid gap-4 sm:grid-cols-2 lg:grid-cols-3"},lt={class:"text-sm text-muted"},at={class:"text-default"},it={class:"flex justify-end gap-2"},st={class:"text-sm text-muted"},nt={class:"text-default"},ot={class:"flex justify-end gap-2"},Ct=X({__name:"index",setup(i){const x=oe(),_=$([]),l=$(!0),k=$(""),h=$(!1),m=$(!1),s=$(null),n=$(""),g=$(""),q=$(!1),I=$(!1),N=se(()=>{if(!k.value.trim())return _.value;const v=k.value.toLowerCase();return _.value.filter(e=>e.name.toLowerCase().includes(v)||e.description.toLowerCase().includes(v))});async function U(){l.value=!0;try{const v=await $fetch("/api/skills");_.value=v.data}catch{x.add({title:"Failed to load skills",color:"error"})}finally{l.value=!1}}async function u(v){const e=v.target,b=e.files?.[0];if(b){m.value=!0;try{const y=new FormData;y.append("file",b);const T=await $fetch("/api/skills/import",{method:"POST",body:y});x.add({title:`Imported ${T.data.name}`,description:`${T.data.fileCount} file${T.data.fileCount===1?"":"s"}`,color:"success"}),we(`/skills/${T.data.name}`)}catch(y){const T=y instanceof Error?y.message:"Import failed";x.add({title:"Import failed",description:T,color:"error"})}finally{m.value=!1,e.value=""}}}async function A(v){try{const e=await $fetch(`/api/skills/${v}/toggle`,{method:"POST"}),b=_.value.find(y=>y.name===v);b&&(b.active=e.data.active),x.add({title:`${v} ${e.data.active?"enabled":"disabled"}`,color:"success"})}catch{x.add({title:`Failed to toggle ${v}`,color:"error"})}}async function M(){if(n.value){q.value=!0;try{await $fetch(`/api/skills/${n.value}/delete`,{method:"POST"}),_.value=_.value.filter(v=>v.name!==n.value),x.add({title:`Deleted ${n.value}`,color:"success"}),n.value=""}catch{x.add({title:`Failed to delete ${n.value}`,color:"error"})}finally{q.value=!1}}}async function D(){if(g.value){I.value=!0;try{await $fetch("/api/skills/library/install",{method:"POST",body:{name:g.value,force:!0}}),x.add({title:`Updated ${g.value}`,color:"success"}),g.value="",await U()}catch{x.add({title:`Failed to update ${g.value}`,color:"error"})}finally{I.value=!1}}}return ne(()=>U()),(v,e)=>{const b=ae,y=Y,T=ie,C=Ce,z=Ie,j=J,R=je,L=_e,G=Je,P=re;return c(),V("div",Ke,[r(L,{id:"skills-main",grow:""},{header:a(()=>[r(C,{title:"Skills"},{right:a(()=>[r(b,{modelValue:t(k),"onUpdate:modelValue":e[0]||(e[0]=f=>K(k)?k.value=f:null),icon:"i-lucide-search",placeholder:"Search skills...",size:"sm",class:"w-48"},null,8,["modelValue"]),r(T,{to:"/skills/library"},{default:a(()=>[r(y,{icon:"i-lucide-library",variant:"ghost",color:"neutral",size:"sm"},{default:a(()=>[...e[10]||(e[10]=[p(" Library ",-1)])]),_:1})]),_:1}),r(y,{icon:"i-lucide-upload",variant:"ghost",color:"neutral",size:"sm",loading:t(m),onClick:e[1]||(e[1]=f=>t(s)?.click())},{default:a(()=>[...e[11]||(e[11]=[p(" Import ",-1)])]),_:1},8,["loading"]),d("input",{ref_key:"fileInput",ref:s,type:"file",accept:".zip",class:"hidden",onChange:u},null,544),r(y,{icon:"i-lucide-plus",size:"sm",onClick:e[2]||(e[2]=f=>h.value=!0)},{default:a(()=>[...e[12]||(e[12]=[p(" Create Skill ",-1)])]),_:1})]),_:1})]),body:a(()=>[d("div",Xe,[t(l)?(c(),V("div",Ye,[(c(),V(te,null,le(6,f=>d("div",{key:f,class:"p-4 rounded-lg border border-default bg-elevated/50"},[r(z,{class:"h-4 w-24 mb-2"}),r(z,{class:"h-3 w-full mb-1"}),r(z,{class:"h-3 w-2/3"})])),64))])):t(_).length===0?(c(),V("div",Ze,[r(j,{name:"i-lucide-puzzle",class:"size-12 mb-4"}),e[13]||(e[13]=d("p",{class:"text-lg font-medium"}," No skills found ",-1)),e[14]||(e[14]=d("p",{class:"text-sm mt-1"}," Skills are loaded from ~/.claude/skills/ ",-1))])):t(N).length===0?(c(),V("div",et,' No skills matching "'+B(t(k))+'" ',1)):(c(),V("div",tt,[(c(!0),V(te,null,le(t(N),f=>(c(),w(R,{key:f.name,skill:f,onToggle:A,onDelete:e[3]||(e[3]=o=>n.value=o),onUpdate:e[4]||(e[4]=o=>g.value=o)},null,8,["skill"]))),128))]))])]),_:1}),r(G,{open:t(h),"onUpdate:open":e[5]||(e[5]=f=>h.value=f),onCreated:U},null,8,["open"]),r(P,{open:!!t(n),"onUpdate:open":e[7]||(e[7]=f=>!f&&(n.value=""))},{header:a(()=>[...e[15]||(e[15]=[d("span",{class:"font-semibold"},"Delete Skill",-1)])]),body:a(()=>[d("p",lt,[e[16]||(e[16]=p(" This will permanently delete ",-1)),d("strong",at,B(t(n)),1),e[17]||(e[17]=p(" and all its files. Any modifications you've made will be lost. This cannot be undone. ",-1))])]),footer:a(()=>[d("div",it,[r(y,{variant:"ghost",color:"neutral",disabled:t(q),onClick:e[6]||(e[6]=f=>n.value="")},{default:a(()=>[...e[18]||(e[18]=[p(" Cancel ",-1)])]),_:1},8,["disabled"]),r(y,{color:"error",loading:t(q),onClick:M},{default:a(()=>[...e[19]||(e[19]=[p(" Delete ",-1)])]),_:1},8,["loading"])])]),_:1},8,["open"]),r(P,{open:!!t(g),"onUpdate:open":e[9]||(e[9]=f=>!f&&(g.value=""))},{header:a(()=>[...e[20]||(e[20]=[d("span",{class:"font-semibold"},"Update Skill",-1)])]),body:a(()=>[d("p",st,[e[21]||(e[21]=p(" This will re-download ",-1)),d("strong",nt,B(t(g)),1),e[22]||(e[22]=p(" from the community library, overwriting any local changes you've made to its files. ",-1))])]),footer:a(()=>[d("div",ot,[r(y,{variant:"ghost",color:"neutral",disabled:t(I),onClick:e[8]||(e[8]=f=>g.value="")},{default:a(()=>[...e[23]||(e[23]=[p(" Cancel ",-1)])]),_:1},8,["disabled"]),r(y,{loading:t(I),onClick:D},{default:a(()=>[...e[24]||(e[24]=[p(" Update ",-1)])]),_:1},8,["loading"])])]),_:1},8,["open"])])}}});export{Ct as default};