diff --git a/oas_docs/bundle.serverless.json b/oas_docs/bundle.serverless.json index 9b69de6beba3d..4e2afd1b801b5 100644 --- a/oas_docs/bundle.serverless.json +++ b/oas_docs/bundle.serverless.json @@ -46211,7 +46211,7 @@ "tags": [ "maintenance-window" ], - "x-state": "Generally available; added in 9.1.0" + "x-state": "Generally available" } }, "/api/maintenance_window/{id}": { @@ -46257,7 +46257,7 @@ "tags": [ "maintenance-window" ], - "x-state": "Generally available; added in 9.1.0" + "x-state": "Generally available" }, "get": { "description": "[Required authorization] Route required privileges: read-maintenance-window.", @@ -46453,7 +46453,7 @@ "tags": [ "maintenance-window" ], - "x-state": "Generally available; added in 9.1.0" + "x-state": "Generally available" }, "patch": { "description": "[Required authorization] Route required privileges: write-maintenance-window.", @@ -46790,7 +46790,7 @@ "tags": [ "maintenance-window" ], - "x-state": "Generally available; added in 9.1.0" + "x-state": "Generally available" } }, "/api/maintenance_window/{id}/_archive": { @@ -46998,7 +46998,7 @@ "tags": [ "maintenance-window" ], - "x-state": "Generally available; added in 9.1.0" + "x-state": "Generally available" } }, "/api/maintenance_window/{id}/_unarchive": { @@ -47206,7 +47206,7 @@ "tags": [ "maintenance-window" ], - "x-state": "Generally available; added in 9.1.0" + "x-state": "Generally available" } }, "/api/saved_objects/_export": { diff --git a/oas_docs/output/kibana.serverless.yaml b/oas_docs/output/kibana.serverless.yaml index 3e1bce987ced3..eaf137f428689 100644 --- a/oas_docs/output/kibana.serverless.yaml +++ b/oas_docs/output/kibana.serverless.yaml @@ -42557,7 +42557,7 @@ paths: summary: Create a maintenance window. tags: - maintenance-window - x-state: Generally available; added in 9.1.0 + x-state: Generally available /api/maintenance_window/{id}: delete: description: '[Required authorization] Route required privileges: write-maintenance-window.' @@ -42588,7 +42588,7 @@ paths: summary: Delete a maintenance window. tags: - maintenance-window - x-state: Generally available; added in 9.1.0 + x-state: Generally available get: description: '[Required authorization] Route required privileges: read-maintenance-window.' operationId: get-maintenance-window-id @@ -42729,7 +42729,7 @@ paths: summary: Get maintenance window details. tags: - maintenance-window - x-state: Generally available; added in 9.1.0 + x-state: Generally available patch: description: '[Required authorization] Route required privileges: write-maintenance-window.' operationId: patch-maintenance-window-id @@ -42970,7 +42970,7 @@ paths: summary: Update a maintenance window. tags: - maintenance-window - x-state: Generally available; added in 9.1.0 + x-state: Generally available /api/maintenance_window/{id}/_archive: post: description: '[Required authorization] Route required privileges: write-maintenance-window.' @@ -43119,7 +43119,7 @@ paths: summary: Archive a maintenance window. tags: - maintenance-window - x-state: Generally available; added in 9.1.0 + x-state: Generally available /api/maintenance_window/{id}/_unarchive: post: description: '[Required authorization] Route required privileges: write-maintenance-window.' @@ -43268,7 +43268,7 @@ paths: summary: Unarchive a maintenance window. tags: - maintenance-window - x-state: Generally available; added in 9.1.0 + x-state: Generally available /api/ml/saved_objects/sync: get: description: | diff --git a/x-pack/solutions/security/plugins/security_solution/public/entity_analytics/components/asset_criticality/asset_criticality_badge.tsx b/x-pack/solutions/security/plugins/security_solution/public/entity_analytics/components/asset_criticality/asset_criticality_badge.tsx index 17392e17eeb73..afb381991fb9c 100644 --- a/x-pack/solutions/security/plugins/security_solution/public/entity_analytics/components/asset_criticality/asset_criticality_badge.tsx +++ b/x-pack/solutions/security/plugins/security_solution/public/entity_analytics/components/asset_criticality/asset_criticality_badge.tsx @@ -4,24 +4,36 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ + import React from 'react'; -import { EuiHealth } from '@elastic/eui'; -import { euiLightVars } from '@kbn/ui-theme'; +import { EuiHealth, useEuiTheme, type EuiThemeComputed } from '@elastic/eui'; +import type { CSSObject } from '@emotion/react'; import { CRITICALITY_LEVEL_TITLE } from './translations'; import type { CriticalityLevelWithUnassigned } from '../../../../common/entity_analytics/asset_criticality/types'; -// below will be updated with new severity color palette & shared security wide severity colors hook creation -export const CRITICALITY_LEVEL_COLOR: Record = { - extreme_impact: '#E7664C', - high_impact: '#DA8B45', - medium_impact: '#D6BF57', - low_impact: '#54B399', - unassigned: euiLightVars.euiColorMediumShade, +/* + * Map Asset Criticality status to EUI severity color pattern as per spec: + * https://eui.elastic.co/docs/patterns/severity/index.html#use-cases + */ +export const getCriticalityLevelColor = ( + euiTheme: EuiThemeComputed, + criticalityLevel: CriticalityLevelWithUnassigned +) => { + const { danger, risk, warning, neutral, unknown } = euiTheme.colors.severity; + const map = { + extreme_impact: danger, + high_impact: risk, + medium_impact: warning, + low_impact: neutral, + unassigned: unknown, + }; + + return map[criticalityLevel] || map.unassigned; }; export const AssetCriticalityBadge: React.FC<{ criticalityLevel?: CriticalityLevelWithUnassigned; - style?: React.CSSProperties; + style?: CSSObject; className?: string; dataTestSubj?: string; }> = ({ @@ -30,11 +42,12 @@ export const AssetCriticalityBadge: React.FC<{ dataTestSubj = 'asset-criticality-badge', className, }) => { + const { euiTheme } = useEuiTheme(); return ( {CRITICALITY_LEVEL_TITLE[criticalityLevel]} diff --git a/x-pack/solutions/security/plugins/security_solution/public/entity_analytics/components/asset_criticality/asset_criticality_filter.tsx b/x-pack/solutions/security/plugins/security_solution/public/entity_analytics/components/asset_criticality/asset_criticality_filter.tsx index 0a92dd9b61189..c14509ec40290 100644 --- a/x-pack/solutions/security/plugins/security_solution/public/entity_analytics/components/asset_criticality/asset_criticality_filter.tsx +++ b/x-pack/solutions/security/plugins/security_solution/public/entity_analytics/components/asset_criticality/asset_criticality_filter.tsx @@ -28,7 +28,7 @@ export const AssetCriticalityFilter: React.FC = ({ onChange, }) => { const renderItem = useCallback((level: CriticalityLevels) => { - return ; + return ; }, []); return ( diff --git a/x-pack/solutions/security/plugins/security_solution/public/entity_analytics/components/asset_criticality/asset_criticality_selector.tsx b/x-pack/solutions/security/plugins/security_solution/public/entity_analytics/components/asset_criticality/asset_criticality_selector.tsx index f7561cd75ade9..185fe8186cb26 100644 --- a/x-pack/solutions/security/plugins/security_solution/public/entity_analytics/components/asset_criticality/asset_criticality_selector.tsx +++ b/x-pack/solutions/security/plugins/security_solution/public/entity_analytics/components/asset_criticality/asset_criticality_selector.tsx @@ -272,13 +272,11 @@ const option = ( dropdownDisplay: ( ), - inputDisplay: ( - - ), + inputDisplay: , }); export const assetCriticalityOptions: Array> = diff --git a/x-pack/solutions/security/plugins/security_solution/public/timelines/components/timeline/body/renderers/asset_criticality_level.tsx b/x-pack/solutions/security/plugins/security_solution/public/timelines/components/timeline/body/renderers/asset_criticality_level.tsx index fa2421f73942e..956e0a8b662f2 100644 --- a/x-pack/solutions/security/plugins/security_solution/public/timelines/components/timeline/body/renderers/asset_criticality_level.tsx +++ b/x-pack/solutions/security/plugins/security_solution/public/timelines/components/timeline/body/renderers/asset_criticality_level.tsx @@ -6,17 +6,20 @@ */ import React, { useMemo } from 'react'; -import { EuiBadge } from '@elastic/eui'; +import { EuiBadge, useEuiTheme } from '@elastic/eui'; import { isString, startCase } from 'lodash/fp'; import type { CriticalityLevel } from '../../../../../../common/entity_analytics/asset_criticality/types'; -import { CRITICALITY_LEVEL_COLOR } from '../../../../../entity_analytics/components/asset_criticality'; +import { getCriticalityLevelColor } from '../../../../../entity_analytics/components/asset_criticality'; interface Props { value: string | number | undefined | null; } const AssetCriticalityLevelComponent: React.FC = ({ value }) => { - const color = isString(value) ? CRITICALITY_LEVEL_COLOR[value as CriticalityLevel] : 'normal'; + const { euiTheme } = useEuiTheme(); + const color = isString(value) + ? getCriticalityLevelColor(euiTheme, value as CriticalityLevel) + : 'normal'; const stringValue = isString(value) ? value : ''; const badge = useMemo(