From 72e1d11b252501095cc44de8965b6bd1341e8918 Mon Sep 17 00:00:00 2001
From: Angela Chuang <6295984+angorayc@users.noreply.github.com>
Date: Fri, 28 Jun 2024 21:30:03 +0100
Subject: [PATCH 01/13] [Security Solution] AI settings (#184678)
## Summary
https://github.com/elastic/security-team/issues/9222
Knowledge base:
https://github.com/elastic/kibana/pull/186847
### Checklist
Delete any items that are not applicable to this PR.
- [x] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [ ] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
---
.../ai_assistant_selection_page.tsx | 83 ++--
.../assistant_header_flyout.tsx | 3 +
.../assistant/assistant_header/index.test.tsx | 1 +
.../impl/assistant/assistant_header/index.tsx | 3 +
.../badges/index.tsx | 23 +
.../flyout/index.tsx | 85 ++++
.../flyout/translations.ts | 22 +
.../flyout/use_flyout_modal_visibility.ts | 29 ++
.../pagination/use_session_pagination.ts | 65 +++
.../row_actions/index.tsx | 89 ++++
.../row_actions/translations.ts | 22 +
.../conversation_selector_settings/index.tsx | 6 +-
.../conversation_selector_settings/types.ts | 12 +
.../conversation_settings.test.tsx | 7 +-
.../conversation_settings.tsx | 407 +++---------------
.../conversation_settings_editor.tsx | 328 ++++++++++++++
.../conversation_streaming_switch.tsx | 59 +++
.../use_conveersation_changed.test.tsx | 125 ++++++
.../use_conversation_changed.tsx | 104 +++++
.../use_conversation_deleted.tsx | 56 +++
.../use_conversation_deletex.test.tsx | 94 ++++
.../index.tsx | 252 +++++++++++
.../translations.ts | 63 +++
.../use_conversations_table.test.tsx | 91 ++++
.../use_conversations_table.tsx | 157 +++++++
.../impl/assistant/index.tsx | 2 +
.../select_system_prompt/index.tsx | 2 +-
.../system_prompt_editor.tsx | 333 ++++++++++++++
.../system_prompt_selector.test.tsx | 24 +-
.../system_prompt_selector.tsx | 12 +-
.../system_prompt_settings.test.tsx | 1 +
.../system_prompt_settings.tsx | 329 +-------------
.../system_prompt_modal/types.ts | 24 ++
.../use_system_prompt_editor.test.tsx | 107 +++++
.../use_system_prompt_editor.tsx | 58 +++
.../default_conversations_column.tsx | 50 +++
.../index.tsx | 224 ++++++++++
.../translations.ts | 58 +++
.../use_system_prompt_table.test.tsx | 107 +++++
.../use_system_prompt_table.tsx | 135 ++++++
.../utils.test.tsx | 70 +++
.../utils.tsx | 22 +
.../quick_prompt_selector.test.tsx | 16 +
.../quick_prompt_selector.tsx | 6 +-
.../quick_prompt_editor.tsx | 195 +++++++++
.../quick_prompt_settings.tsx | 203 +--------
.../use_quick_prompt_editor.test.tsx | 94 ++++
.../use_quick_prompt_editor.tsx | 58 +++
.../index.tsx | 184 ++++++++
.../translations.ts | 72 ++++
.../use_quick_prompt_table.test.tsx | 98 +++++
.../use_quick_prompt_table.tsx | 81 ++++
.../quick_prompts/quick_prompts.test.tsx | 2 +-
.../assistant/quick_prompts/quick_prompts.tsx | 2 +-
.../settings/assistant_settings.test.tsx | 15 +-
.../assistant/settings/assistant_settings.tsx | 79 ++--
.../assistant_settings_button.test.tsx | 3 +-
.../settings/assistant_settings_button.tsx | 6 +-
.../assistant_settings_management.test.tsx | 157 +++++++
.../assistant_settings_management.tsx | 225 +++++-----
.../impl/assistant/settings/const.ts | 15 +
.../evaluation_settings/translations.ts | 6 +-
.../impl/assistant/settings/translations.ts | 21 +
.../impl/assistant/settings/types.ts | 28 ++
.../assistant/settings/use_handle_save.tsx | 53 +++
.../use_settings_updater.test.tsx | 15 +-
.../use_settings_updater.tsx | 11 +-
.../impl/assistant/types.ts | 1 +
.../use_conversation/helpers.test.ts | 317 ++++++++++++--
.../assistant/use_conversation/helpers.ts | 82 +++-
.../impl/assistant_context/constants.tsx | 4 +
.../impl/assistant_context/index.tsx | 14 +-
.../connector_missing_callout/index.tsx | 2 +-
.../connector_settings_management/index.tsx | 53 +++
.../translations.ts | 30 ++
.../connectorland/connector_setup/index.tsx | 7 +-
.../impl/connectorland/helpers.tsx | 24 +-
.../impl/connectorland/translations.ts | 14 +
.../impl/content/prompts/system/index.tsx | 4 +
.../content/prompts/system/translations.ts | 14 +
.../settings/anonymization_settings/index.tsx | 44 +-
.../use_anonymization_list_update.tsx | 66 +++
.../index.tsx | 78 ++++
.../context_editor/index.tsx | 28 +-
.../stats/allowed_stat/index.tsx | 14 +-
.../stats/anonymized_stat/index.tsx | 14 +-
.../stats/available_stat/index.tsx | 13 +-
.../stats/constants.ts | 1 +
.../data_anonymization_editor/stats/index.tsx | 16 +-
.../mock/test_providers/test_providers.tsx | 2 +
.../mock/test_providers/test_providers.tsx | 2 +
.../public/assistant/provider.tsx | 2 +
.../stack_management/management_settings.tsx | 23 +-
.../common/mock/mock_assistant_provider.tsx | 2 +
.../rule_status_failed_callout.test.tsx | 2 +
.../translations/translations/fr-FR.json | 1 -
.../translations/translations/ja-JP.json | 1 -
.../translations/translations/zh-CN.json | 1 -
98 files changed, 5097 insertions(+), 1168 deletions(-)
create mode 100644 x-pack/packages/kbn-elastic-assistant/impl/assistant/common/components/assistant_settings_management/badges/index.tsx
create mode 100644 x-pack/packages/kbn-elastic-assistant/impl/assistant/common/components/assistant_settings_management/flyout/index.tsx
create mode 100644 x-pack/packages/kbn-elastic-assistant/impl/assistant/common/components/assistant_settings_management/flyout/translations.ts
create mode 100644 x-pack/packages/kbn-elastic-assistant/impl/assistant/common/components/assistant_settings_management/flyout/use_flyout_modal_visibility.ts
create mode 100644 x-pack/packages/kbn-elastic-assistant/impl/assistant/common/components/assistant_settings_management/pagination/use_session_pagination.ts
create mode 100644 x-pack/packages/kbn-elastic-assistant/impl/assistant/common/components/assistant_settings_management/row_actions/index.tsx
create mode 100644 x-pack/packages/kbn-elastic-assistant/impl/assistant/common/components/assistant_settings_management/row_actions/translations.ts
create mode 100644 x-pack/packages/kbn-elastic-assistant/impl/assistant/conversations/conversation_selector_settings/types.ts
create mode 100644 x-pack/packages/kbn-elastic-assistant/impl/assistant/conversations/conversation_settings/conversation_settings_editor.tsx
create mode 100644 x-pack/packages/kbn-elastic-assistant/impl/assistant/conversations/conversation_settings/conversation_streaming_switch.tsx
create mode 100644 x-pack/packages/kbn-elastic-assistant/impl/assistant/conversations/conversation_settings/use_conveersation_changed.test.tsx
create mode 100644 x-pack/packages/kbn-elastic-assistant/impl/assistant/conversations/conversation_settings/use_conversation_changed.tsx
create mode 100644 x-pack/packages/kbn-elastic-assistant/impl/assistant/conversations/conversation_settings/use_conversation_deleted.tsx
create mode 100644 x-pack/packages/kbn-elastic-assistant/impl/assistant/conversations/conversation_settings/use_conversation_deletex.test.tsx
create mode 100644 x-pack/packages/kbn-elastic-assistant/impl/assistant/conversations/conversation_settings_management/index.tsx
create mode 100644 x-pack/packages/kbn-elastic-assistant/impl/assistant/conversations/conversation_settings_management/translations.ts
create mode 100644 x-pack/packages/kbn-elastic-assistant/impl/assistant/conversations/conversation_settings_management/use_conversations_table.test.tsx
create mode 100644 x-pack/packages/kbn-elastic-assistant/impl/assistant/conversations/conversation_settings_management/use_conversations_table.tsx
create mode 100644 x-pack/packages/kbn-elastic-assistant/impl/assistant/prompt_editor/system_prompt/system_prompt_modal/system_prompt_editor.tsx
create mode 100644 x-pack/packages/kbn-elastic-assistant/impl/assistant/prompt_editor/system_prompt/system_prompt_modal/types.ts
create mode 100644 x-pack/packages/kbn-elastic-assistant/impl/assistant/prompt_editor/system_prompt/system_prompt_modal/use_system_prompt_editor.test.tsx
create mode 100644 x-pack/packages/kbn-elastic-assistant/impl/assistant/prompt_editor/system_prompt/system_prompt_modal/use_system_prompt_editor.tsx
create mode 100644 x-pack/packages/kbn-elastic-assistant/impl/assistant/prompt_editor/system_prompt/system_prompt_settings_management/default_conversations_column.tsx
create mode 100644 x-pack/packages/kbn-elastic-assistant/impl/assistant/prompt_editor/system_prompt/system_prompt_settings_management/index.tsx
create mode 100644 x-pack/packages/kbn-elastic-assistant/impl/assistant/prompt_editor/system_prompt/system_prompt_settings_management/translations.ts
create mode 100644 x-pack/packages/kbn-elastic-assistant/impl/assistant/prompt_editor/system_prompt/system_prompt_settings_management/use_system_prompt_table.test.tsx
create mode 100644 x-pack/packages/kbn-elastic-assistant/impl/assistant/prompt_editor/system_prompt/system_prompt_settings_management/use_system_prompt_table.tsx
create mode 100644 x-pack/packages/kbn-elastic-assistant/impl/assistant/prompt_editor/system_prompt/system_prompt_settings_management/utils.test.tsx
create mode 100644 x-pack/packages/kbn-elastic-assistant/impl/assistant/prompt_editor/system_prompt/system_prompt_settings_management/utils.tsx
create mode 100644 x-pack/packages/kbn-elastic-assistant/impl/assistant/quick_prompts/quick_prompt_settings/quick_prompt_editor.tsx
create mode 100644 x-pack/packages/kbn-elastic-assistant/impl/assistant/quick_prompts/quick_prompt_settings/use_quick_prompt_editor.test.tsx
create mode 100644 x-pack/packages/kbn-elastic-assistant/impl/assistant/quick_prompts/quick_prompt_settings/use_quick_prompt_editor.tsx
create mode 100644 x-pack/packages/kbn-elastic-assistant/impl/assistant/quick_prompts/quick_prompt_settings_management/index.tsx
create mode 100644 x-pack/packages/kbn-elastic-assistant/impl/assistant/quick_prompts/quick_prompt_settings_management/translations.ts
create mode 100644 x-pack/packages/kbn-elastic-assistant/impl/assistant/quick_prompts/quick_prompt_settings_management/use_quick_prompt_table.test.tsx
create mode 100644 x-pack/packages/kbn-elastic-assistant/impl/assistant/quick_prompts/quick_prompt_settings_management/use_quick_prompt_table.tsx
create mode 100644 x-pack/packages/kbn-elastic-assistant/impl/assistant/settings/assistant_settings_management.test.tsx
create mode 100644 x-pack/packages/kbn-elastic-assistant/impl/assistant/settings/const.ts
create mode 100644 x-pack/packages/kbn-elastic-assistant/impl/assistant/settings/types.ts
create mode 100644 x-pack/packages/kbn-elastic-assistant/impl/assistant/settings/use_handle_save.tsx
create mode 100644 x-pack/packages/kbn-elastic-assistant/impl/connectorland/connector_settings_management/index.tsx
create mode 100644 x-pack/packages/kbn-elastic-assistant/impl/connectorland/connector_settings_management/translations.ts
create mode 100644 x-pack/packages/kbn-elastic-assistant/impl/data_anonymization/settings/anonymization_settings/use_anonymization_list_update.tsx
create mode 100644 x-pack/packages/kbn-elastic-assistant/impl/data_anonymization/settings/anonymization_settings_management/index.tsx
diff --git a/src/plugins/ai_assistant_management/selection/public/routes/components/ai_assistant_selection_page.tsx b/src/plugins/ai_assistant_management/selection/public/routes/components/ai_assistant_selection_page.tsx
index 41422212fa08b..9b0941d86a5d4 100644
--- a/src/plugins/ai_assistant_management/selection/public/routes/components/ai_assistant_selection_page.tsx
+++ b/src/plugins/ai_assistant_management/selection/public/routes/components/ai_assistant_selection_page.tsx
@@ -9,6 +9,7 @@
import React, { useEffect } from 'react';
import { i18n } from '@kbn/i18n';
import {
+ EuiButton,
EuiCallOut,
EuiCard,
EuiFlexGrid,
@@ -86,32 +87,48 @@ export function AiAssistantSelectionPage() {
{i18n.DELETE_SYSTEM_PROMPT_MODAL_DESCRIPTION}
+{i18n.DELETE_QUICK_PROMPT_MODAL_DESCRIPTION}
+
+
( reporting: ReportingCore, handler: RequestHandlerUser
): RequestHandler
=> {
- const { logger, security, docLinks } = reporting.getPluginSetupDeps();
+ const { logger, security: securitySetup, docLinks } = reporting.getPluginSetupDeps(); // ReportingInternalSetup.security?: SecurityPluginSetup | undefined
return async (context, req, res) => {
- const { security: securityStart } = await reporting.getPluginStartDeps();
+ const { securityService } = await reporting.getPluginStartDeps();
try {
let user: ReportingRequestUser = false;
- if (security && security.license.isEnabled()) {
- // find the authenticated user, or null if security is not enabled
- user = getUser(req, securityStart);
+ if (securitySetup && securitySetup.license.isEnabled()) {
+ // find the authenticated user, only if license is enabled
+ user = getUser(req, securityService);
if (!user) {
// security is enabled but the user is null
return res.unauthorized({ body: `Sorry, you aren't authenticated` });
diff --git a/x-pack/plugins/reporting/server/routes/common/get_user.ts b/x-pack/plugins/reporting/server/routes/common/get_user.ts
index 589643781db19..8f074f52b0d39 100644
--- a/x-pack/plugins/reporting/server/routes/common/get_user.ts
+++ b/x-pack/plugins/reporting/server/routes/common/get_user.ts
@@ -5,9 +5,8 @@
* 2.0.
*/
-import { KibanaRequest } from '@kbn/core/server';
-import { SecurityPluginStart } from '@kbn/security-plugin/server';
+import { KibanaRequest, SecurityServiceStart } from '@kbn/core/server';
-export function getUser(request: KibanaRequest, security?: SecurityPluginStart) {
- return security?.authc.getCurrentUser(request) ?? false;
+export function getUser(request: KibanaRequest, securityService: SecurityServiceStart) {
+ return securityService.authc.getCurrentUser(request) ?? false;
}
diff --git a/x-pack/plugins/reporting/server/routes/common/jobs/job_management_pre_routing.test.ts b/x-pack/plugins/reporting/server/routes/common/jobs/job_management_pre_routing.test.ts
index ce0f6b5697eed..cc06ef2e0826c 100644
--- a/x-pack/plugins/reporting/server/routes/common/jobs/job_management_pre_routing.test.ts
+++ b/x-pack/plugins/reporting/server/routes/common/jobs/job_management_pre_routing.test.ts
@@ -39,7 +39,7 @@ beforeEach(async () => {
mockStartDeps = await createMockPluginStart(
{
- security: {
+ securityService: {
authc: {
getCurrentUser: () => ({ id: '123', roles: ['superuser'], username: 'Tom Riddle' }),
},
diff --git a/x-pack/plugins/reporting/server/routes/internal/generate/integration_tests/generation_from_jobparams.test.ts b/x-pack/plugins/reporting/server/routes/internal/generate/integration_tests/generation_from_jobparams.test.ts
index d27c032a3ddbf..a2296ad67db2e 100644
--- a/x-pack/plugins/reporting/server/routes/internal/generate/integration_tests/generation_from_jobparams.test.ts
+++ b/x-pack/plugins/reporting/server/routes/internal/generate/integration_tests/generation_from_jobparams.test.ts
@@ -77,7 +77,7 @@ describe(`POST ${INTERNAL_ROUTES.GENERATE_PREFIX}`, () => {
...licensingMock.createStart(),
license$: new BehaviorSubject({ isActive: true, isAvailable: true, type: 'gold' }),
},
- security: {
+ securityService: {
authc: {
getCurrentUser: () => ({ id: '123', roles: ['superuser'], username: 'Tom Riddle' }),
},
diff --git a/x-pack/plugins/reporting/server/routes/internal/management/integration_tests/jobs.test.ts b/x-pack/plugins/reporting/server/routes/internal/management/integration_tests/jobs.test.ts
index 2ab57d291dae7..1462b27a42126 100644
--- a/x-pack/plugins/reporting/server/routes/internal/management/integration_tests/jobs.test.ts
+++ b/x-pack/plugins/reporting/server/routes/internal/management/integration_tests/jobs.test.ts
@@ -98,7 +98,7 @@ describe(`Reporting Job Management Routes: Internal`, () => {
...licensingMock.createStart(),
license$: new BehaviorSubject({ isActive: true, isAvailable: true, type: 'gold' }),
},
- security: {
+ securityService: {
authc: {
getCurrentUser: () => ({ id: '123', roles: ['superuser'], username: 'Tom Riddle' }),
},
@@ -175,7 +175,7 @@ describe(`Reporting Job Management Routes: Internal`, () => {
...licensingMock.createStart(),
license$: new BehaviorSubject({ isActive: true, isAvailable: true, type: 'gold' }),
},
- security: { authc: { getCurrentUser: () => undefined } },
+ securityService: { authc: { getCurrentUser: () => undefined } }, // security comes from core here
},
mockConfigSchema
);
@@ -389,7 +389,7 @@ describe(`Reporting Job Management Routes: Internal`, () => {
...licensingMock.createStart(),
license$: new BehaviorSubject({ isActive: true, isAvailable: true, type: 'gold' }),
},
- security: {
+ securityService: {
authc: {
getCurrentUser: () => ({ id: '123', roles: ['peasant'], username: 'Tom Riddle' }),
},
diff --git a/x-pack/plugins/reporting/server/routes/public/integration_tests/generation_from_jobparams.test.ts b/x-pack/plugins/reporting/server/routes/public/integration_tests/generation_from_jobparams.test.ts
index 4821df1ab48e5..471f1456c8b68 100644
--- a/x-pack/plugins/reporting/server/routes/public/integration_tests/generation_from_jobparams.test.ts
+++ b/x-pack/plugins/reporting/server/routes/public/integration_tests/generation_from_jobparams.test.ts
@@ -76,7 +76,7 @@ describe(`POST ${PUBLIC_ROUTES.GENERATE_PREFIX}`, () => {
...licensingMock.createStart(),
license$: new BehaviorSubject({ isActive: true, isAvailable: true, type: 'gold' }),
},
- security: {
+ securityService: {
authc: {
getCurrentUser: () => ({ id: '123', roles: ['superuser'], username: 'Tom Riddle' }),
},
diff --git a/x-pack/plugins/reporting/server/routes/public/integration_tests/jobs.test.ts b/x-pack/plugins/reporting/server/routes/public/integration_tests/jobs.test.ts
index 4c0bc76640710..96776102ebb92 100644
--- a/x-pack/plugins/reporting/server/routes/public/integration_tests/jobs.test.ts
+++ b/x-pack/plugins/reporting/server/routes/public/integration_tests/jobs.test.ts
@@ -95,7 +95,7 @@ describe(`Reporting Job Management Routes: Public`, () => {
...licensingMock.createStart(),
license$: new BehaviorSubject({ isActive: true, isAvailable: true, type: 'gold' }),
},
- security: {
+ securityService: {
authc: {
getCurrentUser: () => ({ id: '123', roles: ['superuser'], username: 'Tom Riddle' }),
},
@@ -165,7 +165,7 @@ describe(`Reporting Job Management Routes: Public`, () => {
...licensingMock.createStart(),
license$: new BehaviorSubject({ isActive: true, isAvailable: true, type: 'gold' }),
},
- security: { authc: { getCurrentUser: () => undefined } },
+ securityService: { authc: { getCurrentUser: () => undefined } },
},
mockConfigSchema
);
diff --git a/x-pack/plugins/reporting/server/test_helpers/create_mock_reportingplugin.ts b/x-pack/plugins/reporting/server/test_helpers/create_mock_reportingplugin.ts
index 5f87427bf8251..c5c0185785f5e 100644
--- a/x-pack/plugins/reporting/server/test_helpers/create_mock_reportingplugin.ts
+++ b/x-pack/plugins/reporting/server/test_helpers/create_mock_reportingplugin.ts
@@ -31,7 +31,7 @@ import { securityMock } from '@kbn/security-plugin/server/mocks';
import { taskManagerMock } from '@kbn/task-manager-plugin/server/mocks';
import { ReportingCore } from '..';
-import { ReportingInternalSetup, ReportingInternalStart } from '../core';
+import type { ReportingInternalSetup, ReportingInternalStart } from '../core';
import { ReportingStore } from '../lib';
export const createMockPluginSetup = (
@@ -51,6 +51,7 @@ export const createMockPluginSetup = (
};
const coreSetupMock = coreMock.createSetup();
+const coreStartMock = coreMock.createStart();
const logger = loggingSystemMock.createLogger();
const createMockReportingStore = async (config: ReportingConfigType) => {
@@ -81,9 +82,10 @@ export const createMockPluginStart = async (
...licensingMock.createStart(),
license$: new BehaviorSubject({ isAvailable: true, isActive: true, type: 'basic' }),
},
+ securityService: coreStartMock.security, // we need authc from core.security start
logger,
screenshotting: createMockScreenshottingStart(),
- ...startMock,
+ ...startMock, // allows to override with test instances
};
};
diff --git a/x-pack/plugins/reporting/server/types.ts b/x-pack/plugins/reporting/server/types.ts
index 2e8cf80d73a0e..0c744a513ebac 100644
--- a/x-pack/plugins/reporting/server/types.ts
+++ b/x-pack/plugins/reporting/server/types.ts
@@ -21,11 +21,7 @@ import type {
PngScreenshotOptions as BasePngScreenshotOptions,
ScreenshottingStart,
} from '@kbn/screenshotting-plugin/server';
-import type {
- AuthenticatedUser,
- SecurityPluginSetup,
- SecurityPluginStart,
-} from '@kbn/security-plugin/server';
+import type { SecurityPluginSetup } from '@kbn/security-plugin/server';
import type { SpacesPluginSetup } from '@kbn/spaces-plugin/server';
import type {
TaskManagerSetupContract,
@@ -34,6 +30,7 @@ import type {
import type { UsageCollectionSetup } from '@kbn/usage-collection-plugin/server';
import { ExportTypesRegistry } from '@kbn/reporting-server/export_types_registry';
+import type { AuthenticatedUser } from '@kbn/core-security-common';
/**
* Plugin Setup Contract
@@ -70,7 +67,6 @@ export interface ReportingStartDeps {
licensing: LicensingPluginStart;
taskManager: TaskManagerStartContract;
screenshotting?: ScreenshottingStart;
- security?: SecurityPluginStart;
}
export type ReportingRequestHandlerContext = CustomRequestHandlerContext<{
diff --git a/x-pack/plugins/reporting/tsconfig.json b/x-pack/plugins/reporting/tsconfig.json
index b52c02a72bed1..68a7ded4ee1e8 100644
--- a/x-pack/plugins/reporting/tsconfig.json
+++ b/x-pack/plugins/reporting/tsconfig.json
@@ -50,6 +50,7 @@
"@kbn/reporting-csv-share-panel",
"@kbn/react-kibana-context-render",
"@kbn/react-kibana-mount",
+ "@kbn/core-security-common",
],
"exclude": [
"target/**/*",
From 2bcc2fd1348797b718ab2c085d9068425e9ea494 Mon Sep 17 00:00:00 2001
From: Cee Chen <549407+cee-chen@users.noreply.github.com>
Date: Fri, 28 Jun 2024 15:37:58 -0700
Subject: [PATCH 06/13] Upgrade EUI to v95.2.0 (#186841)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
`v95.1.0`⏩`v95.2.0`
_[Questions? Please see our Kibana upgrade
FAQ.](https://github.com/elastic/eui/blob/main/wiki/eui-team-processes/upgrading-kibana.md#faq-for-kibana-teams)_
---
## [`v95.2.0`](https://github.com/elastic/eui/releases/v95.2.0)
- Updated `EuiContextMenuItemIcon`'s type definition to explicitly
define support for `EuiIcon`'s `IconType`
([#7804](https://github.com/elastic/eui/pull/7804))
- Updated `EuiSteps` to support a new `titleSize="xxs"` style, which
outputs the same title font size but smaller unnumbered step indicators
([#7813](https://github.com/elastic/eui/pull/7813))
- Updated `EuiStepsHorizontal` to support a new `size="xs"` style, which
outputs smaller unnumbered step indicators
([#7813](https://github.com/elastic/eui/pull/7813))
- Updated `EuiStepNumber` to support new `titleSize="none"` which omits
rendering step numbers, and will only render icons
([#7813](https://github.com/elastic/eui/pull/7813))
- Updated `setEuiDevProviderWarning` to additionally accept a custom
callback function, which warning messages will be passed to
([#7820](https://github.com/elastic/eui/pull/7820))
- Updated `EuiIcon` to feature updated `logoElasticStack` logo for
referencing Elastic Stack platform
([#7838](https://github.com/elastic/eui/pull/7838))
- Updated `EuiIcon` to feature updated `casesApp` design.
([#7840](https://github.com/elastic/eui/pull/7840))
- Updated `EuiComboBox` to no longer autocomplete searched text when
used within forms ([#7842](https://github.com/elastic/eui/pull/7842))
**CSS-in-JS conversions**
- Converted `EuiFilePicker` to Emotion; Removed
`$euiFilePickerTallHeight`
([#7833](https://github.com/elastic/eui/pull/7833))
---------
Co-authored-by: Jon