openvsx-webui-test 0.19.0-dev.2 → 0.20.0-dev.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 (350) hide show
  1. package/lib/components/banner.js +1 -2
  2. package/lib/components/banner.js.map +1 -1
  3. package/lib/components/copy-to-clipboard.js +1 -2
  4. package/lib/components/copy-to-clipboard.js.map +1 -1
  5. package/lib/components/delayed-load-indicator.js +2 -4
  6. package/lib/components/delayed-load-indicator.js.map +1 -1
  7. package/lib/components/error-dialog.d.ts.map +1 -1
  8. package/lib/components/error-dialog.js +5 -3
  9. package/lib/components/error-dialog.js.map +1 -1
  10. package/lib/components/rate-limiting/customer/general-details.d.ts +20 -0
  11. package/lib/components/rate-limiting/customer/general-details.d.ts.map +1 -0
  12. package/lib/components/rate-limiting/customer/general-details.js +8 -0
  13. package/lib/components/rate-limiting/customer/general-details.js.map +1 -0
  14. package/lib/components/rate-limiting/customer/index.d.ts +17 -0
  15. package/lib/components/rate-limiting/customer/index.d.ts.map +1 -0
  16. package/lib/components/rate-limiting/customer/index.js +15 -0
  17. package/lib/components/rate-limiting/customer/index.js.map +1 -0
  18. package/lib/components/rate-limiting/customer/usage-stats.d.ts +24 -0
  19. package/lib/components/rate-limiting/customer/usage-stats.d.ts.map +1 -0
  20. package/lib/components/rate-limiting/customer/usage-stats.js +6 -0
  21. package/lib/components/rate-limiting/customer/usage-stats.js.map +1 -0
  22. package/lib/{pages/admin-dashboard → components/rate-limiting}/usage-stats/usage-stats-chart.d.ts +5 -2
  23. package/lib/components/rate-limiting/usage-stats/usage-stats-chart.d.ts.map +1 -0
  24. package/lib/{pages/admin-dashboard → components/rate-limiting}/usage-stats/usage-stats-chart.js +25 -18
  25. package/lib/components/rate-limiting/usage-stats/usage-stats-chart.js.map +1 -0
  26. package/lib/components/rate-limiting/usage-stats/usage-stats-utils.d.ts +15 -0
  27. package/lib/components/rate-limiting/usage-stats/usage-stats-utils.d.ts.map +1 -0
  28. package/{src/pages/admin-dashboard/usage-stats/usage-stats-utils.ts → lib/components/rate-limiting/usage-stats/usage-stats-utils.js} +4 -3
  29. package/lib/components/rate-limiting/usage-stats/usage-stats-utils.js.map +1 -0
  30. package/lib/components/rate-limiting/usage-stats/use-usage-stats.d.ts +22 -0
  31. package/lib/components/rate-limiting/usage-stats/use-usage-stats.d.ts.map +1 -0
  32. package/lib/components/rate-limiting/usage-stats/use-usage-stats.js +58 -0
  33. package/lib/components/rate-limiting/usage-stats/use-usage-stats.js.map +1 -0
  34. package/lib/components/scan-admin/common/conditional-tooltip.js +4 -16
  35. package/lib/components/scan-admin/common/conditional-tooltip.js.map +1 -1
  36. package/lib/components/scan-admin/common/file-table.js +24 -13
  37. package/lib/components/scan-admin/common/file-table.js.map +1 -1
  38. package/lib/components/scan-admin/dialogs/quarantine-dialog.js +4 -8
  39. package/lib/components/scan-admin/dialogs/quarantine-dialog.js.map +1 -1
  40. package/lib/components/scan-admin/scan-card/scan-card-content.js +2 -2
  41. package/lib/components/scan-admin/scan-card/scan-card-content.js.map +1 -1
  42. package/lib/components/scan-admin/scan-card/scan-card-expand-strip-badges.js +21 -16
  43. package/lib/components/scan-admin/scan-card/scan-card-expand-strip-badges.js.map +1 -1
  44. package/lib/components/scan-admin/scan-card/scan-card-expanded-content.js +1 -2
  45. package/lib/components/scan-admin/scan-card/scan-card-expanded-content.js.map +1 -1
  46. package/lib/components/scan-admin/scan-card/scan-card-header.js +10 -5
  47. package/lib/components/scan-admin/scan-card/scan-card-header.js.map +1 -1
  48. package/lib/components/scan-admin/scan-card/utils.js +1 -2
  49. package/lib/components/scan-admin/scan-card/utils.js.map +1 -1
  50. package/lib/components/scan-admin/tab-contents/quarantined-tab-content.js +4 -6
  51. package/lib/components/scan-admin/tab-contents/quarantined-tab-content.js.map +1 -1
  52. package/lib/components/sidepanel/drawer-header.d.ts +14 -0
  53. package/lib/components/sidepanel/drawer-header.d.ts.map +1 -0
  54. package/lib/components/sidepanel/drawer-header.js +22 -0
  55. package/lib/components/sidepanel/drawer-header.js.map +1 -0
  56. package/lib/components/sidepanel/navigation-item.d.ts.map +1 -1
  57. package/lib/components/sidepanel/navigation-item.js +3 -3
  58. package/lib/components/sidepanel/navigation-item.js.map +1 -1
  59. package/lib/components/sidepanel/sidepanel.d.ts +7 -1
  60. package/lib/components/sidepanel/sidepanel.d.ts.map +1 -1
  61. package/lib/components/sidepanel/sidepanel.js +12 -13
  62. package/lib/components/sidepanel/sidepanel.js.map +1 -1
  63. package/lib/components/text-divider.js +1 -2
  64. package/lib/components/text-divider.js.map +1 -1
  65. package/lib/components/timestamp.d.ts +0 -1
  66. package/lib/components/timestamp.d.ts.map +1 -1
  67. package/lib/components/timestamp.js +2 -4
  68. package/lib/components/timestamp.js.map +1 -1
  69. package/lib/context/scan-admin/scan-api-actions.js +7 -16
  70. package/lib/context/scan-admin/scan-api-actions.js.map +1 -1
  71. package/lib/context/scan-admin/scan-api-effects.js +77 -93
  72. package/lib/context/scan-admin/scan-api-effects.js.map +1 -1
  73. package/lib/context/scan-admin/scan-context.d.ts.map +1 -1
  74. package/lib/context/scan-admin/scan-context.js +1 -0
  75. package/lib/context/scan-admin/scan-context.js.map +1 -1
  76. package/lib/context/scan-admin/scan-reducer.js +134 -53
  77. package/lib/context/scan-admin/scan-reducer.js.map +1 -1
  78. package/lib/default/default-app.d.ts +1 -1
  79. package/lib/default/default-app.d.ts.map +1 -1
  80. package/lib/default/default-app.js +11 -22
  81. package/lib/default/default-app.js.map +1 -1
  82. package/lib/default/menu-content.d.ts.map +1 -1
  83. package/lib/default/menu-content.js +7 -3
  84. package/lib/default/menu-content.js.map +1 -1
  85. package/lib/default/page-settings.js +13 -18
  86. package/lib/default/page-settings.js.map +1 -1
  87. package/lib/extension-registry-service.d.ts +11 -1
  88. package/lib/extension-registry-service.d.ts.map +1 -1
  89. package/lib/extension-registry-service.js +618 -629
  90. package/lib/extension-registry-service.js.map +1 -1
  91. package/lib/extension-registry-types.d.ts +7 -0
  92. package/lib/extension-registry-types.d.ts.map +1 -1
  93. package/lib/hooks/scan-admin/use-auto-rejected-tab.js +5 -7
  94. package/lib/hooks/scan-admin/use-auto-rejected-tab.js.map +1 -1
  95. package/lib/hooks/scan-admin/use-quarantined-tab.js +5 -7
  96. package/lib/hooks/scan-admin/use-quarantined-tab.js.map +1 -1
  97. package/lib/main.d.ts.map +1 -1
  98. package/lib/main.js +8 -16
  99. package/lib/main.js.map +1 -1
  100. package/lib/other-pages.d.ts +12 -0
  101. package/lib/other-pages.d.ts.map +1 -1
  102. package/lib/other-pages.js +25 -12
  103. package/lib/other-pages.js.map +1 -1
  104. package/lib/pages/admin-dashboard/admin-dashboard.d.ts +0 -12
  105. package/lib/pages/admin-dashboard/admin-dashboard.d.ts.map +1 -1
  106. package/lib/pages/admin-dashboard/admin-dashboard.js +136 -49
  107. package/lib/pages/admin-dashboard/admin-dashboard.js.map +1 -1
  108. package/lib/pages/admin-dashboard/admin-routes.d.ts +25 -0
  109. package/lib/pages/admin-dashboard/admin-routes.d.ts.map +1 -0
  110. package/lib/pages/admin-dashboard/admin-routes.js +27 -0
  111. package/lib/pages/admin-dashboard/admin-routes.js.map +1 -0
  112. package/lib/pages/admin-dashboard/components/data-grid-filter-operators.d.ts +1 -9
  113. package/lib/pages/admin-dashboard/components/data-grid-filter-operators.d.ts.map +1 -1
  114. package/lib/pages/admin-dashboard/components/data-grid-filter-operators.js +17 -15
  115. package/lib/pages/admin-dashboard/components/data-grid-filter-operators.js.map +1 -1
  116. package/lib/pages/admin-dashboard/components/data-grid-filter.d.ts +22 -0
  117. package/lib/pages/admin-dashboard/components/data-grid-filter.d.ts.map +1 -0
  118. package/lib/pages/admin-dashboard/components/data-grid-filter.js +13 -0
  119. package/lib/pages/admin-dashboard/components/data-grid-filter.js.map +1 -0
  120. package/lib/pages/admin-dashboard/components/index.d.ts +2 -1
  121. package/lib/pages/admin-dashboard/components/index.d.ts.map +1 -1
  122. package/lib/pages/admin-dashboard/components/index.js +2 -1
  123. package/lib/pages/admin-dashboard/components/index.js.map +1 -1
  124. package/lib/pages/admin-dashboard/{usage-stats/usage-stats-utils.d.ts → customers/customer-details.d.ts} +3 -2
  125. package/lib/pages/admin-dashboard/customers/customer-details.d.ts.map +1 -0
  126. package/lib/pages/admin-dashboard/customers/customer-details.js +77 -0
  127. package/lib/pages/admin-dashboard/customers/customer-details.js.map +1 -0
  128. package/lib/pages/admin-dashboard/customers/customer-form-dialog.d.ts +1 -1
  129. package/lib/pages/admin-dashboard/customers/customer-form-dialog.d.ts.map +1 -1
  130. package/lib/pages/admin-dashboard/customers/customer-form-dialog.js +33 -34
  131. package/lib/pages/admin-dashboard/customers/customer-form-dialog.js.map +1 -1
  132. package/lib/pages/admin-dashboard/customers/customer-member-list.d.ts +19 -0
  133. package/lib/pages/admin-dashboard/customers/customer-member-list.d.ts.map +1 -0
  134. package/lib/pages/admin-dashboard/customers/customer-member-list.js +88 -0
  135. package/lib/pages/admin-dashboard/customers/customer-member-list.js.map +1 -0
  136. package/lib/pages/admin-dashboard/customers/customers.d.ts +1 -1
  137. package/lib/pages/admin-dashboard/customers/customers.js +20 -29
  138. package/lib/pages/admin-dashboard/customers/customers.js.map +1 -1
  139. package/lib/pages/admin-dashboard/customers/delete-customer-dialog.js +4 -14
  140. package/lib/pages/admin-dashboard/customers/delete-customer-dialog.js.map +1 -1
  141. package/lib/pages/admin-dashboard/extension-admin.js +7 -16
  142. package/lib/pages/admin-dashboard/extension-admin.js.map +1 -1
  143. package/lib/pages/admin-dashboard/extension-remove-dialog.js +3 -12
  144. package/lib/pages/admin-dashboard/extension-remove-dialog.js.map +1 -1
  145. package/lib/pages/admin-dashboard/extension-version-container.js +3 -5
  146. package/lib/pages/admin-dashboard/extension-version-container.js.map +1 -1
  147. package/lib/pages/admin-dashboard/logs/logs.d.ts.map +1 -1
  148. package/lib/pages/admin-dashboard/logs/logs.js +6 -24
  149. package/lib/pages/admin-dashboard/logs/logs.js.map +1 -1
  150. package/lib/pages/admin-dashboard/namespace-admin.js +7 -16
  151. package/lib/pages/admin-dashboard/namespace-admin.js.map +1 -1
  152. package/lib/pages/admin-dashboard/namespace-change-dialog.js +3 -12
  153. package/lib/pages/admin-dashboard/namespace-change-dialog.js.map +1 -1
  154. package/lib/pages/admin-dashboard/namespace-input.js +1 -1
  155. package/lib/pages/admin-dashboard/namespace-input.js.map +1 -1
  156. package/lib/pages/admin-dashboard/publisher-admin.d.ts.map +1 -1
  157. package/lib/pages/admin-dashboard/publisher-admin.js +28 -22
  158. package/lib/pages/admin-dashboard/publisher-admin.js.map +1 -1
  159. package/lib/pages/admin-dashboard/publisher-revoke-dialog.js +5 -15
  160. package/lib/pages/admin-dashboard/publisher-revoke-dialog.js.map +1 -1
  161. package/lib/pages/admin-dashboard/publisher-revoke-tokens-button.js +3 -12
  162. package/lib/pages/admin-dashboard/publisher-revoke-tokens-button.js.map +1 -1
  163. package/lib/pages/admin-dashboard/tiers/delete-tier-dialog.js +4 -13
  164. package/lib/pages/admin-dashboard/tiers/delete-tier-dialog.js.map +1 -1
  165. package/lib/pages/admin-dashboard/tiers/tier-form-dialog.js +34 -23
  166. package/lib/pages/admin-dashboard/tiers/tier-form-dialog.js.map +1 -1
  167. package/lib/pages/admin-dashboard/tiers/tiers.js +12 -21
  168. package/lib/pages/admin-dashboard/tiers/tiers.js.map +1 -1
  169. package/lib/pages/admin-dashboard/usage-stats/usage-stats-search.js +3 -14
  170. package/lib/pages/admin-dashboard/usage-stats/usage-stats-search.js.map +1 -1
  171. package/lib/pages/admin-dashboard/usage-stats/usage-stats.d.ts.map +1 -1
  172. package/lib/pages/admin-dashboard/usage-stats/usage-stats.js +11 -45
  173. package/lib/pages/admin-dashboard/usage-stats/usage-stats.js.map +1 -1
  174. package/lib/pages/admin-dashboard/usage-stats/use-usage-stats.d.ts +22 -0
  175. package/lib/pages/admin-dashboard/usage-stats/use-usage-stats.d.ts.map +1 -0
  176. package/lib/pages/admin-dashboard/usage-stats/use-usage-stats.js +58 -0
  177. package/lib/pages/admin-dashboard/usage-stats/use-usage-stats.js.map +1 -0
  178. package/lib/pages/admin-dashboard/welcome.js +1 -1
  179. package/lib/pages/admin-dashboard/welcome.js.map +1 -1
  180. package/lib/pages/extension-detail/extension-detail-changes.js +3 -12
  181. package/lib/pages/extension-detail/extension-detail-changes.js.map +1 -1
  182. package/lib/pages/extension-detail/extension-detail-overview.js +6 -16
  183. package/lib/pages/extension-detail/extension-detail-overview.js.map +1 -1
  184. package/lib/pages/extension-detail/extension-detail-reviews.js +12 -24
  185. package/lib/pages/extension-detail/extension-detail-reviews.js.map +1 -1
  186. package/lib/pages/extension-detail/extension-detail-routes.d.ts +32 -0
  187. package/lib/pages/extension-detail/extension-detail-routes.d.ts.map +1 -0
  188. package/lib/pages/extension-detail/extension-detail-routes.js +35 -0
  189. package/lib/pages/extension-detail/extension-detail-routes.js.map +1 -0
  190. package/lib/pages/extension-detail/extension-detail.d.ts +0 -19
  191. package/lib/pages/extension-detail/extension-detail.d.ts.map +1 -1
  192. package/lib/pages/extension-detail/extension-detail.js +28 -50
  193. package/lib/pages/extension-detail/extension-detail.js.map +1 -1
  194. package/lib/pages/extension-detail/extension-rating-stars.js +1 -2
  195. package/lib/pages/extension-detail/extension-rating-stars.js.map +1 -1
  196. package/lib/pages/extension-detail/extension-review-dialog.js +4 -14
  197. package/lib/pages/extension-detail/extension-review-dialog.js.map +1 -1
  198. package/lib/pages/extension-list/extension-list-container.d.ts +0 -3
  199. package/lib/pages/extension-list/extension-list-container.d.ts.map +1 -1
  200. package/lib/pages/extension-list/extension-list-container.js +5 -10
  201. package/lib/pages/extension-list/extension-list-container.js.map +1 -1
  202. package/lib/pages/extension-list/extension-list-header.js +3 -6
  203. package/lib/pages/extension-list/extension-list-header.js.map +1 -1
  204. package/lib/pages/extension-list/extension-list-item.js +7 -17
  205. package/lib/pages/extension-list/extension-list-item.js.map +1 -1
  206. package/lib/pages/extension-list/extension-list-routes.d.ts +16 -0
  207. package/lib/pages/extension-list/extension-list-routes.d.ts.map +1 -0
  208. package/lib/pages/extension-list/extension-list-routes.js +18 -0
  209. package/lib/pages/extension-list/extension-list-routes.js.map +1 -0
  210. package/lib/pages/extension-list/extension-list-searchfield.js +4 -7
  211. package/lib/pages/extension-list/extension-list-searchfield.js.map +1 -1
  212. package/lib/pages/extension-list/extension-list.js +8 -19
  213. package/lib/pages/extension-list/extension-list.js.map +1 -1
  214. package/lib/pages/namespace-detail/namespace-detail-routes.d.ts +20 -0
  215. package/lib/pages/namespace-detail/namespace-detail-routes.d.ts.map +1 -0
  216. package/lib/pages/namespace-detail/namespace-detail-routes.js +23 -0
  217. package/lib/pages/namespace-detail/namespace-detail-routes.js.map +1 -0
  218. package/lib/pages/namespace-detail/namespace-detail.d.ts +0 -7
  219. package/lib/pages/namespace-detail/namespace-detail.d.ts.map +1 -1
  220. package/lib/pages/namespace-detail/namespace-detail.js +4 -24
  221. package/lib/pages/namespace-detail/namespace-detail.js.map +1 -1
  222. package/lib/pages/user/add-namespace-member-dialog.d.ts.map +1 -1
  223. package/lib/pages/user/add-namespace-member-dialog.js +8 -67
  224. package/lib/pages/user/add-namespace-member-dialog.js.map +1 -1
  225. package/lib/pages/user/add-user-dialog.d.ts +25 -0
  226. package/lib/pages/user/add-user-dialog.d.ts.map +1 -0
  227. package/lib/pages/user/add-user-dialog.js +66 -0
  228. package/lib/pages/user/add-user-dialog.js.map +1 -0
  229. package/lib/pages/user/avatar.js +3 -3
  230. package/lib/pages/user/avatar.js.map +1 -1
  231. package/lib/pages/user/create-namespace-dialog.js +3 -12
  232. package/lib/pages/user/create-namespace-dialog.js.map +1 -1
  233. package/lib/pages/user/generate-token-dialog.js +3 -12
  234. package/lib/pages/user/generate-token-dialog.js.map +1 -1
  235. package/lib/pages/user/logout.js +3 -12
  236. package/lib/pages/user/logout.js.map +1 -1
  237. package/lib/pages/user/publish-extension-dialog.js +12 -21
  238. package/lib/pages/user/publish-extension-dialog.js.map +1 -1
  239. package/lib/pages/user/user-namespace-details.js +29 -42
  240. package/lib/pages/user/user-namespace-details.js.map +1 -1
  241. package/lib/pages/user/user-namespace-extension-list-item.js +6 -8
  242. package/lib/pages/user/user-namespace-extension-list-item.js.map +1 -1
  243. package/lib/pages/user/user-namespace-extension-list.js +6 -15
  244. package/lib/pages/user/user-namespace-extension-list.js.map +1 -1
  245. package/lib/pages/user/user-namespace-member-component.js +1 -1
  246. package/lib/pages/user/user-namespace-member-component.js.map +1 -1
  247. package/lib/pages/user/user-namespace-member-list.js +9 -18
  248. package/lib/pages/user/user-namespace-member-list.js.map +1 -1
  249. package/lib/pages/user/user-publisher-agreement.js +8 -18
  250. package/lib/pages/user/user-publisher-agreement.js.map +1 -1
  251. package/lib/pages/user/user-setting-tabs.d.ts.map +1 -1
  252. package/lib/pages/user/user-setting-tabs.js +2 -2
  253. package/lib/pages/user/user-setting-tabs.js.map +1 -1
  254. package/lib/pages/user/user-settings-customer-detail.d.ts +19 -0
  255. package/lib/pages/user/user-settings-customer-detail.d.ts.map +1 -0
  256. package/lib/pages/user/user-settings-customer-detail.js +9 -0
  257. package/lib/pages/user/user-settings-customer-detail.js.map +1 -0
  258. package/lib/pages/user/user-settings-customers.d.ts +15 -0
  259. package/lib/pages/user/user-settings-customers.d.ts.map +1 -0
  260. package/lib/pages/user/user-settings-customers.js +66 -0
  261. package/lib/pages/user/user-settings-customers.js.map +1 -0
  262. package/lib/pages/user/user-settings-delete-extension.js +8 -17
  263. package/lib/pages/user/user-settings-delete-extension.js.map +1 -1
  264. package/lib/pages/user/user-settings-extensions.js +3 -12
  265. package/lib/pages/user/user-settings-extensions.js.map +1 -1
  266. package/lib/pages/user/user-settings-namespace-detail.d.ts.map +1 -1
  267. package/lib/pages/user/user-settings-namespace-detail.js +4 -12
  268. package/lib/pages/user/user-settings-namespace-detail.js.map +1 -1
  269. package/lib/pages/user/user-settings-namespaces.js +6 -15
  270. package/lib/pages/user/user-settings-namespaces.js.map +1 -1
  271. package/lib/pages/user/user-settings-profile.js +1 -2
  272. package/lib/pages/user/user-settings-profile.js.map +1 -1
  273. package/lib/pages/user/user-settings-routes.d.ts +23 -0
  274. package/lib/pages/user/user-settings-routes.d.ts.map +1 -0
  275. package/lib/pages/user/user-settings-routes.js +25 -0
  276. package/lib/pages/user/user-settings-routes.js.map +1 -0
  277. package/lib/pages/user/user-settings-tokens.d.ts +0 -7
  278. package/lib/pages/user/user-settings-tokens.d.ts.map +1 -1
  279. package/lib/pages/user/user-settings-tokens.js +14 -24
  280. package/lib/pages/user/user-settings-tokens.js.map +1 -1
  281. package/lib/pages/user/user-settings.d.ts +0 -9
  282. package/lib/pages/user/user-settings.d.ts.map +1 -1
  283. package/lib/pages/user/user-settings.js +4 -12
  284. package/lib/pages/user/user-settings.js.map +1 -1
  285. package/lib/server-request.js +64 -76
  286. package/lib/server-request.js.map +1 -1
  287. package/lib/utils.d.ts +1 -1
  288. package/lib/utils.d.ts.map +1 -1
  289. package/lib/utils.js +7 -14
  290. package/lib/utils.js.map +1 -1
  291. package/package.json +4 -2
  292. package/src/components/error-dialog.tsx +5 -3
  293. package/src/components/rate-limiting/customer/general-details.tsx +106 -0
  294. package/src/components/rate-limiting/customer/index.ts +18 -0
  295. package/src/components/rate-limiting/customer/usage-stats.tsx +50 -0
  296. package/src/{pages/admin-dashboard → components/rate-limiting}/usage-stats/usage-stats-chart.tsx +46 -26
  297. package/{lib/pages/admin-dashboard/usage-stats/usage-stats-utils.js → src/components/rate-limiting/usage-stats/usage-stats-utils.ts} +4 -2
  298. package/src/components/rate-limiting/usage-stats/use-usage-stats.ts +70 -0
  299. package/src/components/scan-admin/scan-card/scan-card-header.tsx +2 -2
  300. package/src/components/sidepanel/drawer-header.tsx +23 -0
  301. package/src/components/sidepanel/navigation-item.tsx +3 -2
  302. package/src/components/sidepanel/sidepanel.tsx +29 -17
  303. package/src/components/timestamp.tsx +1 -3
  304. package/src/context/scan-admin/scan-context.tsx +1 -0
  305. package/src/default/default-app.tsx +1 -1
  306. package/src/default/menu-content.tsx +6 -2
  307. package/src/default/page-settings.tsx +1 -1
  308. package/src/extension-registry-service.ts +105 -26
  309. package/src/extension-registry-types.ts +9 -0
  310. package/src/main.tsx +2 -1
  311. package/src/other-pages.tsx +21 -4
  312. package/src/pages/admin-dashboard/admin-dashboard.tsx +260 -83
  313. package/src/pages/admin-dashboard/admin-routes.ts +27 -0
  314. package/src/pages/admin-dashboard/components/data-grid-filter-operators.tsx +1 -31
  315. package/src/pages/admin-dashboard/components/data-grid-filter.tsx +45 -0
  316. package/src/pages/admin-dashboard/components/index.ts +1 -1
  317. package/src/pages/admin-dashboard/customers/customer-details.tsx +129 -0
  318. package/src/pages/admin-dashboard/customers/customer-form-dialog.tsx +3 -4
  319. package/src/pages/admin-dashboard/customers/customer-member-list.tsx +174 -0
  320. package/src/pages/admin-dashboard/customers/customers.tsx +8 -8
  321. package/src/pages/admin-dashboard/logs/logs.tsx +1 -10
  322. package/src/pages/admin-dashboard/publisher-admin.tsx +29 -11
  323. package/src/pages/admin-dashboard/usage-stats/usage-stats.tsx +10 -39
  324. package/src/pages/admin-dashboard/usage-stats/use-usage-stats.ts +70 -0
  325. package/src/pages/admin-dashboard/welcome.tsx +1 -1
  326. package/src/pages/extension-detail/extension-detail-overview.tsx +2 -2
  327. package/src/pages/extension-detail/extension-detail-routes.ts +35 -0
  328. package/src/pages/extension-detail/extension-detail.tsx +3 -23
  329. package/src/pages/extension-list/extension-list-container.tsx +1 -5
  330. package/src/pages/extension-list/extension-list-item.tsx +1 -1
  331. package/src/pages/extension-list/extension-list-routes.ts +18 -0
  332. package/src/pages/namespace-detail/namespace-detail-routes.ts +23 -0
  333. package/src/pages/namespace-detail/namespace-detail.tsx +0 -10
  334. package/src/pages/user/add-namespace-member-dialog.tsx +17 -116
  335. package/src/pages/user/add-user-dialog.tsx +141 -0
  336. package/src/pages/user/avatar.tsx +2 -2
  337. package/src/pages/user/user-namespace-extension-list-item.tsx +2 -2
  338. package/src/pages/user/user-setting-tabs.tsx +2 -1
  339. package/src/pages/user/user-settings-customer-detail.tsx +39 -0
  340. package/src/pages/user/user-settings-customers.tsx +120 -0
  341. package/src/pages/user/user-settings-delete-extension.tsx +1 -1
  342. package/src/pages/user/user-settings-namespace-detail.tsx +3 -1
  343. package/src/pages/user/user-settings-routes.ts +25 -0
  344. package/src/pages/user/user-settings-tokens.tsx +2 -9
  345. package/src/pages/user/user-settings.tsx +4 -12
  346. package/src/utils.ts +5 -9
  347. package/lib/pages/admin-dashboard/usage-stats/usage-stats-chart.d.ts.map +0 -1
  348. package/lib/pages/admin-dashboard/usage-stats/usage-stats-chart.js.map +0 -1
  349. package/lib/pages/admin-dashboard/usage-stats/usage-stats-utils.d.ts.map +0 -1
  350. package/lib/pages/admin-dashboard/usage-stats/usage-stats-utils.js.map +0 -1
