cognova 0.1.10 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (287) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/_nuxt/{BLIw7q7e.js → 4MiwzAAt.js} +2 -2
  3. package/.output/public/_nuxt/{B8gRcrNP.js → 5ZXA0Ckq.js} +1 -1
  4. package/.output/public/_nuxt/9IQmsEjr.js +1 -0
  5. package/.output/public/_nuxt/{DlmPGBGX.js → 9QnH0xQM.js} +1 -1
  6. package/.output/public/_nuxt/{Qi4Arc25.js → B1X4Bzcy.js} +1 -1
  7. package/.output/public/_nuxt/{kuWCWJ92.js → B3y_Qqox.js} +1 -1
  8. package/.output/public/_nuxt/{CJVO4EWp.js → B6S_ob86.js} +1 -1
  9. package/.output/public/_nuxt/{xdp-pGVh.js → BAIz-dEB.js} +1 -1
  10. package/.output/public/_nuxt/{DIF41aNz.js → BCtfQCzC.js} +1 -1
  11. package/.output/public/_nuxt/BIIJhjQO.js +1 -0
  12. package/.output/public/_nuxt/{QOhiCNXN.js → BIckl6wA.js} +1 -1
  13. package/.output/public/_nuxt/{CqsT2LL7.js → BJ3o57WW.js} +1 -1
  14. package/.output/public/_nuxt/BNetzZzF.js +1 -0
  15. package/.output/public/_nuxt/{C5jkgqcy.js → BOj6t-oo.js} +1 -1
  16. package/.output/public/_nuxt/BS0ofHJK.js +1 -0
  17. package/.output/public/_nuxt/{CdKHIoKZ.js → BWhMnjID.js} +1 -1
  18. package/.output/public/_nuxt/{BUjpjVNI.js → BYjadNrw.js} +1 -1
  19. package/.output/public/_nuxt/{DLkyutNs.js → BZXMQuYP.js} +1 -1
  20. package/.output/public/_nuxt/B_3_hrpn.js +1 -0
  21. package/.output/public/_nuxt/BaBZjmMC.js +1 -0
  22. package/.output/public/_nuxt/BaMqDm5u.js +1 -0
  23. package/.output/public/_nuxt/{DwSbu8wg.js → BasgsT_S.js} +1 -1
  24. package/.output/public/_nuxt/{B4nb4eka.js → BffWCM73.js} +1 -1
  25. package/.output/public/_nuxt/{BxaDmjPM.js → BhzMoffi.js} +1 -1
  26. package/.output/public/_nuxt/{DjzaeRs8.js → BjjCvHLT.js} +1 -1
  27. package/.output/public/_nuxt/{CtJTw_81.js → BlAZO7nq.js} +1 -1
  28. package/.output/public/_nuxt/{C6nLQFo5.js → BlhFigLL.js} +1 -1
  29. package/.output/public/_nuxt/{CiJs9fhO.js → Bm9LyG4F.js} +1 -1
  30. package/.output/public/_nuxt/BoIxv-gM.js +1 -0
  31. package/.output/public/_nuxt/{C8xYfk_L.js → BqKFIuRj.js} +1 -1
  32. package/.output/public/_nuxt/Br19oYkq.js +1 -0
  33. package/.output/public/_nuxt/{htEHZODo.js → BrNqhp1a.js} +3 -3
  34. package/.output/public/_nuxt/{DFKQfGt8.js → BsEZoHd1.js} +1 -1
  35. package/.output/public/_nuxt/{CmF_IsFj.js → BxXOsXrM.js} +3 -3
  36. package/.output/public/_nuxt/{q7M6chAB.js → BzOqrmGa.js} +3 -3
  37. package/.output/public/_nuxt/{DT_NtxcV.js → C0JKNMDO.js} +1 -1
  38. package/.output/public/_nuxt/{BOb3QiPL.js → C0kh_F7v.js} +1 -1
  39. package/.output/public/_nuxt/{D472oOJg.js → C3FxIITy.js} +1 -1
  40. package/.output/public/_nuxt/{Bh7WRSzZ.js → C4pxqdgg.js} +1 -1
  41. package/.output/public/_nuxt/{ByWk4RVe.js → C61KgSco.js} +1 -1
  42. package/.output/public/_nuxt/{TjI_tk0y.js → C69W7k2j.js} +1 -1
  43. package/.output/public/_nuxt/{uqOLgWHD.js → C6RC3lA1.js} +1 -1
  44. package/.output/public/_nuxt/{DvA5meSv.js → C6aqGHu1.js} +1 -1
  45. package/.output/public/_nuxt/{CQM_5Ht0.js → CJUdYEdO.js} +1 -1
  46. package/.output/public/_nuxt/{BzWvPP8W.js → CKkC3Ptm.js} +1 -1
  47. package/.output/public/_nuxt/CNnJrDvu.js +1 -0
  48. package/.output/public/_nuxt/{Bf2SSE6Q.js → CVJQGP1Q.js} +1 -1
  49. package/.output/public/_nuxt/{0p0wrrYN.js → CVgTJeSq.js} +1 -1
  50. package/.output/public/_nuxt/CWMUi89H.js +1 -0
  51. package/.output/public/_nuxt/{DUYrX_jl.js → CYP_MLH8.js} +1 -1
  52. package/.output/public/_nuxt/{DEDt4pMc.js → C_BdYLzz.js} +1 -1
  53. package/.output/public/_nuxt/{CU3_Ewk2.js → Cdt3I3Go.js} +1 -1
  54. package/.output/public/_nuxt/{DX5y-Dpt.js → Cdu2qGgq.js} +1 -1
  55. package/.output/public/_nuxt/{DQunOghN.js → CeIVm4A3.js} +1 -1
  56. package/.output/public/_nuxt/CeIu7z4p.js +1 -0
  57. package/.output/public/_nuxt/{B73gh0JS.js → Ci7UEZQh.js} +1 -1
  58. package/.output/public/_nuxt/{C7NKjT6R.js → CihWZmJe.js} +2 -2
  59. package/.output/public/_nuxt/{902fefRh.js → CitkKxhw.js} +1 -1
  60. package/.output/public/_nuxt/{DH_IrAcJ.js → CmzH6R-N.js} +2 -2
  61. package/.output/public/_nuxt/{CgPM54k_.js → Cp2MA0cm.js} +1 -1
  62. package/.output/public/_nuxt/{hfaTbWV_.js → CqU2XbzO.js} +1 -1
  63. package/.output/public/_nuxt/{CuxiR1jN.js → Cqy_L_ip.js} +1 -1
  64. package/.output/public/_nuxt/{BFmbqknL.js → Cr8ixbr1.js} +1 -1
  65. package/.output/public/_nuxt/{BkiRMhMm.js → CsJ9KhQ4.js} +1 -1
  66. package/.output/public/_nuxt/{Dhvv7eaa.js → CtYFj7k1.js} +1 -1
  67. package/.output/public/_nuxt/{DG0VCYsy.js → CtchsY6e.js} +1 -1
  68. package/.output/public/_nuxt/{pqmDf_cQ.js → Cvp7FI3T.js} +1 -1
  69. package/.output/public/_nuxt/{38G-HXi8.js → CxuZBC8n.js} +5 -5
  70. package/.output/public/_nuxt/D2689qk4.js +1 -0
  71. package/.output/public/_nuxt/{Dw5YM8ji.js → D31L7Ks6.js} +1 -1
  72. package/.output/public/_nuxt/{DYTkcgRd.js → D3RiUGdz.js} +1 -1
  73. package/.output/public/_nuxt/{Csa19Lyu.js → D3e44mCL.js} +1 -1
  74. package/.output/public/_nuxt/{DmXY_FiQ.js → D6t3dcTl.js} +1 -1
  75. package/.output/public/_nuxt/{ChNxcBlH.js → DAQhmSv4.js} +1 -1
  76. package/.output/public/_nuxt/{BFtDSgo7.js → DB359q8R.js} +1 -1
  77. package/.output/public/_nuxt/{CrUNulhU.js → DCzfkCGa.js} +1 -1
  78. package/.output/public/_nuxt/{Cn1H4f01.js → DG-T44jj.js} +1 -1
  79. package/.output/public/_nuxt/{CAGIVdiL.js → DGX0tzL8.js} +1 -1
  80. package/.output/public/_nuxt/DHG66LPS.js +1 -0
  81. package/.output/public/_nuxt/{BV0QyLX9.js → DHKLCQRG.js} +1 -1
  82. package/.output/public/_nuxt/{DFs-kxzi.js → DIoI0uJm.js} +1 -1
  83. package/.output/public/_nuxt/{koWn-xAZ.js → DJ5V-y_x.js} +1 -1
  84. package/.output/public/_nuxt/{HUnwr3r4.js → DJMS2og1.js} +1 -1
  85. package/.output/public/_nuxt/{CjfarCg3.js → DJjDvbZE.js} +1 -1
  86. package/.output/public/_nuxt/DK9jxJ0g.js +1 -0
  87. package/.output/public/_nuxt/{BjN5vE4c.js → DKZxeXDQ.js} +1 -1
  88. package/.output/public/_nuxt/{CcWl1F-m.js → DLETdGFL.js} +1 -1
  89. package/.output/public/_nuxt/DOICd-Ld.js +1 -0
  90. package/.output/public/_nuxt/{bX88p2Mb.js → DPEcH-gi.js} +3 -3
  91. package/.output/public/_nuxt/{DDqY0xzR.js → DSRrg8JT.js} +1 -1
  92. package/.output/public/_nuxt/{B67bSHkr.js → DTDgHTuh.js} +2 -2
  93. package/.output/public/_nuxt/{BYzrgyQu.js → D_3Rq1BS.js} +1 -1
  94. package/.output/public/_nuxt/{TQO0uTDM.js → Daz4MeL6.js} +1 -1
  95. package/.output/public/_nuxt/{DxkqpACx.js → Db2v8O7O.js} +1 -1
  96. package/.output/public/_nuxt/{CHa8PuBL.js → Db8-_gO7.js} +1 -1
  97. package/.output/public/_nuxt/{BUEnkhcM.js → DfQu3kEw.js} +1 -1
  98. package/.output/public/_nuxt/{hDpBJf9-.js → DgV-EDJ9.js} +1 -1
  99. package/.output/public/_nuxt/{D1CNUSvv.js → DnjGH3SQ.js} +1 -1
  100. package/.output/public/_nuxt/Dp2X5R2m.js +1 -0
  101. package/.output/public/_nuxt/DqB723Z0.js +1 -0
  102. package/.output/public/_nuxt/{DcIiuvW-.js → DyRelyfs.js} +1 -1
  103. package/.output/public/_nuxt/{sgWRawF5.js → Dy_Cq5LQ.js} +1 -1
  104. package/.output/public/_nuxt/{B4T7pJz5.js → DznawRFW.js} +1 -1
  105. package/.output/public/_nuxt/EuOqK1A6.js +1 -0
  106. package/.output/public/_nuxt/{Dn4PGlE2.js → FNC8XZTk.js} +1 -1
  107. package/.output/public/_nuxt/{ZToTf_46.js → Fukkqjkf.js} +1 -1
  108. package/.output/public/_nuxt/{D5aulRKh.js → FvlxxmNk.js} +2 -2
  109. package/.output/public/_nuxt/{C2IkB9Vg.js → IRSbVPIu.js} +1 -1
  110. package/.output/public/_nuxt/{QESaAMMF.js → JJ3634gV.js} +1 -1
  111. package/.output/public/_nuxt/{DGUr7xQ7.js → Jez9DHn7.js} +1 -1
  112. package/.output/public/_nuxt/{DPdR3tu5.js → KKK6HVeG.js} +1 -1
  113. package/.output/public/_nuxt/{D0bh5qKf.js → Lwdv_RKd.js} +1 -1
  114. package/.output/public/_nuxt/{BkRZ4-cg.js → Nb2jBtYT.js} +1 -1
  115. package/.output/public/_nuxt/Q8Ps7oN5.js +1 -0
  116. package/.output/public/_nuxt/SXTDhzp6.js +1 -0
  117. package/.output/public/_nuxt/{GC9cY_vb.js → Sg2Lwc46.js} +1 -1
  118. package/.output/public/_nuxt/{GI6TTFJt.js → YuTZB7sD.js} +1 -1
  119. package/.output/public/_nuxt/{D2_L0Ze1.js → _CYZi8HN.js} +1 -1
  120. package/.output/public/_nuxt/_J_7XIn-.js +1 -0
  121. package/.output/public/_nuxt/builds/latest.json +1 -1
  122. package/.output/public/_nuxt/builds/meta/a1e9100c-1a4f-4f7e-bb53-9dbe0d07effb.json +1 -0
  123. package/.output/public/_nuxt/{DZNG1AbU.js → cABRLVee.js} +1 -1
  124. package/.output/public/_nuxt/eko-0FUm.js +1 -0
  125. package/.output/public/_nuxt/entry.CGxIBGAf.css +1 -0
  126. package/.output/public/_nuxt/{BIjt_cIY.js → g20UHUCv.js} +1 -1
  127. package/.output/public/_nuxt/{HIlTvc-2.js → gBC9k4Qj.js} +1 -1
  128. package/.output/public/_nuxt/{IQoLFBX8.js → ghuJ76mD.js} +1 -1
  129. package/.output/public/_nuxt/{BGYWH_3A.js → iBGCpHdw.js} +2 -2
  130. package/.output/public/_nuxt/{uUGV1V-6.js → inmzPrjz.js} +1 -1
  131. package/.output/public/_nuxt/{CgHipF8Q.js → m5kGCDpI.js} +1 -1
  132. package/.output/public/_nuxt/{Bj0OFhNx.js → nIU2F7ia.js} +3 -3
  133. package/.output/public/_nuxt/{Dcv_tyzb.js → oIX-ZDN6.js} +1 -1
  134. package/.output/public/_nuxt/{B7NSgclV.js → pcUI-zuY.js} +1 -1
  135. package/.output/public/_nuxt/{DpF6VoC4.js → sf57orEk.js} +1 -1
  136. package/.output/public/_nuxt/{DS_mF4Ol.js → wCGVE8_e.js} +1 -1
  137. package/.output/public/_nuxt/{KAzeBbaL.js → xuzLdW-o.js} +1 -1
  138. package/.output/public/_nuxt/{ytKsJZlj.js → yNrp2XvX.js} +1 -1
  139. package/.output/public/_nuxt/{B3mdl0Ae.js → yuf23kh9.js} +1 -1
  140. package/.output/server/chunks/build/{_uuid_-DAZ5CM0C.mjs → _uuid_-0UgdUhfY.mjs} +6 -5
  141. package/.output/server/chunks/build/{_uuid_-DAZ5CM0C.mjs.map → _uuid_-0UgdUhfY.mjs.map} +1 -1
  142. package/.output/server/chunks/build/chat-CZMiB68R.mjs.map +1 -1
  143. package/.output/server/chunks/build/client.precomputed.mjs +1 -1
  144. package/.output/server/chunks/build/dashboard-YEscLBQN.mjs +1109 -0
  145. package/.output/server/chunks/build/dashboard-YEscLBQN.mjs.map +1 -0
  146. package/.output/server/chunks/build/{docs-CFAI1clt.mjs → docs-Dk2JnYq3.mjs} +6 -5
  147. package/.output/server/chunks/build/{docs-CFAI1clt.mjs.map → docs-Dk2JnYq3.mjs.map} +1 -1
  148. package/.output/server/chunks/build/server.mjs +3 -3
  149. package/.output/server/chunks/build/settings-DdkKCJ00.mjs +1 -1
  150. package/.output/server/chunks/build/styles.mjs +4 -4
  151. package/.output/server/chunks/build/{CodeEditorFallback-DfYly7f5.mjs → useCopyToClipboard-vi6FYyyZ.mjs} +29 -2
  152. package/.output/server/chunks/build/useCopyToClipboard-vi6FYyyZ.mjs.map +1 -0
  153. package/.output/server/chunks/build/useNotificationBus-BG5JNQf1.mjs +1 -1
  154. package/.output/server/chunks/nitro/nitro.mjs +819 -824
  155. package/.output/server/chunks/routes/api/dashboard/overview.get.mjs +149 -0
  156. package/.output/server/chunks/routes/api/dashboard/overview.get.mjs.map +1 -0
  157. package/.output/server/chunks/routes/api/documents/_id/public.get.mjs +1 -1
  158. package/.output/server/chunks/routes/api/documents/_id/restore.post.mjs +1 -1
  159. package/.output/server/chunks/routes/api/documents/by-path.post.mjs +1 -1
  160. package/.output/server/chunks/routes/api/documents/index.delete.mjs +1 -1
  161. package/.output/server/chunks/routes/api/documents/index.put.mjs +1 -1
  162. package/.output/server/chunks/routes/api/fs/delete.post.mjs +1 -1
  163. package/.output/server/chunks/routes/api/fs/list.get.mjs +1 -1
  164. package/.output/server/chunks/routes/api/fs/mkdir.post.mjs +1 -1
  165. package/.output/server/chunks/routes/api/fs/move.post.mjs +1 -1
  166. package/.output/server/chunks/routes/api/fs/read.post.mjs +1 -1
  167. package/.output/server/chunks/routes/api/fs/rename.post.mjs +1 -1
  168. package/.output/server/chunks/routes/api/fs/write.post.mjs +1 -1
  169. package/.output/server/chunks/routes/api/health.get.mjs +1 -1
  170. package/.output/server/chunks/routes/api/home.get.mjs +1 -1
  171. package/.output/server/chunks/routes/api/hooks/index.get.mjs +1 -1
  172. package/.output/server/chunks/routes/api/hooks/index.post.mjs +1 -1
  173. package/.output/server/chunks/routes/api/hooks/stats.get.mjs +1 -1
  174. package/.output/server/chunks/routes/api/index.get3.mjs +1 -1
  175. package/.output/server/chunks/routes/api/index.get4.mjs +1 -1
  176. package/.output/server/chunks/routes/api/index.get5.mjs +1 -1
  177. package/.output/server/chunks/routes/api/index.get6.mjs +1 -1
  178. package/.output/server/chunks/routes/api/index.get7.mjs +1 -1
  179. package/.output/server/chunks/routes/api/index.get8.mjs +1 -1
  180. package/.output/server/chunks/routes/api/index.post2.mjs +1 -1
  181. package/.output/server/chunks/routes/api/index.post3.mjs +1 -1
  182. package/.output/server/chunks/routes/api/index.post4.mjs +1 -1
  183. package/.output/server/chunks/routes/api/index.put.mjs +1 -1
  184. package/.output/server/chunks/routes/api/memory/_id_.delete.mjs +1 -1
  185. package/.output/server/chunks/routes/api/memory/context.get.mjs +1 -1
  186. package/.output/server/chunks/routes/api/memory/extract.post.mjs +1 -1
  187. package/.output/server/chunks/routes/api/memory/search.get.mjs +1 -1
  188. package/.output/server/chunks/routes/api/memory/store.post.mjs +1 -1
  189. package/.output/server/chunks/routes/api/projects/index.delete.mjs +1 -1
  190. package/.output/server/chunks/routes/api/projects/index.get.mjs +1 -1
  191. package/.output/server/chunks/routes/api/projects/index.put.mjs +1 -1
  192. package/.output/server/chunks/routes/api/secrets/_key_.delete.mjs +1 -1
  193. package/.output/server/chunks/routes/api/secrets/_key_.get.mjs +1 -1
  194. package/.output/server/chunks/routes/api/secrets/_key_.put.mjs +1 -1
  195. package/.output/server/chunks/routes/api/tasks/_id/restore.post.mjs +1 -1
  196. package/.output/server/chunks/routes/api/tasks/index.delete.mjs +1 -1
  197. package/.output/server/chunks/routes/api/tasks/index.put.mjs +1 -1
  198. package/.output/server/chunks/routes/api/tasks/tags.get.mjs +1 -1
  199. package/.output/server/chunks/routes/api/usage/stats.get.mjs +1 -1
  200. package/.output/server/chunks/routes/renderer.mjs +1 -1
  201. package/.output/server/package.json +1 -1
  202. package/Claude/CLAUDE.md +9 -4
  203. package/Claude/skills/environment/SKILL.md +6 -0
  204. package/Claude/skills/memory/SKILL.md +6 -0
  205. package/Claude/skills/project/SKILL.md +6 -0
  206. package/Claude/skills/secret/SKILL.md +85 -0
  207. package/Claude/skills/secret/secret.py +146 -0
  208. package/Claude/skills/skill-creator/SKILL.md +30 -0
  209. package/Claude/skills/task/SKILL.md +6 -0
  210. package/app/components/dashboard/RecentChats.vue +93 -0
  211. package/app/components/dashboard/RecentDocs.vue +108 -0
  212. package/app/components/dashboard/StatCards.vue +82 -0
  213. package/app/components/dashboard/UpcomingTasks.vue +119 -0
  214. package/app/components/dashboard/UsageSummary.vue +94 -0
  215. package/app/components/editor/DocumentEditor.vue +5 -3
  216. package/app/components/skills/Card.vue +82 -0
  217. package/app/components/skills/CreateModal.vue +156 -0
  218. package/app/components/skills/Editor.vue +135 -0
  219. package/app/components/skills/FileTree.vue +336 -0
  220. package/app/components/skills/LibraryCard.vue +122 -0
  221. package/app/components/skills/RenameModal.vue +84 -0
  222. package/app/composables/useCopyToClipboard.ts +37 -0
  223. package/app/layouts/dashboard.vue +7 -0
  224. package/app/pages/chat.vue +11 -1
  225. package/app/pages/dashboard.vue +65 -64
  226. package/app/pages/skills/[name].vue +198 -0
  227. package/app/pages/skills/index.vue +157 -0
  228. package/app/pages/skills/library.vue +209 -0
  229. package/app/pages/view/[uuid].vue +4 -3
  230. package/dist/cli/index.js +23 -23
  231. package/nuxt.config.ts +9 -0
  232. package/package.json +1 -1
  233. package/server/api/dashboard/overview.get.ts +133 -0
  234. package/server/api/skills/[name]/files/create.post.ts +45 -0
  235. package/server/api/skills/[name]/files/delete.post.ts +45 -0
  236. package/server/api/skills/[name]/files/index.get.ts +28 -0
  237. package/server/api/skills/[name]/files/read.post.ts +41 -0
  238. package/server/api/skills/[name]/files/write.post.ts +42 -0
  239. package/server/api/skills/[name]/index.get.ts +54 -0
  240. package/server/api/skills/[name]/rename.post.ts +64 -0
  241. package/server/api/skills/[name]/toggle.post.ts +32 -0
  242. package/server/api/skills/create.post.ts +51 -0
  243. package/server/api/skills/generate.post.ts +126 -0
  244. package/server/api/skills/index.get.ts +57 -0
  245. package/server/api/skills/library/check-updates.get.ts +46 -0
  246. package/server/api/skills/library/index.get.ts +56 -0
  247. package/server/api/skills/library/install.post.ts +73 -0
  248. package/server/db/schema.ts +17 -0
  249. package/server/drizzle/migrations/0012_good_deadpool.sql +12 -0
  250. package/server/drizzle/migrations/0013_swift_snowbird.sql +1 -0
  251. package/server/drizzle/migrations/meta/0012_snapshot.json +1713 -0
  252. package/server/drizzle/migrations/meta/0013_snapshot.json +1720 -0
  253. package/server/drizzle/migrations/meta/_journal.json +14 -0
  254. package/server/middleware/auth.ts +0 -1
  255. package/server/plugins/05.skills-catalog.ts +105 -0
  256. package/server/utils/skills-path.ts +197 -0
  257. package/shared/types/index.ts +102 -0
  258. package/.output/public/_nuxt/BAWOIJ__.js +0 -1
  259. package/.output/public/_nuxt/B_paJhyq.js +0 -1
  260. package/.output/public/_nuxt/BdYiqlvd.js +0 -1
  261. package/.output/public/_nuxt/BpiqBbAF.js +0 -1
  262. package/.output/public/_nuxt/BqDfJ2hd.js +0 -1
  263. package/.output/public/_nuxt/BxgB0-mq.js +0 -1
  264. package/.output/public/_nuxt/C1hs5K_e.js +0 -1
  265. package/.output/public/_nuxt/C4Ncdd9K.js +0 -1
  266. package/.output/public/_nuxt/CAQ2bGHm.js +0 -1
  267. package/.output/public/_nuxt/CCpQAJpz.js +0 -1
  268. package/.output/public/_nuxt/CXXD-owe.js +0 -1
  269. package/.output/public/_nuxt/CcRijyCZ.js +0 -1
  270. package/.output/public/_nuxt/CoEfPCKj.js +0 -1
  271. package/.output/public/_nuxt/D08h2e32.js +0 -1
  272. package/.output/public/_nuxt/D_t_j6EB.js +0 -1
  273. package/.output/public/_nuxt/DaZy6Ki2.js +0 -1
  274. package/.output/public/_nuxt/DdrudNqf.js +0 -1
  275. package/.output/public/_nuxt/DdtmJxeb.js +0 -1
  276. package/.output/public/_nuxt/Dgv5fJ6Q.js +0 -1
  277. package/.output/public/_nuxt/DhIluGHO.js +0 -1
  278. package/.output/public/_nuxt/DuRk5Dc_.js +0 -1
  279. package/.output/public/_nuxt/VFwvl1mU.js +0 -1
  280. package/.output/public/_nuxt/builds/meta/555978fa-172f-4d0d-8238-88f8b610f712.json +0 -1
  281. package/.output/public/_nuxt/entry.DPbNaeQT.css +0 -1
  282. package/.output/public/_nuxt/hZV7Z8Ig.js +0 -1
  283. package/.output/public/_nuxt/lK0inMQ6.js +0 -1
  284. package/.output/server/chunks/build/CodeEditorFallback-DfYly7f5.mjs.map +0 -1
  285. package/.output/server/chunks/build/dashboard-DtbGchTa.mjs +0 -277
  286. package/.output/server/chunks/build/dashboard-DtbGchTa.mjs.map +0 -1
  287. /package/.output/public/_nuxt/{language-detection.Be_IvFWy.css → useCopyToClipboard.Be_IvFWy.css} +0 -0
