@baasix/baasix 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (666) hide show
  1. package/LICENSE.MD +85 -0
  2. package/README.md +526 -0
  3. package/assets/banner.jpg +0 -0
  4. package/assets/banner_small.jpg +0 -0
  5. package/assets/logo_icon.svg +20 -0
  6. package/assets/logo_icon_rounded.svg +20 -0
  7. package/dist/LICENSE.MD +85 -0
  8. package/dist/README.md +526 -0
  9. package/dist/app/404/index.html +1 -0
  10. package/dist/app/404.html +1 -0
  11. package/dist/app/_next/static/chunks/041e1f03-56ae8a902a7f2fe6.js +24 -0
  12. package/dist/app/_next/static/chunks/1117-05479929a8da73e3.js +1 -0
  13. package/dist/app/_next/static/chunks/1299.77cc7b7b76b75cba.js +1 -0
  14. package/dist/app/_next/static/chunks/1303-35a96e9c9cdeab9d.js +1 -0
  15. package/dist/app/_next/static/chunks/1509-56ac00cdaaecdf53.js +1 -0
  16. package/dist/app/_next/static/chunks/1668-e3eabd0f6753c780.js +1 -0
  17. package/dist/app/_next/static/chunks/1783-d9fb550fd324300c.js +1 -0
  18. package/dist/app/_next/static/chunks/2117-29b5fa47421595ad.js +2 -0
  19. package/dist/app/_next/static/chunks/2344.35b46d2179a765b5.js +1 -0
  20. package/dist/app/_next/static/chunks/257.990da16794a31292.js +1 -0
  21. package/dist/app/_next/static/chunks/2676-73b0ee7c80073a84.js +1 -0
  22. package/dist/app/_next/static/chunks/3563-b8842744384391fe.js +1 -0
  23. package/dist/app/_next/static/chunks/363642f4-933b579ed3c85f60.js +1 -0
  24. package/dist/app/_next/static/chunks/3817-e20c8f0a0810fc95.js +1 -0
  25. package/dist/app/_next/static/chunks/3834.84944e390d902509.js +2 -0
  26. package/dist/app/_next/static/chunks/4043-3a30c8a75896f241.js +1 -0
  27. package/dist/app/_next/static/chunks/4225-14090c7c0cd9dec6.js +1 -0
  28. package/dist/app/_next/static/chunks/4438-c9a12ca15b6e9160.js +1 -0
  29. package/dist/app/_next/static/chunks/4458-679fd0c6884f456a.js +1 -0
  30. package/dist/app/_next/static/chunks/4475-8bdfbd536fba8c48.js +1 -0
  31. package/dist/app/_next/static/chunks/4883-8a924721bb21b3b0.js +1 -0
  32. package/dist/app/_next/static/chunks/489-683ab07188f9df2b.js +1 -0
  33. package/dist/app/_next/static/chunks/4952-1b97320cf61f3f21.js +1 -0
  34. package/dist/app/_next/static/chunks/5094-8d53e403235d4ca6.js +1 -0
  35. package/dist/app/_next/static/chunks/5101-3a146e0625747ad1.js +1 -0
  36. package/dist/app/_next/static/chunks/54a60aa6-d9747982e0a81f58.js +79 -0
  37. package/dist/app/_next/static/chunks/5650-f096291df402bfc2.js +1 -0
  38. package/dist/app/_next/static/chunks/600-539045311240f579.js +1 -0
  39. package/dist/app/_next/static/chunks/6170-803b82e19d3ade6d.js +89 -0
  40. package/dist/app/_next/static/chunks/6241-30d7169d1010e5a4.js +1 -0
  41. package/dist/app/_next/static/chunks/6530-a91e10cffa4200c4.js +1 -0
  42. package/dist/app/_next/static/chunks/6547-4bbbdb5c399aef1e.js +1 -0
  43. package/dist/app/_next/static/chunks/6712-781937c53a2c49da.js +1 -0
  44. package/dist/app/_next/static/chunks/6fcbdc68-90be1a5480b8d353.js +1 -0
  45. package/dist/app/_next/static/chunks/70e0d97a-aeaf0cdc26ba1a58.js +1 -0
  46. package/dist/app/_next/static/chunks/7214-5154a89d08d24dde.js +1 -0
  47. package/dist/app/_next/static/chunks/7324-b53229c59a640880.js +10 -0
  48. package/dist/app/_next/static/chunks/7636-66424f0b51d350e9.js +1 -0
  49. package/dist/app/_next/static/chunks/7874-39a3f2541165a675.js +1 -0
  50. package/dist/app/_next/static/chunks/7982-9da12b83f11e3f5f.js +1 -0
  51. package/dist/app/_next/static/chunks/8213a2eb-da25a3b3c5521b2b.js +1 -0
  52. package/dist/app/_next/static/chunks/8473-6598318371eca31b.js +1 -0
  53. package/dist/app/_next/static/chunks/8640fa6b-72e43370f68e5587.js +1 -0
  54. package/dist/app/_next/static/chunks/9090-3ef676f29c95f1c7.js +1 -0
  55. package/dist/app/_next/static/chunks/9124-a02f9e209e6e3cce.js +1 -0
  56. package/dist/app/_next/static/chunks/926-156f32067d111d6b.js +1 -0
  57. package/dist/app/_next/static/chunks/9487-b17481605e513b83.js +1 -0
  58. package/dist/app/_next/static/chunks/9599-a7e572bb88c3392b.js +1 -0
  59. package/dist/app/_next/static/chunks/9881-419697138376e755.js +1 -0
  60. package/dist/app/_next/static/chunks/app/(authenticated)/activity-log/all-activity/page-8917930b4d663405.js +1 -0
  61. package/dist/app/_next/static/chunks/app/(authenticated)/activity-log/email-log/page-b27a6ee32782d7df.js +1 -0
  62. package/dist/app/_next/static/chunks/app/(authenticated)/activity-log/notifications/page-b7eda523ede2702c.js +1 -0
  63. package/dist/app/_next/static/chunks/app/(authenticated)/activity-log/page-1cfa62d1caedaed0.js +1 -0
  64. package/dist/app/_next/static/chunks/app/(authenticated)/activity-log/sessions/page-3e21e20db90aeff7.js +1 -0
  65. package/dist/app/_next/static/chunks/app/(authenticated)/activity-log/workflow-executions/page-27bcc26b747fb29b.js +1 -0
  66. package/dist/app/_next/static/chunks/app/(authenticated)/activity-log/workflow-logs/page-9f9e9e952aef436e.js +1 -0
  67. package/dist/app/_next/static/chunks/app/(authenticated)/change-password/page-8d61aa499eabb127.js +1 -0
  68. package/dist/app/_next/static/chunks/app/(authenticated)/dashboard/page-1ceeac9e72997a8a.js +1 -0
  69. package/dist/app/_next/static/chunks/app/(authenticated)/data-browser/page-8cda2b57759dd670.js +1 -0
  70. package/dist/app/_next/static/chunks/app/(authenticated)/file-manager/page-8c6f1b1da66ad7e4.js +1 -0
  71. package/dist/app/_next/static/chunks/app/(authenticated)/layout-f70d225b2759c998.js +1 -0
  72. package/dist/app/_next/static/chunks/app/(authenticated)/settings/migrations/page-aacec8f7cfb40ab2.js +1 -0
  73. package/dist/app/_next/static/chunks/app/(authenticated)/settings/permissions/page-828110cfcde429c6.js +1 -0
  74. package/dist/app/_next/static/chunks/app/(authenticated)/settings/project/page-420e794bb76bd204.js +1 -0
  75. package/dist/app/_next/static/chunks/app/(authenticated)/settings/roles/page-9001d02b28f70708.js +1 -0
  76. package/dist/app/_next/static/chunks/app/(authenticated)/settings/schema/page-899574f35091dd58.js +1 -0
  77. package/dist/app/_next/static/chunks/app/(authenticated)/settings/tasks/page-ad7ab3e27c83f44f.js +1 -0
  78. package/dist/app/_next/static/chunks/app/(authenticated)/settings/templates/edit/page-bd83414cb8c4cb04.js +1 -0
  79. package/dist/app/_next/static/chunks/app/(authenticated)/settings/templates/page-3181447f8772b1d3.js +1 -0
  80. package/dist/app/_next/static/chunks/app/(authenticated)/settings/tenants/page-ef9bfbacef5a1d73.js +1 -0
  81. package/dist/app/_next/static/chunks/app/(authenticated)/users/invites/page-480306b7b2bbac7e.js +1 -0
  82. package/dist/app/_next/static/chunks/app/(authenticated)/users/list/page-74da51254c2606b3.js +1 -0
  83. package/dist/app/_next/static/chunks/app/(authenticated)/users/page-e99c6f0b915001b2.js +1 -0
  84. package/dist/app/_next/static/chunks/app/(authenticated)/users/preferences/page-1a935630ce8f2b12.js +1 -0
  85. package/dist/app/_next/static/chunks/app/(authenticated)/users/user-roles/page-901dfb8ea1f39ca8.js +1 -0
  86. package/dist/app/_next/static/chunks/app/(authenticated)/workflows/detail/page-9a6b839aea688ca4.js +1 -0
  87. package/dist/app/_next/static/chunks/app/(authenticated)/workflows/edit/page-11774efbc2fecae2.js +1 -0
  88. package/dist/app/_next/static/chunks/app/(authenticated)/workflows/execution/page-8ec1aea90412c03d.js +1 -0
  89. package/dist/app/_next/static/chunks/app/(authenticated)/workflows/page-88bc5b36ccb0a1f7.js +1 -0
  90. package/dist/app/_next/static/chunks/app/(public)/forgot-password/page-ed263fd46ef81c20.js +1 -0
  91. package/dist/app/_next/static/chunks/app/(public)/layout-f538977545844af8.js +1 -0
  92. package/dist/app/_next/static/chunks/app/(public)/login/page-c0a10b137f346096.js +1 -0
  93. package/dist/app/_next/static/chunks/app/(public)/register/page-4cb7644893efd9b3.js +1 -0
  94. package/dist/app/_next/static/chunks/app/_not-found/page-653f8815b78256cc.js +1 -0
  95. package/dist/app/_next/static/chunks/app/layout-591ca7a3e16528a1.js +1 -0
  96. package/dist/app/_next/static/chunks/app/page-dd19d124b5fa2577.js +1 -0
  97. package/dist/app/_next/static/chunks/c37d3baf.c2ff165f5b02c692.js +1 -0
  98. package/dist/app/_next/static/chunks/d0deef33.0379166a4ec23470.js +1 -0
  99. package/dist/app/_next/static/chunks/fd9d1056-54169f07cd680d6c.js +1 -0
  100. package/dist/app/_next/static/chunks/framework-8e0e0f4a6b83a956.js +1 -0
  101. package/dist/app/_next/static/chunks/main-324e91f5a430cddf.js +1 -0
  102. package/dist/app/_next/static/chunks/main-app-55bcae20c77aaf0e.js +1 -0
  103. package/dist/app/_next/static/chunks/pages/_app-3c9ca398d360b709.js +1 -0
  104. package/dist/app/_next/static/chunks/pages/_error-cf5ca766ac8f493f.js +1 -0
  105. package/dist/app/_next/static/chunks/polyfills-42372ed130431b0a.js +1 -0
  106. package/dist/app/_next/static/chunks/webpack-2c306566f7ee1b63.js +1 -0
  107. package/dist/app/_next/static/css/6c4002bae4e236b2.css +3 -0
  108. package/dist/app/_next/static/css/a275cc2b185e04f8.css +1 -0
  109. package/dist/app/_next/static/eCWhKA8XHqmB1zgFcEtN2/_buildManifest.js +1 -0
  110. package/dist/app/_next/static/eCWhKA8XHqmB1zgFcEtN2/_ssgManifest.js +1 -0
  111. package/dist/app/activity-log/all-activity/index.html +1 -0
  112. package/dist/app/activity-log/all-activity/index.txt +14 -0
  113. package/dist/app/activity-log/email-log/index.html +1 -0
  114. package/dist/app/activity-log/email-log/index.txt +14 -0
  115. package/dist/app/activity-log/index.html +1 -0
  116. package/dist/app/activity-log/index.txt +14 -0
  117. package/dist/app/activity-log/notifications/index.html +1 -0
  118. package/dist/app/activity-log/notifications/index.txt +14 -0
  119. package/dist/app/activity-log/sessions/index.html +1 -0
  120. package/dist/app/activity-log/sessions/index.txt +14 -0
  121. package/dist/app/activity-log/workflow-executions/index.html +1 -0
  122. package/dist/app/activity-log/workflow-executions/index.txt +14 -0
  123. package/dist/app/activity-log/workflow-logs/index.html +1 -0
  124. package/dist/app/activity-log/workflow-logs/index.txt +14 -0
  125. package/dist/app/change-password/index.html +1 -0
  126. package/dist/app/change-password/index.txt +14 -0
  127. package/dist/app/dashboard/index.html +1 -0
  128. package/dist/app/dashboard/index.txt +14 -0
  129. package/dist/app/data-browser/index.html +1 -0
  130. package/dist/app/data-browser/index.txt +14 -0
  131. package/dist/app/file-manager/index.html +1 -0
  132. package/dist/app/file-manager/index.txt +14 -0
  133. package/dist/app/forgot-password/index.html +1 -0
  134. package/dist/app/forgot-password/index.txt +13 -0
  135. package/dist/app/index.html +1 -0
  136. package/dist/app/index.txt +9 -0
  137. package/dist/app/login/index.html +1 -0
  138. package/dist/app/login/index.txt +13 -0
  139. package/dist/app/logo-dark.png +0 -0
  140. package/dist/app/logo-icon.svg +81 -0
  141. package/dist/app/logo-light.png +0 -0
  142. package/dist/app/register/index.html +1 -0
  143. package/dist/app/register/index.txt +13 -0
  144. package/dist/app/settings/migrations/index.html +1 -0
  145. package/dist/app/settings/migrations/index.txt +14 -0
  146. package/dist/app/settings/permissions/index.html +1 -0
  147. package/dist/app/settings/permissions/index.txt +14 -0
  148. package/dist/app/settings/project/index.html +1 -0
  149. package/dist/app/settings/project/index.txt +14 -0
  150. package/dist/app/settings/roles/index.html +1 -0
  151. package/dist/app/settings/roles/index.txt +14 -0
  152. package/dist/app/settings/schema/index.html +1 -0
  153. package/dist/app/settings/schema/index.txt +14 -0
  154. package/dist/app/settings/tasks/index.html +1 -0
  155. package/dist/app/settings/tasks/index.txt +14 -0
  156. package/dist/app/settings/templates/edit/index.html +1 -0
  157. package/dist/app/settings/templates/edit/index.txt +14 -0
  158. package/dist/app/settings/templates/index.html +1 -0
  159. package/dist/app/settings/templates/index.txt +14 -0
  160. package/dist/app/settings/tenants/index.html +1 -0
  161. package/dist/app/settings/tenants/index.txt +14 -0
  162. package/dist/app/users/index.html +1 -0
  163. package/dist/app/users/index.txt +14 -0
  164. package/dist/app/users/invites/index.html +1 -0
  165. package/dist/app/users/invites/index.txt +14 -0
  166. package/dist/app/users/list/index.html +1 -0
  167. package/dist/app/users/list/index.txt +14 -0
  168. package/dist/app/users/preferences/index.html +1 -0
  169. package/dist/app/users/preferences/index.txt +14 -0
  170. package/dist/app/users/user-roles/index.html +1 -0
  171. package/dist/app/users/user-roles/index.txt +14 -0
  172. package/dist/app/workflows/detail/index.html +1 -0
  173. package/dist/app/workflows/detail/index.txt +14 -0
  174. package/dist/app/workflows/edit/index.html +1 -0
  175. package/dist/app/workflows/edit/index.txt +14 -0
  176. package/dist/app/workflows/execution/index.html +1 -0
  177. package/dist/app/workflows/execution/index.txt +14 -0
  178. package/dist/app/workflows/index.html +1 -0
  179. package/dist/app/workflows/index.txt +14 -0
  180. package/dist/app.d.ts +36 -0
  181. package/dist/app.d.ts.map +1 -0
  182. package/dist/app.js +546 -0
  183. package/dist/app.js.map +1 -0
  184. package/dist/auth/adapters/baasix-adapter.d.ts +12 -0
  185. package/dist/auth/adapters/baasix-adapter.d.ts.map +1 -0
  186. package/dist/auth/adapters/baasix-adapter.js +318 -0
  187. package/dist/auth/adapters/baasix-adapter.js.map +1 -0
  188. package/dist/auth/adapters/index.d.ts +6 -0
  189. package/dist/auth/adapters/index.d.ts.map +1 -0
  190. package/dist/auth/adapters/index.js +5 -0
  191. package/dist/auth/adapters/index.js.map +1 -0
  192. package/dist/auth/core.d.ts +73 -0
  193. package/dist/auth/core.d.ts.map +1 -0
  194. package/dist/auth/core.js +528 -0
  195. package/dist/auth/core.js.map +1 -0
  196. package/dist/auth/index.d.ts +56 -0
  197. package/dist/auth/index.d.ts.map +1 -0
  198. package/dist/auth/index.js +58 -0
  199. package/dist/auth/index.js.map +1 -0
  200. package/dist/auth/oauth2/index.d.ts +5 -0
  201. package/dist/auth/oauth2/index.d.ts.map +1 -0
  202. package/dist/auth/oauth2/index.js +5 -0
  203. package/dist/auth/oauth2/index.js.map +1 -0
  204. package/dist/auth/oauth2/utils.d.ts +90 -0
  205. package/dist/auth/oauth2/utils.d.ts.map +1 -0
  206. package/dist/auth/oauth2/utils.js +167 -0
  207. package/dist/auth/oauth2/utils.js.map +1 -0
  208. package/dist/auth/providers/apple.d.ts +28 -0
  209. package/dist/auth/providers/apple.d.ts.map +1 -0
  210. package/dist/auth/providers/apple.js +192 -0
  211. package/dist/auth/providers/apple.js.map +1 -0
  212. package/dist/auth/providers/credential.d.ts +87 -0
  213. package/dist/auth/providers/credential.d.ts.map +1 -0
  214. package/dist/auth/providers/credential.js +162 -0
  215. package/dist/auth/providers/credential.js.map +1 -0
  216. package/dist/auth/providers/facebook.d.ts +26 -0
  217. package/dist/auth/providers/facebook.d.ts.map +1 -0
  218. package/dist/auth/providers/facebook.js +112 -0
  219. package/dist/auth/providers/facebook.js.map +1 -0
  220. package/dist/auth/providers/github.d.ts +29 -0
  221. package/dist/auth/providers/github.d.ts.map +1 -0
  222. package/dist/auth/providers/github.js +144 -0
  223. package/dist/auth/providers/github.js.map +1 -0
  224. package/dist/auth/providers/google.d.ts +32 -0
  225. package/dist/auth/providers/google.d.ts.map +1 -0
  226. package/dist/auth/providers/google.js +145 -0
  227. package/dist/auth/providers/google.js.map +1 -0
  228. package/dist/auth/providers/index.d.ts +22 -0
  229. package/dist/auth/providers/index.d.ts.map +1 -0
  230. package/dist/auth/providers/index.js +17 -0
  231. package/dist/auth/providers/index.js.map +1 -0
  232. package/dist/auth/routes.d.ts +63 -0
  233. package/dist/auth/routes.d.ts.map +1 -0
  234. package/dist/auth/routes.js +827 -0
  235. package/dist/auth/routes.js.map +1 -0
  236. package/dist/auth/services/index.d.ts +10 -0
  237. package/dist/auth/services/index.d.ts.map +1 -0
  238. package/dist/auth/services/index.js +7 -0
  239. package/dist/auth/services/index.js.map +1 -0
  240. package/dist/auth/services/session.d.ts +81 -0
  241. package/dist/auth/services/session.d.ts.map +1 -0
  242. package/dist/auth/services/session.js +186 -0
  243. package/dist/auth/services/session.js.map +1 -0
  244. package/dist/auth/services/token.d.ts +41 -0
  245. package/dist/auth/services/token.d.ts.map +1 -0
  246. package/dist/auth/services/token.js +44 -0
  247. package/dist/auth/services/token.js.map +1 -0
  248. package/dist/auth/services/verification.d.ts +77 -0
  249. package/dist/auth/services/verification.d.ts.map +1 -0
  250. package/dist/auth/services/verification.js +143 -0
  251. package/dist/auth/services/verification.js.map +1 -0
  252. package/dist/auth/types.d.ts +318 -0
  253. package/dist/auth/types.d.ts.map +1 -0
  254. package/dist/auth/types.js +6 -0
  255. package/dist/auth/types.js.map +1 -0
  256. package/dist/customTypes/arrays.d.ts +200 -0
  257. package/dist/customTypes/arrays.d.ts.map +1 -0
  258. package/dist/customTypes/arrays.js +309 -0
  259. package/dist/customTypes/arrays.js.map +1 -0
  260. package/dist/customTypes/index.d.ts +8 -0
  261. package/dist/customTypes/index.d.ts.map +1 -0
  262. package/dist/customTypes/index.js +11 -0
  263. package/dist/customTypes/index.js.map +1 -0
  264. package/dist/customTypes/postgis.d.ts +146 -0
  265. package/dist/customTypes/postgis.d.ts.map +1 -0
  266. package/dist/customTypes/postgis.js +315 -0
  267. package/dist/customTypes/postgis.js.map +1 -0
  268. package/dist/customTypes/ranges.d.ts +128 -0
  269. package/dist/customTypes/ranges.d.ts.map +1 -0
  270. package/dist/customTypes/ranges.js +257 -0
  271. package/dist/customTypes/ranges.js.map +1 -0
  272. package/dist/index.d.ts +37 -0
  273. package/dist/index.d.ts.map +1 -0
  274. package/dist/index.js +42 -0
  275. package/dist/index.js.map +1 -0
  276. package/dist/migrations/0.1.0-alpha.0_initial_setup.d.ts +29 -0
  277. package/dist/migrations/0.1.0-alpha.0_initial_setup.d.ts.map +1 -0
  278. package/dist/migrations/0.1.0-alpha.0_initial_setup.js +72 -0
  279. package/dist/migrations/0.1.0-alpha.0_initial_setup.js.map +1 -0
  280. package/dist/migrations/_example_migration.d.ts +31 -0
  281. package/dist/migrations/_example_migration.d.ts.map +1 -0
  282. package/dist/migrations/_example_migration.js +75 -0
  283. package/dist/migrations/_example_migration.js.map +1 -0
  284. package/dist/plugins/definePlugin.d.ts +49 -0
  285. package/dist/plugins/definePlugin.d.ts.map +1 -0
  286. package/dist/plugins/definePlugin.js +131 -0
  287. package/dist/plugins/definePlugin.js.map +1 -0
  288. package/dist/plugins/softDelete.d.ts +179 -0
  289. package/dist/plugins/softDelete.d.ts.map +1 -0
  290. package/dist/plugins/softDelete.js +235 -0
  291. package/dist/plugins/softDelete.js.map +1 -0
  292. package/dist/routes/auth.route.d.ts +14 -0
  293. package/dist/routes/auth.route.d.ts.map +1 -0
  294. package/dist/routes/auth.route.js +421 -0
  295. package/dist/routes/auth.route.js.map +1 -0
  296. package/dist/routes/file.route.d.ts +7 -0
  297. package/dist/routes/file.route.d.ts.map +1 -0
  298. package/dist/routes/file.route.js +274 -0
  299. package/dist/routes/file.route.js.map +1 -0
  300. package/dist/routes/items.route.d.ts +7 -0
  301. package/dist/routes/items.route.d.ts.map +1 -0
  302. package/dist/routes/items.route.js +369 -0
  303. package/dist/routes/items.route.js.map +1 -0
  304. package/dist/routes/migration.route.d.ts +7 -0
  305. package/dist/routes/migration.route.d.ts.map +1 -0
  306. package/dist/routes/migration.route.js +225 -0
  307. package/dist/routes/migration.route.js.map +1 -0
  308. package/dist/routes/notification.route.d.ts +7 -0
  309. package/dist/routes/notification.route.d.ts.map +1 -0
  310. package/dist/routes/notification.route.js +124 -0
  311. package/dist/routes/notification.route.js.map +1 -0
  312. package/dist/routes/openapi.route.d.ts +7 -0
  313. package/dist/routes/openapi.route.d.ts.map +1 -0
  314. package/dist/routes/openapi.route.js +2169 -0
  315. package/dist/routes/openapi.route.js.map +1 -0
  316. package/dist/routes/permission.route.d.ts +7 -0
  317. package/dist/routes/permission.route.d.ts.map +1 -0
  318. package/dist/routes/permission.route.js +158 -0
  319. package/dist/routes/permission.route.js.map +1 -0
  320. package/dist/routes/realtime.route.d.ts +21 -0
  321. package/dist/routes/realtime.route.d.ts.map +1 -0
  322. package/dist/routes/realtime.route.js +243 -0
  323. package/dist/routes/realtime.route.js.map +1 -0
  324. package/dist/routes/reports.route.d.ts +7 -0
  325. package/dist/routes/reports.route.d.ts.map +1 -0
  326. package/dist/routes/reports.route.js +95 -0
  327. package/dist/routes/reports.route.js.map +1 -0
  328. package/dist/routes/schema.route.d.ts +7 -0
  329. package/dist/routes/schema.route.d.ts.map +1 -0
  330. package/dist/routes/schema.route.js +1780 -0
  331. package/dist/routes/schema.route.js.map +1 -0
  332. package/dist/routes/settings.route.d.ts +7 -0
  333. package/dist/routes/settings.route.d.ts.map +1 -0
  334. package/dist/routes/settings.route.js +154 -0
  335. package/dist/routes/settings.route.js.map +1 -0
  336. package/dist/routes/templates.route.d.ts +7 -0
  337. package/dist/routes/templates.route.d.ts.map +1 -0
  338. package/dist/routes/templates.route.js +91 -0
  339. package/dist/routes/templates.route.js.map +1 -0
  340. package/dist/routes/utils.route.d.ts +7 -0
  341. package/dist/routes/utils.route.d.ts.map +1 -0
  342. package/dist/routes/utils.route.js +33 -0
  343. package/dist/routes/utils.route.js.map +1 -0
  344. package/dist/routes/workflow.route.d.ts +7 -0
  345. package/dist/routes/workflow.route.d.ts.map +1 -0
  346. package/dist/routes/workflow.route.js +787 -0
  347. package/dist/routes/workflow.route.js.map +1 -0
  348. package/dist/services/AssetsService.d.ts +39 -0
  349. package/dist/services/AssetsService.d.ts.map +1 -0
  350. package/dist/services/AssetsService.js +255 -0
  351. package/dist/services/AssetsService.js.map +1 -0
  352. package/dist/services/CacheService.d.ts +169 -0
  353. package/dist/services/CacheService.d.ts.map +1 -0
  354. package/dist/services/CacheService.js +722 -0
  355. package/dist/services/CacheService.js.map +1 -0
  356. package/dist/services/FilesService.d.ts +30 -0
  357. package/dist/services/FilesService.d.ts.map +1 -0
  358. package/dist/services/FilesService.js +268 -0
  359. package/dist/services/FilesService.js.map +1 -0
  360. package/dist/services/HooksManager.d.ts +38 -0
  361. package/dist/services/HooksManager.d.ts.map +1 -0
  362. package/dist/services/HooksManager.js +165 -0
  363. package/dist/services/HooksManager.js.map +1 -0
  364. package/dist/services/ItemsService.d.ts +273 -0
  365. package/dist/services/ItemsService.d.ts.map +1 -0
  366. package/dist/services/ItemsService.js +2458 -0
  367. package/dist/services/ItemsService.js.map +1 -0
  368. package/dist/services/MailService.d.ts +76 -0
  369. package/dist/services/MailService.d.ts.map +1 -0
  370. package/dist/services/MailService.js +585 -0
  371. package/dist/services/MailService.js.map +1 -0
  372. package/dist/services/MigrationService.d.ts +243 -0
  373. package/dist/services/MigrationService.d.ts.map +1 -0
  374. package/dist/services/MigrationService.js +914 -0
  375. package/dist/services/MigrationService.js.map +1 -0
  376. package/dist/services/NotificationService.d.ts +35 -0
  377. package/dist/services/NotificationService.d.ts.map +1 -0
  378. package/dist/services/NotificationService.js +159 -0
  379. package/dist/services/NotificationService.js.map +1 -0
  380. package/dist/services/PermissionService.d.ts +128 -0
  381. package/dist/services/PermissionService.d.ts.map +1 -0
  382. package/dist/services/PermissionService.js +373 -0
  383. package/dist/services/PermissionService.js.map +1 -0
  384. package/dist/services/PluginManager.d.ts +138 -0
  385. package/dist/services/PluginManager.d.ts.map +1 -0
  386. package/dist/services/PluginManager.js +463 -0
  387. package/dist/services/PluginManager.js.map +1 -0
  388. package/dist/services/RealtimeService.d.ts +209 -0
  389. package/dist/services/RealtimeService.d.ts.map +1 -0
  390. package/dist/services/RealtimeService.js +978 -0
  391. package/dist/services/RealtimeService.js.map +1 -0
  392. package/dist/services/ReportService.d.ts +13 -0
  393. package/dist/services/ReportService.d.ts.map +1 -0
  394. package/dist/services/ReportService.js +91 -0
  395. package/dist/services/ReportService.js.map +1 -0
  396. package/dist/services/SettingsService.d.ts +60 -0
  397. package/dist/services/SettingsService.d.ts.map +1 -0
  398. package/dist/services/SettingsService.js +474 -0
  399. package/dist/services/SettingsService.js.map +1 -0
  400. package/dist/services/SocketService.d.ts +129 -0
  401. package/dist/services/SocketService.d.ts.map +1 -0
  402. package/dist/services/SocketService.js +600 -0
  403. package/dist/services/SocketService.js.map +1 -0
  404. package/dist/services/StatsService.d.ts +10 -0
  405. package/dist/services/StatsService.d.ts.map +1 -0
  406. package/dist/services/StatsService.js +40 -0
  407. package/dist/services/StatsService.js.map +1 -0
  408. package/dist/services/StorageService.d.ts +20 -0
  409. package/dist/services/StorageService.d.ts.map +1 -0
  410. package/dist/services/StorageService.js +164 -0
  411. package/dist/services/StorageService.js.map +1 -0
  412. package/dist/services/TasksService.d.ts +74 -0
  413. package/dist/services/TasksService.d.ts.map +1 -0
  414. package/dist/services/TasksService.js +404 -0
  415. package/dist/services/TasksService.js.map +1 -0
  416. package/dist/services/WorkflowService.d.ts +305 -0
  417. package/dist/services/WorkflowService.d.ts.map +1 -0
  418. package/dist/services/WorkflowService.js +1811 -0
  419. package/dist/services/WorkflowService.js.map +1 -0
  420. package/dist/templates/logo/logo.png +0 -0
  421. package/dist/templates/mails/default.liquid +23 -0
  422. package/dist/types/aggregation.d.ts +40 -0
  423. package/dist/types/aggregation.d.ts.map +1 -0
  424. package/dist/types/aggregation.js +6 -0
  425. package/dist/types/aggregation.js.map +1 -0
  426. package/dist/types/assets.d.ts +32 -0
  427. package/dist/types/assets.d.ts.map +1 -0
  428. package/dist/types/assets.js +6 -0
  429. package/dist/types/assets.js.map +1 -0
  430. package/dist/types/auth.d.ts +50 -0
  431. package/dist/types/auth.d.ts.map +1 -0
  432. package/dist/types/auth.js +6 -0
  433. package/dist/types/auth.js.map +1 -0
  434. package/dist/types/cache.d.ts +47 -0
  435. package/dist/types/cache.d.ts.map +1 -0
  436. package/dist/types/cache.js +6 -0
  437. package/dist/types/cache.js.map +1 -0
  438. package/dist/types/database.d.ts +16 -0
  439. package/dist/types/database.d.ts.map +1 -0
  440. package/dist/types/database.js +6 -0
  441. package/dist/types/database.js.map +1 -0
  442. package/dist/types/fields.d.ts +71 -0
  443. package/dist/types/fields.d.ts.map +1 -0
  444. package/dist/types/fields.js +6 -0
  445. package/dist/types/fields.js.map +1 -0
  446. package/dist/types/files.d.ts +33 -0
  447. package/dist/types/files.d.ts.map +1 -0
  448. package/dist/types/files.js +6 -0
  449. package/dist/types/files.js.map +1 -0
  450. package/dist/types/hooks.d.ts +29 -0
  451. package/dist/types/hooks.d.ts.map +1 -0
  452. package/dist/types/hooks.js +6 -0
  453. package/dist/types/hooks.js.map +1 -0
  454. package/dist/types/import-export.d.ts +62 -0
  455. package/dist/types/import-export.d.ts.map +1 -0
  456. package/dist/types/import-export.js +6 -0
  457. package/dist/types/import-export.js.map +1 -0
  458. package/dist/types/index.d.ts +31 -0
  459. package/dist/types/index.d.ts.map +1 -0
  460. package/dist/types/index.js +58 -0
  461. package/dist/types/index.js.map +1 -0
  462. package/dist/types/mail.d.ts +34 -0
  463. package/dist/types/mail.d.ts.map +1 -0
  464. package/dist/types/mail.js +6 -0
  465. package/dist/types/mail.js.map +1 -0
  466. package/dist/types/notifications.d.ts +16 -0
  467. package/dist/types/notifications.d.ts.map +1 -0
  468. package/dist/types/notifications.js +6 -0
  469. package/dist/types/notifications.js.map +1 -0
  470. package/dist/types/plugin.d.ts +351 -0
  471. package/dist/types/plugin.d.ts.map +1 -0
  472. package/dist/types/plugin.js +8 -0
  473. package/dist/types/plugin.js.map +1 -0
  474. package/dist/types/query.d.ts +71 -0
  475. package/dist/types/query.d.ts.map +1 -0
  476. package/dist/types/query.js +6 -0
  477. package/dist/types/query.js.map +1 -0
  478. package/dist/types/relations.d.ts +111 -0
  479. package/dist/types/relations.d.ts.map +1 -0
  480. package/dist/types/relations.js +6 -0
  481. package/dist/types/relations.js.map +1 -0
  482. package/dist/types/reports.d.ts +17 -0
  483. package/dist/types/reports.d.ts.map +1 -0
  484. package/dist/types/reports.js +6 -0
  485. package/dist/types/reports.js.map +1 -0
  486. package/dist/types/schema.d.ts +26 -0
  487. package/dist/types/schema.d.ts.map +1 -0
  488. package/dist/types/schema.js +6 -0
  489. package/dist/types/schema.js.map +1 -0
  490. package/dist/types/seed.d.ts +27 -0
  491. package/dist/types/seed.d.ts.map +1 -0
  492. package/dist/types/seed.js +6 -0
  493. package/dist/types/seed.js.map +1 -0
  494. package/dist/types/services.d.ts +68 -0
  495. package/dist/types/services.d.ts.map +1 -0
  496. package/dist/types/services.js +6 -0
  497. package/dist/types/services.js.map +1 -0
  498. package/dist/types/settings.d.ts +36 -0
  499. package/dist/types/settings.d.ts.map +1 -0
  500. package/dist/types/settings.js +6 -0
  501. package/dist/types/settings.js.map +1 -0
  502. package/dist/types/sockets.d.ts +26 -0
  503. package/dist/types/sockets.d.ts.map +1 -0
  504. package/dist/types/sockets.js +6 -0
  505. package/dist/types/sockets.js.map +1 -0
  506. package/dist/types/sort.d.ts +25 -0
  507. package/dist/types/sort.d.ts.map +1 -0
  508. package/dist/types/sort.js +6 -0
  509. package/dist/types/sort.js.map +1 -0
  510. package/dist/types/spatial.d.ts +19 -0
  511. package/dist/types/spatial.d.ts.map +1 -0
  512. package/dist/types/spatial.js +6 -0
  513. package/dist/types/spatial.js.map +1 -0
  514. package/dist/types/stats.d.ts +21 -0
  515. package/dist/types/stats.d.ts.map +1 -0
  516. package/dist/types/stats.js +6 -0
  517. package/dist/types/stats.js.map +1 -0
  518. package/dist/types/storage.d.ts +19 -0
  519. package/dist/types/storage.d.ts.map +1 -0
  520. package/dist/types/storage.js +6 -0
  521. package/dist/types/storage.js.map +1 -0
  522. package/dist/types/tasks.d.ts +14 -0
  523. package/dist/types/tasks.d.ts.map +1 -0
  524. package/dist/types/tasks.js +6 -0
  525. package/dist/types/tasks.js.map +1 -0
  526. package/dist/types/utils.d.ts +54 -0
  527. package/dist/types/utils.d.ts.map +1 -0
  528. package/dist/types/utils.js +6 -0
  529. package/dist/types/utils.js.map +1 -0
  530. package/dist/types/workflow.d.ts +17 -0
  531. package/dist/types/workflow.d.ts.map +1 -0
  532. package/dist/types/workflow.js +6 -0
  533. package/dist/types/workflow.js.map +1 -0
  534. package/dist/utils/aggregationUtils.d.ts +192 -0
  535. package/dist/utils/aggregationUtils.d.ts.map +1 -0
  536. package/dist/utils/aggregationUtils.js +450 -0
  537. package/dist/utils/aggregationUtils.js.map +1 -0
  538. package/dist/utils/auth.d.ts +93 -0
  539. package/dist/utils/auth.d.ts.map +1 -0
  540. package/dist/utils/auth.js +557 -0
  541. package/dist/utils/auth.js.map +1 -0
  542. package/dist/utils/cache.d.ts +64 -0
  543. package/dist/utils/cache.d.ts.map +1 -0
  544. package/dist/utils/cache.js +464 -0
  545. package/dist/utils/cache.js.map +1 -0
  546. package/dist/utils/common.d.ts +53 -0
  547. package/dist/utils/common.d.ts.map +1 -0
  548. package/dist/utils/common.js +162 -0
  549. package/dist/utils/common.js.map +1 -0
  550. package/dist/utils/db.d.ts +101 -0
  551. package/dist/utils/db.d.ts.map +1 -0
  552. package/dist/utils/db.js +413 -0
  553. package/dist/utils/db.js.map +1 -0
  554. package/dist/utils/dirname.d.ts +30 -0
  555. package/dist/utils/dirname.d.ts.map +1 -0
  556. package/dist/utils/dirname.js +95 -0
  557. package/dist/utils/dirname.js.map +1 -0
  558. package/dist/utils/dynamicVariableResolver.d.ts +17 -0
  559. package/dist/utils/dynamicVariableResolver.d.ts.map +1 -0
  560. package/dist/utils/dynamicVariableResolver.js +262 -0
  561. package/dist/utils/dynamicVariableResolver.js.map +1 -0
  562. package/dist/utils/env.d.ts +38 -0
  563. package/dist/utils/env.d.ts.map +1 -0
  564. package/dist/utils/env.js +80 -0
  565. package/dist/utils/env.js.map +1 -0
  566. package/dist/utils/errorHandler.d.ts +14 -0
  567. package/dist/utils/errorHandler.d.ts.map +1 -0
  568. package/dist/utils/errorHandler.js +79 -0
  569. package/dist/utils/errorHandler.js.map +1 -0
  570. package/dist/utils/fieldExpansion.d.ts +30 -0
  571. package/dist/utils/fieldExpansion.d.ts.map +1 -0
  572. package/dist/utils/fieldExpansion.js +145 -0
  573. package/dist/utils/fieldExpansion.js.map +1 -0
  574. package/dist/utils/fieldUtils.d.ts +179 -0
  575. package/dist/utils/fieldUtils.d.ts.map +1 -0
  576. package/dist/utils/fieldUtils.js +424 -0
  577. package/dist/utils/fieldUtils.js.map +1 -0
  578. package/dist/utils/filterOperators.d.ts +472 -0
  579. package/dist/utils/filterOperators.d.ts.map +1 -0
  580. package/dist/utils/filterOperators.js +1229 -0
  581. package/dist/utils/filterOperators.js.map +1 -0
  582. package/dist/utils/importUtils.d.ts +127 -0
  583. package/dist/utils/importUtils.d.ts.map +1 -0
  584. package/dist/utils/importUtils.js +437 -0
  585. package/dist/utils/importUtils.js.map +1 -0
  586. package/dist/utils/index.d.ts +75 -0
  587. package/dist/utils/index.d.ts.map +1 -0
  588. package/dist/utils/index.js +101 -0
  589. package/dist/utils/index.js.map +1 -0
  590. package/dist/utils/logger.d.ts +41 -0
  591. package/dist/utils/logger.d.ts.map +1 -0
  592. package/dist/utils/logger.js +217 -0
  593. package/dist/utils/logger.js.map +1 -0
  594. package/dist/utils/orderUtils.d.ts +117 -0
  595. package/dist/utils/orderUtils.d.ts.map +1 -0
  596. package/dist/utils/orderUtils.js +249 -0
  597. package/dist/utils/orderUtils.js.map +1 -0
  598. package/dist/utils/queryBuilder.d.ts +118 -0
  599. package/dist/utils/queryBuilder.d.ts.map +1 -0
  600. package/dist/utils/queryBuilder.js +489 -0
  601. package/dist/utils/queryBuilder.js.map +1 -0
  602. package/dist/utils/relationLoader.d.ts +65 -0
  603. package/dist/utils/relationLoader.d.ts.map +1 -0
  604. package/dist/utils/relationLoader.js +1081 -0
  605. package/dist/utils/relationLoader.js.map +1 -0
  606. package/dist/utils/relationPathResolver.d.ts +30 -0
  607. package/dist/utils/relationPathResolver.d.ts.map +1 -0
  608. package/dist/utils/relationPathResolver.js +173 -0
  609. package/dist/utils/relationPathResolver.js.map +1 -0
  610. package/dist/utils/relationUtils.d.ts +139 -0
  611. package/dist/utils/relationUtils.d.ts.map +1 -0
  612. package/dist/utils/relationUtils.js +711 -0
  613. package/dist/utils/relationUtils.js.map +1 -0
  614. package/dist/utils/router.d.ts +6 -0
  615. package/dist/utils/router.d.ts.map +1 -0
  616. package/dist/utils/router.js +95 -0
  617. package/dist/utils/router.js.map +1 -0
  618. package/dist/utils/schema.d.ts +88 -0
  619. package/dist/utils/schema.d.ts.map +1 -0
  620. package/dist/utils/schema.js +24 -0
  621. package/dist/utils/schema.js.map +1 -0
  622. package/dist/utils/schemaManager.d.ts +238 -0
  623. package/dist/utils/schemaManager.d.ts.map +1 -0
  624. package/dist/utils/schemaManager.js +1992 -0
  625. package/dist/utils/schemaManager.js.map +1 -0
  626. package/dist/utils/schemaValidator.d.ts +83 -0
  627. package/dist/utils/schemaValidator.d.ts.map +1 -0
  628. package/dist/utils/schemaValidator.js +491 -0
  629. package/dist/utils/schemaValidator.js.map +1 -0
  630. package/dist/utils/seed.d.ts +45 -0
  631. package/dist/utils/seed.d.ts.map +1 -0
  632. package/dist/utils/seed.js +248 -0
  633. package/dist/utils/seed.js.map +1 -0
  634. package/dist/utils/sessionCleanup.d.ts +10 -0
  635. package/dist/utils/sessionCleanup.d.ts.map +1 -0
  636. package/dist/utils/sessionCleanup.js +49 -0
  637. package/dist/utils/sessionCleanup.js.map +1 -0
  638. package/dist/utils/sortUtils.d.ts +117 -0
  639. package/dist/utils/sortUtils.d.ts.map +1 -0
  640. package/dist/utils/sortUtils.js +232 -0
  641. package/dist/utils/sortUtils.js.map +1 -0
  642. package/dist/utils/spatialUtils.d.ts +244 -0
  643. package/dist/utils/spatialUtils.d.ts.map +1 -0
  644. package/dist/utils/spatialUtils.js +359 -0
  645. package/dist/utils/spatialUtils.js.map +1 -0
  646. package/dist/utils/systemschema.d.ts +11040 -0
  647. package/dist/utils/systemschema.d.ts.map +1 -0
  648. package/dist/utils/systemschema.js +1777 -0
  649. package/dist/utils/systemschema.js.map +1 -0
  650. package/dist/utils/tenantUtils.d.ts +34 -0
  651. package/dist/utils/tenantUtils.d.ts.map +1 -0
  652. package/dist/utils/tenantUtils.js +124 -0
  653. package/dist/utils/tenantUtils.js.map +1 -0
  654. package/dist/utils/typeMapper.d.ts +25 -0
  655. package/dist/utils/typeMapper.d.ts.map +1 -0
  656. package/dist/utils/typeMapper.js +282 -0
  657. package/dist/utils/typeMapper.js.map +1 -0
  658. package/dist/utils/valueValidator.d.ts +60 -0
  659. package/dist/utils/valueValidator.d.ts.map +1 -0
  660. package/dist/utils/valueValidator.js +303 -0
  661. package/dist/utils/valueValidator.js.map +1 -0
  662. package/dist/utils/workflow.d.ts +87 -0
  663. package/dist/utils/workflow.d.ts.map +1 -0
  664. package/dist/utils/workflow.js +205 -0
  665. package/dist/utils/workflow.js.map +1 -0
  666. package/package.json +115 -0
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7636],{99376:function(t,e,s){var i=s(35475);s.o(i,"usePathname")&&s.d(e,{usePathname:function(){return i.usePathname}}),s.o(i,"useRouter")&&s.d(e,{useRouter:function(){return i.useRouter}}),s.o(i,"useSearchParams")&&s.d(e,{useSearchParams:function(){return i.useSearchParams}})},89409:function(t,e,s){s.d(e,{NQ:function(){return a},ql:function(){return P}});var i={ACCESS_TOKEN:"baasix_access_token",REFRESH_TOKEN:"baasix_refresh_token",TOKEN_EXPIRY:"baasix_token_expiry",USER:"baasix_user",TENANT:"baasix_tenant"},a=class t extends Error{status;code;details;isRetryable;constructor(e,s=500,i,a){super(e),this.name="BaasixError",this.status=s,this.code=i,this.details=a,this.isRetryable=s>=500||429===s,Error.captureStackTrace&&Error.captureStackTrace(this,t)}toJSON(){return{name:this.name,message:this.message,status:this.status,code:this.code,details:this.details}}},n=class{config;refreshPromise=null;constructor(t){this.config=t}updateConfig(t){this.config={...this.config,...t}}getBaseUrl(){return this.config.baseUrl}buildUrl(t,e){let s=new URL(t,this.config.baseUrl);return e&&Object.entries(e).forEach(([t,e])=>{null!=e&&("object"==typeof e?s.searchParams.set(t,JSON.stringify(e)):s.searchParams.set(t,String(e)))}),s.toString()}async getAccessToken(){return this.config.token?this.config.token:"cookie"===this.config.authMode?null:await this.config.storage.get(i.ACCESS_TOKEN)}async isTokenExpired(){let t=await this.config.storage.get(i.TOKEN_EXPIRY);if(!t)return!1;let e=parseInt(t,10);return Date.now()>=e-6e4}async refreshToken(){return this.refreshPromise||(this.refreshPromise=(async()=>{try{let t=await this.config.storage.get(i.REFRESH_TOKEN);if(!t&&"jwt"===this.config.authMode)throw new a("No refresh token available",401,"NO_REFRESH_TOKEN");let e=await fetch(this.buildUrl("/auth/refresh"),{method:"POST",headers:{"Content-Type":"application/json",...this.config.headers},body:"jwt"===this.config.authMode?JSON.stringify({refreshToken:t}):void 0,credentials:this.config.credentials});if(!e.ok)throw new a("Token refresh failed",e.status,"REFRESH_FAILED");let s=await e.json(),n={accessToken:s.token,refreshToken:s.refreshToken,expiresIn:s.expiresIn,expiresAt:s.expiresIn?Date.now()+1e3*s.expiresIn:void 0};return await this.config.storage.set(i.ACCESS_TOKEN,n.accessToken),n.refreshToken&&await this.config.storage.set(i.REFRESH_TOKEN,n.refreshToken),n.expiresAt&&await this.config.storage.set(i.TOKEN_EXPIRY,n.expiresAt.toString()),this.config.onTokenRefresh?.(n),n}finally{this.refreshPromise=null}})()),this.refreshPromise}async buildHeaders(t={}){let e={"Content-Type":"application/json",...this.config.headers};if(this.config.tenantId&&(e["X-Tenant-Id"]=this.config.tenantId),t.skipAuth)return e;if("jwt"===this.config.authMode){if(this.config.autoRefresh&&await this.isTokenExpired())try{await this.refreshToken()}catch{}let t=await this.getAccessToken();t&&(e.Authorization=`Bearer ${t}`)}return e}async parseError(t){let e={};try{e=await t.json()}catch{}let s=e.error?.message||e.message||t.statusText||"Request failed",i=e.error?.code,n=e.details;return new a(s,t.status,i,n)}async request(t,e,s={}){let{params:i,timeout:n,skipAuth:r,rawResponse:o,...c}=s,l=this.buildUrl(e,i),h=await this.buildHeaders({skipAuth:r}),u=n||this.config.timeout,d=new AbortController,m=setTimeout(()=>d.abort(),u);try{let e=await fetch(l,{method:t,headers:{...h,...c.headers},credentials:this.config.credentials,signal:d.signal,...c});if(401===e.status&&!r&&this.config.autoRefresh)try{await this.refreshToken();let e=await this.buildHeaders({skipAuth:!1}),s=await fetch(l,{method:t,headers:{...e,...c.headers},credentials:this.config.credentials,...c});if(!s.ok)throw await this.parseError(s);if(o)return s;if(204===s.status)return{};return await s.json()}catch(t){throw this.config.onAuthError?.(),t}if(!e.ok)throw await this.parseError(e);if(o)return e;if(204===e.status)return{};return await e.json()}catch(t){if(t instanceof a)throw t;if(t instanceof Error){if("AbortError"===t.name)throw new a("Request timeout",408,"TIMEOUT");throw new a(t.message,0,"NETWORK_ERROR")}throw new a("Unknown error occurred",500,"UNKNOWN")}finally{clearTimeout(m)}}get(t,e){return this.request("GET",t,e)}post(t,e,s){return this.request("POST",t,{...s,body:e?JSON.stringify(e):void 0})}patch(t,e,s){return this.request("PATCH",t,{...s,body:e?JSON.stringify(e):void 0})}put(t,e,s){return this.request("PUT",t,{...s,body:e?JSON.stringify(e):void 0})}delete(t,e){return this.request("DELETE",t,e)}async upload(t,e,s){let{params:i,timeout:n,skipAuth:r,onProgress:o}=s||{},c=this.buildUrl(t,i),l=await this.buildHeaders({skipAuth:r}),h=n||this.config.timeout;if(delete l["Content-Type"],o&&"undefined"!=typeof XMLHttpRequest)return new Promise((t,s)=>{let i=new XMLHttpRequest;i.open("POST",c),Object.entries(l).forEach(([t,e])=>{i.setRequestHeader(t,e)}),i.withCredentials="include"===this.config.credentials,i.upload.onprogress=t=>{t.lengthComputable&&o(Math.round(t.loaded/t.total*100))},i.onload=()=>{if(i.status>=200&&i.status<300)try{t(JSON.parse(i.responseText))}catch{t({})}else s(new a(i.statusText||"Upload failed",i.status,"UPLOAD_ERROR"))},i.onerror=()=>{s(new a("Network error during upload",0,"NETWORK_ERROR"))},i.ontimeout=()=>{s(new a("Upload timeout",408,"TIMEOUT"))},i.timeout=h,i.send(e)});let u=new AbortController,d=setTimeout(()=>u.abort(),h);try{let t=await fetch(c,{method:"POST",headers:l,body:e,credentials:this.config.credentials,signal:u.signal});if(!t.ok)throw await this.parseError(t);return await t.json()}finally{clearTimeout(d)}}},r=class{prefix;constructor(t="baasix_"){this.prefix=t}getKey(t){return t.startsWith(this.prefix)?t:`${this.prefix}${t}`}get(t){if("undefined"==typeof window||!window.localStorage)return null;try{return localStorage.getItem(this.getKey(t))}catch{return console.warn(`[Baasix SDK] Failed to get item from localStorage: ${t}`),null}}set(t,e){if("undefined"!=typeof window&&window.localStorage)try{localStorage.setItem(this.getKey(t),e)}catch{console.warn(`[Baasix SDK] Failed to set item in localStorage: ${t}`)}}remove(t){if("undefined"!=typeof window&&window.localStorage)try{localStorage.removeItem(this.getKey(t))}catch{console.warn(`[Baasix SDK] Failed to remove item from localStorage: ${t}`)}}clear(){if("undefined"!=typeof window&&window.localStorage)try{let t=[];for(let e=0;e<localStorage.length;e++){let s=localStorage.key(e);s?.startsWith(this.prefix)&&t.push(s)}t.forEach(t=>localStorage.removeItem(t))}catch{console.warn("[Baasix SDK] Failed to clear localStorage")}}},o=class{store;constructor(){this.store=new Map}get(t){return this.store.get(t)??null}set(t,e){this.store.set(t,e)}remove(t){this.store.delete(t)}clear(){this.store.clear()}keys(){return Array.from(this.store.keys())}size(){return this.store.size}},c=class{client;storage;authMode;onAuthStateChange;currentUser=null;constructor(t){this.client=t.client,this.storage=t.storage,this.authMode=t.authMode,this.onAuthStateChange=t.onAuthStateChange}emitAuthStateChange(t,e){this.currentUser=e,this.onAuthStateChange?.(t,e)}async storeTokens(t){if("jwt"===this.authMode&&(await this.storage.set(i.ACCESS_TOKEN,t.token),t.refreshToken&&await this.storage.set(i.REFRESH_TOKEN,t.refreshToken),t.expiresIn)){let e=Date.now()+1e3*t.expiresIn;await this.storage.set(i.TOKEN_EXPIRY,e.toString())}t.user&&await this.storage.set(i.USER,JSON.stringify(t.user))}async clearAuth(){await this.storage.remove(i.ACCESS_TOKEN),await this.storage.remove(i.REFRESH_TOKEN),await this.storage.remove(i.TOKEN_EXPIRY),await this.storage.remove(i.USER),await this.storage.remove(i.TENANT),this.currentUser=null}async register(t){let e=await this.client.post("/auth/register",t,{skipAuth:!0});return await this.storeTokens(e),this.emitAuthStateChange("SIGNED_IN",e.user),e}async login(t){let e=await this.client.post("/auth/login",{email:t.email,password:t.password,tenant_Id:t.tenantId},{skipAuth:!0});return await this.storeTokens(e),this.emitAuthStateChange("SIGNED_IN",e.user),e}async logout(){try{await this.client.get("/auth/logout")}catch{}await this.clearAuth(),this.emitAuthStateChange("SIGNED_OUT",null)}async getUser(){try{let t=await this.client.get("/auth/me");return this.currentUser=t.data,await this.storage.set(i.USER,JSON.stringify(t.data)),t.data}catch(t){if(t instanceof a&&401===t.status)return await this.clearAuth(),null;throw t}}async getCachedUser(){if(this.currentUser)return this.currentUser;let t=await this.storage.get(i.USER);if(t)try{return this.currentUser=JSON.parse(t),this.currentUser}catch{}return null}async isAuthenticated(){if("cookie"===this.authMode)return null!==await this.getCachedUser();if(!await this.storage.get(i.ACCESS_TOKEN))return!1;let t=await this.storage.get(i.TOKEN_EXPIRY);return!(t&&Date.now()>=parseInt(t,10))||!!await this.storage.get(i.REFRESH_TOKEN)}async getToken(){return"cookie"===this.authMode?null:await this.storage.get(i.ACCESS_TOKEN)}async setToken(t){await this.storage.set(i.ACCESS_TOKEN,t)}async refreshToken(){let t=await this.storage.get(i.REFRESH_TOKEN),e=await this.client.post("/auth/refresh","jwt"===this.authMode?{refreshToken:t}:void 0);await this.storeTokens(e);let s={accessToken:e.token,refreshToken:e.refreshToken,expiresIn:e.expiresIn,expiresAt:e.expiresIn?Date.now()+1e3*e.expiresIn:void 0};return this.emitAuthStateChange("TOKEN_REFRESHED",e.user),s}async sendMagicLink(t){await this.client.post("/auth/magiclink",{email:t.email,link:t.redirectUrl,mode:t.mode||"link"},{skipAuth:!0})}async verifyMagicLink(t){let e=await this.client.get(`/auth/magiclink/${encodeURIComponent(t)}`,{skipAuth:!0});return await this.storeTokens(e),this.emitAuthStateChange("SIGNED_IN",e.user),e}async forgotPassword(t){await this.client.post("/auth/forgot-password",{email:t.email,link:t.redirectUrl},{skipAuth:!0})}async resetPassword(t,e){await this.client.post("/auth/reset-password",{token:t,password:e},{skipAuth:!0})}async changePassword(t,e){await this.client.post("/auth/change-password",{currentPassword:t,newPassword:e})}async updateProfile(t){let e=await this.client.patch("/auth/me",t);return await this.storage.set(i.USER,JSON.stringify(e.data)),this.emitAuthStateChange("USER_UPDATED",e.data),e.data}async getTenants(){return(await this.client.get("/auth/tenants")).data}async switchTenant(t){let e=await this.client.post("/auth/switch-tenant",{tenant_Id:t});return await this.storeTokens(e),await this.storage.set(i.TENANT,t),this.emitAuthStateChange("TENANT_SWITCHED",e.user),e}async getState(){let t=await this.isAuthenticated();return{user:await this.getCachedUser(),isAuthenticated:t,isLoading:!1,error:null}}async initialize(){let t=await this.getState();return t.isAuthenticated&&t.user&&this.emitAuthStateChange("SIGNED_IN",t.user),t}getOAuthUrl(t){let e=this.client.getBaseUrl(),s=new URLSearchParams({redirect_url:t.redirectUrl});return t.scopes?.length&&s.set("scopes",t.scopes.join(",")),t.state&&s.set("state",t.state),`${e}/auth/signin/${t.provider}?${s.toString()}`}async handleOAuthCallback(t){await this.storage.set(i.ACCESS_TOKEN,t);let e=await this.getUser();return this.emitAuthStateChange("SIGNED_IN",e),{token:t,user:e}}async requestEmailVerification(t){await this.client.post("/auth/request-verify-email",{link:t})}async verifyEmail(t){await this.client.get("/auth/verify-email",{params:{token:t},skipAuth:!0})}async checkSession(){try{return(await this.client.get("/auth/check")).data.valid}catch{return!1}}async sendInvite(t){await this.client.post("/auth/invite",{email:t.email,role_Id:t.roleId,tenant_Id:t.tenantId,link:t.redirectUrl})}async verifyInvite(t,e){return(await this.client.get("/auth/verify-invite",{params:{token:t,link:e},skipAuth:!0})).data}async acceptInvite(t){let e=await this.client.post("/auth/accept-invite",{token:t});return await this.storeTokens(e),this.emitAuthStateChange("SIGNED_IN",e.user),e}async registerWithInvite(t){let e=await this.client.post("/auth/register",{...t,inviteToken:t.inviteToken},{skipAuth:!0});return await this.storeTokens(e),this.emitAuthStateChange("SIGNED_IN",e.user),e}},l=class{collection;client;queryParams={};constructor(t,e){this.collection=t,this.client=e}select(...t){let e=1===t.length&&Array.isArray(t[0])?t[0]:t;return this.queryParams.fields=e,this}fields(...t){return this.select(...t)}filter(t){return this.queryParams.filter=t,this}where(t){return this.filter(t)}sort(t){return this.queryParams.sort=t,this}orderBy(t){return this.sort(t)}limit(t){return this.queryParams.limit=t,this}page(t){return this.queryParams.page=t,this}offset(t){return this.queryParams.offset=t,this}search(t,e){return this.queryParams.search=t,e&&(this.queryParams.searchFields=e),this}withDeleted(){return this.queryParams.paranoid=!1,this}relFilter(t){return this.queryParams.relConditions=t,this}getQuery(){return{...this.queryParams}}async get(){return this.client.get(`/items/${this.collection}`,{params:this.buildParams()})}async first(){return(await this.limit(1).get()).data[0]||null}async count(){return(await this.client.get(`/items/${this.collection}`,{params:{...this.buildParams(),limit:0}})).totalCount||0}buildParams(){let t={};return this.queryParams.fields&&(t.fields=this.queryParams.fields),this.queryParams.filter&&(t.filter=this.queryParams.filter),this.queryParams.sort&&(t.sort=this.queryParams.sort),void 0!==this.queryParams.limit&&(t.limit=this.queryParams.limit),void 0!==this.queryParams.page&&(t.page=this.queryParams.page),void 0!==this.queryParams.offset&&(t.offset=this.queryParams.offset),this.queryParams.search&&(t.search=this.queryParams.search),this.queryParams.searchFields&&(t.searchFields=this.queryParams.searchFields),void 0!==this.queryParams.paranoid&&(t.paranoid=this.queryParams.paranoid),this.queryParams.relConditions&&(t.relConditions=this.queryParams.relConditions),this.queryParams.aggregate&&(t.aggregate=this.queryParams.aggregate),this.queryParams.groupBy&&(t.groupBy=this.queryParams.groupBy),t}},h=class{collection;client;constructor(t,e){this.collection=t,this.client=e.client}query(){return new l(this.collection,this.client)}async find(t){return this.client.get(`/items/${this.collection}`,{params:t})}async findMany(t){return this.find(t)}async findOne(t,e){return(await this.client.get(`/items/${this.collection}/${t}`,{params:e})).data}async get(t,e){return this.findOne(t,e)}async create(t){return(await this.client.post(`/items/${this.collection}`,t)).data}async insert(t){return this.create(t)}async createMany(t){return(await this.client.post(`/items/${this.collection}/bulk`,t)).data}async insertMany(t){return this.createMany(t)}async update(t,e){return(await this.client.patch(`/items/${this.collection}/${t}`,e)).data}async updateMany(t,e){let s=t.map(t=>({id:t,data:e}));return(await this.client.patch(`/items/${this.collection}/bulk`,s)).data}async upsert(t,e){let s=await this.find({filter:t,limit:1});return s.data.length>0?this.update(s.data[0].id,e):this.create(e)}async delete(t){await this.client.delete(`/items/${this.collection}/${t}`)}async deleteMany(t){await this.client.delete(`/items/${this.collection}/bulk`,{body:JSON.stringify(t)})}async softDelete(t){await this.update(t,{deletedAt:new Date().toISOString()})}async restore(t){await this.update(t,{deletedAt:null})}async aggregate(t){return(await this.client.get(`/items/${this.collection}`,{params:t})).data}async importCSV(t){let e=new FormData;return File,e.append("csvFile",t),(await this.client.post(`/items/${this.collection}/import-csv`,e)).results}async importJSON(t){let e=new FormData;return File,e.append("jsonFile",t),(await this.client.post(`/items/${this.collection}/import-json`,e)).results}async importData(t){return await this.client.post(`/items/${this.collection}/bulk`,t)}async sortItem(t,e,s="before"){await this.client.post(`/utils/sort/${this.collection}`,{item:t,to:e,mode:s})}async reorder(t){for(let e=1;e<t.length;e++)await this.client.post(`/utils/sort/${this.collection}`,{item:t[e],to:t[e-1],mode:"after"})}},u=class{client;constructor(t){this.client=t.client}async upload(t,e){let s=new FormData;return t instanceof File||Blob,s.append("file",t),e?.title&&s.append("title",e.title),e?.description&&s.append("description",e.description),e?.folder&&s.append("folder",e.folder),e?.storage&&s.append("storage",e.storage),e?.isPublic!==void 0&&s.append("isPublic",String(e.isPublic)),e?.metadata&&s.append("metadata",JSON.stringify(e.metadata)),(await this.client.upload("/files",s,{onProgress:e?.onProgress,timeout:e?.timeout})).data}async uploadMany(t,e){let s=[];for(let i of t instanceof FileList?Array.from(t):t){let t=await this.upload(i,e);s.push(t)}return s}async find(t){return this.client.get("/files",{params:t})}async findOne(t){return(await this.client.get(`/files/${t}`)).data}async update(t,e){return(await this.client.patch(`/files/${t}`,e)).data}async delete(t){await this.client.delete(`/files/${t}`)}async deleteMany(t){await Promise.all(t.map(t=>this.delete(t)))}getAssetUrl(t,e){let s=new URL(`/assets/${t}`,this.client.getBaseUrl());return e&&(e.width&&s.searchParams.set("width",String(e.width)),e.height&&s.searchParams.set("height",String(e.height)),e.fit&&s.searchParams.set("fit",e.fit),e.quality&&s.searchParams.set("quality",String(e.quality)),e.format&&s.searchParams.set("format",e.format)),s.toString()}async download(t,e){let s=this.getAssetUrl(t,e),i=await fetch(s);if(!i.ok)throw Error(`Failed to download file: ${i.statusText}`);return i.blob()}async toBase64(t,e){let s=await this.download(t,e);return new Promise((t,e)=>{let i=new FileReader;i.onloadend=()=>{t(i.result.split(",")[1])},i.onerror=e,i.readAsDataURL(s)})}async importFromUrl(t,e){return(await this.client.post("/files/import",{url:t,...e})).data}},d=class{client;constructor(t){this.client=t.client}async find(t){let e=t?{...t,sort:function(t){if(t){if("string"==typeof t)return t;if(Array.isArray(t))return 0===t.length?void 0:"object"==typeof t[0]&&"column"in t[0]?t.map(t=>`${t.column}:${t.order.toLowerCase()}`).join(","):t.map(t=>t.startsWith("-")?`${t.substring(1)}:desc`:t.includes(":")?t:`${t}:asc`).join(",");if("object"==typeof t){let e=Object.entries(t);if(0===e.length)return;return e.map(([t,e])=>`${t}:${e.toLowerCase()}`).join(",")}}}(t.sort)}:void 0;return this.client.get("/schemas",{params:e})}async findOne(t){return(await this.client.get(`/schemas/${t}`)).data}async create(t){return(await this.client.post("/schemas",t)).data}async update(t,e){return(await this.client.patch(`/schemas/${t}`,e)).data}async delete(t){await this.client.delete(`/schemas/${t}`)}async createRelationship(t,e){await this.client.post(`/schemas/${t}/relationships`,e)}async deleteRelationship(t,e){await this.client.delete(`/schemas/${t}/relationships/${e}`)}async updateRelationship(t,e,s){await this.client.patch(`/schemas/${t}/relationships/${e}`,s)}async createIndex(t,e){await this.client.post(`/schemas/${t}/indexes`,e)}async deleteIndex(t,e){await this.client.delete(`/schemas/${t}/indexes/${e}`)}async addField(t,e,s){let i=await this.findOne(t),a={...i.schema.fields,[e]:s};return this.update(t,{schema:{...i.schema,fields:a}})}async removeField(t,e){let s=await this.findOne(t),{[e]:i,...a}=s.schema.fields;return this.update(t,{schema:{...s.schema,fields:a}})}async export(){return(await this.client.get("/schemas/export")).data}async import(t){await this.client.post("/schemas/import",{schemas:t})}},m=class{client;constructor(t){this.client=t.client}async find(t){return this.client.get("/notifications",{params:t})}async getUnreadCount(){return(await this.client.get("/notifications/unread/count")).count}async markAsSeen(t){return{count:(await this.client.post("/notifications/mark-seen",{notificationIds:t})).count}}async delete(t){return{count:(await this.client.delete("/notifications",{params:t?{notificationIds:t}:void 0})).count}}async send(t){return{notificationIds:(await this.client.post("/notifications/send",t)).notificationIds}}async cleanup(t=30){return{count:(await this.client.post("/notifications/cleanup",{days:t})).count}}},g=class{client;constructor(t){this.client=t.client}async find(t){return this.client.get("/permissions",{params:t})}async findOne(t){return(await this.client.get(`/permissions/${t}`)).data}async findByRole(t){return this.client.get("/permissions",{params:{filter:{role_Id:{eq:t}},limit:-1}})}async findByCollection(t){return this.client.get("/permissions",{params:{filter:{collection:{eq:t}},limit:-1}})}async create(t){return(await this.client.post("/permissions",t)).data}async update(t,e){return(await this.client.patch(`/permissions/${t}`,e)).data}async delete(t){await this.client.delete(`/permissions/${t}`)}async getRoles(){return this.client.get("/items/baasix_Role",{params:{limit:-1}})}async createCrudPermissions(t,e,s){let i=[];for(let a of["create","read","update","delete"]){let n=s[a];if(!1===n)continue;let r=await this.create({role_Id:t,collection:e,action:a,fields:n?.fields||["*"],conditions:n?.conditions});i.push(r)}return i}async reloadCache(){await this.client.post("/permissions/reload")}},w=class{client;constructor(t){this.client=t.client}async get(){return(await this.client.get("/settings")).data}async getKey(t){return(await this.get())[t]??null}async update(t){return(await this.client.patch("/settings",t)).data}async set(t,e){return this.update({[t]:e})}},f=class{client;constructor(t){this.client=t.client}async generate(t,e){return await this.client.post(`/reports/${t}`,e)}async query(t,e){return await this.client.get(`/reports/${t}`,{params:e})}async getStats(t){return await this.client.post("/reports/stats",{stats:t})}async aggregate(t,e){return(await this.client.get(`/items/${t}`,{params:{aggregate:e.aggregate,groupBy:e.groupBy,filter:e.filter,limit:-1}})).data}async count(t,e){return(await this.client.get(`/items/${t}`,{params:{filter:e,limit:0}})).totalCount||0}async distinct(t,e,s){return(await this.client.get(`/items/${t}`,{params:{filter:s,fields:[e],groupBy:[e],limit:-1}})).data.map(t=>t[e])}},p=class{client;constructor(t){this.client=t.client}async find(t){return this.client.get("/workflows",{params:t})}async findOne(t){return(await this.client.get(`/workflows/${t}`)).data}async create(t){return(await this.client.post("/workflows",t)).data}async update(t,e){return(await this.client.patch(`/workflows/${t}`,e)).data}async delete(t){await this.client.delete(`/workflows/${t}`)}async execute(t,e){return(await this.client.post(`/workflows/${t}/execute`,{triggerData:e})).data}async test(t,e){return(await this.client.post(`/workflows/${t}/test`,{triggerData:e})).data}async getExecutions(t,e){return this.client.get(`/workflows/${t}/executions`,{params:e})}async getExecution(t,e){return(await this.client.get(`/workflows/${t}/executions/${e}`)).data}async cancelExecution(t,e){await this.client.post(`/workflows/${t}/executions/${e}/cancel`)}async enable(t){return this.update(t,{isActive:!0})}async disable(t){return this.update(t,{isActive:!1})}async duplicate(t,e){let{id:s,createdAt:i,updatedAt:a,...n}=await this.findOne(t);return this.create({...n,name:`Copy of ${n.name}`,...e})}},y=class{client;storage;socket=null;socketClient=null;socketUrl;socketPath;subscriptions=new Map;workflowCallbacks=new Map;roomCallbacks=new Map;roomUserCallbacks=new Map;connectionCallbacks=new Set;reconnecting=!1;connectionPromise=null;constructor(t){this.client=t.client,this.storage=t.storage,this.socketUrl=t.socketUrl||"",this.socketPath=t.socketPath||"/realtime"}setSocketClient(t){this.socketClient=t}setSocketUrl(t){this.socketUrl=t}ensureSocketClient(){if(!this.socketClient)throw Error("Socket.io client not set. Please call baasix.realtime.setSocketClient(io) with socket.io-client.")}async getAuthToken(){return await this.storage.get(i.ACCESS_TOKEN)}async connect(){if(this.connectionPromise)return this.connectionPromise;if(this.socket?.connected)return Promise.resolve();this.ensureSocketClient(),this.connectionPromise=new Promise(async(t,e)=>{try{let s=await this.getAuthToken(),i=this.socketUrl||this.client.getBaseUrl();this.socket=this.socketClient(i,{auth:{token:s||void 0},path:this.socketPath,transports:["websocket","polling"],reconnection:!0,reconnectionAttempts:10,reconnectionDelay:1e3,timeout:2e4}),this.socket.on("connect",()=>{console.log("[Baasix Realtime] Connected"),this.reconnecting=!1,this.notifyConnectionChange(!0),t()}),this.socket.on("disconnect",t=>{console.log("[Baasix Realtime] Disconnected:",t),this.notifyConnectionChange(!1)}),this.socket.on("connect_error",t=>{console.error("[Baasix Realtime] Connection error:",t.message),this.reconnecting||e(t)}),this.socket.on("reconnect",()=>{console.log("[Baasix Realtime] Reconnected"),this.reconnecting=!1,this.resubscribeAll(),this.notifyConnectionChange(!0)}),this.socket.on("reconnect_attempt",()=>{this.reconnecting=!0}),this.socket.on("connected",t=>{console.log("[Baasix Realtime] Authenticated as user:",t.userId)}),this.socket.on("workflow:execution:update",t=>{this.handleWorkflowUpdate(t)}),this.socket.on("workflow:execution:complete",t=>{this.handleWorkflowUpdate({...t,status:"complete"})}),this.socket.on("room:user:joined",t=>{let e=this.roomUserCallbacks.get(t.room);e?.joined.forEach(e=>{try{e(t)}catch(t){console.error("[Baasix Realtime] Error in room user joined callback:",t)}})}),this.socket.on("room:user:left",t=>{let e=this.roomUserCallbacks.get(t.room);e?.left.forEach(e=>{try{e(t)}catch(t){console.error("[Baasix Realtime] Error in room user left callback:",t)}})}),this.socket.connect()}catch(t){this.connectionPromise=null,e(t)}});try{await this.connectionPromise}finally{this.connectionPromise=null}}disconnect(){this.socket&&(this.socket.disconnect(),this.socket=null),this.subscriptions.clear(),this.workflowCallbacks.clear(),this.roomCallbacks.clear(),this.roomUserCallbacks.clear()}get isConnected(){return this.socket?.connected??!1}onConnectionChange(t){return this.connectionCallbacks.add(t),()=>{this.connectionCallbacks.delete(t)}}notifyConnectionChange(t){this.connectionCallbacks.forEach(e=>e(t))}subscribe(t,e){this.socket?.connected||console.warn("[Baasix Realtime] Not connected. Call connect() first.");let s=`${Date.now()}-${Math.random().toString(36).substr(2,9)}`,i=this.subscriptions.get(t);return i||(i={collection:t,callbacks:new Map},this.subscriptions.set(t,i),this.subscribeOnServer(t),this.setupCollectionListeners(t)),i.callbacks.set(s,e),()=>{let e=this.subscriptions.get(t);e&&(e.callbacks.delete(s),0===e.callbacks.size&&(this.unsubscribeOnServer(t),this.removeCollectionListeners(t),this.subscriptions.delete(t)))}}on(t,e,s){return this.subscribe(t,t=>{t.action===e&&s(t.data)})}onAny(t){let e=[];return this.subscriptions.forEach((s,i)=>{let a=this.subscribe(i,e=>{t(i,e)});e.push(a)}),()=>{e.forEach(t=>t())}}subscribeOnServer(t){this.socket?.connected&&this.socket.emit("subscribe",{collection:t},e=>{"error"===e.status&&console.error(`[Baasix Realtime] Failed to subscribe to ${t}:`,e.message)})}unsubscribeOnServer(t){this.socket?.connected&&this.socket.emit("unsubscribe",{collection:t})}setupCollectionListeners(t){this.socket&&["create","update","delete"].forEach(e=>{let s=`${t}:${e}`;this.socket.on(s,e=>{this.handleCollectionEvent(t,e)})})}removeCollectionListeners(t){this.socket&&["create","update","delete"].forEach(e=>{let s=`${t}:${e}`;this.socket.off(s)})}handleCollectionEvent(t,e){let s=this.subscriptions.get(t);s&&s.callbacks.forEach(t=>{try{t(e)}catch(t){console.error("[Baasix Realtime] Error in subscription callback:",t)}})}resubscribeAll(){this.subscriptions.forEach((t,e)=>{this.subscribeOnServer(e),this.setupCollectionListeners(e)})}subscribeToExecution(t,e){let s=String(t);this.socket?.connected&&this.socket.emit("workflow:execution:join",{executionId:s});let i=this.workflowCallbacks.get(s);return i||(i=new Set,this.workflowCallbacks.set(s,i)),i.add(e),()=>{let t=this.workflowCallbacks.get(s);t&&(t.delete(e),0===t.size&&this.workflowCallbacks.delete(s))}}handleWorkflowUpdate(t){let e=String(t.executionId),s=this.workflowCallbacks.get(e);s&&s.forEach(e=>{try{e(t)}catch(t){console.error("[Baasix Realtime] Error in workflow callback:",t)}})}async joinRoom(t){if(!this.socket?.connected)throw Error("Not connected. Call connect() first.");return new Promise((e,s)=>{this.socket.emit("room:join",{room:t},i=>{"success"===i.status?(this.setupRoomListeners(t),e()):s(Error(i.message||"Failed to join room"))})})}async leaveRoom(t){if(this.socket?.connected)return new Promise((e,s)=>{this.socket.emit("room:leave",{room:t},i=>{"success"===i.status?(this.cleanupRoomListeners(t),e()):s(Error(i.message||"Failed to leave room"))})})}async sendToRoom(t,e,s){if(!this.socket?.connected)throw Error("Not connected. Call connect() first.");return new Promise((i,a)=>{this.socket.emit("room:message",{room:t,event:e,payload:s},t=>{"success"===t.status?i():a(Error(t.message||"Failed to send message"))})})}onRoomMessage(t,e,s){this.roomCallbacks.has(t)||this.roomCallbacks.set(t,new Map);let i=this.roomCallbacks.get(t);return i.has(e)||i.set(e,new Set),i.get(e).add(s),()=>{let i=this.roomCallbacks.get(t);if(i){let a=i.get(e);a&&(a.delete(s),0===a.size&&i.delete(e)),0===i.size&&this.roomCallbacks.delete(t)}}}onRoomUserJoined(t,e){return this.roomUserCallbacks.has(t)||this.roomUserCallbacks.set(t,{joined:new Set,left:new Set}),this.roomUserCallbacks.get(t).joined.add(e),()=>{let s=this.roomUserCallbacks.get(t);s&&(s.joined.delete(e),0===s.joined.size&&0===s.left.size&&this.roomUserCallbacks.delete(t))}}onRoomUserLeft(t,e){return this.roomUserCallbacks.has(t)||this.roomUserCallbacks.set(t,{joined:new Set,left:new Set}),this.roomUserCallbacks.get(t).left.add(e),()=>{let s=this.roomUserCallbacks.get(t);s&&(s.left.delete(e),0===s.joined.size&&0===s.left.size&&this.roomUserCallbacks.delete(t))}}async invoke(t,e){if(!this.socket?.connected)throw Error("Not connected. Call connect() first.");return new Promise((s,i)=>{this.socket.emit("custom",{event:t,payload:e},t=>{"success"===t.status?s(t):i(Error(t.message||"Custom event failed"))})})}setupRoomListeners(t){this.roomCallbacks.has(t)||this.roomCallbacks.set(t,new Map),this.roomUserCallbacks.has(t)||this.roomUserCallbacks.set(t,{joined:new Set,left:new Set})}cleanupRoomListeners(t){this.roomCallbacks.delete(t),this.roomUserCallbacks.delete(t)}channel(t){return new k(this,t)}},k=class{realtime;collection;handlers=new Map;unsubscribeFn=null;constructor(t,e){this.realtime=t,this.collection=e}on(t,e){let s=this.mapEvent(t);return"*"===s?["create","update","delete"].forEach(t=>{this.addHandler(t,e)}):this.addHandler(s,e),this}mapEvent(t){switch(t.toUpperCase()){case"INSERT":return"create";case"UPDATE":return"update";case"DELETE":return"delete";default:return"*"}}addHandler(t,e){this.handlers.has(t)||this.handlers.set(t,[]),this.handlers.get(t).push(e)}subscribe(){return this.unsubscribeFn=this.realtime.subscribe(this.collection,t=>{let e=this.handlers.get(t.action);e&&e.forEach(e=>{try{e(t)}catch(t){console.error("[Baasix Channel] Handler error:",t)}})}),this}unsubscribe(){this.unsubscribeFn&&(this.unsubscribeFn(),this.unsubscribeFn=null),this.handlers.clear()}},C=class{client;collection="baasix_Role";constructor(t){this.client=t.client}async find(){return this.client.get(`/items/${this.collection}`,{params:{limit:-1}})}async findOne(t){return(await this.client.get(`/items/${this.collection}/${t}`)).data}async findByName(t){return(await this.client.get(`/items/${this.collection}`,{params:{filter:JSON.stringify({name:{eq:t}}),limit:1}})).data[0]||null}async create(t){return(await this.client.post(`/items/${this.collection}`,t)).data.id}async update(t,e){await this.client.patch(`/items/${this.collection}/${t}`,e)}async delete(t){await this.client.delete(`/items/${this.collection}/${t}`)}},b=class{client;collection="baasix_User";constructor(t){this.client=t.client}async find(t={}){let e={};return t.filter&&(e.filter=JSON.stringify(t.filter)),t.sort&&(e.sort=t.sort),void 0!==t.limit&&(e.limit=t.limit),void 0!==t.page&&(e.page=t.page),t.fields?.length&&(e.fields=t.fields.join(",")),this.client.get(`/items/${this.collection}`,{params:e})}async findOne(t,e){let s={};return e?.length&&(s.fields=e.join(",")),(await this.client.get(`/items/${this.collection}/${t}`,{params:s})).data}async findByEmail(t){return(await this.client.get(`/items/${this.collection}`,{params:{filter:JSON.stringify({email:{eq:t}}),limit:1}})).data[0]||null}async create(t){return(await this.client.post(`/items/${this.collection}`,t)).data.id}async update(t,e){await this.client.patch(`/items/${this.collection}/${t}`,e)}async delete(t){await this.client.delete(`/items/${this.collection}/${t}`)}async changePassword(t,e){await this.client.post("/auth/admin/change-password",{userId:t,password:e})}async suspend(t){await this.client.patch(`/items/${this.collection}/${t}`,{status:"suspended"})}async activate(t){await this.client.patch(`/items/${this.collection}/${t}`,{status:"active"})}async createMany(t){return(await this.client.post(`/items/${this.collection}/bulk`,t)).data}async deleteMany(t){await this.client.delete(`/items/${this.collection}/bulk`,{body:JSON.stringify(t)})}},E=class{client;constructor(t){this.client=t.client}async status(){return(await this.client.get("/migrations/status")).data}async list(t){return(await this.client.get("/migrations",{params:t})).data}async pending(){return(await this.client.get("/migrations/pending")).data}async check(){return(await this.client.get("/migrations/check")).data}async get(t){try{return(await this.client.get(`/migrations/${encodeURIComponent(t)}`)).data}catch{return null}}async run(t){return(await this.client.post("/migrations/run",t||{})).data}async rollback(t){return(await this.client.post(`/migrations/rollback/${encodeURIComponent(t)}`,{})).data}async rollbackBatch(){return(await this.client.post("/migrations/rollback-batch",{})).data}async create(t,e){return(await this.client.post("/migrations/create",{name:t,...e})).data}async markCompleted(t,e){return(await this.client.post(`/migrations/mark-completed/${encodeURIComponent(t)}`,{metadata:e})).data}async markAllCompleted(t){return(await this.client.post("/migrations/mark-all-completed",{toVersion:t})).data}},S=class{client;constructor(t){this.client=t.client}async info(){return this.client.get("/")}async health(){try{return await this.client.get("/health"),!0}catch{return!1}}},T=class{config;httpClient;storage;auth;files;schemas;notifications;permissions;settings;reports;workflows;realtime;roles;users;migrations;server;itemsModules=new Map;constructor(t){if(!t.url)throw Error("Baasix SDK: url is required");let e=t.url.replace(/\/$/,"");this.config={...t,url:e,authMode:t.authMode||"jwt",timeout:t.timeout||6e5,autoRefresh:!1!==t.autoRefresh},this.storage=t.storage||("undefined"!=typeof window&&void 0!==window.localStorage?new r:new o);let s=t.credentials||("cookie"===this.config.authMode?"include":"same-origin");this.httpClient=new n({baseUrl:e,authMode:this.config.authMode,storage:this.storage,timeout:this.config.timeout,autoRefresh:this.config.autoRefresh,credentials:s,headers:t.headers||{},token:t.token,tenantId:t.tenantId,onAuthError:()=>{this.config.onAuthStateChange?.("SIGNED_OUT",null)},onTokenRefresh:()=>{}}),this.auth=new c({client:this.httpClient,storage:this.storage,authMode:this.config.authMode,onAuthStateChange:t.onAuthStateChange}),this.files=new u({client:this.httpClient}),this.schemas=new d({client:this.httpClient}),this.notifications=new m({client:this.httpClient}),this.permissions=new g({client:this.httpClient}),this.settings=new w({client:this.httpClient}),this.reports=new f({client:this.httpClient}),this.workflows=new p({client:this.httpClient}),this.roles=new C({client:this.httpClient}),this.users=new b({client:this.httpClient}),this.migrations=new E({client:this.httpClient}),this.server=new S({client:this.httpClient}),this.realtime=new y({client:this.httpClient,storage:this.storage,socketUrl:t.socketUrl,socketPath:t.socketPath})}items(t){return this.itemsModules.has(t)||this.itemsModules.set(t,new h(t,{client:this.httpClient})),this.itemsModules.get(t)}collection(t){return this.items(t)}from(t){return this.items(t)}get request(){return this.httpClient}configure(t){t.headers&&this.httpClient.updateConfig({headers:t.headers}),void 0!==t.tenantId&&this.httpClient.updateConfig({tenantId:t.tenantId}),t.token&&this.httpClient.updateConfig({token:t.token}),t.timeout&&this.httpClient.updateConfig({timeout:t.timeout})}async setTenant(t){this.httpClient.updateConfig({tenantId:t}),await this.storage.set(i.TENANT,t)}async getTenant(){return await this.storage.get(i.TENANT)}async clearTenant(){this.httpClient.updateConfig({tenantId:void 0}),await this.storage.remove(i.TENANT)}async setToken(t){return this.auth.setToken(t)}async getToken(){return this.storage.get(i.ACCESS_TOKEN)}getUrl(){return this.config.url}getAuthMode(){return this.config.authMode}getStorage(){return this.storage}};function P(t){return new T(t)}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7874],{32660:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(79205).Z)("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]])},42208:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(79205).Z)("Eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]])},51817:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(79205).Z)("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]])},83229:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(79205).Z)("Save",[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]])},30166:function(e,t,n){n.d(t,{default:function(){return o.a}});var r=n(55775),o=n.n(r)},99376:function(e,t,n){var r=n(35475);n.o(r,"usePathname")&&n.d(t,{usePathname:function(){return r.usePathname}}),n.o(r,"useRouter")&&n.d(t,{useRouter:function(){return r.useRouter}}),n.o(r,"useSearchParams")&&n.d(t,{useSearchParams:function(){return r.useSearchParams}})},55775:function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return a}});let r=n(47043);n(57437),n(2265);let o=r._(n(15602));function a(e,t){var n;let r={loading:e=>{let{error:t,isLoading:n,pastDelay:r}=e;return null}};"function"==typeof e&&(r.loader=e);let a={...r,...t};return(0,o.default)({...a,modules:null==(n=a.loadableGenerated)?void 0:n.modules})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},81523:function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"BailoutToCSR",{enumerable:!0,get:function(){return o}});let r=n(18993);function o(e){let{reason:t,children:n}=e;if("undefined"==typeof window)throw new r.BailoutToCSRError(t);return n}},15602:function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return s}});let r=n(57437),o=n(2265),a=n(81523),u=n(70049);function l(e){return{default:e&&"default"in e?e.default:e}}let i={loader:()=>Promise.resolve(l(()=>null)),loading:null,ssr:!0},s=function(e){let t={...i,...e},n=(0,o.lazy)(()=>t.loader().then(l)),s=t.loading;function c(e){let l=s?(0,r.jsx)(s,{isLoading:!0,pastDelay:!0,error:null}):null,i=t.ssr?(0,r.jsxs)(r.Fragment,{children:["undefined"==typeof window?(0,r.jsx)(u.PreloadCss,{moduleIds:t.modules}):null,(0,r.jsx)(n,{...e})]}):(0,r.jsx)(a.BailoutToCSR,{reason:"next/dynamic",children:(0,r.jsx)(n,{...e})});return(0,r.jsx)(o.Suspense,{fallback:l,children:i})}return c.displayName="LoadableComponent",c}},70049:function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"PreloadCss",{enumerable:!0,get:function(){return a}});let r=n(57437),o=n(20544);function a(e){let{moduleIds:t}=e;if("undefined"!=typeof window)return null;let n=(0,o.getExpectedRequestStore)("next/dynamic css"),a=[];if(n.reactLoadableManifest&&t){let e=n.reactLoadableManifest;for(let n of t){if(!e[n])continue;let t=e[n].files.filter(e=>e.endsWith(".css"));a.push(...t)}}return 0===a.length?null:(0,r.jsx)(r.Fragment,{children:a.map(e=>(0,r.jsx)("link",{precedence:"dynamic",rel:"stylesheet",href:n.assetPrefix+"/_next/"+encodeURI(e),as:"style"},e))})}},370:function(e,t,n){n.d(t,{f:function(){return i}});var r=n(2265);n(54887);var o=n(37053),a=n(57437),u=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,t)=>{let n=(0,o.Z8)(`Primitive.${t}`),u=r.forwardRef((e,r)=>{let{asChild:o,...u}=e,l=o?n:t;return"undefined"!=typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,a.jsx)(l,{...u,ref:r})});return u.displayName=`Primitive.${t}`,{...e,[t]:u}},{}),l=r.forwardRef((e,t)=>(0,a.jsx)(u.label,{...e,ref:t,onMouseDown:t=>{var n;t.target.closest("button, input, select, textarea")||(null===(n=e.onMouseDown)||void 0===n||n.call(e,t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));l.displayName="Label";var i=l},1353:function(e,t,n){n.d(t,{Pc:function(){return j},ck:function(){return I},fC:function(){return F}});var r=n(2265),o=n(6741),a=n(9923),u=n(98575),l=n(73966),i=n(99255),s=n(82912),c=n(26606),d=n(80886),f=n(29114),p=n(57437),v="rovingFocusGroup.onEntryFocus",b={bubbles:!1,cancelable:!0},m="RovingFocusGroup",[y,h,w]=(0,a.B)(m),[g,j]=(0,l.b)(m,[w]),[x,M]=g(m),P=r.forwardRef((e,t)=>(0,p.jsx)(y.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,p.jsx)(y.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,p.jsx)(R,{...e,ref:t})})}));P.displayName=m;var R=r.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,orientation:a,loop:l=!1,dir:i,currentTabStopId:y,defaultCurrentTabStopId:w,onCurrentTabStopIdChange:g,onEntryFocus:j,preventScrollOnEntryFocus:M=!1,...P}=e,R=r.useRef(null),C=(0,u.e)(t,R),k=(0,f.gm)(i),[_,F]=(0,d.T)({prop:y,defaultProp:null!=w?w:null,onChange:g,caller:m}),[I,T]=r.useState(!1),S=(0,c.W)(j),E=h(n),A=r.useRef(!1),[L,V]=r.useState(0);return r.useEffect(()=>{let e=R.current;if(e)return e.addEventListener(v,S),()=>e.removeEventListener(v,S)},[S]),(0,p.jsx)(x,{scope:n,orientation:a,dir:k,loop:l,currentTabStopId:_,onItemFocus:r.useCallback(e=>F(e),[F]),onItemShiftTab:r.useCallback(()=>T(!0),[]),onFocusableItemAdd:r.useCallback(()=>V(e=>e+1),[]),onFocusableItemRemove:r.useCallback(()=>V(e=>e-1),[]),children:(0,p.jsx)(s.WV.div,{tabIndex:I||0===L?-1:0,"data-orientation":a,...P,ref:C,style:{outline:"none",...e.style},onMouseDown:(0,o.Mj)(e.onMouseDown,()=>{A.current=!0}),onFocus:(0,o.Mj)(e.onFocus,e=>{let t=!A.current;if(e.target===e.currentTarget&&t&&!I){let t=new CustomEvent(v,b);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=E().filter(e=>e.focusable);D([e.find(e=>e.active),e.find(e=>e.id===_),...e].filter(Boolean).map(e=>e.ref.current),M)}}A.current=!1}),onBlur:(0,o.Mj)(e.onBlur,()=>T(!1))})})}),C="RovingFocusGroupItem",k=r.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,focusable:a=!0,active:u=!1,tabStopId:l,children:c,...d}=e,f=(0,i.M)(),v=l||f,b=M(C,n),m=b.currentTabStopId===v,w=h(n),{onFocusableItemAdd:g,onFocusableItemRemove:j,currentTabStopId:x}=b;return r.useEffect(()=>{if(a)return g(),()=>j()},[a,g,j]),(0,p.jsx)(y.ItemSlot,{scope:n,id:v,focusable:a,active:u,children:(0,p.jsx)(s.WV.span,{tabIndex:m?0:-1,"data-orientation":b.orientation,...d,ref:t,onMouseDown:(0,o.Mj)(e.onMouseDown,e=>{a?b.onItemFocus(v):e.preventDefault()}),onFocus:(0,o.Mj)(e.onFocus,()=>b.onItemFocus(v)),onKeyDown:(0,o.Mj)(e.onKeyDown,e=>{if("Tab"===e.key&&e.shiftKey){b.onItemShiftTab();return}if(e.target!==e.currentTarget)return;let t=function(e,t,n){var r;let o=(r=e.key,"rtl"!==n?r:"ArrowLeft"===r?"ArrowRight":"ArrowRight"===r?"ArrowLeft":r);if(!("vertical"===t&&["ArrowLeft","ArrowRight"].includes(o))&&!("horizontal"===t&&["ArrowUp","ArrowDown"].includes(o)))return _[o]}(e,b.orientation,b.dir);if(void 0!==t){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let o=w().filter(e=>e.focusable).map(e=>e.ref.current);if("last"===t)o.reverse();else if("prev"===t||"next"===t){var n,r;"prev"===t&&o.reverse();let a=o.indexOf(e.currentTarget);o=b.loop?(n=o,r=a+1,n.map((e,t)=>n[(r+t)%n.length])):o.slice(a+1)}setTimeout(()=>D(o))}}),children:"function"==typeof c?c({isCurrentTabStop:m,hasTabStop:null!=x}):c})})});k.displayName=C;var _={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function D(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=document.activeElement;for(let r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}var F=P,I=k},20271:function(e,t,n){n.d(t,{VY:function(){return I},aV:function(){return D},fC:function(){return _},xz:function(){return F}});var r=n(2265),o=n(6741),a=n(73966),u=n(1353),l=n(71599),i=n(82912),s=n(29114),c=n(80886),d=n(99255),f=n(57437),p="Tabs",[v,b]=(0,a.b)(p,[u.Pc]),m=(0,u.Pc)(),[y,h]=v(p),w=r.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,onValueChange:o,defaultValue:a,orientation:u="horizontal",dir:l,activationMode:v="automatic",...b}=e,m=(0,s.gm)(l),[h,w]=(0,c.T)({prop:r,onChange:o,defaultProp:null!=a?a:"",caller:p});return(0,f.jsx)(y,{scope:n,baseId:(0,d.M)(),value:h,onValueChange:w,orientation:u,dir:m,activationMode:v,children:(0,f.jsx)(i.WV.div,{dir:m,"data-orientation":u,...b,ref:t})})});w.displayName=p;var g="TabsList",j=r.forwardRef((e,t)=>{let{__scopeTabs:n,loop:r=!0,...o}=e,a=h(g,n),l=m(n);return(0,f.jsx)(u.fC,{asChild:!0,...l,orientation:a.orientation,dir:a.dir,loop:r,children:(0,f.jsx)(i.WV.div,{role:"tablist","aria-orientation":a.orientation,...o,ref:t})})});j.displayName=g;var x="TabsTrigger",M=r.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,disabled:a=!1,...l}=e,s=h(x,n),c=m(n),d=C(s.baseId,r),p=k(s.baseId,r),v=r===s.value;return(0,f.jsx)(u.ck,{asChild:!0,...c,focusable:!a,active:v,children:(0,f.jsx)(i.WV.button,{type:"button",role:"tab","aria-selected":v,"aria-controls":p,"data-state":v?"active":"inactive","data-disabled":a?"":void 0,disabled:a,id:d,...l,ref:t,onMouseDown:(0,o.Mj)(e.onMouseDown,e=>{a||0!==e.button||!1!==e.ctrlKey?e.preventDefault():s.onValueChange(r)}),onKeyDown:(0,o.Mj)(e.onKeyDown,e=>{[" ","Enter"].includes(e.key)&&s.onValueChange(r)}),onFocus:(0,o.Mj)(e.onFocus,()=>{let e="manual"!==s.activationMode;v||a||!e||s.onValueChange(r)})})})});M.displayName=x;var P="TabsContent",R=r.forwardRef((e,t)=>{let{__scopeTabs:n,value:o,forceMount:a,children:u,...s}=e,c=h(P,n),d=C(c.baseId,o),p=k(c.baseId,o),v=o===c.value,b=r.useRef(v);return r.useEffect(()=>{let e=requestAnimationFrame(()=>b.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,f.jsx)(l.z,{present:a||v,children:n=>{let{present:r}=n;return(0,f.jsx)(i.WV.div,{"data-state":v?"active":"inactive","data-orientation":c.orientation,role:"tabpanel","aria-labelledby":d,hidden:!r,id:p,tabIndex:0,...s,ref:t,style:{...e.style,animationDuration:b.current?"0s":void 0},children:r&&u})}})});function C(e,t){return"".concat(e,"-trigger-").concat(t)}function k(e,t){return"".concat(e,"-content-").concat(t)}R.displayName=P;var _=w,D=j,F=M,I=R}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7982],{79205:function(e,t,n){n.d(t,{Z:function(){return u}});var r=n(2265);let l=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),a=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.filter((e,t,n)=>!!e&&n.indexOf(e)===t).join(" ")};var i={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let o=(0,r.forwardRef)((e,t)=>{let{color:n="currentColor",size:l=24,strokeWidth:o=2,absoluteStrokeWidth:u,className:d="",children:c,iconNode:s,...f}=e;return(0,r.createElement)("svg",{ref:t,...i,width:l,height:l,stroke:n,strokeWidth:u?24*Number(o)/Number(l):o,className:a("lucide",d),...f},[...s.map(e=>{let[t,n]=e;return(0,r.createElement)(t,n)}),...Array.isArray(c)?c:[c]])}),u=(e,t)=>{let n=(0,r.forwardRef)((n,i)=>{let{className:u,...d}=n;return(0,r.createElement)(o,{ref:i,iconNode:t,className:a("lucide-".concat(l(e)),u),...d})});return n.displayName="".concat(e),n}},30401:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(79205).Z)("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]])},10407:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(79205).Z)("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]])},49322:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(79205).Z)("CircleAlert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]])},99388:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(79205).Z)("CircleX",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]])},96362:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(79205).Z)("ExternalLink",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]])},65621:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(79205).Z)("History",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]])},54001:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(79205).Z)("Key",[["path",{d:"m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4",key:"g0fldk"}],["path",{d:"m21 2-9.6 9.6",key:"1j0ho8"}],["circle",{cx:"7.5",cy:"15.5",r:"5.5",key:"yqb3hr"}]])},25466:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(79205).Z)("LayoutDashboard",[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]])},47692:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(79205).Z)("LogOut",[["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}],["polyline",{points:"16 17 21 12 16 7",key:"1gabdz"}],["line",{x1:"21",x2:"9",y1:"12",y2:"12",key:"1uyos4"}]])},97226:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(79205).Z)("Moon",[["path",{d:"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z",key:"a7tn18"}]])},30755:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(79205).Z)("PanelLeft",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}]])},82431:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(79205).Z)("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]])},73247:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(79205).Z)("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]])},98728:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(79205).Z)("Settings",[["path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z",key:"1qme2f"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]])},83578:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(79205).Z)("ShieldAlert",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M12 8v4",key:"1got3b"}],["path",{d:"M12 16h.01",key:"1drbdi"}]])},85929:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(79205).Z)("Sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]])},76865:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(79205).Z)("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]])},95805:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(79205).Z)("Users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["path",{d:"M16 3.13a4 4 0 0 1 0 7.75",key:"1da9ce"}]])},75395:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(79205).Z)("WifiOff",[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}],["path",{d:"M5 12.859a10 10 0 0 1 5.17-2.69",key:"1dl1wf"}],["path",{d:"M19 12.859a10 10 0 0 0-2.007-1.523",key:"4k23kn"}],["path",{d:"M2 8.82a15 15 0 0 1 4.177-2.643",key:"1grhjp"}],["path",{d:"M22 8.82a15 15 0 0 0-11.288-3.764",key:"z3jwby"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]])},99376:function(e,t,n){var r=n(35475);n.o(r,"usePathname")&&n.d(t,{usePathname:function(){return r.usePathname}}),n.o(r,"useRouter")&&n.d(t,{useRouter:function(){return r.useRouter}}),n.o(r,"useSearchParams")&&n.d(t,{useSearchParams:function(){return r.useSearchParams}})},23374:function(e,t,n){let r;n.d(t,{OT:function(){return eb},eh:function(){return eg},s_:function(){return h}});var l,a=n(2265);let i=(0,a.createContext)(null);i.displayName="PanelGroupContext";let o={group:"data-panel-group",groupDirection:"data-panel-group-direction",groupId:"data-panel-group-id",panel:"data-panel",panelCollapsible:"data-panel-collapsible",panelId:"data-panel-id",panelSize:"data-panel-size",resizeHandle:"data-resize-handle",resizeHandleActive:"data-resize-handle-active",resizeHandleEnabled:"data-panel-resize-handle-enabled",resizeHandleId:"data-panel-resize-handle-id",resizeHandleState:"data-resize-handle-state"},u=a.useLayoutEffect,d=(l||(l=n.t(a,2)))["useId".toString()],c="function"==typeof d?d:()=>null,s=0;function f(e=null){let t=c(),n=(0,a.useRef)(e||t||null);return null===n.current&&(n.current=""+s++),null!=e?e:n.current}function p({children:e,className:t="",collapsedSize:n,collapsible:r,defaultSize:l,forwardedRef:d,id:c,maxSize:s,minSize:p,onCollapse:h,onExpand:m,onResize:y,order:g,style:v,tagName:k="div",...b}){let w=(0,a.useContext)(i);if(null===w)throw Error("Panel components must be rendered within a PanelGroup container");let{collapsePanel:x,expandPanel:z,getPanelSize:C,getPanelStyle:E,groupId:M,isPanelCollapsed:S,reevaluatePanelConstraints:I,registerPanel:N,resizePanel:P,unregisterPanel:A}=w,$=f(c),R=(0,a.useRef)({callbacks:{onCollapse:h,onExpand:m,onResize:y},constraints:{collapsedSize:n,collapsible:r,defaultSize:l,maxSize:s,minSize:p},id:$,idIsFromProps:void 0!==c,order:g});(0,a.useRef)({didLogMissingDefaultSizeWarning:!1}),u(()=>{let{callbacks:e,constraints:t}=R.current,a={...t};R.current.id=$,R.current.idIsFromProps=void 0!==c,R.current.order=g,e.onCollapse=h,e.onExpand=m,e.onResize=y,t.collapsedSize=n,t.collapsible=r,t.defaultSize=l,t.maxSize=s,t.minSize=p,(a.collapsedSize!==t.collapsedSize||a.collapsible!==t.collapsible||a.maxSize!==t.maxSize||a.minSize!==t.minSize)&&I(R.current,a)}),u(()=>{let e=R.current;return N(e),()=>{A(e)}},[g,$,N,A]),(0,a.useImperativeHandle)(d,()=>({collapse:()=>{x(R.current)},expand:e=>{z(R.current,e)},getId:()=>$,getSize:()=>C(R.current),isCollapsed:()=>S(R.current),isExpanded:()=>!S(R.current),resize:e=>{P(R.current,e)}}),[x,z,C,S,$,P]);let L=E(R.current,l);return(0,a.createElement)(k,{...b,children:e,className:t,id:$,style:{...L,...v},[o.groupId]:M,[o.panel]:"",[o.panelCollapsible]:r||void 0,[o.panelId]:$,[o.panelSize]:parseFloat(""+L.flexGrow).toFixed(1)})}let h=(0,a.forwardRef)((e,t)=>(0,a.createElement)(p,{...e,forwardedRef:t}));p.displayName="Panel",h.displayName="forwardRef(Panel)";let m=null,y=-1,g=null;function v(e,t){var n,l,a;let i=function(e,t){if(t){let e=(t&I)!=0,n=(t&N)!=0,r=(t&P)!=0,l=(t&A)!=0;if(e)return r?"se-resize":l?"ne-resize":"e-resize";if(n)return r?"sw-resize":l?"nw-resize":"w-resize";if(r)return"s-resize";if(l)return"n-resize"}switch(e){case"horizontal":return"ew-resize";case"intersection":return"move";case"vertical":return"ns-resize"}}(e,t);m!==i&&(m=i,null===g&&(g=document.createElement("style"),r&&g.setAttribute("nonce",r),document.head.appendChild(g)),y>=0&&(null===(a=g.sheet)||void 0===a||a.removeRule(y)),y=null!==(n=null===(l=g.sheet)||void 0===l?void 0:l.insertRule(`*{cursor: ${i} !important;}`))&&void 0!==n?n:-1)}function k(e){return"keydown"===e.type}function b(e){return e.type.startsWith("pointer")}function w(e){return e.type.startsWith("mouse")}function x(e){if(b(e)){if(e.isPrimary)return{x:e.clientX,y:e.clientY}}else if(w(e))return{x:e.clientX,y:e.clientY};return{x:1/0,y:1/0}}let z=/\b(?:position|zIndex|opacity|transform|webkitTransform|mixBlendMode|filter|webkitFilter|isolation)\b/;function C(e){let t=e.length;for(;t--;){let n=e[t];if(V(n,"Missing node"),function(e){let t=getComputedStyle(e);return!!("fixed"===t.position||"auto"!==t.zIndex&&("static"!==t.position||function(e){var t;let n=getComputedStyle(null!==(t=S(e))&&void 0!==t?t:e).display;return"flex"===n||"inline-flex"===n}(e))||1>+t.opacity||"transform"in t&&"none"!==t.transform||"webkitTransform"in t&&"none"!==t.webkitTransform||"mixBlendMode"in t&&"normal"!==t.mixBlendMode||"filter"in t&&"none"!==t.filter||"webkitFilter"in t&&"none"!==t.webkitFilter||"isolation"in t&&"isolate"===t.isolation||z.test(t.willChange))||"touch"===t.webkitOverflowScrolling}(n))return n}return null}function E(e){return e&&Number(getComputedStyle(e).zIndex)||0}function M(e){let t=[];for(;e;)t.push(e),e=S(e);return t}function S(e){let{parentNode:t}=e;return t&&t instanceof ShadowRoot?t.host:t}let I=1,N=2,P=4,A=8,$="coarse"===function(){if("function"==typeof matchMedia)return matchMedia("(pointer:coarse)").matches?"coarse":"fine"}(),R=[],L=!1,Z=new Map,H=new Map,D=new Set;function j(e){let{target:t}=e,{x:n,y:r}=x(e);L=!0,T({target:t,x:n,y:r}),_(),R.length>0&&(B("down",e),e.preventDefault(),F(t)||e.stopImmediatePropagation())}function q(e){let{x:t,y:n}=x(e);if(L&&0===e.buttons&&(L=!1,B("up",e)),!L){let{target:r}=e;T({target:r,x:t,y:n})}B("move",e),G(),R.length>0&&e.preventDefault()}function O(e){let{target:t}=e,{x:n,y:r}=x(e);H.clear(),L=!1,R.length>0&&(e.preventDefault(),F(t)||e.stopImmediatePropagation()),B("up",e),T({target:t,x:n,y:r}),G(),_()}function F(e){let t=e;for(;t;){if(t.hasAttribute(o.resizeHandle))return!0;t=t.parentElement}return!1}function T({target:e,x:t,y:n}){R.splice(0);let r=null;(e instanceof HTMLElement||e instanceof SVGElement)&&(r=e),D.forEach(e=>{let{element:l,hitAreaMargins:a}=e,i=l.getBoundingClientRect(),{bottom:o,left:u,right:d,top:c}=i,s=$?a.coarse:a.fine;if(t>=u-s&&t<=d+s&&n>=c-s&&n<=o+s){if(null!==r&&document.contains(r)&&l!==r&&!l.contains(r)&&!r.contains(l)&&function(e,t){let n;if(e===t)throw Error("Cannot compare node with itself");let r={a:M(e),b:M(t)};for(;r.a.at(-1)===r.b.at(-1);)e=r.a.pop(),t=r.b.pop(),n=e;V(n,"Stacking order can only be calculated for elements with a common ancestor");let l={a:E(C(r.a)),b:E(C(r.b))};if(l.a===l.b){let e=n.childNodes,t={a:r.a.at(-1),b:r.b.at(-1)},l=e.length;for(;l--;){let n=e[l];if(n===t.a)return 1;if(n===t.b)return -1}}return Math.sign(l.a-l.b)}(r,l)>0){let e=r,t=!1;for(;e;){var f;if(e.contains(l))break;if((f=e.getBoundingClientRect()).x<i.x+i.width&&f.x+f.width>i.x&&f.y<i.y+i.height&&f.y+f.height>i.y){t=!0;break}e=e.parentElement}if(t)return}R.push(e)}})}function G(){let e=!1,t=!1;R.forEach(n=>{let{direction:r}=n;"horizontal"===r?e=!0:t=!0});let n=0;H.forEach(e=>{n|=e}),e&&t?v("intersection",n):e?v("horizontal",n):t?v("vertical",n):null!==g&&(document.head.removeChild(g),m=null,g=null,y=-1)}let W=new AbortController;function _(){W.abort();let e={capture:!0,signal:(W=new AbortController).signal};D.size&&(L?(R.length>0&&Z.forEach((t,n)=>{let{body:r}=n;t>0&&(r.addEventListener("contextmenu",O,e),r.addEventListener("pointerleave",q,e),r.addEventListener("pointermove",q,e))}),window.addEventListener("pointerup",O,e),window.addEventListener("pointercancel",O,e)):Z.forEach((t,n)=>{let{body:r}=n;t>0&&(r.addEventListener("pointerdown",j,e),r.addEventListener("pointermove",q,e))}))}function B(e,t){D.forEach(n=>{let{setResizeHandlerState:r}=n;r(e,R.includes(n),t)})}function V(e,t){if(!e)throw console.error(t),Error(t)}function J(e,t,n=10){return e.toFixed(n)===t.toFixed(n)?0:e>t?1:-1}function U(e,t,n=10){return 0===J(e,t,n)}function K(e,t,n){return 0===J(e,t,n)}function X({panelConstraints:e,panelIndex:t,size:n}){let r=e[t];V(null!=r,`Panel constraints not found for index ${t}`);let{collapsedSize:l=0,collapsible:a,maxSize:i=100,minSize:o=0}=r;return 0>J(n,o)&&(n=a&&0>J(n,(l+o)/2)?l:o),n=parseFloat((n=Math.min(i,n)).toFixed(10))}function Y({delta:e,initialLayout:t,panelConstraints:n,pivotIndices:r,prevLayout:l,trigger:a}){if(K(e,0))return t;let i=[...t],[o,u]=r;V(null!=o,"Invalid first pivot index"),V(null!=u,"Invalid second pivot index");let d=0;if("keyboard"===a){{let r=e<0?u:o,l=n[r];V(l,`Panel constraints not found for index ${r}`);let{collapsedSize:a=0,collapsible:i,minSize:d=0}=l;if(i){let n=t[r];if(V(null!=n,`Previous layout not found for panel index ${r}`),K(n,a)){let t=d-n;J(t,Math.abs(e))>0&&(e=e<0?0-t:t)}}}{let r=e<0?o:u,l=n[r];V(l,`No panel constraints found for index ${r}`);let{collapsedSize:a=0,collapsible:i,minSize:d=0}=l;if(i){let n=t[r];if(V(null!=n,`Previous layout not found for panel index ${r}`),K(n,d)){let t=n-a;J(t,Math.abs(e))>0&&(e=e<0?0-t:t)}}}}{let r=e<0?1:-1,l=e<0?u:o,a=0;for(;;){let e=t[l];if(V(null!=e,`Previous layout not found for panel index ${l}`),a+=X({panelConstraints:n,panelIndex:l,size:100})-e,(l+=r)<0||l>=n.length)break}let i=Math.min(Math.abs(e),Math.abs(a));e=e<0?0-i:i}{let r=e<0?o:u;for(;r>=0&&r<n.length;){let l=Math.abs(e)-Math.abs(d),a=t[r];V(null!=a,`Previous layout not found for panel index ${r}`);let o=X({panelConstraints:n,panelIndex:r,size:a-l});if(!K(a,o)&&(d+=a-o,i[r]=o,d.toPrecision(3).localeCompare(Math.abs(e).toPrecision(3),void 0,{numeric:!0})>=0))break;e<0?r--:r++}}if(function(e,t,n){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!K(e[n],t[n],void 0))return!1;return!0}(l,i))return l;{let r=e<0?u:o,l=t[r];V(null!=l,`Previous layout not found for panel index ${r}`);let a=l+d,c=X({panelConstraints:n,panelIndex:r,size:a});if(i[r]=c,!K(c,a)){let t=a-c,r=e<0?u:o;for(;r>=0&&r<n.length;){let l=i[r];V(null!=l,`Previous layout not found for panel index ${r}`);let a=X({panelConstraints:n,panelIndex:r,size:l+t});if(K(l,a)||(t-=a-l,i[r]=a),K(t,0))break;e>0?r--:r++}}}return K(i.reduce((e,t)=>t+e,0),100)?i:l}function Q(e,t=document){return Array.from(t.querySelectorAll(`[${o.resizeHandleId}][data-panel-group-id="${e}"]`))}function ee(e,t,n=document){let r=Q(e,n).findIndex(e=>e.getAttribute(o.resizeHandleId)===t);return null!=r?r:null}function et(e,t,n){let r=ee(e,t,n);return null!=r?[r,r+1]:[-1,-1]}function en(e,t=document){var n;return t instanceof HTMLElement&&(null==t?void 0:null===(n=t.dataset)||void 0===n?void 0:n.panelGroupId)==e?t:t.querySelector(`[data-panel-group][data-panel-group-id="${e}"]`)||null}function er(e,t=document){return t.querySelector(`[${o.resizeHandleId}="${e}"]`)||null}function el(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function ea(e,t){let{x:n,y:r}=x(t);return"horizontal"===e?n:r}function ei(e,t,n){t.forEach((t,r)=>{let l=e[r];V(l,`Panel data not found for index ${r}`);let{callbacks:a,constraints:i,id:o}=l,{collapsedSize:u=0,collapsible:d}=i,c=n[o];if(null==c||t!==c){n[o]=t;let{onCollapse:e,onExpand:r,onResize:l}=a;l&&l(t,c),d&&(e||r)&&(r&&(null==c||U(c,u))&&!U(t,u)&&r(),e&&(null==c||!U(c,u))&&U(t,u)&&e())}})}function eo(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!=t[n])return!1;return!0}function eu(e){try{if("undefined"!=typeof localStorage)e.getItem=e=>localStorage.getItem(e),e.setItem=(e,t)=>{localStorage.setItem(e,t)};else throw Error("localStorage not supported in this environment")}catch(t){console.error(t),e.getItem=()=>null,e.setItem=()=>{}}}function ed(e){return`react-resizable-panels:${e}`}function ec(e){return e.map(e=>{let{constraints:t,id:n,idIsFromProps:r,order:l}=e;return r?n:l?`${l}:${JSON.stringify(t)}`:JSON.stringify(t)}).sort((e,t)=>e.localeCompare(t)).join(",")}function es(e,t){try{let n=ed(e),r=t.getItem(n);if(r){let e=JSON.parse(r);if("object"==typeof e&&null!=e)return e}}catch(e){}return null}function ef(e,t,n,r,l){var a;let i=ed(e),o=ec(t),u=null!==(a=es(e,l))&&void 0!==a?a:{};u[o]={expandToSizes:Object.fromEntries(n.entries()),layout:r};try{l.setItem(i,JSON.stringify(u))}catch(e){console.error(e)}}function ep({layout:e,panelConstraints:t}){let n=[...e],r=n.reduce((e,t)=>e+t,0);if(n.length!==t.length)throw Error(`Invalid ${t.length} panel layout: ${n.map(e=>`${e}%`).join(", ")}`);if(!K(r,100)&&n.length>0)for(let e=0;e<t.length;e++){let t=n[e];V(null!=t,`No layout data found for index ${e}`);let l=100/r*t;n[e]=l}let l=0;for(let e=0;e<t.length;e++){let r=n[e];V(null!=r,`No layout data found for index ${e}`);let a=X({panelConstraints:t,panelIndex:e,size:r});r!=a&&(l+=r-a,n[e]=a)}if(!K(l,0))for(let e=0;e<t.length;e++){let r=n[e];V(null!=r,`No layout data found for index ${e}`);let a=X({panelConstraints:t,panelIndex:e,size:r+l});if(r!==a&&(l-=a-r,n[e]=a,K(l,0)))break}return n}let eh={getItem:e=>(eu(eh),eh.getItem(e)),setItem:(e,t)=>{eu(eh),eh.setItem(e,t)}},em={};function ey({autoSaveId:e=null,children:t,className:n="",direction:r,forwardedRef:l,id:d=null,onLayout:c=null,keyboardResizeBy:s=null,storage:p=eh,style:h,tagName:m="div",...y}){let g=f(d),v=(0,a.useRef)(null),[x,z]=(0,a.useState)(null),[C,E]=(0,a.useState)([]),M=function(){let[e,t]=(0,a.useState)(0);return(0,a.useCallback)(()=>t(e=>e+1),[])}(),S=(0,a.useRef)({}),$=(0,a.useRef)(new Map),R=(0,a.useRef)(0),L=(0,a.useRef)({autoSaveId:e,direction:r,dragState:x,id:g,keyboardResizeBy:s,onLayout:c,storage:p}),Z=(0,a.useRef)({layout:C,panelDataArray:[],panelDataArrayChanged:!1});(0,a.useRef)({didLogIdAndOrderWarning:!1,didLogPanelConstraintsWarning:!1,prevPanelIds:[]}),(0,a.useImperativeHandle)(l,()=>({getId:()=>L.current.id,getLayout:()=>{let{layout:e}=Z.current;return e},setLayout:e=>{let{onLayout:t}=L.current,{layout:n,panelDataArray:r}=Z.current,l=ep({layout:e,panelConstraints:r.map(e=>e.constraints)});el(n,l)||(E(l),Z.current.layout=l,t&&t(l),ei(r,l,S.current))}}),[]),u(()=>{L.current.autoSaveId=e,L.current.direction=r,L.current.dragState=x,L.current.id=g,L.current.onLayout=c,L.current.storage=p}),function({committedValuesRef:e,eagerValuesRef:t,groupId:n,layout:r,panelDataArray:l,panelGroupElement:i,setLayout:d}){(0,a.useRef)({didWarnAboutMissingResizeHandle:!1}),u(()=>{if(!i)return;let e=Q(n,i);for(let t=0;t<l.length-1;t++){let{valueMax:n,valueMin:a,valueNow:i}=function({layout:e,panelsArray:t,pivotIndices:n}){let r=0,l=100,a=0,i=0,o=n[0];return V(null!=o,"No pivot index found"),t.forEach((e,t)=>{let{constraints:n}=e,{maxSize:u=100,minSize:d=0}=n;t===o?(r=d,l=u):(a+=d,i+=u)}),{valueMax:Math.min(l,100-a),valueMin:Math.max(r,100-i),valueNow:e[o]}}({layout:r,panelsArray:l,pivotIndices:[t,t+1]}),o=e[t];if(null==o);else{let e=l[t];V(e,`No panel data found for index "${t}"`),o.setAttribute("aria-controls",e.id),o.setAttribute("aria-valuemax",""+Math.round(n)),o.setAttribute("aria-valuemin",""+Math.round(a)),o.setAttribute("aria-valuenow",null!=i?""+Math.round(i):"")}}return()=>{e.forEach((e,t)=>{e.removeAttribute("aria-controls"),e.removeAttribute("aria-valuemax"),e.removeAttribute("aria-valuemin"),e.removeAttribute("aria-valuenow")})}},[n,r,l,i]),(0,a.useEffect)(()=>{if(!i)return;let e=t.current;V(e,"Eager values not found");let{panelDataArray:l}=e;V(null!=en(n,i),`No group found for id "${n}"`);let a=Q(n,i);V(a,`No resize handles found for group id "${n}"`);let u=a.map(e=>{let t=e.getAttribute(o.resizeHandleId);V(t,"Resize handle element has no handle id attribute");let[a,u]=function(e,t,n,r=document){var l,a,i,o;let u=er(t,r),d=Q(e,r),c=u?d.indexOf(u):-1;return[null!==(l=null===(a=n[c])||void 0===a?void 0:a.id)&&void 0!==l?l:null,null!==(i=null===(o=n[c+1])||void 0===o?void 0:o.id)&&void 0!==i?i:null]}(n,t,l,i);if(null==a||null==u)return()=>{};let c=e=>{if(!e.defaultPrevented&&"Enter"===e.key){e.preventDefault();let o=l.findIndex(e=>e.id===a);if(o>=0){let e=l[o];V(e,`No panel data found for index ${o}`);let a=r[o],{collapsedSize:u=0,collapsible:c,minSize:s=0}=e.constraints;if(null!=a&&c){let e=Y({delta:K(a,u)?s-u:u-a,initialLayout:r,panelConstraints:l.map(e=>e.constraints),pivotIndices:et(n,t,i),prevLayout:r,trigger:"keyboard"});r!==e&&d(e)}}}};return e.addEventListener("keydown",c),()=>{e.removeEventListener("keydown",c)}});return()=>{u.forEach(e=>e())}},[i,e,t,n,r,l,d])}({committedValuesRef:L,eagerValuesRef:Z,groupId:g,layout:C,panelDataArray:Z.current.panelDataArray,setLayout:E,panelGroupElement:v.current}),(0,a.useEffect)(()=>{let{panelDataArray:t}=Z.current;if(e){if(0===C.length||C.length!==t.length)return;let n=em[e];null==n&&(n=function(e,t=10){let n=null;return(...r)=>{null!==n&&clearTimeout(n),n=setTimeout(()=>{e(...r)},t)}}(ef,100),em[e]=n),n(e,[...t],new Map($.current),C,p)}},[e,C,p]),(0,a.useEffect)(()=>{});let D=(0,a.useCallback)(e=>{let{onLayout:t}=L.current,{layout:n,panelDataArray:r}=Z.current;if(e.constraints.collapsible){let l=r.map(e=>e.constraints),{collapsedSize:a=0,panelSize:i,pivotIndices:o}=ek(r,e,n);if(V(null!=i,`Panel size not found for panel "${e.id}"`),!U(i,a)){$.current.set(e.id,i);let u=Y({delta:ev(r,e)===r.length-1?i-a:a-i,initialLayout:n,panelConstraints:l,pivotIndices:o,prevLayout:n,trigger:"imperative-api"});eo(n,u)||(E(u),Z.current.layout=u,t&&t(u),ei(r,u,S.current))}}},[]),j=(0,a.useCallback)((e,t)=>{let{onLayout:n}=L.current,{layout:r,panelDataArray:l}=Z.current;if(e.constraints.collapsible){let a=l.map(e=>e.constraints),{collapsedSize:i=0,panelSize:o=0,minSize:u=0,pivotIndices:d}=ek(l,e,r),c=null!=t?t:u;if(U(o,i)){let t=$.current.get(e.id),i=null!=t&&t>=c?t:c,u=Y({delta:ev(l,e)===l.length-1?o-i:i-o,initialLayout:r,panelConstraints:a,pivotIndices:d,prevLayout:r,trigger:"imperative-api"});eo(r,u)||(E(u),Z.current.layout=u,n&&n(u),ei(l,u,S.current))}}},[]),q=(0,a.useCallback)(e=>{let{layout:t,panelDataArray:n}=Z.current,{panelSize:r}=ek(n,e,t);return V(null!=r,`Panel size not found for panel "${e.id}"`),r},[]),O=(0,a.useCallback)((e,t)=>{let{panelDataArray:n}=Z.current,r=ev(n,e);return function({defaultSize:e,dragState:t,layout:n,panelData:r,panelIndex:l,precision:a=3}){let i=n[l];return{flexBasis:0,flexGrow:null==i?void 0!=e?e.toPrecision(a):"1":1===r.length?"1":i.toPrecision(a),flexShrink:1,overflow:"hidden",pointerEvents:null!==t?"none":void 0}}({defaultSize:t,dragState:x,layout:C,panelData:n,panelIndex:r})},[x,C]),F=(0,a.useCallback)(e=>{let{layout:t,panelDataArray:n}=Z.current,{collapsedSize:r=0,collapsible:l,panelSize:a}=ek(n,e,t);return V(null!=a,`Panel size not found for panel "${e.id}"`),!0===l&&U(a,r)},[]),T=(0,a.useCallback)(e=>{let{layout:t,panelDataArray:n}=Z.current,{collapsedSize:r=0,collapsible:l,panelSize:a}=ek(n,e,t);return V(null!=a,`Panel size not found for panel "${e.id}"`),!l||J(a,r)>0},[]),G=(0,a.useCallback)(e=>{let{panelDataArray:t}=Z.current;t.push(e),t.sort((e,t)=>{let n=e.order,r=t.order;return null==n&&null==r?0:null==n?-1:null==r?1:n-r}),Z.current.panelDataArrayChanged=!0,M()},[M]);u(()=>{if(Z.current.panelDataArrayChanged){Z.current.panelDataArrayChanged=!1;let{autoSaveId:n,onLayout:r,storage:l}=L.current,{layout:a,panelDataArray:i}=Z.current,o=null;if(n){var e,t;let r=null!==(t=(null!==(e=es(n,l))&&void 0!==e?e:{})[ec(i)])&&void 0!==t?t:null;r&&($.current=new Map(Object.entries(r.expandToSizes)),o=r.layout)}null==o&&(o=function({panelDataArray:e}){let t=Array(e.length),n=e.map(e=>e.constraints),r=0,l=100;for(let a=0;a<e.length;a++){let e=n[a];V(e,`Panel constraints not found for index ${a}`);let{defaultSize:i}=e;null!=i&&(r++,t[a]=i,l-=i)}for(let a=0;a<e.length;a++){let i=n[a];V(i,`Panel constraints not found for index ${a}`);let{defaultSize:o}=i;if(null!=o)continue;let u=l/(e.length-r);r++,t[a]=u,l-=u}return t}({panelDataArray:i}));let u=ep({layout:o,panelConstraints:i.map(e=>e.constraints)});el(a,u)||(E(u),Z.current.layout=u,r&&r(u),ei(i,u,S.current))}}),u(()=>{let e=Z.current;return()=>{e.layout=[]}},[]);let W=(0,a.useCallback)(e=>{let t=!1,n=v.current;return n&&"rtl"===window.getComputedStyle(n,null).getPropertyValue("direction")&&(t=!0),function(n){n.preventDefault();let r=v.current;if(!r)return()=>null;let{direction:l,dragState:a,id:i,keyboardResizeBy:u,onLayout:d}=L.current,{layout:c,panelDataArray:s}=Z.current,{initialLayout:f}=null!=a?a:{},p=et(i,e,r),h=function(e,t,n,r,l,a){if(k(e)){let t="horizontal"===n,r=0;r=e.shiftKey?100:null!=l?l:10;let a=0;switch(e.key){case"ArrowDown":a=t?0:r;break;case"ArrowLeft":a=t?-r:0;break;case"ArrowRight":a=t?r:0;break;case"ArrowUp":a=t?0:-r;break;case"End":a=100;break;case"Home":a=-100}return a}return null==r?0:function(e,t,n,r,l){let a="horizontal"===n,i=er(t,l);V(i,`No resize handle element found for id "${t}"`);let u=i.getAttribute(o.groupId);V(u,"Resize handle element has no group id attribute");let{initialCursorPosition:d}=r,c=ea(n,e),s=en(u,l);V(s,`No group element found for id "${u}"`);let f=s.getBoundingClientRect();return(c-d)/(a?f.width:f.height)*100}(e,t,n,r,a)}(n,e,l,a,u,r),m="horizontal"===l;m&&t&&(h=-h);let y=Y({delta:h,initialLayout:null!=f?f:c,panelConstraints:s.map(e=>e.constraints),pivotIndices:p,prevLayout:c,trigger:k(n)?"keyboard":"mouse-or-touch"}),g=!eo(c,y);if((b(n)||w(n))&&R.current!=h){var x,z;(R.current=h,g||0===h)?H.set(e,0):m?(x=h<0?I:N,H.set(e,x)):(z=h<0?P:A,H.set(e,z))}g&&(E(y),Z.current.layout=y,d&&d(y),ei(s,y,S.current))}},[]),_=(0,a.useCallback)((e,t)=>{let{onLayout:n}=L.current,{layout:r,panelDataArray:l}=Z.current,a=l.map(e=>e.constraints),{panelSize:i,pivotIndices:o}=ek(l,e,r);V(null!=i,`Panel size not found for panel "${e.id}"`);let u=Y({delta:ev(l,e)===l.length-1?i-t:t-i,initialLayout:r,panelConstraints:a,pivotIndices:o,prevLayout:r,trigger:"imperative-api"});eo(r,u)||(E(u),Z.current.layout=u,n&&n(u),ei(l,u,S.current))},[]),B=(0,a.useCallback)((e,t)=>{let{layout:n,panelDataArray:r}=Z.current,{collapsedSize:l=0,collapsible:a}=t,{collapsedSize:i=0,collapsible:o,maxSize:u=100,minSize:d=0}=e.constraints,{panelSize:c}=ek(r,e,n);null!=c&&(a&&o&&U(c,l)?U(l,i)||_(e,i):c<d?_(e,d):c>u&&_(e,u))},[_]),X=(0,a.useCallback)((e,t)=>{let{direction:n}=L.current,{layout:r}=Z.current;if(!v.current)return;let l=er(e,v.current);V(l,`Drag handle element not found for id "${e}"`);let a=ea(n,t);z({dragHandleId:e,dragHandleRect:l.getBoundingClientRect(),initialCursorPosition:a,initialLayout:r})},[]),ee=(0,a.useCallback)(()=>{z(null)},[]),eu=(0,a.useCallback)(e=>{let{panelDataArray:t}=Z.current,n=ev(t,e);n>=0&&(t.splice(n,1),delete S.current[e.id],Z.current.panelDataArrayChanged=!0,M())},[M]),ed=(0,a.useMemo)(()=>({collapsePanel:D,direction:r,dragState:x,expandPanel:j,getPanelSize:q,getPanelStyle:O,groupId:g,isPanelCollapsed:F,isPanelExpanded:T,reevaluatePanelConstraints:B,registerPanel:G,registerResizeHandle:W,resizePanel:_,startDragging:X,stopDragging:ee,unregisterPanel:eu,panelGroupElement:v.current}),[D,x,r,j,q,O,g,F,T,B,G,W,_,X,ee,eu]);return(0,a.createElement)(i.Provider,{value:ed},(0,a.createElement)(m,{...y,children:t,className:n,id:d,ref:v,style:{display:"flex",flexDirection:"horizontal"===r?"row":"column",height:"100%",overflow:"hidden",width:"100%",...h},[o.group]:"",[o.groupDirection]:r,[o.groupId]:g}))}let eg=(0,a.forwardRef)((e,t)=>(0,a.createElement)(ey,{...e,forwardedRef:t}));function ev(e,t){return e.findIndex(e=>e===t||e.id===t.id)}function ek(e,t,n){let r=ev(e,t),l=r===e.length-1,a=n[r];return{...t.constraints,panelSize:a,pivotIndices:l?[r-1,r]:[r,r+1]}}function eb({children:e=null,className:t="",disabled:n=!1,hitAreaMargins:r,id:l,onBlur:d,onClick:c,onDragging:s,onFocus:p,onPointerDown:h,onPointerUp:m,style:y={},tabIndex:g=0,tagName:v="div",...k}){var b,w;let x=(0,a.useRef)(null),z=(0,a.useRef)({onClick:c,onDragging:s,onPointerDown:h,onPointerUp:m});(0,a.useEffect)(()=>{z.current.onClick=c,z.current.onDragging=s,z.current.onPointerDown=h,z.current.onPointerUp=m});let C=(0,a.useContext)(i);if(null===C)throw Error("PanelResizeHandle components must be rendered within a PanelGroup container");let{direction:E,groupId:M,registerResizeHandle:S,startDragging:I,stopDragging:N,panelGroupElement:P}=C,A=f(l),[$,L]=(0,a.useState)("inactive"),[j,q]=(0,a.useState)(!1),[O,F]=(0,a.useState)(null),T=(0,a.useRef)({state:$});u(()=>{T.current.state=$}),(0,a.useEffect)(()=>{if(n)F(null);else{let e=S(A);F(()=>e)}},[n,A,S]);let W=null!==(b=null==r?void 0:r.coarse)&&void 0!==b?b:15,B=null!==(w=null==r?void 0:r.fine)&&void 0!==w?w:5;return(0,a.useEffect)(()=>{if(n||null==O)return;let e=x.current;V(e,"Element ref not attached");let t=!1;return function(e,t,n,r,l){var a;let{ownerDocument:i}=t,o={direction:n,element:t,hitAreaMargins:r,setResizeHandlerState:l},u=null!==(a=Z.get(i))&&void 0!==a?a:0;return Z.set(i,u+1),D.add(o),_(),function(){var t;H.delete(e),D.delete(o);let n=null!==(t=Z.get(i))&&void 0!==t?t:1;if(Z.set(i,n-1),_(),1===n&&Z.delete(i),R.includes(o)){let e=R.indexOf(o);e>=0&&R.splice(e,1),G(),l("up",!0,null)}}}(A,e,E,{coarse:W,fine:B},(e,n,r)=>{if(!n){L("inactive");return}switch(e){case"down":{L("drag"),t=!1,V(r,'Expected event to be defined for "down" action'),I(A,r);let{onDragging:e,onPointerDown:n}=z.current;null==e||e(!0),null==n||n();break}case"move":{let{state:e}=T.current;t=!0,"drag"!==e&&L("hover"),V(r,'Expected event to be defined for "move" action'),O(r);break}case"up":{L("hover"),N();let{onClick:e,onDragging:n,onPointerUp:r}=z.current;null==n||n(!1),null==r||r(),t||null==e||e()}}})},[W,E,n,B,S,A,O,I,N]),!function({disabled:e,handleId:t,resizeHandler:n,panelGroupElement:r}){(0,a.useEffect)(()=>{if(e||null==n||null==r)return;let l=er(t,r);if(null==l)return;let a=e=>{if(!e.defaultPrevented)switch(e.key){case"ArrowDown":case"ArrowLeft":case"ArrowRight":case"ArrowUp":case"End":case"Home":e.preventDefault(),n(e);break;case"F6":{e.preventDefault();let n=l.getAttribute(o.groupId);V(n,`No group element found for id "${n}"`);let a=Q(n,r),i=ee(n,t,r);V(null!==i,`No resize element found for id "${t}"`);let u=e.shiftKey?i>0?i-1:a.length-1:i+1<a.length?i+1:0;a[u].focus()}}};return l.addEventListener("keydown",a),()=>{l.removeEventListener("keydown",a)}},[r,e,t,n])}({disabled:n,handleId:A,resizeHandler:O,panelGroupElement:P}),(0,a.createElement)(v,{...k,children:e,className:t,id:l,onBlur:()=>{q(!1),null==d||d()},onFocus:()=>{q(!0),null==p||p()},ref:x,role:"separator",style:{touchAction:"none",userSelect:"none",...y},tabIndex:g,[o.groupDirection]:E,[o.groupId]:M,[o.resizeHandle]:"",[o.resizeHandleActive]:"drag"===$?"pointer":j?"keyboard":void 0,[o.resizeHandleEnabled]:!n,[o.resizeHandleId]:A,[o.resizeHandleState]:$})}ey.displayName="PanelGroup",eg.displayName="forwardRef(PanelGroup)",eb.displayName="PanelResizeHandle"},62484:function(e,t,n){n.d(t,{u:function(){return r}});function r(e,[t,n]){return Math.min(n,Math.max(t,e))}},27954:function(e,t,n){n.d(t,{NY:function(){return C},Ee:function(){return z},fC:function(){return x}});var r=n(2265),l=n(57437),a=n(26606),i=n(61188);n(54887);var o=n(37053),u=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,t)=>{let n=(0,o.Z8)(`Primitive.${t}`),a=r.forwardRef((e,r)=>{let{asChild:a,...i}=e,o=a?n:t;return"undefined"!=typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,l.jsx)(o,{...i,ref:r})});return a.displayName=`Primitive.${t}`,{...e,[t]:a}},{}),d=n(82558);function c(){return()=>{}}var s="Avatar",[f,p]=function(e,t=[]){let n=[],a=()=>{let t=n.map(e=>r.createContext(e));return function(n){let l=n?.[e]||t;return r.useMemo(()=>({[`__scope${e}`]:{...n,[e]:l}}),[n,l])}};return a.scopeName=e,[function(t,a){let i=r.createContext(a);i.displayName=t+"Context";let o=n.length;n=[...n,a];let u=t=>{let{scope:n,children:a,...u}=t,d=n?.[e]?.[o]||i,c=r.useMemo(()=>u,Object.values(u));return(0,l.jsx)(d.Provider,{value:c,children:a})};return u.displayName=t+"Provider",[u,function(n,l){let u=l?.[e]?.[o]||i,d=r.useContext(u);if(d)return d;if(void 0!==a)return a;throw Error(`\`${n}\` must be used within \`${t}\``)}]},function(...e){let t=e[0];if(1===e.length)return t;let n=()=>{let n=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){let l=n.reduce((t,{useScope:n,scopeName:r})=>{let l=n(e)[`__scope${r}`];return{...t,...l}},{});return r.useMemo(()=>({[`__scope${t.scopeName}`]:l}),[l])}};return n.scopeName=t.scopeName,n}(a,...t)]}(s),[h,m]=f(s),y=r.forwardRef((e,t)=>{let{__scopeAvatar:n,...a}=e,[i,o]=r.useState("idle");return(0,l.jsx)(h,{scope:n,imageLoadingStatus:i,onImageLoadingStatusChange:o,children:(0,l.jsx)(u.span,{...a,ref:t})})});y.displayName=s;var g="AvatarImage",v=r.forwardRef((e,t)=>{let{__scopeAvatar:n,src:o,onLoadingStatusChange:s=()=>{},...f}=e,p=m(g,n),h=function(e,t){let{referrerPolicy:n,crossOrigin:l}=t,a=(0,d.useSyncExternalStore)(c,()=>!0,()=>!1),o=r.useRef(null),u=a?(o.current||(o.current=new window.Image),o.current):null,[s,f]=r.useState(()=>w(u,e));return(0,i.b)(()=>{f(w(u,e))},[u,e]),(0,i.b)(()=>{let e=e=>()=>{f(e)};if(!u)return;let t=e("loaded"),r=e("error");return u.addEventListener("load",t),u.addEventListener("error",r),n&&(u.referrerPolicy=n),"string"==typeof l&&(u.crossOrigin=l),()=>{u.removeEventListener("load",t),u.removeEventListener("error",r)}},[u,l,n]),s}(o,f),y=(0,a.W)(e=>{s(e),p.onImageLoadingStatusChange(e)});return(0,i.b)(()=>{"idle"!==h&&y(h)},[h,y]),"loaded"===h?(0,l.jsx)(u.img,{...f,ref:t,src:o}):null});v.displayName=g;var k="AvatarFallback",b=r.forwardRef((e,t)=>{let{__scopeAvatar:n,delayMs:a,...i}=e,o=m(k,n),[d,c]=r.useState(void 0===a);return r.useEffect(()=>{if(void 0!==a){let e=window.setTimeout(()=>c(!0),a);return()=>window.clearTimeout(e)}},[a]),d&&"loaded"!==o.imageLoadingStatus?(0,l.jsx)(u.span,{...i,ref:t}):null});function w(e,t){return e?t?(e.src!==t&&(e.src=t),e.complete&&e.naturalWidth>0?"loaded":"loading"):"error":"idle"}b.displayName=k;var x=y,z=v,C=b}}]);