@@ -9,45 +9,38 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
9
9
  * SPDX-License-Identifier: EPL-2.0
10
10
  ********************************************************************************/
11
11
  import { useContext, useState } from 'react';
12
- import { Box, Container, CssBaseline, Typography, IconButton } from '@mui/material';
13
- import { createRoute } from '../../utils';
14
- import { Sidepanel } from '../../components/sidepanel/sidepanel';
15
- import { NavigationItem } from '../../components/sidepanel/navigation-item';
12
+ import { Box, Container, CssBaseline, Typography, IconButton, Breadcrumbs, Link, Toolbar } from '@mui/material';
13
+ import MuiAppBar from '@mui/material/AppBar';
14
+ import { styled } from "@mui/material/styles";
15
+ import { Link as RouterLink, Route, Routes, useNavigate, useLocation } from 'react-router-dom';
16
+ import AccountBoxIcon from '@mui/icons-material/AccountBox';
16
17
  import AssignmentIndIcon from '@mui/icons-material/AssignmentInd';
18
+ import BarChartIcon from '@mui/icons-material/BarChart';
17
19
  import ExtensionSharpIcon from '@mui/icons-material/ExtensionSharp';
18
- import { Route, Routes, useNavigate, useLocation } from 'react-router-dom';
19
- import { NamespaceAdmin } from './namespace-admin';
20
- import { ExtensionAdmin } from './extension-admin';
21
- import { MainContext } from '../../context';
22
20
  import HighlightOffIcon from '@mui/icons-material/HighlightOff';
