cognova 0.2.9 → 0.2.11

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 (194) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/_nuxt/{pHQcHl8n.js → 0NJ3PaRM.js} +1 -1
  3. package/.output/public/_nuxt/{CGgZuPnb.js → 0yk-pS3R.js} +2 -2
  4. package/.output/public/_nuxt/{C8gtQaKB.js → 10_wwHSz.js} +1 -1
  5. package/.output/public/_nuxt/{BaYtugUf.js → 1zUTf4AP.js} +1 -1
  6. package/.output/public/_nuxt/{B63LIwsW.js → 2dNDtTiv.js} +3 -3
  7. package/.output/public/_nuxt/{Gy6_ehml.js → 2nOqGUPr.js} +1 -1
  8. package/.output/public/_nuxt/{C6UTTaCP.js → 3jQMk_5H.js} +1 -1
  9. package/.output/public/_nuxt/{BX6vcvkp.js → 4K03TkGA.js} +1 -1
  10. package/.output/public/_nuxt/{DjmFlCHK.js → 6boMs_nF.js} +1 -1
  11. package/.output/public/_nuxt/{CybU4a95.js → 7oCGSglN.js} +1 -1
  12. package/.output/public/_nuxt/{CfO_d5gC.js → 8q5NepGW.js} +1 -1
  13. package/.output/public/_nuxt/{DdXVAzIg.js → B93pdGAW.js} +1 -1
  14. package/.output/public/_nuxt/{D1t0272g.js → BA_pRWwX.js} +1 -1
  15. package/.output/public/_nuxt/{Be5L93GM.js → BDyn4ApB.js} +3 -3
  16. package/.output/public/_nuxt/{DHScQdvh.js → BGgwYWjH.js} +1 -1
  17. package/.output/public/_nuxt/{FYOLNuMV.js → BH0QDWEm.js} +1 -1
  18. package/.output/public/_nuxt/{BVc_fOF1.js → BHtY0l0l.js} +1 -1
  19. package/.output/public/_nuxt/{C6HEirAm.js → BIXrSYwR.js} +1 -1
  20. package/.output/public/_nuxt/BK8S2ony.js +1 -0
  21. package/.output/public/_nuxt/{DTu0K_pX.js → BKXg-alD.js} +1 -1
  22. package/.output/public/_nuxt/{Pa936BQP.js → BLnYhy_t.js} +1 -1
  23. package/.output/public/_nuxt/{wgX1ldgZ.js → BR8bKz8h.js} +1 -1
  24. package/.output/public/_nuxt/{B-513wJW.js → BS2ZNXI1.js} +1 -1
  25. package/.output/public/_nuxt/{a9_LvIZ4.js → BUghTae1.js} +1 -1
  26. package/.output/public/_nuxt/{B8Ou5yh2.js → BXuWCWsJ.js} +1 -1
  27. package/.output/public/_nuxt/{D_tCgCFX.js → BYHCP8x7.js} +1 -1
  28. package/.output/public/_nuxt/{CY3x8iy3.js → BZrSPX0S.js} +1 -1
  29. package/.output/public/_nuxt/{BNBGEa-U.js → B_wilgcd.js} +1 -1
  30. package/.output/public/_nuxt/BaZwjF8o.js +1 -0
  31. package/.output/public/_nuxt/{BwdxQyyo.js → Bciqk4dX.js} +1 -1
  32. package/.output/public/_nuxt/{BhnONkIm.js → Beom-INj.js} +1 -1
  33. package/.output/public/_nuxt/{CzurfTnt.js → BfcLZ_fC.js} +1 -1
  34. package/.output/public/_nuxt/{DwAJIRGg.js → Bk6JUtIo.js} +1 -1
  35. package/.output/public/_nuxt/BkfI94R8.js +1 -0
  36. package/.output/public/_nuxt/{Cs_udj6A.js → BmOtR1wX.js} +1 -1
  37. package/.output/public/_nuxt/{D7iYVmH6.js → BmVLxnDU.js} +1 -1
  38. package/.output/public/_nuxt/{6lIxuL6n.js → BtHQ1T0f.js} +1 -1
  39. package/.output/public/_nuxt/{RRbnMIVe.js → ByYh0uRg.js} +1 -1
  40. package/.output/public/_nuxt/{DBuW01Fx.js → C27WoGNZ.js} +1 -1
  41. package/.output/public/_nuxt/{DJ4pqxg-.js → C2FxZbO_.js} +1 -1
  42. package/.output/public/_nuxt/{myNwwtfj.js → C2vq6Te8.js} +1 -1
  43. package/.output/public/_nuxt/{C3JOLqW1.js → C39dQ88F.js} +1 -1
  44. package/.output/public/_nuxt/{4nN41Tyd.js → C3NST0BU.js} +1 -1
  45. package/.output/public/_nuxt/{BltasKce.js → C4mwL7SE.js} +1 -1
  46. package/.output/public/_nuxt/{B1vDCixB.js → C5R5QaCA.js} +1 -1
  47. package/.output/public/_nuxt/{CwOUYOe5.js → C6qKcgOY.js} +1 -1
  48. package/.output/public/_nuxt/{DGJKfutb.js → C71_a1IX.js} +1 -1
  49. package/.output/public/_nuxt/{CrjNndEO.js → C9WIgRRL.js} +1 -1
  50. package/.output/public/_nuxt/{B5JDxHxC.js → CBTkrk2M.js} +1 -1
  51. package/.output/public/_nuxt/{UbZP7wjm.js → CEnSeCqn.js} +1 -1
  52. package/.output/public/_nuxt/{Cn83lLUb.js → CKxSHyww.js} +1 -1
  53. package/.output/public/_nuxt/{CbTu13wM.js → CLfF6dSn.js} +1 -1
  54. package/.output/public/_nuxt/{Bsdcw5gr.js → CPutXj8l.js} +1 -1
  55. package/.output/public/_nuxt/{CrW6y2-s.js → CQqCBrXj.js} +1 -1
  56. package/.output/public/_nuxt/{OrcbFmB1.js → CSKJ-Ahh.js} +1 -1
  57. package/.output/public/_nuxt/{XJYoLoTi.js → CTCcEJU3.js} +1 -1
  58. package/.output/public/_nuxt/{Bk9-HxOg.js → CVFwOzbl.js} +1 -1
  59. package/.output/public/_nuxt/{CqMgz85Z.js → CVdCqaby.js} +1 -1
  60. package/.output/public/_nuxt/{Cmj-BR0q.js → CVqlefTY.js} +1 -1
  61. package/.output/public/_nuxt/CWyMCJQH.js +1 -0
  62. package/.output/public/_nuxt/{xrh9hzzH.js → CY-QVcA5.js} +2 -2
  63. package/.output/public/_nuxt/{BQ1T6zWA.js → CY-cjAwJ.js} +1 -1
  64. package/.output/public/_nuxt/{CziltI1u.js → CYPO5o_C.js} +1 -1
  65. package/.output/public/_nuxt/{C1FhgWcI.js → CZRnNmU8.js} +1 -1
  66. package/.output/public/_nuxt/{BES6FzF5.js → CZVzFlpI.js} +1 -1
  67. package/.output/public/_nuxt/{CsbHYpNi.js → CZoEPC_Q.js} +3 -3
  68. package/.output/public/_nuxt/{DvATBMPl.js → Cc-2ziaZ.js} +1 -1
  69. package/.output/public/_nuxt/{D3RROe4s.js → ChcO9s3o.js} +1 -1
  70. package/.output/public/_nuxt/{CIUZAp6g.js → Cl-LOSDV.js} +1 -1
  71. package/.output/public/_nuxt/{BwJVN9k0.js → CobqYwkp.js} +1 -1
  72. package/.output/public/_nuxt/{Cmdr5BNz.js → CqNwHCpo.js} +1 -1
  73. package/.output/public/_nuxt/{HPOXd4gt.js → CuxrHsu-.js} +1 -1
  74. package/.output/public/_nuxt/{BYIq3eP8.js → CwPdIZ9J.js} +1 -1
  75. package/.output/public/_nuxt/{D-O8wAju.js → D0ifH682.js} +1 -1
  76. package/.output/public/_nuxt/{BwVt3BzR.js → D3AZaldL.js} +1 -1
  77. package/.output/public/_nuxt/{BE_OHTBv.js → D4UJwDQJ.js} +1 -1
  78. package/.output/public/_nuxt/{hm3ShyaF.js → D5jZq8b3.js} +1 -1
  79. package/.output/public/_nuxt/{pNqWPbXW.js → D5q8SnqE.js} +1 -1
  80. package/.output/public/_nuxt/{BgG2k-zy.js → D8M722pn.js} +1 -1
  81. package/.output/public/_nuxt/{B2MVZlI-.js → D8lwrAYS.js} +1 -1
  82. package/.output/public/_nuxt/{DYu_NYj3.js → D9nmzBAw.js} +1 -1
  83. package/.output/public/_nuxt/{DBKxzQ3U.js → DC4idAGt.js} +1 -1
  84. package/.output/public/_nuxt/{qWWnsfRV.js → DEd2xVbS.js} +1 -1
  85. package/.output/public/_nuxt/{nTCVPCKg.js → DH4YkDAi.js} +1 -1
  86. package/.output/public/_nuxt/{DmmQUhEb.js → DJTCT0bl.js} +1 -1
  87. package/.output/public/_nuxt/{rRYEvKFu.js → DNP5E1bC.js} +1 -1
  88. package/.output/public/_nuxt/{DI1FIvaM.js → DO9SFIh1.js} +1 -1
  89. package/.output/public/_nuxt/DPklr_tJ.js +2 -0
  90. package/.output/public/_nuxt/{-JdScH3W.js → DQM4eBdt.js} +1 -1
  91. package/.output/public/_nuxt/{5MZBbx-H.js → DQh6I9z9.js} +1 -1
  92. package/.output/public/_nuxt/{DLuRYg2p.js → DS2wStH1.js} +1 -1
  93. package/.output/public/_nuxt/{0EY9Msdx.js → DTAStixR.js} +1 -1
  94. package/.output/public/_nuxt/{fVkHtgGF.js → DTGenhcA.js} +1 -1
  95. package/.output/public/_nuxt/{4Qy4OdWt.js → DUAAXJ6Q.js} +1 -1
  96. package/.output/public/_nuxt/{DTrFhdRO.js → DUVzIl3o.js} +1 -1
  97. package/.output/public/_nuxt/{Dj2opPDu.js → DXdwpJ-I.js} +1 -1
  98. package/.output/public/_nuxt/{C8tXHRIo.js → DY3uK7wM.js} +1 -1
  99. package/.output/public/_nuxt/{D76Dw8rw.js → DYbZBZet.js} +1 -1
  100. package/.output/public/_nuxt/{DSgubznn.js → D_4LPm1U.js} +1 -1
  101. package/.output/public/_nuxt/{D8gh62A0.js → Db4KMnt8.js} +1 -1
  102. package/.output/public/_nuxt/{JQV21WEV.js → DcJbYLTp.js} +1 -1
  103. package/.output/public/_nuxt/{D5G5UL_g.js → DfF81NlA.js} +1 -1
  104. package/.output/public/_nuxt/{HlbU_z9a.js → DhI5cA_n.js} +1 -1
  105. package/.output/public/_nuxt/{CaLO8sre.js → DhuOKJda.js} +1 -1
  106. package/.output/public/_nuxt/{CDradKPE.js → Di-Nc75e.js} +1 -1
  107. package/.output/public/_nuxt/{C2DZeD9G.js → Djs0Tlpa.js} +1 -1
  108. package/.output/public/_nuxt/DmmdPt_5.js +1 -0
  109. package/.output/public/_nuxt/{DSynhNOO.js → Dn5a-guE.js} +1 -1
  110. package/.output/public/_nuxt/{k16puyWi.js → DtjjnHnt.js} +1 -1
  111. package/.output/public/_nuxt/{CEJh-OAl.js → DuvzM-P1.js} +1 -1
  112. package/.output/public/_nuxt/{D7WbsJsa.js → DwY7rCd_.js} +1 -1
  113. package/.output/public/_nuxt/{REP2-rzf.js → Dya5oK8u.js} +1 -1
  114. package/.output/public/_nuxt/{CIJ2MJdc.js → DzA58_Lm.js} +1 -1
  115. package/.output/public/_nuxt/{Bp9kHdw6.js → DzGy77Vr.js} +1 -1
  116. package/.output/public/_nuxt/{DfIqFkyp.js → E3rXPwU8.js} +1 -1
  117. package/.output/public/_nuxt/{NusIKwmA.js → EgKnQnf-.js} +1 -1
  118. package/.output/public/_nuxt/{Clr3MHUr.js → GtEM7xVU.js} +1 -1
  119. package/.output/public/_nuxt/{DQd-GXKJ.js → H6JbrRBU.js} +1 -1
  120. package/.output/public/_nuxt/{BzTjmQCD.js → ILEvizzp.js} +1 -1
  121. package/.output/public/_nuxt/{DUDbJONU.js → JX1oqJI9.js} +1 -1
  122. package/.output/public/_nuxt/{BsnhHCOa.js → JbHa4oXq.js} +1 -1
  123. package/.output/public/_nuxt/{BE4Ndhrq.js → Kw0zy3FG.js} +1 -1
  124. package/.output/public/_nuxt/{BOGXUgGg.js → N5XtbYVD.js} +1 -1
  125. package/.output/public/_nuxt/{Oy4_RPEZ.js → PP_4ebzl.js} +1 -1
  126. package/.output/public/_nuxt/{DkhxRAb3.js → SrncdpaW.js} +1 -1
  127. package/.output/public/_nuxt/{C8wa4Wh4.js → U1MWjQMi.js} +1 -1
  128. package/.output/public/_nuxt/{CGfVTQUF.js → Um1vPiAz.js} +1 -1
  129. package/.output/public/_nuxt/{CH8kNq6W.js → XCjS70z4.js} +1 -1
  130. package/.output/public/_nuxt/{BZqdzrSw.js → YX8avsvq.js} +2 -2
  131. package/.output/public/_nuxt/{1zIQX9mh.js → _cy8R3nk.js} +1 -1
  132. package/.output/public/_nuxt/{DJoRBCVm.js → apYB9dr5.js} +1 -1
  133. package/.output/public/_nuxt/builds/latest.json +1 -1
  134. package/.output/public/_nuxt/builds/meta/515be38f-7222-4e4b-80cb-cef7594b1834.json +1 -0
  135. package/.output/public/_nuxt/entry.NKPfH2kE.css +1 -0
  136. package/.output/public/_nuxt/{B6bnHNWY.js → fbyIeNkc.js} +1 -1
  137. package/.output/public/_nuxt/{BjI5wb_q.js → g5MjDvm5.js} +1 -1
  138. package/.output/public/_nuxt/{BfECQayu.js → gTrVszwd.js} +1 -1
  139. package/.output/public/_nuxt/{TGVM5w2K.js → ixlNW2So.js} +1 -1
  140. package/.output/public/_nuxt/{CXBOHJ2W.js → nnQqD5pb.js} +1 -1
  141. package/.output/public/_nuxt/{C4ScCUjy.js → rfGRTJJW.js} +1 -1
  142. package/.output/public/_nuxt/{DCL9gWFw.js → t8aDAkZ5.js} +1 -1
  143. package/.output/public/_nuxt/{BJ8jbKuq.js → vIOxcXKR.js} +1 -1
  144. package/.output/public/_nuxt/{DA2RowFe.js → vScW1Zgm.js} +1 -1
  145. package/.output/public/_nuxt/{B6wYZD_K.js → wO6z2ugJ.js} +1 -1
  146. package/.output/public/_nuxt/{CwKe2KkK.js → x6FRJ5ac.js} +1 -1
  147. package/.output/public/_nuxt/{D7DTZ0iS.js → zq-a1TeT.js} +1 -1
  148. package/.output/server/chunks/build/{chat-CZMiB68R.mjs → chat-CR3JIVEq.mjs} +65 -11
  149. package/.output/server/chunks/build/chat-CR3JIVEq.mjs.map +1 -0
  150. package/.output/server/chunks/build/client.precomputed.mjs +1 -1
  151. package/.output/server/chunks/build/server.mjs +2 -2
  152. package/.output/server/chunks/build/styles.mjs +2 -2
  153. package/.output/server/chunks/build/{usage-CSrBh4Or.mjs → usage-BHdQZbfI.mjs} +9 -5
  154. package/.output/server/chunks/build/{usage-CSrBh4Or.mjs.map → usage-BHdQZbfI.mjs.map} +1 -1
  155. package/.output/server/chunks/nitro/nitro.mjs +1094 -863
  156. package/.output/server/chunks/nitro/nitro.mjs.map +1 -1
  157. package/.output/server/chunks/routes/_ws/chat.mjs +2 -1
  158. package/.output/server/chunks/routes/_ws/chat.mjs.map +1 -1
  159. package/.output/server/chunks/routes/api/conversations/_id_.delete.mjs +4 -1
  160. package/.output/server/chunks/routes/api/conversations/_id_.delete.mjs.map +1 -1
  161. package/.output/server/chunks/routes/api/index.get3.mjs +1 -1
  162. package/.output/server/chunks/routes/api/index.get3.mjs.map +1 -1
  163. package/.output/server/chunks/routes/api/usage/stats.get.mjs +2 -0
  164. package/.output/server/chunks/routes/api/usage/stats.get.mjs.map +1 -1
  165. package/.output/server/package.json +1 -1
  166. package/Claude/hooks/session-start.py +23 -0
  167. package/app/components/chat/ConversationList.vue +7 -1
  168. package/app/components/chat/MessageBubble.vue +45 -1
  169. package/app/components/usage/UsageRecordsTable.vue +4 -2
  170. package/app/components/usage/UsageSourceDonut.client.vue +4 -2
  171. package/app/components/usage/UsageTopConsumers.vue +4 -2
  172. package/app/composables/useChat.ts +3 -0
  173. package/package.json +1 -1
  174. package/server/api/conversations/[id].delete.ts +9 -0
  175. package/server/api/conversations/index.get.ts +2 -1
  176. package/server/api/usage/stats.get.ts +2 -0
  177. package/server/bridge/responder.ts +276 -0
  178. package/server/bridge/router.ts +6 -4
  179. package/server/db/schema.ts +3 -1
  180. package/server/drizzle/migrations/0015_great_mephistopheles.sql +2 -0
  181. package/server/drizzle/migrations/meta/0015_snapshot.json +1972 -0
  182. package/server/drizzle/migrations/meta/_journal.json +7 -0
  183. package/server/routes/_ws/chat.ts +2 -1
  184. package/server/utils/log-token-usage.ts +1 -1
  185. package/shared/types/index.ts +6 -0
  186. package/.output/public/_nuxt/1lOC4Si0.js +0 -1
  187. package/.output/public/_nuxt/AUdD1uDD.js +0 -1
  188. package/.output/public/_nuxt/DMy2sxuC.js +0 -1
  189. package/.output/public/_nuxt/DlSJ4TF_.js +0 -1
  190. package/.output/public/_nuxt/PzQHm02e.js +0 -1
  191. package/.output/public/_nuxt/builds/meta/613faa5d-8ace-45e0-8274-b611cc4fd1ad.json +0 -1
  192. package/.output/public/_nuxt/entry.DkvuF_CR.css +0 -1
  193. package/.output/public/_nuxt/svWfwR0T.js +0 -2
  194. package/.output/server/chunks/build/chat-CZMiB68R.mjs.map +0 -1
