unleash-server 7.2.2 → 7.3.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 (501) hide show
  1. package/README.md +21 -10
  2. package/dist/lib/create-config.d.ts.map +1 -1
  3. package/dist/lib/create-config.js +8 -0
  4. package/dist/lib/create-config.js.map +1 -1
  5. package/dist/lib/db/client-applications-store.d.ts.map +1 -1
  6. package/dist/lib/db/client-applications-store.js +32 -2
  7. package/dist/lib/db/client-applications-store.js.map +1 -1
  8. package/dist/lib/db/feature-environment-store.d.ts +1 -1
  9. package/dist/lib/db/feature-environment-store.d.ts.map +1 -1
  10. package/dist/lib/db/feature-environment-store.js +42 -35
  11. package/dist/lib/db/feature-environment-store.js.map +1 -1
  12. package/dist/lib/db/index.d.ts.map +1 -1
  13. package/dist/lib/db/index.js +2 -0
  14. package/dist/lib/db/index.js.map +1 -1
  15. package/dist/lib/error/unleash-error.d.ts.map +1 -1
  16. package/dist/lib/error/unleash-error.js +2 -2
  17. package/dist/lib/error/unleash-error.js.map +1 -1
  18. package/dist/lib/events/index.d.ts +8 -1
  19. package/dist/lib/events/index.d.ts.map +1 -1
  20. package/dist/lib/events/index.js +14 -0
  21. package/dist/lib/events/index.js.map +1 -1
  22. package/dist/lib/features/api-tokens/createApiTokenService.d.ts +2 -0
  23. package/dist/lib/features/api-tokens/createApiTokenService.d.ts.map +1 -1
  24. package/dist/lib/features/api-tokens/createApiTokenService.js +6 -2
  25. package/dist/lib/features/api-tokens/createApiTokenService.js.map +1 -1
  26. package/dist/lib/features/client-feature-toggles/client-feature-toggle.controller.d.ts.map +1 -1
  27. package/dist/lib/features/client-feature-toggles/client-feature-toggle.controller.js +2 -9
  28. package/dist/lib/features/client-feature-toggles/client-feature-toggle.controller.js.map +1 -1
  29. package/dist/lib/features/dependent-features/dependent.features.e2e.test.js +28 -29
  30. package/dist/lib/features/dependent-features/dependent.features.e2e.test.js.map +1 -1
  31. package/dist/lib/features/feature-links/feature-link-service.js +1 -1
  32. package/dist/lib/features/feature-links/feature-link-service.js.map +1 -1
  33. package/dist/lib/features/feature-toggle/createFeatureToggleService.d.ts.map +1 -1
  34. package/dist/lib/features/feature-toggle/createFeatureToggleService.js +14 -4
  35. package/dist/lib/features/feature-toggle/createFeatureToggleService.js.map +1 -1
  36. package/dist/lib/features/feature-toggle/fakes/fake-feature-strategies-store.d.ts.map +1 -1
  37. package/dist/lib/features/feature-toggle/fakes/fake-feature-strategies-store.js +2 -1
  38. package/dist/lib/features/feature-toggle/fakes/fake-feature-strategies-store.js.map +1 -1
  39. package/dist/lib/features/feature-toggle/feature-toggle-service.d.ts +9 -3
  40. package/dist/lib/features/feature-toggle/feature-toggle-service.d.ts.map +1 -1
  41. package/dist/lib/features/feature-toggle/feature-toggle-service.js +23 -7
  42. package/dist/lib/features/feature-toggle/feature-toggle-service.js.map +1 -1
  43. package/dist/lib/features/feature-toggle/feature-toggle-strategies-store.d.ts.map +1 -1
  44. package/dist/lib/features/feature-toggle/feature-toggle-strategies-store.js +3 -3
  45. package/dist/lib/features/feature-toggle/feature-toggle-strategies-store.js.map +1 -1
  46. package/dist/lib/features/feature-toggle/tests/feature-toggles.e2e.test.js +34 -35
  47. package/dist/lib/features/feature-toggle/tests/feature-toggles.e2e.test.js.map +1 -1
  48. package/dist/lib/features/instance-stats/createInstanceStatsService.d.ts.map +1 -1
  49. package/dist/lib/features/instance-stats/createInstanceStatsService.js +5 -2
  50. package/dist/lib/features/instance-stats/createInstanceStatsService.js.map +1 -1
  51. package/dist/lib/features/instance-stats/getEdgeInstances.d.ts +6 -0
  52. package/dist/lib/features/instance-stats/getEdgeInstances.d.ts.map +1 -0
  53. package/dist/lib/features/instance-stats/getEdgeInstances.e2e.test.d.ts +2 -0
  54. package/dist/lib/features/instance-stats/getEdgeInstances.e2e.test.d.ts.map +1 -0
  55. package/dist/lib/features/instance-stats/getEdgeInstances.e2e.test.js +137 -0
  56. package/dist/lib/features/instance-stats/getEdgeInstances.e2e.test.js.map +1 -0
  57. package/dist/lib/features/instance-stats/getEdgeInstances.js +36 -0
  58. package/dist/lib/features/instance-stats/getEdgeInstances.js.map +1 -0
  59. package/dist/lib/features/instance-stats/instance-stats-service.d.ts +4 -1
  60. package/dist/lib/features/instance-stats/instance-stats-service.d.ts.map +1 -1
  61. package/dist/lib/features/instance-stats/instance-stats-service.js +8 -3
  62. package/dist/lib/features/instance-stats/instance-stats-service.js.map +1 -1
  63. package/dist/lib/features/instance-stats/instance-stats-service.test.js +2 -1
  64. package/dist/lib/features/instance-stats/instance-stats-service.test.js.map +1 -1
  65. package/dist/lib/features/metrics/client-metrics/metrics-service-v2.js +1 -1
  66. package/dist/lib/features/metrics/client-metrics/metrics-service-v2.js.map +1 -1
  67. package/dist/lib/features/metrics/impact/batch-histogram.d.ts +36 -0
  68. package/dist/lib/features/metrics/impact/batch-histogram.d.ts.map +1 -0
  69. package/dist/lib/features/metrics/impact/batch-histogram.js +87 -0
  70. package/dist/lib/features/metrics/impact/batch-histogram.js.map +1 -0
  71. package/dist/lib/features/metrics/impact/batch-histogram.test.d.ts +2 -0
  72. package/dist/lib/features/metrics/impact/batch-histogram.test.d.ts.map +1 -0
  73. package/dist/lib/features/metrics/impact/batch-histogram.test.js +137 -0
  74. package/dist/lib/features/metrics/impact/batch-histogram.test.js.map +1 -0
  75. package/dist/lib/features/metrics/impact/define-impact-metrics.d.ts +2 -0
  76. package/dist/lib/features/metrics/impact/define-impact-metrics.d.ts.map +1 -1
  77. package/dist/lib/features/metrics/impact/define-impact-metrics.js +4 -0
  78. package/dist/lib/features/metrics/impact/define-impact-metrics.js.map +1 -1
  79. package/dist/lib/features/metrics/impact/impact-metrics.e2e.test.js +49 -0
  80. package/dist/lib/features/metrics/impact/impact-metrics.e2e.test.js.map +1 -1
  81. package/dist/lib/features/metrics/impact/metrics-translator.d.ts +22 -4
  82. package/dist/lib/features/metrics/impact/metrics-translator.d.ts.map +1 -1
  83. package/dist/lib/features/metrics/impact/metrics-translator.js +58 -2
  84. package/dist/lib/features/metrics/impact/metrics-translator.js.map +1 -1
  85. package/dist/lib/features/metrics/impact/metrics-translator.test.js +83 -0
  86. package/dist/lib/features/metrics/impact/metrics-translator.test.js.map +1 -1
  87. package/dist/lib/features/metrics/shared/schema.d.ts +1 -0
  88. package/dist/lib/features/metrics/shared/schema.d.ts.map +1 -1
  89. package/dist/lib/features/metrics/shared/schema.js +27 -1
  90. package/dist/lib/features/metrics/shared/schema.js.map +1 -1
  91. package/dist/lib/features/project/createProjectService.d.ts.map +1 -1
  92. package/dist/lib/features/project/createProjectService.js +7 -5
  93. package/dist/lib/features/project/createProjectService.js.map +1 -1
  94. package/dist/lib/features/project/project-service.d.ts +3 -2
  95. package/dist/lib/features/project/project-service.d.ts.map +1 -1
  96. package/dist/lib/features/project/project-service.js +4 -3
  97. package/dist/lib/features/project/project-service.js.map +1 -1
  98. package/dist/lib/features/release-plans/release-plan-milestone-store.d.ts +2 -2
  99. package/dist/lib/features/release-plans/release-plan-milestone-store.d.ts.map +1 -1
  100. package/dist/lib/features/release-plans/release-plan-milestone-store.js +3 -0
  101. package/dist/lib/features/release-plans/release-plan-milestone-store.js.map +1 -1
  102. package/dist/lib/features/release-plans/release-plan-milestone.d.ts +6 -0
  103. package/dist/lib/features/release-plans/release-plan-milestone.d.ts.map +1 -1
  104. package/dist/lib/features/release-plans/release-plan-read-model-type.d.ts +5 -0
  105. package/dist/lib/features/release-plans/release-plan-read-model-type.d.ts.map +1 -0
  106. package/dist/lib/features/release-plans/release-plan-read-model-type.js +2 -0
  107. package/dist/lib/features/release-plans/release-plan-read-model-type.js.map +1 -0
  108. package/dist/lib/features/release-plans/release-plan-read-model.d.ts +11 -0
  109. package/dist/lib/features/release-plans/release-plan-read-model.d.ts.map +1 -0
  110. package/dist/lib/features/release-plans/release-plan-read-model.js +133 -0
  111. package/dist/lib/features/release-plans/release-plan-read-model.js.map +1 -0
  112. package/dist/lib/features/release-plans/release-plan-read-model.test.d.ts +2 -0
  113. package/dist/lib/features/release-plans/release-plan-read-model.test.d.ts.map +1 -0
  114. package/dist/lib/features/release-plans/release-plan-read-model.test.js +165 -0
  115. package/dist/lib/features/release-plans/release-plan-read-model.test.js.map +1 -0
  116. package/dist/lib/features/release-plans/release-plan-store.d.ts +1 -1
  117. package/dist/lib/features/release-plans/release-plan-store.d.ts.map +1 -1
  118. package/dist/lib/features/release-plans/release-plan-store.js +16 -15
  119. package/dist/lib/features/release-plans/release-plan-store.js.map +1 -1
  120. package/dist/lib/features/release-plans/release-plan-template.d.ts +2 -2
  121. package/dist/lib/features/release-plans/release-plan-template.d.ts.map +1 -1
  122. package/dist/lib/features/release-plans/release-plan.d.ts +1 -1
  123. package/dist/lib/features/release-plans/release-plan.d.ts.map +1 -1
  124. package/dist/lib/features/resource-limits/resource-limits-service.d.ts +8 -0
  125. package/dist/lib/features/resource-limits/resource-limits-service.d.ts.map +1 -0
  126. package/dist/lib/features/resource-limits/resource-limits-service.js +9 -0
  127. package/dist/lib/features/resource-limits/resource-limits-service.js.map +1 -0
  128. package/dist/lib/features/scheduler/schedule-services.js +1 -1
  129. package/dist/lib/features/scheduler/schedule-services.js.map +1 -1
  130. package/dist/lib/features/segment/createSegmentService.d.ts.map +1 -1
  131. package/dist/lib/features/segment/createSegmentService.js +5 -3
  132. package/dist/lib/features/segment/createSegmentService.js.map +1 -1
  133. package/dist/lib/features/segment/segment-service.d.ts +3 -2
  134. package/dist/lib/features/segment/segment-service.d.ts.map +1 -1
  135. package/dist/lib/features/segment/segment-service.js +3 -3
  136. package/dist/lib/features/segment/segment-service.js.map +1 -1
  137. package/dist/lib/features/users/user-store.d.ts +2 -0
  138. package/dist/lib/features/users/user-store.d.ts.map +1 -1
  139. package/dist/lib/features/users/user-store.js +3 -2
  140. package/dist/lib/features/users/user-store.js.map +1 -1
  141. package/dist/lib/features/users/user-updates-read-model.d.ts +27 -0
  142. package/dist/lib/features/users/user-updates-read-model.d.ts.map +1 -0
  143. package/dist/lib/features/users/user-updates-read-model.js +68 -0
  144. package/dist/lib/features/users/user-updates-read-model.js.map +1 -0
  145. package/dist/lib/features/users/user-updates-read-model.test.d.ts +2 -0
  146. package/dist/lib/features/users/user-updates-read-model.test.d.ts.map +1 -0
  147. package/dist/lib/features/users/user-updates-read-model.test.js +50 -0
  148. package/dist/lib/features/users/user-updates-read-model.test.js.map +1 -0
  149. package/dist/lib/metrics.d.ts.map +1 -1
  150. package/dist/lib/metrics.js +8 -6
  151. package/dist/lib/metrics.js.map +1 -1
  152. package/dist/lib/metrics.test.js +2 -1
  153. package/dist/lib/metrics.test.js.map +1 -1
  154. package/dist/lib/middleware/origin-middleware.d.ts +1 -1
  155. package/dist/lib/middleware/origin-middleware.d.ts.map +1 -1
  156. package/dist/lib/middleware/origin-middleware.js +2 -9
  157. package/dist/lib/middleware/origin-middleware.js.map +1 -1
  158. package/dist/lib/middleware/origin-middleware.test.js +0 -16
  159. package/dist/lib/middleware/origin-middleware.test.js.map +1 -1
  160. package/dist/lib/openapi/spec/application-schema.d.ts +1 -1
  161. package/dist/lib/openapi/spec/application-schema.js +1 -1
  162. package/dist/lib/openapi/spec/application-schema.js.map +1 -1
  163. package/dist/lib/openapi/spec/applications-schema.d.ts +1 -1
  164. package/dist/lib/openapi/spec/bulk-metrics-schema.d.ts +126 -39
  165. package/dist/lib/openapi/spec/bulk-metrics-schema.d.ts.map +1 -1
  166. package/dist/lib/openapi/spec/create-application-schema.d.ts +1 -1
  167. package/dist/lib/openapi/spec/create-application-schema.js +1 -1
  168. package/dist/lib/openapi/spec/create-application-schema.js.map +1 -1
  169. package/dist/lib/openapi/spec/create-strategy-schema.d.ts +2 -2
  170. package/dist/lib/openapi/spec/create-strategy-schema.js +2 -2
  171. package/dist/lib/openapi/spec/create-strategy-schema.js.map +1 -1
  172. package/dist/lib/openapi/spec/event-schema.d.ts +1 -1
  173. package/dist/lib/openapi/spec/event-search-response-schema.d.ts +1 -1
  174. package/dist/lib/openapi/spec/events-schema.d.ts +1 -1
  175. package/dist/lib/openapi/spec/export-result-schema.d.ts +12304 -1250
  176. package/dist/lib/openapi/spec/export-result-schema.d.ts.map +1 -1
  177. package/dist/lib/openapi/spec/export-result-schema.js +12 -0
  178. package/dist/lib/openapi/spec/export-result-schema.js.map +1 -1
  179. package/dist/lib/openapi/spec/feature-environment-schema.d.ts +2767 -0
  180. package/dist/lib/openapi/spec/feature-environment-schema.d.ts.map +1 -1
  181. package/dist/lib/openapi/spec/feature-environment-schema.js +19 -0
  182. package/dist/lib/openapi/spec/feature-environment-schema.js.map +1 -1
  183. package/dist/lib/openapi/spec/feature-events-schema.d.ts +1 -1
  184. package/dist/lib/openapi/spec/feature-schema.d.ts +5808 -281
  185. package/dist/lib/openapi/spec/feature-schema.d.ts.map +1 -1
  186. package/dist/lib/openapi/spec/feature-schema.js +12 -0
  187. package/dist/lib/openapi/spec/feature-schema.js.map +1 -1
  188. package/dist/lib/openapi/spec/feature-search-environment-schema.d.ts +5613 -79
  189. package/dist/lib/openapi/spec/feature-search-environment-schema.d.ts.map +1 -1
  190. package/dist/lib/openapi/spec/feature-search-environment-schema.js +12 -0
  191. package/dist/lib/openapi/spec/feature-search-environment-schema.js.map +1 -1
  192. package/dist/lib/openapi/spec/feature-search-query-parameters.d.ts +2 -1
  193. package/dist/lib/openapi/spec/feature-search-query-parameters.d.ts.map +1 -1
  194. package/dist/lib/openapi/spec/feature-search-query-parameters.js +2 -1
  195. package/dist/lib/openapi/spec/feature-search-query-parameters.js.map +1 -1
  196. package/dist/lib/openapi/spec/feature-search-response-schema.d.ts +5613 -79
  197. package/dist/lib/openapi/spec/feature-search-response-schema.d.ts.map +1 -1
  198. package/dist/lib/openapi/spec/health-overview-schema.d.ts +11432 -605
  199. package/dist/lib/openapi/spec/health-overview-schema.d.ts.map +1 -1
  200. package/dist/lib/openapi/spec/health-overview-schema.js +8 -0
  201. package/dist/lib/openapi/spec/health-overview-schema.js.map +1 -1
  202. package/dist/lib/openapi/spec/health-report-schema.d.ts +11432 -605
  203. package/dist/lib/openapi/spec/health-report-schema.d.ts.map +1 -1
  204. package/dist/lib/openapi/spec/impact-metrics-schema.d.ts +126 -39
  205. package/dist/lib/openapi/spec/impact-metrics-schema.d.ts.map +1 -1
  206. package/dist/lib/openapi/spec/impact-metrics-schema.js +128 -39
  207. package/dist/lib/openapi/spec/impact-metrics-schema.js.map +1 -1
  208. package/dist/lib/openapi/spec/import-toggles-schema.d.ts +24822 -2714
  209. package/dist/lib/openapi/spec/import-toggles-schema.d.ts.map +1 -1
  210. package/dist/lib/openapi/spec/import-toggles-schema.js +12 -0
  211. package/dist/lib/openapi/spec/import-toggles-schema.js.map +1 -1
  212. package/dist/lib/openapi/spec/index.d.ts +7 -0
  213. package/dist/lib/openapi/spec/index.d.ts.map +1 -1
  214. package/dist/lib/openapi/spec/index.js +7 -0
  215. package/dist/lib/openapi/spec/index.js.map +1 -1
  216. package/dist/lib/openapi/spec/instance-admin-stats-schema.d.ts +13 -0
  217. package/dist/lib/openapi/spec/instance-admin-stats-schema.d.ts.map +1 -1
  218. package/dist/lib/openapi/spec/instance-admin-stats-schema.js +13 -0
  219. package/dist/lib/openapi/spec/instance-admin-stats-schema.js.map +1 -1
  220. package/dist/lib/openapi/spec/integration-event-schema.d.ts +1 -1
  221. package/dist/lib/openapi/spec/integration-events-schema.d.ts +2 -2
  222. package/dist/lib/openapi/spec/me-schema.d.ts +1 -1
  223. package/dist/lib/openapi/spec/patch-schema.d.ts +1 -1
  224. package/dist/lib/openapi/spec/patch-schema.js +1 -1
  225. package/dist/lib/openapi/spec/patch-schema.js.map +1 -1
  226. package/dist/lib/openapi/spec/patches-schema.d.ts +1 -1
  227. package/dist/lib/openapi/spec/permission-schema.d.ts +1 -1
  228. package/dist/lib/openapi/spec/permission-schema.js +1 -1
  229. package/dist/lib/openapi/spec/permission-schema.js.map +1 -1
  230. package/dist/lib/openapi/spec/profile-schema.d.ts +5808 -281
  231. package/dist/lib/openapi/spec/profile-schema.d.ts.map +1 -1
  232. package/dist/lib/openapi/spec/project-overview-schema.d.ts +11641 -814
  233. package/dist/lib/openapi/spec/project-overview-schema.d.ts.map +1 -1
  234. package/dist/lib/openapi/spec/project-overview-schema.js +8 -0
  235. package/dist/lib/openapi/spec/project-overview-schema.js.map +1 -1
  236. package/dist/lib/openapi/spec/ready-check-schema.d.ts +19 -0
  237. package/dist/lib/openapi/spec/ready-check-schema.d.ts.map +1 -0
  238. package/dist/lib/openapi/spec/ready-check-schema.js +17 -0
  239. package/dist/lib/openapi/spec/ready-check-schema.js.map +1 -0
  240. package/dist/lib/openapi/spec/release-plan-milestone-schema.d.ts +716 -0
  241. package/dist/lib/openapi/spec/release-plan-milestone-schema.d.ts.map +1 -0
  242. package/dist/lib/openapi/spec/release-plan-milestone-schema.js +72 -0
  243. package/dist/lib/openapi/spec/release-plan-milestone-schema.js.map +1 -0
  244. package/dist/lib/openapi/spec/release-plan-milestone-strategy-schema.d.ts +361 -0
  245. package/dist/lib/openapi/spec/release-plan-milestone-strategy-schema.d.ts.map +1 -0
  246. package/dist/lib/openapi/spec/release-plan-milestone-strategy-schema.js +40 -0
  247. package/dist/lib/openapi/spec/release-plan-milestone-strategy-schema.js.map +1 -0
  248. package/dist/lib/openapi/spec/release-plan-schema.d.ts +1449 -0
  249. package/dist/lib/openapi/spec/release-plan-schema.d.ts.map +1 -0
  250. package/dist/lib/openapi/spec/release-plan-schema.js +74 -0
  251. package/dist/lib/openapi/spec/release-plan-schema.js.map +1 -0
  252. package/dist/lib/openapi/spec/release-plan-template-id-schema.d.ts +19 -0
  253. package/dist/lib/openapi/spec/release-plan-template-id-schema.d.ts.map +1 -0
  254. package/dist/lib/openapi/spec/release-plan-template-id-schema.js +17 -0
  255. package/dist/lib/openapi/spec/release-plan-template-id-schema.js.map +1 -0
  256. package/dist/lib/openapi/spec/release-plan-template-schema.d.ts +1434 -0
  257. package/dist/lib/openapi/spec/release-plan-template-schema.d.ts.map +1 -0
  258. package/dist/lib/openapi/spec/release-plan-template-schema.js +79 -0
  259. package/dist/lib/openapi/spec/release-plan-template-schema.js.map +1 -0
  260. package/dist/lib/openapi/spec/search-features-schema.d.ts +11793 -725
  261. package/dist/lib/openapi/spec/search-features-schema.d.ts.map +1 -1
  262. package/dist/lib/openapi/spec/transition-condition-schema.d.ts +19 -0
  263. package/dist/lib/openapi/spec/transition-condition-schema.d.ts.map +1 -0
  264. package/dist/lib/openapi/spec/transition-condition-schema.js +17 -0
  265. package/dist/lib/openapi/spec/transition-condition-schema.js.map +1 -0
  266. package/dist/lib/openapi/spec/update-strategy-schema.d.ts +1 -1
  267. package/dist/lib/openapi/spec/update-strategy-schema.js +1 -1
  268. package/dist/lib/openapi/spec/update-strategy-schema.js.map +1 -1
  269. package/dist/lib/openapi/util/openapi-tags.d.ts +2 -2
  270. package/dist/lib/openapi/util/openapi-tags.js +1 -1
  271. package/dist/lib/openapi/util/openapi-tags.js.map +1 -1
  272. package/dist/lib/routes/admin-api/index.js +2 -2
  273. package/dist/lib/routes/admin-api/index.js.map +1 -1
  274. package/dist/lib/routes/admin-api/instance-admin.d.ts.map +1 -1
  275. package/dist/lib/routes/admin-api/instance-admin.js +5 -0
  276. package/dist/lib/routes/admin-api/instance-admin.js.map +1 -1
  277. package/dist/lib/routes/admin-api/strategy.js +1 -1
  278. package/dist/lib/routes/admin-api/strategy.js.map +1 -1
  279. package/dist/lib/routes/admin-api/strategy.test.js +25 -1
  280. package/dist/lib/routes/admin-api/strategy.test.js.map +1 -1
  281. package/dist/lib/routes/backstage.test.js +17 -5
  282. package/dist/lib/routes/backstage.test.js.map +1 -1
  283. package/dist/lib/routes/health-check.test.js +2 -2
  284. package/dist/lib/routes/health-check.test.js.map +1 -1
  285. package/dist/lib/routes/index.d.ts.map +1 -1
  286. package/dist/lib/routes/index.js +2 -0
  287. package/dist/lib/routes/index.js.map +1 -1
  288. package/dist/lib/routes/ready-check.d.ts +14 -0
  289. package/dist/lib/routes/ready-check.d.ts.map +1 -0
  290. package/dist/lib/routes/ready-check.js +86 -0
  291. package/dist/lib/routes/ready-check.js.map +1 -0
  292. package/dist/lib/routes/util.d.ts.map +1 -1
  293. package/dist/lib/routes/util.js +19 -1
  294. package/dist/lib/routes/util.js.map +1 -1
  295. package/dist/lib/server-impl.d.ts +9 -3
  296. package/dist/lib/server-impl.d.ts.map +1 -1
  297. package/dist/lib/server-impl.js +6 -1
  298. package/dist/lib/server-impl.js.map +1 -1
  299. package/dist/lib/services/api-token-service.d.ts +3 -2
  300. package/dist/lib/services/api-token-service.d.ts.map +1 -1
  301. package/dist/lib/services/api-token-service.js +3 -3
  302. package/dist/lib/services/api-token-service.js.map +1 -1
  303. package/dist/lib/services/index.d.ts +5 -1
  304. package/dist/lib/services/index.d.ts.map +1 -1
  305. package/dist/lib/services/index.js +16 -2
  306. package/dist/lib/services/index.js.map +1 -1
  307. package/dist/lib/services/strategy-service.d.ts +4 -1
  308. package/dist/lib/services/strategy-service.d.ts.map +1 -1
  309. package/dist/lib/services/strategy-service.js +15 -2
  310. package/dist/lib/services/strategy-service.js.map +1 -1
  311. package/dist/lib/services/user-service.d.ts.map +1 -1
  312. package/dist/lib/services/user-service.js +19 -3
  313. package/dist/lib/services/user-service.js.map +1 -1
  314. package/dist/lib/services/user-splash-service.d.ts.map +1 -1
  315. package/dist/lib/services/user-splash-service.js +7 -1
  316. package/dist/lib/services/user-splash-service.js.map +1 -1
  317. package/dist/lib/services/version-service.d.ts +2 -0
  318. package/dist/lib/services/version-service.d.ts.map +1 -1
  319. package/dist/lib/services/version-service.js.map +1 -1
  320. package/dist/lib/services/version-service.test.js +1 -0
  321. package/dist/lib/services/version-service.test.js.map +1 -1
  322. package/dist/lib/types/events.d.ts +28 -0
  323. package/dist/lib/types/events.d.ts.map +1 -1
  324. package/dist/lib/types/events.js +20 -1
  325. package/dist/lib/types/events.js.map +1 -1
  326. package/dist/lib/types/experimental.d.ts +3 -1
  327. package/dist/lib/types/experimental.d.ts.map +1 -1
  328. package/dist/lib/types/experimental.js +7 -8
  329. package/dist/lib/types/experimental.js.map +1 -1
  330. package/dist/lib/types/option.d.ts +8 -0
  331. package/dist/lib/types/option.d.ts.map +1 -1
  332. package/dist/lib/types/stores/feature-environment-store.d.ts +1 -1
  333. package/dist/lib/types/stores/feature-environment-store.d.ts.map +1 -1
  334. package/dist/lib/types/stores.d.ts +2 -0
  335. package/dist/lib/types/stores.d.ts.map +1 -1
  336. package/dist/lib/types/stores.js.map +1 -1
  337. package/dist/lib/ui-config/ui-config-controller.d.ts +18 -0
  338. package/dist/lib/ui-config/ui-config-controller.d.ts.map +1 -0
  339. package/dist/lib/ui-config/ui-config-controller.js +62 -0
  340. package/dist/lib/ui-config/ui-config-controller.js.map +1 -0
  341. package/dist/lib/ui-config/ui-config-service.d.ts +18 -0
  342. package/dist/lib/ui-config/ui-config-service.d.ts.map +1 -0
  343. package/dist/lib/ui-config/ui-config-service.js +64 -0
  344. package/dist/lib/ui-config/ui-config-service.js.map +1 -0
  345. package/dist/lib/ui-config/ui-config.test.d.ts +2 -0
  346. package/dist/lib/ui-config/ui-config.test.d.ts.map +1 -0
  347. package/dist/lib/{routes/admin-api/config.test.js → ui-config/ui-config.test.js} +6 -6
  348. package/dist/lib/ui-config/ui-config.test.js.map +1 -0
  349. package/dist/lib/util/metrics/createGauge.d.ts +17 -1
  350. package/dist/lib/util/metrics/createGauge.d.ts.map +1 -1
  351. package/dist/lib/util/metrics/createGauge.js +49 -4
  352. package/dist/lib/util/metrics/createGauge.js.map +1 -1
  353. package/dist/lib/util/random-id.js +2 -2
  354. package/dist/lib/util/random-id.js.map +1 -1
  355. package/dist/lib/util/random-id.test.d.ts +2 -0
  356. package/dist/lib/util/random-id.test.d.ts.map +1 -0
  357. package/dist/lib/util/random-id.test.js +7 -0
  358. package/dist/lib/util/random-id.test.js.map +1 -0
  359. package/dist/migrations/20210218090213-generate-server-identifier.js +2 -2
  360. package/dist/migrations/20210218090213-generate-server-identifier.js.map +1 -1
  361. package/dist/migrations/20210615115226-migrate-strategies-to-feature-strategies.js +2 -2
  362. package/dist/migrations/20210615115226-migrate-strategies-to-feature-strategies.js.map +1 -1
  363. package/dist/migrations/20250923130348-add-users-updated-at.d.ts +3 -0
  364. package/dist/migrations/20250923130348-add-users-updated-at.d.ts.map +1 -0
  365. package/dist/migrations/20250923130348-add-users-updated-at.js +40 -0
  366. package/dist/migrations/20250923130348-add-users-updated-at.js.map +1 -0
  367. package/dist/migrations/20251002095623-not-null-constraints.d.ts +3 -0
  368. package/dist/migrations/20251002095623-not-null-constraints.d.ts.map +1 -0
  369. package/dist/migrations/20251002095623-not-null-constraints.js +20 -0
  370. package/dist/migrations/20251002095623-not-null-constraints.js.map +1 -0
  371. package/dist/migrations/20251003105758-add-milestone-started-at.d.ts +3 -0
  372. package/dist/migrations/20251003105758-add-milestone-started-at.d.ts.map +1 -0
  373. package/dist/migrations/20251003105758-add-milestone-started-at.js +8 -0
  374. package/dist/migrations/20251003105758-add-milestone-started-at.js.map +1 -0
  375. package/dist/migrations/20251006111609-add-milestone-progressions.d.ts +3 -0
  376. package/dist/migrations/20251006111609-add-milestone-progressions.d.ts.map +1 -0
  377. package/dist/migrations/20251006111609-add-milestone-progressions.js +15 -0
  378. package/dist/migrations/20251006111609-add-milestone-progressions.js.map +1 -0
  379. package/dist/migrations/20251009081052-add-milestone-progression-executed-at.d.ts +3 -0
  380. package/dist/migrations/20251009081052-add-milestone-progression-executed-at.d.ts.map +1 -0
  381. package/dist/migrations/20251009081052-add-milestone-progression-executed-at.js +14 -0
  382. package/dist/migrations/20251009081052-add-milestone-progression-executed-at.js.map +1 -0
  383. package/dist/migrations/20251009132935-add-edge-node-presence.d.ts +3 -0
  384. package/dist/migrations/20251009132935-add-edge-node-presence.d.ts.map +1 -0
  385. package/dist/migrations/20251009132935-add-edge-node-presence.js +29 -0
  386. package/dist/migrations/20251009132935-add-edge-node-presence.js.map +1 -0
  387. package/dist/migrations/20251013131405-milestone-progression-uniqueness.d.ts +3 -0
  388. package/dist/migrations/20251013131405-milestone-progression-uniqueness.d.ts.map +1 -0
  389. package/dist/migrations/20251013131405-milestone-progression-uniqueness.js +9 -0
  390. package/dist/migrations/20251013131405-milestone-progression-uniqueness.js.map +1 -0
  391. package/dist/migrations/20251027094509-milestone-progression-natural-pk.d.ts +3 -0
  392. package/dist/migrations/20251027094509-milestone-progression-natural-pk.d.ts.map +1 -0
  393. package/dist/migrations/20251027094509-milestone-progression-natural-pk.js +22 -0
  394. package/dist/migrations/20251027094509-milestone-progression-natural-pk.js.map +1 -0
  395. package/dist/migrations/20251103114221-milestone-progression-paused-at.d.ts +3 -0
  396. package/dist/migrations/20251103114221-milestone-progression-paused-at.d.ts.map +1 -0
  397. package/dist/migrations/20251103114221-milestone-progression-paused-at.js +14 -0
  398. package/dist/migrations/20251103114221-milestone-progression-paused-at.js.map +1 -0
  399. package/dist/migrations/20251105153729-create-safeguards-table.d.ts +3 -0
  400. package/dist/migrations/20251105153729-create-safeguards-table.d.ts.map +1 -0
  401. package/dist/migrations/20251105153729-create-safeguards-table.js +17 -0
  402. package/dist/migrations/20251105153729-create-safeguards-table.js.map +1 -0
  403. package/dist/server-dev.js +5 -3
  404. package/dist/server-dev.js.map +1 -1
  405. package/dist/test/e2e/api/admin/context.e2e.test.js +2 -3
  406. package/dist/test/e2e/api/admin/context.e2e.test.js.map +1 -1
  407. package/dist/test/e2e/api/admin/user-admin.e2e.test.js +2 -3
  408. package/dist/test/e2e/api/admin/user-admin.e2e.test.js.map +1 -1
  409. package/dist/test/e2e/api/client/feature.optimal304.e2e.test.js +17 -41
  410. package/dist/test/e2e/api/client/feature.optimal304.e2e.test.js.map +1 -1
  411. package/dist/test/e2e/helpers/database-init.js +2 -2
  412. package/dist/test/e2e/helpers/database-init.js.map +1 -1
  413. package/dist/test/e2e/ready.e2e.test.d.ts +2 -0
  414. package/dist/test/e2e/ready.e2e.test.d.ts.map +1 -0
  415. package/dist/test/e2e/ready.e2e.test.js +66 -0
  416. package/dist/test/e2e/ready.e2e.test.js.map +1 -0
  417. package/dist/test/e2e/services/user-service.e2e.test.js +129 -99
  418. package/dist/test/e2e/services/user-service.e2e.test.js.map +1 -1
  419. package/dist/test/e2e/stores/client-application-store.e2e.test.js +0 -1
  420. package/dist/test/e2e/stores/client-application-store.e2e.test.js.map +1 -1
  421. package/dist/test/e2e/stores/feature-environment-store.e2e.test.js +3 -1
  422. package/dist/test/e2e/stores/feature-environment-store.e2e.test.js.map +1 -1
  423. package/dist/test/e2e/users/user-store.e2e.test.d.ts.map +1 -0
  424. package/dist/test/e2e/users/user-store.e2e.test.js.map +1 -0
  425. package/dist/test/e2e/users/user-updates-read-model.e2e.test.d.ts +2 -0
  426. package/dist/test/e2e/users/user-updates-read-model.e2e.test.d.ts.map +1 -0
  427. package/dist/test/e2e/users/user-updates-read-model.e2e.test.js +88 -0
  428. package/dist/test/e2e/users/user-updates-read-model.e2e.test.js.map +1 -0
  429. package/dist/test/fixtures/fake/fake-release-plan-read-model.d.ts +8 -0
  430. package/dist/test/fixtures/fake/fake-release-plan-read-model.d.ts.map +1 -0
  431. package/dist/test/fixtures/fake/fake-release-plan-read-model.js +9 -0
  432. package/dist/test/fixtures/fake/fake-release-plan-read-model.js.map +1 -0
  433. package/dist/test/fixtures/fake-impact-metrics.d.ts +12 -4
  434. package/dist/test/fixtures/fake-impact-metrics.d.ts.map +1 -1
  435. package/dist/test/fixtures/fake-impact-metrics.js +50 -26
  436. package/dist/test/fixtures/fake-impact-metrics.js.map +1 -1
  437. package/dist/test/fixtures/store.d.ts.map +1 -1
  438. package/dist/test/fixtures/store.js +1 -0
  439. package/dist/test/fixtures/store.js.map +1 -1
  440. package/frontend/build/index.html +1 -1
  441. package/frontend/build/static/{AdvancedPlayground-D2Y0O_LK.js → AdvancedPlayground-BMmRjlFK.js} +1 -1
  442. package/frontend/build/static/BackendConnections-C4TwFekS.js +1 -0
  443. package/frontend/build/static/{CreateProject-jRfRrbUO.js → CreateProject-De6TDUjF.js} +1 -1
  444. package/frontend/build/static/FeatureMetricsChart-CQOjOGdB.js +2 -0
  445. package/frontend/build/static/FeatureStaleDialog-DFBMJIHQ.js +7 -0
  446. package/frontend/build/static/FeatureViewLazyExport-CUraS5Co.js +10 -0
  447. package/frontend/build/static/{FlagMetricsChart-oDTQTkxU.js → FlagMetricsChart-BqT9hgdO.js} +2 -2
  448. package/frontend/build/static/FrontendNetworkTrafficUsage-BzwFAGbK.js +1 -0
  449. package/frontend/build/static/GridLayoutWrapper-DY9lNz0U.js +3 -0
  450. package/frontend/build/static/ImpactMetricsPage-Bqewvmqu.js +1 -0
  451. package/frontend/build/static/LazyAdminExport-DSSpZhpf.js +38 -0
  452. package/frontend/build/static/LazyProjectExport-Cd5au6uN.js +728 -0
  453. package/frontend/build/static/{LifecycleChartComponent-Dz1wdYkW.js → LifecycleChartComponent-iH7Xwal_.js} +3 -3
  454. package/frontend/build/static/LineChartComponent-BnogHewS.js +1 -0
  455. package/frontend/build/static/{MarkCompletedDialogue-Bw9Iccid.js → MarkCompletedDialogue-BOSV3MHM.js} +1 -1
  456. package/frontend/build/static/{NetworkConnectedEdges-HU923-QZ.js → NetworkConnectedEdges-d0ZBRss5.js} +1 -1
  457. package/frontend/build/static/{NetworkOverview-_igGCPCJ.js → NetworkOverview-DivQ4b83.js} +1 -1
  458. package/frontend/build/static/{NetworkPrometheusAPIWarning-BS9PGbzI.js → NetworkPrometheusAPIWarning-2jclDnfE.js} +1 -1
  459. package/frontend/build/static/{NetworkTraffic-BpNEMFBl.js → NetworkTraffic-DDSLmVgI.js} +1 -1
  460. package/frontend/build/static/NetworkTrafficUsage-DYNGGkkm.js +1 -0
  461. package/frontend/build/static/PercentageDonut-aa1oSbho.js +1 -0
  462. package/frontend/build/static/{ReactJSONEditor-DZ9l5V9S.js → ReactJSONEditor-BKB6MheT.js} +1 -1
  463. package/frontend/build/static/{RoleCell-C-hJFmul.js → RoleCell-CkV0Kf4-.js} +1 -1
  464. package/frontend/build/static/{aggregateFeatureMetrics-Dli6i5No.js → aggregateFeatureMetrics-CrQXQAeM.js} +1 -1
  465. package/frontend/build/static/{formatTickValue-D3KZyzeb.js → formatTickValue-BCAqKqmg.js} +2 -2
  466. package/frontend/build/static/index-B33kIVre.js +542 -0
  467. package/frontend/build/static/metricsFormatters-C7iN2dDH.js +1 -0
  468. package/frontend/build/static/{networkTrafficUsageHighlightPlugin-DLE_BBMN.js → networkTrafficUsageHighlightPlugin-o9kHeQ2O.js} +1 -1
  469. package/frontend/build/static/strategyCustom-Db-ZtYWl.svg +23 -0
  470. package/frontend/build/static/strategyDefault-LnSyH2eZ.svg +17 -0
  471. package/frontend/build/static/strategyGradual-oCA99tj3.svg +18 -0
  472. package/frontend/build/static/strategyHosts-4lVYC2Bf.svg +23 -0
  473. package/frontend/build/static/strategyIPs-BHaXsOYV.svg +24 -0
  474. package/frontend/build/static/strategyOn-CX-xL0oK.svg +18 -0
  475. package/frontend/build/static/{useApiTokens-DNIDLJlc.js → useApiTokens-eXyUbKcO.js} +1 -1
  476. package/frontend/package.json +3 -4
  477. package/package.json +7 -9
  478. package/dist/lib/routes/admin-api/config.d.ts +0 -24
  479. package/dist/lib/routes/admin-api/config.d.ts.map +0 -1
  480. package/dist/lib/routes/admin-api/config.js +0 -114
  481. package/dist/lib/routes/admin-api/config.js.map +0 -1
  482. package/dist/lib/routes/admin-api/config.test.d.ts +0 -2
  483. package/dist/lib/routes/admin-api/config.test.d.ts.map +0 -1
  484. package/dist/lib/routes/admin-api/config.test.js.map +0 -1
  485. package/dist/test/e2e/stores/user-store.e2e.test.d.ts.map +0 -1
  486. package/dist/test/e2e/stores/user-store.e2e.test.js.map +0 -1
  487. package/frontend/build/static/BackendConnections-C9HcQ9To.js +0 -1
  488. package/frontend/build/static/ChartItem-COMyVdgD.js +0 -1
  489. package/frontend/build/static/FeatureMetricsChart-CQkGp91T.js +0 -2
  490. package/frontend/build/static/FeatureStaleDialog-DKeGFuL1.js +0 -7
  491. package/frontend/build/static/FeatureViewLazyExport-CgntSCvS.js +0 -10
  492. package/frontend/build/static/FrontendNetworkTrafficUsage-E4pIeMFQ.js +0 -1
  493. package/frontend/build/static/ImpactMetricsPage-B3STis_H.js +0 -3
  494. package/frontend/build/static/LazyAdminExport-CsCsRIwk.js +0 -38
  495. package/frontend/build/static/LazyProjectExport-DkN0UegC.js +0 -728
  496. package/frontend/build/static/LineChartComponent-DG1LdcL_.js +0 -1
  497. package/frontend/build/static/NetworkTrafficUsage-bSUVPjoc.js +0 -1
  498. package/frontend/build/static/index-A5We7bvX.js +0 -542
  499. package/frontend/build/static/merge-C7IT0rZd.svg +0 -3
  500. /package/dist/test/e2e/{stores → users}/user-store.e2e.test.d.ts +0 -0
  501. /package/dist/test/e2e/{stores → users}/user-store.e2e.test.js +0 -0
