@exulu/frontend 1.3.2 → 1.4.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 (254) hide show
  1. package/dist/.next/BUILD_ID +1 -1
  2. package/dist/.next/app-build-manifest.json +185 -174
  3. package/dist/.next/app-path-routes-manifest.json +1 -1
  4. package/dist/.next/build-manifest.json +2 -2
  5. package/dist/.next/prerender-manifest.json +1 -1
  6. package/dist/.next/server/app/(application)/agents/edit/[id]/page.js +1 -1
  7. package/dist/.next/server/app/(application)/agents/edit/[id]/page.js.nft.json +1 -1
  8. package/dist/.next/server/app/(application)/agents/edit/[id]/page_client-reference-manifest.js +1 -1
  9. package/dist/.next/server/app/(application)/agents/page.js +1 -2
  10. package/dist/.next/server/app/(application)/agents/page.js.nft.json +1 -1
  11. package/dist/.next/server/app/(application)/agents/page_client-reference-manifest.js +1 -1
  12. package/dist/.next/server/app/(application)/chat/[agent]/[session]/page.js +1 -1
  13. package/dist/.next/server/app/(application)/chat/[agent]/[session]/page.js.nft.json +1 -1
  14. package/dist/.next/server/app/(application)/chat/[agent]/[session]/page_client-reference-manifest.js +1 -1
  15. package/dist/.next/server/app/(application)/chat/[agent]/page.js +1 -1
  16. package/dist/.next/server/app/(application)/chat/[agent]/page.js.nft.json +1 -1
  17. package/dist/.next/server/app/(application)/chat/[agent]/page_client-reference-manifest.js +1 -1
  18. package/dist/.next/server/app/(application)/chat/page.js +1 -1
  19. package/dist/.next/server/app/(application)/chat/page.js.nft.json +1 -1
  20. package/dist/.next/server/app/(application)/chat/page_client-reference-manifest.js +1 -1
  21. package/dist/.next/server/app/(application)/configuration/page.js +1 -1
  22. package/dist/.next/server/app/(application)/configuration/page.js.nft.json +1 -1
  23. package/dist/.next/server/app/(application)/configuration/page_client-reference-manifest.js +1 -1
  24. package/dist/.next/server/app/(application)/dashboard/page.js +5 -1
  25. package/dist/.next/server/app/(application)/dashboard/page.js.nft.json +1 -1
  26. package/dist/.next/server/app/(application)/dashboard/page_client-reference-manifest.js +1 -1
  27. package/dist/.next/server/app/(application)/data/[[...query]]/page.js +5 -1
  28. package/dist/.next/server/app/(application)/data/[[...query]]/page.js.nft.json +1 -1
  29. package/dist/.next/server/app/(application)/data/[[...query]]/page_client-reference-manifest.js +1 -1
  30. package/dist/.next/server/app/(application)/evals/[id]/page.js +1 -1
  31. package/dist/.next/server/app/(application)/evals/[id]/page.js.nft.json +1 -1
  32. package/dist/.next/server/app/(application)/evals/[id]/page_client-reference-manifest.js +1 -1
  33. package/dist/.next/server/app/(application)/evals/[id]/runs/page.js +1 -1
  34. package/dist/.next/server/app/(application)/evals/[id]/runs/page.js.nft.json +1 -1
  35. package/dist/.next/server/app/(application)/evals/[id]/runs/page_client-reference-manifest.js +1 -1
  36. package/dist/.next/server/app/(application)/evals/cases/page.js +1 -1
  37. package/dist/.next/server/app/(application)/evals/cases/page.js.nft.json +1 -1
  38. package/dist/.next/server/app/(application)/evals/cases/page_client-reference-manifest.js +1 -1
  39. package/dist/.next/server/app/(application)/evals/page.js +1 -1
  40. package/dist/.next/server/app/(application)/evals/page.js.nft.json +1 -1
  41. package/dist/.next/server/app/(application)/evals/page_client-reference-manifest.js +1 -1
  42. package/dist/.next/server/app/(application)/explorer/page.js +1 -1
  43. package/dist/.next/server/app/(application)/explorer/page.js.nft.json +1 -1
  44. package/dist/.next/server/app/(application)/explorer/page_client-reference-manifest.js +1 -1
  45. package/dist/.next/server/app/(application)/jobs/page.js +1 -1
  46. package/dist/.next/server/app/(application)/jobs/page.js.nft.json +1 -1
  47. package/dist/.next/server/app/(application)/jobs/page_client-reference-manifest.js +1 -1
  48. package/dist/.next/server/app/(application)/keys/page.js +1 -1
  49. package/dist/.next/server/app/(application)/keys/page.js.nft.json +1 -1
  50. package/dist/.next/server/app/(application)/keys/page_client-reference-manifest.js +1 -1
  51. package/dist/.next/server/app/(application)/page.js +1 -1
  52. package/dist/.next/server/app/(application)/page.js.nft.json +1 -1
  53. package/dist/.next/server/app/(application)/page_client-reference-manifest.js +1 -1
  54. package/dist/.next/server/app/(application)/projects/[project]/page.js +1 -1
  55. package/dist/.next/server/app/(application)/projects/[project]/page.js.nft.json +1 -1
  56. package/dist/.next/server/app/(application)/projects/[project]/page_client-reference-manifest.js +1 -1
  57. package/dist/.next/server/app/(application)/projects/page.js +1 -1
  58. package/dist/.next/server/app/(application)/projects/page.js.nft.json +1 -1
  59. package/dist/.next/server/app/(application)/projects/page_client-reference-manifest.js +1 -1
  60. package/dist/.next/server/app/(application)/roles/page.js +1 -1
  61. package/dist/.next/server/app/(application)/roles/page.js.nft.json +1 -1
  62. package/dist/.next/server/app/(application)/roles/page_client-reference-manifest.js +1 -1
  63. package/dist/.next/server/app/(application)/token/page.js +1 -1
  64. package/dist/.next/server/app/(application)/token/page.js.nft.json +1 -1
  65. package/dist/.next/server/app/(application)/token/page_client-reference-manifest.js +1 -1
  66. package/dist/.next/server/app/(application)/users/page.js +1 -1
  67. package/dist/.next/server/app/(application)/users/page.js.nft.json +1 -1
  68. package/dist/.next/server/app/(application)/users/page_client-reference-manifest.js +1 -1
  69. package/dist/.next/server/app/(application)/variables/create/page.js +1 -1
  70. package/dist/.next/server/app/(application)/variables/create/page.js.nft.json +1 -1
  71. package/dist/.next/server/app/(application)/variables/create/page_client-reference-manifest.js +1 -1
  72. package/dist/.next/server/app/(application)/variables/edit/[variable_id]/page.js +1 -1
  73. package/dist/.next/server/app/(application)/variables/edit/[variable_id]/page.js.nft.json +1 -1
  74. package/dist/.next/server/app/(application)/variables/edit/[variable_id]/page_client-reference-manifest.js +1 -1
  75. package/dist/.next/server/app/(application)/variables/page.js +1 -1
  76. package/dist/.next/server/app/(application)/variables/page.js.nft.json +1 -1
  77. package/dist/.next/server/app/(application)/variables/page_client-reference-manifest.js +1 -1
  78. package/dist/.next/server/app/(application)/variables/usage/[variable_id]/page.js +1 -1
  79. package/dist/.next/server/app/(application)/variables/usage/[variable_id]/page.js.nft.json +1 -1
  80. package/dist/.next/server/app/(application)/variables/usage/[variable_id]/page_client-reference-manifest.js +1 -1
  81. package/dist/.next/server/app/(application)/workflows/page.js +1 -1
  82. package/dist/.next/server/app/(application)/workflows/page.js.nft.json +1 -1
  83. package/dist/.next/server/app/(application)/workflows/page_client-reference-manifest.js +1 -1
  84. package/dist/.next/server/app/(authentication)/login/page_client-reference-manifest.js +1 -1
  85. package/dist/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  86. package/dist/.next/server/app/_not-found.html +1 -1
  87. package/dist/.next/server/app/_not-found.rsc +1 -1
  88. package/dist/.next/server/app/api/auth/[...nextauth]/route.js +9 -9
  89. package/dist/.next/server/app-paths-manifest.json +5 -5
  90. package/dist/.next/server/chunks/1051.js +16 -16
  91. package/dist/.next/server/chunks/2270.js +188 -100
  92. package/dist/.next/server/chunks/{8838.js → 2875.js} +1 -1
  93. package/dist/.next/server/chunks/2916.js +1 -1
  94. package/dist/.next/server/chunks/3503.js +1 -0
  95. package/dist/.next/server/chunks/{7544.js → 4552.js} +1 -1
  96. package/dist/.next/server/chunks/{3393.js → 4739.js} +1 -1
  97. package/dist/.next/server/chunks/5192.js +1 -1
  98. package/dist/.next/server/chunks/5999.js +2 -0
  99. package/dist/.next/server/chunks/6282.js +1 -0
  100. package/dist/.next/server/chunks/6623.js +1 -0
  101. package/dist/.next/server/chunks/7721.js +1 -0
  102. package/dist/.next/server/chunks/7944.js +2 -2
  103. package/dist/.next/server/chunks/8050.js +1 -0
  104. package/dist/.next/server/chunks/8206.js +1 -0
  105. package/dist/.next/server/chunks/8679.js +5 -0
  106. package/dist/.next/server/middleware-manifest.json +5 -5
  107. package/dist/.next/server/pages/404.html +1 -1
  108. package/dist/.next/server/pages/500.html +1 -1
  109. package/dist/.next/server/server-reference-manifest.json +1 -1
  110. package/dist/.next/static/chunks/1294-368dc8ec59054da4.js +2 -0
  111. package/dist/.next/static/chunks/1294-368dc8ec59054da4.js.map +1 -0
  112. package/dist/.next/static/chunks/{1645-e5fd10236c0183ce.js → 1645-570e014100772437.js} +1 -1
  113. package/dist/.next/static/chunks/{1645-e5fd10236c0183ce.js.map → 1645-570e014100772437.js.map} +1 -1
  114. package/dist/.next/static/chunks/1957-5867716304ecd208.js +2 -0
  115. package/dist/.next/static/chunks/1957-5867716304ecd208.js.map +1 -0
  116. package/dist/.next/static/chunks/{2293-59b4bbce0c5bd2f2.js → 2293-1681cdef5b8c0c0b.js} +1 -1
  117. package/dist/.next/static/chunks/{2293-59b4bbce0c5bd2f2.js.map → 2293-1681cdef5b8c0c0b.js.map} +1 -1
  118. package/dist/.next/static/chunks/3475-28ce4fce960656bd.js +2 -0
  119. package/dist/.next/static/chunks/3475-28ce4fce960656bd.js.map +1 -0
  120. package/dist/.next/static/chunks/3832-a5e8fc6647e2be65.js +2 -0
  121. package/dist/.next/static/chunks/3832-a5e8fc6647e2be65.js.map +1 -0
  122. package/dist/.next/static/chunks/{4386-a36fe9c65884f025.js → 4386-c7690667749bff6a.js} +1 -1
  123. package/dist/.next/static/chunks/{4386-a36fe9c65884f025.js.map → 4386-c7690667749bff6a.js.map} +1 -1
  124. package/dist/.next/static/chunks/4750-4d5c13bbc96bc19b.js +2 -0
  125. package/dist/.next/static/chunks/4750-4d5c13bbc96bc19b.js.map +1 -0
  126. package/dist/.next/static/chunks/5243-1aaa41b2cd0ea87c.js +2 -0
  127. package/dist/.next/static/chunks/5243-1aaa41b2cd0ea87c.js.map +1 -0
  128. package/dist/.next/static/chunks/5978-814d6900645d2fcc.js +2 -0
  129. package/dist/.next/static/chunks/5978-814d6900645d2fcc.js.map +1 -0
  130. package/dist/.next/static/chunks/6373-651cb258c9e2b57b.js +2 -0
  131. package/dist/.next/static/chunks/6373-651cb258c9e2b57b.js.map +1 -0
  132. package/dist/.next/static/chunks/{7564-44a20b31206685e1.js → 6545-5a1d7cf4d5ca770e.js} +21 -21
  133. package/dist/.next/static/chunks/6545-5a1d7cf4d5ca770e.js.map +1 -0
  134. package/dist/.next/static/chunks/6839-0f4cfb48058a5ab6.js +2 -0
  135. package/dist/.next/static/chunks/6839-0f4cfb48058a5ab6.js.map +1 -0
  136. package/dist/.next/static/chunks/723-94e596796cbf911d.js +2 -0
  137. package/dist/.next/static/chunks/723-94e596796cbf911d.js.map +1 -0
  138. package/dist/.next/static/chunks/8202-db2cc384c66bc1be.js +2 -0
  139. package/dist/.next/static/chunks/8202-db2cc384c66bc1be.js.map +1 -0
  140. package/dist/.next/static/chunks/8269-37dd07515eb44201.js +2 -0
  141. package/dist/.next/static/chunks/8269-37dd07515eb44201.js.map +1 -0
  142. package/dist/.next/static/chunks/8469-ba31cbd7acab5f94.js +2 -0
  143. package/dist/.next/static/chunks/8469-ba31cbd7acab5f94.js.map +1 -0
  144. package/dist/.next/static/chunks/8824-20030459012376a3.js +2 -0
  145. package/dist/.next/static/chunks/8824-20030459012376a3.js.map +1 -0
  146. package/dist/.next/static/chunks/9105-3800f721d38e2b9a.js +2 -0
  147. package/dist/.next/static/chunks/9105-3800f721d38e2b9a.js.map +1 -0
  148. package/dist/.next/static/chunks/9183-a51605ff26b92fed.js +41 -0
  149. package/dist/.next/static/chunks/9183-a51605ff26b92fed.js.map +1 -0
  150. package/dist/.next/static/chunks/app/(application)/agents/edit/[id]/page-511f168123f85285.js +2 -0
  151. package/dist/.next/static/chunks/app/(application)/agents/edit/[id]/page-511f168123f85285.js.map +1 -0
  152. package/dist/.next/static/chunks/app/(application)/agents/{page-499ac3bd1044306c.js → page-63643deabdaa6b2c.js} +2 -2
  153. package/dist/.next/static/chunks/app/(application)/agents/{page-499ac3bd1044306c.js.map → page-63643deabdaa6b2c.js.map} +1 -1
  154. package/dist/.next/static/chunks/app/(application)/chat/[agent]/[session]/{page-3807a8bc2ae87548.js → page-62c7321ba26632af.js} +2 -2
  155. package/dist/.next/static/chunks/app/(application)/chat/[agent]/[session]/page-62c7321ba26632af.js.map +1 -0
  156. package/dist/.next/static/chunks/app/(application)/chat/{layout-53796525bd3e2443.js → layout-5eb1d22ddcbc0b55.js} +2 -2
  157. package/dist/.next/static/chunks/app/(application)/chat/{layout-53796525bd3e2443.js.map → layout-5eb1d22ddcbc0b55.js.map} +1 -1
  158. package/dist/.next/static/chunks/app/(application)/configuration/{page-2d8a0e2664ab9a94.js → page-8f92af5318feb84f.js} +1 -1
  159. package/dist/.next/static/chunks/app/(application)/configuration/{page-2d8a0e2664ab9a94.js.map → page-8f92af5318feb84f.js.map} +1 -1
  160. package/dist/.next/static/chunks/app/(application)/dashboard/page-00e425d942e0d769.js +2 -0
  161. package/dist/.next/static/chunks/app/(application)/dashboard/page-00e425d942e0d769.js.map +1 -0
  162. package/dist/.next/static/chunks/app/(application)/data/[[...query]]/layout-a460a56d3efac658.js +2 -0
  163. package/dist/.next/static/chunks/app/(application)/data/[[...query]]/layout-a460a56d3efac658.js.map +1 -0
  164. package/dist/.next/static/chunks/app/(application)/data/[[...query]]/page-bb06a9553c9ed178.js +2 -0
  165. package/dist/.next/static/chunks/app/(application)/data/[[...query]]/page-bb06a9553c9ed178.js.map +1 -0
  166. package/dist/.next/static/chunks/app/(application)/evals/[id]/{page-2238f1fb73d93328.js → page-ef82e92ca7d0da6c.js} +2 -2
  167. package/dist/.next/static/chunks/app/(application)/evals/[id]/{page-2238f1fb73d93328.js.map → page-ef82e92ca7d0da6c.js.map} +1 -1
  168. package/dist/.next/static/chunks/app/(application)/evals/[id]/runs/page-6622dd1b22a7885d.js +2 -0
  169. package/dist/.next/static/chunks/app/(application)/evals/[id]/runs/page-6622dd1b22a7885d.js.map +1 -0
  170. package/dist/.next/static/chunks/app/(application)/evals/cases/{page-ea5faf58b368feae.js → page-6246be9d6592d1d3.js} +2 -2
  171. package/dist/.next/static/chunks/app/(application)/evals/cases/{page-ea5faf58b368feae.js.map → page-6246be9d6592d1d3.js.map} +1 -1
  172. package/dist/.next/static/chunks/app/(application)/evals/{page-f79e1a90384ba618.js → page-b1e1fd7dba1e675f.js} +2 -2
  173. package/dist/.next/static/chunks/app/(application)/evals/{page-f79e1a90384ba618.js.map → page-b1e1fd7dba1e675f.js.map} +1 -1
  174. package/dist/.next/static/chunks/app/(application)/jobs/{page-e6f02a338bec4806.js → page-a96441a0bc654d68.js} +1 -1
  175. package/dist/.next/static/chunks/app/(application)/jobs/{page-e6f02a338bec4806.js.map → page-a96441a0bc654d68.js.map} +1 -1
  176. package/dist/.next/static/chunks/app/(application)/keys/{page-59ee4e0281131cbc.js → page-163aadfe9ad0d794.js} +1 -1
  177. package/dist/.next/static/chunks/app/(application)/keys/{page-59ee4e0281131cbc.js.map → page-163aadfe9ad0d794.js.map} +1 -1
  178. package/dist/.next/static/chunks/app/(application)/{layout-73d93420d0c6661c.js → layout-694c53aca85ef437.js} +2 -2
  179. package/dist/.next/static/chunks/app/(application)/{layout-73d93420d0c6661c.js.map → layout-694c53aca85ef437.js.map} +1 -1
  180. package/dist/.next/static/chunks/app/(application)/projects/[project]/page-e69828fde85c50af.js +2 -0
  181. package/dist/.next/static/chunks/app/(application)/projects/[project]/page-e69828fde85c50af.js.map +1 -0
  182. package/dist/.next/static/chunks/app/(application)/projects/{layout-f73ad7daf4825f1b.js → layout-d7642b25bf6d33b3.js} +2 -2
  183. package/dist/.next/static/chunks/app/(application)/projects/{layout-f73ad7daf4825f1b.js.map → layout-d7642b25bf6d33b3.js.map} +1 -1
  184. package/dist/.next/static/chunks/app/(application)/roles/page-5d5e5142f0997122.js +2 -0
  185. package/dist/.next/static/chunks/app/(application)/roles/page-5d5e5142f0997122.js.map +1 -0
  186. package/dist/.next/static/chunks/app/(application)/users/{page-e0a04fda52138aa0.js → page-b862cb199fd72525.js} +2 -2
  187. package/dist/.next/static/chunks/app/(application)/users/{page-e0a04fda52138aa0.js.map → page-b862cb199fd72525.js.map} +1 -1
  188. package/dist/.next/static/chunks/app/(application)/variables/create/{page-6c6076f3f253190d.js → page-d79d5c1c1ecabdb5.js} +1 -1
  189. package/dist/.next/static/chunks/app/(application)/variables/create/{page-6c6076f3f253190d.js.map → page-d79d5c1c1ecabdb5.js.map} +1 -1
  190. package/dist/.next/static/chunks/app/(application)/variables/edit/[variable_id]/{page-a3fa477fead5609a.js → page-72cf3aa95776ab96.js} +1 -1
  191. package/dist/.next/static/chunks/app/(application)/variables/edit/[variable_id]/{page-a3fa477fead5609a.js.map → page-72cf3aa95776ab96.js.map} +1 -1
  192. package/dist/.next/static/chunks/app/(application)/variables/{page-ddeff54a8b19bdbe.js → page-67864b471b48c950.js} +2 -2
  193. package/dist/.next/static/chunks/app/(application)/variables/{page-ddeff54a8b19bdbe.js.map → page-67864b471b48c950.js.map} +1 -1
  194. package/dist/.next/static/chunks/app/(application)/variables/usage/[variable_id]/{page-ed6d136e7ee3a591.js → page-208b4c9cc64abf2e.js} +1 -1
  195. package/dist/.next/static/chunks/app/(application)/variables/usage/[variable_id]/{page-ed6d136e7ee3a591.js.map → page-208b4c9cc64abf2e.js.map} +1 -1
  196. package/dist/.next/static/chunks/app/(application)/workflows/page-5b1ffc7c5012fdf6.js +2 -0
  197. package/dist/.next/static/chunks/app/(application)/workflows/page-5b1ffc7c5012fdf6.js.map +1 -0
  198. package/dist/.next/static/css/006966ab2edd0ebc.css +4 -0
  199. package/dist/.next/static/css/006966ab2edd0ebc.css.map +1 -0
  200. package/dist/.next/static/css/e3f2a16ab7676b05.css.map +1 -1
  201. package/dist/package.json +4 -1
  202. package/package.json +1 -1
  203. package/dist/.next/server/chunks/3743.js +0 -1
  204. package/dist/.next/server/chunks/4375.js +0 -1
  205. package/dist/.next/server/chunks/4680.js +0 -1
  206. package/dist/.next/server/chunks/7203.js +0 -5
  207. package/dist/.next/server/chunks/7598.js +0 -5
  208. package/dist/.next/server/chunks/8806.js +0 -1
  209. package/dist/.next/static/chunks/1957-670ddf66742d95f2.js +0 -2
  210. package/dist/.next/static/chunks/1957-670ddf66742d95f2.js.map +0 -1
  211. package/dist/.next/static/chunks/3397-5a704b2e12e9e883.js +0 -2
  212. package/dist/.next/static/chunks/3397-5a704b2e12e9e883.js.map +0 -1
  213. package/dist/.next/static/chunks/3832-10b779e2f89f162f.js +0 -2
  214. package/dist/.next/static/chunks/3832-10b779e2f89f162f.js.map +0 -1
  215. package/dist/.next/static/chunks/3998-c1c5bec61ce07357.js +0 -2
  216. package/dist/.next/static/chunks/3998-c1c5bec61ce07357.js.map +0 -1
  217. package/dist/.next/static/chunks/428-61741966c36f4f72.js +0 -2
  218. package/dist/.next/static/chunks/428-61741966c36f4f72.js.map +0 -1
  219. package/dist/.next/static/chunks/5585-4f0c084850210a82.js +0 -2
  220. package/dist/.next/static/chunks/5585-4f0c084850210a82.js.map +0 -1
  221. package/dist/.next/static/chunks/5615-042f927b657e6db1.js +0 -41
  222. package/dist/.next/static/chunks/5615-042f927b657e6db1.js.map +0 -1
  223. package/dist/.next/static/chunks/5978-f3b8475a2d9f9299.js +0 -2
  224. package/dist/.next/static/chunks/5978-f3b8475a2d9f9299.js.map +0 -1
  225. package/dist/.next/static/chunks/6242-c1c2f1479529e9d4.js +0 -2
  226. package/dist/.next/static/chunks/6242-c1c2f1479529e9d4.js.map +0 -1
  227. package/dist/.next/static/chunks/6373-fc4799cc7a13474a.js +0 -2
  228. package/dist/.next/static/chunks/6373-fc4799cc7a13474a.js.map +0 -1
  229. package/dist/.next/static/chunks/7398-c6de1642586049cd.js +0 -2
  230. package/dist/.next/static/chunks/7398-c6de1642586049cd.js.map +0 -1
  231. package/dist/.next/static/chunks/7564-44a20b31206685e1.js.map +0 -1
  232. package/dist/.next/static/chunks/79-1d568f3c4cd45bd4.js +0 -2
  233. package/dist/.next/static/chunks/79-1d568f3c4cd45bd4.js.map +0 -1
  234. package/dist/.next/static/chunks/app/(application)/agents/edit/[id]/page-b66390eb4a95ac1a.js +0 -2
  235. package/dist/.next/static/chunks/app/(application)/agents/edit/[id]/page-b66390eb4a95ac1a.js.map +0 -1
  236. package/dist/.next/static/chunks/app/(application)/chat/[agent]/[session]/page-3807a8bc2ae87548.js.map +0 -1
  237. package/dist/.next/static/chunks/app/(application)/dashboard/page-85d3f8d2bd28ae4b.js +0 -2
  238. package/dist/.next/static/chunks/app/(application)/dashboard/page-85d3f8d2bd28ae4b.js.map +0 -1
  239. package/dist/.next/static/chunks/app/(application)/data/[[...query]]/layout-822dad4cb57f62e2.js +0 -2
  240. package/dist/.next/static/chunks/app/(application)/data/[[...query]]/layout-822dad4cb57f62e2.js.map +0 -1
  241. package/dist/.next/static/chunks/app/(application)/data/[[...query]]/page-3efd7701534078ea.js +0 -2
  242. package/dist/.next/static/chunks/app/(application)/data/[[...query]]/page-3efd7701534078ea.js.map +0 -1
  243. package/dist/.next/static/chunks/app/(application)/evals/[id]/runs/page-b6a3cb8435be3ade.js +0 -2
  244. package/dist/.next/static/chunks/app/(application)/evals/[id]/runs/page-b6a3cb8435be3ade.js.map +0 -1
  245. package/dist/.next/static/chunks/app/(application)/projects/[project]/page-19382bb263f85fda.js +0 -2
  246. package/dist/.next/static/chunks/app/(application)/projects/[project]/page-19382bb263f85fda.js.map +0 -1
  247. package/dist/.next/static/chunks/app/(application)/roles/page-acd9ef282bc53557.js +0 -2
  248. package/dist/.next/static/chunks/app/(application)/roles/page-acd9ef282bc53557.js.map +0 -1
  249. package/dist/.next/static/chunks/app/(application)/workflows/page-38488c44d89b32f4.js +0 -2
  250. package/dist/.next/static/chunks/app/(application)/workflows/page-38488c44d89b32f4.js.map +0 -1
  251. package/dist/.next/static/css/a7092ddec8ffd4fb.css +0 -4
  252. package/dist/.next/static/css/a7092ddec8ffd4fb.css.map +0 -1
  253. /package/dist/.next/static/{HHwzgh0RLIMeodnSs4vIv → soJPoIxCmlpJ75t9n-Q9V}/_buildManifest.js +0 -0
  254. /package/dist/.next/static/{HHwzgh0RLIMeodnSs4vIv → soJPoIxCmlpJ75t9n-Q9V}/_ssgManifest.js +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"static/chunks/app/(application)/dashboard/page-85d3f8d2bd28ae4b.js","mappings":"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","sources":["webpack://_N_E/?d82f","webpack://_N_E/./components/dashboard/summary-cards.tsx","webpack://_N_E/./app/(application)/dashboard/page.tsx","webpack://_N_E/./components/ui/calendar.tsx","webpack://_N_E/./components/dashboard/date-range-selector.tsx","webpack://_N_E/./components/dashboard/donut-chart.tsx","webpack://_N_E/./components/dashboard/time-series-chart.tsx","webpack://_N_E/./components/ui/card.tsx","webpack://_N_E/./components/ui/chart.tsx","webpack://_N_E/./components/ui/popover.tsx","webpack://_N_E/./components/ui/select.tsx","webpack://_N_E/./components/ui/skeleton.tsx","webpack://_N_E/./components/ui/use-toast.ts","webpack://_N_E/./types/enums/statistics.ts"],"sourcesContent":["import(/* webpackMode: \"eager\" */ \"/home/runner/work/exulu-frontend/exulu-frontend/app/(application)/dashboard/page.tsx\");\n","\"use client\";\n\nimport { DocumentNode, useQuery } from \"@apollo/client\";\nimport { Card, CardContent, CardHeader, CardTitle } from \"@/components/ui/card\";\nimport { Skeleton } from \"@/components/ui/skeleton\";\nimport { subDays, subHours } from \"date-fns\";\nimport { TrendingUp, TrendingDown, Minus } from \"lucide-react\";\nimport { useMemo } from \"react\";\n\ninterface SummaryCardProps {\n title: string;\n currentValue: number;\n previousValue: number;\n isLoading?: boolean;\n}\n\nfunction SummaryCardElement({ title, currentValue, previousValue, isLoading }: SummaryCardProps) {\n if (isLoading) {\n return (\n <Card className=\"animate-pulse\">\n <CardHeader className=\"flex flex-row items-center justify-between space-y-0 pb-3\">\n <CardTitle className=\"text-sm font-medium text-slate-700 dark:text-slate-300\">{title}</CardTitle>\n <div className=\"p-2 rounded-full\">\n <div className=\"h-4 w-4 rounded\" />\n </div>\n </CardHeader>\n <CardContent>\n <Skeleton className=\"h-8 w-24 mb-3\" />\n <div className=\"space-y-1\">\n <Skeleton className=\"h-3 w-28\" />\n <Skeleton className=\"h-3 w-20\" />\n </div>\n </CardContent>\n </Card>\n );\n }\n\n const percentageChange = previousValue > 0 ? ((currentValue - previousValue) / previousValue) * 100 : 0;\n const isPositive = percentageChange > 0;\n const isNeutral = percentageChange === 0;\n\n const TrendIcon = isNeutral ? Minus : isPositive ? TrendingUp : TrendingDown;\n const trendColor = isNeutral ? \"text-muted-foreground\" : isPositive ? \"text-green-600\" : \"text-red-600\";\n\n return (\n <Card className=\"hover:shadow-lg transition-all duration-300 hover:-translate-y-1\">\n <CardHeader className=\"flex flex-row items-center justify-between space-y-0 pb-3\">\n <CardTitle className=\"text-sm font-medium text-slate-700 dark:text-slate-300\">{title}</CardTitle>\n <div className={`p-2 rounded-full ${isNeutral ? 'bg-gray-200 dark:bg-gray-700' : isPositive ? 'bg-green-100 dark:bg-green-900/30' : 'bg-red-100 dark:bg-red-900/30'}`}>\n <TrendIcon className={`h-4 w-4 ${trendColor}`} />\n </div>\n </CardHeader>\n <CardContent>\n <div className=\"text-3xl font-bold bg-gradient-to-r from-slate-900 to-slate-700 dark:from-slate-100 dark:to-slate-300 bg-clip-text text-transparent mb-2\">\n {currentValue.toLocaleString()}\n </div>\n <p className=\"text-xs text-slate-600 dark:text-slate-400\">\n <span className={`font-medium ${trendColor}`}>\n {isNeutral ? \"No change\" : `${Math.abs(percentageChange).toFixed(1)}% ${isPositive ? \"increase\" : \"decrease\"}`}\n </span>\n <br />\n <span className=\"text-slate-500 dark:text-slate-500\">\n vs 7-day avg: {previousValue.toLocaleString()}\n </span>\n </p>\n </CardContent>\n </Card>\n );\n}\n\nexport function SummaryCard({\n query,\n entity,\n title\n}: {\n query: DocumentNode,\n entity: \"agent_sessions\" | \"jobs\" | \"tracking\",\n title: string\n}) {\n // Stabilize dates to prevent constant re-renders\n const dates = useMemo(() => {\n const now = new Date();\n return {\n now: now.toISOString(),\n twentyFourHoursAgo: subHours(now, 24).toISOString(),\n sevenDaysAgo: subDays(now, 7).toISOString()\n };\n }, []); // Empty dependency array means this only runs once\n\n // 24h data\n const { data: data24h, loading: loading24h } = useQuery(query, {\n variables: { from: dates.twentyFourHoursAgo, to: dates.now }\n });\n\n // 7-day data (for average calculation)\n const { data: data7d, loading: loading7d } = useQuery(query, {\n variables: { from: dates.sevenDaysAgo, to: dates.now }\n });\n\n\n // Calculate totals\n const getTotal = (data: any) => {\n if (!data || !Array.isArray(data)) return 0;\n return data.reduce((sum: number, item: any) => sum + (item.count || 0), 0);\n };\n\n const twentyFourHourTotal = getTotal(data24h?.[`${entity}Statistics`]);\n\n // Calculate 7-day averages (divide by 7 for daily average)\n const sevenDayAverage = Math.round(getTotal(data7d?.[`${entity}Statistics`]) / 7);\n\n const isLoading = \n loading24h\n loading7d\n\n return (\n <SummaryCardElement\n title={`${title} (24h)`}\n currentValue={twentyFourHourTotal}\n previousValue={sevenDayAverage}\n isLoading={isLoading}\n />\n );\n}","\"use client\";\n\nimport { subDays } from \"date-fns\";\nimport * as React from \"react\";\nimport { useState } from \"react\";\nimport { DateRange } from \"react-day-picker\";\nimport { STATISTICS_TYPE, STATISTICS_TYPE_ENUM } from \"@/types/enums/statistics\";\nimport { SummaryCard } from \"@/components/dashboard/summary-cards\";\nimport { DateRangeSelector } from \"@/components/dashboard/date-range-selector\";\nimport { TimeSeriesChart } from \"@/components/dashboard/time-series-chart\";\nimport { DonutChart } from \"@/components/dashboard/donut-chart\";\nimport {\n GET_AGENT_SESSIONS_STATISTICS,\n GET_WORKFLOW_RUNS_STATISTICS,\n GET_AGENT_RUN_STATISTICS,\n GET_FUNCTION_CALLS_STATISTICS,\n GET_TOKEN_USAGE_STATISTICS\n} from \"@/queries/queries\";\n\nexport const dynamic = \"force-dynamic\";\n\nexport default function DashboardPage() {\n const [dateRange, setDateRange] = useState<DateRange | undefined>({\n from: subDays(new Date(), 14),\n to: new Date()\n });\n\n const [selectedType, setSelectedType] = useState<STATISTICS_TYPE>(\"AGENT_RUN\");\n const [unit, setUnit] = useState<\"tokens\" | \"count\">(\"count\");\n const [groupBy, setGroupBy] = useState<string>(\"label\");\n\n return (\n <div className=\"flex-1 flex flex-col p-8 pt-6 h-screen\">\n {/* Header Section */}\n <div className=\"flex items-center justify-between mb-8\">\n <div className=\"space-y-2\">\n <h2 className=\"text-4xl font-bold tracking-tight bg-clip-text\">\n Analytics Dashboard\n </h2>\n <p className=\"text-lg\">\n Monitor your AI workflows and performance metrics.\n </p>\n </div>\n\n {/* Date Range Selector - moved to header */}\n <div className=\"flex items-center space-x-2\">\n <DateRangeSelector\n dateRange={dateRange}\n onDateRangeChange={setDateRange}\n maxDays={30}\n />\n </div>\n </div>\n\n {/* Summary Cards - Enhanced with better spacing */}\n <div className=\"mb-8\">\n <div className=\"grid gap-4 md:grid-cols-2 lg:grid-cols-5\">\n <SummaryCard query={GET_AGENT_SESSIONS_STATISTICS} entity=\"agent_sessions\" title=\"Agent Sessions\" />\n <SummaryCard query={GET_AGENT_RUN_STATISTICS} entity=\"tracking\" title=\"Agent Calls\" />\n <SummaryCard query={GET_TOKEN_USAGE_STATISTICS} entity=\"tracking\" title=\"Token Usage\" />\n <SummaryCard query={GET_WORKFLOW_RUNS_STATISTICS} entity=\"jobs\" title=\"Workflow Runs\" />\n <SummaryCard query={GET_FUNCTION_CALLS_STATISTICS} entity=\"tracking\" title=\"Function Calls\" />\n </div>\n </div>\n\n {/* Charts Grid - Improved layout and spacing */}\n <div className=\"flex-1 grid gap-6 md:grid-cols-3 min-h-0\">\n <div className=\"rounded-lg border md:col-span-2 p-6 flex flex-col\">\n <TimeSeriesChart\n dateRange={dateRange}\n selectedType={selectedType}\n onTypeChange={setSelectedType}\n onUnitChange={setUnit}\n unit={unit}\n dataTypes={[\n STATISTICS_TYPE_ENUM.CONTEXT_RETRIEVE,\n STATISTICS_TYPE_ENUM.SOURCE_UPDATE,\n STATISTICS_TYPE_ENUM.EMBEDDER_UPSERT,\n STATISTICS_TYPE_ENUM.EMBEDDER_GENERATE,\n STATISTICS_TYPE_ENUM.EMBEDDER_DELETE,\n STATISTICS_TYPE_ENUM.WORKFLOW_RUN,\n STATISTICS_TYPE_ENUM.CONTEXT_UPSERT,\n STATISTICS_TYPE_ENUM.TOOL_CALL,\n STATISTICS_TYPE_ENUM.AGENT_RUN\n ]}\n />\n </div>\n <div className=\"rounded-lg border p-6 flex flex-col\">\n <DonutChart\n groupByOptions={[\n { value: 'label', label: 'Label' },\n { value: 'user', label: 'User' },\n { value: 'role', label: 'Role' }\n ]}\n dateRange={dateRange}\n selectedType={selectedType}\n groupBy={groupBy}\n onGroupByChange={setGroupBy}\n />\n </div>\n </div>\n </div>\n );\n}\n","\"use client\";\n\nimport { ChevronLeft, ChevronRight } from \"lucide-react\";\nimport * as React from \"react\";\nimport { DayPicker } from \"react-day-picker\";\n\nimport { buttonVariants } from \"@/components/ui/button\";\nimport { cn } from \"@/lib/utils\";\n\nexport type CalendarProps = React.ComponentProps<typeof DayPicker>;\n\nfunction Calendar({\n className,\n classNames,\n showOutsideDays = true,\n ...props\n}: CalendarProps) {\n return (\n <DayPicker\n showOutsideDays={showOutsideDays}\n className={cn(\"p-3\", className)}\n classNames={{\n months: \"flex flex-col sm:flex-row space-y-4 sm:space-x-4 sm:space-y-0\",\n month: \"space-y-4\",\n caption: \"flex justify-center pt-1 relative items-center\",\n caption_label: \"text-sm font-medium\",\n nav: \"space-x-1 flex items-center\",\n nav_button: cn(\n buttonVariants({ variant: \"outline\" }),\n \"h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100\",\n ),\n nav_button_previous: \"absolute left-1\",\n nav_button_next: \"absolute right-1\",\n table: \"w-full border-collapse space-y-1\",\n head_row: \"flex\",\n head_cell:\n \"text-muted-foreground rounded-md w-9 font-normal text-[0.8rem]\",\n row: \"flex w-full mt-2\",\n cell: \"h-9 w-9 text-center text-sm p-0 relative [&:has([aria-selected].day-range-end)]:rounded-r-md [&:has([aria-selected].day-outside)]:bg-accent/50 [&:has([aria-selected])]:bg-accent first:[&:has([aria-selected])]:rounded-l-md last:[&:has([aria-selected])]:rounded-r-md focus-within:relative focus-within:z-20\",\n day: cn(\n buttonVariants({ variant: \"ghost\" }),\n \"h-9 w-9 p-0 font-normal aria-selected:opacity-100\",\n ),\n day_range_end: \"day-range-end\",\n day_selected:\n \"bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground\",\n day_today: \"bg-accent text-accent-foreground\",\n day_outside:\n \"day-outside text-muted-foreground opacity-50 aria-selected:bg-accent/50 aria-selected:text-muted-foreground aria-selected:opacity-30\",\n day_disabled: \"text-muted-foreground opacity-50\",\n day_range_middle:\n \"aria-selected:bg-accent aria-selected:text-accent-foreground\",\n day_hidden: \"invisible\",\n ...classNames,\n }}\n components={{\n IconLeft: ({ ...props }) => <ChevronLeft className=\"size-4\" />,\n IconRight: ({ ...props }) => <ChevronRight className=\"size-4\" />,\n }}\n {...props}\n />\n );\n}\nCalendar.displayName = \"Calendar\";\n\nexport { Calendar };\n","\"use client\";\n\nimport * as React from \"react\";\nimport { CalendarIcon } from \"@radix-ui/react-icons\";\nimport { format, subDays, differenceInDays, addDays } from \"date-fns\";\nimport { DateRange } from \"react-day-picker\";\n\nimport { cn } from \"@/lib/utils\";\nimport { Button } from \"@/components/ui/button\";\nimport { Calendar } from \"@/components/ui/calendar\";\nimport { useToast } from \"@/components/ui/use-toast\";\nimport {\n Popover,\n PopoverContent,\n PopoverTrigger,\n} from \"@/components/ui/popover\";\n\ninterface DateRangeSelectorProps {\n dateRange: DateRange | undefined;\n maxDays?: number;\n onDateRangeChange: (dateRange: DateRange | undefined) => void;\n className?: string;\n}\n\nexport function DateRangeSelector({ dateRange, onDateRangeChange, className, maxDays = 30 }: DateRangeSelectorProps) {\n const { toast } = useToast();\n\n const handleDateRangeChange = (newRange: DateRange | undefined) => {\n if (newRange?.from && newRange?.to) {\n const daysDifference = differenceInDays(newRange.to, newRange.from);\n if (daysDifference > maxDays) {\n // Show toast notification\n toast({\n title: \"Date range too large\",\n description: `Please select a date range of ${maxDays} days or less.`,\n variant: \"destructive\",\n });\n return;\n }\n }\n onDateRangeChange(newRange);\n };\n\n // Disable dates that would create a range > maxDays\n const disabledDays = React.useMemo(() => {\n if (!dateRange?.from) return [];\n \n const fromDate = dateRange.from;\n const minDate = addDays(fromDate, -maxDays);\n const maxDate = addDays(fromDate, maxDays);\n \n return [\n { before: minDate },\n { after: maxDate }\n ];\n }, [dateRange?.from, maxDays]);\n\n return (\n <div className={cn(\"grid gap-2\", className)}>\n <Popover>\n <PopoverTrigger asChild>\n <Button\n id=\"date\"\n variant={\"outline\"}\n className={cn(\n \"w-[260px] justify-start text-left font-normal\",\n !dateRange && \"text-muted-foreground\"\n )}\n >\n <CalendarIcon className=\"mr-2 h-4 w-4\" />\n {dateRange?.from ? (\n dateRange.to ? (\n <>\n {format(dateRange.from, \"LLL dd, y\")} -{\" \"}\n {format(dateRange.to, \"LLL dd, y\")}\n </>\n ) : (\n format(dateRange.from, \"LLL dd, y\")\n )\n ) : (\n <span>Pick a date range</span>\n )}\n </Button>\n </PopoverTrigger>\n <PopoverContent className=\"w-auto p-0\" align=\"end\">\n <Calendar\n initialFocus\n mode=\"range\"\n defaultMonth={dateRange?.from}\n selected={dateRange}\n onSelect={handleDateRangeChange}\n disabled={disabledDays}\n numberOfMonths={2}\n />\n <div className=\"p-3 pt-0 text-xs text-muted-foreground border-t\">\n Maximum range: {maxDays} days\n </div>\n </PopoverContent>\n </Popover>\n </div>\n );\n}","\"use client\";\n\nimport * as React from \"react\";\nimport { useQuery } from \"@apollo/client\";\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from \"@/components/ui/select\";\nimport { Skeleton } from \"@/components/ui/skeleton\";\nimport { GET_DONUT_STATISTICS } from \"@/queries/queries\";\nimport { STATISTICS_TYPE } from \"@/types/enums/statistics\";\nimport { PieChart, Pie, Cell } from 'recharts';\nimport { ChartContainer, ChartTooltip, ChartTooltipContent, ChartLegend, ChartLegendContent, type ChartConfig } from \"@/components/ui/chart\";\nimport { DateRange } from \"react-day-picker\";\n\ninterface DonutChartProps {\n groupByOptions: { label: string, value: string }[];\n dateRange: DateRange | undefined;\n selectedType: STATISTICS_TYPE;\n groupBy: string;\n onGroupByChange: (groupBy: string) => void;\n}\n\nconst CHART_COLORS = [\n \"hsl(var(--chart-1))\",\n \"hsl(var(--chart-2))\",\n \"hsl(var(--chart-3))\",\n \"hsl(var(--chart-4))\",\n \"hsl(var(--chart-5))\",\n \"hsl(var(--chart-6))\",\n \"hsl(var(--chart-7))\",\n \"hsl(var(--chart-8))\",\n \"hsl(var(--chart-9))\",\n \"hsl(var(--chart-10))\"\n];\n\nfunction transformGroupValue(value: string): string {\n if (!value) return 'Unknown';\n\n // Handle various formats and make them user-friendly\n return value\n .replace(/_/g, ' ')\n .split(' ')\n .map(word => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())\n .join(' ');\n}\n\nexport function DonutChart({ groupByOptions, dateRange, selectedType, groupBy, onGroupByChange }: DonutChartProps) {\n const { data, loading, error } = useQuery(GET_DONUT_STATISTICS, {\n variables: {\n type: selectedType,\n groupBy,\n from: dateRange?.from?.toISOString(),\n to: dateRange?.to?.toISOString()\n },\n skip: !dateRange?.from || !dateRange?.to\n });\n\n const { chartData, chartConfig } = React.useMemo(() => {\n if (!data?.trackingStatistics) return { chartData: [], chartConfig: {} };\n\n const sortedData = data.trackingStatistics\n .map((item: any, index: number) => ({\n name: transformGroupValue(item.group),\n value: item.count,\n fill: CHART_COLORS[index % CHART_COLORS.length]\n }))\n .sort((a: any, b: any) => b.value - a.value); // Sort by count descending\n\n const config: ChartConfig = sortedData.reduce((acc: any, item: any, index: number) => {\n acc[item.name] = {\n label: item.name,\n color: CHART_COLORS[index % CHART_COLORS.length],\n };\n return acc;\n }, {});\n\n return { chartData: sortedData, chartConfig: config };\n }, [data]);\n\n const renderCustomLabel = ({ cx, cy, midAngle, innerRadius, outerRadius, percent, index }: any) => {\n if (percent < 0.05) return null; // Don't show labels for slices less than 5%\n\n const RADIAN = Math.PI / 180;\n const radius = innerRadius + (outerRadius - innerRadius) * 0.5;\n const x = cx + radius * Math.cos(-midAngle * RADIAN);\n const y = cy + radius * Math.sin(-midAngle * RADIAN);\n\n return (\n <text\n x={x}\n y={y}\n fill=\"black\"\n textAnchor={x > cx ? 'start' : 'end'}\n dominantBaseline=\"central\"\n fontSize=\"12\"\n fontWeight=\"600\"\n paintOrder=\"stroke\"\n >\n {`${(percent * 100).toFixed(0)}%`}\n </text>\n );\n };\n\n return (\n <div className=\"flex flex-col h-full\">\n <div className=\"flex items-center justify-between mb-4\">\n <h3 className=\"text-xl font-semibold\">Distribution</h3>\n {groupByOptions.length > 0 && (\n <div className=\"w-full max-w-[150px]\">\n <Select value={groupBy} onValueChange={onGroupByChange}>\n <SelectTrigger>\n <SelectValue placeholder=\"Group by\" />\n </SelectTrigger>\n <SelectContent>\n {groupByOptions.map((option) => (\n <SelectItem key={option.value} value={option.value}>\n {option.label}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n )}\n </div>\n\n <div className=\"flex-1 min-h-0\">\n {loading ? (\n <div className=\"space-y-4 h-full\">\n <Skeleton className=\"h-full w-full\" />\n </div>\n ) : error ? (\n <div className=\"flex items-center justify-center h-full text-red-500\">\n Error loading distribution data: {error.message}\n </div>\n ) : chartData.length === 0 ? (\n <div className=\"flex items-center justify-center h-full text-muted-foreground text-center\">\n No data available for the selected date range, type, and grouping.\n </div>\n ) : (\n <ChartContainer config={chartConfig} className=\"h-full w-full\">\n <PieChart>\n <defs>\n {chartData.map((entry: any, index: number) => (\n <radialGradient\n key={`gradient-${index}`}\n id={`gradient-${entry.name.replace(/\\s+/g, '-')}`}\n cx=\"50%\"\n cy=\"50%\"\n r=\"50%\"\n >\n <stop\n offset=\"0%\"\n stopColor={entry.fill}\n stopOpacity={1}\n />\n <stop\n offset=\"100%\"\n stopColor={entry.fill}\n stopOpacity={0.8}\n />\n </radialGradient>\n ))}\n </defs>\n <Pie\n data={chartData}\n cx=\"50%\"\n cy=\"50%\"\n labelLine={false}\n label={renderCustomLabel}\n outerRadius=\"75%\"\n innerRadius=\"45%\"\n dataKey=\"value\"\n strokeWidth={3}\n >\n {chartData.map((entry: any, index: number) => (\n <Cell\n key={`cell-${index}`}\n fill={`url(#gradient-${entry.name.replace(/\\s+/g, '-')})`}\n />\n ))}\n </Pie>\n <ChartTooltip\n content={\n <ChartTooltipContent\n nameKey=\"name\"\n hideLabel\n formatter={(value: any, name: any) => [\n typeof value === 'number' ? value.toLocaleString() : value,\n \" \" + String(name)\n ]}\n />\n }\n />\n </PieChart>\n </ChartContainer>\n )}\n </div>\n </div>\n );\n}","\"use client\";\n\nimport * as React from \"react\";\nimport { useQuery } from \"@apollo/client\";\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from \"@/components/ui/select\";\nimport { Skeleton } from \"@/components/ui/skeleton\";\nimport { GET_TIME_SERIES_STATISTICS } from \"@/queries/queries\";\nimport { STATISTICS_TYPE } from \"@/types/enums/statistics\";\nimport { XAxis, YAxis, CartesianGrid, Area, AreaChart } from 'recharts';\nimport { ChartContainer, ChartTooltip, ChartTooltipContent, ChartLegend, ChartLegendContent, type ChartConfig } from \"@/components/ui/chart\";\nimport { format, eachDayOfInterval, startOfDay } from \"date-fns\";\nimport { DateRange } from \"react-day-picker\";\n\ninterface TimeSeriesChartProps {\n dateRange: DateRange | undefined;\n selectedType: STATISTICS_TYPE;\n onTypeChange: (type: STATISTICS_TYPE) => void;\n onUnitChange: (unit: 'tokens' | 'count') => void;\n dataTypes: string[];\n unit: 'tokens' | 'count';\n}\n\nfunction transformEnumToLabel(enumValue: string): string {\n return enumValue\n .split('_')\n .map(word => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())\n .join(' ');\n}\n\nconst chartConfig = {\n count: {\n label: \"Count\",\n color: \"hsl(var(--muted-foreground))\",\n },\n} satisfies ChartConfig\n\nexport function TimeSeriesChart({ dataTypes, dateRange, selectedType, onTypeChange, onUnitChange, unit }: TimeSeriesChartProps) {\n const { data, loading, error } = useQuery(GET_TIME_SERIES_STATISTICS, {\n variables: {\n type: selectedType,\n name: unit,\n from: dateRange?.from?.toISOString(),\n to: dateRange?.to?.toISOString()\n },\n skip: !dateRange?.from || !dateRange?.to\n });\n\n const chartData = React.useMemo(() => {\n if (!data?.trackingStatistics || !dateRange?.from || !dateRange?.to) return [];\n\n // Transform API data into a map for quick lookup\n const dataMap = new Map();\n data.trackingStatistics.forEach((item: any) => {\n const dateObj = new Date(typeof item.group === 'number' ? item.group : Number(item.group));\n const dateKey = format(startOfDay(dateObj), 'yyyy-MM-dd');\n dataMap.set(dateKey, item.count);\n });\n\n // Generate all dates in the range\n const allDates = eachDayOfInterval({\n start: startOfDay(dateRange.from),\n end: startOfDay(dateRange.to)\n });\n\n // Fill gaps with zero values\n return allDates.map(date => {\n const dateKey = format(date, 'yyyy-MM-dd');\n const count = dataMap.get(dateKey) || 0;\n\n return {\n date: date.getTime(),\n count: count,\n formattedDate: format(date, 'MMM dd'),\n dateObj: date\n };\n });\n }, [data, dateRange]);\n\n return (\n <div className=\"flex flex-col h-full\">\n <div className=\"flex items-center justify-between mb-4\">\n <h3 className=\"text-xl font-semibold\">Time Series Analytics</h3>\n <div className=\"flex items-center gap-2\">\n <div className=\"w-[150px]\">\n <Select value={selectedType} onValueChange={(value) => onTypeChange(value as STATISTICS_TYPE)}>\n <SelectTrigger>\n <SelectValue placeholder=\"Select data type\" />\n </SelectTrigger>\n <SelectContent>\n {dataTypes?.map((type) => (\n <SelectItem key={type} value={type}>\n {transformEnumToLabel(type) + \" \"}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n <div className=\"w-[150px]\">\n <Select value={unit} onValueChange={(value) => onUnitChange(value as 'tokens' | 'count')}>\n <SelectTrigger>\n <SelectValue placeholder=\"Select unit\" />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value=\"count\">Count</SelectItem>\n <SelectItem value=\"tokens\">Tokens</SelectItem>\n </SelectContent>\n </Select>\n </div>\n </div>\n </div>\n\n <div className=\"flex-1 min-h-0\">\n {loading ? (\n <div className=\"space-y-4 h-full\">\n <Skeleton className=\"h-full w-full\" />\n </div>\n ) : error ? (\n <div className=\"flex items-center justify-center h-full text-red-500\">\n Error loading time series data: {error.message}\n </div>\n ) : chartData.length === 0 ? (\n <div className=\"flex items-center justify-center h-full text-muted-foreground\">\n No data available for the selected date range and type\n </div>\n ) : (\n <ChartContainer config={chartConfig} className=\"h-full w-full\">\n <AreaChart data={chartData}>\n <defs>\n <linearGradient id=\"fillCount\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\">\n <stop\n offset=\"5%\"\n stopColor=\"hsl(var(--muted-foreground))\"\n stopOpacity={0.3}\n />\n <stop\n offset=\"95%\"\n stopColor=\"hsl(var(--muted-foreground))\"\n stopOpacity={0.05}\n />\n </linearGradient>\n <linearGradient id=\"strokeCount\" x1=\"0\" y1=\"0\" x2=\"1\" y2=\"0\">\n <stop\n offset=\"0%\"\n stopColor=\"hsl(var(--muted-foreground))\"\n stopOpacity={0.8}\n />\n <stop\n offset=\"100%\"\n stopColor=\"hsl(var(--muted-foreground))\"\n stopOpacity={0.6}\n />\n </linearGradient>\n </defs>\n <CartesianGrid\n strokeDasharray=\"3 3\"\n stroke=\"hsl(var(--muted-foreground))\"\n strokeOpacity={0.3}\n vertical={false}\n />\n <XAxis\n dataKey=\"formattedDate\"\n tick={{ fontSize: 12, fill: \"hsl(var(--muted-foreground))\" }}\n tickLine={{ stroke: \"hsl(var(--muted-foreground))\", strokeOpacity: 0.5 }}\n axisLine={{ stroke: \"hsl(var(--muted-foreground))\", strokeOpacity: 0.5 }}\n />\n <YAxis\n tick={{ fontSize: 12, fill: \"hsl(var(--muted-foreground))\" }}\n tickLine={{ stroke: \"hsl(var(--muted-foreground))\", strokeOpacity: 0.5 }}\n axisLine={{ stroke: \"hsl(var(--muted-foreground))\", strokeOpacity: 0.5 }}\n />\n <ChartTooltip\n labelFormatter={(label: any, payload: any) => {\n if (payload && payload[0]) {\n return format(payload[0].payload.dateObj, 'PPP') + \" \";\n }\n return label;\n }}\n content={<ChartTooltipContent\n nameKey=\"name\"\n hideLabel\n formatter={(value: any, name: any) => [\n typeof value === 'number' ? value.toLocaleString() : value,\n \" \" + String(name)\n ]}\n />}\n />\n <ChartLegend content={<ChartLegendContent />} />\n <Area\n type=\"monotone\"\n dataKey=\"count\"\n stroke=\"url(#strokeCount)\"\n strokeWidth={3}\n fill=\"url(#fillCount)\"\n fillOpacity={0.6}\n dot={{\n fill: \"hsl(var(--muted-foreground))\",\n strokeWidth: 2,\n r: 4,\n strokeOpacity: 0.8\n }}\n activeDot={{\n r: 6,\n strokeWidth: 2,\n fill: \"hsl(var(--background))\",\n stroke: \"hsl(var(--muted-foreground))\",\n strokeOpacity: 1\n }}\n name={transformEnumToLabel(selectedType)}\n />\n </AreaChart>\n </ChartContainer>\n )}\n </div>\n </div>\n );\n}","import * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst Card = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n \"rounded-lg border bg-card text-card-foreground shadow-sm\",\n className,\n )}\n {...props}\n />\n));\nCard.displayName = \"Card\";\n\nconst CardHeader = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"flex flex-col space-y-1.5 p-6\", className)}\n {...props}\n />\n));\nCardHeader.displayName = \"CardHeader\";\n\nconst CardTitle = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLHeadingElement>\n>(({ className, ...props }, ref) => (\n <h3\n ref={ref}\n className={cn(\n \"text-2xl font-semibold leading-none tracking-tight\",\n className,\n )}\n {...props}\n />\n));\nCardTitle.displayName = \"CardTitle\";\n\nconst CardDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => (\n <p\n ref={ref}\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n));\nCardDescription.displayName = \"CardDescription\";\n\nconst CardContent = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div ref={ref} className={cn(\"p-6 pt-0\", className)} {...props} />\n));\nCardContent.displayName = \"CardContent\";\n\nconst CardFooter = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"flex items-center p-6 pt-0\", className)}\n {...props}\n />\n));\nCardFooter.displayName = \"CardFooter\";\n\nexport {\n Card,\n CardHeader,\n CardFooter,\n CardTitle,\n CardDescription,\n CardContent,\n};\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as RechartsPrimitive from \"recharts\"\n\nimport { cn } from \"@/lib/utils\"\n\n// Format: { THEME_NAME: CSS_SELECTOR }\nconst THEMES = { light: \"\", dark: \".dark\" } as const\n\nexport type ChartConfig = {\n [k in string]: {\n label?: React.ReactNode\n icon?: React.ComponentType\n } & (\n | { color?: string; theme?: never }\n | { color?: never; theme: Record<keyof typeof THEMES, string> }\n )\n}\n\ntype ChartContextProps = {\n config: ChartConfig\n}\n\nconst ChartContext = React.createContext<ChartContextProps | null>(null)\n\nfunction useChart() {\n const context = React.useContext(ChartContext)\n\n if (!context) {\n throw new Error(\"useChart must be used within a <ChartContainer />\")\n }\n\n return context\n}\n\nconst ChartContainer = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\"> & {\n config: ChartConfig\n children: React.ComponentProps<\n typeof RechartsPrimitive.ResponsiveContainer\n >[\"children\"]\n }\n>(({ id, className, children, config, ...props }, ref) => {\n const uniqueId = React.useId()\n const chartId = `chart-${id || uniqueId.replace(/:/g, \"\")}`\n\n return (\n <ChartContext.Provider value={{ config }}>\n <div\n data-chart={chartId}\n ref={ref}\n className={cn(\n \"flex aspect-video justify-center text-xs [&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-none [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-sector]:outline-none [&_.recharts-surface]:outline-none\",\n className\n )}\n {...props}\n >\n <ChartStyle id={chartId} config={config} />\n <RechartsPrimitive.ResponsiveContainer>\n {children}\n </RechartsPrimitive.ResponsiveContainer>\n </div>\n </ChartContext.Provider>\n )\n})\nChartContainer.displayName = \"Chart\"\n\nconst ChartStyle = ({ id, config }: { id: string; config: ChartConfig }) => {\n const colorConfig = Object.entries(config).filter(\n ([, config]) => config.theme || config.color\n )\n\n if (!colorConfig.length) {\n return null\n }\n\n return (\n <style\n dangerouslySetInnerHTML={{\n __html: Object.entries(THEMES)\n .map(\n ([theme, prefix]) => `\n${prefix} [data-chart=${id}] {\n${colorConfig\n .map(([key, itemConfig]) => {\n const color =\n itemConfig.theme?.[theme as keyof typeof itemConfig.theme] ||\n itemConfig.color\n return color ? ` --color-${key}: ${color};` : null\n })\n .join(\"\\n\")}\n}\n`\n )\n .join(\"\\n\"),\n }}\n />\n )\n}\n\nconst ChartTooltip = RechartsPrimitive.Tooltip\n\nconst ChartTooltipContent = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<typeof RechartsPrimitive.Tooltip> &\n React.ComponentProps<\"div\"> & {\n hideLabel?: boolean\n hideIndicator?: boolean\n indicator?: \"line\" | \"dot\" | \"dashed\"\n nameKey?: string\n labelKey?: string\n }\n>(\n (\n {\n active,\n payload,\n className,\n indicator = \"dot\",\n hideLabel = false,\n hideIndicator = false,\n label,\n labelFormatter,\n labelClassName,\n formatter,\n color,\n nameKey,\n labelKey,\n },\n ref\n ) => {\n const { config } = useChart()\n\n const tooltipLabel = React.useMemo(() => {\n if (hideLabel || !payload?.length) {\n return null\n }\n\n const [item] = payload\n const key = `${labelKey || item?.dataKey || item?.name || \"value\"}`\n const itemConfig = getPayloadConfigFromPayload(config, item, key)\n const value =\n !labelKey && typeof label === \"string\"\n ? config[label as keyof typeof config]?.label || label\n : itemConfig?.label\n\n if (labelFormatter) {\n return (\n <div className={cn(\"font-medium\", labelClassName)}>\n {labelFormatter(value, payload)}\n </div>\n )\n }\n\n if (!value) {\n return null\n }\n\n return <div className={cn(\"font-medium\", labelClassName)}>{value}</div>\n }, [\n label,\n labelFormatter,\n payload,\n hideLabel,\n labelClassName,\n config,\n labelKey,\n ])\n\n if (!active || !payload?.length) {\n return null\n }\n\n const nestLabel = payload.length === 1 && indicator !== \"dot\"\n\n return (\n <div\n ref={ref}\n className={cn(\n \"grid min-w-[8rem] items-start gap-1.5 rounded-lg border border-border/50 bg-background px-2.5 py-1.5 text-xs shadow-xl\",\n className\n )}\n >\n {!nestLabel ? tooltipLabel : null}\n <div className=\"grid gap-1.5\">\n {payload.map((item, index) => {\n const key = `${nameKey || item.name || item.dataKey || \"value\"}`\n const itemConfig = getPayloadConfigFromPayload(config, item, key)\n const indicatorColor = color || item.payload.fill || item.color\n\n return (\n <div\n key={item.dataKey}\n className={cn(\n \"flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5 [&>svg]:text-muted-foreground\",\n indicator === \"dot\" && \"items-center\"\n )}\n >\n {formatter && item?.value !== undefined && item.name ? (\n formatter(item.value, item.name, item, index, item.payload)\n ) : (\n <>\n {itemConfig?.icon ? (\n <itemConfig.icon />\n ) : (\n !hideIndicator && (\n <div\n className={cn(\n \"shrink-0 rounded-[2px] border-[--color-border] bg-[--color-bg]\",\n {\n \"h-2.5 w-2.5\": indicator === \"dot\",\n \"w-1\": indicator === \"line\",\n \"w-0 border-[1.5px] border-dashed bg-transparent\":\n indicator === \"dashed\",\n \"my-0.5\": nestLabel && indicator === \"dashed\",\n }\n )}\n style={\n {\n \"--color-bg\": indicatorColor,\n \"--color-border\": indicatorColor,\n } as React.CSSProperties\n }\n />\n )\n )}\n <div\n className={cn(\n \"flex flex-1 justify-between leading-none\",\n nestLabel ? \"items-end\" : \"items-center\"\n )}\n >\n <div className=\"grid gap-1.5\">\n {nestLabel ? tooltipLabel : null}\n <span className=\"text-muted-foreground\">\n {itemConfig?.label || item.name}\n </span>\n </div>\n {item.value && (\n <span className=\"font-mono font-medium tabular-nums text-foreground\">\n {item.value.toLocaleString()}\n </span>\n )}\n </div>\n </>\n )}\n </div>\n )\n })}\n </div>\n </div>\n )\n }\n)\nChartTooltipContent.displayName = \"ChartTooltip\"\n\nconst ChartLegend = RechartsPrimitive.Legend\n\nconst ChartLegendContent = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\"> &\n Pick<RechartsPrimitive.LegendProps, \"payload\" | \"verticalAlign\"> & {\n hideIcon?: boolean\n nameKey?: string\n }\n>(\n (\n { className, hideIcon = false, payload, verticalAlign = \"bottom\", nameKey },\n ref\n ) => {\n const { config } = useChart()\n\n if (!payload?.length) {\n return null\n }\n\n return (\n <div\n ref={ref}\n className={cn(\n \"flex items-center justify-center gap-4\",\n verticalAlign === \"top\" ? \"pb-3\" : \"pt-3\",\n className\n )}\n >\n {payload.map((item) => {\n const key = `${nameKey || item.dataKey || \"value\"}`\n const itemConfig = getPayloadConfigFromPayload(config, item, key)\n\n return (\n <div\n key={item.value}\n className={cn(\n \"flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3 [&>svg]:text-muted-foreground\"\n )}\n >\n {itemConfig?.icon && !hideIcon ? (\n <itemConfig.icon />\n ) : (\n <div\n className=\"h-2 w-2 shrink-0 rounded-[2px]\"\n style={{\n backgroundColor: item.color,\n }}\n />\n )}\n {itemConfig?.label}\n </div>\n )\n })}\n </div>\n )\n }\n)\nChartLegendContent.displayName = \"ChartLegend\"\n\n// Helper to extract item config from a payload.\nfunction getPayloadConfigFromPayload(\n config: ChartConfig,\n payload: unknown,\n key: string\n) {\n if (typeof payload !== \"object\" || payload === null) {\n return undefined\n }\n\n const payloadPayload =\n \"payload\" in payload &&\n typeof payload.payload === \"object\" &&\n payload.payload !== null\n ? payload.payload\n : undefined\n\n let configLabelKey: string = key\n\n if (\n key in payload &&\n typeof payload[key as keyof typeof payload] === \"string\"\n ) {\n configLabelKey = payload[key as keyof typeof payload] as string\n } else if (\n payloadPayload &&\n key in payloadPayload &&\n typeof payloadPayload[key as keyof typeof payloadPayload] === \"string\"\n ) {\n configLabelKey = payloadPayload[\n key as keyof typeof payloadPayload\n ] as string\n }\n\n return configLabelKey in config\n ? config[configLabelKey]\n : config[key as keyof typeof config]\n}\n\nexport {\n ChartContainer,\n ChartTooltip,\n ChartTooltipContent,\n ChartLegend,\n ChartLegendContent,\n ChartStyle,\n}\n","\"use client\";\n\nimport * as PopoverPrimitive from \"@radix-ui/react-popover\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst Popover = PopoverPrimitive.Root;\n\nconst PopoverTrigger = PopoverPrimitive.Trigger;\n\nconst PopoverContent = React.forwardRef<\n React.ElementRef<typeof PopoverPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content>\n>(({ className, align = \"center\", sideOffset = 4, ...props }, ref) => (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n className={cn(\n \"z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n className,\n )}\n {...props}\n />\n </PopoverPrimitive.Portal>\n));\nPopoverContent.displayName = PopoverPrimitive.Content.displayName;\n\nexport { Popover, PopoverTrigger, PopoverContent };\n","\"use client\";\n\nimport * as SelectPrimitive from \"@radix-ui/react-select\";\nimport { Check, ChevronDown, ChevronUp } from \"lucide-react\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst Select = SelectPrimitive.Root;\n\nconst SelectGroup = SelectPrimitive.Group;\n\nconst SelectValue = SelectPrimitive.Value;\n\nconst SelectTrigger = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger>\n>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Trigger\n ref={ref}\n className={cn(\n \"flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1\",\n className,\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <ChevronDown className=\"size-4 opacity-50\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n));\nSelectTrigger.displayName = SelectPrimitive.Trigger.displayName;\n\nconst SelectScrollUpButton = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.ScrollUpButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollUpButton>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollUpButton\n ref={ref}\n className={cn(\n \"flex cursor-default items-center justify-center py-1\",\n className,\n )}\n {...props}\n >\n <ChevronUp className=\"size-4\" />\n </SelectPrimitive.ScrollUpButton>\n));\nSelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;\n\nconst SelectScrollDownButton = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.ScrollDownButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollDownButton>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollDownButton\n ref={ref}\n className={cn(\n \"flex cursor-default items-center justify-center py-1\",\n className,\n )}\n {...props}\n >\n <ChevronDown className=\"size-4\" />\n </SelectPrimitive.ScrollDownButton>\n));\nSelectScrollDownButton.displayName =\n SelectPrimitive.ScrollDownButton.displayName;\n\nconst SelectContent = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Content>\n>(({ className, children, position = \"popper\", ...props }, ref) => (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n ref={ref}\n className={cn(\n \"relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n position === \"popper\" &&\n \"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1\",\n className,\n )}\n position={position}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n className={cn(\n \"p-1\",\n position === \"popper\" &&\n \"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]\",\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n));\nSelectContent.displayName = SelectPrimitive.Content.displayName;\n\nconst SelectLabel = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Label>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Label\n ref={ref}\n className={cn(\"py-1.5 pl-8 pr-2 text-sm font-semibold\", className)}\n {...props}\n />\n));\nSelectLabel.displayName = SelectPrimitive.Label.displayName;\n\nconst SelectItem = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Item>\n>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Item\n ref={ref}\n className={cn(\n \"relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className,\n )}\n {...props}\n >\n <span className=\"absolute left-2 flex size-3.5 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <Check className=\"size-4\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n));\nSelectItem.displayName = SelectPrimitive.Item.displayName;\n\nconst SelectSeparator = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Separator\n ref={ref}\n className={cn(\"-mx-1 my-1 h-px bg-muted\", className)}\n {...props}\n />\n));\nSelectSeparator.displayName = SelectPrimitive.Separator.displayName;\n\nexport {\n Select,\n SelectGroup,\n SelectValue,\n SelectTrigger,\n SelectContent,\n SelectLabel,\n SelectItem,\n SelectSeparator,\n SelectScrollUpButton,\n SelectScrollDownButton,\n};\n","import { cn } from \"@/lib/utils\";\n\nfunction Skeleton({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) {\n return (\n <div\n className={cn(\"animate-pulse rounded-md bg-muted\", className)}\n {...props}\n />\n );\n}\n\nexport { Skeleton };\n","\"use client\";\n\n// Inspired by react-hot-toast library\nimport * as React from \"react\";\n\nimport type { ToastActionElement, ToastProps } from \"@/components/ui/toast\";\n\nconst TOAST_LIMIT = 1;\nconst TOAST_REMOVE_DELAY = 1000000;\n\ntype ToasterToast = ToastProps & {\n id: string;\n title?: React.ReactNode;\n description?: React.ReactNode;\n action?: ToastActionElement;\n};\n\nconst actionTypes = {\n ADD_TOAST: \"ADD_TOAST\",\n UPDATE_TOAST: \"UPDATE_TOAST\",\n DISMISS_TOAST: \"DISMISS_TOAST\",\n REMOVE_TOAST: \"REMOVE_TOAST\",\n} as const;\n\nlet count = 0;\n\nfunction genId() {\n count = (count + 1) % Number.MAX_SAFE_INTEGER;\n return count.toString();\n}\n\ntype ActionType = typeof actionTypes;\n\ntype Action =\n | {\n type: ActionType[\"ADD_TOAST\"];\n toast: ToasterToast;\n }\n | {\n type: ActionType[\"UPDATE_TOAST\"];\n toast: Partial<ToasterToast>;\n }\n | {\n type: ActionType[\"DISMISS_TOAST\"];\n toastId?: ToasterToast[\"id\"];\n }\n | {\n type: ActionType[\"REMOVE_TOAST\"];\n toastId?: ToasterToast[\"id\"];\n };\n\ninterface State {\n toasts: ToasterToast[];\n}\n\nconst toastTimeouts = new Map<string, ReturnType<typeof setTimeout>>();\n\nconst addToRemoveQueue = (toastId: string) => {\n if (toastTimeouts.has(toastId)) {\n return;\n }\n\n const timeout = setTimeout(() => {\n toastTimeouts.delete(toastId);\n dispatch({\n type: \"REMOVE_TOAST\",\n toastId: toastId,\n });\n }, TOAST_REMOVE_DELAY);\n\n toastTimeouts.set(toastId, timeout);\n};\n\nexport const reducer = (state: State, action: Action): State => {\n switch (action.type) {\n case \"ADD_TOAST\":\n return {\n ...state,\n toasts: [action.toast, ...state.toasts].slice(0, TOAST_LIMIT),\n };\n\n case \"UPDATE_TOAST\":\n return {\n ...state,\n toasts: state.toasts.map((t) =>\n t.id === action.toast.id ? { ...t, ...action.toast } : t,\n ),\n };\n\n case \"DISMISS_TOAST\": {\n const { toastId } = action;\n\n // ! Side effects ! - This could be extracted into a dismissToast() action,\n // but I'll keep it here for simplicity\n if (toastId) {\n addToRemoveQueue(toastId);\n } else {\n state.toasts.forEach((toast) => {\n addToRemoveQueue(toast.id);\n });\n }\n\n return {\n ...state,\n toasts: state.toasts.map((t) =>\n t.id === toastId || toastId === undefined\n ? {\n ...t,\n open: false,\n }\n : t,\n ),\n };\n }\n case \"REMOVE_TOAST\":\n if (action.toastId === undefined) {\n return {\n ...state,\n toasts: [],\n };\n }\n return {\n ...state,\n toasts: state.toasts.filter((t) => t.id !== action.toastId),\n };\n }\n};\n\nconst listeners: Array<(state: State) => void> = [];\n\nlet memoryState: State = { toasts: [] };\n\nfunction dispatch(action: Action) {\n memoryState = reducer(memoryState, action);\n listeners.forEach((listener) => {\n listener(memoryState);\n });\n}\n\ntype Toast = Omit<ToasterToast, \"id\">;\n\nfunction toast({ ...props }: Toast) {\n const id = genId();\n\n const update = (props: ToasterToast) =>\n dispatch({\n type: \"UPDATE_TOAST\",\n toast: { ...props, id },\n });\n const dismiss = () => dispatch({ type: \"DISMISS_TOAST\", toastId: id });\n\n dispatch({\n type: \"ADD_TOAST\",\n toast: {\n ...props,\n id,\n open: true,\n onOpenChange: (open) => {\n if (!open) dismiss();\n },\n },\n });\n\n return {\n id: id,\n dismiss,\n update,\n };\n}\n\nfunction useToast() {\n const [state, setState] = React.useState<State>(memoryState);\n\n React.useEffect(() => {\n listeners.push(setState);\n return () => {\n const index = listeners.indexOf(setState);\n if (index > -1) {\n listeners.splice(index, 1);\n }\n };\n }, [state]);\n\n return {\n ...state,\n toast,\n dismiss: (toastId?: string) => dispatch({ type: \"DISMISS_TOAST\", toastId }),\n };\n}\n\nexport { useToast, toast };\n","export type STATISTICS_TYPE = \"CONTEXT_RETRIEVE\" | \"SOURCE_UPDATE\" | \"EMBEDDER_UPSERT\" | \"EMBEDDER_GENERATE\" | \"EMBEDDER_DELETE\" | \"WORKFLOW_RUN\" | \"CONTEXT_UPSERT\" | \"TOOL_CALL\" | \"AGENT_RUN\";\n\nexport const STATISTICS_TYPE_ENUM = {\n CONTEXT_RETRIEVE: \"CONTEXT_RETRIEVE\",\n SOURCE_UPDATE: \"SOURCE_UPDATE\",\n EMBEDDER_UPSERT: \"EMBEDDER_UPSERT\",\n EMBEDDER_GENERATE: \"EMBEDDER_GENERATE\",\n EMBEDDER_DELETE: \"EMBEDDER_DELETE\",\n WORKFLOW_RUN: \"WORKFLOW_RUN\",\n CONTEXT_UPSERT: \"CONTEXT_UPSERT\",\n TOOL_CALL: \"TOOL_CALL\",\n AGENT_RUN: \"AGENT_RUN\"\n};\n"],"names":["Promise","resolve","then","__webpack_require__","bind","SummaryCardElement","param","title","currentValue","previousValue","isLoading","jsx_runtime","jsxs","Card","className","CardHeader","jsx","CardTitle","div","CardContent","Skeleton","percentageChange","isPositive","isNeutral","TrendIcon","Minus","TrendingUp","TrendingDown","trendColor","concat","toLocaleString","p","span","Math","abs","toFixed","br","SummaryCard","query","entity","dates","useMemo","now","Date","toISOString","twentyFourHoursAgo","subHours","sevenDaysAgo","subDays","data","data24h","loading","loading24h","useQuery","variables","from","to","data7d","loading7d","getTotal","Array","isArray","reduce","sum","item","count","twentyFourHourTotal","sevenDayAverage","round","dynamic","DashboardPage","dateRange","setDateRange","useState","selectedType","setSelectedType","unit","setUnit","groupBy","setGroupBy","h2","DateRangeSelector","onDateRangeChange","maxDays","GET_AGENT_SESSIONS_STATISTICS","GET_AGENT_RUN_STATISTICS","GET_TOKEN_USAGE_STATISTICS","GET_WORKFLOW_RUNS_STATISTICS","GET_FUNCTION_CALLS_STATISTICS","TimeSeriesChart","onTypeChange","onUnitChange","dataTypes","STATISTICS_TYPE_ENUM","CONTEXT_RETRIEVE","SOURCE_UPDATE","EMBEDDER_UPSERT","EMBEDDER_GENERATE","EMBEDDER_DELETE","WORKFLOW_RUN","CONTEXT_UPSERT","TOOL_CALL","AGENT_RUN","DonutChart","groupByOptions","value","label","onGroupByChange","Calendar","classNames","showOutsideDays","props","DayPicker","cn","months","month","caption","caption_label","nav","nav_button","buttonVariants","variant","nav_button_previous","nav_button_next","table","head_row","head_cell","row","cell","day","day_range_end","day_selected","day_today","day_outside","day_disabled","day_range_middle","day_hidden","components","IconLeft","ChevronLeft","IconRight","ChevronRight","displayName","toast","useToast","disabledDays","React","fromDate","before","addDays","after","Popover","PopoverTrigger","asChild","Button","id","CalendarIcon","Fragment","format","PopoverContent","align","initialFocus","mode","defaultMonth","selected","onSelect","newRange","daysDifference","differenceInDays","description","disabled","numberOfMonths","CHART_COLORS","error","GET_DONUT_STATISTICS","type","skip","chartData","chartConfig","trackingStatistics","sortedData","map","index","name","group","replace","split","word","charAt","toUpperCase","slice","toLowerCase","join","fill","length","sort","a","b","config","acc","color","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","h3","Select","onValueChange","SelectTrigger","SelectValue","placeholder","SelectContent","SelectItem","option","message","ChartContainer","PieChart","defs","entry","radialGradient","cx","cy","r","stop","offset","stopColor","stopOpacity","Pie","labelLine","midAngle","innerRadius","outerRadius","percent","RADIAN","PI","radius","x","cos","text","y","sin","textAnchor","dominantBaseline","fontSize","fontWeight","paintOrder","dataKey","strokeWidth","Cell","ChartTooltip","content","ChartTooltipContent","nameKey","hideLabel","formatter","String","transformEnumToLabel","enumValue","GET_TIME_SERIES_STATISTICS","dataMap","Map","forEach","dateObj","Number","dateKey","startOfDay","set","allDates","eachDayOfInterval","start","end","date","get","getTime","formattedDate","AreaChart","linearGradient","x1","y1","x2","y2","CartesianGrid","strokeDasharray","stroke","strokeOpacity","vertical","XAxis","tick","tickLine","axisLine","YAxis","labelFormatter","payload","ChartLegend","ChartLegendContent","Area","fillOpacity","dot","activeDot","ref","CardDescription","CardFooter","THEMES","light","dark","ChartContext","useChart","context","children","uniqueId","chartId","Provider","data-chart","ChartStyle","RechartsPrimitive","colorConfig","Object","entries","filter","theme","style","dangerouslySetInnerHTML","__html","prefix","itemConfig","key","active","indicator","hideIndicator","labelClassName","labelKey","tooltipLabel","getPayloadConfigFromPayload","nestLabel","indicatorColor","undefined","icon","hideIcon","verticalAlign","backgroundColor","payloadPayload","configLabelKey","PopoverPrimitive","sideOffset","SelectPrimitive","ChevronDown","SelectScrollUpButton","ChevronUp","SelectScrollDownButton","position","SelectLabel","Check","SelectSeparator","toastTimeouts","addToRemoveQueue","has","toastId","timeout","setTimeout","delete","dispatch","reducer","state","action","toasts","t","open","listeners","memoryState","listener","MAX_SAFE_INTEGER","toString","dismiss","onOpenChange","update","setState","push","indexOf","splice"],"sourceRoot":""}
