unleash-server 7.2.3 → 7.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1324) hide show
  1. package/README.md +33 -33
  2. package/dist/lib/addons/datadog.js +1 -1
  3. package/dist/lib/addons/datadog.js.map +1 -1
  4. package/dist/lib/addons/datadog.test.js +11 -11
  5. package/dist/lib/addons/datadog.test.js.map +1 -1
  6. package/dist/lib/addons/feature-event-formatter-md-events.d.ts.map +1 -1
  7. package/dist/lib/addons/feature-event-formatter-md-events.js +11 -1
  8. package/dist/lib/addons/feature-event-formatter-md-events.js.map +1 -1
  9. package/dist/lib/addons/feature-event-formatter-md.test.js +8 -6
  10. package/dist/lib/addons/feature-event-formatter-md.test.js.map +1 -1
  11. package/dist/lib/addons/new-relic-definition.js +1 -1
  12. package/dist/lib/addons/new-relic-definition.js.map +1 -1
  13. package/dist/lib/addons/new-relic.js +4 -4
  14. package/dist/lib/addons/new-relic.js.map +1 -1
  15. package/dist/lib/addons/new-relic.test.js +4 -4
  16. package/dist/lib/addons/new-relic.test.js.map +1 -1
  17. package/dist/lib/addons/slack-app-definition.d.ts.map +1 -1
  18. package/dist/lib/addons/slack-app-definition.js +3 -1
  19. package/dist/lib/addons/slack-app-definition.js.map +1 -1
  20. package/dist/lib/addons/slack-app.test.js +1 -2
  21. package/dist/lib/addons/slack-app.test.js.map +1 -1
  22. package/dist/lib/addons/slack.js +1 -1
  23. package/dist/lib/addons/slack.js.map +1 -1
  24. package/dist/lib/addons/slack.test.js +1 -1
  25. package/dist/lib/addons/slack.test.js.map +1 -1
  26. package/dist/lib/addons/teams-definition.d.ts.map +1 -1
  27. package/dist/lib/addons/teams-definition.js +3 -1
  28. package/dist/lib/addons/teams-definition.js.map +1 -1
  29. package/dist/lib/addons/teams.js +1 -1
  30. package/dist/lib/addons/teams.js.map +1 -1
  31. package/dist/lib/addons/teams.test.js +1 -1
  32. package/dist/lib/addons/teams.test.js.map +1 -1
  33. package/dist/lib/addons/webhook-definition.d.ts.map +1 -1
  34. package/dist/lib/addons/webhook-definition.js +4 -2
  35. package/dist/lib/addons/webhook-definition.js.map +1 -1
  36. package/dist/lib/addons/webhook.js +1 -1
  37. package/dist/lib/addons/webhook.js.map +1 -1
  38. package/dist/lib/addons/webhook.test.js +3 -3
  39. package/dist/lib/addons/webhook.test.js.map +1 -1
  40. package/dist/lib/app.js +2 -2
  41. package/dist/lib/app.js.map +1 -1
  42. package/dist/lib/app.test.js +2 -2
  43. package/dist/lib/app.test.js.map +1 -1
  44. package/dist/lib/create-config.d.ts.map +1 -1
  45. package/dist/lib/create-config.js +8 -0
  46. package/dist/lib/create-config.js.map +1 -1
  47. package/dist/lib/create-config.test.js +9 -2
  48. package/dist/lib/create-config.test.js.map +1 -1
  49. package/dist/lib/db/access-store.d.ts +1 -2
  50. package/dist/lib/db/access-store.d.ts.map +1 -1
  51. package/dist/lib/db/access-store.js +2 -3
  52. package/dist/lib/db/access-store.js.map +1 -1
  53. package/dist/lib/db/access-store.test.js +5 -1
  54. package/dist/lib/db/access-store.test.js.map +1 -1
  55. package/dist/lib/db/api-token-store.d.ts +1 -2
  56. package/dist/lib/db/api-token-store.d.ts.map +1 -1
  57. package/dist/lib/db/api-token-store.js +1 -2
  58. package/dist/lib/db/api-token-store.js.map +1 -1
  59. package/dist/lib/db/client-applications-store.d.ts.map +1 -1
  60. package/dist/lib/db/client-applications-store.js +32 -2
  61. package/dist/lib/db/client-applications-store.js.map +1 -1
  62. package/dist/lib/db/favorite-features-store.d.ts +1 -3
  63. package/dist/lib/db/favorite-features-store.d.ts.map +1 -1
  64. package/dist/lib/db/favorite-features-store.js +1 -3
  65. package/dist/lib/db/favorite-features-store.js.map +1 -1
  66. package/dist/lib/db/favorite-projects-store.d.ts +2 -3
  67. package/dist/lib/db/favorite-projects-store.d.ts.map +1 -1
  68. package/dist/lib/db/favorite-projects-store.js +20 -4
  69. package/dist/lib/db/favorite-projects-store.js.map +1 -1
  70. package/dist/lib/db/feature-environment-store.d.ts +1 -2
  71. package/dist/lib/db/feature-environment-store.d.ts.map +1 -1
  72. package/dist/lib/db/feature-environment-store.js +1 -2
  73. package/dist/lib/db/feature-environment-store.js.map +1 -1
  74. package/dist/lib/db/feature-type-store.d.ts +1 -2
  75. package/dist/lib/db/feature-type-store.d.ts.map +1 -1
  76. package/dist/lib/db/feature-type-store.js +1 -2
  77. package/dist/lib/db/feature-type-store.js.map +1 -1
  78. package/dist/lib/db/project-stats-store.d.ts +1 -2
  79. package/dist/lib/db/project-stats-store.d.ts.map +1 -1
  80. package/dist/lib/db/project-stats-store.js +1 -2
  81. package/dist/lib/db/project-stats-store.js.map +1 -1
  82. package/dist/lib/db/public-signup-token-store.d.ts +1 -2
  83. package/dist/lib/db/public-signup-token-store.d.ts.map +1 -1
  84. package/dist/lib/db/public-signup-token-store.js +1 -2
  85. package/dist/lib/db/public-signup-token-store.js.map +1 -1
  86. package/dist/lib/db/reset-token-store.d.ts +2 -3
  87. package/dist/lib/db/reset-token-store.d.ts.map +1 -1
  88. package/dist/lib/db/reset-token-store.js +31 -6
  89. package/dist/lib/db/reset-token-store.js.map +1 -1
  90. package/dist/lib/db/user-feedback-store.d.ts +1 -1
  91. package/dist/lib/db/user-feedback-store.d.ts.map +1 -1
  92. package/dist/lib/db/user-feedback-store.js +1 -1
  93. package/dist/lib/db/user-feedback-store.js.map +1 -1
  94. package/dist/lib/db/user-splash-store.d.ts +1 -1
  95. package/dist/lib/db/user-splash-store.d.ts.map +1 -1
  96. package/dist/lib/db/user-splash-store.js +1 -1
  97. package/dist/lib/db/user-splash-store.js.map +1 -1
  98. package/dist/lib/default-custom-auth-deny-all.js +1 -1
  99. package/dist/lib/default-custom-auth-deny-all.js.map +1 -1
  100. package/dist/lib/domain/project-health/project-health.js +1 -1
  101. package/dist/lib/domain/project-health/project-health.js.map +1 -1
  102. package/dist/lib/error/unleash-error.test.js +4 -1
  103. package/dist/lib/error/unleash-error.test.js.map +1 -1
  104. package/dist/lib/events/index.d.ts +6 -1
  105. package/dist/lib/events/index.d.ts.map +1 -1
  106. package/dist/lib/events/index.js +10 -0
  107. package/dist/lib/events/index.js.map +1 -1
  108. package/dist/lib/features/access/createAccessService.d.ts +5 -1
  109. package/dist/lib/features/access/createAccessService.d.ts.map +1 -1
  110. package/dist/lib/features/access/createAccessService.js +2 -2
  111. package/dist/lib/features/access/createAccessService.js.map +1 -1
  112. package/dist/lib/features/change-request-segment-usage-service/change-request-segment-usage-read-model.test.js.map +1 -1
  113. package/dist/lib/features/client-feature-toggles/client-feature-toggle-service.d.ts +1 -2
  114. package/dist/lib/features/client-feature-toggles/client-feature-toggle-service.d.ts.map +1 -1
  115. package/dist/lib/features/client-feature-toggles/client-feature-toggle-service.js +1 -2
  116. package/dist/lib/features/client-feature-toggles/client-feature-toggle-service.js.map +1 -1
  117. package/dist/lib/features/client-feature-toggles/client-feature-toggle.controller.d.ts.map +1 -1
  118. package/dist/lib/features/client-feature-toggles/client-feature-toggle.controller.js +4 -2
  119. package/dist/lib/features/client-feature-toggles/client-feature-toggle.controller.js.map +1 -1
  120. package/dist/lib/features/client-feature-toggles/delta/delta-cache.test.js +1 -1
  121. package/dist/lib/features/client-feature-toggles/delta/delta-cache.test.js.map +1 -1
  122. package/dist/lib/features/client-feature-toggles/tests/client-feature-toggles.e2e.test.js +1 -1
  123. package/dist/lib/features/client-feature-toggles/tests/client-feature-toggles.e2e.test.js.map +1 -1
  124. package/dist/lib/features/context/context-field-store.d.ts +1 -3
  125. package/dist/lib/features/context/context-field-store.d.ts.map +1 -1
  126. package/dist/lib/features/context/context-field-store.js +1 -3
  127. package/dist/lib/features/context/context-field-store.js.map +1 -1
  128. package/dist/lib/features/context/context-service.d.ts +1 -3
  129. package/dist/lib/features/context/context-service.d.ts.map +1 -1
  130. package/dist/lib/features/context/context-service.js +2 -4
  131. package/dist/lib/features/context/context-service.js.map +1 -1
  132. package/dist/lib/features/context/context.d.ts +1 -2
  133. package/dist/lib/features/context/context.d.ts.map +1 -1
  134. package/dist/lib/features/context/context.js +5 -6
  135. package/dist/lib/features/context/context.js.map +1 -1
  136. package/dist/lib/features/dependent-features/fake-dependent-features-read-model.d.ts +1 -1
  137. package/dist/lib/features/dependent-features/fake-dependent-features-read-model.d.ts.map +1 -1
  138. package/dist/lib/features/dependent-features/fake-dependent-features-read-model.js +1 -1
  139. package/dist/lib/features/dependent-features/fake-dependent-features-read-model.js.map +1 -1
  140. package/dist/lib/features/environments/environments-controller.d.ts +1 -2
  141. package/dist/lib/features/environments/environments-controller.d.ts.map +1 -1
  142. package/dist/lib/features/environments/environments-controller.js +2 -3
  143. package/dist/lib/features/environments/environments-controller.js.map +1 -1
  144. package/dist/lib/features/events/event-created-by-migration.test.js +3 -3
  145. package/dist/lib/features/events/event-created-by-migration.test.js.map +1 -1
  146. package/dist/lib/features/events/event-search-controller.js +1 -1
  147. package/dist/lib/features/events/event-search-controller.js.map +1 -1
  148. package/dist/lib/features/events/event-service.test.js.map +1 -1
  149. package/dist/lib/features/events/event-store.d.ts.map +1 -1
  150. package/dist/lib/features/events/event-store.js +8 -6
  151. package/dist/lib/features/events/event-store.js.map +1 -1
  152. package/dist/lib/features/export-import-toggles/export-import-api-usage.test.js +1 -1
  153. package/dist/lib/features/export-import-toggles/export-import-api-usage.test.js.map +1 -1
  154. package/dist/lib/features/export-import-toggles/export-import-controller.d.ts +0 -1
  155. package/dist/lib/features/export-import-toggles/export-import-controller.d.ts.map +1 -1
  156. package/dist/lib/features/export-import-toggles/export-import-controller.js +5 -6
  157. package/dist/lib/features/export-import-toggles/export-import-controller.js.map +1 -1
  158. package/dist/lib/features/feature-lifecycle/fake-feature-lifecycle-read-model.d.ts +1 -1
  159. package/dist/lib/features/feature-lifecycle/fake-feature-lifecycle-read-model.d.ts.map +1 -1
  160. package/dist/lib/features/feature-lifecycle/fake-feature-lifecycle-read-model.js +1 -1
  161. package/dist/lib/features/feature-lifecycle/fake-feature-lifecycle-read-model.js.map +1 -1
  162. package/dist/lib/features/feature-lifecycle/fake-feature-lifecycle-store.js +1 -1
  163. package/dist/lib/features/feature-lifecycle/fake-feature-lifecycle-store.js.map +1 -1
  164. package/dist/lib/features/feature-lifecycle/feature-lifecycle-store.d.ts.map +1 -1
  165. package/dist/lib/features/feature-lifecycle/feature-lifecycle-store.js +3 -2
  166. package/dist/lib/features/feature-lifecycle/feature-lifecycle-store.js.map +1 -1
  167. package/dist/lib/features/feature-lifecycle/feature-lifecycle.e2e.test.js +4 -1
  168. package/dist/lib/features/feature-lifecycle/feature-lifecycle.e2e.test.js.map +1 -1
  169. package/dist/lib/features/feature-links/fake-feature-links-read-model.d.ts +1 -1
  170. package/dist/lib/features/feature-links/fake-feature-links-read-model.d.ts.map +1 -1
  171. package/dist/lib/features/feature-links/fake-feature-links-read-model.js +1 -1
  172. package/dist/lib/features/feature-links/fake-feature-links-read-model.js.map +1 -1
  173. package/dist/lib/features/feature-links/feature-link-service.js +2 -2
  174. package/dist/lib/features/feature-links/feature-link-service.js.map +1 -1
  175. package/dist/lib/features/feature-naming-pattern/feature-naming-validation.test.js +10 -2
  176. package/dist/lib/features/feature-naming-pattern/feature-naming-validation.test.js.map +1 -1
  177. package/dist/lib/features/feature-search/fake-feature-search-store.d.ts +1 -1
  178. package/dist/lib/features/feature-search/fake-feature-search-store.d.ts.map +1 -1
  179. package/dist/lib/features/feature-search/fake-feature-search-store.js +1 -1
  180. package/dist/lib/features/feature-search/fake-feature-search-store.js.map +1 -1
  181. package/dist/lib/features/feature-search/feature-search-service.d.ts +1 -2
  182. package/dist/lib/features/feature-search/feature-search-service.d.ts.map +1 -1
  183. package/dist/lib/features/feature-search/feature-search-service.js +1 -2
  184. package/dist/lib/features/feature-search/feature-search-service.js.map +1 -1
  185. package/dist/lib/features/feature-search/feature-search-store.d.ts +1 -3
  186. package/dist/lib/features/feature-search/feature-search-store.d.ts.map +1 -1
  187. package/dist/lib/features/feature-search/feature-search-store.js +1 -3
  188. package/dist/lib/features/feature-search/feature-search-store.js.map +1 -1
  189. package/dist/lib/features/feature-search/feature.search.e2e.test.js +1 -1
  190. package/dist/lib/features/feature-search/feature.search.e2e.test.js.map +1 -1
  191. package/dist/lib/features/feature-toggle/archive-feature-toggle-controller.js +1 -1
  192. package/dist/lib/features/feature-toggle/archive-feature-toggle-controller.js.map +1 -1
  193. package/dist/lib/features/feature-toggle/converters/feature-toggle-row-converter.d.ts +3 -4
  194. package/dist/lib/features/feature-toggle/converters/feature-toggle-row-converter.d.ts.map +1 -1
  195. package/dist/lib/features/feature-toggle/converters/feature-toggle-row-converter.js +2 -3
  196. package/dist/lib/features/feature-toggle/converters/feature-toggle-row-converter.js.map +1 -1
  197. package/dist/lib/features/feature-toggle/createFeatureToggleService.d.ts.map +1 -1
  198. package/dist/lib/features/feature-toggle/createFeatureToggleService.js +1 -12
  199. package/dist/lib/features/feature-toggle/createFeatureToggleService.js.map +1 -1
  200. package/dist/lib/features/feature-toggle/fake-feature-collaborators-read-model.d.ts +1 -1
  201. package/dist/lib/features/feature-toggle/fake-feature-collaborators-read-model.d.ts.map +1 -1
  202. package/dist/lib/features/feature-toggle/fake-feature-collaborators-read-model.js +1 -1
  203. package/dist/lib/features/feature-toggle/fake-feature-collaborators-read-model.js.map +1 -1
  204. package/dist/lib/features/feature-toggle/fakes/fake-feature-strategies-store.d.ts +5 -5
  205. package/dist/lib/features/feature-toggle/fakes/fake-feature-strategies-store.d.ts.map +1 -1
  206. package/dist/lib/features/feature-toggle/fakes/fake-feature-strategies-store.js +6 -6
  207. package/dist/lib/features/feature-toggle/fakes/fake-feature-strategies-store.js.map +1 -1
  208. package/dist/lib/features/feature-toggle/fakes/fake-feature-toggle-store.d.ts +8 -8
  209. package/dist/lib/features/feature-toggle/fakes/fake-feature-toggle-store.d.ts.map +1 -1
  210. package/dist/lib/features/feature-toggle/fakes/fake-feature-toggle-store.js +10 -12
  211. package/dist/lib/features/feature-toggle/fakes/fake-feature-toggle-store.js.map +1 -1
  212. package/dist/lib/features/feature-toggle/fakes/fake-features-read-model.d.ts +1 -1
  213. package/dist/lib/features/feature-toggle/fakes/fake-features-read-model.d.ts.map +1 -1
  214. package/dist/lib/features/feature-toggle/fakes/fake-features-read-model.js +1 -1
  215. package/dist/lib/features/feature-toggle/fakes/fake-features-read-model.js.map +1 -1
  216. package/dist/lib/features/feature-toggle/feature-toggle-controller.d.ts.map +1 -1
  217. package/dist/lib/features/feature-toggle/feature-toggle-controller.js +4 -3
  218. package/dist/lib/features/feature-toggle/feature-toggle-controller.js.map +1 -1
  219. package/dist/lib/features/feature-toggle/feature-toggle-service.d.ts +3 -10
  220. package/dist/lib/features/feature-toggle/feature-toggle-service.d.ts.map +1 -1
  221. package/dist/lib/features/feature-toggle/feature-toggle-service.js +10 -26
  222. package/dist/lib/features/feature-toggle/feature-toggle-service.js.map +1 -1
  223. package/dist/lib/features/feature-toggle/feature-toggle-store.d.ts.map +1 -1
  224. package/dist/lib/features/feature-toggle/feature-toggle-store.js +7 -3
  225. package/dist/lib/features/feature-toggle/feature-toggle-store.js.map +1 -1
  226. package/dist/lib/features/feature-toggle/feature-toggle-strategies-store.d.ts +1 -3
  227. package/dist/lib/features/feature-toggle/feature-toggle-strategies-store.d.ts.map +1 -1
  228. package/dist/lib/features/feature-toggle/feature-toggle-strategies-store.js +1 -3
  229. package/dist/lib/features/feature-toggle/feature-toggle-strategies-store.js.map +1 -1
  230. package/dist/lib/features/feature-toggle/legacy/feature-toggle-legacy-controller.d.ts +0 -1
  231. package/dist/lib/features/feature-toggle/legacy/feature-toggle-legacy-controller.d.ts.map +1 -1
  232. package/dist/lib/features/feature-toggle/legacy/feature-toggle-legacy-controller.js +0 -1
  233. package/dist/lib/features/feature-toggle/legacy/feature-toggle-legacy-controller.js.map +1 -1
  234. package/dist/lib/features/feature-toggle/tests/feature-toggle-service.e2e.test.js +1 -1
  235. package/dist/lib/features/feature-toggle/tests/feature-toggle-service.e2e.test.js.map +1 -1
  236. package/dist/lib/features/feature-toggle/tests/feature-toggle-store.e2e.test.js +1 -1
  237. package/dist/lib/features/feature-toggle/tests/feature-toggle-store.e2e.test.js.map +1 -1
  238. package/dist/lib/features/feature-toggle/tests/feature-toggle-strategies-store.e2e.test.js +2 -2
  239. package/dist/lib/features/feature-toggle/tests/feature-toggle-strategies-store.e2e.test.js.map +1 -1
  240. package/dist/lib/features/feature-toggle/tests/feature-toggles.e2e.test.js +3 -3
  241. package/dist/lib/features/feature-toggle/tests/feature-toggles.e2e.test.js.map +1 -1
  242. package/dist/lib/features/frontend-api/frontend-api-controller.js +2 -2
  243. package/dist/lib/features/frontend-api/frontend-api-controller.js.map +1 -1
  244. package/dist/lib/features/frontend-api/frontend-api-repository.d.ts +1 -3
  245. package/dist/lib/features/frontend-api/frontend-api-repository.d.ts.map +1 -1
  246. package/dist/lib/features/frontend-api/frontend-api-repository.js +6 -6
  247. package/dist/lib/features/frontend-api/frontend-api-repository.js.map +1 -1
  248. package/dist/lib/features/frontend-api/frontend-api-service.d.ts.map +1 -1
  249. package/dist/lib/features/frontend-api/frontend-api-service.js +3 -1
  250. package/dist/lib/features/frontend-api/frontend-api-service.js.map +1 -1
  251. package/dist/lib/features/frontend-api/frontend-api-service.test.js +2 -2
  252. package/dist/lib/features/frontend-api/frontend-api.concurrency.e2e.test.js +1 -1
  253. package/dist/lib/features/frontend-api/frontend-api.concurrency.e2e.test.js.map +1 -1
  254. package/dist/lib/features/frontend-api/global-frontend-api-cache.d.ts +0 -2
  255. package/dist/lib/features/frontend-api/global-frontend-api-cache.d.ts.map +1 -1
  256. package/dist/lib/features/frontend-api/global-frontend-api-cache.js +0 -7
  257. package/dist/lib/features/frontend-api/global-frontend-api-cache.js.map +1 -1
  258. package/dist/lib/features/frontend-api/proxy-repository.js +1 -1
  259. package/dist/lib/features/frontend-api/proxy-repository.js.map +1 -1
  260. package/dist/lib/features/instance-stats/createInstanceStatsService.d.ts.map +1 -1
  261. package/dist/lib/features/instance-stats/createInstanceStatsService.js +8 -2
  262. package/dist/lib/features/instance-stats/createInstanceStatsService.js.map +1 -1
  263. package/dist/lib/features/instance-stats/getEdgeInstances.d.ts +6 -0
  264. package/dist/lib/features/instance-stats/getEdgeInstances.d.ts.map +1 -0
  265. package/dist/lib/features/instance-stats/getEdgeInstances.e2e.test.d.ts +2 -0
  266. package/dist/lib/features/instance-stats/getEdgeInstances.e2e.test.d.ts.map +1 -0
  267. package/dist/lib/features/instance-stats/getEdgeInstances.e2e.test.js +146 -0
  268. package/dist/lib/features/instance-stats/getEdgeInstances.e2e.test.js.map +1 -0
  269. package/dist/lib/features/instance-stats/getEdgeInstances.js +48 -0
  270. package/dist/lib/features/instance-stats/getEdgeInstances.js.map +1 -0
  271. package/dist/lib/features/instance-stats/getProductionChanges.e2e.test.js +2 -2
  272. package/dist/lib/features/instance-stats/getProductionChanges.e2e.test.js.map +1 -1
  273. package/dist/lib/features/instance-stats/getReadOnlyUsers.d.ts +5 -0
  274. package/dist/lib/features/instance-stats/getReadOnlyUsers.d.ts.map +1 -0
  275. package/dist/lib/features/instance-stats/getReadOnlyUsers.e2e.test.d.ts +2 -0
  276. package/dist/lib/features/instance-stats/getReadOnlyUsers.e2e.test.d.ts.map +1 -0
  277. package/dist/lib/features/instance-stats/getReadOnlyUsers.e2e.test.js +36 -0
  278. package/dist/lib/features/instance-stats/getReadOnlyUsers.e2e.test.js.map +1 -0
  279. package/dist/lib/features/instance-stats/getReadOnlyUsers.js +24 -0
  280. package/dist/lib/features/instance-stats/getReadOnlyUsers.js.map +1 -0
  281. package/dist/lib/features/instance-stats/instance-stats-service.d.ts +6 -2
  282. package/dist/lib/features/instance-stats/instance-stats-service.d.ts.map +1 -1
  283. package/dist/lib/features/instance-stats/instance-stats-service.js +9 -4
  284. package/dist/lib/features/instance-stats/instance-stats-service.js.map +1 -1
  285. package/dist/lib/features/instance-stats/instance-stats-service.test.js +9 -6
  286. package/dist/lib/features/instance-stats/instance-stats-service.test.js.map +1 -1
  287. package/dist/lib/features/integration-events/integration-events-service.d.ts +1 -3
  288. package/dist/lib/features/integration-events/integration-events-service.d.ts.map +1 -1
  289. package/dist/lib/features/integration-events/integration-events-service.js +1 -3
  290. package/dist/lib/features/integration-events/integration-events-service.js.map +1 -1
  291. package/dist/lib/features/maintenance/maintenance-controller.d.ts +1 -1
  292. package/dist/lib/features/maintenance/maintenance-controller.d.ts.map +1 -1
  293. package/dist/lib/features/maintenance/maintenance-controller.js +1 -1
  294. package/dist/lib/features/maintenance/maintenance-controller.js.map +1 -1
  295. package/dist/lib/features/maintenance/maintenance-service.js +1 -1
  296. package/dist/lib/features/maintenance/maintenance-service.js.map +1 -1
  297. package/dist/lib/features/metrics/client-metrics/client-metrics-service.e2e.test.js +10 -10
  298. package/dist/lib/features/metrics/client-metrics/client-metrics-service.e2e.test.js.map +1 -1
  299. package/dist/lib/features/metrics/client-metrics/client-metrics-store-v2.d.ts +1 -3
  300. package/dist/lib/features/metrics/client-metrics/client-metrics-store-v2.d.ts.map +1 -1
  301. package/dist/lib/features/metrics/client-metrics/client-metrics-store-v2.js +2 -4
  302. package/dist/lib/features/metrics/client-metrics/client-metrics-store-v2.js.map +1 -1
  303. package/dist/lib/features/metrics/client-metrics/client-metrics.d.ts +0 -1
  304. package/dist/lib/features/metrics/client-metrics/client-metrics.d.ts.map +1 -1
  305. package/dist/lib/features/metrics/client-metrics/client-metrics.js +0 -1
  306. package/dist/lib/features/metrics/client-metrics/client-metrics.js.map +1 -1
  307. package/dist/lib/features/metrics/client-metrics/fake-client-metrics-store-v2.d.ts +10 -10
  308. package/dist/lib/features/metrics/client-metrics/fake-client-metrics-store-v2.d.ts.map +1 -1
  309. package/dist/lib/features/metrics/client-metrics/fake-client-metrics-store-v2.js +13 -11
  310. package/dist/lib/features/metrics/client-metrics/fake-client-metrics-store-v2.js.map +1 -1
  311. package/dist/lib/features/metrics/client-metrics/metrics-service-v2.d.ts +1 -1
  312. package/dist/lib/features/metrics/client-metrics/metrics-service-v2.d.ts.map +1 -1
  313. package/dist/lib/features/metrics/client-metrics/metrics-service-v2.js +3 -3
  314. package/dist/lib/features/metrics/client-metrics/metrics-service-v2.js.map +1 -1
  315. package/dist/lib/features/metrics/client-metrics/metrics-service-v2.test.js +2 -2
  316. package/dist/lib/features/metrics/client-metrics/metrics-service-v2.test.js.map +1 -1
  317. package/dist/lib/features/metrics/custom/custom-metrics-controller.d.ts +2 -2
  318. package/dist/lib/features/metrics/custom/custom-metrics-controller.d.ts.map +1 -1
  319. package/dist/lib/features/metrics/custom/custom-metrics-controller.js +2 -2
  320. package/dist/lib/features/metrics/custom/custom-metrics-controller.js.map +1 -1
  321. package/dist/lib/features/metrics/impact/metrics-translator.js +3 -1
  322. package/dist/lib/features/metrics/impact/metrics-translator.js.map +1 -1
  323. package/dist/lib/features/metrics/instance/instance-service.d.ts.map +1 -1
  324. package/dist/lib/features/metrics/instance/instance-service.js +1 -0
  325. package/dist/lib/features/metrics/instance/instance-service.js.map +1 -1
  326. package/dist/lib/features/metrics/instance/instance-service.test.js +2 -2
  327. package/dist/lib/features/metrics/instance/instance-service.test.js.map +1 -1
  328. package/dist/lib/features/metrics/instance/metrics.d.ts +1 -0
  329. package/dist/lib/features/metrics/instance/metrics.d.ts.map +1 -1
  330. package/dist/lib/features/metrics/instance/metrics.js +22 -6
  331. package/dist/lib/features/metrics/instance/metrics.js.map +1 -1
  332. package/dist/lib/features/metrics/last-seen/fake-last-seen-read-model.d.ts +1 -1
  333. package/dist/lib/features/metrics/last-seen/fake-last-seen-read-model.d.ts.map +1 -1
  334. package/dist/lib/features/metrics/last-seen/fake-last-seen-read-model.js +1 -1
  335. package/dist/lib/features/metrics/last-seen/fake-last-seen-read-model.js.map +1 -1
  336. package/dist/lib/features/metrics/shared/schema.test.js +0 -1
  337. package/dist/lib/features/metrics/shared/schema.test.js.map +1 -1
  338. package/dist/lib/features/metrics/sizes/fake-largest-resources-read-model.d.ts +2 -2
  339. package/dist/lib/features/metrics/sizes/fake-largest-resources-read-model.d.ts.map +1 -1
  340. package/dist/lib/features/metrics/sizes/fake-largest-resources-read-model.js +2 -2
  341. package/dist/lib/features/metrics/sizes/fake-largest-resources-read-model.js.map +1 -1
  342. package/dist/lib/features/metrics/unknown-flags/unknown-flags-service.d.ts +1 -2
  343. package/dist/lib/features/metrics/unknown-flags/unknown-flags-service.d.ts.map +1 -1
  344. package/dist/lib/features/metrics/unknown-flags/unknown-flags-service.js +1 -2
  345. package/dist/lib/features/metrics/unknown-flags/unknown-flags-service.js.map +1 -1
  346. package/dist/lib/features/onboarding/fake-onboarding-store.d.ts +2 -2
  347. package/dist/lib/features/onboarding/fake-onboarding-store.d.ts.map +1 -1
  348. package/dist/lib/features/onboarding/fake-onboarding-store.js +2 -2
  349. package/dist/lib/features/onboarding/fake-onboarding-store.js.map +1 -1
  350. package/dist/lib/features/onboarding/onboarding-service.d.ts +1 -3
  351. package/dist/lib/features/onboarding/onboarding-service.d.ts.map +1 -1
  352. package/dist/lib/features/onboarding/onboarding-service.js +2 -4
  353. package/dist/lib/features/onboarding/onboarding-service.js.map +1 -1
  354. package/dist/lib/features/personal-dashboard/fake-personal-dashboard-read-model.d.ts +3 -3
  355. package/dist/lib/features/personal-dashboard/fake-personal-dashboard-read-model.d.ts.map +1 -1
  356. package/dist/lib/features/personal-dashboard/fake-personal-dashboard-read-model.js +3 -3
  357. package/dist/lib/features/personal-dashboard/fake-personal-dashboard-read-model.js.map +1 -1
  358. package/dist/lib/features/playground/feature-evaluator/constraint.js +1 -1
  359. package/dist/lib/features/playground/feature-evaluator/constraint.js.map +1 -1
  360. package/dist/lib/features/playground/feature-evaluator/repository/index.js +1 -1
  361. package/dist/lib/features/playground/feature-evaluator/repository/index.js.map +1 -1
  362. package/dist/lib/features/playground/feature-evaluator/strategy/gradual-rollout-random.d.ts +1 -1
  363. package/dist/lib/features/playground/feature-evaluator/strategy/gradual-rollout-random.d.ts.map +1 -1
  364. package/dist/lib/features/playground/feature-evaluator/strategy/gradual-rollout-random.js +1 -1
  365. package/dist/lib/features/playground/feature-evaluator/strategy/gradual-rollout-random.js.map +1 -1
  366. package/dist/lib/features/playground/feature-evaluator/strategy/remote-address-strategy.js +1 -1
  367. package/dist/lib/features/playground/feature-evaluator/strategy/remote-address-strategy.js.map +1 -1
  368. package/dist/lib/features/playground/feature-evaluator/strategy/strategy.d.ts +1 -1
  369. package/dist/lib/features/playground/feature-evaluator/strategy/strategy.d.ts.map +1 -1
  370. package/dist/lib/features/playground/feature-evaluator/strategy/strategy.js +1 -1
  371. package/dist/lib/features/playground/feature-evaluator/strategy/strategy.js.map +1 -1
  372. package/dist/lib/features/playground/feature-evaluator/strategy/unknown-strategy.d.ts +1 -1
  373. package/dist/lib/features/playground/feature-evaluator/strategy/unknown-strategy.d.ts.map +1 -1
  374. package/dist/lib/features/playground/feature-evaluator/strategy/unknown-strategy.js +1 -1
  375. package/dist/lib/features/playground/feature-evaluator/strategy/unknown-strategy.js.map +1 -1
  376. package/dist/lib/features/playground/offline-unleash-client.test.js +6 -2
  377. package/dist/lib/features/playground/offline-unleash-client.test.js.map +1 -1
  378. package/dist/lib/features/playground/playground-service.d.ts.map +1 -1
  379. package/dist/lib/features/playground/playground-service.js +3 -2
  380. package/dist/lib/features/playground/playground-service.js.map +1 -1
  381. package/dist/lib/features/playground/playground.test.js +1 -1
  382. package/dist/lib/features/playground/playground.test.js.map +1 -1
  383. package/dist/lib/features/private-project/fakePrivateProjectChecker.d.ts +3 -3
  384. package/dist/lib/features/private-project/fakePrivateProjectChecker.d.ts.map +1 -1
  385. package/dist/lib/features/private-project/fakePrivateProjectChecker.js +3 -3
  386. package/dist/lib/features/private-project/fakePrivateProjectChecker.js.map +1 -1
  387. package/dist/lib/features/private-project/privateProjectStore.d.ts +1 -2
  388. package/dist/lib/features/private-project/privateProjectStore.d.ts.map +1 -1
  389. package/dist/lib/features/private-project/privateProjectStore.js +1 -2
  390. package/dist/lib/features/private-project/privateProjectStore.js.map +1 -1
  391. package/dist/lib/features/project/fake-project-flag-creators-read-model.d.ts +1 -1
  392. package/dist/lib/features/project/fake-project-flag-creators-read-model.d.ts.map +1 -1
  393. package/dist/lib/features/project/fake-project-flag-creators-read-model.js +1 -1
  394. package/dist/lib/features/project/fake-project-flag-creators-read-model.js.map +1 -1
  395. package/dist/lib/features/project/project-controller.d.ts +1 -1
  396. package/dist/lib/features/project/project-controller.d.ts.map +1 -1
  397. package/dist/lib/features/project/project-controller.js +1 -1
  398. package/dist/lib/features/project/project-controller.js.map +1 -1
  399. package/dist/lib/features/project/project-read-model.d.ts +1 -2
  400. package/dist/lib/features/project/project-read-model.d.ts.map +1 -1
  401. package/dist/lib/features/project/project-read-model.js +1 -2
  402. package/dist/lib/features/project/project-read-model.js.map +1 -1
  403. package/dist/lib/features/project/project-service.e2e.test.js +10 -3
  404. package/dist/lib/features/project/project-service.e2e.test.js.map +1 -1
  405. package/dist/lib/features/project/project-store.d.ts +2 -3
  406. package/dist/lib/features/project/project-store.d.ts.map +1 -1
  407. package/dist/lib/features/project/project-store.js +43 -3
  408. package/dist/lib/features/project/project-store.js.map +1 -1
  409. package/dist/lib/features/project/projects.e2e.test.js +1 -1
  410. package/dist/lib/features/project/projects.e2e.test.js.map +1 -1
  411. package/dist/lib/features/project-environments/environment-service.d.ts +1 -0
  412. package/dist/lib/features/project-environments/environment-service.d.ts.map +1 -1
  413. package/dist/lib/features/project-environments/environment-service.js +4 -1
  414. package/dist/lib/features/project-environments/environment-service.js.map +1 -1
  415. package/dist/lib/features/project-environments/fake-environment-store.d.ts +3 -3
  416. package/dist/lib/features/project-environments/fake-environment-store.d.ts.map +1 -1
  417. package/dist/lib/features/project-environments/fake-environment-store.js +5 -5
  418. package/dist/lib/features/project-environments/fake-environment-store.js.map +1 -1
  419. package/dist/lib/features/project-insights/project-insights-service.e2e.test.js +1 -1
  420. package/dist/lib/features/project-insights/project-insights-service.e2e.test.js.map +1 -1
  421. package/dist/lib/features/project-status/projects-status.e2e.test.js +1 -1
  422. package/dist/lib/features/project-status/projects-status.e2e.test.js.map +1 -1
  423. package/dist/lib/features/scheduler/job-service.js +1 -1
  424. package/dist/lib/features/scheduler/job-service.js.map +1 -1
  425. package/dist/lib/features/scheduler/job-service.test.js +1 -1
  426. package/dist/lib/features/scheduler/job-service.test.js.map +1 -1
  427. package/dist/lib/features/scheduler/job-store.d.ts +0 -1
  428. package/dist/lib/features/scheduler/job-store.d.ts.map +1 -1
  429. package/dist/lib/features/scheduler/job-store.js +0 -1
  430. package/dist/lib/features/scheduler/job-store.js.map +1 -1
  431. package/dist/lib/features/scheduler/schedule-services.js +1 -1
  432. package/dist/lib/features/scheduler/schedule-services.js.map +1 -1
  433. package/dist/lib/features/segment/admin-segment.e2e.test.js +7 -25
  434. package/dist/lib/features/segment/admin-segment.e2e.test.js.map +1 -1
  435. package/dist/lib/features/segment/fake-segment-read-model.d.ts +2 -2
  436. package/dist/lib/features/segment/fake-segment-read-model.d.ts.map +1 -1
  437. package/dist/lib/features/segment/fake-segment-read-model.js +2 -2
  438. package/dist/lib/features/segment/fake-segment-read-model.js.map +1 -1
  439. package/dist/lib/features/segment/segment-controller.d.ts +1 -2
  440. package/dist/lib/features/segment/segment-controller.d.ts.map +1 -1
  441. package/dist/lib/features/segment/segment-controller.js +1 -2
  442. package/dist/lib/features/segment/segment-controller.js.map +1 -1
  443. package/dist/lib/features/segment/segment-service.d.ts +0 -1
  444. package/dist/lib/features/segment/segment-service.d.ts.map +1 -1
  445. package/dist/lib/features/segment/segment-service.js +0 -1
  446. package/dist/lib/features/segment/segment-service.js.map +1 -1
  447. package/dist/lib/features/tag-type/fake-tag-type-store.d.ts.map +1 -1
  448. package/dist/lib/features/tag-type/fake-tag-type-store.js +3 -1
  449. package/dist/lib/features/tag-type/fake-tag-type-store.js.map +1 -1
  450. package/dist/lib/features/tag-type/tag-type.d.ts +1 -2
  451. package/dist/lib/features/tag-type/tag-type.d.ts.map +1 -1
  452. package/dist/lib/features/tag-type/tag-type.js +1 -2
  453. package/dist/lib/features/tag-type/tag-type.js.map +1 -1
  454. package/dist/lib/features/traffic-data-usage/fake-traffic-data-usage-store.d.ts +4 -4
  455. package/dist/lib/features/traffic-data-usage/fake-traffic-data-usage-store.d.ts.map +1 -1
  456. package/dist/lib/features/traffic-data-usage/fake-traffic-data-usage-store.js +4 -4
  457. package/dist/lib/features/traffic-data-usage/fake-traffic-data-usage-store.js.map +1 -1
  458. package/dist/lib/features/traffic-data-usage/traffic-data-usage-store.d.ts +1 -2
  459. package/dist/lib/features/traffic-data-usage/traffic-data-usage-store.d.ts.map +1 -1
  460. package/dist/lib/features/traffic-data-usage/traffic-data-usage-store.js +3 -4
  461. package/dist/lib/features/traffic-data-usage/traffic-data-usage-store.js.map +1 -1
  462. package/dist/lib/features/ui-observability-controller/ui-observability-controller.js +1 -1
  463. package/dist/lib/features/ui-observability-controller/ui-observability-controller.js.map +1 -1
  464. package/dist/lib/features/unique-connection/unique-connection-service.d.ts +0 -1
  465. package/dist/lib/features/unique-connection/unique-connection-service.d.ts.map +1 -1
  466. package/dist/lib/features/unique-connection/unique-connection-service.js +0 -1
  467. package/dist/lib/features/unique-connection/unique-connection-service.js.map +1 -1
  468. package/dist/lib/features/user-subscriptions/fake-user-subscriptions-read-model.d.ts +2 -2
  469. package/dist/lib/features/user-subscriptions/fake-user-subscriptions-read-model.d.ts.map +1 -1
  470. package/dist/lib/features/user-subscriptions/fake-user-subscriptions-read-model.js +2 -2
  471. package/dist/lib/features/user-subscriptions/fake-user-subscriptions-read-model.js.map +1 -1
  472. package/dist/lib/features/user-subscriptions/user-subscriptions-read-model.test.js +1 -1
  473. package/dist/lib/features/user-subscriptions/user-subscriptions-read-model.test.js.map +1 -1
  474. package/dist/lib/features/user-subscriptions/user-subscriptions-service.d.ts +1 -2
  475. package/dist/lib/features/user-subscriptions/user-subscriptions-service.d.ts.map +1 -1
  476. package/dist/lib/features/user-subscriptions/user-subscriptions-service.js +1 -2
  477. package/dist/lib/features/user-subscriptions/user-subscriptions-service.js.map +1 -1
  478. package/dist/lib/features/users/user-store.d.ts +1 -2
  479. package/dist/lib/features/users/user-store.d.ts.map +1 -1
  480. package/dist/lib/features/users/user-store.js +1 -2
  481. package/dist/lib/features/users/user-store.js.map +1 -1
  482. package/dist/lib/features/users/user-updates-read-model.d.ts +1 -2
  483. package/dist/lib/features/users/user-updates-read-model.d.ts.map +1 -1
  484. package/dist/lib/features/users/user-updates-read-model.js +1 -2
  485. package/dist/lib/features/users/user-updates-read-model.js.map +1 -1
  486. package/dist/lib/logger.test.js +2 -2
  487. package/dist/lib/logger.test.js.map +1 -1
  488. package/dist/lib/metrics.d.ts.map +1 -1
  489. package/dist/lib/metrics.js +8 -2
  490. package/dist/lib/metrics.js.map +1 -1
  491. package/dist/lib/metrics.test.js +14 -8
  492. package/dist/lib/metrics.test.js.map +1 -1
  493. package/dist/lib/middleware/api-token-middleware.js +1 -1
  494. package/dist/lib/middleware/api-token-middleware.js.map +1 -1
  495. package/dist/lib/middleware/api-token-middleware.test.js +4 -1
  496. package/dist/lib/middleware/api-token-middleware.test.js.map +1 -1
  497. package/dist/lib/middleware/audit-middleware.js +1 -1
  498. package/dist/lib/middleware/audit-middleware.js.map +1 -1
  499. package/dist/lib/middleware/catch-all-error-handler.js +1 -1
  500. package/dist/lib/middleware/catch-all-error-handler.js.map +1 -1
  501. package/dist/lib/middleware/content_type_checker.test.js +3 -6
  502. package/dist/lib/middleware/content_type_checker.test.js.map +1 -1
  503. package/dist/lib/middleware/cors-origin-middleware.js +1 -1
  504. package/dist/lib/middleware/cors-origin-middleware.js.map +1 -1
  505. package/dist/lib/middleware/demo-authentication.js +3 -3
  506. package/dist/lib/middleware/demo-authentication.js.map +1 -1
  507. package/dist/lib/middleware/no-authentication.js +3 -3
  508. package/dist/lib/middleware/no-authentication.js.map +1 -1
  509. package/dist/lib/middleware/origin-middleware.d.ts +1 -1
  510. package/dist/lib/middleware/origin-middleware.d.ts.map +1 -1
  511. package/dist/lib/middleware/origin-middleware.js +2 -9
  512. package/dist/lib/middleware/origin-middleware.js.map +1 -1
  513. package/dist/lib/middleware/origin-middleware.test.js +0 -16
  514. package/dist/lib/middleware/origin-middleware.test.js.map +1 -1
  515. package/dist/lib/middleware/oss-authentication.test.js +2 -2
  516. package/dist/lib/middleware/oss-authentication.test.js.map +1 -1
  517. package/dist/lib/middleware/pat-middleware.js +1 -1
  518. package/dist/lib/middleware/pat-middleware.js.map +1 -1
  519. package/dist/lib/middleware/rbac-middleware.js +1 -1
  520. package/dist/lib/middleware/rbac-middleware.js.map +1 -1
  521. package/dist/lib/middleware/rbac-middleware.test.js +7 -3
  522. package/dist/lib/middleware/rbac-middleware.test.js.map +1 -1
  523. package/dist/lib/middleware/response-time-metrics.js +1 -1
  524. package/dist/lib/middleware/response-time-metrics.js.map +1 -1
  525. package/dist/lib/middleware/response-time-metrics.test.js +4 -1
  526. package/dist/lib/middleware/response-time-metrics.test.js.map +1 -1
  527. package/dist/lib/middleware/secure-headers.js +1 -1
  528. package/dist/lib/middleware/secure-headers.js.map +1 -1
  529. package/dist/lib/openapi/meta-schema-rules.test.js +1 -1
  530. package/dist/lib/openapi/meta-schema-rules.test.js.map +1 -1
  531. package/dist/lib/openapi/spec/addon-create-update-schema.d.ts +2 -2
  532. package/dist/lib/openapi/spec/addon-create-update-schema.js +6 -6
  533. package/dist/lib/openapi/spec/addon-create-update-schema.js.map +1 -1
  534. package/dist/lib/openapi/spec/addon-parameter-schema.js +1 -1
  535. package/dist/lib/openapi/spec/addon-parameter-schema.js.map +1 -1
  536. package/dist/lib/openapi/spec/addon-schema.d.ts +1 -1
  537. package/dist/lib/openapi/spec/addon-schema.js +1 -1
  538. package/dist/lib/openapi/spec/addon-schema.js.map +1 -1
  539. package/dist/lib/openapi/spec/addon-type-schema.d.ts +2 -2
  540. package/dist/lib/openapi/spec/addon-type-schema.js +2 -2
  541. package/dist/lib/openapi/spec/addon-type-schema.js.map +1 -1
  542. package/dist/lib/openapi/spec/addons-schema.d.ts +5 -5
  543. package/dist/lib/openapi/spec/addons-schema.js +2 -2
  544. package/dist/lib/openapi/spec/addons-schema.js.map +1 -1
  545. package/dist/lib/openapi/spec/admin-segment-schema.d.ts +6 -4
  546. package/dist/lib/openapi/spec/admin-segment-schema.d.ts.map +1 -1
  547. package/dist/lib/openapi/spec/admin-segment-schema.js +1 -1
  548. package/dist/lib/openapi/spec/admin-segment-schema.js.map +1 -1
  549. package/dist/lib/openapi/spec/advanced-playground-environment-feature-schema.d.ts +14 -14
  550. package/dist/lib/openapi/spec/advanced-playground-feature-schema.d.ts +28 -28
  551. package/dist/lib/openapi/spec/advanced-playground-response-schema.d.ts +61 -59
  552. package/dist/lib/openapi/spec/advanced-playground-response-schema.d.ts.map +1 -1
  553. package/dist/lib/openapi/spec/api-token-schema.d.ts +1 -1
  554. package/dist/lib/openapi/spec/api-token-schema.js +1 -1
  555. package/dist/lib/openapi/spec/api-token-schema.js.map +1 -1
  556. package/dist/lib/openapi/spec/api-token-schema.test.js +5 -1
  557. package/dist/lib/openapi/spec/api-token-schema.test.js.map +1 -1
  558. package/dist/lib/openapi/spec/api-tokens-schema.d.ts +2 -2
  559. package/dist/lib/openapi/spec/api-tokens-schema.js +1 -1
  560. package/dist/lib/openapi/spec/api-tokens-schema.js.map +1 -1
  561. package/dist/lib/openapi/spec/application-schema.d.ts +1 -1
  562. package/dist/lib/openapi/spec/application-schema.js +1 -1
  563. package/dist/lib/openapi/spec/application-schema.js.map +1 -1
  564. package/dist/lib/openapi/spec/applications-schema.d.ts +1 -1
  565. package/dist/lib/openapi/spec/bulk-metrics-schema.d.ts +2 -2
  566. package/dist/lib/openapi/spec/bulk-registration-schema.d.ts +2 -2
  567. package/dist/lib/openapi/spec/bulk-registration-schema.js +2 -2
  568. package/dist/lib/openapi/spec/bulk-registration-schema.js.map +1 -1
  569. package/dist/lib/openapi/spec/client-feature-schema.d.ts +20 -18
  570. package/dist/lib/openapi/spec/client-feature-schema.d.ts.map +1 -1
  571. package/dist/lib/openapi/spec/client-feature-schema.js +3 -3
  572. package/dist/lib/openapi/spec/client-feature-schema.js.map +1 -1
  573. package/dist/lib/openapi/spec/client-features-delta-schema.d.ts +37 -35
  574. package/dist/lib/openapi/spec/client-features-delta-schema.d.ts.map +1 -1
  575. package/dist/lib/openapi/spec/client-features-schema.d.ts +38 -36
  576. package/dist/lib/openapi/spec/client-features-schema.d.ts.map +1 -1
  577. package/dist/lib/openapi/spec/client-features-schema.js +1 -1
  578. package/dist/lib/openapi/spec/client-features-schema.js.map +1 -1
  579. package/dist/lib/openapi/spec/client-metrics-schema.d.ts +1 -1
  580. package/dist/lib/openapi/spec/client-metrics-schema.js +1 -1
  581. package/dist/lib/openapi/spec/client-metrics-schema.js.map +1 -1
  582. package/dist/lib/openapi/spec/client-segment-schema.d.ts +5 -3
  583. package/dist/lib/openapi/spec/client-segment-schema.d.ts.map +1 -1
  584. package/dist/lib/openapi/spec/clone-feature-schema.d.ts +1 -1
  585. package/dist/lib/openapi/spec/clone-feature-schema.js +1 -1
  586. package/dist/lib/openapi/spec/clone-feature-schema.js.map +1 -1
  587. package/dist/lib/openapi/spec/constraint-schema.d.ts +7 -5
  588. package/dist/lib/openapi/spec/constraint-schema.d.ts.map +1 -1
  589. package/dist/lib/openapi/spec/constraint-schema.js +2 -2
  590. package/dist/lib/openapi/spec/constraint-schema.js.map +1 -1
  591. package/dist/lib/openapi/spec/constraint-schema.test.js +2 -0
  592. package/dist/lib/openapi/spec/constraint-schema.test.js.map +1 -1
  593. package/dist/lib/openapi/spec/context-field-schema.d.ts +2 -2
  594. package/dist/lib/openapi/spec/context-field-schema.js +2 -2
  595. package/dist/lib/openapi/spec/context-field-schema.js.map +1 -1
  596. package/dist/lib/openapi/spec/context-fields-schema.d.ts +2 -2
  597. package/dist/lib/openapi/spec/create-api-token-schema.d.ts +2 -2
  598. package/dist/lib/openapi/spec/create-api-token-schema.js +1 -1
  599. package/dist/lib/openapi/spec/create-api-token-schema.js.map +1 -1
  600. package/dist/lib/openapi/spec/create-application-schema.d.ts +1 -1
  601. package/dist/lib/openapi/spec/create-application-schema.js +1 -1
  602. package/dist/lib/openapi/spec/create-application-schema.js.map +1 -1
  603. package/dist/lib/openapi/spec/create-context-field-schema.d.ts +1 -1
  604. package/dist/lib/openapi/spec/create-feature-schema.d.ts +3 -3
  605. package/dist/lib/openapi/spec/create-feature-schema.js +1 -1
  606. package/dist/lib/openapi/spec/create-feature-schema.js.map +1 -1
  607. package/dist/lib/openapi/spec/create-feature-strategy-schema.d.ts +9 -7
  608. package/dist/lib/openapi/spec/create-feature-strategy-schema.d.ts.map +1 -1
  609. package/dist/lib/openapi/spec/create-feature-strategy-schema.js +1 -1
  610. package/dist/lib/openapi/spec/create-feature-strategy-schema.js.map +1 -1
  611. package/dist/lib/openapi/spec/create-pat-schema.d.ts +1 -1
  612. package/dist/lib/openapi/spec/create-pat-schema.js +1 -1
  613. package/dist/lib/openapi/spec/create-pat-schema.js.map +1 -1
  614. package/dist/lib/openapi/spec/create-strategy-schema.d.ts +2 -2
  615. package/dist/lib/openapi/spec/create-strategy-schema.js +2 -2
  616. package/dist/lib/openapi/spec/create-strategy-schema.js.map +1 -1
  617. package/dist/lib/openapi/spec/create-strategy-variant-schema.d.ts +3 -3
  618. package/dist/lib/openapi/spec/create-strategy-variant-schema.js +3 -3
  619. package/dist/lib/openapi/spec/create-strategy-variant-schema.js.map +1 -1
  620. package/dist/lib/openapi/spec/create-tag-schema.d.ts +2 -2
  621. package/dist/lib/openapi/spec/create-tag-schema.js +1 -1
  622. package/dist/lib/openapi/spec/create-tag-schema.js.map +1 -1
  623. package/dist/lib/openapi/spec/create-user-response-schema.d.ts +1 -1
  624. package/dist/lib/openapi/spec/create-user-response-schema.js +1 -1
  625. package/dist/lib/openapi/spec/create-user-response-schema.js.map +1 -1
  626. package/dist/lib/openapi/spec/edge-token-schema.d.ts +3 -3
  627. package/dist/lib/openapi/spec/edge-token-schema.js +3 -3
  628. package/dist/lib/openapi/spec/edge-token-schema.js.map +1 -1
  629. package/dist/lib/openapi/spec/environment-project-schema.d.ts +15 -13
  630. package/dist/lib/openapi/spec/environment-project-schema.d.ts.map +1 -1
  631. package/dist/lib/openapi/spec/environment-project-schema.js +1 -1
  632. package/dist/lib/openapi/spec/environment-project-schema.js.map +1 -1
  633. package/dist/lib/openapi/spec/environment-schema.d.ts +1 -1
  634. package/dist/lib/openapi/spec/environment-schema.js +1 -1
  635. package/dist/lib/openapi/spec/environment-schema.js.map +1 -1
  636. package/dist/lib/openapi/spec/environments-project-schema.d.ts +26 -24
  637. package/dist/lib/openapi/spec/environments-project-schema.d.ts.map +1 -1
  638. package/dist/lib/openapi/spec/environments-schema.d.ts +1 -1
  639. package/dist/lib/openapi/spec/event-schema.d.ts +7 -7
  640. package/dist/lib/openapi/spec/event-schema.js +1 -1
  641. package/dist/lib/openapi/spec/event-schema.js.map +1 -1
  642. package/dist/lib/openapi/spec/event-search-response-schema.d.ts +9 -9
  643. package/dist/lib/openapi/spec/events-schema.d.ts +9 -9
  644. package/dist/lib/openapi/spec/export-query-schema.d.ts +1 -1
  645. package/dist/lib/openapi/spec/export-query-schema.js +1 -1
  646. package/dist/lib/openapi/spec/export-query-schema.js.map +1 -1
  647. package/dist/lib/openapi/spec/export-result-schema.d.ts +1986 -529
  648. package/dist/lib/openapi/spec/export-result-schema.d.ts.map +1 -1
  649. package/dist/lib/openapi/spec/export-result-schema.js +6 -0
  650. package/dist/lib/openapi/spec/export-result-schema.js.map +1 -1
  651. package/dist/lib/openapi/spec/feature-environment-schema.d.ts +372 -107
  652. package/dist/lib/openapi/spec/feature-environment-schema.d.ts.map +1 -1
  653. package/dist/lib/openapi/spec/feature-environment-schema.js +12 -0
  654. package/dist/lib/openapi/spec/feature-environment-schema.js.map +1 -1
  655. package/dist/lib/openapi/spec/feature-events-schema.d.ts +9 -9
  656. package/dist/lib/openapi/spec/feature-schema.d.ts +950 -215
  657. package/dist/lib/openapi/spec/feature-schema.d.ts.map +1 -1
  658. package/dist/lib/openapi/spec/feature-schema.js +17 -0
  659. package/dist/lib/openapi/spec/feature-schema.js.map +1 -1
  660. package/dist/lib/openapi/spec/feature-search-environment-schema.d.ts +729 -213
  661. package/dist/lib/openapi/spec/feature-search-environment-schema.d.ts.map +1 -1
  662. package/dist/lib/openapi/spec/feature-search-response-schema.d.ts +745 -229
  663. package/dist/lib/openapi/spec/feature-search-response-schema.d.ts.map +1 -1
  664. package/dist/lib/openapi/spec/feature-strategy-schema.d.ts +9 -7
  665. package/dist/lib/openapi/spec/feature-strategy-schema.d.ts.map +1 -1
  666. package/dist/lib/openapi/spec/feature-strategy-schema.js +1 -1
  667. package/dist/lib/openapi/spec/feature-strategy-schema.js.map +1 -1
  668. package/dist/lib/openapi/spec/feature-tag-schema.d.ts +2 -2
  669. package/dist/lib/openapi/spec/feature-tag-schema.js +2 -2
  670. package/dist/lib/openapi/spec/feature-tag-schema.js.map +1 -1
  671. package/dist/lib/openapi/spec/feature-type-schema.d.ts +2 -2
  672. package/dist/lib/openapi/spec/feature-type-schema.js +2 -2
  673. package/dist/lib/openapi/spec/feature-type-schema.js.map +1 -1
  674. package/dist/lib/openapi/spec/feature-types-schema.d.ts +3 -3
  675. package/dist/lib/openapi/spec/feature-types-schema.js +1 -1
  676. package/dist/lib/openapi/spec/feature-types-schema.js.map +1 -1
  677. package/dist/lib/openapi/spec/feature-variants-schema.d.ts +3 -3
  678. package/dist/lib/openapi/spec/group-schema.d.ts +2 -2
  679. package/dist/lib/openapi/spec/group-user-model-schema.d.ts +1 -1
  680. package/dist/lib/openapi/spec/groups-schema.d.ts +5 -5
  681. package/dist/lib/openapi/spec/groups-schema.js +1 -1
  682. package/dist/lib/openapi/spec/groups-schema.js.map +1 -1
  683. package/dist/lib/openapi/spec/health-overview-schema.d.ts +1784 -535
  684. package/dist/lib/openapi/spec/health-overview-schema.d.ts.map +1 -1
  685. package/dist/lib/openapi/spec/health-overview-schema.js +3 -3
  686. package/dist/lib/openapi/spec/health-overview-schema.js.map +1 -1
  687. package/dist/lib/openapi/spec/health-report-schema.d.ts +1783 -534
  688. package/dist/lib/openapi/spec/health-report-schema.d.ts.map +1 -1
  689. package/dist/lib/openapi/spec/import-toggles-schema.d.ts +66 -27262
  690. package/dist/lib/openapi/spec/import-toggles-schema.d.ts.map +1 -1
  691. package/dist/lib/openapi/spec/import-toggles-schema.js +40 -31
  692. package/dist/lib/openapi/spec/import-toggles-schema.js.map +1 -1
  693. package/dist/lib/openapi/spec/import-toggles-validate-schema.d.ts +1 -1
  694. package/dist/lib/openapi/spec/import-toggles-validate-schema.js +1 -1
  695. package/dist/lib/openapi/spec/import-toggles-validate-schema.js.map +1 -1
  696. package/dist/lib/openapi/spec/index.d.ts +4 -0
  697. package/dist/lib/openapi/spec/index.d.ts.map +1 -1
  698. package/dist/lib/openapi/spec/index.js +4 -0
  699. package/dist/lib/openapi/spec/index.js.map +1 -1
  700. package/dist/lib/openapi/spec/instance-admin-stats-schema.d.ts +13 -0
  701. package/dist/lib/openapi/spec/instance-admin-stats-schema.d.ts.map +1 -1
  702. package/dist/lib/openapi/spec/instance-admin-stats-schema.js +13 -0
  703. package/dist/lib/openapi/spec/instance-admin-stats-schema.js.map +1 -1
  704. package/dist/lib/openapi/spec/integration-event-schema.d.ts +12 -12
  705. package/dist/lib/openapi/spec/integration-events-schema.d.ts +24 -24
  706. package/dist/lib/openapi/spec/me-schema.d.ts +2 -2
  707. package/dist/lib/openapi/spec/metric-query-schema.d.ts +44 -0
  708. package/dist/lib/openapi/spec/metric-query-schema.d.ts.map +1 -0
  709. package/dist/lib/openapi/spec/metric-query-schema.js +42 -0
  710. package/dist/lib/openapi/spec/metric-query-schema.js.map +1 -0
  711. package/dist/lib/openapi/spec/pat-schema.d.ts +1 -1
  712. package/dist/lib/openapi/spec/pat-schema.js +1 -1
  713. package/dist/lib/openapi/spec/pat-schema.js.map +1 -1
  714. package/dist/lib/openapi/spec/pats-schema.d.ts +2 -2
  715. package/dist/lib/openapi/spec/pats-schema.js +1 -1
  716. package/dist/lib/openapi/spec/pats-schema.js.map +1 -1
  717. package/dist/lib/openapi/spec/permission-schema.d.ts +1 -1
  718. package/dist/lib/openapi/spec/permission-schema.js +1 -1
  719. package/dist/lib/openapi/spec/permission-schema.js.map +1 -1
  720. package/dist/lib/openapi/spec/personal-dashboard-project-details-schema.d.ts +1 -1
  721. package/dist/lib/openapi/spec/personal-dashboard-project-details-schema.js +1 -1
  722. package/dist/lib/openapi/spec/personal-dashboard-project-details-schema.js.map +1 -1
  723. package/dist/lib/openapi/spec/personal-dashboard-schema.d.ts +1 -1
  724. package/dist/lib/openapi/spec/personal-dashboard-schema.js +1 -1
  725. package/dist/lib/openapi/spec/personal-dashboard-schema.js.map +1 -1
  726. package/dist/lib/openapi/spec/playground-constraint-schema.d.ts +5 -3
  727. package/dist/lib/openapi/spec/playground-constraint-schema.d.ts.map +1 -1
  728. package/dist/lib/openapi/spec/playground-feature-schema.d.ts +17 -15
  729. package/dist/lib/openapi/spec/playground-feature-schema.d.ts.map +1 -1
  730. package/dist/lib/openapi/spec/playground-response-schema.d.ts +33 -31
  731. package/dist/lib/openapi/spec/playground-response-schema.d.ts.map +1 -1
  732. package/dist/lib/openapi/spec/playground-response-schema.test.js +1 -1
  733. package/dist/lib/openapi/spec/playground-response-schema.test.js.map +1 -1
  734. package/dist/lib/openapi/spec/playground-segment-schema.d.ts +5 -3
  735. package/dist/lib/openapi/spec/playground-segment-schema.d.ts.map +1 -1
  736. package/dist/lib/openapi/spec/playground-strategy-schema.d.ts +10 -8
  737. package/dist/lib/openapi/spec/playground-strategy-schema.d.ts.map +1 -1
  738. package/dist/lib/openapi/spec/profile-schema.d.ts +947 -214
  739. package/dist/lib/openapi/spec/profile-schema.d.ts.map +1 -1
  740. package/dist/lib/openapi/spec/project-environment-schema.d.ts +9 -9
  741. package/dist/lib/openapi/spec/project-feature-schema.d.ts +2 -2
  742. package/dist/lib/openapi/spec/project-features-schema.d.ts +4 -4
  743. package/dist/lib/openapi/spec/project-insights-schema.d.ts +2 -2
  744. package/dist/lib/openapi/spec/project-insights-schema.js +2 -2
  745. package/dist/lib/openapi/spec/project-insights-schema.js.map +1 -1
  746. package/dist/lib/openapi/spec/project-overview-schema.d.ts +1781 -532
  747. package/dist/lib/openapi/spec/project-overview-schema.d.ts.map +1 -1
  748. package/dist/lib/openapi/spec/project-overview-schema.js +2 -2
  749. package/dist/lib/openapi/spec/project-overview-schema.js.map +1 -1
  750. package/dist/lib/openapi/spec/project-schema.d.ts +2 -2
  751. package/dist/lib/openapi/spec/project-schema.js +2 -2
  752. package/dist/lib/openapi/spec/project-schema.js.map +1 -1
  753. package/dist/lib/openapi/spec/projects-schema.d.ts +2 -2
  754. package/dist/lib/openapi/spec/public-signup-token-create-schema.d.ts +1 -1
  755. package/dist/lib/openapi/spec/public-signup-token-create-schema.js +1 -1
  756. package/dist/lib/openapi/spec/public-signup-token-create-schema.js.map +1 -1
  757. package/dist/lib/openapi/spec/public-signup-token-schema.d.ts +2 -2
  758. package/dist/lib/openapi/spec/public-signup-token-schema.js +1 -1
  759. package/dist/lib/openapi/spec/public-signup-token-schema.js.map +1 -1
  760. package/dist/lib/openapi/spec/public-signup-tokens-schema.d.ts +3 -3
  761. package/dist/lib/openapi/spec/push-variants-schema.d.ts +3 -3
  762. package/dist/lib/openapi/spec/ready-check-schema.d.ts +19 -0
  763. package/dist/lib/openapi/spec/ready-check-schema.d.ts.map +1 -0
  764. package/dist/lib/openapi/spec/ready-check-schema.js +17 -0
  765. package/dist/lib/openapi/spec/ready-check-schema.js.map +1 -0
  766. package/dist/lib/openapi/spec/release-plan-milestone-schema.d.ts +45 -25
  767. package/dist/lib/openapi/spec/release-plan-milestone-schema.d.ts.map +1 -1
  768. package/dist/lib/openapi/spec/release-plan-milestone-schema.js +12 -1
  769. package/dist/lib/openapi/spec/release-plan-milestone-schema.js.map +1 -1
  770. package/dist/lib/openapi/spec/release-plan-milestone-strategy-schema.d.ts +15 -13
  771. package/dist/lib/openapi/spec/release-plan-milestone-strategy-schema.d.ts.map +1 -1
  772. package/dist/lib/openapi/spec/release-plan-schema.d.ts +283 -48
  773. package/dist/lib/openapi/spec/release-plan-schema.d.ts.map +1 -1
  774. package/dist/lib/openapi/spec/release-plan-schema.js +13 -0
  775. package/dist/lib/openapi/spec/release-plan-schema.js.map +1 -1
  776. package/dist/lib/openapi/spec/release-plan-template-schema.d.ts +68 -48
  777. package/dist/lib/openapi/spec/release-plan-template-schema.d.ts.map +1 -1
  778. package/dist/lib/openapi/spec/safeguard-schema.d.ts +149 -0
  779. package/dist/lib/openapi/spec/safeguard-schema.d.ts.map +1 -0
  780. package/dist/lib/openapi/spec/safeguard-schema.js +59 -0
  781. package/dist/lib/openapi/spec/safeguard-schema.js.map +1 -0
  782. package/dist/lib/openapi/spec/safeguard-trigger-condition-schema.d.ts +24 -0
  783. package/dist/lib/openapi/spec/safeguard-trigger-condition-schema.d.ts.map +1 -0
  784. package/dist/lib/openapi/spec/safeguard-trigger-condition-schema.js +22 -0
  785. package/dist/lib/openapi/spec/safeguard-trigger-condition-schema.js.map +1 -0
  786. package/dist/lib/openapi/spec/search-features-schema.d.ts +1578 -548
  787. package/dist/lib/openapi/spec/search-features-schema.d.ts.map +1 -1
  788. package/dist/lib/openapi/spec/segment-schema.d.ts +5 -3
  789. package/dist/lib/openapi/spec/segment-schema.d.ts.map +1 -1
  790. package/dist/lib/openapi/spec/segments-schema.d.ts +9 -7
  791. package/dist/lib/openapi/spec/segments-schema.d.ts.map +1 -1
  792. package/dist/lib/openapi/spec/segments-schema.js +1 -1
  793. package/dist/lib/openapi/spec/segments-schema.js.map +1 -1
  794. package/dist/lib/openapi/spec/strategies-schema.d.ts +1 -1
  795. package/dist/lib/openapi/spec/strategy-schema.d.ts +1 -1
  796. package/dist/lib/openapi/spec/strategy-schema.js +1 -1
  797. package/dist/lib/openapi/spec/strategy-schema.js.map +1 -1
  798. package/dist/lib/openapi/spec/strategy-variant-schema.d.ts +3 -3
  799. package/dist/lib/openapi/spec/tag-schema.d.ts +2 -2
  800. package/dist/lib/openapi/spec/tag-schema.js +2 -2
  801. package/dist/lib/openapi/spec/tag-schema.js.map +1 -1
  802. package/dist/lib/openapi/spec/tag-with-version-schema.d.ts +2 -2
  803. package/dist/lib/openapi/spec/tags-bulk-add-schema.d.ts +4 -4
  804. package/dist/lib/openapi/spec/tags-schema.d.ts +2 -2
  805. package/dist/lib/openapi/spec/update-context-field-schema.d.ts +1 -1
  806. package/dist/lib/openapi/spec/update-context-field-schema.js +1 -1
  807. package/dist/lib/openapi/spec/update-context-field-schema.js.map +1 -1
  808. package/dist/lib/openapi/spec/update-feature-schema.d.ts +6 -4
  809. package/dist/lib/openapi/spec/update-feature-schema.d.ts.map +1 -1
  810. package/dist/lib/openapi/spec/update-feature-schema.js +1 -1
  811. package/dist/lib/openapi/spec/update-feature-schema.js.map +1 -1
  812. package/dist/lib/openapi/spec/update-feature-strategy-schema.d.ts +6 -4
  813. package/dist/lib/openapi/spec/update-feature-strategy-schema.d.ts.map +1 -1
  814. package/dist/lib/openapi/spec/update-feature-strategy-schema.js +1 -1
  815. package/dist/lib/openapi/spec/update-feature-strategy-schema.js.map +1 -1
  816. package/dist/lib/openapi/spec/update-feature-type-lifetime-schema.d.ts +1 -1
  817. package/dist/lib/openapi/spec/update-feature-type-lifetime-schema.js +1 -1
  818. package/dist/lib/openapi/spec/update-feature-type-lifetime-schema.js.map +1 -1
  819. package/dist/lib/openapi/spec/update-strategy-schema.d.ts +1 -1
  820. package/dist/lib/openapi/spec/update-strategy-schema.js +1 -1
  821. package/dist/lib/openapi/spec/update-strategy-schema.js.map +1 -1
  822. package/dist/lib/openapi/spec/update-tags-schema.d.ts +2 -2
  823. package/dist/lib/openapi/spec/upsert-segment-schema.d.ts +5 -3
  824. package/dist/lib/openapi/spec/upsert-segment-schema.d.ts.map +1 -1
  825. package/dist/lib/openapi/spec/upsert-segment-schema.test.js +6 -2
  826. package/dist/lib/openapi/spec/upsert-segment-schema.test.js.map +1 -1
  827. package/dist/lib/openapi/spec/user-access-overview-schema.d.ts +1 -1
  828. package/dist/lib/openapi/spec/user-schema.d.ts +1 -1
  829. package/dist/lib/openapi/spec/user-schema.js +1 -1
  830. package/dist/lib/openapi/spec/user-schema.js.map +1 -1
  831. package/dist/lib/openapi/spec/users-groups-base-schema.d.ts +4 -4
  832. package/dist/lib/openapi/spec/users-schema.d.ts +2 -2
  833. package/dist/lib/openapi/spec/users-schema.js +1 -1
  834. package/dist/lib/openapi/spec/users-schema.js.map +1 -1
  835. package/dist/lib/openapi/spec/users-search-schema.d.ts +1 -1
  836. package/dist/lib/openapi/spec/validated-edge-tokens-schema.d.ts +3 -3
  837. package/dist/lib/openapi/spec/variant-schema.d.ts +3 -3
  838. package/dist/lib/openapi/spec/variant-schema.js +3 -3
  839. package/dist/lib/openapi/spec/variant-schema.js.map +1 -1
  840. package/dist/lib/openapi/spec/variants-schema.d.ts +3 -3
  841. package/dist/lib/openapi/util/openapi-tags.d.ts +40 -40
  842. package/dist/lib/openapi/util/openapi-tags.js +20 -20
  843. package/dist/lib/openapi/util/openapi-tags.js.map +1 -1
  844. package/dist/lib/openapi/validate.d.ts +2 -2
  845. package/dist/lib/openapi/validate.d.ts.map +1 -1
  846. package/dist/lib/routes/admin-api/addon.d.ts +1 -2
  847. package/dist/lib/routes/admin-api/addon.d.ts.map +1 -1
  848. package/dist/lib/routes/admin-api/addon.js +1 -2
  849. package/dist/lib/routes/admin-api/addon.js.map +1 -1
  850. package/dist/lib/routes/admin-api/api-token.js +2 -2
  851. package/dist/lib/routes/admin-api/api-token.js.map +1 -1
  852. package/dist/lib/routes/admin-api/event.d.ts +1 -1
  853. package/dist/lib/routes/admin-api/event.d.ts.map +1 -1
  854. package/dist/lib/routes/admin-api/event.js +1 -1
  855. package/dist/lib/routes/admin-api/event.js.map +1 -1
  856. package/dist/lib/routes/admin-api/events.test.js +1 -1
  857. package/dist/lib/routes/admin-api/events.test.js.map +1 -1
  858. package/dist/lib/routes/admin-api/feature-type.d.ts +1 -2
  859. package/dist/lib/routes/admin-api/feature-type.d.ts.map +1 -1
  860. package/dist/lib/routes/admin-api/feature-type.js +2 -3
  861. package/dist/lib/routes/admin-api/feature-type.js.map +1 -1
  862. package/dist/lib/routes/admin-api/instance-admin.d.ts +1 -3
  863. package/dist/lib/routes/admin-api/instance-admin.d.ts.map +1 -1
  864. package/dist/lib/routes/admin-api/instance-admin.js +8 -4
  865. package/dist/lib/routes/admin-api/instance-admin.js.map +1 -1
  866. package/dist/lib/routes/admin-api/metrics.d.ts +2 -3
  867. package/dist/lib/routes/admin-api/metrics.d.ts.map +1 -1
  868. package/dist/lib/routes/admin-api/metrics.js +2 -3
  869. package/dist/lib/routes/admin-api/metrics.js.map +1 -1
  870. package/dist/lib/routes/admin-api/project/api-token.d.ts +0 -1
  871. package/dist/lib/routes/admin-api/project/api-token.d.ts.map +1 -1
  872. package/dist/lib/routes/admin-api/project/api-token.js +3 -4
  873. package/dist/lib/routes/admin-api/project/api-token.js.map +1 -1
  874. package/dist/lib/routes/admin-api/project/health-report.js +1 -1
  875. package/dist/lib/routes/admin-api/project/health-report.js.map +1 -1
  876. package/dist/lib/routes/admin-api/public-signup.d.ts +2 -4
  877. package/dist/lib/routes/admin-api/public-signup.d.ts.map +1 -1
  878. package/dist/lib/routes/admin-api/public-signup.js +2 -4
  879. package/dist/lib/routes/admin-api/public-signup.js.map +1 -1
  880. package/dist/lib/routes/admin-api/search/index.d.ts +1 -1
  881. package/dist/lib/routes/admin-api/search/index.d.ts.map +1 -1
  882. package/dist/lib/routes/admin-api/search/index.js +1 -1
  883. package/dist/lib/routes/admin-api/search/index.js.map +1 -1
  884. package/dist/lib/routes/admin-api/strategy.d.ts +1 -2
  885. package/dist/lib/routes/admin-api/strategy.d.ts.map +1 -1
  886. package/dist/lib/routes/admin-api/strategy.js +7 -8
  887. package/dist/lib/routes/admin-api/strategy.js.map +1 -1
  888. package/dist/lib/routes/admin-api/strategy.test.js +25 -1
  889. package/dist/lib/routes/admin-api/strategy.test.js.map +1 -1
  890. package/dist/lib/routes/admin-api/tag.d.ts +2 -4
  891. package/dist/lib/routes/admin-api/tag.d.ts.map +1 -1
  892. package/dist/lib/routes/admin-api/tag.js +4 -6
  893. package/dist/lib/routes/admin-api/tag.js.map +1 -1
  894. package/dist/lib/routes/admin-api/telemetry.d.ts +1 -1
  895. package/dist/lib/routes/admin-api/telemetry.d.ts.map +1 -1
  896. package/dist/lib/routes/admin-api/telemetry.js +1 -1
  897. package/dist/lib/routes/admin-api/telemetry.js.map +1 -1
  898. package/dist/lib/routes/admin-api/user/pat.js +3 -3
  899. package/dist/lib/routes/admin-api/user/pat.js.map +1 -1
  900. package/dist/lib/routes/admin-api/user/user.test.js +2 -2
  901. package/dist/lib/routes/admin-api/user/user.test.js.map +1 -1
  902. package/dist/lib/routes/admin-api/user-admin.d.ts +3 -3
  903. package/dist/lib/routes/admin-api/user-admin.d.ts.map +1 -1
  904. package/dist/lib/routes/admin-api/user-admin.js +4 -4
  905. package/dist/lib/routes/admin-api/user-admin.js.map +1 -1
  906. package/dist/lib/routes/admin-api/user-feedback.d.ts +0 -1
  907. package/dist/lib/routes/admin-api/user-feedback.d.ts.map +1 -1
  908. package/dist/lib/routes/admin-api/user-feedback.js +2 -3
  909. package/dist/lib/routes/admin-api/user-feedback.js.map +1 -1
  910. package/dist/lib/routes/admin-api/user-splash.d.ts +0 -1
  911. package/dist/lib/routes/admin-api/user-splash.d.ts.map +1 -1
  912. package/dist/lib/routes/admin-api/user-splash.js +0 -1
  913. package/dist/lib/routes/admin-api/user-splash.js.map +1 -1
  914. package/dist/lib/routes/auth/reset-password-controller.d.ts +0 -1
  915. package/dist/lib/routes/auth/reset-password-controller.d.ts.map +1 -1
  916. package/dist/lib/routes/auth/reset-password-controller.js +0 -1
  917. package/dist/lib/routes/auth/reset-password-controller.js.map +1 -1
  918. package/dist/lib/routes/auth/simple-password-provider.d.ts +0 -1
  919. package/dist/lib/routes/auth/simple-password-provider.d.ts.map +1 -1
  920. package/dist/lib/routes/auth/simple-password-provider.js +0 -1
  921. package/dist/lib/routes/auth/simple-password-provider.js.map +1 -1
  922. package/dist/lib/routes/auth/simple-password-provider.test.js +2 -2
  923. package/dist/lib/routes/auth/simple-password-provider.test.js.map +1 -1
  924. package/dist/lib/routes/backstage.js +3 -3
  925. package/dist/lib/routes/backstage.js.map +1 -1
  926. package/dist/lib/routes/health-check.d.ts +0 -2
  927. package/dist/lib/routes/health-check.d.ts.map +1 -1
  928. package/dist/lib/routes/health-check.js +0 -2
  929. package/dist/lib/routes/health-check.js.map +1 -1
  930. package/dist/lib/routes/health-check.test.js +2 -2
  931. package/dist/lib/routes/health-check.test.js.map +1 -1
  932. package/dist/lib/routes/index.d.ts.map +1 -1
  933. package/dist/lib/routes/index.js +2 -0
  934. package/dist/lib/routes/index.js.map +1 -1
  935. package/dist/lib/routes/logout.test.js +5 -5
  936. package/dist/lib/routes/logout.test.js.map +1 -1
  937. package/dist/lib/routes/public-invite.d.ts +0 -1
  938. package/dist/lib/routes/public-invite.d.ts.map +1 -1
  939. package/dist/lib/routes/public-invite.js +0 -1
  940. package/dist/lib/routes/public-invite.js.map +1 -1
  941. package/dist/lib/routes/ready-check.d.ts +14 -0
  942. package/dist/lib/routes/ready-check.d.ts.map +1 -0
  943. package/dist/lib/routes/ready-check.js +86 -0
  944. package/dist/lib/routes/ready-check.js.map +1 -0
  945. package/dist/lib/schema/constraint-value-types.d.ts +1 -1
  946. package/dist/lib/schema/constraint-value-types.d.ts.map +1 -1
  947. package/dist/lib/server-impl.d.ts +6 -6
  948. package/dist/lib/server-impl.d.ts.map +1 -1
  949. package/dist/lib/server-impl.js +14 -4
  950. package/dist/lib/server-impl.js.map +1 -1
  951. package/dist/lib/services/access-service.d.ts +2 -1
  952. package/dist/lib/services/access-service.d.ts.map +1 -1
  953. package/dist/lib/services/access-service.js +20 -1
  954. package/dist/lib/services/access-service.js.map +1 -1
  955. package/dist/lib/services/access-service.test.js +21 -4
  956. package/dist/lib/services/access-service.test.js.map +1 -1
  957. package/dist/lib/services/account-service.d.ts.map +1 -1
  958. package/dist/lib/services/account-service.js +1 -0
  959. package/dist/lib/services/account-service.js.map +1 -1
  960. package/dist/lib/services/addon-service.d.ts +2 -2
  961. package/dist/lib/services/addon-service.d.ts.map +1 -1
  962. package/dist/lib/services/addon-service.js +22 -21
  963. package/dist/lib/services/addon-service.js.map +1 -1
  964. package/dist/lib/services/addon-service.test.js +1 -1
  965. package/dist/lib/services/addon-service.test.js.map +1 -1
  966. package/dist/lib/services/api-token-service.limit.test.js.map +1 -1
  967. package/dist/lib/services/api-token-service.test.js +2 -2
  968. package/dist/lib/services/api-token-service.test.js.map +1 -1
  969. package/dist/lib/services/client-spec-service.d.ts +1 -2
  970. package/dist/lib/services/client-spec-service.d.ts.map +1 -1
  971. package/dist/lib/services/client-spec-service.js +1 -2
  972. package/dist/lib/services/client-spec-service.js.map +1 -1
  973. package/dist/lib/services/favorites-service.d.ts +1 -3
  974. package/dist/lib/services/favorites-service.d.ts.map +1 -1
  975. package/dist/lib/services/favorites-service.js +2 -4
  976. package/dist/lib/services/favorites-service.js.map +1 -1
  977. package/dist/lib/services/feature-tag-service.d.ts.map +1 -1
  978. package/dist/lib/services/feature-tag-service.js +1 -0
  979. package/dist/lib/services/feature-tag-service.js.map +1 -1
  980. package/dist/lib/services/group-service.d.ts +2 -2
  981. package/dist/lib/services/group-service.d.ts.map +1 -1
  982. package/dist/lib/services/group-service.js +3 -2
  983. package/dist/lib/services/group-service.js.map +1 -1
  984. package/dist/lib/services/health-service.d.ts +1 -3
  985. package/dist/lib/services/health-service.d.ts.map +1 -1
  986. package/dist/lib/services/health-service.js +1 -2
  987. package/dist/lib/services/health-service.js.map +1 -1
  988. package/dist/lib/services/index.js +1 -1
  989. package/dist/lib/services/index.js.map +1 -1
  990. package/dist/lib/services/openapi-service.js +7 -5
  991. package/dist/lib/services/openapi-service.js.map +1 -1
  992. package/dist/lib/services/public-signup-token-service.d.ts +0 -1
  993. package/dist/lib/services/public-signup-token-service.d.ts.map +1 -1
  994. package/dist/lib/services/public-signup-token-service.js +0 -1
  995. package/dist/lib/services/public-signup-token-service.js.map +1 -1
  996. package/dist/lib/services/reset-token-service.js +3 -3
  997. package/dist/lib/services/reset-token-service.js.map +1 -1
  998. package/dist/lib/services/strategy-service.d.ts +4 -2
  999. package/dist/lib/services/strategy-service.d.ts.map +1 -1
  1000. package/dist/lib/services/strategy-service.js +15 -3
  1001. package/dist/lib/services/strategy-service.js.map +1 -1
  1002. package/dist/lib/services/user-service.js +2 -2
  1003. package/dist/lib/services/user-service.js.map +1 -1
  1004. package/dist/lib/services/user-service.test.js +5 -1
  1005. package/dist/lib/services/user-service.test.js.map +1 -1
  1006. package/dist/lib/services/user-splash-service.d.ts.map +1 -1
  1007. package/dist/lib/services/user-splash-service.js +7 -1
  1008. package/dist/lib/services/user-splash-service.js.map +1 -1
  1009. package/dist/lib/services/version-service.d.ts +8 -1
  1010. package/dist/lib/services/version-service.d.ts.map +1 -1
  1011. package/dist/lib/services/version-service.js +5 -1
  1012. package/dist/lib/services/version-service.js.map +1 -1
  1013. package/dist/lib/services/version-service.test.js +44 -0
  1014. package/dist/lib/services/version-service.test.js.map +1 -1
  1015. package/dist/lib/types/events.d.ts +5 -18
  1016. package/dist/lib/types/events.d.ts.map +1 -1
  1017. package/dist/lib/types/events.js +6 -15
  1018. package/dist/lib/types/events.js.map +1 -1
  1019. package/dist/lib/types/experimental.d.ts +1 -1
  1020. package/dist/lib/types/experimental.d.ts.map +1 -1
  1021. package/dist/lib/types/experimental.js +12 -12
  1022. package/dist/lib/types/experimental.js.map +1 -1
  1023. package/dist/lib/types/option.d.ts +8 -0
  1024. package/dist/lib/types/option.d.ts.map +1 -1
  1025. package/dist/lib/ui-config/ui-config-controller.d.ts +2 -8
  1026. package/dist/lib/ui-config/ui-config-controller.d.ts.map +1 -1
  1027. package/dist/lib/ui-config/ui-config-controller.js +3 -59
  1028. package/dist/lib/ui-config/ui-config-controller.js.map +1 -1
  1029. package/dist/lib/ui-config/ui-config-service.d.ts.map +1 -1
  1030. package/dist/lib/ui-config/ui-config-service.js.map +1 -1
  1031. package/dist/lib/ui-config/ui-config.test.js +2 -2
  1032. package/dist/lib/ui-config/ui-config.test.js.map +1 -1
  1033. package/dist/lib/users/inactive/fakes/fake-inactive-users-store.d.ts.map +1 -1
  1034. package/dist/lib/users/inactive/fakes/fake-inactive-users-store.js +1 -0
  1035. package/dist/lib/users/inactive/fakes/fake-inactive-users-store.js.map +1 -1
  1036. package/dist/lib/users/inactive/inactive-users-store.d.ts +1 -3
  1037. package/dist/lib/users/inactive/inactive-users-store.d.ts.map +1 -1
  1038. package/dist/lib/users/inactive/inactive-users-store.js +1 -3
  1039. package/dist/lib/users/inactive/inactive-users-store.js.map +1 -1
  1040. package/dist/lib/util/anonymise.test.js.map +1 -1
  1041. package/dist/lib/util/batchExecute.d.ts.map +1 -1
  1042. package/dist/lib/util/batchExecute.js +3 -1
  1043. package/dist/lib/util/batchExecute.js.map +1 -1
  1044. package/dist/lib/util/flag-resolver.d.ts.map +1 -1
  1045. package/dist/lib/util/flag-resolver.js +11 -3
  1046. package/dist/lib/util/flag-resolver.js.map +1 -1
  1047. package/dist/lib/util/flag-resolver.test.js +66 -15
  1048. package/dist/lib/util/flag-resolver.test.js.map +1 -1
  1049. package/dist/lib/util/graceful-shutdown.js +1 -1
  1050. package/dist/lib/util/graceful-shutdown.js.map +1 -1
  1051. package/dist/lib/util/parseEnvVar.d.ts +2 -0
  1052. package/dist/lib/util/parseEnvVar.d.ts.map +1 -1
  1053. package/dist/lib/util/parseEnvVar.js +21 -1
  1054. package/dist/lib/util/parseEnvVar.js.map +1 -1
  1055. package/dist/lib/util/parseEnvVar.test.js +24 -1
  1056. package/dist/lib/util/parseEnvVar.test.js.map +1 -1
  1057. package/dist/lib/util/postgres-version-checker.test.js +17 -5
  1058. package/dist/lib/util/postgres-version-checker.test.js.map +1 -1
  1059. package/dist/lib/util/semver.js +1 -1
  1060. package/dist/lib/util/semver.js.map +1 -1
  1061. package/dist/lib/util/validateJsonString.js +1 -1
  1062. package/dist/lib/util/validateJsonString.js.map +1 -1
  1063. package/dist/mailtemplates/getting-started/getting-started.html.mustache +1 -1
  1064. package/dist/migrations/20251027094509-milestone-progression-natural-pk.d.ts +3 -0
  1065. package/dist/migrations/20251027094509-milestone-progression-natural-pk.d.ts.map +1 -0
  1066. package/dist/migrations/20251027094509-milestone-progression-natural-pk.js +22 -0
  1067. package/dist/migrations/20251027094509-milestone-progression-natural-pk.js.map +1 -0
  1068. package/dist/migrations/20251103114221-milestone-progression-paused-at.d.ts +3 -0
  1069. package/dist/migrations/20251103114221-milestone-progression-paused-at.d.ts.map +1 -0
  1070. package/dist/migrations/20251103114221-milestone-progression-paused-at.js +14 -0
  1071. package/dist/migrations/20251103114221-milestone-progression-paused-at.js.map +1 -0
  1072. package/dist/migrations/20251105153729-create-safeguards-table.d.ts +3 -0
  1073. package/dist/migrations/20251105153729-create-safeguards-table.d.ts.map +1 -0
  1074. package/dist/migrations/20251105153729-create-safeguards-table.js +17 -0
  1075. package/dist/migrations/20251105153729-create-safeguards-table.js.map +1 -0
  1076. package/dist/migrations/20251118131212-edge-observability-hosting.d.ts +3 -0
  1077. package/dist/migrations/20251118131212-edge-observability-hosting.d.ts.map +1 -0
  1078. package/dist/migrations/20251118131212-edge-observability-hosting.js +14 -0
  1079. package/dist/migrations/20251118131212-edge-observability-hosting.js.map +1 -0
  1080. package/dist/migrations/20251209090115-add-default-release-plan-template.d.ts +3 -0
  1081. package/dist/migrations/20251209090115-add-default-release-plan-template.d.ts.map +1 -0
  1082. package/dist/migrations/20251209090115-add-default-release-plan-template.js +45 -0
  1083. package/dist/migrations/20251209090115-add-default-release-plan-template.js.map +1 -0
  1084. package/dist/server-dev.js +3 -7
  1085. package/dist/server-dev.js.map +1 -1
  1086. package/dist/test/arbitraries.test.d.ts.map +1 -1
  1087. package/dist/test/arbitraries.test.js +1 -0
  1088. package/dist/test/arbitraries.test.js.map +1 -1
  1089. package/dist/test/config/create-config.test.js +2 -2
  1090. package/dist/test/config/create-config.test.js.map +1 -1
  1091. package/dist/test/e2e/api/admin/addon.e2e.test.js +4 -1
  1092. package/dist/test/e2e/api/admin/addon.e2e.test.js.map +1 -1
  1093. package/dist/test/e2e/api/admin/api-token.auth.e2e.test.js +6 -3
  1094. package/dist/test/e2e/api/admin/api-token.auth.e2e.test.js.map +1 -1
  1095. package/dist/test/e2e/api/admin/api-token.e2e.test.js +12 -3
  1096. package/dist/test/e2e/api/admin/api-token.e2e.test.js.map +1 -1
  1097. package/dist/test/e2e/api/admin/conditional-middleware.e2e.test.js +8 -8
  1098. package/dist/test/e2e/api/admin/conditional-middleware.e2e.test.js.map +1 -1
  1099. package/dist/test/e2e/api/admin/feature-type.test.js +4 -1
  1100. package/dist/test/e2e/api/admin/feature-type.test.js.map +1 -1
  1101. package/dist/test/e2e/api/admin/feature.custom-auth.e2e.test.js +3 -3
  1102. package/dist/test/e2e/api/admin/feature.custom-auth.e2e.test.js.map +1 -1
  1103. package/dist/test/e2e/api/admin/feedback.e2e.test.js +3 -3
  1104. package/dist/test/e2e/api/admin/feedback.e2e.test.js.map +1 -1
  1105. package/dist/test/e2e/api/admin/metrics.e2e.test.js +3 -3
  1106. package/dist/test/e2e/api/admin/metrics.e2e.test.js.map +1 -1
  1107. package/dist/test/e2e/api/admin/playground.e2e.test.js +1 -1
  1108. package/dist/test/e2e/api/admin/playground.e2e.test.js.map +1 -1
  1109. package/dist/test/e2e/api/admin/project/project.api.tokens.e2e.test.js +5 -1
  1110. package/dist/test/e2e/api/admin/project/project.api.tokens.e2e.test.js.map +1 -1
  1111. package/dist/test/e2e/api/admin/project/project.health.e2e.test.js +1 -1
  1112. package/dist/test/e2e/api/admin/project/project.health.e2e.test.js.map +1 -1
  1113. package/dist/test/e2e/api/admin/project/variants.e2e.test.js +2 -2
  1114. package/dist/test/e2e/api/admin/project/variants.e2e.test.js.map +1 -1
  1115. package/dist/test/e2e/api/admin/public-signup-token.e2e.test.js +12 -12
  1116. package/dist/test/e2e/api/admin/public-signup-token.e2e.test.js.map +1 -1
  1117. package/dist/test/e2e/api/admin/splash.e2e.test.js +3 -3
  1118. package/dist/test/e2e/api/admin/splash.e2e.test.js.map +1 -1
  1119. package/dist/test/e2e/api/admin/user/pat.e2e.test.d.ts +1 -1
  1120. package/dist/test/e2e/api/admin/user/pat.e2e.test.js +1 -1
  1121. package/dist/test/e2e/api/admin/user-admin.e2e.test.js +1 -1
  1122. package/dist/test/e2e/api/admin/user-admin.e2e.test.js.map +1 -1
  1123. package/dist/test/e2e/api/client/bulk-metrics-rejections.e2e.test.d.ts +2 -0
  1124. package/dist/test/e2e/api/client/bulk-metrics-rejections.e2e.test.d.ts.map +1 -0
  1125. package/dist/test/e2e/api/client/bulk-metrics-rejections.e2e.test.js +173 -0
  1126. package/dist/test/e2e/api/client/bulk-metrics-rejections.e2e.test.js.map +1 -0
  1127. package/dist/test/e2e/api/client/feature.auth-none.e2e.test.js +1 -1
  1128. package/dist/test/e2e/api/client/feature.auth-none.e2e.test.js.map +1 -1
  1129. package/dist/test/e2e/api/client/feature.optimal304.e2e.test.js.map +1 -1
  1130. package/dist/test/e2e/api/client/feature.token.access.e2e.test.js +1 -1
  1131. package/dist/test/e2e/api/client/feature.token.access.e2e.test.js.map +1 -1
  1132. package/dist/test/e2e/api/client/metrics.e2e.test.js +2 -1
  1133. package/dist/test/e2e/api/client/metrics.e2e.test.js.map +1 -1
  1134. package/dist/test/e2e/api/client/register.e2e.test.js +4 -4
  1135. package/dist/test/e2e/api/client/register.e2e.test.js.map +1 -1
  1136. package/dist/test/e2e/custom-auth.test.js +2 -2
  1137. package/dist/test/e2e/custom-auth.test.js.map +1 -1
  1138. package/dist/test/e2e/features-created-by-user-id-data-migration.e2e.test.js +4 -4
  1139. package/dist/test/e2e/features-created-by-user-id-data-migration.e2e.test.js.map +1 -1
  1140. package/dist/test/e2e/helpers/database-init.d.ts +1 -1
  1141. package/dist/test/e2e/helpers/database-init.d.ts.map +1 -1
  1142. package/dist/test/e2e/helpers/database-init.js +1 -1
  1143. package/dist/test/e2e/helpers/database-init.js.map +1 -1
  1144. package/dist/test/e2e/ready.e2e.test.d.ts +2 -0
  1145. package/dist/test/e2e/ready.e2e.test.d.ts.map +1 -0
  1146. package/dist/test/e2e/ready.e2e.test.js +66 -0
  1147. package/dist/test/e2e/ready.e2e.test.js.map +1 -0
  1148. package/dist/test/e2e/seed/segment.seed.js +2 -2
  1149. package/dist/test/e2e/seed/segment.seed.js.map +1 -1
  1150. package/dist/test/e2e/services/access-service.e2e.test.js +34 -2
  1151. package/dist/test/e2e/services/access-service.e2e.test.js.map +1 -1
  1152. package/dist/test/e2e/services/addon-service.e2e.test.js +1 -1
  1153. package/dist/test/e2e/services/addon-service.e2e.test.js.map +1 -1
  1154. package/dist/test/e2e/services/api-token-service.e2e.test.js +1 -1
  1155. package/dist/test/e2e/services/api-token-service.e2e.test.js.map +1 -1
  1156. package/dist/test/e2e/services/playground-service.test.js +18 -12
  1157. package/dist/test/e2e/services/playground-service.test.js.map +1 -1
  1158. package/dist/test/e2e/services/setting-service.test.js +2 -2
  1159. package/dist/test/e2e/services/setting-service.test.js.map +1 -1
  1160. package/dist/test/e2e/services/user-service.e2e.test.js +1 -1
  1161. package/dist/test/e2e/services/user-service.e2e.test.js.map +1 -1
  1162. package/dist/test/e2e/stores/client-application-store.e2e.test.js +22 -23
  1163. package/dist/test/e2e/stores/client-application-store.e2e.test.js.map +1 -1
  1164. package/dist/test/e2e/stores/client-instance-store.e2e.test.js +2 -2
  1165. package/dist/test/e2e/stores/client-instance-store.e2e.test.js.map +1 -1
  1166. package/dist/test/e2e/stores/context-field-store.e2e.test.js +2 -2
  1167. package/dist/test/e2e/stores/context-field-store.e2e.test.js.map +1 -1
  1168. package/dist/test/fixtures/access-service-mock.d.ts +13 -13
  1169. package/dist/test/fixtures/access-service-mock.d.ts.map +1 -1
  1170. package/dist/test/fixtures/access-service-mock.js +13 -13
  1171. package/dist/test/fixtures/access-service-mock.js.map +1 -1
  1172. package/dist/test/fixtures/fake-access-store.d.ts +38 -34
  1173. package/dist/test/fixtures/fake-access-store.d.ts.map +1 -1
  1174. package/dist/test/fixtures/fake-access-store.js +37 -35
  1175. package/dist/test/fixtures/fake-access-store.js.map +1 -1
  1176. package/dist/test/fixtures/fake-account-store.d.ts +2 -2
  1177. package/dist/test/fixtures/fake-account-store.d.ts.map +1 -1
  1178. package/dist/test/fixtures/fake-account-store.js +2 -2
  1179. package/dist/test/fixtures/fake-account-store.js.map +1 -1
  1180. package/dist/test/fixtures/fake-client-applications-store.d.ts +2 -2
  1181. package/dist/test/fixtures/fake-client-applications-store.d.ts.map +1 -1
  1182. package/dist/test/fixtures/fake-client-applications-store.js +6 -4
  1183. package/dist/test/fixtures/fake-client-applications-store.js.map +1 -1
  1184. package/dist/test/fixtures/fake-client-instance-store.d.ts +1 -1
  1185. package/dist/test/fixtures/fake-client-instance-store.d.ts.map +1 -1
  1186. package/dist/test/fixtures/fake-client-instance-store.js +4 -2
  1187. package/dist/test/fixtures/fake-client-instance-store.js.map +1 -1
  1188. package/dist/test/fixtures/fake-event-store.d.ts +3 -3
  1189. package/dist/test/fixtures/fake-event-store.d.ts.map +1 -1
  1190. package/dist/test/fixtures/fake-event-store.js +3 -3
  1191. package/dist/test/fixtures/fake-event-store.js.map +1 -1
  1192. package/dist/test/fixtures/fake-favorite-features-store.d.ts +5 -5
  1193. package/dist/test/fixtures/fake-favorite-features-store.d.ts.map +1 -1
  1194. package/dist/test/fixtures/fake-favorite-features-store.js +5 -5
  1195. package/dist/test/fixtures/fake-favorite-features-store.js.map +1 -1
  1196. package/dist/test/fixtures/fake-favorite-projects-store.d.ts +5 -5
  1197. package/dist/test/fixtures/fake-favorite-projects-store.d.ts.map +1 -1
  1198. package/dist/test/fixtures/fake-favorite-projects-store.js +5 -5
  1199. package/dist/test/fixtures/fake-favorite-projects-store.js.map +1 -1
  1200. package/dist/test/fixtures/fake-feature-environment-store.d.ts +9 -9
  1201. package/dist/test/fixtures/fake-feature-environment-store.d.ts.map +1 -1
  1202. package/dist/test/fixtures/fake-feature-environment-store.js +19 -19
  1203. package/dist/test/fixtures/fake-feature-environment-store.js.map +1 -1
  1204. package/dist/test/fixtures/fake-feature-tag-store.d.ts +1 -1
  1205. package/dist/test/fixtures/fake-feature-tag-store.d.ts.map +1 -1
  1206. package/dist/test/fixtures/fake-feature-tag-store.js +2 -2
  1207. package/dist/test/fixtures/fake-feature-tag-store.js.map +1 -1
  1208. package/dist/test/fixtures/fake-group-store.d.ts +16 -16
  1209. package/dist/test/fixtures/fake-group-store.d.ts.map +1 -1
  1210. package/dist/test/fixtures/fake-group-store.js +16 -16
  1211. package/dist/test/fixtures/fake-group-store.js.map +1 -1
  1212. package/dist/test/fixtures/fake-impact-metrics.d.ts +12 -4
  1213. package/dist/test/fixtures/fake-impact-metrics.d.ts.map +1 -1
  1214. package/dist/test/fixtures/fake-impact-metrics.js +50 -26
  1215. package/dist/test/fixtures/fake-impact-metrics.js.map +1 -1
  1216. package/dist/test/fixtures/fake-pat-store.d.ts +9 -9
  1217. package/dist/test/fixtures/fake-pat-store.d.ts.map +1 -1
  1218. package/dist/test/fixtures/fake-pat-store.js +9 -9
  1219. package/dist/test/fixtures/fake-pat-store.js.map +1 -1
  1220. package/dist/test/fixtures/fake-project-store.d.ts +11 -11
  1221. package/dist/test/fixtures/fake-project-store.d.ts.map +1 -1
  1222. package/dist/test/fixtures/fake-project-store.js +16 -16
  1223. package/dist/test/fixtures/fake-project-store.js.map +1 -1
  1224. package/dist/test/fixtures/fake-public-signup-store.d.ts +2 -2
  1225. package/dist/test/fixtures/fake-public-signup-store.d.ts.map +1 -1
  1226. package/dist/test/fixtures/fake-public-signup-store.js +2 -2
  1227. package/dist/test/fixtures/fake-public-signup-store.js.map +1 -1
  1228. package/dist/test/fixtures/fake-role-store.d.ts +9 -9
  1229. package/dist/test/fixtures/fake-role-store.d.ts.map +1 -1
  1230. package/dist/test/fixtures/fake-role-store.js +9 -9
  1231. package/dist/test/fixtures/fake-role-store.js.map +1 -1
  1232. package/dist/test/fixtures/fake-strategies-store.d.ts.map +1 -1
  1233. package/dist/test/fixtures/fake-strategies-store.js +0 -2
  1234. package/dist/test/fixtures/fake-strategies-store.js.map +1 -1
  1235. package/dist/test/fixtures/fake-tag-store.d.ts.map +1 -1
  1236. package/dist/test/fixtures/fake-tag-store.js +4 -2
  1237. package/dist/test/fixtures/fake-tag-store.js.map +1 -1
  1238. package/dist/test/fixtures/fake-user-feedback-store.d.ts +6 -6
  1239. package/dist/test/fixtures/fake-user-feedback-store.d.ts.map +1 -1
  1240. package/dist/test/fixtures/fake-user-feedback-store.js +6 -6
  1241. package/dist/test/fixtures/fake-user-feedback-store.js.map +1 -1
  1242. package/dist/test/fixtures/fake-user-splash-store.d.ts +6 -6
  1243. package/dist/test/fixtures/fake-user-splash-store.d.ts.map +1 -1
  1244. package/dist/test/fixtures/fake-user-splash-store.js +6 -6
  1245. package/dist/test/fixtures/fake-user-splash-store.js.map +1 -1
  1246. package/dist/test/fixtures/fake-user-store.d.ts +2 -2
  1247. package/dist/test/fixtures/fake-user-store.d.ts.map +1 -1
  1248. package/dist/test/fixtures/fake-user-store.js +2 -2
  1249. package/dist/test/fixtures/fake-user-store.js.map +1 -1
  1250. package/dist/test/fixtures/permissions.js +1 -1
  1251. package/dist/test/fixtures/permissions.js.map +1 -1
  1252. package/frontend/build/index.html +2 -2
  1253. package/frontend/build/static/{AdvancedPlayground-HWcSRQrt.js → AdvancedPlayground-CmMV64it.js} +2 -2
  1254. package/frontend/build/static/BackendConnections-MqHimHCS.js +1 -0
  1255. package/frontend/build/static/{CreateProject-3uUrdDWJ.js → CreateProject-ChlGOrPC.js} +1 -1
  1256. package/frontend/build/static/EnterpriseEdge-cJFso1xz.js +1 -0
  1257. package/frontend/build/static/FeatureMetricsChart-Bt6HiI-s.js +2 -0
  1258. package/frontend/build/static/FeatureStaleDialog-DZEtcHDT.js +7 -0
  1259. package/frontend/build/static/FeatureViewLazyExport-BPB1jWYz.js +10 -0
  1260. package/frontend/build/static/{FlagMetricsChart-DFDJ4xPh.js → FlagMetricsChart-CvsBPrQG.js} +2 -2
  1261. package/frontend/build/static/FrontendNetworkTrafficUsage-D8l5Nldl.js +1 -0
  1262. package/frontend/build/static/GridLayoutWrapper-2osRRgh4.js +3 -0
  1263. package/frontend/build/static/ImpactMetricsPage-Chv_7_jx.js +1 -0
  1264. package/frontend/build/static/LazyAdminExport-BOTczpO1.js +38 -0
  1265. package/frontend/build/static/LazyProjectExport-DPAYnCIy.js +728 -0
  1266. package/frontend/build/static/{LifecycleChartComponent-BOcT_Zpy.js → LifecycleChartComponent-DubZNJlv.js} +3 -3
  1267. package/frontend/build/static/{LineChartComponent-CudSs6ri.js → LineChartComponent-CY-8M35z.js} +1 -1
  1268. package/frontend/build/static/{MarkCompletedDialogue-4XT7ryE9.js → MarkCompletedDialogue-BwS_OP77.js} +1 -1
  1269. package/frontend/build/static/NetworkOverview-p_eqqiwO.js +1 -0
  1270. package/frontend/build/static/{NetworkPrometheusAPIWarning-Cy93jJcu.js → NetworkPrometheusAPIWarning-BhqdG7Dp.js} +1 -1
  1271. package/frontend/build/static/{NetworkTraffic-BTN3OABv.js → NetworkTraffic-NxX5X_w8.js} +1 -1
  1272. package/frontend/build/static/NetworkTrafficUsage-B-4F8Mzq.js +1 -0
  1273. package/frontend/build/static/{PercentageDonut-CmWbqKEA.js → PercentageDonut-BoaVP9ed.js} +1 -1
  1274. package/frontend/build/static/{ReactJSONEditor-xNDjbhPU.js → ReactJSONEditor-DfZdSwoC.js} +1 -1
  1275. package/frontend/build/static/RoleCell-Da0TjMne.js +1 -0
  1276. package/frontend/build/static/aggregateFeatureMetrics-yZy5qwho.js +1 -0
  1277. package/frontend/build/static/banner-progression-B6JPzTEE.svg +52 -0
  1278. package/frontend/build/static/enterpriseEdgeCloud-DzRtm8v6.svg +58 -0
  1279. package/frontend/build/static/enterpriseEdgeSelfHosted-4bnmOQVF.svg +44 -0
  1280. package/frontend/build/static/{formatTickValue-4OyGeZqN.js → formatTickValue-Csg87IVi.js} +2 -2
  1281. package/frontend/build/static/index-BAMIkcom.js +542 -0
  1282. package/frontend/build/static/{networkTrafficUsageHighlightPlugin-CT-MfVrm.js → networkTrafficUsageHighlightPlugin-Dje5Vuvo.js} +1 -1
  1283. package/frontend/build/static/new-feature-badge-FwMmHlwT.svg +7 -0
  1284. package/frontend/build/static/style-BfdqROT6.css +1 -0
  1285. package/frontend/build/static/useApiTokens-Btk4Hd2u.js +1 -0
  1286. package/frontend/package.json +4 -5
  1287. package/package.json +45 -50
  1288. package/dist/lib/features/release-plans/release-plan-read-model-type.d.ts +0 -5
  1289. package/dist/lib/features/release-plans/release-plan-read-model-type.d.ts.map +0 -1
  1290. package/dist/lib/features/release-plans/release-plan-read-model-type.js +0 -2
  1291. package/dist/lib/features/release-plans/release-plan-read-model-type.js.map +0 -1
  1292. package/dist/lib/features/release-plans/release-plan-read-model.d.ts +0 -11
  1293. package/dist/lib/features/release-plans/release-plan-read-model.d.ts.map +0 -1
  1294. package/dist/lib/features/release-plans/release-plan-read-model.js +0 -133
  1295. package/dist/lib/features/release-plans/release-plan-read-model.js.map +0 -1
  1296. package/dist/lib/features/release-plans/release-plan-read-model.test.d.ts +0 -2
  1297. package/dist/lib/features/release-plans/release-plan-read-model.test.d.ts.map +0 -1
  1298. package/dist/lib/features/release-plans/release-plan-read-model.test.js +0 -166
  1299. package/dist/lib/features/release-plans/release-plan-read-model.test.js.map +0 -1
  1300. package/dist/test/fixtures/fake/fake-release-plan-read-model.d.ts +0 -8
  1301. package/dist/test/fixtures/fake/fake-release-plan-read-model.d.ts.map +0 -1
  1302. package/dist/test/fixtures/fake/fake-release-plan-read-model.js +0 -9
  1303. package/dist/test/fixtures/fake/fake-release-plan-read-model.js.map +0 -1
  1304. package/frontend/build/static/BackendConnections-Cug76pb0.js +0 -1
  1305. package/frontend/build/static/FeatureMetricsChart-DLvE4xPU.js +0 -2
  1306. package/frontend/build/static/FeatureStaleDialog-BFWmPzw7.js +0 -7
  1307. package/frontend/build/static/FeatureViewLazyExport-DfivW7sC.js +0 -10
  1308. package/frontend/build/static/FrontendNetworkTrafficUsage-DVa2I8CC.js +0 -1
  1309. package/frontend/build/static/GridLayoutWrapper-Mt7n_5lt.js +0 -3
  1310. package/frontend/build/static/ImpactMetricsPage-B3ERxAH0.js +0 -1
  1311. package/frontend/build/static/LazyAdminExport-s8FIvcqq.js +0 -38
  1312. package/frontend/build/static/LazyProjectExport-DN00bJrc.js +0 -728
  1313. package/frontend/build/static/NetworkConnectedEdges-CnEFuyuC.js +0 -1
  1314. package/frontend/build/static/NetworkOverview-KDe9n7ZE.js +0 -1
  1315. package/frontend/build/static/NetworkTrafficUsage-DwnXvons.js +0 -1
  1316. package/frontend/build/static/RoleCell-DSglYWti.js +0 -1
  1317. package/frontend/build/static/aggregateFeatureMetrics-B7oOoe9g.js +0 -1
  1318. package/frontend/build/static/howToApplyReleaseTemplates-CkjJPTRh.png +0 -0
  1319. package/frontend/build/static/howToApplyReleaseTemplatesDark-CfwfIMua.png +0 -0
  1320. package/frontend/build/static/index-D02pkj6r.js +0 -542
  1321. package/frontend/build/static/merge-C7IT0rZd.svg +0 -3
  1322. package/frontend/build/static/metricsFormatters-7MLBOEud.js +0 -1
  1323. package/frontend/build/static/style-BW9ZTER3.css +0 -1
  1324. package/frontend/build/static/useApiTokens-wTDjjd8a.js +0 -1