@@ -1 +1 @@
1
- import{a as m,aS as h,c as p,f as g,Q as o,R as n,V as d,aM as E,G as f,a9 as B,aj as c,ak as V}from"./B63LIwsW.js";var k=m({inheritAttrs:!1,__name:"VisuallyHiddenInputBubble",props:{name:{type:String,required:!0},value:{type:null,required:!0},checked:{type:Boolean,required:!1,default:void 0},required:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},feature:{type:String,required:!1,default:"fully-hidden"}},setup(i){const e=i,{primitiveElement:s,currentElement:l}=h(),t=p(()=>e.checked??e.value);return g(t,(a,r)=>{if(!l.value)return;const u=l.value,_=window.HTMLInputElement.prototype,v=Object.getOwnPropertyDescriptor(_,"value").set;if(v&&a!==r){const b=new Event("input",{bubbles:!0}),q=new Event("change",{bubbles:!0});v.call(u,a),u.dispatchEvent(b),u.dispatchEvent(q)}}),(a,r)=>(n(),o(E,d({ref_key:"primitiveElement",ref:s},{...e,...a.$attrs},{as:"input"}),null,16))}}),y=k,A=m({inheritAttrs:!1,__name:"VisuallyHiddenInput",props:{name:{type:String,required:!0},value:{type:null,required:!0},checked:{type:Boolean,required:!1,default:void 0},required:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},feature:{type:String,required:!1,default:"fully-hidden"}},setup(i){const e=i,s=p(()=>typeof e.value=="object"&&Array.isArray(e.value)&&e.value.length===0&&e.required),l=p(()=>typeof e.value=="string"||typeof e.value=="number"||typeof e.value=="boolean"||e.value===null||e.value===void 0?[{name:e.name,value:e.value}]:typeof e.value=="object"&&Array.isArray(e.value)?e.value.flatMap((t,a)=>typeof t=="object"?Object.entries(t).map(([r,u])=>({name:`${e.name}[${a}][${r}]`,value:u})):{name:`${e.name}[${a}]`,value:t}):e.value!==null&&typeof e.value=="object"&&!Array.isArray(e.value)?Object.entries(e.value).map(([t,a])=>({name:`${e.name}[${t}]`,value:a})):[]);return(t,a)=>(n(),f(c,null,[B(" We render single input if it's required "),s.value?(n(),o(y,d({key:t.name},{...e,...t.$attrs},{name:t.name,value:t.value}),null,16,["name","value"])):(n(!0),f(c,{key:1},V(l.value,r=>(n(),o(y,d({key:r.name},{ref_for:!0},{...e,...t.$attrs},{name:r.name,value:r.value}),null,16,["name","value"]))),128))],2112))}}),I=A;export{I as V};
1
+ import{a as m,aS as h,c as p,f as g,Q as o,R as n,V as d,aM as E,G as f,a9 as B,aj as c,ak as V}from"./2dNDtTiv.js";var k=m({inheritAttrs:!1,__name:"VisuallyHiddenInputBubble",props:{name:{type:String,required:!0},value:{type:null,required:!0},checked:{type:Boolean,required:!1,default:void 0},required:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},feature:{type:String,required:!1,default:"fully-hidden"}},setup(i){const e=i,{primitiveElement:s,currentElement:l}=h(),t=p(()=>e.checked??e.value);return g(t,(a,r)=>{if(!l.value)return;const u=l.value,_=window.HTMLInputElement.prototype,v=Object.getOwnPropertyDescriptor(_,"value").set;if(v&&a!==r){const b=new Event("input",{bubbles:!0}),q=new Event("change",{bubbles:!0});v.call(u,a),u.dispatchEvent(b),u.dispatchEvent(q)}}),(a,r)=>(n(),o(E,d({ref_key:"primitiveElement",ref:s},{...e,...a.$attrs},{as:"input"}),null,16))}}),y=k,A=m({inheritAttrs:!1,__name:"VisuallyHiddenInput",props:{name:{type:String,required:!0},value:{type:null,required:!0},checked:{type:Boolean,required:!1,default:void 0},required:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},feature:{type:String,required:!1,default:"fully-hidden"}},setup(i){const e=i,s=p(()=>typeof e.value=="object"&&Array.isArray(e.value)&&e.value.length===0&&e.required),l=p(()=>typeof e.value=="string"||typeof e.value=="number"||typeof e.value=="boolean"||e.value===null||e.value===void 0?[{name:e.name,value:e.value}]:typeof e.value=="object"&&Array.isArray(e.value)?e.value.flatMap((t,a)=>typeof t=="object"?Object.entries(t).map(([r,u])=>({name:`${e.name}[${a}][${r}]`,value:u})):{name:`${e.name}[${a}]`,value:t}):e.value!==null&&typeof e.value=="object"&&!Array.isArray(e.value)?Object.entries(e.value).map(([t,a])=>({name:`${e.name}[${t}]`,value:a})):[]);return(t,a)=>(n(),f(c,null,[B(" We render single input if it's required "),s.value?(n(),o(y,d({key:t.name},{...e,...t.$attrs},{name:t.name,value:t.value}),null,16,["name","value"])):(n(!0),f(c,{key:1},V(l.value,r=>(n(),o(y,d({key:r.name},{ref_for:!0},{...e,...t.$attrs},{name:r.name,value:r.value}),null,16,["name","value"]))),128))],2112))}}),I=A;export{I as V};
@@ -0,0 +1 @@
1
+ import{a as I,G as i,R as s,ab as n,T as c,W as M,a9 as u,aj as z,ak as q,U as K,Q as h,aa as j,ae as b,al as X,_ as L,bg as Y,an as Z,e as ee,q as te,f as S,c as se,S as g,C as e,k as N}from"./2dNDtTiv.js";import{_ as oe,a as ne}from"./CqNwHCpo.js";import{_ as ae}from"./JbHa4oXq.js";import{u as ie,_ as re,a as le,b as ce}from"./DPklr_tJ.js";import"./D5jZq8b3.js";import"./DhI5cA_n.js";import"./DEd2xVbS.js";import"./YX8avsvq.js";import"./88opOQSr.js";import"./iik6CYzq.js";import"./t8aDAkZ5.js";import"./BHtY0l0l.js";import"./BaZwjF8o.js";const ue={class:"flex flex-col h-full"},de={class:"p-3 border-b border-default"},me={class:"flex-1 overflow-y-auto"},_e={key:0,class:"p-4 text-sm text-dimmed text-center"},fe=["onClick"],pe={class:"flex items-start justify-between gap-2"},ge={class:"flex items-center gap-1.5 truncate text-sm font-medium"},he={class:"flex items-center gap-2 mt-1 text-xs text-dimmed"},ve={key:0},xe={key:1},Ce=I({__name:"ConversationList",props:{conversations:{},activeId:{}},emits:["select","delete","new"],setup(v,{emit:_}){const r=_;function f(p){const l=new Date(p),a=new Date().getTime()-l.getTime();return a<6e4?"just now":a<36e5?`${Math.floor(a/6e4)}m ago`:a<864e5?`${Math.floor(a/36e5)}h ago`:l.toLocaleDateString()}return(p,l)=>{const m=M,a=L;return s(),i("div",ue,[n("div",de,[c(m,{label:"New Chat",icon:"i-lucide-plus",color:"primary",variant:"soft",block:"",onClick:l[0]||(l[0]=t=>r("new"))})]),n("div",me,[v.conversations.length===0?(s(),i("div",_e," No conversations yet ")):u("",!0),(s(!0),i(z,null,q(v.conversations,t=>(s(),i("button",{key:t.id,class:K(["w-full p-3 text-left border-b border-default hover:bg-elevated/50 transition-colors group",{"bg-elevated/50":v.activeId===t.id}]),onClick:x=>r("select",t.id)},[n("div",pe,[n("div",ge,[t.isMain?(s(),h(a,{key:0,name:"i-lucide-pin",class:"size-3.5 text-primary shrink-0"})):u("",!0),j(" "+b(t.title||"Untitled"),1)]),t.isMain?u("",!0):(s(),h(m,{key:0,icon:"i-lucide-trash-2",variant:"ghost",color:"error",size:"xs",class:"opacity-0 group-hover:opacity-100 shrink-0",onClick:X(x=>r("delete",t.id),["stop"])},null,8,["onClick"]))]),n("div",he,[n("span",null,b(f(t.startedAt)),1),t.messageCount?(s(),i("span",ve,b(t.messageCount)+" msgs",1)):u("",!0),t.totalCostUsd>0?(s(),i("span",xe,"$"+b(t.totalCostUsd.toFixed(4)),1)):u("",!0)])],10,fe))),128))])])}}}),be=Object.assign(Ce,{__name:"ChatConversationList"}),ke={class:"flex flex-1 min-w-0"},ye={class:"flex flex-col h-full"},we={key:0,class:"flex flex-col items-center justify-center h-full text-dimmed"},Ve=I({__name:"chat",setup(v){const{connectionStatus:_,sessionStatus:r,activeConversationId:f,messages:p,conversations:l,streamingText:m,streamingToolCalls:a,connect:t,sendMessage:x,interrupt:V,startNewConversation:k,loadConversation:U,loadConversations:R,deleteConversation:F}=ie(),y=Y(),T=Z(),C=ee(null);te(()=>{if(t(),R(),y.query.conversation){const d=y.query.conversation,o=S(_,$=>{$==="connected"&&(o(),U(d),T.replace({query:{}}))},{immediate:!0})}else if(y.query.onboarding){const d=S(_,o=>{o==="connected"&&(d(),k(),x("Hello!"),N(w),T.replace({query:{}}))},{immediate:!0})}});function H(d){x(d),N(w)}function w(){C.value&&(C.value.scrollTop=C.value.scrollHeight)}S(m,()=>N(w));const A=se(()=>f.value?l.value.find(o=>o.id===f.value)?.title||"Chat":"New Chat");return(d,o)=>{const $=be,B=oe,E=ae,G=M,O=ne,P=L,Q=re,W=le,J=ce;return s(),i("div",ke,[c(B,{id:"chat-sidebar","default-size":20,"min-size":15,"max-size":30,collapsible:"",resizable:"",class:"hidden lg:flex"},{default:g(()=>[c($,{conversations:e(l),"active-id":e(f),onSelect:e(U),onDelete:e(F),onNew:e(k)},null,8,["conversations","active-id","onSelect","onDelete","onNew"])]),_:1}),c(B,{id:"chat-main",grow:""},{header:g(()=>[c(O,{title:e(A)},{right:g(()=>[e(r)==="streaming"?(s(),h(E,{key:0,color:"warning",variant:"subtle"},{default:g(()=>[...o[0]||(o[0]=[j(" Streaming ",-1)])]),_:1})):u("",!0),c(G,{icon:"i-lucide-plus",variant:"ghost",color:"neutral",class:"lg:hidden",onClick:e(k)},null,8,["onClick"])]),_:1},8,["title"])]),default:g(()=>[n("div",ye,[n("div",{ref_key:"messagesContainer",ref:C,class:"flex-1 overflow-y-auto p-4 space-y-4"},[e(p).length===0&&e(r)!=="streaming"?(s(),i("div",we,[c(P,{name:"i-lucide-message-square",class:"size-12 mb-4"}),o[1]||(o[1]=n("p",{class:"text-lg font-medium"}," Start a conversation ",-1)),o[2]||(o[2]=n("p",{class:"text-sm mt-1"}," Send a message to start chatting with Claude ",-1))])):u("",!0),(s(!0),i(z,null,q(e(p),D=>(s(),h(Q,{key:D.id,message:D},null,8,["message"]))),128)),e(r)==="streaming"?(s(),h(W,{key:1,text:e(m),"tool-calls":e(a)},null,8,["text","tool-calls"])):u("",!0)],512),c(J,{"session-status":e(r),"connection-status":e(_),onSend:H,onInterrupt:e(V)},null,8,["session-status","connection-status","onInterrupt"])])]),_:1})])}}});export{Ve as default};
@@ -1 +1 @@
1
- import{N as o,c as n,am as e,Q as i,R as u,S as c,a4 as p,U as d,C as m,a3 as f}from"./B63LIwsW.js";const v={base:"animate-pulse rounded-md bg-elevated"},b={__name:"USkeleton",props:{as:{type:null,required:!1},class:{type:null,required:!1}},setup(a){const s=a,l=o(),t=n(()=>e({extend:e(v),...l.ui?.skeleton||{}}));return(r,C)=>(u(),i(m(f),{as:a.as,"aria-busy":"true","aria-label":"loading","aria-live":"polite",role:"alert",class:d(t.value({class:s.class}))},{default:c(()=>[p(r.$slots,"default")]),_:3},8,["as","class"]))}};export{b as _};
1
+ import{N as o,c as n,am as e,Q as i,R as u,S as c,a4 as p,U as d,C as m,a3 as f}from"./2dNDtTiv.js";const v={base:"animate-pulse rounded-md bg-elevated"},b={__name:"USkeleton",props:{as:{type:null,required:!1},class:{type:null,required:!1}},setup(a){const s=a,l=o(),t=n(()=>e({extend:e(v),...l.ui?.skeleton||{}}));return(r,C)=>(u(),i(m(f),{as:a.as,"aria-busy":"true","aria-label":"loading","aria-live":"polite",role:"alert",class:d(t.value({class:s.class}))},{default:c(()=>[p(r.$slots,"default")]),_:3},8,["as","class"]))}};export{b as _};
@@ -1 +1 @@
1
- import{N as o,c as r,am as a,Q as c,R as u,S as i,a4 as p,U as m,C as f,a3 as x}from"./B63LIwsW.js";const d={base:"w-full max-w-(--ui-container) mx-auto px-4 sm:px-6 lg:px-8"},g={__name:"UContainer",props:{as:{type:null,required:!1},class:{type:null,required:!1}},setup(s){const e=s,t=o(),n=r(()=>a({extend:a(d),...t.ui?.container||{}}));return(l,C)=>(u(),c(f(x),{as:s.as,class:m(n.value({class:e.class}))},{default:i(()=>[p(l.$slots,"default")]),_:3},8,["as","class"]))}};export{g as _};
1
+ import{N as o,c as r,am as a,Q as c,R as u,S as i,a4 as p,U as m,C as f,a3 as x}from"./2dNDtTiv.js";const d={base:"w-full max-w-(--ui-container) mx-auto px-4 sm:px-6 lg:px-8"},g={__name:"UContainer",props:{as:{type:null,required:!1},class:{type:null,required:!1}},setup(s){const e=s,t=o(),n=r(()=>a({extend:a(d),...t.ui?.container||{}}));return(l,C)=>(u(),c(f(x),{as:s.as,class:m(n.value({class:e.class}))},{default:i(()=>[p(l.$slots,"default")]),_:3},8,["as","class"]))}};export{g as _};
@@ -1 +1 @@
1
- import{T as C,a as T,b as w,c as q,d as B}from"./D-O8wAju.js";import{aq as I,ao as L,ar as M,N as z,c as b,e as G,q as N,as as U,f as y,at as $,Q as c,R as o,S as d,T as m,G as h,C as u,U as i,ak as x,aj as S,am as V,ab as D,ae as R,au as j}from"./B63LIwsW.js";import A from"./BgG2k-zy.js";import"./CziltI1u.js";import"./C6HEirAm.js";import"./nTCVPCKg.js";import"./DlSJ4TF_.js";const E={slots:{root:"relative group *:not-first:!my-0 *:not-first:!static my-5",list:"relative flex items-center gap-1 border border-muted bg-default border-b-0 rounded-t-md overflow-x-auto p-2",indicator:"absolute left-0 inset-y-2 w-(--reka-tabs-indicator-size) translate-x-(--reka-tabs-indicator-position) transition-[translate,width] duration-200 bg-elevated rounded-md shadow-xs",trigger:["relative inline-flex items-center gap-1.5 text-default data-[state=active]:text-highlighted hover:bg-elevated/50 px-2 py-1.5 text-sm rounded-md disabled:cursor-not-allowed disabled:opacity-75 focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-primary focus:outline-none","transition-colors"],triggerIcon:"size-4 shrink-0",triggerLabel:"truncate"}},W={__name:"ProseCodeGroup",props:I({defaultValue:{type:String,required:!1,default:"0"},sync:{type:String,required:!1},class:{type:null,required:!1},ui:{type:null,required:!1}},{modelValue:{type:String},modelModifiers:{}}),emits:["update:modelValue"],setup(f){const a=f,_=L(),s=M(f,"modelValue"),k=z(),r=b(()=>V({extend:V(E),...k.ui?.prose?.codeGroup||{}})()),p=G(1),g=b(()=>(p.value,_.default?.()?.flatMap(v).filter(Boolean)||[]));function v(e,t){return typeof e.type=="symbol"?e.children?.map(v):{label:e.props?.filename||e.props?.label||`${t}`,icon:e.props?.icon,component:e}}return N(()=>{if(a.sync){const e=`code-group-${a.sync}`,t=U(e,()=>localStorage.getItem(e));y(t,()=>{t.value&&(s.value=t.value)},{immediate:!0}),y(s,()=>{s.value&&(t.value=s.value,localStorage.setItem(e,s.value))})}}),$(()=>p.value++),(e,t)=>(o(),c(u(w),{modelValue:s.value,"onUpdate:modelValue":t[0]||(t[0]=l=>s.value=l),"default-value":f.defaultValue,"unmount-on-hide":!1,class:i(r.value.root({class:[a.ui?.root,a.class]}))},{default:d(()=>[m(u(T),{class:i(r.value.list({class:a.ui?.list}))},{default:d(()=>[m(u(C),{class:i(r.value.indicator({class:a.ui?.indicator}))},null,8,["class"]),(o(!0),h(S,null,x(g.value,(l,n)=>(o(),c(u(q),{key:n,value:String(n),class:i(r.value.trigger({class:a.ui?.trigger}))},{default:d(()=>[m(A,{icon:l.icon,filename:l.label,class:i(r.value.triggerIcon({class:a.ui?.triggerIcon}))},null,8,["icon","filename","class"]),D("span",{class:i(r.value.triggerLabel({class:a.ui?.triggerLabel}))},R(l.label),3)]),_:2},1032,["value","class"]))),128))]),_:1},8,["class"]),(o(!0),h(S,null,x(g.value,(l,n)=>(o(),c(u(B),{key:n,value:String(n),"as-child":""},{default:d(()=>[(o(),c(j(l.component),{"hide-header":"",tabindex:"-1"}))]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue","default-value","class"]))}};export{W as default};
1
+ import{T as C,a as T,b as w,c as q,d as B}from"./D0ifH682.js";import{aq as I,ao as L,ar as M,N as z,c as b,e as G,q as N,as as U,f as y,at as $,Q as c,R as o,S as d,T as m,G as h,C as u,U as i,ak as x,aj as S,am as V,ab as D,ae as R,au as j}from"./2dNDtTiv.js";import A from"./D8M722pn.js";import"./CYPO5o_C.js";import"./BIXrSYwR.js";import"./DH4YkDAi.js";import"./CWyMCJQH.js";const E={slots:{root:"relative group *:not-first:!my-0 *:not-first:!static my-5",list:"relative flex items-center gap-1 border border-muted bg-default border-b-0 rounded-t-md overflow-x-auto p-2",indicator:"absolute left-0 inset-y-2 w-(--reka-tabs-indicator-size) translate-x-(--reka-tabs-indicator-position) transition-[translate,width] duration-200 bg-elevated rounded-md shadow-xs",trigger:["relative inline-flex items-center gap-1.5 text-default data-[state=active]:text-highlighted hover:bg-elevated/50 px-2 py-1.5 text-sm rounded-md disabled:cursor-not-allowed disabled:opacity-75 focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-primary focus:outline-none","transition-colors"],triggerIcon:"size-4 shrink-0",triggerLabel:"truncate"}},W={__name:"ProseCodeGroup",props:I({defaultValue:{type:String,required:!1,default:"0"},sync:{type:String,required:!1},class:{type:null,required:!1},ui:{type:null,required:!1}},{modelValue:{type:String},modelModifiers:{}}),emits:["update:modelValue"],setup(f){const a=f,_=L(),s=M(f,"modelValue"),k=z(),r=b(()=>V({extend:V(E),...k.ui?.prose?.codeGroup||{}})()),p=G(1),g=b(()=>(p.value,_.default?.()?.flatMap(v).filter(Boolean)||[]));function v(e,t){return typeof e.type=="symbol"?e.children?.map(v):{label:e.props?.filename||e.props?.label||`${t}`,icon:e.props?.icon,component:e}}return N(()=>{if(a.sync){const e=`code-group-${a.sync}`,t=U(e,()=>localStorage.getItem(e));y(t,()=>{t.value&&(s.value=t.value)},{immediate:!0}),y(s,()=>{s.value&&(t.value=s.value,localStorage.setItem(e,s.value))})}}),$(()=>p.value++),(e,t)=>(o(),c(u(w),{modelValue:s.value,"onUpdate:modelValue":t[0]||(t[0]=l=>s.value=l),"default-value":f.defaultValue,"unmount-on-hide":!1,class:i(r.value.root({class:[a.ui?.root,a.class]}))},{default:d(()=>[m(u(T),{class:i(r.value.list({class:a.ui?.list}))},{default:d(()=>[m(u(C),{class:i(r.value.indicator({class:a.ui?.indicator}))},null,8,["class"]),(o(!0),h(S,null,x(g.value,(l,n)=>(o(),c(u(q),{key:n,value:String(n),class:i(r.value.trigger({class:a.ui?.trigger}))},{default:d(()=>[m(A,{icon:l.icon,filename:l.label,class:i(r.value.triggerIcon({class:a.ui?.triggerIcon}))},null,8,["icon","filename","class"]),D("span",{class:i(r.value.triggerLabel({class:a.ui?.triggerLabel}))},R(l.label),3)]),_:2},1032,["value","class"]))),128))]),_:1},8,["class"]),(o(!0),h(S,null,x(g.value,(l,n)=>(o(),c(u(B),{key:n,value:String(n),"as-child":""},{default:d(()=>[(o(),c(j(l.component),{"hide-header":"",tabindex:"-1"}))]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue","default-value","class"]))}};export{W as default};
@@ -1 +1 @@
1
- import{a as b,aR as x,aQ as T,aP as N,a_ as C,Q as h,R as y,S as f,a4 as g,C as e,a3 as q,e as u,c as B,f as $,q as A,be as D,T as F,V as I,a9 as M,bf as P,k as V}from"./B63LIwsW.js";import{u as H}from"./DlSJ4TF_.js";const[O,E]=x("CollapsibleRoot");var S=b({__name:"CollapsibleRoot",props:{defaultOpen:{type:Boolean,required:!1,default:!1},open:{type:Boolean,required:!1,default:void 0},disabled:{type:Boolean,required:!1},unmountOnHide:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["update:open"],setup(l,{expose:i,emit:n}){const o=l,s=T(o,"open",n,{defaultValue:o.defaultOpen,passive:o.open===void 0}),{disabled:r,unmountOnHide:p}=N(o);return E({contentId:"",disabled:r,open:s,unmountOnHide:p,onOpenToggle:()=>{r.value||(s.value=!s.value)}}),i({open:s}),C(),(d,v)=>(y(),h(e(q),{as:d.as,"as-child":o.asChild,"data-state":e(s)?"open":"closed","data-disabled":e(r)?"":void 0},{default:f(()=>[g(d.$slots,"default",{open:e(s)})]),_:3},8,["as","as-child","data-state","data-disabled"]))}}),G=S,Q=b({inheritAttrs:!1,__name:"CollapsibleContent",props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["contentFound"],setup(l,{emit:i}){const n=l,o=i,t=O();t.contentId||=H(void 0,"reka-collapsible-content");const s=u(),{forwardRef:r,currentElement:p}=C(),d=u(0),v=u(0),R=B(()=>t.open.value),m=u(R.value),c=u();$(()=>[R.value,s.value?.present],async()=>{await V();const a=p.value;if(!a)return;c.value=c.value||{transitionDuration:a.style.transitionDuration,animationName:a.style.animationName},a.style.transitionDuration="0s",a.style.animationName="none";const _=a.getBoundingClientRect();v.value=_.height,d.value=_.width,m.value||(a.style.transitionDuration=c.value.transitionDuration,a.style.animationName=c.value.animationName)},{immediate:!0});const w=B(()=>m.value&&t.open.value);return A(()=>{requestAnimationFrame(()=>{m.value=!1})}),D(p,"beforematch",a=>{requestAnimationFrame(()=>{t.onOpenToggle(),o("contentFound")})}),(a,_)=>(y(),h(e(P),{ref_key:"presentRef",ref:s,present:a.forceMount||e(t).open.value,"force-mount":!0},{default:f(({present:k})=>[F(e(q),I(a.$attrs,{id:e(t).contentId,ref:e(r),"as-child":n.asChild,as:a.as,hidden:k?void 0:e(t).unmountOnHide.value?"":"until-found","data-state":w.value?void 0:e(t).open.value?"open":"closed","data-disabled":e(t).disabled?.value?"":void 0,style:{"--reka-collapsible-content-height":`${v.value}px`,"--reka-collapsible-content-width":`${d.value}px`}}),{default:f(()=>[!e(t).unmountOnHide.value||k?g(a.$slots,"default",{key:0}):M("v-if",!0)]),_:2},1040,["id","as-child","as","hidden","data-state","data-disabled","style"])]),_:3},8,["present"]))}}),J=Q,j=b({__name:"CollapsibleTrigger",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(l){const i=l;C();const n=O();return(o,t)=>(y(),h(e(q),{type:o.as==="button"?"button":void 0,as:o.as,"as-child":i.asChild,"aria-controls":e(n).contentId,"aria-expanded":e(n).open.value,"data-state":e(n).open.value?"open":"closed","data-disabled":e(n).disabled?.value?"":void 0,disabled:e(n).disabled?.value,onClick:e(n).onOpenToggle},{default:f(()=>[g(o.$slots,"default")]),_:3},8,["type","as","as-child","aria-controls","aria-expanded","data-state","data-disabled","disabled","onClick"]))}}),K=j;export{K as C,J as a,G as b};
1
+ import{a as b,aR as x,aQ as T,aP as N,a_ as C,Q as h,R as y,S as f,a4 as g,C as e,a3 as q,e as u,c as B,f as $,q as A,be as D,T as F,V as I,a9 as M,bf as P,k as V}from"./2dNDtTiv.js";import{u as H}from"./CWyMCJQH.js";const[O,E]=x("CollapsibleRoot");var S=b({__name:"CollapsibleRoot",props:{defaultOpen:{type:Boolean,required:!1,default:!1},open:{type:Boolean,required:!1,default:void 0},disabled:{type:Boolean,required:!1},unmountOnHide:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["update:open"],setup(l,{expose:i,emit:n}){const o=l,s=T(o,"open",n,{defaultValue:o.defaultOpen,passive:o.open===void 0}),{disabled:r,unmountOnHide:p}=N(o);return E({contentId:"",disabled:r,open:s,unmountOnHide:p,onOpenToggle:()=>{r.value||(s.value=!s.value)}}),i({open:s}),C(),(d,v)=>(y(),h(e(q),{as:d.as,"as-child":o.asChild,"data-state":e(s)?"open":"closed","data-disabled":e(r)?"":void 0},{default:f(()=>[g(d.$slots,"default",{open:e(s)})]),_:3},8,["as","as-child","data-state","data-disabled"]))}}),G=S,Q=b({inheritAttrs:!1,__name:"CollapsibleContent",props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["contentFound"],setup(l,{emit:i}){const n=l,o=i,t=O();t.contentId||=H(void 0,"reka-collapsible-content");const s=u(),{forwardRef:r,currentElement:p}=C(),d=u(0),v=u(0),R=B(()=>t.open.value),m=u(R.value),c=u();$(()=>[R.value,s.value?.present],async()=>{await V();const a=p.value;if(!a)return;c.value=c.value||{transitionDuration:a.style.transitionDuration,animationName:a.style.animationName},a.style.transitionDuration="0s",a.style.animationName="none";const _=a.getBoundingClientRect();v.value=_.height,d.value=_.width,m.value||(a.style.transitionDuration=c.value.transitionDuration,a.style.animationName=c.value.animationName)},{immediate:!0});const w=B(()=>m.value&&t.open.value);return A(()=>{requestAnimationFrame(()=>{m.value=!1})}),D(p,"beforematch",a=>{requestAnimationFrame(()=>{t.onOpenToggle(),o("contentFound")})}),(a,_)=>(y(),h(e(P),{ref_key:"presentRef",ref:s,present:a.forceMount||e(t).open.value,"force-mount":!0},{default:f(({present:k})=>[F(e(q),I(a.$attrs,{id:e(t).contentId,ref:e(r),"as-child":n.asChild,as:a.as,hidden:k?void 0:e(t).unmountOnHide.value?"":"until-found","data-state":w.value?void 0:e(t).open.value?"open":"closed","data-disabled":e(t).disabled?.value?"":void 0,style:{"--reka-collapsible-content-height":`${v.value}px`,"--reka-collapsible-content-width":`${d.value}px`}}),{default:f(()=>[!e(t).unmountOnHide.value||k?g(a.$slots,"default",{key:0}):M("v-if",!0)]),_:2},1040,["id","as-child","as","hidden","data-state","data-disabled","style"])]),_:3},8,["present"]))}}),J=Q,j=b({__name:"CollapsibleTrigger",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(l){const i=l;C();const n=O();return(o,t)=>(y(),h(e(q),{type:o.as==="button"?"button":void 0,as:o.as,"as-child":i.asChild,"aria-controls":e(n).contentId,"aria-expanded":e(n).open.value,"data-state":e(n).open.value?"open":"closed","data-disabled":e(n).disabled?.value?"":void 0,disabled:e(n).disabled?.value,onClick:e(n).onOpenToggle},{default:f(()=>[g(o.$slots,"default")]),_:3},8,["type","as","as-child","aria-controls","aria-expanded","data-state","data-disabled","disabled","onClick"]))}}),K=j;export{K as C,J as a,G as b};
@@ -1 +1 @@
1
- import{N as l,c as n,G as r,R as p,a4 as u,U as d,am as e}from"./B63LIwsW.js";const m={base:"bg-muted"},h={__name:"ProseThead",props:{class:{type:null,required:!1}},setup(s){const a=s,t=l(),o=n(()=>e({extend:e(m),...t.ui?.prose?.thead||{}}));return(c,i)=>(p(),r("thead",{class:d(o.value({class:a.class}))},[u(c.$slots,"default")],2))}};export{h as default};
1
+ import{N as l,c as n,G as r,R as p,a4 as u,U as d,am as e}from"./2dNDtTiv.js";const m={base:"bg-muted"},h={__name:"ProseThead",props:{class:{type:null,required:!1}},setup(s){const a=s,t=l(),o=n(()=>e({extend:e(m),...t.ui?.prose?.thead||{}}));return(c,i)=>(p(),r("thead",{class:d(o.value({class:a.class}))},[u(c.$slots,"default")],2))}};export{h as default};
@@ -1 +1 @@
1
- import{_ as R,a as V}from"./Cmdr5BNz.js";import{_ as C}from"./Cs_udj6A.js";import{a as k,G as l,R as n,a9 as w,aj as b,ak as $,ab as t,T as s,_ as U,ae as c,Q as h,S as d,af as S,aa as y,aV as B,W as D,e as N,q,C as f}from"./B63LIwsW.js";import{_ as I}from"./BsnhHCOa.js";import{_ as z}from"./myNwwtfj.js";import{f as O}from"./CWePHsZr.js";import{u as F}from"./DTu0K_pX.js";import"./hm3ShyaF.js";import"./HlbU_z9a.js";import"./qWWnsfRV.js";import"./C8ut0f5H.js";const M={class:"grid gap-4 grid-cols-2 sm:grid-cols-3 lg:grid-cols-5"},A={class:"p-4 rounded-lg bg-elevated border border-default"},L={class:"flex items-center gap-2 text-muted text-sm mb-1"},P={class:"text-2xl font-semibold"},W={class:"p-4 rounded-lg bg-elevated border border-default"},H={class:"flex items-center gap-2 text-muted text-sm mb-1"},K={class:"text-2xl font-semibold"},E={class:"p-4 rounded-lg bg-elevated border border-default"},G={class:"flex items-center gap-2 text-muted text-sm mb-1"},Q={class:"text-2xl font-semibold"},J={class:"p-4 rounded-lg bg-elevated border border-default"},X={class:"flex items-center gap-2 text-muted text-sm mb-1"},Y={class:"text-2xl font-semibold"},Z={class:"p-4 rounded-lg bg-elevated border border-default"},tt={class:"flex items-center gap-2 text-muted text-sm mb-1"},et={class:"text-2xl font-semibold"},st=k({__name:"StatCards",props:{overview:{},loading:{type:Boolean}},setup(a){function x(e){return e<.01&&e>0?"<$0.01":`$${e.toFixed(2)}`}function u(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}K`:String(e)}return(e,o)=>{const p=C,i=U;return n(),l("div",M,[a.loading?(n(),l(b,{key:0},$(5,g=>t("div",{key:g,class:"p-4 rounded-lg bg-elevated border border-default"},[s(p,{class:"h-4 w-16 mb-2"}),s(p,{class:"h-8 w-12"})])),64)):a.overview?(n(),l(b,{key:1},[t("div",A,[t("div",L,[s(i,{name:"i-lucide-circle-dot",class:"size-4"}),o[0]||(o[0]=t("span",null,"Todo",-1))]),t("p",P,c(a.overview.tasks.todoCount),1)]),t("div",W,[t("div",H,[s(i,{name:"i-lucide-loader",class:"size-4"}),o[1]||(o[1]=t("span",null,"In Progress",-1))]),t("p",K,c(a.overview.tasks.inProgressCount),1)]),t("div",E,[t("div",G,[s(i,{name:"i-lucide-dollar-sign",class:"size-4"}),o[2]||(o[2]=t("span",null,"7d Cost",-1))]),t("p",Q,c(x(a.overview.usage.totalCost7d)),1)]),t("div",J,[t("div",X,[s(i,{name:"i-lucide-zap",class:"size-4"}),o[3]||(o[3]=t("span",null,"7d API Calls",-1))]),t("p",Y,c(a.overview.usage.totalCalls7d),1)]),t("div",Z,[t("div",tt,[s(i,{name:"i-lucide-text-cursor-input",class:"size-4"}),o[4]||(o[4]=t("span",null,"7d Tokens",-1))]),t("p",et,c(u(a.overview.usage.totalInputTokens7d+a.overview.usage.totalOutputTokens7d)),1)])],64)):w("",!0)])}}}),ot=Object.assign(st,{__name:"DashboardStatCards"}),nt={class:"flex items-center justify-between"},at={class:"flex items-center gap-2"},it={key:0,class:"space-y-3"},lt={key:1,class:"text-center py-4 text-muted text-sm"},rt={key:2,class:"space-y-2"},dt={class:"text-sm truncate flex-1"},ct={key:1,class:"text-xs text-muted whitespace-nowrap"},ut=k({__name:"UpcomingTasks",props:{tasks:{},loading:{type:Boolean}},setup(a){const x={1:"Low",2:"Med",3:"High"},u={1:"neutral",2:"warning",3:"error"},e={todo:"neutral",in_progress:"primary",blocked:"error"};function o(p){if(!p)return"";const i=new Date(p),g=new Date,v=i.getTime()-g.getTime(),r=Math.ceil(v/(1e3*60*60*24));return r<0?`${Math.abs(r)}d overdue`:r===0?"Today":r===1?"Tomorrow":`${r}d`}return(p,i)=>{const g=U,v=D,r=C,_=I,T=S,j=z;return n(),h(j,null,{header:d(()=>[t("div",nt,[t("div",at,[s(g,{name:"i-lucide-check-square",class:"size-4 text-primary"}),i[0]||(i[0]=t("span",{class:"text-sm font-medium"},"Upcoming Tasks",-1))]),s(v,{to:"/tasks",variant:"ghost",size:"xs","trailing-icon":"i-lucide-arrow-right"},{default:d(()=>[...i[1]||(i[1]=[y(" View all ",-1)])]),_:1})])]),default:d(()=>[a.loading?(n(),l("div",it,[(n(),l(b,null,$(3,m=>t("div",{key:m,class:"flex items-center gap-3"},[s(r,{class:"h-5 w-5 rounded"}),s(r,{class:"h-4 flex-1"})])),64))])):a.tasks.length===0?(n(),l("div",lt," No upcoming tasks ")):(n(),l("div",rt,[(n(!0),l(b,null,$(a.tasks,m=>(n(),h(T,{key:m.id,to:{path:"/tasks",query:{selected:m.id}},class:"flex items-center gap-3 p-2 -mx-2 rounded-md hover:bg-elevated transition-colors"},{default:d(()=>[s(_,{color:e[m.status]||"neutral",variant:"subtle",size:"xs"},{default:d(()=>[y(c(m.status==="in_progress"?"WIP":m.status),1)]),_:2},1032,["color"]),t("span",dt,c(m.title),1),m.projectName?(n(),h(_,{key:0,variant:"subtle",color:"neutral",size:"xs"},{default:d(()=>[t("span",{class:"inline-block size-2 rounded-full mr-1",style:B({background:m.projectColor||"var(--ui-primary)"})},null,4),y(" "+c(m.projectName),1)]),_:2},1024)):w("",!0),s(_,{color:u[m.priority]||"neutral",variant:"soft",size:"xs"},{default:d(()=>[y(c(x[m.priority]||"Med"),1)]),_:2},1032,["color"]),m.dueDate?(n(),l("span",ct,c(o(m.dueDate)),1)):w("",!0)]),_:2},1032,["to"]))),128))]))]),_:1})}}}),mt=Object.assign(ut,{__name:"DashboardUpcomingTasks"}),_t={class:"flex items-center justify-between"},pt={class:"flex items-center gap-2"},gt={key:0,class:"space-y-3"},xt={class:"flex-1"},ft={key:1,class:"text-center py-4 text-muted text-sm"},vt={key:2,class:"space-y-2"},ht={class:"flex items-center justify-center size-8 rounded-full bg-primary/10"},bt={class:"flex-1 min-w-0"},yt={class:"text-sm font-medium truncate"},$t={class:"text-xs text-muted"},kt={class:"text-xs text-muted whitespace-nowrap"},wt=k({__name:"RecentChats",props:{conversations:{},loading:{type:Boolean}},setup(a){function x(u){return O(new Date(u),{addSuffix:!0})}return(u,e)=>{const o=U,p=D,i=C,g=S,v=z;return n(),h(v,null,{header:d(()=>[t("div",_t,[t("div",pt,[s(o,{name:"i-lucide-message-square",class:"size-4 text-primary"}),e[0]||(e[0]=t("span",{class:"text-sm font-medium"},"Recent Chats",-1))]),s(p,{to:"/chat",variant:"ghost",size:"xs","trailing-icon":"i-lucide-arrow-right"},{default:d(()=>[...e[1]||(e[1]=[y(" View all ",-1)])]),_:1})])]),default:d(()=>[a.loading?(n(),l("div",gt,[(n(),l(b,null,$(3,r=>t("div",{key:r,class:"flex items-center gap-3"},[s(i,{class:"size-8 rounded-full"}),t("div",xt,[s(i,{class:"h-4 w-32 mb-1"}),s(i,{class:"h-3 w-20"})])])),64))])):a.conversations.length===0?(n(),l("div",ft," No conversations yet ")):(n(),l("div",vt,[(n(!0),l(b,null,$(a.conversations,r=>(n(),h(g,{key:r.id,to:{path:"/chat",query:{conversation:r.id}},class:"flex items-center gap-3 p-2 -mx-2 rounded-md hover:bg-elevated transition-colors"},{default:d(()=>[t("div",ht,[s(o,{name:"i-lucide-message-square",class:"size-4 text-primary"})]),t("div",bt,[t("p",yt,c(r.title||"Untitled Chat"),1),t("p",$t,c(r.messageCount)+" messages ",1)]),t("span",kt,c(x(r.startedAt)),1)]),_:2},1032,["to"]))),128))]))]),_:1})}}}),Ct=Object.assign(wt,{__name:"DashboardRecentChats"}),Ut={class:"flex items-center justify-between"},Dt={class:"flex items-center gap-2"},zt={key:0,class:"space-y-3"},Tt={class:"flex-1"},jt={key:1,class:"text-center py-4 text-muted text-sm"},St={key:2,class:"space-y-2"},Nt={class:"flex items-center justify-center size-8 rounded bg-primary/10"},Bt={class:"flex-1 min-w-0"},It={class:"text-sm font-medium truncate"},Ot={class:"flex items-center gap-2"},Rt={key:0,class:"text-xs text-muted whitespace-nowrap"},Vt=k({__name:"RecentDocs",props:{documents:{},loading:{type:Boolean}},setup(a){function x(u){return u?O(new Date(u),{addSuffix:!0}):""}return(u,e)=>{const o=U,p=D,i=C,g=I,v=S,r=z;return n(),h(r,null,{header:d(()=>[t("div",Ut,[t("div",Dt,[s(o,{name:"i-lucide-file-text",class:"size-4 text-primary"}),e[0]||(e[0]=t("span",{class:"text-sm font-medium"},"Recent Docs",-1))]),s(p,{to:"/docs",variant:"ghost",size:"xs","trailing-icon":"i-lucide-arrow-right"},{default:d(()=>[...e[1]||(e[1]=[y(" View all ",-1)])]),_:1})])]),default:d(()=>[a.loading?(n(),l("div",zt,[(n(),l(b,null,$(3,_=>t("div",{key:_,class:"flex items-center gap-3"},[s(i,{class:"size-8 rounded"}),t("div",Tt,[s(i,{class:"h-4 w-32 mb-1"}),s(i,{class:"h-3 w-20"})])])),64))])):a.documents.length===0?(n(),l("div",jt," No documents yet ")):(n(),l("div",St,[(n(!0),l(b,null,$(a.documents,_=>(n(),h(v,{key:_.id,to:{path:"/docs",query:{path:_.path}},class:"flex items-center gap-3 p-2 -mx-2 rounded-md hover:bg-elevated transition-colors"},{default:d(()=>[t("div",Nt,[s(o,{name:"i-lucide-file-text",class:"size-4 text-primary"})]),t("div",Bt,[t("p",It,c(_.title),1),t("div",Ot,[_.projectName?(n(),h(g,{key:0,variant:"subtle",color:"neutral",size:"xs"},{default:d(()=>[t("span",{class:"inline-block size-2 rounded-full mr-1",style:B({background:_.projectColor||"var(--ui-primary)"})},null,4),y(" "+c(_.projectName),1)]),_:2},1024)):w("",!0)])]),_.modifiedAt?(n(),l("span",Rt,c(x(_.modifiedAt)),1)):w("",!0)]),_:2},1032,["to"]))),128))]))]),_:1})}}}),qt=Object.assign(Vt,{__name:"DashboardRecentDocs"}),Ft={class:"flex items-center justify-between"},Mt={class:"flex items-center gap-2"},At={key:0,class:"grid grid-cols-2 gap-4"},Lt={key:1,class:"grid grid-cols-2 gap-4"},Pt={class:"text-lg font-semibold"},Wt={class:"text-lg font-semibold"},Ht={class:"text-lg font-semibold"},Kt={class:"text-lg font-semibold"},Et=k({__name:"UsageSummary",props:{usage:{},loading:{type:Boolean}},setup(a){function x(e){return e<.01&&e>0?"<$0.01":`$${e.toFixed(2)}`}function u(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}K`:String(e)}return(e,o)=>{const p=U,i=D,g=C,v=z;return n(),h(v,null,{header:d(()=>[t("div",Ft,[t("div",Mt,[s(p,{name:"i-lucide-bar-chart-3",class:"size-4 text-primary"}),o[0]||(o[0]=t("span",{class:"text-sm font-medium"},"Token Usage (7d)",-1))]),s(i,{to:"/usage",variant:"ghost",size:"xs","trailing-icon":"i-lucide-arrow-right"},{default:d(()=>[...o[1]||(o[1]=[y(" Details ",-1)])]),_:1})])]),default:d(()=>[a.loading?(n(),l("div",At,[(n(),l(b,null,$(4,r=>t("div",{key:r},[s(g,{class:"h-3 w-12 mb-1"}),s(g,{class:"h-6 w-16"})])),64))])):(n(),l("div",Lt,[t("div",null,[o[2]||(o[2]=t("p",{class:"text-xs text-muted mb-0.5"}," Total Cost ",-1)),t("p",Pt,c(x(a.usage.totalCost7d)),1)]),t("div",null,[o[3]||(o[3]=t("p",{class:"text-xs text-muted mb-0.5"}," API Calls ",-1)),t("p",Wt,c(a.usage.totalCalls7d),1)]),t("div",null,[o[4]||(o[4]=t("p",{class:"text-xs text-muted mb-0.5"}," Input Tokens ",-1)),t("p",Ht,c(u(a.usage.totalInputTokens7d)),1)]),t("div",null,[o[5]||(o[5]=t("p",{class:"text-xs text-muted mb-0.5"}," Output Tokens ",-1)),t("p",Kt,c(u(a.usage.totalOutputTokens7d)),1)])]))]),_:1})}}}),Gt=Object.assign(Et,{__name:"DashboardUsageSummary"}),Qt={class:"contents"},Jt={class:"p-4 space-y-6"},Xt={class:"text-2xl font-bold"},Yt={class:"grid gap-6 lg:grid-cols-2"},Zt={class:"grid gap-6 lg:grid-cols-2"},ue=k({__name:"dashboard",setup(a){const{user:x}=F(),u=N(null),e=N(!0);async function o(){e.value=!0;try{const p=await $fetch("/api/dashboard/overview");u.value=p.data}catch{}finally{e.value=!1}}return q(()=>{o()}),(p,i)=>{const g=V,v=ot,r=mt,_=Ct,T=qt,j=Gt,m=R;return n(),l("div",Qt,[s(m,{id:"dashboard",grow:""},{header:d(()=>[s(g,{title:"Dashboard"})]),body:d(()=>[t("div",Jt,[t("div",null,[t("h1",Xt," Welcome back"+c(f(x)?.name?`, ${f(x).name}`:""),1),i[0]||(i[0]=t("p",{class:"text-muted mt-1 text-sm"}," Here's what's happening in your workspace. ",-1))]),s(v,{overview:f(u),loading:f(e)},null,8,["overview","loading"]),t("div",Yt,[s(r,{tasks:f(u)?.tasks.upcoming??[],loading:f(e)},null,8,["tasks","loading"]),s(_,{conversations:f(u)?.conversations??[],loading:f(e)},null,8,["conversations","loading"])]),t("div",Zt,[s(T,{documents:f(u)?.documents??[],loading:f(e)},null,8,["documents","loading"]),s(j,{usage:f(u)?.usage??{totalCost7d:0,totalCalls7d:0,totalInputTokens7d:0,totalOutputTokens7d:0},loading:f(e)},null,8,["usage","loading"])])])]),_:1})])}}});export{ue as default};
1
+ import{_ as R,a as V}from"./CqNwHCpo.js";import{_ as C}from"./BmOtR1wX.js";import{a as k,G as l,R as n,a9 as w,aj as b,ak as $,ab as t,T as s,_ as U,ae as c,Q as h,S as d,af as S,aa as y,aV as B,W as D,e as N,q,C as f}from"./2dNDtTiv.js";import{_ as I}from"./JbHa4oXq.js";import{_ as z}from"./C2vq6Te8.js";import{f as O}from"./CWePHsZr.js";import{u as F}from"./BKXg-alD.js";import"./D5jZq8b3.js";import"./DhI5cA_n.js";import"./DEd2xVbS.js";import"./C8ut0f5H.js";const M={class:"grid gap-4 grid-cols-2 sm:grid-cols-3 lg:grid-cols-5"},A={class:"p-4 rounded-lg bg-elevated border border-default"},L={class:"flex items-center gap-2 text-muted text-sm mb-1"},P={class:"text-2xl font-semibold"},W={class:"p-4 rounded-lg bg-elevated border border-default"},H={class:"flex items-center gap-2 text-muted text-sm mb-1"},K={class:"text-2xl font-semibold"},E={class:"p-4 rounded-lg bg-elevated border border-default"},G={class:"flex items-center gap-2 text-muted text-sm mb-1"},Q={class:"text-2xl font-semibold"},J={class:"p-4 rounded-lg bg-elevated border border-default"},X={class:"flex items-center gap-2 text-muted text-sm mb-1"},Y={class:"text-2xl font-semibold"},Z={class:"p-4 rounded-lg bg-elevated border border-default"},tt={class:"flex items-center gap-2 text-muted text-sm mb-1"},et={class:"text-2xl font-semibold"},st=k({__name:"StatCards",props:{overview:{},loading:{type:Boolean}},setup(a){function x(e){return e<.01&&e>0?"<$0.01":`$${e.toFixed(2)}`}function u(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}K`:String(e)}return(e,o)=>{const p=C,i=U;return n(),l("div",M,[a.loading?(n(),l(b,{key:0},$(5,g=>t("div",{key:g,class:"p-4 rounded-lg bg-elevated border border-default"},[s(p,{class:"h-4 w-16 mb-2"}),s(p,{class:"h-8 w-12"})])),64)):a.overview?(n(),l(b,{key:1},[t("div",A,[t("div",L,[s(i,{name:"i-lucide-circle-dot",class:"size-4"}),o[0]||(o[0]=t("span",null,"Todo",-1))]),t("p",P,c(a.overview.tasks.todoCount),1)]),t("div",W,[t("div",H,[s(i,{name:"i-lucide-loader",class:"size-4"}),o[1]||(o[1]=t("span",null,"In Progress",-1))]),t("p",K,c(a.overview.tasks.inProgressCount),1)]),t("div",E,[t("div",G,[s(i,{name:"i-lucide-dollar-sign",class:"size-4"}),o[2]||(o[2]=t("span",null,"7d Cost",-1))]),t("p",Q,c(x(a.overview.usage.totalCost7d)),1)]),t("div",J,[t("div",X,[s(i,{name:"i-lucide-zap",class:"size-4"}),o[3]||(o[3]=t("span",null,"7d API Calls",-1))]),t("p",Y,c(a.overview.usage.totalCalls7d),1)]),t("div",Z,[t("div",tt,[s(i,{name:"i-lucide-text-cursor-input",class:"size-4"}),o[4]||(o[4]=t("span",null,"7d Tokens",-1))]),t("p",et,c(u(a.overview.usage.totalInputTokens7d+a.overview.usage.totalOutputTokens7d)),1)])],64)):w("",!0)])}}}),ot=Object.assign(st,{__name:"DashboardStatCards"}),nt={class:"flex items-center justify-between"},at={class:"flex items-center gap-2"},it={key:0,class:"space-y-3"},lt={key:1,class:"text-center py-4 text-muted text-sm"},rt={key:2,class:"space-y-2"},dt={class:"text-sm truncate flex-1"},ct={key:1,class:"text-xs text-muted whitespace-nowrap"},ut=k({__name:"UpcomingTasks",props:{tasks:{},loading:{type:Boolean}},setup(a){const x={1:"Low",2:"Med",3:"High"},u={1:"neutral",2:"warning",3:"error"},e={todo:"neutral",in_progress:"primary",blocked:"error"};function o(p){if(!p)return"";const i=new Date(p),g=new Date,v=i.getTime()-g.getTime(),r=Math.ceil(v/(1e3*60*60*24));return r<0?`${Math.abs(r)}d overdue`:r===0?"Today":r===1?"Tomorrow":`${r}d`}return(p,i)=>{const g=U,v=D,r=C,_=I,T=S,j=z;return n(),h(j,null,{header:d(()=>[t("div",nt,[t("div",at,[s(g,{name:"i-lucide-check-square",class:"size-4 text-primary"}),i[0]||(i[0]=t("span",{class:"text-sm font-medium"},"Upcoming Tasks",-1))]),s(v,{to:"/tasks",variant:"ghost",size:"xs","trailing-icon":"i-lucide-arrow-right"},{default:d(()=>[...i[1]||(i[1]=[y(" View all ",-1)])]),_:1})])]),default:d(()=>[a.loading?(n(),l("div",it,[(n(),l(b,null,$(3,m=>t("div",{key:m,class:"flex items-center gap-3"},[s(r,{class:"h-5 w-5 rounded"}),s(r,{class:"h-4 flex-1"})])),64))])):a.tasks.length===0?(n(),l("div",lt," No upcoming tasks ")):(n(),l("div",rt,[(n(!0),l(b,null,$(a.tasks,m=>(n(),h(T,{key:m.id,to:{path:"/tasks",query:{selected:m.id}},class:"flex items-center gap-3 p-2 -mx-2 rounded-md hover:bg-elevated transition-colors"},{default:d(()=>[s(_,{color:e[m.status]||"neutral",variant:"subtle",size:"xs"},{default:d(()=>[y(c(m.status==="in_progress"?"WIP":m.status),1)]),_:2},1032,["color"]),t("span",dt,c(m.title),1),m.projectName?(n(),h(_,{key:0,variant:"subtle",color:"neutral",size:"xs"},{default:d(()=>[t("span",{class:"inline-block size-2 rounded-full mr-1",style:B({background:m.projectColor||"var(--ui-primary)"})},null,4),y(" "+c(m.projectName),1)]),_:2},1024)):w("",!0),s(_,{color:u[m.priority]||"neutral",variant:"soft",size:"xs"},{default:d(()=>[y(c(x[m.priority]||"Med"),1)]),_:2},1032,["color"]),m.dueDate?(n(),l("span",ct,c(o(m.dueDate)),1)):w("",!0)]),_:2},1032,["to"]))),128))]))]),_:1})}}}),mt=Object.assign(ut,{__name:"DashboardUpcomingTasks"}),_t={class:"flex items-center justify-between"},pt={class:"flex items-center gap-2"},gt={key:0,class:"space-y-3"},xt={class:"flex-1"},ft={key:1,class:"text-center py-4 text-muted text-sm"},vt={key:2,class:"space-y-2"},ht={class:"flex items-center justify-center size-8 rounded-full bg-primary/10"},bt={class:"flex-1 min-w-0"},yt={class:"text-sm font-medium truncate"},$t={class:"text-xs text-muted"},kt={class:"text-xs text-muted whitespace-nowrap"},wt=k({__name:"RecentChats",props:{conversations:{},loading:{type:Boolean}},setup(a){function x(u){return O(new Date(u),{addSuffix:!0})}return(u,e)=>{const o=U,p=D,i=C,g=S,v=z;return n(),h(v,null,{header:d(()=>[t("div",_t,[t("div",pt,[s(o,{name:"i-lucide-message-square",class:"size-4 text-primary"}),e[0]||(e[0]=t("span",{class:"text-sm font-medium"},"Recent Chats",-1))]),s(p,{to:"/chat",variant:"ghost",size:"xs","trailing-icon":"i-lucide-arrow-right"},{default:d(()=>[...e[1]||(e[1]=[y(" View all ",-1)])]),_:1})])]),default:d(()=>[a.loading?(n(),l("div",gt,[(n(),l(b,null,$(3,r=>t("div",{key:r,class:"flex items-center gap-3"},[s(i,{class:"size-8 rounded-full"}),t("div",xt,[s(i,{class:"h-4 w-32 mb-1"}),s(i,{class:"h-3 w-20"})])])),64))])):a.conversations.length===0?(n(),l("div",ft," No conversations yet ")):(n(),l("div",vt,[(n(!0),l(b,null,$(a.conversations,r=>(n(),h(g,{key:r.id,to:{path:"/chat",query:{conversation:r.id}},class:"flex items-center gap-3 p-2 -mx-2 rounded-md hover:bg-elevated transition-colors"},{default:d(()=>[t("div",ht,[s(o,{name:"i-lucide-message-square",class:"size-4 text-primary"})]),t("div",bt,[t("p",yt,c(r.title||"Untitled Chat"),1),t("p",$t,c(r.messageCount)+" messages ",1)]),t("span",kt,c(x(r.startedAt)),1)]),_:2},1032,["to"]))),128))]))]),_:1})}}}),Ct=Object.assign(wt,{__name:"DashboardRecentChats"}),Ut={class:"flex items-center justify-between"},Dt={class:"flex items-center gap-2"},zt={key:0,class:"space-y-3"},Tt={class:"flex-1"},jt={key:1,class:"text-center py-4 text-muted text-sm"},St={key:2,class:"space-y-2"},Nt={class:"flex items-center justify-center size-8 rounded bg-primary/10"},Bt={class:"flex-1 min-w-0"},It={class:"text-sm font-medium truncate"},Ot={class:"flex items-center gap-2"},Rt={key:0,class:"text-xs text-muted whitespace-nowrap"},Vt=k({__name:"RecentDocs",props:{documents:{},loading:{type:Boolean}},setup(a){function x(u){return u?O(new Date(u),{addSuffix:!0}):""}return(u,e)=>{const o=U,p=D,i=C,g=I,v=S,r=z;return n(),h(r,null,{header:d(()=>[t("div",Ut,[t("div",Dt,[s(o,{name:"i-lucide-file-text",class:"size-4 text-primary"}),e[0]||(e[0]=t("span",{class:"text-sm font-medium"},"Recent Docs",-1))]),s(p,{to:"/docs",variant:"ghost",size:"xs","trailing-icon":"i-lucide-arrow-right"},{default:d(()=>[...e[1]||(e[1]=[y(" View all ",-1)])]),_:1})])]),default:d(()=>[a.loading?(n(),l("div",zt,[(n(),l(b,null,$(3,_=>t("div",{key:_,class:"flex items-center gap-3"},[s(i,{class:"size-8 rounded"}),t("div",Tt,[s(i,{class:"h-4 w-32 mb-1"}),s(i,{class:"h-3 w-20"})])])),64))])):a.documents.length===0?(n(),l("div",jt," No documents yet ")):(n(),l("div",St,[(n(!0),l(b,null,$(a.documents,_=>(n(),h(v,{key:_.id,to:{path:"/docs",query:{path:_.path}},class:"flex items-center gap-3 p-2 -mx-2 rounded-md hover:bg-elevated transition-colors"},{default:d(()=>[t("div",Nt,[s(o,{name:"i-lucide-file-text",class:"size-4 text-primary"})]),t("div",Bt,[t("p",It,c(_.title),1),t("div",Ot,[_.projectName?(n(),h(g,{key:0,variant:"subtle",color:"neutral",size:"xs"},{default:d(()=>[t("span",{class:"inline-block size-2 rounded-full mr-1",style:B({background:_.projectColor||"var(--ui-primary)"})},null,4),y(" "+c(_.projectName),1)]),_:2},1024)):w("",!0)])]),_.modifiedAt?(n(),l("span",Rt,c(x(_.modifiedAt)),1)):w("",!0)]),_:2},1032,["to"]))),128))]))]),_:1})}}}),qt=Object.assign(Vt,{__name:"DashboardRecentDocs"}),Ft={class:"flex items-center justify-between"},Mt={class:"flex items-center gap-2"},At={key:0,class:"grid grid-cols-2 gap-4"},Lt={key:1,class:"grid grid-cols-2 gap-4"},Pt={class:"text-lg font-semibold"},Wt={class:"text-lg font-semibold"},Ht={class:"text-lg font-semibold"},Kt={class:"text-lg font-semibold"},Et=k({__name:"UsageSummary",props:{usage:{},loading:{type:Boolean}},setup(a){function x(e){return e<.01&&e>0?"<$0.01":`$${e.toFixed(2)}`}function u(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}K`:String(e)}return(e,o)=>{const p=U,i=D,g=C,v=z;return n(),h(v,null,{header:d(()=>[t("div",Ft,[t("div",Mt,[s(p,{name:"i-lucide-bar-chart-3",class:"size-4 text-primary"}),o[0]||(o[0]=t("span",{class:"text-sm font-medium"},"Token Usage (7d)",-1))]),s(i,{to:"/usage",variant:"ghost",size:"xs","trailing-icon":"i-lucide-arrow-right"},{default:d(()=>[...o[1]||(o[1]=[y(" Details ",-1)])]),_:1})])]),default:d(()=>[a.loading?(n(),l("div",At,[(n(),l(b,null,$(4,r=>t("div",{key:r},[s(g,{class:"h-3 w-12 mb-1"}),s(g,{class:"h-6 w-16"})])),64))])):(n(),l("div",Lt,[t("div",null,[o[2]||(o[2]=t("p",{class:"text-xs text-muted mb-0.5"}," Total Cost ",-1)),t("p",Pt,c(x(a.usage.totalCost7d)),1)]),t("div",null,[o[3]||(o[3]=t("p",{class:"text-xs text-muted mb-0.5"}," API Calls ",-1)),t("p",Wt,c(a.usage.totalCalls7d),1)]),t("div",null,[o[4]||(o[4]=t("p",{class:"text-xs text-muted mb-0.5"}," Input Tokens ",-1)),t("p",Ht,c(u(a.usage.totalInputTokens7d)),1)]),t("div",null,[o[5]||(o[5]=t("p",{class:"text-xs text-muted mb-0.5"}," Output Tokens ",-1)),t("p",Kt,c(u(a.usage.totalOutputTokens7d)),1)])]))]),_:1})}}}),Gt=Object.assign(Et,{__name:"DashboardUsageSummary"}),Qt={class:"contents"},Jt={class:"p-4 space-y-6"},Xt={class:"text-2xl font-bold"},Yt={class:"grid gap-6 lg:grid-cols-2"},Zt={class:"grid gap-6 lg:grid-cols-2"},ue=k({__name:"dashboard",setup(a){const{user:x}=F(),u=N(null),e=N(!0);async function o(){e.value=!0;try{const p=await $fetch("/api/dashboard/overview");u.value=p.data}catch{}finally{e.value=!1}}return q(()=>{o()}),(p,i)=>{const g=V,v=ot,r=mt,_=Ct,T=qt,j=Gt,m=R;return n(),l("div",Qt,[s(m,{id:"dashboard",grow:""},{header:d(()=>[s(g,{title:"Dashboard"})]),body:d(()=>[t("div",Jt,[t("div",null,[t("h1",Xt," Welcome back"+c(f(x)?.name?`, ${f(x).name}`:""),1),i[0]||(i[0]=t("p",{class:"text-muted mt-1 text-sm"}," Here's what's happening in your workspace. ",-1))]),s(v,{overview:f(u),loading:f(e)},null,8,["overview","loading"]),t("div",Yt,[s(r,{tasks:f(u)?.tasks.upcoming??[],loading:f(e)},null,8,["tasks","loading"]),s(_,{conversations:f(u)?.conversations??[],loading:f(e)},null,8,["conversations","loading"])]),t("div",Zt,[s(T,{documents:f(u)?.documents??[],loading:f(e)},null,8,["documents","loading"]),s(j,{usage:f(u)?.usage??{totalCost7d:0,totalCalls7d:0,totalInputTokens7d:0,totalOutputTokens7d:0},loading:f(e)},null,8,["usage","loading"])])])]),_:1})])}}});export{ue as default};
@@ -1 +1 @@
1
- import{ao as f,N as v,c as p,am as n,Q as m,R as t,S as y,G as l,a9 as d,U as s,a4 as i,C as g,a3 as h}from"./B63LIwsW.js";const b={slots:{root:"rounded-lg overflow-hidden",header:"p-4 sm:px-6",body:"p-4 sm:p-6",footer:"p-4 sm:px-6"},variants:{variant:{solid:{root:"bg-inverted text-inverted"},outline:{root:"bg-default ring ring-default divide-y divide-default"},soft:{root:"bg-elevated/50 divide-y divide-default"},subtle:{root:"bg-elevated/50 ring ring-default divide-y divide-default"}}},defaultVariants:{variant:"outline"}},q={__name:"UCard",props:{as:{type:null,required:!1},variant:{type:null,required:!1},class:{type:null,required:!1},ui:{type:null,required:!1}},setup(u){const e=u,o=f(),c=v(),a=p(()=>n({extend:n(b),...c.ui?.card||{}})({variant:e.variant}));return(r,C)=>(t(),m(g(h),{as:u.as,"data-slot":"root",class:s(a.value.root({class:[e.ui?.root,e.class]}))},{default:y(()=>[o.header?(t(),l("div",{key:0,"data-slot":"header",class:s(a.value.header({class:e.ui?.header}))},[i(r.$slots,"header")],2)):d("",!0),o.default?(t(),l("div",{key:1,"data-slot":"body",class:s(a.value.body({class:e.ui?.body}))},[i(r.$slots,"default")],2)):d("",!0),o.footer?(t(),l("div",{key:2,"data-slot":"footer",class:s(a.value.footer({class:e.ui?.footer}))},[i(r.$slots,"footer")],2)):d("",!0)]),_:3},8,["as","class"]))}};export{q as _};
1
+ import{ao as f,N as v,c as p,am as n,Q as m,R as t,S as y,G as l,a9 as d,U as s,a4 as i,C as g,a3 as h}from"./2dNDtTiv.js";const b={slots:{root:"rounded-lg overflow-hidden",header:"p-4 sm:px-6",body:"p-4 sm:p-6",footer:"p-4 sm:px-6"},variants:{variant:{solid:{root:"bg-inverted text-inverted"},outline:{root:"bg-default ring ring-default divide-y divide-default"},soft:{root:"bg-elevated/50 divide-y divide-default"},subtle:{root:"bg-elevated/50 ring ring-default divide-y divide-default"}}},defaultVariants:{variant:"outline"}},q={__name:"UCard",props:{as:{type:null,required:!1},variant:{type:null,required:!1},class:{type:null,required:!1},ui:{type:null,required:!1}},setup(u){const e=u,o=f(),c=v(),a=p(()=>n({extend:n(b),...c.ui?.card||{}})({variant:e.variant}));return(r,C)=>(t(),m(g(h),{as:u.as,"data-slot":"root",class:s(a.value.root({class:[e.ui?.root,e.class]}))},{default:y(()=>[o.header?(t(),l("div",{key:0,"data-slot":"header",class:s(a.value.header({class:e.ui?.header}))},[i(r.$slots,"header")],2)):d("",!0),o.default?(t(),l("div",{key:1,"data-slot":"body",class:s(a.value.body({class:e.ui?.body}))},[i(r.$slots,"default")],2)):d("",!0),o.footer?(t(),l("div",{key:2,"data-slot":"footer",class:s(a.value.footer({class:e.ui?.footer}))},[i(r.$slots,"footer")],2)):d("",!0)]),_:3},8,["as","class"]))}};export{q as _};
@@ -1 +1 @@
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};
1
+ import{_ as ae}from"./wO6z2ugJ.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"./2dNDtTiv.js";import{_ as _e,a as Ce}from"./CqNwHCpo.js";import{_ as Ie}from"./BmOtR1wX.js";import{_ as Se}from"./JbHa4oXq.js";import{_ as qe}from"./1zUTf4AP.js";import{_ as Ue}from"./DJTCT0bl.js";import{u as Te}from"./DhI5cA_n.js";import{_ as re}from"./B93pdGAW.js";import"./D5jZq8b3.js";import"./DEd2xVbS.js";import"./DmmdPt_5.js";import"./Bk6JUtIo.js";import"./BA_pRWwX.js";import"./CWyMCJQH.js";import"./BZrSPX0S.js";import"./H6JbrRBU.js";import"./DUAAXJ6Q.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 +1 @@
1
- import{a6 as Ye,a as D,aR as ce,aP as Ve,aQ as Le,e as B,c as j,a8 as Ee,a1 as pe,Q as _,R as o,S as b,a4 as C,a9 as W,C as e,G as R,aj as ae,ak as ve,V as E,f as Be,ab as ye,aM as Qe,O as Me,y as Xe,T as V,al as de,bG as Je,au as Ze,a5 as et,a_ as be,q as le,k as ue,bB as tt,a3 as X,aV as at,aN as _e,aJ as Ke,aO as Pe,bf as lt,bU as it,bo as nt,a0 as rt,a2 as ot,b6 as st,ao as ut,N as dt,aI as ct,aK as pt,aC as re,aT as Oe,aF as ft,av as gt,aw as mt,am as $e,b7 as vt,aG as yt,U as O,_ as me,ax as De,ae as oe,aa as ke,Y as se,bV as ht,bW as Re,aH as bt}from"./B63LIwsW.js";import{u as _t}from"./C6HEirAm.js";import{u as St}from"./DMy2sxuC.js";import{a as xt,b as qt,P as Ct,c as It}from"./DJoRBCVm.js";import{a as wt,u as Tt,F as kt}from"./DQd-GXKJ.js";import{u as zt}from"./D8gh62A0.js";import{u as We}from"./CrW6y2-s.js";import{f as Fe}from"./4Qy4OdWt.js";import{u as Ae}from"./DlSJ4TF_.js";function Ne(i,s=Number.NEGATIVE_INFINITY,a=Number.POSITIVE_INFINITY){return Math.min(a,Math.max(s,i))}const Bt=[" ","Enter","ArrowUp","ArrowDown"],Pt=[" ","Enter"],U=10;function he(i,s,a){return i===void 0?!1:Array.isArray(i)?i.some(t=>ze(t,s,a)):ze(i,s,a)}function ze(i,s,a){return i===void 0||s===void 0?!1:typeof i=="string"?i===s:typeof a=="function"?a(i,s):typeof a=="string"?i?.[a]===s?.[a]:Ye(i,s)}function At(i){return i==null||i===""||Array.isArray(i)&&i.length===0}const Lt={key:0,value:""},[J,He]=ce("SelectRoot");var Et=D({inheritAttrs:!1,__name:"SelectRoot",props:{open:{type:Boolean,required:!1,default:void 0},defaultOpen:{type:Boolean,required:!1},defaultValue:{type:null,required:!1},modelValue:{type:null,required:!1,default:void 0},by:{type:[String,Function],required:!1},dir:{type:String,required:!1},multiple:{type:Boolean,required:!1},autocomplete:{type:String,required:!1},disabled:{type:Boolean,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:["update:modelValue","update:open"],setup(i,{emit:s}){const a=i,t=s,{required:r,disabled:u,multiple:m,dir:S}=Ve(a),v=Le(a,"modelValue",t,{defaultValue:a.defaultValue??(m.value?[]:void 0),passive:a.modelValue===void 0,deep:!0}),y=Le(a,"open",t,{defaultValue:a.defaultOpen,passive:a.open===void 0}),k=B(),w=B(),x=B({x:0,y:0}),I=j(()=>m.value&&Array.isArray(v.value)?v.value?.length===0:Ee(v.value));pe({isProvider:!0});const c=_t(S),$=St(k),A=B(new Set),G=j(()=>Array.from(A.value).map(n=>n.value).join(";"));function M(n){if(m.value){const h=Array.isArray(v.value)?[...v.value]:[],d=h.findIndex(f=>ze(f,n,a.by));d===-1?h.push(n):h.splice(d,1),v.value=[...h]}else v.value=n}function P(n){return Array.from(A.value).find(h=>he(n,h.value,a.by))}return He({triggerElement:k,onTriggerChange:n=>{k.value=n},valueElement:w,onValueElementChange:n=>{w.value=n},contentId:"",modelValue:v,onValueChange:M,by:a.by,open:y,multiple:m,required:r,onOpenChange:n=>{y.value=n},dir:c,triggerPointerDownPosRef:x,disabled:u,isEmptyModelValue:I,optionsSet:A,onOptionAdd:n=>{const h=P(n.value);h&&A.value.delete(h),A.value.add(n)},onOptionRemove:n=>{const h=P(n.value);h&&A.value.delete(h)}}),(n,h)=>(o(),_(e(xt),null,{default:b(()=>[C(n.$slots,"default",{modelValue:e(v),open:e(y)}),e($)?(o(),_(Dt,{key:G.value,"aria-hidden":"true",tabindex:"-1",multiple:e(m),required:e(r),name:n.name,autocomplete:n.autocomplete,disabled:e(u),value:e(v)},{default:b(()=>[e(Ee)(e(v))?(o(),R("option",Lt)):W("v-if",!0),(o(!0),R(ae,null,ve(Array.from(A.value),d=>(o(),R("option",E({key:d.value??""},{ref_for:!0},d),null,16))),128))]),_:1},8,["multiple","required","name","autocomplete","disabled","value"])):W("v-if",!0)]),_:3}))}}),Ot=Et,$t=D({__name:"BubbleSelect",props:{autocomplete:{type:String,required:!1},autofocus:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},form:{type:String,required:!1},multiple:{type:Boolean,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1},size:{type:Number,required:!1},value:{type:null,required:!1}},setup(i){const s=i,a=B(),t=J();Be(()=>s.value,(u,m)=>{const S=window.HTMLSelectElement.prototype,y=Object.getOwnPropertyDescriptor(S,"value").set;if(u!==m&&y&&a.value){const k=new Event("change",{bubbles:!0});y.call(a.value,u),a.value.dispatchEvent(k)}});function r(u){t.onValueChange(u.target.value)}return(u,m)=>(o(),_(e(Qe),{"as-child":""},{default:b(()=>[ye("select",E({ref_key:"selectElement",ref:a},s,{onInput:r}),[C(u.$slots,"default")],16)]),_:3}))}}),Dt=$t,Rt=D({__name:"SelectPopperPosition",props:{side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1,default:"start"},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1,default:U},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(i){const a=Me(i);return(t,r)=>(o(),_(e(qt),E(e(a),{style:{boxSizing:"border-box","--reka-select-content-transform-origin":"var(--reka-popper-transform-origin)","--reka-select-content-available-width":"var(--reka-popper-available-width)","--reka-select-content-available-height":"var(--reka-popper-available-height)","--reka-select-trigger-width":"var(--reka-popper-anchor-width)","--reka-select-trigger-height":"var(--reka-popper-anchor-height)"}}),{default:b(()=>[C(t.$slots,"default")]),_:3},16))}}),Ft=Rt;const je={onViewportChange:()=>{},itemTextRefCallback:()=>{},itemRefCallback:()=>{}},[Se,Ge]=ce("SelectContent");var Nt=D({__name:"SelectContentImpl",props:{position:{type:String,required:!1,default:"item-aligned"},bodyLock:{type:Boolean,required:!1,default:!0},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1,default:"start"},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["closeAutoFocus","escapeKeyDown","pointerDownOutside"],setup(i,{emit:s}){const a=i,t=s,r=J();zt(),wt(a.bodyLock);const{CollectionSlot:u,getItems:m}=pe(),S=B();Tt(S);const{search:v,handleTypeaheadSearch:y}=We(),k=B(),w=B(),x=B(),I=B(!1),c=B(!1),$=B(!1);function A(){w.value&&S.value&&Fe([w.value,S.value])}Be(I,()=>{A()});const{onOpenChange:G,triggerPointerDownPosRef:M}=r;Xe(d=>{if(!S.value)return;let f={x:0,y:0};const q=z=>{f={x:Math.abs(Math.round(z.pageX)-(M.value?.x??0)),y:Math.abs(Math.round(z.pageY)-(M.value?.y??0))}},T=z=>{z.pointerType!=="touch"&&(f.x<=10&&f.y<=10?z.preventDefault():S.value?.contains(z.target)||G(!1),document.removeEventListener("pointermove",q),M.value=null)};M.value!==null&&(document.addEventListener("pointermove",q),document.addEventListener("pointerup",T,{capture:!0,once:!0})),d(()=>{document.removeEventListener("pointermove",q),document.removeEventListener("pointerup",T,{capture:!0})})});function P(d){const f=d.ctrlKey||d.altKey||d.metaKey;if(d.key==="Tab"&&d.preventDefault(),!f&&d.key.length===1&&y(d.key,m()),["ArrowUp","ArrowDown","Home","End"].includes(d.key)){let T=[...m().map(z=>z.ref)];if(["ArrowUp","End"].includes(d.key)&&(T=T.slice().reverse()),["ArrowUp","ArrowDown"].includes(d.key)){const z=d.target,Q=T.indexOf(z);T=T.slice(Q+1)}setTimeout(()=>Fe(T)),d.preventDefault()}}const n=j(()=>a.position==="popper"?a:{}),h=Me(n.value);return Ge({content:S,viewport:k,onViewportChange:d=>{k.value=d},itemRefCallback:(d,f,q)=>{const T=!c.value&&!q,z=he(r.modelValue.value,f,r.by);if(r.multiple.value){if($.value)return;(z||T)&&(w.value=d,z&&($.value=!0))}else(z||T)&&(w.value=d);T&&(c.value=!0)},selectedItem:w,selectedItemText:x,onItemLeave:()=>{S.value?.focus()},itemTextRefCallback:(d,f,q)=>{const T=!c.value&&!q;(he(r.modelValue.value,f,r.by)||T)&&(x.value=d)},focusSelectedItem:A,position:a.position,isPositioned:I,searchRef:v}),(d,f)=>(o(),_(e(u),null,{default:b(()=>[V(e(kt),{"as-child":"",onMountAutoFocus:f[6]||(f[6]=de(()=>{},["prevent"])),onUnmountAutoFocus:f[7]||(f[7]=q=>{t("closeAutoFocus",q),!q.defaultPrevented&&(e(r).triggerElement.value?.focus({preventScroll:!0}),q.preventDefault())})},{default:b(()=>[V(e(Je),{"as-child":"","disable-outside-pointer-events":"",onFocusOutside:f[2]||(f[2]=de(()=>{},["prevent"])),onDismiss:f[3]||(f[3]=q=>e(r).onOpenChange(!1)),onEscapeKeyDown:f[4]||(f[4]=q=>t("escapeKeyDown",q)),onPointerDownOutside:f[5]||(f[5]=q=>t("pointerDownOutside",q))},{default:b(()=>[(o(),_(Ze(d.position==="popper"?Ft:Wt),E({...d.$attrs,...e(h)},{id:e(r).contentId,ref:q=>{const T=e(et)(q);T?.hasAttribute("data-reka-popper-content-wrapper")?S.value=T.firstElementChild:S.value=T},role:"listbox","data-state":e(r).open.value?"open":"closed",dir:e(r).dir.value,style:{display:"flex",flexDirection:"column",outline:"none"},onContextmenu:f[0]||(f[0]=de(()=>{},["prevent"])),onPlaced:f[1]||(f[1]=q=>I.value=!0),onKeydown:P}),{default:b(()=>[C(d.$slots,"default")]),_:3},16,["id","data-state","dir","onKeydown"]))]),_:3})]),_:3})]),_:3}))}}),Vt=Nt;const[Ta,Mt]=ce("SelectItemAlignedPosition");var Kt=D({inheritAttrs:!1,__name:"SelectItemAlignedPosition",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["placed"],setup(i,{emit:s}){const a=i,t=s,{getItems:r}=pe(),u=J(),m=Se(),S=B(!1),v=B(!0),y=B(),{forwardRef:k,currentElement:w}=be(),{viewport:x,selectedItem:I,selectedItemText:c,focusSelectedItem:$}=m;function A(){if(u.triggerElement.value&&u.valueElement.value&&y.value&&w.value&&x?.value&&I?.value&&c?.value){const P=u.triggerElement.value.getBoundingClientRect(),n=w.value.getBoundingClientRect(),h=u.valueElement.value.getBoundingClientRect(),d=c.value.getBoundingClientRect();if(u.dir.value!=="rtl"){const K=d.left-n.left,l=h.left-K,N=P.left-l,Y=P.width+N,Ie=Math.max(Y,n.width),we=window.innerWidth-U,Te=Ne(l,U,Math.max(U,we-Ie));y.value.style.minWidth=`${Y}px`,y.value.style.left=`${Te}px`}else{const K=n.right-d.right,l=window.innerWidth-h.right-K,N=window.innerWidth-P.right-l,Y=P.width+N,Ie=Math.max(Y,n.width),we=window.innerWidth-U,Te=Ne(l,U,Math.max(U,we-Ie));y.value.style.minWidth=`${Y}px`,y.value.style.right=`${Te}px`}const f=r().map(K=>K.ref),q=window.innerHeight-U*2,T=x.value.scrollHeight,z=window.getComputedStyle(w.value),Q=Number.parseInt(z.borderTopWidth,10),fe=Number.parseInt(z.paddingTop,10),p=Number.parseInt(z.borderBottomWidth,10),ge=Number.parseInt(z.paddingBottom,10),ie=Q+fe+T+ge+p,xe=Math.min(I.value.offsetHeight*5,ie),ee=window.getComputedStyle(x.value),qe=Number.parseInt(ee.paddingTop,10),Ce=Number.parseInt(ee.paddingBottom,10),te=P.top+P.height/2-U,L=q-te,g=I.value.offsetHeight/2,H=I.value.offsetTop+g,F=Q+fe+H,ne=ie-F;if(F<=te){const K=I.value===f[f.length-1];y.value.style.bottom="0px";const l=w.value.clientHeight-x.value.offsetTop-x.value.offsetHeight,N=Math.max(L,g+(K?Ce:0)+l+p),Y=F+N;y.value.style.height=`${Y}px`}else{const K=I.value===f[0];y.value.style.top="0px";const N=Math.max(te,Q+x.value.offsetTop+(K?qe:0)+g)+ne;y.value.style.height=`${N}px`,x.value.scrollTop=F-te+x.value.offsetTop}y.value.style.margin=`${U}px 0`,y.value.style.minHeight=`${xe}px`,y.value.style.maxHeight=`${q}px`,t("placed"),requestAnimationFrame(()=>S.value=!0)}}const G=B("");le(async()=>{await ue(),A(),w.value&&(G.value=window.getComputedStyle(w.value).zIndex)});function M(P){P&&v.value===!0&&(A(),$?.(),v.value=!1)}return tt(u.triggerElement,()=>{A()}),Mt({contentWrapper:y,shouldExpandOnScrollRef:S,onScrollButtonChange:M}),(P,n)=>(o(),R("div",{ref_key:"contentWrapperElement",ref:y,style:at({display:"flex",flexDirection:"column",position:"fixed",zIndex:G.value})},[V(e(X),E({ref:e(k),style:{boxSizing:"border-box",maxHeight:"100%"}},{...P.$attrs,...a}),{default:b(()=>[C(P.$slots,"default")]),_:3},16)],4))}}),Wt=Kt,Ht=D({__name:"SelectArrow",props:{width:{type:Number,required:!1,default:10},height:{type:Number,required:!1,default:5},rounded:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"svg"}},setup(i){const s=i,a=J(),t=Se(je);return(r,u)=>e(a).open.value&&e(t).position==="popper"?(o(),_(e(Ct),_e(E({key:0},s)),{default:b(()=>[C(r.$slots,"default")]),_:3},16)):W("v-if",!0)}}),jt=Ht,Gt=D({inheritAttrs:!1,__name:"SelectProvider",props:{context:{type:Object,required:!0}},setup(i){return He(i.context),Ge(je),(a,t)=>C(a.$slots,"default")}}),Ut=Gt;const Yt={key:1};var Qt=D({inheritAttrs:!1,__name:"SelectContent",props:{forceMount:{type:Boolean,required:!1},position:{type:String,required:!1},bodyLock:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["closeAutoFocus","escapeKeyDown","pointerDownOutside"],setup(i,{emit:s}){const a=i,r=Ke(a,s),u=J(),m=B();le(()=>{m.value=new DocumentFragment});const S=B(),v=j(()=>a.forceMount||u.open.value),y=B(v.value);return Be(v,()=>{setTimeout(()=>y.value=v.value)}),(k,w)=>v.value||y.value||S.value?.present?(o(),_(e(lt),{key:0,ref_key:"presenceRef",ref:S,present:v.value},{default:b(()=>[V(Vt,_e(Pe({...e(r),...k.$attrs})),{default:b(()=>[C(k.$slots,"default")]),_:3},16)]),_:3},8,["present"])):m.value?(o(),R("div",Yt,[(o(),_(it,{to:m.value},[V(Ut,{context:e(u)},{default:b(()=>[C(k.$slots,"default")]),_:3},8,["context"])],8,["to"]))])):W("v-if",!0)}}),Xt=Qt;const[Jt,Zt]=ce("SelectGroup");var ea=D({__name:"SelectGroup",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(i){const s=i,a=Ae(void 0,"reka-select-group");return Zt({id:a}),(t,r)=>(o(),_(e(X),E({role:"group"},s,{"aria-labelledby":e(a)}),{default:b(()=>[C(t.$slots,"default")]),_:3},16,["aria-labelledby"]))}}),ta=ea;const[Ue,aa]=ce("SelectItem");var la=D({__name:"SelectItem",props:{value:{type:null,required:!0},disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["select"],setup(i,{emit:s}){const a=i,t=s,{disabled:r}=Ve(a),u=J(),m=Se(),{forwardRef:S,currentElement:v}=be(),{CollectionItem:y}=pe(),k=j(()=>he(u.modelValue?.value,a.value,u.by)),w=B(!1),x=B(a.textValue??""),I=Ae(void 0,"reka-select-item-text"),c="select.select";async function $(n){if(n.defaultPrevented)return;const h={originalEvent:n,value:a.value};nt(c,A,h)}async function A(n){await ue(),t("select",n),!n.defaultPrevented&&(r.value||(u.onValueChange(a.value),u.multiple.value||u.onOpenChange(!1)))}async function G(n){await ue(),!n.defaultPrevented&&(r.value?m.onItemLeave?.():n.currentTarget?.focus({preventScroll:!0}))}async function M(n){await ue(),!n.defaultPrevented&&n.currentTarget===rt()&&m.onItemLeave?.()}async function P(n){await ue(),!(n.defaultPrevented||m.searchRef?.value!==""&&n.key===" ")&&(Pt.includes(n.key)&&$(n),n.key===" "&&n.preventDefault())}if(a.value==="")throw new Error("A <SelectItem /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return le(()=>{v.value&&m.itemRefCallback(v.value,a.value,a.disabled)}),aa({value:a.value,disabled:r,textId:I,isSelected:k,onItemTextChange:n=>{x.value=((x.value||n?.textContent)??"").trim()}}),(n,h)=>(o(),_(e(y),{value:{textValue:x.value}},{default:b(()=>[V(e(X),{ref:e(S),role:"option","aria-labelledby":e(I),"data-highlighted":w.value?"":void 0,"aria-selected":k.value,"data-state":k.value?"checked":"unchecked","aria-disabled":e(r)||void 0,"data-disabled":e(r)?"":void 0,tabindex:e(r)?void 0:-1,as:n.as,"as-child":n.asChild,onFocus:h[0]||(h[0]=d=>w.value=!0),onBlur:h[1]||(h[1]=d=>w.value=!1),onPointerup:$,onPointerdown:h[2]||(h[2]=d=>{d.currentTarget.focus({preventScroll:!0})}),onTouchend:h[3]||(h[3]=de(()=>{},["prevent","stop"])),onPointermove:G,onPointerleave:M,onKeydown:P},{default:b(()=>[C(n.$slots,"default")]),_:3},8,["aria-labelledby","data-highlighted","aria-selected","data-state","aria-disabled","data-disabled","tabindex","as","as-child"])]),_:3},8,["value"]))}}),ia=la,na=D({__name:"SelectItemIndicator",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(i){const s=i,a=Ue();return(t,r)=>e(a).isSelected.value?(o(),_(e(X),E({key:0,"aria-hidden":"true"},s),{default:b(()=>[C(t.$slots,"default")]),_:3},16)):W("v-if",!0)}}),ra=na,oa=D({inheritAttrs:!1,__name:"SelectItemText",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(i){const s=i,a=J(),t=Se(),r=Ue(),{forwardRef:u,currentElement:m}=be(),S=j(()=>({value:r.value,disabled:r.disabled.value,textContent:m.value?.textContent??r.value?.toString()??""}));return le(()=>{m.value&&(r.onItemTextChange(m.value),t.itemTextRefCallback(m.value,r.value,r.disabled.value),a.onOptionAdd(S.value))}),ot(()=>{a.onOptionRemove(S.value)}),(v,y)=>(o(),_(e(X),E({id:e(r).textId,ref:e(u)},{...s,...v.$attrs}),{default:b(()=>[C(v.$slots,"default")]),_:3},16,["id"]))}}),sa=oa,ua=D({__name:"SelectLabel",props:{for:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"div"}},setup(i){const s=i,a=Jt({id:""});return(t,r)=>(o(),_(e(X),E(s,{id:e(a).id}),{default:b(()=>[C(t.$slots,"default")]),_:3},16,["id"]))}}),da=ua,ca=D({__name:"SelectPortal",props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(i){const s=i;return(a,t)=>(o(),_(e(st),_e(Pe(s)),{default:b(()=>[C(a.$slots,"default")]),_:3},16))}}),pa=ca,fa=D({__name:"SelectSeparator",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(i){const s=i;return(a,t)=>(o(),_(e(X),E({"aria-hidden":"true"},s),{default:b(()=>[C(a.$slots,"default")]),_:3},16))}}),ga=fa,ma=D({__name:"SelectTrigger",props:{disabled:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(i){const s=i,a=J(),{forwardRef:t,currentElement:r}=be(),u=j(()=>a.disabled?.value||s.disabled);a.contentId||=Ae(void 0,"reka-select-content"),le(()=>{a.onTriggerChange(r.value)});const{getItems:m}=pe(),{search:S,handleTypeaheadSearch:v,resetTypeahead:y}=We();function k(){u.value||(a.onOpenChange(!0),y())}function w(x){k(),a.triggerPointerDownPosRef.value={x:Math.round(x.pageX),y:Math.round(x.pageY)}}return(x,I)=>(o(),_(e(It),{"as-child":"",reference:x.reference},{default:b(()=>[V(e(X),{ref:e(t),role:"combobox",type:x.as==="button"?"button":void 0,"aria-controls":e(a).contentId,"aria-expanded":e(a).open.value||!1,"aria-required":e(a).required?.value,"aria-autocomplete":"none",disabled:u.value,dir:e(a)?.dir.value,"data-state":e(a)?.open.value?"open":"closed","data-disabled":u.value?"":void 0,"data-placeholder":e(At)(e(a).modelValue?.value)?"":void 0,"as-child":x.asChild,as:x.as,onClick:I[0]||(I[0]=c=>{c?.currentTarget?.focus()}),onPointerdown:I[1]||(I[1]=c=>{if(c.pointerType==="touch")return c.preventDefault();const $=c.target;$.hasPointerCapture(c.pointerId)&&$.releasePointerCapture(c.pointerId),c.button===0&&c.ctrlKey===!1&&(w(c),c.preventDefault())}),onPointerup:I[2]||(I[2]=de(c=>{c.pointerType==="touch"&&w(c)},["prevent"])),onKeydown:I[3]||(I[3]=c=>{const $=e(S)!=="";!(c.ctrlKey||c.altKey||c.metaKey)&&c.key.length===1&&$&&c.key===" "||(e(v)(c.key,e(m)()),e(Bt).includes(c.key)&&(k(),c.preventDefault()))})},{default:b(()=>[C(x.$slots,"default")]),_:3},8,["type","aria-controls","aria-expanded","aria-required","disabled","dir","data-state","data-disabled","data-placeholder","as-child","as"])]),_:3},8,["reference"]))}}),va=ma;const ya={slots:{base:["relative group rounded-md inline-flex items-center focus:outline-none disabled:cursor-not-allowed disabled:opacity-75","transition-colors"],leading:"absolute inset-y-0 start-0 flex items-center",leadingIcon:"shrink-0 text-dimmed",leadingAvatar:"shrink-0",leadingAvatarSize:"",trailing:"absolute inset-y-0 end-0 flex items-center",trailingIcon:"shrink-0 text-dimmed",value:"truncate pointer-events-none",placeholder:"truncate text-dimmed",arrow:"fill-default",content:"max-h-60 w-(--reka-select-trigger-width) bg-default shadow-lg rounded-md ring ring-default overflow-hidden data-[state=open]:animate-[scale-in_100ms_ease-out] data-[state=closed]:animate-[scale-out_100ms_ease-in] origin-(--reka-select-content-transform-origin) pointer-events-auto flex flex-col",viewport:"relative divide-y divide-default scroll-py-1 overflow-y-auto flex-1",group:"p-1 isolate",empty:"text-center text-muted",label:"font-semibold text-highlighted",separator:"-mx-1 my-1 h-px bg-border",item:["group relative w-full flex items-start select-none outline-none before:absolute before:z-[-1] before:inset-px before:rounded-md data-disabled:cursor-not-allowed data-disabled:opacity-75 text-default data-highlighted:not-data-disabled:text-highlighted data-highlighted:not-data-disabled:before:bg-elevated/50","transition-colors before:transition-colors"],itemLeadingIcon:["shrink-0 text-dimmed group-data-highlighted:not-group-data-disabled:text-default","transition-colors"],itemLeadingAvatar:"shrink-0",itemLeadingAvatarSize:"",itemLeadingChip:"shrink-0",itemLeadingChipSize:"",itemTrailing:"ms-auto inline-flex gap-1.5 items-center",itemTrailingIcon:"shrink-0",itemWrapper:"flex-1 flex flex-col min-w-0",itemLabel:"truncate",itemDescription:"truncate text-muted"},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]"},size:{xs:{base:"px-2 py-1 text-xs gap-1",leading:"ps-2",trailing:"pe-2",leadingIcon:"size-4",leadingAvatarSize:"3xs",trailingIcon:"size-4",label:"p-1 text-[10px]/3 gap-1",item:"p-1 text-xs gap-1",itemLeadingIcon:"size-4",itemLeadingAvatarSize:"3xs",itemLeadingChip:"size-4",itemLeadingChipSize:"sm",itemTrailingIcon:"size-4",empty:"p-1 text-xs"},sm:{base:"px-2.5 py-1.5 text-xs gap-1.5",leading:"ps-2.5",trailing:"pe-2.5",leadingIcon:"size-4",leadingAvatarSize:"3xs",trailingIcon:"size-4",label:"p-1.5 text-[10px]/3 gap-1.5",item:"p-1.5 text-xs gap-1.5",itemLeadingIcon:"size-4",itemLeadingAvatarSize:"3xs",itemLeadingChip:"size-4",itemLeadingChipSize:"sm",itemTrailingIcon:"size-4",empty:"p-1.5 text-xs"},md:{base:"px-2.5 py-1.5 text-sm gap-1.5",leading:"ps-2.5",trailing:"pe-2.5",leadingIcon:"size-5",leadingAvatarSize:"2xs",trailingIcon:"size-5",label:"p-1.5 text-xs gap-1.5",item:"p-1.5 text-sm gap-1.5",itemLeadingIcon:"size-5",itemLeadingAvatarSize:"2xs",itemLeadingChip:"size-5",itemLeadingChipSize:"md",itemTrailingIcon:"size-5",empty:"p-1.5 text-sm"},lg:{base:"px-3 py-2 text-sm gap-2",leading:"ps-3",trailing:"pe-3",leadingIcon:"size-5",leadingAvatarSize:"2xs",trailingIcon:"size-5",label:"p-2 text-xs gap-2",item:"p-2 text-sm gap-2",itemLeadingIcon:"size-5",itemLeadingAvatarSize:"2xs",itemLeadingChip:"size-5",itemLeadingChipSize:"md",itemTrailingIcon:"size-5",empty:"p-2 text-sm"},xl:{base:"px-3 py-2 text-base gap-2",leading:"ps-3",trailing:"pe-3",leadingIcon:"size-6",leadingAvatarSize:"xs",trailingIcon:"size-6",label:"p-2 text-sm gap-2",item:"p-2 text-base gap-2",itemLeadingIcon:"size-6",itemLeadingAvatarSize:"xs",itemLeadingChip:"size-6",itemLeadingChipSize:"lg",itemTrailingIcon:"size-6",empty:"p-2 text-base"}},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"}},compoundVariants:[{color:"primary",variant:["outline","subtle"],class:"focus:ring-2 focus:ring-inset focus:ring-primary"},{color:"secondary",variant:["outline","subtle"],class:"focus:ring-2 focus:ring-inset focus:ring-secondary"},{color:"success",variant:["outline","subtle"],class:"focus:ring-2 focus:ring-inset focus:ring-success"},{color:"info",variant:["outline","subtle"],class:"focus:ring-2 focus:ring-inset focus:ring-info"},{color:"warning",variant:["outline","subtle"],class:"focus:ring-2 focus:ring-inset focus:ring-warning"},{color:"error",variant:["outline","subtle"],class:"focus:ring-2 focus:ring-inset focus: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:ring-2 focus:ring-inset focus: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"}},ka=Object.assign({inheritAttrs:!1},{__name:"USelect",props:{id:{type:String,required:!1},placeholder:{type:String,required:!1},color:{type:null,required:!1},variant:{type:null,required:!1},size:{type:null,required:!1},trailingIcon:{type:null,required:!1},selectedIcon:{type:null,required:!1},content:{type:Object,required:!1},arrow:{type:[Boolean,Object],required:!1},portal:{type:[Boolean,String],required:!1,skipCheck:!0,default:!0},valueKey:{type:null,required:!1,default:"value"},labelKey:{type:null,required:!1,default:"label"},descriptionKey:{type:null,required:!1,default:"description"},items:{type:null,required:!1},defaultValue:{type:null,required:!1},modelValue:{type:null,required:!1},modelModifiers:{type:Object,required:!1},multiple:{type:Boolean,required:!1},highlight:{type:Boolean,required:!1},autofocus:{type:Boolean,required:!1},autofocusDelay:{type:Number,required:!1,default:0},class:{type:null,required:!1},ui:{type:null,required:!1},open:{type:Boolean,required:!1},defaultOpen:{type:Boolean,required:!1},autocomplete:{type:String,required:!1},disabled:{type:Boolean,required:!1},name:{type:String,required:!1},required:{type:Boolean,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},loading:{type:Boolean,required:!1},loadingIcon:{type:null,required:!1}},emits:["update:open","change","blur","focus","update:modelValue"],setup(i,{expose:s,emit:a}){const t=i,r=a,u=ut(),m=dt(),S=Ke(ct(t,"open","defaultOpen","disabled","autocomplete","required","multiple"),r),v=pt(re(()=>t.portal)),y=re(()=>Oe(t.content,{side:"bottom",sideOffset:8,collisionPadding:8,position:"popper"})),k=re(()=>t.arrow),{emitFormChange:w,emitFormInput:x,emitFormBlur:I,emitFormFocus:c,size:$,color:A,id:G,name:M,highlight:P,disabled:n,ariaAttrs:h}=ft(t),{orientation:d,size:f}=gt(t),{isLeading:q,isTrailing:T,leadingIconName:z,trailingIconName:Q}=mt(re(()=>Oe(t,{trailingIcon:m.ui.icons.chevronDown}))),fe=j(()=>f.value||$.value),p=j(()=>$e({extend:$e(ya),...m.ui?.select||{}})({color:A.value,variant:t.variant,size:fe?.value,loading:t.loading,highlight:P.value,leading:q.value||!!t.avatar||!!u.leading,trailing:T.value||!!u.trailing,fieldGroup:d.value})),ge=j(()=>t.items?.length?vt(t.items)?t.items:[t.items]:[]),ie=j(()=>ge.value.flatMap(g=>g));function xe(g){if(t.multiple&&Array.isArray(g)){const H=g.map(F=>Re(ie.value,F,{labelKey:t.labelKey,valueKey:t.valueKey})).filter(F=>F!=null&&F!=="");return H.length>0?H.join(", "):void 0}return Re(ie.value,g,{labelKey:t.labelKey,valueKey:t.valueKey})}const ee=yt("triggerRef");function qe(){t.autofocus&&ee.value?.$el?.focus({focusVisible:!0})}le(()=>{setTimeout(()=>{qe()},t.autofocusDelay)});function Ce(g){t.modelModifiers?.trim&&(g=g?.trim()??null),t.modelModifiers?.number&&(g=bt(g)),t.modelModifiers?.nullable&&(g??=null),t.modelModifiers?.optional&&(g??=void 0);const H=new Event("change",{target:{value:g}});r("change",H),w(),x()}function te(g){if(g){const H=new FocusEvent("focus");r("focus",H),c()}else{const H=new FocusEvent("blur");r("blur",H),I()}}function L(g){return typeof g=="object"&&g!==null}return s({triggerRef:re(()=>ee.value?.$el)}),(g,H)=>(o(),_(e(Ot),E({name:e(M)},e(S),{autocomplete:i.autocomplete,disabled:e(n),"default-value":i.defaultValue,"model-value":i.modelValue,"onUpdate:modelValue":Ce,"onUpdate:open":te}),{default:b(({modelValue:F,open:ne})=>[V(e(va),E({id:e(G),ref_key:"triggerRef",ref:ee,"data-slot":"base",class:p.value.base({class:[t.ui?.base,t.class]})},{...g.$attrs,...e(h)}),{default:b(()=>[e(q)||i.avatar||u.leading?(o(),R("span",{key:0,"data-slot":"leading",class:O(p.value.leading({class:t.ui?.leading}))},[C(g.$slots,"leading",{modelValue:F,open:ne,ui:p.value},()=>[e(q)&&e(z)?(o(),_(me,{key:0,name:e(z),"data-slot":"leadingIcon",class:O(p.value.leadingIcon({class:t.ui?.leadingIcon}))},null,8,["name","class"])):i.avatar?(o(),_(De,E({key:1,size:t.ui?.itemLeadingAvatarSize||p.value.itemLeadingAvatarSize()},i.avatar,{"data-slot":"itemLeadingAvatar",class:p.value.itemLeadingAvatar({class:t.ui?.itemLeadingAvatar})}),null,16,["size","class"])):W("",!0)])],2)):W("",!0),C(g.$slots,"default",{modelValue:F,open:ne,ui:p.value},()=>[(o(!0),R(ae,null,ve([xe(F)],Z=>(o(),R(ae,{key:Z},[Z!=null?(o(),R("span",{key:0,"data-slot":"value",class:O(p.value.value({class:t.ui?.value}))},oe(Z),3)):(o(),R("span",{key:1,"data-slot":"placeholder",class:O(p.value.placeholder({class:t.ui?.placeholder}))},oe(i.placeholder??" "),3))],64))),128))]),e(T)||u.trailing?(o(),R("span",{key:1,"data-slot":"trailing",class:O(p.value.trailing({class:t.ui?.trailing}))},[C(g.$slots,"trailing",{modelValue:F,open:ne,ui:p.value},()=>[e(Q)?(o(),_(me,{key:0,name:e(Q),"data-slot":"trailingIcon",class:O(p.value.trailingIcon({class:t.ui?.trailingIcon}))},null,8,["name","class"])):W("",!0)])],2)):W("",!0)]),_:2},1040,["id","class"]),V(e(pa),_e(Pe(e(v))),{default:b(()=>[V(e(Xt),E({"data-slot":"content",class:p.value.content({class:t.ui?.content})},y.value),{default:b(()=>[C(g.$slots,"content-top"),ye("div",{role:"presentation","data-slot":"viewport",class:O(p.value.viewport({class:t.ui?.viewport}))},[(o(!0),R(ae,null,ve(ge.value,(Z,K)=>(o(),_(e(ta),{key:`group-${K}`,"data-slot":"group",class:O(p.value.group({class:t.ui?.group}))},{default:b(()=>[(o(!0),R(ae,null,ve(Z,(l,N)=>(o(),R(ae,{key:`group-${K}-${N}`},[L(l)&&l.type==="label"?(o(),_(e(da),{key:0,"data-slot":"label",class:O(p.value.label({class:[t.ui?.label,l.ui?.label,l.class]}))},{default:b(()=>[ke(oe(e(se)(l,t.labelKey)),1)]),_:2},1032,["class"])):L(l)&&l.type==="separator"?(o(),_(e(ga),{key:1,"data-slot":"separator",class:O(p.value.separator({class:[t.ui?.separator,l.ui?.separator,l.class]}))},null,8,["class"])):(o(),_(e(ia),{key:2,"data-slot":"item",class:O(p.value.item({class:[t.ui?.item,L(l)&&l.ui?.item,L(l)&&l.class]})),disabled:L(l)&&l.disabled,value:L(l)?e(se)(l,t.valueKey):l,onSelect:Y=>L(l)&&l.onSelect?.(Y)},{default:b(()=>[C(g.$slots,"item",{item:l,index:N,ui:p.value},()=>[C(g.$slots,"item-leading",{item:l,index:N,ui:p.value},()=>[L(l)&&l.icon?(o(),_(me,{key:0,name:l.icon,"data-slot":"itemLeadingIcon",class:O(p.value.itemLeadingIcon({class:[t.ui?.itemLeadingIcon,l.ui?.itemLeadingIcon]}))},null,8,["name","class"])):L(l)&&l.avatar?(o(),_(De,E({key:1,size:l.ui?.itemLeadingAvatarSize||t.ui?.itemLeadingAvatarSize||p.value.itemLeadingAvatarSize()},{ref_for:!0},l.avatar,{"data-slot":"itemLeadingAvatar",class:p.value.itemLeadingAvatar({class:[t.ui?.itemLeadingAvatar,l.ui?.itemLeadingAvatar]})}),null,16,["size","class"])):L(l)&&l.chip?(o(),_(ht,E({key:2,size:l.ui?.itemLeadingChipSize||t.ui?.itemLeadingChipSize||p.value.itemLeadingChipSize(),inset:"",standalone:""},{ref_for:!0},l.chip,{"data-slot":"itemLeadingChip",class:p.value.itemLeadingChip({class:[t.ui?.itemLeadingChip,l.ui?.itemLeadingChip]})}),null,16,["size","class"])):W("",!0)]),ye("span",{"data-slot":"itemWrapper",class:O(p.value.itemWrapper({class:[t.ui?.itemWrapper,L(l)&&l.ui?.itemWrapper]}))},[V(e(sa),{"data-slot":"itemLabel",class:O(p.value.itemLabel({class:[t.ui?.itemLabel,L(l)&&l.ui?.itemLabel]}))},{default:b(()=>[C(g.$slots,"item-label",{item:l,index:N},()=>[ke(oe(L(l)?e(se)(l,t.labelKey):l),1)])]),_:2},1032,["class"]),L(l)&&(e(se)(l,t.descriptionKey)||u["item-description"])?(o(),R("span",{key:0,"data-slot":"itemDescription",class:O(p.value.itemDescription({class:[t.ui?.itemDescription,L(l)&&l.ui?.itemDescription]}))},[C(g.$slots,"item-description",{item:l,index:N},()=>[ke(oe(e(se)(l,t.descriptionKey)),1)])],2)):W("",!0)],2),ye("span",{"data-slot":"itemTrailing",class:O(p.value.itemTrailing({class:[t.ui?.itemTrailing,L(l)&&l.ui?.itemTrailing]}))},[C(g.$slots,"item-trailing",{item:l,index:N,ui:p.value}),V(e(ra),{"as-child":""},{default:b(()=>[V(me,{name:i.selectedIcon||e(m).ui.icons.check,"data-slot":"itemTrailingIcon",class:O(p.value.itemTrailingIcon({class:[t.ui?.itemTrailingIcon,L(l)&&l.ui?.itemTrailingIcon]}))},null,8,["name","class"])]),_:2},1024)],2)])]),_:2},1032,["class","disabled","value","onSelect"]))],64))),128))]),_:2},1032,["class"]))),128))],2),C(g.$slots,"content-bottom"),i.arrow?(o(),_(e(jt),E({key:0},k.value,{"data-slot":"arrow",class:p.value.arrow({class:t.ui?.arrow})}),null,16,["class"])):W("",!0)]),_:3},16,["class"])]),_:3},16)]),_:3},16,["name","autocomplete","disabled","default-value","model-value"]))}});export{ka as _};
1
+ import{a6 as Ye,a as D,aR as ce,aP as Ve,aQ as Le,e as B,c as j,a8 as Ee,a1 as pe,Q as _,R as o,S as b,a4 as C,a9 as W,C as e,G as R,aj as ae,ak as ve,V as E,f as Be,ab as ye,aM as Qe,O as Me,y as Xe,T as V,al as de,bG as Je,au as Ze,a5 as et,a_ as be,q as le,k as ue,bB as tt,a3 as X,aV as at,aN as _e,aJ as Ke,aO as Pe,bf as lt,bU as it,bo as nt,a0 as rt,a2 as ot,b6 as st,ao as ut,N as dt,aI as ct,aK as pt,aC as re,aT as Oe,aF as ft,av as gt,aw as mt,am as $e,b7 as vt,aG as yt,U as O,_ as me,ax as De,ae as oe,aa as ke,Y as se,bV as ht,bW as Re,aH as bt}from"./2dNDtTiv.js";import{u as _t}from"./BIXrSYwR.js";import{u as St}from"./DmmdPt_5.js";import{a as xt,b as qt,P as Ct,c as It}from"./apYB9dr5.js";import{a as wt,u as Tt,F as kt}from"./H6JbrRBU.js";import{u as zt}from"./Db4KMnt8.js";import{u as We}from"./CQqCBrXj.js";import{f as Fe}from"./DUAAXJ6Q.js";import{u as Ae}from"./CWyMCJQH.js";function Ne(i,s=Number.NEGATIVE_INFINITY,a=Number.POSITIVE_INFINITY){return Math.min(a,Math.max(s,i))}const Bt=[" ","Enter","ArrowUp","ArrowDown"],Pt=[" ","Enter"],U=10;function he(i,s,a){return i===void 0?!1:Array.isArray(i)?i.some(t=>ze(t,s,a)):ze(i,s,a)}function ze(i,s,a){return i===void 0||s===void 0?!1:typeof i=="string"?i===s:typeof a=="function"?a(i,s):typeof a=="string"?i?.[a]===s?.[a]:Ye(i,s)}function At(i){return i==null||i===""||Array.isArray(i)&&i.length===0}const Lt={key:0,value:""},[J,He]=ce("SelectRoot");var Et=D({inheritAttrs:!1,__name:"SelectRoot",props:{open:{type:Boolean,required:!1,default:void 0},defaultOpen:{type:Boolean,required:!1},defaultValue:{type:null,required:!1},modelValue:{type:null,required:!1,default:void 0},by:{type:[String,Function],required:!1},dir:{type:String,required:!1},multiple:{type:Boolean,required:!1},autocomplete:{type:String,required:!1},disabled:{type:Boolean,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:["update:modelValue","update:open"],setup(i,{emit:s}){const a=i,t=s,{required:r,disabled:u,multiple:m,dir:S}=Ve(a),v=Le(a,"modelValue",t,{defaultValue:a.defaultValue??(m.value?[]:void 0),passive:a.modelValue===void 0,deep:!0}),y=Le(a,"open",t,{defaultValue:a.defaultOpen,passive:a.open===void 0}),k=B(),w=B(),x=B({x:0,y:0}),I=j(()=>m.value&&Array.isArray(v.value)?v.value?.length===0:Ee(v.value));pe({isProvider:!0});const c=_t(S),$=St(k),A=B(new Set),G=j(()=>Array.from(A.value).map(n=>n.value).join(";"));function M(n){if(m.value){const h=Array.isArray(v.value)?[...v.value]:[],d=h.findIndex(f=>ze(f,n,a.by));d===-1?h.push(n):h.splice(d,1),v.value=[...h]}else v.value=n}function P(n){return Array.from(A.value).find(h=>he(n,h.value,a.by))}return He({triggerElement:k,onTriggerChange:n=>{k.value=n},valueElement:w,onValueElementChange:n=>{w.value=n},contentId:"",modelValue:v,onValueChange:M,by:a.by,open:y,multiple:m,required:r,onOpenChange:n=>{y.value=n},dir:c,triggerPointerDownPosRef:x,disabled:u,isEmptyModelValue:I,optionsSet:A,onOptionAdd:n=>{const h=P(n.value);h&&A.value.delete(h),A.value.add(n)},onOptionRemove:n=>{const h=P(n.value);h&&A.value.delete(h)}}),(n,h)=>(o(),_(e(xt),null,{default:b(()=>[C(n.$slots,"default",{modelValue:e(v),open:e(y)}),e($)?(o(),_(Dt,{key:G.value,"aria-hidden":"true",tabindex:"-1",multiple:e(m),required:e(r),name:n.name,autocomplete:n.autocomplete,disabled:e(u),value:e(v)},{default:b(()=>[e(Ee)(e(v))?(o(),R("option",Lt)):W("v-if",!0),(o(!0),R(ae,null,ve(Array.from(A.value),d=>(o(),R("option",E({key:d.value??""},{ref_for:!0},d),null,16))),128))]),_:1},8,["multiple","required","name","autocomplete","disabled","value"])):W("v-if",!0)]),_:3}))}}),Ot=Et,$t=D({__name:"BubbleSelect",props:{autocomplete:{type:String,required:!1},autofocus:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},form:{type:String,required:!1},multiple:{type:Boolean,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1},size:{type:Number,required:!1},value:{type:null,required:!1}},setup(i){const s=i,a=B(),t=J();Be(()=>s.value,(u,m)=>{const S=window.HTMLSelectElement.prototype,y=Object.getOwnPropertyDescriptor(S,"value").set;if(u!==m&&y&&a.value){const k=new Event("change",{bubbles:!0});y.call(a.value,u),a.value.dispatchEvent(k)}});function r(u){t.onValueChange(u.target.value)}return(u,m)=>(o(),_(e(Qe),{"as-child":""},{default:b(()=>[ye("select",E({ref_key:"selectElement",ref:a},s,{onInput:r}),[C(u.$slots,"default")],16)]),_:3}))}}),Dt=$t,Rt=D({__name:"SelectPopperPosition",props:{side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1,default:"start"},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1,default:U},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(i){const a=Me(i);return(t,r)=>(o(),_(e(qt),E(e(a),{style:{boxSizing:"border-box","--reka-select-content-transform-origin":"var(--reka-popper-transform-origin)","--reka-select-content-available-width":"var(--reka-popper-available-width)","--reka-select-content-available-height":"var(--reka-popper-available-height)","--reka-select-trigger-width":"var(--reka-popper-anchor-width)","--reka-select-trigger-height":"var(--reka-popper-anchor-height)"}}),{default:b(()=>[C(t.$slots,"default")]),_:3},16))}}),Ft=Rt;const je={onViewportChange:()=>{},itemTextRefCallback:()=>{},itemRefCallback:()=>{}},[Se,Ge]=ce("SelectContent");var Nt=D({__name:"SelectContentImpl",props:{position:{type:String,required:!1,default:"item-aligned"},bodyLock:{type:Boolean,required:!1,default:!0},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1,default:"start"},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["closeAutoFocus","escapeKeyDown","pointerDownOutside"],setup(i,{emit:s}){const a=i,t=s,r=J();zt(),wt(a.bodyLock);const{CollectionSlot:u,getItems:m}=pe(),S=B();Tt(S);const{search:v,handleTypeaheadSearch:y}=We(),k=B(),w=B(),x=B(),I=B(!1),c=B(!1),$=B(!1);function A(){w.value&&S.value&&Fe([w.value,S.value])}Be(I,()=>{A()});const{onOpenChange:G,triggerPointerDownPosRef:M}=r;Xe(d=>{if(!S.value)return;let f={x:0,y:0};const q=z=>{f={x:Math.abs(Math.round(z.pageX)-(M.value?.x??0)),y:Math.abs(Math.round(z.pageY)-(M.value?.y??0))}},T=z=>{z.pointerType!=="touch"&&(f.x<=10&&f.y<=10?z.preventDefault():S.value?.contains(z.target)||G(!1),document.removeEventListener("pointermove",q),M.value=null)};M.value!==null&&(document.addEventListener("pointermove",q),document.addEventListener("pointerup",T,{capture:!0,once:!0})),d(()=>{document.removeEventListener("pointermove",q),document.removeEventListener("pointerup",T,{capture:!0})})});function P(d){const f=d.ctrlKey||d.altKey||d.metaKey;if(d.key==="Tab"&&d.preventDefault(),!f&&d.key.length===1&&y(d.key,m()),["ArrowUp","ArrowDown","Home","End"].includes(d.key)){let T=[...m().map(z=>z.ref)];if(["ArrowUp","End"].includes(d.key)&&(T=T.slice().reverse()),["ArrowUp","ArrowDown"].includes(d.key)){const z=d.target,Q=T.indexOf(z);T=T.slice(Q+1)}setTimeout(()=>Fe(T)),d.preventDefault()}}const n=j(()=>a.position==="popper"?a:{}),h=Me(n.value);return Ge({content:S,viewport:k,onViewportChange:d=>{k.value=d},itemRefCallback:(d,f,q)=>{const T=!c.value&&!q,z=he(r.modelValue.value,f,r.by);if(r.multiple.value){if($.value)return;(z||T)&&(w.value=d,z&&($.value=!0))}else(z||T)&&(w.value=d);T&&(c.value=!0)},selectedItem:w,selectedItemText:x,onItemLeave:()=>{S.value?.focus()},itemTextRefCallback:(d,f,q)=>{const T=!c.value&&!q;(he(r.modelValue.value,f,r.by)||T)&&(x.value=d)},focusSelectedItem:A,position:a.position,isPositioned:I,searchRef:v}),(d,f)=>(o(),_(e(u),null,{default:b(()=>[V(e(kt),{"as-child":"",onMountAutoFocus:f[6]||(f[6]=de(()=>{},["prevent"])),onUnmountAutoFocus:f[7]||(f[7]=q=>{t("closeAutoFocus",q),!q.defaultPrevented&&(e(r).triggerElement.value?.focus({preventScroll:!0}),q.preventDefault())})},{default:b(()=>[V(e(Je),{"as-child":"","disable-outside-pointer-events":"",onFocusOutside:f[2]||(f[2]=de(()=>{},["prevent"])),onDismiss:f[3]||(f[3]=q=>e(r).onOpenChange(!1)),onEscapeKeyDown:f[4]||(f[4]=q=>t("escapeKeyDown",q)),onPointerDownOutside:f[5]||(f[5]=q=>t("pointerDownOutside",q))},{default:b(()=>[(o(),_(Ze(d.position==="popper"?Ft:Wt),E({...d.$attrs,...e(h)},{id:e(r).contentId,ref:q=>{const T=e(et)(q);T?.hasAttribute("data-reka-popper-content-wrapper")?S.value=T.firstElementChild:S.value=T},role:"listbox","data-state":e(r).open.value?"open":"closed",dir:e(r).dir.value,style:{display:"flex",flexDirection:"column",outline:"none"},onContextmenu:f[0]||(f[0]=de(()=>{},["prevent"])),onPlaced:f[1]||(f[1]=q=>I.value=!0),onKeydown:P}),{default:b(()=>[C(d.$slots,"default")]),_:3},16,["id","data-state","dir","onKeydown"]))]),_:3})]),_:3})]),_:3}))}}),Vt=Nt;const[Ta,Mt]=ce("SelectItemAlignedPosition");var Kt=D({inheritAttrs:!1,__name:"SelectItemAlignedPosition",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["placed"],setup(i,{emit:s}){const a=i,t=s,{getItems:r}=pe(),u=J(),m=Se(),S=B(!1),v=B(!0),y=B(),{forwardRef:k,currentElement:w}=be(),{viewport:x,selectedItem:I,selectedItemText:c,focusSelectedItem:$}=m;function A(){if(u.triggerElement.value&&u.valueElement.value&&y.value&&w.value&&x?.value&&I?.value&&c?.value){const P=u.triggerElement.value.getBoundingClientRect(),n=w.value.getBoundingClientRect(),h=u.valueElement.value.getBoundingClientRect(),d=c.value.getBoundingClientRect();if(u.dir.value!=="rtl"){const K=d.left-n.left,l=h.left-K,N=P.left-l,Y=P.width+N,Ie=Math.max(Y,n.width),we=window.innerWidth-U,Te=Ne(l,U,Math.max(U,we-Ie));y.value.style.minWidth=`${Y}px`,y.value.style.left=`${Te}px`}else{const K=n.right-d.right,l=window.innerWidth-h.right-K,N=window.innerWidth-P.right-l,Y=P.width+N,Ie=Math.max(Y,n.width),we=window.innerWidth-U,Te=Ne(l,U,Math.max(U,we-Ie));y.value.style.minWidth=`${Y}px`,y.value.style.right=`${Te}px`}const f=r().map(K=>K.ref),q=window.innerHeight-U*2,T=x.value.scrollHeight,z=window.getComputedStyle(w.value),Q=Number.parseInt(z.borderTopWidth,10),fe=Number.parseInt(z.paddingTop,10),p=Number.parseInt(z.borderBottomWidth,10),ge=Number.parseInt(z.paddingBottom,10),ie=Q+fe+T+ge+p,xe=Math.min(I.value.offsetHeight*5,ie),ee=window.getComputedStyle(x.value),qe=Number.parseInt(ee.paddingTop,10),Ce=Number.parseInt(ee.paddingBottom,10),te=P.top+P.height/2-U,L=q-te,g=I.value.offsetHeight/2,H=I.value.offsetTop+g,F=Q+fe+H,ne=ie-F;if(F<=te){const K=I.value===f[f.length-1];y.value.style.bottom="0px";const l=w.value.clientHeight-x.value.offsetTop-x.value.offsetHeight,N=Math.max(L,g+(K?Ce:0)+l+p),Y=F+N;y.value.style.height=`${Y}px`}else{const K=I.value===f[0];y.value.style.top="0px";const N=Math.max(te,Q+x.value.offsetTop+(K?qe:0)+g)+ne;y.value.style.height=`${N}px`,x.value.scrollTop=F-te+x.value.offsetTop}y.value.style.margin=`${U}px 0`,y.value.style.minHeight=`${xe}px`,y.value.style.maxHeight=`${q}px`,t("placed"),requestAnimationFrame(()=>S.value=!0)}}const G=B("");le(async()=>{await ue(),A(),w.value&&(G.value=window.getComputedStyle(w.value).zIndex)});function M(P){P&&v.value===!0&&(A(),$?.(),v.value=!1)}return tt(u.triggerElement,()=>{A()}),Mt({contentWrapper:y,shouldExpandOnScrollRef:S,onScrollButtonChange:M}),(P,n)=>(o(),R("div",{ref_key:"contentWrapperElement",ref:y,style:at({display:"flex",flexDirection:"column",position:"fixed",zIndex:G.value})},[V(e(X),E({ref:e(k),style:{boxSizing:"border-box",maxHeight:"100%"}},{...P.$attrs,...a}),{default:b(()=>[C(P.$slots,"default")]),_:3},16)],4))}}),Wt=Kt,Ht=D({__name:"SelectArrow",props:{width:{type:Number,required:!1,default:10},height:{type:Number,required:!1,default:5},rounded:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"svg"}},setup(i){const s=i,a=J(),t=Se(je);return(r,u)=>e(a).open.value&&e(t).position==="popper"?(o(),_(e(Ct),_e(E({key:0},s)),{default:b(()=>[C(r.$slots,"default")]),_:3},16)):W("v-if",!0)}}),jt=Ht,Gt=D({inheritAttrs:!1,__name:"SelectProvider",props:{context:{type:Object,required:!0}},setup(i){return He(i.context),Ge(je),(a,t)=>C(a.$slots,"default")}}),Ut=Gt;const Yt={key:1};var Qt=D({inheritAttrs:!1,__name:"SelectContent",props:{forceMount:{type:Boolean,required:!1},position:{type:String,required:!1},bodyLock:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["closeAutoFocus","escapeKeyDown","pointerDownOutside"],setup(i,{emit:s}){const a=i,r=Ke(a,s),u=J(),m=B();le(()=>{m.value=new DocumentFragment});const S=B(),v=j(()=>a.forceMount||u.open.value),y=B(v.value);return Be(v,()=>{setTimeout(()=>y.value=v.value)}),(k,w)=>v.value||y.value||S.value?.present?(o(),_(e(lt),{key:0,ref_key:"presenceRef",ref:S,present:v.value},{default:b(()=>[V(Vt,_e(Pe({...e(r),...k.$attrs})),{default:b(()=>[C(k.$slots,"default")]),_:3},16)]),_:3},8,["present"])):m.value?(o(),R("div",Yt,[(o(),_(it,{to:m.value},[V(Ut,{context:e(u)},{default:b(()=>[C(k.$slots,"default")]),_:3},8,["context"])],8,["to"]))])):W("v-if",!0)}}),Xt=Qt;const[Jt,Zt]=ce("SelectGroup");var ea=D({__name:"SelectGroup",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(i){const s=i,a=Ae(void 0,"reka-select-group");return Zt({id:a}),(t,r)=>(o(),_(e(X),E({role:"group"},s,{"aria-labelledby":e(a)}),{default:b(()=>[C(t.$slots,"default")]),_:3},16,["aria-labelledby"]))}}),ta=ea;const[Ue,aa]=ce("SelectItem");var la=D({__name:"SelectItem",props:{value:{type:null,required:!0},disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["select"],setup(i,{emit:s}){const a=i,t=s,{disabled:r}=Ve(a),u=J(),m=Se(),{forwardRef:S,currentElement:v}=be(),{CollectionItem:y}=pe(),k=j(()=>he(u.modelValue?.value,a.value,u.by)),w=B(!1),x=B(a.textValue??""),I=Ae(void 0,"reka-select-item-text"),c="select.select";async function $(n){if(n.defaultPrevented)return;const h={originalEvent:n,value:a.value};nt(c,A,h)}async function A(n){await ue(),t("select",n),!n.defaultPrevented&&(r.value||(u.onValueChange(a.value),u.multiple.value||u.onOpenChange(!1)))}async function G(n){await ue(),!n.defaultPrevented&&(r.value?m.onItemLeave?.():n.currentTarget?.focus({preventScroll:!0}))}async function M(n){await ue(),!n.defaultPrevented&&n.currentTarget===rt()&&m.onItemLeave?.()}async function P(n){await ue(),!(n.defaultPrevented||m.searchRef?.value!==""&&n.key===" ")&&(Pt.includes(n.key)&&$(n),n.key===" "&&n.preventDefault())}if(a.value==="")throw new Error("A <SelectItem /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return le(()=>{v.value&&m.itemRefCallback(v.value,a.value,a.disabled)}),aa({value:a.value,disabled:r,textId:I,isSelected:k,onItemTextChange:n=>{x.value=((x.value||n?.textContent)??"").trim()}}),(n,h)=>(o(),_(e(y),{value:{textValue:x.value}},{default:b(()=>[V(e(X),{ref:e(S),role:"option","aria-labelledby":e(I),"data-highlighted":w.value?"":void 0,"aria-selected":k.value,"data-state":k.value?"checked":"unchecked","aria-disabled":e(r)||void 0,"data-disabled":e(r)?"":void 0,tabindex:e(r)?void 0:-1,as:n.as,"as-child":n.asChild,onFocus:h[0]||(h[0]=d=>w.value=!0),onBlur:h[1]||(h[1]=d=>w.value=!1),onPointerup:$,onPointerdown:h[2]||(h[2]=d=>{d.currentTarget.focus({preventScroll:!0})}),onTouchend:h[3]||(h[3]=de(()=>{},["prevent","stop"])),onPointermove:G,onPointerleave:M,onKeydown:P},{default:b(()=>[C(n.$slots,"default")]),_:3},8,["aria-labelledby","data-highlighted","aria-selected","data-state","aria-disabled","data-disabled","tabindex","as","as-child"])]),_:3},8,["value"]))}}),ia=la,na=D({__name:"SelectItemIndicator",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(i){const s=i,a=Ue();return(t,r)=>e(a).isSelected.value?(o(),_(e(X),E({key:0,"aria-hidden":"true"},s),{default:b(()=>[C(t.$slots,"default")]),_:3},16)):W("v-if",!0)}}),ra=na,oa=D({inheritAttrs:!1,__name:"SelectItemText",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(i){const s=i,a=J(),t=Se(),r=Ue(),{forwardRef:u,currentElement:m}=be(),S=j(()=>({value:r.value,disabled:r.disabled.value,textContent:m.value?.textContent??r.value?.toString()??""}));return le(()=>{m.value&&(r.onItemTextChange(m.value),t.itemTextRefCallback(m.value,r.value,r.disabled.value),a.onOptionAdd(S.value))}),ot(()=>{a.onOptionRemove(S.value)}),(v,y)=>(o(),_(e(X),E({id:e(r).textId,ref:e(u)},{...s,...v.$attrs}),{default:b(()=>[C(v.$slots,"default")]),_:3},16,["id"]))}}),sa=oa,ua=D({__name:"SelectLabel",props:{for:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"div"}},setup(i){const s=i,a=Jt({id:""});return(t,r)=>(o(),_(e(X),E(s,{id:e(a).id}),{default:b(()=>[C(t.$slots,"default")]),_:3},16,["id"]))}}),da=ua,ca=D({__name:"SelectPortal",props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(i){const s=i;return(a,t)=>(o(),_(e(st),_e(Pe(s)),{default:b(()=>[C(a.$slots,"default")]),_:3},16))}}),pa=ca,fa=D({__name:"SelectSeparator",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(i){const s=i;return(a,t)=>(o(),_(e(X),E({"aria-hidden":"true"},s),{default:b(()=>[C(a.$slots,"default")]),_:3},16))}}),ga=fa,ma=D({__name:"SelectTrigger",props:{disabled:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(i){const s=i,a=J(),{forwardRef:t,currentElement:r}=be(),u=j(()=>a.disabled?.value||s.disabled);a.contentId||=Ae(void 0,"reka-select-content"),le(()=>{a.onTriggerChange(r.value)});const{getItems:m}=pe(),{search:S,handleTypeaheadSearch:v,resetTypeahead:y}=We();function k(){u.value||(a.onOpenChange(!0),y())}function w(x){k(),a.triggerPointerDownPosRef.value={x:Math.round(x.pageX),y:Math.round(x.pageY)}}return(x,I)=>(o(),_(e(It),{"as-child":"",reference:x.reference},{default:b(()=>[V(e(X),{ref:e(t),role:"combobox",type:x.as==="button"?"button":void 0,"aria-controls":e(a).contentId,"aria-expanded":e(a).open.value||!1,"aria-required":e(a).required?.value,"aria-autocomplete":"none",disabled:u.value,dir:e(a)?.dir.value,"data-state":e(a)?.open.value?"open":"closed","data-disabled":u.value?"":void 0,"data-placeholder":e(At)(e(a).modelValue?.value)?"":void 0,"as-child":x.asChild,as:x.as,onClick:I[0]||(I[0]=c=>{c?.currentTarget?.focus()}),onPointerdown:I[1]||(I[1]=c=>{if(c.pointerType==="touch")return c.preventDefault();const $=c.target;$.hasPointerCapture(c.pointerId)&&$.releasePointerCapture(c.pointerId),c.button===0&&c.ctrlKey===!1&&(w(c),c.preventDefault())}),onPointerup:I[2]||(I[2]=de(c=>{c.pointerType==="touch"&&w(c)},["prevent"])),onKeydown:I[3]||(I[3]=c=>{const $=e(S)!=="";!(c.ctrlKey||c.altKey||c.metaKey)&&c.key.length===1&&$&&c.key===" "||(e(v)(c.key,e(m)()),e(Bt).includes(c.key)&&(k(),c.preventDefault()))})},{default:b(()=>[C(x.$slots,"default")]),_:3},8,["type","aria-controls","aria-expanded","aria-required","disabled","dir","data-state","data-disabled","data-placeholder","as-child","as"])]),_:3},8,["reference"]))}}),va=ma;const ya={slots:{base:["relative group rounded-md inline-flex items-center focus:outline-none disabled:cursor-not-allowed disabled:opacity-75","transition-colors"],leading:"absolute inset-y-0 start-0 flex items-center",leadingIcon:"shrink-0 text-dimmed",leadingAvatar:"shrink-0",leadingAvatarSize:"",trailing:"absolute inset-y-0 end-0 flex items-center",trailingIcon:"shrink-0 text-dimmed",value:"truncate pointer-events-none",placeholder:"truncate text-dimmed",arrow:"fill-default",content:"max-h-60 w-(--reka-select-trigger-width) bg-default shadow-lg rounded-md ring ring-default overflow-hidden data-[state=open]:animate-[scale-in_100ms_ease-out] data-[state=closed]:animate-[scale-out_100ms_ease-in] origin-(--reka-select-content-transform-origin) pointer-events-auto flex flex-col",viewport:"relative divide-y divide-default scroll-py-1 overflow-y-auto flex-1",group:"p-1 isolate",empty:"text-center text-muted",label:"font-semibold text-highlighted",separator:"-mx-1 my-1 h-px bg-border",item:["group relative w-full flex items-start select-none outline-none before:absolute before:z-[-1] before:inset-px before:rounded-md data-disabled:cursor-not-allowed data-disabled:opacity-75 text-default data-highlighted:not-data-disabled:text-highlighted data-highlighted:not-data-disabled:before:bg-elevated/50","transition-colors before:transition-colors"],itemLeadingIcon:["shrink-0 text-dimmed group-data-highlighted:not-group-data-disabled:text-default","transition-colors"],itemLeadingAvatar:"shrink-0",itemLeadingAvatarSize:"",itemLeadingChip:"shrink-0",itemLeadingChipSize:"",itemTrailing:"ms-auto inline-flex gap-1.5 items-center",itemTrailingIcon:"shrink-0",itemWrapper:"flex-1 flex flex-col min-w-0",itemLabel:"truncate",itemDescription:"truncate text-muted"},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]"},size:{xs:{base:"px-2 py-1 text-xs gap-1",leading:"ps-2",trailing:"pe-2",leadingIcon:"size-4",leadingAvatarSize:"3xs",trailingIcon:"size-4",label:"p-1 text-[10px]/3 gap-1",item:"p-1 text-xs gap-1",itemLeadingIcon:"size-4",itemLeadingAvatarSize:"3xs",itemLeadingChip:"size-4",itemLeadingChipSize:"sm",itemTrailingIcon:"size-4",empty:"p-1 text-xs"},sm:{base:"px-2.5 py-1.5 text-xs gap-1.5",leading:"ps-2.5",trailing:"pe-2.5",leadingIcon:"size-4",leadingAvatarSize:"3xs",trailingIcon:"size-4",label:"p-1.5 text-[10px]/3 gap-1.5",item:"p-1.5 text-xs gap-1.5",itemLeadingIcon:"size-4",itemLeadingAvatarSize:"3xs",itemLeadingChip:"size-4",itemLeadingChipSize:"sm",itemTrailingIcon:"size-4",empty:"p-1.5 text-xs"},md:{base:"px-2.5 py-1.5 text-sm gap-1.5",leading:"ps-2.5",trailing:"pe-2.5",leadingIcon:"size-5",leadingAvatarSize:"2xs",trailingIcon:"size-5",label:"p-1.5 text-xs gap-1.5",item:"p-1.5 text-sm gap-1.5",itemLeadingIcon:"size-5",itemLeadingAvatarSize:"2xs",itemLeadingChip:"size-5",itemLeadingChipSize:"md",itemTrailingIcon:"size-5",empty:"p-1.5 text-sm"},lg:{base:"px-3 py-2 text-sm gap-2",leading:"ps-3",trailing:"pe-3",leadingIcon:"size-5",leadingAvatarSize:"2xs",trailingIcon:"size-5",label:"p-2 text-xs gap-2",item:"p-2 text-sm gap-2",itemLeadingIcon:"size-5",itemLeadingAvatarSize:"2xs",itemLeadingChip:"size-5",itemLeadingChipSize:"md",itemTrailingIcon:"size-5",empty:"p-2 text-sm"},xl:{base:"px-3 py-2 text-base gap-2",leading:"ps-3",trailing:"pe-3",leadingIcon:"size-6",leadingAvatarSize:"xs",trailingIcon:"size-6",label:"p-2 text-sm gap-2",item:"p-2 text-base gap-2",itemLeadingIcon:"size-6",itemLeadingAvatarSize:"xs",itemLeadingChip:"size-6",itemLeadingChipSize:"lg",itemTrailingIcon:"size-6",empty:"p-2 text-base"}},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"}},compoundVariants:[{color:"primary",variant:["outline","subtle"],class:"focus:ring-2 focus:ring-inset focus:ring-primary"},{color:"secondary",variant:["outline","subtle"],class:"focus:ring-2 focus:ring-inset focus:ring-secondary"},{color:"success",variant:["outline","subtle"],class:"focus:ring-2 focus:ring-inset focus:ring-success"},{color:"info",variant:["outline","subtle"],class:"focus:ring-2 focus:ring-inset focus:ring-info"},{color:"warning",variant:["outline","subtle"],class:"focus:ring-2 focus:ring-inset focus:ring-warning"},{color:"error",variant:["outline","subtle"],class:"focus:ring-2 focus:ring-inset focus: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:ring-2 focus:ring-inset focus: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"}},ka=Object.assign({inheritAttrs:!1},{__name:"USelect",props:{id:{type:String,required:!1},placeholder:{type:String,required:!1},color:{type:null,required:!1},variant:{type:null,required:!1},size:{type:null,required:!1},trailingIcon:{type:null,required:!1},selectedIcon:{type:null,required:!1},content:{type:Object,required:!1},arrow:{type:[Boolean,Object],required:!1},portal:{type:[Boolean,String],required:!1,skipCheck:!0,default:!0},valueKey:{type:null,required:!1,default:"value"},labelKey:{type:null,required:!1,default:"label"},descriptionKey:{type:null,required:!1,default:"description"},items:{type:null,required:!1},defaultValue:{type:null,required:!1},modelValue:{type:null,required:!1},modelModifiers:{type:Object,required:!1},multiple:{type:Boolean,required:!1},highlight:{type:Boolean,required:!1},autofocus:{type:Boolean,required:!1},autofocusDelay:{type:Number,required:!1,default:0},class:{type:null,required:!1},ui:{type:null,required:!1},open:{type:Boolean,required:!1},defaultOpen:{type:Boolean,required:!1},autocomplete:{type:String,required:!1},disabled:{type:Boolean,required:!1},name:{type:String,required:!1},required:{type:Boolean,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},loading:{type:Boolean,required:!1},loadingIcon:{type:null,required:!1}},emits:["update:open","change","blur","focus","update:modelValue"],setup(i,{expose:s,emit:a}){const t=i,r=a,u=ut(),m=dt(),S=Ke(ct(t,"open","defaultOpen","disabled","autocomplete","required","multiple"),r),v=pt(re(()=>t.portal)),y=re(()=>Oe(t.content,{side:"bottom",sideOffset:8,collisionPadding:8,position:"popper"})),k=re(()=>t.arrow),{emitFormChange:w,emitFormInput:x,emitFormBlur:I,emitFormFocus:c,size:$,color:A,id:G,name:M,highlight:P,disabled:n,ariaAttrs:h}=ft(t),{orientation:d,size:f}=gt(t),{isLeading:q,isTrailing:T,leadingIconName:z,trailingIconName:Q}=mt(re(()=>Oe(t,{trailingIcon:m.ui.icons.chevronDown}))),fe=j(()=>f.value||$.value),p=j(()=>$e({extend:$e(ya),...m.ui?.select||{}})({color:A.value,variant:t.variant,size:fe?.value,loading:t.loading,highlight:P.value,leading:q.value||!!t.avatar||!!u.leading,trailing:T.value||!!u.trailing,fieldGroup:d.value})),ge=j(()=>t.items?.length?vt(t.items)?t.items:[t.items]:[]),ie=j(()=>ge.value.flatMap(g=>g));function xe(g){if(t.multiple&&Array.isArray(g)){const H=g.map(F=>Re(ie.value,F,{labelKey:t.labelKey,valueKey:t.valueKey})).filter(F=>F!=null&&F!=="");return H.length>0?H.join(", "):void 0}return Re(ie.value,g,{labelKey:t.labelKey,valueKey:t.valueKey})}const ee=yt("triggerRef");function qe(){t.autofocus&&ee.value?.$el?.focus({focusVisible:!0})}le(()=>{setTimeout(()=>{qe()},t.autofocusDelay)});function Ce(g){t.modelModifiers?.trim&&(g=g?.trim()??null),t.modelModifiers?.number&&(g=bt(g)),t.modelModifiers?.nullable&&(g??=null),t.modelModifiers?.optional&&(g??=void 0);const H=new Event("change",{target:{value:g}});r("change",H),w(),x()}function te(g){if(g){const H=new FocusEvent("focus");r("focus",H),c()}else{const H=new FocusEvent("blur");r("blur",H),I()}}function L(g){return typeof g=="object"&&g!==null}return s({triggerRef:re(()=>ee.value?.$el)}),(g,H)=>(o(),_(e(Ot),E({name:e(M)},e(S),{autocomplete:i.autocomplete,disabled:e(n),"default-value":i.defaultValue,"model-value":i.modelValue,"onUpdate:modelValue":Ce,"onUpdate:open":te}),{default:b(({modelValue:F,open:ne})=>[V(e(va),E({id:e(G),ref_key:"triggerRef",ref:ee,"data-slot":"base",class:p.value.base({class:[t.ui?.base,t.class]})},{...g.$attrs,...e(h)}),{default:b(()=>[e(q)||i.avatar||u.leading?(o(),R("span",{key:0,"data-slot":"leading",class:O(p.value.leading({class:t.ui?.leading}))},[C(g.$slots,"leading",{modelValue:F,open:ne,ui:p.value},()=>[e(q)&&e(z)?(o(),_(me,{key:0,name:e(z),"data-slot":"leadingIcon",class:O(p.value.leadingIcon({class:t.ui?.leadingIcon}))},null,8,["name","class"])):i.avatar?(o(),_(De,E({key:1,size:t.ui?.itemLeadingAvatarSize||p.value.itemLeadingAvatarSize()},i.avatar,{"data-slot":"itemLeadingAvatar",class:p.value.itemLeadingAvatar({class:t.ui?.itemLeadingAvatar})}),null,16,["size","class"])):W("",!0)])],2)):W("",!0),C(g.$slots,"default",{modelValue:F,open:ne,ui:p.value},()=>[(o(!0),R(ae,null,ve([xe(F)],Z=>(o(),R(ae,{key:Z},[Z!=null?(o(),R("span",{key:0,"data-slot":"value",class:O(p.value.value({class:t.ui?.value}))},oe(Z),3)):(o(),R("span",{key:1,"data-slot":"placeholder",class:O(p.value.placeholder({class:t.ui?.placeholder}))},oe(i.placeholder??" "),3))],64))),128))]),e(T)||u.trailing?(o(),R("span",{key:1,"data-slot":"trailing",class:O(p.value.trailing({class:t.ui?.trailing}))},[C(g.$slots,"trailing",{modelValue:F,open:ne,ui:p.value},()=>[e(Q)?(o(),_(me,{key:0,name:e(Q),"data-slot":"trailingIcon",class:O(p.value.trailingIcon({class:t.ui?.trailingIcon}))},null,8,["name","class"])):W("",!0)])],2)):W("",!0)]),_:2},1040,["id","class"]),V(e(pa),_e(Pe(e(v))),{default:b(()=>[V(e(Xt),E({"data-slot":"content",class:p.value.content({class:t.ui?.content})},y.value),{default:b(()=>[C(g.$slots,"content-top"),ye("div",{role:"presentation","data-slot":"viewport",class:O(p.value.viewport({class:t.ui?.viewport}))},[(o(!0),R(ae,null,ve(ge.value,(Z,K)=>(o(),_(e(ta),{key:`group-${K}`,"data-slot":"group",class:O(p.value.group({class:t.ui?.group}))},{default:b(()=>[(o(!0),R(ae,null,ve(Z,(l,N)=>(o(),R(ae,{key:`group-${K}-${N}`},[L(l)&&l.type==="label"?(o(),_(e(da),{key:0,"data-slot":"label",class:O(p.value.label({class:[t.ui?.label,l.ui?.label,l.class]}))},{default:b(()=>[ke(oe(e(se)(l,t.labelKey)),1)]),_:2},1032,["class"])):L(l)&&l.type==="separator"?(o(),_(e(ga),{key:1,"data-slot":"separator",class:O(p.value.separator({class:[t.ui?.separator,l.ui?.separator,l.class]}))},null,8,["class"])):(o(),_(e(ia),{key:2,"data-slot":"item",class:O(p.value.item({class:[t.ui?.item,L(l)&&l.ui?.item,L(l)&&l.class]})),disabled:L(l)&&l.disabled,value:L(l)?e(se)(l,t.valueKey):l,onSelect:Y=>L(l)&&l.onSelect?.(Y)},{default:b(()=>[C(g.$slots,"item",{item:l,index:N,ui:p.value},()=>[C(g.$slots,"item-leading",{item:l,index:N,ui:p.value},()=>[L(l)&&l.icon?(o(),_(me,{key:0,name:l.icon,"data-slot":"itemLeadingIcon",class:O(p.value.itemLeadingIcon({class:[t.ui?.itemLeadingIcon,l.ui?.itemLeadingIcon]}))},null,8,["name","class"])):L(l)&&l.avatar?(o(),_(De,E({key:1,size:l.ui?.itemLeadingAvatarSize||t.ui?.itemLeadingAvatarSize||p.value.itemLeadingAvatarSize()},{ref_for:!0},l.avatar,{"data-slot":"itemLeadingAvatar",class:p.value.itemLeadingAvatar({class:[t.ui?.itemLeadingAvatar,l.ui?.itemLeadingAvatar]})}),null,16,["size","class"])):L(l)&&l.chip?(o(),_(ht,E({key:2,size:l.ui?.itemLeadingChipSize||t.ui?.itemLeadingChipSize||p.value.itemLeadingChipSize(),inset:"",standalone:""},{ref_for:!0},l.chip,{"data-slot":"itemLeadingChip",class:p.value.itemLeadingChip({class:[t.ui?.itemLeadingChip,l.ui?.itemLeadingChip]})}),null,16,["size","class"])):W("",!0)]),ye("span",{"data-slot":"itemWrapper",class:O(p.value.itemWrapper({class:[t.ui?.itemWrapper,L(l)&&l.ui?.itemWrapper]}))},[V(e(sa),{"data-slot":"itemLabel",class:O(p.value.itemLabel({class:[t.ui?.itemLabel,L(l)&&l.ui?.itemLabel]}))},{default:b(()=>[C(g.$slots,"item-label",{item:l,index:N},()=>[ke(oe(L(l)?e(se)(l,t.labelKey):l),1)])]),_:2},1032,["class"]),L(l)&&(e(se)(l,t.descriptionKey)||u["item-description"])?(o(),R("span",{key:0,"data-slot":"itemDescription",class:O(p.value.itemDescription({class:[t.ui?.itemDescription,L(l)&&l.ui?.itemDescription]}))},[C(g.$slots,"item-description",{item:l,index:N},()=>[ke(oe(e(se)(l,t.descriptionKey)),1)])],2)):W("",!0)],2),ye("span",{"data-slot":"itemTrailing",class:O(p.value.itemTrailing({class:[t.ui?.itemTrailing,L(l)&&l.ui?.itemTrailing]}))},[C(g.$slots,"item-trailing",{item:l,index:N,ui:p.value}),V(e(ra),{"as-child":""},{default:b(()=>[V(me,{name:i.selectedIcon||e(m).ui.icons.check,"data-slot":"itemTrailingIcon",class:O(p.value.itemTrailingIcon({class:[t.ui?.itemTrailingIcon,L(l)&&l.ui?.itemTrailingIcon]}))},null,8,["name","class"])]),_:2},1024)],2)])]),_:2},1032,["class","disabled","value","onSelect"]))],64))),128))]),_:2},1032,["class"]))),128))],2),C(g.$slots,"content-bottom"),i.arrow?(o(),_(e(jt),E({key:0},k.value,{"data-slot":"arrow",class:p.value.arrow({class:t.ui?.arrow})}),null,16,["class"])):W("",!0)]),_:3},16,["class"])]),_:3},16)]),_:3},16,["name","autocomplete","disabled","default-value","model-value"]))}});export{ka as _};
@@ -1,4 +1,4 @@
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">
1
+ import{_ as H}from"./BmOtR1wX.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"./2dNDtTiv.js";import{_ as X}from"./C2vq6Te8.js";import{e as Z}from"./DhI5cA_n.js";import{S as ee,C as te,A as ae,z as le,f as q}from"./vIOxcXKR.js";import{S as oe,P as ne}from"./4K03TkGA.js";import{_ as se}from"./DlAUqK2U.js";import{_ as ie}from"./wO6z2ugJ.js";import{_ as re}from"./DJTCT0bl.js";import{_ as ce}from"./C3NST0BU.js";import{_ as ue,a as de}from"./C6qKcgOY.js";import{_ as me}from"./1zUTf4AP.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{N as c,c as n,G as l,R as p,a4 as m,U as u,am as s}from"./B63LIwsW.js";const i={base:""},_={__name:"ProseEm",props:{class:{type:String,required:!1}},setup(e){const a=e,t=c(),o=n(()=>s({extend:s(i),...t.ui?.prose?.em||{}}));return(r,f)=>(p(),l("em",{class:u(o.value({class:a.class}))},[m(r.$slots,"default")],2))}};export{_ as default};
1
+ import{N as c,c as n,G as l,R as p,a4 as m,U as u,am as s}from"./2dNDtTiv.js";const i={base:""},_={__name:"ProseEm",props:{class:{type:String,required:!1}},setup(e){const a=e,t=c(),o=n(()=>s({extend:s(i),...t.ui?.prose?.em||{}}));return(r,f)=>(p(),l("em",{class:u(o.value({class:a.class}))},[m(r.$slots,"default")],2))}};export{_ as default};