@@ -1,2 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[250],{21016:function(e,t,a){Promise.resolve().then(a.bind(a,55459))},55459:function(e,t,a){"use strict";a.r(t),a.d(t,{default:function(){return $}});var s=a(57437),l=a(2265),r=a(20653),n=a(7211),i=a(12199),o=a(71594),c=a(24525),d=a(99397),u=a(21563),f=a(18930),m=a(9334),x=a(99376),g=a(13832),h=a(62869),p=a(19060),v=a(10492),j=a(19378),b=a(93022),N=a(73578),w=a(77992),y=a(94508),S=a(27107);let C=[{id:"select",header:e=>{let{table:t}=e;return(0,s.jsx)(p.X,{checked:t.getIsAllPageRowsSelected()||t.getIsSomePageRowsSelected()&&"indeterminate",onCheckedChange:e=>t.toggleAllPageRowsSelected(!!e),"aria-label":"Select all",className:"translate-y-[2px]"})},cell:e=>{let{row:t}=e;return(0,s.jsx)(p.X,{checked:t.getIsSelected(),onCheckedChange:e=>t.toggleSelected(!!e),"aria-label":"Select row",className:"translate-y-[2px] max-w-[50px]"})},enableSorting:!1,enableHiding:!1},{accessorKey:"Description",cell:e=>{let{row:t}=e;return console.log("original",t.original),(0,s.jsxs)("div",{className:"flex flex-column grid grid-cols-1",children:[(0,s.jsx)("span",{className:"max-w-[500px] truncate font-medium w-full",children:t.original.name?t.original.name:t.original.text.slice(0,200)||"Untitled"}),(0,s.jsx)("small",{className:"mt-1",children:(0,S.WU)(new Date(t.original.createdAt),"PP")})]})}}];var k=a(65613),R=a(73247),z=a(32489),P=a(95186);function A(e){let{onSearch:t=e=>console.log("Search query: ".concat(e)),placeholder:a="Search...",className:r=""}=e,[n,i]=(0,l.useState)("");return(0,s.jsx)("form",{onSubmit:e=>{e.preventDefault(),t(n)},className:"relative ".concat(r),children:(0,s.jsxs)("div",{className:"relative flex items-center w-full",children:[(0,s.jsx)(R.Z,{className:"absolute left-3 h-4 w-4 text-muted-foreground"}),(0,s.jsx)(P.I,{type:"text",placeholder:a,value:n,onChange:e=>i(e.target.value),className:"pl-10 pr-10","aria-label":"Search input"}),n&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("span",{className:"absolute right-10 text-xs text-muted-foreground",children:"Press Enter ↵"}),(0,s.jsx)(h.z,{type:"button",variant:"ghost",size:"icon",className:"absolute right-0 h-full rounded-l-none",onClick:()=>{i(""),t("")},"aria-label":"Clear search",children:(0,s.jsx)(z.Z,{className:"h-4 w-4"})})]})]})})}var I=a(27689);function T(e){var t,a,S,R;let{activeFolder:z,activeItem:P,archived:T}=e,M=(0,x.usePathname)(),D=(0,x.useSearchParams)(),[O,Z]=(0,l.useState)(D.get("page")?parseInt(D.get("page")):1),_=D.get("search"),{user:E}=(0,l.useContext)(g.S),{toast:F}=(0,w.pm)(),[q,V]=(0,l.useState)({...E.company}),L=(0,x.useRouter)(),[U,X]=l.useState({}),[G,W]=l.useState({}),[H,B]=l.useState([]),[J,Q]=l.useState([]),{loading:Y,data:K,refetch:$,previousData:ee,error:et}=(0,n.aM)((0,I.P3)(z,[]),{fetchPolicy:"no-cache",nextFetchPolicy:"network-only",variables:{context:z,page:null!=O?O:1,limit:10,sort:{field:"updatedAt",direction:"DESC"},filters:{archived:{eq:T},..._?{name:{contains:"".concat(_)}}:{}}}}),ea=null==K?void 0:K[z+I.Md],es=null==ee?void 0:ee[z+I.Md],[el,er]=(0,i.D)((0,I.ty)(z),{onCompleted:()=>{$()}}),[en,ei]=(0,i.D)((0,I.mN)(z,[]),{onCompleted:()=>{$()}}),eo=l.useMemo(()=>[],[]),{limit:ec,onPaginationChange:ed,skip:eu,pagination:ef}=function(){let[e,t]=(0,l.useState)({pageSize:5,pageIndex:0}),{pageSize:a,pageIndex:s}=e;return{limit:a,onPaginationChange:t,pagination:e,skip:a*s}}(),em=(0,o.b7)({data:Y&&(null==es?void 0:es.items)?es.items:null!==(S=null==ea?void 0:ea.items)&&void 0!==S?S:eo,pageCount:null!==(R=null==ea?void 0:null===(t=ea.pageInfo)||void 0===t?void 0:t.pageCount)&&void 0!==R?R:-1,columns:C,state:{sorting:J,columnVisibility:G,rowSelection:U,columnFilters:H},enableRowSelection:!0,onRowSelectionChange:X,onSortingChange:Q,onColumnFiltersChange:B,onColumnVisibilityChange:W,getCoreRowModel:(0,c.sC)(),getFilteredRowModel:(0,c.vL)(),getPaginationRowModel:(0,c.G_)(),getSortedRowModel:(0,c.tj)(),getFacetedRowModel:(0,c.o6)(),getFacetedUniqueValues:(0,c.JG)(),manualPagination:!0,onPaginationChange:ed}),[ex,eg]=(0,i.D)((0,I.tO)(z),{onCompleted:e=>{var t,a;console.log("data",e);let s=e?null===(a=e[z+I.Wc])||void 0===a?void 0:null===(t=a.item)||void 0===t?void 0:t.id:void 0;s&&L.push("/data/".concat(z,"/").concat(s)),$()}}),eh=e=>{let{page:t,search:a}=e;Z(null!=t?t:1);let s=new URLSearchParams;t&&s.set("page",t.toString()),a&&s.set("search",a),L.push("".concat(M,"?").concat(s.toString()))},ep=e=>{T?L.push("/data/".concat(z,"/archived/").concat(e,"?").concat(D.toString())):L.push("/data/".concat(z,"/").concat(e,"?").concat(D.toString()))};return et?(0,s.jsxs)(k.bZ,{className:"p-4",variant:"destructive",children:[(0,s.jsx)(r.LPM,{className:"size-4"}),(0,s.jsx)(k.Cd,{children:"Error"}),(0,s.jsx)(k.X,{children:(null==et?void 0:et.message)||": unknown"})]}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{className:"grid grid-flow-col grid-cols-[auto_minmax(0,1fr)] grid-rows-1 bg-background/95 p-4 backdrop-blur gap-2 supports-[backdrop-filter]:bg-background/60",children:[(0,s.jsx)(p.X,{checked:em.getIsAllPageRowsSelected()||em.getIsSomePageRowsSelected()&&"indeterminate",onCheckedChange:e=>em.toggleAllPageRowsSelected(!!e),"aria-label":"Select all",className:"my-auto mr-3 translate-y-[2px]"}),(0,s.jsx)("div",{className:"relative",children:(0,s.jsx)(A,{onSearch:e=>{eh({page:1,search:e})}})}),(0,s.jsx)(h.z,{onClick:()=>{ex({variables:{input:{name:"New item",source:"manual",textlength:0,company:q.id}}})},disabled:eg.loading||T,className:"ml-2 ml-auto lg:flex",children:eg.loading?(0,s.jsx)(v.g,{}):(0,s.jsx)(d.Z,{size:18})})]}),em.getIsSomeRowsSelected()||em.getIsAllRowsSelected()?(0,s.jsx)("div",{className:"flex px-4 pb-4",children:T?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(h.z,{className:"ml-2",onClick:()=>{let e=[];em.getSelectedRowModel().rows.forEach(t=>{e.push(el({variables:{id:t.original.id,input:{archived:!1}}}))}),Promise.all(e).then(()=>{em.resetRowSelection(),F({title:"Unarchived items",description:"We unarchived "+e.length+" items."})})},variant:"secondary",disabled:er.loading,children:[er.loading?(0,s.jsx)(v.g,{}):(0,s.jsx)(u.Z,{className:"size-4"}),(0,s.jsx)("span",{className:"ml-2",children:"Unarchive selected"})]}),(0,s.jsxs)(h.z,{className:"ml-2",onClick:()=>{let e=[];em.getSelectedRowModel().rows.forEach(t=>{e.push(en({variables:{context:z,id:t.original.id}}))}),Promise.all(e).then(()=>{em.resetRowSelection(),F({title:"Deleted items",description:"We deleted "+e.length+" items."})})},variant:"secondary",disabled:ei.loading,children:[ei.loading?(0,s.jsx)(v.g,{}):(0,s.jsx)(f.Z,{className:"size-4"}),(0,s.jsx)("span",{className:"ml-2",children:"Delete selected"})]})]}):(0,s.jsxs)(h.z,{className:"ml-2",onClick:()=>{let e=[];em.getSelectedRowModel().rows.forEach(t=>{var a;e.push(el({variables:{id:null===(a=t.original)||void 0===a?void 0:a.id,input:{archived:!0}}}))}),Promise.all(e).then(()=>{em.resetRowSelection(),F({title:"Archived items",description:"We archived "+e.length+" items."})})},variant:"secondary",disabled:er.loading,children:[er.loading?(0,s.jsx)(v.g,{}):(0,s.jsx)(m.Z,{className:"size-4"}),(0,s.jsx)("span",{className:"ml-2",children:"Archive selected"})]})}):null,Y?(0,s.jsx)(j.x,{className:"h-screen",children:(0,s.jsxs)("div",{className:"flex flex-col gap-2 p-4 pt-0",children:[(0,s.jsx)(b.O,{className:"mb-2 h-[100px] w-full rounded-lg"}),(0,s.jsx)(b.O,{className:"mb-2 h-[100px] w-full rounded-lg"}),(0,s.jsx)(b.O,{className:"mb-2 h-[100px] w-full rounded-lg"}),(0,s.jsx)(b.O,{className:"mb-2 h-[100px] w-full rounded-lg"}),(0,s.jsx)(b.O,{className:"mb-2 h-[100px] w-full rounded-lg"}),(0,s.jsx)(b.O,{className:"h-[100px] w-full rounded-lg"})]})}):(0,s.jsxs)("div",{className:"flex max-h-[75vh] flex-col",children:[(0,s.jsx)(j.x,{className:"h-screen grow",children:(0,s.jsx)("div",{className:"space-y-4",children:(0,s.jsx)("div",{className:"border-y",children:(0,s.jsx)(N.iA,{children:(0,s.jsx)(N.RM,{children:(null===(a=em.getRowModel().rows)||void 0===a?void 0:a.length)?em.getRowModel().rows.map(e=>(0,s.jsx)(N.SC,{className:(0,y.cn)(P===e.original.id?"bg-secondary dark:text-white":""),"data-state":e.getIsSelected()&&"selected",children:e.getVisibleCells().map((t,a)=>a>0?(0,s.jsx)(N.pj,{className:"cursor-pointer",onClick:()=>{ep(e.original.id)},children:(0,o.ie)(t.column.columnDef.cell,t.getContext())},t.id):(0,s.jsx)(N.pj,{children:(0,o.ie)(t.column.columnDef.cell,t.getContext())},t.id))},e.id)):(0,s.jsx)(N.SC,{children:(0,s.jsx)(N.pj,{colSpan:C.length,className:"h-24 text-center",children:"No results."})})})})})})}),(0,s.jsxs)("div",{className:"flex items-center justify-between px-2 pb-2",children:[(0,s.jsxs)("div",{className:"flex-1 text-sm text-muted-foreground",children:[em.getFilteredSelectedRowModel().rows.length," of"," ",em.getFilteredRowModel().rows.length," row(s) selected (total"," ",null==ea?void 0:ea.pageInfo.itemCount," items)."]}),(0,s.jsx)("div",{className:"flex items-center space-x-6 lg:space-x-8",children:(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsxs)(h.z,{variant:"outline",className:"hidden size-8 p-0 lg:flex",onClick:()=>{eh({page:1,search:null!=_?_:void 0})},disabled:!(null==ea?void 0:ea.pageInfo.hasPreviousPage),children:[(0,s.jsx)("span",{className:"sr-only",children:"Go to first page"}),(0,s.jsx)(r.kRt,{className:"size-4"})]}),(0,s.jsxs)(h.z,{variant:"outline",className:"size-8 p-0",onClick:()=>{console.log("itemsData.data?.pageInfo.hasPreviousPage",null==ea?void 0:ea.pageInfo.hasPreviousPage),eh({page:(null==ea?void 0:ea.pageInfo.hasPreviousPage)?O-1:void 0,search:null!=_?_:void 0})},disabled:!(null==ea?void 0:ea.pageInfo.hasPreviousPage)||Y,children:[(0,s.jsx)("span",{className:"sr-only",children:"Go to previous page"}),(0,s.jsx)(r.wyc,{className:"size-4"})]}),(0,s.jsxs)(h.z,{variant:"outline",className:"size-8 p-0",onClick:()=>{eh({page:(null==ea?void 0:ea.pageInfo.hasNextPage)?O+1:void 0,search:null!=_?_:void 0})},disabled:!(null==ea?void 0:ea.pageInfo.hasNextPage)||Y,children:[(0,s.jsx)("span",{className:"sr-only",children:"Go to next page"}),(0,s.jsx)(r.XCv,{className:"size-4"})]})]})})]})]})]})}var M=a(35974),D=a(41905),O=a(23374);let Z=e=>{let{className:t,...a}=e;return(0,s.jsx)(O.eh,{className:(0,y.cn)("flex h-full w-full data-[panel-group-direction=vertical]:flex-col",t),...a})},_=O.s_,E=e=>{let{withHandle:t,className:a,...l}=e;return(0,s.jsx)(O.OT,{className:(0,y.cn)("relative flex w-px items-center justify-center bg-border after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-1 data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:-translate-y-1/2 data-[panel-group-direction=vertical]:after:translate-x-0 [&[data-panel-group-direction=vertical]>div]:rotate-90",a),...l,children:t&&(0,s.jsx)("div",{className:"z-10 flex h-4 w-3 items-center justify-center rounded-sm border bg-border",children:(0,s.jsx)(D.Z,{className:"size-2.5"})})})};var F=a(6512),q=a(12339),V=a(81103),L=a(45675),U=a(32660),X=a(15001),G=a(14924),W=a(45554),H=a(42833),B=a(98728),J=a(36399),Q=a(27648);let Y=e=>{let{index:t,folder:a,edit:l,indented:r,children:n}=e;return(0,s.jsxs)("div",{className:"flex flex-col ",children:[(0,s.jsxs)("div",{className:(0,y.cn)((0,h.d)({variant:a.variant,size:"sm"}),r?"pl-5":null,a.active?"dark:bg-muted dark:text-white dark:hover:bg-muted dark:hover:text-white":null,"justify-start"),children:[(0,s.jsxs)(Q.default,{className:"flex",href:a.href||"",children:[(0,s.jsx)(a.icon,{className:"mr-2 size-4"}),!a.icon&&a.label,null!==a.icon&&(0,s.jsx)("span",{className:(0,y.cn)("ml-0 overflow-hidden text-ellipsis max-w-[170px]","default"===a.variant&&"text-background dark:text-white"),children:a.label})]},t),l&&(0,s.jsx)(L.Z,{onClick:()=>{l()},className:"ml-auto size-4 opacity-0 group-hover:opacity-100 transition-opacity cursor-pointer"})]}),(0,s.jsx)("div",{children:n})]})};var K=e=>{var t;let{activeFolder:a,activeArchived:l,activeSettings:r}=e,{data:n,loading:i,error:o}=(0,J.t)();return(0,s.jsx)(s.Fragment,{children:(0,s.jsxs)("div",{className:"group flex flex-col gap-4 py-2 data-[collapsed=true]:py-2 pb-5",children:[a?(0,s.jsx)("div",{className:"flex items-center gap-2",children:(0,s.jsx)(h.z,{variant:"link",size:"sm",asChild:!0,children:(0,s.jsxs)(Q.default,{href:"/data",children:[(0,s.jsx)(U.Z,{className:"size-4"}),(0,s.jsx)("span",{className:"ml-2",children:"Back to dashboard"})]})})}):(0,s.jsx)("div",{className:"flex items-center gap-2",children:(0,s.jsx)("span",{className:"text-sm text-muted-foreground ml-5 pt-3",children:"Select a context:"})}),(0,s.jsx)("nav",{className:"grid gap-1 px-2 group-[[data-collapsed=true]]:justify-center group-[[data-collapsed=true]]:px-2",children:i?(0,s.jsx)(Y,{index:111,folder:{label:"Loading...",active:!1,icon:X.Z,variant:"ghost"}}):null==n?void 0:null===(t=n.contexts)||void 0===t?void 0:t.items.map((e,t)=>(0,s.jsx)(Y,{index:t,folder:{label:"".concat(e.name),icon:G.Z,variant:"ghost",href:"/data/".concat(e.id)},children:(null==a?void 0:a.toLowerCase())==="".concat(e.id).toLowerCase()&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(Y,{index:t,indented:!0,folder:{label:"Active data",active:(null==a?void 0:a.toLowerCase())==="".concat(e.id).toLowerCase()&&!l&&!r,icon:W.Z,variant:(null==a?void 0:a.toLowerCase())!=="".concat(e.id).toLowerCase()||l||r?"ghost":"default",href:"/data/".concat(e.id)}}),(0,s.jsx)(Y,{index:t+1e3,indented:!0,folder:{label:"Archived data",active:l,icon:H.Z,variant:l?"default":"ghost",href:"/data/".concat(e.id,"/archived")}}),(0,s.jsx)(Y,{index:t+1e3,indented:!0,folder:{label:"Settings",active:r,icon:B.Z,variant:r?"default":"ghost",href:"/data/".concat(e.id,"/settings")}})]})},e.id))})]},a+l+r)})};function $(e){let{children:t,params:a}=e,l=a.query&&"archived"===a.query[1],r=a.query&&"settings"===a.query[1],n=a.query&&a.query[0],i=null;return a.query&&l?i=a.query[2]||null:a.query&&!r&&(i=a.query[1]||null),(0,s.jsx)(V.pn,{delayDuration:0,children:(0,s.jsxs)(Z,{direction:"horizontal",onLayout:e=>{document.cookie="react-resizable-panels:layout=".concat(JSON.stringify(e))},className:"h-full items-stretch",children:[(0,s.jsxs)(_,{defaultSize:15,collapsedSize:4,collapsible:!0,minSize:15,maxSize:20,children:[(0,s.jsx)(F.Z,{}),(0,s.jsx)(K,{activeFolder:n,activeArchived:l,activeSettings:r}),(0,s.jsx)(F.Z,{}),(0,s.jsx)("div",{className:"p-3 opacity-50",children:(0,s.jsxs)(k.bZ,{variant:"default",children:[(0,s.jsx)(M.C,{className:"mb-2",variant:"secondary",children:"coming soon"}),(0,s.jsx)(k.Cd,{children:"Custom views"}),(0,s.jsx)(k.X,{children:"Will enable you to store filter settings."})]})})]}),n&&!r&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(E,{withHandle:!0}),(0,s.jsx)(_,{defaultSize:20,minSize:20,children:(0,s.jsxs)(q.mQ,{defaultValue:"all",children:[(0,s.jsx)("div",{className:"flex items-center px-4 py-2 h-full",children:(0,s.jsx)("h1",{className:"text-xl font-bold",children:"Items"})}),(0,s.jsx)(F.Z,{}),(0,s.jsx)(T,{activeFolder:n,activeItem:null!=i?i:void 0,archived:l})]})})]}),(0,s.jsx)(E,{withHandle:!0}),(0,s.jsx)(_,{defaultSize:65,children:(0,s.jsx)("div",{className:"max-h-full overflow-y-auto",children:t})})]})})}},65613:function(e,t,a){"use strict";a.d(t,{Cd:function(){return c},X:function(){return d},bZ:function(){return o}});var s=a(57437),l=a(90535),r=a(2265),n=a(94508);let i=(0,l.j)("relative w-full rounded-lg border p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground",{variants:{variant:{default:"bg-background text-foreground",destructive:"border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive",info:"border-info/50 text-info dark:border-info [&>svg]:text-info"}},defaultVariants:{variant:"default"}}),o=r.forwardRef((e,t)=>{let{className:a,variant:l,...r}=e;return(0,s.jsx)("div",{ref:t,role:"alert",className:(0,n.cn)(i({variant:l}),a),...r})});o.displayName="Alert";let c=r.forwardRef((e,t)=>{let{className:a,...l}=e;return(0,s.jsx)("h5",{ref:t,className:(0,n.cn)("mb-1 font-medium leading-none tracking-tight",a),...l})});c.displayName="AlertTitle";let d=r.forwardRef((e,t)=>{let{className:a,...l}=e;return(0,s.jsx)("div",{ref:t,className:(0,n.cn)("text-sm [&_p]:leading-relaxed",a),...l})});d.displayName="AlertDescription"},35974:function(e,t,a){"use strict";a.d(t,{C:function(){return i}});var s=a(57437),l=a(90535);a(2265);var r=a(94508);let n=(0,l.j)("inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function i(e){let{className:t,variant:a,...l}=e;return(0,s.jsx)("div",{className:(0,r.cn)(n({variant:a}),t),...l})}},19060:function(e,t,a){"use strict";a.d(t,{X:function(){return o}});var s=a(57437),l=a(9270),r=a(30401),n=a(2265),i=a(94508);let o=n.forwardRef((e,t)=>{let{className:a,...n}=e;return(0,s.jsx)(l.fC,{ref:t,className:(0,i.cn)("peer h-4 w-4 shrink-0 rounded-sm border border-primary ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground",a),...n,children:(0,s.jsx)(l.z$,{className:(0,i.cn)("flex items-center justify-center text-current"),children:(0,s.jsx)(r.Z,{className:"size-4"})})})});o.displayName=l.fC.displayName},10492:function(e,t,a){"use strict";a.d(t,{g:function(){return r}});var s=a(57437),l=a(94508);let r=e=>{let{className:t}=e;return(0,s.jsxs)("svg",{"aria-hidden":"true",role:"status",className:(0,l.cn)("inline w-4 h-4 text-white animate-spin fill-inherit",t),viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,s.jsx)("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",className:"fill-inherit opacity-20"}),(0,s.jsx)("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",className:"fill-inherit"})]})}},19378:function(e,t,a){"use strict";a.d(t,{B:function(){return o},x:function(){return i}});var s=a(57437),l=a(14488),r=a(2265),n=a(94508);let i=r.forwardRef((e,t)=>{let{className:a,children:r,...i}=e;return(0,s.jsxs)(l.fC,{ref:t,className:(0,n.cn)("relative overflow-hidden",a),...i,children:[(0,s.jsx)(l.l_,{className:"size-full rounded-[inherit]",children:r}),(0,s.jsx)(o,{}),(0,s.jsx)(l.Ns,{})]})});i.displayName=l.fC.displayName;let o=r.forwardRef((e,t)=>{let{className:a,orientation:r="vertical",...i}=e;return(0,s.jsx)(l.gb,{ref:t,orientation:r,className:(0,n.cn)("flex touch-none select-none transition-colors","vertical"===r&&"h-full w-2.5 border-l border-l-transparent p-[1px]","horizontal"===r&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",a),...i,children:(0,s.jsx)(l.q4,{className:"relative flex-1 rounded-full bg-border"})})});o.displayName=l.gb.displayName},73578:function(e,t,a){"use strict";a.d(t,{RM:function(){return o},Rn:function(){return f},SC:function(){return c},iA:function(){return n},pj:function(){return u},ss:function(){return d},xD:function(){return i}});var s=a(57437),l=a(2265),r=a(94508);let n=l.forwardRef((e,t)=>{let{className:a,...l}=e;return(0,s.jsx)("div",{className:"relative w-full overflow-auto",children:(0,s.jsx)("table",{ref:t,className:(0,r.cn)("w-full caption-bottom text-sm",a),...l})})});n.displayName="Table";let i=l.forwardRef((e,t)=>{let{className:a,...l}=e;return(0,s.jsx)("thead",{ref:t,className:(0,r.cn)("[&_tr]:border-b",a),...l})});i.displayName="TableHeader";let o=l.forwardRef((e,t)=>{let{className:a,...l}=e;return(0,s.jsx)("tbody",{ref:t,className:(0,r.cn)("[&_tr:last-child]:border-0",a),...l})});o.displayName="TableBody",l.forwardRef((e,t)=>{let{className:a,...l}=e;return(0,s.jsx)("tfoot",{ref:t,className:(0,r.cn)("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",a),...l})}).displayName="TableFooter";let c=l.forwardRef((e,t)=>{let{className:a,...l}=e;return(0,s.jsx)("tr",{ref:t,className:(0,r.cn)("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",a),...l})});c.displayName="TableRow";let d=l.forwardRef((e,t)=>{let{className:a,...l}=e;return(0,s.jsx)("th",{ref:t,className:(0,r.cn)("h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0 [&:has([role=checkbox])]:w-[40px]",a),...l})});d.displayName="TableHead";let u=l.forwardRef((e,t)=>{let{className:a,...l}=e;return(0,s.jsx)("td",{ref:t,className:(0,r.cn)("p-4 align-middle [&:has([role=checkbox])]:pr-0 [&:has([role=checkbox])]:w-[40px]",a),...l})});u.displayName="TableCell";let f=l.forwardRef((e,t)=>{let{className:a,...l}=e;return(0,s.jsx)("caption",{ref:t,className:(0,r.cn)("mt-4 text-sm text-muted-foreground",a),...l})});f.displayName="TableCaption"},12339:function(e,t,a){"use strict";a.d(t,{SP:function(){return c},dr:function(){return o},mQ:function(){return i},nU:function(){return d}});var s=a(57437),l=a(20271),r=a(2265),n=a(94508);let i=l.fC,o=r.forwardRef((e,t)=>{let{className:a,...r}=e;return(0,s.jsx)(l.aV,{ref:t,className:(0,n.cn)("inline-flex h-10 items-center justify-center rounded-md bg-muted p-1 text-muted-foreground",a),...r})});o.displayName=l.aV.displayName;let c=r.forwardRef((e,t)=>{let{className:a,...r}=e;return(0,s.jsx)(l.xz,{ref:t,className:(0,n.cn)("inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm",a),...r})});c.displayName=l.xz.displayName;let d=r.forwardRef((e,t)=>{let{className:a,...r}=e;return(0,s.jsx)(l.VY,{ref:t,className:(0,n.cn)("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",a),...r})});d.displayName=l.VY.displayName},77992:function(e,t,a){"use strict";a.d(t,{Am:function(){return u},pm:function(){return f}});var s=a(2265);let l=0,r=new Map,n=e=>{if(r.has(e))return;let t=setTimeout(()=>{r.delete(e),d({type:"REMOVE_TOAST",toastId:e})},1e6);r.set(e,t)},i=(e,t)=>{switch(t.type){case"ADD_TOAST":return{...e,toasts:[t.toast,...e.toasts].slice(0,1)};case"UPDATE_TOAST":return{...e,toasts:e.toasts.map(e=>e.id===t.toast.id?{...e,...t.toast}:e)};case"DISMISS_TOAST":{let{toastId:a}=t;return a?n(a):e.toasts.forEach(e=>{n(e.id)}),{...e,toasts:e.toasts.map(e=>e.id===a||void 0===a?{...e,open:!1}:e)}}case"REMOVE_TOAST":if(void 0===t.toastId)return{...e,toasts:[]};return{...e,toasts:e.toasts.filter(e=>e.id!==t.toastId)}}},o=[],c={toasts:[]};function d(e){c=i(c,e),o.forEach(e=>{e(c)})}function u(e){let{...t}=e,a=(l=(l+1)%Number.MAX_SAFE_INTEGER).toString(),s=()=>d({type:"DISMISS_TOAST",toastId:a});return d({type:"ADD_TOAST",toast:{...t,id:a,open:!0,onOpenChange:e=>{e||s()}}}),{id:a,dismiss:s,update:e=>d({type:"UPDATE_TOAST",toast:{...e,id:a}})}}function f(){let[e,t]=s.useState(c);return s.useEffect(()=>(o.push(t),()=>{let e=o.indexOf(t);e>-1&&o.splice(e,1)}),[e]),{...e,toast:u,dismiss:e=>d({type:"DISMISS_TOAST",toastId:e})}}},36399:function(e,t,a){"use strict";a.d(t,{t:function(){return r}});var s=a(27689),l=a(7211);let r=()=>(0,l.aM)(s.uw,{variables:{limit:20}})}},function(e){e.O(0,[8310,9851,7629,7093,6148,847,1942,7648,7823,8068,5799,4567,605,85,4957,7398,3825,3397,1594,7107,5585,6373,3832,2971,2117,1744],function(){return e(e.s=21016)}),_N_E=e.O()}]);
2
- //# sourceMappingURL=layout-822dad4cb57f62e2.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"static/chunks/app/(application)/data/[[...query]]/layout-822dad4cb57f62e2.js","mappings":"qFAAAA,QAAAC,OAAA,GAAAC,IAAA,CAAAC,EAAAC,IAAA,CAAAD,EAAA,4UCMO,IAAME,EAA4B,CACvC,CACEC,GAAI,SACJC,OAAQ,OAAC,CAAEC,MAAAA,CAAK,CAAE,CAAAC,QAChB,GAAAC,EAAAC,GAAA,EAACC,EAAAA,CAAQA,CAAAA,CACPC,QACEL,EAAMM,wBAAwB,IAC7BN,EAAMO,yBAAyB,IAAM,gBAExCC,gBAAiB,GAAWR,EAAMS,yBAAyB,CAAC,CAAC,CAACC,GAC9DC,aAAW,aACXC,UAAU,uBAGdC,KAAM,OAAC,CAAEC,IAAAA,CAAG,CAAE,CAAAb,QACZ,GAAAC,EAAAC,GAAA,EAACC,EAAAA,CAAQA,CAAAA,CACPC,QAASS,EAAIC,aAAa,GAC1BP,gBAAiB,GAAWM,EAAIE,cAAc,CAAC,CAAC,CAACN,GACjDC,aAAW,aACXC,UAAU,oCAGdK,cAAe,GACfC,aAAc,EAChB,EAOA,CACEC,YAAa,cACbN,KAAM,OAAC,CAAEC,IAAAA,CAAG,CAAE,CAAAb,EAIZ,OADAmB,QAAQC,GAAG,CAAC,WAAYP,EAAIQ,QAAQ,EAElC,GAAApB,EAAAqB,IAAA,EAACC,MAAAA,CAAIZ,UAAU,8CAEb,GAAAV,EAAAC,GAAA,EAACsB,OAAAA,CAAKb,UAAU,qDACbE,EAAIQ,QAAQ,CAACI,IAAI,CACdZ,EAAIQ,QAAQ,CAACI,IAAI,CACjBZ,EAAIQ,QAAQ,CAACK,IAAI,CAACC,KAAK,CAAC,EAAG,MAAQ,aAEzC,GAAA1B,EAAAC,GAAA,EAAC0B,QAAAA,CAAMjB,UAAU,gBACdkB,CAAAA,EAAAA,EAAAA,EAAAA,EAAO,IAAIC,KAAKjB,EAAIQ,QAAQ,CAACU,SAAS,EAAG,UAIlD,CACF,EACD,iDC7CM,SAASC,EAAUhC,CAIT,KAJS,CACxBiC,SAAAA,EAAW,GAAWd,QAAQC,GAAG,CAAC,iBAAuBc,MAAA,CAANC,GAAQ,CAC3DC,YAAAA,EAAc,WAAW,CACzBzB,UAAAA,EAAY,EAAE,CACC,CAJSX,EAKlB,CAACmC,EAAOE,EAAS,CAAGC,CAAAA,EAAAA,EAAAA,QAAAA,EAAS,IAYnC,MACE,GAAArC,EAAAC,GAAA,EAACqC,OAAAA,CAAKC,SAXa,IACnBC,EAAEC,cAAc,GAChBT,EAASE,EACX,EAQgCxB,UAAW,YAAsBuB,MAAA,CAAVvB,YACnD,GAAAV,EAAAqB,IAAA,EAACC,MAAAA,CAAIZ,UAAU,8CACb,GAAAV,EAAAC,GAAA,EAACyC,EAAAA,CAAMA,CAAAA,CAAChC,UAAU,kDAClB,GAAAV,EAAAC,GAAA,EAAC0C,EAAAA,CAAKA,CAAAA,CACJC,KAAK,OACLT,YAAaA,EACb3B,MAAO0B,EACPW,SAAU,GAAOT,EAASI,EAAEM,MAAM,CAACtC,KAAK,EACxCE,UAAU,cACVD,aAAW,iBAEZyB,GACC,GAAAlC,EAAAqB,IAAA,EAAArB,EAAA+C,QAAA,YACE,GAAA/C,EAAAC,GAAA,EAACsB,OAAAA,CAAKb,UAAU,2DAAkD,kBAClE,GAAAV,EAAAC,GAAA,EAAC+C,EAAAA,CAAMA,CAAAA,CACLJ,KAAK,SACLK,QAAQ,QACRC,KAAK,OACLxC,UAAU,yCACVyC,QAzBQ,KAClBf,EAAS,IACTJ,EAAS,GACX,EAuBYvB,aAAW,wBAEX,GAAAT,EAAAC,GAAA,EAACmD,EAAAA,CAACA,CAAAA,CAAC1C,UAAU,qBAO3B,gBCIO,SAAS2C,EAAStD,CAQxB,MAuFkBuD,EA4OsBxD,EA7O2BwD,EACjDA,KA/FM,CACrBC,aAAAA,CAAY,CACZC,WAAAA,CAAU,CACVC,SAAAA,CAAQ,CAKX,CARwB1D,EAUf2D,EAAOC,CAAAA,EAAAA,EAAAA,WAAAA,IACPC,EAASC,CAAAA,EAAAA,EAAAA,eAAAA,IACT,CAACC,EAAMC,EAAQ,CAAG1B,CAAAA,EAAAA,EAAAA,QAAAA,EAASuB,EAAOI,GAAG,CAAC,QAAUC,SAASL,EAAOI,GAAG,CAAC,SAAY,GAChFE,EAASN,EAAOI,GAAG,CAAC,UACpB,CAAEG,KAAAA,CAAI,CAAE,CAAGC,CAAAA,EAAAA,EAAAA,UAAAA,EAAWC,EAAAA,CAAWA,EACjC,CAAEC,MAAAA,CAAK,CAAE,CAAGC,CAAAA,EAAAA,EAAAA,EAAAA,IACZ,CAACC,EAASC,EAAW,CAAGpC,CAAAA,EAAAA,EAAAA,QAAAA,EAAc,CAAE,GAAG8B,EAAKK,OAAO,GAEvDE,EAASC,CAAAA,EAAAA,EAAAA,SAAAA,IAET,CAACC,EAAcC,EAAgB,CAAGC,EAAAA,QAAc,CAAC,CAAC,GAElD,CAACC,EAAkBC,EAAoB,CACzCF,EAAAA,QAAc,CAAkB,CAAC,GAE/B,CAACG,EAAeC,EAAiB,CAAGJ,EAAAA,QAAc,CACpD,EAAE,EAEA,CAACK,EAASC,EAAW,CAAGN,EAAAA,QAAc,CAAe,EAAE,EAEzD,CAAEO,QAAAA,CAAO,CAAE/B,KAAMgC,CAAG,CAAEC,QAAAA,CAAO,CAAEC,aAAcC,EAAI,CAAEC,MAAAA,EAAK,CAAE,CAAGC,CAAAA,EAAAA,EAAAA,EAAAA,EAW9DC,CAAAA,EAAAA,EAAAA,EAAAA,EAAUrC,EAAc,EAAE,EAAG,CAC5BsC,YAAa,WACbC,gBAAiB,eACjBC,UAAW,CACPC,QAASzC,EACTO,KAAMA,MAAAA,EAAAA,EAAQ,EACdmC,MAAO,GACPC,KAAM,CACFC,MAAO,YACPC,UAAW,MACf,EACAC,QAAS,CACL5C,SAAU,CACN6C,GAAI7C,CACR,EACA,GAAIS,EAAS,CAAE1C,KAAM,CAAE+E,SAAU,GAAUtE,MAAA,CAAPiC,EAAS,CAAE,EAAI,CAAC,CAAC,CAE7D,CACJ,GAEMZ,GAAOgC,MAAAA,EAAAA,KAAAA,EAAAA,CAAK,CAAC/B,EAAeiD,EAAAA,EAAkBA,CAAC,CAC/ChB,GAAeC,MAAAA,GAAAA,KAAAA,EAAAA,EAAM,CAAClC,EAAeiD,EAAAA,EAAkBA,CAAC,CAExD,CAACC,GAAoBC,GAAyB,CAAGC,CAAAA,EAAAA,EAAAA,CAAAA,EAYpDC,CAAAA,EAAAA,EAAAA,EAAAA,EAAYrD,GAAe,CAC1BsD,YAAa,KACTtB,GACJ,CACJ,GAEM,CAACuB,GAAoBC,GAAyB,CAAGJ,CAAAA,EAAAA,EAAAA,CAAAA,EAEpDK,CAAAA,EAAAA,EAAAA,EAAAA,EAAYzD,EAAc,EAAE,EAAG,CAC9BsD,YAAa,KACTtB,GACJ,CACJ,GAEM0B,GAAcnC,EAAAA,OAAa,CAAC,IAAM,EAAE,CAAE,EAAE,EACxC,CAAEmB,MAAAA,EAAK,CAAEiB,mBAAAA,EAAkB,CAAEC,KAAAA,EAAI,CAAEC,WAAAA,EAAU,CAAE,CAAGC,WAzGxD,GAAM,CAACD,EAAYE,EAAc,CAAGjF,CAAAA,EAAAA,EAAAA,QAAAA,EAAS,CACzCkF,SAAU,EACVC,UAAW,CACf,GACM,CAAED,SAAAA,CAAQ,CAAEC,UAAAA,CAAS,CAAE,CAAGJ,EAEhC,MAAO,CACHnB,MAAOsB,EACPL,mBAAoBI,EACpBF,WAAAA,EACAD,KAAMI,EAAWC,CACrB,CACJ,IA+FU1H,GAAQ2H,CAAAA,EAAAA,EAAAA,EAAAA,EAAc,CACxBnE,KAAM+B,GAAWG,CAAAA,MAAAA,GAAAA,KAAAA,EAAAA,GAAckC,KAAK,EAAGlC,GAAakC,KAAK,CAAGpE,OAAAA,CAAAA,EAAAA,MAAAA,GAAAA,KAAAA,EAAAA,GAAMoE,KAAK,GAAXpE,KAAAA,IAAAA,EAAAA,EAAe2D,GAC3EU,UAAWrE,OAAAA,CAAAA,EAAAA,MAAAA,GAAAA,KAAAA,EAAAA,OAAAA,CAAAA,EAAAA,GAAMsE,QAAQ,GAAdtE,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAgBqE,SAAS,GAAzBrE,KAAAA,IAAAA,EAAAA,EAA6B,GACxC3D,QAAOA,EACPkI,MAAO,CACH1C,QAAAA,EACAJ,iBAAAA,EACAH,aAAAA,EACAK,cAAAA,CACJ,EACA6C,mBAAoB,GACpBC,qBAAsBlD,EACtBmD,gBAAiB5C,EACjB6C,sBAAuB/C,EACvBgD,yBAA0BlD,EAC1BmD,gBAAiBA,CAAAA,EAAAA,EAAAA,EAAAA,IACjBC,oBAAqBA,CAAAA,EAAAA,EAAAA,EAAAA,IACrBC,sBAAuBA,CAAAA,EAAAA,EAAAA,EAAAA,IACvBC,kBAAmBA,CAAAA,EAAAA,EAAAA,EAAAA,IACnBC,mBAAoBA,CAAAA,EAAAA,EAAAA,EAAAA,IACpBC,uBAAwBA,CAAAA,EAAAA,EAAAA,EAAAA,IACxBC,iBAAkB,GAClBvB,mBAAAA,EACJ,GAEM,CAACwB,GAAoBC,GAAyB,CAAGhC,CAAAA,EAAAA,EAAAA,CAAAA,EAOpDiC,CAAAA,EAAAA,EAAAA,EAAAA,EAAYrF,GAAe,CAC1BsD,YAAa,QAESvD,EAAAA,EADlBpC,QAAQC,GAAG,CAAC,OAAQmC,GACpB,IAAM1D,EAAK0D,EAAAA,OAAOA,CAAAA,EAAAA,CAAI,CAACC,EAAesF,EAAAA,EAAkBA,CAAC,GAAvCvF,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,OAAAA,CAAAA,EAAAA,EAAyCwF,IAAI,GAA7CxF,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA+C1D,EAAE,CAAGmJ,KAAAA,EAClEnJ,GACA8E,EAAOsE,IAAI,CAAC,SAAyBpJ,MAAAA,CAAhB2D,EAAa,KAAMtB,MAAA,CAAHrC,IAEzC2F,GACJ,CACJ,GAEM0D,GAAY,OAAC,CACfnF,KAAAA,CAAI,CACJI,OAAAA,CAAM,CAIT,CAAAnE,EACGgE,EAAQD,MAAAA,EAAAA,EAAQ,GAChB,IAAMF,EAAS,IAAIsF,gBACfpF,GACAF,EAAOuF,GAAG,CAAC,OAAQrF,EAAKsF,QAAQ,IAEhClF,GACAN,EAAOuF,GAAG,CAAC,SAAUjF,GAEzBQ,EAAOsE,IAAI,CAAC,GAAWpF,MAAAA,CAARF,EAAK,KAAqBzB,MAAA,CAAlB2B,EAAOwF,QAAQ,IAC1C,EAEMC,GAAa,IACX5F,EACAiB,EAAOsE,IAAI,CAAC,SAAkCpJ,MAAAA,CAAzB2D,EAAa,cAAkBK,MAAAA,CAANhE,EAAG,KAAqBqC,MAAA,CAAlB2B,EAAOwF,QAAQ,KAEnE1E,EAAOsE,IAAI,CAAC,SAAyBpJ,MAAAA,CAAhB2D,EAAa,KAASK,MAAAA,CAANhE,EAAG,KAAqBqC,MAAA,CAAlB2B,EAAOwF,QAAQ,IAElE,SAEA,GAAkB,GAAApJ,EAAAqB,IAAA,EAACiI,EAAAA,EAAKA,CAAAA,CAAC5I,UAAU,MAAMuC,QAAQ,wBAC7C,GAAAjD,EAAAC,GAAA,EAACsJ,EAAAA,GAAuBA,CAAAA,CAAC7I,UAAU,WACnC,GAAAV,EAAAC,GAAA,EAACuJ,EAAAA,EAAUA,CAAAA,UAAC,UACZ,GAAAxJ,EAAAC,GAAA,EAACwJ,EAAAA,CAAgBA,CAAAA,UACZ/D,CAAAA,MAAAA,GAAAA,KAAAA,EAAAA,GAAOgE,OAAO,GAAI,iBAKvB,GAAA1J,EAAAqB,IAAA,EAAArB,EAAA+C,QAAA,YACI,GAAA/C,EAAAqB,IAAA,EAACC,MAAAA,CACGZ,UAAU,+JACV,GAAAV,EAAAC,GAAA,EAACC,EAAAA,CAAQA,CAAAA,CACLC,QACIL,GAAMM,wBAAwB,IAC7BN,GAAMO,yBAAyB,IAAM,gBAE1CC,gBAAiB,GAAWR,GAAMS,yBAAyB,CAAC,CAAC,CAACC,GAC9DC,aAAW,aACXC,UAAU,mCAEd,GAAAV,EAAAC,GAAA,EAACqB,MAAAA,CAAIZ,UAAU,oBACX,GAAAV,EAAAC,GAAA,EAAC8B,EAASA,CAACC,SAAU,IACjBiH,GAAU,CACNnF,KAAM,EACNI,OAAQhC,CACZ,EACJ,MAEJ,GAAAlC,EAAAC,GAAA,EAAC+C,EAAAA,CAAMA,CAAAA,CACHG,QAAS,KACLuF,GAAmB,CACf3C,UAAW,CACP4D,MAAO,CACHnI,KAAM,WACNoI,OAAQ,SACRC,WAAY,EACZrF,QAASA,EAAQ5E,EAAE,CAE3B,CACJ,EACJ,EACAkK,SAAUnB,GAAyBtD,OAAO,EAAI5B,EAC9C/C,UAAU,gCACTiI,GAAyBtD,OAAO,CAAG,GAAArF,EAAAC,GAAA,EAAC8J,EAAAA,CAAOA,CAAAA,CAAAA,GAAM,GAAA/J,EAAAC,GAAA,EAAC+J,EAAAA,CAAIA,CAAAA,CAAC9G,KAAM,UAGrEpD,GAAMmK,qBAAqB,IAAMnK,GAAMoK,oBAAoB,GACxD,GAAAlK,EAAAC,GAAA,EAACqB,MAAAA,CAAIZ,UAAU,0BACV+C,EACG,GAAAzD,EAAAqB,IAAA,EAAArB,EAAA+C,QAAA,YACI,GAAA/C,EAAAqB,IAAA,EAAC2B,EAAAA,CAAMA,CAAAA,CACHtC,UAAU,OACVyC,QAAS,KACL,IAAMgH,EAAkB,EAAE,CAC1BrK,GAAMsK,mBAAmB,GAAGC,IAAI,CAACC,OAAO,CAAC,IACrCH,EAASnB,IAAI,CACTvC,GAAmB,CACfV,UAAW,CACPnG,GAAIgB,EAAIQ,QAAQ,CAACxB,EAAE,CACnB+J,MAAO,CAAElG,SAAU,EAAM,CAC7B,CACJ,GAER,GACAnE,QAAQiL,GAAG,CAACJ,GAAU3K,IAAI,CAAC,KACvBM,GAAM0K,iBAAiB,GACvBlG,EAAM,CACFmG,MAAO,mBACPC,YACI,iBAAmBP,EAASQ,MAAM,CAAG,SAC7C,EACJ,EACJ,EACA1H,QAAQ,YACR6G,SAAUpD,GAAyBrB,OAAO,WACzCqB,GAAyBrB,OAAO,CAC7B,GAAArF,EAAAC,GAAA,EAAC8J,EAAAA,CAAOA,CAAAA,CAAAA,GAER,GAAA/J,EAAAC,GAAA,EAAC2K,EAAAA,CAAWA,CAAAA,CAAClK,UAAU,WAE3B,GAAAV,EAAAC,GAAA,EAACsB,OAAAA,CAAKb,UAAU,gBAAO,0BAE3B,GAAAV,EAAAqB,IAAA,EAAC2B,EAAAA,CAAMA,CAAAA,CACHtC,UAAU,OACVyC,QAAS,KACL,IAAMgH,EAAkB,EAAE,CAC1BrK,GAAMsK,mBAAmB,GAAGC,IAAI,CAACC,OAAO,CAAC,IACrCH,EAASnB,IAAI,CACTlC,GAAmB,CACff,UAAW,CACPC,QAASzC,EACT3D,GAAIgB,EAAIQ,QAAQ,CAACxB,EAAE,CAE3B,GAER,GACAN,QAAQiL,GAAG,CAACJ,GAAU3K,IAAI,CAAC,KACvBM,GAAM0K,iBAAiB,GACvBlG,EAAM,CACFmG,MAAO,gBACPC,YAAa,cAAgBP,EAASQ,MAAM,CAAG,SACnD,EACJ,EACJ,EACA1H,QAAQ,YACR6G,SAAU/C,GAAyB1B,OAAO,WACzC0B,GAAyB1B,OAAO,CAC7B,GAAArF,EAAAC,GAAA,EAAC8J,EAAAA,CAAOA,CAAAA,CAAAA,GAER,GAAA/J,EAAAC,GAAA,EAAC4K,EAAAA,CAAMA,CAAAA,CAACnK,UAAU,WAEtB,GAAAV,EAAAC,GAAA,EAACsB,OAAAA,CAAKb,UAAU,gBAAO,0BAI/B,GAAAV,EAAAqB,IAAA,EAAC2B,EAAAA,CAAMA,CAAAA,CACHtC,UAAU,OACVyC,QAAS,KACL,IAAMgH,EAAkB,EAAE,CAC1BrK,GAAMsK,mBAAmB,GAAGC,IAAI,CAACC,OAAO,CAAC,QAIrB1J,EAHhBuJ,EAASnB,IAAI,CACTvC,GAAmB,CACfV,UAAW,CACPnG,GAAE,OAAEgB,CAAAA,EAAAA,EAAIQ,QAAQ,GAAZR,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAchB,EAAE,CACpB+J,MAAO,CAAElG,SAAU,EAAK,CAC5B,CACJ,GAER,GACAnE,QAAQiL,GAAG,CAACJ,GAAU3K,IAAI,CAAC,KACvBM,GAAM0K,iBAAiB,GACvBlG,EAAM,CACFmG,MAAO,iBACPC,YAAa,eAAiBP,EAASQ,MAAM,CAAG,SACpD,EACJ,EACJ,EACA1H,QAAQ,YACR6G,SAAUpD,GAAyBrB,OAAO,WAEzCqB,GAAyBrB,OAAO,CAC7B,GAAArF,EAAAC,GAAA,EAAC8J,EAAAA,CAAOA,CAAAA,CAAAA,GAER,GAAA/J,EAAAC,GAAA,EAAC6K,EAAAA,CAAOA,CAAAA,CAACpK,UAAU,WAEvB,GAAAV,EAAAC,GAAA,EAACsB,OAAAA,CAAKb,UAAU,gBAAO,0BAInC,KACH2E,EACG,GAAArF,EAAAC,GAAA,EAAC8K,EAAAA,CAAUA,CAAAA,CAACrK,UAAU,oBAClB,GAAAV,EAAAqB,IAAA,EAACC,MAAAA,CAAIZ,UAAU,yCACX,GAAAV,EAAAC,GAAA,EAAC+K,EAAAA,CAAQA,CAAAA,CAACtK,UAAU,qCACpB,GAAAV,EAAAC,GAAA,EAAC+K,EAAAA,CAAQA,CAAAA,CAACtK,UAAU,qCACpB,GAAAV,EAAAC,GAAA,EAAC+K,EAAAA,CAAQA,CAAAA,CAACtK,UAAU,qCACpB,GAAAV,EAAAC,GAAA,EAAC+K,EAAAA,CAAQA,CAAAA,CAACtK,UAAU,qCACpB,GAAAV,EAAAC,GAAA,EAAC+K,EAAAA,CAAQA,CAAAA,CAACtK,UAAU,qCACpB,GAAAV,EAAAC,GAAA,EAAC+K,EAAAA,CAAQA,CAAAA,CAACtK,UAAU,qCAI5B,GAAAV,EAAAqB,IAAA,EAACC,MAAAA,CAAIZ,UAAU,uCACX,GAAAV,EAAAC,GAAA,EAAC8K,EAAAA,CAAUA,CAAAA,CAACrK,UAAU,yBAClB,GAAAV,EAAAC,GAAA,EAACqB,MAAAA,CAAIZ,UAAU,qBACX,GAAAV,EAAAC,GAAA,EAACqB,MAAAA,CAAIZ,UAAU,oBACX,GAAAV,EAAAC,GAAA,EAACgL,EAAAA,EAAKA,CAAAA,UACF,GAAAjL,EAAAC,GAAA,EAACiL,EAAAA,EAASA,CAAAA,UACLpL,CAAAA,OAAAA,CAAAA,EAAAA,GAAMqL,WAAW,GAAGd,IAAI,GAAxBvK,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA0B6K,MAAM,EAC7B7K,GAAMqL,WAAW,GAAGd,IAAI,CAACe,GAAG,CAAC,GACzB,GAAApL,EAAAC,GAAA,EAACoL,EAAAA,EAAQA,CAAAA,CAEL3K,UAAW4K,CAAAA,EAAAA,EAAAA,EAAAA,EACP9H,IAAe5C,EAAIQ,QAAQ,CAACxB,EAAE,CACxB,+BACA,IAEV2L,aAAY3K,EAAIC,aAAa,IAAM,oBAClCD,EAAI4K,eAAe,GAAGJ,GAAG,CAAC,CAACzK,EAAM8K,IAC9B,EAAY,EACA,GAAAzL,EAAAC,GAAA,EAACyL,EAAAA,EAASA,CAAAA,CAAChL,UAAU,iBAAiByC,QAAS,KACnDkG,GAAWzI,EAAIQ,QAAQ,CAACxB,EAAE,CAC9B,WACK+L,CAAAA,EAAAA,EAAAA,EAAAA,EACGhL,EAAKiL,MAAM,CAACC,SAAS,CAAClL,IAAI,CAC1BA,EAAKmL,UAAU,KAHfnL,EAAKf,EAAE,EAOP,GAAAI,EAAAC,GAAA,EAACyL,EAAAA,EAASA,CAAAA,UACbC,CAAAA,EAAAA,EAAAA,EAAAA,EACGhL,EAAKiL,MAAM,CAACC,SAAS,CAAClL,IAAI,CAC1BA,EAAKmL,UAAU,KAHCnL,EAAKf,EAAE,IAlBlCgB,EAAIhB,EAAE,GA6BnB,GAAAI,EAAAC,GAAA,EAACoL,EAAAA,EAAQA,CAAAA,UACL,GAAArL,EAAAC,GAAA,EAACyL,EAAAA,EAASA,CAAAA,CACNK,QAASpM,EAAQgL,MAAM,CACvBjK,UAAU,4BAET,4BASjC,GAAAV,EAAAqB,IAAA,EAACC,MAAAA,CAAIZ,UAAU,wDACX,GAAAV,EAAAqB,IAAA,EAACC,MAAAA,CAAIZ,UAAU,iDACVZ,GAAMkM,2BAA2B,GAAG3B,IAAI,CAACM,MAAM,CAAC,MAAI,IACpD7K,GAAMsI,mBAAmB,GAAGiC,IAAI,CAACM,MAAM,CAAC,0BAAwB,IAChErH,MAAAA,GAAAA,KAAAA,EAAAA,GAAMsE,QAAQ,CAACqE,SAAS,CAAC,cAE9B,GAAAjM,EAAAC,GAAA,EAACqB,MAAAA,CAAIZ,UAAU,oDACX,GAAAV,EAAAqB,IAAA,EAACC,MAAAA,CAAIZ,UAAU,wCACX,GAAAV,EAAAqB,IAAA,EAAC2B,EAAAA,CAAMA,CAAAA,CACHC,QAAQ,UACRvC,UAAU,4BACVyC,QAAS,KACL8F,GAAU,CACNnF,KAAM,EACNI,OAAQA,MAAAA,EAAAA,EAAU6E,KAAAA,CACtB,EACJ,EACAe,SAAU,CAACxG,CAAAA,MAAAA,GAAAA,KAAAA,EAAAA,GAAMsE,QAAQ,CAACsE,eAAe,YAEzC,GAAAlM,EAAAC,GAAA,EAACsB,OAAAA,CAAKb,UAAU,mBAAU,qBAC1B,GAAAV,EAAAC,GAAA,EAACkM,EAAAA,GAAmBA,CAAAA,CAACzL,UAAU,cAEnC,GAAAV,EAAAqB,IAAA,EAAC2B,EAAAA,CAAMA,CAAAA,CACHC,QAAQ,UACRvC,UAAU,aACVyC,QAAS,KACLjC,QAAQC,GAAG,CACP,2CACAmC,MAAAA,GAAAA,KAAAA,EAAAA,GAAMsE,QAAQ,CAACsE,eAAe,EAElCjD,GAAU,CACNnF,KAAMR,CAAAA,MAAAA,GAAAA,KAAAA,EAAAA,GAAMsE,QAAQ,CAACsE,eAAe,EAAGpI,EAAO,EAAIiF,KAAAA,EAClD7E,OAAQA,MAAAA,EAAAA,EAAU6E,KAAAA,CACtB,EACJ,EACAe,SACI,CAACxG,CAAAA,MAAAA,GAAAA,KAAAA,EAAAA,GAAMsE,QAAQ,CAACsE,eAAe,GAC/B7G,YAGJ,GAAArF,EAAAC,GAAA,EAACsB,OAAAA,CAAKb,UAAU,mBAAU,wBAC1B,GAAAV,EAAAC,GAAA,EAACmM,EAAAA,GAAeA,CAAAA,CAAC1L,UAAU,cAE/B,GAAAV,EAAAqB,IAAA,EAAC2B,EAAAA,CAAMA,CAAAA,CACHC,QAAQ,UACRvC,UAAU,aACVyC,QAAS,KACL8F,GAAU,CACNnF,KAAMR,CAAAA,MAAAA,GAAAA,KAAAA,EAAAA,GAAMsE,QAAQ,CAACyE,WAAW,EAAGvI,EAAO,EAAIiF,KAAAA,EAC9C7E,OAAQA,MAAAA,EAAAA,EAAU6E,KAAAA,CACtB,EACJ,EACAe,SACI,CAACxG,CAAAA,MAAAA,GAAAA,KAAAA,EAAAA,GAAMsE,QAAQ,CAACyE,WAAW,GAC3BhH,YAEJ,GAAArF,EAAAC,GAAA,EAACsB,OAAAA,CAAKb,UAAU,mBAAU,oBAC1B,GAAAV,EAAAC,GAAA,EAACqM,EAAAA,GAAgBA,CAAAA,CAAC5L,UAAU,2BAShE,sCCpfA,IAAM6L,EAAsB,OAAC,CAC3B7L,UAAAA,CAAS,CACT,GAAG8L,EACwD,CAAAzM,QAC3D,GAAAC,EAAAC,GAAA,EAACwM,EAAAA,EAA6B,EAC5B/L,UAAW4K,CAAAA,EAAAA,EAAAA,EAAAA,EACT,oEACA5K,GAED,GAAG8L,CAAK,IAIPE,EAAiBD,EAAAA,EAAwB,CAEzCE,EAAkB,OAAC,CACvBC,WAAAA,CAAU,CACVlM,UAAAA,CAAS,CACT,GAAG8L,EAGJ,CAAAzM,QACC,GAAAC,EAAAC,GAAA,EAACwM,EAAAA,EAAoC,EACnC/L,UAAW4K,CAAAA,EAAAA,EAAAA,EAAAA,EACT,0oBACA5K,GAED,GAAG8L,CAAK,UAERI,GACC,GAAA5M,EAAAC,GAAA,EAACqB,MAAAA,CAAIZ,UAAU,qFACb,GAAAV,EAAAC,GAAA,EAAC4M,EAAAA,CAAYA,CAAAA,CAACnM,UAAU,yJCdhC,IAAMoM,EAAc,OAAC,CAAErB,MAAAA,CAAK,CAAEsB,OAAAA,CAAM,CAAEC,KAAAA,CAAI,CAAEC,SAAAA,CAAQ,CAAEC,SAAAA,CAAQ,CAA4G,CAAAnN,EACtK,MACI,GAAAC,EAAAqB,IAAA,EAACC,MAAAA,CAAIZ,UAAU,6BACX,GAAAV,EAAAqB,IAAA,EAACC,MAAAA,CAAIZ,UAAW4K,CAAAA,EAAAA,EAAAA,EAAAA,EACZ6B,CAAAA,EAAAA,EAAAA,CAAAA,EAAe,CAAElK,QAAS8J,EAAO9J,OAAO,CAAEC,KAAM,IAAK,GACrD+J,EAAW,OAAS,KACpBF,EAAOK,MAAM,CACT,0EAA4E,KAChF,2BAEA,GAAApN,EAAAqB,IAAA,EAACgM,EAAAA,OAAIA,CAAAA,CACD3M,UAAU,OAEV4M,KAAMP,EAAOO,IAAI,EAAI,aACrB,GAAAtN,EAAAC,GAAA,EAAC8M,EAAOQ,IAAI,EAAC7M,UAAU,gBAEnB,CAACqM,EAAOQ,IAAI,EAAIR,EAAOS,KAAK,CAE/BT,OAAAA,EAAOQ,IAAI,EACR,GAAAvN,EAAAC,GAAA,EAACsB,OAAAA,CACGb,UAAW4K,CAAAA,EAAAA,EAAAA,EAAAA,EACP,mDACAyB,YAAAA,EAAO9J,OAAO,EACd,4CAEH8J,EAAOS,KAAK,KAbhB/B,GAiBRuB,GAAQ,GAAAhN,EAAAC,GAAA,EAACwN,EAAAA,CAAMA,CAAAA,CAACtK,QAAS,KACtB6J,GACJ,EAAGtM,UAAU,0FAGjB,GAAAV,EAAAC,GAAA,EAACqB,MAAAA,UACI4L,MAIjB,EAuEA,IAAAQ,EArEiB,QA2BWpK,KA3BV,CAAEC,aAAAA,CAAY,CAAEoK,eAAAA,CAAc,CAAEC,eAAAA,CAAc,CAA8E,CAAA7N,EAEpI,CAAEuD,KAAAA,CAAI,CAAE+B,QAAAA,CAAO,CAAEK,MAAAA,CAAK,CAAE,CAAGmI,CAAAA,EAAAA,EAAAA,CAAAA,IAEjC,MAAQ,GAAA7N,EAAAC,GAAA,EAAAD,EAAA+C,QAAA,WACJ,GAAA/C,EAAAqB,IAAA,EAACC,MAAAA,CAAyDZ,UAAU,2EAG5D6C,EAAe,GAAAvD,EAAAC,GAAA,EAACqB,MAAAA,CAAIZ,UAAU,mCAC1B,GAAAV,EAAAC,GAAA,EAAC+C,EAAAA,CAAMA,CAAAA,CAACC,QAAQ,OAAOC,KAAK,KAAK4K,QAAO,YACpC,GAAA9N,EAAAqB,IAAA,EAACgM,EAAAA,OAAIA,CAAAA,CAACC,KAAK,kBACP,GAAAtN,EAAAC,GAAA,EAAC8N,EAAAA,CAASA,CAAAA,CAACrN,UAAU,WACrB,GAAAV,EAAAC,GAAA,EAACsB,OAAAA,CAAKb,UAAU,gBAAO,6BAG1B,GAAAV,EAAAC,GAAA,EAACqB,MAAAA,CAAIZ,UAAU,mCACpB,GAAAV,EAAAC,GAAA,EAACsB,OAAAA,CAAKb,UAAU,mDAA0C,wBAGlE,GAAAV,EAAAC,GAAA,EAAC+N,MAAAA,CACGtN,UAAU,2GAEN2E,EAAU,GAAArF,EAAAC,GAAA,EAAC6M,EAAAA,CAAYrB,MAAO,IAAKsB,OAAQ,CACvCS,MAAQ,aACRJ,OAAQ,GACRG,KAAMU,EAAAA,CAAMA,CACZhL,QAAS,OACb,IAAQK,MAAAA,EAAAA,KAAAA,EAAAA,OAAAA,CAAAA,EAAAA,EAAM4K,QAAQ,GAAd5K,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAgBoE,KAAK,CAAC0D,GAAG,CAAC,CAAC2B,EAAQtB,IAC/B,GAAAzL,EAAAC,GAAA,EAAC6M,EAAAA,CAA4BrB,MAAOA,EAAOsB,OAAQ,CACvDS,MAAO,GAAevL,MAAA,CAAZ8K,EAAOvL,IAAI,EACrB+L,KAAMY,EAAAA,CAAMA,CACZlL,QAAS,QACTqK,KAAM,SAAmBrL,MAAA,CAAV8K,EAAOnN,EAAE,CAC5B,WAEQ2D,CAAAA,MAAAA,EAAAA,KAAAA,EAAAA,EAAc6K,WAAW,MAAO,GAAanM,MAAA,CAAV8K,EAAOnN,EAAE,EAAGwO,WAAW,IAC1D,GAAApO,EAAAqB,IAAA,EAAArB,EAAA+C,QAAA,YACI,GAAA/C,EAAAC,GAAA,EAAC6M,EAAAA,CAAYrB,MAAOA,EAAOwB,SAAU,GAAMF,OAAQ,CAC/CS,MAAO,cACPJ,OAAQ7J,CAAAA,MAAAA,EAAAA,KAAAA,EAAAA,EAAc6K,WAAW,MAAO,GAAanM,MAAA,CAAV8K,EAAOnN,EAAE,EAAGwO,WAAW,IAAM,CAACT,GAAkB,CAACC,EAC5FL,KAAMc,EAAAA,CAAcA,CACpBpL,QAASM,CAAAA,MAAAA,EAAAA,KAAAA,EAAAA,EAAc6K,WAAW,MAAO,GAAanM,MAAA,CAAV8K,EAAOnN,EAAE,EAAGwO,WAAW,IAAOT,GAAmBC,EAA6B,QAAZ,UAC9GN,KAAM,SAAmBrL,MAAA,CAAV8K,EAAOnN,EAAE,CAC5B,IACA,GAAAI,EAAAC,GAAA,EAAC6M,EAAAA,CAAYrB,MAAOA,EAAQ,IAAMwB,SAAU,GAAMF,OAAQ,CACtDS,MAAQ,gBACRJ,OAAQO,EACRJ,KAAMe,EAAAA,CAAQA,CACdrL,QAAS0K,EAAiB,UAAY,QACtCL,KAAM,SAAmBrL,MAAA,CAAV8K,EAAOnN,EAAE,CAAC,YAC7B,IACA,GAAAI,EAAAC,GAAA,EAAC6M,EAAAA,CAAYrB,MAAOA,EAAQ,IAAMwB,SAAU,GAAMF,OAAQ,CACtDS,MAAQ,WACRJ,OAAQQ,EACRL,KAAMgB,EAAAA,CAAQA,CACdtL,QAAS2K,EAAiB,UAAY,QACtCN,KAAM,SAAmBrL,MAAA,CAAV8K,EAAOnN,EAAE,CAAC,YAC7B,QA7BcmN,EAAOnN,EAAE,OAvBzC2D,EAAeoK,EAAiBC,IA8DlD,EClHe,SAASY,EAAWzO,CAA2D,KAA3D,CAAEmN,SAAAA,CAAQ,CAAEtJ,OAAAA,CAAM,CAAyC,CAA3D7D,EAIzB0D,EAAWG,EAAO1B,KAAK,EAAI0B,aAAAA,EAAO1B,KAAK,CAAC,EAAE,CAC1CuM,EAAW7K,EAAO1B,KAAK,EAAI0B,aAAAA,EAAO1B,KAAK,CAAC,EAAE,CAC1C8D,EAAUpC,EAAO1B,KAAK,EAAI0B,EAAO1B,KAAK,CAAC,EAAE,CAC3C4G,EAAO,KAOX,OANIlF,EAAO1B,KAAK,EAAIuB,EAChBqF,EAAOlF,EAAO1B,KAAK,CAAC,EAAE,EAAI,KACnB0B,EAAO1B,KAAK,EAAI,CAACuM,GACxB3F,CAAAA,EAAOlF,EAAO1B,KAAK,CAAC,EAAE,EAAI,MAI1B,GAAAlC,EAAAC,GAAA,EAACyO,EAAAA,EAAeA,CAAAA,CAACC,cAAe,WAC5B,GAAA3O,EAAAqB,IAAA,EAACkL,EAAmBA,CAChBnG,UAAU,aACVwI,SAAU,IACNC,SAASC,MAAM,CAAG,iCAEhB7M,MAAA,CAFiD8M,KAAKC,SAAS,CAC7DC,GAER,EACAvO,UAAU,iCACV,GAAAV,EAAAqB,IAAA,EAACqL,EAAcA,CACXwC,YAvBO,GAwBPC,cAvBS,EAwBTC,YAAa,GACbC,QAAS,GACTC,QAAS,aACT,GAAAtP,EAAAC,GAAA,EAACsP,EAAAA,CAASA,CAAAA,CAAAA,GACV,GAAAvP,EAAAC,GAAA,EAACuP,EAAQA,CAACjM,aAAcyC,EAAS2H,eAAgBlK,EAAUmK,eAAgBa,IAC3E,GAAAzO,EAAAC,GAAA,EAACsP,EAAAA,CAASA,CAAAA,CAAAA,GACV,GAAAvP,EAAAC,GAAA,EAACqB,MAAAA,CAAIZ,UAAU,0BACX,GAAAV,EAAAqB,IAAA,EAACiI,EAAAA,EAAKA,CAAAA,CAACrG,QAAQ,oBACX,GAAAjD,EAAAC,GAAA,EAACwP,EAAAA,CAAKA,CAAAA,CAAC/O,UAAU,OAAOuC,QAAS,qBAAa,gBAG9C,GAAAjD,EAAAC,GAAA,EAACuJ,EAAAA,EAAUA,CAAAA,UAAC,iBACZ,GAAAxJ,EAAAC,GAAA,EAACwJ,EAAAA,CAAgBA,CAAAA,UAAC,sDAQ1BzD,GAAW,CAACyI,GAAY,GAAAzO,EAAAqB,IAAA,EAAArB,EAAA+C,QAAA,YACpB,GAAA/C,EAAAC,GAAA,EAAC0M,EAAeA,CAACC,WAAU,KAC3B,GAAA5M,EAAAC,GAAA,EAACyM,EAAcA,CAACwC,YA/CT,GA+CwCG,QAAS,YACpD,GAAArP,EAAAqB,IAAA,EAACqO,EAAAA,EAAIA,CAAAA,CAACC,aAAa,gBACf,GAAA3P,EAAAC,GAAA,EAACqB,MAAAA,CAAIZ,UAAU,8CACX,GAAAV,EAAAC,GAAA,EAAC2P,KAAAA,CAAGlP,UAAU,6BAAoB,YAEtC,GAAAV,EAAAC,GAAA,EAACsP,EAAAA,CAASA,CAAAA,CAAAA,GACV,GAAAvP,EAAAC,GAAA,EAACoD,EAAQA,CACLE,aAAcyC,EACdxC,WAAYsF,MAAAA,EAAAA,EAAQC,KAAAA,EACpBtF,SAAUA,YAM9B,GAAAzD,EAAAC,GAAA,EAAC0M,EAAeA,CAACC,WAAU,KAC3B,GAAA5M,EAAAC,GAAA,EAACyM,EAAcA,CAACwC,YA/DG,YAgEf,GAAAlP,EAAAC,GAAA,EAACqB,MAAAA,CAAIZ,UAAU,sCACVwM,UAMzB,qKCtFA,IAAM2C,EAAgBC,CAAAA,EAAAA,EAAAA,CAAAA,EACpB,4JACA,CACEC,SAAU,CACR9M,QAAS,CACP+M,QAAS,gCACTC,YACE,0FACFC,KAAM,6DACR,CACF,EACAC,gBAAiB,CACflN,QAAS,SACX,CACF,GAGIqG,EAAQxE,EAAAA,UAAgB,CAG5B,CAAA/E,EAAmCqQ,QAAlC,CAAE1P,UAAAA,CAAS,CAAEuC,QAAAA,CAAO,CAAE,GAAGuJ,EAAO,CAAAzM,QACjC,GAAAsQ,EAAApQ,GAAA,EAACqB,MAAAA,CACC8O,IAAKA,EACLE,KAAK,QACL5P,UAAW4K,CAAAA,EAAAA,EAAAA,EAAAA,EAAGuE,EAAc,CAAE5M,QAAAA,CAAQ,GAAIvC,GACzC,GAAG8L,CAAK,IAGblD,CAAAA,EAAMiH,WAAW,CAAG,QAEpB,IAAM/G,EAAa1E,EAAAA,UAAgB,CAGjC,CAAA/E,EAA0BqQ,QAAzB,CAAE1P,UAAAA,CAAS,CAAE,GAAG8L,EAAO,CAAAzM,QACxB,GAAAsQ,EAAApQ,GAAA,EAACuQ,KAAAA,CACCJ,IAAKA,EACL1P,UAAW4K,CAAAA,EAAAA,EAAAA,EAAAA,EAAG,+CAAgD5K,GAC7D,GAAG8L,CAAK,IAGbhD,CAAAA,EAAW+G,WAAW,CAAG,aAEzB,IAAM9G,EAAmB3E,EAAAA,UAAgB,CAGvC,CAAA/E,EAA0BqQ,QAAzB,CAAE1P,UAAAA,CAAS,CAAE,GAAG8L,EAAO,CAAAzM,QACxB,GAAAsQ,EAAApQ,GAAA,EAACqB,MAAAA,CACC8O,IAAKA,EACL1P,UAAW4K,CAAAA,EAAAA,EAAAA,EAAAA,EAAG,gCAAiC5K,GAC9C,GAAG8L,CAAK,IAGb/C,CAAAA,EAAiB8G,WAAW,CAAG,wICpD/B,IAAME,EAAgBX,CAAAA,EAAAA,EAAAA,CAAAA,EACpB,yKACA,CACEC,SAAU,CACR9M,QAAS,CACP+M,QACE,4EACFU,UACE,kFACFT,YACE,wFACFU,QAAS,iBACX,CACF,EACAR,gBAAiB,CACflN,QAAS,SACX,CACF,GAOF,SAASwM,EAAM1P,CAA4C,KAA5C,CAAEW,UAAAA,CAAS,CAAEuC,QAAAA,CAAO,CAAE,GAAGuJ,EAAmB,CAA5CzM,EACb,MACE,GAAAsQ,EAAApQ,GAAA,EAACqB,MAAAA,CAAIZ,UAAW4K,CAAAA,EAAAA,EAAAA,EAAAA,EAAGmF,EAAc,CAAExN,QAAAA,CAAQ,GAAIvC,GAAa,GAAG8L,CAAK,EAExE,+HCzBA,IAAMtM,EAAW4E,EAAAA,UAAgB,CAG/B,CAAA/E,EAA0BqQ,QAAzB,CAAE1P,UAAAA,CAAS,CAAE,GAAG8L,EAAO,CAAAzM,QACxB,GAAAsQ,EAAApQ,GAAA,EAAC2Q,EAAAA,EAAsB,EACrBR,IAAKA,EACL1P,UAAW4K,CAAAA,EAAAA,EAAAA,EAAAA,EACT,iTACA5K,GAED,GAAG8L,CAAK,UAET,GAAA6D,EAAApQ,GAAA,EAAC2Q,EAAAA,EAA2B,EAC1BlQ,UAAW4K,CAAAA,EAAAA,EAAAA,EAAAA,EAAG,0DAEd,GAAA+E,EAAApQ,GAAA,EAAC4Q,EAAAA,CAAKA,CAAAA,CAACnQ,UAAU,gBAIvBR,CAAAA,EAASqQ,WAAW,CAAGK,EAAAA,EAAsB,CAACL,WAAW,+FCzBlD,IAAMxG,EAAU,OAAC,CAAErJ,UAAAA,CAAS,CAAiC,CAAAX,EAClE,MACE,GAAAsQ,EAAAhP,IAAA,EAACyP,MAAAA,CACCC,cAAY,OACZT,KAAK,SACL5P,UAAW4K,CAAAA,EAAAA,EAAAA,EAAAA,EAAG,sDAAuD5K,GACrEsQ,QAAQ,cACRC,KAAK,OACLC,MAAM,uCAEN,GAAAb,EAAApQ,GAAA,EAACyD,OAAAA,CACCyN,EAAE,+WACFzQ,UAAU,4BAEZ,GAAA2P,EAAApQ,GAAA,EAACyD,OAAAA,CACCyN,EAAE,glBACFzQ,UAAU,mBAIlB,4ICfA,IAAMqK,EAAajG,EAAAA,UAAgB,CAGjC,CAAA/E,EAAoCqQ,QAAnC,CAAE1P,UAAAA,CAAS,CAAEwM,SAAAA,CAAQ,CAAE,GAAGV,EAAO,CAAAzM,QAClC,GAAAsQ,EAAAhP,IAAA,EAAC+P,EAAAA,EAAwB,EACvBhB,IAAKA,EACL1P,UAAW4K,CAAAA,EAAAA,EAAAA,EAAAA,EAAG,2BAA4B5K,GACzC,GAAG8L,CAAK,WAET,GAAA6D,EAAApQ,GAAA,EAACmR,EAAAA,EAA4B,EAAC1Q,UAAU,uCACrCwM,IAEH,GAAAmD,EAAApQ,GAAA,EAACoR,EAAAA,CAAAA,GACD,GAAAhB,EAAApQ,GAAA,EAACmR,EAAAA,EAA0B,SAG/BrG,CAAAA,EAAWwF,WAAW,CAAGa,EAAAA,EAAwB,CAACb,WAAW,CAE7D,IAAMc,EAAYvM,EAAAA,UAAgB,CAGhC,CAAA/E,EAAoDqQ,QAAnD,CAAE1P,UAAAA,CAAS,CAAE4Q,YAAAA,EAAc,UAAU,CAAE,GAAG9E,EAAO,CAAAzM,QAClD,GAAAsQ,EAAApQ,GAAA,EAACmR,EAAAA,EAAuC,EACtChB,IAAKA,EACLkB,YAAaA,EACb5Q,UAAW4K,CAAAA,EAAAA,EAAAA,EAAAA,EACT,gDACAgG,aAAAA,GACE,qDACFA,eAAAA,GACE,uDACF5Q,GAED,GAAG8L,CAAK,UAET,GAAA6D,EAAApQ,GAAA,EAACmR,EAAAA,EAAmC,EAAC1Q,UAAU,8CAGnD2Q,CAAAA,EAAUd,WAAW,CAAGa,EAAAA,EAAuC,CAACb,WAAW,0PCzC3E,IAAMtF,EAAQnG,EAAAA,UAAgB,CAG5B,CAAA/E,EAA0BqQ,QAAzB,CAAE1P,UAAAA,CAAS,CAAE,GAAG8L,EAAO,CAAAzM,QACxB,GAAAsQ,EAAApQ,GAAA,EAACqB,MAAAA,CAAIZ,UAAU,yCACb,GAAA2P,EAAApQ,GAAA,EAACH,QAAAA,CACCsQ,IAAKA,EACL1P,UAAW4K,CAAAA,EAAAA,EAAAA,EAAAA,EAAG,gCAAiC5K,GAC9C,GAAG8L,CAAK,MAIfvB,CAAAA,EAAMsF,WAAW,CAAG,QAEpB,IAAMgB,EAAczM,EAAAA,UAAgB,CAGlC,CAAA/E,EAA0BqQ,QAAzB,CAAE1P,UAAAA,CAAS,CAAE,GAAG8L,EAAO,CAAAzM,QACxB,GAAAsQ,EAAApQ,GAAA,EAACuR,QAAAA,CAAMpB,IAAKA,EAAK1P,UAAW4K,CAAAA,EAAAA,EAAAA,EAAAA,EAAG,kBAAmB5K,GAAa,GAAG8L,CAAK,IAEzE+E,CAAAA,EAAYhB,WAAW,CAAG,cAE1B,IAAMrF,EAAYpG,EAAAA,UAAgB,CAGhC,CAAA/E,EAA0BqQ,QAAzB,CAAE1P,UAAAA,CAAS,CAAE,GAAG8L,EAAO,CAAAzM,QACxB,GAAAsQ,EAAApQ,GAAA,EAACwR,QAAAA,CACCrB,IAAKA,EACL1P,UAAW4K,CAAAA,EAAAA,EAAAA,EAAAA,EAAG,6BAA8B5K,GAC3C,GAAG8L,CAAK,IAGbtB,CAAAA,EAAUqF,WAAW,CAAG,YAexBmB,EAboB5M,UAAgB,CAGlC,CAAA/E,EAA0BqQ,QAAzB,CAAE1P,UAAAA,CAAS,CAAE,GAAG8L,EAAO,CAAAzM,QACxB,GAAAsQ,EAAApQ,GAAA,EAAC0R,QAAAA,CACCvB,IAAKA,EACL1P,UAAW4K,CAAAA,EAAAA,EAAAA,EAAAA,EACT,0DACA5K,GAED,GAAG8L,CAAK,KAGD+D,WAAW,CAAG,cAE1B,IAAMlF,EAAWvG,EAAAA,UAAgB,CAG/B,CAAA/E,EAA0BqQ,QAAzB,CAAE1P,UAAAA,CAAS,CAAE,GAAG8L,EAAO,CAAAzM,QACxB,GAAAsQ,EAAApQ,GAAA,EAAC2R,KAAAA,CACCxB,IAAKA,EACL1P,UAAW4K,CAAAA,EAAAA,EAAAA,EAAAA,EACT,8EACA5K,GAED,GAAG8L,CAAK,IAGbnB,CAAAA,EAASkF,WAAW,CAAG,WAEvB,IAAMsB,EAAY/M,EAAAA,UAAgB,CAGhC,CAAA/E,EAA0BqQ,QAAzB,CAAE1P,UAAAA,CAAS,CAAE,GAAG8L,EAAO,CAAAzM,QACxB,GAAAsQ,EAAApQ,GAAA,EAAC6R,KAAAA,CACC1B,IAAKA,EACL1P,UAAW4K,CAAAA,EAAAA,EAAAA,EAAAA,EACT,qIACA5K,GAED,GAAG8L,CAAK,IAGbqF,CAAAA,EAAUtB,WAAW,CAAG,YAExB,IAAM7E,EAAY5G,EAAAA,UAAgB,CAGhC,CAAA/E,EAA0BqQ,QAAzB,CAAE1P,UAAAA,CAAS,CAAE,GAAG8L,EAAO,CAAAzM,QACxB,GAAAsQ,EAAApQ,GAAA,EAAC8R,KAAAA,CACC3B,IAAKA,EACL1P,UAAW4K,CAAAA,EAAAA,EAAAA,EAAAA,EACT,mFACA5K,GAED,GAAG8L,CAAK,IAGbd,CAAAA,EAAU6E,WAAW,CAAG,YAExB,IAAMyB,EAAelN,EAAAA,UAAgB,CAGnC,CAAA/E,EAA0BqQ,QAAzB,CAAE1P,UAAAA,CAAS,CAAE,GAAG8L,EAAO,CAAAzM,QACxB,GAAAsQ,EAAApQ,GAAA,EAACgS,UAAAA,CACC7B,IAAKA,EACL1P,UAAW4K,CAAAA,EAAAA,EAAAA,EAAAA,EAAG,qCAAsC5K,GACnD,GAAG8L,CAAK,IAGbwF,CAAAA,EAAazB,WAAW,CAAG,2MCrG3B,IAAMb,EAAOwC,EAAAA,EAAkB,CAEzBC,EAAWrN,EAAAA,UAAgB,CAG/B,CAAA/E,EAA0BqQ,QAAzB,CAAE1P,UAAAA,CAAS,CAAE,GAAG8L,EAAO,CAAAzM,QACxB,GAAAsQ,EAAApQ,GAAA,EAACiS,EAAAA,EAAkB,EACjB9B,IAAKA,EACL1P,UAAW4K,CAAAA,EAAAA,EAAAA,EAAAA,EACT,6FACA5K,GAED,GAAG8L,CAAK,IAGb2F,CAAAA,EAAS5B,WAAW,CAAG2B,EAAAA,EAAkB,CAAC3B,WAAW,CAErD,IAAM6B,EAActN,EAAAA,UAAgB,CAGlC,CAAA/E,EAA0BqQ,QAAzB,CAAE1P,UAAAA,CAAS,CAAE,GAAG8L,EAAO,CAAAzM,QACxB,GAAAsQ,EAAApQ,GAAA,EAACiS,EAAAA,EAAqB,EACpB9B,IAAKA,EACL1P,UAAW4K,CAAAA,EAAAA,EAAAA,EAAAA,EACT,sYACA5K,GAED,GAAG8L,CAAK,IAGb4F,CAAAA,EAAY7B,WAAW,CAAG2B,EAAAA,EAAqB,CAAC3B,WAAW,CAE3D,IAAM8B,EAAcvN,EAAAA,UAAgB,CAGlC,CAAA/E,EAA0BqQ,QAAzB,CAAE1P,UAAAA,CAAS,CAAE,GAAG8L,EAAO,CAAAzM,QACxB,GAAAsQ,EAAApQ,GAAA,EAACiS,EAAAA,EAAqB,EACpB9B,IAAKA,EACL1P,UAAW4K,CAAAA,EAAAA,EAAAA,EAAAA,EACT,kIACA5K,GAED,GAAG8L,CAAK,IAGb6F,CAAAA,EAAY9B,WAAW,CAAG2B,EAAAA,EAAqB,CAAC3B,WAAW,4GC5B3D,IAAI+B,EAAQ,EA+BNC,EAAgB,IAAIC,IAEpBC,EAAmB,IACvB,GAAIF,EAAcG,GAAG,CAACC,GACpB,OAGF,IAAMC,EAAUC,WAAW,KACzBN,EAAcO,MAAM,CAACH,GACrBI,EAAS,CACPnQ,KAAM,eACN+P,QAASA,CACX,EACF,EA5DyB,KA8DzBJ,EAAcpJ,GAAG,CAACwJ,EAASC,EAC7B,EAEaI,EAAU,CAACnL,EAAcoL,KACpC,OAAQA,EAAOrQ,IAAI,EACjB,IAAK,YACH,MAAO,CACL,GAAGiF,CAAK,CACRqL,OAAQ,CAACD,EAAO3O,KAAK,IAAKuD,EAAMqL,MAAM,CAAC,CAACxR,KAAK,CAAC,EAvElC,EAwEd,CAEF,KAAK,eACH,MAAO,CACL,GAAGmG,CAAK,CACRqL,OAAQrL,EAAMqL,MAAM,CAAC9H,GAAG,CAAC,GACvB+H,EAAEvT,EAAE,GAAKqT,EAAO3O,KAAK,CAAC1E,EAAE,CAAG,CAAE,GAAGuT,CAAC,CAAE,GAAGF,EAAO3O,KAAK,EAAK6O,EAE3D,CAEF,KAAK,gBAAiB,CACpB,GAAM,CAAER,QAAAA,CAAO,CAAE,CAAGM,EAYpB,OARIN,EACFF,EAAiBE,GAEjB9K,EAAMqL,MAAM,CAAC5I,OAAO,CAAC,IACnBmI,EAAiBnO,EAAM1E,EAAE,CAC3B,GAGK,CACL,GAAGiI,CAAK,CACRqL,OAAQrL,EAAMqL,MAAM,CAAC9H,GAAG,CAAC,GACvB+H,EAAEvT,EAAE,GAAK+S,GAAWA,KAAY5J,IAAZ4J,EAChB,CACE,GAAGQ,CAAC,CACJC,KAAM,EACR,EACAD,EAER,CACF,CACA,IAAK,eACH,GAAIF,KAAmBlK,IAAnBkK,EAAON,OAAO,CAChB,MAAO,CACL,GAAG9K,CAAK,CACRqL,OAAQ,EAAE,EAGd,MAAO,CACL,GAAGrL,CAAK,CACRqL,OAAQrL,EAAMqL,MAAM,CAACG,MAAM,CAAC,GAAOF,EAAEvT,EAAE,GAAKqT,EAAON,OAAO,CAC5D,CACJ,CACF,EAEMW,EAA2C,EAAE,CAE/CC,EAAqB,CAAEL,OAAQ,EAAE,EAErC,SAASH,EAASE,CAAc,EAC9BM,EAAcP,EAAQO,EAAaN,GACnCK,EAAUhJ,OAAO,CAAC,IAChBkJ,EAASD,EACX,EACF,CAIA,SAASjP,EAAMvE,CAAmB,KAAnB,CAAE,GAAGyM,EAAc,CAAnBzM,EACPH,EAlHC0S,CADPA,EAAQ,CAACA,EAAQ,GAAKmB,OAAOC,gBAAgB,EAChCtK,QAAQ,GAyHfuK,EAAU,IAAMZ,EAAS,CAAEnQ,KAAM,gBAAiB+P,QAAS/S,CAAG,GAcpE,OAZAmT,EAAS,CACPnQ,KAAM,YACN0B,MAAO,CACL,GAAGkI,CAAK,CACR5M,GAAAA,EACAwT,KAAM,GACNQ,aAAc,IACPR,GAAMO,GACb,CACF,CACF,GAEO,CACL/T,GAAIA,EACJ+T,QAAAA,EACAE,OAtBa,GACbd,EAAS,CACPnQ,KAAM,eACN0B,MAAO,CAAE,GAAGkI,CAAK,CAAE5M,GAAAA,CAAG,CACxB,EAmBF,CACF,CAEA,SAAS2E,IACP,GAAM,CAACsD,EAAOiM,EAAS,CAAGhP,EAAAA,QAAc,CAAQyO,GAYhD,OAVAzO,EAAAA,SAAe,CAAC,KACdwO,EAAUtK,IAAI,CAAC8K,GACR,KACL,IAAMrI,EAAQ6H,EAAUS,OAAO,CAACD,GAC5BrI,EAAQ,IACV6H,EAAUU,MAAM,CAACvI,EAAO,EAE5B,GACC,CAAC5D,EAAM,EAEH,CACL,GAAGA,CAAK,CACRvD,MAAAA,EACAqP,QAAS,GAAsBZ,EAAS,CAAEnQ,KAAM,gBAAiB+P,QAAAA,CAAQ,EAC3E,CACF,+FCxLO,IAAM9E,EAAc,IAChBlI,CAAAA,EAAAA,EAAAA,EAAAA,EAA6CsO,EAAAA,EAAYA,CAAE,CAC9DlO,UAAW,CACPE,MAAO,EACX,CACJ","sources":["webpack://_N_E/?b421","webpack://_N_E/./app/(application)/data/components/columns.tsx","webpack://_N_E/./app/(application)/data/components/search-bar.tsx","webpack://_N_E/./app/(application)/data/components/data-list.tsx","webpack://_N_E/./components/ui/resizable.tsx","webpack://_N_E/./app/(application)/data/[[...query]]/contexts.tsx","webpack://_N_E/./app/(application)/data/[[...query]]/layout.tsx","webpack://_N_E/./components/ui/alert.tsx","webpack://_N_E/./components/ui/badge.tsx","webpack://_N_E/./components/ui/checkbox.tsx","webpack://_N_E/./components/ui/loading.tsx","webpack://_N_E/./components/ui/scroll-area.tsx","webpack://_N_E/./components/ui/table.tsx","webpack://_N_E/./components/ui/tabs.tsx","webpack://_N_E/./components/ui/use-toast.ts","webpack://_N_E/./hooks/contexts.tsx"],"sourcesContent":["import(/* webpackMode: \"eager\" */ \"/home/runner/work/exulu-frontend/exulu-frontend/app/(application)/data/[[...query]]/layout.tsx\");\n","\"use client\";\n\nimport { ColumnDef } from \"@tanstack/react-table\";\nimport { format } from \"date-fns\";\nimport { Checkbox } from \"@/components/ui/checkbox\";\n\nexport const columns: ColumnDef<any>[] = [\n {\n id: \"select\",\n header: ({ table }) => (\n <Checkbox\n checked={\n table.getIsAllPageRowsSelected() ||\n (table.getIsSomePageRowsSelected() && \"indeterminate\")\n }\n onCheckedChange={(value) => table.toggleAllPageRowsSelected(!!value)}\n aria-label=\"Select all\"\n className=\"translate-y-[2px]\"\n />\n ),\n cell: ({ row }) => (\n <Checkbox\n checked={row.getIsSelected()}\n onCheckedChange={(value) => row.toggleSelected(!!value)}\n aria-label=\"Select row\"\n className=\"translate-y-[2px] max-w-[50px]\"\n />\n ),\n enableSorting: false,\n enableHiding: false,\n },\n /*{\n accessorKey: \"id\",\n cell: ({ row }) => <div className=\"w-[200px]\">{row.original.id}</div>,\n enableSorting: false,\n enableHiding: false,\n },*/\n {\n accessorKey: \"Description\",\n cell: ({ row }) => {\n /*const label = labels.find((label) => label.value === row.original.label)*/\n\n console.log(\"original\", row.original);\n return (\n <div className=\"flex flex-column grid grid-cols-1\">\n {/*{label && <Badge variant=\"outline\">{label.label}</Badge>}*/}\n <span className=\"max-w-[500px] truncate font-medium w-full\">\n {row.original.name\n ? row.original.name\n : row.original.text.slice(0, 200) || \"Untitled\"}\n </span>\n <small className=\"mt-1\">\n {format(new Date(row.original.createdAt), \"PP\")}\n </small>\n </div>\n );\n },\n },\n];\n","\"use client\"\n\nimport { useState, type FormEvent } from \"react\"\nimport { Search, X } from \"lucide-react\"\nimport { Button } from \"@/components/ui/button\"\nimport { Input } from \"@/components/ui/input\"\n\ninterface SearchBarProps {\n onSearch?: (query: string) => void\n placeholder?: string\n className?: string\n}\n\nexport function SearchBar({\n onSearch = (query) => console.log(`Search query: ${query}`),\n placeholder = \"Search...\",\n className = \"\",\n}: SearchBarProps) {\n const [query, setQuery] = useState(\"\")\n\n const handleSubmit = (e: FormEvent<HTMLFormElement>) => {\n e.preventDefault()\n onSearch(query)\n }\n\n const clearSearch = () => {\n setQuery(\"\")\n onSearch(\"\")\n }\n\n return (\n <form onSubmit={handleSubmit} className={`relative ${className}`}>\n <div className=\"relative flex items-center w-full\">\n <Search className=\"absolute left-3 h-4 w-4 text-muted-foreground\" />\n <Input\n type=\"text\"\n placeholder={placeholder}\n value={query}\n onChange={(e) => setQuery(e.target.value)}\n className=\"pl-10 pr-10\"\n aria-label=\"Search input\"\n />\n {query && (\n <>\n <span className=\"absolute right-10 text-xs text-muted-foreground\">Press Enter ↵</span>\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"icon\"\n className=\"absolute right-0 h-full rounded-l-none\"\n onClick={clearSearch}\n aria-label=\"Clear search\"\n >\n <X className=\"h-4 w-4\" />\n </Button>\n </>\n )}\n </div>\n </form>\n )\n}\n","\"use client\"\n\nimport {\n ChevronLeftIcon,\n ChevronRightIcon,\n DoubleArrowLeftIcon, ExclamationTriangleIcon,\n} from \"@radix-ui/react-icons\";\nimport { useQuery, useMutation } from \"@apollo/client\";\nimport {\n ColumnFiltersState,\n flexRender,\n getCoreRowModel,\n getFacetedRowModel,\n getFacetedUniqueValues,\n getFilteredRowModel,\n getPaginationRowModel,\n getSortedRowModel,\n SortingState,\n useReactTable,\n VisibilityState,\n} from \"@tanstack/react-table\";\nimport {\n Archive,\n PackageOpen,\n Plus,\n Trash2,\n} from \"lucide-react\";\nimport {\n usePathname,\n useRouter,\n useSearchParams,\n} from \"next/navigation\";\nimport * as React from \"react\";\nimport { useContext, useState } from \"react\";\nimport { UserContext } from \"@/app/(application)/authenticated\";\nimport { Button } from \"@/components/ui/button\";\nimport { Checkbox } from \"@/components/ui/checkbox\";\nimport { Loading } from \"@/components/ui/loading\";\nimport { ScrollArea } from \"@/components/ui/scroll-area\";\nimport { Skeleton } from \"@/components/ui/skeleton\";\nimport { Table, TableBody, TableCell, TableRow } from \"@/components/ui/table\";\nimport { useToast } from \"@/components/ui/use-toast\";\nimport { cn } from \"@/lib/utils\";\nimport { columns } from \"./columns\";\nimport { Alert, AlertDescription, AlertTitle } from \"@/components/ui/alert\";\nimport { SearchBar } from \"./search-bar\";\nimport { Item } from \"@EXULU_SHARED/models/item\";\nimport { CREATE_ITEM, CREATE_ONE_POSTFIX, DELETE_ITEM, GET_ITEMS, PAGINATION_POSTFIX, UPDATE_ITEM } from \"@/queries/queries\";\n\nfunction usePagination() {\n const [pagination, setPagination] = useState({\n pageSize: 5,\n pageIndex: 0,\n });\n const { pageSize, pageIndex } = pagination;\n\n return {\n limit: pageSize,\n onPaginationChange: setPagination,\n pagination,\n skip: pageSize * pageIndex,\n };\n}\n\nexport function DataList({\n activeFolder,\n activeItem,\n archived,\n}: {\n activeFolder: \"archived\" | \"csv\" | \"api\" | \"files\" | \"all\";\n activeItem?: string;\n archived: boolean;\n}) {\n\n const path = usePathname();\n const params = useSearchParams();\n const [page, setPage] = useState(params.get(\"page\") ? parseInt(params.get(\"page\")!) : 1);\n const search = params.get(\"search\");\n const { user } = useContext(UserContext);\n const { toast } = useToast();\n const [company, setCompany] = useState<any>({ ...user.company });\n\n const router = useRouter();\n\n const [rowSelection, setRowSelection] = React.useState({});\n\n const [columnVisibility, setColumnVisibility] =\n React.useState<VisibilityState>({});\n\n const [columnFilters, setColumnFilters] = React.useState<ColumnFiltersState>(\n [],\n );\n const [sorting, setSorting] = React.useState<SortingState>([]);\n\n let { loading, data: raw, refetch, previousData: prev, error } = useQuery<{\n [key: string]: {\n pageInfo: {\n pageCount: number;\n itemCount: number;\n currentPage: number;\n hasPreviousPage: boolean;\n hasNextPage: boolean;\n };\n items: Item[];\n }\n }>(GET_ITEMS(activeFolder, []), {\n fetchPolicy: \"no-cache\",\n nextFetchPolicy: \"network-only\",\n variables: {\n context: activeFolder,\n page: page ?? 1,\n limit: 10,\n sort: {\n field: \"updatedAt\",\n direction: \"DESC\",\n },\n filters: {\n archived: {\n eq: archived\n },\n ...(search ? { name: { contains: `${search}` } } : {}),\n },\n },\n });\n\n const data = raw?.[activeFolder + PAGINATION_POSTFIX] as any;\n const previousData = prev?.[activeFolder + PAGINATION_POSTFIX] as any;\n\n const [updateItemMutation, updateItemMutationResult] = useMutation<{\n [key: string]: {\n job: string;\n item: {\n name?: string;\n archived?: boolean;\n description?: string;\n tags?: string[];\n external_id?: string;\n [key: string]: any;\n }\n }\n }>(UPDATE_ITEM(activeFolder), {\n onCompleted: () => {\n refetch();\n }\n });\n\n const [deleteItemMutation, deleteItemMutationResult] = useMutation<{\n id: string;\n }>(DELETE_ITEM(activeFolder, []), {\n onCompleted: () => {\n refetch();\n }\n });\n\n const defaultData = React.useMemo(() => [], []);\n const { limit, onPaginationChange, skip, pagination } = usePagination();\n\n const table = useReactTable({\n data: loading && previousData?.items ? previousData.items : data?.items ?? defaultData,\n pageCount: data?.pageInfo?.pageCount ?? -1,\n columns,\n state: {\n sorting,\n columnVisibility,\n rowSelection,\n columnFilters,\n },\n enableRowSelection: true,\n onRowSelectionChange: setRowSelection,\n onSortingChange: setSorting,\n onColumnFiltersChange: setColumnFilters,\n onColumnVisibilityChange: setColumnVisibility,\n getCoreRowModel: getCoreRowModel(),\n getFilteredRowModel: getFilteredRowModel(),\n getPaginationRowModel: getPaginationRowModel(),\n getSortedRowModel: getSortedRowModel(),\n getFacetedRowModel: getFacetedRowModel(),\n getFacetedUniqueValues: getFacetedUniqueValues(),\n manualPagination: true,\n onPaginationChange,\n });\n\n const [createItemMutation, createItemMutationResult] = useMutation<{\n [key: string]: {\n item: {\n id: string;\n }\n job: string;\n }\n }>(CREATE_ITEM(activeFolder), {\n onCompleted: (data) => {\n console.log(\"data\", data);\n const id = data ? data[activeFolder + CREATE_ONE_POSTFIX]?.item?.id : undefined;\n if (id) {\n router.push(`/data/${activeFolder}/${id}`);\n }\n refetch();\n }\n });\n\n const setParams = ({\n page,\n search,\n }: {\n page?: number;\n search?: string;\n }) => {\n setPage(page ?? 1);\n const params = new URLSearchParams();\n if (page) {\n params.set(\"page\", page.toString());\n }\n if (search) {\n params.set(\"search\", search);\n }\n router.push(`${path}?${params.toString()}`);\n }\n\n const selectItem = (id: string) => {\n if (archived) {\n router.push(`/data/${activeFolder}/archived/${id}?${params.toString()}`)\n } else {\n router.push(`/data/${activeFolder}/${id}?${params.toString()}`)\n }\n }\n\n if (error) return <Alert className=\"p-4\" variant=\"destructive\">\n <ExclamationTriangleIcon className=\"size-4\" />\n <AlertTitle>Error</AlertTitle>\n <AlertDescription>\n {error?.message || \": unknown\"}\n </AlertDescription>\n </Alert>;\n\n return (\n <>\n <div\n className=\"grid grid-flow-col grid-cols-[auto_minmax(0,1fr)] grid-rows-1 bg-background/95 p-4 backdrop-blur gap-2 supports-[backdrop-filter]:bg-background/60\">\n <Checkbox\n checked={\n table.getIsAllPageRowsSelected() ||\n (table.getIsSomePageRowsSelected() && \"indeterminate\")\n }\n onCheckedChange={(value) => table.toggleAllPageRowsSelected(!!value)}\n aria-label=\"Select all\"\n className=\"my-auto mr-3 translate-y-[2px]\"\n />\n <div className=\"relative\">\n <SearchBar onSearch={(query) => {\n setParams({\n page: 1,\n search: query,\n })\n }} />\n </div>\n <Button\n onClick={() => {\n createItemMutation({\n variables: {\n input: {\n name: \"New item\",\n source: \"manual\",\n textlength: 0,\n company: company.id,\n },\n }\n });\n }}\n disabled={createItemMutationResult.loading || archived}\n className=\"ml-2 ml-auto lg:flex\">\n {createItemMutationResult.loading ? <Loading /> : <Plus size={18} />}\n </Button>\n </div>\n {table.getIsSomeRowsSelected() || table.getIsAllRowsSelected() ? (\n <div className=\"flex px-4 pb-4\">\n {archived ? (\n <>\n <Button\n className=\"ml-2\"\n onClick={() => {\n const promises: any[] = [];\n table.getSelectedRowModel().rows.forEach((row) => {\n promises.push(\n updateItemMutation({\n variables: {\n id: row.original.id,\n input: { archived: false },\n }\n }),\n );\n });\n Promise.all(promises).then(() => {\n table.resetRowSelection();\n toast({\n title: \"Unarchived items\",\n description:\n \"We unarchived \" + promises.length + \" items.\",\n });\n });\n }}\n variant=\"secondary\"\n disabled={updateItemMutationResult.loading}>\n {updateItemMutationResult.loading ? (\n <Loading />\n ) : (\n <PackageOpen className=\"size-4\" />\n )}\n <span className=\"ml-2\">Unarchive selected</span>\n </Button>\n <Button\n className=\"ml-2\"\n onClick={() => {\n const promises: any[] = [];\n table.getSelectedRowModel().rows.forEach((row) => {\n promises.push(\n deleteItemMutation({\n variables: {\n context: activeFolder,\n id: row.original.id,\n }\n }),\n );\n });\n Promise.all(promises).then(() => {\n table.resetRowSelection();\n toast({\n title: \"Deleted items\",\n description: \"We deleted \" + promises.length + \" items.\",\n });\n });\n }}\n variant=\"secondary\"\n disabled={deleteItemMutationResult.loading}>\n {deleteItemMutationResult.loading ? (\n <Loading />\n ) : (\n <Trash2 className=\"size-4\" />\n )}\n <span className=\"ml-2\">Delete selected</span>\n </Button>\n </>\n ) : (\n <Button\n className=\"ml-2\"\n onClick={() => {\n const promises: any[] = [];\n table.getSelectedRowModel().rows.forEach((row) => {\n promises.push(\n updateItemMutation({\n variables: {\n id: row.original?.id,\n input: { archived: true },\n }\n }),\n );\n });\n Promise.all(promises).then(() => {\n table.resetRowSelection();\n toast({\n title: \"Archived items\",\n description: \"We archived \" + promises.length + \" items.\",\n });\n });\n }}\n variant=\"secondary\"\n disabled={updateItemMutationResult.loading}\n >\n {updateItemMutationResult.loading ? (\n <Loading />\n ) : (\n <Archive className=\"size-4\" />\n )}\n <span className=\"ml-2\">Archive selected</span>\n </Button>\n )}\n </div>\n ) : null}\n {loading ? (\n <ScrollArea className=\"h-screen\">\n <div className=\"flex flex-col gap-2 p-4 pt-0\">\n <Skeleton className=\"mb-2 h-[100px] w-full rounded-lg\" />\n <Skeleton className=\"mb-2 h-[100px] w-full rounded-lg\" />\n <Skeleton className=\"mb-2 h-[100px] w-full rounded-lg\" />\n <Skeleton className=\"mb-2 h-[100px] w-full rounded-lg\" />\n <Skeleton className=\"mb-2 h-[100px] w-full rounded-lg\" />\n <Skeleton className=\"h-[100px] w-full rounded-lg\" />\n </div>\n </ScrollArea>\n ) : (\n <div className=\"flex max-h-[75vh] flex-col\">\n <ScrollArea className=\"h-screen grow\">\n <div className=\"space-y-4\">\n <div className=\"border-y\">\n <Table>\n <TableBody>\n {table.getRowModel().rows?.length ? (\n table.getRowModel().rows.map((row) => (\n <TableRow\n key={row.id}\n className={cn(\n activeItem === row.original.id\n ? \"bg-secondary dark:text-white\"\n : \"\",\n )}\n data-state={row.getIsSelected() && \"selected\"}>\n {row.getVisibleCells().map((cell, index) => {\n if (index > 0) {\n return (<TableCell className=\"cursor-pointer\" onClick={() => {\n selectItem(row.original.id)\n }} key={cell.id}>\n {flexRender(\n cell.column.columnDef.cell,\n cell.getContext(),\n )}\n </TableCell>)\n } else {\n return (<TableCell key={cell.id}>\n {flexRender(\n cell.column.columnDef.cell,\n cell.getContext(),\n )}\n </TableCell>)\n }\n })}\n </TableRow>\n ))\n ) : (\n <TableRow>\n <TableCell\n colSpan={columns.length}\n className=\"h-24 text-center\"\n >\n {\"No results.\"}\n </TableCell>\n </TableRow>\n )}\n </TableBody>\n </Table>\n </div>\n </div>\n </ScrollArea>\n <div className=\"flex items-center justify-between px-2 pb-2\">\n <div className=\"flex-1 text-sm text-muted-foreground\">\n {table.getFilteredSelectedRowModel().rows.length} of{\" \"}\n {table.getFilteredRowModel().rows.length} row(s) selected (total{\" \"}\n {data?.pageInfo.itemCount} items).\n </div>\n <div className=\"flex items-center space-x-6 lg:space-x-8\">\n <div className=\"flex items-center space-x-2\">\n <Button\n variant=\"outline\"\n className=\"hidden size-8 p-0 lg:flex\"\n onClick={() => {\n setParams({\n page: 1,\n search: search ?? undefined,\n });\n }}\n disabled={!data?.pageInfo.hasPreviousPage}\n >\n <span className=\"sr-only\">Go to first page</span>\n <DoubleArrowLeftIcon className=\"size-4\" />\n </Button>\n <Button\n variant=\"outline\"\n className=\"size-8 p-0\"\n onClick={() => {\n console.log(\n \"itemsData.data?.pageInfo.hasPreviousPage\",\n data?.pageInfo.hasPreviousPage,\n );\n setParams({\n page: data?.pageInfo.hasPreviousPage ? page - 1 : undefined,\n search: search ?? undefined,\n });\n }}\n disabled={\n !data?.pageInfo.hasPreviousPage ||\n loading\n }\n >\n <span className=\"sr-only\">Go to previous page</span>\n <ChevronLeftIcon className=\"size-4\" />\n </Button>\n <Button\n variant=\"outline\"\n className=\"size-8 p-0\"\n onClick={() => {\n setParams({\n page: data?.pageInfo.hasNextPage ? page + 1 : undefined,\n search: search ?? undefined,\n });\n }}\n disabled={\n !data?.pageInfo.hasNextPage ||\n loading\n }>\n <span className=\"sr-only\">Go to next page</span>\n <ChevronRightIcon className=\"size-4\" />\n </Button>\n </div>\n </div>\n </div>\n </div>\n )}\n </>\n );\n}\n","\"use client\";\n\nimport { GripVertical } from \"lucide-react\";\nimport * as ResizablePrimitive from \"react-resizable-panels\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst ResizablePanelGroup = ({\n className,\n ...props\n}: React.ComponentProps<typeof ResizablePrimitive.PanelGroup>) => (\n <ResizablePrimitive.PanelGroup\n className={cn(\n \"flex h-full w-full data-[panel-group-direction=vertical]:flex-col\",\n className,\n )}\n {...props}\n />\n);\n\nconst ResizablePanel = ResizablePrimitive.Panel;\n\nconst ResizableHandle = ({\n withHandle,\n className,\n ...props\n}: React.ComponentProps<typeof ResizablePrimitive.PanelResizeHandle> & {\n withHandle?: boolean;\n}) => (\n <ResizablePrimitive.PanelResizeHandle\n className={cn(\n \"relative flex w-px items-center justify-center bg-border after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-1 data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:-translate-y-1/2 data-[panel-group-direction=vertical]:after:translate-x-0 [&[data-panel-group-direction=vertical]>div]:rotate-90\",\n className,\n )}\n {...props}\n >\n {withHandle && (\n <div className=\"z-10 flex h-4 w-3 items-center justify-center rounded-sm border bg-border\">\n <GripVertical className=\"size-2.5\" />\n </div>\n )}\n </ResizablePrimitive.PanelResizeHandle>\n);\n\nexport { ResizablePanelGroup, ResizablePanel, ResizableHandle };\n","\"use client\"\n\nimport * as React from \"react\";\nimport { Archive, Folder, Inbox, LucideIcon, Loader, Pencil, ArrowDownRight, ArrowLeft, ListChecksIcon, ArchiveX, Settings } from \"lucide-react\";\nimport { Button, buttonVariants } from \"@/components/ui/button\";\nimport { useContexts } from \"@/hooks/contexts\";\nimport Link from \"next/link\";\nimport { cn } from \"@/lib/utils\";\nimport { Separator } from \"@/components/ui/separator\";\nexport type FolderFieldType = \"text\" | \"longText\" | \"shortText\" | \"number\" | \"boolean\" | \"code\" | \"json\";\n\nexport type FolderType = {\n id?: string;\n label: string;\n fields?: {\n type: FolderFieldType;\n name: string;\n }[];\n active?: boolean;\n icon: LucideIcon;\n href?: string;\n variant: \"default\" | \"ghost\";\n}\n\nconst ContextLink = ({ index, folder, edit, indented, children }: { index: number, folder: FolderType, edit?: () => void, indented?: boolean, children?: React.ReactNode }) => {\n return (\n <div className=\"flex flex-col \">\n <div className={cn(\n buttonVariants({ variant: folder.variant, size: \"sm\" }),\n indented ? \"pl-5\" : null,\n folder.active ?\n \"dark:bg-muted dark:text-white dark:hover:bg-muted dark:hover:text-white\" : null,\n \"justify-start\",\n )}>\n <Link\n className=\"flex\"\n key={index}\n href={folder.href || \"\"}>\n <folder.icon className=\"mr-2 size-4\" />\n {\n !folder.icon && folder.label\n }\n {folder.icon !== null && (\n <span\n className={cn(\n \"ml-0 overflow-hidden text-ellipsis max-w-[170px]\",\n folder.variant === \"default\" &&\n \"text-background dark:text-white\",\n )}>\n {folder.label}\n </span>\n )}\n </Link>\n {edit && <Pencil onClick={() => {\n edit()\n }} className=\"ml-auto size-4 opacity-0 group-hover:opacity-100 transition-opacity cursor-pointer\" />\n }\n </div>\n <div>\n {children}\n </div>\n </div>\n )\n}\n\nconst Contexts = ({ activeFolder, activeArchived, activeSettings }: { activeFolder: string, activeArchived: boolean, activeSettings: boolean }) => {\n\n const { data, loading, error } = useContexts();\n\n return (<>\n <div key={activeFolder + activeArchived + activeSettings} className=\"group flex flex-col gap-4 py-2 data-[collapsed=true]:py-2 pb-5\">\n\n {\n activeFolder ? <div className=\"flex items-center gap-2\">\n <Button variant=\"link\" size=\"sm\" asChild>\n <Link href=\"/data\">\n <ArrowLeft className=\"size-4\" />\n <span className=\"ml-2\">Back to dashboard</span>\n </Link>\n </Button>\n </div> : <div className=\"flex items-center gap-2\">\n <span className=\"text-sm text-muted-foreground ml-5 pt-3\">Select a context:</span>\n </div>\n }\n <nav\n className=\"grid gap-1 px-2 group-[[data-collapsed=true]]:justify-center group-[[data-collapsed=true]]:px-2\">\n {\n loading ? <ContextLink index={111} folder={{\n label: `Loading...`,\n active: false,\n icon: Loader,\n variant: \"ghost\"\n }} /> : data?.contexts?.items.map((folder, index) => {\n return (<ContextLink key={folder.id} index={index} folder={{\n label: `${folder.name}`,\n icon: Folder,\n variant: \"ghost\",\n href: `/data/${folder.id}`,\n }}>\n {\n activeFolder?.toLowerCase() === `${folder.id}`.toLowerCase() &&\n <>\n <ContextLink index={index} indented={true} folder={{\n label: \"Active data\",\n active: activeFolder?.toLowerCase() === `${folder.id}`.toLowerCase() && !activeArchived && !activeSettings,\n icon: ListChecksIcon,\n variant: activeFolder?.toLowerCase() === `${folder.id}`.toLowerCase() && !activeArchived && !activeSettings ? \"default\" : \"ghost\",\n href: `/data/${folder.id}`,\n }}></ContextLink>\n <ContextLink index={index + 1000} indented={true} folder={{\n label: `Archived data`,\n active: activeArchived,\n icon: ArchiveX,\n variant: activeArchived ? \"default\" : \"ghost\",\n href: `/data/${folder.id}/archived`,\n }} />\n <ContextLink index={index + 1000} indented={true} folder={{\n label: `Settings`,\n active: activeSettings,\n icon: Settings,\n variant: activeSettings ? \"default\" : \"ghost\",\n href: `/data/${folder.id}/settings`,\n }} />\n </>\n }\n\n </ContextLink>)\n })\n }\n </nav>\n </div>\n </>)\n}\n\nexport default Contexts;","\"use client\"\n\nimport * as React from \"react\";\nimport { DataList } from \"@/app/(application)/data/components/data-list\";\nimport { Alert, AlertDescription, AlertTitle } from \"@/components/ui/alert\";\nimport { Badge } from \"@/components/ui/badge\";\nimport {\n ResizableHandle,\n ResizablePanel,\n ResizablePanelGroup,\n} from \"@/components/ui/resizable\";\nimport { Separator } from \"@/components/ui/separator\";\nimport { Tabs } from \"@/components/ui/tabs\";\nimport {\n TooltipProvider,\n} from \"@/components/ui/tooltip\";\nimport Contexts from \"@/app/(application)/data/[[...query]]/contexts\";\n\nexport default function DataLayout({ children, params }: { children: any, params: { query }; }) {\n\n const defaultLayout = [15, 20, 65];\n const navCollapsedSize = 4;\n const archived = params.query && params.query[1] === \"archived\";\n const settings = params.query && params.query[1] === \"settings\";\n const context = params.query && params.query[0];\n let item = null;\n if (params.query && archived) {\n item = params.query[2] || null;\n } else if (params.query && !settings) {\n item = params.query[1] || null;\n }\n\n return (\n <TooltipProvider delayDuration={0}>\n <ResizablePanelGroup\n direction=\"horizontal\"\n onLayout={(sizes: number[]) => {\n document.cookie = `react-resizable-panels:layout=${JSON.stringify(\n sizes,\n )}`;\n }}\n className=\"h-full items-stretch\">\n <ResizablePanel\n defaultSize={defaultLayout[0]}\n collapsedSize={navCollapsedSize}\n collapsible={true}\n minSize={15}\n maxSize={20}>\n <Separator />\n <Contexts activeFolder={context} activeArchived={archived} activeSettings={settings} />\n <Separator />\n <div className=\"p-3 opacity-50\">\n <Alert variant=\"default\">\n <Badge className=\"mb-2\" variant={\"secondary\"}>\n coming soon\n </Badge>\n <AlertTitle>Custom views</AlertTitle>\n <AlertDescription>\n Will enable you to store filter settings.\n </AlertDescription>\n </Alert>\n </div>\n </ResizablePanel>\n\n {\n context && !settings && <>\n <ResizableHandle withHandle />\n <ResizablePanel defaultSize={defaultLayout[1]} minSize={20}>\n <Tabs defaultValue=\"all\">\n <div className=\"flex items-center px-4 py-2 h-full\">\n <h1 className=\"text-xl font-bold\">Items</h1>\n </div>\n <Separator />\n <DataList\n activeFolder={context}\n activeItem={item ?? undefined}\n archived={archived}\n />\n </Tabs>\n </ResizablePanel>\n </>\n }\n <ResizableHandle withHandle />\n <ResizablePanel defaultSize={defaultLayout[2]}>\n <div className=\"max-h-full overflow-y-auto\">\n {children}\n </div>\n </ResizablePanel>\n </ResizablePanelGroup>\n </TooltipProvider>\n );\n}","import { cva, type VariantProps } from \"class-variance-authority\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst alertVariants = cva(\n \"relative w-full rounded-lg border p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground\",\n {\n variants: {\n variant: {\n default: \"bg-background text-foreground\",\n destructive:\n \"border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive\",\n info: \"border-info/50 text-info dark:border-info [&>svg]:text-info\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n },\n);\n\nconst Alert = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement> & VariantProps<typeof alertVariants>\n>(({ className, variant, ...props }, ref) => (\n <div\n ref={ref}\n role=\"alert\"\n className={cn(alertVariants({ variant }), className)}\n {...props}\n />\n));\nAlert.displayName = \"Alert\";\n\nconst AlertTitle = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLHeadingElement>\n>(({ className, ...props }, ref) => (\n <h5\n ref={ref}\n className={cn(\"mb-1 font-medium leading-none tracking-tight\", className)}\n {...props}\n />\n));\nAlertTitle.displayName = \"AlertTitle\";\n\nconst AlertDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"text-sm [&_p]:leading-relaxed\", className)}\n {...props}\n />\n));\nAlertDescription.displayName = \"AlertDescription\";\n\nexport { Alert, AlertTitle, AlertDescription };\n","import { cva, type VariantProps } from \"class-variance-authority\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst badgeVariants = cva(\n \"inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2\",\n {\n variants: {\n variant: {\n default:\n \"border-transparent bg-primary text-primary-foreground hover:bg-primary/80\",\n secondary:\n \"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80\",\n destructive:\n \"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80\",\n outline: \"text-foreground\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n },\n);\n\nexport interface BadgeProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof badgeVariants> {}\n\nfunction Badge({ className, variant, ...props }: BadgeProps) {\n return (\n <div className={cn(badgeVariants({ variant }), className)} {...props} />\n );\n}\n\nexport { Badge, badgeVariants };\n","\"use client\";\n\nimport * as CheckboxPrimitive from \"@radix-ui/react-checkbox\";\nimport { Check } from \"lucide-react\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst Checkbox = React.forwardRef<\n React.ElementRef<typeof CheckboxPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root>\n>(({ className, ...props }, ref) => (\n <CheckboxPrimitive.Root\n ref={ref}\n className={cn(\n \"peer h-4 w-4 shrink-0 rounded-sm border border-primary ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground\",\n className,\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator\n className={cn(\"flex items-center justify-center text-current\")}\n >\n <Check className=\"size-4\" />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n));\nCheckbox.displayName = CheckboxPrimitive.Root.displayName;\n\nexport { Checkbox };\n","import { cn } from \"@/lib/utils\";\n\nexport const Loading = ({ className }: { className?: null | string }) => {\n return (\n <svg\n aria-hidden=\"true\"\n role=\"status\"\n className={cn(\"inline w-4 h-4 text-white animate-spin fill-inherit\", className)}\n viewBox=\"0 0 100 101\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z\"\n className=\"fill-inherit opacity-20\"\n ></path>\n <path\n d=\"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z\"\n className=\"fill-inherit\"\n ></path>\n </svg>\n );\n};\n","\"use client\";\n\nimport * as ScrollAreaPrimitive from \"@radix-ui/react-scroll-area\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst ScrollArea = React.forwardRef<\n React.ElementRef<typeof ScrollAreaPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.Root>\n>(({ className, children, ...props }, ref) => (\n <ScrollAreaPrimitive.Root\n ref={ref}\n className={cn(\"relative overflow-hidden\", className)}\n {...props}\n >\n <ScrollAreaPrimitive.Viewport className=\"size-full rounded-[inherit]\">\n {children}\n </ScrollAreaPrimitive.Viewport>\n <ScrollBar />\n <ScrollAreaPrimitive.Corner />\n </ScrollAreaPrimitive.Root>\n));\nScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;\n\nconst ScrollBar = React.forwardRef<\n React.ElementRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>\n>(({ className, orientation = \"vertical\", ...props }, ref) => (\n <ScrollAreaPrimitive.ScrollAreaScrollbar\n ref={ref}\n orientation={orientation}\n className={cn(\n \"flex touch-none select-none transition-colors\",\n orientation === \"vertical\" &&\n \"h-full w-2.5 border-l border-l-transparent p-[1px]\",\n orientation === \"horizontal\" &&\n \"h-2.5 flex-col border-t border-t-transparent p-[1px]\",\n className,\n )}\n {...props}\n >\n <ScrollAreaPrimitive.ScrollAreaThumb className=\"relative flex-1 rounded-full bg-border\" />\n </ScrollAreaPrimitive.ScrollAreaScrollbar>\n));\nScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;\n\nexport { ScrollArea, ScrollBar };\n","import * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst Table = React.forwardRef<\n HTMLTableElement,\n React.HTMLAttributes<HTMLTableElement>\n>(({ className, ...props }, ref) => (\n <div className=\"relative w-full overflow-auto\">\n <table\n ref={ref}\n className={cn(\"w-full caption-bottom text-sm\", className)}\n {...props}\n />\n </div>\n));\nTable.displayName = \"Table\";\n\nconst TableHeader = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <thead ref={ref} className={cn(\"[&_tr]:border-b\", className)} {...props} />\n));\nTableHeader.displayName = \"TableHeader\";\n\nconst TableBody = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <tbody\n ref={ref}\n className={cn(\"[&_tr:last-child]:border-0\", className)}\n {...props}\n />\n));\nTableBody.displayName = \"TableBody\";\n\nconst TableFooter = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <tfoot\n ref={ref}\n className={cn(\n \"border-t bg-muted/50 font-medium [&>tr]:last:border-b-0\",\n className,\n )}\n {...props}\n />\n));\nTableFooter.displayName = \"TableFooter\";\n\nconst TableRow = React.forwardRef<\n HTMLTableRowElement,\n React.HTMLAttributes<HTMLTableRowElement>\n>(({ className, ...props }, ref) => (\n <tr\n ref={ref}\n className={cn(\n \"border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted\",\n className,\n )}\n {...props}\n />\n));\nTableRow.displayName = \"TableRow\";\n\nconst TableHead = React.forwardRef<\n HTMLTableCellElement,\n React.ThHTMLAttributes<HTMLTableCellElement>\n>(({ className, ...props }, ref) => (\n <th\n ref={ref}\n className={cn(\n \"h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0 [&:has([role=checkbox])]:w-[40px]\",\n className,\n )}\n {...props}\n />\n));\nTableHead.displayName = \"TableHead\";\n\nconst TableCell = React.forwardRef<\n HTMLTableCellElement,\n React.TdHTMLAttributes<HTMLTableCellElement>\n>(({ className, ...props }, ref) => (\n <td\n ref={ref}\n className={cn(\n \"p-4 align-middle [&:has([role=checkbox])]:pr-0 [&:has([role=checkbox])]:w-[40px]\",\n className,\n )}\n {...props}\n />\n));\nTableCell.displayName = \"TableCell\";\n\nconst TableCaption = React.forwardRef<\n HTMLTableCaptionElement,\n React.HTMLAttributes<HTMLTableCaptionElement>\n>(({ className, ...props }, ref) => (\n <caption\n ref={ref}\n className={cn(\"mt-4 text-sm text-muted-foreground\", className)}\n {...props}\n />\n));\nTableCaption.displayName = \"TableCaption\";\n\nexport {\n Table,\n TableHeader,\n TableBody,\n TableFooter,\n TableHead,\n TableRow,\n TableCell,\n TableCaption,\n};\n","\"use client\";\n\nimport * as TabsPrimitive from \"@radix-ui/react-tabs\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst Tabs = TabsPrimitive.Root;\n\nconst TabsList = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.List>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.List>\n>(({ className, ...props }, ref) => (\n <TabsPrimitive.List\n ref={ref}\n className={cn(\n \"inline-flex h-10 items-center justify-center rounded-md bg-muted p-1 text-muted-foreground\",\n className,\n )}\n {...props}\n />\n));\nTabsList.displayName = TabsPrimitive.List.displayName;\n\nconst TabsTrigger = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger>\n>(({ className, ...props }, ref) => (\n <TabsPrimitive.Trigger\n ref={ref}\n className={cn(\n \"inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm\",\n className,\n )}\n {...props}\n />\n));\nTabsTrigger.displayName = TabsPrimitive.Trigger.displayName;\n\nconst TabsContent = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Content>\n>(({ className, ...props }, ref) => (\n <TabsPrimitive.Content\n ref={ref}\n className={cn(\n \"mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\",\n className,\n )}\n {...props}\n />\n));\nTabsContent.displayName = TabsPrimitive.Content.displayName;\n\nexport { Tabs, TabsList, TabsTrigger, TabsContent };\n","\"use client\";\n\n// Inspired by react-hot-toast library\nimport * as React from \"react\";\n\nimport type { ToastActionElement, ToastProps } from \"@/components/ui/toast\";\n\nconst TOAST_LIMIT = 1;\nconst TOAST_REMOVE_DELAY = 1000000;\n\ntype ToasterToast = ToastProps & {\n id: string;\n title?: React.ReactNode;\n description?: React.ReactNode;\n action?: ToastActionElement;\n};\n\nconst actionTypes = {\n ADD_TOAST: \"ADD_TOAST\",\n UPDATE_TOAST: \"UPDATE_TOAST\",\n DISMISS_TOAST: \"DISMISS_TOAST\",\n REMOVE_TOAST: \"REMOVE_TOAST\",\n} as const;\n\nlet count = 0;\n\nfunction genId() {\n count = (count + 1) % Number.MAX_SAFE_INTEGER;\n return count.toString();\n}\n\ntype ActionType = typeof actionTypes;\n\ntype Action =\n | {\n type: ActionType[\"ADD_TOAST\"];\n toast: ToasterToast;\n }\n | {\n type: ActionType[\"UPDATE_TOAST\"];\n toast: Partial<ToasterToast>;\n }\n | {\n type: ActionType[\"DISMISS_TOAST\"];\n toastId?: ToasterToast[\"id\"];\n }\n | {\n type: ActionType[\"REMOVE_TOAST\"];\n toastId?: ToasterToast[\"id\"];\n };\n\ninterface State {\n toasts: ToasterToast[];\n}\n\nconst toastTimeouts = new Map<string, ReturnType<typeof setTimeout>>();\n\nconst addToRemoveQueue = (toastId: string) => {\n if (toastTimeouts.has(toastId)) {\n return;\n }\n\n const timeout = setTimeout(() => {\n toastTimeouts.delete(toastId);\n dispatch({\n type: \"REMOVE_TOAST\",\n toastId: toastId,\n });\n }, TOAST_REMOVE_DELAY);\n\n toastTimeouts.set(toastId, timeout);\n};\n\nexport const reducer = (state: State, action: Action): State => {\n switch (action.type) {\n case \"ADD_TOAST\":\n return {\n ...state,\n toasts: [action.toast, ...state.toasts].slice(0, TOAST_LIMIT),\n };\n\n case \"UPDATE_TOAST\":\n return {\n ...state,\n toasts: state.toasts.map((t) =>\n t.id === action.toast.id ? { ...t, ...action.toast } : t,\n ),\n };\n\n case \"DISMISS_TOAST\": {\n const { toastId } = action;\n\n // ! Side effects ! - This could be extracted into a dismissToast() action,\n // but I'll keep it here for simplicity\n if (toastId) {\n addToRemoveQueue(toastId);\n } else {\n state.toasts.forEach((toast) => {\n addToRemoveQueue(toast.id);\n });\n }\n\n return {\n ...state,\n toasts: state.toasts.map((t) =>\n t.id === toastId || toastId === undefined\n ? {\n ...t,\n open: false,\n }\n : t,\n ),\n };\n }\n case \"REMOVE_TOAST\":\n if (action.toastId === undefined) {\n return {\n ...state,\n toasts: [],\n };\n }\n return {\n ...state,\n toasts: state.toasts.filter((t) => t.id !== action.toastId),\n };\n }\n};\n\nconst listeners: Array<(state: State) => void> = [];\n\nlet memoryState: State = { toasts: [] };\n\nfunction dispatch(action: Action) {\n memoryState = reducer(memoryState, action);\n listeners.forEach((listener) => {\n listener(memoryState);\n });\n}\n\ntype Toast = Omit<ToasterToast, \"id\">;\n\nfunction toast({ ...props }: Toast) {\n const id = genId();\n\n const update = (props: ToasterToast) =>\n dispatch({\n type: \"UPDATE_TOAST\",\n toast: { ...props, id },\n });\n const dismiss = () => dispatch({ type: \"DISMISS_TOAST\", toastId: id });\n\n dispatch({\n type: \"ADD_TOAST\",\n toast: {\n ...props,\n id,\n open: true,\n onOpenChange: (open) => {\n if (!open) dismiss();\n },\n },\n });\n\n return {\n id: id,\n dismiss,\n update,\n };\n}\n\nfunction useToast() {\n const [state, setState] = React.useState<State>(memoryState);\n\n React.useEffect(() => {\n listeners.push(setState);\n return () => {\n const index = listeners.indexOf(setState);\n if (index > -1) {\n listeners.splice(index, 1);\n }\n };\n }, [state]);\n\n return {\n ...state,\n toast,\n dismiss: (toastId?: string) => dispatch({ type: \"DISMISS_TOAST\", toastId }),\n };\n}\n\nexport { useToast, toast };\n","import { GET_CONTEXTS } from \"@/queries/queries\";\nimport { Context } from \"@/types/models/context\";\nimport { useQuery } from \"@apollo/client\";\n\nexport const useContexts = () => {\n return useQuery<{ contexts: { items: Context[] } }>(GET_CONTEXTS, {\n variables: {\n limit: 20\n }\n })\n};"],"names":["Promise","resolve","then","__webpack_require__","bind","columns","id","header","table","param","jsx_runtime","jsx","Checkbox","checked","getIsAllPageRowsSelected","getIsSomePageRowsSelected","onCheckedChange","toggleAllPageRowsSelected","value","aria-label","className","cell","row","getIsSelected","toggleSelected","enableSorting","enableHiding","accessorKey","console","log","original","jsxs","div","span","name","text","slice","small","format","Date","createdAt","SearchBar","onSearch","concat","query","placeholder","setQuery","useState","form","onSubmit","e","preventDefault","Search","Input","type","onChange","target","Fragment","Button","variant","size","onClick","X","DataList","data","activeFolder","activeItem","archived","path","usePathname","params","useSearchParams","page","setPage","get","parseInt","search","user","useContext","UserContext","toast","useToast","company","setCompany","router","useRouter","rowSelection","setRowSelection","React","columnVisibility","setColumnVisibility","columnFilters","setColumnFilters","sorting","setSorting","loading","raw","refetch","previousData","prev","error","useQuery","GET_ITEMS","fetchPolicy","nextFetchPolicy","variables","context","limit","sort","field","direction","filters","eq","contains","PAGINATION_POSTFIX","updateItemMutation","updateItemMutationResult","useMutation","UPDATE_ITEM","onCompleted","deleteItemMutation","deleteItemMutationResult","DELETE_ITEM","defaultData","onPaginationChange","skip","pagination","usePagination","setPagination","pageSize","pageIndex","useReactTable","items","pageCount","pageInfo","state","enableRowSelection","onRowSelectionChange","onSortingChange","onColumnFiltersChange","onColumnVisibilityChange","getCoreRowModel","getFilteredRowModel","getPaginationRowModel","getSortedRowModel","getFacetedRowModel","getFacetedUniqueValues","manualPagination","createItemMutation","createItemMutationResult","CREATE_ITEM","CREATE_ONE_POSTFIX","item","undefined","push","setParams","URLSearchParams","set","toString","selectItem","Alert","ExclamationTriangleIcon","AlertTitle","AlertDescription","message","input","source","textlength","disabled","Loading","Plus","getIsSomeRowsSelected","getIsAllRowsSelected","promises","getSelectedRowModel","rows","forEach","all","resetRowSelection","title","description","length","PackageOpen","Trash2","Archive","ScrollArea","Skeleton","Table","TableBody","getRowModel","map","TableRow","cn","data-state","getVisibleCells","index","TableCell","flexRender","column","columnDef","getContext","colSpan","getFilteredSelectedRowModel","itemCount","hasPreviousPage","DoubleArrowLeftIcon","ChevronLeftIcon","hasNextPage","ChevronRightIcon","ResizablePanelGroup","props","ResizablePrimitive","ResizablePanel","ResizableHandle","withHandle","GripVertical","ContextLink","folder","edit","indented","children","buttonVariants","active","Link","href","icon","label","Pencil","_query_contexts","activeArchived","activeSettings","useContexts","asChild","ArrowLeft","nav","Loader","contexts","Folder","toLowerCase","ListChecksIcon","ArchiveX","Settings","DataLayout","settings","TooltipProvider","delayDuration","onLayout","document","cookie","JSON","stringify","sizes","defaultSize","collapsedSize","collapsible","minSize","maxSize","Separator","Contexts","Badge","Tabs","defaultValue","h1","alertVariants","cva","variants","default","destructive","info","defaultVariants","ref","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","role","displayName","h5","badgeVariants","secondary","outline","CheckboxPrimitive","Check","svg","aria-hidden","viewBox","fill","xmlns","d","ScrollAreaPrimitive","ScrollBar","orientation","TableHeader","thead","tbody","TableFooter","tfoot","tr","TableHead","th","td","TableCaption","caption","TabsPrimitive","TabsList","TabsTrigger","TabsContent","count","toastTimeouts","Map","addToRemoveQueue","has","toastId","timeout","setTimeout","delete","dispatch","reducer","action","toasts","t","open","filter","listeners","memoryState","listener","Number","MAX_SAFE_INTEGER","dismiss","onOpenChange","update","setState","indexOf","splice","GET_CONTEXTS"],"sourceRoot":""}