openvsx-webui-test 0.17.1 → 0.18.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.
- package/lib/components/button-with-progress.d.ts +1 -0
- package/lib/components/button-with-progress.d.ts.map +1 -1
- package/lib/components/button-with-progress.js +1 -1
- package/lib/components/button-with-progress.js.map +1 -1
- package/lib/components/sanitized-markdown.d.ts.map +1 -1
- package/lib/components/sanitized-markdown.js +79 -1
- package/lib/components/sanitized-markdown.js.map +1 -1
- package/lib/components/scan-admin/common/auto-refresh.d.ts +21 -0
- package/lib/components/scan-admin/common/auto-refresh.d.ts.map +1 -0
- package/lib/components/scan-admin/common/auto-refresh.js +45 -0
- package/lib/components/scan-admin/common/auto-refresh.js.map +1 -0
- package/lib/components/scan-admin/common/conditional-tooltip.d.ts +24 -0
- package/lib/components/scan-admin/common/conditional-tooltip.d.ts.map +1 -0
- package/lib/components/scan-admin/common/conditional-tooltip.js +63 -0
- package/lib/components/scan-admin/common/conditional-tooltip.js.map +1 -0
- package/lib/components/scan-admin/common/file-table.d.ts +23 -0
- package/lib/components/scan-admin/common/file-table.d.ts.map +1 -0
- package/lib/components/scan-admin/common/file-table.js +350 -0
- package/lib/components/scan-admin/common/file-table.js.map +1 -0
- package/lib/components/scan-admin/common/index.d.ts +18 -0
- package/lib/components/scan-admin/common/index.d.ts.map +1 -0
- package/lib/components/scan-admin/common/index.js +18 -0
- package/lib/components/scan-admin/common/index.js.map +1 -0
- package/lib/components/scan-admin/common/tab-panel.d.ts +25 -0
- package/lib/components/scan-admin/common/tab-panel.d.ts.map +1 -0
- package/lib/components/scan-admin/common/tab-panel.js +22 -0
- package/lib/components/scan-admin/common/tab-panel.js.map +1 -0
- package/lib/components/scan-admin/common/utils.d.ts +15 -0
- package/lib/components/scan-admin/common/utils.d.ts.map +1 -0
- package/lib/components/scan-admin/common/utils.js +46 -0
- package/lib/components/scan-admin/common/utils.js.map +1 -0
- package/lib/components/scan-admin/dialogs/file-dialog.d.ts +19 -0
- package/lib/components/scan-admin/dialogs/file-dialog.d.ts.map +1 -0
- package/lib/components/scan-admin/dialogs/file-dialog.js +85 -0
- package/lib/components/scan-admin/dialogs/file-dialog.js.map +1 -0
- package/lib/components/scan-admin/dialogs/index.d.ts +15 -0
- package/lib/components/scan-admin/dialogs/index.d.ts.map +1 -0
- package/lib/components/scan-admin/dialogs/index.js +15 -0
- package/lib/components/scan-admin/dialogs/index.js.map +1 -0
- package/lib/components/scan-admin/dialogs/quarantine-dialog.d.ts +23 -0
- package/lib/components/scan-admin/dialogs/quarantine-dialog.d.ts.map +1 -0
- package/lib/components/scan-admin/dialogs/quarantine-dialog.js +192 -0
- package/lib/components/scan-admin/dialogs/quarantine-dialog.js.map +1 -0
- package/lib/components/scan-admin/index.d.ts +20 -0
- package/lib/components/scan-admin/index.d.ts.map +1 -0
- package/lib/components/scan-admin/index.js +25 -0
- package/lib/components/scan-admin/index.js.map +1 -0
- package/lib/components/scan-admin/scan-card/index.d.ts +20 -0
- package/lib/components/scan-admin/scan-card/index.d.ts.map +1 -0
- package/lib/components/scan-admin/scan-card/index.js +20 -0
- package/lib/components/scan-admin/scan-card/index.js.map +1 -0
- package/lib/components/scan-admin/scan-card/scan-card-content.d.ts +30 -0
- package/lib/components/scan-admin/scan-card/scan-card-content.d.ts.map +1 -0
- package/lib/components/scan-admin/scan-card/scan-card-content.js +232 -0
- package/lib/components/scan-admin/scan-card/scan-card-content.js.map +1 -0
- package/lib/components/scan-admin/scan-card/scan-card-expand-strip-badges.d.ts +26 -0
- package/lib/components/scan-admin/scan-card/scan-card-expand-strip-badges.d.ts.map +1 -0
- package/lib/components/scan-admin/scan-card/scan-card-expand-strip-badges.js +121 -0
- package/lib/components/scan-admin/scan-card/scan-card-expand-strip-badges.js.map +1 -0
- package/lib/components/scan-admin/scan-card/scan-card-expand-strip.d.ts +27 -0
- package/lib/components/scan-admin/scan-card/scan-card-expand-strip.d.ts.map +1 -0
- package/lib/components/scan-admin/scan-card/scan-card-expand-strip.js +66 -0
- package/lib/components/scan-admin/scan-card/scan-card-expand-strip.js.map +1 -0
- package/lib/components/scan-admin/scan-card/scan-card-expanded-content.d.ts +26 -0
- package/lib/components/scan-admin/scan-card/scan-card-expanded-content.d.ts.map +1 -0
- package/lib/components/scan-admin/scan-card/scan-card-expanded-content.js +151 -0
- package/lib/components/scan-admin/scan-card/scan-card-expanded-content.js.map +1 -0
- package/lib/components/scan-admin/scan-card/scan-card-header.d.ts +26 -0
- package/lib/components/scan-admin/scan-card/scan-card-header.d.ts.map +1 -0
- package/lib/components/scan-admin/scan-card/scan-card-header.js +101 -0
- package/lib/components/scan-admin/scan-card/scan-card-header.js.map +1 -0
- package/lib/components/scan-admin/scan-card/scan-card.d.ts +34 -0
- package/lib/components/scan-admin/scan-card/scan-card.d.ts.map +1 -0
- package/lib/components/scan-admin/scan-card/scan-card.js +90 -0
- package/lib/components/scan-admin/scan-card/scan-card.js.map +1 -0
- package/lib/components/scan-admin/scan-card/scan-detail-card.d.ts +38 -0
- package/lib/components/scan-admin/scan-card/scan-detail-card.d.ts.map +1 -0
- package/lib/components/scan-admin/scan-card/scan-detail-card.js +72 -0
- package/lib/components/scan-admin/scan-card/scan-detail-card.js.map +1 -0
- package/lib/components/scan-admin/scan-card/utils.d.ts +48 -0
- package/lib/components/scan-admin/scan-card/utils.d.ts.map +1 -0
- package/lib/components/scan-admin/scan-card/utils.js +166 -0
- package/lib/components/scan-admin/scan-card/utils.js.map +1 -0
- package/lib/components/scan-admin/tab-contents/allow-list-tab-content.d.ts +19 -0
- package/lib/components/scan-admin/tab-contents/allow-list-tab-content.d.ts.map +1 -0
- package/lib/components/scan-admin/tab-contents/allow-list-tab-content.js +55 -0
- package/lib/components/scan-admin/tab-contents/allow-list-tab-content.js.map +1 -0
- package/lib/components/scan-admin/tab-contents/auto-rejected-tab-content.d.ts +19 -0
- package/lib/components/scan-admin/tab-contents/auto-rejected-tab-content.d.ts.map +1 -0
- package/lib/components/scan-admin/tab-contents/auto-rejected-tab-content.js +43 -0
- package/lib/components/scan-admin/tab-contents/auto-rejected-tab-content.js.map +1 -0
- package/lib/components/scan-admin/tab-contents/block-list-tab-content.d.ts +19 -0
- package/lib/components/scan-admin/tab-contents/block-list-tab-content.d.ts.map +1 -0
- package/lib/components/scan-admin/tab-contents/block-list-tab-content.js +55 -0
- package/lib/components/scan-admin/tab-contents/block-list-tab-content.js.map +1 -0
- package/lib/components/scan-admin/tab-contents/index.d.ts +18 -0
- package/lib/components/scan-admin/tab-contents/index.d.ts.map +1 -0
- package/lib/components/scan-admin/tab-contents/index.js +18 -0
- package/lib/components/scan-admin/tab-contents/index.js.map +1 -0
- package/lib/components/scan-admin/tab-contents/quarantined-tab-content.d.ts +19 -0
- package/lib/components/scan-admin/tab-contents/quarantined-tab-content.d.ts.map +1 -0
- package/lib/components/scan-admin/tab-contents/quarantined-tab-content.js +78 -0
- package/lib/components/scan-admin/tab-contents/quarantined-tab-content.js.map +1 -0
- package/lib/components/scan-admin/tab-contents/scans-tab-content.d.ts +19 -0
- package/lib/components/scan-admin/tab-contents/scans-tab-content.d.ts.map +1 -0
- package/lib/components/scan-admin/tab-contents/scans-tab-content.js +52 -0
- package/lib/components/scan-admin/tab-contents/scans-tab-content.js.map +1 -0
- package/lib/components/scan-admin/toolbars/counts-toolbar.d.ts +35 -0
- package/lib/components/scan-admin/toolbars/counts-toolbar.d.ts.map +1 -0
- package/lib/components/scan-admin/toolbars/counts-toolbar.js +132 -0
- package/lib/components/scan-admin/toolbars/counts-toolbar.js.map +1 -0
- package/lib/components/scan-admin/toolbars/index.d.ts +16 -0
- package/lib/components/scan-admin/toolbars/index.d.ts.map +1 -0
- package/lib/components/scan-admin/toolbars/index.js +16 -0
- package/lib/components/scan-admin/toolbars/index.js.map +1 -0
- package/lib/components/scan-admin/toolbars/search-toolbar.d.ts +43 -0
- package/lib/components/scan-admin/toolbars/search-toolbar.d.ts.map +1 -0
- package/lib/components/scan-admin/toolbars/search-toolbar.js +106 -0
- package/lib/components/scan-admin/toolbars/search-toolbar.js.map +1 -0
- package/lib/components/scan-admin/toolbars/tab-toolbar.d.ts +25 -0
- package/lib/components/scan-admin/toolbars/tab-toolbar.d.ts.map +1 -0
- package/lib/components/scan-admin/toolbars/tab-toolbar.js +33 -0
- package/lib/components/scan-admin/toolbars/tab-toolbar.js.map +1 -0
- package/lib/context/scan-admin/index.d.ts +21 -0
- package/lib/context/scan-admin/index.d.ts.map +1 -0
- package/lib/context/scan-admin/index.js +27 -0
- package/lib/context/scan-admin/index.js.map +1 -0
- package/lib/context/scan-admin/scan-actions.d.ts +19 -0
- package/lib/context/scan-admin/scan-actions.d.ts.map +1 -0
- package/lib/context/scan-admin/scan-actions.js +64 -0
- package/lib/context/scan-admin/scan-actions.js.map +1 -0
- package/lib/context/scan-admin/scan-api-actions.d.ts +26 -0
- package/lib/context/scan-admin/scan-api-actions.d.ts.map +1 -0
- package/lib/context/scan-admin/scan-api-actions.js +118 -0
- package/lib/context/scan-admin/scan-api-actions.js.map +1 -0
- package/lib/context/scan-admin/scan-api-effects.d.ts +40 -0
- package/lib/context/scan-admin/scan-api-effects.d.ts.map +1 -0
- package/lib/context/scan-admin/scan-api-effects.js +446 -0
- package/lib/context/scan-admin/scan-api-effects.js.map +1 -0
- package/lib/context/scan-admin/scan-context-types.d.ts +69 -0
- package/lib/context/scan-admin/scan-context-types.d.ts.map +1 -0
- package/lib/context/scan-admin/scan-context-types.js +14 -0
- package/lib/context/scan-admin/scan-context-types.js.map +1 -0
- package/lib/context/scan-admin/scan-context.d.ts +17 -0
- package/lib/context/scan-admin/scan-context.d.ts.map +1 -0
- package/lib/context/scan-admin/scan-context.js +90 -0
- package/lib/context/scan-admin/scan-context.js.map +1 -0
- package/lib/context/scan-admin/scan-helpers.d.ts +28 -0
- package/lib/context/scan-admin/scan-helpers.d.ts.map +1 -0
- package/lib/context/scan-admin/scan-helpers.js +56 -0
- package/lib/context/scan-admin/scan-helpers.js.map +1 -0
- package/lib/context/scan-admin/scan-reducer.d.ts +18 -0
- package/lib/context/scan-admin/scan-reducer.d.ts.map +1 -0
- package/lib/context/scan-admin/scan-reducer.js +194 -0
- package/lib/context/scan-admin/scan-reducer.js.map +1 -0
- package/lib/context/scan-admin/scan-types.d.ts +292 -0
- package/lib/context/scan-admin/scan-types.d.ts.map +1 -0
- package/lib/context/scan-admin/scan-types.js +67 -0
- package/lib/context/scan-admin/scan-types.js.map +1 -0
- package/lib/default/page-settings.d.ts.map +1 -1
- package/lib/default/page-settings.js +3 -0
- package/lib/default/page-settings.js.map +1 -1
- package/lib/default/theme.d.ts +50 -12
- package/lib/default/theme.d.ts.map +1 -1
- package/lib/default/theme.js +42 -0
- package/lib/default/theme.js.map +1 -1
- package/lib/extension-registry-service.d.ts +85 -1
- package/lib/extension-registry-service.d.ts.map +1 -1
- package/lib/extension-registry-service.js +197 -0
- package/lib/extension-registry-service.js.map +1 -1
- package/lib/extension-registry-types.d.ts +140 -0
- package/lib/extension-registry-types.d.ts.map +1 -1
- package/lib/extension-registry-types.js.map +1 -1
- package/lib/hooks/scan-admin/index.d.ts +34 -0
- package/lib/hooks/scan-admin/index.d.ts.map +1 -0
- package/lib/hooks/scan-admin/index.js +28 -0
- package/lib/hooks/scan-admin/index.js.map +1 -0
- package/lib/hooks/scan-admin/use-auto-rejected-tab.d.ts +76 -0
- package/lib/hooks/scan-admin/use-auto-rejected-tab.d.ts.map +1 -0
- package/lib/hooks/scan-admin/use-auto-rejected-tab.js +79 -0
- package/lib/hooks/scan-admin/use-auto-rejected-tab.js.map +1 -0
- package/lib/hooks/scan-admin/use-dialogs.d.ts +43 -0
- package/lib/hooks/scan-admin/use-dialogs.d.ts.map +1 -0
- package/lib/hooks/scan-admin/use-dialogs.js +55 -0
- package/lib/hooks/scan-admin/use-dialogs.js.map +1 -0
- package/lib/hooks/scan-admin/use-file-list-tab.d.ts +208 -0
- package/lib/hooks/scan-admin/use-file-list-tab.d.ts.map +1 -0
- package/lib/hooks/scan-admin/use-file-list-tab.js +125 -0
- package/lib/hooks/scan-admin/use-file-list-tab.js.map +1 -0
- package/lib/hooks/scan-admin/use-pagination.d.ts +36 -0
- package/lib/hooks/scan-admin/use-pagination.d.ts.map +1 -0
- package/lib/hooks/scan-admin/use-pagination.js +79 -0
- package/lib/hooks/scan-admin/use-pagination.js.map +1 -0
- package/lib/hooks/scan-admin/use-quarantined-tab.d.ts +92 -0
- package/lib/hooks/scan-admin/use-quarantined-tab.d.ts.map +1 -0
- package/lib/hooks/scan-admin/use-quarantined-tab.js +125 -0
- package/lib/hooks/scan-admin/use-quarantined-tab.js.map +1 -0
- package/lib/hooks/scan-admin/use-scan-card-state.d.ts +29 -0
- package/lib/hooks/scan-admin/use-scan-card-state.d.ts.map +1 -0
- package/lib/hooks/scan-admin/use-scan-card-state.js +50 -0
- package/lib/hooks/scan-admin/use-scan-card-state.js.map +1 -0
- package/lib/hooks/scan-admin/use-scan-filters.d.ts +53 -0
- package/lib/hooks/scan-admin/use-scan-filters.d.ts.map +1 -0
- package/lib/hooks/scan-admin/use-scan-filters.js +75 -0
- package/lib/hooks/scan-admin/use-scan-filters.js.map +1 -0
- package/lib/hooks/scan-admin/use-scans-tab.d.ts +85 -0
- package/lib/hooks/scan-admin/use-scans-tab.d.ts.map +1 -0
- package/lib/hooks/scan-admin/use-scans-tab.js +87 -0
- package/lib/hooks/scan-admin/use-scans-tab.js.map +1 -0
- package/lib/hooks/scan-admin/use-search.d.ts +32 -0
- package/lib/hooks/scan-admin/use-search.d.ts.map +1 -0
- package/lib/hooks/scan-admin/use-search.js +48 -0
- package/lib/hooks/scan-admin/use-search.js.map +1 -0
- package/lib/hooks/scan-admin/use-tab-navigation.d.ts +96 -0
- package/lib/hooks/scan-admin/use-tab-navigation.d.ts.map +1 -0
- package/lib/hooks/scan-admin/use-tab-navigation.js +70 -0
- package/lib/hooks/scan-admin/use-tab-navigation.js.map +1 -0
- package/lib/hooks/scan-admin/use-url-sync.d.ts +22 -0
- package/lib/hooks/scan-admin/use-url-sync.d.ts.map +1 -0
- package/lib/hooks/scan-admin/use-url-sync.js +252 -0
- package/lib/hooks/scan-admin/use-url-sync.js.map +1 -0
- package/lib/page-settings.d.ts +4 -0
- package/lib/page-settings.d.ts.map +1 -1
- package/lib/pages/admin-dashboard/admin-dashboard.d.ts +1 -0
- package/lib/pages/admin-dashboard/admin-dashboard.d.ts.map +1 -1
- package/lib/pages/admin-dashboard/admin-dashboard.js +23 -3
- package/lib/pages/admin-dashboard/admin-dashboard.js.map +1 -1
- package/lib/pages/admin-dashboard/publisher-admin.js +1 -1
- package/lib/pages/admin-dashboard/publisher-admin.js.map +1 -1
- package/lib/pages/admin-dashboard/publisher-revoke-dialog.d.ts.map +1 -1
- package/lib/pages/admin-dashboard/publisher-revoke-dialog.js +1 -1
- package/lib/pages/admin-dashboard/publisher-revoke-dialog.js.map +1 -1
- package/lib/pages/admin-dashboard/scan-admin.d.ts +20 -0
- package/lib/pages/admin-dashboard/scan-admin.d.ts.map +1 -0
- package/lib/pages/admin-dashboard/scan-admin.js +66 -0
- package/lib/pages/admin-dashboard/scan-admin.js.map +1 -0
- package/lib/pages/admin-dashboard/welcome.d.ts.map +1 -1
- package/lib/pages/admin-dashboard/welcome.js +2 -1
- package/lib/pages/admin-dashboard/welcome.js.map +1 -1
- package/lib/pages/extension-detail/extension-detail-overview.d.ts.map +1 -1
- package/lib/pages/extension-detail/extension-detail-overview.js +9 -1
- package/lib/pages/extension-detail/extension-detail-overview.js.map +1 -1
- package/lib/pages/extension-detail/extension-detail-reviews.d.ts.map +1 -1
- package/lib/pages/extension-detail/extension-detail-reviews.js +67 -18
- package/lib/pages/extension-detail/extension-detail-reviews.js.map +1 -1
- package/lib/pages/extension-detail/extension-detail.js +2 -2
- package/lib/pages/extension-detail/extension-detail.js.map +1 -1
- package/lib/pages/extension-detail/extension-rating-stars.d.ts +2 -2
- package/lib/pages/extension-detail/extension-rating-stars.d.ts.map +1 -1
- package/lib/pages/extension-detail/extension-rating-stars.js +1 -1
- package/lib/pages/extension-detail/extension-rating-stars.js.map +1 -1
- package/lib/pages/extension-list/extension-list-item.js +2 -2
- package/lib/pages/extension-list/extension-list-item.js.map +1 -1
- package/lib/pages/user/user-namespace-extension-list-item.d.ts.map +1 -1
- package/lib/pages/user/user-namespace-extension-list-item.js +23 -9
- package/lib/pages/user/user-namespace-extension-list-item.js.map +1 -1
- package/lib/pages/user/user-publisher-agreement.d.ts.map +1 -1
- package/lib/pages/user/user-publisher-agreement.js +34 -13
- package/lib/pages/user/user-publisher-agreement.js.map +1 -1
- package/lib/pages/user/user-settings-profile.d.ts.map +1 -1
- package/lib/pages/user/user-settings-profile.js +10 -5
- package/lib/pages/user/user-settings-profile.js.map +1 -1
- package/lib/pages/user/user-settings-tokens.d.ts.map +1 -1
- package/lib/pages/user/user-settings-tokens.js +13 -5
- package/lib/pages/user/user-settings-tokens.js.map +1 -1
- package/package.json +10 -9
- package/src/components/button-with-progress.tsx +2 -1
- package/src/components/sanitized-markdown.tsx +81 -1
- package/src/components/scan-admin/common/auto-refresh.tsx +79 -0
- package/src/components/scan-admin/common/conditional-tooltip.tsx +74 -0
- package/src/components/scan-admin/common/file-table.tsx +508 -0
- package/src/components/scan-admin/common/index.ts +18 -0
- package/src/components/scan-admin/common/tab-panel.tsx +42 -0
- package/src/components/scan-admin/common/utils.ts +48 -0
- package/src/components/scan-admin/dialogs/file-dialog.tsx +137 -0
- package/src/components/scan-admin/dialogs/index.ts +15 -0
- package/src/components/scan-admin/dialogs/quarantine-dialog.tsx +270 -0
- package/src/components/scan-admin/index.ts +52 -0
- package/src/components/scan-admin/scan-card/index.ts +20 -0
- package/src/components/scan-admin/scan-card/scan-card-content.tsx +457 -0
- package/src/components/scan-admin/scan-card/scan-card-expand-strip-badges.tsx +186 -0
- package/src/components/scan-admin/scan-card/scan-card-expand-strip.tsx +104 -0
- package/src/components/scan-admin/scan-card/scan-card-expanded-content.tsx +262 -0
- package/src/components/scan-admin/scan-card/scan-card-header.tsx +176 -0
- package/src/components/scan-admin/scan-card/scan-card.tsx +152 -0
- package/src/components/scan-admin/scan-card/scan-detail-card.tsx +144 -0
- package/src/components/scan-admin/scan-card/utils.ts +199 -0
- package/src/components/scan-admin/tab-contents/allow-list-tab-content.tsx +119 -0
- package/src/components/scan-admin/tab-contents/auto-rejected-tab-content.tsx +106 -0
- package/src/components/scan-admin/tab-contents/block-list-tab-content.tsx +119 -0
- package/src/components/scan-admin/tab-contents/index.ts +18 -0
- package/src/components/scan-admin/tab-contents/quarantined-tab-content.tsx +158 -0
- package/src/components/scan-admin/tab-contents/scans-tab-content.tsx +113 -0
- package/src/components/scan-admin/toolbars/counts-toolbar.tsx +262 -0
- package/src/components/scan-admin/toolbars/index.ts +16 -0
- package/src/components/scan-admin/toolbars/search-toolbar.tsx +255 -0
- package/src/components/scan-admin/toolbars/tab-toolbar.tsx +56 -0
- package/src/context/scan-admin/index.ts +43 -0
- package/src/context/scan-admin/scan-actions.ts +87 -0
- package/src/context/scan-admin/scan-api-actions.ts +137 -0
- package/src/context/scan-admin/scan-api-effects.ts +491 -0
- package/src/context/scan-admin/scan-context-types.ts +102 -0
- package/src/context/scan-admin/scan-context.tsx +123 -0
- package/src/context/scan-admin/scan-helpers.ts +63 -0
- package/src/context/scan-admin/scan-reducer.ts +321 -0
- package/src/context/scan-admin/scan-types.ts +337 -0
- package/src/default/page-settings.tsx +3 -0
- package/src/default/theme.tsx +102 -13
- package/src/extension-registry-service.ts +216 -1
- package/src/extension-registry-types.ts +157 -0
- package/src/hooks/scan-admin/index.ts +48 -0
- package/src/hooks/scan-admin/use-auto-rejected-tab.ts +85 -0
- package/src/hooks/scan-admin/use-dialogs.ts +83 -0
- package/src/hooks/scan-admin/use-file-list-tab.ts +149 -0
- package/src/hooks/scan-admin/use-pagination.ts +90 -0
- package/src/hooks/scan-admin/use-quarantined-tab.ts +138 -0
- package/src/hooks/scan-admin/use-scan-card-state.ts +73 -0
- package/src/hooks/scan-admin/use-scan-filters.ts +83 -0
- package/src/hooks/scan-admin/use-scans-tab.ts +92 -0
- package/src/hooks/scan-admin/use-search.ts +54 -0
- package/src/hooks/scan-admin/use-tab-navigation.ts +82 -0
- package/src/hooks/scan-admin/use-url-sync.ts +293 -0
- package/src/page-settings.ts +4 -0
- package/src/pages/admin-dashboard/admin-dashboard.tsx +26 -2
- package/src/pages/admin-dashboard/publisher-admin.tsx +1 -1
- package/src/pages/admin-dashboard/publisher-revoke-dialog.tsx +2 -1
- package/src/pages/admin-dashboard/scan-admin.tsx +109 -0
- package/src/pages/admin-dashboard/welcome.tsx +1 -0
- package/src/pages/extension-detail/extension-detail-overview.tsx +16 -2
- package/src/pages/extension-detail/extension-detail-reviews.tsx +116 -30
- package/src/pages/extension-detail/extension-detail.tsx +2 -2
- package/src/pages/extension-detail/extension-rating-stars.tsx +2 -2
- package/src/pages/extension-list/extension-list-item.tsx +2 -2
- package/src/pages/user/user-namespace-extension-list-item.tsx +38 -13
- package/src/pages/user/user-publisher-agreement.tsx +30 -11
- package/src/pages/user/user-settings-profile.tsx +10 -6
- package/src/pages/user/user-settings-tokens.tsx +15 -6
|
@@ -0,0 +1,75 @@
|
|
|
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 { useMemo } from 'react';
|
|
14
|
+
import { useScanContext } from '../../context/scan-admin';
|
|
15
|
+
/**
|
|
16
|
+
* Hook for managing scan filter state and actions.
|
|
17
|
+
* Provides access to global filters (date range, enforcement) and
|
|
18
|
+
* tab-specific filters (status, quarantine, threat scanner, validation type).
|
|
19
|
+
*/
|
|
20
|
+
export const useScanFilters = () => {
|
|
21
|
+
const { state, actions } = useScanContext();
|
|
22
|
+
// Global filters
|
|
23
|
+
const globalFilters = useMemo(() => ({
|
|
24
|
+
dateRange: state.dateRange,
|
|
25
|
+
enforcement: state.enforcement,
|
|
26
|
+
setDateRange: actions.setDateRange,
|
|
27
|
+
setEnforcement: actions.setEnforcement,
|
|
28
|
+
}), [state.dateRange, state.enforcement, actions]);
|
|
29
|
+
// Status filters (for Scans tab)
|
|
30
|
+
const statusFilters = useMemo(() => ({
|
|
31
|
+
filters: state.statusFilters,
|
|
32
|
+
toggle: actions.toggleStatusFilter,
|
|
33
|
+
menuAnchor: state.filterMenuAnchor,
|
|
34
|
+
openMenu: actions.openFilterMenu,
|
|
35
|
+
closeMenu: actions.closeFilterMenu,
|
|
36
|
+
}), [state.statusFilters, state.filterMenuAnchor, actions]);
|
|
37
|
+
// Quarantine filters (for Quarantined tab)
|
|
38
|
+
const quarantineFilters = useMemo(() => ({
|
|
39
|
+
filters: state.quarantineFilters,
|
|
40
|
+
toggle: actions.toggleQuarantineFilter,
|
|
41
|
+
threatScannerFilters: state.threatScannerFilters,
|
|
42
|
+
toggleThreatScanner: actions.toggleThreatScannerFilter,
|
|
43
|
+
availableThreatScanners: state.availableThreatScanners,
|
|
44
|
+
menuAnchor: state.quarantineFilterMenuAnchor,
|
|
45
|
+
openMenu: actions.openQuarantineFilterMenu,
|
|
46
|
+
closeMenu: actions.closeQuarantineFilterMenu,
|
|
47
|
+
}), [
|
|
48
|
+
state.quarantineFilters,
|
|
49
|
+
state.threatScannerFilters,
|
|
50
|
+
state.availableThreatScanners,
|
|
51
|
+
state.quarantineFilterMenuAnchor,
|
|
52
|
+
actions,
|
|
53
|
+
]);
|
|
54
|
+
// Validation type filters (for Auto Rejected tab)
|
|
55
|
+
const validationTypeFilters = useMemo(() => ({
|
|
56
|
+
filters: state.validationTypeFilters,
|
|
57
|
+
toggle: actions.toggleValidationTypeFilter,
|
|
58
|
+
availableValidationTypes: state.availableValidationTypes,
|
|
59
|
+
menuAnchor: state.autoRejectedFilterMenuAnchor,
|
|
60
|
+
openMenu: actions.openAutoRejectedFilterMenu,
|
|
61
|
+
closeMenu: actions.closeAutoRejectedFilterMenu,
|
|
62
|
+
}), [
|
|
63
|
+
state.validationTypeFilters,
|
|
64
|
+
state.availableValidationTypes,
|
|
65
|
+
state.autoRejectedFilterMenuAnchor,
|
|
66
|
+
actions,
|
|
67
|
+
]);
|
|
68
|
+
return {
|
|
69
|
+
globalFilters,
|
|
70
|
+
statusFilters,
|
|
71
|
+
quarantineFilters,
|
|
72
|
+
validationTypeFilters,
|
|
73
|
+
};
|
|
74
|
+
};
|
|
75
|
+
//# sourceMappingURL=use-scan-filters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-scan-filters.js","sourceRoot":"","sources":["../../../src/hooks/scan-admin/use-scan-filters.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;kFAWkF;AAElF,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,EAAE;IAC/B,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,cAAc,EAAE,CAAC;IAE5C,iBAAiB;IACjB,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACjC,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,cAAc,EAAE,OAAO,CAAC,cAAc;KACzC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;IAEnD,iCAAiC;IACjC,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACjC,OAAO,EAAE,KAAK,CAAC,aAAa;QAC5B,MAAM,EAAE,OAAO,CAAC,kBAAkB;QAClC,UAAU,EAAE,KAAK,CAAC,gBAAgB;QAClC,QAAQ,EAAE,OAAO,CAAC,cAAc;QAChC,SAAS,EAAE,OAAO,CAAC,eAAe;KACrC,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC,CAAC;IAE5D,2CAA2C;IAC3C,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACrC,OAAO,EAAE,KAAK,CAAC,iBAAiB;QAChC,MAAM,EAAE,OAAO,CAAC,sBAAsB;QACtC,oBAAoB,EAAE,KAAK,CAAC,oBAAoB;QAChD,mBAAmB,EAAE,OAAO,CAAC,yBAAyB;QACtD,uBAAuB,EAAE,KAAK,CAAC,uBAAuB;QACtD,UAAU,EAAE,KAAK,CAAC,0BAA0B;QAC5C,QAAQ,EAAE,OAAO,CAAC,wBAAwB;QAC1C,SAAS,EAAE,OAAO,CAAC,yBAAyB;KAC/C,CAAC,EAAE;QACA,KAAK,CAAC,iBAAiB;QACvB,KAAK,CAAC,oBAAoB;QAC1B,KAAK,CAAC,uBAAuB;QAC7B,KAAK,CAAC,0BAA0B;QAChC,OAAO;KACV,CAAC,CAAC;IAEH,kDAAkD;IAClD,MAAM,qBAAqB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACzC,OAAO,EAAE,KAAK,CAAC,qBAAqB;QACpC,MAAM,EAAE,OAAO,CAAC,0BAA0B;QAC1C,wBAAwB,EAAE,KAAK,CAAC,wBAAwB;QACxD,UAAU,EAAE,KAAK,CAAC,4BAA4B;QAC9C,QAAQ,EAAE,OAAO,CAAC,0BAA0B;QAC5C,SAAS,EAAE,OAAO,CAAC,2BAA2B;KACjD,CAAC,EAAE;QACA,KAAK,CAAC,qBAAqB;QAC3B,KAAK,CAAC,wBAAwB;QAC9B,KAAK,CAAC,4BAA4B;QAClC,OAAO;KACV,CAAC,CAAC;IAEH,OAAO;QACH,aAAa;QACb,aAAa;QACb,iBAAiB;QACjB,qBAAqB;KACxB,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -0,0 +1,85 @@
|
|
|
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
|
+
/// <reference types="react" />
|
|
14
|
+
/**
|
|
15
|
+
* Hook for the main Scans tab (tab index 0).
|
|
16
|
+
* Provides all data and actions needed for displaying scan overview.
|
|
17
|
+
*/
|
|
18
|
+
export declare const useScansTab: () => {
|
|
19
|
+
tabIndex: number;
|
|
20
|
+
tabName: string;
|
|
21
|
+
scans: import("../../context/scan-admin").ScanResult[];
|
|
22
|
+
isLoading: boolean;
|
|
23
|
+
lastRefreshed: Date | null;
|
|
24
|
+
autoRefresh: boolean;
|
|
25
|
+
onAutoRefreshChange: (enabled: boolean) => void;
|
|
26
|
+
counts: {
|
|
27
|
+
started: number;
|
|
28
|
+
validating: number;
|
|
29
|
+
scanning: number;
|
|
30
|
+
passed: number;
|
|
31
|
+
quarantined: number;
|
|
32
|
+
autoRejected: number;
|
|
33
|
+
error: number;
|
|
34
|
+
allowed: number;
|
|
35
|
+
blocked: number;
|
|
36
|
+
needsReview: number;
|
|
37
|
+
total: number;
|
|
38
|
+
};
|
|
39
|
+
search: {
|
|
40
|
+
publisherQuery: string;
|
|
41
|
+
namespaceQuery: string;
|
|
42
|
+
nameQuery: string;
|
|
43
|
+
setPublisherQuery: (query: string) => void;
|
|
44
|
+
setNamespaceQuery: (query: string) => void;
|
|
45
|
+
setNameQuery: (query: string) => void;
|
|
46
|
+
handlePublisherChange: (event: import("react").ChangeEvent<HTMLInputElement>) => void;
|
|
47
|
+
handleNamespaceChange: (event: import("react").ChangeEvent<HTMLInputElement>) => void;
|
|
48
|
+
handleNameChange: (event: import("react").ChangeEvent<HTMLInputElement>) => void;
|
|
49
|
+
clearSearch: () => void;
|
|
50
|
+
hasActiveSearch: boolean;
|
|
51
|
+
};
|
|
52
|
+
globalFilters: {
|
|
53
|
+
dateRange: import("../../context/scan-admin").DateRangeType;
|
|
54
|
+
enforcement: import("../../context/scan-admin").EnforcementType;
|
|
55
|
+
setDateRange: (range: import("../../context/scan-admin").DateRangeType) => void;
|
|
56
|
+
setEnforcement: (enforcement: import("../../context/scan-admin").EnforcementType) => void;
|
|
57
|
+
};
|
|
58
|
+
statusFilters: {
|
|
59
|
+
filters: Set<string>;
|
|
60
|
+
toggle: (status: string) => void;
|
|
61
|
+
menuAnchor: HTMLElement | null;
|
|
62
|
+
openMenu: (event: import("react").MouseEvent<HTMLElement, MouseEvent>) => void;
|
|
63
|
+
closeMenu: () => void;
|
|
64
|
+
};
|
|
65
|
+
pagination: {
|
|
66
|
+
currentPage: number;
|
|
67
|
+
pageSize: number;
|
|
68
|
+
totalPages: number;
|
|
69
|
+
totalItems: number;
|
|
70
|
+
isLoading: boolean;
|
|
71
|
+
goToPage: (page: number) => void;
|
|
72
|
+
goToNextPage: () => void;
|
|
73
|
+
goToPreviousPage: () => void;
|
|
74
|
+
goToFirstPage: () => void;
|
|
75
|
+
goToLastPage: () => void;
|
|
76
|
+
hasNextPage: boolean;
|
|
77
|
+
hasPreviousPage: boolean;
|
|
78
|
+
isFirstPage: boolean;
|
|
79
|
+
isLastPage: boolean;
|
|
80
|
+
startItem: number;
|
|
81
|
+
endItem: number;
|
|
82
|
+
};
|
|
83
|
+
};
|
|
84
|
+
export type UseScansTabReturn = ReturnType<typeof useScansTab>;
|
|
85
|
+
//# sourceMappingURL=use-scans-tab.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-scans-tab.d.ts","sourceRoot":"","sources":["../../../src/hooks/scan-admin/use-scans-tab.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;kFAWkF;;AAQlF;;;GAGG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkEvB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC"}
|
|
@@ -0,0 +1,87 @@
|
|
|
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 { useMemo } from 'react';
|
|
14
|
+
import { useScanContext } from '../../context/scan-admin';
|
|
15
|
+
import { useScanFilters } from './use-scan-filters';
|
|
16
|
+
import { usePagination } from './use-pagination';
|
|
17
|
+
import { useSearch } from './use-search';
|
|
18
|
+
/**
|
|
19
|
+
* Hook for the main Scans tab (tab index 0).
|
|
20
|
+
* Provides all data and actions needed for displaying scan overview.
|
|
21
|
+
*/
|
|
22
|
+
export const useScansTab = () => {
|
|
23
|
+
const { state, actions } = useScanContext();
|
|
24
|
+
const { globalFilters, statusFilters } = useScanFilters();
|
|
25
|
+
const pagination = usePagination();
|
|
26
|
+
const search = useSearch();
|
|
27
|
+
// Get scan counts for display
|
|
28
|
+
const counts = useMemo(() => {
|
|
29
|
+
if (!state.scanCounts) {
|
|
30
|
+
return {
|
|
31
|
+
started: 0,
|
|
32
|
+
validating: 0,
|
|
33
|
+
scanning: 0,
|
|
34
|
+
passed: 0,
|
|
35
|
+
quarantined: 0,
|
|
36
|
+
autoRejected: 0,
|
|
37
|
+
error: 0,
|
|
38
|
+
allowed: 0,
|
|
39
|
+
blocked: 0,
|
|
40
|
+
needsReview: 0,
|
|
41
|
+
total: 0,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
return {
|
|
45
|
+
started: state.scanCounts.STARTED,
|
|
46
|
+
validating: state.scanCounts.VALIDATING,
|
|
47
|
+
scanning: state.scanCounts.SCANNING,
|
|
48
|
+
passed: state.scanCounts.PASSED,
|
|
49
|
+
quarantined: state.scanCounts.QUARANTINED,
|
|
50
|
+
autoRejected: state.scanCounts.AUTO_REJECTED,
|
|
51
|
+
error: state.scanCounts.ERROR,
|
|
52
|
+
allowed: state.scanCounts.ALLOWED,
|
|
53
|
+
blocked: state.scanCounts.BLOCKED,
|
|
54
|
+
needsReview: state.scanCounts.NEEDS_REVIEW,
|
|
55
|
+
// Total = sum of scan statuses only (ALLOWED/BLOCKED/NEEDS_REVIEW are admin decisions, not statuses)
|
|
56
|
+
total: state.scanCounts.STARTED + state.scanCounts.VALIDATING + state.scanCounts.SCANNING +
|
|
57
|
+
state.scanCounts.PASSED + state.scanCounts.QUARANTINED + state.scanCounts.AUTO_REJECTED +
|
|
58
|
+
state.scanCounts.ERROR,
|
|
59
|
+
};
|
|
60
|
+
}, [state.scanCounts]);
|
|
61
|
+
return useMemo(() => ({
|
|
62
|
+
tabIndex: 0,
|
|
63
|
+
tabName: 'Scans',
|
|
64
|
+
scans: state.scans,
|
|
65
|
+
isLoading: state.isLoadingScans,
|
|
66
|
+
lastRefreshed: state.lastRefreshed,
|
|
67
|
+
autoRefresh: state.autoRefresh,
|
|
68
|
+
onAutoRefreshChange: actions.setAutoRefresh,
|
|
69
|
+
counts,
|
|
70
|
+
search,
|
|
71
|
+
globalFilters,
|
|
72
|
+
statusFilters,
|
|
73
|
+
pagination,
|
|
74
|
+
}), [
|
|
75
|
+
state.scans,
|
|
76
|
+
state.isLoadingScans,
|
|
77
|
+
state.lastRefreshed,
|
|
78
|
+
state.autoRefresh,
|
|
79
|
+
actions.setAutoRefresh,
|
|
80
|
+
counts,
|
|
81
|
+
search,
|
|
82
|
+
globalFilters,
|
|
83
|
+
statusFilters,
|
|
84
|
+
pagination,
|
|
85
|
+
]);
|
|
86
|
+
};
|
|
87
|
+
//# sourceMappingURL=use-scans-tab.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-scans-tab.js","sourceRoot":"","sources":["../../../src/hooks/scan-admin/use-scans-tab.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;kFAWkF;AAElF,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,EAAE;IAC5B,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,cAAc,EAAE,CAAC;IAC5C,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,cAAc,EAAE,CAAC;IAC1D,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,8BAA8B;IAC9B,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE;QACxB,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE;YACnB,OAAO;gBACH,OAAO,EAAE,CAAC;gBACV,UAAU,EAAE,CAAC;gBACb,QAAQ,EAAE,CAAC;gBACX,MAAM,EAAE,CAAC;gBACT,WAAW,EAAE,CAAC;gBACd,YAAY,EAAE,CAAC;gBACf,KAAK,EAAE,CAAC;gBACR,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE,CAAC;gBACV,WAAW,EAAE,CAAC;gBACd,KAAK,EAAE,CAAC;aACX,CAAC;SACL;QACD,OAAO;YACH,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,OAAO;YACjC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,UAAU;YACvC,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,QAAQ;YACnC,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC,MAAM;YAC/B,WAAW,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW;YACzC,YAAY,EAAE,KAAK,CAAC,UAAU,CAAC,aAAa;YAC5C,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK;YAC7B,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,OAAO;YACjC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,OAAO;YACjC,WAAW,EAAE,KAAK,CAAC,UAAU,CAAC,YAAY;YAC1C,qGAAqG;YACrG,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ;gBAClF,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,WAAW,GAAG,KAAK,CAAC,UAAU,CAAC,aAAa;gBACvF,KAAK,CAAC,UAAU,CAAC,KAAK;SAChC,CAAC;IACN,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;IAEvB,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAClB,QAAQ,EAAE,CAAC;QACX,OAAO,EAAE,OAAO;QAChB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,SAAS,EAAE,KAAK,CAAC,cAAc;QAC/B,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,mBAAmB,EAAE,OAAO,CAAC,cAAc;QAC3C,MAAM;QACN,MAAM;QACN,aAAa;QACb,aAAa;QACb,UAAU;KACb,CAAC,EAAE;QACA,KAAK,CAAC,KAAK;QACX,KAAK,CAAC,cAAc;QACpB,KAAK,CAAC,aAAa;QACnB,KAAK,CAAC,WAAW;QACjB,OAAO,CAAC,cAAc;QACtB,MAAM;QACN,MAAM;QACN,aAAa;QACb,aAAa;QACb,UAAU;KACb,CAAC,CAAC;AACP,CAAC,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
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
|
+
/// <reference types="react" />
|
|
14
|
+
/**
|
|
15
|
+
* Hook for managing search state and actions.
|
|
16
|
+
* Provides publisher, namespace, and name search functionality.
|
|
17
|
+
*/
|
|
18
|
+
export declare const useSearch: () => {
|
|
19
|
+
publisherQuery: string;
|
|
20
|
+
namespaceQuery: string;
|
|
21
|
+
nameQuery: string;
|
|
22
|
+
setPublisherQuery: (query: string) => void;
|
|
23
|
+
setNamespaceQuery: (query: string) => void;
|
|
24
|
+
setNameQuery: (query: string) => void;
|
|
25
|
+
handlePublisherChange: (event: import("react").ChangeEvent<HTMLInputElement>) => void;
|
|
26
|
+
handleNamespaceChange: (event: import("react").ChangeEvent<HTMLInputElement>) => void;
|
|
27
|
+
handleNameChange: (event: import("react").ChangeEvent<HTMLInputElement>) => void;
|
|
28
|
+
clearSearch: () => void;
|
|
29
|
+
hasActiveSearch: boolean;
|
|
30
|
+
};
|
|
31
|
+
export type UseSearchReturn = ReturnType<typeof useSearch>;
|
|
32
|
+
//# sourceMappingURL=use-search.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-search.d.ts","sourceRoot":"","sources":["../../../src/hooks/scan-admin/use-search.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;kFAWkF;;AAKlF;;;GAGG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;CA+BrB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
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 { useMemo, useCallback } from 'react';
|
|
14
|
+
import { useScanContext } from '../../context/scan-admin';
|
|
15
|
+
/**
|
|
16
|
+
* Hook for managing search state and actions.
|
|
17
|
+
* Provides publisher, namespace, and name search functionality.
|
|
18
|
+
*/
|
|
19
|
+
export const useSearch = () => {
|
|
20
|
+
const { state, actions, dispatch } = useScanContext();
|
|
21
|
+
const clearSearch = useCallback(() => {
|
|
22
|
+
dispatch({ type: 'CLEAR_SEARCH' });
|
|
23
|
+
}, [dispatch]);
|
|
24
|
+
const hasActiveSearch = useMemo(() => {
|
|
25
|
+
return !!(state.publisherQuery || state.namespaceQuery || state.nameQuery);
|
|
26
|
+
}, [state.publisherQuery, state.namespaceQuery, state.nameQuery]);
|
|
27
|
+
return useMemo(() => ({
|
|
28
|
+
publisherQuery: state.publisherQuery,
|
|
29
|
+
namespaceQuery: state.namespaceQuery,
|
|
30
|
+
nameQuery: state.nameQuery,
|
|
31
|
+
setPublisherQuery: actions.setPublisherQuery,
|
|
32
|
+
setNamespaceQuery: actions.setNamespaceQuery,
|
|
33
|
+
setNameQuery: actions.setNameQuery,
|
|
34
|
+
handlePublisherChange: actions.handlePublisherChange,
|
|
35
|
+
handleNamespaceChange: actions.handleNamespaceChange,
|
|
36
|
+
handleNameChange: actions.handleNameChange,
|
|
37
|
+
clearSearch,
|
|
38
|
+
hasActiveSearch,
|
|
39
|
+
}), [
|
|
40
|
+
state.publisherQuery,
|
|
41
|
+
state.namespaceQuery,
|
|
42
|
+
state.nameQuery,
|
|
43
|
+
actions,
|
|
44
|
+
clearSearch,
|
|
45
|
+
hasActiveSearch,
|
|
46
|
+
]);
|
|
47
|
+
};
|
|
48
|
+
//# sourceMappingURL=use-search.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-search.js","sourceRoot":"","sources":["../../../src/hooks/scan-admin/use-search.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;kFAWkF;AAElF,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D;;;GAGG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,EAAE;IAC1B,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,cAAc,EAAE,CAAC;IAEtD,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE;QACjC,QAAQ,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;IACvC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,EAAE;QACjC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC;IAC/E,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;IAElE,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAClB,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;QAC5C,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;QAC5C,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,qBAAqB,EAAE,OAAO,CAAC,qBAAqB;QACpD,qBAAqB,EAAE,OAAO,CAAC,qBAAqB;QACpD,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;QAC1C,WAAW;QACX,eAAe;KAClB,CAAC,EAAE;QACA,KAAK,CAAC,cAAc;QACpB,KAAK,CAAC,cAAc;QACpB,KAAK,CAAC,SAAS;QACf,OAAO;QACP,WAAW;QACX,eAAe;KAClB,CAAC,CAAC;AACP,CAAC,CAAC"}
|
|
@@ -0,0 +1,96 @@
|
|
|
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
|
+
/**
|
|
14
|
+
* Tab definitions for the Scans Admin page.
|
|
15
|
+
*/
|
|
16
|
+
export declare const TAB_DEFINITIONS: readonly [{
|
|
17
|
+
readonly index: 0;
|
|
18
|
+
readonly name: "Scans";
|
|
19
|
+
readonly path: "scans";
|
|
20
|
+
}, {
|
|
21
|
+
readonly index: 1;
|
|
22
|
+
readonly name: "Quarantined";
|
|
23
|
+
readonly path: "quarantined";
|
|
24
|
+
}, {
|
|
25
|
+
readonly index: 2;
|
|
26
|
+
readonly name: "Auto Rejected";
|
|
27
|
+
readonly path: "auto-rejected";
|
|
28
|
+
}, {
|
|
29
|
+
readonly index: 3;
|
|
30
|
+
readonly name: "Allowed Files";
|
|
31
|
+
readonly path: "allowed-files";
|
|
32
|
+
}, {
|
|
33
|
+
readonly index: 4;
|
|
34
|
+
readonly name: "Blocked Files";
|
|
35
|
+
readonly path: "blocked-files";
|
|
36
|
+
}];
|
|
37
|
+
export type TabIndex = 0 | 1 | 2 | 3 | 4;
|
|
38
|
+
export type TabName = typeof TAB_DEFINITIONS[number]['name'];
|
|
39
|
+
/**
|
|
40
|
+
* Hook for managing tab navigation state and actions.
|
|
41
|
+
*/
|
|
42
|
+
export declare const useTabNavigation: () => {
|
|
43
|
+
selectedTab: number;
|
|
44
|
+
currentTab: {
|
|
45
|
+
readonly index: 0;
|
|
46
|
+
readonly name: "Scans";
|
|
47
|
+
readonly path: "scans";
|
|
48
|
+
} | {
|
|
49
|
+
readonly index: 1;
|
|
50
|
+
readonly name: "Quarantined";
|
|
51
|
+
readonly path: "quarantined";
|
|
52
|
+
} | {
|
|
53
|
+
readonly index: 2;
|
|
54
|
+
readonly name: "Auto Rejected";
|
|
55
|
+
readonly path: "auto-rejected";
|
|
56
|
+
} | {
|
|
57
|
+
readonly index: 3;
|
|
58
|
+
readonly name: "Allowed Files";
|
|
59
|
+
readonly path: "allowed-files";
|
|
60
|
+
} | {
|
|
61
|
+
readonly index: 4;
|
|
62
|
+
readonly name: "Blocked Files";
|
|
63
|
+
readonly path: "blocked-files";
|
|
64
|
+
};
|
|
65
|
+
tabs: readonly [{
|
|
66
|
+
readonly index: 0;
|
|
67
|
+
readonly name: "Scans";
|
|
68
|
+
readonly path: "scans";
|
|
69
|
+
}, {
|
|
70
|
+
readonly index: 1;
|
|
71
|
+
readonly name: "Quarantined";
|
|
72
|
+
readonly path: "quarantined";
|
|
73
|
+
}, {
|
|
74
|
+
readonly index: 2;
|
|
75
|
+
readonly name: "Auto Rejected";
|
|
76
|
+
readonly path: "auto-rejected";
|
|
77
|
+
}, {
|
|
78
|
+
readonly index: 3;
|
|
79
|
+
readonly name: "Allowed Files";
|
|
80
|
+
readonly path: "allowed-files";
|
|
81
|
+
}, {
|
|
82
|
+
readonly index: 4;
|
|
83
|
+
readonly name: "Blocked Files";
|
|
84
|
+
readonly path: "blocked-files";
|
|
85
|
+
}];
|
|
86
|
+
setTab: (tab: number) => void;
|
|
87
|
+
isScansTab: boolean;
|
|
88
|
+
isQuarantinedTab: boolean;
|
|
89
|
+
isAutoRejectedTab: boolean;
|
|
90
|
+
isAllowListTab: boolean;
|
|
91
|
+
isBlockListTab: boolean;
|
|
92
|
+
isScanDataTab: boolean;
|
|
93
|
+
isFileDataTab: boolean;
|
|
94
|
+
};
|
|
95
|
+
export type UseTabNavigationReturn = ReturnType<typeof useTabNavigation>;
|
|
96
|
+
//# sourceMappingURL=use-tab-navigation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-tab-navigation.d.ts","sourceRoot":"","sources":["../../../src/hooks/scan-admin/use-tab-navigation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;kFAWkF;AAKlF;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;EAMlB,CAAC;AAEX,MAAM,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACzC,MAAM,MAAM,OAAO,GAAG,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7D;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAGQ,MAAM;;;;;;;;CA2C1C,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC"}
|
|
@@ -0,0 +1,70 @@
|
|
|
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 { useMemo, useCallback } from 'react';
|
|
14
|
+
import { useScanContext } from '../../context/scan-admin';
|
|
15
|
+
/**
|
|
16
|
+
* Tab definitions for the Scans Admin page.
|
|
17
|
+
*/
|
|
18
|
+
export const TAB_DEFINITIONS = [
|
|
19
|
+
{ index: 0, name: 'Scans', path: 'scans' },
|
|
20
|
+
{ index: 1, name: 'Quarantined', path: 'quarantined' },
|
|
21
|
+
{ index: 2, name: 'Auto Rejected', path: 'auto-rejected' },
|
|
22
|
+
{ index: 3, name: 'Allowed Files', path: 'allowed-files' },
|
|
23
|
+
{ index: 4, name: 'Blocked Files', path: 'blocked-files' },
|
|
24
|
+
];
|
|
25
|
+
/**
|
|
26
|
+
* Hook for managing tab navigation state and actions.
|
|
27
|
+
*/
|
|
28
|
+
export const useTabNavigation = () => {
|
|
29
|
+
const { state, actions } = useScanContext();
|
|
30
|
+
const setTab = useCallback((tab) => {
|
|
31
|
+
if (tab >= 0 && tab <= 4) {
|
|
32
|
+
actions.setTab(tab);
|
|
33
|
+
}
|
|
34
|
+
}, [actions]);
|
|
35
|
+
const currentTab = useMemo(() => {
|
|
36
|
+
return TAB_DEFINITIONS[state.selectedTab] || TAB_DEFINITIONS[0];
|
|
37
|
+
}, [state.selectedTab]);
|
|
38
|
+
const isScansTab = state.selectedTab === 0;
|
|
39
|
+
const isQuarantinedTab = state.selectedTab === 1;
|
|
40
|
+
const isAutoRejectedTab = state.selectedTab === 2;
|
|
41
|
+
const isAllowListTab = state.selectedTab === 3;
|
|
42
|
+
const isBlockListTab = state.selectedTab === 4;
|
|
43
|
+
const isScanDataTab = state.selectedTab <= 2;
|
|
44
|
+
const isFileDataTab = state.selectedTab >= 3;
|
|
45
|
+
return useMemo(() => ({
|
|
46
|
+
selectedTab: state.selectedTab,
|
|
47
|
+
currentTab,
|
|
48
|
+
tabs: TAB_DEFINITIONS,
|
|
49
|
+
setTab,
|
|
50
|
+
isScansTab,
|
|
51
|
+
isQuarantinedTab,
|
|
52
|
+
isAutoRejectedTab,
|
|
53
|
+
isAllowListTab,
|
|
54
|
+
isBlockListTab,
|
|
55
|
+
isScanDataTab,
|
|
56
|
+
isFileDataTab,
|
|
57
|
+
}), [
|
|
58
|
+
state.selectedTab,
|
|
59
|
+
currentTab,
|
|
60
|
+
setTab,
|
|
61
|
+
isScansTab,
|
|
62
|
+
isQuarantinedTab,
|
|
63
|
+
isAutoRejectedTab,
|
|
64
|
+
isAllowListTab,
|
|
65
|
+
isBlockListTab,
|
|
66
|
+
isScanDataTab,
|
|
67
|
+
isFileDataTab,
|
|
68
|
+
]);
|
|
69
|
+
};
|
|
70
|
+
//# sourceMappingURL=use-tab-navigation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-tab-navigation.js","sourceRoot":"","sources":["../../../src/hooks/scan-admin/use-tab-navigation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;kFAWkF;AAElF,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC3B,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE;IAC1C,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,EAAE;IACtD,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,eAAe,EAAE;IAC1D,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,eAAe,EAAE;IAC1D,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,eAAe,EAAE;CACpD,CAAC;AAKX;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACjC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,cAAc,EAAE,CAAC;IAE5C,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,GAAW,EAAE,EAAE;QACvC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE;YACtB,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SACvB;IACL,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE;QAC5B,OAAO,eAAe,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC;IACpE,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;IAExB,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,KAAK,CAAC,CAAC;IAC3C,MAAM,gBAAgB,GAAG,KAAK,CAAC,WAAW,KAAK,CAAC,CAAC;IACjD,MAAM,iBAAiB,GAAG,KAAK,CAAC,WAAW,KAAK,CAAC,CAAC;IAClD,MAAM,cAAc,GAAG,KAAK,CAAC,WAAW,KAAK,CAAC,CAAC;IAC/C,MAAM,cAAc,GAAG,KAAK,CAAC,WAAW,KAAK,CAAC,CAAC;IAE/C,MAAM,aAAa,GAAG,KAAK,CAAC,WAAW,IAAI,CAAC,CAAC;IAC7C,MAAM,aAAa,GAAG,KAAK,CAAC,WAAW,IAAI,CAAC,CAAC;IAE7C,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAClB,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,UAAU;QACV,IAAI,EAAE,eAAe;QACrB,MAAM;QACN,UAAU;QACV,gBAAgB;QAChB,iBAAiB;QACjB,cAAc;QACd,cAAc;QACd,aAAa;QACb,aAAa;KAChB,CAAC,EAAE;QACA,KAAK,CAAC,WAAW;QACjB,UAAU;QACV,MAAM;QACN,UAAU;QACV,gBAAgB;QAChB,iBAAiB;QACjB,cAAc;QACd,cAAc;QACd,aAAa;QACb,aAAa;KAChB,CAAC,CAAC;AACP,CAAC,CAAC"}
|
|
@@ -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
|
+
/**
|
|
14
|
+
* Hook to sync scan admin state with URL parameters.
|
|
15
|
+
* This enables bookmarkable URLs and browser back/forward navigation.
|
|
16
|
+
*/
|
|
17
|
+
export declare const useUrlSync: () => {
|
|
18
|
+
initializeFromUrl: () => void;
|
|
19
|
+
updateUrlFromState: () => void;
|
|
20
|
+
};
|
|
21
|
+
export type UseUrlSyncReturn = ReturnType<typeof useUrlSync>;
|
|
22
|
+
//# sourceMappingURL=use-url-sync.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-url-sync.d.ts","sourceRoot":"","sources":["../../../src/hooks/scan-admin/use-url-sync.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;kFAWkF;AAsDlF;;;GAGG;AACH,eAAO,MAAM,UAAU;;;CA6NtB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC"}
|