@@ -1,3 +0,0 @@
1
- import{iR as dn,iS as yr,iT as fn,r as L,iU as fe,iV as Et,g as pn,s as Fe,b as hn,al as gn,j as B,dC as mn,dD as yn,b9 as er,u as vn,aE as bn,e as wn,h as lt,aD as Sn,T as ut,i as tr,bh as rr}from"./index-A5We7bvX.js";import{u as Rn,C as Dn,a as _n}from"./ChartItem-COMyVdgD.js";var vr={exports:{}},Le={},yt={exports:{}};(function(t,e){(function(r,n){n(e)})(dn,function(r){function n(m){return function(j,z,M,k,Y,ee,I){return m(j,z,I)}}function o(m){return function(j,z,M,k){if(!j||!z||typeof j!="object"||typeof z!="object")return m(j,z,M,k);var Y=k.get(j),ee=k.get(z);if(Y&&ee)return Y===z&&ee===j;k.set(j,z),k.set(z,j);var I=m(j,z,M,k);return k.delete(j),k.delete(z),I}}function i(m,_){var j={};for(var z in m)j[z]=m[z];for(var z in _)j[z]=_[z];return j}function a(m){return m.constructor===Object||m.constructor==null}function l(m){return typeof m.then=="function"}function s(m,_){return m===_||m!==m&&_!==_}var u="[object Arguments]",c="[object Boolean]",d="[object Date]",f="[object RegExp]",g="[object Map]",w="[object Number]",S="[object Object]",D="[object Set]",p="[object String]",v=Object.prototype.toString;function y(m){var _=m.areArraysEqual,j=m.areDatesEqual,z=m.areMapsEqual,M=m.areObjectsEqual,k=m.areRegExpsEqual,Y=m.areSetsEqual,ee=m.createIsNestedEqual,I=ee(re);function re(W,A,ne){if(W===A)return!0;if(!W||!A||typeof W!="object"||typeof A!="object")return W!==W&&A!==A;if(a(W)&&a(A))return M(W,A,I,ne);var Zt=Array.isArray(W),Qt=Array.isArray(A);if(Zt||Qt)return Zt===Qt&&_(W,A,I,ne);var oe=v.call(W);return oe!==v.call(A)?!1:oe===d?j(W,A,I,ne):oe===f?k(W,A,I,ne):oe===g?z(W,A,I,ne):oe===D?Y(W,A,I,ne):oe===S||oe===u?l(W)||l(A)?!1:M(W,A,I,ne):oe===c||oe===w||oe===p?s(W.valueOf(),A.valueOf()):!1}return re}function b(m,_,j,z){var M=m.length;if(_.length!==M)return!1;for(;M-- >0;)if(!j(m[M],_[M],M,M,m,_,z))return!1;return!0}var h=o(b);function P(m,_){return s(m.valueOf(),_.valueOf())}function H(m,_,j,z){var M=m.size===_.size;if(!M)return!1;if(!m.size)return!0;var k={},Y=0;return m.forEach(function(ee,I){if(M){var re=!1,W=0;_.forEach(function(A,ne){!re&&!k[W]&&(re=j(I,ne,Y,W,m,_,z)&&j(ee,A,I,ne,m,_,z))&&(k[W]=!0),W++}),Y++,M=re}}),M}var $=o(H),T="_owner",N=Object.prototype.hasOwnProperty;function G(m,_,j,z){var M=Object.keys(m),k=M.length;if(Object.keys(_).length!==k)return!1;for(var Y;k-- >0;){if(Y=M[k],Y===T){var ee=!!m.$$typeof,I=!!_.$$typeof;if((ee||I)&&ee!==I)return!1}if(!N.call(_,Y)||!j(m[Y],_[Y],Y,Y,m,_,z))return!1}return!0}var Ee=o(G);function Ce(m,_){return m.source===_.source&&m.flags===_.flags}function ze(m,_,j,z){var M=m.size===_.size;if(!M)return!1;if(!m.size)return!0;var k={};return m.forEach(function(Y,ee){if(M){var I=!1,re=0;_.forEach(function(W,A){!I&&!k[re]&&(I=j(Y,W,ee,A,m,_,z))&&(k[re]=!0),re++}),M=I}}),M}var Jt=o(ze),pe=Object.freeze({areArraysEqual:b,areDatesEqual:P,areMapsEqual:H,areObjectsEqual:G,areRegExpsEqual:Ce,areSetsEqual:ze,createIsNestedEqual:n}),he=Object.freeze({areArraysEqual:h,areDatesEqual:P,areMapsEqual:$,areObjectsEqual:Ee,areRegExpsEqual:Ce,areSetsEqual:Jt,createIsNestedEqual:n}),Ne=y(pe);function st(m,_){return Ne(m,_,void 0)}var rn=y(i(pe,{createIsNestedEqual:function(){return s}}));function nn(m,_){return rn(m,_,void 0)}var on=y(he);function an(m,_){return on(m,_,new WeakMap)}var sn=y(i(he,{createIsNestedEqual:function(){return s}}));function ln(m,_){return sn(m,_,new WeakMap)}function un(m){return y(i(pe,m(pe)))}function cn(m){var _=y(i(he,m(he)));return function(j,z,M){return M===void 0&&(M=new WeakMap),_(j,z,M)}}r.circularDeepEqual=an,r.circularShallowEqual=ln,r.createCustomCircularEqual=cn,r.createCustomEqual=un,r.deepEqual=st,r.sameValueZeroEqual=s,r.shallowEqual=nn,Object.defineProperty(r,"__esModule",{value:!0})})})(yt,yt.exports);var Ct=yt.exports;const Ue=yr(fn);var E={},On=function(e,r,n){return e===r?!0:e.className===r.className&&n(e.style,r.style)&&e.width===r.width&&e.autoSize===r.autoSize&&e.cols===r.cols&&e.draggableCancel===r.draggableCancel&&e.draggableHandle===r.draggableHandle&&n(e.verticalCompact,r.verticalCompact)&&n(e.compactType,r.compactType)&&n(e.layout,r.layout)&&n(e.margin,r.margin)&&n(e.containerPadding,r.containerPadding)&&e.rowHeight===r.rowHeight&&e.maxRows===r.maxRows&&e.isBounded===r.isBounded&&e.isDraggable===r.isDraggable&&e.isResizable===r.isResizable&&e.allowOverlap===r.allowOverlap&&e.preventCollision===r.preventCollision&&e.useCSSTransforms===r.useCSSTransforms&&e.transformScale===r.transformScale&&e.isDroppable===r.isDroppable&&n(e.resizeHandles,r.resizeHandles)&&n(e.resizeHandle,r.resizeHandle)&&e.onLayoutChange===r.onLayoutChange&&e.onDragStart===r.onDragStart&&e.onDrag===r.onDrag&&e.onDragStop===r.onDragStop&&e.onResizeStart===r.onResizeStart&&e.onResize===r.onResize&&e.onResizeStop===r.onResizeStop&&e.onDrop===r.onDrop&&n(e.droppingItem,r.droppingItem)&&n(e.innerRef,r.innerRef)};Object.defineProperty(E,"__esModule",{value:!0});E.bottom=zt;E.childrenEqual=En;E.cloneLayout=br;E.cloneLayoutItem=be;E.collides=Ve;E.compact=Sr;E.compactItem=Rr;E.compactType=An;E.correctBounds=Dr;E.fastPositionEqual=Cn;E.fastRGLPropsEqual=void 0;E.getAllCollisions=_r;E.getFirstCollision=ye;E.getLayoutItem=Mt;E.getStatics=Tt;E.modifyLayout=wr;E.moveElement=He;E.moveElementAwayFromCollision=bt;E.noop=void 0;E.perc=Mn;E.resizeItemInDirection=Wn;E.setTopLeft=qn;E.setTransform=Nn;E.sortLayoutItems=Nt;E.sortLayoutItemsByColRow=Cr;E.sortLayoutItemsByRowCol=Er;E.synchronizeLayoutWithChildren=kn;E.validateLayout=In;E.withLayoutItem=Pn;var nr=Ct,je=xn(L);function xn(t){return t&&t.__esModule?t:{default:t}}function zt(t){let e=0,r;for(let n=0,o=t.length;n<o;n++)r=t[n].y+t[n].h,r>e&&(e=r);return e}function br(t){const e=Array(t.length);for(let r=0,n=t.length;r<n;r++)e[r]=be(t[r]);return e}function wr(t,e){const r=Array(t.length);for(let n=0,o=t.length;n<o;n++)e.i===t[n].i?r[n]=e:r[n]=t[n];return r}function Pn(t,e,r){let n=Mt(t,e);return n?(n=r(be(n)),t=wr(t,n),[t,n]):[t,null]}function be(t){return{w:t.w,h:t.h,x:t.x,y:t.y,i:t.i,minW:t.minW,maxW:t.maxW,minH:t.minH,maxH:t.maxH,moved:!!t.moved,static:!!t.static,isDraggable:t.isDraggable,isResizable:t.isResizable,resizeHandles:t.resizeHandles,isBounded:t.isBounded}}function En(t,e){return(0,nr.deepEqual)(je.default.Children.map(t,r=>r==null?void 0:r.key),je.default.Children.map(e,r=>r==null?void 0:r.key))&&(0,nr.deepEqual)(je.default.Children.map(t,r=>r==null?void 0:r.props["data-grid"]),je.default.Children.map(e,r=>r==null?void 0:r.props["data-grid"]))}E.fastRGLPropsEqual=On;function Cn(t,e){return t.left===e.left&&t.top===e.top&&t.width===e.width&&t.height===e.height}function Ve(t,e){return!(t.i===e.i||t.x+t.w<=e.x||t.x>=e.x+e.w||t.y+t.h<=e.y||t.y>=e.y+e.h)}function Sr(t,e,r,n){const o=Tt(t),i=Nt(t,e),a=Array(t.length);for(let l=0,s=i.length;l<s;l++){let u=be(i[l]);u.static||(u=Rr(o,u,e,r,i,n),o.push(u)),a[t.indexOf(i[l])]=u,u.moved=!1}return a}const zn={x:"w",y:"h"};function vt(t,e,r,n){const o=zn[n];e[n]+=1;const i=t.map(a=>a.i).indexOf(e.i);for(let a=i+1;a<t.length;a++){const l=t[a];if(!l.static){if(l.y>e.y+e.h)break;Ve(e,l)&&vt(t,l,r+e[o],n)}}e[n]=r}function Rr(t,e,r,n,o,i){const a=r==="vertical",l=r==="horizontal";if(a)for(e.y=Math.min(zt(t),e.y);e.y>0&&!ye(t,e);)e.y--;else if(l)for(;e.x>0&&!ye(t,e);)e.x--;let s;for(;(s=ye(t,e))&&!(r===null&&i);)if(l?vt(o,e,s.x+s.w,"x"):vt(o,e,s.y+s.h,"y"),l&&e.x+e.w>n)for(e.x=n-e.w,e.y++;e.x>0&&!ye(t,e);)e.x--;return e.y=Math.max(e.y,0),e.x=Math.max(e.x,0),e}function Dr(t,e){const r=Tt(t);for(let n=0,o=t.length;n<o;n++){const i=t[n];if(i.x+i.w>e.cols&&(i.x=e.cols-i.w),i.x<0&&(i.x=0,i.w=e.cols),!i.static)r.push(i);else for(;ye(r,i);)i.y++}return t}function Mt(t,e){for(let r=0,n=t.length;r<n;r++)if(t[r].i===e)return t[r]}function ye(t,e){for(let r=0,n=t.length;r<n;r++)if(Ve(t[r],e))return t[r]}function _r(t,e){return t.filter(r=>Ve(r,e))}function Tt(t){return t.filter(e=>e.static)}function He(t,e,r,n,o,i,a,l,s){if(e.static&&e.isDraggable!==!0||e.y===n&&e.x===r)return t;`${e.i}${String(r)}${String(n)}${e.x}${e.y}`;const u=e.x,c=e.y;typeof r=="number"&&(e.x=r),typeof n=="number"&&(e.y=n),e.moved=!0;let d=Nt(t,a);(a==="vertical"&&typeof n=="number"?c>=n:a==="horizontal"&&typeof r=="number"?u>=r:!1)&&(d=d.reverse());const g=_r(d,e),w=g.length>0;if(w&&s)return br(t);if(w&&i)return`${e.i}`,e.x=u,e.y=c,e.moved=!1,t;for(let S=0,D=g.length;S<D;S++){const p=g[S];`${e.i}${e.x}${e.y}${p.i}${p.x}${p.y}`,!p.moved&&(p.static?t=bt(t,p,e,o,a):t=bt(t,e,p,o,a))}return t}function bt(t,e,r,n,o,i){const a=o==="horizontal",l=o==="vertical",s=e.static;if(n){n=!1;const d={x:a?Math.max(e.x-r.w,0):r.x,y:l?Math.max(e.y-r.h,0):r.y,w:r.w,h:r.h,i:"-1"},f=ye(t,d),g=f&&f.y+f.h>e.y,w=f&&e.x+e.w>f.x;if(f){if(g&&l)return He(t,r,void 0,e.y+1,n,s,o);if(g&&o==null)return e.y=r.y,r.y=r.y+r.h,t;if(w&&a)return He(t,e,r.x,void 0,n,s,o)}else return`${r.i}${d.x}${d.y}`,He(t,r,a?d.x:void 0,l?d.y:void 0,n,s,o)}const u=a?r.x+1:void 0,c=l?r.y+1:void 0;return u==null&&c==null?t:He(t,r,a?r.x+1:void 0,l?r.y+1:void 0,n,s,o)}function Mn(t){return t*100+"%"}const Or=(t,e,r,n)=>t+r>n?e:r,xr=(t,e,r)=>t<0?e:r,Pr=t=>Math.max(0,t),jt=t=>Math.max(0,t),Ht=(t,e,r)=>{let{left:n,height:o,width:i}=e;const a=t.top-(o-t.height);return{left:n,width:i,height:xr(a,t.height,o),top:jt(a)}},Lt=(t,e,r)=>{let{top:n,left:o,height:i,width:a}=e;return{top:n,height:i,width:Or(t.left,t.width,a,r),left:Pr(o)}},$t=(t,e,r)=>{let{top:n,height:o,width:i}=e;const a=t.left-(i-t.width);return{height:o,width:a<0?t.width:Or(t.left,t.width,i,r),top:jt(n),left:Pr(a)}},Wt=(t,e,r)=>{let{top:n,left:o,height:i,width:a}=e;return{width:a,left:o,height:xr(n,t.height,i),top:jt(n)}},Tn=function(){return Ht(arguments.length<=0?void 0:arguments[0],Lt(...arguments))},jn=function(){return Ht(arguments.length<=0?void 0:arguments[0],$t(...arguments))},Hn=function(){return Wt(arguments.length<=0?void 0:arguments[0],Lt(...arguments))},Ln=function(){return Wt(arguments.length<=0?void 0:arguments[0],$t(...arguments))},$n={n:Ht,ne:Tn,e:Lt,se:Hn,s:Wt,sw:Ln,w:$t,nw:jn};function Wn(t,e,r,n){const o=$n[t];return o?o(e,{...e,...r},n):r}function Nn(t){let{top:e,left:r,width:n,height:o}=t;const i=`translate(${r}px,${e}px)`;return{transform:i,WebkitTransform:i,MozTransform:i,msTransform:i,OTransform:i,width:`${n}px`,height:`${o}px`,position:"absolute"}}function qn(t){let{top:e,left:r,width:n,height:o}=t;return{top:`${e}px`,left:`${r}px`,width:`${n}px`,height:`${o}px`,position:"absolute"}}function Nt(t,e){return e==="horizontal"?Cr(t):e==="vertical"?Er(t):t}function Er(t){return t.slice(0).sort(function(e,r){return e.y>r.y||e.y===r.y&&e.x>r.x?1:e.y===r.y&&e.x===r.x?0:-1})}function Cr(t){return t.slice(0).sort(function(e,r){return e.x>r.x||e.x===r.x&&e.y>r.y?1:-1})}function kn(t,e,r,n,o){t=t||[];const i=[];je.default.Children.forEach(e,l=>{if((l==null?void 0:l.key)==null)return;const s=Mt(t,String(l.key)),u=l.props["data-grid"];s&&u==null?i.push(be(s)):u?i.push(be({...u,i:l.key})):i.push(be({w:1,h:1,x:0,y:zt(i),i:String(l.key)}))});const a=Dr(i,{cols:r});return o?a:Sr(a,n,r)}function In(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"Layout";const r=["x","y","w","h"];if(!Array.isArray(t))throw new Error(e+" must be an array!");for(let n=0,o=t.length;n<o;n++){const i=t[n];for(let a=0;a<r.length;a++){const l=r[a],s=i[l];if(typeof s!="number"||Number.isNaN(s))throw new Error(`ReactGridLayout: ${e}[${n}].${l} must be a number! Received: ${s} (${typeof s})`)}if(typeof i.i<"u"&&typeof i.i!="string")throw new Error(`ReactGridLayout: ${e}[${n}].i must be a string! Received: ${i.i} (${typeof i.i})`)}}function An(t){const{verticalCompact:e,compactType:r}=t||{};return e===!1?null:r}const Bn=()=>{};E.noop=Bn;var ae={};Object.defineProperty(ae,"__esModule",{value:!0});ae.calcGridColWidth=Ke;ae.calcGridItemPosition=Gn;ae.calcGridItemWHPx=wt;ae.calcWH=Xn;ae.calcXY=Yn;ae.clamp=ve;function Ke(t){const{margin:e,containerPadding:r,containerWidth:n,cols:o}=t;return(n-e[0]*(o-1)-r[0]*2)/o}function wt(t,e,r){return Number.isFinite(t)?Math.round(e*t+Math.max(0,t-1)*r):t}function Gn(t,e,r,n,o,i){const{margin:a,containerPadding:l,rowHeight:s}=t,u=Ke(t),c={};return i&&i.resizing?(c.width=Math.round(i.resizing.width),c.height=Math.round(i.resizing.height)):(c.width=wt(n,u,a[0]),c.height=wt(o,s,a[1])),i&&i.dragging?(c.top=Math.round(i.dragging.top),c.left=Math.round(i.dragging.left)):i&&i.resizing&&typeof i.resizing.top=="number"&&typeof i.resizing.left=="number"?(c.top=Math.round(i.resizing.top),c.left=Math.round(i.resizing.left)):(c.top=Math.round((s+a[1])*r+l[1]),c.left=Math.round((u+a[0])*e+l[0])),c}function Yn(t,e,r,n,o){const{margin:i,containerPadding:a,cols:l,rowHeight:s,maxRows:u}=t,c=Ke(t);let d=Math.round((r-a[0])/(c+i[0])),f=Math.round((e-a[1])/(s+i[1]));return d=ve(d,0,l-n),f=ve(f,0,u-o),{x:d,y:f}}function Xn(t,e,r,n,o,i){const{margin:a,maxRows:l,cols:s,rowHeight:u}=t,c=Ke(t);let d=Math.round((e+a[0])/(c+a[0])),f=Math.round((r+a[1])/(u+a[1])),g=ve(d,0,s-n),w=ve(f,0,l-o);return["sw","w","nw"].indexOf(i)!==-1&&(g=ve(d,0,s)),["nw","n","ne"].indexOf(i)!==-1&&(w=ve(f,0,l)),{w:g,h:w}}function ve(t,e,r){return Math.max(Math.min(t,r),e)}var Je={},Ze={exports:{}},zr={},q={},se={};Object.defineProperty(se,"__esModule",{value:!0});se.dontSetMe=Jn;se.findInArray=Fn;se.int=Kn;se.isFunction=Un;se.isNum=Vn;function Fn(t,e){for(let r=0,n=t.length;r<n;r++)if(e.apply(e,[t[r],r,t]))return t[r]}function Un(t){return typeof t=="function"||Object.prototype.toString.call(t)==="[object Function]"}function Vn(t){return typeof t=="number"&&!isNaN(t)}function Kn(t){return parseInt(t,10)}function Jn(t,e,r){if(t[e])return new Error(`Invalid prop ${e} passed to ${r} - do not set this, set it on the child.`)}var we={};Object.defineProperty(we,"__esModule",{value:!0});we.browserPrefixToKey=Tr;we.browserPrefixToStyle=Zn;we.default=void 0;we.getPrefix=Mr;const ct=["Moz","Webkit","O","ms"];function Mr(){var r,n;let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"transform";if(typeof window>"u")return"";const e=(n=(r=window.document)==null?void 0:r.documentElement)==null?void 0:n.style;if(!e||t in e)return"";for(let o=0;o<ct.length;o++)if(Tr(t,ct[o])in e)return ct[o];return""}function Tr(t,e){return e?`${e}${Qn(t)}`:t}function Zn(t,e){return e?`-${e.toLowerCase()}-${t}`:t}function Qn(t){let e="",r=!0;for(let n=0;n<t.length;n++)r?(e+=t[n].toUpperCase(),r=!1):t[n]==="-"?r=!0:e+=t[n];return e}we.default=Mr();Object.defineProperty(q,"__esModule",{value:!0});q.addClassName=Lr;q.addEvent=to;q.addUserSelectStyles=po;q.createCSSTransform=lo;q.createSVGTransform=uo;q.getTouch=co;q.getTouchIdentifier=fo;q.getTranslation=qt;q.innerHeight=io;q.innerWidth=ao;q.matchesSelector=Hr;q.matchesSelectorAndParentsTo=eo;q.offsetXYFromParent=so;q.outerHeight=no;q.outerWidth=oo;q.removeClassName=$r;q.removeEvent=ro;q.scheduleRemoveUserSelectStyles=ho;var Q=se,or=jr(we);function jr(t,e){if(typeof WeakMap=="function")var r=new WeakMap,n=new WeakMap;return(jr=function(o,i){if(!i&&o&&o.__esModule)return o;var a,l,s={__proto__:null,default:o};if(o===null||typeof o!="object"&&typeof o!="function")return s;if(a=i?n:r){if(a.has(o))return a.get(o);a.set(o,s)}for(const u in o)u!=="default"&&{}.hasOwnProperty.call(o,u)&&((l=(a=Object.defineProperty)&&Object.getOwnPropertyDescriptor(o,u))&&(l.get||l.set)?a(s,u,l):s[u]=o[u]);return s})(t,e)}let qe="";function Hr(t,e){return qe||(qe=(0,Q.findInArray)(["matches","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector"],function(r){return(0,Q.isFunction)(t[r])})),(0,Q.isFunction)(t[qe])?t[qe](e):!1}function eo(t,e,r){let n=t;do{if(Hr(n,e))return!0;if(n===r)return!1;n=n.parentNode}while(n);return!1}function to(t,e,r,n){if(!t)return;const o={capture:!0,...n};t.addEventListener?t.addEventListener(e,r,o):t.attachEvent?t.attachEvent("on"+e,r):t["on"+e]=r}function ro(t,e,r,n){if(!t)return;const o={capture:!0,...n};t.removeEventListener?t.removeEventListener(e,r,o):t.detachEvent?t.detachEvent("on"+e,r):t["on"+e]=null}function no(t){let e=t.clientHeight;const r=t.ownerDocument.defaultView.getComputedStyle(t);return e+=(0,Q.int)(r.borderTopWidth),e+=(0,Q.int)(r.borderBottomWidth),e}function oo(t){let e=t.clientWidth;const r=t.ownerDocument.defaultView.getComputedStyle(t);return e+=(0,Q.int)(r.borderLeftWidth),e+=(0,Q.int)(r.borderRightWidth),e}function io(t){let e=t.clientHeight;const r=t.ownerDocument.defaultView.getComputedStyle(t);return e-=(0,Q.int)(r.paddingTop),e-=(0,Q.int)(r.paddingBottom),e}function ao(t){let e=t.clientWidth;const r=t.ownerDocument.defaultView.getComputedStyle(t);return e-=(0,Q.int)(r.paddingLeft),e-=(0,Q.int)(r.paddingRight),e}function so(t,e,r){const o=e===e.ownerDocument.body?{left:0,top:0}:e.getBoundingClientRect(),i=(t.clientX+e.scrollLeft-o.left)/r,a=(t.clientY+e.scrollTop-o.top)/r;return{x:i,y:a}}function lo(t,e){const r=qt(t,e,"px");return{[(0,or.browserPrefixToKey)("transform",or.default)]:r}}function uo(t,e){return qt(t,e,"")}function qt(t,e,r){let{x:n,y:o}=t,i=`translate(${n}${r},${o}${r})`;if(e){const a=`${typeof e.x=="string"?e.x:e.x+r}`,l=`${typeof e.y=="string"?e.y:e.y+r}`;i=`translate(${a}, ${l})`+i}return i}function co(t,e){return t.targetTouches&&(0,Q.findInArray)(t.targetTouches,r=>e===r.identifier)||t.changedTouches&&(0,Q.findInArray)(t.changedTouches,r=>e===r.identifier)}function fo(t){if(t.targetTouches&&t.targetTouches[0])return t.targetTouches[0].identifier;if(t.changedTouches&&t.changedTouches[0])return t.changedTouches[0].identifier}function po(t){if(!t)return;let e=t.getElementById("react-draggable-style-el");e||(e=t.createElement("style"),e.type="text/css",e.id="react-draggable-style-el",e.innerHTML=`.react-draggable-transparent-selection *::-moz-selection {all: inherit;}
2
- `,e.innerHTML+=`.react-draggable-transparent-selection *::selection {all: inherit;}
3
- `,t.getElementsByTagName("head")[0].appendChild(e)),t.body&&Lr(t.body,"react-draggable-transparent-selection")}function ho(t){window.requestAnimationFrame?window.requestAnimationFrame(()=>{ir(t)}):ir(t)}function ir(t){if(t)try{if(t.body&&$r(t.body,"react-draggable-transparent-selection"),t.selection)t.selection.empty();else{const e=(t.defaultView||window).getSelection();e&&e.type!=="Caret"&&e.removeAllRanges()}}catch{}}function Lr(t,e){t.classList?t.classList.add(e):t.className.match(new RegExp(`(?:^|\\s)${e}(?!\\S)`))||(t.className+=` ${e}`)}function $r(t,e){t.classList?t.classList.remove(e):t.className=t.className.replace(new RegExp(`(?:^|\\s)${e}(?!\\S)`,"g"),"")}var le={};Object.defineProperty(le,"__esModule",{value:!0});le.canDragX=yo;le.canDragY=vo;le.createCoreData=wo;le.createDraggableData=So;le.getBoundPosition=go;le.getControlPosition=bo;le.snapToGrid=mo;var Z=se,Oe=q;function go(t,e,r){if(!t.props.bounds)return[e,r];let{bounds:n}=t.props;n=typeof n=="string"?n:Ro(n);const o=kt(t);if(typeof n=="string"){const{ownerDocument:i}=o,a=i.defaultView;let l;if(n==="parent"?l=o.parentNode:l=o.getRootNode().querySelector(n),!(l instanceof a.HTMLElement))throw new Error('Bounds selector "'+n+'" could not find an element.');const s=l,u=a.getComputedStyle(o),c=a.getComputedStyle(s);n={left:-o.offsetLeft+(0,Z.int)(c.paddingLeft)+(0,Z.int)(u.marginLeft),top:-o.offsetTop+(0,Z.int)(c.paddingTop)+(0,Z.int)(u.marginTop),right:(0,Oe.innerWidth)(s)-(0,Oe.outerWidth)(o)-o.offsetLeft+(0,Z.int)(c.paddingRight)-(0,Z.int)(u.marginRight),bottom:(0,Oe.innerHeight)(s)-(0,Oe.outerHeight)(o)-o.offsetTop+(0,Z.int)(c.paddingBottom)-(0,Z.int)(u.marginBottom)}}return(0,Z.isNum)(n.right)&&(e=Math.min(e,n.right)),(0,Z.isNum)(n.bottom)&&(r=Math.min(r,n.bottom)),(0,Z.isNum)(n.left)&&(e=Math.max(e,n.left)),(0,Z.isNum)(n.top)&&(r=Math.max(r,n.top)),[e,r]}function mo(t,e,r){const n=Math.round(e/t[0])*t[0],o=Math.round(r/t[1])*t[1];return[n,o]}function yo(t){return t.props.axis==="both"||t.props.axis==="x"}function vo(t){return t.props.axis==="both"||t.props.axis==="y"}function bo(t,e,r){const n=typeof e=="number"?(0,Oe.getTouch)(t,e):null;if(typeof e=="number"&&!n)return null;const o=kt(r),i=r.props.offsetParent||o.offsetParent||o.ownerDocument.body;return(0,Oe.offsetXYFromParent)(n||t,i,r.props.scale)}function wo(t,e,r){const n=!(0,Z.isNum)(t.lastX),o=kt(t);return n?{node:o,deltaX:0,deltaY:0,lastX:e,lastY:r,x:e,y:r}:{node:o,deltaX:e-t.lastX,deltaY:r-t.lastY,lastX:t.lastX,lastY:t.lastY,x:e,y:r}}function So(t,e){const r=t.props.scale;return{node:e.node,x:t.state.x+e.deltaX/r,y:t.state.y+e.deltaY/r,deltaX:e.deltaX/r,deltaY:e.deltaY/r,lastX:t.state.x,lastY:t.state.y}}function Ro(t){return{left:t.left,top:t.top,right:t.right,bottom:t.bottom}}function kt(t){const e=t.findDOMNode();if(!e)throw new Error("<DraggableCore>: Unmounted during event!");return e}var Qe={},et={};Object.defineProperty(et,"__esModule",{value:!0});et.default=Do;function Do(){}Object.defineProperty(Qe,"__esModule",{value:!0});Qe.default=void 0;var dt=Wr(L),V=It(fe),_o=It(Et),F=q,ce=le,ft=se,Me=It(et);function It(t){return t&&t.__esModule?t:{default:t}}function Wr(t,e){if(typeof WeakMap=="function")var r=new WeakMap,n=new WeakMap;return(Wr=function(o,i){if(!i&&o&&o.__esModule)return o;var a,l,s={__proto__:null,default:o};if(o===null||typeof o!="object"&&typeof o!="function")return s;if(a=i?n:r){if(a.has(o))return a.get(o);a.set(o,s)}for(const u in o)u!=="default"&&{}.hasOwnProperty.call(o,u)&&((l=(a=Object.defineProperty)&&Object.getOwnPropertyDescriptor(o,u))&&(l.get||l.set)?a(s,u,l):s[u]=o[u]);return s})(t,e)}function K(t,e,r){return(e=Oo(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function Oo(t){var e=xo(t,"string");return typeof e=="symbol"?e:e+""}function xo(t,e){if(typeof t!="object"||!t)return t;var r=t[Symbol.toPrimitive];if(r!==void 0){var n=r.call(t,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}const te={touch:{start:"touchstart",move:"touchmove",stop:"touchend"},mouse:{start:"mousedown",move:"mousemove",stop:"mouseup"}};let de=te.mouse,tt=class extends dt.Component{constructor(){super(...arguments),K(this,"dragging",!1),K(this,"lastX",NaN),K(this,"lastY",NaN),K(this,"touchIdentifier",null),K(this,"mounted",!1),K(this,"handleDragStart",e=>{if(this.props.onMouseDown(e),!this.props.allowAnyClick&&typeof e.button=="number"&&e.button!==0)return!1;const r=this.findDOMNode();if(!r||!r.ownerDocument||!r.ownerDocument.body)throw new Error("<DraggableCore> not mounted on DragStart!");const{ownerDocument:n}=r;if(this.props.disabled||!(e.target instanceof n.defaultView.Node)||this.props.handle&&!(0,F.matchesSelectorAndParentsTo)(e.target,this.props.handle,r)||this.props.cancel&&(0,F.matchesSelectorAndParentsTo)(e.target,this.props.cancel,r))return;e.type==="touchstart"&&!this.props.allowMobileScroll&&e.preventDefault();const o=(0,F.getTouchIdentifier)(e);this.touchIdentifier=o;const i=(0,ce.getControlPosition)(e,o,this);if(i==null)return;const{x:a,y:l}=i,s=(0,ce.createCoreData)(this,a,l);(0,Me.default)("DraggableCore: handleDragStart: %j",s),(0,Me.default)("calling",this.props.onStart),!(this.props.onStart(e,s)===!1||this.mounted===!1)&&(this.props.enableUserSelectHack&&(0,F.addUserSelectStyles)(n),this.dragging=!0,this.lastX=a,this.lastY=l,(0,F.addEvent)(n,de.move,this.handleDrag),(0,F.addEvent)(n,de.stop,this.handleDragStop))}),K(this,"handleDrag",e=>{const r=(0,ce.getControlPosition)(e,this.touchIdentifier,this);if(r==null)return;let{x:n,y:o}=r;if(Array.isArray(this.props.grid)){let l=n-this.lastX,s=o-this.lastY;if([l,s]=(0,ce.snapToGrid)(this.props.grid,l,s),!l&&!s)return;n=this.lastX+l,o=this.lastY+s}const i=(0,ce.createCoreData)(this,n,o);if((0,Me.default)("DraggableCore: handleDrag: %j",i),this.props.onDrag(e,i)===!1||this.mounted===!1){try{this.handleDragStop(new MouseEvent("mouseup"))}catch{const s=document.createEvent("MouseEvents");s.initMouseEvent("mouseup",!0,!0,window,0,0,0,0,0,!1,!1,!1,!1,0,null),this.handleDragStop(s)}return}this.lastX=n,this.lastY=o}),K(this,"handleDragStop",e=>{if(!this.dragging)return;const r=(0,ce.getControlPosition)(e,this.touchIdentifier,this);if(r==null)return;let{x:n,y:o}=r;if(Array.isArray(this.props.grid)){let s=n-this.lastX||0,u=o-this.lastY||0;[s,u]=(0,ce.snapToGrid)(this.props.grid,s,u),n=this.lastX+s,o=this.lastY+u}const i=(0,ce.createCoreData)(this,n,o);if(this.props.onStop(e,i)===!1||this.mounted===!1)return!1;const l=this.findDOMNode();l&&this.props.enableUserSelectHack&&(0,F.scheduleRemoveUserSelectStyles)(l.ownerDocument),(0,Me.default)("DraggableCore: handleDragStop: %j",i),this.dragging=!1,this.lastX=NaN,this.lastY=NaN,l&&((0,Me.default)("DraggableCore: Removing handlers"),(0,F.removeEvent)(l.ownerDocument,de.move,this.handleDrag),(0,F.removeEvent)(l.ownerDocument,de.stop,this.handleDragStop))}),K(this,"onMouseDown",e=>(de=te.mouse,this.handleDragStart(e))),K(this,"onMouseUp",e=>(de=te.mouse,this.handleDragStop(e))),K(this,"onTouchStart",e=>(de=te.touch,this.handleDragStart(e))),K(this,"onTouchEnd",e=>(de=te.touch,this.handleDragStop(e)))}componentDidMount(){this.mounted=!0;const e=this.findDOMNode();e&&(0,F.addEvent)(e,te.touch.start,this.onTouchStart,{passive:!1})}componentWillUnmount(){this.mounted=!1;const e=this.findDOMNode();if(e){const{ownerDocument:r}=e;(0,F.removeEvent)(r,te.mouse.move,this.handleDrag),(0,F.removeEvent)(r,te.touch.move,this.handleDrag),(0,F.removeEvent)(r,te.mouse.stop,this.handleDragStop),(0,F.removeEvent)(r,te.touch.stop,this.handleDragStop),(0,F.removeEvent)(e,te.touch.start,this.onTouchStart,{passive:!1}),this.props.enableUserSelectHack&&(0,F.scheduleRemoveUserSelectStyles)(r)}}findDOMNode(){var e,r,n;return(e=this.props)!=null&&e.nodeRef?(n=(r=this.props)==null?void 0:r.nodeRef)==null?void 0:n.current:_o.default.findDOMNode(this)}render(){return dt.cloneElement(dt.Children.only(this.props.children),{onMouseDown:this.onMouseDown,onMouseUp:this.onMouseUp,onTouchEnd:this.onTouchEnd})}};Qe.default=tt;K(tt,"displayName","DraggableCore");K(tt,"propTypes",{allowAnyClick:V.default.bool,allowMobileScroll:V.default.bool,children:V.default.node.isRequired,disabled:V.default.bool,enableUserSelectHack:V.default.bool,offsetParent:function(t,e){if(t[e]&&t[e].nodeType!==1)throw new Error("Draggable's offsetParent must be a DOM Node.")},grid:V.default.arrayOf(V.default.number),handle:V.default.string,cancel:V.default.string,nodeRef:V.default.object,onStart:V.default.func,onDrag:V.default.func,onStop:V.default.func,onMouseDown:V.default.func,scale:V.default.number,className:ft.dontSetMe,style:ft.dontSetMe,transform:ft.dontSetMe});K(tt,"defaultProps",{allowAnyClick:!1,allowMobileScroll:!1,disabled:!1,enableUserSelectHack:!0,onStart:function(){},onDrag:function(){},onStop:function(){},onMouseDown:function(){},scale:1});(function(t){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"DraggableCore",{enumerable:!0,get:function(){return s.default}}),t.default=void 0;var e=d(L),r=c(fe),n=c(Et),o=Ue,i=q,a=le,l=se,s=c(Qe),u=c(et);function c(p){return p&&p.__esModule?p:{default:p}}function d(p,v){if(typeof WeakMap=="function")var y=new WeakMap,b=new WeakMap;return(d=function(h,P){if(!P&&h&&h.__esModule)return h;var H,$,T={__proto__:null,default:h};if(h===null||typeof h!="object"&&typeof h!="function")return T;if(H=P?b:y){if(H.has(h))return H.get(h);H.set(h,T)}for(const N in h)N!=="default"&&{}.hasOwnProperty.call(h,N)&&(($=(H=Object.defineProperty)&&Object.getOwnPropertyDescriptor(h,N))&&($.get||$.set)?H(T,N,$):T[N]=h[N]);return T})(p,v)}function f(){return f=Object.assign?Object.assign.bind():function(p){for(var v=1;v<arguments.length;v++){var y=arguments[v];for(var b in y)({}).hasOwnProperty.call(y,b)&&(p[b]=y[b])}return p},f.apply(null,arguments)}function g(p,v,y){return(v=w(v))in p?Object.defineProperty(p,v,{value:y,enumerable:!0,configurable:!0,writable:!0}):p[v]=y,p}function w(p){var v=S(p,"string");return typeof v=="symbol"?v:v+""}function S(p,v){if(typeof p!="object"||!p)return p;var y=p[Symbol.toPrimitive];if(y!==void 0){var b=y.call(p,v||"default");if(typeof b!="object")return b;throw new TypeError("@@toPrimitive must return a primitive value.")}return(v==="string"?String:Number)(p)}class D extends e.Component{static getDerivedStateFromProps(v,y){let{position:b}=v,{prevPropsPosition:h}=y;return b&&(!h||b.x!==h.x||b.y!==h.y)?((0,u.default)("Draggable: getDerivedStateFromProps %j",{position:b,prevPropsPosition:h}),{x:b.x,y:b.y,prevPropsPosition:{...b}}):null}constructor(v){super(v),g(this,"onDragStart",(y,b)=>{if((0,u.default)("Draggable: onDragStart: %j",b),this.props.onStart(y,(0,a.createDraggableData)(this,b))===!1)return!1;this.setState({dragging:!0,dragged:!0})}),g(this,"onDrag",(y,b)=>{if(!this.state.dragging)return!1;(0,u.default)("Draggable: onDrag: %j",b);const h=(0,a.createDraggableData)(this,b),P={x:h.x,y:h.y,slackX:0,slackY:0};if(this.props.bounds){const{x:$,y:T}=P;P.x+=this.state.slackX,P.y+=this.state.slackY;const[N,G]=(0,a.getBoundPosition)(this,P.x,P.y);P.x=N,P.y=G,P.slackX=this.state.slackX+($-P.x),P.slackY=this.state.slackY+(T-P.y),h.x=P.x,h.y=P.y,h.deltaX=P.x-this.state.x,h.deltaY=P.y-this.state.y}if(this.props.onDrag(y,h)===!1)return!1;this.setState(P)}),g(this,"onDragStop",(y,b)=>{if(!this.state.dragging||this.props.onStop(y,(0,a.createDraggableData)(this,b))===!1)return!1;(0,u.default)("Draggable: onDragStop: %j",b);const P={dragging:!1,slackX:0,slackY:0};if(!!this.props.position){const{x:$,y:T}=this.props.position;P.x=$,P.y=T}this.setState(P)}),this.state={dragging:!1,dragged:!1,x:v.position?v.position.x:v.defaultPosition.x,y:v.position?v.position.y:v.defaultPosition.y,prevPropsPosition:{...v.position},slackX:0,slackY:0,isElementSVG:!1},v.position&&!(v.onDrag||v.onStop)&&console.warn("A `position` was applied to this <Draggable>, without drag handlers. This will make this component effectively undraggable. Please attach `onDrag` or `onStop` handlers so you can adjust the `position` of this element.")}componentDidMount(){typeof window.SVGElement<"u"&&this.findDOMNode()instanceof window.SVGElement&&this.setState({isElementSVG:!0})}componentWillUnmount(){this.state.dragging&&this.setState({dragging:!1})}findDOMNode(){var v,y;return((y=(v=this.props)==null?void 0:v.nodeRef)==null?void 0:y.current)??n.default.findDOMNode(this)}render(){const{axis:v,bounds:y,children:b,defaultPosition:h,defaultClassName:P,defaultClassNameDragging:H,defaultClassNameDragged:$,position:T,positionOffset:N,scale:G,...Ee}=this.props;let Ce={},ze=null;const pe=!!!T||this.state.dragging,he=T||h,Ne={x:(0,a.canDragX)(this)&&pe?this.state.x:he.x,y:(0,a.canDragY)(this)&&pe?this.state.y:he.y};this.state.isElementSVG?ze=(0,i.createSVGTransform)(Ne,N):Ce=(0,i.createCSSTransform)(Ne,N);const st=(0,o.clsx)(b.props.className||"",P,{[H]:this.state.dragging,[$]:this.state.dragged});return e.createElement(s.default,f({},Ee,{onStart:this.onDragStart,onDrag:this.onDrag,onStop:this.onDragStop}),e.cloneElement(e.Children.only(b),{className:st,style:{...b.props.style,...Ce},transform:ze}))}}t.default=D,g(D,"displayName","Draggable"),g(D,"propTypes",{...s.default.propTypes,axis:r.default.oneOf(["both","x","y","none"]),bounds:r.default.oneOfType([r.default.shape({left:r.default.number,right:r.default.number,top:r.default.number,bottom:r.default.number}),r.default.string,r.default.oneOf([!1])]),defaultClassName:r.default.string,defaultClassNameDragging:r.default.string,defaultClassNameDragged:r.default.string,defaultPosition:r.default.shape({x:r.default.number,y:r.default.number}),positionOffset:r.default.shape({x:r.default.oneOfType([r.default.number,r.default.string]),y:r.default.oneOfType([r.default.number,r.default.string])}),position:r.default.shape({x:r.default.number,y:r.default.number}),className:l.dontSetMe,style:l.dontSetMe,transform:l.dontSetMe}),g(D,"defaultProps",{...s.default.defaultProps,axis:"both",bounds:!1,defaultClassName:"react-draggable",defaultClassNameDragging:"react-draggable-dragging",defaultClassNameDragged:"react-draggable-dragged",defaultPosition:{x:0,y:0},scale:1})})(zr);const{default:Nr,DraggableCore:Po}=zr;Ze.exports=Nr;Ze.exports.default=Nr;Ze.exports.DraggableCore=Po;var qr=Ze.exports,rt={exports:{}},$e={},At={};At.__esModule=!0;At.cloneElement=jo;var Eo=Co(L);function Co(t){return t&&t.__esModule?t:{default:t}}function ar(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),r.push.apply(r,n)}return r}function sr(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?ar(Object(r),!0).forEach(function(n){zo(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):ar(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function zo(t,e,r){return e=Mo(e),e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function Mo(t){var e=To(t,"string");return typeof e=="symbol"?e:String(e)}function To(t,e){if(typeof t!="object"||t===null)return t;var r=t[Symbol.toPrimitive];if(r!==void 0){var n=r.call(t,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function jo(t,e){return e.style&&t.props.style&&(e.style=sr(sr({},t.props.style),e.style)),e.className&&t.props.className&&(e.className=t.props.className+" "+e.className),Eo.default.cloneElement(t,e)}var We={};We.__esModule=!0;We.resizableProps=void 0;var O=Ho(fe);function Ho(t){return t&&t.__esModule?t:{default:t}}var Lo={axis:O.default.oneOf(["both","x","y","none"]),className:O.default.string,children:O.default.element.isRequired,draggableOpts:O.default.shape({allowAnyClick:O.default.bool,cancel:O.default.string,children:O.default.node,disabled:O.default.bool,enableUserSelectHack:O.default.bool,offsetParent:O.default.node,grid:O.default.arrayOf(O.default.number),handle:O.default.string,nodeRef:O.default.object,onStart:O.default.func,onDrag:O.default.func,onStop:O.default.func,onMouseDown:O.default.func,scale:O.default.number}),height:function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];var o=r[0];if(o.axis==="both"||o.axis==="y"){var i;return(i=O.default.number).isRequired.apply(i,r)}return O.default.number.apply(O.default,r)},handle:O.default.oneOfType([O.default.node,O.default.func]),handleSize:O.default.arrayOf(O.default.number),lockAspectRatio:O.default.bool,maxConstraints:O.default.arrayOf(O.default.number),minConstraints:O.default.arrayOf(O.default.number),onResizeStop:O.default.func,onResizeStart:O.default.func,onResize:O.default.func,resizeHandles:O.default.arrayOf(O.default.oneOf(["s","w","e","n","sw","nw","se","ne"])),transformScale:O.default.number,width:function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];var o=r[0];if(o.axis==="both"||o.axis==="x"){var i;return(i=O.default.number).isRequired.apply(i,r)}return O.default.number.apply(O.default,r)}};We.resizableProps=Lo;$e.__esModule=!0;$e.default=void 0;var Te=ko(L),$o=qr,Wo=At,No=We,qo=["children","className","draggableOpts","width","height","handle","handleSize","lockAspectRatio","axis","minConstraints","maxConstraints","onResize","onResizeStop","onResizeStart","resizeHandles","transformScale"];function kr(t){if(typeof WeakMap!="function")return null;var e=new WeakMap,r=new WeakMap;return(kr=function(o){return o?r:e})(t)}function ko(t,e){if(t&&t.__esModule)return t;if(t===null||typeof t!="object"&&typeof t!="function")return{default:t};var r=kr(e);if(r&&r.has(t))return r.get(t);var n={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in t)if(i!=="default"&&Object.prototype.hasOwnProperty.call(t,i)){var a=o?Object.getOwnPropertyDescriptor(t,i):null;a&&(a.get||a.set)?Object.defineProperty(n,i,a):n[i]=t[i]}return n.default=t,r&&r.set(t,n),n}function St(){return St=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(t[n]=r[n])}return t},St.apply(this,arguments)}function Io(t,e){if(t==null)return{};var r={},n=Object.keys(t),o,i;for(i=0;i<n.length;i++)o=n[i],!(e.indexOf(o)>=0)&&(r[o]=t[o]);return r}function lr(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),r.push.apply(r,n)}return r}function pt(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?lr(Object(r),!0).forEach(function(n){Ao(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):lr(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function Ao(t,e,r){return e=Bo(e),e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function Bo(t){var e=Go(t,"string");return typeof e=="symbol"?e:String(e)}function Go(t,e){if(typeof t!="object"||t===null)return t;var r=t[Symbol.toPrimitive];if(r!==void 0){var n=r.call(t,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function Yo(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,Rt(t,e)}function Rt(t,e){return Rt=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,o){return n.__proto__=o,n},Rt(t,e)}var Bt=function(t){Yo(e,t);function e(){for(var n,o=arguments.length,i=new Array(o),a=0;a<o;a++)i[a]=arguments[a];return n=t.call.apply(t,[this].concat(i))||this,n.handleRefs={},n.lastHandleRect=null,n.slack=null,n}var r=e.prototype;return r.componentWillUnmount=function(){this.resetData()},r.resetData=function(){this.lastHandleRect=this.slack=null},r.runConstraints=function(o,i){var a=this.props,l=a.minConstraints,s=a.maxConstraints,u=a.lockAspectRatio;if(!l&&!s&&!u)return[o,i];if(u){var c=this.props.width/this.props.height,d=o-this.props.width,f=i-this.props.height;Math.abs(d)>Math.abs(f*c)?i=o/c:o=i*c}var g=o,w=i,S=this.slack||[0,0],D=S[0],p=S[1];return o+=D,i+=p,l&&(o=Math.max(l[0],o),i=Math.max(l[1],i)),s&&(o=Math.min(s[0],o),i=Math.min(s[1],i)),this.slack=[D+(g-o),p+(w-i)],[o,i]},r.resizeHandler=function(o,i){var a=this;return function(l,s){var u=s.node,c=s.deltaX,d=s.deltaY;o==="onResizeStart"&&a.resetData();var f=(a.props.axis==="both"||a.props.axis==="x")&&i!=="n"&&i!=="s",g=(a.props.axis==="both"||a.props.axis==="y")&&i!=="e"&&i!=="w";if(!(!f&&!g)){var w=i[0],S=i[i.length-1],D=u.getBoundingClientRect();if(a.lastHandleRect!=null){if(S==="w"){var p=D.left-a.lastHandleRect.left;c+=p}if(w==="n"){var v=D.top-a.lastHandleRect.top;d+=v}}a.lastHandleRect=D,S==="w"&&(c=-c),w==="n"&&(d=-d);var y=a.props.width+(f?c/a.props.transformScale:0),b=a.props.height+(g?d/a.props.transformScale:0),h=a.runConstraints(y,b);y=h[0],b=h[1];var P=y!==a.props.width||b!==a.props.height,H=typeof a.props[o]=="function"?a.props[o]:null,$=o==="onResize"&&!P;H&&!$&&(l.persist==null||l.persist(),H(l,{node:u,size:{width:y,height:b},handle:i})),o==="onResizeStop"&&a.resetData()}}},r.renderResizeHandle=function(o,i){var a=this.props.handle;if(!a)return Te.createElement("span",{className:"react-resizable-handle react-resizable-handle-"+o,ref:i});if(typeof a=="function")return a(o,i);var l=typeof a.type=="string",s=pt({ref:i},l?{}:{handleAxis:o});return Te.cloneElement(a,s)},r.render=function(){var o=this,i=this.props,a=i.children,l=i.className,s=i.draggableOpts;i.width,i.height,i.handle,i.handleSize,i.lockAspectRatio,i.axis,i.minConstraints,i.maxConstraints,i.onResize,i.onResizeStop,i.onResizeStart;var u=i.resizeHandles;i.transformScale;var c=Io(i,qo);return(0,Wo.cloneElement)(a,pt(pt({},c),{},{className:(l?l+" ":"")+"react-resizable",children:[].concat(a.props.children,u.map(function(d){var f,g=(f=o.handleRefs[d])!=null?f:o.handleRefs[d]=Te.createRef();return Te.createElement($o.DraggableCore,St({},s,{nodeRef:g,key:"resizableHandle-"+d,onStop:o.resizeHandler("onResizeStop",d),onStart:o.resizeHandler("onResizeStart",d),onDrag:o.resizeHandler("onResize",d)}),o.renderResizeHandle(d,g))}))}))},e}(Te.Component);$e.default=Bt;Bt.propTypes=No.resizableProps;Bt.defaultProps={axis:"both",handleSize:[20,20],lockAspectRatio:!1,minConstraints:[20,20],maxConstraints:[1/0,1/0],resizeHandles:["se"],transformScale:1};var nt={};nt.__esModule=!0;nt.default=void 0;var ht=Ko(L),Xo=Ir(fe),Fo=Ir($e),Uo=We,Vo=["handle","handleSize","onResize","onResizeStart","onResizeStop","draggableOpts","minConstraints","maxConstraints","lockAspectRatio","axis","width","height","resizeHandles","style","transformScale"];function Ir(t){return t&&t.__esModule?t:{default:t}}function Ar(t){if(typeof WeakMap!="function")return null;var e=new WeakMap,r=new WeakMap;return(Ar=function(o){return o?r:e})(t)}function Ko(t,e){if(t&&t.__esModule)return t;if(t===null||typeof t!="object"&&typeof t!="function")return{default:t};var r=Ar(e);if(r&&r.has(t))return r.get(t);var n={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in t)if(i!=="default"&&Object.prototype.hasOwnProperty.call(t,i)){var a=o?Object.getOwnPropertyDescriptor(t,i):null;a&&(a.get||a.set)?Object.defineProperty(n,i,a):n[i]=t[i]}return n.default=t,r&&r.set(t,n),n}function Dt(){return Dt=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(t[n]=r[n])}return t},Dt.apply(this,arguments)}function ur(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),r.push.apply(r,n)}return r}function Be(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?ur(Object(r),!0).forEach(function(n){Jo(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):ur(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function Jo(t,e,r){return e=Zo(e),e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function Zo(t){var e=Qo(t,"string");return typeof e=="symbol"?e:String(e)}function Qo(t,e){if(typeof t!="object"||t===null)return t;var r=t[Symbol.toPrimitive];if(r!==void 0){var n=r.call(t,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function ei(t,e){if(t==null)return{};var r={},n=Object.keys(t),o,i;for(i=0;i<n.length;i++)o=n[i],!(e.indexOf(o)>=0)&&(r[o]=t[o]);return r}function ti(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,_t(t,e)}function _t(t,e){return _t=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,o){return n.__proto__=o,n},_t(t,e)}var Br=function(t){ti(e,t);function e(){for(var n,o=arguments.length,i=new Array(o),a=0;a<o;a++)i[a]=arguments[a];return n=t.call.apply(t,[this].concat(i))||this,n.state={width:n.props.width,height:n.props.height,propsWidth:n.props.width,propsHeight:n.props.height},n.onResize=function(l,s){var u=s.size;n.props.onResize?(l.persist==null||l.persist(),n.setState(u,function(){return n.props.onResize&&n.props.onResize(l,s)})):n.setState(u)},n}e.getDerivedStateFromProps=function(o,i){return i.propsWidth!==o.width||i.propsHeight!==o.height?{width:o.width,height:o.height,propsWidth:o.width,propsHeight:o.height}:null};var r=e.prototype;return r.render=function(){var o=this.props,i=o.handle,a=o.handleSize;o.onResize;var l=o.onResizeStart,s=o.onResizeStop,u=o.draggableOpts,c=o.minConstraints,d=o.maxConstraints,f=o.lockAspectRatio,g=o.axis;o.width,o.height;var w=o.resizeHandles,S=o.style,D=o.transformScale,p=ei(o,Vo);return ht.createElement(Fo.default,{axis:g,draggableOpts:u,handle:i,handleSize:a,height:this.state.height,lockAspectRatio:f,maxConstraints:d,minConstraints:c,onResizeStart:l,onResize:this.onResize,onResizeStop:s,resizeHandles:w,transformScale:D,width:this.state.width},ht.createElement("div",Dt({},p,{style:Be(Be({},S),{},{width:this.state.width+"px",height:this.state.height+"px"})})))},e}(ht.Component);nt.default=Br;Br.propTypes=Be(Be({},Uo.resizableProps),{},{children:Xo.default.element});rt.exports=function(){throw new Error("Don't instantiate Resizable directly! Use require('react-resizable').Resizable")};rt.exports.Resizable=$e.default;rt.exports.ResizableBox=nt.default;var ri=rt.exports,ue={};Object.defineProperty(ue,"__esModule",{value:!0});ue.resizeHandleType=ue.resizeHandleAxesType=ue.default=void 0;var x=Gr(fe),ni=Gr(L);function Gr(t){return t&&t.__esModule?t:{default:t}}const oi=ue.resizeHandleAxesType=x.default.arrayOf(x.default.oneOf(["s","w","e","n","sw","nw","se","ne"])),ii=ue.resizeHandleType=x.default.oneOfType([x.default.node,x.default.func]);ue.default={className:x.default.string,style:x.default.object,width:x.default.number,autoSize:x.default.bool,cols:x.default.number,draggableCancel:x.default.string,draggableHandle:x.default.string,verticalCompact:function(t){t.verticalCompact},compactType:x.default.oneOf(["vertical","horizontal"]),layout:function(t){var e=t.layout;e!==void 0&&E.validateLayout(e,"layout")},margin:x.default.arrayOf(x.default.number),containerPadding:x.default.arrayOf(x.default.number),rowHeight:x.default.number,maxRows:x.default.number,isBounded:x.default.bool,isDraggable:x.default.bool,isResizable:x.default.bool,allowOverlap:x.default.bool,preventCollision:x.default.bool,useCSSTransforms:x.default.bool,transformScale:x.default.number,isDroppable:x.default.bool,resizeHandles:oi,resizeHandle:ii,onLayoutChange:x.default.func,onDragStart:x.default.func,onDrag:x.default.func,onDragStop:x.default.func,onResizeStart:x.default.func,onResize:x.default.func,onResizeStop:x.default.func,onDrop:x.default.func,droppingItem:x.default.shape({i:x.default.string.isRequired,w:x.default.number.isRequired,h:x.default.number.isRequired}),children:function(t,e){const r=t[e],n={};ni.default.Children.forEach(r,function(o){if((o==null?void 0:o.key)!=null){if(n[o.key])throw new Error('Duplicate child key "'+o.key+'" found! This will cause problems in ReactGridLayout.');n[o.key]=!0}})},innerRef:x.default.any};Object.defineProperty(Je,"__esModule",{value:!0});Je.default=void 0;var Re=Gt(L),cr=Et,C=Gt(fe),ai=qr,si=ri,De=E,X=ae,dr=ue,li=Gt(Ue);function Gt(t){return t&&t.__esModule?t:{default:t}}function ie(t,e,r){return(e=ui(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function ui(t){var e=ci(t,"string");return typeof e=="symbol"?e:e+""}function ci(t,e){if(typeof t!="object"||!t)return t;var r=t[Symbol.toPrimitive];if(r!==void 0){var n=r.call(t,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}class Yt extends Re.default.Component{constructor(){super(...arguments),ie(this,"state",{resizing:null,dragging:null,className:""}),ie(this,"elementRef",Re.default.createRef()),ie(this,"onDragStart",(e,r)=>{let{node:n}=r;const{onDragStart:o,transformScale:i}=this.props;if(!o)return;const a={top:0,left:0},{offsetParent:l}=n;if(!l)return;const s=l.getBoundingClientRect(),u=n.getBoundingClientRect(),c=u.left/i,d=s.left/i,f=u.top/i,g=s.top/i;a.left=c-d+l.scrollLeft,a.top=f-g+l.scrollTop,this.setState({dragging:a});const{x:w,y:S}=(0,X.calcXY)(this.getPositionParams(),a.top,a.left,this.props.w,this.props.h);return o.call(this,this.props.i,w,S,{e,node:n,newPosition:a})}),ie(this,"onDrag",(e,r,n)=>{let{node:o,deltaX:i,deltaY:a}=r;const{onDrag:l}=this.props;if(!l)return;if(!this.state.dragging)throw new Error("onDrag called before onDragStart.");let s=this.state.dragging.top+a,u=this.state.dragging.left+i;const{isBounded:c,i:d,w:f,h:g,containerWidth:w}=this.props,S=this.getPositionParams();if(c){const{offsetParent:y}=o;if(y){const{margin:b,rowHeight:h}=this.props,P=y.clientHeight-(0,X.calcGridItemWHPx)(g,h,b[1]);s=(0,X.clamp)(s,0,P);const H=(0,X.calcGridColWidth)(S),$=w-(0,X.calcGridItemWHPx)(f,H,b[0]);u=(0,X.clamp)(u,0,$)}}const D={top:s,left:u};n?this.setState({dragging:D}):(0,cr.flushSync)(()=>{this.setState({dragging:D})});const{x:p,y:v}=(0,X.calcXY)(S,s,u,f,g);return l.call(this,d,p,v,{e,node:o,newPosition:D})}),ie(this,"onDragStop",(e,r)=>{let{node:n}=r;const{onDragStop:o}=this.props;if(!o)return;if(!this.state.dragging)throw new Error("onDragEnd called before onDragStart.");const{w:i,h:a,i:l}=this.props,{left:s,top:u}=this.state.dragging,c={top:u,left:s};this.setState({dragging:null});const{x:d,y:f}=(0,X.calcXY)(this.getPositionParams(),u,s,i,a);return o.call(this,l,d,f,{e,node:n,newPosition:c})}),ie(this,"onResizeStop",(e,r,n)=>this.onResizeHandler(e,r,n,"onResizeStop")),ie(this,"onResizeStart",(e,r,n)=>this.onResizeHandler(e,r,n,"onResizeStart")),ie(this,"onResize",(e,r,n)=>this.onResizeHandler(e,r,n,"onResize"))}shouldComponentUpdate(e,r){if(this.props.children!==e.children||this.props.droppingPosition!==e.droppingPosition)return!0;const n=(0,X.calcGridItemPosition)(this.getPositionParams(this.props),this.props.x,this.props.y,this.props.w,this.props.h,this.state),o=(0,X.calcGridItemPosition)(this.getPositionParams(e),e.x,e.y,e.w,e.h,r);return!(0,De.fastPositionEqual)(n,o)||this.props.useCSSTransforms!==e.useCSSTransforms}componentDidMount(){this.moveDroppingItem({})}componentDidUpdate(e){this.moveDroppingItem(e)}moveDroppingItem(e){const{droppingPosition:r}=this.props;if(!r)return;const n=this.elementRef.current;if(!n)return;const o=e.droppingPosition||{left:0,top:0},{dragging:i}=this.state,a=i&&r.left!==o.left||r.top!==o.top;if(!i)this.onDragStart(r.e,{node:n,deltaX:r.left,deltaY:r.top});else if(a){const l=r.left-i.left,s=r.top-i.top;this.onDrag(r.e,{node:n,deltaX:l,deltaY:s},!0)}}getPositionParams(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.props;return{cols:e.cols,containerPadding:e.containerPadding,containerWidth:e.containerWidth,margin:e.margin,maxRows:e.maxRows,rowHeight:e.rowHeight}}createStyle(e){const{usePercentages:r,containerWidth:n,useCSSTransforms:o}=this.props;let i;return o?i=(0,De.setTransform)(e):(i=(0,De.setTopLeft)(e),r&&(i.left=(0,De.perc)(e.left/n),i.width=(0,De.perc)(e.width/n))),i}mixinDraggable(e,r){return Re.default.createElement(ai.DraggableCore,{disabled:!r,onStart:this.onDragStart,onDrag:this.onDrag,onStop:this.onDragStop,handle:this.props.handle,cancel:".react-resizable-handle"+(this.props.cancel?","+this.props.cancel:""),scale:this.props.transformScale,nodeRef:this.elementRef},e)}curryResizeHandler(e,r){return(n,o)=>r(n,o,e)}mixinResizable(e,r,n){const{cols:o,minW:i,minH:a,maxW:l,maxH:s,transformScale:u,resizeHandles:c,resizeHandle:d}=this.props,f=this.getPositionParams(),g=(0,X.calcGridItemPosition)(f,0,0,o,0).width,w=(0,X.calcGridItemPosition)(f,0,0,i,a),S=(0,X.calcGridItemPosition)(f,0,0,l,s),D=[w.width,w.height],p=[Math.min(S.width,g),Math.min(S.height,1/0)];return Re.default.createElement(si.Resizable,{draggableOpts:{disabled:!n},className:n?void 0:"react-resizable-hide",width:r.width,height:r.height,minConstraints:D,maxConstraints:p,onResizeStop:this.curryResizeHandler(r,this.onResizeStop),onResizeStart:this.curryResizeHandler(r,this.onResizeStart),onResize:this.curryResizeHandler(r,this.onResize),transformScale:u,resizeHandles:c,handle:d},e)}onResizeHandler(e,r,n,o){let{node:i,size:a,handle:l}=r;const s=this.props[o];if(!s)return;const{x:u,y:c,i:d,maxH:f,minH:g,containerWidth:w}=this.props,{minW:S,maxW:D}=this.props;let p=a;i&&(p=(0,De.resizeItemInDirection)(l,n,a,w),(0,cr.flushSync)(()=>{this.setState({resizing:o==="onResizeStop"?null:p})}));let{w:v,h:y}=(0,X.calcWH)(this.getPositionParams(),p.width,p.height,u,c,l);v=(0,X.clamp)(v,Math.max(S,1),D),y=(0,X.clamp)(y,g,f),s.call(this,d,v,y,{e,node:i,size:p,handle:l})}render(){const{x:e,y:r,w:n,h:o,isDraggable:i,isResizable:a,droppingPosition:l,useCSSTransforms:s}=this.props,u=(0,X.calcGridItemPosition)(this.getPositionParams(),e,r,n,o,this.state),c=Re.default.Children.only(this.props.children);let d=Re.default.cloneElement(c,{ref:this.elementRef,className:(0,li.default)("react-grid-item",c.props.className,this.props.className,{static:this.props.static,resizing:!!this.state.resizing,"react-draggable":i,"react-draggable-dragging":!!this.state.dragging,dropping:!!l,cssTransforms:s}),style:{...this.props.style,...c.props.style,...this.createStyle(u)}});return d=this.mixinResizable(d,u,a),d=this.mixinDraggable(d,i),d}}Je.default=Yt;ie(Yt,"propTypes",{children:C.default.element,cols:C.default.number.isRequired,containerWidth:C.default.number.isRequired,rowHeight:C.default.number.isRequired,margin:C.default.array.isRequired,maxRows:C.default.number.isRequired,containerPadding:C.default.array.isRequired,x:C.default.number.isRequired,y:C.default.number.isRequired,w:C.default.number.isRequired,h:C.default.number.isRequired,minW:function(t,e){const r=t[e];if(typeof r!="number")return new Error("minWidth not Number");if(r>t.w||r>t.maxW)return new Error("minWidth larger than item width/maxWidth")},maxW:function(t,e){const r=t[e];if(typeof r!="number")return new Error("maxWidth not Number");if(r<t.w||r<t.minW)return new Error("maxWidth smaller than item width/minWidth")},minH:function(t,e){const r=t[e];if(typeof r!="number")return new Error("minHeight not Number");if(r>t.h||r>t.maxH)return new Error("minHeight larger than item height/maxHeight")},maxH:function(t,e){const r=t[e];if(typeof r!="number")return new Error("maxHeight not Number");if(r<t.h||r<t.minH)return new Error("maxHeight smaller than item height/minHeight")},i:C.default.string.isRequired,resizeHandles:dr.resizeHandleAxesType,resizeHandle:dr.resizeHandleType,onDragStop:C.default.func,onDragStart:C.default.func,onDrag:C.default.func,onResizeStop:C.default.func,onResizeStart:C.default.func,onResize:C.default.func,isDraggable:C.default.bool.isRequired,isResizable:C.default.bool.isRequired,isBounded:C.default.bool.isRequired,static:C.default.bool,useCSSTransforms:C.default.bool.isRequired,transformScale:C.default.number,className:C.default.string,handle:C.default.string,cancel:C.default.string,droppingPosition:C.default.shape({e:C.default.object.isRequired,left:C.default.number.isRequired,top:C.default.number.isRequired})});ie(Yt,"defaultProps",{className:"",cancel:"",handle:"",minH:1,minW:1,maxH:1/0,maxW:1/0,transformScale:1});Object.defineProperty(Le,"__esModule",{value:!0});Le.default=void 0;var ge=Yr(L),gt=Ct,di=Xt(Ue),R=E,fi=ae,fr=Xt(Je),pi=Xt(ue);function Xt(t){return t&&t.__esModule?t:{default:t}}function Yr(t,e){if(typeof WeakMap=="function")var r=new WeakMap,n=new WeakMap;return(Yr=function(o,i){if(!i&&o&&o.__esModule)return o;var a,l,s={__proto__:null,default:o};if(o===null||typeof o!="object"&&typeof o!="function")return s;if(a=i?n:r){if(a.has(o))return a.get(o);a.set(o,s)}for(const u in o)u!=="default"&&{}.hasOwnProperty.call(o,u)&&((l=(a=Object.defineProperty)&&Object.getOwnPropertyDescriptor(o,u))&&(l.get||l.set)?a(s,u,l):s[u]=o[u]);return s})(t,e)}function U(t,e,r){return(e=hi(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function hi(t){var e=gi(t,"string");return typeof e=="symbol"?e:e+""}function gi(t,e){if(typeof t!="object"||!t)return t;var r=t[Symbol.toPrimitive];if(r!==void 0){var n=r.call(t,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}const pr="react-grid-layout";let Xr=!1;try{Xr=/firefox/i.test(navigator.userAgent)}catch{}class ot extends ge.Component{constructor(){super(...arguments),U(this,"state",{activeDrag:null,layout:(0,R.synchronizeLayoutWithChildren)(this.props.layout,this.props.children,this.props.cols,(0,R.compactType)(this.props),this.props.allowOverlap),mounted:!1,oldDragItem:null,oldLayout:null,oldResizeItem:null,resizing:!1,droppingDOMNode:null,children:[]}),U(this,"dragEnterCounter",0),U(this,"onDragStart",(e,r,n,o)=>{let{e:i,node:a}=o;const{layout:l}=this.state,s=(0,R.getLayoutItem)(l,e);if(!s)return;const u={w:s.w,h:s.h,x:s.x,y:s.y,placeholder:!0,i:e};return this.setState({oldDragItem:(0,R.cloneLayoutItem)(s),oldLayout:l,activeDrag:u}),this.props.onDragStart(l,s,s,null,i,a)}),U(this,"onDrag",(e,r,n,o)=>{let{e:i,node:a}=o;const{oldDragItem:l}=this.state;let{layout:s}=this.state;const{cols:u,allowOverlap:c,preventCollision:d}=this.props,f=(0,R.getLayoutItem)(s,e);if(!f)return;const g={w:f.w,h:f.h,x:f.x,y:f.y,placeholder:!0,i:e};s=(0,R.moveElement)(s,f,r,n,!0,d,(0,R.compactType)(this.props),u,c),this.props.onDrag(s,l,f,g,i,a),this.setState({layout:c?s:(0,R.compact)(s,(0,R.compactType)(this.props),u),activeDrag:g})}),U(this,"onDragStop",(e,r,n,o)=>{let{e:i,node:a}=o;if(!this.state.activeDrag)return;const{oldDragItem:l}=this.state;let{layout:s}=this.state;const{cols:u,preventCollision:c,allowOverlap:d}=this.props,f=(0,R.getLayoutItem)(s,e);if(!f)return;s=(0,R.moveElement)(s,f,r,n,!0,c,(0,R.compactType)(this.props),u,d);const w=d?s:(0,R.compact)(s,(0,R.compactType)(this.props),u);this.props.onDragStop(w,l,f,null,i,a);const{oldLayout:S}=this.state;this.setState({activeDrag:null,layout:w,oldDragItem:null,oldLayout:null}),this.onLayoutMaybeChanged(w,S)}),U(this,"onResizeStart",(e,r,n,o)=>{let{e:i,node:a}=o;const{layout:l}=this.state,s=(0,R.getLayoutItem)(l,e);s&&(this.setState({oldResizeItem:(0,R.cloneLayoutItem)(s),oldLayout:this.state.layout,resizing:!0}),this.props.onResizeStart(l,s,s,null,i,a))}),U(this,"onResize",(e,r,n,o)=>{let{e:i,node:a,size:l,handle:s}=o;const{oldResizeItem:u}=this.state,{layout:c}=this.state,{cols:d,preventCollision:f,allowOverlap:g}=this.props;let w=!1,S,D,p;const[v,y]=(0,R.withLayoutItem)(c,e,h=>{let P;return D=h.x,p=h.y,["sw","w","nw","n","ne"].indexOf(s)!==-1&&(["sw","nw","w"].indexOf(s)!==-1&&(D=h.x+(h.w-r),r=h.x!==D&&D<0?h.w:r,D=D<0?0:D),["ne","n","nw"].indexOf(s)!==-1&&(p=h.y+(h.h-n),n=h.y!==p&&p<0?h.h:n,p=p<0?0:p),w=!0),f&&!g&&(P=(0,R.getAllCollisions)(c,{...h,w:r,h:n,x:D,y:p}).filter($=>$.i!==h.i).length>0,P&&(p=h.y,n=h.h,D=h.x,r=h.w,w=!1)),h.w=r,h.h=n,h});if(!y)return;S=v,w&&(S=(0,R.moveElement)(v,y,D,p,!0,this.props.preventCollision,(0,R.compactType)(this.props),d,g));const b={w:y.w,h:y.h,x:y.x,y:y.y,static:!0,i:e};this.props.onResize(S,u,y,b,i,a),this.setState({layout:g?S:(0,R.compact)(S,(0,R.compactType)(this.props),d),activeDrag:b})}),U(this,"onResizeStop",(e,r,n,o)=>{let{e:i,node:a}=o;const{layout:l,oldResizeItem:s}=this.state,{cols:u,allowOverlap:c}=this.props,d=(0,R.getLayoutItem)(l,e),f=c?l:(0,R.compact)(l,(0,R.compactType)(this.props),u);this.props.onResizeStop(f,s,d,null,i,a);const{oldLayout:g}=this.state;this.setState({activeDrag:null,layout:f,oldResizeItem:null,oldLayout:null,resizing:!1}),this.onLayoutMaybeChanged(f,g)}),U(this,"onDragOver",e=>{var v;if(e.preventDefault(),e.stopPropagation(),Xr&&!((v=e.nativeEvent.target)!=null&&v.classList.contains(pr)))return!1;const{droppingItem:r,onDropDragOver:n,margin:o,cols:i,rowHeight:a,maxRows:l,width:s,containerPadding:u,transformScale:c}=this.props,d=n==null?void 0:n(e);if(d===!1)return this.state.droppingDOMNode&&this.removeDroppingPlaceholder(),!1;const f={...r,...d},{layout:g}=this.state,w=e.currentTarget.getBoundingClientRect(),S=e.clientX-w.left,D=e.clientY-w.top,p={left:S/c,top:D/c,e};if(this.state.droppingDOMNode){if(this.state.droppingPosition){const{left:y,top:b}=this.state.droppingPosition;(y!=S||b!=D)&&this.setState({droppingPosition:p})}}else{const y={cols:i,margin:o,maxRows:l,rowHeight:a,containerWidth:s,containerPadding:u||o},b=(0,fi.calcXY)(y,D,S,f.w,f.h);this.setState({droppingDOMNode:ge.createElement("div",{key:f.i}),droppingPosition:p,layout:[...g,{...f,x:b.x,y:b.y,static:!1,isDraggable:!0}]})}}),U(this,"removeDroppingPlaceholder",()=>{const{droppingItem:e,cols:r}=this.props,{layout:n}=this.state,o=(0,R.compact)(n.filter(i=>i.i!==e.i),(0,R.compactType)(this.props),r,this.props.allowOverlap);this.setState({layout:o,droppingDOMNode:null,activeDrag:null,droppingPosition:void 0})}),U(this,"onDragLeave",e=>{e.preventDefault(),e.stopPropagation(),this.dragEnterCounter--,this.dragEnterCounter===0&&this.removeDroppingPlaceholder()}),U(this,"onDragEnter",e=>{e.preventDefault(),e.stopPropagation(),this.dragEnterCounter++}),U(this,"onDrop",e=>{e.preventDefault(),e.stopPropagation();const{droppingItem:r}=this.props,{layout:n}=this.state,o=n.find(i=>i.i===r.i);this.dragEnterCounter=0,this.removeDroppingPlaceholder(),this.props.onDrop(n,o,e)})}componentDidMount(){this.setState({mounted:!0}),this.onLayoutMaybeChanged(this.state.layout,this.props.layout)}static getDerivedStateFromProps(e,r){let n;return r.activeDrag?null:(!(0,gt.deepEqual)(e.layout,r.propsLayout)||e.compactType!==r.compactType?n=e.layout:(0,R.childrenEqual)(e.children,r.children)||(n=r.layout),n?{layout:(0,R.synchronizeLayoutWithChildren)(n,e.children,e.cols,(0,R.compactType)(e),e.allowOverlap),compactType:e.compactType,children:e.children,propsLayout:e.layout}:null)}shouldComponentUpdate(e,r){return this.props.children!==e.children||!(0,R.fastRGLPropsEqual)(this.props,e,gt.deepEqual)||this.state.activeDrag!==r.activeDrag||this.state.mounted!==r.mounted||this.state.droppingPosition!==r.droppingPosition}componentDidUpdate(e,r){if(!this.state.activeDrag){const n=this.state.layout,o=r.layout;this.onLayoutMaybeChanged(n,o)}}containerHeight(){if(!this.props.autoSize)return;const e=(0,R.bottom)(this.state.layout),r=this.props.containerPadding?this.props.containerPadding[1]:this.props.margin[1];return e*this.props.rowHeight+(e-1)*this.props.margin[1]+r*2+"px"}onLayoutMaybeChanged(e,r){r||(r=this.state.layout),(0,gt.deepEqual)(r,e)||this.props.onLayoutChange(e)}placeholder(){const{activeDrag:e}=this.state;if(!e)return null;const{width:r,cols:n,margin:o,containerPadding:i,rowHeight:a,maxRows:l,useCSSTransforms:s,transformScale:u}=this.props;return ge.createElement(fr.default,{w:e.w,h:e.h,x:e.x,y:e.y,i:e.i,className:`react-grid-placeholder ${this.state.resizing?"placeholder-resizing":""}`,containerWidth:r,cols:n,margin:o,containerPadding:i||o,maxRows:l,rowHeight:a,isDraggable:!1,isResizable:!1,isBounded:!1,useCSSTransforms:s,transformScale:u},ge.createElement("div",null))}processGridItem(e,r){if(!e||!e.key)return;const n=(0,R.getLayoutItem)(this.state.layout,String(e.key));if(!n)return null;const{width:o,cols:i,margin:a,containerPadding:l,rowHeight:s,maxRows:u,isDraggable:c,isResizable:d,isBounded:f,useCSSTransforms:g,transformScale:w,draggableCancel:S,draggableHandle:D,resizeHandles:p,resizeHandle:v}=this.props,{mounted:y,droppingPosition:b}=this.state,h=typeof n.isDraggable=="boolean"?n.isDraggable:!n.static&&c,P=typeof n.isResizable=="boolean"?n.isResizable:!n.static&&d,H=n.resizeHandles||p,$=h&&f&&n.isBounded!==!1;return ge.createElement(fr.default,{containerWidth:o,cols:i,margin:a,containerPadding:l||a,maxRows:u,rowHeight:s,cancel:S,handle:D,onDragStop:this.onDragStop,onDragStart:this.onDragStart,onDrag:this.onDrag,onResizeStart:this.onResizeStart,onResize:this.onResize,onResizeStop:this.onResizeStop,isDraggable:h,isResizable:P,isBounded:$,useCSSTransforms:g&&y,usePercentages:!y,transformScale:w,w:n.w,h:n.h,x:n.x,y:n.y,i:n.i,minH:n.minH,minW:n.minW,maxH:n.maxH,maxW:n.maxW,static:n.static,droppingPosition:r?b:void 0,resizeHandles:H,resizeHandle:v},e)}render(){const{className:e,style:r,isDroppable:n,innerRef:o}=this.props,i=(0,di.default)(pr,e),a={height:this.containerHeight(),...r};return ge.createElement("div",{ref:o,className:i,style:a,onDrop:n?this.onDrop:R.noop,onDragLeave:n?this.onDragLeave:R.noop,onDragEnter:n?this.onDragEnter:R.noop,onDragOver:n?this.onDragOver:R.noop},ge.Children.map(this.props.children,l=>this.processGridItem(l)),n&&this.state.droppingDOMNode&&this.processGridItem(this.state.droppingDOMNode,!0),this.placeholder())}}Le.default=ot;U(ot,"displayName","ReactGridLayout");U(ot,"propTypes",pi.default);U(ot,"defaultProps",{autoSize:!0,cols:12,className:"",style:{},draggableHandle:"",draggableCancel:"",containerPadding:null,rowHeight:150,maxRows:1/0,layout:[],margin:[10,10],isBounded:!1,isDraggable:!0,isResizable:!0,allowOverlap:!1,isDroppable:!1,useCSSTransforms:!0,transformScale:1,verticalCompact:!0,compactType:"vertical",preventCollision:!1,droppingItem:{i:"__dropping-elem__",h:1,w:1},resizeHandles:["se"],onLayoutChange:R.noop,onDragStart:R.noop,onDrag:R.noop,onDragStop:R.noop,onResizeStart:R.noop,onResize:R.noop,onResizeStop:R.noop,onDrop:R.noop,onDropDragOver:R.noop});var it={},Se={};Object.defineProperty(Se,"__esModule",{value:!0});Se.findOrGenerateResponsiveLayout=vi;Se.getBreakpointFromWidth=mi;Se.getColsFromBreakpoint=yi;Se.sortBreakpoints=Ft;var ke=E;function mi(t,e){const r=Ft(t);let n=r[0];for(let o=1,i=r.length;o<i;o++){const a=r[o];e>t[a]&&(n=a)}return n}function yi(t,e){if(!e[t])throw new Error("ResponsiveReactGridLayout: `cols` entry for breakpoint "+t+" is missing!");return e[t]}function vi(t,e,r,n,o,i){if(t[r])return(0,ke.cloneLayout)(t[r]);let a=t[n];const l=Ft(e),s=l.slice(l.indexOf(r));for(let u=0,c=s.length;u<c;u++){const d=s[u];if(t[d]){a=t[d];break}}return a=(0,ke.cloneLayout)(a||[]),(0,ke.compact)((0,ke.correctBounds)(a,{cols:o}),i,o)}function Ft(t){return Object.keys(t).sort(function(r,n){return t[r]-t[n]})}Object.defineProperty(it,"__esModule",{value:!0});it.default=void 0;var hr=Ur(L),J=Fr(fe),mt=Ct,xe=E,me=Se,bi=Fr(Le);function Fr(t){return t&&t.__esModule?t:{default:t}}function Ur(t,e){if(typeof WeakMap=="function")var r=new WeakMap,n=new WeakMap;return(Ur=function(o,i){if(!i&&o&&o.__esModule)return o;var a,l,s={__proto__:null,default:o};if(o===null||typeof o!="object"&&typeof o!="function")return s;if(a=i?n:r){if(a.has(o))return a.get(o);a.set(o,s)}for(const u in o)u!=="default"&&{}.hasOwnProperty.call(o,u)&&((l=(a=Object.defineProperty)&&Object.getOwnPropertyDescriptor(o,u))&&(l.get||l.set)?a(s,u,l):s[u]=o[u]);return s})(t,e)}function Ot(){return Ot=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)({}).hasOwnProperty.call(r,n)&&(t[n]=r[n])}return t},Ot.apply(null,arguments)}function Ge(t,e,r){return(e=wi(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function wi(t){var e=Si(t,"string");return typeof e=="symbol"?e:e+""}function Si(t,e){if(typeof t!="object"||!t)return t;var r=t[Symbol.toPrimitive];if(r!==void 0){var n=r.call(t,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}const gr=t=>Object.prototype.toString.call(t);function Ie(t,e){return t==null?null:Array.isArray(t)?t:t[e]}class Ut extends hr.Component{constructor(){super(...arguments),Ge(this,"state",this.generateInitialState()),Ge(this,"onLayoutChange",e=>{this.props.onLayoutChange(e,{...this.props.layouts,[this.state.breakpoint]:e})})}generateInitialState(){const{width:e,breakpoints:r,layouts:n,cols:o}=this.props,i=(0,me.getBreakpointFromWidth)(r,e),a=(0,me.getColsFromBreakpoint)(i,o),l=this.props.verticalCompact===!1?null:this.props.compactType;return{layout:(0,me.findOrGenerateResponsiveLayout)(n,r,i,i,a,l),breakpoint:i,cols:a}}static getDerivedStateFromProps(e,r){if(!(0,mt.deepEqual)(e.layouts,r.layouts)){const{breakpoint:n,cols:o}=r;return{layout:(0,me.findOrGenerateResponsiveLayout)(e.layouts,e.breakpoints,n,n,o,e.compactType),layouts:e.layouts}}return null}componentDidUpdate(e){(this.props.width!=e.width||this.props.breakpoint!==e.breakpoint||!(0,mt.deepEqual)(this.props.breakpoints,e.breakpoints)||!(0,mt.deepEqual)(this.props.cols,e.cols))&&this.onWidthChange(e)}onWidthChange(e){const{breakpoints:r,cols:n,layouts:o,compactType:i}=this.props,a=this.props.breakpoint||(0,me.getBreakpointFromWidth)(this.props.breakpoints,this.props.width),l=this.state.breakpoint,s=(0,me.getColsFromBreakpoint)(a,n),u={...o};if(l!==a||e.breakpoints!==r||e.cols!==n){l in u||(u[l]=(0,xe.cloneLayout)(this.state.layout));let f=(0,me.findOrGenerateResponsiveLayout)(u,r,a,l,s,i);f=(0,xe.synchronizeLayoutWithChildren)(f,this.props.children,s,i,this.props.allowOverlap),u[a]=f,this.props.onBreakpointChange(a,s),this.props.onLayoutChange(f,u),this.setState({breakpoint:a,layout:f,cols:s})}const c=Ie(this.props.margin,a),d=Ie(this.props.containerPadding,a);this.props.onWidthChange(this.props.width,c,s,d)}render(){const{breakpoint:e,breakpoints:r,cols:n,layouts:o,margin:i,containerPadding:a,onBreakpointChange:l,onLayoutChange:s,onWidthChange:u,...c}=this.props;return hr.createElement(bi.default,Ot({},c,{margin:Ie(i,this.state.breakpoint),containerPadding:Ie(a,this.state.breakpoint),onLayoutChange:this.onLayoutChange,layout:this.state.layout,cols:this.state.cols}))}}it.default=Ut;Ge(Ut,"propTypes",{breakpoint:J.default.string,breakpoints:J.default.object,allowOverlap:J.default.bool,cols:J.default.object,margin:J.default.oneOfType([J.default.array,J.default.object]),containerPadding:J.default.oneOfType([J.default.array,J.default.object]),layouts(t,e){if(gr(t[e])!=="[object Object]")throw new Error("Layout property must be an object. Received: "+gr(t[e]));Object.keys(t[e]).forEach(r=>{if(!(r in t.breakpoints))throw new Error("Each key in layouts must align with a key in breakpoints.");(0,xe.validateLayout)(t.layouts[r],"layouts."+r)})},width:J.default.number.isRequired,onBreakpointChange:J.default.func,onLayoutChange:J.default.func,onWidthChange:J.default.func});Ge(Ut,"defaultProps",{breakpoints:{lg:1200,md:996,sm:768,xs:480,xxs:0},cols:{lg:12,md:10,sm:6,xs:4,xxs:2},containerPadding:{lg:null,md:null,sm:null,xs:null,xxs:null},layouts:{},margin:[10,10],allowOverlap:!1,onBreakpointChange:xe.noop,onLayoutChange:xe.noop,onWidthChange:xe.noop});var Vt={},Vr=function(){if(typeof Map<"u")return Map;function t(e,r){var n=-1;return e.some(function(o,i){return o[0]===r?(n=i,!0):!1}),n}return function(){function e(){this.__entries__=[]}return Object.defineProperty(e.prototype,"size",{get:function(){return this.__entries__.length},enumerable:!0,configurable:!0}),e.prototype.get=function(r){var n=t(this.__entries__,r),o=this.__entries__[n];return o&&o[1]},e.prototype.set=function(r,n){var o=t(this.__entries__,r);~o?this.__entries__[o][1]=n:this.__entries__.push([r,n])},e.prototype.delete=function(r){var n=this.__entries__,o=t(n,r);~o&&n.splice(o,1)},e.prototype.has=function(r){return!!~t(this.__entries__,r)},e.prototype.clear=function(){this.__entries__.splice(0)},e.prototype.forEach=function(r,n){n===void 0&&(n=null);for(var o=0,i=this.__entries__;o<i.length;o++){var a=i[o];r.call(n,a[1],a[0])}},e}()}(),xt=typeof window<"u"&&typeof document<"u"&&window.document===document,Ye=function(){return typeof global<"u"&&global.Math===Math?global:typeof self<"u"&&self.Math===Math?self:typeof window<"u"&&window.Math===Math?window:Function("return this")()}(),Ri=function(){return typeof requestAnimationFrame=="function"?requestAnimationFrame.bind(Ye):function(t){return setTimeout(function(){return t(Date.now())},1e3/60)}}(),Di=2;function _i(t,e){var r=!1,n=!1,o=0;function i(){r&&(r=!1,t()),n&&l()}function a(){Ri(i)}function l(){var s=Date.now();if(r){if(s-o<Di)return;n=!0}else r=!0,n=!1,setTimeout(a,e);o=s}return l}var Oi=20,xi=["top","right","bottom","left","width","height","size","weight"],Pi=typeof MutationObserver<"u",Ei=function(){function t(){this.connected_=!1,this.mutationEventsAdded_=!1,this.mutationsObserver_=null,this.observers_=[],this.onTransitionEnd_=this.onTransitionEnd_.bind(this),this.refresh=_i(this.refresh.bind(this),Oi)}return t.prototype.addObserver=function(e){~this.observers_.indexOf(e)||this.observers_.push(e),this.connected_||this.connect_()},t.prototype.removeObserver=function(e){var r=this.observers_,n=r.indexOf(e);~n&&r.splice(n,1),!r.length&&this.connected_&&this.disconnect_()},t.prototype.refresh=function(){var e=this.updateObservers_();e&&this.refresh()},t.prototype.updateObservers_=function(){var e=this.observers_.filter(function(r){return r.gatherActive(),r.hasActive()});return e.forEach(function(r){return r.broadcastActive()}),e.length>0},t.prototype.connect_=function(){!xt||this.connected_||(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),Pi?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener("DOMSubtreeModified",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},t.prototype.disconnect_=function(){!xt||!this.connected_||(document.removeEventListener("transitionend",this.onTransitionEnd_),window.removeEventListener("resize",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener("DOMSubtreeModified",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},t.prototype.onTransitionEnd_=function(e){var r=e.propertyName,n=r===void 0?"":r,o=xi.some(function(i){return!!~n.indexOf(i)});o&&this.refresh()},t.getInstance=function(){return this.instance_||(this.instance_=new t),this.instance_},t.instance_=null,t}(),Kr=function(t,e){for(var r=0,n=Object.keys(e);r<n.length;r++){var o=n[r];Object.defineProperty(t,o,{value:e[o],enumerable:!1,writable:!1,configurable:!0})}return t},Pe=function(t){var e=t&&t.ownerDocument&&t.ownerDocument.defaultView;return e||Ye},Jr=at(0,0,0,0);function Xe(t){return parseFloat(t)||0}function mr(t){for(var e=[],r=1;r<arguments.length;r++)e[r-1]=arguments[r];return e.reduce(function(n,o){var i=t["border-"+o+"-width"];return n+Xe(i)},0)}function Ci(t){for(var e=["top","right","bottom","left"],r={},n=0,o=e;n<o.length;n++){var i=o[n],a=t["padding-"+i];r[i]=Xe(a)}return r}function zi(t){var e=t.getBBox();return at(0,0,e.width,e.height)}function Mi(t){var e=t.clientWidth,r=t.clientHeight;if(!e&&!r)return Jr;var n=Pe(t).getComputedStyle(t),o=Ci(n),i=o.left+o.right,a=o.top+o.bottom,l=Xe(n.width),s=Xe(n.height);if(n.boxSizing==="border-box"&&(Math.round(l+i)!==e&&(l-=mr(n,"left","right")+i),Math.round(s+a)!==r&&(s-=mr(n,"top","bottom")+a)),!ji(t)){var u=Math.round(l+i)-e,c=Math.round(s+a)-r;Math.abs(u)!==1&&(l-=u),Math.abs(c)!==1&&(s-=c)}return at(o.left,o.top,l,s)}var Ti=function(){return typeof SVGGraphicsElement<"u"?function(t){return t instanceof Pe(t).SVGGraphicsElement}:function(t){return t instanceof Pe(t).SVGElement&&typeof t.getBBox=="function"}}();function ji(t){return t===Pe(t).document.documentElement}function Hi(t){return xt?Ti(t)?zi(t):Mi(t):Jr}function Li(t){var e=t.x,r=t.y,n=t.width,o=t.height,i=typeof DOMRectReadOnly<"u"?DOMRectReadOnly:Object,a=Object.create(i.prototype);return Kr(a,{x:e,y:r,width:n,height:o,top:r,right:e+n,bottom:o+r,left:e}),a}function at(t,e,r,n){return{x:t,y:e,width:r,height:n}}var $i=function(){function t(e){this.broadcastWidth=0,this.broadcastHeight=0,this.contentRect_=at(0,0,0,0),this.target=e}return t.prototype.isActive=function(){var e=Hi(this.target);return this.contentRect_=e,e.width!==this.broadcastWidth||e.height!==this.broadcastHeight},t.prototype.broadcastRect=function(){var e=this.contentRect_;return this.broadcastWidth=e.width,this.broadcastHeight=e.height,e},t}(),Wi=function(){function t(e,r){var n=Li(r);Kr(this,{target:e,contentRect:n})}return t}(),Ni=function(){function t(e,r,n){if(this.activeObservations_=[],this.observations_=new Vr,typeof e!="function")throw new TypeError("The callback provided as parameter 1 is not a function.");this.callback_=e,this.controller_=r,this.callbackCtx_=n}return t.prototype.observe=function(e){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if(!(typeof Element>"u"||!(Element instanceof Object))){if(!(e instanceof Pe(e).Element))throw new TypeError('parameter 1 is not of type "Element".');var r=this.observations_;r.has(e)||(r.set(e,new $i(e)),this.controller_.addObserver(this),this.controller_.refresh())}},t.prototype.unobserve=function(e){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if(!(typeof Element>"u"||!(Element instanceof Object))){if(!(e instanceof Pe(e).Element))throw new TypeError('parameter 1 is not of type "Element".');var r=this.observations_;r.has(e)&&(r.delete(e),r.size||this.controller_.removeObserver(this))}},t.prototype.disconnect=function(){this.clearActive(),this.observations_.clear(),this.controller_.removeObserver(this)},t.prototype.gatherActive=function(){var e=this;this.clearActive(),this.observations_.forEach(function(r){r.isActive()&&e.activeObservations_.push(r)})},t.prototype.broadcastActive=function(){if(this.hasActive()){var e=this.callbackCtx_,r=this.activeObservations_.map(function(n){return new Wi(n.target,n.broadcastRect())});this.callback_.call(e,r,e),this.clearActive()}},t.prototype.clearActive=function(){this.activeObservations_.splice(0)},t.prototype.hasActive=function(){return this.activeObservations_.length>0},t}(),Zr=typeof WeakMap<"u"?new WeakMap:new Vr,Qr=function(){function t(e){if(!(this instanceof t))throw new TypeError("Cannot call a class as a function.");if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");var r=Ei.getInstance(),n=new Ni(e,r,this);Zr.set(this,n)}return t}();["observe","unobserve","disconnect"].forEach(function(t){Qr.prototype[t]=function(){var e;return(e=Zr.get(this))[t].apply(e,arguments)}});var qi=function(){return typeof Ye.ResizeObserver<"u"?Ye.ResizeObserver:Qr}();const ki=Object.freeze(Object.defineProperty({__proto__:null,default:qi},Symbol.toStringTag,{value:"Module"})),Ii=yr(ki);Object.defineProperty(Vt,"__esModule",{value:!0});Vt.default=Ui;var Ae=en(L),Ai=Kt(fe),Bi=Kt(Ii),Gi=Kt(Ue);function Kt(t){return t&&t.__esModule?t:{default:t}}function en(t,e){if(typeof WeakMap=="function")var r=new WeakMap,n=new WeakMap;return(en=function(o,i){if(!i&&o&&o.__esModule)return o;var a,l,s={__proto__:null,default:o};if(o===null||typeof o!="object"&&typeof o!="function")return s;if(a=i?n:r){if(a.has(o))return a.get(o);a.set(o,s)}for(const u in o)u!=="default"&&{}.hasOwnProperty.call(o,u)&&((l=(a=Object.defineProperty)&&Object.getOwnPropertyDescriptor(o,u))&&(l.get||l.set)?a(s,u,l):s[u]=o[u]);return s})(t,e)}function Pt(){return Pt=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)({}).hasOwnProperty.call(r,n)&&(t[n]=r[n])}return t},Pt.apply(null,arguments)}function _e(t,e,r){return(e=Yi(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function Yi(t){var e=Xi(t,"string");return typeof e=="symbol"?e:e+""}function Xi(t,e){if(typeof t!="object"||!t)return t;var r=t[Symbol.toPrimitive];if(r!==void 0){var n=r.call(t,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}const Fi="react-grid-layout";function Ui(t){var e;return e=class extends Ae.Component{constructor(){super(...arguments),_e(this,"state",{width:1280}),_e(this,"elementRef",Ae.createRef()),_e(this,"mounted",!1),_e(this,"resizeObserver",void 0)}componentDidMount(){this.mounted=!0,this.resizeObserver=new Bi.default(o=>{if(this.elementRef.current instanceof HTMLElement){const a=o[0].contentRect.width;this.setState({width:a})}});const n=this.elementRef.current;n instanceof HTMLElement&&this.resizeObserver.observe(n)}componentWillUnmount(){this.mounted=!1;const n=this.elementRef.current;n instanceof HTMLElement&&this.resizeObserver.unobserve(n),this.resizeObserver.disconnect()}render(){const{measureBeforeMount:n,...o}=this.props;return n&&!this.mounted?Ae.createElement("div",{className:(0,Gi.default)(this.props.className,Fi),style:this.props.style,ref:this.elementRef}):Ae.createElement(t,Pt({innerRef:this.elementRef},o,this.state))}},_e(e,"defaultProps",{measureBeforeMount:!1}),_e(e,"propTypes",{measureBeforeMount:Ai.default.bool}),e}(function(t){t.exports=Le.default,t.exports.utils=E,t.exports.calculateUtils=ae,t.exports.Responsive=it.default,t.exports.Responsive.utils=Se,t.exports.WidthProvider=Vt.default})(vr);var tn=vr.exports;const Vi=pn(tn),Ki=tn.WidthProvider(Vi),Ji=Fe("div")(({theme:t})=>({"& .react-grid-item":{borderRadius:`${t.shape.borderRadiusMedium}px`},"& .grid-item-drag-handle":{[t.breakpoints.down("md")]:{display:"none"}}})),Zi=({items:t,onLayoutChange:e,cols:r={lg:12,md:12,sm:6,xs:4,xxs:2},rowHeight:n=180})=>{const o=hn(),i=gn(o.breakpoints.down("md")),a=L.useMemo(()=>{if(i){let u=0;return t.map(c=>{const d={i:c.id,x:0,y:u,w:r.xs,h:c.h??4,minW:r.xs,minH:c.minH??3,maxW:r.xs,maxH:c.maxH??8,static:!1};return u+=d.h,d})}return t.map((u,c)=>({i:u.id,x:u.x??c%Math.floor(r.lg/(u.w??4))*(u.w??4),y:u.y??Math.floor(c/Math.floor(r.lg/(u.w??4)))*(u.h??4),w:u.w??4,h:u.h??4,minW:u.minW??4,minH:u.minH??3,maxW:u.maxW??12,maxH:u.maxH??8,static:u.static??!1}))},[t,r,i]),l=L.useMemo(()=>t.map(u=>B.jsx("div",{children:u.component},u.id)),[t]),s=L.useCallback(u=>{i||e==null||e(u)},[e,i]);return B.jsx(Ji,{children:B.jsx(Ki,{className:"impact-metrics-grid",layout:a,cols:i?r.xs:r.lg,rowHeight:n,margin:[Number.parseInt(o.spacing(2)),Number.parseInt(o.spacing(2))],containerPadding:[0,0],isDraggable:!i,isResizable:!i,onLayoutChange:s,resizeHandles:["se"],draggableHandle:".grid-item-drag-handle",compactType:i?null:"vertical",preventCollision:!1,useCSSTransforms:!0,autoSize:!0,allowOverlap:!1,children:l})})},Qi=()=>{const t="api/admin/impact-metrics/settings",{data:e,refetch:r,loading:n,error:o}=mn(er(t),()=>yn(er(t),"Impact metrics settings"));return{settings:e||{charts:[],layout:[]},refetch:r,loading:n,error:o}},ea=()=>{const{makeRequest:t,createRequest:e,errors:r,loading:n}=vn({propagateErrors:!0});return{updateSettings:L.useCallback(async i=>{const l=e("api/admin/impact-metrics/settings",{method:"PUT",body:JSON.stringify(i)},"updateImpactMetricsSettings");return t(l.caller,l.id)},[t,e]),errors:r,loading:n}},ta=()=>{const{settings:t,loading:e,error:r,refetch:n}=Qi(),{updateSettings:o,loading:i,errors:a}=ea(),l=L.useCallback(async d=>{const f={...d,id:`chart-${Date.now()}-${Math.random().toString(36).substr(2,9)}`},g=t.layout.length>0?Math.max(...t.layout.map(S=>S.y+S.h)):0,w={charts:[...t.charts,f],layout:[...t.layout,{i:f.id,x:0,y:g,w:6,h:4,minW:4,minH:2,maxW:12,maxH:8}]};await o(w),n()},[t,o,n]),s=L.useCallback(async(d,f)=>{const w={charts:t.charts.map(S=>S.id===d?{...S,...f}:S),layout:t.layout};await o(w),n()},[t,o,n]),u=L.useCallback(async d=>{const f={charts:t.charts.filter(g=>g.id!==d),layout:t.layout.filter(g=>g.i!==d)};await o(f),n()},[t,o,n]),c=L.useCallback(async d=>{const f={charts:t.charts,layout:d};await o(f),n()},[t,o,n]);return{charts:t.charts||[],layout:t.layout||[],loading:e||i,error:r||Object.keys(a).length>0?a:void 0,addChart:l,updateChart:s,deleteChart:u,updateLayout:c}},ra=Fe(bn)(({theme:t})=>({textAlign:"center",padding:t.spacing(8),backgroundColor:t.palette.background.default,borderRadius:`${t.shape.borderRadiusMedium}px`,boxShadow:"none"})),na=()=>{const[t,e]=L.useState(!1),[r,n]=L.useState(),{setToastApiError:o}=wn(),{charts:i,layout:a,loading:l,error:s,addChart:u,updateChart:c,deleteChart:d,updateLayout:f}=ta(),{metadata:g,loading:w,error:S}=Rn(),D=L.useMemo(()=>g!=null&&g.series?Object.entries(g.series).map(([T,N])=>({name:T,...N})):[],[g]),p=()=>{n(void 0),e(!0)},v=T=>{n(T),e(!0)},y=async T=>{try{r?await c(r.id,T):await u(T),e(!1)}catch(N){o(lt(N))}},b=L.useCallback(async T=>{try{await f(T)}catch(N){o(lt(N))}},[f,o]),h=L.useCallback(async T=>{try{await d(T)}catch(N){o(lt(N))}},[d]),P=L.useMemo(()=>i.map((T,N)=>{const G=a==null?void 0:a.find(Ee=>Ee.i===T.id);return{id:T.id,component:B.jsx(Dn,{config:T,onEdit:v,onDelete:h}),w:(G==null?void 0:G.w)??6,h:(G==null?void 0:G.h)??4,x:G==null?void 0:G.x,y:G==null?void 0:G.y,minW:4,minH:2,maxW:12,maxH:8}}),[i,a,v,h]),H=S||s,$=w||l;return B.jsxs(B.Fragment,{children:[B.jsx(Sn,{title:"Impact Metrics",titleElement:B.jsx(ut,{variant:"h1",component:"span",children:"Impact Metrics"}),actions:B.jsx(tr,{variant:"contained",startIcon:B.jsx(rr,{}),onClick:p,disabled:$||!!H,children:"Add Chart"})}),i.length===0&&!$&&!H?B.jsxs(ra,{children:[B.jsx(ut,{variant:"h6",gutterBottom:!0,children:"No charts configured"}),B.jsx(ut,{variant:"body2",color:"text.secondary",sx:{mb:3},children:"Add your first impact metrics chart to start tracking performance with a beautiful drag-and-drop grid layout"}),B.jsx(tr,{variant:"contained",startIcon:B.jsx(rr,{}),onClick:p,disabled:$||!!H,children:"Add Chart"})]}):i.length>0?B.jsx(Zi,{items:P,onLayoutChange:b}):null,B.jsx(_n,{open:t,onClose:()=>e(!1),onSave:y,initialConfig:r,metricSeries:D,loading:w||l})]})},oa=Fe("div")(({theme:t})=>({paddingTop:t.spacing(2)})),ia=Fe("div")(({theme:t})=>({display:"flex",flexDirection:"column",gap:t.spacing(4),paddingBottom:t.spacing(4)})),ca=()=>B.jsx(oa,{children:B.jsx(ia,{children:B.jsx(na,{})})});export{ca as ImpactMetricsPage};