openvsx-webui-test 0.18.0-security.5 → 0.19.0-dev.1

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 (535) hide show
  1. package/lib/components/banner.d.ts.map +1 -1
  2. package/lib/components/banner.js +10 -24
  3. package/lib/components/banner.js.map +1 -1
  4. package/lib/components/button-with-progress.d.ts.map +1 -1
  5. package/lib/components/button-with-progress.js +11 -22
  6. package/lib/components/button-with-progress.js.map +1 -1
  7. package/lib/components/copy-to-clipboard.d.ts.map +1 -1
  8. package/lib/components/copy-to-clipboard.js +3 -2
  9. package/lib/components/copy-to-clipboard.js.map +1 -1
  10. package/lib/components/delayed-load-indicator.d.ts.map +1 -1
  11. package/lib/components/delayed-load-indicator.js +4 -3
  12. package/lib/components/delayed-load-indicator.js.map +1 -1
  13. package/lib/components/error-dialog.d.ts.map +1 -1
  14. package/lib/components/error-dialog.js +8 -23
  15. package/lib/components/error-dialog.js.map +1 -1
  16. package/lib/components/hover-popover.d.ts.map +1 -1
  17. package/lib/components/hover-popover.js +9 -10
  18. package/lib/components/hover-popover.js.map +1 -1
  19. package/lib/components/info-dialog.d.ts.map +1 -1
  20. package/lib/components/info-dialog.js +3 -7
  21. package/lib/components/info-dialog.js.map +1 -1
  22. package/lib/components/sanitized-markdown.d.ts.map +1 -1
  23. package/lib/components/sanitized-markdown.js +3 -2
  24. package/lib/components/sanitized-markdown.js.map +1 -1
  25. package/lib/components/scan-admin/common/auto-refresh.d.ts.map +1 -1
  26. package/lib/components/scan-admin/common/auto-refresh.js +12 -30
  27. package/lib/components/scan-admin/common/auto-refresh.js.map +1 -1
  28. package/lib/components/scan-admin/common/conditional-tooltip.d.ts.map +1 -1
  29. package/lib/components/scan-admin/common/conditional-tooltip.js +6 -17
  30. package/lib/components/scan-admin/common/conditional-tooltip.js.map +1 -1
  31. package/lib/components/scan-admin/common/file-table.d.ts.map +1 -1
  32. package/lib/components/scan-admin/common/file-table.js +84 -144
  33. package/lib/components/scan-admin/common/file-table.js.map +1 -1
  34. package/lib/components/scan-admin/common/tab-panel.d.ts.map +1 -1
  35. package/lib/components/scan-admin/common/tab-panel.js +2 -14
  36. package/lib/components/scan-admin/common/tab-panel.js.map +1 -1
  37. package/lib/components/scan-admin/common/utils.d.ts.map +1 -1
  38. package/lib/components/scan-admin/common/utils.js.map +1 -1
  39. package/lib/components/scan-admin/dialogs/file-dialog.d.ts.map +1 -1
  40. package/lib/components/scan-admin/dialogs/file-dialog.js +31 -73
  41. package/lib/components/scan-admin/dialogs/file-dialog.js.map +1 -1
  42. package/lib/components/scan-admin/dialogs/quarantine-dialog.d.ts.map +1 -1
  43. package/lib/components/scan-admin/dialogs/quarantine-dialog.js +60 -120
  44. package/lib/components/scan-admin/dialogs/quarantine-dialog.js.map +1 -1
  45. package/lib/components/scan-admin/scan-card/scan-card-content.d.ts +3 -3
  46. package/lib/components/scan-admin/scan-card/scan-card-content.d.ts.map +1 -1
  47. package/lib/components/scan-admin/scan-card/scan-card-content.js +139 -204
  48. package/lib/components/scan-admin/scan-card/scan-card-content.js.map +1 -1
  49. package/lib/components/scan-admin/scan-card/scan-card-expand-strip-badges.d.ts +2 -2
  50. package/lib/components/scan-admin/scan-card/scan-card-expand-strip-badges.d.ts.map +1 -1
  51. package/lib/components/scan-admin/scan-card/scan-card-expand-strip-badges.js +28 -34
  52. package/lib/components/scan-admin/scan-card/scan-card-expand-strip-badges.js.map +1 -1
  53. package/lib/components/scan-admin/scan-card/scan-card-expand-strip.d.ts +2 -2
  54. package/lib/components/scan-admin/scan-card/scan-card-expand-strip.d.ts.map +1 -1
  55. package/lib/components/scan-admin/scan-card/scan-card-expand-strip.js +9 -12
  56. package/lib/components/scan-admin/scan-card/scan-card-expand-strip.js.map +1 -1
  57. package/lib/components/scan-admin/scan-card/scan-card-expanded-content.d.ts +0 -1
  58. package/lib/components/scan-admin/scan-card/scan-card-expanded-content.d.ts.map +1 -1
  59. package/lib/components/scan-admin/scan-card/scan-card-expanded-content.js +20 -51
  60. package/lib/components/scan-admin/scan-card/scan-card-expanded-content.js.map +1 -1
  61. package/lib/components/scan-admin/scan-card/scan-card-header.d.ts +2 -2
  62. package/lib/components/scan-admin/scan-card/scan-card-header.d.ts.map +1 -1
  63. package/lib/components/scan-admin/scan-card/scan-card-header.js +58 -61
  64. package/lib/components/scan-admin/scan-card/scan-card-header.js.map +1 -1
  65. package/lib/components/scan-admin/scan-card/scan-card.d.ts.map +1 -1
  66. package/lib/components/scan-admin/scan-card/scan-card.js +20 -25
  67. package/lib/components/scan-admin/scan-card/scan-card.js.map +1 -1
  68. package/lib/components/scan-admin/scan-card/scan-detail-card.d.ts.map +1 -1
  69. package/lib/components/scan-admin/scan-card/scan-detail-card.js +19 -43
  70. package/lib/components/scan-admin/scan-card/scan-detail-card.js.map +1 -1
  71. package/lib/components/scan-admin/scan-card/utils.d.ts +4 -4
  72. package/lib/components/scan-admin/scan-card/utils.d.ts.map +1 -1
  73. package/lib/components/scan-admin/scan-card/utils.js.map +1 -1
  74. package/lib/components/scan-admin/tab-contents/allow-list-tab-content.d.ts.map +1 -1
  75. package/lib/components/scan-admin/tab-contents/allow-list-tab-content.js +17 -39
  76. package/lib/components/scan-admin/tab-contents/allow-list-tab-content.js.map +1 -1
  77. package/lib/components/scan-admin/tab-contents/auto-rejected-tab-content.d.ts.map +1 -1
  78. package/lib/components/scan-admin/tab-contents/auto-rejected-tab-content.js +8 -30
  79. package/lib/components/scan-admin/tab-contents/auto-rejected-tab-content.js.map +1 -1
  80. package/lib/components/scan-admin/tab-contents/block-list-tab-content.d.ts.map +1 -1
  81. package/lib/components/scan-admin/tab-contents/block-list-tab-content.js +17 -39
  82. package/lib/components/scan-admin/tab-contents/block-list-tab-content.js.map +1 -1
  83. package/lib/components/scan-admin/tab-contents/quarantined-tab-content.d.ts.map +1 -1
  84. package/lib/components/scan-admin/tab-contents/quarantined-tab-content.js +26 -48
  85. package/lib/components/scan-admin/tab-contents/quarantined-tab-content.js.map +1 -1
  86. package/lib/components/scan-admin/tab-contents/scans-tab-content.d.ts.map +1 -1
  87. package/lib/components/scan-admin/tab-contents/scans-tab-content.js +15 -37
  88. package/lib/components/scan-admin/tab-contents/scans-tab-content.js.map +1 -1
  89. package/lib/components/scan-admin/toolbars/counts-toolbar.d.ts.map +1 -1
  90. package/lib/components/scan-admin/toolbars/counts-toolbar.js +70 -94
  91. package/lib/components/scan-admin/toolbars/counts-toolbar.js.map +1 -1
  92. package/lib/components/scan-admin/toolbars/search-toolbar.d.ts +5 -4
  93. package/lib/components/scan-admin/toolbars/search-toolbar.d.ts.map +1 -1
  94. package/lib/components/scan-admin/toolbars/search-toolbar.js +72 -98
  95. package/lib/components/scan-admin/toolbars/search-toolbar.js.map +1 -1
  96. package/lib/components/scan-admin/toolbars/tab-toolbar.d.ts +1 -1
  97. package/lib/components/scan-admin/toolbars/tab-toolbar.d.ts.map +1 -1
  98. package/lib/components/scan-admin/toolbars/tab-toolbar.js +3 -16
  99. package/lib/components/scan-admin/toolbars/tab-toolbar.js.map +1 -1
  100. package/lib/components/sidepanel/navigation-item.d.ts.map +1 -1
  101. package/lib/components/sidepanel/navigation-item.js +4 -9
  102. package/lib/components/sidepanel/navigation-item.js.map +1 -1
  103. package/lib/components/sidepanel/sidepanel.d.ts.map +1 -1
  104. package/lib/components/sidepanel/sidepanel.js +3 -13
  105. package/lib/components/sidepanel/sidepanel.js.map +1 -1
  106. package/lib/components/text-divider.d.ts.map +1 -1
  107. package/lib/components/text-divider.js +2 -11
  108. package/lib/components/text-divider.js.map +1 -1
  109. package/lib/components/timestamp.d.ts.map +1 -1
  110. package/lib/components/timestamp.js +2 -11
  111. package/lib/components/timestamp.js.map +1 -1
  112. package/lib/context/scan-admin/scan-actions.d.ts +2 -1
  113. package/lib/context/scan-admin/scan-actions.d.ts.map +1 -1
  114. package/lib/context/scan-admin/scan-actions.js.map +1 -1
  115. package/lib/context/scan-admin/scan-api-actions.d.ts +3 -3
  116. package/lib/context/scan-admin/scan-api-actions.d.ts.map +1 -1
  117. package/lib/context/scan-admin/scan-api-actions.js.map +1 -1
  118. package/lib/context/scan-admin/scan-api-effects.d.ts +7 -7
  119. package/lib/context/scan-admin/scan-api-effects.d.ts.map +1 -1
  120. package/lib/context/scan-admin/scan-api-effects.js.map +1 -1
  121. package/lib/context/scan-admin/scan-context-types.d.ts +9 -9
  122. package/lib/context/scan-admin/scan-context-types.d.ts.map +1 -1
  123. package/lib/context/scan-admin/scan-context.d.ts +2 -2
  124. package/lib/context/scan-admin/scan-context.d.ts.map +1 -1
  125. package/lib/context/scan-admin/scan-context.js +3 -2
  126. package/lib/context/scan-admin/scan-context.js.map +1 -1
  127. package/lib/context/scan-admin/scan-helpers.d.ts.map +1 -1
  128. package/lib/context/scan-admin/scan-helpers.js.map +1 -1
  129. package/lib/context/scan-admin/scan-reducer.d.ts.map +1 -1
  130. package/lib/context/scan-admin/scan-reducer.js.map +1 -1
  131. package/lib/context/scan-admin/scan-types.js +1 -1
  132. package/lib/context/scan-admin/scan-types.js.map +1 -1
  133. package/lib/context.d.ts +0 -1
  134. package/lib/context.d.ts.map +1 -1
  135. package/lib/default/about.d.ts.map +1 -1
  136. package/lib/default/about.js +2 -22
  137. package/lib/default/about.js.map +1 -1
  138. package/lib/default/default-app.js +13 -15
  139. package/lib/default/default-app.js.map +1 -1
  140. package/lib/default/login.d.ts.map +1 -1
  141. package/lib/default/login.js +3 -7
  142. package/lib/default/login.js.map +1 -1
  143. package/lib/default/menu-content.d.ts +5 -8
  144. package/lib/default/menu-content.d.ts.map +1 -1
  145. package/lib/default/menu-content.js +21 -91
  146. package/lib/default/menu-content.js.map +1 -1
  147. package/lib/default/openvsx-registry-logo.d.ts.map +1 -1
  148. package/lib/default/openvsx-registry-logo.js +2 -14
  149. package/lib/default/openvsx-registry-logo.js.map +1 -1
  150. package/lib/default/page-settings.js +18 -27
  151. package/lib/default/page-settings.js.map +1 -1
  152. package/lib/extension-registry-service.d.ts +24 -1
  153. package/lib/extension-registry-service.d.ts.map +1 -1
  154. package/lib/extension-registry-service.js +169 -2
  155. package/lib/extension-registry-service.js.map +1 -1
  156. package/lib/extension-registry-types.d.ts +57 -0
  157. package/lib/extension-registry-types.d.ts.map +1 -1
  158. package/lib/extension-registry-types.js +16 -0
  159. package/lib/extension-registry-types.js.map +1 -1
  160. package/lib/header-menu.d.ts.map +1 -1
  161. package/lib/header-menu.js +8 -11
  162. package/lib/header-menu.js.map +1 -1
  163. package/lib/hooks/scan-admin/use-auto-rejected-tab.d.ts +1 -2
  164. package/lib/hooks/scan-admin/use-auto-rejected-tab.d.ts.map +1 -1
  165. package/lib/hooks/scan-admin/use-dialogs.d.ts +1 -1
  166. package/lib/hooks/scan-admin/use-dialogs.d.ts.map +1 -1
  167. package/lib/hooks/scan-admin/use-file-list-tab.d.ts +0 -1
  168. package/lib/hooks/scan-admin/use-file-list-tab.d.ts.map +1 -1
  169. package/lib/hooks/scan-admin/use-pagination.js.map +1 -1
  170. package/lib/hooks/scan-admin/use-quarantined-tab.d.ts +1 -2
  171. package/lib/hooks/scan-admin/use-quarantined-tab.d.ts.map +1 -1
  172. package/lib/hooks/scan-admin/use-quarantined-tab.js +2 -3
  173. package/lib/hooks/scan-admin/use-quarantined-tab.js.map +1 -1
  174. package/lib/hooks/scan-admin/use-query-params-state.d.ts +15 -0
  175. package/lib/hooks/scan-admin/use-query-params-state.d.ts.map +1 -0
  176. package/lib/hooks/scan-admin/use-query-params-state.js +44 -0
  177. package/lib/hooks/scan-admin/use-query-params-state.js.map +1 -0
  178. package/lib/hooks/scan-admin/use-scan-card-state.d.ts +3 -3
  179. package/lib/hooks/scan-admin/use-scan-card-state.d.ts.map +1 -1
  180. package/lib/hooks/scan-admin/use-scan-card-state.js +1 -1
  181. package/lib/hooks/scan-admin/use-scan-card-state.js.map +1 -1
  182. package/lib/hooks/scan-admin/use-scan-filters.d.ts +3 -4
  183. package/lib/hooks/scan-admin/use-scan-filters.d.ts.map +1 -1
  184. package/lib/hooks/scan-admin/use-scans-tab.d.ts +1 -2
  185. package/lib/hooks/scan-admin/use-scans-tab.d.ts.map +1 -1
  186. package/lib/hooks/scan-admin/use-scans-tab.js.map +1 -1
  187. package/lib/hooks/scan-admin/use-search.d.ts +0 -1
  188. package/lib/hooks/scan-admin/use-search.d.ts.map +1 -1
  189. package/lib/hooks/scan-admin/use-tab-navigation.js.map +1 -1
  190. package/lib/hooks/scan-admin/use-url-sync.js.map +1 -1
  191. package/lib/main.d.ts.map +1 -1
  192. package/lib/main.js +15 -21
  193. package/lib/main.js.map +1 -1
  194. package/lib/not-found.d.ts.map +1 -1
  195. package/lib/not-found.js +2 -5
  196. package/lib/not-found.js.map +1 -1
  197. package/lib/other-pages.d.ts.map +1 -1
  198. package/lib/other-pages.js +7 -24
  199. package/lib/other-pages.js.map +1 -1
  200. package/lib/pages/admin-dashboard/admin-dashboard.d.ts +4 -0
  201. package/lib/pages/admin-dashboard/admin-dashboard.d.ts.map +1 -1
  202. package/lib/pages/admin-dashboard/admin-dashboard.js +43 -39
  203. package/lib/pages/admin-dashboard/admin-dashboard.js.map +1 -1
  204. package/lib/pages/admin-dashboard/components/data-grid-filter-operators.d.ts +40 -0
  205. package/lib/pages/admin-dashboard/components/data-grid-filter-operators.d.ts.map +1 -0
  206. package/lib/pages/admin-dashboard/components/data-grid-filter-operators.js +81 -0
  207. package/lib/pages/admin-dashboard/components/data-grid-filter-operators.js.map +1 -0
  208. package/lib/pages/admin-dashboard/components/index.d.ts +14 -0
  209. package/lib/pages/admin-dashboard/components/index.d.ts.map +1 -0
  210. package/lib/pages/admin-dashboard/components/index.js +14 -0
  211. package/lib/pages/admin-dashboard/components/index.js.map +1 -0
  212. package/lib/pages/admin-dashboard/customers/customer-form-dialog.d.ts +23 -0
  213. package/lib/pages/admin-dashboard/customers/customer-form-dialog.d.ts.map +1 -0
  214. package/lib/pages/admin-dashboard/customers/customer-form-dialog.js +206 -0
  215. package/lib/pages/admin-dashboard/customers/customer-form-dialog.js.map +1 -0
  216. package/lib/pages/admin-dashboard/customers/customers.d.ts +15 -0
  217. package/lib/pages/admin-dashboard/customers/customers.d.ts.map +1 -0
  218. package/lib/pages/admin-dashboard/customers/customers.js +156 -0
  219. package/lib/pages/admin-dashboard/customers/customers.js.map +1 -0
  220. package/lib/pages/admin-dashboard/customers/delete-customer-dialog.d.ts +23 -0
  221. package/lib/pages/admin-dashboard/customers/delete-customer-dialog.d.ts.map +1 -0
  222. package/lib/pages/admin-dashboard/customers/delete-customer-dialog.js +47 -0
  223. package/lib/pages/admin-dashboard/customers/delete-customer-dialog.js.map +1 -0
  224. package/lib/pages/admin-dashboard/extension-admin.d.ts.map +1 -1
  225. package/lib/pages/admin-dashboard/extension-admin.js +20 -18
  226. package/lib/pages/admin-dashboard/extension-admin.js.map +1 -1
  227. package/lib/pages/admin-dashboard/extension-remove-dialog.d.ts.map +1 -1
  228. package/lib/pages/admin-dashboard/extension-remove-dialog.js +13 -31
  229. package/lib/pages/admin-dashboard/extension-remove-dialog.js.map +1 -1
  230. package/lib/pages/admin-dashboard/extension-version-container.d.ts.map +1 -1
  231. package/lib/pages/admin-dashboard/extension-version-container.js +26 -53
  232. package/lib/pages/admin-dashboard/extension-version-container.js.map +1 -1
  233. package/lib/pages/admin-dashboard/logs/logs.d.ts +15 -0
  234. package/lib/pages/admin-dashboard/logs/logs.d.ts.map +1 -0
  235. package/lib/pages/admin-dashboard/logs/logs.js +133 -0
  236. package/lib/pages/admin-dashboard/logs/logs.js.map +1 -0
  237. package/lib/pages/admin-dashboard/namespace-admin.d.ts.map +1 -1
  238. package/lib/pages/admin-dashboard/namespace-admin.js +14 -22
  239. package/lib/pages/admin-dashboard/namespace-admin.js.map +1 -1
  240. package/lib/pages/admin-dashboard/namespace-change-dialog.d.ts.map +1 -1
  241. package/lib/pages/admin-dashboard/namespace-change-dialog.js +14 -24
  242. package/lib/pages/admin-dashboard/namespace-change-dialog.js.map +1 -1
  243. package/lib/pages/admin-dashboard/namespace-input.d.ts +1 -0
  244. package/lib/pages/admin-dashboard/namespace-input.d.ts.map +1 -1
  245. package/lib/pages/admin-dashboard/namespace-input.js +17 -19
  246. package/lib/pages/admin-dashboard/namespace-input.js.map +1 -1
  247. package/lib/pages/admin-dashboard/publisher-admin.d.ts +2 -2
  248. package/lib/pages/admin-dashboard/publisher-admin.d.ts.map +1 -1
  249. package/lib/pages/admin-dashboard/publisher-admin.js +18 -22
  250. package/lib/pages/admin-dashboard/publisher-admin.js.map +1 -1
  251. package/lib/pages/admin-dashboard/publisher-details.d.ts.map +1 -1
  252. package/lib/pages/admin-dashboard/publisher-details.js +5 -28
  253. package/lib/pages/admin-dashboard/publisher-details.js.map +1 -1
  254. package/lib/pages/admin-dashboard/publisher-revoke-dialog.d.ts.map +1 -1
  255. package/lib/pages/admin-dashboard/publisher-revoke-dialog.js +22 -51
  256. package/lib/pages/admin-dashboard/publisher-revoke-dialog.js.map +1 -1
  257. package/lib/pages/admin-dashboard/publisher-revoke-tokens-button.d.ts.map +1 -1
  258. package/lib/pages/admin-dashboard/publisher-revoke-tokens-button.js +12 -12
  259. package/lib/pages/admin-dashboard/publisher-revoke-tokens-button.js.map +1 -1
  260. package/lib/pages/admin-dashboard/scan-admin.d.ts.map +1 -1
  261. package/lib/pages/admin-dashboard/scan-admin.js +5 -32
  262. package/lib/pages/admin-dashboard/scan-admin.js.map +1 -1
  263. package/lib/pages/admin-dashboard/search-list-container.d.ts.map +1 -1
  264. package/lib/pages/admin-dashboard/search-list-container.js +4 -19
  265. package/lib/pages/admin-dashboard/search-list-container.js.map +1 -1
  266. package/lib/pages/admin-dashboard/tiers/delete-tier-dialog.d.ts +23 -0
  267. package/lib/pages/admin-dashboard/tiers/delete-tier-dialog.d.ts.map +1 -0
  268. package/lib/pages/admin-dashboard/tiers/delete-tier-dialog.js +45 -0
  269. package/lib/pages/admin-dashboard/tiers/delete-tier-dialog.js.map +1 -0
  270. package/lib/pages/admin-dashboard/tiers/tier-form-dialog.d.ts +23 -0
  271. package/lib/pages/admin-dashboard/tiers/tier-form-dialog.d.ts.map +1 -0
  272. package/lib/pages/admin-dashboard/tiers/tier-form-dialog.js +174 -0
  273. package/lib/pages/admin-dashboard/tiers/tier-form-dialog.js.map +1 -0
  274. package/lib/pages/admin-dashboard/tiers/tiers.d.ts +15 -0
  275. package/lib/pages/admin-dashboard/tiers/tiers.d.ts.map +1 -0
  276. package/lib/pages/admin-dashboard/tiers/tiers.js +159 -0
  277. package/lib/pages/admin-dashboard/tiers/tiers.js.map +1 -0
  278. package/lib/pages/admin-dashboard/usage-stats/usage-stats-chart.d.ts +23 -0
  279. package/lib/pages/admin-dashboard/usage-stats/usage-stats-chart.d.ts.map +1 -0
  280. package/lib/pages/admin-dashboard/usage-stats/usage-stats-chart.js +87 -0
  281. package/lib/pages/admin-dashboard/usage-stats/usage-stats-chart.js.map +1 -0
  282. package/lib/pages/admin-dashboard/usage-stats/usage-stats-search.d.ts +26 -0
  283. package/lib/pages/admin-dashboard/usage-stats/usage-stats-search.d.ts.map +1 -0
  284. package/lib/pages/admin-dashboard/usage-stats/usage-stats-search.js +35 -0
  285. package/lib/pages/admin-dashboard/usage-stats/usage-stats-search.js.map +1 -0
  286. package/lib/pages/admin-dashboard/usage-stats/usage-stats-utils.d.ts +14 -0
  287. package/lib/pages/admin-dashboard/usage-stats/usage-stats-utils.d.ts.map +1 -0
  288. package/lib/pages/admin-dashboard/usage-stats/usage-stats-utils.js +16 -0
  289. package/lib/pages/admin-dashboard/usage-stats/usage-stats-utils.js.map +1 -0
  290. package/lib/pages/admin-dashboard/usage-stats/usage-stats.d.ts +15 -0
  291. package/lib/pages/admin-dashboard/usage-stats/usage-stats.d.ts.map +1 -0
  292. package/lib/pages/admin-dashboard/usage-stats/usage-stats.js +102 -0
  293. package/lib/pages/admin-dashboard/usage-stats/usage-stats.js.map +1 -0
  294. package/lib/pages/admin-dashboard/welcome.d.ts.map +1 -1
  295. package/lib/pages/admin-dashboard/welcome.js +3 -27
  296. package/lib/pages/admin-dashboard/welcome.js.map +1 -1
  297. package/lib/pages/extension-detail/extension-detail-changes.d.ts.map +1 -1
  298. package/lib/pages/extension-detail/extension-detail-changes.js +27 -33
  299. package/lib/pages/extension-detail/extension-detail-changes.js.map +1 -1
  300. package/lib/pages/extension-detail/extension-detail-downloads-menu.d.ts.map +1 -1
  301. package/lib/pages/extension-detail/extension-detail-downloads-menu.js +6 -9
  302. package/lib/pages/extension-detail/extension-detail-downloads-menu.js.map +1 -1
  303. package/lib/pages/extension-detail/extension-detail-overview.d.ts.map +1 -1
  304. package/lib/pages/extension-detail/extension-detail-overview.js +66 -133
  305. package/lib/pages/extension-detail/extension-detail-overview.js.map +1 -1
  306. package/lib/pages/extension-detail/extension-detail-reviews.d.ts.map +1 -1
  307. package/lib/pages/extension-detail/extension-detail-reviews.js +53 -75
  308. package/lib/pages/extension-detail/extension-detail-reviews.js.map +1 -1
  309. package/lib/pages/extension-detail/extension-detail.d.ts.map +1 -1
  310. package/lib/pages/extension-detail/extension-detail.js +56 -129
  311. package/lib/pages/extension-detail/extension-detail.js.map +1 -1
  312. package/lib/pages/extension-detail/extension-rating-star-setter.d.ts.map +1 -1
  313. package/lib/pages/extension-detail/extension-rating-star-setter.js +4 -3
  314. package/lib/pages/extension-detail/extension-rating-star-setter.js.map +1 -1
  315. package/lib/pages/extension-detail/extension-rating-stars.d.ts.map +1 -1
  316. package/lib/pages/extension-detail/extension-rating-stars.js +5 -16
  317. package/lib/pages/extension-detail/extension-rating-stars.js.map +1 -1
  318. package/lib/pages/extension-detail/extension-review-dialog.d.ts.map +1 -1
  319. package/lib/pages/extension-detail/extension-review-dialog.js +15 -28
  320. package/lib/pages/extension-detail/extension-review-dialog.js.map +1 -1
  321. package/lib/pages/extension-list/extension-list-container.d.ts.map +1 -1
  322. package/lib/pages/extension-list/extension-list-container.js +3 -4
  323. package/lib/pages/extension-list/extension-list-container.js.map +1 -1
  324. package/lib/pages/extension-list/extension-list-header.d.ts.map +1 -1
  325. package/lib/pages/extension-list/extension-list-header.js +55 -74
  326. package/lib/pages/extension-list/extension-list-header.js.map +1 -1
  327. package/lib/pages/extension-list/extension-list-item.d.ts.map +1 -1
  328. package/lib/pages/extension-list/extension-list-item.js +13 -29
  329. package/lib/pages/extension-list/extension-list-item.js.map +1 -1
  330. package/lib/pages/extension-list/extension-list-searchfield.d.ts.map +1 -1
  331. package/lib/pages/extension-list/extension-list-searchfield.js +17 -20
  332. package/lib/pages/extension-list/extension-list-searchfield.js.map +1 -1
  333. package/lib/pages/extension-list/extension-list.d.ts.map +1 -1
  334. package/lib/pages/extension-list/extension-list.js +15 -19
  335. package/lib/pages/extension-list/extension-list.js.map +1 -1
  336. package/lib/pages/namespace-detail/namespace-detail.d.ts.map +1 -1
  337. package/lib/pages/namespace-detail/namespace-detail.js +50 -87
  338. package/lib/pages/namespace-detail/namespace-detail.js.map +1 -1
  339. package/lib/pages/user/add-namespace-member-dialog.d.ts.map +1 -1
  340. package/lib/pages/user/add-namespace-member-dialog.js +27 -40
  341. package/lib/pages/user/add-namespace-member-dialog.js.map +1 -1
  342. package/lib/pages/user/avatar.d.ts.map +1 -1
  343. package/lib/pages/user/avatar.js +12 -28
  344. package/lib/pages/user/avatar.js.map +1 -1
  345. package/lib/pages/user/create-namespace-dialog.d.ts.map +1 -1
  346. package/lib/pages/user/create-namespace-dialog.js +12 -20
  347. package/lib/pages/user/create-namespace-dialog.js.map +1 -1
  348. package/lib/pages/user/generate-token-dialog.d.ts.map +1 -1
  349. package/lib/pages/user/generate-token-dialog.js +18 -31
  350. package/lib/pages/user/generate-token-dialog.js.map +1 -1
  351. package/lib/pages/user/logout.d.ts +3 -2
  352. package/lib/pages/user/logout.d.ts.map +1 -1
  353. package/lib/pages/user/logout.js +15 -15
  354. package/lib/pages/user/logout.js.map +1 -1
  355. package/lib/pages/user/publish-extension-dialog.d.ts.map +1 -1
  356. package/lib/pages/user/publish-extension-dialog.js +25 -46
  357. package/lib/pages/user/publish-extension-dialog.js.map +1 -1
  358. package/lib/pages/user/user-extension-list.d.ts.map +1 -1
  359. package/lib/pages/user/user-extension-list.js +5 -16
  360. package/lib/pages/user/user-extension-list.js.map +1 -1
  361. package/lib/pages/user/user-namespace-details.d.ts.map +1 -1
  362. package/lib/pages/user/user-namespace-details.js +53 -136
  363. package/lib/pages/user/user-namespace-details.js.map +1 -1
  364. package/lib/pages/user/user-namespace-extension-list-item.d.ts.map +1 -1
  365. package/lib/pages/user/user-namespace-extension-list-item.js +14 -39
  366. package/lib/pages/user/user-namespace-extension-list-item.js.map +1 -1
  367. package/lib/pages/user/user-namespace-extension-list.d.ts.map +1 -1
  368. package/lib/pages/user/user-namespace-extension-list.js +14 -15
  369. package/lib/pages/user/user-namespace-extension-list.js.map +1 -1
  370. package/lib/pages/user/user-namespace-member-component.d.ts.map +1 -1
  371. package/lib/pages/user/user-namespace-member-component.js +24 -34
  372. package/lib/pages/user/user-namespace-member-component.js.map +1 -1
  373. package/lib/pages/user/user-namespace-member-list.d.ts.map +1 -1
  374. package/lib/pages/user/user-namespace-member-list.js +20 -24
  375. package/lib/pages/user/user-namespace-member-list.js.map +1 -1
  376. package/lib/pages/user/user-publisher-agreement.d.ts.map +1 -1
  377. package/lib/pages/user/user-publisher-agreement.js +21 -52
  378. package/lib/pages/user/user-publisher-agreement.js.map +1 -1
  379. package/lib/pages/user/user-setting-tabs.d.ts.map +1 -1
  380. package/lib/pages/user/user-setting-tabs.js +2 -15
  381. package/lib/pages/user/user-setting-tabs.js.map +1 -1
  382. package/lib/pages/user/user-settings-delete-extension.d.ts.map +1 -1
  383. package/lib/pages/user/user-settings-delete-extension.js +14 -15
  384. package/lib/pages/user/user-settings-delete-extension.js.map +1 -1
  385. package/lib/pages/user/user-settings-extensions.d.ts.map +1 -1
  386. package/lib/pages/user/user-settings-extensions.js +22 -30
  387. package/lib/pages/user/user-settings-extensions.js.map +1 -1
  388. package/lib/pages/user/user-settings-namespace-detail.d.ts +2 -2
  389. package/lib/pages/user/user-settings-namespace-detail.d.ts.map +1 -1
  390. package/lib/pages/user/user-settings-namespace-detail.js +27 -45
  391. package/lib/pages/user/user-settings-namespace-detail.js.map +1 -1
  392. package/lib/pages/user/user-settings-namespaces.d.ts.map +1 -1
  393. package/lib/pages/user/user-settings-namespaces.js +33 -46
  394. package/lib/pages/user/user-settings-namespaces.js.map +1 -1
  395. package/lib/pages/user/user-settings-profile.d.ts.map +1 -1
  396. package/lib/pages/user/user-settings-profile.js +10 -29
  397. package/lib/pages/user/user-settings-profile.js.map +1 -1
  398. package/lib/pages/user/user-settings-tokens.d.ts.map +1 -1
  399. package/lib/pages/user/user-settings-tokens.js +24 -62
  400. package/lib/pages/user/user-settings-tokens.js.map +1 -1
  401. package/lib/pages/user/user-settings.d.ts.map +1 -1
  402. package/lib/pages/user/user-settings.js +18 -35
  403. package/lib/pages/user/user-settings.js.map +1 -1
  404. package/lib/server-request.d.ts +1 -1
  405. package/lib/server-request.d.ts.map +1 -1
  406. package/lib/server-request.js +10 -6
  407. package/lib/server-request.js.map +1 -1
  408. package/lib/utils.d.ts.map +1 -1
  409. package/lib/utils.js +48 -20
  410. package/lib/utils.js.map +1 -1
  411. package/package.json +44 -38
  412. package/src/components/banner.tsx +1 -1
  413. package/src/components/button-with-progress.tsx +1 -1
  414. package/src/components/copy-to-clipboard.tsx +2 -1
  415. package/src/components/delayed-load-indicator.tsx +2 -2
  416. package/src/components/error-dialog.tsx +1 -1
  417. package/src/components/hover-popover.tsx +1 -1
  418. package/src/components/info-dialog.tsx +1 -1
  419. package/src/components/sanitized-markdown.tsx +1 -1
  420. package/src/components/scan-admin/common/auto-refresh.tsx +1 -1
  421. package/src/components/scan-admin/common/conditional-tooltip.tsx +3 -3
  422. package/src/components/scan-admin/common/file-table.tsx +1 -1
  423. package/src/components/scan-admin/common/tab-panel.tsx +1 -1
  424. package/src/components/scan-admin/dialogs/file-dialog.tsx +1 -1
  425. package/src/components/scan-admin/dialogs/quarantine-dialog.tsx +1 -1
  426. package/src/components/scan-admin/scan-card/scan-card-content.tsx +380 -408
  427. package/src/components/scan-admin/scan-card/scan-card-expand-strip-badges.tsx +2 -2
  428. package/src/components/scan-admin/scan-card/scan-card-expand-strip.tsx +2 -2
  429. package/src/components/scan-admin/scan-card/scan-card-expanded-content.tsx +2 -2
  430. package/src/components/scan-admin/scan-card/scan-card-header.tsx +37 -8
  431. package/src/components/scan-admin/scan-card/scan-card.tsx +5 -5
  432. package/src/components/scan-admin/scan-card/scan-detail-card.tsx +1 -1
  433. package/src/components/scan-admin/tab-contents/allow-list-tab-content.tsx +1 -1
  434. package/src/components/scan-admin/tab-contents/auto-rejected-tab-content.tsx +1 -1
  435. package/src/components/scan-admin/tab-contents/block-list-tab-content.tsx +1 -1
  436. package/src/components/scan-admin/tab-contents/quarantined-tab-content.tsx +1 -1
  437. package/src/components/scan-admin/tab-contents/scans-tab-content.tsx +1 -1
  438. package/src/components/scan-admin/toolbars/counts-toolbar.tsx +1 -1
  439. package/src/components/scan-admin/toolbars/search-toolbar.tsx +6 -6
  440. package/src/components/scan-admin/toolbars/tab-toolbar.tsx +1 -1
  441. package/src/components/sidepanel/navigation-item.tsx +1 -1
  442. package/src/components/sidepanel/sidepanel.tsx +1 -1
  443. package/src/components/text-divider.tsx +1 -1
  444. package/src/components/timestamp.tsx +1 -1
  445. package/src/context/scan-admin/scan-actions.ts +8 -7
  446. package/src/context/scan-admin/scan-api-actions.ts +5 -4
  447. package/src/context/scan-admin/scan-api-effects.ts +12 -11
  448. package/src/context/scan-admin/scan-context-types.ts +9 -9
  449. package/src/context/scan-admin/scan-context.tsx +2 -2
  450. package/src/default/about.tsx +1 -1
  451. package/src/default/default-app.tsx +1 -1
  452. package/src/default/login.tsx +2 -1
  453. package/src/default/menu-content.tsx +70 -96
  454. package/src/default/openvsx-registry-logo.tsx +1 -1
  455. package/src/default/page-settings.tsx +1 -1
  456. package/src/default/server.ts +1 -1
  457. package/src/extension-registry-service.ts +180 -2
  458. package/src/extension-registry-types.ts +68 -0
  459. package/src/header-menu.tsx +1 -1
  460. package/src/hooks/scan-admin/use-dialogs.ts +1 -1
  461. package/src/hooks/scan-admin/use-quarantined-tab.ts +2 -3
  462. package/src/hooks/scan-admin/use-query-params-state.ts +55 -0
  463. package/src/hooks/scan-admin/use-scan-card-state.ts +3 -2
  464. package/src/hooks/scan-admin/use-url-sync.ts +1 -1
  465. package/src/main.tsx +1 -1
  466. package/src/not-found.tsx +1 -1
  467. package/src/other-pages.tsx +1 -1
  468. package/src/pages/admin-dashboard/admin-dashboard.tsx +52 -3
  469. package/src/pages/admin-dashboard/components/data-grid-filter-operators.tsx +127 -0
  470. package/src/pages/admin-dashboard/components/index.ts +18 -0
  471. package/src/pages/admin-dashboard/customers/customer-form-dialog.tsx +347 -0
  472. package/src/pages/admin-dashboard/customers/customers.tsx +278 -0
  473. package/src/pages/admin-dashboard/customers/delete-customer-dialog.tsx +93 -0
  474. package/src/pages/admin-dashboard/extension-admin.tsx +5 -3
  475. package/src/pages/admin-dashboard/extension-remove-dialog.tsx +1 -1
  476. package/src/pages/admin-dashboard/extension-version-container.tsx +1 -1
  477. package/src/pages/admin-dashboard/logs/logs.tsx +213 -0
  478. package/src/pages/admin-dashboard/namespace-admin.tsx +1 -1
  479. package/src/pages/admin-dashboard/namespace-change-dialog.tsx +1 -1
  480. package/src/pages/admin-dashboard/namespace-input.tsx +4 -2
  481. package/src/pages/admin-dashboard/publisher-admin.tsx +5 -5
  482. package/src/pages/admin-dashboard/publisher-details.tsx +1 -1
  483. package/src/pages/admin-dashboard/publisher-revoke-dialog.tsx +1 -1
  484. package/src/pages/admin-dashboard/publisher-revoke-tokens-button.tsx +1 -1
  485. package/src/pages/admin-dashboard/scan-admin.tsx +3 -2
  486. package/src/pages/admin-dashboard/search-list-container.tsx +1 -1
  487. package/src/pages/admin-dashboard/tiers/delete-tier-dialog.tsx +83 -0
  488. package/src/pages/admin-dashboard/tiers/tier-form-dialog.tsx +373 -0
  489. package/src/pages/admin-dashboard/tiers/tiers.tsx +254 -0
  490. package/src/pages/admin-dashboard/usage-stats/usage-stats-chart.tsx +189 -0
  491. package/src/pages/admin-dashboard/usage-stats/usage-stats-search.tsx +83 -0
  492. package/src/pages/admin-dashboard/usage-stats/usage-stats-utils.ts +16 -0
  493. package/src/pages/admin-dashboard/usage-stats/usage-stats.tsx +127 -0
  494. package/src/pages/admin-dashboard/welcome.tsx +5 -1
  495. package/src/pages/extension-detail/extension-detail-changes.tsx +1 -1
  496. package/src/pages/extension-detail/extension-detail-downloads-menu.tsx +1 -1
  497. package/src/pages/extension-detail/extension-detail-overview.tsx +17 -3
  498. package/src/pages/extension-detail/extension-detail-reviews.tsx +53 -41
  499. package/src/pages/extension-detail/extension-detail.tsx +0 -1
  500. package/src/pages/extension-detail/extension-rating-star-setter.tsx +1 -1
  501. package/src/pages/extension-detail/extension-rating-stars.tsx +2 -2
  502. package/src/pages/extension-detail/extension-review-dialog.tsx +1 -1
  503. package/src/pages/extension-list/extension-list-container.tsx +1 -1
  504. package/src/pages/extension-list/extension-list-header.tsx +1 -1
  505. package/src/pages/extension-list/extension-list-item.tsx +1 -1
  506. package/src/pages/extension-list/extension-list-searchfield.tsx +1 -1
  507. package/src/pages/extension-list/extension-list.tsx +2 -2
  508. package/src/pages/namespace-detail/namespace-detail.tsx +1 -1
  509. package/src/pages/user/add-namespace-member-dialog.tsx +1 -1
  510. package/src/pages/user/avatar.tsx +31 -36
  511. package/src/pages/user/create-namespace-dialog.tsx +1 -1
  512. package/src/pages/user/generate-token-dialog.tsx +1 -1
  513. package/src/pages/user/logout.tsx +6 -4
  514. package/src/pages/user/publish-extension-dialog.tsx +1 -1
  515. package/src/pages/user/user-extension-list.tsx +1 -1
  516. package/src/pages/user/user-namespace-details.tsx +1 -1
  517. package/src/pages/user/user-namespace-extension-list-item.tsx +2 -1
  518. package/src/pages/user/user-namespace-extension-list.tsx +1 -1
  519. package/src/pages/user/user-namespace-member-component.tsx +1 -1
  520. package/src/pages/user/user-namespace-member-list.tsx +1 -1
  521. package/src/pages/user/user-publisher-agreement.tsx +1 -1
  522. package/src/pages/user/user-setting-tabs.tsx +1 -1
  523. package/src/pages/user/user-settings-delete-extension.tsx +1 -1
  524. package/src/pages/user/user-settings-extensions.tsx +2 -2
  525. package/src/pages/user/user-settings-namespace-detail.tsx +1 -1
  526. package/src/pages/user/user-settings-namespaces.tsx +1 -1
  527. package/src/pages/user/user-settings-profile.tsx +1 -1
  528. package/src/pages/user/user-settings-tokens.tsx +3 -4
  529. package/src/pages/user/user-settings.tsx +1 -1
  530. package/src/server-request.ts +8 -4
  531. package/src/utils.ts +39 -16
  532. package/lib/default/server.d.ts +0 -11
  533. package/lib/default/server.d.ts.map +0 -1
  534. package/lib/default/server.js +0 -50
  535. package/lib/default/server.js.map +0 -1