23
- import { Welcome } from './welcome';
24
- import { PublisherAdmin } from './publisher-admin';
25
- import PersonIcon from '@mui/icons-material/Person';
21
+ import HistoryIcon from '@mui/icons-material/History';
22
+ import MenuIcon from '@mui/icons-material/Menu';
26
23
  import PeopleIcon from '@mui/icons-material/People';
27
- import { ScanAdmin } from './scan-admin';
24
+ import PersonIcon from '@mui/icons-material/Person';
28
25
  import SecurityIcon from '@mui/icons-material/Security';
26
+ import SpeedIcon from '@mui/icons-material/Speed';
29
27
  import StarIcon from '@mui/icons-material/Star';
30
- import BarChartIcon from '@mui/icons-material/BarChart';
31
- import HistoryIcon from '@mui/icons-material/History';
32
- import { Tiers } from './tiers/tiers';
28
+ import { CustomerDetails } from './customers/customer-details';
33
29
  import { Customers } from './customers/customers';
34
- import { UsageStatsView } from './usage-stats/usage-stats';
35
- import { Logs } from './logs/logs';
30
+ import { DrawerHeader } from '../../components/sidepanel/drawer-header';
31
+ import { Sidepanel } from "../../components/sidepanel/sidepanel";
32
+ import { ExtensionAdmin } from './extension-admin';
36
33
  import { LoginComponent } from "../../default/login";
