@stoneforge/quarry 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (330) hide show
  1. package/LICENSE +13 -0
  2. package/README.md +160 -0
  3. package/dist/api/index.d.ts +8 -0
  4. package/dist/api/index.d.ts.map +1 -0
  5. package/dist/api/index.js +8 -0
  6. package/dist/api/index.js.map +1 -0
  7. package/dist/api/quarry-api.d.ts +268 -0
  8. package/dist/api/quarry-api.d.ts.map +1 -0
  9. package/dist/api/quarry-api.js +3905 -0
  10. package/dist/api/quarry-api.js.map +1 -0
  11. package/dist/api/types.d.ts +1359 -0
  12. package/dist/api/types.d.ts.map +1 -0
  13. package/dist/api/types.js +204 -0
  14. package/dist/api/types.js.map +1 -0
  15. package/dist/bin/sf.d.ts +3 -0
  16. package/dist/bin/sf.d.ts.map +1 -0
  17. package/dist/bin/sf.js +9 -0
  18. package/dist/bin/sf.js.map +1 -0
  19. package/dist/cli/commands/admin.d.ts +11 -0
  20. package/dist/cli/commands/admin.d.ts.map +1 -0
  21. package/dist/cli/commands/admin.js +465 -0
  22. package/dist/cli/commands/admin.js.map +1 -0
  23. package/dist/cli/commands/alias.d.ts +8 -0
  24. package/dist/cli/commands/alias.d.ts.map +1 -0
  25. package/dist/cli/commands/alias.js +70 -0
  26. package/dist/cli/commands/alias.js.map +1 -0
  27. package/dist/cli/commands/channel.d.ts +13 -0
  28. package/dist/cli/commands/channel.d.ts.map +1 -0
  29. package/dist/cli/commands/channel.js +680 -0
  30. package/dist/cli/commands/channel.js.map +1 -0
  31. package/dist/cli/commands/completion.d.ts +8 -0
  32. package/dist/cli/commands/completion.d.ts.map +1 -0
  33. package/dist/cli/commands/completion.js +87 -0
  34. package/dist/cli/commands/completion.js.map +1 -0
  35. package/dist/cli/commands/config.d.ts +12 -0
  36. package/dist/cli/commands/config.d.ts.map +1 -0
  37. package/dist/cli/commands/config.js +242 -0
  38. package/dist/cli/commands/config.js.map +1 -0
  39. package/dist/cli/commands/crud.d.ts +64 -0
  40. package/dist/cli/commands/crud.d.ts.map +1 -0
  41. package/dist/cli/commands/crud.js +805 -0
  42. package/dist/cli/commands/crud.js.map +1 -0
  43. package/dist/cli/commands/dep.d.ts +16 -0
  44. package/dist/cli/commands/dep.d.ts.map +1 -0
  45. package/dist/cli/commands/dep.js +499 -0
  46. package/dist/cli/commands/dep.js.map +1 -0
  47. package/dist/cli/commands/document.d.ts +12 -0
  48. package/dist/cli/commands/document.d.ts.map +1 -0
  49. package/dist/cli/commands/document.js +1039 -0
  50. package/dist/cli/commands/document.js.map +1 -0
  51. package/dist/cli/commands/embeddings.d.ts +12 -0
  52. package/dist/cli/commands/embeddings.d.ts.map +1 -0
  53. package/dist/cli/commands/embeddings.js +273 -0
  54. package/dist/cli/commands/embeddings.js.map +1 -0
  55. package/dist/cli/commands/entity.d.ts +16 -0
  56. package/dist/cli/commands/entity.d.ts.map +1 -0
  57. package/dist/cli/commands/entity.js +522 -0
  58. package/dist/cli/commands/entity.js.map +1 -0
  59. package/dist/cli/commands/gc.d.ts +10 -0
  60. package/dist/cli/commands/gc.d.ts.map +1 -0
  61. package/dist/cli/commands/gc.js +257 -0
  62. package/dist/cli/commands/gc.js.map +1 -0
  63. package/dist/cli/commands/help.d.ts +11 -0
  64. package/dist/cli/commands/help.d.ts.map +1 -0
  65. package/dist/cli/commands/help.js +169 -0
  66. package/dist/cli/commands/help.js.map +1 -0
  67. package/dist/cli/commands/history.d.ts +9 -0
  68. package/dist/cli/commands/history.d.ts.map +1 -0
  69. package/dist/cli/commands/history.js +160 -0
  70. package/dist/cli/commands/history.js.map +1 -0
  71. package/dist/cli/commands/identity.d.ts +18 -0
  72. package/dist/cli/commands/identity.d.ts.map +1 -0
  73. package/dist/cli/commands/identity.js +698 -0
  74. package/dist/cli/commands/identity.js.map +1 -0
  75. package/dist/cli/commands/inbox.d.ts +20 -0
  76. package/dist/cli/commands/inbox.d.ts.map +1 -0
  77. package/dist/cli/commands/inbox.js +493 -0
  78. package/dist/cli/commands/inbox.js.map +1 -0
  79. package/dist/cli/commands/init.d.ts +20 -0
  80. package/dist/cli/commands/init.d.ts.map +1 -0
  81. package/dist/cli/commands/init.js +144 -0
  82. package/dist/cli/commands/init.js.map +1 -0
  83. package/dist/cli/commands/install.d.ts +9 -0
  84. package/dist/cli/commands/install.d.ts.map +1 -0
  85. package/dist/cli/commands/install.js +200 -0
  86. package/dist/cli/commands/install.js.map +1 -0
  87. package/dist/cli/commands/library.d.ts +12 -0
  88. package/dist/cli/commands/library.d.ts.map +1 -0
  89. package/dist/cli/commands/library.js +665 -0
  90. package/dist/cli/commands/library.js.map +1 -0
  91. package/dist/cli/commands/message.d.ts +11 -0
  92. package/dist/cli/commands/message.d.ts.map +1 -0
  93. package/dist/cli/commands/message.js +608 -0
  94. package/dist/cli/commands/message.js.map +1 -0
  95. package/dist/cli/commands/plan.d.ts +17 -0
  96. package/dist/cli/commands/plan.d.ts.map +1 -0
  97. package/dist/cli/commands/plan.js +698 -0
  98. package/dist/cli/commands/plan.js.map +1 -0
  99. package/dist/cli/commands/playbook.d.ts +12 -0
  100. package/dist/cli/commands/playbook.d.ts.map +1 -0
  101. package/dist/cli/commands/playbook.js +730 -0
  102. package/dist/cli/commands/playbook.js.map +1 -0
  103. package/dist/cli/commands/reset.d.ts +12 -0
  104. package/dist/cli/commands/reset.d.ts.map +1 -0
  105. package/dist/cli/commands/reset.js +306 -0
  106. package/dist/cli/commands/reset.js.map +1 -0
  107. package/dist/cli/commands/serve.d.ts +11 -0
  108. package/dist/cli/commands/serve.d.ts.map +1 -0
  109. package/dist/cli/commands/serve.js +106 -0
  110. package/dist/cli/commands/serve.js.map +1 -0
  111. package/dist/cli/commands/stats.d.ts +8 -0
  112. package/dist/cli/commands/stats.d.ts.map +1 -0
  113. package/dist/cli/commands/stats.js +82 -0
  114. package/dist/cli/commands/stats.js.map +1 -0
  115. package/dist/cli/commands/sync.d.ts +14 -0
  116. package/dist/cli/commands/sync.d.ts.map +1 -0
  117. package/dist/cli/commands/sync.js +370 -0
  118. package/dist/cli/commands/sync.js.map +1 -0
  119. package/dist/cli/commands/task.d.ts +25 -0
  120. package/dist/cli/commands/task.d.ts.map +1 -0
  121. package/dist/cli/commands/task.js +1153 -0
  122. package/dist/cli/commands/task.js.map +1 -0
  123. package/dist/cli/commands/team.d.ts +13 -0
  124. package/dist/cli/commands/team.d.ts.map +1 -0
  125. package/dist/cli/commands/team.js +471 -0
  126. package/dist/cli/commands/team.js.map +1 -0
  127. package/dist/cli/commands/workflow.d.ts +16 -0
  128. package/dist/cli/commands/workflow.d.ts.map +1 -0
  129. package/dist/cli/commands/workflow.js +753 -0
  130. package/dist/cli/commands/workflow.js.map +1 -0
  131. package/dist/cli/completion.d.ts +28 -0
  132. package/dist/cli/completion.d.ts.map +1 -0
  133. package/dist/cli/completion.js +295 -0
  134. package/dist/cli/completion.js.map +1 -0
  135. package/dist/cli/db.d.ts +38 -0
  136. package/dist/cli/db.d.ts.map +1 -0
  137. package/dist/cli/db.js +90 -0
  138. package/dist/cli/db.js.map +1 -0
  139. package/dist/cli/formatter.d.ts +87 -0
  140. package/dist/cli/formatter.d.ts.map +1 -0
  141. package/dist/cli/formatter.js +464 -0
  142. package/dist/cli/formatter.js.map +1 -0
  143. package/dist/cli/index.d.ts +33 -0
  144. package/dist/cli/index.d.ts.map +1 -0
  145. package/dist/cli/index.js +38 -0
  146. package/dist/cli/index.js.map +1 -0
  147. package/dist/cli/parser.d.ts +45 -0
  148. package/dist/cli/parser.d.ts.map +1 -0
  149. package/dist/cli/parser.js +256 -0
  150. package/dist/cli/parser.js.map +1 -0
  151. package/dist/cli/plugin-loader.d.ts +39 -0
  152. package/dist/cli/plugin-loader.d.ts.map +1 -0
  153. package/dist/cli/plugin-loader.js +165 -0
  154. package/dist/cli/plugin-loader.js.map +1 -0
  155. package/dist/cli/plugin-registry.d.ts +50 -0
  156. package/dist/cli/plugin-registry.d.ts.map +1 -0
  157. package/dist/cli/plugin-registry.js +206 -0
  158. package/dist/cli/plugin-registry.js.map +1 -0
  159. package/dist/cli/plugin-types.d.ts +106 -0
  160. package/dist/cli/plugin-types.d.ts.map +1 -0
  161. package/dist/cli/plugin-types.js +103 -0
  162. package/dist/cli/plugin-types.js.map +1 -0
  163. package/dist/cli/runner.d.ts +35 -0
  164. package/dist/cli/runner.d.ts.map +1 -0
  165. package/dist/cli/runner.js +340 -0
  166. package/dist/cli/runner.js.map +1 -0
  167. package/dist/cli/suggest.d.ts +15 -0
  168. package/dist/cli/suggest.d.ts.map +1 -0
  169. package/dist/cli/suggest.js +49 -0
  170. package/dist/cli/suggest.js.map +1 -0
  171. package/dist/cli/types.d.ts +138 -0
  172. package/dist/cli/types.d.ts.map +1 -0
  173. package/dist/cli/types.js +63 -0
  174. package/dist/cli/types.js.map +1 -0
  175. package/dist/config/config.d.ts +86 -0
  176. package/dist/config/config.d.ts.map +1 -0
  177. package/dist/config/config.js +348 -0
  178. package/dist/config/config.js.map +1 -0
  179. package/dist/config/defaults.d.ts +66 -0
  180. package/dist/config/defaults.d.ts.map +1 -0
  181. package/dist/config/defaults.js +114 -0
  182. package/dist/config/defaults.js.map +1 -0
  183. package/dist/config/duration.d.ts +75 -0
  184. package/dist/config/duration.d.ts.map +1 -0
  185. package/dist/config/duration.js +190 -0
  186. package/dist/config/duration.js.map +1 -0
  187. package/dist/config/env.d.ts +67 -0
  188. package/dist/config/env.d.ts.map +1 -0
  189. package/dist/config/env.js +207 -0
  190. package/dist/config/env.js.map +1 -0
  191. package/dist/config/file.d.ts +97 -0
  192. package/dist/config/file.d.ts.map +1 -0
  193. package/dist/config/file.js +365 -0
  194. package/dist/config/file.js.map +1 -0
  195. package/dist/config/index.d.ts +35 -0
  196. package/dist/config/index.d.ts.map +1 -0
  197. package/dist/config/index.js +41 -0
  198. package/dist/config/index.js.map +1 -0
  199. package/dist/config/merge.d.ts +53 -0
  200. package/dist/config/merge.d.ts.map +1 -0
  201. package/dist/config/merge.js +226 -0
  202. package/dist/config/merge.js.map +1 -0
  203. package/dist/config/types.d.ts +257 -0
  204. package/dist/config/types.d.ts.map +1 -0
  205. package/dist/config/types.js +72 -0
  206. package/dist/config/types.js.map +1 -0
  207. package/dist/config/validation.d.ts +55 -0
  208. package/dist/config/validation.d.ts.map +1 -0
  209. package/dist/config/validation.js +251 -0
  210. package/dist/config/validation.js.map +1 -0
  211. package/dist/http/index.d.ts +8 -0
  212. package/dist/http/index.d.ts.map +1 -0
  213. package/dist/http/index.js +12 -0
  214. package/dist/http/index.js.map +1 -0
  215. package/dist/http/sync-handlers.d.ts +162 -0
  216. package/dist/http/sync-handlers.d.ts.map +1 -0
  217. package/dist/http/sync-handlers.js +271 -0
  218. package/dist/http/sync-handlers.js.map +1 -0
  219. package/dist/index.d.ts +25 -0
  220. package/dist/index.d.ts.map +1 -0
  221. package/dist/index.js +69 -0
  222. package/dist/index.js.map +1 -0
  223. package/dist/server/index.d.ts +34 -0
  224. package/dist/server/index.d.ts.map +1 -0
  225. package/dist/server/index.js +3329 -0
  226. package/dist/server/index.js.map +1 -0
  227. package/dist/server/static.d.ts +18 -0
  228. package/dist/server/static.d.ts.map +1 -0
  229. package/dist/server/static.js +71 -0
  230. package/dist/server/static.js.map +1 -0
  231. package/dist/server/ws/broadcaster.d.ts +8 -0
  232. package/dist/server/ws/broadcaster.d.ts.map +1 -0
  233. package/dist/server/ws/broadcaster.js +7 -0
  234. package/dist/server/ws/broadcaster.js.map +1 -0
  235. package/dist/server/ws/handler.d.ts +55 -0
  236. package/dist/server/ws/handler.d.ts.map +1 -0
  237. package/dist/server/ws/handler.js +160 -0
  238. package/dist/server/ws/handler.js.map +1 -0
  239. package/dist/services/blocked-cache.d.ts +297 -0
  240. package/dist/services/blocked-cache.d.ts.map +1 -0
  241. package/dist/services/blocked-cache.js +755 -0
  242. package/dist/services/blocked-cache.js.map +1 -0
  243. package/dist/services/dependency.d.ts +205 -0
  244. package/dist/services/dependency.d.ts.map +1 -0
  245. package/dist/services/dependency.js +566 -0
  246. package/dist/services/dependency.js.map +1 -0
  247. package/dist/services/embeddings/fusion.d.ts +33 -0
  248. package/dist/services/embeddings/fusion.d.ts.map +1 -0
  249. package/dist/services/embeddings/fusion.js +34 -0
  250. package/dist/services/embeddings/fusion.js.map +1 -0
  251. package/dist/services/embeddings/index.d.ts +12 -0
  252. package/dist/services/embeddings/index.d.ts.map +1 -0
  253. package/dist/services/embeddings/index.js +10 -0
  254. package/dist/services/embeddings/index.js.map +1 -0
  255. package/dist/services/embeddings/local-provider.d.ts +31 -0
  256. package/dist/services/embeddings/local-provider.d.ts.map +1 -0
  257. package/dist/services/embeddings/local-provider.js +80 -0
  258. package/dist/services/embeddings/local-provider.js.map +1 -0
  259. package/dist/services/embeddings/service.d.ts +76 -0
  260. package/dist/services/embeddings/service.d.ts.map +1 -0
  261. package/dist/services/embeddings/service.js +153 -0
  262. package/dist/services/embeddings/service.js.map +1 -0
  263. package/dist/services/embeddings/types.d.ts +70 -0
  264. package/dist/services/embeddings/types.d.ts.map +1 -0
  265. package/dist/services/embeddings/types.js +8 -0
  266. package/dist/services/embeddings/types.js.map +1 -0
  267. package/dist/services/id-length-cache.d.ts +156 -0
  268. package/dist/services/id-length-cache.d.ts.map +1 -0
  269. package/dist/services/id-length-cache.js +197 -0
  270. package/dist/services/id-length-cache.js.map +1 -0
  271. package/dist/services/inbox.d.ts +147 -0
  272. package/dist/services/inbox.d.ts.map +1 -0
  273. package/dist/services/inbox.js +428 -0
  274. package/dist/services/inbox.js.map +1 -0
  275. package/dist/services/index.d.ts +10 -0
  276. package/dist/services/index.d.ts.map +1 -0
  277. package/dist/services/index.js +10 -0
  278. package/dist/services/index.js.map +1 -0
  279. package/dist/services/priority-service.d.ts +145 -0
  280. package/dist/services/priority-service.d.ts.map +1 -0
  281. package/dist/services/priority-service.js +272 -0
  282. package/dist/services/priority-service.js.map +1 -0
  283. package/dist/services/search-utils.d.ts +47 -0
  284. package/dist/services/search-utils.d.ts.map +1 -0
  285. package/dist/services/search-utils.js +83 -0
  286. package/dist/services/search-utils.js.map +1 -0
  287. package/dist/sync/hash.d.ts +48 -0
  288. package/dist/sync/hash.d.ts.map +1 -0
  289. package/dist/sync/hash.js +136 -0
  290. package/dist/sync/hash.js.map +1 -0
  291. package/dist/sync/index.d.ts +11 -0
  292. package/dist/sync/index.d.ts.map +1 -0
  293. package/dist/sync/index.js +16 -0
  294. package/dist/sync/index.js.map +1 -0
  295. package/dist/sync/merge.d.ts +80 -0
  296. package/dist/sync/merge.d.ts.map +1 -0
  297. package/dist/sync/merge.js +310 -0
  298. package/dist/sync/merge.js.map +1 -0
  299. package/dist/sync/serialization.d.ts +132 -0
  300. package/dist/sync/serialization.d.ts.map +1 -0
  301. package/dist/sync/serialization.js +306 -0
  302. package/dist/sync/serialization.js.map +1 -0
  303. package/dist/sync/service.d.ts +102 -0
  304. package/dist/sync/service.d.ts.map +1 -0
  305. package/dist/sync/service.js +493 -0
  306. package/dist/sync/service.js.map +1 -0
  307. package/dist/sync/types.d.ts +275 -0
  308. package/dist/sync/types.d.ts.map +1 -0
  309. package/dist/sync/types.js +76 -0
  310. package/dist/sync/types.js.map +1 -0
  311. package/dist/systems/identity.d.ts +479 -0
  312. package/dist/systems/identity.d.ts.map +1 -0
  313. package/dist/systems/identity.js +817 -0
  314. package/dist/systems/identity.js.map +1 -0
  315. package/dist/systems/index.d.ts +8 -0
  316. package/dist/systems/index.d.ts.map +1 -0
  317. package/dist/systems/index.js +29 -0
  318. package/dist/systems/index.js.map +1 -0
  319. package/package.json +121 -0
  320. package/web/assets/charts-vendor-D1YcbGux.js +55 -0
  321. package/web/assets/dnd-vendor-DmxE-_ZH.js +5 -0
  322. package/web/assets/editor-vendor-BxraAWts.js +279 -0
  323. package/web/assets/index-B77vv208.js +341 -0
  324. package/web/assets/index-CF_XnVLh.css +1 -0
  325. package/web/assets/router-vendor-BCKpRBrB.js +41 -0
  326. package/web/assets/ui-vendor-DUahGnbT.js +45 -0
  327. package/web/assets/utils-vendor-CfYKiENT.js +813 -0
  328. package/web/favicon.ico +0 -0
  329. package/web/index.html +23 -0
  330. package/web/logo.png +0 -0
@@ -0,0 +1,341 @@
1
+ var eO=Object.defineProperty;var tO=(e,t,a)=>t in e?eO(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;var ft=(e,t,a)=>tO(e,typeof t!="symbol"?t+"":t,a);import{f as rO,h as aO,r as y,j as r,k as be,c as c2,g as Nt,R as ee,i as qs,l as $e,m as Re,L as ha,n as _0,o as rr,p as nO,O as sO,q as kn,s as iO,t as Sr,v as oO,x as M0,Q as lO,y as cO,z as dO}from"./router-vendor-BCKpRBrB.js";import{X as Ee,C as it,a as Yc,b as Dt,M as d2,c as Xu,S as Wu,d as Pr,P as Qc,G as sc,L as so,e as gr,U as Ze,B as tr,T as u2,f as Lt,F as uO,W as bn,g as Bt,h as je,i as _t,E as Xc,j as Jn,k as mO,l as m2,H as es,m as Xr,n as Sa,o as L0,p as P0,q as za,r as f2,s as Ve,t as dt,u as jt,v as _r,w as Fe,x as ns,y as Nr,z as qm,A as ts,D as Fs,I as fO,J as hO,R as Wc,K as Ro,N as rs,O as Io,Q as Ca,V as Ra,Y as ic,Z as oc,_ as Us,$ as Bo,a0 as Fm,a1 as Um,a2 as Km,a3 as Ta,a4 as Je,a5 as xO,a6 as gO,a7 as R0,a8 as io,a9 as Qg,aa as Pa,ab as pO,ac as yO,ad as bO,ae as Hm,af as I0,ag as oo,ah as vn,ai as Vm,aj as kr,ak as vt,al as Zc,am as vO,an as Gt,ao as pn,ap as Gm,aq as ss,ar as zx,as as Ym,at as Xg,au as Jc,av as jO,aw as Qm,ax as Wg,ay as Qs,az as ed,aA as br,aB as td,aC as da,aD as wO,aE as kO,aF as NO,aG as SO,aH as B0,aI as CO,aJ as TO,aK as EO,aL as OO,aM as Xs,aN as AO,aO as Xm,aP as $O,aQ as zo,aR as DO,aS as _O,aT as MO,aU as Ks,aV as rd,aW as h2,aX as x2,aY as g2,aZ as p2,a_ as y2,a$ as b2,b0 as v2,b1 as j2,b2 as Zu,b3 as qx,b4 as LO,b5 as hn,b6 as PO,b7 as w2,b8 as RO,b9 as IO,ba as BO,bb as zO,bc as z0,bd as qO,be as k2,bf as FO,bg as N2,bh as S2,bi as C2,bj as q0,bk as T2,bl as UO,bm as Tw,bn as KO,bo as Hu,bp as E2,bq as O2,br as HO,bs as VO,bt as F0,bu as GO,bv as YO,bw as QO,bx as lc,by as Ju,bz as A2,bA as U0,bB as $2,bC as K0,bD as XO,bE as WO,bF as ZO,bG as JO}from"./utils-vendor-CfYKiENT.js";import{O as lo,P as cc,C as co,S as Wm,T as uo,U as D2,V as _2,W as eA,X as M2,Y as L2,Z as tA,_ as P2,$ as rA,a0 as R2,a1 as I2,a2 as aA,a3 as nA,a4 as B2,a5 as z2,a6 as q2,a7 as F2,a8 as U2,a9 as K2,aa as H2,ab as sA,ac as iA,ad as oA,ae as lA,af as cA,R as em,ag as V2,ah as G2,ai as Y2,aj as Q2,ak as Pl,al as ku,am as Zg}from"./ui-vendor-DUahGnbT.js";import{d as dA,P as qo,E as Ws,i as Fo,R as Uo,N as Zm,m as Jm,T as X2,a as ef,c as W2,u as Z2,b as uA,e as J2,f as mA,g as eC,h as tC,j as rC,k as aC,l as fA,n as Xn,o as hA,p as xA,S as gA,F as pA,q as nC,r as to,B as yA,s as bA,t as vA,v as jA}from"./editor-vendor-BxraAWts.js";import{r as wA,a as kA,b as NA,c as H0,d as sC,e as iC,f as nt,g as oC,h as SA,S as CA,s as TA,i as EA,j as OA,k as AA,l as $A,m as DA,n as lC,o as V0,p as _A,q as MA,t as LA,u as PA,v as Jg,w as RA,x as IA,y as BA,z as zA,A as qA,B as FA,C as UA,D as ep,E as KA,F as HA,G as Xl,H as VA,I as GA,J as YA,K as QA,L as XA,M as WA,N as ZA,O as JA,P as e$,Q as t$,R as r$,T as a$,U as n$,V as s$,W as i$,X as o$,Y as l$,Z as c$,_ as d$,$ as u$,a0 as m$,a1 as bt,a2 as f$,a3 as h$,a4 as x$,a5 as g$,a6 as p$,a7 as y$,a8 as b$,a9 as Nu,aa as v$,ab as j$,ac as w$,ad as k$,ae as N$,af as S$,ag as C$,ah as cC,ai as T$,aj as E$,ak as O$,al as A$,am as $$,an as D$,ao as _$,ap as M$,aq as dC,ar as L$,as as uC,at as mC,au as P$,av as R$,aw as I$,ax as G0,ay as B$,az as z$,aA as q$,aB as Y0,aC as F$,aD as fC,aE as hC,aF as xC,aG as U$,aH as K$,aI as H$,aJ as V$,aK as Ew,aL as Ow,aM as Aw,aN as G$,aO as Y$,aP as Q$,aQ as X$,aR as W$,aS as Z$,aT as J$,aU as eD,aV as tD,aW as rD}from"./charts-vendor-D1YcbGux.js";import{u as aD,a as $w,D as nD,c as sD,b as iD,s as oD,K as lD,P as cD,d as dD,S as uD,v as mD,e as fD,C as hD}from"./dnd-vendor-DmxE-_ZH.js";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))n(o);new MutationObserver(o=>{for(const l of o)if(l.type==="childList")for(const d of l.addedNodes)d.tagName==="LINK"&&d.rel==="modulepreload"&&n(d)}).observe(document,{childList:!0,subtree:!0});function a(o){const l={};return o.integrity&&(l.integrity=o.integrity),o.referrerPolicy&&(l.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?l.credentials="include":o.crossOrigin==="anonymous"?l.credentials="omit":l.credentials="same-origin",l}function n(o){if(o.ep)return;o.ep=!0;const l=a(o);fetch(o.href,l)}})();var Fx={exports:{}},Rl={},Ux={exports:{}},Kx={};/**
2
+ * @license React
3
+ * scheduler.production.js
4
+ *
5
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
6
+ *
7
+ * This source code is licensed under the MIT license found in the
8
+ * LICENSE file in the root directory of this source tree.
9
+ */var Dw;function xD(){return Dw||(Dw=1,(function(e){function t(L,F){var B=L.length;L.push(F);e:for(;0<B;){var H=B-1>>>1,G=L[H];if(0<o(G,F))L[H]=F,L[B]=G,B=H;else break e}}function a(L){return L.length===0?null:L[0]}function n(L){if(L.length===0)return null;var F=L[0],B=L.pop();if(B!==F){L[0]=B;e:for(var H=0,G=L.length,W=G>>>1;H<W;){var te=2*(H+1)-1,le=L[te],ge=te+1,se=L[ge];if(0>o(le,B))ge<G&&0>o(se,le)?(L[H]=se,L[ge]=B,H=ge):(L[H]=le,L[te]=B,H=te);else if(ge<G&&0>o(se,B))L[H]=se,L[ge]=B,H=ge;else break e}}return F}function o(L,F){var B=L.sortIndex-F.sortIndex;return B!==0?B:L.id-F.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var l=performance;e.unstable_now=function(){return l.now()}}else{var d=Date,u=d.now();e.unstable_now=function(){return d.now()-u}}var m=[],h=[],x=1,g=null,p=3,j=!1,k=!1,N=!1,v=!1,T=typeof setTimeout=="function"?setTimeout:null,E=typeof clearTimeout=="function"?clearTimeout:null,O=typeof setImmediate<"u"?setImmediate:null;function S(L){for(var F=a(h);F!==null;){if(F.callback===null)n(h);else if(F.startTime<=L)n(h),F.sortIndex=F.expirationTime,t(m,F);else break;F=a(h)}}function C(L){if(N=!1,S(L),!k)if(a(m)!==null)k=!0,A||(A=!0,z());else{var F=a(h);F!==null&&R(C,F.startTime-L)}}var A=!1,$=-1,P=5,M=-1;function q(){return v?!0:!(e.unstable_now()-M<P)}function _(){if(v=!1,A){var L=e.unstable_now();M=L;var F=!0;try{e:{k=!1,N&&(N=!1,E($),$=-1),j=!0;var B=p;try{t:{for(S(L),g=a(m);g!==null&&!(g.expirationTime>L&&q());){var H=g.callback;if(typeof H=="function"){g.callback=null,p=g.priorityLevel;var G=H(g.expirationTime<=L);if(L=e.unstable_now(),typeof G=="function"){g.callback=G,S(L),F=!0;break t}g===a(m)&&n(m),S(L)}else n(m);g=a(m)}if(g!==null)F=!0;else{var W=a(h);W!==null&&R(C,W.startTime-L),F=!1}}break e}finally{g=null,p=B,j=!1}F=void 0}}finally{F?z():A=!1}}}var z;if(typeof O=="function")z=function(){O(_)};else if(typeof MessageChannel<"u"){var U=new MessageChannel,K=U.port2;U.port1.onmessage=_,z=function(){K.postMessage(null)}}else z=function(){T(_,0)};function R(L,F){$=T(function(){L(e.unstable_now())},F)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(L){L.callback=null},e.unstable_forceFrameRate=function(L){0>L||125<L?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):P=0<L?Math.floor(1e3/L):5},e.unstable_getCurrentPriorityLevel=function(){return p},e.unstable_next=function(L){switch(p){case 1:case 2:case 3:var F=3;break;default:F=p}var B=p;p=F;try{return L()}finally{p=B}},e.unstable_requestPaint=function(){v=!0},e.unstable_runWithPriority=function(L,F){switch(L){case 1:case 2:case 3:case 4:case 5:break;default:L=3}var B=p;p=L;try{return F()}finally{p=B}},e.unstable_scheduleCallback=function(L,F,B){var H=e.unstable_now();switch(typeof B=="object"&&B!==null?(B=B.delay,B=typeof B=="number"&&0<B?H+B:H):B=H,L){case 1:var G=-1;break;case 2:G=250;break;case 5:G=1073741823;break;case 4:G=1e4;break;default:G=5e3}return G=B+G,L={id:x++,callback:F,priorityLevel:L,startTime:B,expirationTime:G,sortIndex:-1},B>H?(L.sortIndex=B,t(h,L),a(m)===null&&L===a(h)&&(N?(E($),$=-1):N=!0,R(C,B-H))):(L.sortIndex=G,t(m,L),k||j||(k=!0,A||(A=!0,z()))),L},e.unstable_shouldYield=q,e.unstable_wrapCallback=function(L){var F=p;return function(){var B=p;p=F;try{return L.apply(this,arguments)}finally{p=B}}}})(Kx)),Kx}var _w;function gD(){return _w||(_w=1,Ux.exports=xD()),Ux.exports}/**
10
+ * @license React
11
+ * react-dom-client.production.js
12
+ *
13
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
14
+ *
15
+ * This source code is licensed under the MIT license found in the
16
+ * LICENSE file in the root directory of this source tree.
17
+ */var Mw;function pD(){if(Mw)return Rl;Mw=1;var e=gD(),t=rO(),a=aO();function n(s){var i="https://react.dev/errors/"+s;if(1<arguments.length){i+="?args[]="+encodeURIComponent(arguments[1]);for(var c=2;c<arguments.length;c++)i+="&args[]="+encodeURIComponent(arguments[c])}return"Minified React error #"+s+"; visit "+i+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function o(s){return!(!s||s.nodeType!==1&&s.nodeType!==9&&s.nodeType!==11)}function l(s){var i=s,c=s;if(s.alternate)for(;i.return;)i=i.return;else{s=i;do i=s,(i.flags&4098)!==0&&(c=i.return),s=i.return;while(s)}return i.tag===3?c:null}function d(s){if(s.tag===13){var i=s.memoizedState;if(i===null&&(s=s.alternate,s!==null&&(i=s.memoizedState)),i!==null)return i.dehydrated}return null}function u(s){if(s.tag===31){var i=s.memoizedState;if(i===null&&(s=s.alternate,s!==null&&(i=s.memoizedState)),i!==null)return i.dehydrated}return null}function m(s){if(l(s)!==s)throw Error(n(188))}function h(s){var i=s.alternate;if(!i){if(i=l(s),i===null)throw Error(n(188));return i!==s?null:s}for(var c=s,f=i;;){var b=c.return;if(b===null)break;var w=b.alternate;if(w===null){if(f=b.return,f!==null){c=f;continue}break}if(b.child===w.child){for(w=b.child;w;){if(w===c)return m(b),s;if(w===f)return m(b),i;w=w.sibling}throw Error(n(188))}if(c.return!==f.return)c=b,f=w;else{for(var D=!1,I=b.child;I;){if(I===c){D=!0,c=b,f=w;break}if(I===f){D=!0,f=b,c=w;break}I=I.sibling}if(!D){for(I=w.child;I;){if(I===c){D=!0,c=w,f=b;break}if(I===f){D=!0,f=w,c=b;break}I=I.sibling}if(!D)throw Error(n(189))}}if(c.alternate!==f)throw Error(n(190))}if(c.tag!==3)throw Error(n(188));return c.stateNode.current===c?s:i}function x(s){var i=s.tag;if(i===5||i===26||i===27||i===6)return s;for(s=s.child;s!==null;){if(i=x(s),i!==null)return i;s=s.sibling}return null}var g=Object.assign,p=Symbol.for("react.element"),j=Symbol.for("react.transitional.element"),k=Symbol.for("react.portal"),N=Symbol.for("react.fragment"),v=Symbol.for("react.strict_mode"),T=Symbol.for("react.profiler"),E=Symbol.for("react.consumer"),O=Symbol.for("react.context"),S=Symbol.for("react.forward_ref"),C=Symbol.for("react.suspense"),A=Symbol.for("react.suspense_list"),$=Symbol.for("react.memo"),P=Symbol.for("react.lazy"),M=Symbol.for("react.activity"),q=Symbol.for("react.memo_cache_sentinel"),_=Symbol.iterator;function z(s){return s===null||typeof s!="object"?null:(s=_&&s[_]||s["@@iterator"],typeof s=="function"?s:null)}var U=Symbol.for("react.client.reference");function K(s){if(s==null)return null;if(typeof s=="function")return s.$$typeof===U?null:s.displayName||s.name||null;if(typeof s=="string")return s;switch(s){case N:return"Fragment";case T:return"Profiler";case v:return"StrictMode";case C:return"Suspense";case A:return"SuspenseList";case M:return"Activity"}if(typeof s=="object")switch(s.$$typeof){case k:return"Portal";case O:return s.displayName||"Context";case E:return(s._context.displayName||"Context")+".Consumer";case S:var i=s.render;return s=s.displayName,s||(s=i.displayName||i.name||"",s=s!==""?"ForwardRef("+s+")":"ForwardRef"),s;case $:return i=s.displayName||null,i!==null?i:K(s.type)||"Memo";case P:i=s._payload,s=s._init;try{return K(s(i))}catch{}}return null}var R=Array.isArray,L=t.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,F=a.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,B={pending:!1,data:null,method:null,action:null},H=[],G=-1;function W(s){return{current:s}}function te(s){0>G||(s.current=H[G],H[G]=null,G--)}function le(s,i){G++,H[G]=s.current,s.current=i}var ge=W(null),se=W(null),ye=W(null),Ne=W(null);function we(s,i){switch(le(ye,i),le(se,s),le(ge,null),i.nodeType){case 9:case 11:s=(s=i.documentElement)&&(s=s.namespaceURI)?Xj(s):0;break;default:if(s=i.tagName,i=i.namespaceURI)i=Xj(i),s=Wj(i,s);else switch(s){case"svg":s=1;break;case"math":s=2;break;default:s=0}}te(ge),le(ge,s)}function me(){te(ge),te(se),te(ye)}function J(s){s.memoizedState!==null&&le(Ne,s);var i=ge.current,c=Wj(i,s.type);i!==c&&(le(se,s),le(ge,c))}function re(s){se.current===s&&(te(ge),te(se)),Ne.current===s&&(te(Ne),Dl._currentValue=B)}var Y,he;function ce(s){if(Y===void 0)try{throw Error()}catch(c){var i=c.stack.trim().match(/\n( *(at )?)/);Y=i&&i[1]||"",he=-1<c.stack.indexOf(`
18
+ at`)?" (<anonymous>)":-1<c.stack.indexOf("@")?"@unknown:0:0":""}return`
19
+ `+Y+s+he}var pe=!1;function ke(s,i){if(!s||pe)return"";pe=!0;var c=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var f={DetermineComponentFrameRoot:function(){try{if(i){var xe=function(){throw Error()};if(Object.defineProperty(xe.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(xe,[])}catch(oe){var ie=oe}Reflect.construct(s,[],xe)}else{try{xe.call()}catch(oe){ie=oe}s.call(xe.prototype)}}else{try{throw Error()}catch(oe){ie=oe}(xe=s())&&typeof xe.catch=="function"&&xe.catch(function(){})}}catch(oe){if(oe&&ie&&typeof oe.stack=="string")return[oe.stack,ie.stack]}return[null,null]}};f.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var b=Object.getOwnPropertyDescriptor(f.DetermineComponentFrameRoot,"name");b&&b.configurable&&Object.defineProperty(f.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var w=f.DetermineComponentFrameRoot(),D=w[0],I=w[1];if(D&&I){var V=D.split(`
20
+ `),ne=I.split(`
21
+ `);for(b=f=0;f<V.length&&!V[f].includes("DetermineComponentFrameRoot");)f++;for(;b<ne.length&&!ne[b].includes("DetermineComponentFrameRoot");)b++;if(f===V.length||b===ne.length)for(f=V.length-1,b=ne.length-1;1<=f&&0<=b&&V[f]!==ne[b];)b--;for(;1<=f&&0<=b;f--,b--)if(V[f]!==ne[b]){if(f!==1||b!==1)do if(f--,b--,0>b||V[f]!==ne[b]){var de=`
22
+ `+V[f].replace(" at new "," at ");return s.displayName&&de.includes("<anonymous>")&&(de=de.replace("<anonymous>",s.displayName)),de}while(1<=f&&0<=b);break}}}finally{pe=!1,Error.prepareStackTrace=c}return(c=s?s.displayName||s.name:"")?ce(c):""}function _e(s,i){switch(s.tag){case 26:case 27:case 5:return ce(s.type);case 16:return ce("Lazy");case 13:return s.child!==i&&i!==null?ce("Suspense Fallback"):ce("Suspense");case 19:return ce("SuspenseList");case 0:case 15:return ke(s.type,!1);case 11:return ke(s.type.render,!1);case 1:return ke(s.type,!0);case 31:return ce("Activity");default:return""}}function Le(s){try{var i="",c=null;do i+=_e(s,c),c=s,s=s.return;while(s);return i}catch(f){return`
23
+ Error generating stack: `+f.message+`
24
+ `+f.stack}}var Ue=Object.prototype.hasOwnProperty,Ge=e.unstable_scheduleCallback,rt=e.unstable_cancelCallback,Ot=e.unstable_shouldYield,Mt=e.unstable_requestPaint,ht=e.unstable_now,Yt=e.unstable_getCurrentPriorityLevel,Zr=e.unstable_ImmediatePriority,Jr=e.unstable_UserBlockingPriority,Rr=e.unstable_NormalPriority,cs=e.unstable_LowPriority,Qt=e.unstable_IdlePriority,ds=e.log,us=e.unstable_setDisableYieldValue,Ir=null,X=null;function ve(s){if(typeof ds=="function"&&us(s),X&&typeof X.setStrictMode=="function")try{X.setStrictMode(Ir,s)}catch{}}var Ce=Math.clz32?Math.clz32:wt,Ie=Math.log,Be=Math.LN2;function wt(s){return s>>>=0,s===0?32:31-(Ie(s)/Be|0)|0}var Xt=256,Br=262144,Ya=4194304;function Te(s){var i=s&42;if(i!==0)return i;switch(s&-s){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return s&261888;case 262144:case 524288:case 1048576:case 2097152:return s&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return s&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return s}}function xt(s,i,c){var f=s.pendingLanes;if(f===0)return 0;var b=0,w=s.suspendedLanes,D=s.pingedLanes;s=s.warmLanes;var I=f&134217727;return I!==0?(f=I&~w,f!==0?b=Te(f):(D&=I,D!==0?b=Te(D):c||(c=I&~s,c!==0&&(b=Te(c))))):(I=f&~w,I!==0?b=Te(I):D!==0?b=Te(D):c||(c=f&~s,c!==0&&(b=Te(c)))),b===0?0:i!==0&&i!==b&&(i&w)===0&&(w=b&-b,c=i&-i,w>=c||w===32&&(c&4194048)!==0)?i:b}function St(s,i){return(s.pendingLanes&~(s.suspendedLanes&~s.pingedLanes)&i)===0}function ar(s,i){switch(s){case 1:case 2:case 4:case 8:case 64:return i+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return i+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Sn(){var s=Ya;return Ya<<=1,(Ya&62914560)===0&&(Ya=4194304),s}function ms(s){for(var i=[],c=0;31>c;c++)i.push(s);return i}function Oa(s,i){s.pendingLanes|=i,i!==268435456&&(s.suspendedLanes=0,s.pingedLanes=0,s.warmLanes=0)}function FT(s,i,c,f,b,w){var D=s.pendingLanes;s.pendingLanes=c,s.suspendedLanes=0,s.pingedLanes=0,s.warmLanes=0,s.expiredLanes&=c,s.entangledLanes&=c,s.errorRecoveryDisabledLanes&=c,s.shellSuspendCounter=0;var I=s.entanglements,V=s.expirationTimes,ne=s.hiddenUpdates;for(c=D&~c;0<c;){var de=31-Ce(c),xe=1<<de;I[de]=0,V[de]=-1;var ie=ne[de];if(ie!==null)for(ne[de]=null,de=0;de<ie.length;de++){var oe=ie[de];oe!==null&&(oe.lane&=-536870913)}c&=~xe}f!==0&&Dy(s,f,0),w!==0&&b===0&&s.tag!==0&&(s.suspendedLanes|=w&~(D&~i))}function Dy(s,i,c){s.pendingLanes|=i,s.suspendedLanes&=~i;var f=31-Ce(i);s.entangledLanes|=i,s.entanglements[f]=s.entanglements[f]|1073741824|c&261930}function _y(s,i){var c=s.entangledLanes|=i;for(s=s.entanglements;c;){var f=31-Ce(c),b=1<<f;b&i|s[f]&i&&(s[f]|=i),c&=~b}}function My(s,i){var c=i&-i;return c=(c&42)!==0?1:Of(c),(c&(s.suspendedLanes|i))!==0?0:c}function Of(s){switch(s){case 2:s=1;break;case 8:s=4;break;case 32:s=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:s=128;break;case 268435456:s=134217728;break;default:s=0}return s}function Af(s){return s&=-s,2<s?8<s?(s&134217727)!==0?32:268435456:8:2}function Ly(){var s=F.p;return s!==0?s:(s=window.event,s===void 0?32:vw(s.type))}function Py(s,i){var c=F.p;try{return F.p=s,i()}finally{F.p=c}}var Cn=Math.random().toString(36).slice(2),cr="__reactFiber$"+Cn,Cr="__reactProps$"+Cn,ti="__reactContainer$"+Cn,$f="__reactEvents$"+Cn,UT="__reactListeners$"+Cn,KT="__reactHandles$"+Cn,Ry="__reactResources$"+Cn,Go="__reactMarker$"+Cn;function Df(s){delete s[cr],delete s[Cr],delete s[$f],delete s[UT],delete s[KT]}function ri(s){var i=s[cr];if(i)return i;for(var c=s.parentNode;c;){if(i=c[ti]||c[cr]){if(c=i.alternate,i.child!==null||c!==null&&c.child!==null)for(s=nw(s);s!==null;){if(c=s[cr])return c;s=nw(s)}return i}s=c,c=s.parentNode}return null}function ai(s){if(s=s[cr]||s[ti]){var i=s.tag;if(i===5||i===6||i===13||i===31||i===26||i===27||i===3)return s}return null}function Yo(s){var i=s.tag;if(i===5||i===26||i===27||i===6)return s.stateNode;throw Error(n(33))}function ni(s){var i=s[Ry];return i||(i=s[Ry]={hoistableStyles:new Map,hoistableScripts:new Map}),i}function nr(s){s[Go]=!0}var Iy=new Set,By={};function fs(s,i){si(s,i),si(s+"Capture",i)}function si(s,i){for(By[s]=i,s=0;s<i.length;s++)Iy.add(i[s])}var HT=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"),zy={},qy={};function VT(s){return Ue.call(qy,s)?!0:Ue.call(zy,s)?!1:HT.test(s)?qy[s]=!0:(zy[s]=!0,!1)}function ud(s,i,c){if(VT(i))if(c===null)s.removeAttribute(i);else{switch(typeof c){case"undefined":case"function":case"symbol":s.removeAttribute(i);return;case"boolean":var f=i.toLowerCase().slice(0,5);if(f!=="data-"&&f!=="aria-"){s.removeAttribute(i);return}}s.setAttribute(i,""+c)}}function md(s,i,c){if(c===null)s.removeAttribute(i);else{switch(typeof c){case"undefined":case"function":case"symbol":case"boolean":s.removeAttribute(i);return}s.setAttribute(i,""+c)}}function Qa(s,i,c,f){if(f===null)s.removeAttribute(c);else{switch(typeof f){case"undefined":case"function":case"symbol":case"boolean":s.removeAttribute(c);return}s.setAttributeNS(i,c,""+f)}}function ea(s){switch(typeof s){case"bigint":case"boolean":case"number":case"string":case"undefined":return s;case"object":return s;default:return""}}function Fy(s){var i=s.type;return(s=s.nodeName)&&s.toLowerCase()==="input"&&(i==="checkbox"||i==="radio")}function GT(s,i,c){var f=Object.getOwnPropertyDescriptor(s.constructor.prototype,i);if(!s.hasOwnProperty(i)&&typeof f<"u"&&typeof f.get=="function"&&typeof f.set=="function"){var b=f.get,w=f.set;return Object.defineProperty(s,i,{configurable:!0,get:function(){return b.call(this)},set:function(D){c=""+D,w.call(this,D)}}),Object.defineProperty(s,i,{enumerable:f.enumerable}),{getValue:function(){return c},setValue:function(D){c=""+D},stopTracking:function(){s._valueTracker=null,delete s[i]}}}}function _f(s){if(!s._valueTracker){var i=Fy(s)?"checked":"value";s._valueTracker=GT(s,i,""+s[i])}}function Uy(s){if(!s)return!1;var i=s._valueTracker;if(!i)return!0;var c=i.getValue(),f="";return s&&(f=Fy(s)?s.checked?"true":"false":s.value),s=f,s!==c?(i.setValue(s),!0):!1}function fd(s){if(s=s||(typeof document<"u"?document:void 0),typeof s>"u")return null;try{return s.activeElement||s.body}catch{return s.body}}var YT=/[\n"\\]/g;function ta(s){return s.replace(YT,function(i){return"\\"+i.charCodeAt(0).toString(16)+" "})}function Mf(s,i,c,f,b,w,D,I){s.name="",D!=null&&typeof D!="function"&&typeof D!="symbol"&&typeof D!="boolean"?s.type=D:s.removeAttribute("type"),i!=null?D==="number"?(i===0&&s.value===""||s.value!=i)&&(s.value=""+ea(i)):s.value!==""+ea(i)&&(s.value=""+ea(i)):D!=="submit"&&D!=="reset"||s.removeAttribute("value"),i!=null?Lf(s,D,ea(i)):c!=null?Lf(s,D,ea(c)):f!=null&&s.removeAttribute("value"),b==null&&w!=null&&(s.defaultChecked=!!w),b!=null&&(s.checked=b&&typeof b!="function"&&typeof b!="symbol"),I!=null&&typeof I!="function"&&typeof I!="symbol"&&typeof I!="boolean"?s.name=""+ea(I):s.removeAttribute("name")}function Ky(s,i,c,f,b,w,D,I){if(w!=null&&typeof w!="function"&&typeof w!="symbol"&&typeof w!="boolean"&&(s.type=w),i!=null||c!=null){if(!(w!=="submit"&&w!=="reset"||i!=null)){_f(s);return}c=c!=null?""+ea(c):"",i=i!=null?""+ea(i):c,I||i===s.value||(s.value=i),s.defaultValue=i}f=f??b,f=typeof f!="function"&&typeof f!="symbol"&&!!f,s.checked=I?s.checked:!!f,s.defaultChecked=!!f,D!=null&&typeof D!="function"&&typeof D!="symbol"&&typeof D!="boolean"&&(s.name=D),_f(s)}function Lf(s,i,c){i==="number"&&fd(s.ownerDocument)===s||s.defaultValue===""+c||(s.defaultValue=""+c)}function ii(s,i,c,f){if(s=s.options,i){i={};for(var b=0;b<c.length;b++)i["$"+c[b]]=!0;for(c=0;c<s.length;c++)b=i.hasOwnProperty("$"+s[c].value),s[c].selected!==b&&(s[c].selected=b),b&&f&&(s[c].defaultSelected=!0)}else{for(c=""+ea(c),i=null,b=0;b<s.length;b++){if(s[b].value===c){s[b].selected=!0,f&&(s[b].defaultSelected=!0);return}i!==null||s[b].disabled||(i=s[b])}i!==null&&(i.selected=!0)}}function Hy(s,i,c){if(i!=null&&(i=""+ea(i),i!==s.value&&(s.value=i),c==null)){s.defaultValue!==i&&(s.defaultValue=i);return}s.defaultValue=c!=null?""+ea(c):""}function Vy(s,i,c,f){if(i==null){if(f!=null){if(c!=null)throw Error(n(92));if(R(f)){if(1<f.length)throw Error(n(93));f=f[0]}c=f}c==null&&(c=""),i=c}c=ea(i),s.defaultValue=c,f=s.textContent,f===c&&f!==""&&f!==null&&(s.value=f),_f(s)}function oi(s,i){if(i){var c=s.firstChild;if(c&&c===s.lastChild&&c.nodeType===3){c.nodeValue=i;return}}s.textContent=i}var QT=new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" "));function Gy(s,i,c){var f=i.indexOf("--")===0;c==null||typeof c=="boolean"||c===""?f?s.setProperty(i,""):i==="float"?s.cssFloat="":s[i]="":f?s.setProperty(i,c):typeof c!="number"||c===0||QT.has(i)?i==="float"?s.cssFloat=c:s[i]=(""+c).trim():s[i]=c+"px"}function Yy(s,i,c){if(i!=null&&typeof i!="object")throw Error(n(62));if(s=s.style,c!=null){for(var f in c)!c.hasOwnProperty(f)||i!=null&&i.hasOwnProperty(f)||(f.indexOf("--")===0?s.setProperty(f,""):f==="float"?s.cssFloat="":s[f]="");for(var b in i)f=i[b],i.hasOwnProperty(b)&&c[b]!==f&&Gy(s,b,f)}else for(var w in i)i.hasOwnProperty(w)&&Gy(s,w,i[w])}function Pf(s){if(s.indexOf("-")===-1)return!1;switch(s){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var XT=new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http-equiv"],["crossOrigin","crossorigin"],["accentHeight","accent-height"],["alignmentBaseline","alignment-baseline"],["arabicForm","arabic-form"],["baselineShift","baseline-shift"],["capHeight","cap-height"],["clipPath","clip-path"],["clipRule","clip-rule"],["colorInterpolation","color-interpolation"],["colorInterpolationFilters","color-interpolation-filters"],["colorProfile","color-profile"],["colorRendering","color-rendering"],["dominantBaseline","dominant-baseline"],["enableBackground","enable-background"],["fillOpacity","fill-opacity"],["fillRule","fill-rule"],["floodColor","flood-color"],["floodOpacity","flood-opacity"],["fontFamily","font-family"],["fontSize","font-size"],["fontSizeAdjust","font-size-adjust"],["fontStretch","font-stretch"],["fontStyle","font-style"],["fontVariant","font-variant"],["fontWeight","font-weight"],["glyphName","glyph-name"],["glyphOrientationHorizontal","glyph-orientation-horizontal"],["glyphOrientationVertical","glyph-orientation-vertical"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["renderingIntent","rendering-intent"],["shapeRendering","shape-rendering"],["stopColor","stop-color"],["stopOpacity","stop-opacity"],["strikethroughPosition","strikethrough-position"],["strikethroughThickness","strikethrough-thickness"],["strokeDasharray","stroke-dasharray"],["strokeDashoffset","stroke-dashoffset"],["strokeLinecap","stroke-linecap"],["strokeLinejoin","stroke-linejoin"],["strokeMiterlimit","stroke-miterlimit"],["strokeOpacity","stroke-opacity"],["strokeWidth","stroke-width"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["underlinePosition","underline-position"],["underlineThickness","underline-thickness"],["unicodeBidi","unicode-bidi"],["unicodeRange","unicode-range"],["unitsPerEm","units-per-em"],["vAlphabetic","v-alphabetic"],["vHanging","v-hanging"],["vIdeographic","v-ideographic"],["vMathematical","v-mathematical"],["vectorEffect","vector-effect"],["vertAdvY","vert-adv-y"],["vertOriginX","vert-origin-x"],["vertOriginY","vert-origin-y"],["wordSpacing","word-spacing"],["writingMode","writing-mode"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),WT=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function hd(s){return WT.test(""+s)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":s}function Xa(){}var Rf=null;function If(s){return s=s.target||s.srcElement||window,s.correspondingUseElement&&(s=s.correspondingUseElement),s.nodeType===3?s.parentNode:s}var li=null,ci=null;function Qy(s){var i=ai(s);if(i&&(s=i.stateNode)){var c=s[Cr]||null;e:switch(s=i.stateNode,i.type){case"input":if(Mf(s,c.value,c.defaultValue,c.defaultValue,c.checked,c.defaultChecked,c.type,c.name),i=c.name,c.type==="radio"&&i!=null){for(c=s;c.parentNode;)c=c.parentNode;for(c=c.querySelectorAll('input[name="'+ta(""+i)+'"][type="radio"]'),i=0;i<c.length;i++){var f=c[i];if(f!==s&&f.form===s.form){var b=f[Cr]||null;if(!b)throw Error(n(90));Mf(f,b.value,b.defaultValue,b.defaultValue,b.checked,b.defaultChecked,b.type,b.name)}}for(i=0;i<c.length;i++)f=c[i],f.form===s.form&&Uy(f)}break e;case"textarea":Hy(s,c.value,c.defaultValue);break e;case"select":i=c.value,i!=null&&ii(s,!!c.multiple,i,!1)}}}var Bf=!1;function Xy(s,i,c){if(Bf)return s(i,c);Bf=!0;try{var f=s(i);return f}finally{if(Bf=!1,(li!==null||ci!==null)&&(tu(),li&&(i=li,s=ci,ci=li=null,Qy(i),s)))for(i=0;i<s.length;i++)Qy(s[i])}}function Qo(s,i){var c=s.stateNode;if(c===null)return null;var f=c[Cr]||null;if(f===null)return null;c=f[i];e:switch(i){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(f=!f.disabled)||(s=s.type,f=!(s==="button"||s==="input"||s==="select"||s==="textarea")),s=!f;break e;default:s=!1}if(s)return null;if(c&&typeof c!="function")throw Error(n(231,i,typeof c));return c}var Wa=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),zf=!1;if(Wa)try{var Xo={};Object.defineProperty(Xo,"passive",{get:function(){zf=!0}}),window.addEventListener("test",Xo,Xo),window.removeEventListener("test",Xo,Xo)}catch{zf=!1}var Tn=null,qf=null,xd=null;function Wy(){if(xd)return xd;var s,i=qf,c=i.length,f,b="value"in Tn?Tn.value:Tn.textContent,w=b.length;for(s=0;s<c&&i[s]===b[s];s++);var D=c-s;for(f=1;f<=D&&i[c-f]===b[w-f];f++);return xd=b.slice(s,1<f?1-f:void 0)}function gd(s){var i=s.keyCode;return"charCode"in s?(s=s.charCode,s===0&&i===13&&(s=13)):s=i,s===10&&(s=13),32<=s||s===13?s:0}function pd(){return!0}function Zy(){return!1}function Tr(s){function i(c,f,b,w,D){this._reactName=c,this._targetInst=b,this.type=f,this.nativeEvent=w,this.target=D,this.currentTarget=null;for(var I in s)s.hasOwnProperty(I)&&(c=s[I],this[I]=c?c(w):w[I]);return this.isDefaultPrevented=(w.defaultPrevented!=null?w.defaultPrevented:w.returnValue===!1)?pd:Zy,this.isPropagationStopped=Zy,this}return g(i.prototype,{preventDefault:function(){this.defaultPrevented=!0;var c=this.nativeEvent;c&&(c.preventDefault?c.preventDefault():typeof c.returnValue!="unknown"&&(c.returnValue=!1),this.isDefaultPrevented=pd)},stopPropagation:function(){var c=this.nativeEvent;c&&(c.stopPropagation?c.stopPropagation():typeof c.cancelBubble!="unknown"&&(c.cancelBubble=!0),this.isPropagationStopped=pd)},persist:function(){},isPersistent:pd}),i}var hs={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(s){return s.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},yd=Tr(hs),Wo=g({},hs,{view:0,detail:0}),ZT=Tr(Wo),Ff,Uf,Zo,bd=g({},Wo,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Hf,button:0,buttons:0,relatedTarget:function(s){return s.relatedTarget===void 0?s.fromElement===s.srcElement?s.toElement:s.fromElement:s.relatedTarget},movementX:function(s){return"movementX"in s?s.movementX:(s!==Zo&&(Zo&&s.type==="mousemove"?(Ff=s.screenX-Zo.screenX,Uf=s.screenY-Zo.screenY):Uf=Ff=0,Zo=s),Ff)},movementY:function(s){return"movementY"in s?s.movementY:Uf}}),Jy=Tr(bd),JT=g({},bd,{dataTransfer:0}),eE=Tr(JT),tE=g({},Wo,{relatedTarget:0}),Kf=Tr(tE),rE=g({},hs,{animationName:0,elapsedTime:0,pseudoElement:0}),aE=Tr(rE),nE=g({},hs,{clipboardData:function(s){return"clipboardData"in s?s.clipboardData:window.clipboardData}}),sE=Tr(nE),iE=g({},hs,{data:0}),eb=Tr(iE),oE={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},lE={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},cE={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function dE(s){var i=this.nativeEvent;return i.getModifierState?i.getModifierState(s):(s=cE[s])?!!i[s]:!1}function Hf(){return dE}var uE=g({},Wo,{key:function(s){if(s.key){var i=oE[s.key]||s.key;if(i!=="Unidentified")return i}return s.type==="keypress"?(s=gd(s),s===13?"Enter":String.fromCharCode(s)):s.type==="keydown"||s.type==="keyup"?lE[s.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Hf,charCode:function(s){return s.type==="keypress"?gd(s):0},keyCode:function(s){return s.type==="keydown"||s.type==="keyup"?s.keyCode:0},which:function(s){return s.type==="keypress"?gd(s):s.type==="keydown"||s.type==="keyup"?s.keyCode:0}}),mE=Tr(uE),fE=g({},bd,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),tb=Tr(fE),hE=g({},Wo,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Hf}),xE=Tr(hE),gE=g({},hs,{propertyName:0,elapsedTime:0,pseudoElement:0}),pE=Tr(gE),yE=g({},bd,{deltaX:function(s){return"deltaX"in s?s.deltaX:"wheelDeltaX"in s?-s.wheelDeltaX:0},deltaY:function(s){return"deltaY"in s?s.deltaY:"wheelDeltaY"in s?-s.wheelDeltaY:"wheelDelta"in s?-s.wheelDelta:0},deltaZ:0,deltaMode:0}),bE=Tr(yE),vE=g({},hs,{newState:0,oldState:0}),jE=Tr(vE),wE=[9,13,27,32],Vf=Wa&&"CompositionEvent"in window,Jo=null;Wa&&"documentMode"in document&&(Jo=document.documentMode);var kE=Wa&&"TextEvent"in window&&!Jo,rb=Wa&&(!Vf||Jo&&8<Jo&&11>=Jo),ab=" ",nb=!1;function sb(s,i){switch(s){case"keyup":return wE.indexOf(i.keyCode)!==-1;case"keydown":return i.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function ib(s){return s=s.detail,typeof s=="object"&&"data"in s?s.data:null}var di=!1;function NE(s,i){switch(s){case"compositionend":return ib(i);case"keypress":return i.which!==32?null:(nb=!0,ab);case"textInput":return s=i.data,s===ab&&nb?null:s;default:return null}}function SE(s,i){if(di)return s==="compositionend"||!Vf&&sb(s,i)?(s=Wy(),xd=qf=Tn=null,di=!1,s):null;switch(s){case"paste":return null;case"keypress":if(!(i.ctrlKey||i.altKey||i.metaKey)||i.ctrlKey&&i.altKey){if(i.char&&1<i.char.length)return i.char;if(i.which)return String.fromCharCode(i.which)}return null;case"compositionend":return rb&&i.locale!=="ko"?null:i.data;default:return null}}var CE={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function ob(s){var i=s&&s.nodeName&&s.nodeName.toLowerCase();return i==="input"?!!CE[s.type]:i==="textarea"}function lb(s,i,c,f){li?ci?ci.push(f):ci=[f]:li=f,i=lu(i,"onChange"),0<i.length&&(c=new yd("onChange","change",null,c,f),s.push({event:c,listeners:i}))}var el=null,tl=null;function TE(s){Kj(s,0)}function vd(s){var i=Yo(s);if(Uy(i))return s}function cb(s,i){if(s==="change")return i}var db=!1;if(Wa){var Gf;if(Wa){var Yf="oninput"in document;if(!Yf){var ub=document.createElement("div");ub.setAttribute("oninput","return;"),Yf=typeof ub.oninput=="function"}Gf=Yf}else Gf=!1;db=Gf&&(!document.documentMode||9<document.documentMode)}function mb(){el&&(el.detachEvent("onpropertychange",fb),tl=el=null)}function fb(s){if(s.propertyName==="value"&&vd(tl)){var i=[];lb(i,tl,s,If(s)),Xy(TE,i)}}function EE(s,i,c){s==="focusin"?(mb(),el=i,tl=c,el.attachEvent("onpropertychange",fb)):s==="focusout"&&mb()}function OE(s){if(s==="selectionchange"||s==="keyup"||s==="keydown")return vd(tl)}function AE(s,i){if(s==="click")return vd(i)}function $E(s,i){if(s==="input"||s==="change")return vd(i)}function DE(s,i){return s===i&&(s!==0||1/s===1/i)||s!==s&&i!==i}var zr=typeof Object.is=="function"?Object.is:DE;function rl(s,i){if(zr(s,i))return!0;if(typeof s!="object"||s===null||typeof i!="object"||i===null)return!1;var c=Object.keys(s),f=Object.keys(i);if(c.length!==f.length)return!1;for(f=0;f<c.length;f++){var b=c[f];if(!Ue.call(i,b)||!zr(s[b],i[b]))return!1}return!0}function hb(s){for(;s&&s.firstChild;)s=s.firstChild;return s}function xb(s,i){var c=hb(s);s=0;for(var f;c;){if(c.nodeType===3){if(f=s+c.textContent.length,s<=i&&f>=i)return{node:c,offset:i-s};s=f}e:{for(;c;){if(c.nextSibling){c=c.nextSibling;break e}c=c.parentNode}c=void 0}c=hb(c)}}function gb(s,i){return s&&i?s===i?!0:s&&s.nodeType===3?!1:i&&i.nodeType===3?gb(s,i.parentNode):"contains"in s?s.contains(i):s.compareDocumentPosition?!!(s.compareDocumentPosition(i)&16):!1:!1}function pb(s){s=s!=null&&s.ownerDocument!=null&&s.ownerDocument.defaultView!=null?s.ownerDocument.defaultView:window;for(var i=fd(s.document);i instanceof s.HTMLIFrameElement;){try{var c=typeof i.contentWindow.location.href=="string"}catch{c=!1}if(c)s=i.contentWindow;else break;i=fd(s.document)}return i}function Qf(s){var i=s&&s.nodeName&&s.nodeName.toLowerCase();return i&&(i==="input"&&(s.type==="text"||s.type==="search"||s.type==="tel"||s.type==="url"||s.type==="password")||i==="textarea"||s.contentEditable==="true")}var _E=Wa&&"documentMode"in document&&11>=document.documentMode,ui=null,Xf=null,al=null,Wf=!1;function yb(s,i,c){var f=c.window===c?c.document:c.nodeType===9?c:c.ownerDocument;Wf||ui==null||ui!==fd(f)||(f=ui,"selectionStart"in f&&Qf(f)?f={start:f.selectionStart,end:f.selectionEnd}:(f=(f.ownerDocument&&f.ownerDocument.defaultView||window).getSelection(),f={anchorNode:f.anchorNode,anchorOffset:f.anchorOffset,focusNode:f.focusNode,focusOffset:f.focusOffset}),al&&rl(al,f)||(al=f,f=lu(Xf,"onSelect"),0<f.length&&(i=new yd("onSelect","select",null,i,c),s.push({event:i,listeners:f}),i.target=ui)))}function xs(s,i){var c={};return c[s.toLowerCase()]=i.toLowerCase(),c["Webkit"+s]="webkit"+i,c["Moz"+s]="moz"+i,c}var mi={animationend:xs("Animation","AnimationEnd"),animationiteration:xs("Animation","AnimationIteration"),animationstart:xs("Animation","AnimationStart"),transitionrun:xs("Transition","TransitionRun"),transitionstart:xs("Transition","TransitionStart"),transitioncancel:xs("Transition","TransitionCancel"),transitionend:xs("Transition","TransitionEnd")},Zf={},bb={};Wa&&(bb=document.createElement("div").style,"AnimationEvent"in window||(delete mi.animationend.animation,delete mi.animationiteration.animation,delete mi.animationstart.animation),"TransitionEvent"in window||delete mi.transitionend.transition);function gs(s){if(Zf[s])return Zf[s];if(!mi[s])return s;var i=mi[s],c;for(c in i)if(i.hasOwnProperty(c)&&c in bb)return Zf[s]=i[c];return s}var vb=gs("animationend"),jb=gs("animationiteration"),wb=gs("animationstart"),ME=gs("transitionrun"),LE=gs("transitionstart"),PE=gs("transitioncancel"),kb=gs("transitionend"),Nb=new Map,Jf="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");Jf.push("scrollEnd");function pa(s,i){Nb.set(s,i),fs(i,[s])}var jd=typeof reportError=="function"?reportError:function(s){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var i=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof s=="object"&&s!==null&&typeof s.message=="string"?String(s.message):String(s),error:s});if(!window.dispatchEvent(i))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",s);return}console.error(s)},ra=[],fi=0,eh=0;function wd(){for(var s=fi,i=eh=fi=0;i<s;){var c=ra[i];ra[i++]=null;var f=ra[i];ra[i++]=null;var b=ra[i];ra[i++]=null;var w=ra[i];if(ra[i++]=null,f!==null&&b!==null){var D=f.pending;D===null?b.next=b:(b.next=D.next,D.next=b),f.pending=b}w!==0&&Sb(c,b,w)}}function kd(s,i,c,f){ra[fi++]=s,ra[fi++]=i,ra[fi++]=c,ra[fi++]=f,eh|=f,s.lanes|=f,s=s.alternate,s!==null&&(s.lanes|=f)}function th(s,i,c,f){return kd(s,i,c,f),Nd(s)}function ps(s,i){return kd(s,null,null,i),Nd(s)}function Sb(s,i,c){s.lanes|=c;var f=s.alternate;f!==null&&(f.lanes|=c);for(var b=!1,w=s.return;w!==null;)w.childLanes|=c,f=w.alternate,f!==null&&(f.childLanes|=c),w.tag===22&&(s=w.stateNode,s===null||s._visibility&1||(b=!0)),s=w,w=w.return;return s.tag===3?(w=s.stateNode,b&&i!==null&&(b=31-Ce(c),s=w.hiddenUpdates,f=s[b],f===null?s[b]=[i]:f.push(i),i.lane=c|536870912),w):null}function Nd(s){if(50<Sl)throw Sl=0,dx=null,Error(n(185));for(var i=s.return;i!==null;)s=i,i=s.return;return s.tag===3?s.stateNode:null}var hi={};function RE(s,i,c,f){this.tag=s,this.key=c,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=i,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=f,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function qr(s,i,c,f){return new RE(s,i,c,f)}function rh(s){return s=s.prototype,!(!s||!s.isReactComponent)}function Za(s,i){var c=s.alternate;return c===null?(c=qr(s.tag,i,s.key,s.mode),c.elementType=s.elementType,c.type=s.type,c.stateNode=s.stateNode,c.alternate=s,s.alternate=c):(c.pendingProps=i,c.type=s.type,c.flags=0,c.subtreeFlags=0,c.deletions=null),c.flags=s.flags&65011712,c.childLanes=s.childLanes,c.lanes=s.lanes,c.child=s.child,c.memoizedProps=s.memoizedProps,c.memoizedState=s.memoizedState,c.updateQueue=s.updateQueue,i=s.dependencies,c.dependencies=i===null?null:{lanes:i.lanes,firstContext:i.firstContext},c.sibling=s.sibling,c.index=s.index,c.ref=s.ref,c.refCleanup=s.refCleanup,c}function Cb(s,i){s.flags&=65011714;var c=s.alternate;return c===null?(s.childLanes=0,s.lanes=i,s.child=null,s.subtreeFlags=0,s.memoizedProps=null,s.memoizedState=null,s.updateQueue=null,s.dependencies=null,s.stateNode=null):(s.childLanes=c.childLanes,s.lanes=c.lanes,s.child=c.child,s.subtreeFlags=0,s.deletions=null,s.memoizedProps=c.memoizedProps,s.memoizedState=c.memoizedState,s.updateQueue=c.updateQueue,s.type=c.type,i=c.dependencies,s.dependencies=i===null?null:{lanes:i.lanes,firstContext:i.firstContext}),s}function Sd(s,i,c,f,b,w){var D=0;if(f=s,typeof s=="function")rh(s)&&(D=1);else if(typeof s=="string")D=F3(s,c,ge.current)?26:s==="html"||s==="head"||s==="body"?27:5;else e:switch(s){case M:return s=qr(31,c,i,b),s.elementType=M,s.lanes=w,s;case N:return ys(c.children,b,w,i);case v:D=8,b|=24;break;case T:return s=qr(12,c,i,b|2),s.elementType=T,s.lanes=w,s;case C:return s=qr(13,c,i,b),s.elementType=C,s.lanes=w,s;case A:return s=qr(19,c,i,b),s.elementType=A,s.lanes=w,s;default:if(typeof s=="object"&&s!==null)switch(s.$$typeof){case O:D=10;break e;case E:D=9;break e;case S:D=11;break e;case $:D=14;break e;case P:D=16,f=null;break e}D=29,c=Error(n(130,s===null?"null":typeof s,"")),f=null}return i=qr(D,c,i,b),i.elementType=s,i.type=f,i.lanes=w,i}function ys(s,i,c,f){return s=qr(7,s,f,i),s.lanes=c,s}function ah(s,i,c){return s=qr(6,s,null,i),s.lanes=c,s}function Tb(s){var i=qr(18,null,null,0);return i.stateNode=s,i}function nh(s,i,c){return i=qr(4,s.children!==null?s.children:[],s.key,i),i.lanes=c,i.stateNode={containerInfo:s.containerInfo,pendingChildren:null,implementation:s.implementation},i}var Eb=new WeakMap;function aa(s,i){if(typeof s=="object"&&s!==null){var c=Eb.get(s);return c!==void 0?c:(i={value:s,source:i,stack:Le(i)},Eb.set(s,i),i)}return{value:s,source:i,stack:Le(i)}}var xi=[],gi=0,Cd=null,nl=0,na=[],sa=0,En=null,Aa=1,$a="";function Ja(s,i){xi[gi++]=nl,xi[gi++]=Cd,Cd=s,nl=i}function Ob(s,i,c){na[sa++]=Aa,na[sa++]=$a,na[sa++]=En,En=s;var f=Aa;s=$a;var b=32-Ce(f)-1;f&=~(1<<b),c+=1;var w=32-Ce(i)+b;if(30<w){var D=b-b%5;w=(f&(1<<D)-1).toString(32),f>>=D,b-=D,Aa=1<<32-Ce(i)+b|c<<b|f,$a=w+s}else Aa=1<<w|c<<b|f,$a=s}function sh(s){s.return!==null&&(Ja(s,1),Ob(s,1,0))}function ih(s){for(;s===Cd;)Cd=xi[--gi],xi[gi]=null,nl=xi[--gi],xi[gi]=null;for(;s===En;)En=na[--sa],na[sa]=null,$a=na[--sa],na[sa]=null,Aa=na[--sa],na[sa]=null}function Ab(s,i){na[sa++]=Aa,na[sa++]=$a,na[sa++]=En,Aa=i.id,$a=i.overflow,En=s}var dr=null,Ct=null,Xe=!1,On=null,ia=!1,oh=Error(n(519));function An(s){var i=Error(n(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw sl(aa(i,s)),oh}function $b(s){var i=s.stateNode,c=s.type,f=s.memoizedProps;switch(i[cr]=s,i[Cr]=f,c){case"dialog":He("cancel",i),He("close",i);break;case"iframe":case"object":case"embed":He("load",i);break;case"video":case"audio":for(c=0;c<Tl.length;c++)He(Tl[c],i);break;case"source":He("error",i);break;case"img":case"image":case"link":He("error",i),He("load",i);break;case"details":He("toggle",i);break;case"input":He("invalid",i),Ky(i,f.value,f.defaultValue,f.checked,f.defaultChecked,f.type,f.name,!0);break;case"select":He("invalid",i);break;case"textarea":He("invalid",i),Vy(i,f.value,f.defaultValue,f.children)}c=f.children,typeof c!="string"&&typeof c!="number"&&typeof c!="bigint"||i.textContent===""+c||f.suppressHydrationWarning===!0||Yj(i.textContent,c)?(f.popover!=null&&(He("beforetoggle",i),He("toggle",i)),f.onScroll!=null&&He("scroll",i),f.onScrollEnd!=null&&He("scrollend",i),f.onClick!=null&&(i.onclick=Xa),i=!0):i=!1,i||An(s,!0)}function Db(s){for(dr=s.return;dr;)switch(dr.tag){case 5:case 31:case 13:ia=!1;return;case 27:case 3:ia=!0;return;default:dr=dr.return}}function pi(s){if(s!==dr)return!1;if(!Xe)return Db(s),Xe=!0,!1;var i=s.tag,c;if((c=i!==3&&i!==27)&&((c=i===5)&&(c=s.type,c=!(c!=="form"&&c!=="button")||Sx(s.type,s.memoizedProps)),c=!c),c&&Ct&&An(s),Db(s),i===13){if(s=s.memoizedState,s=s!==null?s.dehydrated:null,!s)throw Error(n(317));Ct=aw(s)}else if(i===31){if(s=s.memoizedState,s=s!==null?s.dehydrated:null,!s)throw Error(n(317));Ct=aw(s)}else i===27?(i=Ct,Kn(s.type)?(s=Ax,Ax=null,Ct=s):Ct=i):Ct=dr?la(s.stateNode.nextSibling):null;return!0}function bs(){Ct=dr=null,Xe=!1}function lh(){var s=On;return s!==null&&($r===null?$r=s:$r.push.apply($r,s),On=null),s}function sl(s){On===null?On=[s]:On.push(s)}var ch=W(null),vs=null,en=null;function $n(s,i,c){le(ch,i._currentValue),i._currentValue=c}function tn(s){s._currentValue=ch.current,te(ch)}function dh(s,i,c){for(;s!==null;){var f=s.alternate;if((s.childLanes&i)!==i?(s.childLanes|=i,f!==null&&(f.childLanes|=i)):f!==null&&(f.childLanes&i)!==i&&(f.childLanes|=i),s===c)break;s=s.return}}function uh(s,i,c,f){var b=s.child;for(b!==null&&(b.return=s);b!==null;){var w=b.dependencies;if(w!==null){var D=b.child;w=w.firstContext;e:for(;w!==null;){var I=w;w=b;for(var V=0;V<i.length;V++)if(I.context===i[V]){w.lanes|=c,I=w.alternate,I!==null&&(I.lanes|=c),dh(w.return,c,s),f||(D=null);break e}w=I.next}}else if(b.tag===18){if(D=b.return,D===null)throw Error(n(341));D.lanes|=c,w=D.alternate,w!==null&&(w.lanes|=c),dh(D,c,s),D=null}else D=b.child;if(D!==null)D.return=b;else for(D=b;D!==null;){if(D===s){D=null;break}if(b=D.sibling,b!==null){b.return=D.return,D=b;break}D=D.return}b=D}}function yi(s,i,c,f){s=null;for(var b=i,w=!1;b!==null;){if(!w){if((b.flags&524288)!==0)w=!0;else if((b.flags&262144)!==0)break}if(b.tag===10){var D=b.alternate;if(D===null)throw Error(n(387));if(D=D.memoizedProps,D!==null){var I=b.type;zr(b.pendingProps.value,D.value)||(s!==null?s.push(I):s=[I])}}else if(b===Ne.current){if(D=b.alternate,D===null)throw Error(n(387));D.memoizedState.memoizedState!==b.memoizedState.memoizedState&&(s!==null?s.push(Dl):s=[Dl])}b=b.return}s!==null&&uh(i,s,c,f),i.flags|=262144}function Td(s){for(s=s.firstContext;s!==null;){if(!zr(s.context._currentValue,s.memoizedValue))return!0;s=s.next}return!1}function js(s){vs=s,en=null,s=s.dependencies,s!==null&&(s.firstContext=null)}function ur(s){return _b(vs,s)}function Ed(s,i){return vs===null&&js(s),_b(s,i)}function _b(s,i){var c=i._currentValue;if(i={context:i,memoizedValue:c,next:null},en===null){if(s===null)throw Error(n(308));en=i,s.dependencies={lanes:0,firstContext:i},s.flags|=524288}else en=en.next=i;return c}var IE=typeof AbortController<"u"?AbortController:function(){var s=[],i=this.signal={aborted:!1,addEventListener:function(c,f){s.push(f)}};this.abort=function(){i.aborted=!0,s.forEach(function(c){return c()})}},BE=e.unstable_scheduleCallback,zE=e.unstable_NormalPriority,Ft={$$typeof:O,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function mh(){return{controller:new IE,data:new Map,refCount:0}}function il(s){s.refCount--,s.refCount===0&&BE(zE,function(){s.controller.abort()})}var ol=null,fh=0,bi=0,vi=null;function qE(s,i){if(ol===null){var c=ol=[];fh=0,bi=gx(),vi={status:"pending",value:void 0,then:function(f){c.push(f)}}}return fh++,i.then(Mb,Mb),i}function Mb(){if(--fh===0&&ol!==null){vi!==null&&(vi.status="fulfilled");var s=ol;ol=null,bi=0,vi=null;for(var i=0;i<s.length;i++)(0,s[i])()}}function FE(s,i){var c=[],f={status:"pending",value:null,reason:null,then:function(b){c.push(b)}};return s.then(function(){f.status="fulfilled",f.value=i;for(var b=0;b<c.length;b++)(0,c[b])(i)},function(b){for(f.status="rejected",f.reason=b,b=0;b<c.length;b++)(0,c[b])(void 0)}),f}var Lb=L.S;L.S=function(s,i){yj=ht(),typeof i=="object"&&i!==null&&typeof i.then=="function"&&qE(s,i),Lb!==null&&Lb(s,i)};var ws=W(null);function hh(){var s=ws.current;return s!==null?s:kt.pooledCache}function Od(s,i){i===null?le(ws,ws.current):le(ws,i.pool)}function Pb(){var s=hh();return s===null?null:{parent:Ft._currentValue,pool:s}}var ji=Error(n(460)),xh=Error(n(474)),Ad=Error(n(542)),$d={then:function(){}};function Rb(s){return s=s.status,s==="fulfilled"||s==="rejected"}function Ib(s,i,c){switch(c=s[c],c===void 0?s.push(i):c!==i&&(i.then(Xa,Xa),i=c),i.status){case"fulfilled":return i.value;case"rejected":throw s=i.reason,zb(s),s;default:if(typeof i.status=="string")i.then(Xa,Xa);else{if(s=kt,s!==null&&100<s.shellSuspendCounter)throw Error(n(482));s=i,s.status="pending",s.then(function(f){if(i.status==="pending"){var b=i;b.status="fulfilled",b.value=f}},function(f){if(i.status==="pending"){var b=i;b.status="rejected",b.reason=f}})}switch(i.status){case"fulfilled":return i.value;case"rejected":throw s=i.reason,zb(s),s}throw Ns=i,ji}}function ks(s){try{var i=s._init;return i(s._payload)}catch(c){throw c!==null&&typeof c=="object"&&typeof c.then=="function"?(Ns=c,ji):c}}var Ns=null;function Bb(){if(Ns===null)throw Error(n(459));var s=Ns;return Ns=null,s}function zb(s){if(s===ji||s===Ad)throw Error(n(483))}var wi=null,ll=0;function Dd(s){var i=ll;return ll+=1,wi===null&&(wi=[]),Ib(wi,s,i)}function cl(s,i){i=i.props.ref,s.ref=i!==void 0?i:null}function _d(s,i){throw i.$$typeof===p?Error(n(525)):(s=Object.prototype.toString.call(i),Error(n(31,s==="[object Object]"?"object with keys {"+Object.keys(i).join(", ")+"}":s)))}function qb(s){function i(Z,Q){if(s){var ae=Z.deletions;ae===null?(Z.deletions=[Q],Z.flags|=16):ae.push(Q)}}function c(Z,Q){if(!s)return null;for(;Q!==null;)i(Z,Q),Q=Q.sibling;return null}function f(Z){for(var Q=new Map;Z!==null;)Z.key!==null?Q.set(Z.key,Z):Q.set(Z.index,Z),Z=Z.sibling;return Q}function b(Z,Q){return Z=Za(Z,Q),Z.index=0,Z.sibling=null,Z}function w(Z,Q,ae){return Z.index=ae,s?(ae=Z.alternate,ae!==null?(ae=ae.index,ae<Q?(Z.flags|=67108866,Q):ae):(Z.flags|=67108866,Q)):(Z.flags|=1048576,Q)}function D(Z){return s&&Z.alternate===null&&(Z.flags|=67108866),Z}function I(Z,Q,ae,fe){return Q===null||Q.tag!==6?(Q=ah(ae,Z.mode,fe),Q.return=Z,Q):(Q=b(Q,ae),Q.return=Z,Q)}function V(Z,Q,ae,fe){var De=ae.type;return De===N?de(Z,Q,ae.props.children,fe,ae.key):Q!==null&&(Q.elementType===De||typeof De=="object"&&De!==null&&De.$$typeof===P&&ks(De)===Q.type)?(Q=b(Q,ae.props),cl(Q,ae),Q.return=Z,Q):(Q=Sd(ae.type,ae.key,ae.props,null,Z.mode,fe),cl(Q,ae),Q.return=Z,Q)}function ne(Z,Q,ae,fe){return Q===null||Q.tag!==4||Q.stateNode.containerInfo!==ae.containerInfo||Q.stateNode.implementation!==ae.implementation?(Q=nh(ae,Z.mode,fe),Q.return=Z,Q):(Q=b(Q,ae.children||[]),Q.return=Z,Q)}function de(Z,Q,ae,fe,De){return Q===null||Q.tag!==7?(Q=ys(ae,Z.mode,fe,De),Q.return=Z,Q):(Q=b(Q,ae),Q.return=Z,Q)}function xe(Z,Q,ae){if(typeof Q=="string"&&Q!==""||typeof Q=="number"||typeof Q=="bigint")return Q=ah(""+Q,Z.mode,ae),Q.return=Z,Q;if(typeof Q=="object"&&Q!==null){switch(Q.$$typeof){case j:return ae=Sd(Q.type,Q.key,Q.props,null,Z.mode,ae),cl(ae,Q),ae.return=Z,ae;case k:return Q=nh(Q,Z.mode,ae),Q.return=Z,Q;case P:return Q=ks(Q),xe(Z,Q,ae)}if(R(Q)||z(Q))return Q=ys(Q,Z.mode,ae,null),Q.return=Z,Q;if(typeof Q.then=="function")return xe(Z,Dd(Q),ae);if(Q.$$typeof===O)return xe(Z,Ed(Z,Q),ae);_d(Z,Q)}return null}function ie(Z,Q,ae,fe){var De=Q!==null?Q.key:null;if(typeof ae=="string"&&ae!==""||typeof ae=="number"||typeof ae=="bigint")return De!==null?null:I(Z,Q,""+ae,fe);if(typeof ae=="object"&&ae!==null){switch(ae.$$typeof){case j:return ae.key===De?V(Z,Q,ae,fe):null;case k:return ae.key===De?ne(Z,Q,ae,fe):null;case P:return ae=ks(ae),ie(Z,Q,ae,fe)}if(R(ae)||z(ae))return De!==null?null:de(Z,Q,ae,fe,null);if(typeof ae.then=="function")return ie(Z,Q,Dd(ae),fe);if(ae.$$typeof===O)return ie(Z,Q,Ed(Z,ae),fe);_d(Z,ae)}return null}function oe(Z,Q,ae,fe,De){if(typeof fe=="string"&&fe!==""||typeof fe=="number"||typeof fe=="bigint")return Z=Z.get(ae)||null,I(Q,Z,""+fe,De);if(typeof fe=="object"&&fe!==null){switch(fe.$$typeof){case j:return Z=Z.get(fe.key===null?ae:fe.key)||null,V(Q,Z,fe,De);case k:return Z=Z.get(fe.key===null?ae:fe.key)||null,ne(Q,Z,fe,De);case P:return fe=ks(fe),oe(Z,Q,ae,fe,De)}if(R(fe)||z(fe))return Z=Z.get(ae)||null,de(Q,Z,fe,De,null);if(typeof fe.then=="function")return oe(Z,Q,ae,Dd(fe),De);if(fe.$$typeof===O)return oe(Z,Q,ae,Ed(Q,fe),De);_d(Q,fe)}return null}function Oe(Z,Q,ae,fe){for(var De=null,et=null,Ae=Q,qe=Q=0,Qe=null;Ae!==null&&qe<ae.length;qe++){Ae.index>qe?(Qe=Ae,Ae=null):Qe=Ae.sibling;var tt=ie(Z,Ae,ae[qe],fe);if(tt===null){Ae===null&&(Ae=Qe);break}s&&Ae&&tt.alternate===null&&i(Z,Ae),Q=w(tt,Q,qe),et===null?De=tt:et.sibling=tt,et=tt,Ae=Qe}if(qe===ae.length)return c(Z,Ae),Xe&&Ja(Z,qe),De;if(Ae===null){for(;qe<ae.length;qe++)Ae=xe(Z,ae[qe],fe),Ae!==null&&(Q=w(Ae,Q,qe),et===null?De=Ae:et.sibling=Ae,et=Ae);return Xe&&Ja(Z,qe),De}for(Ae=f(Ae);qe<ae.length;qe++)Qe=oe(Ae,Z,qe,ae[qe],fe),Qe!==null&&(s&&Qe.alternate!==null&&Ae.delete(Qe.key===null?qe:Qe.key),Q=w(Qe,Q,qe),et===null?De=Qe:et.sibling=Qe,et=Qe);return s&&Ae.forEach(function(Qn){return i(Z,Qn)}),Xe&&Ja(Z,qe),De}function Me(Z,Q,ae,fe){if(ae==null)throw Error(n(151));for(var De=null,et=null,Ae=Q,qe=Q=0,Qe=null,tt=ae.next();Ae!==null&&!tt.done;qe++,tt=ae.next()){Ae.index>qe?(Qe=Ae,Ae=null):Qe=Ae.sibling;var Qn=ie(Z,Ae,tt.value,fe);if(Qn===null){Ae===null&&(Ae=Qe);break}s&&Ae&&Qn.alternate===null&&i(Z,Ae),Q=w(Qn,Q,qe),et===null?De=Qn:et.sibling=Qn,et=Qn,Ae=Qe}if(tt.done)return c(Z,Ae),Xe&&Ja(Z,qe),De;if(Ae===null){for(;!tt.done;qe++,tt=ae.next())tt=xe(Z,tt.value,fe),tt!==null&&(Q=w(tt,Q,qe),et===null?De=tt:et.sibling=tt,et=tt);return Xe&&Ja(Z,qe),De}for(Ae=f(Ae);!tt.done;qe++,tt=ae.next())tt=oe(Ae,Z,qe,tt.value,fe),tt!==null&&(s&&tt.alternate!==null&&Ae.delete(tt.key===null?qe:tt.key),Q=w(tt,Q,qe),et===null?De=tt:et.sibling=tt,et=tt);return s&&Ae.forEach(function(J3){return i(Z,J3)}),Xe&&Ja(Z,qe),De}function yt(Z,Q,ae,fe){if(typeof ae=="object"&&ae!==null&&ae.type===N&&ae.key===null&&(ae=ae.props.children),typeof ae=="object"&&ae!==null){switch(ae.$$typeof){case j:e:{for(var De=ae.key;Q!==null;){if(Q.key===De){if(De=ae.type,De===N){if(Q.tag===7){c(Z,Q.sibling),fe=b(Q,ae.props.children),fe.return=Z,Z=fe;break e}}else if(Q.elementType===De||typeof De=="object"&&De!==null&&De.$$typeof===P&&ks(De)===Q.type){c(Z,Q.sibling),fe=b(Q,ae.props),cl(fe,ae),fe.return=Z,Z=fe;break e}c(Z,Q);break}else i(Z,Q);Q=Q.sibling}ae.type===N?(fe=ys(ae.props.children,Z.mode,fe,ae.key),fe.return=Z,Z=fe):(fe=Sd(ae.type,ae.key,ae.props,null,Z.mode,fe),cl(fe,ae),fe.return=Z,Z=fe)}return D(Z);case k:e:{for(De=ae.key;Q!==null;){if(Q.key===De)if(Q.tag===4&&Q.stateNode.containerInfo===ae.containerInfo&&Q.stateNode.implementation===ae.implementation){c(Z,Q.sibling),fe=b(Q,ae.children||[]),fe.return=Z,Z=fe;break e}else{c(Z,Q);break}else i(Z,Q);Q=Q.sibling}fe=nh(ae,Z.mode,fe),fe.return=Z,Z=fe}return D(Z);case P:return ae=ks(ae),yt(Z,Q,ae,fe)}if(R(ae))return Oe(Z,Q,ae,fe);if(z(ae)){if(De=z(ae),typeof De!="function")throw Error(n(150));return ae=De.call(ae),Me(Z,Q,ae,fe)}if(typeof ae.then=="function")return yt(Z,Q,Dd(ae),fe);if(ae.$$typeof===O)return yt(Z,Q,Ed(Z,ae),fe);_d(Z,ae)}return typeof ae=="string"&&ae!==""||typeof ae=="number"||typeof ae=="bigint"?(ae=""+ae,Q!==null&&Q.tag===6?(c(Z,Q.sibling),fe=b(Q,ae),fe.return=Z,Z=fe):(c(Z,Q),fe=ah(ae,Z.mode,fe),fe.return=Z,Z=fe),D(Z)):c(Z,Q)}return function(Z,Q,ae,fe){try{ll=0;var De=yt(Z,Q,ae,fe);return wi=null,De}catch(Ae){if(Ae===ji||Ae===Ad)throw Ae;var et=qr(29,Ae,null,Z.mode);return et.lanes=fe,et.return=Z,et}finally{}}}var Ss=qb(!0),Fb=qb(!1),Dn=!1;function gh(s){s.updateQueue={baseState:s.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function ph(s,i){s=s.updateQueue,i.updateQueue===s&&(i.updateQueue={baseState:s.baseState,firstBaseUpdate:s.firstBaseUpdate,lastBaseUpdate:s.lastBaseUpdate,shared:s.shared,callbacks:null})}function _n(s){return{lane:s,tag:0,payload:null,callback:null,next:null}}function Mn(s,i,c){var f=s.updateQueue;if(f===null)return null;if(f=f.shared,(at&2)!==0){var b=f.pending;return b===null?i.next=i:(i.next=b.next,b.next=i),f.pending=i,i=Nd(s),Sb(s,null,c),i}return kd(s,f,i,c),Nd(s)}function dl(s,i,c){if(i=i.updateQueue,i!==null&&(i=i.shared,(c&4194048)!==0)){var f=i.lanes;f&=s.pendingLanes,c|=f,i.lanes=c,_y(s,c)}}function yh(s,i){var c=s.updateQueue,f=s.alternate;if(f!==null&&(f=f.updateQueue,c===f)){var b=null,w=null;if(c=c.firstBaseUpdate,c!==null){do{var D={lane:c.lane,tag:c.tag,payload:c.payload,callback:null,next:null};w===null?b=w=D:w=w.next=D,c=c.next}while(c!==null);w===null?b=w=i:w=w.next=i}else b=w=i;c={baseState:f.baseState,firstBaseUpdate:b,lastBaseUpdate:w,shared:f.shared,callbacks:f.callbacks},s.updateQueue=c;return}s=c.lastBaseUpdate,s===null?c.firstBaseUpdate=i:s.next=i,c.lastBaseUpdate=i}var bh=!1;function ul(){if(bh){var s=vi;if(s!==null)throw s}}function ml(s,i,c,f){bh=!1;var b=s.updateQueue;Dn=!1;var w=b.firstBaseUpdate,D=b.lastBaseUpdate,I=b.shared.pending;if(I!==null){b.shared.pending=null;var V=I,ne=V.next;V.next=null,D===null?w=ne:D.next=ne,D=V;var de=s.alternate;de!==null&&(de=de.updateQueue,I=de.lastBaseUpdate,I!==D&&(I===null?de.firstBaseUpdate=ne:I.next=ne,de.lastBaseUpdate=V))}if(w!==null){var xe=b.baseState;D=0,de=ne=V=null,I=w;do{var ie=I.lane&-536870913,oe=ie!==I.lane;if(oe?(Ye&ie)===ie:(f&ie)===ie){ie!==0&&ie===bi&&(bh=!0),de!==null&&(de=de.next={lane:0,tag:I.tag,payload:I.payload,callback:null,next:null});e:{var Oe=s,Me=I;ie=i;var yt=c;switch(Me.tag){case 1:if(Oe=Me.payload,typeof Oe=="function"){xe=Oe.call(yt,xe,ie);break e}xe=Oe;break e;case 3:Oe.flags=Oe.flags&-65537|128;case 0:if(Oe=Me.payload,ie=typeof Oe=="function"?Oe.call(yt,xe,ie):Oe,ie==null)break e;xe=g({},xe,ie);break e;case 2:Dn=!0}}ie=I.callback,ie!==null&&(s.flags|=64,oe&&(s.flags|=8192),oe=b.callbacks,oe===null?b.callbacks=[ie]:oe.push(ie))}else oe={lane:ie,tag:I.tag,payload:I.payload,callback:I.callback,next:null},de===null?(ne=de=oe,V=xe):de=de.next=oe,D|=ie;if(I=I.next,I===null){if(I=b.shared.pending,I===null)break;oe=I,I=oe.next,oe.next=null,b.lastBaseUpdate=oe,b.shared.pending=null}}while(!0);de===null&&(V=xe),b.baseState=V,b.firstBaseUpdate=ne,b.lastBaseUpdate=de,w===null&&(b.shared.lanes=0),Bn|=D,s.lanes=D,s.memoizedState=xe}}function Ub(s,i){if(typeof s!="function")throw Error(n(191,s));s.call(i)}function Kb(s,i){var c=s.callbacks;if(c!==null)for(s.callbacks=null,s=0;s<c.length;s++)Ub(c[s],i)}var ki=W(null),Md=W(0);function Hb(s,i){s=un,le(Md,s),le(ki,i),un=s|i.baseLanes}function vh(){le(Md,un),le(ki,ki.current)}function jh(){un=Md.current,te(ki),te(Md)}var Fr=W(null),oa=null;function Ln(s){var i=s.alternate;le(zt,zt.current&1),le(Fr,s),oa===null&&(i===null||ki.current!==null||i.memoizedState!==null)&&(oa=s)}function wh(s){le(zt,zt.current),le(Fr,s),oa===null&&(oa=s)}function Vb(s){s.tag===22?(le(zt,zt.current),le(Fr,s),oa===null&&(oa=s)):Pn()}function Pn(){le(zt,zt.current),le(Fr,Fr.current)}function Ur(s){te(Fr),oa===s&&(oa=null),te(zt)}var zt=W(0);function Ld(s){for(var i=s;i!==null;){if(i.tag===13){var c=i.memoizedState;if(c!==null&&(c=c.dehydrated,c===null||Ex(c)||Ox(c)))return i}else if(i.tag===19&&(i.memoizedProps.revealOrder==="forwards"||i.memoizedProps.revealOrder==="backwards"||i.memoizedProps.revealOrder==="unstable_legacy-backwards"||i.memoizedProps.revealOrder==="together")){if((i.flags&128)!==0)return i}else if(i.child!==null){i.child.return=i,i=i.child;continue}if(i===s)break;for(;i.sibling===null;){if(i.return===null||i.return===s)return null;i=i.return}i.sibling.return=i.return,i=i.sibling}return null}var rn=0,ze=null,gt=null,Ut=null,Pd=!1,Ni=!1,Cs=!1,Rd=0,fl=0,Si=null,UE=0;function Pt(){throw Error(n(321))}function kh(s,i){if(i===null)return!1;for(var c=0;c<i.length&&c<s.length;c++)if(!zr(s[c],i[c]))return!1;return!0}function Nh(s,i,c,f,b,w){return rn=w,ze=i,i.memoizedState=null,i.updateQueue=null,i.lanes=0,L.H=s===null||s.memoizedState===null?Ov:Bh,Cs=!1,w=c(f,b),Cs=!1,Ni&&(w=Yb(i,c,f,b)),Gb(s),w}function Gb(s){L.H=gl;var i=gt!==null&&gt.next!==null;if(rn=0,Ut=gt=ze=null,Pd=!1,fl=0,Si=null,i)throw Error(n(300));s===null||Kt||(s=s.dependencies,s!==null&&Td(s)&&(Kt=!0))}function Yb(s,i,c,f){ze=s;var b=0;do{if(Ni&&(Si=null),fl=0,Ni=!1,25<=b)throw Error(n(301));if(b+=1,Ut=gt=null,s.updateQueue!=null){var w=s.updateQueue;w.lastEffect=null,w.events=null,w.stores=null,w.memoCache!=null&&(w.memoCache.index=0)}L.H=Av,w=i(c,f)}while(Ni);return w}function KE(){var s=L.H,i=s.useState()[0];return i=typeof i.then=="function"?hl(i):i,s=s.useState()[0],(gt!==null?gt.memoizedState:null)!==s&&(ze.flags|=1024),i}function Sh(){var s=Rd!==0;return Rd=0,s}function Ch(s,i,c){i.updateQueue=s.updateQueue,i.flags&=-2053,s.lanes&=~c}function Th(s){if(Pd){for(s=s.memoizedState;s!==null;){var i=s.queue;i!==null&&(i.pending=null),s=s.next}Pd=!1}rn=0,Ut=gt=ze=null,Ni=!1,fl=Rd=0,Si=null}function wr(){var s={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Ut===null?ze.memoizedState=Ut=s:Ut=Ut.next=s,Ut}function qt(){if(gt===null){var s=ze.alternate;s=s!==null?s.memoizedState:null}else s=gt.next;var i=Ut===null?ze.memoizedState:Ut.next;if(i!==null)Ut=i,gt=s;else{if(s===null)throw ze.alternate===null?Error(n(467)):Error(n(310));gt=s,s={memoizedState:gt.memoizedState,baseState:gt.baseState,baseQueue:gt.baseQueue,queue:gt.queue,next:null},Ut===null?ze.memoizedState=Ut=s:Ut=Ut.next=s}return Ut}function Id(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function hl(s){var i=fl;return fl+=1,Si===null&&(Si=[]),s=Ib(Si,s,i),i=ze,(Ut===null?i.memoizedState:Ut.next)===null&&(i=i.alternate,L.H=i===null||i.memoizedState===null?Ov:Bh),s}function Bd(s){if(s!==null&&typeof s=="object"){if(typeof s.then=="function")return hl(s);if(s.$$typeof===O)return ur(s)}throw Error(n(438,String(s)))}function Eh(s){var i=null,c=ze.updateQueue;if(c!==null&&(i=c.memoCache),i==null){var f=ze.alternate;f!==null&&(f=f.updateQueue,f!==null&&(f=f.memoCache,f!=null&&(i={data:f.data.map(function(b){return b.slice()}),index:0})))}if(i==null&&(i={data:[],index:0}),c===null&&(c=Id(),ze.updateQueue=c),c.memoCache=i,c=i.data[i.index],c===void 0)for(c=i.data[i.index]=Array(s),f=0;f<s;f++)c[f]=q;return i.index++,c}function an(s,i){return typeof i=="function"?i(s):i}function zd(s){var i=qt();return Oh(i,gt,s)}function Oh(s,i,c){var f=s.queue;if(f===null)throw Error(n(311));f.lastRenderedReducer=c;var b=s.baseQueue,w=f.pending;if(w!==null){if(b!==null){var D=b.next;b.next=w.next,w.next=D}i.baseQueue=b=w,f.pending=null}if(w=s.baseState,b===null)s.memoizedState=w;else{i=b.next;var I=D=null,V=null,ne=i,de=!1;do{var xe=ne.lane&-536870913;if(xe!==ne.lane?(Ye&xe)===xe:(rn&xe)===xe){var ie=ne.revertLane;if(ie===0)V!==null&&(V=V.next={lane:0,revertLane:0,gesture:null,action:ne.action,hasEagerState:ne.hasEagerState,eagerState:ne.eagerState,next:null}),xe===bi&&(de=!0);else if((rn&ie)===ie){ne=ne.next,ie===bi&&(de=!0);continue}else xe={lane:0,revertLane:ne.revertLane,gesture:null,action:ne.action,hasEagerState:ne.hasEagerState,eagerState:ne.eagerState,next:null},V===null?(I=V=xe,D=w):V=V.next=xe,ze.lanes|=ie,Bn|=ie;xe=ne.action,Cs&&c(w,xe),w=ne.hasEagerState?ne.eagerState:c(w,xe)}else ie={lane:xe,revertLane:ne.revertLane,gesture:ne.gesture,action:ne.action,hasEagerState:ne.hasEagerState,eagerState:ne.eagerState,next:null},V===null?(I=V=ie,D=w):V=V.next=ie,ze.lanes|=xe,Bn|=xe;ne=ne.next}while(ne!==null&&ne!==i);if(V===null?D=w:V.next=I,!zr(w,s.memoizedState)&&(Kt=!0,de&&(c=vi,c!==null)))throw c;s.memoizedState=w,s.baseState=D,s.baseQueue=V,f.lastRenderedState=w}return b===null&&(f.lanes=0),[s.memoizedState,f.dispatch]}function Ah(s){var i=qt(),c=i.queue;if(c===null)throw Error(n(311));c.lastRenderedReducer=s;var f=c.dispatch,b=c.pending,w=i.memoizedState;if(b!==null){c.pending=null;var D=b=b.next;do w=s(w,D.action),D=D.next;while(D!==b);zr(w,i.memoizedState)||(Kt=!0),i.memoizedState=w,i.baseQueue===null&&(i.baseState=w),c.lastRenderedState=w}return[w,f]}function Qb(s,i,c){var f=ze,b=qt(),w=Xe;if(w){if(c===void 0)throw Error(n(407));c=c()}else c=i();var D=!zr((gt||b).memoizedState,c);if(D&&(b.memoizedState=c,Kt=!0),b=b.queue,_h(Zb.bind(null,f,b,s),[s]),b.getSnapshot!==i||D||Ut!==null&&Ut.memoizedState.tag&1){if(f.flags|=2048,Ci(9,{destroy:void 0},Wb.bind(null,f,b,c,i),null),kt===null)throw Error(n(349));w||(rn&127)!==0||Xb(f,i,c)}return c}function Xb(s,i,c){s.flags|=16384,s={getSnapshot:i,value:c},i=ze.updateQueue,i===null?(i=Id(),ze.updateQueue=i,i.stores=[s]):(c=i.stores,c===null?i.stores=[s]:c.push(s))}function Wb(s,i,c,f){i.value=c,i.getSnapshot=f,Jb(i)&&ev(s)}function Zb(s,i,c){return c(function(){Jb(i)&&ev(s)})}function Jb(s){var i=s.getSnapshot;s=s.value;try{var c=i();return!zr(s,c)}catch{return!0}}function ev(s){var i=ps(s,2);i!==null&&Dr(i,s,2)}function $h(s){var i=wr();if(typeof s=="function"){var c=s;if(s=c(),Cs){ve(!0);try{c()}finally{ve(!1)}}}return i.memoizedState=i.baseState=s,i.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:an,lastRenderedState:s},i}function tv(s,i,c,f){return s.baseState=c,Oh(s,gt,typeof f=="function"?f:an)}function HE(s,i,c,f,b){if(Ud(s))throw Error(n(485));if(s=i.action,s!==null){var w={payload:b,action:s,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(D){w.listeners.push(D)}};L.T!==null?c(!0):w.isTransition=!1,f(w),c=i.pending,c===null?(w.next=i.pending=w,rv(i,w)):(w.next=c.next,i.pending=c.next=w)}}function rv(s,i){var c=i.action,f=i.payload,b=s.state;if(i.isTransition){var w=L.T,D={};L.T=D;try{var I=c(b,f),V=L.S;V!==null&&V(D,I),av(s,i,I)}catch(ne){Dh(s,i,ne)}finally{w!==null&&D.types!==null&&(w.types=D.types),L.T=w}}else try{w=c(b,f),av(s,i,w)}catch(ne){Dh(s,i,ne)}}function av(s,i,c){c!==null&&typeof c=="object"&&typeof c.then=="function"?c.then(function(f){nv(s,i,f)},function(f){return Dh(s,i,f)}):nv(s,i,c)}function nv(s,i,c){i.status="fulfilled",i.value=c,sv(i),s.state=c,i=s.pending,i!==null&&(c=i.next,c===i?s.pending=null:(c=c.next,i.next=c,rv(s,c)))}function Dh(s,i,c){var f=s.pending;if(s.pending=null,f!==null){f=f.next;do i.status="rejected",i.reason=c,sv(i),i=i.next;while(i!==f)}s.action=null}function sv(s){s=s.listeners;for(var i=0;i<s.length;i++)(0,s[i])()}function iv(s,i){return i}function ov(s,i){if(Xe){var c=kt.formState;if(c!==null){e:{var f=ze;if(Xe){if(Ct){t:{for(var b=Ct,w=ia;b.nodeType!==8;){if(!w){b=null;break t}if(b=la(b.nextSibling),b===null){b=null;break t}}w=b.data,b=w==="F!"||w==="F"?b:null}if(b){Ct=la(b.nextSibling),f=b.data==="F!";break e}}An(f)}f=!1}f&&(i=c[0])}}return c=wr(),c.memoizedState=c.baseState=i,f={pending:null,lanes:0,dispatch:null,lastRenderedReducer:iv,lastRenderedState:i},c.queue=f,c=Cv.bind(null,ze,f),f.dispatch=c,f=$h(!1),w=Ih.bind(null,ze,!1,f.queue),f=wr(),b={state:i,dispatch:null,action:s,pending:null},f.queue=b,c=HE.bind(null,ze,b,w,c),b.dispatch=c,f.memoizedState=s,[i,c,!1]}function lv(s){var i=qt();return cv(i,gt,s)}function cv(s,i,c){if(i=Oh(s,i,iv)[0],s=zd(an)[0],typeof i=="object"&&i!==null&&typeof i.then=="function")try{var f=hl(i)}catch(D){throw D===ji?Ad:D}else f=i;i=qt();var b=i.queue,w=b.dispatch;return c!==i.memoizedState&&(ze.flags|=2048,Ci(9,{destroy:void 0},VE.bind(null,b,c),null)),[f,w,s]}function VE(s,i){s.action=i}function dv(s){var i=qt(),c=gt;if(c!==null)return cv(i,c,s);qt(),i=i.memoizedState,c=qt();var f=c.queue.dispatch;return c.memoizedState=s,[i,f,!1]}function Ci(s,i,c,f){return s={tag:s,create:c,deps:f,inst:i,next:null},i=ze.updateQueue,i===null&&(i=Id(),ze.updateQueue=i),c=i.lastEffect,c===null?i.lastEffect=s.next=s:(f=c.next,c.next=s,s.next=f,i.lastEffect=s),s}function uv(){return qt().memoizedState}function qd(s,i,c,f){var b=wr();ze.flags|=s,b.memoizedState=Ci(1|i,{destroy:void 0},c,f===void 0?null:f)}function Fd(s,i,c,f){var b=qt();f=f===void 0?null:f;var w=b.memoizedState.inst;gt!==null&&f!==null&&kh(f,gt.memoizedState.deps)?b.memoizedState=Ci(i,w,c,f):(ze.flags|=s,b.memoizedState=Ci(1|i,w,c,f))}function mv(s,i){qd(8390656,8,s,i)}function _h(s,i){Fd(2048,8,s,i)}function GE(s){ze.flags|=4;var i=ze.updateQueue;if(i===null)i=Id(),ze.updateQueue=i,i.events=[s];else{var c=i.events;c===null?i.events=[s]:c.push(s)}}function fv(s){var i=qt().memoizedState;return GE({ref:i,nextImpl:s}),function(){if((at&2)!==0)throw Error(n(440));return i.impl.apply(void 0,arguments)}}function hv(s,i){return Fd(4,2,s,i)}function xv(s,i){return Fd(4,4,s,i)}function gv(s,i){if(typeof i=="function"){s=s();var c=i(s);return function(){typeof c=="function"?c():i(null)}}if(i!=null)return s=s(),i.current=s,function(){i.current=null}}function pv(s,i,c){c=c!=null?c.concat([s]):null,Fd(4,4,gv.bind(null,i,s),c)}function Mh(){}function yv(s,i){var c=qt();i=i===void 0?null:i;var f=c.memoizedState;return i!==null&&kh(i,f[1])?f[0]:(c.memoizedState=[s,i],s)}function bv(s,i){var c=qt();i=i===void 0?null:i;var f=c.memoizedState;if(i!==null&&kh(i,f[1]))return f[0];if(f=s(),Cs){ve(!0);try{s()}finally{ve(!1)}}return c.memoizedState=[f,i],f}function Lh(s,i,c){return c===void 0||(rn&1073741824)!==0&&(Ye&261930)===0?s.memoizedState=i:(s.memoizedState=c,s=vj(),ze.lanes|=s,Bn|=s,c)}function vv(s,i,c,f){return zr(c,i)?c:ki.current!==null?(s=Lh(s,c,f),zr(s,i)||(Kt=!0),s):(rn&42)===0||(rn&1073741824)!==0&&(Ye&261930)===0?(Kt=!0,s.memoizedState=c):(s=vj(),ze.lanes|=s,Bn|=s,i)}function jv(s,i,c,f,b){var w=F.p;F.p=w!==0&&8>w?w:8;var D=L.T,I={};L.T=I,Ih(s,!1,i,c);try{var V=b(),ne=L.S;if(ne!==null&&ne(I,V),V!==null&&typeof V=="object"&&typeof V.then=="function"){var de=FE(V,f);xl(s,i,de,Vr(s))}else xl(s,i,f,Vr(s))}catch(xe){xl(s,i,{then:function(){},status:"rejected",reason:xe},Vr())}finally{F.p=w,D!==null&&I.types!==null&&(D.types=I.types),L.T=D}}function YE(){}function Ph(s,i,c,f){if(s.tag!==5)throw Error(n(476));var b=wv(s).queue;jv(s,b,i,B,c===null?YE:function(){return kv(s),c(f)})}function wv(s){var i=s.memoizedState;if(i!==null)return i;i={memoizedState:B,baseState:B,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:an,lastRenderedState:B},next:null};var c={};return i.next={memoizedState:c,baseState:c,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:an,lastRenderedState:c},next:null},s.memoizedState=i,s=s.alternate,s!==null&&(s.memoizedState=i),i}function kv(s){var i=wv(s);i.next===null&&(i=s.alternate.memoizedState),xl(s,i.next.queue,{},Vr())}function Rh(){return ur(Dl)}function Nv(){return qt().memoizedState}function Sv(){return qt().memoizedState}function QE(s){for(var i=s.return;i!==null;){switch(i.tag){case 24:case 3:var c=Vr();s=_n(c);var f=Mn(i,s,c);f!==null&&(Dr(f,i,c),dl(f,i,c)),i={cache:mh()},s.payload=i;return}i=i.return}}function XE(s,i,c){var f=Vr();c={lane:f,revertLane:0,gesture:null,action:c,hasEagerState:!1,eagerState:null,next:null},Ud(s)?Tv(i,c):(c=th(s,i,c,f),c!==null&&(Dr(c,s,f),Ev(c,i,f)))}function Cv(s,i,c){var f=Vr();xl(s,i,c,f)}function xl(s,i,c,f){var b={lane:f,revertLane:0,gesture:null,action:c,hasEagerState:!1,eagerState:null,next:null};if(Ud(s))Tv(i,b);else{var w=s.alternate;if(s.lanes===0&&(w===null||w.lanes===0)&&(w=i.lastRenderedReducer,w!==null))try{var D=i.lastRenderedState,I=w(D,c);if(b.hasEagerState=!0,b.eagerState=I,zr(I,D))return kd(s,i,b,0),kt===null&&wd(),!1}catch{}finally{}if(c=th(s,i,b,f),c!==null)return Dr(c,s,f),Ev(c,i,f),!0}return!1}function Ih(s,i,c,f){if(f={lane:2,revertLane:gx(),gesture:null,action:f,hasEagerState:!1,eagerState:null,next:null},Ud(s)){if(i)throw Error(n(479))}else i=th(s,c,f,2),i!==null&&Dr(i,s,2)}function Ud(s){var i=s.alternate;return s===ze||i!==null&&i===ze}function Tv(s,i){Ni=Pd=!0;var c=s.pending;c===null?i.next=i:(i.next=c.next,c.next=i),s.pending=i}function Ev(s,i,c){if((c&4194048)!==0){var f=i.lanes;f&=s.pendingLanes,c|=f,i.lanes=c,_y(s,c)}}var gl={readContext:ur,use:Bd,useCallback:Pt,useContext:Pt,useEffect:Pt,useImperativeHandle:Pt,useLayoutEffect:Pt,useInsertionEffect:Pt,useMemo:Pt,useReducer:Pt,useRef:Pt,useState:Pt,useDebugValue:Pt,useDeferredValue:Pt,useTransition:Pt,useSyncExternalStore:Pt,useId:Pt,useHostTransitionStatus:Pt,useFormState:Pt,useActionState:Pt,useOptimistic:Pt,useMemoCache:Pt,useCacheRefresh:Pt};gl.useEffectEvent=Pt;var Ov={readContext:ur,use:Bd,useCallback:function(s,i){return wr().memoizedState=[s,i===void 0?null:i],s},useContext:ur,useEffect:mv,useImperativeHandle:function(s,i,c){c=c!=null?c.concat([s]):null,qd(4194308,4,gv.bind(null,i,s),c)},useLayoutEffect:function(s,i){return qd(4194308,4,s,i)},useInsertionEffect:function(s,i){qd(4,2,s,i)},useMemo:function(s,i){var c=wr();i=i===void 0?null:i;var f=s();if(Cs){ve(!0);try{s()}finally{ve(!1)}}return c.memoizedState=[f,i],f},useReducer:function(s,i,c){var f=wr();if(c!==void 0){var b=c(i);if(Cs){ve(!0);try{c(i)}finally{ve(!1)}}}else b=i;return f.memoizedState=f.baseState=b,s={pending:null,lanes:0,dispatch:null,lastRenderedReducer:s,lastRenderedState:b},f.queue=s,s=s.dispatch=XE.bind(null,ze,s),[f.memoizedState,s]},useRef:function(s){var i=wr();return s={current:s},i.memoizedState=s},useState:function(s){s=$h(s);var i=s.queue,c=Cv.bind(null,ze,i);return i.dispatch=c,[s.memoizedState,c]},useDebugValue:Mh,useDeferredValue:function(s,i){var c=wr();return Lh(c,s,i)},useTransition:function(){var s=$h(!1);return s=jv.bind(null,ze,s.queue,!0,!1),wr().memoizedState=s,[!1,s]},useSyncExternalStore:function(s,i,c){var f=ze,b=wr();if(Xe){if(c===void 0)throw Error(n(407));c=c()}else{if(c=i(),kt===null)throw Error(n(349));(Ye&127)!==0||Xb(f,i,c)}b.memoizedState=c;var w={value:c,getSnapshot:i};return b.queue=w,mv(Zb.bind(null,f,w,s),[s]),f.flags|=2048,Ci(9,{destroy:void 0},Wb.bind(null,f,w,c,i),null),c},useId:function(){var s=wr(),i=kt.identifierPrefix;if(Xe){var c=$a,f=Aa;c=(f&~(1<<32-Ce(f)-1)).toString(32)+c,i="_"+i+"R_"+c,c=Rd++,0<c&&(i+="H"+c.toString(32)),i+="_"}else c=UE++,i="_"+i+"r_"+c.toString(32)+"_";return s.memoizedState=i},useHostTransitionStatus:Rh,useFormState:ov,useActionState:ov,useOptimistic:function(s){var i=wr();i.memoizedState=i.baseState=s;var c={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return i.queue=c,i=Ih.bind(null,ze,!0,c),c.dispatch=i,[s,i]},useMemoCache:Eh,useCacheRefresh:function(){return wr().memoizedState=QE.bind(null,ze)},useEffectEvent:function(s){var i=wr(),c={impl:s};return i.memoizedState=c,function(){if((at&2)!==0)throw Error(n(440));return c.impl.apply(void 0,arguments)}}},Bh={readContext:ur,use:Bd,useCallback:yv,useContext:ur,useEffect:_h,useImperativeHandle:pv,useInsertionEffect:hv,useLayoutEffect:xv,useMemo:bv,useReducer:zd,useRef:uv,useState:function(){return zd(an)},useDebugValue:Mh,useDeferredValue:function(s,i){var c=qt();return vv(c,gt.memoizedState,s,i)},useTransition:function(){var s=zd(an)[0],i=qt().memoizedState;return[typeof s=="boolean"?s:hl(s),i]},useSyncExternalStore:Qb,useId:Nv,useHostTransitionStatus:Rh,useFormState:lv,useActionState:lv,useOptimistic:function(s,i){var c=qt();return tv(c,gt,s,i)},useMemoCache:Eh,useCacheRefresh:Sv};Bh.useEffectEvent=fv;var Av={readContext:ur,use:Bd,useCallback:yv,useContext:ur,useEffect:_h,useImperativeHandle:pv,useInsertionEffect:hv,useLayoutEffect:xv,useMemo:bv,useReducer:Ah,useRef:uv,useState:function(){return Ah(an)},useDebugValue:Mh,useDeferredValue:function(s,i){var c=qt();return gt===null?Lh(c,s,i):vv(c,gt.memoizedState,s,i)},useTransition:function(){var s=Ah(an)[0],i=qt().memoizedState;return[typeof s=="boolean"?s:hl(s),i]},useSyncExternalStore:Qb,useId:Nv,useHostTransitionStatus:Rh,useFormState:dv,useActionState:dv,useOptimistic:function(s,i){var c=qt();return gt!==null?tv(c,gt,s,i):(c.baseState=s,[s,c.queue.dispatch])},useMemoCache:Eh,useCacheRefresh:Sv};Av.useEffectEvent=fv;function zh(s,i,c,f){i=s.memoizedState,c=c(f,i),c=c==null?i:g({},i,c),s.memoizedState=c,s.lanes===0&&(s.updateQueue.baseState=c)}var qh={enqueueSetState:function(s,i,c){s=s._reactInternals;var f=Vr(),b=_n(f);b.payload=i,c!=null&&(b.callback=c),i=Mn(s,b,f),i!==null&&(Dr(i,s,f),dl(i,s,f))},enqueueReplaceState:function(s,i,c){s=s._reactInternals;var f=Vr(),b=_n(f);b.tag=1,b.payload=i,c!=null&&(b.callback=c),i=Mn(s,b,f),i!==null&&(Dr(i,s,f),dl(i,s,f))},enqueueForceUpdate:function(s,i){s=s._reactInternals;var c=Vr(),f=_n(c);f.tag=2,i!=null&&(f.callback=i),i=Mn(s,f,c),i!==null&&(Dr(i,s,c),dl(i,s,c))}};function $v(s,i,c,f,b,w,D){return s=s.stateNode,typeof s.shouldComponentUpdate=="function"?s.shouldComponentUpdate(f,w,D):i.prototype&&i.prototype.isPureReactComponent?!rl(c,f)||!rl(b,w):!0}function Dv(s,i,c,f){s=i.state,typeof i.componentWillReceiveProps=="function"&&i.componentWillReceiveProps(c,f),typeof i.UNSAFE_componentWillReceiveProps=="function"&&i.UNSAFE_componentWillReceiveProps(c,f),i.state!==s&&qh.enqueueReplaceState(i,i.state,null)}function Ts(s,i){var c=i;if("ref"in i){c={};for(var f in i)f!=="ref"&&(c[f]=i[f])}if(s=s.defaultProps){c===i&&(c=g({},c));for(var b in s)c[b]===void 0&&(c[b]=s[b])}return c}function _v(s){jd(s)}function Mv(s){console.error(s)}function Lv(s){jd(s)}function Kd(s,i){try{var c=s.onUncaughtError;c(i.value,{componentStack:i.stack})}catch(f){setTimeout(function(){throw f})}}function Pv(s,i,c){try{var f=s.onCaughtError;f(c.value,{componentStack:c.stack,errorBoundary:i.tag===1?i.stateNode:null})}catch(b){setTimeout(function(){throw b})}}function Fh(s,i,c){return c=_n(c),c.tag=3,c.payload={element:null},c.callback=function(){Kd(s,i)},c}function Rv(s){return s=_n(s),s.tag=3,s}function Iv(s,i,c,f){var b=c.type.getDerivedStateFromError;if(typeof b=="function"){var w=f.value;s.payload=function(){return b(w)},s.callback=function(){Pv(i,c,f)}}var D=c.stateNode;D!==null&&typeof D.componentDidCatch=="function"&&(s.callback=function(){Pv(i,c,f),typeof b!="function"&&(zn===null?zn=new Set([this]):zn.add(this));var I=f.stack;this.componentDidCatch(f.value,{componentStack:I!==null?I:""})})}function WE(s,i,c,f,b){if(c.flags|=32768,f!==null&&typeof f=="object"&&typeof f.then=="function"){if(i=c.alternate,i!==null&&yi(i,c,b,!0),c=Fr.current,c!==null){switch(c.tag){case 31:case 13:return oa===null?ru():c.alternate===null&&Rt===0&&(Rt=3),c.flags&=-257,c.flags|=65536,c.lanes=b,f===$d?c.flags|=16384:(i=c.updateQueue,i===null?c.updateQueue=new Set([f]):i.add(f),fx(s,f,b)),!1;case 22:return c.flags|=65536,f===$d?c.flags|=16384:(i=c.updateQueue,i===null?(i={transitions:null,markerInstances:null,retryQueue:new Set([f])},c.updateQueue=i):(c=i.retryQueue,c===null?i.retryQueue=new Set([f]):c.add(f)),fx(s,f,b)),!1}throw Error(n(435,c.tag))}return fx(s,f,b),ru(),!1}if(Xe)return i=Fr.current,i!==null?((i.flags&65536)===0&&(i.flags|=256),i.flags|=65536,i.lanes=b,f!==oh&&(s=Error(n(422),{cause:f}),sl(aa(s,c)))):(f!==oh&&(i=Error(n(423),{cause:f}),sl(aa(i,c))),s=s.current.alternate,s.flags|=65536,b&=-b,s.lanes|=b,f=aa(f,c),b=Fh(s.stateNode,f,b),yh(s,b),Rt!==4&&(Rt=2)),!1;var w=Error(n(520),{cause:f});if(w=aa(w,c),Nl===null?Nl=[w]:Nl.push(w),Rt!==4&&(Rt=2),i===null)return!0;f=aa(f,c),c=i;do{switch(c.tag){case 3:return c.flags|=65536,s=b&-b,c.lanes|=s,s=Fh(c.stateNode,f,s),yh(c,s),!1;case 1:if(i=c.type,w=c.stateNode,(c.flags&128)===0&&(typeof i.getDerivedStateFromError=="function"||w!==null&&typeof w.componentDidCatch=="function"&&(zn===null||!zn.has(w))))return c.flags|=65536,b&=-b,c.lanes|=b,b=Rv(b),Iv(b,s,c,f),yh(c,b),!1}c=c.return}while(c!==null);return!1}var Uh=Error(n(461)),Kt=!1;function mr(s,i,c,f){i.child=s===null?Fb(i,null,c,f):Ss(i,s.child,c,f)}function Bv(s,i,c,f,b){c=c.render;var w=i.ref;if("ref"in f){var D={};for(var I in f)I!=="ref"&&(D[I]=f[I])}else D=f;return js(i),f=Nh(s,i,c,D,w,b),I=Sh(),s!==null&&!Kt?(Ch(s,i,b),nn(s,i,b)):(Xe&&I&&sh(i),i.flags|=1,mr(s,i,f,b),i.child)}function zv(s,i,c,f,b){if(s===null){var w=c.type;return typeof w=="function"&&!rh(w)&&w.defaultProps===void 0&&c.compare===null?(i.tag=15,i.type=w,qv(s,i,w,f,b)):(s=Sd(c.type,null,f,i,i.mode,b),s.ref=i.ref,s.return=i,i.child=s)}if(w=s.child,!Wh(s,b)){var D=w.memoizedProps;if(c=c.compare,c=c!==null?c:rl,c(D,f)&&s.ref===i.ref)return nn(s,i,b)}return i.flags|=1,s=Za(w,f),s.ref=i.ref,s.return=i,i.child=s}function qv(s,i,c,f,b){if(s!==null){var w=s.memoizedProps;if(rl(w,f)&&s.ref===i.ref)if(Kt=!1,i.pendingProps=f=w,Wh(s,b))(s.flags&131072)!==0&&(Kt=!0);else return i.lanes=s.lanes,nn(s,i,b)}return Kh(s,i,c,f,b)}function Fv(s,i,c,f){var b=f.children,w=s!==null?s.memoizedState:null;if(s===null&&i.stateNode===null&&(i.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),f.mode==="hidden"){if((i.flags&128)!==0){if(w=w!==null?w.baseLanes|c:c,s!==null){for(f=i.child=s.child,b=0;f!==null;)b=b|f.lanes|f.childLanes,f=f.sibling;f=b&~w}else f=0,i.child=null;return Uv(s,i,w,c,f)}if((c&536870912)!==0)i.memoizedState={baseLanes:0,cachePool:null},s!==null&&Od(i,w!==null?w.cachePool:null),w!==null?Hb(i,w):vh(),Vb(i);else return f=i.lanes=536870912,Uv(s,i,w!==null?w.baseLanes|c:c,c,f)}else w!==null?(Od(i,w.cachePool),Hb(i,w),Pn(),i.memoizedState=null):(s!==null&&Od(i,null),vh(),Pn());return mr(s,i,b,c),i.child}function pl(s,i){return s!==null&&s.tag===22||i.stateNode!==null||(i.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),i.sibling}function Uv(s,i,c,f,b){var w=hh();return w=w===null?null:{parent:Ft._currentValue,pool:w},i.memoizedState={baseLanes:c,cachePool:w},s!==null&&Od(i,null),vh(),Vb(i),s!==null&&yi(s,i,f,!0),i.childLanes=b,null}function Hd(s,i){return i=Gd({mode:i.mode,children:i.children},s.mode),i.ref=s.ref,s.child=i,i.return=s,i}function Kv(s,i,c){return Ss(i,s.child,null,c),s=Hd(i,i.pendingProps),s.flags|=2,Ur(i),i.memoizedState=null,s}function ZE(s,i,c){var f=i.pendingProps,b=(i.flags&128)!==0;if(i.flags&=-129,s===null){if(Xe){if(f.mode==="hidden")return s=Hd(i,f),i.lanes=536870912,pl(null,s);if(wh(i),(s=Ct)?(s=rw(s,ia),s=s!==null&&s.data==="&"?s:null,s!==null&&(i.memoizedState={dehydrated:s,treeContext:En!==null?{id:Aa,overflow:$a}:null,retryLane:536870912,hydrationErrors:null},c=Tb(s),c.return=i,i.child=c,dr=i,Ct=null)):s=null,s===null)throw An(i);return i.lanes=536870912,null}return Hd(i,f)}var w=s.memoizedState;if(w!==null){var D=w.dehydrated;if(wh(i),b)if(i.flags&256)i.flags&=-257,i=Kv(s,i,c);else if(i.memoizedState!==null)i.child=s.child,i.flags|=128,i=null;else throw Error(n(558));else if(Kt||yi(s,i,c,!1),b=(c&s.childLanes)!==0,Kt||b){if(f=kt,f!==null&&(D=My(f,c),D!==0&&D!==w.retryLane))throw w.retryLane=D,ps(s,D),Dr(f,s,D),Uh;ru(),i=Kv(s,i,c)}else s=w.treeContext,Ct=la(D.nextSibling),dr=i,Xe=!0,On=null,ia=!1,s!==null&&Ab(i,s),i=Hd(i,f),i.flags|=4096;return i}return s=Za(s.child,{mode:f.mode,children:f.children}),s.ref=i.ref,i.child=s,s.return=i,s}function Vd(s,i){var c=i.ref;if(c===null)s!==null&&s.ref!==null&&(i.flags|=4194816);else{if(typeof c!="function"&&typeof c!="object")throw Error(n(284));(s===null||s.ref!==c)&&(i.flags|=4194816)}}function Kh(s,i,c,f,b){return js(i),c=Nh(s,i,c,f,void 0,b),f=Sh(),s!==null&&!Kt?(Ch(s,i,b),nn(s,i,b)):(Xe&&f&&sh(i),i.flags|=1,mr(s,i,c,b),i.child)}function Hv(s,i,c,f,b,w){return js(i),i.updateQueue=null,c=Yb(i,f,c,b),Gb(s),f=Sh(),s!==null&&!Kt?(Ch(s,i,w),nn(s,i,w)):(Xe&&f&&sh(i),i.flags|=1,mr(s,i,c,w),i.child)}function Vv(s,i,c,f,b){if(js(i),i.stateNode===null){var w=hi,D=c.contextType;typeof D=="object"&&D!==null&&(w=ur(D)),w=new c(f,w),i.memoizedState=w.state!==null&&w.state!==void 0?w.state:null,w.updater=qh,i.stateNode=w,w._reactInternals=i,w=i.stateNode,w.props=f,w.state=i.memoizedState,w.refs={},gh(i),D=c.contextType,w.context=typeof D=="object"&&D!==null?ur(D):hi,w.state=i.memoizedState,D=c.getDerivedStateFromProps,typeof D=="function"&&(zh(i,c,D,f),w.state=i.memoizedState),typeof c.getDerivedStateFromProps=="function"||typeof w.getSnapshotBeforeUpdate=="function"||typeof w.UNSAFE_componentWillMount!="function"&&typeof w.componentWillMount!="function"||(D=w.state,typeof w.componentWillMount=="function"&&w.componentWillMount(),typeof w.UNSAFE_componentWillMount=="function"&&w.UNSAFE_componentWillMount(),D!==w.state&&qh.enqueueReplaceState(w,w.state,null),ml(i,f,w,b),ul(),w.state=i.memoizedState),typeof w.componentDidMount=="function"&&(i.flags|=4194308),f=!0}else if(s===null){w=i.stateNode;var I=i.memoizedProps,V=Ts(c,I);w.props=V;var ne=w.context,de=c.contextType;D=hi,typeof de=="object"&&de!==null&&(D=ur(de));var xe=c.getDerivedStateFromProps;de=typeof xe=="function"||typeof w.getSnapshotBeforeUpdate=="function",I=i.pendingProps!==I,de||typeof w.UNSAFE_componentWillReceiveProps!="function"&&typeof w.componentWillReceiveProps!="function"||(I||ne!==D)&&Dv(i,w,f,D),Dn=!1;var ie=i.memoizedState;w.state=ie,ml(i,f,w,b),ul(),ne=i.memoizedState,I||ie!==ne||Dn?(typeof xe=="function"&&(zh(i,c,xe,f),ne=i.memoizedState),(V=Dn||$v(i,c,V,f,ie,ne,D))?(de||typeof w.UNSAFE_componentWillMount!="function"&&typeof w.componentWillMount!="function"||(typeof w.componentWillMount=="function"&&w.componentWillMount(),typeof w.UNSAFE_componentWillMount=="function"&&w.UNSAFE_componentWillMount()),typeof w.componentDidMount=="function"&&(i.flags|=4194308)):(typeof w.componentDidMount=="function"&&(i.flags|=4194308),i.memoizedProps=f,i.memoizedState=ne),w.props=f,w.state=ne,w.context=D,f=V):(typeof w.componentDidMount=="function"&&(i.flags|=4194308),f=!1)}else{w=i.stateNode,ph(s,i),D=i.memoizedProps,de=Ts(c,D),w.props=de,xe=i.pendingProps,ie=w.context,ne=c.contextType,V=hi,typeof ne=="object"&&ne!==null&&(V=ur(ne)),I=c.getDerivedStateFromProps,(ne=typeof I=="function"||typeof w.getSnapshotBeforeUpdate=="function")||typeof w.UNSAFE_componentWillReceiveProps!="function"&&typeof w.componentWillReceiveProps!="function"||(D!==xe||ie!==V)&&Dv(i,w,f,V),Dn=!1,ie=i.memoizedState,w.state=ie,ml(i,f,w,b),ul();var oe=i.memoizedState;D!==xe||ie!==oe||Dn||s!==null&&s.dependencies!==null&&Td(s.dependencies)?(typeof I=="function"&&(zh(i,c,I,f),oe=i.memoizedState),(de=Dn||$v(i,c,de,f,ie,oe,V)||s!==null&&s.dependencies!==null&&Td(s.dependencies))?(ne||typeof w.UNSAFE_componentWillUpdate!="function"&&typeof w.componentWillUpdate!="function"||(typeof w.componentWillUpdate=="function"&&w.componentWillUpdate(f,oe,V),typeof w.UNSAFE_componentWillUpdate=="function"&&w.UNSAFE_componentWillUpdate(f,oe,V)),typeof w.componentDidUpdate=="function"&&(i.flags|=4),typeof w.getSnapshotBeforeUpdate=="function"&&(i.flags|=1024)):(typeof w.componentDidUpdate!="function"||D===s.memoizedProps&&ie===s.memoizedState||(i.flags|=4),typeof w.getSnapshotBeforeUpdate!="function"||D===s.memoizedProps&&ie===s.memoizedState||(i.flags|=1024),i.memoizedProps=f,i.memoizedState=oe),w.props=f,w.state=oe,w.context=V,f=de):(typeof w.componentDidUpdate!="function"||D===s.memoizedProps&&ie===s.memoizedState||(i.flags|=4),typeof w.getSnapshotBeforeUpdate!="function"||D===s.memoizedProps&&ie===s.memoizedState||(i.flags|=1024),f=!1)}return w=f,Vd(s,i),f=(i.flags&128)!==0,w||f?(w=i.stateNode,c=f&&typeof c.getDerivedStateFromError!="function"?null:w.render(),i.flags|=1,s!==null&&f?(i.child=Ss(i,s.child,null,b),i.child=Ss(i,null,c,b)):mr(s,i,c,b),i.memoizedState=w.state,s=i.child):s=nn(s,i,b),s}function Gv(s,i,c,f){return bs(),i.flags|=256,mr(s,i,c,f),i.child}var Hh={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function Vh(s){return{baseLanes:s,cachePool:Pb()}}function Gh(s,i,c){return s=s!==null?s.childLanes&~c:0,i&&(s|=Hr),s}function Yv(s,i,c){var f=i.pendingProps,b=!1,w=(i.flags&128)!==0,D;if((D=w)||(D=s!==null&&s.memoizedState===null?!1:(zt.current&2)!==0),D&&(b=!0,i.flags&=-129),D=(i.flags&32)!==0,i.flags&=-33,s===null){if(Xe){if(b?Ln(i):Pn(),(s=Ct)?(s=rw(s,ia),s=s!==null&&s.data!=="&"?s:null,s!==null&&(i.memoizedState={dehydrated:s,treeContext:En!==null?{id:Aa,overflow:$a}:null,retryLane:536870912,hydrationErrors:null},c=Tb(s),c.return=i,i.child=c,dr=i,Ct=null)):s=null,s===null)throw An(i);return Ox(s)?i.lanes=32:i.lanes=536870912,null}var I=f.children;return f=f.fallback,b?(Pn(),b=i.mode,I=Gd({mode:"hidden",children:I},b),f=ys(f,b,c,null),I.return=i,f.return=i,I.sibling=f,i.child=I,f=i.child,f.memoizedState=Vh(c),f.childLanes=Gh(s,D,c),i.memoizedState=Hh,pl(null,f)):(Ln(i),Yh(i,I))}var V=s.memoizedState;if(V!==null&&(I=V.dehydrated,I!==null)){if(w)i.flags&256?(Ln(i),i.flags&=-257,i=Qh(s,i,c)):i.memoizedState!==null?(Pn(),i.child=s.child,i.flags|=128,i=null):(Pn(),I=f.fallback,b=i.mode,f=Gd({mode:"visible",children:f.children},b),I=ys(I,b,c,null),I.flags|=2,f.return=i,I.return=i,f.sibling=I,i.child=f,Ss(i,s.child,null,c),f=i.child,f.memoizedState=Vh(c),f.childLanes=Gh(s,D,c),i.memoizedState=Hh,i=pl(null,f));else if(Ln(i),Ox(I)){if(D=I.nextSibling&&I.nextSibling.dataset,D)var ne=D.dgst;D=ne,f=Error(n(419)),f.stack="",f.digest=D,sl({value:f,source:null,stack:null}),i=Qh(s,i,c)}else if(Kt||yi(s,i,c,!1),D=(c&s.childLanes)!==0,Kt||D){if(D=kt,D!==null&&(f=My(D,c),f!==0&&f!==V.retryLane))throw V.retryLane=f,ps(s,f),Dr(D,s,f),Uh;Ex(I)||ru(),i=Qh(s,i,c)}else Ex(I)?(i.flags|=192,i.child=s.child,i=null):(s=V.treeContext,Ct=la(I.nextSibling),dr=i,Xe=!0,On=null,ia=!1,s!==null&&Ab(i,s),i=Yh(i,f.children),i.flags|=4096);return i}return b?(Pn(),I=f.fallback,b=i.mode,V=s.child,ne=V.sibling,f=Za(V,{mode:"hidden",children:f.children}),f.subtreeFlags=V.subtreeFlags&65011712,ne!==null?I=Za(ne,I):(I=ys(I,b,c,null),I.flags|=2),I.return=i,f.return=i,f.sibling=I,i.child=f,pl(null,f),f=i.child,I=s.child.memoizedState,I===null?I=Vh(c):(b=I.cachePool,b!==null?(V=Ft._currentValue,b=b.parent!==V?{parent:V,pool:V}:b):b=Pb(),I={baseLanes:I.baseLanes|c,cachePool:b}),f.memoizedState=I,f.childLanes=Gh(s,D,c),i.memoizedState=Hh,pl(s.child,f)):(Ln(i),c=s.child,s=c.sibling,c=Za(c,{mode:"visible",children:f.children}),c.return=i,c.sibling=null,s!==null&&(D=i.deletions,D===null?(i.deletions=[s],i.flags|=16):D.push(s)),i.child=c,i.memoizedState=null,c)}function Yh(s,i){return i=Gd({mode:"visible",children:i},s.mode),i.return=s,s.child=i}function Gd(s,i){return s=qr(22,s,null,i),s.lanes=0,s}function Qh(s,i,c){return Ss(i,s.child,null,c),s=Yh(i,i.pendingProps.children),s.flags|=2,i.memoizedState=null,s}function Qv(s,i,c){s.lanes|=i;var f=s.alternate;f!==null&&(f.lanes|=i),dh(s.return,i,c)}function Xh(s,i,c,f,b,w){var D=s.memoizedState;D===null?s.memoizedState={isBackwards:i,rendering:null,renderingStartTime:0,last:f,tail:c,tailMode:b,treeForkCount:w}:(D.isBackwards=i,D.rendering=null,D.renderingStartTime=0,D.last=f,D.tail=c,D.tailMode=b,D.treeForkCount=w)}function Xv(s,i,c){var f=i.pendingProps,b=f.revealOrder,w=f.tail;f=f.children;var D=zt.current,I=(D&2)!==0;if(I?(D=D&1|2,i.flags|=128):D&=1,le(zt,D),mr(s,i,f,c),f=Xe?nl:0,!I&&s!==null&&(s.flags&128)!==0)e:for(s=i.child;s!==null;){if(s.tag===13)s.memoizedState!==null&&Qv(s,c,i);else if(s.tag===19)Qv(s,c,i);else if(s.child!==null){s.child.return=s,s=s.child;continue}if(s===i)break e;for(;s.sibling===null;){if(s.return===null||s.return===i)break e;s=s.return}s.sibling.return=s.return,s=s.sibling}switch(b){case"forwards":for(c=i.child,b=null;c!==null;)s=c.alternate,s!==null&&Ld(s)===null&&(b=c),c=c.sibling;c=b,c===null?(b=i.child,i.child=null):(b=c.sibling,c.sibling=null),Xh(i,!1,b,c,w,f);break;case"backwards":case"unstable_legacy-backwards":for(c=null,b=i.child,i.child=null;b!==null;){if(s=b.alternate,s!==null&&Ld(s)===null){i.child=b;break}s=b.sibling,b.sibling=c,c=b,b=s}Xh(i,!0,c,null,w,f);break;case"together":Xh(i,!1,null,null,void 0,f);break;default:i.memoizedState=null}return i.child}function nn(s,i,c){if(s!==null&&(i.dependencies=s.dependencies),Bn|=i.lanes,(c&i.childLanes)===0)if(s!==null){if(yi(s,i,c,!1),(c&i.childLanes)===0)return null}else return null;if(s!==null&&i.child!==s.child)throw Error(n(153));if(i.child!==null){for(s=i.child,c=Za(s,s.pendingProps),i.child=c,c.return=i;s.sibling!==null;)s=s.sibling,c=c.sibling=Za(s,s.pendingProps),c.return=i;c.sibling=null}return i.child}function Wh(s,i){return(s.lanes&i)!==0?!0:(s=s.dependencies,!!(s!==null&&Td(s)))}function JE(s,i,c){switch(i.tag){case 3:we(i,i.stateNode.containerInfo),$n(i,Ft,s.memoizedState.cache),bs();break;case 27:case 5:J(i);break;case 4:we(i,i.stateNode.containerInfo);break;case 10:$n(i,i.type,i.memoizedProps.value);break;case 31:if(i.memoizedState!==null)return i.flags|=128,wh(i),null;break;case 13:var f=i.memoizedState;if(f!==null)return f.dehydrated!==null?(Ln(i),i.flags|=128,null):(c&i.child.childLanes)!==0?Yv(s,i,c):(Ln(i),s=nn(s,i,c),s!==null?s.sibling:null);Ln(i);break;case 19:var b=(s.flags&128)!==0;if(f=(c&i.childLanes)!==0,f||(yi(s,i,c,!1),f=(c&i.childLanes)!==0),b){if(f)return Xv(s,i,c);i.flags|=128}if(b=i.memoizedState,b!==null&&(b.rendering=null,b.tail=null,b.lastEffect=null),le(zt,zt.current),f)break;return null;case 22:return i.lanes=0,Fv(s,i,c,i.pendingProps);case 24:$n(i,Ft,s.memoizedState.cache)}return nn(s,i,c)}function Wv(s,i,c){if(s!==null)if(s.memoizedProps!==i.pendingProps)Kt=!0;else{if(!Wh(s,c)&&(i.flags&128)===0)return Kt=!1,JE(s,i,c);Kt=(s.flags&131072)!==0}else Kt=!1,Xe&&(i.flags&1048576)!==0&&Ob(i,nl,i.index);switch(i.lanes=0,i.tag){case 16:e:{var f=i.pendingProps;if(s=ks(i.elementType),i.type=s,typeof s=="function")rh(s)?(f=Ts(s,f),i.tag=1,i=Vv(null,i,s,f,c)):(i.tag=0,i=Kh(null,i,s,f,c));else{if(s!=null){var b=s.$$typeof;if(b===S){i.tag=11,i=Bv(null,i,s,f,c);break e}else if(b===$){i.tag=14,i=zv(null,i,s,f,c);break e}}throw i=K(s)||s,Error(n(306,i,""))}}return i;case 0:return Kh(s,i,i.type,i.pendingProps,c);case 1:return f=i.type,b=Ts(f,i.pendingProps),Vv(s,i,f,b,c);case 3:e:{if(we(i,i.stateNode.containerInfo),s===null)throw Error(n(387));f=i.pendingProps;var w=i.memoizedState;b=w.element,ph(s,i),ml(i,f,null,c);var D=i.memoizedState;if(f=D.cache,$n(i,Ft,f),f!==w.cache&&uh(i,[Ft],c,!0),ul(),f=D.element,w.isDehydrated)if(w={element:f,isDehydrated:!1,cache:D.cache},i.updateQueue.baseState=w,i.memoizedState=w,i.flags&256){i=Gv(s,i,f,c);break e}else if(f!==b){b=aa(Error(n(424)),i),sl(b),i=Gv(s,i,f,c);break e}else{switch(s=i.stateNode.containerInfo,s.nodeType){case 9:s=s.body;break;default:s=s.nodeName==="HTML"?s.ownerDocument.body:s}for(Ct=la(s.firstChild),dr=i,Xe=!0,On=null,ia=!0,c=Fb(i,null,f,c),i.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling}else{if(bs(),f===b){i=nn(s,i,c);break e}mr(s,i,f,c)}i=i.child}return i;case 26:return Vd(s,i),s===null?(c=lw(i.type,null,i.pendingProps,null))?i.memoizedState=c:Xe||(c=i.type,s=i.pendingProps,f=cu(ye.current).createElement(c),f[cr]=i,f[Cr]=s,fr(f,c,s),nr(f),i.stateNode=f):i.memoizedState=lw(i.type,s.memoizedProps,i.pendingProps,s.memoizedState),null;case 27:return J(i),s===null&&Xe&&(f=i.stateNode=sw(i.type,i.pendingProps,ye.current),dr=i,ia=!0,b=Ct,Kn(i.type)?(Ax=b,Ct=la(f.firstChild)):Ct=b),mr(s,i,i.pendingProps.children,c),Vd(s,i),s===null&&(i.flags|=4194304),i.child;case 5:return s===null&&Xe&&((b=f=Ct)&&(f=O3(f,i.type,i.pendingProps,ia),f!==null?(i.stateNode=f,dr=i,Ct=la(f.firstChild),ia=!1,b=!0):b=!1),b||An(i)),J(i),b=i.type,w=i.pendingProps,D=s!==null?s.memoizedProps:null,f=w.children,Sx(b,w)?f=null:D!==null&&Sx(b,D)&&(i.flags|=32),i.memoizedState!==null&&(b=Nh(s,i,KE,null,null,c),Dl._currentValue=b),Vd(s,i),mr(s,i,f,c),i.child;case 6:return s===null&&Xe&&((s=c=Ct)&&(c=A3(c,i.pendingProps,ia),c!==null?(i.stateNode=c,dr=i,Ct=null,s=!0):s=!1),s||An(i)),null;case 13:return Yv(s,i,c);case 4:return we(i,i.stateNode.containerInfo),f=i.pendingProps,s===null?i.child=Ss(i,null,f,c):mr(s,i,f,c),i.child;case 11:return Bv(s,i,i.type,i.pendingProps,c);case 7:return mr(s,i,i.pendingProps,c),i.child;case 8:return mr(s,i,i.pendingProps.children,c),i.child;case 12:return mr(s,i,i.pendingProps.children,c),i.child;case 10:return f=i.pendingProps,$n(i,i.type,f.value),mr(s,i,f.children,c),i.child;case 9:return b=i.type._context,f=i.pendingProps.children,js(i),b=ur(b),f=f(b),i.flags|=1,mr(s,i,f,c),i.child;case 14:return zv(s,i,i.type,i.pendingProps,c);case 15:return qv(s,i,i.type,i.pendingProps,c);case 19:return Xv(s,i,c);case 31:return ZE(s,i,c);case 22:return Fv(s,i,c,i.pendingProps);case 24:return js(i),f=ur(Ft),s===null?(b=hh(),b===null&&(b=kt,w=mh(),b.pooledCache=w,w.refCount++,w!==null&&(b.pooledCacheLanes|=c),b=w),i.memoizedState={parent:f,cache:b},gh(i),$n(i,Ft,b)):((s.lanes&c)!==0&&(ph(s,i),ml(i,null,null,c),ul()),b=s.memoizedState,w=i.memoizedState,b.parent!==f?(b={parent:f,cache:f},i.memoizedState=b,i.lanes===0&&(i.memoizedState=i.updateQueue.baseState=b),$n(i,Ft,f)):(f=w.cache,$n(i,Ft,f),f!==b.cache&&uh(i,[Ft],c,!0))),mr(s,i,i.pendingProps.children,c),i.child;case 29:throw i.pendingProps}throw Error(n(156,i.tag))}function sn(s){s.flags|=4}function Zh(s,i,c,f,b){if((i=(s.mode&32)!==0)&&(i=!1),i){if(s.flags|=16777216,(b&335544128)===b)if(s.stateNode.complete)s.flags|=8192;else if(Nj())s.flags|=8192;else throw Ns=$d,xh}else s.flags&=-16777217}function Zv(s,i){if(i.type!=="stylesheet"||(i.state.loading&4)!==0)s.flags&=-16777217;else if(s.flags|=16777216,!fw(i))if(Nj())s.flags|=8192;else throw Ns=$d,xh}function Yd(s,i){i!==null&&(s.flags|=4),s.flags&16384&&(i=s.tag!==22?Sn():536870912,s.lanes|=i,Ai|=i)}function yl(s,i){if(!Xe)switch(s.tailMode){case"hidden":i=s.tail;for(var c=null;i!==null;)i.alternate!==null&&(c=i),i=i.sibling;c===null?s.tail=null:c.sibling=null;break;case"collapsed":c=s.tail;for(var f=null;c!==null;)c.alternate!==null&&(f=c),c=c.sibling;f===null?i||s.tail===null?s.tail=null:s.tail.sibling=null:f.sibling=null}}function Tt(s){var i=s.alternate!==null&&s.alternate.child===s.child,c=0,f=0;if(i)for(var b=s.child;b!==null;)c|=b.lanes|b.childLanes,f|=b.subtreeFlags&65011712,f|=b.flags&65011712,b.return=s,b=b.sibling;else for(b=s.child;b!==null;)c|=b.lanes|b.childLanes,f|=b.subtreeFlags,f|=b.flags,b.return=s,b=b.sibling;return s.subtreeFlags|=f,s.childLanes=c,i}function e3(s,i,c){var f=i.pendingProps;switch(ih(i),i.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Tt(i),null;case 1:return Tt(i),null;case 3:return c=i.stateNode,f=null,s!==null&&(f=s.memoizedState.cache),i.memoizedState.cache!==f&&(i.flags|=2048),tn(Ft),me(),c.pendingContext&&(c.context=c.pendingContext,c.pendingContext=null),(s===null||s.child===null)&&(pi(i)?sn(i):s===null||s.memoizedState.isDehydrated&&(i.flags&256)===0||(i.flags|=1024,lh())),Tt(i),null;case 26:var b=i.type,w=i.memoizedState;return s===null?(sn(i),w!==null?(Tt(i),Zv(i,w)):(Tt(i),Zh(i,b,null,f,c))):w?w!==s.memoizedState?(sn(i),Tt(i),Zv(i,w)):(Tt(i),i.flags&=-16777217):(s=s.memoizedProps,s!==f&&sn(i),Tt(i),Zh(i,b,s,f,c)),null;case 27:if(re(i),c=ye.current,b=i.type,s!==null&&i.stateNode!=null)s.memoizedProps!==f&&sn(i);else{if(!f){if(i.stateNode===null)throw Error(n(166));return Tt(i),null}s=ge.current,pi(i)?$b(i):(s=sw(b,f,c),i.stateNode=s,sn(i))}return Tt(i),null;case 5:if(re(i),b=i.type,s!==null&&i.stateNode!=null)s.memoizedProps!==f&&sn(i);else{if(!f){if(i.stateNode===null)throw Error(n(166));return Tt(i),null}if(w=ge.current,pi(i))$b(i);else{var D=cu(ye.current);switch(w){case 1:w=D.createElementNS("http://www.w3.org/2000/svg",b);break;case 2:w=D.createElementNS("http://www.w3.org/1998/Math/MathML",b);break;default:switch(b){case"svg":w=D.createElementNS("http://www.w3.org/2000/svg",b);break;case"math":w=D.createElementNS("http://www.w3.org/1998/Math/MathML",b);break;case"script":w=D.createElement("div"),w.innerHTML="<script><\/script>",w=w.removeChild(w.firstChild);break;case"select":w=typeof f.is=="string"?D.createElement("select",{is:f.is}):D.createElement("select"),f.multiple?w.multiple=!0:f.size&&(w.size=f.size);break;default:w=typeof f.is=="string"?D.createElement(b,{is:f.is}):D.createElement(b)}}w[cr]=i,w[Cr]=f;e:for(D=i.child;D!==null;){if(D.tag===5||D.tag===6)w.appendChild(D.stateNode);else if(D.tag!==4&&D.tag!==27&&D.child!==null){D.child.return=D,D=D.child;continue}if(D===i)break e;for(;D.sibling===null;){if(D.return===null||D.return===i)break e;D=D.return}D.sibling.return=D.return,D=D.sibling}i.stateNode=w;e:switch(fr(w,b,f),b){case"button":case"input":case"select":case"textarea":f=!!f.autoFocus;break e;case"img":f=!0;break e;default:f=!1}f&&sn(i)}}return Tt(i),Zh(i,i.type,s===null?null:s.memoizedProps,i.pendingProps,c),null;case 6:if(s&&i.stateNode!=null)s.memoizedProps!==f&&sn(i);else{if(typeof f!="string"&&i.stateNode===null)throw Error(n(166));if(s=ye.current,pi(i)){if(s=i.stateNode,c=i.memoizedProps,f=null,b=dr,b!==null)switch(b.tag){case 27:case 5:f=b.memoizedProps}s[cr]=i,s=!!(s.nodeValue===c||f!==null&&f.suppressHydrationWarning===!0||Yj(s.nodeValue,c)),s||An(i,!0)}else s=cu(s).createTextNode(f),s[cr]=i,i.stateNode=s}return Tt(i),null;case 31:if(c=i.memoizedState,s===null||s.memoizedState!==null){if(f=pi(i),c!==null){if(s===null){if(!f)throw Error(n(318));if(s=i.memoizedState,s=s!==null?s.dehydrated:null,!s)throw Error(n(557));s[cr]=i}else bs(),(i.flags&128)===0&&(i.memoizedState=null),i.flags|=4;Tt(i),s=!1}else c=lh(),s!==null&&s.memoizedState!==null&&(s.memoizedState.hydrationErrors=c),s=!0;if(!s)return i.flags&256?(Ur(i),i):(Ur(i),null);if((i.flags&128)!==0)throw Error(n(558))}return Tt(i),null;case 13:if(f=i.memoizedState,s===null||s.memoizedState!==null&&s.memoizedState.dehydrated!==null){if(b=pi(i),f!==null&&f.dehydrated!==null){if(s===null){if(!b)throw Error(n(318));if(b=i.memoizedState,b=b!==null?b.dehydrated:null,!b)throw Error(n(317));b[cr]=i}else bs(),(i.flags&128)===0&&(i.memoizedState=null),i.flags|=4;Tt(i),b=!1}else b=lh(),s!==null&&s.memoizedState!==null&&(s.memoizedState.hydrationErrors=b),b=!0;if(!b)return i.flags&256?(Ur(i),i):(Ur(i),null)}return Ur(i),(i.flags&128)!==0?(i.lanes=c,i):(c=f!==null,s=s!==null&&s.memoizedState!==null,c&&(f=i.child,b=null,f.alternate!==null&&f.alternate.memoizedState!==null&&f.alternate.memoizedState.cachePool!==null&&(b=f.alternate.memoizedState.cachePool.pool),w=null,f.memoizedState!==null&&f.memoizedState.cachePool!==null&&(w=f.memoizedState.cachePool.pool),w!==b&&(f.flags|=2048)),c!==s&&c&&(i.child.flags|=8192),Yd(i,i.updateQueue),Tt(i),null);case 4:return me(),s===null&&vx(i.stateNode.containerInfo),Tt(i),null;case 10:return tn(i.type),Tt(i),null;case 19:if(te(zt),f=i.memoizedState,f===null)return Tt(i),null;if(b=(i.flags&128)!==0,w=f.rendering,w===null)if(b)yl(f,!1);else{if(Rt!==0||s!==null&&(s.flags&128)!==0)for(s=i.child;s!==null;){if(w=Ld(s),w!==null){for(i.flags|=128,yl(f,!1),s=w.updateQueue,i.updateQueue=s,Yd(i,s),i.subtreeFlags=0,s=c,c=i.child;c!==null;)Cb(c,s),c=c.sibling;return le(zt,zt.current&1|2),Xe&&Ja(i,f.treeForkCount),i.child}s=s.sibling}f.tail!==null&&ht()>Jd&&(i.flags|=128,b=!0,yl(f,!1),i.lanes=4194304)}else{if(!b)if(s=Ld(w),s!==null){if(i.flags|=128,b=!0,s=s.updateQueue,i.updateQueue=s,Yd(i,s),yl(f,!0),f.tail===null&&f.tailMode==="hidden"&&!w.alternate&&!Xe)return Tt(i),null}else 2*ht()-f.renderingStartTime>Jd&&c!==536870912&&(i.flags|=128,b=!0,yl(f,!1),i.lanes=4194304);f.isBackwards?(w.sibling=i.child,i.child=w):(s=f.last,s!==null?s.sibling=w:i.child=w,f.last=w)}return f.tail!==null?(s=f.tail,f.rendering=s,f.tail=s.sibling,f.renderingStartTime=ht(),s.sibling=null,c=zt.current,le(zt,b?c&1|2:c&1),Xe&&Ja(i,f.treeForkCount),s):(Tt(i),null);case 22:case 23:return Ur(i),jh(),f=i.memoizedState!==null,s!==null?s.memoizedState!==null!==f&&(i.flags|=8192):f&&(i.flags|=8192),f?(c&536870912)!==0&&(i.flags&128)===0&&(Tt(i),i.subtreeFlags&6&&(i.flags|=8192)):Tt(i),c=i.updateQueue,c!==null&&Yd(i,c.retryQueue),c=null,s!==null&&s.memoizedState!==null&&s.memoizedState.cachePool!==null&&(c=s.memoizedState.cachePool.pool),f=null,i.memoizedState!==null&&i.memoizedState.cachePool!==null&&(f=i.memoizedState.cachePool.pool),f!==c&&(i.flags|=2048),s!==null&&te(ws),null;case 24:return c=null,s!==null&&(c=s.memoizedState.cache),i.memoizedState.cache!==c&&(i.flags|=2048),tn(Ft),Tt(i),null;case 25:return null;case 30:return null}throw Error(n(156,i.tag))}function t3(s,i){switch(ih(i),i.tag){case 1:return s=i.flags,s&65536?(i.flags=s&-65537|128,i):null;case 3:return tn(Ft),me(),s=i.flags,(s&65536)!==0&&(s&128)===0?(i.flags=s&-65537|128,i):null;case 26:case 27:case 5:return re(i),null;case 31:if(i.memoizedState!==null){if(Ur(i),i.alternate===null)throw Error(n(340));bs()}return s=i.flags,s&65536?(i.flags=s&-65537|128,i):null;case 13:if(Ur(i),s=i.memoizedState,s!==null&&s.dehydrated!==null){if(i.alternate===null)throw Error(n(340));bs()}return s=i.flags,s&65536?(i.flags=s&-65537|128,i):null;case 19:return te(zt),null;case 4:return me(),null;case 10:return tn(i.type),null;case 22:case 23:return Ur(i),jh(),s!==null&&te(ws),s=i.flags,s&65536?(i.flags=s&-65537|128,i):null;case 24:return tn(Ft),null;case 25:return null;default:return null}}function Jv(s,i){switch(ih(i),i.tag){case 3:tn(Ft),me();break;case 26:case 27:case 5:re(i);break;case 4:me();break;case 31:i.memoizedState!==null&&Ur(i);break;case 13:Ur(i);break;case 19:te(zt);break;case 10:tn(i.type);break;case 22:case 23:Ur(i),jh(),s!==null&&te(ws);break;case 24:tn(Ft)}}function bl(s,i){try{var c=i.updateQueue,f=c!==null?c.lastEffect:null;if(f!==null){var b=f.next;c=b;do{if((c.tag&s)===s){f=void 0;var w=c.create,D=c.inst;f=w(),D.destroy=f}c=c.next}while(c!==b)}}catch(I){mt(i,i.return,I)}}function Rn(s,i,c){try{var f=i.updateQueue,b=f!==null?f.lastEffect:null;if(b!==null){var w=b.next;f=w;do{if((f.tag&s)===s){var D=f.inst,I=D.destroy;if(I!==void 0){D.destroy=void 0,b=i;var V=c,ne=I;try{ne()}catch(de){mt(b,V,de)}}}f=f.next}while(f!==w)}}catch(de){mt(i,i.return,de)}}function ej(s){var i=s.updateQueue;if(i!==null){var c=s.stateNode;try{Kb(i,c)}catch(f){mt(s,s.return,f)}}}function tj(s,i,c){c.props=Ts(s.type,s.memoizedProps),c.state=s.memoizedState;try{c.componentWillUnmount()}catch(f){mt(s,i,f)}}function vl(s,i){try{var c=s.ref;if(c!==null){switch(s.tag){case 26:case 27:case 5:var f=s.stateNode;break;case 30:f=s.stateNode;break;default:f=s.stateNode}typeof c=="function"?s.refCleanup=c(f):c.current=f}}catch(b){mt(s,i,b)}}function Da(s,i){var c=s.ref,f=s.refCleanup;if(c!==null)if(typeof f=="function")try{f()}catch(b){mt(s,i,b)}finally{s.refCleanup=null,s=s.alternate,s!=null&&(s.refCleanup=null)}else if(typeof c=="function")try{c(null)}catch(b){mt(s,i,b)}else c.current=null}function rj(s){var i=s.type,c=s.memoizedProps,f=s.stateNode;try{e:switch(i){case"button":case"input":case"select":case"textarea":c.autoFocus&&f.focus();break e;case"img":c.src?f.src=c.src:c.srcSet&&(f.srcset=c.srcSet)}}catch(b){mt(s,s.return,b)}}function Jh(s,i,c){try{var f=s.stateNode;k3(f,s.type,c,i),f[Cr]=i}catch(b){mt(s,s.return,b)}}function aj(s){return s.tag===5||s.tag===3||s.tag===26||s.tag===27&&Kn(s.type)||s.tag===4}function ex(s){e:for(;;){for(;s.sibling===null;){if(s.return===null||aj(s.return))return null;s=s.return}for(s.sibling.return=s.return,s=s.sibling;s.tag!==5&&s.tag!==6&&s.tag!==18;){if(s.tag===27&&Kn(s.type)||s.flags&2||s.child===null||s.tag===4)continue e;s.child.return=s,s=s.child}if(!(s.flags&2))return s.stateNode}}function tx(s,i,c){var f=s.tag;if(f===5||f===6)s=s.stateNode,i?(c.nodeType===9?c.body:c.nodeName==="HTML"?c.ownerDocument.body:c).insertBefore(s,i):(i=c.nodeType===9?c.body:c.nodeName==="HTML"?c.ownerDocument.body:c,i.appendChild(s),c=c._reactRootContainer,c!=null||i.onclick!==null||(i.onclick=Xa));else if(f!==4&&(f===27&&Kn(s.type)&&(c=s.stateNode,i=null),s=s.child,s!==null))for(tx(s,i,c),s=s.sibling;s!==null;)tx(s,i,c),s=s.sibling}function Qd(s,i,c){var f=s.tag;if(f===5||f===6)s=s.stateNode,i?c.insertBefore(s,i):c.appendChild(s);else if(f!==4&&(f===27&&Kn(s.type)&&(c=s.stateNode),s=s.child,s!==null))for(Qd(s,i,c),s=s.sibling;s!==null;)Qd(s,i,c),s=s.sibling}function nj(s){var i=s.stateNode,c=s.memoizedProps;try{for(var f=s.type,b=i.attributes;b.length;)i.removeAttributeNode(b[0]);fr(i,f,c),i[cr]=s,i[Cr]=c}catch(w){mt(s,s.return,w)}}var on=!1,Ht=!1,rx=!1,sj=typeof WeakSet=="function"?WeakSet:Set,sr=null;function r3(s,i){if(s=s.containerInfo,kx=gu,s=pb(s),Qf(s)){if("selectionStart"in s)var c={start:s.selectionStart,end:s.selectionEnd};else e:{c=(c=s.ownerDocument)&&c.defaultView||window;var f=c.getSelection&&c.getSelection();if(f&&f.rangeCount!==0){c=f.anchorNode;var b=f.anchorOffset,w=f.focusNode;f=f.focusOffset;try{c.nodeType,w.nodeType}catch{c=null;break e}var D=0,I=-1,V=-1,ne=0,de=0,xe=s,ie=null;t:for(;;){for(var oe;xe!==c||b!==0&&xe.nodeType!==3||(I=D+b),xe!==w||f!==0&&xe.nodeType!==3||(V=D+f),xe.nodeType===3&&(D+=xe.nodeValue.length),(oe=xe.firstChild)!==null;)ie=xe,xe=oe;for(;;){if(xe===s)break t;if(ie===c&&++ne===b&&(I=D),ie===w&&++de===f&&(V=D),(oe=xe.nextSibling)!==null)break;xe=ie,ie=xe.parentNode}xe=oe}c=I===-1||V===-1?null:{start:I,end:V}}else c=null}c=c||{start:0,end:0}}else c=null;for(Nx={focusedElem:s,selectionRange:c},gu=!1,sr=i;sr!==null;)if(i=sr,s=i.child,(i.subtreeFlags&1028)!==0&&s!==null)s.return=i,sr=s;else for(;sr!==null;){switch(i=sr,w=i.alternate,s=i.flags,i.tag){case 0:if((s&4)!==0&&(s=i.updateQueue,s=s!==null?s.events:null,s!==null))for(c=0;c<s.length;c++)b=s[c],b.ref.impl=b.nextImpl;break;case 11:case 15:break;case 1:if((s&1024)!==0&&w!==null){s=void 0,c=i,b=w.memoizedProps,w=w.memoizedState,f=c.stateNode;try{var Oe=Ts(c.type,b);s=f.getSnapshotBeforeUpdate(Oe,w),f.__reactInternalSnapshotBeforeUpdate=s}catch(Me){mt(c,c.return,Me)}}break;case 3:if((s&1024)!==0){if(s=i.stateNode.containerInfo,c=s.nodeType,c===9)Tx(s);else if(c===1)switch(s.nodeName){case"HEAD":case"HTML":case"BODY":Tx(s);break;default:s.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((s&1024)!==0)throw Error(n(163))}if(s=i.sibling,s!==null){s.return=i.return,sr=s;break}sr=i.return}}function ij(s,i,c){var f=c.flags;switch(c.tag){case 0:case 11:case 15:cn(s,c),f&4&&bl(5,c);break;case 1:if(cn(s,c),f&4)if(s=c.stateNode,i===null)try{s.componentDidMount()}catch(D){mt(c,c.return,D)}else{var b=Ts(c.type,i.memoizedProps);i=i.memoizedState;try{s.componentDidUpdate(b,i,s.__reactInternalSnapshotBeforeUpdate)}catch(D){mt(c,c.return,D)}}f&64&&ej(c),f&512&&vl(c,c.return);break;case 3:if(cn(s,c),f&64&&(s=c.updateQueue,s!==null)){if(i=null,c.child!==null)switch(c.child.tag){case 27:case 5:i=c.child.stateNode;break;case 1:i=c.child.stateNode}try{Kb(s,i)}catch(D){mt(c,c.return,D)}}break;case 27:i===null&&f&4&&nj(c);case 26:case 5:cn(s,c),i===null&&f&4&&rj(c),f&512&&vl(c,c.return);break;case 12:cn(s,c);break;case 31:cn(s,c),f&4&&cj(s,c);break;case 13:cn(s,c),f&4&&dj(s,c),f&64&&(s=c.memoizedState,s!==null&&(s=s.dehydrated,s!==null&&(c=u3.bind(null,c),$3(s,c))));break;case 22:if(f=c.memoizedState!==null||on,!f){i=i!==null&&i.memoizedState!==null||Ht,b=on;var w=Ht;on=f,(Ht=i)&&!w?dn(s,c,(c.subtreeFlags&8772)!==0):cn(s,c),on=b,Ht=w}break;case 30:break;default:cn(s,c)}}function oj(s){var i=s.alternate;i!==null&&(s.alternate=null,oj(i)),s.child=null,s.deletions=null,s.sibling=null,s.tag===5&&(i=s.stateNode,i!==null&&Df(i)),s.stateNode=null,s.return=null,s.dependencies=null,s.memoizedProps=null,s.memoizedState=null,s.pendingProps=null,s.stateNode=null,s.updateQueue=null}var At=null,Er=!1;function ln(s,i,c){for(c=c.child;c!==null;)lj(s,i,c),c=c.sibling}function lj(s,i,c){if(X&&typeof X.onCommitFiberUnmount=="function")try{X.onCommitFiberUnmount(Ir,c)}catch{}switch(c.tag){case 26:Ht||Da(c,i),ln(s,i,c),c.memoizedState?c.memoizedState.count--:c.stateNode&&(c=c.stateNode,c.parentNode.removeChild(c));break;case 27:Ht||Da(c,i);var f=At,b=Er;Kn(c.type)&&(At=c.stateNode,Er=!1),ln(s,i,c),Ol(c.stateNode),At=f,Er=b;break;case 5:Ht||Da(c,i);case 6:if(f=At,b=Er,At=null,ln(s,i,c),At=f,Er=b,At!==null)if(Er)try{(At.nodeType===9?At.body:At.nodeName==="HTML"?At.ownerDocument.body:At).removeChild(c.stateNode)}catch(w){mt(c,i,w)}else try{At.removeChild(c.stateNode)}catch(w){mt(c,i,w)}break;case 18:At!==null&&(Er?(s=At,ew(s.nodeType===9?s.body:s.nodeName==="HTML"?s.ownerDocument.body:s,c.stateNode),Ii(s)):ew(At,c.stateNode));break;case 4:f=At,b=Er,At=c.stateNode.containerInfo,Er=!0,ln(s,i,c),At=f,Er=b;break;case 0:case 11:case 14:case 15:Rn(2,c,i),Ht||Rn(4,c,i),ln(s,i,c);break;case 1:Ht||(Da(c,i),f=c.stateNode,typeof f.componentWillUnmount=="function"&&tj(c,i,f)),ln(s,i,c);break;case 21:ln(s,i,c);break;case 22:Ht=(f=Ht)||c.memoizedState!==null,ln(s,i,c),Ht=f;break;default:ln(s,i,c)}}function cj(s,i){if(i.memoizedState===null&&(s=i.alternate,s!==null&&(s=s.memoizedState,s!==null))){s=s.dehydrated;try{Ii(s)}catch(c){mt(i,i.return,c)}}}function dj(s,i){if(i.memoizedState===null&&(s=i.alternate,s!==null&&(s=s.memoizedState,s!==null&&(s=s.dehydrated,s!==null))))try{Ii(s)}catch(c){mt(i,i.return,c)}}function a3(s){switch(s.tag){case 31:case 13:case 19:var i=s.stateNode;return i===null&&(i=s.stateNode=new sj),i;case 22:return s=s.stateNode,i=s._retryCache,i===null&&(i=s._retryCache=new sj),i;default:throw Error(n(435,s.tag))}}function Xd(s,i){var c=a3(s);i.forEach(function(f){if(!c.has(f)){c.add(f);var b=m3.bind(null,s,f);f.then(b,b)}})}function Or(s,i){var c=i.deletions;if(c!==null)for(var f=0;f<c.length;f++){var b=c[f],w=s,D=i,I=D;e:for(;I!==null;){switch(I.tag){case 27:if(Kn(I.type)){At=I.stateNode,Er=!1;break e}break;case 5:At=I.stateNode,Er=!1;break e;case 3:case 4:At=I.stateNode.containerInfo,Er=!0;break e}I=I.return}if(At===null)throw Error(n(160));lj(w,D,b),At=null,Er=!1,w=b.alternate,w!==null&&(w.return=null),b.return=null}if(i.subtreeFlags&13886)for(i=i.child;i!==null;)uj(i,s),i=i.sibling}var ya=null;function uj(s,i){var c=s.alternate,f=s.flags;switch(s.tag){case 0:case 11:case 14:case 15:Or(i,s),Ar(s),f&4&&(Rn(3,s,s.return),bl(3,s),Rn(5,s,s.return));break;case 1:Or(i,s),Ar(s),f&512&&(Ht||c===null||Da(c,c.return)),f&64&&on&&(s=s.updateQueue,s!==null&&(f=s.callbacks,f!==null&&(c=s.shared.hiddenCallbacks,s.shared.hiddenCallbacks=c===null?f:c.concat(f))));break;case 26:var b=ya;if(Or(i,s),Ar(s),f&512&&(Ht||c===null||Da(c,c.return)),f&4){var w=c!==null?c.memoizedState:null;if(f=s.memoizedState,c===null)if(f===null)if(s.stateNode===null){e:{f=s.type,c=s.memoizedProps,b=b.ownerDocument||b;t:switch(f){case"title":w=b.getElementsByTagName("title")[0],(!w||w[Go]||w[cr]||w.namespaceURI==="http://www.w3.org/2000/svg"||w.hasAttribute("itemprop"))&&(w=b.createElement(f),b.head.insertBefore(w,b.querySelector("head > title"))),fr(w,f,c),w[cr]=s,nr(w),f=w;break e;case"link":var D=uw("link","href",b).get(f+(c.href||""));if(D){for(var I=0;I<D.length;I++)if(w=D[I],w.getAttribute("href")===(c.href==null||c.href===""?null:c.href)&&w.getAttribute("rel")===(c.rel==null?null:c.rel)&&w.getAttribute("title")===(c.title==null?null:c.title)&&w.getAttribute("crossorigin")===(c.crossOrigin==null?null:c.crossOrigin)){D.splice(I,1);break t}}w=b.createElement(f),fr(w,f,c),b.head.appendChild(w);break;case"meta":if(D=uw("meta","content",b).get(f+(c.content||""))){for(I=0;I<D.length;I++)if(w=D[I],w.getAttribute("content")===(c.content==null?null:""+c.content)&&w.getAttribute("name")===(c.name==null?null:c.name)&&w.getAttribute("property")===(c.property==null?null:c.property)&&w.getAttribute("http-equiv")===(c.httpEquiv==null?null:c.httpEquiv)&&w.getAttribute("charset")===(c.charSet==null?null:c.charSet)){D.splice(I,1);break t}}w=b.createElement(f),fr(w,f,c),b.head.appendChild(w);break;default:throw Error(n(468,f))}w[cr]=s,nr(w),f=w}s.stateNode=f}else mw(b,s.type,s.stateNode);else s.stateNode=dw(b,f,s.memoizedProps);else w!==f?(w===null?c.stateNode!==null&&(c=c.stateNode,c.parentNode.removeChild(c)):w.count--,f===null?mw(b,s.type,s.stateNode):dw(b,f,s.memoizedProps)):f===null&&s.stateNode!==null&&Jh(s,s.memoizedProps,c.memoizedProps)}break;case 27:Or(i,s),Ar(s),f&512&&(Ht||c===null||Da(c,c.return)),c!==null&&f&4&&Jh(s,s.memoizedProps,c.memoizedProps);break;case 5:if(Or(i,s),Ar(s),f&512&&(Ht||c===null||Da(c,c.return)),s.flags&32){b=s.stateNode;try{oi(b,"")}catch(Oe){mt(s,s.return,Oe)}}f&4&&s.stateNode!=null&&(b=s.memoizedProps,Jh(s,b,c!==null?c.memoizedProps:b)),f&1024&&(rx=!0);break;case 6:if(Or(i,s),Ar(s),f&4){if(s.stateNode===null)throw Error(n(162));f=s.memoizedProps,c=s.stateNode;try{c.nodeValue=f}catch(Oe){mt(s,s.return,Oe)}}break;case 3:if(mu=null,b=ya,ya=du(i.containerInfo),Or(i,s),ya=b,Ar(s),f&4&&c!==null&&c.memoizedState.isDehydrated)try{Ii(i.containerInfo)}catch(Oe){mt(s,s.return,Oe)}rx&&(rx=!1,mj(s));break;case 4:f=ya,ya=du(s.stateNode.containerInfo),Or(i,s),Ar(s),ya=f;break;case 12:Or(i,s),Ar(s);break;case 31:Or(i,s),Ar(s),f&4&&(f=s.updateQueue,f!==null&&(s.updateQueue=null,Xd(s,f)));break;case 13:Or(i,s),Ar(s),s.child.flags&8192&&s.memoizedState!==null!=(c!==null&&c.memoizedState!==null)&&(Zd=ht()),f&4&&(f=s.updateQueue,f!==null&&(s.updateQueue=null,Xd(s,f)));break;case 22:b=s.memoizedState!==null;var V=c!==null&&c.memoizedState!==null,ne=on,de=Ht;if(on=ne||b,Ht=de||V,Or(i,s),Ht=de,on=ne,Ar(s),f&8192)e:for(i=s.stateNode,i._visibility=b?i._visibility&-2:i._visibility|1,b&&(c===null||V||on||Ht||Es(s)),c=null,i=s;;){if(i.tag===5||i.tag===26){if(c===null){V=c=i;try{if(w=V.stateNode,b)D=w.style,typeof D.setProperty=="function"?D.setProperty("display","none","important"):D.display="none";else{I=V.stateNode;var xe=V.memoizedProps.style,ie=xe!=null&&xe.hasOwnProperty("display")?xe.display:null;I.style.display=ie==null||typeof ie=="boolean"?"":(""+ie).trim()}}catch(Oe){mt(V,V.return,Oe)}}}else if(i.tag===6){if(c===null){V=i;try{V.stateNode.nodeValue=b?"":V.memoizedProps}catch(Oe){mt(V,V.return,Oe)}}}else if(i.tag===18){if(c===null){V=i;try{var oe=V.stateNode;b?tw(oe,!0):tw(V.stateNode,!1)}catch(Oe){mt(V,V.return,Oe)}}}else if((i.tag!==22&&i.tag!==23||i.memoizedState===null||i===s)&&i.child!==null){i.child.return=i,i=i.child;continue}if(i===s)break e;for(;i.sibling===null;){if(i.return===null||i.return===s)break e;c===i&&(c=null),i=i.return}c===i&&(c=null),i.sibling.return=i.return,i=i.sibling}f&4&&(f=s.updateQueue,f!==null&&(c=f.retryQueue,c!==null&&(f.retryQueue=null,Xd(s,c))));break;case 19:Or(i,s),Ar(s),f&4&&(f=s.updateQueue,f!==null&&(s.updateQueue=null,Xd(s,f)));break;case 30:break;case 21:break;default:Or(i,s),Ar(s)}}function Ar(s){var i=s.flags;if(i&2){try{for(var c,f=s.return;f!==null;){if(aj(f)){c=f;break}f=f.return}if(c==null)throw Error(n(160));switch(c.tag){case 27:var b=c.stateNode,w=ex(s);Qd(s,w,b);break;case 5:var D=c.stateNode;c.flags&32&&(oi(D,""),c.flags&=-33);var I=ex(s);Qd(s,I,D);break;case 3:case 4:var V=c.stateNode.containerInfo,ne=ex(s);tx(s,ne,V);break;default:throw Error(n(161))}}catch(de){mt(s,s.return,de)}s.flags&=-3}i&4096&&(s.flags&=-4097)}function mj(s){if(s.subtreeFlags&1024)for(s=s.child;s!==null;){var i=s;mj(i),i.tag===5&&i.flags&1024&&i.stateNode.reset(),s=s.sibling}}function cn(s,i){if(i.subtreeFlags&8772)for(i=i.child;i!==null;)ij(s,i.alternate,i),i=i.sibling}function Es(s){for(s=s.child;s!==null;){var i=s;switch(i.tag){case 0:case 11:case 14:case 15:Rn(4,i,i.return),Es(i);break;case 1:Da(i,i.return);var c=i.stateNode;typeof c.componentWillUnmount=="function"&&tj(i,i.return,c),Es(i);break;case 27:Ol(i.stateNode);case 26:case 5:Da(i,i.return),Es(i);break;case 22:i.memoizedState===null&&Es(i);break;case 30:Es(i);break;default:Es(i)}s=s.sibling}}function dn(s,i,c){for(c=c&&(i.subtreeFlags&8772)!==0,i=i.child;i!==null;){var f=i.alternate,b=s,w=i,D=w.flags;switch(w.tag){case 0:case 11:case 15:dn(b,w,c),bl(4,w);break;case 1:if(dn(b,w,c),f=w,b=f.stateNode,typeof b.componentDidMount=="function")try{b.componentDidMount()}catch(ne){mt(f,f.return,ne)}if(f=w,b=f.updateQueue,b!==null){var I=f.stateNode;try{var V=b.shared.hiddenCallbacks;if(V!==null)for(b.shared.hiddenCallbacks=null,b=0;b<V.length;b++)Ub(V[b],I)}catch(ne){mt(f,f.return,ne)}}c&&D&64&&ej(w),vl(w,w.return);break;case 27:nj(w);case 26:case 5:dn(b,w,c),c&&f===null&&D&4&&rj(w),vl(w,w.return);break;case 12:dn(b,w,c);break;case 31:dn(b,w,c),c&&D&4&&cj(b,w);break;case 13:dn(b,w,c),c&&D&4&&dj(b,w);break;case 22:w.memoizedState===null&&dn(b,w,c),vl(w,w.return);break;case 30:break;default:dn(b,w,c)}i=i.sibling}}function ax(s,i){var c=null;s!==null&&s.memoizedState!==null&&s.memoizedState.cachePool!==null&&(c=s.memoizedState.cachePool.pool),s=null,i.memoizedState!==null&&i.memoizedState.cachePool!==null&&(s=i.memoizedState.cachePool.pool),s!==c&&(s!=null&&s.refCount++,c!=null&&il(c))}function nx(s,i){s=null,i.alternate!==null&&(s=i.alternate.memoizedState.cache),i=i.memoizedState.cache,i!==s&&(i.refCount++,s!=null&&il(s))}function ba(s,i,c,f){if(i.subtreeFlags&10256)for(i=i.child;i!==null;)fj(s,i,c,f),i=i.sibling}function fj(s,i,c,f){var b=i.flags;switch(i.tag){case 0:case 11:case 15:ba(s,i,c,f),b&2048&&bl(9,i);break;case 1:ba(s,i,c,f);break;case 3:ba(s,i,c,f),b&2048&&(s=null,i.alternate!==null&&(s=i.alternate.memoizedState.cache),i=i.memoizedState.cache,i!==s&&(i.refCount++,s!=null&&il(s)));break;case 12:if(b&2048){ba(s,i,c,f),s=i.stateNode;try{var w=i.memoizedProps,D=w.id,I=w.onPostCommit;typeof I=="function"&&I(D,i.alternate===null?"mount":"update",s.passiveEffectDuration,-0)}catch(V){mt(i,i.return,V)}}else ba(s,i,c,f);break;case 31:ba(s,i,c,f);break;case 13:ba(s,i,c,f);break;case 23:break;case 22:w=i.stateNode,D=i.alternate,i.memoizedState!==null?w._visibility&2?ba(s,i,c,f):jl(s,i):w._visibility&2?ba(s,i,c,f):(w._visibility|=2,Ti(s,i,c,f,(i.subtreeFlags&10256)!==0||!1)),b&2048&&ax(D,i);break;case 24:ba(s,i,c,f),b&2048&&nx(i.alternate,i);break;default:ba(s,i,c,f)}}function Ti(s,i,c,f,b){for(b=b&&((i.subtreeFlags&10256)!==0||!1),i=i.child;i!==null;){var w=s,D=i,I=c,V=f,ne=D.flags;switch(D.tag){case 0:case 11:case 15:Ti(w,D,I,V,b),bl(8,D);break;case 23:break;case 22:var de=D.stateNode;D.memoizedState!==null?de._visibility&2?Ti(w,D,I,V,b):jl(w,D):(de._visibility|=2,Ti(w,D,I,V,b)),b&&ne&2048&&ax(D.alternate,D);break;case 24:Ti(w,D,I,V,b),b&&ne&2048&&nx(D.alternate,D);break;default:Ti(w,D,I,V,b)}i=i.sibling}}function jl(s,i){if(i.subtreeFlags&10256)for(i=i.child;i!==null;){var c=s,f=i,b=f.flags;switch(f.tag){case 22:jl(c,f),b&2048&&ax(f.alternate,f);break;case 24:jl(c,f),b&2048&&nx(f.alternate,f);break;default:jl(c,f)}i=i.sibling}}var wl=8192;function Ei(s,i,c){if(s.subtreeFlags&wl)for(s=s.child;s!==null;)hj(s,i,c),s=s.sibling}function hj(s,i,c){switch(s.tag){case 26:Ei(s,i,c),s.flags&wl&&s.memoizedState!==null&&U3(c,ya,s.memoizedState,s.memoizedProps);break;case 5:Ei(s,i,c);break;case 3:case 4:var f=ya;ya=du(s.stateNode.containerInfo),Ei(s,i,c),ya=f;break;case 22:s.memoizedState===null&&(f=s.alternate,f!==null&&f.memoizedState!==null?(f=wl,wl=16777216,Ei(s,i,c),wl=f):Ei(s,i,c));break;default:Ei(s,i,c)}}function xj(s){var i=s.alternate;if(i!==null&&(s=i.child,s!==null)){i.child=null;do i=s.sibling,s.sibling=null,s=i;while(s!==null)}}function kl(s){var i=s.deletions;if((s.flags&16)!==0){if(i!==null)for(var c=0;c<i.length;c++){var f=i[c];sr=f,pj(f,s)}xj(s)}if(s.subtreeFlags&10256)for(s=s.child;s!==null;)gj(s),s=s.sibling}function gj(s){switch(s.tag){case 0:case 11:case 15:kl(s),s.flags&2048&&Rn(9,s,s.return);break;case 3:kl(s);break;case 12:kl(s);break;case 22:var i=s.stateNode;s.memoizedState!==null&&i._visibility&2&&(s.return===null||s.return.tag!==13)?(i._visibility&=-3,Wd(s)):kl(s);break;default:kl(s)}}function Wd(s){var i=s.deletions;if((s.flags&16)!==0){if(i!==null)for(var c=0;c<i.length;c++){var f=i[c];sr=f,pj(f,s)}xj(s)}for(s=s.child;s!==null;){switch(i=s,i.tag){case 0:case 11:case 15:Rn(8,i,i.return),Wd(i);break;case 22:c=i.stateNode,c._visibility&2&&(c._visibility&=-3,Wd(i));break;default:Wd(i)}s=s.sibling}}function pj(s,i){for(;sr!==null;){var c=sr;switch(c.tag){case 0:case 11:case 15:Rn(8,c,i);break;case 23:case 22:if(c.memoizedState!==null&&c.memoizedState.cachePool!==null){var f=c.memoizedState.cachePool.pool;f!=null&&f.refCount++}break;case 24:il(c.memoizedState.cache)}if(f=c.child,f!==null)f.return=c,sr=f;else e:for(c=s;sr!==null;){f=sr;var b=f.sibling,w=f.return;if(oj(f),f===c){sr=null;break e}if(b!==null){b.return=w,sr=b;break e}sr=w}}}var n3={getCacheForType:function(s){var i=ur(Ft),c=i.data.get(s);return c===void 0&&(c=s(),i.data.set(s,c)),c},cacheSignal:function(){return ur(Ft).controller.signal}},s3=typeof WeakMap=="function"?WeakMap:Map,at=0,kt=null,Ke=null,Ye=0,ut=0,Kr=null,In=!1,Oi=!1,sx=!1,un=0,Rt=0,Bn=0,Os=0,ix=0,Hr=0,Ai=0,Nl=null,$r=null,ox=!1,Zd=0,yj=0,Jd=1/0,eu=null,zn=null,Wt=0,qn=null,$i=null,mn=0,lx=0,cx=null,bj=null,Sl=0,dx=null;function Vr(){return(at&2)!==0&&Ye!==0?Ye&-Ye:L.T!==null?gx():Ly()}function vj(){if(Hr===0)if((Ye&536870912)===0||Xe){var s=Br;Br<<=1,(Br&3932160)===0&&(Br=262144),Hr=s}else Hr=536870912;return s=Fr.current,s!==null&&(s.flags|=32),Hr}function Dr(s,i,c){(s===kt&&(ut===2||ut===9)||s.cancelPendingCommit!==null)&&(Di(s,0),Fn(s,Ye,Hr,!1)),Oa(s,c),((at&2)===0||s!==kt)&&(s===kt&&((at&2)===0&&(Os|=c),Rt===4&&Fn(s,Ye,Hr,!1)),_a(s))}function jj(s,i,c){if((at&6)!==0)throw Error(n(327));var f=!c&&(i&127)===0&&(i&s.expiredLanes)===0||St(s,i),b=f?l3(s,i):mx(s,i,!0),w=f;do{if(b===0){Oi&&!f&&Fn(s,i,0,!1);break}else{if(c=s.current.alternate,w&&!i3(c)){b=mx(s,i,!1),w=!1;continue}if(b===2){if(w=i,s.errorRecoveryDisabledLanes&w)var D=0;else D=s.pendingLanes&-536870913,D=D!==0?D:D&536870912?536870912:0;if(D!==0){i=D;e:{var I=s;b=Nl;var V=I.current.memoizedState.isDehydrated;if(V&&(Di(I,D).flags|=256),D=mx(I,D,!1),D!==2){if(sx&&!V){I.errorRecoveryDisabledLanes|=w,Os|=w,b=4;break e}w=$r,$r=b,w!==null&&($r===null?$r=w:$r.push.apply($r,w))}b=D}if(w=!1,b!==2)continue}}if(b===1){Di(s,0),Fn(s,i,0,!0);break}e:{switch(f=s,w=b,w){case 0:case 1:throw Error(n(345));case 4:if((i&4194048)!==i)break;case 6:Fn(f,i,Hr,!In);break e;case 2:$r=null;break;case 3:case 5:break;default:throw Error(n(329))}if((i&62914560)===i&&(b=Zd+300-ht(),10<b)){if(Fn(f,i,Hr,!In),xt(f,0,!0)!==0)break e;mn=i,f.timeoutHandle=Zj(wj.bind(null,f,c,$r,eu,ox,i,Hr,Os,Ai,In,w,"Throttled",-0,0),b);break e}wj(f,c,$r,eu,ox,i,Hr,Os,Ai,In,w,null,-0,0)}}break}while(!0);_a(s)}function wj(s,i,c,f,b,w,D,I,V,ne,de,xe,ie,oe){if(s.timeoutHandle=-1,xe=i.subtreeFlags,xe&8192||(xe&16785408)===16785408){xe={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:Xa},hj(i,w,xe);var Oe=(w&62914560)===w?Zd-ht():(w&4194048)===w?yj-ht():0;if(Oe=K3(xe,Oe),Oe!==null){mn=w,s.cancelPendingCommit=Oe(Aj.bind(null,s,i,w,c,f,b,D,I,V,de,xe,null,ie,oe)),Fn(s,w,D,!ne);return}}Aj(s,i,w,c,f,b,D,I,V)}function i3(s){for(var i=s;;){var c=i.tag;if((c===0||c===11||c===15)&&i.flags&16384&&(c=i.updateQueue,c!==null&&(c=c.stores,c!==null)))for(var f=0;f<c.length;f++){var b=c[f],w=b.getSnapshot;b=b.value;try{if(!zr(w(),b))return!1}catch{return!1}}if(c=i.child,i.subtreeFlags&16384&&c!==null)c.return=i,i=c;else{if(i===s)break;for(;i.sibling===null;){if(i.return===null||i.return===s)return!0;i=i.return}i.sibling.return=i.return,i=i.sibling}}return!0}function Fn(s,i,c,f){i&=~ix,i&=~Os,s.suspendedLanes|=i,s.pingedLanes&=~i,f&&(s.warmLanes|=i),f=s.expirationTimes;for(var b=i;0<b;){var w=31-Ce(b),D=1<<w;f[w]=-1,b&=~D}c!==0&&Dy(s,c,i)}function tu(){return(at&6)===0?(Cl(0),!1):!0}function ux(){if(Ke!==null){if(ut===0)var s=Ke.return;else s=Ke,en=vs=null,Th(s),wi=null,ll=0,s=Ke;for(;s!==null;)Jv(s.alternate,s),s=s.return;Ke=null}}function Di(s,i){var c=s.timeoutHandle;c!==-1&&(s.timeoutHandle=-1,C3(c)),c=s.cancelPendingCommit,c!==null&&(s.cancelPendingCommit=null,c()),mn=0,ux(),kt=s,Ke=c=Za(s.current,null),Ye=i,ut=0,Kr=null,In=!1,Oi=St(s,i),sx=!1,Ai=Hr=ix=Os=Bn=Rt=0,$r=Nl=null,ox=!1,(i&8)!==0&&(i|=i&32);var f=s.entangledLanes;if(f!==0)for(s=s.entanglements,f&=i;0<f;){var b=31-Ce(f),w=1<<b;i|=s[b],f&=~w}return un=i,wd(),c}function kj(s,i){ze=null,L.H=gl,i===ji||i===Ad?(i=Bb(),ut=3):i===xh?(i=Bb(),ut=4):ut=i===Uh?8:i!==null&&typeof i=="object"&&typeof i.then=="function"?6:1,Kr=i,Ke===null&&(Rt=1,Kd(s,aa(i,s.current)))}function Nj(){var s=Fr.current;return s===null?!0:(Ye&4194048)===Ye?oa===null:(Ye&62914560)===Ye||(Ye&536870912)!==0?s===oa:!1}function Sj(){var s=L.H;return L.H=gl,s===null?gl:s}function Cj(){var s=L.A;return L.A=n3,s}function ru(){Rt=4,In||(Ye&4194048)!==Ye&&Fr.current!==null||(Oi=!0),(Bn&134217727)===0&&(Os&134217727)===0||kt===null||Fn(kt,Ye,Hr,!1)}function mx(s,i,c){var f=at;at|=2;var b=Sj(),w=Cj();(kt!==s||Ye!==i)&&(eu=null,Di(s,i)),i=!1;var D=Rt;e:do try{if(ut!==0&&Ke!==null){var I=Ke,V=Kr;switch(ut){case 8:ux(),D=6;break e;case 3:case 2:case 9:case 6:Fr.current===null&&(i=!0);var ne=ut;if(ut=0,Kr=null,_i(s,I,V,ne),c&&Oi){D=0;break e}break;default:ne=ut,ut=0,Kr=null,_i(s,I,V,ne)}}o3(),D=Rt;break}catch(de){kj(s,de)}while(!0);return i&&s.shellSuspendCounter++,en=vs=null,at=f,L.H=b,L.A=w,Ke===null&&(kt=null,Ye=0,wd()),D}function o3(){for(;Ke!==null;)Tj(Ke)}function l3(s,i){var c=at;at|=2;var f=Sj(),b=Cj();kt!==s||Ye!==i?(eu=null,Jd=ht()+500,Di(s,i)):Oi=St(s,i);e:do try{if(ut!==0&&Ke!==null){i=Ke;var w=Kr;t:switch(ut){case 1:ut=0,Kr=null,_i(s,i,w,1);break;case 2:case 9:if(Rb(w)){ut=0,Kr=null,Ej(i);break}i=function(){ut!==2&&ut!==9||kt!==s||(ut=7),_a(s)},w.then(i,i);break e;case 3:ut=7;break e;case 4:ut=5;break e;case 7:Rb(w)?(ut=0,Kr=null,Ej(i)):(ut=0,Kr=null,_i(s,i,w,7));break;case 5:var D=null;switch(Ke.tag){case 26:D=Ke.memoizedState;case 5:case 27:var I=Ke;if(D?fw(D):I.stateNode.complete){ut=0,Kr=null;var V=I.sibling;if(V!==null)Ke=V;else{var ne=I.return;ne!==null?(Ke=ne,au(ne)):Ke=null}break t}}ut=0,Kr=null,_i(s,i,w,5);break;case 6:ut=0,Kr=null,_i(s,i,w,6);break;case 8:ux(),Rt=6;break e;default:throw Error(n(462))}}c3();break}catch(de){kj(s,de)}while(!0);return en=vs=null,L.H=f,L.A=b,at=c,Ke!==null?0:(kt=null,Ye=0,wd(),Rt)}function c3(){for(;Ke!==null&&!Ot();)Tj(Ke)}function Tj(s){var i=Wv(s.alternate,s,un);s.memoizedProps=s.pendingProps,i===null?au(s):Ke=i}function Ej(s){var i=s,c=i.alternate;switch(i.tag){case 15:case 0:i=Hv(c,i,i.pendingProps,i.type,void 0,Ye);break;case 11:i=Hv(c,i,i.pendingProps,i.type.render,i.ref,Ye);break;case 5:Th(i);default:Jv(c,i),i=Ke=Cb(i,un),i=Wv(c,i,un)}s.memoizedProps=s.pendingProps,i===null?au(s):Ke=i}function _i(s,i,c,f){en=vs=null,Th(i),wi=null,ll=0;var b=i.return;try{if(WE(s,b,i,c,Ye)){Rt=1,Kd(s,aa(c,s.current)),Ke=null;return}}catch(w){if(b!==null)throw Ke=b,w;Rt=1,Kd(s,aa(c,s.current)),Ke=null;return}i.flags&32768?(Xe||f===1?s=!0:Oi||(Ye&536870912)!==0?s=!1:(In=s=!0,(f===2||f===9||f===3||f===6)&&(f=Fr.current,f!==null&&f.tag===13&&(f.flags|=16384))),Oj(i,s)):au(i)}function au(s){var i=s;do{if((i.flags&32768)!==0){Oj(i,In);return}s=i.return;var c=e3(i.alternate,i,un);if(c!==null){Ke=c;return}if(i=i.sibling,i!==null){Ke=i;return}Ke=i=s}while(i!==null);Rt===0&&(Rt=5)}function Oj(s,i){do{var c=t3(s.alternate,s);if(c!==null){c.flags&=32767,Ke=c;return}if(c=s.return,c!==null&&(c.flags|=32768,c.subtreeFlags=0,c.deletions=null),!i&&(s=s.sibling,s!==null)){Ke=s;return}Ke=s=c}while(s!==null);Rt=6,Ke=null}function Aj(s,i,c,f,b,w,D,I,V){s.cancelPendingCommit=null;do nu();while(Wt!==0);if((at&6)!==0)throw Error(n(327));if(i!==null){if(i===s.current)throw Error(n(177));if(w=i.lanes|i.childLanes,w|=eh,FT(s,c,w,D,I,V),s===kt&&(Ke=kt=null,Ye=0),$i=i,qn=s,mn=c,lx=w,cx=b,bj=f,(i.subtreeFlags&10256)!==0||(i.flags&10256)!==0?(s.callbackNode=null,s.callbackPriority=0,f3(Rr,function(){return Lj(),null})):(s.callbackNode=null,s.callbackPriority=0),f=(i.flags&13878)!==0,(i.subtreeFlags&13878)!==0||f){f=L.T,L.T=null,b=F.p,F.p=2,D=at,at|=4;try{r3(s,i,c)}finally{at=D,F.p=b,L.T=f}}Wt=1,$j(),Dj(),_j()}}function $j(){if(Wt===1){Wt=0;var s=qn,i=$i,c=(i.flags&13878)!==0;if((i.subtreeFlags&13878)!==0||c){c=L.T,L.T=null;var f=F.p;F.p=2;var b=at;at|=4;try{uj(i,s);var w=Nx,D=pb(s.containerInfo),I=w.focusedElem,V=w.selectionRange;if(D!==I&&I&&I.ownerDocument&&gb(I.ownerDocument.documentElement,I)){if(V!==null&&Qf(I)){var ne=V.start,de=V.end;if(de===void 0&&(de=ne),"selectionStart"in I)I.selectionStart=ne,I.selectionEnd=Math.min(de,I.value.length);else{var xe=I.ownerDocument||document,ie=xe&&xe.defaultView||window;if(ie.getSelection){var oe=ie.getSelection(),Oe=I.textContent.length,Me=Math.min(V.start,Oe),yt=V.end===void 0?Me:Math.min(V.end,Oe);!oe.extend&&Me>yt&&(D=yt,yt=Me,Me=D);var Z=xb(I,Me),Q=xb(I,yt);if(Z&&Q&&(oe.rangeCount!==1||oe.anchorNode!==Z.node||oe.anchorOffset!==Z.offset||oe.focusNode!==Q.node||oe.focusOffset!==Q.offset)){var ae=xe.createRange();ae.setStart(Z.node,Z.offset),oe.removeAllRanges(),Me>yt?(oe.addRange(ae),oe.extend(Q.node,Q.offset)):(ae.setEnd(Q.node,Q.offset),oe.addRange(ae))}}}}for(xe=[],oe=I;oe=oe.parentNode;)oe.nodeType===1&&xe.push({element:oe,left:oe.scrollLeft,top:oe.scrollTop});for(typeof I.focus=="function"&&I.focus(),I=0;I<xe.length;I++){var fe=xe[I];fe.element.scrollLeft=fe.left,fe.element.scrollTop=fe.top}}gu=!!kx,Nx=kx=null}finally{at=b,F.p=f,L.T=c}}s.current=i,Wt=2}}function Dj(){if(Wt===2){Wt=0;var s=qn,i=$i,c=(i.flags&8772)!==0;if((i.subtreeFlags&8772)!==0||c){c=L.T,L.T=null;var f=F.p;F.p=2;var b=at;at|=4;try{ij(s,i.alternate,i)}finally{at=b,F.p=f,L.T=c}}Wt=3}}function _j(){if(Wt===4||Wt===3){Wt=0,Mt();var s=qn,i=$i,c=mn,f=bj;(i.subtreeFlags&10256)!==0||(i.flags&10256)!==0?Wt=5:(Wt=0,$i=qn=null,Mj(s,s.pendingLanes));var b=s.pendingLanes;if(b===0&&(zn=null),Af(c),i=i.stateNode,X&&typeof X.onCommitFiberRoot=="function")try{X.onCommitFiberRoot(Ir,i,void 0,(i.current.flags&128)===128)}catch{}if(f!==null){i=L.T,b=F.p,F.p=2,L.T=null;try{for(var w=s.onRecoverableError,D=0;D<f.length;D++){var I=f[D];w(I.value,{componentStack:I.stack})}}finally{L.T=i,F.p=b}}(mn&3)!==0&&nu(),_a(s),b=s.pendingLanes,(c&261930)!==0&&(b&42)!==0?s===dx?Sl++:(Sl=0,dx=s):Sl=0,Cl(0)}}function Mj(s,i){(s.pooledCacheLanes&=i)===0&&(i=s.pooledCache,i!=null&&(s.pooledCache=null,il(i)))}function nu(){return $j(),Dj(),_j(),Lj()}function Lj(){if(Wt!==5)return!1;var s=qn,i=lx;lx=0;var c=Af(mn),f=L.T,b=F.p;try{F.p=32>c?32:c,L.T=null,c=cx,cx=null;var w=qn,D=mn;if(Wt=0,$i=qn=null,mn=0,(at&6)!==0)throw Error(n(331));var I=at;if(at|=4,gj(w.current),fj(w,w.current,D,c),at=I,Cl(0,!1),X&&typeof X.onPostCommitFiberRoot=="function")try{X.onPostCommitFiberRoot(Ir,w)}catch{}return!0}finally{F.p=b,L.T=f,Mj(s,i)}}function Pj(s,i,c){i=aa(c,i),i=Fh(s.stateNode,i,2),s=Mn(s,i,2),s!==null&&(Oa(s,2),_a(s))}function mt(s,i,c){if(s.tag===3)Pj(s,s,c);else for(;i!==null;){if(i.tag===3){Pj(i,s,c);break}else if(i.tag===1){var f=i.stateNode;if(typeof i.type.getDerivedStateFromError=="function"||typeof f.componentDidCatch=="function"&&(zn===null||!zn.has(f))){s=aa(c,s),c=Rv(2),f=Mn(i,c,2),f!==null&&(Iv(c,f,i,s),Oa(f,2),_a(f));break}}i=i.return}}function fx(s,i,c){var f=s.pingCache;if(f===null){f=s.pingCache=new s3;var b=new Set;f.set(i,b)}else b=f.get(i),b===void 0&&(b=new Set,f.set(i,b));b.has(c)||(sx=!0,b.add(c),s=d3.bind(null,s,i,c),i.then(s,s))}function d3(s,i,c){var f=s.pingCache;f!==null&&f.delete(i),s.pingedLanes|=s.suspendedLanes&c,s.warmLanes&=~c,kt===s&&(Ye&c)===c&&(Rt===4||Rt===3&&(Ye&62914560)===Ye&&300>ht()-Zd?(at&2)===0&&Di(s,0):ix|=c,Ai===Ye&&(Ai=0)),_a(s)}function Rj(s,i){i===0&&(i=Sn()),s=ps(s,i),s!==null&&(Oa(s,i),_a(s))}function u3(s){var i=s.memoizedState,c=0;i!==null&&(c=i.retryLane),Rj(s,c)}function m3(s,i){var c=0;switch(s.tag){case 31:case 13:var f=s.stateNode,b=s.memoizedState;b!==null&&(c=b.retryLane);break;case 19:f=s.stateNode;break;case 22:f=s.stateNode._retryCache;break;default:throw Error(n(314))}f!==null&&f.delete(i),Rj(s,c)}function f3(s,i){return Ge(s,i)}var su=null,Mi=null,hx=!1,iu=!1,xx=!1,Un=0;function _a(s){s!==Mi&&s.next===null&&(Mi===null?su=Mi=s:Mi=Mi.next=s),iu=!0,hx||(hx=!0,x3())}function Cl(s,i){if(!xx&&iu){xx=!0;do for(var c=!1,f=su;f!==null;){if(s!==0){var b=f.pendingLanes;if(b===0)var w=0;else{var D=f.suspendedLanes,I=f.pingedLanes;w=(1<<31-Ce(42|s)+1)-1,w&=b&~(D&~I),w=w&201326741?w&201326741|1:w?w|2:0}w!==0&&(c=!0,qj(f,w))}else w=Ye,w=xt(f,f===kt?w:0,f.cancelPendingCommit!==null||f.timeoutHandle!==-1),(w&3)===0||St(f,w)||(c=!0,qj(f,w));f=f.next}while(c);xx=!1}}function h3(){Ij()}function Ij(){iu=hx=!1;var s=0;Un!==0&&S3()&&(s=Un);for(var i=ht(),c=null,f=su;f!==null;){var b=f.next,w=Bj(f,i);w===0?(f.next=null,c===null?su=b:c.next=b,b===null&&(Mi=c)):(c=f,(s!==0||(w&3)!==0)&&(iu=!0)),f=b}Wt!==0&&Wt!==5||Cl(s),Un!==0&&(Un=0)}function Bj(s,i){for(var c=s.suspendedLanes,f=s.pingedLanes,b=s.expirationTimes,w=s.pendingLanes&-62914561;0<w;){var D=31-Ce(w),I=1<<D,V=b[D];V===-1?((I&c)===0||(I&f)!==0)&&(b[D]=ar(I,i)):V<=i&&(s.expiredLanes|=I),w&=~I}if(i=kt,c=Ye,c=xt(s,s===i?c:0,s.cancelPendingCommit!==null||s.timeoutHandle!==-1),f=s.callbackNode,c===0||s===i&&(ut===2||ut===9)||s.cancelPendingCommit!==null)return f!==null&&f!==null&&rt(f),s.callbackNode=null,s.callbackPriority=0;if((c&3)===0||St(s,c)){if(i=c&-c,i===s.callbackPriority)return i;switch(f!==null&&rt(f),Af(c)){case 2:case 8:c=Jr;break;case 32:c=Rr;break;case 268435456:c=Qt;break;default:c=Rr}return f=zj.bind(null,s),c=Ge(c,f),s.callbackPriority=i,s.callbackNode=c,i}return f!==null&&f!==null&&rt(f),s.callbackPriority=2,s.callbackNode=null,2}function zj(s,i){if(Wt!==0&&Wt!==5)return s.callbackNode=null,s.callbackPriority=0,null;var c=s.callbackNode;if(nu()&&s.callbackNode!==c)return null;var f=Ye;return f=xt(s,s===kt?f:0,s.cancelPendingCommit!==null||s.timeoutHandle!==-1),f===0?null:(jj(s,f,i),Bj(s,ht()),s.callbackNode!=null&&s.callbackNode===c?zj.bind(null,s):null)}function qj(s,i){if(nu())return null;jj(s,i,!0)}function x3(){T3(function(){(at&6)!==0?Ge(Zr,h3):Ij()})}function gx(){if(Un===0){var s=bi;s===0&&(s=Xt,Xt<<=1,(Xt&261888)===0&&(Xt=256)),Un=s}return Un}function Fj(s){return s==null||typeof s=="symbol"||typeof s=="boolean"?null:typeof s=="function"?s:hd(""+s)}function Uj(s,i){var c=i.ownerDocument.createElement("input");return c.name=i.name,c.value=i.value,s.id&&c.setAttribute("form",s.id),i.parentNode.insertBefore(c,i),s=new FormData(s),c.parentNode.removeChild(c),s}function g3(s,i,c,f,b){if(i==="submit"&&c&&c.stateNode===b){var w=Fj((b[Cr]||null).action),D=f.submitter;D&&(i=(i=D[Cr]||null)?Fj(i.formAction):D.getAttribute("formAction"),i!==null&&(w=i,D=null));var I=new yd("action","action",null,f,b);s.push({event:I,listeners:[{instance:null,listener:function(){if(f.defaultPrevented){if(Un!==0){var V=D?Uj(b,D):new FormData(b);Ph(c,{pending:!0,data:V,method:b.method,action:w},null,V)}}else typeof w=="function"&&(I.preventDefault(),V=D?Uj(b,D):new FormData(b),Ph(c,{pending:!0,data:V,method:b.method,action:w},w,V))},currentTarget:b}]})}}for(var px=0;px<Jf.length;px++){var yx=Jf[px],p3=yx.toLowerCase(),y3=yx[0].toUpperCase()+yx.slice(1);pa(p3,"on"+y3)}pa(vb,"onAnimationEnd"),pa(jb,"onAnimationIteration"),pa(wb,"onAnimationStart"),pa("dblclick","onDoubleClick"),pa("focusin","onFocus"),pa("focusout","onBlur"),pa(ME,"onTransitionRun"),pa(LE,"onTransitionStart"),pa(PE,"onTransitionCancel"),pa(kb,"onTransitionEnd"),si("onMouseEnter",["mouseout","mouseover"]),si("onMouseLeave",["mouseout","mouseover"]),si("onPointerEnter",["pointerout","pointerover"]),si("onPointerLeave",["pointerout","pointerover"]),fs("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),fs("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),fs("onBeforeInput",["compositionend","keypress","textInput","paste"]),fs("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),fs("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),fs("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Tl="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),b3=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(Tl));function Kj(s,i){i=(i&4)!==0;for(var c=0;c<s.length;c++){var f=s[c],b=f.event;f=f.listeners;e:{var w=void 0;if(i)for(var D=f.length-1;0<=D;D--){var I=f[D],V=I.instance,ne=I.currentTarget;if(I=I.listener,V!==w&&b.isPropagationStopped())break e;w=I,b.currentTarget=ne;try{w(b)}catch(de){jd(de)}b.currentTarget=null,w=V}else for(D=0;D<f.length;D++){if(I=f[D],V=I.instance,ne=I.currentTarget,I=I.listener,V!==w&&b.isPropagationStopped())break e;w=I,b.currentTarget=ne;try{w(b)}catch(de){jd(de)}b.currentTarget=null,w=V}}}}function He(s,i){var c=i[$f];c===void 0&&(c=i[$f]=new Set);var f=s+"__bubble";c.has(f)||(Hj(i,s,2,!1),c.add(f))}function bx(s,i,c){var f=0;i&&(f|=4),Hj(c,s,f,i)}var ou="_reactListening"+Math.random().toString(36).slice(2);function vx(s){if(!s[ou]){s[ou]=!0,Iy.forEach(function(c){c!=="selectionchange"&&(b3.has(c)||bx(c,!1,s),bx(c,!0,s))});var i=s.nodeType===9?s:s.ownerDocument;i===null||i[ou]||(i[ou]=!0,bx("selectionchange",!1,i))}}function Hj(s,i,c,f){switch(vw(i)){case 2:var b=G3;break;case 8:b=Y3;break;default:b=Lx}c=b.bind(null,i,c,s),b=void 0,!zf||i!=="touchstart"&&i!=="touchmove"&&i!=="wheel"||(b=!0),f?b!==void 0?s.addEventListener(i,c,{capture:!0,passive:b}):s.addEventListener(i,c,!0):b!==void 0?s.addEventListener(i,c,{passive:b}):s.addEventListener(i,c,!1)}function jx(s,i,c,f,b){var w=f;if((i&1)===0&&(i&2)===0&&f!==null)e:for(;;){if(f===null)return;var D=f.tag;if(D===3||D===4){var I=f.stateNode.containerInfo;if(I===b)break;if(D===4)for(D=f.return;D!==null;){var V=D.tag;if((V===3||V===4)&&D.stateNode.containerInfo===b)return;D=D.return}for(;I!==null;){if(D=ri(I),D===null)return;if(V=D.tag,V===5||V===6||V===26||V===27){f=w=D;continue e}I=I.parentNode}}f=f.return}Xy(function(){var ne=w,de=If(c),xe=[];e:{var ie=Nb.get(s);if(ie!==void 0){var oe=yd,Oe=s;switch(s){case"keypress":if(gd(c)===0)break e;case"keydown":case"keyup":oe=mE;break;case"focusin":Oe="focus",oe=Kf;break;case"focusout":Oe="blur",oe=Kf;break;case"beforeblur":case"afterblur":oe=Kf;break;case"click":if(c.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":oe=Jy;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":oe=eE;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":oe=xE;break;case vb:case jb:case wb:oe=aE;break;case kb:oe=pE;break;case"scroll":case"scrollend":oe=ZT;break;case"wheel":oe=bE;break;case"copy":case"cut":case"paste":oe=sE;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":oe=tb;break;case"toggle":case"beforetoggle":oe=jE}var Me=(i&4)!==0,yt=!Me&&(s==="scroll"||s==="scrollend"),Z=Me?ie!==null?ie+"Capture":null:ie;Me=[];for(var Q=ne,ae;Q!==null;){var fe=Q;if(ae=fe.stateNode,fe=fe.tag,fe!==5&&fe!==26&&fe!==27||ae===null||Z===null||(fe=Qo(Q,Z),fe!=null&&Me.push(El(Q,fe,ae))),yt)break;Q=Q.return}0<Me.length&&(ie=new oe(ie,Oe,null,c,de),xe.push({event:ie,listeners:Me}))}}if((i&7)===0){e:{if(ie=s==="mouseover"||s==="pointerover",oe=s==="mouseout"||s==="pointerout",ie&&c!==Rf&&(Oe=c.relatedTarget||c.fromElement)&&(ri(Oe)||Oe[ti]))break e;if((oe||ie)&&(ie=de.window===de?de:(ie=de.ownerDocument)?ie.defaultView||ie.parentWindow:window,oe?(Oe=c.relatedTarget||c.toElement,oe=ne,Oe=Oe?ri(Oe):null,Oe!==null&&(yt=l(Oe),Me=Oe.tag,Oe!==yt||Me!==5&&Me!==27&&Me!==6)&&(Oe=null)):(oe=null,Oe=ne),oe!==Oe)){if(Me=Jy,fe="onMouseLeave",Z="onMouseEnter",Q="mouse",(s==="pointerout"||s==="pointerover")&&(Me=tb,fe="onPointerLeave",Z="onPointerEnter",Q="pointer"),yt=oe==null?ie:Yo(oe),ae=Oe==null?ie:Yo(Oe),ie=new Me(fe,Q+"leave",oe,c,de),ie.target=yt,ie.relatedTarget=ae,fe=null,ri(de)===ne&&(Me=new Me(Z,Q+"enter",Oe,c,de),Me.target=ae,Me.relatedTarget=yt,fe=Me),yt=fe,oe&&Oe)t:{for(Me=v3,Z=oe,Q=Oe,ae=0,fe=Z;fe;fe=Me(fe))ae++;fe=0;for(var De=Q;De;De=Me(De))fe++;for(;0<ae-fe;)Z=Me(Z),ae--;for(;0<fe-ae;)Q=Me(Q),fe--;for(;ae--;){if(Z===Q||Q!==null&&Z===Q.alternate){Me=Z;break t}Z=Me(Z),Q=Me(Q)}Me=null}else Me=null;oe!==null&&Vj(xe,ie,oe,Me,!1),Oe!==null&&yt!==null&&Vj(xe,yt,Oe,Me,!0)}}e:{if(ie=ne?Yo(ne):window,oe=ie.nodeName&&ie.nodeName.toLowerCase(),oe==="select"||oe==="input"&&ie.type==="file")var et=cb;else if(ob(ie))if(db)et=$E;else{et=OE;var Ae=EE}else oe=ie.nodeName,!oe||oe.toLowerCase()!=="input"||ie.type!=="checkbox"&&ie.type!=="radio"?ne&&Pf(ne.elementType)&&(et=cb):et=AE;if(et&&(et=et(s,ne))){lb(xe,et,c,de);break e}Ae&&Ae(s,ie,ne),s==="focusout"&&ne&&ie.type==="number"&&ne.memoizedProps.value!=null&&Lf(ie,"number",ie.value)}switch(Ae=ne?Yo(ne):window,s){case"focusin":(ob(Ae)||Ae.contentEditable==="true")&&(ui=Ae,Xf=ne,al=null);break;case"focusout":al=Xf=ui=null;break;case"mousedown":Wf=!0;break;case"contextmenu":case"mouseup":case"dragend":Wf=!1,yb(xe,c,de);break;case"selectionchange":if(_E)break;case"keydown":case"keyup":yb(xe,c,de)}var qe;if(Vf)e:{switch(s){case"compositionstart":var Qe="onCompositionStart";break e;case"compositionend":Qe="onCompositionEnd";break e;case"compositionupdate":Qe="onCompositionUpdate";break e}Qe=void 0}else di?sb(s,c)&&(Qe="onCompositionEnd"):s==="keydown"&&c.keyCode===229&&(Qe="onCompositionStart");Qe&&(rb&&c.locale!=="ko"&&(di||Qe!=="onCompositionStart"?Qe==="onCompositionEnd"&&di&&(qe=Wy()):(Tn=de,qf="value"in Tn?Tn.value:Tn.textContent,di=!0)),Ae=lu(ne,Qe),0<Ae.length&&(Qe=new eb(Qe,s,null,c,de),xe.push({event:Qe,listeners:Ae}),qe?Qe.data=qe:(qe=ib(c),qe!==null&&(Qe.data=qe)))),(qe=kE?NE(s,c):SE(s,c))&&(Qe=lu(ne,"onBeforeInput"),0<Qe.length&&(Ae=new eb("onBeforeInput","beforeinput",null,c,de),xe.push({event:Ae,listeners:Qe}),Ae.data=qe)),g3(xe,s,ne,c,de)}Kj(xe,i)})}function El(s,i,c){return{instance:s,listener:i,currentTarget:c}}function lu(s,i){for(var c=i+"Capture",f=[];s!==null;){var b=s,w=b.stateNode;if(b=b.tag,b!==5&&b!==26&&b!==27||w===null||(b=Qo(s,c),b!=null&&f.unshift(El(s,b,w)),b=Qo(s,i),b!=null&&f.push(El(s,b,w))),s.tag===3)return f;s=s.return}return[]}function v3(s){if(s===null)return null;do s=s.return;while(s&&s.tag!==5&&s.tag!==27);return s||null}function Vj(s,i,c,f,b){for(var w=i._reactName,D=[];c!==null&&c!==f;){var I=c,V=I.alternate,ne=I.stateNode;if(I=I.tag,V!==null&&V===f)break;I!==5&&I!==26&&I!==27||ne===null||(V=ne,b?(ne=Qo(c,w),ne!=null&&D.unshift(El(c,ne,V))):b||(ne=Qo(c,w),ne!=null&&D.push(El(c,ne,V)))),c=c.return}D.length!==0&&s.push({event:i,listeners:D})}var j3=/\r\n?/g,w3=/\u0000|\uFFFD/g;function Gj(s){return(typeof s=="string"?s:""+s).replace(j3,`
25
+ `).replace(w3,"")}function Yj(s,i){return i=Gj(i),Gj(s)===i}function pt(s,i,c,f,b,w){switch(c){case"children":typeof f=="string"?i==="body"||i==="textarea"&&f===""||oi(s,f):(typeof f=="number"||typeof f=="bigint")&&i!=="body"&&oi(s,""+f);break;case"className":md(s,"class",f);break;case"tabIndex":md(s,"tabindex",f);break;case"dir":case"role":case"viewBox":case"width":case"height":md(s,c,f);break;case"style":Yy(s,f,w);break;case"data":if(i!=="object"){md(s,"data",f);break}case"src":case"href":if(f===""&&(i!=="a"||c!=="href")){s.removeAttribute(c);break}if(f==null||typeof f=="function"||typeof f=="symbol"||typeof f=="boolean"){s.removeAttribute(c);break}f=hd(""+f),s.setAttribute(c,f);break;case"action":case"formAction":if(typeof f=="function"){s.setAttribute(c,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof w=="function"&&(c==="formAction"?(i!=="input"&&pt(s,i,"name",b.name,b,null),pt(s,i,"formEncType",b.formEncType,b,null),pt(s,i,"formMethod",b.formMethod,b,null),pt(s,i,"formTarget",b.formTarget,b,null)):(pt(s,i,"encType",b.encType,b,null),pt(s,i,"method",b.method,b,null),pt(s,i,"target",b.target,b,null)));if(f==null||typeof f=="symbol"||typeof f=="boolean"){s.removeAttribute(c);break}f=hd(""+f),s.setAttribute(c,f);break;case"onClick":f!=null&&(s.onclick=Xa);break;case"onScroll":f!=null&&He("scroll",s);break;case"onScrollEnd":f!=null&&He("scrollend",s);break;case"dangerouslySetInnerHTML":if(f!=null){if(typeof f!="object"||!("__html"in f))throw Error(n(61));if(c=f.__html,c!=null){if(b.children!=null)throw Error(n(60));s.innerHTML=c}}break;case"multiple":s.multiple=f&&typeof f!="function"&&typeof f!="symbol";break;case"muted":s.muted=f&&typeof f!="function"&&typeof f!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(f==null||typeof f=="function"||typeof f=="boolean"||typeof f=="symbol"){s.removeAttribute("xlink:href");break}c=hd(""+f),s.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",c);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":f!=null&&typeof f!="function"&&typeof f!="symbol"?s.setAttribute(c,""+f):s.removeAttribute(c);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":f&&typeof f!="function"&&typeof f!="symbol"?s.setAttribute(c,""):s.removeAttribute(c);break;case"capture":case"download":f===!0?s.setAttribute(c,""):f!==!1&&f!=null&&typeof f!="function"&&typeof f!="symbol"?s.setAttribute(c,f):s.removeAttribute(c);break;case"cols":case"rows":case"size":case"span":f!=null&&typeof f!="function"&&typeof f!="symbol"&&!isNaN(f)&&1<=f?s.setAttribute(c,f):s.removeAttribute(c);break;case"rowSpan":case"start":f==null||typeof f=="function"||typeof f=="symbol"||isNaN(f)?s.removeAttribute(c):s.setAttribute(c,f);break;case"popover":He("beforetoggle",s),He("toggle",s),ud(s,"popover",f);break;case"xlinkActuate":Qa(s,"http://www.w3.org/1999/xlink","xlink:actuate",f);break;case"xlinkArcrole":Qa(s,"http://www.w3.org/1999/xlink","xlink:arcrole",f);break;case"xlinkRole":Qa(s,"http://www.w3.org/1999/xlink","xlink:role",f);break;case"xlinkShow":Qa(s,"http://www.w3.org/1999/xlink","xlink:show",f);break;case"xlinkTitle":Qa(s,"http://www.w3.org/1999/xlink","xlink:title",f);break;case"xlinkType":Qa(s,"http://www.w3.org/1999/xlink","xlink:type",f);break;case"xmlBase":Qa(s,"http://www.w3.org/XML/1998/namespace","xml:base",f);break;case"xmlLang":Qa(s,"http://www.w3.org/XML/1998/namespace","xml:lang",f);break;case"xmlSpace":Qa(s,"http://www.w3.org/XML/1998/namespace","xml:space",f);break;case"is":ud(s,"is",f);break;case"innerText":case"textContent":break;default:(!(2<c.length)||c[0]!=="o"&&c[0]!=="O"||c[1]!=="n"&&c[1]!=="N")&&(c=XT.get(c)||c,ud(s,c,f))}}function wx(s,i,c,f,b,w){switch(c){case"style":Yy(s,f,w);break;case"dangerouslySetInnerHTML":if(f!=null){if(typeof f!="object"||!("__html"in f))throw Error(n(61));if(c=f.__html,c!=null){if(b.children!=null)throw Error(n(60));s.innerHTML=c}}break;case"children":typeof f=="string"?oi(s,f):(typeof f=="number"||typeof f=="bigint")&&oi(s,""+f);break;case"onScroll":f!=null&&He("scroll",s);break;case"onScrollEnd":f!=null&&He("scrollend",s);break;case"onClick":f!=null&&(s.onclick=Xa);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!By.hasOwnProperty(c))e:{if(c[0]==="o"&&c[1]==="n"&&(b=c.endsWith("Capture"),i=c.slice(2,b?c.length-7:void 0),w=s[Cr]||null,w=w!=null?w[c]:null,typeof w=="function"&&s.removeEventListener(i,w,b),typeof f=="function")){typeof w!="function"&&w!==null&&(c in s?s[c]=null:s.hasAttribute(c)&&s.removeAttribute(c)),s.addEventListener(i,f,b);break e}c in s?s[c]=f:f===!0?s.setAttribute(c,""):ud(s,c,f)}}}function fr(s,i,c){switch(i){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":He("error",s),He("load",s);var f=!1,b=!1,w;for(w in c)if(c.hasOwnProperty(w)){var D=c[w];if(D!=null)switch(w){case"src":f=!0;break;case"srcSet":b=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(n(137,i));default:pt(s,i,w,D,c,null)}}b&&pt(s,i,"srcSet",c.srcSet,c,null),f&&pt(s,i,"src",c.src,c,null);return;case"input":He("invalid",s);var I=w=D=b=null,V=null,ne=null;for(f in c)if(c.hasOwnProperty(f)){var de=c[f];if(de!=null)switch(f){case"name":b=de;break;case"type":D=de;break;case"checked":V=de;break;case"defaultChecked":ne=de;break;case"value":w=de;break;case"defaultValue":I=de;break;case"children":case"dangerouslySetInnerHTML":if(de!=null)throw Error(n(137,i));break;default:pt(s,i,f,de,c,null)}}Ky(s,w,I,V,ne,D,b,!1);return;case"select":He("invalid",s),f=D=w=null;for(b in c)if(c.hasOwnProperty(b)&&(I=c[b],I!=null))switch(b){case"value":w=I;break;case"defaultValue":D=I;break;case"multiple":f=I;default:pt(s,i,b,I,c,null)}i=w,c=D,s.multiple=!!f,i!=null?ii(s,!!f,i,!1):c!=null&&ii(s,!!f,c,!0);return;case"textarea":He("invalid",s),w=b=f=null;for(D in c)if(c.hasOwnProperty(D)&&(I=c[D],I!=null))switch(D){case"value":f=I;break;case"defaultValue":b=I;break;case"children":w=I;break;case"dangerouslySetInnerHTML":if(I!=null)throw Error(n(91));break;default:pt(s,i,D,I,c,null)}Vy(s,f,b,w);return;case"option":for(V in c)if(c.hasOwnProperty(V)&&(f=c[V],f!=null))switch(V){case"selected":s.selected=f&&typeof f!="function"&&typeof f!="symbol";break;default:pt(s,i,V,f,c,null)}return;case"dialog":He("beforetoggle",s),He("toggle",s),He("cancel",s),He("close",s);break;case"iframe":case"object":He("load",s);break;case"video":case"audio":for(f=0;f<Tl.length;f++)He(Tl[f],s);break;case"image":He("error",s),He("load",s);break;case"details":He("toggle",s);break;case"embed":case"source":case"link":He("error",s),He("load",s);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(ne in c)if(c.hasOwnProperty(ne)&&(f=c[ne],f!=null))switch(ne){case"children":case"dangerouslySetInnerHTML":throw Error(n(137,i));default:pt(s,i,ne,f,c,null)}return;default:if(Pf(i)){for(de in c)c.hasOwnProperty(de)&&(f=c[de],f!==void 0&&wx(s,i,de,f,c,void 0));return}}for(I in c)c.hasOwnProperty(I)&&(f=c[I],f!=null&&pt(s,i,I,f,c,null))}function k3(s,i,c,f){switch(i){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var b=null,w=null,D=null,I=null,V=null,ne=null,de=null;for(oe in c){var xe=c[oe];if(c.hasOwnProperty(oe)&&xe!=null)switch(oe){case"checked":break;case"value":break;case"defaultValue":V=xe;default:f.hasOwnProperty(oe)||pt(s,i,oe,null,f,xe)}}for(var ie in f){var oe=f[ie];if(xe=c[ie],f.hasOwnProperty(ie)&&(oe!=null||xe!=null))switch(ie){case"type":w=oe;break;case"name":b=oe;break;case"checked":ne=oe;break;case"defaultChecked":de=oe;break;case"value":D=oe;break;case"defaultValue":I=oe;break;case"children":case"dangerouslySetInnerHTML":if(oe!=null)throw Error(n(137,i));break;default:oe!==xe&&pt(s,i,ie,oe,f,xe)}}Mf(s,D,I,V,ne,de,w,b);return;case"select":oe=D=I=ie=null;for(w in c)if(V=c[w],c.hasOwnProperty(w)&&V!=null)switch(w){case"value":break;case"multiple":oe=V;default:f.hasOwnProperty(w)||pt(s,i,w,null,f,V)}for(b in f)if(w=f[b],V=c[b],f.hasOwnProperty(b)&&(w!=null||V!=null))switch(b){case"value":ie=w;break;case"defaultValue":I=w;break;case"multiple":D=w;default:w!==V&&pt(s,i,b,w,f,V)}i=I,c=D,f=oe,ie!=null?ii(s,!!c,ie,!1):!!f!=!!c&&(i!=null?ii(s,!!c,i,!0):ii(s,!!c,c?[]:"",!1));return;case"textarea":oe=ie=null;for(I in c)if(b=c[I],c.hasOwnProperty(I)&&b!=null&&!f.hasOwnProperty(I))switch(I){case"value":break;case"children":break;default:pt(s,i,I,null,f,b)}for(D in f)if(b=f[D],w=c[D],f.hasOwnProperty(D)&&(b!=null||w!=null))switch(D){case"value":ie=b;break;case"defaultValue":oe=b;break;case"children":break;case"dangerouslySetInnerHTML":if(b!=null)throw Error(n(91));break;default:b!==w&&pt(s,i,D,b,f,w)}Hy(s,ie,oe);return;case"option":for(var Oe in c)if(ie=c[Oe],c.hasOwnProperty(Oe)&&ie!=null&&!f.hasOwnProperty(Oe))switch(Oe){case"selected":s.selected=!1;break;default:pt(s,i,Oe,null,f,ie)}for(V in f)if(ie=f[V],oe=c[V],f.hasOwnProperty(V)&&ie!==oe&&(ie!=null||oe!=null))switch(V){case"selected":s.selected=ie&&typeof ie!="function"&&typeof ie!="symbol";break;default:pt(s,i,V,ie,f,oe)}return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var Me in c)ie=c[Me],c.hasOwnProperty(Me)&&ie!=null&&!f.hasOwnProperty(Me)&&pt(s,i,Me,null,f,ie);for(ne in f)if(ie=f[ne],oe=c[ne],f.hasOwnProperty(ne)&&ie!==oe&&(ie!=null||oe!=null))switch(ne){case"children":case"dangerouslySetInnerHTML":if(ie!=null)throw Error(n(137,i));break;default:pt(s,i,ne,ie,f,oe)}return;default:if(Pf(i)){for(var yt in c)ie=c[yt],c.hasOwnProperty(yt)&&ie!==void 0&&!f.hasOwnProperty(yt)&&wx(s,i,yt,void 0,f,ie);for(de in f)ie=f[de],oe=c[de],!f.hasOwnProperty(de)||ie===oe||ie===void 0&&oe===void 0||wx(s,i,de,ie,f,oe);return}}for(var Z in c)ie=c[Z],c.hasOwnProperty(Z)&&ie!=null&&!f.hasOwnProperty(Z)&&pt(s,i,Z,null,f,ie);for(xe in f)ie=f[xe],oe=c[xe],!f.hasOwnProperty(xe)||ie===oe||ie==null&&oe==null||pt(s,i,xe,ie,f,oe)}function Qj(s){switch(s){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function N3(){if(typeof performance.getEntriesByType=="function"){for(var s=0,i=0,c=performance.getEntriesByType("resource"),f=0;f<c.length;f++){var b=c[f],w=b.transferSize,D=b.initiatorType,I=b.duration;if(w&&I&&Qj(D)){for(D=0,I=b.responseEnd,f+=1;f<c.length;f++){var V=c[f],ne=V.startTime;if(ne>I)break;var de=V.transferSize,xe=V.initiatorType;de&&Qj(xe)&&(V=V.responseEnd,D+=de*(V<I?1:(I-ne)/(V-ne)))}if(--f,i+=8*(w+D)/(b.duration/1e3),s++,10<s)break}}if(0<s)return i/s/1e6}return navigator.connection&&(s=navigator.connection.downlink,typeof s=="number")?s:5}var kx=null,Nx=null;function cu(s){return s.nodeType===9?s:s.ownerDocument}function Xj(s){switch(s){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function Wj(s,i){if(s===0)switch(i){case"svg":return 1;case"math":return 2;default:return 0}return s===1&&i==="foreignObject"?0:s}function Sx(s,i){return s==="textarea"||s==="noscript"||typeof i.children=="string"||typeof i.children=="number"||typeof i.children=="bigint"||typeof i.dangerouslySetInnerHTML=="object"&&i.dangerouslySetInnerHTML!==null&&i.dangerouslySetInnerHTML.__html!=null}var Cx=null;function S3(){var s=window.event;return s&&s.type==="popstate"?s===Cx?!1:(Cx=s,!0):(Cx=null,!1)}var Zj=typeof setTimeout=="function"?setTimeout:void 0,C3=typeof clearTimeout=="function"?clearTimeout:void 0,Jj=typeof Promise=="function"?Promise:void 0,T3=typeof queueMicrotask=="function"?queueMicrotask:typeof Jj<"u"?function(s){return Jj.resolve(null).then(s).catch(E3)}:Zj;function E3(s){setTimeout(function(){throw s})}function Kn(s){return s==="head"}function ew(s,i){var c=i,f=0;do{var b=c.nextSibling;if(s.removeChild(c),b&&b.nodeType===8)if(c=b.data,c==="/$"||c==="/&"){if(f===0){s.removeChild(b),Ii(i);return}f--}else if(c==="$"||c==="$?"||c==="$~"||c==="$!"||c==="&")f++;else if(c==="html")Ol(s.ownerDocument.documentElement);else if(c==="head"){c=s.ownerDocument.head,Ol(c);for(var w=c.firstChild;w;){var D=w.nextSibling,I=w.nodeName;w[Go]||I==="SCRIPT"||I==="STYLE"||I==="LINK"&&w.rel.toLowerCase()==="stylesheet"||c.removeChild(w),w=D}}else c==="body"&&Ol(s.ownerDocument.body);c=b}while(c);Ii(i)}function tw(s,i){var c=s;s=0;do{var f=c.nextSibling;if(c.nodeType===1?i?(c._stashedDisplay=c.style.display,c.style.display="none"):(c.style.display=c._stashedDisplay||"",c.getAttribute("style")===""&&c.removeAttribute("style")):c.nodeType===3&&(i?(c._stashedText=c.nodeValue,c.nodeValue=""):c.nodeValue=c._stashedText||""),f&&f.nodeType===8)if(c=f.data,c==="/$"){if(s===0)break;s--}else c!=="$"&&c!=="$?"&&c!=="$~"&&c!=="$!"||s++;c=f}while(c)}function Tx(s){var i=s.firstChild;for(i&&i.nodeType===10&&(i=i.nextSibling);i;){var c=i;switch(i=i.nextSibling,c.nodeName){case"HTML":case"HEAD":case"BODY":Tx(c),Df(c);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(c.rel.toLowerCase()==="stylesheet")continue}s.removeChild(c)}}function O3(s,i,c,f){for(;s.nodeType===1;){var b=c;if(s.nodeName.toLowerCase()!==i.toLowerCase()){if(!f&&(s.nodeName!=="INPUT"||s.type!=="hidden"))break}else if(f){if(!s[Go])switch(i){case"meta":if(!s.hasAttribute("itemprop"))break;return s;case"link":if(w=s.getAttribute("rel"),w==="stylesheet"&&s.hasAttribute("data-precedence"))break;if(w!==b.rel||s.getAttribute("href")!==(b.href==null||b.href===""?null:b.href)||s.getAttribute("crossorigin")!==(b.crossOrigin==null?null:b.crossOrigin)||s.getAttribute("title")!==(b.title==null?null:b.title))break;return s;case"style":if(s.hasAttribute("data-precedence"))break;return s;case"script":if(w=s.getAttribute("src"),(w!==(b.src==null?null:b.src)||s.getAttribute("type")!==(b.type==null?null:b.type)||s.getAttribute("crossorigin")!==(b.crossOrigin==null?null:b.crossOrigin))&&w&&s.hasAttribute("async")&&!s.hasAttribute("itemprop"))break;return s;default:return s}}else if(i==="input"&&s.type==="hidden"){var w=b.name==null?null:""+b.name;if(b.type==="hidden"&&s.getAttribute("name")===w)return s}else return s;if(s=la(s.nextSibling),s===null)break}return null}function A3(s,i,c){if(i==="")return null;for(;s.nodeType!==3;)if((s.nodeType!==1||s.nodeName!=="INPUT"||s.type!=="hidden")&&!c||(s=la(s.nextSibling),s===null))return null;return s}function rw(s,i){for(;s.nodeType!==8;)if((s.nodeType!==1||s.nodeName!=="INPUT"||s.type!=="hidden")&&!i||(s=la(s.nextSibling),s===null))return null;return s}function Ex(s){return s.data==="$?"||s.data==="$~"}function Ox(s){return s.data==="$!"||s.data==="$?"&&s.ownerDocument.readyState!=="loading"}function $3(s,i){var c=s.ownerDocument;if(s.data==="$~")s._reactRetry=i;else if(s.data!=="$?"||c.readyState!=="loading")i();else{var f=function(){i(),c.removeEventListener("DOMContentLoaded",f)};c.addEventListener("DOMContentLoaded",f),s._reactRetry=f}}function la(s){for(;s!=null;s=s.nextSibling){var i=s.nodeType;if(i===1||i===3)break;if(i===8){if(i=s.data,i==="$"||i==="$!"||i==="$?"||i==="$~"||i==="&"||i==="F!"||i==="F")break;if(i==="/$"||i==="/&")return null}}return s}var Ax=null;function aw(s){s=s.nextSibling;for(var i=0;s;){if(s.nodeType===8){var c=s.data;if(c==="/$"||c==="/&"){if(i===0)return la(s.nextSibling);i--}else c!=="$"&&c!=="$!"&&c!=="$?"&&c!=="$~"&&c!=="&"||i++}s=s.nextSibling}return null}function nw(s){s=s.previousSibling;for(var i=0;s;){if(s.nodeType===8){var c=s.data;if(c==="$"||c==="$!"||c==="$?"||c==="$~"||c==="&"){if(i===0)return s;i--}else c!=="/$"&&c!=="/&"||i++}s=s.previousSibling}return null}function sw(s,i,c){switch(i=cu(c),s){case"html":if(s=i.documentElement,!s)throw Error(n(452));return s;case"head":if(s=i.head,!s)throw Error(n(453));return s;case"body":if(s=i.body,!s)throw Error(n(454));return s;default:throw Error(n(451))}}function Ol(s){for(var i=s.attributes;i.length;)s.removeAttributeNode(i[0]);Df(s)}var ca=new Map,iw=new Set;function du(s){return typeof s.getRootNode=="function"?s.getRootNode():s.nodeType===9?s:s.ownerDocument}var fn=F.d;F.d={f:D3,r:_3,D:M3,C:L3,L:P3,m:R3,X:B3,S:I3,M:z3};function D3(){var s=fn.f(),i=tu();return s||i}function _3(s){var i=ai(s);i!==null&&i.tag===5&&i.type==="form"?kv(i):fn.r(s)}var Li=typeof document>"u"?null:document;function ow(s,i,c){var f=Li;if(f&&typeof i=="string"&&i){var b=ta(i);b='link[rel="'+s+'"][href="'+b+'"]',typeof c=="string"&&(b+='[crossorigin="'+c+'"]'),iw.has(b)||(iw.add(b),s={rel:s,crossOrigin:c,href:i},f.querySelector(b)===null&&(i=f.createElement("link"),fr(i,"link",s),nr(i),f.head.appendChild(i)))}}function M3(s){fn.D(s),ow("dns-prefetch",s,null)}function L3(s,i){fn.C(s,i),ow("preconnect",s,i)}function P3(s,i,c){fn.L(s,i,c);var f=Li;if(f&&s&&i){var b='link[rel="preload"][as="'+ta(i)+'"]';i==="image"&&c&&c.imageSrcSet?(b+='[imagesrcset="'+ta(c.imageSrcSet)+'"]',typeof c.imageSizes=="string"&&(b+='[imagesizes="'+ta(c.imageSizes)+'"]')):b+='[href="'+ta(s)+'"]';var w=b;switch(i){case"style":w=Pi(s);break;case"script":w=Ri(s)}ca.has(w)||(s=g({rel:"preload",href:i==="image"&&c&&c.imageSrcSet?void 0:s,as:i},c),ca.set(w,s),f.querySelector(b)!==null||i==="style"&&f.querySelector(Al(w))||i==="script"&&f.querySelector($l(w))||(i=f.createElement("link"),fr(i,"link",s),nr(i),f.head.appendChild(i)))}}function R3(s,i){fn.m(s,i);var c=Li;if(c&&s){var f=i&&typeof i.as=="string"?i.as:"script",b='link[rel="modulepreload"][as="'+ta(f)+'"][href="'+ta(s)+'"]',w=b;switch(f){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":w=Ri(s)}if(!ca.has(w)&&(s=g({rel:"modulepreload",href:s},i),ca.set(w,s),c.querySelector(b)===null)){switch(f){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(c.querySelector($l(w)))return}f=c.createElement("link"),fr(f,"link",s),nr(f),c.head.appendChild(f)}}}function I3(s,i,c){fn.S(s,i,c);var f=Li;if(f&&s){var b=ni(f).hoistableStyles,w=Pi(s);i=i||"default";var D=b.get(w);if(!D){var I={loading:0,preload:null};if(D=f.querySelector(Al(w)))I.loading=5;else{s=g({rel:"stylesheet",href:s,"data-precedence":i},c),(c=ca.get(w))&&$x(s,c);var V=D=f.createElement("link");nr(V),fr(V,"link",s),V._p=new Promise(function(ne,de){V.onload=ne,V.onerror=de}),V.addEventListener("load",function(){I.loading|=1}),V.addEventListener("error",function(){I.loading|=2}),I.loading|=4,uu(D,i,f)}D={type:"stylesheet",instance:D,count:1,state:I},b.set(w,D)}}}function B3(s,i){fn.X(s,i);var c=Li;if(c&&s){var f=ni(c).hoistableScripts,b=Ri(s),w=f.get(b);w||(w=c.querySelector($l(b)),w||(s=g({src:s,async:!0},i),(i=ca.get(b))&&Dx(s,i),w=c.createElement("script"),nr(w),fr(w,"link",s),c.head.appendChild(w)),w={type:"script",instance:w,count:1,state:null},f.set(b,w))}}function z3(s,i){fn.M(s,i);var c=Li;if(c&&s){var f=ni(c).hoistableScripts,b=Ri(s),w=f.get(b);w||(w=c.querySelector($l(b)),w||(s=g({src:s,async:!0,type:"module"},i),(i=ca.get(b))&&Dx(s,i),w=c.createElement("script"),nr(w),fr(w,"link",s),c.head.appendChild(w)),w={type:"script",instance:w,count:1,state:null},f.set(b,w))}}function lw(s,i,c,f){var b=(b=ye.current)?du(b):null;if(!b)throw Error(n(446));switch(s){case"meta":case"title":return null;case"style":return typeof c.precedence=="string"&&typeof c.href=="string"?(i=Pi(c.href),c=ni(b).hoistableStyles,f=c.get(i),f||(f={type:"style",instance:null,count:0,state:null},c.set(i,f)),f):{type:"void",instance:null,count:0,state:null};case"link":if(c.rel==="stylesheet"&&typeof c.href=="string"&&typeof c.precedence=="string"){s=Pi(c.href);var w=ni(b).hoistableStyles,D=w.get(s);if(D||(b=b.ownerDocument||b,D={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},w.set(s,D),(w=b.querySelector(Al(s)))&&!w._p&&(D.instance=w,D.state.loading=5),ca.has(s)||(c={rel:"preload",as:"style",href:c.href,crossOrigin:c.crossOrigin,integrity:c.integrity,media:c.media,hrefLang:c.hrefLang,referrerPolicy:c.referrerPolicy},ca.set(s,c),w||q3(b,s,c,D.state))),i&&f===null)throw Error(n(528,""));return D}if(i&&f!==null)throw Error(n(529,""));return null;case"script":return i=c.async,c=c.src,typeof c=="string"&&i&&typeof i!="function"&&typeof i!="symbol"?(i=Ri(c),c=ni(b).hoistableScripts,f=c.get(i),f||(f={type:"script",instance:null,count:0,state:null},c.set(i,f)),f):{type:"void",instance:null,count:0,state:null};default:throw Error(n(444,s))}}function Pi(s){return'href="'+ta(s)+'"'}function Al(s){return'link[rel="stylesheet"]['+s+"]"}function cw(s){return g({},s,{"data-precedence":s.precedence,precedence:null})}function q3(s,i,c,f){s.querySelector('link[rel="preload"][as="style"]['+i+"]")?f.loading=1:(i=s.createElement("link"),f.preload=i,i.addEventListener("load",function(){return f.loading|=1}),i.addEventListener("error",function(){return f.loading|=2}),fr(i,"link",c),nr(i),s.head.appendChild(i))}function Ri(s){return'[src="'+ta(s)+'"]'}function $l(s){return"script[async]"+s}function dw(s,i,c){if(i.count++,i.instance===null)switch(i.type){case"style":var f=s.querySelector('style[data-href~="'+ta(c.href)+'"]');if(f)return i.instance=f,nr(f),f;var b=g({},c,{"data-href":c.href,"data-precedence":c.precedence,href:null,precedence:null});return f=(s.ownerDocument||s).createElement("style"),nr(f),fr(f,"style",b),uu(f,c.precedence,s),i.instance=f;case"stylesheet":b=Pi(c.href);var w=s.querySelector(Al(b));if(w)return i.state.loading|=4,i.instance=w,nr(w),w;f=cw(c),(b=ca.get(b))&&$x(f,b),w=(s.ownerDocument||s).createElement("link"),nr(w);var D=w;return D._p=new Promise(function(I,V){D.onload=I,D.onerror=V}),fr(w,"link",f),i.state.loading|=4,uu(w,c.precedence,s),i.instance=w;case"script":return w=Ri(c.src),(b=s.querySelector($l(w)))?(i.instance=b,nr(b),b):(f=c,(b=ca.get(w))&&(f=g({},c),Dx(f,b)),s=s.ownerDocument||s,b=s.createElement("script"),nr(b),fr(b,"link",f),s.head.appendChild(b),i.instance=b);case"void":return null;default:throw Error(n(443,i.type))}else i.type==="stylesheet"&&(i.state.loading&4)===0&&(f=i.instance,i.state.loading|=4,uu(f,c.precedence,s));return i.instance}function uu(s,i,c){for(var f=c.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),b=f.length?f[f.length-1]:null,w=b,D=0;D<f.length;D++){var I=f[D];if(I.dataset.precedence===i)w=I;else if(w!==b)break}w?w.parentNode.insertBefore(s,w.nextSibling):(i=c.nodeType===9?c.head:c,i.insertBefore(s,i.firstChild))}function $x(s,i){s.crossOrigin==null&&(s.crossOrigin=i.crossOrigin),s.referrerPolicy==null&&(s.referrerPolicy=i.referrerPolicy),s.title==null&&(s.title=i.title)}function Dx(s,i){s.crossOrigin==null&&(s.crossOrigin=i.crossOrigin),s.referrerPolicy==null&&(s.referrerPolicy=i.referrerPolicy),s.integrity==null&&(s.integrity=i.integrity)}var mu=null;function uw(s,i,c){if(mu===null){var f=new Map,b=mu=new Map;b.set(c,f)}else b=mu,f=b.get(c),f||(f=new Map,b.set(c,f));if(f.has(s))return f;for(f.set(s,null),c=c.getElementsByTagName(s),b=0;b<c.length;b++){var w=c[b];if(!(w[Go]||w[cr]||s==="link"&&w.getAttribute("rel")==="stylesheet")&&w.namespaceURI!=="http://www.w3.org/2000/svg"){var D=w.getAttribute(i)||"";D=s+D;var I=f.get(D);I?I.push(w):f.set(D,[w])}}return f}function mw(s,i,c){s=s.ownerDocument||s,s.head.insertBefore(c,i==="title"?s.querySelector("head > title"):null)}function F3(s,i,c){if(c===1||i.itemProp!=null)return!1;switch(s){case"meta":case"title":return!0;case"style":if(typeof i.precedence!="string"||typeof i.href!="string"||i.href==="")break;return!0;case"link":if(typeof i.rel!="string"||typeof i.href!="string"||i.href===""||i.onLoad||i.onError)break;switch(i.rel){case"stylesheet":return s=i.disabled,typeof i.precedence=="string"&&s==null;default:return!0}case"script":if(i.async&&typeof i.async!="function"&&typeof i.async!="symbol"&&!i.onLoad&&!i.onError&&i.src&&typeof i.src=="string")return!0}return!1}function fw(s){return!(s.type==="stylesheet"&&(s.state.loading&3)===0)}function U3(s,i,c,f){if(c.type==="stylesheet"&&(typeof f.media!="string"||matchMedia(f.media).matches!==!1)&&(c.state.loading&4)===0){if(c.instance===null){var b=Pi(f.href),w=i.querySelector(Al(b));if(w){i=w._p,i!==null&&typeof i=="object"&&typeof i.then=="function"&&(s.count++,s=fu.bind(s),i.then(s,s)),c.state.loading|=4,c.instance=w,nr(w);return}w=i.ownerDocument||i,f=cw(f),(b=ca.get(b))&&$x(f,b),w=w.createElement("link"),nr(w);var D=w;D._p=new Promise(function(I,V){D.onload=I,D.onerror=V}),fr(w,"link",f),c.instance=w}s.stylesheets===null&&(s.stylesheets=new Map),s.stylesheets.set(c,i),(i=c.state.preload)&&(c.state.loading&3)===0&&(s.count++,c=fu.bind(s),i.addEventListener("load",c),i.addEventListener("error",c))}}var _x=0;function K3(s,i){return s.stylesheets&&s.count===0&&xu(s,s.stylesheets),0<s.count||0<s.imgCount?function(c){var f=setTimeout(function(){if(s.stylesheets&&xu(s,s.stylesheets),s.unsuspend){var w=s.unsuspend;s.unsuspend=null,w()}},6e4+i);0<s.imgBytes&&_x===0&&(_x=62500*N3());var b=setTimeout(function(){if(s.waitingForImages=!1,s.count===0&&(s.stylesheets&&xu(s,s.stylesheets),s.unsuspend)){var w=s.unsuspend;s.unsuspend=null,w()}},(s.imgBytes>_x?50:800)+i);return s.unsuspend=c,function(){s.unsuspend=null,clearTimeout(f),clearTimeout(b)}}:null}function fu(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)xu(this,this.stylesheets);else if(this.unsuspend){var s=this.unsuspend;this.unsuspend=null,s()}}}var hu=null;function xu(s,i){s.stylesheets=null,s.unsuspend!==null&&(s.count++,hu=new Map,i.forEach(H3,s),hu=null,fu.call(s))}function H3(s,i){if(!(i.state.loading&4)){var c=hu.get(s);if(c)var f=c.get(null);else{c=new Map,hu.set(s,c);for(var b=s.querySelectorAll("link[data-precedence],style[data-precedence]"),w=0;w<b.length;w++){var D=b[w];(D.nodeName==="LINK"||D.getAttribute("media")!=="not all")&&(c.set(D.dataset.precedence,D),f=D)}f&&c.set(null,f)}b=i.instance,D=b.getAttribute("data-precedence"),w=c.get(D)||f,w===f&&c.set(null,b),c.set(D,b),this.count++,f=fu.bind(this),b.addEventListener("load",f),b.addEventListener("error",f),w?w.parentNode.insertBefore(b,w.nextSibling):(s=s.nodeType===9?s.head:s,s.insertBefore(b,s.firstChild)),i.state.loading|=4}}var Dl={$$typeof:O,Provider:null,Consumer:null,_currentValue:B,_currentValue2:B,_threadCount:0};function V3(s,i,c,f,b,w,D,I,V){this.tag=1,this.containerInfo=s,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=ms(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=ms(0),this.hiddenUpdates=ms(null),this.identifierPrefix=f,this.onUncaughtError=b,this.onCaughtError=w,this.onRecoverableError=D,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=V,this.incompleteTransitions=new Map}function hw(s,i,c,f,b,w,D,I,V,ne,de,xe){return s=new V3(s,i,c,D,V,ne,de,xe,I),i=1,w===!0&&(i|=24),w=qr(3,null,null,i),s.current=w,w.stateNode=s,i=mh(),i.refCount++,s.pooledCache=i,i.refCount++,w.memoizedState={element:f,isDehydrated:c,cache:i},gh(w),s}function xw(s){return s?(s=hi,s):hi}function gw(s,i,c,f,b,w){b=xw(b),f.context===null?f.context=b:f.pendingContext=b,f=_n(i),f.payload={element:c},w=w===void 0?null:w,w!==null&&(f.callback=w),c=Mn(s,f,i),c!==null&&(Dr(c,s,i),dl(c,s,i))}function pw(s,i){if(s=s.memoizedState,s!==null&&s.dehydrated!==null){var c=s.retryLane;s.retryLane=c!==0&&c<i?c:i}}function Mx(s,i){pw(s,i),(s=s.alternate)&&pw(s,i)}function yw(s){if(s.tag===13||s.tag===31){var i=ps(s,67108864);i!==null&&Dr(i,s,67108864),Mx(s,67108864)}}function bw(s){if(s.tag===13||s.tag===31){var i=Vr();i=Of(i);var c=ps(s,i);c!==null&&Dr(c,s,i),Mx(s,i)}}var gu=!0;function G3(s,i,c,f){var b=L.T;L.T=null;var w=F.p;try{F.p=2,Lx(s,i,c,f)}finally{F.p=w,L.T=b}}function Y3(s,i,c,f){var b=L.T;L.T=null;var w=F.p;try{F.p=8,Lx(s,i,c,f)}finally{F.p=w,L.T=b}}function Lx(s,i,c,f){if(gu){var b=Px(f);if(b===null)jx(s,i,f,pu,c),jw(s,f);else if(X3(b,s,i,c,f))f.stopPropagation();else if(jw(s,f),i&4&&-1<Q3.indexOf(s)){for(;b!==null;){var w=ai(b);if(w!==null)switch(w.tag){case 3:if(w=w.stateNode,w.current.memoizedState.isDehydrated){var D=Te(w.pendingLanes);if(D!==0){var I=w;for(I.pendingLanes|=2,I.entangledLanes|=2;D;){var V=1<<31-Ce(D);I.entanglements[1]|=V,D&=~V}_a(w),(at&6)===0&&(Jd=ht()+500,Cl(0))}}break;case 31:case 13:I=ps(w,2),I!==null&&Dr(I,w,2),tu(),Mx(w,2)}if(w=Px(f),w===null&&jx(s,i,f,pu,c),w===b)break;b=w}b!==null&&f.stopPropagation()}else jx(s,i,f,null,c)}}function Px(s){return s=If(s),Rx(s)}var pu=null;function Rx(s){if(pu=null,s=ri(s),s!==null){var i=l(s);if(i===null)s=null;else{var c=i.tag;if(c===13){if(s=d(i),s!==null)return s;s=null}else if(c===31){if(s=u(i),s!==null)return s;s=null}else if(c===3){if(i.stateNode.current.memoizedState.isDehydrated)return i.tag===3?i.stateNode.containerInfo:null;s=null}else i!==s&&(s=null)}}return pu=s,null}function vw(s){switch(s){case"beforetoggle":case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"toggle":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 2;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(Yt()){case Zr:return 2;case Jr:return 8;case Rr:case cs:return 32;case Qt:return 268435456;default:return 32}default:return 32}}var Ix=!1,Hn=null,Vn=null,Gn=null,_l=new Map,Ml=new Map,Yn=[],Q3="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset".split(" ");function jw(s,i){switch(s){case"focusin":case"focusout":Hn=null;break;case"dragenter":case"dragleave":Vn=null;break;case"mouseover":case"mouseout":Gn=null;break;case"pointerover":case"pointerout":_l.delete(i.pointerId);break;case"gotpointercapture":case"lostpointercapture":Ml.delete(i.pointerId)}}function Ll(s,i,c,f,b,w){return s===null||s.nativeEvent!==w?(s={blockedOn:i,domEventName:c,eventSystemFlags:f,nativeEvent:w,targetContainers:[b]},i!==null&&(i=ai(i),i!==null&&yw(i)),s):(s.eventSystemFlags|=f,i=s.targetContainers,b!==null&&i.indexOf(b)===-1&&i.push(b),s)}function X3(s,i,c,f,b){switch(i){case"focusin":return Hn=Ll(Hn,s,i,c,f,b),!0;case"dragenter":return Vn=Ll(Vn,s,i,c,f,b),!0;case"mouseover":return Gn=Ll(Gn,s,i,c,f,b),!0;case"pointerover":var w=b.pointerId;return _l.set(w,Ll(_l.get(w)||null,s,i,c,f,b)),!0;case"gotpointercapture":return w=b.pointerId,Ml.set(w,Ll(Ml.get(w)||null,s,i,c,f,b)),!0}return!1}function ww(s){var i=ri(s.target);if(i!==null){var c=l(i);if(c!==null){if(i=c.tag,i===13){if(i=d(c),i!==null){s.blockedOn=i,Py(s.priority,function(){bw(c)});return}}else if(i===31){if(i=u(c),i!==null){s.blockedOn=i,Py(s.priority,function(){bw(c)});return}}else if(i===3&&c.stateNode.current.memoizedState.isDehydrated){s.blockedOn=c.tag===3?c.stateNode.containerInfo:null;return}}}s.blockedOn=null}function yu(s){if(s.blockedOn!==null)return!1;for(var i=s.targetContainers;0<i.length;){var c=Px(s.nativeEvent);if(c===null){c=s.nativeEvent;var f=new c.constructor(c.type,c);Rf=f,c.target.dispatchEvent(f),Rf=null}else return i=ai(c),i!==null&&yw(i),s.blockedOn=c,!1;i.shift()}return!0}function kw(s,i,c){yu(s)&&c.delete(i)}function W3(){Ix=!1,Hn!==null&&yu(Hn)&&(Hn=null),Vn!==null&&yu(Vn)&&(Vn=null),Gn!==null&&yu(Gn)&&(Gn=null),_l.forEach(kw),Ml.forEach(kw)}function bu(s,i){s.blockedOn===i&&(s.blockedOn=null,Ix||(Ix=!0,e.unstable_scheduleCallback(e.unstable_NormalPriority,W3)))}var vu=null;function Nw(s){vu!==s&&(vu=s,e.unstable_scheduleCallback(e.unstable_NormalPriority,function(){vu===s&&(vu=null);for(var i=0;i<s.length;i+=3){var c=s[i],f=s[i+1],b=s[i+2];if(typeof f!="function"){if(Rx(f||c)===null)continue;break}var w=ai(c);w!==null&&(s.splice(i,3),i-=3,Ph(w,{pending:!0,data:b,method:c.method,action:f},f,b))}}))}function Ii(s){function i(V){return bu(V,s)}Hn!==null&&bu(Hn,s),Vn!==null&&bu(Vn,s),Gn!==null&&bu(Gn,s),_l.forEach(i),Ml.forEach(i);for(var c=0;c<Yn.length;c++){var f=Yn[c];f.blockedOn===s&&(f.blockedOn=null)}for(;0<Yn.length&&(c=Yn[0],c.blockedOn===null);)ww(c),c.blockedOn===null&&Yn.shift();if(c=(s.ownerDocument||s).$$reactFormReplay,c!=null)for(f=0;f<c.length;f+=3){var b=c[f],w=c[f+1],D=b[Cr]||null;if(typeof w=="function")D||Nw(c);else if(D){var I=null;if(w&&w.hasAttribute("formAction")){if(b=w,D=w[Cr]||null)I=D.formAction;else if(Rx(b)!==null)continue}else I=D.action;typeof I=="function"?c[f+1]=I:(c.splice(f,3),f-=3),Nw(c)}}}function Sw(){function s(w){w.canIntercept&&w.info==="react-transition"&&w.intercept({handler:function(){return new Promise(function(D){return b=D})},focusReset:"manual",scroll:"manual"})}function i(){b!==null&&(b(),b=null),f||setTimeout(c,20)}function c(){if(!f&&!navigation.transition){var w=navigation.currentEntry;w&&w.url!=null&&navigation.navigate(w.url,{state:w.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var f=!1,b=null;return navigation.addEventListener("navigate",s),navigation.addEventListener("navigatesuccess",i),navigation.addEventListener("navigateerror",i),setTimeout(c,100),function(){f=!0,navigation.removeEventListener("navigate",s),navigation.removeEventListener("navigatesuccess",i),navigation.removeEventListener("navigateerror",i),b!==null&&(b(),b=null)}}}function Bx(s){this._internalRoot=s}ju.prototype.render=Bx.prototype.render=function(s){var i=this._internalRoot;if(i===null)throw Error(n(409));var c=i.current,f=Vr();gw(c,f,s,i,null,null)},ju.prototype.unmount=Bx.prototype.unmount=function(){var s=this._internalRoot;if(s!==null){this._internalRoot=null;var i=s.containerInfo;gw(s.current,2,null,s,null,null),tu(),i[ti]=null}};function ju(s){this._internalRoot=s}ju.prototype.unstable_scheduleHydration=function(s){if(s){var i=Ly();s={blockedOn:null,target:s,priority:i};for(var c=0;c<Yn.length&&i!==0&&i<Yn[c].priority;c++);Yn.splice(c,0,s),c===0&&ww(s)}};var Cw=t.version;if(Cw!=="19.2.4")throw Error(n(527,Cw,"19.2.4"));F.findDOMNode=function(s){var i=s._reactInternals;if(i===void 0)throw typeof s.render=="function"?Error(n(188)):(s=Object.keys(s).join(","),Error(n(268,s)));return s=h(i),s=s!==null?x(s):null,s=s===null?null:s.stateNode,s};var Z3={bundleType:0,version:"19.2.4",rendererPackageName:"react-dom",currentDispatcherRef:L,reconcilerVersion:"19.2.4"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var wu=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!wu.isDisabled&&wu.supportsFiber)try{Ir=wu.inject(Z3),X=wu}catch{}}return Rl.createRoot=function(s,i){if(!o(s))throw Error(n(299));var c=!1,f="",b=_v,w=Mv,D=Lv;return i!=null&&(i.unstable_strictMode===!0&&(c=!0),i.identifierPrefix!==void 0&&(f=i.identifierPrefix),i.onUncaughtError!==void 0&&(b=i.onUncaughtError),i.onCaughtError!==void 0&&(w=i.onCaughtError),i.onRecoverableError!==void 0&&(D=i.onRecoverableError)),i=hw(s,1,!1,null,null,c,f,null,b,w,D,Sw),s[ti]=i.current,vx(s),new Bx(i)},Rl.hydrateRoot=function(s,i,c){if(!o(s))throw Error(n(299));var f=!1,b="",w=_v,D=Mv,I=Lv,V=null;return c!=null&&(c.unstable_strictMode===!0&&(f=!0),c.identifierPrefix!==void 0&&(b=c.identifierPrefix),c.onUncaughtError!==void 0&&(w=c.onUncaughtError),c.onCaughtError!==void 0&&(D=c.onCaughtError),c.onRecoverableError!==void 0&&(I=c.onRecoverableError),c.formState!==void 0&&(V=c.formState)),i=hw(s,1,!0,i,c??null,f,b,V,w,D,I,Sw),i.context=xw(null),c=i.current,f=Vr(),f=Of(f),b=_n(f),b.callback=null,Mn(c,b,f),c=f,i.current.lanes=c,Oa(i,c),_a(i),s[ti]=i.current,vx(s),new ju(i)},Rl.version="19.2.4",Rl}var Lw;function yD(){if(Lw)return Fx.exports;Lw=1;function e(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),Fx.exports=pD(),Fx.exports}var bD=yD();const vD={primary:["bg-[var(--color-primary)] text-white","hover:bg-[var(--color-primary-hover)]","active:bg-[var(--color-primary-active)]","focus-visible:ring-2 focus-visible:ring-[var(--color-primary-200)] focus-visible:ring-offset-2","dark:focus-visible:ring-[var(--color-primary-800)]","disabled:opacity-50 disabled:cursor-not-allowed disabled:pointer-events-none"].join(" "),secondary:["bg-[var(--color-neutral-100)] text-[var(--color-text)]","hover:bg-[var(--color-neutral-200)]","active:bg-[var(--color-neutral-300)]","focus-visible:ring-2 focus-visible:ring-[var(--color-neutral-400)] focus-visible:ring-offset-2","dark:bg-[var(--color-surface)] dark:text-[var(--color-text)]","dark:hover:bg-[var(--color-surface-hover)]","dark:active:bg-[var(--color-surface-active)]","dark:focus-visible:ring-[var(--color-neutral-600)]","disabled:opacity-50 disabled:cursor-not-allowed disabled:pointer-events-none"].join(" "),ghost:["bg-transparent text-[var(--color-text-secondary)]","hover:bg-[var(--color-neutral-100)] hover:text-[var(--color-text)]","active:bg-[var(--color-neutral-200)]","focus-visible:ring-2 focus-visible:ring-[var(--color-neutral-400)] focus-visible:ring-offset-2","dark:text-[var(--color-text-secondary)]","dark:hover:bg-[var(--color-surface-hover)] dark:hover:text-[var(--color-text)]","dark:active:bg-[var(--color-surface-active)]","dark:focus-visible:ring-[var(--color-neutral-600)]","disabled:opacity-50 disabled:cursor-not-allowed disabled:pointer-events-none"].join(" "),danger:["bg-[var(--color-danger)] text-white","hover:bg-[var(--color-danger-hover)]","active:bg-[var(--color-error-700)]","focus-visible:ring-2 focus-visible:ring-[var(--color-error-200)] focus-visible:ring-offset-2","dark:focus-visible:ring-[var(--color-error-900)]","disabled:opacity-50 disabled:cursor-not-allowed disabled:pointer-events-none"].join(" "),outline:["bg-transparent border border-[var(--color-border)] text-[var(--color-text)]","hover:bg-[var(--color-surface-hover)] hover:border-[var(--color-neutral-400)]","active:bg-[var(--color-surface-active)]","focus-visible:ring-2 focus-visible:ring-[var(--color-primary-200)] focus-visible:ring-offset-2","dark:border-[var(--color-border)] dark:text-[var(--color-text)]","dark:hover:bg-[var(--color-surface-hover)] dark:hover:border-[var(--color-neutral-600)]","dark:active:bg-[var(--color-surface-active)]","dark:focus-visible:ring-[var(--color-primary-800)]","disabled:opacity-50 disabled:cursor-not-allowed disabled:pointer-events-none"].join(" ")},jD={xs:"h-6 px-2 text-xs gap-1 rounded",sm:"h-7 px-2.5 text-sm gap-1.5 rounded-md",md:"h-9 px-4 text-sm gap-2 rounded-md",lg:"h-11 px-6 text-base gap-2 rounded-lg"},wD={xs:"h-6 w-6 p-0",sm:"h-7 w-7 p-0",md:"h-9 w-9 p-0",lg:"h-11 w-11 p-0"};function kD({className:e=""}){return r.jsxs("svg",{className:`animate-spin ${e}`,xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","aria-hidden":"true",children:[r.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),r.jsx("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]})}const ND=y.forwardRef(({className:e="",variant:t="primary",size:a="md",isLoading:n=!1,leftIcon:o,rightIcon:l,fullWidth:d=!1,disabled:u,children:m,...h},x)=>{const p=["inline-flex items-center justify-center","font-medium","transition-all duration-[var(--duration-fast)]","active:scale-[0.98]",d?"w-full":"",!m&&(o||l)&&!(o&&l)?wD[a]:jD[a],vD[t],e].filter(Boolean).join(" "),j=a==="xs"||a==="sm"?"w-3 h-3":"w-4 h-4";return r.jsx("button",{ref:x,className:p,disabled:u||n,...h,children:n?r.jsxs(r.Fragment,{children:[r.jsx(kD,{className:j}),m&&r.jsx("span",{className:"opacity-0",children:m})]}):r.jsxs(r.Fragment,{children:[o&&r.jsx("span",{className:"flex-shrink-0",children:o}),m,l&&r.jsx("span",{className:"flex-shrink-0",children:l})]})})});ND.displayName="Button";const SD={sm:"h-7 px-2.5 text-sm",md:"h-9 px-3 text-sm",lg:"h-11 px-4 text-base"},CD={sm:"px-2",md:"px-3",lg:"px-4"},TD=y.forwardRef(({className:e="",size:t="md",error:a,leftAddon:n,rightAddon:o,fullWidth:l=!1,wrapperClassName:d="",disabled:u,...m},h)=>{const x=!!a,g=["bg-[var(--color-input-bg)]","text-[var(--color-text)]","placeholder:text-[var(--color-text-tertiary)]",x?"border border-[var(--color-error-500)] focus:border-[var(--color-error-500)]":"border border-[var(--color-input-border)] focus:border-[var(--color-border-focus)]","focus:outline-none",x?"focus:ring-2 focus:ring-[var(--color-error-200)] dark:focus:ring-[var(--color-error-900)]":"focus:ring-2 focus:ring-[var(--color-input-focus-ring)]",n?"rounded-r-md":o?"rounded-l-md":"rounded-md",SD[t],l||n||o?"w-full":"","transition-colors duration-[var(--duration-fast)]","disabled:opacity-50 disabled:cursor-not-allowed disabled:bg-[var(--color-bg-secondary)]",e].filter(Boolean).join(" "),p=["flex items-center","bg-[var(--color-bg-secondary)] dark:bg-[var(--color-surface)]","text-[var(--color-text-secondary)]","border border-[var(--color-input-border)]",CD[t]].join(" ");return n||o?r.jsxs("div",{className:`${l?"w-full":""} ${d}`,children:[r.jsxs("div",{className:"flex",children:[n&&r.jsx("span",{className:`${p} rounded-l-md border-r-0`,children:n}),r.jsx("input",{ref:h,className:g,disabled:u,"aria-invalid":x,"aria-describedby":a?`${m.id}-error`:void 0,...m}),o&&r.jsx("span",{className:`${p} rounded-r-md border-l-0`,children:o})]}),a&&r.jsx("p",{id:`${m.id}-error`,className:"mt-1.5 text-xs text-[var(--color-error-500)] dark:text-[var(--color-error-400)]",children:a})]}):r.jsxs("div",{className:`${l?"w-full":""} ${d}`,children:[r.jsx("input",{ref:h,className:g,disabled:u,"aria-invalid":x,"aria-describedby":a?`${m.id}-error`:void 0,...m}),a&&r.jsx("p",{id:`${m.id}-error`,className:"mt-1.5 text-xs text-[var(--color-error-500)] dark:text-[var(--color-error-400)]",children:a})]})});TD.displayName="Input";const ED={sm:"px-2.5 py-1.5 text-sm",md:"px-3 py-2 text-sm",lg:"px-4 py-3 text-base"},OD=y.forwardRef(({className:e="",size:t="md",error:a,fullWidth:n=!1,wrapperClassName:o="",disabled:l,...d},u)=>{const m=!!a,h=["bg-[var(--color-input-bg)]","text-[var(--color-text)]","placeholder:text-[var(--color-text-tertiary)]",m?"border border-[var(--color-error-500)] focus:border-[var(--color-error-500)]":"border border-[var(--color-input-border)] focus:border-[var(--color-border-focus)]","focus:outline-none",m?"focus:ring-2 focus:ring-[var(--color-error-200)] dark:focus:ring-[var(--color-error-900)]":"focus:ring-2 focus:ring-[var(--color-input-focus-ring)]","rounded-md",ED[t],n?"w-full":"","resize-y min-h-[80px]","transition-colors duration-[var(--duration-fast)]","disabled:opacity-50 disabled:cursor-not-allowed disabled:bg-[var(--color-bg-secondary)]",e].filter(Boolean).join(" ");return r.jsxs("div",{className:`${n?"w-full":""} ${o}`,children:[r.jsx("textarea",{ref:u,className:h,disabled:l,"aria-invalid":m,"aria-describedby":a?`${d.id}-error`:void 0,...d}),a&&r.jsx("p",{id:`${d.id}-error`,className:"mt-1.5 text-xs text-[var(--color-error-500)] dark:text-[var(--color-error-400)]",children:a})]})});OD.displayName="Textarea";const AD=y.forwardRef(({className:e="",required:t,children:a,...n},o)=>r.jsxs("label",{ref:o,className:`block text-sm font-medium text-[var(--color-text)] mb-1.5 ${e}`,...n,children:[a,t&&r.jsx("span",{className:"text-[var(--color-error-500)] ml-0.5",children:"*"})]}));AD.displayName="Label";const $D=cc,gC=y.forwardRef(({className:e="",...t},a)=>r.jsx(lo,{ref:a,className:["fixed inset-0","bg-black/50 dark:bg-black/70","backdrop-blur-sm","data-[state=open]:animate-in data-[state=closed]:animate-out","data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0","z-[var(--z-index-modal-backdrop)]",e].join(" "),...t}));gC.displayName=lo.displayName;const DD={sm:"max-w-sm",md:"max-w-md",lg:"max-w-lg",xl:"max-w-xl",full:"max-w-[calc(100vw-2rem)] max-h-[calc(100vh-2rem)]"},_D=y.forwardRef(({className:e="",children:t,size:a="md",hideClose:n=!1,...o},l)=>r.jsxs($D,{children:[r.jsx(gC,{}),r.jsxs(co,{ref:l,className:["fixed left-[50%] top-[50%] translate-x-[-50%] translate-y-[-50%]","w-full",DD[a],"bg-[var(--color-bg-elevated)] dark:bg-[var(--color-card-bg)]","border border-[var(--color-border)] dark:border-[var(--color-card-border)]","rounded-xl","shadow-2xl dark:shadow-2xl","overflow-hidden","data-[state=open]:animate-in data-[state=closed]:animate-out","data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0","data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95","data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%]","data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%]","duration-200","z-[var(--z-index-modal)]","focus:outline-none",e].join(" "),...o,children:[t,!n&&r.jsx(Wm,{className:["absolute right-3 top-3","p-1.5 rounded-md","text-[var(--color-text-tertiary)]","hover:text-[var(--color-text-secondary)]","hover:bg-[var(--color-surface-hover)]","focus:outline-none focus:ring-2 focus:ring-[var(--color-border-focus)]","transition-colors duration-[var(--duration-fast)]","disabled:pointer-events-none"].join(" "),"aria-label":"Close",children:r.jsx(Ee,{className:"h-4 w-4"})})]})]}));_D.displayName=co.displayName;const MD=y.forwardRef(({className:e="",...t},a)=>r.jsx(uo,{ref:a,className:["text-lg font-semibold","text-[var(--color-text)]","leading-tight",e].join(" "),...t}));MD.displayName=uo.displayName;const LD=y.forwardRef(({className:e="",...t},a)=>r.jsx(D2,{ref:a,className:["mt-1.5 text-sm","text-[var(--color-text-secondary)]",e].join(" "),...t}));LD.displayName=D2.displayName;const PD={sm:"h-7 px-2.5 text-sm",md:"h-9 px-3 text-sm",lg:"h-11 px-4 text-base"},RD=y.forwardRef(({className:e="",children:t,size:a="md",error:n=!1,fullWidth:o=!1,...l},d)=>r.jsxs(_2,{ref:d,className:["inline-flex items-center justify-between gap-2","bg-[var(--color-input-bg)]","text-[var(--color-text)]",n?"border border-[var(--color-error-500)]":"border border-[var(--color-input-border)]","rounded-md",PD[a],o?"w-full":"","data-[placeholder]:text-[var(--color-text-tertiary)]","focus:outline-none",n?"focus:ring-2 focus:ring-[var(--color-error-200)] dark:focus:ring-[var(--color-error-900)]":"focus:ring-2 focus:ring-[var(--color-input-focus-ring)] focus:border-[var(--color-border-focus)]","hover:border-[var(--color-neutral-400)] dark:hover:border-[var(--color-neutral-600)]","transition-colors duration-[var(--duration-fast)]","disabled:opacity-50 disabled:cursor-not-allowed disabled:bg-[var(--color-bg-secondary)]",e].join(" "),...l,children:[r.jsx("span",{className:"truncate",children:t}),r.jsx(eA,{asChild:!0,children:r.jsx(it,{className:"h-4 w-4 flex-shrink-0 text-[var(--color-text-tertiary)]"})})]}));RD.displayName=_2.displayName;const pC=y.forwardRef(({className:e="",...t},a)=>r.jsx(M2,{ref:a,className:["flex items-center justify-center h-6","cursor-default","text-[var(--color-text-tertiary)]",e].join(" "),...t,children:r.jsx(Yc,{className:"h-4 w-4"})}));pC.displayName=M2.displayName;const yC=y.forwardRef(({className:e="",...t},a)=>r.jsx(L2,{ref:a,className:["flex items-center justify-center h-6","cursor-default","text-[var(--color-text-tertiary)]",e].join(" "),...t,children:r.jsx(it,{className:"h-4 w-4"})}));yC.displayName=L2.displayName;const ID=y.forwardRef(({className:e="",children:t,position:a="popper",...n},o)=>r.jsx(tA,{children:r.jsxs(P2,{ref:o,className:["z-[var(--z-index-dropdown)]","relative","bg-[var(--color-bg-elevated)] dark:bg-[var(--color-card-bg)]","border border-[var(--color-border)] dark:border-[var(--color-card-border)]","shadow-lg dark:shadow-lg","rounded-lg","overflow-hidden","p-1","min-w-[8rem]",a==="popper"&&"max-h-[var(--radix-select-content-available-height)]","data-[state=open]:animate-in data-[state=closed]:animate-out","data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0","data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95","data-[side=bottom]:slide-in-from-top-2 data-[side=top]:slide-in-from-bottom-2",e].filter(Boolean).join(" "),position:a,...n,children:[r.jsx(pC,{}),r.jsx(rA,{className:a==="popper"?"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]":"",children:t}),r.jsx(yC,{})]})}));ID.displayName=P2.displayName;const BD=y.forwardRef(({className:e="",...t},a)=>r.jsx(R2,{ref:a,className:["px-2 py-1.5","text-xs font-semibold","text-[var(--color-text-tertiary)]","uppercase tracking-wide",e].join(" "),...t}));BD.displayName=R2.displayName;const zD=y.forwardRef(({className:e="",children:t,...a},n)=>r.jsxs(I2,{ref:n,className:["relative flex items-center","w-full","pl-8 pr-2 py-2","text-sm","text-[var(--color-text)]","rounded-md","cursor-pointer select-none outline-none","hover:bg-[var(--color-surface-hover)]","focus:bg-[var(--color-surface-hover)]","data-[highlighted]:bg-[var(--color-surface-hover)]","data-[disabled]:opacity-50 data-[disabled]:pointer-events-none",e].join(" "),...a,children:[r.jsx("span",{className:"absolute left-2 flex h-4 w-4 items-center justify-center",children:r.jsx(aA,{children:r.jsx(Dt,{className:"h-4 w-4 text-[var(--color-primary)]"})})}),r.jsx(nA,{children:t})]}));zD.displayName=I2.displayName;const qD=y.forwardRef(({className:e="",...t},a)=>r.jsx(B2,{ref:a,className:["-mx-1 my-1 h-px","bg-[var(--color-border)] dark:bg-[var(--color-card-border)]",e].join(" "),...t}));qD.displayName=B2.displayName;const FD={default:["bg-[var(--color-neutral-100)] text-[var(--color-text-secondary)]","dark:bg-[var(--color-surface)] dark:text-[var(--color-text-secondary)]"].join(" "),primary:["bg-[var(--color-primary-muted)] text-[var(--color-primary-text)]","dark:bg-[var(--color-primary-muted)] dark:text-[var(--color-primary)]"].join(" "),success:["bg-[var(--color-success-bg)] text-[var(--color-success-700)]","dark:bg-[var(--color-success-bg)] dark:text-[var(--color-success-text)]"].join(" "),warning:["bg-[var(--color-warning-bg)] text-[var(--color-warning-700)]","dark:bg-[var(--color-warning-bg)] dark:text-[var(--color-warning-text)]"].join(" "),error:["bg-[var(--color-danger-bg)] text-[var(--color-error-700)]","dark:bg-[var(--color-danger-bg)] dark:text-[var(--color-danger-text)]"].join(" "),outline:["bg-transparent border border-[var(--color-border)] text-[var(--color-text-secondary)]","dark:border-[var(--color-border)] dark:text-[var(--color-text-secondary)]"].join(" ")},UD={sm:"px-1.5 py-0.5 text-[10px]",md:"px-2 py-0.5 text-xs"},qa=y.forwardRef(({className:e="",variant:t="default",size:a="md",...n},o)=>r.jsx("span",{ref:o,className:["inline-flex items-center","font-medium","rounded-md","whitespace-nowrap",FD[t],UD[a],e].join(" "),...n}));qa.displayName="Badge";const KD={default:["bg-[var(--color-card-bg)]","border border-[var(--color-card-border)]"].join(" "),elevated:["bg-[var(--color-card-bg)]","border border-[var(--color-card-border)]","shadow-md dark:shadow-md"].join(" "),outlined:["bg-transparent","border border-[var(--color-border)]"].join(" ")},Ko=y.forwardRef(({className:e="",variant:t="default",hoverable:a=!1,clickable:n=!1,noPadding:o=!1,...l},d)=>r.jsx("div",{ref:d,className:["rounded-lg",o?"":"p-4",KD[t],a?"hover:bg-[var(--color-card-hover)] transition-colors duration-[var(--duration-fast)]":"",n?["cursor-pointer","hover:bg-[var(--color-card-hover)]","focus:outline-none focus:ring-2 focus:ring-[var(--color-border-focus)] focus:ring-offset-2","transition-colors duration-[var(--duration-fast)]"].join(" "):"",e].filter(Boolean).join(" "),tabIndex:n?0:void 0,role:n?"button":void 0,...l}));Ko.displayName="Card";const HD=y.forwardRef(({className:e="",...t},a)=>r.jsx("div",{ref:a,className:["flex flex-col space-y-1.5",e].join(" "),...t}));HD.displayName="CardHeader";const VD=y.forwardRef(({className:e="",...t},a)=>r.jsx("h3",{ref:a,className:["text-base font-semibold","text-[var(--color-text)]","leading-tight",e].join(" "),...t}));VD.displayName="CardTitle";const GD=y.forwardRef(({className:e="",...t},a)=>r.jsx("p",{ref:a,className:["text-sm","text-[var(--color-text-secondary)]",e].join(" "),...t}));GD.displayName="CardDescription";const YD=y.forwardRef(({className:e="",...t},a)=>r.jsx("div",{ref:a,className:e,...t}));YD.displayName="CardContent";const QD=y.forwardRef(({className:e="",...t},a)=>r.jsx("div",{ref:a,className:["flex items-center pt-4",e].join(" "),...t}));QD.displayName="CardFooter";function Q0({children:e,content:t,shortcut:a,side:n="top",align:o="center",delayDuration:l=200}){return r.jsxs(z2,{delayDuration:l,children:[r.jsx(q2,{asChild:!0,children:e}),r.jsx(F2,{children:r.jsxs(U2,{side:n,align:o,sideOffset:4,className:`z-50 px-2.5 py-1.5 text-xs rounded-md bg-gray-900 text-white shadow-lg
26
+ animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out
27
+ data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95
28
+ data-[side=top]:slide-in-from-bottom-2
29
+ data-[side=bottom]:slide-in-from-top-2
30
+ data-[side=left]:slide-in-from-right-2
31
+ data-[side=right]:slide-in-from-left-2`,"data-testid":"tooltip-content",children:[r.jsxs("span",{className:"flex items-center gap-2",children:[r.jsx("span",{children:t}),a&&r.jsx("kbd",{className:"inline-flex items-center gap-0.5 px-1.5 py-0.5 rounded bg-gray-700 text-gray-200 font-mono text-[10px]",children:a})]}),r.jsx(K2,{className:"fill-gray-900"})]})})]})}function XD({children:e}){return r.jsx(H2,{children:e})}function dc({tags:e,onChange:t,placeholder:a="Type and press comma to add tags",className:n="","data-testid":o}){const[l,d]=y.useState(""),u=p=>{const j=p.trim().toLowerCase();j&&!e.includes(j)&&t([...e,j]),d("")},m=p=>{t(e.filter(j=>j!==p))},h=p=>{p.key===","||p.key==="Enter"?(p.preventDefault(),u(l)):p.key==="Backspace"&&!l&&e.length>0&&m(e[e.length-1])},x=p=>{const j=p.target.value;if(j.includes(",")){const k=j.split(",");k.slice(0,-1).forEach(N=>u(N)),d(k[k.length-1])}else d(j)},g=()=>{l.trim()&&u(l)};return r.jsxs("div",{className:`flex flex-wrap items-center gap-1.5 p-2 border border-[var(--color-border)] rounded-md focus-within:ring-2 focus-within:ring-[var(--color-primary)] focus-within:border-transparent bg-[var(--color-input-bg)] min-h-[42px] ${n}`,"data-testid":o,children:[e.map(p=>r.jsxs("span",{className:"inline-flex items-center gap-1 px-2 py-0.5 text-sm bg-[var(--color-surface-elevated)] text-[var(--color-text)] rounded","data-testid":`tag-${p}`,children:[p,r.jsx("button",{type:"button",onClick:()=>m(p),className:"p-0.5 hover:bg-[var(--color-surface-hover)] rounded text-[var(--color-text-tertiary)] hover:text-[var(--color-text)]","aria-label":`Remove tag ${p}`,"data-testid":`tag-remove-${p}`,children:r.jsx(Ee,{className:"w-3 h-3"})})]},p)),r.jsx("input",{type:"text",value:l,onChange:x,onKeyDown:h,onBlur:g,placeholder:e.length===0?a:"",className:"flex-1 min-w-[100px] outline-none text-sm bg-transparent text-[var(--color-text)] placeholder:text-[var(--color-text-tertiary)]","data-testid":`${o}-input`})]})}const bC="settings.theme",vC="settings.highContrastBase";function WD(){if(typeof window>"u")return"system";const e=localStorage.getItem(bC);return e==="light"||e==="dark"||e==="system"||e==="high-contrast"?e:"system"}function ZD(e){typeof window>"u"||localStorage.setItem(bC,e)}function tp(){return typeof window>"u"?"light":localStorage.getItem(vC)==="dark"?"dark":"light"}function JD(e){typeof window>"u"||localStorage.setItem(vC,e)}function rp(){return typeof window>"u"?"light":window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}function Su(e){if(typeof window>"u")return;const t=document.documentElement;if(t.classList.remove("dark","theme-dark","theme-light","high-contrast"),e==="high-contrast"){const a=tp();t.classList.add("high-contrast"),a==="dark"?t.classList.add("dark","theme-dark"):t.classList.add("theme-light")}else(e==="system"?rp():e)==="dark"?t.classList.add("dark","theme-dark"):t.classList.add("theme-light")}function e_(){const[e,t]=y.useState("system"),[a,n]=y.useState("light"),[o,l]=y.useState("light"),d=y.useCallback(g=>g==="high-contrast"?tp():g==="system"?rp():g,[]);y.useEffect(()=>{const g=WD();t(g),Su(g),n(d(g)),l(tp())},[d]),y.useEffect(()=>{if(e!=="system")return;const g=window.matchMedia("(prefers-color-scheme: dark)"),p=()=>{Su("system"),n(rp())};return g.addEventListener("change",p),()=>g.removeEventListener("change",p)},[e]);const u=y.useCallback(g=>{t(g),ZD(g),Su(g),n(d(g))},[d]),m=y.useCallback(g=>{JD(g),l(g),e==="high-contrast"&&(Su("high-contrast"),n(g))},[e]),h=y.useCallback(()=>{u(e==="light"?"dark":e==="dark"?"high-contrast":e==="high-contrast"?"system":"light")},[e,u]),x=y.useCallback(()=>{u(a==="dark"?"light":"dark")},[a,u]);return{theme:e,resolvedTheme:a,isDark:a==="dark",isHighContrast:e==="high-contrast",highContrastBase:o,setTheme:u,setHighContrastThemeBase:m,toggleTheme:h,toggleDarkMode:x}}function t_({showCycle:e=!1,className:t=""}){const{theme:a,resolvedTheme:n,toggleTheme:o,toggleDarkMode:l}=e_();return e?r.jsx("button",{onClick:o,className:`
32
+ p-2 rounded-lg transition-colors
33
+ text-gray-500 dark:text-gray-400
34
+ hover:bg-gray-100 dark:hover:bg-[var(--color-sidebar-item-hover)]
35
+ hover:text-gray-700 dark:hover:text-gray-200
36
+ ${t}
37
+ `,"aria-label":`Current theme: ${a}. Click to change.`,title:`Theme: ${a==="system"?`System (${n})`:a}`,"data-testid":"theme-toggle",children:a==="system"?r.jsx(d2,{className:"w-5 h-5"}):a==="dark"?r.jsx(Xu,{className:"w-5 h-5"}):r.jsx(Wu,{className:"w-5 h-5"})}):r.jsx("button",{onClick:l,className:`
38
+ p-2 rounded-lg transition-colors
39
+ text-gray-500 dark:text-gray-400
40
+ hover:bg-gray-100 dark:hover:bg-[var(--color-sidebar-item-hover)]
41
+ hover:text-gray-700 dark:hover:text-gray-200
42
+ ${t}
43
+ `,"aria-label":n==="dark"?"Switch to light mode":"Switch to dark mode",title:n==="dark"?"Switch to light mode":"Switch to dark mode","data-testid":"theme-toggle",children:n==="dark"?r.jsx(Wu,{className:"w-5 h-5"}):r.jsx(Xu,{className:"w-5 h-5"})})}const r_=y.forwardRef(({width:e="100%",height:t="1rem",radius:a="0.25rem",animate:n=!0,variant:o,className:l="",style:d,...u},m)=>{let h=e,x=t,g=a;switch(o){case"text":x="1rem",g="0.25rem";break;case"circular":g="50%";break;case"rectangular":g="0";break;case"rounded":g="0.5rem";break}const p="bg-gray-200 dark:bg-gray-700",j=n?"animate-pulse":"";return r.jsx("div",{ref:m,className:`${p} ${j} ${l}`,style:{width:typeof h=="number"?`${h}px`:h,height:typeof x=="number"?`${x}px`:x,borderRadius:typeof g=="number"?`${g}px`:g,...d},"data-testid":"skeleton",...u})});r_.displayName="Skeleton";const ap={sm:640,md:768,lg:1024,xl:1280,"2xl":1536};function a_(e){const[t,a]=y.useState(!1);return y.useEffect(()=>{const n=()=>{a(window.innerWidth<ap[e])};return n(),window.addEventListener("resize",n),()=>window.removeEventListener("resize",n)},[e]),t}function Et(){return a_("md")}function jC(){const[e,t]=y.useState(!1);return y.useEffect(()=>{const a=()=>{const n=window.innerWidth;t(n>=ap.md&&n<ap.lg)};return a(),window.addEventListener("resize",a),()=>window.removeEventListener("resize",a)},[]),e}function n_({open:e,onClose:t,children:a,width:n=280,maxWidth:o="85vw","data-testid":l="mobile-drawer",contentClassName:d="",showCloseButton:u=!0,closeButtonContent:m,swipeThreshold:h=50,backdropBlur:x=!0,backdropClassName:g=""}){const p=y.useRef(null),j=y.useRef(null);y.useEffect(()=>{if(e){const E=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=E}}},[e]),y.useEffect(()=>{if(!e)return;const E=O=>{O.key==="Escape"&&t()};return document.addEventListener("keydown",E),()=>document.removeEventListener("keydown",E)},[e,t]);const k=E=>{j.current=E.touches[0].clientX},N=E=>{if(j.current===null)return;const O=E.touches[0].clientX;j.current-O>h&&(t(),j.current=null)},v=()=>{j.current=null};if(y.useEffect(()=>{if(!e||!p.current)return;const E=p.current.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'),O=E[0],S=E[E.length-1];O?.focus();const C=A=>{A.key==="Tab"&&(A.shiftKey?document.activeElement===O&&(S?.focus(),A.preventDefault()):document.activeElement===S&&(O?.focus(),A.preventDefault()))};return document.addEventListener("keydown",C),()=>document.removeEventListener("keydown",C)},[e]),!e)return null;const T=typeof n=="number"?`${n}px`:n;return r.jsxs("div",{className:"fixed inset-0 z-50","data-testid":l,role:"dialog","aria-modal":"true","aria-label":"Navigation menu",children:[r.jsx("div",{className:`absolute inset-0 bg-black/50 transition-opacity duration-200 ${x?"backdrop-blur-sm":""} ${g}`,onClick:t,"data-testid":`${l}-backdrop`,"aria-hidden":"true"}),r.jsxs("div",{ref:p,className:`absolute left-0 top-0 bottom-0 bg-[var(--color-sidebar-bg)] shadow-2xl transform transition-transform duration-200 ease-out flex flex-col ${d}`,style:{width:T,maxWidth:o,transform:e?"translateX(0)":"translateX(-100%)"},onTouchStart:k,onTouchMove:N,onTouchEnd:v,"data-testid":`${l}-content`,children:[u&&r.jsx("button",{onClick:t,className:"absolute top-3 right-3 p-2 rounded-md text-[var(--color-text-tertiary)] hover:text-[var(--color-text-secondary)] hover:bg-[var(--color-sidebar-item-hover)] transition-colors duration-150 z-10","aria-label":"Close navigation menu","data-testid":`${l}-close`,children:m??r.jsx(Ee,{className:"w-5 h-5"})}),r.jsx("div",{className:"flex-1 overflow-hidden",children:a})]})]})}const s_={sm:"max-w-sm",md:"max-w-md",lg:"max-w-lg",xl:"max-w-xl"};function ad({open:e,onClose:t,children:a,title:n,icon:o,size:l="md",className:d="","data-testid":u="responsive-modal",footer:m,hideClose:h=!1}){const x=Et(),g=y.useRef(null),p=y.useRef(null),j=y.useRef(0);y.useEffect(()=>{if(e){const T=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=T}}},[e]),y.useEffect(()=>{if(!e)return;const T=E=>{E.key==="Escape"&&t()};return document.addEventListener("keydown",T),()=>document.removeEventListener("keydown",T)},[e,t]),y.useEffect(()=>{if(!e||!x)return;window.history.pushState({responsiveModal:!0},"");const T=E=>{E.state?.responsiveModal===void 0&&t()};return window.addEventListener("popstate",T),()=>{window.removeEventListener("popstate",T),window.history.state?.responsiveModal&&window.history.back()}},[e,x,t]);const k=T=>{x&&(p.current=T.touches[0].clientY,j.current=0)},N=T=>{!x||p.current===null||(j.current=T.touches[0].clientY-p.current,j.current<0&&(j.current=0),g.current&&j.current>0&&(g.current.style.transform=`translateY(${j.current}px)`))},v=()=>{!x||p.current===null||(j.current>100?t():g.current&&(g.current.style.transform="translateY(0)"),p.current=null,j.current=0)};return y.useEffect(()=>{e&&g.current&&g.current.querySelector('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])')?.focus()},[e]),e?x?r.jsxs("div",{className:"fixed inset-0 z-50","data-testid":u,role:"dialog","aria-modal":"true","aria-labelledby":`${u}-title`,children:[r.jsx("div",{className:"absolute inset-0 bg-black/50 backdrop-blur-sm transition-opacity duration-200",onClick:t,"data-testid":`${u}-backdrop`,"aria-hidden":"true"}),r.jsxs("div",{ref:g,className:"absolute inset-x-0 bottom-0 top-0 bg-[var(--color-bg)] shadow-2xl flex flex-col transform transition-transform duration-200 ease-out",style:{transform:e?"translateY(0)":"translateY(100%)"},"data-testid":`${u}-content`,children:[r.jsxs("div",{className:"flex items-center gap-2 px-4 py-3 border-b border-[var(--color-border)] bg-[var(--color-surface)] sticky top-0 z-10",onTouchStart:k,onTouchMove:N,onTouchEnd:v,children:[r.jsx("div",{className:"absolute top-1 left-1/2 -translate-x-1/2 w-10 h-1 bg-[var(--color-border)] rounded-full"}),!h&&r.jsx("button",{onClick:t,className:"p-2 -ml-2 rounded-md text-[var(--color-text-secondary)] hover:text-[var(--color-text)] hover:bg-[var(--color-surface-hover)] transition-colors duration-150 touch-target","aria-label":"Close","data-testid":`${u}-close`,children:r.jsx(Pr,{className:"w-5 h-5"})}),o&&r.jsx("span",{className:"text-[var(--color-text-secondary)]",children:o}),r.jsx("h2",{id:`${u}-title`,className:"flex-1 text-lg font-semibold text-[var(--color-text)] truncate",children:n})]}),r.jsx("div",{className:`flex-1 overflow-y-auto ${d}`,children:a}),m&&r.jsx("div",{className:"sticky bottom-0 px-4 py-3 border-t border-[var(--color-border)] bg-[var(--color-surface)]",children:m})]})]}):r.jsxs("div",{className:"fixed inset-0 z-50","data-testid":u,role:"dialog","aria-modal":"true","aria-labelledby":`${u}-title`,children:[r.jsx("div",{className:"absolute inset-0 bg-black/50 backdrop-blur-sm",onClick:t,"data-testid":`${u}-backdrop`,"aria-hidden":"true"}),r.jsx("div",{ref:g,className:`absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 w-full ${s_[l]} max-h-[90vh] overflow-y-auto mx-4`,"data-testid":`${u}-content`,children:r.jsxs("div",{className:"bg-white dark:bg-[var(--color-surface)] rounded-xl shadow-2xl border border-gray-200 dark:border-gray-700",children:[r.jsxs("div",{className:"flex items-center justify-between px-4 py-3 border-b border-gray-200 dark:border-gray-700",children:[r.jsxs("div",{className:"flex items-center gap-2",children:[o&&r.jsx("span",{className:"text-[var(--color-text-secondary)]",children:o}),r.jsx("h2",{id:`${u}-title`,className:"text-lg font-semibold text-gray-900 dark:text-white",children:n})]}),!h&&r.jsx("button",{onClick:t,className:"p-1 text-gray-400 hover:text-gray-600 dark:hover:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-700 rounded","aria-label":"Close","data-testid":`${u}-close`,children:r.jsx(Ee,{className:"w-5 h-5"})})]}),r.jsx("div",{className:d,children:a}),m&&r.jsx("div",{className:"px-4 py-3 border-t border-gray-200 dark:border-gray-700 bg-gray-50 dark:bg-[var(--color-surface-secondary)]",children:m})]})})]}):null}const Pw={1:{label:"Critical",variant:"error"},2:{label:"High",variant:"warning"},3:{label:"Medium",variant:"primary"},4:{label:"Low",variant:"default"},5:{label:"Trivial",variant:"outline"}};function i_(e){return Pw[e]||Pw[3]}const Rw={bug:"border-l-4 border-l-[var(--color-error-400)]",feature:"border-l-4 border-l-[var(--color-accent-400)]",task:"border-l-4 border-l-[var(--color-primary-400)]",chore:"border-l-4 border-l-[var(--color-neutral-400)]"};function o_(e){return Rw[e]||Rw.task}const Iw={agent:{bgColor:"bg-[var(--color-primary-muted)]",textColor:"text-[var(--color-primary-text)]",variant:"primary"},human:{bgColor:"bg-[var(--color-success-bg)]",textColor:"text-[var(--color-success-text)]",variant:"success"},system:{bgColor:"bg-[var(--color-warning-bg)]",textColor:"text-[var(--color-warning-text)]",variant:"warning"}};function wC(e){return Iw[e]||Iw.system}function l_(e,t){if(!e)return{truncated:"",isTruncated:!1};const n=e.split(`
44
+ `).slice(0,t).join(`
45
+ `),o=e.split(`
46
+ `).length>t||n.length<e.length;return n.length>150?{truncated:n.slice(0,147)+"...",isTruncated:!0}:{truncated:n,isTruncated:o}}const kC=y.forwardRef(({task:e,isSelected:t=!1,onClick:a,className:n="",showId:o=!0,showTimestamp:l=!1,showDescription:d=!0,showCounts:u=!0},m)=>{const h=i_(e.priority),x=o_(e.taskType),{truncated:g,isTruncated:p}=l_(e.description,2),j=!!e.description&&e.description.trim().length>0,k=e._attachmentCount||0,N=e._blocksCount||0,v=e._blockedByCount||0,T=k>0||N>0||v>0,E=()=>{if(!d||!j)return null;const O=r.jsx("p",{className:"mt-2 text-xs text-[var(--color-text-secondary)] line-clamp-2 leading-relaxed","data-testid":"task-description-preview",children:g});return p&&e.description?r.jsx(H2,{delayDuration:400,children:r.jsxs(z2,{children:[r.jsx(q2,{asChild:!0,children:O}),r.jsx(F2,{children:r.jsxs(U2,{className:"max-w-sm p-3 text-xs text-[var(--color-text)] bg-[var(--color-surface-elevated)] border border-[var(--color-border)] rounded-lg shadow-lg z-50",sideOffset:5,"data-testid":"task-description-tooltip",children:[r.jsxs("p",{className:"whitespace-pre-wrap",children:[e.description.slice(0,500),e.description.length>500?"...":""]}),r.jsx(K2,{className:"fill-[var(--color-surface-elevated)]"})]})})]})}):O};return r.jsxs(Ko,{ref:m,variant:"default",clickable:!!a,onClick:a,className:[x,t?"ring-2 ring-[var(--color-primary)] border-[var(--color-primary)]":"","transition-all duration-[var(--duration-fast)]",n].filter(Boolean).join(" "),"data-testid":`task-card-${e.id}`,children:[r.jsxs("div",{className:"flex items-start justify-between gap-3",children:[r.jsxs("div",{className:"flex-1 min-w-0",children:[r.jsx("h4",{className:"font-medium text-[var(--color-text)] truncate leading-tight",children:e.title}),o&&r.jsx("p",{className:"text-[11px] text-[var(--color-text-tertiary)] mt-1 font-mono truncate",children:e.id})]}),r.jsx(qa,{variant:h.variant,size:"sm",children:h.label})]}),E(),r.jsxs("div",{className:"mt-3 flex items-center gap-2 flex-wrap",children:[r.jsx(qa,{variant:"outline",size:"sm",className:"capitalize",children:e.taskType}),e.assignee&&r.jsxs("span",{className:"text-xs text-[var(--color-text-secondary)]",children:["Assigned: ",r.jsx("span",{className:"text-[var(--color-text)]",children:e.assignee})]})]}),u&&T&&r.jsxs("div",{className:"mt-2 flex items-center gap-3 flex-wrap","data-testid":"task-counts",children:[k>0&&r.jsxs("span",{className:"inline-flex items-center gap-1 text-[11px] text-[var(--color-text-secondary)]","data-testid":"task-attachment-count",children:[r.jsx(Qc,{className:"w-3 h-3"}),k]}),N>0&&r.jsxs("span",{className:"inline-flex items-center gap-1 text-[11px] text-[var(--color-warning-text)]","data-testid":"task-blocks-count",title:`Blocks ${N} task${N>1?"s":""}`,children:[r.jsx(sc,{className:"w-3 h-3"}),"Blocks ",N]}),v>0&&r.jsxs("span",{className:"inline-flex items-center gap-1 text-[11px] text-[var(--color-danger-text)]","data-testid":"task-blocked-by-count",title:`Blocked by ${v} task${v>1?"s":""}`,children:[r.jsx(so,{className:"w-3 h-3"}),"Blocked by ",v]})]}),e.tags&&e.tags.length>0&&r.jsxs("div",{className:"mt-2 flex flex-wrap gap-1",children:[e.tags.slice(0,3).map(O=>r.jsx("span",{className:"px-1.5 py-0.5 text-[10px] bg-[var(--color-surface-active)] text-[var(--color-text-secondary)] rounded",children:O},O)),e.tags.length>3&&r.jsxs("span",{className:"text-[10px] text-[var(--color-text-tertiary)]",children:["+",e.tags.length-3]})]}),l&&r.jsxs("div",{className:"mt-3 text-[11px] text-[var(--color-text-tertiary)]",children:["Created ",new Date(e.createdAt).toLocaleDateString()]})]})});kC.displayName="TaskCard";function c_(e){switch(e){case"agent":return tr;case"human":return Ze;case"system":return gr;default:return gr}}const NC=y.forwardRef(({entity:e,isSelected:t=!1,onClick:a,className:n="",showId:o=!0,showTimestamp:l=!0},d)=>{const u=wC(e.entityType),m=c_(e.entityType),h=e.active!==!1;return r.jsxs(Ko,{ref:d,variant:"default",clickable:!!a,onClick:a,className:[t?"ring-2 ring-[var(--color-primary)] border-[var(--color-primary)]":"",h?"":"opacity-60","transition-all duration-[var(--duration-fast)]",n].filter(Boolean).join(" "),"data-testid":`entity-card-${e.id}`,children:[r.jsxs("div",{className:"flex items-start gap-3",children:[r.jsx("div",{className:`w-10 h-10 rounded-full flex items-center justify-center ${u.bgColor} flex-shrink-0`,"data-testid":`entity-avatar-${e.id}`,children:r.jsx(m,{className:`w-5 h-5 ${u.textColor}`})}),r.jsxs("div",{className:"flex-1 min-w-0",children:[r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsx("h3",{className:"font-medium text-[var(--color-text)] truncate",children:e.name}),!h&&r.jsx(qa,{variant:"outline",size:"sm",children:"Inactive"})]}),o&&r.jsx("p",{className:"text-[11px] text-[var(--color-text-tertiary)] font-mono truncate",children:e.id})]}),r.jsx(qa,{variant:u.variant,size:"sm",className:"capitalize flex-shrink-0","data-testid":`entity-type-badge-${e.id}`,children:e.entityType})]}),e.tags&&e.tags.length>0&&r.jsxs("div",{className:"mt-3 flex flex-wrap gap-1",children:[e.tags.slice(0,3).map(x=>r.jsx("span",{className:"px-1.5 py-0.5 text-[10px] bg-[var(--color-surface-active)] text-[var(--color-text-secondary)] rounded",children:x},x)),e.tags.length>3&&r.jsxs("span",{className:"text-[10px] text-[var(--color-text-tertiary)]",children:["+",e.tags.length-3]})]}),l&&r.jsxs("div",{className:"mt-3 text-[11px] text-[var(--color-text-tertiary)]",children:["Created ",new Date(e.createdAt).toLocaleDateString()]})]})});NC.displayName="EntityCard";const Bw={draft:{label:"Draft",variant:"default"},active:{label:"Active",variant:"primary"},completed:{label:"Completed",variant:"success"},cancelled:{label:"Cancelled",variant:"error"}};function d_(e){return Bw[e]||Bw.draft}const u_=y.forwardRef(({plan:e,isSelected:t=!1,onClick:a,className:n="",showId:o=!1,progress:l,children:d},u)=>{const m=d_(e.status);return r.jsxs(Ko,{ref:u,variant:"default",clickable:!!a,onClick:a,className:[t?"ring-2 ring-[var(--color-primary)] border-[var(--color-primary)] bg-[var(--color-surface-selected)]":"","transition-all duration-[var(--duration-fast)]",n].filter(Boolean).join(" "),"data-testid":`plan-card-${e.id}`,children:[r.jsxs("div",{className:"flex items-start justify-between gap-2",children:[r.jsxs("div",{className:"flex items-start gap-3 min-w-0 flex-1",children:[r.jsx("div",{className:"w-8 h-8 rounded-lg bg-[var(--color-primary-muted)] flex items-center justify-center flex-shrink-0",children:r.jsx(u2,{className:"w-4 h-4 text-[var(--color-primary)]"})}),r.jsxs("div",{className:"min-w-0 flex-1",children:[r.jsx("h3",{"data-testid":"plan-card-title",className:"font-medium text-[var(--color-text)] truncate",children:e.title}),o&&r.jsx("p",{className:"text-[11px] text-[var(--color-text-tertiary)] font-mono truncate mt-0.5",children:e.id})]})]}),r.jsxs("div",{className:"flex items-center gap-2 flex-shrink-0",children:[r.jsx(qa,{variant:m.variant,size:"sm",children:m.label}),r.jsx(Lt,{className:"w-4 h-4 text-[var(--color-text-tertiary)]"})]})]}),typeof l=="number"&&r.jsxs("div",{className:"mt-3",children:[r.jsxs("div",{className:"flex items-center justify-between mb-1",children:[r.jsx("span",{className:"text-xs text-[var(--color-text-secondary)]",children:"Progress"}),r.jsxs("span",{className:"text-xs font-medium text-[var(--color-text)]",children:[l,"%"]})]}),r.jsx("div",{className:"w-full h-1.5 bg-[var(--color-surface-active)] rounded-full overflow-hidden",children:r.jsx("div",{className:"h-full bg-[var(--color-primary)] rounded-full transition-all duration-300",style:{width:`${l}%`}})})]}),d,e.tags&&e.tags.length>0&&r.jsxs("div",{className:"mt-2 flex flex-wrap gap-1",children:[e.tags.slice(0,3).map(h=>r.jsx("span",{className:"px-1.5 py-0.5 text-[10px] bg-[var(--color-surface-active)] text-[var(--color-text-secondary)] rounded",children:h},h)),e.tags.length>3&&r.jsxs("span",{className:"text-[10px] text-[var(--color-text-tertiary)]",children:["+",e.tags.length-3]})]})]})});u_.displayName="PlanCard";const zw={created:{label:"Created",variant:"default"},active:{label:"Active",variant:"primary"},completed:{label:"Completed",variant:"success"},failed:{label:"Failed",variant:"error"},cancelled:{label:"Cancelled",variant:"warning"}};function m_(e){return zw[e]||zw.created}function f_(e){return e==="failed"?"bg-[var(--color-error)]":e==="completed"?"bg-[var(--color-success)]":"bg-[var(--color-primary)]"}const h_=y.forwardRef(({workflow:e,isSelected:t=!1,onClick:a,className:n="",showId:o=!1,progress:l,children:d},u)=>{const m=m_(e.status),h=e.ephemeral===!0;return r.jsxs(Ko,{ref:u,variant:"default",clickable:!!a,onClick:a,className:[t?"ring-2 ring-[var(--color-primary)] border-[var(--color-primary)] bg-[var(--color-surface-selected)]":"",h?"border-dashed":"","transition-all duration-[var(--duration-fast)]",n].filter(Boolean).join(" "),"data-testid":`workflow-card-${e.id}`,children:[r.jsxs("div",{className:"flex items-start justify-between gap-2",children:[r.jsxs("div",{className:"flex items-start gap-3 min-w-0 flex-1",children:[r.jsx("div",{className:`w-8 h-8 rounded-lg flex items-center justify-center flex-shrink-0 ${h?"bg-[var(--color-warning-bg)]":"bg-[var(--color-accent-100)] dark:bg-[var(--color-accent-900)]"}`,children:h?r.jsx(uO,{className:"w-4 h-4 text-[var(--color-warning)]"}):r.jsx(bn,{className:"w-4 h-4 text-[var(--color-accent-600)] dark:text-[var(--color-accent-400)]"})}),r.jsxs("div",{className:"min-w-0 flex-1",children:[r.jsx("h3",{"data-testid":"workflow-card-title",className:"font-medium text-[var(--color-text)] truncate",children:e.title}),o&&r.jsx("p",{className:"text-[11px] text-[var(--color-text-tertiary)] font-mono truncate mt-0.5",children:e.id})]})]}),r.jsxs("div",{className:"flex items-center gap-2 flex-shrink-0",children:[h&&r.jsx(qa,{variant:"warning",size:"sm",children:"Ephemeral"}),r.jsx(qa,{variant:m.variant,size:"sm",children:m.label}),r.jsx(Lt,{className:"w-4 h-4 text-[var(--color-text-tertiary)]"})]})]}),typeof l=="number"&&r.jsxs("div",{className:"mt-3",children:[r.jsxs("div",{className:"flex items-center justify-between mb-1",children:[r.jsx("span",{className:"text-xs text-[var(--color-text-secondary)]",children:"Progress"}),r.jsxs("span",{className:"text-xs font-medium text-[var(--color-text)]",children:[l,"%"]})]}),r.jsx("div",{className:"w-full h-1.5 bg-[var(--color-surface-active)] rounded-full overflow-hidden",children:r.jsx("div",{className:`h-full rounded-full transition-all duration-300 ${f_(e.status)}`,style:{width:`${l}%`}})})]}),e.playbookId&&r.jsxs("div",{className:"mt-2 text-xs text-[var(--color-text-secondary)]",children:["From playbook:"," ",r.jsx("span",{className:"font-mono text-[var(--color-text-tertiary)]",children:e.playbookId})]}),d,e.tags&&e.tags.length>0&&r.jsxs("div",{className:"mt-2 flex flex-wrap gap-1",children:[e.tags.slice(0,3).map(x=>r.jsx("span",{className:"px-1.5 py-0.5 text-[10px] bg-[var(--color-surface-active)] text-[var(--color-text-secondary)] rounded",children:x},x)),e.tags.length>3&&r.jsxs("span",{className:"text-[10px] text-[var(--color-text-tertiary)]",children:["+",e.tags.length-3]})]})]})});h_.displayName="WorkflowCard";const x_=y.forwardRef(({team:e,isSelected:t=!1,onClick:a,className:n="",showId:o=!0,showTimestamp:l=!0,memberAvatarStack:d},u)=>{const m=e.status!=="tombstone",h=e.members?.length||0;return r.jsxs(Ko,{ref:u,variant:"default",clickable:!!a,onClick:a,className:[t?"ring-2 ring-[var(--color-primary)] border-[var(--color-primary)]":"",m?"":"opacity-60","transition-all duration-[var(--duration-fast)]",n].filter(Boolean).join(" "),"data-testid":`team-card-${e.id}`,children:[r.jsxs("div",{className:"flex items-start gap-3",children:[r.jsx("div",{className:"w-10 h-10 rounded-full bg-[var(--color-accent-100)] dark:bg-[var(--color-accent-900)] flex items-center justify-center flex-shrink-0","data-testid":`team-avatar-${e.id}`,children:r.jsx(Bt,{className:"w-5 h-5 text-[var(--color-accent-600)] dark:text-[var(--color-accent-400)]"})}),r.jsxs("div",{className:"flex-1 min-w-0",children:[r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsx("h3",{className:"font-medium text-[var(--color-text)] truncate",children:e.name}),!m&&r.jsx(qa,{variant:"outline",size:"sm",children:"Deleted"})]}),o&&r.jsx("p",{className:"text-[11px] text-[var(--color-text-tertiary)] font-mono truncate",children:e.id})]}),r.jsxs(qa,{variant:"primary",size:"sm",className:"flex-shrink-0","data-testid":`team-member-count-${e.id}`,children:[h," ",h===1?"member":"members"]})]}),h>0&&d&&r.jsx("div",{className:"mt-3",children:d}),e.tags&&e.tags.length>0&&r.jsxs("div",{className:"mt-3 flex flex-wrap gap-1",children:[e.tags.slice(0,3).map(x=>r.jsx("span",{className:"px-1.5 py-0.5 text-[10px] bg-[var(--color-surface-active)] text-[var(--color-text-secondary)] rounded",children:x},x)),e.tags.length>3&&r.jsxs("span",{className:"text-[10px] text-[var(--color-text-tertiary)]",children:["+",e.tags.length-3]})]}),l&&r.jsxs("div",{className:"mt-3 text-[11px] text-[var(--color-text-tertiary)]",children:["Created ",new Date(e.createdAt).toLocaleDateString()]})]})});x_.displayName="TeamCard";function g_(e){switch(e){case"agent":return tr;case"human":return Ze;case"system":return gr;default:return gr}}function p_(e,t){if(!t)return{matched:!0,indices:[]};const a=e.toLowerCase(),n=t.toLowerCase(),o=[];let l=0;for(let d=0;d<a.length&&l<n.length;d++)a[d]===n[l]&&(o.push(d),l++);return l===n.length?{matched:!0,indices:o}:null}function y_(e,t){if(t.length===0)return r.jsx(r.Fragment,{children:e});const a=[],n=new Set(t);let o=0;for(let l=0;l<e.length;l++)n.has(l)&&(l>o&&a.push(r.jsx("span",{children:e.slice(o,l)},`text-${o}`)),a.push(r.jsx("mark",{className:"bg-yellow-200 text-gray-900 dark:bg-yellow-700 dark:text-white rounded-sm px-0.5",children:e[l]},`match-${l}`)),o=l+1);return o<e.length&&a.push(r.jsx("span",{children:e.slice(o)},`text-${o}`)),r.jsx(r.Fragment,{children:a})}function b_({entity:e,isSelected:t,onClick:a,searchQuery:n}){const o=wC(e.entityType),l=g_(e.entityType),d=e.active!==!1,u=y.useMemo(()=>{if(!n)return e.name;const m=p_(e.name,n);return m&&m.indices.length>0?y_(e.name,m.indices):e.name},[e.name,n]);return r.jsxs("div",{className:`
47
+ relative flex gap-3 p-3 border-b border-[var(--color-border)]
48
+ bg-[var(--color-surface)] cursor-pointer transition-colors duration-150
49
+ active:bg-[var(--color-surface-hover)]
50
+ ${t?"bg-blue-50 dark:bg-blue-900/20":""}
51
+ ${d?"":"opacity-60"}
52
+ `,onClick:a,"data-testid":`mobile-entity-card-${e.id}`,children:[r.jsx("div",{className:`flex-shrink-0 w-10 h-10 rounded-full flex items-center justify-center ${o.bgColor}`,children:r.jsx(l,{className:`w-5 h-5 ${o.textColor}`})}),r.jsxs("div",{className:"flex-1 min-w-0",children:[r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsx("div",{className:"font-medium text-[var(--color-text)] truncate","data-testid":`mobile-entity-name-${e.id}`,children:u}),!d&&r.jsx("span",{className:"px-1.5 py-0.5 text-xs font-medium bg-gray-100 text-gray-600 dark:bg-gray-800 dark:text-gray-400 rounded flex-shrink-0",children:"Inactive"})]}),r.jsx("div",{className:"text-xs text-[var(--color-text-muted)] font-mono truncate mb-1.5",children:e.id}),r.jsxs("div",{className:"flex items-center gap-1.5 flex-wrap",children:[r.jsx("span",{className:`px-1.5 py-0.5 text-xs font-medium rounded ${o.bgColor} ${o.textColor}`,children:e.entityType}),e.tags&&e.tags.slice(0,2).map(m=>r.jsx("span",{className:"px-1.5 py-0.5 text-xs bg-[var(--color-surface-hover)] text-[var(--color-text-secondary)] rounded truncate max-w-20",children:m},m)),e.tags&&e.tags.length>2&&r.jsxs("span",{className:"text-xs text-[var(--color-text-muted)]",children:["+",e.tags.length-2]})]})]}),r.jsx("div",{className:"flex-shrink-0 self-center text-[var(--color-text-tertiary)]",children:r.jsx(Lt,{className:"w-5 h-5"})})]})}const qw={agent:{icon:tr,bg:"bg-purple-100",text:"text-purple-700",darkBg:"dark:bg-purple-900/30",darkText:"dark:text-purple-300"},human:{icon:Ze,bg:"bg-blue-100",text:"text-blue-700",darkBg:"dark:bg-blue-900/30",darkText:"dark:text-blue-300"},system:{icon:gr,bg:"bg-gray-100",text:"text-gray-700",darkBg:"dark:bg-gray-800/50",darkText:"dark:text-gray-300"}};function SC(e){return qw[e??"system"]||qw.system}function v_(e){const t=e?.startsWith("el-");return be({queryKey:["entities","byRef",e],queryFn:async()=>{if(!e)return null;if(t){const a=await fetch(`/api/entities/${e}`);if(!a.ok){if(a.status===404)return null;throw new Error("Failed to fetch entity")}return a.json()}else{const a=await fetch(`/api/entities?search=${encodeURIComponent(e)}&limit=100`);if(!a.ok)throw new Error("Failed to fetch entity");return(await a.json()).items.find(l=>l.name.toLowerCase()===e.toLowerCase())??null}},enabled:!!e,staleTime:3e4})}function j_(e){return be({queryKey:["entities",e,"stats"],queryFn:async()=>{const t=await fetch(`/api/entities/${e}/stats`);if(!t.ok)throw new Error("Failed to fetch entity stats");return t.json()},enabled:!!e,staleTime:3e4})}function mo({entityRef:e,children:t,className:a="",showHoverCard:n=!1,showStats:o=!0,showIcon:l=!1,navigable:d=!1,onNavigate:u,renderProfileLink:m,"data-testid":h}){const{data:x,isLoading:g}=v_(e),{data:p,isLoading:j}=j_(n&&o?x?.id??null:null),k=t??x?.name??e,N=SC(x?.entityType),v=N.icon,T=d?O=>{O.preventDefault(),O.stopPropagation(),u?.(x??null,e)}:void 0;if(!d&&!n&&g)return r.jsxs("span",{className:`inline-flex items-center gap-1 text-gray-400 ${a}`,children:[r.jsx(je,{className:"w-3 h-3 animate-spin"}),e]});const E=d?r.jsxs("button",{onClick:T,className:`inline-flex items-center gap-1 text-blue-600 hover:text-blue-800 hover:underline cursor-pointer font-medium ${a}`,"data-testid":h||`entity-link-${e}`,children:[l&&r.jsx(v,{className:`w-3.5 h-3.5 ${N.text} ${N.darkText}`}),k]}):r.jsxs("span",{className:`inline-flex items-center gap-1 text-blue-600 hover:text-blue-800 font-medium ${a}`,"data-testid":h||`entity-link-${e}`,title:x?`${x.name} (${x.entityType})`:e,children:[l&&r.jsx(v,{className:`w-3.5 h-3.5 ${N.text} ${N.darkText}`}),k]});return n?r.jsxs(sA,{openDelay:400,closeDelay:200,children:[r.jsx(iA,{asChild:!0,children:E}),r.jsx(oA,{children:r.jsxs(lA,{className:`w-72 p-4 bg-white dark:bg-gray-900 border border-gray-200 dark:border-gray-700 rounded-lg shadow-lg z-50
53
+ animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out
54
+ data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95
55
+ data-[side=top]:slide-in-from-bottom-2
56
+ data-[side=bottom]:slide-in-from-top-2`,sideOffset:5,"data-testid":`entity-preview-${e}`,children:[g?r.jsx("div",{className:"flex items-center justify-center py-4",children:r.jsx(je,{className:"w-5 h-5 animate-spin text-gray-400"})}):x?r.jsx(w_,{entity:x,stats:o?p:void 0,statsLoading:o?j:!1,onNavigate:u,renderProfileLink:m}):r.jsxs("div",{className:"text-sm text-gray-500 dark:text-gray-400",children:["Entity not found: ",e]}),r.jsx(cA,{className:"fill-white dark:fill-gray-900"})]})})]}):E}function w_({entity:e,stats:t,statsLoading:a,onNavigate:n,renderProfileLink:o}){const l=SC(e.entityType),d=l.icon;return r.jsxs("div",{className:"space-y-3",children:[r.jsxs("div",{className:"flex items-start gap-3",children:[r.jsx("div",{className:`p-2 rounded-lg ${l.bg} ${l.darkBg}`,children:r.jsx(d,{className:`w-5 h-5 ${l.text} ${l.darkText}`})}),r.jsxs("div",{className:"flex-1 min-w-0",children:[r.jsx("div",{className:"font-semibold text-gray-900 dark:text-gray-100 truncate",children:e.name}),r.jsx("div",{className:`text-xs ${l.text} ${l.darkText} capitalize`,children:e.entityType})]})]}),a?r.jsxs("div",{className:"flex items-center gap-2 text-sm text-gray-500",children:[r.jsx(je,{className:"w-3 h-3 animate-spin"}),"Loading stats..."]}):t?r.jsxs("div",{className:"grid grid-cols-3 gap-2 text-center",children:[r.jsxs("div",{className:"p-2 bg-gray-50 dark:bg-gray-800 rounded",children:[r.jsx("div",{className:"text-lg font-semibold text-gray-900 dark:text-gray-100",children:t.openTasks}),r.jsx("div",{className:"text-xs text-gray-500 dark:text-gray-400",children:"Open"})]}),r.jsxs("div",{className:"p-2 bg-gray-50 dark:bg-gray-800 rounded",children:[r.jsx("div",{className:"text-lg font-semibold text-gray-900 dark:text-gray-100",children:t.completedTasks}),r.jsx("div",{className:"text-xs text-gray-500 dark:text-gray-400",children:"Done"})]}),r.jsxs("div",{className:"p-2 bg-gray-50 dark:bg-gray-800 rounded",children:[r.jsx("div",{className:"text-lg font-semibold text-gray-900 dark:text-gray-100",children:t.totalTasks}),r.jsx("div",{className:"text-xs text-gray-500 dark:text-gray-400",children:"Total"})]})]}):null,t?.currentTask&&r.jsxs("div",{className:"p-2 bg-blue-50 dark:bg-blue-900/30 rounded border border-blue-100 dark:border-blue-800",children:[r.jsxs("div",{className:"flex items-center gap-1.5 text-xs text-blue-600 dark:text-blue-400 mb-1",children:[r.jsx(_t,{className:"w-3 h-3"}),"Currently working on"]}),r.jsx("div",{className:"text-sm font-medium text-gray-900 dark:text-gray-100 truncate",children:t.currentTask.title})]}),e.tags&&e.tags.length>0&&r.jsxs("div",{className:"flex flex-wrap gap-1",children:[e.tags.slice(0,3).map(u=>r.jsx("span",{className:"px-1.5 py-0.5 text-xs bg-gray-100 dark:bg-gray-800 text-gray-600 dark:text-gray-400 rounded",children:u},u)),e.tags.length>3&&r.jsxs("span",{className:"text-xs text-gray-500 dark:text-gray-400",children:["+",e.tags.length-3," more"]})]}),o?o(e):n?r.jsxs("button",{onClick:()=>n(e,e.id),className:"flex items-center gap-1 text-xs text-blue-600 dark:text-blue-400 hover:underline cursor-pointer","data-testid":`entity-preview-link-${e.id}`,children:["View full profile",r.jsx(Xc,{className:"w-3 h-3"})]}):null]})}function Bi(e,t,a){let n=a.initialDeps??[],o,l=!0;function d(){var u,m,h;let x;a.key&&((u=a.debug)!=null&&u.call(a))&&(x=Date.now());const g=e();if(!(g.length!==n.length||g.some((k,N)=>n[N]!==k)))return o;n=g;let j;if(a.key&&((m=a.debug)!=null&&m.call(a))&&(j=Date.now()),o=t(...g),a.key&&((h=a.debug)!=null&&h.call(a))){const k=Math.round((Date.now()-x)*100)/100,N=Math.round((Date.now()-j)*100)/100,v=N/16,T=(E,O)=>{for(E=String(E);E.length<O;)E=" "+E;return E};console.info(`%c⏱ ${T(N,5)} /${T(k,5)} ms`,`
57
+ font-size: .6rem;
58
+ font-weight: bold;
59
+ color: hsl(${Math.max(0,Math.min(120-120*v,120))}deg 100% 31%);`,a?.key)}return a?.onChange&&!(l&&a.skipInitialOnChange)&&a.onChange(o),l=!1,o}return d.updateDeps=u=>{n=u},d}function Fw(e,t){if(e===void 0)throw new Error("Unexpected undefined");return e}const k_=(e,t)=>Math.abs(e-t)<1.01,N_=(e,t,a)=>{let n;return function(...o){e.clearTimeout(n),n=e.setTimeout(()=>t.apply(this,o),a)}},Uw=e=>{const{offsetWidth:t,offsetHeight:a}=e;return{width:t,height:a}},S_=e=>e,C_=e=>{const t=Math.max(e.startIndex-e.overscan,0),a=Math.min(e.endIndex+e.overscan,e.count-1),n=[];for(let o=t;o<=a;o++)n.push(o);return n},T_=(e,t)=>{const a=e.scrollElement;if(!a)return;const n=e.targetWindow;if(!n)return;const o=d=>{const{width:u,height:m}=d;t({width:Math.round(u),height:Math.round(m)})};if(o(Uw(a)),!n.ResizeObserver)return()=>{};const l=new n.ResizeObserver(d=>{const u=()=>{const m=d[0];if(m?.borderBoxSize){const h=m.borderBoxSize[0];if(h){o({width:h.inlineSize,height:h.blockSize});return}}o(Uw(a))};e.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(u):u()});return l.observe(a,{box:"border-box"}),()=>{l.unobserve(a)}},Kw={passive:!0},Hw=typeof window>"u"?!0:"onscrollend"in window,E_=(e,t)=>{const a=e.scrollElement;if(!a)return;const n=e.targetWindow;if(!n)return;let o=0;const l=e.options.useScrollendEvent&&Hw?()=>{}:N_(n,()=>{t(o,!1)},e.options.isScrollingResetDelay),d=x=>()=>{const{horizontal:g,isRtl:p}=e.options;o=g?a.scrollLeft*(p&&-1||1):a.scrollTop,l(),t(o,x)},u=d(!0),m=d(!1);a.addEventListener("scroll",u,Kw);const h=e.options.useScrollendEvent&&Hw;return h&&a.addEventListener("scrollend",m,Kw),()=>{a.removeEventListener("scroll",u),h&&a.removeEventListener("scrollend",m)}},O_=(e,t,a)=>{if(t?.borderBoxSize){const n=t.borderBoxSize[0];if(n)return Math.round(n[a.options.horizontal?"inlineSize":"blockSize"])}return e[a.options.horizontal?"offsetWidth":"offsetHeight"]},A_=(e,{adjustments:t=0,behavior:a},n)=>{var o,l;const d=e+t;(l=(o=n.scrollElement)==null?void 0:o.scrollTo)==null||l.call(o,{[n.options.horizontal?"left":"top"]:d,behavior:a})};class $_{constructor(t){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.currentScrollToIndex=null,this.measurementsCache=[],this.itemSizeCache=new Map,this.laneAssignments=new Map,this.pendingMeasuredCacheIndexes=[],this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this.elementsCache=new Map,this.observer=(()=>{let a=null;const n=()=>a||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:a=new this.targetWindow.ResizeObserver(o=>{o.forEach(l=>{const d=()=>{this._measureElement(l.target,l)};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(d):d()})}));return{disconnect:()=>{var o;(o=n())==null||o.disconnect(),a=null},observe:o=>{var l;return(l=n())==null?void 0:l.observe(o,{box:"border-box"})},unobserve:o=>{var l;return(l=n())==null?void 0:l.unobserve(o)}}})(),this.range=null,this.setOptions=a=>{Object.entries(a).forEach(([n,o])=>{typeof o>"u"&&delete a[n]}),this.options={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:S_,rangeExtractor:C_,onChange:()=>{},measureElement:O_,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:"data-index",initialMeasurementsCache:[],lanes:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,...a}},this.notify=a=>{var n,o;(o=(n=this.options).onChange)==null||o.call(n,this,a)},this.maybeNotify=Bi(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),a=>{this.notify(a)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(a=>a()),this.unsubs=[],this.observer.disconnect(),this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{var a;const n=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==n){if(this.cleanup(),!n){this.maybeNotify();return}this.scrollElement=n,this.scrollElement&&"ownerDocument"in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=((a=this.scrollElement)==null?void 0:a.window)??null,this.elementsCache.forEach(o=>{this.observer.observe(o)}),this.unsubs.push(this.options.observeElementRect(this,o=>{this.scrollRect=o,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(o,l)=>{this.scrollAdjustments=0,this.scrollDirection=l?this.getScrollOffset()<o?"forward":"backward":null,this.scrollOffset=o,this.isScrolling=l,this.maybeNotify()})),this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})}},this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?"width":"height"]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset=="function"?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getFurthestMeasurement=(a,n)=>{const o=new Map,l=new Map;for(let d=n-1;d>=0;d--){const u=a[d];if(o.has(u.lane))continue;const m=l.get(u.lane);if(m==null||u.end>m.end?l.set(u.lane,u):u.end<m.end&&o.set(u.lane,!0),o.size===this.options.lanes)break}return l.size===this.options.lanes?Array.from(l.values()).sort((d,u)=>d.end===u.end?d.index-u.index:d.end-u.end)[0]:void 0},this.getMeasurementOptions=Bi(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes],(a,n,o,l,d,u)=>(this.prevLanes!==void 0&&this.prevLanes!==u&&(this.lanesChangedFlag=!0),this.prevLanes=u,this.pendingMeasuredCacheIndexes=[],{count:a,paddingStart:n,scrollMargin:o,getItemKey:l,enabled:d,lanes:u}),{key:!1}),this.getMeasurements=Bi(()=>[this.getMeasurementOptions(),this.itemSizeCache],({count:a,paddingStart:n,scrollMargin:o,getItemKey:l,enabled:d,lanes:u},m)=>{if(!d)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>a)for(const p of this.laneAssignments.keys())p>=a&&this.laneAssignments.delete(p);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMeasuredCacheIndexes=[]),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(p=>{this.itemSizeCache.set(p.key,p.size)}));const h=this.lanesSettling?0:this.pendingMeasuredCacheIndexes.length>0?Math.min(...this.pendingMeasuredCacheIndexes):0;this.pendingMeasuredCacheIndexes=[],this.lanesSettling&&this.measurementsCache.length===a&&(this.lanesSettling=!1);const x=this.measurementsCache.slice(0,h),g=new Array(u).fill(void 0);for(let p=0;p<h;p++){const j=x[p];j&&(g[j.lane]=p)}for(let p=h;p<a;p++){const j=l(p),k=this.laneAssignments.get(p);let N,v;if(k!==void 0&&this.options.lanes>1){N=k;const S=g[N],C=S!==void 0?x[S]:void 0;v=C?C.end+this.options.gap:n+o}else{const S=this.options.lanes===1?x[p-1]:this.getFurthestMeasurement(x,p);v=S?S.end+this.options.gap:n+o,N=S?S.lane:p%this.options.lanes,this.options.lanes>1&&this.laneAssignments.set(p,N)}const T=m.get(j),E=typeof T=="number"?T:this.options.estimateSize(p),O=v+E;x[p]={index:p,start:v,size:E,end:O,key:j,lane:N},g[N]=p}return this.measurementsCache=x,x},{key:!1,debug:()=>this.options.debug}),this.calculateRange=Bi(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(a,n,o,l)=>this.range=a.length>0&&n>0?D_({measurements:a,outerSize:n,scrollOffset:o,lanes:l}):null,{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=Bi(()=>{let a=null,n=null;const o=this.calculateRange();return o&&(a=o.startIndex,n=o.endIndex),this.maybeNotify.updateDeps([this.isScrolling,a,n]),[this.options.rangeExtractor,this.options.overscan,this.options.count,a,n]},(a,n,o,l,d)=>l===null||d===null?[]:a({startIndex:l,endIndex:d,overscan:n,count:o}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=a=>{const n=this.options.indexAttribute,o=a.getAttribute(n);return o?parseInt(o,10):(console.warn(`Missing attribute name '${n}={index}' on measured element.`),-1)},this._measureElement=(a,n)=>{const o=this.indexFromElement(a),l=this.measurementsCache[o];if(!l)return;const d=l.key,u=this.elementsCache.get(d);u!==a&&(u&&this.observer.unobserve(u),this.observer.observe(a),this.elementsCache.set(d,a)),a.isConnected&&this.resizeItem(o,this.options.measureElement(a,n,this))},this.resizeItem=(a,n)=>{const o=this.measurementsCache[a];if(!o)return;const l=this.itemSizeCache.get(o.key)??o.size,d=n-l;d!==0&&((this.shouldAdjustScrollPositionOnItemSizeChange!==void 0?this.shouldAdjustScrollPositionOnItemSizeChange(o,d,this):o.start<this.getScrollOffset()+this.scrollAdjustments)&&this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=d,behavior:void 0}),this.pendingMeasuredCacheIndexes.push(o.index),this.itemSizeCache=new Map(this.itemSizeCache.set(o.key,n)),this.notify(!1))},this.measureElement=a=>{if(!a){this.elementsCache.forEach((n,o)=>{n.isConnected||(this.observer.unobserve(n),this.elementsCache.delete(o))});return}this._measureElement(a,void 0)},this.getVirtualItems=Bi(()=>[this.getVirtualIndexes(),this.getMeasurements()],(a,n)=>{const o=[];for(let l=0,d=a.length;l<d;l++){const u=a[l],m=n[u];o.push(m)}return o},{key:!1,debug:()=>this.options.debug}),this.getVirtualItemForOffset=a=>{const n=this.getMeasurements();if(n.length!==0)return Fw(n[CC(0,n.length-1,o=>Fw(n[o]).start,a)])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if("scrollHeight"in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{const a=this.scrollElement.document.documentElement;return this.options.horizontal?a.scrollWidth-this.scrollElement.innerWidth:a.scrollHeight-this.scrollElement.innerHeight}},this.getOffsetForAlignment=(a,n,o=0)=>{if(!this.scrollElement)return 0;const l=this.getSize(),d=this.getScrollOffset();n==="auto"&&(n=a>=d+l?"end":"start"),n==="center"?a+=(o-l)/2:n==="end"&&(a-=l);const u=this.getMaxScrollOffset();return Math.max(Math.min(u,a),0)},this.getOffsetForIndex=(a,n="auto")=>{a=Math.max(0,Math.min(a,this.options.count-1));const o=this.measurementsCache[a];if(!o)return;const l=this.getSize(),d=this.getScrollOffset();if(n==="auto")if(o.end>=d+l-this.options.scrollPaddingEnd)n="end";else if(o.start<=d+this.options.scrollPaddingStart)n="start";else return[d,n];if(n==="end"&&a===this.options.count-1)return[this.getMaxScrollOffset(),n];const u=n==="end"?o.end+this.options.scrollPaddingEnd:o.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(u,n,o.size),n]},this.isDynamicMode=()=>this.elementsCache.size>0,this.scrollToOffset=(a,{align:n="start",behavior:o}={})=>{o==="smooth"&&this.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size."),this._scrollToOffset(this.getOffsetForAlignment(a,n),{adjustments:void 0,behavior:o})},this.scrollToIndex=(a,{align:n="auto",behavior:o}={})=>{o==="smooth"&&this.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size."),a=Math.max(0,Math.min(a,this.options.count-1)),this.currentScrollToIndex=a;let l=0;const d=10,u=h=>{if(!this.targetWindow)return;const x=this.getOffsetForIndex(a,h);if(!x){console.warn("Failed to get offset for index:",a);return}const[g,p]=x;this._scrollToOffset(g,{adjustments:void 0,behavior:o}),this.targetWindow.requestAnimationFrame(()=>{const j=()=>{if(this.currentScrollToIndex!==a)return;const k=this.getScrollOffset(),N=this.getOffsetForIndex(a,p);if(!N){console.warn("Failed to get offset for index:",a);return}k_(N[0],k)||m(p)};this.isDynamicMode()?this.targetWindow.requestAnimationFrame(j):j()})},m=h=>{this.targetWindow&&this.currentScrollToIndex===a&&(l++,l<d?this.targetWindow.requestAnimationFrame(()=>u(h)):console.warn(`Failed to scroll to index ${a} after ${d} attempts.`))};u(n)},this.scrollBy=(a,{behavior:n}={})=>{n==="smooth"&&this.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size."),this._scrollToOffset(this.getScrollOffset()+a,{adjustments:void 0,behavior:n})},this.getTotalSize=()=>{var a;const n=this.getMeasurements();let o;if(n.length===0)o=this.options.paddingStart;else if(this.options.lanes===1)o=((a=n[n.length-1])==null?void 0:a.end)??0;else{const l=Array(this.options.lanes).fill(null);let d=n.length-1;for(;d>=0&&l.some(u=>u===null);){const u=n[d];l[u.lane]===null&&(l[u.lane]=u.end),d--}o=Math.max(...l.filter(u=>u!==null))}return Math.max(o-this.options.scrollMargin+this.options.paddingEnd,0)},this._scrollToOffset=(a,{adjustments:n,behavior:o})=>{this.options.scrollToFn(a,{behavior:o,adjustments:n},this)},this.measure=()=>{this.itemSizeCache=new Map,this.laneAssignments=new Map,this.notify(!1)},this.setOptions(t)}}const CC=(e,t,a,n)=>{for(;e<=t;){const o=(e+t)/2|0,l=a(o);if(l<n)e=o+1;else if(l>n)t=o-1;else return o}return e>0?e-1:0};function D_({measurements:e,outerSize:t,scrollOffset:a,lanes:n}){const o=e.length-1,l=m=>e[m].start;if(e.length<=n)return{startIndex:0,endIndex:o};let d=CC(0,o,l,a),u=d;if(n===1)for(;u<o&&e[u].end<a+t;)u++;else if(n>1){const m=Array(n).fill(0);for(;u<o&&m.some(x=>x<a+t);){const x=e[u];m[x.lane]=x.end,u++}const h=Array(n).fill(a+t);for(;d>=0&&h.some(x=>x>=a);){const x=e[d];h[x.lane]=x.start,d--}d=Math.max(0,d-d%n),u=Math.min(o,u+(n-1-u%n))}return{startIndex:d,endIndex:u}}const Vw=typeof document<"u"?y.useLayoutEffect:y.useEffect;function __({useFlushSync:e=!0,...t}){const a=y.useReducer(()=>({}),{})[1],n={...t,onChange:(l,d)=>{var u;e&&d?c2.flushSync(a):a(),(u=t.onChange)==null||u.call(t,l,d)}},[o]=y.useState(()=>new $_(n));return o.setOptions(n),Vw(()=>o._didMount(),[]),Vw(()=>o._willUpdate()),o}function tf(e){return __({observeElementRect:T_,observeElementOffset:E_,scrollToFn:A_,...e})}const Hx="stoneforge-current-user-id",TC=y.createContext(void 0);function M_({children:e,useHumanEntities:t}){const{data:a=[],isLoading:n}=t(),[o,l]=y.useState(()=>typeof window<"u"?localStorage.getItem(Hx):null),d=m=>{l(m),typeof window<"u"&&(m?localStorage.setItem(Hx,m):localStorage.removeItem(Hx))};y.useEffect(()=>{!n&&a.length>0&&!o&&d(a[0].id),!n&&a.length>0&&o&&(a.some(h=>h.id===o)||d(a[0].id))},[a,n,o]);const u=a.find(m=>m.id===o)??null;return r.jsx(TC.Provider,{value:{currentUser:u,setCurrentUserId:d,humanEntities:a,isLoading:n},children:e})}function Ea(){const e=y.useContext(TC);if(e===void 0)throw new Error("useCurrentUser must be used within a CurrentUserProvider");return e}const np=36,EC=8,L_=np*EC+8;function P_(){const{currentUser:e,setCurrentUserId:t,humanEntities:a,isLoading:n}=Ea(),[o,l]=y.useState(!1),[d,u]=y.useState(-1),m=y.useRef(null),h=y.useRef(null),x=y.useRef(null),g=tf({count:a.length,getScrollElement:()=>x.current,estimateSize:()=>np,overscan:3}),[p,j]=y.useState({}),k=y.useCallback(()=>{if(m.current){const O=m.current.getBoundingClientRect();j({position:"fixed",top:O.bottom+4,left:O.left,width:O.width*2,zIndex:9999})}},[]);y.useEffect(()=>{if(o){k();const O=a.findIndex(S=>S.id===e?.id);u(O>=0?O:0)}},[o,k,a,e?.id]),y.useEffect(()=>{if(!o)return;const O=C=>{m.current&&!m.current.contains(C.target)&&h.current&&!h.current.contains(C.target)&&l(!1)},S=C=>{C.key==="Escape"&&(l(!1),m.current?.focus())};return document.addEventListener("mousedown",O),document.addEventListener("keydown",S),()=>{document.removeEventListener("mousedown",O),document.removeEventListener("keydown",S)}},[o]);const N=y.useCallback(O=>{if(!o){(O.key==="ArrowDown"||O.key==="ArrowUp"||O.key==="Enter"||O.key===" ")&&(O.preventDefault(),l(!0));return}switch(O.key){case"ArrowDown":O.preventDefault(),u(S=>{const C=S<a.length-1?S+1:S;return g.scrollToIndex(C,{align:"auto"}),C});break;case"ArrowUp":O.preventDefault(),u(S=>{const C=S>0?S-1:S;return g.scrollToIndex(C,{align:"auto"}),C});break;case"Enter":case" ":O.preventDefault(),d>=0&&d<a.length&&(t(a[d].id),l(!1),m.current?.focus());break;case"Home":O.preventDefault(),u(0),g.scrollToIndex(0,{align:"start"});break;case"End":O.preventDefault(),u(a.length-1),g.scrollToIndex(a.length-1,{align:"end"});break}},[o,d,a,t,g]),v=y.useCallback(O=>{t(O),l(!1),m.current?.focus()},[t]);if(n)return r.jsxs("div",{className:"flex items-center gap-2 px-2 py-1 text-sm text-[var(--color-text-tertiary)]",children:[r.jsx(Ze,{className:"w-4 h-4"}),r.jsx("span",{children:"Loading..."})]});if(a.length===0)return r.jsxs("div",{className:"flex items-center gap-2 px-2 py-1 text-sm text-[var(--color-text-tertiary)]",children:[r.jsx(Ze,{className:"w-4 h-4"}),r.jsx("span",{children:"No users"})]});const T=g.getVirtualItems(),E=a.length>EC;return r.jsxs(r.Fragment,{children:[r.jsxs("button",{ref:m,type:"button",onClick:()=>l(!o),onKeyDown:N,className:"inline-flex items-center gap-1.5 px-2.5 py-1.5 text-sm text-[var(--color-text-secondary)] hover:bg-[var(--color-surface-hover)] rounded-md transition-colors border border-[var(--color-border)]","data-testid":"user-selector-trigger","aria-haspopup":"listbox","aria-expanded":o,children:[r.jsx(Ze,{className:"w-4 h-4"}),r.jsx("span",{className:"truncate max-w-[120px]",children:e?.name??"Select user"}),r.jsx(it,{className:`w-3.5 h-3.5 transition-transform ${o?"rotate-180":""}`})]}),o&&c2.createPortal(r.jsxs("div",{ref:h,style:p,className:"bg-[var(--color-surface)] border border-[var(--color-border)] rounded-md shadow-lg py-1 overflow-hidden",role:"listbox","data-testid":"user-selector-dropdown",children:[r.jsx("div",{ref:x,className:"overflow-auto p-1",style:{maxHeight:L_},onKeyDown:N,children:r.jsx("div",{style:{height:g.getTotalSize(),width:"100%",position:"relative"},children:T.map(O=>{const S=a[O.index],C=S.id===e?.id,A=O.index===d;return r.jsx("div",{style:{position:"absolute",top:0,left:0,width:"100%",height:np,transform:`translateY(${O.start}px)`},children:r.jsxs("button",{type:"button",onClick:()=>v(S.id),onMouseEnter:()=>u(O.index),className:["w-full text-left px-3 py-1.5 text-sm","flex items-center justify-between","transition-colors",C?"text-[var(--color-primary)] font-medium":"text-[var(--color-text)]",A?"bg-[var(--color-surface-hover)]":"hover:bg-[var(--color-surface-hover)]"].join(" "),role:"option","aria-selected":C,"data-testid":`user-selector-option-${S.id}`,children:[r.jsx("span",{className:"truncate",children:S.name}),C&&r.jsx("span",{className:"text-[var(--color-primary)]",children:"✓"})]})},S.id)})})}),E&&r.jsxs("div",{className:"px-2 py-1 text-xs text-center text-[var(--color-text-tertiary)] border-t border-[var(--color-border)]",children:[a.length," users"]})]}),document.body)]})}function OC({channel:e,className:t="w-5 h-5"}){return e.channelType==="direct"?r.jsx(Bt,{className:`text-gray-400 ${t}`}):e.permissions?.visibility==="private"?r.jsx(m2,{className:`text-gray-400 ${t}`}):r.jsx(es,{className:`text-gray-400 ${t}`})}function R_({channel:e,isMobile:t=!1,onBack:a,onOpenMembers:n,renderIcon:o,renderActions:l,showMemberCount:d=!1,membersButtonLabel:u,useSettingsIcon:m=!1}){const h=e.members?.length||0,x=p=>`${p} ${p===1?"member":"members"}`,g=m?Jn:mO;return r.jsx("div",{"data-testid":"channel-header",className:`border-b border-[var(--color-border)] bg-[var(--color-bg)] ${t?"px-2 py-2":"px-4 py-3"}`,children:r.jsxs("div",{className:`flex items-center ${t?"gap-2":"gap-2 sm:gap-3"}`,children:[t&&a&&r.jsx("button",{onClick:a,className:"p-2 -ml-2 rounded-md text-[var(--color-text-secondary)] hover:text-[var(--color-text)] hover:bg-[var(--color-surface-hover)] transition-colors touch-target","data-testid":"channel-back-button","aria-label":"Back to channels",children:r.jsx(Pr,{className:"w-5 h-5"})}),o?o(e):r.jsx(OC,{channel:e,className:t?"w-4 h-4":"w-5 h-5"}),r.jsx("h3",{"data-testid":"channel-name",className:`font-medium text-[var(--color-text)] truncate ${t?"text-base":d?"text-lg font-semibold":""}`,children:e.name}),n&&!t&&r.jsxs("button",{onClick:n,className:"flex items-center gap-1 text-sm text-gray-500 dark:text-gray-400 hover:text-blue-600 hover:bg-blue-50 dark:hover:bg-blue-900/30 px-2 py-1 rounded transition-colors","data-testid":"channel-members-button",children:[r.jsx(g,{className:"w-4 h-4"}),(u||x)(h)]}),r.jsx("div",{className:"flex-1"}),l?.({channel:e,isMobile:t}),n&&t&&r.jsx("button",{onClick:n,className:"p-2 rounded-md text-gray-500 dark:text-gray-400 hover:text-[var(--color-text)] hover:bg-[var(--color-surface-hover)] transition-colors touch-target","data-testid":"channel-members-button","aria-label":"View members",children:m?r.jsx(Jn,{className:"w-5 h-5"}):r.jsx(Bt,{className:"w-5 h-5"})})]})})}function I_(e={}){const{onResultSelect:t,enableKeyboardShortcut:a=!0}=e,[n,o]=y.useState(""),[l,d]=y.useState(!1),u=y.useRef(null),m=y.useCallback(x=>{o(""),d(!1),t?.(x)},[t]),h=y.useCallback(()=>{o(""),d(!1)},[]);return y.useEffect(()=>{if(!a)return;const x=g=>{(g.metaKey||g.ctrlKey)&&g.key==="f"&&(g.preventDefault(),u.current?.focus(),d(!0))};return window.addEventListener("keydown",x),()=>window.removeEventListener("keydown",x)},[a]),{searchQuery:n,setSearchQuery:o,isSearchOpen:l,setIsSearchOpen:d,searchInputRef:u,handleResultSelect:m,clearSearch:h}}var B_=wA();const ma=Nt(B_);var Vx,Gw;function z_(){if(Gw)return Vx;Gw=1;function e(t){return t==null}return Vx=e,Vx}var q_=z_();const st=Nt(q_);var F_=kA();const Hs=Nt(F_);var U_=NA();const We=Nt(U_);var K_=H0();const Ho=Nt(K_);var Gx={exports:{}},ot={};/**
60
+ * @license React
61
+ * react-is.production.min.js
62
+ *
63
+ * Copyright (c) Facebook, Inc. and its affiliates.
64
+ *
65
+ * This source code is licensed under the MIT license found in the
66
+ * LICENSE file in the root directory of this source tree.
67
+ */var Yw;function H_(){if(Yw)return ot;Yw=1;var e=Symbol.for("react.element"),t=Symbol.for("react.portal"),a=Symbol.for("react.fragment"),n=Symbol.for("react.strict_mode"),o=Symbol.for("react.profiler"),l=Symbol.for("react.provider"),d=Symbol.for("react.context"),u=Symbol.for("react.server_context"),m=Symbol.for("react.forward_ref"),h=Symbol.for("react.suspense"),x=Symbol.for("react.suspense_list"),g=Symbol.for("react.memo"),p=Symbol.for("react.lazy"),j=Symbol.for("react.offscreen"),k;k=Symbol.for("react.module.reference");function N(v){if(typeof v=="object"&&v!==null){var T=v.$$typeof;switch(T){case e:switch(v=v.type,v){case a:case o:case n:case h:case x:return v;default:switch(v=v&&v.$$typeof,v){case u:case d:case m:case p:case g:case l:return v;default:return T}}case t:return T}}}return ot.ContextConsumer=d,ot.ContextProvider=l,ot.Element=e,ot.ForwardRef=m,ot.Fragment=a,ot.Lazy=p,ot.Memo=g,ot.Portal=t,ot.Profiler=o,ot.StrictMode=n,ot.Suspense=h,ot.SuspenseList=x,ot.isAsyncMode=function(){return!1},ot.isConcurrentMode=function(){return!1},ot.isContextConsumer=function(v){return N(v)===d},ot.isContextProvider=function(v){return N(v)===l},ot.isElement=function(v){return typeof v=="object"&&v!==null&&v.$$typeof===e},ot.isForwardRef=function(v){return N(v)===m},ot.isFragment=function(v){return N(v)===a},ot.isLazy=function(v){return N(v)===p},ot.isMemo=function(v){return N(v)===g},ot.isPortal=function(v){return N(v)===t},ot.isProfiler=function(v){return N(v)===o},ot.isStrictMode=function(v){return N(v)===n},ot.isSuspense=function(v){return N(v)===h},ot.isSuspenseList=function(v){return N(v)===x},ot.isValidElementType=function(v){return typeof v=="string"||typeof v=="function"||v===a||v===o||v===n||v===h||v===x||v===j||typeof v=="object"&&v!==null&&(v.$$typeof===p||v.$$typeof===g||v.$$typeof===l||v.$$typeof===d||v.$$typeof===m||v.$$typeof===k||v.getModuleId!==void 0)},ot.typeOf=N,ot}var Qw;function V_(){return Qw||(Qw=1,Gx.exports=H_()),Gx.exports}var G_=V_(),Yx,Xw;function AC(){if(Xw)return Yx;Xw=1;var e=sC(),t=iC(),a="[object Number]";function n(o){return typeof o=="number"||t(o)&&e(o)==a}return Yx=n,Yx}var Qx,Ww;function Y_(){if(Ww)return Qx;Ww=1;var e=AC();function t(a){return e(a)&&a!=+a}return Qx=t,Qx}var Q_=Y_();const nd=Nt(Q_);var X_=AC();const W_=Nt(X_);var wa=function(t){return t===0?0:t>0?1:-1},Ms=function(t){return Hs(t)&&t.indexOf("%")===t.length-1},Se=function(t){return W_(t)&&!nd(t)},Z_=function(t){return st(t)},er=function(t){return Se(t)||Hs(t)},J_=0,rf=function(t){var a=++J_;return"".concat(t||"").concat(a)},Vs=function(t,a){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(!Se(t)&&!Hs(t))return n;var l;if(Ms(t)){var d=t.indexOf("%");l=a*parseFloat(t.slice(0,d))/100}else l=+t;return nd(l)&&(l=n),o&&l>a&&(l=a),l},Yi=function(t){if(!t)return null;var a=Object.keys(t);return a&&a.length?t[a[0]]:null},eM=function(t){if(!Array.isArray(t))return!1;for(var a=t.length,n={},o=0;o<a;o++)if(!n[t[o]])n[t[o]]=!0;else return!0;return!1},zi=function(t,a){return Se(t)&&Se(a)?function(n){return t+n*(a-t)}:function(){return a}};function sp(e,t,a){return!e||!e.length?null:e.find(function(n){return n&&(typeof t=="function"?t(n):ma(n,t))===a})}var tM=function(t,a){return Se(t)&&Se(a)?t-a:Hs(t)&&Hs(a)?t.localeCompare(a):t instanceof Date&&a instanceof Date?t.getTime()-a.getTime():String(t).localeCompare(String(a))};function ro(e,t){for(var a in e)if({}.hasOwnProperty.call(e,a)&&(!{}.hasOwnProperty.call(t,a)||e[a]!==t[a]))return!1;for(var n in t)if({}.hasOwnProperty.call(t,n)&&!{}.hasOwnProperty.call(e,n))return!1;return!0}function ip(e){"@babel/helpers - typeof";return ip=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ip(e)}var rM=["viewBox","children"],aM=["aria-activedescendant","aria-atomic","aria-autocomplete","aria-busy","aria-checked","aria-colcount","aria-colindex","aria-colspan","aria-controls","aria-current","aria-describedby","aria-details","aria-disabled","aria-errormessage","aria-expanded","aria-flowto","aria-haspopup","aria-hidden","aria-invalid","aria-keyshortcuts","aria-label","aria-labelledby","aria-level","aria-live","aria-modal","aria-multiline","aria-multiselectable","aria-orientation","aria-owns","aria-placeholder","aria-posinset","aria-pressed","aria-readonly","aria-relevant","aria-required","aria-roledescription","aria-rowcount","aria-rowindex","aria-rowspan","aria-selected","aria-setsize","aria-sort","aria-valuemax","aria-valuemin","aria-valuenow","aria-valuetext","className","color","height","id","lang","max","media","method","min","name","style","target","width","role","tabIndex","accentHeight","accumulate","additive","alignmentBaseline","allowReorder","alphabetic","amplitude","arabicForm","ascent","attributeName","attributeType","autoReverse","azimuth","baseFrequency","baselineShift","baseProfile","bbox","begin","bias","by","calcMode","capHeight","clip","clipPath","clipPathUnits","clipRule","colorInterpolation","colorInterpolationFilters","colorProfile","colorRendering","contentScriptType","contentStyleType","cursor","cx","cy","d","decelerate","descent","diffuseConstant","direction","display","divisor","dominantBaseline","dur","dx","dy","edgeMode","elevation","enableBackground","end","exponent","externalResourcesRequired","fill","fillOpacity","fillRule","filter","filterRes","filterUnits","floodColor","floodOpacity","focusable","fontFamily","fontSize","fontSizeAdjust","fontStretch","fontStyle","fontVariant","fontWeight","format","from","fx","fy","g1","g2","glyphName","glyphOrientationHorizontal","glyphOrientationVertical","glyphRef","gradientTransform","gradientUnits","hanging","horizAdvX","horizOriginX","href","ideographic","imageRendering","in2","in","intercept","k1","k2","k3","k4","k","kernelMatrix","kernelUnitLength","kerning","keyPoints","keySplines","keyTimes","lengthAdjust","letterSpacing","lightingColor","limitingConeAngle","local","markerEnd","markerHeight","markerMid","markerStart","markerUnits","markerWidth","mask","maskContentUnits","maskUnits","mathematical","mode","numOctaves","offset","opacity","operator","order","orient","orientation","origin","overflow","overlinePosition","overlineThickness","paintOrder","panose1","pathLength","patternContentUnits","patternTransform","patternUnits","pointerEvents","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","r","radius","refX","refY","renderingIntent","repeatCount","repeatDur","requiredExtensions","requiredFeatures","restart","result","rotate","rx","ry","seed","shapeRendering","slope","spacing","specularConstant","specularExponent","speed","spreadMethod","startOffset","stdDeviation","stemh","stemv","stitchTiles","stopColor","stopOpacity","strikethroughPosition","strikethroughThickness","string","stroke","strokeDasharray","strokeDashoffset","strokeLinecap","strokeLinejoin","strokeMiterlimit","strokeOpacity","strokeWidth","surfaceScale","systemLanguage","tableValues","targetX","targetY","textAnchor","textDecoration","textLength","textRendering","to","transform","u1","u2","underlinePosition","underlineThickness","unicode","unicodeBidi","unicodeRange","unitsPerEm","vAlphabetic","values","vectorEffect","version","vertAdvY","vertOriginX","vertOriginY","vHanging","vIdeographic","viewTarget","visibility","vMathematical","widths","wordSpacing","writingMode","x1","x2","x","xChannelSelector","xHeight","xlinkActuate","xlinkArcrole","xlinkHref","xlinkRole","xlinkShow","xlinkTitle","xlinkType","xmlBase","xmlLang","xmlns","xmlnsXlink","xmlSpace","y1","y2","y","yChannelSelector","z","zoomAndPan","ref","key","angle"],Zw=["points","pathLength"],Xx={svg:rM,polygon:Zw,polyline:Zw},X0=["dangerouslySetInnerHTML","onCopy","onCopyCapture","onCut","onCutCapture","onPaste","onPasteCapture","onCompositionEnd","onCompositionEndCapture","onCompositionStart","onCompositionStartCapture","onCompositionUpdate","onCompositionUpdateCapture","onFocus","onFocusCapture","onBlur","onBlurCapture","onChange","onChangeCapture","onBeforeInput","onBeforeInputCapture","onInput","onInputCapture","onReset","onResetCapture","onSubmit","onSubmitCapture","onInvalid","onInvalidCapture","onLoad","onLoadCapture","onError","onErrorCapture","onKeyDown","onKeyDownCapture","onKeyPress","onKeyPressCapture","onKeyUp","onKeyUpCapture","onAbort","onAbortCapture","onCanPlay","onCanPlayCapture","onCanPlayThrough","onCanPlayThroughCapture","onDurationChange","onDurationChangeCapture","onEmptied","onEmptiedCapture","onEncrypted","onEncryptedCapture","onEnded","onEndedCapture","onLoadedData","onLoadedDataCapture","onLoadedMetadata","onLoadedMetadataCapture","onLoadStart","onLoadStartCapture","onPause","onPauseCapture","onPlay","onPlayCapture","onPlaying","onPlayingCapture","onProgress","onProgressCapture","onRateChange","onRateChangeCapture","onSeeked","onSeekedCapture","onSeeking","onSeekingCapture","onStalled","onStalledCapture","onSuspend","onSuspendCapture","onTimeUpdate","onTimeUpdateCapture","onVolumeChange","onVolumeChangeCapture","onWaiting","onWaitingCapture","onAuxClick","onAuxClickCapture","onClick","onClickCapture","onContextMenu","onContextMenuCapture","onDoubleClick","onDoubleClickCapture","onDrag","onDragCapture","onDragEnd","onDragEndCapture","onDragEnter","onDragEnterCapture","onDragExit","onDragExitCapture","onDragLeave","onDragLeaveCapture","onDragOver","onDragOverCapture","onDragStart","onDragStartCapture","onDrop","onDropCapture","onMouseDown","onMouseDownCapture","onMouseEnter","onMouseLeave","onMouseMove","onMouseMoveCapture","onMouseOut","onMouseOutCapture","onMouseOver","onMouseOverCapture","onMouseUp","onMouseUpCapture","onSelect","onSelectCapture","onTouchCancel","onTouchCancelCapture","onTouchEnd","onTouchEndCapture","onTouchMove","onTouchMoveCapture","onTouchStart","onTouchStartCapture","onPointerDown","onPointerDownCapture","onPointerMove","onPointerMoveCapture","onPointerUp","onPointerUpCapture","onPointerCancel","onPointerCancelCapture","onPointerEnter","onPointerEnterCapture","onPointerLeave","onPointerLeaveCapture","onPointerOver","onPointerOverCapture","onPointerOut","onPointerOutCapture","onGotPointerCapture","onGotPointerCaptureCapture","onLostPointerCapture","onLostPointerCaptureCapture","onScroll","onScrollCapture","onWheel","onWheelCapture","onAnimationStart","onAnimationStartCapture","onAnimationEnd","onAnimationEndCapture","onAnimationIteration","onAnimationIterationCapture","onTransitionEnd","onTransitionEndCapture"],tm=function(t,a){if(!t||typeof t=="function"||typeof t=="boolean")return null;var n=t;if(y.isValidElement(t)&&(n=t.props),!Ho(n))return null;var o={};return Object.keys(n).forEach(function(l){X0.includes(l)&&(o[l]=a||function(d){return n[l](n,d)})}),o},nM=function(t,a,n){return function(o){return t(a,n,o),null}},rm=function(t,a,n){if(!Ho(t)||ip(t)!=="object")return null;var o=null;return Object.keys(t).forEach(function(l){var d=t[l];X0.includes(l)&&typeof d=="function"&&(o||(o={}),o[l]=nM(d,a,n))}),o},sM=["children"],iM=["children"];function Jw(e,t){if(e==null)return{};var a=oM(e,t),n,o;if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(o=0;o<l.length;o++)n=l[o],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}function oM(e,t){if(e==null)return{};var a={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;a[n]=e[n]}return a}var ek={click:"onClick",mousedown:"onMouseDown",mouseup:"onMouseUp",mouseover:"onMouseOver",mousemove:"onMouseMove",mouseout:"onMouseOut",mouseenter:"onMouseEnter",mouseleave:"onMouseLeave",touchcancel:"onTouchCancel",touchend:"onTouchEnd",touchmove:"onTouchMove",touchstart:"onTouchStart",contextmenu:"onContextMenu",dblclick:"onDoubleClick"},yn=function(t){return typeof t=="string"?t:t?t.displayName||t.name||"Component":""},tk=null,Wx=null,W0=function e(t){if(t===tk&&Array.isArray(Wx))return Wx;var a=[];return y.Children.forEach(t,function(n){st(n)||(G_.isFragment(n)?a=a.concat(e(n.props.children)):a.push(n))}),Wx=a,tk=t,a};function Na(e,t){var a=[],n=[];return Array.isArray(t)?n=t.map(function(o){return yn(o)}):n=[yn(t)],W0(e).forEach(function(o){var l=ma(o,"type.displayName")||ma(o,"type.name");n.indexOf(l)!==-1&&a.push(o)}),a}function Yr(e,t){var a=Na(e,t);return a&&a[0]}var rk=function(t){if(!t||!t.props)return!1;var a=t.props,n=a.width,o=a.height;return!(!Se(n)||n<=0||!Se(o)||o<=0)},lM=["a","altGlyph","altGlyphDef","altGlyphItem","animate","animateColor","animateMotion","animateTransform","circle","clipPath","color-profile","cursor","defs","desc","ellipse","feBlend","feColormatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","filter","font","font-face","font-face-format","font-face-name","font-face-url","foreignObject","g","glyph","glyphRef","hkern","image","line","lineGradient","marker","mask","metadata","missing-glyph","mpath","path","pattern","polygon","polyline","radialGradient","rect","script","set","stop","style","svg","switch","symbol","text","textPath","title","tref","tspan","use","view","vkern"],cM=function(t){return t&&t.type&&Hs(t.type)&&lM.indexOf(t.type)>=0},dM=function(t,a,n,o){var l,d=(l=Xx?.[o])!==null&&l!==void 0?l:[];return a.startsWith("data-")||!We(t)&&(o&&d.includes(a)||aM.includes(a))||n&&X0.includes(a)},ct=function(t,a,n){if(!t||typeof t=="function"||typeof t=="boolean")return null;var o=t;if(y.isValidElement(t)&&(o=t.props),!Ho(o))return null;var l={};return Object.keys(o).forEach(function(d){var u;dM((u=o)===null||u===void 0?void 0:u[d],d,a,n)&&(l[d]=o[d])}),l},op=function e(t,a){if(t===a)return!0;var n=y.Children.count(t);if(n!==y.Children.count(a))return!1;if(n===0)return!0;if(n===1)return ak(Array.isArray(t)?t[0]:t,Array.isArray(a)?a[0]:a);for(var o=0;o<n;o++){var l=t[o],d=a[o];if(Array.isArray(l)||Array.isArray(d)){if(!e(l,d))return!1}else if(!ak(l,d))return!1}return!0},ak=function(t,a){if(st(t)&&st(a))return!0;if(!st(t)&&!st(a)){var n=t.props||{},o=n.children,l=Jw(n,sM),d=a.props||{},u=d.children,m=Jw(d,iM);return o&&u?ro(l,m)&&op(o,u):!o&&!u?ro(l,m):!1}return!1},nk=function(t,a){var n=[],o={};return W0(t).forEach(function(l,d){if(cM(l))n.push(l);else if(l){var u=yn(l.type),m=a[u]||{},h=m.handler,x=m.once;if(h&&(!x||!o[u])){var g=h(l,u,d);n.push(g),o[u]=!0}}}),n},uM=function(t){var a=t&&t.type;return a&&ek[a]?ek[a]:null},mM=function(t,a){return W0(a).indexOf(t)},fM=["children","width","height","viewBox","className","style","title","desc"];function lp(){return lp=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},lp.apply(this,arguments)}function hM(e,t){if(e==null)return{};var a=xM(e,t),n,o;if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(o=0;o<l.length;o++)n=l[o],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}function xM(e,t){if(e==null)return{};var a={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;a[n]=e[n]}return a}function cp(e){var t=e.children,a=e.width,n=e.height,o=e.viewBox,l=e.className,d=e.style,u=e.title,m=e.desc,h=hM(e,fM),x=o||{width:a,height:n,x:0,y:0},g=nt("recharts-surface",l);return ee.createElement("svg",lp({},ct(h,!0,"svg"),{className:g,width:a,height:n,style:d,viewBox:"".concat(x.x," ").concat(x.y," ").concat(x.width," ").concat(x.height)}),ee.createElement("title",null,u),ee.createElement("desc",null,m),t)}var gM=["children","className"];function dp(){return dp=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},dp.apply(this,arguments)}function pM(e,t){if(e==null)return{};var a=yM(e,t),n,o;if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(o=0;o<l.length;o++)n=l[o],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}function yM(e,t){if(e==null)return{};var a={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;a[n]=e[n]}return a}var lr=ee.forwardRef(function(e,t){var a=e.children,n=e.className,o=pM(e,gM),l=nt("recharts-layer",n);return ee.createElement("g",dp({className:l},ct(o,!0),{ref:t}),a)}),Rs=function(t,a){for(var n=arguments.length,o=new Array(n>2?n-2:0),l=2;l<n;l++)o[l-2]=arguments[l]},Zx,sk;function bM(){if(sk)return Zx;sk=1;function e(t,a,n){var o=-1,l=t.length;a<0&&(a=-a>l?0:l+a),n=n>l?l:n,n<0&&(n+=l),l=a>n?0:n-a>>>0,a>>>=0;for(var d=Array(l);++o<l;)d[o]=t[o+a];return d}return Zx=e,Zx}var Jx,ik;function vM(){if(ik)return Jx;ik=1;var e=bM();function t(a,n,o){var l=a.length;return o=o===void 0?l:o,!n&&o>=l?a:e(a,n,o)}return Jx=t,Jx}var eg,ok;function jM(){if(ok)return eg;ok=1;function e(t){return t.split("")}return eg=e,eg}var tg,lk;function wM(){if(lk)return tg;lk=1;var e="\\ud800-\\udfff",t="\\u0300-\\u036f",a="\\ufe20-\\ufe2f",n="\\u20d0-\\u20ff",o=t+a+n,l="\\ufe0e\\ufe0f",d="["+e+"]",u="["+o+"]",m="\\ud83c[\\udffb-\\udfff]",h="(?:"+u+"|"+m+")",x="[^"+e+"]",g="(?:\\ud83c[\\udde6-\\uddff]){2}",p="[\\ud800-\\udbff][\\udc00-\\udfff]",j="\\u200d",k=h+"?",N="["+l+"]?",v="(?:"+j+"(?:"+[x,g,p].join("|")+")"+N+k+")*",T=N+k+v,E="(?:"+[x+u+"?",u,g,p,d].join("|")+")",O=RegExp(m+"(?="+m+")|"+E+T,"g");function S(C){return C.match(O)||[]}return tg=S,tg}var rg,ck;function kM(){if(ck)return rg;ck=1;var e=jM(),t=oC(),a=wM();function n(o){return t(o)?a(o):e(o)}return rg=n,rg}var ag,dk;function NM(){if(dk)return ag;dk=1;var e=vM(),t=oC(),a=kM(),n=SA();function o(l){return function(d){d=n(d);var u=t(d)?a(d):void 0,m=u?u[0]:d.charAt(0),h=u?e(u,1).join(""):d.slice(1);return m[l]()+h}}return ag=o,ag}var ng,uk;function SM(){if(uk)return ng;uk=1;var e=NM(),t=e("toUpperCase");return ng=t,ng}var CM=SM();const af=Nt(CM);function uc(e){"@babel/helpers - typeof";return uc=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},uc(e)}var TM=["type","size","sizeType"];function up(){return up=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},up.apply(this,arguments)}function mk(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),a.push.apply(a,n)}return a}function fk(e){for(var t=1;t<arguments.length;t++){var a=arguments[t]!=null?arguments[t]:{};t%2?mk(Object(a),!0).forEach(function(n){EM(e,n,a[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):mk(Object(a)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(a,n))})}return e}function EM(e,t,a){return t=OM(t),t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function OM(e){var t=AM(e,"string");return uc(t)=="symbol"?t:t+""}function AM(e,t){if(uc(e)!="object"||!e)return e;var a=e[Symbol.toPrimitive];if(a!==void 0){var n=a.call(e,t);if(uc(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function $M(e,t){if(e==null)return{};var a=DM(e,t),n,o;if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(o=0;o<l.length;o++)n=l[o],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}function DM(e,t){if(e==null)return{};var a={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;a[n]=e[n]}return a}var $C={symbolCircle:lC,symbolCross:DA,symbolDiamond:$A,symbolSquare:AA,symbolStar:OA,symbolTriangle:EA,symbolWye:TA},_M=Math.PI/180,MM=function(t){var a="symbol".concat(af(t));return $C[a]||lC},LM=function(t,a,n){if(a==="area")return t;switch(n){case"cross":return 5*t*t/9;case"diamond":return .5*t*t/Math.sqrt(3);case"square":return t*t;case"star":{var o=18*_M;return 1.25*t*t*(Math.tan(o)-Math.tan(o*2)*Math.pow(Math.tan(o),2))}case"triangle":return Math.sqrt(3)*t*t/4;case"wye":return(21-10*Math.sqrt(3))*t*t/8;default:return Math.PI*t*t/4}},PM=function(t,a){$C["symbol".concat(af(t))]=a},Z0=function(t){var a=t.type,n=a===void 0?"circle":a,o=t.size,l=o===void 0?64:o,d=t.sizeType,u=d===void 0?"area":d,m=$M(t,TM),h=fk(fk({},m),{},{type:n,size:l,sizeType:u}),x=function(){var v=MM(n),T=CA().type(v).size(LM(l,u,n));return T()},g=h.className,p=h.cx,j=h.cy,k=ct(h,!0);return p===+p&&j===+j&&l===+l?ee.createElement("path",up({},k,{className:nt("recharts-symbols",g),transform:"translate(".concat(p,", ").concat(j,")"),d:x()})):null};Z0.registerSymbol=PM;function fo(e){"@babel/helpers - typeof";return fo=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},fo(e)}function mp(){return mp=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},mp.apply(this,arguments)}function hk(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),a.push.apply(a,n)}return a}function RM(e){for(var t=1;t<arguments.length;t++){var a=arguments[t]!=null?arguments[t]:{};t%2?hk(Object(a),!0).forEach(function(n){mc(e,n,a[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):hk(Object(a)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(a,n))})}return e}function IM(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function BM(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,_C(n.key),n)}}function zM(e,t,a){return t&&BM(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function qM(e,t,a){return t=am(t),FM(e,DC()?Reflect.construct(t,a||[],am(e).constructor):t.apply(e,a))}function FM(e,t){if(t&&(fo(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return UM(e)}function UM(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function DC(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(DC=function(){return!!e})()}function am(e){return am=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(a){return a.__proto__||Object.getPrototypeOf(a)},am(e)}function KM(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&fp(e,t)}function fp(e,t){return fp=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,o){return n.__proto__=o,n},fp(e,t)}function mc(e,t,a){return t=_C(t),t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function _C(e){var t=HM(e,"string");return fo(t)=="symbol"?t:t+""}function HM(e,t){if(fo(e)!="object"||!e)return e;var a=e[Symbol.toPrimitive];if(a!==void 0){var n=a.call(e,t);if(fo(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}var ua=32,J0=(function(e){function t(){return IM(this,t),qM(this,t,arguments)}return KM(t,e),zM(t,[{key:"renderIcon",value:function(n){var o=this.props.inactiveColor,l=ua/2,d=ua/6,u=ua/3,m=n.inactive?o:n.color;if(n.type==="plainline")return ee.createElement("line",{strokeWidth:4,fill:"none",stroke:m,strokeDasharray:n.payload.strokeDasharray,x1:0,y1:l,x2:ua,y2:l,className:"recharts-legend-icon"});if(n.type==="line")return ee.createElement("path",{strokeWidth:4,fill:"none",stroke:m,d:"M0,".concat(l,"h").concat(u,`
68
+ A`).concat(d,",").concat(d,",0,1,1,").concat(2*u,",").concat(l,`
69
+ H`).concat(ua,"M").concat(2*u,",").concat(l,`
70
+ A`).concat(d,",").concat(d,",0,1,1,").concat(u,",").concat(l),className:"recharts-legend-icon"});if(n.type==="rect")return ee.createElement("path",{stroke:"none",fill:m,d:"M0,".concat(ua/8,"h").concat(ua,"v").concat(ua*3/4,"h").concat(-ua,"z"),className:"recharts-legend-icon"});if(ee.isValidElement(n.legendIcon)){var h=RM({},n);return delete h.legendIcon,ee.cloneElement(n.legendIcon,h)}return ee.createElement(Z0,{fill:m,cx:l,cy:l,size:ua,sizeType:"diameter",type:n.type})}},{key:"renderItems",value:function(){var n=this,o=this.props,l=o.payload,d=o.iconSize,u=o.layout,m=o.formatter,h=o.inactiveColor,x={x:0,y:0,width:ua,height:ua},g={display:u==="horizontal"?"inline-block":"block",marginRight:10},p={display:"inline-block",verticalAlign:"middle",marginRight:4};return l.map(function(j,k){var N=j.formatter||m,v=nt(mc(mc({"recharts-legend-item":!0},"legend-item-".concat(k),!0),"inactive",j.inactive));if(j.type==="none")return null;var T=We(j.value)?null:j.value;Rs(!We(j.value),`The name property is also required when using a function for the dataKey of a chart's cartesian components. Ex: <Bar name="Name of my Data"/>`);var E=j.inactive?h:j.color;return ee.createElement("li",mp({className:v,style:g,key:"legend-item-".concat(k)},rm(n.props,j,k)),ee.createElement(cp,{width:d,height:d,viewBox:x,style:p},n.renderIcon(j)),ee.createElement("span",{className:"recharts-legend-item-text",style:{color:E}},N?N(T,j,k):T))})}},{key:"render",value:function(){var n=this.props,o=n.payload,l=n.layout,d=n.align;if(!o||!o.length)return null;var u={padding:0,margin:0,textAlign:l==="horizontal"?d:"left"};return ee.createElement("ul",{className:"recharts-default-legend",style:u},this.renderItems())}}])})(y.PureComponent);mc(J0,"displayName","Legend");mc(J0,"defaultProps",{iconSize:14,layout:"horizontal",align:"center",verticalAlign:"middle",inactiveColor:"#ccc"});var sg,xk;function VM(){if(xk)return sg;xk=1;var e=V0(),t=_A();function a(n,o){return n&&n.length?t(n,e(o,2)):[]}return sg=a,sg}var GM=VM();const gk=Nt(GM);function MC(e,t,a){return t===!0?gk(e,a):We(t)?gk(e,t):e}function ho(e){"@babel/helpers - typeof";return ho=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ho(e)}var YM=["ref"];function pk(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),a.push.apply(a,n)}return a}function xn(e){for(var t=1;t<arguments.length;t++){var a=arguments[t]!=null?arguments[t]:{};t%2?pk(Object(a),!0).forEach(function(n){nf(e,n,a[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):pk(Object(a)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(a,n))})}return e}function QM(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function yk(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,PC(n.key),n)}}function XM(e,t,a){return t&&yk(e.prototype,t),a&&yk(e,a),Object.defineProperty(e,"prototype",{writable:!1}),e}function WM(e,t,a){return t=nm(t),ZM(e,LC()?Reflect.construct(t,a||[],nm(e).constructor):t.apply(e,a))}function ZM(e,t){if(t&&(ho(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return JM(e)}function JM(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function LC(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(LC=function(){return!!e})()}function nm(e){return nm=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(a){return a.__proto__||Object.getPrototypeOf(a)},nm(e)}function e6(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&hp(e,t)}function hp(e,t){return hp=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,o){return n.__proto__=o,n},hp(e,t)}function nf(e,t,a){return t=PC(t),t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function PC(e){var t=t6(e,"string");return ho(t)=="symbol"?t:t+""}function t6(e,t){if(ho(e)!="object"||!e)return e;var a=e[Symbol.toPrimitive];if(a!==void 0){var n=a.call(e,t);if(ho(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}function r6(e,t){if(e==null)return{};var a=a6(e,t),n,o;if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(o=0;o<l.length;o++)n=l[o],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}function a6(e,t){if(e==null)return{};var a={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;a[n]=e[n]}return a}function n6(e){return e.value}function s6(e,t){if(ee.isValidElement(e))return ee.cloneElement(e,t);if(typeof e=="function")return ee.createElement(e,t);t.ref;var a=r6(t,YM);return ee.createElement(J0,a)}var bk=1,ao=(function(e){function t(){var a;QM(this,t);for(var n=arguments.length,o=new Array(n),l=0;l<n;l++)o[l]=arguments[l];return a=WM(this,t,[].concat(o)),nf(a,"lastBoundingBox",{width:-1,height:-1}),a}return e6(t,e),XM(t,[{key:"componentDidMount",value:function(){this.updateBBox()}},{key:"componentDidUpdate",value:function(){this.updateBBox()}},{key:"getBBox",value:function(){if(this.wrapperNode&&this.wrapperNode.getBoundingClientRect){var n=this.wrapperNode.getBoundingClientRect();return n.height=this.wrapperNode.offsetHeight,n.width=this.wrapperNode.offsetWidth,n}return null}},{key:"updateBBox",value:function(){var n=this.props.onBBoxUpdate,o=this.getBBox();o?(Math.abs(o.width-this.lastBoundingBox.width)>bk||Math.abs(o.height-this.lastBoundingBox.height)>bk)&&(this.lastBoundingBox.width=o.width,this.lastBoundingBox.height=o.height,n&&n(o)):(this.lastBoundingBox.width!==-1||this.lastBoundingBox.height!==-1)&&(this.lastBoundingBox.width=-1,this.lastBoundingBox.height=-1,n&&n(null))}},{key:"getBBoxSnapshot",value:function(){return this.lastBoundingBox.width>=0&&this.lastBoundingBox.height>=0?xn({},this.lastBoundingBox):{width:0,height:0}}},{key:"getDefaultPosition",value:function(n){var o=this.props,l=o.layout,d=o.align,u=o.verticalAlign,m=o.margin,h=o.chartWidth,x=o.chartHeight,g,p;if(!n||(n.left===void 0||n.left===null)&&(n.right===void 0||n.right===null))if(d==="center"&&l==="vertical"){var j=this.getBBoxSnapshot();g={left:((h||0)-j.width)/2}}else g=d==="right"?{right:m&&m.right||0}:{left:m&&m.left||0};if(!n||(n.top===void 0||n.top===null)&&(n.bottom===void 0||n.bottom===null))if(u==="middle"){var k=this.getBBoxSnapshot();p={top:((x||0)-k.height)/2}}else p=u==="bottom"?{bottom:m&&m.bottom||0}:{top:m&&m.top||0};return xn(xn({},g),p)}},{key:"render",value:function(){var n=this,o=this.props,l=o.content,d=o.width,u=o.height,m=o.wrapperStyle,h=o.payloadUniqBy,x=o.payload,g=xn(xn({position:"absolute",width:d||"auto",height:u||"auto"},this.getDefaultPosition(m)),m);return ee.createElement("div",{className:"recharts-legend-wrapper",style:g,ref:function(j){n.wrapperNode=j}},s6(l,xn(xn({},this.props),{},{payload:MC(x,h,n6)})))}}],[{key:"getWithHeight",value:function(n,o){var l=xn(xn({},this.defaultProps),n.props),d=l.layout;return d==="vertical"&&Se(n.props.height)?{height:n.props.height}:d==="horizontal"?{width:n.props.width||o}:null}}])})(y.PureComponent);nf(ao,"displayName","Legend");nf(ao,"defaultProps",{iconSize:14,layout:"horizontal",align:"center",verticalAlign:"bottom"});var i6=MA();const ey=Nt(i6);function fc(e){"@babel/helpers - typeof";return fc=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},fc(e)}function xp(){return xp=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},xp.apply(this,arguments)}function o6(e,t){return u6(e)||d6(e,t)||c6(e,t)||l6()}function l6(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
71
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function c6(e,t){if(e){if(typeof e=="string")return vk(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);if(a==="Object"&&e.constructor&&(a=e.constructor.name),a==="Map"||a==="Set")return Array.from(e);if(a==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return vk(e,t)}}function vk(e,t){(t==null||t>e.length)&&(t=e.length);for(var a=0,n=new Array(t);a<t;a++)n[a]=e[a];return n}function d6(e,t){var a=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(a!=null){var n,o,l,d,u=[],m=!0,h=!1;try{if(l=(a=a.call(e)).next,t!==0)for(;!(m=(n=l.call(a)).done)&&(u.push(n.value),u.length!==t);m=!0);}catch(x){h=!0,o=x}finally{try{if(!m&&a.return!=null&&(d=a.return(),Object(d)!==d))return}finally{if(h)throw o}}return u}}function u6(e){if(Array.isArray(e))return e}function jk(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),a.push.apply(a,n)}return a}function ig(e){for(var t=1;t<arguments.length;t++){var a=arguments[t]!=null?arguments[t]:{};t%2?jk(Object(a),!0).forEach(function(n){m6(e,n,a[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):jk(Object(a)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(a,n))})}return e}function m6(e,t,a){return t=f6(t),t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function f6(e){var t=h6(e,"string");return fc(t)=="symbol"?t:t+""}function h6(e,t){if(fc(e)!="object"||!e)return e;var a=e[Symbol.toPrimitive];if(a!==void 0){var n=a.call(e,t);if(fc(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function x6(e){return Array.isArray(e)&&er(e[0])&&er(e[1])?e.join(" ~ "):e}var g6=function(t){var a=t.separator,n=a===void 0?" : ":a,o=t.contentStyle,l=o===void 0?{}:o,d=t.itemStyle,u=d===void 0?{}:d,m=t.labelStyle,h=m===void 0?{}:m,x=t.payload,g=t.formatter,p=t.itemSorter,j=t.wrapperClassName,k=t.labelClassName,N=t.label,v=t.labelFormatter,T=t.accessibilityLayer,E=T===void 0?!1:T,O=function(){if(x&&x.length){var z={padding:0,margin:0},U=(p?ey(x,p):x).map(function(K,R){if(K.type==="none")return null;var L=ig({display:"block",paddingTop:4,paddingBottom:4,color:K.color||"#000"},u),F=K.formatter||g||x6,B=K.value,H=K.name,G=B,W=H;if(F&&G!=null&&W!=null){var te=F(B,H,K,R,x);if(Array.isArray(te)){var le=o6(te,2);G=le[0],W=le[1]}else G=te}return ee.createElement("li",{className:"recharts-tooltip-item",key:"tooltip-item-".concat(R),style:L},er(W)?ee.createElement("span",{className:"recharts-tooltip-item-name"},W):null,er(W)?ee.createElement("span",{className:"recharts-tooltip-item-separator"},n):null,ee.createElement("span",{className:"recharts-tooltip-item-value"},G),ee.createElement("span",{className:"recharts-tooltip-item-unit"},K.unit||""))});return ee.createElement("ul",{className:"recharts-tooltip-item-list",style:z},U)}return null},S=ig({margin:0,padding:10,backgroundColor:"#fff",border:"1px solid #ccc",whiteSpace:"nowrap"},l),C=ig({margin:0},h),A=!st(N),$=A?N:"",P=nt("recharts-default-tooltip",j),M=nt("recharts-tooltip-label",k);A&&v&&x!==void 0&&x!==null&&($=v(N,x));var q=E?{role:"status","aria-live":"assertive"}:{};return ee.createElement("div",xp({className:P,style:S},q),ee.createElement("p",{className:M,style:C},ee.isValidElement($)?$:"".concat($)),O())};function hc(e){"@babel/helpers - typeof";return hc=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},hc(e)}function Cu(e,t,a){return t=p6(t),t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function p6(e){var t=y6(e,"string");return hc(t)=="symbol"?t:t+""}function y6(e,t){if(hc(e)!="object"||!e)return e;var a=e[Symbol.toPrimitive];if(a!==void 0){var n=a.call(e,t);if(hc(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var Il="recharts-tooltip-wrapper",b6={visibility:"hidden"};function v6(e){var t=e.coordinate,a=e.translateX,n=e.translateY;return nt(Il,Cu(Cu(Cu(Cu({},"".concat(Il,"-right"),Se(a)&&t&&Se(t.x)&&a>=t.x),"".concat(Il,"-left"),Se(a)&&t&&Se(t.x)&&a<t.x),"".concat(Il,"-bottom"),Se(n)&&t&&Se(t.y)&&n>=t.y),"".concat(Il,"-top"),Se(n)&&t&&Se(t.y)&&n<t.y))}function wk(e){var t=e.allowEscapeViewBox,a=e.coordinate,n=e.key,o=e.offsetTopLeft,l=e.position,d=e.reverseDirection,u=e.tooltipDimension,m=e.viewBox,h=e.viewBoxDimension;if(l&&Se(l[n]))return l[n];var x=a[n]-u-o,g=a[n]+o;if(t[n])return d[n]?x:g;if(d[n]){var p=x,j=m[n];return p<j?Math.max(g,m[n]):Math.max(x,m[n])}var k=g+u,N=m[n]+h;return k>N?Math.max(x,m[n]):Math.max(g,m[n])}function j6(e){var t=e.translateX,a=e.translateY,n=e.useTranslate3d;return{transform:n?"translate3d(".concat(t,"px, ").concat(a,"px, 0)"):"translate(".concat(t,"px, ").concat(a,"px)")}}function w6(e){var t=e.allowEscapeViewBox,a=e.coordinate,n=e.offsetTopLeft,o=e.position,l=e.reverseDirection,d=e.tooltipBox,u=e.useTranslate3d,m=e.viewBox,h,x,g;return d.height>0&&d.width>0&&a?(x=wk({allowEscapeViewBox:t,coordinate:a,key:"x",offsetTopLeft:n,position:o,reverseDirection:l,tooltipDimension:d.width,viewBox:m,viewBoxDimension:m.width}),g=wk({allowEscapeViewBox:t,coordinate:a,key:"y",offsetTopLeft:n,position:o,reverseDirection:l,tooltipDimension:d.height,viewBox:m,viewBoxDimension:m.height}),h=j6({translateX:x,translateY:g,useTranslate3d:u})):h=b6,{cssProperties:h,cssClasses:v6({translateX:x,translateY:g,coordinate:a})}}function xo(e){"@babel/helpers - typeof";return xo=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},xo(e)}function kk(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),a.push.apply(a,n)}return a}function Nk(e){for(var t=1;t<arguments.length;t++){var a=arguments[t]!=null?arguments[t]:{};t%2?kk(Object(a),!0).forEach(function(n){pp(e,n,a[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):kk(Object(a)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(a,n))})}return e}function k6(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function N6(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,IC(n.key),n)}}function S6(e,t,a){return t&&N6(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function C6(e,t,a){return t=sm(t),T6(e,RC()?Reflect.construct(t,a||[],sm(e).constructor):t.apply(e,a))}function T6(e,t){if(t&&(xo(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return E6(e)}function E6(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function RC(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(RC=function(){return!!e})()}function sm(e){return sm=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(a){return a.__proto__||Object.getPrototypeOf(a)},sm(e)}function O6(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&gp(e,t)}function gp(e,t){return gp=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,o){return n.__proto__=o,n},gp(e,t)}function pp(e,t,a){return t=IC(t),t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function IC(e){var t=A6(e,"string");return xo(t)=="symbol"?t:t+""}function A6(e,t){if(xo(e)!="object"||!e)return e;var a=e[Symbol.toPrimitive];if(a!==void 0){var n=a.call(e,t);if(xo(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}var Sk=1,$6=(function(e){function t(){var a;k6(this,t);for(var n=arguments.length,o=new Array(n),l=0;l<n;l++)o[l]=arguments[l];return a=C6(this,t,[].concat(o)),pp(a,"state",{dismissed:!1,dismissedAtCoordinate:{x:0,y:0},lastBoundingBox:{width:-1,height:-1}}),pp(a,"handleKeyDown",function(d){if(d.key==="Escape"){var u,m,h,x;a.setState({dismissed:!0,dismissedAtCoordinate:{x:(u=(m=a.props.coordinate)===null||m===void 0?void 0:m.x)!==null&&u!==void 0?u:0,y:(h=(x=a.props.coordinate)===null||x===void 0?void 0:x.y)!==null&&h!==void 0?h:0}})}}),a}return O6(t,e),S6(t,[{key:"updateBBox",value:function(){if(this.wrapperNode&&this.wrapperNode.getBoundingClientRect){var n=this.wrapperNode.getBoundingClientRect();(Math.abs(n.width-this.state.lastBoundingBox.width)>Sk||Math.abs(n.height-this.state.lastBoundingBox.height)>Sk)&&this.setState({lastBoundingBox:{width:n.width,height:n.height}})}else(this.state.lastBoundingBox.width!==-1||this.state.lastBoundingBox.height!==-1)&&this.setState({lastBoundingBox:{width:-1,height:-1}})}},{key:"componentDidMount",value:function(){document.addEventListener("keydown",this.handleKeyDown),this.updateBBox()}},{key:"componentWillUnmount",value:function(){document.removeEventListener("keydown",this.handleKeyDown)}},{key:"componentDidUpdate",value:function(){var n,o;this.props.active&&this.updateBBox(),this.state.dismissed&&(((n=this.props.coordinate)===null||n===void 0?void 0:n.x)!==this.state.dismissedAtCoordinate.x||((o=this.props.coordinate)===null||o===void 0?void 0:o.y)!==this.state.dismissedAtCoordinate.y)&&(this.state.dismissed=!1)}},{key:"render",value:function(){var n=this,o=this.props,l=o.active,d=o.allowEscapeViewBox,u=o.animationDuration,m=o.animationEasing,h=o.children,x=o.coordinate,g=o.hasPayload,p=o.isAnimationActive,j=o.offset,k=o.position,N=o.reverseDirection,v=o.useTranslate3d,T=o.viewBox,E=o.wrapperStyle,O=w6({allowEscapeViewBox:d,coordinate:x,offsetTopLeft:j,position:k,reverseDirection:N,tooltipBox:this.state.lastBoundingBox,useTranslate3d:v,viewBox:T}),S=O.cssClasses,C=O.cssProperties,A=Nk(Nk({transition:p&&l?"transform ".concat(u,"ms ").concat(m):void 0},C),{},{pointerEvents:"none",visibility:!this.state.dismissed&&l&&g?"visible":"hidden",position:"absolute",top:0,left:0},E);return ee.createElement("div",{tabIndex:-1,className:S,style:A,ref:function(P){n.wrapperNode=P}},h)}}])})(y.PureComponent),D6=function(){return!(typeof window<"u"&&window.document&&window.document.createElement&&window.setTimeout)},sd={isSsr:D6()};function go(e){"@babel/helpers - typeof";return go=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},go(e)}function Ck(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),a.push.apply(a,n)}return a}function Tk(e){for(var t=1;t<arguments.length;t++){var a=arguments[t]!=null?arguments[t]:{};t%2?Ck(Object(a),!0).forEach(function(n){ty(e,n,a[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):Ck(Object(a)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(a,n))})}return e}function _6(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function M6(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,zC(n.key),n)}}function L6(e,t,a){return t&&M6(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function P6(e,t,a){return t=im(t),R6(e,BC()?Reflect.construct(t,a||[],im(e).constructor):t.apply(e,a))}function R6(e,t){if(t&&(go(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return I6(e)}function I6(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function BC(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(BC=function(){return!!e})()}function im(e){return im=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(a){return a.__proto__||Object.getPrototypeOf(a)},im(e)}function B6(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&yp(e,t)}function yp(e,t){return yp=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,o){return n.__proto__=o,n},yp(e,t)}function ty(e,t,a){return t=zC(t),t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function zC(e){var t=z6(e,"string");return go(t)=="symbol"?t:t+""}function z6(e,t){if(go(e)!="object"||!e)return e;var a=e[Symbol.toPrimitive];if(a!==void 0){var n=a.call(e,t);if(go(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}function q6(e){return e.dataKey}function F6(e,t){return ee.isValidElement(e)?ee.cloneElement(e,t):typeof e=="function"?ee.createElement(e,t):ee.createElement(g6,t)}var Ma=(function(e){function t(){return _6(this,t),P6(this,t,arguments)}return B6(t,e),L6(t,[{key:"render",value:function(){var n=this,o=this.props,l=o.active,d=o.allowEscapeViewBox,u=o.animationDuration,m=o.animationEasing,h=o.content,x=o.coordinate,g=o.filterNull,p=o.isAnimationActive,j=o.offset,k=o.payload,N=o.payloadUniqBy,v=o.position,T=o.reverseDirection,E=o.useTranslate3d,O=o.viewBox,S=o.wrapperStyle,C=k??[];g&&C.length&&(C=MC(k.filter(function($){return $.value!=null&&($.hide!==!0||n.props.includeHidden)}),N,q6));var A=C.length>0;return ee.createElement($6,{allowEscapeViewBox:d,animationDuration:u,animationEasing:m,isAnimationActive:p,active:l,coordinate:x,hasPayload:A,offset:j,position:v,reverseDirection:T,useTranslate3d:E,viewBox:O,wrapperStyle:S},F6(h,Tk(Tk({},this.props),{},{payload:C})))}}])})(y.PureComponent);ty(Ma,"displayName","Tooltip");ty(Ma,"defaultProps",{accessibilityLayer:!1,allowEscapeViewBox:{x:!1,y:!1},animationDuration:400,animationEasing:"ease",contentStyle:{},coordinate:{x:0,y:0},cursor:!0,cursorStyle:{},filterNull:!0,isAnimationActive:!sd.isSsr,itemStyle:{},labelStyle:{},offset:10,reverseDirection:{x:!1,y:!1},separator:" : ",trigger:"hover",useTranslate3d:!1,viewBox:{x:0,y:0,height:0,width:0},wrapperStyle:{}});var og,Ek;function U6(){if(Ek)return og;Ek=1;var e=H0(),t=LA(),a=PA(),n="Expected a function",o=Math.max,l=Math.min;function d(u,m,h){var x,g,p,j,k,N,v=0,T=!1,E=!1,O=!0;if(typeof u!="function")throw new TypeError(n);m=a(m)||0,e(h)&&(T=!!h.leading,E="maxWait"in h,p=E?o(a(h.maxWait)||0,m):p,O="trailing"in h?!!h.trailing:O);function S(U){var K=x,R=g;return x=g=void 0,v=U,j=u.apply(R,K),j}function C(U){return v=U,k=setTimeout(P,m),T?S(U):j}function A(U){var K=U-N,R=U-v,L=m-K;return E?l(L,p-R):L}function $(U){var K=U-N,R=U-v;return N===void 0||K>=m||K<0||E&&R>=p}function P(){var U=t();if($(U))return M(U);k=setTimeout(P,A(U))}function M(U){return k=void 0,O&&x?S(U):(x=g=void 0,j)}function q(){k!==void 0&&clearTimeout(k),v=0,x=N=g=k=void 0}function _(){return k===void 0?j:M(t())}function z(){var U=t(),K=$(U);if(x=arguments,g=this,N=U,K){if(k===void 0)return C(N);if(E)return clearTimeout(k),k=setTimeout(P,m),S(N)}return k===void 0&&(k=setTimeout(P,m)),j}return z.cancel=q,z.flush=_,z}return og=d,og}var lg,Ok;function K6(){if(Ok)return lg;Ok=1;var e=U6(),t=H0(),a="Expected a function";function n(o,l,d){var u=!0,m=!0;if(typeof o!="function")throw new TypeError(a);return t(d)&&(u="leading"in d?!!d.leading:u,m="trailing"in d?!!d.trailing:m),e(o,l,{leading:u,maxWait:l,trailing:m})}return lg=n,lg}var H6=K6();const qC=Nt(H6);function xc(e){"@babel/helpers - typeof";return xc=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},xc(e)}function Ak(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),a.push.apply(a,n)}return a}function Tu(e){for(var t=1;t<arguments.length;t++){var a=arguments[t]!=null?arguments[t]:{};t%2?Ak(Object(a),!0).forEach(function(n){V6(e,n,a[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):Ak(Object(a)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(a,n))})}return e}function V6(e,t,a){return t=G6(t),t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function G6(e){var t=Y6(e,"string");return xc(t)=="symbol"?t:t+""}function Y6(e,t){if(xc(e)!="object"||!e)return e;var a=e[Symbol.toPrimitive];if(a!==void 0){var n=a.call(e,t);if(xc(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Q6(e,t){return J6(e)||Z6(e,t)||W6(e,t)||X6()}function X6(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
72
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function W6(e,t){if(e){if(typeof e=="string")return $k(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);if(a==="Object"&&e.constructor&&(a=e.constructor.name),a==="Map"||a==="Set")return Array.from(e);if(a==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return $k(e,t)}}function $k(e,t){(t==null||t>e.length)&&(t=e.length);for(var a=0,n=new Array(t);a<t;a++)n[a]=e[a];return n}function Z6(e,t){var a=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(a!=null){var n,o,l,d,u=[],m=!0,h=!1;try{if(l=(a=a.call(e)).next,t!==0)for(;!(m=(n=l.call(a)).done)&&(u.push(n.value),u.length!==t);m=!0);}catch(x){h=!0,o=x}finally{try{if(!m&&a.return!=null&&(d=a.return(),Object(d)!==d))return}finally{if(h)throw o}}return u}}function J6(e){if(Array.isArray(e))return e}var eL=y.forwardRef(function(e,t){var a=e.aspect,n=e.initialDimension,o=n===void 0?{width:-1,height:-1}:n,l=e.width,d=l===void 0?"100%":l,u=e.height,m=u===void 0?"100%":u,h=e.minWidth,x=h===void 0?0:h,g=e.minHeight,p=e.maxHeight,j=e.children,k=e.debounce,N=k===void 0?0:k,v=e.id,T=e.className,E=e.onResize,O=e.style,S=O===void 0?{}:O,C=y.useRef(null),A=y.useRef();A.current=E,y.useImperativeHandle(t,function(){return Object.defineProperty(C.current,"current",{get:function(){return console.warn("The usage of ref.current.current is deprecated and will no longer be supported."),C.current},configurable:!0})});var $=y.useState({containerWidth:o.width,containerHeight:o.height}),P=Q6($,2),M=P[0],q=P[1],_=y.useCallback(function(U,K){q(function(R){var L=Math.round(U),F=Math.round(K);return R.containerWidth===L&&R.containerHeight===F?R:{containerWidth:L,containerHeight:F}})},[]);y.useEffect(function(){var U=function(H){var G,W=H[0].contentRect,te=W.width,le=W.height;_(te,le),(G=A.current)===null||G===void 0||G.call(A,te,le)};N>0&&(U=qC(U,N,{trailing:!0,leading:!1}));var K=new ResizeObserver(U),R=C.current.getBoundingClientRect(),L=R.width,F=R.height;return _(L,F),K.observe(C.current),function(){K.disconnect()}},[_,N]);var z=y.useMemo(function(){var U=M.containerWidth,K=M.containerHeight;if(U<0||K<0)return null;Rs(Ms(d)||Ms(m),`The width(%s) and height(%s) are both fixed numbers,
73
+ maybe you don't need to use a ResponsiveContainer.`,d,m),Rs(!a||a>0,"The aspect(%s) must be greater than zero.",a);var R=Ms(d)?U:d,L=Ms(m)?K:m;a&&a>0&&(R?L=R/a:L&&(R=L*a),p&&L>p&&(L=p)),Rs(R>0||L>0,`The width(%s) and height(%s) of chart should be greater than 0,
74
+ please check the style of container, or the props width(%s) and height(%s),
75
+ or add a minWidth(%s) or minHeight(%s) or use aspect(%s) to control the
76
+ height and width.`,R,L,d,m,x,g,a);var F=!Array.isArray(j)&&yn(j.type).endsWith("Chart");return ee.Children.map(j,function(B){return ee.isValidElement(B)?y.cloneElement(B,Tu({width:R,height:L},F?{style:Tu({height:"100%",width:"100%",maxHeight:L,maxWidth:R},B.props.style)}:{})):B})},[a,j,m,p,g,x,M,d]);return ee.createElement("div",{id:v?"".concat(v):void 0,className:nt("recharts-responsive-container",T),style:Tu(Tu({},S),{},{width:d,height:m,minWidth:x,minHeight:g,maxHeight:p}),ref:C},z)}),ry=function(t){return null};ry.displayName="Cell";function gc(e){"@babel/helpers - typeof";return gc=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},gc(e)}function Dk(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),a.push.apply(a,n)}return a}function bp(e){for(var t=1;t<arguments.length;t++){var a=arguments[t]!=null?arguments[t]:{};t%2?Dk(Object(a),!0).forEach(function(n){tL(e,n,a[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):Dk(Object(a)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(a,n))})}return e}function tL(e,t,a){return t=rL(t),t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function rL(e){var t=aL(e,"string");return gc(t)=="symbol"?t:t+""}function aL(e,t){if(gc(e)!="object"||!e)return e;var a=e[Symbol.toPrimitive];if(a!==void 0){var n=a.call(e,t);if(gc(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var qi={widthCache:{},cacheCount:0},nL=2e3,sL={position:"absolute",top:"-20000px",left:0,padding:0,margin:0,border:"none",whiteSpace:"pre"},_k="recharts_measurement_span";function iL(e){var t=bp({},e);return Object.keys(t).forEach(function(a){t[a]||delete t[a]}),t}var Wl=function(t){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(t==null||sd.isSsr)return{width:0,height:0};var n=iL(a),o=JSON.stringify({text:t,copyStyle:n});if(qi.widthCache[o])return qi.widthCache[o];try{var l=document.getElementById(_k);l||(l=document.createElement("span"),l.setAttribute("id",_k),l.setAttribute("aria-hidden","true"),document.body.appendChild(l));var d=bp(bp({},sL),n);Object.assign(l.style,d),l.textContent="".concat(t);var u=l.getBoundingClientRect(),m={width:u.width,height:u.height};return qi.widthCache[o]=m,++qi.cacheCount>nL&&(qi.cacheCount=0,qi.widthCache={}),m}catch{return{width:0,height:0}}},oL=function(t){return{top:t.top+window.scrollY-document.documentElement.clientTop,left:t.left+window.scrollX-document.documentElement.clientLeft}};function pc(e){"@babel/helpers - typeof";return pc=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},pc(e)}function om(e,t){return uL(e)||dL(e,t)||cL(e,t)||lL()}function lL(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
77
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function cL(e,t){if(e){if(typeof e=="string")return Mk(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);if(a==="Object"&&e.constructor&&(a=e.constructor.name),a==="Map"||a==="Set")return Array.from(e);if(a==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return Mk(e,t)}}function Mk(e,t){(t==null||t>e.length)&&(t=e.length);for(var a=0,n=new Array(t);a<t;a++)n[a]=e[a];return n}function dL(e,t){var a=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(a!=null){var n,o,l,d,u=[],m=!0,h=!1;try{if(l=(a=a.call(e)).next,t===0){if(Object(a)!==a)return;m=!1}else for(;!(m=(n=l.call(a)).done)&&(u.push(n.value),u.length!==t);m=!0);}catch(x){h=!0,o=x}finally{try{if(!m&&a.return!=null&&(d=a.return(),Object(d)!==d))return}finally{if(h)throw o}}return u}}function uL(e){if(Array.isArray(e))return e}function mL(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Lk(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,hL(n.key),n)}}function fL(e,t,a){return t&&Lk(e.prototype,t),a&&Lk(e,a),Object.defineProperty(e,"prototype",{writable:!1}),e}function hL(e){var t=xL(e,"string");return pc(t)=="symbol"?t:t+""}function xL(e,t){if(pc(e)!="object"||!e)return e;var a=e[Symbol.toPrimitive];if(a!==void 0){var n=a.call(e,t);if(pc(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}var Pk=/(-?\d+(?:\.\d+)?[a-zA-Z%]*)([*/])(-?\d+(?:\.\d+)?[a-zA-Z%]*)/,Rk=/(-?\d+(?:\.\d+)?[a-zA-Z%]*)([+-])(-?\d+(?:\.\d+)?[a-zA-Z%]*)/,gL=/^px|cm|vh|vw|em|rem|%|mm|in|pt|pc|ex|ch|vmin|vmax|Q$/,pL=/(-?\d+(?:\.\d+)?)([a-zA-Z%]+)?/,FC={cm:96/2.54,mm:96/25.4,pt:96/72,pc:96/6,in:96,Q:96/(2.54*40),px:1},yL=Object.keys(FC),Wi="NaN";function bL(e,t){return e*FC[t]}var Eu=(function(){function e(t,a){mL(this,e),this.num=t,this.unit=a,this.num=t,this.unit=a,Number.isNaN(t)&&(this.unit=""),a!==""&&!gL.test(a)&&(this.num=NaN,this.unit=""),yL.includes(a)&&(this.num=bL(t,a),this.unit="px")}return fL(e,[{key:"add",value:function(a){return this.unit!==a.unit?new e(NaN,""):new e(this.num+a.num,this.unit)}},{key:"subtract",value:function(a){return this.unit!==a.unit?new e(NaN,""):new e(this.num-a.num,this.unit)}},{key:"multiply",value:function(a){return this.unit!==""&&a.unit!==""&&this.unit!==a.unit?new e(NaN,""):new e(this.num*a.num,this.unit||a.unit)}},{key:"divide",value:function(a){return this.unit!==""&&a.unit!==""&&this.unit!==a.unit?new e(NaN,""):new e(this.num/a.num,this.unit||a.unit)}},{key:"toString",value:function(){return"".concat(this.num).concat(this.unit)}},{key:"isNaN",value:function(){return Number.isNaN(this.num)}}],[{key:"parse",value:function(a){var n,o=(n=pL.exec(a))!==null&&n!==void 0?n:[],l=om(o,3),d=l[1],u=l[2];return new e(parseFloat(d),u??"")}}])})();function UC(e){if(e.includes(Wi))return Wi;for(var t=e;t.includes("*")||t.includes("/");){var a,n=(a=Pk.exec(t))!==null&&a!==void 0?a:[],o=om(n,4),l=o[1],d=o[2],u=o[3],m=Eu.parse(l??""),h=Eu.parse(u??""),x=d==="*"?m.multiply(h):m.divide(h);if(x.isNaN())return Wi;t=t.replace(Pk,x.toString())}for(;t.includes("+")||/.-\d+(?:\.\d+)?/.test(t);){var g,p=(g=Rk.exec(t))!==null&&g!==void 0?g:[],j=om(p,4),k=j[1],N=j[2],v=j[3],T=Eu.parse(k??""),E=Eu.parse(v??""),O=N==="+"?T.add(E):T.subtract(E);if(O.isNaN())return Wi;t=t.replace(Rk,O.toString())}return t}var Ik=/\(([^()]*)\)/;function vL(e){for(var t=e;t.includes("(");){var a=Ik.exec(t),n=om(a,2),o=n[1];t=t.replace(Ik,UC(o))}return t}function jL(e){var t=e.replace(/\s+/g,"");return t=vL(t),t=UC(t),t}function wL(e){try{return jL(e)}catch{return Wi}}function cg(e){var t=wL(e.slice(5,-1));return t===Wi?"":t}var kL=["x","y","lineHeight","capHeight","scaleToFit","textAnchor","verticalAnchor","fill"],NL=["dx","dy","angle","className","breakAll"];function vp(){return vp=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},vp.apply(this,arguments)}function Bk(e,t){if(e==null)return{};var a=SL(e,t),n,o;if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(o=0;o<l.length;o++)n=l[o],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}function SL(e,t){if(e==null)return{};var a={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;a[n]=e[n]}return a}function zk(e,t){return OL(e)||EL(e,t)||TL(e,t)||CL()}function CL(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
78
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function TL(e,t){if(e){if(typeof e=="string")return qk(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);if(a==="Object"&&e.constructor&&(a=e.constructor.name),a==="Map"||a==="Set")return Array.from(e);if(a==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return qk(e,t)}}function qk(e,t){(t==null||t>e.length)&&(t=e.length);for(var a=0,n=new Array(t);a<t;a++)n[a]=e[a];return n}function EL(e,t){var a=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(a!=null){var n,o,l,d,u=[],m=!0,h=!1;try{if(l=(a=a.call(e)).next,t===0){if(Object(a)!==a)return;m=!1}else for(;!(m=(n=l.call(a)).done)&&(u.push(n.value),u.length!==t);m=!0);}catch(x){h=!0,o=x}finally{try{if(!m&&a.return!=null&&(d=a.return(),Object(d)!==d))return}finally{if(h)throw o}}return u}}function OL(e){if(Array.isArray(e))return e}var KC=/[ \f\n\r\t\v\u2028\u2029]+/,HC=function(t){var a=t.children,n=t.breakAll,o=t.style;try{var l=[];st(a)||(n?l=a.toString().split(""):l=a.toString().split(KC));var d=l.map(function(m){return{word:m,width:Wl(m,o).width}}),u=n?0:Wl(" ",o).width;return{wordsWithComputedWidth:d,spaceWidth:u}}catch{return null}},AL=function(t,a,n,o,l){var d=t.maxLines,u=t.children,m=t.style,h=t.breakAll,x=Se(d),g=u,p=function(){var R=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];return R.reduce(function(L,F){var B=F.word,H=F.width,G=L[L.length-1];if(G&&(o==null||l||G.width+H+n<Number(o)))G.words.push(B),G.width+=H+n;else{var W={words:[B],width:H};L.push(W)}return L},[])},j=p(a),k=function(R){return R.reduce(function(L,F){return L.width>F.width?L:F})};if(!x)return j;for(var N="…",v=function(R){var L=g.slice(0,R),F=HC({breakAll:h,style:m,children:L+N}).wordsWithComputedWidth,B=p(F),H=B.length>d||k(B).width>Number(o);return[H,B]},T=0,E=g.length-1,O=0,S;T<=E&&O<=g.length-1;){var C=Math.floor((T+E)/2),A=C-1,$=v(A),P=zk($,2),M=P[0],q=P[1],_=v(C),z=zk(_,1),U=z[0];if(!M&&!U&&(T=C+1),M&&U&&(E=C-1),!M&&U){S=q;break}O++}return S||j},Fk=function(t){var a=st(t)?[]:t.toString().split(KC);return[{words:a}]},$L=function(t){var a=t.width,n=t.scaleToFit,o=t.children,l=t.style,d=t.breakAll,u=t.maxLines;if((a||n)&&!sd.isSsr){var m,h,x=HC({breakAll:d,children:o,style:l});if(x){var g=x.wordsWithComputedWidth,p=x.spaceWidth;m=g,h=p}else return Fk(o);return AL({breakAll:d,children:o,maxLines:u,style:l},m,h,a,n)}return Fk(o)},Uk="#808080",lm=function(t){var a=t.x,n=a===void 0?0:a,o=t.y,l=o===void 0?0:o,d=t.lineHeight,u=d===void 0?"1em":d,m=t.capHeight,h=m===void 0?"0.71em":m,x=t.scaleToFit,g=x===void 0?!1:x,p=t.textAnchor,j=p===void 0?"start":p,k=t.verticalAnchor,N=k===void 0?"end":k,v=t.fill,T=v===void 0?Uk:v,E=Bk(t,kL),O=y.useMemo(function(){return $L({breakAll:E.breakAll,children:E.children,maxLines:E.maxLines,scaleToFit:g,style:E.style,width:E.width})},[E.breakAll,E.children,E.maxLines,g,E.style,E.width]),S=E.dx,C=E.dy,A=E.angle,$=E.className,P=E.breakAll,M=Bk(E,NL);if(!er(n)||!er(l))return null;var q=n+(Se(S)?S:0),_=l+(Se(C)?C:0),z;switch(N){case"start":z=cg("calc(".concat(h,")"));break;case"middle":z=cg("calc(".concat((O.length-1)/2," * -").concat(u," + (").concat(h," / 2))"));break;default:z=cg("calc(".concat(O.length-1," * -").concat(u,")"));break}var U=[];if(g){var K=O[0].width,R=E.width;U.push("scale(".concat((Se(R)?R/K:1)/K,")"))}return A&&U.push("rotate(".concat(A,", ").concat(q,", ").concat(_,")")),U.length&&(M.transform=U.join(" ")),ee.createElement("text",vp({},ct(M,!0),{x:q,y:_,className:nt("recharts-text",$),textAnchor:j,fill:T.includes("url")?Uk:T}),O.map(function(L,F){var B=L.words.join(P?"":" ");return ee.createElement("tspan",{x:q,dy:F===0?z:u,key:"".concat(B,"-").concat(F)},B)}))};const Kk=Object.freeze(Object.defineProperty({__proto__:null,scaleBand:Jg,scaleDiverging:RA,scaleDivergingLog:IA,scaleDivergingPow:BA,scaleDivergingSqrt:zA,scaleDivergingSymlog:qA,scaleIdentity:FA,scaleImplicit:UA,scaleLinear:ep,scaleLog:KA,scaleOrdinal:HA,scalePoint:Xl,scalePow:VA,scaleQuantile:GA,scaleQuantize:YA,scaleRadial:QA,scaleSequential:XA,scaleSequentialLog:WA,scaleSequentialPow:ZA,scaleSequentialQuantile:JA,scaleSequentialSqrt:e$,scaleSequentialSymlog:t$,scaleSqrt:r$,scaleSymlog:a$,scaleThreshold:n$,scaleTime:s$,scaleUtc:i$,tickFormat:o$},Symbol.toStringTag,{value:"Module"}));var DL=l$();const sf=Nt(DL);var _L=c$();const of=Nt(_L);var dg,Hk;function ML(){if(Hk)return dg;Hk=1;var e=d$(),t=u$();function a(n,o){return e(t(n,o),1)}return dg=a,dg}var LL=ML();const PL=Nt(LL);var ug,Vk;function RL(){if(Vk)return ug;Vk=1;var e=m$();function t(a,n){return e(a,n)}return ug=t,ug}var IL=RL();const ay=Nt(IL);function BL(e){return UL(e)||FL(e)||qL(e)||zL()}function zL(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
79
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function qL(e,t){if(e){if(typeof e=="string")return jp(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);if(a==="Object"&&e.constructor&&(a=e.constructor.name),a==="Map"||a==="Set")return Array.from(e);if(a==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return jp(e,t)}}function FL(e){if(typeof Symbol<"u"&&Symbol.iterator in Object(e))return Array.from(e)}function UL(e){if(Array.isArray(e))return jp(e)}function jp(e,t){(t==null||t>e.length)&&(t=e.length);for(var a=0,n=new Array(t);a<t;a++)n[a]=e[a];return n}var KL=function(t){return t},VC={},GC=function(t){return t===VC},Gk=function(t){return function a(){return arguments.length===0||arguments.length===1&&GC(arguments.length<=0?void 0:arguments[0])?a:t.apply(void 0,arguments)}},HL=function e(t,a){return t===1?a:Gk(function(){for(var n=arguments.length,o=new Array(n),l=0;l<n;l++)o[l]=arguments[l];var d=o.filter(function(u){return u!==VC}).length;return d>=t?a.apply(void 0,o):e(t-d,Gk(function(){for(var u=arguments.length,m=new Array(u),h=0;h<u;h++)m[h]=arguments[h];var x=o.map(function(g){return GC(g)?m.shift():g});return a.apply(void 0,BL(x).concat(m))}))})},lf=function(t){return HL(t.length,t)},wp=function(t,a){for(var n=[],o=t;o<a;++o)n[o-t]=o;return n},VL=lf(function(e,t){return Array.isArray(t)?t.map(e):Object.keys(t).map(function(a){return t[a]}).map(e)}),GL=function(){for(var t=arguments.length,a=new Array(t),n=0;n<t;n++)a[n]=arguments[n];if(!a.length)return KL;var o=a.reverse(),l=o[0],d=o.slice(1);return function(){return d.reduce(function(u,m){return m(u)},l.apply(void 0,arguments))}},kp=function(t){return Array.isArray(t)?t.reverse():t.split("").reverse.join("")},YC=function(t){var a=null,n=null;return function(){for(var o=arguments.length,l=new Array(o),d=0;d<o;d++)l[d]=arguments[d];return a&&l.every(function(u,m){return u===a[m]})||(a=l,n=t.apply(void 0,l)),n}};function YL(e){var t;return e===0?t=1:t=Math.floor(new bt(e).abs().log(10).toNumber())+1,t}function QL(e,t,a){for(var n=new bt(e),o=0,l=[];n.lt(t)&&o<1e5;)l.push(n.toNumber()),n=n.add(a),o++;return l}var XL=lf(function(e,t,a){var n=+e,o=+t;return n+a*(o-n)}),WL=lf(function(e,t,a){var n=t-+e;return n=n||1/0,(a-e)/n}),ZL=lf(function(e,t,a){var n=t-+e;return n=n||1/0,Math.max(0,Math.min(1,(a-e)/n))});const cf={rangeStep:QL,getDigitCount:YL,interpolateNumber:XL,uninterpolateNumber:WL,uninterpolateTruncation:ZL};function Np(e){return tP(e)||eP(e)||QC(e)||JL()}function JL(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
80
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function eP(e){if(typeof Symbol<"u"&&Symbol.iterator in Object(e))return Array.from(e)}function tP(e){if(Array.isArray(e))return Sp(e)}function yc(e,t){return nP(e)||aP(e,t)||QC(e,t)||rP()}function rP(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
81
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function QC(e,t){if(e){if(typeof e=="string")return Sp(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);if(a==="Object"&&e.constructor&&(a=e.constructor.name),a==="Map"||a==="Set")return Array.from(e);if(a==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return Sp(e,t)}}function Sp(e,t){(t==null||t>e.length)&&(t=e.length);for(var a=0,n=new Array(t);a<t;a++)n[a]=e[a];return n}function aP(e,t){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(e)))){var a=[],n=!0,o=!1,l=void 0;try{for(var d=e[Symbol.iterator](),u;!(n=(u=d.next()).done)&&(a.push(u.value),!(t&&a.length===t));n=!0);}catch(m){o=!0,l=m}finally{try{!n&&d.return!=null&&d.return()}finally{if(o)throw l}}return a}}function nP(e){if(Array.isArray(e))return e}function XC(e){var t=yc(e,2),a=t[0],n=t[1],o=a,l=n;return a>n&&(o=n,l=a),[o,l]}function WC(e,t,a){if(e.lte(0))return new bt(0);var n=cf.getDigitCount(e.toNumber()),o=new bt(10).pow(n),l=e.div(o),d=n!==1?.05:.1,u=new bt(Math.ceil(l.div(d).toNumber())).add(a).mul(d),m=u.mul(o);return t?m:new bt(Math.ceil(m))}function sP(e,t,a){var n=1,o=new bt(e);if(!o.isint()&&a){var l=Math.abs(e);l<1?(n=new bt(10).pow(cf.getDigitCount(e)-1),o=new bt(Math.floor(o.div(n).toNumber())).mul(n)):l>1&&(o=new bt(Math.floor(e)))}else e===0?o=new bt(Math.floor((t-1)/2)):a||(o=new bt(Math.floor(e)));var d=Math.floor((t-1)/2),u=GL(VL(function(m){return o.add(new bt(m-d).mul(n)).toNumber()}),wp);return u(0,t)}function ZC(e,t,a,n){var o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0;if(!Number.isFinite((t-e)/(a-1)))return{step:new bt(0),tickMin:new bt(0),tickMax:new bt(0)};var l=WC(new bt(t).sub(e).div(a-1),n,o),d;e<=0&&t>=0?d=new bt(0):(d=new bt(e).add(t).div(2),d=d.sub(new bt(d).mod(l)));var u=Math.ceil(d.sub(e).div(l).toNumber()),m=Math.ceil(new bt(t).sub(d).div(l).toNumber()),h=u+m+1;return h>a?ZC(e,t,a,n,o+1):(h<a&&(m=t>0?m+(a-h):m,u=t>0?u:u+(a-h)),{step:l,tickMin:d.sub(new bt(u).mul(l)),tickMax:d.add(new bt(m).mul(l))})}function iP(e){var t=yc(e,2),a=t[0],n=t[1],o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:6,l=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,d=Math.max(o,2),u=XC([a,n]),m=yc(u,2),h=m[0],x=m[1];if(h===-1/0||x===1/0){var g=x===1/0?[h].concat(Np(wp(0,o-1).map(function(){return 1/0}))):[].concat(Np(wp(0,o-1).map(function(){return-1/0})),[x]);return a>n?kp(g):g}if(h===x)return sP(h,o,l);var p=ZC(h,x,d,l),j=p.step,k=p.tickMin,N=p.tickMax,v=cf.rangeStep(k,N.add(new bt(.1).mul(j)),j);return a>n?kp(v):v}function oP(e,t){var a=yc(e,2),n=a[0],o=a[1],l=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,d=XC([n,o]),u=yc(d,2),m=u[0],h=u[1];if(m===-1/0||h===1/0)return[n,o];if(m===h)return[m];var x=Math.max(t,2),g=WC(new bt(h).sub(m).div(x-1),l,0),p=[].concat(Np(cf.rangeStep(new bt(m),new bt(h).sub(new bt(.99).mul(g)),g)),[h]);return n>o?kp(p):p}var lP=YC(iP),cP=YC(oP),dP=["offset","layout","width","dataKey","data","dataPointFormatter","xAxis","yAxis"];function po(e){"@babel/helpers - typeof";return po=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},po(e)}function cm(){return cm=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},cm.apply(this,arguments)}function uP(e,t){return xP(e)||hP(e,t)||fP(e,t)||mP()}function mP(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
82
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function fP(e,t){if(e){if(typeof e=="string")return Yk(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);if(a==="Object"&&e.constructor&&(a=e.constructor.name),a==="Map"||a==="Set")return Array.from(e);if(a==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return Yk(e,t)}}function Yk(e,t){(t==null||t>e.length)&&(t=e.length);for(var a=0,n=new Array(t);a<t;a++)n[a]=e[a];return n}function hP(e,t){var a=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(a!=null){var n,o,l,d,u=[],m=!0,h=!1;try{if(l=(a=a.call(e)).next,t!==0)for(;!(m=(n=l.call(a)).done)&&(u.push(n.value),u.length!==t);m=!0);}catch(x){h=!0,o=x}finally{try{if(!m&&a.return!=null&&(d=a.return(),Object(d)!==d))return}finally{if(h)throw o}}return u}}function xP(e){if(Array.isArray(e))return e}function gP(e,t){if(e==null)return{};var a=pP(e,t),n,o;if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(o=0;o<l.length;o++)n=l[o],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}function pP(e,t){if(e==null)return{};var a={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;a[n]=e[n]}return a}function yP(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function bP(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,t4(n.key),n)}}function vP(e,t,a){return t&&bP(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function jP(e,t,a){return t=dm(t),wP(e,JC()?Reflect.construct(t,a||[],dm(e).constructor):t.apply(e,a))}function wP(e,t){if(t&&(po(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return kP(e)}function kP(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function JC(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(JC=function(){return!!e})()}function dm(e){return dm=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(a){return a.__proto__||Object.getPrototypeOf(a)},dm(e)}function NP(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Cp(e,t)}function Cp(e,t){return Cp=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,o){return n.__proto__=o,n},Cp(e,t)}function e4(e,t,a){return t=t4(t),t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function t4(e){var t=SP(e,"string");return po(t)=="symbol"?t:t+""}function SP(e,t){if(po(e)!="object"||!e)return e;var a=e[Symbol.toPrimitive];if(a!==void 0){var n=a.call(e,t);if(po(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}var df=(function(e){function t(){return yP(this,t),jP(this,t,arguments)}return NP(t,e),vP(t,[{key:"render",value:function(){var n=this.props,o=n.offset,l=n.layout,d=n.width,u=n.dataKey,m=n.data,h=n.dataPointFormatter,x=n.xAxis,g=n.yAxis,p=gP(n,dP),j=ct(p,!1);this.props.direction==="x"&&x.type!=="number"&&qs(!1);var k=m.map(function(N){var v=h(N,u),T=v.x,E=v.y,O=v.value,S=v.errorVal;if(!S)return null;var C=[],A,$;if(Array.isArray(S)){var P=uP(S,2);A=P[0],$=P[1]}else A=$=S;if(l==="vertical"){var M=x.scale,q=E+o,_=q+d,z=q-d,U=M(O-A),K=M(O+$);C.push({x1:K,y1:_,x2:K,y2:z}),C.push({x1:U,y1:q,x2:K,y2:q}),C.push({x1:U,y1:_,x2:U,y2:z})}else if(l==="horizontal"){var R=g.scale,L=T+o,F=L-d,B=L+d,H=R(O-A),G=R(O+$);C.push({x1:F,y1:G,x2:B,y2:G}),C.push({x1:L,y1:H,x2:L,y2:G}),C.push({x1:F,y1:H,x2:B,y2:H})}return ee.createElement(lr,cm({className:"recharts-errorBar",key:"bar-".concat(C.map(function(W){return"".concat(W.x1,"-").concat(W.x2,"-").concat(W.y1,"-").concat(W.y2)}))},j),C.map(function(W){return ee.createElement("line",cm({},W,{key:"line-".concat(W.x1,"-").concat(W.x2,"-").concat(W.y1,"-").concat(W.y2)}))}))});return ee.createElement(lr,{className:"recharts-errorBars"},k)}}])})(ee.Component);e4(df,"defaultProps",{stroke:"black",strokeWidth:1.5,width:5,offset:0,layout:"horizontal"});e4(df,"displayName","ErrorBar");function bc(e){"@babel/helpers - typeof";return bc=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},bc(e)}function Qk(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),a.push.apply(a,n)}return a}function As(e){for(var t=1;t<arguments.length;t++){var a=arguments[t]!=null?arguments[t]:{};t%2?Qk(Object(a),!0).forEach(function(n){CP(e,n,a[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):Qk(Object(a)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(a,n))})}return e}function CP(e,t,a){return t=TP(t),t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function TP(e){var t=EP(e,"string");return bc(t)=="symbol"?t:t+""}function EP(e,t){if(bc(e)!="object"||!e)return e;var a=e[Symbol.toPrimitive];if(a!==void 0){var n=a.call(e,t);if(bc(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var r4=function(t){var a=t.children,n=t.formattedGraphicalItems,o=t.legendWidth,l=t.legendContent,d=Yr(a,ao);if(!d)return null;var u=ao.defaultProps,m=u!==void 0?As(As({},u),d.props):{},h;return d.props&&d.props.payload?h=d.props&&d.props.payload:l==="children"?h=(n||[]).reduce(function(x,g){var p=g.item,j=g.props,k=j.sectors||j.data||[];return x.concat(k.map(function(N){return{type:d.props.iconType||p.props.legendType,value:N.name,color:N.fill,payload:N}}))},[]):h=(n||[]).map(function(x){var g=x.item,p=g.type.defaultProps,j=p!==void 0?As(As({},p),g.props):{},k=j.dataKey,N=j.name,v=j.legendType,T=j.hide;return{inactive:T,dataKey:k,type:m.iconType||v||"square",color:ny(g),value:N||k,payload:j}}),As(As(As({},m),ao.getWithHeight(d,o)),{},{payload:h,item:d})};function vc(e){"@babel/helpers - typeof";return vc=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},vc(e)}function Xk(e){return DP(e)||$P(e)||AP(e)||OP()}function OP(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
83
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function AP(e,t){if(e){if(typeof e=="string")return Tp(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);if(a==="Object"&&e.constructor&&(a=e.constructor.name),a==="Map"||a==="Set")return Array.from(e);if(a==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return Tp(e,t)}}function $P(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function DP(e){if(Array.isArray(e))return Tp(e)}function Tp(e,t){(t==null||t>e.length)&&(t=e.length);for(var a=0,n=new Array(t);a<t;a++)n[a]=e[a];return n}function Wk(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),a.push.apply(a,n)}return a}function It(e){for(var t=1;t<arguments.length;t++){var a=arguments[t]!=null?arguments[t]:{};t%2?Wk(Object(a),!0).forEach(function(n){no(e,n,a[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):Wk(Object(a)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(a,n))})}return e}function no(e,t,a){return t=_P(t),t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function _P(e){var t=MP(e,"string");return vc(t)=="symbol"?t:t+""}function MP(e,t){if(vc(e)!="object"||!e)return e;var a=e[Symbol.toPrimitive];if(a!==void 0){var n=a.call(e,t);if(vc(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Fa(e,t,a){return st(e)||st(t)?a:er(t)?ma(e,t,a):We(t)?t(e):a}function Zl(e,t,a,n){var o=PL(e,function(u){return Fa(u,t)});if(a==="number"){var l=o.filter(function(u){return Se(u)||parseFloat(u)});return l.length?[of(l),sf(l)]:[1/0,-1/0]}var d=n?o.filter(function(u){return!st(u)}):o;return d.map(function(u){return er(u)||u instanceof Date?u:""})}var LP=function(t){var a,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],o=arguments.length>2?arguments[2]:void 0,l=arguments.length>3?arguments[3]:void 0,d=-1,u=(a=n?.length)!==null&&a!==void 0?a:0;if(u<=1)return 0;if(l&&l.axisType==="angleAxis"&&Math.abs(Math.abs(l.range[1]-l.range[0])-360)<=1e-6)for(var m=l.range,h=0;h<u;h++){var x=h>0?o[h-1].coordinate:o[u-1].coordinate,g=o[h].coordinate,p=h>=u-1?o[0].coordinate:o[h+1].coordinate,j=void 0;if(wa(g-x)!==wa(p-g)){var k=[];if(wa(p-g)===wa(m[1]-m[0])){j=p;var N=g+m[1]-m[0];k[0]=Math.min(N,(N+x)/2),k[1]=Math.max(N,(N+x)/2)}else{j=x;var v=p+m[1]-m[0];k[0]=Math.min(g,(v+g)/2),k[1]=Math.max(g,(v+g)/2)}var T=[Math.min(g,(j+g)/2),Math.max(g,(j+g)/2)];if(t>T[0]&&t<=T[1]||t>=k[0]&&t<=k[1]){d=o[h].index;break}}else{var E=Math.min(x,p),O=Math.max(x,p);if(t>(E+g)/2&&t<=(O+g)/2){d=o[h].index;break}}}else for(var S=0;S<u;S++)if(S===0&&t<=(n[S].coordinate+n[S+1].coordinate)/2||S>0&&S<u-1&&t>(n[S].coordinate+n[S-1].coordinate)/2&&t<=(n[S].coordinate+n[S+1].coordinate)/2||S===u-1&&t>(n[S].coordinate+n[S-1].coordinate)/2){d=n[S].index;break}return d},ny=function(t){var a,n=t,o=n.type.displayName,l=(a=t.type)!==null&&a!==void 0&&a.defaultProps?It(It({},t.type.defaultProps),t.props):t.props,d=l.stroke,u=l.fill,m;switch(o){case"Line":m=d;break;case"Area":case"Radar":m=d&&d!=="none"?d:u;break;default:m=u;break}return m},PP=function(t){var a=t.barSize,n=t.totalSize,o=t.stackGroups,l=o===void 0?{}:o;if(!l)return{};for(var d={},u=Object.keys(l),m=0,h=u.length;m<h;m++)for(var x=l[u[m]].stackGroups,g=Object.keys(x),p=0,j=g.length;p<j;p++){var k=x[g[p]],N=k.items,v=k.cateAxisId,T=N.filter(function($){return yn($.type).indexOf("Bar")>=0});if(T&&T.length){var E=T[0].type.defaultProps,O=E!==void 0?It(It({},E),T[0].props):T[0].props,S=O.barSize,C=O[v];d[C]||(d[C]=[]);var A=st(S)?a:S;d[C].push({item:T[0],stackList:T.slice(1),barSize:st(A)?void 0:Vs(A,n,0)})}}return d},RP=function(t){var a=t.barGap,n=t.barCategoryGap,o=t.bandSize,l=t.sizeList,d=l===void 0?[]:l,u=t.maxBarSize,m=d.length;if(m<1)return null;var h=Vs(a,o,0,!0),x,g=[];if(d[0].barSize===+d[0].barSize){var p=!1,j=o/m,k=d.reduce(function(S,C){return S+C.barSize||0},0);k+=(m-1)*h,k>=o&&(k-=(m-1)*h,h=0),k>=o&&j>0&&(p=!0,j*=.9,k=m*j);var N=(o-k)/2>>0,v={offset:N-h,size:0};x=d.reduce(function(S,C){var A={item:C.item,position:{offset:v.offset+v.size+h,size:p?j:C.barSize}},$=[].concat(Xk(S),[A]);return v=$[$.length-1].position,C.stackList&&C.stackList.length&&C.stackList.forEach(function(P){$.push({item:P,position:v})}),$},g)}else{var T=Vs(n,o,0,!0);o-2*T-(m-1)*h<=0&&(h=0);var E=(o-2*T-(m-1)*h)/m;E>1&&(E>>=0);var O=u===+u?Math.min(E,u):E;x=d.reduce(function(S,C,A){var $=[].concat(Xk(S),[{item:C.item,position:{offset:T+(E+h)*A+(E-O)/2,size:O}}]);return C.stackList&&C.stackList.length&&C.stackList.forEach(function(P){$.push({item:P,position:$[$.length-1].position})}),$},g)}return x},IP=function(t,a,n,o){var l=n.children,d=n.width,u=n.margin,m=d-(u.left||0)-(u.right||0),h=r4({children:l,legendWidth:m});if(h){var x=o||{},g=x.width,p=x.height,j=h.align,k=h.verticalAlign,N=h.layout;if((N==="vertical"||N==="horizontal"&&k==="middle")&&j!=="center"&&Se(t[j]))return It(It({},t),{},no({},j,t[j]+(g||0)));if((N==="horizontal"||N==="vertical"&&j==="center")&&k!=="middle"&&Se(t[k]))return It(It({},t),{},no({},k,t[k]+(p||0)))}return t},BP=function(t,a,n){return st(a)?!0:t==="horizontal"?a==="yAxis":t==="vertical"||n==="x"?a==="xAxis":n==="y"?a==="yAxis":!0},a4=function(t,a,n,o,l){var d=a.props.children,u=Na(d,df).filter(function(h){return BP(o,l,h.props.direction)});if(u&&u.length){var m=u.map(function(h){return h.props.dataKey});return t.reduce(function(h,x){var g=Fa(x,n);if(st(g))return h;var p=Array.isArray(g)?[of(g),sf(g)]:[g,g],j=m.reduce(function(k,N){var v=Fa(x,N,0),T=p[0]-Math.abs(Array.isArray(v)?v[0]:v),E=p[1]+Math.abs(Array.isArray(v)?v[1]:v);return[Math.min(T,k[0]),Math.max(E,k[1])]},[1/0,-1/0]);return[Math.min(j[0],h[0]),Math.max(j[1],h[1])]},[1/0,-1/0])}return null},zP=function(t,a,n,o,l){var d=a.map(function(u){return a4(t,u,n,l,o)}).filter(function(u){return!st(u)});return d&&d.length?d.reduce(function(u,m){return[Math.min(u[0],m[0]),Math.max(u[1],m[1])]},[1/0,-1/0]):null},n4=function(t,a,n,o,l){var d=a.map(function(m){var h=m.props.dataKey;return n==="number"&&h&&a4(t,m,h,o)||Zl(t,h,n,l)});if(n==="number")return d.reduce(function(m,h){return[Math.min(m[0],h[0]),Math.max(m[1],h[1])]},[1/0,-1/0]);var u={};return d.reduce(function(m,h){for(var x=0,g=h.length;x<g;x++)u[h[x]]||(u[h[x]]=!0,m.push(h[x]));return m},[])},s4=function(t,a){return t==="horizontal"&&a==="xAxis"||t==="vertical"&&a==="yAxis"||t==="centric"&&a==="angleAxis"||t==="radial"&&a==="radiusAxis"},Ls=function(t,a,n){if(!t)return null;var o=t.scale,l=t.duplicateDomain,d=t.type,u=t.range,m=t.realScaleType==="scaleBand"?o.bandwidth()/2:2,h=(a||n)&&d==="category"&&o.bandwidth?o.bandwidth()/m:0;if(h=t.axisType==="angleAxis"&&u?.length>=2?wa(u[0]-u[1])*2*h:h,a&&(t.ticks||t.niceTicks)){var x=(t.ticks||t.niceTicks).map(function(g){var p=l?l.indexOf(g):g;return{coordinate:o(p)+h,value:g,offset:h}});return x.filter(function(g){return!nd(g.coordinate)})}return t.isCategorical&&t.categoricalDomain?t.categoricalDomain.map(function(g,p){return{coordinate:o(g)+h,value:g,index:p,offset:h}}):o.ticks&&!n?o.ticks(t.tickCount).map(function(g){return{coordinate:o(g)+h,value:g,offset:h}}):o.domain().map(function(g,p){return{coordinate:o(g)+h,value:l?l[g]:g,index:p,offset:h}})},mg=new WeakMap,Ou=function(t,a){if(typeof a!="function")return t;mg.has(t)||mg.set(t,new WeakMap);var n=mg.get(t);if(n.has(a))return n.get(a);var o=function(){t.apply(void 0,arguments),a.apply(void 0,arguments)};return n.set(a,o),o},qP=function(t,a,n){var o=t.scale,l=t.type,d=t.layout,u=t.axisType;if(o==="auto")return d==="radial"&&u==="radiusAxis"?{scale:Jg(),realScaleType:"band"}:d==="radial"&&u==="angleAxis"?{scale:ep(),realScaleType:"linear"}:l==="category"&&a&&(a.indexOf("LineChart")>=0||a.indexOf("AreaChart")>=0||a.indexOf("ComposedChart")>=0&&!n)?{scale:Xl(),realScaleType:"point"}:l==="category"?{scale:Jg(),realScaleType:"band"}:{scale:ep(),realScaleType:"linear"};if(Hs(o)){var m="scale".concat(af(o));return{scale:(Kk[m]||Xl)(),realScaleType:Kk[m]?m:"point"}}return We(o)?{scale:o}:{scale:Xl(),realScaleType:"point"}},Zk=1e-4,FP=function(t){var a=t.domain();if(!(!a||a.length<=2)){var n=a.length,o=t.range(),l=Math.min(o[0],o[1])-Zk,d=Math.max(o[0],o[1])+Zk,u=t(a[0]),m=t(a[n-1]);(u<l||u>d||m<l||m>d)&&t.domain([a[0],a[n-1]])}},UP=function(t,a){if(!t)return null;for(var n=0,o=t.length;n<o;n++)if(t[n].item===a)return t[n].position;return null},KP=function(t,a){if(!a||a.length!==2||!Se(a[0])||!Se(a[1]))return t;var n=Math.min(a[0],a[1]),o=Math.max(a[0],a[1]),l=[t[0],t[1]];return(!Se(t[0])||t[0]<n)&&(l[0]=n),(!Se(t[1])||t[1]>o)&&(l[1]=o),l[0]>o&&(l[0]=o),l[1]<n&&(l[1]=n),l},HP=function(t){var a=t.length;if(!(a<=0))for(var n=0,o=t[0].length;n<o;++n)for(var l=0,d=0,u=0;u<a;++u){var m=nd(t[u][n][1])?t[u][n][0]:t[u][n][1];m>=0?(t[u][n][0]=l,t[u][n][1]=l+m,l=t[u][n][1]):(t[u][n][0]=d,t[u][n][1]=d+m,d=t[u][n][1])}},VP=function(t){var a=t.length;if(!(a<=0))for(var n=0,o=t[0].length;n<o;++n)for(var l=0,d=0;d<a;++d){var u=nd(t[d][n][1])?t[d][n][0]:t[d][n][1];u>=0?(t[d][n][0]=l,t[d][n][1]=l+u,l=t[d][n][1]):(t[d][n][0]=0,t[d][n][1]=0)}},GP={sign:HP,expand:y$,none:p$,silhouette:g$,wiggle:x$,positive:VP},YP=function(t,a,n){var o=a.map(function(u){return u.props.dataKey}),l=GP[n],d=f$().keys(o).value(function(u,m){return+Fa(u,m,0)}).order(h$).offset(l);return d(t)},QP=function(t,a,n,o,l,d){if(!t)return null;var u=d?a.reverse():a,m={},h=u.reduce(function(g,p){var j,k=(j=p.type)!==null&&j!==void 0&&j.defaultProps?It(It({},p.type.defaultProps),p.props):p.props,N=k.stackId,v=k.hide;if(v)return g;var T=k[n],E=g[T]||{hasStack:!1,stackGroups:{}};if(er(N)){var O=E.stackGroups[N]||{numericAxisId:n,cateAxisId:o,items:[]};O.items.push(p),E.hasStack=!0,E.stackGroups[N]=O}else E.stackGroups[rf("_stackId_")]={numericAxisId:n,cateAxisId:o,items:[p]};return It(It({},g),{},no({},T,E))},m),x={};return Object.keys(h).reduce(function(g,p){var j=h[p];if(j.hasStack){var k={};j.stackGroups=Object.keys(j.stackGroups).reduce(function(N,v){var T=j.stackGroups[v];return It(It({},N),{},no({},v,{numericAxisId:n,cateAxisId:o,items:T.items,stackedData:YP(t,T.items,l)}))},k)}return It(It({},g),{},no({},p,j))},x)},XP=function(t,a){var n=a.realScaleType,o=a.type,l=a.tickCount,d=a.originalDomain,u=a.allowDecimals,m=n||a.scale;if(m!=="auto"&&m!=="linear")return null;if(l&&o==="number"&&d&&(d[0]==="auto"||d[1]==="auto")){var h=t.domain();if(!h.length)return null;var x=lP(h,l,u);return t.domain([of(x),sf(x)]),{niceTicks:x}}if(l&&o==="number"){var g=t.domain(),p=cP(g,l,u);return{niceTicks:p}}return null},Jk=function(t){var a=t.axis,n=t.ticks,o=t.offset,l=t.bandSize,d=t.entry,u=t.index;if(a.type==="category")return n[u]?n[u].coordinate+o:null;var m=Fa(d,a.dataKey,a.domain[u]);return st(m)?null:a.scale(m)-l/2+o},WP=function(t){var a=t.numericAxis,n=a.scale.domain();if(a.type==="number"){var o=Math.min(n[0],n[1]),l=Math.max(n[0],n[1]);return o<=0&&l>=0?0:l<0?l:o}return n[0]},ZP=function(t,a){var n,o=(n=t.type)!==null&&n!==void 0&&n.defaultProps?It(It({},t.type.defaultProps),t.props):t.props,l=o.stackId;if(er(l)){var d=a[l];if(d){var u=d.items.indexOf(t);return u>=0?d.stackedData[u]:null}}return null},JP=function(t){return t.reduce(function(a,n){return[of(n.concat([a[0]]).filter(Se)),sf(n.concat([a[1]]).filter(Se))]},[1/0,-1/0])},i4=function(t,a,n){return Object.keys(t).reduce(function(o,l){var d=t[l],u=d.stackedData,m=u.reduce(function(h,x){var g=JP(x.slice(a,n+1));return[Math.min(h[0],g[0]),Math.max(h[1],g[1])]},[1/0,-1/0]);return[Math.min(m[0],o[0]),Math.max(m[1],o[1])]},[1/0,-1/0]).map(function(o){return o===1/0||o===-1/0?0:o})},eN=/^dataMin[\s]*-[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,tN=/^dataMax[\s]*\+[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,Ep=function(t,a,n){if(We(t))return t(a,n);if(!Array.isArray(t))return a;var o=[];if(Se(t[0]))o[0]=n?t[0]:Math.min(t[0],a[0]);else if(eN.test(t[0])){var l=+eN.exec(t[0])[1];o[0]=a[0]-l}else We(t[0])?o[0]=t[0](a[0]):o[0]=a[0];if(Se(t[1]))o[1]=n?t[1]:Math.max(t[1],a[1]);else if(tN.test(t[1])){var d=+tN.exec(t[1])[1];o[1]=a[1]+d}else We(t[1])?o[1]=t[1](a[1]):o[1]=a[1];return o},um=function(t,a,n){if(t&&t.scale&&t.scale.bandwidth){var o=t.scale.bandwidth();if(!n||o>0)return o}if(t&&a&&a.length>=2){for(var l=ey(a,function(g){return g.coordinate}),d=1/0,u=1,m=l.length;u<m;u++){var h=l[u],x=l[u-1];d=Math.min((h.coordinate||0)-(x.coordinate||0),d)}return d===1/0?0:d}return n?void 0:0},rN=function(t,a,n){return!t||!t.length||ay(t,ma(n,"type.defaultProps.domain"))?a:t},o4=function(t,a){var n=t.type.defaultProps?It(It({},t.type.defaultProps),t.props):t.props,o=n.dataKey,l=n.name,d=n.unit,u=n.formatter,m=n.tooltipType,h=n.chartType,x=n.hide;return It(It({},ct(t,!1)),{},{dataKey:o,unit:d,formatter:u,name:l||o,color:ny(t),value:Fa(a,o),type:m,payload:a,chartType:h,hide:x})};function jc(e){"@babel/helpers - typeof";return jc=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},jc(e)}function aN(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),a.push.apply(a,n)}return a}function nN(e){for(var t=1;t<arguments.length;t++){var a=arguments[t]!=null?arguments[t]:{};t%2?aN(Object(a),!0).forEach(function(n){eR(e,n,a[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):aN(Object(a)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(a,n))})}return e}function eR(e,t,a){return t=tR(t),t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function tR(e){var t=rR(e,"string");return jc(t)=="symbol"?t:t+""}function rR(e,t){if(jc(e)!="object"||!e)return e;var a=e[Symbol.toPrimitive];if(a!==void 0){var n=a.call(e,t);if(jc(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var mm=Math.PI/180,aR=function(t){return t*180/Math.PI},xr=function(t,a,n,o){return{x:t+Math.cos(-mm*o)*n,y:a+Math.sin(-mm*o)*n}},nR=function(t,a){var n=t.x,o=t.y,l=a.x,d=a.y;return Math.sqrt(Math.pow(n-l,2)+Math.pow(o-d,2))},sR=function(t,a){var n=t.x,o=t.y,l=a.cx,d=a.cy,u=nR({x:n,y:o},{x:l,y:d});if(u<=0)return{radius:u};var m=(n-l)/u,h=Math.acos(m);return o>d&&(h=2*Math.PI-h),{radius:u,angle:aR(h),angleInRadian:h}},iR=function(t){var a=t.startAngle,n=t.endAngle,o=Math.floor(a/360),l=Math.floor(n/360),d=Math.min(o,l);return{startAngle:a-d*360,endAngle:n-d*360}},oR=function(t,a){var n=a.startAngle,o=a.endAngle,l=Math.floor(n/360),d=Math.floor(o/360),u=Math.min(l,d);return t+u*360},sN=function(t,a){var n=t.x,o=t.y,l=sR({x:n,y:o},a),d=l.radius,u=l.angle,m=a.innerRadius,h=a.outerRadius;if(d<m||d>h)return!1;if(d===0)return!0;var x=iR(a),g=x.startAngle,p=x.endAngle,j=u,k;if(g<=p){for(;j>p;)j-=360;for(;j<g;)j+=360;k=j>=g&&j<=p}else{for(;j>g;)j-=360;for(;j<p;)j+=360;k=j>=p&&j<=g}return k?nN(nN({},a),{},{radius:d,angle:oR(j,a)}):null};function wc(e){"@babel/helpers - typeof";return wc=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},wc(e)}var lR=["offset"];function cR(e){return fR(e)||mR(e)||uR(e)||dR()}function dR(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
84
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function uR(e,t){if(e){if(typeof e=="string")return Op(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);if(a==="Object"&&e.constructor&&(a=e.constructor.name),a==="Map"||a==="Set")return Array.from(e);if(a==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return Op(e,t)}}function mR(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function fR(e){if(Array.isArray(e))return Op(e)}function Op(e,t){(t==null||t>e.length)&&(t=e.length);for(var a=0,n=new Array(t);a<t;a++)n[a]=e[a];return n}function hR(e,t){if(e==null)return{};var a=xR(e,t),n,o;if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(o=0;o<l.length;o++)n=l[o],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}function xR(e,t){if(e==null)return{};var a={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;a[n]=e[n]}return a}function iN(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),a.push.apply(a,n)}return a}function Jt(e){for(var t=1;t<arguments.length;t++){var a=arguments[t]!=null?arguments[t]:{};t%2?iN(Object(a),!0).forEach(function(n){gR(e,n,a[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):iN(Object(a)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(a,n))})}return e}function gR(e,t,a){return t=pR(t),t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function pR(e){var t=yR(e,"string");return wc(t)=="symbol"?t:t+""}function yR(e,t){if(wc(e)!="object"||!e)return e;var a=e[Symbol.toPrimitive];if(a!==void 0){var n=a.call(e,t);if(wc(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function kc(){return kc=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},kc.apply(this,arguments)}var bR=function(t){var a=t.value,n=t.formatter,o=st(t.children)?a:t.children;return We(n)?n(o):o},vR=function(t,a){var n=wa(a-t),o=Math.min(Math.abs(a-t),360);return n*o},jR=function(t,a,n){var o=t.position,l=t.viewBox,d=t.offset,u=t.className,m=l,h=m.cx,x=m.cy,g=m.innerRadius,p=m.outerRadius,j=m.startAngle,k=m.endAngle,N=m.clockWise,v=(g+p)/2,T=vR(j,k),E=T>=0?1:-1,O,S;o==="insideStart"?(O=j+E*d,S=N):o==="insideEnd"?(O=k-E*d,S=!N):o==="end"&&(O=k+E*d,S=N),S=T<=0?S:!S;var C=xr(h,x,v,O),A=xr(h,x,v,O+(S?1:-1)*359),$="M".concat(C.x,",").concat(C.y,`
85
+ A`).concat(v,",").concat(v,",0,1,").concat(S?0:1,`,
86
+ `).concat(A.x,",").concat(A.y),P=st(t.id)?rf("recharts-radial-line-"):t.id;return ee.createElement("text",kc({},n,{dominantBaseline:"central",className:nt("recharts-radial-bar-label",u)}),ee.createElement("defs",null,ee.createElement("path",{id:P,d:$})),ee.createElement("textPath",{xlinkHref:"#".concat(P)},a))},wR=function(t){var a=t.viewBox,n=t.offset,o=t.position,l=a,d=l.cx,u=l.cy,m=l.innerRadius,h=l.outerRadius,x=l.startAngle,g=l.endAngle,p=(x+g)/2;if(o==="outside"){var j=xr(d,u,h+n,p),k=j.x,N=j.y;return{x:k,y:N,textAnchor:k>=d?"start":"end",verticalAnchor:"middle"}}if(o==="center")return{x:d,y:u,textAnchor:"middle",verticalAnchor:"middle"};if(o==="centerTop")return{x:d,y:u,textAnchor:"middle",verticalAnchor:"start"};if(o==="centerBottom")return{x:d,y:u,textAnchor:"middle",verticalAnchor:"end"};var v=(m+h)/2,T=xr(d,u,v,p),E=T.x,O=T.y;return{x:E,y:O,textAnchor:"middle",verticalAnchor:"middle"}},kR=function(t){var a=t.viewBox,n=t.parentViewBox,o=t.offset,l=t.position,d=a,u=d.x,m=d.y,h=d.width,x=d.height,g=x>=0?1:-1,p=g*o,j=g>0?"end":"start",k=g>0?"start":"end",N=h>=0?1:-1,v=N*o,T=N>0?"end":"start",E=N>0?"start":"end";if(l==="top"){var O={x:u+h/2,y:m-g*o,textAnchor:"middle",verticalAnchor:j};return Jt(Jt({},O),n?{height:Math.max(m-n.y,0),width:h}:{})}if(l==="bottom"){var S={x:u+h/2,y:m+x+p,textAnchor:"middle",verticalAnchor:k};return Jt(Jt({},S),n?{height:Math.max(n.y+n.height-(m+x),0),width:h}:{})}if(l==="left"){var C={x:u-v,y:m+x/2,textAnchor:T,verticalAnchor:"middle"};return Jt(Jt({},C),n?{width:Math.max(C.x-n.x,0),height:x}:{})}if(l==="right"){var A={x:u+h+v,y:m+x/2,textAnchor:E,verticalAnchor:"middle"};return Jt(Jt({},A),n?{width:Math.max(n.x+n.width-A.x,0),height:x}:{})}var $=n?{width:h,height:x}:{};return l==="insideLeft"?Jt({x:u+v,y:m+x/2,textAnchor:E,verticalAnchor:"middle"},$):l==="insideRight"?Jt({x:u+h-v,y:m+x/2,textAnchor:T,verticalAnchor:"middle"},$):l==="insideTop"?Jt({x:u+h/2,y:m+p,textAnchor:"middle",verticalAnchor:k},$):l==="insideBottom"?Jt({x:u+h/2,y:m+x-p,textAnchor:"middle",verticalAnchor:j},$):l==="insideTopLeft"?Jt({x:u+v,y:m+p,textAnchor:E,verticalAnchor:k},$):l==="insideTopRight"?Jt({x:u+h-v,y:m+p,textAnchor:T,verticalAnchor:k},$):l==="insideBottomLeft"?Jt({x:u+v,y:m+x-p,textAnchor:E,verticalAnchor:j},$):l==="insideBottomRight"?Jt({x:u+h-v,y:m+x-p,textAnchor:T,verticalAnchor:j},$):Ho(l)&&(Se(l.x)||Ms(l.x))&&(Se(l.y)||Ms(l.y))?Jt({x:u+Vs(l.x,h),y:m+Vs(l.y,x),textAnchor:"end",verticalAnchor:"end"},$):Jt({x:u+h/2,y:m+x/2,textAnchor:"middle",verticalAnchor:"middle"},$)},NR=function(t){return"cx"in t&&Se(t.cx)};function vr(e){var t=e.offset,a=t===void 0?5:t,n=hR(e,lR),o=Jt({offset:a},n),l=o.viewBox,d=o.position,u=o.value,m=o.children,h=o.content,x=o.className,g=x===void 0?"":x,p=o.textBreakAll;if(!l||st(u)&&st(m)&&!y.isValidElement(h)&&!We(h))return null;if(y.isValidElement(h))return y.cloneElement(h,o);var j;if(We(h)){if(j=y.createElement(h,o),y.isValidElement(j))return j}else j=bR(o);var k=NR(l),N=ct(o,!0);if(k&&(d==="insideStart"||d==="insideEnd"||d==="end"))return jR(o,j,N);var v=k?wR(o):kR(o);return ee.createElement(lm,kc({className:nt("recharts-label",g)},N,v,{breakAll:p}),j)}vr.displayName="Label";var l4=function(t){var a=t.cx,n=t.cy,o=t.angle,l=t.startAngle,d=t.endAngle,u=t.r,m=t.radius,h=t.innerRadius,x=t.outerRadius,g=t.x,p=t.y,j=t.top,k=t.left,N=t.width,v=t.height,T=t.clockWise,E=t.labelViewBox;if(E)return E;if(Se(N)&&Se(v)){if(Se(g)&&Se(p))return{x:g,y:p,width:N,height:v};if(Se(j)&&Se(k))return{x:j,y:k,width:N,height:v}}return Se(g)&&Se(p)?{x:g,y:p,width:0,height:0}:Se(a)&&Se(n)?{cx:a,cy:n,startAngle:l||o||0,endAngle:d||o||0,innerRadius:h||0,outerRadius:x||m||u||0,clockWise:T}:t.viewBox?t.viewBox:{}},SR=function(t,a){return t?t===!0?ee.createElement(vr,{key:"label-implicit",viewBox:a}):er(t)?ee.createElement(vr,{key:"label-implicit",viewBox:a,value:t}):y.isValidElement(t)?t.type===vr?y.cloneElement(t,{key:"label-implicit",viewBox:a}):ee.createElement(vr,{key:"label-implicit",content:t,viewBox:a}):We(t)?ee.createElement(vr,{key:"label-implicit",content:t,viewBox:a}):Ho(t)?ee.createElement(vr,kc({viewBox:a},t,{key:"label-implicit"})):null:null},CR=function(t,a){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(!t||!t.children&&n&&!t.label)return null;var o=t.children,l=l4(t),d=Na(o,vr).map(function(m,h){return y.cloneElement(m,{viewBox:a||l,key:"label-".concat(h)})});if(!n)return d;var u=SR(t.label,a||l);return[u].concat(cR(d))};vr.parseViewBox=l4;vr.renderCallByParent=CR;var TR=b$();const ER=Nt(TR);function Nc(e){"@babel/helpers - typeof";return Nc=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Nc(e)}var OR=["valueAccessor"],AR=["data","dataKey","clockWise","id","textBreakAll"];function $R(e){return LR(e)||MR(e)||_R(e)||DR()}function DR(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
87
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function _R(e,t){if(e){if(typeof e=="string")return Ap(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);if(a==="Object"&&e.constructor&&(a=e.constructor.name),a==="Map"||a==="Set")return Array.from(e);if(a==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return Ap(e,t)}}function MR(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function LR(e){if(Array.isArray(e))return Ap(e)}function Ap(e,t){(t==null||t>e.length)&&(t=e.length);for(var a=0,n=new Array(t);a<t;a++)n[a]=e[a];return n}function fm(){return fm=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},fm.apply(this,arguments)}function oN(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),a.push.apply(a,n)}return a}function lN(e){for(var t=1;t<arguments.length;t++){var a=arguments[t]!=null?arguments[t]:{};t%2?oN(Object(a),!0).forEach(function(n){PR(e,n,a[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):oN(Object(a)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(a,n))})}return e}function PR(e,t,a){return t=RR(t),t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function RR(e){var t=IR(e,"string");return Nc(t)=="symbol"?t:t+""}function IR(e,t){if(Nc(e)!="object"||!e)return e;var a=e[Symbol.toPrimitive];if(a!==void 0){var n=a.call(e,t);if(Nc(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function cN(e,t){if(e==null)return{};var a=BR(e,t),n,o;if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(o=0;o<l.length;o++)n=l[o],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}function BR(e,t){if(e==null)return{};var a={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;a[n]=e[n]}return a}var zR=function(t){return Array.isArray(t.value)?ER(t.value):t.value};function Is(e){var t=e.valueAccessor,a=t===void 0?zR:t,n=cN(e,OR),o=n.data,l=n.dataKey,d=n.clockWise,u=n.id,m=n.textBreakAll,h=cN(n,AR);return!o||!o.length?null:ee.createElement(lr,{className:"recharts-label-list"},o.map(function(x,g){var p=st(l)?a(x,g):Fa(x&&x.payload,l),j=st(u)?{}:{id:"".concat(u,"-").concat(g)};return ee.createElement(vr,fm({},ct(x,!0),h,j,{parentViewBox:x.parentViewBox,value:p,textBreakAll:m,viewBox:vr.parseViewBox(st(d)?x:lN(lN({},x),{},{clockWise:d})),key:"label-".concat(g),index:g}))}))}Is.displayName="LabelList";function qR(e,t){return e?e===!0?ee.createElement(Is,{key:"labelList-implicit",data:t}):ee.isValidElement(e)||We(e)?ee.createElement(Is,{key:"labelList-implicit",data:t,content:e}):Ho(e)?ee.createElement(Is,fm({data:t},e,{key:"labelList-implicit"})):null:null}function FR(e,t){var a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(!e||!e.children&&a&&!e.label)return null;var n=e.children,o=Na(n,Is).map(function(d,u){return y.cloneElement(d,{data:t,key:"labelList-".concat(u)})});if(!a)return o;var l=qR(e.label,t);return[l].concat($R(o))}Is.renderCallByParent=FR;function Sc(e){"@babel/helpers - typeof";return Sc=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Sc(e)}function $p(){return $p=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},$p.apply(this,arguments)}function dN(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),a.push.apply(a,n)}return a}function uN(e){for(var t=1;t<arguments.length;t++){var a=arguments[t]!=null?arguments[t]:{};t%2?dN(Object(a),!0).forEach(function(n){UR(e,n,a[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):dN(Object(a)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(a,n))})}return e}function UR(e,t,a){return t=KR(t),t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function KR(e){var t=HR(e,"string");return Sc(t)=="symbol"?t:t+""}function HR(e,t){if(Sc(e)!="object"||!e)return e;var a=e[Symbol.toPrimitive];if(a!==void 0){var n=a.call(e,t);if(Sc(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var VR=function(t,a){var n=wa(a-t),o=Math.min(Math.abs(a-t),359.999);return n*o},Au=function(t){var a=t.cx,n=t.cy,o=t.radius,l=t.angle,d=t.sign,u=t.isExternal,m=t.cornerRadius,h=t.cornerIsExternal,x=m*(u?1:-1)+o,g=Math.asin(m/x)/mm,p=h?l:l+d*g,j=xr(a,n,x,p),k=xr(a,n,o,p),N=h?l-d*g:l,v=xr(a,n,x*Math.cos(g*mm),N);return{center:j,circleTangency:k,lineTangency:v,theta:g}},c4=function(t){var a=t.cx,n=t.cy,o=t.innerRadius,l=t.outerRadius,d=t.startAngle,u=t.endAngle,m=VR(d,u),h=d+m,x=xr(a,n,l,d),g=xr(a,n,l,h),p="M ".concat(x.x,",").concat(x.y,`
88
+ A `).concat(l,",").concat(l,`,0,
89
+ `).concat(+(Math.abs(m)>180),",").concat(+(d>h),`,
90
+ `).concat(g.x,",").concat(g.y,`
91
+ `);if(o>0){var j=xr(a,n,o,d),k=xr(a,n,o,h);p+="L ".concat(k.x,",").concat(k.y,`
92
+ A `).concat(o,",").concat(o,`,0,
93
+ `).concat(+(Math.abs(m)>180),",").concat(+(d<=h),`,
94
+ `).concat(j.x,",").concat(j.y," Z")}else p+="L ".concat(a,",").concat(n," Z");return p},GR=function(t){var a=t.cx,n=t.cy,o=t.innerRadius,l=t.outerRadius,d=t.cornerRadius,u=t.forceCornerRadius,m=t.cornerIsExternal,h=t.startAngle,x=t.endAngle,g=wa(x-h),p=Au({cx:a,cy:n,radius:l,angle:h,sign:g,cornerRadius:d,cornerIsExternal:m}),j=p.circleTangency,k=p.lineTangency,N=p.theta,v=Au({cx:a,cy:n,radius:l,angle:x,sign:-g,cornerRadius:d,cornerIsExternal:m}),T=v.circleTangency,E=v.lineTangency,O=v.theta,S=m?Math.abs(h-x):Math.abs(h-x)-N-O;if(S<0)return u?"M ".concat(k.x,",").concat(k.y,`
95
+ a`).concat(d,",").concat(d,",0,0,1,").concat(d*2,`,0
96
+ a`).concat(d,",").concat(d,",0,0,1,").concat(-d*2,`,0
97
+ `):c4({cx:a,cy:n,innerRadius:o,outerRadius:l,startAngle:h,endAngle:x});var C="M ".concat(k.x,",").concat(k.y,`
98
+ A`).concat(d,",").concat(d,",0,0,").concat(+(g<0),",").concat(j.x,",").concat(j.y,`
99
+ A`).concat(l,",").concat(l,",0,").concat(+(S>180),",").concat(+(g<0),",").concat(T.x,",").concat(T.y,`
100
+ A`).concat(d,",").concat(d,",0,0,").concat(+(g<0),",").concat(E.x,",").concat(E.y,`
101
+ `);if(o>0){var A=Au({cx:a,cy:n,radius:o,angle:h,sign:g,isExternal:!0,cornerRadius:d,cornerIsExternal:m}),$=A.circleTangency,P=A.lineTangency,M=A.theta,q=Au({cx:a,cy:n,radius:o,angle:x,sign:-g,isExternal:!0,cornerRadius:d,cornerIsExternal:m}),_=q.circleTangency,z=q.lineTangency,U=q.theta,K=m?Math.abs(h-x):Math.abs(h-x)-M-U;if(K<0&&d===0)return"".concat(C,"L").concat(a,",").concat(n,"Z");C+="L".concat(z.x,",").concat(z.y,`
102
+ A`).concat(d,",").concat(d,",0,0,").concat(+(g<0),",").concat(_.x,",").concat(_.y,`
103
+ A`).concat(o,",").concat(o,",0,").concat(+(K>180),",").concat(+(g>0),",").concat($.x,",").concat($.y,`
104
+ A`).concat(d,",").concat(d,",0,0,").concat(+(g<0),",").concat(P.x,",").concat(P.y,"Z")}else C+="L".concat(a,",").concat(n,"Z");return C},YR={cx:0,cy:0,innerRadius:0,outerRadius:0,startAngle:0,endAngle:0,cornerRadius:0,forceCornerRadius:!1,cornerIsExternal:!1},d4=function(t){var a=uN(uN({},YR),t),n=a.cx,o=a.cy,l=a.innerRadius,d=a.outerRadius,u=a.cornerRadius,m=a.forceCornerRadius,h=a.cornerIsExternal,x=a.startAngle,g=a.endAngle,p=a.className;if(d<l||x===g)return null;var j=nt("recharts-sector",p),k=d-l,N=Vs(u,k,0,!0),v;return N>0&&Math.abs(x-g)<360?v=GR({cx:n,cy:o,innerRadius:l,outerRadius:d,cornerRadius:Math.min(N,k/2),forceCornerRadius:m,cornerIsExternal:h,startAngle:x,endAngle:g}):v=c4({cx:n,cy:o,innerRadius:l,outerRadius:d,startAngle:x,endAngle:g}),ee.createElement("path",$p({},ct(a,!0),{className:j,d:v,role:"img"}))};function Cc(e){"@babel/helpers - typeof";return Cc=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Cc(e)}function Dp(){return Dp=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},Dp.apply(this,arguments)}function mN(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),a.push.apply(a,n)}return a}function fN(e){for(var t=1;t<arguments.length;t++){var a=arguments[t]!=null?arguments[t]:{};t%2?mN(Object(a),!0).forEach(function(n){QR(e,n,a[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):mN(Object(a)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(a,n))})}return e}function QR(e,t,a){return t=XR(t),t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function XR(e){var t=WR(e,"string");return Cc(t)=="symbol"?t:t+""}function WR(e,t){if(Cc(e)!="object"||!e)return e;var a=e[Symbol.toPrimitive];if(a!==void 0){var n=a.call(e,t);if(Cc(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var hN={curveBasisClosed:D$,curveBasisOpen:$$,curveBasis:A$,curveBumpX:O$,curveBumpY:E$,curveLinearClosed:T$,curveLinear:cC,curveMonotoneX:C$,curveMonotoneY:S$,curveNatural:N$,curveStep:k$,curveStepAfter:w$,curveStepBefore:j$},$u=function(t){return t.x===+t.x&&t.y===+t.y},Bl=function(t){return t.x},zl=function(t){return t.y},ZR=function(t,a){if(We(t))return t;var n="curve".concat(af(t));return(n==="curveMonotone"||n==="curveBump")&&a?hN["".concat(n).concat(a==="vertical"?"Y":"X")]:hN[n]||cC},JR=function(t){var a=t.type,n=a===void 0?"linear":a,o=t.points,l=o===void 0?[]:o,d=t.baseLine,u=t.layout,m=t.connectNulls,h=m===void 0?!1:m,x=ZR(n,u),g=h?l.filter(function(N){return $u(N)}):l,p;if(Array.isArray(d)){var j=h?d.filter(function(N){return $u(N)}):d,k=g.map(function(N,v){return fN(fN({},N),{},{base:j[v]})});return u==="vertical"?p=Nu().y(zl).x1(Bl).x0(function(N){return N.base.x}):p=Nu().x(Bl).y1(zl).y0(function(N){return N.base.y}),p.defined($u).curve(x),p(k)}return u==="vertical"&&Se(d)?p=Nu().y(zl).x1(Bl).x0(d):Se(d)?p=Nu().x(Bl).y1(zl).y0(d):p=v$().x(Bl).y(zl),p.defined($u).curve(x),p(g)},xN=function(t){var a=t.className,n=t.points,o=t.path,l=t.pathRef;if((!n||!n.length)&&!o)return null;var d=n&&n.length?JR(t):o;return y.createElement("path",Dp({},ct(t,!1),tm(t),{className:nt("recharts-curve",a),d,ref:l}))},fg={exports:{}},hg,gN;function eI(){if(gN)return hg;gN=1;var e="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";return hg=e,hg}var xg,pN;function tI(){if(pN)return xg;pN=1;var e=eI();function t(){}function a(){}return a.resetWarningCache=t,xg=function(){function n(d,u,m,h,x,g){if(g!==e){var p=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw p.name="Invariant Violation",p}}n.isRequired=n;function o(){return n}var l={array:n,bigint:n,bool:n,func:n,number:n,object:n,string:n,symbol:n,any:n,arrayOf:o,element:n,elementType:n,instanceOf:o,node:n,objectOf:o,oneOf:o,oneOfType:o,shape:o,exact:o,checkPropTypes:a,resetWarningCache:t};return l.PropTypes=l,l},xg}var yN;function rI(){return yN||(yN=1,fg.exports=tI()()),fg.exports}var aI=rI();const lt=Nt(aI);function nI(e){typeof requestAnimationFrame<"u"&&requestAnimationFrame(e)}function bN(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,a=-1,n=function o(l){a<0&&(a=l),l-a>t?(e(l),a=-1):nI(o)};requestAnimationFrame(n)}function _p(e){"@babel/helpers - typeof";return _p=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_p(e)}function sI(e){return cI(e)||lI(e)||oI(e)||iI()}function iI(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
105
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function oI(e,t){if(e){if(typeof e=="string")return vN(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);if(a==="Object"&&e.constructor&&(a=e.constructor.name),a==="Map"||a==="Set")return Array.from(e);if(a==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return vN(e,t)}}function vN(e,t){(t==null||t>e.length)&&(t=e.length);for(var a=0,n=new Array(t);a<t;a++)n[a]=e[a];return n}function lI(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function cI(e){if(Array.isArray(e))return e}function dI(){var e={},t=function(){return null},a=!1,n=function o(l){if(!a){if(Array.isArray(l)){if(!l.length)return;var d=l,u=sI(d),m=u[0],h=u.slice(1);if(typeof m=="number"){bN(o.bind(null,h),m);return}o(m),bN(o.bind(null,h));return}_p(l)==="object"&&(e=l,t(e)),typeof l=="function"&&l()}};return{stop:function(){a=!0},start:function(l){a=!1,n(l)},subscribe:function(l){return t=l,function(){t=function(){return null}}}}}function Tc(e){"@babel/helpers - typeof";return Tc=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Tc(e)}function jN(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),a.push.apply(a,n)}return a}function wN(e){for(var t=1;t<arguments.length;t++){var a=arguments[t]!=null?arguments[t]:{};t%2?jN(Object(a),!0).forEach(function(n){u4(e,n,a[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):jN(Object(a)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(a,n))})}return e}function u4(e,t,a){return t=uI(t),t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function uI(e){var t=mI(e,"string");return Tc(t)==="symbol"?t:String(t)}function mI(e,t){if(Tc(e)!=="object"||e===null)return e;var a=e[Symbol.toPrimitive];if(a!==void 0){var n=a.call(e,t);if(Tc(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var fI=function(t,a){return[Object.keys(t),Object.keys(a)].reduce(function(n,o){return n.filter(function(l){return o.includes(l)})})},hI=function(t){return t},xI=function(t){return t.replace(/([A-Z])/g,function(a){return"-".concat(a.toLowerCase())})},Jl=function(t,a){return Object.keys(a).reduce(function(n,o){return wN(wN({},n),{},u4({},o,t(o,a[o])))},{})},kN=function(t,a,n){return t.map(function(o){return"".concat(xI(o)," ").concat(a,"ms ").concat(n)}).join(",")};function gI(e,t){return bI(e)||yI(e,t)||m4(e,t)||pI()}function pI(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
106
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function yI(e,t){var a=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(a!=null){var n,o,l,d,u=[],m=!0,h=!1;try{if(l=(a=a.call(e)).next,t!==0)for(;!(m=(n=l.call(a)).done)&&(u.push(n.value),u.length!==t);m=!0);}catch(x){h=!0,o=x}finally{try{if(!m&&a.return!=null&&(d=a.return(),Object(d)!==d))return}finally{if(h)throw o}}return u}}function bI(e){if(Array.isArray(e))return e}function vI(e){return kI(e)||wI(e)||m4(e)||jI()}function jI(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
107
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function m4(e,t){if(e){if(typeof e=="string")return Mp(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);if(a==="Object"&&e.constructor&&(a=e.constructor.name),a==="Map"||a==="Set")return Array.from(e);if(a==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return Mp(e,t)}}function wI(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function kI(e){if(Array.isArray(e))return Mp(e)}function Mp(e,t){(t==null||t>e.length)&&(t=e.length);for(var a=0,n=new Array(t);a<t;a++)n[a]=e[a];return n}var hm=1e-4,f4=function(t,a){return[0,3*t,3*a-6*t,3*t-3*a+1]},h4=function(t,a){return t.map(function(n,o){return n*Math.pow(a,o)}).reduce(function(n,o){return n+o})},NN=function(t,a){return function(n){var o=f4(t,a);return h4(o,n)}},NI=function(t,a){return function(n){var o=f4(t,a),l=[].concat(vI(o.map(function(d,u){return d*u}).slice(1)),[0]);return h4(l,n)}},SN=function(){for(var t=arguments.length,a=new Array(t),n=0;n<t;n++)a[n]=arguments[n];var o=a[0],l=a[1],d=a[2],u=a[3];if(a.length===1)switch(a[0]){case"linear":o=0,l=0,d=1,u=1;break;case"ease":o=.25,l=.1,d=.25,u=1;break;case"ease-in":o=.42,l=0,d=1,u=1;break;case"ease-out":o=.42,l=0,d=.58,u=1;break;case"ease-in-out":o=0,l=0,d=.58,u=1;break;default:{var m=a[0].split("(");if(m[0]==="cubic-bezier"&&m[1].split(")")[0].split(",").length===4){var h=m[1].split(")")[0].split(",").map(function(v){return parseFloat(v)}),x=gI(h,4);o=x[0],l=x[1],d=x[2],u=x[3]}}}var g=NN(o,d),p=NN(l,u),j=NI(o,d),k=function(T){return T>1?1:T<0?0:T},N=function(T){for(var E=T>1?1:T,O=E,S=0;S<8;++S){var C=g(O)-E,A=j(O);if(Math.abs(C-E)<hm||A<hm)return p(O);O=k(O-C/A)}return p(O)};return N.isStepper=!1,N},SI=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},a=t.stiff,n=a===void 0?100:a,o=t.damping,l=o===void 0?8:o,d=t.dt,u=d===void 0?17:d,m=function(x,g,p){var j=-(x-g)*n,k=p*l,N=p+(j-k)*u/1e3,v=p*u/1e3+x;return Math.abs(v-g)<hm&&Math.abs(N)<hm?[g,0]:[v,N]};return m.isStepper=!0,m.dt=u,m},CI=function(){for(var t=arguments.length,a=new Array(t),n=0;n<t;n++)a[n]=arguments[n];var o=a[0];if(typeof o=="string")switch(o){case"ease":case"ease-in-out":case"ease-out":case"ease-in":case"linear":return SN(o);case"spring":return SI();default:if(o.split("(")[0]==="cubic-bezier")return SN(o)}return typeof o=="function"?o:null};function Ec(e){"@babel/helpers - typeof";return Ec=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ec(e)}function CN(e){return OI(e)||EI(e)||x4(e)||TI()}function TI(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
108
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function EI(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function OI(e){if(Array.isArray(e))return Pp(e)}function TN(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),a.push.apply(a,n)}return a}function hr(e){for(var t=1;t<arguments.length;t++){var a=arguments[t]!=null?arguments[t]:{};t%2?TN(Object(a),!0).forEach(function(n){Lp(e,n,a[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):TN(Object(a)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(a,n))})}return e}function Lp(e,t,a){return t=AI(t),t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function AI(e){var t=$I(e,"string");return Ec(t)==="symbol"?t:String(t)}function $I(e,t){if(Ec(e)!=="object"||e===null)return e;var a=e[Symbol.toPrimitive];if(a!==void 0){var n=a.call(e,t);if(Ec(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function DI(e,t){return LI(e)||MI(e,t)||x4(e,t)||_I()}function _I(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
109
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function x4(e,t){if(e){if(typeof e=="string")return Pp(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);if(a==="Object"&&e.constructor&&(a=e.constructor.name),a==="Map"||a==="Set")return Array.from(e);if(a==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return Pp(e,t)}}function Pp(e,t){(t==null||t>e.length)&&(t=e.length);for(var a=0,n=new Array(t);a<t;a++)n[a]=e[a];return n}function MI(e,t){var a=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(a!=null){var n,o,l,d,u=[],m=!0,h=!1;try{if(l=(a=a.call(e)).next,t!==0)for(;!(m=(n=l.call(a)).done)&&(u.push(n.value),u.length!==t);m=!0);}catch(x){h=!0,o=x}finally{try{if(!m&&a.return!=null&&(d=a.return(),Object(d)!==d))return}finally{if(h)throw o}}return u}}function LI(e){if(Array.isArray(e))return e}var xm=function(t,a,n){return t+(a-t)*n},Rp=function(t){var a=t.from,n=t.to;return a!==n},PI=function e(t,a,n){var o=Jl(function(l,d){if(Rp(d)){var u=t(d.from,d.to,d.velocity),m=DI(u,2),h=m[0],x=m[1];return hr(hr({},d),{},{from:h,velocity:x})}return d},a);return n<1?Jl(function(l,d){return Rp(d)?hr(hr({},d),{},{velocity:xm(d.velocity,o[l].velocity,n),from:xm(d.from,o[l].from,n)}):d},a):e(t,o,n-1)};const RI=(function(e,t,a,n,o){var l=fI(e,t),d=l.reduce(function(v,T){return hr(hr({},v),{},Lp({},T,[e[T],t[T]]))},{}),u=l.reduce(function(v,T){return hr(hr({},v),{},Lp({},T,{from:e[T],velocity:0,to:t[T]}))},{}),m=-1,h,x,g=function(){return null},p=function(){return Jl(function(T,E){return E.from},u)},j=function(){return!Object.values(u).filter(Rp).length},k=function(T){h||(h=T);var E=T-h,O=E/a.dt;u=PI(a,u,O),o(hr(hr(hr({},e),t),p())),h=T,j()||(m=requestAnimationFrame(g))},N=function(T){x||(x=T);var E=(T-x)/n,O=Jl(function(C,A){return xm.apply(void 0,CN(A).concat([a(E)]))},d);if(o(hr(hr(hr({},e),t),O)),E<1)m=requestAnimationFrame(g);else{var S=Jl(function(C,A){return xm.apply(void 0,CN(A).concat([a(1)]))},d);o(hr(hr(hr({},e),t),S))}};return g=a.isStepper?k:N,function(){return requestAnimationFrame(g),function(){cancelAnimationFrame(m)}}});function yo(e){"@babel/helpers - typeof";return yo=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},yo(e)}var II=["children","begin","duration","attributeName","easing","isActive","steps","from","to","canBegin","onAnimationEnd","shouldReAnimate","onAnimationReStart"];function BI(e,t){if(e==null)return{};var a=zI(e,t),n,o;if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(o=0;o<l.length;o++)n=l[o],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}function zI(e,t){if(e==null)return{};var a={},n=Object.keys(e),o,l;for(l=0;l<n.length;l++)o=n[l],!(t.indexOf(o)>=0)&&(a[o]=e[o]);return a}function gg(e){return KI(e)||UI(e)||FI(e)||qI()}function qI(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
110
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function FI(e,t){if(e){if(typeof e=="string")return Ip(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);if(a==="Object"&&e.constructor&&(a=e.constructor.name),a==="Map"||a==="Set")return Array.from(e);if(a==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return Ip(e,t)}}function UI(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function KI(e){if(Array.isArray(e))return Ip(e)}function Ip(e,t){(t==null||t>e.length)&&(t=e.length);for(var a=0,n=new Array(t);a<t;a++)n[a]=e[a];return n}function EN(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),a.push.apply(a,n)}return a}function va(e){for(var t=1;t<arguments.length;t++){var a=arguments[t]!=null?arguments[t]:{};t%2?EN(Object(a),!0).forEach(function(n){Hl(e,n,a[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):EN(Object(a)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(a,n))})}return e}function Hl(e,t,a){return t=g4(t),t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function HI(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function VI(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,g4(n.key),n)}}function GI(e,t,a){return t&&VI(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function g4(e){var t=YI(e,"string");return yo(t)==="symbol"?t:String(t)}function YI(e,t){if(yo(e)!=="object"||e===null)return e;var a=e[Symbol.toPrimitive];if(a!==void 0){var n=a.call(e,t);if(yo(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function QI(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Bp(e,t)}function Bp(e,t){return Bp=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,o){return n.__proto__=o,n},Bp(e,t)}function XI(e){var t=WI();return function(){var n=gm(e),o;if(t){var l=gm(this).constructor;o=Reflect.construct(n,arguments,l)}else o=n.apply(this,arguments);return zp(this,o)}}function zp(e,t){if(t&&(yo(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return qp(e)}function qp(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function WI(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function gm(e){return gm=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(a){return a.__proto__||Object.getPrototypeOf(a)},gm(e)}var as=(function(e){QI(a,e);var t=XI(a);function a(n,o){var l;HI(this,a),l=t.call(this,n,o);var d=l.props,u=d.isActive,m=d.attributeName,h=d.from,x=d.to,g=d.steps,p=d.children,j=d.duration;if(l.handleStyleChange=l.handleStyleChange.bind(qp(l)),l.changeStyle=l.changeStyle.bind(qp(l)),!u||j<=0)return l.state={style:{}},typeof p=="function"&&(l.state={style:x}),zp(l);if(g&&g.length)l.state={style:g[0].style};else if(h){if(typeof p=="function")return l.state={style:h},zp(l);l.state={style:m?Hl({},m,h):h}}else l.state={style:{}};return l}return GI(a,[{key:"componentDidMount",value:function(){var o=this.props,l=o.isActive,d=o.canBegin;this.mounted=!0,!(!l||!d)&&this.runAnimation(this.props)}},{key:"componentDidUpdate",value:function(o){var l=this.props,d=l.isActive,u=l.canBegin,m=l.attributeName,h=l.shouldReAnimate,x=l.to,g=l.from,p=this.state.style;if(u){if(!d){var j={style:m?Hl({},m,x):x};this.state&&p&&(m&&p[m]!==x||!m&&p!==x)&&this.setState(j);return}if(!(dA(o.to,x)&&o.canBegin&&o.isActive)){var k=!o.canBegin||!o.isActive;this.manager&&this.manager.stop(),this.stopJSAnimation&&this.stopJSAnimation();var N=k||h?g:o.to;if(this.state&&p){var v={style:m?Hl({},m,N):N};(m&&p[m]!==N||!m&&p!==N)&&this.setState(v)}this.runAnimation(va(va({},this.props),{},{from:N,begin:0}))}}}},{key:"componentWillUnmount",value:function(){this.mounted=!1;var o=this.props.onAnimationEnd;this.unSubscribe&&this.unSubscribe(),this.manager&&(this.manager.stop(),this.manager=null),this.stopJSAnimation&&this.stopJSAnimation(),o&&o()}},{key:"handleStyleChange",value:function(o){this.changeStyle(o)}},{key:"changeStyle",value:function(o){this.mounted&&this.setState({style:o})}},{key:"runJSAnimation",value:function(o){var l=this,d=o.from,u=o.to,m=o.duration,h=o.easing,x=o.begin,g=o.onAnimationEnd,p=o.onAnimationStart,j=RI(d,u,CI(h),m,this.changeStyle),k=function(){l.stopJSAnimation=j()};this.manager.start([p,x,k,m,g])}},{key:"runStepAnimation",value:function(o){var l=this,d=o.steps,u=o.begin,m=o.onAnimationStart,h=d[0],x=h.style,g=h.duration,p=g===void 0?0:g,j=function(N,v,T){if(T===0)return N;var E=v.duration,O=v.easing,S=O===void 0?"ease":O,C=v.style,A=v.properties,$=v.onAnimationEnd,P=T>0?d[T-1]:v,M=A||Object.keys(C);if(typeof S=="function"||S==="spring")return[].concat(gg(N),[l.runJSAnimation.bind(l,{from:P.style,to:C,duration:E,easing:S}),E]);var q=kN(M,E,S),_=va(va(va({},P.style),C),{},{transition:q});return[].concat(gg(N),[_,E,$]).filter(hI)};return this.manager.start([m].concat(gg(d.reduce(j,[x,Math.max(p,u)])),[o.onAnimationEnd]))}},{key:"runAnimation",value:function(o){this.manager||(this.manager=dI());var l=o.begin,d=o.duration,u=o.attributeName,m=o.to,h=o.easing,x=o.onAnimationStart,g=o.onAnimationEnd,p=o.steps,j=o.children,k=this.manager;if(this.unSubscribe=k.subscribe(this.handleStyleChange),typeof h=="function"||typeof j=="function"||h==="spring"){this.runJSAnimation(o);return}if(p.length>1){this.runStepAnimation(o);return}var N=u?Hl({},u,m):m,v=kN(Object.keys(N),d,h);k.start([x,l,va(va({},N),{},{transition:v}),d,g])}},{key:"render",value:function(){var o=this.props,l=o.children;o.begin;var d=o.duration;o.attributeName,o.easing;var u=o.isActive;o.steps,o.from,o.to,o.canBegin,o.onAnimationEnd,o.shouldReAnimate,o.onAnimationReStart;var m=BI(o,II),h=y.Children.count(l),x=this.state.style;if(typeof l=="function")return l(x);if(!u||h===0||d<=0)return l;var g=function(j){var k=j.props,N=k.style,v=N===void 0?{}:N,T=k.className,E=y.cloneElement(j,va(va({},m),{},{style:va(va({},v),x),className:T}));return E};return h===1?g(y.Children.only(l)):ee.createElement("div",null,y.Children.map(l,function(p){return g(p)}))}}]),a})(y.PureComponent);as.displayName="Animate";as.defaultProps={begin:0,duration:1e3,from:"",to:"",attributeName:"",easing:"ease",isActive:!0,canBegin:!0,steps:[],onAnimationEnd:function(){},onAnimationStart:function(){}};as.propTypes={from:lt.oneOfType([lt.object,lt.string]),to:lt.oneOfType([lt.object,lt.string]),attributeName:lt.string,duration:lt.number,begin:lt.number,easing:lt.oneOfType([lt.string,lt.func]),steps:lt.arrayOf(lt.shape({duration:lt.number.isRequired,style:lt.object.isRequired,easing:lt.oneOfType([lt.oneOf(["ease","ease-in","ease-out","ease-in-out","linear"]),lt.func]),properties:lt.arrayOf("string"),onAnimationEnd:lt.func})),children:lt.oneOfType([lt.node,lt.func]),isActive:lt.bool,canBegin:lt.bool,onAnimationEnd:lt.func,shouldReAnimate:lt.bool,onAnimationStart:lt.func,onAnimationReStart:lt.func};function Oc(e){"@babel/helpers - typeof";return Oc=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Oc(e)}function pm(){return pm=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},pm.apply(this,arguments)}function ZI(e,t){return r8(e)||t8(e,t)||e8(e,t)||JI()}function JI(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
111
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function e8(e,t){if(e){if(typeof e=="string")return ON(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);if(a==="Object"&&e.constructor&&(a=e.constructor.name),a==="Map"||a==="Set")return Array.from(e);if(a==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return ON(e,t)}}function ON(e,t){(t==null||t>e.length)&&(t=e.length);for(var a=0,n=new Array(t);a<t;a++)n[a]=e[a];return n}function t8(e,t){var a=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(a!=null){var n,o,l,d,u=[],m=!0,h=!1;try{if(l=(a=a.call(e)).next,t!==0)for(;!(m=(n=l.call(a)).done)&&(u.push(n.value),u.length!==t);m=!0);}catch(x){h=!0,o=x}finally{try{if(!m&&a.return!=null&&(d=a.return(),Object(d)!==d))return}finally{if(h)throw o}}return u}}function r8(e){if(Array.isArray(e))return e}function AN(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),a.push.apply(a,n)}return a}function $N(e){for(var t=1;t<arguments.length;t++){var a=arguments[t]!=null?arguments[t]:{};t%2?AN(Object(a),!0).forEach(function(n){a8(e,n,a[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):AN(Object(a)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(a,n))})}return e}function a8(e,t,a){return t=n8(t),t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function n8(e){var t=s8(e,"string");return Oc(t)=="symbol"?t:t+""}function s8(e,t){if(Oc(e)!="object"||!e)return e;var a=e[Symbol.toPrimitive];if(a!==void 0){var n=a.call(e,t);if(Oc(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var DN=function(t,a,n,o,l){var d=Math.min(Math.abs(n)/2,Math.abs(o)/2),u=o>=0?1:-1,m=n>=0?1:-1,h=o>=0&&n>=0||o<0&&n<0?1:0,x;if(d>0&&l instanceof Array){for(var g=[0,0,0,0],p=0,j=4;p<j;p++)g[p]=l[p]>d?d:l[p];x="M".concat(t,",").concat(a+u*g[0]),g[0]>0&&(x+="A ".concat(g[0],",").concat(g[0],",0,0,").concat(h,",").concat(t+m*g[0],",").concat(a)),x+="L ".concat(t+n-m*g[1],",").concat(a),g[1]>0&&(x+="A ".concat(g[1],",").concat(g[1],",0,0,").concat(h,`,
112
+ `).concat(t+n,",").concat(a+u*g[1])),x+="L ".concat(t+n,",").concat(a+o-u*g[2]),g[2]>0&&(x+="A ".concat(g[2],",").concat(g[2],",0,0,").concat(h,`,
113
+ `).concat(t+n-m*g[2],",").concat(a+o)),x+="L ".concat(t+m*g[3],",").concat(a+o),g[3]>0&&(x+="A ".concat(g[3],",").concat(g[3],",0,0,").concat(h,`,
114
+ `).concat(t,",").concat(a+o-u*g[3])),x+="Z"}else if(d>0&&l===+l&&l>0){var k=Math.min(d,l);x="M ".concat(t,",").concat(a+u*k,`
115
+ A `).concat(k,",").concat(k,",0,0,").concat(h,",").concat(t+m*k,",").concat(a,`
116
+ L `).concat(t+n-m*k,",").concat(a,`
117
+ A `).concat(k,",").concat(k,",0,0,").concat(h,",").concat(t+n,",").concat(a+u*k,`
118
+ L `).concat(t+n,",").concat(a+o-u*k,`
119
+ A `).concat(k,",").concat(k,",0,0,").concat(h,",").concat(t+n-m*k,",").concat(a+o,`
120
+ L `).concat(t+m*k,",").concat(a+o,`
121
+ A `).concat(k,",").concat(k,",0,0,").concat(h,",").concat(t,",").concat(a+o-u*k," Z")}else x="M ".concat(t,",").concat(a," h ").concat(n," v ").concat(o," h ").concat(-n," Z");return x},i8=function(t,a){if(!t||!a)return!1;var n=t.x,o=t.y,l=a.x,d=a.y,u=a.width,m=a.height;if(Math.abs(u)>0&&Math.abs(m)>0){var h=Math.min(l,l+u),x=Math.max(l,l+u),g=Math.min(d,d+m),p=Math.max(d,d+m);return n>=h&&n<=x&&o>=g&&o<=p}return!1},o8={x:0,y:0,width:0,height:0,radius:0,isAnimationActive:!1,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},sy=function(t){var a=$N($N({},o8),t),n=y.useRef(),o=y.useState(-1),l=ZI(o,2),d=l[0],u=l[1];y.useEffect(function(){if(n.current&&n.current.getTotalLength)try{var S=n.current.getTotalLength();S&&u(S)}catch{}},[]);var m=a.x,h=a.y,x=a.width,g=a.height,p=a.radius,j=a.className,k=a.animationEasing,N=a.animationDuration,v=a.animationBegin,T=a.isAnimationActive,E=a.isUpdateAnimationActive;if(m!==+m||h!==+h||x!==+x||g!==+g||x===0||g===0)return null;var O=nt("recharts-rectangle",j);return E?ee.createElement(as,{canBegin:d>0,from:{width:x,height:g,x:m,y:h},to:{width:x,height:g,x:m,y:h},duration:N,animationEasing:k,isActive:E},function(S){var C=S.width,A=S.height,$=S.x,P=S.y;return ee.createElement(as,{canBegin:d>0,from:"0px ".concat(d===-1?1:d,"px"),to:"".concat(d,"px 0px"),attributeName:"strokeDasharray",begin:v,duration:N,isActive:T,easing:k},ee.createElement("path",pm({},ct(a,!0),{className:O,d:DN($,P,C,A,p),ref:n})))}):ee.createElement("path",pm({},ct(a,!0),{className:O,d:DN(m,h,x,g,p)}))};function Fp(){return Fp=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},Fp.apply(this,arguments)}var p4=function(t){var a=t.cx,n=t.cy,o=t.r,l=t.className,d=nt("recharts-dot",l);return a===+a&&n===+n&&o===+o?y.createElement("circle",Fp({},ct(t,!1),tm(t),{className:d,cx:a,cy:n,r:o})):null};function Ac(e){"@babel/helpers - typeof";return Ac=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ac(e)}var l8=["x","y","top","left","width","height","className"];function Up(){return Up=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},Up.apply(this,arguments)}function _N(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),a.push.apply(a,n)}return a}function c8(e){for(var t=1;t<arguments.length;t++){var a=arguments[t]!=null?arguments[t]:{};t%2?_N(Object(a),!0).forEach(function(n){d8(e,n,a[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):_N(Object(a)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(a,n))})}return e}function d8(e,t,a){return t=u8(t),t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function u8(e){var t=m8(e,"string");return Ac(t)=="symbol"?t:t+""}function m8(e,t){if(Ac(e)!="object"||!e)return e;var a=e[Symbol.toPrimitive];if(a!==void 0){var n=a.call(e,t);if(Ac(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function f8(e,t){if(e==null)return{};var a=h8(e,t),n,o;if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(o=0;o<l.length;o++)n=l[o],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}function h8(e,t){if(e==null)return{};var a={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;a[n]=e[n]}return a}var x8=function(t,a,n,o,l,d){return"M".concat(t,",").concat(l,"v").concat(o,"M").concat(d,",").concat(a,"h").concat(n)},g8=function(t){var a=t.x,n=a===void 0?0:a,o=t.y,l=o===void 0?0:o,d=t.top,u=d===void 0?0:d,m=t.left,h=m===void 0?0:m,x=t.width,g=x===void 0?0:x,p=t.height,j=p===void 0?0:p,k=t.className,N=f8(t,l8),v=c8({x:n,y:l,top:u,left:h,width:g,height:j},N);return!Se(n)||!Se(l)||!Se(g)||!Se(j)||!Se(u)||!Se(h)?null:ee.createElement("path",Up({},ct(v,!0),{className:nt("recharts-cross",k),d:x8(n,l,g,j,u,h)}))},p8=_$();const y8=Nt(p8);var pg,MN;function b8(){if(MN)return pg;MN=1;var e=sC(),t=iC(),a="[object Boolean]";function n(o){return o===!0||o===!1||t(o)&&e(o)==a}return pg=n,pg}var v8=b8();const j8=Nt(v8);function $c(e){"@babel/helpers - typeof";return $c=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},$c(e)}function ym(){return ym=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},ym.apply(this,arguments)}function w8(e,t){return C8(e)||S8(e,t)||N8(e,t)||k8()}function k8(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
122
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function N8(e,t){if(e){if(typeof e=="string")return LN(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);if(a==="Object"&&e.constructor&&(a=e.constructor.name),a==="Map"||a==="Set")return Array.from(e);if(a==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return LN(e,t)}}function LN(e,t){(t==null||t>e.length)&&(t=e.length);for(var a=0,n=new Array(t);a<t;a++)n[a]=e[a];return n}function S8(e,t){var a=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(a!=null){var n,o,l,d,u=[],m=!0,h=!1;try{if(l=(a=a.call(e)).next,t!==0)for(;!(m=(n=l.call(a)).done)&&(u.push(n.value),u.length!==t);m=!0);}catch(x){h=!0,o=x}finally{try{if(!m&&a.return!=null&&(d=a.return(),Object(d)!==d))return}finally{if(h)throw o}}return u}}function C8(e){if(Array.isArray(e))return e}function PN(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),a.push.apply(a,n)}return a}function RN(e){for(var t=1;t<arguments.length;t++){var a=arguments[t]!=null?arguments[t]:{};t%2?PN(Object(a),!0).forEach(function(n){T8(e,n,a[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):PN(Object(a)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(a,n))})}return e}function T8(e,t,a){return t=E8(t),t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function E8(e){var t=O8(e,"string");return $c(t)=="symbol"?t:t+""}function O8(e,t){if($c(e)!="object"||!e)return e;var a=e[Symbol.toPrimitive];if(a!==void 0){var n=a.call(e,t);if($c(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var IN=function(t,a,n,o,l){var d=n-o,u;return u="M ".concat(t,",").concat(a),u+="L ".concat(t+n,",").concat(a),u+="L ".concat(t+n-d/2,",").concat(a+l),u+="L ".concat(t+n-d/2-o,",").concat(a+l),u+="L ".concat(t,",").concat(a," Z"),u},A8={x:0,y:0,upperWidth:0,lowerWidth:0,height:0,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},$8=function(t){var a=RN(RN({},A8),t),n=y.useRef(),o=y.useState(-1),l=w8(o,2),d=l[0],u=l[1];y.useEffect(function(){if(n.current&&n.current.getTotalLength)try{var O=n.current.getTotalLength();O&&u(O)}catch{}},[]);var m=a.x,h=a.y,x=a.upperWidth,g=a.lowerWidth,p=a.height,j=a.className,k=a.animationEasing,N=a.animationDuration,v=a.animationBegin,T=a.isUpdateAnimationActive;if(m!==+m||h!==+h||x!==+x||g!==+g||p!==+p||x===0&&g===0||p===0)return null;var E=nt("recharts-trapezoid",j);return T?ee.createElement(as,{canBegin:d>0,from:{upperWidth:0,lowerWidth:0,height:p,x:m,y:h},to:{upperWidth:x,lowerWidth:g,height:p,x:m,y:h},duration:N,animationEasing:k,isActive:T},function(O){var S=O.upperWidth,C=O.lowerWidth,A=O.height,$=O.x,P=O.y;return ee.createElement(as,{canBegin:d>0,from:"0px ".concat(d===-1?1:d,"px"),to:"".concat(d,"px 0px"),attributeName:"strokeDasharray",begin:v,duration:N,easing:k},ee.createElement("path",ym({},ct(a,!0),{className:E,d:IN($,P,S,C,A),ref:n})))}):ee.createElement("g",null,ee.createElement("path",ym({},ct(a,!0),{className:E,d:IN(m,h,x,g,p)})))},D8=["option","shapeType","propTransformer","activeClassName","isActive"];function Dc(e){"@babel/helpers - typeof";return Dc=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Dc(e)}function _8(e,t){if(e==null)return{};var a=M8(e,t),n,o;if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(o=0;o<l.length;o++)n=l[o],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}function M8(e,t){if(e==null)return{};var a={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;a[n]=e[n]}return a}function BN(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),a.push.apply(a,n)}return a}function bm(e){for(var t=1;t<arguments.length;t++){var a=arguments[t]!=null?arguments[t]:{};t%2?BN(Object(a),!0).forEach(function(n){L8(e,n,a[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):BN(Object(a)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(a,n))})}return e}function L8(e,t,a){return t=P8(t),t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function P8(e){var t=R8(e,"string");return Dc(t)=="symbol"?t:t+""}function R8(e,t){if(Dc(e)!="object"||!e)return e;var a=e[Symbol.toPrimitive];if(a!==void 0){var n=a.call(e,t);if(Dc(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function I8(e,t){return bm(bm({},t),e)}function B8(e,t){return e==="symbols"}function zN(e){var t=e.shapeType,a=e.elementProps;switch(t){case"rectangle":return ee.createElement(sy,a);case"trapezoid":return ee.createElement($8,a);case"sector":return ee.createElement(d4,a);case"symbols":if(B8(t))return ee.createElement(Z0,a);break;default:return null}}function z8(e){return y.isValidElement(e)?e.props:e}function q8(e){var t=e.option,a=e.shapeType,n=e.propTransformer,o=n===void 0?I8:n,l=e.activeClassName,d=l===void 0?"recharts-active-shape":l,u=e.isActive,m=_8(e,D8),h;if(y.isValidElement(t))h=y.cloneElement(t,bm(bm({},m),z8(t)));else if(We(t))h=t(m);else if(y8(t)&&!j8(t)){var x=o(t,m);h=ee.createElement(zN,{shapeType:a,elementProps:x})}else{var g=m;h=ee.createElement(zN,{shapeType:a,elementProps:g})}return u?ee.createElement(lr,{className:d},h):h}function uf(e,t){return t!=null&&"trapezoids"in e.props}function mf(e,t){return t!=null&&"sectors"in e.props}function _c(e,t){return t!=null&&"points"in e.props}function F8(e,t){var a,n,o=e.x===(t==null||(a=t.labelViewBox)===null||a===void 0?void 0:a.x)||e.x===t.x,l=e.y===(t==null||(n=t.labelViewBox)===null||n===void 0?void 0:n.y)||e.y===t.y;return o&&l}function U8(e,t){var a=e.endAngle===t.endAngle,n=e.startAngle===t.startAngle;return a&&n}function K8(e,t){var a=e.x===t.x,n=e.y===t.y,o=e.z===t.z;return a&&n&&o}function H8(e,t){var a;return uf(e,t)?a=F8:mf(e,t)?a=U8:_c(e,t)&&(a=K8),a}function V8(e,t){var a;return uf(e,t)?a="trapezoids":mf(e,t)?a="sectors":_c(e,t)&&(a="points"),a}function G8(e,t){if(uf(e,t)){var a;return(a=t.tooltipPayload)===null||a===void 0||(a=a[0])===null||a===void 0||(a=a.payload)===null||a===void 0?void 0:a.payload}if(mf(e,t)){var n;return(n=t.tooltipPayload)===null||n===void 0||(n=n[0])===null||n===void 0||(n=n.payload)===null||n===void 0?void 0:n.payload}return _c(e,t)?t.payload:{}}function Y8(e){var t=e.activeTooltipItem,a=e.graphicalItem,n=e.itemData,o=V8(a,t),l=G8(a,t),d=n.filter(function(m,h){var x=ay(l,m),g=a.props[o].filter(function(k){var N=H8(a,t);return N(k,t)}),p=a.props[o].indexOf(g[g.length-1]),j=h===p;return x&&j}),u=n.indexOf(d[d.length-1]);return u}var Q8=M$();const vm=Nt(Q8);function Mc(e){"@babel/helpers - typeof";return Mc=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Mc(e)}function qN(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),a.push.apply(a,n)}return a}function FN(e){for(var t=1;t<arguments.length;t++){var a=arguments[t]!=null?arguments[t]:{};t%2?qN(Object(a),!0).forEach(function(n){y4(e,n,a[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):qN(Object(a)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(a,n))})}return e}function y4(e,t,a){return t=X8(t),t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function X8(e){var t=W8(e,"string");return Mc(t)=="symbol"?t:t+""}function W8(e,t){if(Mc(e)!="object"||!e)return e;var a=e[Symbol.toPrimitive];if(a!==void 0){var n=a.call(e,t);if(Mc(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var Z8=["Webkit","Moz","O","ms"],J8=function(t,a){var n=t.replace(/(\w)/,function(l){return l.toUpperCase()}),o=Z8.reduce(function(l,d){return FN(FN({},l),{},y4({},d+n,a))},{});return o[t]=a,o};function bo(e){"@babel/helpers - typeof";return bo=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},bo(e)}function jm(){return jm=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},jm.apply(this,arguments)}function UN(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),a.push.apply(a,n)}return a}function yg(e){for(var t=1;t<arguments.length;t++){var a=arguments[t]!=null?arguments[t]:{};t%2?UN(Object(a),!0).forEach(function(n){Gr(e,n,a[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):UN(Object(a)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(a,n))})}return e}function eB(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function KN(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,v4(n.key),n)}}function tB(e,t,a){return t&&KN(e.prototype,t),a&&KN(e,a),Object.defineProperty(e,"prototype",{writable:!1}),e}function rB(e,t,a){return t=wm(t),aB(e,b4()?Reflect.construct(t,a||[],wm(e).constructor):t.apply(e,a))}function aB(e,t){if(t&&(bo(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return nB(e)}function nB(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function b4(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(b4=function(){return!!e})()}function wm(e){return wm=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(a){return a.__proto__||Object.getPrototypeOf(a)},wm(e)}function sB(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Kp(e,t)}function Kp(e,t){return Kp=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,o){return n.__proto__=o,n},Kp(e,t)}function Gr(e,t,a){return t=v4(t),t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function v4(e){var t=iB(e,"string");return bo(t)=="symbol"?t:t+""}function iB(e,t){if(bo(e)!="object"||!e)return e;var a=e[Symbol.toPrimitive];if(a!==void 0){var n=a.call(e,t);if(bo(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}var oB=function(t){var a=t.data,n=t.startIndex,o=t.endIndex,l=t.x,d=t.width,u=t.travellerWidth;if(!a||!a.length)return{};var m=a.length,h=Xl().domain(vm(0,m)).range([l,l+d-u]),x=h.domain().map(function(g){return h(g)});return{isTextActive:!1,isSlideMoving:!1,isTravellerMoving:!1,isTravellerFocused:!1,startX:h(n),endX:h(o),scale:h,scaleValues:x}},HN=function(t){return t.changedTouches&&!!t.changedTouches.length},vo=(function(e){function t(a){var n;return eB(this,t),n=rB(this,t,[a]),Gr(n,"handleDrag",function(o){n.leaveTimer&&(clearTimeout(n.leaveTimer),n.leaveTimer=null),n.state.isTravellerMoving?n.handleTravellerMove(o):n.state.isSlideMoving&&n.handleSlideDrag(o)}),Gr(n,"handleTouchMove",function(o){o.changedTouches!=null&&o.changedTouches.length>0&&n.handleDrag(o.changedTouches[0])}),Gr(n,"handleDragEnd",function(){n.setState({isTravellerMoving:!1,isSlideMoving:!1},function(){var o=n.props,l=o.endIndex,d=o.onDragEnd,u=o.startIndex;d?.({endIndex:l,startIndex:u})}),n.detachDragEndListener()}),Gr(n,"handleLeaveWrapper",function(){(n.state.isTravellerMoving||n.state.isSlideMoving)&&(n.leaveTimer=window.setTimeout(n.handleDragEnd,n.props.leaveTimeOut))}),Gr(n,"handleEnterSlideOrTraveller",function(){n.setState({isTextActive:!0})}),Gr(n,"handleLeaveSlideOrTraveller",function(){n.setState({isTextActive:!1})}),Gr(n,"handleSlideDragStart",function(o){var l=HN(o)?o.changedTouches[0]:o;n.setState({isTravellerMoving:!1,isSlideMoving:!0,slideMoveStartX:l.pageX}),n.attachDragEndListener()}),n.travellerDragStartHandlers={startX:n.handleTravellerDragStart.bind(n,"startX"),endX:n.handleTravellerDragStart.bind(n,"endX")},n.state={},n}return sB(t,e),tB(t,[{key:"componentWillUnmount",value:function(){this.leaveTimer&&(clearTimeout(this.leaveTimer),this.leaveTimer=null),this.detachDragEndListener()}},{key:"getIndex",value:function(n){var o=n.startX,l=n.endX,d=this.state.scaleValues,u=this.props,m=u.gap,h=u.data,x=h.length-1,g=Math.min(o,l),p=Math.max(o,l),j=t.getIndexInRange(d,g),k=t.getIndexInRange(d,p);return{startIndex:j-j%m,endIndex:k===x?x:k-k%m}}},{key:"getTextOfTick",value:function(n){var o=this.props,l=o.data,d=o.tickFormatter,u=o.dataKey,m=Fa(l[n],u,n);return We(d)?d(m,n):m}},{key:"attachDragEndListener",value:function(){window.addEventListener("mouseup",this.handleDragEnd,!0),window.addEventListener("touchend",this.handleDragEnd,!0),window.addEventListener("mousemove",this.handleDrag,!0)}},{key:"detachDragEndListener",value:function(){window.removeEventListener("mouseup",this.handleDragEnd,!0),window.removeEventListener("touchend",this.handleDragEnd,!0),window.removeEventListener("mousemove",this.handleDrag,!0)}},{key:"handleSlideDrag",value:function(n){var o=this.state,l=o.slideMoveStartX,d=o.startX,u=o.endX,m=this.props,h=m.x,x=m.width,g=m.travellerWidth,p=m.startIndex,j=m.endIndex,k=m.onChange,N=n.pageX-l;N>0?N=Math.min(N,h+x-g-u,h+x-g-d):N<0&&(N=Math.max(N,h-d,h-u));var v=this.getIndex({startX:d+N,endX:u+N});(v.startIndex!==p||v.endIndex!==j)&&k&&k(v),this.setState({startX:d+N,endX:u+N,slideMoveStartX:n.pageX})}},{key:"handleTravellerDragStart",value:function(n,o){var l=HN(o)?o.changedTouches[0]:o;this.setState({isSlideMoving:!1,isTravellerMoving:!0,movingTravellerId:n,brushMoveStartX:l.pageX}),this.attachDragEndListener()}},{key:"handleTravellerMove",value:function(n){var o=this.state,l=o.brushMoveStartX,d=o.movingTravellerId,u=o.endX,m=o.startX,h=this.state[d],x=this.props,g=x.x,p=x.width,j=x.travellerWidth,k=x.onChange,N=x.gap,v=x.data,T={startX:this.state.startX,endX:this.state.endX},E=n.pageX-l;E>0?E=Math.min(E,g+p-j-h):E<0&&(E=Math.max(E,g-h)),T[d]=h+E;var O=this.getIndex(T),S=O.startIndex,C=O.endIndex,A=function(){var P=v.length-1;return d==="startX"&&(u>m?S%N===0:C%N===0)||u<m&&C===P||d==="endX"&&(u>m?C%N===0:S%N===0)||u>m&&C===P};this.setState(Gr(Gr({},d,h+E),"brushMoveStartX",n.pageX),function(){k&&A()&&k(O)})}},{key:"handleTravellerMoveKeyboard",value:function(n,o){var l=this,d=this.state,u=d.scaleValues,m=d.startX,h=d.endX,x=this.state[o],g=u.indexOf(x);if(g!==-1){var p=g+n;if(!(p===-1||p>=u.length)){var j=u[p];o==="startX"&&j>=h||o==="endX"&&j<=m||this.setState(Gr({},o,j),function(){l.props.onChange(l.getIndex({startX:l.state.startX,endX:l.state.endX}))})}}}},{key:"renderBackground",value:function(){var n=this.props,o=n.x,l=n.y,d=n.width,u=n.height,m=n.fill,h=n.stroke;return ee.createElement("rect",{stroke:h,fill:m,x:o,y:l,width:d,height:u})}},{key:"renderPanorama",value:function(){var n=this.props,o=n.x,l=n.y,d=n.width,u=n.height,m=n.data,h=n.children,x=n.padding,g=y.Children.only(h);return g?ee.cloneElement(g,{x:o,y:l,width:d,height:u,margin:x,compact:!0,data:m}):null}},{key:"renderTravellerLayer",value:function(n,o){var l,d,u=this,m=this.props,h=m.y,x=m.travellerWidth,g=m.height,p=m.traveller,j=m.ariaLabel,k=m.data,N=m.startIndex,v=m.endIndex,T=Math.max(n,this.props.x),E=yg(yg({},ct(this.props,!1)),{},{x:T,y:h,width:x,height:g}),O=j||"Min value: ".concat((l=k[N])===null||l===void 0?void 0:l.name,", Max value: ").concat((d=k[v])===null||d===void 0?void 0:d.name);return ee.createElement(lr,{tabIndex:0,role:"slider","aria-label":O,"aria-valuenow":n,className:"recharts-brush-traveller",onMouseEnter:this.handleEnterSlideOrTraveller,onMouseLeave:this.handleLeaveSlideOrTraveller,onMouseDown:this.travellerDragStartHandlers[o],onTouchStart:this.travellerDragStartHandlers[o],onKeyDown:function(C){["ArrowLeft","ArrowRight"].includes(C.key)&&(C.preventDefault(),C.stopPropagation(),u.handleTravellerMoveKeyboard(C.key==="ArrowRight"?1:-1,o))},onFocus:function(){u.setState({isTravellerFocused:!0})},onBlur:function(){u.setState({isTravellerFocused:!1})},style:{cursor:"col-resize"}},t.renderTraveller(p,E))}},{key:"renderSlide",value:function(n,o){var l=this.props,d=l.y,u=l.height,m=l.stroke,h=l.travellerWidth,x=Math.min(n,o)+h,g=Math.max(Math.abs(o-n)-h,0);return ee.createElement("rect",{className:"recharts-brush-slide",onMouseEnter:this.handleEnterSlideOrTraveller,onMouseLeave:this.handleLeaveSlideOrTraveller,onMouseDown:this.handleSlideDragStart,onTouchStart:this.handleSlideDragStart,style:{cursor:"move"},stroke:"none",fill:m,fillOpacity:.2,x,y:d,width:g,height:u})}},{key:"renderText",value:function(){var n=this.props,o=n.startIndex,l=n.endIndex,d=n.y,u=n.height,m=n.travellerWidth,h=n.stroke,x=this.state,g=x.startX,p=x.endX,j=5,k={pointerEvents:"none",fill:h};return ee.createElement(lr,{className:"recharts-brush-texts"},ee.createElement(lm,jm({textAnchor:"end",verticalAnchor:"middle",x:Math.min(g,p)-j,y:d+u/2},k),this.getTextOfTick(o)),ee.createElement(lm,jm({textAnchor:"start",verticalAnchor:"middle",x:Math.max(g,p)+m+j,y:d+u/2},k),this.getTextOfTick(l)))}},{key:"render",value:function(){var n=this.props,o=n.data,l=n.className,d=n.children,u=n.x,m=n.y,h=n.width,x=n.height,g=n.alwaysShowText,p=this.state,j=p.startX,k=p.endX,N=p.isTextActive,v=p.isSlideMoving,T=p.isTravellerMoving,E=p.isTravellerFocused;if(!o||!o.length||!Se(u)||!Se(m)||!Se(h)||!Se(x)||h<=0||x<=0)return null;var O=nt("recharts-brush",l),S=ee.Children.count(d)===1,C=J8("userSelect","none");return ee.createElement(lr,{className:O,onMouseLeave:this.handleLeaveWrapper,onTouchMove:this.handleTouchMove,style:C},this.renderBackground(),S&&this.renderPanorama(),this.renderSlide(j,k),this.renderTravellerLayer(j,"startX"),this.renderTravellerLayer(k,"endX"),(N||v||T||E||g)&&this.renderText())}}],[{key:"renderDefaultTraveller",value:function(n){var o=n.x,l=n.y,d=n.width,u=n.height,m=n.stroke,h=Math.floor(l+u/2)-1;return ee.createElement(ee.Fragment,null,ee.createElement("rect",{x:o,y:l,width:d,height:u,fill:m,stroke:"none"}),ee.createElement("line",{x1:o+1,y1:h,x2:o+d-1,y2:h,fill:"none",stroke:"#fff"}),ee.createElement("line",{x1:o+1,y1:h+2,x2:o+d-1,y2:h+2,fill:"none",stroke:"#fff"}))}},{key:"renderTraveller",value:function(n,o){var l;return ee.isValidElement(n)?l=ee.cloneElement(n,o):We(n)?l=n(o):l=t.renderDefaultTraveller(o),l}},{key:"getDerivedStateFromProps",value:function(n,o){var l=n.data,d=n.width,u=n.x,m=n.travellerWidth,h=n.updateId,x=n.startIndex,g=n.endIndex;if(l!==o.prevData||h!==o.prevUpdateId)return yg({prevData:l,prevTravellerWidth:m,prevUpdateId:h,prevX:u,prevWidth:d},l&&l.length?oB({data:l,width:d,x:u,travellerWidth:m,startIndex:x,endIndex:g}):{scale:null,scaleValues:null});if(o.scale&&(d!==o.prevWidth||u!==o.prevX||m!==o.prevTravellerWidth)){o.scale.range([u,u+d-m]);var p=o.scale.domain().map(function(j){return o.scale(j)});return{prevData:l,prevTravellerWidth:m,prevUpdateId:h,prevX:u,prevWidth:d,startX:o.scale(n.startIndex),endX:o.scale(n.endIndex),scaleValues:p}}return null}},{key:"getIndexInRange",value:function(n,o){for(var l=n.length,d=0,u=l-1;u-d>1;){var m=Math.floor((d+u)/2);n[m]>o?u=m:d=m}return o>=n[u]?u:d}}])})(y.PureComponent);Gr(vo,"displayName","Brush");Gr(vo,"defaultProps",{height:40,travellerWidth:5,gap:1,fill:"#fff",stroke:"#666",padding:{top:1,right:1,bottom:1,left:1},leaveTimeOut:1e3,alwaysShowText:!1});var bg,VN;function lB(){if(VN)return bg;VN=1;var e=dC();function t(a,n){var o;return e(a,function(l,d,u){return o=n(l,d,u),!o}),!!o}return bg=t,bg}var vg,GN;function cB(){if(GN)return vg;GN=1;var e=L$(),t=V0(),a=lB(),n=uC(),o=mC();function l(d,u,m){var h=n(d)?e:a;return m&&o(d,u,m)&&(u=void 0),h(d,t(u,3))}return vg=l,vg}var dB=cB();const uB=Nt(dB);var Ia=function(t,a){var n=t.alwaysShow,o=t.ifOverflow;return n&&(o="extendDomain"),o===a},mB=P$();const fB=Nt(mB);var jg,YN;function hB(){if(YN)return jg;YN=1;function e(t,a){for(var n=-1,o=t==null?0:t.length;++n<o;)if(!a(t[n],n,t))return!1;return!0}return jg=e,jg}var wg,QN;function xB(){if(QN)return wg;QN=1;var e=dC();function t(a,n){var o=!0;return e(a,function(l,d,u){return o=!!n(l,d,u),o}),o}return wg=t,wg}var kg,XN;function gB(){if(XN)return kg;XN=1;var e=hB(),t=xB(),a=V0(),n=uC(),o=mC();function l(d,u,m){var h=n(d)?e:t;return m&&o(d,u,m)&&(u=void 0),h(d,a(u,3))}return kg=l,kg}var pB=gB();const yB=Nt(pB);var bB=["x","y"];function Lc(e){"@babel/helpers - typeof";return Lc=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Lc(e)}function Hp(){return Hp=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},Hp.apply(this,arguments)}function WN(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),a.push.apply(a,n)}return a}function ql(e){for(var t=1;t<arguments.length;t++){var a=arguments[t]!=null?arguments[t]:{};t%2?WN(Object(a),!0).forEach(function(n){vB(e,n,a[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):WN(Object(a)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(a,n))})}return e}function vB(e,t,a){return t=jB(t),t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function jB(e){var t=wB(e,"string");return Lc(t)=="symbol"?t:t+""}function wB(e,t){if(Lc(e)!="object"||!e)return e;var a=e[Symbol.toPrimitive];if(a!==void 0){var n=a.call(e,t);if(Lc(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function kB(e,t){if(e==null)return{};var a=NB(e,t),n,o;if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(o=0;o<l.length;o++)n=l[o],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}function NB(e,t){if(e==null)return{};var a={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;a[n]=e[n]}return a}function SB(e,t){var a=e.x,n=e.y,o=kB(e,bB),l="".concat(a),d=parseInt(l,10),u="".concat(n),m=parseInt(u,10),h="".concat(t.height||o.height),x=parseInt(h,10),g="".concat(t.width||o.width),p=parseInt(g,10);return ql(ql(ql(ql(ql({},t),o),d?{x:d}:{}),m?{y:m}:{}),{},{height:x,width:p,name:t.name,radius:t.radius})}function ZN(e){return ee.createElement(q8,Hp({shapeType:"rectangle",propTransformer:SB,activeClassName:"recharts-active-bar"},e))}var CB=function(t){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return function(n,o){if(typeof t=="number")return t;var l=Se(n)||Z_(n);return l?t(n,o):(l||qs(!1),a)}},TB=["value","background"],j4;function jo(e){"@babel/helpers - typeof";return jo=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},jo(e)}function EB(e,t){if(e==null)return{};var a=OB(e,t),n,o;if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(o=0;o<l.length;o++)n=l[o],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}function OB(e,t){if(e==null)return{};var a={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;a[n]=e[n]}return a}function km(){return km=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},km.apply(this,arguments)}function JN(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),a.push.apply(a,n)}return a}function Vt(e){for(var t=1;t<arguments.length;t++){var a=arguments[t]!=null?arguments[t]:{};t%2?JN(Object(a),!0).forEach(function(n){Zn(e,n,a[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):JN(Object(a)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(a,n))})}return e}function AB(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function e1(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,k4(n.key),n)}}function $B(e,t,a){return t&&e1(e.prototype,t),a&&e1(e,a),Object.defineProperty(e,"prototype",{writable:!1}),e}function DB(e,t,a){return t=Nm(t),_B(e,w4()?Reflect.construct(t,a||[],Nm(e).constructor):t.apply(e,a))}function _B(e,t){if(t&&(jo(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return MB(e)}function MB(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function w4(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(w4=function(){return!!e})()}function Nm(e){return Nm=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(a){return a.__proto__||Object.getPrototypeOf(a)},Nm(e)}function LB(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Vp(e,t)}function Vp(e,t){return Vp=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,o){return n.__proto__=o,n},Vp(e,t)}function Zn(e,t,a){return t=k4(t),t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function k4(e){var t=PB(e,"string");return jo(t)=="symbol"?t:t+""}function PB(e,t){if(jo(e)!="object"||!e)return e;var a=e[Symbol.toPrimitive];if(a!==void 0){var n=a.call(e,t);if(jo(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}var Zs=(function(e){function t(){var a;AB(this,t);for(var n=arguments.length,o=new Array(n),l=0;l<n;l++)o[l]=arguments[l];return a=DB(this,t,[].concat(o)),Zn(a,"state",{isAnimationFinished:!1}),Zn(a,"id",rf("recharts-bar-")),Zn(a,"handleAnimationEnd",function(){var d=a.props.onAnimationEnd;a.setState({isAnimationFinished:!0}),d&&d()}),Zn(a,"handleAnimationStart",function(){var d=a.props.onAnimationStart;a.setState({isAnimationFinished:!1}),d&&d()}),a}return LB(t,e),$B(t,[{key:"renderRectanglesStatically",value:function(n){var o=this,l=this.props,d=l.shape,u=l.dataKey,m=l.activeIndex,h=l.activeBar,x=ct(this.props,!1);return n&&n.map(function(g,p){var j=p===m,k=j?h:d,N=Vt(Vt(Vt({},x),g),{},{isActive:j,option:k,index:p,dataKey:u,onAnimationStart:o.handleAnimationStart,onAnimationEnd:o.handleAnimationEnd});return ee.createElement(lr,km({className:"recharts-bar-rectangle"},rm(o.props,g,p),{key:"rectangle-".concat(g?.x,"-").concat(g?.y,"-").concat(g?.value,"-").concat(p)}),ee.createElement(ZN,N))})}},{key:"renderRectanglesWithAnimation",value:function(){var n=this,o=this.props,l=o.data,d=o.layout,u=o.isAnimationActive,m=o.animationBegin,h=o.animationDuration,x=o.animationEasing,g=o.animationId,p=this.state.prevData;return ee.createElement(as,{begin:m,duration:h,isActive:u,easing:x,from:{t:0},to:{t:1},key:"bar-".concat(g),onAnimationEnd:this.handleAnimationEnd,onAnimationStart:this.handleAnimationStart},function(j){var k=j.t,N=l.map(function(v,T){var E=p&&p[T];if(E){var O=zi(E.x,v.x),S=zi(E.y,v.y),C=zi(E.width,v.width),A=zi(E.height,v.height);return Vt(Vt({},v),{},{x:O(k),y:S(k),width:C(k),height:A(k)})}if(d==="horizontal"){var $=zi(0,v.height),P=$(k);return Vt(Vt({},v),{},{y:v.y+v.height-P,height:P})}var M=zi(0,v.width),q=M(k);return Vt(Vt({},v),{},{width:q})});return ee.createElement(lr,null,n.renderRectanglesStatically(N))})}},{key:"renderRectangles",value:function(){var n=this.props,o=n.data,l=n.isAnimationActive,d=this.state.prevData;return l&&o&&o.length&&(!d||!ay(d,o))?this.renderRectanglesWithAnimation():this.renderRectanglesStatically(o)}},{key:"renderBackground",value:function(){var n=this,o=this.props,l=o.data,d=o.dataKey,u=o.activeIndex,m=ct(this.props.background,!1);return l.map(function(h,x){h.value;var g=h.background,p=EB(h,TB);if(!g)return null;var j=Vt(Vt(Vt(Vt(Vt({},p),{},{fill:"#eee"},g),m),rm(n.props,h,x)),{},{onAnimationStart:n.handleAnimationStart,onAnimationEnd:n.handleAnimationEnd,dataKey:d,index:x,className:"recharts-bar-background-rectangle"});return ee.createElement(ZN,km({key:"background-bar-".concat(x),option:n.props.background,isActive:x===u},j))})}},{key:"renderErrorBar",value:function(n,o){if(this.props.isAnimationActive&&!this.state.isAnimationFinished)return null;var l=this.props,d=l.data,u=l.xAxis,m=l.yAxis,h=l.layout,x=l.children,g=Na(x,df);if(!g)return null;var p=h==="vertical"?d[0].height/2:d[0].width/2,j=function(v,T){var E=Array.isArray(v.value)?v.value[1]:v.value;return{x:v.x,y:v.y,value:E,errorVal:Fa(v,T)}},k={clipPath:n?"url(#clipPath-".concat(o,")"):null};return ee.createElement(lr,k,g.map(function(N){return ee.cloneElement(N,{key:"error-bar-".concat(o,"-").concat(N.props.dataKey),data:d,xAxis:u,yAxis:m,layout:h,offset:p,dataPointFormatter:j})}))}},{key:"render",value:function(){var n=this.props,o=n.hide,l=n.data,d=n.className,u=n.xAxis,m=n.yAxis,h=n.left,x=n.top,g=n.width,p=n.height,j=n.isAnimationActive,k=n.background,N=n.id;if(o||!l||!l.length)return null;var v=this.state.isAnimationFinished,T=nt("recharts-bar",d),E=u&&u.allowDataOverflow,O=m&&m.allowDataOverflow,S=E||O,C=st(N)?this.id:N;return ee.createElement(lr,{className:T},E||O?ee.createElement("defs",null,ee.createElement("clipPath",{id:"clipPath-".concat(C)},ee.createElement("rect",{x:E?h:h-g/2,y:O?x:x-p/2,width:E?g:g*2,height:O?p:p*2}))):null,ee.createElement(lr,{className:"recharts-bar-rectangles",clipPath:S?"url(#clipPath-".concat(C,")"):null},k?this.renderBackground():null,this.renderRectangles()),this.renderErrorBar(S,C),(!j||v)&&Is.renderCallByParent(this.props,l))}}],[{key:"getDerivedStateFromProps",value:function(n,o){return n.animationId!==o.prevAnimationId?{prevAnimationId:n.animationId,curData:n.data,prevData:o.curData}:n.data!==o.curData?{curData:n.data}:null}}])})(y.PureComponent);j4=Zs;Zn(Zs,"displayName","Bar");Zn(Zs,"defaultProps",{xAxisId:0,yAxisId:0,legendType:"rect",minPointSize:0,hide:!1,data:[],layout:"vertical",activeBar:!1,isAnimationActive:!sd.isSsr,animationBegin:0,animationDuration:400,animationEasing:"ease"});Zn(Zs,"getComposedData",function(e){var t=e.props,a=e.item,n=e.barPosition,o=e.bandSize,l=e.xAxis,d=e.yAxis,u=e.xAxisTicks,m=e.yAxisTicks,h=e.stackedData,x=e.dataStartIndex,g=e.displayedData,p=e.offset,j=UP(n,a);if(!j)return null;var k=t.layout,N=a.type.defaultProps,v=N!==void 0?Vt(Vt({},N),a.props):a.props,T=v.dataKey,E=v.children,O=v.minPointSize,S=k==="horizontal"?d:l,C=h?S.scale.domain():null,A=WP({numericAxis:S}),$=Na(E,ry),P=g.map(function(M,q){var _,z,U,K,R,L;h?_=KP(h[x+q],C):(_=Fa(M,T),Array.isArray(_)||(_=[A,_]));var F=CB(O,j4.defaultProps.minPointSize)(_[1],q);if(k==="horizontal"){var B,H=[d.scale(_[0]),d.scale(_[1])],G=H[0],W=H[1];z=Jk({axis:l,ticks:u,bandSize:o,offset:j.offset,entry:M,index:q}),U=(B=W??G)!==null&&B!==void 0?B:void 0,K=j.size;var te=G-W;if(R=Number.isNaN(te)?0:te,L={x:z,y:d.y,width:K,height:d.height},Math.abs(F)>0&&Math.abs(R)<Math.abs(F)){var le=wa(R||F)*(Math.abs(F)-Math.abs(R));U-=le,R+=le}}else{var ge=[l.scale(_[0]),l.scale(_[1])],se=ge[0],ye=ge[1];if(z=se,U=Jk({axis:d,ticks:m,bandSize:o,offset:j.offset,entry:M,index:q}),K=ye-se,R=j.size,L={x:l.x,y:U,width:l.width,height:R},Math.abs(F)>0&&Math.abs(K)<Math.abs(F)){var Ne=wa(K||F)*(Math.abs(F)-Math.abs(K));K+=Ne}}return Vt(Vt(Vt({},M),{},{x:z,y:U,width:K,height:R,value:h?_:_[1],payload:M,background:L},$&&$[q]&&$[q].props),{},{tooltipPayload:[o4(a,M)],tooltipPosition:{x:z+K/2,y:U+R/2}})});return Vt({data:P,layout:k},p)});function Pc(e){"@babel/helpers - typeof";return Pc=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Pc(e)}function RB(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function t1(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,N4(n.key),n)}}function IB(e,t,a){return t&&t1(e.prototype,t),a&&t1(e,a),Object.defineProperty(e,"prototype",{writable:!1}),e}function r1(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),a.push.apply(a,n)}return a}function ja(e){for(var t=1;t<arguments.length;t++){var a=arguments[t]!=null?arguments[t]:{};t%2?r1(Object(a),!0).forEach(function(n){ff(e,n,a[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):r1(Object(a)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(a,n))})}return e}function ff(e,t,a){return t=N4(t),t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function N4(e){var t=BB(e,"string");return Pc(t)=="symbol"?t:t+""}function BB(e,t){if(Pc(e)!="object"||!e)return e;var a=e[Symbol.toPrimitive];if(a!==void 0){var n=a.call(e,t);if(Pc(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var zB=function(t,a,n,o,l){var d=t.width,u=t.height,m=t.layout,h=t.children,x=Object.keys(a),g={left:n.left,leftMirror:n.left,right:d-n.right,rightMirror:d-n.right,top:n.top,topMirror:n.top,bottom:u-n.bottom,bottomMirror:u-n.bottom},p=!!Yr(h,Zs);return x.reduce(function(j,k){var N=a[k],v=N.orientation,T=N.domain,E=N.padding,O=E===void 0?{}:E,S=N.mirror,C=N.reversed,A="".concat(v).concat(S?"Mirror":""),$,P,M,q,_;if(N.type==="number"&&(N.padding==="gap"||N.padding==="no-gap")){var z=T[1]-T[0],U=1/0,K=N.categoricalDomain.sort(tM);if(K.forEach(function(ge,se){se>0&&(U=Math.min((ge||0)-(K[se-1]||0),U))}),Number.isFinite(U)){var R=U/z,L=N.layout==="vertical"?n.height:n.width;if(N.padding==="gap"&&($=R*L/2),N.padding==="no-gap"){var F=Vs(t.barCategoryGap,R*L),B=R*L/2;$=B-F-(B-F)/L*F}}}o==="xAxis"?P=[n.left+(O.left||0)+($||0),n.left+n.width-(O.right||0)-($||0)]:o==="yAxis"?P=m==="horizontal"?[n.top+n.height-(O.bottom||0),n.top+(O.top||0)]:[n.top+(O.top||0)+($||0),n.top+n.height-(O.bottom||0)-($||0)]:P=N.range,C&&(P=[P[1],P[0]]);var H=qP(N,l,p),G=H.scale,W=H.realScaleType;G.domain(T).range(P),FP(G);var te=XP(G,ja(ja({},N),{},{realScaleType:W}));o==="xAxis"?(_=v==="top"&&!S||v==="bottom"&&S,M=n.left,q=g[A]-_*N.height):o==="yAxis"&&(_=v==="left"&&!S||v==="right"&&S,M=g[A]-_*N.width,q=n.top);var le=ja(ja(ja({},N),te),{},{realScaleType:W,x:M,y:q,scale:G,width:o==="xAxis"?n.width:N.width,height:o==="yAxis"?n.height:N.height});return le.bandSize=um(le,te),!N.hide&&o==="xAxis"?g[A]+=(_?-1:1)*le.height:N.hide||(g[A]+=(_?-1:1)*le.width),ja(ja({},j),{},ff({},k,le))},{})},S4=function(t,a){var n=t.x,o=t.y,l=a.x,d=a.y;return{x:Math.min(n,l),y:Math.min(o,d),width:Math.abs(l-n),height:Math.abs(d-o)}},qB=function(t){var a=t.x1,n=t.y1,o=t.x2,l=t.y2;return S4({x:a,y:n},{x:o,y:l})},C4=(function(){function e(t){RB(this,e),this.scale=t}return IB(e,[{key:"domain",get:function(){return this.scale.domain}},{key:"range",get:function(){return this.scale.range}},{key:"rangeMin",get:function(){return this.range()[0]}},{key:"rangeMax",get:function(){return this.range()[1]}},{key:"bandwidth",get:function(){return this.scale.bandwidth}},{key:"apply",value:function(a){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},o=n.bandAware,l=n.position;if(a!==void 0){if(l)switch(l){case"start":return this.scale(a);case"middle":{var d=this.bandwidth?this.bandwidth()/2:0;return this.scale(a)+d}case"end":{var u=this.bandwidth?this.bandwidth():0;return this.scale(a)+u}default:return this.scale(a)}if(o){var m=this.bandwidth?this.bandwidth()/2:0;return this.scale(a)+m}return this.scale(a)}}},{key:"isInRange",value:function(a){var n=this.range(),o=n[0],l=n[n.length-1];return o<=l?a>=o&&a<=l:a>=l&&a<=o}}],[{key:"create",value:function(a){return new e(a)}}])})();ff(C4,"EPS",1e-4);var iy=function(t){var a=Object.keys(t).reduce(function(n,o){return ja(ja({},n),{},ff({},o,C4.create(t[o])))},{});return ja(ja({},a),{},{apply:function(o){var l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},d=l.bandAware,u=l.position;return fB(o,function(m,h){return a[h].apply(m,{bandAware:d,position:u})})},isInRange:function(o){return yB(o,function(l,d){return a[d].isInRange(l)})}})};function FB(e){return(e%180+180)%180}var UB=function(t){var a=t.width,n=t.height,o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,l=FB(o),d=l*Math.PI/180,u=Math.atan(n/a),m=d>u&&d<Math.PI-u?n/Math.sin(d):a/Math.cos(d);return Math.abs(m)};R$();var KB=I$();const HB=Nt(KB);var VB=HB(function(e){return{x:e.left,y:e.top,width:e.width,height:e.height}},function(e){return["l",e.left,"t",e.top,"w",e.width,"h",e.height].join("")}),T4=y.createContext(void 0),E4=y.createContext(void 0),O4=y.createContext(void 0),GB=y.createContext({}),A4=y.createContext(void 0),$4=y.createContext(0),D4=y.createContext(0),a1=function(t){var a=t.state,n=a.xAxisMap,o=a.yAxisMap,l=a.offset,d=t.clipPathId,u=t.children,m=t.width,h=t.height,x=VB(l);return ee.createElement(T4.Provider,{value:n},ee.createElement(E4.Provider,{value:o},ee.createElement(GB.Provider,{value:l},ee.createElement(O4.Provider,{value:x},ee.createElement(A4.Provider,{value:d},ee.createElement($4.Provider,{value:h},ee.createElement(D4.Provider,{value:m},u)))))))},YB=function(){return y.useContext(A4)},_4=function(t){var a=y.useContext(T4);a==null&&qs(!1);var n=a[t];return n==null&&qs(!1),n},M4=function(t){var a=y.useContext(E4);a==null&&qs(!1);var n=a[t];return n==null&&qs(!1),n},QB=function(){var t=y.useContext(O4);return t},L4=function(){return y.useContext(D4)},P4=function(){return y.useContext($4)};function wo(e){"@babel/helpers - typeof";return wo=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},wo(e)}function XB(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function WB(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,I4(n.key),n)}}function ZB(e,t,a){return t&&WB(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function JB(e,t,a){return t=Sm(t),ez(e,R4()?Reflect.construct(t,a||[],Sm(e).constructor):t.apply(e,a))}function ez(e,t){if(t&&(wo(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return tz(e)}function tz(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function R4(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(R4=function(){return!!e})()}function Sm(e){return Sm=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(a){return a.__proto__||Object.getPrototypeOf(a)},Sm(e)}function rz(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Gp(e,t)}function Gp(e,t){return Gp=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,o){return n.__proto__=o,n},Gp(e,t)}function n1(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),a.push.apply(a,n)}return a}function s1(e){for(var t=1;t<arguments.length;t++){var a=arguments[t]!=null?arguments[t]:{};t%2?n1(Object(a),!0).forEach(function(n){oy(e,n,a[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):n1(Object(a)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(a,n))})}return e}function oy(e,t,a){return t=I4(t),t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function I4(e){var t=az(e,"string");return wo(t)=="symbol"?t:t+""}function az(e,t){if(wo(e)!="object"||!e)return e;var a=e[Symbol.toPrimitive];if(a!==void 0){var n=a.call(e,t);if(wo(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}function nz(e,t){return lz(e)||oz(e,t)||iz(e,t)||sz()}function sz(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
123
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function iz(e,t){if(e){if(typeof e=="string")return i1(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);if(a==="Object"&&e.constructor&&(a=e.constructor.name),a==="Map"||a==="Set")return Array.from(e);if(a==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return i1(e,t)}}function i1(e,t){(t==null||t>e.length)&&(t=e.length);for(var a=0,n=new Array(t);a<t;a++)n[a]=e[a];return n}function oz(e,t){var a=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(a!=null){var n,o,l,d,u=[],m=!0,h=!1;try{if(l=(a=a.call(e)).next,t!==0)for(;!(m=(n=l.call(a)).done)&&(u.push(n.value),u.length!==t);m=!0);}catch(x){h=!0,o=x}finally{try{if(!m&&a.return!=null&&(d=a.return(),Object(d)!==d))return}finally{if(h)throw o}}return u}}function lz(e){if(Array.isArray(e))return e}function Yp(){return Yp=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},Yp.apply(this,arguments)}var cz=function(t,a){var n;return ee.isValidElement(t)?n=ee.cloneElement(t,a):We(t)?n=t(a):n=ee.createElement("line",Yp({},a,{className:"recharts-reference-line-line"})),n},dz=function(t,a,n,o,l,d,u,m,h){var x=l.x,g=l.y,p=l.width,j=l.height;if(n){var k=h.y,N=t.y.apply(k,{position:d});if(Ia(h,"discard")&&!t.y.isInRange(N))return null;var v=[{x:x+p,y:N},{x,y:N}];return m==="left"?v.reverse():v}if(a){var T=h.x,E=t.x.apply(T,{position:d});if(Ia(h,"discard")&&!t.x.isInRange(E))return null;var O=[{x:E,y:g+j},{x:E,y:g}];return u==="top"?O.reverse():O}if(o){var S=h.segment,C=S.map(function(A){return t.apply(A,{position:d})});return Ia(h,"discard")&&uB(C,function(A){return!t.isInRange(A)})?null:C}return null};function uz(e){var t=e.x,a=e.y,n=e.segment,o=e.xAxisId,l=e.yAxisId,d=e.shape,u=e.className,m=e.alwaysShow,h=YB(),x=_4(o),g=M4(l),p=QB();if(!h||!p)return null;Rs(m===void 0,'The alwaysShow prop is deprecated. Please use ifOverflow="extendDomain" instead.');var j=iy({x:x.scale,y:g.scale}),k=er(t),N=er(a),v=n&&n.length===2,T=dz(j,k,N,v,p,e.position,x.orientation,g.orientation,e);if(!T)return null;var E=nz(T,2),O=E[0],S=O.x,C=O.y,A=E[1],$=A.x,P=A.y,M=Ia(e,"hidden")?"url(#".concat(h,")"):void 0,q=s1(s1({clipPath:M},ct(e,!0)),{},{x1:S,y1:C,x2:$,y2:P});return ee.createElement(lr,{className:nt("recharts-reference-line",u)},cz(d,q),vr.renderCallByParent(e,qB({x1:S,y1:C,x2:$,y2:P})))}var ly=(function(e){function t(){return XB(this,t),JB(this,t,arguments)}return rz(t,e),ZB(t,[{key:"render",value:function(){return ee.createElement(uz,this.props)}}])})(ee.Component);oy(ly,"displayName","ReferenceLine");oy(ly,"defaultProps",{isFront:!1,ifOverflow:"discard",xAxisId:0,yAxisId:0,fill:"none",stroke:"#ccc",fillOpacity:1,strokeWidth:1,position:"middle"});function Qp(){return Qp=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},Qp.apply(this,arguments)}function ko(e){"@babel/helpers - typeof";return ko=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ko(e)}function o1(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),a.push.apply(a,n)}return a}function l1(e){for(var t=1;t<arguments.length;t++){var a=arguments[t]!=null?arguments[t]:{};t%2?o1(Object(a),!0).forEach(function(n){hf(e,n,a[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):o1(Object(a)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(a,n))})}return e}function mz(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function fz(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,z4(n.key),n)}}function hz(e,t,a){return t&&fz(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function xz(e,t,a){return t=Cm(t),gz(e,B4()?Reflect.construct(t,a||[],Cm(e).constructor):t.apply(e,a))}function gz(e,t){if(t&&(ko(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return pz(e)}function pz(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function B4(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(B4=function(){return!!e})()}function Cm(e){return Cm=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(a){return a.__proto__||Object.getPrototypeOf(a)},Cm(e)}function yz(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Xp(e,t)}function Xp(e,t){return Xp=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,o){return n.__proto__=o,n},Xp(e,t)}function hf(e,t,a){return t=z4(t),t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function z4(e){var t=bz(e,"string");return ko(t)=="symbol"?t:t+""}function bz(e,t){if(ko(e)!="object"||!e)return e;var a=e[Symbol.toPrimitive];if(a!==void 0){var n=a.call(e,t);if(ko(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}var vz=function(t){var a=t.x,n=t.y,o=t.xAxis,l=t.yAxis,d=iy({x:o.scale,y:l.scale}),u=d.apply({x:a,y:n},{bandAware:!0});return Ia(t,"discard")&&!d.isInRange(u)?null:u},xf=(function(e){function t(){return mz(this,t),xz(this,t,arguments)}return yz(t,e),hz(t,[{key:"render",value:function(){var n=this.props,o=n.x,l=n.y,d=n.r,u=n.alwaysShow,m=n.clipPathId,h=er(o),x=er(l);if(Rs(u===void 0,'The alwaysShow prop is deprecated. Please use ifOverflow="extendDomain" instead.'),!h||!x)return null;var g=vz(this.props);if(!g)return null;var p=g.x,j=g.y,k=this.props,N=k.shape,v=k.className,T=Ia(this.props,"hidden")?"url(#".concat(m,")"):void 0,E=l1(l1({clipPath:T},ct(this.props,!0)),{},{cx:p,cy:j});return ee.createElement(lr,{className:nt("recharts-reference-dot",v)},t.renderDot(N,E),vr.renderCallByParent(this.props,{x:p-d,y:j-d,width:2*d,height:2*d}))}}])})(ee.Component);hf(xf,"displayName","ReferenceDot");hf(xf,"defaultProps",{isFront:!1,ifOverflow:"discard",xAxisId:0,yAxisId:0,r:10,fill:"#fff",stroke:"#ccc",fillOpacity:1,strokeWidth:1});hf(xf,"renderDot",function(e,t){var a;return ee.isValidElement(e)?a=ee.cloneElement(e,t):We(e)?a=e(t):a=ee.createElement(p4,Qp({},t,{cx:t.cx,cy:t.cy,className:"recharts-reference-dot-dot"})),a});function Wp(){return Wp=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},Wp.apply(this,arguments)}function No(e){"@babel/helpers - typeof";return No=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},No(e)}function c1(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),a.push.apply(a,n)}return a}function d1(e){for(var t=1;t<arguments.length;t++){var a=arguments[t]!=null?arguments[t]:{};t%2?c1(Object(a),!0).forEach(function(n){gf(e,n,a[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):c1(Object(a)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(a,n))})}return e}function jz(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function wz(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,F4(n.key),n)}}function kz(e,t,a){return t&&wz(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function Nz(e,t,a){return t=Tm(t),Sz(e,q4()?Reflect.construct(t,a||[],Tm(e).constructor):t.apply(e,a))}function Sz(e,t){if(t&&(No(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Cz(e)}function Cz(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function q4(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(q4=function(){return!!e})()}function Tm(e){return Tm=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(a){return a.__proto__||Object.getPrototypeOf(a)},Tm(e)}function Tz(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Zp(e,t)}function Zp(e,t){return Zp=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,o){return n.__proto__=o,n},Zp(e,t)}function gf(e,t,a){return t=F4(t),t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function F4(e){var t=Ez(e,"string");return No(t)=="symbol"?t:t+""}function Ez(e,t){if(No(e)!="object"||!e)return e;var a=e[Symbol.toPrimitive];if(a!==void 0){var n=a.call(e,t);if(No(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}var Oz=function(t,a,n,o,l){var d=l.x1,u=l.x2,m=l.y1,h=l.y2,x=l.xAxis,g=l.yAxis;if(!x||!g)return null;var p=iy({x:x.scale,y:g.scale}),j={x:t?p.x.apply(d,{position:"start"}):p.x.rangeMin,y:n?p.y.apply(m,{position:"start"}):p.y.rangeMin},k={x:a?p.x.apply(u,{position:"end"}):p.x.rangeMax,y:o?p.y.apply(h,{position:"end"}):p.y.rangeMax};return Ia(l,"discard")&&(!p.isInRange(j)||!p.isInRange(k))?null:S4(j,k)},pf=(function(e){function t(){return jz(this,t),Nz(this,t,arguments)}return Tz(t,e),kz(t,[{key:"render",value:function(){var n=this.props,o=n.x1,l=n.x2,d=n.y1,u=n.y2,m=n.className,h=n.alwaysShow,x=n.clipPathId;Rs(h===void 0,'The alwaysShow prop is deprecated. Please use ifOverflow="extendDomain" instead.');var g=er(o),p=er(l),j=er(d),k=er(u),N=this.props.shape;if(!g&&!p&&!j&&!k&&!N)return null;var v=Oz(g,p,j,k,this.props);if(!v&&!N)return null;var T=Ia(this.props,"hidden")?"url(#".concat(x,")"):void 0;return ee.createElement(lr,{className:nt("recharts-reference-area",m)},t.renderRect(N,d1(d1({clipPath:T},ct(this.props,!0)),v)),vr.renderCallByParent(this.props,v))}}])})(ee.Component);gf(pf,"displayName","ReferenceArea");gf(pf,"defaultProps",{isFront:!1,ifOverflow:"discard",xAxisId:0,yAxisId:0,r:10,fill:"#ccc",fillOpacity:.5,stroke:"none",strokeWidth:1});gf(pf,"renderRect",function(e,t){var a;return ee.isValidElement(e)?a=ee.cloneElement(e,t):We(e)?a=e(t):a=ee.createElement(sy,Wp({},t,{className:"recharts-reference-area-rect"})),a});function U4(e,t,a){if(t<1)return[];if(t===1&&a===void 0)return e;for(var n=[],o=0;o<e.length;o+=t)n.push(e[o]);return n}function Az(e,t,a){var n={width:e.width+t.width,height:e.height+t.height};return UB(n,a)}function $z(e,t,a){var n=a==="width",o=e.x,l=e.y,d=e.width,u=e.height;return t===1?{start:n?o:l,end:n?o+d:l+u}:{start:n?o+d:l+u,end:n?o:l}}function Em(e,t,a,n,o){if(e*t<e*n||e*t>e*o)return!1;var l=a();return e*(t-e*l/2-n)>=0&&e*(t+e*l/2-o)<=0}function Dz(e,t){return U4(e,t+1)}function _z(e,t,a,n,o){for(var l=(n||[]).slice(),d=t.start,u=t.end,m=0,h=1,x=d,g=function(){var k=n?.[m];if(k===void 0)return{v:U4(n,h)};var N=m,v,T=function(){return v===void 0&&(v=a(k,N)),v},E=k.coordinate,O=m===0||Em(e,E,T,x,u);O||(m=0,x=d,h+=1),O&&(x=E+e*(T()/2+o),m+=h)},p;h<=l.length;)if(p=g(),p)return p.v;return[]}function Rc(e){"@babel/helpers - typeof";return Rc=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Rc(e)}function u1(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),a.push.apply(a,n)}return a}function pr(e){for(var t=1;t<arguments.length;t++){var a=arguments[t]!=null?arguments[t]:{};t%2?u1(Object(a),!0).forEach(function(n){Mz(e,n,a[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):u1(Object(a)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(a,n))})}return e}function Mz(e,t,a){return t=Lz(t),t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function Lz(e){var t=Pz(e,"string");return Rc(t)=="symbol"?t:t+""}function Pz(e,t){if(Rc(e)!="object"||!e)return e;var a=e[Symbol.toPrimitive];if(a!==void 0){var n=a.call(e,t);if(Rc(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Rz(e,t,a,n,o){for(var l=(n||[]).slice(),d=l.length,u=t.start,m=t.end,h=function(p){var j=l[p],k,N=function(){return k===void 0&&(k=a(j,p)),k};if(p===d-1){var v=e*(j.coordinate+e*N()/2-m);l[p]=j=pr(pr({},j),{},{tickCoord:v>0?j.coordinate-v*e:j.coordinate})}else l[p]=j=pr(pr({},j),{},{tickCoord:j.coordinate});var T=Em(e,j.tickCoord,N,u,m);T&&(m=j.tickCoord-e*(N()/2+o),l[p]=pr(pr({},j),{},{isShow:!0}))},x=d-1;x>=0;x--)h(x);return l}function Iz(e,t,a,n,o,l){var d=(n||[]).slice(),u=d.length,m=t.start,h=t.end;if(l){var x=n[u-1],g=a(x,u-1),p=e*(x.coordinate+e*g/2-h);d[u-1]=x=pr(pr({},x),{},{tickCoord:p>0?x.coordinate-p*e:x.coordinate});var j=Em(e,x.tickCoord,function(){return g},m,h);j&&(h=x.tickCoord-e*(g/2+o),d[u-1]=pr(pr({},x),{},{isShow:!0}))}for(var k=l?u-1:u,N=function(E){var O=d[E],S,C=function(){return S===void 0&&(S=a(O,E)),S};if(E===0){var A=e*(O.coordinate-e*C()/2-m);d[E]=O=pr(pr({},O),{},{tickCoord:A<0?O.coordinate-A*e:O.coordinate})}else d[E]=O=pr(pr({},O),{},{tickCoord:O.coordinate});var $=Em(e,O.tickCoord,C,m,h);$&&(m=O.tickCoord+e*(C()/2+o),d[E]=pr(pr({},O),{},{isShow:!0}))},v=0;v<k;v++)N(v);return d}function Bz(e,t,a){var n=e.tick,o=e.ticks,l=e.viewBox,d=e.minTickGap,u=e.orientation,m=e.interval,h=e.tickFormatter,x=e.unit,g=e.angle;if(!o||!o.length||!n)return[];if(Se(m)||sd.isSsr)return Dz(o,typeof m=="number"&&Se(m)?m:0);var p=[],j=u==="top"||u==="bottom"?"width":"height",k=x&&j==="width"?Wl(x,{fontSize:t,letterSpacing:a}):{width:0,height:0},N=function(O,S){var C=We(h)?h(O.value,S):O.value;return j==="width"?Az(Wl(C,{fontSize:t,letterSpacing:a}),k,g):Wl(C,{fontSize:t,letterSpacing:a})[j]},v=o.length>=2?wa(o[1].coordinate-o[0].coordinate):1,T=$z(l,v,j);return m==="equidistantPreserveStart"?_z(v,T,N,o,d):(m==="preserveStart"||m==="preserveStartEnd"?p=Iz(v,T,N,o,d,m==="preserveStartEnd"):p=Rz(v,T,N,o,d),p.filter(function(E){return E.isShow}))}var zz=["viewBox"],qz=["viewBox"],Fz=["ticks"];function So(e){"@babel/helpers - typeof";return So=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},So(e)}function Zi(){return Zi=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},Zi.apply(this,arguments)}function m1(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),a.push.apply(a,n)}return a}function Zt(e){for(var t=1;t<arguments.length;t++){var a=arguments[t]!=null?arguments[t]:{};t%2?m1(Object(a),!0).forEach(function(n){cy(e,n,a[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):m1(Object(a)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(a,n))})}return e}function Ng(e,t){if(e==null)return{};var a=Uz(e,t),n,o;if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(o=0;o<l.length;o++)n=l[o],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}function Uz(e,t){if(e==null)return{};var a={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;a[n]=e[n]}return a}function Kz(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function f1(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,H4(n.key),n)}}function Hz(e,t,a){return t&&f1(e.prototype,t),a&&f1(e,a),Object.defineProperty(e,"prototype",{writable:!1}),e}function Vz(e,t,a){return t=Om(t),Gz(e,K4()?Reflect.construct(t,a||[],Om(e).constructor):t.apply(e,a))}function Gz(e,t){if(t&&(So(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Yz(e)}function Yz(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function K4(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(K4=function(){return!!e})()}function Om(e){return Om=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(a){return a.__proto__||Object.getPrototypeOf(a)},Om(e)}function Qz(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Jp(e,t)}function Jp(e,t){return Jp=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,o){return n.__proto__=o,n},Jp(e,t)}function cy(e,t,a){return t=H4(t),t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function H4(e){var t=Xz(e,"string");return So(t)=="symbol"?t:t+""}function Xz(e,t){if(So(e)!="object"||!e)return e;var a=e[Symbol.toPrimitive];if(a!==void 0){var n=a.call(e,t);if(So(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}var yf=(function(e){function t(a){var n;return Kz(this,t),n=Vz(this,t,[a]),n.state={fontSize:"",letterSpacing:""},n}return Qz(t,e),Hz(t,[{key:"shouldComponentUpdate",value:function(n,o){var l=n.viewBox,d=Ng(n,zz),u=this.props,m=u.viewBox,h=Ng(u,qz);return!ro(l,m)||!ro(d,h)||!ro(o,this.state)}},{key:"componentDidMount",value:function(){var n=this.layerReference;if(n){var o=n.getElementsByClassName("recharts-cartesian-axis-tick-value")[0];o&&this.setState({fontSize:window.getComputedStyle(o).fontSize,letterSpacing:window.getComputedStyle(o).letterSpacing})}}},{key:"getTickLineCoord",value:function(n){var o=this.props,l=o.x,d=o.y,u=o.width,m=o.height,h=o.orientation,x=o.tickSize,g=o.mirror,p=o.tickMargin,j,k,N,v,T,E,O=g?-1:1,S=n.tickSize||x,C=Se(n.tickCoord)?n.tickCoord:n.coordinate;switch(h){case"top":j=k=n.coordinate,v=d+ +!g*m,N=v-O*S,E=N-O*p,T=C;break;case"left":N=v=n.coordinate,k=l+ +!g*u,j=k-O*S,T=j-O*p,E=C;break;case"right":N=v=n.coordinate,k=l+ +g*u,j=k+O*S,T=j+O*p,E=C;break;default:j=k=n.coordinate,v=d+ +g*m,N=v+O*S,E=N+O*p,T=C;break}return{line:{x1:j,y1:N,x2:k,y2:v},tick:{x:T,y:E}}}},{key:"getTickTextAnchor",value:function(){var n=this.props,o=n.orientation,l=n.mirror,d;switch(o){case"left":d=l?"start":"end";break;case"right":d=l?"end":"start";break;default:d="middle";break}return d}},{key:"getTickVerticalAnchor",value:function(){var n=this.props,o=n.orientation,l=n.mirror,d="end";switch(o){case"left":case"right":d="middle";break;case"top":d=l?"start":"end";break;default:d=l?"end":"start";break}return d}},{key:"renderAxisLine",value:function(){var n=this.props,o=n.x,l=n.y,d=n.width,u=n.height,m=n.orientation,h=n.mirror,x=n.axisLine,g=Zt(Zt(Zt({},ct(this.props,!1)),ct(x,!1)),{},{fill:"none"});if(m==="top"||m==="bottom"){var p=+(m==="top"&&!h||m==="bottom"&&h);g=Zt(Zt({},g),{},{x1:o,y1:l+p*u,x2:o+d,y2:l+p*u})}else{var j=+(m==="left"&&!h||m==="right"&&h);g=Zt(Zt({},g),{},{x1:o+j*d,y1:l,x2:o+j*d,y2:l+u})}return ee.createElement("line",Zi({},g,{className:nt("recharts-cartesian-axis-line",ma(x,"className"))}))}},{key:"renderTicks",value:function(n,o,l){var d=this,u=this.props,m=u.tickLine,h=u.stroke,x=u.tick,g=u.tickFormatter,p=u.unit,j=Bz(Zt(Zt({},this.props),{},{ticks:n}),o,l),k=this.getTickTextAnchor(),N=this.getTickVerticalAnchor(),v=ct(this.props,!1),T=ct(x,!1),E=Zt(Zt({},v),{},{fill:"none"},ct(m,!1)),O=j.map(function(S,C){var A=d.getTickLineCoord(S),$=A.line,P=A.tick,M=Zt(Zt(Zt(Zt({textAnchor:k,verticalAnchor:N},v),{},{stroke:"none",fill:h},T),P),{},{index:C,payload:S,visibleTicksCount:j.length,tickFormatter:g});return ee.createElement(lr,Zi({className:"recharts-cartesian-axis-tick",key:"tick-".concat(S.value,"-").concat(S.coordinate,"-").concat(S.tickCoord)},rm(d.props,S,C)),m&&ee.createElement("line",Zi({},E,$,{className:nt("recharts-cartesian-axis-tick-line",ma(m,"className"))})),x&&t.renderTickItem(x,M,"".concat(We(g)?g(S.value,C):S.value).concat(p||"")))});return ee.createElement("g",{className:"recharts-cartesian-axis-ticks"},O)}},{key:"render",value:function(){var n=this,o=this.props,l=o.axisLine,d=o.width,u=o.height,m=o.ticksGenerator,h=o.className,x=o.hide;if(x)return null;var g=this.props,p=g.ticks,j=Ng(g,Fz),k=p;return We(m)&&(k=p&&p.length>0?m(this.props):m(j)),d<=0||u<=0||!k||!k.length?null:ee.createElement(lr,{className:nt("recharts-cartesian-axis",h),ref:function(v){n.layerReference=v}},l&&this.renderAxisLine(),this.renderTicks(k,this.state.fontSize,this.state.letterSpacing),vr.renderCallByParent(this.props))}}],[{key:"renderTickItem",value:function(n,o,l){var d,u=nt(o.className,"recharts-cartesian-axis-tick-value");return ee.isValidElement(n)?d=ee.cloneElement(n,Zt(Zt({},o),{},{className:u})):We(n)?d=n(Zt(Zt({},o),{},{className:u})):d=ee.createElement(lm,Zi({},o,{className:"recharts-cartesian-axis-tick-value"}),l),d}}])})(y.Component);cy(yf,"displayName","CartesianAxis");cy(yf,"defaultProps",{x:0,y:0,width:0,height:0,viewBox:{x:0,y:0,width:0,height:0},orientation:"bottom",ticks:[],stroke:"#666",tickLine:!0,axisLine:!0,tick:!0,mirror:!1,minTickGap:5,tickSize:6,tickMargin:2,interval:"preserveEnd"});function Co(e){"@babel/helpers - typeof";return Co=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Co(e)}function Wz(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Zz(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Y4(n.key),n)}}function Jz(e,t,a){return t&&Zz(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function e7(e,t,a){return t=Am(t),t7(e,V4()?Reflect.construct(t,a||[],Am(e).constructor):t.apply(e,a))}function t7(e,t){if(t&&(Co(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return r7(e)}function r7(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function V4(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(V4=function(){return!!e})()}function Am(e){return Am=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(a){return a.__proto__||Object.getPrototypeOf(a)},Am(e)}function a7(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&e0(e,t)}function e0(e,t){return e0=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,o){return n.__proto__=o,n},e0(e,t)}function G4(e,t,a){return t=Y4(t),t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function Y4(e){var t=n7(e,"string");return Co(t)=="symbol"?t:t+""}function n7(e,t){if(Co(e)!="object"||!e)return e;var a=e[Symbol.toPrimitive];if(a!==void 0){var n=a.call(e,t);if(Co(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}function t0(){return t0=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},t0.apply(this,arguments)}function s7(e){var t=e.xAxisId,a=L4(),n=P4(),o=_4(t);return o==null?null:y.createElement(yf,t0({},o,{className:nt("recharts-".concat(o.axisType," ").concat(o.axisType),o.className),viewBox:{x:0,y:0,width:a,height:n},ticksGenerator:function(d){return Ls(d,!0)}}))}var bf=(function(e){function t(){return Wz(this,t),e7(this,t,arguments)}return a7(t,e),Jz(t,[{key:"render",value:function(){return y.createElement(s7,this.props)}}])})(y.Component);G4(bf,"displayName","XAxis");G4(bf,"defaultProps",{allowDecimals:!0,hide:!1,orientation:"bottom",width:0,height:30,mirror:!1,xAxisId:0,tickCount:5,type:"category",padding:{left:0,right:0},allowDataOverflow:!1,scale:"auto",reversed:!1,allowDuplicatedCategory:!0});function To(e){"@babel/helpers - typeof";return To=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},To(e)}function i7(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o7(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,W4(n.key),n)}}function l7(e,t,a){return t&&o7(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function c7(e,t,a){return t=$m(t),d7(e,Q4()?Reflect.construct(t,a||[],$m(e).constructor):t.apply(e,a))}function d7(e,t){if(t&&(To(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return u7(e)}function u7(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Q4(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(Q4=function(){return!!e})()}function $m(e){return $m=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(a){return a.__proto__||Object.getPrototypeOf(a)},$m(e)}function m7(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&r0(e,t)}function r0(e,t){return r0=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,o){return n.__proto__=o,n},r0(e,t)}function X4(e,t,a){return t=W4(t),t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function W4(e){var t=f7(e,"string");return To(t)=="symbol"?t:t+""}function f7(e,t){if(To(e)!="object"||!e)return e;var a=e[Symbol.toPrimitive];if(a!==void 0){var n=a.call(e,t);if(To(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}function a0(){return a0=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},a0.apply(this,arguments)}var h7=function(t){var a=t.yAxisId,n=L4(),o=P4(),l=M4(a);return l==null?null:y.createElement(yf,a0({},l,{className:nt("recharts-".concat(l.axisType," ").concat(l.axisType),l.className),viewBox:{x:0,y:0,width:n,height:o},ticksGenerator:function(u){return Ls(u,!0)}}))},vf=(function(e){function t(){return i7(this,t),c7(this,t,arguments)}return m7(t,e),l7(t,[{key:"render",value:function(){return y.createElement(h7,this.props)}}])})(y.Component);X4(vf,"displayName","YAxis");X4(vf,"defaultProps",{allowDuplicatedCategory:!0,allowDecimals:!0,hide:!1,orientation:"left",width:60,height:0,mirror:!1,yAxisId:0,tickCount:5,type:"number",padding:{top:0,bottom:0},allowDataOverflow:!1,scale:"auto",reversed:!1});function h1(e){return y7(e)||p7(e)||g7(e)||x7()}function x7(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
124
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function g7(e,t){if(e){if(typeof e=="string")return n0(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);if(a==="Object"&&e.constructor&&(a=e.constructor.name),a==="Map"||a==="Set")return Array.from(e);if(a==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return n0(e,t)}}function p7(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function y7(e){if(Array.isArray(e))return n0(e)}function n0(e,t){(t==null||t>e.length)&&(t=e.length);for(var a=0,n=new Array(t);a<t;a++)n[a]=e[a];return n}var s0=function(t,a,n,o,l){var d=Na(t,ly),u=Na(t,xf),m=[].concat(h1(d),h1(u)),h=Na(t,pf),x="".concat(o,"Id"),g=o[0],p=a;if(m.length&&(p=m.reduce(function(N,v){if(v.props[x]===n&&Ia(v.props,"extendDomain")&&Se(v.props[g])){var T=v.props[g];return[Math.min(N[0],T),Math.max(N[1],T)]}return N},p)),h.length){var j="".concat(g,"1"),k="".concat(g,"2");p=h.reduce(function(N,v){if(v.props[x]===n&&Ia(v.props,"extendDomain")&&Se(v.props[j])&&Se(v.props[k])){var T=v.props[j],E=v.props[k];return[Math.min(N[0],T,E),Math.max(N[1],T,E)]}return N},p)}return l&&l.length&&(p=l.reduce(function(N,v){return Se(v)?[Math.min(N[0],v),Math.max(N[1],v)]:N},p)),p},Sg={exports:{}},x1;function b7(){return x1||(x1=1,(function(e){var t=Object.prototype.hasOwnProperty,a="~";function n(){}Object.create&&(n.prototype=Object.create(null),new n().__proto__||(a=!1));function o(m,h,x){this.fn=m,this.context=h,this.once=x||!1}function l(m,h,x,g,p){if(typeof x!="function")throw new TypeError("The listener must be a function");var j=new o(x,g||m,p),k=a?a+h:h;return m._events[k]?m._events[k].fn?m._events[k]=[m._events[k],j]:m._events[k].push(j):(m._events[k]=j,m._eventsCount++),m}function d(m,h){--m._eventsCount===0?m._events=new n:delete m._events[h]}function u(){this._events=new n,this._eventsCount=0}u.prototype.eventNames=function(){var h=[],x,g;if(this._eventsCount===0)return h;for(g in x=this._events)t.call(x,g)&&h.push(a?g.slice(1):g);return Object.getOwnPropertySymbols?h.concat(Object.getOwnPropertySymbols(x)):h},u.prototype.listeners=function(h){var x=a?a+h:h,g=this._events[x];if(!g)return[];if(g.fn)return[g.fn];for(var p=0,j=g.length,k=new Array(j);p<j;p++)k[p]=g[p].fn;return k},u.prototype.listenerCount=function(h){var x=a?a+h:h,g=this._events[x];return g?g.fn?1:g.length:0},u.prototype.emit=function(h,x,g,p,j,k){var N=a?a+h:h;if(!this._events[N])return!1;var v=this._events[N],T=arguments.length,E,O;if(v.fn){switch(v.once&&this.removeListener(h,v.fn,void 0,!0),T){case 1:return v.fn.call(v.context),!0;case 2:return v.fn.call(v.context,x),!0;case 3:return v.fn.call(v.context,x,g),!0;case 4:return v.fn.call(v.context,x,g,p),!0;case 5:return v.fn.call(v.context,x,g,p,j),!0;case 6:return v.fn.call(v.context,x,g,p,j,k),!0}for(O=1,E=new Array(T-1);O<T;O++)E[O-1]=arguments[O];v.fn.apply(v.context,E)}else{var S=v.length,C;for(O=0;O<S;O++)switch(v[O].once&&this.removeListener(h,v[O].fn,void 0,!0),T){case 1:v[O].fn.call(v[O].context);break;case 2:v[O].fn.call(v[O].context,x);break;case 3:v[O].fn.call(v[O].context,x,g);break;case 4:v[O].fn.call(v[O].context,x,g,p);break;default:if(!E)for(C=1,E=new Array(T-1);C<T;C++)E[C-1]=arguments[C];v[O].fn.apply(v[O].context,E)}}return!0},u.prototype.on=function(h,x,g){return l(this,h,x,g,!1)},u.prototype.once=function(h,x,g){return l(this,h,x,g,!0)},u.prototype.removeListener=function(h,x,g,p){var j=a?a+h:h;if(!this._events[j])return this;if(!x)return d(this,j),this;var k=this._events[j];if(k.fn)k.fn===x&&(!p||k.once)&&(!g||k.context===g)&&d(this,j);else{for(var N=0,v=[],T=k.length;N<T;N++)(k[N].fn!==x||p&&!k[N].once||g&&k[N].context!==g)&&v.push(k[N]);v.length?this._events[j]=v.length===1?v[0]:v:d(this,j)}return this},u.prototype.removeAllListeners=function(h){var x;return h?(x=a?a+h:h,this._events[x]&&d(this,x)):(this._events=new n,this._eventsCount=0),this},u.prototype.off=u.prototype.removeListener,u.prototype.addListener=u.prototype.on,u.prefixed=a,u.EventEmitter=u,e.exports=u})(Sg)),Sg.exports}var v7=b7();const j7=Nt(v7);var Cg=new j7,Tg="recharts.syncMouseEvents";function Ic(e){"@babel/helpers - typeof";return Ic=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ic(e)}function w7(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function k7(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Z4(n.key),n)}}function N7(e,t,a){return t&&k7(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function Eg(e,t,a){return t=Z4(t),t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function Z4(e){var t=S7(e,"string");return Ic(t)=="symbol"?t:t+""}function S7(e,t){if(Ic(e)!="object"||!e)return e;var a=e[Symbol.toPrimitive];if(a!==void 0){var n=a.call(e,t);if(Ic(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}var C7=(function(){function e(){w7(this,e),Eg(this,"activeIndex",0),Eg(this,"coordinateList",[]),Eg(this,"layout","horizontal")}return N7(e,[{key:"setDetails",value:function(a){var n,o=a.coordinateList,l=o===void 0?null:o,d=a.container,u=d===void 0?null:d,m=a.layout,h=m===void 0?null:m,x=a.offset,g=x===void 0?null:x,p=a.mouseHandlerCallback,j=p===void 0?null:p;this.coordinateList=(n=l??this.coordinateList)!==null&&n!==void 0?n:[],this.container=u??this.container,this.layout=h??this.layout,this.offset=g??this.offset,this.mouseHandlerCallback=j??this.mouseHandlerCallback,this.activeIndex=Math.min(Math.max(this.activeIndex,0),this.coordinateList.length-1)}},{key:"focus",value:function(){this.spoofMouse()}},{key:"keyboardEvent",value:function(a){if(this.coordinateList.length!==0)switch(a.key){case"ArrowRight":{if(this.layout!=="horizontal")return;this.activeIndex=Math.min(this.activeIndex+1,this.coordinateList.length-1),this.spoofMouse();break}case"ArrowLeft":{if(this.layout!=="horizontal")return;this.activeIndex=Math.max(this.activeIndex-1,0),this.spoofMouse();break}}}},{key:"setIndex",value:function(a){this.activeIndex=a}},{key:"spoofMouse",value:function(){var a,n;if(this.layout==="horizontal"&&this.coordinateList.length!==0){var o=this.container.getBoundingClientRect(),l=o.x,d=o.y,u=o.height,m=this.coordinateList[this.activeIndex].coordinate,h=((a=window)===null||a===void 0?void 0:a.scrollX)||0,x=((n=window)===null||n===void 0?void 0:n.scrollY)||0,g=l+m+h,p=d+this.offset.top+u/2+x;this.mouseHandlerCallback({pageX:g,pageY:p})}}}])})();function T7(e,t,a){if(a==="number"&&t===!0&&Array.isArray(e)){var n=e?.[0],o=e?.[1];if(n&&o&&Se(n)&&Se(o))return!0}return!1}function E7(e,t,a,n){var o=n/2;return{stroke:"none",fill:"#ccc",x:e==="horizontal"?t.x-o:a.left+.5,y:e==="horizontal"?a.top+.5:t.y-o,width:e==="horizontal"?n:a.width-1,height:e==="horizontal"?a.height-1:n}}function J4(e){var t=e.cx,a=e.cy,n=e.radius,o=e.startAngle,l=e.endAngle,d=xr(t,a,n,o),u=xr(t,a,n,l);return{points:[d,u],cx:t,cy:a,radius:n,startAngle:o,endAngle:l}}function O7(e,t,a){var n,o,l,d;if(e==="horizontal")n=t.x,l=n,o=a.top,d=a.top+a.height;else if(e==="vertical")o=t.y,d=o,n=a.left,l=a.left+a.width;else if(t.cx!=null&&t.cy!=null)if(e==="centric"){var u=t.cx,m=t.cy,h=t.innerRadius,x=t.outerRadius,g=t.angle,p=xr(u,m,h,g),j=xr(u,m,x,g);n=p.x,o=p.y,l=j.x,d=j.y}else return J4(t);return[{x:n,y:o},{x:l,y:d}]}function Bc(e){"@babel/helpers - typeof";return Bc=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Bc(e)}function g1(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),a.push.apply(a,n)}return a}function Du(e){for(var t=1;t<arguments.length;t++){var a=arguments[t]!=null?arguments[t]:{};t%2?g1(Object(a),!0).forEach(function(n){A7(e,n,a[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):g1(Object(a)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(a,n))})}return e}function A7(e,t,a){return t=$7(t),t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function $7(e){var t=D7(e,"string");return Bc(t)=="symbol"?t:t+""}function D7(e,t){if(Bc(e)!="object"||!e)return e;var a=e[Symbol.toPrimitive];if(a!==void 0){var n=a.call(e,t);if(Bc(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function _7(e){var t,a,n=e.element,o=e.tooltipEventType,l=e.isActive,d=e.activeCoordinate,u=e.activePayload,m=e.offset,h=e.activeTooltipIndex,x=e.tooltipAxisBandSize,g=e.layout,p=e.chartName,j=(t=n.props.cursor)!==null&&t!==void 0?t:(a=n.type.defaultProps)===null||a===void 0?void 0:a.cursor;if(!n||!j||!l||!d||p!=="ScatterChart"&&o!=="axis")return null;var k,N=xN;if(p==="ScatterChart")k=d,N=g8;else if(p==="BarChart")k=E7(g,d,m,x),N=sy;else if(g==="radial"){var v=J4(d),T=v.cx,E=v.cy,O=v.radius,S=v.startAngle,C=v.endAngle;k={cx:T,cy:E,startAngle:S,endAngle:C,innerRadius:O,outerRadius:O},N=d4}else k={points:O7(g,d,m)},N=xN;var A=Du(Du(Du(Du({stroke:"#ccc",pointerEvents:"none"},m),k),ct(j,!1)),{},{payload:u,payloadIndex:h,className:nt("recharts-tooltip-cursor",j.className)});return y.isValidElement(j)?y.cloneElement(j,A):y.createElement(N,A)}var M7=["item"],L7=["children","className","width","height","style","compact","title","desc"];function Eo(e){"@babel/helpers - typeof";return Eo=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Eo(e)}function Ji(){return Ji=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},Ji.apply(this,arguments)}function p1(e,t){return I7(e)||R7(e,t)||t5(e,t)||P7()}function P7(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
125
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function R7(e,t){var a=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(a!=null){var n,o,l,d,u=[],m=!0,h=!1;try{if(l=(a=a.call(e)).next,t!==0)for(;!(m=(n=l.call(a)).done)&&(u.push(n.value),u.length!==t);m=!0);}catch(x){h=!0,o=x}finally{try{if(!m&&a.return!=null&&(d=a.return(),Object(d)!==d))return}finally{if(h)throw o}}return u}}function I7(e){if(Array.isArray(e))return e}function y1(e,t){if(e==null)return{};var a=B7(e,t),n,o;if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(o=0;o<l.length;o++)n=l[o],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}function B7(e,t){if(e==null)return{};var a={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;a[n]=e[n]}return a}function z7(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function q7(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,r5(n.key),n)}}function F7(e,t,a){return t&&q7(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function U7(e,t,a){return t=Dm(t),K7(e,e5()?Reflect.construct(t,a||[],Dm(e).constructor):t.apply(e,a))}function K7(e,t){if(t&&(Eo(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return H7(e)}function H7(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function e5(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(e5=function(){return!!e})()}function Dm(e){return Dm=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(a){return a.__proto__||Object.getPrototypeOf(a)},Dm(e)}function V7(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&i0(e,t)}function i0(e,t){return i0=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,o){return n.__proto__=o,n},i0(e,t)}function Oo(e){return Q7(e)||Y7(e)||t5(e)||G7()}function G7(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
126
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function t5(e,t){if(e){if(typeof e=="string")return o0(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);if(a==="Object"&&e.constructor&&(a=e.constructor.name),a==="Map"||a==="Set")return Array.from(e);if(a==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return o0(e,t)}}function Y7(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function Q7(e){if(Array.isArray(e))return o0(e)}function o0(e,t){(t==null||t>e.length)&&(t=e.length);for(var a=0,n=new Array(t);a<t;a++)n[a]=e[a];return n}function b1(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),a.push.apply(a,n)}return a}function ue(e){for(var t=1;t<arguments.length;t++){var a=arguments[t]!=null?arguments[t]:{};t%2?b1(Object(a),!0).forEach(function(n){Pe(e,n,a[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):b1(Object(a)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(a,n))})}return e}function Pe(e,t,a){return t=r5(t),t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function r5(e){var t=X7(e,"string");return Eo(t)=="symbol"?t:t+""}function X7(e,t){if(Eo(e)!="object"||!e)return e;var a=e[Symbol.toPrimitive];if(a!==void 0){var n=a.call(e,t);if(Eo(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var W7={xAxis:["bottom","top"],yAxis:["left","right"]},Z7={width:"100%",height:"100%"},a5={x:0,y:0};function _u(e){return e}var J7=function(t,a){return a==="horizontal"?t.x:a==="vertical"?t.y:a==="centric"?t.angle:t.radius},e9=function(t,a,n,o){var l=a.find(function(x){return x&&x.index===n});if(l){if(t==="horizontal")return{x:l.coordinate,y:o.y};if(t==="vertical")return{x:o.x,y:l.coordinate};if(t==="centric"){var d=l.coordinate,u=o.radius;return ue(ue(ue({},o),xr(o.cx,o.cy,u,d)),{},{angle:d,radius:u})}var m=l.coordinate,h=o.angle;return ue(ue(ue({},o),xr(o.cx,o.cy,m,h)),{},{angle:h,radius:m})}return a5},jf=function(t,a){var n=a.graphicalItems,o=a.dataStartIndex,l=a.dataEndIndex,d=(n??[]).reduce(function(u,m){var h=m.props.data;return h&&h.length?[].concat(Oo(u),Oo(h)):u},[]);return d.length>0?d:t&&t.length&&Se(o)&&Se(l)?t.slice(o,l+1):[]};function n5(e){return e==="number"?[0,"auto"]:void 0}var l0=function(t,a,n,o){var l=t.graphicalItems,d=t.tooltipAxis,u=jf(a,t);return n<0||!l||!l.length||n>=u.length?null:l.reduce(function(m,h){var x,g=(x=h.props.data)!==null&&x!==void 0?x:a;g&&t.dataStartIndex+t.dataEndIndex!==0&&t.dataEndIndex-t.dataStartIndex>=n&&(g=g.slice(t.dataStartIndex,t.dataEndIndex+1));var p;if(d.dataKey&&!d.allowDuplicatedCategory){var j=g===void 0?u:g;p=sp(j,d.dataKey,o)}else p=g&&g[n]||u[n];return p?[].concat(Oo(m),[o4(h,p)]):m},[])},v1=function(t,a,n,o){var l=o||{x:t.chartX,y:t.chartY},d=J7(l,n),u=t.orderedTooltipTicks,m=t.tooltipAxis,h=t.tooltipTicks,x=LP(d,u,h,m);if(x>=0&&h){var g=h[x]&&h[x].value,p=l0(t,a,x,g),j=e9(n,u,x,l);return{activeTooltipIndex:x,activeLabel:g,activePayload:p,activeCoordinate:j}}return null},t9=function(t,a){var n=a.axes,o=a.graphicalItems,l=a.axisType,d=a.axisIdKey,u=a.stackGroups,m=a.dataStartIndex,h=a.dataEndIndex,x=t.layout,g=t.children,p=t.stackOffset,j=s4(x,l);return n.reduce(function(k,N){var v,T=N.type.defaultProps!==void 0?ue(ue({},N.type.defaultProps),N.props):N.props,E=T.type,O=T.dataKey,S=T.allowDataOverflow,C=T.allowDuplicatedCategory,A=T.scale,$=T.ticks,P=T.includeHidden,M=T[d];if(k[M])return k;var q=jf(t.data,{graphicalItems:o.filter(function(te){var le,ge=d in te.props?te.props[d]:(le=te.type.defaultProps)===null||le===void 0?void 0:le[d];return ge===M}),dataStartIndex:m,dataEndIndex:h}),_=q.length,z,U,K;T7(T.domain,S,E)&&(z=Ep(T.domain,null,S),j&&(E==="number"||A!=="auto")&&(K=Zl(q,O,"category")));var R=n5(E);if(!z||z.length===0){var L,F=(L=T.domain)!==null&&L!==void 0?L:R;if(O){if(z=Zl(q,O,E),E==="category"&&j){var B=eM(z);C&&B?(U=z,z=vm(0,_)):C||(z=rN(F,z,N).reduce(function(te,le){return te.indexOf(le)>=0?te:[].concat(Oo(te),[le])},[]))}else if(E==="category")C?z=z.filter(function(te){return te!==""&&!st(te)}):z=rN(F,z,N).reduce(function(te,le){return te.indexOf(le)>=0||le===""||st(le)?te:[].concat(Oo(te),[le])},[]);else if(E==="number"){var H=zP(q,o.filter(function(te){var le,ge,se=d in te.props?te.props[d]:(le=te.type.defaultProps)===null||le===void 0?void 0:le[d],ye="hide"in te.props?te.props.hide:(ge=te.type.defaultProps)===null||ge===void 0?void 0:ge.hide;return se===M&&(P||!ye)}),O,l,x);H&&(z=H)}j&&(E==="number"||A!=="auto")&&(K=Zl(q,O,"category"))}else j?z=vm(0,_):u&&u[M]&&u[M].hasStack&&E==="number"?z=p==="expand"?[0,1]:i4(u[M].stackGroups,m,h):z=n4(q,o.filter(function(te){var le=d in te.props?te.props[d]:te.type.defaultProps[d],ge="hide"in te.props?te.props.hide:te.type.defaultProps.hide;return le===M&&(P||!ge)}),E,x,!0);if(E==="number")z=s0(g,z,M,l,$),F&&(z=Ep(F,z,S));else if(E==="category"&&F){var G=F,W=z.every(function(te){return G.indexOf(te)>=0});W&&(z=G)}}return ue(ue({},k),{},Pe({},M,ue(ue({},T),{},{axisType:l,domain:z,categoricalDomain:K,duplicateDomain:U,originalDomain:(v=T.domain)!==null&&v!==void 0?v:R,isCategorical:j,layout:x})))},{})},r9=function(t,a){var n=a.graphicalItems,o=a.Axis,l=a.axisType,d=a.axisIdKey,u=a.stackGroups,m=a.dataStartIndex,h=a.dataEndIndex,x=t.layout,g=t.children,p=jf(t.data,{graphicalItems:n,dataStartIndex:m,dataEndIndex:h}),j=p.length,k=s4(x,l),N=-1;return n.reduce(function(v,T){var E=T.type.defaultProps!==void 0?ue(ue({},T.type.defaultProps),T.props):T.props,O=E[d],S=n5("number");if(!v[O]){N++;var C;return k?C=vm(0,j):u&&u[O]&&u[O].hasStack?(C=i4(u[O].stackGroups,m,h),C=s0(g,C,O,l)):(C=Ep(S,n4(p,n.filter(function(A){var $,P,M=d in A.props?A.props[d]:($=A.type.defaultProps)===null||$===void 0?void 0:$[d],q="hide"in A.props?A.props.hide:(P=A.type.defaultProps)===null||P===void 0?void 0:P.hide;return M===O&&!q}),"number",x),o.defaultProps.allowDataOverflow),C=s0(g,C,O,l)),ue(ue({},v),{},Pe({},O,ue(ue({axisType:l},o.defaultProps),{},{hide:!0,orientation:ma(W7,"".concat(l,".").concat(N%2),null),domain:C,originalDomain:S,isCategorical:k,layout:x})))}return v},{})},a9=function(t,a){var n=a.axisType,o=n===void 0?"xAxis":n,l=a.AxisComp,d=a.graphicalItems,u=a.stackGroups,m=a.dataStartIndex,h=a.dataEndIndex,x=t.children,g="".concat(o,"Id"),p=Na(x,l),j={};return p&&p.length?j=t9(t,{axes:p,graphicalItems:d,axisType:o,axisIdKey:g,stackGroups:u,dataStartIndex:m,dataEndIndex:h}):d&&d.length&&(j=r9(t,{Axis:l,graphicalItems:d,axisType:o,axisIdKey:g,stackGroups:u,dataStartIndex:m,dataEndIndex:h})),j},n9=function(t){var a=Yi(t),n=Ls(a,!1,!0);return{tooltipTicks:n,orderedTooltipTicks:ey(n,function(o){return o.coordinate}),tooltipAxis:a,tooltipAxisBandSize:um(a,n)}},j1=function(t){var a=t.children,n=t.defaultShowTooltip,o=Yr(a,vo),l=0,d=0;return t.data&&t.data.length!==0&&(d=t.data.length-1),o&&o.props&&(o.props.startIndex>=0&&(l=o.props.startIndex),o.props.endIndex>=0&&(d=o.props.endIndex)),{chartX:0,chartY:0,dataStartIndex:l,dataEndIndex:d,activeTooltipIndex:-1,isTooltipActive:!!n}},s9=function(t){return!t||!t.length?!1:t.some(function(a){var n=yn(a&&a.type);return n&&n.indexOf("Bar")>=0})},w1=function(t){return t==="horizontal"?{numericAxisName:"yAxis",cateAxisName:"xAxis"}:t==="vertical"?{numericAxisName:"xAxis",cateAxisName:"yAxis"}:t==="centric"?{numericAxisName:"radiusAxis",cateAxisName:"angleAxis"}:{numericAxisName:"angleAxis",cateAxisName:"radiusAxis"}},i9=function(t,a){var n=t.props,o=t.graphicalItems,l=t.xAxisMap,d=l===void 0?{}:l,u=t.yAxisMap,m=u===void 0?{}:u,h=n.width,x=n.height,g=n.children,p=n.margin||{},j=Yr(g,vo),k=Yr(g,ao),N=Object.keys(m).reduce(function(C,A){var $=m[A],P=$.orientation;return!$.mirror&&!$.hide?ue(ue({},C),{},Pe({},P,C[P]+$.width)):C},{left:p.left||0,right:p.right||0}),v=Object.keys(d).reduce(function(C,A){var $=d[A],P=$.orientation;return!$.mirror&&!$.hide?ue(ue({},C),{},Pe({},P,ma(C,"".concat(P))+$.height)):C},{top:p.top||0,bottom:p.bottom||0}),T=ue(ue({},v),N),E=T.bottom;j&&(T.bottom+=j.props.height||vo.defaultProps.height),k&&a&&(T=IP(T,o,n,a));var O=h-T.left-T.right,S=x-T.top-T.bottom;return ue(ue({brushBottom:E},T),{},{width:Math.max(O,0),height:Math.max(S,0)})},o9=function(t,a){if(a==="xAxis")return t[a].width;if(a==="yAxis")return t[a].height},l9=function(t){var a=t.chartName,n=t.GraphicalChild,o=t.defaultTooltipEventType,l=o===void 0?"axis":o,d=t.validateTooltipEventTypes,u=d===void 0?["axis"]:d,m=t.axisComponents,h=t.legendContent,x=t.formatAxisMap,g=t.defaultProps,p=function(T,E){var O=E.graphicalItems,S=E.stackGroups,C=E.offset,A=E.updateId,$=E.dataStartIndex,P=E.dataEndIndex,M=T.barSize,q=T.layout,_=T.barGap,z=T.barCategoryGap,U=T.maxBarSize,K=w1(q),R=K.numericAxisName,L=K.cateAxisName,F=s9(O),B=[];return O.forEach(function(H,G){var W=jf(T.data,{graphicalItems:[H],dataStartIndex:$,dataEndIndex:P}),te=H.type.defaultProps!==void 0?ue(ue({},H.type.defaultProps),H.props):H.props,le=te.dataKey,ge=te.maxBarSize,se=te["".concat(R,"Id")],ye=te["".concat(L,"Id")],Ne={},we=m.reduce(function(rt,Ot){var Mt=E["".concat(Ot.axisType,"Map")],ht=te["".concat(Ot.axisType,"Id")];Mt&&Mt[ht]||Ot.axisType==="zAxis"||qs(!1);var Yt=Mt[ht];return ue(ue({},rt),{},Pe(Pe({},Ot.axisType,Yt),"".concat(Ot.axisType,"Ticks"),Ls(Yt)))},Ne),me=we[L],J=we["".concat(L,"Ticks")],re=S&&S[se]&&S[se].hasStack&&ZP(H,S[se].stackGroups),Y=yn(H.type).indexOf("Bar")>=0,he=um(me,J),ce=[],pe=F&&PP({barSize:M,stackGroups:S,totalSize:o9(we,L)});if(Y){var ke,_e,Le=st(ge)?U:ge,Ue=(ke=(_e=um(me,J,!0))!==null&&_e!==void 0?_e:Le)!==null&&ke!==void 0?ke:0;ce=RP({barGap:_,barCategoryGap:z,bandSize:Ue!==he?Ue:he,sizeList:pe[ye],maxBarSize:Le}),Ue!==he&&(ce=ce.map(function(rt){return ue(ue({},rt),{},{position:ue(ue({},rt.position),{},{offset:rt.position.offset-Ue/2})})}))}var Ge=H&&H.type&&H.type.getComposedData;Ge&&B.push({props:ue(ue({},Ge(ue(ue({},we),{},{displayedData:W,props:T,dataKey:le,item:H,bandSize:he,barPosition:ce,offset:C,stackedData:re,layout:q,dataStartIndex:$,dataEndIndex:P}))),{},Pe(Pe(Pe({key:H.key||"item-".concat(G)},R,we[R]),L,we[L]),"animationId",A)),childIndex:mM(H,T.children),item:H})}),B},j=function(T,E){var O=T.props,S=T.dataStartIndex,C=T.dataEndIndex,A=T.updateId;if(!rk({props:O}))return null;var $=O.children,P=O.layout,M=O.stackOffset,q=O.data,_=O.reverseStackOrder,z=w1(P),U=z.numericAxisName,K=z.cateAxisName,R=Na($,n),L=QP(q,R,"".concat(U,"Id"),"".concat(K,"Id"),M,_),F=m.reduce(function(te,le){var ge="".concat(le.axisType,"Map");return ue(ue({},te),{},Pe({},ge,a9(O,ue(ue({},le),{},{graphicalItems:R,stackGroups:le.axisType===U&&L,dataStartIndex:S,dataEndIndex:C}))))},{}),B=i9(ue(ue({},F),{},{props:O,graphicalItems:R}),E?.legendBBox);Object.keys(F).forEach(function(te){F[te]=x(O,F[te],B,te.replace("Map",""),a)});var H=F["".concat(K,"Map")],G=n9(H),W=p(O,ue(ue({},F),{},{dataStartIndex:S,dataEndIndex:C,updateId:A,graphicalItems:R,stackGroups:L,offset:B}));return ue(ue({formattedGraphicalItems:W,graphicalItems:R,offset:B,stackGroups:L},G),F)},k=(function(v){function T(E){var O,S,C;return z7(this,T),C=U7(this,T,[E]),Pe(C,"eventEmitterSymbol",Symbol("rechartsEventEmitter")),Pe(C,"accessibilityManager",new C7),Pe(C,"handleLegendBBoxUpdate",function(A){if(A){var $=C.state,P=$.dataStartIndex,M=$.dataEndIndex,q=$.updateId;C.setState(ue({legendBBox:A},j({props:C.props,dataStartIndex:P,dataEndIndex:M,updateId:q},ue(ue({},C.state),{},{legendBBox:A}))))}}),Pe(C,"handleReceiveSyncEvent",function(A,$,P){if(C.props.syncId===A){if(P===C.eventEmitterSymbol&&typeof C.props.syncMethod!="function")return;C.applySyncEvent($)}}),Pe(C,"handleBrushChange",function(A){var $=A.startIndex,P=A.endIndex;if($!==C.state.dataStartIndex||P!==C.state.dataEndIndex){var M=C.state.updateId;C.setState(function(){return ue({dataStartIndex:$,dataEndIndex:P},j({props:C.props,dataStartIndex:$,dataEndIndex:P,updateId:M},C.state))}),C.triggerSyncEvent({dataStartIndex:$,dataEndIndex:P})}}),Pe(C,"handleMouseEnter",function(A){var $=C.getMouseInfo(A);if($){var P=ue(ue({},$),{},{isTooltipActive:!0});C.setState(P),C.triggerSyncEvent(P);var M=C.props.onMouseEnter;We(M)&&M(P,A)}}),Pe(C,"triggeredAfterMouseMove",function(A){var $=C.getMouseInfo(A),P=$?ue(ue({},$),{},{isTooltipActive:!0}):{isTooltipActive:!1};C.setState(P),C.triggerSyncEvent(P);var M=C.props.onMouseMove;We(M)&&M(P,A)}),Pe(C,"handleItemMouseEnter",function(A){C.setState(function(){return{isTooltipActive:!0,activeItem:A,activePayload:A.tooltipPayload,activeCoordinate:A.tooltipPosition||{x:A.cx,y:A.cy}}})}),Pe(C,"handleItemMouseLeave",function(){C.setState(function(){return{isTooltipActive:!1}})}),Pe(C,"handleMouseMove",function(A){A.persist(),C.throttleTriggeredAfterMouseMove(A)}),Pe(C,"handleMouseLeave",function(A){C.throttleTriggeredAfterMouseMove.cancel();var $={isTooltipActive:!1};C.setState($),C.triggerSyncEvent($);var P=C.props.onMouseLeave;We(P)&&P($,A)}),Pe(C,"handleOuterEvent",function(A){var $=uM(A),P=ma(C.props,"".concat($));if($&&We(P)){var M,q;/.*touch.*/i.test($)?q=C.getMouseInfo(A.changedTouches[0]):q=C.getMouseInfo(A),P((M=q)!==null&&M!==void 0?M:{},A)}}),Pe(C,"handleClick",function(A){var $=C.getMouseInfo(A);if($){var P=ue(ue({},$),{},{isTooltipActive:!0});C.setState(P),C.triggerSyncEvent(P);var M=C.props.onClick;We(M)&&M(P,A)}}),Pe(C,"handleMouseDown",function(A){var $=C.props.onMouseDown;if(We($)){var P=C.getMouseInfo(A);$(P,A)}}),Pe(C,"handleMouseUp",function(A){var $=C.props.onMouseUp;if(We($)){var P=C.getMouseInfo(A);$(P,A)}}),Pe(C,"handleTouchMove",function(A){A.changedTouches!=null&&A.changedTouches.length>0&&C.throttleTriggeredAfterMouseMove(A.changedTouches[0])}),Pe(C,"handleTouchStart",function(A){A.changedTouches!=null&&A.changedTouches.length>0&&C.handleMouseDown(A.changedTouches[0])}),Pe(C,"handleTouchEnd",function(A){A.changedTouches!=null&&A.changedTouches.length>0&&C.handleMouseUp(A.changedTouches[0])}),Pe(C,"handleDoubleClick",function(A){var $=C.props.onDoubleClick;if(We($)){var P=C.getMouseInfo(A);$(P,A)}}),Pe(C,"handleContextMenu",function(A){var $=C.props.onContextMenu;if(We($)){var P=C.getMouseInfo(A);$(P,A)}}),Pe(C,"triggerSyncEvent",function(A){C.props.syncId!==void 0&&Cg.emit(Tg,C.props.syncId,A,C.eventEmitterSymbol)}),Pe(C,"applySyncEvent",function(A){var $=C.props,P=$.layout,M=$.syncMethod,q=C.state.updateId,_=A.dataStartIndex,z=A.dataEndIndex;if(A.dataStartIndex!==void 0||A.dataEndIndex!==void 0)C.setState(ue({dataStartIndex:_,dataEndIndex:z},j({props:C.props,dataStartIndex:_,dataEndIndex:z,updateId:q},C.state)));else if(A.activeTooltipIndex!==void 0){var U=A.chartX,K=A.chartY,R=A.activeTooltipIndex,L=C.state,F=L.offset,B=L.tooltipTicks;if(!F)return;if(typeof M=="function")R=M(B,A);else if(M==="value"){R=-1;for(var H=0;H<B.length;H++)if(B[H].value===A.activeLabel){R=H;break}}var G=ue(ue({},F),{},{x:F.left,y:F.top}),W=Math.min(U,G.x+G.width),te=Math.min(K,G.y+G.height),le=B[R]&&B[R].value,ge=l0(C.state,C.props.data,R),se=B[R]?{x:P==="horizontal"?B[R].coordinate:W,y:P==="horizontal"?te:B[R].coordinate}:a5;C.setState(ue(ue({},A),{},{activeLabel:le,activeCoordinate:se,activePayload:ge,activeTooltipIndex:R}))}else C.setState(A)}),Pe(C,"renderCursor",function(A){var $,P=C.state,M=P.isTooltipActive,q=P.activeCoordinate,_=P.activePayload,z=P.offset,U=P.activeTooltipIndex,K=P.tooltipAxisBandSize,R=C.getTooltipEventType(),L=($=A.props.active)!==null&&$!==void 0?$:M,F=C.props.layout,B=A.key||"_recharts-cursor";return ee.createElement(_7,{key:B,activeCoordinate:q,activePayload:_,activeTooltipIndex:U,chartName:a,element:A,isActive:L,layout:F,offset:z,tooltipAxisBandSize:K,tooltipEventType:R})}),Pe(C,"renderPolarAxis",function(A,$,P){var M=ma(A,"type.axisType"),q=ma(C.state,"".concat(M,"Map")),_=A.type.defaultProps,z=_!==void 0?ue(ue({},_),A.props):A.props,U=q&&q[z["".concat(M,"Id")]];return y.cloneElement(A,ue(ue({},U),{},{className:nt(M,U.className),key:A.key||"".concat($,"-").concat(P),ticks:Ls(U,!0)}))}),Pe(C,"renderPolarGrid",function(A){var $=A.props,P=$.radialLines,M=$.polarAngles,q=$.polarRadius,_=C.state,z=_.radiusAxisMap,U=_.angleAxisMap,K=Yi(z),R=Yi(U),L=R.cx,F=R.cy,B=R.innerRadius,H=R.outerRadius;return y.cloneElement(A,{polarAngles:Array.isArray(M)?M:Ls(R,!0).map(function(G){return G.coordinate}),polarRadius:Array.isArray(q)?q:Ls(K,!0).map(function(G){return G.coordinate}),cx:L,cy:F,innerRadius:B,outerRadius:H,key:A.key||"polar-grid",radialLines:P})}),Pe(C,"renderLegend",function(){var A=C.state.formattedGraphicalItems,$=C.props,P=$.children,M=$.width,q=$.height,_=C.props.margin||{},z=M-(_.left||0)-(_.right||0),U=r4({children:P,formattedGraphicalItems:A,legendWidth:z,legendContent:h});if(!U)return null;var K=U.item,R=y1(U,M7);return y.cloneElement(K,ue(ue({},R),{},{chartWidth:M,chartHeight:q,margin:_,onBBoxUpdate:C.handleLegendBBoxUpdate}))}),Pe(C,"renderTooltip",function(){var A,$=C.props,P=$.children,M=$.accessibilityLayer,q=Yr(P,Ma);if(!q)return null;var _=C.state,z=_.isTooltipActive,U=_.activeCoordinate,K=_.activePayload,R=_.activeLabel,L=_.offset,F=(A=q.props.active)!==null&&A!==void 0?A:z;return y.cloneElement(q,{viewBox:ue(ue({},L),{},{x:L.left,y:L.top}),active:F,label:R,payload:F?K:[],coordinate:U,accessibilityLayer:M})}),Pe(C,"renderBrush",function(A){var $=C.props,P=$.margin,M=$.data,q=C.state,_=q.offset,z=q.dataStartIndex,U=q.dataEndIndex,K=q.updateId;return y.cloneElement(A,{key:A.key||"_recharts-brush",onChange:Ou(C.handleBrushChange,A.props.onChange),data:M,x:Se(A.props.x)?A.props.x:_.left,y:Se(A.props.y)?A.props.y:_.top+_.height+_.brushBottom-(P.bottom||0),width:Se(A.props.width)?A.props.width:_.width,startIndex:z,endIndex:U,updateId:"brush-".concat(K)})}),Pe(C,"renderReferenceElement",function(A,$,P){if(!A)return null;var M=C,q=M.clipPathId,_=C.state,z=_.xAxisMap,U=_.yAxisMap,K=_.offset,R=A.type.defaultProps||{},L=A.props,F=L.xAxisId,B=F===void 0?R.xAxisId:F,H=L.yAxisId,G=H===void 0?R.yAxisId:H;return y.cloneElement(A,{key:A.key||"".concat($,"-").concat(P),xAxis:z[B],yAxis:U[G],viewBox:{x:K.left,y:K.top,width:K.width,height:K.height},clipPathId:q})}),Pe(C,"renderActivePoints",function(A){var $=A.item,P=A.activePoint,M=A.basePoint,q=A.childIndex,_=A.isRange,z=[],U=$.props.key,K=$.item.type.defaultProps!==void 0?ue(ue({},$.item.type.defaultProps),$.item.props):$.item.props,R=K.activeDot,L=K.dataKey,F=ue(ue({index:q,dataKey:L,cx:P.x,cy:P.y,r:4,fill:ny($.item),strokeWidth:2,stroke:"#fff",payload:P.payload,value:P.value},ct(R,!1)),tm(R));return z.push(T.renderActiveDot(R,F,"".concat(U,"-activePoint-").concat(q))),M?z.push(T.renderActiveDot(R,ue(ue({},F),{},{cx:M.x,cy:M.y}),"".concat(U,"-basePoint-").concat(q))):_&&z.push(null),z}),Pe(C,"renderGraphicChild",function(A,$,P){var M=C.filterFormatItem(A,$,P);if(!M)return null;var q=C.getTooltipEventType(),_=C.state,z=_.isTooltipActive,U=_.tooltipAxis,K=_.activeTooltipIndex,R=_.activeLabel,L=C.props.children,F=Yr(L,Ma),B=M.props,H=B.points,G=B.isRange,W=B.baseLine,te=M.item.type.defaultProps!==void 0?ue(ue({},M.item.type.defaultProps),M.item.props):M.item.props,le=te.activeDot,ge=te.hide,se=te.activeBar,ye=te.activeShape,Ne=!!(!ge&&z&&F&&(le||se||ye)),we={};q!=="axis"&&F&&F.props.trigger==="click"?we={onClick:Ou(C.handleItemMouseEnter,A.props.onClick)}:q!=="axis"&&(we={onMouseLeave:Ou(C.handleItemMouseLeave,A.props.onMouseLeave),onMouseEnter:Ou(C.handleItemMouseEnter,A.props.onMouseEnter)});var me=y.cloneElement(A,ue(ue({},M.props),we));function J(Ot){return typeof U.dataKey=="function"?U.dataKey(Ot.payload):null}if(Ne)if(K>=0){var re,Y;if(U.dataKey&&!U.allowDuplicatedCategory){var he=typeof U.dataKey=="function"?J:"payload.".concat(U.dataKey.toString());re=sp(H,he,R),Y=G&&W&&sp(W,he,R)}else re=H?.[K],Y=G&&W&&W[K];if(ye||se){var ce=A.props.activeIndex!==void 0?A.props.activeIndex:K;return[y.cloneElement(A,ue(ue(ue({},M.props),we),{},{activeIndex:ce})),null,null]}if(!st(re))return[me].concat(Oo(C.renderActivePoints({item:M,activePoint:re,basePoint:Y,childIndex:K,isRange:G})))}else{var pe,ke=(pe=C.getItemByXY(C.state.activeCoordinate))!==null&&pe!==void 0?pe:{graphicalItem:me},_e=ke.graphicalItem,Le=_e.item,Ue=Le===void 0?A:Le,Ge=_e.childIndex,rt=ue(ue(ue({},M.props),we),{},{activeIndex:Ge});return[y.cloneElement(Ue,rt),null,null]}return G?[me,null,null]:[me,null]}),Pe(C,"renderCustomized",function(A,$,P){return y.cloneElement(A,ue(ue({key:"recharts-customized-".concat(P)},C.props),C.state))}),Pe(C,"renderMap",{CartesianGrid:{handler:_u,once:!0},ReferenceArea:{handler:C.renderReferenceElement},ReferenceLine:{handler:_u},ReferenceDot:{handler:C.renderReferenceElement},XAxis:{handler:_u},YAxis:{handler:_u},Brush:{handler:C.renderBrush,once:!0},Bar:{handler:C.renderGraphicChild},Line:{handler:C.renderGraphicChild},Area:{handler:C.renderGraphicChild},Radar:{handler:C.renderGraphicChild},RadialBar:{handler:C.renderGraphicChild},Scatter:{handler:C.renderGraphicChild},Pie:{handler:C.renderGraphicChild},Funnel:{handler:C.renderGraphicChild},Tooltip:{handler:C.renderCursor,once:!0},PolarGrid:{handler:C.renderPolarGrid,once:!0},PolarAngleAxis:{handler:C.renderPolarAxis},PolarRadiusAxis:{handler:C.renderPolarAxis},Customized:{handler:C.renderCustomized}}),C.clipPathId="".concat((O=E.id)!==null&&O!==void 0?O:rf("recharts"),"-clip"),C.throttleTriggeredAfterMouseMove=qC(C.triggeredAfterMouseMove,(S=E.throttleDelay)!==null&&S!==void 0?S:1e3/60),C.state={},C}return V7(T,v),F7(T,[{key:"componentDidMount",value:function(){var O,S;this.addListener(),this.accessibilityManager.setDetails({container:this.container,offset:{left:(O=this.props.margin.left)!==null&&O!==void 0?O:0,top:(S=this.props.margin.top)!==null&&S!==void 0?S:0},coordinateList:this.state.tooltipTicks,mouseHandlerCallback:this.triggeredAfterMouseMove,layout:this.props.layout}),this.displayDefaultTooltip()}},{key:"displayDefaultTooltip",value:function(){var O=this.props,S=O.children,C=O.data,A=O.height,$=O.layout,P=Yr(S,Ma);if(P){var M=P.props.defaultIndex;if(!(typeof M!="number"||M<0||M>this.state.tooltipTicks.length-1)){var q=this.state.tooltipTicks[M]&&this.state.tooltipTicks[M].value,_=l0(this.state,C,M,q),z=this.state.tooltipTicks[M].coordinate,U=(this.state.offset.top+A)/2,K=$==="horizontal",R=K?{x:z,y:U}:{y:z,x:U},L=this.state.formattedGraphicalItems.find(function(B){var H=B.item;return H.type.name==="Scatter"});L&&(R=ue(ue({},R),L.props.points[M].tooltipPosition),_=L.props.points[M].tooltipPayload);var F={activeTooltipIndex:M,isTooltipActive:!0,activeLabel:q,activePayload:_,activeCoordinate:R};this.setState(F),this.renderCursor(P),this.accessibilityManager.setIndex(M)}}}},{key:"getSnapshotBeforeUpdate",value:function(O,S){if(!this.props.accessibilityLayer)return null;if(this.state.tooltipTicks!==S.tooltipTicks&&this.accessibilityManager.setDetails({coordinateList:this.state.tooltipTicks}),this.props.layout!==O.layout&&this.accessibilityManager.setDetails({layout:this.props.layout}),this.props.margin!==O.margin){var C,A;this.accessibilityManager.setDetails({offset:{left:(C=this.props.margin.left)!==null&&C!==void 0?C:0,top:(A=this.props.margin.top)!==null&&A!==void 0?A:0}})}return null}},{key:"componentDidUpdate",value:function(O){op([Yr(O.children,Ma)],[Yr(this.props.children,Ma)])||this.displayDefaultTooltip()}},{key:"componentWillUnmount",value:function(){this.removeListener(),this.throttleTriggeredAfterMouseMove.cancel()}},{key:"getTooltipEventType",value:function(){var O=Yr(this.props.children,Ma);if(O&&typeof O.props.shared=="boolean"){var S=O.props.shared?"axis":"item";return u.indexOf(S)>=0?S:l}return l}},{key:"getMouseInfo",value:function(O){if(!this.container)return null;var S=this.container,C=S.getBoundingClientRect(),A=oL(C),$={chartX:Math.round(O.pageX-A.left),chartY:Math.round(O.pageY-A.top)},P=C.width/S.offsetWidth||1,M=this.inRange($.chartX,$.chartY,P);if(!M)return null;var q=this.state,_=q.xAxisMap,z=q.yAxisMap,U=this.getTooltipEventType(),K=v1(this.state,this.props.data,this.props.layout,M);if(U!=="axis"&&_&&z){var R=Yi(_).scale,L=Yi(z).scale,F=R&&R.invert?R.invert($.chartX):null,B=L&&L.invert?L.invert($.chartY):null;return ue(ue({},$),{},{xValue:F,yValue:B},K)}return K?ue(ue({},$),K):null}},{key:"inRange",value:function(O,S){var C=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,A=this.props.layout,$=O/C,P=S/C;if(A==="horizontal"||A==="vertical"){var M=this.state.offset,q=$>=M.left&&$<=M.left+M.width&&P>=M.top&&P<=M.top+M.height;return q?{x:$,y:P}:null}var _=this.state,z=_.angleAxisMap,U=_.radiusAxisMap;if(z&&U){var K=Yi(z);return sN({x:$,y:P},K)}return null}},{key:"parseEventsOfWrapper",value:function(){var O=this.props.children,S=this.getTooltipEventType(),C=Yr(O,Ma),A={};C&&S==="axis"&&(C.props.trigger==="click"?A={onClick:this.handleClick}:A={onMouseEnter:this.handleMouseEnter,onDoubleClick:this.handleDoubleClick,onMouseMove:this.handleMouseMove,onMouseLeave:this.handleMouseLeave,onTouchMove:this.handleTouchMove,onTouchStart:this.handleTouchStart,onTouchEnd:this.handleTouchEnd,onContextMenu:this.handleContextMenu});var $=tm(this.props,this.handleOuterEvent);return ue(ue({},$),A)}},{key:"addListener",value:function(){Cg.on(Tg,this.handleReceiveSyncEvent)}},{key:"removeListener",value:function(){Cg.removeListener(Tg,this.handleReceiveSyncEvent)}},{key:"filterFormatItem",value:function(O,S,C){for(var A=this.state.formattedGraphicalItems,$=0,P=A.length;$<P;$++){var M=A[$];if(M.item===O||M.props.key===O.key||S===yn(M.item.type)&&C===M.childIndex)return M}return null}},{key:"renderClipPath",value:function(){var O=this.clipPathId,S=this.state.offset,C=S.left,A=S.top,$=S.height,P=S.width;return ee.createElement("defs",null,ee.createElement("clipPath",{id:O},ee.createElement("rect",{x:C,y:A,height:$,width:P})))}},{key:"getXScales",value:function(){var O=this.state.xAxisMap;return O?Object.entries(O).reduce(function(S,C){var A=p1(C,2),$=A[0],P=A[1];return ue(ue({},S),{},Pe({},$,P.scale))},{}):null}},{key:"getYScales",value:function(){var O=this.state.yAxisMap;return O?Object.entries(O).reduce(function(S,C){var A=p1(C,2),$=A[0],P=A[1];return ue(ue({},S),{},Pe({},$,P.scale))},{}):null}},{key:"getXScaleByAxisId",value:function(O){var S;return(S=this.state.xAxisMap)===null||S===void 0||(S=S[O])===null||S===void 0?void 0:S.scale}},{key:"getYScaleByAxisId",value:function(O){var S;return(S=this.state.yAxisMap)===null||S===void 0||(S=S[O])===null||S===void 0?void 0:S.scale}},{key:"getItemByXY",value:function(O){var S=this.state,C=S.formattedGraphicalItems,A=S.activeItem;if(C&&C.length)for(var $=0,P=C.length;$<P;$++){var M=C[$],q=M.props,_=M.item,z=_.type.defaultProps!==void 0?ue(ue({},_.type.defaultProps),_.props):_.props,U=yn(_.type);if(U==="Bar"){var K=(q.data||[]).find(function(B){return i8(O,B)});if(K)return{graphicalItem:M,payload:K}}else if(U==="RadialBar"){var R=(q.data||[]).find(function(B){return sN(O,B)});if(R)return{graphicalItem:M,payload:R}}else if(uf(M,A)||mf(M,A)||_c(M,A)){var L=Y8({graphicalItem:M,activeTooltipItem:A,itemData:z.data}),F=z.activeIndex===void 0?L:z.activeIndex;return{graphicalItem:ue(ue({},M),{},{childIndex:F}),payload:_c(M,A)?z.data[L]:M.props.data[L]}}}return null}},{key:"render",value:function(){var O=this;if(!rk(this))return null;var S=this.props,C=S.children,A=S.className,$=S.width,P=S.height,M=S.style,q=S.compact,_=S.title,z=S.desc,U=y1(S,L7),K=ct(U,!1);if(q)return ee.createElement(a1,{state:this.state,width:this.props.width,height:this.props.height,clipPathId:this.clipPathId},ee.createElement(cp,Ji({},K,{width:$,height:P,title:_,desc:z}),this.renderClipPath(),nk(C,this.renderMap)));if(this.props.accessibilityLayer){var R,L;K.tabIndex=(R=this.props.tabIndex)!==null&&R!==void 0?R:0,K.role=(L=this.props.role)!==null&&L!==void 0?L:"application",K.onKeyDown=function(B){O.accessibilityManager.keyboardEvent(B)},K.onFocus=function(){O.accessibilityManager.focus()}}var F=this.parseEventsOfWrapper();return ee.createElement(a1,{state:this.state,width:this.props.width,height:this.props.height,clipPathId:this.clipPathId},ee.createElement("div",Ji({className:nt("recharts-wrapper",A),style:ue({position:"relative",cursor:"default",width:$,height:P},M)},F,{ref:function(H){O.container=H}}),ee.createElement(cp,Ji({},K,{width:$,height:P,title:_,desc:z,style:Z7}),this.renderClipPath(),nk(C,this.renderMap)),this.renderLegend(),this.renderTooltip()))}}])})(y.Component);Pe(k,"displayName",a),Pe(k,"defaultProps",ue({layout:"horizontal",stackOffset:"none",barCategoryGap:"10%",barGap:4,margin:{top:5,right:5,bottom:5,left:5},reverseStackOrder:!1,syncMethod:"index"},g)),Pe(k,"getDerivedStateFromProps",function(v,T){var E=v.dataKey,O=v.data,S=v.children,C=v.width,A=v.height,$=v.layout,P=v.stackOffset,M=v.margin,q=T.dataStartIndex,_=T.dataEndIndex;if(T.updateId===void 0){var z=j1(v);return ue(ue(ue({},z),{},{updateId:0},j(ue(ue({props:v},z),{},{updateId:0}),T)),{},{prevDataKey:E,prevData:O,prevWidth:C,prevHeight:A,prevLayout:$,prevStackOffset:P,prevMargin:M,prevChildren:S})}if(E!==T.prevDataKey||O!==T.prevData||C!==T.prevWidth||A!==T.prevHeight||$!==T.prevLayout||P!==T.prevStackOffset||!ro(M,T.prevMargin)){var U=j1(v),K={chartX:T.chartX,chartY:T.chartY,isTooltipActive:T.isTooltipActive},R=ue(ue({},v1(T,O,$)),{},{updateId:T.updateId+1}),L=ue(ue(ue({},U),K),R);return ue(ue(ue({},L),j(ue({props:v},L),T)),{},{prevDataKey:E,prevData:O,prevWidth:C,prevHeight:A,prevLayout:$,prevStackOffset:P,prevMargin:M,prevChildren:S})}if(!op(S,T.prevChildren)){var F,B,H,G,W=Yr(S,vo),te=W&&(F=(B=W.props)===null||B===void 0?void 0:B.startIndex)!==null&&F!==void 0?F:q,le=W&&(H=(G=W.props)===null||G===void 0?void 0:G.endIndex)!==null&&H!==void 0?H:_,ge=te!==q||le!==_,se=!st(O),ye=se&&!ge?T.updateId:T.updateId+1;return ue(ue({updateId:ye},j(ue(ue({props:v},T),{},{updateId:ye,dataStartIndex:te,dataEndIndex:le}),T)),{},{prevChildren:S,dataStartIndex:te,dataEndIndex:le})}return null}),Pe(k,"renderActiveDot",function(v,T,E){var O;return y.isValidElement(v)?O=y.cloneElement(v,T):We(v)?O=v(T):O=ee.createElement(p4,T),ee.createElement(lr,{className:"recharts-active-dot",key:E},O)});var N=y.forwardRef(function(T,E){return ee.createElement(k,Ji({},T,{ref:E}))});return N.displayName=k.displayName,N},c9=l9({chartName:"BarChart",GraphicalChild:Zs,defaultTooltipEventType:"axis",validateTooltipEventTypes:["axis","item"],axisComponents:[{axisType:"xAxis",AxisComp:bf},{axisType:"yAxis",AxisComp:vf}],formatAxisMap:zB});class d9{constructor(t){ft(this,"socket",null);ft(this,"url");ft(this,"channels",new Set);ft(this,"eventListeners",new Set);ft(this,"stateListeners",new Set);ft(this,"state","disconnected");ft(this,"reconnectDelay");ft(this,"maxReconnectDelay");ft(this,"currentReconnectDelay");ft(this,"reconnectTimer",null);ft(this,"pingInterval");ft(this,"pingTimer",null);ft(this,"debug");if(this.url=t.url,this.reconnectDelay=t.reconnectDelay??1e3,this.maxReconnectDelay=t.maxReconnectDelay??3e4,this.currentReconnectDelay=this.reconnectDelay,this.pingInterval=t.pingInterval??3e4,this.debug=t.debug??!1,t.channels)for(const a of t.channels)this.channels.add(a)}log(...t){this.debug&&console.log("[ws]",...t)}get connectionState(){return this.state}get isConnected(){return this.state==="connected"}get subscribedChannels(){return[...this.channels]}connect(){if(!(this.socket&&(this.socket.readyState===WebSocket.OPEN||this.socket.readyState===WebSocket.CONNECTING))){this.setState("connecting");try{this.socket=new WebSocket(this.url),this.socket.onopen=()=>{this.log("Connected to server"),this.setState("connected"),this.currentReconnectDelay=this.reconnectDelay,this.channels.size>0&&this.sendSubscribe([...this.channels]),this.startPingTimer()},this.socket.onmessage=t=>{this.handleMessage(t.data)},this.socket.onclose=t=>{this.log(`Connection closed: ${t.code} ${t.reason}`),this.handleDisconnect()},this.socket.onerror=t=>{console.error("[ws] Connection error:",t)}}catch(t){console.error("[ws] Failed to create WebSocket:",t),this.handleDisconnect()}}}disconnect(){this.stopPingTimer(),this.cancelReconnect(),this.socket&&(this.socket.close(1e3,"Client disconnect"),this.socket=null),this.setState("disconnected")}subscribe(t){const a=Array.isArray(t)?t:[t];for(const n of a)this.channels.add(n);this.isConnected&&this.sendSubscribe(a)}unsubscribe(t){const a=Array.isArray(t)?t:[t];for(const n of a)this.channels.delete(n);this.isConnected&&this.send({type:"unsubscribe",channels:a})}addEventListener(t){return this.eventListeners.add(t),()=>this.eventListeners.delete(t)}addStateListener(t){return this.stateListeners.add(t),t(this.state),()=>this.stateListeners.delete(t)}sendMessage(t){return this.send(t)}send(t){return this.socket&&this.socket.readyState===WebSocket.OPEN?(this.socket.send(JSON.stringify(t)),!0):!1}sendSubscribe(t){this.send({type:"subscribe",channels:t})}handleMessage(t){try{const a=JSON.parse(t);switch(a.type){case"event":this.dispatchEvent(a.event);break;case"pong":break;case"subscribed":this.log("Subscribed to:",a.channels.join(", "));break;case"unsubscribed":this.log("Unsubscribed from:",a.channels.join(", "));break;case"error":console.error("[ws] Server error:",a.code,a.message);break}}catch(a){console.error("[ws] Failed to parse message:",a)}}dispatchEvent(t){for(const a of this.eventListeners)try{a(t)}catch(n){console.error("[ws] Error in event listener:",n)}}setState(t){if(this.state!==t){this.state=t;for(const a of this.stateListeners)try{a(t)}catch(n){console.error("[ws] Error in state listener:",n)}}}handleDisconnect(){this.stopPingTimer(),this.socket=null,this.setState("reconnecting"),this.scheduleReconnect()}scheduleReconnect(){this.reconnectTimer||(this.log(`Reconnecting in ${this.currentReconnectDelay}ms...`),this.reconnectTimer=setTimeout(()=>{this.reconnectTimer=null,this.connect(),this.currentReconnectDelay=Math.min(this.currentReconnectDelay*2,this.maxReconnectDelay)},this.currentReconnectDelay))}cancelReconnect(){this.reconnectTimer&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=null)}startPingTimer(){this.stopPingTimer(),this.pingTimer=setInterval(()=>{this.send({type:"ping"})},this.pingInterval)}stopPingTimer(){this.pingTimer&&(clearInterval(this.pingTimer),this.pingTimer=null)}}function u9(e){const{url:t,channels:a,onEvent:n,onStateChange:o,autoConnect:l=!0,...d}=e,[u,m]=y.useState("disconnected"),[h,x]=y.useState(null),g=y.useRef(null);y.useEffect(()=>{const E=new d9({url:t,channels:a,...d});g.current=E;const O=E.addStateListener(C=>{m(C),o?.(C)}),S=E.addEventListener(C=>{x(C),n?.(C)});return l&&E.connect(),()=>{O(),S(),E.disconnect(),g.current=null}},[t]),y.useEffect(()=>{const E=g.current;return E?E.addEventListener(S=>{x(S),n?.(S)}):void 0},[n]),y.useEffect(()=>{const E=g.current;return E?E.addStateListener(S=>{m(S),o?.(S)}):void 0},[o]);const p=y.useCallback(()=>{g.current?.connect()},[]),j=y.useCallback(()=>{g.current?.disconnect()},[]),k=y.useCallback(E=>{g.current?.subscribe(E)},[]),N=y.useCallback(E=>{g.current?.unsubscribe(E)},[]),v=y.useCallback(E=>g.current?.sendMessage(E)??!1,[]),T=g.current?.subscribedChannels??[];return{connectionState:u,isConnected:u==="connected",lastEvent:h,connect:p,disconnect:j,subscribe:k,unsubscribe:N,sendMessage:v,subscribedChannels:T}}function s5(e){const t=[],{elementType:a,elementId:n,newValue:o}=e;switch(a){case"task":t.push(["tasks"]),t.push(["tasks",n]),t.push(["tasks","ready"]),t.push(["tasks","blocked"]),t.push(["tasks","completed"]),t.push(["stats"]);break;case"plan":t.push(["plans"]),t.push(["plans",n]),t.push(["stats"]);break;case"workflow":t.push(["workflows"]),t.push(["workflows",n]),t.push(["stats"]);break;case"entity":t.push(["entities"]),t.push(["entities",n]),t.push(["agents"]),t.push(["stats"]);break;case"document":t.push(["documents"]),t.push(["documents",n]),t.push(["stats"]);break;case"channel":t.push(["channels"]),t.push(["channels",n]),t.push(["stats"]);break;case"message":t.push(["messages"]),t.push(["messages",n]),o?.channelId&&t.push(["channels",String(o.channelId),"messages"]),o?.channel&&t.push(["channels",String(o.channel),"messages"]),o?.threadId&&t.push(["messages",String(o.threadId),"replies"]);break;case"team":t.push(["teams"]),t.push(["teams",n]),t.push(["stats"]);break;case"inbox-item":if(o?.recipientId){const l=String(o.recipientId);t.push(["inbox",l,"unread"]),t.push(["inbox",l,"all"]),t.push(["inbox",l,"archived"]),t.push(["inbox",l,"count"]),t.push(["inbox",l]),t.push(["entities",l,"inbox"]),t.push(["entities",l,"inbox","count"]),t.push(["agent-inbox",l,"unread"]),t.push(["agent-inbox",l,"all"]),t.push(["agent-inbox",l,"archived"]),t.push(["agent-inbox",l]),t.push(["agent-inbox-count",l])}t.push(["inbox"]);break;case"session":t.push(["sessions"]),t.push(["sessions",n]),o?.agentId&&t.push(["agents",String(o.agentId),"sessions"]);break;case"worktree":t.push(["worktrees"]),t.push(["worktrees",n]);break;default:t.push(["stats"])}return t}function m9(e){const{queryClient:t,getQueryKeysForEvent:a=s5,onEvent:n,onStateChange:o,autoInvalidate:l=!0,...d}=e,[u,m]=y.useState(null),h=y.useCallback(p=>{if(m(p),l&&t){const j=a(p);for(const k of j)t.invalidateQueries({queryKey:k})}n?.(p)},[l,t,a,n]),{connectionState:x,isConnected:g}=u9({...d,onEvent:h,onStateChange:o});return{connectionState:x,isConnected:g,lastEvent:u}}const dy="settings.customShortcuts",f9="stoneforge:shortcuts-changed";function k1(e){if(e.includes("+")){const a=e.toLowerCase().split("+");return{type:"modifier",key:a[a.length-1],meta:a.includes("cmd")||a.includes("meta"),ctrl:a.includes("ctrl"),alt:a.includes("alt"),shift:a.includes("shift")}}return{type:"sequential",sequence:e.toLowerCase().split(" ").filter(Boolean)}}let h9=class{constructor(){ft(this,"shortcuts",new Map);ft(this,"sequentialShortcuts",new Map);ft(this,"modifierShortcuts",new Map);ft(this,"pendingKeys",[]);ft(this,"sequenceTimeout",null);ft(this,"SEQUENCE_TIMEOUT",1e3);ft(this,"enabled",!0);ft(this,"started",!1);this.handleKeyDown=this.handleKeyDown.bind(this)}register(t,a,n){const o={keys:t,handler:a,description:n};this.shortcuts.set(t,o);const l=k1(t);if(l.type==="modifier"){const d=this.buildModifierKey(l);this.modifierShortcuts.set(d,o)}else if(l.sequence){const d=l.sequence.join(" ");this.sequentialShortcuts.set(d,o)}}unregister(t){if(!this.shortcuts.get(t))return;this.shortcuts.delete(t);const n=k1(t);if(n.type==="modifier"){const o=this.buildModifierKey(n);this.modifierShortcuts.delete(o)}else if(n.sequence){const o=n.sequence.join(" ");this.sequentialShortcuts.delete(o)}}buildModifierKey(t){const a=[];return t.meta&&a.push("meta"),t.ctrl&&a.push("ctrl"),t.alt&&a.push("alt"),t.shift&&a.push("shift"),a.push(t.key||""),a.join("+")}setEnabled(t){this.enabled=t,t||this.resetSequence()}isEnabled(){return this.enabled}isStarted(){return this.started}resetSequence(){this.pendingKeys=[],this.sequenceTimeout&&(clearTimeout(this.sequenceTimeout),this.sequenceTimeout=null)}handleKeyDown(t){if(!this.enabled)return;const a=t.target,n=a.tagName==="INPUT"||a.tagName==="TEXTAREA"||a.isContentEditable;if(t.metaKey||t.ctrlKey){const m=this.buildModifierKey({type:"modifier",key:t.key.toLowerCase(),meta:t.metaKey,ctrl:t.ctrlKey,alt:t.altKey,shift:t.shiftKey}),h=this.modifierShortcuts.get(m);if(h){t.preventDefault(),h.handler();return}}if(n){this.resetSequence();return}const o=t.key.toLowerCase();if(["meta","control","alt","shift"].includes(o))return;this.sequenceTimeout&&clearTimeout(this.sequenceTimeout),this.pendingKeys.push(o);const l=this.pendingKeys.join(" "),d=this.sequentialShortcuts.get(l);if(d){t.preventDefault(),this.resetSequence(),d.handler();return}Array.from(this.sequentialShortcuts.keys()).some(m=>m.startsWith(l+" "))?(t.preventDefault(),this.sequenceTimeout=setTimeout(()=>{this.resetSequence()},this.SEQUENCE_TIMEOUT)):this.resetSequence()}start(){this.started||(document.addEventListener("keydown",this.handleKeyDown),this.started=!0)}stop(){document.removeEventListener("keydown",this.handleKeyDown),this.resetSequence(),this.started=!1}getShortcuts(){return Array.from(this.shortcuts.values())}clear(){this.shortcuts.clear(),this.sequentialShortcuts.clear(),this.modifierShortcuts.clear(),this.resetSequence()}},Og=null;function x9(){return Og||(Og=new h9),Og}function zc(){if(typeof window>"u")return{};try{const e=localStorage.getItem(dy);return e?JSON.parse(e):{}}catch{return{}}}function g9(e){typeof window>"u"||(localStorage.setItem(dy,JSON.stringify(e)),i5())}function p9(e,t){const a=zc();return a[e]?a[e]:t[e]?.keys||""}function y9(e,t,a){const n=zc(),o=e.toLowerCase().trim();for(const[l,d]of Object.entries(t)){if(l===a)continue;if((n[l]||d.keys).toLowerCase().trim()===o)return l}return null}function b9(e,t,a){const n=zc();t===a[e]?.keys?delete n[e]:n[e]=t,g9(n)}function v9(){typeof window>"u"||(localStorage.removeItem(dy),i5())}function i5(){typeof window<"u"&&window.dispatchEvent(new CustomEvent(f9))}function j9(e){y.useEffect(()=>{const t=x9();return e?t.setEnabled(!1):t.setEnabled(!0),()=>{t.setEnabled(!0)}},[e])}const qc={draft:{label:"Draft",icon:ee.createElement(P0,{className:"w-4 h-4"}),color:"text-gray-600",bgColor:"bg-gray-100"},active:{label:"Active",icon:ee.createElement(L0,{className:"w-4 h-4"}),color:"text-blue-700",bgColor:"bg-blue-100"},completed:{label:"Completed",icon:ee.createElement(Sa,{className:"w-4 h-4"}),color:"text-green-700",bgColor:"bg-green-100"},cancelled:{label:"Cancelled",icon:ee.createElement(Xr,{className:"w-4 h-4"}),color:"text-red-700",bgColor:"bg-red-100"}},Ag={draft:"#9ca3af",active:"#3b82f6",completed:"#22c55e",cancelled:"#ef4444"},o5={1:"bg-gray-200",2:"bg-blue-200",3:"bg-yellow-200",4:"bg-orange-200",5:"bg-red-200"},c0="plans.search",l5="plans.viewMode",w9=300;function k9(){return typeof window>"u"?"":localStorage.getItem(c0)||""}function N9(e){typeof window>"u"||(e?localStorage.setItem(c0,e):localStorage.removeItem(c0))}function S9(){return typeof window>"u"?"list":localStorage.getItem(l5)==="roadmap"?"roadmap":"list"}function C9(e){typeof window>"u"||localStorage.setItem(l5,e)}function T9(e,t){if(!t)return{matched:!0,indices:[]};const a=e.toLowerCase(),n=t.toLowerCase(),o=[];let l=0;for(let d=0;d<a.length&&l<n.length;d++)a[d]===n[l]&&(o.push(d),l++);return l===n.length?{matched:!0,indices:o}:null}function E9(e,t){if(t.length===0)return ee.createElement(ee.Fragment,null,e);const a=[],n=new Set(t);let o=0;for(let l=0;l<e.length;l++)n.has(l)&&(l>o&&a.push(ee.createElement("span",{key:`text-${o}`},e.slice(o,l))),a.push(ee.createElement("mark",{key:`match-${l}`,className:"bg-yellow-200 dark:bg-yellow-700/50 text-gray-900 dark:text-yellow-100 rounded-sm px-0.5"},e[l])),o=l+1);return o<e.length&&a.push(ee.createElement("span",{key:`text-${o}`},e.slice(o))),ee.createElement(ee.Fragment,null,...a)}function eo(e){return new Date(e).toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric"})}function d0(e){const t=new Date(e),n=new Date().getTime()-t.getTime(),o=Math.floor(n/6e4),l=Math.floor(n/36e5),d=Math.floor(n/864e5);return o<1?"just now":o<60?`${o}m ago`:l<24?`${l}h ago`:d<7?`${d}d ago`:eo(e)}function O9(e){return be({queryKey:["plans",e],queryFn:async()=>{if(!e)throw new Error("No plan selected");const t=await fetch(`/api/plans/${e}?hydrate.progress=true`);if(!t.ok){const a=await t.json();throw new Error(a.error?.message||"Failed to fetch plan")}return t.json()},enabled:!!e})}function A9(e){return be({queryKey:["plans",e,"tasks"],queryFn:async()=>{if(!e)throw new Error("No plan selected");const t=await fetch(`/api/plans/${e}/tasks`);if(!t.ok){const a=await t.json();throw new Error(a.error?.message||"Failed to fetch plan tasks")}return t.json()},enabled:!!e})}function $9(e){return be({queryKey:["plans",e,"progress"],queryFn:async()=>{if(!e)throw new Error("No plan selected");const t=await fetch(`/api/plans/${e}/progress`);if(!t.ok){const a=await t.json();throw new Error(a.error?.message||"Failed to fetch plan progress")}return t.json()},enabled:!!e})}function D9(){const e=$e();return Re({mutationFn:async({planId:t,updates:a})=>{const n=await fetch(`/api/plans/${t}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)});if(!n.ok){const o=await n.json();throw new Error(o.error?.message||"Failed to update plan")}return n.json()},onSuccess:(t,a)=>{e.invalidateQueries({queryKey:["plans"]}),e.invalidateQueries({queryKey:["plans",a.planId]})}})}function _9(){const e=$e();return Re({mutationFn:async({planId:t,taskId:a})=>{const n=await fetch(`/api/plans/${t}/tasks`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({taskId:a})});if(!n.ok){const o=await n.json();throw new Error(o.error?.message||"Failed to add task to plan")}return n.json()},onSuccess:(t,a)=>{e.invalidateQueries({queryKey:["plans",a.planId,"tasks"]}),e.invalidateQueries({queryKey:["plans",a.planId,"progress"]}),e.invalidateQueries({queryKey:["plans",a.planId]})}})}function M9(){const e=$e();return Re({mutationFn:async({planId:t,taskId:a})=>{const n=await fetch(`/api/plans/${t}/tasks/${a}`,{method:"DELETE"});if(!n.ok){const o=await n.json();throw new Error(o.error?.message||"Failed to remove task from plan")}return n.json()},onSuccess:(t,a)=>{e.invalidateQueries({queryKey:["plans",a.planId,"tasks"]}),e.invalidateQueries({queryKey:["plans",a.planId,"progress"]}),e.invalidateQueries({queryKey:["plans",a.planId]})}})}function L9(e,t){return be({queryKey:["tasks","available",e,t],queryFn:async()=>{if(!e)return[];const a=await fetch("/api/tasks?limit=500");if(!a.ok)throw new Error("Failed to fetch tasks");const n=await a.json(),o=n.tasks||n.items||(Array.isArray(n)?n:[]),l=await fetch(`/api/plans/${e}/tasks`);if(!l.ok)throw new Error("Failed to fetch plan tasks");const d=await l.json(),u=new Set(d.map(h=>h.id));let m=o.filter(h=>!u.has(h.id));if(t){const h=t.toLowerCase();m=m.filter(x=>x.title.toLowerCase().includes(h)||x.id.toLowerCase().includes(h))}return m.slice(0,50)},enabled:!!e})}function P9(){const e=$e();return Re({mutationFn:async t=>{const a=await fetch(`/api/plans/${t}`,{method:"DELETE"});if(!a.ok){const n=await a.json();throw new Error(n.error?.message||"Failed to delete plan")}return a.json()},onSuccess:()=>{e.invalidateQueries({queryKey:["plans"]})}})}function R9(){const e=$e();return Re({mutationFn:async({title:t,createdBy:a,initialTask:n,initialTaskId:o,additionalTasks:l,status:d,tags:u})=>{const m=await fetch("/api/plans",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:t,createdBy:a,initialTask:n,initialTaskId:o,status:d,tags:u})});if(!m.ok){const x=await m.json();throw new Error(x.error?.message||"Failed to create plan")}const h=await m.json();if(l&&l.length>0)try{const x=l.map(async g=>{if("existingTaskId"in g){const p=await fetch(`/api/plans/${h.id}/tasks`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({taskId:g.existingTaskId})});if(!p.ok){const j=await p.json().catch(()=>({}));throw console.error("Failed to add existing task to plan:",j),new Error(j.error?.message||"Failed to add task to plan")}}else{const p=await fetch("/api/tasks",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:g.title,priority:g.priority||3,createdBy:a})});if(!p.ok){const v=await p.json().catch(()=>({}));throw console.error("Failed to create task:",v),new Error(v.error?.message||"Failed to create task")}const j=await p.json(),k=j.task||j,N=await fetch(`/api/plans/${h.id}/tasks`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({taskId:k.id})});if(!N.ok){const v=await N.json().catch(()=>({}));throw console.error("Failed to add new task to plan:",v),new Error(v.error?.message||"Failed to add task to plan")}}});await Promise.all(x)}catch(x){console.error("Rolling back plan creation due to task error:",x);try{await fetch(`/api/plans/${h.id}`,{method:"DELETE"})}catch(g){console.error("Failed to rollback plan:",g)}throw x}return h},onSuccess:()=>{e.invalidateQueries({queryKey:["plans"]}),e.invalidateQueries({queryKey:["tasks"]})}})}function c5({status:e}){const t=qc[e]||qc.draft;return r.jsxs("span",{"data-testid":`status-badge-${e}`,className:`inline-flex items-center gap-1 px-2 py-0.5 rounded text-xs font-medium ${t.bgColor} ${t.color}`,children:[t.icon,t.label]})}const I9=[{value:null,label:"All"},{value:"active",label:"Active"},{value:"draft",label:"Draft"},{value:"completed",label:"Completed"},{value:"cancelled",label:"Cancelled"}];function B9({selectedStatus:e,onStatusChange:t}){return r.jsx("div",{"data-testid":"status-filter",className:"flex gap-1 p-1 bg-gray-100 rounded-lg",children:I9.map(a=>r.jsx("button",{"data-testid":`status-filter-${a.value??"all"}`,onClick:()=>t(a.value),className:`px-3 py-1.5 text-sm font-medium rounded-md transition-colors ${e===a.value?"bg-white text-gray-900 shadow-sm":"text-gray-600 hover:text-gray-900"}`,children:a.label},a.value??"all"))})}function z9({view:e,onViewChange:t}){return r.jsxs("div",{"data-testid":"view-toggle",className:"flex p-0.5 bg-gray-100 rounded-lg",children:[r.jsxs("button",{"data-testid":"view-toggle-list",onClick:()=>t("list"),className:`flex items-center gap-1.5 px-2.5 py-1.5 text-sm font-medium rounded-md transition-colors ${e==="list"?"bg-white text-gray-900 shadow-sm":"text-gray-600 hover:text-gray-900"}`,"aria-label":"List view",children:[r.jsx(za,{className:"w-4 h-4"}),"List"]}),r.jsxs("button",{"data-testid":"view-toggle-roadmap",onClick:()=>t("roadmap"),className:`flex items-center gap-1.5 px-2.5 py-1.5 text-sm font-medium rounded-md transition-colors ${e==="roadmap"?"bg-white text-gray-900 shadow-sm":"text-gray-600 hover:text-gray-900"}`,"aria-label":"Roadmap view",children:[r.jsx(f2,{className:"w-4 h-4"}),"Roadmap"]})]})}function q9({value:e,onChange:t,onClear:a}){const n=y.useRef(null);return y.useEffect(()=>{const o=l=>{l.key==="Escape"&&document.activeElement===n.current&&(l.preventDefault(),a(),n.current?.blur()),l.key==="/"&&!(l.target instanceof HTMLInputElement||l.target instanceof HTMLTextAreaElement)&&(l.preventDefault(),n.current?.focus())};return document.addEventListener("keydown",o),()=>document.removeEventListener("keydown",o)},[a]),r.jsxs("div",{className:"relative flex-1 max-w-md","data-testid":"plan-search-container",children:[r.jsx(Ve,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-[var(--color-text-tertiary)] pointer-events-none"}),r.jsx("input",{ref:n,type:"text",name:"plan-search",value:e,onChange:o=>t(o.target.value),placeholder:"Search plans... (Press / to focus)",className:"w-full pl-10 pr-8 py-1.5 text-sm border border-[var(--color-border)] dark:border-[var(--color-card-border)] rounded-md bg-[var(--color-input-bg)] text-[var(--color-text)] placeholder:text-[var(--color-text-tertiary)] focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500 transition-colors","data-testid":"plan-search-input"}),e&&r.jsx("button",{onClick:a,className:"absolute inset-y-0 right-0 pr-2 flex items-center text-[var(--color-text-tertiary)] hover:text-[var(--color-text-secondary)]","data-testid":"plan-search-clear","aria-label":"Clear search (Escape)",children:r.jsx(Ee,{className:"w-4 h-4"})})]})}function F9({plan:e,isSelected:t,onClick:a,searchMatchIndices:n,progressRing:o}){const l=e._progress,d=l&&l.totalTasks>0,u=n&&n.length>0?E9(e.title,n):e.title;return r.jsx("div",{"data-testid":`plan-item-${e.id}`,className:`p-4 rounded-lg border cursor-pointer transition-colors ${t?"bg-blue-50 dark:bg-blue-900/30 border-blue-200 dark:border-blue-700":"bg-white dark:bg-[var(--color-surface)] border-gray-200 dark:border-[var(--color-border)] hover:border-gray-300 dark:hover:border-[var(--color-border-hover)] hover:bg-gray-50 dark:hover:bg-[var(--color-surface-hover)]"}`,onClick:()=>a(e.id),children:r.jsxs("div",{className:"flex items-start justify-between gap-3",children:[r.jsxs("div",{className:"flex-1 min-w-0",children:[r.jsx("div",{className:"flex items-start justify-between mb-2",children:r.jsx("h3",{"data-testid":"plan-item-title",className:"font-medium text-gray-900 dark:text-[var(--color-text)] truncate flex-1",children:u})}),r.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[r.jsx(c5,{status:e.status}),r.jsxs("span",{className:"text-xs text-gray-500 dark:text-[var(--color-text-tertiary)]",title:eo(e.updatedAt),children:["Updated ",d0(e.updatedAt)]})]}),e.tags&&e.tags.length>0&&r.jsxs("div",{className:"flex flex-wrap gap-1",children:[e.tags.slice(0,3).map(m=>r.jsx("span",{className:"px-1.5 py-0.5 text-xs bg-gray-100 dark:bg-[var(--color-surface-hover)] text-gray-600 dark:text-[var(--color-text-secondary)] rounded",children:m},m)),e.tags.length>3&&r.jsxs("span",{className:"text-xs text-gray-400 dark:text-[var(--color-text-tertiary)]",children:["+",e.tags.length-3]})]})]}),r.jsxs("div",{className:"flex items-center gap-2 flex-shrink-0",children:[o||(d?r.jsx("div",{className:"w-8 h-8 rounded-full border-2 border-blue-500 flex items-center justify-center",title:`${l.completionPercentage}% complete`,"data-testid":`plan-progress-${e.id}`,children:r.jsxs("span",{className:"text-[10px] text-blue-500 font-medium",children:[l.completionPercentage,"%"]})}):r.jsx("div",{className:"w-8 h-8 rounded-full border-2 border-dashed border-gray-200 dark:border-gray-600 flex items-center justify-center",title:"No tasks in plan","data-testid":`plan-progress-empty-${e.id}`,children:r.jsx("span",{className:"text-[8px] text-gray-400 dark:text-gray-500",children:"--"})})),r.jsx(Lt,{className:"w-4 h-4 text-gray-400 dark:text-gray-500"})]})]})})}function U9({tasks:e,isEditMode:t=!1,onRemoveTask:a,removingTaskId:n,onRemoveNotAllowed:o,taskLinkBase:l="/tasks"}){const[d,u]=y.useState(null);if(e.length===0)return r.jsx("div",{"data-testid":"plan-tasks-empty",className:"text-center py-8 text-gray-500 text-sm",children:"No tasks in this plan"});const m=e.length===1,h=x=>{if(m){o?.();return}d===x?(a?.(x),u(null)):u(x)};return r.jsxs("div",{"data-testid":"plan-tasks-list",className:"space-y-2",children:[m&&t&&r.jsxs("div",{"data-testid":"last-task-warning",className:"flex items-center gap-2 p-2 mb-2 bg-amber-50 border border-amber-200 rounded-lg text-xs text-amber-700",children:[r.jsx(dt,{className:"w-4 h-4 flex-shrink-0"}),r.jsx("span",{children:"This is the only task. Plans must have at least one task."})]}),e.map(x=>r.jsxs("div",{"data-testid":`plan-task-${x.id}`,className:`flex items-center gap-3 p-2 bg-gray-50 rounded-lg group ${d===x.id?"bg-red-50 border border-red-200":""}`,children:[r.jsx("div",{className:`w-2 h-2 rounded-full ${o5[x.priority]||"bg-gray-200"}`,title:`Priority ${x.priority}`}),r.jsx("a",{href:`${l}?selected=${x.id}`,className:"flex-1 text-sm text-gray-900 truncate hover:text-blue-600 hover:underline",onClick:g=>g.stopPropagation(),children:x.title}),r.jsx("span",{className:`text-xs px-2 py-0.5 rounded ${x.status==="closed"?"bg-green-100 text-green-700":x.status==="blocked"?"bg-red-100 text-red-700":x.status==="in_progress"?"bg-blue-100 text-blue-700":"bg-gray-100 text-gray-700"}`,children:x.status.replace("_"," ")}),t&&a&&r.jsx("button",{"data-testid":`remove-task-${x.id}`,onClick:()=>h(x.id),disabled:n===x.id||m,className:`p-1 rounded transition-colors ${m?"text-gray-300 cursor-not-allowed opacity-50":d===x.id?"bg-red-500 text-white hover:bg-red-600":"text-gray-400 hover:text-red-500 hover:bg-red-50 opacity-0 group-hover:opacity-100"} ${n===x.id?"opacity-50 cursor-not-allowed":""}`,title:m?"Cannot remove - plans must have at least one task":d===x.id?"Click again to confirm removal":"Remove from plan",children:n===x.id?r.jsx("div",{className:"w-4 h-4 border-2 border-gray-300 border-t-gray-600 rounded-full animate-spin"}):r.jsx(jt,{className:"w-4 h-4"})})]},x.id))]})}function K9({progress:e}){const t=[{label:"Completed",count:e.completedTasks,icon:r.jsx(Sa,{className:"w-4 h-4 text-green-500"})},{label:"In Progress",count:e.inProgressTasks,icon:r.jsx(L0,{className:"w-4 h-4 text-blue-500"})},{label:"Blocked",count:e.blockedTasks,icon:r.jsx(dt,{className:"w-4 h-4 text-red-500"})},{label:"Remaining",count:e.remainingTasks,icon:r.jsx(_r,{className:"w-4 h-4 text-gray-400"})}];return r.jsx("div",{"data-testid":"task-status-summary",className:"grid grid-cols-2 gap-3",children:t.map(a=>r.jsxs("div",{className:"flex items-center gap-2 p-2 bg-gray-50 rounded-lg",children:[a.icon,r.jsxs("div",{children:[r.jsx("div",{className:"text-lg font-semibold text-gray-900",children:a.count}),r.jsx("div",{className:"text-xs text-gray-500",children:a.label})]})]},a.label))})}function H9({planId:e,onClose:t,onAddTask:a,isAdding:n}){const[o,l]=y.useState(""),[d,u]=y.useState(""),m=y.useRef(void 0);y.useEffect(()=>(m.current=setTimeout(()=>{u(o)},300),()=>{m.current&&clearTimeout(m.current)}),[o]);const{data:h=[],isLoading:x}=L9(e,d);return r.jsx("div",{"data-testid":"task-picker-modal",className:"fixed inset-0 z-50 flex items-center justify-center bg-black/50",onClick:g=>g.target===g.currentTarget&&t(),children:r.jsxs("div",{className:"bg-white rounded-lg shadow-xl w-full max-w-lg max-h-[80vh] flex flex-col",children:[r.jsxs("div",{className:"flex items-center justify-between p-4 border-b border-gray-200",children:[r.jsx("h3",{className:"text-lg font-semibold text-gray-900",children:"Add Task to Plan"}),r.jsx("button",{onClick:t,className:"p-1 text-gray-400 hover:text-gray-600 hover:bg-gray-100 rounded","data-testid":"task-picker-close",children:r.jsx(Ee,{className:"w-5 h-5"})})]}),r.jsx("div",{className:"p-4 border-b border-gray-200",children:r.jsxs("div",{className:"relative",children:[r.jsx(Ve,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-gray-400"}),r.jsx("input",{type:"text","data-testid":"task-picker-search",placeholder:"Search tasks by title or ID...",value:o,onChange:g=>l(g.target.value),className:"w-full pl-10 pr-4 py-2 border border-gray-300 rounded-lg text-sm focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent",autoFocus:!0})]})}),r.jsx("div",{className:"flex-1 overflow-y-auto p-4",children:x?r.jsx("div",{className:"text-center py-8 text-gray-500",children:"Loading tasks..."}):h.length===0?r.jsx("div",{className:"text-center py-8 text-gray-500",children:o?"No matching tasks found":"All tasks are already in this plan"}):r.jsx("div",{className:"space-y-2",children:h.map(g=>r.jsxs("button",{"data-testid":`task-picker-item-${g.id}`,onClick:()=>a(g.id),disabled:n,className:"w-full flex items-center gap-3 p-3 bg-gray-50 hover:bg-blue-50 rounded-lg text-left transition-colors disabled:opacity-50",children:[r.jsx("div",{className:`w-2 h-2 rounded-full ${o5[g.priority]||"bg-gray-200"}`,title:`Priority ${g.priority}`}),r.jsxs("div",{className:"flex-1 min-w-0",children:[r.jsx("div",{className:"text-sm font-medium text-gray-900 truncate",children:g.title}),r.jsx("div",{className:"text-xs text-gray-500 font-mono",children:g.id})]}),r.jsx("span",{className:`text-xs px-2 py-0.5 rounded flex-shrink-0 ${g.status==="closed"?"bg-green-100 text-green-700":g.status==="blocked"?"bg-red-100 text-red-700":g.status==="in_progress"?"bg-blue-100 text-blue-700":"bg-gray-100 text-gray-700"}`,children:g.status.replace("_"," ")}),r.jsx(Fe,{className:"w-4 h-4 text-blue-500 flex-shrink-0"})]},g.id))})})]})})}function V9({active:e,payload:t}){if(!e||!t?.length)return null;const a=t[0].payload,n=qc[a.status]||qc.draft;return r.jsxs("div",{className:"bg-white p-3 rounded-lg shadow-lg border border-gray-200 max-w-xs","data-testid":"roadmap-tooltip",children:[r.jsx("div",{className:"font-medium text-gray-900 mb-1 truncate",children:a.title}),r.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[r.jsxs("span",{className:`inline-flex items-center gap-1 px-2 py-0.5 rounded text-xs font-medium ${n.bgColor} ${n.color}`,children:[n.icon,n.label]}),r.jsxs("span",{className:"text-xs text-gray-500",children:[a.completionPercentage,"% complete"]})]}),r.jsxs("div",{className:"text-xs text-gray-500",children:[r.jsxs("div",{children:["Start: ",a.startDate.toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"})]}),r.jsxs("div",{children:["End: ",a.endDate.toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"})]}),r.jsxs("div",{children:["Duration: ",a.duration," days"]})]})]})}function G9({plans:e,onPlanClick:t,selectedPlanId:a}){const{timelineStart:n,timelineEnd:o,chartData:l,tickValues:d,tickFormatter:u}=y.useMemo(()=>{if(e.length===0){const S=new Date,C=new Date(S);C.setDate(C.getDate()-7);const A=new Date(S);return A.setDate(A.getDate()+30),{timelineStart:C,timelineEnd:A,chartData:[],tickValues:[],tickFormatter:$=>""}}let g=new Date,p=new Date,j=!1;e.forEach(S=>{const C=new Date(S.createdAt),A=new Date(S.updatedAt),$=S.completedAt?new Date(S.completedAt):null,P=S.cancelledAt?new Date(S.cancelledAt):null,M=C,q=$||P||A;j?(M<g&&(g=new Date(M)),q>p&&(p=new Date(q))):(g=new Date(M),p=new Date(q),j=!0)});const k=new Date(g);k.setDate(k.getDate()-7);const N=new Date(p);N.setDate(N.getDate()+14);const v=Math.ceil((N.getTime()-k.getTime())/(1e3*60*60*24)),T=e.map(S=>{const C=new Date(S.createdAt),A=new Date(S.updatedAt),$=S.completedAt?new Date(S.completedAt):null,P=S.cancelledAt?new Date(S.cancelledAt):null,M=C,q=$||P||A,_=Math.ceil((M.getTime()-k.getTime())/(1e3*60*60*24)),z=Math.max(1,Math.ceil((q.getTime()-M.getTime())/(1e3*60*60*24)));return{planId:S.id,title:S.title,status:S.status,startDate:M,endDate:q,startOffset:_,duration:z,completionPercentage:S._progress?.completionPercentage??0}}),E=[];for(let S=0;S<=v;S+=7)E.push(S);return{timelineStart:k,timelineEnd:N,chartData:T,tickValues:E,tickFormatter:S=>{const C=new Date(k);return C.setDate(C.getDate()+S),C.toLocaleDateString("en-US",{month:"short",day:"numeric"})}}},[e]),m=Math.ceil((o.getTime()-n.getTime())/(1e3*60*60*24));if(e.length===0)return r.jsxs("div",{"data-testid":"roadmap-empty",className:"flex flex-col items-center justify-center h-full py-12 text-center",children:[r.jsx(f2,{className:"w-12 h-12 text-gray-300 mb-3"}),r.jsx("p",{className:"text-gray-500",children:"No plans to display in roadmap"}),r.jsx("p",{className:"text-sm text-gray-400 mt-1",children:"Create plans to see them on the timeline"})]});const x=Math.max(200,l.length*48+60);return r.jsxs("div",{"data-testid":"roadmap-view",className:"h-full flex flex-col bg-white rounded-lg border border-gray-200 overflow-hidden",children:[r.jsx("div",{className:"px-4 py-3 border-b border-gray-200 bg-gray-50",children:r.jsxs("div",{className:"flex items-center justify-between",children:[r.jsxs("div",{className:"text-sm text-gray-600",children:[n.toLocaleDateString("en-US",{month:"long",year:"numeric"})," —"," ",o.toLocaleDateString("en-US",{month:"long",year:"numeric"})]}),r.jsxs("div",{className:"text-xs text-gray-500",children:[e.length," plan",e.length!==1?"s":""]})]})}),r.jsx("div",{className:"flex-1 overflow-auto p-4","data-testid":"roadmap-chart-container",children:r.jsx("div",{style:{height:x,minWidth:Math.max(600,m*8)},children:r.jsx(eL,{width:"100%",height:"100%",children:r.jsxs(c9,{data:l,layout:"vertical",barCategoryGap:8,margin:{top:20,right:30,left:200,bottom:20},children:[r.jsx(bf,{type:"number",dataKey:"startOffset",domain:[0,m],ticks:d,tickFormatter:u,axisLine:{stroke:"#e5e7eb"},tickLine:{stroke:"#e5e7eb"},tick:{fontSize:11,fill:"#6b7280"}}),r.jsx(vf,{type:"category",dataKey:"title",width:190,axisLine:{stroke:"#e5e7eb"},tickLine:!1,tick:({x:g,y:p,payload:j})=>r.jsx("g",{transform:`translate(${g},${p})`,children:r.jsx("text",{x:-5,y:0,dy:4,textAnchor:"end",fill:"#374151",fontSize:12,fontWeight:500,style:{cursor:"pointer"},children:j.value.length>25?j.value.slice(0,22)+"...":j.value})})}),r.jsx(Ma,{content:r.jsx(V9,{}),cursor:{fill:"rgba(59, 130, 246, 0.05)"}}),r.jsx(Zs,{dataKey:"duration",radius:[4,4,4,4],style:{cursor:"pointer"},onClick:g=>{const p=g;p?.planId&&t(p.planId)},children:l.map(g=>r.jsx(ry,{fill:Ag[g.status]||Ag.draft,stroke:a===g.planId?"#1d4ed8":"transparent",strokeWidth:a===g.planId?2:0},g.planId))})]})})})}),r.jsx("div",{className:"px-4 py-3 border-t border-gray-200 bg-gray-50",children:r.jsx("div",{className:"flex items-center justify-center gap-6","data-testid":"roadmap-legend",children:Object.entries(qc).map(([g,p])=>r.jsxs("div",{className:"flex items-center gap-1.5 text-xs",children:[r.jsx("span",{className:"w-3 h-3 rounded",style:{backgroundColor:Ag[g]}}),r.jsx("span",{className:"text-gray-600",children:p.label})]},g))})})]})}function Y9(e){switch(e){case"draft":return[{status:"active",label:"Activate",icon:ts,color:"bg-blue-500 hover:bg-blue-600"}];case"active":return[{status:"completed",label:"Complete",icon:Sa,color:"bg-green-500 hover:bg-green-600"},{status:"cancelled",label:"Cancel",icon:qm,color:"bg-red-500 hover:bg-red-600"}];case"completed":case"cancelled":return[{status:"draft",label:"Reopen as Draft",icon:P0,color:"bg-gray-500 hover:bg-gray-600"}];default:return[]}}function N1({planId:e,onClose:t,renderProgressRing:a,onRemoveTaskNotAllowed:n,taskLinkBase:o="/tasks",onDeleteSuccess:l,onDeleteError:d}){const{data:u,isLoading:m,isError:h,error:x}=O9(e),{data:g=[]}=A9(e),{data:p}=$9(e),[j,k]=y.useState(!1),[N,v]=y.useState(""),[T,E]=y.useState(!1),[O,S]=y.useState(null),[C,A]=y.useState(!1),$=D9(),P=P9(),M=_9(),q=M9();y.useEffect(()=>{u&&v(u.title)},[u]),y.useEffect(()=>{k(!1),E(!1),S(null)},[e]);const _=y.useCallback(async()=>{if(!u||N.trim()===u.title){k(!1);return}try{await $.mutateAsync({planId:e,updates:{title:N.trim()}}),k(!1)}catch(H){console.error("Failed to update title:",H)}},[u,N,e,$]),z=y.useCallback(()=>{u&&v(u.title),k(!1)},[u]),U=y.useCallback(async H=>{if(!(!u||H===u.status))try{await $.mutateAsync({planId:e,updates:{status:H}})}catch(G){console.error("Failed to update status:",G)}},[u,e,$]),K=y.useCallback(async H=>{try{await M.mutateAsync({planId:e,taskId:H}),E(!1)}catch(G){console.error("Failed to add task:",G)}},[e,M]),R=y.useCallback(async H=>{S(H);try{await q.mutateAsync({planId:e,taskId:H})}catch(G){console.error("Failed to remove task:",G)}finally{S(null)}},[e,q]),L=y.useCallback(()=>{n?n():console.warn("Cannot remove the last task. Plans must have at least one task.")},[n]),F=y.useCallback(async()=>{try{await P.mutateAsync(e),A(!1),l&&l(),t()}catch(H){const G=H.message||"Failed to delete plan";d?d(G):console.error("Failed to delete plan:",H)}},[e,P,l,d,t]);if(m)return r.jsx("div",{"data-testid":"plan-detail-loading",className:"h-full flex items-center justify-center bg-white",children:r.jsx("div",{className:"text-gray-500",children:"Loading plan..."})});if(h)return r.jsxs("div",{"data-testid":"plan-detail-error",className:"h-full flex flex-col items-center justify-center bg-white",children:[r.jsx("div",{className:"text-red-600 mb-2",children:"Failed to load plan"}),r.jsx("div",{className:"text-sm text-gray-500",children:x?.message})]});if(!u)return r.jsx("div",{"data-testid":"plan-detail-not-found",className:"h-full flex items-center justify-center bg-white",children:r.jsx("div",{className:"text-gray-500",children:"Plan not found"})});const B=Y9(u.status);return r.jsxs(r.Fragment,{children:[r.jsxs("div",{"data-testid":"plan-detail-panel",className:"h-full flex flex-col bg-white border-l border-gray-200",children:[r.jsxs("div",{className:"flex items-start justify-between p-4 border-b border-gray-200",children:[r.jsxs("div",{className:"flex-1 min-w-0",children:[r.jsx("div",{className:"mb-2",children:r.jsx(c5,{status:u.status})}),j?r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsx("input",{type:"text","data-testid":"plan-title-input",value:N,onChange:H=>v(H.target.value),onKeyDown:H=>{H.key==="Enter"&&_(),H.key==="Escape"&&z()},className:"flex-1 text-lg font-semibold text-gray-900 border border-blue-300 rounded px-2 py-1 focus:outline-none focus:ring-2 focus:ring-blue-500",autoFocus:!0}),r.jsx("button",{"data-testid":"save-title-btn",onClick:_,disabled:$.isPending,className:"p-1 text-green-600 hover:bg-green-50 rounded",title:"Save",children:r.jsx(Dt,{className:"w-5 h-5"})}),r.jsx("button",{"data-testid":"cancel-edit-btn",onClick:z,className:"p-1 text-gray-400 hover:bg-gray-100 rounded",title:"Cancel",children:r.jsx(Ee,{className:"w-5 h-5"})})]}):r.jsxs("div",{className:"flex items-center gap-2 group",children:[r.jsx("h2",{"data-testid":"plan-detail-title",className:"text-lg font-semibold text-gray-900",children:u.title}),r.jsx("button",{"data-testid":"edit-title-btn",onClick:()=>k(!0),className:"p-1 text-gray-400 hover:text-gray-600 hover:bg-gray-100 rounded opacity-0 group-hover:opacity-100 transition-opacity",title:"Edit title",children:r.jsx(ns,{className:"w-4 h-4"})})]}),r.jsx("div",{className:"mt-1 text-xs text-gray-500 font-mono",children:r.jsx("span",{"data-testid":"plan-detail-id",children:u.id})})]}),r.jsxs("div",{className:"flex items-center gap-1",children:[r.jsx("button",{onClick:()=>A(!0),className:"p-1 text-gray-400 hover:text-red-600 hover:bg-red-50 rounded","aria-label":"Delete plan","data-testid":"plan-detail-delete",title:"Delete plan",children:r.jsx(jt,{className:"w-5 h-5"})}),r.jsx("button",{onClick:t,className:"p-1 text-gray-400 hover:text-gray-600 hover:bg-gray-100 rounded","aria-label":"Close panel","data-testid":"plan-detail-close",children:r.jsx(Ee,{className:"w-5 h-5"})})]})]}),B.length>0&&r.jsx("div",{className:"flex gap-2 p-4 border-b border-gray-200 bg-gray-50",children:B.map(H=>{const G=H.icon;return r.jsxs("button",{"data-testid":`status-action-${H.status}`,onClick:()=>U(H.status),disabled:$.isPending,className:`flex items-center gap-2 px-3 py-1.5 text-sm font-medium text-white rounded ${H.color} disabled:opacity-50`,children:[r.jsx(G,{className:"w-4 h-4"}),H.label]},H.status)})}),r.jsxs("div",{className:"flex-1 overflow-y-auto p-4",children:[p&&r.jsxs("div",{className:"mb-6","data-testid":"plan-progress-section",children:[r.jsx("div",{className:"text-sm font-medium text-gray-700 mb-4",children:"Progress"}),r.jsxs("div",{className:"flex flex-col items-center gap-4",children:[a?a({percentage:p.completionPercentage,completed:p.completedTasks,total:p.totalTasks}):r.jsx("div",{className:"w-20 h-20 rounded-full border-4 border-blue-500 flex items-center justify-center","data-testid":"plan-detail-progress-ring",children:r.jsxs("span",{className:"text-xl font-bold text-blue-500",children:[p.completionPercentage,"%"]})}),r.jsx("div",{className:"w-full mt-2",children:r.jsx(K9,{progress:p})})]})]}),r.jsxs("div",{className:"mb-6",children:[r.jsxs("div",{className:"flex items-center justify-between mb-2",children:[r.jsxs("div",{className:"text-sm font-medium text-gray-700",children:["Tasks (",g.length,")"]}),r.jsxs("button",{"data-testid":"add-task-btn",onClick:()=>E(!0),className:"flex items-center gap-1 px-2 py-1 text-xs font-medium text-blue-600 hover:bg-blue-50 rounded transition-colors",children:[r.jsx(Fe,{className:"w-3 h-3"}),"Add Task"]})]}),r.jsx(U9,{tasks:g,isEditMode:!0,onRemoveTask:R,removingTaskId:O,onRemoveNotAllowed:L,taskLinkBase:o})]}),r.jsxs("div",{className:"pt-4 border-t border-gray-100",children:[r.jsxs("div",{className:"grid grid-cols-2 gap-4 text-xs text-gray-500",children:[r.jsxs("div",{children:[r.jsxs("div",{className:"flex items-center gap-1 mb-1",children:[r.jsx(_t,{className:"w-3 h-3"}),r.jsx("span",{className:"font-medium",children:"Created:"})]}),r.jsx("span",{title:eo(u.createdAt),children:d0(u.createdAt)})]}),r.jsxs("div",{children:[r.jsxs("div",{className:"flex items-center gap-1 mb-1",children:[r.jsx(_t,{className:"w-3 h-3"}),r.jsx("span",{className:"font-medium",children:"Updated:"})]}),r.jsx("span",{title:eo(u.updatedAt),children:d0(u.updatedAt)})]}),r.jsxs("div",{className:"col-span-2",children:[r.jsxs("div",{className:"flex items-center gap-1 mb-1",children:[r.jsx(Ze,{className:"w-3 h-3"}),r.jsx("span",{className:"font-medium",children:"Created by:"})]}),r.jsx("span",{className:"font-mono",children:u.createdBy})]}),u.completedAt&&r.jsxs("div",{className:"col-span-2",children:[r.jsxs("div",{className:"flex items-center gap-1 mb-1",children:[r.jsx(Sa,{className:"w-3 h-3 text-green-500"}),r.jsx("span",{className:"font-medium",children:"Completed:"})]}),r.jsx("span",{children:eo(u.completedAt)})]}),u.cancelledAt&&r.jsxs("div",{className:"col-span-2",children:[r.jsxs("div",{className:"flex items-center gap-1 mb-1",children:[r.jsx(Xr,{className:"w-3 h-3 text-red-500"}),r.jsx("span",{className:"font-medium",children:"Cancelled:"})]}),r.jsx("span",{children:eo(u.cancelledAt)}),u.cancelReason&&r.jsx("p",{className:"mt-1 text-gray-600",children:u.cancelReason})]})]}),u.tags&&u.tags.length>0&&r.jsxs("div",{className:"mt-4",children:[r.jsx("div",{className:"text-xs font-medium text-gray-500 uppercase tracking-wide mb-2",children:"Tags"}),r.jsx("div",{className:"flex flex-wrap gap-1",children:u.tags.map(H=>r.jsx("span",{"data-testid":`plan-tag-${H}`,className:"px-2 py-0.5 text-xs bg-gray-100 text-gray-700 rounded",children:H},H))})]})]})]})]}),T&&r.jsx(H9,{planId:e,onClose:()=>E(!1),onAddTask:K,isAdding:M.isPending}),C&&r.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/50",onClick:H=>H.target===H.currentTarget&&A(!1),"data-testid":"delete-plan-modal",children:r.jsx("div",{className:"bg-white rounded-lg shadow-xl w-full max-w-md mx-4",children:r.jsxs("div",{className:"p-6",children:[r.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[r.jsx("div",{className:"flex-shrink-0 w-10 h-10 rounded-full bg-red-100 flex items-center justify-center",children:r.jsx(Nr,{className:"w-5 h-5 text-red-600"})}),r.jsxs("div",{children:[r.jsx("h3",{className:"text-lg font-semibold text-gray-900",children:"Delete Plan"}),r.jsx("p",{className:"text-sm text-gray-500",children:"This action cannot be undone."})]})]}),r.jsxs("p",{className:"text-gray-700 mb-6",children:["Are you sure you want to delete ",r.jsxs("span",{className:"font-semibold",children:['"',u.title,'"']}),"? Tasks in this plan will be unlinked but not deleted."]}),r.jsxs("div",{className:"flex justify-end gap-3",children:[r.jsx("button",{onClick:()=>A(!1),className:"px-4 py-2 text-sm font-medium text-gray-700 hover:bg-gray-100 rounded-lg transition-colors","data-testid":"delete-plan-cancel",children:"Cancel"}),r.jsx("button",{onClick:F,disabled:P.isPending,className:"px-4 py-2 text-sm font-medium text-white bg-red-600 hover:bg-red-700 rounded-lg transition-colors disabled:opacity-50","data-testid":"delete-plan-confirm",children:P.isPending?"Deleting...":"Delete Plan"})]})]})})})]})}const S1={draft:{label:"Draft",icon:r.jsx(P0,{className:"w-3 h-3"}),color:"bg-gray-100 text-gray-700 dark:bg-gray-800/50 dark:text-gray-300"},active:{label:"Active",icon:r.jsx(L0,{className:"w-3 h-3"}),color:"bg-blue-100 text-blue-700 dark:bg-blue-900/30 dark:text-blue-300"},completed:{label:"Completed",icon:r.jsx(Sa,{className:"w-3 h-3"}),color:"bg-green-100 text-green-700 dark:bg-green-900/30 dark:text-green-300"},cancelled:{label:"Cancelled",icon:r.jsx(Xr,{className:"w-3 h-3"}),color:"bg-red-100 text-red-700 dark:bg-red-900/30 dark:text-red-300"}};function Q9(e,t){if(t.length===0)return r.jsx(r.Fragment,{children:e});const a=[],n=new Set(t);let o=0;for(let l=0;l<e.length;l++)n.has(l)&&(l>o&&a.push(r.jsx("span",{children:e.slice(o,l)},`text-${o}`)),a.push(r.jsx("mark",{className:"bg-yellow-200 text-gray-900 dark:bg-yellow-700 dark:text-white rounded-sm px-0.5",children:e[l]},`match-${l}`)),o=l+1);return o<e.length&&a.push(r.jsx("span",{children:e.slice(o)},`text-${o}`)),r.jsx(r.Fragment,{children:a})}function X9(e){const t=new Date(e),n=new Date().getTime()-t.getTime(),o=Math.floor(n/6e4),l=Math.floor(n/36e5),d=Math.floor(n/864e5);return o<1?"just now":o<60?`${o}m ago`:l<24?`${l}h ago`:d<7?`${d}d ago`:t.toLocaleDateString("en-US",{month:"short",day:"numeric"})}function W9({plan:e,isSelected:t,onClick:a,searchMatchIndices:n,progressRing:o}){const l=S1[e.status]||S1.draft,d=e._progress,u=d&&d.totalTasks>0,m=y.useMemo(()=>n&&n.length>0?Q9(e.title,n):e.title,[e.title,n]);return r.jsxs("div",{className:`
127
+ flex gap-3 p-4
128
+ bg-[var(--color-surface)] border-b border-[var(--color-border)]
129
+ cursor-pointer transition-colors duration-150
130
+ active:bg-[var(--color-surface-hover)]
131
+ ${t?"bg-blue-50 dark:bg-blue-900/20":""}
132
+ `,onClick:a,"data-testid":`mobile-plan-card-${e.id}`,children:[r.jsx("div",{className:"flex-shrink-0 mt-0.5",children:r.jsx(Fs,{className:"w-5 h-5 text-blue-500"})}),r.jsxs("div",{className:"flex-1 min-w-0",children:[r.jsx("div",{className:"font-medium text-[var(--color-text)] line-clamp-2 mb-1","data-testid":`mobile-plan-title-${e.id}`,children:m}),r.jsxs("div",{className:"flex items-center gap-2 flex-wrap mb-2",children:[r.jsx("span",{className:"text-xs text-[var(--color-text-muted)] font-mono",children:e.id}),r.jsxs("span",{className:"text-xs text-[var(--color-text-muted)]",children:["· ",X9(e.updatedAt)]})]}),r.jsxs("div",{className:"flex items-center gap-1.5 flex-wrap",children:[r.jsxs("span",{className:`inline-flex items-center gap-1 px-1.5 py-0.5 text-xs font-medium rounded ${l.color}`,children:[l.icon,l.label]}),e.tags&&e.tags.length>0&&r.jsxs(r.Fragment,{children:[e.tags.slice(0,2).map(h=>r.jsx("span",{className:"px-1.5 py-0.5 text-xs bg-[var(--color-surface-hover)] text-[var(--color-text-secondary)] rounded truncate max-w-20",children:h},h)),e.tags.length>2&&r.jsxs("span",{className:"text-xs text-[var(--color-text-muted)]",children:["+",e.tags.length-2]})]})]})]}),r.jsx("div",{className:"flex-shrink-0 self-center",children:o||(u?r.jsx("div",{className:"w-8 h-8 rounded-full border-2 border-blue-500 flex items-center justify-center",title:`${d.completionPercentage}% complete`,"data-testid":`mobile-plan-progress-${e.id}`,children:r.jsxs("span",{className:"text-[10px] text-blue-500 font-medium",children:[d.completionPercentage,"%"]})}):r.jsx("div",{className:"w-8 h-8 rounded-full border-2 border-dashed border-[var(--color-border)] flex items-center justify-center",title:"No tasks in plan",children:r.jsx("span",{className:"text-[8px] text-[var(--color-text-muted)]",children:"--"})}))}),r.jsx("div",{className:"flex-shrink-0 self-center text-[var(--color-text-tertiary)]",children:r.jsx("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:r.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})})})]})}function Z9({isOpen:e,onClose:t,onSuccess:a,currentUserId:n,isMobile:o=!1,onToastSuccess:l,onToastError:d,onCreateNewTask:u}){const m=$e(),[h,x]=y.useState(""),[g,p]=y.useState([]),[j,k]=y.useState(""),[N,v]=y.useState(""),T=R9();y.useEffect(()=>{e&&(x(""),p([]),k(""),v(""))},[e]);const E=y.useRef(void 0);y.useEffect(()=>(E.current=setTimeout(()=>{v(j)},300),()=>{E.current&&clearTimeout(E.current)}),[j]);const{data:O=[],isLoading:S,refetch:C}=be({queryKey:["tasks","for-plan-creation",N],queryFn:async()=>{const U=N?`/api/tasks?limit=50&search=${encodeURIComponent(N)}`:"/api/tasks?limit=50",K=await fetch(U);if(!K.ok)throw new Error("Failed to fetch tasks");const R=await K.json();return R.tasks||R.items||R.data||(Array.isArray(R)?R:[])},enabled:e}),A=O.filter(U=>!g.some(K=>K.taskId===U.id)),$=g.length>0,P=h.trim().length>0&&$&&n,M=y.useCallback(U=>{p(K=>[...K,{id:String(Date.now()),taskId:U.id,taskTitle:U.title}])},[]),q=y.useCallback(U=>{p(K=>K.filter(R=>R.id!==U))},[]),_=y.useCallback(U=>{m.invalidateQueries({queryKey:["tasks","for-plan-creation"]}),C(),p(K=>[...K,{id:String(Date.now()),taskId:U.id,taskTitle:U.title}])},[m,C]);y.useEffect(()=>(e&&(window.__createPlanModalTaskCreated=_),()=>{delete window.__createPlanModalTaskCreated}),[e,_]);const z=async()=>{if(P)try{const U=g[0],K=g.slice(1),R=await T.mutateAsync({title:h.trim(),createdBy:n,initialTaskId:U.taskId,additionalTasks:K.map(L=>({existingTaskId:L.taskId}))});l?.("Plan created successfully"),a?.({id:R.id,title:h.trim()}),t()}catch(U){d?.(U.message||"Failed to create plan")}};return e?o?r.jsxs("div",{className:"fixed inset-0 z-50 bg-[var(--color-bg)]","data-testid":"create-plan-modal",children:[r.jsxs("div",{className:"flex items-center gap-2 px-4 py-3 border-b border-[var(--color-border)] bg-[var(--color-surface)] sticky top-0 z-10",children:[r.jsx("button",{onClick:t,className:"p-2 -ml-2 rounded-md text-[var(--color-text-secondary)] hover:text-[var(--color-text)] hover:bg-[var(--color-surface-hover)] transition-colors duration-150 touch-target","aria-label":"Cancel","data-testid":"create-plan-close",children:r.jsx(Pr,{className:"w-5 h-5"})}),r.jsx("h2",{className:"flex-1 text-lg font-semibold text-[var(--color-text)]",children:"Create Plan"}),r.jsx("button",{onClick:z,disabled:!P||T.isPending,className:"px-4 py-2 text-sm font-medium text-white bg-blue-600 hover:bg-blue-700 disabled:opacity-50 disabled:cursor-not-allowed rounded-lg transition-colors touch-target","data-testid":"create-plan-submit",children:T.isPending?r.jsx(je,{className:"w-4 h-4 animate-spin"}):"Create"})]}),r.jsxs("div",{className:"p-4 pb-20 overflow-y-auto h-[calc(100vh-60px)] space-y-4",children:[r.jsxs("div",{children:[r.jsx("label",{htmlFor:"plan-title-mobile",className:"block text-sm font-medium text-[var(--color-text)] mb-1",children:"Plan Title *"}),r.jsx("input",{id:"plan-title-mobile",type:"text","data-testid":"plan-title-input",placeholder:"Enter plan title...",value:h,onChange:U=>x(U.target.value),className:"w-full px-3 py-2.5 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-800 text-[var(--color-text)] focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent",autoFocus:!0})]}),r.jsx(C1,{selectedTasks:g,availableTasks:A,isLoadingTasks:S,searchQuery:j,onSearchChange:k,onSelectTask:M,onRemoveTask:q,onCreateNewTask:u,isMobile:!0})]})]}):r.jsx("div",{"data-testid":"create-plan-modal",className:"fixed inset-0 z-50 flex items-center justify-center bg-black/50",onClick:U=>U.target===U.currentTarget&&t(),children:r.jsxs("div",{className:"bg-white dark:bg-gray-900 rounded-lg shadow-xl w-full max-w-lg max-h-[90vh] flex flex-col",children:[r.jsxs("div",{className:"flex items-center justify-between p-4 border-b border-gray-200 dark:border-gray-700",children:[r.jsx("h3",{className:"text-lg font-semibold text-gray-900 dark:text-white",children:"Create Plan"}),r.jsx("button",{onClick:t,className:"p-1 text-gray-400 hover:text-gray-600 dark:hover:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-800 rounded","data-testid":"create-plan-close",children:r.jsx(Ee,{className:"w-5 h-5"})})]}),r.jsxs("div",{className:"flex-1 overflow-y-auto p-4 space-y-4",children:[r.jsxs("div",{children:[r.jsx("label",{htmlFor:"plan-title",className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:"Plan Title *"}),r.jsx("input",{id:"plan-title",type:"text","data-testid":"plan-title-input",placeholder:"Enter plan title...",value:h,onChange:U=>x(U.target.value),className:"w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-lg text-sm focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent bg-white dark:bg-gray-800 text-gray-900 dark:text-white",autoFocus:!0})]}),r.jsx(C1,{selectedTasks:g,availableTasks:A,isLoadingTasks:S,searchQuery:j,onSearchChange:k,onSelectTask:M,onRemoveTask:q,onCreateNewTask:u,isMobile:!1})]}),r.jsxs("div",{className:"flex justify-end gap-3 p-4 border-t border-gray-200 dark:border-gray-700",children:[r.jsx("button",{onClick:t,className:"px-4 py-2 text-sm font-medium text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-800 rounded-lg transition-colors","data-testid":"create-plan-cancel",children:"Cancel"}),r.jsx("button",{onClick:z,disabled:!P||T.isPending,className:"px-4 py-2 text-sm font-medium text-white bg-blue-600 hover:bg-blue-700 rounded-lg transition-colors disabled:opacity-50 disabled:cursor-not-allowed","data-testid":"create-plan-submit",children:T.isPending?"Creating...":"Create Plan"})]})]})}):null}function C1({selectedTasks:e,availableTasks:t,isLoadingTasks:a,searchQuery:n,onSearchChange:o,onSelectTask:l,onRemoveTask:d,onCreateNewTask:u,isMobile:m}){return r.jsxs("div",{className:"border border-blue-200 dark:border-blue-800 rounded-lg p-4 bg-blue-50 dark:bg-blue-900/20",children:[r.jsxs("div",{className:"flex items-center justify-between mb-3",children:[r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsx(fO,{className:"w-4 h-4 text-blue-500"}),r.jsxs("span",{className:"text-sm font-medium text-blue-700 dark:text-blue-300",children:["Tasks (",e.length,")"]})]}),u&&r.jsxs("button",{onClick:u,className:"flex items-center gap-1 px-2 py-1 text-xs font-medium text-green-600 dark:text-green-400 hover:text-green-800 dark:hover:text-green-300 hover:bg-green-100 dark:hover:bg-green-900/40 rounded transition-colors","data-testid":"create-new-task-btn",children:[r.jsx(hO,{className:"w-3 h-3"}),"Create New Task"]})]}),r.jsx("p",{className:"text-xs text-blue-600 dark:text-blue-400 mb-4",children:"Plans must have at least one task. Search and select existing tasks below."}),e.length>0&&r.jsxs("div",{className:"mb-4",children:[r.jsx("div",{className:"text-xs font-medium text-gray-500 dark:text-gray-400 mb-2 uppercase tracking-wide",children:"Selected Tasks"}),r.jsx("div",{className:"space-y-2",children:e.map((h,x)=>r.jsxs("div",{className:"flex items-center justify-between gap-2 p-2 bg-white dark:bg-gray-800 border border-green-200 dark:border-green-800 rounded-lg",children:[r.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[r.jsx("div",{className:"flex-shrink-0 w-5 h-5 rounded-full bg-green-100 dark:bg-green-900/50 flex items-center justify-center",children:r.jsx("span",{className:"text-xs font-medium text-green-600 dark:text-green-400",children:x+1})}),r.jsx("span",{className:"text-sm text-gray-900 dark:text-white truncate",children:h.taskTitle})]}),r.jsx("button",{onClick:()=>d(h.id),className:"flex-shrink-0 p-1 text-gray-400 hover:text-red-600 hover:bg-red-50 dark:hover:bg-red-900/20 rounded transition-colors","aria-label":"Remove task","data-testid":`remove-selected-task-${h.taskId}`,children:r.jsx(jt,{className:"w-4 h-4"})})]},h.id))})]}),r.jsxs("div",{className:"relative mb-3",children:[r.jsx(Ve,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-gray-400"}),r.jsx("input",{type:"text","data-testid":"task-search-input",placeholder:"Search tasks by title or ID...",value:n,onChange:h=>o(h.target.value),className:`w-full pl-10 pr-4 ${m?"py-2.5":"py-2"} border border-gray-300 dark:border-gray-600 rounded-lg text-sm focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent bg-white dark:bg-gray-800 text-gray-900 dark:text-white`})]}),r.jsx("div",{className:`${m?"max-h-60":"max-h-48"} overflow-y-auto border border-gray-200 dark:border-gray-700 rounded-lg bg-white dark:bg-gray-800`,children:a?r.jsxs("div",{className:"flex items-center justify-center py-8 text-gray-500 text-sm",children:[r.jsx(je,{className:"w-4 h-4 animate-spin mr-2"}),"Loading tasks..."]}):t.length===0?r.jsxs("div",{className:"text-center py-8 text-gray-500 text-sm",children:[n?"No matching tasks found":"No tasks available",u&&r.jsx("button",{onClick:u,className:"block mx-auto mt-2 text-blue-600 hover:text-blue-800 text-sm font-medium",children:"Create a new task"})]}):r.jsx("div",{className:"divide-y divide-gray-100 dark:divide-gray-700",children:t.map(h=>r.jsxs("button",{"data-testid":`available-task-${h.id}`,onClick:()=>l(h),className:`w-full flex items-center gap-3 p-3 text-left transition-colors ${m?"touch-target":""} hover:bg-gray-50 dark:hover:bg-gray-700`,children:[r.jsx("div",{className:"flex-shrink-0 w-5 h-5 rounded border border-gray-300 dark:border-gray-600 flex items-center justify-center",children:r.jsx(Fe,{className:"w-3 h-3 text-gray-400"})}),r.jsxs("div",{className:"flex-1 min-w-0",children:[r.jsx("div",{className:"text-sm font-medium text-gray-900 dark:text-white truncate",children:h.title}),r.jsx("div",{className:"text-xs text-gray-500 font-mono",children:h.id})]})]},h.id))})})]})}function J9(){return typeof window>"u"?!1:navigator.platform.toUpperCase().indexOf("MAC")>=0}function u0(e){return J9()?e.replace(/Cmd/gi,"⌘").replace(/Ctrl/gi,"⌃").replace(/Alt/gi,"⌥").replace(/Shift/gi,"⇧"):e.replace(/Cmd/gi,"Ctrl")}const eq={navigation:"Navigation",actions:"Actions",views:"Views",editing:"Editing",other:"Other"};function tq(e){const t={navigation:[],actions:[],views:[],editing:[],other:[]};for(const[a,n]of Object.entries(e)){const o=n.category||"other";t[o].push({actionId:a,description:n.description||a,defaultKeys:n.keys})}return t}function rq({actionId:e,description:t,currentKeys:a,defaultKeys:n,defaults:o,onSave:l,onCancel:d,isMobile:u}){const[m,h]=y.useState([]),[x,g]=y.useState(!1),[p,j]=y.useState(null),k=y.useRef(null),N=y.useCallback(C=>{if(!x)return;C.preventDefault(),C.stopPropagation();const A=C.key.toLowerCase();if(["meta","control","alt","shift"].includes(A))return;let $=[];if(C.metaKey||C.ctrlKey){const q=[];C.metaKey&&q.push("Cmd"),C.ctrlKey&&q.push("Ctrl"),C.altKey&&q.push("Alt"),C.shiftKey&&q.push("Shift"),q.push(A.toUpperCase()),$=[q.join("+")]}else $=[...m,A.toUpperCase()];const P=$.join(" ");h($);const M=y9(P,o,e);if(M){const q=o[M]?.description||M;j(q)}else j(null)},[x,m,e,o]);y.useEffect(()=>{if(x)return document.addEventListener("keydown",N),()=>document.removeEventListener("keydown",N)},[x,N]);const v=()=>{h([]),j(null),g(!0),k.current?.focus()},T=()=>{g(!1)},E=()=>{m.length>0&&!p&&l(m.join(" "))},O=()=>{l(n)},S=m.length>0?u0(m.join(" ")):u0(a);return r.jsx("div",{className:"fixed inset-0 bg-black/50 flex items-end sm:items-center justify-center z-50","data-testid":"shortcut-edit-modal",children:r.jsxs("div",{className:`
133
+ bg-white dark:bg-gray-800 shadow-xl w-full p-4 sm:p-6
134
+ ${u?"rounded-t-2xl max-h-[90vh] overflow-y-auto pb-safe":"rounded-lg max-w-md"}
135
+ `,children:[r.jsxs("div",{className:"flex items-center justify-between mb-4",children:[r.jsx("h3",{className:"text-base sm:text-lg font-semibold text-gray-900 dark:text-gray-100",children:"Edit Shortcut"}),r.jsx("button",{onClick:d,className:"p-2 rounded-lg hover:bg-gray-100 dark:hover:bg-gray-700 text-gray-500 min-h-[44px] min-w-[44px] flex items-center justify-center","data-testid":"shortcut-edit-close",children:r.jsx(Ee,{className:"w-5 h-5"})})]}),r.jsx("p",{className:"text-xs sm:text-sm text-gray-500 dark:text-gray-400 mb-4",children:t}),r.jsx("div",{ref:k,tabIndex:0,onClick:v,onBlur:T,className:`
136
+ p-4 sm:p-6 rounded-lg border-2 text-center font-mono text-base sm:text-lg cursor-pointer transition-all min-h-[60px] flex items-center justify-center
137
+ ${x?"border-blue-500 bg-blue-50 dark:bg-blue-900/20":"border-gray-200 dark:border-gray-700 bg-gray-50 dark:bg-gray-900"}
138
+ ${p?"border-red-500 bg-red-50 dark:bg-red-900/20":""}
139
+ `,"data-testid":"shortcut-capture-area",children:x&&m.length===0?r.jsx("span",{className:"text-gray-400",children:"Press keys..."}):r.jsx("span",{className:"text-gray-900 dark:text-gray-100",children:S})}),x&&r.jsx("p",{className:"text-xs text-gray-500 dark:text-gray-400 mt-2 text-center",children:"Press a key combination. For sequential shortcuts, press keys one after another."}),p&&r.jsxs("div",{className:"flex items-center gap-2 mt-3 p-3 rounded-lg bg-red-50 dark:bg-red-900/20 border border-red-200 dark:border-red-800",children:[r.jsx(dt,{className:"w-4 h-4 text-red-500 flex-shrink-0"}),r.jsxs("p",{className:"text-xs sm:text-sm text-red-600 dark:text-red-400","data-testid":"shortcut-conflict-warning",children:["Conflicts with: ",p]})]}),r.jsxs("div",{className:`mt-6 ${u?"space-y-3":"flex items-center justify-between"}`,children:[r.jsxs("button",{onClick:O,className:`flex items-center justify-center gap-2 px-3 py-3 sm:py-2 text-sm text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-gray-200 min-h-[44px] ${u?"w-full border border-gray-200 dark:border-gray-700 rounded-lg":""}`,"data-testid":"shortcut-reset-default",children:[r.jsx(Wc,{className:"w-4 h-4"}),"Reset to Default"]}),r.jsxs("div",{className:`flex gap-2 ${u?"flex-col-reverse":""}`,children:[r.jsx("button",{onClick:d,className:`px-4 py-3 sm:py-2 text-sm font-medium text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-700 rounded-lg min-h-[44px] ${u?"w-full border border-gray-200 dark:border-gray-700":""}`,"data-testid":"shortcut-edit-cancel",children:"Cancel"}),r.jsxs("button",{onClick:E,disabled:m.length===0||!!p,className:`px-4 py-3 sm:py-2 text-sm font-medium text-white bg-blue-500 hover:bg-blue-600 disabled:opacity-50 disabled:cursor-not-allowed rounded-lg flex items-center justify-center gap-2 min-h-[44px] ${u?"w-full":""}`,"data-testid":"shortcut-edit-save",children:[r.jsx(Dt,{className:"w-4 h-4"}),"Save"]})]})]})]})})}function aq({actionId:e,description:t,currentKeys:a,isCustomized:n,onEdit:o,isMobile:l}){return r.jsxs("button",{onClick:o,className:`
140
+ w-full text-left py-3 px-3 sm:px-4 hover:bg-gray-50 dark:hover:bg-gray-800/50 active:bg-gray-100 dark:active:bg-gray-700 rounded-lg group min-h-[56px]
141
+ ${l?"flex flex-col gap-2":"flex items-center justify-between"}
142
+ `,"data-testid":`shortcut-row-${e}`,children:[r.jsxs("div",{className:`${l?"w-full":"flex-1"}`,children:[r.jsx("span",{className:"text-xs sm:text-sm text-gray-900 dark:text-gray-100",children:t}),n&&r.jsx("span",{className:"ml-2 text-xs px-1.5 py-0.5 bg-blue-100 dark:bg-blue-900 text-blue-700 dark:text-blue-300 rounded",children:"Customized"})]}),r.jsxs("div",{className:`flex items-center gap-3 ${l?"w-full justify-between":""}`,children:[r.jsx("kbd",{className:"px-2 py-1 text-xs sm:text-sm font-mono bg-gray-100 dark:bg-gray-800 text-gray-700 dark:text-gray-300 rounded border border-gray-200 dark:border-gray-700",children:u0(a)}),r.jsx("span",{className:`text-xs sm:text-sm text-blue-600 dark:text-blue-400 ${l?"":"opacity-0 group-hover:opacity-100 transition-opacity"}`,children:l?"Edit":"Customize"})]})]})}function nq({defaults:e,isMobile:t}){const[a,n]=y.useState({}),[o,l]=y.useState(null),[d,u]=y.useState(!1);j9(!!o),y.useEffect(()=>{n(zc())},[]);const m=tq(e),h=p=>{o&&(b9(o.actionId,p,e),n(zc()),l(null))},x=()=>{v9(),n({}),u(!1)},g=Object.keys(a).length>0;return r.jsxs("div",{"data-testid":"settings-shortcuts-section",children:[r.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-2 mb-2",children:[r.jsx("h3",{className:"text-base sm:text-lg font-medium text-gray-900 dark:text-gray-100",children:"Keyboard Shortcuts"}),g&&r.jsxs("button",{onClick:()=>u(!0),className:"flex items-center gap-2 px-3 py-2 sm:py-1.5 text-sm text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-gray-200 hover:bg-gray-100 dark:hover:bg-gray-800 rounded-lg border border-gray-200 dark:border-gray-700 sm:border-0 min-h-[44px] sm:min-h-0","data-testid":"shortcuts-reset-all",children:[r.jsx(Wc,{className:"w-4 h-4"}),"Reset to Defaults"]})]}),r.jsxs("p",{className:"text-xs sm:text-sm text-gray-500 dark:text-gray-400 mb-4 sm:mb-6",children:["View and customize keyboard shortcuts. ",t?"Tap":'Click "Customize"'," to change a shortcut."]}),r.jsx("div",{className:"space-y-6",children:Object.entries(m).map(([p,j])=>j.length===0?null:r.jsxs("div",{children:[r.jsx("h4",{className:"text-sm font-medium text-gray-700 dark:text-gray-300 mb-2 px-4",children:eq[p]}),r.jsx("div",{className:"border border-gray-200 dark:border-gray-700 rounded-lg divide-y divide-gray-200 dark:divide-gray-700",children:j.map(({actionId:k,description:N,defaultKeys:v})=>{const T=p9(k,e),E=!!a[k];return r.jsx(aq,{actionId:k,description:N,currentKeys:T,isCustomized:E,onEdit:()=>l({actionId:k,description:N,currentKeys:T,defaultKeys:v}),isMobile:t},k)})})]},p))}),o&&r.jsx(rq,{actionId:o.actionId,description:o.description,currentKeys:o.currentKeys,defaultKeys:o.defaultKeys,defaults:e,onSave:h,onCancel:()=>l(null),isMobile:t}),d&&r.jsx("div",{className:"fixed inset-0 bg-black/50 flex items-end sm:items-center justify-center z-50","data-testid":"reset-confirm-modal",children:r.jsxs("div",{className:`
143
+ bg-white dark:bg-gray-800 shadow-xl w-full p-4 sm:p-6
144
+ ${t?"rounded-t-2xl":"rounded-lg max-w-sm"}
145
+ `,children:[r.jsx("h3",{className:"text-base sm:text-lg font-semibold text-gray-900 dark:text-gray-100 mb-2",children:"Reset All Shortcuts?"}),r.jsx("p",{className:"text-xs sm:text-sm text-gray-500 dark:text-gray-400 mb-4 sm:mb-6",children:"This will reset all keyboard shortcuts to their default values. This action cannot be undone."}),r.jsxs("div",{className:`flex gap-2 ${t?"flex-col-reverse":"justify-end"}`,children:[r.jsx("button",{onClick:()=>u(!1),className:`px-4 py-3 sm:py-2 text-sm font-medium text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-700 rounded-lg min-h-[44px] ${t?"w-full border border-gray-200 dark:border-gray-700":""}`,"data-testid":"reset-confirm-cancel",children:"Cancel"}),r.jsx("button",{onClick:x,className:`px-4 py-3 sm:py-2 text-sm font-medium text-white bg-red-500 hover:bg-red-600 rounded-lg min-h-[44px] ${t?"w-full":""}`,"data-testid":"reset-confirm-yes",children:"Reset All"})]})]})}),r.jsx("p",{className:"text-xs text-gray-400 dark:text-gray-500 mt-6 text-center",children:"Changes to keyboard shortcuts take effect immediately."})]})}const m0=[{value:"updatedAt",label:"Updated",defaultDirection:"desc"},{value:"createdAt",label:"Created",defaultDirection:"desc"},{value:"title",label:"Title",defaultDirection:"asc"},{value:"contentType",label:"Type",defaultDirection:"asc"}],f0=[{value:"text",label:"Text",color:"bg-gray-100 text-gray-700 dark:bg-gray-700 dark:text-gray-200"},{value:"markdown",label:"Markdown",color:"bg-purple-100 text-purple-700 dark:bg-purple-900/50 dark:text-purple-300"},{value:"json",label:"JSON",color:"bg-blue-100 text-blue-700 dark:bg-blue-900/50 dark:text-blue-300"}],_m={sortField:"documents.sortBy",sortDirection:"documents.sortDir"},ec={contentTypes:[],tags:[]};function d5(){if(typeof window>"u")return{field:"updatedAt",direction:"desc"};const e=localStorage.getItem(_m.sortField),t=localStorage.getItem(_m.sortDirection);return{field:e&&["updatedAt","createdAt","title","contentType"].includes(e)?e:"updatedAt",direction:t==="asc"||t==="desc"?t:"desc"}}function Mm(e,t){typeof window>"u"||(localStorage.setItem(_m.sortField,e),localStorage.setItem(_m.sortDirection,t))}function u5(e,t){const a=t?.toLowerCase().trim()||"",n=e.contentTypes.length>0,o=e.tags.length>0,l=a.length>0;return!n&&!o&&!l?()=>!0:d=>{if(l&&!(d.title||"").toLowerCase().includes(a))return!1;if(n){const u=(d.contentType||"text").toLowerCase();if(!e.contentTypes.some(m=>m.toLowerCase()===u))return!1}if(o){const u=d.tags||[];if(!e.tags.some(m=>u.includes(m)))return!1}return!0}}function id(e){return e.contentTypes.length+e.tags.length}function Bs(e){return id(e)>0}function sq(e){return m0.find(a=>a.value===e)?.defaultDirection??"desc"}function Lm({sortField:e,sortDirection:t,onSortFieldChange:a,onSortDirectionChange:n}){const[o,l]=y.useState(!1),d=m0.find(h=>h.value===e),u=h=>{h===e?n(t==="asc"?"desc":"asc"):(a(h),n(sq(h))),l(!1)},m=()=>{n(t==="asc"?"desc":"asc")};return r.jsxs("div",{className:"flex items-center gap-1","data-testid":"document-sort-dropdown",children:[r.jsxs("div",{className:"relative",children:[r.jsxs("button",{onClick:()=>l(!o),className:"flex items-center gap-1.5 px-2.5 py-1.5 text-sm font-medium text-gray-700 dark:text-gray-200 bg-gray-100 dark:bg-gray-800 hover:bg-gray-200 dark:hover:bg-gray-700 rounded-md transition-colors","data-testid":"sort-field-trigger",children:[r.jsx(Ro,{className:"w-4 h-4"}),r.jsxs("span",{children:["Sort: ",d?.label||"Updated"]}),r.jsx(it,{className:`w-4 h-4 transition-transform ${o?"rotate-180":""}`})]}),o&&r.jsxs(r.Fragment,{children:[r.jsx("div",{className:"fixed inset-0 z-10",onClick:()=>l(!1)}),r.jsx("div",{className:"absolute left-0 top-full mt-1 w-40 py-1 bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded-lg shadow-lg z-20",children:m0.map(h=>r.jsxs("button",{onClick:()=>u(h.value),className:"flex items-center justify-between w-full px-3 py-2 text-sm text-gray-700 dark:text-gray-200 hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors","data-testid":`sort-option-${h.value}`,children:[r.jsx("span",{children:h.label}),e===h.value&&r.jsx(Dt,{className:"w-4 h-4 text-blue-600"})]},h.value))})]})]}),r.jsx("button",{onClick:m,className:"p-1.5 text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-gray-100 hover:bg-gray-100 dark:hover:bg-gray-700 rounded-md transition-colors",title:t==="asc"?"Ascending":"Descending","data-testid":"sort-direction-toggle",children:t==="asc"?r.jsx(rs,{className:"w-4 h-4"}):r.jsx(Io,{className:"w-4 h-4"})})]})}function m5({filters:e,onFilterChange:t,onClearFilters:a,availableTags:n}){const[o,l]=y.useState(!1),[d,u]=y.useState(!1),m=id(e),h=Bs(e),x=k=>{const N=e.contentTypes.includes(k)?e.contentTypes.filter(v=>v!==k):[...e.contentTypes,k];t({...e,contentTypes:N})},g=k=>{const N=e.tags.includes(k)?e.tags.filter(v=>v!==k):[...e.tags,k];t({...e,tags:N})},p=k=>{t({...e,contentTypes:e.contentTypes.filter(N=>N!==k)})},j=k=>{t({...e,tags:e.tags.filter(N=>N!==k)})};return r.jsxs("div",{"data-testid":"document-filter-bar",children:[r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsxs("button",{onClick:()=>l(!o),className:`flex items-center gap-1.5 px-2.5 py-1.5 text-sm font-medium rounded-md transition-colors ${h?"text-blue-700 dark:text-blue-300 bg-blue-100 dark:bg-blue-900/50 hover:bg-blue-200 dark:hover:bg-blue-900/70":"text-gray-700 dark:text-gray-200 bg-gray-100 dark:bg-gray-800 hover:bg-gray-200 dark:hover:bg-gray-700"}`,"data-testid":"filter-toggle",children:[r.jsx(Ca,{className:"w-4 h-4"}),r.jsx("span",{children:"Filters"}),m>0&&r.jsx("span",{className:"px-1.5 py-0.5 text-xs font-semibold bg-blue-600 text-white rounded-full",children:m}),o?r.jsx(Yc,{className:"w-4 h-4"}):r.jsx(it,{className:"w-4 h-4"})]}),h&&r.jsx("button",{onClick:a,className:"px-2 py-1.5 text-sm text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-gray-100 hover:bg-gray-100 dark:hover:bg-gray-700 rounded-md transition-colors","data-testid":"clear-filters",children:"Clear"})]}),o&&r.jsxs("div",{className:"mt-3 p-3 bg-gray-50 dark:bg-gray-800/50 rounded-lg border border-gray-200 dark:border-gray-700","data-testid":"filter-panel",children:[r.jsxs("div",{className:"mb-4",children:[r.jsx("label",{className:"block text-xs font-semibold text-gray-500 dark:text-gray-400 uppercase tracking-wider mb-2",children:"Type"}),r.jsx("div",{className:"flex flex-wrap gap-2",children:f0.map(k=>{const N=e.contentTypes.includes(k.value);return r.jsxs("button",{onClick:()=>x(k.value),className:`flex items-center gap-1.5 px-3 py-1.5 text-sm rounded-md border transition-colors ${N?`${k.color} border-transparent font-medium`:"bg-white dark:bg-gray-800 border-gray-300 dark:border-gray-600 text-gray-600 dark:text-gray-300 hover:border-gray-400 dark:hover:border-gray-500"}`,"data-testid":`filter-type-${k.value}`,children:[N&&r.jsx(Dt,{className:"w-3 h-3"}),k.label]},k.value)})})]}),n.length>0&&r.jsxs("div",{children:[r.jsx("label",{className:"block text-xs font-semibold text-gray-500 dark:text-gray-400 uppercase tracking-wider mb-2",children:"Tags"}),r.jsxs("div",{className:"relative",children:[r.jsxs("div",{className:"flex flex-wrap items-center gap-1.5 min-h-[38px] px-2 py-1.5 bg-white dark:bg-gray-800 border border-gray-300 dark:border-gray-600 rounded-md focus-within:ring-2 focus-within:ring-blue-500 focus-within:border-blue-500 cursor-text",onClick:()=>u(!0),children:[e.tags.map(k=>r.jsxs("span",{className:"inline-flex items-center gap-1 px-2 py-0.5 text-xs font-medium bg-amber-100 text-amber-800 dark:bg-amber-900 dark:text-amber-100 rounded",children:[k,r.jsx("button",{onClick:N=>{N.stopPropagation(),g(k)},className:"hover:opacity-70 transition-opacity","data-testid":`remove-tag-input-${k}`,children:r.jsx(Ee,{className:"w-3 h-3"})})]},k)),e.tags.length===0&&r.jsxs("span",{className:"text-sm text-gray-400 dark:text-gray-500 flex items-center gap-1.5",children:[r.jsx(Ra,{className:"w-4 h-4"}),"Click to select tags..."]})]}),d&&r.jsxs(r.Fragment,{children:[r.jsx("div",{className:"fixed inset-0 z-10",onClick:()=>u(!1)}),r.jsx("div",{className:"absolute left-0 top-full mt-1 w-full max-h-48 overflow-y-auto py-1 bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded-lg shadow-lg z-20",children:n.filter(k=>!e.tags.includes(k)).length===0?r.jsx("div",{className:"px-3 py-2 text-sm text-gray-500 dark:text-gray-400",children:"All tags selected"}):n.filter(k=>!e.tags.includes(k)).map(k=>r.jsxs("button",{onClick:()=>g(k),className:"flex items-center gap-2 w-full px-3 py-2 text-sm text-gray-700 dark:text-gray-200 hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors","data-testid":`filter-tag-${k}`,children:[r.jsx(Ra,{className:"w-3 h-3 text-gray-400"}),r.jsx("span",{children:k})]},k))})]})]})]})]}),!o&&h&&r.jsxs("div",{className:"mt-2 flex flex-wrap gap-1.5","data-testid":"filter-chips",children:[e.contentTypes.map(k=>{const N=f0.find(v=>v.value===k);return r.jsxs("span",{className:`inline-flex items-center gap-1 px-2 py-1 text-xs font-medium rounded-full ${N?.color||"bg-gray-100 text-gray-700"}`,children:[N?.label||k,r.jsx("button",{onClick:()=>p(k),className:"hover:opacity-70 transition-opacity","data-testid":`remove-type-${k}`,children:r.jsx(Ee,{className:"w-3 h-3"})})]},`type-${k}`)}),e.tags.map(k=>r.jsxs("span",{className:"inline-flex items-center gap-1 px-2 py-1 text-xs font-medium bg-amber-100 text-amber-800 dark:bg-amber-900 dark:text-amber-100 rounded-full",children:[r.jsx(Ra,{className:"w-3 h-3"}),k,r.jsx("button",{onClick:()=>j(k),className:"hover:opacity-70 transition-opacity","data-testid":`remove-tag-${k}`,children:r.jsx(Ee,{className:"w-3 h-3"})})]},`tag-${k}`))]})]})}function f5({open:e,onClose:t,filters:a,onFilterChange:n,onClearFilters:o,availableTags:l}){const d=y.useRef(null),u=y.useRef(null),m=y.useRef(0),h=id(a);y.useEffect(()=>{if(e){const v=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=v}}},[e]),y.useEffect(()=>{if(!e)return;const v=T=>{T.key==="Escape"&&t()};return document.addEventListener("keydown",v),()=>document.removeEventListener("keydown",v)},[e,t]),y.useEffect(()=>{if(!e)return;window.history.pushState({mobileSheet:!0},"");const v=T=>{T.state?.mobileSheet===void 0&&t()};return window.addEventListener("popstate",v),()=>{window.removeEventListener("popstate",v),window.history.state?.mobileSheet&&window.history.back()}},[e,t]);const x=v=>{u.current=v.touches[0].clientY,m.current=0},g=v=>{u.current!==null&&(m.current=v.touches[0].clientY-u.current,m.current<0&&(m.current=0),d.current&&m.current>0&&(d.current.style.transform=`translateY(${m.current}px)`))},p=()=>{u.current!==null&&(m.current>100?t():d.current&&(d.current.style.transform="translateY(0)"),u.current=null,m.current=0)};y.useEffect(()=>{e&&d.current&&d.current.querySelector('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])')?.focus()},[e]);const j=v=>{const T=a.contentTypes.includes(v)?a.contentTypes.filter(E=>E!==v):[...a.contentTypes,v];n({...a,contentTypes:T})},k=v=>{const T=a.tags.includes(v)?a.tags.filter(E=>E!==v):[...a.tags,v];n({...a,tags:T})},N=()=>{o(),t()};return e?r.jsxs("div",{className:"fixed inset-0 z-50","data-testid":"mobile-document-filter",role:"dialog","aria-modal":"true","aria-label":"Document filters",children:[r.jsx("div",{className:"absolute inset-0 bg-black/50 backdrop-blur-sm transition-opacity duration-200",onClick:t,"aria-hidden":"true"}),r.jsxs("div",{ref:d,className:"absolute inset-x-0 bottom-0 top-0 bg-[var(--color-bg)] shadow-2xl flex flex-col transform transition-transform duration-200 ease-out",style:{transform:e?"translateY(0)":"translateY(100%)"},children:[r.jsxs("div",{className:"flex items-center gap-2 px-4 py-3 border-b border-[var(--color-border)] bg-[var(--color-surface)] sticky top-0 z-10",onTouchStart:x,onTouchMove:g,onTouchEnd:p,children:[r.jsx("div",{className:"absolute top-1 left-1/2 -translate-x-1/2 w-10 h-1 bg-[var(--color-border)] rounded-full"}),r.jsx("button",{onClick:t,className:"p-2 -ml-2 rounded-md text-[var(--color-text-secondary)] hover:text-[var(--color-text)] hover:bg-[var(--color-surface-hover)] transition-colors duration-150 touch-target","aria-label":"Close",children:r.jsx(Pr,{className:"w-5 h-5"})}),r.jsx("h2",{className:"flex-1 text-lg font-semibold text-[var(--color-text)]",children:"Filters"})]}),r.jsxs("div",{className:"flex-1 overflow-y-auto p-4 space-y-6",children:[r.jsxs("div",{children:[r.jsx("label",{className:"block text-sm font-medium text-[var(--color-text)] mb-2",children:"Type"}),r.jsx("div",{className:"flex flex-wrap gap-2",children:f0.map(v=>{const T=a.contentTypes.includes(v.value);return r.jsxs("button",{onClick:()=>j(v.value),className:`flex items-center gap-1.5 px-3 py-2 text-sm rounded-lg border transition-colors touch-target ${T?`${v.color} border-transparent font-medium`:"bg-white dark:bg-gray-800 border-gray-300 dark:border-gray-600 text-gray-600 dark:text-gray-300"}`,"data-testid":`mobile-filter-type-${v.value}`,children:[T&&r.jsx(Dt,{className:"w-4 h-4"}),v.label]},v.value)})})]}),l.length>0&&r.jsxs("div",{children:[r.jsx("label",{className:"block text-sm font-medium text-[var(--color-text)] mb-2",children:"Tags"}),r.jsx("div",{className:"flex flex-wrap gap-2",children:l.map(v=>{const T=a.tags.includes(v);return r.jsxs("button",{onClick:()=>k(v),className:`flex items-center gap-1.5 px-3 py-2 text-sm rounded-lg border transition-colors touch-target ${T?"bg-amber-100 dark:bg-amber-900 text-amber-800 dark:text-amber-100 border-transparent font-medium":"bg-white dark:bg-gray-800 border-gray-300 dark:border-gray-600 text-gray-600 dark:text-gray-300"}`,"data-testid":`mobile-filter-tag-${v}`,children:[r.jsx(Ra,{className:"w-4 h-4"}),v,T&&r.jsx(Dt,{className:"w-4 h-4"})]},v)})})]}),h>0&&r.jsxs("button",{onClick:N,className:"w-full py-2.5 text-sm font-medium text-red-600 dark:text-red-400 border border-red-300 dark:border-red-800 rounded-lg hover:bg-red-50 dark:hover:bg-red-900/20 transition-colors touch-target","data-testid":"mobile-clear-filters",children:["Clear all filters (",h,")"]}),r.jsx("button",{onClick:t,className:"w-full py-2.5 text-sm font-medium text-white bg-blue-600 rounded-lg hover:bg-blue-700 transition-colors touch-target","data-testid":"mobile-apply-filters",children:"Apply Filters"})]})]})]}):null}function iq({tags:e,onTagsChange:t,disabled:a=!1,placeholder:n="Add tag..."}){const[o,l]=y.useState(""),[d,u]=y.useState(!1),m=y.useRef(null);y.useEffect(()=>{d&&m.current&&m.current.focus()},[d]);const h=()=>{const j=o.trim().toLowerCase();j&&!e.includes(j)&&t([...e,j]),l(""),u(!1)},x=j=>{t(e.filter(k=>k!==j))},g=j=>{j.key==="Enter"?(j.preventDefault(),h()):j.key==="Escape"?(l(""),u(!1)):j.key==="Backspace"&&o===""&&e.length>0&&x(e[e.length-1])},p=()=>{o.trim()?h():u(!1)};return r.jsxs("div",{"data-testid":"document-tag-input",children:[r.jsxs("div",{className:"text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wide mb-2 flex items-center gap-1",children:[r.jsx(Ra,{className:"w-3 h-3"}),"Tags"]}),r.jsxs("div",{className:"flex flex-wrap items-center gap-1.5",children:[e.map(j=>r.jsxs("span",{"data-testid":`document-tag-${j}`,className:"inline-flex items-center gap-1 px-2 py-0.5 text-xs font-medium bg-amber-100 text-amber-800 dark:bg-amber-900 dark:text-amber-100 rounded",children:[j,!a&&r.jsx("button",{onClick:()=>x(j),className:"hover:opacity-70 transition-opacity","data-testid":`remove-tag-${j}`,"aria-label":`Remove tag ${j}`,children:r.jsx(Ee,{className:"w-3 h-3"})})]},j)),!a&&(d?r.jsx("input",{ref:m,type:"text",value:o,onChange:j=>l(j.target.value),onKeyDown:g,onBlur:p,placeholder:n,className:"px-2 py-0.5 text-xs border border-gray-300 dark:border-gray-600 dark:bg-gray-800 dark:text-white rounded focus:outline-none focus:ring-1 focus:ring-blue-500 focus:border-blue-500 min-w-[80px]","data-testid":"tag-input"}):r.jsxs("button",{onClick:()=>u(!0),className:"inline-flex items-center gap-1 px-2 py-0.5 text-xs text-gray-500 dark:text-gray-400 hover:text-gray-700 dark:hover:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-700 rounded transition-colors","data-testid":"add-tag-button",children:[r.jsx(Fe,{className:"w-3 h-3"}),"Add tag"]})),e.length===0&&a&&r.jsx("span",{className:"text-xs text-gray-400 dark:text-gray-500",children:"No tags"})]})]})}function T1({isOpen:e,onClose:t,onConfirm:a,library:n,documentCount:o=0,isDeleting:l=!1,error:d=null,isMobile:u=!1}){const[m,h]=y.useState(!0);y.useEffect(()=>{e&&h(!0)},[e]);const x=async()=>{await a(m)},g=()=>{l||t()};return e?u?r.jsxs("div",{className:"fixed inset-0 z-50 bg-[var(--color-bg)]","data-testid":"delete-library-modal",children:[r.jsxs("div",{className:"flex items-center gap-2 px-4 py-3 border-b border-[var(--color-border)] bg-[var(--color-surface)] sticky top-0 z-10",children:[r.jsx("button",{onClick:g,disabled:l,className:"p-2 -ml-2 rounded-md text-[var(--color-text-secondary)] hover:text-[var(--color-text)] hover:bg-[var(--color-surface-hover)] transition-colors duration-150 touch-target disabled:opacity-50","aria-label":"Cancel","data-testid":"delete-library-close",children:r.jsx(Pr,{className:"w-5 h-5"})}),r.jsx(jt,{className:"w-5 h-5 text-red-500"}),r.jsx("h2",{className:"flex-1 text-lg font-semibold text-[var(--color-text)]",children:"Delete Library"})]}),r.jsx("div",{className:"p-4 pb-24 overflow-y-auto",children:r.jsx(E1,{library:n,documentCount:o,deleteDocuments:m,setDeleteDocuments:h,error:d})}),r.jsx("div",{className:"fixed bottom-0 left-0 right-0 px-4 py-3 border-t border-[var(--color-border)] bg-[var(--color-surface)]",children:r.jsxs("div",{className:"flex items-center justify-end gap-3",children:[r.jsx("button",{type:"button",onClick:g,disabled:l,className:"px-4 py-2.5 text-sm font-medium text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-700 rounded-md transition-colors disabled:opacity-50 touch-target","data-testid":"delete-library-cancel-button",children:"Cancel"}),r.jsx("button",{type:"button",onClick:x,disabled:l,className:"inline-flex items-center gap-2 px-4 py-2.5 text-sm font-medium text-white bg-red-600 hover:bg-red-700 rounded-md transition-colors disabled:opacity-50 disabled:cursor-not-allowed touch-target","data-testid":"delete-library-confirm-button",children:l?r.jsxs(r.Fragment,{children:[r.jsx(je,{className:"w-4 h-4 animate-spin"}),"Deleting..."]}):r.jsxs(r.Fragment,{children:[r.jsx(jt,{className:"w-4 h-4"}),"Delete Library"]})})]})})]}):r.jsx("div",{"data-testid":"delete-library-modal",className:"fixed inset-0 z-50 flex items-center justify-center bg-black/50",onClick:p=>p.target===p.currentTarget&&g(),children:r.jsxs("div",{className:"bg-white dark:bg-gray-900 rounded-lg shadow-xl w-full max-w-md mx-4",children:[r.jsxs("div",{className:"flex items-center justify-between p-4 border-b border-gray-200 dark:border-gray-700",children:[r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsx(jt,{className:"w-5 h-5 text-red-500"}),r.jsx("h3",{className:"text-lg font-semibold text-gray-900 dark:text-white",children:"Delete Library"})]}),r.jsx("button",{onClick:g,disabled:l,className:"p-1 text-gray-400 hover:text-gray-600 dark:hover:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-800 rounded disabled:opacity-50","data-testid":"delete-library-close",children:r.jsx(Ee,{className:"w-5 h-5"})})]}),r.jsx("div",{className:"p-4",children:r.jsx(E1,{library:n,documentCount:o,deleteDocuments:m,setDeleteDocuments:h,error:d})}),r.jsxs("div",{className:"flex items-center justify-end gap-3 p-4 border-t border-gray-200 dark:border-gray-700 bg-gray-50 dark:bg-gray-800/50 rounded-b-lg",children:[r.jsx("button",{type:"button",onClick:g,disabled:l,className:"px-4 py-2 text-sm font-medium text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-700 rounded-md transition-colors disabled:opacity-50","data-testid":"delete-library-cancel-button",children:"Cancel"}),r.jsx("button",{type:"button",onClick:x,disabled:l,className:"inline-flex items-center gap-2 px-4 py-2 text-sm font-medium text-white bg-red-600 hover:bg-red-700 rounded-md transition-colors disabled:opacity-50 disabled:cursor-not-allowed","data-testid":"delete-library-confirm-button",children:l?r.jsxs(r.Fragment,{children:[r.jsx(je,{className:"w-4 h-4 animate-spin"}),"Deleting..."]}):r.jsxs(r.Fragment,{children:[r.jsx(jt,{className:"w-4 h-4"}),"Delete Library"]})})]})]})}):null}function E1({library:e,documentCount:t,deleteDocuments:a,setDeleteDocuments:n,error:o}){return r.jsxs(r.Fragment,{children:[r.jsxs("div",{className:"flex items-start gap-3 p-4 bg-red-50 dark:bg-red-900/20 border border-red-200 dark:border-red-800 rounded-lg mb-4",children:[r.jsx(Nr,{className:"w-5 h-5 text-red-600 dark:text-red-400 flex-shrink-0 mt-0.5"}),r.jsxs("div",{children:[r.jsx("h4",{className:"text-sm font-medium text-red-800 dark:text-red-300",children:"This action cannot be undone"}),r.jsxs("p",{className:"mt-1 text-sm text-red-700 dark:text-red-400",children:['You are about to delete the library "',r.jsx("strong",{children:e?.name}),'".',t>0&&r.jsxs(r.Fragment,{children:[" ","This library contains ",r.jsx("strong",{children:t})," document",t===1?"":"s","."]})]})]})]}),t>0&&r.jsxs("div",{className:"mb-4",children:[r.jsx("p",{className:"text-sm font-medium text-gray-700 dark:text-gray-300 mb-2",children:"What should happen to the documents in this library?"}),r.jsxs("div",{className:"space-y-2",children:[r.jsxs("label",{className:"flex items-start gap-3 p-3 rounded-lg border border-gray-200 dark:border-gray-700 cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-800 transition-colors",children:[r.jsx("input",{type:"radio",name:"deleteDocuments",checked:a,onChange:()=>n(!0),className:"mt-0.5","data-testid":"delete-documents-radio"}),r.jsxs("div",{children:[r.jsx("span",{className:"text-sm font-medium text-gray-900 dark:text-gray-100",children:"Delete all documents"}),r.jsxs("p",{className:"text-xs text-gray-500 dark:text-gray-400 mt-0.5",children:["Permanently delete all ",t," document",t===1?"":"s"," in this library"]})]})]}),r.jsxs("label",{className:"flex items-start gap-3 p-3 rounded-lg border border-gray-200 dark:border-gray-700 cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-800 transition-colors",children:[r.jsx("input",{type:"radio",name:"deleteDocuments",checked:!a,onChange:()=>n(!1),className:"mt-0.5","data-testid":"keep-documents-radio"}),r.jsxs("div",{children:[r.jsx("span",{className:"text-sm font-medium text-gray-900 dark:text-gray-100",children:"Keep documents"}),r.jsx("p",{className:"text-xs text-gray-500 dark:text-gray-400 mt-0.5",children:"Remove documents from this library but don't delete them"})]})]})]})]}),o&&r.jsx("div",{className:"p-3 bg-red-50 dark:bg-red-900/20 border border-red-200 dark:border-red-800 rounded-lg text-sm text-red-700 dark:text-red-400","data-testid":"delete-library-error",children:o})]})}var Mr="top",xa="bottom",ga="right",Lr="left",uy="auto",od=[Mr,xa,ga,Lr],Ao="start",Fc="end",oq="clippingParents",h5="viewport",Fl="popper",lq="reference",O1=od.reduce(function(e,t){return e.concat([t+"-"+Ao,t+"-"+Fc])},[]),x5=[].concat(od,[uy]).reduce(function(e,t){return e.concat([t,t+"-"+Ao,t+"-"+Fc])},[]),cq="beforeRead",dq="read",uq="afterRead",mq="beforeMain",fq="main",hq="afterMain",xq="beforeWrite",gq="write",pq="afterWrite",yq=[cq,dq,uq,mq,fq,hq,xq,gq,pq];function Ua(e){return e?(e.nodeName||"").toLowerCase():null}function Wr(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function Gs(e){var t=Wr(e).Element;return e instanceof t||e instanceof Element}function fa(e){var t=Wr(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function my(e){if(typeof ShadowRoot>"u")return!1;var t=Wr(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function bq(e){var t=e.state;Object.keys(t.elements).forEach(function(a){var n=t.styles[a]||{},o=t.attributes[a]||{},l=t.elements[a];!fa(l)||!Ua(l)||(Object.assign(l.style,n),Object.keys(o).forEach(function(d){var u=o[d];u===!1?l.removeAttribute(d):l.setAttribute(d,u===!0?"":u)}))})}function vq(e){var t=e.state,a={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,a.popper),t.styles=a,t.elements.arrow&&Object.assign(t.elements.arrow.style,a.arrow),function(){Object.keys(t.elements).forEach(function(n){var o=t.elements[n],l=t.attributes[n]||{},d=Object.keys(t.styles.hasOwnProperty(n)?t.styles[n]:a[n]),u=d.reduce(function(m,h){return m[h]="",m},{});!fa(o)||!Ua(o)||(Object.assign(o.style,u),Object.keys(l).forEach(function(m){o.removeAttribute(m)}))})}}const g5={name:"applyStyles",enabled:!0,phase:"write",fn:bq,effect:vq,requires:["computeStyles"]};function Ba(e){return e.split("-")[0]}var zs=Math.max,Pm=Math.min,$o=Math.round;function h0(){var e=navigator.userAgentData;return e!=null&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function p5(){return!/^((?!chrome|android).)*safari/i.test(h0())}function Do(e,t,a){t===void 0&&(t=!1),a===void 0&&(a=!1);var n=e.getBoundingClientRect(),o=1,l=1;t&&fa(e)&&(o=e.offsetWidth>0&&$o(n.width)/e.offsetWidth||1,l=e.offsetHeight>0&&$o(n.height)/e.offsetHeight||1);var d=Gs(e)?Wr(e):window,u=d.visualViewport,m=!p5()&&a,h=(n.left+(m&&u?u.offsetLeft:0))/o,x=(n.top+(m&&u?u.offsetTop:0))/l,g=n.width/o,p=n.height/l;return{width:g,height:p,top:x,right:h+g,bottom:x+p,left:h,x:h,y:x}}function fy(e){var t=Do(e),a=e.offsetWidth,n=e.offsetHeight;return Math.abs(t.width-a)<=1&&(a=t.width),Math.abs(t.height-n)<=1&&(n=t.height),{x:e.offsetLeft,y:e.offsetTop,width:a,height:n}}function y5(e,t){var a=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(a&&my(a)){var n=t;do{if(n&&e.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function jn(e){return Wr(e).getComputedStyle(e)}function jq(e){return["table","td","th"].indexOf(Ua(e))>=0}function is(e){return((Gs(e)?e.ownerDocument:e.document)||window.document).documentElement}function wf(e){return Ua(e)==="html"?e:e.assignedSlot||e.parentNode||(my(e)?e.host:null)||is(e)}function A1(e){return!fa(e)||jn(e).position==="fixed"?null:e.offsetParent}function wq(e){var t=/firefox/i.test(h0()),a=/Trident/i.test(h0());if(a&&fa(e)){var n=jn(e);if(n.position==="fixed")return null}var o=wf(e);for(my(o)&&(o=o.host);fa(o)&&["html","body"].indexOf(Ua(o))<0;){var l=jn(o);if(l.transform!=="none"||l.perspective!=="none"||l.contain==="paint"||["transform","perspective"].indexOf(l.willChange)!==-1||t&&l.willChange==="filter"||t&&l.filter&&l.filter!=="none")return o;o=o.parentNode}return null}function ld(e){for(var t=Wr(e),a=A1(e);a&&jq(a)&&jn(a).position==="static";)a=A1(a);return a&&(Ua(a)==="html"||Ua(a)==="body"&&jn(a).position==="static")?t:a||wq(e)||t}function hy(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function tc(e,t,a){return zs(e,Pm(t,a))}function kq(e,t,a){var n=tc(e,t,a);return n>a?a:n}function b5(){return{top:0,right:0,bottom:0,left:0}}function v5(e){return Object.assign({},b5(),e)}function j5(e,t){return t.reduce(function(a,n){return a[n]=e,a},{})}var Nq=function(t,a){return t=typeof t=="function"?t(Object.assign({},a.rects,{placement:a.placement})):t,v5(typeof t!="number"?t:j5(t,od))};function Sq(e){var t,a=e.state,n=e.name,o=e.options,l=a.elements.arrow,d=a.modifiersData.popperOffsets,u=Ba(a.placement),m=hy(u),h=[Lr,ga].indexOf(u)>=0,x=h?"height":"width";if(!(!l||!d)){var g=Nq(o.padding,a),p=fy(l),j=m==="y"?Mr:Lr,k=m==="y"?xa:ga,N=a.rects.reference[x]+a.rects.reference[m]-d[m]-a.rects.popper[x],v=d[m]-a.rects.reference[m],T=ld(l),E=T?m==="y"?T.clientHeight||0:T.clientWidth||0:0,O=N/2-v/2,S=g[j],C=E-p[x]-g[k],A=E/2-p[x]/2+O,$=tc(S,A,C),P=m;a.modifiersData[n]=(t={},t[P]=$,t.centerOffset=$-A,t)}}function Cq(e){var t=e.state,a=e.options,n=a.element,o=n===void 0?"[data-popper-arrow]":n;o!=null&&(typeof o=="string"&&(o=t.elements.popper.querySelector(o),!o)||y5(t.elements.popper,o)&&(t.elements.arrow=o))}const Tq={name:"arrow",enabled:!0,phase:"main",fn:Sq,effect:Cq,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function _o(e){return e.split("-")[1]}var Eq={top:"auto",right:"auto",bottom:"auto",left:"auto"};function Oq(e,t){var a=e.x,n=e.y,o=t.devicePixelRatio||1;return{x:$o(a*o)/o||0,y:$o(n*o)/o||0}}function $1(e){var t,a=e.popper,n=e.popperRect,o=e.placement,l=e.variation,d=e.offsets,u=e.position,m=e.gpuAcceleration,h=e.adaptive,x=e.roundOffsets,g=e.isFixed,p=d.x,j=p===void 0?0:p,k=d.y,N=k===void 0?0:k,v=typeof x=="function"?x({x:j,y:N}):{x:j,y:N};j=v.x,N=v.y;var T=d.hasOwnProperty("x"),E=d.hasOwnProperty("y"),O=Lr,S=Mr,C=window;if(h){var A=ld(a),$="clientHeight",P="clientWidth";if(A===Wr(a)&&(A=is(a),jn(A).position!=="static"&&u==="absolute"&&($="scrollHeight",P="scrollWidth")),A=A,o===Mr||(o===Lr||o===ga)&&l===Fc){S=xa;var M=g&&A===C&&C.visualViewport?C.visualViewport.height:A[$];N-=M-n.height,N*=m?1:-1}if(o===Lr||(o===Mr||o===xa)&&l===Fc){O=ga;var q=g&&A===C&&C.visualViewport?C.visualViewport.width:A[P];j-=q-n.width,j*=m?1:-1}}var _=Object.assign({position:u},h&&Eq),z=x===!0?Oq({x:j,y:N},Wr(a)):{x:j,y:N};if(j=z.x,N=z.y,m){var U;return Object.assign({},_,(U={},U[S]=E?"0":"",U[O]=T?"0":"",U.transform=(C.devicePixelRatio||1)<=1?"translate("+j+"px, "+N+"px)":"translate3d("+j+"px, "+N+"px, 0)",U))}return Object.assign({},_,(t={},t[S]=E?N+"px":"",t[O]=T?j+"px":"",t.transform="",t))}function Aq(e){var t=e.state,a=e.options,n=a.gpuAcceleration,o=n===void 0?!0:n,l=a.adaptive,d=l===void 0?!0:l,u=a.roundOffsets,m=u===void 0?!0:u,h={placement:Ba(t.placement),variation:_o(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:o,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,$1(Object.assign({},h,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:d,roundOffsets:m})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,$1(Object.assign({},h,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:m})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}const $q={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:Aq,data:{}};var Mu={passive:!0};function Dq(e){var t=e.state,a=e.instance,n=e.options,o=n.scroll,l=o===void 0?!0:o,d=n.resize,u=d===void 0?!0:d,m=Wr(t.elements.popper),h=[].concat(t.scrollParents.reference,t.scrollParents.popper);return l&&h.forEach(function(x){x.addEventListener("scroll",a.update,Mu)}),u&&m.addEventListener("resize",a.update,Mu),function(){l&&h.forEach(function(x){x.removeEventListener("scroll",a.update,Mu)}),u&&m.removeEventListener("resize",a.update,Mu)}}const _q={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:Dq,data:{}};var Mq={left:"right",right:"left",bottom:"top",top:"bottom"};function Vu(e){return e.replace(/left|right|bottom|top/g,function(t){return Mq[t]})}var Lq={start:"end",end:"start"};function D1(e){return e.replace(/start|end/g,function(t){return Lq[t]})}function xy(e){var t=Wr(e),a=t.pageXOffset,n=t.pageYOffset;return{scrollLeft:a,scrollTop:n}}function gy(e){return Do(is(e)).left+xy(e).scrollLeft}function Pq(e,t){var a=Wr(e),n=is(e),o=a.visualViewport,l=n.clientWidth,d=n.clientHeight,u=0,m=0;if(o){l=o.width,d=o.height;var h=p5();(h||!h&&t==="fixed")&&(u=o.offsetLeft,m=o.offsetTop)}return{width:l,height:d,x:u+gy(e),y:m}}function Rq(e){var t,a=is(e),n=xy(e),o=(t=e.ownerDocument)==null?void 0:t.body,l=zs(a.scrollWidth,a.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),d=zs(a.scrollHeight,a.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0),u=-n.scrollLeft+gy(e),m=-n.scrollTop;return jn(o||a).direction==="rtl"&&(u+=zs(a.clientWidth,o?o.clientWidth:0)-l),{width:l,height:d,x:u,y:m}}function py(e){var t=jn(e),a=t.overflow,n=t.overflowX,o=t.overflowY;return/auto|scroll|overlay|hidden/.test(a+o+n)}function w5(e){return["html","body","#document"].indexOf(Ua(e))>=0?e.ownerDocument.body:fa(e)&&py(e)?e:w5(wf(e))}function rc(e,t){var a;t===void 0&&(t=[]);var n=w5(e),o=n===((a=e.ownerDocument)==null?void 0:a.body),l=Wr(n),d=o?[l].concat(l.visualViewport||[],py(n)?n:[]):n,u=t.concat(d);return o?u:u.concat(rc(wf(d)))}function x0(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function Iq(e,t){var a=Do(e,!1,t==="fixed");return a.top=a.top+e.clientTop,a.left=a.left+e.clientLeft,a.bottom=a.top+e.clientHeight,a.right=a.left+e.clientWidth,a.width=e.clientWidth,a.height=e.clientHeight,a.x=a.left,a.y=a.top,a}function _1(e,t,a){return t===h5?x0(Pq(e,a)):Gs(t)?Iq(t,a):x0(Rq(is(e)))}function Bq(e){var t=rc(wf(e)),a=["absolute","fixed"].indexOf(jn(e).position)>=0,n=a&&fa(e)?ld(e):e;return Gs(n)?t.filter(function(o){return Gs(o)&&y5(o,n)&&Ua(o)!=="body"}):[]}function zq(e,t,a,n){var o=t==="clippingParents"?Bq(e):[].concat(t),l=[].concat(o,[a]),d=l[0],u=l.reduce(function(m,h){var x=_1(e,h,n);return m.top=zs(x.top,m.top),m.right=Pm(x.right,m.right),m.bottom=Pm(x.bottom,m.bottom),m.left=zs(x.left,m.left),m},_1(e,d,n));return u.width=u.right-u.left,u.height=u.bottom-u.top,u.x=u.left,u.y=u.top,u}function k5(e){var t=e.reference,a=e.element,n=e.placement,o=n?Ba(n):null,l=n?_o(n):null,d=t.x+t.width/2-a.width/2,u=t.y+t.height/2-a.height/2,m;switch(o){case Mr:m={x:d,y:t.y-a.height};break;case xa:m={x:d,y:t.y+t.height};break;case ga:m={x:t.x+t.width,y:u};break;case Lr:m={x:t.x-a.width,y:u};break;default:m={x:t.x,y:t.y}}var h=o?hy(o):null;if(h!=null){var x=h==="y"?"height":"width";switch(l){case Ao:m[h]=m[h]-(t[x]/2-a[x]/2);break;case Fc:m[h]=m[h]+(t[x]/2-a[x]/2);break}}return m}function Uc(e,t){t===void 0&&(t={});var a=t,n=a.placement,o=n===void 0?e.placement:n,l=a.strategy,d=l===void 0?e.strategy:l,u=a.boundary,m=u===void 0?oq:u,h=a.rootBoundary,x=h===void 0?h5:h,g=a.elementContext,p=g===void 0?Fl:g,j=a.altBoundary,k=j===void 0?!1:j,N=a.padding,v=N===void 0?0:N,T=v5(typeof v!="number"?v:j5(v,od)),E=p===Fl?lq:Fl,O=e.rects.popper,S=e.elements[k?E:p],C=zq(Gs(S)?S:S.contextElement||is(e.elements.popper),m,x,d),A=Do(e.elements.reference),$=k5({reference:A,element:O,placement:o}),P=x0(Object.assign({},O,$)),M=p===Fl?P:A,q={top:C.top-M.top+T.top,bottom:M.bottom-C.bottom+T.bottom,left:C.left-M.left+T.left,right:M.right-C.right+T.right},_=e.modifiersData.offset;if(p===Fl&&_){var z=_[o];Object.keys(q).forEach(function(U){var K=[ga,xa].indexOf(U)>=0?1:-1,R=[Mr,xa].indexOf(U)>=0?"y":"x";q[U]+=z[R]*K})}return q}function qq(e,t){t===void 0&&(t={});var a=t,n=a.placement,o=a.boundary,l=a.rootBoundary,d=a.padding,u=a.flipVariations,m=a.allowedAutoPlacements,h=m===void 0?x5:m,x=_o(n),g=x?u?O1:O1.filter(function(k){return _o(k)===x}):od,p=g.filter(function(k){return h.indexOf(k)>=0});p.length===0&&(p=g);var j=p.reduce(function(k,N){return k[N]=Uc(e,{placement:N,boundary:o,rootBoundary:l,padding:d})[Ba(N)],k},{});return Object.keys(j).sort(function(k,N){return j[k]-j[N]})}function Fq(e){if(Ba(e)===uy)return[];var t=Vu(e);return[D1(e),t,D1(t)]}function Uq(e){var t=e.state,a=e.options,n=e.name;if(!t.modifiersData[n]._skip){for(var o=a.mainAxis,l=o===void 0?!0:o,d=a.altAxis,u=d===void 0?!0:d,m=a.fallbackPlacements,h=a.padding,x=a.boundary,g=a.rootBoundary,p=a.altBoundary,j=a.flipVariations,k=j===void 0?!0:j,N=a.allowedAutoPlacements,v=t.options.placement,T=Ba(v),E=T===v,O=m||(E||!k?[Vu(v)]:Fq(v)),S=[v].concat(O).reduce(function(ge,se){return ge.concat(Ba(se)===uy?qq(t,{placement:se,boundary:x,rootBoundary:g,padding:h,flipVariations:k,allowedAutoPlacements:N}):se)},[]),C=t.rects.reference,A=t.rects.popper,$=new Map,P=!0,M=S[0],q=0;q<S.length;q++){var _=S[q],z=Ba(_),U=_o(_)===Ao,K=[Mr,xa].indexOf(z)>=0,R=K?"width":"height",L=Uc(t,{placement:_,boundary:x,rootBoundary:g,altBoundary:p,padding:h}),F=K?U?ga:Lr:U?xa:Mr;C[R]>A[R]&&(F=Vu(F));var B=Vu(F),H=[];if(l&&H.push(L[z]<=0),u&&H.push(L[F]<=0,L[B]<=0),H.every(function(ge){return ge})){M=_,P=!1;break}$.set(_,H)}if(P)for(var G=k?3:1,W=function(se){var ye=S.find(function(Ne){var we=$.get(Ne);if(we)return we.slice(0,se).every(function(me){return me})});if(ye)return M=ye,"break"},te=G;te>0;te--){var le=W(te);if(le==="break")break}t.placement!==M&&(t.modifiersData[n]._skip=!0,t.placement=M,t.reset=!0)}}const Kq={name:"flip",enabled:!0,phase:"main",fn:Uq,requiresIfExists:["offset"],data:{_skip:!1}};function M1(e,t,a){return a===void 0&&(a={x:0,y:0}),{top:e.top-t.height-a.y,right:e.right-t.width+a.x,bottom:e.bottom-t.height+a.y,left:e.left-t.width-a.x}}function L1(e){return[Mr,ga,xa,Lr].some(function(t){return e[t]>=0})}function Hq(e){var t=e.state,a=e.name,n=t.rects.reference,o=t.rects.popper,l=t.modifiersData.preventOverflow,d=Uc(t,{elementContext:"reference"}),u=Uc(t,{altBoundary:!0}),m=M1(d,n),h=M1(u,o,l),x=L1(m),g=L1(h);t.modifiersData[a]={referenceClippingOffsets:m,popperEscapeOffsets:h,isReferenceHidden:x,hasPopperEscaped:g},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":x,"data-popper-escaped":g})}const Vq={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:Hq};function Gq(e,t,a){var n=Ba(e),o=[Lr,Mr].indexOf(n)>=0?-1:1,l=typeof a=="function"?a(Object.assign({},t,{placement:e})):a,d=l[0],u=l[1];return d=d||0,u=(u||0)*o,[Lr,ga].indexOf(n)>=0?{x:u,y:d}:{x:d,y:u}}function Yq(e){var t=e.state,a=e.options,n=e.name,o=a.offset,l=o===void 0?[0,0]:o,d=x5.reduce(function(x,g){return x[g]=Gq(g,t.rects,l),x},{}),u=d[t.placement],m=u.x,h=u.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=m,t.modifiersData.popperOffsets.y+=h),t.modifiersData[n]=d}const Qq={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:Yq};function Xq(e){var t=e.state,a=e.name;t.modifiersData[a]=k5({reference:t.rects.reference,element:t.rects.popper,placement:t.placement})}const Wq={name:"popperOffsets",enabled:!0,phase:"read",fn:Xq,data:{}};function Zq(e){return e==="x"?"y":"x"}function Jq(e){var t=e.state,a=e.options,n=e.name,o=a.mainAxis,l=o===void 0?!0:o,d=a.altAxis,u=d===void 0?!1:d,m=a.boundary,h=a.rootBoundary,x=a.altBoundary,g=a.padding,p=a.tether,j=p===void 0?!0:p,k=a.tetherOffset,N=k===void 0?0:k,v=Uc(t,{boundary:m,rootBoundary:h,padding:g,altBoundary:x}),T=Ba(t.placement),E=_o(t.placement),O=!E,S=hy(T),C=Zq(S),A=t.modifiersData.popperOffsets,$=t.rects.reference,P=t.rects.popper,M=typeof N=="function"?N(Object.assign({},t.rects,{placement:t.placement})):N,q=typeof M=="number"?{mainAxis:M,altAxis:M}:Object.assign({mainAxis:0,altAxis:0},M),_=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,z={x:0,y:0};if(A){if(l){var U,K=S==="y"?Mr:Lr,R=S==="y"?xa:ga,L=S==="y"?"height":"width",F=A[S],B=F+v[K],H=F-v[R],G=j?-P[L]/2:0,W=E===Ao?$[L]:P[L],te=E===Ao?-P[L]:-$[L],le=t.elements.arrow,ge=j&&le?fy(le):{width:0,height:0},se=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:b5(),ye=se[K],Ne=se[R],we=tc(0,$[L],ge[L]),me=O?$[L]/2-G-we-ye-q.mainAxis:W-we-ye-q.mainAxis,J=O?-$[L]/2+G+we+Ne+q.mainAxis:te+we+Ne+q.mainAxis,re=t.elements.arrow&&ld(t.elements.arrow),Y=re?S==="y"?re.clientTop||0:re.clientLeft||0:0,he=(U=_?.[S])!=null?U:0,ce=F+me-he-Y,pe=F+J-he,ke=tc(j?Pm(B,ce):B,F,j?zs(H,pe):H);A[S]=ke,z[S]=ke-F}if(u){var _e,Le=S==="x"?Mr:Lr,Ue=S==="x"?xa:ga,Ge=A[C],rt=C==="y"?"height":"width",Ot=Ge+v[Le],Mt=Ge-v[Ue],ht=[Mr,Lr].indexOf(T)!==-1,Yt=(_e=_?.[C])!=null?_e:0,Zr=ht?Ot:Ge-$[rt]-P[rt]-Yt+q.altAxis,Jr=ht?Ge+$[rt]+P[rt]-Yt-q.altAxis:Mt,Rr=j&&ht?kq(Zr,Ge,Jr):tc(j?Zr:Ot,Ge,j?Jr:Mt);A[C]=Rr,z[C]=Rr-Ge}t.modifiersData[n]=z}}const eF={name:"preventOverflow",enabled:!0,phase:"main",fn:Jq,requiresIfExists:["offset"]};function tF(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function rF(e){return e===Wr(e)||!fa(e)?xy(e):tF(e)}function aF(e){var t=e.getBoundingClientRect(),a=$o(t.width)/e.offsetWidth||1,n=$o(t.height)/e.offsetHeight||1;return a!==1||n!==1}function nF(e,t,a){a===void 0&&(a=!1);var n=fa(t),o=fa(t)&&aF(t),l=is(t),d=Do(e,o,a),u={scrollLeft:0,scrollTop:0},m={x:0,y:0};return(n||!n&&!a)&&((Ua(t)!=="body"||py(l))&&(u=rF(t)),fa(t)?(m=Do(t,!0),m.x+=t.clientLeft,m.y+=t.clientTop):l&&(m.x=gy(l))),{x:d.left+u.scrollLeft-m.x,y:d.top+u.scrollTop-m.y,width:d.width,height:d.height}}function sF(e){var t=new Map,a=new Set,n=[];e.forEach(function(l){t.set(l.name,l)});function o(l){a.add(l.name);var d=[].concat(l.requires||[],l.requiresIfExists||[]);d.forEach(function(u){if(!a.has(u)){var m=t.get(u);m&&o(m)}}),n.push(l)}return e.forEach(function(l){a.has(l.name)||o(l)}),n}function iF(e){var t=sF(e);return yq.reduce(function(a,n){return a.concat(t.filter(function(o){return o.phase===n}))},[])}function oF(e){var t;return function(){return t||(t=new Promise(function(a){Promise.resolve().then(function(){t=void 0,a(e())})})),t}}function lF(e){var t=e.reduce(function(a,n){var o=a[n.name];return a[n.name]=o?Object.assign({},o,n,{options:Object.assign({},o.options,n.options),data:Object.assign({},o.data,n.data)}):n,a},{});return Object.keys(t).map(function(a){return t[a]})}var P1={placement:"bottom",modifiers:[],strategy:"absolute"};function R1(){for(var e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];return!t.some(function(n){return!(n&&typeof n.getBoundingClientRect=="function")})}function cF(e){e===void 0&&(e={});var t=e,a=t.defaultModifiers,n=a===void 0?[]:a,o=t.defaultOptions,l=o===void 0?P1:o;return function(u,m,h){h===void 0&&(h=l);var x={placement:"bottom",orderedModifiers:[],options:Object.assign({},P1,l),modifiersData:{},elements:{reference:u,popper:m},attributes:{},styles:{}},g=[],p=!1,j={state:x,setOptions:function(T){var E=typeof T=="function"?T(x.options):T;N(),x.options=Object.assign({},l,x.options,E),x.scrollParents={reference:Gs(u)?rc(u):u.contextElement?rc(u.contextElement):[],popper:rc(m)};var O=iF(lF([].concat(n,x.options.modifiers)));return x.orderedModifiers=O.filter(function(S){return S.enabled}),k(),j.update()},forceUpdate:function(){if(!p){var T=x.elements,E=T.reference,O=T.popper;if(R1(E,O)){x.rects={reference:nF(E,ld(O),x.options.strategy==="fixed"),popper:fy(O)},x.reset=!1,x.placement=x.options.placement,x.orderedModifiers.forEach(function(q){return x.modifiersData[q.name]=Object.assign({},q.data)});for(var S=0;S<x.orderedModifiers.length;S++){if(x.reset===!0){x.reset=!1,S=-1;continue}var C=x.orderedModifiers[S],A=C.fn,$=C.options,P=$===void 0?{}:$,M=C.name;typeof A=="function"&&(x=A({state:x,options:P,name:M,instance:j})||x)}}}},update:oF(function(){return new Promise(function(v){j.forceUpdate(),v(x)})}),destroy:function(){N(),p=!0}};if(!R1(u,m))return j;j.setOptions(h).then(function(v){!p&&h.onFirstUpdate&&h.onFirstUpdate(v)});function k(){x.orderedModifiers.forEach(function(v){var T=v.name,E=v.options,O=E===void 0?{}:E,S=v.effect;if(typeof S=="function"){var C=S({state:x,name:T,instance:j,options:O}),A=function(){};g.push(C||A)}})}function N(){g.forEach(function(v){return v()}),g=[]}return j}}var dF=[_q,Wq,$q,g5,Qq,Kq,eF,Tq,Vq],uF=cF({defaultModifiers:dF}),mF="tippy-box",N5="tippy-content",fF="tippy-backdrop",S5="tippy-arrow",C5="tippy-svg-arrow",$s={passive:!0,capture:!0},T5=function(){return document.body};function $g(e,t,a){if(Array.isArray(e)){var n=e[t];return n??(Array.isArray(a)?a[t]:a)}return e}function yy(e,t){var a={}.toString.call(e);return a.indexOf("[object")===0&&a.indexOf(t+"]")>-1}function E5(e,t){return typeof e=="function"?e.apply(void 0,t):e}function I1(e,t){if(t===0)return e;var a;return function(n){clearTimeout(a),a=setTimeout(function(){e(n)},t)}}function hF(e){return e.split(/\s+/).filter(Boolean)}function Qi(e){return[].concat(e)}function B1(e,t){e.indexOf(t)===-1&&e.push(t)}function xF(e){return e.filter(function(t,a){return e.indexOf(t)===a})}function gF(e){return e.split("-")[0]}function Rm(e){return[].slice.call(e)}function z1(e){return Object.keys(e).reduce(function(t,a){return e[a]!==void 0&&(t[a]=e[a]),t},{})}function ac(){return document.createElement("div")}function kf(e){return["Element","Fragment"].some(function(t){return yy(e,t)})}function pF(e){return yy(e,"NodeList")}function yF(e){return yy(e,"MouseEvent")}function bF(e){return!!(e&&e._tippy&&e._tippy.reference===e)}function vF(e){return kf(e)?[e]:pF(e)?Rm(e):Array.isArray(e)?e:Rm(document.querySelectorAll(e))}function Dg(e,t){e.forEach(function(a){a&&(a.style.transitionDuration=t+"ms")})}function q1(e,t){e.forEach(function(a){a&&a.setAttribute("data-state",t)})}function jF(e){var t,a=Qi(e),n=a[0];return n!=null&&(t=n.ownerDocument)!=null&&t.body?n.ownerDocument:document}function wF(e,t){var a=t.clientX,n=t.clientY;return e.every(function(o){var l=o.popperRect,d=o.popperState,u=o.props,m=u.interactiveBorder,h=gF(d.placement),x=d.modifiersData.offset;if(!x)return!0;var g=h==="bottom"?x.top.y:0,p=h==="top"?x.bottom.y:0,j=h==="right"?x.left.x:0,k=h==="left"?x.right.x:0,N=l.top-n+g>m,v=n-l.bottom-p>m,T=l.left-a+j>m,E=a-l.right-k>m;return N||v||T||E})}function _g(e,t,a){var n=t+"EventListener";["transitionend","webkitTransitionEnd"].forEach(function(o){e[n](o,a)})}function F1(e,t){for(var a=t;a;){var n;if(e.contains(a))return!0;a=a.getRootNode==null||(n=a.getRootNode())==null?void 0:n.host}return!1}var La={isTouch:!1},U1=0;function kF(){La.isTouch||(La.isTouch=!0,window.performance&&document.addEventListener("mousemove",O5))}function O5(){var e=performance.now();e-U1<20&&(La.isTouch=!1,document.removeEventListener("mousemove",O5)),U1=e}function NF(){var e=document.activeElement;if(bF(e)){var t=e._tippy;e.blur&&!t.state.isVisible&&e.blur()}}function SF(){document.addEventListener("touchstart",kF,$s),window.addEventListener("blur",NF)}var CF=typeof window<"u"&&typeof document<"u",TF=CF?!!window.msCrypto:!1,EF={animateFill:!1,followCursor:!1,inlinePositioning:!1,sticky:!1},OF={allowHTML:!1,animation:"fade",arrow:!0,content:"",inertia:!1,maxWidth:350,role:"tooltip",theme:"",zIndex:9999},ka=Object.assign({appendTo:T5,aria:{content:"auto",expanded:"auto"},delay:0,duration:[300,250],getReferenceClientRect:null,hideOnClick:!0,ignoreAttributes:!1,interactive:!1,interactiveBorder:2,interactiveDebounce:0,moveTransition:"",offset:[0,10],onAfterUpdate:function(){},onBeforeUpdate:function(){},onCreate:function(){},onDestroy:function(){},onHidden:function(){},onHide:function(){},onMount:function(){},onShow:function(){},onShown:function(){},onTrigger:function(){},onUntrigger:function(){},onClickOutside:function(){},placement:"top",plugins:[],popperOptions:{},render:null,showOnCreate:!1,touch:!0,trigger:"mouseenter focus",triggerTarget:null},EF,OF),AF=Object.keys(ka),$F=function(t){var a=Object.keys(t);a.forEach(function(n){ka[n]=t[n]})};function A5(e){var t=e.plugins||[],a=t.reduce(function(n,o){var l=o.name,d=o.defaultValue;if(l){var u;n[l]=e[l]!==void 0?e[l]:(u=ka[l])!=null?u:d}return n},{});return Object.assign({},e,a)}function DF(e,t){var a=t?Object.keys(A5(Object.assign({},ka,{plugins:t}))):AF,n=a.reduce(function(o,l){var d=(e.getAttribute("data-tippy-"+l)||"").trim();if(!d)return o;if(l==="content")o[l]=d;else try{o[l]=JSON.parse(d)}catch{o[l]=d}return o},{});return n}function K1(e,t){var a=Object.assign({},t,{content:E5(t.content,[e])},t.ignoreAttributes?{}:DF(e,t.plugins));return a.aria=Object.assign({},ka.aria,a.aria),a.aria={expanded:a.aria.expanded==="auto"?t.interactive:a.aria.expanded,content:a.aria.content==="auto"?t.interactive?null:"describedby":a.aria.content},a}var _F=function(){return"innerHTML"};function g0(e,t){e[_F()]=t}function H1(e){var t=ac();return e===!0?t.className=S5:(t.className=C5,kf(e)?t.appendChild(e):g0(t,e)),t}function V1(e,t){kf(t.content)?(g0(e,""),e.appendChild(t.content)):typeof t.content!="function"&&(t.allowHTML?g0(e,t.content):e.textContent=t.content)}function p0(e){var t=e.firstElementChild,a=Rm(t.children);return{box:t,content:a.find(function(n){return n.classList.contains(N5)}),arrow:a.find(function(n){return n.classList.contains(S5)||n.classList.contains(C5)}),backdrop:a.find(function(n){return n.classList.contains(fF)})}}function $5(e){var t=ac(),a=ac();a.className=mF,a.setAttribute("data-state","hidden"),a.setAttribute("tabindex","-1");var n=ac();n.className=N5,n.setAttribute("data-state","hidden"),V1(n,e.props),t.appendChild(a),a.appendChild(n),o(e.props,e.props);function o(l,d){var u=p0(t),m=u.box,h=u.content,x=u.arrow;d.theme?m.setAttribute("data-theme",d.theme):m.removeAttribute("data-theme"),typeof d.animation=="string"?m.setAttribute("data-animation",d.animation):m.removeAttribute("data-animation"),d.inertia?m.setAttribute("data-inertia",""):m.removeAttribute("data-inertia"),m.style.maxWidth=typeof d.maxWidth=="number"?d.maxWidth+"px":d.maxWidth,d.role?m.setAttribute("role",d.role):m.removeAttribute("role"),(l.content!==d.content||l.allowHTML!==d.allowHTML)&&V1(h,e.props),d.arrow?x?l.arrow!==d.arrow&&(m.removeChild(x),m.appendChild(H1(d.arrow))):m.appendChild(H1(d.arrow)):x&&m.removeChild(x)}return{popper:t,onUpdate:o}}$5.$$tippy=!0;var MF=1,Lu=[],Mg=[];function LF(e,t){var a=K1(e,Object.assign({},ka,A5(z1(t)))),n,o,l,d=!1,u=!1,m=!1,h=!1,x,g,p,j=[],k=I1(ce,a.interactiveDebounce),N,v=MF++,T=null,E=xF(a.plugins),O={isEnabled:!0,isVisible:!1,isDestroyed:!1,isMounted:!1,isShown:!1},S={id:v,reference:e,popper:ac(),popperInstance:T,props:a,state:O,plugins:E,clearDelayTimeouts:Zr,setProps:Jr,setContent:Rr,show:cs,hide:Qt,hideWithInteractivity:ds,enable:ht,disable:Yt,unmount:us,destroy:Ir};if(!a.render)return S;var C=a.render(S),A=C.popper,$=C.onUpdate;A.setAttribute("data-tippy-root",""),A.id="tippy-"+S.id,S.popper=A,e._tippy=S,A._tippy=S;var P=E.map(function(X){return X.fn(S)}),M=e.hasAttribute("aria-expanded");return re(),G(),F(),B("onCreate",[S]),a.showOnCreate&&Ot(),A.addEventListener("mouseenter",function(){S.props.interactive&&S.state.isVisible&&S.clearDelayTimeouts()}),A.addEventListener("mouseleave",function(){S.props.interactive&&S.props.trigger.indexOf("mouseenter")>=0&&K().addEventListener("mousemove",k)}),S;function q(){var X=S.props.touch;return Array.isArray(X)?X:[X,0]}function _(){return q()[0]==="hold"}function z(){var X;return!!((X=S.props.render)!=null&&X.$$tippy)}function U(){return N||e}function K(){var X=U().parentNode;return X?jF(X):document}function R(){return p0(A)}function L(X){return S.state.isMounted&&!S.state.isVisible||La.isTouch||x&&x.type==="focus"?0:$g(S.props.delay,X?0:1,ka.delay)}function F(X){X===void 0&&(X=!1),A.style.pointerEvents=S.props.interactive&&!X?"":"none",A.style.zIndex=""+S.props.zIndex}function B(X,ve,Ce){if(Ce===void 0&&(Ce=!0),P.forEach(function(Be){Be[X]&&Be[X].apply(Be,ve)}),Ce){var Ie;(Ie=S.props)[X].apply(Ie,ve)}}function H(){var X=S.props.aria;if(X.content){var ve="aria-"+X.content,Ce=A.id,Ie=Qi(S.props.triggerTarget||e);Ie.forEach(function(Be){var wt=Be.getAttribute(ve);if(S.state.isVisible)Be.setAttribute(ve,wt?wt+" "+Ce:Ce);else{var Xt=wt&&wt.replace(Ce,"").trim();Xt?Be.setAttribute(ve,Xt):Be.removeAttribute(ve)}})}}function G(){if(!(M||!S.props.aria.expanded)){var X=Qi(S.props.triggerTarget||e);X.forEach(function(ve){S.props.interactive?ve.setAttribute("aria-expanded",S.state.isVisible&&ve===U()?"true":"false"):ve.removeAttribute("aria-expanded")})}}function W(){K().removeEventListener("mousemove",k),Lu=Lu.filter(function(X){return X!==k})}function te(X){if(!(La.isTouch&&(m||X.type==="mousedown"))){var ve=X.composedPath&&X.composedPath()[0]||X.target;if(!(S.props.interactive&&F1(A,ve))){if(Qi(S.props.triggerTarget||e).some(function(Ce){return F1(Ce,ve)})){if(La.isTouch||S.state.isVisible&&S.props.trigger.indexOf("click")>=0)return}else B("onClickOutside",[S,X]);S.props.hideOnClick===!0&&(S.clearDelayTimeouts(),S.hide(),u=!0,setTimeout(function(){u=!1}),S.state.isMounted||ye())}}}function le(){m=!0}function ge(){m=!1}function se(){var X=K();X.addEventListener("mousedown",te,!0),X.addEventListener("touchend",te,$s),X.addEventListener("touchstart",ge,$s),X.addEventListener("touchmove",le,$s)}function ye(){var X=K();X.removeEventListener("mousedown",te,!0),X.removeEventListener("touchend",te,$s),X.removeEventListener("touchstart",ge,$s),X.removeEventListener("touchmove",le,$s)}function Ne(X,ve){me(X,function(){!S.state.isVisible&&A.parentNode&&A.parentNode.contains(A)&&ve()})}function we(X,ve){me(X,ve)}function me(X,ve){var Ce=R().box;function Ie(Be){Be.target===Ce&&(_g(Ce,"remove",Ie),ve())}if(X===0)return ve();_g(Ce,"remove",g),_g(Ce,"add",Ie),g=Ie}function J(X,ve,Ce){Ce===void 0&&(Ce=!1);var Ie=Qi(S.props.triggerTarget||e);Ie.forEach(function(Be){Be.addEventListener(X,ve,Ce),j.push({node:Be,eventType:X,handler:ve,options:Ce})})}function re(){_()&&(J("touchstart",he,{passive:!0}),J("touchend",pe,{passive:!0})),hF(S.props.trigger).forEach(function(X){if(X!=="manual")switch(J(X,he),X){case"mouseenter":J("mouseleave",pe);break;case"focus":J(TF?"focusout":"blur",ke);break;case"focusin":J("focusout",ke);break}})}function Y(){j.forEach(function(X){var ve=X.node,Ce=X.eventType,Ie=X.handler,Be=X.options;ve.removeEventListener(Ce,Ie,Be)}),j=[]}function he(X){var ve,Ce=!1;if(!(!S.state.isEnabled||_e(X)||u)){var Ie=((ve=x)==null?void 0:ve.type)==="focus";x=X,N=X.currentTarget,G(),!S.state.isVisible&&yF(X)&&Lu.forEach(function(Be){return Be(X)}),X.type==="click"&&(S.props.trigger.indexOf("mouseenter")<0||d)&&S.props.hideOnClick!==!1&&S.state.isVisible?Ce=!0:Ot(X),X.type==="click"&&(d=!Ce),Ce&&!Ie&&Mt(X)}}function ce(X){var ve=X.target,Ce=U().contains(ve)||A.contains(ve);if(!(X.type==="mousemove"&&Ce)){var Ie=rt().concat(A).map(function(Be){var wt,Xt=Be._tippy,Br=(wt=Xt.popperInstance)==null?void 0:wt.state;return Br?{popperRect:Be.getBoundingClientRect(),popperState:Br,props:a}:null}).filter(Boolean);wF(Ie,X)&&(W(),Mt(X))}}function pe(X){var ve=_e(X)||S.props.trigger.indexOf("click")>=0&&d;if(!ve){if(S.props.interactive){S.hideWithInteractivity(X);return}Mt(X)}}function ke(X){S.props.trigger.indexOf("focusin")<0&&X.target!==U()||S.props.interactive&&X.relatedTarget&&A.contains(X.relatedTarget)||Mt(X)}function _e(X){return La.isTouch?_()!==X.type.indexOf("touch")>=0:!1}function Le(){Ue();var X=S.props,ve=X.popperOptions,Ce=X.placement,Ie=X.offset,Be=X.getReferenceClientRect,wt=X.moveTransition,Xt=z()?p0(A).arrow:null,Br=Be?{getBoundingClientRect:Be,contextElement:Be.contextElement||U()}:e,Ya={name:"$$tippy",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:function(St){var ar=St.state;if(z()){var Sn=R(),ms=Sn.box;["placement","reference-hidden","escaped"].forEach(function(Oa){Oa==="placement"?ms.setAttribute("data-placement",ar.placement):ar.attributes.popper["data-popper-"+Oa]?ms.setAttribute("data-"+Oa,""):ms.removeAttribute("data-"+Oa)}),ar.attributes.popper={}}}},Te=[{name:"offset",options:{offset:Ie}},{name:"preventOverflow",options:{padding:{top:2,bottom:2,left:5,right:5}}},{name:"flip",options:{padding:5}},{name:"computeStyles",options:{adaptive:!wt}},Ya];z()&&Xt&&Te.push({name:"arrow",options:{element:Xt,padding:3}}),Te.push.apply(Te,ve?.modifiers||[]),S.popperInstance=uF(Br,A,Object.assign({},ve,{placement:Ce,onFirstUpdate:p,modifiers:Te}))}function Ue(){S.popperInstance&&(S.popperInstance.destroy(),S.popperInstance=null)}function Ge(){var X=S.props.appendTo,ve,Ce=U();S.props.interactive&&X===T5||X==="parent"?ve=Ce.parentNode:ve=E5(X,[Ce]),ve.contains(A)||ve.appendChild(A),S.state.isMounted=!0,Le()}function rt(){return Rm(A.querySelectorAll("[data-tippy-root]"))}function Ot(X){S.clearDelayTimeouts(),X&&B("onTrigger",[S,X]),se();var ve=L(!0),Ce=q(),Ie=Ce[0],Be=Ce[1];La.isTouch&&Ie==="hold"&&Be&&(ve=Be),ve?n=setTimeout(function(){S.show()},ve):S.show()}function Mt(X){if(S.clearDelayTimeouts(),B("onUntrigger",[S,X]),!S.state.isVisible){ye();return}if(!(S.props.trigger.indexOf("mouseenter")>=0&&S.props.trigger.indexOf("click")>=0&&["mouseleave","mousemove"].indexOf(X.type)>=0&&d)){var ve=L(!1);ve?o=setTimeout(function(){S.state.isVisible&&S.hide()},ve):l=requestAnimationFrame(function(){S.hide()})}}function ht(){S.state.isEnabled=!0}function Yt(){S.hide(),S.state.isEnabled=!1}function Zr(){clearTimeout(n),clearTimeout(o),cancelAnimationFrame(l)}function Jr(X){if(!S.state.isDestroyed){B("onBeforeUpdate",[S,X]),Y();var ve=S.props,Ce=K1(e,Object.assign({},ve,z1(X),{ignoreAttributes:!0}));S.props=Ce,re(),ve.interactiveDebounce!==Ce.interactiveDebounce&&(W(),k=I1(ce,Ce.interactiveDebounce)),ve.triggerTarget&&!Ce.triggerTarget?Qi(ve.triggerTarget).forEach(function(Ie){Ie.removeAttribute("aria-expanded")}):Ce.triggerTarget&&e.removeAttribute("aria-expanded"),G(),F(),$&&$(ve,Ce),S.popperInstance&&(Le(),rt().forEach(function(Ie){requestAnimationFrame(Ie._tippy.popperInstance.forceUpdate)})),B("onAfterUpdate",[S,X])}}function Rr(X){S.setProps({content:X})}function cs(){var X=S.state.isVisible,ve=S.state.isDestroyed,Ce=!S.state.isEnabled,Ie=La.isTouch&&!S.props.touch,Be=$g(S.props.duration,0,ka.duration);if(!(X||ve||Ce||Ie)&&!U().hasAttribute("disabled")&&(B("onShow",[S],!1),S.props.onShow(S)!==!1)){if(S.state.isVisible=!0,z()&&(A.style.visibility="visible"),F(),se(),S.state.isMounted||(A.style.transition="none"),z()){var wt=R(),Xt=wt.box,Br=wt.content;Dg([Xt,Br],0)}p=function(){var Te;if(!(!S.state.isVisible||h)){if(h=!0,A.offsetHeight,A.style.transition=S.props.moveTransition,z()&&S.props.animation){var xt=R(),St=xt.box,ar=xt.content;Dg([St,ar],Be),q1([St,ar],"visible")}H(),G(),B1(Mg,S),(Te=S.popperInstance)==null||Te.forceUpdate(),B("onMount",[S]),S.props.animation&&z()&&we(Be,function(){S.state.isShown=!0,B("onShown",[S])})}},Ge()}}function Qt(){var X=!S.state.isVisible,ve=S.state.isDestroyed,Ce=!S.state.isEnabled,Ie=$g(S.props.duration,1,ka.duration);if(!(X||ve||Ce)&&(B("onHide",[S],!1),S.props.onHide(S)!==!1)){if(S.state.isVisible=!1,S.state.isShown=!1,h=!1,d=!1,z()&&(A.style.visibility="hidden"),W(),ye(),F(!0),z()){var Be=R(),wt=Be.box,Xt=Be.content;S.props.animation&&(Dg([wt,Xt],Ie),q1([wt,Xt],"hidden"))}H(),G(),S.props.animation?z()&&Ne(Ie,S.unmount):S.unmount()}}function ds(X){K().addEventListener("mousemove",k),B1(Lu,k),k(X)}function us(){S.state.isVisible&&S.hide(),S.state.isMounted&&(Ue(),rt().forEach(function(X){X._tippy.unmount()}),A.parentNode&&A.parentNode.removeChild(A),Mg=Mg.filter(function(X){return X!==S}),S.state.isMounted=!1,B("onHidden",[S]))}function Ir(){S.state.isDestroyed||(S.clearDelayTimeouts(),S.unmount(),Y(),delete e._tippy,S.state.isDestroyed=!0,B("onDestroy",[S]))}}function Ha(e,t){t===void 0&&(t={});var a=ka.plugins.concat(t.plugins||[]);SF();var n=Object.assign({},t,{plugins:a}),o=vF(e),l=o.reduce(function(d,u){var m=u&&LF(u,n);return m&&d.push(m),d},[]);return kf(e)?l[0]:l}Ha.defaultProps=ka;Ha.setDefaultProps=$F;Ha.currentInput=La;Object.assign({},g5,{effect:function(t){var a=t.state,n={popper:{position:a.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};Object.assign(a.elements.popper.style,n.popper),a.styles=n,a.elements.arrow&&Object.assign(a.elements.arrow.style,n.arrow)}});Ha.setDefaultProps({render:$5});const PF=e=>[{id:"bold",title:"Bold",description:"Make text bold",icon:r.jsx(ic,{className:"w-4 h-4"}),category:"formatting",action:({editor:t,range:a})=>{t.chain().focus().deleteRange(a).toggleBold().run()}},{id:"italic",title:"Italic",description:"Make text italic",icon:r.jsx(oc,{className:"w-4 h-4"}),category:"formatting",action:({editor:t,range:a})=>{t.chain().focus().deleteRange(a).toggleItalic().run()}},{id:"code",title:"Inline Code",description:"Format as inline code",icon:r.jsx(Us,{className:"w-4 h-4"}),category:"formatting",action:({editor:t,range:a})=>{t.chain().focus().deleteRange(a).toggleCode().run()}},{id:"codeblock",title:"Code Block",description:"Insert a code block",icon:r.jsx(Bo,{className:"w-4 h-4"}),category:"blocks",action:({editor:t,range:a})=>{t.chain().focus().deleteRange(a).toggleCodeBlock().run()}},{id:"quote",title:"Quote",description:"Insert a block quote",icon:r.jsx(Fm,{className:"w-4 h-4"}),category:"blocks",action:({editor:t,range:a})=>{t.chain().focus().deleteRange(a).toggleBlockquote().run()}},{id:"bullet",title:"Bullet List",description:"Create a simple bullet list",icon:r.jsx(za,{className:"w-4 h-4"}),category:"blocks",action:({editor:t,range:a})=>{t.chain().focus().deleteRange(a).toggleBulletList().run()}},{id:"numbered",title:"Numbered List",description:"Create a numbered list",icon:r.jsx(Um,{className:"w-4 h-4"}),category:"blocks",action:({editor:t,range:a})=>{t.chain().focus().deleteRange(a).toggleOrderedList().run()}},{id:"emoji",title:"Emoji",description:"Insert an emoji",icon:r.jsx(Km,{className:"w-4 h-4"}),category:"media",action:({editor:t,range:a})=>{t.chain().focus().deleteRange(a).run(),e?.onEmojiInsert&&e.onEmojiInsert()}},{id:"task",title:"Task",description:"Reference a task",icon:r.jsx(Ta,{className:"w-4 h-4"}),category:"embeds",action:({editor:t,range:a})=>{t.chain().focus().deleteRange(a).run(),e?.onTaskEmbed&&e.onTaskEmbed()}},{id:"doc",title:"Document",description:"Reference a document",icon:r.jsx(Je,{className:"w-4 h-4"}),category:"embeds",action:({editor:t,range:a})=>{t.chain().focus().deleteRange(a).run(),e?.onDocumentEmbed&&e.onDocumentEmbed()}}];function RF(e,t){if(!e)return t;const a=e.toLowerCase();return t.filter(n=>{const o=n.title.toLowerCase().includes(a),l=n.description.toLowerCase().includes(a),d=n.id.toLowerCase().includes(a);return o||l||d})}function IF(e){const t={formatting:[],blocks:[],media:[],embeds:[]};for(const a of e)t[a.category]&&t[a.category].push(a);return t}const BF={formatting:"Formatting",blocks:"Blocks",media:"Media",embeds:"Embeds"},D5=y.forwardRef(({items:e,command:t},a)=>{const[n,o]=y.useState(0);y.useEffect(()=>{o(0)},[e]);const l=y.useCallback(m=>{const h=e[m];h&&t(h)},[e,t]);if(y.useImperativeHandle(a,()=>({onKeyDown:({event:m})=>m.key==="ArrowUp"?(o(h=>h<=0?e.length-1:h-1),!0):m.key==="ArrowDown"?(o(h=>h>=e.length-1?0:h+1),!0):m.key==="Enter"?(l(n),!0):m.key==="Escape"})),!e.length)return r.jsx("div",{"data-testid":"message-slash-command-menu",className:"bg-white rounded-lg shadow-lg border border-gray-200 p-3 min-w-[240px]",children:r.jsx("div",{className:"text-sm text-gray-500",children:"No matching commands"})});const d=IF(e);let u=0;return r.jsx("div",{"data-testid":"message-slash-command-menu",className:"bg-white rounded-lg shadow-lg border border-gray-200 p-1 min-w-[240px] max-h-[300px] overflow-y-auto",children:Object.entries(d).map(([m,h])=>h.length===0?null:r.jsxs("div",{"data-testid":`message-slash-category-${m}`,children:[r.jsx("div",{className:"px-3 py-1.5 text-xs font-semibold text-gray-500 uppercase tracking-wide",children:BF[m]}),h.map(x=>{const g=u++,p=g===n;return r.jsxs("button",{"data-testid":`message-slash-item-${x.id}`,className:`w-full flex items-start gap-3 px-3 py-2 rounded text-left transition-colors ${p?"bg-blue-50 text-blue-700":"text-gray-700 hover:bg-gray-100"}`,onClick:j=>{j.preventDefault(),j.stopPropagation(),l(g)},onMouseDown:j=>{j.preventDefault()},onMouseEnter:()=>o(g),children:[r.jsx("div",{className:`mt-0.5 flex-shrink-0 ${p?"text-blue-600":"text-gray-400"}`,children:x.icon}),r.jsxs("div",{className:"flex-1 min-w-0",children:[r.jsx("div",{className:"text-sm font-medium",children:x.title}),r.jsx("div",{className:"text-xs text-gray-500 truncate",children:x.description})]})]},x.id)})]},m))})});D5.displayName="MessageSlashCommandMenu";function zF(e){return{char:"/",startOfLine:!1,items:({query:t})=>{const a=PF(e);return RF(t,a)},render:()=>{let t=null,a=null;return{onStart:n=>{t=new Uo(D5,{props:{items:n.items,command:n.command},editor:n.editor}),n.clientRect&&(a=Ha(document.body,{getReferenceClientRect:n.clientRect,appendTo:()=>document.body,content:t.element,showOnCreate:!0,interactive:!0,trigger:"manual",placement:"top-start",animation:"fade",zIndex:9999}))},onUpdate:n=>{t&&t.updateProps({items:n.items,command:n.command}),a&&n.clientRect&&a.setProps({getReferenceClientRect:n.clientRect})},onKeyDown:n=>n.event.key==="Escape"?(a?.hide(),!0):t?.ref?t.ref.onKeyDown(n):!1,onExit:()=>{a?.destroy(),t?.destroy()}}},command:({editor:t,range:a,props:n})=>{n.action({editor:t,range:a})}}}const qF=new qo("messageSlashCommands"),FF=Ws.create({name:"messageSlashCommands",addOptions(){return{embedCallbacks:void 0}},addProseMirrorPlugins(){return[Fo({editor:this.editor,pluginKey:qF,...zF(this.options.embedCallbacks)})]}}),_5=y.forwardRef(({items:e,command:t,isLoading:a=!1,query:n=""},o)=>{const[l,d]=y.useState(0);y.useEffect(()=>{d(0)},[e]);const u=y.useCallback(g=>{const p=e[g];p&&t(p)},[e,t]);if(y.useImperativeHandle(o,()=>({onKeyDown:({event:g})=>g.key==="ArrowUp"?(d(p=>p<=0?e.length-1:p-1),!0):g.key==="ArrowDown"?(d(p=>p>=e.length-1?0:p+1),!0):g.key==="Enter"?(e.length>0&&u(l),!0):g.key==="Escape"})),a)return r.jsx("div",{"data-testid":"hash-autocomplete-menu",className:"bg-white rounded-lg shadow-lg border border-gray-200 p-3 min-w-[280px]",children:r.jsxs("div",{className:"flex items-center gap-2 text-sm text-gray-500",children:[r.jsx(je,{className:"w-4 h-4 animate-spin"}),r.jsx("span",{children:"Searching..."})]})});if(!e.length)return r.jsx("div",{"data-testid":"hash-autocomplete-menu",className:"bg-white rounded-lg shadow-lg border border-gray-200 p-3 min-w-[280px]",children:r.jsxs("div",{className:"flex items-center gap-2 text-sm text-gray-500",children:[r.jsx(Ve,{className:"w-4 h-4"}),r.jsx("span",{children:n?`No results for "${n}"`:"Type to search tasks and documents"})]})});const m=e.filter(g=>g.type==="task"),h=e.filter(g=>g.type==="document");let x=0;return r.jsxs("div",{"data-testid":"hash-autocomplete-menu",className:"bg-white rounded-lg shadow-lg border border-gray-200 p-1 min-w-[280px] max-h-[300px] overflow-y-auto",children:[m.length>0&&r.jsxs("div",{"data-testid":"hash-autocomplete-tasks",children:[r.jsx("div",{className:"px-3 py-1.5 text-xs font-semibold text-gray-500 uppercase tracking-wide",children:"Tasks"}),m.map(g=>{const p=x++,j=p===l;return r.jsxs("button",{"data-testid":`hash-item-task-${g.id}`,className:`w-full flex items-start gap-3 px-3 py-2 rounded text-left transition-colors ${j?"bg-blue-50 text-blue-700":"text-gray-700 hover:bg-gray-100"}`,onClick:k=>{k.preventDefault(),k.stopPropagation(),u(p)},onMouseDown:k=>{k.preventDefault()},onMouseEnter:()=>d(p),children:[r.jsx("div",{className:`mt-0.5 flex-shrink-0 ${j?"text-blue-600":"text-gray-400"}`,children:g.icon}),r.jsxs("div",{className:"flex-1 min-w-0",children:[r.jsx("div",{className:"text-sm font-medium truncate",children:g.title}),g.subtitle&&r.jsx("div",{className:"text-xs text-gray-500 truncate",children:g.subtitle})]})]},`task-${g.id}`)})]}),h.length>0&&r.jsxs("div",{"data-testid":"hash-autocomplete-documents",children:[r.jsx("div",{className:"px-3 py-1.5 text-xs font-semibold text-gray-500 uppercase tracking-wide",children:"Documents"}),h.map(g=>{const p=x++,j=p===l;return r.jsxs("button",{"data-testid":`hash-item-doc-${g.id}`,className:`w-full flex items-start gap-3 px-3 py-2 rounded text-left transition-colors ${j?"bg-blue-50 text-blue-700":"text-gray-700 hover:bg-gray-100"}`,onClick:k=>{k.preventDefault(),k.stopPropagation(),u(p)},onMouseDown:k=>{k.preventDefault()},onMouseEnter:()=>d(p),children:[r.jsx("div",{className:`mt-0.5 flex-shrink-0 ${j?"text-blue-600":"text-gray-400"}`,children:g.icon}),r.jsxs("div",{className:"flex-1 min-w-0",children:[r.jsx("div",{className:"text-sm font-medium truncate",children:g.title}),g.subtitle&&r.jsx("div",{className:"text-xs text-gray-500 truncate",children:g.subtitle})]})]},`doc-${g.id}`)})]})]})});_5.displayName="HashAutocompleteMenu";async function G1(e){return[]}function UF(e){let t=[],a=!1,n="",o=null;return{char:"#",startOfLine:!1,allowSpaces:!1,items:async({query:l})=>{n=l,o&&o.abort(),o=new AbortController,a=!0;try{if(await new Promise(u=>setTimeout(u,150)),o.signal.aborted)return t;const d=await e(l);return t=d,a=!1,d}catch{return a=!1,t=[],[]}},render:()=>{let l=null,d=null;return{onStart:u=>{l=new Uo(_5,{props:{items:u.items,command:u.command,isLoading:a,query:n},editor:u.editor}),u.clientRect&&(d=Ha(document.body,{getReferenceClientRect:u.clientRect,appendTo:()=>document.body,content:l.element,showOnCreate:!0,interactive:!0,trigger:"manual",placement:"top-start",animation:"fade",zIndex:9999}))},onUpdate:u=>{l&&l.updateProps({items:u.items,command:u.command,isLoading:a,query:n}),d&&u.clientRect&&d.setProps({getReferenceClientRect:u.clientRect})},onKeyDown:u=>u.event.key==="Escape"?(d?.hide(),!0):l?.ref?l.ref.onKeyDown(u):!1,onExit:()=>{d?.destroy(),l?.destroy(),o?.abort()}}},command:({editor:l,range:d,props:u})=>{const m=`![[${u.type}:${u.id}]]`;l.chain().focus().deleteRange(d).insertContent(m+" ").run()}}}const KF=new qo("hashAutocomplete"),HF=Ws.create({name:"hashAutocomplete",addOptions(){return{fetchElements:G1}},addProseMirrorPlugins(){return[Fo({editor:this.editor,pluginKey:KF,...UF(this.options.fetchElements||G1)})]}});function VF(e="/api"){return async t=>{const a=[];try{const[n,o]=await Promise.all([fetch(`${e}/tasks?search=${encodeURIComponent(t)}&limit=5`),fetch(`${e}/documents?search=${encodeURIComponent(t)}&limit=5`)]);if(n.ok){const l=await n.json(),d=l.items||l;for(const u of d.slice(0,5))a.push({id:u.id,type:"task",title:u.title,subtitle:u.status?`Status: ${u.status}`:void 0,icon:r.jsx(Ta,{className:"w-4 h-4"})})}if(o.ok){const l=await o.json(),d=l.items||l;for(const u of d.slice(0,5))a.push({id:u.id,type:"document",title:u.title,subtitle:u.contentType||"Document",icon:r.jsx(Je,{className:"w-4 h-4"})})}}catch(n){console.error("Error fetching elements for autocomplete:",n)}return a}}const GF=Zm.create({name:"mention",group:"inline",inline:!0,selectable:!0,atom:!0,addAttributes(){return{id:{default:null,parseHTML:e=>e.getAttribute("data-mention-id"),renderHTML:e=>e.id?{"data-mention-id":e.id}:{}},name:{default:null,parseHTML:e=>e.getAttribute("data-mention-name"),renderHTML:e=>e.name?{"data-mention-name":e.name}:{}},entityType:{default:"human",parseHTML:e=>e.getAttribute("data-entity-type"),renderHTML:e=>e.entityType?{"data-entity-type":e.entityType}:{}}}},parseHTML(){return[{tag:"span[data-mention-id]"}]},renderHTML({node:e,HTMLAttributes:t}){return["a",Jm(t,{class:"mention-chip",href:`/entities?selected=${e.attrs.id}`}),`@${e.attrs.name}`]},addKeyboardShortcuts(){return{Backspace:()=>this.editor.commands.command(({tr:e,state:t})=>{let a=!1;const{selection:n}=t,{empty:o,anchor:l}=n;return o?(t.doc.nodesBetween(l-1,l,(d,u)=>{if(d.type.name===this.name)return a=!0,e.insertText("",u,u+d.nodeSize),!1}),a):!1})}}});function YF(e,t){if(!e)return t.slice(0,10);const a=e.toLowerCase(),n=[],o=new Set;for(const l of t)l.name.toLowerCase()===a&&!o.has(l.id)&&(o.add(l.id),n.push(l));for(const l of t)l.name.toLowerCase().startsWith(a)&&!o.has(l.id)&&(o.add(l.id),n.push(l));for(const l of t)l.name.toLowerCase().includes(a)&&!o.has(l.id)&&(o.add(l.id),n.push(l));return n.slice(0,10)}function QF(e){switch(e){case"agent":return r.jsx(tr,{className:"w-4 h-4"});case"system":return r.jsx(Jn,{className:"w-4 h-4"});case"human":default:return r.jsx(Ze,{className:"w-4 h-4"})}}function XF(e){switch(e){case"agent":return"Agent";case"system":return"System";case"human":default:return"Human"}}const M5=y.forwardRef(({items:e,command:t},a)=>{const[n,o]=y.useState(0);y.useEffect(()=>{o(0)},[e]);const l=y.useCallback(d=>{const u=e[d];u&&t(u)},[e,t]);return y.useImperativeHandle(a,()=>({onKeyDown:({event:d})=>d.key==="ArrowUp"?(o(u=>u<=0?e.length-1:u-1),!0):d.key==="ArrowDown"?(o(u=>u>=e.length-1?0:u+1),!0):d.key==="Enter"?(l(n),!0):d.key==="Escape"})),e.length?r.jsx("div",{"data-testid":"mention-autocomplete-menu",className:"bg-white dark:bg-gray-800 rounded-lg shadow-lg border border-gray-200 dark:border-gray-700 p-1 min-w-[220px] max-h-[280px] overflow-y-auto",children:e.map((d,u)=>{const m=u===n;return r.jsxs("button",{"data-testid":`mention-item-${d.name}`,className:`w-full flex items-center gap-3 px-3 py-2 rounded text-left transition-colors ${m?"bg-blue-50 dark:bg-blue-900/30 text-blue-700 dark:text-blue-300":"text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-700"}`,onClick:h=>{h.preventDefault(),h.stopPropagation(),l(u)},onMouseDown:h=>{h.preventDefault()},onMouseEnter:()=>o(u),children:[r.jsx("span",{className:`flex items-center justify-center w-8 h-8 rounded-full ${d.entityType==="agent"?"bg-purple-100 text-purple-600 dark:bg-purple-900/50 dark:text-purple-400":d.entityType==="system"?"bg-gray-100 text-gray-600 dark:bg-gray-700 dark:text-gray-400":"bg-blue-100 text-blue-600 dark:bg-blue-900/50 dark:text-blue-400"}`,children:QF(d.entityType)}),r.jsxs("div",{className:"flex-1 min-w-0",children:[r.jsxs("div",{className:"font-medium truncate",children:["@",d.name]}),r.jsx("div",{className:"text-xs text-gray-500 dark:text-gray-400",children:XF(d.entityType)})]})]},d.id)})}):r.jsx("div",{"data-testid":"mention-autocomplete-menu",className:"bg-white dark:bg-gray-800 rounded-lg shadow-lg border border-gray-200 dark:border-gray-700 p-3 min-w-[200px]",children:r.jsx("div",{className:"text-sm text-gray-500 dark:text-gray-400",children:"No matching entities"})})});M5.displayName="MentionMenu";function WF(e){return{char:"@",startOfLine:!1,allowSpaces:!1,items:({query:t})=>{const a=e.getEntities();return YF(t,a)},render:()=>{let t=null,a=null;return{onStart:n=>{t=new Uo(M5,{props:{items:n.items,command:n.command},editor:n.editor}),n.clientRect&&(a=Ha(document.body,{getReferenceClientRect:n.clientRect,appendTo:()=>document.body,content:t.element,showOnCreate:!0,interactive:!0,trigger:"manual",placement:"bottom-start",animation:"fade",zIndex:9999}))},onUpdate:n=>{t&&t.updateProps({items:n.items,command:n.command}),a&&n.clientRect&&a.setProps({getReferenceClientRect:n.clientRect})},onKeyDown:n=>n.event.key==="Escape"?(a?.hide(),!0):t?.ref?t.ref.onKeyDown(n):!1,onExit:()=>{a?.destroy(),t?.destroy()}}},command:({editor:t,range:a,props:n})=>{t.chain().focus().deleteRange(a).insertContent([{type:"mention",attrs:{id:n.id,name:n.name,entityType:n.entityType}},{type:"text",text:" "}]).run()}}}const ZF=new qo("mentionSuggestion"),JF=Ws.create({name:"mentionAutocomplete",addOptions(){return{getEntities:()=>[]}},addProseMirrorPlugins(){return[Fo({editor:this.editor,pluginKey:ZF,...WF(this.options)})]}});function L5(e){const t=e.trim();return t?/^https?:\/\//i.test(t)||/^mailto:/i.test(t)?t:`https://${t}`:""}function eU(e){try{const t=L5(e);return t?(new URL(t),!0):!1}catch{return!1}}function tU({editor:e,onClose:t,anchorRect:a}){const n=e.isActive("link"),o=n&&e.getAttributes("link").href||"",[l,d]=y.useState(o),u=y.useRef(null),m=y.useRef(null);y.useEffect(()=>{const j=setTimeout(()=>{u.current?.focus(),u.current?.select()},50);return()=>clearTimeout(j)},[]),y.useEffect(()=>{function j(k){m.current&&!m.current.contains(k.target)&&t()}return document.addEventListener("mousedown",j),()=>document.removeEventListener("mousedown",j)},[t]);const h=y.useCallback(()=>{const j=L5(l);if(!j||!eU(l)){n&&e.chain().focus().unsetLink().run(),t();return}e.chain().focus().setLink({href:j}).run(),t()},[e,l,n,t]),x=y.useCallback(()=>{e.chain().focus().unsetLink().run(),t()},[e,t]),g=y.useCallback(j=>{j.key==="Enter"?(j.preventDefault(),h()):j.key==="Escape"&&(j.preventDefault(),t())},[h,t]),p={};return a&&(p.position="fixed",p.top=`${a.bottom+4}px`,p.left=`${a.left}px`,p.zIndex=50),r.jsxs("div",{ref:m,"data-testid":"link-popover",className:"bg-white border border-gray-200 rounded-lg shadow-lg p-2 flex items-center gap-2 min-w-[320px]",style:p,children:[r.jsx("input",{ref:u,type:"text",value:l,onChange:j=>d(j.target.value),onKeyDown:g,placeholder:"Enter URL (e.g., https://example.com)","data-testid":"link-popover-input",className:"flex-1 px-2 py-1 text-sm border border-gray-300 rounded focus:outline-none focus:ring-1 focus:ring-blue-500 focus:border-blue-500"}),r.jsx("button",{type:"button",onClick:h,disabled:!l.trim(),"data-testid":"link-popover-apply",title:"Apply link",className:"px-2 py-1 text-sm bg-blue-600 text-white rounded hover:bg-blue-700 disabled:opacity-50 disabled:cursor-not-allowed transition-colors",children:n?"Update":"Apply"}),n&&r.jsxs(r.Fragment,{children:[r.jsx("button",{type:"button",onClick:x,"data-testid":"link-popover-remove",title:"Remove link",className:"p-1 text-gray-500 hover:text-red-600 hover:bg-red-50 rounded transition-colors",children:r.jsx(xO,{className:"w-4 h-4"})}),r.jsx("a",{href:o,target:"_blank",rel:"noopener noreferrer",title:"Open link in new tab","data-testid":"link-popover-open",className:"p-1 text-gray-500 hover:text-blue-600 hover:bg-blue-50 rounded transition-colors",children:r.jsx(Xc,{className:"w-4 h-4"})})]})]})}const Js=new X2({headingStyle:"atx",codeBlockStyle:"fenced",bulletListMarker:"-",emDelimiter:"_",strongDelimiter:"**"});Js.addRule("highlight",{filter:"mark",replacement:function(e){return"=="+e+"=="}});Js.addRule("strikethrough",{filter:function(e){return e.nodeName==="S"||e.nodeName==="DEL"},replacement:function(e){return"~~"+e+"~~"}});Js.addRule("taskEmbed",{filter:function(e){return e.nodeName==="DIV"&&e.hasAttribute("data-type")&&e.getAttribute("data-type")==="taskEmbed"},replacement:function(e,t){const a=t.getAttribute("data-task-id");return a?`![[task:${a}]]`:""}});Js.addRule("documentEmbed",{filter:function(e){return e.nodeName==="DIV"&&e.hasAttribute("data-type")&&e.getAttribute("data-type")==="documentEmbed"},replacement:function(e,t){const a=t.getAttribute("data-document-id");return a?`![[doc:${a}]]`:""}});Js.addRule("mention",{filter:function(e){return e.nodeName==="A"&&e.hasAttribute("data-mention-id")},replacement:function(e,t){const a=t.getAttribute("data-mention-name");return a?`@${a}`:""}});Js.addRule("textAlign",{filter:function(e){if(!["P","H1","H2","H3","H4","H5","H6"].includes(e.nodeName))return!1;const t=e.getAttribute("style")||"";return/text-align:\s*(center|right|justify)/i.test(t)},replacement:function(e,t){const n=(t.getAttribute("style")||"").match(/text-align:\s*(center|right|justify)/i);if(!n)return e;const o=n[1].toLowerCase(),l=t.nodeName.toLowerCase();return l.startsWith("h")?`<${l} style="text-align: ${o}">${e}</${l}>
146
+
147
+ `:`<p style="text-align: ${o}">${e}</p>
148
+
149
+ `}});ef.setOptions({gfm:!0,breaks:!0});function rU(e){if(!e||e==="<p></p>")return"";let t=Js.turndown(e);return t=t.replace(/\n{3,}/g,`
150
+
151
+ `),t}function aU(e){if(!e)return"<p></p>";let t=e;return t=t.replace(/!\[\[task:([\w-]+)\]\]/g,'<div data-type="taskEmbed" data-task-id="$1"></div>'),t=t.replace(/!\[\[doc:([\w-]+)\]\]/g,'<div data-type="documentEmbed" data-document-id="$1"></div>'),t=t.replace(/==([^=]+)==/g,"<mark>$1</mark>"),t=t.replace(/~~([^~]+)~~/g,"<s>$1</s>"),ef.parse(t,{async:!1})}function nU(e,t){return e?aU(e):"<p></p>"}function sU(e,t){return!e||e==="<p></p>"?"":rU(e)}const iU=W2(aC),oU=typeof navigator<"u"&&/Mac|iPod|iPhone|iPad/.test(navigator.platform),Wn=oU?"⌘":"Ctrl";function Pu({onClick:e,isActive:t=!1,disabled:a=!1,title:n,children:o,testId:l,buttonRef:d}){return r.jsx("button",{ref:d,type:"button",onClick:e,disabled:a,title:n,"data-testid":l,className:`p-1.5 rounded hover:bg-gray-100 disabled:opacity-50 disabled:cursor-not-allowed transition-colors ${t?"bg-gray-200 text-blue-600":"text-gray-500"}`,children:o})}function lU(){return r.jsx("div",{className:"w-px h-5 bg-gray-200 mx-0.5"})}const P5=y.forwardRef(function({content:t,onChange:a,onSubmit:n,placeholder:o="Message...",disabled:l=!1,maxHeight:d=200,minHeight:u=60,channelName:m,onImagePaste:h,embedCallbacks:x,mentionEntities:g=[]},p){const[j,k]=y.useState(!1),[N,v]=y.useState(!1),[T,E]=y.useState(null),O=y.useRef(null),S=y.useRef(null),C=y.useRef(g);C.current=g;const A=y.useCallback(()=>C.current,[]),$=y.useCallback(()=>t?nU(t):"<p></p>",[t]),P=y.useCallback(()=>{O.current?E(O.current.getBoundingClientRect()):S.current&&E(S.current.getBoundingClientRect()),k(!0),v(!0)},[]),M=Z2({extensions:[J2.configure({codeBlock:!1,heading:!1,dropcursor:!1,gapcursor:!1}),uA,mA.configure({openOnClick:!1,autolink:!0,linkOnPaste:!0,HTMLAttributes:{class:"message-link",rel:"noopener noreferrer",target:"_blank"}}),eC.configure({placeholder:m?`Message ${m}...`:o}),tC.configure({lowlight:iU}),FF.configure({embedCallbacks:x}),HF.configure({fetchElements:VF()}),GF,JF.configure({getEntities:A})],content:$(),editable:!l,onUpdate:({editor:_})=>{const z=_.getHTML(),U=sU(z);a(U)},editorProps:{attributes:{class:"prose prose-sm max-w-none focus:outline-none min-h-[40px] px-3 py-2","data-testid":"message-input",style:`max-height: ${d-40}px; overflow-y: auto;`},handleKeyDown:(_,z)=>{if(z.key==="k"&&(z.metaKey||z.ctrlKey)&&!z.shiftKey)return z.preventDefault(),P(),!0;if(z.key==="Enter"&&!z.shiftKey&&!z.metaKey&&!z.ctrlKey){const U=M?.isActive("bulletList")||M?.isActive("orderedList"),K=M?.isActive("codeBlock"),R=document.querySelector('[data-testid="message-slash-command-menu"]'),L=document.querySelector('[data-testid="hash-autocomplete-menu"]'),F=document.querySelector('[data-testid="mention-autocomplete-menu"]');if(R||L||F)return!1;if(!U&&!K)return z.preventDefault(),n(),!0}return!1},handlePaste:(_,z)=>{const U=z.clipboardData?.items;if(!U||!h)return!1;for(const K of U)if(K.type.startsWith("image/")){const R=K.getAsFile();if(R)return z.preventDefault(),h(R),!0}return!1}}});if(y.useImperativeHandle(p,()=>({focus:()=>M?.commands.focus(),clear:()=>{M?.commands.clearContent(),M?.commands.focus()},isEmpty:()=>M?M.getText().trim().length===0:!0})),y.useEffect(()=>{if(M&&!M.isFocused){const _=M.getText().trim();t===""&&_!==""&&M.commands.clearContent()}},[M,t]),y.useEffect(()=>{M&&M.setEditable(!l)},[M,l]),y.useEffect(()=>{M&&m&&M.commands.focus()},[M,m]),!M)return r.jsx("div",{"data-testid":"message-rich-composer-loading",className:"px-3 py-2 text-gray-400 text-sm",children:"Loading editor..."});const q=[{id:"bold",icon:r.jsx(ic,{className:"w-4 h-4"}),title:`Bold (${Wn}B)`,action:()=>M.chain().focus().toggleBold().run(),isActive:M.isActive("bold")},{id:"italic",icon:r.jsx(oc,{className:"w-4 h-4"}),title:`Italic (${Wn}I)`,action:()=>M.chain().focus().toggleItalic().run(),isActive:M.isActive("italic")},{id:"underline",icon:r.jsx(gO,{className:"w-4 h-4"}),title:`Underline (${Wn}U)`,action:()=>M.chain().focus().toggleUnderline().run(),isActive:M.isActive("underline")},{id:"strike",icon:r.jsx(R0,{className:"w-4 h-4"}),title:"Strikethrough",action:()=>M.chain().focus().toggleStrike().run(),isActive:M.isActive("strike")},{id:"divider1",type:"divider"},{id:"code",icon:r.jsx(Us,{className:"w-4 h-4"}),title:`Inline Code (${Wn}E)`,action:()=>M.chain().focus().toggleCode().run(),isActive:M.isActive("code")},{id:"codeBlock",icon:r.jsx(Bo,{className:"w-4 h-4"}),title:"Code Block",action:()=>M.chain().focus().toggleCodeBlock().run(),isActive:M.isActive("codeBlock")},{id:"divider2",type:"divider"},{id:"bulletList",icon:r.jsx(za,{className:"w-4 h-4"}),title:"Bullet List",action:()=>M.chain().focus().toggleBulletList().run(),isActive:M.isActive("bulletList")},{id:"orderedList",icon:r.jsx(Um,{className:"w-4 h-4"}),title:"Numbered List",action:()=>M.chain().focus().toggleOrderedList().run(),isActive:M.isActive("orderedList")},{id:"divider3",type:"divider"},{id:"blockquote",icon:r.jsx(Fm,{className:"w-4 h-4"}),title:"Block Quote",action:()=>M.chain().focus().toggleBlockquote().run(),isActive:M.isActive("blockquote")},{id:"divider4",type:"divider"},{id:"link",icon:r.jsx(so,{className:"w-4 h-4"}),title:`Link (${Wn}K)`,action:()=>P(),isActive:M.isActive("link"),ref:O}];return r.jsxs("div",{ref:S,"data-testid":"message-rich-composer",className:`border border-gray-300 rounded-lg bg-white transition-all ${l?"opacity-50":""}`,style:{minHeight:`${u}px`},children:[r.jsx("div",{className:"message-rich-editor",style:{maxHeight:`${d-(j?40:0)}px`,overflow:"auto"},children:r.jsx(rC,{editor:M})}),r.jsxs("div",{className:"flex items-center justify-between border-t border-gray-100 px-2 py-1 bg-gray-50 rounded-b-lg",children:[r.jsx("div",{className:"flex items-center gap-0.5",children:j?r.jsx(r.Fragment,{children:q.map(_=>_.type==="divider"?r.jsx(lU,{},_.id):r.jsx(Pu,{onClick:_.action,isActive:_.isActive,disabled:l,title:_.title,testId:`message-toolbar-${_.id}`,buttonRef:_.ref,children:_.icon},_.id))}):r.jsxs(r.Fragment,{children:[r.jsx(Pu,{onClick:()=>M.chain().focus().toggleBold().run(),isActive:M.isActive("bold"),disabled:l,title:`Bold (${Wn}B)`,testId:"message-toolbar-bold",children:r.jsx(ic,{className:"w-4 h-4"})}),r.jsx(Pu,{onClick:()=>M.chain().focus().toggleItalic().run(),isActive:M.isActive("italic"),disabled:l,title:`Italic (${Wn}I)`,testId:"message-toolbar-italic",children:r.jsx(oc,{className:"w-4 h-4"})}),r.jsx(Pu,{onClick:()=>M.chain().focus().toggleCode().run(),isActive:M.isActive("code"),disabled:l,title:`Inline Code (${Wn}E)`,testId:"message-toolbar-code",children:r.jsx(Us,{className:"w-4 h-4"})})]})}),r.jsx("button",{type:"button",onClick:()=>k(!j),className:"p-1 text-gray-400 hover:text-gray-600 hover:bg-gray-100 rounded transition-colors",title:j?"Hide formatting options":"Show more formatting options","data-testid":"message-toolbar-toggle",children:j?r.jsx(it,{className:"w-4 h-4"}):r.jsx(Yc,{className:"w-4 h-4"})})]}),N&&r.jsx(tU,{editor:M,onClose:()=>v(!1),anchorRect:T})]})});function cU({isOpen:e,onClose:t,onAttach:a}){const[n,o]=y.useState("upload"),[l,d]=y.useState(!1),[u,m]=y.useState(!1),[h,x]=y.useState(null),[g,p]=y.useState(null),j=y.useRef(null),[k,N]=y.useState([]),[v,T]=y.useState(!1),[E,O]=y.useState(""),[S,C]=y.useState(null),A=y.useCallback(()=>{o("upload"),d(!1),m(!1),x(null),p(null),O(""),C(null)},[]),$=y.useCallback(()=>{A(),t()},[t,A]),P=y.useCallback(async()=>{T(!0),x(null);try{const B=await fetch("/api/uploads");if(!B.ok)throw new Error("Failed to load images");const H=await B.json();N(H.files||[])}catch(B){x(B.message)}finally{T(!1)}},[]);y.useEffect(()=>{e&&n==="library"&&P()},[e,n,P]);const M=y.useMemo(()=>{if(!E.trim())return k;const B=E.toLowerCase();return k.filter(H=>H.filename.toLowerCase().includes(B))},[k,E]),q=async B=>{if(!["image/jpeg","image/png","image/gif","image/webp"].includes(B.type))return x(`Invalid file type: ${B.type}. Allowed: JPEG, PNG, GIF, WebP`),null;if(B.size>10*1024*1024)return x(`File too large: ${(B.size/(1024*1024)).toFixed(2)}MB. Maximum: 10MB`),null;m(!0),x(null);try{const G=new FormData;G.append("file",B);const W=await fetch("/api/uploads",{method:"POST",body:G});if(!W.ok){const le=await W.json().catch(()=>({}));throw new Error(le.error?.message||`Upload failed: ${W.status}`)}return(await W.json()).url}catch(G){return x(G.message),null}finally{m(!1)}},_=y.useCallback(async B=>{if(!["image/jpeg","image/png","image/gif","image/webp"].includes(B.type)){x(`Invalid file type: ${B.type}. Allowed: JPEG, PNG, GIF, WebP`);return}const G=URL.createObjectURL(B);p({url:G,file:B}),x(null)},[]),z=y.useCallback(B=>{const H=B.target.files?.[0];H&&_(H)},[_]),U=y.useCallback(B=>{B.preventDefault(),d(!1);const H=B.dataTransfer.files[0];H&&H.type.startsWith("image/")?_(H):x("Please drop an image file")},[_]),K=y.useCallback(B=>{B.preventDefault(),d(!0)},[]),R=y.useCallback(B=>{B.preventDefault(),d(!1)},[]),L=y.useCallback(async()=>{if(n==="library"){if(!S){x("Please select an image");return}a(S.url),$()}else if(g?.file){const B=await q(g.file);B&&(a(B),$())}},[n,g,S,a,$]),F=B=>B<1024?`${B} B`:B<1024*1024?`${(B/1024).toFixed(1)} KB`:`${(B/(1024*1024)).toFixed(2)} MB`;return r.jsx(em,{open:e,onOpenChange:B=>!B&&$(),children:r.jsxs(cc,{children:[r.jsx(lo,{className:"fixed inset-0 bg-black/50 z-50"}),r.jsxs(co,{className:`fixed top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 bg-white dark:bg-gray-900 rounded-lg shadow-xl p-6 z-50 ${n==="library"?"w-full max-w-3xl max-h-[80vh] overflow-hidden flex flex-col":"w-full max-w-md"}`,"data-testid":"message-image-attachment-modal",children:[r.jsx(uo,{className:"text-lg font-semibold text-gray-900 dark:text-gray-100 mb-4",children:"Attach Image"}),r.jsxs("div",{className:"flex gap-2 mb-4",children:[r.jsxs("button",{onClick:()=>{o("upload"),x(null)},className:`flex items-center gap-2 px-4 py-2 rounded-lg text-sm font-medium transition-colors ${n==="upload"?"bg-blue-100 text-blue-700 dark:bg-blue-900/50 dark:text-blue-300":"bg-gray-100 text-gray-600 hover:bg-gray-200 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700"}`,"data-testid":"message-image-upload-tab",children:[r.jsx(io,{className:"w-4 h-4"}),"Upload"]}),r.jsxs("button",{onClick:()=>{o("library"),x(null)},className:`flex items-center gap-2 px-4 py-2 rounded-lg text-sm font-medium transition-colors ${n==="library"?"bg-blue-100 text-blue-700 dark:bg-blue-900/50 dark:text-blue-300":"bg-gray-100 text-gray-600 hover:bg-gray-200 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700"}`,"data-testid":"message-image-library-tab",children:[r.jsx(Qg,{className:"w-4 h-4"}),"Library"]})]}),n==="upload"&&r.jsxs("div",{className:"space-y-4",children:[g?r.jsxs("div",{className:"relative",children:[r.jsx("img",{src:g.url,alt:"Preview",className:"w-full h-48 object-contain bg-gray-100 dark:bg-gray-800 rounded-lg","data-testid":"message-image-preview"}),r.jsx("button",{onClick:()=>p(null),className:"absolute top-2 right-2 p-1 bg-white dark:bg-gray-700 rounded-full shadow hover:bg-gray-100 dark:hover:bg-gray-600",title:"Remove","data-testid":"message-image-preview-remove",children:r.jsx(Ee,{className:"w-4 h-4 text-gray-600 dark:text-gray-300"})})]}):r.jsxs("div",{onClick:()=>j.current?.click(),onDrop:U,onDragOver:K,onDragLeave:R,className:`flex flex-col items-center justify-center h-48 border-2 border-dashed rounded-lg cursor-pointer transition-colors ${l?"border-blue-500 bg-blue-50 dark:bg-blue-900/20":"border-gray-300 dark:border-gray-600 hover:border-gray-400 hover:bg-gray-50 dark:hover:bg-gray-800"}`,"data-testid":"message-image-drop-zone",children:[r.jsx(Pa,{className:"w-12 h-12 text-gray-400 mb-3"}),r.jsx("p",{className:"text-sm text-gray-600 dark:text-gray-400 mb-1",children:"Drop an image here or click to browse"}),r.jsx("p",{className:"text-xs text-gray-400 dark:text-gray-500",children:"JPEG, PNG, GIF, WebP up to 10MB"})]}),r.jsx("input",{ref:j,type:"file",accept:"image/jpeg,image/png,image/gif,image/webp",onChange:z,className:"hidden","data-testid":"message-image-file-input"})]}),n==="library"&&r.jsxs("div",{className:"flex-1 flex flex-col min-h-0",children:[r.jsxs("div",{className:"relative mb-4",children:[r.jsx(Ve,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-gray-400"}),r.jsx("input",{type:"text",value:E,onChange:B=>O(B.target.value),placeholder:"Search images...",className:"w-full pl-10 pr-4 py-2 border border-gray-300 dark:border-gray-600 bg-white dark:bg-gray-800 text-gray-900 dark:text-gray-100 rounded-lg text-sm focus:outline-none focus:ring-2 focus:ring-blue-500","data-testid":"message-library-search-input"})]}),r.jsx("div",{className:"flex-1 overflow-y-auto min-h-[200px] max-h-[300px]",children:v?r.jsx("div",{className:"flex items-center justify-center h-48",children:r.jsx(je,{className:"w-8 h-8 animate-spin text-gray-400"})}):M.length===0?r.jsxs("div",{className:"flex flex-col items-center justify-center h-48 text-gray-500 dark:text-gray-400",children:[r.jsx(Pa,{className:"w-12 h-12 mb-3 opacity-50"}),k.length===0?r.jsxs(r.Fragment,{children:[r.jsx("p",{className:"text-sm font-medium",children:"No images uploaded yet"}),r.jsx("p",{className:"text-xs mt-1",children:"Upload images to see them here"})]}):r.jsxs(r.Fragment,{children:[r.jsx("p",{className:"text-sm font-medium",children:"No images match your search"}),r.jsx("p",{className:"text-xs mt-1",children:"Try a different search term"})]})]}):r.jsx("div",{className:"grid grid-cols-3 gap-3","data-testid":"message-library-image-grid",children:M.map(B=>r.jsxs("div",{className:`relative group rounded-lg overflow-hidden border-2 transition-all cursor-pointer ${S?.filename===B.filename?"border-blue-500 ring-2 ring-blue-500/30":"border-transparent hover:border-gray-300 dark:hover:border-gray-600"}`,onClick:()=>C(B),"data-testid":`message-library-image-${B.filename}`,children:[r.jsx("img",{src:B.url,alt:B.filename,className:"w-full h-24 object-cover bg-gray-100 dark:bg-gray-800"}),S?.filename===B.filename&&r.jsx("div",{className:"absolute top-2 left-2 w-5 h-5 bg-blue-500 rounded-full flex items-center justify-center",children:r.jsx(Dt,{className:"w-3 h-3 text-white"})}),r.jsxs("div",{className:"absolute inset-0 bg-black/60 opacity-0 group-hover:opacity-100 transition-opacity flex flex-col justify-end p-2",children:[r.jsx("p",{className:"text-white text-xs truncate",children:B.filename}),r.jsx("p",{className:"text-white/75 text-[10px]",children:F(B.size)})]})]},B.filename))})}),S&&r.jsx("div",{className:"mt-4 pt-4 border-t border-gray-200 dark:border-gray-700",children:r.jsxs("div",{className:"flex items-center gap-3",children:[r.jsx("img",{src:S.url,alt:S.filename,className:"w-12 h-12 object-cover rounded bg-gray-100 dark:bg-gray-800"}),r.jsxs("div",{className:"flex-1 min-w-0",children:[r.jsx("p",{className:"font-medium text-sm text-gray-900 dark:text-gray-100 truncate",children:S.filename}),r.jsx("p",{className:"text-xs text-gray-500 dark:text-gray-400",children:F(S.size)})]})]})})]}),h&&r.jsxs("div",{className:"mt-4 p-3 bg-red-50 dark:bg-red-900/30 border border-red-200 dark:border-red-800 rounded-lg text-sm text-red-600 dark:text-red-400 flex items-center gap-2","data-testid":"message-image-error",children:[r.jsx(dt,{className:"w-4 h-4 flex-shrink-0"}),h]}),r.jsxs("div",{className:"flex justify-end gap-3 mt-6",children:[r.jsx("button",{onClick:$,className:"px-4 py-2 text-sm font-medium text-gray-700 dark:text-gray-300 bg-gray-100 dark:bg-gray-800 rounded-lg hover:bg-gray-200 dark:hover:bg-gray-700 transition-colors","data-testid":"message-image-cancel-button",children:"Cancel"}),r.jsx("button",{onClick:L,disabled:u||n==="upload"&&!g||n==="library"&&!S,className:"flex items-center gap-2 px-4 py-2 text-sm font-medium text-white bg-blue-600 rounded-lg hover:bg-blue-700 disabled:opacity-50 disabled:cursor-not-allowed transition-colors","data-testid":"message-image-insert-button",children:u?r.jsxs(r.Fragment,{children:[r.jsx(je,{className:"w-4 h-4 animate-spin"}),"Uploading..."]}):"Attach Image"})]}),r.jsx(Wm,{asChild:!0,children:r.jsx("button",{className:"absolute top-4 right-4 p-1 text-gray-400 hover:text-gray-600 dark:hover:text-gray-300 rounded","aria-label":"Close",children:r.jsx(Ee,{className:"w-5 h-5"})})})]})]})})}const Y1={open:{icon:r.jsx(pO,{className:"w-3 h-3"}),className:"text-gray-500 bg-gray-100"},in_progress:{icon:r.jsx(_t,{className:"w-3 h-3"}),className:"text-blue-600 bg-blue-100"},blocked:{icon:r.jsx(qm,{className:"w-3 h-3"}),className:"text-red-600 bg-red-100"},closed:{icon:r.jsx(Sa,{className:"w-3 h-3"}),className:"text-green-600 bg-green-100"},cancelled:{icon:r.jsx(Xr,{className:"w-3 h-3"}),className:"text-gray-400 bg-gray-100"}},Q1={1:"bg-gray-200 text-gray-700",2:"bg-blue-100 text-blue-700",3:"bg-yellow-100 text-yellow-700",4:"bg-orange-100 text-orange-700",5:"bg-red-100 text-red-700"};function dU({taskId:e}){const{data:t,isLoading:a,isError:n}=be({queryKey:["task",e],queryFn:async()=>{const d=await fetch(`/api/tasks/${e}`);if(!d.ok)throw new Error("Task not found");return d.json()},staleTime:3e4,retry:!1});if(a)return r.jsxs("div",{"data-testid":`task-embed-${e}`,className:"inline-flex items-center gap-2 px-2 py-1 bg-gray-100 rounded border border-gray-200 text-sm",children:[r.jsx(je,{className:"w-3 h-3 animate-spin text-gray-400"}),r.jsx("span",{className:"text-gray-500",children:"Loading task..."})]});if(n||!t)return r.jsxs("div",{"data-testid":`task-embed-${e}`,className:"inline-flex items-center gap-2 px-2 py-1 bg-red-50 rounded border border-red-200 text-sm",children:[r.jsx(dt,{className:"w-3 h-3 text-red-500"}),r.jsxs("span",{className:"text-red-600",children:["Task not found: ",e]})]});const o=Y1[t.status]||Y1.open,l=Q1[t.priority]||Q1[3];return r.jsxs(ha,{to:"/tasks",search:{selected:e,page:1,limit:25},"data-testid":`task-embed-${e}`,className:"inline-flex items-center gap-2 px-2 py-1 bg-gray-50 rounded border border-gray-200 hover:bg-gray-100 hover:border-gray-300 transition-colors text-sm group max-w-[400px]",children:[r.jsx(Ta,{className:"w-4 h-4 text-gray-500 flex-shrink-0"}),r.jsxs("span",{className:`inline-flex items-center gap-1 px-1.5 py-0.5 rounded text-xs font-medium ${o.className}`,children:[o.icon,r.jsx("span",{className:"capitalize",children:t.status.replace("_"," ")})]}),r.jsx("span",{className:"truncate text-gray-900 group-hover:text-blue-600 transition-colors",children:t.title}),t.priority&&r.jsxs("span",{className:`px-1.5 py-0.5 rounded text-xs font-medium ${l} flex-shrink-0`,children:["P",t.priority]}),t.assignee&&r.jsxs("span",{className:"text-xs text-gray-500 truncate max-w-[80px]",title:t.assignee,children:["@",t.assignee.split("-")[0]]})]})}function uU({documentId:e}){const{data:t,isLoading:a,isError:n}=be({queryKey:["document",e],queryFn:async()=>{const l=await fetch(`/api/documents/${e}`);if(!l.ok)throw new Error("Document not found");return l.json()},staleTime:3e4,retry:!1});if(a)return r.jsxs("div",{"data-testid":`doc-embed-${e}`,className:"inline-flex items-center gap-2 px-2 py-1 bg-gray-100 rounded border border-gray-200 text-sm",children:[r.jsx(je,{className:"w-3 h-3 animate-spin text-gray-400"}),r.jsx("span",{className:"text-gray-500",children:"Loading document..."})]});if(n||!t)return r.jsxs("div",{"data-testid":`doc-embed-${e}`,className:"inline-flex items-center gap-2 px-2 py-1 bg-red-50 rounded border border-red-200 text-sm",children:[r.jsx(dt,{className:"w-3 h-3 text-red-500"}),r.jsxs("span",{className:"text-red-600",children:["Document not found: ",e]})]});const o=t._content?t._content.split(`
152
+ `)[0].slice(0,100):null;return r.jsxs(ha,{to:"/documents",search:{selected:e,library:void 0},"data-testid":`doc-embed-${e}`,className:"inline-flex items-center gap-2 px-2 py-1 bg-gray-50 rounded border border-gray-200 hover:bg-gray-100 hover:border-gray-300 transition-colors text-sm group max-w-[400px]",children:[r.jsx(Je,{className:"w-4 h-4 text-gray-500 flex-shrink-0"}),r.jsx("span",{className:"inline-flex items-center px-1.5 py-0.5 rounded text-xs font-medium bg-purple-100 text-purple-700",children:t.contentType||"text"}),r.jsx("span",{className:"truncate text-gray-900 group-hover:text-blue-600 transition-colors",children:t.title}),o&&r.jsx("span",{className:"text-xs text-gray-400 truncate max-w-[150px]",title:o,children:o})]})}function mU({type:e,id:t}){return e==="task"?r.jsx(dU,{taskId:t}):r.jsx(uU,{documentId:t})}function fU(){const e=$e();return Re({mutationFn:async({channelId:t,actor:a})=>{const n=await fetch(`/api/channels/${t}?actor=${encodeURIComponent(a)}`,{method:"DELETE"});if(!n.ok){const o=await n.json();throw new Error(o.error?.message||"Failed to delete channel")}return n.json()},onSuccess:(t,{channelId:a})=>{e.invalidateQueries({queryKey:["channels"]}),e.invalidateQueries({queryKey:["channels",a]}),e.invalidateQueries({queryKey:["channels",a,"messages"]}),e.invalidateQueries({queryKey:["channels",a,"members"]})}})}const Lg={agent:{icon:tr,text:"text-purple-700",darkText:"dark:text-purple-300"},human:{icon:Ze,text:"text-blue-700",darkText:"dark:text-blue-300"},system:{icon:gr,text:"text-gray-700",darkText:"dark:text-gray-300"}};function hU(e){const t=e?.startsWith("el-");return be({queryKey:["entities","byRef",e],queryFn:async()=>{if(!e)return null;if(t){const a=await fetch(`/api/entities/${e}`);if(!a.ok){if(a.status===404)return null;throw new Error("Failed to fetch entity")}return a.json()}else{const a=await fetch(`/api/entities?search=${encodeURIComponent(e)}&limit=100`);if(!a.ok)throw new Error("Failed to fetch entity");return(await a.json()).items.find(l=>l.name.toLowerCase()===e.toLowerCase())??null}},enabled:!!e,staleTime:3e4})}function xU({entityRef:e,children:t,className:a="",showPreview:n=!0,showIcon:o=!1,"data-testid":l}){const{data:d,isLoading:u}=hU(e),m=t??d?.name??e,h=d&&Lg[d.entityType]||Lg.system,x=h.icon;return u?r.jsxs("span",{className:`inline-flex items-center gap-1 text-gray-400 ${a}`,children:[r.jsx(je,{className:"w-3 h-3 animate-spin"}),e]}):r.jsxs("span",{className:`inline-flex items-center gap-1 text-blue-600 hover:text-blue-800 font-medium ${a}`,"data-testid":l||`entity-link-${e}`,title:d?`${d.name} (${d.entityType})`:e,children:[o&&r.jsx(x,{className:`w-3.5 h-3.5 ${h.text} ${h.darkText}`}),m]})}function gU(e){return be({queryKey:["channels",e,"members"],queryFn:async()=>{const t=await fetch(`/api/channels/${e}/members?hydrate=true`);if(!t.ok)throw new Error("Failed to fetch channel members");return t.json()}})}function pU(){return be({queryKey:["entities"],queryFn:async()=>{const e=await fetch("/api/entities");if(!e.ok)throw new Error("Failed to fetch entities");const t=await e.json();return t.items||t}})}function yU(){const e=$e();return Re({mutationFn:async({channelId:t,entityId:a,actor:n})=>{const o=await fetch(`/api/channels/${t}/members`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({entityId:a,actor:n})});if(!o.ok){const l=await o.json();throw new Error(l.error?.message||"Failed to add member")}return o.json()},onSuccess:(t,a)=>{e.invalidateQueries({queryKey:["channels",a.channelId,"members"]}),e.invalidateQueries({queryKey:["channels",a.channelId]}),e.invalidateQueries({queryKey:["channels"]})}})}function bU(){const e=$e();return Re({mutationFn:async({channelId:t,entityId:a,actor:n})=>{const o=await fetch(`/api/channels/${t}/members/${a}?actor=${encodeURIComponent(n)}`,{method:"DELETE"});if(!o.ok){const l=await o.json();throw new Error(l.error?.message||"Failed to remove member")}return o.json()},onSuccess:(t,a)=>{e.invalidateQueries({queryKey:["channels",a.channelId,"members"]}),e.invalidateQueries({queryKey:["channels",a.channelId]}),e.invalidateQueries({queryKey:["channels"]})}})}function vU(){const e=$e();return Re({mutationFn:async({channelId:t,actor:a})=>{const n=await fetch(`/api/channels/${t}/leave`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({actor:a})});if(!n.ok){const o=await n.json();throw new Error(o.error?.message||"Failed to leave channel")}return n.json()},onSuccess:(t,a)=>{e.invalidateQueries({queryKey:["channels",a.channelId,"members"]}),e.invalidateQueries({queryKey:["channels",a.channelId]}),e.invalidateQueries({queryKey:["channels"]})}})}function jU({name:e,entityType:t}){const a={human:"bg-blue-100 text-blue-600",agent:"bg-purple-100 text-purple-600",system:"bg-gray-100 text-gray-600"},n=a[t||"system"]||a.system;return r.jsx("div",{className:`w-8 h-8 rounded-full flex items-center justify-center flex-shrink-0 ${n}`,children:r.jsx("span",{className:"text-sm font-medium",children:e.slice(0,2).toUpperCase()})})}function wU({member:e,isCreator:t,canModify:a,canRemove:n,onRemove:o,isRemoving:l}){const[d,u]=y.useState(!1),m="entityType"in e?e.entityType:void 0,h="notFound"in e&&e.notFound,x=()=>{u(!0)},g=()=>{u(!1),o()};return r.jsxs("div",{"data-testid":`member-${e.id}`,className:"flex items-center gap-3 px-4 py-3 hover:bg-gray-50 dark:hover:bg-gray-800 group relative transition-colors",children:[r.jsx(jU,{name:e.name,entityType:m}),r.jsxs("div",{className:"flex-1 min-w-0",children:[r.jsxs("div",{className:"flex items-center gap-2",children:[h?r.jsx("span",{className:"text-sm font-medium truncate text-gray-400 dark:text-gray-500 italic",children:e.name}):r.jsx(xU,{entityRef:e.id,className:"text-sm font-medium truncate","data-testid":`member-link-${e.id}`,children:e.name}),t&&r.jsx("span",{title:"Channel creator",children:r.jsx(bO,{className:"w-4 h-4 text-amber-500 flex-shrink-0"})})]}),m&&!h&&r.jsx("span",{className:"text-xs text-gray-500 dark:text-gray-400 capitalize",children:m}),h&&r.jsx("span",{className:"text-xs text-gray-400 dark:text-gray-500",children:"Entity not found"})]}),a&&n&&!d&&r.jsx("button",{onClick:x,disabled:l,className:"p-1.5 text-gray-400 hover:text-red-600 hover:bg-red-50 rounded opacity-0 group-hover:opacity-100 transition-opacity disabled:opacity-50",title:"Remove member","data-testid":`remove-member-${e.id}`,children:l?r.jsx(je,{className:"w-4 h-4 animate-spin"}):r.jsx(Hm,{className:"w-4 h-4"})}),d&&r.jsxs("div",{className:"flex items-center gap-1","data-testid":`confirm-remove-${e.id}`,children:[r.jsx("button",{onClick:g,disabled:l,className:"px-2 py-1 text-xs font-medium text-white bg-red-600 hover:bg-red-700 rounded disabled:opacity-50","data-testid":`confirm-remove-yes-${e.id}`,children:l?r.jsx(je,{className:"w-3 h-3 animate-spin"}):"Remove"}),r.jsx("button",{onClick:()=>u(!1),className:"px-2 py-1 text-xs font-medium text-gray-600 hover:bg-gray-100 rounded","data-testid":`confirm-remove-cancel-${e.id}`,children:"Cancel"})]})]})}function kU({channelId:e,currentMembers:t,currentOperator:a,onSuccess:n}){const[o,l]=y.useState(""),{data:d}=pU(),u=yU(),m=d?.filter(x=>!t.includes(x.id)),h=async()=>{if(o)try{await u.mutateAsync({channelId:e,entityId:o,actor:a}),l(""),n()}catch{}};return r.jsxs("div",{className:"px-4 py-3 bg-gray-50 border-t border-gray-200",children:[r.jsx("label",{className:"block text-sm font-medium text-gray-700 mb-2",children:"Add Member"}),r.jsxs("div",{className:"flex gap-2",children:[r.jsxs("select",{value:o,onChange:x=>l(x.target.value),className:"flex-1 min-w-0 px-3 py-2 text-sm border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent","data-testid":"add-member-select",children:[r.jsx("option",{value:"",children:"Select entity..."}),m?.map(x=>r.jsxs("option",{value:x.id,children:[x.name," (",x.entityType,")"]},x.id))]}),r.jsxs("button",{onClick:h,disabled:!o||u.isPending,className:"px-3 py-2 bg-blue-600 text-white text-sm font-medium rounded-md hover:bg-blue-700 disabled:opacity-50 disabled:cursor-not-allowed flex items-center gap-1","data-testid":"add-member-button",children:[u.isPending?r.jsx(je,{className:"w-4 h-4 animate-spin"}):r.jsx(I0,{className:"w-4 h-4"}),"Add"]})]}),u.isError&&r.jsxs("p",{className:"mt-2 text-sm text-red-600 flex items-center gap-1",children:[r.jsx(dt,{className:"w-4 h-4"}),u.error.message]}),m?.length===0&&r.jsx("p",{className:"mt-2 text-xs text-gray-500",children:"No more entities available to add"})]})}function NU({channel:e,currentOperator:t,onClose:a,onChannelDeleted:n}){const[o,l]=y.useState(null),[d,u]=y.useState(!1),{data:m,isLoading:h,error:x}=gU(e.id),g=bU(),p=vU(),j=fU(),k=e.channelType==="direct",N=!k&&m?.permissions.modifyMembers.includes(t),v=e.members.includes(t),T=!k&&(e.createdBy===t||N),E=async C=>{l(C);try{await g.mutateAsync({channelId:e.id,entityId:C,actor:t})}catch{}finally{l(null)}},O=async()=>{if(confirm("Are you sure you want to leave this channel?"))try{await p.mutateAsync({channelId:e.id,actor:t}),a()}catch{}},S=async()=>{try{await j.mutateAsync({channelId:e.id,actor:t}),u(!1),a(),n?.()}catch{}};return r.jsxs("div",{"data-testid":"channel-members-panel",className:"fixed inset-y-0 right-0 w-80 bg-white dark:bg-[var(--color-bg-secondary)] shadow-xl border-l border-gray-200 dark:border-[var(--color-border)] flex flex-col z-50 animate-slide-in-right",children:[r.jsxs("div",{className:"flex items-center justify-between px-4 py-3 border-b border-gray-200 dark:border-[var(--color-border)]",children:[r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsx(Bt,{className:"w-5 h-5 text-gray-500 dark:text-gray-400"}),r.jsx("h3",{className:"font-medium text-gray-900 dark:text-[var(--color-text)]",children:"Members"}),m&&r.jsxs("span",{className:"text-sm text-gray-500 dark:text-gray-400",children:["(",m.members.length,")"]})]}),r.jsx("button",{onClick:a,className:"p-1 text-gray-400 hover:text-gray-600 dark:hover:text-gray-200 hover:bg-gray-100 dark:hover:bg-gray-700 rounded transition-colors","data-testid":"close-members-panel",children:r.jsx(Ee,{className:"w-5 h-5"})})]}),k&&r.jsx("div",{className:"px-4 py-3 bg-amber-50 border-b border-amber-100",children:r.jsx("p",{className:"text-sm text-amber-800",children:"Direct message channels have fixed membership and cannot be modified."})}),r.jsx("div",{className:"flex-1 overflow-y-auto",children:h?r.jsxs("div",{className:"flex items-center justify-center py-8 text-gray-500",children:[r.jsx(je,{className:"w-5 h-5 animate-spin mr-2"}),"Loading members..."]}):x?r.jsxs("div",{className:"flex items-center justify-center py-8 text-red-500",children:[r.jsx(dt,{className:"w-5 h-5 mr-2"}),"Failed to load members"]}):r.jsx("div",{"data-testid":"members-list",children:m?.members.map(C=>r.jsx(wU,{member:C,isCreator:C.id===e.createdBy,canModify:!!N,canRemove:C.id!==t&&C.id!==e.createdBy,onRemove:()=>E(C.id),isRemoving:o===C.id},C.id))})}),N&&r.jsx(kU,{channelId:e.id,currentMembers:e.members,currentOperator:t,onSuccess:()=>{}}),!k&&v&&r.jsxs("div",{className:"px-4 py-3 border-t border-gray-200 dark:border-[var(--color-border)]",children:[r.jsxs("button",{onClick:O,disabled:p.isPending,className:"w-full flex items-center justify-center gap-2 px-4 py-2 text-sm font-medium text-red-600 hover:bg-red-50 dark:hover:bg-red-900/20 rounded-md transition-colors disabled:opacity-50","data-testid":"leave-channel-button",children:[p.isPending?r.jsx(je,{className:"w-4 h-4 animate-spin"}):r.jsx(yO,{className:"w-4 h-4"}),"Leave Channel"]}),p.isError&&r.jsx("p",{className:"mt-2 text-sm text-red-600 text-center",children:p.error.message})]}),T&&r.jsx("div",{className:"px-4 py-3 border-t border-gray-200 dark:border-[var(--color-border)]",children:r.jsxs("button",{onClick:()=>u(!0),disabled:j.isPending,className:"w-full flex items-center justify-center gap-2 px-4 py-2 text-sm font-medium text-red-600 hover:bg-red-50 dark:hover:bg-red-900/20 rounded-md transition-colors disabled:opacity-50","data-testid":"delete-channel-button",children:[j.isPending?r.jsx(je,{className:"w-4 h-4 animate-spin"}):r.jsx(jt,{className:"w-4 h-4"}),"Delete Channel"]})}),d&&r.jsxs("div",{className:"fixed inset-0 z-[60]",onClick:()=>u(!1),"data-testid":"delete-channel-confirm-modal",children:[r.jsx("div",{className:"absolute inset-0 bg-black/50 backdrop-blur-sm"}),r.jsx("div",{className:"absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 w-full max-w-sm mx-4",onClick:C=>C.stopPropagation(),children:r.jsxs("div",{className:"bg-[var(--color-surface)] rounded-xl shadow-2xl border border-[var(--color-border)]",children:[r.jsx("div",{className:"px-5 py-4 border-b border-[var(--color-border)]",children:r.jsxs("div",{className:"flex items-center gap-3",children:[r.jsx("div",{className:"p-2 rounded-full bg-red-100 dark:bg-red-900/30",children:r.jsx(Nr,{className:"w-5 h-5 text-red-600 dark:text-red-400"})}),r.jsxs("div",{children:[r.jsx("h2",{className:"text-lg font-semibold text-[var(--color-text)]",children:"Delete Channel"}),r.jsx("p",{className:"text-sm text-[var(--color-text-secondary)]",children:"This action cannot be undone."})]})]})}),r.jsxs("div",{className:"px-5 py-4",children:[r.jsx("p",{className:"text-sm text-[var(--color-text-secondary)] mb-3",children:"All messages and data in this channel will be permanently deleted."}),r.jsxs("div",{className:"p-3 bg-[var(--color-surface-elevated)] rounded-md border border-[var(--color-border)]",children:[r.jsxs("p",{className:"text-sm font-medium text-[var(--color-text)] truncate",title:e.name,children:["#",e.name]}),r.jsx("p",{className:"text-xs text-[var(--color-text-tertiary)] font-mono mt-1",children:e.id})]})]}),r.jsxs("div",{className:"px-5 py-4 border-t border-[var(--color-border)] bg-[var(--color-bg-secondary)] rounded-b-xl flex items-center justify-end gap-3",children:[r.jsx("button",{onClick:()=>u(!1),disabled:j.isPending,className:"px-4 py-2 text-sm font-medium text-[var(--color-text)] bg-[var(--color-surface-elevated)] hover:bg-[var(--color-surface-hover)] rounded-md transition-colors disabled:opacity-50","data-testid":"delete-channel-cancel",children:"Cancel"}),r.jsxs("button",{onClick:S,disabled:j.isPending,className:"px-4 py-2 text-sm font-medium text-white bg-red-600 hover:bg-red-700 rounded-md transition-colors disabled:opacity-50 flex items-center gap-2","data-testid":"delete-channel-confirm",children:[j.isPending&&r.jsx(je,{className:"w-4 h-4 animate-spin"}),"Delete"]})]}),j.isError&&r.jsx("div",{className:"px-5 py-3 border-t border-[var(--color-border)]",children:r.jsxs("p",{className:"text-sm text-red-600 flex items-center gap-2",children:[r.jsx(dt,{className:"w-4 h-4"}),j.error.message]})})]})})]})]})}function SU(){return be({queryKey:["entities"],queryFn:async()=>{const e=await fetch("/api/entities");if(!e.ok)throw new Error("Failed to fetch entities");const t=await e.json();return t.items||t}})}function CU(){const e=$e();return Re({mutationFn:async t=>{const a=await fetch("/api/channels",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!a.ok){const n=await a.json();throw new Error(n.error?.message||"Failed to create channel")}return a.json()},onSuccess:()=>{e.invalidateQueries({queryKey:["channels"]}),e.invalidateQueries({queryKey:["stats"]})}})}function X1({isOpen:e,onClose:t,onSuccess:a}){const[n,o]=y.useState("group"),[l,d]=y.useState(""),[u,m]=y.useState("private"),[h,x]=y.useState("invite-only"),[g,p]=y.useState([]),[j,k]=y.useState(""),[N,v]=y.useState(""),[T,E]=y.useState([]),O=y.useRef(null),S=CU(),{data:C}=SU(),{currentUser:A}=Ea();y.useEffect(()=>{e&&O.current&&O.current.focus()},[e]),y.useEffect(()=>{e||(o("group"),d(""),m("private"),x("invite-only"),p([]),k(""),v(""),E([]),S.reset())},[e]);const $=async K=>{if(K.preventDefault(),!A)return;let R;if(n==="group"){if(!l.trim())return;R={channelType:"group",name:l.trim().replace(/\s+/g,"-").toLowerCase(),createdBy:A.id,visibility:u,joinPolicy:h,...g.length>0&&{members:g},...T.length>0&&{tags:T}}}else{if(!j||!N||j===N)return;R={channelType:"direct",createdBy:A.id,entityA:j,entityB:N,...T.length>0&&{tags:T}}}try{const L=await S.mutateAsync(R);a?.(L),t()}catch{}},P=K=>{K.key==="Escape"&&t()},M=K=>{p(R=>R.includes(K)?R.filter(L=>L!==K):[...R,K])},q=l.trim()&&A,z=n==="group"?q:j&&N&&j!==N&&A,U=r.jsxs("div",{className:"flex items-center justify-end gap-3",children:[r.jsx("button",{type:"button",onClick:t,className:"px-4 py-2 text-sm font-medium text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-700 rounded-md transition-colors touch-target","data-testid":"create-channel-cancel-button",children:"Cancel"}),r.jsx("button",{type:"button",onClick:$,disabled:S.isPending||!z,className:"inline-flex items-center gap-2 px-4 py-2 text-sm font-medium text-white bg-blue-600 hover:bg-blue-700 rounded-md transition-colors disabled:opacity-50 disabled:cursor-not-allowed touch-target","data-testid":"create-channel-submit-button",children:S.isPending?r.jsxs(r.Fragment,{children:[r.jsx(je,{className:"w-4 h-4 animate-spin"}),"Creating..."]}):r.jsxs(r.Fragment,{children:[r.jsx(Fe,{className:"w-4 h-4"}),"Create"]})})]});return r.jsx(ad,{open:e,onClose:t,title:"Create Channel",icon:r.jsx(es,{className:"w-5 h-5 text-blue-500"}),size:"md","data-testid":"create-channel-modal",footer:U,children:r.jsxs("form",{onSubmit:$,className:"p-4",onKeyDown:P,children:[r.jsxs("div",{className:"mb-4",children:[r.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2",children:"Channel Type"}),r.jsxs("div",{className:"flex gap-2","data-testid":"create-channel-type-toggle",children:[r.jsxs("button",{type:"button",onClick:()=>o("group"),className:`flex-1 flex items-center justify-center gap-2 px-4 py-2.5 rounded-lg border transition-colors touch-target ${n==="group"?"border-blue-500 bg-blue-50 dark:bg-blue-900/30 text-blue-700 dark:text-blue-400":"border-gray-300 dark:border-gray-600 text-gray-600 dark:text-gray-400 hover:bg-gray-50 dark:hover:bg-gray-800"}`,"data-testid":"create-channel-type-group",children:[r.jsx(es,{className:"w-4 h-4"}),"Group"]}),r.jsxs("button",{type:"button",onClick:()=>o("direct"),className:`flex-1 flex items-center justify-center gap-2 px-4 py-2.5 rounded-lg border transition-colors touch-target ${n==="direct"?"border-blue-500 bg-blue-50 dark:bg-blue-900/30 text-blue-700 dark:text-blue-400":"border-gray-300 dark:border-gray-600 text-gray-600 dark:text-gray-400 hover:bg-gray-50 dark:hover:bg-gray-800"}`,"data-testid":"create-channel-type-direct",children:[r.jsx(Bt,{className:"w-4 h-4"}),"Direct"]})]})]}),n==="group"&&r.jsxs(r.Fragment,{children:[r.jsxs("div",{className:"mb-4",children:[r.jsxs("label",{htmlFor:"channel-name",className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:["Name ",r.jsx("span",{className:"text-red-500",children:"*"})]}),r.jsx("input",{ref:O,id:"channel-name",type:"text",value:l,onChange:K=>d(K.target.value),placeholder:"Enter channel name...",className:"w-full px-3 py-2.5 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-800 text-[var(--color-text)] focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent touch-target","data-testid":"create-channel-name-input",required:!0,maxLength:100}),r.jsx("p",{className:"mt-1 text-xs text-gray-500 dark:text-gray-400",children:"Alphanumeric, hyphens, underscores only"})]}),r.jsxs("div",{className:"mb-4",children:[r.jsx("label",{htmlFor:"channel-visibility",className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:"Visibility"}),r.jsxs("select",{id:"channel-visibility",value:u,onChange:K=>m(K.target.value),className:"w-full px-3 py-2.5 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-800 text-[var(--color-text)] focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent touch-target","data-testid":"create-channel-visibility-select",children:[r.jsx("option",{value:"private",children:"Private - Only members can see"}),r.jsx("option",{value:"public",children:"Public - Anyone can see"})]})]}),r.jsxs("div",{className:"mb-4",children:[r.jsx("label",{htmlFor:"channel-join-policy",className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:"Join Policy"}),r.jsxs("select",{id:"channel-join-policy",value:h,onChange:K=>x(K.target.value),className:"w-full px-3 py-2.5 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-800 text-[var(--color-text)] focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent touch-target","data-testid":"create-channel-join-policy-select",children:[r.jsx("option",{value:"invite-only",children:"Invite Only"}),r.jsx("option",{value:"open",children:"Open - Anyone can join"}),r.jsx("option",{value:"request",children:"Request - Approval required"})]})]}),r.jsxs("div",{className:"mb-4",children:[r.jsxs("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:["Members ",r.jsx("span",{className:"text-gray-400 dark:text-gray-500 text-xs font-normal",children:"(optional)"})]}),r.jsxs("div",{className:"border border-gray-300 dark:border-gray-600 rounded-lg max-h-32 overflow-y-auto bg-white dark:bg-gray-800","data-testid":"create-channel-members-list",children:[C?.filter(K=>K.id!==A?.id).map(K=>r.jsxs("label",{className:"flex items-center gap-2 px-3 py-2.5 hover:bg-gray-50 dark:hover:bg-gray-700 cursor-pointer touch-target",children:[r.jsx("input",{type:"checkbox",checked:g.includes(K.id),onChange:()=>M(K.id),className:"rounded border-gray-300 dark:border-gray-600 text-blue-600 focus:ring-blue-500 w-5 h-5"}),r.jsxs("span",{className:"text-sm text-gray-700 dark:text-gray-300",children:[K.name," (",K.entityType,")"]})]},K.id)),(!C||C.length<=1)&&r.jsx("div",{className:"px-3 py-2 text-sm text-gray-500 dark:text-gray-400",children:"No other entities available"})]}),r.jsx("p",{className:"mt-1 text-xs text-gray-500 dark:text-gray-400",children:"Creator is automatically added"})]})]}),n==="direct"&&r.jsxs(r.Fragment,{children:[r.jsxs("div",{className:"mb-4",children:[r.jsxs("label",{htmlFor:"channel-entity-a",className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:["First Entity ",r.jsx("span",{className:"text-red-500",children:"*"})]}),r.jsxs("select",{id:"channel-entity-a",value:j,onChange:K=>k(K.target.value),className:"w-full px-3 py-2.5 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-800 text-[var(--color-text)] focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent touch-target","data-testid":"create-channel-entity-a-select",required:!0,children:[r.jsx("option",{value:"",children:"Select entity..."}),C?.map(K=>r.jsxs("option",{value:K.id,children:[K.name," (",K.entityType,")"]},K.id))]})]}),r.jsxs("div",{className:"mb-4",children:[r.jsxs("label",{htmlFor:"channel-entity-b",className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:["Second Entity ",r.jsx("span",{className:"text-red-500",children:"*"})]}),r.jsxs("select",{id:"channel-entity-b",value:N,onChange:K=>v(K.target.value),className:"w-full px-3 py-2.5 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-800 text-[var(--color-text)] focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent touch-target","data-testid":"create-channel-entity-b-select",required:!0,children:[r.jsx("option",{value:"",children:"Select entity..."}),C?.filter(K=>K.id!==j).map(K=>r.jsxs("option",{value:K.id,children:[K.name," (",K.entityType,")"]},K.id))]}),j&&N&&j===N&&r.jsx("p",{className:"mt-1 text-xs text-red-500",children:"Entities must be different"})]})]}),r.jsxs("div",{className:"mb-4",children:[r.jsxs("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:["Tags ",r.jsx("span",{className:"text-gray-400 dark:text-gray-500 text-xs font-normal",children:"(optional)"})]}),r.jsx(dc,{tags:T,onChange:E,placeholder:"Type and press comma to add tags","data-testid":"create-channel-tags-input"})]}),S.isError&&r.jsx("div",{className:"mb-4 p-3 bg-red-50 dark:bg-red-900/20 border border-red-200 dark:border-red-800 rounded-lg text-sm text-red-700 dark:text-red-400","data-testid":"create-channel-error",children:S.error?.message||"Failed to create channel"})]})})}const R5={"nav.dashboard":{keys:"G H",description:"Go to Dashboard",category:"navigation"},"nav.dependencies":{keys:"G G",description:"Go to Dependencies",category:"navigation"},"nav.timeline":{keys:"G L",description:"Go to Timeline",category:"navigation"},"nav.tasks":{keys:"G T",description:"Go to Tasks",category:"navigation"},"nav.plans":{keys:"G P",description:"Go to Plans",category:"navigation"},"nav.workflows":{keys:"G W",description:"Go to Workflows",category:"navigation"},"nav.messages":{keys:"G M",description:"Go to Messages",category:"navigation"},"nav.documents":{keys:"G D",description:"Go to Documents",category:"navigation"},"nav.entities":{keys:"G E",description:"Go to Entities",category:"navigation"},"nav.teams":{keys:"G R",description:"Go to Teams",category:"navigation"},"nav.inbox":{keys:"G I",description:"Go to Inbox",category:"navigation"},"nav.settings":{keys:"G S",description:"Go to Settings",category:"navigation"},"action.commandPalette":{keys:"Cmd+K",description:"Open Command Palette",category:"actions"},"action.toggleSidebar":{keys:"Cmd+B",description:"Toggle Sidebar",category:"actions"},"action.createTask":{keys:"C T",description:"Create Task",category:"actions"},"action.createWorkflow":{keys:"C W",description:"Create Workflow",category:"actions"},"action.createEntity":{keys:"C E",description:"Create Entity",category:"actions"},"action.createTeam":{keys:"C M",description:"Create Team",category:"actions"},"action.createDocument":{keys:"C D",description:"Create Document",category:"actions"},"action.createPlan":{keys:"C P",description:"Create Plan",category:"actions"},"action.createBacklogTask":{keys:"C B",description:"Create Backlog Task",category:"actions"},"view.list":{keys:"V L",description:"List View",category:"views"},"view.kanban":{keys:"V K",description:"Kanban View",category:"views"}},TU="settings.customShortcuts";function EU(){if(typeof window>"u")return{};try{const e=localStorage.getItem(TU);return e?JSON.parse(e):{}}catch{return{}}}function or(e){const t=EU();return t[e]?t[e]:R5[e]?.keys||""}const Im="stoneforge:shortcuts-changed";function Va(){const[e,t]=y.useState(0);return y.useEffect(()=>{const a=()=>{t(n=>n+1)};return window.addEventListener(Im,a),()=>{window.removeEventListener(Im,a)}},[]),e}function W1(e){if(e.includes("+")){const a=e.toLowerCase().split("+");return{type:"modifier",key:a[a.length-1],meta:a.includes("cmd")||a.includes("meta"),ctrl:a.includes("ctrl"),alt:a.includes("alt"),shift:a.includes("shift")}}return{type:"sequential",sequence:e.toLowerCase().split(" ").filter(Boolean)}}class OU{constructor(){ft(this,"shortcuts",new Map);ft(this,"sequentialShortcuts",new Map);ft(this,"modifierShortcuts",new Map);ft(this,"pendingKeys",[]);ft(this,"sequenceTimeout",null);ft(this,"SEQUENCE_TIMEOUT",1e3);ft(this,"enabled",!0);this.handleKeyDown=this.handleKeyDown.bind(this)}register(t,a,n){const o={keys:t,handler:a,description:n};this.shortcuts.set(t,o);const l=W1(t);if(l.type==="modifier"){const d=this.buildModifierKey(l);this.modifierShortcuts.set(d,o)}else if(l.sequence){const d=l.sequence.join(" ");this.sequentialShortcuts.set(d,o)}}unregister(t){if(!this.shortcuts.get(t))return;this.shortcuts.delete(t);const n=W1(t);if(n.type==="modifier"){const o=this.buildModifierKey(n);this.modifierShortcuts.delete(o)}else if(n.sequence){const o=n.sequence.join(" ");this.sequentialShortcuts.delete(o)}}buildModifierKey(t){const a=[];return t.meta&&a.push("meta"),t.ctrl&&a.push("ctrl"),t.alt&&a.push("alt"),t.shift&&a.push("shift"),a.push(t.key||""),a.join("+")}setEnabled(t){this.enabled=t,t||this.resetSequence()}isEnabled(){return this.enabled}resetSequence(){this.pendingKeys=[],this.sequenceTimeout&&(clearTimeout(this.sequenceTimeout),this.sequenceTimeout=null)}handleKeyDown(t){if(!this.enabled)return;const a=t.target,n=a.tagName==="INPUT"||a.tagName==="TEXTAREA"||a.isContentEditable;if(t.metaKey||t.ctrlKey){const m=this.buildModifierKey({type:"modifier",key:t.key.toLowerCase(),meta:t.metaKey,ctrl:t.ctrlKey,alt:t.altKey,shift:t.shiftKey}),h=this.modifierShortcuts.get(m);if(h){t.preventDefault(),h.handler();return}}if(n){this.resetSequence();return}const o=t.key.toLowerCase();if(["meta","control","alt","shift"].includes(o))return;this.sequenceTimeout&&clearTimeout(this.sequenceTimeout),this.pendingKeys.push(o);const l=this.pendingKeys.join(" "),d=this.sequentialShortcuts.get(l);if(d){t.preventDefault(),this.resetSequence(),d.handler();return}Array.from(this.sequentialShortcuts.keys()).some(m=>m.startsWith(l+" "))?(t.preventDefault(),this.sequenceTimeout=setTimeout(()=>{this.resetSequence()},this.SEQUENCE_TIMEOUT)):this.resetSequence()}start(){document.addEventListener("keydown",this.handleKeyDown)}stop(){document.removeEventListener("keydown",this.handleKeyDown),this.resetSequence()}getShortcuts(){return Array.from(this.shortcuts.values())}}const yr=new OU;function AU(e){return e.replace(/Cmd\+/gi,"⌘").replace(/Ctrl\+/gi,"⌃").replace(/Alt\+/gi,"⌥").replace(/Shift\+/gi,"⇧").replace(/\s+/g," ")}function $U(){const e=be({queryKey:["entities","humans"],queryFn:async()=>{const t=await fetch("/api/entities?entityType=human&limit=10000");if(!t.ok)throw new Error("Failed to fetch entities");return(await t.json()).items||[]}});return{data:e.data,isLoading:e.isLoading}}function DU({children:e}){return r.jsx(M_,{useHumanEntities:$U,children:e})}function _U(e){return be({queryKey:["inbox",e,"count"],queryFn:async()=>{if(!e)return{count:0};const t=new URLSearchParams({entityId:e}),a=await fetch(`/api/inbox/count?${t}`);return a.ok?a.json():{count:0}},enabled:!!e,staleTime:0,refetchOnWindowFocus:"always",refetchInterval:3e4})}const Z1=[{id:"dashboard",label:"Dashboard",icon:oo,defaultExpanded:!0,items:[{to:"/dashboard/overview",icon:oo,label:"Overview",actionId:"nav.dashboard",testId:"nav-dashboard"},{to:"/dashboard/timeline",icon:vn,label:"Timeline",actionId:"nav.timeline",testId:"nav-timeline",search:{page:1,limit:100,actor:void 0}}]},{id:"work",label:"Work",defaultExpanded:!0,items:[{to:"/tasks",icon:Ta,label:"Tasks",actionId:"nav.tasks",testId:"nav-tasks",search:{page:1,limit:25}},{to:"/plans",icon:Fs,label:"Plans",actionId:"nav.plans",testId:"nav-plans"},{to:"/workflows",icon:bn,label:"Workflows",actionId:"nav.workflows",testId:"nav-workflows"},{to:"/dependencies",icon:Vm,label:"Dependencies",actionId:"nav.dependencies",testId:"nav-dependencies"}]},{id:"collaborate",label:"Collaborate",defaultExpanded:!0,items:[{to:"/inbox",icon:kr,label:"Inbox",actionId:"nav.inbox",testId:"nav-inbox",search:{message:void 0},badgeKey:"inbox"},{to:"/messages",icon:vt,label:"Messages",actionId:"nav.messages",testId:"nav-messages",search:{channel:void 0,message:void 0}},{to:"/documents",icon:Je,label:"Documents",actionId:"nav.documents",testId:"nav-documents",search:{selected:void 0,library:void 0}}]},{id:"organize",label:"Organize",defaultExpanded:!0,items:[{to:"/entities",icon:Bt,label:"Entities",actionId:"nav.entities",testId:"nav-entities",search:{selected:void 0,name:void 0,page:1,limit:25}},{to:"/teams",icon:Zc,label:"Teams",actionId:"nav.teams",testId:"nav-teams",search:{selected:void 0,page:1,limit:25}}]}],MU=[{to:"/settings",icon:Jn,label:"Settings",testId:"nav-settings"}];function J1({collapsed:e=!1,onToggle:t,isMobileDrawer:a=!1}){const o=_0().location.pathname,{currentUser:l}=Ea(),{data:d}=_U(l?.id??null);Va();const[u,m]=y.useState(()=>new Set(Z1.filter(N=>N.defaultExpanded).map(N=>N.id))),h=y.useCallback(N=>{m(v=>{const T=new Set(v);return T.has(N)?T.delete(N):T.add(N),T})},[]),x=N=>o===N,g=(N,v=!1)=>{const T=x(N.to),E=N.icon;let O;return N.badgeKey==="inbox"&&d?.count&&d.count>0&&(O=d.count),r.jsxs(ha,{to:N.to,search:N.search,"data-testid":N.testId,className:`
153
+ group relative flex items-center gap-3 px-3 py-2 text-sm font-medium rounded-md
154
+ transition-all duration-150 ease-out
155
+ ${v&&!e?"ml-3":""}
156
+ ${T?"bg-[var(--color-sidebar-item-active)] text-[var(--color-sidebar-item-text-active)]":"text-[var(--color-sidebar-item-text)] hover:bg-[var(--color-sidebar-item-hover)] hover:text-[var(--color-text)]"}
157
+ ${e?"justify-center px-2":""}
158
+ `,title:e?N.label:void 0,children:[T&&!e&&r.jsx("div",{className:"absolute left-0 top-1/2 -translate-y-1/2 w-0.5 h-5 bg-[var(--color-primary)] rounded-r-full","data-testid":"active-indicator"}),r.jsxs("div",{className:"relative flex-shrink-0",children:[r.jsx(E,{className:`w-4 h-4 ${T?"text-[var(--color-sidebar-item-text-active)]":"text-[var(--color-text-tertiary)] group-hover:text-[var(--color-text-secondary)]"}`}),e&&O!==void 0&&r.jsx("span",{className:"absolute -top-1 -right-1 w-2 h-2 rounded-full bg-blue-500","data-testid":`${N.testId}-badge-dot`})]}),!e&&r.jsxs(r.Fragment,{children:[r.jsx("span",{className:"flex-1 truncate",children:N.label}),O!==void 0&&r.jsx("span",{className:"px-1.5 py-0.5 text-[10px] font-medium bg-blue-100 dark:bg-blue-900 text-blue-700 dark:text-blue-300 rounded-full","data-testid":`${N.testId}-badge`,children:O>99?"99+":O}),!O&&N.actionId&&r.jsx("span",{className:"text-[10px] text-[var(--color-text-muted)] font-mono tracking-wide opacity-0 group-hover:opacity-100 transition-opacity",children:or(N.actionId)})]})]},N.to)},p=N=>{const v=u.has(N.id),T=N.items.some(O=>x(O.to)),E=N.icon;return e?r.jsx("div",{className:"space-y-0.5",children:N.items.map(O=>g(O,!1))},N.id):r.jsxs("div",{className:"mb-2","data-testid":`nav-section-${N.id}`,children:[r.jsxs("button",{onClick:()=>h(N.id),className:`
159
+ w-full flex items-center gap-2 px-3 py-1.5 text-xs font-semibold uppercase tracking-wider
160
+ text-[var(--color-text-tertiary)] hover:text-[var(--color-text-secondary)]
161
+ transition-colors duration-150 rounded-md hover:bg-[var(--color-sidebar-item-hover)]
162
+ ${T?"text-[var(--color-text-secondary)]":""}
163
+ `,"data-testid":`section-toggle-${N.id}`,children:[E&&r.jsx(E,{className:"w-3.5 h-3.5"}),r.jsx("span",{className:"flex-1 text-left",children:N.label}),r.jsx(it,{className:`w-3.5 h-3.5 transition-transform duration-200 ${v?"":"-rotate-90"}`})]}),r.jsx("div",{className:`
164
+ mt-1 space-y-0.5 overflow-hidden transition-all duration-200 ease-out
165
+ ${v?"max-h-96 opacity-100":"max-h-0 opacity-0"}
166
+ `,children:N.items.map(O=>g(O,!0))})]},N.id)},j=e&&!a,k=!e||a;return r.jsxs("aside",{className:`
167
+ flex flex-col bg-[var(--color-sidebar-bg)]
168
+ transition-all duration-200 ease-out
169
+ ${a?"w-full h-full border-none":"border-r border-[var(--color-sidebar-border)]"}
170
+ ${!a&&e?"w-16":a?"":"w-60"}
171
+ `,"data-testid":"sidebar",children:[r.jsxs("div",{className:`flex items-center justify-between h-14 px-4 border-b border-[var(--color-sidebar-border)] ${a?"pr-12":""}`,children:[k&&r.jsxs("div",{className:"flex items-center gap-2.5 ml-1",children:[r.jsx("img",{src:"/logo.png",alt:"",className:"w-7 h-7 object-contain"}),r.jsx("span",{className:"text-xl font-semibold tracking-wide text-[var(--color-text)]",style:{fontFamily:"'Space Grotesk', ui-sans-serif, system-ui, sans-serif"},children:"stoneforge"})]}),j&&r.jsx("img",{src:"/logo.png",alt:"Stoneforge",className:"w-7 h-7 object-contain mx-auto"}),k&&!a&&r.jsx("button",{onClick:t,className:"p-1.5 rounded-md text-[var(--color-text-tertiary)] hover:text-[var(--color-text-secondary)] hover:bg-[var(--color-sidebar-item-hover)] transition-colors duration-150","aria-label":"Collapse sidebar","aria-expanded":"true","data-testid":"sidebar-toggle",children:r.jsx(Pr,{className:"w-4 h-4"})})]}),r.jsx("nav",{className:"flex-1 px-2 py-3 overflow-y-auto scrollbar-thin scrollbar-thumb-[var(--color-border)] scrollbar-track-transparent",children:Z1.map(p)}),r.jsx("div",{className:"px-2 py-3 border-t border-[var(--color-sidebar-border)] space-y-0.5",children:MU.map(N=>g(N,!1))}),j&&!a&&r.jsx("div",{className:"px-2 py-3 border-t border-[var(--color-sidebar-border)]",children:r.jsx(Q0,{content:"Expand sidebar",shortcut:"⌘B",side:"right",children:r.jsx("button",{onClick:t,className:"w-full flex items-center justify-center p-2 rounded-md text-[var(--color-text-tertiary)] hover:text-[var(--color-text-secondary)] hover:bg-[var(--color-sidebar-item-hover)] transition-colors duration-150 focus:outline-none focus:ring-2 focus:ring-[var(--color-primary)] focus:ring-offset-1 focus:ring-offset-[var(--color-sidebar-bg)]","aria-label":"Expand sidebar","aria-expanded":"false","data-testid":"sidebar-expand-button",children:r.jsx(vO,{className:"w-5 h-5"})})})}),k&&!a&&r.jsxs("div",{className:"px-4 py-2 text-[10px] text-[var(--color-text-muted)] border-t border-[var(--color-sidebar-border)]",children:[r.jsx("kbd",{className:"px-1.5 py-0.5 rounded bg-[var(--color-surface-hover)] text-[var(--color-text-tertiary)] font-mono",children:"⌘K"})," ","for commands"]})]})}const LU={"nav.dashboard":"/dashboard/overview","nav.timeline":"/dashboard/timeline","nav.tasks":"/tasks","nav.plans":"/plans","nav.workflows":"/workflows","nav.dependencies":"/dependencies","nav.inbox":"/inbox","nav.messages":"/messages","nav.documents":"/documents","nav.entities":"/entities","nav.teams":"/teams","nav.settings":"/settings"};function Kc(e,t,a){y.useEffect(()=>(yr.register(e,t,a),()=>{yr.unregister(e)}),[e,t,a])}function PU(){const e=rr(),t=Va(),a=y.useCallback(n=>()=>{e({to:n})},[e]);y.useEffect(()=>{yr.start();const n=[];return Object.entries(LU).forEach(([o,l])=>{const d=or(o);d&&(yr.register(d,a(l),`Navigate to ${l}`),n.push(d))}),()=>{n.forEach(o=>{yr.unregister(o)}),yr.stop()}},[a,t])}function RU(){return be({queryKey:["entities"],queryFn:async()=>{const e=await fetch("/api/entities");if(!e.ok)throw new Error("Failed to fetch entities");const t=await e.json();return t.items||t}})}function IU(){const e=$e();return Re({mutationFn:async t=>{const a=await fetch("/api/tasks",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!a.ok){const n=await a.json();throw new Error(n.error?.message||"Failed to create task")}return a.json()},onSuccess:()=>{e.invalidateQueries({queryKey:["tasks"]}),e.invalidateQueries({queryKey:["tasks","ready"]}),e.invalidateQueries({queryKey:["tasks","blocked"]}),e.invalidateQueries({queryKey:["tasks","completed"]}),e.invalidateQueries({queryKey:["stats"]})}})}const eS=[{value:1,label:"Critical"},{value:2,label:"High"},{value:3,label:"Medium"},{value:4,label:"Low"},{value:5,label:"Trivial"}],tS=[{value:1,label:"Trivial"},{value:2,label:"Simple"},{value:3,label:"Moderate"},{value:4,label:"Complex"},{value:5,label:"Very Complex"}],rS=[{value:"task",label:"Task"},{value:"bug",label:"Bug"},{value:"feature",label:"Feature"},{value:"chore",label:"Chore"},{value:"research",label:"Research"},{value:"documentation",label:"Documentation"}];function aS({isOpen:e,onClose:t,onSuccess:a,defaultToBacklog:n=!1}){const[o,l]=y.useState(""),[d,u]=y.useState(""),[m,h]=y.useState(3),[x,g]=y.useState(3),[p,j]=y.useState("task"),[k,N]=y.useState(""),[v,T]=y.useState([]),[E,O]=y.useState(n),S=y.useRef(null),C=IU(),{data:A}=RU(),{currentUser:$}=Ea();y.useEffect(()=>{e&&S.current&&S.current.focus()},[e]),y.useEffect(()=>{e||(l(""),u(""),h(3),g(3),j("task"),N(""),T([]),O(n),C.reset())},[e,n]);const P=async _=>{if(_.preventDefault(),!o.trim()||!$)return;const z={title:o.trim(),createdBy:$.id,priority:m,complexity:x,taskType:p,status:E?"backlog":"open"};k&&(z.assignee=k),v.length>0&&(z.tags=v),d.trim()&&(z.description=d.trim());try{const U=await C.mutateAsync(z);a?.(U),t()}catch{}},M=_=>{_.key==="Escape"&&t()},q=Et();return e?q?r.jsxs("div",{className:"fixed inset-0 z-50 bg-[var(--color-bg)]","data-testid":"create-task-modal",onKeyDown:M,children:[r.jsxs("div",{className:"flex items-center gap-2 px-4 py-3 border-b border-[var(--color-border)] bg-[var(--color-surface)] sticky top-0 z-10",children:[r.jsx("button",{onClick:t,className:"p-2 -ml-2 rounded-md text-[var(--color-text-secondary)] hover:text-[var(--color-text)] hover:bg-[var(--color-surface-hover)] transition-colors duration-150 touch-target","aria-label":"Cancel","data-testid":"create-task-modal-close",children:r.jsx(Pr,{className:"w-5 h-5"})}),r.jsx("h2",{className:"flex-1 text-lg font-semibold text-[var(--color-text)]",children:"Create Task"}),r.jsx("button",{onClick:P,disabled:C.isPending||!o.trim()||!$,className:"px-4 py-2 text-sm font-medium text-white bg-blue-600 hover:bg-blue-700 disabled:opacity-50 disabled:cursor-not-allowed rounded-lg transition-colors touch-target","data-testid":"create-task-submit-mobile",children:C.isPending?r.jsx(je,{className:"w-4 h-4 animate-spin"}):"Create"})]}),r.jsxs("form",{onSubmit:P,className:"p-4 pb-20 overflow-y-auto h-[calc(100vh-60px)]",children:[C.isError&&r.jsx("div",{className:"mb-4 p-3 bg-red-50 dark:bg-red-900/20 border border-red-200 dark:border-red-800 rounded-lg text-sm text-red-600 dark:text-red-400",children:C.error?.message||"Failed to create task"}),r.jsxs("div",{className:"mb-4",children:[r.jsxs("label",{htmlFor:"task-title",className:"block text-sm font-medium text-[var(--color-text)] mb-1",children:["Title ",r.jsx("span",{className:"text-red-500",children:"*"})]}),r.jsx("input",{ref:S,id:"task-title",type:"text",value:o,onChange:_=>l(_.target.value),placeholder:"Enter task title...",className:"w-full px-3 py-2.5 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-800 text-[var(--color-text)] focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent","data-testid":"create-task-title-input",required:!0})]}),r.jsxs("div",{className:"mb-4",children:[r.jsxs("label",{htmlFor:"task-description",className:"block text-sm font-medium text-[var(--color-text)] mb-1",children:["Description ",r.jsx("span",{className:"text-[var(--color-text-muted)] text-xs font-normal",children:"(optional)"})]}),r.jsx("textarea",{id:"task-description",value:d,onChange:_=>u(_.target.value),placeholder:"Add a description...",rows:4,className:"w-full px-3 py-2.5 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-800 text-[var(--color-text)] focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent resize-y","data-testid":"create-task-description-input"})]}),r.jsxs("div",{className:"mb-4",children:[r.jsx("label",{htmlFor:"task-priority",className:"block text-sm font-medium text-[var(--color-text)] mb-1",children:"Priority"}),r.jsx("select",{id:"task-priority",value:m,onChange:_=>h(Number(_.target.value)),className:"w-full px-3 py-2.5 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-800 text-[var(--color-text)] focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent touch-target","data-testid":"create-task-priority-select",children:eS.map(_=>r.jsx("option",{value:_.value,children:_.label},_.value))})]}),r.jsxs("div",{className:"mb-4",children:[r.jsx("label",{htmlFor:"task-complexity",className:"block text-sm font-medium text-[var(--color-text)] mb-1",children:"Complexity"}),r.jsx("select",{id:"task-complexity",value:x,onChange:_=>g(Number(_.target.value)),className:"w-full px-3 py-2.5 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-800 text-[var(--color-text)] focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent touch-target","data-testid":"create-task-complexity-select",children:tS.map(_=>r.jsx("option",{value:_.value,children:_.label},_.value))})]}),r.jsxs("div",{className:"mb-4",children:[r.jsx("label",{htmlFor:"task-type",className:"block text-sm font-medium text-[var(--color-text)] mb-1",children:"Type"}),r.jsx("select",{id:"task-type",value:p,onChange:_=>j(_.target.value),className:"w-full px-3 py-2.5 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-800 text-[var(--color-text)] focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent touch-target","data-testid":"create-task-type-select",children:rS.map(_=>r.jsx("option",{value:_.value,children:_.label},_.value))})]}),r.jsxs("div",{className:"mb-4",children:[r.jsxs("label",{htmlFor:"task-assignee",className:"block text-sm font-medium text-[var(--color-text)] mb-1",children:["Assignee ",r.jsx("span",{className:"text-[var(--color-text-muted)] text-xs font-normal",children:"(optional)"})]}),r.jsxs("select",{id:"task-assignee",value:k,onChange:_=>N(_.target.value),className:"w-full px-3 py-2.5 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-800 text-[var(--color-text)] focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent touch-target","data-testid":"create-task-assignee-select",children:[r.jsx("option",{value:"",children:"Unassigned"}),A?.map(_=>r.jsxs("option",{value:_.id,children:[_.name," (",_.entityType,")"]},_.id))]})]}),r.jsxs("div",{className:"mb-4",children:[r.jsxs("label",{className:"block text-sm font-medium text-[var(--color-text)] mb-1",children:["Tags ",r.jsx("span",{className:"text-[var(--color-text-muted)] text-xs font-normal",children:"(optional)"})]}),r.jsx(dc,{tags:v,onChange:T,placeholder:"Add tags..."})]}),r.jsxs("div",{className:"mb-4 flex items-center gap-2",children:[r.jsx("input",{type:"checkbox",id:"task-backlog-mobile",checked:E,onChange:_=>O(_.target.checked),className:"w-4 h-4 rounded border-gray-300 text-blue-600 focus:ring-blue-500","data-testid":"create-task-backlog-checkbox"}),r.jsx("label",{htmlFor:"task-backlog-mobile",className:"text-sm text-[var(--color-text)]",children:"Add to Backlog"})]})]})]}):r.jsxs("div",{className:"fixed inset-0 z-50","data-testid":"create-task-modal",onKeyDown:M,children:[r.jsx("div",{className:"absolute inset-0 bg-black/50 backdrop-blur-sm",onClick:t,"data-testid":"create-task-modal-backdrop"}),r.jsx("div",{className:"absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 w-full max-w-lg max-h-[90vh] overflow-y-auto",children:r.jsxs("div",{className:"bg-white dark:bg-[var(--color-surface)] rounded-xl shadow-2xl border border-gray-200 dark:border-gray-700",children:[r.jsxs("div",{className:"flex items-center justify-between px-4 py-3 border-b border-gray-200 dark:border-gray-700",children:[r.jsx("h2",{className:"text-lg font-semibold text-gray-900 dark:text-white",children:"Create Task"}),r.jsx("button",{onClick:t,className:"p-1 text-gray-400 hover:text-gray-600 dark:hover:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-700 rounded","aria-label":"Close","data-testid":"create-task-modal-close",children:r.jsx(Ee,{className:"w-5 h-5"})})]}),r.jsxs("form",{onSubmit:P,className:"p-4",children:[r.jsxs("div",{className:"mb-4",children:[r.jsxs("label",{htmlFor:"task-title",className:"block text-sm font-medium text-gray-700 mb-1",children:["Title ",r.jsx("span",{className:"text-red-500",children:"*"})]}),r.jsx("input",{ref:S,id:"task-title",type:"text",value:o,onChange:_=>l(_.target.value),placeholder:"Enter task title...",className:"w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent","data-testid":"create-task-title-input",required:!0})]}),r.jsxs("div",{className:"mb-4",children:[r.jsxs("label",{htmlFor:"task-description",className:"block text-sm font-medium text-gray-700 mb-1",children:["Description ",r.jsx("span",{className:"text-gray-400 text-xs font-normal",children:"(optional, supports Markdown)"})]}),r.jsx("textarea",{id:"task-description",value:d,onChange:_=>u(_.target.value),placeholder:"Add a description...",rows:3,className:"w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent resize-y","data-testid":"create-task-description-input"})]}),r.jsxs("div",{className:"grid grid-cols-2 gap-4 mb-4",children:[r.jsxs("div",{children:[r.jsx("label",{htmlFor:"task-priority",className:"block text-sm font-medium text-gray-700 mb-1",children:"Priority"}),r.jsx("select",{id:"task-priority",value:m,onChange:_=>h(Number(_.target.value)),className:"w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent","data-testid":"create-task-priority-select",children:eS.map(_=>r.jsx("option",{value:_.value,children:_.label},_.value))})]}),r.jsxs("div",{children:[r.jsx("label",{htmlFor:"task-complexity",className:"block text-sm font-medium text-gray-700 mb-1",children:"Complexity"}),r.jsx("select",{id:"task-complexity",value:x,onChange:_=>g(Number(_.target.value)),className:"w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent","data-testid":"create-task-complexity-select",children:tS.map(_=>r.jsx("option",{value:_.value,children:_.label},_.value))})]})]}),r.jsxs("div",{className:"grid grid-cols-2 gap-4 mb-4",children:[r.jsxs("div",{children:[r.jsx("label",{htmlFor:"task-type",className:"block text-sm font-medium text-gray-700 mb-1",children:"Type"}),r.jsx("select",{id:"task-type",value:p,onChange:_=>j(_.target.value),className:"w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent","data-testid":"create-task-type-select",children:rS.map(_=>r.jsx("option",{value:_.value,children:_.label},_.value))})]}),r.jsxs("div",{children:[r.jsx("label",{htmlFor:"task-assignee",className:"block text-sm font-medium text-gray-700 mb-1",children:"Assignee"}),r.jsxs("select",{id:"task-assignee",value:k,onChange:_=>N(_.target.value),className:"w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent","data-testid":"create-task-assignee-select",children:[r.jsx("option",{value:"",children:"Unassigned"}),A?.map(_=>r.jsx("option",{value:_.id,children:_.name},_.id))]})]})]}),r.jsxs("div",{className:"mb-6",children:[r.jsx("label",{className:"block text-sm font-medium text-gray-700 mb-1",children:"Tags"}),r.jsx(dc,{tags:v,onChange:T,placeholder:"Type and press comma to add tags","data-testid":"create-task-tags-input"})]}),r.jsxs("div",{className:"mb-6 flex items-center gap-2",children:[r.jsx("input",{type:"checkbox",id:"task-backlog",checked:E,onChange:_=>O(_.target.checked),className:"w-4 h-4 rounded border-gray-300 text-blue-600 focus:ring-blue-500","data-testid":"create-task-backlog-checkbox"}),r.jsx("label",{htmlFor:"task-backlog",className:"text-sm text-gray-700",children:"Add to Backlog"})]}),C.isError&&r.jsx("div",{className:"mb-4 p-3 bg-red-50 border border-red-200 rounded-md text-sm text-red-700","data-testid":"create-task-error",children:C.error?.message||"Failed to create task"}),r.jsxs("div",{className:"flex items-center justify-end gap-3",children:[r.jsx("button",{type:"button",onClick:t,className:"px-4 py-2 text-sm font-medium text-gray-700 hover:bg-gray-100 rounded-md transition-colors","data-testid":"create-task-cancel-button",children:"Cancel"}),r.jsx("button",{type:"submit",disabled:C.isPending||!o.trim()||!$,className:"inline-flex items-center gap-2 px-4 py-2 text-sm font-medium text-white bg-blue-600 hover:bg-blue-700 rounded-md transition-colors disabled:opacity-50 disabled:cursor-not-allowed","data-testid":"create-task-submit-button",children:C.isPending?r.jsxs(r.Fragment,{children:[r.jsx(je,{className:"w-4 h-4 animate-spin"}),"Creating..."]}):r.jsxs(r.Fragment,{children:[r.jsx(Fe,{className:"w-4 h-4"}),"Create Task"]})})]})]})]})})]}):null}function I5(e){return e.type==="function"}const by={pending:{label:"Pending",icon:_t,color:"text-gray-600 dark:text-gray-400",bgColor:"bg-gray-100 dark:bg-gray-900/30",borderColor:"border-gray-300 dark:border-gray-700"},running:{label:"Running",icon:ts,color:"text-blue-600 dark:text-blue-400",bgColor:"bg-blue-100 dark:bg-blue-900/30",borderColor:"border-blue-300 dark:border-blue-700"},completed:{label:"Completed",icon:Gt,color:"text-green-600 dark:text-green-400",bgColor:"bg-green-100 dark:bg-green-900/30",borderColor:"border-green-300 dark:border-green-700"},failed:{label:"Failed",icon:Xr,color:"text-red-600 dark:text-red-400",bgColor:"bg-red-100 dark:bg-red-900/30",borderColor:"border-red-300 dark:border-red-700"},cancelled:{label:"Cancelled",icon:qm,color:"text-yellow-600 dark:text-yellow-400",bgColor:"bg-yellow-100 dark:bg-yellow-900/30",borderColor:"border-yellow-300 dark:border-yellow-700"}},BU=[{value:"task",label:"Task"},{value:"bug",label:"Bug"},{value:"feature",label:"Feature"},{value:"chore",label:"Chore"}],zU=[{value:5,label:"5 - Critical"},{value:4,label:"4 - High"},{value:3,label:"3 - Medium"},{value:2,label:"2 - Low"},{value:1,label:"1 - Lowest"}],qU=[{value:1,label:"1 - Trivial"},{value:2,label:"2 - Simple"},{value:3,label:"3 - Medium"},{value:4,label:"4 - Complex"},{value:5,label:"5 - Very Complex"}],FU=[{value:"string",label:"String"},{value:"number",label:"Number"},{value:"boolean",label:"Boolean"}],UU=[{value:"task",label:"Task",description:"Agent-executed task"},{value:"function",label:"Function",description:"Execute code directly"}],nS=[{value:"typescript",label:"TypeScript",description:"Execute TypeScript/JavaScript code"},{value:"python",label:"Python",description:"Execute Python code"},{value:"shell",label:"Shell",description:"Execute shell commands"}];function KU(e){return by[e]?.label??e}function sS(e){const t=by[e];return t?`${t.color} ${t.bgColor}`:"text-gray-600 bg-gray-100"}function HU(e){if(!e.startedAt)return;const t=new Date(e.startedAt).getTime(),n=(e.finishedAt?new Date(e.finishedAt).getTime():Date.now())-t;return n<1e3?`${n}ms`:n<6e4?`${Math.round(n/1e3)}s`:n<36e5?`${Math.round(n/6e4)}m`:`${Math.round(n/36e5)}h`}function iS(e){const t=Date.now(),a=new Date(e).getTime(),n=t-a,o=Math.floor(n/1e3),l=Math.floor(o/60),d=Math.floor(l/60),u=Math.floor(d/24);return o<60?"just now":l<60?`${l}m ago`:d<24?`${d}h ago`:u<7?`${u}d ago`:new Date(e).toLocaleDateString()}function Pg(){return`step_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,6)}`}const VU="/api";async function Ga(e,t){const a=await fetch(`${VU}${e}`,{...t,headers:{"Content-Type":"application/json",...t?.headers}});if(!a.ok){const n=await a.json().catch(()=>({error:{message:"Unknown error"}}));throw new Error(n.error?.message||`HTTP ${a.status}`)}return a.json()}function GU(e){const a=new URLSearchParams().toString(),n=a?`/workflows?${a}`:"/workflows";return be({queryKey:["workflows",e],queryFn:()=>Ga(n),refetchInterval:1e4})}function YU(e){return be({queryKey:["workflow",e],queryFn:()=>Ga(`/workflows/${e}`),enabled:!!e})}function QU(e){return be({queryKey:["workflow-tasks",e],queryFn:()=>Ga(`/workflows/${e}/tasks`),enabled:!!e,refetchInterval:5e3})}function XU(e){const t=YU(e),a=QU(e);return{workflow:t.data?.workflow,tasks:a.data?.tasks??[],progress:a.data?.progress??{total:0,completed:0,inProgress:0,blocked:0,open:0,percentage:0},dependencies:a.data?.dependencies??[],isLoading:t.isLoading||a.isLoading,error:t.error||a.error,refetch:async()=>{await t.refetch(),await a.refetch()}}}function WU(){const e=$e();return Re({mutationFn:async({workflowId:t,reason:a})=>Ga(`/workflows/${t}/cancel`,{method:"POST",body:JSON.stringify({reason:a})}),onSuccess:(t,{workflowId:a})=>{e.invalidateQueries({queryKey:["workflows"]}),e.invalidateQueries({queryKey:["workflow",a]})}})}function ZU(){const e=$e();return Re({mutationFn:async({workflowId:t})=>Ga(`/workflows/${t}`,{method:"DELETE"}),onSuccess:()=>{e.invalidateQueries({queryKey:["workflows"]})}})}function B5(e){const a=new URLSearchParams().toString(),n=a?`/playbooks?${a}`:"/playbooks";return be({queryKey:["playbooks",e],queryFn:()=>Ga(n),refetchInterval:3e4})}function z5(e){return be({queryKey:["playbook",e],queryFn:()=>Ga(`/playbooks/${e}`),enabled:!!e})}function JU(){const e=$e();return Re({mutationFn:async t=>Ga("/playbooks",{method:"POST",body:JSON.stringify(t)}),onSuccess:()=>{e.invalidateQueries({queryKey:["playbooks"]})}})}function eK(){const e=$e();return Re({mutationFn:async({playbookId:t,...a})=>Ga(`/playbooks/${t}`,{method:"PATCH",body:JSON.stringify(a)}),onSuccess:(t,{playbookId:a})=>{e.invalidateQueries({queryKey:["playbooks"]}),e.invalidateQueries({queryKey:["playbook",a]})}})}function tK(){const e=$e();return Re({mutationFn:async({playbookId:t,...a})=>Ga("/workflows",{method:"POST",body:JSON.stringify({playbookId:t,...a})}),onSuccess:()=>{e.invalidateQueries({queryKey:["workflows"]})}})}function rK({playbook:e,onCreate:t,onEdit:a,onDelete:n}){const[o,l]=y.useState(!1);return r.jsxs("div",{className:"flex flex-col p-4 bg-[var(--color-surface)] border border-[var(--color-border)] rounded-lg hover:border-[var(--color-primary)] transition-colors duration-150","data-testid":`playbook-card-${e.id}`,children:[r.jsxs("div",{className:"flex items-start justify-between",children:[r.jsxs("div",{className:"flex items-center gap-3",children:[r.jsx("div",{className:"p-2 rounded-lg bg-[var(--color-primary-muted)]",children:r.jsx(pn,{className:"w-5 h-5 text-[var(--color-primary)]"})}),r.jsxs("div",{children:[r.jsx("h3",{className:"text-sm font-medium text-[var(--color-text)]",children:e.title}),r.jsx("p",{className:"text-xs text-[var(--color-text-tertiary)] font-mono",children:e.name})]})]}),r.jsxs("div",{className:"relative",children:[r.jsx("button",{onClick:()=>l(!o),className:"p-1 rounded hover:bg-[var(--color-surface-hover)] transition-colors","aria-label":"Playbook actions",children:r.jsx(Gm,{className:"w-4 h-4 text-[var(--color-text-secondary)]"})}),o&&r.jsxs("div",{className:"absolute right-0 mt-1 w-40 bg-[var(--color-surface)] border border-[var(--color-border)] rounded-md shadow-lg z-10",children:[r.jsxs("button",{onClick:()=>{t(e.id),l(!1)},className:"w-full flex items-center gap-2 px-3 py-2 text-sm text-[var(--color-text)] hover:bg-[var(--color-surface-hover)]",children:[r.jsx(ts,{className:"w-4 h-4"}),"Create Workflow"]}),a&&r.jsxs("button",{onClick:()=>{a(e.id),l(!1)},className:"w-full flex items-center gap-2 px-3 py-2 text-sm text-[var(--color-text)] hover:bg-[var(--color-surface-hover)]","data-testid":`playbook-edit-${e.id}`,children:[r.jsx(Jn,{className:"w-4 h-4"}),"Edit"]}),n&&r.jsxs("button",{onClick:()=>{n(e.id),l(!1)},className:"w-full flex items-center gap-2 px-3 py-2 text-sm text-red-500 hover:bg-red-50 dark:hover:bg-red-900/20",children:[r.jsx(jt,{className:"w-4 h-4"}),"Delete"]})]})]})]}),r.jsxs("div",{className:"mt-3 flex items-center gap-4 text-xs text-[var(--color-text-secondary)]",children:[r.jsxs("span",{className:"flex items-center gap-1",children:[r.jsx(Je,{className:"w-3 h-3"}),e.steps.length," steps"]}),r.jsxs("span",{children:["v",e.version]}),e.variables.length>0&&r.jsxs("span",{children:[e.variables.length," variables"]})]}),r.jsx("div",{className:"mt-3 pt-3 border-t border-[var(--color-border)]",children:r.jsxs("button",{onClick:()=>t(e.id),className:"w-full flex items-center justify-center gap-2 px-3 py-2 text-sm font-medium text-white bg-[var(--color-primary)] rounded-md hover:bg-[var(--color-primary-hover)] transition-colors duration-150","data-testid":`playbook-create-${e.id}`,children:[r.jsx(ts,{className:"w-4 h-4"}),"Create Workflow"]})})]})}function aK(e){switch(e){case"pending":return r.jsx(_t,{className:"w-4 h-4"});case"running":return r.jsx(ts,{className:"w-4 h-4"});case"completed":return r.jsx(Gt,{className:"w-4 h-4"});case"failed":return r.jsx(Xr,{className:"w-4 h-4"});case"cancelled":return r.jsx(qm,{className:"w-4 h-4"});default:return r.jsx(_t,{className:"w-4 h-4"})}}function oS({workflow:e,onViewDetails:t,onCancel:a,onDelete:n}){const[o,l]=y.useState(!1),d=e.status==="pending"||e.status==="running",u=["completed","failed","cancelled"].includes(e.status),m=HU(e);return r.jsxs("div",{className:"flex flex-col p-4 bg-[var(--color-surface)] border border-[var(--color-border)] rounded-lg hover:border-[var(--color-primary)] transition-colors duration-150 cursor-pointer","data-testid":`workflow-card-${e.id}`,onClick:()=>t(e.id),children:[r.jsxs("div",{className:"flex items-start justify-between",children:[r.jsxs("div",{className:"flex items-center gap-3",children:[r.jsx("div",{className:`p-2 rounded-lg ${sS(e.status)}`,children:aK(e.status)}),r.jsxs("div",{children:[r.jsx("h3",{className:"text-sm font-medium text-[var(--color-text)]",children:e.title}),r.jsx("p",{className:"text-xs text-[var(--color-text-tertiary)] font-mono",children:e.id})]})]}),r.jsxs("div",{className:"relative",children:[r.jsx("button",{onClick:h=>{h.stopPropagation(),l(!o)},className:"p-1 rounded hover:bg-[var(--color-surface-hover)] transition-colors","aria-label":"Workflow actions",children:r.jsx(Gm,{className:"w-4 h-4 text-[var(--color-text-secondary)]"})}),o&&r.jsxs("div",{className:"absolute right-0 mt-1 w-40 bg-[var(--color-surface)] border border-[var(--color-border)] rounded-md shadow-lg z-10",children:[r.jsxs("button",{onClick:h=>{h.stopPropagation(),t(e.id),l(!1)},className:"w-full flex items-center gap-2 px-3 py-2 text-sm text-[var(--color-text)] hover:bg-[var(--color-surface-hover)]",children:[r.jsx(ss,{className:"w-4 h-4"}),"View Details"]}),d&&a&&r.jsxs("button",{onClick:h=>{h.stopPropagation(),a(e.id),l(!1)},className:"w-full flex items-center gap-2 px-3 py-2 text-sm text-yellow-600 hover:bg-yellow-50 dark:hover:bg-yellow-900/20",children:[r.jsx(Nr,{className:"w-4 h-4"}),"Cancel"]}),u&&n&&r.jsxs("button",{onClick:h=>{h.stopPropagation(),n(e.id),l(!1)},className:"w-full flex items-center gap-2 px-3 py-2 text-sm text-red-500 hover:bg-red-50 dark:hover:bg-red-900/20",children:[r.jsx(jt,{className:"w-4 h-4"}),"Delete"]})]})]})]}),r.jsxs("div",{className:"mt-3 flex items-center gap-4 text-xs text-[var(--color-text-secondary)]",children:[r.jsx("span",{className:`px-2 py-0.5 rounded-full ${sS(e.status)}`,children:KU(e.status)}),m&&r.jsxs("span",{children:["Duration: ",m]}),e.ephemeral&&r.jsx("span",{className:"text-amber-600",children:"Ephemeral"})]}),r.jsxs("div",{className:"mt-2 flex items-center gap-4 text-xs text-[var(--color-text-tertiary)]",children:[r.jsxs("span",{children:["Created ",iS(e.createdAt)]}),e.startedAt&&r.jsxs("span",{children:["Started ",iS(e.startedAt)]})]}),(e.failureReason||e.cancelReason)&&r.jsx("div",{className:"mt-2 p-2 bg-red-50 dark:bg-red-900/20 rounded text-xs text-red-600 dark:text-red-400",children:e.failureReason||e.cancelReason})]})}function nK({variable:e,value:t,onChange:a}){const n=t!==void 0?t:e.default;return e.type==="boolean"?r.jsxs("label",{className:"flex items-center gap-2 cursor-pointer",children:[r.jsx("input",{type:"checkbox",checked:!!n,onChange:o=>a(o.target.checked),className:"w-4 h-4 rounded border-[var(--color-border)] text-[var(--color-primary)]","data-testid":`variable-input-${e.name}`}),r.jsx("span",{className:"text-sm text-[var(--color-text-secondary)]",children:"Enable"})]}):e.enum&&e.enum.length>0?r.jsxs("select",{value:String(n??""),onChange:o=>a(e.type==="number"?Number(o.target.value):o.target.value),className:"w-full px-3 py-2 text-sm bg-[var(--color-surface)] border border-[var(--color-border)] rounded-lg focus:outline-none focus:ring-2 focus:ring-[var(--color-primary)]/30","data-testid":`variable-input-${e.name}`,children:[r.jsx("option",{value:"",children:"Select..."}),e.enum.map(o=>r.jsx("option",{value:String(o),children:String(o)},String(o)))]}):r.jsx("input",{type:e.type==="number"?"number":"text",value:String(n??""),onChange:o=>a(e.type==="number"?Number(o.target.value):o.target.value),placeholder:e.default!==void 0?`Default: ${e.default}`:"",className:"w-full px-3 py-2 text-sm bg-[var(--color-surface)] border border-[var(--color-border)] rounded-lg focus:outline-none focus:ring-2 focus:ring-[var(--color-primary)]/30","data-testid":`variable-input-${e.name}`})}function sK({steps:e}){const[t,a]=y.useState(!1),n=t?e:e.slice(0,3),o=e.length>3;return r.jsxs("div",{"data-testid":"steps-preview",className:"space-y-2",children:[r.jsxs("div",{className:"text-sm font-medium text-[var(--color-text)]",children:["Steps (",e.length,")"]}),r.jsx("div",{className:"space-y-1",children:n.map((l,d)=>r.jsxs("div",{className:"flex items-center gap-2 text-sm text-[var(--color-text-secondary)]",children:[r.jsx("span",{className:"w-5 h-5 flex items-center justify-center bg-[var(--color-surface-elevated)] rounded text-xs font-medium",children:d+1}),r.jsx("span",{className:"truncate",children:l.title})]},l.id))}),o&&r.jsx("button",{onClick:()=>a(!t),className:"text-xs text-[var(--color-primary)] hover:underline",children:t?"Show less":`Show ${e.length-3} more...`})]})}function iK({selectedPlaybookId:e,onSelect:t}){const[a,n]=y.useState(!1),{data:o,isLoading:l}=B5(),d=o?.playbooks??[],u=d.find(m=>m.id===e);return l?r.jsxs("div",{className:"flex items-center gap-2 px-3 py-2 bg-[var(--color-surface)] border border-[var(--color-border)] rounded-lg",children:[r.jsx(je,{className:"w-4 h-4 animate-spin text-[var(--color-text-secondary)]"}),r.jsx("span",{className:"text-sm text-[var(--color-text-secondary)]",children:"Loading playbooks..."})]}):d.length===0?r.jsxs("div",{className:"px-3 py-4 text-center bg-[var(--color-surface)] border border-dashed border-[var(--color-border)] rounded-lg",children:[r.jsx(pn,{className:"w-6 h-6 mx-auto mb-2 text-[var(--color-text-tertiary)]"}),r.jsx("p",{className:"text-sm text-[var(--color-text-secondary)]",children:"No playbooks available"}),r.jsx("p",{className:"text-xs text-[var(--color-text-tertiary)]",children:"Create a playbook template first"})]}):r.jsxs("div",{className:"relative","data-testid":"playbook-picker",children:[r.jsxs("button",{type:"button",onClick:()=>n(!a),className:"w-full flex items-center justify-between px-3 py-2 bg-[var(--color-surface)] border border-[var(--color-border)] rounded-lg hover:border-[var(--color-primary)]/50 transition-colors","data-testid":"playbook-picker-trigger",children:[r.jsxs("span",{className:"flex items-center gap-2",children:[r.jsx(pn,{className:"w-4 h-4 text-[var(--color-primary)]"}),r.jsx("span",{className:"text-sm text-[var(--color-text)]",children:u?.title??"Select a playbook..."})]}),r.jsx(it,{className:`w-4 h-4 text-[var(--color-text-secondary)] transition-transform ${a?"rotate-180":""}`})]}),a&&r.jsx("div",{className:"absolute z-20 w-full mt-1 max-h-60 overflow-auto bg-[var(--color-surface)] border border-[var(--color-border)] rounded-lg shadow-lg","data-testid":"playbook-picker-dropdown",children:d.map(m=>r.jsxs("button",{onClick:()=>{t(m.id),n(!1)},className:`w-full flex items-center gap-2 px-3 py-2 text-left hover:bg-[var(--color-surface-hover)] ${e===m.id?"bg-[var(--color-primary-muted)]":""}`,"data-testid":`playbook-option-${m.id}`,children:[r.jsx(pn,{className:"w-4 h-4 text-[var(--color-primary)]"}),r.jsxs("div",{children:[r.jsx("div",{className:"text-sm text-[var(--color-text)]",children:m.title}),r.jsx("div",{className:"text-xs text-[var(--color-text-tertiary)] font-mono",children:m.name})]})]},m.id))})]})}function q5({isOpen:e,onClose:t,playbookId:a,onSuccess:n}){const[o,l]=y.useState(""),[d,u]=y.useState(a??null),[m,h]=y.useState({}),[x,g]=y.useState(!0),[p,j]=y.useState(null),{data:k,isLoading:N}=z5(d),v=k?.playbook,T=tK();y.useEffect(()=>{a&&u(a)},[a]),y.useEffect(()=>{if(v){const A={};for(const $ of v.variables)$.default!==void 0&&(A[$.name]=$.default);h(A),o||l(v.title)}},[v]),y.useEffect(()=>{e||(l(""),u(a??null),h({}),g(!0),j(null),T.reset())},[e,a]);const O=y.useMemo(()=>{const A=[];if(!v)A.push("Please select a playbook");else for(const $ of v.variables)$.required&&!m[$.name]&&$.default===void 0&&A.push(`Required variable: ${$.name}`);return A},[v,m]).length===0&&!T.isPending,S=y.useCallback((A,$)=>{h(P=>({...P,[A]:$}))},[]),C=async()=>{if(j(null),!v||!d){j("Please select a playbook");return}try{const A=await T.mutateAsync({playbookId:d,title:o||v.title,variables:m,ephemeral:x});n?.({id:A.workflow.id,title:o||v.title}),t()}catch(A){j(A instanceof Error?A.message:"Failed to create workflow")}};return e?r.jsxs("div",{className:"fixed inset-0 z-50","data-testid":"create-workflow-container",children:[r.jsx("div",{className:"absolute inset-0 bg-black/50 animate-fade-in",onClick:t,"data-testid":"create-workflow-backdrop"}),r.jsx("div",{className:"absolute inset-0 flex items-center justify-center p-4 pointer-events-none overflow-y-auto",children:r.jsxs("div",{className:`
172
+ w-full max-w-lg max-h-[90vh]
173
+ bg-[var(--color-bg)]
174
+ rounded-xl shadow-2xl
175
+ border border-[var(--color-border)]
176
+ animate-scale-in
177
+ pointer-events-auto
178
+ flex flex-col
179
+ `,style:{pointerEvents:"auto"},"data-testid":"create-workflow-dialog",role:"dialog","aria-labelledby":"create-workflow-title",onClick:A=>A.stopPropagation(),children:[r.jsxs("div",{className:"flex items-center justify-between px-4 py-3 border-b border-[var(--color-border)] flex-shrink-0",children:[r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsx(ts,{className:"w-5 h-5 text-[var(--color-primary)]"}),r.jsx("h2",{id:"create-workflow-title",className:"text-lg font-semibold text-[var(--color-text)]",children:"Create Workflow"})]}),r.jsx("button",{onClick:t,className:"p-1.5 rounded-lg text-[var(--color-text-tertiary)] hover:text-[var(--color-text)] hover:bg-[var(--color-surface-hover)] transition-colors","aria-label":"Close dialog","data-testid":"create-workflow-close",children:r.jsx(Ee,{className:"w-5 h-5"})})]}),(p||T.error)&&r.jsxs("div",{className:"mx-4 mt-4 flex items-center gap-2 px-3 py-2 text-sm text-red-700 dark:text-red-300 bg-red-50 dark:bg-red-900/20 border border-red-200 dark:border-red-800 rounded-lg",children:[r.jsx(dt,{className:"w-4 h-4 flex-shrink-0"}),p||T.error?.message||"An error occurred"]}),r.jsxs("div",{className:"flex-1 overflow-auto p-4 space-y-4",children:[r.jsxs("div",{className:"space-y-1",children:[r.jsxs("label",{className:"text-sm font-medium text-[var(--color-text)]",children:["Playbook ",r.jsx("span",{className:"text-red-500",children:"*"})]}),r.jsx(iK,{selectedPlaybookId:d,onSelect:u})]}),N&&d&&r.jsx("div",{className:"flex items-center justify-center py-8",children:r.jsx(je,{className:"w-6 h-6 text-[var(--color-primary)] animate-spin"})}),v&&r.jsxs(r.Fragment,{children:[r.jsxs("div",{className:"space-y-1",children:[r.jsx("label",{className:"text-sm font-medium text-[var(--color-text)]",children:"Workflow Title"}),r.jsx("input",{type:"text",value:o,onChange:A=>l(A.target.value),placeholder:v.title,className:"w-full px-3 py-2 text-sm bg-[var(--color-surface)] border border-[var(--color-border)] rounded-lg focus:outline-none focus:ring-2 focus:ring-[var(--color-primary)]/30","data-testid":"create-title-input"})]}),r.jsxs("div",{className:"p-3 bg-[var(--color-surface-elevated)] rounded-lg",children:[r.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[r.jsx(pn,{className:"w-4 h-4 text-[var(--color-primary)]"}),r.jsx("span",{className:"text-sm font-medium text-[var(--color-text)]",children:v.title})]}),r.jsxs("div",{className:"text-xs text-[var(--color-text-tertiary)]",children:[v.steps.length," steps, v",v.version]})]}),v.variables.length>0&&r.jsxs("div",{className:"space-y-3",children:[r.jsx("div",{className:"text-sm font-medium text-[var(--color-text)]",children:"Variables"}),v.variables.map(A=>r.jsxs("div",{className:"space-y-1",children:[r.jsxs("label",{className:"flex items-center gap-1 text-xs font-medium text-[var(--color-text-secondary)]",children:[A.name,A.required&&r.jsx("span",{className:"text-red-500",children:"*"})]}),A.description&&r.jsx("p",{className:"text-xs text-[var(--color-text-tertiary)]",children:A.description}),r.jsx(nK,{variable:A,value:m[A.name],onChange:$=>S(A.name,$)})]},A.name))]}),r.jsx(sK,{steps:v.steps}),r.jsxs("details",{className:"text-sm","data-testid":"advanced-options",children:[r.jsx("summary",{className:"text-[var(--color-text-secondary)] cursor-pointer hover:text-[var(--color-text)]","data-testid":"toggle-advanced",children:"Advanced options"}),r.jsx("div",{className:"mt-2 p-3 bg-[var(--color-surface)] rounded-lg space-y-2",children:r.jsxs("label",{className:"flex items-center gap-2 cursor-pointer",children:[r.jsx("input",{type:"checkbox",checked:x,onChange:A=>g(A.target.checked),className:"w-4 h-4 rounded border-[var(--color-border)] text-[var(--color-primary)]","data-testid":"ephemeral-checkbox"}),r.jsxs("div",{children:[r.jsx("span",{className:"text-sm text-[var(--color-text)]",children:"Ephemeral workflow"}),r.jsx("p",{className:"text-xs text-[var(--color-text-tertiary)]",children:"Ephemeral workflows are automatically cleaned up after completion"})]})]})})]})]})]}),r.jsxs("div",{className:"flex items-center justify-end gap-2 px-4 py-3 border-t border-[var(--color-border)] flex-shrink-0",children:[r.jsx("button",{onClick:t,className:"px-4 py-2 text-sm font-medium text-[var(--color-text-secondary)] hover:text-[var(--color-text)] hover:bg-[var(--color-surface-hover)] rounded-lg transition-colors","data-testid":"create-cancel-button",children:"Cancel"}),r.jsx("button",{onClick:C,disabled:!O,className:"flex items-center gap-2 px-4 py-2 text-sm font-medium text-white bg-[var(--color-primary)] hover:bg-[var(--color-primary-hover)] disabled:opacity-50 disabled:cursor-not-allowed rounded-lg transition-colors","data-testid":"create-submit-button",children:T.isPending?r.jsxs(r.Fragment,{children:[r.jsx(je,{className:"w-4 h-4 animate-spin"}),"Creating..."]}):r.jsxs(r.Fragment,{children:[r.jsx(ts,{className:"w-4 h-4"}),"Create Workflow"]})})]})]})})]}):null}function oK(e){const t={id:e.id,title:e.title};if(e.description.trim()&&(t.description=e.description.trim()),e.dependsOn.length>0&&(t.dependsOn=e.dependsOn),e.condition.trim()&&(t.condition=e.condition.trim()),e.stepType==="function"){if(t.stepType="function",t.runtime=e.runtime,e.runtime==="shell"?e.command.trim()&&(t.command=e.command.trim()):e.code.trim()&&(t.code=e.code.trim()),e.timeout.trim()){const a=parseInt(e.timeout,10);!isNaN(a)&&a>0&&(t.timeout=a)}}else e.taskType&&(t.taskType=e.taskType),e.priority&&(t.priority=e.priority),e.complexity&&(t.complexity=e.complexity),e.assignee.trim()&&(t.assignee=e.assignee.trim());return t}function lK(e){const t={name:e.name,type:e.type,required:e.required};if(e.description.trim()&&(t.description=e.description.trim()),e.default.trim())switch(e.type){case"number":t.default=Number(e.default);break;case"boolean":t.default=e.default==="true";break;default:t.default=e.default}if(e.enum.length>0&&e.enum.some(a=>a.trim())){const a=e.enum.filter(n=>n.trim());switch(e.type){case"number":t.enum=a.map(Number);break;case"boolean":t.enum=a.map(n=>n==="true");break;default:t.enum=a}}return t}function cK(e,t,a,n){const o=[];if(o.push(`name: ${e}`),o.push(`title: "${t}"`),o.push("version: 1"),n.length>0){o.push(""),o.push("variables:");for(const l of n){if(o.push(` - name: ${l.name}`),o.push(` type: ${l.type}`),o.push(` required: ${l.required}`),l.description&&o.push(` description: "${l.description}"`),l.default){const d=l.type==="string"?`"${l.default}"`:l.default;o.push(` default: ${d}`)}if(l.enum.length>0&&l.enum.some(d=>d.trim())){o.push(" enum:");for(const d of l.enum.filter(u=>u.trim())){const u=l.type==="string"?`"${d}"`:d;o.push(` - ${u}`)}}}}if(a.length>0){o.push(""),o.push("steps:");for(const l of a){if(o.push(` - id: ${l.id}`),o.push(` title: "${l.title}"`),l.description&&o.push(` description: "${l.description}"`),l.stepType==="function"){if(o.push(" step_type: function"),o.push(` runtime: ${l.runtime}`),l.runtime==="shell"&&l.command)if(l.command.includes(`
180
+ `)){o.push(" command: |");for(const d of l.command.split(`
181
+ `))o.push(` ${d}`)}else o.push(` command: "${l.command}"`);else if(l.code){o.push(" code: |");for(const d of l.code.split(`
182
+ `))o.push(` ${d}`)}l.timeout&&o.push(` timeout: ${l.timeout}`)}else l.taskType&&o.push(` task_type: ${l.taskType}`),l.priority&&o.push(` priority: ${l.priority}`),l.complexity&&o.push(` complexity: ${l.complexity}`),l.assignee&&o.push(` assignee: "${l.assignee}"`);if(l.dependsOn.length>0){o.push(" depends_on:");for(const d of l.dependsOn)o.push(` - ${d}`)}l.condition&&o.push(` condition: "${l.condition}"`)}}return o.join(`
183
+ `)}function dK({step:e,index:t,isSelected:a,onSelect:n,onMoveUp:o,onMoveDown:l,onDelete:d,isFirst:u,isLast:m}){const h=e.stepType==="function";return r.jsxs("div",{className:`flex items-center gap-2 p-3 border rounded-lg cursor-pointer transition-colors duration-150 ${a?"border-[var(--color-primary)] bg-[var(--color-primary-muted)]":"border-[var(--color-border)] bg-[var(--color-surface)] hover:border-[var(--color-primary)]/50"}`,onClick:n,"data-testid":`step-item-${e.id}`,children:[r.jsxs("div",{className:"flex items-center gap-2 flex-1 min-w-0",children:[r.jsx(jO,{className:"w-4 h-4 text-[var(--color-text-tertiary)] cursor-grab flex-shrink-0"}),r.jsx("span",{className:"w-6 h-6 flex items-center justify-center bg-[var(--color-bg)] border border-[var(--color-border)] rounded text-xs font-medium text-[var(--color-text-secondary)] flex-shrink-0",children:t+1}),r.jsx("span",{className:`flex items-center justify-center w-6 h-6 rounded flex-shrink-0 ${h?"bg-purple-100 dark:bg-purple-900/30 text-purple-600 dark:text-purple-400":"bg-blue-100 dark:bg-blue-900/30 text-blue-600 dark:text-blue-400"}`,title:h?"Function step":"Task step",children:h?r.jsx(Ym,{className:"w-3.5 h-3.5"}):r.jsx(Fs,{className:"w-3.5 h-3.5"})}),r.jsxs("div",{className:"flex-1 min-w-0",children:[r.jsx("div",{className:"text-sm font-medium text-[var(--color-text)] truncate",children:e.title||"Untitled step"}),r.jsxs("div",{className:"text-xs text-[var(--color-text-tertiary)] font-mono truncate",children:[e.id,h&&e.runtime&&r.jsxs("span",{className:"ml-1 text-purple-500",children:["• ",e.runtime]})]})]})]}),r.jsxs("div",{className:"flex items-center gap-1",children:[e.dependsOn.length>0&&r.jsxs("span",{className:"text-xs px-2 py-0.5 rounded-full bg-blue-100 dark:bg-blue-900/30 text-blue-600 dark:text-blue-400",children:[e.dependsOn.length," dep",e.dependsOn.length>1?"s":""]}),r.jsx("button",{onClick:x=>{x.stopPropagation(),o()},disabled:u,className:"p-1 rounded hover:bg-[var(--color-surface-hover)] disabled:opacity-30 disabled:cursor-not-allowed",title:"Move up",children:r.jsx(rs,{className:"w-4 h-4 text-[var(--color-text-secondary)]"})}),r.jsx("button",{onClick:x=>{x.stopPropagation(),l()},disabled:m,className:"p-1 rounded hover:bg-[var(--color-surface-hover)] disabled:opacity-30 disabled:cursor-not-allowed",title:"Move down",children:r.jsx(Io,{className:"w-4 h-4 text-[var(--color-text-secondary)]"})}),r.jsx("button",{onClick:x=>{x.stopPropagation(),d()},className:"p-1 rounded hover:bg-red-100 dark:hover:bg-red-900/30 text-red-500",title:"Delete step",children:r.jsx(jt,{className:"w-4 h-4"})})]})]})}function uK({step:e,onChange:t,allStepIds:a,onClose:n}){const o=a.filter(m=>m!==e.id),l=e.stepType==="function",d=(m,h)=>{t({...e,[m]:h})},u=m=>{const h=e.dependsOn.includes(m)?e.dependsOn.filter(x=>x!==m):[...e.dependsOn,m];d("dependsOn",h)};return r.jsxs("div",{className:"space-y-4 max-h-[500px] overflow-y-auto","data-testid":"step-form",children:[r.jsxs("div",{className:"flex items-center justify-between",children:[r.jsx("h4",{className:"text-sm font-medium text-[var(--color-text)]",children:"Edit Step"}),r.jsx("button",{onClick:n,className:"p-1 rounded hover:bg-[var(--color-surface-hover)]",children:r.jsx(Ee,{className:"w-4 h-4 text-[var(--color-text-secondary)]"})})]}),r.jsxs("div",{className:"space-y-1",children:[r.jsx("label",{className:"text-xs font-medium text-[var(--color-text-secondary)]",children:"Step Type"}),r.jsx("div",{className:"flex gap-2",children:UU.map(m=>r.jsx("button",{onClick:()=>d("stepType",m.value),className:`flex-1 px-3 py-2 text-sm rounded-lg border transition-colors ${e.stepType===m.value?"bg-[var(--color-primary)] text-white border-[var(--color-primary)]":"bg-[var(--color-surface)] text-[var(--color-text-secondary)] border-[var(--color-border)] hover:border-[var(--color-primary)]"}`,"data-testid":`step-type-${m.value}`,children:m.label},m.value))}),r.jsx("p",{className:"text-xs text-[var(--color-text-tertiary)]",children:e.stepType==="function"?"Execute code directly":"Create an agent task"})]}),r.jsxs("div",{className:"space-y-1",children:[r.jsx("label",{className:"text-xs font-medium text-[var(--color-text-secondary)]",children:"Step ID"}),r.jsx("input",{type:"text",value:e.id,onChange:m=>d("id",m.target.value.replace(/[^a-zA-Z0-9_-]/g,"")),placeholder:"step_id",className:"w-full px-3 py-2 text-sm bg-[var(--color-surface)] border border-[var(--color-border)] rounded-lg focus:outline-none focus:ring-2 focus:ring-[var(--color-primary)]/30 font-mono","data-testid":"step-id-input"})]}),r.jsxs("div",{className:"space-y-1",children:[r.jsxs("label",{className:"text-xs font-medium text-[var(--color-text-secondary)]",children:["Title ",r.jsx("span",{className:"text-red-500",children:"*"})]}),r.jsx("input",{type:"text",value:e.title,onChange:m=>d("title",m.target.value),placeholder:"Step title",className:"w-full px-3 py-2 text-sm bg-[var(--color-surface)] border border-[var(--color-border)] rounded-lg focus:outline-none focus:ring-2 focus:ring-[var(--color-primary)]/30","data-testid":"step-title-input"})]}),r.jsxs("div",{className:"space-y-1",children:[r.jsx("label",{className:"text-xs font-medium text-[var(--color-text-secondary)]",children:"Description"}),r.jsx("textarea",{value:e.description,onChange:m=>d("description",m.target.value),placeholder:"Step description",rows:2,className:"w-full px-3 py-2 text-sm bg-[var(--color-surface)] border border-[var(--color-border)] rounded-lg focus:outline-none focus:ring-2 focus:ring-[var(--color-primary)]/30 resize-none","data-testid":"step-description-input"})]}),l&&r.jsxs(r.Fragment,{children:[r.jsxs("div",{className:"space-y-1",children:[r.jsxs("label",{className:"text-xs font-medium text-[var(--color-text-secondary)]",children:["Runtime ",r.jsx("span",{className:"text-red-500",children:"*"})]}),r.jsx("select",{value:e.runtime,onChange:m=>d("runtime",m.target.value),className:"w-full px-3 py-2 text-sm bg-[var(--color-surface)] border border-[var(--color-border)] rounded-lg focus:outline-none focus:ring-2 focus:ring-[var(--color-primary)]/30","data-testid":"step-runtime-select",children:nS.map(m=>r.jsx("option",{value:m.value,children:m.label},m.value))}),r.jsx("p",{className:"text-xs text-[var(--color-text-tertiary)]",children:nS.find(m=>m.value===e.runtime)?.description})]}),e.runtime!=="shell"&&r.jsxs("div",{className:"space-y-1",children:[r.jsxs("label",{className:"text-xs font-medium text-[var(--color-text-secondary)]",children:["Code ",r.jsx("span",{className:"text-red-500",children:"*"})]}),r.jsx("textarea",{value:e.code,onChange:m=>d("code",m.target.value),placeholder:e.runtime==="typescript"?`// TypeScript code to execute
184
+ export default async function() {
185
+ // Your code here
186
+ }`:`# Python code to execute
187
+ def main():
188
+ # Your code here
189
+ pass`,rows:8,className:"w-full px-3 py-2 text-sm font-mono bg-gray-900 text-green-400 border border-[var(--color-border)] rounded-lg focus:outline-none focus:ring-2 focus:ring-[var(--color-primary)]/30 resize-none","data-testid":"step-code-input"})]}),e.runtime==="shell"&&r.jsxs("div",{className:"space-y-1",children:[r.jsxs("label",{className:"text-xs font-medium text-[var(--color-text-secondary)]",children:["Command ",r.jsx("span",{className:"text-red-500",children:"*"})]}),r.jsx("textarea",{value:e.command,onChange:m=>d("command",m.target.value),placeholder:"echo 'Hello World' && ls -la",rows:4,className:"w-full px-3 py-2 text-sm font-mono bg-gray-900 text-green-400 border border-[var(--color-border)] rounded-lg focus:outline-none focus:ring-2 focus:ring-[var(--color-primary)]/30 resize-none","data-testid":"step-command-input"})]}),r.jsxs("div",{className:"space-y-1",children:[r.jsx("label",{className:"text-xs font-medium text-[var(--color-text-secondary)]",children:"Timeout (ms)"}),r.jsx("input",{type:"number",value:e.timeout,onChange:m=>d("timeout",m.target.value),placeholder:"30000",min:"1",max:"600000",className:"w-full px-3 py-2 text-sm bg-[var(--color-surface)] border border-[var(--color-border)] rounded-lg focus:outline-none focus:ring-2 focus:ring-[var(--color-primary)]/30","data-testid":"step-timeout-input"}),r.jsx("p",{className:"text-xs text-[var(--color-text-tertiary)]",children:"Default: 30000ms (30 seconds). Max: 600000ms (10 minutes)"})]})]}),!l&&r.jsxs(r.Fragment,{children:[r.jsxs("div",{className:"grid grid-cols-3 gap-3",children:[r.jsxs("div",{className:"space-y-1",children:[r.jsx("label",{className:"text-xs font-medium text-[var(--color-text-secondary)]",children:"Task Type"}),r.jsxs("select",{value:e.taskType,onChange:m=>d("taskType",m.target.value),className:"w-full px-3 py-2 text-sm bg-[var(--color-surface)] border border-[var(--color-border)] rounded-lg focus:outline-none focus:ring-2 focus:ring-[var(--color-primary)]/30","data-testid":"step-tasktype-select",children:[r.jsx("option",{value:"",children:"None"}),BU.map(m=>r.jsx("option",{value:m.value,children:m.label},m.value))]})]}),r.jsxs("div",{className:"space-y-1",children:[r.jsx("label",{className:"text-xs font-medium text-[var(--color-text-secondary)]",children:"Priority"}),r.jsxs("select",{value:e.priority,onChange:m=>d("priority",m.target.value?Number(m.target.value):""),className:"w-full px-3 py-2 text-sm bg-[var(--color-surface)] border border-[var(--color-border)] rounded-lg focus:outline-none focus:ring-2 focus:ring-[var(--color-primary)]/30","data-testid":"step-priority-select",children:[r.jsx("option",{value:"",children:"None"}),zU.map(m=>r.jsx("option",{value:m.value,children:m.label},m.value))]})]}),r.jsxs("div",{className:"space-y-1",children:[r.jsx("label",{className:"text-xs font-medium text-[var(--color-text-secondary)]",children:"Complexity"}),r.jsxs("select",{value:e.complexity,onChange:m=>d("complexity",m.target.value?Number(m.target.value):""),className:"w-full px-3 py-2 text-sm bg-[var(--color-surface)] border border-[var(--color-border)] rounded-lg focus:outline-none focus:ring-2 focus:ring-[var(--color-primary)]/30","data-testid":"step-complexity-select",children:[r.jsx("option",{value:"",children:"None"}),qU.map(m=>r.jsx("option",{value:m.value,children:m.label},m.value))]})]})]}),r.jsxs("div",{className:"space-y-1",children:[r.jsx("label",{className:"text-xs font-medium text-[var(--color-text-secondary)]",children:"Assignee"}),r.jsx("input",{type:"text",value:e.assignee,onChange:m=>d("assignee",m.target.value),placeholder:"{{variable}} or entity name",className:"w-full px-3 py-2 text-sm bg-[var(--color-surface)] border border-[var(--color-border)] rounded-lg focus:outline-none focus:ring-2 focus:ring-[var(--color-primary)]/30","data-testid":"step-assignee-input"})]})]}),r.jsxs("div",{className:"space-y-1",children:[r.jsx("label",{className:"text-xs font-medium text-[var(--color-text-secondary)]",children:"Dependencies"}),o.length===0?r.jsx("p",{className:"text-xs text-[var(--color-text-tertiary)] italic",children:"No other steps available"}):r.jsx("div",{className:"flex flex-wrap gap-2","data-testid":"step-dependencies",children:o.map(m=>r.jsx("button",{onClick:()=>u(m),className:`px-2 py-1 text-xs rounded-full border transition-colors ${e.dependsOn.includes(m)?"bg-[var(--color-primary)] text-white border-[var(--color-primary)]":"bg-[var(--color-surface)] text-[var(--color-text-secondary)] border-[var(--color-border)] hover:border-[var(--color-primary)]"}`,children:m},m))})]})]})}function mK({variable:e,onChange:t,onClose:a}){const n=(u,m)=>{t({...e,[u]:m})},o=()=>{n("enum",[...e.enum,""])},l=(u,m)=>{const h=[...e.enum];h[u]=m,n("enum",h)},d=u=>{n("enum",e.enum.filter((m,h)=>h!==u))};return r.jsxs("div",{className:"space-y-4","data-testid":"variable-form",children:[r.jsxs("div",{className:"flex items-center justify-between",children:[r.jsx("h4",{className:"text-sm font-medium text-[var(--color-text)]",children:"Edit Variable"}),r.jsx("button",{onClick:a,className:"p-1 rounded hover:bg-[var(--color-surface-hover)]",children:r.jsx(Ee,{className:"w-4 h-4 text-[var(--color-text-secondary)]"})})]}),r.jsxs("div",{className:"space-y-1",children:[r.jsxs("label",{className:"text-xs font-medium text-[var(--color-text-secondary)]",children:["Name ",r.jsx("span",{className:"text-red-500",children:"*"})]}),r.jsx("input",{type:"text",value:e.name,onChange:u=>n("name",u.target.value.replace(/[^a-zA-Z0-9_]/g,"")),placeholder:"variable_name",className:"w-full px-3 py-2 text-sm bg-[var(--color-surface)] border border-[var(--color-border)] rounded-lg focus:outline-none focus:ring-2 focus:ring-[var(--color-primary)]/30 font-mono","data-testid":"variable-name-input"})]}),r.jsxs("div",{className:"space-y-1",children:[r.jsxs("label",{className:"text-xs font-medium text-[var(--color-text-secondary)]",children:["Type ",r.jsx("span",{className:"text-red-500",children:"*"})]}),r.jsx("select",{value:e.type,onChange:u=>n("type",u.target.value),className:"w-full px-3 py-2 text-sm bg-[var(--color-surface)] border border-[var(--color-border)] rounded-lg focus:outline-none focus:ring-2 focus:ring-[var(--color-primary)]/30","data-testid":"variable-type-select",children:FU.map(u=>r.jsx("option",{value:u.value,children:u.label},u.value))})]}),r.jsxs("label",{className:"flex items-center gap-2 cursor-pointer",children:[r.jsx("input",{type:"checkbox",checked:e.required,onChange:u=>n("required",u.target.checked),className:"w-4 h-4 rounded border-[var(--color-border)] text-[var(--color-primary)]","data-testid":"variable-required-checkbox"}),r.jsx("span",{className:"text-sm text-[var(--color-text)]",children:"Required"})]}),r.jsxs("div",{className:"space-y-1",children:[r.jsx("label",{className:"text-xs font-medium text-[var(--color-text-secondary)]",children:"Description"}),r.jsx("input",{type:"text",value:e.description,onChange:u=>n("description",u.target.value),placeholder:"What this variable is for",className:"w-full px-3 py-2 text-sm bg-[var(--color-surface)] border border-[var(--color-border)] rounded-lg focus:outline-none focus:ring-2 focus:ring-[var(--color-primary)]/30","data-testid":"variable-description-input"})]}),r.jsxs("div",{className:"space-y-1",children:[r.jsx("label",{className:"text-xs font-medium text-[var(--color-text-secondary)]",children:"Default Value"}),e.type==="boolean"?r.jsxs("select",{value:e.default,onChange:u=>n("default",u.target.value),className:"w-full px-3 py-2 text-sm bg-[var(--color-surface)] border border-[var(--color-border)] rounded-lg focus:outline-none focus:ring-2 focus:ring-[var(--color-primary)]/30","data-testid":"variable-default-input",children:[r.jsx("option",{value:"",children:"No default"}),r.jsx("option",{value:"true",children:"true"}),r.jsx("option",{value:"false",children:"false"})]}):r.jsx("input",{type:e.type==="number"?"number":"text",value:e.default,onChange:u=>n("default",u.target.value),placeholder:e.type==="number"?"0":"default value",className:"w-full px-3 py-2 text-sm bg-[var(--color-surface)] border border-[var(--color-border)] rounded-lg focus:outline-none focus:ring-2 focus:ring-[var(--color-primary)]/30","data-testid":"variable-default-input"})]}),r.jsxs("div",{className:"space-y-2",children:[r.jsxs("div",{className:"flex items-center justify-between",children:[r.jsx("label",{className:"text-xs font-medium text-[var(--color-text-secondary)]",children:"Allowed Values"}),r.jsxs("button",{onClick:o,className:"flex items-center gap-1 px-2 py-1 text-xs text-[var(--color-primary)] hover:bg-[var(--color-primary-muted)] rounded",children:[r.jsx(Fe,{className:"w-3 h-3"}),"Add"]})]}),e.enum.length>0?r.jsx("div",{className:"space-y-2","data-testid":"variable-enum-list",children:e.enum.map((u,m)=>r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsx("input",{type:e.type==="number"?"number":"text",value:u,onChange:h=>l(m,h.target.value),placeholder:`Option ${m+1}`,className:"flex-1 px-3 py-2 text-sm bg-[var(--color-surface)] border border-[var(--color-border)] rounded-lg focus:outline-none focus:ring-2 focus:ring-[var(--color-primary)]/30"}),r.jsx("button",{onClick:()=>d(m),className:"p-1 rounded hover:bg-red-100 dark:hover:bg-red-900/30 text-red-500",children:r.jsx(jt,{className:"w-4 h-4"})})]},m))}):r.jsx("p",{className:"text-xs text-[var(--color-text-tertiary)] italic",children:"No enum values. Variable accepts any value of its type."})]})]})}function fK({yaml:e,onImport:t}){const[a,n]=y.useState(!1),[o,l]=y.useState(""),[d,u]=y.useState(!1),m=async()=>{try{await navigator.clipboard.writeText(e),u(!0),setTimeout(()=>u(!1),2e3)}catch(g){console.error("Failed to copy:",g)}},h=()=>{const g=new Blob([e],{type:"text/yaml"}),p=URL.createObjectURL(g),j=document.createElement("a");j.href=p,j.download="playbook.yaml",j.click(),URL.revokeObjectURL(p)},x=()=>{t(o),n(!1),l("")};return r.jsxs("div",{className:"space-y-3","data-testid":"yaml-preview",children:[r.jsxs("div",{className:"flex items-center gap-2 justify-end",children:[r.jsxs("button",{onClick:()=>n(!a),className:`flex items-center gap-1 px-3 py-1.5 text-sm rounded-lg transition-colors ${a?"bg-[var(--color-primary)] text-white":"bg-[var(--color-surface)] text-[var(--color-text-secondary)] hover:bg-[var(--color-surface-hover)]"}`,"data-testid":"yaml-import-toggle",children:[r.jsx(io,{className:"w-4 h-4"}),"Import"]}),r.jsxs("button",{onClick:m,className:"flex items-center gap-1 px-3 py-1.5 text-sm bg-[var(--color-surface)] text-[var(--color-text-secondary)] rounded-lg hover:bg-[var(--color-surface-hover)]","data-testid":"yaml-copy",children:[d?r.jsx(Dt,{className:"w-4 h-4 text-green-500"}):r.jsx(Qm,{className:"w-4 h-4"}),d?"Copied!":"Copy"]}),r.jsxs("button",{onClick:h,className:"flex items-center gap-1 px-3 py-1.5 text-sm bg-[var(--color-surface)] text-[var(--color-text-secondary)] rounded-lg hover:bg-[var(--color-surface-hover)]","data-testid":"yaml-download",children:[r.jsx(Wg,{className:"w-4 h-4"}),"Download"]})]}),a&&r.jsxs("div",{className:"p-3 bg-[var(--color-surface)] border border-[var(--color-border)] rounded-lg space-y-3",children:[r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsxs("label",{className:"flex items-center gap-2 px-3 py-2 text-sm bg-[var(--color-primary)] text-white rounded-lg cursor-pointer hover:bg-[var(--color-primary-hover)]",children:[r.jsx(Je,{className:"w-4 h-4"}),"Upload File",r.jsx("input",{type:"file",accept:".yaml,.yml",onChange:g=>{const p=g.target.files?.[0];if(p){const j=new FileReader;j.onload=k=>{const N=k.target?.result;t(N),n(!1)},j.readAsText(p)}},className:"hidden","data-testid":"yaml-file-input"})]}),r.jsx("span",{className:"text-sm text-[var(--color-text-tertiary)]",children:"or paste YAML below"})]}),r.jsx("textarea",{value:o,onChange:g=>l(g.target.value),placeholder:"Paste YAML content here...",rows:10,className:"w-full px-3 py-2 text-sm font-mono bg-[var(--color-bg)] border border-[var(--color-border)] rounded-lg focus:outline-none focus:ring-2 focus:ring-[var(--color-primary)]/30 resize-none","data-testid":"yaml-import-textarea"}),r.jsxs("div",{className:"flex justify-end gap-2",children:[r.jsx("button",{onClick:()=>{n(!1),l("")},className:"px-3 py-1.5 text-sm text-[var(--color-text-secondary)] hover:bg-[var(--color-surface-hover)] rounded-lg",children:"Cancel"}),r.jsxs("button",{onClick:x,disabled:!o.trim(),className:"flex items-center gap-1 px-3 py-1.5 text-sm bg-[var(--color-primary)] text-white rounded-lg hover:bg-[var(--color-primary-hover)] disabled:opacity-50","data-testid":"yaml-import-confirm",children:[r.jsx(Dt,{className:"w-4 h-4"}),"Import"]})]})]}),r.jsx("pre",{className:"p-4 bg-gray-900 text-green-400 rounded-lg overflow-auto text-xs font-mono max-h-96","data-testid":"yaml-content",children:e})]})}function hK({isOpen:e,onClose:t,playbookId:a,onSuccess:n}){const o=!!a,[l,d]=y.useState(""),[u,m]=y.useState(""),[h,x]=y.useState([]),[g,p]=y.useState([]),[j,k]=y.useState("steps"),[N,v]=y.useState(null),[T,E]=y.useState(null),[O,S]=y.useState(null),{data:C,isLoading:A,error:$}=z5(a??void 0),P=C?.playbook,M=JU(),q=eK();y.useEffect(()=>{P&&o&&(d(P.name),m(P.title),x(P.steps.map(se=>{const ye=se.stepType??"task",Ne=ye==="function";return{id:se.id,title:se.title,description:se.description??"",stepType:ye,taskType:Ne?"":se.taskType??"",priority:Ne?"":se.priority??"",complexity:Ne?"":se.complexity??"",assignee:Ne?"":se.assignee??"",runtime:Ne?se.runtime??"typescript":"typescript",code:Ne?se.code??"":"",command:Ne?se.command??"":"",timeout:Ne?se.timeout?.toString()??"":"",dependsOn:se.dependsOn??[],condition:se.condition??""}})),p(P.variables.map(se=>({name:se.name,description:se.description??"",type:se.type,required:se.required,default:se.default!==void 0?String(se.default):"",enum:se.enum?.map(String)??[]}))))},[P,o]),y.useEffect(()=>{e||(d(""),m(""),x([]),p([]),k("steps"),v(null),E(null),S(null))},[e]);const _=y.useMemo(()=>cK(l||"my_playbook",u||"My Playbook",h,g),[l,u,h,g]),z=y.useMemo(()=>h.map(se=>se.id),[h]),U=y.useMemo(()=>{const se=[];l.trim()||se.push("Name is required"),u.trim()||se.push("Title is required"),!/^[a-zA-Z_][a-zA-Z0-9_-]*$/.test(l)&&l.trim()&&se.push("Name must start with letter/underscore");for(const ye of h)ye.id.trim()||se.push("All steps must have an ID"),ye.title.trim()||se.push("All steps must have a title");for(const ye of g)ye.name.trim()||se.push("All variables must have a name");return se},[l,u,h,g]),K=U.length===0&&!M.isPending&&!q.isPending,R=y.useCallback((se="task")=>{const ye={id:Pg(),title:"",description:"",stepType:se,taskType:"",priority:"",complexity:"",assignee:"",runtime:"typescript",code:"",command:"",timeout:"",dependsOn:[],condition:""};x(Ne=>[...Ne,ye]),v(h.length)},[h.length]),L=y.useCallback((se,ye)=>{x(Ne=>Ne.map((we,me)=>me===se?ye:we))},[]),F=y.useCallback(se=>{const ye=h[se]?.id;x(Ne=>Ne.filter((me,J)=>J!==se).map(me=>({...me,dependsOn:me.dependsOn.filter(J=>J!==ye)}))),v(null)},[h]),B=y.useCallback((se,ye)=>{x(Ne=>{const we=[...Ne],me=ye==="up"?se-1:se+1;return[we[se],we[me]]=[we[me],we[se]],we}),v(ye==="up"?se-1:se+1)},[]),H=y.useCallback(()=>{const se={name:"",description:"",type:"string",required:!1,default:"",enum:[]};p(ye=>[...ye,se]),E(g.length)},[g.length]),G=y.useCallback((se,ye)=>{p(Ne=>Ne.map((we,me)=>me===se?ye:we))},[]),W=y.useCallback(se=>{p(ye=>ye.filter((Ne,we)=>we!==se)),E(null)},[]),te=y.useCallback(se=>{try{const ye=se.split(`
190
+ `);let Ne="",we="";const me=[],J=[];let re="root",Y=null;for(const he of ye){const ce=he.trim();if(!ce||ce.startsWith("#"))continue;if(ce==="steps:"){re="steps",Y=null;continue}if(ce==="variables:"){re="variables",Y=null;continue}const pe=ce.match(/^-?\s*(\w+):\s*(.*)$/);if(!pe)continue;const[,ke,_e]=pe,Le=_e.replace(/^["']|["']$/g,"");re==="root"?ke==="name"?Ne=Le:ke==="title"&&(we=Le):re==="steps"?ce.startsWith("-")?(Y&&"id"in Y&&me.push({id:Y.id||Pg(),title:Y.title||"",description:Y.description||"",stepType:"task",taskType:"",priority:"",complexity:"",assignee:"",runtime:"typescript",code:"",command:"",timeout:"",dependsOn:[],condition:""}),Y={id:Le}):Y&&(ke==="title"?Y.title=Le:ke==="description"&&(Y.description=Le)):re==="variables"&&(ce.startsWith("-")?(Y&&"name"in Y&&Y.name&&J.push({name:Y.name||"",description:Y.description||"",type:Y.type||"string",required:Y.required||!1,default:Y.default||"",enum:[]}),Y={name:Le}):Y&&(ke==="type"?Y.type=Le:ke==="required"?Y.required=Le==="true":ke==="description"?Y.description=Le:ke==="default"&&(Y.default=Le)))}Y&&(re==="steps"&&"id"in Y?me.push({id:Y.id||Pg(),title:Y.title||"",description:Y.description||"",stepType:"task",taskType:"",priority:"",complexity:"",assignee:"",runtime:"typescript",code:"",command:"",timeout:"",dependsOn:[],condition:""}):re==="variables"&&"name"in Y&&Y.name&&J.push({name:Y.name||"",description:Y.description||"",type:Y.type||"string",required:Y.required||!1,default:Y.default||"",enum:[]})),Ne&&d(Ne),we&&m(we),me.length>0&&x(me),J.length>0&&p(J),k("steps"),S(null)}catch{S("Failed to parse YAML. Please check the format and try again.")}},[]),le=async()=>{if(S(null),U.length>0){S(U.join(", "));return}try{const se=h.map(oK),ye=g.map(lK);if(o&&a){const Ne=await q.mutateAsync({playbookId:a,title:u,steps:se,variables:ye});n?.(Ne.playbook)}else{const Ne=await M.mutateAsync({name:l,title:u,steps:se,variables:ye});n?.(Ne.playbook)}t()}catch(se){S(se instanceof Error?se.message:"Failed to save playbook")}};if(!e)return null;const ge=M.isPending||q.isPending;return r.jsxs("div",{className:"fixed inset-0 z-50","data-testid":"workflow-editor-container",children:[r.jsx("div",{className:"absolute inset-0 bg-black/50 animate-fade-in",onClick:t,"data-testid":"workflow-editor-backdrop"}),r.jsx("div",{className:"absolute inset-0 flex items-center justify-center p-4 pointer-events-none overflow-y-auto",children:r.jsxs("div",{className:"w-full max-w-3xl max-h-[90vh] mx-auto bg-[var(--color-bg)] rounded-xl shadow-2xl border border-[var(--color-border)] animate-scale-in pointer-events-auto flex flex-col",style:{pointerEvents:"auto"},"data-testid":"workflow-editor-dialog",role:"dialog","aria-labelledby":"workflow-editor-title",onClick:se=>se.stopPropagation(),children:[r.jsxs("div",{className:"flex items-center justify-between px-4 py-3 border-b border-[var(--color-border)] flex-shrink-0",children:[r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsx(pn,{className:"w-5 h-5 text-[var(--color-primary)]"}),r.jsx("h2",{id:"workflow-editor-title",className:"text-lg font-semibold text-[var(--color-text)]",children:o?"Edit Template":"Create Template"})]}),r.jsx("button",{onClick:t,className:"p-1.5 rounded-lg text-[var(--color-text-tertiary)] hover:text-[var(--color-text)] hover:bg-[var(--color-surface-hover)] transition-colors","aria-label":"Close dialog","data-testid":"workflow-editor-close",children:r.jsx(Ee,{className:"w-5 h-5"})})]}),A&&o&&r.jsx("div",{className:"flex items-center justify-center py-16",children:r.jsx(je,{className:"w-8 h-8 text-[var(--color-primary)] animate-spin"})}),(O||$)&&r.jsxs("div",{className:"mx-4 mt-4 flex items-center gap-2 px-3 py-2 text-sm text-red-700 dark:text-red-300 bg-red-50 dark:bg-red-900/20 border border-red-200 dark:border-red-800 rounded-lg",children:[r.jsx(dt,{className:"w-4 h-4 flex-shrink-0"}),O||$?.message||"An error occurred"]}),(!A||!o)&&r.jsxs("div",{className:"flex-1 overflow-hidden flex flex-col",children:[r.jsx("div",{className:"px-4 pt-4 pb-3 border-b border-[var(--color-border)] space-y-3 flex-shrink-0",children:r.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[r.jsxs("div",{className:"space-y-1",children:[r.jsxs("label",{className:"text-xs font-medium text-[var(--color-text-secondary)]",children:["Name ",r.jsx("span",{className:"text-red-500",children:"*"})]}),r.jsx("input",{type:"text",value:l,onChange:se=>d(se.target.value.replace(/[^a-zA-Z0-9_-]/g,"")),placeholder:"my_playbook",disabled:o,className:"w-full px-3 py-2 text-sm bg-[var(--color-surface)] border border-[var(--color-border)] rounded-lg focus:outline-none focus:ring-2 focus:ring-[var(--color-primary)]/30 font-mono disabled:opacity-50","data-testid":"playbook-name-input"})]}),r.jsxs("div",{className:"space-y-1",children:[r.jsxs("label",{className:"text-xs font-medium text-[var(--color-text-secondary)]",children:["Title ",r.jsx("span",{className:"text-red-500",children:"*"})]}),r.jsx("input",{type:"text",value:u,onChange:se=>m(se.target.value),placeholder:"My Playbook",className:"w-full px-3 py-2 text-sm bg-[var(--color-surface)] border border-[var(--color-border)] rounded-lg focus:outline-none focus:ring-2 focus:ring-[var(--color-primary)]/30","data-testid":"playbook-title-input"})]})]})}),r.jsx("div",{className:"px-4 border-b border-[var(--color-border)] flex-shrink-0",children:r.jsxs("nav",{className:"flex gap-4","aria-label":"Editor tabs",children:[r.jsxs("button",{onClick:()=>k("steps"),className:`flex items-center gap-1.5 py-3 px-1 text-sm font-medium border-b-2 transition-colors ${j==="steps"?"text-[var(--color-primary)] border-[var(--color-primary)]":"text-[var(--color-text-secondary)] hover:text-[var(--color-text)] border-transparent"}`,"data-testid":"tab-steps",children:[r.jsx(za,{className:"w-4 h-4"}),"Steps",r.jsx("span",{className:"px-1.5 py-0.5 text-xs rounded-full bg-[var(--color-surface)]",children:h.length})]}),r.jsxs("button",{onClick:()=>k("variables"),className:`flex items-center gap-1.5 py-3 px-1 text-sm font-medium border-b-2 transition-colors ${j==="variables"?"text-[var(--color-primary)] border-[var(--color-primary)]":"text-[var(--color-text-secondary)] hover:text-[var(--color-text)] border-transparent"}`,"data-testid":"tab-variables",children:[r.jsx(zx,{className:"w-4 h-4"}),"Variables",r.jsx("span",{className:"px-1.5 py-0.5 text-xs rounded-full bg-[var(--color-surface)]",children:g.length})]}),r.jsxs("button",{onClick:()=>k("yaml"),className:`flex items-center gap-1.5 py-3 px-1 text-sm font-medium border-b-2 transition-colors ${j==="yaml"?"text-[var(--color-primary)] border-[var(--color-primary)]":"text-[var(--color-text-secondary)] hover:text-[var(--color-text)] border-transparent"}`,"data-testid":"tab-yaml",children:[r.jsx(Us,{className:"w-4 h-4"}),"YAML"]})]})}),r.jsxs("div",{className:"flex-1 overflow-auto p-4",children:[j==="steps"&&r.jsxs("div",{className:"grid grid-cols-2 gap-4 h-full",children:[r.jsxs("div",{className:"space-y-3",children:[r.jsxs("div",{className:"flex items-center justify-between",children:[r.jsx("h3",{className:"text-sm font-medium text-[var(--color-text)]",children:"Steps"}),r.jsxs("div",{className:"relative group",children:[r.jsxs("button",{className:"flex items-center gap-1 px-2 py-1 text-sm text-[var(--color-primary)] hover:bg-[var(--color-primary-muted)] rounded","data-testid":"add-step-button",children:[r.jsx(Fe,{className:"w-4 h-4"}),"Add Step",r.jsx(it,{className:"w-3 h-3 ml-0.5"})]}),r.jsxs("div",{className:"absolute right-0 mt-1 w-48 py-1 bg-[var(--color-bg)] border border-[var(--color-border)] rounded-lg shadow-lg opacity-0 invisible group-hover:opacity-100 group-hover:visible transition-all z-10",children:[r.jsxs("button",{onClick:()=>R("task"),className:"flex items-center gap-2 w-full px-3 py-2 text-sm text-[var(--color-text)] hover:bg-[var(--color-surface-hover)]","data-testid":"add-task-step",children:[r.jsx(Fs,{className:"w-4 h-4 text-blue-500"}),r.jsxs("div",{className:"text-left",children:[r.jsx("div",{className:"font-medium",children:"Task Step"}),r.jsx("div",{className:"text-xs text-[var(--color-text-tertiary)]",children:"Agent-executed task"})]})]}),r.jsxs("button",{onClick:()=>R("function"),className:"flex items-center gap-2 w-full px-3 py-2 text-sm text-[var(--color-text)] hover:bg-[var(--color-surface-hover)]","data-testid":"add-function-step",children:[r.jsx(Ym,{className:"w-4 h-4 text-purple-500"}),r.jsxs("div",{className:"text-left",children:[r.jsx("div",{className:"font-medium",children:"Function Step"}),r.jsx("div",{className:"text-xs text-[var(--color-text-tertiary)]",children:"Execute code directly"})]})]})]})]})]}),r.jsx("div",{className:"space-y-2 max-h-[400px] overflow-auto","data-testid":"step-list",children:h.length===0?r.jsxs("div",{className:"text-center py-8 text-sm text-[var(--color-text-tertiary)]",children:[r.jsx(za,{className:"w-8 h-8 mx-auto mb-2 opacity-50"}),'No steps yet. Click "Add Step" to begin.']}):h.map((se,ye)=>r.jsx(dK,{step:se,index:ye,isSelected:N===ye,onSelect:()=>v(ye),onMoveUp:()=>B(ye,"up"),onMoveDown:()=>B(ye,"down"),onDelete:()=>F(ye),isFirst:ye===0,isLast:ye===h.length-1},se.id||ye))})]}),r.jsx("div",{className:"border-l border-[var(--color-border)] pl-4",children:N!==null&&h[N]?r.jsx(uK,{step:h[N],onChange:se=>L(N,se),allStepIds:z,onClose:()=>v(null)}):r.jsx("div",{className:"flex items-center justify-center h-full text-sm text-[var(--color-text-tertiary)]",children:r.jsxs("div",{className:"text-center",children:[r.jsx(Xg,{className:"w-8 h-8 mx-auto mb-2 opacity-50"}),"Select a step to edit"]})})})]}),j==="variables"&&r.jsxs("div",{className:"grid grid-cols-2 gap-4 h-full",children:[r.jsxs("div",{className:"space-y-3",children:[r.jsxs("div",{className:"flex items-center justify-between",children:[r.jsx("h3",{className:"text-sm font-medium text-[var(--color-text)]",children:"Variables"}),r.jsxs("button",{onClick:H,className:"flex items-center gap-1 px-2 py-1 text-sm text-[var(--color-primary)] hover:bg-[var(--color-primary-muted)] rounded","data-testid":"add-variable-button",children:[r.jsx(Fe,{className:"w-4 h-4"}),"Add Variable"]})]}),r.jsx("div",{className:"space-y-2 max-h-[400px] overflow-auto","data-testid":"variable-list",children:g.length===0?r.jsxs("div",{className:"text-center py-8 text-sm text-[var(--color-text-tertiary)]",children:[r.jsx(zx,{className:"w-8 h-8 mx-auto mb-2 opacity-50"}),'No variables yet. Click "Add Variable" to begin.']}):g.map((se,ye)=>r.jsxs("div",{className:`flex items-center gap-2 p-3 border rounded-lg cursor-pointer transition-colors duration-150 ${T===ye?"border-[var(--color-primary)] bg-[var(--color-primary-muted)]":"border-[var(--color-border)] bg-[var(--color-surface)] hover:border-[var(--color-primary)]/50"}`,onClick:()=>E(ye),"data-testid":`variable-item-${se.name}`,children:[r.jsx(zx,{className:"w-4 h-4 text-[var(--color-primary)] flex-shrink-0"}),r.jsxs("div",{className:"flex-1 min-w-0",children:[r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsx("span",{className:"text-sm font-medium text-[var(--color-text)] truncate font-mono",children:se.name||"unnamed"}),se.required&&r.jsx("span",{className:"text-red-500 text-xs",children:"required"})]}),r.jsxs("div",{className:"text-xs text-[var(--color-text-tertiary)]",children:[se.type,se.enum.length>0&&` (enum: ${se.enum.length})`]})]}),r.jsx("button",{onClick:Ne=>{Ne.stopPropagation(),W(ye)},className:"p-1 rounded hover:bg-red-100 dark:hover:bg-red-900/30 text-red-500",title:"Delete variable",children:r.jsx(jt,{className:"w-4 h-4"})})]},se.name||ye))})]}),r.jsx("div",{className:"border-l border-[var(--color-border)] pl-4",children:T!==null&&g[T]?r.jsx(mK,{variable:g[T],onChange:se=>G(T,se),onClose:()=>E(null)}):r.jsx("div",{className:"flex items-center justify-center h-full text-sm text-[var(--color-text-tertiary)]",children:r.jsxs("div",{className:"text-center",children:[r.jsx(Xg,{className:"w-8 h-8 mx-auto mb-2 opacity-50"}),"Select a variable to edit"]})})})]}),j==="yaml"&&r.jsx(fK,{yaml:_,onImport:te})]})]}),r.jsxs("div",{className:"flex items-center justify-between px-4 py-3 border-t border-[var(--color-border)] flex-shrink-0",children:[r.jsxs("div",{className:"text-xs text-[var(--color-text-tertiary)]",children:[h.length," step",h.length!==1?"s":"",", ",g.length," variable",g.length!==1?"s":"",U.length>0&&r.jsxs("span",{className:"ml-2 text-red-500",children:["(",U.length," validation error",U.length!==1?"s":"",")"]})]}),r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsx("button",{onClick:t,className:"px-4 py-2 text-sm font-medium text-[var(--color-text-secondary)] hover:text-[var(--color-text)] hover:bg-[var(--color-surface-hover)] rounded-lg transition-colors","data-testid":"cancel-button",children:"Cancel"}),r.jsx("button",{onClick:le,disabled:!K,className:"flex items-center gap-2 px-4 py-2 text-sm font-medium text-white bg-[var(--color-primary)] hover:bg-[var(--color-primary-hover)] disabled:opacity-50 disabled:cursor-not-allowed rounded-lg transition-colors","data-testid":"save-button",children:ge?r.jsxs(r.Fragment,{children:[r.jsx(je,{className:"w-4 h-4 animate-spin"}),"Saving..."]}):r.jsxs(r.Fragment,{children:[r.jsx(Jc,{className:"w-4 h-4"}),o?"Save Changes":"Create Template"]})})]})]})]})})]})}function xK({progress:e}){const{percentage:t,completed:a,inProgress:n,blocked:o,open:l,total:d}=e,u=d>0?a/d*100:0,m=d>0?n/d*100:0,h=d>0?o/d*100:0;return r.jsxs("div",{className:"space-y-3","data-testid":"workflow-progress-bar",children:[r.jsxs("div",{className:"flex items-center justify-between",children:[r.jsx("span",{className:"text-sm font-medium text-[var(--color-text)]",children:"Progress"}),r.jsxs("span",{className:"text-sm text-[var(--color-text-secondary)]",children:[t,"% complete"]})]}),r.jsxs("div",{className:"h-3 bg-[var(--color-surface-elevated)] rounded-full overflow-hidden flex",children:[u>0&&r.jsx("div",{className:"bg-green-500 transition-all duration-500",style:{width:`${u}%`},title:`Completed: ${a}`}),m>0&&r.jsx("div",{className:"bg-blue-500 transition-all duration-500",style:{width:`${m}%`},title:`In Progress: ${n}`}),h>0&&r.jsx("div",{className:"bg-red-400 transition-all duration-500",style:{width:`${h}%`},title:`Blocked: ${o}`})]}),r.jsxs("div",{className:"flex flex-wrap gap-4 text-xs",children:[r.jsxs("div",{className:"flex items-center gap-1.5",children:[r.jsx("div",{className:"w-3 h-3 rounded-full bg-green-500"}),r.jsxs("span",{className:"text-[var(--color-text-secondary)]",children:["Completed (",a,")"]})]}),r.jsxs("div",{className:"flex items-center gap-1.5",children:[r.jsx("div",{className:"w-3 h-3 rounded-full bg-blue-500"}),r.jsxs("span",{className:"text-[var(--color-text-secondary)]",children:["In Progress (",n,")"]})]}),r.jsxs("div",{className:"flex items-center gap-1.5",children:[r.jsx("div",{className:"w-3 h-3 rounded-full bg-red-400"}),r.jsxs("span",{className:"text-[var(--color-text-secondary)]",children:["Blocked (",o,")"]})]}),r.jsxs("div",{className:"flex items-center gap-1.5",children:[r.jsx("div",{className:"w-3 h-3 rounded-full bg-gray-300 dark:bg-gray-600"}),r.jsxs("span",{className:"text-[var(--color-text-secondary)]",children:["Open (",l,")"]})]})]})]})}function gK({progress:e}){const t=[{label:"Total Tasks",value:e.total,icon:_r,color:"text-[var(--color-text)]",bgColor:"bg-[var(--color-surface-elevated)]"},{label:"Completed",value:e.completed,icon:Gt,color:"text-green-600 dark:text-green-400",bgColor:"bg-green-100 dark:bg-green-900/30"},{label:"In Progress",value:e.inProgress,icon:ts,color:"text-blue-600 dark:text-blue-400",bgColor:"bg-blue-100 dark:bg-blue-900/30"},{label:"Blocked",value:e.blocked,icon:dt,color:"text-red-600 dark:text-red-400",bgColor:"bg-red-100 dark:bg-red-900/30"}];return r.jsx("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-3","data-testid":"workflow-stats-cards",children:t.map(a=>r.jsxs("div",{className:`p-3 rounded-lg ${a.bgColor}`,"data-testid":`stat-card-${a.label.toLowerCase().replace(" ","-")}`,children:[r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsx(a.icon,{className:`w-4 h-4 ${a.color}`}),r.jsx("span",{className:`text-xl font-semibold ${a.color}`,children:a.value})]}),r.jsx("span",{className:"text-xs text-[var(--color-text-secondary)]",children:a.label})]},a.label))})}function pK({task:e,dependsOn:t,blockedBy:a}){const n=y.useMemo(()=>{switch(e.status){case"closed":return r.jsx(Gt,{className:"w-4 h-4 text-green-500"});case"in_progress":return r.jsx(je,{className:"w-4 h-4 text-blue-500 animate-spin"});case"blocked":return r.jsx(dt,{className:"w-4 h-4 text-red-400"});case"open":return r.jsx(ed,{className:"w-4 h-4 text-gray-400"});default:return r.jsx(_t,{className:"w-4 h-4 text-gray-400"})}},[e.status]);return r.jsxs("div",{className:"flex items-center gap-3 p-3 border border-[var(--color-border)] rounded-lg bg-[var(--color-surface)] hover:bg-[var(--color-surface-hover)] transition-colors","data-testid":`workflow-task-${e.id}`,children:[r.jsx("div",{className:"flex-shrink-0",children:n}),r.jsxs("div",{className:"flex-1 min-w-0",children:[r.jsx("div",{className:"flex items-center gap-2",children:r.jsx("span",{className:"text-sm font-medium text-[var(--color-text)] truncate",children:e.title})}),r.jsxs("div",{className:"flex items-center gap-2 mt-1 text-xs",children:[r.jsx("span",{className:`px-1.5 py-0.5 rounded ${yK(e.status)}`,children:e.status.replace("_"," ")}),t.length>0&&r.jsxs("span",{className:"text-[var(--color-text-tertiary)]",children:["Depends on ",t.length," task",t.length>1?"s":""]})]})]}),a.length>0&&r.jsxs("div",{className:"flex items-center gap-1 text-xs text-red-500",children:[r.jsx(Nr,{className:"w-3 h-3"}),r.jsx("span",{children:"Blocked"})]})]})}function yK(e){switch(e){case"closed":return"bg-green-100 dark:bg-green-900/30 text-green-700 dark:text-green-400";case"blocked":return"bg-red-100 dark:bg-red-900/30 text-red-700 dark:text-red-400";case"in_progress":return"bg-blue-100 dark:bg-blue-900/30 text-blue-700 dark:text-blue-400";default:return"bg-gray-100 dark:bg-gray-800 text-gray-700 dark:text-gray-400"}}function bK({step:e,dependsOn:t,blockedBy:a}){const n=y.useMemo(()=>{switch(e.status){case"completed":return r.jsx(Gt,{className:"w-4 h-4 text-green-500"});case"running":return r.jsx(je,{className:"w-4 h-4 text-purple-500 animate-spin"});case"failed":return r.jsx(Xr,{className:"w-4 h-4 text-red-500"});case"pending":default:return r.jsx(_t,{className:"w-4 h-4 text-gray-400"})}},[e.status]),o=y.useMemo(()=>{const u=e.runtime;switch(u){case"typescript":return"TS";case"python":return"PY";case"shell":return"SH";default:return u?.toUpperCase()??""}},[e.runtime]),l=u=>{switch(u){case"typescript":return"bg-blue-100 dark:bg-blue-900/30 text-blue-700 dark:text-blue-400";case"python":return"bg-yellow-100 dark:bg-yellow-900/30 text-yellow-700 dark:text-yellow-400";case"shell":return"bg-gray-100 dark:bg-gray-800 text-gray-700 dark:text-gray-400";default:return"bg-purple-100 dark:bg-purple-900/30 text-purple-700 dark:text-purple-400"}},d=u=>{switch(u){case"completed":return"bg-green-100 dark:bg-green-900/30 text-green-700 dark:text-green-400";case"failed":return"bg-red-100 dark:bg-red-900/30 text-red-700 dark:text-red-400";case"running":return"bg-purple-100 dark:bg-purple-900/30 text-purple-700 dark:text-purple-400";default:return"bg-gray-100 dark:bg-gray-800 text-gray-700 dark:text-gray-400"}};return r.jsxs("div",{className:"flex items-center gap-3 p-3 border border-purple-200 dark:border-purple-800/50 rounded-lg bg-purple-50/50 dark:bg-purple-900/10 hover:bg-purple-100/50 dark:hover:bg-purple-900/20 transition-colors","data-testid":`workflow-function-step-${e.id}`,children:[r.jsx("div",{className:"flex-shrink-0",children:n}),r.jsx("div",{className:"flex-shrink-0",children:r.jsx("div",{className:"flex items-center justify-center w-6 h-6 rounded bg-purple-100 dark:bg-purple-900/30",children:r.jsx(Ym,{className:"w-3.5 h-3.5 text-purple-600 dark:text-purple-400"})})}),r.jsxs("div",{className:"flex-1 min-w-0",children:[r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsx("span",{className:"text-sm font-medium text-[var(--color-text)] truncate",children:e.title}),r.jsx("span",{className:`px-1.5 py-0.5 rounded text-xs font-mono ${l(e.runtime)}`,children:o})]}),r.jsxs("div",{className:"flex items-center gap-2 mt-1 text-xs",children:[r.jsx("span",{className:`px-1.5 py-0.5 rounded ${d(e.status)}`,children:e.status}),t.length>0&&r.jsxs("span",{className:"text-[var(--color-text-tertiary)]",children:["Depends on ",t.length," step",t.length>1?"s":""]}),e.timeout&&r.jsxs("span",{className:"text-[var(--color-text-tertiary)]",children:["Timeout: ",e.timeout/1e3,"s"]})]})]}),e.error&&r.jsxs("div",{className:"flex items-center gap-1 text-xs text-red-500",title:e.error,children:[r.jsx(Nr,{className:"w-3 h-3"}),r.jsx("span",{children:"Error"})]}),a.length>0&&r.jsxs("div",{className:"flex items-center gap-1 text-xs text-red-500",children:[r.jsx(Nr,{className:"w-3 h-3"}),r.jsx("span",{children:"Blocked"})]})]})}function vK({tasks:e,functionSteps:t=[],steps:a=[],dependencies:n}){const{dependsOnMap:o,blockedByMap:l}=y.useMemo(()=>{const u=new Map,m=new Map;for(const h of n)u.has(h.blockedId)||u.set(h.blockedId,[]),u.get(h.blockedId).push(h.blockerId),m.has(h.blockedId)||m.set(h.blockedId,[]),m.get(h.blockedId).push(h.blockerId);return{dependsOnMap:u,blockedByMap:m}},[n]),d=y.useMemo(()=>{let u=a.length>0?a:[...e,...t];const m={in_progress:0,running:0,blocked:1,open:2,pending:2,closed:3,completed:3,failed:4,deferred:5,tombstone:6};return u.sort((h,x)=>{const g=m[h.status]??99,p=m[x.status]??99;return g-p})},[e,t,a]);return d.length===0?r.jsx("div",{className:"text-center py-8 text-[var(--color-text-secondary)]",children:"No steps in this workflow"}):r.jsx("div",{className:"space-y-2","data-testid":"workflow-step-list",children:d.map(u=>I5(u)?r.jsx(bK,{step:u,dependsOn:o.get(u.id)??[],blockedBy:l.get(u.id)??[]},u.id):r.jsx(pK,{task:u,dependsOn:o.get(u.id)??[],blockedBy:l.get(u.id)??[]},u.id))})}function jK({tasks:e,dependencies:t}){const a=y.useMemo(()=>{const o=new Map;for(const l of e)o.set(l.id,l);return o},[e]);if(t.length===0)return r.jsx("div",{className:"text-center py-4 text-[var(--color-text-tertiary)] text-sm",children:"No dependencies between tasks"});const n=o=>{switch(o){case"closed":return"border-green-500 bg-green-100 dark:bg-green-900/30";case"in_progress":return"border-blue-500 bg-blue-100 dark:bg-blue-900/30";case"blocked":return"border-red-400 bg-red-100 dark:bg-red-900/30";default:return"border-gray-300 bg-gray-100 dark:bg-gray-800"}};return r.jsxs("div",{className:"space-y-3","data-testid":"workflow-dependency-graph",children:[r.jsxs("div",{className:"text-xs text-[var(--color-text-secondary)] mb-2",children:["Task dependencies (",t.length," connection",t.length!==1?"s":"",")"]}),r.jsxs("div",{className:"space-y-2 overflow-x-auto",children:[t.slice(0,10).map((o,l)=>{const d=a.get(o.blockedId),u=a.get(o.blockerId);return!d||!u?null:r.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[r.jsx("div",{className:`px-2 py-1 rounded border-2 ${n(d.status)} truncate max-w-[150px]`,title:d.title,children:d.title}),r.jsx(Qs,{className:"w-4 h-4 text-[var(--color-text-tertiary)] flex-shrink-0"}),r.jsx("div",{className:`px-2 py-1 rounded border-2 ${n(u.status)} truncate max-w-[150px]`,title:u.title,children:u.title})]},l)}),t.length>10&&r.jsxs("div",{className:"text-xs text-[var(--color-text-tertiary)]",children:["...and ",t.length-10," more"]})]})]})}function wK({workflow:e,tasks:t,functionSteps:a=[],steps:n=[],progress:o,dependencies:l,isLoading:d}){if(d)return r.jsx("div",{className:"flex items-center justify-center py-12",children:r.jsx(je,{className:"w-8 h-8 text-[var(--color-primary)] animate-spin"})});const u=by[e.status],m=n.length>0?n.length:t.length+a.length,h=a.length>0||n.some(x=>I5(x));return r.jsxs("div",{className:"space-y-6","data-testid":"workflow-progress-dashboard",children:[r.jsxs("div",{className:"flex items-center justify-between",children:[r.jsxs("div",{children:[r.jsx("h2",{className:"text-lg font-semibold text-[var(--color-text)]",children:e.title}),r.jsxs("p",{className:"text-sm text-[var(--color-text-secondary)]",children:[m," step",m!==1?"s":""," in workflow",h&&r.jsxs("span",{className:"ml-2 inline-flex items-center gap-1",children:[r.jsx(Ym,{className:"w-3 h-3 text-purple-500"}),r.jsx("span",{className:"text-purple-600 dark:text-purple-400",children:"includes function steps"})]})]})]}),r.jsx("div",{className:`px-3 py-1.5 rounded-full text-sm font-medium ${u?.bgColor??""} ${u?.color??""}`,children:u?.label??e.status})]}),r.jsx(gK,{progress:o}),r.jsx(xK,{progress:o}),r.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-6",children:[r.jsxs("div",{className:"lg:col-span-2",children:[r.jsx("h3",{className:"text-sm font-medium text-[var(--color-text)] mb-3",children:"Steps"}),r.jsx(vK,{tasks:t,functionSteps:a,steps:n,dependencies:l})]}),r.jsxs("div",{className:"lg:col-span-1",children:[r.jsx("h3",{className:"text-sm font-medium text-[var(--color-text)] mb-3",children:"Dependencies"}),r.jsx("div",{className:"p-4 border border-[var(--color-border)] rounded-lg bg-[var(--color-surface)]",children:r.jsx(jK,{tasks:t,dependencies:l})})]})]})]})}function kK(){const e=$e();return Re({mutationFn:async t=>{const a=await fetch("/api/entities",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!a.ok){const n=await a.json();throw new Error(n.error?.message||"Failed to create entity")}return a.json()},onSuccess:()=>{e.invalidateQueries({queryKey:["entities"]})}})}const NK=[{value:"agent",label:"Agent",description:"AI agent - automated actors performing work",icon:tr},{value:"human",label:"Human",description:"Human user - manual actors in the system",icon:Ze},{value:"system",label:"System",description:"System process - automated infrastructure",icon:gr}];function F5({isOpen:e,onClose:t,onSuccess:a}){const[n,o]=y.useState(""),[l,d]=y.useState("agent"),[u,m]=y.useState(""),[h,x]=y.useState(""),g=y.useRef(null),p=kK();y.useEffect(()=>{e&&g.current&&g.current.focus()},[e]),y.useEffect(()=>{e||(o(""),d("agent"),m(""),x(""),p.reset())},[e]);const j=async v=>{if(v.preventDefault(),!n.trim())return;const T={name:n.trim(),entityType:l};u.trim()&&(T.publicKey=u.trim()),h.trim()&&(T.tags=h.split(",").map(E=>E.trim()).filter(Boolean));try{const E=await p.mutateAsync(T);a?.(E),t()}catch{}},k=v=>{v.key==="Escape"&&t()},N=Et();return e?r.jsxs("div",{className:"fixed inset-0 z-50","data-testid":"create-entity-modal",onKeyDown:k,children:[r.jsx("div",{className:"absolute inset-0 bg-black/50 backdrop-blur-sm",onClick:t,"data-testid":"create-entity-modal-backdrop"}),r.jsx("div",{className:`
191
+ ${N?"absolute inset-0":"absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 w-full max-w-lg max-h-[90vh]"} flex flex-col
192
+ `,children:r.jsxs("div",{className:`
193
+ bg-[var(--color-bg)] dark:bg-[var(--color-surface)] shadow-2xl border border-[var(--color-border)]
194
+ overflow-hidden flex flex-col h-full
195
+ ${N?"":"rounded-xl max-h-full"}
196
+ `,children:[r.jsxs("div",{className:"flex items-center justify-between px-4 py-3 border-b border-[var(--color-border)] bg-[var(--color-surface)]",children:[r.jsx("h2",{className:"text-lg font-semibold text-[var(--color-text)]",children:"Create Entity"}),r.jsx("button",{onClick:t,className:"p-2 text-[var(--color-text-secondary)] hover:text-[var(--color-text)] hover:bg-[var(--color-surface-hover)] rounded touch-target","aria-label":"Close","data-testid":"create-entity-modal-close",children:r.jsx(Ee,{className:"w-5 h-5"})})]}),r.jsxs("form",{onSubmit:j,className:"p-4 overflow-auto flex-1",children:[r.jsxs("div",{className:"mb-4",children:[r.jsxs("label",{htmlFor:"entity-name",className:"block text-sm font-medium text-[var(--color-text-secondary)] mb-1",children:["Name ",r.jsx("span",{className:"text-red-500",children:"*"})]}),r.jsx("input",{ref:g,id:"entity-name",type:"text",value:n,onChange:v=>o(v.target.value),placeholder:"Enter entity name...",className:"w-full px-3 py-2.5 border border-[var(--color-border)] rounded-md bg-[var(--color-bg)] text-[var(--color-text)] focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent","data-testid":"create-entity-name-input",required:!0}),r.jsx("p",{className:"mt-1 text-xs text-[var(--color-text-muted)]",children:"Must start with a letter, followed by alphanumeric characters, hyphens, or underscores"})]}),r.jsxs("div",{className:"mb-4",children:[r.jsxs("label",{className:"block text-sm font-medium text-[var(--color-text-secondary)] mb-2",children:["Type ",r.jsx("span",{className:"text-red-500",children:"*"})]}),r.jsx("div",{className:"space-y-2","data-testid":"create-entity-type-options",children:NK.map(v=>{const T=v.icon;return r.jsxs("label",{className:`flex items-center gap-3 p-3 border rounded-lg cursor-pointer transition-colors touch-target ${l===v.value?"border-blue-500 bg-blue-50 dark:bg-blue-900/20":"border-[var(--color-border)] hover:border-[var(--color-border-hover)]"}`,"data-testid":`create-entity-type-${v.value}`,children:[r.jsx("input",{type:"radio",name:"entityType",value:v.value,checked:l===v.value,onChange:()=>d(v.value),className:"sr-only"}),r.jsx(T,{className:`w-5 h-5 ${l===v.value?"text-blue-600 dark:text-blue-400":"text-[var(--color-text-muted)]"}`}),r.jsxs("div",{className:"flex-1 min-w-0",children:[r.jsx("div",{className:`font-medium ${l===v.value?"text-blue-900 dark:text-blue-100":"text-[var(--color-text)]"}`,children:v.label}),r.jsx("div",{className:"text-xs text-[var(--color-text-muted)]",children:v.description})]})]},v.value)})})]}),r.jsxs("div",{className:"mb-4",children:[r.jsxs("label",{htmlFor:"entity-public-key",className:"block text-sm font-medium text-[var(--color-text-secondary)] mb-1",children:["Public Key ",r.jsx("span",{className:"text-[var(--color-text-muted)]",children:"(optional)"})]}),r.jsx("textarea",{id:"entity-public-key",value:u,onChange:v=>m(v.target.value),placeholder:"Ed25519 public key, base64 encoded...",rows:3,className:"w-full px-3 py-2.5 border border-[var(--color-border)] rounded-md bg-[var(--color-bg)] text-[var(--color-text)] focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent font-mono text-sm","data-testid":"create-entity-public-key-input"})]}),r.jsxs("div",{className:"mb-4",children:[r.jsxs("label",{htmlFor:"entity-tags",className:"block text-sm font-medium text-[var(--color-text-secondary)] mb-1",children:["Tags ",r.jsx("span",{className:"text-[var(--color-text-muted)]",children:"(optional)"})]}),r.jsx("input",{id:"entity-tags",type:"text",value:h,onChange:v=>x(v.target.value),placeholder:"Enter tags separated by commas...",className:"w-full px-3 py-2.5 border border-[var(--color-border)] rounded-md bg-[var(--color-bg)] text-[var(--color-text)] focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent","data-testid":"create-entity-tags-input"})]}),p.isError&&r.jsx("div",{className:"mb-4 p-3 bg-red-50 dark:bg-red-900/20 border border-red-200 dark:border-red-800 rounded-md text-sm text-red-600 dark:text-red-400","data-testid":"create-entity-error",children:p.error.message}),r.jsxs("div",{className:`flex gap-3 pt-2 ${N?"flex-col-reverse":"justify-end"}`,children:[r.jsx("button",{type:"button",onClick:t,className:`px-4 py-2.5 text-sm font-medium text-[var(--color-text-secondary)] hover:bg-[var(--color-surface-hover)] rounded-md transition-colors ${N?"w-full":""}`,"data-testid":"create-entity-cancel",children:"Cancel"}),r.jsx("button",{type:"submit",disabled:!n.trim()||p.isPending,className:`inline-flex items-center justify-center gap-2 px-4 py-2.5 text-sm font-medium text-white bg-blue-600 hover:bg-blue-700 rounded-md transition-colors disabled:opacity-50 disabled:cursor-not-allowed ${N?"w-full":""}`,"data-testid":"create-entity-submit",children:p.isPending?r.jsxs(r.Fragment,{children:[r.jsx(je,{className:"w-4 h-4 animate-spin"}),"Creating..."]}):r.jsxs(r.Fragment,{children:[r.jsx(Fe,{className:"w-4 h-4"}),"Create Entity"]})})]})]})]})})]}):null}const Ru={agent:{bg:"bg-purple-100",text:"text-purple-800",icon:tr},human:{bg:"bg-blue-100",text:"text-blue-800",icon:Ze},system:{bg:"bg-gray-100",text:"text-gray-800",icon:gr}};function SK(){const e=$e();return Re({mutationFn:async t=>{const a=await fetch("/api/teams",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!a.ok){const n=await a.json();throw new Error(n.error?.message||"Failed to create team")}return a.json()},onSuccess:()=>{e.invalidateQueries({queryKey:["teams"]})}})}function CK(){return be({queryKey:["entities","all"],queryFn:async()=>{const e=await fetch("/api/entities?limit=1000");if(!e.ok)throw new Error("Failed to fetch entities");const t=await e.json();return t.items||t}})}function U5({isOpen:e,onClose:t,onSuccess:a}){const[n,o]=y.useState(""),[l,d]=y.useState([]),[u,m]=y.useState(""),[h,x]=y.useState(""),g=y.useRef(null),p=SK(),j=CK(),k=y.useMemo(()=>{const C=j.data||[];if(!h.trim())return C.filter($=>!l.includes($.id));const A=h.toLowerCase();return C.filter($=>!l.includes($.id)&&($.name.toLowerCase().includes(A)||$.id.toLowerCase().includes(A)))},[j.data,h,l]),N=y.useMemo(()=>(j.data||[]).filter(C=>l.includes(C.id)),[j.data,l]);y.useEffect(()=>{e&&g.current&&g.current.focus()},[e]),y.useEffect(()=>{e||(o(""),d([]),m(""),x(""),p.reset())},[e]);const v=C=>{d(A=>[...A,C]),x("")},T=C=>{d(A=>A.filter($=>$!==C))},E=async C=>{if(C.preventDefault(),!n.trim()||l.length===0)return;const A={name:n.trim(),members:l};u.trim()&&(A.tags=u.split(",").map($=>$.trim()).filter(Boolean));try{const $=await p.mutateAsync(A);a?.($),t()}catch{}},O=C=>{C.key==="Escape"&&t()},S=Et();return e?r.jsxs("div",{className:"fixed inset-0 z-50","data-testid":"create-team-modal",onKeyDown:O,children:[r.jsx("div",{className:"absolute inset-0 bg-black/50 backdrop-blur-sm",onClick:t,"data-testid":"create-team-modal-backdrop"}),r.jsx("div",{className:`
197
+ ${S?"absolute inset-0":"absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 w-full max-w-lg max-h-[90vh]"} flex flex-col
198
+ `,children:r.jsxs("div",{className:`
199
+ bg-[var(--color-bg)] dark:bg-[var(--color-surface)] shadow-2xl border border-[var(--color-border)]
200
+ overflow-hidden flex flex-col h-full
201
+ ${S?"":"rounded-xl max-h-full"}
202
+ `,children:[r.jsxs("div",{className:"flex items-center justify-between px-4 py-3 border-b border-[var(--color-border)] bg-[var(--color-surface)]",children:[r.jsx("h2",{className:"text-lg font-semibold text-[var(--color-text)]",children:"Create Team"}),r.jsx("button",{onClick:t,className:"p-2 text-[var(--color-text-secondary)] hover:text-[var(--color-text)] hover:bg-[var(--color-surface-hover)] rounded touch-target","aria-label":"Close","data-testid":"create-team-modal-close",children:r.jsx(Ee,{className:"w-5 h-5"})})]}),r.jsxs("form",{onSubmit:E,className:"p-4 overflow-auto flex-1",children:[r.jsxs("div",{className:"mb-4",children:[r.jsxs("label",{htmlFor:"team-name",className:"block text-sm font-medium text-[var(--color-text-secondary)] mb-1",children:["Team Name ",r.jsx("span",{className:"text-red-500",children:"*"})]}),r.jsx("input",{ref:g,id:"team-name",type:"text",value:n,onChange:C=>o(C.target.value),placeholder:"Enter team name...",className:"w-full px-3 py-2.5 border border-[var(--color-border)] rounded-md bg-[var(--color-bg)] text-[var(--color-text)] focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent","data-testid":"create-team-name-input",required:!0})]}),r.jsxs("div",{className:"mb-4",children:[r.jsxs("label",{className:"block text-sm font-medium text-[var(--color-text-secondary)] mb-1",children:["Members ",r.jsx("span",{className:"text-red-500",children:"*"})]}),l.length===0&&r.jsx("p",{className:"text-xs text-amber-600 dark:text-amber-400 mb-2",children:"Teams must have at least one member. Search and select an entity below."}),N.length>0&&r.jsx("div",{className:"flex flex-wrap gap-2 mb-2","data-testid":"selected-members",children:N.map(C=>{const A=Ru[C.entityType]||Ru.system,$=A.icon;return r.jsxs("div",{className:"inline-flex items-center gap-1.5 px-2 py-1 bg-[var(--color-surface-hover)] rounded-full text-sm","data-testid":`selected-member-${C.id}`,children:[r.jsx($,{className:`w-3.5 h-3.5 ${A.text}`}),r.jsx("span",{className:"text-[var(--color-text)]",children:C.name}),r.jsx("button",{type:"button",onClick:()=>T(C.id),className:"p-0.5 text-[var(--color-text-muted)] hover:text-[var(--color-text)] rounded-full hover:bg-[var(--color-surface)]","data-testid":`remove-member-${C.id}`,children:r.jsx(Ee,{className:"w-3 h-3"})})]},C.id)})}),r.jsxs("div",{className:"relative",children:[r.jsx(Ve,{className:"absolute left-2.5 top-1/2 -translate-y-1/2 w-4 h-4 text-[var(--color-text-muted)]"}),r.jsx("input",{type:"text",value:h,onChange:C=>x(C.target.value),placeholder:"Search entities to add...",className:"w-full pl-8 pr-3 py-2.5 border border-[var(--color-border)] rounded-md bg-[var(--color-bg)] text-[var(--color-text)] focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent text-sm","data-testid":"member-search-input"})]}),h.trim()&&r.jsx("div",{className:"mt-2 max-h-40 overflow-auto border border-[var(--color-border)] rounded-md","data-testid":"entity-search-results",children:j.isLoading?r.jsx("div",{className:"p-3 text-sm text-[var(--color-text-muted)] text-center",children:"Loading entities..."}):k.length===0?r.jsx("div",{className:"p-3 text-sm text-[var(--color-text-muted)] text-center",children:"No matching entities"}):k.slice(0,10).map(C=>{const A=Ru[C.entityType]||Ru.system,$=A.icon;return r.jsxs("button",{type:"button",onClick:()=>v(C.id),className:"w-full flex items-center gap-2 px-3 py-2.5 hover:bg-[var(--color-surface-hover)] text-left touch-target","data-testid":`add-member-${C.id}`,children:[r.jsx($,{className:`w-4 h-4 ${A.text}`}),r.jsx("span",{className:"text-sm text-[var(--color-text)]",children:C.name}),r.jsx("span",{className:`ml-auto px-1.5 py-0.5 text-xs font-medium rounded ${A.bg} ${A.text}`,children:C.entityType})]},C.id)})})]}),r.jsxs("div",{className:"mb-4",children:[r.jsxs("label",{htmlFor:"team-tags",className:"block text-sm font-medium text-[var(--color-text-secondary)] mb-1",children:["Tags ",r.jsx("span",{className:"text-[var(--color-text-muted)]",children:"(optional)"})]}),r.jsx("input",{id:"team-tags",type:"text",value:u,onChange:C=>m(C.target.value),placeholder:"Enter tags separated by commas...",className:"w-full px-3 py-2.5 border border-[var(--color-border)] rounded-md bg-[var(--color-bg)] text-[var(--color-text)] focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent","data-testid":"create-team-tags-input"})]}),p.isError&&r.jsx("div",{className:"mb-4 p-3 bg-red-50 dark:bg-red-900/20 border border-red-200 dark:border-red-800 rounded-md text-sm text-red-600 dark:text-red-400","data-testid":"create-team-error",children:p.error.message}),r.jsxs("div",{className:`flex gap-3 pt-2 ${S?"flex-col-reverse":"justify-end"}`,children:[r.jsx("button",{type:"button",onClick:t,className:`px-4 py-2.5 text-sm font-medium text-[var(--color-text-secondary)] hover:bg-[var(--color-surface-hover)] rounded-md transition-colors ${S?"w-full":""}`,"data-testid":"create-team-cancel",children:"Cancel"}),r.jsx("button",{type:"submit",disabled:!n.trim()||l.length===0||p.isPending,className:`inline-flex items-center justify-center gap-2 px-4 py-2.5 text-sm font-medium text-white bg-blue-600 hover:bg-blue-700 rounded-md transition-colors disabled:opacity-50 disabled:cursor-not-allowed ${S?"w-full":""}`,"data-testid":"create-team-submit",title:l.length===0?"Select at least one member to create a team":void 0,children:p.isPending?r.jsxs(r.Fragment,{children:[r.jsx(je,{className:"w-4 h-4 animate-spin"}),"Creating..."]}):r.jsxs(r.Fragment,{children:[r.jsx(Fe,{className:"w-4 h-4"}),"Create Team"]})})]})]})]})})]}):null}function TK(){return be({queryKey:["libraries"],queryFn:async()=>{const e=await fetch("/api/libraries");if(!e.ok)throw new Error("Failed to fetch libraries");return e.json()}})}function EK(){const e=$e();return Re({mutationFn:async t=>{const a=await fetch("/api/documents",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!a.ok){const n=await a.json();throw new Error(n.error?.message||"Failed to create document")}return a.json()},onSuccess:()=>{e.invalidateQueries({queryKey:["documents"]}),e.invalidateQueries({queryKey:["libraries"]}),e.invalidateQueries({queryKey:["stats"]})}})}const OK=[{value:"text",label:"Plain Text"},{value:"markdown",label:"Markdown"},{value:"json",label:"JSON"}];function y0({isOpen:e,onClose:t,onSuccess:a,defaultLibraryId:n,isMobile:o=!1}){const[l,d]=y.useState(""),[u,m]=y.useState("markdown"),[h,x]=y.useState(""),[g,p]=y.useState([]),[j,k]=y.useState(n||""),N=y.useRef(null),v=EK(),{data:T}=TK(),{currentUser:E}=Ea();y.useEffect(()=>{e&&N.current&&N.current.focus()},[e]),y.useEffect(()=>{e||(d(""),m("markdown"),x(""),p([]),k(n||""),v.reset())},[e,n]),y.useEffect(()=>{n&&k(n)},[n]);const O=async C=>{if(C.preventDefault(),!l.trim()||!E)return;const A={title:l.trim(),contentType:u,content:h,createdBy:E.id};g.length>0&&(A.tags=g),j&&(A.libraryId=j);try{const $=await v.mutateAsync(A);a?.($),t()}catch{}},S=C=>{C.key==="Escape"&&t()};return e?r.jsxs("div",{className:`fixed inset-0 z-50 flex ${o?"items-end":"items-start justify-center overflow-y-auto py-8"}`,"data-testid":"create-document-modal",onKeyDown:S,children:[r.jsx("div",{className:"fixed inset-0 bg-black/50 backdrop-blur-sm",onClick:t,"data-testid":"create-document-modal-backdrop"}),r.jsx("div",{className:`relative w-full ${o?"h-full":"max-w-lg mx-4"}`,children:r.jsxs("div",{className:`bg-white dark:bg-[var(--color-bg)] ${o?"h-full flex flex-col rounded-t-xl":"rounded-xl"} shadow-2xl border border-gray-200 dark:border-[var(--color-border)] overflow-hidden`,children:[r.jsxs("div",{className:`flex items-center justify-between ${o?"px-4 py-4":"px-4 py-3"} border-b border-gray-200 dark:border-[var(--color-border)]`,children:[r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsx(Je,{className:"w-5 h-5 text-blue-500"}),r.jsx("h2",{className:"text-lg font-semibold text-gray-900 dark:text-[var(--color-text)]",children:"Create Document"})]}),r.jsx("button",{onClick:t,className:`${o?"p-2 touch-target":"p-1"} text-gray-400 hover:text-gray-600 dark:hover:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-800 rounded`,"aria-label":"Close","data-testid":"create-document-modal-close",children:r.jsx(Ee,{className:"w-5 h-5"})})]}),r.jsxs("form",{onSubmit:O,className:`${o?"flex-1 overflow-y-auto":""} p-4`,children:[r.jsxs("div",{className:"mb-4",children:[r.jsxs("label",{htmlFor:"document-title",className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:["Title ",r.jsx("span",{className:"text-red-500",children:"*"})]}),r.jsx("input",{ref:N,id:"document-title",type:"text",value:l,onChange:C=>d(C.target.value),placeholder:"Enter document title...",className:`w-full px-3 ${o?"py-3":"py-2"} border border-gray-300 dark:border-gray-600 dark:bg-gray-800 dark:text-white rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent`,"data-testid":"create-document-title-input",required:!0})]}),r.jsxs("div",{className:"mb-4",children:[r.jsx("label",{htmlFor:"document-content-type",className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:"Content Type"}),r.jsx("select",{id:"document-content-type",value:u,onChange:C=>m(C.target.value),className:`w-full px-3 ${o?"py-3":"py-2"} border border-gray-300 dark:border-gray-600 dark:bg-gray-800 dark:text-white rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent`,"data-testid":"create-document-content-type-select",children:OK.map(C=>r.jsx("option",{value:C.value,children:C.label},C.value))})]}),r.jsxs("div",{className:"mb-4",children:[r.jsx("label",{htmlFor:"document-library",className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:"Library (optional)"}),r.jsxs("select",{id:"document-library",value:j,onChange:C=>k(C.target.value),className:`w-full px-3 ${o?"py-3":"py-2"} border border-gray-300 dark:border-gray-600 dark:bg-gray-800 dark:text-white rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent`,"data-testid":"create-document-library-select",children:[r.jsx("option",{value:"",children:"No library"}),T?.map(C=>r.jsx("option",{value:C.id,children:C.name},C.id))]})]}),r.jsxs("div",{className:"mb-4",children:[r.jsx("label",{htmlFor:"document-content",className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:"Initial Content"}),r.jsx("textarea",{id:"document-content",value:h,onChange:C=>x(C.target.value),placeholder:u==="json"?`{
203
+ "key": "value"
204
+ }`:u==="markdown"?`# Heading
205
+
206
+ Start writing...`:"Start writing...",className:`w-full px-3 py-2 border border-gray-300 dark:border-gray-600 dark:bg-gray-800 dark:text-white rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent font-mono text-sm ${o?"min-h-[150px]":""}`,"data-testid":"create-document-content-textarea",rows:o?8:6})]}),r.jsxs("div",{className:`${o?"mb-4":"mb-6"}`,children:[r.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:"Tags"}),r.jsx(dc,{tags:g,onChange:p,placeholder:"Type and press comma to add tags","data-testid":"create-document-tags-input"})]}),v.isError&&r.jsx("div",{className:"mb-4 p-3 bg-red-50 dark:bg-red-900/30 border border-red-200 dark:border-red-800 rounded-md text-sm text-red-700 dark:text-red-300","data-testid":"create-document-error",children:v.error?.message||"Failed to create document"}),r.jsx("div",{className:`${o?"sticky bottom-0 pt-4 pb-safe bg-white dark:bg-[var(--color-bg)] border-t border-gray-200 dark:border-[var(--color-border)] -mx-4 px-4":""} flex items-center ${o?"flex-col gap-3":"justify-end gap-3"}`,children:o?r.jsxs(r.Fragment,{children:[r.jsx("button",{type:"submit",disabled:v.isPending||!l.trim()||!E,className:"w-full inline-flex items-center justify-center gap-2 px-4 py-3 text-sm font-medium text-white bg-blue-600 hover:bg-blue-700 rounded-md transition-colors disabled:opacity-50 disabled:cursor-not-allowed touch-target","data-testid":"create-document-submit-button",children:v.isPending?r.jsxs(r.Fragment,{children:[r.jsx(je,{className:"w-4 h-4 animate-spin"}),"Creating..."]}):r.jsxs(r.Fragment,{children:[r.jsx(Fe,{className:"w-4 h-4"}),"Create Document"]})}),r.jsx("button",{type:"button",onClick:t,className:"w-full px-4 py-3 text-sm font-medium text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-800 rounded-md transition-colors touch-target","data-testid":"create-document-cancel-button",children:"Cancel"})]}):r.jsxs(r.Fragment,{children:[r.jsx("button",{type:"button",onClick:t,className:"px-4 py-2 text-sm font-medium text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-800 rounded-md transition-colors","data-testid":"create-document-cancel-button",children:"Cancel"}),r.jsx("button",{type:"submit",disabled:v.isPending||!l.trim()||!E,className:"inline-flex items-center gap-2 px-4 py-2 text-sm font-medium text-white bg-blue-600 hover:bg-blue-700 rounded-md transition-colors disabled:opacity-50 disabled:cursor-not-allowed","data-testid":"create-document-submit-button",children:v.isPending?r.jsxs(r.Fragment,{children:[r.jsx(je,{className:"w-4 h-4 animate-spin"}),"Creating..."]}):r.jsxs(r.Fragment,{children:[r.jsx(Fe,{className:"w-4 h-4"}),"Create Document"]})})]})})]})]})})]}):null}const K5=y.createContext(null);function AK({children:e}){const t=rr(),[a,n]=y.useState(!1),[o,l]=y.useState(!1),[d,u]=y.useState(!1),[m,h]=y.useState(!1),[x,g]=y.useState(!1),[p,j]=y.useState(!1),[k,N]=y.useState(!1),[v,T]=y.useState(0);y.useEffect(()=>{const F=()=>{T(B=>B+1)};return window.addEventListener(Im,F),()=>{window.removeEventListener(Im,F)}},[]);const E=a||o||d||m||x||p||k,O=y.useCallback(()=>{n(!0)},[]),S=y.useCallback(()=>{l(!0)},[]),C=y.useCallback(()=>{u(!0)},[]),A=y.useCallback(()=>{h(!0)},[]),$=y.useCallback(()=>{g(!0)},[]),P=y.useCallback(()=>{j(!0)},[]),M=y.useCallback(()=>{N(!0)},[]),q=y.useCallback(F=>{br.success("Task created successfully",{description:"Your new task has been created.",action:{label:"View Task",onClick:()=>t({to:"/tasks",search:{selected:F.id,page:1,limit:25}})}})},[t]),_=y.useCallback(F=>{br.success("Workflow created successfully",{description:`"${F.title}" has been created.`,action:{label:"View Workflow",onClick:()=>t({to:"/workflows",search:{selected:F.id}})}})},[t]),z=y.useCallback(F=>{br.success("Entity created successfully",{description:`"${F.name}" has been created.`,action:{label:"View Entity",onClick:()=>t({to:"/entities",search:{selected:F.id,name:void 0,page:1,limit:25}})}})},[t]),U=y.useCallback(F=>{br.success("Team created successfully",{description:`"${F.name}" has been created.`,action:{label:"View Team",onClick:()=>t({to:"/teams",search:{selected:F.id,page:1,limit:25}})}})},[t]),K=y.useCallback(F=>{br.success("Document created successfully",{description:"Your new document has been created.",action:{label:"View Document",onClick:()=>t({to:"/documents",search:{selected:F.id,library:void 0}})}})},[t]),R=y.useCallback(F=>{br.success("Plan created successfully",{description:`"${F.title}" has been created.`,action:{label:"View Plan",onClick:()=>t({to:"/plans",search:{selected:F.id,status:void 0}})}})},[t]);y.useEffect(()=>{const F=()=>{E||n(!0)},B=()=>{E||l(!0)},H=()=>{E||u(!0)},G=()=>{E||h(!0)},W=()=>{E||g(!0)},te=()=>{E||j(!0)},le=()=>{E||N(!0)},ge=or("action.createTask"),se=or("action.createBacklogTask"),ye=or("action.createWorkflow"),Ne=or("action.createEntity"),we=or("action.createTeam"),me=or("action.createDocument"),J=or("action.createPlan"),re=[];return ge&&(yr.register(ge,F,"Create Task"),re.push(ge)),se&&(yr.register(se,B,"Create Backlog Task"),re.push(se)),ye&&(yr.register(ye,H,"Create Workflow"),re.push(ye)),Ne&&(yr.register(Ne,G,"Create Entity"),re.push(Ne)),we&&(yr.register(we,W,"Create Team"),re.push(we)),me&&(yr.register(me,te,"Create Document"),re.push(me)),J&&(yr.register(J,le,"Create Plan"),re.push(J)),()=>{re.forEach(Y=>{yr.unregister(Y)})}},[E,v]),y.useEffect(()=>{E?yr.setEnabled(!1):yr.setEnabled(!0)},[E]);const L={openCreateTaskModal:O,openCreateBacklogTaskModal:S,openCreateWorkflowModal:C,openCreateEntityModal:A,openCreateTeamModal:$,openCreateDocumentModal:P,openCreatePlanModal:M,isCreateTaskModalOpen:a,isCreateBacklogTaskModalOpen:o,isCreateWorkflowModalOpen:d,isCreateEntityModalOpen:m,isCreateTeamModalOpen:x,isCreateDocumentModalOpen:p,isCreatePlanModalOpen:k};return r.jsxs(K5.Provider,{value:L,children:[e,r.jsx(aS,{isOpen:a,onClose:()=>n(!1),onSuccess:q}),r.jsx(aS,{isOpen:o,onClose:()=>l(!1),onSuccess:q,defaultToBacklog:!0}),r.jsx(q5,{isOpen:d,onClose:()=>u(!1),onSuccess:_}),r.jsx(F5,{isOpen:m,onClose:()=>h(!1),onSuccess:z}),r.jsx(U5,{isOpen:x,onClose:()=>g(!1),onSuccess:U}),r.jsx(y0,{isOpen:p,onClose:()=>j(!1),onSuccess:K}),r.jsx(Z9,{isOpen:k,onClose:()=>N(!1),onSuccess:R})]})}function vy(){const e=y.useContext(K5);if(!e)throw new Error("useGlobalQuickActions must be used within a GlobalQuickActionsProvider");return e}function Nf(e,t){const[a,n]=y.useState(e);return y.useEffect(()=>{const o=setTimeout(()=>{n(e)},t);return()=>{clearTimeout(o)}},[e,t]),a}const H5={today:"Today",yesterday:"Yesterday","this-week":"This Week",earlier:"Earlier"};function $K(e){const t=typeof e=="string"?new Date(e):e,a=new Date,n=new Date(a.getFullYear(),a.getMonth(),a.getDate()),o=new Date(n);o.setDate(o.getDate()-1);const l=new Date(n);return l.setDate(l.getDate()-6),t>=n?"today":t>=o?"yesterday":t>=l?"this-week":"earlier"}function V5(e,t){const a=[];let n=null;for(const o of e){const l=t(o),d=$K(l),u=d!==n;a.push({item:o,period:d,isFirstInGroup:u}),n=d}return a}function DK(e){const t=typeof e=="string"?new Date(e):e,n=new Date().getTime()-t.getTime(),o=Math.floor(n/6e4),l=Math.floor(n/36e5),d=Math.floor(n/864e5);return o<1?"just now":o<60?`${o}m ago`:l<24?`${l}h ago`:d===1?"Yesterday":d<7?`${d}d ago`:t.toLocaleDateString("en-US",{month:"short",day:"numeric"})}function Ys(e){const t=typeof e=="string"?new Date(e):e,n=new Date().getTime()-t.getTime(),o=Math.floor(n/6e4),l=Math.floor(n/36e5),d=Math.floor(n/864e5);return o<1?"now":o<60?`${o}m`:l<24?`${l}h`:d<7?`${d}d`:t.toLocaleDateString("en-US",{month:"short",day:"numeric"})}function _K(e){const t=typeof e=="string"?new Date(e):e;return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")}`}function MK(e){const t=typeof e=="string"?new Date(e):e,a=new Date,n=new Date(a.getFullYear(),a.getMonth(),a.getDate()),o=new Date(n);o.setDate(o.getDate()-1);const l=new Date(t.getFullYear(),t.getMonth(),t.getDate());return l.getTime()===n.getTime()?"Today":l.getTime()===o.getTime()?"Yesterday":t.toLocaleDateString("en-US",{weekday:"long",month:"long",day:"numeric"})}function LK(e,t){const a=[];let n=null;for(const o of e){const l=t(o),d=_K(l),u=d!==n,m=u?MK(l):"";a.push({item:o,dateKey:d,formattedDate:m,isFirstInDay:u}),n=d}return a}function Sf(){const[e,t]=y.useState(()=>typeof window>"u"?!1:"ontouchstart"in window||navigator.maxTouchPoints>0);return y.useEffect(()=>{t("ontouchstart"in window||navigator.maxTouchPoints>0)},[]),e}function lS(e){const{data:t,targetId:a,pageSize:n,getId:o}=e,l=t.findIndex(m=>o(m)===a);if(l===-1)return{found:!1,index:-1,page:1,indexOnPage:-1};const d=Math.floor(l/n)+1,u=l%n;return{found:!0,index:l,page:d,indexOnPage:u}}const jy=2e3,cS="deep-link-highlight";function PK(e,t=jy){e.classList.add(cS),e.scrollIntoView({behavior:"smooth",block:"center"}),setTimeout(()=>{e.classList.remove(cS)},t)}function RK(e,t=jy){const a=document.querySelector(`[data-testid="${e}"]`);return a?(PK(a,t),!0):!1}function cd(e){const{data:t,selectedId:a,currentPage:n,pageSize:o,getId:l,routePath:d,rowTestIdPrefix:u,autoNavigate:m=!0,highlightDelay:h=100}=e,x=rr(),[g,p]=y.useState(!1),[j,k]=y.useState(!1),N=y.useRef(null),v=t&&a?lS({data:t,targetId:a,pageSize:o,getId:l}):{found:!1,page:1};y.useEffect(()=>{if(!t||!a){k(!1);return}if(k(!1),!v.found){k(!0);return}m&&v.page!==n?(p(!0),x({to:d,search:E=>({...E,page:v.page,selected:a})})):p(!1)},[t,a,v.found,v.page,n,m,x,d]),y.useEffect(()=>{if(!a||!v.found||g||N.current===a||v.page!==n)return;const E=setTimeout(()=>{const O=`${u}${a}`;RK(O,jy)&&(N.current=a)},h);return()=>clearTimeout(E)},[a,v.found,v.page,n,g,u,h]),y.useEffect(()=>{a||(N.current=null)},[a]);const T=y.useCallback(E=>{if(!t)return;const O=lS({data:t,targetId:E,pageSize:o,getId:l});O.found?(p(!0),x({to:d,search:S=>({...S,page:O.page,selected:E})})):k(!0)},[t,o,l,x,d]);return{found:v.found,isNavigating:g,notFound:j,targetPage:v.page,navigateToElement:T}}function Cf(){const e=rr();return{onNavigate:(n,o)=>{e(n?{to:"/entities",search:{selected:n.id,name:void 0,page:1,limit:25}}:{to:"/entities",search:{selected:void 0,name:o,page:1,limit:25}})},renderProfileLink:n=>r.jsxs(ha,{to:"/entities",search:{selected:n.id,name:void 0,page:1,limit:25},className:"flex items-center gap-1 text-xs text-blue-600 dark:text-blue-400 hover:underline","data-testid":`entity-preview-link-${n.id}`,children:["View full profile",r.jsx(Xc,{className:"w-3 h-3"})]})}}function IK(e,t){const[a,n]=y.useState(e);return y.useEffect(()=>{const o=setTimeout(()=>{n(e)},t);return()=>{clearTimeout(o)}},[e,t]),a}function BK(e){const t=IK(e,300);return be({queryKey:["messages","search","global",t],queryFn:async()=>{if(!t.trim())return{results:[],query:""};const a=new URLSearchParams({q:t,limit:"10"}),n=await fetch(`/api/messages/search?${a}`);if(!n.ok)throw new Error("Failed to search messages");return n.json()},enabled:t.trim().length>0,staleTime:3e4})}function zK(){const[e,t]=y.useState(!1),[a,n]=y.useState("commands"),[o,l]=y.useState(""),[d,u]=y.useState(""),m=rr(),h=y.useRef(null),x=Et(),{data:g,isLoading:p}=BK(a==="messages"?o:""),j=g?.results||[];y.useEffect(()=>{e||(n("commands"),l(""),u(""))},[e]);const k=y.useCallback(S=>{t(!1),m({to:"/messages",search:{channel:S.channelId,message:S.id}}),setTimeout(()=>{const C=document.querySelector(`[data-testid="message-${S.id}"]`);C&&(C.scrollIntoView({behavior:"smooth",block:"center"}),C.classList.add("bg-yellow-100","ring-2","ring-yellow-300"),setTimeout(()=>{C.classList.remove("bg-yellow-100","ring-2","ring-yellow-300")},2e3))},500)},[m]),v=[{id:"nav-dashboard",label:"Go to Dashboard",icon:oo,action:()=>m({to:"/dashboard"}),shortcut:"G H",group:"Dashboard",keywords:["overview","home"]},{id:"nav-timeline",label:"Go to Timeline",icon:vn,action:()=>m({to:"/dashboard/timeline",search:{page:1,limit:100,actor:void 0,startTime:void 0,endTime:void 0}}),shortcut:"G L",group:"Dashboard",keywords:["events","history","activity"]},{id:"nav-tasks",label:"Go to Tasks",icon:Ta,action:()=>m({to:"/tasks",search:{page:1,limit:25}}),shortcut:"G T",group:"Work",keywords:["todo","items","list"]},{id:"nav-plans",label:"Go to Plans",icon:td,action:()=>m({to:"/plans"}),shortcut:"G P",group:"Work",keywords:["epic","project","collection"]},{id:"nav-workflows",label:"Go to Workflows",icon:bn,action:()=>m({to:"/workflows"}),shortcut:"G W",group:"Work",keywords:["automation","create","playbook"]},{id:"nav-dependencies",label:"Go to Dependencies",icon:Vm,action:()=>m({to:"/dependencies"}),shortcut:"G G",group:"Work",keywords:["graph","blocks","relationships"]},{id:"nav-inbox",label:"Go to Inbox",icon:kr,action:()=>m({to:"/inbox",search:{message:void 0}}),shortcut:"G I",group:"Collaborate",keywords:["notifications","unread","mentions","direct messages"]},{id:"nav-messages",label:"Go to Messages",icon:vt,action:()=>m({to:"/messages",search:{channel:void 0,message:void 0}}),shortcut:"G M",group:"Collaborate",keywords:["chat","channels","communication"]},{id:"search-messages",label:"Search Messages",icon:Ve,action:()=>{n("messages"),l(""),setTimeout(()=>h.current?.focus(),0)},group:"Collaborate",keywords:["find","message","content","search"]},{id:"nav-documents",label:"Go to Documents",icon:Je,action:()=>m({to:"/documents",search:{selected:void 0,library:void 0}}),shortcut:"G D",group:"Collaborate",keywords:["files","notes","library"]},{id:"nav-entities",label:"Go to Entities",icon:Bt,action:()=>m({to:"/entities",search:{selected:void 0,name:void 0,page:1,limit:25}}),shortcut:"G E",group:"Organize",keywords:["people","agents","humans"]},{id:"nav-teams",label:"Go to Teams",icon:Zc,action:()=>m({to:"/teams",search:{selected:void 0,page:1,limit:25}}),shortcut:"G R",group:"Organize",keywords:["groups","members"]},{id:"nav-settings",label:"Go to Settings",icon:Jn,action:()=>m({to:"/settings"}),group:"Settings",keywords:["preferences","config"]}].reduce((S,C)=>(S[C.group]||(S[C.group]=[]),S[C.group].push(C),S),{}),T=["Dashboard","Work","Collaborate","Organize","Settings"];y.useEffect(()=>{const S=C=>{(C.metaKey||C.ctrlKey)&&C.key==="k"&&(C.preventDefault(),t(A=>!A))};return document.addEventListener("keydown",S),()=>document.removeEventListener("keydown",S)},[]),y.useEffect(()=>{const S=()=>{t(!0)};return window.addEventListener("open-command-palette",S),()=>window.removeEventListener("open-command-palette",S)},[]);const E=y.useCallback(S=>{if(S.id==="search-messages"){S.action();return}t(!1),S.action()},[]),O=S=>{const C=new Date(S),A=new Date;return C.toDateString()===A.toDateString()?C.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}):C.toLocaleDateString([],{month:"short",day:"numeric"})};return e?x?r.jsx("div",{className:"fixed inset-0 z-50 bg-[var(--color-bg)]","data-testid":"command-palette",role:"dialog","aria-modal":"true","aria-label":"Command palette",children:a==="messages"?r.jsxs("div",{className:"flex flex-col h-full",children:[r.jsxs("div",{className:"flex items-center gap-3 px-4 py-3 border-b border-[var(--color-border)] bg-[var(--color-surface)]",children:[r.jsx("button",{onClick:()=>n("commands"),className:"p-2 -ml-2 rounded-lg text-[var(--color-text-secondary)] hover:text-[var(--color-text)] hover:bg-[var(--color-surface-hover)] transition-colors touch-target","data-testid":"message-search-back","aria-label":"Back to commands",children:r.jsx(Pr,{className:"w-5 h-5"})}),r.jsx("div",{className:"flex items-center gap-2 text-[var(--color-text-tertiary)]",children:r.jsx(vt,{className:"w-4 h-4"})}),r.jsx("input",{ref:h,type:"text",value:o,onChange:S=>l(S.target.value),placeholder:"Search messages...",className:"flex-1 py-2 text-base bg-transparent outline-none placeholder:text-[var(--color-text-muted)] text-[var(--color-text)]","data-testid":"command-palette-message-search-input",autoFocus:!0,onKeyDown:S=>{S.key==="Escape"&&(o?l(""):n("commands"))}}),r.jsx("button",{onClick:()=>t(!1),className:"p-2 -mr-2 rounded-lg text-[var(--color-text-secondary)] hover:text-[var(--color-text)] hover:bg-[var(--color-surface-hover)] transition-colors touch-target","aria-label":"Close",children:r.jsx(Ee,{className:"w-5 h-5"})})]}),r.jsx("div",{className:"flex-1 overflow-y-auto p-2","data-testid":"command-palette-message-results",children:p?r.jsxs("div",{className:"flex items-center justify-center py-10",children:[r.jsx(je,{className:"w-6 h-6 animate-spin text-[var(--color-text-muted)]"}),r.jsx("span",{className:"ml-2 text-[var(--color-text-muted)]",children:"Searching..."})]}):o.trim()?j.length===0?r.jsxs("div",{className:"py-10 text-center",children:[r.jsx(Ve,{className:"w-8 h-8 mx-auto mb-2 text-[var(--color-text-tertiary)]"}),r.jsx("div",{className:"text-[var(--color-text-tertiary)] text-sm",children:"No messages found"}),r.jsx("div",{className:"text-[var(--color-text-muted)] text-xs mt-1",children:"Try a different search term"})]}):r.jsx("div",{className:"space-y-1",children:j.map(S=>r.jsxs("button",{onClick:()=>k(S),className:"w-full flex items-start gap-3 px-3 py-3 rounded-lg text-left transition-colors hover:bg-[var(--color-surface-selected)] active:bg-[var(--color-surface-selected)] min-h-[56px] touch-target","data-testid":`command-palette-message-${S.id}`,children:[r.jsx("div",{className:"w-10 h-10 rounded-full bg-blue-100 flex items-center justify-center flex-shrink-0",children:r.jsx("span",{className:"text-blue-600 font-medium text-sm",children:S.sender.slice(-2).toUpperCase()})}),r.jsxs("div",{className:"flex-1 min-w-0",children:[r.jsxs("div",{className:"flex items-baseline gap-2",children:[r.jsx("span",{className:"font-medium text-[var(--color-text)]",children:S.sender}),r.jsx("span",{className:"text-xs text-[var(--color-text-muted)]",children:O(S.createdAt)})]}),r.jsx("p",{className:"text-sm text-[var(--color-text-secondary)] line-clamp-2 mt-0.5",children:S.snippet})]})]},S.id))}):r.jsxs("div",{className:"py-10 text-center",children:[r.jsx(vt,{className:"w-8 h-8 mx-auto mb-2 text-[var(--color-text-tertiary)]"}),r.jsx("div",{className:"text-[var(--color-text-tertiary)] text-sm",children:"Type to search messages"}),r.jsx("div",{className:"text-[var(--color-text-muted)] text-xs mt-1",children:"Search across all channels"})]})})]}):r.jsxs(da,{className:"flex flex-col h-full",onKeyDown:S=>{S.key==="Escape"&&t(!1)},children:[r.jsxs("div",{className:"flex items-center gap-3 px-4 py-3 border-b border-[var(--color-border)] bg-[var(--color-surface)]",children:[r.jsx("button",{onClick:()=>t(!1),className:"p-2 -ml-2 rounded-lg text-[var(--color-text-secondary)] hover:text-[var(--color-text)] hover:bg-[var(--color-surface-hover)] transition-colors touch-target","data-testid":"command-palette-close-mobile","aria-label":"Close",children:r.jsx(Pr,{className:"w-5 h-5"})}),r.jsx("div",{className:"flex items-center gap-2 text-[var(--color-text-tertiary)]",children:r.jsx(Ve,{className:"w-5 h-5"})}),r.jsx(da.Input,{value:d,onValueChange:u,placeholder:"Search commands...",className:"flex-1 py-2 text-base bg-transparent outline-none placeholder:text-[var(--color-text-muted)] text-[var(--color-text)]","data-testid":"command-palette-input",autoFocus:!0})]}),r.jsxs(da.List,{className:"flex-1 overflow-y-auto p-2","data-testid":"command-palette-list-mobile",children:[r.jsxs(da.Empty,{className:"py-10 text-center",children:[r.jsx("div",{className:"text-[var(--color-text-tertiary)] text-sm",children:"No results found."}),r.jsx("div",{className:"text-[var(--color-text-muted)] text-xs mt-1",children:"Try a different search term"})]}),T.map(S=>{const C=v[S];return C?r.jsx(da.Group,{heading:S,className:"mb-2 [&_[cmdk-group-heading]]:px-3 [&_[cmdk-group-heading]]:py-2 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-semibold [&_[cmdk-group-heading]]:text-[var(--color-text-tertiary)] [&_[cmdk-group-heading]]:uppercase [&_[cmdk-group-heading]]:tracking-wider",children:C.map(A=>{const $=A.icon;return r.jsxs(da.Item,{value:`${A.label} ${A.keywords?.join(" ")||""}`,onSelect:()=>E(A),className:"flex items-center gap-3 px-3 py-3 rounded-lg cursor-pointer text-[var(--color-text-secondary)] transition-colors duration-100 aria-selected:bg-[var(--color-surface-selected)] aria-selected:text-[var(--color-text)] group min-h-[52px] touch-target","data-testid":`command-item-${A.id}`,children:[r.jsx("div",{className:"flex items-center justify-center w-10 h-10 rounded-lg bg-[var(--color-surface-hover)] group-aria-selected:bg-[var(--color-primary-muted)] transition-colors",children:r.jsx($,{className:"w-5 h-5 text-[var(--color-text-tertiary)] group-aria-selected:text-[var(--color-primary-text)]"})}),r.jsx("span",{className:"flex-1 font-medium text-base",children:A.label})]},A.id)})},S):null})]})]})}):r.jsxs("div",{className:"fixed inset-0 z-50","data-testid":"command-palette",role:"dialog","aria-modal":"true","aria-label":"Command palette",children:[r.jsx("div",{className:"absolute inset-0 bg-[var(--color-bg-overlay)] backdrop-blur-sm",onClick:()=>t(!1),"data-testid":"command-palette-backdrop","aria-hidden":"true"}),r.jsx("div",{className:"absolute left-1/2 top-[20%] -translate-x-1/2 w-full max-w-xl px-4",children:a==="messages"?r.jsxs("div",{className:"bg-[var(--color-surface)] rounded-xl shadow-2xl border border-[var(--color-border)] overflow-hidden",children:[r.jsxs("div",{className:"flex items-center gap-3 px-4 py-3 border-b border-[var(--color-border)]",children:[r.jsx("button",{onClick:()=>n("commands"),className:"p-1 text-[var(--color-text-tertiary)] hover:text-[var(--color-text)] rounded transition-colors","data-testid":"message-search-back",children:r.jsx("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:r.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 19l-7-7 7-7"})})}),r.jsxs("div",{className:"flex items-center gap-2 text-[var(--color-text-tertiary)]",children:[r.jsx(vt,{className:"w-4 h-4"}),r.jsx(Ve,{className:"w-5 h-5"})]}),r.jsx("input",{ref:h,type:"text",value:o,onChange:S=>l(S.target.value),placeholder:"Search all messages...",className:"w-full py-1 text-lg bg-transparent outline-none placeholder:text-[var(--color-text-muted)] text-[var(--color-text)]","data-testid":"command-palette-message-search-input",autoFocus:!0,onKeyDown:S=>{S.key==="Escape"&&(o?l(""):n("commands"))}}),r.jsx("kbd",{className:"hidden sm:flex items-center gap-1 px-2 py-1 text-xs font-medium text-[var(--color-text-muted)] bg-[var(--color-surface-hover)] rounded-md border border-[var(--color-border-secondary)]",children:"esc"})]}),r.jsx("div",{className:"max-h-[400px] overflow-y-auto p-2","data-testid":"command-palette-message-results",children:p?r.jsxs("div",{className:"flex items-center justify-center py-10",children:[r.jsx(je,{className:"w-6 h-6 animate-spin text-[var(--color-text-muted)]"}),r.jsx("span",{className:"ml-2 text-[var(--color-text-muted)]",children:"Searching..."})]}):o.trim()?j.length===0?r.jsxs("div",{className:"py-10 text-center",children:[r.jsx(Ve,{className:"w-8 h-8 mx-auto mb-2 text-[var(--color-text-tertiary)]"}),r.jsx("div",{className:"text-[var(--color-text-tertiary)] text-sm",children:"No messages found"}),r.jsx("div",{className:"text-[var(--color-text-muted)] text-xs mt-1",children:"Try a different search term"})]}):r.jsx("div",{className:"space-y-1",children:j.map(S=>r.jsxs("button",{onClick:()=>k(S),className:"w-full flex items-start gap-3 px-3 py-2.5 rounded-lg text-left transition-colors hover:bg-[var(--color-surface-selected)]","data-testid":`command-palette-message-${S.id}`,children:[r.jsx("div",{className:"w-8 h-8 rounded-full bg-blue-100 flex items-center justify-center flex-shrink-0",children:r.jsx("span",{className:"text-blue-600 font-medium text-xs",children:S.sender.slice(-2).toUpperCase()})}),r.jsxs("div",{className:"flex-1 min-w-0",children:[r.jsxs("div",{className:"flex items-baseline gap-2",children:[r.jsx("span",{className:"font-medium text-[var(--color-text)]",children:S.sender}),r.jsx("span",{className:"text-xs text-[var(--color-text-muted)]",children:O(S.createdAt)})]}),r.jsx("p",{className:"text-sm text-[var(--color-text-secondary)] truncate mt-0.5",children:S.snippet})]})]},S.id))}):r.jsxs("div",{className:"py-10 text-center",children:[r.jsx(vt,{className:"w-8 h-8 mx-auto mb-2 text-[var(--color-text-tertiary)]"}),r.jsx("div",{className:"text-[var(--color-text-tertiary)] text-sm",children:"Type to search messages"}),r.jsx("div",{className:"text-[var(--color-text-muted)] text-xs mt-1",children:"Search across all channels"})]})}),r.jsx("div",{className:"px-4 py-2 border-t border-[var(--color-border)] text-xs text-[var(--color-text-muted)]",children:r.jsxs("span",{className:"flex items-center gap-1",children:[r.jsx("kbd",{className:"px-1.5 py-0.5 bg-[var(--color-surface-hover)] rounded text-[10px] font-mono",children:"↵"}),"to select",r.jsx("span",{className:"mx-2",children:"·"}),r.jsx("kbd",{className:"px-1.5 py-0.5 bg-[var(--color-surface-hover)] rounded text-[10px] font-mono",children:"esc"}),"to go back"]})})]}):r.jsxs(da,{className:"bg-[var(--color-surface)] rounded-xl shadow-2xl border border-[var(--color-border)] overflow-hidden",onKeyDown:S=>{S.key==="Escape"&&t(!1)},children:[r.jsxs("div",{className:"flex items-center gap-3 px-4 py-3 border-b border-[var(--color-border)]",children:[r.jsxs("div",{className:"flex items-center gap-2 text-[var(--color-text-tertiary)]",children:[r.jsx(wO,{className:"w-4 h-4"}),r.jsx(Ve,{className:"w-5 h-5"})]}),r.jsx(da.Input,{placeholder:"Search commands...",className:"w-full py-1 text-lg bg-transparent outline-none placeholder:text-[var(--color-text-muted)] text-[var(--color-text)]","data-testid":"command-palette-input",autoFocus:!0}),r.jsx("kbd",{className:"hidden sm:flex items-center gap-1 px-2 py-1 text-xs font-medium text-[var(--color-text-muted)] bg-[var(--color-surface-hover)] rounded-md border border-[var(--color-border-secondary)]",children:"esc"})]}),r.jsxs(da.List,{className:"max-h-[400px] overflow-y-auto p-2",children:[r.jsxs(da.Empty,{className:"py-10 text-center",children:[r.jsx("div",{className:"text-[var(--color-text-tertiary)] text-sm",children:"No results found."}),r.jsx("div",{className:"text-[var(--color-text-muted)] text-xs mt-1",children:"Try a different search term"})]}),T.map(S=>{const C=v[S];return C?r.jsx(da.Group,{heading:S,className:"mb-2 [&_[cmdk-group-heading]]:px-3 [&_[cmdk-group-heading]]:py-2 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-semibold [&_[cmdk-group-heading]]:text-[var(--color-text-tertiary)] [&_[cmdk-group-heading]]:uppercase [&_[cmdk-group-heading]]:tracking-wider",children:C.map(A=>{const $=A.icon;return r.jsxs(da.Item,{value:`${A.label} ${A.keywords?.join(" ")||""}`,onSelect:()=>E(A),className:"flex items-center gap-3 px-3 py-2.5 rounded-lg cursor-pointer text-[var(--color-text-secondary)] transition-colors duration-100 aria-selected:bg-[var(--color-surface-selected)] aria-selected:text-[var(--color-text)] group","data-testid":`command-item-${A.id}`,children:[r.jsx("div",{className:"flex items-center justify-center w-8 h-8 rounded-md bg-[var(--color-surface-hover)] group-aria-selected:bg-[var(--color-primary-muted)] transition-colors",children:r.jsx($,{className:"w-4 h-4 text-[var(--color-text-tertiary)] group-aria-selected:text-[var(--color-primary-text)]"})}),r.jsx("span",{className:"flex-1 font-medium",children:A.label}),A.shortcut&&r.jsx("div",{className:"flex items-center gap-1",children:A.shortcut.split(" ").map((P,M)=>r.jsx("kbd",{className:"px-1.5 py-0.5 text-[10px] font-mono font-semibold text-[var(--color-text-muted)] bg-[var(--color-surface-hover)] rounded border border-[var(--color-border-secondary)] min-w-[20px] text-center",children:P},M))})]},A.id)})},S):null})]}),r.jsxs("div",{className:"flex items-center justify-between px-4 py-2 border-t border-[var(--color-border)] text-xs text-[var(--color-text-muted)]",children:[r.jsxs("div",{className:"flex items-center gap-4",children:[r.jsxs("span",{className:"flex items-center gap-1",children:[r.jsx("kbd",{className:"px-1 py-0.5 bg-[var(--color-surface-hover)] rounded text-[10px] font-mono",children:"↑"}),r.jsx("kbd",{className:"px-1 py-0.5 bg-[var(--color-surface-hover)] rounded text-[10px] font-mono",children:"↓"}),"to navigate"]}),r.jsxs("span",{className:"flex items-center gap-1",children:[r.jsx("kbd",{className:"px-1.5 py-0.5 bg-[var(--color-surface-hover)] rounded text-[10px] font-mono",children:"↵"}),"to select"]})]}),r.jsxs("span",{className:"flex items-center gap-1",children:[r.jsx("kbd",{className:"px-1.5 py-0.5 bg-[var(--color-surface-hover)] rounded text-[10px] font-mono",children:"⌘K"}),"to toggle"]})]})]})})]}):null}function qK(){return`${window.location.protocol==="https:"?"wss:":"ws:"}//${window.location.host}/ws`}function Tf(e={}){const{channels:t=["*"],onEvent:a,onStateChange:n,autoInvalidate:o=!0}=e,l=$e(),u={url:y.useMemo(()=>qK(),[]),channels:t,onEvent:a,onStateChange:n,autoInvalidate:o,queryClient:l,getQueryKeysForEvent:s5},m=m9(u);return{connectionState:m.connectionState,lastEvent:m.lastEvent}}function FK(){return be({queryKey:["health"],queryFn:async()=>{const e=await fetch("/api/health");if(!e.ok)throw new Error("Failed to fetch health");return e.json()},refetchInterval:3e4})}function UK({wsState:e,health:t}){return e==="connecting"||e==="reconnecting"?r.jsxs("div",{className:"flex items-center gap-2 text-[var(--color-warning-text)]",children:[r.jsx("div",{className:"w-2 h-2 rounded-full bg-[var(--color-warning)] animate-pulse"}),r.jsx("span",{className:"text-sm font-medium",children:e==="connecting"?"Connecting...":"Reconnecting..."})]}):e==="connected"?r.jsxs("div",{className:"flex items-center gap-2 text-[var(--color-success-text)]",children:[r.jsx("div",{className:"w-2 h-2 rounded-full bg-[var(--color-success)]"}),r.jsx("span",{className:"text-sm font-medium",children:"Live"})]}):t.isLoading?r.jsxs("div",{className:"flex items-center gap-2 text-[var(--color-text-tertiary)]",children:[r.jsx("div",{className:"w-2 h-2 rounded-full bg-[var(--color-text-tertiary)] animate-pulse"}),r.jsx("span",{className:"text-sm",children:"Connecting..."})]}):t.isError?r.jsxs("div",{className:"flex items-center gap-2 text-[var(--color-danger-text)]",children:[r.jsx("div",{className:"w-2 h-2 rounded-full bg-[var(--color-danger)]"}),r.jsx("span",{className:"text-sm font-medium",children:"Disconnected"})]}):r.jsxs("div",{className:"flex items-center gap-2 text-[var(--color-warning-text)]",children:[r.jsx("div",{className:"w-2 h-2 rounded-full bg-[var(--color-warning)]"}),r.jsx("span",{className:"text-sm font-medium",children:"Polling"})]})}const b0={"/dashboard":{label:"Dashboard",icon:oo},"/dashboard/overview":{label:"Overview",icon:oo},"/dashboard/timeline":{label:"Timeline",icon:vn},"/tasks":{label:"Tasks",icon:Ta},"/plans":{label:"Plans",icon:Fs},"/workflows":{label:"Workflows",icon:bn},"/dependencies":{label:"Dependencies",icon:Vm},"/inbox":{label:"Inbox",icon:kr},"/messages":{label:"Messages",icon:vt},"/documents":{label:"Documents",icon:Je},"/entities":{label:"Entities",icon:Bt},"/teams":{label:"Teams",icon:Zc},"/settings":{label:"Settings",icon:Jn}};function G5(){const t=_0().location.pathname;return y.useMemo(()=>{const a=[];let n=t;const o=[];for(;n;){const l=b0[n];if(l)o.unshift(n),n=l.parent||"";else{const d=n.split("/").filter(Boolean);if(d.length>1)n="/"+d.slice(0,-1).join("/");else break}}return o.forEach((l,d)=>{const u=b0[l];u&&a.push({label:u.label,path:l,icon:u.icon,isLast:d===o.length-1})}),a},[t])}function KK(){const e=G5();return e.length===0?null:r.jsx("nav",{"aria-label":"Breadcrumb","data-testid":"breadcrumbs",children:r.jsx("ol",{className:"flex items-center gap-1 text-sm",children:e.map((t,a)=>{const n=t.icon;return r.jsxs("li",{className:"flex items-center",children:[a>0&&r.jsx(Lt,{className:"w-4 h-4 mx-1 text-[var(--color-text-muted)]"}),t.isLast?r.jsxs("span",{className:"flex items-center gap-1.5 px-2 py-1 font-semibold text-[var(--color-text)] rounded-md","data-testid":`breadcrumb-${t.label.toLowerCase().replace(/\s/g,"-")}`,children:[n&&r.jsx(n,{className:"w-4 h-4"}),t.label]}):r.jsxs(ha,{to:t.path,className:"flex items-center gap-1.5 px-2 py-1 text-[var(--color-text-secondary)] hover:text-[var(--color-text)] hover:bg-[var(--color-surface-hover)] rounded-md transition-colors duration-150","data-testid":`breadcrumb-${t.label.toLowerCase().replace(/\s/g,"-")}`,children:[n&&r.jsx(n,{className:"w-4 h-4"}),t.label]})]},t.path)})})})}function HK(){const e=G5(),t=e[e.length-1];if(!t)return null;const a=t.icon;return r.jsxs("div",{className:"flex items-center justify-center gap-1.5 text-sm font-semibold text-[var(--color-text)]","data-testid":"breadcrumbs-mobile",children:[a&&r.jsx(a,{className:"w-4 h-4"}),r.jsx("span",{className:"truncate max-w-[150px]",children:t.label})]})}const dS="stoneforge-sidebar-collapsed";function VK(){const e=Et(),t=jC(),[a,n]=y.useState(()=>typeof window>"u"?!1:localStorage.getItem(dS)==="true"),[o,l]=y.useState(!1);return y.useEffect(()=>{localStorage.setItem(dS,String(a))},[a]),y.useEffect(()=>{e||l(!1)},[e]),{isMobile:e,isTablet:t,desktopCollapsed:a,setDesktopCollapsed:n,mobileDrawerOpen:o,setMobileDrawerOpen:l}}function GK(){const{isMobile:e,isTablet:t,desktopCollapsed:a,setDesktopCollapsed:n,mobileDrawerOpen:o,setMobileDrawerOpen:l}=VK(),d=FK(),{connectionState:u}=Tf({channels:["*"]}),m=nO();PU();const h=y.useCallback(()=>{e?l(k=>!k):n(k=>!k)},[e,l,n]);Kc("Cmd+B",h,"Toggle sidebar");const x=y.useCallback(()=>{l(!0)},[l]),g=y.useCallback(()=>{l(!1)},[l]);y.useEffect(()=>{const k=m.subscribe("onResolved",()=>{e&&o&&l(!1)});return()=>k()},[m,e,o,l]);const p=_0();y.useEffect(()=>{const k=p.location.pathname,N=b0[k];document.title=N?`Quarry | ${N.label}`:"Quarry"},[p.location.pathname]);const j=e||t?!0:a;return r.jsx(AK,{children:r.jsxs("div",{className:"flex h-screen bg-[var(--color-bg)]","data-testid":"app-shell",children:[r.jsx(zK,{}),e&&r.jsx(n_,{open:o,onClose:g,"data-testid":"mobile-drawer",children:r.jsx(J1,{collapsed:!1,onToggle:g,isMobileDrawer:!0})}),!e&&r.jsx(J1,{collapsed:j,onToggle:()=>n(!a)}),r.jsxs("div",{className:"flex-1 flex flex-col min-w-0",children:[r.jsxs("header",{className:"flex items-center justify-between h-14 px-4 md:px-6 bg-[var(--color-header-bg)] border-b border-[var(--color-header-border)]","data-testid":"header",children:[e&&r.jsxs("div",{className:"flex items-center gap-3 flex-1",children:[r.jsx("button",{onClick:x,className:"p-2 -ml-2 rounded-md text-[var(--color-text-secondary)] hover:text-[var(--color-text)] hover:bg-[var(--color-surface-hover)] transition-colors duration-150 touch-target","aria-label":"Open navigation menu","aria-expanded":o,"data-testid":"mobile-menu-button",children:r.jsx(kO,{className:"w-5 h-5"})}),r.jsx("div",{className:"flex-1 text-center",children:r.jsx(HK,{})}),r.jsx("button",{onClick:()=>window.dispatchEvent(new CustomEvent("open-command-palette")),className:"p-2 -mr-2 rounded-md text-[var(--color-text-secondary)] hover:text-[var(--color-text)] hover:bg-[var(--color-surface-hover)] transition-colors duration-150 touch-target","aria-label":"Search","data-testid":"mobile-search-button",children:r.jsx(Ve,{className:"w-5 h-5"})})]}),!e&&r.jsx(KK,{}),r.jsxs("div",{className:"flex items-center gap-2 md:gap-4",children:[!e&&r.jsx(P_,{}),r.jsx(t_,{}),!e&&r.jsxs(r.Fragment,{children:[r.jsx("div",{className:"h-5 w-px bg-[var(--color-border)]"}),r.jsx(UK,{wsState:u,health:d})]})]})]}),r.jsx("main",{className:"flex-1 overflow-y-auto p-4 md:p-6 bg-[var(--color-bg)]",children:r.jsx(sO,{})})]})]})})}const uS=[10,25,50,100];function Ef({currentPage:e,totalPages:t,totalItems:a,pageSize:n,onPageChange:o,onPageSizeChange:l,showPageSizeSelector:d=!0}){const u=Et(),m=a===0?0:(e-1)*n+1,h=Math.min(e*n,a),x=()=>{const g=[];if(t<=(u?3:5))for(let j=1;j<=t;j++)g.push(j);else{g.push(1),e>(u?2:3)&&g.push("ellipsis");const j=u?0:1,k=Math.max(2,e-j),N=Math.min(t-1,e+j);for(let v=k;v<=N;v++)g.push(v);e<t-(u?1:2)&&g.push("ellipsis"),t>1&&g.push(t)}return g};return t<=1&&!d?r.jsx("div",{className:"flex items-center justify-center sm:justify-between px-3 sm:px-4 py-3 border-t border-gray-200 dark:border-gray-700 bg-white dark:bg-gray-800",children:r.jsx("span",{className:"text-xs sm:text-sm text-gray-500 dark:text-gray-400",children:a===0?"No items":`Showing ${a} item${a!==1?"s":""}`})}):u?r.jsxs("div",{className:"flex flex-col gap-3 px-3 py-3 border-t border-gray-200 dark:border-gray-700 bg-white dark:bg-gray-800","data-testid":"pagination",children:[r.jsxs("div",{className:"flex items-center justify-between",children:[r.jsx("span",{className:"text-xs text-gray-500 dark:text-gray-400","data-testid":"pagination-info",children:a===0?"No items":`${m}-${h} of ${a}`}),d&&l&&r.jsx("select",{id:"pagination-page-size-mobile",value:n,onChange:g=>l(parseInt(g.target.value,10)),className:"px-2 py-1.5 text-xs border border-gray-300 dark:border-gray-600 rounded-md bg-white dark:bg-gray-700 text-gray-700 dark:text-gray-200 focus:outline-none focus:ring-1 focus:ring-blue-500 focus:border-blue-500 touch-target","data-testid":"pagination-page-size","aria-label":"Items per page",children:uS.map(g=>r.jsxs("option",{value:g,children:[g," / page"]},g))})]}),t>1&&r.jsxs("div",{className:"flex items-center justify-center gap-1",children:[r.jsx("button",{onClick:()=>o(e-1),disabled:e===1,className:"min-w-[44px] h-[44px] flex items-center justify-center rounded-lg hover:bg-gray-100 dark:hover:bg-gray-700 disabled:opacity-40 disabled:cursor-not-allowed active:bg-gray-200 dark:active:bg-gray-600 transition-colors","aria-label":"Previous page","data-testid":"pagination-prev",children:r.jsx(Pr,{className:"w-5 h-5"})}),r.jsx("div",{className:"flex items-center gap-1",children:x().map((g,p)=>g==="ellipsis"?r.jsx("span",{className:"px-1 text-gray-400 dark:text-gray-500 text-sm",children:"…"},`ellipsis-${p}`):r.jsx("button",{onClick:()=>o(g),className:`min-w-[40px] h-[40px] px-2 text-sm rounded-lg transition-colors ${g===e?"bg-blue-600 text-white font-medium":"hover:bg-gray-100 dark:hover:bg-gray-700 text-gray-700 dark:text-gray-200 active:bg-gray-200 dark:active:bg-gray-600"}`,"data-testid":`pagination-page-${g}`,"aria-current":g===e?"page":void 0,children:g},g))}),r.jsx("button",{onClick:()=>o(e+1),disabled:e===t,className:"min-w-[44px] h-[44px] flex items-center justify-center rounded-lg hover:bg-gray-100 dark:hover:bg-gray-700 disabled:opacity-40 disabled:cursor-not-allowed active:bg-gray-200 dark:active:bg-gray-600 transition-colors","aria-label":"Next page","data-testid":"pagination-next",children:r.jsx(Lt,{className:"w-5 h-5"})})]})]}):r.jsxs("div",{className:"flex items-center justify-between px-4 py-3 border-t border-gray-200 dark:border-gray-700 bg-white dark:bg-gray-800","data-testid":"pagination",children:[r.jsxs("div",{className:"flex items-center gap-4",children:[r.jsx("span",{className:"text-sm text-gray-500 dark:text-gray-400","data-testid":"pagination-info",children:a===0?"No items":`Showing ${m}-${h} of ${a}`}),d&&l&&r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsx("label",{htmlFor:"pagination-page-size",className:"text-sm text-gray-500 dark:text-gray-400",children:"Show"}),r.jsx("select",{id:"pagination-page-size",value:n,onChange:g=>l(parseInt(g.target.value,10)),className:"px-2 py-1 text-sm border border-gray-300 dark:border-gray-600 rounded-md bg-white dark:bg-gray-700 text-gray-700 dark:text-gray-200 focus:outline-none focus:ring-1 focus:ring-blue-500 focus:border-blue-500","data-testid":"pagination-page-size","aria-label":"Items per page",children:uS.map(g=>r.jsx("option",{value:g,children:g},g))}),r.jsx("span",{className:"text-sm text-gray-500 dark:text-gray-400",children:"per page"})]})]}),t>1&&r.jsxs("div",{className:"flex items-center gap-1",children:[r.jsx("button",{onClick:()=>o(1),disabled:e===1,className:"p-2 rounded hover:bg-gray-100 dark:hover:bg-gray-700 disabled:opacity-50 disabled:cursor-not-allowed transition-colors","aria-label":"First page","data-testid":"pagination-first",children:r.jsx(NO,{className:"w-4 h-4"})}),r.jsx("button",{onClick:()=>o(e-1),disabled:e===1,className:"p-2 rounded hover:bg-gray-100 dark:hover:bg-gray-700 disabled:opacity-50 disabled:cursor-not-allowed transition-colors","aria-label":"Previous page","data-testid":"pagination-prev",children:r.jsx(Pr,{className:"w-4 h-4"})}),r.jsx("div",{className:"flex items-center gap-1 mx-2",children:x().map((g,p)=>g==="ellipsis"?r.jsx("span",{className:"px-2 text-gray-400 dark:text-gray-500",children:"..."},`ellipsis-${p}`):r.jsx("button",{onClick:()=>o(g),className:`min-w-[32px] h-8 px-2 text-sm rounded transition-colors ${g===e?"bg-blue-600 text-white font-medium":"hover:bg-gray-100 dark:hover:bg-gray-700 text-gray-700 dark:text-gray-200"}`,"data-testid":`pagination-page-${g}`,"aria-current":g===e?"page":void 0,children:g},g))}),r.jsx("button",{onClick:()=>o(e+1),disabled:e===t,className:"p-2 rounded hover:bg-gray-100 dark:hover:bg-gray-700 disabled:opacity-50 disabled:cursor-not-allowed transition-colors","aria-label":"Next page","data-testid":"pagination-next",children:r.jsx(Lt,{className:"w-4 h-4"})}),r.jsx("button",{onClick:()=>o(t),disabled:e===t,className:"p-2 rounded hover:bg-gray-100 dark:hover:bg-gray-700 disabled:opacity-50 disabled:cursor-not-allowed transition-colors","aria-label":"Last page","data-testid":"pagination-last",children:r.jsx(SO,{className:"w-4 h-4"})})]})]})}const os=["elements","all"],$t={tasks:["elements","tasks"],plans:["elements","plans"],workflows:["elements","workflows"],entities:["elements","entities"],documents:["elements","documents"],channels:["elements","channels"],messages:["elements","messages"],teams:["elements","teams"],libraries:["elements","libraries"]};async function YK(){const e=await fetch("/api/elements/all?includeTaskCounts=true");if(!e.ok)throw new Error(`Failed to fetch all elements: ${e.statusText}`);return e.json()}function QK(){const e=$e(),t=be({queryKey:os,queryFn:YK,staleTime:1/0,gcTime:1/0,refetchOnWindowFocus:!1,refetchOnMount:!1,refetchOnReconnect:!1}),a=t.data;return a&&(a.data.task&&e.setQueryData($t.tasks,a.data.task.items),a.data.plan&&e.setQueryData($t.plans,a.data.plan.items),a.data.workflow&&e.setQueryData($t.workflows,a.data.workflow.items),a.data.entity&&e.setQueryData($t.entities,a.data.entity.items),a.data.document&&e.setQueryData($t.documents,a.data.document.items),a.data.channel&&e.setQueryData($t.channels,a.data.channel.items),a.data.message&&e.setQueryData($t.messages,a.data.message.items),a.data.team&&e.setQueryData($t.teams,a.data.team.items),a.data.library&&e.setQueryData($t.libraries,a.data.library.items)),{isLoading:t.isLoading,isError:t.isError,error:t.error,data:t.data,totalElements:a?.totalElements??0,loadedAt:a?.loadedAt,refetch:t.refetch}}function Y5(){const e=$e();return be({queryKey:$t.tasks,queryFn:async()=>{const t=e.getQueryData(os);if(t?.data.task)return t.data.task.items;const a=await fetch("/api/tasks?limit=10000");if(!a.ok)throw new Error("Failed to fetch tasks");return(await a.json()).items},staleTime:1/0,gcTime:1/0,refetchOnWindowFocus:!1,refetchOnMount:!1,refetchOnReconnect:!1})}function XK(){const e=$e();return be({queryKey:$t.plans,queryFn:async()=>{const t=e.getQueryData(os);if(t?.data.plan)return t.data.plan.items;const a=await fetch("/api/plans?limit=10000");if(!a.ok)throw new Error("Failed to fetch plans");return(await a.json()).items},staleTime:1/0,gcTime:1/0,refetchOnWindowFocus:!1,refetchOnMount:!1,refetchOnReconnect:!1})}function dd(){const e=$e();return be({queryKey:$t.entities,queryFn:async()=>{const t=e.getQueryData(os);if(t?.data.entity)return t.data.entity.items;const a=await fetch("/api/entities?limit=10000");if(!a.ok)throw new Error("Failed to fetch entities");return(await a.json()).items},staleTime:1/0,gcTime:1/0,refetchOnWindowFocus:!1,refetchOnMount:!1,refetchOnReconnect:!1})}function Q5(){const e=$e();return be({queryKey:$t.documents,queryFn:async()=>{const t=e.getQueryData(os);if(t?.data.document)return t.data.document.items;const a=await fetch("/api/documents?limit=10000");if(!a.ok)throw new Error("Failed to fetch documents");return(await a.json()).items},staleTime:1/0,gcTime:1/0,refetchOnWindowFocus:!1,refetchOnMount:!1,refetchOnReconnect:!1})}function WK(){const e=$e();return be({queryKey:$t.channels,queryFn:async()=>{const t=e.getQueryData(os);if(t?.data.channel)return t.data.channel.items;const a=await fetch("/api/channels?limit=10000");if(!a.ok)throw new Error("Failed to fetch channels");return(await a.json()).items},staleTime:1/0,gcTime:1/0,refetchOnWindowFocus:!1,refetchOnMount:!1,refetchOnReconnect:!1})}function ZK(){const e=$e();return be({queryKey:$t.teams,queryFn:async()=>{const t=e.getQueryData(os);if(t?.data.team)return t.data.team.items;const a=await fetch("/api/teams?limit=10000");if(!a.ok)throw new Error("Failed to fetch teams");return(await a.json()).items},staleTime:1/0,gcTime:1/0,refetchOnWindowFocus:!1,refetchOnMount:!1,refetchOnReconnect:!1})}function X5(e){return{task:$t.tasks,plan:$t.plans,workflow:$t.workflows,entity:$t.entities,document:$t.documents,channel:$t.channels,message:$t.messages,team:$t.teams,library:$t.libraries}[e]}function JK(e,t,a){const n=X5(t);e.setQueryData(n,o=>{if(!o)return[a];const l=o.findIndex(d=>d.id===a.id);if(l>=0){const d=[...o];return d[l]=a,d}else return[a,...o]})}function W5(e,t,a){const n=X5(t);e.setQueryData(n,o=>o?o.filter(l=>l.id!==a):[]),e.setQueryData(os,o=>{if(!o)return o;const l=t,d=o.data[l];return d?{...o,data:{...o.data,[l]:{...d,items:d.items.filter(u=>u.id!==a),total:d.total-1}},totalElements:o.totalElements-1}:o})}function eH(e,t){const a=t.elementType;if(!["task","plan","workflow","entity","document","channel","message","team","library"].includes(a))return!1;const o=t.eventType;return o==="deleted"||o==="soft-deleted"?(W5(e,a,t.elementId),!0):t.newValue&&(o==="created"||o==="updated"||o.includes("status")||o.includes("assigned"))?(JK(e,a,t.newValue),!0):!1}function tH(){const e=$e();return y.useCallback(t=>eH(e,t),[e])}function rH({totalElements:e,showProgress:t}){return r.jsx("div",{className:"min-h-screen flex flex-col items-center justify-center bg-gray-50","data-testid":"data-preloader-loading",children:r.jsxs("div",{className:"text-center",children:[r.jsxs("div",{className:"relative w-16 h-16 mx-auto mb-4",children:[r.jsx("div",{className:"absolute inset-0 border-4 border-gray-200 rounded-full"}),r.jsx("div",{className:"absolute inset-0 border-4 border-blue-500 rounded-full animate-spin",style:{borderTopColor:"transparent",borderRightColor:"transparent"}})]}),r.jsx("h2",{className:"text-lg font-medium text-gray-900 mb-2",children:"Loading Stoneforge"}),t&&r.jsx("p",{className:"text-sm text-gray-500",children:e>0?`Loaded ${e.toLocaleString()} elements`:"Fetching data..."})]})})}function aH({error:e,onRetry:t}){return r.jsx("div",{className:"min-h-screen flex flex-col items-center justify-center bg-gray-50","data-testid":"data-preloader-error",children:r.jsxs("div",{className:"text-center max-w-md p-6",children:[r.jsx("div",{className:"w-16 h-16 mx-auto mb-4 rounded-full bg-red-100 flex items-center justify-center",children:r.jsx("svg",{className:"w-8 h-8 text-red-600",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:r.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"})})}),r.jsx("h2",{className:"text-lg font-medium text-gray-900 mb-2",children:"Failed to Load Data"}),r.jsx("p",{className:"text-sm text-gray-500 mb-4",children:e?.message||"An error occurred while loading the application data."}),r.jsx("button",{onClick:t,className:"px-4 py-2 bg-blue-600 text-white rounded-md hover:bg-blue-700 transition-colors",children:"Retry"})]})})}function nH({children:e}){const t=tH();return Tf({channels:["*"],onEvent:a=>{t(a)},autoInvalidate:!0}),r.jsx(r.Fragment,{children:e})}function sH({children:e,showProgress:t=!0,errorFallback:a}){const{isLoading:n,isError:o,error:l,totalElements:d,refetch:u}=QK();return n?r.jsx(rH,{totalElements:d,showProgress:t}):o?a?r.jsx(r.Fragment,{children:a}):r.jsx(aH,{error:l,onRetry:()=>u()}):r.jsx(nH,{children:e})}const iH={tasks:_r,entities:Bt,teams:Bt,documents:Je,messages:vt,plans:u2,workflows:bn,inbox:kr,search:Ve,generic:B0},oH=y.forwardRef(({type:e="generic",title:t,description:a,icon:n,action:o,size:l="md",className:d=""},u)=>{const m=iH[e],x={sm:{container:"px-4 py-6 sm:px-6 sm:py-8",iconContainer:"w-10 h-10 sm:w-12 sm:h-12 mb-3",icon:"w-5 h-5 sm:w-6 sm:h-6",title:"text-sm sm:text-base font-medium mb-1.5",description:"text-xs sm:text-sm max-w-[280px] sm:max-w-sm mb-4",button:"px-3 py-2 text-xs sm:text-sm min-h-[36px] sm:min-h-[40px]",buttonIcon:"w-3.5 h-3.5 sm:w-4 sm:h-4"},md:{container:"px-4 py-8 sm:px-6 sm:py-12",iconContainer:"w-12 h-12 sm:w-16 sm:h-16 mb-3 sm:mb-4",icon:"w-6 h-6 sm:w-8 sm:h-8",title:"text-base sm:text-lg font-medium mb-1.5 sm:mb-2",description:"text-sm max-w-[280px] sm:max-w-sm mb-4 sm:mb-6",button:"px-4 py-2.5 text-sm min-h-[44px]",buttonIcon:"w-4 h-4"},lg:{container:"px-6 py-12 sm:px-8 sm:py-16",iconContainer:"w-16 h-16 sm:w-20 sm:h-20 mb-4 sm:mb-6",icon:"w-8 h-8 sm:w-10 sm:h-10",title:"text-lg sm:text-xl font-medium mb-2 sm:mb-3",description:"text-sm sm:text-base max-w-[300px] sm:max-w-md mb-6 sm:mb-8",button:"px-5 py-3 text-sm sm:text-base min-h-[48px]",buttonIcon:"w-4 h-4 sm:w-5 sm:h-5"}}[l];return r.jsxs("div",{ref:u,className:["flex flex-col items-center justify-center",x.container,"text-center",d].join(" "),"data-testid":"empty-state","data-size":l,children:[r.jsx("div",{className:["rounded-full bg-[var(--color-surface-active)] flex items-center justify-center",x.iconContainer].join(" "),"data-testid":"empty-state-icon",children:n||r.jsx(m,{className:`${x.icon} text-[var(--color-text-tertiary)]`})}),r.jsx("h3",{className:`${x.title} text-[var(--color-text)]`,"data-testid":"empty-state-title",children:t}),a&&r.jsx("p",{className:`${x.description} text-[var(--color-text-secondary)]`,"data-testid":"empty-state-description",children:a}),o&&r.jsxs("button",{onClick:o.onClick,className:["inline-flex items-center justify-center gap-2",x.button,"font-medium","text-[var(--color-text-inverted)]","bg-[var(--color-primary)]","hover:bg-[var(--color-primary-hover)]","active:bg-[var(--color-primary-active)]","rounded-lg","transition-colors duration-[var(--duration-fast)]","focus:outline-none focus:ring-2 focus:ring-[var(--color-border-focus)] focus:ring-offset-2","w-full xs:w-auto max-w-[280px]"].join(" "),"data-testid":"empty-state-action",children:[r.jsx(Fe,{className:x.buttonIcon}),o.label]})]})});oH.displayName="EmptyState";function wn({title:e,icon:t,iconColor:a="text-blue-500",count:n,totalCount:o,subtitle:l,actions:d=[],children:u,testId:m,bordered:h=!1,className:x=""}){const g=Et(),p=()=>n===void 0?null:o!==void 0&&o!==n?r.jsxs("span",{className:"text-sm text-[var(--color-text-secondary)]",children:[n," of ",o]}):r.jsxs("span",{className:"text-sm text-[var(--color-text-secondary)]",children:["(",n,")"]}),j=()=>d.length===0?null:r.jsx("div",{className:"flex items-center gap-2",children:d.map((N,v)=>{const T=N.icon,E=N.variant!=="secondary";return r.jsxs("button",{onClick:N.onClick,className:`inline-flex items-center gap-1.5 px-3 py-1.5 text-sm font-medium rounded-md transition-colors touch-target ${E?"text-white bg-[var(--color-primary)] hover:bg-[var(--color-primary-hover)]":"text-[var(--color-text)] bg-[var(--color-surface-hover)] hover:bg-[var(--color-border)]"}`,"data-testid":N.testId,children:[T&&r.jsx(T,{className:"w-4 h-4"}),r.jsx("span",{className:g&&N.shortLabel?"hidden sm:inline":"",children:N.label}),g&&N.shortLabel&&r.jsx("span",{className:"sm:hidden",children:N.shortLabel}),N.shortcut&&!g&&r.jsx("kbd",{className:"ml-1 text-xs bg-[var(--color-primary-700)]/50 text-white px-1 py-0.5 rounded",children:N.shortcut})]},v)})}),k=h?`border-b border-[var(--color-border)] bg-[var(--color-surface)] ${g?"p-3":"p-4"} ${x}`:`mb-4 sm:mb-6 ${x}`;return r.jsxs("div",{"data-testid":m,className:k,children:[r.jsxs("div",{className:"flex items-center justify-between gap-4",children:[r.jsxs("div",{className:"flex items-center gap-3 min-w-0",children:[t&&r.jsx(t,{className:`w-5 h-5 sm:w-6 sm:h-6 ${a} flex-shrink-0`}),r.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[r.jsx("h1",{className:"text-lg sm:text-xl font-semibold text-[var(--color-text)] truncate",children:e}),!g&&p()]})]}),j()]}),g&&n!==void 0&&r.jsx("div",{className:"mt-1",children:p()}),l&&r.jsx("p",{className:"mt-1 text-sm text-[var(--color-text-secondary)]",children:l}),u&&r.jsx("div",{className:h?"mt-3":"mt-3 sm:mt-4",children:u})]})}const mS={open:"var(--color-primary, #3b82f6)",in_progress:"var(--color-warning, #eab308)",blocked:"var(--color-error, #ef4444)",closed:"var(--color-success, #22c55e)"},fS=["#3b82f6","#eab308","#ef4444","#22c55e"];function wy(){return be({queryKey:["tasks","all"],queryFn:async()=>{const e=await fetch("/api/tasks?limit=10000");if(!e.ok)throw new Error("Failed to fetch tasks");const t=await e.json();return t.items||t}})}function lH(){return be({queryKey:["entities","all"],queryFn:async()=>{const e=await fetch("/api/entities?limit=10000");if(!e.ok)throw new Error("Failed to fetch entities");const t=await e.json();return t.items||t}})}function cH(e){const t={open:0,in_progress:0,blocked:0,closed:0};return e.forEach(a=>{t[a.status]!==void 0&&t[a.status]++}),Object.entries(t).map(([a,n])=>({name:dH(a),value:n,status:a})).filter(a=>a.value>0)}function dH(e){switch(e){case"open":return"Open";case"in_progress":return"In Progress";case"blocked":return"Blocked";case"closed":return"Completed";default:return e}}function uH(e){const t=[],a=new Date;for(let n=6;n>=0;n--){const o=new Date(a);o.setDate(o.getDate()-n),o.setHours(0,0,0,0);const l=o.toISOString().split("T")[0],d=n===0?"Today":n===1?"Yesterday":o.toLocaleDateString("en-US",{weekday:"short"});t.push({date:l,dateLabel:d,completed:0})}return e.forEach(n=>{if(n.status!=="closed")return;const o=new Date(n.updatedAt);o.setHours(0,0,0,0);const l=o.toISOString().split("T")[0],d=t.find(u=>u.date===l);d&&d.completed++}),t}function mH(e,t){const a={};e.forEach(l=>{if(l.status==="closed")return;const d=l.assignee;d&&(a[d]=(a[d]||0)+1)});const n=Object.values(a).reduce((l,d)=>l+d,0),o=new Map(t.map(l=>[l.id,l]));return Object.entries(a).map(([l,d])=>({name:o.get(l)?.name||l.slice(0,8),entityId:l,tasks:d,percentage:n>0?Math.round(d/n*100):0})).sort((l,d)=>d.tasks-l.tasks).slice(0,10)}function fH({active:e,payload:t}){if(!e||!t?.length)return null;const a=t[0].payload;return r.jsxs("div",{className:"bg-card p-2 rounded-lg shadow-lg border border-border",children:[r.jsx("p",{className:"text-sm font-medium text-foreground",children:a.name}),r.jsxs("p",{className:"text-sm text-muted-foreground",children:[a.value," tasks"]})]})}function hH({active:e,payload:t,label:a}){return!e||!t?.length?null:r.jsxs("div",{className:"bg-card p-2 rounded-lg shadow-lg border border-border",children:[r.jsx("p",{className:"text-sm font-medium text-foreground",children:a}),r.jsxs("p",{className:"text-sm text-muted-foreground",children:[t[0].value," completed"]})]})}function xH({active:e,payload:t}){if(!e||!t?.length)return null;const a=t[0].payload;return r.jsxs("div",{className:"bg-card p-2 rounded-lg shadow-lg border border-border",children:[r.jsx("p",{className:"text-sm font-medium text-foreground",children:a.name}),r.jsxs("p",{className:"text-sm text-muted-foreground",children:[a.tasks," active task",a.tasks!==1?"s":""," (",a.percentage,"%)"]}),r.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"Click to view tasks"})]})}function gH(){const{data:e,isLoading:t,isError:a}=wy(),n=Et(),o=Sf(),[l,d]=y.useState(null),u=y.useCallback((g,p)=>{o&&d(l===p?null:p)},[o,l]);if(t)return r.jsxs("div",{className:"bg-card rounded-lg shadow-sm p-4 sm:p-6 border border-border","data-testid":"tasks-by-status-chart",children:[r.jsx("h4",{className:"text-xs sm:text-sm font-medium text-foreground mb-3 sm:mb-4",children:"Tasks by Status"}),r.jsx("div",{className:"h-40 sm:h-48 flex items-center justify-center",children:r.jsx("div",{className:"animate-pulse text-muted-foreground text-sm",children:"Loading chart..."})})]});if(a||!e)return r.jsxs("div",{className:"bg-card rounded-lg shadow-sm p-4 sm:p-6 border border-border","data-testid":"tasks-by-status-chart",children:[r.jsx("h4",{className:"text-xs sm:text-sm font-medium text-foreground mb-3 sm:mb-4",children:"Tasks by Status"}),r.jsx("div",{className:"h-40 sm:h-48 flex items-center justify-center",children:r.jsx("div",{className:"text-error text-sm",children:"Failed to load chart data"})})]});const m=cH(e);if(m.reduce((g,p)=>g+p.value,0)===0)return r.jsxs("div",{className:"bg-card rounded-lg shadow-sm p-4 sm:p-6 border border-border","data-testid":"tasks-by-status-chart",children:[r.jsx("h4",{className:"text-xs sm:text-sm font-medium text-foreground mb-3 sm:mb-4",children:"Tasks by Status"}),r.jsx("div",{className:"h-40 sm:h-48 flex items-center justify-center",children:r.jsx("div",{className:"text-muted-foreground text-sm",children:"No tasks to display"})})]});const x=!n;return r.jsxs("div",{className:"bg-card rounded-lg shadow-sm p-4 sm:p-6 border border-border","data-testid":"tasks-by-status-chart",children:[r.jsx("h4",{className:"text-xs sm:text-sm font-medium text-foreground mb-3 sm:mb-4",children:"Tasks by Status"}),r.jsx("div",{className:"h-40 sm:h-48",children:r.jsx(G0,{width:"100%",height:"100%",children:r.jsxs(B$,{children:[r.jsx(z$,{data:m,cx:"50%",cy:"50%",innerRadius:n?30:35,outerRadius:n?50:60,dataKey:"value",labelLine:!1,label:x?({name:g,percent:p})=>`${g} ${((p??0)*100).toFixed(0)}%`:void 0,onClick:u,className:o?"cursor-pointer":"",children:m.map((g,p)=>r.jsx(q$,{fill:mS[g.status]||fS[p%fS.length],"data-testid":`chart-segment-${g.status}`,stroke:l===p?"var(--color-foreground)":void 0,strokeWidth:l===p?2:0},`cell-${p}`))}),r.jsx(Y0,{content:r.jsx(fH,{}),trigger:o?"click":"hover",wrapperStyle:{zIndex:1e3}})]})})}),n&&l!==null&&m[l]&&r.jsxs("div",{className:"mt-2 text-center text-sm text-foreground","data-testid":"mobile-tooltip",children:[r.jsx("span",{className:"font-medium",children:m[l].name}),r.jsxs("span",{className:"text-muted-foreground ml-2",children:[m[l].value," tasks"]})]}),r.jsx("div",{className:"mt-3 sm:mt-4 flex justify-center gap-2 sm:gap-4 flex-wrap","data-testid":"chart-legend",children:m.map((g,p)=>r.jsxs(ha,{to:"/tasks",search:{page:1,limit:25},className:`flex items-center gap-1 sm:gap-1.5 text-[10px] sm:text-xs text-muted-foreground hover:text-foreground transition-colors min-h-[28px] px-1 ${l===p?"text-foreground font-medium":""}`,"data-testid":`legend-${g.status}`,onTouchStart:()=>o&&d(p),children:[r.jsx("span",{className:"w-2 h-2 sm:w-2.5 sm:h-2.5 rounded-full shrink-0",style:{backgroundColor:mS[g.status]}}),r.jsxs("span",{className:"truncate",children:[g.name,": ",g.value]})]},g.status))})]})}function pH(){const{data:e,isLoading:t,isError:a}=wy(),n=Et(),o=Sf();if(t)return r.jsxs("div",{className:"bg-card rounded-lg shadow-sm p-4 sm:p-6 border border-border","data-testid":"tasks-completed-chart",children:[r.jsx("h4",{className:"text-xs sm:text-sm font-medium text-foreground mb-3 sm:mb-4",children:"Tasks Completed (Last 7 Days)"}),r.jsx("div",{className:"h-40 sm:h-48 flex items-center justify-center",children:r.jsx("div",{className:"animate-pulse text-muted-foreground text-sm",children:"Loading chart..."})})]});if(a||!e)return r.jsxs("div",{className:"bg-card rounded-lg shadow-sm p-4 sm:p-6 border border-border","data-testid":"tasks-completed-chart",children:[r.jsx("h4",{className:"text-xs sm:text-sm font-medium text-foreground mb-3 sm:mb-4",children:"Tasks Completed (Last 7 Days)"}),r.jsx("div",{className:"h-40 sm:h-48 flex items-center justify-center",children:r.jsx("div",{className:"text-error text-sm",children:"Failed to load chart data"})})]});const l=uH(e),d=l.reduce((u,m)=>u+m.completed,0);return r.jsxs("div",{className:"bg-card rounded-lg shadow-sm p-4 sm:p-6 border border-border","data-testid":"tasks-completed-chart",children:[r.jsxs("h4",{className:"text-xs sm:text-sm font-medium text-foreground mb-3 sm:mb-4",children:[r.jsx("span",{className:"hidden sm:inline",children:"Tasks Completed (Last 7 Days)"}),r.jsx("span",{className:"sm:hidden",children:"Completed (7 Days)"}),d>0&&r.jsxs("span",{className:"ml-1 sm:ml-2 text-[10px] sm:text-xs font-normal text-muted-foreground",children:["Total: ",d]})]}),r.jsx("div",{className:"h-40 sm:h-48",children:r.jsx(G0,{width:"100%",height:"100%",children:r.jsxs(F$,{data:l,children:[r.jsx(fC,{strokeDasharray:"3 3",stroke:"var(--color-border, #e5e7eb)"}),r.jsx(hC,{dataKey:"dateLabel",tick:{fontSize:n?9:10,fill:"var(--color-muted-foreground, #6b7280)"},axisLine:{stroke:"var(--color-border, #e5e7eb)"},tickLine:{stroke:"var(--color-border, #e5e7eb)"},interval:n?1:0}),r.jsx(xC,{allowDecimals:!1,tick:{fontSize:n?9:10,fill:"var(--color-muted-foreground, #6b7280)"},axisLine:{stroke:"var(--color-border, #e5e7eb)"},tickLine:{stroke:"var(--color-border, #e5e7eb)"},width:n?25:30}),r.jsx(Y0,{content:r.jsx(hH,{}),trigger:o?"click":"hover",wrapperStyle:{zIndex:1e3}}),r.jsx(U$,{type:"monotone",dataKey:"completed",stroke:"var(--color-success, #22c55e)",strokeWidth:2,dot:{fill:"var(--color-success, #22c55e)",strokeWidth:0,r:n?4:3},activeDot:{r:n?6:5,fill:"var(--color-success, #22c55e)"}})]})})})]})}function yH(){const{data:e,isLoading:t,isError:a}=wy(),{data:n,isLoading:o,isError:l}=lH(),d=rr(),u=Et(),m=Sf(),[h,x]=y.useState(null),g=t||o,p=a||l,j=y.useCallback((v,T)=>{m?h===T?d({to:"/tasks",search:{assignee:v.entityId,page:1,limit:25}}):x(T):d({to:"/tasks",search:{assignee:v.entityId,page:1,limit:25}})},[d,m,h]);if(g)return r.jsxs("div",{className:"bg-card rounded-lg shadow-sm p-4 sm:p-6 border border-border","data-testid":"workload-by-agent-chart",children:[r.jsx("h4",{className:"text-xs sm:text-sm font-medium text-foreground mb-3 sm:mb-4",children:"Workload by Agent"}),r.jsx("div",{className:"h-40 sm:h-48 flex items-center justify-center",children:r.jsx("div",{className:"animate-pulse text-muted-foreground text-sm",children:"Loading chart..."})})]});if(p||!e||!n)return r.jsxs("div",{className:"bg-card rounded-lg shadow-sm p-4 sm:p-6 border border-border","data-testid":"workload-by-agent-chart",children:[r.jsx("h4",{className:"text-xs sm:text-sm font-medium text-foreground mb-3 sm:mb-4",children:"Workload by Agent"}),r.jsx("div",{className:"h-40 sm:h-48 flex items-center justify-center",children:r.jsx("div",{className:"text-error text-sm",children:"Failed to load chart data"})})]});const k=mH(e,n);if(k.length===0)return r.jsxs("div",{className:"bg-card rounded-lg shadow-sm p-4 sm:p-6 border border-border","data-testid":"workload-by-agent-chart",children:[r.jsx("h4",{className:"text-xs sm:text-sm font-medium text-foreground mb-3 sm:mb-4",children:"Workload by Agent"}),r.jsx("div",{className:"h-40 sm:h-48 flex items-center justify-center",children:r.jsx("div",{className:"text-muted-foreground text-sm",children:"No assigned tasks"})})]});const N=k.map(v=>({...v,displayName:u&&v.name.length>8?v.name.slice(0,8)+"...":v.name}));return r.jsxs("div",{className:"bg-card rounded-lg shadow-sm p-4 sm:p-6 border border-border","data-testid":"workload-by-agent-chart",children:[r.jsx("h4",{className:"text-xs sm:text-sm font-medium text-foreground mb-3 sm:mb-4",children:"Workload by Agent"}),r.jsx("div",{className:"h-40 sm:h-48",children:r.jsx(G0,{width:"100%",height:"100%",children:r.jsxs(K$,{data:N,layout:"vertical",children:[r.jsx(fC,{strokeDasharray:"3 3",stroke:"var(--color-border, #e5e7eb)"}),r.jsx(hC,{type:"number",allowDecimals:!1,tick:{fontSize:u?9:10,fill:"var(--color-muted-foreground, #6b7280)"},axisLine:{stroke:"var(--color-border, #e5e7eb)"},tickLine:{stroke:"var(--color-border, #e5e7eb)"}}),r.jsx(xC,{type:"category",dataKey:"displayName",tick:{fontSize:u?9:10,fill:"var(--color-muted-foreground, #6b7280)"},axisLine:{stroke:"var(--color-border, #e5e7eb)"},tickLine:{stroke:"var(--color-border, #e5e7eb)"},width:u?55:70}),r.jsx(Y0,{content:r.jsx(xH,{}),trigger:m?"click":"hover",wrapperStyle:{zIndex:1e3}}),r.jsx(H$,{dataKey:"tasks",fill:"var(--color-primary, #3b82f6)",radius:[0,4,4,0],className:"cursor-pointer",onClick:(v,T)=>j(v,T)})]})})}),u&&h!==null&&k[h]&&r.jsxs("div",{className:"mt-2 text-center text-sm","data-testid":"mobile-tooltip-bar",children:[r.jsx("span",{className:"font-medium text-foreground",children:k[h].name}),r.jsxs("span",{className:"text-muted-foreground ml-2",children:[k[h].tasks," tasks"]}),r.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"Tap again to view tasks"})]})]})}function bH(){return r.jsxs("div",{className:"mt-6 sm:mt-8","data-testid":"dashboard-charts",children:[r.jsx("h3",{className:"text-sm sm:text-md font-medium text-foreground mb-3 sm:mb-4",children:"Charts"}),r.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-4 sm:gap-6","data-testid":"charts-grid",children:[r.jsx(gH,{}),r.jsx(pH,{}),r.jsx(yH,{})]})]})}const ky=[{id:"theme",label:"Theme",icon:CO,description:"Customize appearance",implemented:!0},{id:"shortcuts",label:"Shortcuts",icon:TO,description:"Keyboard shortcuts",implemented:!0},{id:"defaults",label:"Defaults",icon:EO,description:"Default view settings",implemented:!0},{id:"notifications",label:"Notifications",icon:OO,description:"Notification preferences",implemented:!0},{id:"sync",label:"Sync",icon:Xs,description:"Sync configuration",implemented:!0}],Z5="settings.theme",J5="settings.highContrastBase",eT="settings.defaults",tT="settings.notifications",rT="settings.sync",aT="dashboard.lastVisited",Vl={tasksView:"list",dashboardLens:"overview",sortOrder:"updated_at"},Xi={browserNotifications:!1,preferences:{taskAssigned:!0,taskCompleted:!0,newMessage:!0,workflowCompleted:!0},toastDuration:5e3,toastPosition:"bottom-right"},Gl={autoExport:!1};function vH(){if(typeof window>"u")return"system";const e=localStorage.getItem(Z5);return e==="light"||e==="dark"||e==="system"||e==="high-contrast"?e:"system"}function jH(e){typeof window>"u"||localStorage.setItem(Z5,e)}function nT(){return typeof window>"u"?"light":localStorage.getItem(J5)==="dark"?"dark":"light"}function wH(e){typeof window>"u"||localStorage.setItem(J5,e)}function sT(){return typeof window>"u"?"light":window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}function Gu(e){if(typeof window>"u")return;const t=document.documentElement;if(t.classList.remove("dark","theme-dark","theme-light","high-contrast"),e==="high-contrast"){const a=nT();t.classList.add("high-contrast"),a==="dark"?t.classList.add("dark","theme-dark"):t.classList.add("theme-light")}else(e==="system"?sT():e)==="dark"?t.classList.add("dark","theme-dark"):t.classList.add("theme-light")}function iT(){if(typeof window>"u")return Vl;const e=localStorage.getItem(eT);if(e)try{const t=JSON.parse(e);return{...Vl,...t}}catch{return Vl}return Vl}function kH(e){typeof window>"u"||(localStorage.setItem(eT,JSON.stringify(e)),localStorage.setItem("tasks.viewMode",e.tasksView))}function v0(){return iT().dashboardLens}function NH(){if(typeof window>"u")return v0();const e=localStorage.getItem(aT);return e&&["overview","task-flow","dependencies","timeline"].includes(e)?e:v0()}function SH(e){typeof window>"u"||localStorage.setItem(aT,e)}function Ny(){if(typeof window>"u")return Xi;const e=localStorage.getItem(tT);if(e)try{const t=JSON.parse(e);return{...Xi,...t,preferences:{...Xi.preferences,...t.preferences}}}catch{return Xi}return Xi}function CH(e){typeof window>"u"||localStorage.setItem(tT,JSON.stringify(e))}function Rg(){return Ny().toastPosition}function Ig(){return Ny().toastDuration}function TH(){return typeof window>"u"||!("Notification"in window)?"unsupported":Notification.permission}async function EH(){return typeof window>"u"||!("Notification"in window)?"denied":await Notification.requestPermission()}function OH(){if(typeof window>"u")return Gl;const e=localStorage.getItem(rT);if(e)try{return{...Gl,...JSON.parse(e)}}catch{return Gl}return Gl}function Bg(e){typeof window>"u"||localStorage.setItem(rT,JSON.stringify(e))}function Sy({enabled:e,onToggle:t,disabled:a=!1,testId:n}){return r.jsx("button",{onClick:t,disabled:a,className:`
207
+ relative inline-flex h-7 w-12 sm:h-6 sm:w-11 items-center rounded-full transition-colors focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 flex-shrink-0
208
+ ${e?"bg-blue-500":"bg-gray-200 dark:bg-gray-700"}
209
+ ${a?"opacity-50 cursor-not-allowed":"cursor-pointer"}
210
+ `,role:"switch","aria-checked":e,"data-testid":n,children:r.jsx("span",{className:`
211
+ inline-block h-5 w-5 sm:h-4 sm:w-4 transform rounded-full bg-white transition-transform
212
+ ${e?"translate-x-6 sm:translate-x-6":"translate-x-1"}
213
+ `})})}function gn({label:e,description:t,icon:a,isSelected:n,onSelect:o,testId:l}){return r.jsxs("button",{onClick:o,className:`
214
+ flex items-start gap-2 sm:gap-3 p-2.5 sm:p-3 rounded-lg border transition-all text-left w-full min-h-[56px] active:scale-[0.98]
215
+ ${n?"border-blue-500 bg-blue-50 dark:bg-blue-900/20 dark:border-blue-400":"border-gray-200 dark:border-gray-700 hover:border-gray-300 dark:hover:border-gray-600 hover:bg-gray-50 dark:hover:bg-gray-800/50 active:bg-gray-100 dark:active:bg-gray-700"}
216
+ `,"data-testid":l,children:[r.jsx("div",{className:`
217
+ w-7 h-7 sm:w-8 sm:h-8 rounded flex items-center justify-center flex-shrink-0
218
+ ${n?"bg-blue-500 text-white":"bg-gray-100 dark:bg-gray-800 text-gray-600 dark:text-gray-400"}
219
+ `,children:r.jsx(a,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"})}),r.jsxs("div",{className:"flex-1 min-w-0",children:[r.jsxs("div",{className:"flex items-center gap-1 sm:gap-2",children:[r.jsx("span",{className:`text-xs sm:text-sm font-medium ${n?"text-blue-700 dark:text-blue-300":"text-gray-900 dark:text-gray-100"}`,children:e}),n&&r.jsx(Dt,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4 text-blue-500 flex-shrink-0"})]}),r.jsx("p",{className:"text-[10px] sm:text-xs text-gray-500 dark:text-gray-400 mt-0.5 line-clamp-2",children:t})]})]})}function AH({section:e}){const t=e.icon;return r.jsxs("div",{className:"text-center py-12","data-testid":`settings-${e.id}-section`,children:[r.jsx("div",{className:"w-12 h-12 mx-auto mb-4 rounded-lg bg-gray-100 dark:bg-gray-800 flex items-center justify-center",children:r.jsx(t,{className:"w-6 h-6 text-gray-400"})}),r.jsx("h3",{className:"text-lg font-medium text-gray-900 dark:text-gray-100 mb-2",children:e.label}),r.jsxs("p",{className:"text-sm text-gray-500 dark:text-gray-400",children:[e.description," settings are coming soon."]})]})}function $H({activeSection:e,onSectionChange:t,isMobile:a}){return a?r.jsx(DH,{activeSection:e,onSectionChange:t}):r.jsx(_H,{activeSection:e,onSectionChange:t})}function DH({activeSection:e,onSectionChange:t}){return r.jsx("div",{className:"border-b border-gray-200 dark:border-gray-700 bg-gray-50 dark:bg-gray-900/50",children:r.jsx("nav",{className:"flex overflow-x-auto px-2 py-2 gap-1 no-scrollbar","data-testid":"settings-nav",children:ky.map(a=>{const n=a.icon,o=e===a.id;return r.jsxs("button",{onClick:()=>t(a.id),className:`
220
+ flex items-center gap-2 px-3 py-2 rounded-lg whitespace-nowrap transition-colors flex-shrink-0 min-h-[44px]
221
+ ${o?"bg-white dark:bg-gray-800 text-blue-600 dark:text-blue-400 shadow-sm":"text-gray-600 dark:text-gray-400 active:bg-white dark:active:bg-gray-800"}
222
+ `,"data-testid":`settings-nav-${a.id}`,children:[r.jsx(n,{className:"w-4 h-4"}),r.jsx("span",{className:"text-sm font-medium",children:a.label})]},a.id)})})})}function _H({activeSection:e,onSectionChange:t}){return r.jsxs("div",{className:"w-64 border-r border-gray-200 dark:border-gray-700 bg-gray-50 dark:bg-gray-900/50 flex-shrink-0",children:[r.jsxs("div",{className:"p-4",children:[r.jsx("h1",{className:"text-xl font-semibold text-gray-900 dark:text-gray-100 mb-1",children:"Settings"}),r.jsx("p",{className:"text-sm text-gray-500 dark:text-gray-400",children:"Customize your experience"})]}),r.jsx("nav",{className:"px-2 py-2 space-y-1","data-testid":"settings-nav",children:ky.map(a=>{const n=a.icon,o=e===a.id;return r.jsxs("button",{onClick:()=>t(a.id),className:`
223
+ w-full flex items-center gap-3 px-3 py-2 rounded-lg text-left transition-colors
224
+ ${o?"bg-white dark:bg-gray-800 text-blue-600 dark:text-blue-400 shadow-sm":"text-gray-600 dark:text-gray-400 hover:bg-white dark:hover:bg-gray-800 hover:text-gray-900 dark:hover:text-gray-200"}
225
+ `,"data-testid":`settings-nav-${a.id}`,children:[r.jsx(n,{className:"w-5 h-5"}),r.jsxs("div",{className:"flex-1",children:[r.jsx("span",{className:"font-medium",children:a.label}),!a.implemented&&r.jsx("span",{className:"ml-2 text-xs text-gray-400",children:"Soon"})]})]},a.id)})})]})}function Iu({theme:e,label:t,description:a,icon:n,isSelected:o,onSelect:l,isMobile:d}){return r.jsxs("button",{onClick:l,className:`
226
+ flex items-start gap-3 sm:gap-4 p-3 sm:p-4 rounded-lg border transition-all text-left w-full min-h-[60px]
227
+ ${o?"border-blue-500 bg-blue-50 dark:bg-blue-900/20 dark:border-blue-400 ring-2 ring-blue-200 dark:ring-blue-800":"border-gray-200 dark:border-gray-700 hover:border-gray-300 dark:hover:border-gray-600 hover:bg-gray-50 dark:hover:bg-gray-800/50 active:bg-gray-100 dark:active:bg-gray-700"}
228
+ `,"data-testid":`theme-option-${e}`,children:[r.jsx("div",{className:`
229
+ w-9 h-9 sm:w-10 sm:h-10 rounded-lg flex items-center justify-center flex-shrink-0
230
+ ${o?"bg-blue-500 text-white":"bg-gray-100 dark:bg-gray-800 text-gray-600 dark:text-gray-400"}
231
+ `,children:r.jsx(n,{className:"w-4 h-4 sm:w-5 sm:h-5"})}),r.jsxs("div",{className:"flex-1 min-w-0",children:[r.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[r.jsx("span",{className:`font-medium text-sm sm:text-base ${o?"text-blue-700 dark:text-blue-300":"text-gray-900 dark:text-gray-100"}`,children:t}),o&&r.jsx("span",{className:"px-2 py-0.5 text-xs font-medium bg-blue-100 dark:bg-blue-800 text-blue-700 dark:text-blue-200 rounded",children:"Active"})]}),r.jsx("p",{className:`text-xs sm:text-sm mt-0.5 ${o?"text-gray-700 dark:text-gray-300":"text-gray-500 dark:text-gray-400"} ${d?"line-clamp-2":""}`,children:a})]})]})}function MH({currentTheme:e,onThemeChange:t,isMobile:a}){const[n,o]=y.useState("light");y.useEffect(()=>{o(nT())},[]);const l=u=>{wH(u),o(u),e==="high-contrast"&&Gu("high-contrast")},d=e==="system"?sT():e==="high-contrast"?n:e;return r.jsxs("div",{"data-testid":"settings-theme-section",children:[r.jsx("h3",{className:"text-base sm:text-lg font-medium text-gray-900 dark:text-gray-100 mb-2",children:"Theme"}),r.jsx("p",{className:"text-xs sm:text-sm text-gray-500 dark:text-gray-400 mb-4 sm:mb-6",children:"Choose how the application looks. You can select light mode, dark mode, high contrast mode, or follow your system settings."}),r.jsxs("div",{className:"space-y-2 sm:space-y-3",children:[r.jsx(Iu,{theme:"light",label:"Light",description:"A clean, bright interface for daytime use",icon:Wu,isSelected:e==="light",onSelect:()=>t("light"),isMobile:a}),r.jsx(Iu,{theme:"dark",label:"Dark",description:"Easy on the eyes, perfect for low-light environments",icon:Xu,isSelected:e==="dark",onSelect:()=>t("dark"),isMobile:a}),r.jsx(Iu,{theme:"high-contrast",label:"High Contrast",description:"Improved readability with enhanced color contrast (WCAG AAA)",icon:AO,isSelected:e==="high-contrast",onSelect:()=>t("high-contrast"),isMobile:a}),r.jsx(Iu,{theme:"system",label:"System",description:`Automatically match your system preference (currently ${d})`,icon:d2,isSelected:e==="system",onSelect:()=>t("system"),isMobile:a})]}),e==="high-contrast"&&r.jsxs("div",{className:"mt-4 sm:mt-6 p-3 sm:p-4 rounded-lg border border-gray-200 dark:border-gray-700 bg-gray-50 dark:bg-gray-900/50","data-testid":"high-contrast-base-section",children:[r.jsx("h4",{className:"text-xs sm:text-sm font-medium text-gray-700 dark:text-gray-300 mb-2 sm:mb-3",children:"High Contrast Base"}),r.jsx("p",{className:"text-xs text-gray-500 dark:text-gray-400 mb-2 sm:mb-3",children:"Choose whether high contrast mode uses a light or dark base."}),r.jsxs("div",{className:"flex flex-col sm:flex-row gap-2",children:[r.jsxs("button",{onClick:()=>l("light"),className:`
232
+ flex items-center justify-center sm:justify-start gap-2 px-4 py-3 sm:py-2 rounded-lg border transition-all text-sm min-h-[44px]
233
+ ${n==="light"?"border-blue-500 bg-blue-50 dark:bg-blue-900/20 text-blue-700 dark:text-blue-300":"border-gray-200 dark:border-gray-700 text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-800 active:bg-gray-200 dark:active:bg-gray-700"}
234
+ `,"data-testid":"high-contrast-base-light",children:[r.jsx(Wu,{className:"w-4 h-4"}),"Light Base"]}),r.jsxs("button",{onClick:()=>l("dark"),className:`
235
+ flex items-center justify-center sm:justify-start gap-2 px-4 py-3 sm:py-2 rounded-lg border transition-all text-sm min-h-[44px]
236
+ ${n==="dark"?"border-blue-500 bg-blue-50 dark:bg-blue-900/20 text-blue-700 dark:text-blue-300":"border-gray-200 dark:border-gray-700 text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-800 active:bg-gray-200 dark:active:bg-gray-700"}
237
+ `,"data-testid":"high-contrast-base-dark",children:[r.jsx(Xu,{className:"w-4 h-4"}),"Dark Base"]})]})]}),r.jsxs("div",{className:"mt-6 sm:mt-8",children:[r.jsx("h4",{className:"text-xs sm:text-sm font-medium text-gray-700 dark:text-gray-300 mb-2 sm:mb-3",children:"Preview"}),r.jsxs("div",{className:`
238
+ p-4 rounded-lg border
239
+ ${e==="high-contrast"?n==="dark"?"bg-black border-white":"bg-white border-black border-2":d==="dark"?"bg-gray-900 border-gray-700":"bg-white border-gray-200"}
240
+ `,"data-testid":"theme-preview",children:[r.jsxs("div",{className:"flex items-center gap-3 mb-3",children:[r.jsx("div",{className:`w-8 h-8 rounded-full ${e==="high-contrast"?n==="dark"?"bg-[#66b3ff]":"bg-[#0052cc]":d==="dark"?"bg-blue-500":"bg-blue-600"}`}),r.jsxs("div",{children:[r.jsx("div",{className:`text-sm font-medium ${e==="high-contrast"?n==="dark"?"text-white":"text-black":d==="dark"?"text-white":"text-gray-900"}`,children:"Sample Task"}),r.jsx("div",{className:`text-xs ${e==="high-contrast"?n==="dark"?"text-[#e0e0e0]":"text-[#333333]":d==="dark"?"text-gray-400":"text-gray-500"}`,children:"This is how content will appear"})]})]}),r.jsx("div",{className:`
241
+ text-xs px-2 py-1 rounded inline-block
242
+ ${e==="high-contrast"?n==="dark"?"bg-[rgba(102,178,255,0.2)] text-[#66b3ff]":"bg-[#cce5ff] text-[#0052cc]":d==="dark"?"bg-blue-900/50 text-blue-200":"bg-blue-100 text-blue-800"}
243
+ `,children:"Open"})]})]})]})}function LH({isMobile:e}){return r.jsx(nq,{defaults:R5,isMobile:e})}function PH({isMobile:e}){const[t,a]=y.useState(Vl);y.useEffect(()=>{a(iT())},[]);const n=(o,l)=>{const d={...t,[o]:l};a(d),kH(d)};return r.jsxs("div",{"data-testid":"settings-defaults-section",children:[r.jsx("h3",{className:"text-base sm:text-lg font-medium text-gray-900 dark:text-gray-100 mb-2",children:"Default Views"}),r.jsx("p",{className:"text-xs sm:text-sm text-gray-500 dark:text-gray-400 mb-4 sm:mb-6",children:"Set default view preferences that will be applied when you first load pages."}),r.jsxs("div",{className:"mb-6 sm:mb-8",children:[r.jsx("h4",{className:"text-xs sm:text-sm font-medium text-gray-700 dark:text-gray-300 mb-2 sm:mb-3",children:"Tasks View"}),r.jsx("p",{className:"text-[10px] sm:text-xs text-gray-500 dark:text-gray-400 mb-2 sm:mb-3",children:"Choose the default view when opening the Tasks page."}),r.jsxs("div",{className:"grid grid-cols-2 gap-2 sm:gap-3",children:[r.jsx(gn,{value:"list",label:"List View",description:"Traditional list layout with sorting",icon:za,isSelected:t.tasksView==="list",onSelect:()=>n("tasksView","list"),testId:"default-tasks-view-list"}),r.jsx(gn,{value:"kanban",label:"Kanban View",description:"Drag-and-drop board by status",icon:Xm,isSelected:t.tasksView==="kanban",onSelect:()=>n("tasksView","kanban"),testId:"default-tasks-view-kanban"})]})]}),r.jsxs("div",{className:"mb-6 sm:mb-8",children:[r.jsx("h4",{className:"text-xs sm:text-sm font-medium text-gray-700 dark:text-gray-300 mb-2 sm:mb-3",children:"Dashboard Lens"}),r.jsx("p",{className:"text-[10px] sm:text-xs text-gray-500 dark:text-gray-400 mb-2 sm:mb-3",children:"Choose the default dashboard view when navigating to the Dashboard."}),r.jsxs("div",{className:"grid grid-cols-2 gap-2 sm:gap-3",children:[r.jsx(gn,{value:"overview",label:"Overview",description:"Key metrics and quick actions",icon:$O,isSelected:t.dashboardLens==="overview",onSelect:()=>n("dashboardLens","overview"),testId:"default-dashboard-lens-overview"}),r.jsx(gn,{value:"dependencies",label:"Dependencies",description:"Visual dependency graph",icon:sc,isSelected:t.dashboardLens==="dependencies",onSelect:()=>n("dashboardLens","dependencies"),testId:"default-dashboard-lens-dependencies"}),r.jsx(gn,{value:"timeline",label:"Timeline",description:"Chronological event feed",icon:_t,isSelected:t.dashboardLens==="timeline",onSelect:()=>n("dashboardLens","timeline"),testId:"default-dashboard-lens-timeline"})]})]}),r.jsxs("div",{className:"mb-6 sm:mb-8",children:[r.jsx("h4",{className:"text-xs sm:text-sm font-medium text-gray-700 dark:text-gray-300 mb-2 sm:mb-3",children:"Default Sort Order"}),r.jsx("p",{className:"text-[10px] sm:text-xs text-gray-500 dark:text-gray-400 mb-2 sm:mb-3",children:"Choose how lists are sorted by default across the application."}),r.jsxs("div",{className:"grid grid-cols-2 gap-2 sm:gap-3",children:[r.jsx(gn,{value:"updated_at",label:"Last Updated",description:"Most recently modified first",icon:_t,isSelected:t.sortOrder==="updated_at",onSelect:()=>n("sortOrder","updated_at"),testId:"default-sort-updated"}),r.jsx(gn,{value:"created_at",label:"Date Created",description:"Newest items first",icon:zo,isSelected:t.sortOrder==="created_at",onSelect:()=>n("sortOrder","created_at"),testId:"default-sort-created"}),r.jsx(gn,{value:"priority",label:"Priority",description:"Highest priority first",icon:rs,isSelected:t.sortOrder==="priority",onSelect:()=>n("sortOrder","priority"),testId:"default-sort-priority"}),r.jsx(gn,{value:"title",label:"Title",description:"Alphabetical order",icon:Je,isSelected:t.sortOrder==="title",onSelect:()=>n("sortOrder","title"),testId:"default-sort-title"})]})]}),r.jsx("p",{className:"text-xs text-gray-400 dark:text-gray-500 mt-6 text-center",children:"These defaults apply when you first load a page. You can still change views temporarily at any time."})]})}function Bu({icon:e,label:t,description:a,enabled:n,onToggle:o,disabled:l=!1,testId:d}){return r.jsxs("div",{className:`flex items-center justify-between py-3 sm:py-4 px-3 sm:px-4 gap-3 min-h-[56px] ${l?"opacity-50":""}`,"data-testid":d,children:[r.jsxs("div",{className:"flex items-center gap-2 sm:gap-3 flex-1 min-w-0",children:[r.jsx("div",{className:"w-7 h-7 sm:w-8 sm:h-8 rounded-lg bg-gray-100 dark:bg-gray-800 flex items-center justify-center flex-shrink-0",children:r.jsx(e,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4 text-gray-600 dark:text-gray-400"})}),r.jsxs("div",{className:"min-w-0 flex-1",children:[r.jsx("span",{className:"text-xs sm:text-sm font-medium text-gray-900 dark:text-gray-100 block",children:t}),r.jsx("p",{className:"text-[10px] sm:text-xs text-gray-500 dark:text-gray-400 line-clamp-2",children:a})]})]}),r.jsx(Sy,{enabled:n,onToggle:o,disabled:l,testId:`${d}-toggle`})]})}function RH({isMobile:e}){const[t,a]=y.useState(Xi),[n,o]=y.useState("default"),[l,d]=y.useState(!1);y.useEffect(()=>{a(Ny()),o(TH())},[]);const u=p=>{a(p),CH(p)},m=p=>{const j={...t,preferences:{...t.preferences,[p]:!t.preferences[p]}};u(j)},h=async()=>{if(t.browserNotifications)u({...t,browserNotifications:!1});else if(n==="default"){d(!0);const p=await EH();o(p),d(!1),p==="granted"&&u({...t,browserNotifications:!0})}else n==="granted"&&u({...t,browserNotifications:!0})},x=p=>{u({...t,toastDuration:p})},g=p=>{u({...t,toastPosition:p})};return r.jsxs("div",{"data-testid":"settings-notifications-section",children:[r.jsx("h3",{className:"text-base sm:text-lg font-medium text-gray-900 dark:text-gray-100 mb-2",children:"Notifications"}),r.jsx("p",{className:"text-xs sm:text-sm text-gray-500 dark:text-gray-400 mb-4 sm:mb-6",children:"Configure how you receive notifications about activity in your workspace."}),r.jsxs("div",{className:"mb-6 sm:mb-8",children:[r.jsx("h4",{className:"text-xs sm:text-sm font-medium text-gray-700 dark:text-gray-300 mb-2 sm:mb-3",children:"Browser Notifications"}),n==="unsupported"&&r.jsx("div",{className:"mb-4 p-3 rounded-lg bg-yellow-50 dark:bg-yellow-900/20 border border-yellow-200 dark:border-yellow-800",children:r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsx(Nr,{className:"w-4 h-4 text-yellow-600 dark:text-yellow-400"}),r.jsx("p",{className:"text-sm text-yellow-700 dark:text-yellow-300",children:"Browser notifications are not supported in this browser."})]})}),n==="denied"&&r.jsx("div",{className:"mb-4 p-3 rounded-lg bg-red-50 dark:bg-red-900/20 border border-red-200 dark:border-red-800",children:r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsx(dt,{className:"w-4 h-4 text-red-600 dark:text-red-400"}),r.jsx("p",{className:"text-sm text-red-700 dark:text-red-300",children:"Browser notifications are blocked. Please enable them in your browser settings."})]})}),n==="default"&&r.jsxs("div",{className:"mb-4",children:[r.jsxs("button",{onClick:h,disabled:l,className:"flex items-center gap-2 px-4 py-2 text-sm font-medium text-white bg-blue-500 hover:bg-blue-600 disabled:opacity-50 disabled:cursor-not-allowed rounded-lg","data-testid":"request-permission-button",children:[r.jsx(DO,{className:"w-4 h-4"}),l?"Requesting...":"Enable Browser Notifications"]}),r.jsx("p",{className:"text-xs text-gray-500 dark:text-gray-400 mt-2",children:"Click to request permission for browser notifications."})]}),n==="granted"&&r.jsx("div",{className:"mb-4",children:r.jsxs("div",{className:"flex items-center justify-between p-4 rounded-lg border border-gray-200 dark:border-gray-700",children:[r.jsxs("div",{className:"flex items-center gap-3",children:[r.jsx("div",{className:"w-8 h-8 rounded-lg bg-green-100 dark:bg-green-900/30 flex items-center justify-center",children:r.jsx(Dt,{className:"w-4 h-4 text-green-600 dark:text-green-400"})}),r.jsxs("div",{children:[r.jsx("span",{className:"text-sm font-medium text-gray-900 dark:text-gray-100",children:"Browser Notifications"}),r.jsx("p",{className:"text-xs text-gray-500 dark:text-gray-400",children:"Show desktop notifications for important events"})]})]}),r.jsx(Sy,{enabled:t.browserNotifications,onToggle:h,testId:"browser-notifications-toggle"})]})})]}),r.jsxs("div",{className:"mb-8",children:[r.jsx("h4",{className:"text-sm font-medium text-gray-700 dark:text-gray-300 mb-3",children:"Notification Types"}),r.jsx("p",{className:"text-xs text-gray-500 dark:text-gray-400 mb-4",children:"Choose which events you want to be notified about."}),r.jsxs("div",{className:"border border-gray-200 dark:border-gray-700 rounded-lg divide-y divide-gray-200 dark:divide-gray-700",children:[r.jsx(Bu,{icon:Bt,label:"Task assigned to me",description:"When a task is assigned to you or your team",enabled:t.preferences.taskAssigned,onToggle:()=>m("taskAssigned"),testId:"notification-task-assigned"}),r.jsx(Bu,{icon:Sa,label:"Task completed",description:"When a task you're watching is completed",enabled:t.preferences.taskCompleted,onToggle:()=>m("taskCompleted"),testId:"notification-task-completed"}),r.jsx(Bu,{icon:vt,label:"New message in channel",description:"When you receive a new message in a channel",enabled:t.preferences.newMessage,onToggle:()=>m("newMessage"),testId:"notification-new-message"}),r.jsx(Bu,{icon:bn,label:"Workflow completed/failed",description:"When a workflow finishes or encounters an error",enabled:t.preferences.workflowCompleted,onToggle:()=>m("workflowCompleted"),testId:"notification-workflow-completed"})]})]}),r.jsxs("div",{className:"mb-6 sm:mb-8",children:[r.jsx("h4",{className:"text-xs sm:text-sm font-medium text-gray-700 dark:text-gray-300 mb-2 sm:mb-3",children:"Toast Notifications"}),r.jsx("p",{className:"text-[10px] sm:text-xs text-gray-500 dark:text-gray-400 mb-3 sm:mb-4",children:"Configure how in-app toast notifications appear."}),r.jsxs("div",{className:"mb-4",children:[r.jsx("label",{className:"text-xs sm:text-sm text-gray-600 dark:text-gray-400 mb-2 block",children:"Duration"}),r.jsx("div",{className:`flex gap-2 ${e?"flex-col":""}`,children:[{value:3e3,label:"3 seconds"},{value:5e3,label:"5 seconds"},{value:1e4,label:"10 seconds"}].map(({value:p,label:j})=>r.jsx("button",{onClick:()=>x(p),className:`
244
+ px-4 py-3 sm:py-2 text-xs sm:text-sm rounded-lg border transition-all min-h-[44px] active:scale-[0.98]
245
+ ${t.toastDuration===p?"border-blue-500 bg-blue-50 dark:bg-blue-900/20 text-blue-700 dark:text-blue-300":"border-gray-200 dark:border-gray-700 text-gray-700 dark:text-gray-300 hover:bg-gray-50 dark:hover:bg-gray-800 active:bg-gray-100 dark:active:bg-gray-700"}
246
+ ${e?"w-full":""}
247
+ `,"data-testid":`toast-duration-${p}`,children:j},p))})]}),r.jsxs("div",{children:[r.jsx("label",{className:"text-xs sm:text-sm text-gray-600 dark:text-gray-400 mb-2 block",children:"Position"}),r.jsx("div",{className:"grid grid-cols-2 gap-2",children:[{value:"top-right",label:"Top Right"},{value:"top-left",label:"Top Left"},{value:"bottom-right",label:"Bottom Right"},{value:"bottom-left",label:"Bottom Left"}].map(({value:p,label:j})=>r.jsx("button",{onClick:()=>g(p),className:`
248
+ px-4 py-3 sm:py-2 text-xs sm:text-sm rounded-lg border transition-all min-h-[44px] active:scale-[0.98]
249
+ ${t.toastPosition===p?"border-blue-500 bg-blue-50 dark:bg-blue-900/20 text-blue-700 dark:text-blue-300":"border-gray-200 dark:border-gray-700 text-gray-700 dark:text-gray-300 hover:bg-gray-50 dark:hover:bg-gray-800 active:bg-gray-100 dark:active:bg-gray-700"}
250
+ `,"data-testid":`toast-position-${p}`,children:j},p))})]})]}),r.jsx("p",{className:"text-xs text-gray-400 dark:text-gray-500 mt-6 text-center",children:"Notification settings are saved automatically and apply immediately."})]})}function IH({isMobile:e}){const t=$e(),[a,n]=y.useState(Gl),[o,l]=y.useState(null),[d,u]=y.useState(null),m=y.useRef(null);y.useEffect(()=>{n(OH())},[]);const{data:h,isLoading:x,refetch:g}=be({queryKey:["sync","status"],queryFn:async()=>{const O=await fetch("/api/sync/status");if(!O.ok)throw new Error("Failed to fetch sync status");return O.json()},refetchInterval:3e4}),p=Re({mutationFn:async(O=!1)=>{const S=await fetch("/api/sync/export",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({includeEphemeral:O})});if(!S.ok)throw new Error("Failed to export");return S.json()},onSuccess:O=>{l(O),u(null);const S={...a,lastExportAt:O.exportedAt};n(S),Bg(S),g()}}),j=Re({mutationFn:async O=>{const S=await fetch("/api/sync/import",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(O)});if(!S.ok)throw new Error("Failed to import");return S.json()},onSuccess:O=>{u(O),l(null);const S={...a,lastImportAt:O.importedAt};n(S),Bg(S),t.invalidateQueries()}}),k=()=>{p.mutate(!1)},N=async O=>{const S=O.target.files;if(!(!S||S.length===0)){try{let C="",A="";for(const $ of Array.from(S)){const P=await $.text();$.name.includes("elements")?C=P:$.name.includes("dependencies")?A=P:C=P}if(!C){alert('No valid elements file found. Please select a file named "elements.jsonl" or containing "elements" in the filename.');return}j.mutate({elements:C,dependencies:A})}catch(C){console.error("Failed to read files:",C),alert("Failed to read the selected files.")}m.current&&(m.current.value="")}},v=()=>{m.current?.click()},T=O=>{const S={...a,autoExport:O};n(S),Bg(S)},E=O=>O?new Date(O).toLocaleString():"Never";return r.jsxs("div",{"data-testid":"settings-sync-section",children:[r.jsx("h3",{className:"text-base sm:text-lg font-medium text-gray-900 dark:text-gray-100 mb-2",children:"Sync"}),r.jsx("p",{className:"text-xs sm:text-sm text-gray-500 dark:text-gray-400 mb-4 sm:mb-6",children:"Export and import your data as JSONL files. This allows you to backup your data, share it across machines, or version control your work."}),r.jsxs("div",{className:"mb-6 sm:mb-8",children:[r.jsx("h4",{className:"text-xs sm:text-sm font-medium text-gray-700 dark:text-gray-300 mb-2 sm:mb-3",children:"Status"}),r.jsx("div",{className:"border border-gray-200 dark:border-gray-700 rounded-lg p-3 sm:p-4 space-y-3",children:x?r.jsxs("div",{className:"flex items-center gap-2 text-gray-500",children:[r.jsx(je,{className:"w-4 h-4 animate-spin"}),r.jsx("span",{className:"text-xs sm:text-sm",children:"Loading status..."})]}):h?r.jsxs(r.Fragment,{children:[r.jsxs("div",{className:`flex gap-2 ${e?"flex-col":"items-center justify-between"}`,children:[r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsx(_O,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4 text-gray-500 flex-shrink-0"}),r.jsx("span",{className:"text-xs sm:text-sm text-gray-600 dark:text-gray-400",children:"Export Path"})]}),r.jsx("code",{className:"text-[10px] sm:text-xs bg-gray-100 dark:bg-gray-800 px-2 py-1 rounded truncate max-w-full","data-testid":"export-path",children:h.exportPath})]}),r.jsxs("div",{className:"flex items-center justify-between",children:[r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsx(Xs,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4 text-gray-500 flex-shrink-0"}),r.jsx("span",{className:"text-xs sm:text-sm text-gray-600 dark:text-gray-400",children:"Pending Changes"})]}),r.jsxs("span",{className:`text-xs sm:text-sm font-medium ${h.hasPendingChanges?"text-yellow-600 dark:text-yellow-400":"text-green-600 dark:text-green-400"}`,"data-testid":"dirty-element-count",children:[h.dirtyElementCount," elements"]})]}),r.jsxs("div",{className:"flex items-center justify-between",children:[r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsx(Wg,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4 text-gray-500 flex-shrink-0"}),r.jsx("span",{className:"text-xs sm:text-sm text-gray-600 dark:text-gray-400",children:"Last Export"})]}),r.jsx("span",{className:"text-xs sm:text-sm text-gray-600 dark:text-gray-400","data-testid":"last-export-time",children:E(a.lastExportAt)})]}),r.jsxs("div",{className:"flex items-center justify-between",children:[r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsx(io,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4 text-gray-500 flex-shrink-0"}),r.jsx("span",{className:"text-xs sm:text-sm text-gray-600 dark:text-gray-400",children:"Last Import"})]}),r.jsx("span",{className:"text-xs sm:text-sm text-gray-600 dark:text-gray-400","data-testid":"last-import-time",children:E(a.lastImportAt)})]})]}):r.jsx("div",{className:"text-xs sm:text-sm text-red-500",children:"Failed to load status"})})]}),r.jsxs("div",{className:"mb-6 sm:mb-8",children:[r.jsx("h4",{className:"text-xs sm:text-sm font-medium text-gray-700 dark:text-gray-300 mb-2 sm:mb-3",children:"Auto Export"}),r.jsxs("div",{className:"flex items-center justify-between gap-3 p-3 sm:p-4 border border-gray-200 dark:border-gray-700 rounded-lg",children:[r.jsxs("div",{className:"min-w-0 flex-1",children:[r.jsx("span",{className:"text-xs sm:text-sm font-medium text-gray-900 dark:text-gray-100 block",children:"Enable Auto Export"}),r.jsx("p",{className:"text-[10px] sm:text-xs text-gray-500 dark:text-gray-400 mt-0.5",children:"Automatically export changes to JSONL files (feature coming soon)"})]}),r.jsx(Sy,{enabled:a.autoExport,onToggle:()=>T(!a.autoExport),disabled:!0,testId:"auto-export-toggle"})]})]}),r.jsxs("div",{className:"mb-6 sm:mb-8",children:[r.jsx("h4",{className:"text-xs sm:text-sm font-medium text-gray-700 dark:text-gray-300 mb-2 sm:mb-3",children:"Export Data"}),r.jsxs("div",{className:"border border-gray-200 dark:border-gray-700 rounded-lg p-3 sm:p-4",children:[r.jsx("p",{className:"text-[10px] sm:text-sm text-gray-500 dark:text-gray-400 mb-3 sm:mb-4",children:"Export all elements and dependencies to JSONL files in the .stoneforge directory."}),r.jsxs("button",{onClick:k,disabled:p.isPending,className:`flex items-center justify-center gap-2 px-4 py-3 sm:py-2 bg-blue-500 text-white rounded-lg hover:bg-blue-600 disabled:opacity-50 disabled:cursor-not-allowed text-xs sm:text-sm min-h-[44px] ${e?"w-full":""}`,"data-testid":"export-now-button",children:[p.isPending?r.jsx(je,{className:"w-4 h-4 animate-spin"}):r.jsx(Wg,{className:"w-4 h-4"}),p.isPending?"Exporting...":"Export Now"]}),o&&r.jsxs("div",{className:"mt-3 sm:mt-4 p-3 rounded-lg bg-green-50 dark:bg-green-900/20 border border-green-200 dark:border-green-800","data-testid":"export-result",children:[r.jsxs("div",{className:"flex items-center gap-2 text-green-700 dark:text-green-300 mb-2",children:[r.jsx(Dt,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"}),r.jsx("span",{className:"font-medium text-xs sm:text-sm",children:"Export Successful"})]}),r.jsxs("div",{className:"text-[10px] sm:text-sm text-green-600 dark:text-green-400 space-y-1",children:[r.jsxs("div",{children:["Elements exported: ",o.elementsExported]}),r.jsxs("div",{children:["Dependencies exported: ",o.dependenciesExported]}),r.jsxs("div",{className:"text-[10px] sm:text-xs mt-2 break-all",children:[r.jsxs("div",{children:["Elements file: ",o.elementsFile]}),r.jsxs("div",{children:["Dependencies file: ",o.dependenciesFile]})]})]})]}),p.isError&&r.jsx("div",{className:"mt-3 sm:mt-4 p-3 rounded-lg bg-red-50 dark:bg-red-900/20 border border-red-200 dark:border-red-800",children:r.jsxs("div",{className:"flex items-center gap-2 text-red-600 dark:text-red-400",children:[r.jsx(dt,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"}),r.jsx("span",{className:"text-xs sm:text-sm",children:"Export failed. Please try again."})]})})]})]}),r.jsxs("div",{className:"mb-6 sm:mb-8",children:[r.jsx("h4",{className:"text-xs sm:text-sm font-medium text-gray-700 dark:text-gray-300 mb-2 sm:mb-3",children:"Import Data"}),r.jsxs("div",{className:"border border-gray-200 dark:border-gray-700 rounded-lg p-3 sm:p-4",children:[r.jsx("p",{className:"text-[10px] sm:text-sm text-gray-500 dark:text-gray-400 mb-3 sm:mb-4",children:"Import elements and dependencies from JSONL files. Select both elements.jsonl and dependencies.jsonl files."}),r.jsx("input",{type:"file",ref:m,onChange:N,accept:".jsonl",multiple:!0,className:"hidden","data-testid":"import-file-input"}),r.jsxs("button",{onClick:v,disabled:j.isPending,className:`flex items-center justify-center gap-2 px-4 py-3 sm:py-2 border border-gray-300 dark:border-gray-600 text-gray-700 dark:text-gray-300 rounded-lg hover:bg-gray-50 dark:hover:bg-gray-800 disabled:opacity-50 disabled:cursor-not-allowed text-xs sm:text-sm min-h-[44px] ${e?"w-full":""}`,"data-testid":"import-button",children:[j.isPending?r.jsx(je,{className:"w-4 h-4 animate-spin"}):r.jsx(io,{className:"w-4 h-4"}),j.isPending?"Importing...":"Import from File"]}),d&&r.jsxs("div",{className:`mt-3 sm:mt-4 p-3 rounded-lg ${d.errors.length>0?"bg-yellow-50 dark:bg-yellow-900/20 border border-yellow-200 dark:border-yellow-800":"bg-green-50 dark:bg-green-900/20 border border-green-200 dark:border-green-800"}`,"data-testid":"import-result",children:[r.jsxs("div",{className:`flex items-center gap-2 ${d.errors.length>0?"text-yellow-700 dark:text-yellow-300":"text-green-700 dark:text-green-300"} mb-2`,children:[d.errors.length>0?r.jsx(Nr,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"}):r.jsx(Dt,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"}),r.jsx("span",{className:"font-medium text-xs sm:text-sm",children:d.errors.length>0?"Import Completed with Warnings":"Import Successful"})]}),r.jsxs("div",{className:`text-[10px] sm:text-sm ${d.errors.length>0?"text-yellow-600 dark:text-yellow-400":"text-green-600 dark:text-green-400"} space-y-1`,children:[r.jsxs("div",{children:["Elements imported: ",d.elementsImported]}),r.jsxs("div",{children:["Elements skipped: ",d.elementsSkipped]}),r.jsxs("div",{children:["Dependencies imported: ",d.dependenciesImported]}),r.jsxs("div",{children:["Dependencies skipped: ",d.dependenciesSkipped]}),d.conflicts.length>0&&r.jsxs("div",{className:"mt-2",children:["Conflicts resolved: ",d.conflicts.length]}),d.errors.length>0&&r.jsxs("div",{className:"mt-2 text-[10px] sm:text-xs text-red-600 dark:text-red-400",children:["Errors: ",d.errors.length,r.jsxs("ul",{className:"list-disc list-inside mt-1",children:[d.errors.slice(0,3).map((O,S)=>r.jsxs("li",{className:"break-all",children:[O.file,":",O.line," - ",O.message]},S)),d.errors.length>3&&r.jsxs("li",{children:["... and ",d.errors.length-3," more"]})]})]})]})]}),j.isError&&r.jsx("div",{className:"mt-3 sm:mt-4 p-3 rounded-lg bg-red-50 dark:bg-red-900/20 border border-red-200 dark:border-red-800",children:r.jsxs("div",{className:"flex items-center gap-2 text-red-600 dark:text-red-400",children:[r.jsx(dt,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"}),r.jsx("span",{className:"text-xs sm:text-sm",children:"Import failed. Please check your files and try again."})]})})]})]}),r.jsx("p",{className:"text-xs text-gray-400 dark:text-gray-500 mt-6 text-center",children:"JSONL exports are git-friendly and can be version controlled for backup."})]})}function BH(){const e=Et(),[t,a]=y.useState("system"),[n,o]=y.useState("theme");y.useEffect(()=>{const u=vH();a(u),Gu(u)},[]),y.useEffect(()=>{if(t!=="system")return;const u=window.matchMedia("(prefers-color-scheme: dark)"),m=()=>{Gu("system")};return u.addEventListener("change",m),()=>u.removeEventListener("change",m)},[t]);const l=u=>{a(u),jH(u),Gu(u)},d=()=>{switch(n){case"theme":return r.jsx(MH,{currentTheme:t,onThemeChange:l,isMobile:e});case"shortcuts":return r.jsx(LH,{isMobile:e});case"defaults":return r.jsx(PH,{isMobile:e});case"notifications":return r.jsx(RH,{isMobile:e});case"sync":return r.jsx(IH,{isMobile:e});default:{const u=ky.find(m=>m.id===n);return u?r.jsx(AH,{section:u}):null}}};return r.jsxs("div",{className:"h-full flex flex-col lg:flex-row","data-testid":"settings-page",children:[e&&r.jsx("div",{className:"p-3 border-b border-gray-200 dark:border-gray-700 bg-white dark:bg-gray-900",children:r.jsx("h1",{className:"text-lg font-semibold text-gray-900 dark:text-gray-100",children:"Settings"})}),r.jsx($H,{activeSection:n,onSectionChange:o,isMobile:e}),r.jsx("div",{className:"flex-1 overflow-auto",children:r.jsx("div",{className:`mx-auto ${e?"p-4":"max-w-2xl p-8"}`,children:d()})})]})}function Cy(e){y.useEffect(()=>{SH(e)},[e])}function oT(){return be({queryKey:["stats"],queryFn:async()=>{const e=await fetch("/api/stats");if(!e.ok)throw new Error("Failed to fetch stats");return e.json()}})}function zH(){return be({queryKey:["health"],queryFn:async()=>{const e=await fetch("/api/health");if(!e.ok)throw new Error("Failed to fetch health");return e.json()},refetchInterval:3e4})}function qH(){return be({queryKey:["tasks","ready"],queryFn:async()=>{const e=await fetch("/api/tasks/ready");if(!e.ok)throw new Error("Failed to fetch ready tasks");return e.json()}})}function FH(){return be({queryKey:["events","recent"],queryFn:async()=>{const e=await fetch("/api/events?limit=10");if(!e.ok)throw new Error("Failed to fetch events");return e.json()},refetchInterval:3e4})}function UH(){return be({queryKey:["entities"],queryFn:async()=>{const e=await fetch("/api/entities");if(!e.ok)throw new Error("Failed to fetch entities");const t=await e.json();return t.items||t}})}function KH(){return be({queryKey:["tasks","completedToday"],queryFn:async()=>{const e=await fetch("/api/tasks");if(!e.ok)throw new Error("Failed to fetch tasks");const t=await e.json(),a=new Date;a.setHours(0,0,0,0);const n=a.toISOString();return t.filter(l=>l.status!=="closed"?!1:(l.closedAt||l.updatedAt)>=n).length}})}function HH(){const e=oT(),t=UH(),a=KH(),n=(t.data||[]).filter(m=>m.entityType==="agent"&&m.active!==!1).length,o=e.data?.readyTasks||0,l=e.data?.blockedTasks||0,d=o+l,u=d>0?Math.round(o/d*100):0;return r.jsxs("div",{className:"grid grid-cols-2 sm:grid-cols-2 lg:grid-cols-4 gap-3 sm:gap-4 lg:gap-6","data-testid":"metrics-overview",children:[r.jsx("div",{className:"bg-white dark:bg-gray-800 rounded-lg shadow p-3 sm:p-4 lg:p-6","data-testid":"metric-total-tasks",children:r.jsxs("div",{className:"flex items-center gap-2 sm:gap-3",children:[r.jsx("div",{className:"p-2 sm:p-3 rounded-full bg-blue-100 dark:bg-blue-900/30 shrink-0",children:r.jsx(_r,{className:"w-4 h-4 sm:w-5 sm:h-5 lg:w-6 lg:h-6 text-blue-600 dark:text-blue-400"})}),r.jsxs("div",{className:"min-w-0",children:[r.jsx("p",{className:"text-xs sm:text-sm text-gray-500 dark:text-gray-400 truncate",children:"Total Tasks"}),r.jsx("p",{className:"text-lg sm:text-xl lg:text-2xl font-semibold text-gray-900 dark:text-gray-100",children:e.isLoading?"...":d})]})]})}),r.jsx("div",{className:"bg-white dark:bg-gray-800 rounded-lg shadow p-3 sm:p-4 lg:p-6","data-testid":"metric-ready-ratio",children:r.jsxs("div",{className:"flex items-center gap-2 sm:gap-3",children:[r.jsx("div",{className:"p-2 sm:p-3 rounded-full bg-green-100 dark:bg-green-900/30 shrink-0",children:r.jsx(Gt,{className:"w-4 h-4 sm:w-5 sm:h-5 lg:w-6 lg:h-6 text-green-600 dark:text-green-400"})}),r.jsxs("div",{className:"min-w-0",children:[r.jsx("p",{className:"text-xs sm:text-sm text-gray-500 dark:text-gray-400 truncate",children:"Ready vs Blocked"}),r.jsx("p",{className:"text-lg sm:text-xl lg:text-2xl font-semibold text-gray-900 dark:text-gray-100",children:e.isLoading?"...":`${u}%`}),r.jsxs("p",{className:"text-[10px] sm:text-xs text-gray-500 dark:text-gray-400 truncate",children:[o," ready, ",l," blocked"]})]})]})}),r.jsx("div",{className:"bg-white dark:bg-gray-800 rounded-lg shadow p-3 sm:p-4 lg:p-6","data-testid":"metric-active-agents",children:r.jsxs("div",{className:"flex items-center gap-2 sm:gap-3",children:[r.jsx("div",{className:"p-2 sm:p-3 rounded-full bg-purple-100 dark:bg-purple-900/30 shrink-0",children:r.jsx(tr,{className:"w-4 h-4 sm:w-5 sm:h-5 lg:w-6 lg:h-6 text-purple-600 dark:text-purple-400"})}),r.jsxs("div",{className:"min-w-0",children:[r.jsx("p",{className:"text-xs sm:text-sm text-gray-500 dark:text-gray-400 truncate",children:"Active Agents"}),r.jsx("p",{className:"text-lg sm:text-xl lg:text-2xl font-semibold text-gray-900 dark:text-gray-100",children:t.isLoading?"...":n})]})]})}),r.jsx("div",{className:"bg-white dark:bg-gray-800 rounded-lg shadow p-3 sm:p-4 lg:p-6","data-testid":"metric-completed-today",children:r.jsxs("div",{className:"flex items-center gap-2 sm:gap-3",children:[r.jsx("div",{className:"p-2 sm:p-3 rounded-full bg-yellow-100 dark:bg-yellow-900/30 shrink-0",children:r.jsx(_t,{className:"w-4 h-4 sm:w-5 sm:h-5 lg:w-6 lg:h-6 text-yellow-600 dark:text-yellow-400"})}),r.jsxs("div",{className:"min-w-0",children:[r.jsx("p",{className:"text-xs sm:text-sm text-gray-500 dark:text-gray-400 truncate",children:"Completed Today"}),r.jsx("p",{className:"text-lg sm:text-xl lg:text-2xl font-semibold text-gray-900 dark:text-gray-100",children:a.isLoading?"...":a.data||0})]})]})})]})}function VH({onCreateTask:e,onCreateWorkflow:t}){return Va(),r.jsxs("div",{className:"mt-8","data-testid":"quick-actions",children:[r.jsx("h3",{className:"text-md font-medium text-gray-900 dark:text-gray-100 mb-4",children:"Quick Actions"}),r.jsxs("div",{className:"flex flex-wrap gap-3",children:[r.jsxs("button",{onClick:e,className:"inline-flex items-center gap-2 px-4 py-2 bg-blue-600 text-white text-sm font-medium rounded-lg hover:bg-blue-700 transition-colors","data-testid":"quick-action-create-task",children:[r.jsx(Fe,{className:"w-4 h-4"}),"Create Task",r.jsx("kbd",{className:"ml-1 text-xs bg-blue-800/50 text-white px-1 py-0.5 rounded",children:or("action.createTask")})]}),r.jsxs("button",{onClick:t,className:"inline-flex items-center gap-2 px-4 py-2 bg-purple-600 text-white text-sm font-medium rounded-lg hover:bg-purple-700 transition-colors","data-testid":"quick-action-create-workflow",children:[r.jsx(MO,{className:"w-4 h-4"}),"Create Workflow",r.jsx("kbd",{className:"ml-1 text-xs bg-purple-800/50 text-white px-1 py-0.5 rounded",children:or("action.createWorkflow")})]}),r.jsxs(ha,{to:"/tasks",search:{page:1,limit:25,readyOnly:!0},className:"inline-flex items-center gap-2 px-4 py-2 bg-gray-100 dark:bg-gray-800 text-gray-700 dark:text-gray-200 text-sm font-medium rounded-lg hover:bg-gray-200 dark:hover:bg-gray-700 transition-colors","data-testid":"quick-action-view-tasks",children:[r.jsx(_r,{className:"w-4 h-4"}),"View Ready Tasks"]})]})]})}function GH(){const e=qH();return r.jsxs("div",{className:"mt-6 sm:mt-8",children:[r.jsxs("div",{className:"flex items-center justify-between mb-3 sm:mb-4",children:[r.jsx("h3",{className:"text-sm sm:text-md font-medium text-gray-900 dark:text-gray-100",children:"Ready Tasks"}),r.jsxs(ha,{to:"/tasks",search:{page:1,limit:25,readyOnly:!0},className:"text-xs sm:text-sm text-blue-600 hover:text-blue-700 flex items-center gap-1",children:["View all ",r.jsx(Qs,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"})]})]}),e.isLoading&&r.jsx("div",{className:"text-gray-500 dark:text-gray-400 text-sm",children:"Loading ready tasks..."}),e.isError&&r.jsx("div",{className:"text-red-600 text-sm",children:"Failed to load ready tasks"}),e.data&&e.data.length===0&&r.jsx("div",{className:"bg-white dark:bg-gray-800 rounded-lg shadow p-4 sm:p-6 text-center text-gray-500 dark:text-gray-400 text-sm",children:"No ready tasks available. All tasks are either blocked or completed."}),e.data&&e.data.length>0&&r.jsxs("div",{className:"space-y-2 sm:space-y-3",children:[e.data.slice(0,5).map(t=>r.jsx(kC,{task:t},t.id)),e.data.length>5&&r.jsxs(ha,{to:"/tasks",search:{page:1,limit:25,readyOnly:!0},className:"block text-center text-xs sm:text-sm text-blue-600 hover:text-blue-700 py-2",children:["View ",e.data.length-5," more ready tasks"]})]})]})}const YH={created:Fe,updated:Ks,deleted:dt},lT={task:_r,entity:Bt,document:Je,message:vt};function QH(e){const t=new Date(e),n=new Date().getTime()-t.getTime(),o=Math.floor(n/6e4),l=Math.floor(o/60),d=Math.floor(l/24);return o<1?"just now":o<60?`${o}m ago`:l<24?`${l}h ago`:d<7?`${d}d ago`:t.toLocaleDateString()}function XH(){const e=FH();return r.jsxs("div",{className:"mt-6 sm:mt-8","data-testid":"recent-activity",children:[r.jsxs("div",{className:"flex items-center justify-between mb-3 sm:mb-4",children:[r.jsx("h3",{className:"text-sm sm:text-md font-medium text-gray-900 dark:text-gray-100",children:"Recent Activity"}),r.jsxs(ha,{to:"/dashboard/timeline",search:{page:1,limit:100,actor:void 0,startTime:void 0,endTime:void 0},className:"text-xs sm:text-sm text-blue-600 hover:text-blue-700 flex items-center gap-1",children:["View all ",r.jsx(Qs,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"})]})]}),e.isLoading&&r.jsx("div",{className:"text-gray-500 dark:text-gray-400 text-sm",children:"Loading activity..."}),e.isError&&r.jsx("div",{className:"text-red-600 text-sm",children:"Failed to load activity"}),e.data&&e.data.length===0&&r.jsx("div",{className:"bg-white dark:bg-gray-800 rounded-lg shadow p-4 sm:p-6 text-center text-gray-500 dark:text-gray-400 text-sm",children:"No recent activity"}),e.data&&e.data.length>0&&r.jsx("div",{className:"bg-white dark:bg-gray-800 rounded-lg shadow divide-y divide-gray-100 dark:divide-gray-700","data-testid":"activity-list",children:e.data.map(t=>{const a=YH[t.eventType]||Ks,n=lT[t.elementType]||Ks;return r.jsxs("div",{className:"p-3 sm:p-4 flex items-start gap-2 sm:gap-3","data-testid":`activity-item-${t.id}`,children:[r.jsx("div",{className:"p-1.5 sm:p-2 rounded-full bg-gray-100 dark:bg-gray-700 shrink-0",children:r.jsx(a,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4 text-gray-600 dark:text-gray-400"})}),r.jsxs("div",{className:"flex-1 min-w-0",children:[r.jsxs("div",{className:"flex items-center gap-1.5 sm:gap-2 flex-wrap",children:[r.jsx(n,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4 text-gray-500 dark:text-gray-400 shrink-0"}),r.jsx("span",{className:"text-xs sm:text-sm font-medium text-gray-900 dark:text-gray-100 capitalize",children:t.eventType}),r.jsx("span",{className:"text-xs sm:text-sm text-gray-500 dark:text-gray-400",children:t.elementType})]}),r.jsx("p",{className:"text-[10px] sm:text-xs text-gray-500 dark:text-gray-400 font-mono mt-0.5 truncate",children:t.elementId}),r.jsx("p",{className:"text-[10px] sm:text-xs text-gray-500 dark:text-gray-400 mt-1",children:QH(t.createdAt)})]})]},t.id)})})]})}function WH({elementsByType:e}){return!e||Object.keys(e).length===0?null:r.jsxs("div",{className:"mt-6 sm:mt-8",children:[r.jsx("h3",{className:"text-sm sm:text-md font-medium text-gray-900 dark:text-gray-100 mb-3 sm:mb-4",children:"Elements by Type"}),r.jsx("div",{className:"bg-white dark:bg-gray-800 rounded-lg shadow p-4 sm:p-6",children:r.jsx("div",{className:"grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-4 gap-3 sm:gap-4",children:Object.entries(e).map(([t,a])=>{const n=lT[t]||Ks;return r.jsxs("div",{className:"flex items-center gap-2 sm:gap-3 p-2 sm:p-3 bg-gray-50 dark:bg-gray-700/50 rounded-lg",children:[r.jsx(n,{className:"w-4 h-4 sm:w-5 sm:h-5 text-gray-500 dark:text-gray-400 shrink-0"}),r.jsxs("div",{className:"min-w-0",children:[r.jsx("p",{className:"text-sm font-medium text-gray-900 dark:text-gray-100",children:a}),r.jsx("p",{className:"text-xs text-gray-500 dark:text-gray-400 capitalize truncate",children:t==="entity"?"Entities":t==="library"?"Libraries":`${t}s`})]})]},t)})})})]})}function ZH({health:e}){return r.jsxs("div",{className:"mt-6 sm:mt-8",children:[r.jsx("h3",{className:"text-sm sm:text-md font-medium text-gray-900 dark:text-gray-100 mb-3 sm:mb-4",children:"System Status"}),r.jsx("div",{className:"bg-white dark:bg-gray-800 rounded-lg shadow p-4 sm:p-6",children:r.jsxs("dl",{className:"grid grid-cols-2 lg:grid-cols-4 gap-3 sm:gap-4",children:[r.jsxs("div",{className:"min-w-0",children:[r.jsx("dt",{className:"text-[10px] sm:text-xs text-gray-500 dark:text-gray-400",children:"Database"}),r.jsx("dd",{className:"font-mono text-xs sm:text-sm text-gray-700 dark:text-gray-300 truncate",children:e.database})]}),r.jsxs("div",{className:"min-w-0",children:[r.jsx("dt",{className:"text-[10px] sm:text-xs text-gray-500 dark:text-gray-400",children:"Last Updated"}),r.jsx("dd",{className:"text-xs sm:text-sm text-gray-700 dark:text-gray-300",children:new Date(e.timestamp).toLocaleTimeString()})]}),e.websocket&&r.jsxs(r.Fragment,{children:[r.jsxs("div",{className:"min-w-0",children:[r.jsx("dt",{className:"text-[10px] sm:text-xs text-gray-500 dark:text-gray-400",children:"WebSocket Clients"}),r.jsx("dd",{className:"text-xs sm:text-sm text-gray-700 dark:text-gray-300",children:e.websocket.clients})]}),r.jsxs("div",{className:"min-w-0",children:[r.jsx("dt",{className:"text-[10px] sm:text-xs text-gray-500 dark:text-gray-400",children:"Broadcasting"}),r.jsx("dd",{className:"text-xs sm:text-sm text-gray-700 dark:text-gray-300",children:e.websocket.broadcasting?"Active":"Inactive"})]})]})]})})]})}function JH(){Cy("overview");const e=oT(),t=zH(),{openCreateTaskModal:a,openCreateWorkflowModal:n}=vy();return r.jsxs("div",{"data-testid":"dashboard-page",children:[r.jsx(wn,{title:"Dashboard",icon:oo,iconColor:"text-blue-500",testId:"dashboard-header"}),r.jsx(HH,{}),r.jsx(VH,{onCreateTask:a,onCreateWorkflow:n}),r.jsx(bH,{}),r.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-4 sm:gap-6 lg:gap-8",children:[r.jsx(GH,{}),r.jsx(XH,{})]}),e.data&&r.jsx(WH,{elementsByType:e.data.elementsByType}),t.data&&r.jsx(ZH,{health:t.data})]})}function eV(e,t){return t?e.filter(t):e}function Ty(e,t,a){if(!t)return e;const n=[...e];return n.sort((o,l)=>{if(a)return a(o,l,t.field,t.direction);const d=o[t.field],u=l[t.field];let m=0;return d==null?m=1:u==null?m=-1:typeof d=="string"&&typeof u=="string"?m=d.localeCompare(u):typeof d=="number"&&typeof u=="number"?m=d-u:d instanceof Date&&u instanceof Date?m=d.getTime()-u.getTime():m=String(d).localeCompare(String(u)),t.direction==="asc"?m:-m}),n}function tV(e,t){const{page:a,pageSize:n}=t,o=e.length,l=Math.ceil(o/n),d=(a-1)*n,u=e.slice(d,d+n),m=a<l;return{items:u,total:o,totalPages:l,page:a,pageSize:n,hasMore:m}}function Ey({data:e,page:t,pageSize:a,filterFn:n,sort:o,sortCompareFn:l}){return{...y.useMemo(()=>{if(!e)return{items:[],allItems:[],total:0,totalPages:0,page:1,pageSize:a,hasMore:!1,filteredTotal:0};const u=eV(e,n),m=Ty(u,o,l);return{...tV(m,{page:t,pageSize:a}),allItems:m,filteredTotal:u.length}},[e,t,a,n,o,l]),isLoading:e===void 0}}function rV(e){if(e.status&&e.status.length>0||e.priority&&e.priority.length>0||e.assignee||e.search)return a=>{if(e.status&&e.status.length>0&&!e.status.includes(a.status)||e.priority&&e.priority.length>0&&!e.priority.includes(a.priority)||e.assignee&&a.assignee!==e.assignee)return!1;if(e.search){const n=e.search.toLowerCase();if(!a.title.toLowerCase().includes(n))return!1}return!0}}function aV(e){if(e.entityType&&e.entityType!=="all"||e.search||e.active!==void 0)return a=>{if(e.entityType&&e.entityType!=="all"&&a.entityType!==e.entityType)return!1;if(e.search){const n=e.search.toLowerCase();if(!a.name.toLowerCase().includes(n))return!1}return!(e.active!==void 0&&a.active!==e.active)}}function nV(e){if(e.search)return t=>{const a=e.search.toLowerCase();return t.name.toLowerCase().includes(a)}}function sV(e){if(e.search||e.channelType&&e.channelType!=="all")return a=>{if(e.search){const n=e.search.toLowerCase();if(!a.name.toLowerCase().includes(n))return!1}return!(e.channelType&&e.channelType!=="all"&&a.channelType!==e.channelType)}}function iV(){return be({queryKey:["tasks","ready","ids"],queryFn:async()=>{const e=await fetch("/api/tasks/ready");if(!e.ok)throw new Error("Failed to fetch ready tasks");const t=await e.json();return new Set(t.map(a=>a.id))}})}function oV(){return be({queryKey:["entities"],queryFn:async()=>{const e=await fetch("/api/entities");if(!e.ok)throw new Error("Failed to fetch entities");const t=await e.json();return t.items||t},staleTime:300*1e3})}function lV(){const e=$e();return Re({mutationFn:async({ids:t,updates:a})=>{const n=await fetch("/api/tasks/bulk",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({ids:t,updates:a})});if(!n.ok){const o=await n.json();throw new Error(o.error?.message||"Failed to update tasks")}return n.json()},onSuccess:()=>{e.invalidateQueries({queryKey:["tasks"]}),e.invalidateQueries({queryKey:["tasks","ready"]}),e.invalidateQueries({queryKey:["tasks","blocked"]}),e.invalidateQueries({queryKey:["tasks","completed"]})}})}function cV(){const e=$e();return Re({mutationFn:async t=>{const a=await fetch("/api/tasks/bulk-delete",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({ids:t})});if(!a.ok){const n=await a.json();throw new Error(n.error?.message||"Failed to delete tasks")}return a.json()},onSuccess:(t,a)=>{for(const n of a)e.removeQueries({queryKey:["tasks",n]});e.invalidateQueries({queryKey:["tasks"]}),e.invalidateQueries({queryKey:["tasks","ready"]}),e.invalidateQueries({queryKey:["tasks","blocked"]}),e.invalidateQueries({queryKey:["tasks","completed"]}),e.invalidateQueries({queryKey:["stats"]})}})}function Ka({elementType:e,elementId:t,backRoute:a,backLabel:n,onDismiss:o}){const l=rr(),d=()=>{o?.(),l({to:a})};return r.jsxs("div",{className:"flex flex-col items-center justify-center h-full p-8 text-center","data-testid":"element-not-found",children:[r.jsx("div",{className:"mb-4 p-3 bg-yellow-50 rounded-full",children:r.jsx(dt,{className:"w-8 h-8 text-yellow-500"})}),r.jsxs("h3",{className:"text-lg font-semibold text-gray-900 mb-2","data-testid":"not-found-title",children:[e," Not Found"]}),r.jsxs("p",{className:"text-gray-600 mb-1","data-testid":"not-found-message",children:["The ",e.toLowerCase()," you're looking for doesn't exist or has been deleted."]}),r.jsxs("p",{className:"text-sm text-gray-500 font-mono mb-6","data-testid":"not-found-id",children:["ID: ",t]}),r.jsxs("button",{onClick:d,className:"inline-flex items-center gap-2 px-4 py-2 text-sm font-medium text-gray-700 bg-white border border-gray-300 rounded-md hover:bg-gray-50 transition-colors","data-testid":"not-found-back-button",children:[r.jsx(rd,{className:"w-4 h-4"}),n]})]})}function Vo({open:e,onClose:t,children:a,title:n,"data-testid":o="mobile-detail-sheet"}){const l=y.useRef(null),d=y.useRef(null),u=y.useRef(0);y.useEffect(()=>{if(e){const g=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=g}}},[e]),y.useEffect(()=>{if(!e)return;const g=p=>{p.key==="Escape"&&t()};return document.addEventListener("keydown",g),()=>document.removeEventListener("keydown",g)},[e,t]),y.useEffect(()=>{if(!e)return;window.history.pushState({mobileSheet:!0},"");const g=p=>{p.state?.mobileSheet===void 0&&t()};return window.addEventListener("popstate",g),()=>{window.removeEventListener("popstate",g),window.history.state?.mobileSheet&&window.history.back()}},[e,t]);const m=g=>{d.current=g.touches[0].clientY,u.current=0},h=g=>{d.current!==null&&(u.current=g.touches[0].clientY-d.current,u.current<0&&(u.current=0),l.current&&u.current>0&&(l.current.style.transform=`translateY(${u.current}px)`))},x=()=>{d.current!==null&&(u.current>100?t():l.current&&(l.current.style.transform="translateY(0)"),d.current=null,u.current=0)};return y.useEffect(()=>{e&&l.current&&l.current.querySelector('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])')?.focus()},[e]),e?r.jsxs("div",{className:"fixed inset-0 z-50","data-testid":o,role:"dialog","aria-modal":"true","aria-label":n||"Detail view",children:[r.jsx("div",{className:"absolute inset-0 bg-black/50 backdrop-blur-sm transition-opacity duration-200",onClick:t,"data-testid":`${o}-backdrop`,"aria-hidden":"true"}),r.jsxs("div",{ref:l,className:"absolute inset-x-0 bottom-0 top-0 bg-[var(--color-bg)] shadow-2xl flex flex-col transform transition-transform duration-200 ease-out",style:{transform:e?"translateY(0)":"translateY(100%)"},"data-testid":`${o}-content`,children:[r.jsxs("div",{className:"flex items-center gap-2 px-4 py-3 border-b border-[var(--color-border)] bg-[var(--color-surface)] sticky top-0 z-10",onTouchStart:m,onTouchMove:h,onTouchEnd:x,children:[r.jsx("div",{className:"absolute top-1 left-1/2 -translate-x-1/2 w-10 h-1 bg-[var(--color-border)] rounded-full"}),r.jsx("button",{onClick:t,className:"p-2 -ml-2 rounded-md text-[var(--color-text-secondary)] hover:text-[var(--color-text)] hover:bg-[var(--color-surface-hover)] transition-colors duration-150 touch-target","aria-label":"Close","data-testid":`${o}-close`,children:r.jsx(Pr,{className:"w-5 h-5"})}),n&&r.jsx("h2",{className:"flex-1 text-lg font-semibold text-[var(--color-text)] truncate",children:n})]}),r.jsx("div",{className:"flex-1 overflow-y-auto",children:a})]})]}):null}const ei=new X2({headingStyle:"atx",codeBlockStyle:"fenced",bulletListMarker:"-",emDelimiter:"_",strongDelimiter:"**"});ei.addRule("highlight",{filter:"mark",replacement:function(e){return"=="+e+"=="}});ei.addRule("strikethrough",{filter:function(e){return e.nodeName==="S"||e.nodeName==="DEL"},replacement:function(e){return"~~"+e+"~~"}});ei.addRule("taskEmbed",{filter:function(e){return e.nodeName==="DIV"&&e.hasAttribute("data-type")&&e.getAttribute("data-type")==="taskEmbed"},replacement:function(e,t){const a=t.getAttribute("data-task-id");return a?`![[task:${a}]]`:""}});ei.addRule("documentEmbed",{filter:function(e){return e.nodeName==="DIV"&&e.hasAttribute("data-type")&&e.getAttribute("data-type")==="documentEmbed"},replacement:function(e,t){const a=t.getAttribute("data-document-id");return a?`![[doc:${a}]]`:""}});ei.addRule("mention",{filter:function(e){return e.nodeName==="A"&&e.hasAttribute("data-mention-id")},replacement:function(e,t){const a=t.getAttribute("data-mention-name");return a?`@${a}`:""}});ei.addRule("textAlign",{filter:function(e){if(!["P","H1","H2","H3","H4","H5","H6"].includes(e.nodeName))return!1;const t=e.getAttribute("style")||"";return/text-align:\s*(center|right|justify)/i.test(t)},replacement:function(e,t){const n=(t.getAttribute("style")||"").match(/text-align:\s*(center|right|justify)/i);if(!n)return e;const o=n[1].toLowerCase(),l=t.nodeName.toLowerCase();return l.startsWith("h")?`<${l} style="text-align: ${o}">${e}</${l}>
251
+
252
+ `:`<p style="text-align: ${o}">${e}</p>
253
+
254
+ `}});ef.setOptions({gfm:!0,breaks:!0});function hS(e){if(!e||e==="<p></p>")return"";let t=ei.turndown(e);return t=t.replace(/\n{3,}/g,`
255
+
256
+ `),t}function Oy(e){if(!e)return"<p></p>";let t=e;return t=t.replace(/!\[\[task:([\w-]+)\]\]/g,'<div data-type="taskEmbed" data-task-id="$1"></div>'),t=t.replace(/!\[\[doc:([\w-]+)\]\]/g,'<div data-type="documentEmbed" data-document-id="$1"></div>'),t=t.replace(/==([^=]+)==/g,"<mark>$1</mark>"),t=t.replace(/~~([^~]+)~~/g,"<s>$1</s>"),ef.parse(t,{async:!1})}function cT(e){return e?/<(p|h[1-6]|ul|ol|li|blockquote|pre|code|strong|em|mark|s|br|hr|div)\b/i.test(e):!1}function dV(e,t){if(!e)return"<p></p>";if(t==="json")try{const a=JSON.stringify(JSON.parse(e),null,2);return`<pre><code class="language-json">${xS(a)}</code></pre>`}catch{return`<pre><code>${xS(e)}</code></pre>`}return t==="markdown"||!cT(e)?Oy(e):e}function uV(e,t){if(!e||e==="<p></p>")return"";if(t==="json"){const a=e.match(/<code[^>]*>([\s\S]*?)<\/code>/);return a?mV(a[1]):e}return hS(e)}function xS(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function mV(e){return e.replace(/&amp;/g,"&").replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&#39;/g,"'")}function fV(e){const t=/@([\w-]+)/g;return e.replace(t,(n,o)=>`<a href="/entities?search=${encodeURIComponent(o)}" class="mention-chip" data-mention-name="${o}">@${o}</a>`)}function dT({content:e,className:t="",testId:a}){const n=y.useMemo(()=>{if(!e)return"";const o=Oy(e);return fV(o)},[e]);return e?r.jsx("div",{className:`prose prose-sm max-w-none ${t}`,"data-testid":a,dangerouslySetInnerHTML:{__html:n}}):null}function hV(){try{return xA}catch{return null}}function xV(e,t){if(e&&typeof e.serializeForClipboard=="function")return e.serializeForClipboard(t);const a=hV();if(a&&typeof a?.__serializeForClipboard=="function")return a.__serializeForClipboard(e,t);throw new Error("No supported clipboard serialization method found.")}function gV(e){const t=e.getBoundingClientRect(),a=e.closest('[role="dialog"]');if(a&&window.getComputedStyle(a).transform!=="none"){const n=a.getBoundingClientRect();return{top:t.top-n.top,left:t.left-n.left,width:t.width}}return{top:t.top,left:t.left,width:t.width}}function gS(e,t){const a=["li","p:not(:first-child)","pre","blockquote","h1","h2","h3","h4","h5","h6",...t.customNodes.map(n=>`[data-type=${n}]`)].join(", ");return document.elementsFromPoint(e.x,e.y).find(n=>n.parentElement?.matches?.(".ProseMirror")||n.matches(a))}function pV(e,t,a){const n=e.getBoundingClientRect();return t.posAtCoords({left:n.left+50+a.dragHandleWidth,top:n.top+1})?.inside}function pS(e,t){const a=t.state.doc.resolve(e);return a.depth>1?a.before(a.depth):e}function yV(e){let t="";function a(u,m){if(m.focus(),!u.dataTransfer)return;const h=gS({x:u.clientX+50+e.dragHandleWidth,y:u.clientY},e);if(!(h instanceof Element))return;let x=pV(h,m,e);if(x==null||x<0)return;x=pS(x,m);const{from:g,to:p}=m.state.selection,j=g-p,k=pS(g,m);let N=!1;const v=m.state.doc.resolve(k);if(v.node().type.name==="doc")N=!0;else{const C=Xn.create(m.state.doc,v.before());N=!(x+1>=C.$from.pos&&x<=C.$to.pos)}let T=m.state.selection;if(!N&&j!==0&&!(m.state.selection instanceof Xn)){const C=Xn.create(m.state.doc,p-1);T=hA.create(m.state.doc,x,C.$to.pos)}else if(T=Xn.create(m.state.doc,x),T.node.type.isInline||T.node.type.name==="tableRow"){let C=m.state.doc.resolve(T.from);T=Xn.create(m.state.doc,C.before())}m.dispatch(m.state.tr.setSelection(T)),m.state.selection instanceof Xn&&m.state.selection.node.type.name==="listItem"&&(t=h.parentElement.tagName);const E=m.state.selection.content(),{dom:O,text:S}=xV(m,E);u.dataTransfer.clearData(),u.dataTransfer.setData("text/html",O.innerHTML),u.dataTransfer.setData("text/plain",S),u.dataTransfer.effectAllowed="copyMove",u.dataTransfer.setDragImage(h,0,0),m.dragging={slice:E,move:u.ctrlKey}}let n=null;function o(){n&&n.classList.add("hide")}function l(){n&&n.classList.remove("hide")}function d(u){if(u.target instanceof Element){const m=u.relatedTarget;if(m?.classList.contains("tiptap")||m?.classList.contains("drag-handle"))return}o()}return new fA({key:new qo(e.pluginKey),view:u=>{const m=e.dragHandleSelector?document.querySelector(e.dragHandleSelector):null;n=m??document.createElement("div"),n.draggable=!0,n.dataset.dragHandle="",n.classList.add("drag-handle");function h(g){a(g,u)}n.addEventListener("dragstart",h);function x(g){o();let p=window.scrollY;g.clientY<e.scrollTreshold?window.scrollTo({top:p-30,behavior:"smooth"}):window.innerHeight-g.clientY<e.scrollTreshold&&window.scrollTo({top:p+30,behavior:"smooth"})}return n.addEventListener("drag",x),o(),m||u?.dom?.parentElement?.appendChild(n),u?.dom?.parentElement?.addEventListener("mouseout",d),{destroy:()=>{m||n?.remove?.(),n?.removeEventListener("drag",x),n?.removeEventListener("dragstart",h),n=null,u?.dom?.parentElement?.removeEventListener("mouseout",d)}}},props:{handleDOMEvents:{mousemove:(u,m)=>{if(!u.editable)return;const h=gS({x:m.clientX+50+e.dragHandleWidth,y:m.clientY},e),x=h?.closest(".not-draggable"),g=e.excludedTags.concat(["ol","ul"]).join(", ");if(!(h instanceof Element)||h.matches(g)||x){o();return}const p=window.getComputedStyle(h),j=parseInt(p.lineHeight,10),k=isNaN(j)?parseInt(p.fontSize)*1.2:j,N=parseInt(p.paddingTop,10),v=gV(h);v.top+=(k-24)/2,v.top+=N,h.matches("ul:not([data-type=taskList]) li, ol li")&&(v.left-=e.dragHandleWidth),v.width=e.dragHandleWidth,n&&(n.style.left=`${v.left-v.width}px`,n.style.top=`${v.top}px`,l())},keydown:()=>{o()},mousewheel:()=>{o()},dragstart:u=>{u.dom.classList.add("dragging")},drop:(u,m)=>{u.dom.classList.remove("dragging"),o();let h=null;const x=u.posAtCoords({left:m.clientX,top:m.clientY});if(!x||(u.state.selection instanceof Xn&&(h=u.state.selection.node),!h))return;const p=u.state.doc.resolve(x.pos).parent.type.name==="listItem";if(u.state.selection instanceof Xn&&u.state.selection.node.type.name==="listItem"&&!p&&t=="OL"){const j=u.state.schema.nodes.orderedList?.createAndFill(null,h),k=new gA(pA.from(j),0,0);u.dragging={slice:k,move:m.ctrlKey}}},dragend:u=>{u.dom.classList.remove("dragging")}}}})}const bV=Ws.create({name:"globalDragHandle",addOptions(){return{dragHandleWidth:20,scrollTreshold:100,excludedTags:[],customNodes:[]}},addProseMirrorPlugins(){return[yV({pluginKey:"globalDragHandle",dragHandleWidth:this.options.dragHandleWidth,scrollTreshold:this.options.scrollTreshold,dragHandleSelector:this.options.dragHandleSelector,excludedTags:this.options.excludedTags,customNodes:this.options.customNodes})]}}),vV=e=>[{id:"heading1",title:"Heading 1",description:"Large section heading",icon:r.jsx(h2,{className:"w-4 h-4"}),category:"headings",action:({editor:t,range:a})=>{t.chain().focus().deleteRange(a).setNode("heading",{level:1}).run()}},{id:"heading2",title:"Heading 2",description:"Medium section heading",icon:r.jsx(x2,{className:"w-4 h-4"}),category:"headings",action:({editor:t,range:a})=>{t.chain().focus().deleteRange(a).setNode("heading",{level:2}).run()}},{id:"heading3",title:"Heading 3",description:"Small section heading",icon:r.jsx(g2,{className:"w-4 h-4"}),category:"headings",action:({editor:t,range:a})=>{t.chain().focus().deleteRange(a).setNode("heading",{level:3}).run()}},{id:"bullet",title:"Bullet List",description:"Create a simple bullet list",icon:r.jsx(za,{className:"w-4 h-4"}),category:"lists",action:({editor:t,range:a})=>{t.chain().focus().deleteRange(a).toggleBulletList().run()}},{id:"numbered",title:"Numbered List",description:"Create a numbered list",icon:r.jsx(Um,{className:"w-4 h-4"}),category:"lists",action:({editor:t,range:a})=>{t.chain().focus().deleteRange(a).toggleOrderedList().run()}},{id:"quote",title:"Quote",description:"Insert a block quote",icon:r.jsx(Fm,{className:"w-4 h-4"}),category:"blocks",action:({editor:t,range:a})=>{t.chain().focus().deleteRange(a).toggleBlockquote().run()}},{id:"code",title:"Code Block",description:"Insert a code block",icon:r.jsx(Bo,{className:"w-4 h-4"}),category:"blocks",action:({editor:t,range:a})=>{t.chain().focus().deleteRange(a).toggleCodeBlock().run()}},{id:"divider",title:"Divider",description:"Insert a horizontal line",icon:r.jsx(p2,{className:"w-4 h-4"}),category:"blocks",action:({editor:t,range:a})=>{t.chain().focus().deleteRange(a).setHorizontalRule().run()}},{id:"left",title:"Align Left",description:"Align text to the left",icon:r.jsx(y2,{className:"w-4 h-4"}),category:"alignment",action:({editor:t,range:a})=>{t.chain().focus().deleteRange(a).setTextAlign("left").run()}},{id:"center",title:"Align Center",description:"Center align text",icon:r.jsx(b2,{className:"w-4 h-4"}),category:"alignment",action:({editor:t,range:a})=>{t.chain().focus().deleteRange(a).setTextAlign("center").run()}},{id:"right",title:"Align Right",description:"Align text to the right",icon:r.jsx(v2,{className:"w-4 h-4"}),category:"alignment",action:({editor:t,range:a})=>{t.chain().focus().deleteRange(a).setTextAlign("right").run()}},{id:"justify",title:"Justify",description:"Justify text (full width)",icon:r.jsx(j2,{className:"w-4 h-4"}),category:"alignment",action:({editor:t,range:a})=>{t.chain().focus().deleteRange(a).setTextAlign("justify").run()}},{id:"image",title:"Image",description:"Upload or paste an image",icon:r.jsx(Pa,{className:"w-4 h-4"}),category:"media",action:({editor:t,range:a})=>{t.chain().focus().deleteRange(a).run(),e?.onImageInsert&&e.onImageInsert()}},{id:"emoji",title:"Emoji",description:"Insert an emoji",icon:r.jsx(Km,{className:"w-4 h-4"}),category:"media",action:({editor:t,range:a})=>{t.chain().focus().deleteRange(a).run(),e?.onEmojiInsert&&e.onEmojiInsert()}},{id:"task",title:"Task",description:"Embed a task reference",icon:r.jsx(Ta,{className:"w-4 h-4"}),category:"embeds",action:({editor:t,range:a})=>{t.chain().focus().deleteRange(a).run(),e?.onTaskEmbed&&e.onTaskEmbed()}},{id:"doc",title:"Document",description:"Embed a document reference",icon:r.jsx(Je,{className:"w-4 h-4"}),category:"embeds",action:({editor:t,range:a})=>{t.chain().focus().deleteRange(a).run(),e?.onDocumentEmbed&&e.onDocumentEmbed()}}];function jV(e,t){if(!e)return t;const a=e.toLowerCase();return t.filter(n=>{const o=n.title.toLowerCase().includes(a),l=n.description.toLowerCase().includes(a),d=n.id.toLowerCase().includes(a);return o||l||d})}function wV(e){const t={headings:[],lists:[],blocks:[],alignment:[],media:[],embeds:[]};for(const a of e)t[a.category]&&t[a.category].push(a);return t}const kV={headings:"Headings",lists:"Lists",blocks:"Blocks",alignment:"Alignment",media:"Media",embeds:"Embeds"},uT=y.forwardRef(({items:e,command:t},a)=>{const[n,o]=y.useState(0);y.useEffect(()=>{o(0)},[e]);const l=y.useCallback(m=>{const h=e[m];h&&t(h)},[e,t]);if(y.useImperativeHandle(a,()=>({onKeyDown:({event:m})=>m.key==="ArrowUp"?(o(h=>h<=0?e.length-1:h-1),!0):m.key==="ArrowDown"?(o(h=>h>=e.length-1?0:h+1),!0):m.key==="Enter"?(l(n),!0):m.key==="Escape"})),!e.length)return r.jsx("div",{"data-testid":"slash-command-menu",className:"bg-white rounded-lg shadow-lg border border-gray-200 p-3 min-w-[240px]",children:r.jsx("div",{className:"text-sm text-gray-500",children:"No matching commands"})});const d=wV(e);let u=0;return r.jsx("div",{"data-testid":"slash-command-menu",className:"bg-white rounded-lg shadow-lg border border-gray-200 p-1 min-w-[240px] max-h-[300px] overflow-y-auto",children:Object.entries(d).map(([m,h])=>h.length===0?null:r.jsxs("div",{"data-testid":`slash-command-category-${m}`,children:[r.jsx("div",{className:"px-3 py-1.5 text-xs font-semibold text-gray-500 uppercase tracking-wide",children:kV[m]}),h.map(x=>{const g=u++,p=g===n;return r.jsxs("button",{"data-testid":`slash-command-item-${x.id}`,className:`w-full flex items-start gap-3 px-3 py-2 rounded text-left transition-colors ${p?"bg-blue-50 text-blue-700":"text-gray-700 hover:bg-gray-100"}`,onClick:j=>{j.preventDefault(),j.stopPropagation(),l(g)},onMouseDown:j=>{j.preventDefault()},onMouseEnter:()=>o(g),children:[r.jsx("div",{className:`mt-0.5 flex-shrink-0 ${p?"text-blue-600":"text-gray-400"}`,children:x.icon}),r.jsxs("div",{className:"flex-1 min-w-0",children:[r.jsx("div",{className:"text-sm font-medium",children:x.title}),r.jsx("div",{className:"text-xs text-gray-500 truncate",children:x.description})]})]},x.id)})]},m))})});uT.displayName="SlashCommandMenu";function NV(e){return{char:"/",startOfLine:!1,items:({query:t})=>{const a=vV(e);return jV(t,a)},render:()=>{let t=null,a=null;return{onStart:n=>{t=new Uo(uT,{props:{items:n.items,command:n.command},editor:n.editor}),n.clientRect&&(a=Ha(document.body,{getReferenceClientRect:n.clientRect,appendTo:()=>document.body,content:t.element,showOnCreate:!0,interactive:!0,trigger:"manual",placement:"bottom-start",animation:"fade",zIndex:9999}))},onUpdate:n=>{t&&t.updateProps({items:n.items,command:n.command}),a&&n.clientRect&&a.setProps({getReferenceClientRect:n.clientRect})},onKeyDown:n=>n.event.key==="Escape"?(a?.hide(),!0):t?.ref?t.ref.onKeyDown(n):!1,onExit:()=>{a?.destroy(),t?.destroy()}}},command:({editor:t,range:a,props:n})=>{n.action({editor:t,range:a})}}}const SV=Ws.create({name:"slashCommands",addOptions(){return{embedCallbacks:void 0}},addProseMirrorPlugins(){return[Fo({editor:this.editor,...NV(this.options.embedCallbacks)})]}}),yS={open:r.jsx(ed,{className:"w-4 h-4 text-gray-400"}),in_progress:r.jsx(_t,{className:"w-4 h-4 text-blue-500"}),blocked:r.jsx(dt,{className:"w-4 h-4 text-red-500"}),completed:r.jsx(Gt,{className:"w-4 h-4 text-green-500"}),cancelled:r.jsx(Gt,{className:"w-4 h-4 text-gray-400"})},bS={open:"bg-gray-100 text-gray-700",in_progress:"bg-blue-100 text-blue-700",blocked:"bg-red-100 text-red-700",completed:"bg-green-100 text-green-700",cancelled:"bg-gray-100 text-gray-500"};function CV({node:e}){const t=e.attrs.taskId,{data:a,isLoading:n,isError:o}=be({queryKey:["tasks",t],queryFn:async()=>{const u=await fetch(`/api/tasks/${t}`);if(!u.ok)throw new Error("Task not found");return u.json()},enabled:!!t});if(n)return r.jsx(to,{className:"inline-flex",children:r.jsxs("span",{"data-testid":`task-embed-loading-${t}`,className:"inline-flex items-center gap-1 px-2 py-0.5 bg-gray-100 text-gray-500 rounded text-sm",children:[r.jsx(je,{className:"w-3 h-3 animate-spin"}),"Loading task..."]})});if(o||!a)return r.jsx(to,{className:"inline-flex",children:r.jsxs("span",{"data-testid":`task-embed-error-${t}`,className:"inline-flex items-center gap-1 px-2 py-0.5 bg-red-50 text-red-600 rounded text-sm",children:[r.jsx(dt,{className:"w-3 h-3"}),"Task not found"]})});const l=yS[a.status]||yS.open,d=bS[a.status]||bS.open;return r.jsx(to,{className:"inline-flex",children:r.jsxs("a",{href:`/tasks/${a.id}`,"data-testid":`task-embed-${t}`,className:`inline-flex items-center gap-1.5 px-2 py-0.5 rounded text-sm font-medium hover:opacity-80 transition-opacity ${d}`,children:[l,r.jsx("span",{className:"truncate max-w-[200px]",children:a.title})]})})}const TV=Zm.create({name:"taskEmbed",group:"inline",inline:!0,atom:!0,addAttributes(){return{taskId:{default:null}}},parseHTML(){return[{tag:"task-embed"},{tag:'div[data-type="taskEmbed"]',getAttrs:e=>({taskId:e.getAttribute("data-task-id")})}]},renderHTML({HTMLAttributes:e}){return["div",Jm(e,{"data-type":"taskEmbed","data-task-id":e.taskId})]},addNodeView(){return nC(CV)}}),vS={text:r.jsx(Je,{className:"w-4 h-4"}),markdown:r.jsx(es,{className:"w-4 h-4"}),json:r.jsx(Bo,{className:"w-4 h-4"})},jS={text:"bg-gray-100 text-gray-700",markdown:"bg-purple-100 text-purple-700",json:"bg-blue-100 text-blue-700"};function EV({node:e}){const t=e.attrs.documentId,{data:a,isLoading:n,isError:o}=be({queryKey:["documents",t],queryFn:async()=>{const m=await fetch(`/api/documents/${t}`);if(!m.ok)throw new Error("Document not found");return m.json()},enabled:!!t});if(n)return r.jsx(to,{className:"inline-flex",children:r.jsxs("span",{"data-testid":`doc-embed-loading-${t}`,className:"inline-flex items-center gap-1 px-2 py-0.5 bg-gray-100 text-gray-500 rounded text-sm",children:[r.jsx(je,{className:"w-3 h-3 animate-spin"}),"Loading document..."]})});if(o||!a)return r.jsx(to,{className:"inline-flex",children:r.jsxs("span",{"data-testid":`doc-embed-error-${t}`,className:"inline-flex items-center gap-1 px-2 py-0.5 bg-red-50 text-red-600 rounded text-sm",children:[r.jsx(dt,{className:"w-3 h-3"}),"Document not found"]})});const l=vS[a.contentType]||vS.text,d=jS[a.contentType]||jS.text,u=a.title||`Document ${a.id}`;return r.jsx(to,{className:"inline-flex",children:r.jsxs("a",{href:`/documents/${a.id}`,"data-testid":`doc-embed-${t}`,className:`inline-flex items-center gap-1.5 px-2 py-0.5 rounded text-sm font-medium hover:opacity-80 transition-opacity ${d}`,children:[l,r.jsx("span",{className:"truncate max-w-[200px]",children:u})]})})}const OV=Zm.create({name:"documentEmbed",group:"inline",inline:!0,atom:!0,addAttributes(){return{documentId:{default:null}}},parseHTML(){return[{tag:"document-embed"},{tag:'div[data-type="documentEmbed"]',getAttrs:e=>({documentId:e.getAttribute("data-document-id")})}]},renderHTML({HTMLAttributes:e}){return["div",Jm(e,{"data-type":"documentEmbed","data-document-id":e.documentId})]},addNodeView(){return nC(EV)}}),wS={open:r.jsx(ed,{className:"w-4 h-4 text-gray-400"}),in_progress:r.jsx(_t,{className:"w-4 h-4 text-blue-500"}),blocked:r.jsx(dt,{className:"w-4 h-4 text-red-500"}),completed:r.jsx(Gt,{className:"w-4 h-4 text-green-500"}),cancelled:r.jsx(Gt,{className:"w-4 h-4 text-gray-400"})},AV={1:"Critical",2:"High",3:"Medium",4:"Low",5:"Trivial"},kS={1:"bg-red-100 text-red-700",2:"bg-orange-100 text-orange-700",3:"bg-yellow-100 text-yellow-700",4:"bg-blue-100 text-blue-700",5:"bg-gray-100 text-gray-600"};function $V(e){return be({queryKey:["tasks","search",e],queryFn:async()=>{const t=new URLSearchParams({limit:"50"});e&&t.set("search",e);const a=await fetch(`/api/tasks?${t}`);if(!a.ok)throw new Error("Failed to fetch tasks");const n=await a.json();return Array.isArray(n)?n:n.data||[]}})}function mT({isOpen:e,onClose:t,onSelect:a,excludeIds:n=[]}){const[o,l]=y.useState(""),[d,u]=y.useState(0),m=y.useRef(null),h=y.useRef(null),{data:x,isLoading:g}=$V(o),p=x?.filter(T=>!n.includes(T.id))||[];y.useEffect(()=>{u(0)},[p.length,o]),y.useEffect(()=>{e&&m.current&&setTimeout(()=>{m.current?.focus()},50)},[e]),y.useEffect(()=>{e||(l(""),u(0))},[e]),y.useEffect(()=>{h.current&&h.current.querySelector(`[data-index="${d}"]`)?.scrollIntoView({block:"nearest"})},[d]);const j=y.useCallback(T=>{a(T),t()},[a,t]),k=y.useCallback(T=>{if(T.key==="Escape"){t();return}if(T.key==="ArrowDown"){T.preventDefault(),u(E=>E>=p.length-1?0:E+1);return}if(T.key==="ArrowUp"){T.preventDefault(),u(E=>E<=0?p.length-1:E-1);return}if(T.key==="Enter"){T.preventDefault();const E=p[d];E&&j(E.id);return}},[p,d,j,t]),N=Et(),v=N?p.length>0?r.jsxs("div",{className:"text-xs text-gray-500 dark:text-gray-400 text-center",children:[p.length," task",p.length!==1?"s":""," found"]}):null:r.jsxs("div",{className:"flex items-center justify-between text-xs text-gray-500 dark:text-gray-400",children:[r.jsxs("div",{className:"flex items-center gap-3",children:[r.jsxs("span",{className:"flex items-center gap-1",children:[r.jsx(Yc,{className:"w-3 h-3"}),r.jsx(it,{className:"w-3 h-3"}),"Navigate"]}),r.jsx("span",{children:"↵ Select"}),r.jsx("span",{children:"Esc Close"})]}),p.length>0&&r.jsxs("span",{children:[p.length," task",p.length!==1?"s":""]})]});return r.jsx(ad,{open:e,onClose:t,title:"Select Task",size:"lg","data-testid":"task-picker-modal",footer:v,children:r.jsxs("div",{onKeyDown:k,children:[r.jsx("div",{className:"px-4 py-3 border-b border-gray-200 dark:border-gray-700",children:r.jsxs("div",{className:"relative",children:[r.jsx(Ve,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-gray-400"}),r.jsx("input",{ref:m,type:"text",value:o,onChange:T=>l(T.target.value),onKeyDown:k,placeholder:"Search tasks...",className:"w-full pl-10 pr-4 py-2.5 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-800 text-[var(--color-text)] focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent touch-target","data-testid":"task-picker-search"})]})}),r.jsx("div",{ref:h,className:`overflow-y-auto p-2 ${N?"max-h-[calc(100vh-200px)]":"max-h-[300px]"}`,"data-testid":"task-picker-list",children:g?r.jsxs("div",{className:"flex items-center justify-center py-8 text-gray-500 dark:text-gray-400",children:[r.jsx(je,{className:"w-5 h-5 animate-spin mr-2"}),"Loading tasks..."]}):p.length===0?r.jsx("div",{className:"py-8 text-center text-gray-500 dark:text-gray-400",children:o?"No tasks match your search":"No tasks available"}):p.map((T,E)=>{const O=E===d,S=wS[T.status]||wS.open,C=T.priority||3,A=AV[C]||"Medium",$=kS[C]||kS[3];return r.jsxs("button",{"data-index":E,"data-testid":`task-picker-item-${T.id}`,onClick:()=>j(T.id),onMouseEnter:()=>!N&&u(E),className:`w-full flex items-center gap-3 px-3 py-2.5 rounded-lg text-left transition-colors touch-target ${O?"bg-blue-50 dark:bg-blue-900/30 text-blue-700 dark:text-blue-400":"text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-800"}`,children:[r.jsx("span",{className:"flex-shrink-0",children:S}),r.jsx("span",{className:"flex-1 truncate font-medium",children:T.title}),r.jsx("span",{className:`flex-shrink-0 px-2 py-0.5 text-xs font-medium rounded ${$}`,children:A})]},T.id)})})]})})}const NS={text:r.jsx(Je,{className:"w-4 h-4 text-gray-500"}),markdown:r.jsx(es,{className:"w-4 h-4 text-purple-500"}),json:r.jsx(Bo,{className:"w-4 h-4 text-blue-500"})},DV={text:"Text",markdown:"Markdown",json:"JSON"},SS={text:"bg-gray-100 text-gray-700",markdown:"bg-purple-100 text-purple-700",json:"bg-blue-100 text-blue-700"};function _V(e){return be({queryKey:["documents","search",e],queryFn:async()=>{const t=new URLSearchParams({limit:"100"});e&&t.set("search",e);const a=await fetch(`/api/documents?${t}`);if(!a.ok)throw new Error("Failed to fetch documents");const n=await a.json();return Array.isArray(n)?n:n.items||n.data||[]}})}function fT({isOpen:e,onClose:t,onSelect:a,excludeIds:n=[]}){const[o,l]=y.useState(""),[d,u]=y.useState(0),m=y.useRef(null),h=y.useRef(null),{data:x,isLoading:g}=_V(o),p=x?.filter(T=>!n.includes(T.id))||[];y.useEffect(()=>{u(0)},[p.length,o]),y.useEffect(()=>{e&&m.current&&setTimeout(()=>{m.current?.focus()},50)},[e]),y.useEffect(()=>{e||(l(""),u(0))},[e]),y.useEffect(()=>{h.current&&h.current.querySelector(`[data-index="${d}"]`)?.scrollIntoView({block:"nearest"})},[d]);const j=y.useCallback(T=>{a(T),t()},[a,t]),k=y.useCallback(T=>{if(T.key==="Escape"){t();return}if(T.key==="ArrowDown"){T.preventDefault(),u(E=>E>=p.length-1?0:E+1);return}if(T.key==="ArrowUp"){T.preventDefault(),u(E=>E<=0?p.length-1:E-1);return}if(T.key==="Enter"){T.preventDefault();const E=p[d];E&&j(E.id);return}},[p,d,j,t]),N=Et(),v=N?p.length>0?r.jsxs("div",{className:"text-xs text-gray-500 dark:text-gray-400 text-center",children:[p.length," document",p.length!==1?"s":""," found"]}):null:r.jsxs("div",{className:"flex items-center justify-between text-xs text-gray-500 dark:text-gray-400",children:[r.jsxs("div",{className:"flex items-center gap-3",children:[r.jsxs("span",{className:"flex items-center gap-1",children:[r.jsx(Yc,{className:"w-3 h-3"}),r.jsx(it,{className:"w-3 h-3"}),"Navigate"]}),r.jsx("span",{children:"↵ Select"}),r.jsx("span",{children:"Esc Close"})]}),p.length>0&&r.jsxs("span",{children:[p.length," document",p.length!==1?"s":""]})]});return r.jsx(ad,{open:e,onClose:t,title:"Select Document",size:"lg","data-testid":"document-picker-modal",footer:v,children:r.jsxs("div",{onKeyDown:k,children:[r.jsx("div",{className:"px-4 py-3 border-b border-gray-200 dark:border-gray-700",children:r.jsxs("div",{className:"relative",children:[r.jsx(Ve,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-gray-400"}),r.jsx("input",{ref:m,type:"text",value:o,onChange:T=>l(T.target.value),onKeyDown:k,placeholder:"Search documents...",className:"w-full pl-10 pr-4 py-2.5 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-800 text-[var(--color-text)] focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent touch-target","data-testid":"document-picker-search"})]})}),r.jsx("div",{ref:h,className:`overflow-y-auto p-2 ${N?"max-h-[calc(100vh-200px)]":"max-h-[300px]"}`,"data-testid":"document-picker-list",children:g?r.jsxs("div",{className:"flex items-center justify-center py-8 text-gray-500 dark:text-gray-400",children:[r.jsx(je,{className:"w-5 h-5 animate-spin mr-2"}),"Loading documents..."]}):p.length===0?r.jsx("div",{className:"py-8 text-center text-gray-500 dark:text-gray-400",children:o?"No documents match your search":"No documents available"}):p.map((T,E)=>{const O=E===d,S=T.contentType||"text",C=NS[S]||NS.text,A=DV[S]||"Text",$=SS[S]||SS.text,P=T.title||`Document ${T.id}`;return r.jsxs("button",{"data-index":E,"data-testid":`document-picker-item-${T.id}`,onClick:()=>j(T.id),onMouseEnter:()=>!N&&u(E),className:`w-full flex items-center gap-3 px-3 py-2.5 rounded-lg text-left transition-colors touch-target ${O?"bg-blue-50 dark:bg-blue-900/30 text-blue-700 dark:text-blue-400":"text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-800"}`,children:[r.jsx("span",{className:"flex-shrink-0",children:C}),r.jsx("span",{className:"flex-1 truncate font-medium",children:P}),r.jsx("span",{className:`flex-shrink-0 px-2 py-0.5 text-xs font-medium rounded ${$}`,children:A})]},T.id)})})]})})}function MV({isOpen:e,onClose:t,onInsert:a}){const[n,o]=y.useState("upload"),[l,d]=y.useState(!1),[u,m]=y.useState(!1),[h,x]=y.useState(null),[g,p]=y.useState(null),[j,k]=y.useState(""),[N,v]=y.useState(""),T=y.useRef(null),[E,O]=y.useState([]),[S,C]=y.useState(!1),[A,$]=y.useState(""),[P,M]=y.useState(null),[q,_]=y.useState(null),[z,U]=y.useState(!1),K=y.useCallback(()=>{o("upload"),d(!1),m(!1),x(null),p(null),k(""),v(""),$(""),M(null),_(null)},[]),R=y.useCallback(()=>{K(),t()},[t,K]),L=y.useCallback(async()=>{C(!0),x(null);try{const J=await fetch("/api/uploads");if(!J.ok)throw new Error("Failed to load images");const re=await J.json(),Y=await Promise.all(re.files.map(async he=>{try{const ce=await fetch(`/api/uploads/${he.filename}/usage`);if(ce.ok){const pe=await ce.json();return{...he,usageCount:pe.count,usedIn:pe.documents}}}catch{}return he}));O(Y)}catch(J){x(J.message)}finally{C(!1)}},[]);y.useEffect(()=>{e&&n==="library"&&L()},[e,n,L]);const F=y.useMemo(()=>{if(!A.trim())return E;const J=A.toLowerCase();return E.filter(re=>re.filename.toLowerCase().includes(J))},[E,A]),B=async J=>{if(!["image/jpeg","image/png","image/gif","image/webp","image/svg+xml"].includes(J.type))return x(`Invalid file type: ${J.type}. Allowed: JPEG, PNG, GIF, WebP, SVG`),null;if(J.size>10*1024*1024)return x(`File too large: ${(J.size/(1024*1024)).toFixed(2)}MB. Maximum: 10MB`),null;m(!0),x(null);try{const Y=new FormData;Y.append("file",J);const he=await fetch("/api/uploads",{method:"POST",body:Y});if(!he.ok){const pe=await he.json().catch(()=>({}));throw new Error(pe.error?.message||`Upload failed: ${he.status}`)}return(await he.json()).url}catch(Y){return x(Y.message),null}finally{m(!1)}},H=y.useCallback(async J=>{const re=URL.createObjectURL(J);p({url:re,file:J}),x(null)},[]),G=y.useCallback(J=>{const re=J.target.files?.[0];re&&H(re)},[H]),W=y.useCallback(J=>{J.preventDefault(),d(!1);const re=J.dataTransfer.files[0];re&&re.type.startsWith("image/")?H(re):x("Please drop an image file")},[H]),te=y.useCallback(J=>{J.preventDefault(),d(!0)},[]),le=y.useCallback(J=>{J.preventDefault(),d(!1)},[]),ge=y.useCallback(async()=>{if(n==="url"){if(!N.trim()){x("Please enter an image URL");return}a(N.trim(),j||void 0),R()}else if(n==="library"){if(!P){x("Please select an image");return}a(P.url,j||void 0),R()}else if(g?.file){const J=await B(g.file);J&&(a(J,j||void 0),R())}},[n,N,g,j,P,a,R]),se=y.useCallback(()=>{N.trim()&&(p({url:N.trim()}),x(null))},[N]),ye=y.useCallback(async J=>{U(!0),x(null);try{const re=await fetch(`/api/uploads/${J}`,{method:"DELETE"});if(!re.ok){const Y=await re.json().catch(()=>({}));throw new Error(Y.error?.message||"Failed to delete image")}O(Y=>Y.filter(he=>he.filename!==J)),_(null),P?.filename===J&&M(null)}catch(re){x(re.message)}finally{U(!1)}},[P]),Ne=J=>J<1024?`${J} B`:J<1024*1024?`${(J/1024).toFixed(1)} KB`:`${(J/(1024*1024)).toFixed(2)} MB`,we=J=>new Date(J).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"});return Et()?r.jsx(em,{open:e,onOpenChange:J=>!J&&R(),children:r.jsxs(cc,{children:[r.jsx(lo,{className:"fixed inset-0 bg-black/50 backdrop-blur-sm z-50"}),r.jsxs(co,{className:"fixed inset-0 bg-[var(--color-bg)] z-50 flex flex-col","data-testid":"image-upload-modal",children:[r.jsxs("div",{className:"flex items-center gap-2 px-4 py-3 border-b border-[var(--color-border)] bg-[var(--color-surface)] sticky top-0 z-10",children:[r.jsx("button",{onClick:R,className:"p-2 -ml-2 rounded-md text-[var(--color-text-secondary)] hover:text-[var(--color-text)] hover:bg-[var(--color-surface-hover)] transition-colors touch-target","aria-label":"Close",children:r.jsx(Pr,{className:"w-5 h-5"})}),r.jsx(uo,{className:"flex-1 text-lg font-semibold text-[var(--color-text)]",children:"Insert Image"})]}),r.jsxs("div",{className:"flex-1 overflow-y-auto p-4",children:[r.jsxs("div",{className:"flex gap-2 mb-4 overflow-x-auto pb-2 -mx-4 px-4",children:[r.jsxs("button",{onClick:()=>{o("upload"),x(null)},className:`flex items-center gap-2 px-4 py-2.5 rounded-lg text-sm font-medium transition-colors whitespace-nowrap touch-target ${n==="upload"?"bg-blue-100 text-blue-700 dark:bg-blue-900/50 dark:text-blue-300":"bg-gray-100 text-gray-600 hover:bg-gray-200 dark:bg-gray-800 dark:text-gray-400"}`,"data-testid":"image-upload-tab",children:[r.jsx(io,{className:"w-4 h-4"}),"Upload"]}),r.jsxs("button",{onClick:()=>{o("url"),x(null)},className:`flex items-center gap-2 px-4 py-2.5 rounded-lg text-sm font-medium transition-colors whitespace-nowrap touch-target ${n==="url"?"bg-blue-100 text-blue-700 dark:bg-blue-900/50 dark:text-blue-300":"bg-gray-100 text-gray-600 hover:bg-gray-200 dark:bg-gray-800 dark:text-gray-400"}`,"data-testid":"image-url-tab",children:[r.jsx(Zu,{className:"w-4 h-4"}),"URL"]}),r.jsxs("button",{onClick:()=>{o("library"),x(null)},className:`flex items-center gap-2 px-4 py-2.5 rounded-lg text-sm font-medium transition-colors whitespace-nowrap touch-target ${n==="library"?"bg-blue-100 text-blue-700 dark:bg-blue-900/50 dark:text-blue-300":"bg-gray-100 text-gray-600 hover:bg-gray-200 dark:bg-gray-800 dark:text-gray-400"}`,"data-testid":"image-library-tab",children:[r.jsx(Qg,{className:"w-4 h-4"}),"Library"]})]}),n==="upload"&&r.jsxs("div",{className:"space-y-4",children:[g?r.jsxs("div",{className:"relative",children:[r.jsx("img",{src:g.url,alt:"Preview",className:"w-full h-48 object-contain bg-gray-100 dark:bg-gray-800 rounded-lg","data-testid":"image-preview"}),r.jsx("button",{onClick:()=>p(null),className:"absolute top-2 right-2 p-2 bg-white dark:bg-gray-700 rounded-full shadow hover:bg-gray-100 dark:hover:bg-gray-600 touch-target",title:"Remove",children:r.jsx(Ee,{className:"w-4 h-4 text-gray-600 dark:text-gray-300"})})]}):r.jsxs("div",{onClick:()=>T.current?.click(),onDrop:W,onDragOver:te,onDragLeave:le,className:`flex flex-col items-center justify-center h-48 border-2 border-dashed rounded-lg cursor-pointer transition-colors ${l?"border-blue-500 bg-blue-50 dark:bg-blue-900/20":"border-gray-300 dark:border-gray-600 hover:border-gray-400 hover:bg-gray-50 dark:hover:bg-gray-800"}`,"data-testid":"image-drop-zone",children:[r.jsx(Pa,{className:"w-12 h-12 text-gray-400 mb-3"}),r.jsx("p",{className:"text-sm text-gray-600 dark:text-gray-400 mb-1 text-center px-4",children:"Tap to select an image"}),r.jsx("p",{className:"text-xs text-gray-400 dark:text-gray-500 text-center px-4",children:"JPEG, PNG, GIF, WebP, SVG up to 10MB"})]}),r.jsx("input",{ref:T,type:"file",accept:"image/jpeg,image/png,image/gif,image/webp,image/svg+xml",onChange:G,className:"hidden","data-testid":"image-file-input"})]}),n==="url"&&r.jsxs("div",{className:"space-y-4",children:[r.jsxs("div",{children:[r.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:"Image URL"}),r.jsx("input",{type:"url",value:N,onChange:J=>v(J.target.value),onBlur:se,placeholder:"https://example.com/image.jpg",className:"w-full px-3 py-2.5 border border-gray-300 dark:border-gray-600 bg-white dark:bg-gray-800 text-gray-900 dark:text-gray-100 rounded-lg text-sm focus:outline-none focus:ring-2 focus:ring-blue-500 touch-target","data-testid":"image-url-input"})]}),g&&r.jsx("div",{className:"relative",children:r.jsx("img",{src:g.url,alt:"Preview",className:"w-full h-48 object-contain bg-gray-100 dark:bg-gray-800 rounded-lg",onError:()=>x("Failed to load image from URL"),"data-testid":"image-url-preview"})})]}),n==="library"&&r.jsxs("div",{className:"space-y-4",children:[r.jsxs("div",{className:"relative",children:[r.jsx(Ve,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-gray-400"}),r.jsx("input",{type:"text",value:A,onChange:J=>$(J.target.value),placeholder:"Search images...",className:"w-full pl-10 pr-4 py-2.5 border border-gray-300 dark:border-gray-600 bg-white dark:bg-gray-800 text-gray-900 dark:text-gray-100 rounded-lg text-sm focus:outline-none focus:ring-2 focus:ring-blue-500 touch-target","data-testid":"library-search-input"})]}),S?r.jsx("div",{className:"flex items-center justify-center h-48",children:r.jsx(je,{className:"w-8 h-8 animate-spin text-gray-400"})}):F.length===0?r.jsxs("div",{className:"flex flex-col items-center justify-center h-48 text-gray-500 dark:text-gray-400",children:[r.jsx(Pa,{className:"w-12 h-12 mb-3 opacity-50"}),E.length===0?r.jsxs(r.Fragment,{children:[r.jsx("p",{className:"text-sm font-medium",children:"No images uploaded yet"}),r.jsx("p",{className:"text-xs mt-1",children:"Upload images to see them here"})]}):r.jsxs(r.Fragment,{children:[r.jsx("p",{className:"text-sm font-medium",children:"No images match your search"}),r.jsx("p",{className:"text-xs mt-1",children:"Try a different search term"})]})]}):r.jsx("div",{className:"grid grid-cols-2 gap-3","data-testid":"library-image-grid",children:F.map(J=>r.jsxs("div",{className:`relative rounded-lg overflow-hidden border-2 transition-all cursor-pointer ${P?.filename===J.filename?"border-blue-500 ring-2 ring-blue-500/30":"border-transparent hover:border-gray-300 dark:hover:border-gray-600"}`,onClick:()=>M(J),"data-testid":`library-image-${J.filename}`,children:[r.jsx("img",{src:J.url,alt:J.filename,className:"w-full h-24 object-cover bg-gray-100 dark:bg-gray-800"}),P?.filename===J.filename&&r.jsx("div",{className:"absolute top-2 left-2 w-6 h-6 bg-blue-500 rounded-full flex items-center justify-center",children:r.jsx(Dt,{className:"w-4 h-4 text-white"})}),r.jsx("button",{onClick:re=>{re.stopPropagation(),q===J.filename?ye(J.filename):(_(J.filename),setTimeout(()=>_(null),3e3))},disabled:z,className:`absolute top-2 right-2 p-1.5 rounded transition-colors touch-target ${q===J.filename?"bg-red-500 text-white":"bg-black/50 text-white hover:bg-red-500"}`,title:q===J.filename?"Tap again to confirm":"Delete image","data-testid":`delete-image-${J.filename}`,children:z&&q===J.filename?r.jsx(je,{className:"w-3.5 h-3.5 animate-spin"}):r.jsx(jt,{className:"w-3.5 h-3.5"})}),r.jsx("div",{className:"absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black/70 to-transparent p-2",children:r.jsx("p",{className:"text-white text-xs truncate",children:J.filename})})]},J.filename))}),P&&r.jsxs("div",{className:"mt-4 p-3 bg-gray-50 dark:bg-gray-800 rounded-lg",children:[r.jsx("p",{className:"font-medium text-gray-900 dark:text-gray-100 truncate text-sm",children:P.filename}),r.jsxs("p",{className:"text-xs text-gray-500 dark:text-gray-400 mt-1",children:[Ne(P.size)," • ",we(P.createdAt)]}),P.usageCount!==void 0&&P.usageCount>0&&r.jsxs("p",{className:"text-xs text-amber-600 dark:text-amber-400 flex items-center gap-1 mt-1",children:[r.jsx(dt,{className:"w-3 h-3"}),"Used in ",P.usageCount," document",P.usageCount!==1?"s":""]})]})]}),r.jsxs("div",{className:"mt-4",children:[r.jsxs("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:["Alt Text ",r.jsx("span",{className:"text-gray-400 text-xs font-normal",children:"(optional)"})]}),r.jsx("input",{type:"text",value:j,onChange:J=>k(J.target.value),placeholder:"Describe the image...",className:"w-full px-3 py-2.5 border border-gray-300 dark:border-gray-600 bg-white dark:bg-gray-800 text-gray-900 dark:text-gray-100 rounded-lg text-sm focus:outline-none focus:ring-2 focus:ring-blue-500 touch-target","data-testid":"image-alt-input"})]}),h&&r.jsx("div",{className:"mt-4 p-3 bg-red-50 dark:bg-red-900/30 border border-red-200 dark:border-red-800 rounded-lg text-sm text-red-600 dark:text-red-400","data-testid":"image-upload-error",children:h})]}),r.jsxs("div",{className:"sticky bottom-0 px-4 py-3 border-t border-[var(--color-border)] bg-[var(--color-surface)] flex gap-3",children:[r.jsx("button",{onClick:R,className:"flex-1 px-4 py-2.5 text-sm font-medium text-gray-700 dark:text-gray-300 bg-gray-100 dark:bg-gray-800 rounded-lg hover:bg-gray-200 dark:hover:bg-gray-700 transition-colors touch-target",children:"Cancel"}),r.jsx("button",{onClick:ge,disabled:u||n==="upload"&&!g||n==="url"&&!N||n==="library"&&!P,className:"flex-1 flex items-center justify-center gap-2 px-4 py-2.5 text-sm font-medium text-white bg-blue-600 rounded-lg hover:bg-blue-700 disabled:opacity-50 disabled:cursor-not-allowed transition-colors touch-target","data-testid":"image-insert-button",children:u?r.jsxs(r.Fragment,{children:[r.jsx(je,{className:"w-4 h-4 animate-spin"}),"Uploading..."]}):"Insert"})]})]})]})}):r.jsx(em,{open:e,onOpenChange:J=>!J&&R(),children:r.jsxs(cc,{children:[r.jsx(lo,{className:"fixed inset-0 bg-black/50 z-50"}),r.jsxs(co,{className:`fixed top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 bg-white dark:bg-gray-900 rounded-lg shadow-xl p-6 z-50 ${n==="library"?"w-full max-w-3xl max-h-[80vh] overflow-hidden flex flex-col":"w-full max-w-lg"}`,"data-testid":"image-upload-modal",children:[r.jsx(uo,{className:"text-lg font-semibold text-gray-900 dark:text-gray-100 mb-4",children:"Insert Image"}),r.jsxs("div",{className:"flex gap-2 mb-4",children:[r.jsxs("button",{onClick:()=>{o("upload"),x(null)},className:`flex items-center gap-2 px-4 py-2 rounded-lg text-sm font-medium transition-colors ${n==="upload"?"bg-blue-100 text-blue-700 dark:bg-blue-900/50 dark:text-blue-300":"bg-gray-100 text-gray-600 hover:bg-gray-200 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700"}`,"data-testid":"image-upload-tab",children:[r.jsx(io,{className:"w-4 h-4"}),"Upload"]}),r.jsxs("button",{onClick:()=>{o("url"),x(null)},className:`flex items-center gap-2 px-4 py-2 rounded-lg text-sm font-medium transition-colors ${n==="url"?"bg-blue-100 text-blue-700 dark:bg-blue-900/50 dark:text-blue-300":"bg-gray-100 text-gray-600 hover:bg-gray-200 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700"}`,"data-testid":"image-url-tab",children:[r.jsx(Zu,{className:"w-4 h-4"}),"URL"]}),r.jsxs("button",{onClick:()=>{o("library"),x(null)},className:`flex items-center gap-2 px-4 py-2 rounded-lg text-sm font-medium transition-colors ${n==="library"?"bg-blue-100 text-blue-700 dark:bg-blue-900/50 dark:text-blue-300":"bg-gray-100 text-gray-600 hover:bg-gray-200 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700"}`,"data-testid":"image-library-tab",children:[r.jsx(Qg,{className:"w-4 h-4"}),"Library"]})]}),n==="upload"&&r.jsxs("div",{className:"space-y-4",children:[g?r.jsxs("div",{className:"relative",children:[r.jsx("img",{src:g.url,alt:"Preview",className:"w-full h-48 object-contain bg-gray-100 dark:bg-gray-800 rounded-lg","data-testid":"image-preview"}),r.jsx("button",{onClick:()=>p(null),className:"absolute top-2 right-2 p-1 bg-white dark:bg-gray-700 rounded-full shadow hover:bg-gray-100 dark:hover:bg-gray-600",title:"Remove",children:r.jsx(Ee,{className:"w-4 h-4 text-gray-600 dark:text-gray-300"})})]}):r.jsxs("div",{onClick:()=>T.current?.click(),onDrop:W,onDragOver:te,onDragLeave:le,className:`flex flex-col items-center justify-center h-48 border-2 border-dashed rounded-lg cursor-pointer transition-colors ${l?"border-blue-500 bg-blue-50 dark:bg-blue-900/20":"border-gray-300 dark:border-gray-600 hover:border-gray-400 hover:bg-gray-50 dark:hover:bg-gray-800"}`,"data-testid":"image-drop-zone",children:[r.jsx(Pa,{className:"w-12 h-12 text-gray-400 mb-3"}),r.jsx("p",{className:"text-sm text-gray-600 dark:text-gray-400 mb-1",children:"Drop an image here or click to browse"}),r.jsx("p",{className:"text-xs text-gray-400 dark:text-gray-500",children:"JPEG, PNG, GIF, WebP, SVG up to 10MB"})]}),r.jsx("input",{ref:T,type:"file",accept:"image/jpeg,image/png,image/gif,image/webp,image/svg+xml",onChange:G,className:"hidden","data-testid":"image-file-input"})]}),n==="url"&&r.jsxs("div",{className:"space-y-4",children:[r.jsxs("div",{children:[r.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:"Image URL"}),r.jsx("div",{className:"flex gap-2",children:r.jsx("input",{type:"url",value:N,onChange:J=>v(J.target.value),onBlur:se,placeholder:"https://example.com/image.jpg",className:"flex-1 px-3 py-2 border border-gray-300 dark:border-gray-600 bg-white dark:bg-gray-800 text-gray-900 dark:text-gray-100 rounded-lg text-sm focus:outline-none focus:ring-2 focus:ring-blue-500","data-testid":"image-url-input"})})]}),g&&r.jsx("div",{className:"relative",children:r.jsx("img",{src:g.url,alt:"Preview",className:"w-full h-48 object-contain bg-gray-100 dark:bg-gray-800 rounded-lg",onError:()=>x("Failed to load image from URL"),"data-testid":"image-url-preview"})})]}),n==="library"&&r.jsxs("div",{className:"flex-1 flex flex-col min-h-0",children:[r.jsxs("div",{className:"relative mb-4",children:[r.jsx(Ve,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-gray-400"}),r.jsx("input",{type:"text",value:A,onChange:J=>$(J.target.value),placeholder:"Search images...",className:"w-full pl-10 pr-4 py-2 border border-gray-300 dark:border-gray-600 bg-white dark:bg-gray-800 text-gray-900 dark:text-gray-100 rounded-lg text-sm focus:outline-none focus:ring-2 focus:ring-blue-500","data-testid":"library-search-input"})]}),r.jsx("div",{className:"flex-1 overflow-y-auto",children:S?r.jsx("div",{className:"flex items-center justify-center h-48",children:r.jsx(je,{className:"w-8 h-8 animate-spin text-gray-400"})}):F.length===0?r.jsxs("div",{className:"flex flex-col items-center justify-center h-48 text-gray-500 dark:text-gray-400",children:[r.jsx(Pa,{className:"w-12 h-12 mb-3 opacity-50"}),E.length===0?r.jsxs(r.Fragment,{children:[r.jsx("p",{className:"text-sm font-medium",children:"No images uploaded yet"}),r.jsx("p",{className:"text-xs mt-1",children:"Upload images to see them here"})]}):r.jsxs(r.Fragment,{children:[r.jsx("p",{className:"text-sm font-medium",children:"No images match your search"}),r.jsx("p",{className:"text-xs mt-1",children:"Try a different search term"})]})]}):r.jsx("div",{className:"grid grid-cols-3 gap-3","data-testid":"library-image-grid",children:F.map(J=>r.jsxs("div",{className:`relative group rounded-lg overflow-hidden border-2 transition-all cursor-pointer ${P?.filename===J.filename?"border-blue-500 ring-2 ring-blue-500/30":"border-transparent hover:border-gray-300 dark:hover:border-gray-600"}`,onClick:()=>M(J),"data-testid":`library-image-${J.filename}`,children:[r.jsx("img",{src:J.url,alt:J.filename,className:"w-full h-28 object-cover bg-gray-100 dark:bg-gray-800"}),P?.filename===J.filename&&r.jsx("div",{className:"absolute top-2 left-2 w-6 h-6 bg-blue-500 rounded-full flex items-center justify-center",children:r.jsx(Dt,{className:"w-4 h-4 text-white"})}),r.jsxs("div",{className:"absolute inset-0 bg-black/60 opacity-0 group-hover:opacity-100 transition-opacity flex flex-col justify-between p-2",children:[r.jsx("div",{className:"flex justify-end",children:q===J.filename?r.jsxs("div",{className:"flex gap-1",children:[r.jsx("button",{onClick:re=>{re.stopPropagation(),ye(J.filename)},disabled:z,className:"p-1.5 bg-red-500 rounded text-white hover:bg-red-600 disabled:opacity-50",title:"Confirm delete",children:z?r.jsx(je,{className:"w-3.5 h-3.5 animate-spin"}):r.jsx(Dt,{className:"w-3.5 h-3.5"})}),r.jsx("button",{onClick:re=>{re.stopPropagation(),_(null)},className:"p-1.5 bg-gray-500 rounded text-white hover:bg-gray-600",title:"Cancel",children:r.jsx(Ee,{className:"w-3.5 h-3.5"})})]}):r.jsx("button",{onClick:re=>{re.stopPropagation(),_(J.filename)},className:"p-1.5 bg-red-500/80 rounded text-white hover:bg-red-600",title:"Delete image","data-testid":`delete-image-${J.filename}`,children:r.jsx(jt,{className:"w-3.5 h-3.5"})})}),r.jsxs("div",{className:"text-white text-xs",children:[r.jsx("p",{className:"truncate font-medium",children:J.filename}),r.jsx("p",{className:"opacity-75",children:Ne(J.size)}),J.usageCount!==void 0&&r.jsxs("p",{className:"opacity-75",children:["Used in ",J.usageCount," document",J.usageCount!==1?"s":""]})]})]})]},J.filename))})}),P&&r.jsx("div",{className:"mt-4 pt-4 border-t border-gray-200 dark:border-gray-700",children:r.jsxs("div",{className:"flex items-center gap-4",children:[r.jsx("img",{src:P.url,alt:P.filename,className:"w-16 h-16 object-cover rounded bg-gray-100 dark:bg-gray-800"}),r.jsxs("div",{className:"flex-1 min-w-0",children:[r.jsx("p",{className:"font-medium text-gray-900 dark:text-gray-100 truncate",children:P.filename}),r.jsxs("p",{className:"text-sm text-gray-500 dark:text-gray-400",children:[Ne(P.size)," • Uploaded"," ",we(P.createdAt)]}),P.usageCount!==void 0&&P.usageCount>0&&r.jsxs("p",{className:"text-xs text-amber-600 dark:text-amber-400 flex items-center gap-1 mt-1",children:[r.jsx(dt,{className:"w-3 h-3"}),"Used in ",P.usageCount," document",P.usageCount!==1?"s":""]})]})]})})]}),r.jsxs("div",{className:"mt-4",children:[r.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:"Alt Text (optional)"}),r.jsx("input",{type:"text",value:j,onChange:J=>k(J.target.value),placeholder:"Describe the image...",className:"w-full px-3 py-2 border border-gray-300 dark:border-gray-600 bg-white dark:bg-gray-800 text-gray-900 dark:text-gray-100 rounded-lg text-sm focus:outline-none focus:ring-2 focus:ring-blue-500","data-testid":"image-alt-input"}),r.jsx("p",{className:"text-xs text-gray-400 dark:text-gray-500 mt-1",children:"Alt text helps with accessibility and SEO"})]}),h&&r.jsx("div",{className:"mt-4 p-3 bg-red-50 dark:bg-red-900/30 border border-red-200 dark:border-red-800 rounded-lg text-sm text-red-600 dark:text-red-400","data-testid":"image-upload-error",children:h}),r.jsxs("div",{className:"flex justify-end gap-3 mt-6",children:[r.jsx("button",{onClick:R,className:"px-4 py-2 text-sm font-medium text-gray-700 dark:text-gray-300 bg-gray-100 dark:bg-gray-800 rounded-lg hover:bg-gray-200 dark:hover:bg-gray-700 transition-colors",children:"Cancel"}),r.jsx("button",{onClick:ge,disabled:u||n==="upload"&&!g||n==="url"&&!N||n==="library"&&!P,className:"flex items-center gap-2 px-4 py-2 text-sm font-medium text-white bg-blue-600 rounded-lg hover:bg-blue-700 disabled:opacity-50 disabled:cursor-not-allowed transition-colors","data-testid":"image-insert-button",children:u?r.jsxs(r.Fragment,{children:[r.jsx(je,{className:"w-4 h-4 animate-spin"}),"Uploading..."]}):"Insert Image"})]}),r.jsx(Wm,{asChild:!0,children:r.jsx("button",{className:"absolute top-4 right-4 p-1 text-gray-400 hover:text-gray-600 dark:hover:text-gray-300 rounded","aria-label":"Close",children:r.jsx(Ee,{className:"w-5 h-5"})})})]})]})})}function Ay({isOpen:e,onClose:t,onSelect:a}){const[n,o]=y.useState([]);y.useEffect(()=>{if(e){const h=localStorage.getItem("stoneforge.recentEmojis");if(h)try{o(JSON.parse(h))}catch{o([])}}},[e]);const l=y.useCallback(h=>{const x=h.emoji;o(g=>{const p=g.filter(k=>k!==x),j=[x,...p].slice(0,20);return localStorage.setItem("stoneforge.recentEmojis",JSON.stringify(j)),j}),a(x),t()},[a,t]);y.useEffect(()=>{const h=x=>{e&&x.key==="Escape"&&(x.preventDefault(),t())};return document.addEventListener("keydown",h),()=>document.removeEventListener("keydown",h)},[e,t]);const d=y.useMemo(()=>typeof document<"u"?document.documentElement.classList.contains("dark")?qx.DARK:qx.LIGHT:qx.LIGHT,[e]),u=Et(),m=u?null:r.jsxs("p",{className:"text-xs text-gray-500 dark:text-gray-400",children:["Tip: Type ",r.jsx("kbd",{className:"px-1 py-0.5 bg-gray-200 dark:bg-gray-700 rounded text-xs font-mono",children:":emoji:"})," in the editor to quickly insert emojis"]});return r.jsx(ad,{open:e,onClose:t,title:"Insert Emoji",size:"sm","data-testid":"emoji-picker-modal",footer:m,children:r.jsx("div",{className:"p-2",children:r.jsx(LO,{onEmojiClick:l,theme:d,searchPlaceholder:"Search emojis...",suggestedEmojisMode:PO.RECENT,categories:[{category:hn.SUGGESTED,name:"Recently Used"},{category:hn.SMILEYS_PEOPLE,name:"Smileys & People"},{category:hn.ANIMALS_NATURE,name:"Animals & Nature"},{category:hn.FOOD_DRINK,name:"Food & Drink"},{category:hn.TRAVEL_PLACES,name:"Travel & Places"},{category:hn.ACTIVITIES,name:"Activities"},{category:hn.OBJECTS,name:"Objects"},{category:hn.SYMBOLS,name:"Symbols"},{category:hn.FLAGS,name:"Flags"}],width:u?"100%":350,height:u?"calc(100vh - 150px)":400,previewConfig:{showPreview:!u},lazyLoadEmojis:!0,"data-testid":"emoji-picker-grid"})})})}const Yl=[{shortcode:"smile",emoji:"😊",keywords:["happy","face","joy"]},{shortcode:"grinning",emoji:"😀",keywords:["happy","face","smile"]},{shortcode:"laugh",emoji:"😂",keywords:["joy","cry","tears","lol"]},{shortcode:"joy",emoji:"😂",keywords:["tears","happy","lol"]},{shortcode:"rofl",emoji:"🤣",keywords:["rolling","laugh","floor"]},{shortcode:"wink",emoji:"😉",keywords:["face","flirt"]},{shortcode:"heart_eyes",emoji:"😍",keywords:["love","face","adore"]},{shortcode:"kissing_heart",emoji:"😘",keywords:["love","kiss","face"]},{shortcode:"thinking",emoji:"🤔",keywords:["think","face","hmm"]},{shortcode:"neutral_face",emoji:"😐",keywords:["meh","blank"]},{shortcode:"expressionless",emoji:"😑",keywords:["blank","face"]},{shortcode:"unamused",emoji:"😒",keywords:["meh","unhappy","skeptical"]},{shortcode:"roll_eyes",emoji:"🙄",keywords:["whatever","skeptical"]},{shortcode:"grimacing",emoji:"😬",keywords:["awkward","nervous"]},{shortcode:"relieved",emoji:"😌",keywords:["calm","peaceful"]},{shortcode:"pensive",emoji:"😔",keywords:["sad","thoughtful"]},{shortcode:"sleepy",emoji:"😪",keywords:["tired","face"]},{shortcode:"sleeping",emoji:"😴",keywords:["zzz","tired","face"]},{shortcode:"drool",emoji:"🤤",keywords:["hungry","delicious"]},{shortcode:"stuck_out_tongue",emoji:"😛",keywords:["playful","tease"]},{shortcode:"sunglasses",emoji:"😎",keywords:["cool","face"]},{shortcode:"nerd",emoji:"🤓",keywords:["geek","smart","glasses"]},{shortcode:"confused",emoji:"😕",keywords:["puzzled","uncertain"]},{shortcode:"worried",emoji:"😟",keywords:["nervous","anxious"]},{shortcode:"frown",emoji:"☹️",keywords:["sad","unhappy"]},{shortcode:"sad",emoji:"😢",keywords:["cry","tear","unhappy"]},{shortcode:"sob",emoji:"😭",keywords:["cry","tears","sad"]},{shortcode:"angry",emoji:"😠",keywords:["mad","grumpy"]},{shortcode:"rage",emoji:"😡",keywords:["angry","mad","red"]},{shortcode:"triumph",emoji:"😤",keywords:["proud","confident"]},{shortcode:"scream",emoji:"😱",keywords:["fear","scared","shocked"]},{shortcode:"flushed",emoji:"😳",keywords:["embarrassed","blush"]},{shortcode:"cold_sweat",emoji:"😰",keywords:["nervous","anxious"]},{shortcode:"fearful",emoji:"😨",keywords:["scared","afraid"]},{shortcode:"disappointed",emoji:"😞",keywords:["sad","let down"]},{shortcode:"sweat",emoji:"😓",keywords:["nervous","hard work"]},{shortcode:"weary",emoji:"😩",keywords:["tired","frustrated"]},{shortcode:"tired_face",emoji:"😫",keywords:["exhausted","weary"]},{shortcode:"yawning",emoji:"🥱",keywords:["tired","sleepy","bored"]},{shortcode:"hushed",emoji:"😯",keywords:["surprised","quiet"]},{shortcode:"astonished",emoji:"😲",keywords:["surprised","shocked"]},{shortcode:"open_mouth",emoji:"😮",keywords:["surprised","wow"]},{shortcode:"dizzy",emoji:"😵",keywords:["confused","spiral"]},{shortcode:"exploding_head",emoji:"🤯",keywords:["mind blown","shocked"]},{shortcode:"cowboy",emoji:"🤠",keywords:["hat","western"]},{shortcode:"partying",emoji:"🥳",keywords:["party","celebrate"]},{shortcode:"disguised",emoji:"🥸",keywords:["glasses","mustache"]},{shortcode:"shushing",emoji:"🤫",keywords:["quiet","secret","shh"]},{shortcode:"lying",emoji:"🤥",keywords:["pinocchio","nose"]},{shortcode:"zipper_mouth",emoji:"🤐",keywords:["quiet","secret"]},{shortcode:"mask",emoji:"😷",keywords:["sick","covid","face"]},{shortcode:"face_with_thermometer",emoji:"🤒",keywords:["sick","ill","fever"]},{shortcode:"bandage",emoji:"🤕",keywords:["hurt","injured"]},{shortcode:"nauseated",emoji:"🤢",keywords:["sick","green"]},{shortcode:"vomiting",emoji:"🤮",keywords:["sick","throw up"]},{shortcode:"sneezing",emoji:"🤧",keywords:["sick","tissue"]},{shortcode:"hot",emoji:"🥵",keywords:["warm","heat","summer"]},{shortcode:"cold",emoji:"🥶",keywords:["freezing","winter"]},{shortcode:"woozy",emoji:"🥴",keywords:["drunk","dizzy"]},{shortcode:"star_struck",emoji:"🤩",keywords:["amazed","stars","eyes"]},{shortcode:"zany",emoji:"🤪",keywords:["crazy","silly"]},{shortcode:"upside_down",emoji:"🙃",keywords:["silly","sarcasm"]},{shortcode:"money_mouth",emoji:"🤑",keywords:["rich","dollar"]},{shortcode:"hugging",emoji:"🤗",keywords:["hug","embrace"]},{shortcode:"clown",emoji:"🤡",keywords:["funny","circus"]},{shortcode:"ghost",emoji:"👻",keywords:["halloween","spooky","boo"]},{shortcode:"skull",emoji:"💀",keywords:["death","dead","skeleton"]},{shortcode:"alien",emoji:"👽",keywords:["ufo","space","extraterrestrial"]},{shortcode:"robot",emoji:"🤖",keywords:["machine","bot","ai"]},{shortcode:"poop",emoji:"💩",keywords:["shit","crap"]},{shortcode:"thumbsup",emoji:"👍",keywords:["yes","agree","like","+1"]},{shortcode:"+1",emoji:"👍",keywords:["thumbsup","yes","agree"]},{shortcode:"thumbsdown",emoji:"👎",keywords:["no","disagree","-1"]},{shortcode:"-1",emoji:"👎",keywords:["thumbsdown","no"]},{shortcode:"ok_hand",emoji:"👌",keywords:["perfect","okay"]},{shortcode:"pinched_fingers",emoji:"🤌",keywords:["italian","chef kiss"]},{shortcode:"pinching_hand",emoji:"🤏",keywords:["small","tiny"]},{shortcode:"victory",emoji:"✌️",keywords:["peace","two"]},{shortcode:"crossed_fingers",emoji:"🤞",keywords:["luck","hope"]},{shortcode:"love_you_gesture",emoji:"🤟",keywords:["ily","rock"]},{shortcode:"call_me",emoji:"🤙",keywords:["phone","shaka"]},{shortcode:"point_left",emoji:"👈",keywords:["direction"]},{shortcode:"point_right",emoji:"👉",keywords:["direction"]},{shortcode:"point_up",emoji:"👆",keywords:["direction"]},{shortcode:"point_down",emoji:"👇",keywords:["direction"]},{shortcode:"middle_finger",emoji:"🖕",keywords:["fu","flip off"]},{shortcode:"raised_hand",emoji:"✋",keywords:["stop","hi","high five"]},{shortcode:"wave",emoji:"👋",keywords:["hello","goodbye","hi","bye"]},{shortcode:"clap",emoji:"👏",keywords:["applause","bravo"]},{shortcode:"raised_hands",emoji:"🙌",keywords:["celebration","praise"]},{shortcode:"open_hands",emoji:"👐",keywords:["jazz hands"]},{shortcode:"palms_up",emoji:"🤲",keywords:["prayer","cupped"]},{shortcode:"handshake",emoji:"🤝",keywords:["deal","agreement"]},{shortcode:"pray",emoji:"🙏",keywords:["thanks","please","hope"]},{shortcode:"writing_hand",emoji:"✍️",keywords:["write","pen"]},{shortcode:"nail_polish",emoji:"💅",keywords:["beauty","manicure"]},{shortcode:"muscle",emoji:"💪",keywords:["strong","flex","bicep"]},{shortcode:"mechanical_arm",emoji:"🦾",keywords:["prosthetic","robot"]},{shortcode:"fist",emoji:"✊",keywords:["punch","power","solidarity"]},{shortcode:"fist_bump",emoji:"🤜",keywords:["punch","knucks"]},{shortcode:"heart",emoji:"❤️",keywords:["love","red"]},{shortcode:"red_heart",emoji:"❤️",keywords:["love"]},{shortcode:"orange_heart",emoji:"🧡",keywords:["love"]},{shortcode:"yellow_heart",emoji:"💛",keywords:["love"]},{shortcode:"green_heart",emoji:"💚",keywords:["love"]},{shortcode:"blue_heart",emoji:"💙",keywords:["love"]},{shortcode:"purple_heart",emoji:"💜",keywords:["love"]},{shortcode:"black_heart",emoji:"🖤",keywords:["love","dark"]},{shortcode:"white_heart",emoji:"🤍",keywords:["love","pure"]},{shortcode:"brown_heart",emoji:"🤎",keywords:["love"]},{shortcode:"broken_heart",emoji:"💔",keywords:["sad","breakup"]},{shortcode:"sparkling_heart",emoji:"💖",keywords:["love","shiny"]},{shortcode:"growing_heart",emoji:"💗",keywords:["love","pulse"]},{shortcode:"beating_heart",emoji:"💓",keywords:["love","pulse"]},{shortcode:"revolving_hearts",emoji:"💞",keywords:["love","circle"]},{shortcode:"two_hearts",emoji:"💕",keywords:["love","affection"]},{shortcode:"heart_decoration",emoji:"💟",keywords:["love"]},{shortcode:"heart_exclamation",emoji:"❣️",keywords:["love","heavy"]},{shortcode:"fire",emoji:"🔥",keywords:["hot","lit","flame"]},{shortcode:"star",emoji:"⭐",keywords:["favorite","rating"]},{shortcode:"sparkles",emoji:"✨",keywords:["magic","new","shiny"]},{shortcode:"boom",emoji:"💥",keywords:["explosion","collision"]},{shortcode:"collision",emoji:"💥",keywords:["boom","explosion"]},{shortcode:"sweat_drops",emoji:"💦",keywords:["water","splash"]},{shortcode:"dash",emoji:"💨",keywords:["wind","fast","running"]},{shortcode:"dizzy_symbol",emoji:"💫",keywords:["star","sparkle"]},{shortcode:"speech_balloon",emoji:"💬",keywords:["chat","talk","comment"]},{shortcode:"thought_balloon",emoji:"💭",keywords:["think","idea"]},{shortcode:"zzz",emoji:"💤",keywords:["sleep","tired"]},{shortcode:"bulb",emoji:"💡",keywords:["idea","light","lightbulb"]},{shortcode:"money",emoji:"💰",keywords:["bag","dollar","rich"]},{shortcode:"gem",emoji:"💎",keywords:["diamond","precious"]},{shortcode:"gift",emoji:"🎁",keywords:["present","wrapped"]},{shortcode:"trophy",emoji:"🏆",keywords:["winner","award","champion"]},{shortcode:"medal",emoji:"🏅",keywords:["winner","award"]},{shortcode:"gold_medal",emoji:"🥇",keywords:["first","winner"]},{shortcode:"silver_medal",emoji:"🥈",keywords:["second"]},{shortcode:"bronze_medal",emoji:"🥉",keywords:["third"]},{shortcode:"alarm_clock",emoji:"⏰",keywords:["time","wake"]},{shortcode:"clock",emoji:"🕐",keywords:["time"]},{shortcode:"hourglass",emoji:"⌛",keywords:["time","timer"]},{shortcode:"watch",emoji:"⌚",keywords:["time"]},{shortcode:"bell",emoji:"🔔",keywords:["notification","alert"]},{shortcode:"no_bell",emoji:"🔕",keywords:["quiet","mute"]},{shortcode:"megaphone",emoji:"📣",keywords:["announcement","loud"]},{shortcode:"loudspeaker",emoji:"📢",keywords:["announcement"]},{shortcode:"key",emoji:"🔑",keywords:["lock","password","secret"]},{shortcode:"lock",emoji:"🔒",keywords:["secure","private"]},{shortcode:"unlock",emoji:"🔓",keywords:["open","security"]},{shortcode:"link",emoji:"🔗",keywords:["chain","url"]},{shortcode:"pushpin",emoji:"📌",keywords:["pin","location"]},{shortcode:"paperclip",emoji:"📎",keywords:["attachment"]},{shortcode:"scissors",emoji:"✂️",keywords:["cut"]},{shortcode:"pencil",emoji:"✏️",keywords:["write","edit"]},{shortcode:"pen",emoji:"🖊️",keywords:["write"]},{shortcode:"memo",emoji:"📝",keywords:["note","write"]},{shortcode:"book",emoji:"📖",keywords:["read","open"]},{shortcode:"books",emoji:"📚",keywords:["library","read"]},{shortcode:"bookmark",emoji:"🔖",keywords:["save"]},{shortcode:"calendar",emoji:"📅",keywords:["date","schedule"]},{shortcode:"chart",emoji:"📈",keywords:["graph","increase","up"]},{shortcode:"chart_decreasing",emoji:"📉",keywords:["graph","down"]},{shortcode:"bar_chart",emoji:"📊",keywords:["graph","statistics"]},{shortcode:"clipboard",emoji:"📋",keywords:["list","paste"]},{shortcode:"file_folder",emoji:"📁",keywords:["directory"]},{shortcode:"folder",emoji:"📂",keywords:["open","directory"]},{shortcode:"trash",emoji:"🗑️",keywords:["delete","bin"]},{shortcode:"email",emoji:"📧",keywords:["mail","message"]},{shortcode:"envelope",emoji:"✉️",keywords:["mail","letter"]},{shortcode:"mailbox",emoji:"📬",keywords:["mail","post"]},{shortcode:"package",emoji:"📦",keywords:["box","delivery"]},{shortcode:"label",emoji:"🏷️",keywords:["tag","price"]},{shortcode:"magnifying_glass",emoji:"🔍",keywords:["search","find","zoom"]},{shortcode:"microscope",emoji:"🔬",keywords:["science","research"]},{shortcode:"telescope",emoji:"🔭",keywords:["astronomy","space"]},{shortcode:"satellite",emoji:"📡",keywords:["antenna","signal"]},{shortcode:"computer",emoji:"💻",keywords:["laptop","mac","pc"]},{shortcode:"desktop",emoji:"🖥️",keywords:["computer","monitor"]},{shortcode:"keyboard",emoji:"⌨️",keywords:["type","computer"]},{shortcode:"mouse",emoji:"🖱️",keywords:["computer","click"]},{shortcode:"phone",emoji:"📱",keywords:["mobile","cell","smartphone"]},{shortcode:"telephone",emoji:"☎️",keywords:["call","phone"]},{shortcode:"floppy_disk",emoji:"💾",keywords:["save","storage"]},{shortcode:"cd",emoji:"💿",keywords:["disk","dvd"]},{shortcode:"camera",emoji:"📷",keywords:["photo","picture"]},{shortcode:"video_camera",emoji:"📹",keywords:["film","record"]},{shortcode:"movie_camera",emoji:"🎥",keywords:["film","cinema"]},{shortcode:"tv",emoji:"📺",keywords:["television","watch"]},{shortcode:"radio",emoji:"📻",keywords:["music","broadcast"]},{shortcode:"headphones",emoji:"🎧",keywords:["music","audio"]},{shortcode:"microphone",emoji:"🎤",keywords:["sing","karaoke"]},{shortcode:"speaker",emoji:"🔊",keywords:["audio","loud","volume"]},{shortcode:"muted",emoji:"🔇",keywords:["quiet","silent"]},{shortcode:"battery",emoji:"🔋",keywords:["power","charge"]},{shortcode:"plug",emoji:"🔌",keywords:["electric","power"]},{shortcode:"wrench",emoji:"🔧",keywords:["tool","fix","settings"]},{shortcode:"hammer",emoji:"🔨",keywords:["tool","build"]},{shortcode:"nut_and_bolt",emoji:"🔩",keywords:["tool","hardware"]},{shortcode:"gear",emoji:"⚙️",keywords:["settings","cog"]},{shortcode:"chains",emoji:"⛓️",keywords:["link","connect"]},{shortcode:"coffee",emoji:"☕",keywords:["cafe","drink","hot"]},{shortcode:"tea",emoji:"🍵",keywords:["drink","green"]},{shortcode:"beer",emoji:"🍺",keywords:["drink","alcohol"]},{shortcode:"beers",emoji:"🍻",keywords:["cheers","toast"]},{shortcode:"wine",emoji:"🍷",keywords:["drink","red"]},{shortcode:"cocktail",emoji:"🍸",keywords:["drink","martini"]},{shortcode:"tropical_drink",emoji:"🍹",keywords:["vacation","beach"]},{shortcode:"champagne",emoji:"🍾",keywords:["celebrate","party"]},{shortcode:"pizza",emoji:"🍕",keywords:["food","slice"]},{shortcode:"hamburger",emoji:"🍔",keywords:["food","burger"]},{shortcode:"fries",emoji:"🍟",keywords:["food","french"]},{shortcode:"hotdog",emoji:"🌭",keywords:["food","sausage"]},{shortcode:"taco",emoji:"🌮",keywords:["food","mexican"]},{shortcode:"burrito",emoji:"🌯",keywords:["food","wrap"]},{shortcode:"sushi",emoji:"🍣",keywords:["food","japanese"]},{shortcode:"ramen",emoji:"🍜",keywords:["food","noodles"]},{shortcode:"rice",emoji:"🍚",keywords:["food","bowl"]},{shortcode:"cake",emoji:"🎂",keywords:["birthday","dessert"]},{shortcode:"cookie",emoji:"🍪",keywords:["food","dessert"]},{shortcode:"donut",emoji:"🍩",keywords:["food","dessert"]},{shortcode:"ice_cream",emoji:"🍦",keywords:["dessert","cold"]},{shortcode:"apple",emoji:"🍎",keywords:["fruit","red"]},{shortcode:"banana",emoji:"🍌",keywords:["fruit","yellow"]},{shortcode:"orange",emoji:"🍊",keywords:["fruit","citrus"]},{shortcode:"lemon",emoji:"🍋",keywords:["fruit","sour"]},{shortcode:"grapes",emoji:"🍇",keywords:["fruit","wine"]},{shortcode:"watermelon",emoji:"🍉",keywords:["fruit","summer"]},{shortcode:"strawberry",emoji:"🍓",keywords:["fruit","red"]},{shortcode:"cherries",emoji:"🍒",keywords:["fruit","red"]},{shortcode:"peach",emoji:"🍑",keywords:["fruit"]},{shortcode:"avocado",emoji:"🥑",keywords:["fruit","green"]},{shortcode:"eggplant",emoji:"🍆",keywords:["vegetable","purple"]},{shortcode:"carrot",emoji:"🥕",keywords:["vegetable","orange"]},{shortcode:"corn",emoji:"🌽",keywords:["vegetable","maize"]},{shortcode:"hot_pepper",emoji:"🌶️",keywords:["spicy","chili"]},{shortcode:"broccoli",emoji:"🥦",keywords:["vegetable","green"]},{shortcode:"egg",emoji:"🥚",keywords:["food","breakfast"]},{shortcode:"bacon",emoji:"🥓",keywords:["food","breakfast"]},{shortcode:"bread",emoji:"🍞",keywords:["food","toast"]},{shortcode:"cheese",emoji:"🧀",keywords:["food","dairy"]},{shortcode:"popcorn",emoji:"🍿",keywords:["food","movie","snack"]},{shortcode:"salt",emoji:"🧂",keywords:["seasoning","spice"]},{shortcode:"candy",emoji:"🍬",keywords:["sweet","dessert"]},{shortcode:"chocolate",emoji:"🍫",keywords:["sweet","dessert"]},{shortcode:"lollipop",emoji:"🍭",keywords:["sweet","candy"]},{shortcode:"fork_knife",emoji:"🍴",keywords:["cutlery","eat"]},{shortcode:"spoon",emoji:"🥄",keywords:["cutlery","eat"]},{shortcode:"chopsticks",emoji:"🥢",keywords:["eat","asian"]},{shortcode:"dog",emoji:"🐕",keywords:["pet","animal"]},{shortcode:"cat",emoji:"🐈",keywords:["pet","animal"]},{shortcode:"mouse_face",emoji:"🐭",keywords:["animal","rodent"]},{shortcode:"hamster",emoji:"🐹",keywords:["animal","pet"]},{shortcode:"rabbit",emoji:"🐰",keywords:["animal","bunny"]},{shortcode:"fox",emoji:"🦊",keywords:["animal"]},{shortcode:"bear",emoji:"🐻",keywords:["animal"]},{shortcode:"panda",emoji:"🐼",keywords:["animal","bear"]},{shortcode:"koala",emoji:"🐨",keywords:["animal","australia"]},{shortcode:"tiger",emoji:"🐯",keywords:["animal","cat"]},{shortcode:"lion",emoji:"🦁",keywords:["animal","king"]},{shortcode:"cow",emoji:"🐮",keywords:["animal","farm"]},{shortcode:"pig",emoji:"🐷",keywords:["animal","farm"]},{shortcode:"frog",emoji:"🐸",keywords:["animal","amphibian"]},{shortcode:"monkey",emoji:"🐵",keywords:["animal","ape"]},{shortcode:"see_no_evil",emoji:"🙈",keywords:["monkey","blind"]},{shortcode:"hear_no_evil",emoji:"🙉",keywords:["monkey","deaf"]},{shortcode:"speak_no_evil",emoji:"🙊",keywords:["monkey","mute"]},{shortcode:"chicken",emoji:"🐔",keywords:["animal","bird"]},{shortcode:"penguin",emoji:"🐧",keywords:["animal","bird","cold"]},{shortcode:"bird",emoji:"🐦",keywords:["animal","fly"]},{shortcode:"eagle",emoji:"🦅",keywords:["animal","bird"]},{shortcode:"duck",emoji:"🦆",keywords:["animal","bird"]},{shortcode:"owl",emoji:"🦉",keywords:["animal","bird","night"]},{shortcode:"bat",emoji:"🦇",keywords:["animal","night","vampire"]},{shortcode:"wolf",emoji:"🐺",keywords:["animal","dog"]},{shortcode:"horse",emoji:"🐴",keywords:["animal","ride"]},{shortcode:"unicorn",emoji:"🦄",keywords:["animal","magic","fantasy"]},{shortcode:"bee",emoji:"🐝",keywords:["insect","honey","buzz"]},{shortcode:"butterfly",emoji:"🦋",keywords:["insect","pretty"]},{shortcode:"snail",emoji:"🐌",keywords:["animal","slow"]},{shortcode:"bug",emoji:"🐛",keywords:["insect","caterpillar"]},{shortcode:"ant",emoji:"🐜",keywords:["insect","small"]},{shortcode:"spider",emoji:"🕷️",keywords:["insect","creepy"]},{shortcode:"scorpion",emoji:"🦂",keywords:["animal","sting"]},{shortcode:"crab",emoji:"🦀",keywords:["animal","seafood"]},{shortcode:"lobster",emoji:"🦞",keywords:["animal","seafood"]},{shortcode:"shrimp",emoji:"🦐",keywords:["animal","seafood"]},{shortcode:"squid",emoji:"🦑",keywords:["animal","ocean"]},{shortcode:"octopus",emoji:"🐙",keywords:["animal","ocean"]},{shortcode:"fish",emoji:"🐟",keywords:["animal","ocean"]},{shortcode:"tropical_fish",emoji:"🐠",keywords:["animal","ocean"]},{shortcode:"blowfish",emoji:"🐡",keywords:["animal","fish"]},{shortcode:"shark",emoji:"🦈",keywords:["animal","ocean","dangerous"]},{shortcode:"whale",emoji:"🐳",keywords:["animal","ocean","big"]},{shortcode:"dolphin",emoji:"🐬",keywords:["animal","ocean","smart"]},{shortcode:"crocodile",emoji:"🐊",keywords:["animal","reptile"]},{shortcode:"snake",emoji:"🐍",keywords:["animal","reptile"]},{shortcode:"turtle",emoji:"🐢",keywords:["animal","reptile","slow"]},{shortcode:"lizard",emoji:"🦎",keywords:["animal","reptile"]},{shortcode:"t_rex",emoji:"🦖",keywords:["dinosaur","extinct"]},{shortcode:"dragon",emoji:"🐉",keywords:["fantasy","mythical"]},{shortcode:"sun",emoji:"☀️",keywords:["weather","sunny","bright"]},{shortcode:"moon",emoji:"🌙",keywords:["night","crescent"]},{shortcode:"full_moon",emoji:"🌕",keywords:["night","lunar"]},{shortcode:"star2",emoji:"🌟",keywords:["shiny","bright","glow"]},{shortcode:"cloud",emoji:"☁️",keywords:["weather","sky"]},{shortcode:"rain",emoji:"🌧️",keywords:["weather","wet"]},{shortcode:"thunder",emoji:"⛈️",keywords:["weather","storm"]},{shortcode:"snow",emoji:"❄️",keywords:["weather","cold","winter"]},{shortcode:"snowflake",emoji:"❄️",keywords:["cold","winter","frozen"]},{shortcode:"snowman",emoji:"⛄",keywords:["winter","cold"]},{shortcode:"wind_face",emoji:"🌬️",keywords:["blow","air"]},{shortcode:"tornado",emoji:"🌪️",keywords:["weather","storm"]},{shortcode:"fog",emoji:"🌫️",keywords:["weather","mist"]},{shortcode:"rainbow",emoji:"🌈",keywords:["weather","colorful"]},{shortcode:"umbrella",emoji:"☂️",keywords:["rain","weather"]},{shortcode:"ocean",emoji:"🌊",keywords:["wave","water","sea"]},{shortcode:"water",emoji:"💧",keywords:["drop","liquid"]},{shortcode:"flower",emoji:"🌸",keywords:["cherry","blossom","spring"]},{shortcode:"sunflower",emoji:"🌻",keywords:["flower","yellow"]},{shortcode:"rose",emoji:"🌹",keywords:["flower","red","love"]},{shortcode:"tulip",emoji:"🌷",keywords:["flower","spring"]},{shortcode:"hibiscus",emoji:"🌺",keywords:["flower","tropical"]},{shortcode:"bouquet",emoji:"💐",keywords:["flowers","gift"]},{shortcode:"shamrock",emoji:"☘️",keywords:["luck","irish","green"]},{shortcode:"four_leaf_clover",emoji:"🍀",keywords:["luck","lucky"]},{shortcode:"herb",emoji:"🌿",keywords:["plant","green"]},{shortcode:"seedling",emoji:"🌱",keywords:["plant","grow","sprout"]},{shortcode:"tree",emoji:"🌳",keywords:["nature","plant"]},{shortcode:"palm_tree",emoji:"🌴",keywords:["beach","tropical"]},{shortcode:"cactus",emoji:"🌵",keywords:["plant","desert"]},{shortcode:"christmas_tree",emoji:"🎄",keywords:["holiday","december"]},{shortcode:"leaves",emoji:"🍃",keywords:["wind","green","nature"]},{shortcode:"fallen_leaf",emoji:"🍂",keywords:["autumn","fall"]},{shortcode:"maple_leaf",emoji:"🍁",keywords:["autumn","canada"]},{shortcode:"mushroom",emoji:"🍄",keywords:["fungus","nature"]},{shortcode:"earth",emoji:"🌍",keywords:["world","globe","planet"]},{shortcode:"earth_americas",emoji:"🌎",keywords:["world","globe"]},{shortcode:"earth_asia",emoji:"🌏",keywords:["world","globe"]},{shortcode:"globe",emoji:"🌐",keywords:["world","internet","web"]},{shortcode:"volcano",emoji:"🌋",keywords:["mountain","eruption"]},{shortcode:"mountain",emoji:"⛰️",keywords:["nature","high"]},{shortcode:"mount_fuji",emoji:"🗻",keywords:["japan","mountain"]},{shortcode:"soccer",emoji:"⚽",keywords:["football","sport","ball"]},{shortcode:"basketball",emoji:"🏀",keywords:["sport","ball"]},{shortcode:"football",emoji:"🏈",keywords:["american","sport"]},{shortcode:"baseball",emoji:"⚾",keywords:["sport","ball"]},{shortcode:"tennis",emoji:"🎾",keywords:["sport","ball"]},{shortcode:"volleyball",emoji:"🏐",keywords:["sport","ball"]},{shortcode:"rugby",emoji:"🏉",keywords:["sport","ball"]},{shortcode:"pool",emoji:"🎱",keywords:["billiards","eight ball"]},{shortcode:"bowling",emoji:"🎳",keywords:["sport","pin"]},{shortcode:"golf",emoji:"⛳",keywords:["sport","flag"]},{shortcode:"dart",emoji:"🎯",keywords:["target","bullseye"]},{shortcode:"ice_skate",emoji:"⛸️",keywords:["winter","sport"]},{shortcode:"ski",emoji:"🎿",keywords:["winter","sport","snow"]},{shortcode:"skateboard",emoji:"🛹",keywords:["sport","skate"]},{shortcode:"surfing",emoji:"🏄",keywords:["sport","wave","beach"]},{shortcode:"swimming",emoji:"🏊",keywords:["sport","pool"]},{shortcode:"running",emoji:"🏃",keywords:["sport","exercise"]},{shortcode:"biking",emoji:"🚴",keywords:["sport","bicycle","cycling"]},{shortcode:"weight_lifting",emoji:"🏋️",keywords:["sport","gym","exercise"]},{shortcode:"yoga",emoji:"🧘",keywords:["exercise","meditate","zen"]},{shortcode:"martial_arts",emoji:"🥋",keywords:["karate","sport"]},{shortcode:"boxing",emoji:"🥊",keywords:["glove","sport","fight"]},{shortcode:"wrestling",emoji:"🤼",keywords:["sport","fight"]},{shortcode:"fencing",emoji:"🤺",keywords:["sport","sword"]},{shortcode:"climbing",emoji:"🧗",keywords:["sport","rock"]},{shortcode:"fishing",emoji:"🎣",keywords:["sport","rod"]},{shortcode:"horse_racing",emoji:"🏇",keywords:["sport","race"]},{shortcode:"checkered_flag",emoji:"🏁",keywords:["race","finish"]},{shortcode:"video_game",emoji:"🎮",keywords:["gaming","controller","play"]},{shortcode:"joystick",emoji:"🕹️",keywords:["gaming","arcade"]},{shortcode:"game_die",emoji:"🎲",keywords:["dice","random","game"]},{shortcode:"chess",emoji:"♟️",keywords:["game","strategy"]},{shortcode:"jigsaw",emoji:"🧩",keywords:["puzzle","game"]},{shortcode:"teddy_bear",emoji:"🧸",keywords:["toy","stuffed"]},{shortcode:"slot_machine",emoji:"🎰",keywords:["casino","gambling"]},{shortcode:"performing_arts",emoji:"🎭",keywords:["theater","drama","masks"]},{shortcode:"art",emoji:"🎨",keywords:["paint","palette","creative"]},{shortcode:"ticket",emoji:"🎟️",keywords:["admission","event"]},{shortcode:"balloon",emoji:"🎈",keywords:["party","celebration"]},{shortcode:"confetti_ball",emoji:"🎊",keywords:["party","celebrate"]},{shortcode:"party_popper",emoji:"🎉",keywords:["party","tada","celebration"]},{shortcode:"tada",emoji:"🎉",keywords:["party","celebration","congrats"]},{shortcode:"car",emoji:"🚗",keywords:["vehicle","drive"]},{shortcode:"taxi",emoji:"🚕",keywords:["vehicle","cab"]},{shortcode:"bus",emoji:"🚌",keywords:["vehicle","transit"]},{shortcode:"ambulance",emoji:"🚑",keywords:["vehicle","emergency"]},{shortcode:"fire_engine",emoji:"🚒",keywords:["vehicle","emergency"]},{shortcode:"police_car",emoji:"🚓",keywords:["vehicle","emergency"]},{shortcode:"truck",emoji:"🚚",keywords:["vehicle","delivery"]},{shortcode:"train",emoji:"🚆",keywords:["vehicle","transit","rail"]},{shortcode:"metro",emoji:"🚇",keywords:["subway","transit"]},{shortcode:"bike",emoji:"🚲",keywords:["bicycle","cycle"]},{shortcode:"motorcycle",emoji:"🏍️",keywords:["vehicle","motorbike"]},{shortcode:"scooter",emoji:"🛴",keywords:["vehicle","kick"]},{shortcode:"airplane",emoji:"✈️",keywords:["flight","travel","plane"]},{shortcode:"helicopter",emoji:"🚁",keywords:["vehicle","fly"]},{shortcode:"rocket",emoji:"🚀",keywords:["space","launch","fast"]},{shortcode:"ufo",emoji:"🛸",keywords:["alien","space","flying saucer"]},{shortcode:"ship",emoji:"🚢",keywords:["boat","cruise"]},{shortcode:"sailboat",emoji:"⛵",keywords:["boat","sailing"]},{shortcode:"anchor",emoji:"⚓",keywords:["boat","ship","nautical"]},{shortcode:"fuel_pump",emoji:"⛽",keywords:["gas","petrol"]},{shortcode:"construction",emoji:"🚧",keywords:["barrier","work"]},{shortcode:"traffic_light",emoji:"🚦",keywords:["signal","stop"]},{shortcode:"house",emoji:"🏠",keywords:["home","building"]},{shortcode:"office",emoji:"🏢",keywords:["building","work"]},{shortcode:"hospital",emoji:"🏥",keywords:["building","medical"]},{shortcode:"bank",emoji:"🏦",keywords:["building","money"]},{shortcode:"hotel",emoji:"🏨",keywords:["building","travel"]},{shortcode:"school",emoji:"🏫",keywords:["building","education"]},{shortcode:"church",emoji:"⛪",keywords:["building","religion"]},{shortcode:"mosque",emoji:"🕌",keywords:["building","religion"]},{shortcode:"synagogue",emoji:"🕍",keywords:["building","religion"]},{shortcode:"castle",emoji:"🏰",keywords:["building","medieval"]},{shortcode:"statue_of_liberty",emoji:"🗽",keywords:["usa","new york"]},{shortcode:"tokyo_tower",emoji:"🗼",keywords:["japan","landmark"]},{shortcode:"eiffel",emoji:"🗼",keywords:["paris","france"]},{shortcode:"tent",emoji:"⛺",keywords:["camping","outdoor"]},{shortcode:"ferris_wheel",emoji:"🎡",keywords:["amusement","park"]},{shortcode:"roller_coaster",emoji:"🎢",keywords:["amusement","park"]},{shortcode:"carousel",emoji:"🎠",keywords:["amusement","horse"]},{shortcode:"beach_umbrella",emoji:"🏖️",keywords:["vacation","sun"]},{shortcode:"camping",emoji:"🏕️",keywords:["outdoor","tent"]},{shortcode:"sunrise",emoji:"🌅",keywords:["morning","dawn"]},{shortcode:"sunset",emoji:"🌇",keywords:["evening","dusk"]},{shortcode:"night",emoji:"🌃",keywords:["city","dark","stars"]},{shortcode:"milky_way",emoji:"🌌",keywords:["space","galaxy","stars"]},{shortcode:"check",emoji:"✅",keywords:["yes","done","success"]},{shortcode:"white_check_mark",emoji:"✅",keywords:["yes","done"]},{shortcode:"heavy_check_mark",emoji:"✔️",keywords:["yes","done"]},{shortcode:"x",emoji:"❌",keywords:["no","wrong","error","cross"]},{shortcode:"cross_mark",emoji:"❌",keywords:["no","wrong"]},{shortcode:"question",emoji:"❓",keywords:["what","help"]},{shortcode:"exclamation",emoji:"❗",keywords:["important","alert"]},{shortcode:"warning",emoji:"⚠️",keywords:["alert","caution"]},{shortcode:"no_entry",emoji:"⛔",keywords:["stop","forbidden"]},{shortcode:"prohibited",emoji:"🚫",keywords:["no","forbidden","banned"]},{shortcode:"infinity",emoji:"♾️",keywords:["forever","endless"]},{shortcode:"recycle",emoji:"♻️",keywords:["green","environment"]},{shortcode:"atom",emoji:"⚛️",keywords:["science","physics"]},{shortcode:"fleur_de_lis",emoji:"⚜️",keywords:["symbol","scout"]},{shortcode:"trident",emoji:"🔱",keywords:["symbol","weapon"]},{shortcode:"name_badge",emoji:"📛",keywords:["id","tag"]},{shortcode:"beginner",emoji:"🔰",keywords:["symbol","new"]},{shortcode:"o",emoji:"⭕",keywords:["circle","ring"]},{shortcode:"multiply",emoji:"✖️",keywords:["math","times","x"]},{shortcode:"plus",emoji:"➕",keywords:["math","add"]},{shortcode:"minus",emoji:"➖",keywords:["math","subtract"]},{shortcode:"divide",emoji:"➗",keywords:["math","division"]},{shortcode:"equals",emoji:"🟰",keywords:["math","same"]},{shortcode:"curly_loop",emoji:"➰",keywords:["loop","spiral"]},{shortcode:"double_curly_loop",emoji:"➿",keywords:["loop","spiral"]},{shortcode:"part_alternation_mark",emoji:"〽️",keywords:["symbol"]},{shortcode:"eight_spoked_asterisk",emoji:"✳️",keywords:["symbol","star"]},{shortcode:"eight_pointed_star",emoji:"✴️",keywords:["symbol","star"]},{shortcode:"sparkle",emoji:"❇️",keywords:["symbol","star"]},{shortcode:"bangbang",emoji:"‼️",keywords:["exclamation","important"]},{shortcode:"interrobang",emoji:"⁉️",keywords:["question","exclamation"]},{shortcode:"copyright",emoji:"©️",keywords:["ip","legal"]},{shortcode:"registered",emoji:"®️",keywords:["ip","legal"]},{shortcode:"tm",emoji:"™️",keywords:["trademark","legal"]},{shortcode:"hash",emoji:"#️⃣",keywords:["number","pound"]},{shortcode:"asterisk",emoji:"*️⃣",keywords:["symbol","star"]},{shortcode:"zero",emoji:"0️⃣",keywords:["number","digit"]},{shortcode:"one",emoji:"1️⃣",keywords:["number","digit"]},{shortcode:"two",emoji:"2️⃣",keywords:["number","digit"]},{shortcode:"three",emoji:"3️⃣",keywords:["number","digit"]},{shortcode:"four",emoji:"4️⃣",keywords:["number","digit"]},{shortcode:"five",emoji:"5️⃣",keywords:["number","digit"]},{shortcode:"six",emoji:"6️⃣",keywords:["number","digit"]},{shortcode:"seven",emoji:"7️⃣",keywords:["number","digit"]},{shortcode:"eight",emoji:"8️⃣",keywords:["number","digit"]},{shortcode:"nine",emoji:"9️⃣",keywords:["number","digit"]},{shortcode:"keycap_ten",emoji:"🔟",keywords:["number","digit"]},{shortcode:"hundred",emoji:"💯",keywords:["score","perfect","100"]},{shortcode:"100",emoji:"💯",keywords:["score","perfect","hundred"]},{shortcode:"abc",emoji:"🔤",keywords:["alphabet","letters"]},{shortcode:"abcd",emoji:"🔡",keywords:["alphabet","lowercase"]},{shortcode:"capital_abcd",emoji:"🔠",keywords:["alphabet","uppercase"]},{shortcode:"symbols",emoji:"🔣",keywords:["character","input"]},{shortcode:"input_latin_letters",emoji:"🔤",keywords:["alphabet","type"]},{shortcode:"a",emoji:"🅰️",keywords:["blood","letter"]},{shortcode:"b",emoji:"🅱️",keywords:["blood","letter"]},{shortcode:"ab",emoji:"🆎",keywords:["blood","type"]},{shortcode:"cl",emoji:"🆑",keywords:["clear"]},{shortcode:"cool",emoji:"🆒",keywords:["word"]},{shortcode:"free",emoji:"🆓",keywords:["word","gratis"]},{shortcode:"id",emoji:"🆔",keywords:["identity"]},{shortcode:"new",emoji:"🆕",keywords:["word","fresh"]},{shortcode:"ng",emoji:"🆖",keywords:["word","no good"]},{shortcode:"ok",emoji:"🆗",keywords:["word","okay"]},{shortcode:"sos",emoji:"🆘",keywords:["help","emergency"]},{shortcode:"up",emoji:"🆙",keywords:["word"]},{shortcode:"vs",emoji:"🆚",keywords:["versus","against"]},{shortcode:"arrow_up",emoji:"⬆️",keywords:["direction","north"]},{shortcode:"arrow_down",emoji:"⬇️",keywords:["direction","south"]},{shortcode:"arrow_left",emoji:"⬅️",keywords:["direction","west"]},{shortcode:"arrow_right",emoji:"➡️",keywords:["direction","east"]},{shortcode:"arrow_upper_left",emoji:"↖️",keywords:["direction"]},{shortcode:"arrow_upper_right",emoji:"↗️",keywords:["direction"]},{shortcode:"arrow_lower_left",emoji:"↙️",keywords:["direction"]},{shortcode:"arrow_lower_right",emoji:"↘️",keywords:["direction"]},{shortcode:"left_right_arrow",emoji:"↔️",keywords:["direction"]},{shortcode:"up_down_arrow",emoji:"↕️",keywords:["direction"]},{shortcode:"arrows_counterclockwise",emoji:"🔄",keywords:["refresh","reload"]},{shortcode:"arrows_clockwise",emoji:"🔃",keywords:["refresh","reload"]},{shortcode:"back",emoji:"🔙",keywords:["arrow","return"]},{shortcode:"end",emoji:"🔚",keywords:["arrow"]},{shortcode:"on",emoji:"🔛",keywords:["arrow"]},{shortcode:"soon",emoji:"🔜",keywords:["arrow"]},{shortcode:"top",emoji:"🔝",keywords:["arrow","up"]},{shortcode:"place_of_worship",emoji:"🛐",keywords:["religion","pray"]},{shortcode:"peace",emoji:"☮️",keywords:["symbol","hippie"]},{shortcode:"menorah",emoji:"🕎",keywords:["religion","jewish"]},{shortcode:"six_pointed_star",emoji:"🔯",keywords:["jewish","star"]},{shortcode:"yin_yang",emoji:"☯️",keywords:["balance","asian"]},{shortcode:"latin_cross",emoji:"✝️",keywords:["religion","christian"]},{shortcode:"orthodox_cross",emoji:"☦️",keywords:["religion"]},{shortcode:"star_and_crescent",emoji:"☪️",keywords:["religion","islam"]},{shortcode:"wheel_of_dharma",emoji:"☸️",keywords:["religion","buddhism"]},{shortcode:"om",emoji:"🕉️",keywords:["religion","hindu"]},{shortcode:"red_circle",emoji:"🔴",keywords:["shape"]},{shortcode:"orange_circle",emoji:"🟠",keywords:["shape"]},{shortcode:"yellow_circle",emoji:"🟡",keywords:["shape"]},{shortcode:"green_circle",emoji:"🟢",keywords:["shape"]},{shortcode:"blue_circle",emoji:"🔵",keywords:["shape"]},{shortcode:"purple_circle",emoji:"🟣",keywords:["shape"]},{shortcode:"brown_circle",emoji:"🟤",keywords:["shape"]},{shortcode:"black_circle",emoji:"⚫",keywords:["shape"]},{shortcode:"white_circle",emoji:"⚪",keywords:["shape"]},{shortcode:"red_square",emoji:"🟥",keywords:["shape"]},{shortcode:"orange_square",emoji:"🟧",keywords:["shape"]},{shortcode:"yellow_square",emoji:"🟨",keywords:["shape"]},{shortcode:"green_square",emoji:"🟩",keywords:["shape"]},{shortcode:"blue_square",emoji:"🟦",keywords:["shape"]},{shortcode:"purple_square",emoji:"🟪",keywords:["shape"]},{shortcode:"brown_square",emoji:"🟫",keywords:["shape"]},{shortcode:"black_large_square",emoji:"⬛",keywords:["shape"]},{shortcode:"white_large_square",emoji:"⬜",keywords:["shape"]},{shortcode:"diamond_shape_with_a_dot_inside",emoji:"💠",keywords:["symbol"]},{shortcode:"radio_button",emoji:"🔘",keywords:["circle","input"]},{shortcode:"white_square_button",emoji:"🔳",keywords:["shape"]},{shortcode:"black_square_button",emoji:"🔲",keywords:["shape"]},{shortcode:"flag_white",emoji:"🏳️",keywords:["surrender"]},{shortcode:"flag_black",emoji:"🏴",keywords:["pirate"]},{shortcode:"rainbow_flag",emoji:"🏳️‍🌈",keywords:["pride","lgbt"]},{shortcode:"pirate_flag",emoji:"🏴‍☠️",keywords:["jolly roger"]},{shortcode:"flag_us",emoji:"🇺🇸",keywords:["usa","america"]},{shortcode:"flag_gb",emoji:"🇬🇧",keywords:["uk","britain","england"]},{shortcode:"flag_ca",emoji:"🇨🇦",keywords:["canada"]},{shortcode:"flag_de",emoji:"🇩🇪",keywords:["germany","deutsch"]},{shortcode:"flag_fr",emoji:"🇫🇷",keywords:["france","french"]},{shortcode:"flag_it",emoji:"🇮🇹",keywords:["italy","italian"]},{shortcode:"flag_es",emoji:"🇪🇸",keywords:["spain","spanish"]},{shortcode:"flag_jp",emoji:"🇯🇵",keywords:["japan","japanese"]},{shortcode:"flag_cn",emoji:"🇨🇳",keywords:["china","chinese"]},{shortcode:"flag_kr",emoji:"🇰🇷",keywords:["korea","korean","south"]},{shortcode:"flag_in",emoji:"🇮🇳",keywords:["india","indian"]},{shortcode:"flag_br",emoji:"🇧🇷",keywords:["brazil","brazilian"]},{shortcode:"flag_mx",emoji:"🇲🇽",keywords:["mexico","mexican"]},{shortcode:"flag_au",emoji:"🇦🇺",keywords:["australia","aussie"]},{shortcode:"flag_ru",emoji:"🇷🇺",keywords:["russia","russian"]},{shortcode:"checkered_flag",emoji:"🏁",keywords:["race","finish"]},{shortcode:"triangular_flag",emoji:"🚩",keywords:["red flag","warning"]}],Ds=new Map;for(const e of Yl){Ds.has(e.shortcode)||Ds.set(e.shortcode,[]),Ds.get(e.shortcode).push(e);for(const t of e.keywords)Ds.has(t)||Ds.set(t,[]),Ds.get(t).push(e)}function LV(e){if(!e){const l=localStorage.getItem("stoneforge.recentEmojis");if(l)try{const u=JSON.parse(l).map(m=>Yl.find(h=>h.emoji===m)).filter(m=>m!==void 0).slice(0,10);if(u.length>0)return u}catch{}return Yl.slice(0,10)}const t=e.toLowerCase(),a=new Set,n=[],o=Ds.get(t)||[];for(const l of o)a.has(l.emoji)||(a.add(l.emoji),n.push(l));for(const l of Yl)if(!a.has(l.emoji)){if(l.shortcode.toLowerCase().startsWith(t))a.add(l.emoji),n.push(l);else for(const d of l.keywords)if(d.startsWith(t)){a.add(l.emoji),n.push(l);break}}for(const l of Yl)if(!a.has(l.emoji)){if(l.shortcode.toLowerCase().includes(t))a.add(l.emoji),n.push(l);else for(const d of l.keywords)if(d.includes(t)){a.add(l.emoji),n.push(l);break}}return n.slice(0,20)}const hT=y.forwardRef(({items:e,command:t},a)=>{const[n,o]=y.useState(0);y.useEffect(()=>{o(0)},[e]);const l=y.useCallback(d=>{const u=e[d];u&&t(u)},[e,t]);return y.useImperativeHandle(a,()=>({onKeyDown:({event:d})=>d.key==="ArrowUp"?(o(u=>u<=0?e.length-1:u-1),!0):d.key==="ArrowDown"?(o(u=>u>=e.length-1?0:u+1),!0):d.key==="Enter"?(l(n),!0):d.key==="Escape"})),e.length?r.jsx("div",{"data-testid":"emoji-autocomplete-menu",className:"bg-white dark:bg-gray-800 rounded-lg shadow-lg border border-gray-200 dark:border-gray-700 p-1 min-w-[200px] max-h-[240px] overflow-y-auto",children:e.map((d,u)=>{const m=u===n;return r.jsxs("button",{"data-testid":`emoji-item-${d.shortcode}`,className:`w-full flex items-center gap-3 px-3 py-1.5 rounded text-left transition-colors ${m?"bg-blue-50 dark:bg-blue-900/30 text-blue-700 dark:text-blue-300":"text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-700"}`,onClick:h=>{h.preventDefault(),h.stopPropagation(),l(u)},onMouseDown:h=>{h.preventDefault()},onMouseEnter:()=>o(u),children:[r.jsx("span",{className:"text-xl",children:d.emoji}),r.jsxs("span",{className:"text-sm font-mono",children:[":",d.shortcode,":"]})]},`${d.emoji}-${d.shortcode}-${u}`)})}):r.jsx("div",{"data-testid":"emoji-autocomplete-menu",className:"bg-white dark:bg-gray-800 rounded-lg shadow-lg border border-gray-200 dark:border-gray-700 p-3 min-w-[200px]",children:r.jsx("div",{className:"text-sm text-gray-500 dark:text-gray-400",children:"No matching emojis"})})});hT.displayName="EmojiMenu";function PV(){return{char:":",startOfLine:!1,allowSpaces:!1,items:({query:e})=>LV(e),render:()=>{let e=null,t=null;return{onStart:a=>{e=new Uo(hT,{props:{items:a.items,command:a.command},editor:a.editor}),a.clientRect&&(t=Ha(document.body,{getReferenceClientRect:a.clientRect,appendTo:()=>document.body,content:e.element,showOnCreate:!0,interactive:!0,trigger:"manual",placement:"bottom-start",animation:"fade",zIndex:9999}))},onUpdate:a=>{e&&e.updateProps({items:a.items,command:a.command}),t&&a.clientRect&&t.setProps({getReferenceClientRect:a.clientRect})},onKeyDown:a=>a.event.key==="Escape"?(t?.hide(),!0):e?.ref?e.ref.onKeyDown(a):!1,onExit:()=>{t?.destroy(),e?.destroy()}}},command:({editor:e,range:t,props:a})=>{e.chain().focus().deleteRange(t).insertContent(a.emoji).run();const n=localStorage.getItem("stoneforge.recentEmojis");let o=[];if(n)try{o=JSON.parse(n)}catch{}o=[a.emoji,...o.filter(l=>l!==a.emoji)].slice(0,20),localStorage.setItem("stoneforge.recentEmojis",JSON.stringify(o))}}}const RV=new qo("emojiSuggestion"),IV=Ws.create({name:"emojiAutocomplete",addProseMirrorPlugins(){return[Fo({editor:this.editor,pluginKey:RV,...PV()})]}}),BV=Zm.create({name:"mention",group:"inline",inline:!0,selectable:!0,atom:!0,addAttributes(){return{id:{default:null,parseHTML:e=>e.getAttribute("data-mention-id"),renderHTML:e=>e.id?{"data-mention-id":e.id}:{}},name:{default:null,parseHTML:e=>e.getAttribute("data-mention-name"),renderHTML:e=>e.name?{"data-mention-name":e.name}:{}},entityType:{default:"human",parseHTML:e=>e.getAttribute("data-entity-type"),renderHTML:e=>e.entityType?{"data-entity-type":e.entityType}:{}}}},parseHTML(){return[{tag:"span[data-mention-id]"}]},renderHTML({node:e,HTMLAttributes:t}){return["a",Jm(t,{class:"mention-chip",href:`/entities?selected=${e.attrs.id}`}),`@${e.attrs.name}`]},addKeyboardShortcuts(){return{Backspace:()=>this.editor.commands.command(({tr:e,state:t})=>{let a=!1;const{selection:n}=t,{empty:o,anchor:l}=n;return o?(t.doc.nodesBetween(l-1,l,(d,u)=>{if(d.type.name===this.name)return a=!0,e.insertText("",u,u+d.nodeSize),!1}),a):!1})}}});function zV(e,t){if(!e)return t.slice(0,10);const a=e.toLowerCase(),n=[],o=new Set;for(const l of t)l.name.toLowerCase()===a&&!o.has(l.id)&&(o.add(l.id),n.push(l));for(const l of t)l.name.toLowerCase().startsWith(a)&&!o.has(l.id)&&(o.add(l.id),n.push(l));for(const l of t)l.name.toLowerCase().includes(a)&&!o.has(l.id)&&(o.add(l.id),n.push(l));return n.slice(0,10)}function qV(e){switch(e){case"agent":return r.jsx(tr,{className:"w-4 h-4"});case"system":return r.jsx(Jn,{className:"w-4 h-4"});case"human":default:return r.jsx(Ze,{className:"w-4 h-4"})}}function FV(e){switch(e){case"agent":return"Agent";case"system":return"System";case"human":default:return"Human"}}const xT=y.forwardRef(({items:e,command:t},a)=>{const[n,o]=y.useState(0);y.useEffect(()=>{o(0)},[e]);const l=y.useCallback(d=>{const u=e[d];u&&t(u)},[e,t]);return y.useImperativeHandle(a,()=>({onKeyDown:({event:d})=>d.key==="ArrowUp"?(o(u=>u<=0?e.length-1:u-1),!0):d.key==="ArrowDown"?(o(u=>u>=e.length-1?0:u+1),!0):d.key==="Enter"?(l(n),!0):d.key==="Escape"})),e.length?r.jsx("div",{"data-testid":"mention-autocomplete-menu",className:"bg-white dark:bg-gray-800 rounded-lg shadow-lg border border-gray-200 dark:border-gray-700 p-1 min-w-[220px] max-h-[280px] overflow-y-auto",children:e.map((d,u)=>{const m=u===n;return r.jsxs("button",{"data-testid":`mention-item-${d.name}`,className:`w-full flex items-center gap-3 px-3 py-2 rounded text-left transition-colors ${m?"bg-blue-50 dark:bg-blue-900/30 text-blue-700 dark:text-blue-300":"text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-700"}`,onClick:h=>{h.preventDefault(),h.stopPropagation(),l(u)},onMouseDown:h=>{h.preventDefault()},onMouseEnter:()=>o(u),children:[r.jsx("span",{className:`flex items-center justify-center w-8 h-8 rounded-full ${d.entityType==="agent"?"bg-purple-100 text-purple-600 dark:bg-purple-900/50 dark:text-purple-400":d.entityType==="system"?"bg-gray-100 text-gray-600 dark:bg-gray-700 dark:text-gray-400":"bg-blue-100 text-blue-600 dark:bg-blue-900/50 dark:text-blue-400"}`,children:qV(d.entityType)}),r.jsxs("div",{className:"flex-1 min-w-0",children:[r.jsxs("div",{className:"font-medium truncate",children:["@",d.name]}),r.jsx("div",{className:"text-xs text-gray-500 dark:text-gray-400",children:FV(d.entityType)})]})]},d.id)})}):r.jsx("div",{"data-testid":"mention-autocomplete-menu",className:"bg-white dark:bg-gray-800 rounded-lg shadow-lg border border-gray-200 dark:border-gray-700 p-3 min-w-[200px]",children:r.jsx("div",{className:"text-sm text-gray-500 dark:text-gray-400",children:"No matching entities"})})});xT.displayName="MentionMenu";function UV(e){return{char:"@",startOfLine:!1,allowSpaces:!1,items:({query:t})=>{const a=e.getEntities();return zV(t,a)},render:()=>{let t=null,a=null;return{onStart:n=>{t=new Uo(xT,{props:{items:n.items,command:n.command},editor:n.editor}),n.clientRect&&(a=Ha(document.body,{getReferenceClientRect:n.clientRect,appendTo:()=>document.body,content:t.element,showOnCreate:!0,interactive:!0,trigger:"manual",placement:"bottom-start",animation:"fade",zIndex:9999}))},onUpdate:n=>{t&&t.updateProps({items:n.items,command:n.command}),a&&n.clientRect&&a.setProps({getReferenceClientRect:n.clientRect})},onKeyDown:n=>n.event.key==="Escape"?(a?.hide(),!0):t?.ref?t.ref.onKeyDown(n):!1,onExit:()=>{a?.destroy(),t?.destroy()}}},command:({editor:t,range:a,props:n})=>{t.chain().focus().deleteRange(a).insertContent([{type:"mention",attrs:{id:n.id,name:n.name,entityType:n.entityType}},{type:"text",text:" "}]).run()}}}const KV=new qo("mentionSuggestion"),HV=Ws.create({name:"mentionAutocomplete",addOptions(){return{getEntities:()=>[]}},addProseMirrorPlugins(){return[Fo({editor:this.editor,pluginKey:KV,...UV(this.options)})]}}),VV=typeof navigator<"u"&&/Mac|iPod|iPhone|iPad/.test(navigator.platform),Ul=VV?"⌘":"Ctrl";function Fi({onClick:e,isActive:t=!1,disabled:a=!1,children:n,label:o,shortcut:l,testId:d}){return r.jsx(Q0,{content:o,shortcut:l,children:r.jsx("button",{onClick:e,disabled:a,"aria-label":o,"data-testid":d,className:`p-1.5 rounded hover:bg-gray-700 disabled:opacity-50 disabled:cursor-not-allowed transition-colors ${t?"bg-gray-700 text-blue-400":"text-gray-300 hover:text-white"}`,children:n})})}function CS(){return r.jsx("div",{className:"w-px h-5 bg-gray-600 mx-0.5"})}function GV({editor:e,onComment:t}){const a=y.useRef(null),[n,o]=y.useState(!1),[,l]=y.useState(0);return y.useEffect(()=>{if(!a.current||!e)return;const d=yA({pluginKey:"bubbleMenu",editor:e,element:a.current,shouldShow:({editor:m,state:h})=>{const{from:x,to:g}=h.selection,j=h.doc.textBetween(x,g," ").length>0&&!m.isActive("codeBlock");return o(j),j},options:{placement:"top",offset:{mainAxis:10}}});e.registerPlugin(d);const u=()=>{l(m=>m+1)};return e.on("selectionUpdate",u),e.on("transaction",u),()=>{e.unregisterPlugin("bubbleMenu"),e.off("selectionUpdate",u),e.off("transaction",u)}},[e]),r.jsxs("div",{ref:a,className:`bubble-menu flex items-center gap-0.5 px-1.5 py-1 bg-gray-900 rounded-lg shadow-xl border border-gray-700 ${n?"opacity-100":"opacity-0 pointer-events-none"}`,style:{position:"absolute",zIndex:50},"data-testid":"bubble-menu",children:[r.jsx(Fi,{onClick:()=>e.chain().focus().toggleBold().run(),isActive:e.isActive("bold"),label:"Bold",shortcut:`${Ul}B`,testId:"bubble-menu-bold",children:r.jsx(ic,{className:"w-4 h-4"})}),r.jsx(Fi,{onClick:()=>e.chain().focus().toggleItalic().run(),isActive:e.isActive("italic"),label:"Italic",shortcut:`${Ul}I`,testId:"bubble-menu-italic",children:r.jsx(oc,{className:"w-4 h-4"})}),r.jsx(Fi,{onClick:()=>e.chain().focus().toggleCode().run(),isActive:e.isActive("code"),label:"Inline Code",shortcut:`${Ul}E`,testId:"bubble-menu-code",children:r.jsx(Us,{className:"w-4 h-4"})}),r.jsx(CS,{}),r.jsx(Fi,{onClick:()=>e.chain().focus().toggleStrike().run(),isActive:e.isActive("strike"),label:"Strikethrough",shortcut:`${Ul}⇧S`,testId:"bubble-menu-strikethrough",children:r.jsx(R0,{className:"w-4 h-4"})}),r.jsx(Fi,{onClick:()=>e.chain().focus().toggleHighlight().run(),isActive:e.isActive("highlight"),label:"Highlight",shortcut:`${Ul}⇧H`,testId:"bubble-menu-highlight",children:r.jsx(w2,{className:"w-4 h-4"})}),t&&r.jsxs(r.Fragment,{children:[r.jsx(CS,{}),r.jsx(Fi,{onClick:()=>{const{from:d,to:u}=e.state.selection,m=e.state.doc.textBetween(d,u," ");t(m,d,u)},label:"Add Comment",testId:"bubble-menu-comment",children:r.jsx(vt,{className:"w-4 h-4"})})]})]})}const YV=W2(aC),QV=typeof navigator<"u"&&/Mac|iPod|iPhone|iPad/.test(navigator.platform),ir=QV?"⌘":"Ctrl";function XV({onClick:e,isActive:t=!1,disabled:a=!1,children:n,label:o,shortcut:l,testId:d}){return r.jsx(Q0,{content:o,shortcut:l,children:r.jsx("button",{onClick:e,disabled:a,"aria-label":o,"data-testid":d,className:`p-1.5 rounded hover:bg-gray-100 disabled:opacity-50 disabled:cursor-not-allowed transition-colors ${t?"bg-gray-200 text-blue-600":"text-gray-600"}`,children:n})})}function Ui(){return r.jsx("div",{className:"w-px h-6 bg-gray-200 mx-1","data-testid":"toolbar-divider"})}function Kl({onClick:e,isActive:t,disabled:a,icon:n,label:o,shortcut:l}){return r.jsxs(Zg,{onClick:e,disabled:a,className:`flex items-center justify-between gap-3 px-3 py-2 text-sm rounded cursor-pointer outline-none
257
+ ${t?"bg-blue-50 text-blue-700":"text-gray-700"}
258
+ ${a?"opacity-50 cursor-not-allowed":"hover:bg-gray-100"}
259
+ data-[highlighted]:bg-gray-100`,children:[r.jsxs("span",{className:"flex items-center gap-2",children:[n,r.jsx("span",{children:o})]}),l&&r.jsx("kbd",{className:"text-xs text-gray-400 font-mono",children:l})]})}function gT({content:e,contentType:t,onChange:a,onSave:n,placeholder:o="Start writing...",readOnly:l=!1,onComment:d,mentionEntities:u=[]}){const m=y.useRef(null),[h,x]=y.useState(!1),[g,p]=y.useState(!1),[j,k]=y.useState(!1),[N,v]=y.useState(!1),[T,E]=y.useState(!1),O=y.useMemo(()=>({onTaskEmbed:()=>p(!0),onDocumentEmbed:()=>k(!0),onImageInsert:()=>v(!0),onEmojiInsert:()=>E(!0)}),[]),S=y.useRef(u);S.current=u;const C=y.useCallback(()=>S.current,[]),A=y.useCallback(()=>e?dV(e,t):"<p></p>",[e,t]),$=Z2({extensions:[J2.configure({codeBlock:!1,dropcursor:{color:"#3b82f6",width:2,class:"drop-cursor"}}),eC.configure({placeholder:o}),tC.configure({lowlight:YV,defaultLanguage:t==="json"?"json":void 0}),bA.configure({multicolor:!1}),vA.configure({types:["heading","paragraph"],alignments:["left","center","right","justify"],defaultAlignment:"left"}),bV.configure({dragHandleWidth:20,scrollTreshold:100}),SV.configure({embedCallbacks:O}),jA.configure({HTMLAttributes:{class:"rounded-lg max-w-full h-auto"},allowBase64:!0}),TV,OV,IV,BV,HV.configure({getEntities:C})],content:A(),editable:!l,onUpdate:({editor:G})=>{const W=G.getHTML(),te=uV(W,t);a(te)},editorProps:{attributes:{class:"prose prose-sm max-w-none focus:outline-none min-h-[200px] px-4 py-3","data-testid":"block-editor-content"},handleKeyDown:(G,W)=>(W.metaKey||W.ctrlKey)&&W.key==="s"?(W.preventDefault(),n?.(),!0):!1}});y.useEffect(()=>{if($&&!$.isFocused){const G=A();$.getHTML()!==G&&$.commands.setContent(G)}},[$,e,A]),y.useEffect(()=>{const G=()=>{if(m.current){const te=m.current.offsetWidth;x(te<420)}};G(),window.addEventListener("resize",G);const W=new ResizeObserver(G);return m.current&&W.observe(m.current),()=>{window.removeEventListener("resize",G),W.disconnect()}},[]);const P=y.useCallback(G=>{$&&$.chain().focus().insertContent({type:"taskEmbed",attrs:{taskId:G}}).run()},[$]),M=y.useCallback(G=>{$&&$.chain().focus().insertContent({type:"documentEmbed",attrs:{documentId:G}}).run()},[$]),q=y.useCallback((G,W)=>{$&&$.chain().focus().setImage({src:G,alt:W||""}).run()},[$]),_=y.useCallback(G=>{$&&$.chain().focus().insertContent(G).run()},[$]);if(!$)return r.jsx("div",{"data-testid":"block-editor-loading",className:"p-4 text-gray-500",children:"Loading editor..."});const z=t==="json",U=[{id:"undo",icon:r.jsx(RO,{className:"w-4 h-4"}),label:"Undo",shortcut:`${ir}Z`,action:()=>$.chain().focus().undo().run(),disabled:!$.can().undo(),isActive:!1},{id:"redo",icon:r.jsx(IO,{className:"w-4 h-4"}),label:"Redo",shortcut:`${ir}⇧Z`,action:()=>$.chain().focus().redo().run(),disabled:!$.can().redo(),isActive:!1}],K=[{id:"bold",icon:r.jsx(ic,{className:"w-4 h-4"}),label:"Bold",shortcut:`${ir}B`,action:()=>$.chain().focus().toggleBold().run(),isActive:$.isActive("bold")},{id:"italic",icon:r.jsx(oc,{className:"w-4 h-4"}),label:"Italic",shortcut:`${ir}I`,action:()=>$.chain().focus().toggleItalic().run(),isActive:$.isActive("italic")},{id:"code",icon:r.jsx(Us,{className:"w-4 h-4"}),label:"Inline Code",shortcut:`${ir}E`,action:()=>$.chain().focus().toggleCode().run(),isActive:$.isActive("code")},{id:"strikethrough",icon:r.jsx(R0,{className:"w-4 h-4"}),label:"Strikethrough",shortcut:`${ir}⇧S`,action:()=>$.chain().focus().toggleStrike().run(),isActive:$.isActive("strike")},{id:"highlight",icon:r.jsx(w2,{className:"w-4 h-4"}),label:"Highlight",shortcut:`${ir}⇧H`,action:()=>$.chain().focus().toggleHighlight().run(),isActive:$.isActive("highlight")}],R=[{id:"h1",icon:r.jsx(h2,{className:"w-4 h-4"}),label:"Heading 1",shortcut:`${ir}⌥1`,action:()=>$.chain().focus().toggleHeading({level:1}).run(),isActive:$.isActive("heading",{level:1})},{id:"h2",icon:r.jsx(x2,{className:"w-4 h-4"}),label:"Heading 2",shortcut:`${ir}⌥2`,action:()=>$.chain().focus().toggleHeading({level:2}).run(),isActive:$.isActive("heading",{level:2})},{id:"h3",icon:r.jsx(g2,{className:"w-4 h-4"}),label:"Heading 3",shortcut:`${ir}⌥3`,action:()=>$.chain().focus().toggleHeading({level:3}).run(),isActive:$.isActive("heading",{level:3})}],L=[{id:"bullet-list",icon:r.jsx(za,{className:"w-4 h-4"}),label:"Bullet List",shortcut:`${ir}⇧8`,action:()=>$.chain().focus().toggleBulletList().run(),isActive:$.isActive("bulletList")},{id:"ordered-list",icon:r.jsx(Um,{className:"w-4 h-4"}),label:"Numbered List",shortcut:`${ir}⇧7`,action:()=>$.chain().focus().toggleOrderedList().run(),isActive:$.isActive("orderedList")}],F=[{id:"blockquote",icon:r.jsx(Fm,{className:"w-4 h-4"}),label:"Quote",shortcut:`${ir}⇧B`,action:()=>$.chain().focus().toggleBlockquote().run(),isActive:$.isActive("blockquote")},{id:"code-block",icon:r.jsx(Bo,{className:"w-4 h-4"}),label:"Code Block",shortcut:`${ir}⌥C`,action:()=>$.chain().focus().toggleCodeBlock().run(),isActive:$.isActive("codeBlock")},{id:"horizontal-rule",icon:r.jsx(p2,{className:"w-4 h-4"}),label:"Horizontal Rule",action:()=>$.chain().focus().setHorizontalRule().run(),isActive:!1},{id:"image",icon:r.jsx(Pa,{className:"w-4 h-4"}),label:"Insert Image",action:()=>(v(!0),!0),isActive:!1},{id:"emoji",icon:r.jsx(Km,{className:"w-4 h-4"}),label:"Insert Emoji",action:()=>(E(!0),!0),isActive:!1}],B=[{id:"align-left",icon:r.jsx(y2,{className:"w-4 h-4"}),label:"Align Left",shortcut:`${ir}⇧L`,action:()=>$.chain().focus().setTextAlign("left").run(),isActive:$.isActive({textAlign:"left"})},{id:"align-center",icon:r.jsx(b2,{className:"w-4 h-4"}),label:"Align Center",shortcut:`${ir}⇧E`,action:()=>$.chain().focus().setTextAlign("center").run(),isActive:$.isActive({textAlign:"center"})},{id:"align-right",icon:r.jsx(v2,{className:"w-4 h-4"}),label:"Align Right",shortcut:`${ir}⇧R`,action:()=>$.chain().focus().setTextAlign("right").run(),isActive:$.isActive({textAlign:"right"})},{id:"align-justify",icon:r.jsx(j2,{className:"w-4 h-4"}),label:"Justify",shortcut:`${ir}⇧J`,action:()=>$.chain().focus().setTextAlign("justify").run(),isActive:$.isActive({textAlign:"justify"})}],H=G=>r.jsx(XV,{onClick:G.action,isActive:G.isActive,disabled:G.disabled,label:G.label,shortcut:G.shortcut,testId:`toolbar-${G.id}`,children:G.icon},G.id);return r.jsxs(r.Fragment,{children:[r.jsx(mT,{isOpen:g,onClose:()=>p(!1),onSelect:P}),r.jsx(fT,{isOpen:j,onClose:()=>k(!1),onSelect:M}),r.jsx(MV,{isOpen:N,onClose:()=>v(!1),onInsert:q}),r.jsx(Ay,{isOpen:T,onClose:()=>E(!1),onSelect:_}),r.jsxs("div",{"data-testid":"block-editor",className:"border border-gray-200 rounded-lg overflow-hidden bg-white",children:[!l&&r.jsxs("div",{ref:m,"data-testid":"block-editor-toolbar",className:"flex items-center gap-0.5 px-2 py-1.5 border-b border-gray-200 bg-gray-50 flex-wrap",children:[U.map(H),r.jsx(Ui,{}),h?r.jsxs(r.Fragment,{children:[!z&&r.jsxs(r.Fragment,{children:[K.slice(0,3).map(H),r.jsx(Ui,{})]}),r.jsxs(V2,{children:[r.jsx(G2,{asChild:!0,children:r.jsx("button",{className:"p-1.5 rounded hover:bg-gray-100 text-gray-600 transition-colors","aria-label":"More formatting options","data-testid":"toolbar-overflow-menu",children:r.jsx(BO,{className:"w-4 h-4"})})}),r.jsx(Y2,{children:r.jsxs(Q2,{align:"end",sideOffset:4,className:`z-50 min-w-[200px] p-1 bg-white rounded-lg shadow-lg border border-gray-200
260
+ animate-in fade-in-0 zoom-in-95 data-[side=bottom]:slide-in-from-top-2`,"data-testid":"toolbar-overflow-content",children:[!z&&r.jsxs(r.Fragment,{children:[r.jsx(Pl,{className:"px-3 py-1.5 text-xs font-semibold text-gray-500 uppercase tracking-wide",children:"Text"}),K.slice(3).map(G=>r.jsx(Kl,{...G,onClick:G.action},G.id)),r.jsx(ku,{className:"h-px my-1 bg-gray-200"}),r.jsx(Pl,{className:"px-3 py-1.5 text-xs font-semibold text-gray-500 uppercase tracking-wide",children:"Headings"}),R.map(G=>r.jsx(Kl,{...G,onClick:G.action},G.id)),r.jsx(ku,{className:"h-px my-1 bg-gray-200"}),r.jsx(Pl,{className:"px-3 py-1.5 text-xs font-semibold text-gray-500 uppercase tracking-wide",children:"Lists"}),L.map(G=>r.jsx(Kl,{...G,onClick:G.action},G.id)),r.jsx(ku,{className:"h-px my-1 bg-gray-200"}),r.jsx(Pl,{className:"px-3 py-1.5 text-xs font-semibold text-gray-500 uppercase tracking-wide",children:"Alignment"}),B.map(G=>r.jsx(Kl,{...G,onClick:G.action},G.id)),r.jsx(ku,{className:"h-px my-1 bg-gray-200"})]}),r.jsx(Pl,{className:"px-3 py-1.5 text-xs font-semibold text-gray-500 uppercase tracking-wide",children:"Blocks"}),F.map(G=>r.jsx(Kl,{...G,onClick:G.action},G.id))]})})]})]}):r.jsxs(r.Fragment,{children:[!z&&r.jsxs(r.Fragment,{children:[K.map(H),r.jsx(Ui,{}),R.map(H),r.jsx(Ui,{}),L.map(H),r.jsx(Ui,{}),B.map(H),r.jsx(Ui,{})]}),F.map(H)]})]}),r.jsxs("div",{className:`relative ${z?"font-mono text-sm bg-gray-900 text-gray-100":""}`,children:[r.jsx(rC,{editor:$}),!z&&!l&&r.jsx(GV,{editor:$,onComment:d})]})]})]})}function WV(e){return be({queryKey:["tasks",e],queryFn:async()=>{const t=await fetch(`/api/tasks/${e}?hydrate.description=true`);if(!t.ok){const a=await t.json();throw new Error(a.error?.message||"Failed to fetch task")}return t.json()},enabled:!!e})}function ZV(){const e=$e();return Re({mutationFn:async({id:t,updates:a})=>{const n=await fetch(`/api/tasks/${t}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)});if(!n.ok){const o=await n.json();throw new Error(o.error?.message||"Failed to update task")}return n.json()},onMutate:async({id:t,updates:a})=>{await e.cancelQueries({queryKey:["tasks",t]});const n=e.getQueryData(["tasks",t]);return n&&e.setQueryData(["tasks",t],{...n,...a}),{previousTask:n}},onError:(t,{id:a},n)=>{n?.previousTask&&e.setQueryData(["tasks",a],n.previousTask)},onSettled:(t,a,{id:n})=>{e.invalidateQueries({queryKey:["tasks",n]}),e.invalidateQueries({queryKey:["tasks"]}),e.invalidateQueries({queryKey:["tasks","ready"]}),e.invalidateQueries({queryKey:["tasks","blocked"]}),e.invalidateQueries({queryKey:["tasks","completed"]})}})}function JV(){const e=$e();return Re({mutationFn:async t=>{const a=await fetch(`/api/tasks/${t}`,{method:"DELETE"});if(!a.ok){const n=await a.json();throw new Error(n.error?.message||"Failed to delete task")}return a.json()},onSuccess:(t,a)=>{e.removeQueries({queryKey:["tasks",a]}),e.invalidateQueries({queryKey:["tasks"]}),e.invalidateQueries({queryKey:["tasks","ready"]}),e.invalidateQueries({queryKey:["tasks","blocked"]}),e.invalidateQueries({queryKey:["tasks","completed"]}),e.invalidateQueries({queryKey:["stats"]})}})}function eG(e){return be({queryKey:["tasks",e,"attachments"],queryFn:async()=>{const t=await fetch(`/api/tasks/${e}/attachments`);if(!t.ok){const a=await t.json();throw new Error(a.error?.message||"Failed to fetch attachments")}return t.json()},enabled:!!e})}function tG(){const e=$e();return Re({mutationFn:async({taskId:t,documentId:a})=>{const n=await fetch(`/api/tasks/${t}/attachments`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({documentId:a})});if(!n.ok){const o=await n.json();throw new Error(o.error?.message||"Failed to attach document")}return n.json()},onSuccess:(t,{taskId:a})=>{e.invalidateQueries({queryKey:["tasks",a,"attachments"]})}})}function rG(){const e=$e();return Re({mutationFn:async({taskId:t,documentId:a})=>{const n=await fetch(`/api/tasks/${t}/attachments/${a}`,{method:"DELETE"});if(!n.ok){const o=await n.json();throw new Error(o.error?.message||"Failed to remove attachment")}return n.json()},onSuccess:(t,{taskId:a})=>{e.invalidateQueries({queryKey:["tasks",a,"attachments"]})}})}function aG(e){return be({queryKey:["documents","search",e],queryFn:async()=>{const t=await fetch("/api/documents");if(!t.ok){const o=await t.json();throw new Error(o.error?.message||"Failed to fetch documents")}const a=await t.json(),n=a.items||a;if(e.trim()){const o=e.toLowerCase();return n.filter(l=>l.title?.toLowerCase().includes(o)||l.id.toLowerCase().includes(o))}return n}})}function nG(e){return be({queryKey:["tasks",e,"dependency-tasks"],queryFn:async()=>{const t=await fetch(`/api/tasks/${e}/dependency-tasks`);if(!t.ok){const a=await t.json();throw new Error(a.error?.message||"Failed to fetch dependency tasks")}return t.json()},enabled:!!e})}function sG(){const e=$e();return Re({mutationFn:async({blockedTaskId:t,title:a,createdBy:n,priority:o})=>{const l=await fetch("/api/tasks",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:a,createdBy:n,priority:o??3,taskType:"task"})});if(!l.ok){const m=await l.json();throw new Error(m.error?.message||"Failed to create blocker task")}const d=await l.json(),u=await fetch("/api/dependencies",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({blockerId:d.id,blockedId:t,type:"blocks",actor:n})});if(!u.ok){const m=await u.json();throw new Error(m.error?.message||"Failed to create dependency")}return d},onSuccess:(t,{blockedTaskId:a})=>{e.invalidateQueries({queryKey:["tasks",a]}),e.invalidateQueries({queryKey:["tasks",a,"dependency-tasks"]}),e.invalidateQueries({queryKey:["tasks"]}),e.invalidateQueries({queryKey:["tasks","ready"]}),e.invalidateQueries({queryKey:["tasks","blocked"]})}})}const Ps={1:{label:"Critical",color:"bg-red-100 text-red-800 border-red-200"},2:{label:"High",color:"bg-orange-100 text-orange-800 border-orange-200"},3:{label:"Medium",color:"bg-yellow-100 text-yellow-800 border-yellow-200"},4:{label:"Low",color:"bg-green-100 text-green-800 border-green-200"},5:{label:"Trivial",color:"bg-gray-100 text-gray-800 border-gray-200"}},zu={open:{label:"Open",color:"bg-blue-100 text-blue-800",icon:null},in_progress:{label:"In Progress",color:"bg-yellow-100 text-yellow-800",icon:null},blocked:{label:"Blocked",color:"bg-red-100 text-red-800",icon:r.jsx(Nr,{className:"w-3 h-3"})},review:{label:"Review",color:"bg-purple-100 text-purple-800",icon:r.jsx(ss,{className:"w-3 h-3"})},completed:{label:"Completed",color:"bg-green-100 text-green-800",icon:r.jsx(Sa,{className:"w-3 h-3"})},cancelled:{label:"Cancelled",color:"bg-gray-100 text-gray-800",icon:null},deferred:{label:"Deferred",color:"bg-purple-100 text-purple-800",icon:null},backlog:{label:"Backlog",color:"bg-slate-100 text-slate-800",icon:r.jsx(kr,{className:"w-3 h-3"})}},qu={1:"Trivial",2:"Simple",3:"Moderate",4:"Complex",5:"Very Complex"},iG=["open","in_progress","blocked","review","completed","cancelled","deferred","backlog"],pT=[1,2,3,4,5],oG=[1,2,3,4,5];function lG({isOpen:e,taskTitle:t,onConfirm:a,onCancel:n,isDeleting:o}){const l=y.useRef(null);return y.useEffect(()=>{if(e){const d=u=>{u.key==="Escape"&&!o&&n()};return document.addEventListener("keydown",d),()=>document.removeEventListener("keydown",d)}},[e,o,n]),e?r.jsxs("div",{className:"fixed inset-0 z-50 flex items-center justify-center","data-testid":"delete-confirm-dialog",children:[r.jsx("div",{className:"absolute inset-0 bg-black/50",onClick:()=>!o&&n()}),r.jsxs("div",{ref:l,className:"relative bg-white rounded-lg shadow-xl max-w-md w-full mx-4 p-6",children:[r.jsxs("div",{className:"flex items-start gap-4",children:[r.jsx("div",{className:"flex-shrink-0 w-10 h-10 rounded-full bg-red-100 flex items-center justify-center",children:r.jsx(jt,{className:"w-5 h-5 text-red-600"})}),r.jsxs("div",{className:"flex-1",children:[r.jsx("h3",{className:"text-lg font-semibold text-gray-900",children:"Delete Task"}),r.jsxs("p",{className:"mt-2 text-sm text-gray-600",children:["Are you sure you want to delete"," ",r.jsxs("span",{className:"font-medium text-gray-900",children:['"',t,'"']}),"? This action cannot be undone."]})]})]}),r.jsxs("div",{className:"mt-6 flex justify-end gap-3",children:[r.jsx("button",{onClick:n,disabled:o,className:"px-4 py-2 text-sm font-medium text-gray-700 bg-white border border-gray-300 rounded-md hover:bg-gray-50 disabled:opacity-50","data-testid":"delete-cancel-button",children:"Cancel"}),r.jsx("button",{onClick:a,disabled:o,className:"inline-flex items-center gap-2 px-4 py-2 text-sm font-medium text-white bg-red-600 rounded-md hover:bg-red-700 disabled:opacity-50","data-testid":"delete-confirm-button",children:o?r.jsxs(r.Fragment,{children:[r.jsx(je,{className:"w-4 h-4 animate-spin"}),"Deleting..."]}):r.jsxs(r.Fragment,{children:[r.jsx(jt,{className:"w-4 h-4"}),"Delete"]})})]})]})]}):null}function Ql(e){return new Date(e).toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}function TS(e){const t=new Date(e),n=new Date().getTime()-t.getTime(),o=Math.floor(n/6e4),l=Math.floor(n/36e5),d=Math.floor(n/864e5);return o<1?"just now":o<60?`${o}m ago`:l<24?`${l}h ago`:d<7?`${d}d ago`:Ql(e)}const ES={open:{icon:r.jsx(ed,{className:"w-3 h-3"}),color:"text-blue-600",bgColor:"bg-blue-50"},in_progress:{icon:r.jsx(cG,{className:"w-3 h-3"}),color:"text-yellow-600",bgColor:"bg-yellow-50"},blocked:{icon:r.jsx(Nr,{className:"w-3 h-3"}),color:"text-red-600",bgColor:"bg-red-50"},closed:{icon:r.jsx(Sa,{className:"w-3 h-3"}),color:"text-green-600",bgColor:"bg-green-50"},completed:{icon:r.jsx(Sa,{className:"w-3 h-3"}),color:"text-green-600",bgColor:"bg-green-50"},tombstone:{icon:r.jsx(Ee,{className:"w-3 h-3"}),color:"text-gray-500",bgColor:"bg-gray-50"},cancelled:{icon:r.jsx(Ee,{className:"w-3 h-3"}),color:"text-gray-500",bgColor:"bg-gray-50"},deferred:{icon:r.jsx(_t,{className:"w-3 h-3"}),color:"text-purple-600",bgColor:"bg-purple-50"},backlog:{icon:r.jsx(kr,{className:"w-3 h-3"}),color:"text-slate-600",bgColor:"bg-slate-50"}};function cG({className:e}){return r.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:e,children:[r.jsx("circle",{cx:"12",cy:"12",r:"10"}),r.jsx("circle",{cx:"12",cy:"12",r:"3",fill:"currentColor"})]})}function OS({task:e,dependencyType:t,onClick:a}){const n=ES[e.status]||ES.open,o=Ps[e.priority]||Ps[3],l=["closed","completed","tombstone","cancelled","failed"].includes(e.status);return r.jsxs("button",{onClick:a,className:`w-full flex items-center gap-2 p-2 rounded-lg border transition-colors text-left ${l?"bg-gray-50 border-gray-200 opacity-70 hover:opacity-100":"bg-white border-gray-200 hover:bg-gray-50 hover:border-gray-300"}`,"data-testid":`sub-issue-${e.id}`,children:[r.jsx("span",{className:`flex-shrink-0 ${n.color}`,title:e.status,children:n.icon}),r.jsx("span",{className:`flex-1 text-sm truncate ${l?"text-gray-500 line-through":"text-gray-900"}`,title:e.title,children:e.title}),r.jsxs("span",{className:`flex-shrink-0 px-1.5 py-0.5 text-[10px] font-medium rounded ${o.color}`,title:`Priority: ${o.label}`,children:["P",e.priority]}),r.jsx(Xc,{className:"w-3 h-3 text-gray-400 flex-shrink-0"})]})}function AS({isOpen:e,onClose:t,onSubmit:a,isCreating:n,blockedTaskTitle:o}){const[l,d]=y.useState(""),[u,m]=y.useState(3),h=y.useRef(null);y.useEffect(()=>{e&&h.current&&h.current.focus()},[e]),y.useEffect(()=>{if(e){d(""),m(3);const g=p=>{p.key==="Escape"&&!n&&t()};return document.addEventListener("keydown",g),()=>document.removeEventListener("keydown",g)}},[e,n,t]);const x=g=>{g.preventDefault(),l.trim()&&a(l.trim(),u)};return e?r.jsxs("div",{className:"fixed inset-0 z-50 flex items-center justify-center","data-testid":"create-blocker-modal",children:[r.jsx("div",{className:"absolute inset-0 bg-black/50",onClick:()=>!n&&t()}),r.jsxs("div",{className:"relative bg-white rounded-lg shadow-xl max-w-md w-full mx-4 p-6",children:[r.jsxs("div",{className:"flex items-center justify-between mb-4",children:[r.jsx("h3",{className:"text-lg font-semibold text-gray-900",children:"Create Blocker Task"}),r.jsx("button",{onClick:t,disabled:n,className:"p-1 text-gray-400 hover:text-gray-600 rounded",children:r.jsx(Ee,{className:"w-5 h-5"})})]}),r.jsxs("p",{className:"text-sm text-gray-600 mb-4",children:["This will create a new task that blocks:"," ",r.jsxs("span",{className:"font-medium text-gray-900",children:['"',o,'"']})]}),r.jsxs("form",{onSubmit:x,className:"space-y-4",children:[r.jsxs("div",{children:[r.jsx("label",{className:"block text-sm font-medium text-gray-700 mb-1",children:"Blocker Task Title"}),r.jsx("input",{ref:h,type:"text",value:l,onChange:g=>d(g.target.value),placeholder:"Enter task title...",className:"w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500",disabled:n,"data-testid":"blocker-title-input"})]}),r.jsxs("div",{children:[r.jsx("label",{className:"block text-sm font-medium text-gray-700 mb-1",children:"Priority"}),r.jsx("div",{className:"flex gap-2",children:pT.map(g=>{const p=Ps[g];return r.jsx("button",{type:"button",onClick:()=>m(g),disabled:n,className:`px-2 py-1 text-xs font-medium rounded border transition-colors ${u===g?`${p.color} ring-2 ring-blue-500`:"bg-gray-50 text-gray-600 border-gray-200 hover:bg-gray-100"}`,"data-testid":`blocker-priority-${g}`,children:p.label},g)})})]}),r.jsxs("div",{className:"flex justify-end gap-3 pt-2",children:[r.jsx("button",{type:"button",onClick:t,disabled:n,className:"px-4 py-2 text-sm font-medium text-gray-700 bg-white border border-gray-300 rounded-md hover:bg-gray-50 disabled:opacity-50",children:"Cancel"}),r.jsx("button",{type:"submit",disabled:n||!l.trim(),className:"inline-flex items-center gap-2 px-4 py-2 text-sm font-medium text-white bg-blue-600 rounded-md hover:bg-blue-700 disabled:opacity-50","data-testid":"create-blocker-submit",children:n?r.jsxs(r.Fragment,{children:[r.jsx(je,{className:"w-4 h-4 animate-spin"}),"Creating..."]}):r.jsxs(r.Fragment,{children:[r.jsx(Fe,{className:"w-4 h-4"}),"Create Blocker"]})})]})]})]})]}):null}function dG({taskId:e,taskTitle:t,taskCreatedBy:a}){const n=rr(),{data:o,isLoading:l,isError:d}=nG(e),u=sG(),[m,h]=y.useState(!0),[x,g]=y.useState(!0),[p,j]=y.useState(!1),k=E=>{n({to:"/tasks",search:{page:1,limit:25,selected:E}})},N=(E,O)=>{u.mutate({blockedTaskId:e,title:E,createdBy:a,priority:O},{onSuccess:()=>{j(!1)}})};if(l)return r.jsx("div",{className:"mt-4","data-testid":"dependency-sub-issues-loading",children:r.jsxs("div",{className:"flex items-center gap-2 text-sm text-gray-500",children:[r.jsx(je,{className:"w-4 h-4 animate-spin"}),"Loading dependencies..."]})});if(d||!o)return null;const v=o.blockedBy.length>0,T=o.blocks.length>0;return!v&&!T?r.jsxs("div",{className:"mt-4","data-testid":"dependency-sub-issues-section",children:[r.jsxs("button",{onClick:()=>j(!0),className:"flex items-center gap-2 px-3 py-2 text-sm text-gray-600 hover:text-gray-900 hover:bg-gray-100 rounded-lg transition-colors w-full","data-testid":"create-blocker-btn",children:[r.jsx(Fe,{className:"w-4 h-4"}),"Create Blocker Task"]}),r.jsx(AS,{isOpen:p,onClose:()=>j(!1),onSubmit:N,isCreating:u.isPending,blockedTaskTitle:t})]}):r.jsxs("div",{className:"mt-4 space-y-4","data-testid":"dependency-sub-issues-section",children:[v&&r.jsxs("div",{children:[r.jsxs("button",{onClick:()=>h(!m),className:"flex items-center gap-2 text-xs font-medium text-gray-500 uppercase tracking-wide mb-2 hover:text-gray-700 w-full","data-testid":"blocked-by-toggle",children:[m?r.jsx(it,{className:"w-3 h-3"}):r.jsx(Lt,{className:"w-3 h-3"}),r.jsx(so,{className:"w-3 h-3"}),"Blocked By (",o.progress.resolved," of ",o.progress.total," resolved)"]}),m&&r.jsx("div",{className:"space-y-1.5 ml-4","data-testid":"blocked-by-list",children:o.blockedBy.map(E=>r.jsx(OS,{task:E.task,dependencyType:E.dependencyType,onClick:()=>k(E.task.id)},E.task.id))})]}),T&&r.jsxs("div",{children:[r.jsxs("button",{onClick:()=>g(!x),className:"flex items-center gap-2 text-xs font-medium text-gray-500 uppercase tracking-wide mb-2 hover:text-gray-700 w-full","data-testid":"blocks-toggle",children:[x?r.jsx(it,{className:"w-3 h-3"}):r.jsx(Lt,{className:"w-3 h-3"}),r.jsx(so,{className:"w-3 h-3"}),"Blocks (",o.blocks.length,")"]}),x&&r.jsx("div",{className:"space-y-1.5 ml-4","data-testid":"blocks-list",children:o.blocks.map(E=>r.jsx(OS,{task:E.task,dependencyType:E.dependencyType,onClick:()=>k(E.task.id)},E.task.id))})]}),r.jsxs("button",{onClick:()=>j(!0),className:"flex items-center gap-2 px-3 py-2 text-sm text-gray-600 hover:text-gray-900 hover:bg-gray-100 rounded-lg transition-colors w-full","data-testid":"create-blocker-btn",children:[r.jsx(Fe,{className:"w-4 h-4"}),"Create Blocker Task"]}),r.jsx(AS,{isOpen:p,onClose:()=>j(!1),onSubmit:N,isCreating:u.isPending,blockedTaskTitle:t})]})}function uG({isOpen:e,onClose:t,onSelect:a,alreadyAttachedIds:n,isAttaching:o}){const[l,d]=y.useState(""),{data:u,isLoading:m}=aG(l),h=y.useRef(null);if(y.useEffect(()=>{e&&h.current&&h.current.focus()},[e]),y.useEffect(()=>{if(e){const g=p=>{p.key==="Escape"&&!o&&t()};return document.addEventListener("keydown",g),()=>document.removeEventListener("keydown",g)}},[e,o,t]),!e)return null;const x=u?.filter(g=>!n.includes(g.id))||[];return r.jsxs("div",{className:"fixed inset-0 z-50 flex items-center justify-center","data-testid":"document-picker-modal",children:[r.jsx("div",{className:"absolute inset-0 bg-black/50",onClick:()=>!o&&t()}),r.jsxs("div",{className:"relative bg-white rounded-lg shadow-xl max-w-lg w-full mx-4 max-h-[80vh] flex flex-col",children:[r.jsxs("div",{className:"p-4 border-b border-gray-200",children:[r.jsxs("div",{className:"flex items-center justify-between mb-3",children:[r.jsx("h3",{className:"text-lg font-semibold text-gray-900",children:"Attach Document"}),r.jsx("button",{onClick:t,disabled:o,className:"p-1 text-gray-400 hover:text-gray-600 rounded","data-testid":"document-picker-close",children:r.jsx(Ee,{className:"w-5 h-5"})})]}),r.jsxs("div",{className:"relative",children:[r.jsx(Ve,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-gray-400"}),r.jsx("input",{ref:h,type:"text",placeholder:"Search documents...",value:l,onChange:g=>d(g.target.value),className:"w-full pl-9 pr-4 py-2 text-sm border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500","data-testid":"document-picker-search"})]})]}),r.jsx("div",{className:"flex-1 overflow-y-auto p-4",children:m?r.jsx("div",{className:"flex items-center justify-center py-8",children:r.jsx(je,{className:"w-6 h-6 animate-spin text-gray-400"})}):x.length===0?r.jsx("div",{className:"text-center py-8 text-gray-500","data-testid":"document-picker-empty",children:u?.length===0?"No documents available":l?"No documents match your search":"All documents are already attached"}):r.jsx("div",{className:"space-y-2",children:x.map(g=>r.jsxs("button",{onClick:()=>a(g.id),disabled:o,className:"w-full flex items-center gap-3 p-3 text-left bg-gray-50 hover:bg-blue-50 rounded-lg transition-colors disabled:opacity-50","data-testid":`document-picker-item-${g.id}`,children:[r.jsx(Je,{className:"w-5 h-5 text-gray-400 flex-shrink-0"}),r.jsxs("div",{className:"flex-1 min-w-0",children:[r.jsx("div",{className:"font-medium text-gray-900 truncate",children:g.title||"Untitled Document"}),r.jsxs("div",{className:"text-xs text-gray-500 flex items-center gap-2",children:[r.jsx("span",{className:"font-mono",children:g.id}),r.jsx("span",{className:"px-1.5 py-0.5 bg-gray-200 text-gray-600 rounded",children:g.contentType})]})]}),o&&r.jsx(je,{className:"w-4 h-4 animate-spin text-blue-500"})]},g.id))})})]})]})}function mG(e){if(!e)return"";const t=e.split(`
261
+ `)[0].trim();return t.length>100?t.substring(0,100)+"...":t}function fG(e,t){if(t==="json")try{const a=JSON.stringify(JSON.parse(e),null,2);return r.jsx("pre",{className:"text-xs font-mono bg-gray-100 p-3 rounded overflow-x-auto whitespace-pre-wrap",children:a})}catch{return r.jsx("pre",{className:"text-xs font-mono bg-gray-100 p-3 rounded overflow-x-auto whitespace-pre-wrap",children:e})}return t==="markdown"?r.jsx(dT,{content:e,className:"text-sm text-gray-700 dark:text-gray-300",testId:"attachment-markdown-content"}):r.jsx("pre",{className:"whitespace-pre-wrap font-sans text-sm text-gray-700",children:e})}function hG({doc:e,onRemove:t,isRemoving:a}){const[n,o]=y.useState(!1),l=mG(e.content);return r.jsxs("div",{className:"border border-gray-200 rounded-lg overflow-hidden","data-testid":`attachment-item-${e.id}`,children:[r.jsxs("div",{className:"flex items-center gap-2 p-2 bg-gray-50 group",children:[r.jsx("button",{onClick:()=>o(!n),className:"p-1 hover:bg-gray-200 rounded flex-shrink-0","data-testid":`attachment-expand-${e.id}`,"aria-label":n?"Collapse":"Expand",children:n?r.jsx(it,{className:"w-4 h-4 text-gray-400"}):r.jsx(Lt,{className:"w-4 h-4 text-gray-400"})}),r.jsx(Je,{className:"w-4 h-4 text-gray-400 flex-shrink-0"}),r.jsxs("div",{className:"flex-1 min-w-0",children:[r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsx("a",{href:`/documents?selected=${e.id}`,className:"text-sm font-medium text-blue-600 hover:text-blue-800 truncate","data-testid":`attachment-link-${e.id}`,children:e.title||"Untitled Document"}),r.jsx("span",{className:"px-1.5 py-0.5 bg-gray-200 text-gray-600 rounded text-[10px] flex-shrink-0",children:e.contentType})]}),!n&&l&&r.jsx("div",{className:"text-xs text-gray-500 truncate mt-0.5","data-testid":`attachment-preview-${e.id}`,children:l})]}),r.jsx("button",{onClick:t,disabled:a,className:"p-1 text-gray-400 hover:text-red-600 hover:bg-red-50 rounded opacity-0 group-hover:opacity-100 transition-opacity disabled:opacity-50","aria-label":"Remove attachment","data-testid":`attachment-remove-${e.id}`,children:a?r.jsx(je,{className:"w-4 h-4 animate-spin"}):r.jsx(Ee,{className:"w-4 h-4"})})]}),n&&e.content&&r.jsx("div",{className:"p-3 border-t border-gray-200 bg-white","data-testid":`attachment-content-${e.id}`,children:fG(e.content,e.contentType)}),n&&!e.content&&r.jsx("div",{className:"p-3 border-t border-gray-200 bg-white text-sm text-gray-500 italic","data-testid":`attachment-content-${e.id}`,children:"No content available"})]})}function xG({taskId:e}){const[t,a]=y.useState(!0),[n,o]=y.useState(!1),{data:l,isLoading:d}=eG(e),u=tG(),m=rG(),[h,x]=y.useState(null),g=k=>{u.mutate({taskId:e,documentId:k},{onSuccess:()=>o(!1)})},p=k=>{x(k),m.mutate({taskId:e,documentId:k},{onSettled:()=>x(null)})},j=l?.map(k=>k.id)||[];return r.jsxs("div",{className:"mb-6","data-testid":"attachments-section",children:[r.jsxs("button",{onClick:()=>a(!t),className:"flex items-center gap-2 text-xs font-medium text-gray-500 uppercase tracking-wide mb-2 hover:text-gray-700","data-testid":"attachments-toggle",children:[t?r.jsx(it,{className:"w-3 h-3"}):r.jsx(Lt,{className:"w-3 h-3"}),r.jsx(Qc,{className:"w-3 h-3"}),"Attachments (",l?.length||0,")"]}),t&&r.jsxs("div",{className:"space-y-2",children:[d?r.jsxs("div",{className:"flex items-center gap-2 text-sm text-gray-500",children:[r.jsx(je,{className:"w-4 h-4 animate-spin"}),"Loading attachments..."]}):l&&l.length>0?l.map(k=>r.jsx(hG,{doc:k,onRemove:()=>p(k.id),isRemoving:h===k.id},k.id)):r.jsx("div",{className:"text-sm text-gray-500","data-testid":"attachments-empty",children:"No documents attached"}),r.jsxs("button",{onClick:()=>o(!0),className:"flex items-center gap-2 px-3 py-2 text-sm text-gray-600 hover:text-gray-900 hover:bg-gray-100 rounded-lg transition-colors w-full","data-testid":"attach-document-btn",children:[r.jsx(Fe,{className:"w-4 h-4"}),"Attach Document"]})]}),r.jsx(uG,{isOpen:n,onClose:()=>o(!1),onSelect:g,alreadyAttachedIds:j,isAttaching:u.isPending})]})}function gG({description:e,onUpdate:t,isUpdating:a}){const[n,o]=y.useState(!1),[l,d]=y.useState(e||""),[u,m]=y.useState(!0),{data:h}=dd(),x=y.useMemo(()=>h?h.map(k=>({id:k.id,name:k.name,entityType:k.entityType})):[],[h]);y.useEffect(()=>{n||d(e||"")},[e,n]);const g=y.useCallback(()=>{l!==(e||"")&&t(l),o(!1)},[l,e,t]),p=y.useCallback(()=>{d(e||""),o(!1)},[e]),j=e&&e.trim().length>0;return r.jsxs("div",{className:"mb-6","data-testid":"task-description-section",children:[r.jsxs("button",{onClick:()=>m(!u),className:"flex items-center gap-2 text-xs font-medium text-gray-500 uppercase tracking-wide mb-2 hover:text-gray-700","data-testid":"description-toggle",children:[u?r.jsx(it,{className:"w-3 h-3"}):r.jsx(Lt,{className:"w-3 h-3"}),r.jsx(Je,{className:"w-3 h-3"}),"Description",!j&&r.jsx("span",{className:"text-xs text-gray-400 normal-case tracking-normal font-normal",children:"(none)"})]}),u&&r.jsx("div",{className:"space-y-2",children:n?r.jsxs(r.Fragment,{children:[r.jsx(gT,{content:l,contentType:"markdown",onChange:d,placeholder:"Add a description with @mentions...",mentionEntities:x}),r.jsxs("div",{className:"flex items-center gap-2 justify-end",children:[r.jsx("button",{onClick:p,className:"px-3 py-1.5 text-sm text-gray-600 hover:text-gray-900 hover:bg-gray-100 rounded transition-colors","data-testid":"description-cancel-btn",children:"Cancel"}),r.jsx("button",{onClick:g,disabled:a,className:"inline-flex items-center gap-1.5 px-3 py-1.5 text-sm font-medium text-white bg-blue-600 hover:bg-blue-700 rounded transition-colors disabled:opacity-50","data-testid":"description-save-btn",children:a?r.jsxs(r.Fragment,{children:[r.jsx(je,{className:"w-3.5 h-3.5 animate-spin"}),"Saving..."]}):r.jsxs(r.Fragment,{children:[r.jsx(Jc,{className:"w-3.5 h-3.5"}),"Save"]})})]})]}):j?r.jsxs("div",{onClick:()=>o(!0),className:"bg-gray-50 dark:bg-gray-800 rounded-lg p-3 cursor-pointer hover:ring-2 hover:ring-blue-300 transition-all group","data-testid":"task-description-content",children:[r.jsx(dT,{content:e,className:"text-gray-700 dark:text-gray-300",testId:"task-description-markdown"}),r.jsxs("div",{className:"mt-2 flex items-center gap-1 text-xs text-gray-400 opacity-0 group-hover:opacity-100 transition-opacity",children:[r.jsx(ns,{className:"w-3 h-3"}),"Click to edit"]})]}):r.jsxs("button",{onClick:()=>o(!0),className:"flex items-center gap-2 px-3 py-2 text-sm text-gray-600 hover:text-gray-900 hover:bg-gray-100 rounded-lg transition-colors w-full","data-testid":"add-description-btn",children:[r.jsx(Fe,{className:"w-4 h-4"}),"Add Description"]})})]})}function pG(e){if(!e)return[];const t=/@([\w-]+)/g,a=[];let n;for(;(n=t.exec(e))!==null;)a.includes(n[1])||a.push(n[1]);return a}function yG({description:e}){const{data:t}=dd(),[a,n]=y.useState(!0),{onNavigate:o,renderProfileLink:l}=Cf(),d=y.useMemo(()=>pG(e),[e]),u=y.useMemo(()=>!t||d.length===0?[]:t.filter(m=>d.some(h=>h.toLowerCase()===m.name.toLowerCase())),[t,d]);return u.length===0?null:r.jsxs("div",{className:"mb-6","data-testid":"mentioned-entities-section",children:[r.jsxs("button",{onClick:()=>n(!a),className:"flex items-center gap-2 text-xs font-medium text-gray-500 uppercase tracking-wide mb-2 hover:text-gray-700","data-testid":"mentioned-entities-toggle",children:[a?r.jsx(it,{className:"w-3 h-3"}):r.jsx(Lt,{className:"w-3 h-3"}),r.jsx(Bt,{className:"w-3 h-3"}),"Mentioned Entities (",u.length,")"]}),a&&r.jsx("div",{className:"flex flex-wrap gap-2","data-testid":"mentioned-entities-list",children:u.map(m=>r.jsx(mo,{entityRef:m.id,showIcon:!0,showHoverCard:!0,navigable:!0,onNavigate:o,renderProfileLink:l,"data-testid":`mentioned-entity-${m.id}`},m.id))})]})}function bG({value:e,onSave:t,isUpdating:a}){const[n,o]=y.useState(!1),[l,d]=y.useState(e),u=y.useRef(null);y.useEffect(()=>{n&&u.current&&(u.current.focus(),u.current.select())},[n]),y.useEffect(()=>{d(e)},[e]);const m=()=>{l.trim()&&l!==e&&t(l.trim()),o(!1)},h=x=>{x.key==="Enter"?m():x.key==="Escape"&&(d(e),o(!1))};return n?r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsx("input",{ref:u,type:"text",value:l,onChange:x=>d(x.target.value),onBlur:m,onKeyDown:h,className:"flex-1 text-lg font-semibold text-gray-900 border border-blue-300 rounded px-2 py-1 focus:outline-none focus:ring-2 focus:ring-blue-500","data-testid":"task-title-input"}),a&&r.jsx(je,{className:"w-4 h-4 animate-spin text-gray-400"})]}):r.jsxs("div",{className:"flex items-center gap-2 group",children:[r.jsx("h2",{className:"text-lg font-semibold text-gray-900 truncate cursor-pointer hover:text-blue-600",onClick:()=>o(!0),"data-testid":"task-detail-title",children:e}),r.jsx("button",{onClick:()=>o(!0),className:"p-1 opacity-0 group-hover:opacity-100 hover:bg-gray-100 rounded transition-opacity","aria-label":"Edit title","data-testid":"task-title-edit-button",children:r.jsx(ns,{className:"w-3.5 h-3.5 text-gray-400"})}),a&&r.jsx(je,{className:"w-4 h-4 animate-spin text-gray-400"})]})}const vG={backlog:["open","deferred","closed","completed","cancelled"],open:["in_progress","blocked","deferred","backlog","closed","completed","cancelled"],in_progress:["open","blocked","deferred","review","closed","completed","cancelled"],blocked:["open","in_progress","deferred","closed","completed","cancelled"],deferred:["open","in_progress","backlog"],review:["closed","in_progress","completed","cancelled"],closed:["open"],completed:["open"],cancelled:["open"]};function jG({value:e,onSave:t,isUpdating:a}){const[n,o]=y.useState(!1),l=y.useRef(null),d=vG[e]||[],u=iG.filter(h=>h===e||d.includes(h));y.useEffect(()=>{function h(x){l.current&&!l.current.contains(x.target)&&o(!1)}return document.addEventListener("mousedown",h),()=>document.removeEventListener("mousedown",h)},[]);const m=zu[e]||zu.open;return r.jsxs("div",{className:"relative",ref:l,children:[r.jsxs("button",{onClick:()=>o(!n),className:`inline-flex items-center gap-1 px-2 py-0.5 text-xs font-medium rounded cursor-pointer hover:ring-2 hover:ring-blue-300 ${m.color}`,disabled:a,"data-testid":"task-status-dropdown",children:[m.icon,m.label,a&&r.jsx(je,{className:"w-3 h-3 animate-spin ml-1"})]}),n&&r.jsx("div",{className:"absolute z-10 mt-1 bg-white border border-gray-200 rounded-md shadow-lg py-1 min-w-[120px]","data-testid":"task-status-options",children:u.map(h=>{const x=zu[h]||zu.open;return r.jsxs("button",{onClick:()=>{h!==e&&t(h),o(!1)},className:`w-full text-left px-3 py-1.5 text-xs hover:bg-gray-50 flex items-center gap-2 ${h===e?"bg-gray-50":""}`,"data-testid":`task-status-option-${h}`,children:[r.jsxs("span",{className:`inline-flex items-center gap-1 px-2 py-0.5 rounded ${x.color}`,children:[x.icon,x.label]}),h===e&&r.jsx(Dt,{className:"w-3 h-3 text-blue-600 ml-auto"})]},h)})})]})}function wG({value:e,onSave:t,isUpdating:a}){const[n,o]=y.useState(!1),l=y.useRef(null);y.useEffect(()=>{function u(m){l.current&&!l.current.contains(m.target)&&o(!1)}return document.addEventListener("mousedown",u),()=>document.removeEventListener("mousedown",u)},[]);const d=Ps[e]||Ps[3];return r.jsxs("div",{className:"relative",ref:l,children:[r.jsxs("button",{onClick:()=>o(!n),className:`px-2 py-0.5 text-xs font-medium rounded border cursor-pointer hover:ring-2 hover:ring-blue-300 ${d.color}`,disabled:a,"data-testid":"task-priority-dropdown",children:[d.label,a&&r.jsx(je,{className:"w-3 h-3 animate-spin ml-1 inline"})]}),n&&r.jsx("div",{className:"absolute z-10 mt-1 bg-white border border-gray-200 rounded-md shadow-lg py-1 min-w-[100px]","data-testid":"task-priority-options",children:pT.map(u=>{const m=Ps[u]||Ps[3];return r.jsxs("button",{onClick:()=>{u!==e&&t(u),o(!1)},className:`w-full text-left px-3 py-1.5 text-xs hover:bg-gray-50 flex items-center gap-2 ${u===e?"bg-gray-50":""}`,"data-testid":`task-priority-option-${u}`,children:[r.jsx("span",{className:`px-2 py-0.5 rounded border ${m.color}`,children:m.label}),u===e&&r.jsx(Dt,{className:"w-3 h-3 text-blue-600 ml-auto"})]},u)})})]})}function kG({value:e,onSave:t,isUpdating:a}){const[n,o]=y.useState(!1),l=y.useRef(null);y.useEffect(()=>{function u(m){l.current&&!l.current.contains(m.target)&&o(!1)}return document.addEventListener("mousedown",u),()=>document.removeEventListener("mousedown",u)},[]);const d=qu[e]||qu[3];return r.jsxs("div",{className:"relative",ref:l,children:[r.jsxs("button",{onClick:()=>o(!n),className:"text-sm text-gray-900 cursor-pointer hover:text-blue-600 hover:underline",disabled:a,"data-testid":"task-complexity-dropdown",children:[d,a&&r.jsx(je,{className:"w-3 h-3 animate-spin ml-1 inline"})]}),n&&r.jsx("div",{className:"absolute z-10 mt-1 bg-white border border-gray-200 rounded-md shadow-lg py-1 min-w-[100px]","data-testid":"task-complexity-options",children:oG.map(u=>{const m=qu[u]||qu[3];return r.jsxs("button",{onClick:()=>{u!==e&&t(u),o(!1)},className:`w-full text-left px-3 py-1.5 text-xs hover:bg-gray-50 flex items-center justify-between ${u===e?"bg-gray-50":""}`,"data-testid":`task-complexity-option-${u}`,children:[r.jsx("span",{children:m}),u===e&&r.jsx(Dt,{className:"w-3 h-3 text-blue-600"})]},u)})})]})}const Fu={agent:{icon:tr,color:"text-purple-600"},human:{icon:Ze,color:"text-blue-600"},system:{icon:gr,color:"text-gray-600"}};function NG({value:e,onSave:t,isUpdating:a}){const[n,o]=y.useState(!1),[l,d]=y.useState(""),u=y.useRef(null),m=y.useRef(null),{data:h}=dd();y.useEffect(()=>{function N(v){u.current&&!u.current.contains(v.target)&&(o(!1),d(""))}return document.addEventListener("mousedown",N),()=>document.removeEventListener("mousedown",N)},[]),y.useEffect(()=>{n&&m.current&&m.current.focus()},[n]);const x=y.useMemo(()=>{if(!h)return[];const N=h.filter(T=>T.active!==!1);if(!l.trim())return N;const v=l.toLowerCase();return N.filter(T=>T.name.toLowerCase().includes(v)||T.entityType.toLowerCase().includes(v))},[h,l]),g=y.useMemo(()=>!e||!h?null:h.find(N=>N.id===e)??null,[e,h]),p=g?.name??"Unassigned",j=g?Fu[g.entityType]??Fu.human:null,k=j?.icon??Ze;return r.jsxs("div",{className:"relative",ref:u,children:[r.jsxs("button",{onClick:()=>o(!n),className:`inline-flex items-center gap-1.5 px-2 py-1 text-sm rounded cursor-pointer hover:ring-2 hover:ring-blue-300 transition-colors ${g?"text-gray-900 bg-gray-50 hover:bg-gray-100":"text-gray-500 bg-gray-50 hover:bg-gray-100"}`,disabled:a,"data-testid":"task-assignee-dropdown",children:[r.jsx(k,{className:`w-3.5 h-3.5 ${j?.color??"text-gray-400"}`}),r.jsx("span",{className:g?"":"italic",children:p}),a&&r.jsx(je,{className:"w-3 h-3 animate-spin ml-1"})]}),n&&r.jsxs("div",{className:"absolute z-20 mt-1 bg-white border border-gray-200 rounded-md shadow-lg min-w-[200px] max-w-[280px]","data-testid":"task-assignee-options",children:[r.jsx("div",{className:"p-2 border-b border-gray-100",children:r.jsxs("div",{className:"relative",children:[r.jsx(Ve,{className:"absolute left-2 top-1/2 -translate-y-1/2 w-3.5 h-3.5 text-gray-400"}),r.jsx("input",{ref:m,type:"text",value:l,onChange:N=>d(N.target.value),placeholder:"Search entities...",className:"w-full pl-7 pr-3 py-1.5 text-xs border border-gray-200 rounded focus:outline-none focus:ring-2 focus:ring-blue-500","data-testid":"assignee-search-input"})]})}),r.jsxs("div",{className:"max-h-[240px] overflow-y-auto py-1",children:[r.jsxs("button",{onClick:()=>{e&&t(null),o(!1),d("")},className:`w-full text-left px-3 py-2 text-xs hover:bg-gray-50 flex items-center gap-2 ${e?"":"bg-blue-50"}`,"data-testid":"assignee-option-unassigned",children:[r.jsx(Ze,{className:"w-3.5 h-3.5 text-gray-400"}),r.jsx("span",{className:"text-gray-500 italic",children:"Unassigned"}),!e&&r.jsx(Dt,{className:"w-3 h-3 text-blue-600 ml-auto"})]}),r.jsx("div",{className:"border-t border-gray-100 my-1"}),x.length===0?r.jsx("div",{className:"px-3 py-2 text-xs text-gray-500 text-center",children:l?"No entities match your search":"No entities available"}):x.map(N=>{const v=Fu[N.entityType]??Fu.human,T=v.icon,E=N.id===e;return r.jsxs("button",{onClick:()=>{E||t(N.id),o(!1),d("")},className:`w-full text-left px-3 py-2 text-xs hover:bg-gray-50 flex items-center gap-2 ${E?"bg-blue-50":""}`,"data-testid":`assignee-option-${N.id}`,children:[r.jsx(T,{className:`w-3.5 h-3.5 ${v.color}`}),r.jsxs("div",{className:"flex-1 min-w-0",children:[r.jsx("div",{className:"font-medium text-gray-900 truncate",children:N.name}),r.jsx("div",{className:"text-gray-500 capitalize",children:N.entityType})]}),E&&r.jsx(Dt,{className:"w-3 h-3 text-blue-600 flex-shrink-0"})]},N.id)})]})]})]})}function $S({taskId:e,onClose:t}){const{data:a,isLoading:n,isError:o,error:l}=WV(e),d=ZV(),u=JV(),[m,h]=y.useState(null),[x,g]=y.useState(!1),{onNavigate:p,renderProfileLink:j}=Cf(),k=(v,T)=>{h(T),d.mutate({id:e,updates:v},{onSettled:()=>h(null)})},N=()=>{u.mutate(e,{onSuccess:()=>{g(!1),t()}})};return n?r.jsx("div",{className:"h-full flex items-center justify-center","data-testid":"task-detail-loading",children:r.jsx("div",{className:"text-gray-500",children:"Loading task..."})}):o?r.jsxs("div",{className:"h-full flex flex-col items-center justify-center","data-testid":"task-detail-error",children:[r.jsx("div",{className:"text-red-600 mb-2",children:"Failed to load task"}),r.jsx("div",{className:"text-sm text-gray-500",children:l?.message})]}):a?r.jsxs("div",{className:"h-full flex flex-col bg-white","data-testid":"task-detail-panel",children:[r.jsx(lG,{isOpen:x,taskTitle:a.title,onConfirm:N,onCancel:()=>g(!1),isDeleting:u.isPending}),r.jsxs("div",{className:"flex items-start justify-between p-4 border-b border-gray-200",children:[r.jsxs("div",{className:"flex-1 min-w-0",children:[r.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[r.jsx(jG,{value:a.status,onSave:v=>k({status:v},"status"),isUpdating:m==="status"}),r.jsx(wG,{value:a.priority,onSave:v=>k({priority:v},"priority"),isUpdating:m==="priority"})]}),r.jsx(bG,{value:a.title,onSave:v=>k({title:v},"title"),isUpdating:m==="title"}),r.jsx("div",{className:"flex items-center gap-2 mt-1 text-xs text-gray-500 font-mono",children:r.jsx("span",{"data-testid":"task-detail-id",children:a.id})})]}),r.jsxs("div",{className:"flex items-center gap-1",children:[r.jsx("button",{onClick:()=>g(!0),className:"p-1 text-gray-400 hover:text-red-600 hover:bg-red-50 rounded","aria-label":"Delete task","data-testid":"task-delete-button",children:r.jsx(jt,{className:"w-5 h-5"})}),r.jsx("button",{onClick:t,className:"p-1 text-gray-400 hover:text-gray-600 hover:bg-gray-100 rounded","aria-label":"Close panel","data-testid":"task-detail-close",children:r.jsx(Ee,{className:"w-5 h-5"})})]})]}),r.jsxs("div",{className:"flex-1 overflow-y-auto p-4",children:[r.jsxs("div",{className:"grid grid-cols-2 gap-4 mb-6",children:[r.jsxs("div",{children:[r.jsx("div",{className:"text-xs font-medium text-gray-500 uppercase tracking-wide mb-1",children:"Type"}),r.jsx("div",{className:"text-sm text-gray-900 capitalize",children:a.taskType})]}),r.jsxs("div",{children:[r.jsx("div",{className:"text-xs font-medium text-gray-500 uppercase tracking-wide mb-1",children:"Complexity"}),r.jsx(kG,{value:a.complexity,onSave:v=>k({complexity:v},"complexity"),isUpdating:m==="complexity"})]}),r.jsxs("div",{children:[r.jsxs("div",{className:"text-xs font-medium text-gray-500 uppercase tracking-wide mb-1 flex items-center gap-1",children:[r.jsx(Ze,{className:"w-3 h-3"}),"Assignee"]}),r.jsx(NG,{value:a.assignee,onSave:v=>k({assignee:v},"assignee"),isUpdating:m==="assignee"})]}),a.owner&&r.jsxs("div",{children:[r.jsx("div",{className:"text-xs font-medium text-gray-500 uppercase tracking-wide mb-1",children:"Owner"}),r.jsx("div",{className:"text-sm",children:r.jsx(mo,{entityRef:a.owner,showIcon:!0,showHoverCard:!0,navigable:!0,onNavigate:p,renderProfileLink:j,"data-testid":"task-detail-owner-link"})})]}),a.deadline&&r.jsxs("div",{children:[r.jsxs("div",{className:"text-xs font-medium text-gray-500 uppercase tracking-wide mb-1 flex items-center gap-1",children:[r.jsx(zo,{className:"w-3 h-3"}),"Deadline"]}),r.jsx("div",{className:"text-sm text-gray-900",children:Ql(a.deadline)})]}),a.scheduledFor&&r.jsxs("div",{children:[r.jsxs("div",{className:"text-xs font-medium text-gray-500 uppercase tracking-wide mb-1 flex items-center gap-1",children:[r.jsx(_t,{className:"w-3 h-3"}),"Scheduled For"]}),r.jsx("div",{className:"text-sm text-gray-900",children:Ql(a.scheduledFor)})]})]}),a.tags.length>0&&r.jsxs("div",{className:"mb-6",children:[r.jsxs("div",{className:"text-xs font-medium text-gray-500 uppercase tracking-wide mb-2 flex items-center gap-1",children:[r.jsx(Ra,{className:"w-3 h-3"}),"Tags"]}),r.jsx("div",{className:"flex flex-wrap gap-1",children:a.tags.map(v=>r.jsx("span",{className:"px-2 py-0.5 text-xs bg-gray-100 text-gray-700 rounded",children:v},v))})]}),r.jsx(gG,{taskId:e,description:a.description,onUpdate:v=>k({description:v},"description"),isUpdating:m==="description"}),r.jsx(yG,{description:a.description}),r.jsx(xG,{taskId:e}),r.jsx(dG,{taskId:e,taskTitle:a.title,taskCreatedBy:a.createdBy}),r.jsx("div",{className:"mt-6 pt-4 border-t border-gray-100",children:r.jsxs("div",{className:"grid grid-cols-2 gap-4 text-xs text-gray-500",children:[r.jsxs("div",{children:[r.jsx("span",{className:"font-medium",children:"Created:"})," ",r.jsx("span",{title:Ql(a.createdAt),children:TS(a.createdAt)})]}),r.jsxs("div",{children:[r.jsx("span",{className:"font-medium",children:"Updated:"})," ",r.jsx("span",{title:Ql(a.updatedAt),children:TS(a.updatedAt)})]}),r.jsxs("div",{children:[r.jsx("span",{className:"font-medium",children:"Created by:"})," ",r.jsx(mo,{entityRef:a.createdBy,showHoverCard:!0,navigable:!0,onNavigate:p,renderProfileLink:j,"data-testid":"task-detail-creator-link"})]})]})}),d.isError&&r.jsxs("div",{className:"mt-4 p-3 bg-red-50 border border-red-200 rounded-lg text-sm text-red-700","data-testid":"task-update-error",children:["Failed to update task: ",d.error?.message]})]})]}):r.jsx("div",{className:"h-full flex items-center justify-center","data-testid":"task-detail-not-found",children:r.jsx("div",{className:"text-gray-500",children:"Task not found"})})}const zg=new Map,Yu={assignee:null,priority:null,tag:null},j0=[{value:"priority",label:"Priority"},{value:"created_at",label:"Created"},{value:"updated_at",label:"Updated"},{value:"deadline",label:"Deadline"},{value:"title",label:"Title"},{value:"complexity",label:"Complexity"}],SG=[{value:1,label:"Critical"},{value:2,label:"High"},{value:3,label:"Medium"},{value:4,label:"Low"},{value:5,label:"Trivial"}],CG=[{id:"backlog",title:"Backlog",status:"backlog",color:"bg-slate-500",icon:kr,iconColor:"text-slate-600 dark:text-slate-400"},{id:"open",title:"Open",status:"open",color:"bg-green-500",icon:Sa,iconColor:"text-green-600 dark:text-green-400"},{id:"in-progress",title:"In Progress",status:"in_progress",color:"bg-yellow-500",icon:zO,iconColor:"text-yellow-600 dark:text-yellow-400"},{id:"blocked",title:"Blocked",status:"blocked",color:"bg-red-500",icon:Nr,iconColor:"text-red-600 dark:text-red-400"},{id:"review",title:"Review",status:"review",color:"bg-purple-500",icon:ss,iconColor:"text-purple-600 dark:text-purple-400"},{id:"closed",title:"Completed",status:"closed",color:"bg-blue-500",icon:_t,iconColor:"text-blue-600 dark:text-blue-400"}];function Ki(e){const t=`kanban-column-${e}-v2`,[a,n]=y.useState(()=>{if(typeof window>"u")return{filters:{...Yu},sortOverride:null};try{const l=localStorage.getItem(t);if(l){const d=JSON.parse(l);return{filters:{...Yu,...d.filters},sortOverride:d.sortOverride||null}}}catch{}return{filters:{...Yu},sortOverride:null}}),o=y.useCallback(l=>{n(d=>{const u={filters:{...d.filters,...l.filters||{}},sortOverride:"sortOverride"in l?l.sortOverride??null:d.sortOverride};try{localStorage.setItem(t,JSON.stringify(u))}catch{}return u})},[t]);return[a,o]}function Hi(e,t,a,n){let o=[...e];if(n){const l=n.toLowerCase();o=o.filter(d=>d.title.toLowerCase().includes(l)||d.id.toLowerCase().includes(l))}return t.assignee&&(o=o.filter(l=>l.assignee===t.assignee)),t.priority!==null&&(o=o.filter(l=>l.priority===t.priority)),t.tag&&(o=o.filter(l=>l.tags?.includes(t.tag))),o.sort((l,d)=>{let u=0;switch(a.field){case"priority":u=l.priority-d.priority;break;case"created_at":u=new Date(l.createdAt).getTime()-new Date(d.createdAt).getTime();break;case"updated_at":u=new Date(l.updatedAt).getTime()-new Date(d.updatedAt).getTime();break;case"deadline":{const m=l.deadline,h=d.deadline;!m&&!h?u=0:m?h?u=new Date(m).getTime()-new Date(h).getTime():u=-1:u=1;break}case"title":u=l.title.localeCompare(d.title);break;case"complexity":u=l.complexity-d.complexity;break}return a.direction==="asc"?u:-u}),o}function TG(e){const t=new Set;return e.forEach(a=>{a.assignee&&t.add(a.assignee)}),Array.from(t).sort()}function EG(e){const t=new Set;return e.forEach(a=>{a.tags?.forEach(n=>t.add(n))}),Array.from(t).sort()}function OG(){const e=$e();return Re({mutationFn:async({id:t,status:a})=>{const n=await fetch(`/api/tasks/${t}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({status:a})});if(!n.ok){const o=await n.json();throw new Error(o.error?.message||"Failed to update task")}return n.json()},onSettled:()=>{e.invalidateQueries({queryKey:["elements","tasks"]})}})}const DS={1:"border-l-red-500",2:"border-l-orange-500",3:"border-l-yellow-500",4:"border-l-green-500",5:"border-l-gray-400"},AG={bug:"bg-red-50 dark:bg-red-900/20",feature:"bg-purple-50 dark:bg-purple-900/20",task:"bg-blue-50 dark:bg-blue-900/20",chore:"bg-gray-50 dark:bg-gray-800/50"},$G=100,DG=8;function yT({task:e,entities:t,isSelected:a,onClick:n,isDragging:o=!1}){const l=DS[e.priority]||DS[3],d=AG[e.taskType]||"",u=e.assignee?t.find(m=>m.id===e.assignee)?.name||e.assignee:null;return r.jsxs("div",{className:`
262
+ p-3 bg-white dark:bg-neutral-700 rounded-lg shadow-sm border-l-4 ${l} ${d}
263
+ cursor-pointer transition-all hover:shadow-md h-full flex flex-col
264
+ ${a?"ring-2 ring-blue-500":"border-t border-r border-b border-t-gray-200 border-r-gray-200 border-b-gray-200 dark:border-t-neutral-600 dark:border-r-neutral-600 dark:border-b-neutral-600"}
265
+ ${o?"opacity-50":""}
266
+ `,onClick:n,"data-testid":`kanban-card-${e.id}`,children:[r.jsx("div",{className:"font-medium text-gray-900 dark:text-gray-100 text-sm mb-1 line-clamp-2 break-words",children:e.title}),r.jsxs("div",{className:"flex items-center gap-2 text-xs text-gray-500 dark:text-gray-400 mb-2",children:[r.jsx("span",{className:"font-mono truncate max-w-20",children:e.id}),r.jsxs("span",{className:"flex items-center gap-1",children:[r.jsx(_t,{className:"w-3 h-3"}),Ys(e.createdAt)]})]}),r.jsxs("div",{className:"flex items-center gap-2 flex-wrap mt-auto",children:[r.jsx("span",{className:"px-1.5 py-0.5 text-xs bg-gray-100 dark:bg-neutral-600 text-gray-600 dark:text-gray-300 rounded capitalize",children:e.taskType}),u&&r.jsxs("span",{className:"inline-flex items-center gap-1 px-1.5 py-0.5 text-xs bg-blue-100 dark:bg-blue-900/50 text-blue-700 dark:text-blue-300 rounded truncate max-w-24",children:[r.jsx(Ze,{className:"w-3 h-3 flex-shrink-0"}),r.jsx("span",{className:"truncate",children:u})]}),e.tags.slice(0,1).map(m=>r.jsx("span",{className:"px-1.5 py-0.5 text-xs bg-gray-200 dark:bg-neutral-600 text-gray-700 dark:text-gray-300 rounded truncate max-w-16",children:m},m))]})]})}function _G({task:e,entities:t,isSelected:a,onClick:n}){const{attributes:o,listeners:l,setNodeRef:d,transform:u,transition:m,isDragging:h}=fD({id:e.id}),x={transform:hD.Transform.toString(u),transition:m};return r.jsx("div",{ref:d,style:x,className:"h-full",...o,...l,children:r.jsx(yT,{task:e,entities:t,isSelected:a,onClick:n,isDragging:h})})}function MG({columnId:e,availableAssignees:t,availableTags:a,preferences:n,pageSort:o,onUpdate:l}){const[d,u]=y.useState(!1),m=y.useRef(null),h=[n.filters.assignee,n.filters.priority,n.filters.tag].filter(Boolean).length,x=n.sortOverride!==null,g=n.sortOverride||o;y.useEffect(()=>{function v(T){m.current&&!m.current.contains(T.target)&&u(!1)}return document.addEventListener("mousedown",v),()=>document.removeEventListener("mousedown",v)},[]);const p=()=>{l({filters:Yu})},j=v=>{l(v==="page"?{sortOverride:null}:{sortOverride:{field:v,direction:g.direction}})},k=v=>{x&&n.sortOverride?l({sortOverride:{...n.sortOverride,direction:v}}):l({sortOverride:{field:o.field,direction:v}})},N=j0.find(v=>v.value===o.field)?.label||o.field;return r.jsxs("div",{className:"relative",ref:m,children:[r.jsxs("button",{onClick:()=>u(!d),className:`p-1 rounded transition-colors ${h>0||x?"text-blue-600 dark:text-blue-400 bg-blue-50 dark:bg-blue-900/30 hover:bg-blue-100 dark:hover:bg-blue-900/50":"text-gray-400 dark:text-gray-500 hover:text-gray-600 dark:hover:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-700"}`,title:"Filter & Sort","data-testid":`${e}-filter-button`,children:[r.jsx(Ca,{className:"w-3.5 h-3.5"}),(h>0||x)&&r.jsx("span",{className:"absolute -top-1 -right-1 w-3.5 h-3.5 bg-blue-600 text-white text-[10px] rounded-full flex items-center justify-center",children:h+(x?1:0)})]}),d&&r.jsxs("div",{className:"absolute right-0 top-full mt-1 w-56 bg-white dark:bg-neutral-800 border border-gray-200 dark:border-neutral-700 rounded-lg shadow-lg z-20 py-2","data-testid":`${e}-filter-dropdown`,children:[r.jsxs("div",{className:"px-3 pb-2 border-b border-gray-100 dark:border-neutral-700",children:[r.jsxs("div",{className:"flex items-center gap-1 text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wide mb-2",children:[r.jsx(Ro,{className:"w-3 h-3"}),"Sort"]}),r.jsx("div",{className:"mb-2",children:r.jsxs("select",{value:x?n.sortOverride.field:"page",onChange:v=>j(v.target.value),className:"w-full text-xs border border-gray-200 dark:border-neutral-600 rounded px-2 py-1.5 focus:outline-none focus:ring-1 focus:ring-blue-500 bg-white dark:bg-neutral-700 text-gray-900 dark:text-gray-100","data-testid":`${e}-sort-field`,children:[r.jsxs("option",{value:"page",children:["Page sort (",N,")"]}),j0.map(v=>r.jsx("option",{value:v.value,children:v.label},v.value))]})}),r.jsxs("div",{className:"flex gap-1",children:[r.jsx("button",{onClick:()=>k("asc"),className:`flex-1 px-2 py-1 text-xs rounded ${g.direction==="asc"?"bg-blue-50 dark:bg-blue-900/30 text-blue-700 dark:text-blue-300":"text-gray-600 dark:text-gray-300 hover:bg-gray-50 dark:hover:bg-neutral-700 border border-gray-200 dark:border-neutral-600"}`,"data-testid":`${e}-sort-asc`,children:"Ascending"}),r.jsx("button",{onClick:()=>k("desc"),className:`flex-1 px-2 py-1 text-xs rounded ${g.direction==="desc"?"bg-blue-50 dark:bg-blue-900/30 text-blue-700 dark:text-blue-300":"text-gray-600 dark:text-gray-300 hover:bg-gray-50 dark:hover:bg-neutral-700 border border-gray-200 dark:border-neutral-600"}`,"data-testid":`${e}-sort-desc`,children:"Descending"})]})]}),r.jsxs("div",{className:"px-3 pt-2",children:[r.jsxs("div",{className:"flex items-center justify-between mb-2",children:[r.jsxs("div",{className:"flex items-center gap-1 text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wide",children:[r.jsx(Ca,{className:"w-3 h-3"}),"Filter"]}),h>0&&r.jsx("button",{onClick:p,className:"text-xs text-blue-600 dark:text-blue-400 hover:underline","data-testid":`${e}-clear-filters`,children:"Clear"})]}),r.jsxs("div",{className:"mb-2",children:[r.jsx("label",{className:"text-xs text-gray-500 dark:text-gray-400 mb-1 block",children:"Priority"}),r.jsxs("select",{value:n.filters.priority??"",onChange:v=>l({filters:{...n.filters,priority:v.target.value?parseInt(v.target.value,10):null}}),className:"w-full text-xs border border-gray-200 dark:border-neutral-600 rounded px-2 py-1 focus:outline-none focus:ring-1 focus:ring-blue-500 bg-white dark:bg-neutral-700 text-gray-900 dark:text-gray-100","data-testid":`${e}-filter-priority`,children:[r.jsx("option",{value:"",children:"All priorities"}),SG.map(v=>r.jsx("option",{value:v.value,children:v.label},v.value))]})]}),t.length>0&&r.jsxs("div",{className:"mb-2",children:[r.jsx("label",{className:"text-xs text-gray-500 dark:text-gray-400 mb-1 block",children:"Assignee"}),r.jsxs("select",{value:n.filters.assignee??"",onChange:v=>l({filters:{...n.filters,assignee:v.target.value||null}}),className:"w-full text-xs border border-gray-200 dark:border-neutral-600 rounded px-2 py-1 focus:outline-none focus:ring-1 focus:ring-blue-500 bg-white dark:bg-neutral-700 text-gray-900 dark:text-gray-100","data-testid":`${e}-filter-assignee`,children:[r.jsx("option",{value:"",children:"All assignees"}),t.map(v=>r.jsx("option",{value:v,children:v},v))]})]}),a.length>0&&r.jsxs("div",{className:"mb-1",children:[r.jsx("label",{className:"text-xs text-gray-500 dark:text-gray-400 mb-1 block",children:"Tag"}),r.jsxs("select",{value:n.filters.tag??"",onChange:v=>l({filters:{...n.filters,tag:v.target.value||null}}),className:"w-full text-xs border border-gray-200 dark:border-neutral-600 rounded px-2 py-1 focus:outline-none focus:ring-1 focus:ring-blue-500 bg-white dark:bg-neutral-700 text-gray-900 dark:text-gray-100","data-testid":`${e}-filter-tag`,children:[r.jsx("option",{value:"",children:"All tags"}),a.map(v=>r.jsx("option",{value:v,children:v},v))]})]})]})]})]})}function LG({columnId:e,title:t,color:a,icon:n,tasks:o,entities:l,selectedTaskId:d,onTaskClick:u,isDragActive:m,preferences:h,pageSort:x,onUpdatePreferences:g,availableAssignees:p,availableTags:j,isLoading:k}){const N=y.useRef(null),v=o.map(q=>q.id),T=y.useRef(null),E=`kanban-column-${e}`,O=h.filters.assignee||h.filters.priority!==null||h.filters.tag,{setNodeRef:S,isOver:C}=dD({id:e}),A=tf({count:o.length,getScrollElement:()=>N.current,estimateSize:()=>$G,gap:DG,overscan:5,getItemKey:q=>o[q].id}),$=A.getVirtualItems(),P=y.useCallback(q=>{N.current=q,S(q)},[S]);y.useEffect(()=>{if(E&&N.current){const q=zg.get(E);q!==void 0&&q>0&&requestAnimationFrame(()=>{A.scrollToOffset(q)})}},[E]),y.useEffect(()=>()=>{if(E&&N.current){const q=A.scrollOffset;q!==null&&q>0&&zg.set(E,q)}},[E,A]);const M=y.useCallback(()=>{T.current&&clearTimeout(T.current),T.current=setTimeout(()=>{const q=A.scrollOffset;E&&q!==null&&q>0&&zg.set(E,q)},100)},[A,E]);return y.useEffect(()=>()=>{T.current&&clearTimeout(T.current)},[]),r.jsxs("div",{className:"flex flex-col flex-1 min-w-64 bg-gray-50 dark:bg-neutral-800 rounded-lg h-full","data-testid":`kanban-column-${e}`,children:[r.jsxs("div",{className:"flex items-center gap-2 p-3 border-b border-gray-200 dark:border-neutral-700 sticky top-0 bg-gray-50 dark:bg-neutral-800 z-10",children:[r.jsx("div",{className:`w-2 h-2 rounded-full ${a}`}),n,r.jsx("span",{className:"font-medium text-gray-700 dark:text-gray-200 text-sm",children:t}),r.jsx("span",{className:"px-2 py-0.5 text-xs bg-gray-200 dark:bg-neutral-700 text-gray-600 dark:text-gray-300 rounded-full","data-testid":`kanban-column-${e}-count`,children:o.length}),r.jsx("div",{className:"ml-auto flex items-center gap-2",children:r.jsx(MG,{columnId:e,availableAssignees:p,availableTags:j,preferences:h,pageSort:x,onUpdate:g})})]}),r.jsxs("div",{ref:P,className:`flex-1 overflow-y-auto p-2 pt-3 ${C&&m?"bg-blue-50 dark:bg-blue-950":""}`,"data-testid":`kanban-column-${e}-scroll`,onScroll:M,children:[k&&r.jsx("div",{className:"flex items-center justify-center p-4",children:r.jsx(je,{className:"w-5 h-5 animate-spin text-gray-400"})}),!k&&o.length===0&&r.jsx("div",{className:"p-4 text-center text-gray-400 dark:text-gray-500 text-sm h-32 flex items-center justify-center",children:O?"No matching tasks":"No tasks"}),!k&&o.length>0&&r.jsx("div",{className:"relative w-full",style:{height:`${A.getTotalSize()}px`},children:r.jsx(uD,{items:v,strategy:mD,children:$.map(q=>{const _=o[q.index];return r.jsx("div",{style:{position:"absolute",top:0,left:0,width:"100%",height:`${q.size}px`,transform:`translateY(${q.start}px)`},"data-index":q.index,children:r.jsx(_G,{task:_,entities:l,isSelected:_.id===d,onClick:()=>u(_.id)})},_.id)})})})]})]})}const _S={field:"created_at",direction:"desc"};function PG({entities:e,selectedTaskId:t,onTaskClick:a,searchQuery:n,pageSort:o}){const[l,d]=y.useState(null),u=OG(),{data:m,isLoading:h}=Y5(),x=y.useMemo(()=>{if(!o)return _S;const we=o.field;return j0.some(me=>me.value===we)?{field:we,direction:o.direction}:_S},[o?.field,o?.direction]),[g,p]=Ki("backlog"),[j,k]=Ki("open"),[N,v]=Ki("in-progress"),[T,E]=Ki("blocked"),[O,S]=Ki("review"),[C,A]=Ki("closed"),$=g.sortOverride||x,P=j.sortOverride||x,M=N.sortOverride||x,q=T.sortOverride||x,_=O.sortOverride||x,z=C.sortOverride||x,U=y.useMemo(()=>TG(m||[]),[m]),K=y.useMemo(()=>EG(m||[]),[m]),R=y.useMemo(()=>{if(!m)return{backlog:[],open:[],in_progress:[],blocked:[],review:[],closed:[]};const we={backlog:[],open:[],in_progress:[],blocked:[],review:[],closed:[]};for(const me of m){const J=me.status;J in we&&we[J].push(me)}return we},[m]),L=y.useMemo(()=>Hi(R.backlog,g.filters,$,n),[R.backlog,g.filters.assignee,g.filters.priority,g.filters.tag,$.field,$.direction,n]),F=y.useMemo(()=>Hi(R.open,j.filters,P,n),[R.open,j.filters.assignee,j.filters.priority,j.filters.tag,P.field,P.direction,n]),B=y.useMemo(()=>Hi(R.in_progress,N.filters,M,n),[R.in_progress,N.filters.assignee,N.filters.priority,N.filters.tag,M.field,M.direction,n]),H=y.useMemo(()=>Hi(R.blocked,T.filters,q,n),[R.blocked,T.filters.assignee,T.filters.priority,T.filters.tag,q.field,q.direction,n]),G=y.useMemo(()=>Hi(R.review,O.filters,_,n),[R.review,O.filters.assignee,O.filters.priority,O.filters.tag,_.field,_.direction,n]),W=y.useMemo(()=>Hi(R.closed,C.filters,z,n),[R.closed,C.filters.assignee,C.filters.priority,C.filters.tag,z.field,z.direction,n]),te=aD($w(cD,{activationConstraint:{distance:8}}),$w(lD,{coordinateGetter:oD})),le={backlog:"backlog",open:"open","in-progress":"in_progress",blocked:"blocked",review:"review",closed:"closed"},ge=we=>{const{active:me}=we,J=m?.find(re=>re.id===me.id);J&&d(J)},se=we=>{const{active:me,over:J}=we;if(d(null),!J||!m)return;const re=me.id,Y=m.find(pe=>pe.id===re);if(!Y)return;let he=null;const ce=m.find(pe=>pe.id===J.id);if(ce?he={backlog:"backlog",open:"open",in_progress:"in-progress",blocked:"blocked",review:"review",closed:"closed"}[ce.status]||null:Object.keys(le).includes(J.id)&&(he=J.id),he){const pe=le[he];pe&&pe!==Y.status&&u.mutate({id:re,status:pe})}},ye=l!==null,Ne={backlog:{prefs:g,setPrefs:p,tasks:L},open:{prefs:j,setPrefs:k,tasks:F},"in-progress":{prefs:N,setPrefs:v,tasks:B},blocked:{prefs:T,setPrefs:E,tasks:H},review:{prefs:O,setPrefs:S,tasks:G},closed:{prefs:C,setPrefs:A,tasks:W}};return r.jsxs(nD,{sensors:te,collisionDetection:sD,onDragStart:ge,onDragEnd:se,children:[r.jsx("div",{className:"flex gap-4 p-4 overflow-x-auto h-full","data-testid":"kanban-board",children:CG.map(we=>{const me=we.icon,{prefs:J,setPrefs:re,tasks:Y}=Ne[we.id];return r.jsx(LG,{columnId:we.id,title:we.title,color:we.color,icon:r.jsx(me,{className:`w-4 h-4 ${we.iconColor}`}),tasks:Y,entities:e,selectedTaskId:t,onTaskClick:a,isDragActive:ye,preferences:J,pageSort:x,onUpdatePreferences:re,availableAssignees:U,availableTags:K,isLoading:h},we.id)})}),r.jsx(iD,{children:l&&r.jsx(yT,{task:l,entities:e,isSelected:!1,onClick:()=>{}})})]})}const MS={1:{label:"Critical",color:"bg-red-100 text-red-800 dark:bg-red-900/30 dark:text-red-300",border:"border-l-red-500"},2:{label:"High",color:"bg-orange-100 text-orange-800 dark:bg-orange-900/30 dark:text-orange-300",border:"border-l-orange-500"},3:{label:"Medium",color:"bg-yellow-100 text-yellow-800 dark:bg-yellow-900/30 dark:text-yellow-300",border:"border-l-yellow-500"},4:{label:"Low",color:"bg-green-100 text-green-800 dark:bg-green-900/30 dark:text-green-300",border:"border-l-green-500"},5:{label:"Trivial",color:"bg-gray-100 text-gray-800 dark:bg-gray-800/50 dark:text-gray-300",border:"border-l-gray-400"}},LS={open:"bg-blue-100 text-blue-800 dark:bg-blue-900/30 dark:text-blue-300",in_progress:"bg-yellow-100 text-yellow-800 dark:bg-yellow-900/30 dark:text-yellow-300",blocked:"bg-red-100 text-red-800 dark:bg-red-900/30 dark:text-red-300",completed:"bg-green-100 text-green-800 dark:bg-green-900/30 dark:text-green-300",cancelled:"bg-gray-100 text-gray-800 dark:bg-gray-800/50 dark:text-gray-300",deferred:"bg-purple-100 text-purple-800 dark:bg-purple-900/30 dark:text-purple-300",closed:"bg-gray-100 text-gray-800 dark:bg-gray-800/50 dark:text-gray-300"};function RG(e,t){if(!t)return{matched:!0,indices:[]};const a=e.toLowerCase(),n=t.toLowerCase(),o=[];let l=0;for(let d=0;d<a.length&&l<n.length;d++)a[d]===n[l]&&(o.push(d),l++);return l===n.length?{matched:!0,indices:o}:null}function IG(e,t){if(t.length===0)return r.jsx(r.Fragment,{children:e});const a=[],n=new Set(t);let o=0;for(let l=0;l<e.length;l++)n.has(l)&&(l>o&&a.push(r.jsx("span",{children:e.slice(o,l)},`text-${o}`)),a.push(r.jsx("mark",{className:"bg-yellow-200 text-gray-900 dark:bg-yellow-700 dark:text-white rounded-sm px-0.5",children:e[l]},`match-${l}`)),o=l+1);return o<e.length&&a.push(r.jsx("span",{children:e.slice(o)},`text-${o}`)),r.jsx(r.Fragment,{children:a})}function BG({task:e,isSelected:t,isChecked:a,onCheck:n,onClick:o,searchQuery:l}){const d=MS[e.priority]||MS[3],u=LS[e.status]||LS.open,m=y.useMemo(()=>{if(!l)return e.title;const x=RG(e.title,l);return x&&x.indices.length>0?IG(e.title,x.indices):e.title},[e.title,l]),h=x=>{x.stopPropagation(),n(!a)};return r.jsxs("div",{className:`
267
+ relative flex gap-3 p-3 border-l-4 ${d.border}
268
+ bg-[var(--color-surface)] border-b border-[var(--color-border)]
269
+ cursor-pointer transition-colors duration-150
270
+ active:bg-[var(--color-surface-hover)]
271
+ ${t?"bg-blue-50 dark:bg-blue-900/20":""}
272
+ `,onClick:o,"data-testid":`mobile-task-card-${e.id}`,children:[r.jsx("button",{onClick:h,onTouchEnd:h,className:"flex-shrink-0 p-1 -m-1 touch-target","data-testid":`mobile-task-checkbox-${e.id}`,"aria-label":a?`Deselect task: ${e.title}`:`Select task: ${e.title}`,children:a?r.jsx(Ta,{className:"w-5 h-5 text-blue-600 dark:text-blue-400"}):r.jsx(z0,{className:"w-5 h-5 text-[var(--color-text-tertiary)]"})}),r.jsxs("div",{className:"flex-1 min-w-0",children:[r.jsx("div",{className:"font-medium text-[var(--color-text)] line-clamp-2 mb-1","data-testid":`mobile-task-title-${e.id}`,children:m}),r.jsx("div",{className:"flex items-center gap-2 flex-wrap mb-2",children:r.jsx("span",{className:"text-xs text-[var(--color-text-muted)] font-mono",children:e.id})}),r.jsxs("div",{className:"flex items-center gap-1.5 flex-wrap",children:[r.jsx("span",{className:`px-1.5 py-0.5 text-xs font-medium rounded ${u}`,children:e.status.replace("_"," ")}),r.jsx("span",{className:`px-1.5 py-0.5 text-xs font-medium rounded ${d.color}`,children:d.label}),r.jsx("span",{className:"px-1.5 py-0.5 text-xs bg-[var(--color-surface-hover)] text-[var(--color-text-secondary)] rounded capitalize",children:e.taskType}),e.assignee&&r.jsx("span",{className:"px-1.5 py-0.5 text-xs bg-blue-100 text-blue-700 dark:bg-blue-900/30 dark:text-blue-300 rounded truncate max-w-24",children:e.assignee})]})]}),r.jsx("div",{className:"flex-shrink-0 self-center text-[var(--color-text-tertiary)]",children:r.jsx("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:r.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})})})]})}function zG({view:e,onViewChange:t}){return r.jsxs("div",{className:"flex items-center bg-gray-100 dark:bg-gray-800 rounded-md p-0.5","data-testid":"view-toggle",children:[r.jsxs("button",{onClick:()=>t("list"),className:`inline-flex items-center justify-center px-2 py-1.5 sm:py-1 text-sm rounded transition-all duration-200 touch-target ${e==="list"?"bg-white dark:bg-gray-700 text-gray-900 dark:text-white shadow-sm":"text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-white"}`,"data-testid":"view-toggle-list","aria-label":"List view (V L)",title:"List view (V L)",children:[r.jsx(za,{className:"w-4 h-4 sm:w-4 sm:h-4"}),r.jsx("span",{className:"pl-2",children:"List"})]}),r.jsxs("button",{onClick:()=>t("kanban"),className:`inline-flex items-center justify-center px-2 py-1.5 sm:py-1 text-sm rounded transition-all duration-200 touch-target ${e==="kanban"?"bg-white dark:bg-gray-700 text-gray-900 dark:text-white shadow-sm":"text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-white"}`,"data-testid":"view-toggle-kanban","aria-label":"Kanban view (V K)",title:"Kanban view (V K)",children:[r.jsx(Xm,{className:"w-4 h-4 sm:w-4 sm:h-4"}),r.jsx("span",{className:"pl-2",children:"Kanban"})]})]})}function qG({value:e,onChange:t,onClear:a,compact:n=!1}){const o=y.useRef(null);return y.useEffect(()=>{const l=d=>{d.key==="Escape"&&document.activeElement===o.current&&(d.preventDefault(),a(),o.current?.blur()),d.key==="/"&&!(d.target instanceof HTMLInputElement||d.target instanceof HTMLTextAreaElement)&&(d.preventDefault(),o.current?.focus())};return document.addEventListener("keydown",l),()=>document.removeEventListener("keydown",l)},[a]),r.jsxs("div",{className:`relative ${n?"w-full":"flex-1 max-w-md"}`,"data-testid":"task-search-container",children:[r.jsx("div",{className:"absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none",children:r.jsx(Ve,{className:"w-4 h-4 text-gray-400 dark:text-gray-500"})}),r.jsx("input",{ref:o,type:"text",value:e,onChange:l=>t(l.target.value),placeholder:n?"Search...":"Search tasks... (Press / to focus)",className:"w-full pl-9 pr-8 py-2 sm:py-1.5 text-sm border border-gray-300 dark:border-gray-600 rounded-md bg-white dark:bg-gray-800 text-[var(--color-text)] focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500 transition-colors","data-testid":"task-search-input"}),e&&r.jsx("button",{onClick:a,className:"absolute inset-y-0 right-0 pr-2 flex items-center text-gray-400 hover:text-gray-600 dark:hover:text-gray-300 touch-target","data-testid":"task-search-clear","aria-label":"Clear search (Escape)",children:r.jsx(Ee,{className:"w-4 h-4"})})]})}const FG=25,UG=300,bT=60,vT="tasks.viewMode",jT="tasks.groupBy",w0="tasks.search",wT="tasks.sortBy",kT="tasks.sortDir",k0="tasks.secondarySort",PS={status:[],priority:[],assignee:""},Hc=[{value:"open",label:"Open",color:"bg-green-100 text-green-800"},{value:"in_progress",label:"In Progress",color:"bg-blue-100 text-blue-800"},{value:"blocked",label:"Blocked",color:"bg-yellow-100 text-yellow-800"},{value:"review",label:"Review",color:"bg-purple-100 text-purple-800"},{value:"closed",label:"Closed",color:"bg-gray-100 text-gray-800"},{value:"deferred",label:"Deferred",color:"bg-purple-100 text-purple-800"},{value:"backlog",label:"Backlog",color:"bg-slate-100 text-slate-700"}],Vc=[{value:1,label:"Critical",color:"bg-red-100 text-red-800"},{value:2,label:"High",color:"bg-orange-100 text-orange-800"},{value:3,label:"Medium",color:"bg-yellow-100 text-yellow-800"},{value:4,label:"Low",color:"bg-green-100 text-green-800"},{value:5,label:"Trivial",color:"bg-gray-100 text-gray-800"}],_s=[{value:"priority",label:"Priority"},{value:"created_at",label:"Created"},{value:"updated_at",label:"Updated"},{value:"deadline",label:"Deadline"},{value:"title",label:"Title"},{value:"complexity",label:"Complexity"}],Qu=[{value:"none",label:"None"},{value:"status",label:"Status"},{value:"priority",label:"Priority"},{value:"assignee",label:"Assignee"},{value:"taskType",label:"Type"},{value:"tags",label:"Tags"}],RS={1:{label:"Critical",color:"bg-red-100 dark:bg-red-900/50 text-red-800 dark:text-red-200"},2:{label:"High",color:"bg-orange-100 dark:bg-orange-900/50 text-orange-800 dark:text-orange-200"},3:{label:"Medium",color:"bg-yellow-100 dark:bg-yellow-900/50 text-yellow-800 dark:text-yellow-200"},4:{label:"Low",color:"bg-green-100 dark:bg-green-900/50 text-green-800 dark:text-green-200"},5:{label:"Trivial",color:"bg-gray-100 dark:bg-gray-800 text-gray-800 dark:text-gray-200"}},IS={open:"bg-blue-100 dark:bg-blue-900/50 text-blue-800 dark:text-blue-200",in_progress:"bg-yellow-100 dark:bg-yellow-900/50 text-yellow-800 dark:text-yellow-200",blocked:"bg-red-100 dark:bg-red-900/50 text-red-800 dark:text-red-200",review:"bg-purple-100 dark:bg-purple-900/50 text-purple-800 dark:text-purple-200",completed:"bg-green-100 dark:bg-green-900/50 text-green-800 dark:text-green-200",cancelled:"bg-gray-100 dark:bg-gray-800 text-gray-800 dark:text-gray-200",closed:"bg-gray-100 dark:bg-gray-800 text-gray-800 dark:text-gray-200",backlog:"bg-slate-100 dark:bg-slate-800 text-slate-700 dark:text-slate-300"};function KG({sortField:e,sortDirection:t,secondarySort:a,onSortFieldChange:n,onSortDirectionChange:o,onSecondarySortChange:l}){const[d,u]=y.useState(!1),[m,h]=y.useState(!1),x=y.useRef(null);y.useEffect(()=>{function k(N){x.current&&!x.current.contains(N.target)&&(u(!1),h(!1))}return document.addEventListener("mousedown",k),()=>document.removeEventListener("mousedown",k)},[]);const g=_s.find(k=>k.value===e)||_s[0],p=a?_s.find(k=>k.value===a):null,j=_s.filter(k=>k.value!==e);return r.jsxs("div",{className:"relative flex items-center gap-1",ref:x,children:[r.jsxs("button",{onClick:()=>{u(!d),h(!1)},className:"inline-flex items-center gap-1.5 px-2.5 py-1.5 text-sm text-gray-600 bg-gray-100 hover:bg-gray-200 rounded-md transition-colors","data-testid":"sort-by-dropdown",children:[r.jsx(Ro,{className:"w-4 h-4"}),r.jsxs("span",{children:["Sort: ",g.label]}),p&&r.jsxs("span",{className:"text-gray-400",children:["+ ",p.label]}),r.jsx(it,{className:`w-3.5 h-3.5 transition-transform ${d?"rotate-180":""}`})]}),r.jsx("button",{onClick:()=>o(t==="asc"?"desc":"asc"),className:`inline-flex items-center justify-center w-8 h-8 text-gray-600 bg-gray-100 hover:bg-gray-200 rounded-md transition-colors ${t==="asc"?"text-blue-600":""}`,"data-testid":"sort-direction-toggle","aria-label":t==="asc"?"Sort ascending":"Sort descending",title:t==="asc"?"Sort ascending":"Sort descending",children:t==="asc"?r.jsx(rs,{className:"w-4 h-4"}):r.jsx(Io,{className:"w-4 h-4"})}),d&&!m&&r.jsxs("div",{className:"absolute z-20 mt-1 top-full left-0 bg-white border border-gray-200 rounded-md shadow-lg py-1 min-w-48","data-testid":"sort-by-options",children:[r.jsx("div",{className:"px-3 py-1.5 text-xs font-medium text-gray-500 uppercase",children:"Primary Sort"}),_s.map(k=>r.jsxs("button",{onClick:()=>{n(k.value),a===k.value&&l(null),u(!1)},className:`w-full text-left px-3 py-1.5 text-sm hover:bg-gray-50 flex items-center justify-between ${e===k.value?"text-blue-600 font-medium":"text-gray-700"}`,"data-testid":`sort-by-option-${k.value}`,children:[r.jsx("span",{children:k.label}),e===k.value&&r.jsx("span",{className:"text-blue-600",children:"✓"})]},k.value)),r.jsx("div",{className:"border-t border-gray-100 mt-1 pt-1",children:r.jsxs("button",{onClick:()=>h(!0),className:"w-full text-left px-3 py-1.5 text-sm text-gray-600 hover:bg-gray-50 flex items-center justify-between","data-testid":"sort-secondary-button",children:[r.jsx("span",{children:"Secondary sort..."}),r.jsx(Lt,{className:"w-4 h-4"})]})})]}),d&&m&&r.jsxs("div",{className:"absolute z-20 mt-1 top-full left-0 bg-white border border-gray-200 rounded-md shadow-lg py-1 min-w-48","data-testid":"sort-secondary-options",children:[r.jsxs("button",{onClick:()=>h(!1),className:"w-full text-left px-3 py-1.5 text-sm text-gray-500 hover:bg-gray-50 flex items-center gap-1",children:[r.jsx(Lt,{className:"w-4 h-4 rotate-180"}),r.jsx("span",{children:"Back"})]}),r.jsx("div",{className:"border-t border-gray-100 my-1"}),r.jsx("div",{className:"px-3 py-1.5 text-xs font-medium text-gray-500 uppercase",children:"Secondary Sort"}),r.jsxs("button",{onClick:()=>{l(null),u(!1),h(!1)},className:`w-full text-left px-3 py-1.5 text-sm hover:bg-gray-50 flex items-center justify-between ${a===null?"text-blue-600 font-medium":"text-gray-700"}`,"data-testid":"sort-secondary-option-none",children:[r.jsx("span",{children:"None"}),a===null&&r.jsx("span",{className:"text-blue-600",children:"✓"})]}),j.map(k=>r.jsxs("button",{onClick:()=>{l(k.value),u(!1),h(!1)},className:`w-full text-left px-3 py-1.5 text-sm hover:bg-gray-50 flex items-center justify-between ${a===k.value?"text-blue-600 font-medium":"text-gray-700"}`,"data-testid":`sort-secondary-option-${k.value}`,children:[r.jsx("span",{children:k.label}),a===k.value&&r.jsx("span",{className:"text-blue-600",children:"✓"})]},k.value))]})]})}function HG({groupBy:e,onGroupByChange:t}){const[a,n]=y.useState(!1),o=y.useRef(null);y.useEffect(()=>{function d(u){o.current&&!o.current.contains(u.target)&&n(!1)}return document.addEventListener("mousedown",d),()=>document.removeEventListener("mousedown",d)},[]);const l=Qu.find(d=>d.value===e)||Qu[0];return r.jsxs("div",{className:"relative",ref:o,children:[r.jsxs("button",{onClick:()=>n(!a),className:"inline-flex items-center gap-1.5 px-2.5 py-1.5 text-sm text-gray-600 bg-gray-100 hover:bg-gray-200 rounded-md transition-colors","data-testid":"group-by-dropdown",children:[r.jsx(qO,{className:"w-4 h-4"}),r.jsxs("span",{children:["Group: ",l.label]}),r.jsx(it,{className:`w-3.5 h-3.5 transition-transform ${a?"rotate-180":""}`})]}),a&&r.jsx("div",{className:"absolute z-20 mt-1 right-0 bg-white border border-gray-200 rounded-md shadow-lg py-1 min-w-40","data-testid":"group-by-options",children:Qu.map(d=>r.jsxs("button",{onClick:()=>{t(d.value),n(!1)},className:`w-full text-left px-3 py-1.5 text-sm hover:bg-gray-50 flex items-center justify-between ${e===d.value?"text-blue-600 font-medium":"text-gray-700"}`,"data-testid":`group-by-option-${d.value}`,children:[r.jsx("span",{children:d.label}),e===d.value&&r.jsx("span",{className:"text-blue-600",children:"✓"})]},d.value))})]})}function VG({selectedCount:e,onChangeStatus:t,onChangePriority:a,onDelete:n,onClear:o,isPending:l,isDeleting:d}){const[u,m]=y.useState(!1),[h,x]=y.useState(!1),[g,p]=y.useState(!1),j=y.useRef(null),k=y.useRef(null);y.useEffect(()=>{function E(O){j.current&&!j.current.contains(O.target)&&m(!1),k.current&&!k.current.contains(O.target)&&x(!1)}return document.addEventListener("mousedown",E),()=>document.removeEventListener("mousedown",E)},[]);const N=y.useRef(!1);y.useEffect(()=>{d?N.current=!0:N.current&&g&&(N.current=!1,p(!1))},[d,g]);const v=()=>{m(!1),x(!1),p(!0)},T=()=>{n()};return r.jsxs("div",{className:"flex items-center gap-2 px-4 py-2 bg-blue-50 border-b border-blue-200","data-testid":"bulk-action-menu",children:[r.jsxs("span",{className:"text-sm font-medium text-blue-700","data-testid":"bulk-selected-count",children:[e," selected"]}),r.jsxs("div",{className:"relative",ref:j,children:[r.jsxs("button",{onClick:()=>{x(!1),m(!u)},disabled:l||d,className:"inline-flex items-center gap-1 px-2 py-1 text-sm bg-white border border-gray-300 rounded hover:bg-gray-50 disabled:opacity-50","data-testid":"bulk-status-button",children:["Set Status",r.jsx(it,{className:"w-3 h-3"})]}),u&&r.jsx("div",{className:"absolute z-10 mt-1 bg-white border border-gray-200 rounded-md shadow-lg py-1 min-w-32","data-testid":"bulk-status-options",children:Hc.map(E=>r.jsx("button",{onClick:()=>{t(E.value),m(!1)},className:"w-full text-left px-3 py-1.5 text-sm hover:bg-gray-50","data-testid":`bulk-status-option-${E.value}`,children:E.label},E.value))})]}),r.jsxs("div",{className:"relative",ref:k,children:[r.jsxs("button",{onClick:()=>{m(!1),x(!h)},disabled:l||d,className:"inline-flex items-center gap-1 px-2 py-1 text-sm bg-white border border-gray-300 rounded hover:bg-gray-50 disabled:opacity-50","data-testid":"bulk-priority-button",children:["Set Priority",r.jsx(it,{className:"w-3 h-3"})]}),h&&r.jsx("div",{className:"absolute z-10 mt-1 bg-white border border-gray-200 rounded-md shadow-lg py-1 min-w-32","data-testid":"bulk-priority-options",children:Vc.map(E=>r.jsx("button",{onClick:()=>{a(E.value),x(!1)},className:"w-full text-left px-3 py-1.5 text-sm hover:bg-gray-50","data-testid":`bulk-priority-option-${E.value}`,children:E.label},E.value))})]}),g?r.jsxs("div",{className:"inline-flex items-center gap-2 px-2 py-1 bg-red-50 border border-red-300 rounded","data-testid":"bulk-delete-confirm",children:[r.jsxs("span",{className:"text-sm text-red-700",children:["Delete ",e," tasks?"]}),r.jsx("button",{onClick:T,disabled:d,className:"px-2 py-0.5 text-xs font-medium text-white bg-red-600 rounded hover:bg-red-700 disabled:opacity-50","data-testid":"bulk-delete-confirm-button",children:d?r.jsx(je,{className:"w-3 h-3 animate-spin"}):"Confirm"}),r.jsx("button",{onClick:()=>p(!1),disabled:d,className:"px-2 py-0.5 text-xs font-medium text-gray-600 bg-white border border-gray-300 rounded hover:bg-gray-50 disabled:opacity-50","data-testid":"bulk-delete-cancel-button",children:"Cancel"})]}):r.jsxs("button",{onClick:v,disabled:l||d,className:"inline-flex items-center gap-1 px-2 py-1 text-sm text-red-600 bg-white border border-red-300 rounded hover:bg-red-50 disabled:opacity-50","data-testid":"bulk-delete-button",children:[r.jsx(jt,{className:"w-3 h-3"}),"Delete"]}),l&&r.jsx(je,{className:"w-4 h-4 animate-spin text-blue-600"}),r.jsx("button",{onClick:o,disabled:d,className:"ml-auto p-1 text-gray-500 hover:text-gray-700 hover:bg-gray-100 rounded disabled:opacity-50","data-testid":"bulk-clear-selection",children:r.jsx(Ee,{className:"w-4 h-4"})})]})}function GG({filters:e,onFilterChange:t,onClearFilters:a,entities:n}){const[o,l]=y.useState(!1),d=e.status.length>0||e.priority.length>0||e.assignee!=="",u=e.status.length+e.priority.length+(e.assignee?1:0),m=x=>{const g=e.status.includes(x)?e.status.filter(p=>p!==x):[...e.status,x];t({...e,status:g})},h=x=>{const g=e.priority.includes(x)?e.priority.filter(p=>p!==x):[...e.priority,x];t({...e,priority:g})};return r.jsxs("div",{className:"border-b border-gray-200 bg-gray-50","data-testid":"filter-bar",children:[r.jsxs("div",{className:"px-4 py-2 flex items-center justify-between",children:[r.jsxs("button",{onClick:()=>l(!o),className:"flex items-center gap-2 text-sm text-gray-600 hover:text-gray-900","data-testid":"filter-toggle",children:[r.jsx(Ca,{className:"w-4 h-4"}),r.jsx("span",{children:"Filters"}),u>0&&r.jsx("span",{className:"px-1.5 py-0.5 text-xs font-medium bg-blue-100 text-blue-800 rounded-full",children:u}),r.jsx(it,{className:`w-4 h-4 transition-transform ${o?"rotate-180":""}`})]}),d&&r.jsxs("button",{onClick:a,className:"flex items-center gap-1 text-sm text-gray-500 hover:text-gray-700","data-testid":"clear-filters",children:[r.jsx(Xr,{className:"w-4 h-4"}),r.jsx("span",{children:"Clear all"})]})]}),o&&r.jsxs("div",{className:"px-4 pb-3 space-y-3",children:[r.jsxs("div",{children:[r.jsx("label",{className:"block text-xs font-medium text-gray-500 uppercase mb-1.5",children:"Status"}),r.jsx("div",{className:"flex flex-wrap gap-1.5",children:Hc.map(x=>r.jsx("button",{onClick:()=>m(x.value),className:`px-2.5 py-1 text-xs rounded-full border transition-colors ${e.status.includes(x.value)?`${x.color} border-transparent font-medium`:"bg-white border-gray-300 text-gray-600 hover:border-gray-400"}`,"data-testid":`filter-status-${x.value}`,children:x.label},x.value))})]}),r.jsxs("div",{children:[r.jsx("label",{className:"block text-xs font-medium text-gray-500 uppercase mb-1.5",children:"Priority"}),r.jsx("div",{className:"flex flex-wrap gap-1.5",children:Vc.map(x=>r.jsx("button",{onClick:()=>h(x.value),className:`px-2.5 py-1 text-xs rounded-full border transition-colors ${e.priority.includes(x.value)?`${x.color} border-transparent font-medium`:"bg-white border-gray-300 text-gray-600 hover:border-gray-400"}`,"data-testid":`filter-priority-${x.value}`,children:x.label},x.value))})]}),r.jsxs("div",{children:[r.jsx("label",{className:"block text-xs font-medium text-gray-500 uppercase mb-1.5",children:"Assignee"}),r.jsxs("select",{value:e.assignee,onChange:x=>t({...e,assignee:x.target.value}),className:"w-full max-w-xs px-3 py-1.5 text-sm border border-gray-300 rounded-md focus:outline-none focus:ring-1 focus:ring-blue-500 focus:border-blue-500 bg-white","data-testid":"filter-assignee",children:[r.jsx("option",{value:"",children:"All assignees"}),n.map(x=>r.jsx("option",{value:x.id,children:x.name||x.id},x.id))]})]})]}),!o&&d&&r.jsxs("div",{className:"px-4 pb-2 flex flex-wrap gap-1.5",children:[e.status.map(x=>{const g=Hc.find(p=>p.value===x);return r.jsxs("span",{className:`inline-flex items-center gap-1 px-2 py-0.5 text-xs rounded-full ${g?.color||"bg-gray-100 text-gray-800"}`,children:[g?.label||x,r.jsx("button",{onClick:()=>m(x),className:"hover:opacity-70","aria-label":`Remove ${g?.label||x} filter`,children:r.jsx(Ee,{className:"w-3 h-3"})})]},x)}),e.priority.map(x=>{const g=Vc.find(p=>p.value===x);return r.jsxs("span",{className:`inline-flex items-center gap-1 px-2 py-0.5 text-xs rounded-full ${g?.color||"bg-gray-100 text-gray-800"}`,children:[g?.label||x,r.jsx("button",{onClick:()=>h(x),className:"hover:opacity-70","aria-label":`Remove ${g?.label||x} filter`,children:r.jsx(Ee,{className:"w-3 h-3"})})]},x)}),e.assignee&&r.jsxs("span",{className:"inline-flex items-center gap-1 px-2 py-0.5 text-xs rounded-full bg-gray-100 text-gray-800",children:["Assignee: ",n.find(x=>x.id===e.assignee)?.name||e.assignee,r.jsx("button",{onClick:()=>t({...e,assignee:""}),className:"hover:opacity-70","aria-label":"Remove assignee filter",children:r.jsx(Ee,{className:"w-3 h-3"})})]})]})]})}const qg=new Map;function ls({items:e,getItemKey:t,estimateSize:a,renderItem:n,overscan:o=5,className:l="",innerClassName:d="",scrollRestoreId:u,height:m,testId:h,renderEmpty:x,onScroll:g,gap:p=0}){const j=y.useRef(null),k=y.useRef(null),N=typeof a=="function"?a:()=>a,v=tf({count:e.length,getScrollElement:()=>j.current,estimateSize:O=>N(O)+(O<e.length-1?p:0),overscan:o,getItemKey:O=>t(e[O],O)});y.useEffect(()=>{if(u&&j.current){const O=qg.get(u);O!==void 0&&O>0&&requestAnimationFrame(()=>{v.scrollToOffset(O)})}},[u]),y.useEffect(()=>()=>{if(u&&j.current){const O=v.scrollOffset;O!==null&&O>0&&qg.set(u,O)}},[u,v]);const T=y.useCallback(()=>{k.current&&clearTimeout(k.current),k.current=setTimeout(()=>{const O=v.scrollOffset;O!==null&&g&&g(O),u&&O!==null&&O>0&&qg.set(u,O)},100)},[v,g,u]);if(y.useEffect(()=>()=>{k.current&&clearTimeout(k.current)},[]),e.length===0)return r.jsx("div",{ref:j,className:l,style:m?{height:m}:void 0,"data-testid":h,children:x?x():r.jsx("div",{className:"flex items-center justify-center h-full text-gray-500",children:"No items"})});const E=v.getVirtualItems();return r.jsx("div",{ref:j,className:`overflow-auto ${l}`,style:m?{height:m}:void 0,"data-testid":h,onScroll:T,tabIndex:0,role:"region","aria-label":"Scrollable list",children:r.jsx("div",{className:d,style:{height:v.getTotalSize(),width:"100%",position:"relative"},"data-testid":h?`${h}-inner`:void 0,children:E.map(O=>{const S=e[O.index];return r.jsx("div",{style:{position:"absolute",top:0,left:0,width:"100%",transform:`translateY(${O.start}px)`},"data-index":O.index,"data-testid":h?`${h}-item-${O.index}`:void 0,children:n(S,O.index,O)},O.key)})})})}function NT(e,t){if(!t)return{matched:!0,indices:[]};const a=e.toLowerCase(),n=t.toLowerCase(),o=[];let l=0;for(let d=0;d<a.length&&l<n.length;d++)a[d]===n[l]&&(o.push(d),l++);return l===n.length?{matched:!0,indices:o}:null}function YG(e,t){if(t.length===0)return e;const a=[],n=new Set(t);let o=0;for(let l=0;l<e.length;l++)n.has(l)&&(l>o&&a.push(r.jsx("span",{children:e.slice(o,l)},`text-${o}`)),a.push(r.jsx("mark",{className:"bg-yellow-200 text-gray-900 rounded-sm px-0.5",children:e[l]},`match-${l}`)),o=l+1);return o<e.length&&a.push(r.jsx("span",{children:e.slice(o)},`text-${o}`)),r.jsx(r.Fragment,{children:a})}function QG(e){return e.split("_").map(t=>t.charAt(0).toUpperCase()+t.slice(1)).join(" ")}function BS(e){return e==="created_at"?"createdAt":e==="updated_at"?"updatedAt":e}function zS(e,t,a,n){if(a==="createdAt"||a==="updatedAt"){const u=new Date(e[a]).getTime(),m=new Date(t[a]).getTime(),h=u-m;return n==="asc"?h:-h}if(a==="deadline"){const u=e.deadline,m=t.deadline;if(!u&&!m)return 0;if(!u)return n==="asc"?1:-1;if(!m)return n==="asc"?-1:1;const h=new Date(u).getTime()-new Date(m).getTime();return n==="asc"?h:-h}if(a==="priority"){const u=(e.priority??5)-(t.priority??5);return n==="asc"?u:-u}if(a==="complexity"){const u=(e.complexity??3)-(t.complexity??3);return n==="asc"?u:-u}const o=e[a],l=t[a];let d=0;return o==null?d=1:l==null?d=-1:typeof o=="string"&&typeof l=="string"?d=o.localeCompare(l):typeof o=="number"&&typeof l=="number"?d=o-l:d=String(o).localeCompare(String(l)),n==="asc"?d:-d}function XG(e,t,a){if(t==="none")return[{key:"all",label:"All Tasks",tasks:e}];const n=new Map;for(const l of e){let d;switch(t){case"status":d=[l.status];break;case"priority":d=[String(l.priority)];break;case"assignee":d=[l.assignee||"unassigned"];break;case"taskType":d=[l.taskType||"task"];break;case"tags":d=l.tags.length>0?l.tags:["untagged"];break;default:d=["other"]}for(const u of d)n.has(u)||n.set(u,[]),n.get(u).push(l)}const o=[];if(t==="status"){const l=["open","in_progress","blocked","review","closed","deferred","completed","cancelled"];for(const d of l)if(n.has(d)){const u=Hc.find(m=>m.value===d);o.push({key:d,label:u?.label||d.replace("_"," "),color:u?.color,tasks:n.get(d)})}for(const[d,u]of n)l.includes(d)||o.push({key:d,label:d.replace("_"," "),tasks:u})}else if(t==="priority"){const l=[1,2,3,4,5];for(const d of l){const u=String(d);if(n.has(u)){const m=Vc.find(h=>h.value===d);o.push({key:u,label:m?.label||`Priority ${d}`,color:m?.color,tasks:n.get(u)})}}}else if(t==="assignee"){const l=Array.from(n.keys()).sort((d,u)=>{if(d==="unassigned")return-1;if(u==="unassigned")return 1;const m=a.find(x=>x.id===d)?.name||d,h=a.find(x=>x.id===u)?.name||u;return m.localeCompare(h)});for(const d of l){const u=d==="unassigned"?"Unassigned":a.find(m=>m.id===d)?.name||d;o.push({key:d,label:u,tasks:n.get(d)})}}else if(t==="taskType"){const l=Array.from(n.keys()).sort();for(const d of l)o.push({key:d,label:d.charAt(0).toUpperCase()+d.slice(1),tasks:n.get(d)})}else if(t==="tags"){const l=Array.from(n.keys()).sort((d,u)=>d==="untagged"?-1:u==="untagged"?1:d.localeCompare(u));for(const d of l)o.push({key:d,label:d==="untagged"?"Untagged":d,tasks:n.get(d)})}return o}function WG(){return typeof window>"u"?"":localStorage.getItem(w0)||""}function qS(e){typeof window>"u"||(e?localStorage.setItem(w0,e):localStorage.removeItem(w0))}function ZG(){return typeof window>"u"?"list":localStorage.getItem(vT)==="kanban"?"kanban":"list"}function JG(e){typeof window>"u"||localStorage.setItem(vT,e)}function eY(){if(typeof window>"u")return"none";const e=localStorage.getItem(jT);return e&&Qu.some(t=>t.value===e)?e:"none"}function tY(e){typeof window>"u"||localStorage.setItem(jT,e)}function rY(){if(typeof window>"u")return"created_at";const e=localStorage.getItem(wT);return e&&_s.some(t=>t.value===e)?e:"created_at"}function FS(e){typeof window>"u"||localStorage.setItem(wT,e)}function aY(){return typeof window>"u"?"desc":localStorage.getItem(kT)==="asc"?"asc":"desc"}function Fg(e){typeof window>"u"||localStorage.setItem(kT,e)}function nY(){if(typeof window>"u")return null;const e=localStorage.getItem(k0);return e&&_s.some(t=>t.value===e)?e:null}function sY(e){typeof window>"u"||(e?localStorage.setItem(k0,e):localStorage.removeItem(k0))}function N0({task:e,isSelected:t,isChecked:a,onCheck:n,onClick:o,isOdd:l,searchQuery:d,entities:u=[]}){const m=RS[e.priority]||RS[3],h=IS[e.status]||IS.open,x=y.useMemo(()=>{if(!d)return e.title;const p=NT(e.title,d);return p&&p.indices.length>0?YG(e.title,p.indices):e.title},[e.title,d]),g=p=>{p.stopPropagation(),n(!a)};return r.jsxs("div",{className:`flex items-center border-b border-gray-200 dark:border-gray-700 cursor-pointer transition-colors ${t?"bg-blue-50 dark:bg-blue-900/30 hover:bg-blue-100 dark:hover:bg-blue-900/40":l?"bg-gray-50 dark:bg-gray-800/50 hover:bg-gray-100 dark:hover:bg-gray-800":"bg-white dark:bg-gray-900 hover:bg-gray-50 dark:hover:bg-gray-800/50"}`,onClick:o,"data-testid":`task-row-${e.id}`,style:{height:bT},children:[r.jsx("div",{className:"px-2 py-3 w-10 flex-shrink-0",children:r.jsx("button",{onClick:g,className:"p-1 hover:bg-gray-200 dark:hover:bg-gray-700 rounded","data-testid":`task-checkbox-${e.id}`,"aria-label":a?`Deselect task: ${e.title}`:`Select task: ${e.title}`,children:a?r.jsx(Ta,{className:"w-4 h-4 text-blue-600 dark:text-blue-400"}):r.jsx(z0,{className:"w-4 h-4 text-gray-500 dark:text-gray-400"})})}),r.jsxs("div",{className:"flex-1 min-w-[200px] px-4 py-3",children:[r.jsx("div",{className:"font-medium text-gray-900 dark:text-gray-100 truncate","data-testid":`task-title-${e.id}`,children:x}),r.jsx("div",{className:"text-xs text-gray-500 dark:text-gray-400 font-mono truncate",children:e.id})]}),r.jsx("div",{className:"w-28 px-4 py-3",children:r.jsx("span",{className:`px-2 py-1 text-xs font-medium rounded whitespace-nowrap ${h}`,children:QG(e.status)})}),r.jsx("div",{className:"w-28 px-4 py-3",children:r.jsx("span",{className:`px-2 py-1 text-xs font-medium rounded ${m.color}`,children:m.label})}),r.jsx("div",{className:"w-28 px-4 py-3 text-sm text-gray-600 dark:text-gray-400 capitalize truncate",children:e.taskType}),r.jsx("div",{className:"w-32 px-4 py-3 text-sm text-gray-600 dark:text-gray-400 truncate",children:e.assignee?r.jsx(ha,{to:"/entities",search:{selected:e.assignee,name:void 0,page:1,limit:25},className:"text-blue-600 dark:text-blue-400 hover:text-blue-800 dark:hover:text-blue-300 hover:underline",onClick:p=>p.stopPropagation(),"data-testid":`task-assignee-link-${e.id}`,children:u.find(p=>p.id===e.assignee)?.name||e.assignee}):"-"}),r.jsx("div",{className:"w-32 px-4 py-3",children:r.jsxs("div",{className:"flex gap-1",children:[e.tags.slice(0,2).map(p=>r.jsx("span",{className:"px-1.5 py-0.5 text-xs bg-gray-200 dark:bg-gray-700 text-gray-800 dark:text-gray-200 rounded truncate max-w-[60px]",children:p},p)),e.tags.length>2&&r.jsxs("span",{className:"text-xs text-gray-500 dark:text-gray-400",children:["+",e.tags.length-2]})]})}),r.jsx("div",{className:"w-28 px-4 py-3 text-sm text-gray-500 dark:text-gray-400 truncate",title:new Date(e.createdAt).toLocaleString(),children:DK(e.createdAt)})]})}function Vi({label:e,field:t,currentSort:a,onSort:n}){const o=a.field===t;return r.jsxs("button",{className:"px-4 py-3 text-left text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wider cursor-pointer hover:bg-gray-100 dark:hover:bg-gray-800 hover:text-gray-700 dark:hover:text-gray-200 select-none w-full flex items-center gap-1 transition-colors",onClick:()=>n(t),"data-testid":`sort-header-${t}`,children:[r.jsx("span",{children:e}),o?a.direction==="asc"?r.jsx(rs,{className:"w-3.5 h-3.5 text-blue-600 dark:text-blue-400"}):r.jsx(Io,{className:"w-3.5 h-3.5 text-blue-600 dark:text-blue-400"}):r.jsx(Ro,{className:"w-3.5 h-3.5 text-gray-300 dark:text-gray-600"})]})}function iY({group:e,isCollapsed:t,onToggle:a}){return r.jsxs("button",{onClick:a,className:"w-full flex items-center gap-2 px-4 py-2.5 bg-gray-100 hover:bg-gray-150 border-b border-gray-200 transition-colors","data-testid":`group-header-${e.key}`,children:[r.jsx("span",{className:`transition-transform ${t?"":"rotate-90"}`,children:r.jsx(Lt,{className:"w-4 h-4 text-gray-500"})}),e.color&&r.jsx("span",{className:`px-2 py-0.5 text-xs font-medium rounded ${e.color}`,children:e.label}),!e.color&&r.jsx("span",{className:"text-sm font-medium text-gray-700",children:e.label}),r.jsx("span",{className:"ml-auto px-2 py-0.5 text-xs font-medium bg-gray-200 text-gray-600 rounded-full","data-testid":`group-count-${e.key}`,children:e.tasks.length})]})}function nc({allSelected:e,someSelected:t,onSelectAll:a,sort:n,onSort:o}){return r.jsx("div",{className:"bg-gray-50 sticky top-0 z-10 border-b border-gray-200",children:r.jsxs("div",{className:"flex items-center","data-testid":"tasks-list-header",children:[r.jsx("div",{className:"px-2 py-3 w-10 flex-shrink-0",children:r.jsx("button",{onClick:a,className:"p-1 hover:bg-gray-200 rounded","data-testid":"task-select-all","aria-label":e?"Deselect all tasks":"Select all tasks",children:e?r.jsx(Ta,{className:"w-4 h-4 text-blue-600"}):t?r.jsx("div",{className:"w-4 h-4 border-2 border-blue-600 rounded flex items-center justify-center",children:r.jsx("div",{className:"w-2 h-0.5 bg-blue-600"})}):r.jsx(z0,{className:"w-4 h-4 text-gray-500"})})}),r.jsx("div",{className:"flex-1 min-w-[200px]",children:r.jsx(Vi,{label:"Task",field:"title",currentSort:n,onSort:o})}),r.jsx("div",{className:"w-28",children:r.jsx(Vi,{label:"Status",field:"status",currentSort:n,onSort:o})}),r.jsx("div",{className:"w-28",children:r.jsx(Vi,{label:"Priority",field:"priority",currentSort:n,onSort:o})}),r.jsx("div",{className:"w-28",children:r.jsx(Vi,{label:"Type",field:"taskType",currentSort:n,onSort:o})}),r.jsx("div",{className:"w-32",children:r.jsx(Vi,{label:"Assignee",field:"assignee",currentSort:n,onSort:o})}),r.jsx("div",{className:"w-32 px-4 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider",children:"Tags"}),r.jsx("div",{className:"w-28",children:r.jsx(Vi,{label:"Created",field:"created_at",currentSort:n,onSort:o})})]})})}function oY({tasks:e,selectedTaskId:t,selectedIds:a,onTaskClick:n,onTaskCheck:o,onSelectAll:l,sort:d,onSort:u,containerHeight:m,searchQuery:h,entities:x=[]}){const g=e.length>0&&e.every(k=>a.has(k.id)),p=a.size>0;return e.length===0?r.jsxs("div",{"data-testid":"tasks-list-view",children:[r.jsx(nc,{allSelected:g,someSelected:p,onSelectAll:l,sort:d,onSort:u}),r.jsx("div",{className:"p-6 text-center text-gray-500",children:"No tasks found."})]}):e.length>50?r.jsxs("div",{"data-testid":"tasks-list-view",children:[r.jsx(nc,{allSelected:g,someSelected:p,onSelectAll:l,sort:d,onSort:u}),r.jsx(ls,{items:e,getItemKey:k=>k.id,estimateSize:bT,scrollRestoreId:"tasks-list",height:m?m-48:"calc(100% - 48px)",className:"flex-1",testId:"virtualized-task-list",renderItem:(k,N)=>r.jsx(N0,{task:k,isSelected:k.id===t,isChecked:a.has(k.id),onCheck:v=>o(k.id,v),onClick:()=>n(k.id),isOdd:N%2===1,searchQuery:h,entities:x})})]}):r.jsxs("div",{"data-testid":"tasks-list-view",children:[r.jsx(nc,{allSelected:g,someSelected:p,onSelectAll:l,sort:d,onSort:u}),r.jsx("div",{className:"bg-white",children:e.map((k,N)=>r.jsx(N0,{task:k,isSelected:k.id===t,isChecked:a.has(k.id),onCheck:v=>o(k.id,v),onClick:()=>n(k.id),isOdd:N%2===1,searchQuery:h,entities:x},k.id))})]})}function lY({groups:e,selectedTaskId:t,selectedIds:a,onTaskClick:n,onTaskCheck:o,sort:l,searchQuery:d,onSort:u,entities:m=[]}){const[h,x]=y.useState(new Set),g=v=>{x(T=>{const E=new Set(T);return E.has(v)?E.delete(v):E.add(v),E})},p=e.flatMap(v=>v.tasks),j=p.length>0&&p.every(v=>a.has(v.id)),k=a.size>0,N=()=>{};return p.length===0?r.jsxs("div",{"data-testid":"tasks-grouped-list-view",children:[r.jsx(nc,{allSelected:j,someSelected:k,onSelectAll:N,sort:l,onSort:u}),r.jsx("div",{className:"p-6 text-center text-gray-500",children:"No tasks found."})]}):r.jsxs("div",{"data-testid":"tasks-grouped-list-view",children:[r.jsx(nc,{allSelected:j,someSelected:k,onSelectAll:N,sort:l,onSort:u}),r.jsx("div",{className:"bg-white",children:e.map(v=>{const T=h.has(v.key);return r.jsxs("div",{"data-testid":`task-group-${v.key}`,children:[r.jsx(iY,{group:v,isCollapsed:T,onToggle:()=>g(v.key)}),!T&&r.jsx("div",{children:v.tasks.map((E,O)=>r.jsx(N0,{task:E,isSelected:E.id===t,isChecked:a.has(E.id),onCheck:S=>o(E.id,S),onClick:()=>n(E.id),isOdd:O%2===1,searchQuery:d,entities:m},E.id))})]},v.key)})})]})}function cY({open:e,onClose:t,filters:a,onFilterChange:n,onClearFilters:o,entities:l}){const d=a.status.length+a.priority.length+(a.assignee?1:0),u=g=>{const p=a.status.includes(g)?a.status.filter(j=>j!==g):[...a.status,g];n({...a,status:p})},m=g=>{const p=a.priority.includes(g)?a.priority.filter(j=>j!==g):[...a.priority,g];n({...a,priority:p})},h=g=>{n({...a,assignee:g})},x=()=>{o(),t()};return r.jsx(Vo,{open:e,onClose:t,title:"Filters","data-testid":"mobile-filter-sheet",children:r.jsxs("div",{className:"p-4 space-y-6",children:[r.jsxs("div",{children:[r.jsx("label",{className:"block text-sm font-medium text-[var(--color-text)] mb-2",children:"Status"}),r.jsx("div",{className:"flex flex-wrap gap-2",children:Hc.map(g=>r.jsx("button",{onClick:()=>u(g.value),className:`px-3 py-2 text-sm rounded-lg border transition-colors touch-target ${a.status.includes(g.value)?`${g.color} border-transparent font-medium`:"bg-white dark:bg-gray-800 border-gray-300 dark:border-gray-600 text-gray-600 dark:text-gray-300"}`,"data-testid":`mobile-filter-status-${g.value}`,children:g.label},g.value))})]}),r.jsxs("div",{children:[r.jsx("label",{className:"block text-sm font-medium text-[var(--color-text)] mb-2",children:"Priority"}),r.jsx("div",{className:"flex flex-wrap gap-2",children:Vc.map(g=>r.jsx("button",{onClick:()=>m(g.value),className:`px-3 py-2 text-sm rounded-lg border transition-colors touch-target ${a.priority.includes(g.value)?`${g.color} border-transparent font-medium`:"bg-white dark:bg-gray-800 border-gray-300 dark:border-gray-600 text-gray-600 dark:text-gray-300"}`,"data-testid":`mobile-filter-priority-${g.value}`,children:g.label},g.value))})]}),r.jsxs("div",{children:[r.jsx("label",{className:"block text-sm font-medium text-[var(--color-text)] mb-2",children:"Assignee"}),r.jsxs("select",{value:a.assignee,onChange:g=>h(g.target.value),className:"w-full px-3 py-2.5 text-sm border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-800 text-[var(--color-text)] touch-target","data-testid":"mobile-filter-assignee",children:[r.jsx("option",{value:"",children:"All assignees"}),l.map(g=>r.jsx("option",{value:g.id,children:g.name||g.id},g.id))]})]}),d>0&&r.jsxs("button",{onClick:x,className:"w-full py-2.5 text-sm font-medium text-red-600 dark:text-red-400 border border-red-300 dark:border-red-800 rounded-lg hover:bg-red-50 dark:hover:bg-red-900/20 transition-colors touch-target","data-testid":"mobile-clear-filters",children:["Clear all filters (",d,")"]}),r.jsx("button",{onClick:t,className:"w-full py-2.5 text-sm font-medium text-white bg-blue-600 rounded-lg hover:bg-blue-700 transition-colors touch-target","data-testid":"mobile-apply-filters",children:"Apply Filters"})]})})}function dY(){const e=rr(),t=kn({from:"/tasks"}),a=t.page??1,n=t.limit??FG,o=t.selected??null,l=t.readyOnly??!1,d=t.assignee??"",[u,m]=y.useState(rY),[h,x]=y.useState(aY),[g,p]=y.useState(nY),[j,k]=y.useState(()=>({...PS,assignee:d})),[N,v]=y.useState(eY),[T,E]=y.useState(WG),O=Nf(T,UG),{data:S,isLoading:C}=Y5(),A=lV(),$=cV(),P=oV(),[M,q]=y.useState(o),{data:_,isLoading:z}=iV(),U=y.useMemo(()=>{const X=rV({status:j.status,priority:j.priority,assignee:j.assignee});return ve=>{if(O){const Ce=NT(ve.title,O);if(!Ce||!Ce.matched)return!1}return!(l&&_&&!_.has(ve.id)||X&&!X(ve))}},[j.status,j.priority,j.assignee,l,_,O]),K=y.useMemo(()=>({field:BS(u),direction:h}),[u,h]),R=y.useCallback((X,ve,Ce,Ie)=>{const Be=zS(X,ve,Ce,Ie);if(Be===0&&g){const wt=BS(g);return zS(X,ve,wt,Ie)}return Be},[g]),L=Ey({data:S,page:a,pageSize:n,filterFn:U,sort:K,sortCompareFn:R}),F=cd({data:S,selectedId:o,currentPage:a,pageSize:n,getId:X=>X.id,routePath:"/tasks",rowTestIdPrefix:"task-row-",autoNavigate:!0,highlightDelay:200});y.useEffect(()=>{o&&q(o)},[o]),y.useEffect(()=>{d!==j.assignee&&k(X=>({...X,assignee:d}))},[d]);const B=Et(),H=jC(),{openCreateTaskModal:G}=vy();Va();const[W,te]=y.useState(ZG),[le,ge]=y.useState(new Set),[se,ye]=y.useState(!1),Ne=y.useCallback(X=>{te(X),JG(X)},[]),we=y.useCallback(X=>{v(X),tY(X),e({to:"/tasks",search:{page:1,limit:n,readyOnly:l?!0:void 0}})},[e,n,l]),me=y.useCallback(X=>{m(X),FS(X),e({to:"/tasks",search:{page:1,limit:n,readyOnly:l?!0:void 0}})},[e,n,l]),J=y.useCallback(X=>{x(X),Fg(X),e({to:"/tasks",search:{page:1,limit:n,readyOnly:l?!0:void 0}})},[e,n,l]),re=y.useCallback(X=>{p(X),sY(X),e({to:"/tasks",search:{page:1,limit:n,readyOnly:l?!0:void 0}})},[e,n,l]),Y=y.useCallback(X=>{E(X),qS(X),e({to:"/tasks",search:{page:1,limit:n,readyOnly:l?!0:void 0}})},[e,n,l]),he=y.useCallback(()=>{E(""),qS(""),e({to:"/tasks",search:{page:1,limit:n,readyOnly:l?!0:void 0}})},[e,n,l]);y.useEffect(()=>{let X="",ve=0;const Ce=Ie=>{if(Ie.target instanceof HTMLInputElement||Ie.target instanceof HTMLTextAreaElement)return;const Be=Date.now(),wt=Ie.key.toLowerCase();if(wt==="v"){X="v",ve=Be;return}X==="v"&&Be-ve<500&&(wt==="l"?(Ie.preventDefault(),Ne("list")):wt==="k"&&(Ie.preventDefault(),Ne("kanban"))),X=""};return document.addEventListener("keydown",Ce),()=>document.removeEventListener("keydown",Ce)},[Ne]);const ce=L.items,pe=L.filteredTotal,ke=L.totalPages,_e=C||L.isLoading||l&&z,Le=y.useMemo(()=>XG(ce,N,P.data??[]),[ce,N,P.data]),Ue=X=>{q(X),e({to:"/tasks",search:{page:a,limit:n,selected:X}})},Ge=()=>{q(null),e({to:"/tasks",search:{page:a,limit:n}})},rt=(X,ve)=>{ge(Ce=>{const Ie=new Set(Ce);return ve?Ie.add(X):Ie.delete(X),Ie})},Ot=()=>{if(ce.length===0)return;const X=ce.every(ve=>le.has(ve.id));ge(X?new Set:new Set(ce.map(ve=>ve.id)))},Mt=X=>{e({to:"/tasks",search:{page:X,limit:n,readyOnly:l?!0:void 0}}),ge(new Set)},ht=X=>{e({to:"/tasks",search:{page:1,limit:X,readyOnly:l?!0:void 0}}),ge(new Set)},Yt=X=>{if(u===X){const ve=h==="desc"?"asc":"desc";x(ve),Fg(ve)}else m(X),FS(X),x("desc"),Fg("desc");e({to:"/tasks",search:{page:1,limit:n,readyOnly:l?!0:void 0}})},Zr=X=>{k(X),e({to:"/tasks",search:{page:1,limit:n,readyOnly:l?!0:void 0,assignee:X.assignee||void 0}})},Jr=()=>{k(PS),e({to:"/tasks",search:{page:1,limit:n,readyOnly:l?!0:void 0}})},Rr=()=>{e({to:"/tasks",search:{page:1,limit:n}})},cs=X=>{A.mutate({ids:Array.from(le),updates:{status:X}},{onSuccess:()=>ge(new Set)})},Qt=X=>{A.mutate({ids:Array.from(le),updates:{priority:X}},{onSuccess:()=>ge(new Set)})},ds=()=>{const X=Array.from(le);M&&X.includes(M)&&q(null),$.mutate(X,{onSuccess:()=>ge(new Set)})},us=()=>{ge(new Set)},Ir=j.status.length+j.priority.length+(j.assignee?1:0);return r.jsxs("div",{className:"flex h-full","data-testid":"tasks-page",children:[B&&r.jsx(cY,{open:se,onClose:()=>ye(!1),filters:j,onFilterChange:Zr,onClearFilters:Jr,entities:P.data??[]}),r.jsxs("div",{className:`flex flex-col ${M&&!B?"w-1/2":"w-full"} transition-all duration-200 ${M&&B?"hidden":""}`,children:[r.jsx(wn,{title:"Tasks",icon:Ta,iconColor:"text-blue-500",bordered:!0,actions:[{label:"Create Task",shortLabel:"Create",icon:Fe,onClick:G,shortcut:or("action.createTask"),testId:"create-task-button"}],testId:"tasks-header",children:r.jsxs("div",{className:"space-y-3",children:[r.jsx(qG,{value:T,onChange:Y,onClear:he,compact:B}),r.jsxs("div",{className:"flex items-center justify-between gap-2",children:[r.jsxs("div",{className:"flex items-center gap-2 w-full",children:[!B&&!H&&r.jsx(KG,{sortField:u,sortDirection:h,secondarySort:g,onSortFieldChange:me,onSortDirectionChange:J,onSecondarySortChange:re}),W==="list"&&!B&&!H&&r.jsx(HG,{groupBy:N,onGroupByChange:we}),r.jsx("div",{className:"ml-auto",children:r.jsx(zG,{view:W,onViewChange:Ne})})]}),B&&r.jsxs("button",{onClick:()=>ye(!0),className:`inline-flex items-center gap-1.5 px-3 py-1.5 text-sm rounded-md transition-colors touch-target ${Ir>0?"bg-blue-100 dark:bg-blue-900/30 text-blue-700 dark:text-blue-300":"bg-gray-100 dark:bg-gray-800 text-gray-600 dark:text-gray-400"}`,"data-testid":"mobile-filter-button",children:[r.jsx(k2,{className:"w-4 h-4"}),r.jsx("span",{children:"Filters"}),Ir>0&&r.jsx("span",{className:"px-1.5 py-0.5 text-xs font-medium bg-blue-600 text-white rounded-full",children:Ir})]})]})]})}),le.size>0&&W==="list"&&!B&&r.jsx(VG,{selectedCount:le.size,onChangeStatus:cs,onChangePriority:Qt,onDelete:ds,onClear:us,isPending:A.isPending,isDeleting:$.isPending}),!B&&W==="list"&&r.jsx(GG,{filters:j,onFilterChange:Zr,onClearFilters:Jr,entities:P.data??[]}),l&&r.jsx("div",{className:"px-4 py-2 border-b border-gray-200 bg-blue-50","data-testid":"ready-filter-chip",children:r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsx(FO,{className:"w-4 h-4 text-blue-600"}),r.jsx("span",{className:"text-sm font-medium text-blue-800",children:"Ready tasks only"}),r.jsxs("button",{onClick:Rr,className:"ml-auto inline-flex items-center gap-1 px-2 py-1 text-xs font-medium text-blue-700 bg-blue-100 hover:bg-blue-200 rounded transition-colors","data-testid":"clear-ready-filter",children:[r.jsx(Ee,{className:"w-3 h-3"}),"Clear filter"]})]})}),r.jsxs("div",{className:"flex-1 overflow-auto","data-testid":"tasks-view-container",children:[_e&&r.jsx("div",{className:"p-4 text-gray-500",children:"Loading tasks..."}),!_e&&W==="list"&&r.jsxs("div",{className:"animate-fade-in","data-testid":"list-view-content",children:[B?r.jsxs("div",{"data-testid":"mobile-list-view",children:[ce.map(X=>r.jsx(BG,{task:X,isSelected:M===X.id,isChecked:le.has(X.id),onCheck:ve=>rt(X.id,ve),onClick:()=>Ue(X.id),searchQuery:O},X.id)),ce.length===0&&r.jsx("div",{className:"p-8 text-center text-[var(--color-text-muted)]",children:"No tasks found"})]}):N==="none"?r.jsx(oY,{tasks:ce,selectedTaskId:M,selectedIds:le,onTaskClick:Ue,onTaskCheck:rt,onSelectAll:Ot,sort:{field:u,direction:h},onSort:Yt,searchQuery:O,entities:P.data??[]}):r.jsx(lY,{groups:Le,selectedTaskId:M,selectedIds:le,onTaskClick:Ue,onTaskCheck:rt,sort:{field:u,direction:h},onSort:Yt,searchQuery:O,entities:P.data??[]}),r.jsx(Ef,{currentPage:a,totalPages:ke,totalItems:pe,pageSize:n,onPageChange:Mt,onPageSizeChange:ht})]}),!_e&&W==="kanban"&&r.jsx("div",{className:"animate-fade-in h-full","data-testid":"kanban-view-content",children:r.jsx(PG,{entities:P.data??[],selectedTaskId:M,onTaskClick:Ue,searchQuery:O,pageSort:{field:u,direction:h}})})]})]}),M&&!B&&r.jsx("div",{className:"w-1/2 border-l border-gray-200 dark:border-gray-700","data-testid":"task-detail-container",children:F.notFound?r.jsx(Ka,{elementType:"Task",elementId:M,backRoute:"/tasks",backLabel:"Back to Tasks",onDismiss:Ge}):r.jsx($S,{taskId:M,onClose:Ge})}),M&&B&&r.jsx(Vo,{open:!!M,onClose:Ge,title:"Task Details","data-testid":"mobile-task-detail-sheet",children:F.notFound?r.jsx(Ka,{elementType:"Task",elementId:M,backRoute:"/tasks",backLabel:"Back to Tasks",onDismiss:Ge}):r.jsx($S,{taskId:M,onClose:Ge})}),B&&!M&&r.jsx("button",{onClick:G,className:"fixed bottom-6 right-6 w-14 h-14 flex items-center justify-center bg-blue-600 hover:bg-blue-700 text-white rounded-full shadow-lg z-40 touch-target","aria-label":"Create new task","data-testid":"mobile-create-task-fab",children:r.jsx(Fe,{className:"w-6 h-6"})})]})}function uY(){return be({queryKey:["tasks","ready"],queryFn:async()=>{const e=await fetch("/api/tasks/ready");if(!e.ok)throw new Error("Failed to fetch ready tasks");return e.json()}})}function mY(){return be({queryKey:["tasks","blocked"],queryFn:async()=>{const e=await fetch("/api/tasks/blocked");if(!e.ok)throw new Error("Failed to fetch blocked tasks");return e.json()}})}function fY(e){return be({queryKey:["dependencies","tree",e],queryFn:async()=>{const t=await fetch(`/api/dependencies/${e}/tree`);if(!t.ok)throw new Error("Failed to fetch dependency tree");return t.json()},enabled:!!e})}function hY(e){return be({queryKey:["dependencies","list",e],queryFn:async()=>{const t=await fetch(`/api/dependencies/${e}`);if(!t.ok)throw new Error("Failed to fetch dependencies");return t.json()},enabled:!!e})}var xY=V$();const US=Nt(xY),gY=[{value:"blocks",label:"Blocks",description:"Blocked element cannot proceed until blocker completes"},{value:"parent-child",label:"Parent-Child",description:"Hierarchical containment"},{value:"relates-to",label:"Relates To",description:"Semantic bidirectional link"},{value:"references",label:"References",description:"Citation (unidirectional)"},{value:"awaits",label:"Awaits",description:"Waiting for external event"},{value:"validates",label:"Validates",description:"Validation relationship"},{value:"authored-by",label:"Authored By",description:"Attribution to creator"},{value:"assigned-to",label:"Assigned To",description:"Work assignment"}],ST={blocks:{stroke:"#ef4444",label:"#ef4444",labelBg:"#fef2f2"},"parent-child":{stroke:"#f97316",label:"#f97316",labelBg:"#fff7ed"},awaits:{stroke:"#f59e0b",label:"#f59e0b",labelBg:"#fffbeb"},"relates-to":{stroke:"#3b82f6",label:"#3b82f6",labelBg:"#eff6ff"},references:{stroke:"#6b7280",label:"#6b7280",labelBg:"#f9fafb"},validates:{stroke:"#8b5cf6",label:"#8b5cf6",labelBg:"#f5f3ff"},"authored-by":{stroke:"#22c55e",label:"#22c55e",labelBg:"#f0fdf4"},"assigned-to":{stroke:"#10b981",label:"#10b981",labelBg:"#ecfdf5"}},Mo={open:{bg:"bg-blue-50",border:"border-blue-300",text:"text-blue-800"},in_progress:{bg:"bg-yellow-50",border:"border-yellow-300",text:"text-yellow-800"},blocked:{bg:"bg-red-50",border:"border-red-300",text:"text-red-800"},completed:{bg:"bg-green-50",border:"border-green-300",text:"text-green-800"},cancelled:{bg:"bg-gray-50",border:"border-gray-300",text:"text-gray-500"}},KS={1:"text-red-600",2:"text-orange-600",3:"text-yellow-600",4:"text-green-600",5:"text-gray-500"},pY=[{value:"open",label:"Open"},{value:"in_progress",label:"In Progress"},{value:"blocked",label:"Blocked"},{value:"completed",label:"Completed"},{value:"cancelled",label:"Cancelled"}],HS={algorithm:"hierarchical",direction:"TB",nodeSpacing:80,rankSpacing:150},yY={TB:{label:"Top to Bottom",icon:Io},LR:{label:"Left to Right",icon:Qs},BT:{label:"Bottom to Top",icon:rs},RL:{label:"Right to Left",icon:rd}},bY={hierarchical:{label:"Hierarchical",description:"Tree-style layout based on dependency direction"},force:{label:"Force-Directed",description:"Physics-based layout for graphs without clear hierarchy"},radial:{label:"Radial",description:"Root node in center, dependencies radiating outward"}};function S0(e){return ST[e]||{stroke:"#94a3b8",label:"#64748b",labelBg:"#f8fafc"}}const CT="dependency-graph-layout";function vY(){try{const e=localStorage.getItem(CT);if(e){const t=JSON.parse(e);return{...HS,...t}}}catch{}return HS}function jY(e){try{localStorage.setItem(CT,JSON.stringify(e))}catch{}}function TT(e,t,a){const n=new US.graphlib.Graph;n.setDefaultEdgeLabel(()=>({})),n.setGraph({rankdir:a.direction,nodesep:a.nodeSpacing,ranksep:a.rankSpacing,marginx:50,marginy:50});const o=200,l=100;return e.forEach(d=>{n.setNode(d.id,{width:o,height:l})}),t.forEach(d=>{n.setEdge(d.source,d.target)}),US.layout(n),e.map(d=>{const u=n.node(d.id);return u?{...d,position:{x:u.x-o/2,y:u.y-l/2}}:d})}function wY(e,t,a){const n=new Map,o=Math.ceil(Math.sqrt(e.length));e.forEach((x,g)=>{const p=Math.floor(g/o),j=g%o;n.set(x.id,{x:j*a.nodeSpacing*2+Math.random()*50,y:p*a.rankSpacing+Math.random()*50,vx:0,vy:0})});const l=new Map;t.forEach(x=>{l.has(x.source)||l.set(x.source,new Set),l.has(x.target)||l.set(x.target,new Set),l.get(x.source).add(x.target),l.get(x.target).add(x.source)});const d=50,u=.1,m=5e3,h=.9;for(let x=0;x<d;x++){const g=Array.from(n.entries());for(let p=0;p<g.length;p++){const[j,k]=g[p];for(let N=p+1;N<g.length;N++){const[v,T]=g[N],E=k.x-T.x,O=k.y-T.y,S=Math.sqrt(E*E+O*O)||1,C=m/(S*S),A=E/S*C,$=O/S*C;k.vx+=A,k.vy+=$,T.vx-=A,T.vy-=$,n.set(j,k),n.set(v,T)}}t.forEach(p=>{const j=n.get(p.source),k=n.get(p.target);if(j&&k){const N=k.x-j.x,v=k.y-j.y,T=Math.sqrt(N*N+v*v)||1,E=(T-a.rankSpacing)*u,O=N/T*E,S=v/T*E;j.vx+=O,j.vy+=S,k.vx-=O,k.vy-=S,n.set(p.source,j),n.set(p.target,k)}}),n.forEach((p,j)=>{p.x+=p.vx,p.y+=p.vy,p.vx*=h,p.vy*=h,n.set(j,p)})}return e.map(x=>{const g=n.get(x.id);return g?{...x,position:{x:g.x,y:g.y}}:x})}function kY(e,t,a){const n=e.find(p=>p.data.isRoot);if(!n||e.length<=1)return TT(e,t,a);const o=new Map;e.forEach(p=>o.set(p.id,[])),t.forEach(p=>{o.has(p.source)&&o.get(p.source).push(p.target),o.has(p.target)&&o.get(p.target).push(p.source)});const l=new Map,d=[n.id];for(l.set(n.id,0);d.length>0;){const p=d.shift(),j=l.get(p),k=o.get(p)||[];for(const N of k)l.has(N)||(l.set(N,j+1),d.push(N))}const u=new Map;let m=0;l.forEach((p,j)=>{u.has(p)||u.set(p,[]),u.get(p).push(j),m=Math.max(m,p)});const h=new Map,x=0,g=0;h.set(n.id,{x,y:g});for(let p=1;p<=m;p++){const j=u.get(p)||[],k=p*a.rankSpacing,N=2*Math.PI/j.length;j.forEach((v,T)=>{const E=T*N-Math.PI/2;h.set(v,{x:x+k*Math.cos(E),y:g+k*Math.sin(E)})})}return e.map(p=>{const j=h.get(p.id);return j?{...p,position:{x:j.x-100,y:j.y-50}}:p})}function NY(e,t,a){if(e.length===0)return e;switch(a.algorithm){case"force":return wY(e,t,a);case"radial":return kY(e,t,a);case"hierarchical":default:return TT(e,t,a)}}function SY(e){const t=new Map;if(!e)return t;for(const a of e.dependencies){const n=`${a.blockedId}->${a.blockerId}`;t.set(n,a.type)}for(const a of e.dependents){const n=`${a.blockedId}->${a.blockerId}`;t.set(n,a.type)}return t}function CY(e,t,a){const n=[],o=[],l=new Set,{searchQuery:d,statusFilter:u,showEdgeLabels:m}=t,h=d.trim().length>0,x=u.length>0,g=h||x;function p(v){if(!h)return!0;const T=d.toLowerCase();return v.title.toLowerCase().includes(T)||v.id.toLowerCase().includes(T)}function j(v){return x?u.includes(v.status):!0}function k(v){return p(v)&&j(v)}function N(v,T,E,O){if(l.has(v.element.id))return;l.add(v.element.id);const S=O==="up"?-T*150:T*150,C=E*250,A=k(v.element),$=h&&p(v.element);n.push({id:v.element.id,type:"task",position:{x:C,y:S},data:{task:v.element,isRoot:O==="root",isHighlighted:!g||A,isSearchMatch:$}}),v.dependencies.forEach((P,M)=>{l.has(P.element.id)||N(P,T+1,E+M-Math.floor(v.dependencies.length/2),"up");const q=`${v.element.id}->${P.element.id}`,_=a.get(q)||"blocks",z=S0(_);o.push({id:q,source:v.element.id,target:P.element.id,type:"custom",animated:!0,markerEnd:{type:Ew.ArrowClosed,color:z.stroke},style:{stroke:z.stroke},data:{dependencyType:_,showLabels:m}})}),v.dependents.forEach((P,M)=>{l.has(P.element.id)||N(P,T+1,E+M-Math.floor(v.dependents.length/2),"down");const q=`${P.element.id}->${v.element.id}`,_=a.get(q)||"blocks",z=S0(_);o.push({id:q,source:P.element.id,target:v.element.id,type:"custom",animated:!0,markerEnd:{type:Ew.ArrowClosed,color:z.stroke},style:{stroke:z.stroke},data:{dependencyType:_,showLabels:m}})})}return N(e.root,0,0,"root"),{nodes:n,edges:o}}function TY({data:e}){const{task:t,isRoot:a,isHighlighted:n,isSearchMatch:o}=e,l=t.status||"open",d=t.title||t.id,u=t.priority??3,m=Mo[l]||Mo.open,h=KS[u]||KS[3];return r.jsxs("div",{className:`
273
+ px-4 py-3 rounded-lg border-2 shadow-sm min-w-[180px] max-w-[220px]
274
+ ${m.bg} ${m.border}
275
+ ${a?"ring-2 ring-blue-500 ring-offset-2":""}
276
+ ${o?"ring-2 ring-yellow-400 ring-offset-2 shadow-lg shadow-yellow-200":""}
277
+ ${n&&!o?"opacity-100":""}
278
+ ${!n&&!o?"opacity-40":""}
279
+ transition-all duration-200
280
+ `,"data-testid":"graph-node","data-node-id":t.id,children:[r.jsx(Ow,{type:"target",position:Aw.Top,className:"!bg-gray-400"}),r.jsxs("div",{className:"flex items-center justify-between gap-2 mb-1",children:[r.jsx("span",{className:`text-xs font-medium ${m.text} uppercase`,children:l.replace("_"," ")}),r.jsxs("span",{className:`text-xs font-medium ${h}`,children:["P",u]})]}),r.jsx("div",{className:"font-medium text-gray-900 text-sm leading-tight line-clamp-2",children:d}),r.jsx("div",{className:"mt-1 text-xs text-gray-600 font-mono truncate",children:t.id}),r.jsx(Ow,{type:"source",position:Aw.Bottom,className:"!bg-gray-400"})]})}function EY({id:e,sourceX:t,sourceY:a,targetX:n,targetY:o,sourcePosition:l,targetPosition:d,style:u={},markerEnd:m,data:h}){const[x,g,p]=G$({sourceX:t,sourceY:a,sourcePosition:l,targetX:n,targetY:o,targetPosition:d}),j=h?.dependencyType||"blocks",k=h?.showLabels??!0,N=S0(j),v=j.replace("-"," ");return r.jsxs("g",{children:[r.jsx(Y$,{path:x,markerEnd:m,style:{...u,stroke:N.stroke}}),r.jsx("path",{d:x,fill:"none",stroke:"transparent",strokeWidth:20,"data-testid":"edge-interaction-zone","data-edge-id":e,"data-edge-type":j}),k&&r.jsx("foreignObject",{x:g-40,y:p-10,width:80,height:20,style:{overflow:"visible",pointerEvents:"none"},"data-testid":"edge-label","data-edge-type":j,children:r.jsx("div",{style:{backgroundColor:N.labelBg,color:N.label,border:`1px solid ${N.stroke}`},className:"px-1.5 py-0.5 rounded text-[10px] font-medium text-center whitespace-nowrap",title:gY.find(T=>T.value===j)?.description||j,children:v})})]})}function OY({tasks:e,selectedId:t,onSelect:a}){return r.jsx("div",{className:"flex lg:flex-col gap-2 lg:space-y-0 overflow-x-auto lg:overflow-x-visible pb-2 lg:pb-0",children:e.map(n=>r.jsxs("button",{onClick:()=>a(n.id),className:`
281
+ text-left p-2 sm:p-3 rounded-lg border transition-colors shrink-0 lg:shrink lg:w-full
282
+ min-w-[140px] sm:min-w-[160px] lg:min-w-0
283
+ ${t===n.id?"border-blue-500 bg-blue-50 dark:bg-blue-900/30 dark:border-blue-400":"border-gray-200 dark:border-gray-600 hover:border-gray-300 dark:hover:border-gray-500 bg-white dark:bg-gray-800"}
284
+ `,children:[r.jsx("div",{className:"font-medium text-gray-900 dark:text-gray-100 text-xs sm:text-sm truncate",children:n.title}),r.jsx("div",{className:"text-[10px] sm:text-xs text-gray-600 dark:text-gray-400 font-mono mt-0.5 sm:mt-1 truncate",children:n.id})]},n.id))})}function AY({searchQuery:e,onSearchChange:t,statusFilter:a,onStatusFilterChange:n,matchCount:o,totalCount:l,onClearFilters:d,onFitView:u,onZoomIn:m,onZoomOut:h,showEdgeLabels:x,onToggleEdgeLabels:g,layoutOptions:p,onLayoutChange:j,onApplyLayout:k,isLayouting:N}){const[v,T]=y.useState(!1),[E,O]=y.useState(!1),[S,C]=y.useState(!1),A=e.trim().length>0||a.length>0,$=P=>{a.includes(P)?n(a.filter(M=>M!==P)):n([...a,P])};return r.jsxs("div",{className:"flex flex-wrap items-center gap-2 sm:gap-3 mb-2 sm:mb-3","data-testid":"graph-toolbar",children:[r.jsxs("div",{className:"relative flex-1 min-w-[150px] max-w-md",children:[r.jsx(Ve,{className:"absolute left-2 sm:left-3 top-1/2 -translate-y-1/2 w-3.5 h-3.5 sm:w-4 sm:h-4 text-gray-400"}),r.jsx("input",{type:"text",placeholder:"Search...",value:e,onChange:P=>t(P.target.value),className:"w-full pl-7 sm:pl-9 pr-7 sm:pr-8 py-1.5 sm:py-2 text-xs sm:text-sm border border-gray-300 dark:border-gray-600 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500 bg-white dark:bg-gray-800 dark:text-gray-100","data-testid":"graph-search-input"}),e&&r.jsx("button",{onClick:()=>t(""),className:"absolute right-1.5 sm:right-2 top-1/2 -translate-y-1/2 p-1 text-gray-400 hover:text-gray-600","data-testid":"clear-search-button",children:r.jsx(Ee,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"})})]}),r.jsxs("div",{className:"relative",children:[r.jsxs("button",{onClick:()=>T(!v),className:`
285
+ flex items-center gap-1 sm:gap-2 px-2 sm:px-3 py-1.5 sm:py-2 text-xs sm:text-sm border rounded-lg transition-colors
286
+ ${a.length>0?"bg-blue-50 dark:bg-blue-900/30 border-blue-300 dark:border-blue-500 text-blue-700 dark:text-blue-300":"bg-white dark:bg-gray-800 border-gray-300 dark:border-gray-600 text-gray-700 dark:text-gray-300 hover:bg-gray-50 dark:hover:bg-gray-700"}
287
+ `,"data-testid":"status-filter-button",children:[r.jsx(Ca,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"}),r.jsx("span",{className:"hidden sm:inline",children:"Status"}),a.length>0&&r.jsx("span",{className:"bg-blue-600 text-white text-[10px] sm:text-xs px-1 sm:px-1.5 py-0.5 rounded-full",children:a.length})]}),v&&r.jsx("div",{className:"absolute top-full left-0 mt-1 w-44 sm:w-48 bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-600 rounded-lg shadow-lg z-50","data-testid":"status-filter-dropdown",children:r.jsx("div",{className:"p-2 space-y-1",children:pY.map(({value:P,label:M})=>r.jsxs("button",{onClick:()=>$(P),className:`
288
+ w-full flex items-center gap-2 px-3 py-2 text-sm rounded-md transition-colors
289
+ ${a.includes(P)?"bg-blue-50 text-blue-700":"hover:bg-gray-50 text-gray-700"}
290
+ `,"data-testid":`status-filter-option-${P}`,children:[r.jsx("div",{className:`w-3 h-3 rounded border ${Mo[P].bg} ${Mo[P].border}`}),r.jsx("span",{children:M}),a.includes(P)&&r.jsx("span",{className:"ml-auto text-blue-600",children:"✓"})]},P))})})]}),A&&r.jsxs("span",{className:"text-sm text-gray-500","data-testid":"match-count",children:[o," of ",l," nodes match"]}),A&&r.jsxs("button",{onClick:d,className:"flex items-center gap-1 px-3 py-2 text-sm text-gray-600 hover:text-gray-800 hover:bg-gray-100 rounded-lg transition-colors","data-testid":"clear-filters-button",children:[r.jsx(Ee,{className:"w-4 h-4"}),"Clear filters"]}),r.jsxs("div",{className:"flex items-center gap-1 ml-auto",children:[r.jsxs("div",{className:"relative",children:[r.jsxs("div",{className:"flex items-center",children:[r.jsxs("button",{onClick:k,disabled:N,className:`
291
+ flex items-center gap-1.5 px-3 py-2 text-sm border border-r-0 rounded-l-lg transition-colors
292
+ ${N?"bg-gray-100 text-gray-400 border-gray-200 cursor-not-allowed":"bg-white text-gray-700 border-gray-300 hover:bg-gray-50"}
293
+ `,title:"Apply auto layout","data-testid":"auto-layout-button",children:[N?r.jsx(je,{className:"w-4 h-4 animate-spin"}):r.jsx(Xm,{className:"w-4 h-4"}),r.jsx("span",{className:"hidden sm:inline",children:"Auto Layout"})]}),r.jsx("button",{onClick:()=>O(!E),className:"px-2 py-2 border border-gray-300 rounded-r-lg bg-white text-gray-700 hover:bg-gray-50 transition-colors","data-testid":"layout-options-dropdown-toggle","aria-label":"Layout options","aria-expanded":E,children:r.jsx(it,{className:"w-4 h-4"})})]}),E&&r.jsx($Y,{layoutOptions:p,onLayoutChange:j,onApplyLayout:()=>{k(),O(!1)},isLayouting:N,showSpacingControls:S,setShowSpacingControls:C})]}),r.jsx("div",{className:"w-px h-4 bg-gray-300 mx-1"}),r.jsx("button",{onClick:g,className:`
294
+ p-2 rounded-lg transition-colors
295
+ ${x?"text-blue-600 bg-blue-50 hover:bg-blue-100":"text-gray-600 hover:text-gray-800 hover:bg-gray-100"}
296
+ `,title:x?"Hide edge labels":"Show edge labels","data-testid":"toggle-edge-labels-button",children:r.jsx(Ra,{className:"w-4 h-4"})}),r.jsx("div",{className:"w-px h-4 bg-gray-300 mx-1"}),r.jsx("button",{onClick:h,className:"p-2 text-gray-600 hover:text-gray-800 hover:bg-gray-100 rounded-lg transition-colors",title:"Zoom out","data-testid":"zoom-out-button",children:r.jsx(N2,{className:"w-4 h-4"})}),r.jsx("button",{onClick:m,className:"p-2 text-gray-600 hover:text-gray-800 hover:bg-gray-100 rounded-lg transition-colors",title:"Zoom in","data-testid":"zoom-in-button",children:r.jsx(S2,{className:"w-4 h-4"})}),r.jsx("button",{onClick:u,className:"p-2 text-gray-600 hover:text-gray-800 hover:bg-gray-100 rounded-lg transition-colors",title:"Fit to view","data-testid":"fit-view-button",children:r.jsx(C2,{className:"w-4 h-4"})})]})]})}function $Y({layoutOptions:e,onLayoutChange:t,onApplyLayout:a,isLayouting:n,showSpacingControls:o,setShowSpacingControls:l}){return r.jsx("div",{className:"absolute top-full right-0 mt-1 w-72 bg-white border border-gray-200 rounded-lg shadow-lg z-50","data-testid":"layout-options-dropdown",children:r.jsxs("div",{className:"p-3 space-y-4",children:[r.jsxs("div",{children:[r.jsx("label",{className:"block text-xs font-medium text-gray-500 uppercase tracking-wide mb-2",children:"Layout Algorithm"}),r.jsx("div",{className:"space-y-1",children:Object.entries(bY).map(([d,{label:u,description:m}])=>r.jsxs("button",{onClick:()=>t({algorithm:d}),className:`
297
+ w-full text-left px-3 py-2 rounded-md text-sm transition-colors
298
+ ${e.algorithm===d?"bg-blue-50 text-blue-700 ring-1 ring-blue-200":"hover:bg-gray-50 text-gray-700"}
299
+ `,"data-testid":`layout-algorithm-${d}`,children:[r.jsx("div",{className:"font-medium",children:u}),r.jsx("div",{className:"text-xs text-gray-500",children:m})]},d))})]}),e.algorithm==="hierarchical"&&r.jsxs("div",{children:[r.jsx("label",{className:"block text-xs font-medium text-gray-500 uppercase tracking-wide mb-2",children:"Direction"}),r.jsx("div",{className:"flex gap-1",children:Object.entries(yY).map(([d,{label:u,icon:m}])=>r.jsx("button",{onClick:()=>t({direction:d}),className:`
300
+ flex-1 flex items-center justify-center gap-1 px-2 py-2 rounded-md text-sm transition-colors
301
+ ${e.direction===d?"bg-blue-50 text-blue-700 ring-1 ring-blue-200":"hover:bg-gray-50 text-gray-700 border border-gray-200"}
302
+ `,title:u,"data-testid":`layout-direction-${d}`,children:r.jsx(m,{className:"w-4 h-4"})},d))})]}),r.jsxs("div",{children:[r.jsxs("button",{onClick:()=>l(!o),className:"flex items-center gap-2 text-xs font-medium text-gray-500 uppercase tracking-wide hover:text-gray-700","data-testid":"toggle-spacing-controls",children:[r.jsx(k2,{className:"w-3 h-3"}),"Spacing",r.jsx(it,{className:`w-3 h-3 transition-transform ${o?"rotate-180":""}`})]}),o&&r.jsxs("div",{className:"mt-2 space-y-3",children:[r.jsxs("div",{children:[r.jsxs("label",{className:"flex items-center justify-between text-xs text-gray-600 mb-1",children:[r.jsx("span",{children:"Node Spacing"}),r.jsxs("span",{className:"font-mono",children:[e.nodeSpacing,"px"]})]}),r.jsx("input",{type:"range",min:"40",max:"200",step:"10",value:e.nodeSpacing,onChange:d=>t({nodeSpacing:parseInt(d.target.value)}),className:"w-full h-2 bg-gray-200 rounded-lg appearance-none cursor-pointer accent-blue-600","data-testid":"node-spacing-slider"})]}),r.jsxs("div",{children:[r.jsxs("label",{className:"flex items-center justify-between text-xs text-gray-600 mb-1",children:[r.jsx("span",{children:"Rank Spacing"}),r.jsxs("span",{className:"font-mono",children:[e.rankSpacing,"px"]})]}),r.jsx("input",{type:"range",min:"80",max:"300",step:"10",value:e.rankSpacing,onChange:d=>t({rankSpacing:parseInt(d.target.value)}),className:"w-full h-2 bg-gray-200 rounded-lg appearance-none cursor-pointer accent-blue-600","data-testid":"rank-spacing-slider"})]})]})]}),r.jsx("button",{onClick:a,disabled:n,className:"w-full flex items-center justify-center gap-2 px-3 py-2 bg-blue-600 text-white text-sm font-medium rounded-lg hover:bg-blue-700 transition-colors disabled:opacity-50 disabled:cursor-not-allowed","data-testid":"apply-layout-button",children:n?r.jsxs(r.Fragment,{children:[r.jsx(je,{className:"w-4 h-4 animate-spin"}),"Applying..."]}):r.jsxs(r.Fragment,{children:[r.jsx(Xm,{className:"w-4 h-4"}),"Apply Layout"]})})]})})}const DY={task:TY},_Y={custom:EY};function MY({nodes:e,edges:t,onNodesChange:a,onEdgesChange:n,searchQuery:o,onSearchChange:l,statusFilter:d,onStatusFilterChange:u,onClearFilters:m,matchCount:h,totalCount:x,isLoadingTree:g,isError:p,hasData:j,showEdgeLabels:k,onToggleEdgeLabels:N,layoutOptions:v,onLayoutChange:T,onApplyLayout:E,isLayouting:O}){const{fitView:S,zoomIn:C,zoomOut:A}=Q$(),$=Et(),P=y.useCallback(()=>{S({padding:.3,duration:300})},[S]),M=y.useCallback(()=>{C({duration:200})},[C]),q=y.useCallback(()=>{A({duration:200})},[A]);return r.jsxs("div",{className:"flex-1 flex flex-col min-h-0",children:[r.jsx(AY,{searchQuery:o,onSearchChange:l,statusFilter:d,onStatusFilterChange:u,matchCount:h,totalCount:x,onClearFilters:m,onFitView:P,onZoomIn:M,onZoomOut:q,showEdgeLabels:k,onToggleEdgeLabels:N,layoutOptions:v,onLayoutChange:T,onApplyLayout:E,isLayouting:O}),r.jsxs("div",{className:"flex-1 bg-white dark:bg-gray-900 rounded-lg border border-gray-200 dark:border-gray-700 overflow-hidden","data-testid":"graph-canvas",children:[g&&r.jsx("div",{className:"flex items-center justify-center h-full text-gray-500 dark:text-gray-400 text-sm",children:"Loading dependency tree..."}),p&&r.jsx("div",{className:"flex items-center justify-center h-full text-red-600 text-sm",children:"Failed to load dependency tree"}),j&&e.length===0&&r.jsx("div",{className:"flex items-center justify-center h-full text-gray-500 dark:text-gray-400 text-sm",children:"No dependencies found for this task"}),j&&e.length>0&&r.jsxs(X$,{nodes:e,edges:t,onNodesChange:a,onEdgesChange:n,nodeTypes:DY,edgeTypes:_Y,fitView:!0,fitViewOptions:{padding:$?.1:.3},proOptions:{hideAttribution:!0},panOnScroll:!$,panOnDrag:!0,zoomOnScroll:!$,zoomOnPinch:!0,zoomOnDoubleClick:!0,minZoom:.1,maxZoom:2,children:[r.jsx(W$,{}),r.jsx(Z$,{showZoom:!$,showFitView:!$,position:"bottom-right"}),!$&&r.jsx(J$,{nodeColor:_=>{const z=_.data.task;return Mo[z.status]?.border.replace("border-","#").replace("-300","")||"#cbd5e1"},maskColor:"rgba(255, 255, 255, 0.8)","data-testid":"graph-minimap"})]}),!j&&!g&&!p&&r.jsx("div",{className:"flex items-center justify-center h-full text-gray-500 dark:text-gray-400 text-sm",children:"Select a task to view its dependencies"})]})]})}function LY(){return r.jsxs("div",{className:"mt-3 sm:mt-4 space-y-2 overflow-x-auto pb-1 -mb-1",children:[r.jsxs("div",{className:"flex items-center gap-3 sm:gap-6 text-xs sm:text-sm text-gray-600 dark:text-gray-400 whitespace-nowrap",children:[r.jsx("span",{className:"font-medium shrink-0",children:"Status:"}),Object.entries(Mo).map(([e,t])=>r.jsxs("div",{className:"flex items-center gap-1 shrink-0",children:[r.jsx("div",{className:`w-2.5 h-2.5 sm:w-3 sm:h-3 rounded border ${t.bg} ${t.border}`}),r.jsx("span",{className:"capitalize",children:e.replace("_"," ")})]},e))]}),r.jsxs("div",{className:"hidden sm:flex items-center gap-3 sm:gap-4 text-xs sm:text-sm text-gray-600 dark:text-gray-400 flex-wrap","data-testid":"edge-type-legend",children:[r.jsx("span",{className:"font-medium shrink-0",children:"Edge Types:"}),Object.entries(ST).map(([e,t])=>r.jsxs("div",{className:"flex items-center gap-1 sm:gap-1.5 shrink-0","data-testid":`edge-legend-${e}`,children:[r.jsx("div",{className:"w-3 sm:w-4 h-0.5",style:{backgroundColor:t.stroke}}),r.jsx("span",{className:"capitalize",children:e.replace("-"," ")})]},e))]})]})}function PY(){Cy("dependencies");const[e,t]=y.useState(null),[a,n,o]=eD([]),[l,d,u]=tD([]),[m,h]=y.useState(""),[x,g]=y.useState([]),[p,j]=y.useState(!0),[k,N]=y.useState(vY),[v,T]=y.useState(!1),E=y.useCallback(U=>{N(K=>{const R={...K,...U};return jY(R),R})},[]),O=y.useCallback(()=>{a.length!==0&&(T(!0),requestAnimationFrame(()=>{const U=NY(a,l,k);n(U),setTimeout(()=>{T(!1)},300)}))},[a,l,k,n]),S=uY(),C=mY(),A=fY(e),$=hY(e),P=y.useMemo(()=>SY($.data),[$.data]),M=y.useMemo(()=>{const U=S.data||[],K=C.data||[],R=new Map;return U.forEach(L=>R.set(L.id,L)),K.forEach(L=>R.set(L.id,L)),Array.from(R.values())},[S.data,C.data]);y.useEffect(()=>{!e&&C.data&&C.data.length>0?t(C.data[0].id):!e&&M.length>0&&t(M[0].id)},[e,C.data,M]),y.useEffect(()=>{if(A.data){const{nodes:U,edges:K}=CY(A.data,{searchQuery:m,statusFilter:x,showEdgeLabels:p},P);n(U),d(K)}else n([]),d([])},[A.data,P,m,x,p,n,d]);const q=y.useMemo(()=>{const U=m.trim().length>0,K=x.length>0;return!U&&!K?a.length:a.filter(R=>{const L=R.data;return L.isHighlighted||L.isSearchMatch}).length},[a,m,x]),_=y.useCallback(()=>{h(""),g([])},[]),z=S.isLoading||C.isLoading;return r.jsxs("div",{className:"h-full flex flex-col","data-testid":"dependency-graph-page",children:[r.jsx(wn,{title:"Dependencies",icon:Vm,iconColor:"text-blue-500",subtitle:"Visualize task dependencies",testId:"dependency-graph-header"}),z&&r.jsx("div",{className:"text-gray-500 dark:text-gray-400 text-sm",children:"Loading tasks..."}),!z&&M.length===0&&r.jsx("div",{className:"bg-white dark:bg-gray-800 rounded-lg shadow p-4 sm:p-6 text-center text-gray-500 dark:text-gray-400 text-sm",children:"No tasks available. Create some tasks to visualize their dependencies."}),!z&&M.length>0&&r.jsxs("div",{className:"flex-1 flex flex-col lg:flex-row gap-3 sm:gap-4 min-h-0",children:[r.jsxs("div",{className:"lg:w-56 xl:w-64 flex flex-col min-h-0 lg:shrink-0",children:[r.jsx("h3",{className:"font-medium text-gray-700 dark:text-gray-300 mb-2 text-sm sm:text-base",children:"Select a Task"}),r.jsx("div",{className:"flex-1 overflow-y-auto max-h-32 lg:max-h-none","data-testid":"task-selector",children:r.jsx(OY,{tasks:M,selectedId:e,onSelect:t})})]}),r.jsx(rD,{children:r.jsx(MY,{nodes:a,edges:l,onNodesChange:o,onEdgesChange:u,searchQuery:m,onSearchChange:h,statusFilter:x,onStatusFilterChange:g,onClearFilters:_,matchCount:q,totalCount:a.length,isLoadingTree:A.isLoading,isError:A.isError,hasData:!!A.data,showEdgeLabels:p,onToggleEdgeLabels:()=>j(U=>!U),layoutOptions:k,onLayoutChange:E,onApplyLayout:O,isLayouting:v})})]}),r.jsx(LY,{})]})}const RY=140,IY=100,BY=2e4,Gc=[{value:"created",label:"Created",icon:Fe},{value:"updated",label:"Updated",icon:ns},{value:"closed",label:"Closed",icon:Xr},{value:"reopened",label:"Reopened",icon:Wc},{value:"deleted",label:"Deleted",icon:jt},{value:"dependency_added",label:"Dep Added",icon:Zu},{value:"dependency_removed",label:"Dep Removed",icon:q0},{value:"tag_added",label:"Tag Added",icon:Ra},{value:"tag_removed",label:"Tag Removed",icon:T2},{value:"member_added",label:"Member+",icon:I0},{value:"member_removed",label:"Member-",icon:Hm},{value:"auto_blocked",label:"Blocked",icon:Nr},{value:"auto_unblocked",label:"Unblocked",icon:Gt}],C0={created:{bg:"bg-green-50",text:"text-green-700",border:"border-green-200",iconBg:"bg-green-100"},updated:{bg:"bg-blue-50",text:"text-blue-700",border:"border-blue-200",iconBg:"bg-blue-100"},closed:{bg:"bg-purple-50",text:"text-purple-700",border:"border-purple-200",iconBg:"bg-purple-100"},reopened:{bg:"bg-yellow-50",text:"text-yellow-700",border:"border-yellow-200",iconBg:"bg-yellow-100"},deleted:{bg:"bg-red-50",text:"text-red-700",border:"border-red-200",iconBg:"bg-red-100"},dependency_added:{bg:"bg-indigo-50",text:"text-indigo-700",border:"border-indigo-200",iconBg:"bg-indigo-100"},dependency_removed:{bg:"bg-pink-50",text:"text-pink-700",border:"border-pink-200",iconBg:"bg-pink-100"},tag_added:{bg:"bg-cyan-50",text:"text-cyan-700",border:"border-cyan-200",iconBg:"bg-cyan-100"},tag_removed:{bg:"bg-orange-50",text:"text-orange-700",border:"border-orange-200",iconBg:"bg-orange-100"},member_added:{bg:"bg-teal-50",text:"text-teal-700",border:"border-teal-200",iconBg:"bg-teal-100"},member_removed:{bg:"bg-rose-50",text:"text-rose-700",border:"border-rose-200",iconBg:"bg-rose-100"},auto_blocked:{bg:"bg-red-50",text:"text-red-700",border:"border-red-300",iconBg:"bg-red-100"},auto_unblocked:{bg:"bg-emerald-50",text:"text-emerald-700",border:"border-emerald-200",iconBg:"bg-emerald-100"}},zY={created:Fe,updated:ns,closed:Xr,reopened:Wc,deleted:jt,dependency_added:Zu,dependency_removed:q0,tag_added:Ra,tag_removed:T2,member_added:I0,member_removed:Hm,auto_blocked:Nr,auto_unblocked:Gt},qY={task:_r,plan:td,workflow:bn,channel:vt,message:vt,document:Je,library:pn,entity:tr,team:Zc,playbook:sc},FY={task:"bg-blue-100 text-blue-700",plan:"bg-purple-100 text-purple-700",workflow:"bg-indigo-100 text-indigo-700",channel:"bg-green-100 text-green-700",message:"bg-emerald-100 text-emerald-700",document:"bg-orange-100 text-orange-700",library:"bg-amber-100 text-amber-700",entity:"bg-cyan-100 text-cyan-700",team:"bg-pink-100 text-pink-700",playbook:"bg-violet-100 text-violet-700"},Bm={created:"Created",updated:"Updated",closed:"Closed",reopened:"Reopened",deleted:"Deleted",dependency_added:"Dependency Added",dependency_removed:"Dependency Removed",tag_added:"Tag Added",tag_removed:"Tag Removed",member_added:"Member Added",member_removed:"Member Removed",auto_blocked:"Auto Blocked",auto_unblocked:"Auto Unblocked"},UY={today:"Today",yesterday:"Yesterday",thisWeek:"This Week",earlier:"Earlier"},VS=["today","yesterday","thisWeek","earlier"],GS=[{value:"24h",label:"Last 24 Hours",hours:24},{value:"7d",label:"Last 7 Days",hours:168},{value:"30d",label:"Last 30 Days",hours:720},{value:"all",label:"All Time",hours:null}],YS=["bg-blue-700","bg-green-700","bg-purple-700","bg-orange-700","bg-pink-700","bg-cyan-700","bg-indigo-700","bg-teal-700"];function KY(e){const t=new Date(e),a=new Date,n=new Date(a.getFullYear(),a.getMonth(),a.getDate()),o=new Date(n);o.setDate(o.getDate()-1);const l=new Date(n);return l.setDate(l.getDate()-7),t>=n?"today":t>=o?"yesterday":t>=l?"thisWeek":"earlier"}function HY(e){const t=new Date(e),n=new Date().getTime()-t.getTime(),o=Math.floor(n/1e3),l=Math.floor(o/60),d=Math.floor(l/60),u=Math.floor(d/24);return o<10?"just now":o<60?`${o}s ago`:l<60?`${l}m ago`:d<24?`${d}h ago`:u<7?`${u}d ago`:t.toLocaleDateString()}function VY(e){return new Date(e).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}function GY(e){return new Date(e).toLocaleDateString([],{month:"short",day:"numeric"})}function YY(e){const{eventType:t,oldValue:a,newValue:n}=e;if(t==="updated"&&a&&n){const o=[],l=new Set([...Object.keys(a),...Object.keys(n)]);for(const d of l)if(JSON.stringify(a[d])!==JSON.stringify(n[d])){const u=n[d];typeof u=="string"&&u.length<30?o.push(`${d}: "${u}"`):o.push(d)}if(o.length>0)return o.slice(0,2).join(", ")+(o.length>2?`, +${o.length-2} more`:"")}if(t==="dependency_added"&&n){const o=n.blockerId??"",l=n.type??"dependency";if(o)return`${l} → ${o.slice(0,8)}...`}if(t==="dependency_removed"&&a){const o=a.blockerId??"",l=a.type??"dependency";if(o)return`${l} → ${o.slice(0,8)}...`}if(t==="tag_added"&&n){const o=n.tag??"";if(o)return`"${o}"`}if(t==="tag_removed"&&a){const o=a.tag??"";if(o)return`"${o}"`}if(t==="member_added"&&n){const o=n.addedMember??"";if(o)return o}if(t==="member_removed"&&n){const o=n.removedMember??"",l=n.selfRemoval;if(o)return l?`${o} left`:o}return null}function QY(e){const{eventType:t,actor:a}=e;switch(t){case"created":return`Created by ${a}`;case"updated":return`Updated by ${a}`;case"closed":return`Closed by ${a}`;case"reopened":return`Reopened by ${a}`;case"deleted":return`Deleted by ${a}`;case"dependency_added":return`Dependency added by ${a}`;case"dependency_removed":return`Dependency removed by ${a}`;case"tag_added":return`Tag added by ${a}`;case"tag_removed":return`Tag removed by ${a}`;case"member_added":return`Member added by ${a}`;case"member_removed":return`Member removed by ${a}`;case"auto_blocked":return"Automatically blocked";case"auto_unblocked":return"Automatically unblocked";default:return`${Bm[t]||t} by ${a}`}}function XY(e){const t=e.split(/[\s_-]+/);return t.length>=2?(t[0][0]+t[1][0]).toUpperCase():e.slice(0,2).toUpperCase()}function WY(e){let t=0;for(let a=0;a<e.length;a++)t=e.charCodeAt(a)+((t<<5)-t);return YS[Math.abs(t)%YS.length]}function T0(e){const t=e.slice(0,2).toLowerCase();return{ts:"task",tk:"task",pl:"plan",wf:"workflow",ch:"channel",ms:"message",dc:"document",lb:"library",en:"entity",tm:"team",pb:"playbook"}[t]||"element"}function Ug(e){return{created:"#22c55e",updated:"#3b82f6",closed:"#a855f7",reopened:"#eab308",deleted:"#ef4444",dependency_added:"#6366f1",dependency_removed:"#ec4899",tag_added:"#06b6d4",tag_removed:"#f97316",member_added:"#14b8a6",member_removed:"#f43f5e",auto_blocked:"#ef4444",auto_unblocked:"#10b981"}[e]||"#6b7280"}function ZY(e){const t=()=>{const o=new URLSearchParams;return e.eventTypes.length>0&&e.eventTypes.length<Gc.length&&o.set("eventType",e.eventTypes.join(",")),e.actors.length===1&&o.set("actor",e.actors[0]),o.toString()},a=be({queryKey:["events","count",e.eventTypes,e.actors],queryFn:async()=>{const o=t(),l=o?`/api/events/count?${o}`:"/api/events/count",d=await fetch(l);if(!d.ok)throw new Error("Failed to fetch event count");return d.json()},staleTime:3e4}),n=be({queryKey:["events","all",e.eventTypes,e.actors],queryFn:async()=>{const o=new URLSearchParams;e.eventTypes.length>0&&e.eventTypes.length<Gc.length&&o.set("eventType",e.eventTypes.join(",")),e.actors.length===1&&o.set("actor",e.actors[0]),o.set("limit",BY.toString());const l=`/api/events?${o.toString()}`,d=await fetch(l);if(!d.ok)throw new Error("Failed to fetch events");return d.json()},enabled:a.isSuccess,staleTime:3e4,refetchInterval:3e4});return{events:n.data??[],totalCount:a.data?.count??0,isLoading:a.isLoading||n.isLoading,isFetching:n.isFetching,isError:a.isError||n.isError,error:a.error||n.error}}function zm({event:e}){const t=C0[e.eventType]||C0.updated,a=zY[e.eventType]||ns,n=e.elementType||T0(e.elementId),o=qY[n]||_r,l=FY[n]||"bg-gray-100 text-gray-700",d=YY(e),u=WY(e.actor);return r.jsx("div",{className:"p-3 sm:p-4 bg-white dark:bg-gray-800 rounded-lg border border-gray-200 dark:border-gray-700 hover:border-gray-300 dark:hover:border-gray-600 hover:shadow-sm transition-all","data-testid":"event-card",children:r.jsxs("div",{className:"flex items-start gap-2 sm:gap-3",children:[r.jsx("div",{className:`p-1.5 sm:p-2 rounded-lg ${t.iconBg} shrink-0`,"data-testid":"event-icon",children:r.jsx(a,{className:`w-3.5 h-3.5 sm:w-4 sm:h-4 ${t.text}`})}),r.jsxs("div",{className:"flex-1 min-w-0",children:[r.jsxs("div",{className:"flex items-center gap-1.5 sm:gap-2 flex-wrap",children:[r.jsx("span",{className:`inline-flex items-center gap-0.5 sm:gap-1 px-1.5 sm:px-2 py-0.5 text-[10px] sm:text-xs font-medium rounded-full ${t.bg} ${t.text}`,"data-testid":"event-type-badge",children:Bm[e.eventType]}),r.jsxs("span",{className:`inline-flex items-center gap-0.5 sm:gap-1 px-1.5 sm:px-2 py-0.5 text-[10px] sm:text-xs font-medium rounded-full ${l}`,"data-testid":"element-type-badge",children:[r.jsx(o,{className:"w-2.5 h-2.5 sm:w-3 sm:h-3"}),r.jsx("span",{className:"hidden xs:inline",children:n})]}),r.jsx("span",{className:"text-[10px] sm:text-xs text-gray-500 dark:text-gray-400 ml-auto shrink-0","data-testid":"event-time",children:HY(e.createdAt)})]}),r.jsx("p",{className:"text-xs sm:text-sm text-gray-900 dark:text-gray-100 mt-1 sm:mt-1.5 font-mono truncate","data-testid":"element-id",children:e.elementId}),d&&r.jsx("p",{className:"text-[10px] sm:text-xs text-gray-500 dark:text-gray-400 mt-1 truncate","data-testid":"changes-preview",children:d}),r.jsxs("div",{className:"flex items-center gap-1.5 sm:gap-2 mt-1.5 sm:mt-2",children:[r.jsx("div",{className:`w-4 h-4 sm:w-5 sm:h-5 rounded-full ${u} flex items-center justify-center shrink-0`,"data-testid":"actor-avatar",children:r.jsx("span",{className:"text-[8px] sm:text-[10px] font-medium text-white",children:XY(e.actor)})}),r.jsx("span",{className:"text-[10px] sm:text-xs text-gray-600 dark:text-gray-300 truncate",children:e.actor}),r.jsx("span",{className:"text-[10px] sm:text-xs text-gray-500 dark:text-gray-400 ml-auto shrink-0",children:VY(e.createdAt)})]})]})]})})}function JY({label:e,icon:t,active:a,onClick:n,color:o}){return r.jsxs("button",{onClick:n,"data-testid":`filter-chip-${e.toLowerCase().replace(/\s+/g,"-")}`,className:`
303
+ inline-flex items-center gap-1 sm:gap-1.5 px-2 sm:px-3 py-1 sm:py-1.5 text-[10px] sm:text-xs font-medium rounded-full transition-all shrink-0
304
+ ${a?o?`${o.bg} ${o.text} ring-2 ring-offset-1 ring-current`:"bg-blue-100 text-blue-700 ring-2 ring-offset-1 ring-blue-400":"bg-gray-100 dark:bg-gray-700 text-gray-600 dark:text-gray-300 hover:bg-gray-200 dark:hover:bg-gray-600"}
305
+ `,children:[t&&r.jsx(t,{className:"w-3 h-3 sm:w-3.5 sm:h-3.5"}),r.jsx("span",{className:"hidden sm:inline",children:e}),r.jsx("span",{className:"sm:hidden",children:e.length>8?e.slice(0,6)+"...":e}),a&&r.jsx(Ee,{className:"w-2.5 h-2.5 sm:w-3 sm:h-3 ml-0.5"})]})}function QS({label:e,icon:t,options:a,selected:n,onChange:o,testId:l}){const[d,u]=y.useState(!1),m=y.useRef(null);y.useEffect(()=>{function x(g){m.current&&!m.current.contains(g.target)&&u(!1)}return document.addEventListener("mousedown",x),()=>document.removeEventListener("mousedown",x)},[]);const h=x=>{n.includes(x)?o(n.filter(g=>g!==x)):o([...n,x])};return r.jsxs("div",{className:"relative",ref:m,children:[r.jsxs("button",{onClick:()=>u(!d),"data-testid":l,className:`
306
+ inline-flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium rounded-full transition-all
307
+ ${n.length>0?"bg-blue-100 text-blue-700 ring-2 ring-offset-1 ring-blue-400":"bg-gray-100 text-gray-600 hover:bg-gray-200"}
308
+ `,children:[r.jsx(t,{className:"w-3.5 h-3.5"}),e,n.length>0&&r.jsx("span",{className:"ml-0.5 bg-blue-600 text-white text-[10px] px-1.5 rounded-full",children:n.length}),r.jsx(it,{className:`w-3.5 h-3.5 transition-transform ${d?"rotate-180":""}`})]}),d&&a.length>0&&r.jsx("div",{className:"absolute top-full left-0 mt-1 w-48 max-h-60 overflow-y-auto bg-white rounded-lg shadow-lg border border-gray-200 z-50","data-testid":`${l}-dropdown`,children:r.jsx("div",{className:"p-1",children:a.map(x=>r.jsxs("button",{onClick:()=>h(x),className:`
309
+ w-full flex items-center gap-2 px-3 py-2 text-sm rounded-md transition-colors
310
+ ${n.includes(x)?"bg-blue-50 text-blue-700":"hover:bg-gray-50 text-gray-700"}
311
+ `,children:[r.jsx("div",{className:`w-4 h-4 rounded border flex items-center justify-center
312
+ ${n.includes(x)?"bg-blue-600 border-blue-600":"border-gray-300"}
313
+ `,children:n.includes(x)&&r.jsx("svg",{className:"w-3 h-3 text-white",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:r.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:3,d:"M5 13l4 4L19 7"})})}),r.jsx("span",{className:"truncate",children:x})]},x))})})]})}function eQ({value:e,onChange:t}){const a=y.useRef(null);return r.jsxs("div",{className:"relative",children:[r.jsxs("button",{onClick:()=>a.current?.showPicker?.(),"data-testid":"jump-to-date-button",className:`
314
+ inline-flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium rounded-full transition-all
315
+ ${e?"bg-blue-100 text-blue-700 ring-2 ring-offset-1 ring-blue-400":"bg-gray-100 text-gray-600 hover:bg-gray-200"}
316
+ `,children:[r.jsx(zo,{className:"w-3.5 h-3.5"}),e?GY(e):"Jump to date",e&&r.jsx(Ee,{className:"w-3 h-3 ml-0.5",onClick:n=>{n.stopPropagation(),t(null)}})]}),r.jsx("input",{ref:a,type:"date",value:e||"",onChange:n=>t(n.target.value||null),className:"absolute opacity-0 w-0 h-0","data-testid":"jump-to-date-input","aria-label":"Jump to date"})]})}function tQ({period:e,events:t,isFirst:a}){if(t.length===0)return null;const n=t.length>50;return r.jsxs("div",{className:"mb-6","data-testid":`time-period-${e}`,children:[r.jsx("div",{className:`sticky top-0 z-10 bg-gray-50 py-2 px-3 -mx-3 ${a?"":"mt-4"}`,"data-testid":`time-period-header-${e}`,children:r.jsxs("h3",{className:"text-sm font-semibold text-gray-700 flex items-center gap-2",children:[UY[e],r.jsxs("span",{className:"text-xs font-normal text-gray-500 dark:text-gray-400",children:["(",t.length,")"]})]})}),n?r.jsx("div",{className:"mt-2",children:r.jsx(ls,{items:t,getItemKey:o=>o.id,estimateSize:RY,scrollRestoreId:`timeline-${e}`,height:400,testId:`virtualized-events-${e}`,gap:8,renderItem:o=>r.jsx(zm,{event:o})})}):r.jsx("div",{className:"space-y-2 mt-2",children:t.map(o=>r.jsx(zm,{event:o},o.id))})]})}function rQ({events:e,isLoading:t,brushSelection:a,onBrushSelectionChange:n}){const o=y.useRef(null),l=y.useRef(null),[d,u]=y.useState("7d"),[m,h]=y.useState(1),[x,g]=y.useState(0),[p,j]=y.useState(!1),[k,N]=y.useState(0),[v,T]=y.useState(null),[E,O]=y.useState(null),[S,C]=y.useState(null),[A,$]=y.useState(!1),[P,M]=y.useState(null),[q,_]=y.useState(null),[z,U]=y.useState(!1),K=y.useMemo(()=>{const re=GS.find(he=>he.value===d);if(!re||re.hours===null)return e;const Y=new Date;return Y.setHours(Y.getHours()-re.hours),e.filter(he=>new Date(he.createdAt)>=Y)},[e,d]),{minTime:R,timeSpan:L}=y.useMemo(()=>{if(K.length===0){const ke=new Date;return{minTime:new Date(ke.getTime()-10080*60*1e3).getTime(),maxTime:ke.getTime(),timeSpan:10080*60*1e3}}const re=K.map(ke=>new Date(ke.createdAt).getTime()),Y=Math.min(...re),he=Math.max(...re),ce=he-Y||1440*60*1e3,pe=ce*.05;return{minTime:Y-pe,maxTime:he+pe,timeSpan:ce+pe*2}},[K]),F=y.useMemo(()=>{const Y=(o.current?.clientWidth??800)*m,ce=8*2,pe=4,ke=100,_e=[...K].sort((Ge,rt)=>new Date(Ge.createdAt).getTime()-new Date(rt.createdAt).getTime()),Le=[],Ue=[];for(const Ge of _e){const Ot=(new Date(Ge.createdAt).getTime()-R)/L*Y;let Mt=0;for(const Yt of Ue)Math.abs(Yt.x-Ot)<ce+4&&(Mt=Math.max(Mt,Yt.stackIndex+1));const ht=Ue.filter(Yt=>Math.abs(Yt.x-Ot)<ce+4);Ue.length=0,Ue.push(...ht),Ue.push({x:Ot,stackIndex:Mt}),Le.push({event:Ge,x:Ot,y:ke-Mt*(ce+pe),stackIndex:Mt})}return Le},[K,R,L,m]),B=y.useMemo(()=>{const Y=(o.current?.clientWidth??800)*m,he=Math.max(4,Math.floor(Y/150)),ce=[];for(let pe=0;pe<=he;pe++){const ke=pe/he,_e=R+L*ke,Le=new Date(_e);let Ue;L<2880*60*1e3?Ue=Le.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}):L<720*60*60*1e3?Ue=Le.toLocaleDateString([],{month:"short",day:"numeric"}):Ue=Le.toLocaleDateString([],{month:"short",year:"2-digit"}),ce.push({x:ke*Y,label:Ue})}return ce},[R,L,m]),H=y.useCallback(re=>{const Y=o.current?.getBoundingClientRect();if(!Y)return R;const ce=Y.width*m,ke=(re-Y.left+x)/ce;return R+L*ke},[R,L,m,x]),G=y.useCallback(re=>{const he=(o.current?.clientWidth??800)*m;return(re-R)/L*he},[R,L,m]),W=y.useCallback(re=>{if(re.button===0)if(z){const Y=H(re.clientX);M(Y),_(Y),$(!0)}else j(!0),N(re.clientX+x)},[x,z,H]),te=y.useCallback(re=>{if(A){const Y=H(re.clientX);_(Y)}else if(p){const Y=k-re.clientX,he=o.current?.clientWidth??800,ce=Math.max(0,he*m-he);g(Math.max(0,Math.min(ce,Y)))}},[p,k,m,A,H]),le=y.useCallback(()=>{if(A&&P!==null&&q!==null){const re=Math.min(P,q),Y=Math.max(P,q);Y-re>1e3&&n({startTime:re,endTime:Y}),$(!1)}j(!1)},[A,P,q,n]),ge=y.useCallback(()=>{n(null),M(null),_(null)},[n]),se=y.useCallback(()=>{h(re=>Math.min(re*1.5,10))},[]),ye=y.useCallback(()=>{h(re=>Math.max(re/1.5,1)),m<=1.5&&g(0)},[m]),Ne=y.useCallback(()=>{h(1),g(0)},[]),we=y.useCallback(re=>{if(re.ctrlKey||re.metaKey){re.preventDefault();const Y=re.deltaY>0?.9:1.1;h(he=>Math.max(1,Math.min(10,he*Y)))}},[]),me=(re,Y)=>{O(re);const he=Y.target.getBoundingClientRect();C({x:he.left+he.width/2,y:he.top})},J=()=>{O(null),C(null)};return t?r.jsx("div",{className:"h-64 flex items-center justify-center bg-gray-50 rounded-lg",children:r.jsx("div",{className:"animate-pulse text-gray-500",children:"Loading timeline..."})}):r.jsxs("div",{className:"space-y-4","data-testid":"horizontal-timeline",children:[r.jsxs("div",{className:"flex items-center justify-between gap-4 flex-wrap",children:[r.jsxs("div",{className:"flex items-center gap-2","data-testid":"time-range-selector",children:[r.jsx(_t,{className:"w-4 h-4 text-gray-400"}),r.jsx("select",{value:d,onChange:re=>u(re.target.value),className:"text-sm border border-gray-300 rounded-lg px-3 py-1.5 bg-white focus:outline-none focus:ring-2 focus:ring-blue-500","data-testid":"time-range-select",children:GS.map(re=>r.jsx("option",{value:re.value,children:re.label},re.value))})]}),r.jsxs("div",{className:"flex items-center gap-1 bg-gray-100 rounded-lg p-0.5","data-testid":"mode-toggle",children:[r.jsxs("button",{onClick:()=>U(!1),className:`flex items-center gap-1.5 px-2.5 py-1 text-xs font-medium rounded-md transition-colors ${z?"text-gray-600 hover:text-gray-900":"bg-white text-gray-900 shadow-sm"}`,title:"Pan mode (drag to navigate)","data-testid":"pan-mode-button",children:[r.jsx(UO,{className:"w-3.5 h-3.5"}),"Pan"]}),r.jsxs("button",{onClick:()=>U(!0),className:`flex items-center gap-1.5 px-2.5 py-1 text-xs font-medium rounded-md transition-colors ${z?"bg-white text-gray-900 shadow-sm":"text-gray-600 hover:text-gray-900"}`,title:"Brush mode (drag to select time range)","data-testid":"brush-mode-button",children:[r.jsx(Tw,{className:"w-3.5 h-3.5"}),"Select"]})]}),r.jsxs("div",{className:"flex items-center gap-1","data-testid":"zoom-controls",children:[r.jsx("button",{onClick:ye,disabled:m<=1,className:"p-1.5 rounded-lg hover:bg-gray-100 disabled:opacity-50 disabled:cursor-not-allowed transition-colors",title:"Zoom out","data-testid":"zoom-out-button",children:r.jsx(N2,{className:"w-4 h-4 text-gray-600"})}),r.jsxs("span",{className:"text-xs text-gray-500 w-12 text-center","data-testid":"zoom-level",children:[Math.round(m*100),"%"]}),r.jsx("button",{onClick:se,disabled:m>=10,className:"p-1.5 rounded-lg hover:bg-gray-100 disabled:opacity-50 disabled:cursor-not-allowed transition-colors",title:"Zoom in","data-testid":"zoom-in-button",children:r.jsx(S2,{className:"w-4 h-4 text-gray-600"})}),r.jsx("div",{className:"w-px h-4 bg-gray-300 mx-1"}),r.jsx("button",{onClick:Ne,className:"p-1.5 rounded-lg hover:bg-gray-100 transition-colors",title:"Fit to view","data-testid":"fit-to-view-button",children:r.jsx(KO,{className:"w-4 h-4 text-gray-600"})})]}),r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsxs("span",{className:"text-sm text-gray-500",children:[K.length," event",K.length!==1?"s":""]}),a&&r.jsxs("button",{onClick:ge,className:"flex items-center gap-1 px-2 py-1 text-xs font-medium text-blue-600 bg-blue-50 rounded-lg hover:bg-blue-100 transition-colors","data-testid":"clear-selection-button",children:[r.jsx(Ee,{className:"w-3 h-3"}),"Clear selection"]})]})]}),a&&r.jsxs("div",{className:"flex items-center justify-between bg-blue-50 border border-blue-200 rounded-lg px-4 py-2","data-testid":"brush-selection-info",children:[r.jsxs("div",{className:"flex items-center gap-3",children:[r.jsx(Tw,{className:"w-4 h-4 text-blue-600"}),r.jsxs("span",{className:"text-sm text-blue-800",children:["Time range selected:"," ",r.jsxs("strong",{children:[new Date(a.startTime).toLocaleString()," — ",new Date(a.endTime).toLocaleString()]})]})]}),r.jsxs("span",{className:"text-sm text-blue-600",children:[K.filter(re=>{const Y=new Date(re.createdAt).getTime();return Y>=a.startTime&&Y<=a.endTime}).length," events in selection"]})]}),r.jsxs("div",{ref:o,className:"relative h-64 bg-gray-50 rounded-lg border border-gray-200 overflow-hidden select-none",onMouseDown:W,onMouseMove:te,onMouseUp:le,onMouseLeave:le,onWheel:we,style:{cursor:z?"crosshair":p?"grabbing":m>1?"grab":"default"},"data-testid":"timeline-canvas",children:[r.jsxs("div",{ref:l,className:"absolute inset-0",style:{transform:`translateX(-${x}px)`},children:[r.jsx("div",{className:"absolute left-0 right-0 h-px bg-gray-300",style:{top:"100px",width:`${100*m}%`}}),B.map((re,Y)=>r.jsx("div",{className:"absolute text-xs text-gray-500 whitespace-nowrap",style:{left:re.x,top:"110px",transform:"translateX(-50%)"},"data-testid":`axis-label-${Y}`,children:re.label},Y)),F.map(re=>r.jsx("button",{className:"absolute w-4 h-4 rounded-full border-2 border-white shadow-sm hover:scale-125 transition-transform focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2",style:{left:re.x-8,top:re.y-8,backgroundColor:Ug(re.event.eventType)},onClick:()=>T(re.event),onMouseEnter:Y=>me(re.event,Y),onMouseLeave:J,"data-testid":`event-dot-${re.event.id}`,"aria-label":`${Bm[re.event.eventType]} event on ${re.event.elementId}`},re.event.id)),A&&P!==null&&q!==null&&r.jsx("div",{className:"absolute bg-blue-500/20 border border-blue-500",style:{left:Math.min(G(P),G(q)),width:Math.abs(G(q)-G(P)),top:0,bottom:0},"data-testid":"brush-selection-active"}),a&&!A&&r.jsx("div",{className:"absolute bg-blue-500/10 border-2 border-blue-500 border-dashed",style:{left:G(a.startTime),width:G(a.endTime)-G(a.startTime),top:0,bottom:0},"data-testid":"brush-selection-committed"})]}),K.length===0&&r.jsx("div",{className:"absolute inset-0 flex items-center justify-center text-gray-500",children:"No events in the selected time range"}),m>1&&!p&&r.jsx("div",{className:"absolute bottom-2 right-2 text-xs text-gray-600 dark:text-gray-300 bg-white/90 dark:bg-gray-800/90 px-2 py-1 rounded",children:"Drag to pan • Ctrl+scroll to zoom"})]}),E&&S&&r.jsxs("div",{className:"fixed z-50 bg-white shadow-lg rounded-lg border border-gray-200 p-3 max-w-xs pointer-events-none",style:{left:S.x,top:S.y-10,transform:"translate(-50%, -100%)"},"data-testid":"event-tooltip",children:[r.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[r.jsx("span",{className:"w-2 h-2 rounded-full",style:{backgroundColor:Ug(E.eventType)}}),r.jsx("span",{className:"text-sm font-medium",children:Bm[E.eventType]})]}),r.jsx("p",{className:"text-xs text-gray-600 font-mono",children:E.elementId}),r.jsx("p",{className:"text-xs text-gray-500 mt-1",children:new Date(E.createdAt).toLocaleString()}),r.jsxs("p",{className:"text-xs text-gray-500",children:["by ",E.actor]})]}),v&&r.jsx("div",{className:"border border-blue-200 rounded-lg bg-blue-50 p-4","data-testid":"selected-event-card",children:r.jsxs("div",{className:"flex items-start justify-between",children:[r.jsx("div",{className:"flex-1",children:r.jsx(zm,{event:v})}),r.jsx("button",{onClick:()=>T(null),className:"p-1 hover:bg-blue-100 rounded-lg transition-colors ml-2","data-testid":"close-selected-event",children:r.jsx(Ee,{className:"w-4 h-4 text-gray-500"})})]})}),r.jsxs("div",{className:"flex flex-wrap gap-3 text-xs","data-testid":"timeline-legend",children:[Gc.slice(0,6).map(({value:re,label:Y})=>r.jsxs("div",{className:"flex items-center gap-1.5",children:[r.jsx("span",{className:"w-2.5 h-2.5 rounded-full",style:{backgroundColor:Ug(re)}}),r.jsx("span",{className:"text-gray-600",children:Y})]},re)),r.jsxs("span",{className:"text-gray-500 dark:text-gray-400",children:["+ ",Gc.length-6," more"]})]}),a&&r.jsxs("div",{className:"border border-gray-200 rounded-lg","data-testid":"selected-events-list",children:[r.jsx("div",{className:"px-4 py-3 border-b border-gray-200 bg-gray-50",children:r.jsx("h3",{className:"text-sm font-medium text-gray-900",children:"Events in selected range"})}),r.jsx("div",{className:"max-h-64 overflow-y-auto p-2 space-y-2",children:(()=>{const re=K.filter(Y=>{const he=new Date(Y.createdAt).getTime();return he>=a.startTime&&he<=a.endTime});return re.length===0?r.jsx("div",{className:"text-center py-8 text-gray-500 text-sm",children:"No events in the selected time range"}):re.map(Y=>r.jsx(zm,{event:Y},Y.id))})()})]})]})}function aQ({mode:e,onChange:t}){return r.jsxs("div",{className:"flex items-center gap-0.5 sm:gap-1 bg-gray-100 dark:bg-gray-700 rounded-lg p-0.5","data-testid":"view-mode-toggle",children:[r.jsxs("button",{onClick:()=>t("list"),className:`flex items-center gap-1 sm:gap-1.5 px-2 sm:px-3 py-1 sm:py-1.5 text-[10px] sm:text-xs font-medium rounded-md transition-colors ${e==="list"?"bg-white dark:bg-gray-600 text-gray-900 dark:text-gray-100 shadow-sm":"text-gray-600 dark:text-gray-300 hover:text-gray-900 dark:hover:text-gray-100"}`,"data-testid":"view-mode-list",children:[r.jsx(za,{className:"w-3 h-3 sm:w-3.5 sm:h-3.5"}),r.jsx("span",{className:"hidden xs:inline",children:"List"})]}),r.jsxs("button",{onClick:()=>t("horizontal"),className:`flex items-center gap-1 sm:gap-1.5 px-2 sm:px-3 py-1 sm:py-1.5 text-[10px] sm:text-xs font-medium rounded-md transition-colors ${e==="horizontal"?"bg-white dark:bg-gray-600 text-gray-900 dark:text-gray-100 shadow-sm":"text-gray-600 dark:text-gray-300 hover:text-gray-900 dark:hover:text-gray-100"}`,"data-testid":"view-mode-horizontal",children:[r.jsx(_t,{className:"w-3 h-3 sm:w-3.5 sm:h-3.5"}),r.jsx("span",{className:"hidden xs:inline",children:"Timeline"})]})]})}function nQ(){Cy("timeline");const[e,t]=y.useState(()=>{const R=localStorage.getItem("timeline-view-mode");return R==="list"||R==="horizontal"?R:"list"});y.useEffect(()=>{localStorage.setItem("timeline-view-mode",e)},[e]);const a=rr(),n=kn({from:"/dashboard/timeline"}),o=n.page??1,l=n.limit??IY,d=n.actor,u=n.startTime,m=n.endTime,[h,x]=y.useState(()=>u&&m?{startTime:u,endTime:m}:null),g=y.useCallback(R=>{x(R),a({to:"/dashboard/timeline",search:{page:o,limit:l,actor:d,startTime:R?.startTime,endTime:R?.endTime}})},[a,o,l,d]);y.useEffect(()=>{x(u&&m?{startTime:u,endTime:m}:null)},[u,m]);const[p,j]=y.useState(()=>({eventTypes:[],actors:d?[d]:[],elementTypes:[],search:"",jumpToDate:null}));y.useEffect(()=>{d&&j(R=>({...R,actors:[d]}))},[d]);const{events:k,totalCount:N,isLoading:v,isFetching:T,isError:E}=ZY(p),O=R=>{a({to:"/dashboard/timeline",search:{page:R,limit:l,actor:d,startTime:h?.startTime,endTime:h?.endTime}})},S=R=>{a({to:"/dashboard/timeline",search:{page:1,limit:R,actor:d,startTime:h?.startTime,endTime:h?.endTime}})},C=y.useMemo(()=>{if(!k||k.length===0)return[];const R=new Set(k.map(L=>L.actor));return Array.from(R).sort()},[k]),A=y.useMemo(()=>{if(!k||k.length===0)return[];const R=new Set(k.map(L=>L.elementType||T0(L.elementId)));return Array.from(R).sort()},[k]),$=y.useMemo(()=>!k||k.length===0?[]:k.filter(R=>{if(p.actors.length>1&&!p.actors.includes(R.actor))return!1;if(p.elementTypes.length>0){const L=R.elementType||T0(R.elementId);if(!p.elementTypes.includes(L))return!1}if(p.search){const L=p.search.toLowerCase(),F=R.elementId.toLowerCase().includes(L),B=R.actor.toLowerCase().includes(L),H=QY(R).toLowerCase().includes(L);if(!F&&!B&&!H)return!1}if(p.jumpToDate){const L=new Date(R.createdAt),F=new Date(p.jumpToDate);if(L.setHours(0,0,0,0),F.setHours(0,0,0,0),L>F)return!1}return!0}),[k,p]),P=$.length,M=Math.ceil(P/l),q=y.useMemo(()=>{const R=(o-1)*l,L=R+l;return $.slice(R,L)},[$,o,l]),_=y.useMemo(()=>{const R={today:[],yesterday:[],thisWeek:[],earlier:[]};for(const L of q){const F=KY(L.createdAt);R[F].push(L)}return R},[q]),z=R=>{j(L=>({...L,eventTypes:L.eventTypes.includes(R)?L.eventTypes.filter(F=>F!==R):[...L.eventTypes,R]}))},U=()=>{j({eventTypes:[],actors:[],elementTypes:[],search:"",jumpToDate:null})},K=p.eventTypes.length>0||p.actors.length>0||p.elementTypes.length>0||p.search!==""||p.jumpToDate!==null;return r.jsxs("div",{className:"h-full flex flex-col","data-testid":"timeline-page",children:[r.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-start justify-between gap-3 mb-3 sm:mb-4",children:[r.jsx(wn,{title:"Timeline",icon:vn,iconColor:"text-blue-500",subtitle:"Event history across all elements",testId:"timeline-header"}),r.jsxs("div",{className:"flex items-center gap-2 sm:gap-3 flex-shrink-0",children:[r.jsx(aQ,{mode:e,onChange:t}),K&&r.jsxs("button",{onClick:U,className:"px-2 sm:px-3 py-1 sm:py-1.5 text-xs sm:text-sm text-gray-600 dark:text-gray-300 bg-gray-100 dark:bg-gray-700 rounded-lg hover:bg-gray-200 dark:hover:bg-gray-600 transition-colors flex items-center gap-1 sm:gap-1.5","data-testid":"clear-filters-button",children:[r.jsx(Ee,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"}),r.jsx("span",{className:"hidden xs:inline",children:"Clear filters"}),r.jsx("span",{className:"xs:hidden",children:"Clear"})]})]})]}),r.jsxs("div",{className:"mb-3 sm:mb-4 space-y-2 sm:space-y-3",children:[r.jsxs("div",{className:"relative",children:[r.jsx(Ve,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-gray-400"}),r.jsx("input",{type:"text",placeholder:"Search events...",value:p.search,onChange:R=>j(L=>({...L,search:R.target.value})),className:"w-full pl-9 sm:pl-10 pr-4 py-1.5 sm:py-2 text-sm border border-gray-300 dark:border-gray-600 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent bg-white dark:bg-gray-800 dark:text-gray-100","data-testid":"search-input"})]}),r.jsxs("div",{className:"flex flex-wrap gap-1.5 sm:gap-2 items-center overflow-x-auto pb-1 -mb-1","data-testid":"filter-chips",children:[r.jsx("div",{className:"flex gap-1 sm:gap-1.5 flex-wrap","data-testid":"event-type-filters",children:Gc.map(({value:R,label:L,icon:F})=>{const B=C0[R];return r.jsx(JY,{label:L,icon:F,active:p.eventTypes.includes(R),onClick:()=>z(R),color:p.eventTypes.includes(R)?{bg:B.bg,text:B.text}:void 0},R)})}),r.jsx("div",{className:"hidden sm:block h-6 w-px bg-gray-300 dark:bg-gray-600 mx-1"}),r.jsx(QS,{label:"Actors",icon:Bt,options:C,selected:p.actors,onChange:R=>j(L=>({...L,actors:R})),testId:"actor-filter"}),r.jsx(QS,{label:"Types",icon:_r,options:A,selected:p.elementTypes,onChange:R=>j(L=>({...L,elementTypes:R})),testId:"element-type-filter"}),r.jsx(eQ,{value:p.jumpToDate,onChange:R=>j(L=>({...L,jumpToDate:R}))})]})]}),e==="horizontal"?r.jsx("div",{className:"flex-1 min-h-0 overflow-y-auto","data-testid":"horizontal-timeline-container",children:r.jsx(rQ,{events:$,isLoading:v,brushSelection:h,onBrushSelectionChange:g})}):r.jsxs(r.Fragment,{children:[r.jsx("div",{className:"mb-3 text-sm text-gray-500 flex items-center gap-2","data-testid":"event-count",children:v?r.jsxs("span",{className:"flex items-center gap-2",children:[r.jsx("span",{className:"animate-spin w-4 h-4 border-2 border-gray-300 border-t-blue-500 rounded-full"}),"Loading ",N>0?`${N.toLocaleString()} events...`:"events..."]}):r.jsxs(r.Fragment,{children:[r.jsx("span",{"data-testid":"total-count",children:K||p.search||p.elementTypes.length>0||p.jumpToDate?`${P.toLocaleString()} of ${N.toLocaleString()} events`:`${N.toLocaleString()} total events`}),(K||p.search||p.elementTypes.length>0||p.jumpToDate)&&r.jsx("span",{className:"px-2 py-0.5 bg-blue-100 text-blue-700 text-xs rounded-full",children:"(filtered)"}),T&&!v&&r.jsxs("span",{className:"px-2 py-0.5 bg-gray-100 text-gray-600 text-xs rounded-full flex items-center gap-1",children:[r.jsx("span",{className:"animate-spin w-3 h-3 border border-gray-400 border-t-gray-600 rounded-full"}),"refreshing"]})]})}),r.jsxs("div",{className:"flex-1 overflow-y-auto min-h-0 px-3 -mx-3","data-testid":"events-list",children:[v&&r.jsx("div",{className:"text-center py-8 text-gray-500",children:r.jsxs("div",{className:"flex flex-col items-center gap-2",children:[r.jsx("span",{className:"animate-spin w-8 h-8 border-2 border-gray-300 border-t-blue-500 rounded-full"}),r.jsxs("span",{children:["Loading ",N>0?`${N.toLocaleString()} events...`:"events..."]}),N>5e3&&r.jsx("span",{className:"text-xs text-gray-500 dark:text-gray-400",children:"This may take a moment for large datasets"})]})}),E&&r.jsx("div",{className:"text-center py-8 text-red-600",children:"Failed to load events"}),!v&&!E&&$.length===0&&r.jsx("div",{className:"text-center py-8 text-gray-500 bg-gray-50 rounded-lg",children:K||p.search||p.elementTypes.length>0||p.jumpToDate?"No events match the current filters":"No events recorded yet"}),!v&&!E&&q.length>0&&VS.map((R,L)=>r.jsx(tQ,{period:R,events:_[R],isFirst:L===0||VS.slice(0,L).every(F=>_[F].length===0)},R)),!v&&!E&&M>1&&r.jsx("div",{className:"mt-4 mb-2",children:r.jsx(Ef,{currentPage:o,totalPages:M,totalItems:P,pageSize:l,onPageChange:O,onPageSizeChange:S})})]})]})]})}function sQ({channel:e}){return e.channelType==="direct"?r.jsx(Bt,{className:"w-4 h-4 text-gray-400 flex-shrink-0"}):e.permissions.visibility==="private"?r.jsx(m2,{className:"w-4 h-4 text-gray-400 flex-shrink-0"}):r.jsx(es,{className:"w-4 h-4 text-gray-400 flex-shrink-0"})}function iQ({channel:e,isSelected:t,onClick:a,isMobile:n=!1}){return r.jsxs("button",{"data-testid":`channel-item-${e.id}`,onClick:a,className:`w-full flex items-center gap-2 sm:gap-2 rounded-md text-left transition-colors touch-target ${n?"px-4 py-3 gap-3":"px-3 py-2"} ${t?"bg-blue-50 dark:bg-blue-900/30 text-blue-700 dark:text-blue-300":"text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-800"}`,children:[r.jsx(sQ,{channel:e}),r.jsx("span",{className:`truncate font-medium ${n?"text-base":"text-sm"}`,children:e.name}),r.jsx("span",{className:`ml-auto text-gray-400 ${n?"text-sm":"text-xs"}`,children:e.members.length})]})}const oQ=36,lQ=48,cQ=28;function XS({channels:e,selectedChannelId:t,onSelectChannel:a,onNewChannel:n,totalChannels:o,searchQuery:l,onSearchChange:d,isMobile:u=!1}){const m=e.filter(k=>k.channelType==="group"),h=e.filter(k=>k.channelType==="direct"),x=[];m.length>0&&(x.push({type:"header",label:"Channels",key:"header-group"}),m.forEach(k=>{x.push({type:"channel",channel:k,key:k.id})})),h.length>0&&(x.push({type:"header",label:"Direct Messages",key:"header-direct"}),h.forEach(k=>{x.push({type:"channel",channel:k,key:k.id})}));const g=u?lQ:oQ,p=k=>x[k].type==="header"?cQ:g,j=k=>k.type==="header"?r.jsx("div",{"data-testid":k.key==="header-group"?"channel-group-label":"channel-direct-label",className:`px-3 py-1 font-semibold text-gray-500 dark:text-gray-400 uppercase tracking-wider ${u?"text-sm":"text-xs"}`,children:k.label}):r.jsx(iQ,{channel:k.channel,isSelected:t===k.channel.id,onClick:()=>a(k.channel.id),isMobile:u});return r.jsxs("div",{"data-testid":"channel-list",className:`flex flex-col h-full bg-white dark:bg-[var(--color-bg)] ${u?"w-full":"w-64 border-r border-[var(--color-border)]"}`,children:[r.jsxs("div",{className:`border-b border-[var(--color-border)] ${u?"p-4 pt-2":"p-4"}`,children:[r.jsxs("div",{className:"flex items-center justify-between mb-3",children:[r.jsxs("h2",{className:`font-semibold text-[var(--color-text)] ${u?"text-xl":"text-lg"} flex items-center gap-2`,children:[r.jsx(vt,{className:`${u?"w-4 h-4":"w-5 h-5"} text-blue-500`}),"Channels"]}),r.jsx("button",{onClick:n,className:`text-gray-400 hover:text-blue-600 hover:bg-blue-50 dark:hover:bg-blue-900/30 rounded transition-colors ${u?"p-2 touch-target":"p-1.5"}`,title:"New Channel","data-testid":"new-channel-button-sidebar",children:r.jsx(Fe,{className:u?"w-6 h-6":"w-5 h-5"})})]}),r.jsxs("div",{className:"relative",children:[r.jsx(Ve,{className:`absolute top-1/2 -translate-y-1/2 text-gray-400 ${u?"left-3 w-5 h-5":"left-2.5 w-4 h-4"}`}),r.jsx("input",{type:"text",value:l,onChange:k=>d(k.target.value),placeholder:u?"Search...":"Search channels...",className:`w-full border border-[var(--color-border)] rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500 bg-[var(--color-surface)] text-[var(--color-text)] ${u?"pl-10 pr-4 py-2.5 text-base":"pl-8 pr-3 py-1.5 text-sm"}`,"data-testid":"channels-search-input"})]})]}),r.jsx("div",{className:"flex-1 min-h-0",children:e.length===0?r.jsxs("div",{"data-testid":"channel-empty-state",className:`text-center text-gray-500 dark:text-gray-400 ${u?"py-12":"py-8"}`,children:[r.jsx(vt,{className:`mx-auto mb-3 text-gray-300 dark:text-gray-600 ${u?"w-16 h-16":"w-12 h-12"}`}),r.jsx("p",{className:u?"text-base":"text-sm",children:l?"No channels match your search":"No channels yet"}),!l&&r.jsx("button",{onClick:n,className:`mt-3 text-blue-600 hover:text-blue-700 hover:underline ${u?"text-base py-2 px-4":"text-sm"}`,"data-testid":"new-channel-button-empty",children:"Create one"})]}):r.jsx(ls,{items:x,getItemKey:k=>k.key,estimateSize:p,renderItem:j,overscan:10,className:"h-full p-2",scrollRestoreId:"channel-list",testId:"channel-list-virtualized"})}),!u&&r.jsxs("div",{"data-testid":"channel-count",className:"p-3 border-t border-gray-200 dark:border-[var(--color-border)] text-xs text-gray-500 dark:text-gray-400",children:[o," ",o===1?"channel":"channels"]})]})}function dQ({isMobile:e=!1}){return r.jsx("div",{"data-testid":"channel-placeholder",className:`flex-1 flex items-center justify-center bg-[var(--color-surface)] ${e?"hidden":""}`,children:r.jsxs("div",{className:"text-center px-4",children:[r.jsx(vt,{className:"w-16 h-16 mx-auto mb-4 text-gray-300 dark:text-gray-600"}),r.jsx("h3",{className:"text-lg font-medium text-[var(--color-text)] mb-1",children:"Select a channel"}),r.jsx("p",{className:"text-sm text-gray-500 dark:text-gray-400",children:"Choose a channel from the sidebar to view messages"})]})})}const uQ=100;function ET({items:e,getItemKey:t,estimateSize:a,renderItem:n,overscan:o=5,className:l="",innerClassName:d="",scrollRestoreId:u,testId:m,renderEmpty:h,gap:x=8,onScrollToTop:g,isLoadingMore:p=!1,hasMore:j=!1,loadMoreThreshold:k=100,latestMessageId:N,onNewMessageWhileScrolledUp:v}){const T=y.useRef(null),[E,O]=y.useState(!0),[S,C]=y.useState(!1),A=y.useRef(N),$=y.useRef(!0),P=y.useRef(null),M=typeof a=="function"?a:()=>a,q=tf({count:e.length,getScrollElement:()=>T.current,estimateSize:L=>M(L)+(L<e.length-1?x:0),overscan:o,getItemKey:L=>t(e[L],L),measureElement:L=>L.getBoundingClientRect().height}),_=y.useCallback(()=>{if(!T.current)return!1;const{scrollTop:L,scrollHeight:F,clientHeight:B}=T.current;return F-L-B<uQ},[]),z=y.useCallback(()=>T.current?T.current.scrollTop<k:!1,[k]),U=y.useCallback((L="smooth")=>{T.current&&(T.current.scrollTo({top:T.current.scrollHeight,behavior:L}),O(!0),C(!1))},[]),K=y.useCallback(()=>{P.current&&clearTimeout(P.current),P.current=setTimeout(()=>{const L=_(),F=z();O(L),C(!L&&e.length>0),F&&j&&!p&&g&&g()},50)},[_,z,j,p,g,e.length]);if(y.useEffect(()=>()=>{P.current&&clearTimeout(P.current)},[]),y.useEffect(()=>{$.current&&e.length>0&&requestAnimationFrame(()=>{U("instant"),$.current=!1})},[e.length,U]),y.useEffect(()=>{if($.current){A.current=N;return}N!==A.current&&(A.current=N,E?requestAnimationFrame(()=>{U("smooth")}):(C(!0),v&&v()))},[N,E,U,v]),e.length===0&&!p)return r.jsx("div",{ref:T,className:`h-full ${l}`,"data-testid":m,children:h?h():r.jsx("div",{className:"flex items-center justify-center h-full text-gray-500",children:"No messages"})});const R=q.getVirtualItems();return r.jsxs("div",{className:"relative h-full",children:[p&&r.jsx("div",{className:"absolute top-0 left-0 right-0 z-10 flex justify-center py-2 bg-gradient-to-b from-white to-transparent","data-testid":`${m}-loading-more`,children:r.jsxs("div",{className:"text-sm text-gray-500 flex items-center gap-2",children:[r.jsx("div",{className:"w-4 h-4 border-2 border-gray-300 border-t-gray-600 rounded-full animate-spin"}),"Loading older messages..."]})}),r.jsx("div",{ref:T,className:`overflow-auto h-full ${l}`,"data-testid":m,onScroll:K,tabIndex:0,role:"log","aria-live":"polite","aria-label":"Messages",children:r.jsx("div",{className:d,style:{height:q.getTotalSize(),width:"100%",position:"relative"},"data-testid":m?`${m}-inner`:void 0,children:R.map(L=>{const F=e[L.index];return r.jsx("div",{ref:q.measureElement,style:{position:"absolute",top:0,left:0,width:"100%",transform:`translateY(${L.start}px)`},"data-index":L.index,"data-testid":m?`${m}-item-${L.index}`:void 0,children:n(F,L.index,L)},L.key)})})}),S&&r.jsxs("button",{onClick:()=>U("smooth"),className:"absolute bottom-4 left-1/2 -translate-x-1/2 z-20 flex items-center gap-1.5 px-4 py-2 bg-blue-500 text-white text-sm font-medium rounded-full shadow-lg hover:bg-blue-600 transition-all hover:shadow-xl","data-testid":`${m}-jump-to-latest`,"aria-label":"Jump to latest messages",children:[r.jsx(it,{className:"w-4 h-4"}),"Jump to latest"]})]})}const mQ=/(?<![a-zA-Z0-9])@(?:\*\*|__)?(?:_|\*)?(`)?([a-zA-Z][a-zA-Z0-9_-]*)(`)?(?:\*|_)?(?:\*\*|__)?/g,fQ=/!\[([^\]]*)\]\(([^)]+)\)/g,hQ=/!\[\[(task|doc):([\w-]+)\]\]/g,xQ=/\\?\[([^\]\\]+)\\?\]\(([^)]+)\)/g;function gQ(e){return e[2]}function OT(e){return e.replace(/\\([[\](){}*_`~#>+\-.!|])/g,"$1")}function Kg(e){let t=OT(e);return t=t.replace(/\*\*([^*]+)\*\*/g,"<strong>$1</strong>"),t=t.replace(/__([^_]+)__/g,"<strong>$1</strong>"),t=t.replace(/(?<![a-zA-Z0-9])\*([^*]+)\*(?![a-zA-Z0-9])/g,"<em>$1</em>"),t=t.replace(/(?<![a-zA-Z0-9])_([^_]+)_(?![a-zA-Z0-9])/g,"<em>$1</em>"),t=t.replace(/`([^`]+)`/g,'<code class="bg-gray-100 dark:bg-gray-800 px-1 py-0.5 rounded text-sm font-mono">$1</code>'),t=t.replace(/~~([^~]+)~~/g,"<del>$1</del>"),t}function Hg(e,t){const a=[];let n=0;const o=new RegExp(mQ.source,"g");let l;for(;(l=o.exec(e))!==null;){if(l.index>n){const u=e.slice(n,l.index),m=Kg(u);a.push(r.jsx("span",{dangerouslySetInnerHTML:{__html:m}},`${t}-text-${n}`))}const d=gQ(l);a.push(r.jsxs(ha,{to:"/entities",search:{name:d,selected:void 0,page:1,limit:25},className:"text-blue-600 font-medium hover:underline","data-mention":d,children:["@",d]},`${t}-mention-${l.index}`)),n=l.index+l[0].length}if(n<e.length){const d=e.slice(n),u=Kg(d);a.push(r.jsx("span",{dangerouslySetInnerHTML:{__html:u}},`${t}-text-${n}`))}if(a.length===0){const d=Kg(e);return[r.jsx("span",{dangerouslySetInnerHTML:{__html:d}},`${t}-text-0`)]}return a}function Vg(e,t){const a=OT(e),n=[];let o=0;const l=new RegExp(xQ.source,"g");let d;for(;(d=l.exec(a))!==null;){if(d.index>o){const h=a.slice(o,d.index);n.push(...Hg(h,`${t}-before-${d.index}`))}const u=d[1],m=d[2];n.push(r.jsx("a",{href:m,target:"_blank",rel:"noopener noreferrer",className:"text-blue-600 hover:underline",children:u},`${t}-link-${d.index}`)),o=d.index+d[0].length}if(o<a.length){const u=a.slice(o);n.push(...Hg(u,`${t}-after-${o}`))}return n.length>0?n:Hg(a,t)}function Gg(e,t){const a=[];let n=0;const o=new RegExp(hQ.source,"g");let l;for(;(l=o.exec(e))!==null;){if(l.index>n){const m=e.slice(n,l.index);a.push(...Vg(m,`${t}-before-${l.index}`))}const d=l[1],u=l[2];a.push(r.jsx(mU,{type:d,id:u},`${t}-embed-${l.index}`)),n=l.index+l[0].length}if(n<e.length){const d=e.slice(n);a.push(...Vg(d,`${t}-after-${n}`))}return a.length>0?a:Vg(e,t)}function pQ(e){if(!e)return null;const t=[];let a=0;const n=new RegExp(fQ.source,"g");let o;for(;(o=n.exec(e))!==null;){if(o.index>a){const u=e.slice(a,o.index);t.push(r.jsx("span",{children:Gg(u,`text-${a}`)},`text-${a}`))}const l=o[1]||"Image",d=o[2];t.push(r.jsx("div",{className:"my-2 block clear-both",children:r.jsx("img",{src:d,alt:l,className:"max-w-full max-h-80 rounded-lg border border-gray-200 dark:border-gray-700 cursor-pointer hover:opacity-90 transition-opacity block",onClick:()=>window.open(d,"_blank"),onLoad:u=>{const m=u.currentTarget;m.style.display="block"},"data-testid":`message-image-${o.index}`})},`image-${o.index}`)),a=o.index+o[0].length}if(a<e.length){const l=e.slice(a);t.push(r.jsx("span",{children:Gg(l,`text-${a}`)},`text-${a}`))}return t.length===0?r.jsx("span",{children:Gg(e,"content")}):r.jsx(r.Fragment,{children:t})}function yQ(e,t){if(!t.trim())return r.jsx(r.Fragment,{children:e});const a=e.toLowerCase(),n=t.toLowerCase(),o=a.indexOf(n);if(o===-1)return r.jsx(r.Fragment,{children:e});const l=e.slice(0,o),d=e.slice(o,o+t.length),u=e.slice(o+t.length);return r.jsxs(r.Fragment,{children:[l,r.jsx("mark",{className:"bg-yellow-200 text-gray-900 rounded-sm px-0.5","data-testid":"search-highlight",children:d}),u]})}const bQ=300;function vQ(e){return be({queryKey:["channels",e],queryFn:async()=>{if(!e)throw new Error("No channel selected");const t=await fetch(`/api/channels/${e}`);if(!t.ok)throw new Error("Failed to fetch channel");return t.json()},enabled:!!e})}function jQ(e){return be({queryKey:["channels",e,"messages"],queryFn:async()=>{if(!e)throw new Error("No channel selected");const t=await fetch(`/api/channels/${e}/messages?limit=10000&hydrate.content=true`);if(!t.ok)throw new Error("Failed to fetch messages");return t.json()},enabled:!!e})}function AT(){const e=$e();return Re({mutationFn:async({channelId:t,sender:a,content:n,threadId:o,attachmentIds:l})=>{const d=await fetch("/api/messages",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({channelId:t,sender:a,content:n,threadId:o,attachmentIds:l})});if(!d.ok){const u=await d.json();throw new Error(u.error?.message||"Failed to send message")}return d.json()},onSuccess:(t,a)=>{e.invalidateQueries({queryKey:["channels",a.channelId,"messages"]}),a.threadId&&e.invalidateQueries({queryKey:["messages",a.threadId,"replies"]})}})}function wQ(e){return be({queryKey:["messages",e,"replies"],queryFn:async()=>{if(!e)throw new Error("No thread selected");const t=await fetch(`/api/messages/${e}/replies?limit=10000&hydrate.content=true`);return t.ok?t.json():[]},enabled:!!e})}function kQ(){const e=$e();return Re({mutationFn:async({channelId:t,actor:a})=>{const n=await fetch(`/api/channels/${t}?actor=${encodeURIComponent(a)}`,{method:"DELETE"});if(!n.ok){const o=await n.json();throw new Error(o.error?.message||"Failed to delete channel")}return n.json()},onSuccess:(t,{channelId:a})=>{W5(e,"channel",a),e.invalidateQueries({queryKey:["channels"]}),e.invalidateQueries({queryKey:["channels",a]}),e.invalidateQueries({queryKey:["channels",a,"messages"]}),e.invalidateQueries({queryKey:["channels",a,"members"]})}})}function NQ(e,t){const a=Nf(e,bQ);return be({queryKey:["messages","search",a,t],queryFn:async()=>{if(!a.trim())return{results:[],query:""};const n=new URLSearchParams({q:a,limit:"50"});t&&n.set("channelId",t);const o=await fetch(`/api/messages/search?${n}`);if(!o.ok)throw new Error("Failed to search messages");return o.json()},enabled:a.trim().length>0,staleTime:3e4})}function SQ(e){return be({queryKey:["documents","search",e],queryFn:async()=>{const t=await fetch("/api/documents");if(!t.ok)throw new Error("Failed to fetch documents");const a=await t.json(),n=a.items||a;if(e.trim()){const o=e.toLowerCase();return n.filter(l=>l.title?.toLowerCase().includes(o)||l.id.toLowerCase().includes(o))}return n}})}function $y(){return be({queryKey:["entities"],queryFn:async()=>{const e=await fetch("/api/entities");if(!e.ok)throw new Error("Failed to fetch entities");const t=await e.json();return t.items||t}})}function CQ({date:e,isSticky:t=!1}){return r.jsxs("div",{"data-testid":`date-separator-${e.replace(/\s/g,"-").toLowerCase()}`,className:`flex items-center gap-3 py-3 ${t?"sticky top-0 bg-white z-10 -mx-4 px-4 shadow-sm":""}`,children:[r.jsx("div",{className:"flex-1 h-px bg-gray-200"}),r.jsxs("div",{className:"flex items-center gap-2 px-3 py-1 bg-gray-100 rounded-full",children:[r.jsx(zo,{className:"w-3 h-3 text-gray-500"}),r.jsx("span",{"data-testid":"date-separator-label",className:"text-xs font-medium text-gray-600",children:e})]}),r.jsx("div",{className:"flex-1 h-px bg-gray-200"})]})}function E0({message:e,onReply:t,replyCount:a=0,isThreaded:n=!1,isHighlighted:o=!1,isMobile:l=!1}){const[d,u]=y.useState(!1),[m,h]=y.useState(!1),x=y.useRef(null),g=y.useRef(null),{onNavigate:p,renderProfileLink:j}=Cf(),{data:k}=$y(),v=k?.find(M=>M.id===e.sender)?.name,T=v?v.split(/\s+/).map(M=>M[0]).slice(0,2).join("").toUpperCase():e.sender.slice(-2).toUpperCase(),E=new Date(e.createdAt).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}),O=async()=>{const M=e._content||"";try{await navigator.clipboard.writeText(M),u(!0),br.success("Message copied"),setTimeout(()=>u(!1),2e3),h(!1)}catch{br.error("Failed to copy message")}},S=M=>{M.key==="c"&&!M.ctrlKey&&!M.metaKey&&!M.altKey&&(M.preventDefault(),O())},C=()=>{l&&h(!0)},A=()=>{l&&(g.current=setTimeout(C,500))},$=()=>{g.current&&(clearTimeout(g.current),g.current=null)},P=()=>{g.current&&(clearTimeout(g.current),g.current=null)};return r.jsxs(r.Fragment,{children:[r.jsxs("div",{ref:x,"data-testid":`message-${e.id}`,className:`flex rounded-lg group relative focus:bg-blue-50 dark:focus:bg-blue-900/20 focus:ring-2 focus:ring-blue-200 dark:focus:ring-blue-800 focus:outline-none transition-colors duration-300 ${l?"gap-2 p-2":"gap-3 p-3"} ${o?"bg-yellow-100 dark:bg-yellow-900/30 ring-2 ring-yellow-300 dark:ring-yellow-600":"hover:bg-gray-50 dark:hover:bg-gray-800/50"}`,tabIndex:0,onKeyDown:S,onTouchStart:A,onTouchEnd:$,onTouchMove:P,children:[r.jsx("div",{"data-testid":`message-avatar-${e.id}`,className:`rounded-full bg-blue-100 dark:bg-blue-900/50 flex items-center justify-center flex-shrink-0 ${l?"w-8 h-8":"w-10 h-10"}`,children:r.jsx("span",{className:`text-blue-600 dark:text-blue-400 font-medium ${l?"text-xs":"text-sm"}`,children:T})}),r.jsxs("div",{className:"flex-1 min-w-0",children:[r.jsxs("div",{className:`flex items-baseline ${l?"gap-1.5":"gap-2"}`,children:[r.jsx(mo,{entityRef:e.sender,className:`font-semibold ${l?"text-sm":""}`,showHoverCard:!0,navigable:!0,onNavigate:p,renderProfileLink:j,"data-testid":`message-sender-${e.id}`,children:v}),r.jsx("span",{"data-testid":`message-time-${e.id}`,className:`text-gray-400 dark:text-gray-500 ${l?"text-[10px]":"text-xs"}`,children:E})]}),r.jsx("div",{"data-testid":`message-content-${e.id}`,className:`text-[var(--color-text-secondary)] mt-1 break-words overflow-hidden whitespace-pre-wrap ${l?"text-sm":""}`,children:e._content?pQ(e._content):r.jsx("span",{className:"text-gray-400 dark:text-gray-500 italic",children:"Content not loaded"})}),e._attachments&&e._attachments.length>0&&r.jsx("div",{className:"mt-2 space-y-1","data-testid":`message-attachments-${e.id}`,children:e._attachments.map(M=>r.jsxs("a",{href:`/documents?selected=${M.id}`,className:`flex items-center gap-2 bg-[var(--color-surface)] hover:bg-[var(--color-surface-hover)] rounded-lg border border-[var(--color-border)] transition-colors ${l?"px-2 py-1.5":"px-3 py-2"}`,"data-testid":`message-attachment-${M.id}`,children:[r.jsx(Je,{className:`text-gray-400 flex-shrink-0 ${l?"w-3 h-3":"w-4 h-4"}`}),r.jsxs("div",{className:"flex-1 min-w-0",children:[r.jsx("div",{className:`font-medium text-blue-600 dark:text-blue-400 truncate ${l?"text-xs":"text-sm"}`,children:M.title||"Untitled Document"}),r.jsx("div",{className:l?"text-[10px]":"text-xs",children:r.jsx("span",{className:"px-1 py-0.5 bg-gray-200 dark:bg-gray-700 text-gray-600 dark:text-gray-300 rounded text-[10px]",children:M.contentType})})]})]},M.id))}),r.jsxs("div",{className:`flex items-center gap-2 ${l?"mt-1.5":"mt-2"}`,children:[e.threadId&&!n&&r.jsx("div",{"data-testid":`message-thread-indicator-${e.id}`,className:`text-blue-500 ${l?"text-[10px]":"text-xs"}`,children:"Reply in thread"}),!n&&a>0&&r.jsxs("button",{"data-testid":`message-replies-${e.id}`,onClick:()=>t?.(e),className:`flex items-center gap-1 text-blue-600 hover:text-blue-700 ${l?"text-[10px]":"text-xs"}`,children:[r.jsx(Hu,{className:l?"w-2.5 h-2.5":"w-3 h-3"}),r.jsxs("span",{children:[a," ",a===1?"reply":"replies"]})]}),!n&&!e.threadId&&t&&!l&&r.jsxs("button",{"data-testid":`message-reply-button-${e.id}`,onClick:()=>t(e),className:"flex items-center gap-1 text-xs text-gray-400 hover:text-blue-600 opacity-0 group-hover:opacity-100 transition-opacity",children:[r.jsx(Hu,{className:"w-3 h-3"}),r.jsx("span",{children:"Reply"})]})]})]}),!l&&r.jsxs("div",{"data-testid":`message-actions-${e.id}`,className:"absolute top-2 right-2 flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity bg-[var(--color-bg)] border border-[var(--color-border)] rounded-lg shadow-sm p-1",children:[r.jsx("button",{"data-testid":`message-copy-button-${e.id}`,onClick:O,className:"p-1.5 text-gray-400 hover:text-gray-600 dark:hover:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-700 rounded transition-colors",title:"Copy message (C when focused)",children:d?r.jsx(Dt,{className:"w-4 h-4 text-green-500"}):r.jsx(Qm,{className:"w-4 h-4"})}),!n&&t&&r.jsx("button",{"data-testid":`message-reply-action-${e.id}`,onClick:()=>t(e),className:"p-1.5 text-gray-400 hover:text-gray-600 dark:hover:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-700 rounded transition-colors",title:"Reply in thread",children:r.jsx(Hu,{className:"w-4 h-4"})})]}),l&&r.jsx("button",{"data-testid":`message-more-button-${e.id}`,onClick:()=>h(!0),className:"p-1.5 text-gray-400 hover:text-gray-600 dark:hover:text-gray-300 self-start mt-1 touch-target","aria-label":"More actions",children:r.jsx(Gm,{className:"w-4 h-4"})})]}),l&&m&&r.jsx(TQ,{message:e,isThreaded:n,onCopy:O,onReply:t,copied:d,onClose:()=>h(!1)})]})}function TQ({message:e,isThreaded:t,onCopy:a,onReply:n,copied:o,onClose:l}){return r.jsxs("div",{className:"fixed inset-0 z-50","data-testid":`message-action-sheet-${e.id}`,role:"dialog","aria-modal":"true",children:[r.jsx("div",{className:"absolute inset-0 bg-black/50 backdrop-blur-sm",onClick:l}),r.jsxs("div",{className:"absolute bottom-0 inset-x-0 bg-[var(--color-bg)] rounded-t-2xl shadow-2xl p-4 space-y-2 animate-in slide-in-from-bottom duration-200",children:[r.jsx("div",{className:"w-10 h-1 bg-gray-300 dark:bg-gray-600 rounded-full mx-auto mb-4"}),r.jsxs("button",{onClick:a,className:"w-full flex items-center gap-3 px-4 py-3 rounded-lg hover:bg-gray-100 dark:hover:bg-gray-800 transition-colors touch-target","data-testid":`message-copy-action-mobile-${e.id}`,children:[o?r.jsx(Dt,{className:"w-5 h-5 text-green-500"}):r.jsx(Qm,{className:"w-5 h-5 text-gray-500"}),r.jsx("span",{className:"text-[var(--color-text)]",children:"Copy message"})]}),!t&&n&&r.jsxs("button",{onClick:()=>{n(e),l()},className:"w-full flex items-center gap-3 px-4 py-3 rounded-lg hover:bg-gray-100 dark:hover:bg-gray-800 transition-colors touch-target","data-testid":`message-reply-action-mobile-${e.id}`,children:[r.jsx(Hu,{className:"w-5 h-5 text-gray-500"}),r.jsx("span",{className:"text-[var(--color-text)]",children:"Reply in thread"})]}),r.jsx("button",{onClick:l,className:"w-full flex items-center justify-center px-4 py-3 rounded-lg bg-gray-100 dark:bg-gray-800 hover:bg-gray-200 dark:hover:bg-gray-700 transition-colors mt-2 touch-target",children:r.jsx("span",{className:"text-[var(--color-text)] font-medium",children:"Cancel"})})]})]})}function EQ({isOpen:e,onClose:t,onSelect:a,selectedIds:n}){const[o,l]=y.useState(""),{data:d,isLoading:u}=SQ(o),m=y.useRef(null);if(y.useEffect(()=>{e&&m.current&&m.current.focus()},[e]),y.useEffect(()=>{if(e){const x=g=>{g.key==="Escape"&&t()};return document.addEventListener("keydown",x),()=>document.removeEventListener("keydown",x)}},[e,t]),!e)return null;const h=d?.filter(x=>!n.includes(x.id))||[];return r.jsxs("div",{className:"fixed inset-0 z-50 flex items-center justify-center","data-testid":"message-attachment-picker",children:[r.jsx("div",{className:"absolute inset-0 bg-black/50",onClick:t}),r.jsxs("div",{className:"relative bg-white rounded-lg shadow-xl max-w-lg w-full mx-4 max-h-[60vh] flex flex-col",children:[r.jsxs("div",{className:"p-4 border-b border-gray-200",children:[r.jsxs("div",{className:"flex items-center justify-between mb-3",children:[r.jsx("h3",{className:"text-lg font-semibold text-gray-900",children:"Attach Document"}),r.jsx("button",{onClick:t,className:"p-1 text-gray-400 hover:text-gray-600 rounded","data-testid":"attachment-picker-close",children:r.jsx(Ee,{className:"w-5 h-5"})})]}),r.jsxs("div",{className:"relative",children:[r.jsx(Ve,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-gray-400"}),r.jsx("input",{ref:m,type:"text",placeholder:"Search documents...",value:o,onChange:x=>l(x.target.value),className:"w-full pl-9 pr-4 py-2 text-sm border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500","data-testid":"attachment-search"})]})]}),r.jsx("div",{className:"flex-1 overflow-y-auto p-4",children:u?r.jsx("div",{className:"flex items-center justify-center py-8",children:r.jsx(je,{className:"w-6 h-6 animate-spin text-gray-400"})}):h.length===0?r.jsx("div",{className:"text-center py-8 text-gray-500","data-testid":"attachment-picker-empty",children:d?.length===0?"No documents available":o?"No documents match your search":"All documents are already attached"}):r.jsx("div",{className:"space-y-2",children:h.map(x=>r.jsxs("button",{onClick:()=>a(x),className:"w-full flex items-center gap-3 p-3 text-left bg-gray-50 hover:bg-blue-50 rounded-lg transition-colors","data-testid":`attachment-option-${x.id}`,children:[r.jsx(Je,{className:"w-5 h-5 text-gray-400 flex-shrink-0"}),r.jsxs("div",{className:"flex-1 min-w-0",children:[r.jsx("div",{className:"font-medium text-gray-900 truncate",children:x.title||"Untitled Document"}),r.jsxs("div",{className:"text-xs text-gray-500 flex items-center gap-2",children:[r.jsx("span",{className:"font-mono",children:x.id}),r.jsx("span",{className:"px-1.5 py-0.5 bg-gray-200 text-gray-600 rounded",children:x.contentType})]})]})]},x.id))})})]})]})}function OQ({channelId:e,channel:t,isMobile:a=!1}){const[n,o]=y.useState(""),[l,d]=y.useState([]),[u,m]=y.useState([]),[h,x]=y.useState(!1),[g,p]=y.useState(!1),[j,k]=y.useState(!1),[N,v]=y.useState(!1),[T,E]=y.useState(!1),[O,S]=y.useState(!1),C=AT(),A=y.useRef(null),$=y.useRef(null),[P,M]=y.useState(!1),{currentUser:q}=Ea(),{data:_=[]}=$y();y.useEffect(()=>{A.current?.focus()},[e]);const z=y.useMemo(()=>({onTaskEmbed:()=>v(!0),onDocumentEmbed:()=>E(!0),onEmojiInsert:()=>S(!0)}),[]),U=y.useCallback(me=>{o(J=>J+`#task:${me}`),v(!1),A.current?.focus()},[]),K=y.useCallback(me=>{o(J=>J+`#doc:${me}`),E(!1),A.current?.focus()},[]),R=y.useCallback(me=>{o(J=>J+me),S(!1),A.current?.focus()},[]),L=me=>{d(J=>[...J,me]),x(!1)},F=me=>{d(J=>J.filter(re=>re.id!==me))},B=me=>{const J=me.split("/").pop()||"image";m(re=>[...re,{url:me,filename:J}]),p(!1)},H=me=>{m(J=>J.filter(re=>re.url!==me))},G=async me=>{if(!["image/jpeg","image/png","image/gif","image/webp"].includes(me.type))return br.error(`Invalid file type: ${me.type}`),null;if(me.size>10*1024*1024)return br.error("File too large (max 10MB)"),null;k(!0);try{const re=new FormData;re.append("file",me);const Y=await fetch("/api/uploads",{method:"POST",body:re});if(!Y.ok)throw new Error("Upload failed");return(await Y.json()).url}catch{return br.error("Failed to upload image"),null}finally{k(!1)}},W=async me=>{const J=await G(me);J&&(B(J),br.success("Image attached"))},te=async me=>{me.preventDefault(),M(!1);const J=me.dataTransfer.files[0];if(J&&J.type.startsWith("image/")){const re=await G(J);re&&(B(re),br.success("Image attached"))}},le=me=>{me.preventDefault(),me.dataTransfer.types.includes("Files")&&M(!0)},ge=me=>{me.preventDefault(),M(!1)},se=async()=>{const me=n.trim().length>0,J=u.length>0,re=l.length>0;if(!me&&!J&&!re||!t||!q)return;const Y=q.id;try{let he=n.trim();if(u.length>0){const ce=u.map(pe=>`![${pe.filename||"image"}](${pe.url})`).join(`
317
+ `);he=he?`${he}
318
+
319
+ ${ce}`:ce}await C.mutateAsync({channelId:e,sender:Y,content:he,attachmentIds:l.map(ce=>ce.id)}),o(""),d([]),m([]),A.current?.clear()}catch(he){console.error("Failed to send message:",he)}},ye=me=>{me.preventDefault(),se()},Ne=l.length>0||u.length>0,we=n.trim()||Ne;return r.jsxs(r.Fragment,{children:[r.jsxs("form",{ref:$,"data-testid":"message-composer",onSubmit:ye,onDrop:te,onDragOver:le,onDragLeave:ge,className:`border-t border-[var(--color-border)] bg-[var(--color-bg)] relative ${a?"p-2":"p-4"} ${P?"ring-2 ring-blue-500 ring-inset bg-blue-50 dark:bg-blue-900/30":""}`,children:[P&&r.jsx("div",{className:"absolute inset-0 flex items-center justify-center bg-blue-50/90 dark:bg-blue-900/80 z-10 pointer-events-none",children:r.jsxs("div",{className:"flex flex-col items-center text-blue-600 dark:text-blue-400",children:[r.jsx(Pa,{className:a?"w-6 h-6 mb-1":"w-8 h-8 mb-2"}),r.jsx("span",{className:`font-medium ${a?"text-xs":"text-sm"}`,children:"Drop image here"})]})}),u.length>0&&r.jsx("div",{className:`flex flex-wrap mb-2 ${a?"gap-1.5":"gap-2"}`,"data-testid":"message-image-attachments-preview",children:u.map(me=>r.jsxs("div",{className:"relative group","data-testid":`image-attachment-preview-${me.filename}`,children:[r.jsx("img",{src:me.url,alt:me.filename||"Attached image",className:`object-cover rounded-lg border border-[var(--color-border)] ${a?"w-14 h-14":"w-20 h-20"}`}),r.jsx("button",{type:"button",onClick:()=>H(me.url),className:`absolute -top-1 -right-1 bg-red-500 text-white rounded-full transition-opacity ${a?"p-0.5 opacity-100":"p-1 opacity-0 group-hover:opacity-100"}`,"data-testid":`remove-image-attachment-${me.filename}`,children:r.jsx(Ee,{className:"w-3 h-3"})})]},me.url))}),l.length>0&&r.jsx("div",{className:`flex flex-wrap mb-2 ${a?"gap-1.5":"gap-2"}`,"data-testid":"message-attachments-preview",children:l.map(me=>r.jsxs("div",{className:`flex items-center gap-2 bg-gray-100 dark:bg-gray-800 rounded-md ${a?"px-1.5 py-0.5 text-xs":"px-2 py-1 text-sm"}`,"data-testid":`attachment-preview-${me.id}`,children:[r.jsx(Je,{className:`text-gray-400 ${a?"w-3 h-3":"w-4 h-4"}`}),r.jsx("span",{className:`truncate ${a?"max-w-[100px]":"max-w-[150px]"}`,children:me.title||"Untitled"}),r.jsx("button",{type:"button",onClick:()=>F(me.id),className:"p-0.5 text-gray-400 hover:text-red-500","data-testid":`remove-attachment-${me.id}`,children:r.jsx(Ee,{className:"w-3 h-3"})})]},me.id))}),r.jsxs("div",{className:`flex items-end ${a?"gap-1":"gap-2"}`,children:[r.jsx("button",{type:"button",onClick:()=>p(!0),disabled:j,className:`text-gray-400 hover:text-gray-600 dark:hover:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-700 rounded-lg transition-colors self-end disabled:opacity-50 ${a?"p-2 touch-target":"p-2 mb-1"}`,"data-testid":"message-image-attach-button",title:"Attach image",children:j?r.jsx(je,{className:"w-5 h-5 animate-spin"}):r.jsx(Pa,{className:"w-5 h-5"})}),r.jsx("button",{type:"button",onClick:()=>x(!0),className:`text-gray-400 hover:text-gray-600 dark:hover:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-700 rounded-lg transition-colors self-end ${a?"p-2 touch-target":"p-2 mb-1"}`,"data-testid":"message-attach-button",title:"Attach document",children:r.jsx(Qc,{className:"w-5 h-5"})}),r.jsx("div",{className:"flex-1 min-w-0",children:r.jsx(P5,{ref:A,content:n,onChange:o,onSubmit:se,onImagePaste:W,channelName:t?.name,disabled:C.isPending,maxHeight:a?120:180,minHeight:a?44:60,embedCallbacks:z,mentionEntities:_})}),r.jsxs("button",{type:"submit","data-testid":"message-send-button",disabled:!we||C.isPending,className:`bg-blue-500 text-white rounded-lg hover:bg-blue-600 disabled:opacity-50 disabled:cursor-not-allowed transition-colors flex items-center justify-center self-end ${a?"p-2.5 touch-target":"px-4 py-2 gap-2 mb-1"}`,children:[r.jsx(E2,{className:a?"w-5 h-5":"w-4 h-4"}),r.jsx("span",{className:"sr-only",children:"Send"})]})]}),C.isError&&r.jsx("p",{"data-testid":"message-send-error",className:`mt-2 text-red-500 ${a?"text-xs":"text-sm"}`,children:C.error?.message||"Failed to send message. Please try again."})]}),r.jsx(EQ,{isOpen:h,onClose:()=>x(!1),onSelect:L,selectedIds:l.map(me=>me.id)}),r.jsx(cU,{isOpen:g,onClose:()=>p(!1),onAttach:B}),r.jsx(mT,{isOpen:N,onClose:()=>v(!1),onSelect:U}),r.jsx(fT,{isOpen:T,onClose:()=>E(!1),onSelect:K}),r.jsx(Ay,{isOpen:O,onClose:()=>S(!1),onSelect:R})]})}function WS({searchQuery:e,channelId:t,onSelectResult:a,onClose:n}){const{data:o,isLoading:l}=NQ(e,t),d=o?.results||[],[u,m]=y.useState(0),h=y.useRef(null);if(y.useEffect(()=>{m(0)},[d.length]),y.useEffect(()=>{const g=p=>{p.key==="ArrowDown"?(p.preventDefault(),m(j=>Math.min(j+1,d.length-1))):p.key==="ArrowUp"?(p.preventDefault(),m(j=>Math.max(j-1,0))):p.key==="Enter"?(p.preventDefault(),d[u]&&(a(d[u].id),n())):p.key==="Escape"&&(p.preventDefault(),n())};return window.addEventListener("keydown",g),()=>window.removeEventListener("keydown",g)},[d,u,a,n]),y.useEffect(()=>{if(h.current){const g=h.current.children[u];g&&g.scrollIntoView({block:"nearest"})}},[u]),!e.trim())return null;const x=g=>{const p=new Date(g),j=new Date;return p.toDateString()===j.toDateString()?p.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}):p.toLocaleDateString([],{month:"short",day:"numeric"})};return r.jsx("div",{"data-testid":"message-search-dropdown",className:"absolute top-full left-0 right-0 mt-1 bg-white border border-gray-200 rounded-lg shadow-lg z-50 max-h-80 overflow-hidden",children:l?r.jsxs("div",{className:"flex items-center justify-center py-6","data-testid":"message-search-loading",children:[r.jsx(je,{className:"w-5 h-5 animate-spin text-gray-400"}),r.jsx("span",{className:"ml-2 text-sm text-gray-500",children:"Searching..."})]}):d.length===0?r.jsxs("div",{className:"py-6 text-center","data-testid":"message-search-empty",children:[r.jsx(Ve,{className:"w-8 h-8 mx-auto mb-2 text-gray-300"}),r.jsx("p",{className:"text-sm text-gray-500",children:"No messages found"}),r.jsx("p",{className:"text-xs text-gray-400 mt-1",children:"Try a different search term"})]}):r.jsxs(r.Fragment,{children:[r.jsxs("div",{className:"px-3 py-2 text-xs text-gray-500 border-b border-gray-100",children:[d.length," result",d.length!==1?"s":""," found"]}),r.jsx("div",{ref:h,className:"overflow-y-auto max-h-64","data-testid":"message-search-results",children:d.map((g,p)=>r.jsxs("button",{onClick:()=>{a(g.id),n()},className:`w-full text-left px-3 py-2 flex items-start gap-3 transition-colors ${p===u?"bg-blue-50":"hover:bg-gray-50"}`,"data-testid":`message-search-result-${g.id}`,children:[r.jsx("div",{className:"w-8 h-8 rounded-full bg-blue-100 flex items-center justify-center flex-shrink-0",children:r.jsx("span",{className:"text-blue-600 font-medium text-xs",children:g.sender.slice(-2).toUpperCase()})}),r.jsxs("div",{className:"flex-1 min-w-0",children:[r.jsxs("div",{className:"flex items-baseline gap-2",children:[r.jsx(mo,{entityRef:g.sender,className:"font-medium text-sm"}),r.jsx("span",{className:"text-xs text-gray-400",children:x(g.createdAt)})]}),r.jsx("p",{className:"text-sm text-gray-600 truncate mt-0.5",children:yQ(g.snippet,e)})]})]},g.id))}),r.jsxs("div",{className:"px-3 py-2 text-xs text-gray-400 border-t border-gray-100",children:[r.jsx("kbd",{className:"px-1 py-0.5 bg-gray-100 rounded text-[10px]",children:"↑"})," ",r.jsx("kbd",{className:"px-1 py-0.5 bg-gray-100 rounded text-[10px]",children:"↓"})," navigate"," ",r.jsx("kbd",{className:"px-1 py-0.5 bg-gray-100 rounded text-[10px]",children:"Enter"})," select"," ",r.jsx("kbd",{className:"px-1 py-0.5 bg-gray-100 rounded text-[10px]",children:"Esc"})," close"]})]})})}function $T({parentMessage:e,channel:t,onClose:a}){const{data:n=[],isLoading:o}=wQ(e.id);return r.jsxs("div",{"data-testid":"thread-panel",className:"w-80 border-l border-gray-200 flex flex-col bg-white",children:[r.jsxs("div",{"data-testid":"thread-header",className:"p-4 border-b border-gray-200 flex items-center justify-between",children:[r.jsx("h3",{className:"font-medium text-gray-900",children:"Thread"}),r.jsx("button",{"data-testid":"thread-close-button",onClick:a,className:"p-1 text-gray-400 hover:text-gray-600 rounded",children:r.jsx(Ee,{className:"w-5 h-5"})})]}),r.jsx("div",{"data-testid":"thread-parent-message",className:"border-b border-gray-100",children:r.jsx(E0,{message:e,isThreaded:!0})}),r.jsx("div",{"data-testid":"thread-replies",className:"flex-1 overflow-hidden p-2",children:o?r.jsx("div",{className:"text-center py-4 text-gray-500 text-sm",children:"Loading replies..."}):r.jsx(ET,{items:n,getItemKey:l=>l.id,estimateSize:l=>{const m=n[l]?._content||"";return m.includes("![")&&m.includes("](")?420:80},testId:"virtualized-thread-replies",gap:4,latestMessageId:n[n.length-1]?.id,renderEmpty:()=>r.jsx("div",{"data-testid":"thread-empty",className:"text-center py-4 text-gray-500 text-sm",children:"No replies yet"}),renderItem:l=>r.jsx(E0,{message:l,isThreaded:!0})})}),r.jsx(AQ,{parentMessage:e,channel:t})]})}function AQ({parentMessage:e,channel:t}){const[a,n]=y.useState(""),o=AT(),l=y.useRef(null),{currentUser:d}=Ea(),{data:u=[]}=$y(),m=async()=>{if(!a.trim()||!t||!d)return;const x=d.id;try{await o.mutateAsync({channelId:e.channelId,sender:x,content:a.trim(),threadId:e.id}),n(""),l.current?.clear()}catch(g){console.error("Failed to send reply:",g)}},h=x=>{x.preventDefault(),m()};return r.jsx("form",{"data-testid":"thread-composer",onSubmit:h,className:"p-3 border-t border-gray-200 bg-white",children:r.jsxs("div",{className:"flex gap-2 items-end",children:[r.jsx("div",{className:"flex-1",children:r.jsx(P5,{ref:l,content:a,onChange:n,onSubmit:m,placeholder:"Reply in thread...",disabled:o.isPending,maxHeight:120,minHeight:48,mentionEntities:u})}),r.jsx("button",{type:"submit","data-testid":"thread-send-button",disabled:!a.trim()||o.isPending,className:"px-3 py-2 bg-blue-500 text-white rounded-lg hover:bg-blue-600 disabled:opacity-50 disabled:cursor-not-allowed transition-colors self-end mb-1",children:r.jsx(E2,{className:"w-4 h-4"})})]})})}const $Q="el-0000",DQ=100;function ZS({channelId:e,isMobile:t=!1,onBack:a,onChannelDeleted:n}){const{data:o}=vQ(e),{data:l=[],isLoading:d,error:u}=jQ(e),{currentUser:m}=Ea(),h=kQ(),[x,g]=y.useState(null),[p,j]=y.useState(!1),[k,N]=y.useState(!1),[v,T]=y.useState(null),[E,O]=y.useState(!1),{searchQuery:S,setSearchQuery:C,isSearchOpen:A,setIsSearchOpen:$,searchInputRef:P,clearSearch:M}=I_({enableKeyboardShortcut:!0}),q=m?.id||"",_=o&&o.channelType!=="direct"&&(q===$Q||o.createdBy===q),z=async()=>{if(!(!o||!q))try{await h.mutateAsync({channelId:o.id,actor:q}),O(!1),n?.()}catch{}},U=y.useCallback(W=>{M(),N(!1);const te=document.querySelector(`[data-testid="message-${W}"]`);te&&(te.scrollIntoView({behavior:"smooth",block:"center"}),T(W),setTimeout(()=>{T(null)},2e3))},[M]);y.useEffect(()=>{if(!v)return;const W=()=>{T(null)},te=setTimeout(()=>{document.addEventListener("click",W)},100);return()=>{clearTimeout(te),document.removeEventListener("click",W)}},[v]);const K=l.reduce((W,te)=>(te.threadId&&(W[te.threadId]=(W[te.threadId]||0)+1),W),{}),R=l.filter(W=>!W.threadId),L=y.useMemo(()=>LK(R,W=>W.createdAt),[R]),F=W=>{g(W)},B=()=>r.jsxs("div",{className:"relative","data-testid":"message-search-container",children:[r.jsxs("div",{className:"relative",children:[r.jsx(Ve,{className:"absolute left-2.5 top-1/2 -translate-y-1/2 w-4 h-4 text-gray-400"}),r.jsx("input",{ref:P,type:"text",value:S,onChange:W=>{C(W.target.value),$(W.target.value.length>0)},onFocus:()=>S&&$(!0),onKeyDown:W=>{W.key==="Escape"&&(M(),P.current?.blur())},placeholder:"Search messages...",className:"w-48 pl-8 pr-8 py-1.5 text-sm border border-[var(--color-border)] rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500 bg-[var(--color-surface)] text-[var(--color-text)]","data-testid":"message-search-input"}),S&&r.jsx("button",{onClick:()=>{M(),P.current?.focus()},className:"absolute right-2 top-1/2 -translate-y-1/2 text-gray-400 hover:text-gray-600 dark:hover:text-gray-300","data-testid":"message-search-clear",children:r.jsx(Xr,{className:"w-4 h-4"})})]}),A&&r.jsx(WS,{searchQuery:S,channelId:e,onSelectResult:U,onClose:()=>$(!1)})]}),H=W=>_?r.jsx("button",{onClick:()=>O(!0),disabled:h.isPending,className:`rounded-md text-gray-500 dark:text-gray-400 hover:text-red-600 hover:bg-red-50 dark:hover:bg-red-900/20 transition-colors disabled:opacity-50 ${W?"p-2 touch-target":"p-1.5 ml-2"}`,"data-testid":"delete-channel-header-button","aria-label":"Delete channel",title:"Delete channel",children:h.isPending?r.jsx(je,{className:`animate-spin ${W?"w-5 h-5":"w-4 h-4"}`}):r.jsx(jt,{className:W?"w-5 h-5":"w-4 h-4"})}):null,G=({isMobile:W})=>o?W?r.jsxs("div",{className:"flex items-center gap-1",children:[r.jsx("button",{onClick:()=>N(!k),className:"p-2 rounded-md text-gray-500 dark:text-gray-400 hover:text-[var(--color-text)] hover:bg-[var(--color-surface-hover)] transition-colors touch-target","data-testid":"mobile-search-toggle","aria-label":"Search messages",children:r.jsx(Ve,{className:"w-5 h-5"})}),H(!0)]}):r.jsxs("div",{className:"flex items-center",children:[B(),H(!1)]}):null;return r.jsxs("div",{"data-testid":"channel-view",className:`flex-1 flex bg-[var(--color-bg)] ${t?"absolute inset-0 z-40":""}`,children:[r.jsxs("div",{className:"flex-1 flex flex-col",children:[o&&r.jsxs("div",{children:[r.jsx(R_,{channel:o,isMobile:t,onBack:a,onOpenMembers:()=>j(!0),renderIcon:W=>r.jsx(OC,{channel:W,className:t?"w-4 h-4":"w-5 h-5"}),renderActions:G}),t&&k&&r.jsxs("div",{className:"px-3 pb-3 relative","data-testid":"mobile-message-search-container",children:[r.jsxs("div",{className:"relative",children:[r.jsx(Ve,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-gray-400"}),r.jsx("input",{ref:P,type:"text",value:S,onChange:W=>{C(W.target.value),$(W.target.value.length>0)},onFocus:()=>S&&$(!0),onKeyDown:W=>{W.key==="Escape"&&(M(),N(!1))},placeholder:"Search...",className:"w-full pl-10 pr-10 py-2.5 text-base border border-[var(--color-border)] rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500 bg-[var(--color-surface)] text-[var(--color-text)]","data-testid":"mobile-message-search-input",autoFocus:!0}),S&&r.jsx("button",{onClick:()=>{M(),P.current?.focus()},className:"absolute right-3 top-1/2 -translate-y-1/2 text-gray-400 hover:text-gray-600 dark:hover:text-gray-300",children:r.jsx(Xr,{className:"w-5 h-5"})})]}),A&&r.jsx(WS,{searchQuery:S,channelId:e,onSelectResult:W=>{U(W),N(!1)},onClose:()=>{$(!1),N(!1)}})]})]}),r.jsx("div",{"data-testid":"messages-container",className:`flex-1 overflow-hidden ${t?"p-2":"p-4"}`,children:d?r.jsx("div",{"data-testid":"messages-loading",className:"flex items-center justify-center h-full text-gray-500 dark:text-gray-400",children:"Loading messages..."}):u?r.jsx("div",{"data-testid":"messages-error",className:"flex items-center justify-center h-full text-red-500",children:"Failed to load messages"}):r.jsx(ET,{items:L,getItemKey:W=>W.item.id,estimateSize:W=>{const te=t?80:DQ,le=L[W];let ge=te;le?.isFirstInDay&&(ge+=48);const se=le?.item?._content||"";return se.includes("![")&&se.includes("](")&&(ge+=340),ge},scrollRestoreId:`messages-${e}`,testId:"virtualized-messages-list",gap:t?4:8,latestMessageId:R[R.length-1]?.id,renderEmpty:()=>r.jsxs("div",{"data-testid":"messages-empty",className:`flex flex-col items-center justify-center h-full text-gray-500 dark:text-gray-400 ${t?"px-4":""}`,children:[r.jsx(vt,{className:`mb-3 text-gray-300 dark:text-gray-600 ${t?"w-10 h-10":"w-12 h-12"}`}),r.jsx("p",{className:t?"text-base":"text-sm",children:"No messages yet"}),r.jsx("p",{className:`text-gray-400 dark:text-gray-500 mt-1 ${t?"text-sm":"text-xs"}`,children:"Be the first to send a message!"})]}),renderItem:W=>r.jsxs("div",{children:[W.isFirstInDay&&r.jsx(CQ,{date:W.formattedDate}),r.jsx(E0,{message:W.item,onReply:F,replyCount:K[W.item.id]||0,isHighlighted:v===W.item.id,isMobile:t})]})})}),r.jsx(OQ,{channelId:e,channel:o,isMobile:t})]}),x&&!t&&r.jsx($T,{parentMessage:x,channel:o,onClose:()=>g(null)}),x&&t&&r.jsx(_Q,{selectedThread:x,channel:o,onClose:()=>g(null)}),p&&o&&q&&r.jsx(NU,{channel:o,currentOperator:q,onClose:()=>j(!1),onChannelDeleted:n}),E&&o&&r.jsxs("div",{className:"fixed inset-0 z-[60]",onClick:()=>O(!1),"data-testid":"delete-channel-confirm-modal",children:[r.jsx("div",{className:"absolute inset-0 bg-black/50 backdrop-blur-sm"}),r.jsx("div",{className:"absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 w-full max-w-sm mx-4",onClick:W=>W.stopPropagation(),children:r.jsxs("div",{className:"bg-[var(--color-surface)] rounded-xl shadow-2xl border border-[var(--color-border)]",children:[r.jsx("div",{className:"px-5 py-4 border-b border-[var(--color-border)]",children:r.jsxs("div",{className:"flex items-center gap-3",children:[r.jsx("div",{className:"p-2 rounded-full bg-red-100 dark:bg-red-900/30",children:r.jsx(Nr,{className:"w-5 h-5 text-red-600 dark:text-red-400"})}),r.jsxs("div",{children:[r.jsx("h2",{className:"text-lg font-semibold text-[var(--color-text)]",children:"Delete Channel"}),r.jsx("p",{className:"text-sm text-[var(--color-text-secondary)]",children:"This action cannot be undone."})]})]})}),r.jsxs("div",{className:"px-5 py-4",children:[r.jsx("p",{className:"text-sm text-[var(--color-text-secondary)] mb-3",children:"All messages and data in this channel will be permanently deleted."}),r.jsxs("div",{className:"p-3 bg-[var(--color-surface-elevated)] rounded-md border border-[var(--color-border)]",children:[r.jsxs("p",{className:"text-sm font-medium text-[var(--color-text)] truncate",title:o.name,children:["#",o.name]}),r.jsx("p",{className:"text-xs text-[var(--color-text-tertiary)] font-mono mt-1",children:o.id})]})]}),r.jsxs("div",{className:"px-5 py-4 border-t border-[var(--color-border)] bg-[var(--color-bg-secondary)] rounded-b-xl flex items-center justify-end gap-3",children:[r.jsx("button",{onClick:()=>O(!1),disabled:h.isPending,className:"px-4 py-2 text-sm font-medium text-[var(--color-text)] bg-[var(--color-surface-elevated)] hover:bg-[var(--color-surface-hover)] rounded-md transition-colors disabled:opacity-50","data-testid":"delete-channel-cancel",children:"Cancel"}),r.jsxs("button",{onClick:z,disabled:h.isPending,className:"px-4 py-2 text-sm font-medium text-white bg-red-600 hover:bg-red-700 rounded-md transition-colors disabled:opacity-50 flex items-center gap-2","data-testid":"delete-channel-confirm",children:[h.isPending&&r.jsx(je,{className:"w-4 h-4 animate-spin"}),"Delete"]})]}),h.isError&&r.jsx("div",{className:"px-5 py-3 border-t border-[var(--color-border)]",children:r.jsxs("p",{className:"text-sm text-red-600 flex items-center gap-2",children:[r.jsx(dt,{className:"w-4 h-4"}),h.error.message]})})]})})]})]})}function _Q({selectedThread:e,channel:t,onClose:a}){return r.jsxs("div",{className:"fixed inset-0 z-50 bg-[var(--color-bg)] flex flex-col","data-testid":"mobile-thread-panel",children:[r.jsxs("div",{className:"flex items-center gap-2 p-3 border-b border-[var(--color-border)]",children:[r.jsx("button",{onClick:a,className:"p-2 -ml-2 rounded-md text-[var(--color-text-secondary)] hover:text-[var(--color-text)] hover:bg-[var(--color-surface-hover)] transition-colors touch-target","data-testid":"mobile-thread-back","aria-label":"Close thread",children:r.jsx(Pr,{className:"w-5 h-5"})}),r.jsx("span",{className:"font-medium text-[var(--color-text)]",children:"Thread"})]}),r.jsx("div",{className:"flex-1 overflow-hidden",children:r.jsx($T,{parentMessage:e,channel:t,onClose:a})})]})}function MQ(){const e=rr(),t=kn({from:"/messages"}),a=Et(),{currentUser:n}=Ea(),[o,l]=y.useState(""),[d,u]=y.useState(t.channel??null),[m,h]=y.useState(!1),x=y.useRef(null);y.useEffect(()=>{x.current=n?.id??null},[n]);const g=y.useCallback($=>{if($.elementType==="message"&&$.eventType==="created"){const P=$.newValue?.channelId,M=$.newValue?.sender;if(M&&x.current&&M===x.current)return;P&&P===d&&br.info("New message received",{description:"The conversation has been updated",duration:3e3})}},[d]);Tf({channels:d?[`messages:${d}`,"messages"]:["messages"],onEvent:g});const{data:p,isLoading:j,isError:k}=WK(),N=y.useMemo(()=>sV({search:o}),[o]),v=y.useMemo(()=>p?[...N?p.filter(N):p].sort((P,M)=>new Date(M.updatedAt).getTime()-new Date(P.updatedAt).getTime()):[],[p,N]),T=p?.length??0;y.useEffect(()=>{t.channel&&t.channel!==d&&u(t.channel),!t.channel&&d&&u(null)},[t.channel]);const E=$=>{u($),e({to:"/messages",search:{channel:$,message:void 0}})},O=$=>{l($)},S=$=>{u($.id),e({to:"/messages",search:{channel:$.id,message:void 0}})},C=()=>{u(null),e({to:"/messages",search:{channel:void 0,message:void 0}})},A=y.useCallback(()=>{u(null),e({to:"/messages",search:{channel:void 0,message:void 0}}),br.success("Channel deleted",{description:"The channel has been permanently deleted",duration:3e3})},[e]);return k?r.jsx("div",{"data-testid":"messages-page-error",className:"flex items-center justify-center h-full",children:r.jsxs("div",{className:"text-center px-4",children:[r.jsx("p",{className:"text-red-500 mb-2",children:"Failed to load channels"}),r.jsx("p",{className:"text-sm text-gray-500 dark:text-gray-400",children:"Please try refreshing the page"})]})}):a?r.jsxs("div",{"data-testid":"messages-page",className:"flex flex-col h-full relative",children:[!d&&r.jsxs(r.Fragment,{children:[j?r.jsx("div",{"data-testid":"channels-loading",className:"flex-1 flex items-center justify-center",children:r.jsx("div",{className:"text-gray-500 dark:text-gray-400",children:"Loading channels..."})}):r.jsx(XS,{channels:v,selectedChannelId:d,onSelectChannel:E,onNewChannel:()=>h(!0),totalChannels:T,searchQuery:o,onSearchChange:O,isMobile:!0}),r.jsx("button",{onClick:()=>h(!0),className:"fixed bottom-20 right-4 w-14 h-14 bg-blue-500 hover:bg-blue-600 text-white rounded-full shadow-lg flex items-center justify-center transition-colors z-30 touch-target","data-testid":"mobile-create-channel-fab","aria-label":"Create new channel",children:r.jsx(Fe,{className:"w-6 h-6"})})]}),d&&r.jsx(ZS,{channelId:d,isMobile:!0,onBack:C,onChannelDeleted:A}),r.jsx(X1,{isOpen:m,onClose:()=>h(!1),onSuccess:S})]}):r.jsxs("div",{"data-testid":"messages-page",className:"flex h-full",children:[j?r.jsx("div",{"data-testid":"channels-loading",className:"w-64 border-r border-[var(--color-border)] flex items-center justify-center",children:r.jsx("div",{className:"text-gray-500 dark:text-gray-400",children:"Loading channels..."})}):r.jsx(XS,{channels:v,selectedChannelId:d,onSelectChannel:E,onNewChannel:()=>h(!0),totalChannels:T,searchQuery:o,onSearchChange:O,isMobile:!1}),d?r.jsx(ZS,{channelId:d,isMobile:!1,onChannelDeleted:A}):r.jsx(dQ,{isMobile:!1}),r.jsx(X1,{isOpen:m,onClose:()=>h(!1),onSuccess:S})]})}function LQ(){return be({queryKey:["libraries"],queryFn:async()=>{const e=await fetch("/api/libraries");if(!e.ok)throw new Error("Failed to fetch libraries");return e.json()}})}function PQ(){const e=$e();return Re({mutationFn:async t=>{const a=await fetch("/api/libraries",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!a.ok){const n=await a.json();throw new Error(n.error?.message||"Failed to create library")}return a.json()},onSuccess:()=>{e.invalidateQueries({queryKey:["libraries"]}),e.invalidateQueries({queryKey:["stats"]})}})}function JS({isOpen:e,onClose:t,onSuccess:a,defaultParentId:n}){const[o,l]=y.useState(""),[d,u]=y.useState([]),[m,h]=y.useState(n||""),x=y.useRef(null),g=PQ(),{data:p}=LQ(),{currentUser:j}=Ea();y.useEffect(()=>{e&&x.current&&x.current.focus()},[e]),y.useEffect(()=>{e||(l(""),u([]),h(n||""),g.reset())},[e,n]),y.useEffect(()=>{n&&h(n)},[n]);const k=async T=>{if(T.preventDefault(),!o.trim()||!j)return;const E={name:o.trim(),createdBy:j.id};d.length>0&&(E.tags=d),m&&(E.parentId=m);try{const O=await g.mutateAsync(E);a?.(O),t()}catch{}},N=T=>{T.key==="Escape"&&t()},v=r.jsxs("div",{className:"flex items-center justify-end gap-3",children:[r.jsx("button",{type:"button",onClick:t,className:"px-4 py-2 text-sm font-medium text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-700 rounded-md transition-colors touch-target","data-testid":"create-library-cancel-button",children:"Cancel"}),r.jsx("button",{type:"button",onClick:k,disabled:g.isPending||!o.trim()||!j,className:"inline-flex items-center gap-2 px-4 py-2 text-sm font-medium text-white bg-purple-600 hover:bg-purple-700 rounded-md transition-colors disabled:opacity-50 disabled:cursor-not-allowed touch-target","data-testid":"create-library-submit-button",children:g.isPending?r.jsxs(r.Fragment,{children:[r.jsx(je,{className:"w-4 h-4 animate-spin"}),"Creating..."]}):r.jsxs(r.Fragment,{children:[r.jsx(Fe,{className:"w-4 h-4"}),"Create"]})})]});return r.jsx(ad,{open:e,onClose:t,title:"Create Library",icon:r.jsx(O2,{className:"w-5 h-5 text-purple-500"}),size:"md","data-testid":"create-library-modal",footer:v,children:r.jsxs("form",{onSubmit:k,className:"p-4",onKeyDown:N,children:[r.jsxs("div",{className:"mb-4",children:[r.jsxs("label",{htmlFor:"library-name",className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:["Name ",r.jsx("span",{className:"text-red-500",children:"*"})]}),r.jsx("input",{ref:x,id:"library-name",type:"text",value:o,onChange:T=>l(T.target.value),placeholder:"Enter library name...",className:"w-full px-3 py-2.5 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-800 text-[var(--color-text)] focus:outline-none focus:ring-2 focus:ring-purple-500 focus:border-transparent touch-target","data-testid":"create-library-name-input",required:!0,maxLength:100}),r.jsx("p",{className:"mt-1 text-xs text-gray-500 dark:text-gray-400",children:"1-100 characters"})]}),r.jsxs("div",{className:"mb-4",children:[r.jsxs("label",{htmlFor:"library-parent",className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:["Parent Library ",r.jsx("span",{className:"text-gray-400 dark:text-gray-500 text-xs font-normal",children:"(optional)"})]}),r.jsxs("select",{id:"library-parent",value:m,onChange:T=>h(T.target.value),className:"w-full px-3 py-2.5 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-800 text-[var(--color-text)] focus:outline-none focus:ring-2 focus:ring-purple-500 focus:border-transparent touch-target","data-testid":"create-library-parent-select",children:[r.jsx("option",{value:"",children:"No parent (root library)"}),p?.map(T=>r.jsx("option",{value:T.id,children:T.name},T.id))]}),r.jsx("p",{className:"mt-1 text-xs text-gray-500 dark:text-gray-400",children:"Nest this library under another library"})]}),r.jsxs("div",{className:"mb-4",children:[r.jsxs("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:["Tags ",r.jsx("span",{className:"text-gray-400 dark:text-gray-500 text-xs font-normal",children:"(optional)"})]}),r.jsx(dc,{tags:d,onChange:u,placeholder:"Type and press comma to add tags","data-testid":"create-library-tags-input"})]}),g.isError&&r.jsx("div",{className:"mb-4 p-3 bg-red-50 dark:bg-red-900/20 border border-red-200 dark:border-red-800 rounded-lg text-sm text-red-700 dark:text-red-400","data-testid":"create-library-error",children:g.error?.message||"Failed to create library"})]})})}const RQ=300,DT=64,IQ=36,e2={text:{label:"Plain Text",icon:r.jsx(HO,{className:"w-4 h-4"}),color:"bg-gray-100 text-gray-700"},markdown:{label:"Markdown",icon:r.jsx(es,{className:"w-4 h-4"}),color:"bg-purple-100 text-purple-700"},json:{label:"JSON",icon:r.jsx(Us,{className:"w-4 h-4"}),color:"bg-blue-100 text-blue-700"}};function BQ(e){const t=Nf(e,RQ);return be({queryKey:["documents","search",t],queryFn:async()=>{if(!t.trim())return{results:[],query:""};const a=await fetch(`/api/documents/search?q=${encodeURIComponent(t)}&limit=10`);if(!a.ok)throw new Error("Failed to search documents");return a.json()},enabled:t.trim().length>0,staleTime:3e4})}function zQ(){return be({queryKey:["libraries"],queryFn:async()=>{const e=await fetch("/api/libraries?limit=10000&hydrate.description=true");if(!e.ok)throw new Error("Failed to fetch libraries");const t=await e.json();return Array.isArray(t)?t:t.items||[]}})}function _T(e){return be({queryKey:["libraries",e],queryFn:async()=>{if(!e)throw new Error("No library selected");const t=await fetch(`/api/libraries/${e}?hydrate.description=true`);if(!t.ok)throw new Error("Failed to fetch library");return t.json()},enabled:!!e})}function qQ(e){return be({queryKey:["libraries",e,"documents"],queryFn:async()=>{if(!e)throw new Error("No library selected");const t=await fetch(`/api/libraries/${e}/documents`);if(!t.ok)throw new Error("Failed to fetch documents");return t.json()},enabled:!!e})}function FQ(e){return be({queryKey:["documents",e],queryFn:async()=>{if(!e)throw new Error("No document selected");const t=await fetch(`/api/documents/${e}`);if(!t.ok){const a=await t.json();throw new Error(a.error?.message||"Failed to fetch document")}return t.json()},enabled:!!e})}function UQ(){const e=$e();return Re({mutationFn:async({id:t,updates:a})=>{const n=await fetch(`/api/documents/${t}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)});if(!n.ok){const o=await n.json();throw new Error(o.error?.message||"Failed to update document")}return n.json()},onSuccess:(t,a)=>{e.invalidateQueries({queryKey:["documents"]}),e.invalidateQueries({queryKey:["documents",a.id]}),e.invalidateQueries({queryKey:["libraries"]})}})}function KQ(e){return be({queryKey:["documents",e,"versions"],queryFn:async()=>{if(!e)throw new Error("No document selected");const t=await fetch(`/api/documents/${e}/versions`);if(!t.ok){const a=await t.json();throw new Error(a.error?.message||"Failed to fetch document versions")}return t.json()},enabled:!!e})}function HQ(e,t){return be({queryKey:["documents",e,"versions",t],queryFn:async()=>{if(!e||!t)throw new Error("No document or version selected");const a=await fetch(`/api/documents/${e}/versions/${t}`);if(!a.ok){const n=await a.json();throw new Error(n.error?.message||"Failed to fetch document version")}return a.json()},enabled:!!e&&!!t})}function VQ(){const e=$e();return Re({mutationFn:async({id:t,version:a})=>{const n=await fetch(`/api/documents/${t}/restore`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({version:a})});if(!n.ok){const o=await n.json();throw new Error(o.error?.message||"Failed to restore document version")}return n.json()},onSuccess:(t,a)=>{e.invalidateQueries({queryKey:["documents"]}),e.invalidateQueries({queryKey:["documents",a.id]}),e.invalidateQueries({queryKey:["documents",a.id,"versions"]}),e.invalidateQueries({queryKey:["libraries"]})}})}function GQ(){const e=$e();return Re({mutationFn:async({id:t,createdBy:a,title:n,libraryId:o})=>{const l=await fetch(`/api/documents/${t}/clone`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({createdBy:a,title:n,libraryId:o})});if(!l.ok){const d=await l.json();throw new Error(d.error?.message||"Failed to clone document")}return l.json()},onSuccess:()=>{e.invalidateQueries({queryKey:["documents"]}),e.invalidateQueries({queryKey:["libraries"]})}})}function YQ(e){return be({queryKey:["documents",e,"links"],queryFn:async()=>{if(!e)throw new Error("No document selected");const t=await fetch(`/api/documents/${e}/links`);if(!t.ok){const a=await t.json();throw new Error(a.error?.message||"Failed to fetch document links")}return t.json()},enabled:!!e})}function QQ(){const e=$e();return Re({mutationFn:async({blockedId:t,targetDocumentId:a})=>{const n=await fetch(`/api/documents/${t}/links`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({targetDocumentId:a})});if(!n.ok){const o=await n.json();throw new Error(o.error?.message||"Failed to link document")}return n.json()},onSuccess:(t,{blockedId:a,targetDocumentId:n})=>{e.invalidateQueries({queryKey:["documents",a,"links"]}),e.invalidateQueries({queryKey:["documents",n,"links"]})}})}function XQ(){const e=$e();return Re({mutationFn:async({blockedId:t,blockerId:a})=>{const n=await fetch(`/api/documents/${t}/links/${a}`,{method:"DELETE"});if(!n.ok){const o=await n.json();throw new Error(o.error?.message||"Failed to remove document link")}return n.json()},onSuccess:(t,{blockedId:a,blockerId:n})=>{e.invalidateQueries({queryKey:["documents",a,"links"]}),e.invalidateQueries({queryKey:["documents",n,"links"]})}})}function WQ(){return be({queryKey:["documents","all"],queryFn:async()=>{const e=await fetch("/api/documents?limit=10000");if(!e.ok){const a=await e.json();throw new Error(a.error?.message||"Failed to fetch documents")}const t=await e.json();return t.items||t}})}function ZQ(e){const t=new Map,a=[];for(const o of e)t.set(o.id,{...o,children:[]});for(const o of e){const l=t.get(o.id);o.parentId&&t.has(o.parentId)?t.get(o.parentId).children.push(l):a.push(l)}const n=o=>{o.sort((l,d)=>l.name.localeCompare(d.name));for(const l of o)n(l.children)};return n(a),a}function MT(e,t,a=0){const n=[];for(const o of e){const l=o.children.length>0,d=t.has(o.id);n.push({node:o,level:a,hasChildren:l,isExpanded:d}),l&&d&&n.push(...MT(o.children,t,a+1))}return n}function O0(e){return new Date(e).toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}function A0(e){const t=new Date(e),n=new Date().getTime()-t.getTime(),o=Math.floor(n/6e4),l=Math.floor(n/36e5),d=Math.floor(n/864e5);return o<1?"just now":o<60?`${o}m ago`:l<24?`${l}h ago`:d<7?`${d}d ago`:O0(e)}function t2(e,t){if(!t||!e)return e;const a=e.toLowerCase(),n=t.toLowerCase(),o=a.indexOf(n);return o===-1?e:r.jsxs(r.Fragment,{children:[e.slice(0,o),r.jsx("mark",{className:"bg-yellow-200 text-gray-900 rounded-sm px-0.5",children:e.slice(o,o+t.length)}),e.slice(o+t.length)]})}function JQ({onSelectDocument:e}){const[t,a]=y.useState(""),[n,o]=y.useState(!1),l=y.useRef(null),d=y.useRef(null),{data:u,isLoading:m,isFetching:h}=BQ(t);y.useEffect(()=>{function v(T){d.current&&!d.current.contains(T.target)&&o(!1)}return document.addEventListener("mousedown",v),()=>document.removeEventListener("mousedown",v)},[]),y.useEffect(()=>{function v(T){T.key==="/"&&!(T.target instanceof HTMLInputElement||T.target instanceof HTMLTextAreaElement)&&(T.preventDefault(),l.current?.focus()),T.key==="Escape"&&document.activeElement===l.current&&(T.preventDefault(),t?a(""):(o(!1),l.current?.blur()))}return document.addEventListener("keydown",v),()=>document.removeEventListener("keydown",v)},[t]);const x=v=>{a(v.target.value),o(!0)},g=()=>{a(""),o(!1),l.current?.focus()},p=v=>{e(v),a(""),o(!1)},j=n&&t.trim().length>0,k=u?.results||[],N=(m||h)&&t.trim().length>0;return r.jsxs("div",{ref:d,className:"relative","data-testid":"document-search-container",children:[r.jsxs("div",{className:"relative",children:[r.jsx(Ve,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-gray-400"}),r.jsx("input",{ref:l,type:"text",value:t,onChange:x,onFocus:()=>t.trim()&&o(!0),placeholder:"Search docs... (/)",className:"w-full pl-9 pr-8 py-2 text-sm border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500","data-testid":"document-search-input","aria-label":"Search documents"}),t&&r.jsx("button",{onClick:g,className:"absolute right-2 top-1/2 -translate-y-1/2 p-1 text-gray-400 hover:text-gray-600 rounded","data-testid":"document-search-clear","aria-label":"Clear search",children:r.jsx(Ee,{className:"w-3 h-3"})})]}),j&&r.jsxs("div",{className:"absolute z-50 mt-1 w-full bg-white border border-gray-200 rounded-lg shadow-lg max-h-80 overflow-y-auto","data-testid":"document-search-results",children:[N&&r.jsxs("div",{className:"flex items-center gap-2 px-3 py-2 text-sm text-gray-500",children:[r.jsx(je,{className:"w-4 h-4 animate-spin"}),"Searching..."]}),!N&&k.length===0&&r.jsxs("div",{className:"px-3 py-4 text-sm text-gray-500 text-center","data-testid":"document-search-no-results",children:['No documents found for "',t,'"']}),!N&&k.length>0&&r.jsx("div",{"data-testid":"document-search-results-list",children:k.map(v=>r.jsxs("button",{onClick:()=>p(v.id),className:"w-full text-left px-3 py-2 hover:bg-gray-50 border-b border-gray-100 last:border-b-0 focus:bg-gray-50 focus:outline-none","data-testid":`document-search-result-${v.id}`,children:[r.jsxs("div",{className:"font-medium text-gray-900 text-sm truncate",children:[r.jsx(Je,{className:"inline w-4 h-4 text-blue-400 mr-1.5"}),t2(v.title,t)]}),v.snippet&&r.jsx("div",{className:"text-xs text-gray-500 mt-0.5 line-clamp-2","data-testid":`document-search-snippet-${v.id}`,children:t2(v.snippet,t)}),r.jsxs("div",{className:"flex items-center gap-2 text-xs text-gray-400 mt-1",children:[r.jsx("span",{className:`px-1.5 py-0.5 rounded ${v.matchType==="content"?"bg-yellow-100 text-yellow-700":v.matchType==="both"?"bg-green-100 text-green-700":"bg-blue-100 text-blue-700"}`,children:v.matchType==="title"?"Title match":v.matchType==="content"?"Content match":"Title & content"}),r.jsx("span",{children:v.contentType})]})]},v.id))})]})]})}function LT({document:e,isSelected:t,onClick:a}){const n=new Date(e.updatedAt).toLocaleDateString(),o=e.title||`Document ${e.id}`,l=e.metadata?.icon;return r.jsxs("div",{"data-testid":`document-item-${e.id}`,onClick:()=>a?.(e.id),className:`flex items-center gap-3 p-3 rounded-lg border cursor-pointer transition-colors ${t?"border-blue-300 bg-blue-50":"border-gray-100 hover:border-gray-200 hover:bg-gray-50"}`,children:[l?r.jsx("span",{className:"w-8 h-8 flex items-center justify-center text-2xl flex-shrink-0","data-testid":`document-icon-${e.id}`,children:l}):r.jsx(Je,{className:`w-8 h-8 flex-shrink-0 ${t?"text-blue-500":"text-blue-400"}`}),r.jsxs("div",{className:"flex-1 min-w-0",children:[r.jsx("p",{"data-testid":`document-title-${e.id}`,className:`font-medium truncate ${t?"text-blue-900":"text-gray-900"}`,children:o}),r.jsxs("div",{className:"flex items-center gap-2 text-xs text-gray-500 mt-0.5",children:[r.jsx("span",{"data-testid":`document-type-${e.id}`,children:e.contentType}),r.jsx("span",{children:"·"}),r.jsx("span",{"data-testid":`document-date-${e.id}`,children:n})]})]})]})}function eX({content:e,contentType:t}){if(!e)return r.jsx("div",{"data-testid":"document-content-empty",className:"text-gray-400 italic",children:"No content"});switch(t){case"json":try{const a=JSON.stringify(JSON.parse(e),null,2);return r.jsx("pre",{"data-testid":"document-content-json",className:"whitespace-pre-wrap font-mono text-sm bg-gray-900 text-gray-100 rounded-lg p-4 overflow-x-auto",children:r.jsx("code",{children:a})})}catch{return r.jsx("pre",{"data-testid":"document-content-json",className:"whitespace-pre-wrap font-mono text-sm bg-gray-900 text-gray-100 rounded-lg p-4 overflow-x-auto",children:r.jsx("code",{children:e})})}case"markdown":case"text":default:{if(cT(e))return r.jsx("div",{"data-testid":"document-content-html",className:`prose prose-sm max-w-none text-gray-700
320
+ prose-headings:mt-4 prose-headings:mb-2 prose-headings:font-semibold
321
+ prose-h1:text-2xl prose-h2:text-xl prose-h3:text-lg
322
+ prose-p:my-2 prose-ul:my-2 prose-ol:my-2 prose-li:my-0.5
323
+ prose-blockquote:border-l-4 prose-blockquote:border-gray-300 prose-blockquote:pl-4 prose-blockquote:italic
324
+ prose-pre:bg-gray-900 prose-pre:text-gray-100 prose-pre:rounded-lg prose-pre:p-4
325
+ prose-code:bg-gray-100 prose-code:px-1 prose-code:py-0.5 prose-code:rounded prose-code:text-sm
326
+ [&_mark]:bg-yellow-200 [&_mark]:px-0.5`,dangerouslySetInnerHTML:{__html:e}});const a=Oy(e);return r.jsx("div",{"data-testid":"document-content-markdown",className:`prose prose-sm max-w-none text-gray-700
327
+ prose-headings:mt-4 prose-headings:mb-2 prose-headings:font-semibold
328
+ prose-h1:text-2xl prose-h2:text-xl prose-h3:text-lg
329
+ prose-p:my-2 prose-ul:my-2 prose-ol:my-2 prose-li:my-0.5
330
+ prose-blockquote:border-l-4 prose-blockquote:border-gray-300 prose-blockquote:pl-4 prose-blockquote:italic
331
+ prose-pre:bg-gray-900 prose-pre:text-gray-100 prose-pre:rounded-lg prose-pre:p-4
332
+ prose-code:bg-gray-100 prose-code:px-1 prose-code:py-0.5 prose-code:rounded prose-code:text-sm
333
+ [&_mark]:bg-yellow-200 [&_mark]:px-0.5`,dangerouslySetInnerHTML:{__html:a}})}}}function tX({documentId:e,currentVersion:t,onPreviewVersion:a,previewingVersion:n,onClose:o}){const{data:l=[],isLoading:d,error:u}=KQ(e),m=VQ(),h=async x=>{if(confirm(`Restore to version ${x}? This will create a new version with the restored content.`))try{await m.mutateAsync({id:e,version:x}),a(null)}catch{}};return r.jsxs("div",{"data-testid":"version-history-sidebar",className:"w-72 border-l border-gray-200 bg-gray-50 flex flex-col h-full",children:[r.jsxs("div",{className:"flex items-center justify-between p-3 border-b border-gray-200 bg-white",children:[r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsx(vn,{className:"w-4 h-4 text-gray-500"}),r.jsx("h3",{className:"font-medium text-gray-900 text-sm",children:"Version History"})]}),r.jsx("button",{onClick:o,className:"p-1 text-gray-400 hover:text-gray-600 hover:bg-gray-100 rounded","aria-label":"Close version history","data-testid":"version-history-close",children:r.jsx(Ee,{className:"w-4 h-4"})})]}),r.jsxs("div",{className:"flex-1 overflow-y-auto p-2",children:[d&&r.jsx("div",{"data-testid":"version-history-loading",className:"text-center text-gray-500 text-sm py-4",children:"Loading versions..."}),u&&r.jsx("div",{"data-testid":"version-history-error",className:"text-center text-red-500 text-sm py-4",children:"Failed to load versions"}),!d&&!u&&l.length===0&&r.jsx("div",{"data-testid":"version-history-empty",className:"text-center text-gray-500 text-sm py-4",children:"No version history available"}),!d&&!u&&l.length>0&&r.jsx("div",{"data-testid":"version-history-list",className:"space-y-1",children:l.map(x=>{const g=x.version===t,p=n===x.version;return r.jsxs("div",{"data-testid":`version-item-${x.version}`,className:`p-2 rounded-md ${p?"bg-blue-100 border border-blue-300":g?"bg-green-50 border border-green-200":"bg-white border border-gray-100 hover:border-gray-200"}`,children:[r.jsx("div",{className:"flex items-center justify-between mb-1",children:r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsxs("span",{className:"font-medium text-sm text-gray-900",children:["v",x.version]}),g&&r.jsx("span",{className:"text-xs bg-green-100 text-green-700 px-1.5 py-0.5 rounded",children:"Current"}),p&&r.jsx("span",{className:"text-xs bg-blue-100 text-blue-700 px-1.5 py-0.5 rounded",children:"Previewing"})]})}),r.jsx("div",{className:"text-xs text-gray-500 mb-2",children:A0(x.updatedAt)}),r.jsx("div",{className:"flex items-center gap-1",children:!g&&r.jsxs(r.Fragment,{children:[r.jsxs("button",{onClick:()=>a(p?null:x.version),"data-testid":`version-preview-${x.version}`,className:`flex items-center gap-1 px-2 py-1 text-xs rounded ${p?"bg-blue-600 text-white":"bg-gray-100 text-gray-600 hover:bg-gray-200"}`,children:[r.jsx(ss,{className:"w-3 h-3"}),p?"Exit Preview":"Preview"]}),r.jsxs("button",{onClick:()=>h(x.version),disabled:m.isPending,"data-testid":`version-restore-${x.version}`,className:"flex items-center gap-1 px-2 py-1 text-xs rounded bg-orange-100 text-orange-700 hover:bg-orange-200 disabled:opacity-50",children:[r.jsx(Wc,{className:"w-3 h-3"}),"Restore"]})]})})]},x.version)})})]}),m.isError&&r.jsx("div",{className:"p-2 m-2 bg-red-50 text-red-700 text-xs rounded",children:m.error?.message||"Failed to restore version"})]})}function rX({isOpen:e,onClose:t,onSelectDocument:a,currentDocumentId:n,existingLinkIds:o}){const[l,d]=y.useState(""),{data:u=[],isLoading:m}=WQ(),h=u.filter(x=>{if(x.id===n||o.includes(x.id))return!1;if(l.trim()){const g=l.toLowerCase();return x.title?.toLowerCase().includes(g)||x.id.toLowerCase().includes(g)}return!0});return ee.useEffect(()=>{if(!e)return;const x=g=>{g.key==="Escape"&&t()};return document.addEventListener("keydown",x),()=>document.removeEventListener("keydown",x)},[e,t]),e?r.jsxs("div",{className:"fixed inset-0 z-50 flex items-center justify-center","data-testid":"document-link-picker-modal",children:[r.jsx("div",{className:"absolute inset-0 bg-black/50",onClick:t}),r.jsxs("div",{className:"relative bg-white rounded-lg shadow-xl max-w-lg w-full mx-4 max-h-[80vh] flex flex-col",children:[r.jsxs("div",{className:"flex items-center justify-between p-4 border-b border-gray-200",children:[r.jsxs("h3",{className:"text-lg font-semibold text-gray-900 flex items-center gap-2",children:[r.jsx(so,{className:"w-5 h-5 text-blue-500"}),"Link Document"]}),r.jsx("button",{onClick:t,className:"p-1 text-gray-400 hover:text-gray-600 hover:bg-gray-100 rounded","aria-label":"Close","data-testid":"document-link-picker-close",children:r.jsx(Ee,{className:"w-5 h-5"})})]}),r.jsx("div",{className:"p-4 border-b border-gray-100",children:r.jsxs("div",{className:"relative",children:[r.jsx(Ve,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-gray-400"}),r.jsx("input",{type:"text",value:l,onChange:x=>d(x.target.value),placeholder:"Search documents by title or ID...",className:"w-full pl-10 pr-4 py-2 border border-gray-300 rounded-lg text-sm focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent",autoFocus:!0,"data-testid":"document-link-search"})]})}),r.jsx("div",{className:"flex-1 overflow-y-auto p-4",children:m?r.jsx("div",{className:"text-center py-8 text-gray-500",children:"Loading documents..."}):h.length===0?r.jsx("div",{className:"text-center py-8 text-gray-500",children:l.trim()?"No matching documents found":"No documents available to link"}):r.jsx("div",{className:"space-y-2","data-testid":"document-link-list",children:h.map(x=>r.jsxs("button",{onClick:()=>a(x.id),className:"w-full flex items-center gap-3 p-3 rounded-lg border border-gray-200 hover:border-blue-300 hover:bg-blue-50 text-left transition-colors","data-testid":`document-link-option-${x.id}`,children:[r.jsx(Je,{className:"w-5 h-5 text-blue-400 flex-shrink-0"}),r.jsxs("div",{className:"flex-1 min-w-0",children:[r.jsx("div",{className:"font-medium text-gray-900 truncate",children:x.title||`Document ${x.id}`}),r.jsxs("div",{className:"text-xs text-gray-500 flex items-center gap-2",children:[r.jsx("span",{className:"font-mono",children:x.id}),r.jsx("span",{children:"·"}),r.jsx("span",{children:x.contentType})]})]}),r.jsx(Qs,{className:"w-4 h-4 text-gray-400"})]},x.id))})})]})]}):null}function r2({document:e,direction:t,onRemove:a,onNavigate:n,isRemoving:o}){return r.jsxs("div",{className:"flex items-center gap-3 p-3 rounded-lg border border-gray-200 hover:border-gray-300 transition-colors group","data-testid":`linked-document-${e.id}`,children:[r.jsx("div",{className:`flex-shrink-0 w-6 h-6 rounded-full flex items-center justify-center ${t==="outgoing"?"bg-blue-100":"bg-green-100"}`,title:t==="outgoing"?"Links to":"Linked from",children:t==="outgoing"?r.jsx(Qs,{className:"w-3 h-3 text-blue-600"}):r.jsx(rd,{className:"w-3 h-3 text-green-600"})}),r.jsxs("div",{className:"flex-1 min-w-0",children:[r.jsx("button",{onClick:n,className:"font-medium text-gray-900 hover:text-blue-600 truncate block text-left w-full","data-testid":`linked-document-title-${e.id}`,children:e.title||`Document ${e.id}`}),r.jsxs("div",{className:"text-xs text-gray-500 flex items-center gap-2",children:[r.jsx("span",{className:"font-mono",children:e.id}),r.jsx("span",{children:"·"}),r.jsx("span",{children:e.contentType})]})]}),r.jsxs("div",{className:"flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity",children:[r.jsx("button",{onClick:n,className:"p-1.5 text-gray-400 hover:text-blue-600 hover:bg-blue-50 rounded",title:"Open document","data-testid":`linked-document-open-${e.id}`,children:r.jsx(Xc,{className:"w-4 h-4"})}),t==="outgoing"&&r.jsx("button",{onClick:a,disabled:o,className:"p-1.5 text-gray-400 hover:text-red-600 hover:bg-red-50 rounded disabled:opacity-50",title:"Remove link","data-testid":`linked-document-remove-${e.id}`,children:r.jsx(q0,{className:"w-4 h-4"})})]})]})}function aX({documentId:e,onNavigateToDocument:t}){const[a,n]=y.useState(!0),[o,l]=y.useState(!1),{data:d,isLoading:u,isError:m}=YQ(e),h=QQ(),x=XQ(),g=d?.outgoing||[],p=d?.incoming||[],j=g.length+p.length,k=T=>{h.mutate({blockedId:e,targetDocumentId:T}),l(!1)},N=T=>{x.mutate({blockedId:e,blockerId:T})},v=g.map(T=>T.id);return r.jsxs("div",{className:"mb-6","data-testid":"linked-documents-section",children:[r.jsxs("button",{onClick:()=>n(!a),className:"flex items-center gap-2 text-xs font-medium text-gray-500 uppercase tracking-wide mb-2 hover:text-gray-700 w-full","data-testid":"linked-documents-toggle",children:[a?r.jsx(it,{className:"w-3 h-3"}):r.jsx(Lt,{className:"w-3 h-3"}),r.jsx(so,{className:"w-3 h-3"}),r.jsx("span",{children:"Linked Documents"}),j>0&&r.jsxs("span",{className:"text-gray-400 font-normal",children:["(",j,")"]})]}),a&&r.jsxs("div",{className:"space-y-4",children:[u&&r.jsx("div",{className:"text-sm text-gray-500",children:"Loading links..."}),m&&r.jsx("div",{className:"text-sm text-red-500",children:"Failed to load links"}),!u&&!m&&r.jsxs(r.Fragment,{children:[g.length>0&&r.jsxs("div",{"data-testid":"outgoing-links-section",children:[r.jsxs("div",{className:"text-xs text-gray-500 mb-2 flex items-center gap-1",children:[r.jsx(Qs,{className:"w-3 h-3"}),"Links to (",g.length,")"]}),r.jsx("div",{className:"space-y-2",children:g.map(T=>r.jsx(r2,{document:T,direction:"outgoing",onRemove:()=>N(T.id),onNavigate:()=>t(T.id),isRemoving:x.isPending},T.id))})]}),p.length>0&&r.jsxs("div",{"data-testid":"incoming-links-section",children:[r.jsxs("div",{className:"text-xs text-gray-500 mb-2 flex items-center gap-1",children:[r.jsx(rd,{className:"w-3 h-3"}),"Linked from (",p.length,")"]}),r.jsx("div",{className:"space-y-2",children:p.map(T=>r.jsx(r2,{document:T,direction:"incoming",onRemove:()=>{},onNavigate:()=>t(T.id),isRemoving:!1},T.id))})]}),j===0&&r.jsx("div",{className:"text-sm text-gray-400 italic","data-testid":"no-links-message",children:"No linked documents"}),r.jsxs("button",{onClick:()=>l(!0),disabled:h.isPending,className:"inline-flex items-center gap-1.5 text-sm text-blue-600 hover:text-blue-700 font-medium disabled:opacity-50","data-testid":"add-document-link-button",children:[r.jsx(Fe,{className:"w-4 h-4"}),"Link Document"]}),h.isError&&r.jsx("div",{className:"text-sm text-red-500 mt-2",children:h.error?.message||"Failed to add link"}),x.isError&&r.jsx("div",{className:"text-sm text-red-500 mt-2",children:x.error?.message||"Failed to remove link"})]})]}),r.jsx(rX,{isOpen:o,onClose:()=>l(!1),onSelectDocument:k,currentDocumentId:e,existingLinkIds:v})]})}function nX({item:e,selectedLibraryId:t,onSelect:a,onToggleExpand:n,onDeleteLibrary:o}){const{node:l,level:d,hasChildren:u,isExpanded:m}=e,h=t===l.id;return r.jsx("div",{"data-testid":`library-tree-item-${l.id}`,children:r.jsxs("div",{className:`group flex items-center gap-1 px-2 py-1.5 rounded-md cursor-pointer transition-colors ${h?"bg-blue-50 text-blue-700":"text-gray-700 hover:bg-gray-100"}`,style:{paddingLeft:`${8+d*16}px`},onClick:()=>a(l.id),children:[r.jsx("button",{"data-testid":`library-toggle-${l.id}`,onClick:x=>{x.stopPropagation(),n(l.id)},className:"p-0.5 hover:bg-gray-200 rounded","aria-label":u?m?`Collapse ${l.name}`:`Expand ${l.name}`:"No children","aria-expanded":u?m:void 0,children:u?m?r.jsx(it,{className:"w-4 h-4 text-gray-500"}):r.jsx(Lt,{className:"w-4 h-4 text-gray-500"}):r.jsx("span",{className:"w-4 h-4","aria-hidden":"true"})}),m&&u?r.jsx(B0,{className:"w-4 h-4 text-yellow-500 flex-shrink-0"}):r.jsx(td,{className:"w-4 h-4 text-yellow-500 flex-shrink-0"}),r.jsx("span",{"data-testid":`library-name-${l.id}`,className:"text-sm font-medium truncate flex-1",children:l.name}),o&&r.jsx("button",{"data-testid":`delete-library-button-${l.id}`,onClick:x=>{x.stopPropagation(),o(l.id)},className:"p-1 opacity-0 group-hover:opacity-100 text-gray-400 hover:text-red-600 hover:bg-red-50 dark:hover:bg-red-900/30 rounded transition-all",title:"Delete Library","aria-label":`Delete ${l.name}`,children:r.jsx(jt,{className:"w-3.5 h-3.5"})})]})})}function sX({libraries:e,selectedLibraryId:t,expandedIds:a,onSelectLibrary:n,onToggleExpand:o,onNewDocument:l,onNewLibrary:d,onSelectDocument:u,onDeleteLibrary:m,isMobile:h=!1}){const x=y.useMemo(()=>ZQ(e),[e]),g=y.useMemo(()=>MT(x,a),[x,a]),p=y.useCallback((j,k)=>r.jsx(nX,{item:j,selectedLibraryId:t,onSelect:n,onToggleExpand:o,onDeleteLibrary:m}),[t,n,o,m]);return r.jsxs("div",{"data-testid":"library-tree",className:`${h?"w-full":"w-64 border-r border-gray-200"} bg-white dark:bg-[var(--color-bg)] flex flex-col h-full`,children:[r.jsxs("div",{className:`${h?"p-3":"p-4"} border-b border-gray-200 dark:border-[var(--color-border)]`,children:[r.jsxs("div",{className:"flex items-center justify-between mb-3",children:[r.jsxs("h2",{className:`${h?"text-base":"text-lg"} font-semibold text-gray-900 dark:text-[var(--color-text)] flex items-center gap-2`,children:[r.jsx(VO,{className:`${h?"w-4 h-4":"w-5 h-5"} text-blue-500`}),"Libraries"]}),!h&&r.jsxs("div",{className:"flex items-center gap-1",children:[r.jsx("button",{onClick:d,className:"p-1.5 text-gray-500 hover:text-purple-600 hover:bg-purple-50 dark:hover:bg-purple-900/30 rounded-md transition-colors",title:"New Library","data-testid":"new-library-button-sidebar",children:r.jsx(O2,{className:"w-4 h-4"})}),r.jsx("button",{onClick:l,className:"p-1.5 text-gray-500 hover:text-blue-600 hover:bg-blue-50 dark:hover:bg-blue-900/30 rounded-md transition-colors",title:"Create Document","data-testid":"new-document-button-sidebar",children:r.jsx(Fe,{className:"w-4 h-4"})})]})]}),r.jsx(JQ,{onSelectDocument:u})]}),r.jsxs("div",{className:"flex-1 flex flex-col overflow-hidden",children:[r.jsx("div",{className:"p-2 pb-0",children:r.jsxs("button",{onClick:()=>n(null),className:`w-full flex items-center gap-2 ${h?"px-3 py-3":"px-3 py-2"} rounded-md text-left text-sm mb-2 ${t===null?"bg-blue-50 dark:bg-blue-900/30 text-blue-700 dark:text-blue-300 font-medium":"text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-800"} ${h?"touch-target":""}`,"data-testid":"all-documents-button",children:[r.jsx(Je,{className:"w-4 h-4"}),"All Documents"]})}),e.length===0?r.jsxs("div",{"data-testid":"library-empty-state",className:"text-center py-8 text-gray-500 dark:text-gray-400",children:[r.jsx(td,{className:"w-12 h-12 mx-auto mb-3 text-gray-300 dark:text-gray-600"}),r.jsx("p",{className:"text-sm",children:"No libraries yet"}),r.jsx("button",{onClick:d,className:"mt-2 text-sm text-purple-600 dark:text-purple-400 hover:underline","data-testid":"new-library-button-empty",children:"Create one"})]}):r.jsx("div",{"data-testid":"library-list",className:"flex-1 overflow-hidden px-2",children:r.jsx(ls,{items:g,getItemKey:j=>j.node.id,estimateSize:h?44:IQ,renderItem:p,overscan:5,className:"h-full",scrollRestoreId:"library-tree-scroll",testId:"virtualized-library-list",renderEmpty:()=>r.jsx("div",{className:"text-center py-4 text-gray-500 dark:text-gray-400 text-sm",children:"No libraries to display"})})})]}),!h&&r.jsxs("div",{"data-testid":"library-count",className:"p-3 border-t border-gray-200 dark:border-[var(--color-border)] text-xs text-gray-500 dark:text-gray-400",children:[e.length," ",e.length===1?"library":"libraries"]})]})}function iX({libraryId:e,selectedDocumentId:t,onSelectDocument:a,onSelectLibrary:n,onNewDocument:o,onDeleteLibrary:l,isMobile:d=!1}){const[u,m]=y.useState(""),[h,x]=y.useState(!1),[g,p]=y.useState("updatedAt"),[j,k]=y.useState("desc"),[N,v]=y.useState(ec),{data:T,isLoading:E}=_T(e),{data:O=[],isLoading:S,error:C}=qQ(e);Va(),y.useEffect(()=>{const R=d5();p(R.field),k(R.direction)},[]),y.useEffect(()=>{v(ec),m("")},[e]);const A=R=>{p(R),Mm(R,j)},$=R=>{k(R),Mm(g,R)},P=()=>{v(ec)},M=E||S,q=y.useMemo(()=>[...O,...T?._documents||[]].filter((R,L,F)=>L===F.findIndex(B=>B.id===R.id)),[O,T?._documents]),_=y.useMemo(()=>{const R=new Set;return q.forEach(L=>{(L.tags||[]).forEach(F=>R.add(F))}),Array.from(R).sort()},[q]),z=y.useMemo(()=>{const R=u5(N,u),L=q.filter(R);return Ty(L,{field:g,direction:j})},[q,u,N,g,j]),U=id(N),K=y.useCallback(R=>r.jsx("div",{className:"px-4",children:r.jsx(LT,{document:R,isSelected:t===R.id,onClick:a})}),[t,a]);return r.jsxs("div",{"data-testid":"library-view",className:"h-full flex flex-col bg-white dark:bg-[var(--color-bg)]",children:[r.jsxs("div",{"data-testid":"library-header",className:`flex-shrink-0 ${d?"p-3":"p-4"} border-b border-gray-200 dark:border-[var(--color-border)]`,children:[r.jsxs("div",{className:"flex items-center justify-between",children:[r.jsxs("div",{className:`flex items-center ${d?"gap-2":"gap-3"} min-w-0`,children:[r.jsx(B0,{className:`${d?"w-5 h-5":"w-6 h-6"} text-yellow-500 flex-shrink-0`}),T?r.jsxs(r.Fragment,{children:[r.jsx("h3",{"data-testid":"library-name",className:`font-semibold text-gray-900 dark:text-[var(--color-text)] ${d?"text-base":"text-lg"} truncate`,children:T.name}),r.jsxs("span",{"data-testid":"library-doc-count",className:`text-gray-400 dark:text-gray-500 flex-shrink-0 ${d?"text-xs":"text-sm"}`,children:[z.length," ",z.length===1?"doc":"docs"]})]}):r.jsx("div",{className:"animate-pulse h-6 w-32 bg-gray-200 dark:bg-gray-700 rounded"})]}),!d&&r.jsxs("div",{className:"flex items-center gap-2",children:[l&&r.jsx("button",{onClick:l,className:"p-1.5 text-gray-400 hover:text-red-600 hover:bg-red-50 dark:hover:bg-red-900/30 rounded-md transition-colors",title:"Delete Library","data-testid":"delete-library-button",children:r.jsx(jt,{className:"w-4 h-4"})}),r.jsxs("button",{onClick:o,className:"inline-flex items-center gap-1.5 px-3 py-1.5 text-sm font-medium text-white bg-[var(--color-primary)] hover:bg-[var(--color-primary-hover)] rounded-md transition-colors","data-testid":"new-document-button-library",children:[r.jsx(Fe,{className:"w-4 h-4"}),"Create Document",r.jsx("kbd",{className:"ml-1 text-xs bg-[var(--color-primary-700)]/50 text-white px-1 py-0.5 rounded",children:or("action.createDocument")})]})]})]}),T?.description&&r.jsx("p",{"data-testid":"library-description",className:`mt-2 text-sm text-gray-600 dark:text-gray-400 ${d?"line-clamp-2":""}`,children:T.description}),r.jsxs("div",{className:"mt-3 relative",children:[r.jsx(Ve,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-gray-400"}),r.jsx("input",{type:"text",value:u,onChange:R=>m(R.target.value),placeholder:"Search documents...",className:`w-full pl-9 pr-4 ${d?"py-3":"py-2"} text-sm border border-gray-300 dark:border-gray-600 dark:bg-gray-800 dark:text-white rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500`,"data-testid":"library-search-input"})]}),r.jsx("div",{className:"mt-3",children:d?r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsx(Lm,{sortField:g,sortDirection:j,onSortFieldChange:A,onSortDirectionChange:$}),r.jsxs("button",{onClick:()=>x(!0),className:`flex items-center gap-1.5 px-2.5 py-1.5 text-sm font-medium rounded-md transition-colors ${Bs(N)?"text-blue-700 dark:text-blue-300 bg-blue-100 dark:bg-blue-900/50":"text-gray-700 dark:text-gray-200 bg-gray-100 dark:bg-gray-800"}`,"data-testid":"mobile-filter-button",children:[r.jsx(Ca,{className:"w-4 h-4"}),"Filters",U>0&&r.jsx("span",{className:"px-1.5 py-0.5 text-xs font-semibold bg-blue-600 text-white rounded-full",children:U})]})]}):r.jsxs("div",{className:"flex items-start gap-3",children:[r.jsx(Lm,{sortField:g,sortDirection:j,onSortFieldChange:A,onSortDirectionChange:$}),r.jsx("div",{className:"flex-1",children:r.jsx(m5,{filters:N,onFilterChange:v,onClearFilters:P,availableTags:_})})]})})]}),T?._subLibraries&&T._subLibraries.length>0&&r.jsxs("div",{"data-testid":"sub-libraries",className:`flex-shrink-0 ${d?"p-3":"p-4"} border-b border-gray-100 dark:border-gray-800`,children:[r.jsx("h4",{className:"text-xs font-semibold text-gray-500 dark:text-gray-400 uppercase tracking-wider mb-2",children:"Sub-libraries"}),r.jsx("div",{className:"flex flex-wrap gap-2",children:T._subLibraries.map(R=>r.jsxs("button",{"data-testid":`sub-library-${R.id}`,onClick:()=>n(R.id),className:`flex items-center gap-1.5 ${d?"px-2.5 py-2":"px-3 py-1.5"} bg-yellow-50 dark:bg-yellow-900/30 text-yellow-700 dark:text-yellow-300 rounded-md text-sm hover:bg-yellow-100 dark:hover:bg-yellow-900/50 transition-colors cursor-pointer ${d?"touch-target":""}`,children:[r.jsx(td,{className:"w-4 h-4"}),R.name]},R.id))})]}),r.jsx("div",{"data-testid":"documents-container",className:"flex-1 min-h-0",children:M?r.jsx("div",{"data-testid":"documents-loading",className:"flex items-center justify-center h-full text-gray-500 dark:text-gray-400",children:"Loading documents..."}):C?r.jsx("div",{"data-testid":"documents-error",className:"flex items-center justify-center h-full text-red-500 dark:text-red-400",children:"Failed to load documents"}):z.length===0?r.jsxs("div",{"data-testid":"documents-empty",className:"flex flex-col items-center justify-center h-full text-gray-500 dark:text-gray-400 px-4",children:[r.jsx(Je,{className:"w-12 h-12 mb-3 text-gray-300 dark:text-gray-600"}),r.jsx("p",{className:"text-sm",children:u||Bs(N)?"No documents match your search or filters":"No documents in this library"}),r.jsx("p",{className:"text-xs text-gray-400 dark:text-gray-500 mt-1",children:u||Bs(N)?"Try adjusting your search or filters":"Add documents to organize your knowledge"})]}):r.jsx(ls,{items:z,getItemKey:R=>R.id,estimateSize:d?72:DT,renderItem:K,overscan:5,className:"h-full pt-2",scrollRestoreId:`library-documents-${e}`,testId:"virtualized-documents-list",gap:d?4:8})}),d&&r.jsx(f5,{open:h,onClose:()=>x(!1),filters:N,onFilterChange:v,onClearFilters:P,availableTags:_})]})}function oX({selectedDocumentId:e,onSelectDocument:t,onNewDocument:a,isMobile:n=!1}){const[o,l]=y.useState(""),[d,u]=y.useState(!1),[m,h]=y.useState("updatedAt"),[x,g]=y.useState("desc"),[p,j]=y.useState(ec);Va(),y.useEffect(()=>{const M=d5();h(M.field),g(M.direction)},[]);const k=M=>{h(M),Mm(M,x)},N=M=>{g(M),Mm(m,M)},v=()=>{j(ec)},{data:T,isLoading:E}=Q5(),O=y.useMemo(()=>{if(!T)return[];const M=T,q=new Set;return M.forEach(_=>{(_.tags||[]).forEach(z=>q.add(z))}),Array.from(q).sort()},[T]),S=y.useMemo(()=>{if(!T)return[];const M=T,q=u5(p,o),_=M.filter(q);return Ty(_,{field:m,direction:x})},[T,o,p,m,x]),C=S.length,A=E,$=id(p),P=y.useCallback(M=>r.jsx("div",{className:`${n?"px-3":"px-4"}`,children:r.jsx(LT,{document:M,isSelected:e===M.id,onClick:t})}),[e,t,n]);return r.jsxs("div",{"data-testid":"all-documents-view",className:"h-full flex flex-col bg-white dark:bg-[var(--color-bg)]",children:[r.jsxs("div",{"data-testid":"all-documents-header",className:`flex-shrink-0 ${n?"p-3":"p-4"} border-b border-gray-200 dark:border-[var(--color-border)]`,children:[r.jsxs("div",{className:"flex items-center justify-between",children:[r.jsxs("div",{className:`flex items-center ${n?"gap-2":"gap-3"} min-w-0`,children:[r.jsx(Je,{className:`${n?"w-5 h-5":"w-6 h-6"} text-blue-400 flex-shrink-0`}),r.jsx("h3",{className:`font-semibold text-gray-900 dark:text-[var(--color-text)] ${n?"text-base":"text-lg"}`,children:"All Documents"}),r.jsxs("span",{className:`text-gray-500 dark:text-gray-400 ${n?"text-xs":"text-sm"}`,"data-testid":"all-documents-count",children:[C," ",C===1?"doc":"docs"]})]}),!n&&r.jsxs("button",{onClick:a,className:"inline-flex items-center gap-1.5 px-3 py-1.5 text-sm font-medium text-white bg-[var(--color-primary)] hover:bg-[var(--color-primary-hover)] rounded-md transition-colors","data-testid":"new-document-button-all",children:[r.jsx(Fe,{className:"w-4 h-4"}),"Create Document",r.jsx("kbd",{className:"ml-1 text-xs bg-[var(--color-primary-700)]/50 text-white px-1 py-0.5 rounded",children:or("action.createDocument")})]})]}),r.jsxs("div",{className:"mt-3 relative",children:[r.jsx(Ve,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-gray-400"}),r.jsx("input",{type:"text",value:o,onChange:M=>l(M.target.value),placeholder:"Search documents...",className:`w-full pl-9 pr-4 ${n?"py-3":"py-2"} text-sm border border-gray-300 dark:border-gray-600 dark:bg-gray-800 dark:text-white rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500`,"data-testid":"documents-search-input"})]}),r.jsx("div",{className:"mt-3",children:n?r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsx(Lm,{sortField:m,sortDirection:x,onSortFieldChange:k,onSortDirectionChange:N}),r.jsxs("button",{onClick:()=>u(!0),className:`flex items-center gap-1.5 px-2.5 py-1.5 text-sm font-medium rounded-md transition-colors ${Bs(p)?"text-blue-700 dark:text-blue-300 bg-blue-100 dark:bg-blue-900/50":"text-gray-700 dark:text-gray-200 bg-gray-100 dark:bg-gray-800"}`,"data-testid":"mobile-filter-button",children:[r.jsx(Ca,{className:"w-4 h-4"}),"Filters",$>0&&r.jsx("span",{className:"px-1.5 py-0.5 text-xs font-semibold bg-blue-600 text-white rounded-full",children:$})]})]}):r.jsxs("div",{className:"flex items-start gap-3",children:[r.jsx(Lm,{sortField:m,sortDirection:x,onSortFieldChange:k,onSortDirectionChange:N}),r.jsx("div",{className:"flex-1",children:r.jsx(m5,{filters:p,onFilterChange:j,onClearFilters:v,availableTags:O})})]})})]}),r.jsx("div",{"data-testid":"all-documents-container",className:"flex-1 min-h-0",children:A?r.jsx("div",{"data-testid":"all-documents-loading",className:"flex items-center justify-center h-full text-gray-500 dark:text-gray-400",children:"Loading documents..."}):S.length===0?r.jsxs("div",{"data-testid":"all-documents-empty",className:"flex flex-col items-center justify-center h-full text-gray-500 dark:text-gray-400 px-4",children:[r.jsx(Je,{className:"w-12 h-12 mb-3 text-gray-300 dark:text-gray-600"}),r.jsx("p",{className:"text-sm text-center",children:o||Bs(p)?"No documents match your search or filters":"No documents yet"}),r.jsx("p",{className:"text-xs text-gray-400 dark:text-gray-500 mt-1 text-center",children:o||Bs(p)?"Try adjusting your search or filters":"Create documents to build your knowledge base"})]}):r.jsx(ls,{items:S,getItemKey:M=>M.id,estimateSize:n?72:DT,renderItem:P,overscan:5,className:"h-full pt-2",scrollRestoreId:"all-documents-scroll",testId:"virtualized-all-documents-list",gap:n?4:8})}),n&&r.jsx(f5,{open:d,onClose:()=>u(!1),filters:p,onFilterChange:j,onClearFilters:v,availableTags:O})]})}function lX({isOpen:e,onClose:t,selectedText:a,onSubmit:n,isSubmitting:o=!1}){const[l,d]=y.useState(""),u=y.useRef(null);y.useEffect(()=>{e&&(d(""),setTimeout(()=>{u.current?.focus()},100))},[e]);const m=x=>{x.preventDefault(),l.trim()&&n(l.trim())},h=x=>{(x.metaKey||x.ctrlKey)&&x.key==="Enter"&&(x.preventDefault(),l.trim()&&n(l.trim()))};return r.jsx(em,{open:e,onOpenChange:x=>!x&&t(),children:r.jsxs(cc,{children:[r.jsx(lo,{className:"fixed inset-0 bg-black/50 z-50"}),r.jsxs(co,{className:"fixed left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 w-full max-w-md bg-white dark:bg-gray-800 rounded-lg shadow-xl z-50 p-0","data-testid":"add-comment-modal",children:[r.jsxs("div",{className:"flex items-center justify-between px-4 py-3 border-b border-gray-200 dark:border-gray-700",children:[r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsx(vt,{className:"w-5 h-5 text-gray-500"}),r.jsx(uo,{className:"text-lg font-medium text-gray-900 dark:text-gray-100",children:"Add Comment"})]}),r.jsx(Wm,{asChild:!0,children:r.jsx("button",{className:"p-1 rounded hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors","aria-label":"Close",children:r.jsx(Ee,{className:"w-5 h-5 text-gray-500"})})})]}),r.jsxs("form",{onSubmit:m,children:[r.jsxs("div",{className:"p-4 space-y-4",children:[r.jsxs("div",{className:"px-3 py-2 bg-yellow-50 dark:bg-yellow-900/20 border-l-2 border-yellow-400 dark:border-yellow-600 text-sm text-gray-700 dark:text-gray-300",children:[r.jsx("div",{className:"text-xs text-gray-500 dark:text-gray-400 mb-1",children:"Selected text:"}),r.jsxs("div",{className:"italic line-clamp-3",children:['"',a,'"']})]}),r.jsxs("div",{children:[r.jsx("label",{htmlFor:"comment-content",className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:"Your comment"}),r.jsx("textarea",{ref:u,id:"comment-content",value:l,onChange:x=>d(x.target.value),onKeyDown:h,placeholder:"Write your comment...",rows:4,className:"w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md bg-white dark:bg-gray-900 text-gray-900 dark:text-gray-100 placeholder-gray-400 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent resize-none","data-testid":"comment-input"}),r.jsx("div",{className:"text-xs text-gray-400 mt-1",children:"Press Cmd+Enter to submit"})]})]}),r.jsxs("div",{className:"flex items-center justify-end gap-2 px-4 py-3 border-t border-gray-200 dark:border-gray-700 bg-gray-50 dark:bg-gray-900 rounded-b-lg",children:[r.jsx("button",{type:"button",onClick:t,className:"px-3 py-1.5 text-sm font-medium text-gray-700 dark:text-gray-300 hover:bg-gray-200 dark:hover:bg-gray-700 rounded transition-colors",children:"Cancel"}),r.jsx("button",{type:"submit",disabled:!l.trim()||o,className:"px-3 py-1.5 text-sm font-medium text-white bg-blue-600 hover:bg-blue-700 disabled:opacity-50 disabled:cursor-not-allowed rounded transition-colors","data-testid":"comment-submit",children:o?"Adding...":"Add Comment"})]})]})]})]})})}async function cX(e,t=!1){const a=`/api/documents/${e}/comments${t?"?includeResolved=true":""}`,n=await fetch(a);if(!n.ok)throw new Error("Failed to fetch comments");return n.json()}async function dX(e,t){const a=await fetch(`/api/documents/${e}/comments`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!a.ok){const n=await a.json();throw new Error(n.error?.message||"Failed to create comment")}return a.json()}async function uX(e,t){const a=await fetch(`/api/comments/${e}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!a.ok){const n=await a.json();throw new Error(n.error?.message||"Failed to update comment")}return a.json()}async function mX(e){const t=await fetch(`/api/comments/${e}`,{method:"DELETE"});if(!t.ok){const a=await t.json();throw new Error(a.error?.message||"Failed to delete comment")}}function PT(e,t=!1){return be({queryKey:["documents",e,"comments",{includeResolved:t}],queryFn:()=>cX(e,t),enabled:!!e,staleTime:3e4})}function fX(){const e=$e();return Re({mutationFn:({documentId:t,input:a})=>dX(t,a),onSuccess:t=>{e.invalidateQueries({queryKey:["documents",t.documentId,"comments"]})}})}function hX(){const e=$e();return Re({mutationFn:({commentId:t})=>mX(t),onSuccess:(t,{documentId:a})=>{e.invalidateQueries({queryKey:["documents",a,"comments"]})}})}function xX(){const e=$e();return Re({mutationFn:({commentId:t,resolved:a,resolvedBy:n})=>uX(t,{resolved:a,resolvedBy:n}),onSuccess:t=>{e.invalidateQueries({queryKey:["documents",t.documentId,"comments"]})}})}function gX({comment:e,onResolve:t,onDelete:a,onClick:n,currentUserId:o}){const l=o===e.author.id;return r.jsxs("div",{className:`p-3 border-b border-gray-200 dark:border-gray-700 hover:bg-gray-50 dark:hover:bg-gray-800 cursor-pointer transition-colors ${e.resolved?"opacity-60":""}`,onClick:n,"data-testid":`comment-item-${e.id}`,children:[r.jsxs("div",{className:"flex items-start justify-between gap-2",children:[r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsx("div",{className:"w-6 h-6 rounded-full bg-gray-300 dark:bg-gray-600 flex items-center justify-center",children:r.jsx(Ze,{className:"w-4 h-4 text-gray-600 dark:text-gray-300"})}),r.jsxs("div",{children:[r.jsx("span",{className:"text-sm font-medium text-gray-900 dark:text-gray-100",children:e.author.name}),r.jsx("span",{className:"text-xs text-gray-500 dark:text-gray-400 ml-2",children:Ys(e.createdAt)})]})]}),r.jsxs("div",{className:"flex items-center gap-1",children:[r.jsx("button",{onClick:d=>{d.stopPropagation(),t(!e.resolved)},className:"p-1 rounded hover:bg-gray-200 dark:hover:bg-gray-700 transition-colors",title:e.resolved?"Unresolve":"Resolve","data-testid":`comment-resolve-${e.id}`,children:e.resolved?r.jsx(Gt,{className:"w-4 h-4 text-green-600"}):r.jsx(ed,{className:"w-4 h-4 text-gray-400"})}),r.jsxs(V2,{children:[r.jsx(G2,{asChild:!0,children:r.jsx("button",{onClick:d=>d.stopPropagation(),className:"p-1 rounded hover:bg-gray-200 dark:hover:bg-gray-700 transition-colors","data-testid":`comment-menu-${e.id}`,children:r.jsx(Gm,{className:"w-4 h-4 text-gray-400"})})}),r.jsx(Y2,{children:r.jsxs(Q2,{className:"min-w-[120px] bg-white dark:bg-gray-800 rounded-md shadow-lg border border-gray-200 dark:border-gray-700 p-1 z-50",sideOffset:5,children:[l&&r.jsxs(Zg,{onClick:d=>{d.stopPropagation(),a()},className:"flex items-center gap-2 px-2 py-1.5 text-sm text-red-600 dark:text-red-400 rounded cursor-pointer outline-none hover:bg-red-50 dark:hover:bg-red-900/20",children:[r.jsx(jt,{className:"w-4 h-4"}),"Delete"]}),!l&&r.jsxs(Zg,{disabled:!0,className:"flex items-center gap-2 px-2 py-1.5 text-sm text-gray-400 rounded cursor-not-allowed",children:[r.jsx(jt,{className:"w-4 h-4"}),"Delete (author only)"]})]})})]})]})]}),r.jsx("p",{className:"mt-2 text-sm text-gray-700 dark:text-gray-300 whitespace-pre-wrap",children:e.content}),r.jsxs("div",{className:"mt-2 px-2 py-1 bg-yellow-50 dark:bg-yellow-900/20 border-l-2 border-yellow-400 dark:border-yellow-600 text-xs text-gray-600 dark:text-gray-400 truncate",children:['"',e.anchor.text.slice(0,80),e.anchor.text.length>80?"...":"",'"']}),e.resolved&&e.resolvedBy&&r.jsxs("div",{className:"mt-2 flex items-center gap-1 text-xs text-green-600 dark:text-green-400",children:[r.jsx(Gt,{className:"w-3 h-3"}),"Resolved by ",e.resolvedBy.name,e.resolvedAt&&r.jsxs("span",{className:"text-gray-400",children:[" ","- ",Ys(e.resolvedAt)]})]})]})}function pX({documentId:e,onCommentClick:t,currentUserId:a}){const[n,o]=y.useState(!1),{data:l,isLoading:d,error:u}=PT(e,n),m=xX(),h=hX(),x=l?.comments||[],g=x.filter(N=>!N.resolved).length,p=x.filter(N=>N.resolved).length,j=(N,v)=>{m.mutate({commentId:N.id,documentId:N.documentId,resolved:v,resolvedBy:a})},k=N=>{window.confirm("Are you sure you want to delete this comment?")&&h.mutate({commentId:N.id,documentId:N.documentId})};return r.jsxs("div",{className:"flex flex-col h-full bg-white dark:bg-gray-900 border-l border-gray-200 dark:border-gray-700","data-testid":"comments-panel",children:[r.jsxs("div",{className:"flex items-center justify-between px-4 py-3 border-b border-gray-200 dark:border-gray-700",children:[r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsx(vt,{className:"w-5 h-5 text-gray-500"}),r.jsx("span",{className:"font-medium text-gray-900 dark:text-gray-100",children:"Comments"}),g>0&&r.jsx("span",{className:"px-1.5 py-0.5 text-xs bg-blue-100 dark:bg-blue-900 text-blue-700 dark:text-blue-300 rounded-full",children:g})]}),r.jsx("button",{onClick:()=>o(!n),className:"flex items-center gap-1 px-2 py-1 text-xs text-gray-500 hover:text-gray-700 dark:hover:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-800 rounded transition-colors","data-testid":"toggle-resolved",children:n?r.jsxs(r.Fragment,{children:[r.jsx(F0,{className:"w-3 h-3"}),"Hide resolved"]}):r.jsxs(r.Fragment,{children:[r.jsx(ss,{className:"w-3 h-3"}),"Show resolved (",p,")"]})})]}),r.jsxs("div",{className:"flex-1 overflow-y-auto",children:[d&&r.jsx("div",{className:"p-4 text-center text-gray-500",children:"Loading comments..."}),u&&r.jsx("div",{className:"p-4 text-center text-red-500",children:"Failed to load comments"}),!d&&!u&&x.length===0&&r.jsxs("div",{className:"p-4 text-center text-gray-500","data-testid":"no-comments",children:[r.jsx(vt,{className:"w-8 h-8 mx-auto mb-2 opacity-50"}),r.jsx("p",{children:"No comments yet"}),r.jsx("p",{className:"text-xs mt-1",children:'Select text and click "Comment" to add one'})]}),!d&&x.map(N=>r.jsx(gX,{comment:N,onResolve:v=>j(N,v),onDelete:()=>k(N),onClick:()=>t?.(N),currentUserId:a},N.id))]})]})}const Lo=100;function yX(e){let t=2166136261;for(let a=0;a<e.length;a++)t^=e.charCodeAt(a),t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24),t=t>>>0;return t.toString(36).padStart(7,"0")}function bX(e,t,a){const n=e.slice(t,a),o=Math.max(0,t-Lo),l=e.slice(o,t),d=Math.min(e.length,a+Lo),u=e.slice(a,d);return{hash:yX(n),prefix:l,text:n,suffix:u}}function vX(e,t){const a=jX(e,t);if(a)return a;const n=wX(e,t);if(n)return n;const o=kX(e,t);return o||null}function jX(e,t){let a=0,n=null,o=0;for(;;){const l=t.indexOf(e.text,a);if(l===-1)break;const d=Math.max(0,l-Lo),u=t.slice(d,l),m=Math.min(t.length,l+e.text.length+Lo),h=t.slice(l+e.text.length,m),x=Po(e.prefix,u),g=Po(e.suffix,h),p=(x+g)/2;p>o&&(o=p,n={startOffset:l,endOffset:l+e.text.length,matchedText:e.text,confidence:p,textChanged:!1}),a=l+1}return n&&o>.5?n:null}function wX(e,t){const a=Math.min(20,e.prefix.length,e.suffix.length);if(a<5)return null;const n=e.prefix.slice(-a),o=e.suffix.slice(0,a);let l=0,d=null,u=0;for(;;){const m=t.indexOf(n,l);if(m===-1)break;const h=m+n.length,x=e.text.length*2+50,g=Math.min(t.length,h+x),j=t.slice(h,g).indexOf(o);if(j!==-1){const k=h+j,N=t.slice(h,k),v=Po(e.prefix,t.slice(Math.max(0,h-Lo),h)),T=Po(e.suffix,t.slice(k,Math.min(t.length,k+Lo))),E=(v+T)/2;E>u&&(u=E,d={startOffset:h,endOffset:k,matchedText:N,confidence:E*.8,textChanged:N!==e.text})}l=m+1}return d&&u>.4?d:null}function kX(e,t){const a=e.prefix.slice(-30),n=e.suffix.slice(0,30);if(a.length<10&&n.length<10)return null;let o=null,l=0;for(let d=0;d<t.length-10;d++){const u=Po(a,t.slice(Math.max(0,d-a.length),d));if(u>.6){const m=d,h=Math.min(t.length,d+e.text.length*3);for(let x=m+5;x<h;x++){const g=Po(n,t.slice(x,x+n.length));if(g>.6){const p=(u+g)/2;p>l&&(l=p,o={startOffset:d,endOffset:x,matchedText:t.slice(d,x),confidence:p*.5,textChanged:!0})}}}}return o}function Po(e,t){if(e===t)return 1;if(!e||!t)return 0;const a=Math.max(e.length,t.length);if(a===0)return 1;let n=0;const o=Math.min(e.length,t.length);for(let l=0;l<o;l++)e[l]===t[l]&&n++;return n/a}function a2(e,t){return t==="text"?e:e.replace(/<[^>]+>/g,"").replace(/#{1,6}\s/g,"").replace(/\*{1,2}|_{1,2}/g,"").replace(/`{1,3}/g,"").replace(/\[([^\]]+)\]\([^)]+\)/g,"$1").replace(/!\[([^\]]*)\]\([^)]+\)/g,"$1").replace(/>\s/g,"").replace(/[-*+]\s/g,"").replace(/\d+\.\s/g,"").trim()}function Yg({documentId:e,onClose:t,isExpanded:a=!1,onToggleExpand:n,isFullscreen:o=!1,onEnterFullscreen:l,onExitFullscreen:d,onDocumentCloned:u,libraryId:m,onNavigateToDocument:h,isMobile:x=!1}){const{data:g,isLoading:p,isError:j,error:k}=FQ(e),N=UQ(),v=GQ(),T=fX(),{data:E}=dd(),[O,S]=y.useState(!1),[C,A]=y.useState(""),[$,P]=y.useState(""),[M,q]=y.useState(!1),[_,z]=y.useState(null),[U,K]=y.useState(!1),[R,L]=y.useState(!1),[F,B]=y.useState(null),{data:H}=PT(e),G=H?.comments.filter(ke=>!ke.resolved).length||0,[W,te]=y.useState(!1),le=y.useMemo(()=>E?E.map(ke=>({id:ke.id,name:ke.name,entityType:ke.entityType})):[],[E]),{data:ge}=HQ(_?e:null,_),se=()=>{g&&(A(g.content||""),P(g.title||""),S(!0))},ye=()=>{S(!1),A(""),P("")},Ne=async()=>{if(!g)return;const ke={};if($!==(g.title||"")&&(ke.title=$),C!==(g.content||"")&&(ke.content=C),Object.keys(ke).length>0)try{await N.mutateAsync({id:e,updates:ke}),S(!1)}catch{}else S(!1)},we=(ke,_e,Le)=>{B({selectedText:ke,from:_e,to:Le}),L(!0)},me=async ke=>{if(!g||!F)return;const _e=a2(g.content||"",g.contentType),Le=bX(_e,F.from,F.to);try{await T.mutateAsync({documentId:g.id,input:{authorId:"el-0000",content:ke,anchor:Le,startOffset:F.from,endOffset:F.to}}),L(!1),B(null),K(!0)}catch{}},J=ke=>{const _e=a2(g?.content||"",g?.contentType||"text"),Le=vX(ke.anchor,_e);Le&&console.log("Comment position:",Le.startOffset,Le.endOffset)},re=async()=>{if(g)try{const ke=await v.mutateAsync({id:e,createdBy:g.createdBy,libraryId:m||void 0});ke?.id&&u&&u({id:ke.id})}catch{}},Y=async ke=>{if(g)try{await N.mutateAsync({id:e,updates:{metadata:{...g.metadata,icon:ke}}}),te(!1)}catch{}},he=async()=>{if(g)try{const ke={...g.metadata};delete ke.icon,await N.mutateAsync({id:e,updates:{metadata:ke}})}catch{}};if(p)return r.jsx("div",{"data-testid":"document-detail-loading",className:"h-full flex items-center justify-center bg-white dark:bg-[var(--color-bg)]",children:r.jsx("div",{className:"text-gray-500 dark:text-gray-400",children:"Loading document..."})});if(j)return r.jsxs("div",{"data-testid":"document-detail-error",className:"h-full flex flex-col items-center justify-center bg-white dark:bg-[var(--color-bg)] px-4",children:[r.jsx("div",{className:"text-red-600 dark:text-red-400 mb-2",children:"Failed to load document"}),r.jsx("div",{className:"text-sm text-gray-500 dark:text-gray-400",children:k?.message})]});if(!g)return r.jsx("div",{"data-testid":"document-detail-not-found",className:"h-full flex items-center justify-center bg-white dark:bg-[var(--color-bg)]",children:r.jsx("div",{className:"text-gray-500 dark:text-gray-400",children:"Document not found"})});const ce=g.title||`Document ${g.id}`,pe=e2[g.contentType]||e2.text;return r.jsxs("div",{"data-testid":"document-detail-panel",className:`h-full flex flex-col bg-white dark:bg-[var(--color-bg)] ${x?"":"border-l border-gray-200 dark:border-[var(--color-border)]"}`,children:[r.jsxs("div",{className:`flex items-start justify-between ${x?"p-3":"p-4"} border-b border-gray-200 dark:border-[var(--color-border)]`,children:[r.jsxs("div",{className:"flex-1 min-w-0",children:[r.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[r.jsxs("span",{"data-testid":"document-detail-type",className:`inline-flex items-center gap-1 px-2 py-0.5 text-xs font-medium rounded ${pe.color}`,children:[pe.icon,pe.label]}),g.version!==void 0&&r.jsxs("span",{"data-testid":"document-detail-version",className:"text-xs text-gray-500",children:["v",g.version]})]}),r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsx("button",{onClick:()=>te(!0),className:"flex-shrink-0 w-9 h-9 flex items-center justify-center rounded-lg hover:bg-gray-100 transition-colors group",title:g.metadata?.icon?"Change icon":"Add icon","data-testid":"document-icon-button",children:g.metadata?.icon?r.jsx("span",{className:"text-2xl","data-testid":"document-detail-icon",children:g.metadata.icon}):r.jsx(Km,{className:"w-5 h-5 text-gray-400 group-hover:text-gray-600"})}),O?r.jsx("input",{type:"text",value:$,onChange:ke=>P(ke.target.value),"data-testid":"document-title-input",className:"text-lg font-semibold text-gray-900 flex-1 border border-gray-300 rounded px-2 py-1 focus:outline-none focus:ring-2 focus:ring-blue-500",placeholder:"Document title"}):r.jsx("h2",{"data-testid":"document-detail-title",className:"text-lg font-semibold text-gray-900 truncate",children:ce}),g.metadata?.icon&&r.jsx("button",{onClick:he,className:"p-1 text-gray-400 hover:text-red-500 rounded transition-colors",title:"Remove icon","data-testid":"document-remove-icon-button",children:r.jsx(Ee,{className:"w-4 h-4"})})]}),r.jsx("div",{className:"flex items-center gap-2 mt-1 text-xs text-gray-500 font-mono",children:r.jsx("span",{"data-testid":"document-detail-id",children:g.id})}),r.jsxs("div",{className:"flex flex-wrap items-center gap-x-4 gap-y-1 mt-2 text-xs text-gray-500",children:[r.jsxs("div",{className:"flex items-center gap-1",title:O0(_!==null&&ge?ge.createdAt:g.createdAt),children:[r.jsx(_t,{className:"w-3 h-3"}),r.jsxs("span",{children:["Created ",A0(_!==null&&ge?ge.createdAt:g.createdAt)]})]}),r.jsxs("div",{className:"flex items-center gap-1",title:O0(_!==null&&ge?ge.updatedAt:g.updatedAt),children:[r.jsx(_t,{className:"w-3 h-3"}),r.jsxs("span",{children:["Updated ",A0(_!==null&&ge?ge.updatedAt:g.updatedAt)]})]}),r.jsxs("div",{className:"flex items-center gap-1",children:[r.jsx(Ze,{className:"w-3 h-3"}),r.jsx("span",{className:"font-mono",children:g.createdBy})]})]})]}),r.jsxs("div",{className:`flex items-center ${x?"gap-0.5":"gap-1"} ml-2`,children:[O?r.jsxs(r.Fragment,{children:[r.jsx("button",{onClick:Ne,disabled:N.isPending,"data-testid":"document-save-button",className:`${x?"p-2 touch-target":"p-1.5"} text-green-600 hover:text-green-700 hover:bg-green-50 dark:hover:bg-green-900/30 rounded disabled:opacity-50`,"aria-label":"Save changes",title:"Save (Cmd+S)",children:r.jsx(Jc,{className:"w-5 h-5"})}),r.jsx("button",{onClick:ye,disabled:N.isPending,"data-testid":"document-cancel-button",className:`${x?"p-2 touch-target":"p-1.5"} text-red-600 hover:text-red-700 hover:bg-red-50 dark:hover:bg-red-900/30 rounded disabled:opacity-50`,"aria-label":"Cancel editing",children:r.jsx(Xr,{className:"w-5 h-5"})})]}):r.jsxs(r.Fragment,{children:[r.jsx("button",{onClick:se,disabled:_!==null,"data-testid":"document-edit-button",className:`${x?"p-2 touch-target":"p-1.5"} text-gray-500 dark:text-gray-400 hover:text-gray-700 dark:hover:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-800 rounded disabled:opacity-50 disabled:cursor-not-allowed`,"aria-label":"Edit document",title:_!==null?"Exit preview to edit":"Edit document",children:r.jsx(Xg,{className:"w-5 h-5"})}),!x&&r.jsxs(r.Fragment,{children:[r.jsx("button",{onClick:re,disabled:v.isPending||_!==null,"data-testid":"document-clone-button",className:"p-1.5 text-gray-500 dark:text-gray-400 hover:text-gray-700 dark:hover:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-800 rounded disabled:opacity-50 disabled:cursor-not-allowed","aria-label":"Clone document",title:_!==null?"Exit preview to clone":"Clone document",children:r.jsx(Qm,{className:"w-5 h-5"})}),r.jsx("button",{onClick:()=>q(!M),"data-testid":"document-history-button",className:`p-1.5 rounded ${M?"text-blue-600 bg-blue-50 dark:bg-blue-900/30":"text-gray-500 dark:text-gray-400 hover:text-gray-700 dark:hover:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-800"}`,"aria-label":M?"Hide version history":"Show version history",title:"Version history",children:r.jsx(vn,{className:"w-5 h-5"})})]}),r.jsxs("button",{onClick:()=>K(!U),"data-testid":"document-comments-button",className:`${x?"p-2 touch-target":"p-1.5"} rounded relative ${U?"text-blue-600 bg-blue-50 dark:bg-blue-900/30":"text-gray-500 dark:text-gray-400 hover:text-gray-700 dark:hover:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-800"}`,"aria-label":U?"Hide comments":"Show comments",title:"Comments",children:[r.jsx(vt,{className:"w-5 h-5"}),G>0&&r.jsx("span",{className:"absolute -top-1 -right-1 w-4 h-4 bg-blue-600 text-white text-xs rounded-full flex items-center justify-center",children:G>9?"9+":G})]})]}),!x&&n&&!o&&r.jsx("button",{onClick:n,"data-testid":"document-expand-button",className:`p-1.5 rounded ${a?"text-blue-600 bg-blue-50 dark:bg-blue-900/30":"text-gray-500 dark:text-gray-400 hover:text-gray-700 dark:hover:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-800"}`,"aria-label":a?"Collapse document":"Expand document",title:a?"Show document list":"Hide document list",children:a?r.jsx(GO,{className:"w-5 h-5"}):r.jsx(C2,{className:"w-5 h-5"})}),!x&&o?r.jsx("button",{onClick:d,"data-testid":"document-fullscreen-button",className:"p-1.5 rounded text-blue-600 bg-blue-50 dark:bg-blue-900/30","aria-label":"Exit fullscreen",title:"Exit fullscreen (Escape)",children:r.jsx(YO,{className:"w-5 h-5"})}):!x&&l&&r.jsx("button",{onClick:l,"data-testid":"document-fullscreen-button",className:"p-1.5 rounded text-gray-500 dark:text-gray-400 hover:text-gray-700 dark:hover:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-800","aria-label":"Enter fullscreen",title:"Focus mode (fullscreen)",children:r.jsx(QO,{className:"w-5 h-5"})}),!x&&r.jsx("button",{onClick:o?d:t,className:"p-1 text-gray-400 hover:text-gray-600 dark:hover:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-800 rounded","aria-label":o?"Exit fullscreen":"Close panel","data-testid":"document-detail-close",children:r.jsx(Ee,{className:"w-5 h-5"})})]})]}),N.isError&&r.jsx("div",{"data-testid":"document-update-error",className:`${x?"mx-3":"mx-4"} mt-2 p-2 bg-red-50 dark:bg-red-900/30 text-red-700 dark:text-red-300 text-sm rounded`,children:N.error?.message||"Failed to save document"}),r.jsxs("div",{className:"flex-1 flex overflow-hidden",children:[r.jsxs("div",{className:`flex-1 overflow-y-auto ${x?"p-3":"p-4"}`,children:[_!==null&&ge&&r.jsxs("div",{"data-testid":"document-preview-banner",className:"mb-4 p-3 bg-blue-50 border border-blue-200 rounded-lg flex items-center justify-between",children:[r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsx(ss,{className:"w-4 h-4 text-blue-600"}),r.jsxs("span",{className:"text-sm text-blue-800",children:["Previewing version ",_]})]}),r.jsx("button",{onClick:()=>z(null),"data-testid":"exit-preview-button",className:"text-xs text-blue-600 hover:text-blue-800 font-medium",children:"Exit Preview"})]}),r.jsx("div",{"data-testid":"document-content",className:"mb-6",children:O?r.jsx(gT,{content:C,contentType:g.contentType,onChange:A,onSave:Ne,placeholder:"Start writing...",onComment:we,mentionEntities:le}):r.jsx(eX,{content:_!==null&&ge?ge.content||"":g.content||"",contentType:_!==null&&ge?ge.contentType:g.contentType})}),!_&&r.jsx("div",{className:"mb-6",children:r.jsx(iq,{tags:g.tags||[],onTagsChange:async ke=>{try{await N.mutateAsync({id:e,updates:{tags:ke}})}catch{}},disabled:N.isPending})}),!_&&h&&r.jsx(aX,{documentId:e,onNavigateToDocument:h})]}),M&&r.jsx(tX,{documentId:e,currentVersion:g.version||1,onPreviewVersion:z,previewingVersion:_,onClose:()=>{q(!1),z(null)}}),U&&r.jsx("div",{className:"w-80 flex-shrink-0 border-l border-gray-200 h-full overflow-hidden",children:r.jsx(pX,{documentId:e,onCommentClick:J,currentUserId:"el-0000"})})]}),r.jsx(lX,{isOpen:R,onClose:()=>{L(!1),B(null)},selectedText:F?.selectedText||"",onSubmit:me,isSubmitting:T.isPending}),r.jsx(Ay,{isOpen:W,onClose:()=>te(!1),onSelect:Y})]})}function NX(){const e=rr(),t=kn({from:"/documents"}),a=Et();Va();const n=$e(),{data:o=[],isLoading:l,error:d}=zQ(),[u,m]=y.useState(t.library??null),[h,x]=y.useState(t.selected??null),[g,p]=y.useState(!1),[j,k]=y.useState(!1),[N,v]=y.useState(!1),[T,E]=y.useState(null),[O,S]=y.useState(null),{data:C}=_T(T||""),A=C?._documents?.length||0,$=Re({mutationFn:async({libraryId:pe,cascade:ke})=>{const _e=await fetch(`/api/libraries/${pe}?cascade=${ke}`,{method:"DELETE"});if(!_e.ok){const Le=await _e.json();throw new Error(Le.error?.message||"Failed to delete library")}return _e.json()},onSuccess:()=>{n.invalidateQueries({queryKey:["libraries"]}),n.invalidateQueries({queryKey:["documents"]}),v(!1),T===u&&m(null),E(null),S(null)},onError:pe=>{S(pe.message)}}),[P,M]=y.useState(!1),[q,_]=y.useState(!1),[z,U]=y.useState(!1),[K,R]=y.useState(new Set);y.useEffect(()=>{q||(localStorage.getItem("document.expanded")==="true"&&M(!0),_(!0))},[q]);const L=pe=>{M(ke=>{const _e=typeof pe=="function"?pe(ke):pe;return localStorage.setItem("document.expanded",_e.toString()),_e})};y.useEffect(()=>{const pe=ke=>{ke.key==="Escape"&&z&&U(!1)};return document.addEventListener("keydown",pe),()=>document.removeEventListener("keydown",pe)},[z]);const{data:F}=Q5(),B=cd({data:F,selectedId:t.selected,currentPage:1,pageSize:1e3,getId:pe=>pe.id,routePath:"/documents",rowTestIdPrefix:"document-item-",autoNavigate:!1,highlightDelay:200});y.useEffect(()=>{t.selected&&t.selected!==h&&x(t.selected),!t.selected&&h&&x(null),t.library&&t.library!==u&&m(t.library),!t.library&&u&&m(null)},[t.selected,t.library]);const H=pe=>{R(ke=>{const _e=new Set(ke);return _e.has(pe)?_e.delete(pe):_e.add(pe),_e})},G=pe=>{const ke=o.find(Ue=>Ue.id===pe);if(!ke)return;const _e=[];let Le=ke;for(;Le.parentId;){_e.push(Le.parentId);const Ue=o.find(Ge=>Ge.id===Le.parentId);if(!Ue)break;Le=Ue}_e.length>0&&R(Ue=>{const Ge=new Set(Ue);for(const rt of _e)Ge.add(rt);return Ge})},W=pe=>{m(pe),x(null),L(!1),pe&&G(pe)},te=pe=>{x(pe),e({to:"/documents",search:{selected:pe,library:u??void 0}})},le=()=>{x(null),e({to:"/documents",search:{selected:void 0,library:u??void 0}})},ge=()=>{p(!0)},se=()=>{p(!1)},ye=()=>{k(!0)},Ne=()=>{k(!1)},we=pe=>{m(pe.id)},me=pe=>{x(pe.id)},J=()=>{x(null),e({to:"/documents",search:{selected:void 0,library:u??void 0}})},re=pe=>{S(null),E(pe||u),v(!0)},Y=()=>{v(!1),E(null),S(null)},he=async pe=>{T&&await $.mutateAsync({libraryId:T,cascade:pe})};if(d)return r.jsx("div",{"data-testid":"documents-page-error",className:"flex items-center justify-center h-full px-4",children:r.jsxs("div",{className:"text-center",children:[r.jsx("p",{className:"text-red-500 mb-2",children:"Failed to load libraries"}),r.jsx("p",{className:"text-sm text-gray-500 dark:text-gray-400",children:d.message})]})});const ce=(pe=!1)=>u?r.jsx(iX,{libraryId:u,selectedDocumentId:h,onSelectDocument:te,onSelectLibrary:W,onNewDocument:ge,onDeleteLibrary:re,isMobile:pe}):r.jsx(oX,{selectedDocumentId:h,onSelectDocument:te,onNewDocument:ge,isMobile:pe});return a?r.jsxs("div",{"data-testid":"documents-page",className:"flex flex-col h-full relative",children:[!h&&r.jsxs(r.Fragment,{children:[l?r.jsx("div",{"data-testid":"libraries-loading",className:"flex-1 flex items-center justify-center",children:r.jsx("div",{className:"text-gray-500 dark:text-gray-400",children:"Loading..."})}):r.jsx("div",{className:"flex-1 min-h-0 overflow-hidden",children:ce(!0)}),r.jsx("button",{onClick:ge,className:"fixed bottom-20 right-4 w-14 h-14 bg-blue-500 hover:bg-blue-600 text-white rounded-full shadow-lg flex items-center justify-center transition-colors z-30 touch-target","data-testid":"mobile-create-document-fab","aria-label":"Create new document",children:r.jsx(Fe,{className:"w-6 h-6"})})]}),h&&r.jsx(Vo,{open:!0,onClose:J,title:"Document","data-testid":"mobile-document-sheet",children:B.notFound?r.jsx(Ka,{elementType:"Document",elementId:h,backRoute:"/documents",backLabel:"Back to Documents",onDismiss:J}):r.jsx("div",{className:"h-full",children:r.jsx(Yg,{documentId:h,onClose:J,isExpanded:!0,isFullscreen:!1,onDocumentCloned:me,libraryId:u,onNavigateToDocument:te,isMobile:!0})})}),r.jsx(y0,{isOpen:g,onClose:se,onSuccess:me,defaultLibraryId:u||void 0,isMobile:!0}),r.jsx(JS,{isOpen:j,onClose:Ne,onSuccess:we,defaultParentId:u||void 0}),r.jsx(T1,{isOpen:N,onClose:Y,onConfirm:he,library:T&&C?{id:T,name:C.name}:null,documentCount:A,isDeleting:$.isPending,error:O,isMobile:!0})]}):r.jsxs("div",{"data-testid":"documents-page",className:"flex h-full",children:[z&&h&&r.jsx("div",{"data-testid":"document-fullscreen-panel",className:"fixed inset-0 z-50 bg-white dark:bg-gray-900 flex flex-col",children:r.jsx(Yg,{documentId:h,onClose:()=>U(!1),isExpanded:!0,onToggleExpand:()=>U(!1),isFullscreen:!0,onExitFullscreen:()=>U(!1),onDocumentCloned:me,libraryId:u,onNavigateToDocument:te})}),!z&&r.jsx(r.Fragment,{children:l?r.jsx("div",{"data-testid":"libraries-loading",className:"w-64 border-r border-gray-200 dark:border-[var(--color-border)] flex items-center justify-center",children:r.jsx("div",{className:"text-gray-500 dark:text-gray-400",children:"Loading libraries..."})}):r.jsx("div",{"data-testid":"library-tree-sidebar",children:r.jsx(sX,{libraries:o,selectedLibraryId:u,expandedIds:K,onSelectLibrary:W,onToggleExpand:H,onNewDocument:ge,onNewLibrary:ye,onSelectDocument:te,onDeleteLibrary:re})})}),!z&&r.jsxs("div",{className:"flex-1 flex overflow-hidden",children:[(!h||!P)&&r.jsx("div",{className:`${h?"flex-1 border-r border-gray-200 dark:border-[var(--color-border)]":"flex-1"} h-full overflow-hidden`,children:ce()}),h&&r.jsx("div",{className:"flex-1 flex-shrink-0 overflow-hidden",children:B.notFound?r.jsx(Ka,{elementType:"Document",elementId:h,backRoute:"/documents",backLabel:"Back to Documents",onDismiss:le}):r.jsx(Yg,{documentId:h,onClose:le,isExpanded:P,onToggleExpand:()=>L(!P),isFullscreen:!1,onEnterFullscreen:()=>U(!0),onDocumentCloned:me,libraryId:u,onNavigateToDocument:te})})]}),r.jsx(y0,{isOpen:g,onClose:se,onSuccess:me,defaultLibraryId:u||void 0}),r.jsx(JS,{isOpen:j,onClose:Ne,onSuccess:we,defaultParentId:u||void 0}),r.jsx(T1,{isOpen:N,onClose:Y,onConfirm:he,library:T&&C?{id:T,name:C.name}:null,documentCount:A,isDeleting:$.isPending,error:O,isMobile:a})]})}function SX(e){return be({queryKey:["plans",e,"with-progress"],queryFn:async()=>{const t=new URLSearchParams;t.set("hydrate.progress","true"),e&&t.set("status",e);const a=await fetch(`/api/plans?${t.toString()}`);if(!a.ok)throw new Error("Failed to fetch plans");return a.json()}})}function CX(){const e=rr(),t=kn({from:"/plans"}),a=Et(),{openCreatePlanModal:n}=vy();Va();const[o,l]=y.useState(t.status??null),[d,u]=y.useState(t.selected??null),[m,h]=y.useState(()=>typeof window<"u"&&window.innerWidth<640?"list":S9()),[x,g]=y.useState(k9()),p=Nf(x,w9),{data:j}=XK(),{data:k=[],isLoading:N,error:v}=SX(o??void 0),T=y.useMemo(()=>k&&k.length>0?k:j&&j.length>0?o?j.filter(R=>R.status===o):j:[],[j,k,o]),{filteredPlans:E,matchIndicesMap:O}=y.useMemo(()=>{if(!p.trim())return{filteredPlans:T,matchIndicesMap:new Map};const R=new Map;return{filteredPlans:T.filter(F=>{const B=T9(F.title,p);return B&&B.matched?(R.set(F.id,B.indices),!0):!1}),matchIndicesMap:R}},[T,p]),S=E,C=N,A=cd({data:j,selectedId:t.selected,currentPage:1,pageSize:1e3,getId:R=>R.id,routePath:"/plans",rowTestIdPrefix:"plan-item-",autoNavigate:!1,highlightDelay:200});y.useEffect(()=>{t.selected&&t.selected!==d&&u(t.selected),t.status&&t.status!==o&&l(t.status)},[t.selected,t.status]),y.useEffect(()=>{N9(p)},[p]);const $=R=>{u(R),e({to:"/plans",search:{selected:R,status:o??void 0}})},P=()=>{u(null),e({to:"/plans",search:{selected:void 0,status:o??void 0}})},M=R=>{l(R),e({to:"/plans",search:{selected:d??void 0,status:R??void 0}})},q=R=>{g(R)},_=()=>{g("")},z=R=>{h(R),C9(R)},U=p.trim().length>0,K=T.length;return r.jsxs("div",{"data-testid":"plans-page",className:"h-full flex flex-col",children:[r.jsx(wn,{title:"Plans",icon:Fs,iconColor:"text-blue-500",count:S.length>0?S.length:void 0,totalCount:U&&K!==S.length?K:void 0,bordered:!0,actions:[{label:"Create Plan",shortLabel:"Create",icon:Fe,onClick:n,shortcut:or("action.createPlan"),testId:"create-plan-btn"}],testId:"plans-header",children:r.jsxs("div",{className:"space-y-3",children:[r.jsx(q9,{value:x,onChange:q,onClear:_}),r.jsxs("div",{className:"flex items-center justify-between gap-4",children:[r.jsx("div",{className:a?"overflow-x-auto -mx-3 px-3 scrollbar-hide flex-1":"",children:r.jsx(B9,{selectedStatus:o,onStatusChange:M})}),!a&&r.jsx(z9,{view:m,onViewChange:z})]})]})}),r.jsxs("div",{className:`flex-1 flex overflow-hidden ${d&&a?"hidden":""}`,children:[r.jsxs("div",{className:`flex-1 overflow-y-auto bg-[var(--color-bg)] ${m==="roadmap"?"overflow-x-auto p-4":a?"":"p-4"}`,tabIndex:0,role:"region","aria-label":"Plan content",children:[C&&r.jsx("div",{"data-testid":"plans-loading",className:"text-center py-12 text-[var(--color-text-secondary)]",children:"Loading plans..."}),v&&r.jsx("div",{"data-testid":"plans-error",className:"text-center py-12 text-red-500",children:"Failed to load plans"}),!C&&!v&&S.length===0&&r.jsxs("div",{"data-testid":"plans-empty",className:"text-center py-12",children:[r.jsx(Fs,{className:"w-12 h-12 text-[var(--color-border)] mx-auto mb-3"}),U?r.jsxs(r.Fragment,{children:[r.jsxs("p",{className:"text-[var(--color-text-secondary)]","data-testid":"plans-no-search-results",children:['No plans matching "',p,'"']}),r.jsx("button",{onClick:_,className:"mt-2 text-sm text-blue-600 hover:text-blue-800","data-testid":"plans-clear-search",children:"Clear search"})]}):r.jsxs(r.Fragment,{children:[r.jsx("p",{className:"text-[var(--color-text-secondary)]",children:"No plans found"}),r.jsx("p",{className:"text-sm text-[var(--color-text-muted)] mt-1",children:o?`No ${o} plans available`:"Create your first plan to get started"})]})]}),!C&&!v&&S.length>0&&m==="list"&&a&&r.jsx("div",{"data-testid":"mobile-plans-list",children:S.map(R=>r.jsx(W9,{plan:R,isSelected:d===R.id,onClick:()=>$(R.id),searchMatchIndices:O.get(R.id)},R.id))}),!C&&!v&&S.length>0&&m==="list"&&!a&&r.jsx("div",{"data-testid":"plans-list",className:"space-y-3",children:S.map(R=>r.jsx(F9,{plan:R,isSelected:d===R.id,onClick:$,searchMatchIndices:O.get(R.id)},R.id))}),!C&&!v&&S.length>0&&m==="roadmap"&&!a&&r.jsx(G9,{plans:S,onPlanClick:$,selectedPlanId:d})]}),d&&!a&&r.jsx("div",{className:"w-96 flex-shrink-0 border-l border-[var(--color-border)]","data-testid":"plan-detail-container",children:A.notFound?r.jsx(Ka,{elementType:"Plan",elementId:d,backRoute:"/plans",backLabel:"Back to Plans",onDismiss:P}):r.jsx(N1,{planId:d,onClose:P})})]}),d&&a&&r.jsx(Vo,{open:!!d,onClose:P,title:"Plan Details","data-testid":"mobile-plan-detail-sheet",children:A.notFound?r.jsx(Ka,{elementType:"Plan",elementId:d,backRoute:"/plans",backLabel:"Back to Plans",onDismiss:P}):r.jsx(N1,{planId:d,onClose:P})}),a&&!d&&r.jsx("button",{onClick:n,className:"fixed bottom-6 right-6 w-14 h-14 flex items-center justify-center bg-blue-600 hover:bg-blue-700 text-white rounded-full shadow-lg z-40 touch-target","aria-label":"Create new plan","data-testid":"mobile-create-plan-fab",children:r.jsx(Fe,{className:"w-6 h-6"})})]})}function TX(){const e=kn({from:"/workflows"}),t=rr(),a=e.tab||"templates",n=e.selected,[o,l]=y.useState(""),[d,u]=y.useState(!1),[m,h]=y.useState(null),[x,g]=y.useState(!1),[p,j]=y.useState(null);y.useEffect(()=>{e.action==="create"&&(g(!0),j(null),t({to:"/workflows",search:{tab:"templates",selected:void 0},replace:!0}))},[e.action,t]);const{data:k,isLoading:N,error:v,refetch:T}=B5(),E=k?.playbooks??[],{data:O,isLoading:S,error:C,refetch:A}=GU(),$=O?.workflows??[],{workflow:P,tasks:M,progress:q,dependencies:_,isLoading:z,error:U}=XU(n),K=y.useMemo(()=>$.filter(ce=>ce.status==="pending"||ce.status==="running"),[$]),R=y.useMemo(()=>$.filter(ce=>["completed","failed","cancelled"].includes(ce.status)),[$]),L=WU(),F=ZU(),B=y.useMemo(()=>{const ce=o.toLowerCase().trim();return ce?E.filter(pe=>pe.name.toLowerCase().includes(ce)||pe.title.toLowerCase().includes(ce)):E},[o,E]),H=y.useMemo(()=>{const ce=o.toLowerCase().trim();return ce?K.filter(pe=>pe.title.toLowerCase().includes(ce)):K},[o,K]),G=y.useMemo(()=>{const ce=o.toLowerCase().trim();return ce?R.filter(pe=>pe.title.toLowerCase().includes(ce)):R},[o,R]),W=ce=>{t({to:"/workflows",search:{selected:e.selected,tab:ce}})},te=ce=>{h(ce),u(!0)},le=ce=>{console.log("Workflow created:",ce.id,ce.title),W("active")},ge=()=>{j(null),g(!0)},se=ce=>{j(ce),g(!0)},ye=()=>{T()},Ne=async ce=>{try{await L.mutateAsync({workflowId:ce,reason:"Cancelled by user"})}catch(pe){console.error("Failed to cancel workflow:",pe)}},we=async ce=>{try{await F.mutateAsync({workflowId:ce})}catch(pe){console.error("Failed to delete workflow:",pe)}},me=ce=>{t({to:"/workflows",search:{tab:e.tab??"active",selected:ce}})},J=()=>{t({to:"/workflows",search:{tab:e.tab??"active",selected:void 0}})},re=a==="templates"?N:S,Y=a==="templates"?v:C,he=a==="templates"?T:A;return n&&P?r.jsxs("div",{className:"space-y-6 animate-fade-in","data-testid":"workflow-detail-page",children:[r.jsx("div",{className:"flex items-center gap-4",children:r.jsxs("button",{onClick:J,className:"flex items-center gap-2 px-3 py-2 text-sm text-[var(--color-text-secondary)] hover:text-[var(--color-text)] rounded-md hover:bg-[var(--color-surface-hover)] transition-colors","data-testid":"workflow-back-button",children:[r.jsx(rd,{className:"w-4 h-4"}),"Back to Workflows"]})}),U&&r.jsxs("div",{className:"flex items-center gap-3 p-4 bg-red-50 dark:bg-red-900/20 border border-red-200 dark:border-red-800 rounded-lg",children:[r.jsx(dt,{className:"w-5 h-5 text-red-500"}),r.jsxs("div",{children:[r.jsx("p",{className:"text-sm font-medium text-red-800 dark:text-red-200",children:"Error loading workflow"}),r.jsx("p",{className:"text-sm text-red-600 dark:text-red-400",children:U.message})]})]}),r.jsx(wK,{workflow:P,tasks:M,progress:q,dependencies:_,isLoading:z})]}):n&&z?r.jsx("div",{className:"flex items-center justify-center py-16",children:r.jsx(je,{className:"w-8 h-8 text-[var(--color-primary)] animate-spin"})}):r.jsxs("div",{className:"space-y-6 animate-fade-in","data-testid":"workflows-page",children:[r.jsxs("div",{className:"flex items-center justify-between",children:[r.jsxs("div",{className:"flex items-center gap-3",children:[r.jsx("div",{className:"p-2 rounded-lg bg-[var(--color-primary-muted)]",children:r.jsx(bn,{className:"w-5 h-5 text-[var(--color-primary)]"})}),r.jsxs("div",{children:[r.jsx("h1",{className:"text-xl font-semibold text-[var(--color-text)]",children:"Workflows"}),r.jsx("p",{className:"text-sm text-[var(--color-text-secondary)]",children:"Manage workflow templates and active workflows"})]})]}),r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsx("button",{onClick:()=>he(),className:"flex items-center gap-2 px-3 py-2 text-sm text-[var(--color-text-secondary)] rounded-md hover:bg-[var(--color-surface-hover)] transition-colors duration-150",title:"Refresh",children:r.jsx(Xs,{className:`w-4 h-4 ${re?"animate-spin":""}`})}),a==="templates"&&r.jsxs("button",{onClick:ge,className:"flex items-center gap-2 px-3 py-2 text-sm font-medium text-white bg-[var(--color-primary)] rounded-md hover:bg-[var(--color-primary-hover)] transition-colors duration-150","data-testid":"workflows-create",children:[r.jsx(Fe,{className:"w-4 h-4"}),"Create Template",r.jsx("kbd",{className:"ml-1 text-xs bg-[var(--color-primary-700)]/50 text-white px-1 py-0.5 rounded",children:AU(or("action.createWorkflow"))})]})]})]}),r.jsxs("div",{className:"relative",children:[r.jsx(Ve,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-[var(--color-text-tertiary)]"}),r.jsx("input",{type:"text",placeholder:a==="templates"?"Search templates...":"Search workflows...",value:o,onChange:ce=>l(ce.target.value),className:"w-full pl-10 pr-4 py-2 text-sm text-[var(--color-text)] placeholder:text-[var(--color-text-tertiary)] bg-[var(--color-surface)] border border-[var(--color-border)] rounded-md focus:outline-none focus:ring-2 focus:ring-[var(--color-primary)] focus:border-transparent","data-testid":"workflows-search"})]}),r.jsx("div",{className:"border-b border-[var(--color-border)]",children:r.jsxs("nav",{className:"flex gap-4","aria-label":"Tabs",children:[r.jsxs("button",{onClick:()=>W("templates"),className:`pb-3 px-1 text-sm font-medium border-b-2 transition-colors ${a==="templates"?"text-[var(--color-primary)] border-[var(--color-primary)]":"text-[var(--color-text-secondary)] hover:text-[var(--color-text)] border-transparent hover:border-[var(--color-border)]"}`,"data-testid":"workflows-tab-templates",children:["Templates",E.length>0&&r.jsx("span",{className:"ml-2 px-2 py-0.5 text-xs rounded-full bg-[var(--color-primary-muted)] text-[var(--color-primary)]",children:E.length})]}),r.jsxs("button",{onClick:()=>W("active"),className:`pb-3 px-1 text-sm font-medium border-b-2 transition-colors ${a==="active"?"text-[var(--color-primary)] border-[var(--color-primary)]":"text-[var(--color-text-secondary)] hover:text-[var(--color-text)] border-transparent hover:border-[var(--color-border)]"}`,"data-testid":"workflows-tab-active",children:["Active",K.length>0&&r.jsx("span",{className:"ml-2 px-2 py-0.5 text-xs rounded-full bg-blue-100 dark:bg-blue-900/30 text-blue-600 dark:text-blue-400",children:K.length})]})]})}),Y&&r.jsxs("div",{className:"flex items-center gap-3 p-4 bg-red-50 dark:bg-red-900/20 border border-red-200 dark:border-red-800 rounded-lg",children:[r.jsx(dt,{className:"w-5 h-5 text-red-500"}),r.jsxs("div",{children:[r.jsx("p",{className:"text-sm font-medium text-red-800 dark:text-red-200",children:"Error loading data"}),r.jsx("p",{className:"text-sm text-red-600 dark:text-red-400",children:Y.message})]}),r.jsx("button",{onClick:()=>he(),className:"ml-auto px-3 py-1 text-sm text-red-600 dark:text-red-400 hover:bg-red-100 dark:hover:bg-red-900/30 rounded",children:"Retry"})]}),re&&r.jsx("div",{className:"flex items-center justify-center py-16",children:r.jsx(je,{className:"w-8 h-8 text-[var(--color-primary)] animate-spin"})}),!re&&!Y&&a==="templates"&&r.jsx(r.Fragment,{children:B.length===0?r.jsxs("div",{className:"flex flex-col items-center justify-center py-16 px-4 border border-dashed border-[var(--color-border)] rounded-lg",children:[r.jsx(pn,{className:"w-12 h-12 text-[var(--color-text-tertiary)] mb-4"}),r.jsx("h3",{className:"text-lg font-medium text-[var(--color-text)]",children:o?"No matching templates":"No workflow templates"}),r.jsx("p",{className:"mt-1 text-sm text-[var(--color-text-secondary)] text-center max-w-md",children:o?"Try adjusting your search query.":"Create workflow templates to define reusable sequences of tasks. Templates can be used to create active workflows."}),!o&&r.jsx("div",{className:"mt-4",children:r.jsxs("button",{onClick:ge,className:"flex items-center gap-2 px-4 py-2 text-sm font-medium text-white bg-[var(--color-primary)] rounded-md hover:bg-[var(--color-primary-hover)] transition-colors duration-150","data-testid":"workflows-create-empty",children:[r.jsx(Fe,{className:"w-4 h-4"}),"Create Template"]})})]}):r.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4","data-testid":"playbooks-grid",children:B.map(ce=>r.jsx(rK,{playbook:ce,onCreate:te,onEdit:se},ce.id))})}),!re&&!Y&&a==="active"&&r.jsx(r.Fragment,{children:H.length===0&&G.length===0?r.jsxs("div",{className:"flex flex-col items-center justify-center py-16 px-4 border border-dashed border-[var(--color-border)] rounded-lg",children:[r.jsx(bn,{className:"w-12 h-12 text-[var(--color-text-tertiary)] mb-4"}),r.jsx("h3",{className:"text-lg font-medium text-[var(--color-text)]",children:o?"No matching workflows":"No workflows"}),r.jsx("p",{className:"mt-1 text-sm text-[var(--color-text-secondary)] text-center max-w-md",children:o?"Try adjusting your search query.":"Use a template to create a new workflow, or create an ad-hoc workflow."}),!o&&r.jsx("div",{className:"mt-4",children:r.jsxs("button",{onClick:()=>W("templates"),className:"flex items-center gap-2 px-4 py-2 text-sm font-medium text-white bg-[var(--color-primary)] rounded-md hover:bg-[var(--color-primary-hover)] transition-colors duration-150",children:[r.jsx(pn,{className:"w-4 h-4"}),"View Templates"]})})]}):r.jsxs("div",{className:"space-y-6",children:[H.length>0&&r.jsxs("div",{children:[r.jsxs("h2",{className:"text-sm font-medium text-[var(--color-text-secondary)] mb-3",children:["Active (",H.length,")"]}),r.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4","data-testid":"active-workflows-grid",children:H.map(ce=>r.jsx(oS,{workflow:ce,onCancel:Ne,onDelete:we,onViewDetails:me},ce.id))})]}),G.length>0&&r.jsxs("div",{children:[r.jsxs("h2",{className:"text-sm font-medium text-[var(--color-text-secondary)] mb-3",children:["Recent (",G.length,")"]}),r.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4","data-testid":"terminal-workflows-grid",children:G.slice(0,9).map(ce=>r.jsx(oS,{workflow:ce,onCancel:Ne,onDelete:we,onViewDetails:me},ce.id))}),G.length>9&&r.jsxs("p",{className:"mt-4 text-sm text-[var(--color-text-secondary)] text-center",children:["Showing 9 of ",G.length," completed workflows"]})]})]})}),r.jsx(q5,{isOpen:d,onClose:()=>{u(!1),h(null)},playbookId:m,onSuccess:le}),r.jsx(hK,{isOpen:x,onClose:()=>{g(!1),j(null)},playbookId:p,onSuccess:ye})]})}const EX=25,Qr={agent:{bg:"bg-purple-100",text:"text-purple-800",icon:tr},human:{bg:"bg-blue-100",text:"text-blue-800",icon:Ze},system:{bg:"bg-gray-100",text:"text-gray-800",icon:gr}},OX=[{value:"all",label:"All",icon:Bt},{value:"agent",label:"Agents",icon:tr},{value:"human",label:"Humans",icon:Ze},{value:"system",label:"Systems",icon:gr}],n2={open:"bg-blue-100 text-blue-800",in_progress:"bg-yellow-100 text-yellow-800",blocked:"bg-red-100 text-red-800",closed:"bg-green-100 text-green-800"},s2={1:"text-red-600",2:"text-orange-600",3:"text-yellow-600",4:"text-green-600",5:"text-gray-500"},AX=[{value:"unread",label:"Unread"},{value:"all",label:"All"},{value:"archived",label:"Archived"}],$X=[{value:"all",label:"All Events"},{value:"created",label:"Created"},{value:"updated",label:"Updated"},{value:"closed",label:"Closed"},{value:"deleted",label:"Deleted"}],Nn={HISTORY_PAGE_SIZE:"history.pageSize",HISTORY_EVENT_TYPE:"history.eventType",INBOX_VIEW:"inbox.view",INBOX_SOURCE_FILTER:"inbox.sourceFilter",INBOX_SORT_ORDER:"inbox.sortOrder"};function RT(e){return be({queryKey:["entities",e],queryFn:async()=>{const t=await fetch(`/api/entities/${e}`);if(!t.ok)throw new Error("Failed to fetch entity");return t.json()},enabled:!!e})}function DX(e){return be({queryKey:["entities","byName",e],queryFn:async()=>{const t=await fetch(`/api/entities?search=${encodeURIComponent(e)}&limit=1000`);if(!t.ok)throw new Error("Failed to fetch entity");return(await t.json()).items.find(o=>o.name.toLowerCase()===e.toLowerCase())??null},enabled:!!e})}function _X(e){return be({queryKey:["entities",e,"stats"],queryFn:async()=>{const t=await fetch(`/api/entities/${e}/stats`);if(!t.ok)throw new Error("Failed to fetch entity stats");return t.json()},enabled:!!e})}function MX(e){return be({queryKey:["entities",e,"tasks"],queryFn:async()=>{const t=await fetch(`/api/entities/${e}/tasks`);if(!t.ok)throw new Error("Failed to fetch entity tasks");return t.json()},enabled:!!e})}function LX(e){return be({queryKey:["entities",e,"events"],queryFn:async()=>{const t=await fetch(`/api/entities/${e}/events?limit=20`);if(!t.ok)throw new Error("Failed to fetch entity events");return t.json()},enabled:!!e})}function PX(e,t=365){return be({queryKey:["entities",e,"activity",t],queryFn:async()=>{const a=await fetch(`/api/entities/${e}/activity?days=${t}`);if(!a.ok)throw new Error("Failed to fetch entity activity");return a.json()},enabled:!!e})}function RX(e){return be({queryKey:["entities",e,"mentions"],queryFn:async()=>{const t=await fetch(`/api/entities/${e}/mentions`);if(!t.ok)throw new Error("Failed to fetch entity mentions");return t.json()},enabled:!!e})}function IX(e,t=1,a=25,n="all"){const o=(t-1)*a;return be({queryKey:["entities",e,"history",t,a,n],queryFn:async()=>{const l=new URLSearchParams({limit:a.toString(),offset:o.toString()});n!=="all"&&l.set("eventType",n);const d=await fetch(`/api/entities/${e}/history?${l}`);if(!d.ok)throw new Error("Failed to fetch entity history");return d.json()},enabled:!!e})}function BX(e,t="all"){return be({queryKey:["entities",e,"inbox",t],queryFn:async()=>{const a=new URLSearchParams({limit:"50",hydrate:"true"});t==="unread"?a.set("status","unread"):t==="archived"?a.set("status","archived"):a.set("status","unread,read");const n=await fetch(`/api/entities/${e}/inbox?${a}`);if(!n.ok)throw new Error("Failed to fetch inbox");return n.json()},enabled:!!e})}function zX(e){return be({queryKey:["entities",e,"inbox","count"],queryFn:async()=>{const t=await fetch(`/api/entities/${e}/inbox/count`);if(!t.ok)throw new Error("Failed to fetch inbox count");return t.json()},enabled:!!e})}function qX(e,t){return be({queryKey:["entities",e,"inbox",t,"count"],queryFn:async()=>{const a=new URLSearchParams({limit:"1",status:t}),n=await fetch(`/api/entities/${e}/inbox?${a}`);if(!n.ok)throw new Error("Failed to fetch inbox count");return n.json()},enabled:!!e,select:a=>a})}function FX(e){const t=$e();return Re({mutationFn:async({itemId:a,status:n})=>{const o=await fetch(`/api/inbox/${a}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({status:n})});if(!o.ok)throw new Error("Failed to update inbox item");return o.json()},onSuccess:()=>{t.invalidateQueries({queryKey:["entities",e,"inbox"]})}})}function UX(e){const t=$e();return Re({mutationFn:async()=>{const a=await fetch(`/api/entities/${e}/inbox/mark-all-read`,{method:"POST"});if(!a.ok)throw new Error("Failed to mark all as read");return a.json()},onSuccess:()=>{t.invalidateQueries({queryKey:["entities",e,"inbox"]})}})}function KX(e=""){return be({queryKey:["entities","all",e],queryFn:async()=>{const t=new URLSearchParams({limit:"100",orderBy:"name",orderDir:"asc"});e.trim()&&t.set("search",e.trim());const a=await fetch(`/api/entities?${t}`);if(!a.ok)throw new Error("Failed to fetch entities");return a.json()}})}function HX(e){return be({queryKey:["entities",e,"reports"],queryFn:async()=>{const t=await fetch(`/api/entities/${e}/reports`);if(!t.ok)throw new Error("Failed to fetch direct reports");return t.json()},enabled:!!e})}function VX(e){return be({queryKey:["entities",e,"chain"],queryFn:async()=>{const t=await fetch(`/api/entities/${e}/chain`);if(!t.ok)throw new Error("Failed to fetch management chain");return t.json()},enabled:!!e})}function GX(e){const t=$e();return Re({mutationFn:async a=>{const n=await fetch(`/api/entities/${e}/manager`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({managerId:a})});if(!n.ok){const o=await n.json();throw new Error(o.error?.message||"Failed to set manager")}return n.json()},onSuccess:()=>{t.invalidateQueries({queryKey:["entities"]}),t.invalidateQueries({queryKey:["entities",e]}),t.invalidateQueries({queryKey:["entities",e,"chain"]}),t.invalidateQueries({queryKey:["entities",void 0,"reports"]})}})}function YX(e){const t=$e();return Re({mutationFn:async a=>{const n=await fetch(`/api/entities/${e}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)});if(!n.ok){const o=await n.json();throw new Error(o.error?.message||"Failed to update entity")}return n.json()},onSuccess:()=>{t.invalidateQueries({queryKey:["entities"]}),t.invalidateQueries({queryKey:["entities",e]}),t.invalidateQueries({queryKey:["entities",e,"stats"]})}})}function Gi({icon:e,label:t,value:a,color:n="text-gray-600"}){return r.jsxs("div",{className:"bg-gray-50 rounded-lg p-3",children:[r.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[r.jsx(e,{className:`w-4 h-4 ${n}`}),r.jsx("span",{className:"text-xs text-gray-500",children:t})]}),r.jsx("span",{className:"text-lg font-semibold text-gray-900",children:a})]})}function QX({task:e,onClick:t}){const a=n2[e.status]||n2.open,n=s2[e.priority]||s2[3],o=()=>{t&&t(e.id)},l=d=>{(d.key==="Enter"||d.key===" ")&&t&&(d.preventDefault(),t(e.id))};return r.jsxs("div",{className:`bg-white border border-gray-100 rounded p-2 ${t?"cursor-pointer hover:border-blue-300 hover:bg-blue-50/50 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-1 transition-colors":"hover:border-gray-200"}`,onClick:o,onKeyDown:l,role:t?"button":void 0,tabIndex:t?0:void 0,"data-testid":`task-mini-card-${e.id}`,children:[r.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[r.jsx("span",{className:`px-1.5 py-0.5 text-xs font-medium rounded ${a}`,children:e.status.replace("_"," ")}),r.jsxs("span",{className:`text-xs font-medium ${n}`,children:["P",e.priority]})]}),r.jsx("p",{className:"text-sm text-gray-900 line-clamp-2",children:e.title})]})}function XX({selected:e,onChange:t,counts:a}){return r.jsx("div",{className:"flex gap-1 p-1 bg-gray-100 rounded-lg","data-testid":"entity-filter-tabs",children:OX.map(n=>{const o=n.icon,l=e===n.value;return r.jsxs("button",{onClick:()=>t(n.value),className:`flex items-center gap-1.5 px-3 py-1.5 text-sm font-medium rounded-md transition-colors ${l?"bg-white text-gray-900 shadow-sm":"text-gray-600 hover:text-gray-900 hover:bg-gray-50"}`,"data-testid":`entity-filter-${n.value}`,children:[r.jsx(o,{className:"w-4 h-4"}),r.jsx("span",{children:n.label}),r.jsx("span",{className:`ml-1 px-1.5 py-0.5 text-xs rounded-full ${l?"bg-gray-100 text-gray-700":"bg-gray-200 text-gray-700"}`,children:a[n.value]})]},n.value)})})}function WX({value:e,onChange:t}){return r.jsxs("div",{className:"relative","data-testid":"entity-search",children:[r.jsx(Ve,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-gray-400"}),r.jsx("input",{type:"text",value:e,onChange:a=>t(a.target.value),placeholder:"Search entities...",className:"w-full pl-9 pr-4 py-2 text-sm border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500","data-testid":"entity-search-input"})]})}function ZX({event:e}){const t=()=>{const l=e.elementType||"";switch(e.eventType){case"closed":return r.jsx(Gt,{className:"w-4 h-4 text-green-500"});case"created":return r.jsx(Fe,{className:"w-4 h-4 text-green-500"});case"deleted":return r.jsx(Ee,{className:"w-4 h-4 text-red-500"})}switch(l){case"task":return r.jsx(_r,{className:"w-4 h-4 text-blue-500"});case"message":return r.jsx(vt,{className:"w-4 h-4 text-purple-500"});case"document":return r.jsx(Je,{className:"w-4 h-4 text-yellow-600"});case"entity":return r.jsx(Ze,{className:"w-4 h-4 text-gray-500"});case"team":return r.jsx(Bt,{className:"w-4 h-4 text-indigo-500"});default:return r.jsx(Ks,{className:"w-4 h-4 text-gray-400"})}},a=()=>{switch(e.eventType){case"closed":return"bg-green-100";case"created":return"bg-green-100";case"deleted":return"bg-red-100"}switch(e.elementType||""){case"task":return"bg-blue-100";case"message":return"bg-purple-100";case"document":return"bg-yellow-100";case"entity":return"bg-gray-100";case"team":return"bg-indigo-100";default:return"bg-gray-100"}},n=()=>{const l=e.elementType||"item",d=e.eventType;if(d==="closed"&&l==="task")return"Completed task";if(d==="created"&&l==="message")return"Sent message";if(d==="updated"&&l==="document")return"Edited document";if(d==="created"&&l==="task")return"Created task";if(d==="created"&&l==="document")return"Created document";const u=d.replace(/_/g," ");return`${u.charAt(0).toUpperCase()+u.slice(1)} ${l}`},o=l=>{const d=new Date(l),m=new Date().getTime()-d.getTime(),h=Math.floor(m/6e4),x=Math.floor(m/36e5),g=Math.floor(m/864e5);return h<1?"just now":h<60?`${h}m ago`:x<24?`${x}h ago`:g<7?`${g}d ago`:d.toLocaleDateString()};return r.jsxs("div",{className:"flex items-start gap-3 py-2.5","data-testid":`activity-item-${e.id}`,children:[r.jsx("div",{className:`w-8 h-8 rounded-full flex items-center justify-center flex-shrink-0 ${a()}`,children:t()}),r.jsxs("div",{className:"flex-1 min-w-0",children:[r.jsx("p",{className:"text-sm text-gray-900",children:n()}),r.jsx("p",{className:"text-xs text-gray-500 font-mono truncate",children:e.elementId})]}),r.jsx("span",{className:"text-xs text-gray-400 whitespace-nowrap",children:o(e.createdAt)})]})}function JX({event:e,isExpanded:t,onToggle:a}){const n=`${e.id}`.padStart(7,"0").slice(0,7),o=()=>{switch(e.eventType){case"created":return"text-green-600";case"updated":return"text-blue-600";case"closed":return"text-purple-600";case"deleted":return"text-red-600";case"reopened":return"text-yellow-600";default:return"text-gray-600"}},l=()=>{const x=e.elementType||"element",g=e.eventType;switch(g){case"created":return`Create ${x}`;case"updated":return`Update ${x}`;case"closed":return x==="task"?"Complete task":`Close ${x}`;case"deleted":return`Delete ${x}`;case"reopened":return`Reopen ${x}`;case"added_dependency":return"Add dependency";case"removed_dependency":return"Remove dependency";case"auto_blocked":return"Auto-blocked by dependency";case"auto_unblocked":return"Auto-unblocked (dependency resolved)";default:return g.replace(/_/g," ")}},d=()=>{const x=new Date(e.createdAt),g=new Date,p=g.getTime()-x.getTime(),j=Math.floor(p/864e5);return j===0?x.toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit"}):j<7?`${j} day${j===1?"":"s"} ago`:x.toLocaleDateString(void 0,{month:"short",day:"numeric",year:x.getFullYear()!==g.getFullYear()?"numeric":void 0})},u=x=>x==null?"(none)":typeof x=="string"?x:typeof x=="number"||typeof x=="boolean"?String(x):Array.isArray(x)?x.join(", ")||"(empty)":typeof x=="object"?JSON.stringify(x,null,2):String(x),h=t?(()=>{const x=[],g=e.oldValue,p=e.newValue;return!g&&p?Object.entries(p).forEach(([j,k])=>{j!=="id"&&j!=="createdAt"&&j!=="updatedAt"&&x.push({field:j,oldValue:"(none)",newValue:u(k)})}):g&&p?new Set([...Object.keys(g),...Object.keys(p)]).forEach(k=>{if(k!=="updatedAt"){const N=g[k],v=p[k];JSON.stringify(N)!==JSON.stringify(v)&&x.push({field:k,oldValue:u(N),newValue:u(v)})}}):g&&!p&&Object.entries(g).forEach(([j,k])=>{j!=="id"&&j!=="createdAt"&&j!=="updatedAt"&&x.push({field:j,oldValue:u(k),newValue:"(deleted)"})}),x})():[];return r.jsxs("div",{className:"border-l-2 border-gray-200 pl-4 py-3 hover:bg-gray-50 transition-colors","data-testid":`history-item-${e.id}`,children:[r.jsxs("div",{className:"flex items-start gap-3",children:[r.jsxs("button",{onClick:a,className:"flex-shrink-0 font-mono text-xs bg-gray-100 px-2 py-0.5 rounded text-gray-600 hover:bg-gray-200 transition-colors",title:`Event ID: ${e.id}`,"data-testid":`history-hash-${e.id}`,children:[r.jsx(es,{className:"w-3 h-3 inline mr-1"}),n]}),r.jsxs("div",{className:"flex-1 min-w-0",children:[r.jsx("p",{className:`text-sm font-medium ${o()}`,children:l()}),r.jsx("p",{className:"text-xs text-gray-500 font-mono truncate",title:e.elementId,children:e.elementId})]}),r.jsx("span",{className:"flex-shrink-0 text-xs text-gray-400",title:new Date(e.createdAt).toLocaleString(),children:d()}),r.jsx("button",{onClick:a,className:"flex-shrink-0 p-1 text-gray-400 hover:text-gray-600 rounded transition-colors",title:t?"Hide details":"Show details","data-testid":`history-toggle-${e.id}`,children:t?r.jsx(F0,{className:"w-4 h-4"}):r.jsx(ss,{className:"w-4 h-4"})})]}),t&&h.length>0&&r.jsxs("div",{className:"mt-3 bg-gray-50 rounded border border-gray-200 overflow-hidden","data-testid":`history-details-${e.id}`,children:[r.jsxs("div",{className:"px-3 py-1.5 bg-gray-100 border-b border-gray-200 text-xs text-gray-600 font-medium",children:["Changes (",h.length,")"]}),r.jsxs("div",{className:"divide-y divide-gray-200",children:[h.slice(0,10).map((x,g)=>r.jsxs("div",{className:"px-3 py-2 text-xs",children:[r.jsx("div",{className:"font-medium text-gray-700 mb-1",children:x.field}),x.oldValue!=="(none)"&&x.oldValue!=="(deleted)"&&r.jsxs("div",{className:"flex items-start gap-2 text-red-600 bg-red-50 px-2 py-1 rounded mb-1",children:[r.jsx("span",{className:"font-mono",children:"-"}),r.jsx("span",{className:"break-all font-mono",children:x.oldValue})]}),x.newValue!=="(none)"&&x.newValue!=="(deleted)"&&r.jsxs("div",{className:"flex items-start gap-2 text-green-600 bg-green-50 px-2 py-1 rounded",children:[r.jsx("span",{className:"font-mono",children:"+"}),r.jsx("span",{className:"break-all font-mono",children:x.newValue})]})]},g)),h.length>10&&r.jsxs("div",{className:"px-3 py-2 text-xs text-gray-500 italic",children:["+",h.length-10," more fields"]})]})]}),t&&h.length===0&&r.jsx("div",{className:"mt-2 text-xs text-gray-400 italic pl-10",children:"No detailed changes recorded"})]})}function $0(e,t="sm"){const a=t==="sm"?"w-3 h-3":"w-5 h-5";switch(e){case"agent":return r.jsx(tr,{className:a});case"human":return r.jsx(Ze,{className:a});case"system":return r.jsx(gr,{className:a});default:return r.jsx(Ze,{className:a})}}function D0(e){switch(e){case"agent":return"bg-purple-100 text-purple-600";case"human":return"bg-blue-100 text-blue-600";case"system":return"bg-gray-100 text-gray-600";default:return"bg-gray-100 text-gray-600"}}function eW({period:e}){return r.jsxs("div",{className:"sticky top-0 z-10 px-3 py-1.5 bg-gray-100 border-b border-gray-200 flex items-center gap-2","data-testid":`inbox-time-period-${e}`,children:[r.jsx(zo,{className:"w-3 h-3 text-gray-500"}),r.jsx("span",{className:"text-xs font-semibold text-gray-600 uppercase tracking-wide",children:H5[e]})]})}function tW({item:e,isSelected:t,onSelect:a,formattedTime:n}){const o=e.status==="unread",l=n??Ys(e.createdAt),d=e.sender?.name??"Unknown",u=e.sender?.entityType??"agent",h=(e.message?.contentPreview??"").split(`
334
+ `)[0]?.slice(0,50)||"";return r.jsxs("button",{onClick:a,className:`w-full text-left px-3 py-2 flex items-start gap-2 transition-colors border-b border-gray-100 ${t?"bg-blue-50 border-l-2 border-l-blue-500":o?"bg-white hover:bg-gray-50":"bg-gray-50/50 hover:bg-gray-100/50"}`,"data-testid":`inbox-list-item-${e.id}`,children:[r.jsx("div",{className:`w-6 h-6 rounded-full flex items-center justify-center flex-shrink-0 ${D0(u)}`,children:$0(u,"sm")}),r.jsxs("div",{className:"flex-1 min-w-0",children:[r.jsxs("div",{className:"flex items-center justify-between gap-2",children:[r.jsx("span",{className:`text-sm truncate ${o?"font-medium text-gray-900":"text-gray-700"}`,children:d}),r.jsxs("div",{className:"flex items-center gap-1 flex-shrink-0",children:[r.jsx("span",{className:"text-xs text-gray-400","data-testid":`inbox-list-item-time-${e.id}`,children:l}),o&&r.jsx("span",{className:"w-2 h-2 rounded-full bg-blue-500","data-testid":`inbox-list-item-unread-${e.id}`})]})]}),h&&r.jsx("p",{className:`text-xs truncate ${o?"text-gray-600":"text-gray-500"}`,children:h})]})]})}function rW({item:e,onMarkRead:t,onMarkUnread:a,onArchive:n,onRestore:o,isPending:l,onNavigateToMessage:d,onNavigateToEntity:u,onReply:m}){const h=e.status==="unread",x=e.status==="archived",g=$=>new Date($).toLocaleString("en-US",{weekday:"short",month:"short",day:"numeric",year:"numeric",hour:"numeric",minute:"2-digit"}),p=$=>new Date($).toLocaleString("en-US",{weekday:"long",month:"long",day:"numeric",year:"numeric",hour:"numeric",minute:"2-digit",second:"2-digit"}),j=$=>{const P=new Date($),q=new Date().getTime()-P.getTime(),_=Math.floor(q/6e4),z=Math.floor(q/36e5),U=Math.floor(q/864e5);return _<1?"just now":_<60?`${_} minute${_===1?"":"s"} ago`:z<24?`${z} hour${z===1?"":"s"} ago`:U<7?`${U} day${U===1?"":"s"} ago`:""},k=e.sender?.name??"Unknown",N=e.sender?.entityType??"agent",v=e.sender?.id??e.message?.sender,T=e.channel?.name??e.channelId,E=e.message?.fullContent??e.message?.contentPreview??"",O=e.message?.contentType??"text",S=j(e.createdAt),C=e.attachments&&e.attachments.length>0,A=e.threadParent!==null&&e.threadParent!==void 0;return r.jsxs("div",{className:"h-full flex flex-col","data-testid":`inbox-message-content-${e.id}`,children:[r.jsxs("div",{className:"p-4 border-b border-gray-200",children:[r.jsxs("div",{className:"flex items-start justify-between",children:[r.jsxs("div",{className:"flex items-center gap-3",children:[r.jsx("button",{onClick:()=>v&&u(v),className:`w-10 h-10 rounded-full flex items-center justify-center ${D0(N)} hover:ring-2 hover:ring-blue-300 transition-all`,"data-testid":`inbox-content-avatar-${e.id}`,children:$0(N,"md")}),r.jsxs("div",{children:[r.jsx("button",{onClick:()=>v&&u(v),className:"text-sm font-medium text-gray-900 hover:text-blue-600 hover:underline","data-testid":`inbox-content-sender-${e.id}`,children:k}),r.jsxs("div",{className:"flex items-center gap-2 text-xs text-gray-500",children:[r.jsxs("button",{onClick:d,className:"hover:text-blue-600 hover:underline","data-testid":`inbox-content-channel-${e.id}`,children:["#",T]}),r.jsx("span",{children:"•"}),r.jsx("span",{className:`inline-flex items-center gap-0.5 px-1.5 py-0.5 text-xs font-medium rounded ${e.sourceType==="mention"?"bg-purple-100 text-purple-700":"bg-blue-100 text-blue-700"}`,children:e.sourceType==="mention"?r.jsxs(r.Fragment,{children:[r.jsx(lc,{className:"w-3 h-3"}),"Mention"]}):r.jsxs(r.Fragment,{children:[r.jsx(vt,{className:"w-3 h-3"}),"Direct"]})})]})]})]}),r.jsx("div",{className:"flex items-center gap-1",children:l?r.jsx(je,{className:"w-4 h-4 animate-spin text-gray-400"}):r.jsxs(r.Fragment,{children:[!x&&m&&r.jsx("button",{onClick:m,className:"p-1.5 text-gray-400 hover:text-blue-600 hover:bg-blue-50 rounded transition-colors",title:"Reply","data-testid":`inbox-content-reply-${e.id}`,children:r.jsx(Ju,{className:"w-4 h-4"})}),x?r.jsx("button",{onClick:o,className:"p-1.5 text-gray-400 hover:text-green-600 hover:bg-green-50 rounded transition-colors",title:"Restore","data-testid":`inbox-content-restore-${e.id}`,children:r.jsx(Xs,{className:"w-4 h-4"})}):r.jsxs(r.Fragment,{children:[h?r.jsx("button",{onClick:t,className:"p-1.5 text-gray-400 hover:text-blue-600 hover:bg-blue-50 rounded transition-colors",title:"Mark as read","data-testid":`inbox-content-mark-read-${e.id}`,children:r.jsx(A2,{className:"w-4 h-4"})}):r.jsx("button",{onClick:a,className:"p-1.5 text-gray-400 hover:text-blue-600 hover:bg-blue-50 rounded transition-colors",title:"Mark as unread","data-testid":`inbox-content-mark-unread-${e.id}`,children:r.jsx(U0,{className:"w-4 h-4"})}),r.jsx("button",{onClick:n,className:"p-1.5 text-gray-400 hover:text-orange-600 hover:bg-orange-50 rounded transition-colors",title:"Archive","data-testid":`inbox-content-archive-${e.id}`,children:r.jsx($2,{className:"w-4 h-4"})})]})]})})]}),r.jsxs("div",{className:"mt-2 text-xs text-gray-500 cursor-help",title:p(e.createdAt),"data-testid":`inbox-content-time-${e.id}`,children:[g(e.createdAt),S&&r.jsxs("span",{className:"ml-1",children:["(",S,")"]})]})]}),r.jsxs("div",{className:"flex-1 overflow-auto",children:[A&&e.threadParent&&r.jsxs("div",{className:"mx-4 mt-4 p-3 bg-gray-50 border-l-4 border-gray-300 rounded-r","data-testid":`inbox-content-thread-context-${e.id}`,children:[r.jsxs("div",{className:"flex items-center gap-2 text-xs text-gray-500 mb-1",children:[r.jsx(K0,{className:"w-3 h-3"}),r.jsx("span",{children:"Reply to"})]}),r.jsxs("div",{className:"flex items-start gap-2",children:[r.jsx("button",{onClick:()=>e.threadParent?.sender?.id&&u(e.threadParent.sender.id),className:`w-6 h-6 rounded-full flex items-center justify-center flex-shrink-0 ${D0(e.threadParent.sender?.entityType)} hover:ring-2 hover:ring-blue-300 transition-all`,"data-testid":`inbox-content-thread-parent-avatar-${e.id}`,children:$0(e.threadParent.sender?.entityType,"sm")}),r.jsxs("div",{className:"min-w-0 flex-1",children:[r.jsx("button",{onClick:()=>e.threadParent?.sender?.id&&u(e.threadParent.sender.id),className:"text-xs font-medium text-gray-700 hover:text-blue-600 hover:underline","data-testid":`inbox-content-thread-parent-sender-${e.id}`,children:e.threadParent.sender?.name??"Unknown"}),r.jsx("p",{className:"text-xs text-gray-500 truncate mt-0.5","data-testid":`inbox-content-thread-parent-preview-${e.id}`,children:e.threadParent.contentPreview||"No content"})]})]})]}),r.jsx("div",{className:"p-4",children:r.jsx("div",{className:"prose prose-sm max-w-none text-gray-700 whitespace-pre-wrap","data-testid":`inbox-content-body-${e.id}`,children:E||r.jsx("span",{className:"text-gray-400 italic",children:"No content"})})}),C&&r.jsxs("div",{className:"px-4 pb-4","data-testid":`inbox-content-attachments-${e.id}`,children:[r.jsxs("div",{className:"flex items-center gap-2 text-xs text-gray-500 mb-2",children:[r.jsx(Qc,{className:"w-3 h-3"}),r.jsxs("span",{children:[e.attachments.length," attachment",e.attachments.length!==1?"s":""]})]}),r.jsx("div",{className:"space-y-2",children:e.attachments.map($=>r.jsxs("div",{className:"border border-gray-200 rounded-lg p-3 bg-gray-50 hover:bg-gray-100 transition-colors","data-testid":`inbox-content-attachment-${$.id}`,children:[r.jsx("div",{className:"flex items-start justify-between",children:r.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[r.jsx(Je,{className:"w-4 h-4 text-gray-400 flex-shrink-0"}),r.jsxs("div",{className:"min-w-0",children:[r.jsx("p",{className:"text-sm font-medium text-gray-700 truncate","data-testid":`inbox-content-attachment-title-${$.id}`,children:$.title}),r.jsx("span",{className:"inline-flex items-center px-1.5 py-0.5 text-xs font-medium bg-gray-200 text-gray-600 rounded","data-testid":`inbox-content-attachment-type-${$.id}`,children:$.contentType??"text"})]})]})}),$.content&&r.jsxs("div",{className:"mt-2 text-xs text-gray-500 line-clamp-3 whitespace-pre-wrap","data-testid":`inbox-content-attachment-preview-${$.id}`,children:[$.content.substring(0,200),$.content.length>200&&"..."]})]},$.id))})]})]}),r.jsx("div",{className:"p-3 border-t border-gray-200 bg-gray-50",children:r.jsxs("button",{onClick:d,className:"text-sm text-blue-600 hover:text-blue-700 hover:underline flex items-center gap-1","data-testid":`inbox-content-view-in-channel-${e.id}`,children:["View in channel",r.jsx(Lt,{className:"w-4 h-4"})]})})]})}function aW(){return r.jsxs("div",{className:"h-full flex flex-col items-center justify-center text-gray-400","data-testid":"inbox-content-empty",children:[r.jsx(kr,{className:"w-12 h-12 mb-3"}),r.jsx("p",{className:"text-sm font-medium",children:"Select a message"}),r.jsx("p",{className:"text-xs mt-1",children:"Choose a message from the list to view its content"}),r.jsx("p",{className:"text-xs mt-3 text-gray-300",children:"Tip: Use J/K keys to navigate"})]})}function nW({managerId:e,onClick:t}){const{data:a,isLoading:n}=RT(e);if(n)return r.jsx("span",{className:"text-sm text-gray-400",children:"Loading..."});if(!a)return r.jsx("span",{className:"text-sm text-gray-400",children:"Unknown manager"});const o=Qr[a.entityType]||Qr.system,l=o.icon;return r.jsxs("button",{onClick:()=>t(a.id),className:"flex items-center gap-2 p-2 rounded border border-gray-200 hover:bg-gray-50 transition-colors w-full text-left","data-testid":"entity-manager-display",children:[r.jsx("div",{className:`w-8 h-8 rounded-full flex items-center justify-center ${o.bg}`,children:r.jsx(l,{className:`w-4 h-4 ${o.text}`})}),r.jsxs("div",{className:"flex-1 min-w-0",children:[r.jsx("div",{className:"text-sm font-medium text-gray-900 truncate",children:a.name}),r.jsx("div",{className:"text-xs text-gray-500",children:a.entityType})]})]})}function sW({entityId:e,currentManagerId:t,searchQuery:a,onSearchChange:n,onSelect:o,isLoading:l}){const{data:d,isLoading:u}=KX(a),m=y.useRef(null);y.useEffect(()=>{m.current?.focus()},[]);const h=y.useMemo(()=>d?.items?d.items.filter(x=>x.id!==e&&x.active!==!1):[],[d,e]);return r.jsxs("div",{className:"space-y-2","data-testid":"manager-picker",children:[r.jsx("input",{ref:m,type:"text",value:a,onChange:x=>n(x.target.value),placeholder:"Search for an entity...",className:"w-full px-3 py-2 text-sm border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500","data-testid":"manager-search-input"}),r.jsxs("div",{className:"max-h-40 overflow-auto border border-gray-200 rounded-md divide-y divide-gray-100",children:[t&&r.jsxs("button",{onClick:()=>o(null),disabled:l,className:"flex items-center gap-2 w-full px-3 py-2 text-left hover:bg-red-50 transition-colors disabled:opacity-50","data-testid":"manager-clear-button",children:[r.jsx(Ee,{className:"w-4 h-4 text-red-500"}),r.jsx("span",{className:"text-sm text-red-600",children:"Remove manager"})]}),u?r.jsx("div",{className:"px-3 py-2 text-sm text-gray-500",children:"Loading..."}):h.length===0?r.jsx("div",{className:"px-3 py-2 text-sm text-gray-500",children:"No entities found"}):h.map(x=>{const g=Qr[x.entityType]||Qr.system,p=g.icon,j=x.id===t;return r.jsxs("button",{onClick:()=>o(x.id),disabled:l||j,className:`flex items-center gap-2 w-full px-3 py-2 text-left transition-colors disabled:opacity-50 ${j?"bg-blue-50":"hover:bg-gray-50"}`,"data-testid":`manager-option-${x.id}`,children:[r.jsx("div",{className:`w-6 h-6 rounded-full flex items-center justify-center ${g.bg}`,children:r.jsx(p,{className:`w-3 h-3 ${g.text}`})}),r.jsx("span",{className:"text-sm text-gray-900 flex-1 truncate",children:x.name}),j&&r.jsx("span",{className:"text-xs text-blue-600",children:"Current"})]},x.id)})]}),l&&r.jsxs("div",{className:"flex items-center gap-2 text-sm text-gray-500",children:[r.jsx(je,{className:"w-4 h-4 animate-spin"}),"Updating..."]})]})}function iW({rootEntity:e,directReports:t,onEntityClick:a}){const n=Qr[e.entityType]||Qr.system,o=n.icon;return r.jsx("div",{className:"p-3 bg-gray-50 rounded-lg","data-testid":"org-chart-view",children:r.jsxs("div",{className:"flex flex-col items-center",children:[r.jsxs("div",{className:"flex items-center gap-2 px-3 py-2 bg-white rounded-lg shadow-sm border border-gray-200 mb-2",children:[r.jsx("div",{className:`w-8 h-8 rounded-full flex items-center justify-center ${n.bg}`,children:r.jsx(o,{className:`w-4 h-4 ${n.text}`})}),r.jsxs("div",{children:[r.jsx("div",{className:"text-sm font-medium text-gray-900",children:e.name}),r.jsx("div",{className:"text-xs text-gray-500",children:e.entityType})]})]}),t.length>0&&r.jsx("div",{className:"w-px h-4 bg-gray-300"}),t.length>1&&r.jsx("div",{className:"h-px bg-gray-300 mb-2",style:{width:`${Math.min(t.length*120,400)}px`}}),t.length>0&&r.jsx("div",{className:"flex flex-wrap justify-center gap-3",children:t.map(l=>{const d=Qr[l.entityType]||Qr.system,u=d.icon;return r.jsxs("button",{onClick:()=>a(l.id),className:"flex flex-col items-center p-2 bg-white rounded-lg shadow-sm border border-gray-200 hover:border-blue-300 hover:shadow transition-all","data-testid":`org-chart-report-${l.id}`,children:[r.jsx("div",{className:"w-px h-2 bg-gray-300 -mt-4 mb-1"}),r.jsx("div",{className:`w-8 h-8 rounded-full flex items-center justify-center ${d.bg}`,children:r.jsx(u,{className:`w-4 h-4 ${d.text}`})}),r.jsx("div",{className:"text-xs font-medium text-gray-900 mt-1 max-w-[80px] truncate",children:l.name})]},l.id)})})]})})}function oW(){try{const e=localStorage.getItem(Nn.HISTORY_PAGE_SIZE);if(e){const t=parseInt(e,10);if(!isNaN(t)&&t>0&&t<=100)return t}}catch{}return 25}function lW(){try{const e=localStorage.getItem(Nn.HISTORY_EVENT_TYPE);if(e==="all"||e==="created"||e==="updated"||e==="closed"||e==="deleted")return e}catch{}return"all"}function cW(e){try{localStorage.setItem(Nn.HISTORY_EVENT_TYPE,e)}catch{}}function dW(){try{const e=localStorage.getItem(Nn.INBOX_VIEW);if(e==="unread"||e==="all"||e==="archived")return e}catch{}return"all"}function uW(e){try{localStorage.setItem(Nn.INBOX_VIEW,e)}catch{}}function mW(){try{const e=localStorage.getItem(Nn.INBOX_SOURCE_FILTER);if(e==="all"||e==="direct"||e==="mention")return e}catch{}return"all"}function fW(e){try{localStorage.setItem(Nn.INBOX_SOURCE_FILTER,e)}catch{}}function hW(){try{const e=localStorage.getItem(Nn.INBOX_SORT_ORDER);if(e==="newest"||e==="oldest"||e==="sender")return e}catch{}return"newest"}function xW(e){try{localStorage.setItem(Nn.INBOX_SORT_ORDER,e)}catch{}}function gW({entityId:e}){const[t,a]=y.useState(1),[n]=y.useState(()=>oW()),[o,l]=y.useState(()=>lW()),[d,u]=y.useState(new Set),{data:m,isLoading:h,isError:x}=IX(e,t,n,o),g=v=>{l(v),cW(v),a(1),u(new Set)},p=v=>{u(T=>{const E=new Set(T);return E.has(v)?E.delete(v):E.add(v),E})},j=()=>{m?.items&&u(new Set(m.items.map(v=>v.id)))},k=()=>{u(new Set)},N=m?Math.ceil(m.total/n):1;return r.jsxs("div",{className:"flex flex-col h-full -m-4","data-testid":"entity-history-tab",children:[r.jsxs("div",{className:"flex flex-col gap-2 p-3 border-b border-gray-200 bg-gray-50/50",children:[r.jsxs("div",{className:"flex items-center justify-between",children:[r.jsxs("h3",{className:"text-sm font-medium text-gray-900 flex items-center gap-2",children:[r.jsx(vn,{className:"w-4 h-4"}),"Event History",m&&r.jsxs("span",{className:"text-gray-500 font-normal",children:["(",m.total," total)"]})]}),r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsx("button",{onClick:j,className:"text-xs text-gray-600 hover:text-gray-800 px-2 py-1 rounded hover:bg-gray-100 transition-colors",title:"Expand all","data-testid":"history-expand-all",children:r.jsx(ss,{className:"w-3 h-3"})}),r.jsx("button",{onClick:k,className:"text-xs text-gray-600 hover:text-gray-800 px-2 py-1 rounded hover:bg-gray-100 transition-colors",title:"Collapse all","data-testid":"history-collapse-all",children:r.jsx(F0,{className:"w-3 h-3"})})]})]}),r.jsx("div",{className:"flex gap-1 flex-wrap","data-testid":"history-event-type-filter",children:$X.map(v=>r.jsx("button",{onClick:()=>g(v.value),className:`px-2 py-1 text-xs font-medium rounded transition-colors ${o===v.value?"bg-blue-100 text-blue-700":"bg-gray-100 text-gray-600 hover:bg-gray-200"}`,"data-testid":`history-filter-${v.value}`,children:v.label},v.value))})]}),r.jsx("div",{className:"flex-1 overflow-auto p-4",children:h?r.jsxs("div",{className:"flex items-center justify-center py-8",children:[r.jsx(je,{className:"w-5 h-5 animate-spin text-gray-400"}),r.jsx("span",{className:"ml-2 text-sm text-gray-500",children:"Loading history..."})]}):x?r.jsxs("div",{className:"text-center py-8",children:[r.jsx(dt,{className:"w-8 h-8 text-red-400 mx-auto mb-2"}),r.jsx("p",{className:"text-sm text-red-600",children:"Failed to load history"})]}):m?.items.length?r.jsx("div",{className:"space-y-0","data-testid":"history-events-list",children:m.items.map(v=>r.jsx(JX,{event:v,isExpanded:d.has(v.id),onToggle:()=>p(v.id)},v.id))}):r.jsxs("div",{className:"text-center py-8",children:[r.jsx(vn,{className:"w-8 h-8 text-gray-300 mx-auto mb-2"}),r.jsx("p",{className:"text-sm text-gray-500",children:o!=="all"?`No ${o} events found`:"No events recorded yet"})]})}),m&&m.total>n&&r.jsxs("div",{className:"flex items-center justify-between px-4 py-3 border-t border-gray-200 bg-gray-50",children:[r.jsxs("span",{className:"text-xs text-gray-500",children:["Showing ",(t-1)*n+1,"-",Math.min(t*n,m.total)," of ",m.total]}),r.jsxs("div",{className:"flex items-center gap-1",children:[r.jsx("button",{onClick:()=>a(v=>Math.max(1,v-1)),disabled:t===1,className:"px-2 py-1 text-xs font-medium text-gray-600 bg-white border border-gray-200 rounded hover:bg-gray-50 disabled:opacity-50 disabled:cursor-not-allowed","data-testid":"history-prev-page",children:"Previous"}),r.jsxs("span",{className:"px-2 text-xs text-gray-600",children:["Page ",t," of ",N]}),r.jsx("button",{onClick:()=>a(v=>Math.min(N,v+1)),disabled:t>=N,className:"px-2 py-1 text-xs font-medium text-gray-600 bg-white border border-gray-200 rounded hover:bg-gray-50 disabled:opacity-50 disabled:cursor-not-allowed","data-testid":"history-next-page",children:"Next"})]})]})]})}function pW(e,t){if(e===0)return 0;if(t<=0)return 1;const a=e/t;return a<=.25?1:a<=.5?2:a<=.75?3:4}function i2(e){const t="rounded-sm transition-colors";switch(e){case 0:return`${t} bg-gray-100 dark:bg-gray-800`;case 1:return`${t} bg-green-200 dark:bg-green-900`;case 2:return`${t} bg-green-400 dark:bg-green-700`;case 3:return`${t} bg-green-500 dark:bg-green-500`;case 4:return`${t} bg-green-600 dark:bg-green-400`;default:return`${t} bg-gray-100 dark:bg-gray-800`}}function yW(e){return new Date(e+"T00:00:00").toLocaleDateString("en-US",{weekday:"short",month:"short",day:"numeric",year:"numeric"})}function bW(e,t){const a=[];let n=-1;for(let o=0;o<t;o++){const l=new Date(e);l.setDate(l.getDate()+o*7);const d=l.getMonth();d!==n&&(n=d,a.push({label:l.toLocaleDateString("en-US",{month:"short"}),weekIndex:o}))}return a}const vW=["","Mon","","Wed","","Fri",""];function jW({activity:e,days:t=365,startDate:a,endDate:n,isLoading:o=!1,testId:l="contribution-chart"}){const d=Et(),u=Sf(),[m,h]=y.useState(null),[x,g]=y.useState(null),p=d?Math.min(t,182):t,j=y.useMemo(()=>{const E=n?new Date(n+"T00:00:00"):new Date;E.setHours(0,0,0,0);const O=a?new Date(a+"T00:00:00"):new Date(E);a||O.setDate(O.getDate()-p+1),O.setHours(0,0,0,0);const S=new Map;for(const _ of e)S.set(_.date,_.count);const C=e.length>0?Math.max(...e.map(_=>_.count)):0,A=[],$=new Date(O),P=$.getDay();for($.setDate($.getDate()-P);$<=E;){const _=[];for(let z=0;z<7;z++){const U=$.toISOString().split("T")[0],K=S.get(U)||0,R=$>=O&&$<=E;_.push({date:U,count:R?K:-1,level:R?pW(K,C):-1,dayOfWeek:z}),$.setDate($.getDate()+1)}A.push(_)}const M=bW(new Date(O.getTime()-P*24*60*60*1e3),A.length),q=e.reduce((_,z)=>_+z.count,0);return{weeks:A,monthLabels:M,maxActivity:C,totalActivity:q,startDate:O.toISOString().split("T")[0],endDate:E.toISOString().split("T")[0]}},[e,p,a,n]),k=(E,O,S)=>{if(!u){const C=E.currentTarget.getBoundingClientRect();h({date:O,count:S,x:C.left+C.width/2,y:C.top})}},N=()=>{u||h(null)},v=(E,O,S)=>{if(u)if(E.stopPropagation(),x?.date===O)g(null),h(null);else{g({date:O,count:S});const C=E.target.getBoundingClientRect();h({date:O,count:S,x:C.left+C.width/2,y:C.top})}},T=()=>{u&&x&&(g(null),h(null))};return o?r.jsx("div",{className:"animate-pulse","data-testid":`${l}-loading`,children:r.jsx("div",{className:"h-28 bg-gray-100 dark:bg-gray-800 rounded"})}):r.jsxs("div",{className:"relative","data-testid":l,onClick:T,children:[r.jsx("div",{className:"flex ml-6 sm:ml-8 mb-1 text-[10px] sm:text-xs text-gray-500 dark:text-gray-400",children:j.monthLabels.map((E,O)=>r.jsx("div",{className:"absolute",style:{left:`${E.weekIndex*(d?12:16)+(d?24:32)}px`},children:E.label},O))}),r.jsxs("div",{className:"flex mt-4",children:[r.jsx("div",{className:"flex flex-col gap-0.5 text-[10px] sm:text-xs text-gray-500 dark:text-gray-400 pr-1",children:vW.map((E,O)=>r.jsx("div",{className:"flex items-center justify-end",style:{width:d?"20px":"28px",height:d?"10px":"12px"},children:d?E==="Mon"?"M":E==="Wed"?"W":E==="Fri"?"F":"":E},O))}),r.jsx("div",{className:"flex gap-0.5 overflow-x-auto pb-2 -mb-2","data-testid":`${l}-grid`,style:{scrollbarWidth:"thin"},children:j.weeks.map((E,O)=>r.jsx("div",{className:"flex flex-col gap-0.5",children:E.map((S,C)=>S.level===-1?r.jsx("div",{className:`${d?"w-[10px] h-[10px]":"w-3 h-3"} rounded-sm bg-transparent`,"data-testid":`${l}-day-empty`},C):r.jsx("div",{className:`${i2(S.level)} ${d?"w-[10px] h-[10px]":"w-3 h-3"} rounded-sm cursor-pointer hover:ring-1 hover:ring-gray-400 dark:hover:ring-gray-500 ${x?.date===S.date?"ring-2 ring-blue-500":""}`,"data-testid":`${l}-day-${S.date}`,"data-date":S.date,"data-count":S.count,"data-level":S.level,onMouseEnter:A=>k(A,S.date,S.count),onMouseLeave:N,onClick:A=>v(A,S.date,S.count)},C))},O))})]}),r.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-2 mt-3",children:[r.jsxs("div",{className:"text-[10px] sm:text-xs text-gray-500 dark:text-gray-400","data-testid":`${l}-total`,children:[j.totalActivity," contributions ",d?"(6 months)":"in the last year"]}),r.jsxs("div",{className:"flex items-center gap-1",children:[r.jsx("span",{className:"text-[10px] sm:text-xs text-gray-500 dark:text-gray-400 mr-1",children:"Less"}),[0,1,2,3,4].map(E=>r.jsx("div",{className:`${i2(E)} ${d?"w-[10px] h-[10px]":"w-3 h-3"}`,title:E===0?"No activity":`Activity level ${E}`},E)),r.jsx("span",{className:"text-[10px] sm:text-xs text-gray-500 dark:text-gray-400 ml-1",children:"More"})]})]}),m&&r.jsxs("div",{className:"fixed z-50 px-2 py-1 text-xs bg-gray-900 dark:bg-gray-100 text-white dark:text-gray-900 rounded shadow-lg pointer-events-none",style:{left:m.x,top:m.y-8,transform:"translate(-50%, -100%)"},"data-testid":`${l}-tooltip`,children:[r.jsx("div",{className:"font-medium",children:m.count===0?"No contributions":`${m.count} contribution${m.count!==1?"s":""}`}),r.jsx("div",{className:"text-gray-300 dark:text-gray-600",children:yW(m.date)})]})]})}function o2({entityId:e,onClose:t}){const a=rr(),{data:n,isLoading:o}=RT(e),{data:l,isLoading:d}=_X(e),{data:u,isLoading:m}=MX(e),{data:h,isLoading:x}=LX(e),{data:g,isLoading:p}=PX(e),{data:j,isLoading:k}=RX(e),{data:N}=zX(e),{data:v}=qX(e,"archived"),[T,E]=y.useState(()=>dW()),{data:O,isLoading:S,isError:C,refetch:A}=BX(e,T),{data:$,isLoading:P}=HX(e),{data:M,isLoading:q}=VX(e),_=YX(e),z=GX(e),U=FX(e),K=UX(e),[R,L]=y.useState(!1),[F,B]=y.useState(""),[H,G]=y.useState(""),[W,te]=y.useState(!1),[le,ge]=y.useState("overview"),[se,ye]=y.useState(null),[Ne,we]=y.useState(!1),[me,J]=y.useState(""),[re,Y]=y.useState(!1),[he,ce]=y.useState(null),[pe,ke]=y.useState(()=>mW()),[_e,Le]=y.useState(()=>hW()),Ue=Te=>{E(Te),uW(Te)},Ge=Te=>{ke(Te),fW(Te),ce(null)},rt=Te=>{Le(Te),xW(Te)};y.useEffect(()=>{n&&R&&(B(n.name),G(n.tags?.join(", ")||""))},[n,R]),y.useEffect(()=>{L(!1),te(!1),ge("overview")},[e]);const Ot=async Te=>{ye(Te);try{await U.mutateAsync({itemId:Te,status:"read"})}finally{ye(null)}},Mt=async Te=>{ye(Te);try{await U.mutateAsync({itemId:Te,status:"unread"})}finally{ye(null)}},ht=async Te=>{ye(Te);try{await U.mutateAsync({itemId:Te,status:"archived"})}finally{ye(null)}},Yt=async Te=>{ye(Te);try{await U.mutateAsync({itemId:Te,status:"read"})}finally{ye(null)}},Zr=async()=>{await K.mutateAsync()},Jr=(Te,xt)=>{a({to:"/messages",search:{channel:Te,message:xt}})},Rr=Te=>{a({to:"/entities",search:{selected:Te,name:void 0,page:1,limit:25}})},cs=Te=>{a({to:"/tasks",search:{selected:Te,page:1,limit:25}})},Qt=y.useMemo(()=>{if(!O?.items)return[];let Te=[...O.items];return pe!=="all"&&(Te=Te.filter(xt=>xt.sourceType===pe)),Te.sort((xt,St)=>{switch(_e){case"newest":return new Date(St.createdAt).getTime()-new Date(xt.createdAt).getTime();case"oldest":return new Date(xt.createdAt).getTime()-new Date(St.createdAt).getTime();case"sender":const ar=xt.sender?.name||"",Sn=St.sender?.name||"";return ar.localeCompare(Sn);default:return 0}}),Te},[O?.items,pe,_e]),ds=y.useMemo(()=>Qt.length===0?[]:_e==="sender"?Qt.map(Te=>({item:Te,period:"today",isFirstInGroup:!1})):V5(Qt,Te=>Te.createdAt),[Qt,_e]),[us,Ir]=y.useState(0);y.useEffect(()=>{const Te=setInterval(()=>{Ir(xt=>xt+1)},6e4);return()=>clearInterval(Te)},[]);const X=y.useMemo(()=>!he||!Qt?null:Qt.find(Te=>Te.id===he)??null,[he,Qt]),ve=y.useCallback(Te=>{if(!Qt||Qt.length===0)return;const xt=Qt,St=he?xt.findIndex(Sn=>Sn.id===he):-1;let ar;Te==="next"?ar=St<xt.length-1?St+1:St:ar=St>0?St-1:0,ar!==St&&xt[ar]&&ce(xt[ar].id)},[Qt,he]);y.useEffect(()=>{ce(null)},[T,e]),Kc("J",y.useCallback(()=>{le==="inbox"&&ve("next")},[le,ve]),"Select next inbox message"),Kc("K",y.useCallback(()=>{le==="inbox"&&ve("prev")},[le,ve]),"Select previous inbox message");const Ce=async()=>{if(!n)return;const Te={};F.trim()&&F.trim()!==n.name&&(Te.name=F.trim());const xt=H.split(",").map(ar=>ar.trim()).filter(Boolean),St=n.tags||[];if(JSON.stringify(xt)!==JSON.stringify(St)&&(Te.tags=xt),Object.keys(Te).length===0){L(!1);return}try{await _.mutateAsync(Te),L(!1)}catch{}},Ie=async()=>{if(!n)return;const Te=n.active===!1;try{await _.mutateAsync({active:Te}),te(!1)}catch{}},Be=async Te=>{if(!n)return;const xt=(n.tags||[]).filter(St=>St!==Te);try{await _.mutateAsync({tags:xt})}catch{}};if(o)return r.jsx("div",{className:"h-full flex items-center justify-center","data-testid":"entity-detail-loading",children:r.jsx("span",{className:"text-gray-500",children:"Loading..."})});if(!n)return r.jsx("div",{className:"h-full flex items-center justify-center","data-testid":"entity-detail-error",children:r.jsx("span",{className:"text-red-600",children:"Entity not found"})});const wt=Qr[n.entityType]||Qr.system,Xt=wt.icon,Br=n.active!==!1,Ya=u?.filter(Te=>Te.status!=="closed"&&Te.status!=="cancelled")||[];return r.jsxs("div",{className:"h-full flex flex-col","data-testid":"entity-detail-panel",children:[r.jsxs("div",{className:"flex items-start justify-between p-4 border-b border-gray-200",children:[r.jsxs("div",{className:"flex items-center gap-3",children:[r.jsx("div",{className:`w-12 h-12 rounded-full flex items-center justify-center ${wt.bg}`,children:r.jsx(Xt,{className:`w-6 h-6 ${wt.text}`})}),r.jsxs("div",{children:[R?r.jsx("input",{type:"text",value:F,onChange:Te=>B(Te.target.value),className:"text-lg font-medium text-gray-900 border border-blue-300 rounded px-2 py-0.5 focus:outline-none focus:ring-2 focus:ring-blue-500","data-testid":"entity-edit-name-input"}):r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsx("h2",{className:"text-lg font-medium text-gray-900",children:n.name}),!Br&&r.jsx("span",{className:"px-1.5 py-0.5 text-xs font-medium bg-gray-100 text-gray-600 rounded",children:"Inactive"})]}),r.jsx("p",{className:"text-sm text-gray-500 font-mono",children:n.id})]})]}),r.jsxs("div",{className:"flex items-center gap-1",children:[R?r.jsxs(r.Fragment,{children:[r.jsx("button",{onClick:Ce,disabled:_.isPending,className:"p-1.5 text-green-600 hover:bg-green-50 rounded transition-colors disabled:opacity-50","data-testid":"entity-save-button",children:_.isPending?r.jsx(je,{className:"w-5 h-5 animate-spin"}):r.jsx(Jc,{className:"w-5 h-5"})}),r.jsx("button",{onClick:()=>L(!1),className:"p-1.5 text-gray-400 hover:text-gray-600 hover:bg-gray-100 rounded transition-colors","data-testid":"entity-cancel-edit-button",children:r.jsx(Ee,{className:"w-5 h-5"})})]}):r.jsx("button",{onClick:()=>L(!0),className:"p-1.5 text-gray-400 hover:text-gray-600 hover:bg-gray-100 rounded transition-colors","data-testid":"entity-edit-button",children:r.jsx(ns,{className:"w-4 h-4"})}),r.jsx("button",{onClick:t,className:"p-1 text-gray-400 hover:text-gray-600 rounded","data-testid":"entity-detail-close",children:r.jsx(Ee,{className:"w-5 h-5"})})]})]}),_.isError&&r.jsx("div",{className:"mx-4 mt-4 p-3 bg-red-50 border border-red-200 rounded-md text-sm text-red-600","data-testid":"entity-update-error",children:_.error.message}),r.jsxs("div",{className:"flex border-b border-gray-200 px-4","data-testid":"entity-detail-tabs",children:[r.jsx("button",{onClick:()=>ge("overview"),className:`px-4 py-2 text-sm font-medium border-b-2 transition-colors ${le==="overview"?"border-blue-500 text-blue-600":"border-transparent text-gray-500 hover:text-gray-700"}`,"data-testid":"entity-tab-overview",children:"Overview"}),r.jsxs("button",{onClick:()=>ge("inbox"),className:`px-4 py-2 text-sm font-medium border-b-2 transition-colors flex items-center gap-2 ${le==="inbox"?"border-blue-500 text-blue-600":"border-transparent text-gray-500 hover:text-gray-700"}`,"data-testid":"entity-tab-inbox",children:[r.jsx(kr,{className:"w-4 h-4"}),"Inbox",N&&N.count>0&&r.jsx("span",{className:"px-1.5 py-0.5 text-xs font-medium bg-blue-100 text-blue-700 rounded-full","data-testid":"inbox-count-badge",children:N.count})]}),r.jsxs("button",{onClick:()=>ge("history"),className:`px-4 py-2 text-sm font-medium border-b-2 transition-colors flex items-center gap-2 ${le==="history"?"border-blue-500 text-blue-600":"border-transparent text-gray-500 hover:text-gray-700"}`,"data-testid":"entity-tab-history",children:[r.jsx(vn,{className:"w-4 h-4"}),"History"]})]}),r.jsx("div",{className:"flex-1 overflow-auto p-4 space-y-6",children:le==="overview"?r.jsx(wW,{entity:n,stats:l,statsLoading:d,tasks:Ya,tasksLoading:m,events:h,eventsLoading:x,activityData:g,activityLoading:p,mentionsData:j,mentionsLoading:k,directReports:$,reportsLoading:P,managementChain:M,chainLoading:q,isEditing:R,editTags:H,setEditTags:G,showDeactivateConfirm:W,setShowDeactivateConfirm:te,showManagerPicker:Ne,setShowManagerPicker:we,managerSearchQuery:me,setManagerSearchQuery:J,showOrgChart:re,setShowOrgChart:Y,updateEntity:_,setEntityManager:z,onToggleActive:Ie,onRemoveTag:Be,onNavigateToTask:cs,navigate:a}):le==="inbox"?r.jsx(kW,{inboxView:T,inboxCount:N,archivedData:v,inboxData:O,inboxLoading:S,inboxError:C,inboxSourceFilter:pe,inboxSortOrder:_e,filteredAndSortedInboxItems:Qt,groupedInboxItems:ds,selectedInboxItemId:he,selectedInboxItem:X,pendingItemId:se,timeUpdateTrigger:us,markAllRead:K,onInboxViewChange:Ue,onSourceFilterChange:Ge,onSortOrderChange:rt,onSelectInboxItem:ce,onMarkRead:Ot,onMarkUnread:Mt,onArchive:ht,onRestore:Yt,onMarkAllRead:Zr,onNavigateToMessage:Jr,onNavigateToEntity:Rr,refetchInbox:A}):r.jsx(gW,{entityId:e})})]})}function wW({entity:e,stats:t,statsLoading:a,tasks:n,tasksLoading:o,events:l,eventsLoading:d,activityData:u,activityLoading:m,mentionsData:h,mentionsLoading:x,directReports:g,reportsLoading:p,managementChain:j,chainLoading:k,isEditing:N,editTags:v,setEditTags:T,showDeactivateConfirm:E,setShowDeactivateConfirm:O,showManagerPicker:S,setShowManagerPicker:C,managerSearchQuery:A,setManagerSearchQuery:$,showOrgChart:P,setShowOrgChart:M,updateEntity:q,setEntityManager:_,onToggleActive:z,onRemoveTag:U,onNavigateToTask:K,navigate:R}){const L=Qr[e.entityType]||Qr.system,F=e.active!==!1;return r.jsxs(r.Fragment,{children:[r.jsxs("div",{children:[r.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[r.jsx("span",{className:`px-2 py-1 text-xs font-medium rounded ${L.bg} ${L.text}`,children:e.entityType}),e.publicKey&&r.jsx("span",{className:"px-2 py-1 text-xs font-medium bg-green-100 text-green-800 rounded",children:"Has Public Key"})]}),r.jsx("div",{className:"mb-4",children:r.jsxs("div",{className:"flex items-center justify-between",children:[r.jsx("span",{className:"text-sm text-gray-600",children:"Status"}),E?r.jsxs("div",{className:"flex items-center gap-2","data-testid":"entity-deactivate-confirm",children:[r.jsx("span",{className:"text-sm text-gray-600",children:F?"Deactivate?":"Reactivate?"}),r.jsx("button",{onClick:z,disabled:q.isPending,className:"px-2 py-1 text-xs font-medium text-white bg-red-600 hover:bg-red-700 rounded disabled:opacity-50","data-testid":"entity-confirm-toggle-button",children:q.isPending?"Saving...":"Confirm"}),r.jsx("button",{onClick:()=>O(!1),className:"px-2 py-1 text-xs font-medium text-gray-600 bg-gray-100 hover:bg-gray-200 rounded","data-testid":"entity-cancel-toggle-button",children:"Cancel"})]}):r.jsx("button",{onClick:()=>O(!0),className:`inline-flex items-center gap-1.5 px-2 py-1 text-xs font-medium rounded transition-colors ${F?"bg-green-100 text-green-800 hover:bg-green-200":"bg-gray-100 text-gray-600 hover:bg-gray-200"}`,"data-testid":"entity-toggle-active-button",children:F?r.jsxs(r.Fragment,{children:[r.jsx(XO,{className:"w-3 h-3"}),"Active"]}):r.jsxs(r.Fragment,{children:[r.jsx(WO,{className:"w-3 h-3"}),"Inactive"]})})]})}),r.jsxs("div",{children:[r.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[r.jsx(Ra,{className:"w-4 h-4 text-gray-400"}),r.jsx("span",{className:"text-sm font-medium text-gray-700",children:"Tags"})]}),N?r.jsx("input",{type:"text",value:v,onChange:B=>T(B.target.value),placeholder:"Enter tags separated by commas...",className:"w-full px-3 py-2 text-sm border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500","data-testid":"entity-edit-tags-input"}):e.tags&&e.tags.length>0?r.jsx("div",{className:"flex flex-wrap gap-1","data-testid":"entity-tags-list",children:e.tags.map(B=>r.jsxs("span",{className:"inline-flex items-center gap-1 px-2 py-0.5 text-xs bg-gray-100 text-gray-600 rounded group",children:[B,r.jsx("button",{onClick:()=>U(B),className:"opacity-0 group-hover:opacity-100 hover:text-red-600 transition-opacity","data-testid":`entity-remove-tag-${B}`,children:r.jsx(Ee,{className:"w-3 h-3"})})]},B))}):r.jsx("span",{className:"text-sm text-gray-400",children:"No tags"})]})]}),r.jsxs("div",{className:"border-t border-gray-100 pt-4",children:[r.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[r.jsx(sc,{className:"w-4 h-4 text-gray-400"}),r.jsx("h3",{className:"text-sm font-medium text-gray-900",children:"Organization"})]}),r.jsxs("div",{className:"mb-4",children:[r.jsxs("div",{className:"flex items-center justify-between mb-2",children:[r.jsx("span",{className:"text-sm text-gray-600",children:"Reports To"}),S?r.jsx("button",{onClick:()=>C(!1),className:"text-xs text-gray-500 hover:text-gray-700","data-testid":"entity-cancel-manager-edit",children:"Cancel"}):r.jsx("button",{onClick:()=>{C(!0),$("")},className:"text-xs text-blue-600 hover:text-blue-700","data-testid":"entity-edit-manager-button",children:e.reportsTo?"Change":"Set Manager"})]}),S?r.jsx(sW,{entityId:e.id,currentManagerId:e.reportsTo||null,searchQuery:A,onSearchChange:$,onSelect:async B=>{try{await _.mutateAsync(B),C(!1)}catch{}},isLoading:_.isPending}):e.reportsTo?r.jsx(nW,{managerId:e.reportsTo,onClick:B=>R({to:"/entities",search:{selected:B,name:void 0,page:1,limit:25}})}):r.jsx("span",{className:"text-sm text-gray-400","data-testid":"entity-no-manager",children:"No manager assigned"}),_.isError&&r.jsx("p",{className:"mt-1 text-xs text-red-600","data-testid":"entity-manager-error",children:_.error.message})]}),j&&j.length>0&&r.jsxs("div",{className:"mb-4","data-testid":"entity-management-chain",children:[r.jsx("div",{className:"text-xs text-gray-500 mb-2",children:"Management Chain"}),r.jsxs("div",{className:"flex flex-wrap items-center gap-1",children:[r.jsx("span",{className:"text-sm text-gray-700",children:e.name}),j.map((B,H)=>r.jsxs("span",{className:"flex items-center gap-1",children:[r.jsx(Lt,{className:"w-3 h-3 text-gray-400"}),r.jsx("button",{onClick:()=>R({to:"/entities",search:{selected:B.id,name:void 0,page:1,limit:25}}),className:"text-sm text-blue-600 hover:text-blue-700 hover:underline","data-testid":`chain-entity-${H}`,children:B.name})]},B.id))]})]}),k&&r.jsx("div",{className:"text-xs text-gray-400 mb-4",children:"Loading management chain..."}),r.jsxs("div",{children:[r.jsxs("div",{className:"flex items-center justify-between mb-2",children:[r.jsxs("span",{className:"text-sm text-gray-600",children:["Direct Reports ",g&&g.length>0&&`(${g.length})`]}),g&&g.length>0&&r.jsx("button",{onClick:()=>M(!P),className:"text-xs text-blue-600 hover:text-blue-700 flex items-center gap-1","data-testid":"entity-toggle-org-chart",children:P?r.jsxs(r.Fragment,{children:[r.jsx(it,{className:"w-3 h-3"}),"Hide chart"]}):r.jsxs(r.Fragment,{children:[r.jsx(sc,{className:"w-3 h-3"}),"Show chart"]})})]}),p?r.jsx("div",{className:"text-xs text-gray-400",children:"Loading reports..."}):!g||g.length===0?r.jsx("span",{className:"text-sm text-gray-400","data-testid":"entity-no-reports",children:"No direct reports"}):P?r.jsx(iW,{rootEntity:e,directReports:g,onEntityClick:B=>R({to:"/entities",search:{selected:B,name:void 0,page:1,limit:25}})}):r.jsx("div",{className:"space-y-1","data-testid":"entity-direct-reports-list",children:g.map(B=>r.jsxs("button",{onClick:()=>R({to:"/entities",search:{selected:B.id,name:void 0,page:1,limit:25}}),className:"flex items-center gap-2 w-full p-2 text-left rounded hover:bg-gray-50 transition-colors","data-testid":`direct-report-${B.id}`,children:[r.jsx("div",{className:`w-6 h-6 rounded-full flex items-center justify-center ${Qr[B.entityType]?.bg||"bg-gray-100"}`,children:B.entityType==="agent"?r.jsx(tr,{className:"w-3 h-3 text-blue-600"}):B.entityType==="human"?r.jsx(Ze,{className:"w-3 h-3 text-green-600"}):r.jsx(gr,{className:"w-3 h-3 text-purple-600"})}),r.jsxs("div",{className:"flex-1 min-w-0",children:[r.jsx("div",{className:"text-sm font-medium text-gray-900 truncate",children:B.name}),r.jsx("div",{className:"text-xs text-gray-500",children:B.entityType})]})]},B.id))})]})]}),r.jsxs("div",{children:[r.jsx("h3",{className:"text-sm font-medium text-gray-900 mb-3",children:"Statistics"}),a?r.jsx("div",{className:"text-sm text-gray-500",children:"Loading stats..."}):t?r.jsxs("div",{className:"grid grid-cols-2 gap-3","data-testid":"entity-stats",children:[r.jsx(Gi,{icon:_r,label:"Assigned Tasks",value:t.assignedTaskCount}),r.jsx(Gi,{icon:_t,label:"Active Tasks",value:t.activeTaskCount,color:"text-yellow-600"}),r.jsx(Gi,{icon:Gt,label:"Completed",value:t.completedTaskCount,color:"text-green-600"}),r.jsx(Gi,{icon:_r,label:"Created Tasks",value:t.createdTaskCount,color:"text-blue-600"}),r.jsx(Gi,{icon:vt,label:"Messages Sent",value:t.messageCount}),r.jsx(Gi,{icon:Je,label:"Documents Created",value:t.documentCount})]}):null]}),r.jsxs("div",{className:"border-t border-gray-100 pt-4",children:[r.jsxs("h3",{className:"text-sm font-medium text-gray-900 mb-3 flex items-center gap-2",children:[r.jsx(Ks,{className:"w-4 h-4"}),"Activity"]}),r.jsx(jW,{activity:u?.activity||[],startDate:u?.startDate,endDate:u?.endDate,isLoading:m,testId:"entity-contribution-chart"})]}),r.jsxs("div",{children:[r.jsxs("h3",{className:"text-sm font-medium text-gray-900 mb-3",children:["Assigned Tasks (",n.length,")"]}),o?r.jsx("div",{className:"text-sm text-gray-500",children:"Loading tasks..."}):n.length===0?r.jsx("div",{className:"text-sm text-gray-500",children:"No active tasks assigned"}):r.jsxs("div",{className:"space-y-2","data-testid":"entity-tasks",children:[n.slice(0,5).map(B=>r.jsx(QX,{task:B,onClick:K},B.id)),n.length>5&&r.jsxs("button",{onClick:()=>R({to:"/tasks",search:{assignee:e.id,page:1,limit:25}}),className:"w-full text-xs text-blue-600 hover:text-blue-700 text-center py-1 hover:bg-blue-50 rounded transition-colors","data-testid":"view-all-tasks",children:["+",n.length-5," more tasks"]})]})]}),r.jsxs("div",{children:[r.jsxs("h3",{className:"text-sm font-medium text-gray-900 mb-3 flex items-center gap-2",children:[r.jsx(Ks,{className:"w-4 h-4"}),"Recent Activity"]}),d?r.jsx("div",{className:"text-sm text-gray-500",children:"Loading activity..."}):!l||l.length===0?r.jsx("div",{className:"text-sm text-gray-500",children:"No recent activity"}):r.jsxs(r.Fragment,{children:[r.jsx("div",{className:"divide-y divide-gray-100","data-testid":"entity-events",children:l.slice(0,10).map(B=>r.jsx(ZX,{event:B},B.id))}),l.length>0&&r.jsxs("button",{onClick:()=>R({to:"/dashboard/timeline",search:{page:1,limit:100,actor:e.id,startTime:void 0,endTime:void 0}}),className:"w-full mt-3 text-sm text-blue-600 hover:text-blue-700 hover:bg-blue-50 rounded py-2 transition-colors flex items-center justify-center gap-1","data-testid":"view-all-activity",children:["View all activity",r.jsx(Lt,{className:"w-4 h-4"})]})]})]}),r.jsxs("div",{className:"border-t border-gray-100 pt-4",children:[r.jsxs("h3",{className:"text-sm font-medium text-gray-900 mb-3 flex items-center gap-2",children:[r.jsx(lc,{className:"w-4 h-4"}),"Mentioned In",h&&h.totalCount>0&&r.jsx("span",{className:"px-1.5 py-0.5 text-xs font-medium bg-gray-100 text-gray-600 rounded-full","data-testid":"mentions-count-badge",children:h.totalCount})]}),x?r.jsx("div",{className:"text-sm text-gray-500",children:"Loading mentions..."}):!h||h.totalCount===0?r.jsx("div",{className:"text-sm text-gray-500","data-testid":"no-mentions",children:"No documents or tasks mention this entity"}):r.jsxs("div",{className:"space-y-2","data-testid":"entity-mentions",children:[h.mentions.slice(0,5).map(B=>r.jsxs("button",{onClick:()=>{B.type==="document"?R({to:"/documents",search:{selected:B.id,library:void 0}}):R({to:"/tasks",search:{selected:B.id,page:1,limit:25}})},className:"w-full flex items-center gap-3 p-2 rounded-lg hover:bg-gray-50 transition-colors text-left group","data-testid":`mention-item-${B.id}`,children:[r.jsx("div",{className:`w-8 h-8 rounded flex items-center justify-center flex-shrink-0 ${B.type==="document"?"bg-blue-100":"bg-green-100"}`,children:B.type==="document"?r.jsx(Je,{className:"w-4 h-4 text-blue-600"}):r.jsx(_r,{className:"w-4 h-4 text-green-600"})}),r.jsxs("div",{className:"flex-1 min-w-0",children:[r.jsx("div",{className:"text-sm font-medium text-gray-900 truncate group-hover:text-blue-600",children:B.title}),r.jsxs("div",{className:"text-xs text-gray-500 flex items-center gap-2",children:[r.jsx("span",{className:"capitalize",children:B.type}),B.status&&r.jsx("span",{className:`px-1.5 py-0.5 rounded text-xs ${B.status==="closed"?"bg-green-100 text-green-700":B.status==="in_progress"?"bg-blue-100 text-blue-700":B.status==="blocked"?"bg-red-100 text-red-700":"bg-gray-100 text-gray-600"}`,children:B.status.replace("_"," ")})]})]}),r.jsx(Lt,{className:"w-4 h-4 text-gray-400 opacity-0 group-hover:opacity-100 transition-opacity"})]},B.id)),h.totalCount>5&&r.jsxs("div",{className:"text-xs text-gray-500 text-center py-1",children:["+",h.totalCount-5," more mentions"]})]})]}),r.jsxs("div",{className:"text-xs text-gray-400 pt-4 border-t border-gray-100",children:[r.jsxs("div",{children:["Created: ",new Date(e.createdAt).toLocaleString()]}),r.jsxs("div",{children:["Updated: ",new Date(e.updatedAt).toLocaleString()]})]})]})}function kW({inboxView:e,inboxCount:t,archivedData:a,inboxData:n,inboxLoading:o,inboxError:l,inboxSourceFilter:d,inboxSortOrder:u,filteredAndSortedInboxItems:m,groupedInboxItems:h,selectedInboxItemId:x,selectedInboxItem:g,pendingItemId:p,timeUpdateTrigger:j,markAllRead:k,onInboxViewChange:N,onSourceFilterChange:v,onSortOrderChange:T,onSelectInboxItem:E,onMarkRead:O,onMarkUnread:S,onArchive:C,onRestore:A,onMarkAllRead:$,onNavigateToMessage:P,onNavigateToEntity:M,refetchInbox:q}){return r.jsxs("div",{className:"flex flex-col h-full -m-4","data-testid":"entity-inbox-tab",children:[r.jsxs("div",{className:"flex flex-col gap-2 p-3 border-b border-gray-200 bg-gray-50/50",children:[r.jsxs("div",{className:"flex items-center justify-between",children:[r.jsxs("h3",{className:"text-sm font-medium text-gray-900 flex items-center gap-2",children:[r.jsx(kr,{className:"w-4 h-4"}),"Inbox"]}),e!=="archived"&&t&&t.count>0&&r.jsxs("button",{onClick:$,disabled:k.isPending,className:"inline-flex items-center gap-1.5 px-2 py-1 text-xs font-medium text-blue-600 hover:text-blue-700 hover:bg-blue-50 rounded transition-colors disabled:opacity-50","data-testid":"inbox-mark-all-read",children:[k.isPending?r.jsx(je,{className:"w-3 h-3 animate-spin"}):r.jsx(Gt,{className:"w-3 h-3"}),"Mark all read"]})]}),r.jsx("div",{className:"flex gap-1 p-1 bg-gray-100 rounded-lg","data-testid":"inbox-view-tabs",children:AX.map(_=>{const z=e===_.value;let U=null;return _.value==="unread"&&t&&t.count>0?U=r.jsx("span",{className:`ml-1 px-1.5 py-0.5 text-xs rounded-full ${z?"bg-blue-100 text-blue-700":"bg-gray-200 text-gray-600"}`,"data-testid":"inbox-unread-count-badge",children:t.count}):_.value==="archived"&&a&&a.total>0&&(U=r.jsx("span",{className:`ml-1 px-1.5 py-0.5 text-xs rounded-full ${z?"bg-orange-100 text-orange-700":"bg-gray-200 text-gray-600"}`,"data-testid":"inbox-archived-count-badge",children:a.total})),r.jsxs("button",{onClick:()=>N(_.value),className:`flex items-center px-3 py-1.5 text-sm font-medium rounded-md transition-colors ${z?"bg-white text-gray-900 shadow-sm":"text-gray-600 hover:text-gray-900 hover:bg-gray-50"}`,"data-testid":`inbox-view-${_.value}`,children:[_.label,U]},_.value)})}),r.jsxs("div",{className:"flex items-center gap-2","data-testid":"inbox-filter-sort-controls",children:[r.jsxs("div",{className:"relative",children:[r.jsxs("button",{className:`inline-flex items-center gap-1.5 px-2 py-1 text-xs font-medium rounded-md border transition-colors ${d!=="all"?"bg-blue-50 text-blue-700 border-blue-200":"bg-white text-gray-700 border-gray-200 hover:bg-gray-50"}`,onClick:()=>{const _=document.getElementById("inbox-filter-dropdown");_&&_.classList.toggle("hidden")},"data-testid":"inbox-filter-button",children:[r.jsx(Ca,{className:"w-3 h-3"}),"Filter",r.jsx(it,{className:"w-3 h-3"})]}),r.jsx("div",{id:"inbox-filter-dropdown",className:"hidden absolute left-0 top-full mt-1 w-44 bg-white border border-gray-200 rounded-md shadow-lg z-10","data-testid":"inbox-filter-dropdown",children:r.jsxs("div",{className:"p-1",children:[r.jsx("div",{className:"px-2 py-1 text-xs font-semibold text-gray-500 uppercase",children:"Source Type"}),[{value:"all",label:"All Messages",icon:U0},{value:"direct",label:"Direct Messages",icon:vt},{value:"mention",label:"Mentions",icon:lc}].map(_=>{const z=_.icon,U=d===_.value;return r.jsxs("button",{onClick:()=>{v(_.value);const K=document.getElementById("inbox-filter-dropdown");K&&K.classList.add("hidden")},className:`w-full flex items-center gap-2 px-2 py-1.5 text-sm rounded transition-colors ${U?"bg-blue-50 text-blue-700":"text-gray-700 hover:bg-gray-50"}`,"data-testid":`inbox-filter-${_.value}`,children:[r.jsx(z,{className:"w-3.5 h-3.5"}),_.label,U&&r.jsx(Gt,{className:"w-3 h-3 ml-auto"})]},_.value)})]})})]}),r.jsxs("div",{className:"relative",children:[r.jsxs("button",{className:`inline-flex items-center gap-1.5 px-2 py-1 text-xs font-medium rounded-md border transition-colors ${u!=="newest"?"bg-blue-50 text-blue-700 border-blue-200":"bg-white text-gray-700 border-gray-200 hover:bg-gray-50"}`,onClick:()=>{const _=document.getElementById("inbox-sort-dropdown");_&&_.classList.toggle("hidden")},"data-testid":"inbox-sort-button",children:[r.jsx(Ro,{className:"w-3 h-3"}),"Sort",r.jsx(it,{className:"w-3 h-3"})]}),r.jsx("div",{id:"inbox-sort-dropdown",className:"hidden absolute left-0 top-full mt-1 w-36 bg-white border border-gray-200 rounded-md shadow-lg z-10","data-testid":"inbox-sort-dropdown",children:r.jsx("div",{className:"p-1",children:[{value:"newest",label:"Newest First",icon:Io},{value:"oldest",label:"Oldest First",icon:rs},{value:"sender",label:"By Sender",icon:Ze}].map(_=>{const z=_.icon,U=u===_.value;return r.jsxs("button",{onClick:()=>{T(_.value);const K=document.getElementById("inbox-sort-dropdown");K&&K.classList.add("hidden")},className:`w-full flex items-center gap-2 px-2 py-1.5 text-sm rounded transition-colors ${U?"bg-blue-50 text-blue-700":"text-gray-700 hover:bg-gray-50"}`,"data-testid":`inbox-sort-${_.value}`,children:[r.jsx(z,{className:"w-3.5 h-3.5"}),_.label,U&&r.jsx(Gt,{className:"w-3 h-3 ml-auto"})]},_.value)})})})]})]}),(d!=="all"||u!=="newest")&&r.jsxs("div",{className:"flex flex-wrap gap-1.5","data-testid":"inbox-active-filters",children:[d!=="all"&&r.jsxs("span",{className:"inline-flex items-center gap-1 px-2 py-0.5 text-xs font-medium bg-blue-50 text-blue-700 rounded-full","data-testid":`inbox-filter-chip-${d}`,children:[d==="direct"?r.jsxs(r.Fragment,{children:[r.jsx(vt,{className:"w-3 h-3"}),"Direct Messages"]}):r.jsxs(r.Fragment,{children:[r.jsx(lc,{className:"w-3 h-3"}),"Mentions"]}),r.jsx("button",{onClick:()=>v("all"),className:"ml-0.5 hover:text-blue-900","data-testid":"inbox-clear-source-filter",children:r.jsx(Ee,{className:"w-3 h-3"})})]}),u!=="newest"&&r.jsxs("span",{className:"inline-flex items-center gap-1 px-2 py-0.5 text-xs font-medium bg-gray-100 text-gray-700 rounded-full","data-testid":`inbox-sort-chip-${u}`,children:[u==="oldest"?r.jsxs(r.Fragment,{children:[r.jsx(rs,{className:"w-3 h-3"}),"Oldest First"]}):r.jsxs(r.Fragment,{children:[r.jsx(Ze,{className:"w-3 h-3"}),"By Sender"]}),r.jsx("button",{onClick:()=>T("newest"),className:"ml-0.5 hover:text-gray-900","data-testid":"inbox-clear-sort",children:r.jsx(Ee,{className:"w-3 h-3"})})]}),d!=="all"&&u!=="newest"&&r.jsx("button",{onClick:()=>{v("all"),T("newest")},className:"inline-flex items-center gap-1 px-2 py-0.5 text-xs font-medium text-gray-500 hover:text-gray-700 hover:bg-gray-100 rounded-full transition-colors","data-testid":"inbox-clear-all-filters",children:"Clear all"})]})]}),r.jsxs("div",{className:"flex-1 flex overflow-hidden",children:[r.jsxs("div",{className:"w-2/5 min-w-[200px] max-w-[300px] border-r border-gray-200 overflow-auto","data-testid":"inbox-message-list",children:[o?r.jsx("div",{className:"p-4 text-sm text-gray-500",children:"Loading inbox..."}):l?r.jsxs("div",{className:"text-center py-8 px-4","data-testid":"inbox-error",children:[r.jsx(dt,{className:"w-8 h-8 text-red-400 mx-auto mb-2"}),r.jsx("p",{className:"text-sm text-gray-700",children:"Failed to load inbox"}),r.jsx("p",{className:"text-xs text-gray-500 mt-1 mb-3",children:"There was an error loading your messages"}),r.jsxs("button",{onClick:()=>q(),className:"inline-flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium text-white bg-blue-600 hover:bg-blue-700 rounded transition-colors","data-testid":"inbox-retry",children:[r.jsx(Xs,{className:"w-3 h-3"}),"Retry"]})]}):!n||n.items.length===0?r.jsxs("div",{className:"text-center py-8 px-4","data-testid":"inbox-empty",children:[r.jsx(kr,{className:"w-8 h-8 text-gray-300 mx-auto mb-2"}),r.jsx("p",{className:"text-sm text-gray-500",children:e==="unread"?"No unread messages":e==="archived"?"No archived messages":"No messages in inbox"}),r.jsx("p",{className:"text-xs text-gray-400 mt-1",children:e==="archived"?"Archived messages will appear here":"Direct messages and @mentions will appear here"})]}):m.length===0?r.jsxs("div",{className:"text-center py-8 px-4","data-testid":"inbox-filtered-empty",children:[r.jsx(Ca,{className:"w-8 h-8 text-gray-300 mx-auto mb-2"}),r.jsx("p",{className:"text-sm text-gray-500",children:"No messages match your filters"}),r.jsx("p",{className:"text-xs text-gray-400 mt-1",children:"Try adjusting your filter settings"}),r.jsx("button",{onClick:()=>v("all"),className:"mt-2 text-xs font-medium text-blue-600 hover:text-blue-700","data-testid":"inbox-clear-filters-link",children:"Clear filters"})]}):r.jsx(ls,{items:h,getItemKey:_=>_.item.id,estimateSize:_=>h[_]?.isFirstInGroup&&u!=="sender"?84:56,height:"100%",testId:"inbox-items-list",renderItem:_=>r.jsxs(r.Fragment,{children:[_.isFirstInGroup&&u!=="sender"&&r.jsx(eW,{period:_.period}),r.jsx(tW,{item:_.item,isSelected:x===_.item.id,onSelect:()=>E(_.item.id),formattedTime:Ys(_.item.createdAt)},`${_.item.id}-${j}`)]})}),n&&n.items.length>0&&r.jsx("div",{className:"text-center text-xs text-gray-500 py-2 border-t border-gray-100",children:d!=="all"?r.jsxs(r.Fragment,{children:["Showing ",m.length," of ",n.items.length," (filtered)"]}):n.hasMore?r.jsxs(r.Fragment,{children:["Showing ",n.items.length," of ",n.total," items"]}):r.jsxs(r.Fragment,{children:[n.items.length," ",n.items.length===1?"item":"items"]})})]}),r.jsx("div",{className:"flex-1 overflow-hidden bg-white","data-testid":"inbox-message-content-panel",children:g?r.jsx(rW,{item:g,onMarkRead:()=>O(g.id),onMarkUnread:()=>S(g.id),onArchive:()=>C(g.id),onRestore:()=>A(g.id),isPending:p===g.id,onNavigateToMessage:()=>P(g.channelId,g.messageId),onNavigateToEntity:M,onReply:()=>P(g.channelId,g.messageId)}):r.jsx(aW,{})})]})]})}function NW(){const e=rr(),t=kn({from:"/entities"}),a=Et();Va();const n=t.page??1,o=t.limit??EX,[l,d]=y.useState("all"),[u,m]=y.useState(""),[h,x]=y.useState(t.selected??null),[g,p]=y.useState(!1),{data:j,isLoading:k}=dd(),N=y.useMemo(()=>aV({entityType:l,search:u}),[l,u]),v=Ey({data:j,page:n,pageSize:o,filterFn:N,sort:{field:"updatedAt",direction:"desc"}}),T=cd({data:j,selectedId:t.selected,currentPage:n,pageSize:o,getId:L=>L.id,routePath:"/entities",rowTestIdPrefix:"entity-card-",autoNavigate:!0,highlightDelay:200}),{data:E}=DX(t.name??null),O=v.items,S=v.filteredTotal,C=v.totalPages,A=k||v.isLoading;y.useEffect(()=>{t.selected&&t.selected!==h&&x(t.selected),!t.selected&&!t.name&&h&&x(null)},[t.selected,t.name]),y.useEffect(()=>{t.name&&E&&(x(E.id),e({to:"/entities",search:{selected:E.id,name:void 0,page:n,limit:o},replace:!0}))},[t.name,E,e,n,o]);const $=L=>{x(L.id),e({to:"/entities",search:{selected:L.id,name:void 0,page:n,limit:o}})},P=y.useMemo(()=>({all:S,agent:O.filter(L=>L.entityType==="agent").length,human:O.filter(L=>L.entityType==="human").length,system:O.filter(L=>L.entityType==="system").length}),[O,S]),M=L=>{x(L),e({to:"/entities",search:{selected:L,name:void 0,page:n,limit:o}})},q=()=>{x(null),e({to:"/entities",search:{selected:void 0,name:void 0,page:n,limit:o}})},_=L=>{e({to:"/entities",search:{page:L,limit:o,selected:h??void 0,name:void 0}})},z=L=>{e({to:"/entities",search:{page:1,limit:L,selected:h??void 0,name:void 0}})},U=L=>{d(L),e({to:"/entities",search:{page:1,limit:o,selected:h??void 0,name:void 0}})},K=L=>{m(L),e({to:"/entities",search:{page:1,limit:o,selected:h??void 0,name:void 0}})},R=()=>{m(""),d("all"),e({to:"/entities",search:{page:1,limit:o,selected:h??void 0,name:void 0}})};return r.jsxs("div",{className:"h-full flex","data-testid":"entities-page",children:[r.jsx(F5,{isOpen:g,onClose:()=>p(!1),onSuccess:$}),r.jsxs("div",{className:`flex flex-col ${!a&&h?"w-1/2":"w-full"} transition-all duration-200`,children:[r.jsx(wn,{title:"Entities",icon:Bt,iconColor:"text-blue-500",count:O.length,totalCount:S,bordered:!0,actions:[{label:"Create Entity",shortLabel:"Add",icon:Fe,onClick:()=>p(!0),shortcut:or("action.createEntity"),testId:"create-entity-button"}],testId:"entities-header",children:r.jsxs("div",{className:"flex flex-col gap-3",children:[r.jsx("div",{className:"overflow-x-auto -mx-4 px-4 sm:mx-0 sm:px-0",children:r.jsx(XX,{selected:l,onChange:U,counts:P})}),r.jsx("div",{className:"w-full sm:w-64 sm:ml-auto",children:r.jsx(WX,{value:u,onChange:K})})]})}),A&&r.jsx("div",{className:"flex-1 flex items-center justify-center",children:r.jsx("div",{className:"text-[var(--color-text-muted)]","data-testid":"entities-loading",children:"Loading entities..."})}),!A&&O.length===0&&r.jsx("div",{className:"flex-1 flex items-center justify-center",children:r.jsx("div",{className:"text-center px-4","data-testid":"entities-empty",children:u||l!=="all"?r.jsxs(r.Fragment,{children:[r.jsx("p",{className:"text-[var(--color-text-muted)]",children:"No entities match your filters"}),r.jsx("button",{onClick:R,className:"mt-2 text-sm text-blue-600 hover:text-blue-700 touch-target","data-testid":"clear-filters-button",children:"Clear filters"})]}):r.jsxs(r.Fragment,{children:[r.jsx("p",{className:"text-[var(--color-text-muted)]",children:"No entities registered"}),r.jsxs("p",{className:"mt-1 text-sm text-[var(--color-text-tertiary)]",children:["Use ",r.jsx("code",{className:"bg-[var(--color-surface-hover)] px-1 rounded",children:"sf entity register"})," to add an entity"]})]})})}),!A&&O.length>0&&r.jsxs("div",{className:"flex-1 overflow-auto -mx-4 sm:mx-0","data-testid":"entities-grid",children:[a?r.jsx("div",{className:"divide-y divide-[var(--color-border)]",children:O.map(L=>r.jsx(b_,{entity:L,isSelected:L.id===h,onClick:()=>M(L.id),searchQuery:u},L.id))}):r.jsx("div",{className:`grid gap-4 ${h?"grid-cols-1":"grid-cols-1 md:grid-cols-2 lg:grid-cols-3"}`,children:O.map(L=>r.jsx(NC,{entity:L,isSelected:L.id===h,onClick:()=>M(L.id)},L.id))}),r.jsx("div",{className:"mt-4 sm:mt-6 px-4 sm:px-0 pb-4",children:r.jsx(Ef,{currentPage:n,totalPages:C,totalItems:S,pageSize:o,onPageChange:_,onPageSizeChange:z})})]})]}),a&&h&&r.jsx(Vo,{open:!!h,onClose:q,title:"Entity Details","data-testid":"entity-detail-sheet",children:T.notFound?r.jsx(Ka,{elementType:"Entity",elementId:h,backRoute:"/entities",backLabel:"Back to Entities",onDismiss:q}):r.jsx(o2,{entityId:h,onClose:q})}),!a&&h&&r.jsx("div",{className:"w-1/2 border-l border-[var(--color-border)]","data-testid":"entity-detail-container",children:T.notFound?r.jsx(Ka,{elementType:"Entity",elementId:h,backRoute:"/entities",backLabel:"Back to Entities",onDismiss:q}):r.jsx(o2,{entityId:h,onClose:q})})]})}function SW(e,t){if(!t)return{matched:!0,indices:[]};const a=e.toLowerCase(),n=t.toLowerCase(),o=[];let l=0;for(let d=0;d<a.length&&l<n.length;d++)a[d]===n[l]&&(o.push(d),l++);return l===n.length?{matched:!0,indices:o}:null}function CW(e,t){if(t.length===0)return r.jsx(r.Fragment,{children:e});const a=[],n=new Set(t);let o=0;for(let l=0;l<e.length;l++)n.has(l)&&(l>o&&a.push(r.jsx("span",{children:e.slice(o,l)},`text-${o}`)),a.push(r.jsx("mark",{className:"bg-yellow-200 text-gray-900 dark:bg-yellow-700 dark:text-white rounded-sm px-0.5",children:e[l]},`match-${l}`)),o=l+1);return o<e.length&&a.push(r.jsx("span",{children:e.slice(o)},`text-${o}`)),r.jsx(r.Fragment,{children:a})}function TW({team:e,isSelected:t,onClick:a,searchQuery:n}){const o=e.status!=="tombstone",l=e.members?.length||0,d=y.useMemo(()=>{if(!n)return e.name;const u=SW(e.name,n);return u&&u.indices.length>0?CW(e.name,u.indices):e.name},[e.name,n]);return r.jsxs("div",{className:`
335
+ relative flex gap-3 p-3 border-b border-[var(--color-border)]
336
+ bg-[var(--color-surface)] cursor-pointer transition-colors duration-150
337
+ active:bg-[var(--color-surface-hover)]
338
+ ${t?"bg-blue-50 dark:bg-blue-900/20":""}
339
+ ${o?"":"opacity-60"}
340
+ `,onClick:a,"data-testid":`mobile-team-card-${e.id}`,children:[r.jsx("div",{className:"flex-shrink-0 w-10 h-10 rounded-full flex items-center justify-center bg-indigo-100 dark:bg-indigo-900/30",children:r.jsx(Bt,{className:"w-5 h-5 text-indigo-600 dark:text-indigo-400"})}),r.jsxs("div",{className:"flex-1 min-w-0",children:[r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsx("div",{className:"font-medium text-[var(--color-text)] truncate","data-testid":`mobile-team-name-${e.id}`,children:d}),!o&&r.jsx("span",{className:"px-1.5 py-0.5 text-xs font-medium bg-gray-100 text-gray-600 dark:bg-gray-800 dark:text-gray-400 rounded flex-shrink-0",children:"Deleted"})]}),r.jsx("div",{className:"text-xs text-[var(--color-text-muted)] font-mono truncate mb-1.5",children:e.id}),r.jsxs("div",{className:"flex items-center gap-1.5 flex-wrap",children:[r.jsxs("span",{className:"px-1.5 py-0.5 text-xs font-medium rounded bg-indigo-100 text-indigo-800 dark:bg-indigo-900/30 dark:text-indigo-300",children:[l," ",l===1?"member":"members"]}),e.tags&&e.tags.slice(0,2).map(u=>r.jsx("span",{className:"px-1.5 py-0.5 text-xs bg-[var(--color-surface-hover)] text-[var(--color-text-secondary)] rounded truncate max-w-20",children:u},u)),e.tags&&e.tags.length>2&&r.jsxs("span",{className:"text-xs text-[var(--color-text-muted)]",children:["+",e.tags.length-2]})]})]}),r.jsx("div",{className:"flex-shrink-0 self-center text-[var(--color-text-tertiary)]",children:r.jsx("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:r.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})})})]})}const EW=25,Uu={agent:{bg:"bg-purple-100",text:"text-purple-800",icon:tr},human:{bg:"bg-blue-100",text:"text-blue-800",icon:Ze},system:{bg:"bg-gray-100",text:"text-gray-800",icon:gr}};function OW({value:e,onChange:t}){return r.jsxs("div",{className:"relative","data-testid":"team-search",children:[r.jsx(Ve,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-gray-400"}),r.jsx("input",{type:"text",value:e,onChange:a=>t(a.target.value),placeholder:"Search teams...",className:"w-full pl-9 pr-4 py-2 text-sm border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500","data-testid":"team-search-input"})]})}function AW({memberIds:e,maxDisplay:t=5}){const a=Math.min(e.length,t),n=e.length-a;return r.jsxs("div",{className:"flex -space-x-2","data-testid":"member-avatar-stack",children:[Array.from({length:a}).map((o,l)=>r.jsx("div",{className:"w-8 h-8 rounded-full bg-gray-200 ring-2 ring-white flex items-center justify-center",children:r.jsx(Bt,{className:"w-4 h-4 text-gray-400"})},l)),n>0&&r.jsxs("div",{className:"w-8 h-8 rounded-full bg-gray-100 ring-2 ring-white flex items-center justify-center text-xs font-medium text-gray-600",children:["+",n]})]})}function $W({team:e,isSelected:t,onClick:a}){const n=e.status!=="tombstone",o=e.members?.length||0;return r.jsxs("div",{onClick:a,className:`bg-white rounded-lg border p-4 transition-colors cursor-pointer ${t?"border-blue-500 ring-2 ring-blue-200":"border-gray-200 hover:border-gray-300"} ${n?"":"opacity-60"}`,"data-testid":`team-card-${e.id}`,children:[r.jsxs("div",{className:"flex items-start gap-3",children:[r.jsx("div",{className:"w-10 h-10 rounded-full bg-indigo-100 flex items-center justify-center","data-testid":`team-avatar-${e.id}`,children:r.jsx(Bt,{className:"w-5 h-5 text-indigo-600"})}),r.jsxs("div",{className:"flex-1 min-w-0",children:[r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsx("h3",{className:"font-medium text-gray-900 truncate",children:e.name}),!n&&r.jsx("span",{className:"px-1.5 py-0.5 text-xs font-medium bg-gray-100 text-gray-600 rounded",children:"Deleted"})]}),r.jsx("p",{className:"text-xs text-gray-500 font-mono truncate",children:e.id})]}),r.jsxs("span",{className:"px-2 py-1 text-xs font-medium rounded bg-indigo-100 text-indigo-800","data-testid":`team-member-count-${e.id}`,children:[o," ",o===1?"member":"members"]})]}),o>0&&r.jsx("div",{className:"mt-3",children:r.jsx(AW,{memberIds:e.members,maxDisplay:5})}),e.tags&&e.tags.length>0&&r.jsxs("div",{className:"mt-3 flex flex-wrap gap-1",children:[e.tags.slice(0,3).map(l=>r.jsx("span",{className:"px-1.5 py-0.5 text-xs bg-gray-100 text-gray-600 rounded",children:l},l)),e.tags.length>3&&r.jsxs("span",{className:"text-xs text-gray-500",children:["+",e.tags.length-3]})]}),r.jsxs("div",{className:"mt-3 text-xs text-gray-500 dark:text-gray-400",children:["Created ",new Date(e.createdAt).toLocaleDateString()]})]})}function Ku({icon:e,label:t,value:a,color:n="text-gray-600"}){return r.jsxs("div",{className:"bg-gray-50 rounded-lg p-3",children:[r.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[r.jsx(e,{className:`w-4 h-4 ${n}`}),r.jsx("span",{className:"text-xs text-gray-500",children:t})]}),r.jsx("span",{className:"text-lg font-semibold text-gray-900",children:a})]})}function DW({memberId:e,memberName:t,taskCount:a,percentage:n,maxTasks:o,onClick:l}){const d=o>0?Math.round(a/o*100):0,u=rr(),m=()=>{l?l():u({to:"/tasks",search:{assignee:e,page:1,limit:25}})};return r.jsxs("button",{className:"flex items-center gap-3 w-full text-left hover:bg-gray-50 rounded p-1 -mx-1 transition-colors cursor-pointer group","data-testid":`workload-bar-${e}`,onClick:m,title:`Click to view ${t}'s tasks`,children:[r.jsx("div",{className:"w-24 truncate text-sm text-gray-700 group-hover:text-blue-600",children:t}),r.jsx("div",{className:"flex-1 h-6 bg-gray-100 rounded-full overflow-hidden",children:r.jsx("div",{className:"h-full bg-indigo-500 rounded-full transition-all",style:{width:`${d}%`}})}),r.jsxs("div",{className:"w-16 text-right text-sm text-gray-600",children:[a," (",n,"%)"]})]})}function _W({teamName:e,isDeleting:t,error:a,onConfirm:n,onCancel:o}){return r.jsxs("div",{className:"fixed inset-0 z-50","data-testid":"delete-team-confirm-modal",children:[r.jsx("div",{className:"absolute inset-0 bg-black/50",onClick:o}),r.jsx("div",{className:"absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 w-full max-w-sm",children:r.jsxs("div",{className:"bg-white rounded-lg shadow-xl p-6",children:[r.jsx("h3",{className:"text-lg font-medium text-gray-900 mb-2",children:"Delete Team?"}),r.jsxs("p",{className:"text-sm text-gray-500 mb-4",children:["Are you sure you want to delete ",r.jsx("strong",{children:e}),"? This action cannot be undone."]}),a&&r.jsx("div",{className:"mb-4 p-2 bg-red-50 border border-red-200 rounded text-sm text-red-600",children:a.message}),r.jsxs("div",{className:"flex justify-end gap-3",children:[r.jsx("button",{onClick:o,className:"px-4 py-2 text-sm font-medium text-gray-700 hover:bg-gray-100 rounded-md","data-testid":"delete-team-cancel",children:"Cancel"}),r.jsx("button",{onClick:n,disabled:t,className:"inline-flex items-center gap-2 px-4 py-2 text-sm font-medium text-white bg-red-600 hover:bg-red-700 rounded-md disabled:opacity-50","data-testid":"delete-team-confirm",children:t?r.jsxs(r.Fragment,{children:[r.jsx(je,{className:"w-4 h-4 animate-spin"}),"Deleting..."]}):r.jsxs(r.Fragment,{children:[r.jsx(jt,{className:"w-4 h-4"}),"Delete"]})})]})]})})]})}function MW(e){return be({queryKey:["teams",e],queryFn:async()=>{const t=await fetch(`/api/teams/${e}`);if(!t.ok)throw new Error("Failed to fetch team");return t.json()},enabled:!!e})}function LW(e){return be({queryKey:["teams",e,"members"],queryFn:async()=>{const t=await fetch(`/api/teams/${e}/members`);if(!t.ok)throw new Error("Failed to fetch team members");return t.json()},enabled:!!e})}function PW(e){return be({queryKey:["teams",e,"stats"],queryFn:async()=>{const t=await fetch(`/api/teams/${e}/stats`);if(!t.ok)throw new Error("Failed to fetch team stats");return t.json()},enabled:!!e})}function RW(){const e=$e();return Re({mutationFn:async({id:t,input:a})=>{const n=await fetch(`/api/teams/${t}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)});if(!n.ok){const o=await n.json();throw new Error(o.error?.message||"Failed to update team")}return n.json()},onSuccess:(t,{id:a})=>{e.invalidateQueries({queryKey:["teams"]}),e.invalidateQueries({queryKey:["teams",a]}),e.invalidateQueries({queryKey:["teams",a,"members"]})}})}function IW(){const e=$e();return Re({mutationFn:async t=>{const a=await fetch(`/api/teams/${t}`,{method:"DELETE"});if(!a.ok){const n=await a.json();throw new Error(n.error?.message||"Failed to delete team")}return a.json()},onSuccess:()=>{e.invalidateQueries({queryKey:["teams"]})}})}function BW(){return be({queryKey:["entities","all"],queryFn:async()=>{const e=await fetch("/api/entities?limit=1000");if(!e.ok)throw new Error("Failed to fetch entities");const t=await e.json();return t.items||t}})}function l2({teamId:e,onClose:t,onDeleted:a}){const{data:n,isLoading:o}=MW(e),{data:l,isLoading:d}=LW(e),{data:u,isLoading:m}=PW(e),h=BW(),x=RW(),g=IW(),{onNavigate:p,renderProfileLink:j}=Cf(),[k,N]=y.useState(!1),[v,T]=y.useState(""),[E,O]=y.useState(!1),[S,C]=y.useState(""),A=y.useRef(null);y.useEffect(()=>{k&&A.current&&(A.current.focus(),A.current.select())},[k]);const $=y.useMemo(()=>{const H=n?.members||[],G=h.data||[];if(!S.trim())return G.filter(te=>!H.includes(te.id));const W=S.toLowerCase();return G.filter(te=>!H.includes(te.id)&&(te.name.toLowerCase().includes(W)||te.id.toLowerCase().includes(W)))},[h.data,n?.members,S]);if(o)return r.jsx("div",{className:"h-full flex items-center justify-center","data-testid":"team-detail-loading",children:r.jsx("span",{className:"text-gray-500",children:"Loading..."})});if(!n)return r.jsx("div",{className:"h-full flex items-center justify-center","data-testid":"team-detail-error",children:r.jsx("span",{className:"text-red-600",children:"Team not found"})});const P=n.status!=="tombstone",M=n.members?.length||0,q={};if(l)for(const H of l)q[H.id]=H.name;const _=u?.workloadDistribution?.reduce((H,G)=>Math.max(H,G.taskCount),0)||0,z=()=>{T(n.name),N(!0)},U=async()=>{if(!v.trim()||v.trim()===n.name){N(!1);return}try{await x.mutateAsync({id:e,input:{name:v.trim()}}),N(!1)}catch{}},K=()=>{N(!1),T("")},R=H=>{H.key==="Enter"?U():H.key==="Escape"&&K()},L=async H=>{try{await x.mutateAsync({id:e,input:{addMembers:[H]}}),C("")}catch{}},F=async H=>{try{await x.mutateAsync({id:e,input:{removeMembers:[H]}})}catch{}},B=async()=>{try{await g.mutateAsync(e),O(!1),a?.(),t()}catch{}};return r.jsxs("div",{className:"h-full flex flex-col","data-testid":"team-detail-panel",children:[r.jsxs("div",{className:"flex items-start justify-between p-4 border-b border-gray-200",children:[r.jsxs("div",{className:"flex items-center gap-3",children:[r.jsx("div",{className:"w-12 h-12 rounded-full bg-indigo-100 flex items-center justify-center",children:r.jsx(Bt,{className:"w-6 h-6 text-indigo-600"})}),r.jsxs("div",{children:[r.jsx("div",{className:"flex items-center gap-2",children:k?r.jsxs("div",{className:"flex items-center gap-1",children:[r.jsx("input",{ref:A,type:"text",value:v,onChange:H=>T(H.target.value),onKeyDown:R,className:"px-2 py-1 text-lg font-medium text-gray-900 border border-gray-300 rounded focus:outline-none focus:ring-2 focus:ring-blue-500","data-testid":"team-name-input"}),r.jsx("button",{onClick:U,disabled:x.isPending,className:"p-1 text-green-600 hover:bg-green-50 rounded","data-testid":"team-name-save",children:x.isPending?r.jsx(je,{className:"w-4 h-4 animate-spin"}):r.jsx(Jc,{className:"w-4 h-4"})}),r.jsx("button",{onClick:K,className:"p-1 text-gray-400 hover:bg-gray-100 rounded","data-testid":"team-name-cancel",children:r.jsx(Ee,{className:"w-4 h-4"})})]}):r.jsxs(r.Fragment,{children:[r.jsx("h2",{className:"text-lg font-medium text-gray-900",children:n.name}),P&&r.jsx("button",{onClick:z,className:"p-1 text-gray-400 hover:text-gray-600 hover:bg-gray-100 rounded","data-testid":"team-name-edit",children:r.jsx(ns,{className:"w-4 h-4"})}),!P&&r.jsx("span",{className:"px-1.5 py-0.5 text-xs font-medium bg-gray-100 text-gray-600 rounded",children:"Deleted"})]})}),r.jsx("p",{className:"text-sm text-gray-500 font-mono",children:n.id})]})]}),r.jsxs("div",{className:"flex items-center gap-1",children:[P&&r.jsx("button",{onClick:()=>O(!0),className:"p-1 text-red-400 hover:text-red-600 hover:bg-red-50 rounded","data-testid":"team-delete-button",title:"Delete team",children:r.jsx(jt,{className:"w-5 h-5"})}),r.jsx("button",{onClick:t,className:"p-1 text-gray-400 hover:text-gray-600 rounded","data-testid":"team-detail-close",children:r.jsx(Ee,{className:"w-5 h-5"})})]})]}),E&&r.jsx(_W,{teamName:n.name,isDeleting:g.isPending,error:g.error,onConfirm:B,onCancel:()=>O(!1)}),r.jsxs("div",{className:"flex-1 overflow-auto p-4 space-y-6",children:[x.isError&&r.jsx("div",{className:"p-3 bg-red-50 border border-red-200 rounded-md text-sm text-red-600","data-testid":"team-update-error",children:x.error.message}),r.jsxs("div",{children:[r.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[r.jsxs("span",{className:"px-2 py-1 text-sm font-medium bg-indigo-100 text-indigo-800 rounded",children:[M," ",M===1?"Member":"Members"]}),n.status&&r.jsx("span",{className:`px-2 py-1 text-xs font-medium rounded ${n.status==="active"?"bg-green-100 text-green-800":"bg-gray-100 text-gray-600"}`,children:n.status})]}),n.tags&&n.tags.length>0&&r.jsx("div",{className:"flex flex-wrap gap-1","data-testid":"team-tags",children:n.tags.map(H=>r.jsx("span",{className:"px-2 py-0.5 text-xs bg-gray-100 text-gray-600 rounded",children:H},H))})]}),r.jsxs("div",{children:[r.jsx("h3",{className:"text-sm font-medium text-gray-900 mb-3",children:"Statistics"}),m?r.jsx("div",{className:"text-sm text-gray-500",children:"Loading stats..."}):u?r.jsxs("div",{className:"grid grid-cols-2 gap-3","data-testid":"team-stats",children:[r.jsx(Ku,{icon:_r,label:"Total Tasks",value:u.totalTasksAssigned}),r.jsx(Ku,{icon:_t,label:"Active Tasks",value:u.activeTasksAssigned,color:"text-yellow-600"}),r.jsx(Ku,{icon:Gt,label:"Completed",value:u.completedTasksAssigned,color:"text-green-600"}),r.jsx(Ku,{icon:ZO,label:"Created by Team",value:u.createdByTeamMembers,color:"text-blue-600"})]}):null]}),u&&u.workloadDistribution&&u.workloadDistribution.length>0&&r.jsxs("div",{children:[r.jsx("h3",{className:"text-sm font-medium text-gray-900 mb-3",children:"Workload Distribution"}),r.jsx("div",{className:"space-y-2","data-testid":"team-workload",children:u.workloadDistribution.map(H=>r.jsx(DW,{memberId:H.memberId,memberName:q[H.memberId]||H.memberId,taskCount:H.taskCount,percentage:H.percentage,maxTasks:_},H.memberId))})]}),r.jsxs("div",{children:[r.jsxs("h3",{className:"text-sm font-medium text-gray-900 mb-3",children:["Team Members (",M,")"]}),P&&r.jsxs("div",{className:"mb-3",children:[r.jsxs("div",{className:"relative",children:[r.jsx(Ve,{className:"absolute left-2.5 top-1/2 -translate-y-1/2 w-4 h-4 text-gray-400"}),r.jsx("input",{type:"text",value:S,onChange:H=>C(H.target.value),placeholder:"Add member...",className:"w-full pl-8 pr-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent text-sm","data-testid":"add-member-search"})]}),S.trim()&&r.jsx("div",{className:"mt-1 max-h-32 overflow-auto border border-gray-200 rounded-md bg-white shadow-lg","data-testid":"add-member-results",children:h.isLoading?r.jsx("div",{className:"p-2 text-sm text-gray-500 text-center",children:"Loading..."}):$.length===0?r.jsx("div",{className:"p-2 text-sm text-gray-500 text-center",children:"No matching entities"}):$.slice(0,5).map(H=>{const G=Uu[H.entityType]||Uu.system,W=G.icon;return r.jsxs("button",{type:"button",onClick:()=>L(H.id),disabled:x.isPending,className:"w-full flex items-center gap-2 px-3 py-2 hover:bg-gray-50 text-left disabled:opacity-50","data-testid":`add-member-option-${H.id}`,children:[r.jsx(Fe,{className:"w-3 h-3 text-green-500"}),r.jsx(W,{className:`w-4 h-4 ${G.text}`}),r.jsx("span",{className:"text-sm text-gray-900",children:H.name})]},H.id)})})]}),l&&l.length===1&&P&&r.jsx("div",{className:"mb-3 p-2 bg-amber-50 border border-amber-200 rounded-md text-xs text-amber-700","data-testid":"last-member-warning",children:"This is the last member. Teams must have at least one member."}),d?r.jsx("div",{className:"text-sm text-gray-500",children:"Loading members..."}):l&&l.length>0?r.jsx("div",{className:"space-y-1","data-testid":"team-members-list",children:l.map(H=>{const G=Uu[H.entityType]||Uu.system,W=G.icon,te=l.length===1;return r.jsxs("div",{className:"flex items-center justify-between gap-2 p-2 rounded-md hover:bg-gray-50 group","data-testid":`member-item-${H.id}`,children:[r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsx(W,{className:`w-4 h-4 ${G.text}`}),r.jsx(mo,{entityRef:H.id,className:"text-sm",showHoverCard:!0,navigable:!0,onNavigate:p,renderProfileLink:j,"data-testid":`member-link-${H.id}`,children:H.name}),r.jsx("span",{className:`px-1.5 py-0.5 text-xs font-medium rounded ${G.bg} ${G.text}`,children:H.entityType})]}),P&&r.jsx("button",{onClick:()=>F(H.id),disabled:x.isPending||te,className:`p-1 rounded transition-opacity disabled:opacity-50 disabled:cursor-not-allowed ${te?"text-gray-300 cursor-not-allowed":"text-gray-400 hover:text-red-600 hover:bg-red-50 opacity-0 group-hover:opacity-100"}`,title:te?"Cannot remove the last member from a team":"Remove from team","data-testid":`remove-member-${H.id}`,children:r.jsx(Hm,{className:"w-4 h-4"})})]},H.id)})}):M>0?r.jsxs("div",{className:"text-sm text-gray-500",children:[M," members (details not available)"]}):r.jsx("div",{className:"text-sm text-gray-500",children:"No members"})]}),r.jsxs("div",{className:"text-xs text-gray-500 dark:text-gray-400 pt-4 border-t border-gray-100",children:[r.jsxs("div",{children:["Created: ",new Date(n.createdAt).toLocaleString()]}),r.jsxs("div",{children:["Updated: ",new Date(n.updatedAt).toLocaleString()]})]})]})]})}function zW(){const e=rr(),t=kn({from:"/teams"}),a=Et();Va();const n=t.page??1,o=t.limit??EW,[l,d]=y.useState(""),[u,m]=y.useState(t.selected??null),[h,x]=y.useState(!1),{data:g,isLoading:p}=ZK(),j=y.useMemo(()=>nV({search:l}),[l]),k=Ey({data:g,page:n,pageSize:o,filterFn:j,sort:{field:"updatedAt",direction:"desc"}}),N=cd({data:g,selectedId:t.selected,currentPage:n,pageSize:o,getId:_=>_.id,routePath:"/teams",rowTestIdPrefix:"team-card-",autoNavigate:!0,highlightDelay:200}),v=k.items,T=k.filteredTotal,E=k.totalPages,O=p||k.isLoading;y.useEffect(()=>{t.selected&&t.selected!==u&&m(t.selected),!t.selected&&u&&m(null)},[t.selected]);const S=_=>{m(_),e({to:"/teams",search:{selected:_,page:n,limit:o}})},C=()=>{m(null),e({to:"/teams",search:{selected:void 0,page:n,limit:o}})},A=_=>{m(_.id),e({to:"/teams",search:{selected:_.id,page:n,limit:o}})},$=_=>{e({to:"/teams",search:{page:_,limit:o,selected:u??void 0}})},P=_=>{e({to:"/teams",search:{page:1,limit:_,selected:u??void 0}})},M=_=>{d(_),e({to:"/teams",search:{page:1,limit:o,selected:u??void 0}})},q=()=>{d(""),e({to:"/teams",search:{page:1,limit:o,selected:u??void 0}})};return r.jsxs("div",{className:"h-full flex","data-testid":"teams-page",children:[r.jsx(U5,{isOpen:h,onClose:()=>x(!1),onSuccess:A}),r.jsxs("div",{className:`flex flex-col ${!a&&u?"w-1/2":"w-full"} transition-all duration-200`,children:[r.jsx(wn,{title:"Teams",icon:Zc,iconColor:"text-blue-500",count:v.length,totalCount:T,bordered:!0,actions:[{label:"Create Team",shortLabel:"Add",icon:Fe,onClick:()=>x(!0),shortcut:or("action.createTeam"),testId:"new-team-button"}],testId:"teams-header",children:r.jsx(OW,{value:l,onChange:M})}),O&&r.jsx("div",{className:"flex-1 flex items-center justify-center",children:r.jsx("div",{className:"text-[var(--color-text-muted)]","data-testid":"teams-loading",children:"Loading teams..."})}),!O&&v.length===0&&r.jsx("div",{className:"flex-1 flex items-center justify-center",children:r.jsx("div",{className:"text-center px-4","data-testid":"teams-empty",children:l?r.jsxs(r.Fragment,{children:[r.jsx("p",{className:"text-[var(--color-text-muted)]",children:"No teams match your search"}),r.jsx("button",{onClick:q,className:"mt-2 text-sm text-blue-600 hover:text-blue-700 touch-target","data-testid":"clear-search-button",children:"Clear search"})]}):r.jsxs(r.Fragment,{children:[r.jsx("p",{className:"text-[var(--color-text-muted)]",children:"No teams created"}),r.jsx("button",{onClick:()=>x(!0),className:"mt-2 text-sm text-blue-600 hover:text-blue-700 touch-target","data-testid":"create-team-empty-button",children:"Create one"})]})})}),!O&&v.length>0&&r.jsxs("div",{className:"flex-1 overflow-auto -mx-4 sm:mx-0","data-testid":"teams-grid",children:[a?r.jsx("div",{className:"divide-y divide-[var(--color-border)]",children:v.map(_=>r.jsx(TW,{team:_,isSelected:_.id===u,onClick:()=>S(_.id),searchQuery:l},_.id))}):r.jsx("div",{className:`grid gap-4 ${u?"grid-cols-1":"grid-cols-1 md:grid-cols-2 lg:grid-cols-3"}`,children:v.map(_=>r.jsx($W,{team:_,isSelected:_.id===u,onClick:()=>S(_.id)},_.id))}),r.jsx("div",{className:"mt-4 sm:mt-6 px-4 sm:px-0 pb-4",children:r.jsx(Ef,{currentPage:n,totalPages:E,totalItems:T,pageSize:o,onPageChange:$,onPageSizeChange:P})})]})]}),a&&u&&r.jsx(Vo,{open:!!u,onClose:C,title:"Team Details","data-testid":"team-detail-sheet",children:N.notFound?r.jsx(Ka,{elementType:"Team",elementId:u,backRoute:"/teams",backLabel:"Back to Teams",onDismiss:C}):r.jsx(l2,{teamId:u,onClose:C,onDeleted:()=>m(null)})}),!a&&u&&r.jsx("div",{className:"w-1/2 border-l border-[var(--color-border)]","data-testid":"team-detail-container",children:N.notFound?r.jsx(Ka,{elementType:"Team",elementId:u,backRoute:"/teams",backLabel:"Back to Teams",onDismiss:C}):r.jsx(l2,{teamId:u,onClose:C,onDeleted:()=>m(null)})})]})}const IT="stoneforge-inbox-page-view",BT="stoneforge-inbox-page-source-filter",zT="stoneforge-inbox-page-sort-order";function qW(){const e=localStorage.getItem(IT);return e==="unread"||e==="all"||e==="archived"?e:"unread"}function FW(e){localStorage.setItem(IT,e)}function UW(){const e=localStorage.getItem(BT);return e==="all"||e==="direct"||e==="mention"?e:"all"}function KW(e){localStorage.setItem(BT,e)}function HW(){const e=localStorage.getItem(zT);return e==="newest"||e==="oldest"||e==="sender"?e:"newest"}function VW(e){localStorage.setItem(zT,e)}function GW(e="all",t){return be({queryKey:["inbox",t,e],queryFn:async()=>{const a=new URLSearchParams({limit:"100",hydrate:"true"});e==="unread"?a.set("status","unread"):e==="archived"?a.set("status","archived"):a.set("status","unread,read"),t&&a.set("entityId",t);const n=await fetch(`/api/inbox/all?${a}`);if(!n.ok)throw new Error("Failed to fetch inbox");return n.json()},enabled:!!t,staleTime:0,refetchOnWindowFocus:"always"})}function YW(e){return be({queryKey:["inbox",e,"count"],queryFn:async()=>{const t=new URLSearchParams;e&&t.set("entityId",e);const a=await fetch(`/api/inbox/count?${t}`);if(!a.ok)throw new Error("Failed to fetch inbox count");return a.json()},enabled:!!e,staleTime:0,refetchOnWindowFocus:"always"})}function QW(){const e=$e();return Re({mutationFn:async({itemId:t,status:a})=>{const n=await fetch(`/api/inbox/${t}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({status:a})});if(!n.ok)throw new Error("Failed to update inbox item");return n.json()},onSuccess:()=>{e.invalidateQueries({queryKey:["inbox"]})}})}function XW(){const e=$e();return Re({mutationFn:async({channelId:t,sender:a,content:n,threadId:o})=>{const l=await fetch("/api/messages",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({channelId:t,sender:a,content:n,threadId:o})});if(!l.ok){const u=(await l.json().catch(()=>({})))?.error?.message||"Failed to send message";throw new Error(u)}return l.json()},onSuccess:(t,a)=>{e.invalidateQueries({queryKey:["messages"]}),e.invalidateQueries({queryKey:["inbox"]}),a.threadId&&e.invalidateQueries({queryKey:["messages",a.threadId,"replies"]})}})}function WW(e){return be({queryKey:["messages",e,"replies"],queryFn:async()=>{if(!e)return[];const t=await fetch(`/api/messages/${e}/replies?hydrate.content=true`);if(!t.ok)throw new Error("Failed to fetch thread replies");const a=await t.json();return await Promise.all(a.map(async o=>{try{const l=await fetch(`/api/entities/${o.sender}`);if(l.ok){const d=await l.json();return{...o,_senderEntity:d}}}catch{}return o}))},enabled:!!e,staleTime:1e4})}function ZW({period:e}){return r.jsxs("div",{className:"sticky top-0 z-10 px-3 py-1.5 bg-gray-100 dark:bg-gray-800 border-b border-gray-200 dark:border-gray-700 flex items-center gap-2","data-testid":`inbox-page-time-period-${e}`,children:[r.jsx(zo,{className:"w-3 h-3 text-gray-500"}),r.jsx("span",{className:"text-xs font-semibold text-gray-600 dark:text-gray-400 uppercase tracking-wide",children:H5[e]})]})}function JW({item:e,isSelected:t,onSelect:a,formattedTime:n}){const o=e.status==="unread",l=n??Ys(e.createdAt),d=e.sender?.name??"Unknown",u=e.sender?.entityType??"agent",h=(e.message?.contentPreview??"").split(`
341
+ `)[0]?.slice(0,50)||"",x=e.threadParent!==null&&e.threadParent!==void 0,g=e.threadParent?.sender?.name??"Unknown",p=()=>{switch(u){case"agent":return r.jsx(tr,{className:"w-3 h-3"});case"human":return r.jsx(Ze,{className:"w-3 h-3"});case"system":return r.jsx(gr,{className:"w-3 h-3"});default:return r.jsx(Ze,{className:"w-3 h-3"})}},j=()=>{switch(u){case"agent":return"bg-purple-100 text-purple-600 dark:bg-purple-900 dark:text-purple-400";case"human":return"bg-blue-100 text-blue-600 dark:bg-blue-900 dark:text-blue-400";case"system":return"bg-gray-100 text-gray-600 dark:bg-gray-800 dark:text-gray-400";default:return"bg-gray-100 text-gray-600 dark:bg-gray-800 dark:text-gray-400"}};return r.jsxs("button",{onClick:a,className:`w-full text-left px-3 py-2 flex items-start gap-2 transition-colors border-b border-gray-100 dark:border-gray-800 ${t?"bg-blue-50 dark:bg-blue-900/30 border-l-2 border-l-blue-500":o?"bg-white dark:bg-gray-900 hover:bg-gray-50 dark:hover:bg-gray-800":"bg-gray-50/50 dark:bg-gray-900/50 hover:bg-gray-100/50 dark:hover:bg-gray-800/50"}`,"data-testid":`inbox-page-list-item-${e.id}`,children:[r.jsx("div",{className:`w-6 h-6 rounded-full flex items-center justify-center flex-shrink-0 ${j()}`,children:p()}),r.jsxs("div",{className:"flex-1 min-w-0",children:[r.jsxs("div",{className:"flex items-center justify-between gap-2",children:[r.jsx("span",{className:`text-sm truncate ${o?"font-medium text-gray-900 dark:text-gray-100":"text-gray-700 dark:text-gray-300"}`,children:d}),r.jsxs("div",{className:"flex items-center gap-1 flex-shrink-0",children:[r.jsx("span",{className:"text-xs text-gray-400 dark:text-gray-500","data-testid":`inbox-page-list-item-time-${e.id}`,children:l}),o&&r.jsx("span",{className:"w-2 h-2 rounded-full bg-blue-500","data-testid":`inbox-page-list-item-unread-${e.id}`})]})]}),x&&r.jsxs("div",{className:"flex items-center gap-1 text-xs text-gray-500 dark:text-gray-400 mt-0.5","data-testid":`inbox-page-list-item-thread-${e.id}`,children:[r.jsx(K0,{className:"w-3 h-3"}),r.jsxs("span",{children:["Reply to ",g]})]}),e.recipient&&r.jsxs("div",{className:"flex items-center gap-1 text-xs text-gray-500 dark:text-gray-400 mt-0.5",children:[r.jsx("span",{children:"To:"}),r.jsx("span",{className:"font-medium",children:e.recipient.name})]}),h&&r.jsx("p",{className:`text-xs truncate ${o?"text-gray-600 dark:text-gray-400":"text-gray-500 dark:text-gray-500"}`,children:h})]})]})}function eZ({item:e,onMarkRead:t,onMarkUnread:a,onArchive:n,onRestore:o,isPending:l,onNavigateToMessage:d,onNavigateToEntity:u,onReply:m,threadReplies:h,threadRepliesLoading:x,currentUserId:g}){const p=e.status==="unread",j=e.status==="archived",k=z=>new Date(z).toLocaleString("en-US",{weekday:"short",month:"short",day:"numeric",year:"numeric",hour:"numeric",minute:"2-digit"}),N=z=>new Date(z).toLocaleString("en-US",{weekday:"long",month:"long",day:"numeric",year:"numeric",hour:"numeric",minute:"2-digit",second:"2-digit"}),v=z=>{const U=new Date(z),R=new Date().getTime()-U.getTime(),L=Math.floor(R/6e4),F=Math.floor(R/36e5),B=Math.floor(R/864e5);return L<1?"just now":L<60?`${L} minute${L===1?"":"s"} ago`:F<24?`${F} hour${F===1?"":"s"} ago`:B<7?`${B} day${B===1?"":"s"} ago`:""},T=e.sender?.name??"Unknown",E=e.sender?.entityType??"agent",O=e.sender?.id??e.message?.sender,S=e.channel?.name??e.channelId,C=e.message?.fullContent??e.message?.contentPreview??"",A=e.message?.contentType??"text",$=z=>{switch(z??E){case"agent":return r.jsx(tr,{className:"w-5 h-5"});case"human":return r.jsx(Ze,{className:"w-5 h-5"});case"system":return r.jsx(gr,{className:"w-5 h-5"});default:return r.jsx(Ze,{className:"w-5 h-5"})}},P=z=>{switch(z??E){case"agent":return"bg-purple-100 text-purple-600 dark:bg-purple-900 dark:text-purple-400";case"human":return"bg-blue-100 text-blue-600 dark:bg-blue-900 dark:text-blue-400";case"system":return"bg-gray-100 text-gray-600 dark:bg-gray-800 dark:text-gray-400";default:return"bg-gray-100 text-gray-600 dark:bg-gray-800 dark:text-gray-400"}},M=v(e.createdAt),q=e.attachments&&e.attachments.length>0,_=e.threadParent!==null&&e.threadParent!==void 0;return r.jsxs("div",{className:"flex flex-col","data-testid":`inbox-page-message-content-${e.id}`,children:[r.jsxs("div",{className:"p-4 border-b border-gray-200 dark:border-gray-700",children:[r.jsxs("div",{className:"flex items-start justify-between",children:[r.jsxs("div",{className:"flex items-center gap-3",children:[r.jsx("button",{onClick:()=>O&&u(O),className:`w-10 h-10 rounded-full flex items-center justify-center ${P()} hover:ring-2 hover:ring-blue-300 transition-all`,"data-testid":`inbox-page-content-avatar-${e.id}`,children:$()}),r.jsxs("div",{children:[r.jsx("button",{onClick:()=>O&&u(O),className:"text-sm font-medium text-gray-900 dark:text-gray-100 hover:text-blue-600 hover:underline","data-testid":`inbox-page-content-sender-${e.id}`,children:T}),r.jsxs("div",{className:"flex items-center gap-2 text-xs text-gray-500 dark:text-gray-400",children:[r.jsxs("button",{onClick:d,className:"hover:text-blue-600 hover:underline","data-testid":`inbox-page-content-channel-${e.id}`,children:["#",S]}),r.jsx("span",{children:"•"}),r.jsx("span",{className:`inline-flex items-center gap-0.5 px-1.5 py-0.5 text-xs font-medium rounded ${e.sourceType==="mention"?"bg-purple-100 text-purple-700 dark:bg-purple-900 dark:text-purple-300":"bg-blue-100 text-blue-700 dark:bg-blue-900 dark:text-blue-300"}`,children:e.sourceType==="mention"?r.jsxs(r.Fragment,{children:[r.jsx(lc,{className:"w-3 h-3"}),"Mention"]}):r.jsxs(r.Fragment,{children:[r.jsx(vt,{className:"w-3 h-3"}),"Direct"]})})]})]})]}),r.jsx("div",{className:"flex items-center gap-1",children:l?r.jsx(je,{className:"w-4 h-4 animate-spin text-gray-400"}):r.jsxs(r.Fragment,{children:[!j&&m&&r.jsx("button",{onClick:m,className:"p-1.5 text-gray-400 hover:text-blue-600 hover:bg-blue-50 dark:hover:bg-blue-900/30 rounded transition-colors",title:"Reply","data-testid":`inbox-page-content-reply-${e.id}`,children:r.jsx(Ju,{className:"w-4 h-4"})}),j?r.jsx("button",{onClick:o,className:"p-1.5 text-gray-400 hover:text-green-600 hover:bg-green-50 dark:hover:bg-green-900/30 rounded transition-colors",title:"Restore","data-testid":`inbox-page-content-restore-${e.id}`,children:r.jsx(Xs,{className:"w-4 h-4"})}):r.jsxs(r.Fragment,{children:[p?r.jsx("button",{onClick:t,className:"p-1.5 text-gray-400 hover:text-blue-600 hover:bg-blue-50 dark:hover:bg-blue-900/30 rounded transition-colors",title:"Mark as read","data-testid":`inbox-page-content-mark-read-${e.id}`,children:r.jsx(A2,{className:"w-4 h-4"})}):r.jsx("button",{onClick:a,className:"p-1.5 text-gray-400 hover:text-blue-600 hover:bg-blue-50 dark:hover:bg-blue-900/30 rounded transition-colors",title:"Mark as unread","data-testid":`inbox-page-content-mark-unread-${e.id}`,children:r.jsx(U0,{className:"w-4 h-4"})}),r.jsx("button",{onClick:n,className:"p-1.5 text-gray-400 hover:text-orange-600 hover:bg-orange-50 dark:hover:bg-orange-900/30 rounded transition-colors",title:"Archive","data-testid":`inbox-page-content-archive-${e.id}`,children:r.jsx($2,{className:"w-4 h-4"})})]})]})})]}),r.jsxs("div",{className:"mt-2 text-xs text-gray-500 dark:text-gray-400 cursor-help",title:N(e.createdAt),"data-testid":`inbox-page-content-time-${e.id}`,children:[k(e.createdAt),M&&r.jsxs("span",{className:"ml-1",children:["(",M,")"]})]})]}),r.jsxs("div",{className:"flex-1",children:[_&&e.threadParent&&r.jsxs("div",{className:"mx-4 mt-4 p-3 bg-gray-50 dark:bg-gray-800 border-l-4 border-gray-300 dark:border-gray-600 rounded-r","data-testid":`inbox-page-content-thread-context-${e.id}`,children:[r.jsxs("div",{className:"flex items-center gap-2 text-xs text-gray-500 dark:text-gray-400 mb-1",children:[r.jsx(K0,{className:"w-3 h-3"}),r.jsx("span",{children:"Reply to"})]}),r.jsxs("div",{className:"flex items-start gap-2",children:[r.jsx("button",{onClick:()=>e.threadParent?.sender?.id&&u(e.threadParent.sender.id),className:`w-6 h-6 rounded-full flex items-center justify-center flex-shrink-0 ${P(e.threadParent.sender?.entityType)} hover:ring-2 hover:ring-blue-300 transition-all`,children:$(e.threadParent.sender?.entityType)}),r.jsxs("div",{className:"min-w-0 flex-1",children:[r.jsx("button",{onClick:()=>e.threadParent?.sender?.id&&u(e.threadParent.sender.id),className:"text-xs font-medium text-gray-700 dark:text-gray-300 hover:text-blue-600 hover:underline",children:e.threadParent.sender?.name??"Unknown"}),r.jsx("p",{className:"text-xs text-gray-500 dark:text-gray-400 truncate mt-0.5",children:e.threadParent.contentPreview||"No content"})]})]})]}),r.jsx("div",{className:"p-4",children:r.jsx("div",{className:"prose prose-sm dark:prose-invert max-w-none text-gray-700 dark:text-gray-300 whitespace-pre-wrap","data-testid":`inbox-page-content-body-${e.id}`,children:C||r.jsx("span",{className:"text-gray-400 italic",children:"No content"})})}),q&&r.jsxs("div",{className:"px-4 pb-4","data-testid":`inbox-page-content-attachments-${e.id}`,children:[r.jsxs("div",{className:"flex items-center gap-2 text-xs text-gray-500 dark:text-gray-400 mb-2",children:[r.jsx(Qc,{className:"w-3 h-3"}),r.jsxs("span",{children:[e.attachments.length," attachment",e.attachments.length!==1?"s":""]})]}),r.jsx("div",{className:"space-y-2",children:e.attachments.map(z=>r.jsxs("div",{className:"border border-gray-200 dark:border-gray-700 rounded-lg p-3 bg-gray-50 dark:bg-gray-800 hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors","data-testid":`inbox-page-content-attachment-${z.id}`,children:[r.jsx("div",{className:"flex items-start justify-between",children:r.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[r.jsx(Je,{className:"w-4 h-4 text-gray-400 flex-shrink-0"}),r.jsxs("div",{className:"min-w-0",children:[r.jsx("p",{className:"text-sm font-medium text-gray-700 dark:text-gray-300 truncate",children:z.title}),r.jsx("span",{className:"inline-flex items-center px-1.5 py-0.5 text-xs font-medium bg-gray-200 dark:bg-gray-700 text-gray-600 dark:text-gray-400 rounded",children:z.contentType??"text"})]})]})}),z.content&&r.jsxs("div",{className:"mt-2 text-xs text-gray-500 dark:text-gray-400 line-clamp-3 whitespace-pre-wrap",children:[z.content.substring(0,200),z.content.length>200&&"..."]})]},z.id))})]}),h&&h.length>0&&r.jsxs("div",{className:"px-4 pb-4 border-t border-gray-200 dark:border-gray-700 mt-4 pt-4","data-testid":`inbox-page-content-thread-${e.id}`,children:[r.jsxs("div",{className:"flex items-center gap-2 text-xs text-gray-500 dark:text-gray-400 mb-3",children:[r.jsx(vt,{className:"w-3 h-3"}),r.jsxs("span",{className:"font-medium",children:[h.length," ",h.length===1?"reply":"replies"," in thread"]})]}),r.jsx("div",{className:"space-y-3",children:h.map(z=>{const U=z.sender===g,K=z._senderEntity,R=K?.name??"Unknown",L=K?.entityType??"agent",F=()=>{switch(L){case"agent":return r.jsx(tr,{className:"w-3 h-3"});case"human":return r.jsx(Ze,{className:"w-3 h-3"});case"system":return r.jsx(gr,{className:"w-3 h-3"});default:return r.jsx(Ze,{className:"w-3 h-3"})}},B=()=>{if(U)return"bg-green-100 text-green-600 dark:bg-green-900 dark:text-green-400";switch(L){case"agent":return"bg-purple-100 text-purple-600 dark:bg-purple-900 dark:text-purple-400";case"human":return"bg-blue-100 text-blue-600 dark:bg-blue-900 dark:text-blue-400";case"system":return"bg-gray-100 text-gray-600 dark:bg-gray-800 dark:text-gray-400";default:return"bg-gray-100 text-gray-600 dark:bg-gray-800 dark:text-gray-400"}},H=G=>{const W=new Date(G),le=new Date().getTime()-W.getTime(),ge=Math.floor(le/6e4),se=Math.floor(le/36e5);return ge<1?"just now":ge<60?`${ge}m ago`:se<24?`${se}h ago`:W.toLocaleDateString("en-US",{month:"short",day:"numeric"})};return r.jsxs("div",{className:`flex gap-2 p-3 rounded-lg ${U?"bg-green-50 dark:bg-green-900/20 border border-green-200 dark:border-green-800":"bg-gray-50 dark:bg-gray-800 border border-gray-200 dark:border-gray-700"}`,"data-testid":`inbox-page-thread-reply-${z.id}`,children:[r.jsx("button",{onClick:()=>z.sender&&u(z.sender),className:`w-6 h-6 rounded-full flex items-center justify-center flex-shrink-0 ${B()} hover:ring-2 hover:ring-blue-300 transition-all`,children:F()}),r.jsxs("div",{className:"flex-1 min-w-0",children:[r.jsxs("div",{className:"flex items-center justify-between gap-2 mb-1",children:[r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsx("button",{onClick:()=>z.sender&&u(z.sender),className:`text-xs font-medium hover:text-blue-600 hover:underline ${U?"text-green-700 dark:text-green-300":"text-gray-700 dark:text-gray-300"}`,children:R}),U&&r.jsx("span",{className:"text-xs px-1.5 py-0.5 bg-green-200 dark:bg-green-800 text-green-700 dark:text-green-300 rounded font-medium",children:"You"})]}),r.jsx("span",{className:"text-xs text-gray-400 dark:text-gray-500",children:H(z.createdAt)})]}),r.jsx("p",{className:"text-sm text-gray-700 dark:text-gray-300 whitespace-pre-wrap",children:z._content??""})]})]},z.id)})})]}),x&&r.jsx("div",{className:"px-4 pb-4 border-t border-gray-200 dark:border-gray-700 mt-4 pt-4",children:r.jsxs("div",{className:"flex items-center gap-2 text-xs text-gray-500 dark:text-gray-400",children:[r.jsx(je,{className:"w-3 h-3 animate-spin"}),r.jsx("span",{children:"Loading thread..."})]})})]}),r.jsx("div",{className:"p-3 border-t border-gray-200 dark:border-gray-700 bg-gray-50 dark:bg-gray-800",children:r.jsxs("button",{onClick:d,className:"text-sm text-blue-600 hover:text-blue-700 hover:underline flex items-center gap-1","data-testid":`inbox-page-content-view-in-channel-${e.id}`,children:["View in channel",r.jsx(Lt,{className:"w-4 h-4"})]})})]})}function tZ(){return r.jsxs("div",{className:"h-full flex flex-col items-center justify-center text-gray-400 dark:text-gray-500","data-testid":"inbox-page-content-empty",children:[r.jsx(kr,{className:"w-12 h-12 mb-3"}),r.jsx("p",{className:"text-sm font-medium",children:"Select a message"}),r.jsx("p",{className:"text-xs mt-1",children:"Choose a message from the list to view its content"}),r.jsx("p",{className:"text-xs mt-3 text-gray-300 dark:text-gray-600",children:"Tip: Use J/K keys to navigate"})]})}function rZ(){const e=rr(),t=kn({strict:!1}),{currentUser:a,isLoading:n}=Ea(),o=$e(),l=y.useRef(null),[d,u]=y.useState(()=>qW()),[m,h]=y.useState(()=>UW()),[x,g]=y.useState(()=>HW()),[p,j]=y.useState(t.message||null),[k,N]=y.useState(null),[v,T]=y.useState(0),[E,O]=y.useState(""),[S,C]=y.useState(!1),A=y.useCallback(Y=>{if(Y.elementType==="inbox-item"&&Y.eventType==="created"&&Y.newValue?.recipientId===a?.id){const pe=Y.newValue?.sourceType==="mention"?"You were mentioned in a message":"You have a new direct message";br.info(pe,{description:"Click to view in inbox",action:{label:"View",onClick:()=>{j(null)}}})}},[a?.id]);Tf({channels:a?.id?[`inbox:${a.id}`,"inbox","messages"]:["inbox","messages"],onEvent:A}),y.useEffect(()=>{a?.id&&l.current!==a.id&&(j(null),C(!1),O(""),o.invalidateQueries({queryKey:["inbox",a.id]}),l.current=a.id)},[a?.id,o]),y.useEffect(()=>{const Y=setInterval(()=>{T(he=>he+1)},6e4);return()=>clearInterval(Y)},[]);const{data:$,isLoading:P,isError:M,refetch:q}=GW(d,a?.id??null),{data:_}=YW(a?.id??null),z=QW(),U=XW(),K=y.useMemo(()=>!p||!$?.items?null:$.items.find(he=>he.id===p)?.messageId??null,[p,$?.items]),{data:R,isLoading:L}=WW(K),F=y.useMemo(()=>{if(!$?.items)return[];let Y=[...$.items];return m==="direct"?Y=Y.filter(he=>he.sourceType==="direct"):m==="mention"&&(Y=Y.filter(he=>he.sourceType==="mention")),x==="newest"?Y.sort((he,ce)=>new Date(ce.createdAt).getTime()-new Date(he.createdAt).getTime()):x==="oldest"?Y.sort((he,ce)=>new Date(he.createdAt).getTime()-new Date(ce.createdAt).getTime()):x==="sender"&&Y.sort((he,ce)=>(he.sender?.name??"").localeCompare(ce.sender?.name??"")),Y},[$,m,x]),B=y.useMemo(()=>V5(F,Y=>new Date(Y.createdAt)),[F]),H=y.useMemo(()=>F.find(Y=>Y.id===p)||null,[F,p]),G=y.useCallback(Y=>{u(Y),FW(Y),j(null)},[]),W=y.useCallback(Y=>{h(Y),KW(Y)},[]),te=y.useCallback(Y=>{g(Y),VW(Y)},[]),le=y.useCallback(Y=>{N(Y),z.mutate({itemId:Y,status:"read"},{onSettled:()=>N(null)})},[z]),ge=y.useCallback(Y=>{N(Y),z.mutate({itemId:Y,status:"unread"},{onSettled:()=>N(null)})},[z]),se=y.useCallback(Y=>{N(Y),z.mutate({itemId:Y,status:"archived"},{onSuccess:()=>{const he=F.findIndex(pe=>pe.id===Y),ce=F[he+1]||F[he-1];j(ce?.id||null)},onSettled:()=>N(null)})},[z,F]),ye=y.useCallback(Y=>{N(Y),z.mutate({itemId:Y,status:"read"},{onSettled:()=>N(null)})},[z]),Ne=y.useCallback((Y,he)=>{e({to:"/messages",search:{channel:Y,message:he}})},[e]),we=y.useCallback(Y=>{e({to:"/entities",search:{selected:Y,name:void 0,page:1,limit:25}})},[e]),me=y.useCallback(Y=>{const he=F.findIndex(pe=>pe.id===p);let ce=he;Y==="next"?ce=he<F.length-1?he+1:he:ce=he>0?he-1:0,ce!==he&&F[ce]&&j(F[ce].id)},[F,p]);Kc("J",y.useCallback(()=>me("next"),[me]),"Next message"),Kc("K",y.useCallback(()=>me("prev"),[me]),"Previous message");const J=Et(),re=y.useCallback(async()=>{if(!(!E.trim()||!H||!a))try{await U.mutateAsync({channelId:H.channelId,sender:a.id,content:E.trim(),threadId:H.messageId}),O(""),C(!1)}catch(Y){console.error("Failed to send reply:",Y)}},[E,H,a,U]);return!n&&!a?r.jsxs("div",{className:"h-full flex flex-col bg-[var(--color-bg)]","data-testid":"inbox-page",children:[r.jsx(wn,{title:"Inbox",icon:kr,iconColor:"text-blue-500",subtitle:"No user selected",bordered:!0,testId:"inbox-header"}),r.jsx("div",{className:"flex-1 flex items-center justify-center",children:r.jsxs("div",{className:"text-center text-gray-500 dark:text-gray-400",children:[r.jsx(Ze,{className:"w-12 h-12 mx-auto mb-3 opacity-50"}),r.jsx("p",{className:"text-lg font-medium",children:"No user selected"}),r.jsx("p",{className:"text-sm mt-1",children:"Select a user from the header dropdown to view their inbox"})]})})]}):r.jsxs("div",{className:"h-full flex flex-col bg-[var(--color-bg)]","data-testid":"inbox-page",children:[r.jsx(wn,{title:a?`${a.name}'s Inbox`:"Inbox",icon:kr,iconColor:"text-blue-500",subtitle:_?.count!==void 0&&_.count>0?`${_.count} unread`:"No unread messages",bordered:!0,testId:"inbox-header",children:r.jsxs("div",{className:"flex items-center gap-1 bg-gray-100 dark:bg-gray-800 rounded-lg p-1 w-fit",children:[r.jsxs("button",{onClick:()=>G("unread"),className:`px-3 py-1.5 text-sm font-medium rounded-md transition-colors ${d==="unread"?"bg-white dark:bg-gray-700 text-gray-900 dark:text-gray-100 shadow-sm":"text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-gray-100"}`,"data-testid":"inbox-page-tab-unread",children:["Unread",_?.count!==void 0&&_.count>0&&r.jsx("span",{className:"ml-1.5 px-1.5 py-0.5 text-xs bg-blue-100 dark:bg-blue-900 text-blue-700 dark:text-blue-300 rounded-full",children:_.count})]}),r.jsx("button",{onClick:()=>G("all"),className:`px-3 py-1.5 text-sm font-medium rounded-md transition-colors ${d==="all"?"bg-white dark:bg-gray-700 text-gray-900 dark:text-gray-100 shadow-sm":"text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-gray-100"}`,"data-testid":"inbox-page-tab-all",children:"All"}),r.jsx("button",{onClick:()=>G("archived"),className:`px-3 py-1.5 text-sm font-medium rounded-md transition-colors ${d==="archived"?"bg-white dark:bg-gray-700 text-gray-900 dark:text-gray-100 shadow-sm":"text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-gray-100"}`,"data-testid":"inbox-page-tab-archived",children:"Archived"})]})}),r.jsxs("div",{className:`flex items-center justify-between ${J?"px-3":"px-6"} py-2 border-b border-[var(--color-border)] bg-gray-50 dark:bg-gray-900/50`,children:[r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsx(Ca,{className:"w-4 h-4 text-gray-400"}),r.jsxs("select",{value:m,onChange:Y=>W(Y.target.value),className:"text-sm bg-transparent border-none text-gray-600 dark:text-gray-400 cursor-pointer focus:outline-none","data-testid":"inbox-page-source-filter",children:[r.jsx("option",{value:"all",children:"All sources"}),r.jsx("option",{value:"direct",children:"Direct messages"}),r.jsx("option",{value:"mention",children:"Mentions"})]})]}),r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsx(Ro,{className:"w-4 h-4 text-gray-400"}),r.jsxs("select",{value:x,onChange:Y=>te(Y.target.value),className:"text-sm bg-transparent border-none text-gray-600 dark:text-gray-400 cursor-pointer focus:outline-none","data-testid":"inbox-page-sort-order",children:[r.jsx("option",{value:"newest",children:"Newest first"}),r.jsx("option",{value:"oldest",children:"Oldest first"}),r.jsx("option",{value:"sender",children:"By sender"})]})]})]}),r.jsxs("div",{className:"flex-1 flex overflow-hidden",children:[r.jsxs("div",{className:"w-2/5 border-r border-[var(--color-border)] overflow-hidden flex flex-col bg-white dark:bg-gray-900","data-testid":"inbox-page-message-list",children:[P?r.jsxs("div",{className:"flex items-center justify-center p-8",children:[r.jsx(je,{className:"w-6 h-6 animate-spin text-gray-400"}),r.jsx("span",{className:"ml-2 text-gray-500",children:"Loading inbox..."})]}):M?r.jsxs("div",{className:"text-center py-8 px-4","data-testid":"inbox-page-error",children:[r.jsx(dt,{className:"w-8 h-8 text-red-400 mx-auto mb-2"}),r.jsx("p",{className:"text-sm text-gray-700 dark:text-gray-300",children:"Failed to load inbox"}),r.jsx("p",{className:"text-xs text-gray-500 mt-1 mb-3",children:"There was an error loading your messages"}),r.jsxs("button",{onClick:()=>q(),className:"inline-flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium text-white bg-blue-600 hover:bg-blue-700 rounded transition-colors","data-testid":"inbox-page-retry",children:[r.jsx(Xs,{className:"w-3 h-3"}),"Retry"]})]}):!$||$.items.length===0?r.jsxs("div",{className:"text-center py-8 px-4","data-testid":"inbox-page-empty",children:[r.jsx(kr,{className:"w-10 h-10 text-gray-300 dark:text-gray-600 mx-auto mb-3"}),r.jsx("p",{className:"text-sm font-medium text-gray-700 dark:text-gray-300",children:d==="unread"?"No unread messages":d==="archived"?"No archived messages":"Your inbox is empty"}),r.jsx("p",{className:"text-xs text-gray-500 dark:text-gray-400 mt-1 max-w-xs mx-auto",children:d==="archived"?"Archived messages will appear here":"Direct messages and @mentions will appear here when other entities message you"}),d==="unread"&&r.jsx("button",{onClick:()=>G("all"),className:"mt-3 text-sm text-blue-600 hover:text-blue-700 font-medium",children:"View all messages"})]}):F.length===0?r.jsxs("div",{className:"text-center py-8 px-4","data-testid":"inbox-page-filtered-empty",children:[r.jsx(Ca,{className:"w-8 h-8 text-gray-300 dark:text-gray-600 mx-auto mb-2"}),r.jsx("p",{className:"text-sm text-gray-500 dark:text-gray-400",children:"No messages match your filters"}),r.jsx("button",{onClick:()=>W("all"),className:"mt-2 text-xs font-medium text-blue-600 hover:text-blue-700",children:"Clear filters"})]}):r.jsx(ls,{items:B,getItemKey:Y=>Y.item.id,estimateSize:Y=>B[Y]?.isFirstInGroup&&x!=="sender"?100:72,height:"100%",testId:"inbox-page-items-list",renderItem:Y=>r.jsxs(r.Fragment,{children:[Y.isFirstInGroup&&x!=="sender"&&r.jsx(ZW,{period:Y.period}),r.jsx(JW,{item:Y.item,isSelected:p===Y.item.id,onSelect:()=>j(Y.item.id),formattedTime:Ys(Y.item.createdAt)},`${Y.item.id}-${v}`)]})}),$&&$.items.length>0&&r.jsx("div",{className:"text-center text-xs text-gray-500 dark:text-gray-400 py-2 border-t border-gray-100 dark:border-gray-800",children:m!=="all"?r.jsxs(r.Fragment,{children:["Showing ",F.length," of ",$.items.length," (filtered)"]}):$.hasMore?r.jsxs(r.Fragment,{children:["Showing ",$.items.length," of ",$.total," items"]}):r.jsxs(r.Fragment,{children:[$.items.length," ",$.items.length===1?"item":"items"]})})]}),r.jsx("div",{className:"flex-1 overflow-hidden bg-white dark:bg-gray-900 flex flex-col","data-testid":"inbox-page-message-content-panel",children:H?r.jsxs(r.Fragment,{children:[r.jsx("div",{className:"flex-1 overflow-auto",children:r.jsx(eZ,{item:H,onMarkRead:()=>le(H.id),onMarkUnread:()=>ge(H.id),onArchive:()=>se(H.id),onRestore:()=>ye(H.id),isPending:k===H.id,onNavigateToMessage:()=>Ne(H.channelId,H.messageId),onNavigateToEntity:we,onReply:()=>C(!S),threadReplies:R,threadRepliesLoading:L,currentUserId:a?.id})}),S&&H.status!=="archived"&&r.jsxs("div",{className:"border-t border-gray-200 dark:border-gray-700 p-4 bg-gray-50 dark:bg-gray-800","data-testid":"inbox-reply-composer",children:[r.jsxs("div",{className:"flex items-center gap-2 mb-2 text-xs text-gray-500 dark:text-gray-400",children:[r.jsx(Ju,{className:"w-3 h-3"}),r.jsxs("span",{children:["Replying as ",r.jsx("span",{className:"font-medium text-gray-700 dark:text-gray-300",children:a?.name})," to ",H.sender?.name??"Unknown"]})]}),r.jsxs("div",{className:"flex gap-2",children:[r.jsx("textarea",{value:E,onChange:Y=>O(Y.target.value),placeholder:"Write your reply...",className:"flex-1 px-3 py-2 text-sm border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-900 text-gray-900 dark:text-gray-100 placeholder-gray-400 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500 resize-none",rows:3,"data-testid":"inbox-reply-textarea",onKeyDown:Y=>{Y.key==="Enter"&&(Y.metaKey||Y.ctrlKey)&&re()}}),r.jsxs("div",{className:"flex flex-col gap-2",children:[r.jsxs("button",{onClick:re,disabled:!E.trim()||U.isPending,className:"px-4 py-2 text-sm font-medium text-white bg-blue-600 hover:bg-blue-700 rounded-lg disabled:opacity-50 disabled:cursor-not-allowed transition-colors flex items-center gap-2","data-testid":"inbox-reply-send",children:[U.isPending?r.jsx(je,{className:"w-4 h-4 animate-spin"}):r.jsx(Ju,{className:"w-4 h-4"}),"Send"]}),r.jsx("button",{onClick:()=>{C(!1),O("")},className:"px-4 py-2 text-sm font-medium text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-gray-100 rounded-lg transition-colors","data-testid":"inbox-reply-cancel",children:"Cancel"})]})]}),U.isError&&r.jsx("p",{className:"mt-2 text-xs text-red-500","data-testid":"inbox-reply-error",children:U.error instanceof Error?U.error.message:"Failed to send reply. Please try again."}),r.jsxs("p",{className:"mt-2 text-xs text-gray-400",children:["Press ",navigator.platform.includes("Mac")?"Cmd":"Ctrl","+Enter to send"]})]})]}):r.jsx(tZ,{})})]})]})}const qT={overview:"/dashboard/overview","task-flow":"/tasks",dependencies:"/dependencies",timeline:"/dashboard/timeline"},jr=iO({component:GK}),aZ=Sr({getParentRoute:()=>jr,path:"/",beforeLoad:()=>{const e=v0(),t=qT[e]||"/dashboard";throw M0({to:t})}}),nZ=Sr({getParentRoute:()=>jr,path:"/dashboard",beforeLoad:()=>{const e=NH(),t=qT[e]||"/dashboard/overview";throw M0({to:t})}}),sZ=Sr({getParentRoute:()=>jr,path:"/dashboard/overview",component:JH}),iZ=Sr({getParentRoute:()=>jr,path:"/tasks",component:dY,validateSearch:e=>({selected:typeof e.selected=="string"?e.selected:void 0,page:typeof e.page=="number"?e.page:typeof e.page=="string"&&parseInt(e.page,10)||1,limit:typeof e.limit=="number"?e.limit:typeof e.limit=="string"&&parseInt(e.limit,10)||25,readyOnly:e.readyOnly===!0||e.readyOnly==="true",assignee:typeof e.assignee=="string"?e.assignee:void 0})}),oZ=Sr({getParentRoute:()=>jr,path:"/dashboard/task-flow",beforeLoad:()=>{throw M0({to:"/tasks",search:{page:1,limit:25}})}}),lZ=Sr({getParentRoute:()=>jr,path:"/dependencies",component:PY}),cZ=Sr({getParentRoute:()=>jr,path:"/dashboard/timeline",component:nQ,validateSearch:e=>({page:typeof e.page=="number"?e.page:typeof e.page=="string"&&parseInt(e.page,10)||1,limit:typeof e.limit=="number"?e.limit:typeof e.limit=="string"&&parseInt(e.limit,10)||100,actor:typeof e.actor=="string"?e.actor:void 0,startTime:typeof e.startTime=="number"?e.startTime:typeof e.startTime=="string"&&parseInt(e.startTime,10)||void 0,endTime:typeof e.endTime=="number"?e.endTime:typeof e.endTime=="string"&&parseInt(e.endTime,10)||void 0})}),dZ=Sr({getParentRoute:()=>jr,path:"/plans",component:CX,validateSearch:e=>({selected:typeof e.selected=="string"?e.selected:void 0,status:typeof e.status=="string"?e.status:void 0})}),uZ=Sr({getParentRoute:()=>jr,path:"/workflows",component:TX,validateSearch:e=>({selected:typeof e.selected=="string"?e.selected:void 0,tab:typeof e.tab=="string"?e.tab:void 0,action:typeof e.action=="string"?e.action:void 0})}),mZ=Sr({getParentRoute:()=>jr,path:"/messages",component:MQ,validateSearch:e=>({channel:typeof e.channel=="string"?e.channel:void 0,message:typeof e.message=="string"?e.message:void 0})}),fZ=Sr({getParentRoute:()=>jr,path:"/documents",component:NX,validateSearch:e=>({selected:typeof e.selected=="string"?e.selected:void 0,library:typeof e.library=="string"?e.library:void 0})}),hZ=Sr({getParentRoute:()=>jr,path:"/entities",component:NW,validateSearch:e=>({selected:typeof e.selected=="string"?e.selected:void 0,name:typeof e.name=="string"?e.name:void 0,page:typeof e.page=="number"?e.page:typeof e.page=="string"&&parseInt(e.page,10)||1,limit:typeof e.limit=="number"?e.limit:typeof e.limit=="string"&&parseInt(e.limit,10)||25})}),xZ=Sr({getParentRoute:()=>jr,path:"/teams",component:zW,validateSearch:e=>({selected:typeof e.selected=="string"?e.selected:void 0,page:typeof e.page=="number"?e.page:typeof e.page=="string"&&parseInt(e.page,10)||1,limit:typeof e.limit=="number"?e.limit:typeof e.limit=="string"&&parseInt(e.limit,10)||25})}),gZ=Sr({getParentRoute:()=>jr,path:"/settings",component:BH}),pZ=Sr({getParentRoute:()=>jr,path:"/inbox",component:rZ,validateSearch:e=>({message:typeof e.message=="string"?e.message:void 0})}),yZ=jr.addChildren([aZ,nZ,sZ,oZ,lZ,cZ,iZ,dZ,uZ,mZ,fZ,hZ,xZ,gZ,pZ]),bZ=oO({routeTree:yZ});function vZ(){const e=localStorage.getItem("settings.theme"),t=e==="light"||e==="dark"||e==="system"||e==="high-contrast"?e:"system",a=window.matchMedia("(prefers-color-scheme: dark)").matches,n=document.documentElement;if(n.classList.remove("dark","theme-dark","theme-light","high-contrast"),t==="high-contrast"){const o=localStorage.getItem("settings.highContrastBase");n.classList.add("high-contrast"),o==="dark"?n.classList.add("dark","theme-dark"):n.classList.add("theme-light")}else(t==="system"?a?"dark":"light":t)==="dark"?n.classList.add("dark","theme-dark"):n.classList.add("theme-light")}vZ();const jZ=new lO({defaultOptions:{queries:{staleTime:1e3*60,refetchOnWindowFocus:!0}}});function wZ(){const[e,t]=y.useState(Rg()),[a,n]=y.useState(Ig());return y.useEffect(()=>{const o=d=>{d.key==="settings.notifications"&&(t(Rg()),n(Ig()))};window.addEventListener("storage",o);const l=setInterval(()=>{const d=Rg(),u=Ig();d!==e&&t(d),u!==a&&n(u)},1e3);return()=>{window.removeEventListener("storage",o),clearInterval(l)}},[e,a]),r.jsx(JO,{position:e,duration:a,richColors:!0,closeButton:!0})}bD.createRoot(document.getElementById("root")).render(r.jsx(y.StrictMode,{children:r.jsx(cO,{client:jZ,children:r.jsx(DU,{children:r.jsx(XD,{children:r.jsxs(sH,{children:[r.jsx(dO,{router:bZ}),r.jsx(wZ,{})]})})})})}));