@@ -1,2 +1,2 @@
1
- import{dz as w,j5 as F,bv as E,aR as S,r as p,j as r,B as k,j6 as D,bu as A,s as g,j7 as P,j8 as I,j9 as T,ja as B,jb as R,jc as L,jd as N,b as j,T as O,je as y,bs as $,aT as H}from"./index-D02pkj6r.js";import{f as V,a as W}from"./formatTickValue-4OyGeZqN.js";import{F as U,c as _,u as Y,b as z}from"./aggregateFeatureMetrics-B7oOoe9g.js";import{F as G,M as J}from"./MarkCompletedDialogue-4XT7ryE9.js";const q=e=>{const t={label:"Exposed",hoverBackgroundColor:"#A39EFF",backgroundColor:"#A39EFF",data:M(e,n=>n.yes)},a={label:"Not exposed",hoverBackgroundColor:"#D8D6FF",backgroundColor:"#D8D6FF",data:M(e,n=>n.no)};return{datasets:[t,a]}},M=(e,t)=>e.map(a=>({x:a.timestamp,y:t(a),variants:a.variants||{}})),K=(e,t)=>{if(t===0)return"";const[a,n]=e,s=Math.floor(Number(n)/t*100);return`${n} (${s}%) - ${a}`},C=e=>({plugins:{legend:{position:"top",labels:{color:e.palette.text.primary,usePointStyle:!0,pointStyle:"none",boxHeight:0,padding:15,boxPadding:5}},tooltip:{enabled:!1}},responsive:!0,maintainAspectRatio:!1,scales:{x:{stacked:!0,ticks:{display:!1},grid:{display:!1}},y:{stacked:!0,ticks:{maxTicksLimit:5,display:!1},grid:{drawBorder:!1,color:e.palette.divider}}},elements:{bar:{borderRadius:5}},interaction:{mode:"index",intersect:!1}}),Q=(e,t,a)=>{var m;const{responsive:n,elements:s,interaction:c,scales:o,maintainAspectRatio:i}=C(e);return{plugins:{legend:{position:"bottom",labels:{color:e.palette.text.primary,pointStyle:"circle",usePointStyle:!0,boxHeight:6,padding:15,boxPadding:5}},annotation:{clip:!1,annotations:{}},tooltip:{backgroundColor:e.palette.background.paper,titleColor:e.palette.text.primary,bodyColor:e.palette.text.primary,bodySpacing:6,padding:{top:20,bottom:20,left:30,right:30},borderColor:"rgba(0, 0, 0, 0.05)",borderWidth:3,usePointStyle:!0,caretSize:0,boxPadding:10,callbacks:{label:l=>`${l.formattedValue} - ${l.dataset.label}`,afterLabel:l=>{const d=l.dataset.data[l.dataIndex];if(l.dataset.label!=="Exposed"||d.variants===void 0)return"";const{disabled:f,...u}=d.variants;return Object.entries(u).map(b=>K(b,d.y)).join(`
2
- `)},title:l=>`Time: ${t>48?w(l[0].label,a.locale,"UTC"):F(l[0].label,a.locale)}`}}},responsive:n,maintainAspectRatio:i,scales:{x:{...o?o.x:{},ticks:{color:e.palette.text.secondary,callback(l){const d=this.getLabelForValue(Number(l));return t>48?E(d,a.locale,"UTC"):F(d,a.locale)}}},y:{...(o==null?void 0:o.y)??{},ticks:{...((m=o==null?void 0:o.y)==null?void 0:m.ticks)??{},color:e.palette.text.secondary,callback:V,display:!0}}},elements:s,interaction:c}},X=({project:e,flagName:t,onArchive:a,className:n})=>{var f;const{feature:s,refetchFeature:c}=S(e,t),o=(f=s.environments)==null?void 0:f.map(u=>({name:u.name,lastSeenAt:u.lastSeenAt,enabled:u.enabled,yes:u.yes,no:u.no})),[i,m]=p.useState(!1),[l,d]=p.useState(!1);return r.jsxs(k,{sx:{display:"flex"},className:n,children:[r.jsx(D,{sx:{pt:0,pb:0},featureLastSeen:s.lastSeenAt,environments:o}),r.jsx(A,{feature:s,onArchive:()=>m(!0),onComplete:()=>d(!0),onUncomplete:c}),s.children.length>0?r.jsx(U,{features:s.children,project:e,isOpen:i,onClose:()=>m(!1)}):r.jsx(G,{isOpen:i,onConfirm:a,onClose:()=>m(!1),projectId:e,featureIds:[t]}),s.project?r.jsx(J,{isOpen:l,setIsOpen:d,projectId:s.project,featureId:s.name,onComplete:c}):null]})},Z=[0,14,28,21,33,31,31,22,26,37,31,14,21,14,0],ee=e=>({labels:Array.from({length:15},(t,a)=>a+1),datasets:[{data:Z,backgroundColor:e.palette.divider,hoverBackgroundColor:e.palette.divider,label:""}]}),v=g("div")({width:"100%",flexGrow:1}),x=({label:e})=>{const t=j(),a=p.useMemo(()=>C(t),[t]),n=p.useMemo(()=>ee(t),[t]),s="placeholder-chart-label";return r.jsxs(r.Fragment,{children:[r.jsx(O,{id:s,children:e}),r.jsx(v,{children:r.jsx(y,{data:n,options:a,"aria-describedby":s})})]})},te=()=>{const e=j(),t=p.useMemo(()=>C(e),[e]),a=p.useMemo(()=>({labels:[],datasets:[]}),[e]);return r.jsx(v,{children:r.jsx(y,{data:a,options:t,"aria-label":"A placeholder bar chart with a single feature flag exposure metrics"})})},ae=(e,t)=>{const[a,n]=p.useState(null),{feature:s}=S(e,t),c=((s==null?void 0:s.environments)??[]).map(i=>({name:i.name,type:i.type})),o=c.find(i=>i.type==="production");return p.useEffect(()=>{o?n(o.name):c.length>0&&n(c[0].name)},[t,JSON.stringify(c)]),{environment:a,setEnvironment:n,activeEnvironments:c}},re=(e,t,a)=>{const{featureMetrics:n=[],loading:s,error:c}=Y(e,a),o=p.useMemo(()=>[...n].sort((u,b)=>u.timestamp.localeCompare(b.timestamp)),[n]),i=p.useMemo(()=>z(o==null?void 0:o.filter(u=>t===u.environment)).map(u=>({...u,appName:"all selected"})),[o,t]),m=p.useMemo(()=>q(i),[i]),l=j(),{locationSettings:d}=$(),f=p.useMemo(()=>Q(l,a,d),[l,a,d]);return{data:m,options:f,loading:s,error:c}},se=({activeEnvironments:e,environment:t,setEnvironment:a})=>r.jsx(H,{name:"feature-environments",label:"Environment",id:"feature-environments",options:e.map(n=>({key:n.name,label:n.name})),value:String(t),onChange:a}),ne=g(k)(({theme:e})=>({display:"flex",justifyContent:"flex-start",flexFlow:"row wrap",gap:e.spacing(2)})),h=g("div")(({theme:e})=>({display:"flex",flexDirection:"column",gap:e.spacing(3),alignItems:"center",height:"100%",justifyContent:"space-between"})),oe=g(X)({alignItems:"center",justifySelf:"start"}),le=g("div")(({theme:e})=>({display:"flex",justifyContent:"space-between",flexFlow:"row wrap",width:"100%",gap:e.spacing(4)})),me=e=>r.jsx(h,{children:r.jsx(x,{...e})}),ie=({flag:e,onArchive:t})=>{const[a,n]=p.useState(48),{environment:s,setEnvironment:c,activeEnvironments:o}=ae(e.project,e.name),{data:i,options:m,loading:l,error:d}=re(e.name,s,a);if(d)return r.jsx(h,{children:r.jsx(x,{label:"Couldn't fetch metrics for the current flag right now. Please try again. Report this if it doesn't resolve itself."})});const f=i.datasets[0].data.length===0;return r.jsxs(h,{children:[r.jsxs(le,{children:[r.jsx(oe,{project:e.project,flagName:e.name,onArchive:t}),r.jsxs(ne,{children:[s?r.jsx(se,{environment:s,setEnvironment:c,activeEnvironments:o}):null,r.jsx(_,{hoursBack:a,setHoursBack:n})]})]}),l?r.jsx(te,{}):f?r.jsx(x,{label:"No metrics for this feature flag in the selected environment and time period"}):r.jsx(v,{children:r.jsx(y,{data:i,options:m,"aria-label":"A bar chart with a single feature flag exposure metrics"})})]})},fe=e=>[".",".."].includes(e.flag.name)?r.jsx(h,{children:r.jsx(x,{label:`The current flag name ('${e.flag.name}') is known to cause issues due how it affects URLs. We cannot show you a chart for it.`})}):r.jsx(ie,{...e});P.register(W,I,T,B,R,L,N);export{fe as FlagMetricsChart,me as PlaceholderFlagMetricsChartWithWrapper};
1
+ import{du as w,je as F,bv as E,aR as S,r as p,j as r,B as k,jf as D,bu as A,s as g,jg as P,jh as I,ji as T,jj as B,jk as R,jl as L,jm as N,b as j,T as O,jn as y,bs as $,aT as H}from"./index-BAMIkcom.js";import{f as V,a as W}from"./formatTickValue-Csg87IVi.js";import{F as U,c as _,u as Y,b as G}from"./aggregateFeatureMetrics-yZy5qwho.js";import{F as z,M as J}from"./MarkCompletedDialogue-BwS_OP77.js";const q=e=>{const t={label:"Exposed",hoverBackgroundColor:"#A39EFF",backgroundColor:"#A39EFF",data:M(e,s=>s.yes)},a={label:"Not exposed",hoverBackgroundColor:"#D8D6FF",backgroundColor:"#D8D6FF",data:M(e,s=>s.no)};return{datasets:[t,a]}},M=(e,t)=>e.map(a=>({x:a.timestamp,y:t(a),variants:a.variants||{}})),K=(e,t)=>{if(t===0)return"";const[a,s]=e,n=Math.floor(Number(s)/t*100);return`${s} (${n}%) - ${a}`},C=e=>({plugins:{legend:{position:"top",labels:{color:e.palette.text.primary,usePointStyle:!0,pointStyle:"none",boxHeight:0,padding:15,boxPadding:5}},tooltip:{enabled:!1}},responsive:!0,maintainAspectRatio:!1,scales:{x:{stacked:!0,ticks:{display:!1},grid:{display:!1}},y:{stacked:!0,ticks:{maxTicksLimit:5,display:!1},grid:{drawBorder:!1,color:e.palette.divider}}},elements:{bar:{borderRadius:5}},interaction:{mode:"index",intersect:!1}}),Q=(e,t,a)=>{var m;const{responsive:s,elements:n,interaction:c,scales:o,maintainAspectRatio:i}=C(e);return{plugins:{legend:{position:"bottom",labels:{color:e.palette.text.primary,pointStyle:"circle",usePointStyle:!0,boxHeight:6,padding:15,boxPadding:5}},annotation:{clip:!1,annotations:{}},tooltip:{backgroundColor:e.palette.background.paper,titleColor:e.palette.text.primary,bodyColor:e.palette.text.primary,bodySpacing:6,padding:{top:20,bottom:20,left:30,right:30},borderColor:"rgba(0, 0, 0, 0.05)",borderWidth:3,usePointStyle:!0,caretSize:0,boxPadding:10,callbacks:{label:l=>`${l.formattedValue} - ${l.dataset.label}`,afterLabel:l=>{const d=l.dataset.data[l.dataIndex];if(l.dataset.label!=="Exposed"||d.variants===void 0)return"";const{disabled:f,...u}=d.variants;return Object.entries(u).map(b=>K(b,d.y)).join(`
2
+ `)},title:l=>`Time: ${t>48?w(l[0].label,a.locale,"UTC"):F(l[0].label,a.locale)}`}}},responsive:s,maintainAspectRatio:i,scales:{x:{...o?o.x:{},ticks:{color:e.palette.text.secondary,callback(l){const d=this.getLabelForValue(Number(l));return t>48?E(d,a.locale,"UTC"):F(d,a.locale)}}},y:{...(o==null?void 0:o.y)??{},ticks:{...((m=o==null?void 0:o.y)==null?void 0:m.ticks)??{},color:e.palette.text.secondary,callback:V,display:!0}}},elements:n,interaction:c}},X=({project:e,flagName:t,onArchive:a,className:s})=>{var f;const{feature:n,refetchFeature:c}=S(e,t),o=(f=n.environments)==null?void 0:f.map(u=>({name:u.name,lastSeenAt:u.lastSeenAt,enabled:u.enabled,yes:u.yes,no:u.no})),[i,m]=p.useState(!1),[l,d]=p.useState(!1);return r.jsxs(k,{sx:{display:"flex"},className:s,children:[r.jsx(D,{sx:{pt:0,pb:0},featureLastSeen:n.lastSeenAt,environments:o}),r.jsx(A,{feature:n,onArchive:()=>m(!0),onComplete:()=>d(!0),onUncomplete:c}),n.children.length>0?r.jsx(U,{features:n.children,project:e,isOpen:i,onClose:()=>m(!1)}):r.jsx(z,{isOpen:i,onConfirm:a,onClose:()=>m(!1),projectId:e,featureIds:[t]}),n.project?r.jsx(J,{isOpen:l,setIsOpen:d,projectId:n.project,featureId:n.name,onComplete:c}):null]})},Z=[0,14,28,21,33,31,31,22,26,37,31,14,21,14,0],ee=e=>({labels:Array.from({length:15},(t,a)=>a+1),datasets:[{data:Z,backgroundColor:e.palette.divider,hoverBackgroundColor:e.palette.divider,label:""}]}),v=g("div")({width:"100%",flexGrow:1}),x=({label:e})=>{const t=j(),a=p.useMemo(()=>C(t),[t]),s=p.useMemo(()=>ee(t),[t]),n="placeholder-chart-label";return r.jsxs(r.Fragment,{children:[r.jsx(O,{id:n,children:e}),r.jsx(v,{children:r.jsx(y,{data:s,options:a,"aria-describedby":n})})]})},te=()=>{const e=j(),t=p.useMemo(()=>C(e),[e]),a=p.useMemo(()=>({labels:[],datasets:[]}),[e]);return r.jsx(v,{children:r.jsx(y,{data:a,options:t,"aria-label":"A placeholder bar chart with a single feature flag exposure metrics"})})},ae=(e,t)=>{const[a,s]=p.useState(null),{feature:n}=S(e,t),c=((n==null?void 0:n.environments)??[]).map(i=>({name:i.name,type:i.type})),o=c.find(i=>i.type==="production");return p.useEffect(()=>{o?s(o.name):c.length>0&&s(c[0].name)},[t,JSON.stringify(c)]),{environment:a,setEnvironment:s,activeEnvironments:c}},re=(e,t,a)=>{const{featureMetrics:s=[],loading:n,error:c}=Y(e,a),o=p.useMemo(()=>[...s].sort((u,b)=>u.timestamp.localeCompare(b.timestamp)),[s]),i=p.useMemo(()=>G(o==null?void 0:o.filter(u=>t===u.environment)).map(u=>({...u,appName:"all selected"})),[o,t]),m=p.useMemo(()=>q(i),[i]),l=j(),{locationSettings:d}=$(),f=p.useMemo(()=>Q(l,a,d),[l,a,d]);return{data:m,options:f,loading:n,error:c}},ne=({activeEnvironments:e,environment:t,setEnvironment:a})=>r.jsx(H,{name:"feature-environments",label:"Environment",id:"feature-environments",options:e.map(s=>({key:s.name,label:s.name})),value:String(t),onChange:a}),se=g(k)(({theme:e})=>({display:"flex",justifyContent:"flex-start",flexFlow:"row wrap",gap:e.spacing(2)})),h=g("div")(({theme:e})=>({display:"flex",flexDirection:"column",gap:e.spacing(3),alignItems:"center",height:"100%",justifyContent:"space-between"})),oe=g(X)({alignItems:"center",justifySelf:"start"}),le=g("div")(({theme:e})=>({display:"flex",justifyContent:"space-between",flexFlow:"row wrap",width:"100%",gap:e.spacing(4)})),me=e=>r.jsx(h,{children:r.jsx(x,{...e})}),ie=({flag:e,onArchive:t})=>{const[a,s]=p.useState(48),{environment:n,setEnvironment:c,activeEnvironments:o}=ae(e.project,e.name),{data:i,options:m,loading:l,error:d}=re(e.name,n,a);if(d)return r.jsx(h,{children:r.jsx(x,{label:"Couldn't fetch metrics for the current flag right now. Please try again. Report this if it doesn't resolve itself."})});const f=i.datasets[0].data.length===0;return r.jsxs(h,{children:[r.jsxs(le,{children:[r.jsx(oe,{project:e.project,flagName:e.name,onArchive:t}),r.jsxs(se,{children:[n?r.jsx(ne,{environment:n,setEnvironment:c,activeEnvironments:o}):null,r.jsx(_,{hoursBack:a,setHoursBack:s})]})]}),l?r.jsx(te,{}):f?r.jsx(x,{label:"No metrics for this feature flag in the selected environment and time period"}):r.jsx(v,{children:r.jsx(y,{data:i,options:m,"aria-label":"A bar chart with a single feature flag exposure metrics"})})]})},fe=e=>[".",".."].includes(e.flag.name)?r.jsx(h,{children:r.jsx(x,{label:`The current flag name ('${e.flag.name}') is known to cause issues due how it affects URLs. We cannot show you a chart for it.`})}):r.jsx(ie,{...e});P.register(W,I,T,B,R,L,N);export{fe as FlagMetricsChart,me as PlaceholderFlagMetricsChartWithWrapper};
@@ -0,0 +1 @@
1
+ import{cY as n,bc as l,j as e,C as c,V as a,B as d,jn as g,jg as j,jh as h,ji as p,jj as f,jk as m,jl as u,jm as x}from"./index-BAMIkcom.js";import{a as S}from"./formatTickValue-Csg87IVi.js";import{u as C,c as w,S as P,T as y,P as T,n as b,g as B}from"./networkTrafficUsageHighlightPlugin-Dje5Vuvo.js";import"./LazyAdminExport-BOTczpO1.js";import"./RoleCell-Da0TjMne.js";import"./useApiTokens-Btk4Hd2u.js";import"./PercentageDonut-BoaVP9ed.js";const q=()=>{n("Network - Frontend Traffic Usage");const{isOss:s}=l(),{chartDataSelection:t,setChartDataSelection:r,options:i}=C(),{chartData:o}=w(t);return e.jsx(c,{condition:s(),show:e.jsx(a,{severity:"warning",children:"Not enabled."}),elseShow:e.jsx(e.Fragment,{children:e.jsxs(P,{children:[e.jsxs(y,{children:[e.jsx(d,{children:e.jsx(a,{severity:"info",icon:!1,children:"Frontend traffic is determined by the total SDK requests to the Frontend API"})}),e.jsx(T,{selectedPeriod:t,setPeriod:r})]}),e.jsx(g,{data:o,plugins:[b],options:i,"aria-label":B(t)})]})})})};j.register(S,h,p,f,m,u,x);export{q as default};
@@ -0,0 +1,3 @@
1
+ import{j as g,B as X,T as ze,j1 as Rn,j2 as Dn,M as Ie,j3 as _n,j4 as Sr,e0 as On,m as Rr,r as L,j5 as rr,j6 as Pn,dF as En,dG as zn,b9 as nr,u as Cn,A as Mn,t as Dr,l as _r,V as jn,s as B,b as Or,al as Pr,cb as Tn,hY as Ln,hZ as Hn,j7 as Er,E as $n,b_ as Nn,i as or,aE as Wn,j8 as kn,cG as ir,b1 as An,b3 as qn,em as In,j9 as Gn,ja as zr,jb as Bn,jc as he,jd as Ct,g as Fn}from"./index-BAMIkcom.js";const Yn=({formData:t,actions:e,metricSeries:r,loading:n})=>g.jsxs(X,{children:[g.jsxs(X,{sx:o=>({display:"flex",flexDirection:"column",gap:o.spacing(3)}),children:[g.jsx(ze,{variant:"body2",color:"text.secondary",children:"Select a custom metric to see its value over time. This can help you understand the impact of your feature rollout on key outcomes, such as system performance, usage patterns or error rates."}),g.jsx(Rn,{value:t.metricName,onChange:e.handleSeriesChange,options:r,loading:n}),t.metricName?g.jsxs(g.Fragment,{children:[g.jsxs(Dn,{value:t.timeRange,onChange:e.setTimeRange,children:[g.jsx(Ie,{value:"hour",children:"Last hour"}),g.jsx(Ie,{value:"day",children:"Last 24 hours"}),g.jsx(Ie,{value:"week",children:"Last 7 days"}),g.jsx(Ie,{value:"month",children:"Last 30 days"})]}),g.jsx(_n,{value:t.aggregationMode,onChange:e.setAggregationMode,metricType:Sr(t.metricName)})]}):null]}),t.metricName?g.jsx(On,{sx:o=>({margin:o.spacing(1.5,0)}),control:g.jsx(Rr,{checked:t.yAxisMin==="zero",onChange:o=>e.setYAxisMin(o.target.checked?"zero":"auto")}),label:"Begin at zero"}):null]}),Xn=({open:t,initialConfig:e})=>{const[r,n]=L.useState((e==null?void 0:e.title)||""),[o,i]=L.useState((e==null?void 0:e.metricName)||""),[a,u]=L.useState((e==null?void 0:e.timeRange)||"day"),[s,l]=L.useState((e==null?void 0:e.yAxisMin)||"auto"),[c,d]=L.useState((e==null?void 0:e.labelSelectors)||{}),[f,p]=L.useState((e==null?void 0:e.aggregationMode)||rr(o)),{data:{labels:w}}=Pn(o?{series:o,range:a,aggregationMode:f}:void 0);L.useEffect(()=>{t&&e?(n(e.title||""),i(e.metricName),u(e.timeRange),l(e.yAxisMin),d(e.labelSelectors),p(e.aggregationMode||rr(e.metricName))):t&&!e&&(n(""),i(""),u("day"),l("auto"),d({}),p("count"))},[t,e]);const D=b=>{i(b),d({});const y=Sr(b);y==="counter"?p("count"):y==="gauge"?p("avg"):y==="histogram"&&p("p50")},S=()=>({title:r||void 0,metricName:o,timeRange:a,yAxisMin:s,labelSelectors:c,aggregationMode:f}),h=o.length>0;return{formData:{title:r,metricName:o,timeRange:a,yAxisMin:s,aggregationMode:f,labelSelectors:c},actions:{setTitle:n,setMetricName:i,setTimeRange:u,setYAxisMin:l,setAggregationMode:p,setLabelSelectors:d,handleSeriesChange:D,getConfigToSave:S},isValid:h,currentAvailableLabels:w}},Un=()=>{const t="api/admin/impact-metrics/config",{data:e,refetch:r,loading:n,error:o}=En(nr(t),()=>zn(nr(t),"impactMetricsConfig"));return{configs:(e==null?void 0:e.configs)||[],refetch:r,loading:n,error:o}},Vn=t=>{const e=t?`api/admin/projects/${t.projectId}/features/${t.featureName}/impact-metrics/config`:"api/admin/impact-metrics/config",{makeRequest:r,createRequest:n,errors:o,loading:i}=Cn({propagateErrors:!0}),a=L.useCallback(async s=>{const l=n(e,{method:"POST",body:JSON.stringify(s)},"updateImpactMetric");return r(l.caller,l.id)},[r,n]),u=L.useCallback(async s=>{const l=n(`${e}/${s}`,{method:"DELETE"},"deleteImpactMetric");return r(l.caller,l.id)},[r,n,e]);return{createImpactMetric:a,deleteImpactMetric:u,errors:o,loading:i}},de="*",Ga=()=>{const{configs:t,loading:e,error:r,refetch:n}=Un(),{layout:o,charts:i}=L.useMemo(()=>({layout:t.map((p,w)=>{const D=w%2,S=Math.floor(w/2);return{i:p.id,x:D*6,y:S*2,w:6,h:2,minW:4,minH:2,maxW:12,maxH:8}}),charts:t}),[t]),{createImpactMetric:a,deleteImpactMetric:u,loading:s,errors:l}=Vn(),c=L.useCallback(async p=>{await a(p),n()},[a,n]),d=L.useCallback(async(p,w)=>{await a({...w,id:p}),n()},[t,a,n]),f=L.useCallback(async p=>{await u(p),n()},[t,u,n]);return{charts:i,layout:o,loading:e||s,error:r||Object.keys(l).length>0?l:void 0,addChart:c,updateChart:d,deleteChart:f}},Kn=({labelKey:t,options:e,value:r,onChange:n})=>{const o=r.includes(de),i=`autocomplete-${t}`,a=e.length>=1e3,u=[de,...e];return g.jsx(Mn,{multiple:!0,disableCloseOnSelect:!0,id:i,options:u,value:o?e:r,getOptionLabel:s=>s===de?"(Select all)":s,onChange:(s,l,c,d)=>{if((d==null?void 0:d.option)===de){n(o?[]:[de]);return}n(l.filter(f=>f!==de))},renderOption:(s,l,{selected:c})=>{const{key:d,...f}=s;return g.jsxs("li",{...f,children:[g.jsx(Rr,{size:"small",checked:l===de?o:c,style:{marginRight:8}}),l===de?g.jsx(ze,{component:"span",sx:{color:"text.secondary"},children:"Select all"}):l]},d||l)},renderTags:(s,l)=>{const d=s.slice(-5),f=s.length-5;return g.jsxs(g.Fragment,{children:[d.map((p,w)=>{const{key:D,...S}=l({index:w});return L.createElement(Dr,{...S,key:D,label:p,size:"small"})}),f>0?g.jsxs(ze,{component:"span",sx:{color:"text.secondary"},children:[" ","(+",f,")"]}):null]})},renderInput:s=>g.jsxs(g.Fragment,{children:[g.jsx(_r,{...s,label:t,placeholder:o?void 0:"Select values…",variant:"outlined",size:"small",inputProps:{...s.inputProps}}),a&&g.jsx(jn,{severity:"warning",sx:l=>({padding:l.spacing(1,2),marginTop:l.spacing(1)}),children:"Maximum of 1000 values loaded due to performance."})]})})},Zn=B(X)(({theme:t})=>({display:"flex",flexDirection:"column",gap:t.spacing(1),width:"100%"})),Jn=B(X)(({theme:t})=>({width:"100%",display:"flex",alignItems:"center",gap:t.spacing(1)})),Qn=B(X)(({theme:t})=>({display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(250px, 1fr))",gap:t.spacing(2),flexGrow:1})),eo=B(X)({display:"flex",flexDirection:"column",flexGrow:1}),to=B(ze)({lineHeight:1.5,height:"24px"}),ro=B(Dr)(({theme:t})=>({position:"relative",height:"20px",margin:t.spacing(-1,0)})),ar=({title:t,labels:e,labelSelectors:r,onLabelChange:n,onAllToggle:o,onChange:i})=>{const a=e.map(([l])=>l),u=a.some(l=>r[l]),s=()=>{const l={};Object.entries(r).forEach(([c,d])=>{a.includes(c)||(l[c]=d)}),i(l)};return g.jsxs(Zn,{children:[g.jsxs(Jn,{children:[g.jsx(to,{variant:"subtitle2",children:t}),u&&g.jsx(ro,{label:"Clear all",size:"small",variant:"outlined",onClick:s})]}),g.jsx(Qn,{children:e.map(([l,c])=>{const d=r[l]||[];return g.jsx(eo,{children:g.jsx(Kn,{labelKey:l,options:c,value:d,onChange:f=>n(l,f),handleAllToggle:o})},l)})})]})},sr=["environment","appName","origin"],no=({labelSelectors:t,onChange:e,availableLabels:r})=>{const n=(u,s)=>{const l={...t};s.length===0?delete l[u]:l[u]=s,e(l)},o=(u,s)=>{const l={...t};s?l[u]=["*"]:delete l[u],e(l)};if(!r||Object.keys(r).length===0)return null;const i=Object.entries(r).filter(([u])=>sr.includes(u)).sort(),a=Object.entries(r).filter(([u])=>!sr.includes(u)).sort();return g.jsxs(X,{sx:{display:"flex",gap:2,flexWrap:"wrap"},children:[i.length>0&&g.jsx(ar,{title:"Filter by labels",labels:i,labelSelectors:t,onLabelChange:n,onAllToggle:o,onChange:e}),a.length>0&&g.jsx(ar,{title:"Flag specific filters",labels:a,labelSelectors:t,onLabelChange:n,onAllToggle:o,onChange:e})]})},oo=B(X)(({theme:t})=>({display:"flex",flexDirection:"column",gap:t.spacing(3),[t.breakpoints.down("lg")]:{flex:"none"},[t.breakpoints.up("lg")]:{flex:"0 0 400px"}})),io=B(X)(({theme:t})=>({flex:1,display:"flex",flexDirection:"column",gap:t.spacing(2),[t.breakpoints.down("lg")]:{minHeight:"300px"},[t.breakpoints.up("lg")]:{minHeight:"400px"}})),Ba=({open:t,onClose:e,onSave:r,initialConfig:n,metricSeries:o,loading:i=!1})=>{const{formData:a,actions:u,isValid:s,currentAvailableLabels:l}=Xn({open:t,initialConfig:n}),c=Or(),d=Pr(c.breakpoints.down("lg")),f=()=>{s&&(r(u.getConfigToSave()),e())};return g.jsxs(Tn,{open:t,onClose:e,maxWidth:"lg",fullWidth:!0,sx:{"& .MuiDialog-paper":{minHeight:"600px",maxHeight:"90vh"}},children:[g.jsx(Ln,{children:n?"Edit Chart":"Add New Chart"}),g.jsxs(Hn,{children:[g.jsxs(X,{sx:p=>({display:"flex",flexDirection:{xs:"column",lg:"row"},gap:p.spacing(3),pt:p.spacing(1),height:"100%"}),children:[g.jsxs(oo,{children:[g.jsx(_r,{label:"Chart Title (optional)",value:a.title,onChange:p=>u.setTitle(p.target.value),fullWidth:!0,variant:"outlined",size:"small"}),g.jsx(Yn,{formData:a,actions:u,metricSeries:o,loading:i})]}),g.jsx(io,{children:g.jsx(X,{sx:p=>({padding:p.spacing(1)}),children:g.jsx(Er,{metricName:a.metricName,timeRange:a.timeRange,labelSelectors:a.labelSelectors,yAxisMin:a.yAxisMin,aggregationMode:a.aggregationMode,isPreview:!0},d?"small":"large")})})]}),l?g.jsx(no,{labelSelectors:a.labelSelectors,onChange:u.setLabelSelectors,availableLabels:l}):null]}),g.jsx($n,{}),g.jsxs(Nn,{sx:p=>({margin:p.spacing(2,3,3)}),children:[g.jsx(or,{onClick:e,children:"Cancel"}),g.jsx(or,{onClick:f,variant:"contained",disabled:!s,children:n?"Update":"Add Chart"})]})]})},ao=t=>{const e=[];t.displayName&&e.push(`${t.displayName}`),e.push(`last ${t.timeRange}`),e.push(t.aggregationMode);const r=Object.keys(t.labelSelectors).length;return r>0&&e.push(`${r} filter${r>1?"s":""}`),e.join(" • ")},so=B(Wn)(({theme:t})=>({borderRadius:`${t.shape.borderRadiusMedium}px`,boxShadow:"none",display:"flex",flexDirection:"column",height:"100%"})),lo=B(X)({flex:1,display:"flex",flexDirection:"column",minHeight:0}),uo=B(X)(({theme:t})=>({position:"relative",minWidth:0,flexGrow:1,height:"100%",display:"flex",flexDirection:"column",margin:"auto 0",padding:t.spacing(3)})),co=B(X)(({theme:t})=>({display:"flex",gap:t.spacing(1),alignItems:"center",padding:t.spacing(1.5,2),borderBottom:`1px solid ${t.palette.divider}`})),fo=B(X)(({theme:t})=>({display:"flex",flexDirection:"column",justifyContent:"flex-end",flexGrow:1,overflow:"hidden",textOverflow:"ellipsis"})),po=B(X)(({theme:t})=>({marginLeft:"auto",display:"flex",alignItems:"center",gap:t.spacing(.5)})),ho=B(kn)(({theme:t})=>({alignSelf:"start",color:t.palette.primary.main,marginTop:t.spacing(.25)})),Fa=({config:t,onEdit:e,onDelete:r,permission:n=In,projectId:o,dragHandle:i,icon:a})=>g.jsxs(so,{children:[g.jsxs(co,{children:[i,t.mode==="read"?g.jsx(ho,{}):null,g.jsxs(fo,{children:[t.title&&g.jsx(ze,{variant:"h6",children:t.title}),g.jsx(ze,{variant:"body2",color:"text.secondary",children:ao(t)})]}),a,t.mode!=="read"&&g.jsxs(po,{children:[g.jsx(ir,{onClick:()=>e(t),permission:n,projectId:o,tooltipProps:{title:"Edit chart"},children:g.jsx(An,{})}),g.jsx(ir,{onClick:()=>r(t.id),permission:n,projectId:o,tooltipProps:{title:"Remove chart"},children:g.jsx(qn,{})})]})]}),g.jsx(lo,{children:g.jsx(uo,{children:g.jsx(Er,{metricName:t.metricName,timeRange:t.timeRange,labelSelectors:t.labelSelectors,yAxisMin:t.yAxisMin,aggregationMode:t.aggregationMode,aspectRatio:1.5,overrideOptions:{maintainAspectRatio:!1},emptyDataDescription:"Send impact metrics using Unleash SDK for this series to view the chart."})})})]});var Cr={exports:{}},We={},bt={exports:{}};(function(t,e){(function(r,n){n(e)})(Gn,function(r){function n(v){return function(T,M,j,W,I,te,k){return v(T,M,k)}}function o(v){return function(T,M,j,W){if(!T||!M||typeof T!="object"||typeof M!="object")return v(T,M,j,W);var I=W.get(T),te=W.get(M);if(I&&te)return I===M&&te===T;W.set(T,M),W.set(M,T);var k=v(T,M,j,W);return W.delete(T),W.delete(M),k}}function i(v,_){var T={};for(var M in v)T[M]=v[M];for(var M in _)T[M]=_[M];return T}function a(v){return v.constructor===Object||v.constructor==null}function u(v){return typeof v.then=="function"}function s(v,_){return v===_||v!==v&&_!==_}var l="[object Arguments]",c="[object Boolean]",d="[object Date]",f="[object RegExp]",p="[object Map]",w="[object Number]",D="[object Object]",S="[object Set]",h="[object String]",b=Object.prototype.toString;function y(v){var _=v.areArraysEqual,T=v.areDatesEqual,M=v.areMapsEqual,j=v.areObjectsEqual,W=v.areRegExpsEqual,I=v.areSetsEqual,te=v.createIsNestedEqual,k=te(ne);function ne(H,A,oe){if(H===A)return!0;if(!H||!A||typeof H!="object"||typeof A!="object")return H!==H&&A!==A;if(a(H)&&a(A))return j(H,A,k,oe);var er=Array.isArray(H),tr=Array.isArray(A);if(er||tr)return er===tr&&_(H,A,k,oe);var ie=b.call(H);return ie!==b.call(A)?!1:ie===d?T(H,A,k,oe):ie===f?W(H,A,k,oe):ie===p?M(H,A,k,oe):ie===S?I(H,A,k,oe):ie===D||ie===l?u(H)||u(A)?!1:j(H,A,k,oe):ie===c||ie===w||ie===h?s(H.valueOf(),A.valueOf()):!1}return ne}function x(v,_,T,M){var j=v.length;if(_.length!==j)return!1;for(;j-- >0;)if(!T(v[j],_[j],j,j,v,_,M))return!1;return!0}var m=o(x);function z(v,_){return s(v.valueOf(),_.valueOf())}function N(v,_,T,M){var j=v.size===_.size;if(!j)return!1;if(!v.size)return!0;var W={},I=0;return v.forEach(function(te,k){if(j){var ne=!1,H=0;_.forEach(function(A,oe){!ne&&!W[H]&&(ne=T(k,oe,I,H,v,_,M)&&T(te,A,k,oe,v,_,M))&&(W[H]=!0),H++}),I++,j=ne}}),j}var q=o(N),K="_owner",J=Object.prototype.hasOwnProperty;function Me(v,_,T,M){var j=Object.keys(v),W=j.length;if(Object.keys(_).length!==W)return!1;for(var I;W-- >0;){if(I=j[W],I===K){var te=!!v.$$typeof,k=!!_.$$typeof;if((te||k)&&te!==k)return!1}if(!J.call(_,I)||!T(v[I],_[I],I,I,v,_,M))return!1}return!0}var ct=o(Me);function je(v,_){return v.source===_.source&&v.flags===_.flags}function Te(v,_,T,M){var j=v.size===_.size;if(!j)return!1;if(!v.size)return!0;var W={};return v.forEach(function(I,te){if(j){var k=!1,ne=0;_.forEach(function(H,A){!k&&!W[ne]&&(k=T(I,H,te,A,v,_,M))&&(W[ne]=!0),ne++}),j=k}}),j}var Qt=o(Te),ge=Object.freeze({areArraysEqual:x,areDatesEqual:z,areMapsEqual:N,areObjectsEqual:Me,areRegExpsEqual:je,areSetsEqual:Te,createIsNestedEqual:n}),me=Object.freeze({areArraysEqual:m,areDatesEqual:z,areMapsEqual:q,areObjectsEqual:ct,areRegExpsEqual:je,areSetsEqual:Qt,createIsNestedEqual:n}),qe=y(ge);function dt(v,_){return qe(v,_,void 0)}var gn=y(i(ge,{createIsNestedEqual:function(){return s}}));function mn(v,_){return gn(v,_,void 0)}var yn=y(me);function vn(v,_){return yn(v,_,new WeakMap)}var bn=y(i(me,{createIsNestedEqual:function(){return s}}));function wn(v,_){return bn(v,_,new WeakMap)}function xn(v){return y(i(ge,v(ge)))}function Sn(v){var _=y(i(me,v(me)));return function(T,M,j){return j===void 0&&(j=new WeakMap),_(T,M,j)}}r.circularDeepEqual=vn,r.circularShallowEqual=wn,r.createCustomCircularEqual=Sn,r.createCustomEqual=xn,r.deepEqual=dt,r.sameValueZeroEqual=s,r.shallowEqual=mn,Object.defineProperty(r,"__esModule",{value:!0})})})(bt,bt.exports);var Mt=bt.exports;const Ze=zr(Bn);var E={},go=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=jt;E.childrenEqual=vo;E.cloneLayout=Mr;E.cloneLayoutItem=xe;E.collides=Je;E.compact=Tr;E.compactItem=Lr;E.compactType=jo;E.correctBounds=Hr;E.fastPositionEqual=bo;E.fastRGLPropsEqual=void 0;E.getAllCollisions=$r;E.getFirstCollision=be;E.getLayoutItem=Tt;E.getStatics=Lt;E.modifyLayout=jr;E.moveElement=Ne;E.moveElementAwayFromCollision=xt;E.noop=void 0;E.perc=xo;E.resizeItemInDirection=Po;E.setTopLeft=zo;E.setTransform=Eo;E.sortLayoutItems=At;E.sortLayoutItemsByColRow=qr;E.sortLayoutItemsByRowCol=Ar;E.synchronizeLayoutWithChildren=Co;E.validateLayout=Mo;E.withLayoutItem=yo;var lr=Mt,$e=mo(L);function mo(t){return t&&t.__esModule?t:{default:t}}function jt(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 Mr(t){const e=Array(t.length);for(let r=0,n=t.length;r<n;r++)e[r]=xe(t[r]);return e}function jr(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 yo(t,e,r){let n=Tt(t,e);return n?(n=r(xe(n)),t=jr(t,n),[t,n]):[t,null]}function xe(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 vo(t,e){return(0,lr.deepEqual)($e.default.Children.map(t,r=>r==null?void 0:r.key),$e.default.Children.map(e,r=>r==null?void 0:r.key))&&(0,lr.deepEqual)($e.default.Children.map(t,r=>r==null?void 0:r.props["data-grid"]),$e.default.Children.map(e,r=>r==null?void 0:r.props["data-grid"]))}E.fastRGLPropsEqual=go;function bo(t,e){return t.left===e.left&&t.top===e.top&&t.width===e.width&&t.height===e.height}function Je(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 Tr(t,e,r,n){const o=Lt(t),i=At(t,e),a=Array(t.length);for(let u=0,s=i.length;u<s;u++){let l=xe(i[u]);l.static||(l=Lr(o,l,e,r,i,n),o.push(l)),a[t.indexOf(i[u])]=l,l.moved=!1}return a}const wo={x:"w",y:"h"};function wt(t,e,r,n){const o=wo[n];e[n]+=1;const i=t.map(a=>a.i).indexOf(e.i);for(let a=i+1;a<t.length;a++){const u=t[a];if(!u.static){if(u.y>e.y+e.h)break;Je(e,u)&&wt(t,u,r+e[o],n)}}e[n]=r}function Lr(t,e,r,n,o,i){const a=r==="vertical",u=r==="horizontal";if(a)for(e.y=Math.min(jt(t),e.y);e.y>0&&!be(t,e);)e.y--;else if(u)for(;e.x>0&&!be(t,e);)e.x--;let s;for(;(s=be(t,e))&&!(r===null&&i);)if(u?wt(o,e,s.x+s.w,"x"):wt(o,e,s.y+s.h,"y"),u&&e.x+e.w>n)for(e.x=n-e.w,e.y++;e.x>0&&!be(t,e);)e.x--;return e.y=Math.max(e.y,0),e.x=Math.max(e.x,0),e}function Hr(t,e){const r=Lt(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(;be(r,i);)i.y++}return t}function Tt(t,e){for(let r=0,n=t.length;r<n;r++)if(t[r].i===e)return t[r]}function be(t,e){for(let r=0,n=t.length;r<n;r++)if(Je(t[r],e))return t[r]}function $r(t,e){return t.filter(r=>Je(r,e))}function Lt(t){return t.filter(e=>e.static)}function Ne(t,e,r,n,o,i,a,u,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 l=e.x,c=e.y;typeof r=="number"&&(e.x=r),typeof n=="number"&&(e.y=n),e.moved=!0;let d=At(t,a);(a==="vertical"&&typeof n=="number"?c>=n:a==="horizontal"&&typeof r=="number"?l>=r:!1)&&(d=d.reverse());const p=$r(d,e),w=p.length>0;if(w&&s)return Mr(t);if(w&&i)return`${e.i}`,e.x=l,e.y=c,e.moved=!1,t;for(let D=0,S=p.length;D<S;D++){const h=p[D];`${e.i}${e.x}${e.y}${h.i}${h.x}${h.y}`,!h.moved&&(h.static?t=xt(t,h,e,o,a):t=xt(t,e,h,o,a))}return t}function xt(t,e,r,n,o,i){const a=o==="horizontal",u=o==="vertical",s=e.static;if(n){n=!1;const d={x:a?Math.max(e.x-r.w,0):r.x,y:u?Math.max(e.y-r.h,0):r.y,w:r.w,h:r.h,i:"-1"},f=be(t,d),p=f&&f.y+f.h>e.y,w=f&&e.x+e.w>f.x;if(f){if(p&&u)return Ne(t,r,void 0,e.y+1,n,s,o);if(p&&o==null)return e.y=r.y,r.y=r.y+r.h,t;if(w&&a)return Ne(t,e,r.x,void 0,n,s,o)}else return`${r.i}${d.x}${d.y}`,Ne(t,r,a?d.x:void 0,u?d.y:void 0,n,s,o)}const l=a?r.x+1:void 0,c=u?r.y+1:void 0;return l==null&&c==null?t:Ne(t,r,a?r.x+1:void 0,u?r.y+1:void 0,n,s,o)}function xo(t){return t*100+"%"}const Nr=(t,e,r,n)=>t+r>n?e:r,Wr=(t,e,r)=>t<0?e:r,kr=t=>Math.max(0,t),Ht=t=>Math.max(0,t),$t=(t,e,r)=>{let{left:n,height:o,width:i}=e;const a=t.top-(o-t.height);return{left:n,width:i,height:Wr(a,t.height,o),top:Ht(a)}},Nt=(t,e,r)=>{let{top:n,left:o,height:i,width:a}=e;return{top:n,height:i,width:Nr(t.left,t.width,a,r),left:kr(o)}},Wt=(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:Nr(t.left,t.width,i,r),top:Ht(n),left:kr(a)}},kt=(t,e,r)=>{let{top:n,left:o,height:i,width:a}=e;return{width:a,left:o,height:Wr(n,t.height,i),top:Ht(n)}},So=function(){return $t(arguments.length<=0?void 0:arguments[0],Nt(...arguments))},Ro=function(){return $t(arguments.length<=0?void 0:arguments[0],Wt(...arguments))},Do=function(){return kt(arguments.length<=0?void 0:arguments[0],Nt(...arguments))},_o=function(){return kt(arguments.length<=0?void 0:arguments[0],Wt(...arguments))},Oo={n:$t,ne:So,e:Nt,se:Do,s:kt,sw:_o,w:Wt,nw:Ro};function Po(t,e,r,n){const o=Oo[t];return o?o(e,{...e,...r},n):r}function Eo(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 zo(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 At(t,e){return e==="horizontal"?qr(t):e==="vertical"?Ar(t):t}function Ar(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 qr(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 Co(t,e,r,n,o){t=t||[];const i=[];$e.default.Children.forEach(e,u=>{if((u==null?void 0:u.key)==null)return;const s=Tt(t,String(u.key)),l=u.props["data-grid"];s&&l==null?i.push(xe(s)):l?i.push(xe({...l,i:u.key})):i.push(xe({w:1,h:1,x:0,y:jt(i),i:String(u.key)}))});const a=Hr(i,{cols:r});return o?a:Tr(a,n,r)}function Mo(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 u=r[a],s=i[u];if(typeof s!="number"||Number.isNaN(s))throw new Error(`ReactGridLayout: ${e}[${n}].${u} 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 jo(t){const{verticalCompact:e,compactType:r}=t||{};return e===!1?null:r}const To=()=>{};E.noop=To;var se={};Object.defineProperty(se,"__esModule",{value:!0});se.calcGridColWidth=Qe;se.calcGridItemPosition=Lo;se.calcGridItemWHPx=St;se.calcWH=$o;se.calcXY=Ho;se.clamp=we;function Qe(t){const{margin:e,containerPadding:r,containerWidth:n,cols:o}=t;return(n-e[0]*(o-1)-r[0]*2)/o}function St(t,e,r){return Number.isFinite(t)?Math.round(e*t+Math.max(0,t-1)*r):t}function Lo(t,e,r,n,o,i){const{margin:a,containerPadding:u,rowHeight:s}=t,l=Qe(t),c={};return i&&i.resizing?(c.width=Math.round(i.resizing.width),c.height=Math.round(i.resizing.height)):(c.width=St(n,l,a[0]),c.height=St(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+u[1]),c.left=Math.round((l+a[0])*e+u[0])),c}function Ho(t,e,r,n,o){const{margin:i,containerPadding:a,cols:u,rowHeight:s,maxRows:l}=t,c=Qe(t);let d=Math.round((r-a[0])/(c+i[0])),f=Math.round((e-a[1])/(s+i[1]));return d=we(d,0,u-n),f=we(f,0,l-o),{x:d,y:f}}function $o(t,e,r,n,o,i){const{margin:a,maxRows:u,cols:s,rowHeight:l}=t,c=Qe(t);let d=Math.round((e+a[0])/(c+a[0])),f=Math.round((r+a[1])/(l+a[1])),p=we(d,0,s-n),w=we(f,0,u-o);return["sw","w","nw"].indexOf(i)!==-1&&(p=we(d,0,s)),["nw","n","ne"].indexOf(i)!==-1&&(w=we(f,0,u)),{w:p,h:w}}function we(t,e,r){return Math.max(Math.min(t,r),e)}var et={},tt={exports:{}},Ir={},$={},le={};Object.defineProperty(le,"__esModule",{value:!0});le.dontSetMe=qo;le.findInArray=No;le.int=Ao;le.isFunction=Wo;le.isNum=ko;function No(t,e){for(let r=0,n=t.length;r<n;r++)if(e.apply(e,[t[r],r,t]))return t[r]}function Wo(t){return typeof t=="function"||Object.prototype.toString.call(t)==="[object Function]"}function ko(t){return typeof t=="number"&&!isNaN(t)}function Ao(t){return parseInt(t,10)}function qo(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 Se={};Object.defineProperty(Se,"__esModule",{value:!0});Se.browserPrefixToKey=Br;Se.browserPrefixToStyle=Io;Se.default=void 0;Se.getPrefix=Gr;const ft=["Moz","Webkit","O","ms"];function Gr(){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<ft.length;o++)if(Br(t,ft[o])in e)return ft[o];return""}function Br(t,e){return e?`${e}${Go(t)}`:t}function Io(t,e){return e?`-${e.toLowerCase()}-${t}`:t}function Go(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}Se.default=Gr();Object.defineProperty($,"__esModule",{value:!0});$.addClassName=Xr;$.addEvent=Fo;$.addUserSelectStyles=ri;$.createCSSTransform=Jo;$.createSVGTransform=Qo;$.getTouch=ei;$.getTouchIdentifier=ti;$.getTranslation=qt;$.innerHeight=Vo;$.innerWidth=Ko;$.matchesSelector=Yr;$.matchesSelectorAndParentsTo=Bo;$.offsetXYFromParent=Zo;$.outerHeight=Xo;$.outerWidth=Uo;$.removeClassName=Ur;$.removeEvent=Yo;$.scheduleRemoveUserSelectStyles=ni;var ee=le,ur=Fr(Se);function Fr(t,e){if(typeof WeakMap=="function")var r=new WeakMap,n=new WeakMap;return(Fr=function(o,i){if(!i&&o&&o.__esModule)return o;var a,u,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 l in o)l!=="default"&&{}.hasOwnProperty.call(o,l)&&((u=(a=Object.defineProperty)&&Object.getOwnPropertyDescriptor(o,l))&&(u.get||u.set)?a(s,l,u):s[l]=o[l]);return s})(t,e)}let Ge="";function Yr(t,e){return Ge||(Ge=(0,ee.findInArray)(["matches","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector"],function(r){return(0,ee.isFunction)(t[r])})),(0,ee.isFunction)(t[Ge])?t[Ge](e):!1}function Bo(t,e,r){let n=t;do{if(Yr(n,e))return!0;if(n===r)return!1;n=n.parentNode}while(n);return!1}function Fo(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 Yo(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 Xo(t){let e=t.clientHeight;const r=t.ownerDocument.defaultView.getComputedStyle(t);return e+=(0,ee.int)(r.borderTopWidth),e+=(0,ee.int)(r.borderBottomWidth),e}function Uo(t){let e=t.clientWidth;const r=t.ownerDocument.defaultView.getComputedStyle(t);return e+=(0,ee.int)(r.borderLeftWidth),e+=(0,ee.int)(r.borderRightWidth),e}function Vo(t){let e=t.clientHeight;const r=t.ownerDocument.defaultView.getComputedStyle(t);return e-=(0,ee.int)(r.paddingTop),e-=(0,ee.int)(r.paddingBottom),e}function Ko(t){let e=t.clientWidth;const r=t.ownerDocument.defaultView.getComputedStyle(t);return e-=(0,ee.int)(r.paddingLeft),e-=(0,ee.int)(r.paddingRight),e}function Zo(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 Jo(t,e){const r=qt(t,e,"px");return{[(0,ur.browserPrefixToKey)("transform",ur.default)]:r}}function Qo(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}`,u=`${typeof e.y=="string"?e.y:e.y+r}`;i=`translate(${a}, ${u})`+i}return i}function ei(t,e){return t.targetTouches&&(0,ee.findInArray)(t.targetTouches,r=>e===r.identifier)||t.changedTouches&&(0,ee.findInArray)(t.changedTouches,r=>e===r.identifier)}function ti(t){if(t.targetTouches&&t.targetTouches[0])return t.targetTouches[0].identifier;if(t.changedTouches&&t.changedTouches[0])return t.changedTouches[0].identifier}function ri(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&&Xr(t.body,"react-draggable-transparent-selection")}function ni(t){window.requestAnimationFrame?window.requestAnimationFrame(()=>{cr(t)}):cr(t)}function cr(t){if(t)try{if(t.body&&Ur(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 Xr(t,e){t.classList?t.classList.add(e):t.className.match(new RegExp(`(?:^|\\s)${e}(?!\\S)`))||(t.className+=` ${e}`)}function Ur(t,e){t.classList?t.classList.remove(e):t.className=t.className.replace(new RegExp(`(?:^|\\s)${e}(?!\\S)`,"g"),"")}var ue={};Object.defineProperty(ue,"__esModule",{value:!0});ue.canDragX=ai;ue.canDragY=si;ue.createCoreData=ui;ue.createDraggableData=ci;ue.getBoundPosition=oi;ue.getControlPosition=li;ue.snapToGrid=ii;var Q=le,Pe=$;function oi(t,e,r){if(!t.props.bounds)return[e,r];let{bounds:n}=t.props;n=typeof n=="string"?n:di(n);const o=It(t);if(typeof n=="string"){const{ownerDocument:i}=o,a=i.defaultView;let u;if(n==="parent"?u=o.parentNode:u=o.getRootNode().querySelector(n),!(u instanceof a.HTMLElement))throw new Error('Bounds selector "'+n+'" could not find an element.');const s=u,l=a.getComputedStyle(o),c=a.getComputedStyle(s);n={left:-o.offsetLeft+(0,Q.int)(c.paddingLeft)+(0,Q.int)(l.marginLeft),top:-o.offsetTop+(0,Q.int)(c.paddingTop)+(0,Q.int)(l.marginTop),right:(0,Pe.innerWidth)(s)-(0,Pe.outerWidth)(o)-o.offsetLeft+(0,Q.int)(c.paddingRight)-(0,Q.int)(l.marginRight),bottom:(0,Pe.innerHeight)(s)-(0,Pe.outerHeight)(o)-o.offsetTop+(0,Q.int)(c.paddingBottom)-(0,Q.int)(l.marginBottom)}}return(0,Q.isNum)(n.right)&&(e=Math.min(e,n.right)),(0,Q.isNum)(n.bottom)&&(r=Math.min(r,n.bottom)),(0,Q.isNum)(n.left)&&(e=Math.max(e,n.left)),(0,Q.isNum)(n.top)&&(r=Math.max(r,n.top)),[e,r]}function ii(t,e,r){const n=Math.round(e/t[0])*t[0],o=Math.round(r/t[1])*t[1];return[n,o]}function ai(t){return t.props.axis==="both"||t.props.axis==="x"}function si(t){return t.props.axis==="both"||t.props.axis==="y"}function li(t,e,r){const n=typeof e=="number"?(0,Pe.getTouch)(t,e):null;if(typeof e=="number"&&!n)return null;const o=It(r),i=r.props.offsetParent||o.offsetParent||o.ownerDocument.body;return(0,Pe.offsetXYFromParent)(n||t,i,r.props.scale)}function ui(t,e,r){const n=!(0,Q.isNum)(t.lastX),o=It(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 ci(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 di(t){return{left:t.left,top:t.top,right:t.right,bottom:t.bottom}}function It(t){const e=t.findDOMNode();if(!e)throw new Error("<DraggableCore>: Unmounted during event!");return e}var rt={},nt={};Object.defineProperty(nt,"__esModule",{value:!0});nt.default=fi;function fi(){}Object.defineProperty(rt,"__esModule",{value:!0});rt.default=void 0;var pt=Vr(L),U=Gt(he),pi=Gt(Ct),F=$,fe=ue,ht=le,Le=Gt(nt);function Gt(t){return t&&t.__esModule?t:{default:t}}function Vr(t,e){if(typeof WeakMap=="function")var r=new WeakMap,n=new WeakMap;return(Vr=function(o,i){if(!i&&o&&o.__esModule)return o;var a,u,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 l in o)l!=="default"&&{}.hasOwnProperty.call(o,l)&&((u=(a=Object.defineProperty)&&Object.getOwnPropertyDescriptor(o,l))&&(u.get||u.set)?a(s,l,u):s[l]=o[l]);return s})(t,e)}function V(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 re={touch:{start:"touchstart",move:"touchmove",stop:"touchend"},mouse:{start:"mousedown",move:"mousemove",stop:"mouseup"}};let pe=re.mouse,ot=class extends pt.Component{constructor(){super(...arguments),V(this,"dragging",!1),V(this,"lastX",NaN),V(this,"lastY",NaN),V(this,"touchIdentifier",null),V(this,"mounted",!1),V(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,fe.getControlPosition)(e,o,this);if(i==null)return;const{x:a,y:u}=i,s=(0,fe.createCoreData)(this,a,u);(0,Le.default)("DraggableCore: handleDragStart: %j",s),(0,Le.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=u,(0,F.addEvent)(n,pe.move,this.handleDrag),(0,F.addEvent)(n,pe.stop,this.handleDragStop))}),V(this,"handleDrag",e=>{const r=(0,fe.getControlPosition)(e,this.touchIdentifier,this);if(r==null)return;let{x:n,y:o}=r;if(Array.isArray(this.props.grid)){let u=n-this.lastX,s=o-this.lastY;if([u,s]=(0,fe.snapToGrid)(this.props.grid,u,s),!u&&!s)return;n=this.lastX+u,o=this.lastY+s}const i=(0,fe.createCoreData)(this,n,o);if((0,Le.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}),V(this,"handleDragStop",e=>{if(!this.dragging)return;const r=(0,fe.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,l=o-this.lastY||0;[s,l]=(0,fe.snapToGrid)(this.props.grid,s,l),n=this.lastX+s,o=this.lastY+l}const i=(0,fe.createCoreData)(this,n,o);if(this.props.onStop(e,i)===!1||this.mounted===!1)return!1;const u=this.findDOMNode();u&&this.props.enableUserSelectHack&&(0,F.scheduleRemoveUserSelectStyles)(u.ownerDocument),(0,Le.default)("DraggableCore: handleDragStop: %j",i),this.dragging=!1,this.lastX=NaN,this.lastY=NaN,u&&((0,Le.default)("DraggableCore: Removing handlers"),(0,F.removeEvent)(u.ownerDocument,pe.move,this.handleDrag),(0,F.removeEvent)(u.ownerDocument,pe.stop,this.handleDragStop))}),V(this,"onMouseDown",e=>(pe=re.mouse,this.handleDragStart(e))),V(this,"onMouseUp",e=>(pe=re.mouse,this.handleDragStop(e))),V(this,"onTouchStart",e=>(pe=re.touch,this.handleDragStart(e))),V(this,"onTouchEnd",e=>(pe=re.touch,this.handleDragStop(e)))}componentDidMount(){this.mounted=!0;const e=this.findDOMNode();e&&(0,F.addEvent)(e,re.touch.start,this.onTouchStart,{passive:!1})}componentWillUnmount(){this.mounted=!1;const e=this.findDOMNode();if(e){const{ownerDocument:r}=e;(0,F.removeEvent)(r,re.mouse.move,this.handleDrag),(0,F.removeEvent)(r,re.touch.move,this.handleDrag),(0,F.removeEvent)(r,re.mouse.stop,this.handleDragStop),(0,F.removeEvent)(r,re.touch.stop,this.handleDragStop),(0,F.removeEvent)(e,re.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:pi.default.findDOMNode(this)}render(){return pt.cloneElement(pt.Children.only(this.props.children),{onMouseDown:this.onMouseDown,onMouseUp:this.onMouseUp,onTouchEnd:this.onTouchEnd})}};rt.default=ot;V(ot,"displayName","DraggableCore");V(ot,"propTypes",{allowAnyClick:U.default.bool,allowMobileScroll:U.default.bool,children:U.default.node.isRequired,disabled:U.default.bool,enableUserSelectHack:U.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:U.default.arrayOf(U.default.number),handle:U.default.string,cancel:U.default.string,nodeRef:U.default.object,onStart:U.default.func,onDrag:U.default.func,onStop:U.default.func,onMouseDown:U.default.func,scale:U.default.number,className:ht.dontSetMe,style:ht.dontSetMe,transform:ht.dontSetMe});V(ot,"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(he),n=c(Ct),o=Ze,i=$,a=ue,u=le,s=c(rt),l=c(nt);function c(h){return h&&h.__esModule?h:{default:h}}function d(h,b){if(typeof WeakMap=="function")var y=new WeakMap,x=new WeakMap;return(d=function(m,z){if(!z&&m&&m.__esModule)return m;var N,q,K={__proto__:null,default:m};if(m===null||typeof m!="object"&&typeof m!="function")return K;if(N=z?x:y){if(N.has(m))return N.get(m);N.set(m,K)}for(const J in m)J!=="default"&&{}.hasOwnProperty.call(m,J)&&((q=(N=Object.defineProperty)&&Object.getOwnPropertyDescriptor(m,J))&&(q.get||q.set)?N(K,J,q):K[J]=m[J]);return K})(h,b)}function f(){return f=Object.assign?Object.assign.bind():function(h){for(var b=1;b<arguments.length;b++){var y=arguments[b];for(var x in y)({}).hasOwnProperty.call(y,x)&&(h[x]=y[x])}return h},f.apply(null,arguments)}function p(h,b,y){return(b=w(b))in h?Object.defineProperty(h,b,{value:y,enumerable:!0,configurable:!0,writable:!0}):h[b]=y,h}function w(h){var b=D(h,"string");return typeof b=="symbol"?b:b+""}function D(h,b){if(typeof h!="object"||!h)return h;var y=h[Symbol.toPrimitive];if(y!==void 0){var x=y.call(h,b||"default");if(typeof x!="object")return x;throw new TypeError("@@toPrimitive must return a primitive value.")}return(b==="string"?String:Number)(h)}class S extends e.Component{static getDerivedStateFromProps(b,y){let{position:x}=b,{prevPropsPosition:m}=y;return x&&(!m||x.x!==m.x||x.y!==m.y)?((0,l.default)("Draggable: getDerivedStateFromProps %j",{position:x,prevPropsPosition:m}),{x:x.x,y:x.y,prevPropsPosition:{...x}}):null}constructor(b){super(b),p(this,"onDragStart",(y,x)=>{if((0,l.default)("Draggable: onDragStart: %j",x),this.props.onStart(y,(0,a.createDraggableData)(this,x))===!1)return!1;this.setState({dragging:!0,dragged:!0})}),p(this,"onDrag",(y,x)=>{if(!this.state.dragging)return!1;(0,l.default)("Draggable: onDrag: %j",x);const m=(0,a.createDraggableData)(this,x),z={x:m.x,y:m.y,slackX:0,slackY:0};if(this.props.bounds){const{x:q,y:K}=z;z.x+=this.state.slackX,z.y+=this.state.slackY;const[J,Me]=(0,a.getBoundPosition)(this,z.x,z.y);z.x=J,z.y=Me,z.slackX=this.state.slackX+(q-z.x),z.slackY=this.state.slackY+(K-z.y),m.x=z.x,m.y=z.y,m.deltaX=z.x-this.state.x,m.deltaY=z.y-this.state.y}if(this.props.onDrag(y,m)===!1)return!1;this.setState(z)}),p(this,"onDragStop",(y,x)=>{if(!this.state.dragging||this.props.onStop(y,(0,a.createDraggableData)(this,x))===!1)return!1;(0,l.default)("Draggable: onDragStop: %j",x);const z={dragging:!1,slackX:0,slackY:0};if(!!this.props.position){const{x:q,y:K}=this.props.position;z.x=q,z.y=K}this.setState(z)}),this.state={dragging:!1,dragged:!1,x:b.position?b.position.x:b.defaultPosition.x,y:b.position?b.position.y:b.defaultPosition.y,prevPropsPosition:{...b.position},slackX:0,slackY:0,isElementSVG:!1},b.position&&!(b.onDrag||b.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 b,y;return((y=(b=this.props)==null?void 0:b.nodeRef)==null?void 0:y.current)??n.default.findDOMNode(this)}render(){const{axis:b,bounds:y,children:x,defaultPosition:m,defaultClassName:z,defaultClassNameDragging:N,defaultClassNameDragged:q,position:K,positionOffset:J,scale:Me,...ct}=this.props;let je={},Te=null;const ge=!!!K||this.state.dragging,me=K||m,qe={x:(0,a.canDragX)(this)&&ge?this.state.x:me.x,y:(0,a.canDragY)(this)&&ge?this.state.y:me.y};this.state.isElementSVG?Te=(0,i.createSVGTransform)(qe,J):je=(0,i.createCSSTransform)(qe,J);const dt=(0,o.clsx)(x.props.className||"",z,{[N]:this.state.dragging,[q]:this.state.dragged});return e.createElement(s.default,f({},ct,{onStart:this.onDragStart,onDrag:this.onDrag,onStop:this.onDragStop}),e.cloneElement(e.Children.only(x),{className:dt,style:{...x.props.style,...je},transform:Te}))}}t.default=S,p(S,"displayName","Draggable"),p(S,"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:u.dontSetMe,style:u.dontSetMe,transform:u.dontSetMe}),p(S,"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})})(Ir);const{default:Kr,DraggableCore:mi}=Ir;tt.exports=Kr;tt.exports.default=Kr;tt.exports.DraggableCore=mi;var Zr=tt.exports,it={exports:{}},ke={},Bt={};Bt.__esModule=!0;Bt.cloneElement=Si;var yi=vi(L);function vi(t){return t&&t.__esModule?t:{default:t}}function dr(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 fr(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?dr(Object(r),!0).forEach(function(n){bi(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):dr(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function bi(t,e,r){return e=wi(e),e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function wi(t){var e=xi(t,"string");return typeof e=="symbol"?e:String(e)}function xi(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 Si(t,e){return e.style&&t.props.style&&(e.style=fr(fr({},t.props.style),e.style)),e.className&&t.props.className&&(e.className=t.props.className+" "+e.className),yi.default.cloneElement(t,e)}var Ae={};Ae.__esModule=!0;Ae.resizableProps=void 0;var O=Ri(he);function Ri(t){return t&&t.__esModule?t:{default:t}}var Di={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)}};Ae.resizableProps=Di;ke.__esModule=!0;ke.default=void 0;var He=zi(L),_i=Zr,Oi=Bt,Pi=Ae,Ei=["children","className","draggableOpts","width","height","handle","handleSize","lockAspectRatio","axis","minConstraints","maxConstraints","onResize","onResizeStop","onResizeStart","resizeHandles","transformScale"];function Jr(t){if(typeof WeakMap!="function")return null;var e=new WeakMap,r=new WeakMap;return(Jr=function(o){return o?r:e})(t)}function zi(t,e){if(t&&t.__esModule)return t;if(t===null||typeof t!="object"&&typeof t!="function")return{default:t};var r=Jr(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 Rt(){return Rt=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},Rt.apply(this,arguments)}function Ci(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 pr(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 gt(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?pr(Object(r),!0).forEach(function(n){Mi(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):pr(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function Mi(t,e,r){return e=ji(e),e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function ji(t){var e=Ti(t,"string");return typeof e=="symbol"?e:String(e)}function Ti(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 Li(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,Dt(t,e)}function Dt(t,e){return Dt=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,o){return n.__proto__=o,n},Dt(t,e)}var Ft=function(t){Li(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,u=a.minConstraints,s=a.maxConstraints,l=a.lockAspectRatio;if(!u&&!s&&!l)return[o,i];if(l){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 p=o,w=i,D=this.slack||[0,0],S=D[0],h=D[1];return o+=S,i+=h,u&&(o=Math.max(u[0],o),i=Math.max(u[1],i)),s&&(o=Math.min(s[0],o),i=Math.min(s[1],i)),this.slack=[S+(p-o),h+(w-i)],[o,i]},r.resizeHandler=function(o,i){var a=this;return function(u,s){var l=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",p=(a.props.axis==="both"||a.props.axis==="y")&&i!=="e"&&i!=="w";if(!(!f&&!p)){var w=i[0],D=i[i.length-1],S=l.getBoundingClientRect();if(a.lastHandleRect!=null){if(D==="w"){var h=S.left-a.lastHandleRect.left;c+=h}if(w==="n"){var b=S.top-a.lastHandleRect.top;d+=b}}a.lastHandleRect=S,D==="w"&&(c=-c),w==="n"&&(d=-d);var y=a.props.width+(f?c/a.props.transformScale:0),x=a.props.height+(p?d/a.props.transformScale:0),m=a.runConstraints(y,x);y=m[0],x=m[1];var z=y!==a.props.width||x!==a.props.height,N=typeof a.props[o]=="function"?a.props[o]:null,q=o==="onResize"&&!z;N&&!q&&(u.persist==null||u.persist(),N(u,{node:l,size:{width:y,height:x},handle:i})),o==="onResizeStop"&&a.resetData()}}},r.renderResizeHandle=function(o,i){var a=this.props.handle;if(!a)return He.createElement("span",{className:"react-resizable-handle react-resizable-handle-"+o,ref:i});if(typeof a=="function")return a(o,i);var u=typeof a.type=="string",s=gt({ref:i},u?{}:{handleAxis:o});return He.cloneElement(a,s)},r.render=function(){var o=this,i=this.props,a=i.children,u=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 l=i.resizeHandles;i.transformScale;var c=Ci(i,Ei);return(0,Oi.cloneElement)(a,gt(gt({},c),{},{className:(u?u+" ":"")+"react-resizable",children:[].concat(a.props.children,l.map(function(d){var f,p=(f=o.handleRefs[d])!=null?f:o.handleRefs[d]=He.createRef();return He.createElement(_i.DraggableCore,Rt({},s,{nodeRef:p,key:"resizableHandle-"+d,onStop:o.resizeHandler("onResizeStop",d),onStart:o.resizeHandler("onResizeStart",d),onDrag:o.resizeHandler("onResize",d)}),o.renderResizeHandle(d,p))}))}))},e}(He.Component);ke.default=Ft;Ft.propTypes=Pi.resizableProps;Ft.defaultProps={axis:"both",handleSize:[20,20],lockAspectRatio:!1,minConstraints:[20,20],maxConstraints:[1/0,1/0],resizeHandles:["se"],transformScale:1};var at={};at.__esModule=!0;at.default=void 0;var mt=ki(L),Hi=Qr(he),$i=Qr(ke),Ni=Ae,Wi=["handle","handleSize","onResize","onResizeStart","onResizeStop","draggableOpts","minConstraints","maxConstraints","lockAspectRatio","axis","width","height","resizeHandles","style","transformScale"];function Qr(t){return t&&t.__esModule?t:{default:t}}function en(t){if(typeof WeakMap!="function")return null;var e=new WeakMap,r=new WeakMap;return(en=function(o){return o?r:e})(t)}function ki(t,e){if(t&&t.__esModule)return t;if(t===null||typeof t!="object"&&typeof t!="function")return{default:t};var r=en(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 _t(){return _t=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},_t.apply(this,arguments)}function hr(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 Xe(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?hr(Object(r),!0).forEach(function(n){Ai(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):hr(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function Ai(t,e,r){return e=qi(e),e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function qi(t){var e=Ii(t,"string");return typeof e=="symbol"?e:String(e)}function Ii(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 Gi(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 Bi(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,Ot(t,e)}function Ot(t,e){return Ot=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,o){return n.__proto__=o,n},Ot(t,e)}var tn=function(t){Bi(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(u,s){var l=s.size;n.props.onResize?(u.persist==null||u.persist(),n.setState(l,function(){return n.props.onResize&&n.props.onResize(u,s)})):n.setState(l)},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 u=o.onResizeStart,s=o.onResizeStop,l=o.draggableOpts,c=o.minConstraints,d=o.maxConstraints,f=o.lockAspectRatio,p=o.axis;o.width,o.height;var w=o.resizeHandles,D=o.style,S=o.transformScale,h=Gi(o,Wi);return mt.createElement($i.default,{axis:p,draggableOpts:l,handle:i,handleSize:a,height:this.state.height,lockAspectRatio:f,maxConstraints:d,minConstraints:c,onResizeStart:u,onResize:this.onResize,onResizeStop:s,resizeHandles:w,transformScale:S,width:this.state.width},mt.createElement("div",_t({},h,{style:Xe(Xe({},D),{},{width:this.state.width+"px",height:this.state.height+"px"})})))},e}(mt.Component);at.default=tn;tn.propTypes=Xe(Xe({},Ni.resizableProps),{},{children:Hi.default.element});it.exports=function(){throw new Error("Don't instantiate Resizable directly! Use require('react-resizable').Resizable")};it.exports.Resizable=ke.default;it.exports.ResizableBox=at.default;var Fi=it.exports,ce={};Object.defineProperty(ce,"__esModule",{value:!0});ce.resizeHandleType=ce.resizeHandleAxesType=ce.default=void 0;var P=rn(he),Yi=rn(L);function rn(t){return t&&t.__esModule?t:{default:t}}const Xi=ce.resizeHandleAxesType=P.default.arrayOf(P.default.oneOf(["s","w","e","n","sw","nw","se","ne"])),Ui=ce.resizeHandleType=P.default.oneOfType([P.default.node,P.default.func]);ce.default={className:P.default.string,style:P.default.object,width:P.default.number,autoSize:P.default.bool,cols:P.default.number,draggableCancel:P.default.string,draggableHandle:P.default.string,verticalCompact:function(t){t.verticalCompact},compactType:P.default.oneOf(["vertical","horizontal"]),layout:function(t){var e=t.layout;e!==void 0&&E.validateLayout(e,"layout")},margin:P.default.arrayOf(P.default.number),containerPadding:P.default.arrayOf(P.default.number),rowHeight:P.default.number,maxRows:P.default.number,isBounded:P.default.bool,isDraggable:P.default.bool,isResizable:P.default.bool,allowOverlap:P.default.bool,preventCollision:P.default.bool,useCSSTransforms:P.default.bool,transformScale:P.default.number,isDroppable:P.default.bool,resizeHandles:Xi,resizeHandle:Ui,onLayoutChange:P.default.func,onDragStart:P.default.func,onDrag:P.default.func,onDragStop:P.default.func,onResizeStart:P.default.func,onResize:P.default.func,onResizeStop:P.default.func,onDrop:P.default.func,droppingItem:P.default.shape({i:P.default.string.isRequired,w:P.default.number.isRequired,h:P.default.number.isRequired}),children:function(t,e){const r=t[e],n={};Yi.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:P.default.any};Object.defineProperty(et,"__esModule",{value:!0});et.default=void 0;var De=Yt(L),gr=Ct,C=Yt(he),Vi=Zr,Ki=Fi,_e=E,G=se,mr=ce,Zi=Yt(Ze);function Yt(t){return t&&t.__esModule?t:{default:t}}function ae(t,e,r){return(e=Ji(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function Ji(t){var e=Qi(t,"string");return typeof e=="symbol"?e:e+""}function Qi(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 Xt extends De.default.Component{constructor(){super(...arguments),ae(this,"state",{resizing:null,dragging:null,className:""}),ae(this,"elementRef",De.default.createRef()),ae(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:u}=n;if(!u)return;const s=u.getBoundingClientRect(),l=n.getBoundingClientRect(),c=l.left/i,d=s.left/i,f=l.top/i,p=s.top/i;a.left=c-d+u.scrollLeft,a.top=f-p+u.scrollTop,this.setState({dragging:a});const{x:w,y:D}=(0,G.calcXY)(this.getPositionParams(),a.top,a.left,this.props.w,this.props.h);return o.call(this,this.props.i,w,D,{e,node:n,newPosition:a})}),ae(this,"onDrag",(e,r,n)=>{let{node:o,deltaX:i,deltaY:a}=r;const{onDrag:u}=this.props;if(!u)return;if(!this.state.dragging)throw new Error("onDrag called before onDragStart.");let s=this.state.dragging.top+a,l=this.state.dragging.left+i;const{isBounded:c,i:d,w:f,h:p,containerWidth:w}=this.props,D=this.getPositionParams();if(c){const{offsetParent:y}=o;if(y){const{margin:x,rowHeight:m}=this.props,z=y.clientHeight-(0,G.calcGridItemWHPx)(p,m,x[1]);s=(0,G.clamp)(s,0,z);const N=(0,G.calcGridColWidth)(D),q=w-(0,G.calcGridItemWHPx)(f,N,x[0]);l=(0,G.clamp)(l,0,q)}}const S={top:s,left:l};n?this.setState({dragging:S}):(0,gr.flushSync)(()=>{this.setState({dragging:S})});const{x:h,y:b}=(0,G.calcXY)(D,s,l,f,p);return u.call(this,d,h,b,{e,node:o,newPosition:S})}),ae(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:u}=this.props,{left:s,top:l}=this.state.dragging,c={top:l,left:s};this.setState({dragging:null});const{x:d,y:f}=(0,G.calcXY)(this.getPositionParams(),l,s,i,a);return o.call(this,u,d,f,{e,node:n,newPosition:c})}),ae(this,"onResizeStop",(e,r,n)=>this.onResizeHandler(e,r,n,"onResizeStop")),ae(this,"onResizeStart",(e,r,n)=>this.onResizeHandler(e,r,n,"onResizeStart")),ae(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,G.calcGridItemPosition)(this.getPositionParams(this.props),this.props.x,this.props.y,this.props.w,this.props.h,this.state),o=(0,G.calcGridItemPosition)(this.getPositionParams(e),e.x,e.y,e.w,e.h,r);return!(0,_e.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 u=r.left-i.left,s=r.top-i.top;this.onDrag(r.e,{node:n,deltaX:u,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,_e.setTransform)(e):(i=(0,_e.setTopLeft)(e),r&&(i.left=(0,_e.perc)(e.left/n),i.width=(0,_e.perc)(e.width/n))),i}mixinDraggable(e,r){return De.default.createElement(Vi.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:u,maxH:s,transformScale:l,resizeHandles:c,resizeHandle:d}=this.props,f=this.getPositionParams(),p=(0,G.calcGridItemPosition)(f,0,0,o,0).width,w=(0,G.calcGridItemPosition)(f,0,0,i,a),D=(0,G.calcGridItemPosition)(f,0,0,u,s),S=[w.width,w.height],h=[Math.min(D.width,p),Math.min(D.height,1/0)];return De.default.createElement(Ki.Resizable,{draggableOpts:{disabled:!n},className:n?void 0:"react-resizable-hide",width:r.width,height:r.height,minConstraints:S,maxConstraints:h,onResizeStop:this.curryResizeHandler(r,this.onResizeStop),onResizeStart:this.curryResizeHandler(r,this.onResizeStart),onResize:this.curryResizeHandler(r,this.onResize),transformScale:l,resizeHandles:c,handle:d},e)}onResizeHandler(e,r,n,o){let{node:i,size:a,handle:u}=r;const s=this.props[o];if(!s)return;const{x:l,y:c,i:d,maxH:f,minH:p,containerWidth:w}=this.props,{minW:D,maxW:S}=this.props;let h=a;i&&(h=(0,_e.resizeItemInDirection)(u,n,a,w),(0,gr.flushSync)(()=>{this.setState({resizing:o==="onResizeStop"?null:h})}));let{w:b,h:y}=(0,G.calcWH)(this.getPositionParams(),h.width,h.height,l,c,u);b=(0,G.clamp)(b,Math.max(D,1),S),y=(0,G.clamp)(y,p,f),s.call(this,d,b,y,{e,node:i,size:h,handle:u})}render(){const{x:e,y:r,w:n,h:o,isDraggable:i,isResizable:a,droppingPosition:u,useCSSTransforms:s}=this.props,l=(0,G.calcGridItemPosition)(this.getPositionParams(),e,r,n,o,this.state),c=De.default.Children.only(this.props.children);let d=De.default.cloneElement(c,{ref:this.elementRef,className:(0,Zi.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:!!u,cssTransforms:s}),style:{...this.props.style,...c.props.style,...this.createStyle(l)}});return d=this.mixinResizable(d,l,a),d=this.mixinDraggable(d,i),d}}et.default=Xt;ae(Xt,"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:mr.resizeHandleAxesType,resizeHandle:mr.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})});ae(Xt,"defaultProps",{className:"",cancel:"",handle:"",minH:1,minW:1,maxH:1/0,maxW:1/0,transformScale:1});Object.defineProperty(We,"__esModule",{value:!0});We.default=void 0;var ye=nn(L),yt=Mt,ea=Ut(Ze),R=E,ta=se,yr=Ut(et),ra=Ut(ce);function Ut(t){return t&&t.__esModule?t:{default:t}}function nn(t,e){if(typeof WeakMap=="function")var r=new WeakMap,n=new WeakMap;return(nn=function(o,i){if(!i&&o&&o.__esModule)return o;var a,u,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 l in o)l!=="default"&&{}.hasOwnProperty.call(o,l)&&((u=(a=Object.defineProperty)&&Object.getOwnPropertyDescriptor(o,l))&&(u.get||u.set)?a(s,l,u):s[l]=o[l]);return s})(t,e)}function Y(t,e,r){return(e=na(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function na(t){var e=oa(t,"string");return typeof e=="symbol"?e:e+""}function oa(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 vr="react-grid-layout";let on=!1;try{on=/firefox/i.test(navigator.userAgent)}catch{}class st extends ye.Component{constructor(){super(...arguments),Y(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:[]}),Y(this,"dragEnterCounter",0),Y(this,"onDragStart",(e,r,n,o)=>{let{e:i,node:a}=o;const{layout:u}=this.state,s=(0,R.getLayoutItem)(u,e);if(!s)return;const l={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:u,activeDrag:l}),this.props.onDragStart(u,s,s,null,i,a)}),Y(this,"onDrag",(e,r,n,o)=>{let{e:i,node:a}=o;const{oldDragItem:u}=this.state;let{layout:s}=this.state;const{cols:l,allowOverlap:c,preventCollision:d}=this.props,f=(0,R.getLayoutItem)(s,e);if(!f)return;const p={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),l,c),this.props.onDrag(s,u,f,p,i,a),this.setState({layout:c?s:(0,R.compact)(s,(0,R.compactType)(this.props),l),activeDrag:p})}),Y(this,"onDragStop",(e,r,n,o)=>{let{e:i,node:a}=o;if(!this.state.activeDrag)return;const{oldDragItem:u}=this.state;let{layout:s}=this.state;const{cols:l,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),l,d);const w=d?s:(0,R.compact)(s,(0,R.compactType)(this.props),l);this.props.onDragStop(w,u,f,null,i,a);const{oldLayout:D}=this.state;this.setState({activeDrag:null,layout:w,oldDragItem:null,oldLayout:null}),this.onLayoutMaybeChanged(w,D)}),Y(this,"onResizeStart",(e,r,n,o)=>{let{e:i,node:a}=o;const{layout:u}=this.state,s=(0,R.getLayoutItem)(u,e);s&&(this.setState({oldResizeItem:(0,R.cloneLayoutItem)(s),oldLayout:this.state.layout,resizing:!0}),this.props.onResizeStart(u,s,s,null,i,a))}),Y(this,"onResize",(e,r,n,o)=>{let{e:i,node:a,size:u,handle:s}=o;const{oldResizeItem:l}=this.state,{layout:c}=this.state,{cols:d,preventCollision:f,allowOverlap:p}=this.props;let w=!1,D,S,h;const[b,y]=(0,R.withLayoutItem)(c,e,m=>{let z;return S=m.x,h=m.y,["sw","w","nw","n","ne"].indexOf(s)!==-1&&(["sw","nw","w"].indexOf(s)!==-1&&(S=m.x+(m.w-r),r=m.x!==S&&S<0?m.w:r,S=S<0?0:S),["ne","n","nw"].indexOf(s)!==-1&&(h=m.y+(m.h-n),n=m.y!==h&&h<0?m.h:n,h=h<0?0:h),w=!0),f&&!p&&(z=(0,R.getAllCollisions)(c,{...m,w:r,h:n,x:S,y:h}).filter(q=>q.i!==m.i).length>0,z&&(h=m.y,n=m.h,S=m.x,r=m.w,w=!1)),m.w=r,m.h=n,m});if(!y)return;D=b,w&&(D=(0,R.moveElement)(b,y,S,h,!0,this.props.preventCollision,(0,R.compactType)(this.props),d,p));const x={w:y.w,h:y.h,x:y.x,y:y.y,static:!0,i:e};this.props.onResize(D,l,y,x,i,a),this.setState({layout:p?D:(0,R.compact)(D,(0,R.compactType)(this.props),d),activeDrag:x})}),Y(this,"onResizeStop",(e,r,n,o)=>{let{e:i,node:a}=o;const{layout:u,oldResizeItem:s}=this.state,{cols:l,allowOverlap:c}=this.props,d=(0,R.getLayoutItem)(u,e),f=c?u:(0,R.compact)(u,(0,R.compactType)(this.props),l);this.props.onResizeStop(f,s,d,null,i,a);const{oldLayout:p}=this.state;this.setState({activeDrag:null,layout:f,oldResizeItem:null,oldLayout:null,resizing:!1}),this.onLayoutMaybeChanged(f,p)}),Y(this,"onDragOver",e=>{var b;if(e.preventDefault(),e.stopPropagation(),on&&!((b=e.nativeEvent.target)!=null&&b.classList.contains(vr)))return!1;const{droppingItem:r,onDropDragOver:n,margin:o,cols:i,rowHeight:a,maxRows:u,width:s,containerPadding:l,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:p}=this.state,w=e.currentTarget.getBoundingClientRect(),D=e.clientX-w.left,S=e.clientY-w.top,h={left:D/c,top:S/c,e};if(this.state.droppingDOMNode){if(this.state.droppingPosition){const{left:y,top:x}=this.state.droppingPosition;(y!=D||x!=S)&&this.setState({droppingPosition:h})}}else{const y={cols:i,margin:o,maxRows:u,rowHeight:a,containerWidth:s,containerPadding:l||o},x=(0,ta.calcXY)(y,S,D,f.w,f.h);this.setState({droppingDOMNode:ye.createElement("div",{key:f.i}),droppingPosition:h,layout:[...p,{...f,x:x.x,y:x.y,static:!1,isDraggable:!0}]})}}),Y(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})}),Y(this,"onDragLeave",e=>{e.preventDefault(),e.stopPropagation(),this.dragEnterCounter--,this.dragEnterCounter===0&&this.removeDroppingPlaceholder()}),Y(this,"onDragEnter",e=>{e.preventDefault(),e.stopPropagation(),this.dragEnterCounter++}),Y(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,yt.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,yt.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,yt.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:u,useCSSTransforms:s,transformScale:l}=this.props;return ye.createElement(yr.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:u,rowHeight:a,isDraggable:!1,isResizable:!1,isBounded:!1,useCSSTransforms:s,transformScale:l},ye.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:u,rowHeight:s,maxRows:l,isDraggable:c,isResizable:d,isBounded:f,useCSSTransforms:p,transformScale:w,draggableCancel:D,draggableHandle:S,resizeHandles:h,resizeHandle:b}=this.props,{mounted:y,droppingPosition:x}=this.state,m=typeof n.isDraggable=="boolean"?n.isDraggable:!n.static&&c,z=typeof n.isResizable=="boolean"?n.isResizable:!n.static&&d,N=n.resizeHandles||h,q=m&&f&&n.isBounded!==!1;return ye.createElement(yr.default,{containerWidth:o,cols:i,margin:a,containerPadding:u||a,maxRows:l,rowHeight:s,cancel:D,handle:S,onDragStop:this.onDragStop,onDragStart:this.onDragStart,onDrag:this.onDrag,onResizeStart:this.onResizeStart,onResize:this.onResize,onResizeStop:this.onResizeStop,isDraggable:m,isResizable:z,isBounded:q,useCSSTransforms:p&&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?x:void 0,resizeHandles:N,resizeHandle:b},e)}render(){const{className:e,style:r,isDroppable:n,innerRef:o}=this.props,i=(0,ea.default)(vr,e),a={height:this.containerHeight(),...r};return ye.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},ye.Children.map(this.props.children,u=>this.processGridItem(u)),n&&this.state.droppingDOMNode&&this.processGridItem(this.state.droppingDOMNode,!0),this.placeholder())}}We.default=st;Y(st,"displayName","ReactGridLayout");Y(st,"propTypes",ra.default);Y(st,"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 lt={},Re={};Object.defineProperty(Re,"__esModule",{value:!0});Re.findOrGenerateResponsiveLayout=sa;Re.getBreakpointFromWidth=ia;Re.getColsFromBreakpoint=aa;Re.sortBreakpoints=Vt;var Be=E;function ia(t,e){const r=Vt(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 aa(t,e){if(!e[t])throw new Error("ResponsiveReactGridLayout: `cols` entry for breakpoint "+t+" is missing!");return e[t]}function sa(t,e,r,n,o,i){if(t[r])return(0,Be.cloneLayout)(t[r]);let a=t[n];const u=Vt(e),s=u.slice(u.indexOf(r));for(let l=0,c=s.length;l<c;l++){const d=s[l];if(t[d]){a=t[d];break}}return a=(0,Be.cloneLayout)(a||[]),(0,Be.compact)((0,Be.correctBounds)(a,{cols:o}),i,o)}function Vt(t){return Object.keys(t).sort(function(r,n){return t[r]-t[n]})}Object.defineProperty(lt,"__esModule",{value:!0});lt.default=void 0;var br=sn(L),Z=an(he),vt=Mt,Ee=E,ve=Re,la=an(We);function an(t){return t&&t.__esModule?t:{default:t}}function sn(t,e){if(typeof WeakMap=="function")var r=new WeakMap,n=new WeakMap;return(sn=function(o,i){if(!i&&o&&o.__esModule)return o;var a,u,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 l in o)l!=="default"&&{}.hasOwnProperty.call(o,l)&&((u=(a=Object.defineProperty)&&Object.getOwnPropertyDescriptor(o,l))&&(u.get||u.set)?a(s,l,u):s[l]=o[l]);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 Ue(t,e,r){return(e=ua(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function ua(t){var e=ca(t,"string");return typeof e=="symbol"?e:e+""}function ca(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 wr=t=>Object.prototype.toString.call(t);function Fe(t,e){return t==null?null:Array.isArray(t)?t:t[e]}class Kt extends br.Component{constructor(){super(...arguments),Ue(this,"state",this.generateInitialState()),Ue(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,ve.getBreakpointFromWidth)(r,e),a=(0,ve.getColsFromBreakpoint)(i,o),u=this.props.verticalCompact===!1?null:this.props.compactType;return{layout:(0,ve.findOrGenerateResponsiveLayout)(n,r,i,i,a,u),breakpoint:i,cols:a}}static getDerivedStateFromProps(e,r){if(!(0,vt.deepEqual)(e.layouts,r.layouts)){const{breakpoint:n,cols:o}=r;return{layout:(0,ve.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,vt.deepEqual)(this.props.breakpoints,e.breakpoints)||!(0,vt.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,ve.getBreakpointFromWidth)(this.props.breakpoints,this.props.width),u=this.state.breakpoint,s=(0,ve.getColsFromBreakpoint)(a,n),l={...o};if(u!==a||e.breakpoints!==r||e.cols!==n){u in l||(l[u]=(0,Ee.cloneLayout)(this.state.layout));let f=(0,ve.findOrGenerateResponsiveLayout)(l,r,a,u,s,i);f=(0,Ee.synchronizeLayoutWithChildren)(f,this.props.children,s,i,this.props.allowOverlap),l[a]=f,this.props.onBreakpointChange(a,s),this.props.onLayoutChange(f,l),this.setState({breakpoint:a,layout:f,cols:s})}const c=Fe(this.props.margin,a),d=Fe(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:u,onLayoutChange:s,onWidthChange:l,...c}=this.props;return br.createElement(la.default,Pt({},c,{margin:Fe(i,this.state.breakpoint),containerPadding:Fe(a,this.state.breakpoint),onLayoutChange:this.onLayoutChange,layout:this.state.layout,cols:this.state.cols}))}}lt.default=Kt;Ue(Kt,"propTypes",{breakpoint:Z.default.string,breakpoints:Z.default.object,allowOverlap:Z.default.bool,cols:Z.default.object,margin:Z.default.oneOfType([Z.default.array,Z.default.object]),containerPadding:Z.default.oneOfType([Z.default.array,Z.default.object]),layouts(t,e){if(wr(t[e])!=="[object Object]")throw new Error("Layout property must be an object. Received: "+wr(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,Ee.validateLayout)(t.layouts[r],"layouts."+r)})},width:Z.default.number.isRequired,onBreakpointChange:Z.default.func,onLayoutChange:Z.default.func,onWidthChange:Z.default.func});Ue(Kt,"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:Ee.noop,onLayoutChange:Ee.noop,onWidthChange:Ee.noop});var Zt={},ln=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}()}(),Et=typeof window<"u"&&typeof document<"u"&&window.document===document,Ve=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")()}(),da=function(){return typeof requestAnimationFrame=="function"?requestAnimationFrame.bind(Ve):function(t){return setTimeout(function(){return t(Date.now())},1e3/60)}}(),fa=2;function pa(t,e){var r=!1,n=!1,o=0;function i(){r&&(r=!1,t()),n&&u()}function a(){da(i)}function u(){var s=Date.now();if(r){if(s-o<fa)return;n=!0}else r=!0,n=!1,setTimeout(a,e);o=s}return u}var ha=20,ga=["top","right","bottom","left","width","height","size","weight"],ma=typeof MutationObserver<"u",ya=function(){function t(){this.connected_=!1,this.mutationEventsAdded_=!1,this.mutationsObserver_=null,this.observers_=[],this.onTransitionEnd_=this.onTransitionEnd_.bind(this),this.refresh=pa(this.refresh.bind(this),ha)}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(){!Et||this.connected_||(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),ma?(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(){!Et||!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=ga.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}(),un=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},Ce=function(t){var e=t&&t.ownerDocument&&t.ownerDocument.defaultView;return e||Ve},cn=ut(0,0,0,0);function Ke(t){return parseFloat(t)||0}function xr(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+Ke(i)},0)}function va(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]=Ke(a)}return r}function ba(t){var e=t.getBBox();return ut(0,0,e.width,e.height)}function wa(t){var e=t.clientWidth,r=t.clientHeight;if(!e&&!r)return cn;var n=Ce(t).getComputedStyle(t),o=va(n),i=o.left+o.right,a=o.top+o.bottom,u=Ke(n.width),s=Ke(n.height);if(n.boxSizing==="border-box"&&(Math.round(u+i)!==e&&(u-=xr(n,"left","right")+i),Math.round(s+a)!==r&&(s-=xr(n,"top","bottom")+a)),!Sa(t)){var l=Math.round(u+i)-e,c=Math.round(s+a)-r;Math.abs(l)!==1&&(u-=l),Math.abs(c)!==1&&(s-=c)}return ut(o.left,o.top,u,s)}var xa=function(){return typeof SVGGraphicsElement<"u"?function(t){return t instanceof Ce(t).SVGGraphicsElement}:function(t){return t instanceof Ce(t).SVGElement&&typeof t.getBBox=="function"}}();function Sa(t){return t===Ce(t).document.documentElement}function Ra(t){return Et?xa(t)?ba(t):wa(t):cn}function Da(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 un(a,{x:e,y:r,width:n,height:o,top:r,right:e+n,bottom:o+r,left:e}),a}function ut(t,e,r,n){return{x:t,y:e,width:r,height:n}}var _a=function(){function t(e){this.broadcastWidth=0,this.broadcastHeight=0,this.contentRect_=ut(0,0,0,0),this.target=e}return t.prototype.isActive=function(){var e=Ra(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}(),Oa=function(){function t(e,r){var n=Da(r);un(this,{target:e,contentRect:n})}return t}(),Pa=function(){function t(e,r,n){if(this.activeObservations_=[],this.observations_=new ln,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 Ce(e).Element))throw new TypeError('parameter 1 is not of type "Element".');var r=this.observations_;r.has(e)||(r.set(e,new _a(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 Ce(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 Oa(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}(),dn=typeof WeakMap<"u"?new WeakMap:new ln,fn=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=ya.getInstance(),n=new Pa(e,r,this);dn.set(this,n)}return t}();["observe","unobserve","disconnect"].forEach(function(t){fn.prototype[t]=function(){var e;return(e=dn.get(this))[t].apply(e,arguments)}});var Ea=function(){return typeof Ve.ResizeObserver<"u"?Ve.ResizeObserver:fn}();const za=Object.freeze(Object.defineProperty({__proto__:null,default:Ea},Symbol.toStringTag,{value:"Module"})),Ca=zr(za);Object.defineProperty(Zt,"__esModule",{value:!0});Zt.default=Na;var Ye=pn(L),Ma=Jt(he),ja=Jt(Ca),Ta=Jt(Ze);function Jt(t){return t&&t.__esModule?t:{default:t}}function pn(t,e){if(typeof WeakMap=="function")var r=new WeakMap,n=new WeakMap;return(pn=function(o,i){if(!i&&o&&o.__esModule)return o;var a,u,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 l in o)l!=="default"&&{}.hasOwnProperty.call(o,l)&&((u=(a=Object.defineProperty)&&Object.getOwnPropertyDescriptor(o,l))&&(u.get||u.set)?a(s,l,u):s[l]=o[l]);return s})(t,e)}function zt(){return zt=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},zt.apply(null,arguments)}function Oe(t,e,r){return(e=La(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function La(t){var e=Ha(t,"string");return typeof e=="symbol"?e:e+""}function Ha(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 $a="react-grid-layout";function Na(t){var e;return e=class extends Ye.Component{constructor(){super(...arguments),Oe(this,"state",{width:1280}),Oe(this,"elementRef",Ye.createRef()),Oe(this,"mounted",!1),Oe(this,"resizeObserver",void 0)}componentDidMount(){this.mounted=!0,this.resizeObserver=new ja.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?Ye.createElement("div",{className:(0,Ta.default)(this.props.className,$a),style:this.props.style,ref:this.elementRef}):Ye.createElement(t,zt({innerRef:this.elementRef},o,this.state))}},Oe(e,"defaultProps",{measureBeforeMount:!1}),Oe(e,"propTypes",{measureBeforeMount:Ma.default.bool}),e}(function(t){t.exports=We.default,t.exports.utils=E,t.exports.calculateUtils=se,t.exports.Responsive=lt.default,t.exports.Responsive.utils=Re,t.exports.WidthProvider=Zt.default})(Cr);var hn=Cr.exports;const Wa=Fn(hn),ka=hn.WidthProvider(Wa),Aa=B("div")(({theme:t})=>({"& .react-grid-item":{borderRadius:`${t.shape.borderRadiusMedium}px`},"& .grid-item-drag-handle":{[t.breakpoints.down("md")]:{display:"none"}}})),qa=B("div")(({theme:t})=>({border:`1px solid ${t.palette.divider}`})),Ua=({items:t,onLayoutChange:e,cols:r={lg:12,md:12,sm:6,xs:4,xxs:2},rowHeight:n=180})=>{const o=Or(),i=Pr(o.breakpoints.down("md")),a=L.useMemo(()=>{if(i){let l=0;return t.map(c=>{const d={i:c.id,x:0,y:l,w:r.xs,h:c.h??4,minW:r.xs,minH:c.minH??3,maxW:r.xs,maxH:c.maxH??8,static:!1};return l+=d.h,d})}return t.map((l,c)=>({i:l.id,x:l.x??c%Math.floor(r.lg/(l.w??4))*(l.w??4),y:l.y??Math.floor(c/Math.floor(r.lg/(l.w??4)))*(l.h??4),w:l.w??4,h:l.h??4,minW:l.minW??4,minH:l.minH??3,maxW:l.maxW??12,maxH:l.maxH??8,static:l.static??!1}))},[t,r,i]),u=L.useMemo(()=>t.map(l=>g.jsx(qa,{children:l.component},l.id)),[t]),s=L.useCallback(l=>{i||e==null||e(l)},[e,i]);return g.jsx(Aa,{children:g.jsx(ka,{className:"impact-metrics-grid",layout:a,cols:i?r.xs:r.lg,rowHeight:n,margin:[Number.parseInt(o.spacing(2),10),Number.parseInt(o.spacing(2),10)],containerPadding:[0,0],isDraggable:!1,isResizable:!1,onLayoutChange:s,resizeHandles:["se"],draggableHandle:".grid-item-drag-handle",compactType:i?null:"vertical",preventCollision:!1,useCSSTransforms:!0,autoSize:!0,allowOverlap:!1,children:u})})};export{Fa as C,Ua as G,Ba as a,Ga as b,Vn as u};
@@ -0,0 +1 @@
1
+ import{dF as W,dG as G,b9 as T,i$ as $,r as u,ek as L,j as t,B as x,ft as U,V as _,j0 as J,s as o,aE as O,T as y,e as V,cJ as Z,dH as q,h as F,aD as z,b5 as K,bh as H,em as Q,i as X}from"./index-BAMIkcom.js";import{b as Y,C as tt,G as at,a as et}from"./GridLayoutWrapper-2osRRgh4.js";const rt=()=>{const a="api/admin/impact-metrics/plausible",{data:n,refetch:d,loading:h,error:l}=W(T(a),()=>G(T(a),"Plausible metrics"),{refreshInterval:3e4,revalidateOnFocus:!0});return{data:n||{data:[]},refetch:d,loading:h,error:l}},st=({aspectRatio:a,overrideOptions:n={},errorTitle:d="Failed to load Plausible metrics.",emptyDataDescription:h="No Plausible analytics data available.",noSeriesPlaceholder:l,isPreview:C})=>{const{data:e,loading:m,error:v}=rt(),E=$({fill:!0,type:"constant"}),g=u.useMemo(()=>{if(!(e!=null&&e.data)||e.data.length===0)return{labels:[],datasets:[]};const s=[...e.data].sort((p,w)=>new Date(p.date).getTime()-new Date(w.date).getTime());return{labels:s.map(p=>p.date),datasets:[{label:"Events",data:s.map(p=>p.count),borderColor:"rgb(129, 122, 254)",backgroundColor:"rgba(129, 122, 254, 0.1)",fill:!0,tension:.1}]}},[e]),P=!!v,c=m,j=u.useMemo(()=>!c&&(!(e!=null&&e.data)||e.data.length===0||!g.datasets.some(s=>s.data.length>1)),[g,c,e]),D=j?l||t.jsx(J,{title:"No Plausible data available",description:h}):c,M={...n,scales:{x:{type:"time",time:{unit:"hour",displayFormats:{hour:"MMM dd, HH:mm"},tooltipFormat:"PPpp"},ticks:{maxRotation:45,minRotation:45,maxTicksLimit:8}},y:{beginAtZero:!0,title:{display:!0,text:"Events"},ticks:{precision:0,callback:s=>typeof s=="number"?L(s):s}}},plugins:{legend:{display:!0,position:"bottom",labels:{usePointStyle:!0,boxWidth:8,padding:12}}},animations:{x:{duration:0},y:{duration:0}}};return t.jsx(t.Fragment,{children:t.jsx(x,{sx:C?{}:{height:"100%",width:"100%","& > div":{height:"100% !important",width:"100% !important"}},children:t.jsx(U,{data:j||c?E:g,aspectRatio:a,overrideOptions:M,cover:P?t.jsx(_,{severity:"error",children:d}):D})})})},it=o(O)(({theme:a})=>({borderRadius:`${a.shape.borderRadiusMedium}px`,boxShadow:"none",display:"flex",flexDirection:"column",height:"100%"})),ot=o(x)({flex:1,display:"flex",flexDirection:"column",minHeight:0}),nt=o(x)(({theme:a})=>({position:"relative",minWidth:0,flexGrow:1,height:"100%",display:"flex",flexDirection:"column",margin:"auto 0",padding:a.spacing(3)})),dt=o(x)(({theme:a})=>({display:"flex",gap:a.spacing(2),alignItems:"center",padding:a.spacing(1.5,2),borderBottom:`1px solid ${a.palette.divider}`})),lt=o(x)(({theme:a})=>({display:"flex",flexDirection:"column",justifyContent:"flex-end",flexGrow:1,overflow:"hidden",textOverflow:"ellipsis"})),ct=()=>t.jsxs(it,{children:[t.jsx(dt,{children:t.jsxs(lt,{children:[t.jsx(y,{variant:"h6",children:"Plausible Analytics"}),t.jsx(y,{variant:"body2",color:"text.secondary",children:"Favorite events from Plausible analytics"})]})}),t.jsx(ot,{children:t.jsx(nt,{children:t.jsx(st,{aspectRatio:1.5,overrideOptions:{maintainAspectRatio:!1},emptyDataDescription:"No Plausible analytics data available for favorite events."})})})]}),pt=o(O)(({theme:a})=>({textAlign:"center",padding:a.spacing(8),backgroundColor:a.palette.background.default,borderRadius:`${a.shape.borderRadiusMedium}px`,boxShadow:"none"}));o(x)(({theme:a})=>({display:"flex",alignItems:"center",cursor:"move",padding:a.spacing(.5),borderRadius:a.shape.borderRadius,color:a.palette.text.secondary,"&:hover":{backgroundColor:a.palette.action.hover,color:a.palette.text.primary}}));const ht=()=>{const[a,n]=u.useState(!1),[d,h]=u.useState(),{setToastApiError:l}=V(),C=Z("plausibleMetrics"),{charts:e,layout:m,loading:v,error:E,addChart:g,updateChart:P,deleteChart:c}=Y(),{metricOptions:j,loading:I,error:D}=q(),M=()=>{h(void 0),n(!0)},s=i=>{h(i),n(!0)},p=async i=>{try{d?await P(d.id,i):await g(i),n(!1)}catch(b){l(F(b))}},w=u.useCallback(async i=>{try{await c(i)}catch(b){l(F(b))}},[c]),A=u.useMemo(()=>{const i=[];if(C){const f={id:"plausible-analytics",component:t.jsx(ct,{}),w:6,h:2};i.push(f)}const b=e.map((f,xt)=>{const r=m==null?void 0:m.find(N=>N.i===f.id);return{id:f.id,component:t.jsx(tt,{config:f,onEdit:s,onDelete:w}),w:(r==null?void 0:r.w)??6,h:(r==null?void 0:r.h)??4,x:r==null?void 0:r.x,y:r==null?void 0:r.y,minW:4,minH:2,maxW:12,maxH:8}});return[...i,...b]},[e,m,s,w,C]),S=D||E,k=I||v,R=e.length>=20,B=k||!!S||R;return t.jsxs(t.Fragment,{children:[t.jsx(z,{title:"Impact Metrics",titleElement:t.jsx(y,{variant:"h1",component:"span",children:"Impact Metrics"}),actions:t.jsx(K,{variant:"contained",startIcon:t.jsx(H,{}),onClick:M,disabled:B,permission:Q,tooltipProps:R?{title:"Maximum of 20 impact metrics charts allowed",arrow:!0}:void 0,children:"Add Chart"})}),e.length===0&&!k&&!S?t.jsxs(pt,{children:[t.jsx(y,{variant:"h6",gutterBottom:!0,children:"No impact metrics charts configured"}),t.jsx(y,{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"}),t.jsx(X,{variant:"contained",startIcon:t.jsx(H,{}),onClick:M,disabled:k||!!S,children:"Add Chart"})]}):A.length>0?t.jsx(at,{items:A}):null,t.jsx(et,{open:a,onClose:()=>n(!1),onSave:p,initialConfig:d,metricSeries:j,loading:I||v})]})},mt=o("div")(({theme:a})=>({paddingTop:a.spacing(2)})),ut=o("div")(({theme:a})=>({display:"flex",flexDirection:"column",gap:a.spacing(4),paddingBottom:a.spacing(4)})),ft=()=>t.jsx(mt,{children:t.jsx(ut,{children:t.jsx(ht,{})})});export{ft as ImpactMetricsPage};