@@ -0,0 +1 @@
1
+ import{N as ne,c as I,aj as L,X as se,ay as $,e as j,q as P,k as ie,r as O,a1 as oe,af as R,K as b,bc as ue,bd as le,Q as ce,R as fe,S as de,a3 as me,al as pe,U as ye,C as Q,as as ve,be as X,bf as Y,aY as he,aZ as Ee}from"./BxXOsXrM.js";import{b as be}from"./DGX0tzL8.js";function ge(n){return"schema"in n&&typeof n.coercer=="function"&&typeof n.validator=="function"&&typeof n.refiner=="function"}function we(n){return"~standard"in n}async function Se(n,i){const l=await i["~standard"].validate(n);return l.issues?{errors:l.issues?.map(r=>({name:r.path?.map(o=>typeof o=="object"?o.key:o).join(".")||"",message:r.message}))||[],result:null}:{errors:null,result:l.value}}async function Fe(n,i){const[l,r]=i.validate(n);return l?{errors:l.failures().map(h=>({message:h.message,name:h.path.join(".")})),result:null}:{errors:null,result:r}}function Ie(n,i){if(we(i))return Se(n,i);if(ge(i))return Fe(n,i);throw new Error("Form validation failed: Unsupported form schema")}function je(n,i){return i?i.split(".").reduce((r,o)=>r?.[o],n):n}function qe(n,i,l){if(!i)return Object.assign(n,l);if(!n)return n;const r=i.split(".");let o=n;for(let y=0;y<r.length-1;y++){const c=r[y];(o[c]===void 0||o[c]===null)&&(y+1<r.length&&!Number.isNaN(Number(r[y+1]))?o[c]=[]:o[c]={}),o=o[c]}const h=r[r.length-1];return o[h]=l,n}class q extends Error{formId;errors;constructor(i,l){super("Form validation exception"),this.formId=i,this.errors=l,Object.setPrototypeOf(this,q.prototype)}}const xe={base:""},Oe={__name:"UForm",props:{id:{type:[String,Number],required:!1},schema:{type:null,required:!1},state:{type:null,required:!1},validate:{type:Function,required:!1},validateOn:{type:Array,required:!1,default(){return["input","blur","change"]}},disabled:{type:Boolean,required:!1},name:{type:null,required:!1},validateOnInputDelay:{type:Number,required:!1,default:300},transform:{type:null,required:!1,default:()=>!0},nested:{type:Boolean,required:!1},loadingAuto:{type:Boolean,required:!1,default:!0},class:{type:null,required:!1},onSubmit:{type:Function,required:!1}},emits:["submit","error"],setup(n,{expose:i,emit:l}){const r=n,o=l,h=ne(),y=I(()=>L({extend:L(xe),...h.ui?.form||{}})),c=r.id??se(),k=be(`form-${c}`),g=r.nested===!0&&$(Y,void 0),A=r.nested===!0?$(X,void 0):void 0,w=I(()=>A?.value?r.name?je(A.value,r.name):A.value:r.state);b(Y,k),b(X,w);const S=j(new Map);P(async()=>{g&&(await ie(),g.emit({type:"attach",validate:F,formId:c,name:r.name,api:z}))}),oe(()=>{k.reset(),g&&g.emit({type:"detach",formId:c})}),P(async()=>{k.on(async e=>{e.type==="attach"?S.value.set(e.formId,{validate:e.validate,name:e.name,api:e.api}):e.type==="detach"?S.value.delete(e.formId):r.validateOn?.includes(e.type)&&!v.value&&(e.type!=="input"?await F({name:e.name,silent:!0,nested:!1}):(e.eager||K.has(e.name))&&await F({name:e.name,silent:!0,nested:!1})),e.type==="blur"&&K.add(e.name),(e.type==="change"||e.type==="input"||e.type==="blur"||e.type==="focus")&&_.add(e.name),(e.type==="change"||e.type==="input")&&B.add(e.name)})});const u=j([]);b(he,u);const x=j({});b(Ee,x);const B=R(new Set),_=R(new Set),K=R(new Set);function C(e){return e.map(t=>({...t,id:t?.name?x.value[t.name]?.id:void 0}))}const N=j(null);async function Z(){let e=r.validate?await r.validate(w.value)??[]:[];if(r.schema){const{errors:t,result:a}=await Ie(w.value,r.schema);t?e=e.concat(t):N.value=a}return C(e)}async function F(e={silent:!1,nested:!1,transform:!1}){const t=e.name&&!Array.isArray(e.name)?[e.name]:e.name;let a=[],s=[];if(!t&&e.nested){const p=Array.from(S.value.values()).map(m=>G(m,e)),d=await Promise.all(p);s=d.filter(m=>m.error).flatMap(m=>m.error.errors.map(re=>H(re,m.name))),a=d.filter(m=>m.output!==void 0)}const E=[...await Z(),...s];if(t?u.value=te(E,t):u.value=E,u.value?.length){if(e.silent)return!1;throw new q(c,u.value)}return e.transform?(a.forEach(p=>{p.name?qe(N.value,p.name,p.output):Object.assign(N.value,p.output)}),N.value??w.value):w.value}const v=j(!1);b(ue,O(v));async function W(e){v.value=r.loadingAuto&&!0;const t=e;try{t.data=await F({nested:!0,transform:r.transform}),await r.onSubmit?.(t),B.clear()}catch(a){if(!(a instanceof q))throw a;const s={...t,errors:a.errors};o("error",s)}finally{v.value=!1}}const D=I(()=>r.disabled||v.value);b(le,I(()=>({disabled:D.value,validateOnInputDelay:r.validateOnInputDelay})));async function G(e,t){try{const a=await e.validate({...t,silent:!1});return{name:e.name,output:a}}catch(a){if(!(a instanceof q))throw a;return{name:e.name,error:a}}}function H(e,t){return!t||!e.name?e:{...e,name:t+"."+e.name}}function J(e,t){const a=t+".",s=e?.name?.startsWith(a)?e.name.substring(a.length):e.name;return{...e,name:s}}function V(e,t){return t?e.filter(a=>a?.name?.startsWith(t+".")).map(a=>J(a,t)):e}function M(e){return e.api.getErrors().map(t=>e.name?{...t,name:e.name+"."+t.name}:t)}function T(e,t){return!e||!t?!0:e instanceof RegExp?e.test(t):t===e||typeof e=="string"&&e.startsWith(t+".")}function ee(e,t){if(!e||e instanceof RegExp)return e;if(t!==e)return typeof e=="string"&&e.startsWith(t+".")?e.substring(t.length+1):e}function te(e,t){const a=new Set(t),s=t.map(d=>x.value?.[d]?.pattern).filter(Boolean),f=d=>d.name?a.has(d.name)?!0:s.some(m=>m.test(d.name)):!1,E=u.value.filter(d=>!f(d)),p=e.filter(f);return[...E,...p]}function ae(e,t){return e.filter(a=>t instanceof RegExp?!(a.name&&t.test(a.name)):!a.name||a.name!==t)}function U(e){return!e.name||!!x.value[e.name]}const z={validate:F,errors:u,setErrors(e,t){const a=C(e.filter(U)),s=[];for(const f of S.value.values())if(T(t,f.name)){const E=V(e,f.name);f.api.setErrors(E,ee(t,f.name||"")),s.push(...M(f))}if(t){const f=ae(u.value,t);u.value=[...f,...a,...s]}else u.value=[...a,...s]},async submit(){await W(new Event("submit"))},getErrors(e){return e?u.value.filter(t=>e instanceof RegExp?t.name&&e.test(t.name):t.name===e):u.value},clear(e){const t=e?u.value.filter(s=>U(s)&&(e instanceof RegExp?!(s.name&&e.test(s.name)):s.name!==e)):[],a=[];for(const s of S.value.values())T(e,s.name)&&s.api.clear(),a.push(...M(s));u.value=[...t,...a]},disabled:D,loading:v,dirty:I(()=>!!B.size),dirtyFields:O(B),blurredFields:O(K),touchedFields:O(_)};return i(z),(e,t)=>(fe(),ce(ve(Q(g)?"div":"form"),{id:Q(c),class:ye(y.value({class:r.class})),onSubmit:pe(W,["prevent"])},{default:de(()=>[me(e.$slots,"default",{errors:u.value,loading:v.value})]),_:3},40,["id","class"]))}};export{Oe as _};
@@ -1 +1 @@
1
- import{ap as F,an as N,aq as O,bb as A,L as H,N as U,c as y,f as I,aB as G,aT as E,G as _,R as g,T as t,S as o,a3 as s,C as l,aa as m,Q as b,a8 as h,U as n,V as q,a2 as j,aM as Q,aN as W,ah as J,ak as v,bx as K,W as M,ao as X,a9 as Y,ad as Z,a as ee,ae as te,_ as ae}from"./CmF_IsFj.js";import{_ as le}from"./DYTkcgRd.js";import{c as C}from"./CAGIVdiL.js";import{_ as P}from"./uUGV1V-6.js";import{_ as se}from"./IQoLFBX8.js";import{_ as oe}from"./DcIiuvW-.js";import{_ as ne}from"./DUYrX_jl.js";import{_ as ie}from"./GI6TTFJt.js";import"./ZToTf_46.js";import"./CcRijyCZ.js";import"./DX5y-Dpt.js";import"./B8gRcrNP.js";import"./Dcv_tyzb.js";import"./CU3_Ewk2.js";const re={slots:{root:"bg-default/75 backdrop-blur border-b border-default h-(--ui-header-height) sticky top-0 z-50",container:"flex items-center justify-between gap-3 h-full",left:"lg:flex-1 flex items-center gap-1.5",center:"hidden lg:flex",right:"flex items-center justify-end lg:flex-1 gap-1.5",title:"shrink-0 font-bold text-xl text-highlighted flex items-end gap-1.5",toggle:"lg:hidden",content:"lg:hidden",overlay:"lg:hidden",header:"px-4 sm:px-6 h-(--ui-header-height) shrink-0 flex items-center justify-between gap-3",body:"p-4 sm:p-6 overflow-y-auto"},variants:{toggleSide:{left:{toggle:"-ms-1.5"},right:{toggle:"-me-1.5"}}}},ue=Object.assign({inheritAttrs:!1},{__name:"UHeader",props:F({as:{type:null,required:!1,default:"header"},title:{type:String,required:!1,default:"Nuxt UI"},to:{type:String,required:!1,default:"/"},mode:{type:null,required:!1,default:"modal"},menu:{type:null,required:!1},toggle:{type:[Boolean,Object],required:!1,default:!0},toggleSide:{type:String,required:!1,default:"right"},class:{type:null,required:!1},ui:{type:null,required:!1}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:["update:open"],setup(a){const e=a,d=N(),i=O(a,"open",{type:Boolean,default:!1}),r=A(),{t:u}=H(),p=U(),[S,$]=C(),[x,k]=C(),[V,w]=C(),L=y(()=>(d.title&&K(d.title())||e.title||"Nuxt UI").trim());I(()=>r.fullPath,()=>{i.value=!1});const f=y(()=>v({extend:v(re),...p.ui?.header||{}})()),D=y(()=>({slideover:se,modal:oe,drawer:ne})[e.mode]),z=G(()=>E(e.menu,{content:{onOpenAutoFocus:c=>c.preventDefault()}},e.mode==="modal"?{fullscreen:!0,transition:!1}:{}));function B(){i.value=!i.value}return(c,R)=>(g(),_(J,null,[t(l(V),null,{default:o(()=>[s(c.$slots,"toggle",{open:i.value,toggle:B,ui:f.value},()=>[a.toggle?(g(),b(M,q({key:0,color:"neutral",variant:"ghost","aria-label":i.value?l(u)("header.close"):l(u)("header.open"),icon:i.value?l(p).ui.icons.close:l(p).ui.icons.menu},typeof a.toggle=="object"?a.toggle:{},{"data-slot":"toggle",class:f.value.toggle({class:e.ui?.toggle,toggleSide:a.toggleSide}),onClick:B}),null,16,["aria-label","icon","class"])):h("",!0)])]),_:3}),t(l(S),null,{default:o(()=>[m("div",{"data-slot":"left",class:n(f.value.left({class:e.ui?.left}))},[a.toggleSide==="left"?(g(),b(l(w),{key:0})):h("",!0),s(c.$slots,"left",{},()=>[t(X,{to:a.to,"aria-label":L.value,"data-slot":"title",class:n(f.value.title({class:e.ui?.title}))},{default:o(()=>[s(c.$slots,"title",{},()=>[Y(Z(a.title),1)])]),_:3},8,["to","aria-label","class"])])],2)]),_:3}),t(l(x),null,{default:o(()=>[m("div",{"data-slot":"right",class:n(f.value.right({class:e.ui?.right}))},[s(c.$slots,"right"),a.toggleSide==="right"?(g(),b(l(w),{key:0})):h("",!0)],2)]),_:3}),t(l(j),q({as:a.as},c.$attrs,{"data-slot":"root",class:f.value.root({class:[e.ui?.root,e.class]})}),{default:o(()=>[s(c.$slots,"top"),t(P,{"data-slot":"container",class:n(f.value.container({class:e.ui?.container}))},{default:o(()=>[t(l($)),m("div",{"data-slot":"center",class:n(f.value.center({class:e.ui?.center}))},[s(c.$slots,"default")],2),t(l(k))]),_:3},8,["class"]),s(c.$slots,"bottom")]),_:3},16,["as","class"]),t(l(D),q({open:i.value,"onUpdate:open":R[0]||(R[0]=T=>i.value=T),title:l(u)("header.title"),description:l(u)("header.description")},z.value,{ui:{overlay:f.value.overlay({class:e.ui?.overlay}),content:f.value.content({class:e.ui?.content})}}),{content:o(T=>[s(c.$slots,"content",Q(W(T)),()=>[a.mode!=="drawer"?(g(),_("div",{key:0,"data-slot":"header",class:n(f.value.header({class:e.ui?.header}))},[t(l($)),t(l(k))],2)):h("",!0),m("div",{"data-slot":"body",class:n(f.value.body({class:e.ui?.body}))},[s(c.$slots,"body")],2)])]),_:3},16,["open","title","description","ui"])],64))}}),ce={base:"min-h-[calc(100vh-var(--ui-header-height))]"},de={__name:"UMain",props:{as:{type:null,required:!1},class:{type:null,required:!1}},setup(a){const e=a,d=U(),i=y(()=>v({extend:v(ce),...d.ui?.main||{}}));return(r,u)=>(g(),b(l(j),{as:a.as,class:n(i.value({class:e.class}))},{default:o(()=>[s(r.$slots,"default")]),_:3},8,["as","class"]))}},fe={slots:{root:"",top:"py-8 lg:py-12",bottom:"py-8 lg:py-12",container:"py-8 lg:py-4 lg:flex lg:items-center lg:justify-between lg:gap-x-3",left:"flex items-center justify-center lg:justify-start lg:flex-1 gap-x-1.5 mt-3 lg:mt-0 lg:order-1",center:"mt-3 lg:mt-0 lg:order-2 flex items-center justify-center",right:"lg:flex-1 flex items-center justify-center lg:justify-end gap-x-1.5 lg:order-3"}},ge={__name:"UFooter",props:{as:{type:null,required:!1,default:"footer"},class:{type:null,required:!1},ui:{type:null,required:!1}},setup(a){const e=a,d=N(),i=U(),r=y(()=>v({extend:v(fe),...i.ui?.footer||{}})());return(u,p)=>(g(),b(l(j),{as:a.as,"data-slot":"root",class:n(r.value.root({class:[e.ui?.root,e.class]}))},{default:o(()=>[d.top?(g(),_("div",{key:0,"data-slot":"top",class:n(r.value.top({class:e.ui?.top}))},[s(u.$slots,"top")],2)):h("",!0),t(P,{"data-slot":"container",class:n(r.value.container({class:e.ui?.container}))},{default:o(()=>[m("div",{"data-slot":"right",class:n(r.value.right({class:e.ui?.right}))},[s(u.$slots,"right")],2),m("div",{"data-slot":"center",class:n(r.value.center({class:e.ui?.center}))},[s(u.$slots,"default")],2),m("div",{"data-slot":"left",class:n(r.value.left({class:e.ui?.left}))},[s(u.$slots,"left")],2)]),_:3},8,["class"]),d.bottom?(g(),_("div",{key:1,"data-slot":"bottom",class:n(r.value.bottom({class:e.ui?.bottom}))},[s(u.$slots,"bottom")],2)):h("",!0)]),_:3},8,["as","class"]))}},Ue=ee({__name:"view",setup(a){return(e,d)=>{const i=ae,r=te,u=le,p=ue,S=de,$=ie,x=M,k=ge;return g(),_("div",null,[t(p,null,{left:o(()=>[t(r,{to:"/",class:"flex items-center gap-2"},{default:o(()=>[t(i,{name:"i-lucide-brain",class:"size-6 text-primary"}),d[0]||(d[0]=m("span",{class:"font-semibold"},"Cognova",-1))]),_:1})]),right:o(()=>[t(u)]),_:1}),t(S,null,{default:o(()=>[s(e.$slots,"default")]),_:3}),t($,{icon:"i-lucide-brain",ui:{icon:"text-primary"}}),t(k,null,{left:o(()=>[...d[1]||(d[1]=[m("p",{class:"text-muted text-sm"}," Shared via Cognova ",-1)])]),right:o(()=>[t(x,{icon:"i-simple-icons-github",to:"https://github.com/Patrity/cognova",target:"_blank","aria-label":"View on GitHub",color:"neutral",variant:"ghost"}),t(x,{icon:"i-simple-icons-x",to:"https://x.com/Patrity/",target:"_blank","aria-label":"View Twitter",color:"neutral",variant:"ghost"})]),_:1})])}}});export{Ue as default};
1
+ import{ao as A,am as P,ap as F,bb as I,L as O,N as U,c as y,f as H,aA as G,aP as E,G as _,R as g,T as t,S as o,a3 as s,C as l,a9 as m,Q as b,a7 as h,U as n,V as q,a2 as j,aI as J,aJ as Q,ag as W,aj as v,bx as K,W as N,an as X,a8 as Y,ac as Z,a as ee,ad as te,_ as ae}from"./BxXOsXrM.js";import{_ as le}from"./D3RiUGdz.js";import{c as C}from"./DGX0tzL8.js";import{_ as M}from"./inmzPrjz.js";import{_ as se}from"./ghuJ76mD.js";import{_ as oe}from"./DyRelyfs.js";import{_ as ne}from"./CYP_MLH8.js";import{_ as ie}from"./YuTZB7sD.js";import"./Fukkqjkf.js";import"./DqB723Z0.js";import"./Cdu2qGgq.js";import"./5ZXA0Ckq.js";import"./oIX-ZDN6.js";import"./Cdt3I3Go.js";const re={slots:{root:"bg-default/75 backdrop-blur border-b border-default h-(--ui-header-height) sticky top-0 z-50",container:"flex items-center justify-between gap-3 h-full",left:"lg:flex-1 flex items-center gap-1.5",center:"hidden lg:flex",right:"flex items-center justify-end lg:flex-1 gap-1.5",title:"shrink-0 font-bold text-xl text-highlighted flex items-end gap-1.5",toggle:"lg:hidden",content:"lg:hidden",overlay:"lg:hidden",header:"px-4 sm:px-6 h-(--ui-header-height) shrink-0 flex items-center justify-between gap-3",body:"p-4 sm:p-6 overflow-y-auto"},variants:{toggleSide:{left:{toggle:"-ms-1.5"},right:{toggle:"-me-1.5"}}}},ue=Object.assign({inheritAttrs:!1},{__name:"UHeader",props:A({as:{type:null,required:!1,default:"header"},title:{type:String,required:!1,default:"Nuxt UI"},to:{type:String,required:!1,default:"/"},mode:{type:null,required:!1,default:"modal"},menu:{type:null,required:!1},toggle:{type:[Boolean,Object],required:!1,default:!0},toggleSide:{type:String,required:!1,default:"right"},class:{type:null,required:!1},ui:{type:null,required:!1}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:["update:open"],setup(a){const e=a,d=P(),i=F(a,"open",{type:Boolean,default:!1}),r=I(),{t:u}=O(),p=U(),[S,$]=C(),[x,k]=C(),[V,w]=C(),L=y(()=>(d.title&&K(d.title())||e.title||"Nuxt UI").trim());H(()=>r.fullPath,()=>{i.value=!1});const f=y(()=>v({extend:v(re),...p.ui?.header||{}})()),D=y(()=>({slideover:se,modal:oe,drawer:ne})[e.mode]),z=G(()=>E(e.menu,{content:{onOpenAutoFocus:c=>c.preventDefault()}},e.mode==="modal"?{fullscreen:!0,transition:!1}:{}));function R(){i.value=!i.value}return(c,B)=>(g(),_(W,null,[t(l(V),null,{default:o(()=>[s(c.$slots,"toggle",{open:i.value,toggle:R,ui:f.value},()=>[a.toggle?(g(),b(N,q({key:0,color:"neutral",variant:"ghost","aria-label":i.value?l(u)("header.close"):l(u)("header.open"),icon:i.value?l(p).ui.icons.close:l(p).ui.icons.menu},typeof a.toggle=="object"?a.toggle:{},{"data-slot":"toggle",class:f.value.toggle({class:e.ui?.toggle,toggleSide:a.toggleSide}),onClick:R}),null,16,["aria-label","icon","class"])):h("",!0)])]),_:3}),t(l(S),null,{default:o(()=>[m("div",{"data-slot":"left",class:n(f.value.left({class:e.ui?.left}))},[a.toggleSide==="left"?(g(),b(l(w),{key:0})):h("",!0),s(c.$slots,"left",{},()=>[t(X,{to:a.to,"aria-label":L.value,"data-slot":"title",class:n(f.value.title({class:e.ui?.title}))},{default:o(()=>[s(c.$slots,"title",{},()=>[Y(Z(a.title),1)])]),_:3},8,["to","aria-label","class"])])],2)]),_:3}),t(l(x),null,{default:o(()=>[m("div",{"data-slot":"right",class:n(f.value.right({class:e.ui?.right}))},[s(c.$slots,"right"),a.toggleSide==="right"?(g(),b(l(w),{key:0})):h("",!0)],2)]),_:3}),t(l(j),q({as:a.as},c.$attrs,{"data-slot":"root",class:f.value.root({class:[e.ui?.root,e.class]})}),{default:o(()=>[s(c.$slots,"top"),t(M,{"data-slot":"container",class:n(f.value.container({class:e.ui?.container}))},{default:o(()=>[t(l($)),m("div",{"data-slot":"center",class:n(f.value.center({class:e.ui?.center}))},[s(c.$slots,"default")],2),t(l(k))]),_:3},8,["class"]),s(c.$slots,"bottom")]),_:3},16,["as","class"]),t(l(D),q({open:i.value,"onUpdate:open":B[0]||(B[0]=T=>i.value=T),title:l(u)("header.title"),description:l(u)("header.description")},z.value,{ui:{overlay:f.value.overlay({class:e.ui?.overlay}),content:f.value.content({class:e.ui?.content})}}),{content:o(T=>[s(c.$slots,"content",J(Q(T)),()=>[a.mode!=="drawer"?(g(),_("div",{key:0,"data-slot":"header",class:n(f.value.header({class:e.ui?.header}))},[t(l($)),t(l(k))],2)):h("",!0),m("div",{"data-slot":"body",class:n(f.value.body({class:e.ui?.body}))},[s(c.$slots,"body")],2)])]),_:3},16,["open","title","description","ui"])],64))}}),ce={base:"min-h-[calc(100vh-var(--ui-header-height))]"},de={__name:"UMain",props:{as:{type:null,required:!1},class:{type:null,required:!1}},setup(a){const e=a,d=U(),i=y(()=>v({extend:v(ce),...d.ui?.main||{}}));return(r,u)=>(g(),b(l(j),{as:a.as,class:n(i.value({class:e.class}))},{default:o(()=>[s(r.$slots,"default")]),_:3},8,["as","class"]))}},fe={slots:{root:"",top:"py-8 lg:py-12",bottom:"py-8 lg:py-12",container:"py-8 lg:py-4 lg:flex lg:items-center lg:justify-between lg:gap-x-3",left:"flex items-center justify-center lg:justify-start lg:flex-1 gap-x-1.5 mt-3 lg:mt-0 lg:order-1",center:"mt-3 lg:mt-0 lg:order-2 flex items-center justify-center",right:"lg:flex-1 flex items-center justify-center lg:justify-end gap-x-1.5 lg:order-3"}},ge={__name:"UFooter",props:{as:{type:null,required:!1,default:"footer"},class:{type:null,required:!1},ui:{type:null,required:!1}},setup(a){const e=a,d=P(),i=U(),r=y(()=>v({extend:v(fe),...i.ui?.footer||{}})());return(u,p)=>(g(),b(l(j),{as:a.as,"data-slot":"root",class:n(r.value.root({class:[e.ui?.root,e.class]}))},{default:o(()=>[d.top?(g(),_("div",{key:0,"data-slot":"top",class:n(r.value.top({class:e.ui?.top}))},[s(u.$slots,"top")],2)):h("",!0),t(M,{"data-slot":"container",class:n(r.value.container({class:e.ui?.container}))},{default:o(()=>[m("div",{"data-slot":"right",class:n(r.value.right({class:e.ui?.right}))},[s(u.$slots,"right")],2),m("div",{"data-slot":"center",class:n(r.value.center({class:e.ui?.center}))},[s(u.$slots,"default")],2),m("div",{"data-slot":"left",class:n(r.value.left({class:e.ui?.left}))},[s(u.$slots,"left")],2)]),_:3},8,["class"]),d.bottom?(g(),_("div",{key:1,"data-slot":"bottom",class:n(r.value.bottom({class:e.ui?.bottom}))},[s(u.$slots,"bottom")],2)):h("",!0)]),_:3},8,["as","class"]))}},Ue=ee({__name:"view",setup(a){return(e,d)=>{const i=ae,r=te,u=le,p=ue,S=de,$=ie,x=N,k=ge;return g(),_("div",null,[t(p,null,{left:o(()=>[t(r,{to:"/",class:"flex items-center gap-2"},{default:o(()=>[t(i,{name:"i-lucide-brain",class:"size-6 text-primary"}),d[0]||(d[0]=m("span",{class:"font-semibold"},"Cognova",-1))]),_:1})]),right:o(()=>[t(u)]),_:1}),t(S,null,{default:o(()=>[s(e.$slots,"default")]),_:3}),t($,{icon:"i-lucide-brain",ui:{icon:"text-primary"}}),t(k,null,{left:o(()=>[...d[1]||(d[1]=[m("p",{class:"text-muted text-sm"}," Shared via Cognova ",-1)])]),right:o(()=>[t(x,{icon:"i-simple-icons-github",to:"https://github.com/Patrity/cognova",target:"_blank","aria-label":"View on GitHub",color:"neutral",variant:"ghost"}),t(x,{icon:"i-simple-icons-x",to:"https://x.com/Patrity/",target:"_blank","aria-label":"View Twitter",color:"neutral",variant:"ghost"})]),_:1})])}}});export{Ue as default};
@@ -1 +1 @@
1
- import{a as g}from"./CAGIVdiL.js";import{L as b,N as v,c as h,G as n,R as c,a8 as x,T as u,aa as d,U as r,ad as q,C as o,W as k,a3 as C,V as S,ak as p}from"./CmF_IsFj.js";import $ from"./hfaTbWV_.js";const w={slots:{root:"relative my-5 group",header:"flex items-center gap-1.5 border border-muted bg-default border-b-0 relative rounded-t-md px-4 py-3",filename:"text-default text-sm/6",icon:"size-4 shrink-0",copy:"absolute top-[11px] right-[11px] lg:opacity-0 lg:group-hover:opacity-100 transition",base:"group font-mono text-sm/6 border border-muted bg-muted rounded-md px-4 py-3 whitespace-pre-wrap break-words overflow-x-auto focus:outline-none"},variants:{filename:{true:{root:"[&>pre]:rounded-t-none [&>pre]:my-0 my-5"}}}},P={__name:"ProsePre",props:{icon:{type:null,required:!1},code:{type:String,required:!1},language:{type:String,required:!1},filename:{type:String,required:!1},highlights:{type:Array,required:!1},hideHeader:{type:Boolean,required:!1},meta:{type:String,required:!1},class:{type:null,required:!1},ui:{type:null,required:!1}},setup(a){const e=a,{t:m}=b(),{copy:f,copied:y}=g(),t=v(),s=h(()=>p({extend:p(w),...t.ui?.prose?.pre||{}})());return(l,i)=>(c(),n("div",{class:r(s.value.root({class:[e.ui?.root],filename:!!a.filename}))},[a.filename&&!a.hideHeader?(c(),n("div",{key:0,class:r(s.value.header({class:e.ui?.header}))},[u($,{icon:a.icon,filename:a.filename,class:r(s.value.icon({class:e.ui?.icon}))},null,8,["icon","filename","class"]),d("span",{class:r(s.value.filename({class:e.ui?.filename}))},q(a.filename),3)],2)):x("",!0),u(k,{icon:o(y)?o(t).ui.icons.copyCheck:o(t).ui.icons.copy,color:"neutral",variant:"outline",size:"sm","aria-label":o(m)("prose.pre.copy"),class:r(s.value.copy({class:e.ui?.copy})),tabindex:"-1",onClick:i[0]||(i[0]=B=>o(f)(e.code||""))},null,8,["icon","aria-label","class"]),d("pre",S({class:s.value.base({class:[e.ui?.base,e.class]})},l.$attrs),[C(l.$slots,"default")],16)],2))}};export{P as default};
1
+ import{a as g}from"./DGX0tzL8.js";import{L as b,N as v,c as h,G as n,R as c,a7 as x,T as u,a9 as d,U as r,ac as q,C as o,W as C,a3 as k,V as S,aj as p}from"./BxXOsXrM.js";import $ from"./CqU2XbzO.js";const w={slots:{root:"relative my-5 group",header:"flex items-center gap-1.5 border border-muted bg-default border-b-0 relative rounded-t-md px-4 py-3",filename:"text-default text-sm/6",icon:"size-4 shrink-0",copy:"absolute top-[11px] right-[11px] lg:opacity-0 lg:group-hover:opacity-100 transition",base:"group font-mono text-sm/6 border border-muted bg-muted rounded-md px-4 py-3 whitespace-pre-wrap break-words overflow-x-auto focus:outline-none"},variants:{filename:{true:{root:"[&>pre]:rounded-t-none [&>pre]:my-0 my-5"}}}},P={__name:"ProsePre",props:{icon:{type:null,required:!1},code:{type:String,required:!1},language:{type:String,required:!1},filename:{type:String,required:!1},highlights:{type:Array,required:!1},hideHeader:{type:Boolean,required:!1},meta:{type:String,required:!1},class:{type:null,required:!1},ui:{type:null,required:!1}},setup(a){const e=a,{t:m}=b(),{copy:f,copied:y}=g(),t=v(),s=h(()=>p({extend:p(w),...t.ui?.prose?.pre||{}})());return(l,i)=>(c(),n("div",{class:r(s.value.root({class:[e.ui?.root],filename:!!a.filename}))},[a.filename&&!a.hideHeader?(c(),n("div",{key:0,class:r(s.value.header({class:e.ui?.header}))},[u($,{icon:a.icon,filename:a.filename,class:r(s.value.icon({class:e.ui?.icon}))},null,8,["icon","filename","class"]),d("span",{class:r(s.value.filename({class:e.ui?.filename}))},q(a.filename),3)],2)):x("",!0),u(C,{icon:o(y)?o(t).ui.icons.copyCheck:o(t).ui.icons.copy,color:"neutral",variant:"outline",size:"sm","aria-label":o(m)("prose.pre.copy"),class:r(s.value.copy({class:e.ui?.copy})),tabindex:"-1",onClick:i[0]||(i[0]=B=>o(f)(e.code||""))},null,8,["icon","aria-label","class"]),d("pre",S({class:s.value.base({class:[e.ui?.base,e.class]})},l.$attrs),[k(l.$slots,"default")],16)],2))}};export{P as default};
@@ -1 +1 @@
1
- import{e as V,a as j,aO as X,aP as $,c as _,aQ as Z,bi as ee,Q as H,R as Q,S as O,T as z,C as g,a2 as U,bh as B,am as q,a3 as Y,k as te,$ as M,a0 as le,V as ae,bj as L}from"./CmF_IsFj.js";import{R as ne}from"./xdp-pGVh.js";import{u as re}from"./pqmDf_cQ.js";import{f as N}from"./D2_L0Ze1.js";import{u as ue}from"./CqsT2LL7.js";import{R as ie,M as se}from"./BFtDSgo7.js";function de(r,f){const e=V(),o=(t,S)=>{if(f.multiple&&Array.isArray(r.value))if(f.selectionBehavior==="replace")r.value=[t],e.value=t;else{const h=r.value.findIndex(i=>S(i));h!==-1?r.value=r.value.filter((i,p)=>p!==h):r.value=[...r.value,t]}else f.selectionBehavior==="replace"?r.value={...t}:!Array.isArray(r.value)&&S(r.value)?r.value=void 0:r.value={...t};return r.value};function x(t,S,h,i){if(!e?.value||!f.multiple||!Array.isArray(r.value))return;const A=h().filter(C=>C.ref.dataset.disabled!=="").find(C=>C.ref===S)?.value;if(!A)return;let K=null;switch(t){case"prev":case"next":{K=N(i,e.value,A);break}case"first":{K=N(i,e.value,i?.[0]);break}case"last":{K=N(i,e.value,i?.[i.length-1]);break}}r.value=K}return{firstValue:e,onSelectItem:o,handleMultipleReplace:x}}function P(r){return r.reduce((f,e)=>(f.push(e),e.children&&f.push(...P(e.children)),f),[])}const[oe,ce]=Z("TreeRoot");var ve=j({__name:"TreeRoot",props:{modelValue:{type:null,required:!1},defaultValue:{type:null,required:!1},items:{type:Array,required:!1},expanded:{type:Array,required:!1},defaultExpanded:{type:Array,required:!1},getKey:{type:Function,required:!0},getChildren:{type:Function,required:!1,default:r=>r.children},selectionBehavior:{type:String,required:!1,default:"toggle"},multiple:{type:Boolean,required:!1,skipCheck:!0},dir:{type:String,required:!1},disabled:{type:Boolean,required:!1},propagateSelect:{type:Boolean,required:!1},bubbleSelect:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"ul"}},emits:["update:modelValue","update:expanded"],setup(r,{emit:f}){const e=r,o=f,{items:x,multiple:t,disabled:S,propagateSelect:h,dir:i,bubbleSelect:p}=X(e),{handleTypeaheadSearch:A}=ue(),K=re(i),C=V(),k=V(!1),R=ee(),u=$(e,"modelValue",o,{defaultValue:e.defaultValue??(t.value?[]:void 0),passive:!0,deep:!0}),v=$(e,"expanded",o,{defaultValue:e.defaultExpanded??[],passive:e.expanded===void 0,deep:!0}),{onSelectItem:l,handleMultipleReplace:n}=de(u,e),s=_(()=>t.value&&Array.isArray(u.value)?u.value.map(a=>e.getKey(a)):[e.getKey(u.value??{})]);function I(a,d=1,y){return a.reduce((c,m,w)=>{const G=e.getKey(m),F=e.getChildren(m),J=v.value.includes(G),W={_id:G,value:m,index:w,level:d,parentItem:y,hasChildren:!!F,bind:{value:m,level:d,"aria-setsize":a.length,"aria-posinset":w+1}};return c.push(W),F&&J&&c.push(...I(F,d+1,m)),c},[])}const T=_(()=>{const a=e.items;return v.value.map(d=>d),I(a??[])});function E(a){if(k.value)R.trigger(a);else{const d=C.value?.getItems()??[];A(a.key,d)}}function b(a){if(k.value)return;const d=se[a.key];te(()=>{n(d,M(),C.value?.getItems,T.value.map(y=>y.value))})}function D(a){if(a.parentItem!=null&&Array.isArray(u.value)&&e.multiple){const d=T.value.find(y=>a.parentItem!=null&&e.getKey(y.value)===e.getKey(a.parentItem));d!=null&&(e.getChildren(d.value)?.every(c=>u.value.find(m=>e.getKey(m)===e.getKey(c)))?u.value=[...u.value,d.value]:u.value=u.value.filter(c=>e.getKey(c)!==e.getKey(d.value)),D(d))}}return ce({modelValue:u,selectedKeys:s,onSelect:a=>{const d=c=>e.getKey(c??{})===e.getKey(a),y=e.multiple&&Array.isArray(u.value)?u.value?.findIndex(d)!==-1:void 0;if(l(a,d),e.bubbleSelect&&e.multiple&&Array.isArray(u.value)){const c=T.value.find(m=>e.getKey(m.value)===e.getKey(a));c!=null&&D(c)}if(e.propagateSelect&&e.multiple&&Array.isArray(u.value)){const c=P(e.getChildren(a)??[]);y?u.value=[...u.value].filter(m=>!c.some(w=>e.getKey(m??{})===e.getKey(w))):u.value=[...u.value,...c]}},expanded:v,onToggle(a){if(!(a?e.getChildren(a):void 0))return;const y=e.getKey(a)??a;v.value.includes(y)?v.value=v.value.filter(c=>c!==y):v.value=[...v.value,y]},getKey:e.getKey,getChildren:e.getChildren,items:x,expandedItems:T,disabled:S,multiple:t,dir:K,propagateSelect:h,bubbleSelect:p,isVirtual:k,virtualKeydownHook:R,handleMultipleReplace:n}),(a,d)=>(Q(),H(g(ie),{ref_key:"rovingFocusGroupRef",ref:C,"as-child":"",orientation:"vertical",dir:g(K)},{default:O(()=>[z(g(U),{role:"tree",as:a.as,"as-child":a.asChild,"aria-multiselectable":g(t)?!0:void 0,onKeydown:[E,B(q(b,["shift"]),["up","down"])]},{default:O(()=>[Y(a.$slots,"default",{flattenItems:T.value,modelValue:g(u),expanded:g(v)})]),_:3},8,["as","as-child","aria-multiselectable","onKeydown"])]),_:3},8,["dir"]))}}),be=ve;const fe="tree.select",pe="tree.toggle";var ye=j({inheritAttrs:!1,__name:"TreeItem",props:{value:{type:null,required:!0},level:{type:Number,required:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"li"}},emits:["select","toggle"],setup(r,{expose:f,emit:e}){const o=r,x=e,t=oe(),{getItems:S}=le(),h=_(()=>!!t.getChildren(o.value)),i=_(()=>{const l=t.getKey(o.value);return t.expanded.value.includes(l)}),p=_(()=>{const l=t.getKey(o.value);return t.selectedKeys.value.includes(l)}),A=_(()=>{if(t.bubbleSelect.value&&h.value&&Array.isArray(t.modelValue.value)){const l=P(t.getChildren(o.value)||[]);return l.some(n=>t.modelValue.value.find(s=>t.getKey(s)===t.getKey(n)))&&!l.every(n=>t.modelValue.value.find(s=>t.getKey(s)===t.getKey(n)))}else return t.propagateSelect.value&&p.value&&h.value&&Array.isArray(t.modelValue.value)?!P(t.getChildren(o.value)||[]).every(n=>t.modelValue.value.find(s=>t.getKey(s)===t.getKey(n))):void 0});function K(l){if(h.value)if(i.value){const n=S().map(b=>b.ref),s=M(),I=n.indexOf(s),E=[...n].slice(I).find(b=>Number(b.getAttribute("data-indent"))===o.level+1);E&&E.focus()}else v(l)}function C(l){if(i.value)v(l);else{const n=S().map(b=>b.ref),s=M(),I=n.indexOf(s),E=[...n].slice(0,I).reverse().find(b=>Number(b.getAttribute("data-indent"))===o.level-1);E&&E.focus()}}async function k(l){x("select",l),!l?.defaultPrevented&&t.onSelect(o.value)}async function R(l){x("toggle",l),!l?.defaultPrevented&&t.onToggle(o.value)}async function u(l){if(!l)return;const n={originalEvent:l,value:o.value,isExpanded:i.value,isSelected:p.value};L(fe,k,n)}async function v(l){if(!l)return;const n={originalEvent:l,value:o.value,isExpanded:i.value,isSelected:p.value};L(pe,R,n)}return f({isExpanded:i,isSelected:p,isIndeterminate:A,handleToggle:()=>t.onToggle(o.value),handleSelect:()=>t.onSelect(o.value)}),(l,n)=>(Q(),H(g(ne),{"as-child":"",value:l.value,"allow-shift-key":""},{default:O(()=>[z(g(U),ae(l.$attrs,{role:"treeitem",as:l.as,"as-child":l.asChild,"aria-selected":p.value,"aria-expanded":h.value?i.value:void 0,"aria-level":l.level,"data-indent":l.level,"data-selected":p.value?"":void 0,"data-expanded":i.value?"":void 0,onKeydown:[B(q(u,["self","prevent"]),["enter","space"]),n[0]||(n[0]=B(q(s=>g(t).dir.value==="ltr"?K(s):C(s),["prevent"]),["right"])),n[1]||(n[1]=B(q(s=>g(t).dir.value==="ltr"?C(s):K(s),["prevent"]),["left"]))],onClick:n[2]||(n[2]=q(s=>{u(s),v(s)},["stop"]))}),{default:O(()=>[Y(l.$slots,"default",{isExpanded:i.value,isSelected:p.value,isIndeterminate:A.value,handleSelect:()=>g(t).onSelect(l.value),handleToggle:()=>g(t).onToggle(l.value)})]),_:3},16,["as","as-child","aria-selected","aria-expanded","aria-level","data-indent","data-selected","data-expanded","onKeydown"])]),_:3},8,["value"]))}}),Ae=ye;export{be as T,Ae as a,oe as i};
1
+ import{e as P,a as j,aK as X,aL as L,c as _,aM as Z,bi as ee,Q as H,R as z,S as F,T as Q,C as g,a2 as U,bh as B,al as q,a3 as Y,k as te,$ as V,a0 as le,V as ae,bj as $}from"./BxXOsXrM.js";import{R as ne}from"./BAIz-dEB.js";import{u as re}from"./Cvp7FI3T.js";import{f as O}from"./_CYZi8HN.js";import{u as ue}from"./BJ3o57WW.js";import{R as ie,M as se}from"./DB359q8R.js";function de(r,f){const e=P(),o=(t,S)=>{if(f.multiple&&Array.isArray(r.value))if(f.selectionBehavior==="replace")r.value=[t],e.value=t;else{const h=r.value.findIndex(i=>S(i));h!==-1?r.value=r.value.filter((i,p)=>p!==h):r.value=[...r.value,t]}else f.selectionBehavior==="replace"?r.value={...t}:!Array.isArray(r.value)&&S(r.value)?r.value=void 0:r.value={...t};return r.value};function x(t,S,h,i){if(!e?.value||!f.multiple||!Array.isArray(r.value))return;const A=h().filter(C=>C.ref.dataset.disabled!=="").find(C=>C.ref===S)?.value;if(!A)return;let K=null;switch(t){case"prev":case"next":{K=O(i,e.value,A);break}case"first":{K=O(i,e.value,i?.[0]);break}case"last":{K=O(i,e.value,i?.[i.length-1]);break}}r.value=K}return{firstValue:e,onSelectItem:o,handleMultipleReplace:x}}function M(r){return r.reduce((f,e)=>(f.push(e),e.children&&f.push(...M(e.children)),f),[])}const[oe,ce]=Z("TreeRoot");var ve=j({__name:"TreeRoot",props:{modelValue:{type:null,required:!1},defaultValue:{type:null,required:!1},items:{type:Array,required:!1},expanded:{type:Array,required:!1},defaultExpanded:{type:Array,required:!1},getKey:{type:Function,required:!0},getChildren:{type:Function,required:!1,default:r=>r.children},selectionBehavior:{type:String,required:!1,default:"toggle"},multiple:{type:Boolean,required:!1,skipCheck:!0},dir:{type:String,required:!1},disabled:{type:Boolean,required:!1},propagateSelect:{type:Boolean,required:!1},bubbleSelect:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"ul"}},emits:["update:modelValue","update:expanded"],setup(r,{emit:f}){const e=r,o=f,{items:x,multiple:t,disabled:S,propagateSelect:h,dir:i,bubbleSelect:p}=X(e),{handleTypeaheadSearch:A}=ue(),K=re(i),C=P(),k=P(!1),R=ee(),u=L(e,"modelValue",o,{defaultValue:e.defaultValue??(t.value?[]:void 0),passive:!0,deep:!0}),v=L(e,"expanded",o,{defaultValue:e.defaultExpanded??[],passive:e.expanded===void 0,deep:!0}),{onSelectItem:l,handleMultipleReplace:n}=de(u,e),s=_(()=>t.value&&Array.isArray(u.value)?u.value.map(a=>e.getKey(a)):[e.getKey(u.value??{})]);function I(a,d=1,y){return a.reduce((c,m,w)=>{const G=e.getKey(m),N=e.getChildren(m),J=v.value.includes(G),W={_id:G,value:m,index:w,level:d,parentItem:y,hasChildren:!!N,bind:{value:m,level:d,"aria-setsize":a.length,"aria-posinset":w+1}};return c.push(W),N&&J&&c.push(...I(N,d+1,m)),c},[])}const T=_(()=>{const a=e.items;return v.value.map(d=>d),I(a??[])});function E(a){if(k.value)R.trigger(a);else{const d=C.value?.getItems()??[];A(a.key,d)}}function b(a){if(k.value)return;const d=se[a.key];te(()=>{n(d,V(),C.value?.getItems,T.value.map(y=>y.value))})}function D(a){if(a.parentItem!=null&&Array.isArray(u.value)&&e.multiple){const d=T.value.find(y=>a.parentItem!=null&&e.getKey(y.value)===e.getKey(a.parentItem));d!=null&&(e.getChildren(d.value)?.every(c=>u.value.find(m=>e.getKey(m)===e.getKey(c)))?u.value=[...u.value,d.value]:u.value=u.value.filter(c=>e.getKey(c)!==e.getKey(d.value)),D(d))}}return ce({modelValue:u,selectedKeys:s,onSelect:a=>{const d=c=>e.getKey(c??{})===e.getKey(a),y=e.multiple&&Array.isArray(u.value)?u.value?.findIndex(d)!==-1:void 0;if(l(a,d),e.bubbleSelect&&e.multiple&&Array.isArray(u.value)){const c=T.value.find(m=>e.getKey(m.value)===e.getKey(a));c!=null&&D(c)}if(e.propagateSelect&&e.multiple&&Array.isArray(u.value)){const c=M(e.getChildren(a)??[]);y?u.value=[...u.value].filter(m=>!c.some(w=>e.getKey(m??{})===e.getKey(w))):u.value=[...u.value,...c]}},expanded:v,onToggle(a){if(!(a?e.getChildren(a):void 0))return;const y=e.getKey(a)??a;v.value.includes(y)?v.value=v.value.filter(c=>c!==y):v.value=[...v.value,y]},getKey:e.getKey,getChildren:e.getChildren,items:x,expandedItems:T,disabled:S,multiple:t,dir:K,propagateSelect:h,bubbleSelect:p,isVirtual:k,virtualKeydownHook:R,handleMultipleReplace:n}),(a,d)=>(z(),H(g(ie),{ref_key:"rovingFocusGroupRef",ref:C,"as-child":"",orientation:"vertical",dir:g(K)},{default:F(()=>[Q(g(U),{role:"tree",as:a.as,"as-child":a.asChild,"aria-multiselectable":g(t)?!0:void 0,onKeydown:[E,B(q(b,["shift"]),["up","down"])]},{default:F(()=>[Y(a.$slots,"default",{flattenItems:T.value,modelValue:g(u),expanded:g(v)})]),_:3},8,["as","as-child","aria-multiselectable","onKeydown"])]),_:3},8,["dir"]))}}),be=ve;const fe="tree.select",pe="tree.toggle";var ye=j({inheritAttrs:!1,__name:"TreeItem",props:{value:{type:null,required:!0},level:{type:Number,required:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"li"}},emits:["select","toggle"],setup(r,{expose:f,emit:e}){const o=r,x=e,t=oe(),{getItems:S}=le(),h=_(()=>!!t.getChildren(o.value)),i=_(()=>{const l=t.getKey(o.value);return t.expanded.value.includes(l)}),p=_(()=>{const l=t.getKey(o.value);return t.selectedKeys.value.includes(l)}),A=_(()=>{if(t.bubbleSelect.value&&h.value&&Array.isArray(t.modelValue.value)){const l=M(t.getChildren(o.value)||[]);return l.some(n=>t.modelValue.value.find(s=>t.getKey(s)===t.getKey(n)))&&!l.every(n=>t.modelValue.value.find(s=>t.getKey(s)===t.getKey(n)))}else return t.propagateSelect.value&&p.value&&h.value&&Array.isArray(t.modelValue.value)?!M(t.getChildren(o.value)||[]).every(n=>t.modelValue.value.find(s=>t.getKey(s)===t.getKey(n))):void 0});function K(l){if(h.value)if(i.value){const n=S().map(b=>b.ref),s=V(),I=n.indexOf(s),E=[...n].slice(I).find(b=>Number(b.getAttribute("data-indent"))===o.level+1);E&&E.focus()}else v(l)}function C(l){if(i.value)v(l);else{const n=S().map(b=>b.ref),s=V(),I=n.indexOf(s),E=[...n].slice(0,I).reverse().find(b=>Number(b.getAttribute("data-indent"))===o.level-1);E&&E.focus()}}async function k(l){x("select",l),!l?.defaultPrevented&&t.onSelect(o.value)}async function R(l){x("toggle",l),!l?.defaultPrevented&&t.onToggle(o.value)}async function u(l){if(!l)return;const n={originalEvent:l,value:o.value,isExpanded:i.value,isSelected:p.value};$(fe,k,n)}async function v(l){if(!l)return;const n={originalEvent:l,value:o.value,isExpanded:i.value,isSelected:p.value};$(pe,R,n)}return f({isExpanded:i,isSelected:p,isIndeterminate:A,handleToggle:()=>t.onToggle(o.value),handleSelect:()=>t.onSelect(o.value)}),(l,n)=>(z(),H(g(ne),{"as-child":"",value:l.value,"allow-shift-key":""},{default:F(()=>[Q(g(U),ae(l.$attrs,{role:"treeitem",as:l.as,"as-child":l.asChild,"aria-selected":p.value,"aria-expanded":h.value?i.value:void 0,"aria-level":l.level,"data-indent":l.level,"data-selected":p.value?"":void 0,"data-expanded":i.value?"":void 0,onKeydown:[B(q(u,["self","prevent"]),["enter","space"]),n[0]||(n[0]=B(q(s=>g(t).dir.value==="ltr"?K(s):C(s),["prevent"]),["right"])),n[1]||(n[1]=B(q(s=>g(t).dir.value==="ltr"?C(s):K(s),["prevent"]),["left"]))],onClick:n[2]||(n[2]=q(s=>{u(s),v(s)},["stop"]))}),{default:F(()=>[Y(l.$slots,"default",{isExpanded:i.value,isSelected:p.value,isIndeterminate:A.value,handleSelect:()=>g(t).onSelect(l.value),handleToggle:()=>g(t).onToggle(l.value)})]),_:3},16,["as","as-child","aria-selected","aria-expanded","aria-level","data-indent","data-selected","data-expanded","onKeydown"])]),_:3},8,["value"]))}}),Ae=ye;export{be as T,Ae as a,oe as i};
@@ -1 +1 @@
1
- import{a as x,Q as g,S as a,R as l,aa as o,G as C,a8 as h,T as c,_ as b,ad as n,a9 as d,W as y}from"./CmF_IsFj.js";import{_ as k}from"./DcIiuvW-.js";const v={class:"p-6"},B={class:"flex items-start gap-4"},L={key:0,class:"shrink-0 p-2 rounded-full bg-error/10"},N={class:"flex-1 min-w-0"},U={class:"text-lg font-semibold text-default"},V={class:"mt-2 text-sm text-muted"},w={class:"mt-6 flex justify-end gap-3"},M=x({__name:"ConfirmModal",props:{open:{type:Boolean},title:{default:"Confirm Action"},description:{default:"Are you sure you want to proceed?"},confirmLabel:{default:"Confirm"},cancelLabel:{default:"Cancel"},confirmColor:{default:"primary"},icon:{default:void 0},loading:{type:Boolean,default:!1}},emits:["update:open","confirm","cancel"],setup(e,{emit:r}){const t=r;function m(){t("update:open",!1),t("cancel")}function f(){t("confirm")}return($,s)=>{const u=b,i=y,_=k;return l(),g(_,{open:e.open,"onUpdate:open":s[0]||(s[0]=p=>t("update:open",p))},{content:a(()=>[o("div",v,[o("div",B,[e.icon?(l(),C("div",L,[c(u,{name:e.icon,class:"size-6 text-error"},null,8,["name"])])):h("",!0),o("div",N,[o("h3",U,n(e.title),1),o("p",V,n(e.description),1)])]),o("div",w,[c(i,{color:"neutral",variant:"ghost",disabled:e.loading,onClick:m},{default:a(()=>[d(n(e.cancelLabel),1)]),_:1},8,["disabled"]),c(i,{color:e.confirmColor,loading:e.loading,onClick:f},{default:a(()=>[d(n(e.confirmLabel),1)]),_:1},8,["color","loading"])])])]),_:1},8,["open"])}}}),S=Object.assign(M,{__name:"ConfirmModal"});export{S as _};
1
+ import{a as x,Q as g,S as a,R as l,a9 as o,G as C,a7 as h,T as c,_ as b,ac as n,a8 as d,W as y}from"./BxXOsXrM.js";import{_ as k}from"./DyRelyfs.js";const v={class:"p-6"},B={class:"flex items-start gap-4"},L={key:0,class:"shrink-0 p-2 rounded-full bg-error/10"},N={class:"flex-1 min-w-0"},U={class:"text-lg font-semibold text-default"},V={class:"mt-2 text-sm text-muted"},w={class:"mt-6 flex justify-end gap-3"},M=x({__name:"ConfirmModal",props:{open:{type:Boolean},title:{default:"Confirm Action"},description:{default:"Are you sure you want to proceed?"},confirmLabel:{default:"Confirm"},cancelLabel:{default:"Cancel"},confirmColor:{default:"primary"},icon:{default:void 0},loading:{type:Boolean,default:!1}},emits:["update:open","confirm","cancel"],setup(e,{emit:r}){const t=r;function m(){t("update:open",!1),t("cancel")}function f(){t("confirm")}return($,s)=>{const u=b,i=y,_=k;return l(),g(_,{open:e.open,"onUpdate:open":s[0]||(s[0]=p=>t("update:open",p))},{content:a(()=>[o("div",v,[o("div",B,[e.icon?(l(),C("div",L,[c(u,{name:e.icon,class:"size-6 text-error"},null,8,["name"])])):h("",!0),o("div",N,[o("h3",U,n(e.title),1),o("p",V,n(e.description),1)])]),o("div",w,[c(i,{color:"neutral",variant:"ghost",disabled:e.loading,onClick:m},{default:a(()=>[d(n(e.cancelLabel),1)]),_:1},8,["disabled"]),c(i,{color:e.confirmColor,loading:e.loading,onClick:f},{default:a(()=>[d(n(e.confirmLabel),1)]),_:1},8,["color","loading"])])])]),_:1},8,["open"])}}}),S=Object.assign(M,{__name:"ConfirmModal"});export{S as _};
@@ -1 +1 @@
1
- import{b3 as D,e as T,aA as b,f as A,l as j,b4 as R,k as I,a5 as x}from"./CmF_IsFj.js";function f(e){if(typeof e!="object")return e;var o,t,i=Object.prototype.toString.call(e);if(i==="[object Object]"){if(e.constructor!==Object&&typeof e.constructor=="function"){t=new e.constructor;for(o in e)e.hasOwnProperty(o)&&t[o]!==e[o]&&(t[o]=f(e[o]))}else{t={};for(o in e)o==="__proto__"?Object.defineProperty(t,o,{value:f(e[o]),configurable:!0,enumerable:!0,writable:!0}):t[o]=f(e[o])}return t}if(i==="[object Array]"){for(o=e.length,t=Array(o);o--;)t[o]=f(e[o]);return t}return i==="[object Set]"?(t=new Set,e.forEach(function(a){t.add(f(a))}),t):i==="[object Map]"?(t=new Map,e.forEach(function(a,r){t.set(f(r),f(a))}),t):i==="[object Date]"?new Date(+e):i==="[object RegExp]"?(t=new RegExp(e.source,e.flags),t.lastIndex=e.lastIndex,t):i==="[object DataView]"?new e.constructor(f(e.buffer)):i==="[object ArrayBuffer]"?e.slice(0):i.slice(-6)==="Array]"?new e.constructor(e):e}function N(e,o){if(typeof e!="string")throw new TypeError("argument str must be a string");const t={},i=o||{},a=i.decode||P;let r=0;for(;r<e.length;){const n=e.indexOf("=",r);if(n===-1)break;let c=e.indexOf(";",r);if(c===-1)c=e.length;else if(c<n){r=e.lastIndexOf(";",n-1)+1;continue}const s=e.slice(r,n).trim();if(i?.filter&&!i?.filter(s)){r=c+1;continue}if(t[s]===void 0){let u=e.slice(n+1,c).trim();u.codePointAt(0)===34&&(u=u.slice(1,-1)),t[s]=L(u,a)}r=c+1}return t}function P(e){return e.includes("%")?decodeURIComponent(e):e}function L(e,o){try{return o(e)}catch{return e}}const m=/^[\u0009\u0020-\u007E\u0080-\u00FF]+$/;function S(e,o,t){const i=t||{},a=i.encode||encodeURIComponent;if(typeof a!="function")throw new TypeError("option encode is invalid");if(!m.test(e))throw new TypeError("argument name is invalid");const r=a(o);if(r&&!m.test(r))throw new TypeError("argument val is invalid");let n=e+"="+r;if(i.maxAge!==void 0&&i.maxAge!==null){const c=i.maxAge-0;if(Number.isNaN(c)||!Number.isFinite(c))throw new TypeError("option maxAge is invalid");n+="; Max-Age="+Math.floor(c)}if(i.domain){if(!m.test(i.domain))throw new TypeError("option domain is invalid");n+="; Domain="+i.domain}if(i.path){if(!m.test(i.path))throw new TypeError("option path is invalid");n+="; Path="+i.path}if(i.expires){if(!M(i.expires)||Number.isNaN(i.expires.valueOf()))throw new TypeError("option expires is invalid");n+="; Expires="+i.expires.toUTCString()}if(i.httpOnly&&(n+="; HttpOnly"),i.secure&&(n+="; Secure"),i.priority)switch(typeof i.priority=="string"?i.priority.toLowerCase():i.priority){case"low":{n+="; Priority=Low";break}case"medium":{n+="; Priority=Medium";break}case"high":{n+="; Priority=High";break}default:throw new TypeError("option priority is invalid")}if(i.sameSite)switch(typeof i.sameSite=="string"?i.sameSite.toLowerCase():i.sameSite){case!0:{n+="; SameSite=Strict";break}case"lax":{n+="; SameSite=Lax";break}case"strict":{n+="; SameSite=Strict";break}case"none":{n+="; SameSite=None";break}default:throw new TypeError("option sameSite is invalid")}return i.partitioned&&(n+="; Partitioned"),n}function M(e){return Object.prototype.toString.call(e)==="[object Date]"||e instanceof Date}const U={path:"/",watch:!0,decode:e=>D(decodeURIComponent(e)),encode:e=>encodeURIComponent(typeof e=="string"?e:JSON.stringify(e))},y=globalThis.cookieStore;function V(e,o){const t={...U,...o};t.filter??=u=>u===e;const i=E(t)||{};let a;t.maxAge!==void 0?a=t.maxAge*1e3:t.expires&&(a=t.expires.getTime()-Date.now());const r=a!==void 0&&a<=0,n=r||i[e]===void 0||i[e]===null,c=f(r?void 0:i[e]??t.default?.()),s=a&&!r?F(c,a,t.watch&&t.watch!=="shallow"):T(c);{let u=null;try{!y&&typeof BroadcastChannel<"u"&&(u=new BroadcastChannel(`nuxt:cookies:${e}`))}catch{}const d=(l=!1)=>{!l&&(t.readonly||x(s.value,i[e]))||(B(e,s.value,t),i[e]=f(s.value),u?.postMessage({value:t.encode(s.value)}))},p=l=>{const h=l.refresh?E(t)?.[e]:t.decode(l.value);w=!0,s.value=h,i[e]=f(h),I(()=>{w=!1})};let w=!1;const v=!!j();if(v&&b(()=>{w=!0,d(),u?.close()}),y){const l=h=>{const k=h.changed.find(g=>g.name===e),O=h.deleted.find(g=>g.name===e);k&&p({value:k.value}),O&&p({value:null})};y.addEventListener("change",l),v&&b(()=>y.removeEventListener("change",l))}else u&&(u.onmessage=({data:l})=>p(l));t.watch&&A(s,()=>{w||d()},{deep:t.watch!=="shallow"}),n&&d(n)}return s}function E(e={}){return N(document.cookie,e)}function _(e,o,t={}){return o==null?S(e,o,{...t,maxAge:-1}):S(e,o,t)}function B(e,o,t={}){document.cookie=_(e,o,t)}const C=2147483647;function F(e,o,t){let i,a,r=0;const n=t?T(e):{value:e};return j()&&b(()=>{a?.(),clearTimeout(i)}),R((c,s)=>{t&&(a=A(n,s));function u(){r=0,clearTimeout(i);const d=o-r,p=d<C?d:C;i=setTimeout(()=>{if(r+=p,r<o)return u();n.value=void 0,s()},p)}return{get(){return c(),n.value},set(d){u(),n.value=d,s()}}})}export{V as u};
1
+ import{a$ as D,e as T,az as b,f as j,l as A,b0 as R,k as I,a4 as x}from"./BxXOsXrM.js";function f(e){if(typeof e!="object")return e;var o,t,i=Object.prototype.toString.call(e);if(i==="[object Object]"){if(e.constructor!==Object&&typeof e.constructor=="function"){t=new e.constructor;for(o in e)e.hasOwnProperty(o)&&t[o]!==e[o]&&(t[o]=f(e[o]))}else{t={};for(o in e)o==="__proto__"?Object.defineProperty(t,o,{value:f(e[o]),configurable:!0,enumerable:!0,writable:!0}):t[o]=f(e[o])}return t}if(i==="[object Array]"){for(o=e.length,t=Array(o);o--;)t[o]=f(e[o]);return t}return i==="[object Set]"?(t=new Set,e.forEach(function(a){t.add(f(a))}),t):i==="[object Map]"?(t=new Map,e.forEach(function(a,r){t.set(f(r),f(a))}),t):i==="[object Date]"?new Date(+e):i==="[object RegExp]"?(t=new RegExp(e.source,e.flags),t.lastIndex=e.lastIndex,t):i==="[object DataView]"?new e.constructor(f(e.buffer)):i==="[object ArrayBuffer]"?e.slice(0):i.slice(-6)==="Array]"?new e.constructor(e):e}function N(e,o){if(typeof e!="string")throw new TypeError("argument str must be a string");const t={},i=o||{},a=i.decode||P;let r=0;for(;r<e.length;){const n=e.indexOf("=",r);if(n===-1)break;let c=e.indexOf(";",r);if(c===-1)c=e.length;else if(c<n){r=e.lastIndexOf(";",n-1)+1;continue}const s=e.slice(r,n).trim();if(i?.filter&&!i?.filter(s)){r=c+1;continue}if(t[s]===void 0){let u=e.slice(n+1,c).trim();u.codePointAt(0)===34&&(u=u.slice(1,-1)),t[s]=L(u,a)}r=c+1}return t}function P(e){return e.includes("%")?decodeURIComponent(e):e}function L(e,o){try{return o(e)}catch{return e}}const m=/^[\u0009\u0020-\u007E\u0080-\u00FF]+$/;function S(e,o,t){const i=t||{},a=i.encode||encodeURIComponent;if(typeof a!="function")throw new TypeError("option encode is invalid");if(!m.test(e))throw new TypeError("argument name is invalid");const r=a(o);if(r&&!m.test(r))throw new TypeError("argument val is invalid");let n=e+"="+r;if(i.maxAge!==void 0&&i.maxAge!==null){const c=i.maxAge-0;if(Number.isNaN(c)||!Number.isFinite(c))throw new TypeError("option maxAge is invalid");n+="; Max-Age="+Math.floor(c)}if(i.domain){if(!m.test(i.domain))throw new TypeError("option domain is invalid");n+="; Domain="+i.domain}if(i.path){if(!m.test(i.path))throw new TypeError("option path is invalid");n+="; Path="+i.path}if(i.expires){if(!M(i.expires)||Number.isNaN(i.expires.valueOf()))throw new TypeError("option expires is invalid");n+="; Expires="+i.expires.toUTCString()}if(i.httpOnly&&(n+="; HttpOnly"),i.secure&&(n+="; Secure"),i.priority)switch(typeof i.priority=="string"?i.priority.toLowerCase():i.priority){case"low":{n+="; Priority=Low";break}case"medium":{n+="; Priority=Medium";break}case"high":{n+="; Priority=High";break}default:throw new TypeError("option priority is invalid")}if(i.sameSite)switch(typeof i.sameSite=="string"?i.sameSite.toLowerCase():i.sameSite){case!0:{n+="; SameSite=Strict";break}case"lax":{n+="; SameSite=Lax";break}case"strict":{n+="; SameSite=Strict";break}case"none":{n+="; SameSite=None";break}default:throw new TypeError("option sameSite is invalid")}return i.partitioned&&(n+="; Partitioned"),n}function M(e){return Object.prototype.toString.call(e)==="[object Date]"||e instanceof Date}const U={path:"/",watch:!0,decode:e=>D(decodeURIComponent(e)),encode:e=>encodeURIComponent(typeof e=="string"?e:JSON.stringify(e))},y=globalThis.cookieStore;function H(e,o){const t={...U,...o};t.filter??=u=>u===e;const i=E(t)||{};let a;t.maxAge!==void 0?a=t.maxAge*1e3:t.expires&&(a=t.expires.getTime()-Date.now());const r=a!==void 0&&a<=0,n=r||i[e]===void 0||i[e]===null,c=f(r?void 0:i[e]??t.default?.()),s=a&&!r?B(c,a,t.watch&&t.watch!=="shallow"):T(c);{let u=null;try{!y&&typeof BroadcastChannel<"u"&&(u=new BroadcastChannel(`nuxt:cookies:${e}`))}catch{}const d=(l=!1)=>{!l&&(t.readonly||x(s.value,i[e]))||(z(e,s.value,t),i[e]=f(s.value),u?.postMessage({value:t.encode(s.value)}))},p=l=>{const h=l.refresh?E(t)?.[e]:t.decode(l.value);w=!0,s.value=h,i[e]=f(h),I(()=>{w=!1})};let w=!1;const v=!!A();if(v&&b(()=>{w=!0,d(),u?.close()}),y){const l=h=>{const k=h.changed.find(g=>g.name===e),O=h.deleted.find(g=>g.name===e);k&&p({value:k.value}),O&&p({value:null})};y.addEventListener("change",l),v&&b(()=>y.removeEventListener("change",l))}else u&&(u.onmessage=({data:l})=>p(l));t.watch&&j(s,()=>{w||d()},{deep:t.watch!=="shallow"}),n&&d(n)}return s}function E(e={}){return N(document.cookie,e)}function _(e,o,t={}){return o==null?S(e,o,{...t,maxAge:-1}):S(e,o,t)}function z(e,o,t={}){document.cookie=_(e,o,t)}const C=2147483647;function B(e,o,t){let i,a,r=0;const n=t?T(e):{value:e};return A()&&b(()=>{a?.(),clearTimeout(i)}),R((c,s)=>{t&&(a=j(n,s));function u(){r=0,clearTimeout(i);const d=o-r,p=d<C?d:C;i=setTimeout(()=>{if(r+=p,r<o)return u();n.value=void 0,s()},p)}return{get(){return c(),n.value},set(d){u(),n.value=d,s()}}})}export{H as u};
@@ -1 +1 @@
1
- import{ab as c,c as d,G as t,R as n,a3 as a,C as p}from"./CmF_IsFj.js";const u=["id"],f=["href"],k={__name:"ProseH6",props:{id:{type:String,required:!1}},setup(r){const e=r,{headings:o}=c().public.mdc,i=d(()=>e.id&&(typeof o?.anchorLinks=="boolean"&&o?.anchorLinks===!0||typeof o?.anchorLinks=="object"&&o?.anchorLinks?.h6));return(s,h)=>(n(),t("h6",{id:e.id},[e.id&&p(i)?(n(),t("a",{key:0,href:`#${e.id}`},[a(s.$slots,"default")],8,f)):a(s.$slots,"default",{key:1})],8,u))}};export{k as default};
1
+ import{aa as c,c as d,G as t,R as n,a3 as a,C as p}from"./BxXOsXrM.js";const u=["id"],f=["href"],k={__name:"ProseH6",props:{id:{type:String,required:!1}},setup(r){const e=r,{headings:o}=c().public.mdc,i=d(()=>e.id&&(typeof o?.anchorLinks=="boolean"&&o?.anchorLinks===!0||typeof o?.anchorLinks=="object"&&o?.anchorLinks?.h6));return(s,h)=>(n(),t("h6",{id:e.id},[e.id&&p(i)?(n(),t("a",{key:0,href:`#${e.id}`},[a(s.$slots,"default")],8,f)):a(s.$slots,"default",{key:1})],8,u))}};export{k as default};
@@ -1 +1 @@
1
- import{r as p}from"./KAzeBbaL.js";import{an as m,N as y,c as f,Q as x,R as r,S as q,aa as v,G as i,a8 as l,ad as n,U as s,C as g,a2 as k,ak as u,a9 as S}from"./CmF_IsFj.js";import"./iik6CYzq.js";const C={slots:{root:"my-5",container:"flex items-center gap-3 font-mono text-sm",name:"font-semibold text-primary",wrapper:"flex-1 flex items-center gap-1.5 text-xs",required:"rounded-sm bg-error/10 text-error px-1.5 py-0.5",type:"rounded-sm bg-elevated text-toned px-1.5 py-0.5",description:"mt-3 text-muted text-sm [&_code]:text-xs/4"}},h={__name:"ProseField",props:{as:{type:null,required:!1},name:{type:String,required:!1},type:{type:String,required:!1},description:{type:String,required:!1},required:{type:Boolean,required:!1},class:{type:null,required:!1},ui:{type:null,required:!1}},setup(e){const t=e,o=m(),c=y(),a=f(()=>u({extend:u(C),...c.ui?.prose?.field||{}})());return(d,w)=>(r(),x(g(k),{as:e.as,class:s(a.value.root({class:[t.ui?.root,t.class]}))},{default:q(()=>[v("div",{class:s(a.value.container({class:t.ui?.container}))},[e.name?(r(),i("span",{key:0,class:s(a.value.name({class:t.ui?.name}))},n(e.name),3)):l("",!0),e.type||e.required?(r(),i("div",{key:1,class:s(a.value.wrapper({class:t.ui?.wrapper}))},[e.type?(r(),i("span",{key:0,class:s(a.value.type({class:t.ui?.type}))},n(e.type),3)):l("",!0),e.required?(r(),i("span",{key:1,class:s(a.value.required({class:t.ui?.required}))}," required ",2)):l("",!0)],2)):l("",!0)],2),o.default||e.description?(r(),i("div",{key:0,class:s(a.value.description({class:t.ui?.description}))},[p(d.$slots,"default",{mdcUnwrap:"p"},()=>[S(n(e.description),1)])],2)):l("",!0)]),_:3},8,["as","class"]))}};export{h as default};
1
+ import{r as p}from"./xuzLdW-o.js";import{am as m,N as y,c as f,Q as x,R as r,S as q,a9 as v,G as i,a7 as l,ac as n,U as s,C as g,a2 as k,aj as u,a8 as S}from"./BxXOsXrM.js";import"./iik6CYzq.js";const C={slots:{root:"my-5",container:"flex items-center gap-3 font-mono text-sm",name:"font-semibold text-primary",wrapper:"flex-1 flex items-center gap-1.5 text-xs",required:"rounded-sm bg-error/10 text-error px-1.5 py-0.5",type:"rounded-sm bg-elevated text-toned px-1.5 py-0.5",description:"mt-3 text-muted text-sm [&_code]:text-xs/4"}},h={__name:"ProseField",props:{as:{type:null,required:!1},name:{type:String,required:!1},type:{type:String,required:!1},description:{type:String,required:!1},required:{type:Boolean,required:!1},class:{type:null,required:!1},ui:{type:null,required:!1}},setup(e){const t=e,o=m(),c=y(),a=f(()=>u({extend:u(C),...c.ui?.prose?.field||{}})());return(d,w)=>(r(),x(g(k),{as:e.as,class:s(a.value.root({class:[t.ui?.root,t.class]}))},{default:q(()=>[v("div",{class:s(a.value.container({class:t.ui?.container}))},[e.name?(r(),i("span",{key:0,class:s(a.value.name({class:t.ui?.name}))},n(e.name),3)):l("",!0),e.type||e.required?(r(),i("div",{key:1,class:s(a.value.wrapper({class:t.ui?.wrapper}))},[e.type?(r(),i("span",{key:0,class:s(a.value.type({class:t.ui?.type}))},n(e.type),3)):l("",!0),e.required?(r(),i("span",{key:1,class:s(a.value.required({class:t.ui?.required}))}," required ",2)):l("",!0)],2)):l("",!0)],2),o.default||e.description?(r(),i("div",{key:0,class:s(a.value.description({class:t.ui?.description}))},[p(d.$slots,"default",{mdcUnwrap:"p"},()=>[S(n(e.description),1)])],2)):l("",!0)]),_:3},8,["as","class"]))}};export{h as default};
@@ -0,0 +1 @@
1
+ import{_ as Pe}from"./CeIu7z4p.js";import{_ as Ve}from"./YuTZB7sD.js";import{a as de,am as ue,bP as Be,a0 as Me,Z as je,c as U,E as Ae,$ as ye,k as Ee,G as F,R as u,ag as le,ah as ne,Q as T,as as Ie,aR as Se,C as a,N as ce,aE as we,aD as qe,aP as ze,aA as Te,aj as re,b5 as Ne,T as o,S as d,a9 as f,U as q,a3 as N,a7 as E,V as R,_ as Y,a8 as H,ac as ie,aO as ae,L as Le,aF as Re,P as _e,bQ as We,av as He,by as De,bN as Oe,an as Qe,bR as Ge,bS as Ye,aI as he,aJ as xe,e as P,q as $e,ai as X,bh as be,W as fe,O as Je,bg as Ze,a1 as Xe,ae as et,aS as Ce,bb as tt}from"./BxXOsXrM.js";import{i as at,a as lt,T as it}from"./BhzMoffi.js";import{g as nt}from"./BJ3o57WW.js";import{M as ot}from"./DB359q8R.js";import{u as st}from"./iBGCpHdw.js";import{c as ke}from"./DGX0tzL8.js";import{g as rt,_ as dt}from"./_J_7XIn-.js";import{C as Z,a as ut,b as ct}from"./C0kh_F7v.js";import{_ as ft}from"./CVgTJeSq.js";import{_ as mt}from"./CeIVm4A3.js";import{_ as Ke}from"./DyRelyfs.js";import{_ as pt,a as gt}from"./B_3_hrpn.js";import{u as vt}from"./C3FxIITy.js";import{_ as yt}from"./D3RiUGdz.js";import{_ as bt}from"./CYP_MLH8.js";import{_ as ht}from"./C4pxqdgg.js";import{_ as xt}from"./BS0ofHJK.js";import{_ as kt}from"./DIoI0uJm.js";import{_ as It,a as wt}from"./CKkC3Ptm.js";import{c as Tt,_ as $t}from"./yNrp2XvX.js";import{i as zt,d as Ct,_ as St,u as qt,a as Lt}from"./CmzH6R-N.js";import{u as _t}from"./wCGVE8_e.js";import{u as Ue}from"./BIckl6wA.js";import"./Cdt3I3Go.js";import"./BAIz-dEB.js";import"./DqB723Z0.js";import"./Cvp7FI3T.js";import"./_CYZi8HN.js";import"./5ZXA0Ckq.js";import"./Nb2jBtYT.js";import"./DJMS2og1.js";import"./oIX-ZDN6.js";import"./C6Y-ieo6.js";import"./Cr8ixbr1.js";import"./Fukkqjkf.js";import"./Cdu2qGgq.js";import"./BlAZO7nq.js";import"./DznawRFW.js";import"./Vcq4gwWv.js";import"./BZXMQuYP.js";var Dt=de({__name:"TreeVirtualizer",props:{overscan:{type:Number,required:!1},estimateSize:{type:Number,required:!1},textContent:{type:Function,required:!1}},setup(t){const b=t,c=ue(),s=at(),m=Be(),{getItems:h}=Me(),x=je("",1e3),w=U(()=>{const v=p=>b.textContent?b.textContent(p):p.toString().toLowerCase();return s.expandedItems.value.map((p,k)=>({index:k,textContent:v(p.value)}))});s.isVirtual.value=!0;const O=U(()=>{const v=m.value;if(v){const p=window.getComputedStyle(v);return{start:Number.parseFloat(p.paddingBlockStart||p.paddingTop),end:Number.parseFloat(p.paddingBlockEnd||p.paddingBottom)}}else return{start:0,end:0}}),S=st({get scrollPaddingStart(){return O.value.start},get scrollPaddingEnd(){return O.value.end},get count(){return s.expandedItems.value.length??0},get horizontal(){return!1},getItemKey(v){return v+s.getKey(s.expandedItems.value[v].value)},estimateSize(){return b.estimateSize??28},getScrollElement(){return m.value},overscan:b.overscan??12}),K=U(()=>S.value.getVirtualItems().map(v=>({item:v,is:Ae(c.default({item:s.expandedItems.value[v.index],virtualizer:S.value,virtualItem:v})[0],{"data-index":v.index,style:{position:"absolute",top:0,left:0,transform:`translateY(${v.start}px)`,overflowAnchor:"none"}})})));function $(v){S.value.scrollToIndex(v,{align:"start"}),requestAnimationFrame(()=>{const p=m.value.querySelector(`[data-index="${v}"]`);p instanceof HTMLElement&&p.focus()})}return s.virtualKeydownHook.on(v=>{const p=v.altKey||v.ctrlKey||v.metaKey;if(v.key==="Tab"&&!p)return;const L=ot[v.key];if(["first","last"].includes(L)){v.preventDefault();const e=L==="first"?0:s.expandedItems.value.length-1;S.value.scrollToIndex(e),requestAnimationFrame(()=>{const i=h();(L==="first"?i[0]:i[i.length-1]).ref.focus()})}else if(L==="prev"&&v.key!=="ArrowUp"){const e=ye(),i=Number(e.getAttribute("data-index")),l=Number(e.getAttribute("data-indent")),y=s.expandedItems.value.slice(0,i).map((_,I)=>({..._,index:I})).reverse().find(_=>_.level===l-1);y&&$(y.index)}else if(!L&&!p){x.value+=v.key;const e=Number(ye()?.getAttribute("data-index")),i=w.value[e].textContent,l=w.value.map(_=>_.textContent),z=nt(l,x.value,i),y=w.value.find(_=>_.textContent===z);y&&$(y.index)}Ee(()=>{v.shiftKey&&L&&s.handleMultipleReplace(L,ye(),h,s.expandedItems.value.map(e=>e.value))})}),(v,p)=>(u(),F("div",{"data-reka-virtualizer":"",style:Se({position:"relative",width:"100%",height:`${a(S).getTotalSize()}px`})},[(u(!0),F(le,null,ne(K.value,({is:k,item:L})=>(u(),T(Ie(k),{key:L.key}))),128))],4))}}),Ot=Dt;const Kt={slots:{root:"relative isolate",item:"w-full",listWithChildren:"border-s border-default",itemWithChildren:"ps-1.5 -ms-px",link:"relative group w-full flex items-center text-sm select-none before:absolute before:inset-y-px before:inset-x-0 before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:ring-inset focus-visible:before:ring-2",linkLeadingIcon:"shrink-0 relative",linkLabel:"truncate",linkTrailing:"ms-auto inline-flex gap-1.5 items-center",linkTrailingIcon:"shrink-0 transform transition-transform duration-200 group-data-expanded:rotate-180"},variants:{virtualize:{true:{root:"overflow-y-auto"}},color:{primary:{link:"focus-visible:before:ring-primary"},secondary:{link:"focus-visible:before:ring-secondary"},success:{link:"focus-visible:before:ring-success"},info:{link:"focus-visible:before:ring-info"},warning:{link:"focus-visible:before:ring-warning"},error:{link:"focus-visible:before:ring-error"},neutral:{link:"focus-visible:before:ring-inverted"}},size:{xs:{listWithChildren:"ms-4",link:"px-2 py-1 text-xs gap-1",linkLeadingIcon:"size-4",linkTrailingIcon:"size-4"},sm:{listWithChildren:"ms-4.5",link:"px-2.5 py-1.5 text-xs gap-1.5",linkLeadingIcon:"size-4",linkTrailingIcon:"size-4"},md:{listWithChildren:"ms-5",link:"px-2.5 py-1.5 text-sm gap-1.5",linkLeadingIcon:"size-5",linkTrailingIcon:"size-5"},lg:{listWithChildren:"ms-5.5",link:"px-3 py-2 text-sm gap-2",linkLeadingIcon:"size-5",linkTrailingIcon:"size-5"},xl:{listWithChildren:"ms-6",link:"px-3 py-2 text-base gap-2",linkLeadingIcon:"size-6",linkTrailingIcon:"size-6"}},selected:{true:{link:"before:bg-elevated"}},disabled:{true:{link:"cursor-not-allowed opacity-75"}}},compoundVariants:[{color:"primary",selected:!0,class:{link:"text-primary"}},{color:"secondary",selected:!0,class:{link:"text-secondary"}},{color:"success",selected:!0,class:{link:"text-success"}},{color:"info",selected:!0,class:{link:"text-info"}},{color:"warning",selected:!0,class:{link:"text-warning"}},{color:"error",selected:!0,class:{link:"text-error"}},{color:"neutral",selected:!0,class:{link:"text-highlighted"}},{selected:!1,disabled:!1,class:{link:["hover:text-highlighted hover:before:bg-elevated/50","transition-colors before:transition-colors"]}}],defaultVariants:{color:"primary",size:"md"}},Ut=Object.assign({inheritAttrs:!1},{__name:"UTree",props:{as:{type:null,required:!1},color:{type:null,required:!1},size:{type:null,required:!1},getKey:{type:Function,required:!1},labelKey:{type:null,required:!1,default:"label"},trailingIcon:{type:null,required:!1},expandedIcon:{type:null,required:!1},collapsedIcon:{type:null,required:!1},items:{type:null,required:!1},modelValue:{type:null,required:!1},defaultValue:{type:null,required:!1},multiple:{type:Boolean,required:!1},nested:{type:Boolean,required:!1,default:!0},virtualize:{type:[Boolean,Object],required:!1,default:!1},onSelect:{type:Function,required:!1},onToggle:{type:Function,required:!1},class:{type:null,required:!1},ui:{type:null,required:!1},expanded:{type:Array,required:!1},defaultExpanded:{type:Array,required:!1},selectionBehavior:{type:String,required:!1},propagateSelect:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},bubbleSelect:{type:Boolean,required:!1}},emits:["update:modelValue","update:expanded"],setup(t,{expose:b,emit:c}){const s=t,m=c,h=ue(),x=ce(),w=we(qe(s,"items","multiple","expanded","disabled","propagateSelect","bubbleSelect"),m),O=U(()=>typeof s.as=="string"||typeof s.as?.render=="function"?{root:s.as,link:"button"}:ze(s.as,{root:"ul",link:"button"})),S=U(()=>s.virtualize?!1:s.nested),K=U(()=>{const j={xs:{base:2,perLevel:5.5},sm:{base:2.5,perLevel:6},md:{base:2.5,perLevel:6.5},lg:{base:3,perLevel:7},xl:{base:3,perLevel:7.5}}[s.size||"md"];return r=>`calc(var(--spacing) * ${(r-1)*j.perLevel+j.base})`}),$=Te(()=>s.virtualize?ze(typeof s.virtualize=="boolean"?{}:s.virtualize,{estimateSize:rt(s.items||[],s.size||"md")}):!1),[v,p]=ke(),[k,L]=ke({props:{item:{type:Object,required:!0},index:{type:Number,required:!0},level:{type:Number,required:!0}}}),e=U(()=>re({extend:re(Kt),...x.ui?.tree||{}})({color:s.color,size:s.size,virtualize:!!s.virtualize})),i=Ne("rootRef");function l(I){return ae(I,s.labelKey)}function z(I){return s.getKey&&s.getKey(I)||l(I)}function y(I){const j=I.defaultExpanded?z(I):null,r=I.children?.flatMap(g=>y(g))??[];return[j,...r].filter(Boolean)}const _=U(()=>s.defaultExpanded??s.items?.flatMap(I=>y(I)));return b({get $el(){return i.value?.$el}}),(I,j)=>(u(),F(le,null,[o(a(k),null,{default:d(({item:r,index:g,level:B})=>[f("li",{role:"presentation",class:q(S.value&&B>1?e.value.itemWithChildren({class:[s.ui?.itemWithChildren,r.ui?.itemWithChildren]}):e.value.item({class:[s.ui?.item,r.ui?.item]}))},[o(a(lt),{level:B,value:r,"as-child":"",onToggle:M=>(r.onToggle??s.onToggle)?.(M,r),onSelect:M=>(r.onSelect??s.onSelect)?.(M,r)},{default:d(({isExpanded:M,isSelected:Q,isIndeterminate:V,handleSelect:D,handleToggle:G})=>[N(I.$slots,r.slot?`${r.slot}-wrapper`:"item-wrapper",R({index:g,level:B,expanded:M,selected:Q,indeterminate:V,handleSelect:D,handleToggle:G,ui:e.value},{item:r}),()=>[(u(),T(Ie(O.value.link),{type:O.value.link==="button"?"button":void 0,disabled:r.disabled||t.disabled,"data-slot":"link",class:q(e.value.link({class:[s.ui?.link,r.ui?.link,r.class],selected:Q,disabled:r.disabled||t.disabled})),style:Se(!S.value&&B>1?{paddingLeft:K.value(B)}:void 0)},{default:d(()=>[N(I.$slots,r.slot||"item",R({index:g,level:B,expanded:M,selected:Q,indeterminate:V,handleSelect:D,handleToggle:G,ui:e.value},{item:r}),()=>[N(I.$slots,r.slot?`${r.slot}-leading`:"item-leading",R({index:g,level:B,expanded:M,selected:Q,indeterminate:V,handleSelect:D,handleToggle:G,ui:e.value},{item:r}),()=>[r.icon?(u(),T(Y,{key:0,name:r.icon,"data-slot":"linkLeadingIcon",class:q(e.value.linkLeadingIcon({class:[s.ui?.linkLeadingIcon,r.ui?.linkLeadingIcon]}))},null,8,["name","class"])):r.children?.length?(u(),T(Y,{key:1,name:M?t.expandedIcon??a(x).ui.icons.folderOpen:t.collapsedIcon??a(x).ui.icons.folder,"data-slot":"linkLeadingIcon",class:q(e.value.linkLeadingIcon({class:[s.ui?.linkLeadingIcon,r.ui?.linkLeadingIcon]}))},null,8,["name","class"])):E("",!0)]),l(r)||h[r.slot?`${r.slot}-label`:"item-label"]?(u(),F("span",{key:0,"data-slot":"linkLabel",class:q(e.value.linkLabel({class:[s.ui?.linkLabel,r.ui?.linkLabel]}))},[N(I.$slots,r.slot?`${r.slot}-label`:"item-label",R({index:g,level:B,expanded:M,selected:Q,indeterminate:V,handleSelect:D,handleToggle:G,ui:e.value},{item:r}),()=>[H(ie(l(r)),1)])],2)):E("",!0),r.trailingIcon||r.children?.length||h[r.slot?`${r.slot}-trailing`:"item-trailing"]?(u(),F("span",{key:1,"data-slot":"linkTrailing",class:q(e.value.linkTrailing({class:[s.ui?.linkTrailing,r.ui?.linkTrailing]}))},[N(I.$slots,r.slot?`${r.slot}-trailing`:"item-trailing",R({index:g,level:B,expanded:M,selected:Q,indeterminate:V,handleSelect:D,handleToggle:G,ui:e.value},{item:r}),()=>[r.trailingIcon?(u(),T(Y,{key:0,name:r.trailingIcon,"data-slot":"linkTrailingIcon",class:q(e.value.linkTrailingIcon({class:[s.ui?.linkTrailingIcon,r.ui?.linkTrailingIcon]}))},null,8,["name","class"])):r.children?.length?(u(),T(Y,{key:1,name:t.trailingIcon??a(x).ui.icons.chevronDown,"data-slot":"linkTrailingIcon",class:q(e.value.linkTrailingIcon({class:[s.ui?.linkTrailingIcon,r.ui?.linkTrailingIcon]}))},null,8,["name","class"])):E("",!0)])],2)):E("",!0)])]),_:2},1032,["type","disabled","class","style"]))]),S.value&&r.children?.length&&M?(u(),F("ul",{key:0,role:"group","data-slot":"listWithChildren",class:q(e.value.listWithChildren({class:[s.ui?.listWithChildren,r.ui?.listWithChildren]}))},[o(a(p),{items:r.children,level:B+1},null,8,["items","level"])],2)):E("",!0)]),_:2},1032,["level","value","onToggle","onSelect"])],2)]),_:3}),o(a(v),null,{default:d(({items:r,level:g})=>[(u(!0),F(le,null,ne(r,(B,M)=>(u(),T(a(L),{key:`${g}-${M}`,item:B,index:M,level:g},null,8,["item","index","level"]))),128))]),_:1}),o(a(it),R({ref_key:"rootRef",ref:i},{...a(w),...I.$attrs},{as:O.value.root,"model-value":t.modelValue,"default-value":t.defaultValue,"data-slot":"root",class:e.value.root({class:[s.ui?.root,s.class]}),"get-key":z,"default-expanded":_.value,"selection-behavior":t.selectionBehavior}),{default:d(({flattenItems:r})=>[t.virtualize?(u(),T(a(Ot),R({key:0,"text-content":g=>l(g.value)},$.value),{default:d(({item:g,virtualItem:B})=>[o(a(L),{item:g.value,index:B.index,level:g.level},null,8,["item","index","level"])]),_:1},16,["text-content"])):S.value?(u(),T(a(p),{key:2,items:t.items,level:1},null,8,["items"])):(u(!0),F(le,{key:1},ne(r,(g,B)=>(u(),T(a(L),{key:g._id,item:g.value,index:B,level:g.level},null,8,["item","index","level"]))),128))]),_:1},16,["as","model-value","default-value","class","default-expanded","selection-behavior"])],64))}}),Fe={__name:"UContextMenuContent",props:{items:{type:null,required:!1},portal:{type:[Boolean,String],required:!1,skipCheck:!0},sub:{type:Boolean,required:!1},labelKey:{type:null,required:!0},descriptionKey:{type:null,required:!0},checkedIcon:{type:null,required:!1},loadingIcon:{type:null,required:!1},externalIcon:{type:[Boolean,String],required:!1,skipCheck:!0},class:{type:null,required:!1},ui:{type:null,required:!0},uiOverride:{type:null,required:!1},loop:{type:Boolean,required:!1},sideFlip:{type:Boolean,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},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","closeAutoFocus"],setup(t,{emit:b}){const c=t,s=b,m=ue(),{dir:h}=Le(),x=ce(),w=Re(Te(()=>c.portal)),O=we(_e(c,"sub","items","portal","labelKey","descriptionKey","checkedIcon","loadingIcon","externalIcon","class","ui","uiOverride"),s),S=()=>Oe(m,["default"]),[K,$]=ke(),v=U(()=>h.value==="rtl"?x.ui.icons.chevronLeft:x.ui.icons.chevronRight),p=U(()=>c.items?.length?We(c.items)?c.items:[c.items]:[]);return(k,L)=>(u(),F(le,null,[o(a(K),null,{default:d(({item:e,active:i,index:l})=>[N(k.$slots,e.slot||"item",{item:e,index:l,ui:t.ui},()=>[N(k.$slots,e.slot?`${e.slot}-leading`:"item-leading",{item:e,active:i,index:l,ui:t.ui},()=>[e.loading?(u(),T(Y,{key:0,name:t.loadingIcon||a(x).ui.icons.loading,"data-slot":"itemLeadingIcon",class:q(t.ui.itemLeadingIcon({class:[t.uiOverride?.itemLeadingIcon,e.ui?.itemLeadingIcon],color:e?.color,loading:!0}))},null,8,["name","class"])):e.icon?(u(),T(Y,{key:1,name:e.icon,"data-slot":"itemLeadingIcon",class:q(t.ui.itemLeadingIcon({class:[t.uiOverride?.itemLeadingIcon,e.ui?.itemLeadingIcon],color:e?.color,active:i}))},null,8,["name","class"])):e.avatar?(u(),T(He,R({key:2,size:e.ui?.itemLeadingAvatarSize||t.uiOverride?.itemLeadingAvatarSize||t.ui.itemLeadingAvatarSize()},e.avatar,{"data-slot":"itemLeadingAvatar",class:t.ui.itemLeadingAvatar({class:[t.uiOverride?.itemLeadingAvatar,e.ui?.itemLeadingAvatar],active:i})}),null,16,["size","class"])):E("",!0)]),a(ae)(e,c.labelKey)||m[e.slot?`${e.slot}-label`:"item-label"]||a(ae)(e,c.descriptionKey)||m[e.slot?`${e.slot}-description`:"item-description"]?(u(),F("span",{key:0,"data-slot":"itemWrapper",class:q(t.ui.itemWrapper({class:[t.uiOverride?.itemWrapper,e.ui?.itemWrapper]}))},[f("span",{"data-slot":"itemLabel",class:q(t.ui.itemLabel({class:[t.uiOverride?.itemLabel,e.ui?.itemLabel],active:i}))},[N(k.$slots,e.slot?`${e.slot}-label`:"item-label",{item:e,active:i,index:l},()=>[H(ie(a(ae)(e,c.labelKey)),1)]),e.target==="_blank"&&t.externalIcon!==!1?(u(),T(Y,{key:0,name:typeof t.externalIcon=="string"?t.externalIcon:a(x).ui.icons.external,"data-slot":"itemLabelExternalIcon",class:q(t.ui.itemLabelExternalIcon({class:[t.uiOverride?.itemLabelExternalIcon,e.ui?.itemLabelExternalIcon],color:e?.color,active:i}))},null,8,["name","class"])):E("",!0)],2),a(ae)(e,c.descriptionKey)?(u(),F("span",{key:0,"data-slot":"itemDescription",class:q(t.ui.itemDescription({class:[t.uiOverride?.itemDescription,e.ui?.itemDescription]}))},[N(k.$slots,e.slot?`${e.slot}-description`:"item-description",{item:e,active:i,index:l},()=>[H(ie(a(ae)(e,c.descriptionKey)),1)])],2)):E("",!0)],2)):E("",!0),f("span",{"data-slot":"itemTrailing",class:q(t.ui.itemTrailing({class:[t.uiOverride?.itemTrailing,e.ui?.itemTrailing]}))},[N(k.$slots,e.slot?`${e.slot}-trailing`:"item-trailing",{item:e,active:i,index:l,ui:t.ui},()=>[e.children?.length?(u(),T(Y,{key:0,name:v.value,"data-slot":"itemTrailingIcon",class:q(t.ui.itemTrailingIcon({class:[t.uiOverride?.itemTrailingIcon,e.ui?.itemTrailingIcon],color:e?.color,active:i}))},null,8,["name","class"])):e.kbds?.length?(u(),F("span",{key:1,"data-slot":"itemTrailingKbds",class:q(t.ui.itemTrailingKbds({class:[t.uiOverride?.itemTrailingKbds,e.ui?.itemTrailingKbds]}))},[(u(!0),F(le,null,ne(e.kbds,(z,y)=>(u(),T(ft,R({key:y,size:e.ui?.itemTrailingKbdsSize||t.uiOverride?.itemTrailingKbdsSize||t.ui.itemTrailingKbdsSize()},{ref_for:!0},typeof z=="string"?{value:z}:z),null,16,["size"]))),128))],2)):E("",!0)]),o(a(Z).ItemIndicator,{"as-child":""},{default:d(()=>[o(Y,{name:t.checkedIcon||a(x).ui.icons.check,"data-slot":"itemTrailingIcon",class:q(t.ui.itemTrailingIcon({class:[t.uiOverride?.itemTrailingIcon,e.ui?.itemTrailingIcon],color:e?.color}))},null,8,["name","class"])]),_:2},1024)],2)])]),_:3}),o(a(Z).Portal,he(xe(a(w))),{default:d(()=>[(u(),T(Ie(t.sub?a(Z).SubContent:a(Z).Content),R({"data-slot":"content",class:t.ui.content({class:[t.uiOverride?.content,c.class]})},a(O)),{default:d(()=>[N(k.$slots,"content-top",{sub:t.sub??!1}),f("div",{role:"presentation","data-slot":"viewport",class:q(t.ui.viewport({class:t.uiOverride?.viewport}))},[(u(!0),F(le,null,ne(p.value,(e,i)=>(u(),T(a(Z).Group,{key:`group-${i}`,"data-slot":"group",class:q(t.ui.group({class:t.uiOverride?.group}))},{default:d(()=>[(u(!0),F(le,null,ne(e,(l,z)=>(u(),F(le,{key:`group-${i}-${z}`},[l.type==="label"?(u(),T(a(Z).Label,{key:0,"data-slot":"label",class:q(t.ui.label({class:[t.uiOverride?.label,l.ui?.label,l.class]}))},{default:d(()=>[o(a($),{item:l,index:z},null,8,["item","index"])]),_:2},1032,["class"])):l.type==="separator"?(u(),T(a(Z).Separator,{key:1,"data-slot":"separator",class:q(t.ui.separator({class:[t.uiOverride?.separator,l.ui?.separator,l.class]}))},null,8,["class"])):l?.children?.length?(u(),T(a(Z).Sub,{key:2,open:l.open,"default-open":l.defaultOpen},{default:d(()=>[o(a(Z).SubTrigger,{as:"button",type:"button",disabled:l.disabled,"text-value":a(ae)(l,c.labelKey),"data-slot":"item",class:q(t.ui.item({class:[t.uiOverride?.item,l.ui?.item,l.class],color:l?.color}))},{default:d(()=>[o(a($),{item:l,index:z},null,8,["item","index"])]),_:2},1032,["disabled","text-value","class"]),o(Fe,R({sub:"",class:l.ui?.content,ui:t.ui,"ui-override":t.uiOverride,portal:t.portal,items:l.children,"align-offset":-4,"label-key":t.labelKey,"description-key":t.descriptionKey,"checked-icon":t.checkedIcon,"loading-icon":t.loadingIcon,"external-icon":t.externalIcon},{ref_for:!0},l.content),De({_:2},[ne(S(),(y,_)=>({name:_,fn:d(I=>[N(k.$slots,_,R({ref_for:!0},I))])}))]),1040,["class","ui","ui-override","portal","items","label-key","description-key","checked-icon","loading-icon","external-icon"])]),_:2},1032,["open","default-open"])):l.type==="checkbox"?(u(),T(a(Z).CheckboxItem,{key:3,"model-value":l.checked,disabled:l.disabled,"text-value":a(ae)(l,c.labelKey),"data-slot":"item",class:q(t.ui.item({class:[t.uiOverride?.item,l.ui?.item,l.class],color:l?.color})),"onUpdate:modelValue":l.onUpdateChecked,onSelect:l.onSelect},{default:d(()=>[o(a($),{item:l,index:z},null,8,["item","index"])]),_:2},1032,["model-value","disabled","text-value","class","onUpdate:modelValue","onSelect"])):(u(),T(a(Z).Item,{key:4,"as-child":"",disabled:l.disabled,"text-value":a(ae)(l,c.labelKey),onSelect:l.onSelect},{default:d(()=>[o(Qe,R({ref_for:!0},a(Ge)(l),{custom:""}),{default:d(({active:y,..._})=>[o(Ye,R({ref_for:!0},_,{"data-slot":"item",class:t.ui.item({class:[t.uiOverride?.item,l.ui?.item,l.class],active:y,color:l?.color})}),{default:d(()=>[o(a($),{item:l,active:y,index:z},null,8,["item","active","index"])]),_:2},1040,["class"])]),_:2},1040)]),_:2},1032,["disabled","text-value","onSelect"]))],64))),128))]),_:2},1032,["class"]))),128))],2),N(k.$slots,"default"),N(k.$slots,"content-bottom",{sub:t.sub??!1})]),_:3},16,["class"]))]),_:3},16)],64))}},Ft={slots:{content:"min-w-32 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-context-menu-content-transform-origin) flex flex-col",viewport:"relative divide-y divide-default scroll-py-1 overflow-y-auto flex-1",group:"p-1 isolate",label:"w-full flex items-center 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",itemLeadingIcon:"shrink-0",itemLeadingAvatar:"shrink-0",itemLeadingAvatarSize:"",itemTrailing:"ms-auto inline-flex gap-1.5 items-center",itemTrailingIcon:"shrink-0",itemTrailingKbds:"hidden lg:inline-flex items-center shrink-0",itemTrailingKbdsSize:"",itemWrapper:"flex-1 flex flex-col text-start min-w-0",itemLabel:"truncate",itemDescription:"truncate text-muted",itemLabelExternalIcon:"inline-block size-3 align-top text-dimmed"},variants:{color:{primary:"",secondary:"",success:"",info:"",warning:"",error:"",neutral:""},active:{true:{item:"text-highlighted before:bg-elevated",itemLeadingIcon:"text-default"},false:{item:["text-default data-highlighted:text-highlighted data-[state=open]:text-highlighted data-highlighted:before:bg-elevated/50 data-[state=open]:before:bg-elevated/50","transition-colors before:transition-colors"],itemLeadingIcon:["text-dimmed group-data-highlighted:text-default group-data-[state=open]:text-default","transition-colors"]}},loading:{true:{itemLeadingIcon:"animate-spin"}},size:{xs:{label:"p-1 text-xs gap-1",item:"p-1 text-xs gap-1",itemLeadingIcon:"size-4",itemLeadingAvatarSize:"3xs",itemTrailingIcon:"size-4",itemTrailingKbds:"gap-0.5",itemTrailingKbdsSize:"sm"},sm:{label:"p-1.5 text-xs gap-1.5",item:"p-1.5 text-xs gap-1.5",itemLeadingIcon:"size-4",itemLeadingAvatarSize:"3xs",itemTrailingIcon:"size-4",itemTrailingKbds:"gap-0.5",itemTrailingKbdsSize:"sm"},md:{label:"p-1.5 text-sm gap-1.5",item:"p-1.5 text-sm gap-1.5",itemLeadingIcon:"size-5",itemLeadingAvatarSize:"2xs",itemTrailingIcon:"size-5",itemTrailingKbds:"gap-0.5",itemTrailingKbdsSize:"md"},lg:{label:"p-2 text-sm gap-2",item:"p-2 text-sm gap-2",itemLeadingIcon:"size-5",itemLeadingAvatarSize:"2xs",itemTrailingIcon:"size-5",itemTrailingKbds:"gap-1",itemTrailingKbdsSize:"md"},xl:{label:"p-2 text-base gap-2",item:"p-2 text-base gap-2",itemLeadingIcon:"size-6",itemLeadingAvatarSize:"xs",itemTrailingIcon:"size-6",itemTrailingKbds:"gap-1",itemTrailingKbdsSize:"lg"}}},compoundVariants:[{color:"primary",active:!1,class:{item:"text-primary data-highlighted:text-primary data-highlighted:before:bg-primary/10 data-[state=open]:before:bg-primary/10",itemLeadingIcon:"text-primary/75 group-data-highlighted:text-primary group-data-[state=open]:text-primary"}},{color:"secondary",active:!1,class:{item:"text-secondary data-highlighted:text-secondary data-highlighted:before:bg-secondary/10 data-[state=open]:before:bg-secondary/10",itemLeadingIcon:"text-secondary/75 group-data-highlighted:text-secondary group-data-[state=open]:text-secondary"}},{color:"success",active:!1,class:{item:"text-success data-highlighted:text-success data-highlighted:before:bg-success/10 data-[state=open]:before:bg-success/10",itemLeadingIcon:"text-success/75 group-data-highlighted:text-success group-data-[state=open]:text-success"}},{color:"info",active:!1,class:{item:"text-info data-highlighted:text-info data-highlighted:before:bg-info/10 data-[state=open]:before:bg-info/10",itemLeadingIcon:"text-info/75 group-data-highlighted:text-info group-data-[state=open]:text-info"}},{color:"warning",active:!1,class:{item:"text-warning data-highlighted:text-warning data-highlighted:before:bg-warning/10 data-[state=open]:before:bg-warning/10",itemLeadingIcon:"text-warning/75 group-data-highlighted:text-warning group-data-[state=open]:text-warning"}},{color:"error",active:!1,class:{item:"text-error data-highlighted:text-error data-highlighted:before:bg-error/10 data-[state=open]:before:bg-error/10",itemLeadingIcon:"text-error/75 group-data-highlighted:text-error group-data-[state=open]:text-error"}},{color:"primary",active:!0,class:{item:"text-primary before:bg-primary/10",itemLeadingIcon:"text-primary"}},{color:"secondary",active:!0,class:{item:"text-secondary before:bg-secondary/10",itemLeadingIcon:"text-secondary"}},{color:"success",active:!0,class:{item:"text-success before:bg-success/10",itemLeadingIcon:"text-success"}},{color:"info",active:!0,class:{item:"text-info before:bg-info/10",itemLeadingIcon:"text-info"}},{color:"warning",active:!0,class:{item:"text-warning before:bg-warning/10",itemLeadingIcon:"text-warning"}},{color:"error",active:!0,class:{item:"text-error before:bg-error/10",itemLeadingIcon:"text-error"}}],defaultVariants:{size:"md"}},Pt={__name:"UContextMenu",props:{size:{type:null,required:!1},items:{type:null,required:!1},checkedIcon:{type:null,required:!1},loadingIcon:{type:null,required:!1},externalIcon:{type:[Boolean,String],required:!1,skipCheck:!0,default:!0},content:{type:Object,required:!1},portal:{type:[Boolean,String],required:!1,skipCheck:!0,default:!0},labelKey:{type:null,required:!1,default:"label"},descriptionKey:{type:null,required:!1,default:"description"},disabled:{type:Boolean,required:!1},class:{type:null,required:!1},ui:{type:null,required:!1},pressOpenDelay:{type:Number,required:!1},modal:{type:Boolean,required:!1,default:!0}},emits:["update:open"],setup(t,{emit:b}){const c=t,s=b,m=ue(),h=ce(),x=we(qe(c,"modal"),s),w=Te(()=>c.content),O=()=>Oe(m,["default"]),S=U(()=>re({extend:re(Ft),...h.ui?.contextMenu||{}})({size:c.size}));return(K,$)=>(u(),T(a(ct),he(xe(a(x))),{default:d(()=>[m.default?(u(),T(a(ut),{key:0,"as-child":"",disabled:t.disabled,class:q(c.class)},{default:d(()=>[N(K.$slots,"default")]),_:3},8,["disabled","class"])):E("",!0),o(Fe,R({class:S.value.content({class:[!m.default&&c.class,c.ui?.content]}),ui:S.value,"ui-override":c.ui},w.value,{items:t.items,portal:t.portal,"label-key":t.labelKey,"description-key":t.descriptionKey,"checked-icon":t.checkedIcon,"loading-icon":t.loadingIcon,"external-icon":t.externalIcon}),De({_:2},[ne(O(),(v,p)=>({name:p,fn:d(k=>[N(K.$slots,p,he(xe(k)))])}))]),1040,["class","ui","ui-override","items","portal","label-key","description-key","checked-icon","loading-icon","external-icon"])]),_:3},16))}};function Vt(){const t=P([]),b=P(null),c=P(!1),s=P(null),m=P("");function h(e,i=!1){const l=e.type==="directory"?void 0:x(e.name);return{id:e.path,label:e.name,icon:l,path:e.path,type:e.type,defaultExpanded:i,children:e.children?.map(z=>h(z))}}function x(e){switch(e.split(".").pop()?.toLowerCase()){case"md":return"i-lucide-file-text";case"ts":case"tsx":return"i-lucide-file-code";case"js":case"jsx":return"i-lucide-file-code";case"vue":return"i-lucide-file-code";case"json":return"i-lucide-file-json";case"css":case"scss":return"i-lucide-file-code";case"png":case"jpg":case"jpeg":case"gif":case"svg":return"i-lucide-file-image";default:return"i-lucide-file"}}async function w(e="/"){c.value=!0,s.value=null;try{const i=await $fetch("/api/fs/list",{query:{path:e,recursive:"true"}});t.value=i.data.map(l=>h(l,!0))}catch(i){s.value="Failed to load file tree",console.error("Failed to load file tree:",i)}finally{c.value=!1}}async function O(e){try{return(await $fetch("/api/fs/read",{method:"POST",body:{path:e}})).data}catch(i){throw console.error("Failed to read file:",i),i}}async function S(e,i){try{return(await $fetch("/api/fs/write",{method:"POST",body:{path:e,content:i}})).data}catch(l){throw console.error("Failed to write file:",l),l}}async function K(e,i){const l=e==="/"?`/${i}`:`${e}/${i}`;return await S(l,""),await w(),l}async function $(e,i){const l=e==="/"?`/${i}`:`${e}/${i}`;try{return await $fetch("/api/fs/mkdir",{method:"POST",body:{path:l}}),await w(),l}catch(z){throw console.error("Failed to create folder:",z),z}}async function v(e,i){const l=e.split("/");l.pop();const z=[...l,i].join("/");try{return await $fetch("/api/fs/rename",{method:"POST",body:{oldPath:e,newPath:z}}),await w(),z}catch(y){throw console.error("Failed to rename:",y),y}}async function p(e){try{await $fetch("/api/fs/delete",{method:"POST",body:{path:e}}),b.value===e&&(b.value=null),await w()}catch(i){throw console.error("Failed to delete:",i),i}}async function k(e,i){try{const l=await $fetch("/api/fs/move",{method:"POST",body:{sourcePath:e,destinationPath:i}});return await w(),l.data.newPath}catch(l){throw console.error("Failed to move:",l),l}}const L=U(()=>{if(!m.value)return t.value;const e=m.value.toLowerCase();function i(l){return l.reduce((z,y)=>{const _=y.label.toLowerCase().includes(e),I=y.children?i(y.children):[];return(_||I.length>0)&&z.push({...y,children:I.length>0?I:y.children,defaultExpanded:I.length>0||_}),z},[])}return i(t.value)});return{items:t,filteredItems:L,selectedFile:b,loading:c,error:s,searchQuery:m,loadTree:w,readFile:O,writeFile:S,createFile:K,createFolder:$,renameItem:v,deleteItem:p,moveItem:k}}const Bt={class:"h-full flex flex-col"},Mt={class:"-mt-1 pb-2"},jt={key:0,class:"flex items-center justify-center py-8"},At={key:1,class:"h-full min-h-32 flex flex-col items-center justify-center text-dimmed text-sm"},Et=["onContextmenu","onDragstart","onDragover","onDrop"],Nt={class:"truncate"},Rt={class:"flex items-center gap-2"},Wt={class:"flex justify-end gap-2"},Ht={class:"flex items-center gap-2"},Qt={class:"flex justify-end gap-2"},Gt={class:"flex items-center gap-2"},Yt={class:"flex justify-end gap-2"},Jt={class:"flex items-center gap-2 text-error"},Zt={key:0,class:"text-sm text-dimmed mt-1"},Xt={class:"flex justify-end gap-2"},ea=de({__name:"FileTree",emits:["select"],setup(t,{emit:b}){const c=b,{filteredItems:s,selectedFile:m,loading:h,searchQuery:x,loadTree:w,createFile:O,createFolder:S,renameItem:K,deleteItem:$,moveItem:v}=Vt(),p=P(null),k=P(null);function L(A,n){p.value=n,A.dataTransfer&&(A.dataTransfer.effectAllowed="move",A.dataTransfer.setData("text/plain",n.path))}function e(A,n){p.value&&n.type==="directory"&&p.value.path!==n.path&&(n.path.startsWith(p.value.path+"/")||(A.preventDefault(),k.value=n))}function i(){k.value=null}function l(){p.value=null,k.value=null}async function z(A,n){if(A.preventDefault(),!(!p.value||n.type!=="directory")){try{await v(p.value.path,n.path)}catch{}p.value=null,k.value=null}}const y=P(null),_=P(!1),I=P(!1),j=P(!1),r=P(!1),g=P(""),B=U(()=>[[{label:"New File",icon:"i-lucide-file-plus",onSelect:()=>{g.value="",_.value=!0}},{label:"New Folder",icon:"i-lucide-folder-plus",onSelect:()=>{g.value="",I.value=!0}}],[{label:"Rename",icon:"i-lucide-pencil",onSelect:()=>{y.value&&(g.value=y.value.label,j.value=!0)}},{label:"Delete",icon:"i-lucide-trash-2",color:"error",onSelect:()=>{r.value=!0}}]]);function M(A){A.type==="file"&&(m.value=A.path,c("select",A.path))}async function Q(){if(!g.value.trim())return;const A=y.value?.type==="directory"?y.value.path:"/";let n=g.value.trim();n.includes(".")||(n+=".md");try{const te=await O(A,n);m.value=te,c("select",te)}catch{}_.value=!1,g.value=""}async function V(){if(!g.value.trim())return;const A=y.value?.type==="directory"?y.value.path:"/";try{await S(A,g.value.trim())}catch{}I.value=!1,g.value=""}async function D(){if(!(!y.value||!g.value.trim())){try{await K(y.value.path,g.value.trim())}catch{}j.value=!1,g.value=""}}async function G(){if(y.value){try{await $(y.value.path)}catch{}r.value=!1}}return $e(()=>{w()}),(A,n)=>{const te=Pe,me=Ve,J=Y,pe=Ut,ge=Pt,ee=fe,oe=mt,W=Ke;return u(),F("div",Bt,[f("div",Mt,[o(te,{modelValue:a(x),"onUpdate:modelValue":n[0]||(n[0]=C=>X(x)?x.value=C:null),placeholder:"Search files...",icon:"i-lucide-search",size:"sm",class:"w-full"},null,8,["modelValue"])]),o(me,{class:"mt-2"}),o(ge,{items:a(B),class:"flex-1 h-full overflow-auto p-2",onContextmenu:n[2]||(n[2]=C=>y.value=null)},{default:d(()=>[a(h)?(u(),F("div",jt,[o(J,{name:"i-lucide-loader-2",class:"size-6 animate-spin text-dimmed"})])):a(s).length===0?(u(),F("div",At,[o(J,{name:"i-lucide-folder-open",class:"size-8 mx-auto mb-2 opacity-50"}),n[14]||(n[14]=f("p",null,"No files found",-1)),n[15]||(n[15]=f("p",{class:"text-xs mt-1"}," Right-click to create a file ",-1))])):(u(),T(pe,{key:2,items:a(s),"get-key":C=>C.id,color:"primary","expanded-icon":"i-lucide-folder-open","collapsed-icon":"i-lucide-folder",onSelect:n[1]||(n[1]=(C,ve)=>M(ve))},{item:d(({item:C,expanded:ve})=>[f("div",{class:q(["flex items-center gap-2 w-full",{"bg-primary/10 rounded":a(k)?.path===C.path}]),draggable:"true",onContextmenu:se=>y.value=C,onDragstart:se=>L(se,C),onDragover:se=>e(se,C),onDragleave:i,onDragend:l,onDrop:se=>z(se,C)},[C.children?.length?(u(),T(J,{key:0,name:ve?"i-lucide-folder-open":"i-lucide-folder",class:"size-4 shrink-0 text-dimmed"},null,8,["name"])):C.icon?(u(),T(J,{key:1,name:C.icon,class:"size-4 shrink-0 text-dimmed"},null,8,["name"])):(u(),T(J,{key:2,name:"i-lucide-file",class:"size-4 shrink-0 text-dimmed"})),f("span",Nt,ie(C.label),1)],42,Et)]),_:1},8,["items","get-key"]))]),_:1},8,["items"]),o(W,{open:a(_),"onUpdate:open":n[5]||(n[5]=C=>X(_)?_.value=C:null)},{content:d(()=>[o(oe,null,{header:d(()=>[f("div",Rt,[o(J,{name:"i-lucide-file-plus",class:"size-5"}),n[16]||(n[16]=f("span",{class:"font-semibold"},"New File",-1))])]),footer:d(()=>[f("div",Wt,[o(ee,{color:"neutral",variant:"ghost",onClick:n[4]||(n[4]=C=>_.value=!1)},{default:d(()=>[...n[17]||(n[17]=[H(" Cancel ",-1)])]),_:1}),o(ee,{onClick:Q},{default:d(()=>[...n[18]||(n[18]=[H(" Create ",-1)])]),_:1})])]),default:d(()=>[o(te,{modelValue:a(g),"onUpdate:modelValue":n[3]||(n[3]=C=>X(g)?g.value=C:null),placeholder:"filename.md",autofocus:"",onKeyup:be(Q,["enter"])},null,8,["modelValue"])]),_:1})]),_:1},8,["open"]),o(W,{open:a(I),"onUpdate:open":n[8]||(n[8]=C=>X(I)?I.value=C:null)},{content:d(()=>[o(oe,null,{header:d(()=>[f("div",Ht,[o(J,{name:"i-lucide-folder-plus",class:"size-5"}),n[19]||(n[19]=f("span",{class:"font-semibold"},"New Folder",-1))])]),footer:d(()=>[f("div",Qt,[o(ee,{color:"neutral",variant:"ghost",onClick:n[7]||(n[7]=C=>I.value=!1)},{default:d(()=>[...n[20]||(n[20]=[H(" Cancel ",-1)])]),_:1}),o(ee,{onClick:V},{default:d(()=>[...n[21]||(n[21]=[H(" Create ",-1)])]),_:1})])]),default:d(()=>[o(te,{modelValue:a(g),"onUpdate:modelValue":n[6]||(n[6]=C=>X(g)?g.value=C:null),placeholder:"folder-name",autofocus:"",onKeyup:be(V,["enter"])},null,8,["modelValue"])]),_:1})]),_:1},8,["open"]),o(W,{open:a(j),"onUpdate:open":n[11]||(n[11]=C=>X(j)?j.value=C:null)},{content:d(()=>[o(oe,null,{header:d(()=>[f("div",Gt,[o(J,{name:"i-lucide-pencil",class:"size-5"}),n[22]||(n[22]=f("span",{class:"font-semibold"},"Rename",-1))])]),footer:d(()=>[f("div",Yt,[o(ee,{color:"neutral",variant:"ghost",onClick:n[10]||(n[10]=C=>j.value=!1)},{default:d(()=>[...n[23]||(n[23]=[H(" Cancel ",-1)])]),_:1}),o(ee,{onClick:D},{default:d(()=>[...n[24]||(n[24]=[H(" Rename ",-1)])]),_:1})])]),default:d(()=>[o(te,{modelValue:a(g),"onUpdate:modelValue":n[9]||(n[9]=C=>X(g)?g.value=C:null),placeholder:"new-name",autofocus:"",onKeyup:be(D,["enter"])},null,8,["modelValue"])]),_:1})]),_:1},8,["open"]),o(W,{open:a(r),"onUpdate:open":n[13]||(n[13]=C=>X(r)?r.value=C:null)},{content:d(()=>[o(oe,null,{header:d(()=>[f("div",Jt,[o(J,{name:"i-lucide-trash-2",class:"size-5"}),n[25]||(n[25]=f("span",{class:"font-semibold"},"Delete",-1))])]),footer:d(()=>[f("div",Xt,[o(ee,{color:"neutral",variant:"ghost",onClick:n[12]||(n[12]=C=>r.value=!1)},{default:d(()=>[...n[28]||(n[28]=[H(" Cancel ",-1)])]),_:1}),o(ee,{color:"error",onClick:G},{default:d(()=>[...n[29]||(n[29]=[H(" Delete ",-1)])]),_:1})])]),default:d(()=>[f("p",null,[n[26]||(n[26]=H(" Are you sure you want to delete ",-1)),f("strong",null,ie(a(y)?.label),1),n[27]||(n[27]=H("? ",-1))]),a(y)?.type==="directory"?(u(),F("p",Zt," This will delete all files and folders inside. ")):E("",!0)]),_:1})]),_:1},8,["open"])])}}}),ta=Object.assign(ea,{__name:"FilesFileTree"}),aa={base:"hidden lg:flex",variants:{side:{left:"",right:""}}},la={__name:"UDashboardSidebarCollapse",props:{color:{type:null,required:!1,default:"neutral"},variant:{type:null,required:!1,default:"ghost"},side:{type:String,required:!1,default:"left"},label:{type:String,required:!1},activeColor:{type:null,required:!1},activeVariant:{type:null,required:!1},size:{type:null,required:!1},square:{type:Boolean,required:!1},block:{type:Boolean,required:!1},loadingAuto:{type:Boolean,required:!1},onClick:{type:[Function,Array],required:!1},class:{type:null,required:!1},ui:{type:null,required:!1},icon:{type:null,required:!1},avatar:{type:Object,required:!1},leading:{type:Boolean,required:!1},leadingIcon:{type:null,required:!1},trailing:{type:Boolean,required:!1},trailingIcon:{type:null,required:!1},loading:{type:Boolean,required:!1},loadingIcon:{type:null,required:!1},as:{type:null,required:!1},type:{type:null,required:!1},disabled:{type:Boolean,required:!1},exactActiveClass:{type:String,required:!1},viewTransition:{type:Boolean,required:!1}},setup(t){const b=t,c=Je(_e(b,"icon","side","class")),{t:s}=Le(),m=ce(),{sidebarCollapsed:h,collapseSidebar:x}=vt({sidebarCollapsed:P(!1),collapseSidebar:()=>{}}),w=U(()=>re({extend:re(aa),...m.ui?.dashboardSidebarCollapse||{}}));return(O,S)=>(u(),T(fe,R({...a(c),icon:b.icon||(a(h)?a(m).ui.icons.panelOpen:a(m).ui.icons.panelClose),"aria-label":a(h)?a(s)("dashboardSidebarCollapse.expand"):a(s)("dashboardSidebarCollapse.collapse"),...O.$attrs},{class:w.value({class:b.class,side:b.side}),onClick:S[0]||(S[0]=K=>a(x)?.(!a(h)))}),null,16,["class"]))}},ia={class:"border-b border-default px-4 py-3 bg-elevated/50"},na={class:"flex flex-wrap items-start gap-3"},oa={class:"flex items-start gap-2 py-0.5"},sa={class:"min-w-0"},ra={class:"font-medium"},da={class:"text-xs text-dimmed truncate"},ua=de({__name:"DocumentMetadata",props:{metadata:{},projects:{}},emits:["update:metadata"],setup(t,{emit:b}){const c=t,s=b,m=[{label:"Hidden",value:"hidden",icon:"i-lucide-lock",description:"Hidden behind authentication and never viewable by the public"},{label:"Private",value:"private",icon:"i-lucide-eye-off",description:"Viewable by anyone with the link, but will not be indexed by search engines"},{label:"Public",value:"public",icon:"i-lucide-eye",description:"Viewable to the public and indexed by search engines"}],h=U(()=>c.metadata.shared?c.metadata.shareType||"private":"hidden"),x=U(()=>m.find($=>$.value===h.value)),w=U({get:()=>c.metadata.tags||[],set:$=>s("update:metadata",{tags:$})});function O($){s("update:metadata",{projectId:$||void 0})}function S($){$==="hidden"?s("update:metadata",{shared:!1,shareType:void 0}):s("update:metadata",{shared:!0,shareType:$})}const K=U(()=>[{label:"None",value:void 0},...c.projects.map($=>({label:$.name,value:$.id}))]);return($,v)=>{const p=dt,k=xt,L=Y,e=kt;return u(),F("div",ia,[f("div",na,[o(k,{label:"Project",class:"w-40"},{default:d(()=>[o(p,{"model-value":t.metadata.projectId,items:a(K),"value-key":"value",placeholder:"None",class:"w-full","search-input":!1,"onUpdate:modelValue":O},null,8,["model-value","items"])]),_:1}),o(k,{label:"Visibility",class:"w-44"},{default:d(()=>[o(p,{"model-value":a(h),items:m,"value-key":"value",class:"w-full","search-input":!1,"onUpdate:modelValue":S},{leading:d(()=>[a(x)?(u(),T(L,{key:0,name:a(x).icon,class:"size-4 text-dimmed"},null,8,["name"])):E("",!0)]),item:d(({item:i})=>[f("div",oa,[o(L,{name:i.icon,class:"size-4 mt-0.5 shrink-0"},null,8,["name"]),f("div",sa,[f("div",ra,ie(i.label),1),f("div",da,ie(i.description),1)])])]),_:1},8,["model-value"])]),_:1}),o(k,{label:"Tags",class:"flex-1 min-w-48"},{default:d(()=>[o(e,{modelValue:a(w),"onUpdate:modelValue":v[0]||(v[0]=i=>X(w)?w.value=i:null),placeholder:"Add tags...",class:"w-full"},null,8,["modelValue"])]),_:1})])])}}}),ca=Object.assign(ua,{__name:"EditorDocumentMetadata"}),fa=Tt(Lt),ma={class:"h-full flex flex-col"},pa={class:"border-b border-default py-2 flex items-center justify-between"},ga={class:"flex items-center gap-2 text-sm text-dimmed min-w-0"},va={class:"truncate"},ya={key:0,class:"w-40"},ba={class:"flex items-center gap-3"},ha={key:0,class:"flex items-center gap-1 text-sm text-dimmed"},xa={class:"space-y-4"},ka={class:"flex items-center gap-3"},Ia={class:"flex items-center gap-3"},wa={class:"flex items-center gap-3"},Ta=de({__name:"DocumentEditor",props:{document:{},body:{},metadata:{},filePath:{},saveStatus:{},isDirty:{type:Boolean},metadataDirty:{type:Boolean}},emits:["update:body","update:metadata","save"],async setup(t,{emit:b}){let c,s;const m=t,h=b,{data:x}=([c,s]=Ze(()=>_t("/api/projects","$c96-63t_ij")),c=await c,s(),c),w=U(()=>x.value?.data||[]),O=P(!0),{editorMode:S}=Ue(),K=U({get:()=>S.value==="editor",set:V=>S.value=V?"editor":"code"}),$=U(()=>m.document.fileType==="markdown"||zt(m.filePath)),v=U(()=>Ct(m.filePath)),p=U(()=>$.value),k=[[{kind:"heading",level:1,icon:"i-lucide-heading-1"},{kind:"heading",level:2,icon:"i-lucide-heading-2"},{kind:"heading",level:3,icon:"i-lucide-heading-3"}],[{kind:"mark",mark:"bold",icon:"i-lucide-bold"},{kind:"mark",mark:"italic",icon:"i-lucide-italic"},{kind:"mark",mark:"code",icon:"i-lucide-code"}],[{kind:"bulletList",icon:"i-lucide-list"},{kind:"orderedList",icon:"i-lucide-list-ordered"},{kind:"blockquote",icon:"i-lucide-quote"}],[{kind:"link",icon:"i-lucide-link"},{kind:"codeBlock",icon:"i-lucide-file-code"},{kind:"horizontalRule",icon:"i-lucide-minus"}],[{kind:"undo",icon:"i-lucide-undo"},{kind:"redo",icon:"i-lucide-redo"}]],L=U(()=>{switch(m.saveStatus){case"saving":return"i-lucide-loader-2";case"saved":return"i-lucide-check";case"error":return"i-lucide-alert-circle";default:return m.isDirty||m.metadataDirty?"i-lucide-circle-dot":null}}),e=U(()=>{switch(m.saveStatus){case"saving":return"Saving...";case"saved":return"Saved";case"error":return"Error saving";default:return m.isDirty||m.metadataDirty?"Unsaved changes":""}}),i=U(()=>m.body||void 0);function l(V){h("update:body",V)}function z(V){h("update:metadata",V)}function y(V){(V.metaKey||V.ctrlKey)&&V.key==="s"&&(V.preventDefault(),h("save"))}$e(()=>window.addEventListener("keydown",y)),Xe(()=>window.removeEventListener("keydown",y));const _=et(),I=U(()=>m.document?.id?`${window.location.origin}/view/${m.document.id}`:""),j=P(!1),r=P(!1);function g(){m.metadata.shared?M():r.value=!0}const{copy:B}=qt();async function M(){await B(I.value)?(j.value=!0,_.add({title:"Link copied!",icon:"i-lucide-check",color:"success"}),setTimeout(()=>{j.value=!1},2e3)):_.add({title:"Failed to copy link",icon:"i-lucide-x",color:"error"})}function Q(V,D){h("update:metadata",{shared:V,shareType:D??void 0}),r.value=!1,V&&setTimeout(()=>M(),100)}return(V,D)=>{const G=Y,A=ht,n=fe,te=ca,me=It,J=wt,pe=fa,ge=St,ee=$t,oe=Ke;return u(),F("div",ma,[f("div",pa,[f("div",ga,[o(G,{name:"i-lucide-file-text",class:"size-4 shrink-0"}),f("span",va,ie(t.filePath),1)]),a(p)?(u(),F("div",ya,[o(A,{modelValue:a(K),"onUpdate:modelValue":D[0]||(D[0]=W=>X(K)?K.value=W:null),"unchecked-icon":"i-lucide-code","checked-icon":"i-lucide-pencil",label:a(K)?"Editor Mode":"Code Mode",ui:{base:"data-[state=unchecked]:bg-info",icon:"group-data-[state=unchecked]:text-info"}},null,8,["modelValue","label"])])):E("",!0),f("div",ba,[o(n,{icon:a(j)?"i-lucide-check":"i-lucide-share",size:"xs",variant:"ghost",class:"rounded-full",onClick:g},null,8,["icon"]),o(n,{icon:a(O)?"i-lucide-panel-top-close":"i-lucide-panel-top-open",size:"xs",variant:"ghost",class:"rounded-full",onClick:D[1]||(D[1]=W=>O.value=!a(O))},null,8,["icon"]),a(L)?(u(),F("div",ha,[o(G,{name:a(L),class:q(["size-4",t.saveStatus==="saving"&&"animate-spin",t.saveStatus==="error"&&"text-error"])},null,8,["name","class"]),f("span",null,ie(a(e)),1)])):E("",!0)])]),a(O)?(u(),T(te,{key:0,metadata:t.metadata,projects:a(w),"onUpdate:metadata":z},null,8,["metadata","projects"])):E("",!0),a($)&&a(K)?(u(),T(J,{key:1,"model-value":a(i),"content-type":"markdown",placeholder:"Start writing...",class:"markdown-editor w-full min-h-64 flex-1","onUpdate:modelValue":l},{default:d(({editor:W})=>[o(me,{editor:W,items:k,class:"border-b border-default"},null,8,["editor"])]),_:1},8,["model-value"])):(u(),T(ee,{key:2},{fallback:d(()=>[o(ge,{class:"flex-1"})]),default:d(()=>[o(pe,{"model-value":t.body,language:a(v),class:"flex-1","onUpdate:modelValue":l},null,8,["model-value","language"])]),_:1})),o(oe,{open:a(r),"onUpdate:open":D[5]||(D[5]=W=>X(r)?r.value=W:null),title:"Share Document",description:"Choose how you want to share this document"},{body:d(()=>[f("div",xa,[f("div",{class:q(["p-4 border border-default rounded-lg cursor-pointer hover:bg-elevated transition-colors",{"border-primary bg-elevated":!t.metadata.shared}]),onClick:D[2]||(D[2]=W=>Q(!1,null))},[f("div",ka,[o(G,{name:"i-lucide-eye-off",class:"size-5 text-dimmed"}),D[6]||(D[6]=f("div",null,[f("div",{class:"font-medium"}," Hidden "),f("div",{class:"text-sm text-dimmed"}," Only you can view this document. Not accessible via link. ")],-1))])],2),f("div",{class:q(["p-4 border border-default rounded-lg cursor-pointer hover:bg-elevated transition-colors",{"border-primary bg-elevated":t.metadata.shared&&t.metadata.shareType==="private"}]),onClick:D[3]||(D[3]=W=>Q(!0,"private"))},[f("div",Ia,[o(G,{name:"i-lucide-link",class:"size-5 text-dimmed"}),D[7]||(D[7]=f("div",null,[f("div",{class:"font-medium"}," Private (Link Only) "),f("div",{class:"text-sm text-dimmed"}," Anyone with the link can view. Not indexed by search engines. ")],-1))])],2),f("div",{class:q(["p-4 border border-default rounded-lg cursor-pointer hover:bg-elevated transition-colors",{"border-primary bg-elevated":t.metadata.shared&&t.metadata.shareType==="public"}]),onClick:D[4]||(D[4]=W=>Q(!0,"public"))},[f("div",wa,[o(G,{name:"i-lucide-globe",class:"size-5 text-dimmed"}),D[8]||(D[8]=f("div",null,[f("div",{class:"font-medium"}," Public "),f("div",{class:"text-sm text-dimmed"}," Visible to everyone. Indexed by search engines. ")],-1))])],2)])]),_:1},8,["open"])])}}}),$a=Object.assign(Ta,{__name:"EditorDocumentEditor"});function za(){const t=P(null),b=P(null),c=P(""),s=P(null),m=P(!1),h=P("idle"),x=P(!1),w=P(!1),O=Ce(async()=>{!t.value||!x.value||await p({body:c.value})},2e3),S=Ce(async()=>{!t.value||!w.value||await p()},500);async function K(e){m.value=!0,s.value=e,x.value=!1,w.value=!1,h.value="idle";try{const i=await $fetch("/api/documents/by-path",{method:"POST",body:{path:e}});t.value=i.data.document,b.value=i.data.metadata,c.value=i.data.body||""}catch(i){console.error("Failed to load document:",i),t.value=null,b.value=null,c.value=""}finally{m.value=!1}}function $(e){c.value!==e&&(c.value=e,x.value=!0,O())}function v(e){b.value&&(b.value={...b.value,...e},w.value=!0,S())}async function p(e={}){if(t.value){h.value="saving";try{const i={...e};w.value&&b.value&&(i.title=b.value.title,i.tags=b.value.tags,i.projectId=b.value.projectId,i.shared=b.value.shared,i.shareType=b.value.shareType),x.value&&e.body===void 0&&(i.body=c.value);const l=await $fetch(`/api/documents/${t.value.id}`,{method:"PUT",body:i});t.value=l.data.document,b.value=l.data.metadata,c.value=l.data.body||"",x.value=!1,w.value=!1,h.value="saved",setTimeout(()=>{h.value==="saved"&&(h.value="idle")},2e3)}catch(i){console.error("Failed to save document:",i),h.value="error"}}}async function k(){!x.value&&!w.value||await p({body:c.value})}function L(){t.value=null,b.value=null,c.value="",s.value=null,x.value=!1,w.value=!1,h.value="idle"}return{document:t,metadata:b,body:c,filePath:s,loading:m,saveStatus:h,isDirty:x,metadataDirty:w,loadDocument:K,updateBody:$,updateMetadata:v,saveDocument:p,saveNow:k,closeDocument:L}}const Ca={class:"flex flex-1 min-w-0"},Sa={key:0,class:"flex-1 flex items-center justify-center h-full"},qa={key:1,class:"flex-1 flex items-center justify-center h-full text-dimmed"},La={class:"text-center"},hl=de({__name:"docs",setup(t){const b=tt(),{document:c,metadata:s,body:m,filePath:h,loading:x,saveStatus:w,isDirty:O,metadataDirty:S,loadDocument:K,updateBody:$,updateMetadata:v,saveNow:p}=za(),{lastDocumentPath:k}=Ue();async function L(e){await K(e),k.value=e}return $e(async()=>{const e=b.query.path;e?(await K(e),k.value=e):k.value&&await K(k.value)}),(e,i)=>{const l=ta,z=pt,y=la,_=yt,I=fe,j=bt,r=gt,g=Y,B=$a;return u(),F("div",Ca,[o(z,{id:"docs-filetree",collapsible:"",resizable:"","min-size":12,"default-size":16,"max-size":24,class:"hidden lg:flex"},{body:d(()=>[o(l,{class:"h-full",onSelect:L})]),_:1}),o(z,{id:"docs-editor",grow:"",ui:{body:"sm:py-0"}},{header:d(()=>[o(r,null,{title:d(()=>[o(y),i[0]||(i[0]=H(" Editor ",-1))]),right:d(()=>[o(_),o(j,null,{content:d(()=>[o(l,{class:"h-full",onSelect:L})]),default:d(()=>[o(I,{icon:"i-lucide-folder-tree",class:"block lg:hidden"})]),_:1})]),_:1})]),body:d(()=>[a(x)?(u(),F("div",Sa,[o(g,{name:"i-lucide-loader-2",class:"size-6 animate-spin text-dimmed"})])):a(h)?a(s)&&a(c)?(u(),T(B,{key:a(h),document:a(c),body:a(m),metadata:a(s),"file-path":a(h),"save-status":a(w),"is-dirty":a(O),"metadata-dirty":a(S),class:"h-full","onUpdate:body":a($),"onUpdate:metadata":a(v),onSave:a(p)},null,8,["document","body","metadata","file-path","save-status","is-dirty","metadata-dirty","onUpdate:body","onUpdate:metadata","onSave"])):E("",!0):(u(),F("div",qa,[f("div",La,[o(g,{name:"i-lucide-file-text",class:"size-32 mx-auto mb-4 opacity-50"}),i[1]||(i[1]=f("p",null,"Select a file to edit",-1))])]))]),_:1})])}}});export{hl as default};
@@ -1 +1 @@
1
- import{N as p,ab as f,c as i,G as o,R as n,a3 as c,U as r,ak as u}from"./CmF_IsFj.js";const m={slots:{base:"text-lg text-highlighted font-bold mt-6 mb-2 scroll-mt-[calc(24px+45px+var(--ui-header-height))] lg:scroll-mt-[calc(24px+var(--ui-header-height))] [&>a]:focus-visible:outline-primary",link:""}},g=["id"],k=["href"],y={__name:"ProseH4",props:{id:{type:String,required:!1},class:{type:null,required:!1},ui:{type:null,required:!1}},setup(e){const s=e,d=p(),{headings:a}=f().public?.mdc||{},t=i(()=>u({extend:u(m),...d.ui?.prose?.h4||{}})()),h=i(()=>s.id&&typeof a?.anchorLinks=="object"&&a.anchorLinks.h4);return(l,b)=>(n(),o("h4",{id:e.id,class:r(t.value.base({class:s.class}))},[e.id&&h.value?(n(),o("a",{key:0,href:`#${e.id}`,class:r(t.value.link({class:s.ui?.link}))},[c(l.$slots,"default")],10,k)):c(l.$slots,"default",{key:1})],10,g))}};export{y as default};
1
+ import{N as p,aa as f,c as i,G as o,R as n,a3 as c,U as r,aj as u}from"./BxXOsXrM.js";const m={slots:{base:"text-lg text-highlighted font-bold mt-6 mb-2 scroll-mt-[calc(24px+45px+var(--ui-header-height))] lg:scroll-mt-[calc(24px+var(--ui-header-height))] [&>a]:focus-visible:outline-primary",link:""}},g=["id"],k=["href"],y={__name:"ProseH4",props:{id:{type:String,required:!1},class:{type:null,required:!1},ui:{type:null,required:!1}},setup(e){const s=e,d=p(),{headings:a}=f().public?.mdc||{},t=i(()=>u({extend:u(m),...d.ui?.prose?.h4||{}})()),h=i(()=>s.id&&typeof a?.anchorLinks=="object"&&a.anchorLinks.h4);return(l,b)=>(n(),o("h4",{id:e.id,class:r(t.value.base({class:s.class}))},[e.id&&h.value?(n(),o("a",{key:0,href:`#${e.id}`,class:r(t.value.link({class:s.ui?.link}))},[c(l.$slots,"default")],10,k)):c(l.$slots,"default",{key:1})],10,g))}};export{y as default};
@@ -0,0 +1 @@
1
+ import{_ as oe}from"./DG-T44jj.js";import{a as Q,c as U,G as F,R as v,a9 as k,T as l,U as Z,C as s,_ as se,al as $e,Q as B,a7 as E,ac as j,S as m,a8 as S,aR as ue,ag as ae,ah as le,W as J,ai as z,e as b,f as q,af as De,bb as Ce,ae as Ue,q as Ve,n as ce}from"./BxXOsXrM.js";import{_ as Fe}from"./D3RiUGdz.js";import{_ as Se,a as Ie}from"./B_3_hrpn.js";import{_ as ne}from"./BYjadNrw.js";import{_ as de}from"./CeIu7z4p.js";import{_ as Pe}from"./D3e44mCL.js";import{_ as me}from"./CeIVm4A3.js";import{_ as Ee}from"./C0kh_F7v.js";import{_ as Ae}from"./BS0ofHJK.js";import{_ as ze,a as Be}from"./CKkC3Ptm.js";import{_ as Le}from"./DIoI0uJm.js";import{_ as Oe}from"./ghuJ76mD.js";import{_ as Me}from"./CihWZmJe.js";import{_ as Ne}from"./DyRelyfs.js";import{_ as qe}from"./BjjCvHLT.js";import{u as Re}from"./BIckl6wA.js";import"./C3FxIITy.js";import"./DGX0tzL8.js";import"./BlAZO7nq.js";import"./Cvp7FI3T.js";import"./Nb2jBtYT.js";import"./5ZXA0Ckq.js";import"./Cr8ixbr1.js";import"./BJ3o57WW.js";import"./oIX-ZDN6.js";import"./DqB723Z0.js";import"./C6Y-ieo6.js";import"./DB359q8R.js";import"./CVgTJeSq.js";import"./Cdt3I3Go.js";import"./DznawRFW.js";import"./Vcq4gwWv.js";import"./DJMS2og1.js";import"./Fukkqjkf.js";import"./Cdu2qGgq.js";import"./88opOQSr.js";import"./iik6CYzq.js";import"./BZXMQuYP.js";import"./yNrp2XvX.js";const He={class:"flex items-center gap-2"},Qe={class:"flex items-center flex-wrap gap-2 mt-2"},Ge={key:4,class:"text-xs text-dimmed"},We=Q({__name:"TaskCard",props:{task:{}},emits:["toggle","edit","delete","view"],setup(e,{emit:w}){const r=e,h=w,i={1:{label:"Low",color:"neutral",icon:"i-lucide-arrow-down"},2:{label:"Medium",color:"warning",icon:"i-lucide-minus"},3:{label:"High",color:"error",icon:"i-lucide-arrow-up"}},C={todo:{label:"Todo",color:"neutral",icon:"i-lucide-circle"},in_progress:{label:"In Progress",color:"info",icon:"i-lucide-clock"},done:{label:"Done",color:"success",icon:"i-lucide-check-circle"},blocked:{label:"Blocked",color:"error",icon:"i-lucide-alert-circle"}},u=U(()=>i[r.task.priority]||i[2]),g=U(()=>C[r.task.status]),_=U(()=>r.task.status==="done"),c=U(()=>!!r.task.description?.trim()),a=U(()=>!r.task.dueDate||_.value?!1:new Date(r.task.dueDate)<new Date);function p(I){return I?new Date(I).toLocaleDateString("en-US",{month:"short",day:"numeric"}):null}const $=U(()=>[[{label:"Edit",icon:"i-lucide-pencil",onSelect:()=>h("edit",r.task)},{label:"Delete",icon:"i-lucide-trash-2",color:"error",onSelect:()=>h("delete",r.task.id)}]]);return(I,A)=>{const o=se,t=oe,n=J,T=Ee;return v(),F("div",{class:Z(["group flex items-start gap-3 p-3 rounded-lg border border-default hover:bg-elevated transition-colors",{"opacity-60":s(_)}])},[k("button",{class:"mt-0.5 shrink-0",onClick:A[0]||(A[0]=$e(V=>h("toggle",e.task.id),["stop"]))},[l(o,{name:s(_)?"i-lucide-check-circle-2":"i-lucide-circle",class:Z(["size-5",s(_)?"text-success":"text-dimmed hover:text-default"])},null,8,["name","class"])]),k("button",{class:"flex-1 min-w-0 text-left",onClick:A[1]||(A[1]=V=>h("view",e.task))},[k("div",He,[k("span",{class:Z(["font-medium",{"line-through text-dimmed":s(_)}])},j(e.task.title),3),s(c)?(v(),B(o,{key:0,name:"i-lucide-file-text",class:"size-3.5 text-dimmed shrink-0"})):E("",!0)]),k("div",Qe,[e.task.project?(v(),B(t,{key:0,variant:"subtle",color:"neutral",size:"xs"},{default:m(()=>[k("span",{class:"size-2 rounded-full mr-1",style:ue({backgroundColor:e.task.project.color})},null,4),S(" "+j(e.task.project.name),1)]),_:1})):E("",!0),e.task.priority!==2?(v(),B(t,{key:1,color:s(u).color,variant:"subtle",size:"xs"},{default:m(()=>[l(o,{name:s(u).icon,class:"size-3 mr-1"},null,8,["name"]),S(" "+j(s(u).label),1)]),_:1},8,["color"])):E("",!0),e.task.status==="in_progress"||e.task.status==="blocked"?(v(),B(t,{key:2,color:s(g).color,variant:"subtle",size:"xs"},{default:m(()=>[l(o,{name:s(g).icon,class:"size-3 mr-1"},null,8,["name"]),S(" "+j(s(g).label),1)]),_:1},8,["color"])):E("",!0),e.task.dueDate?(v(),F("span",{key:3,class:Z(["text-xs flex items-center gap-1",s(a)?"text-error":"text-dimmed"])},[l(o,{name:"i-lucide-calendar",class:"size-3"}),S(" "+j(p(e.task.dueDate)),1)],2)):E("",!0),(v(!0),F(ae,null,le(e.task.tags?.slice(0,3),V=>(v(),B(t,{key:V,variant:"subtle",color:"neutral",size:"xs"},{default:m(()=>[S(j(V),1)]),_:2},1024))),128)),e.task.tags&&e.task.tags.length>3?(v(),F("span",Ge," +"+j(e.task.tags.length-3),1)):E("",!0)])]),l(T,{items:s($)},{default:m(()=>[l(n,{icon:"i-lucide-more-vertical",color:"neutral",variant:"ghost",size:"xs",class:"opacity-0 group-hover:opacity-100 transition-opacity"})]),_:1},8,["items"])],2)}}}),Je=Object.assign(We,{__name:"TasksTaskCard"}),Ke={key:0,class:"flex items-center justify-center py-12"},Xe={class:"text-center py-8 text-dimmed"},Ye={key:2,class:"space-y-2"},Ze=Q({__name:"TaskList",props:{tasks:{},loading:{type:Boolean}},emits:["toggle","edit","delete","create","view"],setup(e,{emit:w}){const r=w;return(h,i)=>{const C=se,u=J,g=me,_=Je;return v(),F("div",null,[e.loading?(v(),F("div",Ke,[l(C,{name:"i-lucide-loader-2",class:"size-8 animate-spin text-dimmed"})])):e.tasks.length===0?(v(),B(g,{key:1},{default:m(()=>[k("div",Xe,[l(C,{name:"i-lucide-check-square",class:"size-12 mx-auto mb-2 opacity-50"}),i[5]||(i[5]=k("p",{class:"font-medium"}," No tasks yet ",-1)),i[6]||(i[6]=k("p",{class:"text-sm mt-1"}," Create your first task to get started. ",-1)),l(u,{class:"mt-4",icon:"i-lucide-plus",label:"Add Task",onClick:i[0]||(i[0]=c=>r("create"))})])]),_:1})):(v(),F("div",Ye,[(v(!0),F(ae,null,le(e.tasks,c=>(v(),B(_,{key:c.id,task:c,onToggle:i[1]||(i[1]=a=>r("toggle",a)),onEdit:i[2]||(i[2]=a=>r("edit",a)),onDelete:i[3]||(i[3]=a=>r("delete",a)),onView:i[4]||(i[4]=a=>r("view",a))},null,8,["task"]))),128))]))])}}}),et=Object.assign(Ze,{__name:"TasksTaskList"}),te="__none__",tt=Q({__name:"ProjectSelect",props:{modelValue:{},projects:{}},emits:["update:modelValue"],setup(e,{emit:w}){const r=e,h=w,i=U({get:()=>r.modelValue||te,set:u=>h("update:modelValue",u===te?null:u)}),C=U(()=>[{value:te,label:"No Project"},...r.projects.filter(u=>!u.deletedAt).map(u=>({value:u.id,label:u.name}))]);return(u,g)=>{const _=ne;return v(),B(_,{modelValue:s(i),"onUpdate:modelValue":g[0]||(g[0]=c=>z(i)?i.value=c:null),items:s(C),"value-key":"value",class:"w-full"},null,8,["modelValue","items"])}}}),ot=Object.assign(tt,{__name:"TasksProjectSelect"}),st={class:"task-form-body"},at={class:"task-form-description"},lt={class:"task-form-fields"},nt={class:"grid grid-cols-2 gap-4"},it={class:"flex justify-end gap-2 w-full"},rt=Q({__name:"TaskForm",props:{open:{type:Boolean},task:{},projects:{}},emits:["update:open","submit"],setup(e,{emit:w}){const r=e,h=w,i=U(()=>!!r.task?.id),C=U(()=>i.value?"Edit Task":"Create Task"),u=b(""),g=b(""),_=b("todo"),c=b(2),a=b(null),p=b(""),$=b([]),I=[{value:"todo",label:"Todo"},{value:"in_progress",label:"In Progress"},{value:"done",label:"Done"},{value:"blocked",label:"Blocked"}],A=[{value:1,label:"Low"},{value:2,label:"Medium"},{value:3,label:"High"}],o=[[{kind:"mark",mark:"bold",icon:"i-lucide-bold"},{kind:"mark",mark:"italic",icon:"i-lucide-italic"},{kind:"mark",mark:"code",icon:"i-lucide-code"}],[{kind:"bulletList",icon:"i-lucide-list"},{kind:"orderedList",icon:"i-lucide-list-ordered"}],[{kind:"link",icon:"i-lucide-link"}]],t=U(()=>g.value||void 0);q(()=>r.task,x=>{x?(u.value=x.title,g.value=x.description||"",_.value=x.status,c.value=x.priority,a.value=x.projectId||null,p.value=x.dueDate&&new Date(x.dueDate).toISOString().split("T")[0]||"",$.value=x.tags||[]):n()},{immediate:!0}),q(()=>r.open,x=>{x||n()});function n(){u.value="",g.value="",_.value="todo",c.value=2,a.value=null,p.value="",$.value=[]}function T(){h("update:open",!1)}function V(){if(!u.value.trim())return;const x={title:u.value.trim(),description:g.value.trim()||void 0,status:_.value,priority:c.value,projectId:a.value,dueDate:p.value||void 0,tags:$.value};h("submit",x),T()}return(x,y)=>{const K=de,M=Ae,G=ze,X=Be,O=ne,N=ot,R=Le,H=J,Y=Oe;return v(),B(Y,{open:e.open,title:s(C),"onUpdate:open":y[7]||(y[7]=D=>h("update:open",D))},{body:m(()=>[k("div",st,[l(M,{label:"Title",required:""},{default:m(()=>[l(K,{modelValue:s(u),"onUpdate:modelValue":y[0]||(y[0]=D=>z(u)?u.value=D:null),placeholder:"Task title...",autofocus:"",class:"w-full"},null,8,["modelValue"])]),_:1}),k("div",at,[y[8]||(y[8]=k("label",{class:"block text-sm font-medium text-default mb-1.5"},"Description",-1)),l(X,{"model-value":s(t),"content-type":"markdown",placeholder:"Add a description...",class:"task-editor","onUpdate:modelValue":y[1]||(y[1]=D=>g.value=D)},{default:m(({editor:D})=>[l(G,{editor:D,items:o,class:"border-b border-default"},null,8,["editor"])]),_:1},8,["model-value"])]),k("div",lt,[k("div",nt,[l(M,{label:"Status"},{default:m(()=>[l(O,{modelValue:s(_),"onUpdate:modelValue":y[2]||(y[2]=D=>z(_)?_.value=D:null),items:I,"value-key":"value",class:"w-full"},null,8,["modelValue"])]),_:1}),l(M,{label:"Priority"},{default:m(()=>[l(O,{modelValue:s(c),"onUpdate:modelValue":y[3]||(y[3]=D=>z(c)?c.value=D:null),items:A,"value-key":"value",class:"w-full"},null,8,["modelValue"])]),_:1})]),l(M,{label:"Project"},{default:m(()=>[l(N,{modelValue:s(a),"onUpdate:modelValue":y[4]||(y[4]=D=>z(a)?a.value=D:null),projects:e.projects,class:"w-full"},null,8,["modelValue","projects"])]),_:1}),l(M,{label:"Due Date"},{default:m(()=>[l(K,{modelValue:s(p),"onUpdate:modelValue":y[5]||(y[5]=D=>z(p)?p.value=D:null),type:"date",class:"w-full"},null,8,["modelValue"])]),_:1}),l(M,{label:"Tags"},{default:m(()=>[l(R,{modelValue:s($),"onUpdate:modelValue":y[6]||(y[6]=D=>z($)?$.value=D:null),placeholder:"Add tags...",class:"w-full"},null,8,["modelValue"])]),_:1})])])]),footer:m(()=>[k("div",it,[l(H,{color:"neutral",variant:"ghost",onClick:T},{default:m(()=>[...y[9]||(y[9]=[S(" Cancel ",-1)])]),_:1}),l(H,{disabled:!s(u).trim(),onClick:V},{default:m(()=>[S(j(s(i)?"Save Changes":"Create Task"),1)]),_:1},8,["disabled"])])]),_:1},8,["open","title"])}}}),ct=Object.assign(rt,{__name:"TasksTaskForm"}),ut={class:"flex items-start justify-between gap-4"},dt={class:"text-lg font-semibold"},mt={class:"space-y-4"},pt={class:"flex flex-wrap items-center gap-3 text-sm"},ft={key:0,class:"flex items-center gap-1.5"},kt={class:"text-dimmed"},vt={class:"flex items-center gap-1.5"},_t={key:1,class:"flex items-center gap-1.5"},gt={class:"text-dimmed"},yt={key:0,class:"flex flex-wrap gap-1.5"},bt={key:1,class:"pt-2 border-t border-default"},ht={class:"prose prose-sm dark:prose-invert max-w-none"},wt={class:"pt-2 border-t border-default text-xs text-dimmed space-y-1"},Tt={key:0},xt={key:0},jt={class:"flex justify-between"},$t={class:"flex gap-2"},Dt=Q({__name:"TaskDetail",props:{task:{}},emits:["edit","close","toggle"],setup(e,{emit:w}){const r=e,h=w,i={1:{label:"Low",color:"neutral"},2:{label:"Medium",color:"warning"},3:{label:"High",color:"error"}},C={todo:{label:"Todo",color:"neutral"},in_progress:{label:"In Progress",color:"info"},done:{label:"Done",color:"success"},blocked:{label:"Blocked",color:"error"}},u=U(()=>i[r.task.priority]||i[2]),g=U(()=>C[r.task.status]),_=U(()=>r.task.status==="done");function c(a){return a?new Date(a).toLocaleDateString("en-US",{weekday:"short",month:"short",day:"numeric",year:"numeric"}):null}return(a,p)=>{const $=oe,I=se,A=Me,o=J,t=me;return v(),B(t,null,{header:m(()=>[k("div",ut,[k("h3",dt,j(e.task.title),1),l($,{color:s(g).color,variant:"subtle"},{default:m(()=>[S(j(s(g).label),1)]),_:1},8,["color"])])]),footer:m(()=>[k("div",jt,[l(o,{icon:s(_)?"i-lucide-rotate-ccw":"i-lucide-check",color:s(_)?"neutral":"success",variant:s(_)?"ghost":"soft",onClick:p[0]||(p[0]=n=>h("toggle"))},{default:m(()=>[S(j(s(_)?"Mark Incomplete":"Mark Complete"),1)]),_:1},8,["icon","color","variant"]),k("div",$t,[l(o,{color:"neutral",variant:"ghost",onClick:p[1]||(p[1]=n=>h("close"))},{default:m(()=>[...p[3]||(p[3]=[S(" Close ",-1)])]),_:1}),l(o,{icon:"i-lucide-pencil",onClick:p[2]||(p[2]=n=>h("edit"))},{default:m(()=>[...p[4]||(p[4]=[S(" Edit ",-1)])]),_:1})])])]),default:m(()=>[k("div",mt,[k("div",pt,[e.task.project?(v(),F("div",ft,[k("span",{class:"size-2.5 rounded-full",style:ue({backgroundColor:e.task.project.color})},null,4),k("span",kt,j(e.task.project.name),1)])):E("",!0),k("div",vt,[l(I,{name:"i-lucide-flag",class:"size-4 text-dimmed"}),l($,{color:s(u).color,variant:"subtle",size:"xs"},{default:m(()=>[S(j(s(u).label),1)]),_:1},8,["color"])]),e.task.dueDate?(v(),F("div",_t,[l(I,{name:"i-lucide-calendar",class:"size-4 text-dimmed"}),k("span",gt,j(c(e.task.dueDate)),1)])):E("",!0)]),e.task.tags&&e.task.tags.length>0?(v(),F("div",yt,[(v(!0),F(ae,null,le(e.task.tags,n=>(v(),B($,{key:n,variant:"subtle",color:"neutral",size:"sm"},{default:m(()=>[S(j(n),1)]),_:2},1024))),128))])):E("",!0),e.task.description?(v(),F("div",bt,[k("div",ht,[l(A,{value:e.task.description},null,8,["value"])])])):E("",!0),k("div",wt,[k("p",null,[S(" Created: "+j(c(e.task.createdAt))+" ",1),e.task.creator?(v(),F("span",Tt," by "+j(e.task.creator.name),1)):E("",!0)]),e.task.completedAt?(v(),F("p",xt," Completed: "+j(c(e.task.completedAt)),1)):E("",!0)])])]),_:1})}}}),Ct=Object.assign(Dt,{__name:"TasksTaskDetail"});function Ut(){const e=b([]),w=b(!1),r=b(null),h=b([]),i=De({status:void 0,projectId:void 0,search:void 0,includeDeleted:!1});async function C(o){w.value=!0,r.value=null;const t=o||i;try{const n={};t.status&&(Array.isArray(t.status)?t.status.forEach(V=>n.status=V):n.status=t.status),t.projectId&&(n.projectId=t.projectId),t.search&&(n.search=t.search),t.includeDeleted&&(n.includeDeleted="true");const T=await $fetch("/api/tasks",{query:n});return e.value=T.data,T.data}catch(n){throw r.value="Failed to load tasks",console.error("Failed to load tasks:",n),n}finally{w.value=!1}}async function u(){try{const o=await $fetch("/api/tasks/tags");return h.value=o.data,o.data}catch(o){throw console.error("Failed to fetch tags:",o),o}}async function g(o){try{return(await $fetch(`/api/tasks/${o}`)).data}catch(t){throw console.error("Failed to get task:",t),t}}async function _(o){try{const t=await $fetch("/api/tasks",{method:"POST",body:o});return e.value=[t.data,...e.value],t.data}catch(t){throw console.error("Failed to create task:",t),t}}async function c(o,t){try{const n=await $fetch(`/api/tasks/${o}`,{method:"PUT",body:t}),T=e.value.findIndex(V=>V.id===o);return T!==-1&&(e.value[T]=n.data),n.data}catch(n){throw console.error("Failed to update task:",n),n}}async function a(o){try{const t=await $fetch(`/api/tasks/${o}`,{method:"DELETE"});return e.value=e.value.filter(n=>n.id!==o),t.data}catch(t){throw console.error("Failed to delete task:",t),t}}async function p(o){try{const t=await $fetch(`/api/tasks/${o}/restore`,{method:"POST"});return await C(),t.data}catch(t){throw console.error("Failed to restore task:",t),t}}async function $(o){const t=e.value.find(T=>T.id===o);if(!t)return;const n=t.status==="done"?"todo":"done";return c(o,{status:n})}const I=U(()=>{let o=[...e.value];if(i.status){const t=Array.isArray(i.status)?i.status:[i.status];o=o.filter(n=>t.includes(n.status))}if(i.projectId&&(o=o.filter(t=>t.projectId===i.projectId)),i.search){const t=i.search.toLowerCase();o=o.filter(n=>n.title.toLowerCase().includes(t)||n.description?.toLowerCase().includes(t))}return i.includeDeleted||(o=o.filter(t=>!t.deletedAt)),o}),A=U(()=>{const o={todo:0,in_progress:0,done:0,blocked:0,total:0};return e.value.forEach(t=>{t.deletedAt||(o[t.status]++,o.total++)}),o});return{tasks:e,filteredTasks:I,loading:w,error:r,tags:h,filters:i,taskCounts:A,fetchTasks:C,fetchTags:u,getTask:g,createTask:_,updateTask:c,deleteTask:a,restoreTask:p,toggleComplete:$}}function Vt(){const e=b([]),w=b(!1),r=b(null);async function h(c=!1){w.value=!0,r.value=null;try{const a=await $fetch("/api/projects",{query:{includeDeleted:c.toString()}});return e.value=a.data,a.data}catch(a){throw r.value="Failed to load projects",console.error("Failed to load projects:",a),a}finally{w.value=!1}}async function i(c){try{return(await $fetch(`/api/projects/${c}`)).data}catch(a){throw console.error("Failed to get project:",a),a}}async function C(c){try{const a=await $fetch("/api/projects",{method:"POST",body:c});return e.value=[...e.value,a.data],a.data}catch(a){throw console.error("Failed to create project:",a),a}}async function u(c,a){try{const p=await $fetch(`/api/projects/${c}`,{method:"PUT",body:a}),$=e.value.findIndex(I=>I.id===c);return $!==-1&&(e.value[$]=p.data),p.data}catch(p){throw console.error("Failed to update project:",p),p}}async function g(c){try{const a=await $fetch(`/api/projects/${c}`,{method:"DELETE"});return e.value=e.value.filter(p=>p.id!==c),a.data}catch(a){throw console.error("Failed to delete project:",a),a}}function _(c){if(c)return e.value.find(a=>a.id===c)}return{projects:e,loading:w,error:r,fetchProjects:h,getProject:i,createProject:C,updateProject:u,deleteProject:g,getProjectById:_}}const Ft={class:"contents"},St={class:"flex items-center gap-2 text-sm"},L="__all__",bo=Q({__name:"tasks",setup(e){const w=Ce(),r=Ue(),{filteredTasks:h,tasks:i,loading:C,filters:u,taskCounts:g,fetchTasks:_,createTask:c,updateTask:a,deleteTask:p,toggleComplete:$}=Ut(),{projects:I,fetchProjects:A}=Vt(),o=b(!1),t=b(null),n=b(!1),T=b(null),V=b(!1),x=b(null),y=b(!1),K=[{value:L,label:"All Status"},{value:"todo",label:"Todo"},{value:"in_progress",label:"In Progress"},{value:"done",label:"Done"},{value:"blocked",label:"Blocked"}],M=U(()=>[{value:L,label:"All Projects"},...I.value.filter(d=>!d.deletedAt).map(d=>({value:d.id,label:d.name}))]),{taskStatusFilter:G,taskProjectFilter:X}=Re(),O=b(G.value==="all"?L:G.value),N=b(X.value||L),R=b("");q(O,d=>{u.status=d===L?void 0:d,G.value=d===L?"all":d}),q(N,d=>{u.projectId=d===L?void 0:d,X.value=d===L?null:d}),q(R,d=>{u.search=d||void 0}),O.value!==L&&(u.status=O.value),N.value!==L&&(u.projectId=N.value);function H(){t.value=null,o.value=!0}function Y(d){t.value=d,o.value=!0}function D(d){T.value=d,n.value=!0}async function pe(d){try{t.value?(await a(t.value.id,d),r.add({title:"Task updated",color:"success",icon:"i-lucide-check"})):(await c(d),r.add({title:"Task created",color:"success",icon:"i-lucide-check"})),t.value=null}catch(f){r.add({title:"Failed to save task",description:f instanceof Error?f.message:"An unexpected error occurred",color:"error",icon:"i-lucide-alert-circle"})}}function fe(d){x.value=d,V.value=!0}async function ke(){if(x.value){y.value=!0;try{await p(x.value),r.add({title:"Task deleted",color:"success",icon:"i-lucide-trash"}),V.value=!1,x.value=null}catch(d){r.add({title:"Failed to delete task",description:d instanceof Error?d.message:"An unexpected error occurred",color:"error",icon:"i-lucide-alert-circle"})}finally{y.value=!1}}}async function ie(d){try{await $(d)}catch(f){r.add({title:"Failed to update task",description:f instanceof Error?f.message:"An unexpected error occurred",color:"error",icon:"i-lucide-alert-circle"})}}return q([()=>w.query.selected,i],([d,f])=>{if(d&&f.length>0){const W=f.find(ee=>ee.id===d);W&&(T.value=W,n.value=!0,ce("/tasks",{replace:!0}))}},{immediate:!0}),q(()=>w.query.action,d=>{d==="new"&&(H(),ce("/tasks",{replace:!0}))},{immediate:!0}),Ve(async()=>{await Promise.all([_(),A()])}),(d,f)=>{const W=oe,ee=J,ve=Fe,_e=Ie,re=ne,ge=de,ye=Pe,be=et,he=Se,we=ct,Te=Ct,xe=Ne,je=qe;return v(),F("div",Ft,[l(he,{id:"tasks",grow:""},{header:m(()=>[l(_e,{title:"Tasks"},{left:m(()=>[k("div",St,[l(W,{color:"neutral",variant:"subtle"},{default:m(()=>[S(j(s(g).total)+" total ",1)]),_:1}),s(g).done>0?(v(),B(W,{key:0,color:"success",variant:"subtle"},{default:m(()=>[S(j(s(g).done)+" done ",1)]),_:1})):E("",!0)])]),right:m(()=>[l(ee,{icon:"i-lucide-plus",label:"Add Task",onClick:H}),l(ve)]),_:1}),l(ye,null,{left:m(()=>[l(re,{modelValue:s(O),"onUpdate:modelValue":f[0]||(f[0]=P=>z(O)?O.value=P:null),items:K,"value-key":"value",class:"w-36"},null,8,["modelValue"]),l(re,{modelValue:s(N),"onUpdate:modelValue":f[1]||(f[1]=P=>z(N)?N.value=P:null),items:s(M),"value-key":"value",class:"w-40"},null,8,["modelValue","items"])]),right:m(()=>[l(ge,{modelValue:s(R),"onUpdate:modelValue":f[2]||(f[2]=P=>z(R)?R.value=P:null),placeholder:"Search tasks...",icon:"i-lucide-search",class:"w-64"},null,8,["modelValue"])]),_:1})]),body:m(()=>[l(be,{tasks:s(h),loading:s(C),onToggle:ie,onEdit:Y,onDelete:fe,onCreate:H,onView:D},null,8,["tasks","loading"])]),_:1}),l(we,{open:s(o),"onUpdate:open":f[3]||(f[3]=P=>z(o)?o.value=P:null),task:s(t),projects:s(I),onSubmit:pe},null,8,["open","task","projects"]),l(xe,{open:s(n),"onUpdate:open":f[7]||(f[7]=P=>z(n)?n.value=P:null),title:s(T)?.title},{content:m(()=>[s(T)?(v(),B(Te,{key:0,task:s(T),onEdit:f[4]||(f[4]=P=>{Y(s(T)),n.value=!1}),onClose:f[5]||(f[5]=P=>n.value=!1),onToggle:f[6]||(f[6]=P=>{ie(s(T).id),n.value=!1})},null,8,["task"])):E("",!0)]),_:1},8,["open","title"]),l(je,{open:s(V),"onUpdate:open":f[8]||(f[8]=P=>z(V)?V.value=P:null),title:"Delete Task",description:"Are you sure you want to delete this task? This action cannot be undone.","confirm-label":"Delete","confirm-color":"error",icon:"i-lucide-trash-2",loading:s(y),onConfirm:ke,onCancel:f[9]||(f[9]=P=>x.value=null)},null,8,["open","loading"])])}}});export{bo as default};