37
- import AccountBoxIcon from '@mui/icons-material/AccountBox';
38
- export var AdminDashboardRoutes;
39
- (function (AdminDashboardRoutes) {
40
- AdminDashboardRoutes.ROOT = 'admin-dashboard';
41
- AdminDashboardRoutes.MAIN = createRoute([AdminDashboardRoutes.ROOT]);
42
- AdminDashboardRoutes.NAMESPACE_ADMIN = createRoute([AdminDashboardRoutes.ROOT, 'namespaces']);
43
- AdminDashboardRoutes.EXTENSION_ADMIN = createRoute([AdminDashboardRoutes.ROOT, 'extensions']);
44
- AdminDashboardRoutes.PUBLISHER_ADMIN = createRoute([AdminDashboardRoutes.ROOT, 'publisher']);
45
- AdminDashboardRoutes.SCANS_ADMIN = createRoute([AdminDashboardRoutes.ROOT, 'scans']);
46
- AdminDashboardRoutes.TIERS = createRoute([AdminDashboardRoutes.ROOT, 'tiers']);
47
- AdminDashboardRoutes.CUSTOMERS = createRoute([AdminDashboardRoutes.ROOT, 'customers']);
48
- AdminDashboardRoutes.USAGE_STATS = createRoute([AdminDashboardRoutes.ROOT, 'usage']);
49
- AdminDashboardRoutes.LOGS = createRoute([AdminDashboardRoutes.ROOT, 'logs']);
50
- })(AdminDashboardRoutes || (AdminDashboardRoutes = {}));
34
+ import { Logs } from './logs/logs';
35
+ import { MainContext } from '../../context';
36
+ import { NamespaceAdmin } from './namespace-admin';
37
+ import { NavigationItem } from '../../components/sidepanel/navigation-item';
38
+ import { PublisherAdmin } from './publisher-admin';
39
+ import { ScanAdmin } from './scan-admin';
40
+ import { Tiers } from './tiers/tiers';
41
+ import { UsageStatsView } from './usage-stats/usage-stats';
42
+ import { Welcome } from './welcome';
43
+ import { AdminDashboardRoutes } from "./admin-routes";
51
44
  const Message = ({ message }) => {
52
45
  return (_jsx(Box, { sx: {
53
46
  display: 'flex',
@@ -56,30 +49,124 @@ const Message = ({ message }) => {
56
49
  width: '100%'
57
50
  }, children: _jsx(Typography, { variant: 'h6', children: message }) }));
58
51
  };
52
+ const isNavGroup = (entry) => 'children' in entry;
53
+ const navConfig = [
54
+ { path: AdminDashboardRoutes.NAMESPACE_ADMIN, name: 'Namespaces', icon: _jsx(AssignmentIndIcon, {}) },
55
+ { path: AdminDashboardRoutes.EXTENSION_ADMIN, name: 'Extensions', icon: _jsx(ExtensionSharpIcon, {}) },
56
+ { path: AdminDashboardRoutes.PUBLISHER_ADMIN, name: 'Publisher', icon: _jsx(PersonIcon, {}) },
57
+ { path: AdminDashboardRoutes.SCANS_ADMIN, name: 'Scans', icon: _jsx(SecurityIcon, {}) },
58
+ {
59
+ name: 'Rate Limiting',
60
+ icon: _jsx(SpeedIcon, {}),
61
+ children: [
62
+ { path: AdminDashboardRoutes.TIERS, name: 'Tiers', icon: _jsx(StarIcon, {}) },
63
+ { path: AdminDashboardRoutes.CUSTOMERS, name: 'Customers', icon: _jsx(PeopleIcon, {}) },
64
+ { path: AdminDashboardRoutes.USAGE_STATS, name: 'Usage Stats', icon: _jsx(BarChartIcon, {}) },
65
+ ],
66
+ },
67
+ { path: AdminDashboardRoutes.LOGS, name: 'Logs', icon: _jsx(HistoryIcon, {}) },
68
+ ];
69
+ // Flat name lookup for breadcrumbs
70
+ const routeNames = {
71
+ [AdminDashboardRoutes.MAIN]: 'Admin Dashboard',
72
+ ...navConfig.reduce((acc, entry) => {
73
+ if (isNavGroup(entry)) {
74
+ entry.children.forEach(child => {
75
+ acc[child.path] = child.name;
76
+ });
77
+ }
78
+ else {
79
+ acc[entry.path] = entry.name;
80
+ }
81
+ return acc;
82
+ }, {}),
83
+ };
84
+ const drawerWidth = 240;
85
+ const AppBar = styled(MuiAppBar, {
86
+ shouldForwardProp: (prop) => prop !== 'open',
87
+ })(({ theme }) => ({
88
+ transition: theme.transitions.create(['margin', 'width'], {
89
+ easing: theme.transitions.easing.sharp,
90
+ duration: theme.transitions.duration.leavingScreen,
91
+ }),
92
+ variants: [
93
+ {
94
+ props: ({ open }) => open,
95
+ style: {
96
+ width: `calc(100% - ${drawerWidth}px)`,
97
+ marginLeft: `${drawerWidth}px`,
98
+ transition: theme.transitions.create(['margin', 'width'], {
99
+ easing: theme.transitions.easing.easeOut,
100
+ duration: theme.transitions.duration.enteringScreen,
101
+ }),
102
+ },
103
+ },
104
+ ],
105
+ }));
106
+ const LinkRouter = (props) => (_jsx(Link, { ...props, component: RouterLink }));
107
+ const BreadcrumbsComponent = () => {
108
+ const { pathname } = useLocation();
109
+ const pathnames = pathname.split("/").filter((segment) => segment);
110
+ return (_jsxs(Breadcrumbs, { "aria-label": 'breadcrumb', sx: { pt: 2, pb: 2, px: 4 }, children: [_jsx(LinkRouter, { underline: 'hover', color: 'inherit', to: '/', children: "Home" }), pathnames.map((value, index) => {
111
+ const last = index === pathnames.length - 1;
112
+ const to = `/${pathnames.slice(0, index + 1).join("/")}`;
113
+ return last ? (_jsx(Typography, { color: 'text.primary', children: routeNames[to] ?? value }, to)) : (_jsx(LinkRouter, { underline: 'hover', color: 'inherit', to: to, children: routeNames[to] }, to));
114
+ })] }));
115
+ };
116
+ const Main = styled('main', { shouldForwardProp: (prop) => prop !== 'open' })(({ theme }) => ({
117
+ flexGrow: 1,
118
+ padding: theme.spacing(3),
119
+ transition: theme.transitions.create('margin', {
120
+ easing: theme.transitions.easing.sharp,
121
+ duration: theme.transitions.duration.leavingScreen,
122
+ }),
123
+ marginLeft: `-${drawerWidth}px`,
124
+ variants: [
125
+ {
126
+ props: ({ open }) => open,
127
+ style: {
128
+ transition: theme.transitions.create('margin', {
129
+ easing: theme.transitions.easing.easeOut,
130
+ duration: theme.transitions.duration.enteringScreen,
131
+ }),
132
+ marginLeft: 0,
133
+ },
134
+ },
135
+ ],
136
+ }));
59
137
  export const AdminDashboard = props => {
60
138
  const { user, loginProviders } = useContext(MainContext);
139
+ const [drawerOpen, setDrawerOpen] = useState(true);
61
140
  const navigate = useNavigate();
62
141
  const toMainPage = () => navigate('/');
63
142
  const [currentPage, setCurrentPage] = useState(useLocation().pathname);
64
- const handleOpenRoute = (route) => setCurrentPage(route);
143
+ const handleOpenRoute = (route) => {
144
+ setCurrentPage(route);
145
+ };
65
146
  let content = null;
66
- if ((user === null || user === void 0 ? void 0 : user.role) === 'admin') {
67
- content = _jsxs(_Fragment, { children: [_jsxs(Sidepanel, { children: [_jsx(NavigationItem, { onOpenRoute: handleOpenRoute, active: currentPage === AdminDashboardRoutes.NAMESPACE_ADMIN, label: 'Namespaces', icon: _jsx(AssignmentIndIcon, {}), route: AdminDashboardRoutes.NAMESPACE_ADMIN }), _jsx(NavigationItem, { onOpenRoute: handleOpenRoute, active: currentPage === AdminDashboardRoutes.EXTENSION_ADMIN, label: 'Extensions', icon: _jsx(ExtensionSharpIcon, {}), route: AdminDashboardRoutes.EXTENSION_ADMIN }), _jsx(NavigationItem, { onOpenRoute: handleOpenRoute, active: currentPage === AdminDashboardRoutes.PUBLISHER_ADMIN, label: 'Publishers', icon: _jsx(PersonIcon, {}), route: AdminDashboardRoutes.PUBLISHER_ADMIN }), _jsx(NavigationItem, { onOpenRoute: handleOpenRoute, active: currentPage === AdminDashboardRoutes.SCANS_ADMIN, label: 'Scans', icon: _jsx(SecurityIcon, {}), route: AdminDashboardRoutes.SCANS_ADMIN }), _jsx(NavigationItem, { onOpenRoute: handleOpenRoute, active: currentPage === AdminDashboardRoutes.TIERS, label: 'Tiers', icon: _jsx(StarIcon, {}), route: AdminDashboardRoutes.TIERS }), _jsx(NavigationItem, { onOpenRoute: handleOpenRoute, active: currentPage === AdminDashboardRoutes.CUSTOMERS, label: 'Customers', icon: _jsx(PeopleIcon, {}), route: AdminDashboardRoutes.CUSTOMERS }), _jsx(NavigationItem, { onOpenRoute: handleOpenRoute, active: currentPage === null || currentPage === void 0 ? void 0 : currentPage.startsWith(AdminDashboardRoutes.USAGE_STATS), label: 'Usage Stats', icon: _jsx(BarChartIcon, {}), route: AdminDashboardRoutes.USAGE_STATS }), _jsx(NavigationItem, { onOpenRoute: handleOpenRoute, active: currentPage === AdminDashboardRoutes.LOGS, label: 'Logs', icon: _jsx(HistoryIcon, {}), route: AdminDashboardRoutes.LOGS })] }), _jsxs(Box, { overflow: 'auto', flex: 1, sx: {
68
- overflowY: 'scroll',
69
- '&::-webkit-scrollbar': {
70
- width: '12px',
71
- },
72
- '&::-webkit-scrollbar-track': {
73
- backgroundColor: 'rgba(0, 0, 0, 0.2)',
74
- },
75
- '&::-webkit-scrollbar-thumb': {
76
- backgroundColor: 'rgba(255, 255, 255, 0.2)',
77
- borderRadius: '6px',
78
- '&:hover': {
79
- backgroundColor: 'rgba(255, 255, 255, 0.3)',
80
- },
81
- },
82
- }, children: [_jsx(IconButton, { onClick: toMainPage, sx: { float: 'right', mt: 1, mr: 1 }, children: _jsx(HighlightOffIcon, {}) }), _jsx(Container, { sx: { pt: 4, pb: 4, px: 3, height: '100%' }, maxWidth: 'xl', children: _jsxs(Routes, { children: [_jsx(Route, { path: '/namespaces', element: _jsx(NamespaceAdmin, {}) }), _jsx(Route, { path: '/extensions', element: _jsx(ExtensionAdmin, {}) }), _jsx(Route, { path: '/extensions/:namespace/:extension', element: _jsx(ExtensionAdmin, {}) }), _jsx(Route, { path: '/publisher', element: _jsx(PublisherAdmin, {}) }), _jsx(Route, { path: '/scans', element: _jsx(ScanAdmin, {}) }), _jsx(Route, { path: '/tiers', element: _jsx(Tiers, {}) }), _jsx(Route, { path: '/customers', element: _jsx(Customers, {}) }), _jsx(Route, { path: '/usage', element: _jsx(UsageStatsView, {}) }), _jsx(Route, { path: '/usage/:customer', element: _jsx(UsageStatsView, {}) }), _jsx(Route, { path: '/logs', element: _jsx(Logs, {}) }), _jsx(Route, { path: '*', element: _jsx(Welcome, {}) })] }) })] })] });
147
+ if (user?.role === 'admin') {
148
+ content =
149
+ _jsxs(Box, { sx: { display: 'flex', width: '100%' }, children: [_jsx(CssBaseline, {}), _jsx(AppBar, { position: 'fixed', open: drawerOpen, color: 'default', enableColorOnDark: true, elevation: 0, children: _jsxs(Toolbar, { children: [_jsx(IconButton, { "aria-label": 'open drawer', onClick: () => setDrawerOpen(true), edge: 'start', sx: [{ mr: 2 }, drawerOpen && { display: 'none' }], children: _jsx(MenuIcon, {}) }), _jsxs(Box, { sx: { display: 'flex', justifyContent: 'space-between', width: '100%' }, children: [_jsx(BreadcrumbsComponent, {}), _jsx(IconButton, { onClick: toMainPage, sx: { mt: 1, mr: 1 }, children: _jsx(HighlightOffIcon, {}) })] })] }) }), _jsx(Sidepanel, { width: drawerWidth, open: drawerOpen, handleDrawerClose: () => setDrawerOpen(false), children: navConfig.map((entry) => {
150
+ if (isNavGroup(entry)) {
151
+ return (_jsx(NavigationItem, { label: entry.name, icon: entry.icon, children: entry.children.map((child) => (_jsx(NavigationItem, { onOpenRoute: handleOpenRoute, active: currentPage?.startsWith(child.path), label: child.name, icon: child.icon, route: child.path }, child.path))) }, entry.name));
152
+ }
153
+ return (_jsx(NavigationItem, { onOpenRoute: handleOpenRoute, active: currentPage?.startsWith(entry.path), label: entry.name, icon: entry.icon, route: entry.path }, entry.path));
154
+ }) }), _jsxs(Main, { open: drawerOpen, children: [_jsx(DrawerHeader, {}), _jsx(Box, { overflow: 'auto', flex: 1, sx: {
155
+ overflowY: 'scroll',
156
+ '&::-webkit-scrollbar': {
157
+ width: '12px',
158
+ },
159
+ '&::-webkit-scrollbar-track': {
160
+ backgroundColor: 'rgba(0, 0, 0, 0.2)',
161
+ },
162
+ '&::-webkit-scrollbar-thumb': {
163
+ backgroundColor: 'rgba(255, 255, 255, 0.2)',
164
+ borderRadius: '6px',
165
+ '&:hover': {
166
+ backgroundColor: 'rgba(255, 255, 255, 0.3)',
167
+ },
168
+ },
169
+ }, children: _jsx(Container, { sx: { pt: 2, pb: 4, px: 3 }, maxWidth: 'xl', children: _jsxs(Routes, { children: [_jsx(Route, { path: '/namespaces', element: _jsx(NamespaceAdmin, {}) }), _jsx(Route, { path: '/extensions', element: _jsx(ExtensionAdmin, {}) }), _jsx(Route, { path: '/extensions/:namespace/:extension', element: _jsx(ExtensionAdmin, {}) }), _jsx(Route, { path: '/publisher', element: _jsx(PublisherAdmin, {}) }), _jsx(Route, { path: '/publisher/:publisher', element: _jsx(PublisherAdmin, {}) }), _jsx(Route, { path: '/scans', element: _jsx(ScanAdmin, {}) }), _jsx(Route, { path: '/tiers', element: _jsx(Tiers, {}) }), _jsx(Route, { path: '/customers', element: _jsx(Customers, {}) }), _jsx(Route, { path: '/customers/:customer', element: _jsx(CustomerDetails, {}) }), _jsx(Route, { path: '/usage', element: _jsx(UsageStatsView, {}) }), _jsx(Route, { path: '/usage/:customer', element: _jsx(UsageStatsView, {}) }), _jsx(Route, { path: '/logs', element: _jsx(Logs, {}) }), _jsx(Route, { path: '*', element: _jsx(Welcome, {}) })] }) }) })] })] });
83
170
  }
84
171
  else if (user) {
85
172
  content = _jsx(Message, { message: 'You are not authorized as administrator.' });
@@ -1 +1 @@
1
- {"version":3,"file":"admin-dashboard.js","sourceRoot":"","sources":["../../../src/pages/admin-dashboard/admin-dashboard.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"admin-dashboard.js","sourceRoot":"","sources":["../../../src/pages/admin-dashboard/admin-dashboard.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ /******************************************************************************
2
+ * Copyright (c) 2026 Contributors to the Eclipse Foundation.
3
+ *
4
+ * See the NOTICE file(s) distributed with this work for additional
5
+ * information regarding copyright ownership.
6
+ *
7
+ * This program and the accompanying materials are made available under the
8
+ * terms of the Eclipse Public License 2.0 which is available at
9
+ * https://www.eclipse.org/legal/epl-2.0.
10
+ *
11
+ * SPDX-License-Identifier: EPL-2.0
12
+ *****************************************************************************/
13
+ export declare namespace AdminDashboardRoutes {
14
+ const ROOT = "admin-dashboard";
15
+ const MAIN: string;
16
+ const NAMESPACE_ADMIN: string;
17
+ const EXTENSION_ADMIN: string;
18
+ const PUBLISHER_ADMIN: string;
19
+ const SCANS_ADMIN: string;
20
+ const TIERS: string;
21
+ const CUSTOMERS: string;
22
+ const USAGE_STATS: string;
23
+ const LOGS: string;
24
+ }
25
+ //# sourceMappingURL=admin-routes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-routes.d.ts","sourceRoot":"","sources":["../../../src/pages/admin-dashboard/admin-routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;+EAW+E;AAI/E,yBAAiB,oBAAoB,CAAC;IAC3B,MAAM,IAAI,oBAAoB,CAAC;IAC/B,MAAM,IAAI,QAAsB,CAAC;IACjC,MAAM,eAAe,QAAoC,CAAC;IAC1D,MAAM,eAAe,QAAoC,CAAC;IAC1D,MAAM,eAAe,QAAmC,CAAC;IACzD,MAAM,WAAW,QAA+B,CAAC;IACjD,MAAM,KAAK,QAA+B,CAAC;IAC3C,MAAM,SAAS,QAAmC,CAAC;IACnD,MAAM,WAAW,QAA+B,CAAC;IACjD,MAAM,IAAI,QAA8B,CAAC;CACnD"}
@@ -0,0 +1,27 @@
1
+ /******************************************************************************
2
+ * Copyright (c) 2026 Contributors to the Eclipse Foundation.
3
+ *
4
+ * See the NOTICE file(s) distributed with this work for additional
5
+ * information regarding copyright ownership.
6
+ *
7
+ * This program and the accompanying materials are made available under the
8
+ * terms of the Eclipse Public License 2.0 which is available at
9
+ * https://www.eclipse.org/legal/epl-2.0.
10
+ *
11
+ * SPDX-License-Identifier: EPL-2.0
12
+ *****************************************************************************/
13
+ import { createRoute } from '../../utils';
14
+ export var AdminDashboardRoutes;
15
+ (function (AdminDashboardRoutes) {
16
+ AdminDashboardRoutes.ROOT = 'admin-dashboard';
17
+ AdminDashboardRoutes.MAIN = createRoute([AdminDashboardRoutes.ROOT]);
18
+ AdminDashboardRoutes.NAMESPACE_ADMIN = createRoute([AdminDashboardRoutes.ROOT, 'namespaces']);
19
+ AdminDashboardRoutes.EXTENSION_ADMIN = createRoute([AdminDashboardRoutes.ROOT, 'extensions']);
20
+ AdminDashboardRoutes.PUBLISHER_ADMIN = createRoute([AdminDashboardRoutes.ROOT, 'publisher']);
21
+ AdminDashboardRoutes.SCANS_ADMIN = createRoute([AdminDashboardRoutes.ROOT, 'scans']);
22
+ AdminDashboardRoutes.TIERS = createRoute([AdminDashboardRoutes.ROOT, 'tiers']);
23
+ AdminDashboardRoutes.CUSTOMERS = createRoute([AdminDashboardRoutes.ROOT, 'customers']);
24
+ AdminDashboardRoutes.USAGE_STATS = createRoute([AdminDashboardRoutes.ROOT, 'usage']);
25
+ AdminDashboardRoutes.LOGS = createRoute([AdminDashboardRoutes.ROOT, 'logs']);
26
+ })(AdminDashboardRoutes || (AdminDashboardRoutes = {}));
27
+ //# sourceMappingURL=admin-routes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-routes.js","sourceRoot":"","sources":["../../../src/pages/admin-dashboard/admin-routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;+EAW+E;AAE/E,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,KAAW,oBAAoB,CAWpC;AAXD,WAAiB,oBAAoB;IACpB,yBAAI,GAAG,iBAAiB,CAAC;IACzB,yBAAI,GAAG,WAAW,CAAC,CAAC,qBAAA,IAAI,CAAC,CAAC,CAAC;IAC3B,oCAAe,GAAG,WAAW,CAAC,CAAC,qBAAA,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;IACpD,oCAAe,GAAG,WAAW,CAAC,CAAC,qBAAA,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;IACpD,oCAAe,GAAG,WAAW,CAAC,CAAC,qBAAA,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;IACnD,gCAAW,GAAG,WAAW,CAAC,CAAC,qBAAA,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3C,0BAAK,GAAG,WAAW,CAAC,CAAC,qBAAA,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IACrC,8BAAS,GAAG,WAAW,CAAC,CAAC,qBAAA,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;IAC7C,gCAAW,GAAG,WAAW,CAAC,CAAC,qBAAA,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3C,yBAAI,GAAG,WAAW,CAAC,CAAC,qBAAA,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;AACpD,CAAC,EAXgB,oBAAoB,KAApB,oBAAoB,QAWpC"}
@@ -10,15 +10,7 @@
10
10
  *
11
11
  * SPDX-License-Identifier: EPL-2.0
12
12
  *****************************************************************************/
13
- import { FC } from 'react';
14
- import { GridFilterOperator, GridFilterInputValueProps } from '@mui/x-data-grid';
15
- /**
16
- * Custom multi-select filter input component for DataGrid columns.
17
- * Renders an Autocomplete with multiple selection support.
18
- */
19
- export declare const MultiSelectFilterInput: FC<GridFilterInputValueProps & {
20
- options: string[];
21
- }>;
13
+ import { GridFilterOperator } from '@mui/x-data-grid';
22
14
  /**
23
15
  * Creates filter operators for single-value columns with multi-select capability.
24
16
  * Includes "is any of" and "is none of" operators.
@@ -1 +1 @@
1
- {"version":3,"file":"data-grid-filter-operators.d.ts","sourceRoot":"","sources":["../../../../src/pages/admin-dashboard/components/data-grid-filter-operators.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;+EAW+E;AAG/E,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAE3B,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAEjF;;;GAGG;AACH,eAAO,MAAM,sBAAsB,EAAE,EAAE,CAAC,yBAAyB,GAAG;IAAE,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAsBxF,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,gCAAgC,GAAI,SAAS,MAAM,EAAE,KAAG,kBAAkB,EA+BtF,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,kCAAkC,GAAI,SAAS,MAAM,EAAE,KAAG,kBAAkB,EA+BxF,CAAC"}
1
+ {"version":3,"file":"data-grid-filter-operators.d.ts","sourceRoot":"","sources":["../../../../src/pages/admin-dashboard/components/data-grid-filter-operators.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;+EAW+E;AAG/E,OAAO,EAAE,kBAAkB,EAA6B,MAAM,kBAAkB,CAAC;AAEjF;;;;;;;GAOG;AACH,eAAO,MAAM,gCAAgC,GAAI,SAAS,MAAM,EAAE,KAAG,kBAAkB,EA+BtF,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,kCAAkC,GAAI,SAAS,MAAM,EAAE,KAAG,kBAAkB,EA+BxF,CAAC"}
@@ -1,15 +1,17 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { Autocomplete, TextField } from '@mui/material';
3
- /**
4
- * Custom multi-select filter input component for DataGrid columns.
5
- * Renders an Autocomplete with multiple selection support.
6
- */
7
- export const MultiSelectFilterInput = ({ item, applyValue, options }) => {
8
- const handleChange = (_event, newValue) => {
9
- applyValue(Object.assign(Object.assign({}, item), { value: newValue }));
10
- };
11
- return (_jsx(Autocomplete, { multiple: true, size: 'small', options: options, value: item.value || [], onChange: handleChange, renderInput: (params) => (_jsx(TextField, Object.assign({}, params, { variant: 'standard', placeholder: 'Filter...' }))), sx: { minWidth: 150, mt: 'auto' } }));
12
- };
2
+ /******************************************************************************
3
+ * Copyright (c) 2026 Contributors to the Eclipse Foundation.
4
+ *
5
+ * See the NOTICE file(s) distributed with this work for additional
6
+ * information regarding copyright ownership.
7
+ *
8
+ * This program and the accompanying materials are made available under the
9
+ * terms of the Eclipse Public License 2.0 which is available at
10
+ * https://www.eclipse.org/legal/epl-2.0.
11
+ *
12
+ * SPDX-License-Identifier: EPL-2.0
13
+ *****************************************************************************/
14
+ import { MultiSelectFilterInput } from "./data-grid-filter";
13
15
  /**
14
16
  * Creates filter operators for single-value columns with multi-select capability.
15
17
  * Includes "is any of" and "is none of" operators.
@@ -29,7 +31,7 @@ export const createMultiSelectFilterOperators = (options) => [
29
31
  const filterValues = filterItem.value;
30
32
  return (value) => filterValues.indexOf(value) !== -1;
31
33
  },
32
- InputComponent: (props) => (_jsx(MultiSelectFilterInput, Object.assign({}, props, { options: options }))),
34
+ InputComponent: (props) => (_jsx(MultiSelectFilterInput, { ...props, options: options })),
33
35
  },
34
36
  {
35
37
  label: 'is none of',
@@ -41,7 +43,7 @@ export const createMultiSelectFilterOperators = (options) => [
41
43
  const filterValues = filterItem.value;
42
44
  return (value) => filterValues.indexOf(value) === -1;
43
45
  },
44
- InputComponent: (props) => (_jsx(MultiSelectFilterInput, Object.assign({}, props, { options: options }))),
46
+ InputComponent: (props) => (_jsx(MultiSelectFilterInput, { ...props, options: options })),
45
47
  },
46
48
  ];
47
49
  /**
@@ -63,7 +65,7 @@ export const createArrayContainsFilterOperators = (options) => [
63
65
  const filterValues = filterItem.value;
64
66
  return (value) => filterValues.some(fv => value.indexOf(fv) !== -1);
65
67
  },
66
- InputComponent: (props) => (_jsx(MultiSelectFilterInput, Object.assign({}, props, { options: options }))),
68
+ InputComponent: (props) => (_jsx(MultiSelectFilterInput, { ...props, options: options })),
67
69
  },
68
70
  {
69
71
  label: 'contains none of',
@@ -75,7 +77,7 @@ export const createArrayContainsFilterOperators = (options) => [
75
77
  const filterValues = filterItem.value;
76
78
  return (value) => !filterValues.some(fv => value.indexOf(fv) !== -1);
77
79
  },
78
- InputComponent: (props) => (_jsx(MultiSelectFilterInput, Object.assign({}, props, { options: options }))),
80
+ InputComponent: (props) => (_jsx(MultiSelectFilterInput, { ...props, options: options })),
79
81
  },
80
82
  ];
81
83
  //# sourceMappingURL=data-grid-filter-operators.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"data-grid-filter-operators.js","sourceRoot":"","sources":["../../../../src/pages/admin-dashboard/components/data-grid-filter-operators.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data-grid-filter-operators.js","sourceRoot":"","sources":["../../../../src/pages/admin-dashboard/components/data-grid-filter-operators.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ /******************************************************************************
2
+ * Copyright (c) 2026 Contributors to the Eclipse Foundation.
3
+ *
4
+ * See the NOTICE file(s) distributed with this work for additional
5
+ * information regarding copyright ownership.
6
+ *
7
+ * This program and the accompanying materials are made available under the
8
+ * terms of the Eclipse Public License 2.0 which is available at
9
+ * https://www.eclipse.org/legal/epl-2.0.
10
+ *
11
+ * SPDX-License-Identifier: EPL-2.0
12
+ *****************************************************************************/
13
+ import { FC } from 'react';
14
+ import { GridFilterInputValueProps } from '@mui/x-data-grid';
15
+ /**
16
+ * Custom multi-select filter input component for DataGrid columns.
17
+ * Renders an Autocomplete with multiple selection support.
18
+ */
19
+ export declare const MultiSelectFilterInput: FC<GridFilterInputValueProps & {
20
+ options: string[];
21
+ }>;
22
+ //# sourceMappingURL=data-grid-filter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-grid-filter.d.ts","sourceRoot":"","sources":["../../../../src/pages/admin-dashboard/components/data-grid-filter.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;+EAW+E;AAG/E,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAE3B,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAE7D;;;GAGG;AACH,eAAO,MAAM,sBAAsB,EAAE,EAAE,CAAC,yBAAyB,GAAG;IAAE,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAsBxF,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Autocomplete, TextField } from '@mui/material';
3
+ /**
4
+ * Custom multi-select filter input component for DataGrid columns.
5
+ * Renders an Autocomplete with multiple selection support.
6
+ */
7
+ export const MultiSelectFilterInput = ({ item, applyValue, options }) => {
8
+ const handleChange = (_event, newValue) => {
9
+ applyValue({ ...item, value: newValue });
10
+ };
11
+ return (_jsx(Autocomplete, { multiple: true, size: 'small', options: options, value: item.value || [], onChange: handleChange, renderInput: (params) => (_jsx(TextField, { ...params, variant: 'standard', placeholder: 'Filter...' })), sx: { minWidth: 150, mt: 'auto' } }));
12
+ };
13
+ //# sourceMappingURL=data-grid-filter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-grid-filter.js","sourceRoot":"","sources":["../../../../src/pages/admin-dashboard/components/data-grid-filter.tsx"],"names":[],"mappings":";AAeA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAGxD;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAA0D,CAAC,EAC5F,IAAI,EACJ,UAAU,EACV,OAAO,EACR,EAAE,EAAE;IACH,MAAM,YAAY,GAAG,CAAC,MAAsB,EAAE,QAAkB,EAAE,EAAE;QAClE,UAAU,CAAC,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC3C,CAAC,CAAC;IAEF,OAAO,CACL,KAAC,YAAY,IACX,QAAQ,QACR,IAAI,EAAC,OAAO,EACZ,OAAO,EAAE,OAAO,EAChB,KAAK,EAAG,IAAI,CAAC,KAAkB,IAAI,EAAE,EACrC,QAAQ,EAAE,YAAY,EACtB,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CACvB,KAAC,SAAS,OAAK,MAAM,EAAE,OAAO,EAAC,UAAU,EAAC,WAAW,EAAC,WAAW,GAAG,CACrE,EACD,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,GACjC,CACH,CAAC;AACJ,CAAC,CAAC"}
@@ -10,5 +10,6 @@
10
10
  *
11
11
  * SPDX-License-Identifier: EPL-2.0
12
12
  *****************************************************************************/
13
- export { MultiSelectFilterInput, createMultiSelectFilterOperators, createArrayContainsFilterOperators } from './data-grid-filter-operators';
13
+ export { MultiSelectFilterInput } from './data-grid-filter';
14
+ export { createMultiSelectFilterOperators, createArrayContainsFilterOperators } from './data-grid-filter-operators';
14
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/pages/admin-dashboard/components/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;+EAW+E;AAE/E,OAAO,EACL,sBAAsB,EACtB,gCAAgC,EAChC,kCAAkC,EACnC,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/pages/admin-dashboard/components/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;+EAW+E;AAE/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EACL,gCAAgC,EAChC,kCAAkC,EACnC,MAAM,8BAA8B,CAAC"}
@@ -10,5 +10,6 @@
10
10
  *
11
11
  * SPDX-License-Identifier: EPL-2.0
12
12
  *****************************************************************************/
13
- export { MultiSelectFilterInput, createMultiSelectFilterOperators, createArrayContainsFilterOperators } from './data-grid-filter-operators';
13
+ export { MultiSelectFilterInput } from './data-grid-filter';
14
+ export { createMultiSelectFilterOperators, createArrayContainsFilterOperators } from './data-grid-filter-operators';
14
15
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/pages/admin-dashboard/components/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;+EAW+E;AAE/E,OAAO,EACL,sBAAsB,EACtB,gCAAgC,EAChC,kCAAkC,EACnC,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/pages/admin-dashboard/components/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;+EAW+E;AAE/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EACL,gCAAgC,EAChC,kCAAkC,EACnC,MAAM,8BAA8B,CAAC"}
@@ -10,5 +10,6 @@
10
10
  *
11
11
  * SPDX-License-Identifier: EPL-2.0
12
12
  *****************************************************************************/
13
- export declare const getDefaultStartDate: () => Date;
14
- //# sourceMappingURL=usage-stats-utils.d.ts.map
13
+ import { FC } from "react";
14
+ export declare const CustomerDetails: FC;
15
+ //# sourceMappingURL=customer-details.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"customer-details.d.ts","sourceRoot":"","sources":["../../../../src/pages/admin-dashboard/customers/customer-details.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;+EAW+E;AAE/E,OAAO,EAAE,EAAE,EAAwD,MAAM,OAAO,CAAC;AA8BjF,eAAO,MAAM,eAAe,EAAE,EAqF7B,CAAC"}
@@ -0,0 +1,77 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ /******************************************************************************
3
+ * Copyright (c) 2026 Contributors to the Eclipse Foundation.
4
+ *
5
+ * See the NOTICE file(s) distributed with this work for additional
6
+ * information regarding copyright ownership.
7
+ *
8
+ * This program and the accompanying materials are made available under the
9
+ * terms of the Eclipse Public License 2.0 which is available at
10
+ * https://www.eclipse.org/legal/epl-2.0.
11
+ *
12
+ * SPDX-License-Identifier: EPL-2.0
13
+ *****************************************************************************/
14
+ import { useContext, useState, useEffect, useRef, useCallback } from "react";
15
+ import { Box, Typography, Button, Alert, LinearProgress } from "@mui/material";
16
+ import EditIcon from '@mui/icons-material/Edit';
17
+ import { useParams } from 'react-router-dom';
18
+ import { MainContext } from '../../../context';
19
+ import { handleError } from '../../../utils';
20
+ import { useAdminUsageStats } from '../usage-stats/use-usage-stats';
21
+ import { GeneralDetails, UsageStats } from '../../../components/rate-limiting/customer';
22
+ import { CustomerFormDialog } from './customer-form-dialog';
23
+ import { CustomerMemberList } from './customer-member-list';
24
+ const CustomerDetailsLoading = () => (_jsx(Box, { sx: { p: 3 }, children: _jsx(LinearProgress, { color: 'secondary', sx: { width: "100%" } }) }));
25
+ const CustomerDetailsError = ({ message }) => (_jsx(Box, { sx: { p: 3 }, children: _jsx(Alert, { severity: 'error', children: message }) }));
26
+ export const CustomerDetails = () => {
27
+ const { customer: customerName } = useParams();
28
+ const abortController = useRef(new AbortController());
29
+ const { service } = useContext(MainContext);
30
+ const [customer, setCustomer] = useState(null);
31
+ const [loading, setLoading] = useState(true);
32
+ const [error, setError] = useState(null);
33
+ const [formDialogOpen, setFormDialogOpen] = useState(false);
34
+ const { usageStats, error: statsError, startDate, setStartDate } = useAdminUsageStats(customerName);
35
+ const loadCustomer = useCallback(async () => {
36
+ if (!customerName)
37
+ return;
38
+ try {
39
+ setLoading(true);
40
+ setError(null);
41
+ const data = await service.admin.getCustomer(abortController.current, customerName);
42
+ setCustomer(data);
43
+ }
44
+ catch (err) {
45
+ if (err?.status === 404) {
46
+ setError(`Customer "${customerName}" not found.`);
47
+ }
48
+ else {
49
+ setError(handleError(err));
50
+ }
51
+ }
52
+ finally {
53
+ setLoading(false);
54
+ }
55
+ }, [service, customerName]);
56
+ useEffect(() => {
57
+ loadCustomer();
58
+ return () => abortController.current.abort();
59
+ }, [loadCustomer]);
60
+ const handleFormSubmit = async (updatedCustomer) => {
61
+ if (customer) {
62
+ await service.admin.updateCustomer(abortController.current, customer.name, updatedCustomer);
63
+ await loadCustomer();
64
+ }
65
+ };
66
+ if (loading) {
67
+ return _jsx(CustomerDetailsLoading, {});
68
+ }
69
+ if (error || statsError) {
70
+ return _jsx(CustomerDetailsError, { message: error ?? statsError ?? '' });
71
+ }
72
+ if (!customer) {
73
+ return null;
74
+ }
75
+ return (_jsxs(_Fragment, { children: [_jsxs(Box, { sx: { p: 2 }, children: [_jsx(Box, { sx: { display: 'flex', alignItems: 'center', mb: 3 }, children: _jsx(Typography, { variant: 'h4', component: 'h1', children: customer.name }) }), _jsx(GeneralDetails, { customer: customer, headerAction: _jsx(Button, { size: 'small', startIcon: _jsx(EditIcon, {}), onClick: () => setFormDialogOpen(true), children: "Edit" }) }), _jsx(CustomerMemberList, { customer: customer }), _jsx(UsageStats, { usageStats: usageStats, customer: customer, startDate: startDate, onStartDateChange: setStartDate })] }), _jsx(CustomerFormDialog, { open: formDialogOpen, customer: customer, onClose: () => setFormDialogOpen(false), onSubmit: handleFormSubmit })] }));
76
+ };
77
+ //# sourceMappingURL=customer-details.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"customer-details.js","sourceRoot":"","sources":["../../../../src/pages/admin-dashboard/customers/customer-details.tsx"],"names":[],"mappings":"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"}