diff --git a/package.json b/package.json
index ce8e92868880581..fa03604178e270e 100644
--- a/package.json
+++ b/package.json
@@ -103,7 +103,7 @@
"@elastic/datemath": "link:bazel-bin/packages/elastic-datemath",
"@elastic/elasticsearch": "npm:@elastic/elasticsearch-canary@^8.0.0-canary.21",
"@elastic/ems-client": "7.15.0",
- "@elastic/eui": "38.0.1",
+ "@elastic/eui": "39.0.0",
"@elastic/filesaver": "1.1.2",
"@elastic/maki": "6.3.0",
"@elastic/node-crypto": "1.2.1",
diff --git a/src/core/public/core_app/status/components/__snapshots__/status_table.test.tsx.snap b/src/core/public/core_app/status/components/__snapshots__/status_table.test.tsx.snap
index 16b67bfa0584f50..5b0e831286aad33 100644
--- a/src/core/public/core_app/status/components/__snapshots__/status_table.test.tsx.snap
+++ b/src/core/public/core_app/status/components/__snapshots__/status_table.test.tsx.snap
@@ -35,7 +35,12 @@ exports[`StatusTable renders when statuses is provided 1`] = `
},
]
}
- noItemsMessage="No items found"
+ noItemsMessage={
+
+ }
responsive={true}
rowProps={[Function]}
tableLayout="fixed"
diff --git a/src/core/public/i18n/__snapshots__/i18n_service.test.tsx.snap b/src/core/public/i18n/__snapshots__/i18n_service.test.tsx.snap
index 54e223cdc5d4127..d714f2159d1a239 100644
--- a/src/core/public/i18n/__snapshots__/i18n_service.test.tsx.snap
+++ b/src/core/public/i18n/__snapshots__/i18n_service.test.tsx.snap
@@ -7,6 +7,7 @@ exports[`#start() returns \`Context\` component 1`] = `
Object {
"mapping": Object {
"euiAccordion.isLoading": "Loading",
+ "euiBasicTable.noItemsMessage": "No items found",
"euiBasicTable.selectAllRows": "Select all rows",
"euiBasicTable.selectThisRow": "Select this row",
"euiBasicTable.tableAutoCaptionWithPagination": [Function],
@@ -120,13 +121,15 @@ exports[`#start() returns \`Context\` component 1`] = `
"euiLink.external.ariaLabel": "External link",
"euiLink.newTarget.screenReaderOnlyText": "(opens in a new tab or window)",
"euiMarkdownEditorFooter.closeButton": "Close",
- "euiMarkdownEditorFooter.descriptionPrefix": "This editor uses",
- "euiMarkdownEditorFooter.descriptionSuffix": "You can also utilize these additional syntax plugins to add rich content to your text.",
"euiMarkdownEditorFooter.errorsTitle": "Errors",
+ "euiMarkdownEditorFooter.mdSyntaxLink": "GitHub flavored markdown",
"euiMarkdownEditorFooter.openUploadModal": "Open upload files modal",
"euiMarkdownEditorFooter.showMarkdownHelp": "Show markdown help",
"euiMarkdownEditorFooter.showSyntaxErrors": "Show errors",
"euiMarkdownEditorFooter.supportedFileTypes": [Function],
+ "euiMarkdownEditorFooter.syntaxModalDescriptionPrefix": "This editor uses",
+ "euiMarkdownEditorFooter.syntaxModalDescriptionSuffix": "You can also utilize these additional syntax plugins to add rich content to your text.",
+ "euiMarkdownEditorFooter.syntaxPopoverDescription": "This editor uses",
"euiMarkdownEditorFooter.syntaxTitle": "Syntax help",
"euiMarkdownEditorFooter.unsupportedFileType": "File type not supported",
"euiMarkdownEditorFooter.uploadingFiles": "Click to upload files",
diff --git a/src/core/public/i18n/i18n_eui_mapping.tsx b/src/core/public/i18n/i18n_eui_mapping.tsx
index 2fe9657bce8c9a4..7585ada886c0592 100644
--- a/src/core/public/i18n/i18n_eui_mapping.tsx
+++ b/src/core/public/i18n/i18n_eui_mapping.tsx
@@ -68,6 +68,9 @@ export const getEuiContextMapping = (): EuiTokensObject => {
values: { tableCaption },
description: 'Screen reader text to describe the pagination controls',
}),
+ 'euiBasicTable.noItemsMessage': i18n.translate('core.euiBasicTable.noItemsMessage', {
+ defaultMessage: 'No items found',
+ }),
'euiBottomBar.customScreenReaderAnnouncement': ({ landmarkHeading }: EuiValues) =>
i18n.translate('core.euiBottomBar.customScreenReaderAnnouncement', {
defaultMessage:
@@ -634,19 +637,31 @@ export const getEuiContextMapping = (): EuiTokensObject => {
defaultMessage: 'Syntax help',
}
),
- 'euiMarkdownEditorFooter.descriptionPrefix': i18n.translate(
- 'core.euiMarkdownEditorFooter.descriptionPrefix',
+ 'euiMarkdownEditorFooter.mdSyntaxLink': i18n.translate(
+ 'core.euiMarkdownEditorFooter.mdSyntaxLink',
+ {
+ defaultMessage: 'GitHub flavored markdown',
+ }
+ ),
+ 'euiMarkdownEditorFooter.syntaxModalDescriptionPrefix': i18n.translate(
+ 'core.euiMarkdownEditorFooter.syntaxModalDescriptionPrefix',
{
defaultMessage: 'This editor uses',
}
),
- 'euiMarkdownEditorFooter.descriptionSuffix': i18n.translate(
- 'core.euiMarkdownEditorFooter.descriptionSuffix',
+ 'euiMarkdownEditorFooter.syntaxModalDescriptionSuffix': i18n.translate(
+ 'core.euiMarkdownEditorFooter.syntaxModalDescriptionSuffix',
{
defaultMessage:
'You can also utilize these additional syntax plugins to add rich content to your text.',
}
),
+ 'euiMarkdownEditorFooter.syntaxPopoverDescription': i18n.translate(
+ 'core.euiMarkdownEditorFooter.syntaxPopoverDescription',
+ {
+ defaultMessage: 'This editor uses',
+ }
+ ),
'euiMarkdownEditorToolbar.editor': i18n.translate('core.euiMarkdownEditorToolbar.editor', {
defaultMessage: 'Editor',
}),
diff --git a/src/dev/license_checker/config.ts b/src/dev/license_checker/config.ts
index e4f1c6a2d2e014e..818ea3675194eda 100644
--- a/src/dev/license_checker/config.ts
+++ b/src/dev/license_checker/config.ts
@@ -75,6 +75,6 @@ export const LICENSE_OVERRIDES = {
'jsts@1.6.2': ['Eclipse Distribution License - v 1.0'], // cf. https://github.com/bjornharrtell/jsts
'@mapbox/jsonlint-lines-primitives@2.0.2': ['MIT'], // license in readme https://github.com/tmcw/jsonlint
'@elastic/ems-client@7.15.0': ['Elastic License 2.0'],
- '@elastic/eui@38.0.1': ['SSPL-1.0 OR Elastic License 2.0'],
+ '@elastic/eui@39.0.0': ['SSPL-1.0 OR Elastic License 2.0'],
'language-subtag-registry@0.3.21': ['CC-BY-4.0'], // retired ODC‑By license https://github.com/mattcg/language-subtag-registry
};
diff --git a/src/plugins/data/public/utils/table_inspector_view/components/__snapshots__/data_view.test.tsx.snap b/src/plugins/data/public/utils/table_inspector_view/components/__snapshots__/data_view.test.tsx.snap
index 9cd0687a1074d21..eae203274839678 100644
--- a/src/plugins/data/public/utils/table_inspector_view/components/__snapshots__/data_view.test.tsx.snap
+++ b/src/plugins/data/public/utils/table_inspector_view/components/__snapshots__/data_view.test.tsx.snap
@@ -884,7 +884,12 @@ exports[`Inspector Data View component should render single table without select
},
]
}
- noItemsMessage="No items found"
+ noItemsMessage={
+
+ }
onChange={[Function]}
pagination={
Object {
@@ -2449,7 +2454,12 @@ exports[`Inspector Data View component should support multiple datatables 1`] =
},
]
}
- noItemsMessage="No items found"
+ noItemsMessage={
+
+ }
onChange={[Function]}
pagination={
Object {
diff --git a/src/plugins/es_ui_shared/public/components/cron_editor/cron_editor.test.tsx b/src/plugins/es_ui_shared/public/components/cron_editor/cron_editor.test.tsx
index 26ef7483bbbbd99..0ae82872124a433 100644
--- a/src/plugins/es_ui_shared/public/components/cron_editor/cron_editor.test.tsx
+++ b/src/plugins/es_ui_shared/public/components/cron_editor/cron_editor.test.tsx
@@ -14,12 +14,6 @@ import { mountWithI18nProvider } from '@kbn/test/jest';
import { Frequency } from './types';
import { CronEditor } from './cron_editor';
-jest.mock('@elastic/eui/lib/services/accessibility/html_id_generator', () => {
- return {
- htmlIdGenerator: () => () => `generated-id`,
- };
-});
-
describe('CronEditor', () => {
['MINUTE', 'HOUR', 'DAY', 'WEEK', 'MONTH', 'YEAR'].forEach((unit) => {
test(`is rendered with a ${unit} frequency`, () => {
diff --git a/src/plugins/index_pattern_field_editor/__jest__/client_integration/helpers/jest.mocks.tsx b/src/plugins/index_pattern_field_editor/__jest__/client_integration/helpers/jest.mocks.tsx
index e291ec7b4ca0831..d33a0d2a87fb5de 100644
--- a/src/plugins/index_pattern_field_editor/__jest__/client_integration/helpers/jest.mocks.tsx
+++ b/src/plugins/index_pattern_field_editor/__jest__/client_integration/helpers/jest.mocks.tsx
@@ -9,12 +9,6 @@ import React from 'react';
const EDITOR_ID = 'testEditor';
-jest.mock('@elastic/eui/lib/services/accessibility', () => {
- return {
- htmlIdGenerator: () => () => `generated-id`,
- };
-});
-
jest.mock('@elastic/eui', () => {
const original = jest.requireActual('@elastic/eui');
diff --git a/src/plugins/index_pattern_field_editor/public/components/field_format_editor/editors/color/__snapshots__/color.test.tsx.snap b/src/plugins/index_pattern_field_editor/public/components/field_format_editor/editors/color/__snapshots__/color.test.tsx.snap
index 7406e5ae9bb2daf..1cff82729e6f995 100644
--- a/src/plugins/index_pattern_field_editor/public/components/field_format_editor/editors/color/__snapshots__/color.test.tsx.snap
+++ b/src/plugins/index_pattern_field_editor/public/components/field_format_editor/editors/color/__snapshots__/color.test.tsx.snap
@@ -76,7 +76,12 @@ exports[`ColorFormatEditor should render multiple colors 1`] = `
},
]
}
- noItemsMessage="No items found"
+ noItemsMessage={
+
+ }
responsive={true}
tableLayout="fixed"
/>
@@ -170,7 +175,12 @@ exports[`ColorFormatEditor should render other type normally (range field) 1`] =
},
]
}
- noItemsMessage="No items found"
+ noItemsMessage={
+
+ }
responsive={true}
tableLayout="fixed"
/>
@@ -264,7 +274,12 @@ exports[`ColorFormatEditor should render string type normally (regex field) 1`]
},
]
}
- noItemsMessage="No items found"
+ noItemsMessage={
+
+ }
responsive={true}
tableLayout="fixed"
/>
diff --git a/src/plugins/index_pattern_field_editor/public/components/field_format_editor/editors/static_lookup/__snapshots__/static_lookup.test.tsx.snap b/src/plugins/index_pattern_field_editor/public/components/field_format_editor/editors/static_lookup/__snapshots__/static_lookup.test.tsx.snap
index 664912789b0e35c..3b476a6037aed6d 100644
--- a/src/plugins/index_pattern_field_editor/public/components/field_format_editor/editors/static_lookup/__snapshots__/static_lookup.test.tsx.snap
+++ b/src/plugins/index_pattern_field_editor/public/components/field_format_editor/editors/static_lookup/__snapshots__/static_lookup.test.tsx.snap
@@ -55,7 +55,12 @@ exports[`StaticLookupFormatEditor should render multiple lookup entries and unkn
},
]
}
- noItemsMessage="No items found"
+ noItemsMessage={
+
+ }
responsive={true}
style={
Object {
@@ -159,7 +164,12 @@ exports[`StaticLookupFormatEditor should render normally 1`] = `
},
]
}
- noItemsMessage="No items found"
+ noItemsMessage={
+
+ }
responsive={true}
style={
Object {
diff --git a/src/plugins/index_pattern_field_editor/public/components/field_format_editor/editors/url/__snapshots__/url.test.tsx.snap b/src/plugins/index_pattern_field_editor/public/components/field_format_editor/editors/url/__snapshots__/url.test.tsx.snap
index 79c1a11cfef84a6..3890d6c2b9ddbe8 100644
--- a/src/plugins/index_pattern_field_editor/public/components/field_format_editor/editors/url/__snapshots__/url.test.tsx.snap
+++ b/src/plugins/index_pattern_field_editor/public/components/field_format_editor/editors/url/__snapshots__/url.test.tsx.snap
@@ -292,7 +292,7 @@ exports[`UrlFormatEditor should render normally 1`] = `
{
- return {
- htmlIdGenerator: () => () => `generated-id`,
- };
-});
-
const fieldType = 'string';
const format = {
getConverterFor: jest
diff --git a/src/plugins/index_pattern_field_editor/public/components/field_format_editor/samples/__snapshots__/samples.test.tsx.snap b/src/plugins/index_pattern_field_editor/public/components/field_format_editor/samples/__snapshots__/samples.test.tsx.snap
index 1a0b96c14fe3594..71693a1e5cb8c8e 100644
--- a/src/plugins/index_pattern_field_editor/public/components/field_format_editor/samples/__snapshots__/samples.test.tsx.snap
+++ b/src/plugins/index_pattern_field_editor/public/components/field_format_editor/samples/__snapshots__/samples.test.tsx.snap
@@ -52,7 +52,12 @@ exports[`FormatEditorSamples should render normally 1`] = `
},
]
}
- noItemsMessage="No items found"
+ noItemsMessage={
+
+ }
responsive={true}
tableLayout="fixed"
/>
diff --git a/src/plugins/saved_objects_management/public/management_section/objects_table/components/__snapshots__/table.test.tsx.snap b/src/plugins/saved_objects_management/public/management_section/objects_table/components/__snapshots__/table.test.tsx.snap
index 8325e7dc886e805..bca54ff67591ce0 100644
--- a/src/plugins/saved_objects_management/public/management_section/objects_table/components/__snapshots__/table.test.tsx.snap
+++ b/src/plugins/saved_objects_management/public/management_section/objects_table/components/__snapshots__/table.test.tsx.snap
@@ -188,7 +188,12 @@ exports[`Table prevents saved objects from being deleted 1`] = `
]
}
loading={false}
- noItemsMessage="No items found"
+ noItemsMessage={
+
+ }
onChange={[Function]}
pagination={
Object {
@@ -403,7 +408,12 @@ exports[`Table should render normally 1`] = `
]
}
loading={false}
- noItemsMessage="No items found"
+ noItemsMessage={
+
+ }
onChange={[Function]}
pagination={
Object {
diff --git a/x-pack/plugins/apm/public/components/app/error_group_overview/List/List.test.tsx b/x-pack/plugins/apm/public/components/app/error_group_overview/List/List.test.tsx
index a2a92b7e16f8eac..12fa1c955ccc8fb 100644
--- a/x-pack/plugins/apm/public/components/app/error_group_overview/List/List.test.tsx
+++ b/x-pack/plugins/apm/public/components/app/error_group_overview/List/List.test.tsx
@@ -15,12 +15,6 @@ import props from './__fixtures__/props.json';
import { MemoryRouter } from 'react-router-dom';
import { EuiThemeProvider } from '../../../../../../../../src/plugins/kibana_react/common';
-jest.mock('@elastic/eui/lib/services/accessibility/html_id_generator', () => {
- return {
- htmlIdGenerator: () => () => `generated-id`,
- };
-});
-
describe('ErrorGroupOverview -> List', () => {
beforeAll(() => {
mockMoment();
diff --git a/x-pack/plugins/apm/public/components/app/error_group_overview/List/__snapshots__/List.test.tsx.snap b/x-pack/plugins/apm/public/components/app/error_group_overview/List/__snapshots__/List.test.tsx.snap
index 890c692096a6640..c8c7bf82dff0479 100644
--- a/x-pack/plugins/apm/public/components/app/error_group_overview/List/__snapshots__/List.test.tsx.snap
+++ b/x-pack/plugins/apm/public/components/app/error_group_overview/List/__snapshots__/List.test.tsx.snap
@@ -56,7 +56,7 @@ exports[`ErrorGroupOverview -> List should render empty state 1`] = `
List should render with data 1`] = `
List should render with data 1`] = `
className="euiPagination__item"
>