@@ -11,7 +11,7 @@
11
11
  * SPDX-License-Identifier: EPL-2.0
12
12
  ********************************************************************************/
13
13
 
14
- import React, { useRef, useEffect, useState, useLayoutEffect } from 'react';
14
+ import { useRef, useEffect, useState, useLayoutEffect, FC } from 'react';
15
15
  import { Box, Chip, Typography } from '@mui/material';
16
16
  import { useTheme, alpha } from '@mui/material/styles';
17
17
  import { DetailBadge } from './utils';
@@ -26,7 +26,7 @@ interface ScanCardExpandStripBadgesProps {
26
26
  * Renders badges with overflow handling - shows as many badges as fit
27
27
  * within the available width, plus a "+ X more" indicator for hidden badges.
28
28
  */
29
- export const ScanCardExpandStripBadges: React.FC<ScanCardExpandStripBadgesProps> = ({
29
+ export const ScanCardExpandStripBadges: FC<ScanCardExpandStripBadgesProps> = ({
30
30
  badges,
31
31
  containerWidth,
32
32
  maxWidthPercent = 0.45,
@@ -11,7 +11,7 @@
11
11
  * SPDX-License-Identifier: EPL-2.0
12
12
  ********************************************************************************/
13
13
 
14
- import React, { useRef, useEffect, useState } from 'react';
14
+ import { useRef, useEffect, useState, FC } from 'react';
15
15
  import { Box } from '@mui/material';
16
16
  import { ExpandMore as ExpandMoreIcon } from '@mui/icons-material';
17
17
  import { useTheme } from '@mui/material/styles';
@@ -29,7 +29,7 @@ interface ScanCardExpandStripProps {
29
29
  * Expandable strip at the bottom of the card
30
30
  * Shows validationFailure/threat badges (click to expand/show detail cards)
31
31
  */
32
- export const ScanCardExpandStrip: React.FC<ScanCardExpandStripProps> = ({
32
+ export const ScanCardExpandStrip: FC<ScanCardExpandStripProps> = ({
33
33
  expanded,
34
34
  onExpandClick,
35
35
  badges,
@@ -11,7 +11,7 @@
11
11
  * SPDX-License-Identifier: EPL-2.0
12
12
  ********************************************************************************/
13
13
 
14
- import React from 'react';
14
+ import { FC } from "react";
15
15
  import { Box, Typography, Collapse, Chip } from '@mui/material';
16
16
  import { useTheme, Theme } from '@mui/material/styles';
17
17
  import { ScanResult, Threat, ValidationFailure, CheckResult } from '../../../context/scan-admin';
@@ -39,7 +39,7 @@ interface CheckResultItemProps {
39
39
  /**
40
40
  * A single threat item in the expanded content.
41
41
  */
42
- const ThreatItem: React.FC<ThreatItemProps> = ({ threat }) => {
42
+ const ThreatItem: FC<ThreatItemProps> = ({ threat }) => {
43
43
  const theme = useTheme();
44
44
 
45
45
  return (
@@ -11,9 +11,10 @@
11
11
  * SPDX-License-Identifier: EPL-2.0
12
12
  ********************************************************************************/
13
13
 
14
- import React, { useState } from 'react';
15
- import { Box, Typography, Chip, CircularProgress } from '@mui/material';
14
+ import { FC, useState } from 'react';
15
+ import { Box, Typography, Chip, CircularProgress, Link } from '@mui/material';
16
16
  import {
17
+ AdminPanelSettings as AdminPanelIcon,
17
18
  CheckCircle as CheckCircleIcon,
18
19
  GppMaybe as WarningIcon,
19
20
  Block as BlockIcon,
@@ -30,6 +31,9 @@ import {
30
31
  getHypotheticalStatus,
31
32
  getStatusColorSx,
32
33
  } from './utils';
34
+ import { createRoute } from '../../../utils';
35
+ import { AdminDashboardRoutes } from '../../../pages/admin-dashboard/admin-dashboard';
36
+ import { ExtensionDetailRoutes } from '../../../pages/extension-detail/extension-detail';
33
37
 
34
38
  interface ScanCardHeaderProps {
35
39
  scan: ScanResult;
@@ -56,11 +60,17 @@ const getStatusIcon = (status: ScanResult['status']) => {
56
60
  * - Display name and namespace
57
61
  * - Status badge
58
62
  */
59
- export const ScanCardHeader: React.FC<ScanCardHeaderProps> = ({ scan }) => {
63
+ export const ScanCardHeader: FC<ScanCardHeaderProps> = ({ scan }) => {
60
64
  const theme = useTheme();
61
65
  const [imageError, setImageError] = useState(false);
62
66
 
63
67
  const hasValidIcon = scan.extensionIcon && !imageError;
68
+ const extensionRoute = createRoute([ExtensionDetailRoutes.ROOT, scan.namespace, scan.extensionName]);
69
+ const adminRoute = createRoute([AdminDashboardRoutes.ROOT, 'extensions'],
70
+ [
71
+ { key: "namespace", value: scan.namespace },
72
+ { key: "extension", value: scan.extensionName }
73
+ ]);
64
74
 
65
75
  return (
66
76
  <>
@@ -97,8 +107,8 @@ export const ScanCardHeader: React.FC<ScanCardHeaderProps> = ({ scan }) => {
97
107
  )}
98
108
  </Box>
99
109
 
100
- {/* Columns 2-4: Display Name and Namespace */}
101
- <Box sx={{ gridRow: '1', gridColumn: '2 / 5', minWidth: 0 }}>
110
+ {/* Columns 2-5: Display Name and Namespace */}
111
+ <Box sx={{ gridRow: '1', gridColumn: 'span 4', minWidth: 0 }}>
102
112
  <ConditionalTooltip title={scan.displayName} arrow>
103
113
  <Typography
104
114
  variant='h6'
@@ -122,15 +132,34 @@ export const ScanCardHeader: React.FC<ScanCardHeaderProps> = ({ scan }) => {
122
132
  whiteSpace: 'nowrap',
123
133
  }}
124
134
  >
125
- {scan.namespace}.{scan.extensionName}
135
+ <Link
136
+ href={extensionRoute || undefined}
137
+ rel='noopener noreferrer'
138
+ variant='body2'
139
+ >
140
+ {scan.namespace}.{scan.extensionName}
141
+ </Link>
142
+
143
+ {adminRoute !== undefined &&
144
+ <Link
145
+ href={adminRoute}
146
+ rel='noopener noreferrer'
147
+ variant='body2'
148
+ >
149
+ <AdminPanelIcon sx={{
150
+ verticalAlign: 'bottom',
151
+ ml: '3px'
152
+ }} />
153
+ </Link>
154
+ }
126
155
  </Typography>
127
156
  </ConditionalTooltip>
128
157
  </Box>
129
158
 
130
- {/* Column 5: Status Badge */}
159
+ {/* Column 6: Status Badge */}
131
160
  <Box sx={{
132
161
  gridRow: '1',
133
- gridColumn: '5',
162
+ gridColumn: '6',
134
163
  display: 'flex',
135
164
  flexDirection: 'column',
136
165
  alignItems: 'flex-end',
@@ -11,7 +11,7 @@
11
11
  * SPDX-License-Identifier: EPL-2.0
12
12
  ********************************************************************************/
13
13
 
14
- import React, { FunctionComponent } from 'react';
14
+ import { FunctionComponent, useState, useEffect } from 'react';
15
15
  import { Card, CardContent, Box } from '@mui/material';
16
16
  import { useTheme } from '@mui/material/styles';
17
17
  import { ScanResult } from '../../../context/scan-admin';
@@ -52,7 +52,7 @@ export const ScanCard: FunctionComponent<ScanCardProps> = ({
52
52
  checked,
53
53
  }) => {
54
54
  const theme = useTheme();
55
- const [collapseComplete, setCollapseComplete] = React.useState(true);
55
+ const [collapseComplete, setCollapseComplete] = useState(true);
56
56
  const {
57
57
  expanded,
58
58
  handleExpandClick,
@@ -63,7 +63,7 @@ export const ScanCard: FunctionComponent<ScanCardProps> = ({
63
63
  } = useScanCardState(scan);
64
64
 
65
65
  // Reset collapseComplete when expanding
66
- React.useEffect(() => {
66
+ useEffect(() => {
67
67
  if (expanded) {
68
68
  setCollapseComplete(false);
69
69
  }
@@ -110,10 +110,10 @@ export const ScanCard: FunctionComponent<ScanCardProps> = ({
110
110
  '&:last-child': { pb: showExpandButton ? 0 : 5 },
111
111
  }}
112
112
  >
113
- {/* 3 Row x 5 Column Grid Layout */}
113
+ {/* 3 Row x 6 Column Grid Layout */}
114
114
  <Box sx={{
115
115
  display: 'grid',
116
- gridTemplateColumns: `${ICON_SIZE}px 1fr 1fr 1fr 180px`,
116
+ gridTemplateColumns: `${ICON_SIZE}px 1fr 1fr 1fr 1fr 180px`,
117
117
  gridTemplateRows: 'auto auto auto',
118
118
  gap: 2,
119
119
  alignItems: 'start',
@@ -11,7 +11,7 @@
11
11
  * SPDX-License-Identifier: EPL-2.0
12
12
  ********************************************************************************/
13
13
 
14
- import React, { FunctionComponent, ReactNode } from 'react';
14
+ import { FunctionComponent, ReactNode } from 'react';
15
15
  import { Box, Typography, Chip } from '@mui/material';
16
16
  import { Info as InfoIcon } from '@mui/icons-material';
17
17
  import { useTheme } from '@mui/material/styles';
@@ -11,7 +11,7 @@
11
11
  * SPDX-License-Identifier: EPL-2.0
12
12
  ********************************************************************************/
13
13
 
14
- import React, { FunctionComponent } from 'react';
14
+ import { FunctionComponent } from 'react';
15
15
  import { Box, Typography, Pagination, CircularProgress } from '@mui/material';
16
16
  import { SearchToolbar, CountsToolbar } from '../toolbars';
17
17
  import { FileTable, AutoRefresh } from '../common';
@@ -11,7 +11,7 @@
11
11
  * SPDX-License-Identifier: EPL-2.0
12
12
  ********************************************************************************/
13
13
 
14
- import React, { FunctionComponent } from 'react';
14
+ import { FunctionComponent } from 'react';
15
15
  import { Box, Typography, Pagination, CircularProgress } from '@mui/material';
16
16
  import { ScanCard } from '../scan-card';
17
17
  import { SearchToolbar, CountsToolbar } from '../toolbars';
@@ -11,7 +11,7 @@
11
11
  * SPDX-License-Identifier: EPL-2.0
12
12
  ********************************************************************************/
13
13
 
14
- import React, { FunctionComponent } from 'react';
14
+ import { FunctionComponent } from 'react';
15
15
  import { Box, Typography, Pagination, CircularProgress } from '@mui/material';
16
16
  import { SearchToolbar, CountsToolbar } from '../toolbars';
17
17
  import { FileTable, AutoRefresh } from '../common';
@@ -11,7 +11,7 @@
11
11
  * SPDX-License-Identifier: EPL-2.0
12
12
  ********************************************************************************/
13
13
 
14
- import React, { FunctionComponent } from 'react';
14
+ import { FunctionComponent } from 'react';
15
15
  import { Box, Typography, Pagination, CircularProgress } from '@mui/material';
16
16
  import { ScanCard } from '../scan-card';
17
17
  import { SearchToolbar, CountsToolbar } from '../toolbars';
@@ -11,7 +11,7 @@
11
11
  * SPDX-License-Identifier: EPL-2.0
12
12
  ********************************************************************************/
13
13
 
14
- import React, { FunctionComponent } from 'react';
14
+ import { FunctionComponent } from 'react';
15
15
  import { Box, Typography, Pagination, CircularProgress } from '@mui/material';
16
16
  import { ScanCard } from '../scan-card';
17
17
  import { SearchToolbar, CountsToolbar } from '../toolbars';
@@ -11,7 +11,7 @@
11
11
  * SPDX-License-Identifier: EPL-2.0
12
12
  ********************************************************************************/
13
13
 
14
- import React, { FunctionComponent, useState } from 'react';
14
+ import { FunctionComponent, useState } from 'react';
15
15
  import { Box, Typography, Button, Checkbox, FormControlLabel, Select, MenuItem, SelectChangeEvent, ToggleButtonGroup, ToggleButton, Menu, Badge } from '@mui/material';
16
16
  import { FilterList as FilterListIcon } from '@mui/icons-material';
17
17
  import { useTheme } from '@mui/material/styles';
@@ -11,10 +11,10 @@
11
11
  * SPDX-License-Identifier: EPL-2.0
12
12
  ********************************************************************************/
13
13
 
14
- import React, { FunctionComponent } from 'react';
15
- import { Box, Typography, TextField, InputAdornment, Button, Checkbox, FormControlLabel } from '@mui/material';
14
+ import type { ChangeEvent } from 'react';
15
+ import { FunctionComponent } from 'react';
16
+ import { Box, Typography, TextField, InputAdornment, Button, Checkbox, FormControlLabel, useTheme } from '@mui/material';
16
17
  import { CheckCircle as CheckCircleIcon, RadioButtonUnchecked as RadioButtonUncheckedIcon, PersonOutlined as PersonIcon, AccountTreeOutlined as AccountTreeIcon, ExtensionOutlined as ExtensionIcon } from '@mui/icons-material';
17
- import { useTheme } from '@mui/material/styles';
18
18
 
19
19
  interface FilterItem {
20
20
  label: string;
@@ -35,9 +35,9 @@ interface SearchToolbarProps {
35
35
  publisherQuery: string;
36
36
  namespaceQuery: string;
37
37
  nameQuery: string;
38
- onPublisherChange: (event: React.ChangeEvent<HTMLInputElement>) => void;
39
- onNamespaceChange: (event: React.ChangeEvent<HTMLInputElement>) => void;
40
- onNameChange: (event: React.ChangeEvent<HTMLInputElement>) => void;
38
+ onPublisherChange: (event: ChangeEvent<HTMLInputElement>) => void;
39
+ onNamespaceChange: (event: ChangeEvent<HTMLInputElement>) => void;
40
+ onNameChange: (event: ChangeEvent<HTMLInputElement>) => void;
41
41
 
42
42
  // Optional inline filters
43
43
  filters?: FilterItem[];
@@ -11,7 +11,7 @@
11
11
  * SPDX-License-Identifier: EPL-2.0
12
12
  ********************************************************************************/
13
13
 
14
- import React, { FunctionComponent } from 'react';
14
+ import { FunctionComponent } from 'react';
15
15
  import { Paper, Tabs, Tab } from '@mui/material';
16
16
 
17
17
  interface TabToolbarProps {
@@ -8,7 +8,7 @@
8
8
  * SPDX-License-Identifier: EPL-2.0
9
9
  ********************************************************************************/
10
10
 
11
- import React, { FunctionComponent, PropsWithChildren, ReactNode, useState } from 'react';
11
+ import { FunctionComponent, PropsWithChildren, ReactNode, useState } from 'react';
12
12
  import { ListItemButton, ListItemText, Collapse, List, ListItemIcon } from '@mui/material';
13
13
  import ExpandLess from '@mui/icons-material/ExpandLess';
14
14
  import { useNavigate } from 'react-router';
@@ -8,7 +8,7 @@
8
8
  * SPDX-License-Identifier: EPL-2.0
9
9
  ********************************************************************************/
10
10
 
11
- import React, { FunctionComponent, PropsWithChildren } from 'react';
11
+ import { FunctionComponent, PropsWithChildren } from 'react';
12
12
  import { Drawer, List } from '@mui/material';
13
13
  import { Theme } from '@mui/material/styles';
14
14
 
@@ -8,7 +8,7 @@
8
8
  * SPDX-License-Identifier: EPL-2.0
9
9
  ********************************************************************************/
10
10
 
11
- import React, { FunctionComponent } from 'react';
11
+ import { FunctionComponent } from 'react';
12
12
  import { Divider } from "@mui/material";
13
13
 
14
14
  export const TextDivider: FunctionComponent<TextDividerProps> = props => {
@@ -8,7 +8,7 @@
8
8
  * SPDX-License-Identifier: EPL-2.0
9
9
  ********************************************************************************/
10
10
 
11
- import React, { FunctionComponent } from 'react';
11
+ import { FunctionComponent } from 'react';
12
12
  import { Box } from '@mui/material';
13
13
  import { SxProps, Theme } from '@mui/material/styles';
14
14
  import { toRelativeTime, toLocalTime } from '../utils';
@@ -11,6 +11,7 @@
11
11
  * SPDX-License-Identifier: EPL-2.0
12
12
  ********************************************************************************/
13
13
 
14
+ import type { Dispatch, ChangeEvent, MouseEvent } from 'react';
14
15
  import { useMemo } from 'react';
15
16
  import { ScanAction, DateRangeType, EnforcementType, FileActionType, ScanResult } from './scan-types';
16
17
  import { ScanActions } from './scan-context-types';
@@ -23,7 +24,7 @@ import { ScanActions } from './scan-context-types';
23
24
  * Hook that creates memoized action creators for the scan context
24
25
  */
25
26
  export const useScanActions = (
26
- dispatch: React.Dispatch<ScanAction>,
27
+ dispatch: Dispatch<ScanAction>,
27
28
  executeConfirmAction: () => void,
28
29
  executeFileAction: () => void
29
30
  ): ScanActions => {
@@ -35,11 +36,11 @@ export const useScanActions = (
35
36
  setPublisherQuery: (query: string) => dispatch({ type: 'SET_PUBLISHER_QUERY', payload: query }),
36
37
  setNamespaceQuery: (query: string) => dispatch({ type: 'SET_NAMESPACE_QUERY', payload: query }),
37
38
  setNameQuery: (query: string) => dispatch({ type: 'SET_NAME_QUERY', payload: query }),
38
- handlePublisherChange: (event: React.ChangeEvent<HTMLInputElement>) =>
39
+ handlePublisherChange: (event: ChangeEvent<HTMLInputElement>) =>
39
40
  dispatch({ type: 'SET_PUBLISHER_QUERY', payload: event.target.value }),
40
- handleNamespaceChange: (event: React.ChangeEvent<HTMLInputElement>) =>
41
+ handleNamespaceChange: (event: ChangeEvent<HTMLInputElement>) =>
41
42
  dispatch({ type: 'SET_NAMESPACE_QUERY', payload: event.target.value }),
42
- handleNameChange: (event: React.ChangeEvent<HTMLInputElement>) =>
43
+ handleNameChange: (event: ChangeEvent<HTMLInputElement>) =>
43
44
  dispatch({ type: 'SET_NAME_QUERY', payload: event.target.value }),
44
45
 
45
46
  // Pagination
@@ -56,13 +57,13 @@ export const useScanActions = (
56
57
  toggleValidationTypeFilter: (type: string) => dispatch({ type: 'TOGGLE_VALIDATION_TYPE_FILTER', payload: type }),
57
58
 
58
59
  // Menu anchors
59
- openFilterMenu: (event: React.MouseEvent<HTMLElement>) =>
60
+ openFilterMenu: (event: MouseEvent<HTMLElement>) =>
60
61
  dispatch({ type: 'SET_FILTER_MENU_ANCHOR', payload: event.currentTarget }),
61
62
  closeFilterMenu: () => dispatch({ type: 'SET_FILTER_MENU_ANCHOR', payload: null }),
62
- openQuarantineFilterMenu: (event: React.MouseEvent<HTMLElement>) =>
63
+ openQuarantineFilterMenu: (event: MouseEvent<HTMLElement>) =>
63
64
  dispatch({ type: 'SET_QUARANTINE_FILTER_MENU_ANCHOR', payload: event.currentTarget }),
64
65
  closeQuarantineFilterMenu: () => dispatch({ type: 'SET_QUARANTINE_FILTER_MENU_ANCHOR', payload: null }),
65
- openAutoRejectedFilterMenu: (event: React.MouseEvent<HTMLElement>) =>
66
+ openAutoRejectedFilterMenu: (event: MouseEvent<HTMLElement>) =>
66
67
  dispatch({ type: 'SET_AUTO_REJECTED_FILTER_MENU_ANCHOR', payload: event.currentTarget }),
67
68
  closeAutoRejectedFilterMenu: () => dispatch({ type: 'SET_AUTO_REJECTED_FILTER_MENU_ANCHOR', payload: null }),
68
69
 
@@ -11,6 +11,7 @@
11
11
  * SPDX-License-Identifier: EPL-2.0
12
12
  ********************************************************************************/
13
13
 
14
+ import type { Dispatch, MutableRefObject } from 'react';
14
15
  import { useCallback } from 'react';
15
16
  import { ScanState, ScanAction } from './scan-types';
16
17
 
@@ -26,8 +27,8 @@ import { ScanState, ScanAction } from './scan-types';
26
27
  export const useConfirmAction = (
27
28
  service: any,
28
29
  state: ScanState,
29
- dispatch: React.Dispatch<ScanAction>,
30
- handleErrorRef: React.MutableRefObject<(error: any) => void>
30
+ dispatch: Dispatch<ScanAction>,
31
+ handleErrorRef: MutableRefObject<(error: any) => void>
31
32
  ) => {
32
33
  return useCallback(async () => {
33
34
  const abortController = new AbortController();
@@ -82,8 +83,8 @@ export const useConfirmAction = (
82
83
  export const useFileAction = (
83
84
  service: any,
84
85
  state: ScanState,
85
- dispatch: React.Dispatch<ScanAction>,
86
- handleErrorRef: React.MutableRefObject<(error: any) => void>
86
+ dispatch: Dispatch<ScanAction>,
87
+ handleErrorRef: MutableRefObject<(error: any) => void>
87
88
  ) => {
88
89
  return useCallback(async () => {
89
90
  const abortController = new AbortController();
@@ -11,6 +11,7 @@
11
11
  * SPDX-License-Identifier: EPL-2.0
12
12
  ********************************************************************************/
13
13
 
14
+ import type { Dispatch, MutableRefObject } from "react";
14
15
  import { useEffect } from 'react';
15
16
  import { ScanState, ScanAction, ScanResult } from './scan-types';
16
17
  import { getDateRangeParams, getFileDateRange } from './scan-helpers';
@@ -25,8 +26,8 @@ import { getDateRangeParams, getFileDateRange } from './scan-helpers';
25
26
  export const useFilterOptionsEffect = (
26
27
  service: any,
27
28
  state: ScanState,
28
- dispatch: React.Dispatch<ScanAction>,
29
- handleErrorRef: React.MutableRefObject<(error: any) => void>
29
+ dispatch: Dispatch<ScanAction>,
30
+ handleErrorRef: MutableRefObject<(error: any) => void>
30
31
  ) => {
31
32
  useEffect(() => {
32
33
  const abortController = new AbortController();
@@ -63,8 +64,8 @@ export const useFilterOptionsEffect = (
63
64
  export const useScansEffect = (
64
65
  service: any,
65
66
  state: ScanState,
66
- dispatch: React.Dispatch<ScanAction>,
67
- handleErrorRef: React.MutableRefObject<(error: any) => void>
67
+ dispatch: Dispatch<ScanAction>,
68
+ handleErrorRef: MutableRefObject<(error: any) => void>
68
69
  ) => {
69
70
  useEffect(() => {
70
71
  // Only fetch scans for tabs 0, 1, 2
@@ -263,8 +264,8 @@ export const useScansEffect = (
263
264
  export const useScanCountsEffect = (
264
265
  service: any,
265
266
  state: ScanState,
266
- dispatch: React.Dispatch<ScanAction>,
267
- handleErrorRef: React.MutableRefObject<(error: any) => void>
267
+ dispatch: Dispatch<ScanAction>,
268
+ handleErrorRef: MutableRefObject<(error: any) => void>
268
269
  ) => {
269
270
  useEffect(() => {
270
271
  const abortController = new AbortController();
@@ -340,8 +341,8 @@ export const useScanCountsEffect = (
340
341
  export const useFilesEffect = (
341
342
  service: any,
342
343
  state: ScanState,
343
- dispatch: React.Dispatch<ScanAction>,
344
- handleErrorRef: React.MutableRefObject<(error: any) => void>
344
+ dispatch: Dispatch<ScanAction>,
345
+ handleErrorRef: MutableRefObject<(error: any) => void>
345
346
  ) => {
346
347
  useEffect(() => {
347
348
  // Only fetch files for tabs 3 and 4
@@ -416,8 +417,8 @@ export const useFilesEffect = (
416
417
  export const useFileCountsEffect = (
417
418
  service: any,
418
419
  state: ScanState,
419
- dispatch: React.Dispatch<ScanAction>,
420
- handleErrorRef: React.MutableRefObject<(error: any) => void>
420
+ dispatch: Dispatch<ScanAction>,
421
+ handleErrorRef: MutableRefObject<(error: any) => void>
421
422
  ) => {
422
423
  useEffect(() => {
423
424
  // Only fetch file counts when on file tabs
@@ -468,7 +469,7 @@ export const useFileCountsEffect = (
468
469
  */
469
470
  export const useAutoRefreshEffect = (
470
471
  state: ScanState,
471
- dispatch: React.Dispatch<ScanAction>
472
+ dispatch: Dispatch<ScanAction>
472
473
  ) => {
473
474
  useEffect(() => {
474
475
  if (!state.autoRefresh) {
@@ -11,7 +11,7 @@
11
11
  * SPDX-License-Identifier: EPL-2.0
12
12
  ********************************************************************************/
13
13
 
14
- import React from 'react';
14
+ import type { Dispatch, ChangeEvent, MouseEvent, ReactNode } from 'react';
15
15
  import {
16
16
  ScanState,
17
17
  ScanAction,
@@ -28,7 +28,7 @@ import {
28
28
 
29
29
  export interface ScanContextValue {
30
30
  state: ScanState;
31
- dispatch: React.Dispatch<ScanAction>;
31
+ dispatch: Dispatch<ScanAction>;
32
32
  actions: ScanActions;
33
33
  derived: DerivedData;
34
34
  }
@@ -41,9 +41,9 @@ export interface ScanActions {
41
41
  setPublisherQuery: (query: string) => void;
42
42
  setNamespaceQuery: (query: string) => void;
43
43
  setNameQuery: (query: string) => void;
44
- handlePublisherChange: (event: React.ChangeEvent<HTMLInputElement>) => void;
45
- handleNamespaceChange: (event: React.ChangeEvent<HTMLInputElement>) => void;
46
- handleNameChange: (event: React.ChangeEvent<HTMLInputElement>) => void;
44
+ handlePublisherChange: (event: ChangeEvent<HTMLInputElement>) => void;
45
+ handleNamespaceChange: (event: ChangeEvent<HTMLInputElement>) => void;
46
+ handleNameChange: (event: ChangeEvent<HTMLInputElement>) => void;
47
47
 
48
48
  // Pagination
49
49
  setPage: (page: number) => void;
@@ -59,11 +59,11 @@ export interface ScanActions {
59
59
  toggleValidationTypeFilter: (type: string) => void;
60
60
 
61
61
  // Menu anchors
62
- openFilterMenu: (event: React.MouseEvent<HTMLElement>) => void;
62
+ openFilterMenu: (event: MouseEvent<HTMLElement>) => void;
63
63
  closeFilterMenu: () => void;
64
- openQuarantineFilterMenu: (event: React.MouseEvent<HTMLElement>) => void;
64
+ openQuarantineFilterMenu: (event: MouseEvent<HTMLElement>) => void;
65
65
  closeQuarantineFilterMenu: () => void;
66
- openAutoRejectedFilterMenu: (event: React.MouseEvent<HTMLElement>) => void;
66
+ openAutoRejectedFilterMenu: (event: MouseEvent<HTMLElement>) => void;
67
67
  closeAutoRejectedFilterMenu: () => void;
68
68
 
69
69
  // Selection
@@ -96,7 +96,7 @@ export interface DerivedData {
96
96
  // ============================================================================
97
97
 
98
98
  export interface ScanProviderProps {
99
- children: React.ReactNode;
99
+ children: ReactNode;
100
100
  service: any;
101
101
  handleError: (error: any) => void;
102
102
  }
@@ -11,7 +11,7 @@
11
11
  * SPDX-License-Identifier: EPL-2.0
12
12
  ********************************************************************************/
13
13
 
14
- import React, { createContext, useContext, useReducer, useMemo, useRef } from 'react';
14
+ import { FC, createContext, useContext, useReducer, useMemo, useRef } from 'react';
15
15
  import { initialScanState, ScanResult, FileDecision } from './scan-types';
16
16
  import { scanReducer } from './scan-reducer';
17
17
  import { ScanContextValue, ScanProviderProps, DerivedData } from './scan-context-types';
@@ -36,7 +36,7 @@ const ScanContext = createContext<ScanContextValue | null>(null);
36
36
  // Provider Component
37
37
  // ============================================================================
38
38
 
39
- export const ScanProvider: React.FC<ScanProviderProps> = ({ children, service, handleError }) => {
39
+ export const ScanProvider: FC<ScanProviderProps> = ({ children, service, handleError }) => {
40
40
  const [state, dispatch] = useReducer(scanReducer, initialScanState);
41
41
 
42
42
  // Use a ref for handleError to avoid re-running effects when parent re-renders
@@ -8,7 +8,7 @@
8
8
  * SPDX-License-Identifier: EPL-2.0
9
9
  ********************************************************************************/
10
10
 
11
- import React, { FunctionComponent } from 'react';
11
+ import { FunctionComponent } from 'react';
12
12
  import { Link, Typography, Container } from '@mui/material';
13
13
  import { styled, Theme } from '@mui/material/styles';
14
14
 
@@ -9,7 +9,7 @@
9
9
  ********************************************************************************/
10
10
 
11
11
  import { createRoot } from 'react-dom/client';
12
- import React, { useMemo } from 'react';
12
+ import { useMemo } from 'react';
13
13
  import { HelmetProvider } from 'react-helmet-async';
14
14
  import { BrowserRouter } from 'react-router-dom';
15
15
  import { ThemeProvider } from '@mui/material/styles';
@@ -7,7 +7,8 @@
7
7
  *
8
8
  * SPDX-License-Identifier: EPL-2.0
9
9
  * ****************************************************************************** */
10
- import React, { FunctionComponent, ReactNode, useState } from "react";
10
+
11
+ import { FunctionComponent, ReactNode, useState } from "react";
11
12
  import { Button, Dialog, DialogContent, DialogTitle, Stack } from "@mui/material";
12
13
 
13
14
  export const LoginComponent: FunctionComponent<LoginComponentProps> = (props) => {