@burdenoff/microfe-assethandler 2026.510.104
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/README.md +12 -0
- package/dist/assethandler/AssetHandlerRoot.d.ts +5 -0
- package/dist/assethandler/AssetHandlerRoot.d.ts.map +1 -0
- package/dist/assethandler/AssetHandlerRoot.js +159 -0
- package/dist/assethandler/AssetHandlerRoot.js.map +1 -0
- package/dist/assethandler/AssetHandlerRoutes.d.ts +2 -0
- package/dist/assethandler/AssetHandlerRoutes.d.ts.map +1 -0
- package/dist/assethandler/AssetHandlerRoutes.js +255 -0
- package/dist/assethandler/AssetHandlerRoutes.js.map +1 -0
- package/dist/assethandler/index.d.ts +5 -0
- package/dist/assethandler/index.d.ts.map +1 -0
- package/dist/assethandler/index.js +3 -0
- package/dist/assethandler/pages/AiPredictionsPage.d.ts +2 -0
- package/dist/assethandler/pages/AiPredictionsPage.d.ts.map +1 -0
- package/dist/assethandler/pages/AiPredictionsPage.js +133 -0
- package/dist/assethandler/pages/AiPredictionsPage.js.map +1 -0
- package/dist/assethandler/pages/AnalyticsPage.d.ts +2 -0
- package/dist/assethandler/pages/AnalyticsPage.d.ts.map +1 -0
- package/dist/assethandler/pages/AnalyticsPage.js +576 -0
- package/dist/assethandler/pages/AnalyticsPage.js.map +1 -0
- package/dist/assethandler/pages/AssetsAssetCategoriesPage.d.ts +2 -0
- package/dist/assethandler/pages/AssetsAssetCategoriesPage.d.ts.map +1 -0
- package/dist/assethandler/pages/AssetsAssetCategoriesPage.js +162 -0
- package/dist/assethandler/pages/AssetsAssetCategoriesPage.js.map +1 -0
- package/dist/assethandler/pages/AssetsAssetCheckInOutPage.d.ts +2 -0
- package/dist/assethandler/pages/AssetsAssetCheckInOutPage.d.ts.map +1 -0
- package/dist/assethandler/pages/AssetsAssetCheckInOutPage.js +249 -0
- package/dist/assethandler/pages/AssetsAssetCheckInOutPage.js.map +1 -0
- package/dist/assethandler/pages/AssetsAssetCreatePage.d.ts +2 -0
- package/dist/assethandler/pages/AssetsAssetCreatePage.d.ts.map +1 -0
- package/dist/assethandler/pages/AssetsAssetCreatePage.js +323 -0
- package/dist/assethandler/pages/AssetsAssetCreatePage.js.map +1 -0
- package/dist/assethandler/pages/AssetsAssetDetailPage.d.ts +2 -0
- package/dist/assethandler/pages/AssetsAssetDetailPage.d.ts.map +1 -0
- package/dist/assethandler/pages/AssetsAssetDetailPage.js +392 -0
- package/dist/assethandler/pages/AssetsAssetDetailPage.js.map +1 -0
- package/dist/assethandler/pages/AssetsAssetEditPage.d.ts +2 -0
- package/dist/assethandler/pages/AssetsAssetEditPage.d.ts.map +1 -0
- package/dist/assethandler/pages/AssetsAssetEditPage.js +341 -0
- package/dist/assethandler/pages/AssetsAssetEditPage.js.map +1 -0
- package/dist/assethandler/pages/AssetsAssetListPage.d.ts +2 -0
- package/dist/assethandler/pages/AssetsAssetListPage.d.ts.map +1 -0
- package/dist/assethandler/pages/AssetsAssetListPage.js +459 -0
- package/dist/assethandler/pages/AssetsAssetListPage.js.map +1 -0
- package/dist/assethandler/pages/AssetsAssetTrackingPage.d.ts +2 -0
- package/dist/assethandler/pages/AssetsAssetTrackingPage.d.ts.map +1 -0
- package/dist/assethandler/pages/AssetsAssetTrackingPage.js +166 -0
- package/dist/assethandler/pages/AssetsAssetTrackingPage.js.map +1 -0
- package/dist/assethandler/pages/AuditTrailPage.d.ts +2 -0
- package/dist/assethandler/pages/AuditTrailPage.d.ts.map +1 -0
- package/dist/assethandler/pages/AuditTrailPage.js +197 -0
- package/dist/assethandler/pages/AuditTrailPage.js.map +1 -0
- package/dist/assethandler/pages/CmdbBrowserPage.d.ts +2 -0
- package/dist/assethandler/pages/CmdbBrowserPage.d.ts.map +1 -0
- package/dist/assethandler/pages/CmdbBrowserPage.js +75 -0
- package/dist/assethandler/pages/CmdbBrowserPage.js.map +1 -0
- package/dist/assethandler/pages/DashboardPage.d.ts +2 -0
- package/dist/assethandler/pages/DashboardPage.d.ts.map +1 -0
- package/dist/assethandler/pages/DashboardPage.js +336 -0
- package/dist/assethandler/pages/DashboardPage.js.map +1 -0
- package/dist/assethandler/pages/DigitalTwinPage.d.ts +2 -0
- package/dist/assethandler/pages/DigitalTwinPage.d.ts.map +1 -0
- package/dist/assethandler/pages/DigitalTwinPage.js +71 -0
- package/dist/assethandler/pages/DigitalTwinPage.js.map +1 -0
- package/dist/assethandler/pages/DiscoveryJobsPage.d.ts +2 -0
- package/dist/assethandler/pages/DiscoveryJobsPage.d.ts.map +1 -0
- package/dist/assethandler/pages/DiscoveryJobsPage.js +115 -0
- package/dist/assethandler/pages/DiscoveryJobsPage.js.map +1 -0
- package/dist/assethandler/pages/EsgDashboardPage.d.ts +2 -0
- package/dist/assethandler/pages/EsgDashboardPage.d.ts.map +1 -0
- package/dist/assethandler/pages/EsgDashboardPage.js +130 -0
- package/dist/assethandler/pages/EsgDashboardPage.js.map +1 -0
- package/dist/assethandler/pages/FinanceBudgetDetailPage.d.ts +2 -0
- package/dist/assethandler/pages/FinanceBudgetDetailPage.d.ts.map +1 -0
- package/dist/assethandler/pages/FinanceBudgetDetailPage.js +182 -0
- package/dist/assethandler/pages/FinanceBudgetDetailPage.js.map +1 -0
- package/dist/assethandler/pages/FinanceFinanceHubPage.d.ts +2 -0
- package/dist/assethandler/pages/FinanceFinanceHubPage.d.ts.map +1 -0
- package/dist/assethandler/pages/FinanceFinanceHubPage.js +324 -0
- package/dist/assethandler/pages/FinanceFinanceHubPage.js.map +1 -0
- package/dist/assethandler/pages/FinanceInvoiceDetailPage.d.ts +2 -0
- package/dist/assethandler/pages/FinanceInvoiceDetailPage.d.ts.map +1 -0
- package/dist/assethandler/pages/FinanceInvoiceDetailPage.js +172 -0
- package/dist/assethandler/pages/FinanceInvoiceDetailPage.js.map +1 -0
- package/dist/assethandler/pages/IotDevicesPage.d.ts +2 -0
- package/dist/assethandler/pages/IotDevicesPage.d.ts.map +1 -0
- package/dist/assethandler/pages/IotDevicesPage.js +80 -0
- package/dist/assethandler/pages/IotDevicesPage.js.map +1 -0
- package/dist/assethandler/pages/ItilChangeDetailPage.d.ts +2 -0
- package/dist/assethandler/pages/ItilChangeDetailPage.d.ts.map +1 -0
- package/dist/assethandler/pages/ItilChangeDetailPage.js +221 -0
- package/dist/assethandler/pages/ItilChangeDetailPage.js.map +1 -0
- package/dist/assethandler/pages/ItilChangeManagementPage.d.ts +2 -0
- package/dist/assethandler/pages/ItilChangeManagementPage.d.ts.map +1 -0
- package/dist/assethandler/pages/ItilChangeManagementPage.js +179 -0
- package/dist/assethandler/pages/ItilChangeManagementPage.js.map +1 -0
- package/dist/assethandler/pages/ItilIncidentDetailPage.d.ts +2 -0
- package/dist/assethandler/pages/ItilIncidentDetailPage.d.ts.map +1 -0
- package/dist/assethandler/pages/ItilIncidentDetailPage.js +222 -0
- package/dist/assethandler/pages/ItilIncidentDetailPage.js.map +1 -0
- package/dist/assethandler/pages/ItilIncidentManagementPage.d.ts +2 -0
- package/dist/assethandler/pages/ItilIncidentManagementPage.d.ts.map +1 -0
- package/dist/assethandler/pages/ItilIncidentManagementPage.js +265 -0
- package/dist/assethandler/pages/ItilIncidentManagementPage.js.map +1 -0
- package/dist/assethandler/pages/ItilItilhubPage.d.ts +2 -0
- package/dist/assethandler/pages/ItilItilhubPage.d.ts.map +1 -0
- package/dist/assethandler/pages/ItilItilhubPage.js +374 -0
- package/dist/assethandler/pages/ItilItilhubPage.js.map +1 -0
- package/dist/assethandler/pages/ItilProblemDetailPage.d.ts +2 -0
- package/dist/assethandler/pages/ItilProblemDetailPage.d.ts.map +1 -0
- package/dist/assethandler/pages/ItilProblemDetailPage.js +177 -0
- package/dist/assethandler/pages/ItilProblemDetailPage.js.map +1 -0
- package/dist/assethandler/pages/ItilProblemManagementPage.d.ts +2 -0
- package/dist/assethandler/pages/ItilProblemManagementPage.d.ts.map +1 -0
- package/dist/assethandler/pages/ItilProblemManagementPage.js +167 -0
- package/dist/assethandler/pages/ItilProblemManagementPage.js.map +1 -0
- package/dist/assethandler/pages/KnowledgeBasePage.d.ts +2 -0
- package/dist/assethandler/pages/KnowledgeBasePage.d.ts.map +1 -0
- package/dist/assethandler/pages/KnowledgeBasePage.js +116 -0
- package/dist/assethandler/pages/KnowledgeBasePage.js.map +1 -0
- package/dist/assethandler/pages/MaintenanceMaintenanceCalendarPage.d.ts +2 -0
- package/dist/assethandler/pages/MaintenanceMaintenanceCalendarPage.d.ts.map +1 -0
- package/dist/assethandler/pages/MaintenanceMaintenanceCalendarPage.js +185 -0
- package/dist/assethandler/pages/MaintenanceMaintenanceCalendarPage.js.map +1 -0
- package/dist/assethandler/pages/MaintenanceMaintenanceSchedulerPage.d.ts +2 -0
- package/dist/assethandler/pages/MaintenanceMaintenanceSchedulerPage.d.ts.map +1 -0
- package/dist/assethandler/pages/MaintenanceMaintenanceSchedulerPage.js +133 -0
- package/dist/assethandler/pages/MaintenanceMaintenanceSchedulerPage.js.map +1 -0
- package/dist/assethandler/pages/MarketplaceMarketplaceDetailPage.d.ts +2 -0
- package/dist/assethandler/pages/MarketplaceMarketplaceDetailPage.d.ts.map +1 -0
- package/dist/assethandler/pages/MarketplaceMarketplaceDetailPage.js +166 -0
- package/dist/assethandler/pages/MarketplaceMarketplaceDetailPage.js.map +1 -0
- package/dist/assethandler/pages/MarketplaceMarketplaceListPage.d.ts +2 -0
- package/dist/assethandler/pages/MarketplaceMarketplaceListPage.d.ts.map +1 -0
- package/dist/assethandler/pages/MarketplaceMarketplaceListPage.js +155 -0
- package/dist/assethandler/pages/MarketplaceMarketplaceListPage.js.map +1 -0
- package/dist/assethandler/pages/MarketplaceMarketplaceOrdersPage.d.ts +2 -0
- package/dist/assethandler/pages/MarketplaceMarketplaceOrdersPage.d.ts.map +1 -0
- package/dist/assethandler/pages/MarketplaceMarketplaceOrdersPage.js +126 -0
- package/dist/assethandler/pages/MarketplaceMarketplaceOrdersPage.js.map +1 -0
- package/dist/assethandler/pages/MarketplaceMarketplaceSellPage.d.ts +2 -0
- package/dist/assethandler/pages/MarketplaceMarketplaceSellPage.d.ts.map +1 -0
- package/dist/assethandler/pages/MarketplaceMarketplaceSellPage.js +157 -0
- package/dist/assethandler/pages/MarketplaceMarketplaceSellPage.js.map +1 -0
- package/dist/assethandler/pages/OperationsMaintenanceDetailPage.d.ts +2 -0
- package/dist/assethandler/pages/OperationsMaintenanceDetailPage.d.ts.map +1 -0
- package/dist/assethandler/pages/OperationsMaintenanceDetailPage.js +179 -0
- package/dist/assethandler/pages/OperationsMaintenanceDetailPage.js.map +1 -0
- package/dist/assethandler/pages/OperationsOperationsHubPage.d.ts +2 -0
- package/dist/assethandler/pages/OperationsOperationsHubPage.d.ts.map +1 -0
- package/dist/assethandler/pages/OperationsOperationsHubPage.js +291 -0
- package/dist/assethandler/pages/OperationsOperationsHubPage.js.map +1 -0
- package/dist/assethandler/pages/OperationsWorkOrderDetailPage.d.ts +2 -0
- package/dist/assethandler/pages/OperationsWorkOrderDetailPage.d.ts.map +1 -0
- package/dist/assethandler/pages/OperationsWorkOrderDetailPage.js +172 -0
- package/dist/assethandler/pages/OperationsWorkOrderDetailPage.js.map +1 -0
- package/dist/assethandler/pages/PortfolioPortfolioOverviewPage.d.ts +2 -0
- package/dist/assethandler/pages/PortfolioPortfolioOverviewPage.d.ts.map +1 -0
- package/dist/assethandler/pages/PortfolioPortfolioOverviewPage.js +203 -0
- package/dist/assethandler/pages/PortfolioPortfolioOverviewPage.js.map +1 -0
- package/dist/assethandler/pages/ProvenancePage.d.ts +2 -0
- package/dist/assethandler/pages/ProvenancePage.d.ts.map +1 -0
- package/dist/assethandler/pages/ProvenancePage.js +118 -0
- package/dist/assethandler/pages/ProvenancePage.js.map +1 -0
- package/dist/assethandler/pages/ReportsReportBuilderPage.d.ts +2 -0
- package/dist/assethandler/pages/ReportsReportBuilderPage.d.ts.map +1 -0
- package/dist/assethandler/pages/ReportsReportBuilderPage.js +201 -0
- package/dist/assethandler/pages/ReportsReportBuilderPage.js.map +1 -0
- package/dist/assethandler/pages/ReportsReportsDashboardPage.d.ts +2 -0
- package/dist/assethandler/pages/ReportsReportsDashboardPage.d.ts.map +1 -0
- package/dist/assethandler/pages/ReportsReportsDashboardPage.js +201 -0
- package/dist/assethandler/pages/ReportsReportsDashboardPage.js.map +1 -0
- package/dist/assethandler/pages/ReportsReportsListPage.d.ts +2 -0
- package/dist/assethandler/pages/ReportsReportsListPage.d.ts.map +1 -0
- package/dist/assethandler/pages/ReportsReportsListPage.js +128 -0
- package/dist/assethandler/pages/ReportsReportsListPage.js.map +1 -0
- package/dist/assethandler/pages/SamLicensesPage.d.ts +2 -0
- package/dist/assethandler/pages/SamLicensesPage.d.ts.map +1 -0
- package/dist/assethandler/pages/SamLicensesPage.js +79 -0
- package/dist/assethandler/pages/SamLicensesPage.js.map +1 -0
- package/dist/assethandler/pages/SecurityComplianceDetailPage.d.ts +2 -0
- package/dist/assethandler/pages/SecurityComplianceDetailPage.d.ts.map +1 -0
- package/dist/assethandler/pages/SecurityComplianceDetailPage.js +109 -0
- package/dist/assethandler/pages/SecurityComplianceDetailPage.js.map +1 -0
- package/dist/assethandler/pages/SecurityPolicyDetailPage.d.ts +2 -0
- package/dist/assethandler/pages/SecurityPolicyDetailPage.d.ts.map +1 -0
- package/dist/assethandler/pages/SecurityPolicyDetailPage.js +133 -0
- package/dist/assethandler/pages/SecurityPolicyDetailPage.js.map +1 -0
- package/dist/assethandler/pages/SecurityScheduleBackupPage.d.ts +2 -0
- package/dist/assethandler/pages/SecurityScheduleBackupPage.d.ts.map +1 -0
- package/dist/assethandler/pages/SecurityScheduleBackupPage.js +143 -0
- package/dist/assethandler/pages/SecurityScheduleBackupPage.js.map +1 -0
- package/dist/assethandler/pages/SecuritySecurityEventDetailPage.d.ts +2 -0
- package/dist/assethandler/pages/SecuritySecurityEventDetailPage.d.ts.map +1 -0
- package/dist/assethandler/pages/SecuritySecurityEventDetailPage.js +135 -0
- package/dist/assethandler/pages/SecuritySecurityEventDetailPage.js.map +1 -0
- package/dist/assethandler/pages/SecuritySecurityHubPage.d.ts +2 -0
- package/dist/assethandler/pages/SecuritySecurityHubPage.d.ts.map +1 -0
- package/dist/assethandler/pages/SecuritySecurityHubPage.js +355 -0
- package/dist/assethandler/pages/SecuritySecurityHubPage.js.map +1 -0
- package/dist/assethandler/pages/TransactionsTransactionDetailPage.d.ts +2 -0
- package/dist/assethandler/pages/TransactionsTransactionDetailPage.d.ts.map +1 -0
- package/dist/assethandler/pages/TransactionsTransactionDetailPage.js +281 -0
- package/dist/assethandler/pages/TransactionsTransactionDetailPage.js.map +1 -0
- package/dist/assethandler/pages/TransactionsTransactionListPage.d.ts +2 -0
- package/dist/assethandler/pages/TransactionsTransactionListPage.d.ts.map +1 -0
- package/dist/assethandler/pages/TransactionsTransactionListPage.js +220 -0
- package/dist/assethandler/pages/TransactionsTransactionListPage.js.map +1 -0
- package/dist/assethandler/pages/UsersPage.d.ts +2 -0
- package/dist/assethandler/pages/UsersPage.d.ts.map +1 -0
- package/dist/assethandler/pages/UsersPage.js +183 -0
- package/dist/assethandler/pages/UsersPage.js.map +1 -0
- package/dist/assethandler/pages/UsersUserCreatePage.d.ts +2 -0
- package/dist/assethandler/pages/UsersUserCreatePage.d.ts.map +1 -0
- package/dist/assethandler/pages/UsersUserCreatePage.js +213 -0
- package/dist/assethandler/pages/UsersUserCreatePage.js.map +1 -0
- package/dist/assethandler/pages/UsersUserManagementHubPage.d.ts +2 -0
- package/dist/assethandler/pages/UsersUserManagementHubPage.d.ts.map +1 -0
- package/dist/assethandler/pages/UsersUserManagementHubPage.js +325 -0
- package/dist/assethandler/pages/UsersUserManagementHubPage.js.map +1 -0
- package/dist/assethandler/pages/WorkflowsWorkflowBuilderPage.d.ts +2 -0
- package/dist/assethandler/pages/WorkflowsWorkflowBuilderPage.d.ts.map +1 -0
- package/dist/assethandler/pages/WorkflowsWorkflowBuilderPage.js +246 -0
- package/dist/assethandler/pages/WorkflowsWorkflowBuilderPage.js.map +1 -0
- package/dist/assethandler/pages/WorkflowsWorkflowExecutionsPage.d.ts +2 -0
- package/dist/assethandler/pages/WorkflowsWorkflowExecutionsPage.d.ts.map +1 -0
- package/dist/assethandler/pages/WorkflowsWorkflowExecutionsPage.js +188 -0
- package/dist/assethandler/pages/WorkflowsWorkflowExecutionsPage.js.map +1 -0
- package/dist/assethandler/pages/WorkflowsWorkflowListPage.d.ts +2 -0
- package/dist/assethandler/pages/WorkflowsWorkflowListPage.d.ts.map +1 -0
- package/dist/assethandler/pages/WorkflowsWorkflowListPage.js +163 -0
- package/dist/assethandler/pages/WorkflowsWorkflowListPage.js.map +1 -0
- package/dist/assethandler/pages/WorkflowsWorkflowTemplatesPage.d.ts +2 -0
- package/dist/assethandler/pages/WorkflowsWorkflowTemplatesPage.d.ts.map +1 -0
- package/dist/assethandler/pages/WorkflowsWorkflowTemplatesPage.js +158 -0
- package/dist/assethandler/pages/WorkflowsWorkflowTemplatesPage.js.map +1 -0
- package/dist/assethandler/providers/AssetHandlerProvider.d.ts +6 -0
- package/dist/assethandler/providers/AssetHandlerProvider.d.ts.map +1 -0
- package/dist/assethandler/providers/AssetHandlerProvider.js +214 -0
- package/dist/assethandler/providers/AssetHandlerProvider.js.map +1 -0
- package/dist/assethandler/store/assethandlerStore.d.ts +635 -0
- package/dist/assethandler/store/assethandlerStore.d.ts.map +1 -0
- package/dist/assethandler/store/assethandlerStore.js +2337 -0
- package/dist/assethandler/store/assethandlerStore.js.map +1 -0
- package/dist/assethandler/types/index.d.ts +56 -0
- package/dist/assethandler/types/index.d.ts.map +1 -0
- package/dist/assethandler/utils/cn.d.ts +4 -0
- package/dist/assethandler/utils/cn.d.ts.map +1 -0
- package/dist/assethandler/utils/i18n.d.ts +6 -0
- package/dist/assethandler/utils/i18n.d.ts.map +1 -0
- package/dist/assethandler/utils/i18n.js +9 -0
- package/dist/assethandler/utils/i18n.js.map +1 -0
- package/dist/assethandler/utils/navigation.d.ts +2 -0
- package/dist/assethandler/utils/navigation.d.ts.map +1 -0
- package/dist/assethandler/utils/navigation.js +8 -0
- package/dist/assethandler/utils/navigation.js.map +1 -0
- package/dist/dev/main.d.ts +2 -0
- package/dist/dev/main.d.ts.map +1 -0
- package/dist/generated/global-operations.d.ts +2 -0
- package/dist/generated/global-operations.d.ts.map +1 -0
- package/dist/generated/global-types.d.ts +20716 -0
- package/dist/generated/global-types.d.ts.map +1 -0
- package/dist/generated/wspace-operations.d.ts +210 -0
- package/dist/generated/wspace-operations.d.ts.map +1 -0
- package/dist/generated/wspace-types.d.ts +53363 -0
- package/dist/generated/wspace-types.d.ts.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5 -0
- package/package.json +108 -0
|
@@ -0,0 +1,355 @@
|
|
|
1
|
+
import { useAssetHandlerStore as e } from "../store/assethandlerStore.js";
|
|
2
|
+
import { AlertTriangle as t, Eye as n, FileText as r, Shield as i } from "lucide-react";
|
|
3
|
+
import { Badge as a, Button as o, Card as s, CardContent as c, CardHeader as l, CardTitle as u, Tabs as d, TabsContent as f, TabsList as p, TabsTrigger as m } from "@burdenoff/fe-libs/ui";
|
|
4
|
+
import { jsx as h, jsxs as g } from "react/jsx-runtime";
|
|
5
|
+
//#region src/assethandler/pages/SecuritySecurityHubPage.tsx
|
|
6
|
+
var _ = {
|
|
7
|
+
critical: "destructive",
|
|
8
|
+
high: "destructive",
|
|
9
|
+
medium: "default",
|
|
10
|
+
low: "secondary",
|
|
11
|
+
info: "outline"
|
|
12
|
+
};
|
|
13
|
+
function v() {
|
|
14
|
+
let { securityEvents: v, complianceFrameworks: y, securityPolicies: b } = e(), x = v.filter((e) => !e.resolved);
|
|
15
|
+
v.filter((e) => e.severity === "critical" || e.severity === "high");
|
|
16
|
+
let S = b.filter((e) => e.status === "active"), C = y.length > 0 ? Math.round(y.reduce((e, t) => e + t.score, 0) / y.length) : 0;
|
|
17
|
+
return /* @__PURE__ */ g("div", {
|
|
18
|
+
className: "space-y-6 p-6",
|
|
19
|
+
children: [
|
|
20
|
+
/* @__PURE__ */ g("div", {
|
|
21
|
+
className: "flex items-center justify-between",
|
|
22
|
+
children: [/* @__PURE__ */ g("div", { children: [/* @__PURE__ */ h("h1", {
|
|
23
|
+
className: "text-2xl font-bold",
|
|
24
|
+
children: "Security Hub"
|
|
25
|
+
}), /* @__PURE__ */ h("p", {
|
|
26
|
+
className: "text-sm text-muted-foreground",
|
|
27
|
+
children: "Security monitoring, compliance, and policy management"
|
|
28
|
+
})] }), /* @__PURE__ */ g(o, {
|
|
29
|
+
size: "sm",
|
|
30
|
+
children: [/* @__PURE__ */ h(i, { className: "mr-2 h-4 w-4" }), "Security Report"]
|
|
31
|
+
})]
|
|
32
|
+
}),
|
|
33
|
+
/* @__PURE__ */ g("div", {
|
|
34
|
+
className: "grid gap-4 md:grid-cols-4",
|
|
35
|
+
children: [
|
|
36
|
+
/* @__PURE__ */ h(s, { children: /* @__PURE__ */ g(c, {
|
|
37
|
+
className: "pt-4",
|
|
38
|
+
children: [/* @__PURE__ */ g("div", {
|
|
39
|
+
className: "flex items-center gap-2 text-sm text-muted-foreground",
|
|
40
|
+
children: [/* @__PURE__ */ h(t, { className: "h-4 w-4" }), "Unresolved Events"]
|
|
41
|
+
}), /* @__PURE__ */ h("p", {
|
|
42
|
+
className: "text-2xl font-bold mt-1 text-red-600",
|
|
43
|
+
children: x.length
|
|
44
|
+
})]
|
|
45
|
+
}) }),
|
|
46
|
+
/* @__PURE__ */ h(s, { children: /* @__PURE__ */ g(c, {
|
|
47
|
+
className: "pt-4",
|
|
48
|
+
children: [/* @__PURE__ */ g("div", {
|
|
49
|
+
className: "flex items-center gap-2 text-sm text-muted-foreground",
|
|
50
|
+
children: [/* @__PURE__ */ h(i, { className: "h-4 w-4" }), "Compliance Score"]
|
|
51
|
+
}), /* @__PURE__ */ g("p", {
|
|
52
|
+
className: "text-2xl font-bold mt-1",
|
|
53
|
+
children: [C, "%"]
|
|
54
|
+
})]
|
|
55
|
+
}) }),
|
|
56
|
+
/* @__PURE__ */ h(s, { children: /* @__PURE__ */ g(c, {
|
|
57
|
+
className: "pt-4",
|
|
58
|
+
children: [/* @__PURE__ */ g("div", {
|
|
59
|
+
className: "flex items-center gap-2 text-sm text-muted-foreground",
|
|
60
|
+
children: [/* @__PURE__ */ h(r, { className: "h-4 w-4" }), "Active Policies"]
|
|
61
|
+
}), /* @__PURE__ */ h("p", {
|
|
62
|
+
className: "text-2xl font-bold mt-1",
|
|
63
|
+
children: S.length
|
|
64
|
+
})]
|
|
65
|
+
}) }),
|
|
66
|
+
/* @__PURE__ */ h(s, { children: /* @__PURE__ */ g(c, {
|
|
67
|
+
className: "pt-4",
|
|
68
|
+
children: [/* @__PURE__ */ g("div", {
|
|
69
|
+
className: "flex items-center gap-2 text-sm text-muted-foreground",
|
|
70
|
+
children: [/* @__PURE__ */ h(n, { className: "h-4 w-4" }), "Total Events"]
|
|
71
|
+
}), /* @__PURE__ */ h("p", {
|
|
72
|
+
className: "text-2xl font-bold mt-1",
|
|
73
|
+
children: v.length
|
|
74
|
+
})]
|
|
75
|
+
}) })
|
|
76
|
+
]
|
|
77
|
+
}),
|
|
78
|
+
/* @__PURE__ */ g(d, {
|
|
79
|
+
defaultValue: "events",
|
|
80
|
+
children: [
|
|
81
|
+
/* @__PURE__ */ g(p, { children: [
|
|
82
|
+
/* @__PURE__ */ h(m, {
|
|
83
|
+
value: "events",
|
|
84
|
+
children: "Security Events"
|
|
85
|
+
}),
|
|
86
|
+
/* @__PURE__ */ h(m, {
|
|
87
|
+
value: "compliance",
|
|
88
|
+
children: "Compliance"
|
|
89
|
+
}),
|
|
90
|
+
/* @__PURE__ */ h(m, {
|
|
91
|
+
value: "policies",
|
|
92
|
+
children: "Policies"
|
|
93
|
+
})
|
|
94
|
+
] }),
|
|
95
|
+
/* @__PURE__ */ h(f, {
|
|
96
|
+
value: "events",
|
|
97
|
+
className: "mt-4",
|
|
98
|
+
children: /* @__PURE__ */ h(s, { children: /* @__PURE__ */ h(c, {
|
|
99
|
+
className: "p-0",
|
|
100
|
+
children: /* @__PURE__ */ h("div", {
|
|
101
|
+
className: "overflow-x-auto",
|
|
102
|
+
children: /* @__PURE__ */ g("table", {
|
|
103
|
+
className: "w-full text-sm",
|
|
104
|
+
children: [/* @__PURE__ */ h("thead", { children: /* @__PURE__ */ g("tr", {
|
|
105
|
+
className: "border-b bg-muted/50",
|
|
106
|
+
children: [
|
|
107
|
+
/* @__PURE__ */ h("th", {
|
|
108
|
+
className: "text-left p-3 font-medium",
|
|
109
|
+
children: "ID"
|
|
110
|
+
}),
|
|
111
|
+
/* @__PURE__ */ h("th", {
|
|
112
|
+
className: "text-left p-3 font-medium",
|
|
113
|
+
children: "Type"
|
|
114
|
+
}),
|
|
115
|
+
/* @__PURE__ */ h("th", {
|
|
116
|
+
className: "text-left p-3 font-medium",
|
|
117
|
+
children: "Title"
|
|
118
|
+
}),
|
|
119
|
+
/* @__PURE__ */ h("th", {
|
|
120
|
+
className: "text-left p-3 font-medium",
|
|
121
|
+
children: "Severity"
|
|
122
|
+
}),
|
|
123
|
+
/* @__PURE__ */ h("th", {
|
|
124
|
+
className: "text-left p-3 font-medium",
|
|
125
|
+
children: "Source"
|
|
126
|
+
}),
|
|
127
|
+
/* @__PURE__ */ h("th", {
|
|
128
|
+
className: "text-left p-3 font-medium",
|
|
129
|
+
children: "Time"
|
|
130
|
+
}),
|
|
131
|
+
/* @__PURE__ */ h("th", {
|
|
132
|
+
className: "text-left p-3 font-medium",
|
|
133
|
+
children: "Status"
|
|
134
|
+
})
|
|
135
|
+
]
|
|
136
|
+
}) }), /* @__PURE__ */ h("tbody", { children: v.map((e) => /* @__PURE__ */ g("tr", {
|
|
137
|
+
className: "border-b hover:bg-muted/50 cursor-pointer",
|
|
138
|
+
children: [
|
|
139
|
+
/* @__PURE__ */ h("td", {
|
|
140
|
+
className: "p-3 font-mono text-xs",
|
|
141
|
+
children: e.id
|
|
142
|
+
}),
|
|
143
|
+
/* @__PURE__ */ h("td", {
|
|
144
|
+
className: "p-3 capitalize text-xs",
|
|
145
|
+
children: e.type.replace("_", " ")
|
|
146
|
+
}),
|
|
147
|
+
/* @__PURE__ */ g("td", {
|
|
148
|
+
className: "p-3",
|
|
149
|
+
children: [/* @__PURE__ */ h("p", {
|
|
150
|
+
className: "font-medium",
|
|
151
|
+
children: e.title
|
|
152
|
+
}), /* @__PURE__ */ h("p", {
|
|
153
|
+
className: "text-xs text-muted-foreground truncate max-w-xs",
|
|
154
|
+
children: e.description
|
|
155
|
+
})]
|
|
156
|
+
}),
|
|
157
|
+
/* @__PURE__ */ h("td", {
|
|
158
|
+
className: "p-3",
|
|
159
|
+
children: /* @__PURE__ */ h(a, {
|
|
160
|
+
variant: _[e.severity],
|
|
161
|
+
children: e.severity
|
|
162
|
+
})
|
|
163
|
+
}),
|
|
164
|
+
/* @__PURE__ */ h("td", {
|
|
165
|
+
className: "p-3 text-xs",
|
|
166
|
+
children: e.source
|
|
167
|
+
}),
|
|
168
|
+
/* @__PURE__ */ h("td", {
|
|
169
|
+
className: "p-3 text-xs",
|
|
170
|
+
children: new Date(e.timestamp).toLocaleString()
|
|
171
|
+
}),
|
|
172
|
+
/* @__PURE__ */ h("td", {
|
|
173
|
+
className: "p-3",
|
|
174
|
+
children: e.resolved ? /* @__PURE__ */ h(a, {
|
|
175
|
+
variant: "default",
|
|
176
|
+
children: "Resolved"
|
|
177
|
+
}) : /* @__PURE__ */ h(a, {
|
|
178
|
+
variant: "destructive",
|
|
179
|
+
children: "Open"
|
|
180
|
+
})
|
|
181
|
+
})
|
|
182
|
+
]
|
|
183
|
+
}, e.id)) })]
|
|
184
|
+
})
|
|
185
|
+
})
|
|
186
|
+
}) })
|
|
187
|
+
}),
|
|
188
|
+
/* @__PURE__ */ h(f, {
|
|
189
|
+
value: "compliance",
|
|
190
|
+
className: "mt-4",
|
|
191
|
+
children: /* @__PURE__ */ h("div", {
|
|
192
|
+
className: "grid gap-4 md:grid-cols-2",
|
|
193
|
+
children: y.map((e) => /* @__PURE__ */ g(s, { children: [/* @__PURE__ */ h(l, {
|
|
194
|
+
className: "pb-2",
|
|
195
|
+
children: /* @__PURE__ */ g("div", {
|
|
196
|
+
className: "flex items-center justify-between",
|
|
197
|
+
children: [/* @__PURE__ */ g(u, {
|
|
198
|
+
className: "text-base",
|
|
199
|
+
children: [
|
|
200
|
+
e.name,
|
|
201
|
+
" ",
|
|
202
|
+
e.version
|
|
203
|
+
]
|
|
204
|
+
}), /* @__PURE__ */ h(a, {
|
|
205
|
+
variant: e.status === "compliant" ? "default" : e.status === "non_compliant" ? "destructive" : "secondary",
|
|
206
|
+
children: e.status.replace("_", " ")
|
|
207
|
+
})]
|
|
208
|
+
})
|
|
209
|
+
}), /* @__PURE__ */ h(c, { children: /* @__PURE__ */ g("div", {
|
|
210
|
+
className: "space-y-3",
|
|
211
|
+
children: [
|
|
212
|
+
/* @__PURE__ */ g("div", {
|
|
213
|
+
className: "text-center",
|
|
214
|
+
children: [/* @__PURE__ */ g("p", {
|
|
215
|
+
className: "text-3xl font-bold",
|
|
216
|
+
children: [e.score, "%"]
|
|
217
|
+
}), /* @__PURE__ */ h("p", {
|
|
218
|
+
className: "text-xs text-muted-foreground",
|
|
219
|
+
children: "Compliance Score"
|
|
220
|
+
})]
|
|
221
|
+
}),
|
|
222
|
+
/* @__PURE__ */ h("div", {
|
|
223
|
+
className: "h-2 rounded-full bg-muted overflow-hidden",
|
|
224
|
+
children: /* @__PURE__ */ h("div", {
|
|
225
|
+
className: `h-full rounded-full ${e.score >= 90 ? "bg-green-500" : e.score >= 70 ? "bg-yellow-500" : "bg-red-500"}`,
|
|
226
|
+
style: { width: `${e.score}%` }
|
|
227
|
+
})
|
|
228
|
+
}),
|
|
229
|
+
/* @__PURE__ */ g("div", {
|
|
230
|
+
className: "grid grid-cols-3 gap-2 text-center text-xs",
|
|
231
|
+
children: [
|
|
232
|
+
/* @__PURE__ */ g("div", { children: [/* @__PURE__ */ h("p", {
|
|
233
|
+
className: "font-bold text-green-600",
|
|
234
|
+
children: e.passedControls
|
|
235
|
+
}), /* @__PURE__ */ h("p", {
|
|
236
|
+
className: "text-muted-foreground",
|
|
237
|
+
children: "Passed"
|
|
238
|
+
})] }),
|
|
239
|
+
/* @__PURE__ */ g("div", { children: [/* @__PURE__ */ h("p", {
|
|
240
|
+
className: "font-bold text-red-600",
|
|
241
|
+
children: e.failedControls
|
|
242
|
+
}), /* @__PURE__ */ h("p", {
|
|
243
|
+
className: "text-muted-foreground",
|
|
244
|
+
children: "Failed"
|
|
245
|
+
})] }),
|
|
246
|
+
/* @__PURE__ */ g("div", { children: [/* @__PURE__ */ h("p", {
|
|
247
|
+
className: "font-bold",
|
|
248
|
+
children: e.totalControls
|
|
249
|
+
}), /* @__PURE__ */ h("p", {
|
|
250
|
+
className: "text-muted-foreground",
|
|
251
|
+
children: "Total"
|
|
252
|
+
})] })
|
|
253
|
+
]
|
|
254
|
+
}),
|
|
255
|
+
/* @__PURE__ */ g("div", {
|
|
256
|
+
className: "text-xs text-muted-foreground",
|
|
257
|
+
children: [
|
|
258
|
+
"Last: ",
|
|
259
|
+
e.lastAssessment,
|
|
260
|
+
" · Next: ",
|
|
261
|
+
e.nextAssessment
|
|
262
|
+
]
|
|
263
|
+
})
|
|
264
|
+
]
|
|
265
|
+
}) })] }, e.id))
|
|
266
|
+
})
|
|
267
|
+
}),
|
|
268
|
+
/* @__PURE__ */ h(f, {
|
|
269
|
+
value: "policies",
|
|
270
|
+
className: "mt-4",
|
|
271
|
+
children: /* @__PURE__ */ h(s, { children: /* @__PURE__ */ h(c, {
|
|
272
|
+
className: "p-0",
|
|
273
|
+
children: /* @__PURE__ */ h("div", {
|
|
274
|
+
className: "overflow-x-auto",
|
|
275
|
+
children: /* @__PURE__ */ g("table", {
|
|
276
|
+
className: "w-full text-sm",
|
|
277
|
+
children: [/* @__PURE__ */ h("thead", { children: /* @__PURE__ */ g("tr", {
|
|
278
|
+
className: "border-b bg-muted/50",
|
|
279
|
+
children: [
|
|
280
|
+
/* @__PURE__ */ h("th", {
|
|
281
|
+
className: "text-left p-3 font-medium",
|
|
282
|
+
children: "Name"
|
|
283
|
+
}),
|
|
284
|
+
/* @__PURE__ */ h("th", {
|
|
285
|
+
className: "text-left p-3 font-medium",
|
|
286
|
+
children: "Category"
|
|
287
|
+
}),
|
|
288
|
+
/* @__PURE__ */ h("th", {
|
|
289
|
+
className: "text-left p-3 font-medium",
|
|
290
|
+
children: "Version"
|
|
291
|
+
}),
|
|
292
|
+
/* @__PURE__ */ h("th", {
|
|
293
|
+
className: "text-left p-3 font-medium",
|
|
294
|
+
children: "Status"
|
|
295
|
+
}),
|
|
296
|
+
/* @__PURE__ */ h("th", {
|
|
297
|
+
className: "text-left p-3 font-medium",
|
|
298
|
+
children: "Owner"
|
|
299
|
+
}),
|
|
300
|
+
/* @__PURE__ */ h("th", {
|
|
301
|
+
className: "text-left p-3 font-medium",
|
|
302
|
+
children: "Review Date"
|
|
303
|
+
})
|
|
304
|
+
]
|
|
305
|
+
}) }), /* @__PURE__ */ h("tbody", { children: b.map((e) => /* @__PURE__ */ g("tr", {
|
|
306
|
+
className: "border-b hover:bg-muted/50 cursor-pointer",
|
|
307
|
+
children: [
|
|
308
|
+
/* @__PURE__ */ g("td", {
|
|
309
|
+
className: "p-3",
|
|
310
|
+
children: [/* @__PURE__ */ h("p", {
|
|
311
|
+
className: "font-medium",
|
|
312
|
+
children: e.name
|
|
313
|
+
}), /* @__PURE__ */ h("p", {
|
|
314
|
+
className: "text-xs text-muted-foreground truncate max-w-xs",
|
|
315
|
+
children: e.description
|
|
316
|
+
})]
|
|
317
|
+
}),
|
|
318
|
+
/* @__PURE__ */ h("td", {
|
|
319
|
+
className: "p-3 text-xs",
|
|
320
|
+
children: e.category
|
|
321
|
+
}),
|
|
322
|
+
/* @__PURE__ */ g("td", {
|
|
323
|
+
className: "p-3 text-xs",
|
|
324
|
+
children: ["v", e.version]
|
|
325
|
+
}),
|
|
326
|
+
/* @__PURE__ */ h("td", {
|
|
327
|
+
className: "p-3",
|
|
328
|
+
children: /* @__PURE__ */ h(a, {
|
|
329
|
+
variant: e.status === "active" ? "default" : e.status === "deprecated" ? "destructive" : "outline",
|
|
330
|
+
children: e.status.replace("_", " ")
|
|
331
|
+
})
|
|
332
|
+
}),
|
|
333
|
+
/* @__PURE__ */ h("td", {
|
|
334
|
+
className: "p-3 text-xs",
|
|
335
|
+
children: e.owner
|
|
336
|
+
}),
|
|
337
|
+
/* @__PURE__ */ h("td", {
|
|
338
|
+
className: "p-3 text-xs",
|
|
339
|
+
children: e.reviewDate
|
|
340
|
+
})
|
|
341
|
+
]
|
|
342
|
+
}, e.id)) })]
|
|
343
|
+
})
|
|
344
|
+
})
|
|
345
|
+
}) })
|
|
346
|
+
})
|
|
347
|
+
]
|
|
348
|
+
})
|
|
349
|
+
]
|
|
350
|
+
});
|
|
351
|
+
}
|
|
352
|
+
//#endregion
|
|
353
|
+
export { v as SecuritySecurityHubPage };
|
|
354
|
+
|
|
355
|
+
//# sourceMappingURL=SecuritySecurityHubPage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SecuritySecurityHubPage.js","names":[],"sources":["../../../src/assethandler/pages/SecuritySecurityHubPage.tsx"],"sourcesContent":["import {\n Badge,\n Button,\n Card,\n CardContent,\n CardDescription,\n CardHeader,\n CardTitle,\n Tabs,\n TabsContent,\n TabsList,\n TabsTrigger,\n} from '@burdenoff/fe-libs/ui';\nimport { Shield, AlertTriangle, CheckCircle, FileText, Lock, Eye } from 'lucide-react';\nimport { useAssetHandlerStore } from '../store/assethandlerStore';\n\nconst severityColors: Record<string, 'destructive' | 'default' | 'secondary' | 'outline'> = {\n critical: 'destructive',\n high: 'destructive',\n medium: 'default',\n low: 'secondary',\n info: 'outline',\n};\n\nexport function SecuritySecurityHubPage() {\n const { securityEvents, complianceFrameworks, securityPolicies } = useAssetHandlerStore();\n\n const unresolvedEvents = securityEvents.filter((e) => !e.resolved);\n const criticalEvents = securityEvents.filter(\n (e) => e.severity === 'critical' || e.severity === 'high'\n );\n const activePolicies = securityPolicies.filter((p) => p.status === 'active');\n const avgCompliance =\n complianceFrameworks.length > 0\n ? Math.round(\n complianceFrameworks.reduce((s, f) => s + f.score, 0) / complianceFrameworks.length\n )\n : 0;\n\n return (\n <div className=\"space-y-6 p-6\">\n <div className=\"flex items-center justify-between\">\n <div>\n <h1 className=\"text-2xl font-bold\">Security Hub</h1>\n <p className=\"text-sm text-muted-foreground\">\n Security monitoring, compliance, and policy management\n </p>\n </div>\n <Button size=\"sm\">\n <Shield className=\"mr-2 h-4 w-4\" />\n Security Report\n </Button>\n </div>\n\n <div className=\"grid gap-4 md:grid-cols-4\">\n <Card>\n <CardContent className=\"pt-4\">\n <div className=\"flex items-center gap-2 text-sm text-muted-foreground\">\n <AlertTriangle className=\"h-4 w-4\" />\n Unresolved Events\n </div>\n <p className=\"text-2xl font-bold mt-1 text-red-600\">{unresolvedEvents.length}</p>\n </CardContent>\n </Card>\n <Card>\n <CardContent className=\"pt-4\">\n <div className=\"flex items-center gap-2 text-sm text-muted-foreground\">\n <Shield className=\"h-4 w-4\" />\n Compliance Score\n </div>\n <p className=\"text-2xl font-bold mt-1\">{avgCompliance}%</p>\n </CardContent>\n </Card>\n <Card>\n <CardContent className=\"pt-4\">\n <div className=\"flex items-center gap-2 text-sm text-muted-foreground\">\n <FileText className=\"h-4 w-4\" />\n Active Policies\n </div>\n <p className=\"text-2xl font-bold mt-1\">{activePolicies.length}</p>\n </CardContent>\n </Card>\n <Card>\n <CardContent className=\"pt-4\">\n <div className=\"flex items-center gap-2 text-sm text-muted-foreground\">\n <Eye className=\"h-4 w-4\" />\n Total Events\n </div>\n <p className=\"text-2xl font-bold mt-1\">{securityEvents.length}</p>\n </CardContent>\n </Card>\n </div>\n\n <Tabs defaultValue=\"events\">\n <TabsList>\n <TabsTrigger value=\"events\">Security Events</TabsTrigger>\n <TabsTrigger value=\"compliance\">Compliance</TabsTrigger>\n <TabsTrigger value=\"policies\">Policies</TabsTrigger>\n </TabsList>\n\n <TabsContent value=\"events\" className=\"mt-4\">\n <Card>\n <CardContent className=\"p-0\">\n <div className=\"overflow-x-auto\">\n <table className=\"w-full text-sm\">\n <thead>\n <tr className=\"border-b bg-muted/50\">\n <th className=\"text-left p-3 font-medium\">ID</th>\n <th className=\"text-left p-3 font-medium\">Type</th>\n <th className=\"text-left p-3 font-medium\">Title</th>\n <th className=\"text-left p-3 font-medium\">Severity</th>\n <th className=\"text-left p-3 font-medium\">Source</th>\n <th className=\"text-left p-3 font-medium\">Time</th>\n <th className=\"text-left p-3 font-medium\">Status</th>\n </tr>\n </thead>\n <tbody>\n {securityEvents.map((evt) => (\n <tr key={evt.id} className=\"border-b hover:bg-muted/50 cursor-pointer\">\n <td className=\"p-3 font-mono text-xs\">{evt.id}</td>\n <td className=\"p-3 capitalize text-xs\">{evt.type.replace('_', ' ')}</td>\n <td className=\"p-3\">\n <p className=\"font-medium\">{evt.title}</p>\n <p className=\"text-xs text-muted-foreground truncate max-w-xs\">\n {evt.description}\n </p>\n </td>\n <td className=\"p-3\">\n <Badge variant={severityColors[evt.severity]}>{evt.severity}</Badge>\n </td>\n <td className=\"p-3 text-xs\">{evt.source}</td>\n <td className=\"p-3 text-xs\">{new Date(evt.timestamp).toLocaleString()}</td>\n <td className=\"p-3\">\n {evt.resolved ? (\n <Badge variant=\"default\">Resolved</Badge>\n ) : (\n <Badge variant=\"destructive\">Open</Badge>\n )}\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n </CardContent>\n </Card>\n </TabsContent>\n\n <TabsContent value=\"compliance\" className=\"mt-4\">\n <div className=\"grid gap-4 md:grid-cols-2\">\n {complianceFrameworks.map((fw) => (\n <Card key={fw.id}>\n <CardHeader className=\"pb-2\">\n <div className=\"flex items-center justify-between\">\n <CardTitle className=\"text-base\">\n {fw.name} {fw.version}\n </CardTitle>\n <Badge\n variant={\n fw.status === 'compliant'\n ? 'default'\n : fw.status === 'non_compliant'\n ? 'destructive'\n : 'secondary'\n }\n >\n {fw.status.replace('_', ' ')}\n </Badge>\n </div>\n </CardHeader>\n <CardContent>\n <div className=\"space-y-3\">\n <div className=\"text-center\">\n <p className=\"text-3xl font-bold\">{fw.score}%</p>\n <p className=\"text-xs text-muted-foreground\">Compliance Score</p>\n </div>\n <div className=\"h-2 rounded-full bg-muted overflow-hidden\">\n <div\n className={`h-full rounded-full ${fw.score >= 90 ? 'bg-green-500' : fw.score >= 70 ? 'bg-yellow-500' : 'bg-red-500'}`}\n style={{ width: `${fw.score}%` }}\n />\n </div>\n <div className=\"grid grid-cols-3 gap-2 text-center text-xs\">\n <div>\n <p className=\"font-bold text-green-600\">{fw.passedControls}</p>\n <p className=\"text-muted-foreground\">Passed</p>\n </div>\n <div>\n <p className=\"font-bold text-red-600\">{fw.failedControls}</p>\n <p className=\"text-muted-foreground\">Failed</p>\n </div>\n <div>\n <p className=\"font-bold\">{fw.totalControls}</p>\n <p className=\"text-muted-foreground\">Total</p>\n </div>\n </div>\n <div className=\"text-xs text-muted-foreground\">\n Last: {fw.lastAssessment} · Next: {fw.nextAssessment}\n </div>\n </div>\n </CardContent>\n </Card>\n ))}\n </div>\n </TabsContent>\n\n <TabsContent value=\"policies\" className=\"mt-4\">\n <Card>\n <CardContent className=\"p-0\">\n <div className=\"overflow-x-auto\">\n <table className=\"w-full text-sm\">\n <thead>\n <tr className=\"border-b bg-muted/50\">\n <th className=\"text-left p-3 font-medium\">Name</th>\n <th className=\"text-left p-3 font-medium\">Category</th>\n <th className=\"text-left p-3 font-medium\">Version</th>\n <th className=\"text-left p-3 font-medium\">Status</th>\n <th className=\"text-left p-3 font-medium\">Owner</th>\n <th className=\"text-left p-3 font-medium\">Review Date</th>\n </tr>\n </thead>\n <tbody>\n {securityPolicies.map((pol) => (\n <tr key={pol.id} className=\"border-b hover:bg-muted/50 cursor-pointer\">\n <td className=\"p-3\">\n <p className=\"font-medium\">{pol.name}</p>\n <p className=\"text-xs text-muted-foreground truncate max-w-xs\">\n {pol.description}\n </p>\n </td>\n <td className=\"p-3 text-xs\">{pol.category}</td>\n <td className=\"p-3 text-xs\">v{pol.version}</td>\n <td className=\"p-3\">\n <Badge\n variant={\n pol.status === 'active'\n ? 'default'\n : pol.status === 'deprecated'\n ? 'destructive'\n : 'outline'\n }\n >\n {pol.status.replace('_', ' ')}\n </Badge>\n </td>\n <td className=\"p-3 text-xs\">{pol.owner}</td>\n <td className=\"p-3 text-xs\">{pol.reviewDate}</td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n </CardContent>\n </Card>\n </TabsContent>\n </Tabs>\n </div>\n );\n}\n"],"mappings":";;;;;AAgBA,IAAM,IAAsF;CAC1F,UAAU;CACV,MAAM;CACN,QAAQ;CACR,KAAK;CACL,MAAM;CACP;AAED,SAAgB,IAA0B;CACxC,IAAM,EAAE,mBAAgB,yBAAsB,wBAAqB,GAAsB,EAEnF,IAAmB,EAAe,QAAQ,MAAM,CAAC,EAAE,SAAS;AAC3C,GAAe,QACnC,MAAM,EAAE,aAAa,cAAc,EAAE,aAAa,OACpD;CACD,IAAM,IAAiB,EAAiB,QAAQ,MAAM,EAAE,WAAW,SAAS,EACtE,IACJ,EAAqB,SAAS,IAC1B,KAAK,MACH,EAAqB,QAAQ,GAAG,MAAM,IAAI,EAAE,OAAO,EAAE,GAAG,EAAqB,OAC9E,GACD;AAEN,QACE,kBAAC,OAAD;EAAK,WAAU;YAAf;GACE,kBAAC,OAAD;IAAK,WAAU;cAAf,CACE,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,MAAD;KAAI,WAAU;eAAqB;KAAiB,CAAA,EACpD,kBAAC,KAAD;KAAG,WAAU;eAAgC;KAEzC,CAAA,CACA,EAAA,CAAA,EACN,kBAAC,GAAD;KAAQ,MAAK;eAAb,CACE,kBAAC,GAAD,EAAQ,WAAU,gBAAiB,CAAA,EAAA,kBAE5B;OACL;;GAEN,kBAAC,OAAD;IAAK,WAAU;cAAf;KACE,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;MAAa,WAAU;gBAAvB,CACE,kBAAC,OAAD;OAAK,WAAU;iBAAf,CACE,kBAAC,GAAD,EAAe,WAAU,WAAY,CAAA,EAAA,oBAEjC;UACN,kBAAC,KAAD;OAAG,WAAU;iBAAwC,EAAiB;OAAW,CAAA,CACrE;SACT,CAAA;KACP,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;MAAa,WAAU;gBAAvB,CACE,kBAAC,OAAD;OAAK,WAAU;iBAAf,CACE,kBAAC,GAAD,EAAQ,WAAU,WAAY,CAAA,EAAA,mBAE1B;UACN,kBAAC,KAAD;OAAG,WAAU;iBAAb,CAAwC,GAAc,IAAK;SAC/C;SACT,CAAA;KACP,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;MAAa,WAAU;gBAAvB,CACE,kBAAC,OAAD;OAAK,WAAU;iBAAf,CACE,kBAAC,GAAD,EAAU,WAAU,WAAY,CAAA,EAAA,kBAE5B;UACN,kBAAC,KAAD;OAAG,WAAU;iBAA2B,EAAe;OAAW,CAAA,CACtD;SACT,CAAA;KACP,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;MAAa,WAAU;gBAAvB,CACE,kBAAC,OAAD;OAAK,WAAU;iBAAf,CACE,kBAAC,GAAD,EAAK,WAAU,WAAY,CAAA,EAAA,eAEvB;UACN,kBAAC,KAAD;OAAG,WAAU;iBAA2B,EAAe;OAAW,CAAA,CACtD;SACT,CAAA;KACH;;GAEN,kBAAC,GAAD;IAAM,cAAa;cAAnB;KACE,kBAAC,GAAD,EAAA,UAAA;MACE,kBAAC,GAAD;OAAa,OAAM;iBAAS;OAA6B,CAAA;MACzD,kBAAC,GAAD;OAAa,OAAM;iBAAa;OAAwB,CAAA;MACxD,kBAAC,GAAD;OAAa,OAAM;iBAAW;OAAsB,CAAA;MAC3C,EAAA,CAAA;KAEX,kBAAC,GAAD;MAAa,OAAM;MAAS,WAAU;gBACpC,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;OAAa,WAAU;iBACrB,kBAAC,OAAD;QAAK,WAAU;kBACb,kBAAC,SAAD;SAAO,WAAU;mBAAjB,CACE,kBAAC,SAAD,EAAA,UACE,kBAAC,MAAD;UAAI,WAAU;oBAAd;WACE,kBAAC,MAAD;YAAI,WAAU;sBAA4B;YAAO,CAAA;WACjD,kBAAC,MAAD;YAAI,WAAU;sBAA4B;YAAS,CAAA;WACnD,kBAAC,MAAD;YAAI,WAAU;sBAA4B;YAAU,CAAA;WACpD,kBAAC,MAAD;YAAI,WAAU;sBAA4B;YAAa,CAAA;WACvD,kBAAC,MAAD;YAAI,WAAU;sBAA4B;YAAW,CAAA;WACrD,kBAAC,MAAD;YAAI,WAAU;sBAA4B;YAAS,CAAA;WACnD,kBAAC,MAAD;YAAI,WAAU;sBAA4B;YAAW,CAAA;WAClD;aACC,CAAA,EACR,kBAAC,SAAD,EAAA,UACG,EAAe,KAAK,MACnB,kBAAC,MAAD;UAAiB,WAAU;oBAA3B;WACE,kBAAC,MAAD;YAAI,WAAU;sBAAyB,EAAI;YAAQ,CAAA;WACnD,kBAAC,MAAD;YAAI,WAAU;sBAA0B,EAAI,KAAK,QAAQ,KAAK,IAAI;YAAM,CAAA;WACxE,kBAAC,MAAD;YAAI,WAAU;sBAAd,CACE,kBAAC,KAAD;aAAG,WAAU;uBAAe,EAAI;aAAU,CAAA,EAC1C,kBAAC,KAAD;aAAG,WAAU;uBACV,EAAI;aACH,CAAA,CACD;;WACL,kBAAC,MAAD;YAAI,WAAU;sBACZ,kBAAC,GAAD;aAAO,SAAS,EAAe,EAAI;uBAAY,EAAI;aAAiB,CAAA;YACjE,CAAA;WACL,kBAAC,MAAD;YAAI,WAAU;sBAAe,EAAI;YAAY,CAAA;WAC7C,kBAAC,MAAD;YAAI,WAAU;sBAAe,IAAI,KAAK,EAAI,UAAU,CAAC,gBAAgB;YAAM,CAAA;WAC3E,kBAAC,MAAD;YAAI,WAAU;sBACX,EAAI,WACH,kBAAC,GAAD;aAAO,SAAQ;uBAAU;aAAgB,CAAA,GAEzC,kBAAC,GAAD;aAAO,SAAQ;uBAAc;aAAY,CAAA;YAExC,CAAA;WACF;YArBI,EAAI,GAqBR,CACL,EACI,CAAA,CACF;;QACJ,CAAA;OACM,CAAA,EACT,CAAA;MACK,CAAA;KAEd,kBAAC,GAAD;MAAa,OAAM;MAAa,WAAU;gBACxC,kBAAC,OAAD;OAAK,WAAU;iBACZ,EAAqB,KAAK,MACzB,kBAAC,GAAD,EAAA,UAAA,CACE,kBAAC,GAAD;QAAY,WAAU;kBACpB,kBAAC,OAAD;SAAK,WAAU;mBAAf,CACE,kBAAC,GAAD;UAAW,WAAU;oBAArB;WACG,EAAG;WAAK;WAAE,EAAG;WACJ;aACZ,kBAAC,GAAD;UACE,SACE,EAAG,WAAW,cACV,YACA,EAAG,WAAW,kBACZ,gBACA;oBAGP,EAAG,OAAO,QAAQ,KAAK,IAAI;UACtB,CAAA,CACJ;;QACK,CAAA,EACb,kBAAC,GAAD,EAAA,UACE,kBAAC,OAAD;QAAK,WAAU;kBAAf;SACE,kBAAC,OAAD;UAAK,WAAU;oBAAf,CACE,kBAAC,KAAD;WAAG,WAAU;qBAAb,CAAmC,EAAG,OAAM,IAAK;cACjD,kBAAC,KAAD;WAAG,WAAU;qBAAgC;WAAoB,CAAA,CAC7D;;SACN,kBAAC,OAAD;UAAK,WAAU;oBACb,kBAAC,OAAD;WACE,WAAW,uBAAuB,EAAG,SAAS,KAAK,iBAAiB,EAAG,SAAS,KAAK,kBAAkB;WACvG,OAAO,EAAE,OAAO,GAAG,EAAG,MAAM,IAAI;WAChC,CAAA;UACE,CAAA;SACN,kBAAC,OAAD;UAAK,WAAU;oBAAf;WACE,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,KAAD;YAAG,WAAU;sBAA4B,EAAG;YAAmB,CAAA,EAC/D,kBAAC,KAAD;YAAG,WAAU;sBAAwB;YAAU,CAAA,CAC3C,EAAA,CAAA;WACN,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,KAAD;YAAG,WAAU;sBAA0B,EAAG;YAAmB,CAAA,EAC7D,kBAAC,KAAD;YAAG,WAAU;sBAAwB;YAAU,CAAA,CAC3C,EAAA,CAAA;WACN,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,KAAD;YAAG,WAAU;sBAAa,EAAG;YAAkB,CAAA,EAC/C,kBAAC,KAAD;YAAG,WAAU;sBAAwB;YAAS,CAAA,CAC1C,EAAA,CAAA;WACF;;SACN,kBAAC,OAAD;UAAK,WAAU;oBAAf;WAA+C;WACtC,EAAG;WAAe;WAAiB,EAAG;WACzC;;SACF;WACM,CAAA,CACT,EAAA,EAlDI,EAAG,GAkDP,CACP;OACE,CAAA;MACM,CAAA;KAEd,kBAAC,GAAD;MAAa,OAAM;MAAW,WAAU;gBACtC,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;OAAa,WAAU;iBACrB,kBAAC,OAAD;QAAK,WAAU;kBACb,kBAAC,SAAD;SAAO,WAAU;mBAAjB,CACE,kBAAC,SAAD,EAAA,UACE,kBAAC,MAAD;UAAI,WAAU;oBAAd;WACE,kBAAC,MAAD;YAAI,WAAU;sBAA4B;YAAS,CAAA;WACnD,kBAAC,MAAD;YAAI,WAAU;sBAA4B;YAAa,CAAA;WACvD,kBAAC,MAAD;YAAI,WAAU;sBAA4B;YAAY,CAAA;WACtD,kBAAC,MAAD;YAAI,WAAU;sBAA4B;YAAW,CAAA;WACrD,kBAAC,MAAD;YAAI,WAAU;sBAA4B;YAAU,CAAA;WACpD,kBAAC,MAAD;YAAI,WAAU;sBAA4B;YAAgB,CAAA;WACvD;aACC,CAAA,EACR,kBAAC,SAAD,EAAA,UACG,EAAiB,KAAK,MACrB,kBAAC,MAAD;UAAiB,WAAU;oBAA3B;WACE,kBAAC,MAAD;YAAI,WAAU;sBAAd,CACE,kBAAC,KAAD;aAAG,WAAU;uBAAe,EAAI;aAAS,CAAA,EACzC,kBAAC,KAAD;aAAG,WAAU;uBACV,EAAI;aACH,CAAA,CACD;;WACL,kBAAC,MAAD;YAAI,WAAU;sBAAe,EAAI;YAAc,CAAA;WAC/C,kBAAC,MAAD;YAAI,WAAU;sBAAd,CAA4B,KAAE,EAAI,QAAa;;WAC/C,kBAAC,MAAD;YAAI,WAAU;sBACZ,kBAAC,GAAD;aACE,SACE,EAAI,WAAW,WACX,YACA,EAAI,WAAW,eACb,gBACA;uBAGP,EAAI,OAAO,QAAQ,KAAK,IAAI;aACvB,CAAA;YACL,CAAA;WACL,kBAAC,MAAD;YAAI,WAAU;sBAAe,EAAI;YAAW,CAAA;WAC5C,kBAAC,MAAD;YAAI,WAAU;sBAAe,EAAI;YAAgB,CAAA;WAC9C;YAxBI,EAAI,GAwBR,CACL,EACI,CAAA,CACF;;QACJ,CAAA;OACM,CAAA,EACT,CAAA;MACK,CAAA;KACT;;GACH"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TransactionsTransactionDetailPage.d.ts","sourceRoot":"","sources":["../../../src/assethandler/pages/TransactionsTransactionDetailPage.tsx"],"names":[],"mappings":"AAgDA,wBAAgB,iCAAiC,4CAoMhD"}
|