diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index f80c87ff4058b..fb12f72abd2f1 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -330,6 +330,7 @@ examples/discover_customization_examples @elastic/kibana-data-discovery x-pack/plugins/discover_enhanced @elastic/kibana-data-discovery x-pack/plugins/discover_log_explorer @elastic/infra-monitoring-ui src/plugins/discover @elastic/kibana-data-discovery +packages/kbn-discover-utils @elastic/kibana-data-discovery packages/kbn-doc-links @elastic/docs packages/kbn-docs-utils @elastic/kibana-operations packages/kbn-dom-drag-drop @elastic/kibana-visualizations @elastic/kibana-data-discovery diff --git a/.i18nrc.json b/.i18nrc.json index db0b984b8eb23..cffc81dd6fc48 100644 --- a/.i18nrc.json +++ b/.i18nrc.json @@ -22,6 +22,7 @@ "defaultNavigation": "packages/default-nav", "devTools": "src/plugins/dev_tools", "discover": "src/plugins/discover", + "discover-utils": "packages/kbn-discover-utils", "savedSearch": "src/plugins/saved_search", "embeddableApi": "src/plugins/embeddable", "embeddableExamples": "examples/embeddable_examples", diff --git a/api_docs/actions.mdx b/api_docs/actions.mdx index 8c6e45948f685..1a90f438108a9 100644 --- a/api_docs/actions.mdx +++ b/api_docs/actions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/actions title: "actions" image: https://source.unsplash.com/400x175/?github description: API docs for the actions plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'actions'] --- import actionsObj from './actions.devdocs.json'; diff --git a/api_docs/advanced_settings.mdx b/api_docs/advanced_settings.mdx index 659ffa48f82e7..ada27b8dc1103 100644 --- a/api_docs/advanced_settings.mdx +++ b/api_docs/advanced_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/advancedSettings title: "advancedSettings" image: https://source.unsplash.com/400x175/?github description: API docs for the advancedSettings plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'advancedSettings'] --- import advancedSettingsObj from './advanced_settings.devdocs.json'; diff --git a/api_docs/aiops.mdx b/api_docs/aiops.mdx index d925a18321c60..4f572f733c3ad 100644 --- a/api_docs/aiops.mdx +++ b/api_docs/aiops.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/aiops title: "aiops" image: https://source.unsplash.com/400x175/?github description: API docs for the aiops plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'aiops'] --- import aiopsObj from './aiops.devdocs.json'; diff --git a/api_docs/alerting.mdx b/api_docs/alerting.mdx index a4dcd2b8fba08..be2a6f48fdf33 100644 --- a/api_docs/alerting.mdx +++ b/api_docs/alerting.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/alerting title: "alerting" image: https://source.unsplash.com/400x175/?github description: API docs for the alerting plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'alerting'] --- import alertingObj from './alerting.devdocs.json'; diff --git a/api_docs/apm.devdocs.json b/api_docs/apm.devdocs.json index da0788b5bd372..fb9e44cb2f915 100644 --- a/api_docs/apm.devdocs.json +++ b/api_docs/apm.devdocs.json @@ -1021,7 +1021,9 @@ "IndicesGetResponse", "; ingestPipelines: ", "IngestGetPipelineResponse", - "; }; apmIndices: Readonly<{ error: string; onboarding: string; span: string; transaction: string; metric: string; }>; apmIndexTemplates: { name: string; isNonStandard: boolean; exists: boolean; }[]; fleetPackageInfo: { isInstalled: boolean; version?: string | undefined; }; kibanaVersion: string; elasticsearchVersion: string; apmEvents: ", + "; }; diagnosticsPrivileges: { index: Record; cluster: Record; hasAllClusterPrivileges: boolean; hasAllIndexPrivileges: boolean; hasAllPrivileges: boolean; }; apmIndices: Readonly<{ error: string; onboarding: string; span: string; transaction: string; metric: string; }>; apmIndexTemplates: { name: string; isNonStandard: boolean; exists: boolean; }[]; fleetPackageInfo: { isInstalled: boolean; version?: string | undefined; }; kibanaVersion: string; elasticsearchVersion: string; apmEvents: ", "ApmEvent", "[]; invalidIndices: ", "IndiciesItem", diff --git a/api_docs/apm.mdx b/api_docs/apm.mdx index fdd912e335084..8f217da9e55d1 100644 --- a/api_docs/apm.mdx +++ b/api_docs/apm.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/apm title: "apm" image: https://source.unsplash.com/400x175/?github description: API docs for the apm plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'apm'] --- import apmObj from './apm.devdocs.json'; diff --git a/api_docs/asset_manager.mdx b/api_docs/asset_manager.mdx index f0fdcc0c4d8b7..eb2d4d4ef301a 100644 --- a/api_docs/asset_manager.mdx +++ b/api_docs/asset_manager.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/assetManager title: "assetManager" image: https://source.unsplash.com/400x175/?github description: API docs for the assetManager plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'assetManager'] --- import assetManagerObj from './asset_manager.devdocs.json'; diff --git a/api_docs/banners.mdx b/api_docs/banners.mdx index 2b8d8dd38930d..ac8f23f3c50c6 100644 --- a/api_docs/banners.mdx +++ b/api_docs/banners.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/banners title: "banners" image: https://source.unsplash.com/400x175/?github description: API docs for the banners plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'banners'] --- import bannersObj from './banners.devdocs.json'; diff --git a/api_docs/bfetch.mdx b/api_docs/bfetch.mdx index 3c13787afe113..86738a99aafb0 100644 --- a/api_docs/bfetch.mdx +++ b/api_docs/bfetch.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/bfetch title: "bfetch" image: https://source.unsplash.com/400x175/?github description: API docs for the bfetch plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'bfetch'] --- import bfetchObj from './bfetch.devdocs.json'; diff --git a/api_docs/canvas.mdx b/api_docs/canvas.mdx index f20752ef3ecb5..11b22a54d1f17 100644 --- a/api_docs/canvas.mdx +++ b/api_docs/canvas.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/canvas title: "canvas" image: https://source.unsplash.com/400x175/?github description: API docs for the canvas plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'canvas'] --- import canvasObj from './canvas.devdocs.json'; diff --git a/api_docs/cases.mdx b/api_docs/cases.mdx index 998df05731181..ee2a18276a676 100644 --- a/api_docs/cases.mdx +++ b/api_docs/cases.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cases title: "cases" image: https://source.unsplash.com/400x175/?github description: API docs for the cases plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cases'] --- import casesObj from './cases.devdocs.json'; diff --git a/api_docs/charts.mdx b/api_docs/charts.mdx index b224d9d5250d5..443c49426b7c7 100644 --- a/api_docs/charts.mdx +++ b/api_docs/charts.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/charts title: "charts" image: https://source.unsplash.com/400x175/?github description: API docs for the charts plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'charts'] --- import chartsObj from './charts.devdocs.json'; diff --git a/api_docs/cloud.devdocs.json b/api_docs/cloud.devdocs.json index 5309d0888559a..728a017d66d72 100644 --- a/api_docs/cloud.devdocs.json +++ b/api_docs/cloud.devdocs.json @@ -113,6 +113,34 @@ "deprecated": false, "trackAdoption": false }, + { + "parentPluginId": "cloud", + "id": "def-public.CloudConfigType.users_and_roles_url", + "type": "string", + "tags": [], + "label": "users_and_roles_url", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "x-pack/plugins/cloud/public/plugin.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "cloud", + "id": "def-public.CloudConfigType.performance_url", + "type": "string", + "tags": [], + "label": "performance_url", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "x-pack/plugins/cloud/public/plugin.tsx", + "deprecated": false, + "trackAdoption": false + }, { "parentPluginId": "cloud", "id": "def-public.CloudConfigType.trial_end_date", @@ -309,6 +337,38 @@ "deprecated": false, "trackAdoption": false }, + { + "parentPluginId": "cloud", + "id": "def-public.CloudStart.performanceUrl", + "type": "string", + "tags": [], + "label": "performanceUrl", + "description": [ + "\nThe full URL to the performance page on Elastic Cloud. Undefined if not running on Cloud." + ], + "signature": [ + "string | undefined" + ], + "path": "x-pack/plugins/cloud/public/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "cloud", + "id": "def-public.CloudStart.usersAndRolesUrl", + "type": "string", + "tags": [], + "label": "usersAndRolesUrl", + "description": [ + "\nThe full URL to the users and roles page on Elastic Cloud. Undefined if not running on Cloud." + ], + "signature": [ + "string | undefined" + ], + "path": "x-pack/plugins/cloud/public/types.ts", + "deprecated": false, + "trackAdoption": false + }, { "parentPluginId": "cloud", "id": "def-public.CloudStart.elasticsearchUrl", diff --git a/api_docs/cloud.mdx b/api_docs/cloud.mdx index 8c7af5f7ddfaa..d0f6a452e82da 100644 --- a/api_docs/cloud.mdx +++ b/api_docs/cloud.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloud title: "cloud" image: https://source.unsplash.com/400x175/?github description: API docs for the cloud plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloud'] --- import cloudObj from './cloud.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 61 | 0 | 13 | 0 | +| 65 | 0 | 15 | 0 | ## Client diff --git a/api_docs/cloud_chat.mdx b/api_docs/cloud_chat.mdx index 63527f1e10fc6..8f3441022ba9f 100644 --- a/api_docs/cloud_chat.mdx +++ b/api_docs/cloud_chat.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudChat title: "cloudChat" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudChat plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudChat'] --- import cloudChatObj from './cloud_chat.devdocs.json'; diff --git a/api_docs/cloud_chat_provider.mdx b/api_docs/cloud_chat_provider.mdx index 1e4be670d2916..3d0c789a01265 100644 --- a/api_docs/cloud_chat_provider.mdx +++ b/api_docs/cloud_chat_provider.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudChatProvider title: "cloudChatProvider" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudChatProvider plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudChatProvider'] --- import cloudChatProviderObj from './cloud_chat_provider.devdocs.json'; diff --git a/api_docs/cloud_data_migration.mdx b/api_docs/cloud_data_migration.mdx index af60cd44b1c63..9dbc96b3518e7 100644 --- a/api_docs/cloud_data_migration.mdx +++ b/api_docs/cloud_data_migration.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudDataMigration title: "cloudDataMigration" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudDataMigration plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudDataMigration'] --- import cloudDataMigrationObj from './cloud_data_migration.devdocs.json'; diff --git a/api_docs/cloud_defend.mdx b/api_docs/cloud_defend.mdx index f49cbd9c5a580..881bc8badc0f3 100644 --- a/api_docs/cloud_defend.mdx +++ b/api_docs/cloud_defend.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudDefend title: "cloudDefend" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudDefend plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudDefend'] --- import cloudDefendObj from './cloud_defend.devdocs.json'; diff --git a/api_docs/cloud_experiments.mdx b/api_docs/cloud_experiments.mdx index 761b0051c62c0..d2f5f43d117dc 100644 --- a/api_docs/cloud_experiments.mdx +++ b/api_docs/cloud_experiments.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudExperiments title: "cloudExperiments" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudExperiments plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudExperiments'] --- import cloudExperimentsObj from './cloud_experiments.devdocs.json'; diff --git a/api_docs/cloud_security_posture.mdx b/api_docs/cloud_security_posture.mdx index caea84b083d56..f67b73c9899f9 100644 --- a/api_docs/cloud_security_posture.mdx +++ b/api_docs/cloud_security_posture.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudSecurityPosture title: "cloudSecurityPosture" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudSecurityPosture plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudSecurityPosture'] --- import cloudSecurityPostureObj from './cloud_security_posture.devdocs.json'; diff --git a/api_docs/console.mdx b/api_docs/console.mdx index 99f1d94d1f45a..1b9ffe711104e 100644 --- a/api_docs/console.mdx +++ b/api_docs/console.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/console title: "console" image: https://source.unsplash.com/400x175/?github description: API docs for the console plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'console'] --- import consoleObj from './console.devdocs.json'; diff --git a/api_docs/content_management.mdx b/api_docs/content_management.mdx index 35253cc69fbea..e0e86aad66660 100644 --- a/api_docs/content_management.mdx +++ b/api_docs/content_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/contentManagement title: "contentManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the contentManagement plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'contentManagement'] --- import contentManagementObj from './content_management.devdocs.json'; diff --git a/api_docs/controls.mdx b/api_docs/controls.mdx index 1793513b2e37b..7da0827ed7c49 100644 --- a/api_docs/controls.mdx +++ b/api_docs/controls.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/controls title: "controls" image: https://source.unsplash.com/400x175/?github description: API docs for the controls plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'controls'] --- import controlsObj from './controls.devdocs.json'; diff --git a/api_docs/custom_integrations.mdx b/api_docs/custom_integrations.mdx index 9cc5f9e7ed895..07abd99d7c5a0 100644 --- a/api_docs/custom_integrations.mdx +++ b/api_docs/custom_integrations.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/customIntegrations title: "customIntegrations" image: https://source.unsplash.com/400x175/?github description: API docs for the customIntegrations plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'customIntegrations'] --- import customIntegrationsObj from './custom_integrations.devdocs.json'; diff --git a/api_docs/dashboard.mdx b/api_docs/dashboard.mdx index 5c9a505e9c793..10c671a388afb 100644 --- a/api_docs/dashboard.mdx +++ b/api_docs/dashboard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dashboard title: "dashboard" image: https://source.unsplash.com/400x175/?github description: API docs for the dashboard plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dashboard'] --- import dashboardObj from './dashboard.devdocs.json'; diff --git a/api_docs/dashboard_enhanced.mdx b/api_docs/dashboard_enhanced.mdx index 9086b04d9d596..602b9218130fc 100644 --- a/api_docs/dashboard_enhanced.mdx +++ b/api_docs/dashboard_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dashboardEnhanced title: "dashboardEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the dashboardEnhanced plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dashboardEnhanced'] --- import dashboardEnhancedObj from './dashboard_enhanced.devdocs.json'; diff --git a/api_docs/data.devdocs.json b/api_docs/data.devdocs.json index fa7e3933f6883..14d6f75b5e692 100644 --- a/api_docs/data.devdocs.json +++ b/api_docs/data.devdocs.json @@ -28714,6 +28714,21 @@ "trackAdoption": false, "initialIsOpen": false }, + { + "parentPluginId": "data", + "id": "def-common.KQL_TELEMETRY_ROUTE_LATEST_VERSION", + "type": "string", + "tags": [], + "label": "KQL_TELEMETRY_ROUTE_LATEST_VERSION", + "description": [], + "signature": [ + "\"1\"" + ], + "path": "src/plugins/data/common/constants.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "data", "id": "def-common.META_FIELDS", @@ -28746,6 +28761,21 @@ "trackAdoption": false, "initialIsOpen": false }, + { + "parentPluginId": "data", + "id": "def-common.SCRIPT_LANGUAGES_ROUTE_LATEST_VERSION", + "type": "string", + "tags": [], + "label": "SCRIPT_LANGUAGES_ROUTE_LATEST_VERSION", + "description": [], + "signature": [ + "\"1\"" + ], + "path": "src/plugins/data/common/constants.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "data", "id": "def-common.SourceFilter", diff --git a/api_docs/data.mdx b/api_docs/data.mdx index 51db0fa099496..3e834518a99a0 100644 --- a/api_docs/data.mdx +++ b/api_docs/data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/data title: "data" image: https://source.unsplash.com/400x175/?github description: API docs for the data plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data'] --- import dataObj from './data.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/k | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 3291 | 119 | 2571 | 27 | +| 3293 | 119 | 2573 | 27 | ## Client diff --git a/api_docs/data_query.mdx b/api_docs/data_query.mdx index 289d1bf61d346..8e3cea76b037a 100644 --- a/api_docs/data_query.mdx +++ b/api_docs/data_query.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/data-query title: "data.query" image: https://source.unsplash.com/400x175/?github description: API docs for the data.query plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data.query'] --- import dataQueryObj from './data_query.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/k | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 3291 | 119 | 2571 | 27 | +| 3293 | 119 | 2573 | 27 | ## Client diff --git a/api_docs/data_search.mdx b/api_docs/data_search.mdx index bb6fadd343fa0..44efe7178fe91 100644 --- a/api_docs/data_search.mdx +++ b/api_docs/data_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/data-search title: "data.search" image: https://source.unsplash.com/400x175/?github description: API docs for the data.search plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data.search'] --- import dataSearchObj from './data_search.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/k | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 3291 | 119 | 2571 | 27 | +| 3293 | 119 | 2573 | 27 | ## Client diff --git a/api_docs/data_view_editor.mdx b/api_docs/data_view_editor.mdx index ea6d8d385d049..2378f9242f723 100644 --- a/api_docs/data_view_editor.mdx +++ b/api_docs/data_view_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViewEditor title: "dataViewEditor" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViewEditor plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViewEditor'] --- import dataViewEditorObj from './data_view_editor.devdocs.json'; diff --git a/api_docs/data_view_field_editor.mdx b/api_docs/data_view_field_editor.mdx index bce356484fb58..e57744dea1ee1 100644 --- a/api_docs/data_view_field_editor.mdx +++ b/api_docs/data_view_field_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViewFieldEditor title: "dataViewFieldEditor" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViewFieldEditor plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViewFieldEditor'] --- import dataViewFieldEditorObj from './data_view_field_editor.devdocs.json'; diff --git a/api_docs/data_view_management.mdx b/api_docs/data_view_management.mdx index 117d88038bfd6..367c7bce9ce0a 100644 --- a/api_docs/data_view_management.mdx +++ b/api_docs/data_view_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViewManagement title: "dataViewManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViewManagement plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViewManagement'] --- import dataViewManagementObj from './data_view_management.devdocs.json'; diff --git a/api_docs/data_views.mdx b/api_docs/data_views.mdx index 41229fb55fd05..be46fc4faef33 100644 --- a/api_docs/data_views.mdx +++ b/api_docs/data_views.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViews title: "dataViews" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViews plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViews'] --- import dataViewsObj from './data_views.devdocs.json'; diff --git a/api_docs/data_visualizer.mdx b/api_docs/data_visualizer.mdx index d66d6c4dbdb1d..45de3c05476fe 100644 --- a/api_docs/data_visualizer.mdx +++ b/api_docs/data_visualizer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataVisualizer title: "dataVisualizer" image: https://source.unsplash.com/400x175/?github description: API docs for the dataVisualizer plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataVisualizer'] --- import dataVisualizerObj from './data_visualizer.devdocs.json'; diff --git a/api_docs/deprecations_by_api.mdx b/api_docs/deprecations_by_api.mdx index 37523094d7228..69c4821bf492c 100644 --- a/api_docs/deprecations_by_api.mdx +++ b/api_docs/deprecations_by_api.mdx @@ -7,7 +7,7 @@ id: kibDevDocsDeprecationsByApi slug: /kibana-dev-docs/api-meta/deprecated-api-list-by-api title: Deprecated API usage by API description: A list of deprecated APIs, which plugins are still referencing them, and when they need to be removed by. -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- diff --git a/api_docs/deprecations_by_plugin.mdx b/api_docs/deprecations_by_plugin.mdx index 7a9b1443fda31..e603799b216ae 100644 --- a/api_docs/deprecations_by_plugin.mdx +++ b/api_docs/deprecations_by_plugin.mdx @@ -7,7 +7,7 @@ id: kibDevDocsDeprecationsByPlugin slug: /kibana-dev-docs/api-meta/deprecated-api-list-by-plugin title: Deprecated API usage by plugin description: A list of deprecated APIs, which plugins are still referencing them, and when they need to be removed by. -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- diff --git a/api_docs/deprecations_by_team.mdx b/api_docs/deprecations_by_team.mdx index 9e591b1549daf..0e216a1428c62 100644 --- a/api_docs/deprecations_by_team.mdx +++ b/api_docs/deprecations_by_team.mdx @@ -7,7 +7,7 @@ id: kibDevDocsDeprecationsDueByTeam slug: /kibana-dev-docs/api-meta/deprecations-due-by-team title: Deprecated APIs due to be removed, by team description: Lists the teams that are referencing deprecated APIs with a remove by date. -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- diff --git a/api_docs/dev_tools.mdx b/api_docs/dev_tools.mdx index eee0640d021d8..3b6b8f68bb8dd 100644 --- a/api_docs/dev_tools.mdx +++ b/api_docs/dev_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/devTools title: "devTools" image: https://source.unsplash.com/400x175/?github description: API docs for the devTools plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'devTools'] --- import devToolsObj from './dev_tools.devdocs.json'; diff --git a/api_docs/discover.mdx b/api_docs/discover.mdx index f2d2a26a7264e..4049645c02c6a 100644 --- a/api_docs/discover.mdx +++ b/api_docs/discover.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/discover title: "discover" image: https://source.unsplash.com/400x175/?github description: API docs for the discover plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'discover'] --- import discoverObj from './discover.devdocs.json'; diff --git a/api_docs/discover_enhanced.mdx b/api_docs/discover_enhanced.mdx index 56b69bf1d9a2a..dbcb3abc963a4 100644 --- a/api_docs/discover_enhanced.mdx +++ b/api_docs/discover_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/discoverEnhanced title: "discoverEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the discoverEnhanced plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'discoverEnhanced'] --- import discoverEnhancedObj from './discover_enhanced.devdocs.json'; diff --git a/api_docs/ecs_data_quality_dashboard.mdx b/api_docs/ecs_data_quality_dashboard.mdx index 52b7806f5b047..62b9571c2c4f2 100644 --- a/api_docs/ecs_data_quality_dashboard.mdx +++ b/api_docs/ecs_data_quality_dashboard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ecsDataQualityDashboard title: "ecsDataQualityDashboard" image: https://source.unsplash.com/400x175/?github description: API docs for the ecsDataQualityDashboard plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ecsDataQualityDashboard'] --- import ecsDataQualityDashboardObj from './ecs_data_quality_dashboard.devdocs.json'; diff --git a/api_docs/embeddable.mdx b/api_docs/embeddable.mdx index ab33cb1a07797..450cc28f279e8 100644 --- a/api_docs/embeddable.mdx +++ b/api_docs/embeddable.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/embeddable title: "embeddable" image: https://source.unsplash.com/400x175/?github description: API docs for the embeddable plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'embeddable'] --- import embeddableObj from './embeddable.devdocs.json'; diff --git a/api_docs/embeddable_enhanced.mdx b/api_docs/embeddable_enhanced.mdx index 0596510265537..65b67c9246732 100644 --- a/api_docs/embeddable_enhanced.mdx +++ b/api_docs/embeddable_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/embeddableEnhanced title: "embeddableEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the embeddableEnhanced plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'embeddableEnhanced'] --- import embeddableEnhancedObj from './embeddable_enhanced.devdocs.json'; diff --git a/api_docs/encrypted_saved_objects.mdx b/api_docs/encrypted_saved_objects.mdx index 9f5561f33548a..0cda898b7f1b5 100644 --- a/api_docs/encrypted_saved_objects.mdx +++ b/api_docs/encrypted_saved_objects.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/encryptedSavedObjects title: "encryptedSavedObjects" image: https://source.unsplash.com/400x175/?github description: API docs for the encryptedSavedObjects plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'encryptedSavedObjects'] --- import encryptedSavedObjectsObj from './encrypted_saved_objects.devdocs.json'; diff --git a/api_docs/enterprise_search.mdx b/api_docs/enterprise_search.mdx index 4158c491895b4..3841c4ef23969 100644 --- a/api_docs/enterprise_search.mdx +++ b/api_docs/enterprise_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/enterpriseSearch title: "enterpriseSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the enterpriseSearch plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'enterpriseSearch'] --- import enterpriseSearchObj from './enterprise_search.devdocs.json'; diff --git a/api_docs/es_ui_shared.mdx b/api_docs/es_ui_shared.mdx index 04f1634f33317..ae28686178325 100644 --- a/api_docs/es_ui_shared.mdx +++ b/api_docs/es_ui_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/esUiShared title: "esUiShared" image: https://source.unsplash.com/400x175/?github description: API docs for the esUiShared plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'esUiShared'] --- import esUiSharedObj from './es_ui_shared.devdocs.json'; diff --git a/api_docs/event_annotation.mdx b/api_docs/event_annotation.mdx index e57151329db63..f488894f69410 100644 --- a/api_docs/event_annotation.mdx +++ b/api_docs/event_annotation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/eventAnnotation title: "eventAnnotation" image: https://source.unsplash.com/400x175/?github description: API docs for the eventAnnotation plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventAnnotation'] --- import eventAnnotationObj from './event_annotation.devdocs.json'; diff --git a/api_docs/event_log.mdx b/api_docs/event_log.mdx index 5b497273b875d..a43cd1b9d549d 100644 --- a/api_docs/event_log.mdx +++ b/api_docs/event_log.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/eventLog title: "eventLog" image: https://source.unsplash.com/400x175/?github description: API docs for the eventLog plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventLog'] --- import eventLogObj from './event_log.devdocs.json'; diff --git a/api_docs/exploratory_view.devdocs.json b/api_docs/exploratory_view.devdocs.json index d057f52840ecc..7a3538c920f49 100644 --- a/api_docs/exploratory_view.devdocs.json +++ b/api_docs/exploratory_view.devdocs.json @@ -2337,158 +2337,7 @@ "functions": [], "interfaces": [], "enums": [], - "misc": [ - { - "parentPluginId": "exploratoryView", - "id": "def-common.NETWORK_TIMINGS_FIELDS", - "type": "Array", - "tags": [], - "label": "NETWORK_TIMINGS_FIELDS", - "description": [], - "signature": [ - "string[]" - ], - "path": "x-pack/plugins/exploratory_view/common/field_names/synthetics.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "exploratoryView", - "id": "def-common.SYNTHETICS_BLOCKED_TIMINGS", - "type": "string", - "tags": [], - "label": "SYNTHETICS_BLOCKED_TIMINGS", - "description": [], - "signature": [ - "\"synthetics.payload.timings.blocked\"" - ], - "path": "x-pack/plugins/exploratory_view/common/field_names/synthetics.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "exploratoryView", - "id": "def-common.SYNTHETICS_CONNECT_TIMINGS", - "type": "string", - "tags": [], - "label": "SYNTHETICS_CONNECT_TIMINGS", - "description": [], - "signature": [ - "\"synthetics.payload.timings.connect\"" - ], - "path": "x-pack/plugins/exploratory_view/common/field_names/synthetics.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "exploratoryView", - "id": "def-common.SYNTHETICS_DNS_TIMINGS", - "type": "string", - "tags": [], - "label": "SYNTHETICS_DNS_TIMINGS", - "description": [], - "signature": [ - "\"synthetics.payload.timings.dns\"" - ], - "path": "x-pack/plugins/exploratory_view/common/field_names/synthetics.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "exploratoryView", - "id": "def-common.SYNTHETICS_RECEIVE_TIMINGS", - "type": "string", - "tags": [], - "label": "SYNTHETICS_RECEIVE_TIMINGS", - "description": [], - "signature": [ - "\"synthetics.payload.timings.receive\"" - ], - "path": "x-pack/plugins/exploratory_view/common/field_names/synthetics.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "exploratoryView", - "id": "def-common.SYNTHETICS_SEND_TIMINGS", - "type": "string", - "tags": [], - "label": "SYNTHETICS_SEND_TIMINGS", - "description": [], - "signature": [ - "\"synthetics.payload.timings.send\"" - ], - "path": "x-pack/plugins/exploratory_view/common/field_names/synthetics.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "exploratoryView", - "id": "def-common.SYNTHETICS_SSL_TIMINGS", - "type": "string", - "tags": [], - "label": "SYNTHETICS_SSL_TIMINGS", - "description": [], - "signature": [ - "\"synthetics.payload.timings.ssl\"" - ], - "path": "x-pack/plugins/exploratory_view/common/field_names/synthetics.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "exploratoryView", - "id": "def-common.SYNTHETICS_STEP_DURATION", - "type": "string", - "tags": [], - "label": "SYNTHETICS_STEP_DURATION", - "description": [], - "signature": [ - "\"synthetics.step.duration.us\"" - ], - "path": "x-pack/plugins/exploratory_view/common/field_names/synthetics.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "exploratoryView", - "id": "def-common.SYNTHETICS_TOTAL_TIMINGS", - "type": "string", - "tags": [], - "label": "SYNTHETICS_TOTAL_TIMINGS", - "description": [], - "signature": [ - "\"synthetics.payload.timings.total\"" - ], - "path": "x-pack/plugins/exploratory_view/common/field_names/synthetics.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "exploratoryView", - "id": "def-common.SYNTHETICS_WAIT_TIMINGS", - "type": "string", - "tags": [], - "label": "SYNTHETICS_WAIT_TIMINGS", - "description": [], - "signature": [ - "\"synthetics.payload.timings.wait\"" - ], - "path": "x-pack/plugins/exploratory_view/common/field_names/synthetics.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - } - ], + "misc": [], "objects": [] } } \ No newline at end of file diff --git a/api_docs/exploratory_view.mdx b/api_docs/exploratory_view.mdx index 8783e3434d0c3..0fed812d38324 100644 --- a/api_docs/exploratory_view.mdx +++ b/api_docs/exploratory_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/exploratoryView title: "exploratoryView" image: https://source.unsplash.com/400x175/?github description: API docs for the exploratoryView plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'exploratoryView'] --- import exploratoryViewObj from './exploratory_view.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/uptime](https://github.com/orgs/elastic/teams/uptime) for ques | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 141 | 1 | 141 | 14 | +| 131 | 1 | 131 | 14 | ## Client @@ -43,8 +43,3 @@ Contact [@elastic/uptime](https://github.com/orgs/elastic/teams/uptime) for ques ### Consts, variables and types -## Common - -### Consts, variables and types - - diff --git a/api_docs/expression_error.mdx b/api_docs/expression_error.mdx index d22d022e09945..c4427275986e4 100644 --- a/api_docs/expression_error.mdx +++ b/api_docs/expression_error.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionError title: "expressionError" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionError plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionError'] --- import expressionErrorObj from './expression_error.devdocs.json'; diff --git a/api_docs/expression_gauge.mdx b/api_docs/expression_gauge.mdx index bee91a7559b85..8fdcf6e663a4a 100644 --- a/api_docs/expression_gauge.mdx +++ b/api_docs/expression_gauge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionGauge title: "expressionGauge" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionGauge plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionGauge'] --- import expressionGaugeObj from './expression_gauge.devdocs.json'; diff --git a/api_docs/expression_heatmap.mdx b/api_docs/expression_heatmap.mdx index 03d6400c4be8b..37aa281d8cdae 100644 --- a/api_docs/expression_heatmap.mdx +++ b/api_docs/expression_heatmap.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionHeatmap title: "expressionHeatmap" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionHeatmap plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionHeatmap'] --- import expressionHeatmapObj from './expression_heatmap.devdocs.json'; diff --git a/api_docs/expression_image.mdx b/api_docs/expression_image.mdx index f68a9666d303a..7c0e6b0ddf594 100644 --- a/api_docs/expression_image.mdx +++ b/api_docs/expression_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionImage title: "expressionImage" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionImage plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionImage'] --- import expressionImageObj from './expression_image.devdocs.json'; diff --git a/api_docs/expression_legacy_metric_vis.mdx b/api_docs/expression_legacy_metric_vis.mdx index 95d1ca610a374..5555ce6682b88 100644 --- a/api_docs/expression_legacy_metric_vis.mdx +++ b/api_docs/expression_legacy_metric_vis.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionLegacyMetricVis title: "expressionLegacyMetricVis" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionLegacyMetricVis plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionLegacyMetricVis'] --- import expressionLegacyMetricVisObj from './expression_legacy_metric_vis.devdocs.json'; diff --git a/api_docs/expression_metric.mdx b/api_docs/expression_metric.mdx index 09cb3ccb6bc91..2c5d887d5e1c1 100644 --- a/api_docs/expression_metric.mdx +++ b/api_docs/expression_metric.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionMetric title: "expressionMetric" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionMetric plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionMetric'] --- import expressionMetricObj from './expression_metric.devdocs.json'; diff --git a/api_docs/expression_metric_vis.mdx b/api_docs/expression_metric_vis.mdx index 21b8dd7cdec50..2a3569c945478 100644 --- a/api_docs/expression_metric_vis.mdx +++ b/api_docs/expression_metric_vis.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionMetricVis title: "expressionMetricVis" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionMetricVis plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionMetricVis'] --- import expressionMetricVisObj from './expression_metric_vis.devdocs.json'; diff --git a/api_docs/expression_partition_vis.mdx b/api_docs/expression_partition_vis.mdx index 408df0698486a..85a9c837a4bed 100644 --- a/api_docs/expression_partition_vis.mdx +++ b/api_docs/expression_partition_vis.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionPartitionVis title: "expressionPartitionVis" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionPartitionVis plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionPartitionVis'] --- import expressionPartitionVisObj from './expression_partition_vis.devdocs.json'; diff --git a/api_docs/expression_repeat_image.mdx b/api_docs/expression_repeat_image.mdx index 2bef0057ffcc3..6c7c495176c1f 100644 --- a/api_docs/expression_repeat_image.mdx +++ b/api_docs/expression_repeat_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionRepeatImage title: "expressionRepeatImage" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionRepeatImage plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionRepeatImage'] --- import expressionRepeatImageObj from './expression_repeat_image.devdocs.json'; diff --git a/api_docs/expression_reveal_image.mdx b/api_docs/expression_reveal_image.mdx index 2329de646304e..8d6b3a962cf55 100644 --- a/api_docs/expression_reveal_image.mdx +++ b/api_docs/expression_reveal_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionRevealImage title: "expressionRevealImage" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionRevealImage plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionRevealImage'] --- import expressionRevealImageObj from './expression_reveal_image.devdocs.json'; diff --git a/api_docs/expression_shape.mdx b/api_docs/expression_shape.mdx index 22b250781f63a..2e37123589fd0 100644 --- a/api_docs/expression_shape.mdx +++ b/api_docs/expression_shape.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionShape title: "expressionShape" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionShape plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionShape'] --- import expressionShapeObj from './expression_shape.devdocs.json'; diff --git a/api_docs/expression_tagcloud.mdx b/api_docs/expression_tagcloud.mdx index 7f04c185002fd..31c013944842c 100644 --- a/api_docs/expression_tagcloud.mdx +++ b/api_docs/expression_tagcloud.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionTagcloud title: "expressionTagcloud" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionTagcloud plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionTagcloud'] --- import expressionTagcloudObj from './expression_tagcloud.devdocs.json'; diff --git a/api_docs/expression_x_y.mdx b/api_docs/expression_x_y.mdx index 6bff07599e530..6016041a08372 100644 --- a/api_docs/expression_x_y.mdx +++ b/api_docs/expression_x_y.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionXY title: "expressionXY" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionXY plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionXY'] --- import expressionXYObj from './expression_x_y.devdocs.json'; diff --git a/api_docs/expressions.mdx b/api_docs/expressions.mdx index fbc3148365c31..b4df812ccdc9f 100644 --- a/api_docs/expressions.mdx +++ b/api_docs/expressions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressions title: "expressions" image: https://source.unsplash.com/400x175/?github description: API docs for the expressions plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressions'] --- import expressionsObj from './expressions.devdocs.json'; diff --git a/api_docs/features.mdx b/api_docs/features.mdx index 8b342e20abea2..0593c1f8a4eeb 100644 --- a/api_docs/features.mdx +++ b/api_docs/features.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/features title: "features" image: https://source.unsplash.com/400x175/?github description: API docs for the features plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'features'] --- import featuresObj from './features.devdocs.json'; diff --git a/api_docs/field_formats.mdx b/api_docs/field_formats.mdx index cb77366a616d7..919205cfd4d06 100644 --- a/api_docs/field_formats.mdx +++ b/api_docs/field_formats.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/fieldFormats title: "fieldFormats" image: https://source.unsplash.com/400x175/?github description: API docs for the fieldFormats plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'fieldFormats'] --- import fieldFormatsObj from './field_formats.devdocs.json'; diff --git a/api_docs/file_upload.mdx b/api_docs/file_upload.mdx index 10d05b6a4cd37..9a8a3c0e80c22 100644 --- a/api_docs/file_upload.mdx +++ b/api_docs/file_upload.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/fileUpload title: "fileUpload" image: https://source.unsplash.com/400x175/?github description: API docs for the fileUpload plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'fileUpload'] --- import fileUploadObj from './file_upload.devdocs.json'; diff --git a/api_docs/files.mdx b/api_docs/files.mdx index 212bd12c24882..c58c9c5c289b4 100644 --- a/api_docs/files.mdx +++ b/api_docs/files.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/files title: "files" image: https://source.unsplash.com/400x175/?github description: API docs for the files plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'files'] --- import filesObj from './files.devdocs.json'; diff --git a/api_docs/files_management.mdx b/api_docs/files_management.mdx index c072ae6854f2b..6bdabc0622c01 100644 --- a/api_docs/files_management.mdx +++ b/api_docs/files_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/filesManagement title: "filesManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the filesManagement plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'filesManagement'] --- import filesManagementObj from './files_management.devdocs.json'; diff --git a/api_docs/fleet.mdx b/api_docs/fleet.mdx index f67d4425c41e4..3cb1ab3b267b7 100644 --- a/api_docs/fleet.mdx +++ b/api_docs/fleet.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/fleet title: "fleet" image: https://source.unsplash.com/400x175/?github description: API docs for the fleet plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'fleet'] --- import fleetObj from './fleet.devdocs.json'; diff --git a/api_docs/global_search.mdx b/api_docs/global_search.mdx index cc8a9b93fb41e..b0fc7990b8b13 100644 --- a/api_docs/global_search.mdx +++ b/api_docs/global_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/globalSearch title: "globalSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the globalSearch plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'globalSearch'] --- import globalSearchObj from './global_search.devdocs.json'; diff --git a/api_docs/guided_onboarding.mdx b/api_docs/guided_onboarding.mdx index 610233322e04d..ac375b9b7b563 100644 --- a/api_docs/guided_onboarding.mdx +++ b/api_docs/guided_onboarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/guidedOnboarding title: "guidedOnboarding" image: https://source.unsplash.com/400x175/?github description: API docs for the guidedOnboarding plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'guidedOnboarding'] --- import guidedOnboardingObj from './guided_onboarding.devdocs.json'; diff --git a/api_docs/home.mdx b/api_docs/home.mdx index 8cebec5105bd3..52d7efc2b5a6a 100644 --- a/api_docs/home.mdx +++ b/api_docs/home.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/home title: "home" image: https://source.unsplash.com/400x175/?github description: API docs for the home plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'home'] --- import homeObj from './home.devdocs.json'; diff --git a/api_docs/image_embeddable.mdx b/api_docs/image_embeddable.mdx index eff026a2b54a2..a6f8146f69ccd 100644 --- a/api_docs/image_embeddable.mdx +++ b/api_docs/image_embeddable.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/imageEmbeddable title: "imageEmbeddable" image: https://source.unsplash.com/400x175/?github description: API docs for the imageEmbeddable plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'imageEmbeddable'] --- import imageEmbeddableObj from './image_embeddable.devdocs.json'; diff --git a/api_docs/index_lifecycle_management.mdx b/api_docs/index_lifecycle_management.mdx index da0216eed5dbf..f36a21af77540 100644 --- a/api_docs/index_lifecycle_management.mdx +++ b/api_docs/index_lifecycle_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/indexLifecycleManagement title: "indexLifecycleManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the indexLifecycleManagement plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'indexLifecycleManagement'] --- import indexLifecycleManagementObj from './index_lifecycle_management.devdocs.json'; diff --git a/api_docs/index_management.mdx b/api_docs/index_management.mdx index 69106039d28af..04e6c0d440935 100644 --- a/api_docs/index_management.mdx +++ b/api_docs/index_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/indexManagement title: "indexManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the indexManagement plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'indexManagement'] --- import indexManagementObj from './index_management.devdocs.json'; diff --git a/api_docs/infra.mdx b/api_docs/infra.mdx index b7e06ffc3d9dd..70fdae5eb99ec 100644 --- a/api_docs/infra.mdx +++ b/api_docs/infra.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/infra title: "infra" image: https://source.unsplash.com/400x175/?github description: API docs for the infra plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'infra'] --- import infraObj from './infra.devdocs.json'; diff --git a/api_docs/inspector.mdx b/api_docs/inspector.mdx index c13c207150017..056dc525c3d2d 100644 --- a/api_docs/inspector.mdx +++ b/api_docs/inspector.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/inspector title: "inspector" image: https://source.unsplash.com/400x175/?github description: API docs for the inspector plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'inspector'] --- import inspectorObj from './inspector.devdocs.json'; diff --git a/api_docs/interactive_setup.mdx b/api_docs/interactive_setup.mdx index b702db57d6e3e..88cb516626bc2 100644 --- a/api_docs/interactive_setup.mdx +++ b/api_docs/interactive_setup.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/interactiveSetup title: "interactiveSetup" image: https://source.unsplash.com/400x175/?github description: API docs for the interactiveSetup plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'interactiveSetup'] --- import interactiveSetupObj from './interactive_setup.devdocs.json'; diff --git a/api_docs/kbn_ace.mdx b/api_docs/kbn_ace.mdx index 7fde6a4caa004..f0b1ac8125a69 100644 --- a/api_docs/kbn_ace.mdx +++ b/api_docs/kbn_ace.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ace title: "@kbn/ace" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ace plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ace'] --- import kbnAceObj from './kbn_ace.devdocs.json'; diff --git a/api_docs/kbn_aiops_components.mdx b/api_docs/kbn_aiops_components.mdx index 043a56042376e..bc334555b1aa6 100644 --- a/api_docs/kbn_aiops_components.mdx +++ b/api_docs/kbn_aiops_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-aiops-components title: "@kbn/aiops-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/aiops-components plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/aiops-components'] --- import kbnAiopsComponentsObj from './kbn_aiops_components.devdocs.json'; diff --git a/api_docs/kbn_aiops_utils.mdx b/api_docs/kbn_aiops_utils.mdx index c6dfbb817f49f..a8036bc389d02 100644 --- a/api_docs/kbn_aiops_utils.mdx +++ b/api_docs/kbn_aiops_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-aiops-utils title: "@kbn/aiops-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/aiops-utils plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/aiops-utils'] --- import kbnAiopsUtilsObj from './kbn_aiops_utils.devdocs.json'; diff --git a/api_docs/kbn_alerting_state_types.mdx b/api_docs/kbn_alerting_state_types.mdx index 629ee5572d2ae..5dea7058d1b06 100644 --- a/api_docs/kbn_alerting_state_types.mdx +++ b/api_docs/kbn_alerting_state_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerting-state-types title: "@kbn/alerting-state-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerting-state-types plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerting-state-types'] --- import kbnAlertingStateTypesObj from './kbn_alerting_state_types.devdocs.json'; diff --git a/api_docs/kbn_alerts_as_data_utils.mdx b/api_docs/kbn_alerts_as_data_utils.mdx index b8395ea85bf44..e2a04671470b9 100644 --- a/api_docs/kbn_alerts_as_data_utils.mdx +++ b/api_docs/kbn_alerts_as_data_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerts-as-data-utils title: "@kbn/alerts-as-data-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerts-as-data-utils plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerts-as-data-utils'] --- import kbnAlertsAsDataUtilsObj from './kbn_alerts_as_data_utils.devdocs.json'; diff --git a/api_docs/kbn_alerts_ui_shared.mdx b/api_docs/kbn_alerts_ui_shared.mdx index 5680a6ed98c96..2cf079067fe89 100644 --- a/api_docs/kbn_alerts_ui_shared.mdx +++ b/api_docs/kbn_alerts_ui_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerts-ui-shared title: "@kbn/alerts-ui-shared" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerts-ui-shared plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerts-ui-shared'] --- import kbnAlertsUiSharedObj from './kbn_alerts_ui_shared.devdocs.json'; diff --git a/api_docs/kbn_analytics.mdx b/api_docs/kbn_analytics.mdx index ec411b1b95ef0..1caad7c236b53 100644 --- a/api_docs/kbn_analytics.mdx +++ b/api_docs/kbn_analytics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics title: "@kbn/analytics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics'] --- import kbnAnalyticsObj from './kbn_analytics.devdocs.json'; diff --git a/api_docs/kbn_analytics_client.mdx b/api_docs/kbn_analytics_client.mdx index eb36cc64e22f8..6786a3e20555b 100644 --- a/api_docs/kbn_analytics_client.mdx +++ b/api_docs/kbn_analytics_client.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-client title: "@kbn/analytics-client" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-client plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-client'] --- import kbnAnalyticsClientObj from './kbn_analytics_client.devdocs.json'; diff --git a/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx b/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx index ec57dfd447602..18b7268e94e55 100644 --- a/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx +++ b/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-elastic-v3-browser title: "@kbn/analytics-shippers-elastic-v3-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-elastic-v3-browser plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-elastic-v3-browser'] --- import kbnAnalyticsShippersElasticV3BrowserObj from './kbn_analytics_shippers_elastic_v3_browser.devdocs.json'; diff --git a/api_docs/kbn_analytics_shippers_elastic_v3_common.mdx b/api_docs/kbn_analytics_shippers_elastic_v3_common.mdx index d793dda08a557..c9a2222839380 100644 --- a/api_docs/kbn_analytics_shippers_elastic_v3_common.mdx +++ b/api_docs/kbn_analytics_shippers_elastic_v3_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-elastic-v3-common title: "@kbn/analytics-shippers-elastic-v3-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-elastic-v3-common plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-elastic-v3-common'] --- import kbnAnalyticsShippersElasticV3CommonObj from './kbn_analytics_shippers_elastic_v3_common.devdocs.json'; diff --git a/api_docs/kbn_analytics_shippers_elastic_v3_server.mdx b/api_docs/kbn_analytics_shippers_elastic_v3_server.mdx index 029d06a7b84ba..dc7e5b31fb9aa 100644 --- a/api_docs/kbn_analytics_shippers_elastic_v3_server.mdx +++ b/api_docs/kbn_analytics_shippers_elastic_v3_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-elastic-v3-server title: "@kbn/analytics-shippers-elastic-v3-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-elastic-v3-server plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-elastic-v3-server'] --- import kbnAnalyticsShippersElasticV3ServerObj from './kbn_analytics_shippers_elastic_v3_server.devdocs.json'; diff --git a/api_docs/kbn_analytics_shippers_fullstory.mdx b/api_docs/kbn_analytics_shippers_fullstory.mdx index 59fcee3fd623c..7e2586b857bfa 100644 --- a/api_docs/kbn_analytics_shippers_fullstory.mdx +++ b/api_docs/kbn_analytics_shippers_fullstory.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-fullstory title: "@kbn/analytics-shippers-fullstory" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-fullstory plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-fullstory'] --- import kbnAnalyticsShippersFullstoryObj from './kbn_analytics_shippers_fullstory.devdocs.json'; diff --git a/api_docs/kbn_analytics_shippers_gainsight.mdx b/api_docs/kbn_analytics_shippers_gainsight.mdx index ae927539334ba..906d37cc4500e 100644 --- a/api_docs/kbn_analytics_shippers_gainsight.mdx +++ b/api_docs/kbn_analytics_shippers_gainsight.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-gainsight title: "@kbn/analytics-shippers-gainsight" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-gainsight plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-gainsight'] --- import kbnAnalyticsShippersGainsightObj from './kbn_analytics_shippers_gainsight.devdocs.json'; diff --git a/api_docs/kbn_apm_config_loader.mdx b/api_docs/kbn_apm_config_loader.mdx index 0ecd60ae04bc8..87bc8387602f6 100644 --- a/api_docs/kbn_apm_config_loader.mdx +++ b/api_docs/kbn_apm_config_loader.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-config-loader title: "@kbn/apm-config-loader" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-config-loader plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-config-loader'] --- import kbnApmConfigLoaderObj from './kbn_apm_config_loader.devdocs.json'; diff --git a/api_docs/kbn_apm_synthtrace.mdx b/api_docs/kbn_apm_synthtrace.mdx index 2905b80b6ef11..1026efcc593d2 100644 --- a/api_docs/kbn_apm_synthtrace.mdx +++ b/api_docs/kbn_apm_synthtrace.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-synthtrace title: "@kbn/apm-synthtrace" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-synthtrace plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-synthtrace'] --- import kbnApmSynthtraceObj from './kbn_apm_synthtrace.devdocs.json'; diff --git a/api_docs/kbn_apm_synthtrace_client.mdx b/api_docs/kbn_apm_synthtrace_client.mdx index 53979608377a1..5a90edfada6c3 100644 --- a/api_docs/kbn_apm_synthtrace_client.mdx +++ b/api_docs/kbn_apm_synthtrace_client.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-synthtrace-client title: "@kbn/apm-synthtrace-client" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-synthtrace-client plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-synthtrace-client'] --- import kbnApmSynthtraceClientObj from './kbn_apm_synthtrace_client.devdocs.json'; diff --git a/api_docs/kbn_apm_utils.mdx b/api_docs/kbn_apm_utils.mdx index 43363f2c9a81d..f72eaaf700903 100644 --- a/api_docs/kbn_apm_utils.mdx +++ b/api_docs/kbn_apm_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-utils title: "@kbn/apm-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-utils plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-utils'] --- import kbnApmUtilsObj from './kbn_apm_utils.devdocs.json'; diff --git a/api_docs/kbn_axe_config.mdx b/api_docs/kbn_axe_config.mdx index 2b0ab911c33ec..465540b7f3777 100644 --- a/api_docs/kbn_axe_config.mdx +++ b/api_docs/kbn_axe_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-axe-config title: "@kbn/axe-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/axe-config plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/axe-config'] --- import kbnAxeConfigObj from './kbn_axe_config.devdocs.json'; diff --git a/api_docs/kbn_cases_components.mdx b/api_docs/kbn_cases_components.mdx index d9c6d2284bf0f..8156daef98565 100644 --- a/api_docs/kbn_cases_components.mdx +++ b/api_docs/kbn_cases_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cases-components title: "@kbn/cases-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cases-components plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cases-components'] --- import kbnCasesComponentsObj from './kbn_cases_components.devdocs.json'; diff --git a/api_docs/kbn_cell_actions.mdx b/api_docs/kbn_cell_actions.mdx index 7685adc6b5e19..64072dab634c0 100644 --- a/api_docs/kbn_cell_actions.mdx +++ b/api_docs/kbn_cell_actions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cell-actions title: "@kbn/cell-actions" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cell-actions plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cell-actions'] --- import kbnCellActionsObj from './kbn_cell_actions.devdocs.json'; diff --git a/api_docs/kbn_chart_expressions_common.mdx b/api_docs/kbn_chart_expressions_common.mdx index 5b12090122718..9f0a9795c7ac7 100644 --- a/api_docs/kbn_chart_expressions_common.mdx +++ b/api_docs/kbn_chart_expressions_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-chart-expressions-common title: "@kbn/chart-expressions-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/chart-expressions-common plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/chart-expressions-common'] --- import kbnChartExpressionsCommonObj from './kbn_chart_expressions_common.devdocs.json'; diff --git a/api_docs/kbn_chart_icons.mdx b/api_docs/kbn_chart_icons.mdx index 5110ccf4d7a6d..6068a6ad63dd3 100644 --- a/api_docs/kbn_chart_icons.mdx +++ b/api_docs/kbn_chart_icons.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-chart-icons title: "@kbn/chart-icons" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/chart-icons plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/chart-icons'] --- import kbnChartIconsObj from './kbn_chart_icons.devdocs.json'; diff --git a/api_docs/kbn_ci_stats_core.mdx b/api_docs/kbn_ci_stats_core.mdx index 0964f4f404d33..0f773fc80a02f 100644 --- a/api_docs/kbn_ci_stats_core.mdx +++ b/api_docs/kbn_ci_stats_core.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ci-stats-core title: "@kbn/ci-stats-core" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ci-stats-core plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ci-stats-core'] --- import kbnCiStatsCoreObj from './kbn_ci_stats_core.devdocs.json'; diff --git a/api_docs/kbn_ci_stats_performance_metrics.mdx b/api_docs/kbn_ci_stats_performance_metrics.mdx index 1404438438f0c..b69c149465069 100644 --- a/api_docs/kbn_ci_stats_performance_metrics.mdx +++ b/api_docs/kbn_ci_stats_performance_metrics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ci-stats-performance-metrics title: "@kbn/ci-stats-performance-metrics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ci-stats-performance-metrics plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ci-stats-performance-metrics'] --- import kbnCiStatsPerformanceMetricsObj from './kbn_ci_stats_performance_metrics.devdocs.json'; diff --git a/api_docs/kbn_ci_stats_reporter.mdx b/api_docs/kbn_ci_stats_reporter.mdx index a21de03532024..c5648b752c816 100644 --- a/api_docs/kbn_ci_stats_reporter.mdx +++ b/api_docs/kbn_ci_stats_reporter.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ci-stats-reporter title: "@kbn/ci-stats-reporter" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ci-stats-reporter plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ci-stats-reporter'] --- import kbnCiStatsReporterObj from './kbn_ci_stats_reporter.devdocs.json'; diff --git a/api_docs/kbn_cli_dev_mode.mdx b/api_docs/kbn_cli_dev_mode.mdx index bc1726adef480..0b039115ab5ba 100644 --- a/api_docs/kbn_cli_dev_mode.mdx +++ b/api_docs/kbn_cli_dev_mode.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cli-dev-mode title: "@kbn/cli-dev-mode" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cli-dev-mode plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cli-dev-mode'] --- import kbnCliDevModeObj from './kbn_cli_dev_mode.devdocs.json'; diff --git a/api_docs/kbn_code_editor.mdx b/api_docs/kbn_code_editor.mdx index 265fb18174108..28e25fb186ab9 100644 --- a/api_docs/kbn_code_editor.mdx +++ b/api_docs/kbn_code_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-code-editor title: "@kbn/code-editor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/code-editor plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/code-editor'] --- import kbnCodeEditorObj from './kbn_code_editor.devdocs.json'; diff --git a/api_docs/kbn_code_editor_mocks.mdx b/api_docs/kbn_code_editor_mocks.mdx index 82616ee4153cd..ac686bb313ac9 100644 --- a/api_docs/kbn_code_editor_mocks.mdx +++ b/api_docs/kbn_code_editor_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-code-editor-mocks title: "@kbn/code-editor-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/code-editor-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/code-editor-mocks'] --- import kbnCodeEditorMocksObj from './kbn_code_editor_mocks.devdocs.json'; diff --git a/api_docs/kbn_coloring.mdx b/api_docs/kbn_coloring.mdx index 83c36d3c21e7a..71eaa23720690 100644 --- a/api_docs/kbn_coloring.mdx +++ b/api_docs/kbn_coloring.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-coloring title: "@kbn/coloring" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/coloring plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/coloring'] --- import kbnColoringObj from './kbn_coloring.devdocs.json'; diff --git a/api_docs/kbn_config.mdx b/api_docs/kbn_config.mdx index c1915b7043848..bce195827334a 100644 --- a/api_docs/kbn_config.mdx +++ b/api_docs/kbn_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-config title: "@kbn/config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/config plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/config'] --- import kbnConfigObj from './kbn_config.devdocs.json'; diff --git a/api_docs/kbn_config_mocks.mdx b/api_docs/kbn_config_mocks.mdx index 7cd60bf8329ad..4e717a8ce305e 100644 --- a/api_docs/kbn_config_mocks.mdx +++ b/api_docs/kbn_config_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-config-mocks title: "@kbn/config-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/config-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/config-mocks'] --- import kbnConfigMocksObj from './kbn_config_mocks.devdocs.json'; diff --git a/api_docs/kbn_config_schema.mdx b/api_docs/kbn_config_schema.mdx index 0c52961366de2..1d3c0aee0c40a 100644 --- a/api_docs/kbn_config_schema.mdx +++ b/api_docs/kbn_config_schema.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-config-schema title: "@kbn/config-schema" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/config-schema plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/config-schema'] --- import kbnConfigSchemaObj from './kbn_config_schema.devdocs.json'; diff --git a/api_docs/kbn_content_management_content_editor.mdx b/api_docs/kbn_content_management_content_editor.mdx index 95cf4fd7f4260..91a85af94590e 100644 --- a/api_docs/kbn_content_management_content_editor.mdx +++ b/api_docs/kbn_content_management_content_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-content-editor title: "@kbn/content-management-content-editor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-content-editor plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-content-editor'] --- import kbnContentManagementContentEditorObj from './kbn_content_management_content_editor.devdocs.json'; diff --git a/api_docs/kbn_content_management_tabbed_table_list_view.mdx b/api_docs/kbn_content_management_tabbed_table_list_view.mdx index e9326fedc6272..14fba5860b23f 100644 --- a/api_docs/kbn_content_management_tabbed_table_list_view.mdx +++ b/api_docs/kbn_content_management_tabbed_table_list_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-tabbed-table-list-view title: "@kbn/content-management-tabbed-table-list-view" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-tabbed-table-list-view plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-tabbed-table-list-view'] --- import kbnContentManagementTabbedTableListViewObj from './kbn_content_management_tabbed_table_list_view.devdocs.json'; diff --git a/api_docs/kbn_content_management_table_list_view.mdx b/api_docs/kbn_content_management_table_list_view.mdx index 752f6e9e99e4c..6a0637344a325 100644 --- a/api_docs/kbn_content_management_table_list_view.mdx +++ b/api_docs/kbn_content_management_table_list_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-table-list-view title: "@kbn/content-management-table-list-view" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-table-list-view plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-table-list-view'] --- import kbnContentManagementTableListViewObj from './kbn_content_management_table_list_view.devdocs.json'; diff --git a/api_docs/kbn_content_management_table_list_view_table.devdocs.json b/api_docs/kbn_content_management_table_list_view_table.devdocs.json index 35d5364d4b7d2..5ec3703c8de0c 100644 --- a/api_docs/kbn_content_management_table_list_view_table.devdocs.json +++ b/api_docs/kbn_content_management_table_list_view_table.devdocs.json @@ -893,7 +893,9 @@ "type": "CompoundType", "tags": [], "label": "refreshListBouncer", - "description": [], + "description": [ + "Flag to force a new fetch of the table items. Whenever it changes, the `findItems()` will be called." + ], "signature": [ "boolean | undefined" ], diff --git a/api_docs/kbn_content_management_table_list_view_table.mdx b/api_docs/kbn_content_management_table_list_view_table.mdx index b87a96861ee91..579f24aafda9a 100644 --- a/api_docs/kbn_content_management_table_list_view_table.mdx +++ b/api_docs/kbn_content_management_table_list_view_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-table-list-view-table title: "@kbn/content-management-table-list-view-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-table-list-view-table plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-table-list-view-table'] --- import kbnContentManagementTableListViewTableObj from './kbn_content_management_table_list_view_table.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sh | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 58 | 0 | 41 | 4 | +| 58 | 0 | 40 | 4 | ## Common diff --git a/api_docs/kbn_content_management_utils.mdx b/api_docs/kbn_content_management_utils.mdx index 5eb46a5a6ebce..e80beec53d1e9 100644 --- a/api_docs/kbn_content_management_utils.mdx +++ b/api_docs/kbn_content_management_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-utils title: "@kbn/content-management-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-utils plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-utils'] --- import kbnContentManagementUtilsObj from './kbn_content_management_utils.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_browser.mdx b/api_docs/kbn_core_analytics_browser.mdx index 4c982e298a8fb..ad5dddb9228ec 100644 --- a/api_docs/kbn_core_analytics_browser.mdx +++ b/api_docs/kbn_core_analytics_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-browser title: "@kbn/core-analytics-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-browser plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-browser'] --- import kbnCoreAnalyticsBrowserObj from './kbn_core_analytics_browser.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_browser_internal.mdx b/api_docs/kbn_core_analytics_browser_internal.mdx index c7c91653aab88..04f87157221ba 100644 --- a/api_docs/kbn_core_analytics_browser_internal.mdx +++ b/api_docs/kbn_core_analytics_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-browser-internal title: "@kbn/core-analytics-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-browser-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-browser-internal'] --- import kbnCoreAnalyticsBrowserInternalObj from './kbn_core_analytics_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_browser_mocks.mdx b/api_docs/kbn_core_analytics_browser_mocks.mdx index ba18bd9b46ad0..99cf095a6c6d1 100644 --- a/api_docs/kbn_core_analytics_browser_mocks.mdx +++ b/api_docs/kbn_core_analytics_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-browser-mocks title: "@kbn/core-analytics-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-browser-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-browser-mocks'] --- import kbnCoreAnalyticsBrowserMocksObj from './kbn_core_analytics_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_server.mdx b/api_docs/kbn_core_analytics_server.mdx index b3ab65551a09f..3586e70f705ea 100644 --- a/api_docs/kbn_core_analytics_server.mdx +++ b/api_docs/kbn_core_analytics_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-server title: "@kbn/core-analytics-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-server plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-server'] --- import kbnCoreAnalyticsServerObj from './kbn_core_analytics_server.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_server_internal.mdx b/api_docs/kbn_core_analytics_server_internal.mdx index 50d056de0d92a..2cc3bafd9e4ac 100644 --- a/api_docs/kbn_core_analytics_server_internal.mdx +++ b/api_docs/kbn_core_analytics_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-server-internal title: "@kbn/core-analytics-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-server-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-server-internal'] --- import kbnCoreAnalyticsServerInternalObj from './kbn_core_analytics_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_server_mocks.mdx b/api_docs/kbn_core_analytics_server_mocks.mdx index 889eec8c3a256..c3ec82b5b2282 100644 --- a/api_docs/kbn_core_analytics_server_mocks.mdx +++ b/api_docs/kbn_core_analytics_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-server-mocks title: "@kbn/core-analytics-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-server-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-server-mocks'] --- import kbnCoreAnalyticsServerMocksObj from './kbn_core_analytics_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_application_browser.mdx b/api_docs/kbn_core_application_browser.mdx index 49be1da66eaf1..91c061f39b1d3 100644 --- a/api_docs/kbn_core_application_browser.mdx +++ b/api_docs/kbn_core_application_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-browser title: "@kbn/core-application-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-browser plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-application-browser'] --- import kbnCoreApplicationBrowserObj from './kbn_core_application_browser.devdocs.json'; diff --git a/api_docs/kbn_core_application_browser_internal.mdx b/api_docs/kbn_core_application_browser_internal.mdx index 65b8addf9246a..49eb833296c13 100644 --- a/api_docs/kbn_core_application_browser_internal.mdx +++ b/api_docs/kbn_core_application_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-browser-internal title: "@kbn/core-application-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-browser-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-application-browser-internal'] --- import kbnCoreApplicationBrowserInternalObj from './kbn_core_application_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_application_browser_mocks.mdx b/api_docs/kbn_core_application_browser_mocks.mdx index 2ac2337749903..c87544b1e5a25 100644 --- a/api_docs/kbn_core_application_browser_mocks.mdx +++ b/api_docs/kbn_core_application_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-browser-mocks title: "@kbn/core-application-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-browser-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-application-browser-mocks'] --- import kbnCoreApplicationBrowserMocksObj from './kbn_core_application_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_application_common.mdx b/api_docs/kbn_core_application_common.mdx index 98fcc104bf0b1..dab591510d827 100644 --- a/api_docs/kbn_core_application_common.mdx +++ b/api_docs/kbn_core_application_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-common title: "@kbn/core-application-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-common plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-application-common'] --- import kbnCoreApplicationCommonObj from './kbn_core_application_common.devdocs.json'; diff --git a/api_docs/kbn_core_apps_browser_internal.mdx b/api_docs/kbn_core_apps_browser_internal.mdx index d57d53092ae9d..f2bf45e93338e 100644 --- a/api_docs/kbn_core_apps_browser_internal.mdx +++ b/api_docs/kbn_core_apps_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-apps-browser-internal title: "@kbn/core-apps-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-apps-browser-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-apps-browser-internal'] --- import kbnCoreAppsBrowserInternalObj from './kbn_core_apps_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_apps_browser_mocks.mdx b/api_docs/kbn_core_apps_browser_mocks.mdx index 5defc55ea76c3..374c3833291f9 100644 --- a/api_docs/kbn_core_apps_browser_mocks.mdx +++ b/api_docs/kbn_core_apps_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-apps-browser-mocks title: "@kbn/core-apps-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-apps-browser-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-apps-browser-mocks'] --- import kbnCoreAppsBrowserMocksObj from './kbn_core_apps_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_apps_server_internal.mdx b/api_docs/kbn_core_apps_server_internal.mdx index 157b8e5540975..f128321369741 100644 --- a/api_docs/kbn_core_apps_server_internal.mdx +++ b/api_docs/kbn_core_apps_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-apps-server-internal title: "@kbn/core-apps-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-apps-server-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-apps-server-internal'] --- import kbnCoreAppsServerInternalObj from './kbn_core_apps_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_base_browser_mocks.mdx b/api_docs/kbn_core_base_browser_mocks.mdx index 10ed09ea0a846..c5314aa382bcd 100644 --- a/api_docs/kbn_core_base_browser_mocks.mdx +++ b/api_docs/kbn_core_base_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-browser-mocks title: "@kbn/core-base-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-browser-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-base-browser-mocks'] --- import kbnCoreBaseBrowserMocksObj from './kbn_core_base_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_base_common.mdx b/api_docs/kbn_core_base_common.mdx index 90c1bb67edd92..51026e0e05b16 100644 --- a/api_docs/kbn_core_base_common.mdx +++ b/api_docs/kbn_core_base_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-common title: "@kbn/core-base-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-common plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-base-common'] --- import kbnCoreBaseCommonObj from './kbn_core_base_common.devdocs.json'; diff --git a/api_docs/kbn_core_base_server_internal.mdx b/api_docs/kbn_core_base_server_internal.mdx index 9a18faf457aed..39ebe8aac03dc 100644 --- a/api_docs/kbn_core_base_server_internal.mdx +++ b/api_docs/kbn_core_base_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-server-internal title: "@kbn/core-base-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-server-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-base-server-internal'] --- import kbnCoreBaseServerInternalObj from './kbn_core_base_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_base_server_mocks.mdx b/api_docs/kbn_core_base_server_mocks.mdx index 2da2a0067bb13..4fb83762ba3cf 100644 --- a/api_docs/kbn_core_base_server_mocks.mdx +++ b/api_docs/kbn_core_base_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-server-mocks title: "@kbn/core-base-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-server-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-base-server-mocks'] --- import kbnCoreBaseServerMocksObj from './kbn_core_base_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_capabilities_browser_mocks.mdx b/api_docs/kbn_core_capabilities_browser_mocks.mdx index 2bfc72a54004f..f7bc27dafc2ca 100644 --- a/api_docs/kbn_core_capabilities_browser_mocks.mdx +++ b/api_docs/kbn_core_capabilities_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-browser-mocks title: "@kbn/core-capabilities-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-browser-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-capabilities-browser-mocks'] --- import kbnCoreCapabilitiesBrowserMocksObj from './kbn_core_capabilities_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_capabilities_common.mdx b/api_docs/kbn_core_capabilities_common.mdx index 054c139be0696..7342d6e95c788 100644 --- a/api_docs/kbn_core_capabilities_common.mdx +++ b/api_docs/kbn_core_capabilities_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-common title: "@kbn/core-capabilities-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-common plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-capabilities-common'] --- import kbnCoreCapabilitiesCommonObj from './kbn_core_capabilities_common.devdocs.json'; diff --git a/api_docs/kbn_core_capabilities_server.mdx b/api_docs/kbn_core_capabilities_server.mdx index a6722aba43552..4d659e4665b74 100644 --- a/api_docs/kbn_core_capabilities_server.mdx +++ b/api_docs/kbn_core_capabilities_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-server title: "@kbn/core-capabilities-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-server plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-capabilities-server'] --- import kbnCoreCapabilitiesServerObj from './kbn_core_capabilities_server.devdocs.json'; diff --git a/api_docs/kbn_core_capabilities_server_mocks.mdx b/api_docs/kbn_core_capabilities_server_mocks.mdx index fc4891adb3b99..800d9dbf741eb 100644 --- a/api_docs/kbn_core_capabilities_server_mocks.mdx +++ b/api_docs/kbn_core_capabilities_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-server-mocks title: "@kbn/core-capabilities-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-server-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-capabilities-server-mocks'] --- import kbnCoreCapabilitiesServerMocksObj from './kbn_core_capabilities_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_chrome_browser.devdocs.json b/api_docs/kbn_core_chrome_browser.devdocs.json index 125aa8582db52..cdfc29910c83d 100644 --- a/api_docs/kbn_core_chrome_browser.devdocs.json +++ b/api_docs/kbn_core_chrome_browser.devdocs.json @@ -1620,32 +1620,12 @@ "\nOptional function to get the active state. This function is called whenever the location changes." ], "signature": [ - "((location: ", - "Location", - ") => boolean) | undefined" + "GetIsActiveFn", + " | undefined" ], "path": "packages/core/chrome/core-chrome-browser/src/project_navigation.ts", "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/core-chrome-browser", - "id": "def-common.ChromeProjectNavigationNode.getIsActive.$1", - "type": "Object", - "tags": [], - "label": "location", - "description": [], - "signature": [ - "Location", - "" - ], - "path": "packages/core/chrome/core-chrome-browser/src/project_navigation.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [] + "trackAdoption": false }, { "parentPluginId": "@kbn/core-chrome-browser", @@ -2875,6 +2855,29 @@ "deprecated": false, "trackAdoption": false }, + { + "parentPluginId": "@kbn/core-chrome-browser", + "id": "def-common.NodeDefinition.cloudLink", + "type": "CompoundType", + "tags": [], + "label": "cloudLink", + "description": [ + "Cloud link id" + ], + "signature": [ + { + "pluginId": "@kbn/core-chrome-browser", + "scope": "common", + "docId": "kibKbnCoreChromeBrowserPluginApi", + "section": "def-common.CloudLinkId", + "text": "CloudLinkId" + }, + " | undefined" + ], + "path": "packages/core/chrome/core-chrome-browser/src/project_navigation.ts", + "deprecated": false, + "trackAdoption": false + }, { "parentPluginId": "@kbn/core-chrome-browser", "id": "def-common.NodeDefinition.icon", @@ -2941,32 +2944,12 @@ "\nOptional function to get the active state. This function is called whenever the location changes." ], "signature": [ - "((location: ", - "Location", - ") => boolean) | undefined" + "GetIsActiveFn", + " | undefined" ], "path": "packages/core/chrome/core-chrome-browser/src/project_navigation.ts", "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/core-chrome-browser", - "id": "def-common.NodeDefinition.getIsActive.$1", - "type": "Object", - "tags": [], - "label": "location", - "description": [], - "signature": [ - "Location", - "" - ], - "path": "packages/core/chrome/core-chrome-browser/src/project_navigation.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [] + "trackAdoption": false }, { "parentPluginId": "@kbn/core-chrome-browser", @@ -3237,6 +3220,21 @@ "trackAdoption": false, "initialIsOpen": false }, + { + "parentPluginId": "@kbn/core-chrome-browser", + "id": "def-common.CloudLinkId", + "type": "Type", + "tags": [], + "label": "CloudLinkId", + "description": [], + "signature": [ + "\"userAndRoles\" | \"performance\" | \"billingAndSub\"" + ], + "path": "packages/core/chrome/core-chrome-browser/src/project_navigation.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "@kbn/core-chrome-browser", "id": "def-common.NodeDefinitionWithChildren", diff --git a/api_docs/kbn_core_chrome_browser.mdx b/api_docs/kbn_core_chrome_browser.mdx index d4cf3a68015c8..10008a79b95ff 100644 --- a/api_docs/kbn_core_chrome_browser.mdx +++ b/api_docs/kbn_core_chrome_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-chrome-browser title: "@kbn/core-chrome-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-chrome-browser plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-chrome-browser'] --- import kbnCoreChromeBrowserObj from './kbn_core_chrome_browser.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sh | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 166 | 0 | 67 | 0 | +| 166 | 0 | 66 | 1 | ## Common diff --git a/api_docs/kbn_core_chrome_browser_mocks.mdx b/api_docs/kbn_core_chrome_browser_mocks.mdx index 287b3d2e8eadc..f1c3a90c34b8d 100644 --- a/api_docs/kbn_core_chrome_browser_mocks.mdx +++ b/api_docs/kbn_core_chrome_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-chrome-browser-mocks title: "@kbn/core-chrome-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-chrome-browser-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-chrome-browser-mocks'] --- import kbnCoreChromeBrowserMocksObj from './kbn_core_chrome_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_config_server_internal.mdx b/api_docs/kbn_core_config_server_internal.mdx index e7e36b928fe0d..537ac4f6b1a12 100644 --- a/api_docs/kbn_core_config_server_internal.mdx +++ b/api_docs/kbn_core_config_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-config-server-internal title: "@kbn/core-config-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-config-server-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-config-server-internal'] --- import kbnCoreConfigServerInternalObj from './kbn_core_config_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_browser.mdx b/api_docs/kbn_core_custom_branding_browser.mdx index 362d8ea698015..db14a150b3d2c 100644 --- a/api_docs/kbn_core_custom_branding_browser.mdx +++ b/api_docs/kbn_core_custom_branding_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-browser title: "@kbn/core-custom-branding-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-browser plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-browser'] --- import kbnCoreCustomBrandingBrowserObj from './kbn_core_custom_branding_browser.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_browser_internal.mdx b/api_docs/kbn_core_custom_branding_browser_internal.mdx index fb6285bf9610d..e7265d4910ef5 100644 --- a/api_docs/kbn_core_custom_branding_browser_internal.mdx +++ b/api_docs/kbn_core_custom_branding_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-browser-internal title: "@kbn/core-custom-branding-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-browser-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-browser-internal'] --- import kbnCoreCustomBrandingBrowserInternalObj from './kbn_core_custom_branding_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_browser_mocks.mdx b/api_docs/kbn_core_custom_branding_browser_mocks.mdx index c25761e92d6af..3571c20d7261d 100644 --- a/api_docs/kbn_core_custom_branding_browser_mocks.mdx +++ b/api_docs/kbn_core_custom_branding_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-browser-mocks title: "@kbn/core-custom-branding-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-browser-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-browser-mocks'] --- import kbnCoreCustomBrandingBrowserMocksObj from './kbn_core_custom_branding_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_common.mdx b/api_docs/kbn_core_custom_branding_common.mdx index 244862eb1a1ce..15fce44f8cce6 100644 --- a/api_docs/kbn_core_custom_branding_common.mdx +++ b/api_docs/kbn_core_custom_branding_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-common title: "@kbn/core-custom-branding-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-common plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-common'] --- import kbnCoreCustomBrandingCommonObj from './kbn_core_custom_branding_common.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_server.mdx b/api_docs/kbn_core_custom_branding_server.mdx index c39f0c851bf75..79ec4330e0bf4 100644 --- a/api_docs/kbn_core_custom_branding_server.mdx +++ b/api_docs/kbn_core_custom_branding_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-server title: "@kbn/core-custom-branding-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-server plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-server'] --- import kbnCoreCustomBrandingServerObj from './kbn_core_custom_branding_server.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_server_internal.mdx b/api_docs/kbn_core_custom_branding_server_internal.mdx index f7609e27394af..b09f1dd3231af 100644 --- a/api_docs/kbn_core_custom_branding_server_internal.mdx +++ b/api_docs/kbn_core_custom_branding_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-server-internal title: "@kbn/core-custom-branding-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-server-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-server-internal'] --- import kbnCoreCustomBrandingServerInternalObj from './kbn_core_custom_branding_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_server_mocks.mdx b/api_docs/kbn_core_custom_branding_server_mocks.mdx index 1029c6db08ed1..ab51951b97857 100644 --- a/api_docs/kbn_core_custom_branding_server_mocks.mdx +++ b/api_docs/kbn_core_custom_branding_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-server-mocks title: "@kbn/core-custom-branding-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-server-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-server-mocks'] --- import kbnCoreCustomBrandingServerMocksObj from './kbn_core_custom_branding_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_browser.mdx b/api_docs/kbn_core_deprecations_browser.mdx index 6049927f22262..58bae8a8fff1b 100644 --- a/api_docs/kbn_core_deprecations_browser.mdx +++ b/api_docs/kbn_core_deprecations_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-browser title: "@kbn/core-deprecations-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-browser plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-browser'] --- import kbnCoreDeprecationsBrowserObj from './kbn_core_deprecations_browser.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_browser_internal.mdx b/api_docs/kbn_core_deprecations_browser_internal.mdx index d93b31ef24ec2..5c9a4aedefc7c 100644 --- a/api_docs/kbn_core_deprecations_browser_internal.mdx +++ b/api_docs/kbn_core_deprecations_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-browser-internal title: "@kbn/core-deprecations-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-browser-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-browser-internal'] --- import kbnCoreDeprecationsBrowserInternalObj from './kbn_core_deprecations_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_browser_mocks.mdx b/api_docs/kbn_core_deprecations_browser_mocks.mdx index 3841e2767bbd7..e1dabd0500030 100644 --- a/api_docs/kbn_core_deprecations_browser_mocks.mdx +++ b/api_docs/kbn_core_deprecations_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-browser-mocks title: "@kbn/core-deprecations-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-browser-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-browser-mocks'] --- import kbnCoreDeprecationsBrowserMocksObj from './kbn_core_deprecations_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_common.mdx b/api_docs/kbn_core_deprecations_common.mdx index 2534247707e7d..85cc8e949c1e8 100644 --- a/api_docs/kbn_core_deprecations_common.mdx +++ b/api_docs/kbn_core_deprecations_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-common title: "@kbn/core-deprecations-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-common plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-common'] --- import kbnCoreDeprecationsCommonObj from './kbn_core_deprecations_common.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_server.mdx b/api_docs/kbn_core_deprecations_server.mdx index 0b5d33b4e38b5..fddd1839c8ab8 100644 --- a/api_docs/kbn_core_deprecations_server.mdx +++ b/api_docs/kbn_core_deprecations_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-server title: "@kbn/core-deprecations-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-server plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-server'] --- import kbnCoreDeprecationsServerObj from './kbn_core_deprecations_server.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_server_internal.mdx b/api_docs/kbn_core_deprecations_server_internal.mdx index 29cd6d34a89fd..eb48650f99f8d 100644 --- a/api_docs/kbn_core_deprecations_server_internal.mdx +++ b/api_docs/kbn_core_deprecations_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-server-internal title: "@kbn/core-deprecations-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-server-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-server-internal'] --- import kbnCoreDeprecationsServerInternalObj from './kbn_core_deprecations_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_server_mocks.mdx b/api_docs/kbn_core_deprecations_server_mocks.mdx index 304c0878d2840..d5ff4a3d046c1 100644 --- a/api_docs/kbn_core_deprecations_server_mocks.mdx +++ b/api_docs/kbn_core_deprecations_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-server-mocks title: "@kbn/core-deprecations-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-server-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-server-mocks'] --- import kbnCoreDeprecationsServerMocksObj from './kbn_core_deprecations_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_doc_links_browser.mdx b/api_docs/kbn_core_doc_links_browser.mdx index cfd7a922c76c4..34a4a13f3207c 100644 --- a/api_docs/kbn_core_doc_links_browser.mdx +++ b/api_docs/kbn_core_doc_links_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-browser title: "@kbn/core-doc-links-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-browser plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-doc-links-browser'] --- import kbnCoreDocLinksBrowserObj from './kbn_core_doc_links_browser.devdocs.json'; diff --git a/api_docs/kbn_core_doc_links_browser_mocks.mdx b/api_docs/kbn_core_doc_links_browser_mocks.mdx index 50ddea93ba6c4..d96a24d13f988 100644 --- a/api_docs/kbn_core_doc_links_browser_mocks.mdx +++ b/api_docs/kbn_core_doc_links_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-browser-mocks title: "@kbn/core-doc-links-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-browser-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-doc-links-browser-mocks'] --- import kbnCoreDocLinksBrowserMocksObj from './kbn_core_doc_links_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_doc_links_server.mdx b/api_docs/kbn_core_doc_links_server.mdx index de5892045ce14..2774054d87f93 100644 --- a/api_docs/kbn_core_doc_links_server.mdx +++ b/api_docs/kbn_core_doc_links_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-server title: "@kbn/core-doc-links-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-server plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-doc-links-server'] --- import kbnCoreDocLinksServerObj from './kbn_core_doc_links_server.devdocs.json'; diff --git a/api_docs/kbn_core_doc_links_server_mocks.mdx b/api_docs/kbn_core_doc_links_server_mocks.mdx index c3703c48f48f8..33f4dc5b614cd 100644 --- a/api_docs/kbn_core_doc_links_server_mocks.mdx +++ b/api_docs/kbn_core_doc_links_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-server-mocks title: "@kbn/core-doc-links-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-server-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-doc-links-server-mocks'] --- import kbnCoreDocLinksServerMocksObj from './kbn_core_doc_links_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_elasticsearch_client_server_internal.mdx b/api_docs/kbn_core_elasticsearch_client_server_internal.mdx index 1101e448ea23d..693708104eb59 100644 --- a/api_docs/kbn_core_elasticsearch_client_server_internal.mdx +++ b/api_docs/kbn_core_elasticsearch_client_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-client-server-internal title: "@kbn/core-elasticsearch-client-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-client-server-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-client-server-internal'] --- import kbnCoreElasticsearchClientServerInternalObj from './kbn_core_elasticsearch_client_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx b/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx index 67d7fdfa9a586..b491252512a43 100644 --- a/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx +++ b/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-client-server-mocks title: "@kbn/core-elasticsearch-client-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-client-server-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-client-server-mocks'] --- import kbnCoreElasticsearchClientServerMocksObj from './kbn_core_elasticsearch_client_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_elasticsearch_server.mdx b/api_docs/kbn_core_elasticsearch_server.mdx index aeff482f51043..b1de2e5e386b6 100644 --- a/api_docs/kbn_core_elasticsearch_server.mdx +++ b/api_docs/kbn_core_elasticsearch_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-server title: "@kbn/core-elasticsearch-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-server plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-server'] --- import kbnCoreElasticsearchServerObj from './kbn_core_elasticsearch_server.devdocs.json'; diff --git a/api_docs/kbn_core_elasticsearch_server_internal.mdx b/api_docs/kbn_core_elasticsearch_server_internal.mdx index 866ce99c93f26..fdc5c565f0e48 100644 --- a/api_docs/kbn_core_elasticsearch_server_internal.mdx +++ b/api_docs/kbn_core_elasticsearch_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-server-internal title: "@kbn/core-elasticsearch-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-server-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-server-internal'] --- import kbnCoreElasticsearchServerInternalObj from './kbn_core_elasticsearch_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_elasticsearch_server_mocks.mdx b/api_docs/kbn_core_elasticsearch_server_mocks.mdx index b4e5abe39dde2..be6c47413049b 100644 --- a/api_docs/kbn_core_elasticsearch_server_mocks.mdx +++ b/api_docs/kbn_core_elasticsearch_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-server-mocks title: "@kbn/core-elasticsearch-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-server-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-server-mocks'] --- import kbnCoreElasticsearchServerMocksObj from './kbn_core_elasticsearch_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_environment_server_internal.mdx b/api_docs/kbn_core_environment_server_internal.mdx index ecdbcffc5e773..99c9c4bc25439 100644 --- a/api_docs/kbn_core_environment_server_internal.mdx +++ b/api_docs/kbn_core_environment_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-environment-server-internal title: "@kbn/core-environment-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-environment-server-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-environment-server-internal'] --- import kbnCoreEnvironmentServerInternalObj from './kbn_core_environment_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_environment_server_mocks.mdx b/api_docs/kbn_core_environment_server_mocks.mdx index 98e23de57282a..09cc3fc9da6e1 100644 --- a/api_docs/kbn_core_environment_server_mocks.mdx +++ b/api_docs/kbn_core_environment_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-environment-server-mocks title: "@kbn/core-environment-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-environment-server-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-environment-server-mocks'] --- import kbnCoreEnvironmentServerMocksObj from './kbn_core_environment_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_browser.mdx b/api_docs/kbn_core_execution_context_browser.mdx index 236d3d6bc556c..6f9c735369bdb 100644 --- a/api_docs/kbn_core_execution_context_browser.mdx +++ b/api_docs/kbn_core_execution_context_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-browser title: "@kbn/core-execution-context-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-browser plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-browser'] --- import kbnCoreExecutionContextBrowserObj from './kbn_core_execution_context_browser.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_browser_internal.mdx b/api_docs/kbn_core_execution_context_browser_internal.mdx index 2cd337fd00d93..df23309a2e83d 100644 --- a/api_docs/kbn_core_execution_context_browser_internal.mdx +++ b/api_docs/kbn_core_execution_context_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-browser-internal title: "@kbn/core-execution-context-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-browser-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-browser-internal'] --- import kbnCoreExecutionContextBrowserInternalObj from './kbn_core_execution_context_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_browser_mocks.mdx b/api_docs/kbn_core_execution_context_browser_mocks.mdx index 22aa0e8058a78..85c0023e5af62 100644 --- a/api_docs/kbn_core_execution_context_browser_mocks.mdx +++ b/api_docs/kbn_core_execution_context_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-browser-mocks title: "@kbn/core-execution-context-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-browser-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-browser-mocks'] --- import kbnCoreExecutionContextBrowserMocksObj from './kbn_core_execution_context_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_common.mdx b/api_docs/kbn_core_execution_context_common.mdx index 676bf2765962f..b16998d843dcf 100644 --- a/api_docs/kbn_core_execution_context_common.mdx +++ b/api_docs/kbn_core_execution_context_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-common title: "@kbn/core-execution-context-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-common plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-common'] --- import kbnCoreExecutionContextCommonObj from './kbn_core_execution_context_common.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_server.mdx b/api_docs/kbn_core_execution_context_server.mdx index 3183fa2743eea..ea1e178ceac21 100644 --- a/api_docs/kbn_core_execution_context_server.mdx +++ b/api_docs/kbn_core_execution_context_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-server title: "@kbn/core-execution-context-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-server plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-server'] --- import kbnCoreExecutionContextServerObj from './kbn_core_execution_context_server.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_server_internal.mdx b/api_docs/kbn_core_execution_context_server_internal.mdx index ef3da3d7cf42e..da1c9170e95ad 100644 --- a/api_docs/kbn_core_execution_context_server_internal.mdx +++ b/api_docs/kbn_core_execution_context_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-server-internal title: "@kbn/core-execution-context-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-server-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-server-internal'] --- import kbnCoreExecutionContextServerInternalObj from './kbn_core_execution_context_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_server_mocks.mdx b/api_docs/kbn_core_execution_context_server_mocks.mdx index 79af222096c33..6b269be8a5a18 100644 --- a/api_docs/kbn_core_execution_context_server_mocks.mdx +++ b/api_docs/kbn_core_execution_context_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-server-mocks title: "@kbn/core-execution-context-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-server-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-server-mocks'] --- import kbnCoreExecutionContextServerMocksObj from './kbn_core_execution_context_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_fatal_errors_browser.mdx b/api_docs/kbn_core_fatal_errors_browser.mdx index a567236822738..f776722107f9c 100644 --- a/api_docs/kbn_core_fatal_errors_browser.mdx +++ b/api_docs/kbn_core_fatal_errors_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-fatal-errors-browser title: "@kbn/core-fatal-errors-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-fatal-errors-browser plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-fatal-errors-browser'] --- import kbnCoreFatalErrorsBrowserObj from './kbn_core_fatal_errors_browser.devdocs.json'; diff --git a/api_docs/kbn_core_fatal_errors_browser_mocks.mdx b/api_docs/kbn_core_fatal_errors_browser_mocks.mdx index cb5c671766134..af88f1a65267a 100644 --- a/api_docs/kbn_core_fatal_errors_browser_mocks.mdx +++ b/api_docs/kbn_core_fatal_errors_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-fatal-errors-browser-mocks title: "@kbn/core-fatal-errors-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-fatal-errors-browser-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-fatal-errors-browser-mocks'] --- import kbnCoreFatalErrorsBrowserMocksObj from './kbn_core_fatal_errors_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_browser.mdx b/api_docs/kbn_core_http_browser.mdx index 072accb2cf451..9272843b37648 100644 --- a/api_docs/kbn_core_http_browser.mdx +++ b/api_docs/kbn_core_http_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-browser title: "@kbn/core-http-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-browser plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-browser'] --- import kbnCoreHttpBrowserObj from './kbn_core_http_browser.devdocs.json'; diff --git a/api_docs/kbn_core_http_browser_internal.mdx b/api_docs/kbn_core_http_browser_internal.mdx index 330b92bb32e1f..075be58a3bd0b 100644 --- a/api_docs/kbn_core_http_browser_internal.mdx +++ b/api_docs/kbn_core_http_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-browser-internal title: "@kbn/core-http-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-browser-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-browser-internal'] --- import kbnCoreHttpBrowserInternalObj from './kbn_core_http_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_http_browser_mocks.mdx b/api_docs/kbn_core_http_browser_mocks.mdx index 333e3eb3729b7..f901350d87a19 100644 --- a/api_docs/kbn_core_http_browser_mocks.mdx +++ b/api_docs/kbn_core_http_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-browser-mocks title: "@kbn/core-http-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-browser-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-browser-mocks'] --- import kbnCoreHttpBrowserMocksObj from './kbn_core_http_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_common.mdx b/api_docs/kbn_core_http_common.mdx index 1efeee5864ab8..7178b9fd1e71f 100644 --- a/api_docs/kbn_core_http_common.mdx +++ b/api_docs/kbn_core_http_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-common title: "@kbn/core-http-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-common plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-common'] --- import kbnCoreHttpCommonObj from './kbn_core_http_common.devdocs.json'; diff --git a/api_docs/kbn_core_http_context_server_mocks.mdx b/api_docs/kbn_core_http_context_server_mocks.mdx index 3b43026376e16..38750f75553b4 100644 --- a/api_docs/kbn_core_http_context_server_mocks.mdx +++ b/api_docs/kbn_core_http_context_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-context-server-mocks title: "@kbn/core-http-context-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-context-server-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-context-server-mocks'] --- import kbnCoreHttpContextServerMocksObj from './kbn_core_http_context_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_request_handler_context_server.mdx b/api_docs/kbn_core_http_request_handler_context_server.mdx index 9b3394b0e5782..482e344b43b9c 100644 --- a/api_docs/kbn_core_http_request_handler_context_server.mdx +++ b/api_docs/kbn_core_http_request_handler_context_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-request-handler-context-server title: "@kbn/core-http-request-handler-context-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-request-handler-context-server plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-request-handler-context-server'] --- import kbnCoreHttpRequestHandlerContextServerObj from './kbn_core_http_request_handler_context_server.devdocs.json'; diff --git a/api_docs/kbn_core_http_resources_server.mdx b/api_docs/kbn_core_http_resources_server.mdx index d944832ef224c..14cd8be5aec40 100644 --- a/api_docs/kbn_core_http_resources_server.mdx +++ b/api_docs/kbn_core_http_resources_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-resources-server title: "@kbn/core-http-resources-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-resources-server plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-resources-server'] --- import kbnCoreHttpResourcesServerObj from './kbn_core_http_resources_server.devdocs.json'; diff --git a/api_docs/kbn_core_http_resources_server_internal.mdx b/api_docs/kbn_core_http_resources_server_internal.mdx index 998e3ecb2b596..259302386dd3f 100644 --- a/api_docs/kbn_core_http_resources_server_internal.mdx +++ b/api_docs/kbn_core_http_resources_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-resources-server-internal title: "@kbn/core-http-resources-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-resources-server-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-resources-server-internal'] --- import kbnCoreHttpResourcesServerInternalObj from './kbn_core_http_resources_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_http_resources_server_mocks.mdx b/api_docs/kbn_core_http_resources_server_mocks.mdx index c0f6a53bac574..d69967e249d37 100644 --- a/api_docs/kbn_core_http_resources_server_mocks.mdx +++ b/api_docs/kbn_core_http_resources_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-resources-server-mocks title: "@kbn/core-http-resources-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-resources-server-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-resources-server-mocks'] --- import kbnCoreHttpResourcesServerMocksObj from './kbn_core_http_resources_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_router_server_internal.mdx b/api_docs/kbn_core_http_router_server_internal.mdx index fdc1b2a404ebf..a4e3384b8b91a 100644 --- a/api_docs/kbn_core_http_router_server_internal.mdx +++ b/api_docs/kbn_core_http_router_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-router-server-internal title: "@kbn/core-http-router-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-router-server-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-router-server-internal'] --- import kbnCoreHttpRouterServerInternalObj from './kbn_core_http_router_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_http_router_server_mocks.mdx b/api_docs/kbn_core_http_router_server_mocks.mdx index 7af8ac3b08302..a60631e084636 100644 --- a/api_docs/kbn_core_http_router_server_mocks.mdx +++ b/api_docs/kbn_core_http_router_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-router-server-mocks title: "@kbn/core-http-router-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-router-server-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-router-server-mocks'] --- import kbnCoreHttpRouterServerMocksObj from './kbn_core_http_router_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_server.devdocs.json b/api_docs/kbn_core_http_server.devdocs.json index ec363d8fadb07..8c727a45ff5ce 100644 --- a/api_docs/kbn_core_http_server.devdocs.json +++ b/api_docs/kbn_core_http_server.devdocs.json @@ -3495,10 +3495,6 @@ "plugin": "actions", "path": "x-pack/plugins/actions/server/routes/legacy/list_action_types.ts" }, - { - "plugin": "data", - "path": "src/plugins/data/server/scripts/route.ts" - }, { "plugin": "share", "path": "src/plugins/share/server/url_service/http/short_urls/register_get_route.ts" @@ -6285,10 +6281,6 @@ "plugin": "contentManagement", "path": "src/plugins/content_management/server/rpc/routes/routes.ts" }, - { - "plugin": "data", - "path": "src/plugins/data/server/kql_telemetry/route.ts" - }, { "plugin": "share", "path": "src/plugins/share/server/url_service/http/short_urls/register_create_route.ts" @@ -13794,6 +13786,10 @@ "plugin": "data", "path": "src/plugins/data/server/query/routes.ts" }, + { + "plugin": "data", + "path": "src/plugins/data/server/scripts/route.ts" + }, { "plugin": "ml", "path": "x-pack/plugins/ml/server/routes/json_schema.ts" @@ -14734,6 +14730,10 @@ "plugin": "data", "path": "src/plugins/data/server/query/routes.ts" }, + { + "plugin": "data", + "path": "src/plugins/data/server/kql_telemetry/route.ts" + }, { "plugin": "aiops", "path": "x-pack/plugins/aiops/server/routes/explain_log_rate_spikes.ts" diff --git a/api_docs/kbn_core_http_server.mdx b/api_docs/kbn_core_http_server.mdx index 1b979e3c5b3f2..0f8effa067b51 100644 --- a/api_docs/kbn_core_http_server.mdx +++ b/api_docs/kbn_core_http_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-server title: "@kbn/core-http-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-server plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-server'] --- import kbnCoreHttpServerObj from './kbn_core_http_server.devdocs.json'; diff --git a/api_docs/kbn_core_http_server_internal.mdx b/api_docs/kbn_core_http_server_internal.mdx index 041638721baa8..25aa04eaff241 100644 --- a/api_docs/kbn_core_http_server_internal.mdx +++ b/api_docs/kbn_core_http_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-server-internal title: "@kbn/core-http-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-server-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-server-internal'] --- import kbnCoreHttpServerInternalObj from './kbn_core_http_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_http_server_mocks.mdx b/api_docs/kbn_core_http_server_mocks.mdx index f90accc6a4d8c..40058b7a80979 100644 --- a/api_docs/kbn_core_http_server_mocks.mdx +++ b/api_docs/kbn_core_http_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-server-mocks title: "@kbn/core-http-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-server-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-server-mocks'] --- import kbnCoreHttpServerMocksObj from './kbn_core_http_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_i18n_browser.mdx b/api_docs/kbn_core_i18n_browser.mdx index 565e92579e9ab..455dc0d99d37b 100644 --- a/api_docs/kbn_core_i18n_browser.mdx +++ b/api_docs/kbn_core_i18n_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-browser title: "@kbn/core-i18n-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-browser plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-browser'] --- import kbnCoreI18nBrowserObj from './kbn_core_i18n_browser.devdocs.json'; diff --git a/api_docs/kbn_core_i18n_browser_mocks.mdx b/api_docs/kbn_core_i18n_browser_mocks.mdx index 10e05b851ac05..179fee99feb3f 100644 --- a/api_docs/kbn_core_i18n_browser_mocks.mdx +++ b/api_docs/kbn_core_i18n_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-browser-mocks title: "@kbn/core-i18n-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-browser-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-browser-mocks'] --- import kbnCoreI18nBrowserMocksObj from './kbn_core_i18n_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_i18n_server.mdx b/api_docs/kbn_core_i18n_server.mdx index 4d72ddc9dfc1e..612ccba7952cf 100644 --- a/api_docs/kbn_core_i18n_server.mdx +++ b/api_docs/kbn_core_i18n_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-server title: "@kbn/core-i18n-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-server plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-server'] --- import kbnCoreI18nServerObj from './kbn_core_i18n_server.devdocs.json'; diff --git a/api_docs/kbn_core_i18n_server_internal.mdx b/api_docs/kbn_core_i18n_server_internal.mdx index ae00498d2c66f..fc4846bb53cde 100644 --- a/api_docs/kbn_core_i18n_server_internal.mdx +++ b/api_docs/kbn_core_i18n_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-server-internal title: "@kbn/core-i18n-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-server-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-server-internal'] --- import kbnCoreI18nServerInternalObj from './kbn_core_i18n_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_i18n_server_mocks.mdx b/api_docs/kbn_core_i18n_server_mocks.mdx index 642e521b35781..a0b73b5bfd52a 100644 --- a/api_docs/kbn_core_i18n_server_mocks.mdx +++ b/api_docs/kbn_core_i18n_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-server-mocks title: "@kbn/core-i18n-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-server-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-server-mocks'] --- import kbnCoreI18nServerMocksObj from './kbn_core_i18n_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_injected_metadata_browser_mocks.mdx b/api_docs/kbn_core_injected_metadata_browser_mocks.mdx index b2b6ac1276961..c77f33837c70c 100644 --- a/api_docs/kbn_core_injected_metadata_browser_mocks.mdx +++ b/api_docs/kbn_core_injected_metadata_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-injected-metadata-browser-mocks title: "@kbn/core-injected-metadata-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-injected-metadata-browser-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-injected-metadata-browser-mocks'] --- import kbnCoreInjectedMetadataBrowserMocksObj from './kbn_core_injected_metadata_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_integrations_browser_internal.mdx b/api_docs/kbn_core_integrations_browser_internal.mdx index 0c5f836906698..e777e01e103d6 100644 --- a/api_docs/kbn_core_integrations_browser_internal.mdx +++ b/api_docs/kbn_core_integrations_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-integrations-browser-internal title: "@kbn/core-integrations-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-integrations-browser-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-integrations-browser-internal'] --- import kbnCoreIntegrationsBrowserInternalObj from './kbn_core_integrations_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_integrations_browser_mocks.mdx b/api_docs/kbn_core_integrations_browser_mocks.mdx index 0b8ac1349d9ed..aaf152e5883f8 100644 --- a/api_docs/kbn_core_integrations_browser_mocks.mdx +++ b/api_docs/kbn_core_integrations_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-integrations-browser-mocks title: "@kbn/core-integrations-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-integrations-browser-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-integrations-browser-mocks'] --- import kbnCoreIntegrationsBrowserMocksObj from './kbn_core_integrations_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_lifecycle_browser.mdx b/api_docs/kbn_core_lifecycle_browser.mdx index 34102a2b4b88c..82e416ab0bd9c 100644 --- a/api_docs/kbn_core_lifecycle_browser.mdx +++ b/api_docs/kbn_core_lifecycle_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-browser title: "@kbn/core-lifecycle-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-browser plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-lifecycle-browser'] --- import kbnCoreLifecycleBrowserObj from './kbn_core_lifecycle_browser.devdocs.json'; diff --git a/api_docs/kbn_core_lifecycle_browser_mocks.mdx b/api_docs/kbn_core_lifecycle_browser_mocks.mdx index 5567d2de7814b..d3e447b9553c5 100644 --- a/api_docs/kbn_core_lifecycle_browser_mocks.mdx +++ b/api_docs/kbn_core_lifecycle_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-browser-mocks title: "@kbn/core-lifecycle-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-browser-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-lifecycle-browser-mocks'] --- import kbnCoreLifecycleBrowserMocksObj from './kbn_core_lifecycle_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_lifecycle_server.mdx b/api_docs/kbn_core_lifecycle_server.mdx index 9ac808641c90c..6ea9ef23734df 100644 --- a/api_docs/kbn_core_lifecycle_server.mdx +++ b/api_docs/kbn_core_lifecycle_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-server title: "@kbn/core-lifecycle-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-server plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-lifecycle-server'] --- import kbnCoreLifecycleServerObj from './kbn_core_lifecycle_server.devdocs.json'; diff --git a/api_docs/kbn_core_lifecycle_server_mocks.mdx b/api_docs/kbn_core_lifecycle_server_mocks.mdx index 1470d39bb8f66..293174093a652 100644 --- a/api_docs/kbn_core_lifecycle_server_mocks.mdx +++ b/api_docs/kbn_core_lifecycle_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-server-mocks title: "@kbn/core-lifecycle-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-server-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-lifecycle-server-mocks'] --- import kbnCoreLifecycleServerMocksObj from './kbn_core_lifecycle_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_logging_browser_mocks.mdx b/api_docs/kbn_core_logging_browser_mocks.mdx index af1eb990925a4..de794f30de91c 100644 --- a/api_docs/kbn_core_logging_browser_mocks.mdx +++ b/api_docs/kbn_core_logging_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-browser-mocks title: "@kbn/core-logging-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-browser-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-browser-mocks'] --- import kbnCoreLoggingBrowserMocksObj from './kbn_core_logging_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_logging_common_internal.mdx b/api_docs/kbn_core_logging_common_internal.mdx index 49b2abaf3a4a4..76fb03d1842bd 100644 --- a/api_docs/kbn_core_logging_common_internal.mdx +++ b/api_docs/kbn_core_logging_common_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-common-internal title: "@kbn/core-logging-common-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-common-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-common-internal'] --- import kbnCoreLoggingCommonInternalObj from './kbn_core_logging_common_internal.devdocs.json'; diff --git a/api_docs/kbn_core_logging_server.mdx b/api_docs/kbn_core_logging_server.mdx index ac3270216024e..c502e40c7f5c1 100644 --- a/api_docs/kbn_core_logging_server.mdx +++ b/api_docs/kbn_core_logging_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-server title: "@kbn/core-logging-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-server plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-server'] --- import kbnCoreLoggingServerObj from './kbn_core_logging_server.devdocs.json'; diff --git a/api_docs/kbn_core_logging_server_internal.mdx b/api_docs/kbn_core_logging_server_internal.mdx index f202b36b2f6e5..4751a139878fb 100644 --- a/api_docs/kbn_core_logging_server_internal.mdx +++ b/api_docs/kbn_core_logging_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-server-internal title: "@kbn/core-logging-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-server-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-server-internal'] --- import kbnCoreLoggingServerInternalObj from './kbn_core_logging_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_logging_server_mocks.mdx b/api_docs/kbn_core_logging_server_mocks.mdx index 9e79e07dde15a..9ecb77ebc3a15 100644 --- a/api_docs/kbn_core_logging_server_mocks.mdx +++ b/api_docs/kbn_core_logging_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-server-mocks title: "@kbn/core-logging-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-server-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-server-mocks'] --- import kbnCoreLoggingServerMocksObj from './kbn_core_logging_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_metrics_collectors_server_internal.mdx b/api_docs/kbn_core_metrics_collectors_server_internal.mdx index dd381017f2dc6..672c9a3278e42 100644 --- a/api_docs/kbn_core_metrics_collectors_server_internal.mdx +++ b/api_docs/kbn_core_metrics_collectors_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-collectors-server-internal title: "@kbn/core-metrics-collectors-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-collectors-server-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-metrics-collectors-server-internal'] --- import kbnCoreMetricsCollectorsServerInternalObj from './kbn_core_metrics_collectors_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_metrics_collectors_server_mocks.mdx b/api_docs/kbn_core_metrics_collectors_server_mocks.mdx index 20af81eeb69ab..8478ca8cb3df7 100644 --- a/api_docs/kbn_core_metrics_collectors_server_mocks.mdx +++ b/api_docs/kbn_core_metrics_collectors_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-collectors-server-mocks title: "@kbn/core-metrics-collectors-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-collectors-server-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-metrics-collectors-server-mocks'] --- import kbnCoreMetricsCollectorsServerMocksObj from './kbn_core_metrics_collectors_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_metrics_server.mdx b/api_docs/kbn_core_metrics_server.mdx index 6ea0bbbc392b2..3cfa5fabd9eef 100644 --- a/api_docs/kbn_core_metrics_server.mdx +++ b/api_docs/kbn_core_metrics_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-server title: "@kbn/core-metrics-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-server plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-metrics-server'] --- import kbnCoreMetricsServerObj from './kbn_core_metrics_server.devdocs.json'; diff --git a/api_docs/kbn_core_metrics_server_internal.mdx b/api_docs/kbn_core_metrics_server_internal.mdx index 2ac3390eb76a2..b81cb766e0ed7 100644 --- a/api_docs/kbn_core_metrics_server_internal.mdx +++ b/api_docs/kbn_core_metrics_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-server-internal title: "@kbn/core-metrics-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-server-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-metrics-server-internal'] --- import kbnCoreMetricsServerInternalObj from './kbn_core_metrics_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_metrics_server_mocks.mdx b/api_docs/kbn_core_metrics_server_mocks.mdx index 66173b5ab1888..a4e6510e00a19 100644 --- a/api_docs/kbn_core_metrics_server_mocks.mdx +++ b/api_docs/kbn_core_metrics_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-server-mocks title: "@kbn/core-metrics-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-server-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-metrics-server-mocks'] --- import kbnCoreMetricsServerMocksObj from './kbn_core_metrics_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_mount_utils_browser.mdx b/api_docs/kbn_core_mount_utils_browser.mdx index ed1add1daaf58..f229c1e153246 100644 --- a/api_docs/kbn_core_mount_utils_browser.mdx +++ b/api_docs/kbn_core_mount_utils_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-mount-utils-browser title: "@kbn/core-mount-utils-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-mount-utils-browser plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-mount-utils-browser'] --- import kbnCoreMountUtilsBrowserObj from './kbn_core_mount_utils_browser.devdocs.json'; diff --git a/api_docs/kbn_core_node_server.mdx b/api_docs/kbn_core_node_server.mdx index 68f50de9f1454..cea583b9c6c68 100644 --- a/api_docs/kbn_core_node_server.mdx +++ b/api_docs/kbn_core_node_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-node-server title: "@kbn/core-node-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-node-server plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-node-server'] --- import kbnCoreNodeServerObj from './kbn_core_node_server.devdocs.json'; diff --git a/api_docs/kbn_core_node_server_internal.mdx b/api_docs/kbn_core_node_server_internal.mdx index 5599d36241dab..ab1446e113a9a 100644 --- a/api_docs/kbn_core_node_server_internal.mdx +++ b/api_docs/kbn_core_node_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-node-server-internal title: "@kbn/core-node-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-node-server-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-node-server-internal'] --- import kbnCoreNodeServerInternalObj from './kbn_core_node_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_node_server_mocks.mdx b/api_docs/kbn_core_node_server_mocks.mdx index 5e0e6e282eb86..c52e2f589e430 100644 --- a/api_docs/kbn_core_node_server_mocks.mdx +++ b/api_docs/kbn_core_node_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-node-server-mocks title: "@kbn/core-node-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-node-server-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-node-server-mocks'] --- import kbnCoreNodeServerMocksObj from './kbn_core_node_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_notifications_browser.mdx b/api_docs/kbn_core_notifications_browser.mdx index a173bebb190c7..1c30439970f87 100644 --- a/api_docs/kbn_core_notifications_browser.mdx +++ b/api_docs/kbn_core_notifications_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-notifications-browser title: "@kbn/core-notifications-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-notifications-browser plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-notifications-browser'] --- import kbnCoreNotificationsBrowserObj from './kbn_core_notifications_browser.devdocs.json'; diff --git a/api_docs/kbn_core_notifications_browser_internal.mdx b/api_docs/kbn_core_notifications_browser_internal.mdx index 1c04b2e3fddba..ee6b293b717c7 100644 --- a/api_docs/kbn_core_notifications_browser_internal.mdx +++ b/api_docs/kbn_core_notifications_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-notifications-browser-internal title: "@kbn/core-notifications-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-notifications-browser-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-notifications-browser-internal'] --- import kbnCoreNotificationsBrowserInternalObj from './kbn_core_notifications_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_notifications_browser_mocks.mdx b/api_docs/kbn_core_notifications_browser_mocks.mdx index c394f139e5e9e..6da79f1485feb 100644 --- a/api_docs/kbn_core_notifications_browser_mocks.mdx +++ b/api_docs/kbn_core_notifications_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-notifications-browser-mocks title: "@kbn/core-notifications-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-notifications-browser-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-notifications-browser-mocks'] --- import kbnCoreNotificationsBrowserMocksObj from './kbn_core_notifications_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_overlays_browser.mdx b/api_docs/kbn_core_overlays_browser.mdx index 7cc3ef83e5a47..eaf76c864b9e6 100644 --- a/api_docs/kbn_core_overlays_browser.mdx +++ b/api_docs/kbn_core_overlays_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-overlays-browser title: "@kbn/core-overlays-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-overlays-browser plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-overlays-browser'] --- import kbnCoreOverlaysBrowserObj from './kbn_core_overlays_browser.devdocs.json'; diff --git a/api_docs/kbn_core_overlays_browser_internal.mdx b/api_docs/kbn_core_overlays_browser_internal.mdx index 7a71ad8e1cf7e..c79e0fd3a843f 100644 --- a/api_docs/kbn_core_overlays_browser_internal.mdx +++ b/api_docs/kbn_core_overlays_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-overlays-browser-internal title: "@kbn/core-overlays-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-overlays-browser-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-overlays-browser-internal'] --- import kbnCoreOverlaysBrowserInternalObj from './kbn_core_overlays_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_overlays_browser_mocks.mdx b/api_docs/kbn_core_overlays_browser_mocks.mdx index 20caec205a34a..e9ad5a85c2cdf 100644 --- a/api_docs/kbn_core_overlays_browser_mocks.mdx +++ b/api_docs/kbn_core_overlays_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-overlays-browser-mocks title: "@kbn/core-overlays-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-overlays-browser-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-overlays-browser-mocks'] --- import kbnCoreOverlaysBrowserMocksObj from './kbn_core_overlays_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_browser.mdx b/api_docs/kbn_core_plugins_browser.mdx index c3d9c7f07f523..138e3c150fc0c 100644 --- a/api_docs/kbn_core_plugins_browser.mdx +++ b/api_docs/kbn_core_plugins_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-browser title: "@kbn/core-plugins-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-browser plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-browser'] --- import kbnCorePluginsBrowserObj from './kbn_core_plugins_browser.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_browser_mocks.mdx b/api_docs/kbn_core_plugins_browser_mocks.mdx index ec62a319db3d5..a0b8534e16736 100644 --- a/api_docs/kbn_core_plugins_browser_mocks.mdx +++ b/api_docs/kbn_core_plugins_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-browser-mocks title: "@kbn/core-plugins-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-browser-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-browser-mocks'] --- import kbnCorePluginsBrowserMocksObj from './kbn_core_plugins_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_server.mdx b/api_docs/kbn_core_plugins_server.mdx index 750479149fed7..8f9ee37318a4a 100644 --- a/api_docs/kbn_core_plugins_server.mdx +++ b/api_docs/kbn_core_plugins_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-server title: "@kbn/core-plugins-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-server plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-server'] --- import kbnCorePluginsServerObj from './kbn_core_plugins_server.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_server_mocks.mdx b/api_docs/kbn_core_plugins_server_mocks.mdx index 7d49520aa896d..0b67b76991d17 100644 --- a/api_docs/kbn_core_plugins_server_mocks.mdx +++ b/api_docs/kbn_core_plugins_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-server-mocks title: "@kbn/core-plugins-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-server-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-server-mocks'] --- import kbnCorePluginsServerMocksObj from './kbn_core_plugins_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_preboot_server.mdx b/api_docs/kbn_core_preboot_server.mdx index 50717f04ad56b..6f8b86b4177dc 100644 --- a/api_docs/kbn_core_preboot_server.mdx +++ b/api_docs/kbn_core_preboot_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-preboot-server title: "@kbn/core-preboot-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-preboot-server plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-preboot-server'] --- import kbnCorePrebootServerObj from './kbn_core_preboot_server.devdocs.json'; diff --git a/api_docs/kbn_core_preboot_server_mocks.mdx b/api_docs/kbn_core_preboot_server_mocks.mdx index 533569ce1c36a..8642b82249e1d 100644 --- a/api_docs/kbn_core_preboot_server_mocks.mdx +++ b/api_docs/kbn_core_preboot_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-preboot-server-mocks title: "@kbn/core-preboot-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-preboot-server-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-preboot-server-mocks'] --- import kbnCorePrebootServerMocksObj from './kbn_core_preboot_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_rendering_browser_mocks.mdx b/api_docs/kbn_core_rendering_browser_mocks.mdx index 2bc14e07b216c..07b14cb75756e 100644 --- a/api_docs/kbn_core_rendering_browser_mocks.mdx +++ b/api_docs/kbn_core_rendering_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-rendering-browser-mocks title: "@kbn/core-rendering-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-rendering-browser-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-rendering-browser-mocks'] --- import kbnCoreRenderingBrowserMocksObj from './kbn_core_rendering_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_rendering_server_internal.mdx b/api_docs/kbn_core_rendering_server_internal.mdx index e4e16364bd9d7..8d6479f158eb0 100644 --- a/api_docs/kbn_core_rendering_server_internal.mdx +++ b/api_docs/kbn_core_rendering_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-rendering-server-internal title: "@kbn/core-rendering-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-rendering-server-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-rendering-server-internal'] --- import kbnCoreRenderingServerInternalObj from './kbn_core_rendering_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_rendering_server_mocks.mdx b/api_docs/kbn_core_rendering_server_mocks.mdx index 540371de2e74b..a7101cba744c8 100644 --- a/api_docs/kbn_core_rendering_server_mocks.mdx +++ b/api_docs/kbn_core_rendering_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-rendering-server-mocks title: "@kbn/core-rendering-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-rendering-server-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-rendering-server-mocks'] --- import kbnCoreRenderingServerMocksObj from './kbn_core_rendering_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_root_server_internal.mdx b/api_docs/kbn_core_root_server_internal.mdx index 40a4cf22ded1e..c14a42184ab49 100644 --- a/api_docs/kbn_core_root_server_internal.mdx +++ b/api_docs/kbn_core_root_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-root-server-internal title: "@kbn/core-root-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-root-server-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-root-server-internal'] --- import kbnCoreRootServerInternalObj from './kbn_core_root_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_api_browser.mdx b/api_docs/kbn_core_saved_objects_api_browser.mdx index abf9d8b066fef..75576bcc2fa7f 100644 --- a/api_docs/kbn_core_saved_objects_api_browser.mdx +++ b/api_docs/kbn_core_saved_objects_api_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-api-browser title: "@kbn/core-saved-objects-api-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-api-browser plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-api-browser'] --- import kbnCoreSavedObjectsApiBrowserObj from './kbn_core_saved_objects_api_browser.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_api_server.mdx b/api_docs/kbn_core_saved_objects_api_server.mdx index 445570339188b..6d3542992d454 100644 --- a/api_docs/kbn_core_saved_objects_api_server.mdx +++ b/api_docs/kbn_core_saved_objects_api_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-api-server title: "@kbn/core-saved-objects-api-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-api-server plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-api-server'] --- import kbnCoreSavedObjectsApiServerObj from './kbn_core_saved_objects_api_server.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_api_server_mocks.mdx b/api_docs/kbn_core_saved_objects_api_server_mocks.mdx index c7b362b597c44..963f59efab475 100644 --- a/api_docs/kbn_core_saved_objects_api_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_api_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-api-server-mocks title: "@kbn/core-saved-objects-api-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-api-server-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-api-server-mocks'] --- import kbnCoreSavedObjectsApiServerMocksObj from './kbn_core_saved_objects_api_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_base_server_internal.mdx b/api_docs/kbn_core_saved_objects_base_server_internal.mdx index 8a2c5301568b9..39eccbb38aefe 100644 --- a/api_docs/kbn_core_saved_objects_base_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_base_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-base-server-internal title: "@kbn/core-saved-objects-base-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-base-server-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-base-server-internal'] --- import kbnCoreSavedObjectsBaseServerInternalObj from './kbn_core_saved_objects_base_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_base_server_mocks.mdx b/api_docs/kbn_core_saved_objects_base_server_mocks.mdx index 4e3975b725d58..6bc6815fd1f55 100644 --- a/api_docs/kbn_core_saved_objects_base_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_base_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-base-server-mocks title: "@kbn/core-saved-objects-base-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-base-server-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-base-server-mocks'] --- import kbnCoreSavedObjectsBaseServerMocksObj from './kbn_core_saved_objects_base_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_browser.mdx b/api_docs/kbn_core_saved_objects_browser.mdx index e49b46e9aeae0..a6f5b2deac45c 100644 --- a/api_docs/kbn_core_saved_objects_browser.mdx +++ b/api_docs/kbn_core_saved_objects_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-browser title: "@kbn/core-saved-objects-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-browser plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-browser'] --- import kbnCoreSavedObjectsBrowserObj from './kbn_core_saved_objects_browser.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_browser_internal.mdx b/api_docs/kbn_core_saved_objects_browser_internal.mdx index dff0b99762170..1ff0d64a34a01 100644 --- a/api_docs/kbn_core_saved_objects_browser_internal.mdx +++ b/api_docs/kbn_core_saved_objects_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-browser-internal title: "@kbn/core-saved-objects-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-browser-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-browser-internal'] --- import kbnCoreSavedObjectsBrowserInternalObj from './kbn_core_saved_objects_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_browser_mocks.mdx b/api_docs/kbn_core_saved_objects_browser_mocks.mdx index 20e4c4a88df88..2a087961fb44f 100644 --- a/api_docs/kbn_core_saved_objects_browser_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-browser-mocks title: "@kbn/core-saved-objects-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-browser-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-browser-mocks'] --- import kbnCoreSavedObjectsBrowserMocksObj from './kbn_core_saved_objects_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_common.mdx b/api_docs/kbn_core_saved_objects_common.mdx index acbf27dd2bee6..a40cc0f537ea6 100644 --- a/api_docs/kbn_core_saved_objects_common.mdx +++ b/api_docs/kbn_core_saved_objects_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-common title: "@kbn/core-saved-objects-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-common plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-common'] --- import kbnCoreSavedObjectsCommonObj from './kbn_core_saved_objects_common.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx b/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx index 8c955dd881ae4..4c85eedea0370 100644 --- a/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-import-export-server-internal title: "@kbn/core-saved-objects-import-export-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-import-export-server-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-import-export-server-internal'] --- import kbnCoreSavedObjectsImportExportServerInternalObj from './kbn_core_saved_objects_import_export_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx b/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx index 03408e52687c9..88a7f5bc1e2bc 100644 --- a/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-import-export-server-mocks title: "@kbn/core-saved-objects-import-export-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-import-export-server-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-import-export-server-mocks'] --- import kbnCoreSavedObjectsImportExportServerMocksObj from './kbn_core_saved_objects_import_export_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_migration_server_internal.mdx b/api_docs/kbn_core_saved_objects_migration_server_internal.mdx index 5ec61e50855ea..9f2e8cd230a89 100644 --- a/api_docs/kbn_core_saved_objects_migration_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_migration_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-migration-server-internal title: "@kbn/core-saved-objects-migration-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-migration-server-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-migration-server-internal'] --- import kbnCoreSavedObjectsMigrationServerInternalObj from './kbn_core_saved_objects_migration_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx b/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx index b3315dacc6801..60a8428e2d669 100644 --- a/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-migration-server-mocks title: "@kbn/core-saved-objects-migration-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-migration-server-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-migration-server-mocks'] --- import kbnCoreSavedObjectsMigrationServerMocksObj from './kbn_core_saved_objects_migration_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_server.mdx b/api_docs/kbn_core_saved_objects_server.mdx index 88a78f577891d..5209b2ddaa749 100644 --- a/api_docs/kbn_core_saved_objects_server.mdx +++ b/api_docs/kbn_core_saved_objects_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-server title: "@kbn/core-saved-objects-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-server plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-server'] --- import kbnCoreSavedObjectsServerObj from './kbn_core_saved_objects_server.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_server_internal.mdx b/api_docs/kbn_core_saved_objects_server_internal.mdx index 8514a50b4d946..76ce2289c30eb 100644 --- a/api_docs/kbn_core_saved_objects_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-server-internal title: "@kbn/core-saved-objects-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-server-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-server-internal'] --- import kbnCoreSavedObjectsServerInternalObj from './kbn_core_saved_objects_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_server_mocks.mdx b/api_docs/kbn_core_saved_objects_server_mocks.mdx index 63dd9fac0c554..27395d72eb534 100644 --- a/api_docs/kbn_core_saved_objects_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-server-mocks title: "@kbn/core-saved-objects-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-server-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-server-mocks'] --- import kbnCoreSavedObjectsServerMocksObj from './kbn_core_saved_objects_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_utils_server.mdx b/api_docs/kbn_core_saved_objects_utils_server.mdx index c4ee5b42b247b..46c9b5c2e3ac6 100644 --- a/api_docs/kbn_core_saved_objects_utils_server.mdx +++ b/api_docs/kbn_core_saved_objects_utils_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-utils-server title: "@kbn/core-saved-objects-utils-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-utils-server plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-utils-server'] --- import kbnCoreSavedObjectsUtilsServerObj from './kbn_core_saved_objects_utils_server.devdocs.json'; diff --git a/api_docs/kbn_core_status_common.mdx b/api_docs/kbn_core_status_common.mdx index cc2546ee00b6e..72a1871c96339 100644 --- a/api_docs/kbn_core_status_common.mdx +++ b/api_docs/kbn_core_status_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-common title: "@kbn/core-status-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-common plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-common'] --- import kbnCoreStatusCommonObj from './kbn_core_status_common.devdocs.json'; diff --git a/api_docs/kbn_core_status_common_internal.mdx b/api_docs/kbn_core_status_common_internal.mdx index 3043175953dfd..e1ab911c1fbdd 100644 --- a/api_docs/kbn_core_status_common_internal.mdx +++ b/api_docs/kbn_core_status_common_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-common-internal title: "@kbn/core-status-common-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-common-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-common-internal'] --- import kbnCoreStatusCommonInternalObj from './kbn_core_status_common_internal.devdocs.json'; diff --git a/api_docs/kbn_core_status_server.mdx b/api_docs/kbn_core_status_server.mdx index ac3f6cd3cde00..0ddeffbb06610 100644 --- a/api_docs/kbn_core_status_server.mdx +++ b/api_docs/kbn_core_status_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-server title: "@kbn/core-status-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-server plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-server'] --- import kbnCoreStatusServerObj from './kbn_core_status_server.devdocs.json'; diff --git a/api_docs/kbn_core_status_server_internal.mdx b/api_docs/kbn_core_status_server_internal.mdx index c97ee6c6e3901..046dde8ec85cd 100644 --- a/api_docs/kbn_core_status_server_internal.mdx +++ b/api_docs/kbn_core_status_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-server-internal title: "@kbn/core-status-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-server-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-server-internal'] --- import kbnCoreStatusServerInternalObj from './kbn_core_status_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_status_server_mocks.mdx b/api_docs/kbn_core_status_server_mocks.mdx index 18101fbdc4c6a..88feaa6d5bee0 100644 --- a/api_docs/kbn_core_status_server_mocks.mdx +++ b/api_docs/kbn_core_status_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-server-mocks title: "@kbn/core-status-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-server-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-server-mocks'] --- import kbnCoreStatusServerMocksObj from './kbn_core_status_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_deprecations_getters.mdx b/api_docs/kbn_core_test_helpers_deprecations_getters.mdx index 3a56072e09cfd..dfe8a2750f42a 100644 --- a/api_docs/kbn_core_test_helpers_deprecations_getters.mdx +++ b/api_docs/kbn_core_test_helpers_deprecations_getters.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-deprecations-getters title: "@kbn/core-test-helpers-deprecations-getters" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-deprecations-getters plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-deprecations-getters'] --- import kbnCoreTestHelpersDeprecationsGettersObj from './kbn_core_test_helpers_deprecations_getters.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_http_setup_browser.mdx b/api_docs/kbn_core_test_helpers_http_setup_browser.mdx index 62b15f048f46e..e002f180a6621 100644 --- a/api_docs/kbn_core_test_helpers_http_setup_browser.mdx +++ b/api_docs/kbn_core_test_helpers_http_setup_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-http-setup-browser title: "@kbn/core-test-helpers-http-setup-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-http-setup-browser plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-http-setup-browser'] --- import kbnCoreTestHelpersHttpSetupBrowserObj from './kbn_core_test_helpers_http_setup_browser.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_kbn_server.mdx b/api_docs/kbn_core_test_helpers_kbn_server.mdx index 4de09c81c2467..62cd44943a8f6 100644 --- a/api_docs/kbn_core_test_helpers_kbn_server.mdx +++ b/api_docs/kbn_core_test_helpers_kbn_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-kbn-server title: "@kbn/core-test-helpers-kbn-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-kbn-server plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-kbn-server'] --- import kbnCoreTestHelpersKbnServerObj from './kbn_core_test_helpers_kbn_server.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_so_type_serializer.mdx b/api_docs/kbn_core_test_helpers_so_type_serializer.mdx index 50658c724fe44..60bbe06d97830 100644 --- a/api_docs/kbn_core_test_helpers_so_type_serializer.mdx +++ b/api_docs/kbn_core_test_helpers_so_type_serializer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-so-type-serializer title: "@kbn/core-test-helpers-so-type-serializer" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-so-type-serializer plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-so-type-serializer'] --- import kbnCoreTestHelpersSoTypeSerializerObj from './kbn_core_test_helpers_so_type_serializer.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_test_utils.mdx b/api_docs/kbn_core_test_helpers_test_utils.mdx index d99e35c6b25d7..b7ae8cb879a8c 100644 --- a/api_docs/kbn_core_test_helpers_test_utils.mdx +++ b/api_docs/kbn_core_test_helpers_test_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-test-utils title: "@kbn/core-test-helpers-test-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-test-utils plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-test-utils'] --- import kbnCoreTestHelpersTestUtilsObj from './kbn_core_test_helpers_test_utils.devdocs.json'; diff --git a/api_docs/kbn_core_theme_browser.mdx b/api_docs/kbn_core_theme_browser.mdx index 4d87680e023e0..2b84287cfd62a 100644 --- a/api_docs/kbn_core_theme_browser.mdx +++ b/api_docs/kbn_core_theme_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-theme-browser title: "@kbn/core-theme-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-theme-browser plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-theme-browser'] --- import kbnCoreThemeBrowserObj from './kbn_core_theme_browser.devdocs.json'; diff --git a/api_docs/kbn_core_theme_browser_internal.mdx b/api_docs/kbn_core_theme_browser_internal.mdx index 65bcf6fa2c6d8..5e2d5d6d4da16 100644 --- a/api_docs/kbn_core_theme_browser_internal.mdx +++ b/api_docs/kbn_core_theme_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-theme-browser-internal title: "@kbn/core-theme-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-theme-browser-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-theme-browser-internal'] --- import kbnCoreThemeBrowserInternalObj from './kbn_core_theme_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_theme_browser_mocks.mdx b/api_docs/kbn_core_theme_browser_mocks.mdx index 51b1e05bae400..4160511de748a 100644 --- a/api_docs/kbn_core_theme_browser_mocks.mdx +++ b/api_docs/kbn_core_theme_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-theme-browser-mocks title: "@kbn/core-theme-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-theme-browser-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-theme-browser-mocks'] --- import kbnCoreThemeBrowserMocksObj from './kbn_core_theme_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_browser.mdx b/api_docs/kbn_core_ui_settings_browser.mdx index 16cd20f3f0c52..48aa890d1f251 100644 --- a/api_docs/kbn_core_ui_settings_browser.mdx +++ b/api_docs/kbn_core_ui_settings_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-browser title: "@kbn/core-ui-settings-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-browser plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-browser'] --- import kbnCoreUiSettingsBrowserObj from './kbn_core_ui_settings_browser.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_browser_internal.mdx b/api_docs/kbn_core_ui_settings_browser_internal.mdx index a8de5e5d5fcef..9ef298259847e 100644 --- a/api_docs/kbn_core_ui_settings_browser_internal.mdx +++ b/api_docs/kbn_core_ui_settings_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-browser-internal title: "@kbn/core-ui-settings-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-browser-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-browser-internal'] --- import kbnCoreUiSettingsBrowserInternalObj from './kbn_core_ui_settings_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_browser_mocks.mdx b/api_docs/kbn_core_ui_settings_browser_mocks.mdx index 5c6ba1704dbfb..b3ff8683276d0 100644 --- a/api_docs/kbn_core_ui_settings_browser_mocks.mdx +++ b/api_docs/kbn_core_ui_settings_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-browser-mocks title: "@kbn/core-ui-settings-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-browser-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-browser-mocks'] --- import kbnCoreUiSettingsBrowserMocksObj from './kbn_core_ui_settings_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_common.mdx b/api_docs/kbn_core_ui_settings_common.mdx index ec4c340a14cf6..5754bac84f36a 100644 --- a/api_docs/kbn_core_ui_settings_common.mdx +++ b/api_docs/kbn_core_ui_settings_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-common title: "@kbn/core-ui-settings-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-common plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-common'] --- import kbnCoreUiSettingsCommonObj from './kbn_core_ui_settings_common.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_server.mdx b/api_docs/kbn_core_ui_settings_server.mdx index 8175442173cb9..61066c415c5db 100644 --- a/api_docs/kbn_core_ui_settings_server.mdx +++ b/api_docs/kbn_core_ui_settings_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-server title: "@kbn/core-ui-settings-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-server plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-server'] --- import kbnCoreUiSettingsServerObj from './kbn_core_ui_settings_server.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_server_internal.mdx b/api_docs/kbn_core_ui_settings_server_internal.mdx index 22fa49b318d90..3557beb014c0e 100644 --- a/api_docs/kbn_core_ui_settings_server_internal.mdx +++ b/api_docs/kbn_core_ui_settings_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-server-internal title: "@kbn/core-ui-settings-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-server-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-server-internal'] --- import kbnCoreUiSettingsServerInternalObj from './kbn_core_ui_settings_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_server_mocks.mdx b/api_docs/kbn_core_ui_settings_server_mocks.mdx index 373b288cc72fa..3717beafe8cfc 100644 --- a/api_docs/kbn_core_ui_settings_server_mocks.mdx +++ b/api_docs/kbn_core_ui_settings_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-server-mocks title: "@kbn/core-ui-settings-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-server-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-server-mocks'] --- import kbnCoreUiSettingsServerMocksObj from './kbn_core_ui_settings_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_usage_data_server.mdx b/api_docs/kbn_core_usage_data_server.mdx index 2c59177c7b21d..60885b2979880 100644 --- a/api_docs/kbn_core_usage_data_server.mdx +++ b/api_docs/kbn_core_usage_data_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-usage-data-server title: "@kbn/core-usage-data-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-usage-data-server plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-usage-data-server'] --- import kbnCoreUsageDataServerObj from './kbn_core_usage_data_server.devdocs.json'; diff --git a/api_docs/kbn_core_usage_data_server_internal.mdx b/api_docs/kbn_core_usage_data_server_internal.mdx index d96001e8d4eaa..9ee9a4e162e6b 100644 --- a/api_docs/kbn_core_usage_data_server_internal.mdx +++ b/api_docs/kbn_core_usage_data_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-usage-data-server-internal title: "@kbn/core-usage-data-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-usage-data-server-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-usage-data-server-internal'] --- import kbnCoreUsageDataServerInternalObj from './kbn_core_usage_data_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_usage_data_server_mocks.mdx b/api_docs/kbn_core_usage_data_server_mocks.mdx index 0fb8c70cd8d9f..c582d504f27ae 100644 --- a/api_docs/kbn_core_usage_data_server_mocks.mdx +++ b/api_docs/kbn_core_usage_data_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-usage-data-server-mocks title: "@kbn/core-usage-data-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-usage-data-server-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-usage-data-server-mocks'] --- import kbnCoreUsageDataServerMocksObj from './kbn_core_usage_data_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_user_settings_server.mdx b/api_docs/kbn_core_user_settings_server.mdx index 238ae61a501b0..c158a913ad5fe 100644 --- a/api_docs/kbn_core_user_settings_server.mdx +++ b/api_docs/kbn_core_user_settings_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-settings-server title: "@kbn/core-user-settings-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-user-settings-server plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-settings-server'] --- import kbnCoreUserSettingsServerObj from './kbn_core_user_settings_server.devdocs.json'; diff --git a/api_docs/kbn_core_user_settings_server_internal.mdx b/api_docs/kbn_core_user_settings_server_internal.mdx index c00c5fbd8cf13..dee69bdfbf0b0 100644 --- a/api_docs/kbn_core_user_settings_server_internal.mdx +++ b/api_docs/kbn_core_user_settings_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-settings-server-internal title: "@kbn/core-user-settings-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-user-settings-server-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-settings-server-internal'] --- import kbnCoreUserSettingsServerInternalObj from './kbn_core_user_settings_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_user_settings_server_mocks.mdx b/api_docs/kbn_core_user_settings_server_mocks.mdx index 8c31623fabfff..fac7351606210 100644 --- a/api_docs/kbn_core_user_settings_server_mocks.mdx +++ b/api_docs/kbn_core_user_settings_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-settings-server-mocks title: "@kbn/core-user-settings-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-user-settings-server-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-settings-server-mocks'] --- import kbnCoreUserSettingsServerMocksObj from './kbn_core_user_settings_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_crypto.mdx b/api_docs/kbn_crypto.mdx index b0a1de5b5af59..f1817d2748f13 100644 --- a/api_docs/kbn_crypto.mdx +++ b/api_docs/kbn_crypto.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-crypto title: "@kbn/crypto" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/crypto plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/crypto'] --- import kbnCryptoObj from './kbn_crypto.devdocs.json'; diff --git a/api_docs/kbn_crypto_browser.mdx b/api_docs/kbn_crypto_browser.mdx index 8aec175e147d0..4e3e6408f5378 100644 --- a/api_docs/kbn_crypto_browser.mdx +++ b/api_docs/kbn_crypto_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-crypto-browser title: "@kbn/crypto-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/crypto-browser plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/crypto-browser'] --- import kbnCryptoBrowserObj from './kbn_crypto_browser.devdocs.json'; diff --git a/api_docs/kbn_cypress_config.mdx b/api_docs/kbn_cypress_config.mdx index fdfe2b09019e0..50263e3485ffb 100644 --- a/api_docs/kbn_cypress_config.mdx +++ b/api_docs/kbn_cypress_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cypress-config title: "@kbn/cypress-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cypress-config plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cypress-config'] --- import kbnCypressConfigObj from './kbn_cypress_config.devdocs.json'; diff --git a/api_docs/kbn_data_service.mdx b/api_docs/kbn_data_service.mdx index e56fb02b0c363..09c4f31520d1d 100644 --- a/api_docs/kbn_data_service.mdx +++ b/api_docs/kbn_data_service.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-data-service title: "@kbn/data-service" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/data-service plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/data-service'] --- import kbnDataServiceObj from './kbn_data_service.devdocs.json'; diff --git a/api_docs/kbn_datemath.mdx b/api_docs/kbn_datemath.mdx index 145528d256c47..51ffd7d6ef6fe 100644 --- a/api_docs/kbn_datemath.mdx +++ b/api_docs/kbn_datemath.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-datemath title: "@kbn/datemath" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/datemath plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/datemath'] --- import kbnDatemathObj from './kbn_datemath.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_analytics.mdx b/api_docs/kbn_deeplinks_analytics.mdx index 73b3d5b61c823..c59b1a5aaa1ff 100644 --- a/api_docs/kbn_deeplinks_analytics.mdx +++ b/api_docs/kbn_deeplinks_analytics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-analytics title: "@kbn/deeplinks-analytics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-analytics plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-analytics'] --- import kbnDeeplinksAnalyticsObj from './kbn_deeplinks_analytics.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_devtools.mdx b/api_docs/kbn_deeplinks_devtools.mdx index c2c616b165bc5..86db0bd134e5a 100644 --- a/api_docs/kbn_deeplinks_devtools.mdx +++ b/api_docs/kbn_deeplinks_devtools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-devtools title: "@kbn/deeplinks-devtools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-devtools plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-devtools'] --- import kbnDeeplinksDevtoolsObj from './kbn_deeplinks_devtools.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_management.mdx b/api_docs/kbn_deeplinks_management.mdx index 503876303ca6b..a06bcd2d66016 100644 --- a/api_docs/kbn_deeplinks_management.mdx +++ b/api_docs/kbn_deeplinks_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-management title: "@kbn/deeplinks-management" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-management plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-management'] --- import kbnDeeplinksManagementObj from './kbn_deeplinks_management.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_ml.mdx b/api_docs/kbn_deeplinks_ml.mdx index 5ca3ac071fc5a..032dd494fee18 100644 --- a/api_docs/kbn_deeplinks_ml.mdx +++ b/api_docs/kbn_deeplinks_ml.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-ml title: "@kbn/deeplinks-ml" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-ml plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-ml'] --- import kbnDeeplinksMlObj from './kbn_deeplinks_ml.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_observability.mdx b/api_docs/kbn_deeplinks_observability.mdx index cf455bca54e38..496e12b766576 100644 --- a/api_docs/kbn_deeplinks_observability.mdx +++ b/api_docs/kbn_deeplinks_observability.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-observability title: "@kbn/deeplinks-observability" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-observability plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-observability'] --- import kbnDeeplinksObservabilityObj from './kbn_deeplinks_observability.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_search.mdx b/api_docs/kbn_deeplinks_search.mdx index 8cac3543b1027..66d43dbecafc4 100644 --- a/api_docs/kbn_deeplinks_search.mdx +++ b/api_docs/kbn_deeplinks_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-search title: "@kbn/deeplinks-search" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-search plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-search'] --- import kbnDeeplinksSearchObj from './kbn_deeplinks_search.devdocs.json'; diff --git a/api_docs/kbn_default_nav_analytics.mdx b/api_docs/kbn_default_nav_analytics.mdx index c72dd47253f74..178aa9ff65159 100644 --- a/api_docs/kbn_default_nav_analytics.mdx +++ b/api_docs/kbn_default_nav_analytics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-analytics title: "@kbn/default-nav-analytics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-analytics plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-analytics'] --- import kbnDefaultNavAnalyticsObj from './kbn_default_nav_analytics.devdocs.json'; diff --git a/api_docs/kbn_default_nav_devtools.mdx b/api_docs/kbn_default_nav_devtools.mdx index 14eea9458925b..5ab785899229e 100644 --- a/api_docs/kbn_default_nav_devtools.mdx +++ b/api_docs/kbn_default_nav_devtools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-devtools title: "@kbn/default-nav-devtools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-devtools plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-devtools'] --- import kbnDefaultNavDevtoolsObj from './kbn_default_nav_devtools.devdocs.json'; diff --git a/api_docs/kbn_default_nav_management.mdx b/api_docs/kbn_default_nav_management.mdx index 31f1489f110be..8afbb4ba9e872 100644 --- a/api_docs/kbn_default_nav_management.mdx +++ b/api_docs/kbn_default_nav_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-management title: "@kbn/default-nav-management" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-management plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-management'] --- import kbnDefaultNavManagementObj from './kbn_default_nav_management.devdocs.json'; diff --git a/api_docs/kbn_default_nav_ml.mdx b/api_docs/kbn_default_nav_ml.mdx index 435c434182642..4089fa7214f3f 100644 --- a/api_docs/kbn_default_nav_ml.mdx +++ b/api_docs/kbn_default_nav_ml.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-ml title: "@kbn/default-nav-ml" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-ml plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-ml'] --- import kbnDefaultNavMlObj from './kbn_default_nav_ml.devdocs.json'; diff --git a/api_docs/kbn_dev_cli_errors.mdx b/api_docs/kbn_dev_cli_errors.mdx index 9a446ec2f4266..2ae0cb5a98526 100644 --- a/api_docs/kbn_dev_cli_errors.mdx +++ b/api_docs/kbn_dev_cli_errors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-cli-errors title: "@kbn/dev-cli-errors" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-cli-errors plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dev-cli-errors'] --- import kbnDevCliErrorsObj from './kbn_dev_cli_errors.devdocs.json'; diff --git a/api_docs/kbn_dev_cli_runner.mdx b/api_docs/kbn_dev_cli_runner.mdx index 108b57349a132..2fe2e5abdd2b6 100644 --- a/api_docs/kbn_dev_cli_runner.mdx +++ b/api_docs/kbn_dev_cli_runner.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-cli-runner title: "@kbn/dev-cli-runner" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-cli-runner plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dev-cli-runner'] --- import kbnDevCliRunnerObj from './kbn_dev_cli_runner.devdocs.json'; diff --git a/api_docs/kbn_dev_proc_runner.mdx b/api_docs/kbn_dev_proc_runner.mdx index 17492c16f1e3a..a46aa9747f4bb 100644 --- a/api_docs/kbn_dev_proc_runner.mdx +++ b/api_docs/kbn_dev_proc_runner.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-proc-runner title: "@kbn/dev-proc-runner" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-proc-runner plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dev-proc-runner'] --- import kbnDevProcRunnerObj from './kbn_dev_proc_runner.devdocs.json'; diff --git a/api_docs/kbn_dev_utils.mdx b/api_docs/kbn_dev_utils.mdx index 2058fa074df2a..4585f5652f61f 100644 --- a/api_docs/kbn_dev_utils.mdx +++ b/api_docs/kbn_dev_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-utils title: "@kbn/dev-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-utils plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dev-utils'] --- import kbnDevUtilsObj from './kbn_dev_utils.devdocs.json'; diff --git a/api_docs/kbn_discover_utils.devdocs.json b/api_docs/kbn_discover_utils.devdocs.json new file mode 100644 index 0000000000000..c17b301887dad --- /dev/null +++ b/api_docs/kbn_discover_utils.devdocs.json @@ -0,0 +1,229 @@ +{ + "id": "@kbn/discover-utils", + "client": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { + "classes": [], + "functions": [ + { + "parentPluginId": "@kbn/discover-utils", + "id": "def-common.buildDataTableRecord", + "type": "Function", + "tags": [], + "label": "buildDataTableRecord", + "description": [ + "\nBuild a record for data table, explorer + classic one" + ], + "signature": [ + "(doc: ", + "EsHitRecord", + ", dataView: ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataView", + "text": "DataView" + }, + " | undefined, isAnchor: boolean | undefined) => ", + "DataTableRecord" + ], + "path": "packages/kbn-discover-utils/src/utils/build_data_record.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/discover-utils", + "id": "def-common.buildDataTableRecord.$1", + "type": "Object", + "tags": [], + "label": "doc", + "description": [ + "the document returned from Elasticsearch" + ], + "signature": [ + "EsHitRecord" + ], + "path": "packages/kbn-discover-utils/src/utils/build_data_record.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/discover-utils", + "id": "def-common.buildDataTableRecord.$2", + "type": "Object", + "tags": [], + "label": "dataView", + "description": [ + "this current data view" + ], + "signature": [ + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataView", + "text": "DataView" + }, + " | undefined" + ], + "path": "packages/kbn-discover-utils/src/utils/build_data_record.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + }, + { + "parentPluginId": "@kbn/discover-utils", + "id": "def-common.buildDataTableRecord.$3", + "type": "CompoundType", + "tags": [], + "label": "isAnchor", + "description": [ + "determines if the given doc is the anchor doc when viewing surrounding documents" + ], + "signature": [ + "boolean | undefined" + ], + "path": "packages/kbn-discover-utils/src/utils/build_data_record.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/discover-utils", + "id": "def-common.buildDataTableRecordList", + "type": "Function", + "tags": [], + "label": "buildDataTableRecordList", + "description": [ + "\nHelper to build multiple DataTableRecords at once, saved a bit of testing code lines" + ], + "signature": [ + "(docs: ", + "EsHitRecord", + "[], dataView: ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataView", + "text": "DataView" + }, + " | undefined) => ", + "DataTableRecord", + "[]" + ], + "path": "packages/kbn-discover-utils/src/utils/build_data_record.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/discover-utils", + "id": "def-common.buildDataTableRecordList.$1", + "type": "Array", + "tags": [], + "label": "docs", + "description": [ + "Array of documents returned from Elasticsearch" + ], + "signature": [ + "EsHitRecord", + "[]" + ], + "path": "packages/kbn-discover-utils/src/utils/build_data_record.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/discover-utils", + "id": "def-common.buildDataTableRecordList.$2", + "type": "Object", + "tags": [], + "label": "dataView", + "description": [ + "this current data view" + ], + "signature": [ + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataView", + "text": "DataView" + }, + " | undefined" + ], + "path": "packages/kbn-discover-utils/src/utils/build_data_record.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/discover-utils", + "id": "def-common.getDocId", + "type": "Function", + "tags": [], + "label": "getDocId", + "description": [ + "\nReturning a generated id of a given ES document, since `_id` can be the same\nwhen using different indices and shard routing" + ], + "signature": [ + "(doc: ", + "EsHitRecord", + " & { _routing?: string | undefined; }) => string" + ], + "path": "packages/kbn-discover-utils/src/utils/get_doc_id.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/discover-utils", + "id": "def-common.getDocId.$1", + "type": "CompoundType", + "tags": [], + "label": "doc", + "description": [], + "signature": [ + "EsHitRecord", + " & { _routing?: string | undefined; }" + ], + "path": "packages/kbn-discover-utils/src/utils/get_doc_id.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + } + ], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + } +} \ No newline at end of file diff --git a/api_docs/kbn_discover_utils.mdx b/api_docs/kbn_discover_utils.mdx new file mode 100644 index 0000000000000..a87c7f2939d28 --- /dev/null +++ b/api_docs/kbn_discover_utils.mdx @@ -0,0 +1,30 @@ +--- +#### +#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system. +#### Reach out in #docs-engineering for more info. +#### +id: kibKbnDiscoverUtilsPluginApi +slug: /kibana-dev-docs/api/kbn-discover-utils +title: "@kbn/discover-utils" +image: https://source.unsplash.com/400x175/?github +description: API docs for the @kbn/discover-utils plugin +date: 2023-07-19 +tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/discover-utils'] +--- +import kbnDiscoverUtilsObj from './kbn_discover_utils.devdocs.json'; + + + +Contact [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) for questions regarding this plugin. + +**Code health stats** + +| Public API count | Any count | Items lacking comments | Missing exports | +|-------------------|-----------|------------------------|-----------------| +| 9 | 0 | 1 | 2 | + +## Common + +### Functions + + diff --git a/api_docs/kbn_doc_links.mdx b/api_docs/kbn_doc_links.mdx index 26bdea6148221..8a8edf016d9b5 100644 --- a/api_docs/kbn_doc_links.mdx +++ b/api_docs/kbn_doc_links.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-doc-links title: "@kbn/doc-links" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/doc-links plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/doc-links'] --- import kbnDocLinksObj from './kbn_doc_links.devdocs.json'; diff --git a/api_docs/kbn_docs_utils.mdx b/api_docs/kbn_docs_utils.mdx index 2f53e5ec81609..43e12cd0c5154 100644 --- a/api_docs/kbn_docs_utils.mdx +++ b/api_docs/kbn_docs_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-docs-utils title: "@kbn/docs-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/docs-utils plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/docs-utils'] --- import kbnDocsUtilsObj from './kbn_docs_utils.devdocs.json'; diff --git a/api_docs/kbn_dom_drag_drop.mdx b/api_docs/kbn_dom_drag_drop.mdx index 3f9fc374ccc2a..bb69015e41284 100644 --- a/api_docs/kbn_dom_drag_drop.mdx +++ b/api_docs/kbn_dom_drag_drop.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dom-drag-drop title: "@kbn/dom-drag-drop" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dom-drag-drop plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dom-drag-drop'] --- import kbnDomDragDropObj from './kbn_dom_drag_drop.devdocs.json'; diff --git a/api_docs/kbn_ebt_tools.mdx b/api_docs/kbn_ebt_tools.mdx index d27e70f7d915c..7c810a7bc4190 100644 --- a/api_docs/kbn_ebt_tools.mdx +++ b/api_docs/kbn_ebt_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ebt-tools title: "@kbn/ebt-tools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ebt-tools plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ebt-tools'] --- import kbnEbtToolsObj from './kbn_ebt_tools.devdocs.json'; diff --git a/api_docs/kbn_ecs.mdx b/api_docs/kbn_ecs.mdx index 4522207aceb37..51a5dbf79fa22 100644 --- a/api_docs/kbn_ecs.mdx +++ b/api_docs/kbn_ecs.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ecs title: "@kbn/ecs" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ecs plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ecs'] --- import kbnEcsObj from './kbn_ecs.devdocs.json'; diff --git a/api_docs/kbn_ecs_data_quality_dashboard.mdx b/api_docs/kbn_ecs_data_quality_dashboard.mdx index 0939eacafac3f..c45ce4e7ce227 100644 --- a/api_docs/kbn_ecs_data_quality_dashboard.mdx +++ b/api_docs/kbn_ecs_data_quality_dashboard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ecs-data-quality-dashboard title: "@kbn/ecs-data-quality-dashboard" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ecs-data-quality-dashboard plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ecs-data-quality-dashboard'] --- import kbnEcsDataQualityDashboardObj from './kbn_ecs_data_quality_dashboard.devdocs.json'; diff --git a/api_docs/kbn_elastic_assistant.mdx b/api_docs/kbn_elastic_assistant.mdx index c094e420ac63c..5ef4409238675 100644 --- a/api_docs/kbn_elastic_assistant.mdx +++ b/api_docs/kbn_elastic_assistant.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-elastic-assistant title: "@kbn/elastic-assistant" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/elastic-assistant plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/elastic-assistant'] --- import kbnElasticAssistantObj from './kbn_elastic_assistant.devdocs.json'; diff --git a/api_docs/kbn_es.mdx b/api_docs/kbn_es.mdx index 8cd3319d0a144..7cadc3163f303 100644 --- a/api_docs/kbn_es.mdx +++ b/api_docs/kbn_es.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es title: "@kbn/es" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es'] --- import kbnEsObj from './kbn_es.devdocs.json'; diff --git a/api_docs/kbn_es_archiver.mdx b/api_docs/kbn_es_archiver.mdx index 27a3e80c9a301..9863bb8da449b 100644 --- a/api_docs/kbn_es_archiver.mdx +++ b/api_docs/kbn_es_archiver.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-archiver title: "@kbn/es-archiver" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-archiver plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es-archiver'] --- import kbnEsArchiverObj from './kbn_es_archiver.devdocs.json'; diff --git a/api_docs/kbn_es_errors.mdx b/api_docs/kbn_es_errors.mdx index 917c281115ca9..90f498308e003 100644 --- a/api_docs/kbn_es_errors.mdx +++ b/api_docs/kbn_es_errors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-errors title: "@kbn/es-errors" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-errors plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es-errors'] --- import kbnEsErrorsObj from './kbn_es_errors.devdocs.json'; diff --git a/api_docs/kbn_es_query.mdx b/api_docs/kbn_es_query.mdx index 0cdc2fffbe4e9..b78f79efc78fd 100644 --- a/api_docs/kbn_es_query.mdx +++ b/api_docs/kbn_es_query.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-query title: "@kbn/es-query" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-query plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es-query'] --- import kbnEsQueryObj from './kbn_es_query.devdocs.json'; diff --git a/api_docs/kbn_es_types.mdx b/api_docs/kbn_es_types.mdx index 296353fb09f5d..e1a605f04590d 100644 --- a/api_docs/kbn_es_types.mdx +++ b/api_docs/kbn_es_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-types title: "@kbn/es-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-types plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es-types'] --- import kbnEsTypesObj from './kbn_es_types.devdocs.json'; diff --git a/api_docs/kbn_eslint_plugin_imports.mdx b/api_docs/kbn_eslint_plugin_imports.mdx index a7c8a29fe6e85..bcee188e3341a 100644 --- a/api_docs/kbn_eslint_plugin_imports.mdx +++ b/api_docs/kbn_eslint_plugin_imports.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-eslint-plugin-imports title: "@kbn/eslint-plugin-imports" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/eslint-plugin-imports plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/eslint-plugin-imports'] --- import kbnEslintPluginImportsObj from './kbn_eslint_plugin_imports.devdocs.json'; diff --git a/api_docs/kbn_expandable_flyout.mdx b/api_docs/kbn_expandable_flyout.mdx index 6d8621c0d4042..6db1086f130ac 100644 --- a/api_docs/kbn_expandable_flyout.mdx +++ b/api_docs/kbn_expandable_flyout.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-expandable-flyout title: "@kbn/expandable-flyout" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/expandable-flyout plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/expandable-flyout'] --- import kbnExpandableFlyoutObj from './kbn_expandable_flyout.devdocs.json'; diff --git a/api_docs/kbn_field_types.mdx b/api_docs/kbn_field_types.mdx index 6e1abf87c2821..33453c5108d8d 100644 --- a/api_docs/kbn_field_types.mdx +++ b/api_docs/kbn_field_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-field-types title: "@kbn/field-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/field-types plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/field-types'] --- import kbnFieldTypesObj from './kbn_field_types.devdocs.json'; diff --git a/api_docs/kbn_find_used_node_modules.mdx b/api_docs/kbn_find_used_node_modules.mdx index 7ae737f48afd0..96a96da5550b0 100644 --- a/api_docs/kbn_find_used_node_modules.mdx +++ b/api_docs/kbn_find_used_node_modules.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-find-used-node-modules title: "@kbn/find-used-node-modules" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/find-used-node-modules plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/find-used-node-modules'] --- import kbnFindUsedNodeModulesObj from './kbn_find_used_node_modules.devdocs.json'; diff --git a/api_docs/kbn_ftr_common_functional_services.mdx b/api_docs/kbn_ftr_common_functional_services.mdx index e2fc4a1a0bbd3..120036fb4d448 100644 --- a/api_docs/kbn_ftr_common_functional_services.mdx +++ b/api_docs/kbn_ftr_common_functional_services.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ftr-common-functional-services title: "@kbn/ftr-common-functional-services" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ftr-common-functional-services plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ftr-common-functional-services'] --- import kbnFtrCommonFunctionalServicesObj from './kbn_ftr_common_functional_services.devdocs.json'; diff --git a/api_docs/kbn_generate.mdx b/api_docs/kbn_generate.mdx index c313524e58a8f..ce5a3651af598 100644 --- a/api_docs/kbn_generate.mdx +++ b/api_docs/kbn_generate.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate title: "@kbn/generate" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate'] --- import kbnGenerateObj from './kbn_generate.devdocs.json'; diff --git a/api_docs/kbn_generate_console_definitions.mdx b/api_docs/kbn_generate_console_definitions.mdx index e94a78f083db3..a13fa98ed2e20 100644 --- a/api_docs/kbn_generate_console_definitions.mdx +++ b/api_docs/kbn_generate_console_definitions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate-console-definitions title: "@kbn/generate-console-definitions" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate-console-definitions plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate-console-definitions'] --- import kbnGenerateConsoleDefinitionsObj from './kbn_generate_console_definitions.devdocs.json'; diff --git a/api_docs/kbn_generate_csv.mdx b/api_docs/kbn_generate_csv.mdx index ac124430b754a..9c5f7981295c3 100644 --- a/api_docs/kbn_generate_csv.mdx +++ b/api_docs/kbn_generate_csv.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate-csv title: "@kbn/generate-csv" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate-csv plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate-csv'] --- import kbnGenerateCsvObj from './kbn_generate_csv.devdocs.json'; diff --git a/api_docs/kbn_generate_csv_types.mdx b/api_docs/kbn_generate_csv_types.mdx index 281d4ef2bff0b..130bd31dbd5ea 100644 --- a/api_docs/kbn_generate_csv_types.mdx +++ b/api_docs/kbn_generate_csv_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate-csv-types title: "@kbn/generate-csv-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate-csv-types plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate-csv-types'] --- import kbnGenerateCsvTypesObj from './kbn_generate_csv_types.devdocs.json'; diff --git a/api_docs/kbn_guided_onboarding.mdx b/api_docs/kbn_guided_onboarding.mdx index 6777af841ba76..6e4cc2a6b3d33 100644 --- a/api_docs/kbn_guided_onboarding.mdx +++ b/api_docs/kbn_guided_onboarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-guided-onboarding title: "@kbn/guided-onboarding" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/guided-onboarding plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/guided-onboarding'] --- import kbnGuidedOnboardingObj from './kbn_guided_onboarding.devdocs.json'; diff --git a/api_docs/kbn_handlebars.mdx b/api_docs/kbn_handlebars.mdx index d3ddc3033b172..d1d8548c9f5e3 100644 --- a/api_docs/kbn_handlebars.mdx +++ b/api_docs/kbn_handlebars.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-handlebars title: "@kbn/handlebars" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/handlebars plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/handlebars'] --- import kbnHandlebarsObj from './kbn_handlebars.devdocs.json'; diff --git a/api_docs/kbn_hapi_mocks.mdx b/api_docs/kbn_hapi_mocks.mdx index 967114b7c9816..83cbe6359c267 100644 --- a/api_docs/kbn_hapi_mocks.mdx +++ b/api_docs/kbn_hapi_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-hapi-mocks title: "@kbn/hapi-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/hapi-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/hapi-mocks'] --- import kbnHapiMocksObj from './kbn_hapi_mocks.devdocs.json'; diff --git a/api_docs/kbn_health_gateway_server.mdx b/api_docs/kbn_health_gateway_server.mdx index 60430aaca7c4d..6f0021af14d3b 100644 --- a/api_docs/kbn_health_gateway_server.mdx +++ b/api_docs/kbn_health_gateway_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-health-gateway-server title: "@kbn/health-gateway-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/health-gateway-server plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/health-gateway-server'] --- import kbnHealthGatewayServerObj from './kbn_health_gateway_server.devdocs.json'; diff --git a/api_docs/kbn_home_sample_data_card.mdx b/api_docs/kbn_home_sample_data_card.mdx index d8c753198de04..c4823ad78470c 100644 --- a/api_docs/kbn_home_sample_data_card.mdx +++ b/api_docs/kbn_home_sample_data_card.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-home-sample-data-card title: "@kbn/home-sample-data-card" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/home-sample-data-card plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/home-sample-data-card'] --- import kbnHomeSampleDataCardObj from './kbn_home_sample_data_card.devdocs.json'; diff --git a/api_docs/kbn_home_sample_data_tab.mdx b/api_docs/kbn_home_sample_data_tab.mdx index 791432038ecce..8ba0eb9ffd861 100644 --- a/api_docs/kbn_home_sample_data_tab.mdx +++ b/api_docs/kbn_home_sample_data_tab.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-home-sample-data-tab title: "@kbn/home-sample-data-tab" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/home-sample-data-tab plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/home-sample-data-tab'] --- import kbnHomeSampleDataTabObj from './kbn_home_sample_data_tab.devdocs.json'; diff --git a/api_docs/kbn_i18n.mdx b/api_docs/kbn_i18n.mdx index 570c5bba2b302..0db4961d076c8 100644 --- a/api_docs/kbn_i18n.mdx +++ b/api_docs/kbn_i18n.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-i18n title: "@kbn/i18n" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/i18n plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/i18n'] --- import kbnI18nObj from './kbn_i18n.devdocs.json'; diff --git a/api_docs/kbn_i18n_react.mdx b/api_docs/kbn_i18n_react.mdx index 65aad58cf21a5..28baafdd3c43e 100644 --- a/api_docs/kbn_i18n_react.mdx +++ b/api_docs/kbn_i18n_react.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-i18n-react title: "@kbn/i18n-react" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/i18n-react plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/i18n-react'] --- import kbnI18nReactObj from './kbn_i18n_react.devdocs.json'; diff --git a/api_docs/kbn_import_resolver.mdx b/api_docs/kbn_import_resolver.mdx index 715f96af8717f..49d8e08d4f553 100644 --- a/api_docs/kbn_import_resolver.mdx +++ b/api_docs/kbn_import_resolver.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-import-resolver title: "@kbn/import-resolver" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/import-resolver plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/import-resolver'] --- import kbnImportResolverObj from './kbn_import_resolver.devdocs.json'; diff --git a/api_docs/kbn_infra_forge.mdx b/api_docs/kbn_infra_forge.mdx index dcd5f433df565..0add72cd8425b 100644 --- a/api_docs/kbn_infra_forge.mdx +++ b/api_docs/kbn_infra_forge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-infra-forge title: "@kbn/infra-forge" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/infra-forge plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/infra-forge'] --- import kbnInfraForgeObj from './kbn_infra_forge.devdocs.json'; diff --git a/api_docs/kbn_interpreter.mdx b/api_docs/kbn_interpreter.mdx index 96b2b7ef31dac..7f7766b64d0ef 100644 --- a/api_docs/kbn_interpreter.mdx +++ b/api_docs/kbn_interpreter.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-interpreter title: "@kbn/interpreter" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/interpreter plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/interpreter'] --- import kbnInterpreterObj from './kbn_interpreter.devdocs.json'; diff --git a/api_docs/kbn_io_ts_utils.mdx b/api_docs/kbn_io_ts_utils.mdx index ffb3c34a2d652..c4b89d15e2c2b 100644 --- a/api_docs/kbn_io_ts_utils.mdx +++ b/api_docs/kbn_io_ts_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-io-ts-utils title: "@kbn/io-ts-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/io-ts-utils plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/io-ts-utils'] --- import kbnIoTsUtilsObj from './kbn_io_ts_utils.devdocs.json'; diff --git a/api_docs/kbn_jest_serializers.mdx b/api_docs/kbn_jest_serializers.mdx index 241ec3e2d6f12..4b41f88a88dd8 100644 --- a/api_docs/kbn_jest_serializers.mdx +++ b/api_docs/kbn_jest_serializers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-jest-serializers title: "@kbn/jest-serializers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/jest-serializers plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/jest-serializers'] --- import kbnJestSerializersObj from './kbn_jest_serializers.devdocs.json'; diff --git a/api_docs/kbn_journeys.mdx b/api_docs/kbn_journeys.mdx index 3575ee5cb37ac..ba1e401cec67f 100644 --- a/api_docs/kbn_journeys.mdx +++ b/api_docs/kbn_journeys.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-journeys title: "@kbn/journeys" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/journeys plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/journeys'] --- import kbnJourneysObj from './kbn_journeys.devdocs.json'; diff --git a/api_docs/kbn_json_ast.mdx b/api_docs/kbn_json_ast.mdx index b1bad1e325707..019ead53df78b 100644 --- a/api_docs/kbn_json_ast.mdx +++ b/api_docs/kbn_json_ast.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-json-ast title: "@kbn/json-ast" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/json-ast plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/json-ast'] --- import kbnJsonAstObj from './kbn_json_ast.devdocs.json'; diff --git a/api_docs/kbn_kibana_manifest_schema.mdx b/api_docs/kbn_kibana_manifest_schema.mdx index 51772e55e29c9..751447c6dbf25 100644 --- a/api_docs/kbn_kibana_manifest_schema.mdx +++ b/api_docs/kbn_kibana_manifest_schema.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-kibana-manifest-schema title: "@kbn/kibana-manifest-schema" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/kibana-manifest-schema plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/kibana-manifest-schema'] --- import kbnKibanaManifestSchemaObj from './kbn_kibana_manifest_schema.devdocs.json'; diff --git a/api_docs/kbn_language_documentation_popover.mdx b/api_docs/kbn_language_documentation_popover.mdx index 366e245a4a56a..2f38a0f4f2be7 100644 --- a/api_docs/kbn_language_documentation_popover.mdx +++ b/api_docs/kbn_language_documentation_popover.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-language-documentation-popover title: "@kbn/language-documentation-popover" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/language-documentation-popover plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/language-documentation-popover'] --- import kbnLanguageDocumentationPopoverObj from './kbn_language_documentation_popover.devdocs.json'; diff --git a/api_docs/kbn_logging.mdx b/api_docs/kbn_logging.mdx index 6340b91343b08..f87aadde5f901 100644 --- a/api_docs/kbn_logging.mdx +++ b/api_docs/kbn_logging.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-logging title: "@kbn/logging" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/logging plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/logging'] --- import kbnLoggingObj from './kbn_logging.devdocs.json'; diff --git a/api_docs/kbn_logging_mocks.mdx b/api_docs/kbn_logging_mocks.mdx index bb793014c1dcd..bb645c3a4a44b 100644 --- a/api_docs/kbn_logging_mocks.mdx +++ b/api_docs/kbn_logging_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-logging-mocks title: "@kbn/logging-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/logging-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/logging-mocks'] --- import kbnLoggingMocksObj from './kbn_logging_mocks.devdocs.json'; diff --git a/api_docs/kbn_managed_vscode_config.mdx b/api_docs/kbn_managed_vscode_config.mdx index a9858be70faa6..5ea5908447c64 100644 --- a/api_docs/kbn_managed_vscode_config.mdx +++ b/api_docs/kbn_managed_vscode_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-managed-vscode-config title: "@kbn/managed-vscode-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/managed-vscode-config plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/managed-vscode-config'] --- import kbnManagedVscodeConfigObj from './kbn_managed_vscode_config.devdocs.json'; diff --git a/api_docs/kbn_management_cards_navigation.mdx b/api_docs/kbn_management_cards_navigation.mdx index 5de1208541fd4..2cea418c6e29f 100644 --- a/api_docs/kbn_management_cards_navigation.mdx +++ b/api_docs/kbn_management_cards_navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-cards-navigation title: "@kbn/management-cards-navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-cards-navigation plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-cards-navigation'] --- import kbnManagementCardsNavigationObj from './kbn_management_cards_navigation.devdocs.json'; diff --git a/api_docs/kbn_management_storybook_config.mdx b/api_docs/kbn_management_storybook_config.mdx index 5c388698066b9..867f50f51ca27 100644 --- a/api_docs/kbn_management_storybook_config.mdx +++ b/api_docs/kbn_management_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-storybook-config title: "@kbn/management-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-storybook-config plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-storybook-config'] --- import kbnManagementStorybookConfigObj from './kbn_management_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_mapbox_gl.mdx b/api_docs/kbn_mapbox_gl.mdx index ea1b02a2bc783..b039e93e8123b 100644 --- a/api_docs/kbn_mapbox_gl.mdx +++ b/api_docs/kbn_mapbox_gl.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-mapbox-gl title: "@kbn/mapbox-gl" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/mapbox-gl plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/mapbox-gl'] --- import kbnMapboxGlObj from './kbn_mapbox_gl.devdocs.json'; diff --git a/api_docs/kbn_maps_vector_tile_utils.mdx b/api_docs/kbn_maps_vector_tile_utils.mdx index 2496b975e6f52..2a9cbfb937d92 100644 --- a/api_docs/kbn_maps_vector_tile_utils.mdx +++ b/api_docs/kbn_maps_vector_tile_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-maps-vector-tile-utils title: "@kbn/maps-vector-tile-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/maps-vector-tile-utils plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/maps-vector-tile-utils'] --- import kbnMapsVectorTileUtilsObj from './kbn_maps_vector_tile_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_agg_utils.mdx b/api_docs/kbn_ml_agg_utils.mdx index d21276b86474c..c540f4754dbda 100644 --- a/api_docs/kbn_ml_agg_utils.mdx +++ b/api_docs/kbn_ml_agg_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-agg-utils title: "@kbn/ml-agg-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-agg-utils plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-agg-utils'] --- import kbnMlAggUtilsObj from './kbn_ml_agg_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_anomaly_utils.mdx b/api_docs/kbn_ml_anomaly_utils.mdx index 19c1529e9262c..d6402449fd40f 100644 --- a/api_docs/kbn_ml_anomaly_utils.mdx +++ b/api_docs/kbn_ml_anomaly_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-anomaly-utils title: "@kbn/ml-anomaly-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-anomaly-utils plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-anomaly-utils'] --- import kbnMlAnomalyUtilsObj from './kbn_ml_anomaly_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_data_frame_analytics_utils.mdx b/api_docs/kbn_ml_data_frame_analytics_utils.mdx index 3bfbe00bf1b83..b6686e88dfc13 100644 --- a/api_docs/kbn_ml_data_frame_analytics_utils.mdx +++ b/api_docs/kbn_ml_data_frame_analytics_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-data-frame-analytics-utils title: "@kbn/ml-data-frame-analytics-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-data-frame-analytics-utils plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-data-frame-analytics-utils'] --- import kbnMlDataFrameAnalyticsUtilsObj from './kbn_ml_data_frame_analytics_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_data_grid.mdx b/api_docs/kbn_ml_data_grid.mdx index 8c8ffdf5d8671..311f5badd8a03 100644 --- a/api_docs/kbn_ml_data_grid.mdx +++ b/api_docs/kbn_ml_data_grid.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-data-grid title: "@kbn/ml-data-grid" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-data-grid plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-data-grid'] --- import kbnMlDataGridObj from './kbn_ml_data_grid.devdocs.json'; diff --git a/api_docs/kbn_ml_date_picker.mdx b/api_docs/kbn_ml_date_picker.mdx index 2850121a538a8..db99ed585f0ad 100644 --- a/api_docs/kbn_ml_date_picker.mdx +++ b/api_docs/kbn_ml_date_picker.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-date-picker title: "@kbn/ml-date-picker" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-date-picker plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-date-picker'] --- import kbnMlDatePickerObj from './kbn_ml_date_picker.devdocs.json'; diff --git a/api_docs/kbn_ml_date_utils.mdx b/api_docs/kbn_ml_date_utils.mdx index 7a0ae5a8021eb..f6419d0203627 100644 --- a/api_docs/kbn_ml_date_utils.mdx +++ b/api_docs/kbn_ml_date_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-date-utils title: "@kbn/ml-date-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-date-utils plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-date-utils'] --- import kbnMlDateUtilsObj from './kbn_ml_date_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_error_utils.mdx b/api_docs/kbn_ml_error_utils.mdx index 397520d54bec0..8bf3cac94ef89 100644 --- a/api_docs/kbn_ml_error_utils.mdx +++ b/api_docs/kbn_ml_error_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-error-utils title: "@kbn/ml-error-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-error-utils plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-error-utils'] --- import kbnMlErrorUtilsObj from './kbn_ml_error_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_is_defined.mdx b/api_docs/kbn_ml_is_defined.mdx index 244ce8df445d3..f42b1bdfb2b06 100644 --- a/api_docs/kbn_ml_is_defined.mdx +++ b/api_docs/kbn_ml_is_defined.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-is-defined title: "@kbn/ml-is-defined" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-is-defined plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-is-defined'] --- import kbnMlIsDefinedObj from './kbn_ml_is_defined.devdocs.json'; diff --git a/api_docs/kbn_ml_is_populated_object.mdx b/api_docs/kbn_ml_is_populated_object.mdx index fd7c50d37c492..5b90cf59d6c27 100644 --- a/api_docs/kbn_ml_is_populated_object.mdx +++ b/api_docs/kbn_ml_is_populated_object.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-is-populated-object title: "@kbn/ml-is-populated-object" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-is-populated-object plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-is-populated-object'] --- import kbnMlIsPopulatedObjectObj from './kbn_ml_is_populated_object.devdocs.json'; diff --git a/api_docs/kbn_ml_kibana_theme.mdx b/api_docs/kbn_ml_kibana_theme.mdx index 594214ff10eae..ca3f26ae333c8 100644 --- a/api_docs/kbn_ml_kibana_theme.mdx +++ b/api_docs/kbn_ml_kibana_theme.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-kibana-theme title: "@kbn/ml-kibana-theme" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-kibana-theme plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-kibana-theme'] --- import kbnMlKibanaThemeObj from './kbn_ml_kibana_theme.devdocs.json'; diff --git a/api_docs/kbn_ml_local_storage.mdx b/api_docs/kbn_ml_local_storage.mdx index 2f80171afd8e7..f320589fff232 100644 --- a/api_docs/kbn_ml_local_storage.mdx +++ b/api_docs/kbn_ml_local_storage.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-local-storage title: "@kbn/ml-local-storage" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-local-storage plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-local-storage'] --- import kbnMlLocalStorageObj from './kbn_ml_local_storage.devdocs.json'; diff --git a/api_docs/kbn_ml_nested_property.mdx b/api_docs/kbn_ml_nested_property.mdx index e700e10c96623..d06aa0b0f6c80 100644 --- a/api_docs/kbn_ml_nested_property.mdx +++ b/api_docs/kbn_ml_nested_property.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-nested-property title: "@kbn/ml-nested-property" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-nested-property plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-nested-property'] --- import kbnMlNestedPropertyObj from './kbn_ml_nested_property.devdocs.json'; diff --git a/api_docs/kbn_ml_number_utils.mdx b/api_docs/kbn_ml_number_utils.mdx index 4385e070b3b60..5ea1e073b1ba3 100644 --- a/api_docs/kbn_ml_number_utils.mdx +++ b/api_docs/kbn_ml_number_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-number-utils title: "@kbn/ml-number-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-number-utils plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-number-utils'] --- import kbnMlNumberUtilsObj from './kbn_ml_number_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_query_utils.mdx b/api_docs/kbn_ml_query_utils.mdx index abe9adccc2e5d..930a6cfa32be6 100644 --- a/api_docs/kbn_ml_query_utils.mdx +++ b/api_docs/kbn_ml_query_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-query-utils title: "@kbn/ml-query-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-query-utils plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-query-utils'] --- import kbnMlQueryUtilsObj from './kbn_ml_query_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_random_sampler_utils.mdx b/api_docs/kbn_ml_random_sampler_utils.mdx index 6aa3d179c9add..2a072191c41ee 100644 --- a/api_docs/kbn_ml_random_sampler_utils.mdx +++ b/api_docs/kbn_ml_random_sampler_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-random-sampler-utils title: "@kbn/ml-random-sampler-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-random-sampler-utils plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-random-sampler-utils'] --- import kbnMlRandomSamplerUtilsObj from './kbn_ml_random_sampler_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_route_utils.mdx b/api_docs/kbn_ml_route_utils.mdx index 5530d80b160e2..d23e9fc903b76 100644 --- a/api_docs/kbn_ml_route_utils.mdx +++ b/api_docs/kbn_ml_route_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-route-utils title: "@kbn/ml-route-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-route-utils plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-route-utils'] --- import kbnMlRouteUtilsObj from './kbn_ml_route_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_runtime_field_utils.mdx b/api_docs/kbn_ml_runtime_field_utils.mdx index 7250b10841b2a..7f748175e988f 100644 --- a/api_docs/kbn_ml_runtime_field_utils.mdx +++ b/api_docs/kbn_ml_runtime_field_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-runtime-field-utils title: "@kbn/ml-runtime-field-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-runtime-field-utils plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-runtime-field-utils'] --- import kbnMlRuntimeFieldUtilsObj from './kbn_ml_runtime_field_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_string_hash.mdx b/api_docs/kbn_ml_string_hash.mdx index dddd29729ded5..b13af24c871d2 100644 --- a/api_docs/kbn_ml_string_hash.mdx +++ b/api_docs/kbn_ml_string_hash.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-string-hash title: "@kbn/ml-string-hash" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-string-hash plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-string-hash'] --- import kbnMlStringHashObj from './kbn_ml_string_hash.devdocs.json'; diff --git a/api_docs/kbn_ml_trained_models_utils.mdx b/api_docs/kbn_ml_trained_models_utils.mdx index 3b0518a68b30a..ccc5eea7be1e8 100644 --- a/api_docs/kbn_ml_trained_models_utils.mdx +++ b/api_docs/kbn_ml_trained_models_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-trained-models-utils title: "@kbn/ml-trained-models-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-trained-models-utils plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-trained-models-utils'] --- import kbnMlTrainedModelsUtilsObj from './kbn_ml_trained_models_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_url_state.mdx b/api_docs/kbn_ml_url_state.mdx index ee17a3da0da35..72f9d4692b740 100644 --- a/api_docs/kbn_ml_url_state.mdx +++ b/api_docs/kbn_ml_url_state.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-url-state title: "@kbn/ml-url-state" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-url-state plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-url-state'] --- import kbnMlUrlStateObj from './kbn_ml_url_state.devdocs.json'; diff --git a/api_docs/kbn_monaco.mdx b/api_docs/kbn_monaco.mdx index b841cd732b752..f9fa01c020997 100644 --- a/api_docs/kbn_monaco.mdx +++ b/api_docs/kbn_monaco.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-monaco title: "@kbn/monaco" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/monaco plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/monaco'] --- import kbnMonacoObj from './kbn_monaco.devdocs.json'; diff --git a/api_docs/kbn_object_versioning.mdx b/api_docs/kbn_object_versioning.mdx index 55356b25c9e94..7cf3ba96b7512 100644 --- a/api_docs/kbn_object_versioning.mdx +++ b/api_docs/kbn_object_versioning.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-object-versioning title: "@kbn/object-versioning" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/object-versioning plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/object-versioning'] --- import kbnObjectVersioningObj from './kbn_object_versioning.devdocs.json'; diff --git a/api_docs/kbn_observability_alert_details.mdx b/api_docs/kbn_observability_alert_details.mdx index df113093293f2..68b3d46c12878 100644 --- a/api_docs/kbn_observability_alert_details.mdx +++ b/api_docs/kbn_observability_alert_details.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-observability-alert-details title: "@kbn/observability-alert-details" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/observability-alert-details plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/observability-alert-details'] --- import kbnObservabilityAlertDetailsObj from './kbn_observability_alert_details.devdocs.json'; diff --git a/api_docs/kbn_optimizer.mdx b/api_docs/kbn_optimizer.mdx index 8b3799c11488e..3f7ba03c8ef24 100644 --- a/api_docs/kbn_optimizer.mdx +++ b/api_docs/kbn_optimizer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-optimizer title: "@kbn/optimizer" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/optimizer plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/optimizer'] --- import kbnOptimizerObj from './kbn_optimizer.devdocs.json'; diff --git a/api_docs/kbn_optimizer_webpack_helpers.mdx b/api_docs/kbn_optimizer_webpack_helpers.mdx index af8ea5b150bb8..ae9af239e7f17 100644 --- a/api_docs/kbn_optimizer_webpack_helpers.mdx +++ b/api_docs/kbn_optimizer_webpack_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-optimizer-webpack-helpers title: "@kbn/optimizer-webpack-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/optimizer-webpack-helpers plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/optimizer-webpack-helpers'] --- import kbnOptimizerWebpackHelpersObj from './kbn_optimizer_webpack_helpers.devdocs.json'; diff --git a/api_docs/kbn_osquery_io_ts_types.mdx b/api_docs/kbn_osquery_io_ts_types.mdx index d4560a8b1dcac..8f1cf3cc5e35c 100644 --- a/api_docs/kbn_osquery_io_ts_types.mdx +++ b/api_docs/kbn_osquery_io_ts_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-osquery-io-ts-types title: "@kbn/osquery-io-ts-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/osquery-io-ts-types plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/osquery-io-ts-types'] --- import kbnOsqueryIoTsTypesObj from './kbn_osquery_io_ts_types.devdocs.json'; diff --git a/api_docs/kbn_performance_testing_dataset_extractor.mdx b/api_docs/kbn_performance_testing_dataset_extractor.mdx index 833e5d23f9e63..b6e7200f377ba 100644 --- a/api_docs/kbn_performance_testing_dataset_extractor.mdx +++ b/api_docs/kbn_performance_testing_dataset_extractor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-performance-testing-dataset-extractor title: "@kbn/performance-testing-dataset-extractor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/performance-testing-dataset-extractor plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/performance-testing-dataset-extractor'] --- import kbnPerformanceTestingDatasetExtractorObj from './kbn_performance_testing_dataset_extractor.devdocs.json'; diff --git a/api_docs/kbn_plugin_generator.mdx b/api_docs/kbn_plugin_generator.mdx index 640696bc9cd84..23303a1e2709f 100644 --- a/api_docs/kbn_plugin_generator.mdx +++ b/api_docs/kbn_plugin_generator.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-plugin-generator title: "@kbn/plugin-generator" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/plugin-generator plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/plugin-generator'] --- import kbnPluginGeneratorObj from './kbn_plugin_generator.devdocs.json'; diff --git a/api_docs/kbn_plugin_helpers.mdx b/api_docs/kbn_plugin_helpers.mdx index 5df36dfe851f1..8c398b133af6f 100644 --- a/api_docs/kbn_plugin_helpers.mdx +++ b/api_docs/kbn_plugin_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-plugin-helpers title: "@kbn/plugin-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/plugin-helpers plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/plugin-helpers'] --- import kbnPluginHelpersObj from './kbn_plugin_helpers.devdocs.json'; diff --git a/api_docs/kbn_random_sampling.mdx b/api_docs/kbn_random_sampling.mdx index aa845874f9163..62eb473bdbd2f 100644 --- a/api_docs/kbn_random_sampling.mdx +++ b/api_docs/kbn_random_sampling.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-random-sampling title: "@kbn/random-sampling" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/random-sampling plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/random-sampling'] --- import kbnRandomSamplingObj from './kbn_random_sampling.devdocs.json'; diff --git a/api_docs/kbn_react_field.mdx b/api_docs/kbn_react_field.mdx index e0ba6a9d76140..8b62d12671ee3 100644 --- a/api_docs/kbn_react_field.mdx +++ b/api_docs/kbn_react_field.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-field title: "@kbn/react-field" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-field plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-field'] --- import kbnReactFieldObj from './kbn_react_field.devdocs.json'; diff --git a/api_docs/kbn_repo_file_maps.mdx b/api_docs/kbn_repo_file_maps.mdx index e34253f96c37f..747e86fd79ebe 100644 --- a/api_docs/kbn_repo_file_maps.mdx +++ b/api_docs/kbn_repo_file_maps.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-file-maps title: "@kbn/repo-file-maps" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-file-maps plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-file-maps'] --- import kbnRepoFileMapsObj from './kbn_repo_file_maps.devdocs.json'; diff --git a/api_docs/kbn_repo_linter.mdx b/api_docs/kbn_repo_linter.mdx index 1912f7331e31d..5a230a3b7fd19 100644 --- a/api_docs/kbn_repo_linter.mdx +++ b/api_docs/kbn_repo_linter.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-linter title: "@kbn/repo-linter" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-linter plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-linter'] --- import kbnRepoLinterObj from './kbn_repo_linter.devdocs.json'; diff --git a/api_docs/kbn_repo_path.mdx b/api_docs/kbn_repo_path.mdx index 8c120096b3cfc..66f732c947e0a 100644 --- a/api_docs/kbn_repo_path.mdx +++ b/api_docs/kbn_repo_path.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-path title: "@kbn/repo-path" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-path plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-path'] --- import kbnRepoPathObj from './kbn_repo_path.devdocs.json'; diff --git a/api_docs/kbn_repo_source_classifier.mdx b/api_docs/kbn_repo_source_classifier.mdx index 5494ee371ab0e..6062478c9051b 100644 --- a/api_docs/kbn_repo_source_classifier.mdx +++ b/api_docs/kbn_repo_source_classifier.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-source-classifier title: "@kbn/repo-source-classifier" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-source-classifier plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-source-classifier'] --- import kbnRepoSourceClassifierObj from './kbn_repo_source_classifier.devdocs.json'; diff --git a/api_docs/kbn_reporting_common.mdx b/api_docs/kbn_reporting_common.mdx index 91a64c7e59dcd..f23352c3ff602 100644 --- a/api_docs/kbn_reporting_common.mdx +++ b/api_docs/kbn_reporting_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-common title: "@kbn/reporting-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-common plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-common'] --- import kbnReportingCommonObj from './kbn_reporting_common.devdocs.json'; diff --git a/api_docs/kbn_rison.mdx b/api_docs/kbn_rison.mdx index f6ff4470530e2..1a4e4c1a9cfc1 100644 --- a/api_docs/kbn_rison.mdx +++ b/api_docs/kbn_rison.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-rison title: "@kbn/rison" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/rison plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rison'] --- import kbnRisonObj from './kbn_rison.devdocs.json'; diff --git a/api_docs/kbn_rrule.mdx b/api_docs/kbn_rrule.mdx index a963fb2c13d00..122c299d91271 100644 --- a/api_docs/kbn_rrule.mdx +++ b/api_docs/kbn_rrule.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-rrule title: "@kbn/rrule" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/rrule plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rrule'] --- import kbnRruleObj from './kbn_rrule.devdocs.json'; diff --git a/api_docs/kbn_rule_data_utils.mdx b/api_docs/kbn_rule_data_utils.mdx index ab3c2f99ce552..557d9d2f24854 100644 --- a/api_docs/kbn_rule_data_utils.mdx +++ b/api_docs/kbn_rule_data_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-rule-data-utils title: "@kbn/rule-data-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/rule-data-utils plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rule-data-utils'] --- import kbnRuleDataUtilsObj from './kbn_rule_data_utils.devdocs.json'; diff --git a/api_docs/kbn_saved_objects_settings.mdx b/api_docs/kbn_saved_objects_settings.mdx index 38db827c5bd0c..b87cdc0136ce8 100644 --- a/api_docs/kbn_saved_objects_settings.mdx +++ b/api_docs/kbn_saved_objects_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-saved-objects-settings title: "@kbn/saved-objects-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/saved-objects-settings plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/saved-objects-settings'] --- import kbnSavedObjectsSettingsObj from './kbn_saved_objects_settings.devdocs.json'; diff --git a/api_docs/kbn_security_solution_side_nav.mdx b/api_docs/kbn_security_solution_side_nav.mdx index e928099455e41..540a9cc860435 100644 --- a/api_docs/kbn_security_solution_side_nav.mdx +++ b/api_docs/kbn_security_solution_side_nav.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-side-nav title: "@kbn/security-solution-side-nav" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-side-nav plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-side-nav'] --- import kbnSecuritySolutionSideNavObj from './kbn_security_solution_side_nav.devdocs.json'; diff --git a/api_docs/kbn_security_solution_storybook_config.mdx b/api_docs/kbn_security_solution_storybook_config.mdx index b44824a27b141..b38c599ba5569 100644 --- a/api_docs/kbn_security_solution_storybook_config.mdx +++ b/api_docs/kbn_security_solution_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-storybook-config title: "@kbn/security-solution-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-storybook-config plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-storybook-config'] --- import kbnSecuritySolutionStorybookConfigObj from './kbn_security_solution_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_autocomplete.mdx b/api_docs/kbn_securitysolution_autocomplete.mdx index 33367b8ba6757..efbc7e6072f6e 100644 --- a/api_docs/kbn_securitysolution_autocomplete.mdx +++ b/api_docs/kbn_securitysolution_autocomplete.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-autocomplete title: "@kbn/securitysolution-autocomplete" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-autocomplete plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-autocomplete'] --- import kbnSecuritysolutionAutocompleteObj from './kbn_securitysolution_autocomplete.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_data_table.mdx b/api_docs/kbn_securitysolution_data_table.mdx index 949f92ae3bbd2..55f7c70c992e1 100644 --- a/api_docs/kbn_securitysolution_data_table.mdx +++ b/api_docs/kbn_securitysolution_data_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-data-table title: "@kbn/securitysolution-data-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-data-table plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-data-table'] --- import kbnSecuritysolutionDataTableObj from './kbn_securitysolution_data_table.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_ecs.mdx b/api_docs/kbn_securitysolution_ecs.mdx index f25f592aff9df..747639df92bd9 100644 --- a/api_docs/kbn_securitysolution_ecs.mdx +++ b/api_docs/kbn_securitysolution_ecs.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-ecs title: "@kbn/securitysolution-ecs" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-ecs plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-ecs'] --- import kbnSecuritysolutionEcsObj from './kbn_securitysolution_ecs.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_es_utils.mdx b/api_docs/kbn_securitysolution_es_utils.mdx index f84c4ce714003..4a9a63a9e81cf 100644 --- a/api_docs/kbn_securitysolution_es_utils.mdx +++ b/api_docs/kbn_securitysolution_es_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-es-utils title: "@kbn/securitysolution-es-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-es-utils plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-es-utils'] --- import kbnSecuritysolutionEsUtilsObj from './kbn_securitysolution_es_utils.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_exception_list_components.mdx b/api_docs/kbn_securitysolution_exception_list_components.mdx index 27b11f2223d80..40392f025cdb5 100644 --- a/api_docs/kbn_securitysolution_exception_list_components.mdx +++ b/api_docs/kbn_securitysolution_exception_list_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-exception-list-components title: "@kbn/securitysolution-exception-list-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-exception-list-components plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-exception-list-components'] --- import kbnSecuritysolutionExceptionListComponentsObj from './kbn_securitysolution_exception_list_components.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_grouping.mdx b/api_docs/kbn_securitysolution_grouping.mdx index ee63c7a6daffe..77055d694a4a5 100644 --- a/api_docs/kbn_securitysolution_grouping.mdx +++ b/api_docs/kbn_securitysolution_grouping.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-grouping title: "@kbn/securitysolution-grouping" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-grouping plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-grouping'] --- import kbnSecuritysolutionGroupingObj from './kbn_securitysolution_grouping.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_hook_utils.mdx b/api_docs/kbn_securitysolution_hook_utils.mdx index 2ad67989f762e..14558e2cb42c7 100644 --- a/api_docs/kbn_securitysolution_hook_utils.mdx +++ b/api_docs/kbn_securitysolution_hook_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-hook-utils title: "@kbn/securitysolution-hook-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-hook-utils plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-hook-utils'] --- import kbnSecuritysolutionHookUtilsObj from './kbn_securitysolution_hook_utils.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx b/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx index 85484a75160d4..564c9d7b737b1 100644 --- a/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx +++ b/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-alerting-types title: "@kbn/securitysolution-io-ts-alerting-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-alerting-types plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-io-ts-alerting-types'] --- import kbnSecuritysolutionIoTsAlertingTypesObj from './kbn_securitysolution_io_ts_alerting_types.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_io_ts_list_types.mdx b/api_docs/kbn_securitysolution_io_ts_list_types.mdx index 0ed3a46e1735d..80e8c0b98700f 100644 --- a/api_docs/kbn_securitysolution_io_ts_list_types.mdx +++ b/api_docs/kbn_securitysolution_io_ts_list_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-list-types title: "@kbn/securitysolution-io-ts-list-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-list-types plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-io-ts-list-types'] --- import kbnSecuritysolutionIoTsListTypesObj from './kbn_securitysolution_io_ts_list_types.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_io_ts_types.mdx b/api_docs/kbn_securitysolution_io_ts_types.mdx index 2bb46408669a3..4593b95feb9b2 100644 --- a/api_docs/kbn_securitysolution_io_ts_types.mdx +++ b/api_docs/kbn_securitysolution_io_ts_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-types title: "@kbn/securitysolution-io-ts-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-types plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-io-ts-types'] --- import kbnSecuritysolutionIoTsTypesObj from './kbn_securitysolution_io_ts_types.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_io_ts_utils.mdx b/api_docs/kbn_securitysolution_io_ts_utils.mdx index 7df14ad4ebb27..74656668edf13 100644 --- a/api_docs/kbn_securitysolution_io_ts_utils.mdx +++ b/api_docs/kbn_securitysolution_io_ts_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-utils title: "@kbn/securitysolution-io-ts-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-utils plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-io-ts-utils'] --- import kbnSecuritysolutionIoTsUtilsObj from './kbn_securitysolution_io_ts_utils.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_list_api.mdx b/api_docs/kbn_securitysolution_list_api.mdx index 2d0ed0476a115..e14ecdbbeed13 100644 --- a/api_docs/kbn_securitysolution_list_api.mdx +++ b/api_docs/kbn_securitysolution_list_api.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-api title: "@kbn/securitysolution-list-api" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-api plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-list-api'] --- import kbnSecuritysolutionListApiObj from './kbn_securitysolution_list_api.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_list_constants.mdx b/api_docs/kbn_securitysolution_list_constants.mdx index f01ae49271bee..443ef7c7ca0b7 100644 --- a/api_docs/kbn_securitysolution_list_constants.mdx +++ b/api_docs/kbn_securitysolution_list_constants.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-constants title: "@kbn/securitysolution-list-constants" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-constants plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-list-constants'] --- import kbnSecuritysolutionListConstantsObj from './kbn_securitysolution_list_constants.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_list_hooks.mdx b/api_docs/kbn_securitysolution_list_hooks.mdx index ed46db572a71e..1cdfa22f2f5fe 100644 --- a/api_docs/kbn_securitysolution_list_hooks.mdx +++ b/api_docs/kbn_securitysolution_list_hooks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-hooks title: "@kbn/securitysolution-list-hooks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-hooks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-list-hooks'] --- import kbnSecuritysolutionListHooksObj from './kbn_securitysolution_list_hooks.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_list_utils.mdx b/api_docs/kbn_securitysolution_list_utils.mdx index 2a34031c64414..4f710f1fbc034 100644 --- a/api_docs/kbn_securitysolution_list_utils.mdx +++ b/api_docs/kbn_securitysolution_list_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-utils title: "@kbn/securitysolution-list-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-utils plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-list-utils'] --- import kbnSecuritysolutionListUtilsObj from './kbn_securitysolution_list_utils.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_rules.mdx b/api_docs/kbn_securitysolution_rules.mdx index 833e80c0265cc..9b0de5865f31a 100644 --- a/api_docs/kbn_securitysolution_rules.mdx +++ b/api_docs/kbn_securitysolution_rules.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-rules title: "@kbn/securitysolution-rules" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-rules plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-rules'] --- import kbnSecuritysolutionRulesObj from './kbn_securitysolution_rules.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_t_grid.mdx b/api_docs/kbn_securitysolution_t_grid.mdx index 4bb38c00b4db3..21c090530afc2 100644 --- a/api_docs/kbn_securitysolution_t_grid.mdx +++ b/api_docs/kbn_securitysolution_t_grid.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-t-grid title: "@kbn/securitysolution-t-grid" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-t-grid plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-t-grid'] --- import kbnSecuritysolutionTGridObj from './kbn_securitysolution_t_grid.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_utils.mdx b/api_docs/kbn_securitysolution_utils.mdx index 00024bfe762a0..c8c88c0f3845b 100644 --- a/api_docs/kbn_securitysolution_utils.mdx +++ b/api_docs/kbn_securitysolution_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-utils title: "@kbn/securitysolution-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-utils plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-utils'] --- import kbnSecuritysolutionUtilsObj from './kbn_securitysolution_utils.devdocs.json'; diff --git a/api_docs/kbn_server_http_tools.mdx b/api_docs/kbn_server_http_tools.mdx index da8ca754e9e14..5eba4051acbdb 100644 --- a/api_docs/kbn_server_http_tools.mdx +++ b/api_docs/kbn_server_http_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-server-http-tools title: "@kbn/server-http-tools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/server-http-tools plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/server-http-tools'] --- import kbnServerHttpToolsObj from './kbn_server_http_tools.devdocs.json'; diff --git a/api_docs/kbn_server_route_repository.mdx b/api_docs/kbn_server_route_repository.mdx index 9a2bd2caea73b..20e7d5e2bf5c2 100644 --- a/api_docs/kbn_server_route_repository.mdx +++ b/api_docs/kbn_server_route_repository.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-server-route-repository title: "@kbn/server-route-repository" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/server-route-repository plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/server-route-repository'] --- import kbnServerRouteRepositoryObj from './kbn_server_route_repository.devdocs.json'; diff --git a/api_docs/kbn_serverless_project_switcher.mdx b/api_docs/kbn_serverless_project_switcher.mdx index 4ec8cbac25b21..6423a09bdffc1 100644 --- a/api_docs/kbn_serverless_project_switcher.mdx +++ b/api_docs/kbn_serverless_project_switcher.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-project-switcher title: "@kbn/serverless-project-switcher" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-project-switcher plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-project-switcher'] --- import kbnServerlessProjectSwitcherObj from './kbn_serverless_project_switcher.devdocs.json'; diff --git a/api_docs/kbn_serverless_storybook_config.mdx b/api_docs/kbn_serverless_storybook_config.mdx index da7cbbdc7cf36..8dfcc9a116137 100644 --- a/api_docs/kbn_serverless_storybook_config.mdx +++ b/api_docs/kbn_serverless_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-storybook-config title: "@kbn/serverless-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-storybook-config plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-storybook-config'] --- import kbnServerlessStorybookConfigObj from './kbn_serverless_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_shared_svg.mdx b/api_docs/kbn_shared_svg.mdx index 0b5f344ae9a5f..fbe4bbb6ace05 100644 --- a/api_docs/kbn_shared_svg.mdx +++ b/api_docs/kbn_shared_svg.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-svg title: "@kbn/shared-svg" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-svg plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-svg'] --- import kbnSharedSvgObj from './kbn_shared_svg.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_avatar_solution.mdx b/api_docs/kbn_shared_ux_avatar_solution.mdx index 4e5b3c59bc1eb..eabe74ca60f8c 100644 --- a/api_docs/kbn_shared_ux_avatar_solution.mdx +++ b/api_docs/kbn_shared_ux_avatar_solution.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-avatar-solution title: "@kbn/shared-ux-avatar-solution" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-avatar-solution plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-avatar-solution'] --- import kbnSharedUxAvatarSolutionObj from './kbn_shared_ux_avatar_solution.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx b/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx index 187d11cc620d2..ad0a2ff72400c 100644 --- a/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx +++ b/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-avatar-user-profile-components title: "@kbn/shared-ux-avatar-user-profile-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-avatar-user-profile-components plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-avatar-user-profile-components'] --- import kbnSharedUxAvatarUserProfileComponentsObj from './kbn_shared_ux_avatar_user_profile_components.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_button_exit_full_screen.mdx b/api_docs/kbn_shared_ux_button_exit_full_screen.mdx index c1466cd7b7f1e..16bfb008260e9 100644 --- a/api_docs/kbn_shared_ux_button_exit_full_screen.mdx +++ b/api_docs/kbn_shared_ux_button_exit_full_screen.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-button-exit-full-screen title: "@kbn/shared-ux-button-exit-full-screen" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-button-exit-full-screen plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-button-exit-full-screen'] --- import kbnSharedUxButtonExitFullScreenObj from './kbn_shared_ux_button_exit_full_screen.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx b/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx index 2bae77b0afbe3..ca517800a34a7 100644 --- a/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx +++ b/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-button-exit-full-screen-mocks title: "@kbn/shared-ux-button-exit-full-screen-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-button-exit-full-screen-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-button-exit-full-screen-mocks'] --- import kbnSharedUxButtonExitFullScreenMocksObj from './kbn_shared_ux_button_exit_full_screen_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_button_toolbar.mdx b/api_docs/kbn_shared_ux_button_toolbar.mdx index e4b8ae20b3844..1226f3f91b566 100644 --- a/api_docs/kbn_shared_ux_button_toolbar.mdx +++ b/api_docs/kbn_shared_ux_button_toolbar.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-button-toolbar title: "@kbn/shared-ux-button-toolbar" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-button-toolbar plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-button-toolbar'] --- import kbnSharedUxButtonToolbarObj from './kbn_shared_ux_button_toolbar.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_card_no_data.mdx b/api_docs/kbn_shared_ux_card_no_data.mdx index ff2966d2ed8b8..e504622568381 100644 --- a/api_docs/kbn_shared_ux_card_no_data.mdx +++ b/api_docs/kbn_shared_ux_card_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-card-no-data title: "@kbn/shared-ux-card-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-card-no-data plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-card-no-data'] --- import kbnSharedUxCardNoDataObj from './kbn_shared_ux_card_no_data.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_card_no_data_mocks.mdx b/api_docs/kbn_shared_ux_card_no_data_mocks.mdx index f0e7cb5fb8809..f290a74ed290f 100644 --- a/api_docs/kbn_shared_ux_card_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_card_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-card-no-data-mocks title: "@kbn/shared-ux-card-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-card-no-data-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-card-no-data-mocks'] --- import kbnSharedUxCardNoDataMocksObj from './kbn_shared_ux_card_no_data_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_chrome_navigation.devdocs.json b/api_docs/kbn_shared_ux_chrome_navigation.devdocs.json index fa3d717f2d9a7..fe0dc89f448df 100644 --- a/api_docs/kbn_shared_ux_chrome_navigation.devdocs.json +++ b/api_docs/kbn_shared_ux_chrome_navigation.devdocs.json @@ -580,7 +580,7 @@ "tags": [], "label": "defaultIsCollapsed", "description": [ - "\nFlag to indicate if the group is initially collapsed or not.\n\n`false`: the group will be opened event if none of its children nodes matches the current URL.\n\n`true`: the group will be collapsed event if any of its children nodes matches the current URL.\n\n`undefined`: the group will be opened if any of its children nodes matches the current URL." + "\nFlag to indicate if the group is initially collapsed or not.\n\n`undefined`: (Recommended) the group will be opened if any of its children nodes matches the current URL.\n\n`false`: the group will be opened event if none of its children nodes matches the current URL.\n\n`true`: the group will be collapsed event if any of its children nodes matches the current URL." ], "signature": [ "boolean | undefined" @@ -816,6 +816,20 @@ "path": "packages/shared-ux/chrome/navigation/types/index.ts", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "@kbn/shared-ux-chrome-navigation", + "id": "def-common.NavigationServices.cloudLinks", + "type": "Object", + "tags": [], + "label": "cloudLinks", + "description": [], + "signature": [ + "{ userAndRoles?: { title: string; href: string; } | undefined; performance?: { title: string; href: string; } | undefined; billingAndSub?: { title: string; href: string; } | undefined; }" + ], + "path": "packages/shared-ux/chrome/navigation/types/index.ts", + "deprecated": false, + "trackAdoption": false } ], "initialIsOpen": false diff --git a/api_docs/kbn_shared_ux_chrome_navigation.mdx b/api_docs/kbn_shared_ux_chrome_navigation.mdx index a8da7eb218d38..b48dd562eae3b 100644 --- a/api_docs/kbn_shared_ux_chrome_navigation.mdx +++ b/api_docs/kbn_shared_ux_chrome_navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-chrome-navigation title: "@kbn/shared-ux-chrome-navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-chrome-navigation plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-chrome-navigation'] --- import kbnSharedUxChromeNavigationObj from './kbn_shared_ux_chrome_navigation.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sh | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 45 | 0 | 36 | 4 | +| 46 | 0 | 37 | 4 | ## Common diff --git a/api_docs/kbn_shared_ux_file_context.mdx b/api_docs/kbn_shared_ux_file_context.mdx index 975c535415e17..23fda248aaa25 100644 --- a/api_docs/kbn_shared_ux_file_context.mdx +++ b/api_docs/kbn_shared_ux_file_context.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-context title: "@kbn/shared-ux-file-context" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-context plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-context'] --- import kbnSharedUxFileContextObj from './kbn_shared_ux_file_context.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_image.mdx b/api_docs/kbn_shared_ux_file_image.mdx index a89051e651529..94ff64aba798d 100644 --- a/api_docs/kbn_shared_ux_file_image.mdx +++ b/api_docs/kbn_shared_ux_file_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-image title: "@kbn/shared-ux-file-image" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-image plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-image'] --- import kbnSharedUxFileImageObj from './kbn_shared_ux_file_image.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_image_mocks.mdx b/api_docs/kbn_shared_ux_file_image_mocks.mdx index 5d08a6619e6a5..f4d738e33fad8 100644 --- a/api_docs/kbn_shared_ux_file_image_mocks.mdx +++ b/api_docs/kbn_shared_ux_file_image_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-image-mocks title: "@kbn/shared-ux-file-image-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-image-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-image-mocks'] --- import kbnSharedUxFileImageMocksObj from './kbn_shared_ux_file_image_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_mocks.mdx b/api_docs/kbn_shared_ux_file_mocks.mdx index 45446207d31b7..03232c1ced363 100644 --- a/api_docs/kbn_shared_ux_file_mocks.mdx +++ b/api_docs/kbn_shared_ux_file_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-mocks title: "@kbn/shared-ux-file-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-mocks'] --- import kbnSharedUxFileMocksObj from './kbn_shared_ux_file_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_picker.mdx b/api_docs/kbn_shared_ux_file_picker.mdx index c7397985b5bbf..8ab1aeb2b657e 100644 --- a/api_docs/kbn_shared_ux_file_picker.mdx +++ b/api_docs/kbn_shared_ux_file_picker.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-picker title: "@kbn/shared-ux-file-picker" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-picker plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-picker'] --- import kbnSharedUxFilePickerObj from './kbn_shared_ux_file_picker.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_types.mdx b/api_docs/kbn_shared_ux_file_types.mdx index 509fffbc03b23..c0135d8573160 100644 --- a/api_docs/kbn_shared_ux_file_types.mdx +++ b/api_docs/kbn_shared_ux_file_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-types title: "@kbn/shared-ux-file-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-types plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-types'] --- import kbnSharedUxFileTypesObj from './kbn_shared_ux_file_types.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_upload.mdx b/api_docs/kbn_shared_ux_file_upload.mdx index 08b8a433077d7..b8e63d44c74ae 100644 --- a/api_docs/kbn_shared_ux_file_upload.mdx +++ b/api_docs/kbn_shared_ux_file_upload.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-upload title: "@kbn/shared-ux-file-upload" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-upload plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-upload'] --- import kbnSharedUxFileUploadObj from './kbn_shared_ux_file_upload.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_util.mdx b/api_docs/kbn_shared_ux_file_util.mdx index 931eea5f28e80..a8840caf88ae8 100644 --- a/api_docs/kbn_shared_ux_file_util.mdx +++ b/api_docs/kbn_shared_ux_file_util.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-util title: "@kbn/shared-ux-file-util" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-util plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-util'] --- import kbnSharedUxFileUtilObj from './kbn_shared_ux_file_util.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_link_redirect_app.mdx b/api_docs/kbn_shared_ux_link_redirect_app.mdx index 1ac4df2987ed9..5ab794c02df0b 100644 --- a/api_docs/kbn_shared_ux_link_redirect_app.mdx +++ b/api_docs/kbn_shared_ux_link_redirect_app.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-link-redirect-app title: "@kbn/shared-ux-link-redirect-app" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-link-redirect-app plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-link-redirect-app'] --- import kbnSharedUxLinkRedirectAppObj from './kbn_shared_ux_link_redirect_app.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx b/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx index b3061ee1b3f87..248eb5b97cba3 100644 --- a/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx +++ b/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-link-redirect-app-mocks title: "@kbn/shared-ux-link-redirect-app-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-link-redirect-app-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-link-redirect-app-mocks'] --- import kbnSharedUxLinkRedirectAppMocksObj from './kbn_shared_ux_link_redirect_app_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_markdown.mdx b/api_docs/kbn_shared_ux_markdown.mdx index a3483d05cdcbd..eff190d1cfe68 100644 --- a/api_docs/kbn_shared_ux_markdown.mdx +++ b/api_docs/kbn_shared_ux_markdown.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-markdown title: "@kbn/shared-ux-markdown" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-markdown plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-markdown'] --- import kbnSharedUxMarkdownObj from './kbn_shared_ux_markdown.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_markdown_mocks.mdx b/api_docs/kbn_shared_ux_markdown_mocks.mdx index 1be5f57bd500f..0024e8bbc8d5f 100644 --- a/api_docs/kbn_shared_ux_markdown_mocks.mdx +++ b/api_docs/kbn_shared_ux_markdown_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-markdown-mocks title: "@kbn/shared-ux-markdown-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-markdown-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-markdown-mocks'] --- import kbnSharedUxMarkdownMocksObj from './kbn_shared_ux_markdown_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_analytics_no_data.mdx b/api_docs/kbn_shared_ux_page_analytics_no_data.mdx index ae09367ebe927..72a9ef50396cb 100644 --- a/api_docs/kbn_shared_ux_page_analytics_no_data.mdx +++ b/api_docs/kbn_shared_ux_page_analytics_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-analytics-no-data title: "@kbn/shared-ux-page-analytics-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-analytics-no-data plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-analytics-no-data'] --- import kbnSharedUxPageAnalyticsNoDataObj from './kbn_shared_ux_page_analytics_no_data.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx b/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx index be61ca25fea4f..97dcb16d65939 100644 --- a/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-analytics-no-data-mocks title: "@kbn/shared-ux-page-analytics-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-analytics-no-data-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-analytics-no-data-mocks'] --- import kbnSharedUxPageAnalyticsNoDataMocksObj from './kbn_shared_ux_page_analytics_no_data_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_kibana_no_data.mdx b/api_docs/kbn_shared_ux_page_kibana_no_data.mdx index 2f47a195f3fa0..4f6db2118bc27 100644 --- a/api_docs/kbn_shared_ux_page_kibana_no_data.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-no-data title: "@kbn/shared-ux-page-kibana-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-no-data plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-kibana-no-data'] --- import kbnSharedUxPageKibanaNoDataObj from './kbn_shared_ux_page_kibana_no_data.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx b/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx index a1aae3ed7b58c..d8162b2defdda 100644 --- a/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-no-data-mocks title: "@kbn/shared-ux-page-kibana-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-no-data-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-kibana-no-data-mocks'] --- import kbnSharedUxPageKibanaNoDataMocksObj from './kbn_shared_ux_page_kibana_no_data_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_kibana_template.mdx b/api_docs/kbn_shared_ux_page_kibana_template.mdx index 3f7b5d597676b..7909f745b7c38 100644 --- a/api_docs/kbn_shared_ux_page_kibana_template.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_template.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-template title: "@kbn/shared-ux-page-kibana-template" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-template plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-kibana-template'] --- import kbnSharedUxPageKibanaTemplateObj from './kbn_shared_ux_page_kibana_template.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx b/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx index 94d84c88bc43e..53c3f30f9f897 100644 --- a/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-template-mocks title: "@kbn/shared-ux-page-kibana-template-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-template-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-kibana-template-mocks'] --- import kbnSharedUxPageKibanaTemplateMocksObj from './kbn_shared_ux_page_kibana_template_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_no_data.mdx b/api_docs/kbn_shared_ux_page_no_data.mdx index 0803eb22adc0a..cc592f60d21ec 100644 --- a/api_docs/kbn_shared_ux_page_no_data.mdx +++ b/api_docs/kbn_shared_ux_page_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data title: "@kbn/shared-ux-page-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-no-data'] --- import kbnSharedUxPageNoDataObj from './kbn_shared_ux_page_no_data.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_no_data_config.mdx b/api_docs/kbn_shared_ux_page_no_data_config.mdx index a27af2bbd5e81..0c06966ad0498 100644 --- a/api_docs/kbn_shared_ux_page_no_data_config.mdx +++ b/api_docs/kbn_shared_ux_page_no_data_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data-config title: "@kbn/shared-ux-page-no-data-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data-config plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-no-data-config'] --- import kbnSharedUxPageNoDataConfigObj from './kbn_shared_ux_page_no_data_config.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx b/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx index 4c59157c78995..094cfa4584675 100644 --- a/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data-config-mocks title: "@kbn/shared-ux-page-no-data-config-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data-config-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-no-data-config-mocks'] --- import kbnSharedUxPageNoDataConfigMocksObj from './kbn_shared_ux_page_no_data_config_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_no_data_mocks.mdx b/api_docs/kbn_shared_ux_page_no_data_mocks.mdx index 917a08da1770d..2aea6ff8287d7 100644 --- a/api_docs/kbn_shared_ux_page_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data-mocks title: "@kbn/shared-ux-page-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-no-data-mocks'] --- import kbnSharedUxPageNoDataMocksObj from './kbn_shared_ux_page_no_data_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_solution_nav.mdx b/api_docs/kbn_shared_ux_page_solution_nav.mdx index 769be2671c9bb..d435baba9013a 100644 --- a/api_docs/kbn_shared_ux_page_solution_nav.mdx +++ b/api_docs/kbn_shared_ux_page_solution_nav.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-solution-nav title: "@kbn/shared-ux-page-solution-nav" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-solution-nav plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-solution-nav'] --- import kbnSharedUxPageSolutionNavObj from './kbn_shared_ux_page_solution_nav.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_prompt_no_data_views.mdx b/api_docs/kbn_shared_ux_prompt_no_data_views.mdx index 2f763776bb45c..0c72ee4474684 100644 --- a/api_docs/kbn_shared_ux_prompt_no_data_views.mdx +++ b/api_docs/kbn_shared_ux_prompt_no_data_views.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-prompt-no-data-views title: "@kbn/shared-ux-prompt-no-data-views" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-prompt-no-data-views plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-prompt-no-data-views'] --- import kbnSharedUxPromptNoDataViewsObj from './kbn_shared_ux_prompt_no_data_views.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx b/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx index ee1c69433f5ce..a9a77975c9221 100644 --- a/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx +++ b/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-prompt-no-data-views-mocks title: "@kbn/shared-ux-prompt-no-data-views-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-prompt-no-data-views-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-prompt-no-data-views-mocks'] --- import kbnSharedUxPromptNoDataViewsMocksObj from './kbn_shared_ux_prompt_no_data_views_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_prompt_not_found.mdx b/api_docs/kbn_shared_ux_prompt_not_found.mdx index 451602b0280b2..b99061ce622fd 100644 --- a/api_docs/kbn_shared_ux_prompt_not_found.mdx +++ b/api_docs/kbn_shared_ux_prompt_not_found.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-prompt-not-found title: "@kbn/shared-ux-prompt-not-found" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-prompt-not-found plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-prompt-not-found'] --- import kbnSharedUxPromptNotFoundObj from './kbn_shared_ux_prompt_not_found.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_router.mdx b/api_docs/kbn_shared_ux_router.mdx index e55a9e5a87fd7..deb2ca5631c96 100644 --- a/api_docs/kbn_shared_ux_router.mdx +++ b/api_docs/kbn_shared_ux_router.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-router title: "@kbn/shared-ux-router" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-router plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-router'] --- import kbnSharedUxRouterObj from './kbn_shared_ux_router.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_router_mocks.mdx b/api_docs/kbn_shared_ux_router_mocks.mdx index 012225de120a6..f31f259975aba 100644 --- a/api_docs/kbn_shared_ux_router_mocks.mdx +++ b/api_docs/kbn_shared_ux_router_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-router-mocks title: "@kbn/shared-ux-router-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-router-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-router-mocks'] --- import kbnSharedUxRouterMocksObj from './kbn_shared_ux_router_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_storybook_config.mdx b/api_docs/kbn_shared_ux_storybook_config.mdx index 4a0db34a2bcf7..e095cc67eee94 100644 --- a/api_docs/kbn_shared_ux_storybook_config.mdx +++ b/api_docs/kbn_shared_ux_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-storybook-config title: "@kbn/shared-ux-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-storybook-config plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-storybook-config'] --- import kbnSharedUxStorybookConfigObj from './kbn_shared_ux_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_storybook_mock.mdx b/api_docs/kbn_shared_ux_storybook_mock.mdx index d43c306da505c..2c0db0cc2c527 100644 --- a/api_docs/kbn_shared_ux_storybook_mock.mdx +++ b/api_docs/kbn_shared_ux_storybook_mock.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-storybook-mock title: "@kbn/shared-ux-storybook-mock" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-storybook-mock plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-storybook-mock'] --- import kbnSharedUxStorybookMockObj from './kbn_shared_ux_storybook_mock.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_utility.mdx b/api_docs/kbn_shared_ux_utility.mdx index ad470b123cf87..a2637ba531413 100644 --- a/api_docs/kbn_shared_ux_utility.mdx +++ b/api_docs/kbn_shared_ux_utility.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-utility title: "@kbn/shared-ux-utility" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-utility plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-utility'] --- import kbnSharedUxUtilityObj from './kbn_shared_ux_utility.devdocs.json'; diff --git a/api_docs/kbn_slo_schema.mdx b/api_docs/kbn_slo_schema.mdx index 8f349ec9bffdb..7277273b4f3af 100644 --- a/api_docs/kbn_slo_schema.mdx +++ b/api_docs/kbn_slo_schema.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-slo-schema title: "@kbn/slo-schema" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/slo-schema plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/slo-schema'] --- import kbnSloSchemaObj from './kbn_slo_schema.devdocs.json'; diff --git a/api_docs/kbn_some_dev_log.mdx b/api_docs/kbn_some_dev_log.mdx index 05c653c1387ac..a8e1477a9e314 100644 --- a/api_docs/kbn_some_dev_log.mdx +++ b/api_docs/kbn_some_dev_log.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-some-dev-log title: "@kbn/some-dev-log" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/some-dev-log plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/some-dev-log'] --- import kbnSomeDevLogObj from './kbn_some_dev_log.devdocs.json'; diff --git a/api_docs/kbn_std.mdx b/api_docs/kbn_std.mdx index bd49cd228f030..f3a06b856febe 100644 --- a/api_docs/kbn_std.mdx +++ b/api_docs/kbn_std.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-std title: "@kbn/std" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/std plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/std'] --- import kbnStdObj from './kbn_std.devdocs.json'; diff --git a/api_docs/kbn_stdio_dev_helpers.mdx b/api_docs/kbn_stdio_dev_helpers.mdx index 69dfc7a643350..13ee0ca551130 100644 --- a/api_docs/kbn_stdio_dev_helpers.mdx +++ b/api_docs/kbn_stdio_dev_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-stdio-dev-helpers title: "@kbn/stdio-dev-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/stdio-dev-helpers plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/stdio-dev-helpers'] --- import kbnStdioDevHelpersObj from './kbn_stdio_dev_helpers.devdocs.json'; diff --git a/api_docs/kbn_storybook.mdx b/api_docs/kbn_storybook.mdx index 3578cc469364c..00cecb5bcebce 100644 --- a/api_docs/kbn_storybook.mdx +++ b/api_docs/kbn_storybook.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-storybook title: "@kbn/storybook" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/storybook plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/storybook'] --- import kbnStorybookObj from './kbn_storybook.devdocs.json'; diff --git a/api_docs/kbn_telemetry_tools.mdx b/api_docs/kbn_telemetry_tools.mdx index 509030762b523..025348ebad88f 100644 --- a/api_docs/kbn_telemetry_tools.mdx +++ b/api_docs/kbn_telemetry_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-telemetry-tools title: "@kbn/telemetry-tools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/telemetry-tools plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/telemetry-tools'] --- import kbnTelemetryToolsObj from './kbn_telemetry_tools.devdocs.json'; diff --git a/api_docs/kbn_test.mdx b/api_docs/kbn_test.mdx index 9fb40ee693332..ffa91bb6dedda 100644 --- a/api_docs/kbn_test.mdx +++ b/api_docs/kbn_test.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-test title: "@kbn/test" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/test plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/test'] --- import kbnTestObj from './kbn_test.devdocs.json'; diff --git a/api_docs/kbn_test_jest_helpers.mdx b/api_docs/kbn_test_jest_helpers.mdx index 778190dbcc68c..cdb0f66f0df46 100644 --- a/api_docs/kbn_test_jest_helpers.mdx +++ b/api_docs/kbn_test_jest_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-test-jest-helpers title: "@kbn/test-jest-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/test-jest-helpers plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/test-jest-helpers'] --- import kbnTestJestHelpersObj from './kbn_test_jest_helpers.devdocs.json'; diff --git a/api_docs/kbn_test_subj_selector.mdx b/api_docs/kbn_test_subj_selector.mdx index 9b5cf264dc543..729c70729cbed 100644 --- a/api_docs/kbn_test_subj_selector.mdx +++ b/api_docs/kbn_test_subj_selector.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-test-subj-selector title: "@kbn/test-subj-selector" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/test-subj-selector plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/test-subj-selector'] --- import kbnTestSubjSelectorObj from './kbn_test_subj_selector.devdocs.json'; diff --git a/api_docs/kbn_text_based_editor.mdx b/api_docs/kbn_text_based_editor.mdx index 6836e37a2b6d0..d09a38a0e7506 100644 --- a/api_docs/kbn_text_based_editor.mdx +++ b/api_docs/kbn_text_based_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-text-based-editor title: "@kbn/text-based-editor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/text-based-editor plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/text-based-editor'] --- import kbnTextBasedEditorObj from './kbn_text_based_editor.devdocs.json'; diff --git a/api_docs/kbn_tooling_log.mdx b/api_docs/kbn_tooling_log.mdx index a37127c1df535..93f3da35cadd8 100644 --- a/api_docs/kbn_tooling_log.mdx +++ b/api_docs/kbn_tooling_log.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-tooling-log title: "@kbn/tooling-log" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/tooling-log plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/tooling-log'] --- import kbnToolingLogObj from './kbn_tooling_log.devdocs.json'; diff --git a/api_docs/kbn_ts_projects.mdx b/api_docs/kbn_ts_projects.mdx index e6ad644efc097..42d11eb87d02c 100644 --- a/api_docs/kbn_ts_projects.mdx +++ b/api_docs/kbn_ts_projects.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ts-projects title: "@kbn/ts-projects" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ts-projects plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ts-projects'] --- import kbnTsProjectsObj from './kbn_ts_projects.devdocs.json'; diff --git a/api_docs/kbn_typed_react_router_config.mdx b/api_docs/kbn_typed_react_router_config.mdx index 99d8a3be6eafb..7b32af1f63273 100644 --- a/api_docs/kbn_typed_react_router_config.mdx +++ b/api_docs/kbn_typed_react_router_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-typed-react-router-config title: "@kbn/typed-react-router-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/typed-react-router-config plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/typed-react-router-config'] --- import kbnTypedReactRouterConfigObj from './kbn_typed_react_router_config.devdocs.json'; diff --git a/api_docs/kbn_ui_actions_browser.mdx b/api_docs/kbn_ui_actions_browser.mdx index 91320501c8c49..3555d781dbd88 100644 --- a/api_docs/kbn_ui_actions_browser.mdx +++ b/api_docs/kbn_ui_actions_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ui-actions-browser title: "@kbn/ui-actions-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ui-actions-browser plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ui-actions-browser'] --- import kbnUiActionsBrowserObj from './kbn_ui_actions_browser.devdocs.json'; diff --git a/api_docs/kbn_ui_shared_deps_src.mdx b/api_docs/kbn_ui_shared_deps_src.mdx index c21357cf59ca9..2304a4347ec27 100644 --- a/api_docs/kbn_ui_shared_deps_src.mdx +++ b/api_docs/kbn_ui_shared_deps_src.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ui-shared-deps-src title: "@kbn/ui-shared-deps-src" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ui-shared-deps-src plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ui-shared-deps-src'] --- import kbnUiSharedDepsSrcObj from './kbn_ui_shared_deps_src.devdocs.json'; diff --git a/api_docs/kbn_ui_theme.mdx b/api_docs/kbn_ui_theme.mdx index 75053d55c6053..2bbc7a8d1cba0 100644 --- a/api_docs/kbn_ui_theme.mdx +++ b/api_docs/kbn_ui_theme.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ui-theme title: "@kbn/ui-theme" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ui-theme plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ui-theme'] --- import kbnUiThemeObj from './kbn_ui_theme.devdocs.json'; diff --git a/api_docs/kbn_unified_field_list.mdx b/api_docs/kbn_unified_field_list.mdx index 74f9d98fb3c6d..197883280441e 100644 --- a/api_docs/kbn_unified_field_list.mdx +++ b/api_docs/kbn_unified_field_list.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-unified-field-list title: "@kbn/unified-field-list" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/unified-field-list plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/unified-field-list'] --- import kbnUnifiedFieldListObj from './kbn_unified_field_list.devdocs.json'; diff --git a/api_docs/kbn_url_state.mdx b/api_docs/kbn_url_state.mdx index 7df4ed3cc75eb..99d3d1f7977fb 100644 --- a/api_docs/kbn_url_state.mdx +++ b/api_docs/kbn_url_state.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-url-state title: "@kbn/url-state" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/url-state plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/url-state'] --- import kbnUrlStateObj from './kbn_url_state.devdocs.json'; diff --git a/api_docs/kbn_user_profile_components.mdx b/api_docs/kbn_user_profile_components.mdx index 661ebd2b29200..f5c4f01b97ad1 100644 --- a/api_docs/kbn_user_profile_components.mdx +++ b/api_docs/kbn_user_profile_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-user-profile-components title: "@kbn/user-profile-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/user-profile-components plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/user-profile-components'] --- import kbnUserProfileComponentsObj from './kbn_user_profile_components.devdocs.json'; diff --git a/api_docs/kbn_utility_types.mdx b/api_docs/kbn_utility_types.mdx index f3e6648cf6609..250bdcbc1aa49 100644 --- a/api_docs/kbn_utility_types.mdx +++ b/api_docs/kbn_utility_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-utility-types title: "@kbn/utility-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/utility-types plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/utility-types'] --- import kbnUtilityTypesObj from './kbn_utility_types.devdocs.json'; diff --git a/api_docs/kbn_utility_types_jest.mdx b/api_docs/kbn_utility_types_jest.mdx index 47e6d5f7920a9..3baff7116f642 100644 --- a/api_docs/kbn_utility_types_jest.mdx +++ b/api_docs/kbn_utility_types_jest.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-utility-types-jest title: "@kbn/utility-types-jest" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/utility-types-jest plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/utility-types-jest'] --- import kbnUtilityTypesJestObj from './kbn_utility_types_jest.devdocs.json'; diff --git a/api_docs/kbn_utils.mdx b/api_docs/kbn_utils.mdx index c0fcebd583608..2eb842baa20c7 100644 --- a/api_docs/kbn_utils.mdx +++ b/api_docs/kbn_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-utils title: "@kbn/utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/utils plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/utils'] --- import kbnUtilsObj from './kbn_utils.devdocs.json'; diff --git a/api_docs/kbn_yarn_lock_validator.mdx b/api_docs/kbn_yarn_lock_validator.mdx index 346c1196c961e..aa28233dd93ef 100644 --- a/api_docs/kbn_yarn_lock_validator.mdx +++ b/api_docs/kbn_yarn_lock_validator.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-yarn-lock-validator title: "@kbn/yarn-lock-validator" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/yarn-lock-validator plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/yarn-lock-validator'] --- import kbnYarnLockValidatorObj from './kbn_yarn_lock_validator.devdocs.json'; diff --git a/api_docs/kibana_overview.mdx b/api_docs/kibana_overview.mdx index a696d5baf5445..d92560bf816f8 100644 --- a/api_docs/kibana_overview.mdx +++ b/api_docs/kibana_overview.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kibanaOverview title: "kibanaOverview" image: https://source.unsplash.com/400x175/?github description: API docs for the kibanaOverview plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kibanaOverview'] --- import kibanaOverviewObj from './kibana_overview.devdocs.json'; diff --git a/api_docs/kibana_react.mdx b/api_docs/kibana_react.mdx index 574684d60f3b7..37cfe0273feab 100644 --- a/api_docs/kibana_react.mdx +++ b/api_docs/kibana_react.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kibanaReact title: "kibanaReact" image: https://source.unsplash.com/400x175/?github description: API docs for the kibanaReact plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kibanaReact'] --- import kibanaReactObj from './kibana_react.devdocs.json'; diff --git a/api_docs/kibana_utils.mdx b/api_docs/kibana_utils.mdx index 8372dee9c1396..4da280259a834 100644 --- a/api_docs/kibana_utils.mdx +++ b/api_docs/kibana_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kibanaUtils title: "kibanaUtils" image: https://source.unsplash.com/400x175/?github description: API docs for the kibanaUtils plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kibanaUtils'] --- import kibanaUtilsObj from './kibana_utils.devdocs.json'; diff --git a/api_docs/kubernetes_security.mdx b/api_docs/kubernetes_security.mdx index 7e6618b635024..8b7d914082cf6 100644 --- a/api_docs/kubernetes_security.mdx +++ b/api_docs/kubernetes_security.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kubernetesSecurity title: "kubernetesSecurity" image: https://source.unsplash.com/400x175/?github description: API docs for the kubernetesSecurity plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kubernetesSecurity'] --- import kubernetesSecurityObj from './kubernetes_security.devdocs.json'; diff --git a/api_docs/lens.mdx b/api_docs/lens.mdx index 345edf69dfb80..97bf662cf4828 100644 --- a/api_docs/lens.mdx +++ b/api_docs/lens.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/lens title: "lens" image: https://source.unsplash.com/400x175/?github description: API docs for the lens plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'lens'] --- import lensObj from './lens.devdocs.json'; diff --git a/api_docs/license_api_guard.mdx b/api_docs/license_api_guard.mdx index 1f99ec42829fc..c8d22fc2d5cd7 100644 --- a/api_docs/license_api_guard.mdx +++ b/api_docs/license_api_guard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/licenseApiGuard title: "licenseApiGuard" image: https://source.unsplash.com/400x175/?github description: API docs for the licenseApiGuard plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'licenseApiGuard'] --- import licenseApiGuardObj from './license_api_guard.devdocs.json'; diff --git a/api_docs/license_management.mdx b/api_docs/license_management.mdx index da55979194656..3b75a26d04edf 100644 --- a/api_docs/license_management.mdx +++ b/api_docs/license_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/licenseManagement title: "licenseManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the licenseManagement plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'licenseManagement'] --- import licenseManagementObj from './license_management.devdocs.json'; diff --git a/api_docs/licensing.mdx b/api_docs/licensing.mdx index a42fc429ffcb2..a9f1dde029188 100644 --- a/api_docs/licensing.mdx +++ b/api_docs/licensing.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/licensing title: "licensing" image: https://source.unsplash.com/400x175/?github description: API docs for the licensing plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'licensing'] --- import licensingObj from './licensing.devdocs.json'; diff --git a/api_docs/lists.mdx b/api_docs/lists.mdx index 1f421c1bc023b..93fb9052342da 100644 --- a/api_docs/lists.mdx +++ b/api_docs/lists.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/lists title: "lists" image: https://source.unsplash.com/400x175/?github description: API docs for the lists plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'lists'] --- import listsObj from './lists.devdocs.json'; diff --git a/api_docs/logs_shared.mdx b/api_docs/logs_shared.mdx index 7e3b3fe90a1f9..b818662105c9b 100644 --- a/api_docs/logs_shared.mdx +++ b/api_docs/logs_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/logsShared title: "logsShared" image: https://source.unsplash.com/400x175/?github description: API docs for the logsShared plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'logsShared'] --- import logsSharedObj from './logs_shared.devdocs.json'; diff --git a/api_docs/management.mdx b/api_docs/management.mdx index 7189862b96a19..f45a718fb6f8b 100644 --- a/api_docs/management.mdx +++ b/api_docs/management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/management title: "management" image: https://source.unsplash.com/400x175/?github description: API docs for the management plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'management'] --- import managementObj from './management.devdocs.json'; diff --git a/api_docs/maps.mdx b/api_docs/maps.mdx index 06b797e993e40..aa246d5ab1eb8 100644 --- a/api_docs/maps.mdx +++ b/api_docs/maps.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/maps title: "maps" image: https://source.unsplash.com/400x175/?github description: API docs for the maps plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'maps'] --- import mapsObj from './maps.devdocs.json'; diff --git a/api_docs/maps_ems.mdx b/api_docs/maps_ems.mdx index 20aed9c29a962..252175600b857 100644 --- a/api_docs/maps_ems.mdx +++ b/api_docs/maps_ems.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/mapsEms title: "mapsEms" image: https://source.unsplash.com/400x175/?github description: API docs for the mapsEms plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'mapsEms'] --- import mapsEmsObj from './maps_ems.devdocs.json'; diff --git a/api_docs/ml.mdx b/api_docs/ml.mdx index 3a20255aafcfa..50e73cae9af22 100644 --- a/api_docs/ml.mdx +++ b/api_docs/ml.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ml title: "ml" image: https://source.unsplash.com/400x175/?github description: API docs for the ml plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ml'] --- import mlObj from './ml.devdocs.json'; diff --git a/api_docs/monitoring.mdx b/api_docs/monitoring.mdx index 13c810a89e9a7..a8b1c0c970833 100644 --- a/api_docs/monitoring.mdx +++ b/api_docs/monitoring.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/monitoring title: "monitoring" image: https://source.unsplash.com/400x175/?github description: API docs for the monitoring plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'monitoring'] --- import monitoringObj from './monitoring.devdocs.json'; diff --git a/api_docs/monitoring_collection.mdx b/api_docs/monitoring_collection.mdx index 12dbb8a983ed9..a0e1c0bf758a9 100644 --- a/api_docs/monitoring_collection.mdx +++ b/api_docs/monitoring_collection.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/monitoringCollection title: "monitoringCollection" image: https://source.unsplash.com/400x175/?github description: API docs for the monitoringCollection plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'monitoringCollection'] --- import monitoringCollectionObj from './monitoring_collection.devdocs.json'; diff --git a/api_docs/navigation.mdx b/api_docs/navigation.mdx index a634607bcadbd..21c06f143890d 100644 --- a/api_docs/navigation.mdx +++ b/api_docs/navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/navigation title: "navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the navigation plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'navigation'] --- import navigationObj from './navigation.devdocs.json'; diff --git a/api_docs/newsfeed.mdx b/api_docs/newsfeed.mdx index b030db681f49a..52ecc85a7512e 100644 --- a/api_docs/newsfeed.mdx +++ b/api_docs/newsfeed.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/newsfeed title: "newsfeed" image: https://source.unsplash.com/400x175/?github description: API docs for the newsfeed plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'newsfeed'] --- import newsfeedObj from './newsfeed.devdocs.json'; diff --git a/api_docs/notifications.mdx b/api_docs/notifications.mdx index 6be1d3b6a40b2..32490b761c3d7 100644 --- a/api_docs/notifications.mdx +++ b/api_docs/notifications.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/notifications title: "notifications" image: https://source.unsplash.com/400x175/?github description: API docs for the notifications plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'notifications'] --- import notificationsObj from './notifications.devdocs.json'; diff --git a/api_docs/observability.devdocs.json b/api_docs/observability.devdocs.json index ec1e5f0bbe268..09393b66217b2 100644 --- a/api_docs/observability.devdocs.json +++ b/api_docs/observability.devdocs.json @@ -843,6 +843,60 @@ "returnComment": [], "initialIsOpen": false }, + { + "parentPluginId": "observability", + "id": "def-public.useSummaryTimeRange", + "type": "Function", + "tags": [], + "label": "useSummaryTimeRange", + "description": [], + "signature": [ + "(unifiedSearchDateRange: ", + { + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.TimeRange", + "text": "TimeRange" + }, + ") => ", + { + "pluginId": "triggersActionsUi", + "scope": "public", + "docId": "kibTriggersActionsUiPluginApi", + "section": "def-public.AlertSummaryTimeRange", + "text": "AlertSummaryTimeRange" + } + ], + "path": "x-pack/plugins/observability/public/hooks/use_summary_time_range.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "observability", + "id": "def-public.useSummaryTimeRange.$1", + "type": "Object", + "tags": [], + "label": "unifiedSearchDateRange", + "description": [], + "signature": [ + { + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.TimeRange", + "text": "TimeRange" + } + ], + "path": "x-pack/plugins/observability/public/hooks/use_summary_time_range.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, { "parentPluginId": "observability", "id": "def-public.useTimeBuckets", @@ -7668,7 +7722,7 @@ "label": "config", "description": [], "signature": [ - "{ readonly aiAssistant?: Readonly<{} & { enabled: boolean; feedback: Readonly<{} & { enabled: boolean; url: string; }>; provider: Readonly<{} & { openAI: Readonly<{} & { apiKey: string; model: string; }>; }> | Readonly<{} & { azureOpenAI: Readonly<{} & { apiKey: string; resourceName: string; deploymentId: string; }>; }>; }> | undefined; readonly enabled: boolean; readonly annotations: Readonly<{} & { index: string; enabled: boolean; }>; readonly unsafe: Readonly<{} & { alertDetails: Readonly<{} & { uptime: Readonly<{} & { enabled: boolean; }>; metrics: Readonly<{} & { enabled: boolean; }>; logs: Readonly<{} & { enabled: boolean; }>; }>; thresholdRule: Readonly<{} & { enabled: boolean; }>; }>; readonly thresholdRule: Readonly<{} & { groupByPageSize: number; }>; readonly compositeSlo: Readonly<{} & { enabled: boolean; }>; }" + "{ readonly aiAssistant?: Readonly<{} & { enabled: boolean; feedback: Readonly<{ url?: string | undefined; } & { enabled: boolean; }>; provider: Readonly<{} & { openAI: Readonly<{} & { apiKey: string; model: string; }>; }> | Readonly<{} & { azureOpenAI: Readonly<{} & { apiKey: string; resourceName: string; deploymentId: string; }>; }>; }> | undefined; readonly enabled: boolean; readonly annotations: Readonly<{} & { index: string; enabled: boolean; }>; readonly unsafe: Readonly<{} & { alertDetails: Readonly<{} & { uptime: Readonly<{} & { enabled: boolean; }>; metrics: Readonly<{} & { enabled: boolean; }>; logs: Readonly<{} & { enabled: boolean; }>; }>; thresholdRule: Readonly<{} & { enabled: boolean; }>; }>; readonly thresholdRule: Readonly<{} & { groupByPageSize: number; }>; readonly compositeSlo: Readonly<{} & { enabled: boolean; }>; }" ], "path": "x-pack/plugins/observability/server/routes/types.ts", "deprecated": false, @@ -9598,7 +9652,7 @@ "label": "ObservabilityConfig", "description": [], "signature": [ - "{ readonly aiAssistant?: Readonly<{} & { enabled: boolean; feedback: Readonly<{} & { enabled: boolean; url: string; }>; provider: Readonly<{} & { openAI: Readonly<{} & { apiKey: string; model: string; }>; }> | Readonly<{} & { azureOpenAI: Readonly<{} & { apiKey: string; resourceName: string; deploymentId: string; }>; }>; }> | undefined; readonly enabled: boolean; readonly annotations: Readonly<{} & { index: string; enabled: boolean; }>; readonly unsafe: Readonly<{} & { alertDetails: Readonly<{} & { uptime: Readonly<{} & { enabled: boolean; }>; metrics: Readonly<{} & { enabled: boolean; }>; logs: Readonly<{} & { enabled: boolean; }>; }>; thresholdRule: Readonly<{} & { enabled: boolean; }>; }>; readonly thresholdRule: Readonly<{} & { groupByPageSize: number; }>; readonly compositeSlo: Readonly<{} & { enabled: boolean; }>; }" + "{ readonly aiAssistant?: Readonly<{} & { enabled: boolean; feedback: Readonly<{ url?: string | undefined; } & { enabled: boolean; }>; provider: Readonly<{} & { openAI: Readonly<{} & { apiKey: string; model: string; }>; }> | Readonly<{} & { azureOpenAI: Readonly<{} & { apiKey: string; resourceName: string; deploymentId: string; }>; }>; }> | undefined; readonly enabled: boolean; readonly annotations: Readonly<{} & { index: string; enabled: boolean; }>; readonly unsafe: Readonly<{} & { alertDetails: Readonly<{} & { uptime: Readonly<{} & { enabled: boolean; }>; metrics: Readonly<{} & { enabled: boolean; }>; logs: Readonly<{} & { enabled: boolean; }>; }>; thresholdRule: Readonly<{} & { enabled: boolean; }>; }>; readonly thresholdRule: Readonly<{} & { groupByPageSize: number; }>; readonly compositeSlo: Readonly<{} & { enabled: boolean; }>; }" ], "path": "x-pack/plugins/observability/server/index.ts", "deprecated": false, @@ -15096,21 +15150,6 @@ "trackAdoption": false, "initialIsOpen": false }, - { - "parentPluginId": "observability", - "id": "def-common.NETWORK_TIMINGS_FIELDS", - "type": "Array", - "tags": [], - "label": "NETWORK_TIMINGS_FIELDS", - "description": [], - "signature": [ - "string[]" - ], - "path": "x-pack/plugins/observability/common/field_names/synthetics.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, { "parentPluginId": "observability", "id": "def-common.observabilityAppId", @@ -15216,141 +15255,6 @@ "trackAdoption": false, "initialIsOpen": false }, - { - "parentPluginId": "observability", - "id": "def-common.SYNTHETICS_BLOCKED_TIMINGS", - "type": "string", - "tags": [], - "label": "SYNTHETICS_BLOCKED_TIMINGS", - "description": [], - "signature": [ - "\"synthetics.payload.timings.blocked\"" - ], - "path": "x-pack/plugins/observability/common/field_names/synthetics.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "observability", - "id": "def-common.SYNTHETICS_CONNECT_TIMINGS", - "type": "string", - "tags": [], - "label": "SYNTHETICS_CONNECT_TIMINGS", - "description": [], - "signature": [ - "\"synthetics.payload.timings.connect\"" - ], - "path": "x-pack/plugins/observability/common/field_names/synthetics.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "observability", - "id": "def-common.SYNTHETICS_DNS_TIMINGS", - "type": "string", - "tags": [], - "label": "SYNTHETICS_DNS_TIMINGS", - "description": [], - "signature": [ - "\"synthetics.payload.timings.dns\"" - ], - "path": "x-pack/plugins/observability/common/field_names/synthetics.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "observability", - "id": "def-common.SYNTHETICS_RECEIVE_TIMINGS", - "type": "string", - "tags": [], - "label": "SYNTHETICS_RECEIVE_TIMINGS", - "description": [], - "signature": [ - "\"synthetics.payload.timings.receive\"" - ], - "path": "x-pack/plugins/observability/common/field_names/synthetics.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "observability", - "id": "def-common.SYNTHETICS_SEND_TIMINGS", - "type": "string", - "tags": [], - "label": "SYNTHETICS_SEND_TIMINGS", - "description": [], - "signature": [ - "\"synthetics.payload.timings.send\"" - ], - "path": "x-pack/plugins/observability/common/field_names/synthetics.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "observability", - "id": "def-common.SYNTHETICS_SSL_TIMINGS", - "type": "string", - "tags": [], - "label": "SYNTHETICS_SSL_TIMINGS", - "description": [], - "signature": [ - "\"synthetics.payload.timings.ssl\"" - ], - "path": "x-pack/plugins/observability/common/field_names/synthetics.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "observability", - "id": "def-common.SYNTHETICS_STEP_DURATION", - "type": "string", - "tags": [], - "label": "SYNTHETICS_STEP_DURATION", - "description": [], - "signature": [ - "\"synthetics.step.duration.us\"" - ], - "path": "x-pack/plugins/observability/common/field_names/synthetics.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "observability", - "id": "def-common.SYNTHETICS_TOTAL_TIMINGS", - "type": "string", - "tags": [], - "label": "SYNTHETICS_TOTAL_TIMINGS", - "description": [], - "signature": [ - "\"synthetics.payload.timings.total\"" - ], - "path": "x-pack/plugins/observability/common/field_names/synthetics.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "observability", - "id": "def-common.SYNTHETICS_WAIT_TIMINGS", - "type": "string", - "tags": [], - "label": "SYNTHETICS_WAIT_TIMINGS", - "description": [], - "signature": [ - "\"synthetics.payload.timings.wait\"" - ], - "path": "x-pack/plugins/observability/common/field_names/synthetics.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, { "parentPluginId": "observability", "id": "def-common.syntheticsEditMonitorLocatorID", diff --git a/api_docs/observability.mdx b/api_docs/observability.mdx index e3991f30607e3..8c902a2a10759 100644 --- a/api_docs/observability.mdx +++ b/api_docs/observability.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observability title: "observability" image: https://source.unsplash.com/400x175/?github description: API docs for the observability plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observability'] --- import observabilityObj from './observability.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/actionable-observability](https://github.com/orgs/elastic/team | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 524 | 45 | 516 | 19 | +| 516 | 45 | 508 | 19 | ## Client diff --git a/api_docs/observability_onboarding.mdx b/api_docs/observability_onboarding.mdx index 3a9e4887551e1..f17b2fde5f541 100644 --- a/api_docs/observability_onboarding.mdx +++ b/api_docs/observability_onboarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityOnboarding title: "observabilityOnboarding" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityOnboarding plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityOnboarding'] --- import observabilityOnboardingObj from './observability_onboarding.devdocs.json'; diff --git a/api_docs/observability_shared.devdocs.json b/api_docs/observability_shared.devdocs.json index 2a32f416393dd..0ac067f093627 100644 --- a/api_docs/observability_shared.devdocs.json +++ b/api_docs/observability_shared.devdocs.json @@ -2811,7 +2811,7 @@ "signature": [ "\"agent\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -2826,7 +2826,7 @@ "signature": [ "\"agent.name\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -2841,7 +2841,7 @@ "signature": [ "\"agent.version\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -2871,7 +2871,7 @@ "signature": [ "\"client.geo\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -2886,7 +2886,7 @@ "signature": [ "\"client.geo.country_iso_code\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -2901,7 +2901,7 @@ "signature": [ "\"client.geo.country_name\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -2916,7 +2916,7 @@ "signature": [ "\"cloud\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -2931,7 +2931,7 @@ "signature": [ "\"cloud.availability_zone\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -2946,7 +2946,7 @@ "signature": [ "\"cloud.machine.type\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -2961,7 +2961,7 @@ "signature": [ "\"cloud.provider\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -2976,7 +2976,7 @@ "signature": [ "\"cloud.region\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -2991,7 +2991,7 @@ "signature": [ "\"transaction.experience.cls\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3006,7 +3006,7 @@ "signature": [ "\"container.id\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3021,7 +3021,7 @@ "signature": [ "\"destination.address\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3036,7 +3036,7 @@ "signature": [ "\"error.culprit\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3051,7 +3051,7 @@ "signature": [ "\"error.exception.handled\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3066,7 +3066,7 @@ "signature": [ "\"error.exception.message\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3081,7 +3081,7 @@ "signature": [ "\"error.exception.type\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3096,7 +3096,7 @@ "signature": [ "\"error.grouping_key\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3111,7 +3111,7 @@ "signature": [ "\"error.log.level\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3126,7 +3126,7 @@ "signature": [ "\"error.log.message\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3141,7 +3141,7 @@ "signature": [ "\"error.page.url\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3156,7 +3156,7 @@ "signature": [ "\"event.outcome\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3171,7 +3171,7 @@ "signature": [ "\"transaction.marks.agent.firstContentfulPaint\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3186,7 +3186,7 @@ "signature": [ "\"transaction.experience.fid\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3201,7 +3201,7 @@ "signature": [ "\"host\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3216,7 +3216,7 @@ "signature": [ "\"host.hostname\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3231,7 +3231,7 @@ "signature": [ "\"host.os.platform\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3246,7 +3246,7 @@ "signature": [ "\"http.request.method\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3261,7 +3261,7 @@ "signature": [ "\"http.response.status_code\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3276,7 +3276,7 @@ "signature": [ "\"kubernetes\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3291,7 +3291,7 @@ "signature": [ "\"labels.name\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3306,7 +3306,7 @@ "signature": [ "\"transaction.marks.agent.largestContentfulPaint\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3321,7 +3321,7 @@ "signature": [ "\"system.process.cgroup.memory.mem.limit.bytes\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3336,7 +3336,7 @@ "signature": [ "\"system.process.cgroup.memory.mem.usage.bytes\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3351,7 +3351,7 @@ "signature": [ "\"jvm.gc.count\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3366,7 +3366,7 @@ "signature": [ "\"jvm.gc.time\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3381,7 +3381,7 @@ "signature": [ "\"jvm.memory.heap.committed\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3396,7 +3396,7 @@ "signature": [ "\"jvm.memory.heap.max\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3411,7 +3411,7 @@ "signature": [ "\"jvm.memory.heap.used\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3426,7 +3426,7 @@ "signature": [ "\"jvm.memory.non_heap.committed\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3441,7 +3441,7 @@ "signature": [ "\"jvm.memory.non_heap.max\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3456,7 +3456,7 @@ "signature": [ "\"jvm.memory.non_heap.used\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3471,7 +3471,7 @@ "signature": [ "\"jvm.thread.count\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3486,7 +3486,7 @@ "signature": [ "\"system.process.cpu.total.norm.pct\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3501,7 +3501,7 @@ "signature": [ "\"system.cpu.total.norm.pct\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3516,7 +3516,7 @@ "signature": [ "\"system.cpu.usage\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3531,7 +3531,7 @@ "signature": [ "\"system.memory.actual.free\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3546,7 +3546,7 @@ "signature": [ "\"system.memory.usage\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3561,7 +3561,22 @@ "signature": [ "\"system.memory.total\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "observabilityShared", + "id": "def-common.NETWORK_TIMINGS_FIELDS", + "type": "Array", + "tags": [], + "label": "NETWORK_TIMINGS_FIELDS", + "description": [], + "signature": [ + "string[]" + ], + "path": "x-pack/plugins/observability_shared/common/field_names/synthetics.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3606,7 +3621,7 @@ "signature": [ "\"observer.hostname\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3621,7 +3636,7 @@ "signature": [ "\"observer.listening\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3636,7 +3651,7 @@ "signature": [ "\"observer.version_major\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3651,7 +3666,7 @@ "signature": [ "\"parent.id\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3666,7 +3681,7 @@ "signature": [ "\"kubernetes.pod.name\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3681,7 +3696,7 @@ "signature": [ "\"processor.event\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3696,7 +3711,7 @@ "signature": [ "\"profile.alloc_objects.count\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3711,7 +3726,7 @@ "signature": [ "\"profile.alloc_space.bytes\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3726,7 +3741,7 @@ "signature": [ "\"profile.cpu.ns\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3741,7 +3756,7 @@ "signature": [ "\"profile.duration\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3756,7 +3771,7 @@ "signature": [ "\"profile.id\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3771,7 +3786,7 @@ "signature": [ "\"profile.inuse_objects.count\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3786,7 +3801,7 @@ "signature": [ "\"profile.inuse_space.bytes\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3801,7 +3816,7 @@ "signature": [ "\"profile.samples.count\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3816,7 +3831,7 @@ "signature": [ "\"profile.stack\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3831,7 +3846,7 @@ "signature": [ "\"profile.top.id\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3846,7 +3861,7 @@ "signature": [ "\"profile.wall.us\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3861,7 +3876,7 @@ "signature": [ "\"service\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3876,7 +3891,7 @@ "signature": [ "\"service.environment\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3891,7 +3906,7 @@ "signature": [ "\"service.framework.name\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3906,7 +3921,7 @@ "signature": [ "\"service.framework.version\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3921,7 +3936,7 @@ "signature": [ "\"service.language.name\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3936,7 +3951,7 @@ "signature": [ "\"service.language.version\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3951,7 +3966,7 @@ "signature": [ "\"service.name\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3966,7 +3981,7 @@ "signature": [ "\"service.node.name\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3981,7 +3996,7 @@ "signature": [ "\"service.runtime.name\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3996,7 +4011,7 @@ "signature": [ "\"service.runtime.version\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -4011,7 +4026,7 @@ "signature": [ "\"service.version\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -4041,7 +4056,7 @@ "signature": [ "\"span.action\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -4056,7 +4071,7 @@ "signature": [ "\"span.destination.service.resource\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -4071,7 +4086,7 @@ "signature": [ "\"span.destination.service.response_time.count\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -4086,7 +4101,7 @@ "signature": [ "\"span.destination.service.response_time.sum.us\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -4101,7 +4116,7 @@ "signature": [ "\"span.duration.us\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -4116,7 +4131,7 @@ "signature": [ "\"span.id\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -4131,7 +4146,7 @@ "signature": [ "\"span.name\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -4146,7 +4161,7 @@ "signature": [ "\"span.self_time.sum.us\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -4161,7 +4176,7 @@ "signature": [ "\"span.subtype\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -4176,7 +4191,127 @@ "signature": [ "\"span.type\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "observabilityShared", + "id": "def-common.SYNTHETICS_BLOCKED_TIMINGS", + "type": "string", + "tags": [], + "label": "SYNTHETICS_BLOCKED_TIMINGS", + "description": [], + "signature": [ + "\"synthetics.payload.timings.blocked\"" + ], + "path": "x-pack/plugins/observability_shared/common/field_names/synthetics.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "observabilityShared", + "id": "def-common.SYNTHETICS_CONNECT_TIMINGS", + "type": "string", + "tags": [], + "label": "SYNTHETICS_CONNECT_TIMINGS", + "description": [], + "signature": [ + "\"synthetics.payload.timings.connect\"" + ], + "path": "x-pack/plugins/observability_shared/common/field_names/synthetics.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "observabilityShared", + "id": "def-common.SYNTHETICS_DNS_TIMINGS", + "type": "string", + "tags": [], + "label": "SYNTHETICS_DNS_TIMINGS", + "description": [], + "signature": [ + "\"synthetics.payload.timings.dns\"" + ], + "path": "x-pack/plugins/observability_shared/common/field_names/synthetics.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "observabilityShared", + "id": "def-common.SYNTHETICS_RECEIVE_TIMINGS", + "type": "string", + "tags": [], + "label": "SYNTHETICS_RECEIVE_TIMINGS", + "description": [], + "signature": [ + "\"synthetics.payload.timings.receive\"" + ], + "path": "x-pack/plugins/observability_shared/common/field_names/synthetics.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "observabilityShared", + "id": "def-common.SYNTHETICS_SEND_TIMINGS", + "type": "string", + "tags": [], + "label": "SYNTHETICS_SEND_TIMINGS", + "description": [], + "signature": [ + "\"synthetics.payload.timings.send\"" + ], + "path": "x-pack/plugins/observability_shared/common/field_names/synthetics.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "observabilityShared", + "id": "def-common.SYNTHETICS_SSL_TIMINGS", + "type": "string", + "tags": [], + "label": "SYNTHETICS_SSL_TIMINGS", + "description": [], + "signature": [ + "\"synthetics.payload.timings.ssl\"" + ], + "path": "x-pack/plugins/observability_shared/common/field_names/synthetics.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "observabilityShared", + "id": "def-common.SYNTHETICS_TOTAL_TIMINGS", + "type": "string", + "tags": [], + "label": "SYNTHETICS_TOTAL_TIMINGS", + "description": [], + "signature": [ + "\"synthetics.payload.timings.total\"" + ], + "path": "x-pack/plugins/observability_shared/common/field_names/synthetics.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "observabilityShared", + "id": "def-common.SYNTHETICS_WAIT_TIMINGS", + "type": "string", + "tags": [], + "label": "SYNTHETICS_WAIT_TIMINGS", + "description": [], + "signature": [ + "\"synthetics.payload.timings.wait\"" + ], + "path": "x-pack/plugins/observability_shared/common/field_names/synthetics.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -4191,7 +4326,7 @@ "signature": [ "\"transaction.experience.tbt\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -4206,7 +4341,7 @@ "signature": [ "\"trace.id\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -4221,7 +4356,7 @@ "signature": [ "\"transaction.marks.agent.domInteractive\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -4236,7 +4371,7 @@ "signature": [ "\"transaction.duration.us\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -4251,7 +4386,7 @@ "signature": [ "\"transaction.duration.histogram\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -4266,7 +4401,7 @@ "signature": [ "\"transaction.id\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -4281,7 +4416,7 @@ "signature": [ "\"transaction.name\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -4296,7 +4431,7 @@ "signature": [ "\"transaction.page.url\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -4311,7 +4446,7 @@ "signature": [ "\"transaction.result\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -4326,7 +4461,7 @@ "signature": [ "\"transaction.root\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -4341,7 +4476,7 @@ "signature": [ "\"transaction.sampled\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -4356,7 +4491,7 @@ "signature": [ "\"transaction.marks.agent.timeToFirstByte\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -4371,7 +4506,7 @@ "signature": [ "\"transaction.type\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -4386,7 +4521,7 @@ "signature": [ "\"url.full\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -4401,7 +4536,7 @@ "signature": [ "\"url.full\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -4416,7 +4551,7 @@ "signature": [ "\"user_agent.device.name\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -4431,7 +4566,7 @@ "signature": [ "\"user_agent.name\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -4446,7 +4581,7 @@ "signature": [ "\"user_agent.original\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -4461,7 +4596,7 @@ "signature": [ "\"user_agent.os.name\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -4476,7 +4611,7 @@ "signature": [ "\"user_agent.os.version\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -4491,7 +4626,7 @@ "signature": [ "\"user_agent.version\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -4506,7 +4641,7 @@ "signature": [ "\"user.id\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false diff --git a/api_docs/observability_shared.mdx b/api_docs/observability_shared.mdx index 78a1f5e81fae7..a763f3cb9fdad 100644 --- a/api_docs/observability_shared.mdx +++ b/api_docs/observability_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityShared title: "observabilityShared" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityShared plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityShared'] --- import observabilitySharedObj from './observability_shared.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/observability-ui](https://github.com/orgs/elastic/teams/observ | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 268 | 1 | 267 | 11 | +| 277 | 1 | 276 | 11 | ## Client diff --git a/api_docs/osquery.mdx b/api_docs/osquery.mdx index bedd294382615..1221feac511de 100644 --- a/api_docs/osquery.mdx +++ b/api_docs/osquery.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/osquery title: "osquery" image: https://source.unsplash.com/400x175/?github description: API docs for the osquery plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'osquery'] --- import osqueryObj from './osquery.devdocs.json'; diff --git a/api_docs/plugin_directory.mdx b/api_docs/plugin_directory.mdx index e65003ea414ae..7a0dcf531cf84 100644 --- a/api_docs/plugin_directory.mdx +++ b/api_docs/plugin_directory.mdx @@ -7,7 +7,7 @@ id: kibDevDocsPluginDirectory slug: /kibana-dev-docs/api-meta/plugin-api-directory title: Directory description: Directory of public APIs available through plugins or packages. -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- @@ -15,13 +15,13 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | Count | Plugins or Packages with a
public API | Number of teams | |--------------|----------|------------------------| -| 646 | 537 | 38 | +| 647 | 538 | 38 | ### Public API health stats | API Count | Any Count | Missing comments | Missing exports | |--------------|----------|-----------------|--------| -| 71459 | 552 | 61221 | 1459 | +| 71466 | 552 | 61216 | 1462 | ## Plugin Directory @@ -38,7 +38,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | Adds Canvas application to Kibana | 9 | 0 | 8 | 3 | | | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | The Case management system in Kibana | 80 | 0 | 65 | 27 | | | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | - | 268 | 16 | 253 | 10 | -| | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 61 | 0 | 13 | 0 | +| | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 65 | 0 | 15 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | Chat available on Elastic Cloud deployments for quicker assistance. | 3 | 0 | 2 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | This plugin exists as a workaround for using `cloudChat` plugin in plugins which can't have a direct dependency on security plugin. | 5 | 0 | 5 | 0 | | | [@elastic/platform-onboarding](https://github.com/orgs/elastic/teams/platform-onboarding) | Static migration page where self-managed users can see text/copy about migrating to Elastic Cloud | 8 | 1 | 8 | 1 | @@ -56,7 +56,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/fleet](https://github.com/orgs/elastic/teams/fleet) | Add custom data integrations so they can be displayed in the Fleet integrations app | 271 | 0 | 252 | 1 | | | [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | Adds the Dashboard app to Kibana | 100 | 0 | 98 | 9 | | | [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | - | 54 | 0 | 51 | 0 | -| | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | Data services are useful for searching and querying data from Elasticsearch. Helpful utilities include: a re-usable react query bar, KQL autocomplete, async search, Data Views (Index Patterns) and field formatters. | 3291 | 119 | 2571 | 27 | +| | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | Data services are useful for searching and querying data from Elasticsearch. Helpful utilities include: a re-usable react query bar, KQL autocomplete, async search, Data Views (Index Patterns) and field formatters. | 3293 | 119 | 2573 | 27 | | | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | This plugin provides the ability to create data views via a modal flyout inside Kibana apps | 16 | 0 | 7 | 0 | | | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | Reusable data view field editor across Kibana | 72 | 0 | 33 | 0 | | | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | Data view management app | 2 | 0 | 2 | 0 | @@ -74,7 +74,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 115 | 3 | 111 | 3 | | | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | The Event Annotation service contains expressions for event annotations | 236 | 30 | 236 | 4 | | | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | - | 116 | 0 | 116 | 11 | -| | [@elastic/uptime](https://github.com/orgs/elastic/teams/uptime) | - | 141 | 1 | 141 | 14 | +| | [@elastic/uptime](https://github.com/orgs/elastic/teams/uptime) | - | 131 | 1 | 131 | 14 | | | [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | Adds 'error' renderer to expressions | 17 | 0 | 15 | 2 | | | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | Expression Gauge plugin adds a `gauge` renderer and function to the expression plugin. The renderer will display the `gauge` chart. | 59 | 0 | 59 | 2 | | | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | Expression Heatmap plugin adds a `heatmap` renderer and function to the expression plugin. The renderer will display the `heatmap` chart. | 112 | 14 | 108 | 2 | @@ -132,9 +132,9 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 34 | 0 | 34 | 2 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 17 | 0 | 17 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 2 | 0 | 2 | 1 | -| | [@elastic/actionable-observability](https://github.com/orgs/elastic/teams/actionable-observability) | - | 524 | 45 | 516 | 19 | +| | [@elastic/actionable-observability](https://github.com/orgs/elastic/teams/actionable-observability) | - | 516 | 45 | 508 | 19 | | | [@elastic/apm-ui](https://github.com/orgs/elastic/teams/apm-ui) | - | 7 | 0 | 7 | 0 | -| | [@elastic/observability-ui](https://github.com/orgs/elastic/teams/observability-ui) | - | 268 | 1 | 267 | 11 | +| | [@elastic/observability-ui](https://github.com/orgs/elastic/teams/observability-ui) | - | 277 | 1 | 276 | 11 | | | [@elastic/security-defend-workflows](https://github.com/orgs/elastic/teams/security-defend-workflows) | - | 24 | 0 | 24 | 7 | | painlessLab | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 0 | 0 | 0 | 0 | | | [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | The Presentation Utility Plugin is a set of common, shared components and toolkits for solutions within the Presentation space, (e.g. Dashboards, Canvas). | 218 | 8 | 164 | 11 | @@ -245,7 +245,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 6 | 0 | 4 | 4 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 14 | 0 | 14 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 9 | 0 | 9 | 0 | -| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 58 | 0 | 41 | 4 | +| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 58 | 0 | 40 | 4 | | | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | - | 180 | 1 | 115 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 4 | 0 | 0 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 7 | 0 | 7 | 1 | @@ -268,7 +268,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 5 | 0 | 0 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 16 | 0 | 7 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 6 | 0 | 6 | 0 | -| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 166 | 0 | 67 | 0 | +| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 166 | 0 | 66 | 1 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 3 | 0 | 3 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 4 | 0 | 4 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 8 | 0 | 8 | 0 | @@ -423,6 +423,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 101 | 0 | 85 | 0 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 15 | 0 | 9 | 0 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 27 | 2 | 24 | 0 | +| | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | - | 9 | 0 | 1 | 2 | | | [@elastic/docs](https://github.com/orgs/elastic/teams/docs) | - | 72 | 0 | 72 | 2 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 1 | 0 | 1 | 0 | | | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | - | 39 | 0 | 26 | 5 | @@ -540,7 +541,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 28 | 0 | 10 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 10 | 0 | 4 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 32 | 0 | 28 | 0 | -| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 45 | 0 | 36 | 4 | +| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 46 | 0 | 37 | 4 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 5 | 0 | 4 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 3 | 0 | 2 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 2 | 0 | 2 | 0 | diff --git a/api_docs/presentation_util.mdx b/api_docs/presentation_util.mdx index 53fd34d8451c2..252a60532f36f 100644 --- a/api_docs/presentation_util.mdx +++ b/api_docs/presentation_util.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/presentationUtil title: "presentationUtil" image: https://source.unsplash.com/400x175/?github description: API docs for the presentationUtil plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'presentationUtil'] --- import presentationUtilObj from './presentation_util.devdocs.json'; diff --git a/api_docs/profiling.mdx b/api_docs/profiling.mdx index 7582d5cd6f38b..be6c2d28270f4 100644 --- a/api_docs/profiling.mdx +++ b/api_docs/profiling.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/profiling title: "profiling" image: https://source.unsplash.com/400x175/?github description: API docs for the profiling plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'profiling'] --- import profilingObj from './profiling.devdocs.json'; diff --git a/api_docs/remote_clusters.mdx b/api_docs/remote_clusters.mdx index a7b0e4fea1669..6812d731918b6 100644 --- a/api_docs/remote_clusters.mdx +++ b/api_docs/remote_clusters.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/remoteClusters title: "remoteClusters" image: https://source.unsplash.com/400x175/?github description: API docs for the remoteClusters plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'remoteClusters'] --- import remoteClustersObj from './remote_clusters.devdocs.json'; diff --git a/api_docs/reporting.mdx b/api_docs/reporting.mdx index 270835a793835..4aa763fe1aceb 100644 --- a/api_docs/reporting.mdx +++ b/api_docs/reporting.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/reporting title: "reporting" image: https://source.unsplash.com/400x175/?github description: API docs for the reporting plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'reporting'] --- import reportingObj from './reporting.devdocs.json'; diff --git a/api_docs/reporting_export_types.mdx b/api_docs/reporting_export_types.mdx index 75c235878db3c..c0b9dad12c82b 100644 --- a/api_docs/reporting_export_types.mdx +++ b/api_docs/reporting_export_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/reportingExportTypes title: "reportingExportTypes" image: https://source.unsplash.com/400x175/?github description: API docs for the reportingExportTypes plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'reportingExportTypes'] --- import reportingExportTypesObj from './reporting_export_types.devdocs.json'; diff --git a/api_docs/rollup.mdx b/api_docs/rollup.mdx index 2268d9e7091c2..bb419e4533d2e 100644 --- a/api_docs/rollup.mdx +++ b/api_docs/rollup.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/rollup title: "rollup" image: https://source.unsplash.com/400x175/?github description: API docs for the rollup plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'rollup'] --- import rollupObj from './rollup.devdocs.json'; diff --git a/api_docs/rule_registry.mdx b/api_docs/rule_registry.mdx index 291349a091432..20f692f7fb440 100644 --- a/api_docs/rule_registry.mdx +++ b/api_docs/rule_registry.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ruleRegistry title: "ruleRegistry" image: https://source.unsplash.com/400x175/?github description: API docs for the ruleRegistry plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ruleRegistry'] --- import ruleRegistryObj from './rule_registry.devdocs.json'; diff --git a/api_docs/runtime_fields.mdx b/api_docs/runtime_fields.mdx index 9414250f6d0dc..a3b41731fb328 100644 --- a/api_docs/runtime_fields.mdx +++ b/api_docs/runtime_fields.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/runtimeFields title: "runtimeFields" image: https://source.unsplash.com/400x175/?github description: API docs for the runtimeFields plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'runtimeFields'] --- import runtimeFieldsObj from './runtime_fields.devdocs.json'; diff --git a/api_docs/saved_objects.mdx b/api_docs/saved_objects.mdx index 8ec1300a7736b..0c35c19fad9d5 100644 --- a/api_docs/saved_objects.mdx +++ b/api_docs/saved_objects.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjects title: "savedObjects" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjects plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjects'] --- import savedObjectsObj from './saved_objects.devdocs.json'; diff --git a/api_docs/saved_objects_finder.mdx b/api_docs/saved_objects_finder.mdx index b3c91d5320846..d9f4bae6d823e 100644 --- a/api_docs/saved_objects_finder.mdx +++ b/api_docs/saved_objects_finder.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsFinder title: "savedObjectsFinder" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsFinder plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsFinder'] --- import savedObjectsFinderObj from './saved_objects_finder.devdocs.json'; diff --git a/api_docs/saved_objects_management.mdx b/api_docs/saved_objects_management.mdx index 54e12718c2a6b..ae06a5168a64b 100644 --- a/api_docs/saved_objects_management.mdx +++ b/api_docs/saved_objects_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsManagement title: "savedObjectsManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsManagement plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsManagement'] --- import savedObjectsManagementObj from './saved_objects_management.devdocs.json'; diff --git a/api_docs/saved_objects_tagging.mdx b/api_docs/saved_objects_tagging.mdx index 90c190899baf1..952d78bbe6070 100644 --- a/api_docs/saved_objects_tagging.mdx +++ b/api_docs/saved_objects_tagging.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsTagging title: "savedObjectsTagging" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsTagging plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsTagging'] --- import savedObjectsTaggingObj from './saved_objects_tagging.devdocs.json'; diff --git a/api_docs/saved_objects_tagging_oss.mdx b/api_docs/saved_objects_tagging_oss.mdx index 77c3cee39bb3c..b9b789482fa71 100644 --- a/api_docs/saved_objects_tagging_oss.mdx +++ b/api_docs/saved_objects_tagging_oss.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsTaggingOss title: "savedObjectsTaggingOss" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsTaggingOss plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsTaggingOss'] --- import savedObjectsTaggingOssObj from './saved_objects_tagging_oss.devdocs.json'; diff --git a/api_docs/saved_search.mdx b/api_docs/saved_search.mdx index 4f00ab430140b..3ef76b6d5aeed 100644 --- a/api_docs/saved_search.mdx +++ b/api_docs/saved_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedSearch title: "savedSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the savedSearch plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedSearch'] --- import savedSearchObj from './saved_search.devdocs.json'; diff --git a/api_docs/screenshot_mode.mdx b/api_docs/screenshot_mode.mdx index 019e14cd7bed3..7fff1516c20c3 100644 --- a/api_docs/screenshot_mode.mdx +++ b/api_docs/screenshot_mode.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/screenshotMode title: "screenshotMode" image: https://source.unsplash.com/400x175/?github description: API docs for the screenshotMode plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'screenshotMode'] --- import screenshotModeObj from './screenshot_mode.devdocs.json'; diff --git a/api_docs/screenshotting.mdx b/api_docs/screenshotting.mdx index 9c8110a235891..c505e8d00f95c 100644 --- a/api_docs/screenshotting.mdx +++ b/api_docs/screenshotting.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/screenshotting title: "screenshotting" image: https://source.unsplash.com/400x175/?github description: API docs for the screenshotting plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'screenshotting'] --- import screenshottingObj from './screenshotting.devdocs.json'; diff --git a/api_docs/security.mdx b/api_docs/security.mdx index 21ff3e3189c7b..4b486de7358ba 100644 --- a/api_docs/security.mdx +++ b/api_docs/security.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/security title: "security" image: https://source.unsplash.com/400x175/?github description: API docs for the security plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'security'] --- import securityObj from './security.devdocs.json'; diff --git a/api_docs/security_solution.mdx b/api_docs/security_solution.mdx index a5aaef672275c..5eef98bb1be55 100644 --- a/api_docs/security_solution.mdx +++ b/api_docs/security_solution.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/securitySolution title: "securitySolution" image: https://source.unsplash.com/400x175/?github description: API docs for the securitySolution plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'securitySolution'] --- import securitySolutionObj from './security_solution.devdocs.json'; diff --git a/api_docs/security_solution_ess.mdx b/api_docs/security_solution_ess.mdx index 523978a3bfd78..ef5f2b613e4fc 100644 --- a/api_docs/security_solution_ess.mdx +++ b/api_docs/security_solution_ess.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/securitySolutionEss title: "securitySolutionEss" image: https://source.unsplash.com/400x175/?github description: API docs for the securitySolutionEss plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'securitySolutionEss'] --- import securitySolutionEssObj from './security_solution_ess.devdocs.json'; diff --git a/api_docs/security_solution_serverless.mdx b/api_docs/security_solution_serverless.mdx index e0d660d8399cb..c596c5a847272 100644 --- a/api_docs/security_solution_serverless.mdx +++ b/api_docs/security_solution_serverless.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/securitySolutionServerless title: "securitySolutionServerless" image: https://source.unsplash.com/400x175/?github description: API docs for the securitySolutionServerless plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'securitySolutionServerless'] --- import securitySolutionServerlessObj from './security_solution_serverless.devdocs.json'; diff --git a/api_docs/serverless.mdx b/api_docs/serverless.mdx index f1e8138a3fed2..24756acd0c0ef 100644 --- a/api_docs/serverless.mdx +++ b/api_docs/serverless.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/serverless title: "serverless" image: https://source.unsplash.com/400x175/?github description: API docs for the serverless plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'serverless'] --- import serverlessObj from './serverless.devdocs.json'; diff --git a/api_docs/serverless_observability.mdx b/api_docs/serverless_observability.mdx index f0637ce888617..0422d60311902 100644 --- a/api_docs/serverless_observability.mdx +++ b/api_docs/serverless_observability.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/serverlessObservability title: "serverlessObservability" image: https://source.unsplash.com/400x175/?github description: API docs for the serverlessObservability plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'serverlessObservability'] --- import serverlessObservabilityObj from './serverless_observability.devdocs.json'; diff --git a/api_docs/serverless_search.mdx b/api_docs/serverless_search.mdx index 4975a56821982..f4c4a075393cc 100644 --- a/api_docs/serverless_search.mdx +++ b/api_docs/serverless_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/serverlessSearch title: "serverlessSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the serverlessSearch plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'serverlessSearch'] --- import serverlessSearchObj from './serverless_search.devdocs.json'; diff --git a/api_docs/session_view.mdx b/api_docs/session_view.mdx index 9a06b39eecc30..857bde3b3b453 100644 --- a/api_docs/session_view.mdx +++ b/api_docs/session_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/sessionView title: "sessionView" image: https://source.unsplash.com/400x175/?github description: API docs for the sessionView plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'sessionView'] --- import sessionViewObj from './session_view.devdocs.json'; diff --git a/api_docs/share.mdx b/api_docs/share.mdx index 333ba9bc9dc53..b12c0fd472c1a 100644 --- a/api_docs/share.mdx +++ b/api_docs/share.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/share title: "share" image: https://source.unsplash.com/400x175/?github description: API docs for the share plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'share'] --- import shareObj from './share.devdocs.json'; diff --git a/api_docs/snapshot_restore.mdx b/api_docs/snapshot_restore.mdx index 0730606b38753..02c0949665efc 100644 --- a/api_docs/snapshot_restore.mdx +++ b/api_docs/snapshot_restore.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/snapshotRestore title: "snapshotRestore" image: https://source.unsplash.com/400x175/?github description: API docs for the snapshotRestore plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'snapshotRestore'] --- import snapshotRestoreObj from './snapshot_restore.devdocs.json'; diff --git a/api_docs/spaces.mdx b/api_docs/spaces.mdx index 97b799d9f9b00..e2a093ce430d2 100644 --- a/api_docs/spaces.mdx +++ b/api_docs/spaces.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/spaces title: "spaces" image: https://source.unsplash.com/400x175/?github description: API docs for the spaces plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'spaces'] --- import spacesObj from './spaces.devdocs.json'; diff --git a/api_docs/stack_alerts.mdx b/api_docs/stack_alerts.mdx index cd7ca829ad628..2fc080772d05c 100644 --- a/api_docs/stack_alerts.mdx +++ b/api_docs/stack_alerts.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/stackAlerts title: "stackAlerts" image: https://source.unsplash.com/400x175/?github description: API docs for the stackAlerts plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'stackAlerts'] --- import stackAlertsObj from './stack_alerts.devdocs.json'; diff --git a/api_docs/stack_connectors.mdx b/api_docs/stack_connectors.mdx index 5c136b97e2b0f..76a19cbfafe4f 100644 --- a/api_docs/stack_connectors.mdx +++ b/api_docs/stack_connectors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/stackConnectors title: "stackConnectors" image: https://source.unsplash.com/400x175/?github description: API docs for the stackConnectors plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'stackConnectors'] --- import stackConnectorsObj from './stack_connectors.devdocs.json'; diff --git a/api_docs/task_manager.mdx b/api_docs/task_manager.mdx index f5a6b6619aa6d..078e94d313d88 100644 --- a/api_docs/task_manager.mdx +++ b/api_docs/task_manager.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/taskManager title: "taskManager" image: https://source.unsplash.com/400x175/?github description: API docs for the taskManager plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'taskManager'] --- import taskManagerObj from './task_manager.devdocs.json'; diff --git a/api_docs/telemetry.mdx b/api_docs/telemetry.mdx index fcd2298ee82e9..8048374ba9153 100644 --- a/api_docs/telemetry.mdx +++ b/api_docs/telemetry.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetry title: "telemetry" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetry plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetry'] --- import telemetryObj from './telemetry.devdocs.json'; diff --git a/api_docs/telemetry_collection_manager.mdx b/api_docs/telemetry_collection_manager.mdx index f89c8e1073b7d..317bc7b0a58ea 100644 --- a/api_docs/telemetry_collection_manager.mdx +++ b/api_docs/telemetry_collection_manager.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetryCollectionManager title: "telemetryCollectionManager" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetryCollectionManager plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetryCollectionManager'] --- import telemetryCollectionManagerObj from './telemetry_collection_manager.devdocs.json'; diff --git a/api_docs/telemetry_collection_xpack.mdx b/api_docs/telemetry_collection_xpack.mdx index 2428fa33744ad..e82e019d4144e 100644 --- a/api_docs/telemetry_collection_xpack.mdx +++ b/api_docs/telemetry_collection_xpack.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetryCollectionXpack title: "telemetryCollectionXpack" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetryCollectionXpack plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetryCollectionXpack'] --- import telemetryCollectionXpackObj from './telemetry_collection_xpack.devdocs.json'; diff --git a/api_docs/telemetry_management_section.mdx b/api_docs/telemetry_management_section.mdx index 814d0f093cbe3..edf49edbcc5b6 100644 --- a/api_docs/telemetry_management_section.mdx +++ b/api_docs/telemetry_management_section.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetryManagementSection title: "telemetryManagementSection" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetryManagementSection plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetryManagementSection'] --- import telemetryManagementSectionObj from './telemetry_management_section.devdocs.json'; diff --git a/api_docs/text_based_languages.mdx b/api_docs/text_based_languages.mdx index 9409362c65377..c81830e0d4cb8 100644 --- a/api_docs/text_based_languages.mdx +++ b/api_docs/text_based_languages.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/textBasedLanguages title: "textBasedLanguages" image: https://source.unsplash.com/400x175/?github description: API docs for the textBasedLanguages plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'textBasedLanguages'] --- import textBasedLanguagesObj from './text_based_languages.devdocs.json'; diff --git a/api_docs/threat_intelligence.mdx b/api_docs/threat_intelligence.mdx index ba6fe0c105e29..a5076b01b8410 100644 --- a/api_docs/threat_intelligence.mdx +++ b/api_docs/threat_intelligence.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/threatIntelligence title: "threatIntelligence" image: https://source.unsplash.com/400x175/?github description: API docs for the threatIntelligence plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'threatIntelligence'] --- import threatIntelligenceObj from './threat_intelligence.devdocs.json'; diff --git a/api_docs/timelines.mdx b/api_docs/timelines.mdx index f4e05f445b30a..1f3b79a0089a4 100644 --- a/api_docs/timelines.mdx +++ b/api_docs/timelines.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/timelines title: "timelines" image: https://source.unsplash.com/400x175/?github description: API docs for the timelines plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'timelines'] --- import timelinesObj from './timelines.devdocs.json'; diff --git a/api_docs/transform.mdx b/api_docs/transform.mdx index 471e4a2de7b18..f3a79a602a29f 100644 --- a/api_docs/transform.mdx +++ b/api_docs/transform.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/transform title: "transform" image: https://source.unsplash.com/400x175/?github description: API docs for the transform plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'transform'] --- import transformObj from './transform.devdocs.json'; diff --git a/api_docs/triggers_actions_ui.mdx b/api_docs/triggers_actions_ui.mdx index 2ffa0b4e97bba..49f6d08ff4e02 100644 --- a/api_docs/triggers_actions_ui.mdx +++ b/api_docs/triggers_actions_ui.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/triggersActionsUi title: "triggersActionsUi" image: https://source.unsplash.com/400x175/?github description: API docs for the triggersActionsUi plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'triggersActionsUi'] --- import triggersActionsUiObj from './triggers_actions_ui.devdocs.json'; diff --git a/api_docs/ui_actions.mdx b/api_docs/ui_actions.mdx index 32c8bb15f7c5d..d2fa822d0557c 100644 --- a/api_docs/ui_actions.mdx +++ b/api_docs/ui_actions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/uiActions title: "uiActions" image: https://source.unsplash.com/400x175/?github description: API docs for the uiActions plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'uiActions'] --- import uiActionsObj from './ui_actions.devdocs.json'; diff --git a/api_docs/ui_actions_enhanced.mdx b/api_docs/ui_actions_enhanced.mdx index 52ffda62e7d90..c0960d339d17f 100644 --- a/api_docs/ui_actions_enhanced.mdx +++ b/api_docs/ui_actions_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/uiActionsEnhanced title: "uiActionsEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the uiActionsEnhanced plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'uiActionsEnhanced'] --- import uiActionsEnhancedObj from './ui_actions_enhanced.devdocs.json'; diff --git a/api_docs/unified_histogram.mdx b/api_docs/unified_histogram.mdx index eb85f4942b370..f98dc00df0f64 100644 --- a/api_docs/unified_histogram.mdx +++ b/api_docs/unified_histogram.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedHistogram title: "unifiedHistogram" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedHistogram plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedHistogram'] --- import unifiedHistogramObj from './unified_histogram.devdocs.json'; diff --git a/api_docs/unified_search.mdx b/api_docs/unified_search.mdx index dac429d6ee5eb..605d84640befc 100644 --- a/api_docs/unified_search.mdx +++ b/api_docs/unified_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedSearch title: "unifiedSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedSearch plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedSearch'] --- import unifiedSearchObj from './unified_search.devdocs.json'; diff --git a/api_docs/unified_search_autocomplete.mdx b/api_docs/unified_search_autocomplete.mdx index 595c50dddc65a..cc81acc770eeb 100644 --- a/api_docs/unified_search_autocomplete.mdx +++ b/api_docs/unified_search_autocomplete.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedSearch-autocomplete title: "unifiedSearch.autocomplete" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedSearch.autocomplete plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedSearch.autocomplete'] --- import unifiedSearchAutocompleteObj from './unified_search_autocomplete.devdocs.json'; diff --git a/api_docs/url_forwarding.mdx b/api_docs/url_forwarding.mdx index edb82255bb712..4150053e2d704 100644 --- a/api_docs/url_forwarding.mdx +++ b/api_docs/url_forwarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/urlForwarding title: "urlForwarding" image: https://source.unsplash.com/400x175/?github description: API docs for the urlForwarding plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'urlForwarding'] --- import urlForwardingObj from './url_forwarding.devdocs.json'; diff --git a/api_docs/usage_collection.mdx b/api_docs/usage_collection.mdx index 5a54d0b6769ea..d461091aac8ae 100644 --- a/api_docs/usage_collection.mdx +++ b/api_docs/usage_collection.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/usageCollection title: "usageCollection" image: https://source.unsplash.com/400x175/?github description: API docs for the usageCollection plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'usageCollection'] --- import usageCollectionObj from './usage_collection.devdocs.json'; diff --git a/api_docs/ux.mdx b/api_docs/ux.mdx index d3e34a9be9929..a695635ccbba7 100644 --- a/api_docs/ux.mdx +++ b/api_docs/ux.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ux title: "ux" image: https://source.unsplash.com/400x175/?github description: API docs for the ux plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ux'] --- import uxObj from './ux.devdocs.json'; diff --git a/api_docs/vis_default_editor.mdx b/api_docs/vis_default_editor.mdx index 47fe8087268e5..ec6e13a43af36 100644 --- a/api_docs/vis_default_editor.mdx +++ b/api_docs/vis_default_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visDefaultEditor title: "visDefaultEditor" image: https://source.unsplash.com/400x175/?github description: API docs for the visDefaultEditor plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visDefaultEditor'] --- import visDefaultEditorObj from './vis_default_editor.devdocs.json'; diff --git a/api_docs/vis_type_gauge.mdx b/api_docs/vis_type_gauge.mdx index 6d01fc34d315e..7d41d9ddbeb97 100644 --- a/api_docs/vis_type_gauge.mdx +++ b/api_docs/vis_type_gauge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeGauge title: "visTypeGauge" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeGauge plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeGauge'] --- import visTypeGaugeObj from './vis_type_gauge.devdocs.json'; diff --git a/api_docs/vis_type_heatmap.mdx b/api_docs/vis_type_heatmap.mdx index 1ff6e28c7e103..f85f6602ced64 100644 --- a/api_docs/vis_type_heatmap.mdx +++ b/api_docs/vis_type_heatmap.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeHeatmap title: "visTypeHeatmap" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeHeatmap plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeHeatmap'] --- import visTypeHeatmapObj from './vis_type_heatmap.devdocs.json'; diff --git a/api_docs/vis_type_pie.mdx b/api_docs/vis_type_pie.mdx index 1ab7fbe1b670a..afc07d11fdf7e 100644 --- a/api_docs/vis_type_pie.mdx +++ b/api_docs/vis_type_pie.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypePie title: "visTypePie" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypePie plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypePie'] --- import visTypePieObj from './vis_type_pie.devdocs.json'; diff --git a/api_docs/vis_type_table.mdx b/api_docs/vis_type_table.mdx index 74f8092fdcd2f..a8b72e8f090f2 100644 --- a/api_docs/vis_type_table.mdx +++ b/api_docs/vis_type_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeTable title: "visTypeTable" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeTable plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeTable'] --- import visTypeTableObj from './vis_type_table.devdocs.json'; diff --git a/api_docs/vis_type_timelion.mdx b/api_docs/vis_type_timelion.mdx index ea8c1274788cc..789fac46dd7c8 100644 --- a/api_docs/vis_type_timelion.mdx +++ b/api_docs/vis_type_timelion.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeTimelion title: "visTypeTimelion" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeTimelion plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeTimelion'] --- import visTypeTimelionObj from './vis_type_timelion.devdocs.json'; diff --git a/api_docs/vis_type_timeseries.mdx b/api_docs/vis_type_timeseries.mdx index 4497030e5b1b1..dfc4b58072eb8 100644 --- a/api_docs/vis_type_timeseries.mdx +++ b/api_docs/vis_type_timeseries.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeTimeseries title: "visTypeTimeseries" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeTimeseries plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeTimeseries'] --- import visTypeTimeseriesObj from './vis_type_timeseries.devdocs.json'; diff --git a/api_docs/vis_type_vega.mdx b/api_docs/vis_type_vega.mdx index 5cbab0bab9298..c52e528c13e39 100644 --- a/api_docs/vis_type_vega.mdx +++ b/api_docs/vis_type_vega.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeVega title: "visTypeVega" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeVega plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeVega'] --- import visTypeVegaObj from './vis_type_vega.devdocs.json'; diff --git a/api_docs/vis_type_vislib.mdx b/api_docs/vis_type_vislib.mdx index da66abf77ea8e..b947aa0cef331 100644 --- a/api_docs/vis_type_vislib.mdx +++ b/api_docs/vis_type_vislib.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeVislib title: "visTypeVislib" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeVislib plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeVislib'] --- import visTypeVislibObj from './vis_type_vislib.devdocs.json'; diff --git a/api_docs/vis_type_xy.mdx b/api_docs/vis_type_xy.mdx index 94e0701062924..d863cd8db9388 100644 --- a/api_docs/vis_type_xy.mdx +++ b/api_docs/vis_type_xy.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeXy title: "visTypeXy" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeXy plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeXy'] --- import visTypeXyObj from './vis_type_xy.devdocs.json'; diff --git a/api_docs/visualization_ui_components.mdx b/api_docs/visualization_ui_components.mdx index 0537213bd9cdf..e2becbb4eef05 100644 --- a/api_docs/visualization_ui_components.mdx +++ b/api_docs/visualization_ui_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visualizationUiComponents title: "visualizationUiComponents" image: https://source.unsplash.com/400x175/?github description: API docs for the visualizationUiComponents plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visualizationUiComponents'] --- import visualizationUiComponentsObj from './visualization_ui_components.devdocs.json'; diff --git a/api_docs/visualizations.mdx b/api_docs/visualizations.mdx index 72ddb254498f0..b4f83a703b3a3 100644 --- a/api_docs/visualizations.mdx +++ b/api_docs/visualizations.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visualizations title: "visualizations" image: https://source.unsplash.com/400x175/?github description: API docs for the visualizations plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visualizations'] --- import visualizationsObj from './visualizations.devdocs.json'; diff --git a/config/serverless.es.yml b/config/serverless.es.yml index c8f1e8afa7914..5433ce9be7676 100644 --- a/config/serverless.es.yml +++ b/config/serverless.es.yml @@ -2,8 +2,15 @@ ## Disable APM and Uptime, enable Enterprise Search xpack.apm.enabled: false + +xpack.cloudSecurityPosture.enabled: false +xpack.infra.enabled: false +xpack.observability.enabled: false +xpack.securitySolution.enabled: false +xpack.serverless.observability.enabled: false xpack.uptime.enabled: false enterpriseSearch.enabled: false +monitoring.ui.enabled: false ## Enable the Serverless Search plugin xpack.serverless.search.enabled: true @@ -16,3 +23,6 @@ xpack.serverless.plugin.developer.projectSwitcher.currentType: 'search' # Specify in telemetry the project type telemetry.labels.serverless: search + +# Alerts config +xpack.actions.enabledActionTypes: ['.email', '.index', '.slack', '.jira', '.webhook', '.teams'] diff --git a/config/serverless.yml b/config/serverless.yml index 0e616a97177c6..8167ee5a42f4f 100644 --- a/config/serverless.yml +++ b/config/serverless.yml @@ -10,9 +10,6 @@ xpack.fleet.internal.activeAgentsSoftLimit: 25000 # Cloud links xpack.cloud.base_url: "https://cloud.elastic.co" -xpack.cloud.profile_url: "/user/settings" -xpack.cloud.billing_url: "/billing" -xpack.cloud.organization_url: "/account" # Enable ZDT migration algorithm migrations.algorithm: zdt diff --git a/docs/management/advanced-options.asciidoc b/docs/management/advanced-options.asciidoc index 85d6d940a8793..0974a7cf5caf3 100644 --- a/docs/management/advanced-options.asciidoc +++ b/docs/management/advanced-options.asciidoc @@ -198,7 +198,7 @@ to be displayed). [[timepicker-refreshintervaldefaults]]`timepicker:refreshIntervalDefaults`:: The default refresh interval for the time filter. Example: -`{ "display": "15 seconds", "pause": true, "value": 15000 }`. +`{ "pause": true, "value": 15000 }`. [[timepicker-timedefaults]]`timepicker:timeDefaults`:: The default selection in the time filter. diff --git a/package.json b/package.json index fe7881f13dcdb..f515230d04366 100644 --- a/package.json +++ b/package.json @@ -372,6 +372,7 @@ "@kbn/discover-enhanced-plugin": "link:x-pack/plugins/discover_enhanced", "@kbn/discover-log-explorer-plugin": "link:x-pack/plugins/discover_log_explorer", "@kbn/discover-plugin": "link:src/plugins/discover", + "@kbn/discover-utils": "link:packages/kbn-discover-utils", "@kbn/doc-links": "link:packages/kbn-doc-links", "@kbn/dom-drag-drop": "link:packages/kbn-dom-drag-drop", "@kbn/ebt-tools": "link:packages/kbn-ebt-tools", diff --git a/packages/content-management/tabbed_table_list_view/src/tabbed_table_list_view.tsx b/packages/content-management/tabbed_table_list_view/src/tabbed_table_list_view.tsx index 9872e35d90c88..e1cd59f9a1378 100644 --- a/packages/content-management/tabbed_table_list_view/src/tabbed_table_list_view.tsx +++ b/packages/content-management/tabbed_table_list_view/src/tabbed_table_list_view.tsx @@ -47,23 +47,23 @@ export const TabbedTableListView = ({ [activeTabId, tabs] ); + const onFetchSuccess = useCallback(() => { + setHasInitialFetchReturned(true); + }, []); + const [tableList, setTableList] = useState(null); useEffect(() => { async function loadTableList() { const newTableList = await getActiveTab().getTableList({ - onFetchSuccess: () => { - if (!hasInitialFetchReturned) { - setHasInitialFetchReturned(true); - } - }, + onFetchSuccess, setPageDataTestSubject, }); setTableList(newTableList); } loadTableList(); - }, [hasInitialFetchReturned, activeTabId, tabs, getActiveTab]); + }, [activeTabId, tabs, getActiveTab, onFetchSuccess]); return ( diff --git a/packages/content-management/table_list_view/src/table_list_view.tsx b/packages/content-management/table_list_view/src/table_list_view.tsx index 71b08f82174bb..71e9f95bbf581 100644 --- a/packages/content-management/table_list_view/src/table_list_view.tsx +++ b/packages/content-management/table_list_view/src/table_list_view.tsx @@ -82,10 +82,8 @@ export const TableListView = ({ const [pageDataTestSubject, setPageDataTestSubject] = useState(); const onFetchSuccess = useCallback(() => { - if (!hasInitialFetchReturned) { - setHasInitialFetchReturned(true); - } - }, [hasInitialFetchReturned]); + setHasInitialFetchReturned(true); + }, []); return ( diff --git a/packages/content-management/table_list_view_table/src/reducer.tsx b/packages/content-management/table_list_view_table/src/reducer.tsx index c8486d92caced..0a8a89db80d92 100644 --- a/packages/content-management/table_list_view_table/src/reducer.tsx +++ b/packages/content-management/table_list_view_table/src/reducer.tsx @@ -39,11 +39,21 @@ export function getReducer() { } } + let hasNoItems = state.hasNoItems; + + const hasQuery = state.searchQuery.text !== ''; + if (hasQuery) { + hasNoItems = undefined; + } else { + hasNoItems = items.length === 0; + } + return { ...state, hasInitialFetchReturned: true, isFetchingItems: false, items, + hasNoItems, totalItems: action.data.response.total, hasUpdatedAtMetadata, tableSort: tableSort ?? state.tableSort, diff --git a/packages/content-management/table_list_view_table/src/table_list_view.test.helpers.ts b/packages/content-management/table_list_view_table/src/table_list_view.test.helpers.ts new file mode 100644 index 0000000000000..cbfa96198cc9d --- /dev/null +++ b/packages/content-management/table_list_view_table/src/table_list_view.test.helpers.ts @@ -0,0 +1,64 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import type { TestBed } from '@kbn/test-jest-helpers'; +import { act } from 'react-dom/test-utils'; + +export const getActions = ({ find, form, component }: TestBed) => { + /** Open the sort select drop down menu */ + const openSortSelect = () => { + find('tableSortSelectBtn').at(0).simulate('click'); + }; + + // --- Search Box --- + + /** Set the search box value */ + const updateSearchText = async (value: string) => { + await act(async () => { + find('tableListSearchBox').simulate('keyup', { + key: 'Enter', + target: { value }, + }); + }); + component.update(); + }; + + /** Get the Search box value */ + const getSearchBoxValue = () => find('tableListSearchBox').props().defaultValue; + + // --- Row Actions --- + const selectRow = (rowId: string) => { + act(() => { + form.selectCheckBox(`checkboxSelectRow-${rowId}`); + }); + component.update(); + }; + + const clickDeleteSelectedItemsButton = () => { + act(() => { + find('deleteSelectedItems').simulate('click'); + }); + component.update(); + }; + + const clickConfirmModalButton = async () => { + await act(async () => { + find('confirmModalConfirmButton').simulate('click'); + }); + component.update(); + }; + + return { + openSortSelect, + updateSearchText, + getSearchBoxValue, + selectRow, + clickDeleteSelectedItemsButton, + clickConfirmModalButton, + }; +}; diff --git a/packages/content-management/table_list_view_table/src/table_list_view.test.tsx b/packages/content-management/table_list_view_table/src/table_list_view.test.tsx index 0fc1840f26613..94c1ca5ab6753 100644 --- a/packages/content-management/table_list_view_table/src/table_list_view.test.tsx +++ b/packages/content-management/table_list_view_table/src/table_list_view.test.tsx @@ -22,6 +22,7 @@ import { type TableListViewTableProps, type UserContentCommonSchema, } from './table_list_view_table'; +import { getActions } from './table_list_view.test.helpers'; const mockUseEffect = useEffect; @@ -54,12 +55,6 @@ const twoDaysAgoToString = new Date(twoDaysAgo.getTime()).toDateString(); const yesterday = new Date(new Date().setDate(new Date().getDate() - 1)); const yesterdayToString = new Date(yesterday.getTime()).toDateString(); -const getActions = (testBed: TestBed) => ({ - openSortSelect() { - testBed.find('tableSortSelectBtn').at(0).simulate('click'); - }, -}); - describe('TableListView', () => { const requiredProps: TableListViewTableProps = { entityName: 'test', @@ -91,50 +86,102 @@ describe('TableListView', () => { } ); - test('render default empty prompt', async () => { - let testBed: TestBed; + describe('empty prompt', () => { + test('render default empty prompt', async () => { + let testBed: TestBed; - await act(async () => { - testBed = await setup(); + await act(async () => { + testBed = await setup(); + }); + + const { component, exists } = testBed!; + component.update(); + + expect(component.find(EuiEmptyPrompt).length).toBe(1); + expect(exists('newItemButton')).toBe(false); }); - const { component, exists } = testBed!; - component.update(); + // avoid trapping users in empty prompt that can not create new items + test('render default empty prompt with create action when createItem supplied', async () => { + let testBed: TestBed; - expect(component.find(EuiEmptyPrompt).length).toBe(1); - expect(exists('newItemButton')).toBe(false); - }); + await act(async () => { + testBed = await setup({ createItem: () => undefined }); + }); - // avoid trapping users in empty prompt that can not create new items - test('render default empty prompt with create action when createItem supplied', async () => { - let testBed: TestBed; + const { component, exists } = testBed!; + component.update(); - await act(async () => { - testBed = await setup({ createItem: () => undefined }); + expect(component.find(EuiEmptyPrompt).length).toBe(1); + expect(exists('newItemButton')).toBe(true); }); - const { component, exists } = testBed!; - component.update(); + test('render custom empty prompt', async () => { + let testBed: TestBed; - expect(component.find(EuiEmptyPrompt).length).toBe(1); - expect(exists('newItemButton')).toBe(true); - }); + const CustomEmptyPrompt = () => { + return Table empty} />; + }; - test('render custom empty prompt', async () => { - let testBed: TestBed; + await act(async () => { + testBed = await setup({ emptyPrompt: }); + }); - const CustomEmptyPrompt = () => { - return Table empty} />; - }; + const { component, exists } = testBed!; + component.update(); - await act(async () => { - testBed = await setup({ emptyPrompt: }); + expect(exists('custom-empty-prompt')).toBe(true); }); - const { component, exists } = testBed!; - component.update(); + test('render empty prompt after deleting all items from table', async () => { + // NOTE: this test is using helpers that are being tested in the + // "should allow select items to be deleted" test below. + // If this test fails, check that one first. + + const hits: UserContentCommonSchema[] = [ + { + id: 'item-1', + type: 'dashboard', + updatedAt: '2020-01-01T00:00:00Z', + attributes: { + title: 'Item 1', + }, + references: [], + }, + ]; - expect(exists('custom-empty-prompt')).toBe(true); + const findItems = jest.fn().mockResolvedValue({ total: 1, hits }); + const deleteItems = jest.fn(); + + let testBed: TestBed; + + const EmptyPrompt = () => { + return Table empty} />; + }; + + await act(async () => { + testBed = await setup({ emptyPrompt: , findItems, deleteItems }); + }); + + const { component, exists, table } = testBed!; + const { selectRow, clickConfirmModalButton, clickDeleteSelectedItemsButton } = getActions( + testBed! + ); + component.update(); + + expect(exists('custom-empty-prompt')).toBe(false); + const { tableCellsValues } = table.getMetaData('itemsInMemTable'); + const [row] = tableCellsValues; + expect(row[1]).toBe('Item 1'); // Note: row[0] is the checkbox + + // We delete the item in the table and expect the empty prompt to show + findItems.mockResolvedValue({ total: 0, hits: [] }); + selectRow('item-1'); + clickDeleteSelectedItemsButton(); + await clickConfirmModalButton(); + + expect(exists('custom-empty-prompt')).toBe(true); + }); }); describe('default columns', () => { @@ -798,7 +845,20 @@ describe('TableListView', () => { let testBed: TestBed; const initialFilter = 'tag:(tag-1)'; - const findItems = jest.fn().mockResolvedValue({ total: 0, hits: [] }); + const findItems = jest.fn().mockResolvedValue({ + total: 1, + hits: [ + { + id: 'item-1', + type: 'dashboard', + updatedAt: new Date('2023-07-15').toISOString(), + attributes: { + title: 'Item 1', + }, + references: [], + }, + ], + }); await act(async () => { testBed = await setupInitialFilter({ @@ -824,6 +884,173 @@ describe('TableListView', () => { }); }); + describe('search', () => { + const updatedAt = new Date('2023-07-15').toISOString(); + + const hits: UserContentCommonSchema[] = [ + { + id: 'item-1', + type: 'dashboard', + updatedAt, + attributes: { + title: 'Item 1', + }, + references: [], + }, + { + id: 'item-2', + type: 'dashboard', + updatedAt, + attributes: { + title: 'Item 2', + }, + references: [], + }, + ]; + + const findItems = jest.fn(); + + const setupSearch = (...args: Parameters>) => { + const testBed = registerTestBed( + WithServices(TableListViewTable), + { + defaultProps: { + ...requiredProps, + findItems, + urlStateEnabled: false, + entityName: 'Foo', + entityNamePlural: 'Foos', + }, + memoryRouter: { wrapComponent: true }, + } + )(...args); + + const { updateSearchText, getSearchBoxValue } = getActions(testBed); + + return { + testBed, + updateSearchText, + getSearchBoxValue, + getLastCallArgsFromFindItems: () => findItems.mock.calls[findItems.mock.calls.length - 1], + }; + }; + + beforeEach(() => { + findItems.mockReset().mockResolvedValue({ total: hits.length, hits }); + }); + + test('should search the table items', async () => { + let testBed: TestBed; + let updateSearchText: (value: string) => Promise; + let getLastCallArgsFromFindItems: () => Parameters; + let getSearchBoxValue: () => string; + + await act(async () => { + ({ testBed, getLastCallArgsFromFindItems, getSearchBoxValue, updateSearchText } = + await setupSearch()); + }); + + const { component, table } = testBed!; + component.update(); + + let searchTerm = ''; + let expected = ''; + [searchTerm] = getLastCallArgsFromFindItems!(); + expect(getSearchBoxValue!()).toBe(expected); + expect(searchTerm).toBe(expected); + + const { tableCellsValues } = table.getMetaData('itemsInMemTable'); + expect(tableCellsValues).toMatchInlineSnapshot(` + Array [ + Array [ + "Item 1", + "Sat Jul 15 2023", + ], + Array [ + "Item 2", + "Sat Jul 15 2023", + ], + ] + `); + + findItems.mockResolvedValueOnce({ + total: 1, + hits: [ + { + id: 'item-from-search', + type: 'dashboard', + updatedAt: new Date('2023-07-01').toISOString(), + attributes: { + title: 'Item from search', + }, + references: [], + }, + ], + }); + + expected = 'foo'; + await updateSearchText!(expected); + [searchTerm] = getLastCallArgsFromFindItems!(); + expect(getSearchBoxValue!()).toBe(expected); + expect(searchTerm).toBe(expected); + + expect(table.getMetaData('itemsInMemTable').tableCellsValues).toMatchInlineSnapshot(` + Array [ + Array [ + "Item from search", + "July 1, 2023", + ], + ] + `); + }); + + test('should search and render empty list if no result', async () => { + let testBed: TestBed; + let updateSearchText: (value: string) => Promise; + + await act(async () => { + ({ testBed, updateSearchText } = await setupSearch()); + }); + + const { component, table, find } = testBed!; + component.update(); + + findItems.mockResolvedValueOnce({ + total: 0, + hits: [], + }); + + await updateSearchText!('unknown items'); + + expect(table.getMetaData('itemsInMemTable').tableCellsValues).toMatchInlineSnapshot(` + Array [ + Array [ + "No Foos matched your search.", + ], + ] + `); + + await act(async () => { + find('clearSearchButton').simulate('click'); + }); + component.update(); + + // We should get back the initial 2 items (Item 1 and Item 2) + expect(table.getMetaData('itemsInMemTable').tableCellsValues).toMatchInlineSnapshot(` + Array [ + Array [ + "Item 1", + "Sat Jul 15 2023", + ], + Array [ + "Item 2", + "Sat Jul 15 2023", + ], + ] + `); + }); + }); + describe('url state', () => { let router: Router | undefined; @@ -1153,10 +1380,11 @@ describe('TableListView', () => { }; test('should allow select items to be deleted', async () => { - const { - testBed: { table, find, exists, component, form }, - deleteItems, - } = await setupTest(); + const { testBed, deleteItems } = await setupTest(); + + const { table, exists, component } = testBed; + const { selectRow, clickDeleteSelectedItemsButton, clickConfirmModalButton } = + getActions(testBed); const { tableCellsValues } = table.getMetaData('itemsInMemTable'); @@ -1165,28 +1393,21 @@ describe('TableListView', () => { ['', 'Item 1Item 1 description', twoDaysAgoToString], ]); + // Select the second item const selectedHit = hits[1]; expect(exists('deleteSelectedItems')).toBe(false); - act(() => { - // Select the second item - form.selectCheckBox(`checkboxSelectRow-${selectedHit.id}`); - }); - component.update(); + + selectRow(selectedHit.id); // Delete button is now visible expect(exists('deleteSelectedItems')).toBe(true); // Click delete and validate that confirm modal opens expect(component.exists('.euiModal--confirmation')).toBe(false); - act(() => { - find('deleteSelectedItems').simulate('click'); - }); - component.update(); + clickDeleteSelectedItemsButton(); expect(component.exists('.euiModal--confirmation')).toBe(true); - await act(async () => { - find('confirmModalConfirmButton').simulate('click'); - }); + await clickConfirmModalButton(); expect(deleteItems).toHaveBeenCalledWith([selectedHit]); }); diff --git a/packages/content-management/table_list_view_table/src/table_list_view_table.tsx b/packages/content-management/table_list_view_table/src/table_list_view_table.tsx index 33ef91dc65e4b..9d7613c6a122d 100644 --- a/packages/content-management/table_list_view_table/src/table_list_view_table.tsx +++ b/packages/content-management/table_list_view_table/src/table_list_view_table.tsx @@ -108,6 +108,7 @@ export interface TableListViewTableProps< contentEditor?: ContentEditorConfig; tableCaption: string; + /** Flag to force a new fetch of the table items. Whenever it changes, the `findItems()` will be called. */ refreshListBouncer?: boolean; onFetchSuccess: () => void; setPageDataTestSubject: (subject: string) => void; @@ -115,6 +116,12 @@ export interface TableListViewTableProps< export interface State { items: T[]; + /** + * Flag to indicate if there aren't any item when **no filteres are applied**. + * When there are no item we render an empty prompt. + * Default to `undefined` to indicate that we don't know yet if there are items or not. + */ + hasNoItems: boolean | undefined; hasInitialFetchReturned: boolean; isFetchingItems: boolean; isDeletingItems: boolean; @@ -293,6 +300,7 @@ function TableListViewTableComp({ const isMounted = useRef(false); const fetchIdx = useRef(0); + /** * The "onTableSearchChange()" handler has an async behavior. We want to be able to discard * previsous search changes and only handle the last one. For that we keep a counter of the changes. @@ -335,9 +343,10 @@ function TableListViewTableComp({ const initialState = useMemo>( () => ({ items: [], + hasNoItems: undefined, totalItems: 0, hasInitialFetchReturned: false, - isFetchingItems: false, + isFetchingItems: true, isDeletingItems: false, showDeleteModal: false, hasUpdatedAtMetadata: false, @@ -364,6 +373,7 @@ function TableListViewTableComp({ hasInitialFetchReturned, isFetchingItems, items, + hasNoItems, fetchError, showDeleteModal, isDeletingItems, @@ -374,8 +384,6 @@ function TableListViewTableComp({ tableSort, } = state; - const hasQuery = searchQuery.text !== ''; - const hasNoItems = hasInitialFetchReturned && items.length === 0 && !hasQuery; const showFetchError = Boolean(fetchError); const showLimitError = !showFetchError && totalItems > listingLimit; @@ -857,17 +865,7 @@ function TableListViewTableComp({ // ------------ // Effects // ------------ - useDebounce( - () => { - // Do not call fetchItems on dependency changes when initial fetch does not load any items - // to avoid flashing between empty table and no items view - if (!hasNoItems) { - fetchItems(); - } - }, - 300, - [fetchItems, refreshListBouncer] - ); + useDebounce(fetchItems, 300, [fetchItems, refreshListBouncer]); useEffect(() => { if (!urlStateEnabled) { diff --git a/packages/core/chrome/core-chrome-browser-internal/src/project_navigation/home_breadcrumbs.tsx b/packages/core/chrome/core-chrome-browser-internal/src/project_navigation/home_breadcrumbs.tsx index d11b614fe2ac2..62bfad1b78090 100644 --- a/packages/core/chrome/core-chrome-browser-internal/src/project_navigation/home_breadcrumbs.tsx +++ b/packages/core/chrome/core-chrome-browser-internal/src/project_navigation/home_breadcrumbs.tsx @@ -20,5 +20,6 @@ export const createHomeBreadcrumb = ({ text: , title: i18n.translate('core.ui.chrome.breadcrumbs.homeLink', { defaultMessage: 'Home' }), href: homeHref, + 'data-test-subj': 'breadcrumb-home', }; }; diff --git a/packages/core/chrome/core-chrome-browser-internal/src/project_navigation/project_navigation_service.test.ts b/packages/core/chrome/core-chrome-browser-internal/src/project_navigation/project_navigation_service.test.ts index 8b7424bf0d019..ef0c33330a57d 100644 --- a/packages/core/chrome/core-chrome-browser-internal/src/project_navigation/project_navigation_service.test.ts +++ b/packages/core/chrome/core-chrome-browser-internal/src/project_navigation/project_navigation_service.test.ts @@ -80,6 +80,7 @@ describe('breadcrumbs', () => { expect(breadcrumbs).toMatchInlineSnapshot(` Array [ Object { + "data-test-subj": "breadcrumb-home", "href": "/", "text": { "title": "Home", }, Object { + "data-test-subj": "breadcrumb-deepLinkId-navItem1", "href": "/foo/item1", "text": "Nav Item 1", }, @@ -117,6 +119,7 @@ describe('breadcrumbs', () => { expect(breadcrumbs).toMatchInlineSnapshot(` Array [ Object { + "data-test-subj": "breadcrumb-home", "href": "/", "text": ({ href: node.deepLink?.url ?? node.href, text: node.title, + 'data-test-subj': classnames({ + [`breadcrumb-deepLinkId-${node.deepLink?.id}`]: !!node.deepLink, + }), }) ); @@ -140,7 +144,8 @@ export class ProjectNavigationService { const activeNodes = findActiveNodes( currentPathname, this.projectNavigationNavTreeFlattened, - location + location, + this.http?.basePath.prepend ); // Each time we call findActiveNodes() we create a new array of activeNodes. As this array is used diff --git a/packages/core/chrome/core-chrome-browser-internal/src/project_navigation/utils.test.ts b/packages/core/chrome/core-chrome-browser-internal/src/project_navigation/utils.test.ts index 940a350f47c06..93abfd5d5a1f7 100644 --- a/packages/core/chrome/core-chrome-browser-internal/src/project_navigation/utils.test.ts +++ b/packages/core/chrome/core-chrome-browser-internal/src/project_navigation/utils.test.ts @@ -254,6 +254,29 @@ describe('findActiveNodes', () => { ]); }); + test('should find active node at the root', () => { + const flattendNavTree: Record = { + '[0]': { + id: 'root', + title: 'Root', + deepLink: getDeepLink('root', `root`), + path: ['root'], + }, + }; + + expect(findActiveNodes(`/foo/root`, flattendNavTree)).toEqual([ + [ + { + id: 'root', + title: 'Root', + isActive: true, + deepLink: getDeepLink('root', `root`), + path: ['root'], + }, + ], + ]); + }); + test('should match the longest matching node', () => { const flattendNavTree: Record = { '[0]': { @@ -345,7 +368,7 @@ describe('findActiveNodes', () => { id: 'item1', title: 'Item 1', path: ['root', 'item1'], - getIsActive: (loc) => loc.pathname.startsWith('/foo'), // Should match + getIsActive: ({ location }) => location.pathname.startsWith('/foo'), // Should match }, '[0][2]': { id: 'item2', diff --git a/packages/core/chrome/core-chrome-browser-internal/src/project_navigation/utils.ts b/packages/core/chrome/core-chrome-browser-internal/src/project_navigation/utils.ts index e8a3750ade156..48158025414cb 100644 --- a/packages/core/chrome/core-chrome-browser-internal/src/project_navigation/utils.ts +++ b/packages/core/chrome/core-chrome-browser-internal/src/project_navigation/utils.ts @@ -73,9 +73,12 @@ function serializeDeeplinkUrl(url?: string) { * @param key The key to extract parent paths from * @returns An array of parent paths */ -function extractParentPaths(key: string) { +function extractParentPaths(key: string, navTree: Record) { // Split the string on every '][' to get an array of values without the brackets. const arr = key.split(']['); + if (arr.length === 1) { + return arr; + } // Add the brackets back in for the first and last elements, and all elements in between. arr[0] = `${arr[0]}]`; arr[arr.length - 1] = `[${arr[arr.length - 1]}`; @@ -83,10 +86,12 @@ function extractParentPaths(key: string) { arr[i] = `[${arr[i]}]`; } - return arr.reduce((acc, currentValue, currentIndex) => { - acc.push(arr.slice(0, currentIndex + 1).join('')); - return acc; - }, []); + return arr + .reduce((acc, currentValue, currentIndex) => { + acc.push(arr.slice(0, currentIndex + 1).join('')); + return acc; + }, []) + .filter((k) => Boolean(navTree[k])); } /** @@ -101,7 +106,8 @@ function extractParentPaths(key: string) { export const findActiveNodes = ( currentPathname: string, navTree: Record, - location?: Location + location?: Location, + prepend: (path: string) => string = (path) => path ): ChromeProjectNavigationNode[][] => { const activeNodes: ChromeProjectNavigationNode[][] = []; const matches: string[][] = []; @@ -113,9 +119,9 @@ export const findActiveNodes = ( Object.entries(navTree).forEach(([key, node]) => { if (node.getIsActive && location) { - const isActive = node.getIsActive(location); + const isActive = node.getIsActive({ pathNameSerialized: currentPathname, location, prepend }); if (isActive) { - const keysWithParents = extractParentPaths(key); + const keysWithParents = extractParentPaths(key, navTree); activeNodes.push(keysWithParents.map(activeNodeFromKey)); } return; @@ -139,7 +145,7 @@ export const findActiveNodes = ( if (matches.length > 0) { const longestMatch = matches[matches.length - 1]; longestMatch.forEach((key) => { - const keysWithParents = extractParentPaths(key); + const keysWithParents = extractParentPaths(key, navTree); activeNodes.push(keysWithParents.map(activeNodeFromKey)); }); } diff --git a/packages/core/chrome/core-chrome-browser/index.ts b/packages/core/chrome/core-chrome-browser/index.ts index d42d859cc6f3b..2e587cbcda497 100644 --- a/packages/core/chrome/core-chrome-browser/index.ts +++ b/packages/core/chrome/core-chrome-browser/index.ts @@ -34,6 +34,7 @@ export type { ChromeUserBanner, ChromeProjectNavigation, ChromeProjectNavigationNode, + CloudLinkId, SideNavCompProps, SideNavComponent, ChromeProjectBreadcrumb, diff --git a/packages/core/chrome/core-chrome-browser/src/index.ts b/packages/core/chrome/core-chrome-browser/src/index.ts index 7a414fc87164e..b931f05ecd327 100644 --- a/packages/core/chrome/core-chrome-browser/src/index.ts +++ b/packages/core/chrome/core-chrome-browser/src/index.ts @@ -33,6 +33,7 @@ export type { ChromeProjectNavigationNode, AppDeepLinkId, AppId, + CloudLinkId, SideNavCompProps, SideNavComponent, ChromeSetProjectBreadcrumbsParams, diff --git a/packages/core/chrome/core-chrome-browser/src/project_navigation.ts b/packages/core/chrome/core-chrome-browser/src/project_navigation.ts index 5be1d505f2ff9..38317cfc1e0f2 100644 --- a/packages/core/chrome/core-chrome-browser/src/project_navigation.ts +++ b/packages/core/chrome/core-chrome-browser/src/project_navigation.ts @@ -44,6 +44,18 @@ export type AppDeepLinkId = | SearchLink | ObservabilityLink; +/** @public */ +export type CloudLinkId = 'userAndRoles' | 'performance' | 'billingAndSub'; + +export type GetIsActiveFn = (params: { + /** The current path name including the basePath + hash value but **without** any query params */ + pathNameSerialized: string; + /** The history Location */ + location: Location; + /** Utiliy function to prepend a path with the basePath */ + prepend: (path: string) => string; +}) => boolean; + /** @public */ export interface ChromeProjectNavigationNode { /** Optional id, if not passed a "link" must be provided. */ @@ -69,7 +81,7 @@ export interface ChromeProjectNavigationNode { /** * Optional function to get the active state. This function is called whenever the location changes. */ - getIsActive?: (location: Location) => boolean; + getIsActive?: GetIsActiveFn; /** * Optional flag to indicate if the breadcrumb should be hidden when this node is active. @@ -123,6 +135,8 @@ export interface NodeDefinition< title?: string; /** App id or deeplink id */ link?: LinkId; + /** Cloud link id */ + cloudLink?: CloudLinkId; /** Optional icon for the navigation node. Note: not all navigation depth will render the icon */ icon?: string; /** Optional children of the navigation node */ @@ -134,7 +148,7 @@ export interface NodeDefinition< /** * Optional function to get the active state. This function is called whenever the location changes. */ - getIsActive?: (location: Location) => boolean; + getIsActive?: GetIsActiveFn; /** * Optional flag to indicate if the breadcrumb should be hidden when this node is active. diff --git a/packages/core/elasticsearch/core-elasticsearch-client-server-internal/src/get_ecs_response_log.test.ts b/packages/core/elasticsearch/core-elasticsearch-client-server-internal/src/get_ecs_response_log.test.ts index 03c8c118edcf2..af9470d18e892 100644 --- a/packages/core/elasticsearch/core-elasticsearch-client-server-internal/src/get_ecs_response_log.test.ts +++ b/packages/core/elasticsearch/core-elasticsearch-client-server-internal/src/get_ecs_response_log.test.ts @@ -91,6 +91,23 @@ describe('getEcsResponseLog', () => { `); }); + test('redacts es-client-authentication headers by default', () => { + const event = createResponseEvent({ + requestParams: { + headers: { 'es-client-authentication': 'ae3fda37-xxx', 'user-agent': 'world' }, + }, + response: { headers: { 'content-length': '123' } }, + }); + const log = getEcsResponseLog(event); + // @ts-expect-error ECS custom field + expect(log.http.request.headers).toMatchInlineSnapshot(` + Object { + "es-client-authentication": "[REDACTED]", + "user-agent": "world", + } + `); + }); + test('does not mutate original headers', () => { const reqHeaders = { a: 'foo', b: ['hello', 'world'] }; const resHeaders = { c: 'bar' }; diff --git a/packages/core/elasticsearch/core-elasticsearch-client-server-internal/src/get_ecs_response_log.ts b/packages/core/elasticsearch/core-elasticsearch-client-server-internal/src/get_ecs_response_log.ts index fa122166ada08..6b44c48925438 100644 --- a/packages/core/elasticsearch/core-elasticsearch-client-server-internal/src/get_ecs_response_log.ts +++ b/packages/core/elasticsearch/core-elasticsearch-client-server-internal/src/get_ecs_response_log.ts @@ -12,7 +12,13 @@ import { type LogMeta } from '@kbn/logging'; // If you are updating these, consider whether they should also be updated in the // http service `getResponseLog` -const FORBIDDEN_HEADERS = ['authorization', 'cookie', 'set-cookie', 'x-elastic-app-auth']; +const FORBIDDEN_HEADERS = [ + 'authorization', + 'cookie', + 'set-cookie', + 'x-elastic-app-auth', + 'es-client-authentication', +]; const REDACTED_HEADER_TEXT = '[REDACTED]'; // We are excluding sensitive headers by default, until we have a log filtering mechanism. diff --git a/packages/core/http/core-http-server-internal/src/logging/get_response_log.test.ts b/packages/core/http/core-http-server-internal/src/logging/get_response_log.test.ts index a8f607c5c6865..a77283b6575ff 100644 --- a/packages/core/http/core-http-server-internal/src/logging/get_response_log.test.ts +++ b/packages/core/http/core-http-server-internal/src/logging/get_response_log.test.ts @@ -211,6 +211,21 @@ describe('getEcsResponseLog', () => { `); }); + test('redacts es-client-authentication headers by default', () => { + const req = createMockHapiRequest({ + headers: { 'es-client-authentication': 'ae3fda37-xxx', 'user-agent': 'world' }, + response: { headers: { 'content-length': '123' } }, + }); + const result = getEcsResponseLog(req, logger); + // @ts-expect-error ECS custom field + expect(result.meta.http.request.headers).toMatchInlineSnapshot(` + Object { + "es-client-authentication": "[REDACTED]", + "user-agent": "world", + } + `); + }); + test('does not mutate original headers', () => { const reqHeaders = { a: 'foo', b: ['hello', 'world'] }; const resHeaders = { headers: { c: 'bar' } }; diff --git a/packages/core/http/core-http-server-internal/src/logging/get_response_log.ts b/packages/core/http/core-http-server-internal/src/logging/get_response_log.ts index f356bf077095a..2cc9c50a1b319 100644 --- a/packages/core/http/core-http-server-internal/src/logging/get_response_log.ts +++ b/packages/core/http/core-http-server-internal/src/logging/get_response_log.ts @@ -16,7 +16,13 @@ import { getResponsePayloadBytes } from './get_payload_size'; // If you are updating these, consider whether they should also be updated in the // elasticsearch service `getEcsResponseLog` -const FORBIDDEN_HEADERS = ['authorization', 'cookie', 'set-cookie', 'x-elastic-app-auth']; +const FORBIDDEN_HEADERS = [ + 'authorization', + 'cookie', + 'set-cookie', + 'x-elastic-app-auth', + 'es-client-authentication', +]; const REDACTED_HEADER_TEXT = '[REDACTED]'; type HapiHeaders = Record; diff --git a/packages/kbn-discover-utils/README.md b/packages/kbn-discover-utils/README.md new file mode 100644 index 0000000000000..17f396f1ec929 --- /dev/null +++ b/packages/kbn-discover-utils/README.md @@ -0,0 +1,4 @@ +# @kbn/discover-utils + +This is the package contains extracting parts of Discover for the usage in other +unified components. This are mainly shared types, utils and mocks. \ No newline at end of file diff --git a/packages/kbn-discover-utils/index.ts b/packages/kbn-discover-utils/index.ts new file mode 100644 index 0000000000000..95cb148929060 --- /dev/null +++ b/packages/kbn-discover-utils/index.ts @@ -0,0 +1,9 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +export { getDocId, buildDataTableRecord, buildDataTableRecordList } from './src'; diff --git a/packages/kbn-discover-utils/jest.config.js b/packages/kbn-discover-utils/jest.config.js new file mode 100644 index 0000000000000..d93b26e9943f4 --- /dev/null +++ b/packages/kbn-discover-utils/jest.config.js @@ -0,0 +1,13 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +module.exports = { + preset: '@kbn/test', + rootDir: '../..', + roots: ['/packages/kbn-discover-utils'], +}; diff --git a/packages/kbn-discover-utils/kibana.jsonc b/packages/kbn-discover-utils/kibana.jsonc new file mode 100644 index 0000000000000..bf77a20bdb863 --- /dev/null +++ b/packages/kbn-discover-utils/kibana.jsonc @@ -0,0 +1,5 @@ +{ + "type": "shared-common", + "id": "@kbn/discover-utils", + "owner": "@elastic/kibana-data-discovery" +} diff --git a/packages/kbn-discover-utils/package.json b/packages/kbn-discover-utils/package.json new file mode 100644 index 0000000000000..0a3257d65ec58 --- /dev/null +++ b/packages/kbn-discover-utils/package.json @@ -0,0 +1,6 @@ +{ + "name": "@kbn/discover-utils", + "private": true, + "version": "1.0.0", + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/src/plugins/discover/public/__mocks__/data_view.ts b/packages/kbn-discover-utils/src/__mocks__/data_view.ts similarity index 100% rename from src/plugins/discover/public/__mocks__/data_view.ts rename to packages/kbn-discover-utils/src/__mocks__/data_view.ts diff --git a/src/plugins/discover/public/__mocks__/es_hits.ts b/packages/kbn-discover-utils/src/__mocks__/es_hits.ts similarity index 97% rename from src/plugins/discover/public/__mocks__/es_hits.ts rename to packages/kbn-discover-utils/src/__mocks__/es_hits.ts index b4fa5c019f8dd..a23bb1af0ceaf 100644 --- a/src/plugins/discover/public/__mocks__/es_hits.ts +++ b/packages/kbn-discover-utils/src/__mocks__/es_hits.ts @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -export const esHits = [ +export const esHitsMock = [ { _index: 'i', _id: '1', diff --git a/packages/kbn-discover-utils/src/__mocks__/index.ts b/packages/kbn-discover-utils/src/__mocks__/index.ts new file mode 100644 index 0000000000000..c7e1333e83815 --- /dev/null +++ b/packages/kbn-discover-utils/src/__mocks__/index.ts @@ -0,0 +1,10 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +export * from './data_view'; +export * from './es_hits'; diff --git a/packages/kbn-discover-utils/src/index.ts b/packages/kbn-discover-utils/src/index.ts new file mode 100644 index 0000000000000..a50ff5c59e798 --- /dev/null +++ b/packages/kbn-discover-utils/src/index.ts @@ -0,0 +1,9 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +export * from './utils'; diff --git a/packages/kbn-discover-utils/src/types.ts b/packages/kbn-discover-utils/src/types.ts new file mode 100644 index 0000000000000..0b436339f4db9 --- /dev/null +++ b/packages/kbn-discover-utils/src/types.ts @@ -0,0 +1,35 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import type { SearchHit } from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; + +export interface EsHitRecord extends Omit { + _source?: Record; +} + +/** + * This is the record/row of data provided to our Data Table + */ +export interface DataTableRecord { + /** + * A unique id generated by index, id and routing of a record + */ + id: string; + /** + * The document returned by Elasticsearch for search queries + */ + raw: EsHitRecord; + /** + * A flattened version of the ES doc or data provided by SQL, aggregations ... + */ + flattened: Record; + /** + * Determines that the given doc is the anchor doc when rendering view surrounding docs + */ + isAnchor?: boolean; +} diff --git a/packages/kbn-discover-utils/src/utils/build_data_record.test.ts b/packages/kbn-discover-utils/src/utils/build_data_record.test.ts new file mode 100644 index 0000000000000..ad486aba543a1 --- /dev/null +++ b/packages/kbn-discover-utils/src/utils/build_data_record.test.ts @@ -0,0 +1,34 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { buildDataTableRecord, buildDataTableRecordList } from './build_data_record'; +import { dataViewMock, esHitsMock } from '../__mocks__'; + +describe('Data table record utils', () => { + describe('buildDataTableRecord', () => { + test('should return a DataTableRecord', () => { + const result = buildDataTableRecord(esHitsMock[0], dataViewMock, false); + expect(result).toHaveProperty('id', 'i::1::'); + expect(result).toHaveProperty('raw', esHitsMock[0]); + expect(result).toHaveProperty('flattened'); + expect(result).toHaveProperty('isAnchor', false); + }); + }); + + describe('buildDataTableRecordList', () => { + test('should return a list of DataTableRecord', () => { + const result = buildDataTableRecordList(esHitsMock, dataViewMock); + result.forEach((doc) => { + expect(doc).toHaveProperty('id'); + expect(doc).toHaveProperty('raw'); + expect(doc).toHaveProperty('flattened'); + expect(doc).toHaveProperty('isAnchor'); + }); + }); + }); +}); diff --git a/src/plugins/discover/public/utils/build_data_record.ts b/packages/kbn-discover-utils/src/utils/build_data_record.ts similarity index 92% rename from src/plugins/discover/public/utils/build_data_record.ts rename to packages/kbn-discover-utils/src/utils/build_data_record.ts index 2691fddfb66a9..43adf7b9c8b66 100644 --- a/src/plugins/discover/public/utils/build_data_record.ts +++ b/packages/kbn-discover-utils/src/utils/build_data_record.ts @@ -6,10 +6,10 @@ * Side Public License, v 1. */ -import { DataView } from '@kbn/data-views-plugin/common'; -import { flattenHit } from '@kbn/data-plugin/common'; -import { getDocId } from './get_doc_id'; +import type { DataView } from '@kbn/data-views-plugin/common'; +import { flattenHit } from '@kbn/data-service'; import type { DataTableRecord, EsHitRecord } from '../types'; +import { getDocId } from './get_doc_id'; /** * Build a record for data table, explorer + classic one diff --git a/packages/kbn-discover-utils/src/utils/get_doc_id.test.ts b/packages/kbn-discover-utils/src/utils/get_doc_id.test.ts new file mode 100644 index 0000000000000..d0eb2b027671a --- /dev/null +++ b/packages/kbn-discover-utils/src/utils/get_doc_id.test.ts @@ -0,0 +1,17 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { esHitsMock } from '../__mocks__'; +import { getDocId } from './get_doc_id'; + +describe('getDocId', () => { + test('should return unique ID', () => { + const result = getDocId(esHitsMock[0]); + expect(result).toMatchInlineSnapshot(`"i::1::"`); + }); +}); diff --git a/src/plugins/discover/public/utils/get_doc_id.tsx b/packages/kbn-discover-utils/src/utils/get_doc_id.ts similarity index 100% rename from src/plugins/discover/public/utils/get_doc_id.tsx rename to packages/kbn-discover-utils/src/utils/get_doc_id.ts diff --git a/packages/kbn-discover-utils/src/utils/index.ts b/packages/kbn-discover-utils/src/utils/index.ts new file mode 100644 index 0000000000000..fe2ef094c3477 --- /dev/null +++ b/packages/kbn-discover-utils/src/utils/index.ts @@ -0,0 +1,10 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +export * from './build_data_record'; +export * from './get_doc_id'; diff --git a/packages/kbn-discover-utils/tsconfig.json b/packages/kbn-discover-utils/tsconfig.json new file mode 100644 index 0000000000000..2796ebd054d6b --- /dev/null +++ b/packages/kbn-discover-utils/tsconfig.json @@ -0,0 +1,22 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "outDir": "target/types", + "types": [ + "jest", + "node", + "react" + ] + }, + "include": [ + "**/*.ts", + "**/*.tsx", + ], + "exclude": [ + "target/**/*" + ], + "kbn_references": [ + "@kbn/data-views-plugin", + "@kbn/data-service", + ] +} diff --git a/packages/kbn-discover-utils/types.ts b/packages/kbn-discover-utils/types.ts new file mode 100644 index 0000000000000..41101bba14887 --- /dev/null +++ b/packages/kbn-discover-utils/types.ts @@ -0,0 +1,9 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +export type { DataTableRecord, EsHitRecord } from './src/types'; diff --git a/packages/shared-ux/chrome/navigation/mocks/src/jest.ts b/packages/shared-ux/chrome/navigation/mocks/src/jest.ts index 4fd298811b5d8..d2e7f9b77ca22 100644 --- a/packages/shared-ux/chrome/navigation/mocks/src/jest.ts +++ b/packages/shared-ux/chrome/navigation/mocks/src/jest.ts @@ -29,5 +29,19 @@ export const getServicesMock = ({ navigateToUrl, onProjectNavigationChange: jest.fn(), activeNodes$: of(activeNodes), + cloudLinks: { + billingAndSub: { + title: 'Mock Billing & Subscriptions', + href: 'https://cloud.elastic.co/account/billing', + }, + performance: { + title: 'Mock Performance', + href: 'https://cloud.elastic.co/deployments/123456789/performance', + }, + userAndRoles: { + title: 'Mock Users & Roles', + href: 'https://cloud.elastic.co/deployments/123456789/security/users', + }, + }, }; }; diff --git a/packages/shared-ux/chrome/navigation/mocks/src/navlinks.ts b/packages/shared-ux/chrome/navigation/mocks/src/navlinks.ts index a002f072770a8..2a243080b9e46 100644 --- a/packages/shared-ux/chrome/navigation/mocks/src/navlinks.ts +++ b/packages/shared-ux/chrome/navigation/mocks/src/navlinks.ts @@ -28,6 +28,7 @@ const allNavLinks: AppDeepLinkId[] = [ 'discover', 'fleet', 'integrations', + 'management', 'management:api_keys', 'management:cases', 'management:cross_cluster_replication', diff --git a/packages/shared-ux/chrome/navigation/mocks/src/storybook.ts b/packages/shared-ux/chrome/navigation/mocks/src/storybook.ts index 4514ffe30fcd4..28184ee086cc7 100644 --- a/packages/shared-ux/chrome/navigation/mocks/src/storybook.ts +++ b/packages/shared-ux/chrome/navigation/mocks/src/storybook.ts @@ -44,6 +44,20 @@ export class StorybookMock extends AbstractStorybookMock<{}, NavigationServices> navLinks$: params.navLinks$ ?? new BehaviorSubject([]), onProjectNavigationChange: params.onProjectNavigationChange ?? (() => undefined), activeNodes$: new BehaviorSubject([]), + cloudLinks: { + billingAndSub: { + title: 'Billing & Subscriptions', + href: 'https://cloud.elastic.co/account/billing', + }, + performance: { + title: 'Performance', + href: 'https://cloud.elastic.co/deployments/123456789/performance', + }, + userAndRoles: { + title: 'Users & Roles', + href: 'https://cloud.elastic.co/deployments/123456789/security/users', + }, + }, }; } diff --git a/packages/shared-ux/chrome/navigation/src/cloud_links.tsx b/packages/shared-ux/chrome/navigation/src/cloud_links.tsx new file mode 100644 index 0000000000000..4efd73b8e3a97 --- /dev/null +++ b/packages/shared-ux/chrome/navigation/src/cloud_links.tsx @@ -0,0 +1,58 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ +import { i18n } from '@kbn/i18n'; +import type { CloudLinkId } from '@kbn/core-chrome-browser'; +import type { CloudStart } from '@kbn/cloud-plugin/public'; + +export type CloudLinks = { + [id in CloudLinkId]?: { + title: string; + href: string; + }; +}; + +export const getCloudLinks = (cloud: CloudStart): CloudLinks => { + const { billingUrl, performanceUrl, usersAndRolesUrl } = cloud; + + const links: CloudLinks = {}; + + if (usersAndRolesUrl) { + links.userAndRoles = { + title: i18n.translate( + 'sharedUXPackages.chrome.sideNavigation.cloudLinks.usersAndRolesLinkText', + { + defaultMessage: 'Users and roles', + } + ), + href: usersAndRolesUrl, + }; + } + + if (performanceUrl) { + links.performance = { + title: i18n.translate( + 'sharedUXPackages.chrome.sideNavigation.cloudLinks.performanceLinkText', + { + defaultMessage: 'Performance', + } + ), + href: performanceUrl, + }; + } + + if (billingUrl) { + links.billingAndSub = { + title: i18n.translate('sharedUXPackages.chrome.sideNavigation.cloudLinks.billingLinkText', { + defaultMessage: 'Billing and subscription', + }), + href: billingUrl, + }; + } + + return links; +}; diff --git a/packages/shared-ux/chrome/navigation/src/services.tsx b/packages/shared-ux/chrome/navigation/src/services.tsx index f59365b21ead3..ebe7846b33378 100644 --- a/packages/shared-ux/chrome/navigation/src/services.tsx +++ b/packages/shared-ux/chrome/navigation/src/services.tsx @@ -6,8 +6,9 @@ * Side Public License, v 1. */ -import React, { FC, useContext } from 'react'; +import React, { FC, useContext, useMemo } from 'react'; import { NavigationKibanaDependencies, NavigationServices } from '../types'; +import { CloudLinks, getCloudLinks } from './cloud_links'; const Context = React.createContext(null); @@ -25,11 +26,13 @@ export const NavigationKibanaProvider: FC = ({ children, ...dependencies }) => { - const { core, serverless } = dependencies; + const { core, serverless, cloud } = dependencies; const { chrome, http } = core; const { basePath } = http; const { navigateToUrl } = core.application; + const cloudLinks: CloudLinks = useMemo(() => (cloud ? getCloudLinks(cloud) : {}), [cloud]); + const value: NavigationServices = { basePath, recentlyAccessed$: chrome.recentlyAccessed.get$(), @@ -38,6 +41,7 @@ export const NavigationKibanaProvider: FC = ({ navIsOpen: true, onProjectNavigationChange: serverless.setNavigation, activeNodes$: serverless.getActiveNavigationNodes$(), + cloudLinks, }; return {children}; diff --git a/packages/shared-ux/chrome/navigation/src/ui/__snapshots__/default_navigation.test.tsx.snap b/packages/shared-ux/chrome/navigation/src/ui/__snapshots__/default_navigation.test.tsx.snap new file mode 100644 index 0000000000000..232d6b7dc610e --- /dev/null +++ b/packages/shared-ux/chrome/navigation/src/ui/__snapshots__/default_navigation.test.tsx.snap @@ -0,0 +1,678 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[` builds the full navigation tree when only custom project is provided reading the title from config or deeplink 1`] = ` +Array [ + Object { + "children": Array [ + Object { + "children": undefined, + "deepLink": undefined, + "href": undefined, + "id": "item1", + "isActive": false, + "path": Array [ + "group1", + "item1", + ], + "renderItem": undefined, + "title": "Item 1", + }, + Object { + "children": undefined, + "deepLink": Object { + "baseUrl": "", + "href": "", + "id": "item2", + "title": "Title from deeplink!", + "url": "", + }, + "href": undefined, + "id": "item2", + "isActive": false, + "path": Array [ + "group1", + "item2", + ], + "renderItem": undefined, + "title": "Title from deeplink!", + }, + Object { + "children": undefined, + "deepLink": Object { + "baseUrl": "", + "href": "", + "id": "item2", + "title": "Title from deeplink!", + "url": "", + }, + "href": undefined, + "id": "item3", + "isActive": false, + "path": Array [ + "group1", + "item3", + ], + "renderItem": undefined, + "title": "Deeplink title overriden", + }, + ], + "deepLink": undefined, + "href": undefined, + "id": "group1", + "isActive": false, + "path": Array [ + "group1", + ], + "title": "Group 1", + "type": "navGroup", + }, + Object { + "children": Array [ + Object { + "children": Array [ + Object { + "children": undefined, + "deepLink": Object { + "baseUrl": "/mocked", + "href": "http://mocked/discover", + "id": "discover", + "title": "Deeplink discover", + "url": "/mocked/discover", + }, + "href": undefined, + "id": "discover", + "isActive": false, + "path": Array [ + "rootNav:analytics", + "root", + "discover", + ], + "renderItem": undefined, + "title": "Deeplink discover", + }, + Object { + "children": undefined, + "deepLink": Object { + "baseUrl": "/mocked", + "href": "http://mocked/dashboards", + "id": "dashboards", + "title": "Deeplink dashboards", + "url": "/mocked/dashboards", + }, + "href": undefined, + "id": "dashboards", + "isActive": false, + "path": Array [ + "rootNav:analytics", + "root", + "dashboards", + ], + "renderItem": undefined, + "title": "Deeplink dashboards", + }, + Object { + "children": undefined, + "deepLink": Object { + "baseUrl": "/mocked", + "href": "http://mocked/visualize", + "id": "visualize", + "title": "Deeplink visualize", + "url": "/mocked/visualize", + }, + "href": undefined, + "id": "visualize", + "isActive": false, + "path": Array [ + "rootNav:analytics", + "root", + "visualize", + ], + "renderItem": undefined, + "title": "Deeplink visualize", + }, + ], + "deepLink": undefined, + "href": undefined, + "id": "root", + "isActive": false, + "path": Array [ + "rootNav:analytics", + "root", + ], + "title": "", + }, + ], + "deepLink": undefined, + "href": undefined, + "icon": "stats", + "id": "rootNav:analytics", + "isActive": false, + "path": Array [ + "rootNav:analytics", + ], + "title": "Data exploration", + "type": "navGroup", + }, + Object { + "children": Array [ + Object { + "children": Array [ + Object { + "children": undefined, + "deepLink": Object { + "baseUrl": "/mocked", + "href": "http://mocked/ml:overview", + "id": "ml:overview", + "title": "Deeplink ml:overview", + "url": "/mocked/ml:overview", + }, + "href": undefined, + "id": "ml:overview", + "isActive": false, + "path": Array [ + "rootNav:ml", + "root", + "ml:overview", + ], + "renderItem": undefined, + "title": "Deeplink ml:overview", + }, + Object { + "children": undefined, + "deepLink": Object { + "baseUrl": "/mocked", + "href": "http://mocked/ml:notifications", + "id": "ml:notifications", + "title": "Deeplink ml:notifications", + "url": "/mocked/ml:notifications", + }, + "href": undefined, + "id": "ml:notifications", + "isActive": false, + "path": Array [ + "rootNav:ml", + "root", + "ml:notifications", + ], + "renderItem": undefined, + "title": "Deeplink ml:notifications", + }, + ], + "deepLink": undefined, + "href": undefined, + "id": "root", + "isActive": false, + "path": Array [ + "rootNav:ml", + "root", + ], + "title": "", + }, + Object { + "children": Array [ + Object { + "children": undefined, + "deepLink": Object { + "baseUrl": "/mocked", + "href": "http://mocked/ml:anomalyDetection", + "id": "ml:anomalyDetection", + "title": "Deeplink ml:anomalyDetection", + "url": "/mocked/ml:anomalyDetection", + }, + "href": undefined, + "id": "ml:anomalyDetection", + "isActive": false, + "path": Array [ + "rootNav:ml", + "anomaly_detection", + "ml:anomalyDetection", + ], + "renderItem": undefined, + "title": "Jobs", + }, + Object { + "children": undefined, + "deepLink": Object { + "baseUrl": "/mocked", + "href": "http://mocked/ml:anomalyExplorer", + "id": "ml:anomalyExplorer", + "title": "Deeplink ml:anomalyExplorer", + "url": "/mocked/ml:anomalyExplorer", + }, + "href": undefined, + "id": "ml:anomalyExplorer", + "isActive": false, + "path": Array [ + "rootNav:ml", + "anomaly_detection", + "ml:anomalyExplorer", + ], + "renderItem": undefined, + "title": "Deeplink ml:anomalyExplorer", + }, + Object { + "children": undefined, + "deepLink": Object { + "baseUrl": "/mocked", + "href": "http://mocked/ml:singleMetricViewer", + "id": "ml:singleMetricViewer", + "title": "Deeplink ml:singleMetricViewer", + "url": "/mocked/ml:singleMetricViewer", + }, + "href": undefined, + "id": "ml:singleMetricViewer", + "isActive": false, + "path": Array [ + "rootNav:ml", + "anomaly_detection", + "ml:singleMetricViewer", + ], + "renderItem": undefined, + "title": "Deeplink ml:singleMetricViewer", + }, + Object { + "children": undefined, + "deepLink": Object { + "baseUrl": "/mocked", + "href": "http://mocked/ml:settings", + "id": "ml:settings", + "title": "Deeplink ml:settings", + "url": "/mocked/ml:settings", + }, + "href": undefined, + "id": "ml:settings", + "isActive": false, + "path": Array [ + "rootNav:ml", + "anomaly_detection", + "ml:settings", + ], + "renderItem": undefined, + "title": "Deeplink ml:settings", + }, + ], + "deepLink": undefined, + "href": undefined, + "id": "anomaly_detection", + "isActive": false, + "path": Array [ + "rootNav:ml", + "anomaly_detection", + ], + "title": "Anomaly Detection", + }, + Object { + "children": Array [ + Object { + "children": undefined, + "deepLink": Object { + "baseUrl": "/mocked", + "href": "http://mocked/ml:dataFrameAnalytics", + "id": "ml:dataFrameAnalytics", + "title": "Deeplink ml:dataFrameAnalytics", + "url": "/mocked/ml:dataFrameAnalytics", + }, + "href": undefined, + "id": "ml:dataFrameAnalytics", + "isActive": false, + "path": Array [ + "rootNav:ml", + "data_frame_analytics", + "ml:dataFrameAnalytics", + ], + "renderItem": undefined, + "title": "Jobs", + }, + Object { + "children": undefined, + "deepLink": Object { + "baseUrl": "/mocked", + "href": "http://mocked/ml:resultExplorer", + "id": "ml:resultExplorer", + "title": "Deeplink ml:resultExplorer", + "url": "/mocked/ml:resultExplorer", + }, + "href": undefined, + "id": "ml:resultExplorer", + "isActive": false, + "path": Array [ + "rootNav:ml", + "data_frame_analytics", + "ml:resultExplorer", + ], + "renderItem": undefined, + "title": "Deeplink ml:resultExplorer", + }, + Object { + "children": undefined, + "deepLink": Object { + "baseUrl": "/mocked", + "href": "http://mocked/ml:analyticsMap", + "id": "ml:analyticsMap", + "title": "Deeplink ml:analyticsMap", + "url": "/mocked/ml:analyticsMap", + }, + "href": undefined, + "id": "ml:analyticsMap", + "isActive": false, + "path": Array [ + "rootNav:ml", + "data_frame_analytics", + "ml:analyticsMap", + ], + "renderItem": undefined, + "title": "Deeplink ml:analyticsMap", + }, + ], + "deepLink": undefined, + "href": undefined, + "id": "data_frame_analytics", + "isActive": false, + "path": Array [ + "rootNav:ml", + "data_frame_analytics", + ], + "title": "Data Frame Analytics", + }, + Object { + "children": Array [ + Object { + "children": undefined, + "deepLink": Object { + "baseUrl": "/mocked", + "href": "http://mocked/ml:nodesOverview", + "id": "ml:nodesOverview", + "title": "Deeplink ml:nodesOverview", + "url": "/mocked/ml:nodesOverview", + }, + "href": undefined, + "id": "ml:nodesOverview", + "isActive": false, + "path": Array [ + "rootNav:ml", + "model_management", + "ml:nodesOverview", + ], + "renderItem": undefined, + "title": "Deeplink ml:nodesOverview", + }, + Object { + "children": undefined, + "deepLink": Object { + "baseUrl": "/mocked", + "href": "http://mocked/ml:nodes", + "id": "ml:nodes", + "title": "Deeplink ml:nodes", + "url": "/mocked/ml:nodes", + }, + "href": undefined, + "id": "ml:nodes", + "isActive": false, + "path": Array [ + "rootNav:ml", + "model_management", + "ml:nodes", + ], + "renderItem": undefined, + "title": "Deeplink ml:nodes", + }, + ], + "deepLink": undefined, + "href": undefined, + "id": "model_management", + "isActive": false, + "path": Array [ + "rootNav:ml", + "model_management", + ], + "title": "Model Management", + }, + Object { + "children": Array [ + Object { + "children": undefined, + "deepLink": Object { + "baseUrl": "/mocked", + "href": "http://mocked/ml:fileUpload", + "id": "ml:fileUpload", + "title": "Deeplink ml:fileUpload", + "url": "/mocked/ml:fileUpload", + }, + "href": undefined, + "id": "ml:fileUpload", + "isActive": false, + "path": Array [ + "rootNav:ml", + "data_visualizer", + "ml:fileUpload", + ], + "renderItem": undefined, + "title": "File", + }, + Object { + "children": undefined, + "deepLink": Object { + "baseUrl": "/mocked", + "href": "http://mocked/ml:indexDataVisualizer", + "id": "ml:indexDataVisualizer", + "title": "Deeplink ml:indexDataVisualizer", + "url": "/mocked/ml:indexDataVisualizer", + }, + "href": undefined, + "id": "ml:indexDataVisualizer", + "isActive": false, + "path": Array [ + "rootNav:ml", + "data_visualizer", + "ml:indexDataVisualizer", + ], + "renderItem": undefined, + "title": "Data view", + }, + ], + "deepLink": undefined, + "href": undefined, + "id": "data_visualizer", + "isActive": false, + "path": Array [ + "rootNav:ml", + "data_visualizer", + ], + "title": "Data Visualizer", + }, + Object { + "children": Array [ + Object { + "children": undefined, + "deepLink": Object { + "baseUrl": "/mocked", + "href": "http://mocked/ml:explainLogRateSpikes", + "id": "ml:explainLogRateSpikes", + "title": "Deeplink ml:explainLogRateSpikes", + "url": "/mocked/ml:explainLogRateSpikes", + }, + "href": undefined, + "id": "ml:explainLogRateSpikes", + "isActive": false, + "path": Array [ + "rootNav:ml", + "aiops_labs", + "ml:explainLogRateSpikes", + ], + "renderItem": undefined, + "title": "Deeplink ml:explainLogRateSpikes", + }, + Object { + "children": undefined, + "deepLink": Object { + "baseUrl": "/mocked", + "href": "http://mocked/ml:logPatternAnalysis", + "id": "ml:logPatternAnalysis", + "title": "Deeplink ml:logPatternAnalysis", + "url": "/mocked/ml:logPatternAnalysis", + }, + "href": undefined, + "id": "ml:logPatternAnalysis", + "isActive": false, + "path": Array [ + "rootNav:ml", + "aiops_labs", + "ml:logPatternAnalysis", + ], + "renderItem": undefined, + "title": "Deeplink ml:logPatternAnalysis", + }, + Object { + "children": undefined, + "deepLink": Object { + "baseUrl": "/mocked", + "href": "http://mocked/ml:changePointDetections", + "id": "ml:changePointDetections", + "title": "Deeplink ml:changePointDetections", + "url": "/mocked/ml:changePointDetections", + }, + "href": undefined, + "id": "ml:changePointDetections", + "isActive": false, + "path": Array [ + "rootNav:ml", + "aiops_labs", + "ml:changePointDetections", + ], + "renderItem": undefined, + "title": "Deeplink ml:changePointDetections", + }, + ], + "deepLink": undefined, + "href": undefined, + "id": "aiops_labs", + "isActive": false, + "path": Array [ + "rootNav:ml", + "aiops_labs", + ], + "title": "AIOps labs", + }, + ], + "deepLink": undefined, + "href": undefined, + "icon": "machineLearningApp", + "id": "rootNav:ml", + "isActive": false, + "path": Array [ + "rootNav:ml", + ], + "title": "Machine Learning", + "type": "navGroup", + }, + Object { + "children": undefined, + "deepLink": Object { + "baseUrl": "/mocked", + "href": "http://mocked/dev_tools", + "id": "dev_tools", + "title": "Deeplink dev_tools", + "url": "/mocked/dev_tools", + }, + "href": undefined, + "icon": "editorCodeBlock", + "id": "devTools", + "isActive": false, + "path": Array [ + "devTools", + ], + "title": "Developer tools", + "type": "navGroup", + }, + Object { + "breadcrumbStatus": "hidden", + "children": Array [ + Object { + "children": Array [ + Object { + "children": undefined, + "deepLink": Object { + "baseUrl": "/mocked", + "href": "http://mocked/management", + "id": "management", + "title": "Deeplink management", + "url": "/mocked/management", + }, + "href": undefined, + "id": "management", + "isActive": false, + "path": Array [ + "project_settings_project_nav", + "settings", + "management", + ], + "renderItem": undefined, + "title": "Management", + }, + Object { + "children": undefined, + "deepLink": undefined, + "href": "https://cloud.elastic.co/deployments/123456789/security/users", + "id": "cloudLinkUserAndRoles", + "isActive": false, + "path": Array [ + "project_settings_project_nav", + "settings", + "cloudLinkUserAndRoles", + ], + "renderItem": undefined, + "title": "Mock Users & Roles", + }, + Object { + "children": undefined, + "deepLink": undefined, + "href": "https://cloud.elastic.co/deployments/123456789/performance", + "id": "cloudLinkPerformance", + "isActive": false, + "path": Array [ + "project_settings_project_nav", + "settings", + "cloudLinkPerformance", + ], + "renderItem": undefined, + "title": "Mock Performance", + }, + Object { + "children": undefined, + "deepLink": undefined, + "href": "https://cloud.elastic.co/account/billing", + "id": "cloudLinkBilling", + "isActive": false, + "path": Array [ + "project_settings_project_nav", + "settings", + "cloudLinkBilling", + ], + "renderItem": undefined, + "title": "Mock Billing & Subscriptions", + }, + ], + "deepLink": undefined, + "href": undefined, + "id": "settings", + "isActive": false, + "path": Array [ + "project_settings_project_nav", + "settings", + ], + "title": "", + }, + ], + "deepLink": undefined, + "href": undefined, + "icon": "gear", + "id": "project_settings_project_nav", + "isActive": false, + "path": Array [ + "project_settings_project_nav", + ], + "title": "Project settings", + "type": "navGroup", + }, +] +`; diff --git a/packages/shared-ux/chrome/navigation/src/ui/components/group_as_link.tsx b/packages/shared-ux/chrome/navigation/src/ui/components/group_as_link.tsx new file mode 100644 index 0000000000000..092d243722cd4 --- /dev/null +++ b/packages/shared-ux/chrome/navigation/src/ui/components/group_as_link.tsx @@ -0,0 +1,61 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import React from 'react'; +import { + EuiFlexGroup, + EuiFlexItem, + EuiIcon, + EuiLink, + EuiTitle, + useGeneratedHtmlId, +} from '@elastic/eui'; + +import type { NavigateToUrlFn } from '../../../types/internal'; + +interface Props { + title: string; + href: string; + navigateToUrl: NavigateToUrlFn; + iconType?: string; +} + +export const GroupAsLink = ({ title, href, navigateToUrl, iconType }: Props) => { + const groupID = useGeneratedHtmlId(); + const titleID = `${groupID}__title`; + const TitleElement = 'h3'; + + return ( + + {iconType && ( + + + + )} + + + {/* eslint-disable-next-line @elastic/eui/href-or-on-click */} + { + e.preventDefault(); + e.stopPropagation(); + navigateToUrl(href); + }} + href={href} + > + + + {title} + + + + + + ); +}; diff --git a/packages/shared-ux/chrome/navigation/src/ui/components/navigation.test.tsx b/packages/shared-ux/chrome/navigation/src/ui/components/navigation.test.tsx index 1c9655eaf27ce..b804f65e31d6c 100644 --- a/packages/shared-ux/chrome/navigation/src/ui/components/navigation.test.tsx +++ b/packages/shared-ux/chrome/navigation/src/ui/components/navigation.test.tsx @@ -58,16 +58,16 @@ describe('', () => { jest.advanceTimersByTime(SET_NAVIGATION_DELAY); }); - expect(await findByTestId('nav-item-group1.item1')).toBeVisible(); - expect(await findByTestId('nav-item-group1.item2')).toBeVisible(); - expect(await findByTestId('nav-item-group1.group1A')).toBeVisible(); - expect(await findByTestId('nav-item-group1.group1A.item1')).toBeVisible(); - expect(await findByTestId('nav-item-group1.group1A.group1A_1')).toBeVisible(); + expect(await findByTestId(/nav-item-group1.item1/)).toBeVisible(); + expect(await findByTestId(/nav-item-group1.item2/)).toBeVisible(); + expect(await findByTestId(/nav-item-group1.group1A\s/)).toBeVisible(); + expect(await findByTestId(/nav-item-group1.group1A.item1/)).toBeVisible(); + expect(await findByTestId(/nav-item-group1.group1A.group1A_1/)).toBeVisible(); // Click the last group to expand and show the last depth - (await findByTestId('nav-item-group1.group1A.group1A_1')).click(); + (await findByTestId(/nav-item-group1.group1A.group1A_1/)).click(); - expect(await findByTestId('nav-item-group1.group1A.group1A_1.item1')).toBeVisible(); + expect(await findByTestId(/nav-item-group1.group1A.group1A_1.item1/)).toBeVisible(); expect(onProjectNavigationChange).toHaveBeenCalled(); const lastCall = @@ -266,8 +266,8 @@ describe('', () => { jest.advanceTimersByTime(SET_NAVIGATION_DELAY); }); - expect(await findByTestId('nav-item-root.group1.item1')).toBeVisible(); - expect(await findByTestId('nav-item-root.group1.item1')).toBeVisible(); + expect(await findByTestId(/nav-item-root.group1.item1/)).toBeVisible(); + expect(await findByTestId(/nav-item-root.group1.item1/)).toBeVisible(); expect(onProjectNavigationChange).toHaveBeenCalled(); const lastCall = @@ -342,8 +342,8 @@ describe('', () => { jest.advanceTimersByTime(SET_NAVIGATION_DELAY); }); - expect(queryByTestId('nav-group-root.group1')).toBeNull(); - expect(queryByTestId('nav-item-root.group2.item1')).toBeVisible(); + expect(queryByTestId(/nav-group-root.group1/)).toBeNull(); + expect(queryByTestId(/nav-item-root.group2.item1/)).toBeVisible(); expect(onProjectNavigationChange).toHaveBeenCalled(); const lastCall = @@ -649,10 +649,10 @@ describe('', () => { ); - expect(await findByTestId('nav-item-group1.item1')).toHaveClass( + expect(await findByTestId(/nav-item-group1.item1/)).toHaveClass( 'euiSideNavItemButton-isSelected' ); - expect(await findByTestId('nav-item-group1.item2')).not.toHaveClass( + expect(await findByTestId(/nav-item-group1.item2/)).not.toHaveClass( 'euiSideNavItemButton-isSelected' ); @@ -673,10 +673,10 @@ describe('', () => { ]); }); - expect(await findByTestId('nav-item-group1.item1')).not.toHaveClass( + expect(await findByTestId(/nav-item-group1.item1/)).not.toHaveClass( 'euiSideNavItemButton-isSelected' ); - expect(await findByTestId('nav-item-group1.item2')).toHaveClass( + expect(await findByTestId(/nav-item-group1.item2/)).toHaveClass( 'euiSideNavItemButton-isSelected' ); }); @@ -730,9 +730,41 @@ describe('', () => { jest.advanceTimersByTime(SET_NAVIGATION_DELAY); - expect(await findByTestId('nav-item-group1.item1')).toHaveClass( + expect(await findByTestId(/nav-item-group1.item1/)).toHaveClass( 'euiSideNavItemButton-isSelected' ); }); }); + + describe('cloud links', () => { + test('render the cloud link', async () => { + const onProjectNavigationChange = jest.fn(); + + const { findByTestId } = render( + + + + + + + + + + ); + + expect(await findByTestId(/nav-item-group1.cloudLink1/)).toBeVisible(); + expect(await findByTestId(/nav-item-group1.cloudLink2/)).toBeVisible(); + expect(await findByTestId(/nav-item-group1.cloudLink3/)).toBeVisible(); + + expect(await (await findByTestId(/nav-item-group1.cloudLink1/)).textContent).toBe( + 'Mock Users & RolesExternal link' + ); + expect(await (await findByTestId(/nav-item-group1.cloudLink2/)).textContent).toBe( + 'Mock PerformanceExternal link' + ); + expect(await (await findByTestId(/nav-item-group1.cloudLink3/)).textContent).toBe( + 'Mock Billing & SubscriptionsExternal link' + ); + }); + }); }); diff --git a/packages/shared-ux/chrome/navigation/src/ui/components/navigation_group.tsx b/packages/shared-ux/chrome/navigation/src/ui/components/navigation_group.tsx index eda309b3635b2..76180b799991a 100644 --- a/packages/shared-ux/chrome/navigation/src/ui/components/navigation_group.tsx +++ b/packages/shared-ux/chrome/navigation/src/ui/components/navigation_group.tsx @@ -7,8 +7,9 @@ */ import React, { createContext, useCallback, useMemo, useContext } from 'react'; - import type { AppDeepLinkId } from '@kbn/core-chrome-browser'; + +import { useNavigation as useNavigationServices } from '../../services'; import { useInitNavNode } from '../hooks'; import type { NodeProps, RegisterFunction } from '../types'; import { NavigationSectionUI } from './navigation_section_ui'; @@ -45,6 +46,7 @@ function NavigationGroupInternalComp< Id extends string = string, ChildrenId extends string = Id >(props: Props) { + const { cloudLinks } = useNavigationServices(); const navigationContext = useNavigation(); const { children, node } = useMemo(() => { @@ -58,7 +60,7 @@ function NavigationGroupInternalComp< }; }, [props]); - const { navNode, registerChildNode, path, childrenNodes } = useInitNavNode(node); + const { navNode, registerChildNode, path, childrenNodes } = useInitNavNode(node, { cloudLinks }); const unstyled = props.unstyled ?? navigationContext.unstyled; diff --git a/packages/shared-ux/chrome/navigation/src/ui/components/navigation_item.tsx b/packages/shared-ux/chrome/navigation/src/ui/components/navigation_item.tsx index 4333db7c9844c..ca9844db7b470 100644 --- a/packages/shared-ux/chrome/navigation/src/ui/components/navigation_item.tsx +++ b/packages/shared-ux/chrome/navigation/src/ui/components/navigation_item.tsx @@ -9,6 +9,7 @@ import React, { Fragment, ReactElement, ReactNode, useEffect, useMemo } from 'react'; import type { AppDeepLinkId } from '@kbn/core-chrome-browser'; +import { useNavigation as useNavigationServices } from '../../services'; import type { ChromeProjectNavigationNodeEnhanced, NodeProps } from '../types'; import { useInitNavNode } from '../hooks'; import { useNavigation } from './navigation'; @@ -31,6 +32,7 @@ function NavigationItemComp< Id extends string = string, ChildrenId extends string = Id >(props: Props) { + const { cloudLinks } = useNavigationServices(); const navigationContext = useNavigation(); const navNodeRef = React.useRef(null); @@ -51,7 +53,7 @@ function NavigationItemComp< typeof children === 'function' ? () => children(navNodeRef.current) : () => children; } - const { navNode } = useInitNavNode({ ...node, children, renderItem }); + const { navNode } = useInitNavNode({ ...node, children, renderItem }, { cloudLinks }); useEffect(() => { navNodeRef.current = navNode; diff --git a/packages/shared-ux/chrome/navigation/src/ui/components/navigation_section_ui.tsx b/packages/shared-ux/chrome/navigation/src/ui/components/navigation_section_ui.tsx index 06be447ba2a65..5926d72fa65c5 100644 --- a/packages/shared-ux/chrome/navigation/src/ui/components/navigation_section_ui.tsx +++ b/packages/shared-ux/chrome/navigation/src/ui/components/navigation_section_ui.tsx @@ -15,11 +15,13 @@ import { EuiSideNavItemType, EuiText, } from '@elastic/eui'; +import classnames from 'classnames'; import type { BasePathService, NavigateToUrlFn } from '../../../types/internal'; import { navigationStyles as styles } from '../../styles'; import { useNavigation as useServices } from '../../services'; import { ChromeProjectNavigationNodeEnhanced } from '../types'; import { isAbsoluteLink } from '../../utils'; +import { GroupAsLink } from './group_as_link'; type RenderItem = EuiSideNavItemType['renderItem']; @@ -30,7 +32,12 @@ const navigationNodeToEuiItem = ( const href = item.deepLink?.url ?? item.href; const id = item.path ? item.path.join('.') : item.id; const isExternal = Boolean(href) && isAbsoluteLink(href!); - const dataTestSubj = `nav-item-${id}`; + const isSelected = item.children && item.children.length > 0 ? false : item.isActive; + const dataTestSubj = classnames(`nav-item`, `nav-item-${id}`, { + [`nav-item-deepLinkId-${item.deepLink?.id}`]: !!item.deepLink, + [`nav-item-id-${item.id}`]: item.id, + [`nav-item-isActive`]: isSelected, + }); const getRenderItem = (): RenderItem | undefined => { if (!isExternal || item.renderItem) { @@ -39,15 +46,13 @@ const navigationNodeToEuiItem = ( return () => (
- + {item.title}
); }; - const isSelected = item.children && item.children.length > 0 ? false : item.isActive; - return { id, name: item.title, @@ -108,6 +113,10 @@ export const NavigationSectionUI: FC = ({ navNode, items = [] }) => { }); const groupHasLink = Boolean(navNode.deepLink) || Boolean(navNode.href); + const groupHasChildren = filteredItems.some(itemHasLinkOrChildren); + // Group with a link and no children will be rendered as a link and not an EUI accordion + const groupIsLink = groupHasLink && !groupHasChildren; + const groupHref = navNode.deepLink?.url ?? navNode.href!; useEffect(() => { if (doCollapseFromActiveState) { @@ -115,17 +124,35 @@ export const NavigationSectionUI: FC = ({ navNode, items = [] }) => { } }, [isActive, doCollapseFromActiveState]); - if (!groupHasLink && !filteredItems.some(itemHasLinkOrChildren)) { + if (!groupHasLink && !groupHasChildren) { return null; } + const propsForGroupAsLink = groupIsLink + ? { + buttonElement: 'div' as const, + // If we don't force the state there is a little UI animation as if the + // accordion was openin/closing. We don't want any animation when it is a link. + forceState: 'closed' as const, + buttonContent: ( + + ), + arrowProps: { style: { display: 'none' } }, + } + : {}; + return ( { setIsCollapsed(!isOpen); @@ -133,6 +160,7 @@ export const NavigationSectionUI: FC = ({ navNode, items = [] }) => { }} forceState={isCollapsed ? 'closed' : 'open'} data-test-subj={`nav-bucket-${id}`} + {...propsForGroupAsLink} > ', () => { jest.advanceTimersByTime(SET_NAVIGATION_DELAY); }); - expect(await findByTestId('nav-item-group1.item1')).toBeVisible(); - expect(await findByTestId('nav-item-group1.item2')).toBeVisible(); - expect(await findByTestId('nav-item-group1.group1A')).toBeVisible(); - expect(await findByTestId('nav-item-group1.group1A.item1')).toBeVisible(); - expect(await findByTestId('nav-item-group1.group1A.group1A_1')).toBeVisible(); + expect(await findByTestId(/nav-item-group1.item1/)).toBeVisible(); + expect(await findByTestId(/nav-item-group1.item2/)).toBeVisible(); + expect(await findByTestId(/nav-item-group1.group1A\s/)).toBeVisible(); + expect(await findByTestId(/nav-item-group1.group1A.item1/)).toBeVisible(); + expect(await findByTestId(/nav-item-group1.group1A.group1A_1/)).toBeVisible(); // Click the last group to expand and show the last depth - (await findByTestId('nav-item-group1.group1A.group1A_1')).click(); + (await findByTestId(/nav-item-group1.group1A.group1A_1/)).click(); - expect(await findByTestId('nav-item-group1.group1A.group1A_1.item1')).toBeVisible(); + expect(await findByTestId(/nav-item-group1.group1A.group1A_1.item1/)).toBeVisible(); expect(onProjectNavigationChange).toHaveBeenCalled(); const lastCall = onProjectNavigationChange.mock.calls[onProjectNavigationChange.mock.calls.length - 1]; const [navTreeGenerated] = lastCall; - expect(navTreeGenerated.navigationTree).toEqual([ - { - id: 'group1', - path: ['group1'], - title: '', - isActive: false, - children: [ - { - id: 'item1', - title: 'Item 1', - href: 'http://foo', - isActive: false, - path: ['group1', 'item1'], - }, - { - id: 'item2', - title: 'Item 2', - href: 'http://foo', - isActive: false, - path: ['group1', 'item2'], - }, - { - id: 'group1A', - title: 'Group1A', - isActive: false, - path: ['group1', 'group1A'], - children: [ - { - id: 'item1', - title: 'Group 1A Item 1', - href: 'http://foo', - isActive: false, - path: ['group1', 'group1A', 'item1'], - }, - { - id: 'group1A_1', - title: 'Group1A_1', - isActive: false, - path: ['group1', 'group1A', 'group1A_1'], - children: [ - { - id: 'item1', - title: 'Group 1A_1 Item 1', - href: 'http://foo', - isActive: false, - path: ['group1', 'group1A', 'group1A_1', 'item1'], - }, - ], - }, - ], - }, - ], - }, - ]); + expect(navTreeGenerated.navigationTree).toMatchInlineSnapshot(` + Array [ + Object { + "children": Array [ + Object { + "children": undefined, + "deepLink": undefined, + "href": "http://foo", + "id": "item1", + "isActive": false, + "path": Array [ + "group1", + "item1", + ], + "renderItem": undefined, + "title": "Item 1", + }, + Object { + "children": undefined, + "deepLink": undefined, + "href": "http://foo", + "id": "item2", + "isActive": false, + "path": Array [ + "group1", + "item2", + ], + "renderItem": undefined, + "title": "Item 2", + }, + Object { + "children": Array [ + Object { + "children": undefined, + "deepLink": undefined, + "href": "http://foo", + "id": "item1", + "isActive": false, + "path": Array [ + "group1", + "group1A", + "item1", + ], + "renderItem": undefined, + "title": "Group 1A Item 1", + }, + Object { + "children": Array [ + Object { + "children": undefined, + "deepLink": undefined, + "href": "http://foo", + "id": "item1", + "isActive": false, + "path": Array [ + "group1", + "group1A", + "group1A_1", + "item1", + ], + "renderItem": undefined, + "title": "Group 1A_1 Item 1", + }, + ], + "deepLink": undefined, + "href": undefined, + "id": "group1A_1", + "isActive": false, + "path": Array [ + "group1", + "group1A", + "group1A_1", + ], + "title": "Group1A_1", + }, + ], + "deepLink": undefined, + "href": undefined, + "id": "group1A", + "isActive": false, + "path": Array [ + "group1", + "group1A", + ], + "title": "Group1A", + }, + ], + "deepLink": undefined, + "href": undefined, + "id": "group1", + "isActive": false, + "path": Array [ + "group1", + ], + "title": "", + "type": "navGroup", + }, + ] + `); }); test('should read the title from deeplink', async () => { @@ -223,50 +268,76 @@ describe('', () => { onProjectNavigationChange.mock.calls[onProjectNavigationChange.mock.calls.length - 1]; const [navTreeGenerated] = lastCall; - expect(navTreeGenerated.navigationTree).toEqual([ - { - id: 'root', - path: ['root'], - title: '', - isActive: false, - children: [ - { - id: 'group1', - path: ['root', 'group1'], - title: '', - isActive: false, - children: [ - { - id: 'item1', - path: ['root', 'group1', 'item1'], - title: 'Title from deeplink', - isActive: false, - deepLink: { - id: 'item1', - title: 'Title from deeplink', - baseUrl: '', - url: '', - href: '', + expect(navTreeGenerated.navigationTree).toMatchInlineSnapshot(` + Array [ + Object { + "children": Array [ + Object { + "children": Array [ + Object { + "children": undefined, + "deepLink": Object { + "baseUrl": "", + "href": "", + "id": "item1", + "title": "Title from deeplink", + "url": "", + }, + "href": undefined, + "id": "item1", + "isActive": false, + "path": Array [ + "root", + "group1", + "item1", + ], + "renderItem": undefined, + "title": "Title from deeplink", }, - }, - { - id: 'item2', - title: 'Overwrite deeplink title', - path: ['root', 'group1', 'item2'], - isActive: false, - deepLink: { - id: 'item1', - title: 'Title from deeplink', - baseUrl: '', - url: '', - href: '', + Object { + "children": undefined, + "deepLink": Object { + "baseUrl": "", + "href": "", + "id": "item1", + "title": "Title from deeplink", + "url": "", + }, + "href": undefined, + "id": "item2", + "isActive": false, + "path": Array [ + "root", + "group1", + "item2", + ], + "renderItem": undefined, + "title": "Overwrite deeplink title", }, - }, - ], - }, - ], - }, - ]); + ], + "deepLink": undefined, + "href": undefined, + "id": "group1", + "isActive": false, + "path": Array [ + "root", + "group1", + ], + "title": "", + }, + ], + "deepLink": undefined, + "href": undefined, + "id": "root", + "isActive": false, + "path": Array [ + "root", + ], + "title": "", + "type": "navGroup", + }, + ] + `); }); test('should allow href for absolute links', async () => { @@ -306,31 +377,50 @@ describe('', () => { onProjectNavigationChange.mock.calls[onProjectNavigationChange.mock.calls.length - 1]; const [navTreeGenerated] = lastCall; - expect(navTreeGenerated.navigationTree).toEqual([ - { - id: 'root', - path: ['root'], - title: '', - isActive: false, - children: [ - { - id: 'group1', - path: ['root', 'group1'], - title: '', - isActive: false, - children: [ - { - id: 'item1', - path: ['root', 'group1', 'item1'], - title: 'Absolute link', - href: 'https://example.com', - isActive: false, - }, - ], - }, - ], - }, - ]); + expect(navTreeGenerated.navigationTree).toMatchInlineSnapshot(` + Array [ + Object { + "children": Array [ + Object { + "children": Array [ + Object { + "children": undefined, + "deepLink": undefined, + "href": "https://example.com", + "id": "item1", + "isActive": false, + "path": Array [ + "root", + "group1", + "item1", + ], + "renderItem": undefined, + "title": "Absolute link", + }, + ], + "deepLink": undefined, + "href": undefined, + "id": "group1", + "isActive": false, + "path": Array [ + "root", + "group1", + ], + "title": "", + }, + ], + "deepLink": undefined, + "href": undefined, + "id": "root", + "isActive": false, + "path": Array [ + "root", + ], + "title": "", + "type": "navGroup", + }, + ] + `); }); test('should throw if href is not an absolute links', async () => { @@ -466,10 +556,10 @@ describe('', () => { jest.advanceTimersByTime(SET_NAVIGATION_DELAY); }); - expect(await findByTestId('nav-item-group1.item1')).toHaveClass( + expect(await findByTestId(/nav-item-group1.item1/)).toHaveClass( 'euiSideNavItemButton-isSelected' ); - expect(await findByTestId('nav-item-group1.item2')).not.toHaveClass( + expect(await findByTestId(/nav-item-group1.item2/)).not.toHaveClass( 'euiSideNavItemButton-isSelected' ); }); @@ -529,7 +619,7 @@ describe('', () => { jest.advanceTimersByTime(SET_NAVIGATION_DELAY); }); - expect(await findByTestId('nav-item-group1.item1')).toHaveClass( + expect(await findByTestId(/nav-item-group1.item1/)).toHaveClass( 'euiSideNavItemButton-isSelected' ); }); @@ -601,45 +691,38 @@ describe('', () => { }); // The project navigation tree passed - expect(navTreeGenerated.navigationTree[0]).toEqual({ - id: 'group1', - title: 'Group 1', - path: ['group1'], - isActive: false, - children: [ - { - id: 'item1', - title: 'Item 1', - isActive: false, - path: ['group1', 'item1'], - }, - { - id: 'item2', - path: ['group1', 'item2'], - title: 'Title from deeplink!', - isActive: false, - deepLink: { - id: 'item2', - title: 'Title from deeplink!', - baseUrl: '', - url: '', - href: '', - }, - }, - { - id: 'item3', - title: 'Deeplink title overriden', - path: ['group1', 'item3'], - isActive: false, - deepLink: { - id: 'item2', - title: 'Title from deeplink!', - baseUrl: '', - url: '', - href: '', - }, - }, - ], + expect(navTreeGenerated.navigationTree).toMatchSnapshot(); + }); + + describe('cloud links', () => { + test('render the cloud link', async () => { + const { findByTestId } = render( + + + + ); + + expect( + await ( + await findByTestId( + /nav-item-project_settings_project_nav.settings.cloudLinkUserAndRoles/ + ) + ).textContent + ).toBe('Mock Users & RolesExternal link'); + + expect( + await ( + await findByTestId( + /nav-item-project_settings_project_nav.settings.cloudLinkPerformance/ + ) + ).textContent + ).toBe('Mock PerformanceExternal link'); + + expect( + await ( + await findByTestId(/nav-item-project_settings_project_nav.settings.cloudLinkBilling/) + ).textContent + ).toBe('Mock Billing & SubscriptionsExternal link'); }); }); }); diff --git a/packages/shared-ux/chrome/navigation/src/ui/default_navigation.tsx b/packages/shared-ux/chrome/navigation/src/ui/default_navigation.tsx index 75a7d983f1cdb..679d0d997eb3c 100644 --- a/packages/shared-ux/chrome/navigation/src/ui/default_navigation.tsx +++ b/packages/shared-ux/chrome/navigation/src/ui/default_navigation.tsx @@ -7,6 +7,7 @@ */ import React, { FC, useCallback } from 'react'; +import { i18n } from '@kbn/i18n'; import type { AppDeepLinkId, NodeDefinition } from '@kbn/core-chrome-browser'; import { Navigation } from './components'; @@ -54,11 +55,46 @@ const getDefaultNavigationTree = ( footer: [ { type: 'navGroup', - ...getPresets('devtools'), + id: 'devTools', + title: i18n.translate('sharedUXPackages.chrome.sideNavigation.devTools', { + defaultMessage: 'Developer tools', + }), + link: 'dev_tools', + icon: 'editorCodeBlock', }, { type: 'navGroup', - ...getPresets('management'), + id: 'project_settings_project_nav', + title: i18n.translate('sharedUXPackages.chrome.sideNavigation.projectSettings', { + defaultMessage: 'Project settings', + }), + icon: 'gear', + breadcrumbStatus: 'hidden', + children: [ + { + id: 'settings', + children: [ + { + link: 'management', + title: i18n.translate('sharedUXPackages.chrome.sideNavigation.mngt', { + defaultMessage: 'Management', + }), + }, + { + id: 'cloudLinkUserAndRoles', + cloudLink: 'userAndRoles', + }, + { + id: 'cloudLinkPerformance', + cloudLink: 'performance', + }, + { + id: 'cloudLinkBilling', + cloudLink: 'billingAndSub', + }, + ], + }, + ], }, ], }; @@ -102,15 +138,12 @@ export const DefaultNavigation: FC - {renderItems(copy.children, [...path, id])} + return item.children || (item as GroupDefinition).type === 'navGroup' ? ( + + {renderItems(item.children, [...path, id])} ) : ( - + ); }); }, diff --git a/packages/shared-ux/chrome/navigation/src/ui/hooks/use_init_navnode.ts b/packages/shared-ux/chrome/navigation/src/ui/hooks/use_init_navnode.ts index 8f805c4b5d8ed..f569115250e11 100644 --- a/packages/shared-ux/chrome/navigation/src/ui/hooks/use_init_navnode.ts +++ b/packages/shared-ux/chrome/navigation/src/ui/hooks/use_init_navnode.ts @@ -10,9 +10,11 @@ import { AppDeepLinkId, ChromeNavLink, ChromeProjectNavigationNode, + CloudLinkId, } from '@kbn/core-chrome-browser'; import { useCallback, useEffect, useMemo, useRef, useState } from 'react'; import useObservable from 'react-use/lib/useObservable'; +import { CloudLinks } from '../../cloud_links'; import { useNavigation as useNavigationServices } from '../../services'; import { isAbsoluteLink } from '../../utils'; @@ -40,12 +42,40 @@ function getIdFromNavigationNode< return id; } -function isNodeVisible({ link, deepLink }: { link?: string; deepLink?: ChromeNavLink }) { +/** + * We don't have currently a way to know if a user has access to a Cloud section. + * TODO: This function will have to be revisited once we have an API from Cloud to know the user + * permissions. + */ +function hasUserAccessToCloudLink(): boolean { + return true; +} + +function isNodeVisible( + { + link, + deepLink, + cloudLink, + }: { + link?: string; + deepLink?: ChromeNavLink; + cloudLink?: CloudLinkId; + }, + { cloudLinks }: { cloudLinks: CloudLinks } +) { if (link && !deepLink) { // If a link is provided, but no deepLink is found, don't render anything return false; } + if (cloudLink) { + if (!cloudLinks[cloudLink]) { + // Invalid cloudLinkId or link url has not been set in kibana.yml + return false; + } + return hasUserAccessToCloudLink(); + } + if (deepLink) { return !deepLink.hidden; } @@ -53,6 +83,47 @@ function isNodeVisible({ link, deepLink }: { link?: string; deepLink?: ChromeNav return true; } +function getTitleForNode< + LinkId extends AppDeepLinkId = AppDeepLinkId, + Id extends string = string, + ChildrenId extends string = Id +>( + navNode: NodePropsEnhanced, + { deepLink, cloudLinks }: { deepLink?: ChromeNavLink; cloudLinks: CloudLinks } +): string { + const { children } = navNode; + if (navNode.title) { + return navNode.title; + } + + if (typeof children === 'string') { + return children; + } + + if (deepLink?.title) { + return deepLink.title; + } + + if (navNode.cloudLink) { + return cloudLinks[navNode.cloudLink]?.title ?? ''; + } + + return ''; +} + +function validateNodeProps< + LinkId extends AppDeepLinkId = AppDeepLinkId, + Id extends string = string, + ChildrenId extends string = Id +>({ link, href, cloudLink }: NodePropsEnhanced) { + if (link && cloudLink) { + throw new Error(`Only one of "link" or "cloudLink" can be provided.`); + } + if (href && cloudLink) { + throw new Error(`Only one of "href" or "cloudLink" can be provided.`); + } +} + function createInternalNavNode< LinkId extends AppDeepLinkId = AppDeepLinkId, Id extends string = string, @@ -62,14 +133,16 @@ function createInternalNavNode< _navNode: NodePropsEnhanced, deepLinks: Readonly, path: string[] | null, - isActive: boolean + isActive: boolean, + { cloudLinks }: { cloudLinks: CloudLinks } ): ChromeProjectNavigationNodeEnhanced | null { - const { children, link, href, ...navNode } = _navNode; - const deepLink = deepLinks.find((dl) => dl.id === link); - const isVisible = isNodeVisible({ link, deepLink }); + validateNodeProps(_navNode); - const titleFromDeepLinkOrChildren = typeof children === 'string' ? children : deepLink?.title; - const title = navNode.title ?? titleFromDeepLinkOrChildren; + const { children, link, cloudLink, ...navNode } = _navNode; + const deepLink = deepLinks.find((dl) => dl.id === link); + const isVisible = isNodeVisible({ link, deepLink, cloudLink }, { cloudLinks }); + const title = getTitleForNode(_navNode, { deepLink, cloudLinks }); + const href = cloudLink ? cloudLinks[cloudLink]?.href : _navNode.href; if (href && !isAbsoluteLink(href)) { throw new Error(`href must be an absolute URL. Node id [${id}].`); @@ -104,7 +177,8 @@ export const useInitNavNode = < Id extends string = string, ChildrenId extends string = Id >( - node: NodePropsEnhanced + node: NodePropsEnhanced, + { cloudLinks }: { cloudLinks: CloudLinks } ) => { const { isActive: isActiveControlled } = node; @@ -150,8 +224,8 @@ export const useInitNavNode = < const id = getIdFromNavigationNode(node); const internalNavNode = useMemo( - () => createInternalNavNode(id, node, deepLinks, nodePath, isActive), - [node, id, deepLinks, nodePath, isActive] + () => createInternalNavNode(id, node, deepLinks, nodePath, isActive, { cloudLinks }), + [node, id, deepLinks, nodePath, isActive, cloudLinks] ); // Register the node on the parent whenever its properties change or whenever diff --git a/packages/shared-ux/chrome/navigation/src/ui/navigation.stories.tsx b/packages/shared-ux/chrome/navigation/src/ui/navigation.stories.tsx index 241e53cb8242f..eeff6afd945e9 100644 --- a/packages/shared-ux/chrome/navigation/src/ui/navigation.stories.tsx +++ b/packages/shared-ux/chrome/navigation/src/ui/navigation.stories.tsx @@ -363,8 +363,20 @@ export const WithUIComponents = (args: NavigationServices) => { - - + + + + + + + + +
diff --git a/packages/shared-ux/chrome/navigation/src/ui/types.ts b/packages/shared-ux/chrome/navigation/src/ui/types.ts index f4414ae2e003f..5175425b6ada4 100644 --- a/packages/shared-ux/chrome/navigation/src/ui/types.ts +++ b/packages/shared-ux/chrome/navigation/src/ui/types.ts @@ -94,11 +94,11 @@ export interface GroupDefinition< /** * Flag to indicate if the group is initially collapsed or not. * + * `undefined`: (Recommended) the group will be opened if any of its children nodes matches the current URL. + * * `false`: the group will be opened event if none of its children nodes matches the current URL. * * `true`: the group will be collapsed event if any of its children nodes matches the current URL. - * - * `undefined`: the group will be opened if any of its children nodes matches the current URL. */ defaultIsCollapsed?: boolean; preset?: NavigationGroupPreset; diff --git a/packages/shared-ux/chrome/navigation/tsconfig.json b/packages/shared-ux/chrome/navigation/tsconfig.json index 45e8325bc9d3e..b3b9b636ff0a7 100644 --- a/packages/shared-ux/chrome/navigation/tsconfig.json +++ b/packages/shared-ux/chrome/navigation/tsconfig.json @@ -26,6 +26,7 @@ "@kbn/default-nav-devtools", "@kbn/shared-ux-storybook-mock", "@kbn/core-http-browser", + "@kbn/cloud-plugin", ], "exclude": [ "target/**/*" diff --git a/packages/shared-ux/chrome/navigation/types/index.ts b/packages/shared-ux/chrome/navigation/types/index.ts index dc6014dcdd28b..00d8e69edf0e3 100644 --- a/packages/shared-ux/chrome/navigation/types/index.ts +++ b/packages/shared-ux/chrome/navigation/types/index.ts @@ -7,6 +7,7 @@ */ import type { Observable } from 'rxjs'; +import type { CloudStart } from '@kbn/cloud-plugin/public'; import type { ChromeNavLink, @@ -14,6 +15,7 @@ import type { ChromeProjectNavigationNode, } from '@kbn/core-chrome-browser'; import type { BasePathService, NavigateToUrlFn, RecentItem } from './internal'; +import type { CloudLinks } from '../src/cloud_links'; /** * A list of services that are consumed by this component. @@ -27,6 +29,7 @@ export interface NavigationServices { navigateToUrl: NavigateToUrlFn; onProjectNavigationChange: (chromeProjectNavigation: ChromeProjectNavigation) => void; activeNodes$: Observable; + cloudLinks: CloudLinks; } /** @@ -55,4 +58,5 @@ export interface NavigationKibanaDependencies { ) => void; getActiveNavigationNodes$: () => Observable; }; + cloud: CloudStart; } diff --git a/src/plugins/data/common/constants.ts b/src/plugins/data/common/constants.ts index c84edc8ba9719..57f6521466460 100644 --- a/src/plugins/data/common/constants.ts +++ b/src/plugins/data/common/constants.ts @@ -14,3 +14,6 @@ export const KIBANA_USER_QUERY_LANGUAGE_KEY = 'kibana.userQueryLanguage'; export type ValueSuggestionsMethod = 'terms_enum' | 'terms_agg'; export const SAVED_QUERY_BASE_URL = '/internal/saved_query'; + +export const KQL_TELEMETRY_ROUTE_LATEST_VERSION = '1'; +export const SCRIPT_LANGUAGES_ROUTE_LATEST_VERSION = '1'; diff --git a/src/plugins/data/common/index.ts b/src/plugins/data/common/index.ts index 38e4d802cd838..0d2fce23109f0 100644 --- a/src/plugins/data/common/index.ts +++ b/src/plugins/data/common/index.ts @@ -9,7 +9,13 @@ // TODO: https://github.com/elastic/kibana/issues/109904 /* eslint-disable @kbn/eslint/no_export_all */ -export { DEFAULT_QUERY_LANGUAGE, KIBANA_USER_QUERY_LANGUAGE_KEY, UI_SETTINGS } from './constants'; +export { + DEFAULT_QUERY_LANGUAGE, + KIBANA_USER_QUERY_LANGUAGE_KEY, + KQL_TELEMETRY_ROUTE_LATEST_VERSION, + SCRIPT_LANGUAGES_ROUTE_LATEST_VERSION, + UI_SETTINGS, +} from './constants'; export type { ValueSuggestionsMethod } from './constants'; export { DatatableUtilitiesService } from './datatable_utilities'; export { getEsQueryConfig } from './es_query'; diff --git a/src/plugins/data/server/kql_telemetry/route.ts b/src/plugins/data/server/kql_telemetry/route.ts index 9e1f497ce53e2..4d99d469bd097 100644 --- a/src/plugins/data/server/kql_telemetry/route.ts +++ b/src/plugins/data/server/kql_telemetry/route.ts @@ -8,47 +8,64 @@ import { StartServicesAccessor, IRouter, Logger } from '@kbn/core/server'; import { schema } from '@kbn/config-schema'; +import { KQL_TELEMETRY_ROUTE_LATEST_VERSION } from '../../common/constants'; export function registerKqlTelemetryRoute( router: IRouter, getStartServices: StartServicesAccessor, logger: Logger ) { - router.post( - { - path: '/api/kibana/kql_opt_in_stats', - validate: { - body: schema.object({ - opt_in: schema.boolean(), - }), + router.versioned + .post({ + path: '/internal/kql_opt_in_stats', + access: 'internal', + }) + .addVersion( + { + version: KQL_TELEMETRY_ROUTE_LATEST_VERSION, + validate: { + request: { + body: schema.object({ + opt_in: schema.boolean(), + }), + }, + response: { + '200': { + body: schema.object({ + success: schema.boolean(), + }), + }, + }, + }, }, - }, - async (context, request, response) => { - const [{ savedObjects }] = await getStartServices(); - const internalRepository = savedObjects.createInternalRepository(); + async (context, request, response) => { + const [{ savedObjects }] = await getStartServices(); + const internalRepository = savedObjects.createInternalRepository(); - const { - body: { opt_in: optIn }, - } = request; + const { + body: { opt_in: optIn }, + } = request; - const counterName = optIn ? 'optInCount' : 'optOutCount'; + const counterName = optIn ? 'optInCount' : 'optOutCount'; - try { - await internalRepository.incrementCounter('kql-telemetry', 'kql-telemetry', [counterName]); - } catch (error) { - logger.warn(`Unable to increment counter: ${error}`); - return response.customError({ - statusCode: error.status, - body: { - message: 'Something went wrong', - attributes: { - success: false, + try { + await internalRepository.incrementCounter('kql-telemetry', 'kql-telemetry', [ + counterName, + ]); + } catch (error) { + logger.warn(`Unable to increment counter: ${error}`); + return response.customError({ + statusCode: error.status, + body: { + message: 'Something went wrong', + attributes: { + success: false, + }, }, - }, - }); - } + }); + } - return response.ok({ body: { success: true } }); - } - ); + return response.ok({ body: { success: true } }); + } + ); } diff --git a/src/plugins/data/server/scripts/route.ts b/src/plugins/data/server/scripts/route.ts index 2427bd91d967d..6b57280753d78 100644 --- a/src/plugins/data/server/scripts/route.ts +++ b/src/plugins/data/server/scripts/route.ts @@ -7,14 +7,30 @@ */ import { IRouter } from '@kbn/core/server'; +import { schema } from '@kbn/config-schema'; +import { SCRIPT_LANGUAGES_ROUTE_LATEST_VERSION } from '../../common/constants'; export function registerScriptsRoute(router: IRouter) { - router.get( - { path: '/api/kibana/scripts/languages', validate: false }, - async (context, request, response) => { - return response.ok({ - body: ['painless', 'expression'], - }); - } - ); + router.versioned + .get({ + path: '/internal/scripts/languages', + access: 'internal', + }) + .addVersion( + { + version: SCRIPT_LANGUAGES_ROUTE_LATEST_VERSION, + validate: { + response: { + '200': { + body: schema.arrayOf(schema.string()), + }, + }, + }, + }, + async (context, request, response) => { + return response.ok({ + body: ['painless', 'expression'], + }); + } + ); } diff --git a/src/plugins/data_view_management/public/scripting_languages/index.ts b/src/plugins/data_view_management/public/scripting_languages/index.ts index 58be2a520e5fb..ea22010351108 100644 --- a/src/plugins/data_view_management/public/scripting_languages/index.ts +++ b/src/plugins/data_view_management/public/scripting_languages/index.ts @@ -8,6 +8,7 @@ import type * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; import { i18n } from '@kbn/i18n'; import { HttpStart, NotificationsStart } from '@kbn/core/public'; +import { SCRIPT_LANGUAGES_ROUTE_LATEST_VERSION } from '@kbn/data-plugin/common'; export function getSupportedScriptingLanguages(): estypes.ScriptLanguage[] { return ['painless']; @@ -21,12 +22,16 @@ export const getEnabledScriptingLanguages = ( http: HttpStart, toasts: NotificationsStart['toasts'] ) => - http.get('/api/kibana/scripts/languages').catch(() => { - toasts.addDanger( - i18n.translate('indexPatternManagement.scriptingLanguages.errorFetchingToastDescription', { - defaultMessage: 'Error getting available scripting languages from Elasticsearch', - }) - ); + http + .get('/internal/scripts/languages', { + version: SCRIPT_LANGUAGES_ROUTE_LATEST_VERSION, + }) + .catch(() => { + toasts.addDanger( + i18n.translate('indexPatternManagement.scriptingLanguages.errorFetchingToastDescription', { + defaultMessage: 'Error getting available scripting languages from Elasticsearch', + }) + ); - return [] as estypes.ScriptLanguage[]; - }); + return [] as estypes.ScriptLanguage[]; + }); diff --git a/src/plugins/discover/public/__fixtures__/real_hits.ts b/src/plugins/discover/public/__fixtures__/real_hits.ts index 96d084a977bd4..0500564a3666e 100644 --- a/src/plugins/discover/public/__fixtures__/real_hits.ts +++ b/src/plugins/discover/public/__fixtures__/real_hits.ts @@ -7,8 +7,8 @@ */ import type { DataView } from '@kbn/data-views-plugin/common'; import { cloneDeep } from 'lodash'; -import { buildDataTableRecord } from '../utils/build_data_record'; -import type { EsHitRecord } from '../types'; +import { buildDataTableRecord } from '@kbn/discover-utils'; +import type { EsHitRecord } from '@kbn/discover-utils/types'; /* Extensions: gif: 5 diff --git a/src/plugins/discover/public/__mocks__/data_view_complex.ts b/src/plugins/discover/public/__mocks__/data_view_complex.ts index 6953c044391ae..03161a0df4e3f 100644 --- a/src/plugins/discover/public/__mocks__/data_view_complex.ts +++ b/src/plugins/discover/public/__mocks__/data_view_complex.ts @@ -7,7 +7,7 @@ */ import { DataView } from '@kbn/data-views-plugin/public'; -import { buildDataViewMock } from './data_view'; +import { buildDataViewMock } from '@kbn/discover-utils/src/__mocks__'; const fields = [ { diff --git a/src/plugins/discover/public/__mocks__/data_view_with_timefield.ts b/src/plugins/discover/public/__mocks__/data_view_with_timefield.ts index a481c648aad20..374b6b23f837b 100644 --- a/src/plugins/discover/public/__mocks__/data_view_with_timefield.ts +++ b/src/plugins/discover/public/__mocks__/data_view_with_timefield.ts @@ -7,7 +7,7 @@ */ import { DataView } from '@kbn/data-views-plugin/public'; -import { buildDataViewMock } from './data_view'; +import { buildDataViewMock } from '@kbn/discover-utils/src/__mocks__'; const fields = [ { diff --git a/src/plugins/discover/public/__mocks__/data_views.ts b/src/plugins/discover/public/__mocks__/data_views.ts index a9e5a880e9196..67849ada01ec2 100644 --- a/src/plugins/discover/public/__mocks__/data_views.ts +++ b/src/plugins/discover/public/__mocks__/data_views.ts @@ -7,7 +7,7 @@ */ import { DataViewsContract } from '@kbn/data-views-plugin/public'; -import { dataViewMock } from './data_view'; +import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; import { dataViewComplexMock } from './data_view_complex'; import { dataViewWithTimefieldMock } from './data_view_with_timefield'; diff --git a/src/plugins/discover/public/__mocks__/grid_context.ts b/src/plugins/discover/public/__mocks__/grid_context.ts index 97f8e1ac62d45..8949945c2b0d8 100644 --- a/src/plugins/discover/public/__mocks__/grid_context.ts +++ b/src/plugins/discover/public/__mocks__/grid_context.ts @@ -7,15 +7,14 @@ */ import type { DataView } from '@kbn/data-views-plugin/public'; -import { dataViewMock } from './data_view'; +import { dataViewMock, esHitsMock } from '@kbn/discover-utils/src/__mocks__'; import { dataViewComplexMock } from './data_view_complex'; -import { esHits } from './es_hits'; import { esHitsComplex } from './es_hits_complex'; import { discoverServiceMock } from './services'; import { GridContext } from '../components/discover_grid/discover_grid_context'; import { convertValueToString } from '../utils/convert_value_to_string'; -import { buildDataTableRecord } from '../utils/build_data_record'; -import { EsHitRecord } from '../types'; +import { buildDataTableRecord } from '@kbn/discover-utils'; +import type { EsHitRecord } from '@kbn/discover-utils/types'; const buildGridContext = (dataView: DataView, rows: EsHitRecord[]): GridContext => { const usedRows = rows.map((row) => { @@ -43,6 +42,6 @@ const buildGridContext = (dataView: DataView, rows: EsHitRecord[]): GridContext }; }; -export const discoverGridContextMock = buildGridContext(dataViewMock, esHits); +export const discoverGridContextMock = buildGridContext(dataViewMock, esHitsMock); export const discoverGridContextComplexMock = buildGridContext(dataViewComplexMock, esHitsComplex); diff --git a/src/plugins/discover/public/__mocks__/saved_search.ts b/src/plugins/discover/public/__mocks__/saved_search.ts index c18c320063240..c6751b2990bc4 100644 --- a/src/plugins/discover/public/__mocks__/saved_search.ts +++ b/src/plugins/discover/public/__mocks__/saved_search.ts @@ -8,7 +8,7 @@ import { SavedSearch } from '@kbn/saved-search-plugin/public'; import { createSearchSourceMock } from '@kbn/data-plugin/public/mocks'; -import { dataViewMock } from './data_view'; +import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; import { dataViewWithTimefieldMock } from './data_view_with_timefield'; import { dataViewAdHoc } from './data_view_complex'; diff --git a/src/plugins/discover/public/application/context/__mocks__/use_context_app_fetch.tsx b/src/plugins/discover/public/application/context/__mocks__/use_context_app_fetch.tsx index a5c402b39e44a..cbbf0062df0f1 100644 --- a/src/plugins/discover/public/application/context/__mocks__/use_context_app_fetch.tsx +++ b/src/plugins/discover/public/application/context/__mocks__/use_context_app_fetch.tsx @@ -6,8 +6,8 @@ * Side Public License, v 1. */ -import { dataViewMock } from '../../../__mocks__/data_view'; -import { buildDataTableRecord } from '../../../utils/build_data_record'; +import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; +import { buildDataTableRecord } from '@kbn/discover-utils'; export const mockAnchorHit = buildDataTableRecord( { diff --git a/src/plugins/discover/public/application/context/context_app.test.tsx b/src/plugins/discover/public/application/context/context_app.test.tsx index c4c2f54cb75d9..c3f87b0117250 100644 --- a/src/plugins/discover/public/application/context/context_app.test.tsx +++ b/src/plugins/discover/public/application/context/context_app.test.tsx @@ -12,7 +12,7 @@ import { mountWithIntl } from '@kbn/test-jest-helpers'; import { createFilterManagerMock } from '@kbn/data-plugin/public/query/filter_manager/filter_manager.mock'; import { mockTopNavMenu } from './__mocks__/top_nav_menu'; import { ContextAppContent } from './context_app_content'; -import { dataViewMock } from '../../__mocks__/data_view'; +import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; import { ContextApp } from './context_app'; import { DiscoverServices } from '../../build_services'; import { dataViewsMock } from '../../__mocks__/data_views'; diff --git a/src/plugins/discover/public/application/context/context_app_content.test.tsx b/src/plugins/discover/public/application/context/context_app_content.test.tsx index c4c22fc472bd4..f7ce2235333d4 100644 --- a/src/plugins/discover/public/application/context/context_app_content.test.tsx +++ b/src/plugins/discover/public/application/context/context_app_content.test.tsx @@ -14,12 +14,12 @@ import { GetStateReturn } from './services/context_state'; import { SortDirection } from '@kbn/data-plugin/public'; import { ContextAppContent, ContextAppContentProps } from './context_app_content'; import { LoadingStatus } from './services/context_query_state'; -import { dataViewMock } from '../../__mocks__/data_view'; +import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; import { discoverServiceMock } from '../../__mocks__/services'; import { DiscoverGrid } from '../../components/discover_grid/discover_grid'; import { DocTableWrapper } from '../../components/doc_table/doc_table_wrapper'; import { KibanaContextProvider } from '@kbn/kibana-react-plugin/public'; -import { buildDataTableRecord } from '../../utils/build_data_record'; +import { buildDataTableRecord } from '@kbn/discover-utils'; import { act } from 'react-dom/test-utils'; describe('ContextAppContent test', () => { diff --git a/src/plugins/discover/public/application/context/context_app_content.tsx b/src/plugins/discover/public/application/context/context_app_content.tsx index 62c3a0e1ca863..595a3239763cd 100644 --- a/src/plugins/discover/public/application/context/context_app_content.tsx +++ b/src/plugins/discover/public/application/context/context_app_content.tsx @@ -13,6 +13,7 @@ import type { DataView } from '@kbn/data-views-plugin/public'; import { SortDirection } from '@kbn/data-plugin/public'; import type { SortOrder } from '@kbn/saved-search-plugin/public'; import { CellActionsProvider } from '@kbn/cell-actions'; +import type { DataTableRecord } from '@kbn/discover-utils/types'; import { CONTEXT_STEP_SETTING, DOC_HIDE_TIME_COLUMN_SETTING } from '../../../common'; import { LoadingStatus } from './services/context_query_state'; import { ActionBar } from './components/action_bar/action_bar'; @@ -23,7 +24,6 @@ import { SurrDocType } from './services/context'; import { MAX_CONTEXT_SIZE, MIN_CONTEXT_SIZE } from './services/constants'; import { DocTableContext } from '../../components/doc_table/doc_table_context'; import { useDiscoverServices } from '../../hooks/use_discover_services'; -import type { DataTableRecord } from '../../types'; import { DiscoverGridFlyout } from '../../components/discover_grid/discover_grid_flyout'; import { DocViewer } from '../../services/doc_views/components/doc_viewer'; diff --git a/src/plugins/discover/public/application/context/hooks/use_context_app_fetch.tsx b/src/plugins/discover/public/application/context/hooks/use_context_app_fetch.tsx index 75ea1d1a56130..ef4dfc62a6c0b 100644 --- a/src/plugins/discover/public/application/context/hooks/use_context_app_fetch.tsx +++ b/src/plugins/discover/public/application/context/hooks/use_context_app_fetch.tsx @@ -10,6 +10,7 @@ import { i18n } from '@kbn/i18n'; import { MarkdownSimple, toMountPoint, wrapWithTheme } from '@kbn/kibana-react-plugin/public'; import type { DataView } from '@kbn/data-views-plugin/public'; import { SortDirection } from '@kbn/data-plugin/public'; +import type { DataTableRecord } from '@kbn/discover-utils/types'; import { CONTEXT_TIE_BREAKER_FIELDS_SETTING } from '../../../../common'; import { fetchAnchor } from '../services/anchor'; import { fetchSurroundingDocs, SurrDocType } from '../services/context'; @@ -22,7 +23,6 @@ import { import { AppState } from '../services/context_state'; import { getFirstSortableField } from '../utils/sorting'; import { useDiscoverServices } from '../../../hooks/use_discover_services'; -import type { DataTableRecord } from '../../../types'; const createError = (statusKey: string, reason: FailureReason, error?: Error) => ({ [statusKey]: { value: LoadingStatus.FAILED, error, reason }, diff --git a/src/plugins/discover/public/application/context/services/_stubs.ts b/src/plugins/discover/public/application/context/services/_stubs.ts index f2375372829bc..acdd07c779d5f 100644 --- a/src/plugins/discover/public/application/context/services/_stubs.ts +++ b/src/plugins/discover/public/application/context/services/_stubs.ts @@ -11,7 +11,7 @@ import moment from 'moment'; import { of } from 'rxjs'; import * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; import { IKibanaSearchResponse } from '@kbn/data-plugin/common'; -import { EsHitRecord } from '../../../types'; +import type { EsHitRecord } from '@kbn/discover-utils/types'; type SortHit = { [key in string]: number; // timeField name diff --git a/src/plugins/discover/public/application/context/services/anchor.test.ts b/src/plugins/discover/public/application/context/services/anchor.test.ts index 11aaa3a46883b..a20b2d454bcdd 100644 --- a/src/plugins/discover/public/application/context/services/anchor.test.ts +++ b/src/plugins/discover/public/application/context/services/anchor.test.ts @@ -9,7 +9,7 @@ import { DataView } from '@kbn/data-views-plugin/public'; import { SortDirection } from '@kbn/data-plugin/public'; import { createSearchSourceStub } from './_stubs'; import { fetchAnchor, updateSearchSource } from './anchor'; -import { dataViewMock } from '../../../__mocks__/data_view'; +import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; import { savedSearchMock } from '../../../__mocks__/saved_search'; describe('context app', function () { diff --git a/src/plugins/discover/public/application/context/services/anchor.ts b/src/plugins/discover/public/application/context/services/anchor.ts index 51781e2c2992d..dce35fea93282 100644 --- a/src/plugins/discover/public/application/context/services/anchor.ts +++ b/src/plugins/discover/public/application/context/services/anchor.ts @@ -9,8 +9,8 @@ import { lastValueFrom } from 'rxjs'; import { i18n } from '@kbn/i18n'; import { ISearchSource, EsQuerySortValue } from '@kbn/data-plugin/public'; import { DataView } from '@kbn/data-views-plugin/public'; -import { DataTableRecord, EsHitRecord } from '../../../types'; -import { buildDataTableRecord } from '../../../utils/build_data_record'; +import { buildDataTableRecord } from '@kbn/discover-utils'; +import type { DataTableRecord, EsHitRecord } from '@kbn/discover-utils/types'; export async function fetchAnchor( anchorId: string, diff --git a/src/plugins/discover/public/application/context/services/context.predecessors.test.ts b/src/plugins/discover/public/application/context/services/context.predecessors.test.ts index 626ba7b10af3d..cf06344eace72 100644 --- a/src/plugins/discover/public/application/context/services/context.predecessors.test.ts +++ b/src/plugins/discover/public/application/context/services/context.predecessors.test.ts @@ -14,8 +14,8 @@ import { Query } from '@kbn/es-query'; import { createContextSearchSourceStub } from './_stubs'; import { fetchSurroundingDocs, SurrDocType } from './context'; import { DataPublicPluginStart } from '@kbn/data-plugin/public'; -import { DataTableRecord, EsHitRecord } from '../../../types'; -import { buildDataTableRecord, buildDataTableRecordList } from '../../../utils/build_data_record'; +import type { DataTableRecord, EsHitRecord } from '@kbn/discover-utils/types'; +import { buildDataTableRecord, buildDataTableRecordList } from '@kbn/discover-utils'; const MS_PER_DAY = 24 * 60 * 60 * 1000; const ANCHOR_TIMESTAMP = new Date(MS_PER_DAY).toJSON(); diff --git a/src/plugins/discover/public/application/context/services/context.successors.test.ts b/src/plugins/discover/public/application/context/services/context.successors.test.ts index 6bdadb4a93871..049d9efa2abf7 100644 --- a/src/plugins/discover/public/application/context/services/context.successors.test.ts +++ b/src/plugins/discover/public/application/context/services/context.successors.test.ts @@ -14,8 +14,8 @@ import { createContextSearchSourceStub } from './_stubs'; import { DataPublicPluginStart } from '@kbn/data-plugin/public'; import { Query } from '@kbn/es-query'; import { fetchSurroundingDocs, SurrDocType } from './context'; -import { DataTableRecord } from '../../../types'; -import { buildDataTableRecord, buildDataTableRecordList } from '../../../utils/build_data_record'; +import type { DataTableRecord } from '@kbn/discover-utils/types'; +import { buildDataTableRecord, buildDataTableRecordList } from '@kbn/discover-utils'; const MS_PER_DAY = 24 * 60 * 60 * 1000; const ANCHOR_TIMESTAMP = new Date(MS_PER_DAY).toJSON(); diff --git a/src/plugins/discover/public/application/context/services/context.test.ts b/src/plugins/discover/public/application/context/services/context.test.ts index 4c929a6b4fed6..762364e8aa8a0 100644 --- a/src/plugins/discover/public/application/context/services/context.test.ts +++ b/src/plugins/discover/public/application/context/services/context.test.ts @@ -7,7 +7,7 @@ */ import { updateSearchSource } from './context'; -import { dataViewMock } from '../../../__mocks__/data_view'; +import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; import { createSearchSourceMock } from '@kbn/data-plugin/public/mocks'; describe('context api', function () { diff --git a/src/plugins/discover/public/application/context/services/context.ts b/src/plugins/discover/public/application/context/services/context.ts index fc221200a5344..ce448d68f38ef 100644 --- a/src/plugins/discover/public/application/context/services/context.ts +++ b/src/plugins/discover/public/application/context/services/context.ts @@ -8,13 +8,13 @@ import type { Filter } from '@kbn/es-query'; import { DataView } from '@kbn/data-views-plugin/public'; import { DataPublicPluginStart, ISearchSource } from '@kbn/data-plugin/public'; +import type { DataTableRecord } from '@kbn/discover-utils/types'; import { reverseSortDir, SortDirection } from '../utils/sorting'; import { convertIsoToMillis, extractNanos } from '../utils/date_conversion'; import { fetchHitsInInterval } from '../utils/fetch_hits_in_interval'; import { generateIntervals } from '../utils/generate_intervals'; import { getEsQuerySearchAfter } from '../utils/get_es_query_search_after'; import { getEsQuerySort } from '../utils/get_es_query_sort'; -import { DataTableRecord } from '../../../types'; export enum SurrDocType { SUCCESSORS = 'successors', diff --git a/src/plugins/discover/public/application/context/services/context_query_state.ts b/src/plugins/discover/public/application/context/services/context_query_state.ts index 611c7666b52fb..a640c99e71e15 100644 --- a/src/plugins/discover/public/application/context/services/context_query_state.ts +++ b/src/plugins/discover/public/application/context/services/context_query_state.ts @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -import { DataTableRecord } from '../../../types'; +import type { DataTableRecord } from '@kbn/discover-utils/types'; export interface ContextFetchState { /** diff --git a/src/plugins/discover/public/application/context/services/context_state.test.ts b/src/plugins/discover/public/application/context/services/context_state.test.ts index ae1916158f85e..5a0a1aacbde57 100644 --- a/src/plugins/discover/public/application/context/services/context_state.test.ts +++ b/src/plugins/discover/public/application/context/services/context_state.test.ts @@ -14,7 +14,7 @@ import { FilterManager } from '@kbn/data-plugin/public'; import { coreMock } from '@kbn/core/public/mocks'; import { SEARCH_FIELDS_FROM_SOURCE } from '../../../../common'; import { discoverServiceMock } from '../../../__mocks__/services'; -import { dataViewMock } from '../../../__mocks__/data_view'; +import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; discoverServiceMock.data.query.filterManager.getAppFilters = jest.fn(() => []); discoverServiceMock.data.query.filterManager.getGlobalFilters = jest.fn(() => []); diff --git a/src/plugins/discover/public/application/context/utils/fetch_hits_in_interval.ts b/src/plugins/discover/public/application/context/utils/fetch_hits_in_interval.ts index a04ae0e1e5836..115d501eed135 100644 --- a/src/plugins/discover/public/application/context/utils/fetch_hits_in_interval.ts +++ b/src/plugins/discover/public/application/context/utils/fetch_hits_in_interval.ts @@ -8,10 +8,10 @@ import { lastValueFrom } from 'rxjs'; import { ISearchSource, EsQuerySortValue, SortDirection } from '@kbn/data-plugin/public'; import { EsQuerySearchAfter } from '@kbn/data-plugin/common'; -import { buildDataTableRecord } from '../../../utils/build_data_record'; +import { buildDataTableRecord } from '@kbn/discover-utils'; +import type { DataTableRecord } from '@kbn/discover-utils/types'; import { convertTimeValueToIso } from './date_conversion'; import { IntervalValue } from './generate_intervals'; -import type { DataTableRecord } from '../../../types'; interface RangeQuery { format: string; diff --git a/src/plugins/discover/public/application/context/utils/get_es_query_search_after.ts b/src/plugins/discover/public/application/context/utils/get_es_query_search_after.ts index bfec54c61e856..51e2be09c054f 100644 --- a/src/plugins/discover/public/application/context/utils/get_es_query_search_after.ts +++ b/src/plugins/discover/public/application/context/utils/get_es_query_search_after.ts @@ -6,8 +6,8 @@ * Side Public License, v 1. */ import type { EsQuerySearchAfter } from '@kbn/data-plugin/common'; +import type { DataTableRecord } from '@kbn/discover-utils/types'; import { SurrDocType } from '../services/context'; -import type { DataTableRecord } from '../../../types'; /** * Get the searchAfter query value for elasticsearch diff --git a/src/plugins/discover/public/application/doc/components/doc.test.tsx b/src/plugins/discover/public/application/doc/components/doc.test.tsx index 1a808bb05db7f..c9dfdc3b595c0 100644 --- a/src/plugins/discover/public/application/doc/components/doc.test.tsx +++ b/src/plugins/discover/public/application/doc/components/doc.test.tsx @@ -14,7 +14,7 @@ import { ReactWrapper } from 'enzyme'; import { findTestSubject } from '@elastic/eui/lib/test'; import { Doc, DocProps } from './doc'; import { SEARCH_FIELDS_FROM_SOURCE as mockSearchFieldsFromSource } from '../../../../common'; -import { dataViewMock } from '../../../__mocks__/data_view'; +import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; import { KibanaContextProvider } from '@kbn/kibana-react-plugin/public'; const mockSearchApi = jest.fn(); diff --git a/src/plugins/discover/public/application/doc/components/doc.tsx b/src/plugins/discover/public/application/doc/components/doc.tsx index ac04439ffbac6..527ba4377f078 100644 --- a/src/plugins/discover/public/application/doc/components/doc.tsx +++ b/src/plugins/discover/public/application/doc/components/doc.tsx @@ -11,12 +11,12 @@ import { FormattedMessage } from '@kbn/i18n-react'; import { EuiCallOut, EuiLink, EuiLoadingSpinner, EuiPage, EuiPageBody } from '@elastic/eui'; import type { DataView } from '@kbn/data-views-plugin/public'; import { i18n } from '@kbn/i18n'; +import type { DataTableRecord } from '@kbn/discover-utils/types'; import { getRootBreadcrumbs } from '../../../utils/breadcrumbs'; import { DocViewer } from '../../../services/doc_views/components/doc_viewer'; import { ElasticRequestState } from '../types'; import { useEsDocSearch } from '../../../hooks/use_es_doc_search'; import { useDiscoverServices } from '../../../hooks/use_discover_services'; -import type { DataTableRecord } from '../../../types'; export interface DocProps { /** diff --git a/src/plugins/discover/public/application/main/components/layout/__stories__/get_layout_props.ts b/src/plugins/discover/public/application/main/components/layout/__stories__/get_layout_props.ts index dfc1b001b42db..8d95db014fdc8 100644 --- a/src/plugins/discover/public/application/main/components/layout/__stories__/get_layout_props.ts +++ b/src/plugins/discover/public/application/main/components/layout/__stories__/get_layout_props.ts @@ -13,6 +13,8 @@ import { RequestAdapter } from '@kbn/inspector-plugin/common'; import { action } from '@storybook/addon-actions'; import { createHashHistory } from 'history'; import { SavedSearch } from '@kbn/saved-search-plugin/public'; +import { buildDataTableRecordList } from '@kbn/discover-utils'; +import { esHitsMock } from '@kbn/discover-utils/src/__mocks__'; import { FetchStatus } from '../../../../types'; import { AvailableFields$, @@ -21,8 +23,6 @@ import { DataTotalHits$, RecordRawType, } from '../../../services/discover_data_state_container'; -import { buildDataTableRecordList } from '../../../../../utils/build_data_record'; -import { esHits } from '../../../../../__mocks__/es_hits'; import { DiscoverLayoutProps } from '../discover_layout'; import { DiscoverStateContainer, @@ -38,7 +38,7 @@ const documentObservables = { documents$: new BehaviorSubject({ fetchStatus: FetchStatus.COMPLETE, - result: buildDataTableRecordList(esHits), + result: buildDataTableRecordList(esHitsMock), }) as DataDocuments$, availableFields$: new BehaviorSubject({ @@ -48,7 +48,7 @@ const documentObservables = { totalHits$: new BehaviorSubject({ fetchStatus: FetchStatus.COMPLETE, - result: Number(esHits.length), + result: Number(esHitsMock.length), }) as DataTotalHits$, fetch$: new Observable(), }; @@ -62,7 +62,7 @@ const plainRecordObservables = { documents$: new BehaviorSubject({ fetchStatus: FetchStatus.COMPLETE, - result: buildDataTableRecordList(esHits), + result: buildDataTableRecordList(esHitsMock), recordRawType: RecordRawType.PLAIN, }) as DataDocuments$, diff --git a/src/plugins/discover/public/application/main/components/layout/discover_documents.test.tsx b/src/plugins/discover/public/application/main/components/layout/discover_documents.test.tsx index 39fa270a8c9b7..fdbd153122cd1 100644 --- a/src/plugins/discover/public/application/main/components/layout/discover_documents.test.tsx +++ b/src/plugins/discover/public/application/main/components/layout/discover_documents.test.tsx @@ -11,15 +11,14 @@ import { act } from 'react-dom/test-utils'; import { BehaviorSubject } from 'rxjs'; import { mountWithIntl } from '@kbn/test-jest-helpers'; import { setHeaderActionMenuMounter } from '../../../../kibana_services'; -import { esHits } from '../../../../__mocks__/es_hits'; import { DataDocuments$ } from '../../services/discover_data_state_container'; import { discoverServiceMock } from '../../../../__mocks__/services'; import { FetchStatus } from '../../../types'; import { DiscoverDocuments, onResize } from './discover_documents'; -import { dataViewMock } from '../../../../__mocks__/data_view'; +import { dataViewMock, esHitsMock } from '@kbn/discover-utils/src/__mocks__'; import { KibanaContextProvider } from '@kbn/kibana-react-plugin/public'; -import { buildDataTableRecord } from '../../../../utils/build_data_record'; -import { EsHitRecord } from '../../../../types'; +import { buildDataTableRecord } from '@kbn/discover-utils'; +import type { EsHitRecord } from '@kbn/discover-utils/types'; import { DiscoverMainProvider } from '../../services/discover_state_provider'; import { getDiscoverStateMock } from '../../../../__mocks__/discover_state.mock'; import { DiscoverAppState } from '../../services/discover_app_state_container'; @@ -68,13 +67,13 @@ describe('Discover documents layout', () => { }); test('render complete when loading but documents were already fetched', async () => { - const component = await mountComponent(FetchStatus.LOADING, esHits); + const component = await mountComponent(FetchStatus.LOADING, esHitsMock); expect(component.find('.dscDocuments__loading').exists()).toBeFalsy(); expect(component.find('.dscTable').exists()).toBeTruthy(); }); test('render complete', async () => { - const component = await mountComponent(FetchStatus.COMPLETE, esHits); + const component = await mountComponent(FetchStatus.COMPLETE, esHitsMock); expect(component.find('.dscDocuments__loading').exists()).toBeFalsy(); expect(component.find('.dscTable').exists()).toBeTruthy(); }); diff --git a/src/plugins/discover/public/application/main/components/layout/discover_documents.tsx b/src/plugins/discover/public/application/main/components/layout/discover_documents.tsx index d702848105f40..6e72857ef2aca 100644 --- a/src/plugins/discover/public/application/main/components/layout/discover_documents.tsx +++ b/src/plugins/discover/public/application/main/components/layout/discover_documents.tsx @@ -19,6 +19,7 @@ import { css } from '@emotion/react'; import { DataView } from '@kbn/data-views-plugin/public'; import { SortOrder } from '@kbn/saved-search-plugin/public'; import { CellActionsProvider } from '@kbn/cell-actions'; +import type { DataTableRecord } from '@kbn/discover-utils/types'; import { useInternalStateSelector } from '../../services/discover_internal_state_container'; import { useAppStateSelector } from '../../services/discover_app_state_container'; import { useDiscoverServices } from '../../../../hooks/use_discover_services'; @@ -40,7 +41,6 @@ import { DocTableInfinite } from '../../../../components/doc_table/doc_table_inf import { DocumentExplorerCallout } from '../document_explorer_callout'; import { DocumentExplorerUpdateCallout } from '../document_explorer_callout/document_explorer_update_callout'; import { DiscoverTourProvider } from '../../../../components/discover_tour'; -import { DataTableRecord } from '../../../../types'; import { getRawRecordType } from '../../utils/get_raw_record_type'; import { DiscoverGridFlyout } from '../../../../components/discover_grid/discover_grid_flyout'; import { DocViewer } from '../../../../services/doc_views/components/doc_viewer'; diff --git a/src/plugins/discover/public/application/main/components/layout/discover_histogram_layout.test.tsx b/src/plugins/discover/public/application/main/components/layout/discover_histogram_layout.test.tsx index 829bde038f15a..48c9a3306dd12 100644 --- a/src/plugins/discover/public/application/main/components/layout/discover_histogram_layout.test.tsx +++ b/src/plugins/discover/public/application/main/components/layout/discover_histogram_layout.test.tsx @@ -9,8 +9,7 @@ import React from 'react'; import { BehaviorSubject, of } from 'rxjs'; import { mountWithIntl } from '@kbn/test-jest-helpers'; -import { esHits } from '../../../../__mocks__/es_hits'; -import { dataViewMock } from '../../../../__mocks__/data_view'; +import { dataViewMock, esHitsMock } from '@kbn/discover-utils/src/__mocks__'; import { savedSearchMock } from '../../../../__mocks__/saved_search'; import { AvailableFields$, @@ -23,7 +22,7 @@ import { discoverServiceMock } from '../../../../__mocks__/services'; import { FetchStatus } from '../../../types'; import { KibanaThemeProvider } from '@kbn/kibana-react-plugin/public'; import { KibanaContextProvider } from '@kbn/kibana-react-plugin/public'; -import { buildDataTableRecord } from '../../../../utils/build_data_record'; +import { buildDataTableRecord } from '@kbn/discover-utils'; import { DiscoverHistogramLayout, DiscoverHistogramLayoutProps } from './discover_histogram_layout'; import { SavedSearch, VIEW_MODE } from '@kbn/saved-search-plugin/public'; import { CoreTheme } from '@kbn/core/public'; @@ -88,7 +87,7 @@ const mountComponent = async ({ const documents$ = new BehaviorSubject({ fetchStatus: FetchStatus.COMPLETE, - result: esHits.map((esHit) => buildDataTableRecord(esHit, dataViewMock)), + result: esHitsMock.map((esHit) => buildDataTableRecord(esHit, dataViewMock)), }) as DataDocuments$; const availableFields$ = new BehaviorSubject({ @@ -98,7 +97,7 @@ const mountComponent = async ({ const totalHits$ = new BehaviorSubject({ fetchStatus: FetchStatus.COMPLETE, - result: Number(esHits.length), + result: Number(esHitsMock.length), }) as DataTotalHits$; const savedSearchData$ = { diff --git a/src/plugins/discover/public/application/main/components/layout/discover_layout.test.tsx b/src/plugins/discover/public/application/main/components/layout/discover_layout.test.tsx index 68c8b7ba0b318..b9ea55a8ba382 100644 --- a/src/plugins/discover/public/application/main/components/layout/discover_layout.test.tsx +++ b/src/plugins/discover/public/application/main/components/layout/discover_layout.test.tsx @@ -13,8 +13,7 @@ import { mountWithIntl } from '@kbn/test-jest-helpers'; import type { Query, AggregateQuery } from '@kbn/es-query'; import { setHeaderActionMenuMounter } from '../../../../kibana_services'; import { DiscoverLayout, SIDEBAR_CLOSED_KEY } from './discover_layout'; -import { esHits } from '../../../../__mocks__/es_hits'; -import { dataViewMock } from '../../../../__mocks__/data_view'; +import { dataViewMock, esHitsMock } from '@kbn/discover-utils/src/__mocks__'; import { savedSearchMock } from '../../../../__mocks__/saved_search'; import { createSearchSourceMock, @@ -35,7 +34,7 @@ import { RequestAdapter } from '@kbn/inspector-plugin/common'; import { LocalStorageMock } from '../../../../__mocks__/local_storage_mock'; import { KibanaContextProvider } from '@kbn/kibana-react-plugin/public'; import { DiscoverServices } from '../../../../build_services'; -import { buildDataTableRecord } from '../../../../utils/build_data_record'; +import { buildDataTableRecord } from '@kbn/discover-utils'; import { getDiscoverStateMock } from '../../../../__mocks__/discover_state.mock'; import { createSearchSessionMock } from '../../../../__mocks__/search_session'; import { getSessionServiceMock } from '@kbn/data-plugin/public/search/session/mocks'; @@ -83,7 +82,7 @@ async function mountComponent( const documents$ = new BehaviorSubject({ fetchStatus: FetchStatus.COMPLETE, - result: esHits.map((esHit) => buildDataTableRecord(esHit, dataView)), + result: esHitsMock.map((esHit) => buildDataTableRecord(esHit, dataView)), }) as DataDocuments$; const availableFields$ = new BehaviorSubject({ @@ -93,7 +92,7 @@ async function mountComponent( const totalHits$ = new BehaviorSubject({ fetchStatus: FetchStatus.COMPLETE, - result: Number(esHits.length), + result: Number(esHitsMock.length), }) as DataTotalHits$; stateContainer.dataState.data$ = { diff --git a/src/plugins/discover/public/application/main/components/layout/discover_main_content.test.tsx b/src/plugins/discover/public/application/main/components/layout/discover_main_content.test.tsx index 1ca0e6124006a..81b774a0aff0d 100644 --- a/src/plugins/discover/public/application/main/components/layout/discover_main_content.test.tsx +++ b/src/plugins/discover/public/application/main/components/layout/discover_main_content.test.tsx @@ -10,8 +10,7 @@ import React from 'react'; import { BehaviorSubject, of } from 'rxjs'; import { act } from 'react-dom/test-utils'; import { mountWithIntl } from '@kbn/test-jest-helpers'; -import { esHits } from '../../../../__mocks__/es_hits'; -import { dataViewMock } from '../../../../__mocks__/data_view'; +import { dataViewMock, esHitsMock } from '@kbn/discover-utils/src/__mocks__'; import { AvailableFields$, DataDocuments$, @@ -23,7 +22,7 @@ import { createDiscoverServicesMock } from '../../../../__mocks__/services'; import { FetchStatus } from '../../../types'; import { KibanaThemeProvider } from '@kbn/kibana-react-plugin/public'; import { KibanaContextProvider } from '@kbn/kibana-react-plugin/public'; -import { buildDataTableRecord } from '../../../../utils/build_data_record'; +import { buildDataTableRecord } from '@kbn/discover-utils'; import { DiscoverMainContent, DiscoverMainContentProps } from './discover_main_content'; import { SavedSearch, VIEW_MODE } from '@kbn/saved-search-plugin/public'; import { CoreTheme } from '@kbn/core/public'; @@ -69,7 +68,7 @@ const mountComponent = async ({ const documents$ = new BehaviorSubject({ fetchStatus: FetchStatus.COMPLETE, - result: esHits.map((esHit) => buildDataTableRecord(esHit, dataViewMock)), + result: esHitsMock.map((esHit) => buildDataTableRecord(esHit, dataViewMock)), }) as DataDocuments$; const availableFields$ = new BehaviorSubject({ @@ -79,7 +78,7 @@ const mountComponent = async ({ const totalHits$ = new BehaviorSubject({ fetchStatus: FetchStatus.COMPLETE, - result: Number(esHits.length), + result: Number(esHitsMock.length), }) as DataTotalHits$; const savedSearchData$ = { diff --git a/src/plugins/discover/public/application/main/components/sidebar/discover_sidebar_responsive.test.tsx b/src/plugins/discover/public/application/main/components/sidebar/discover_sidebar_responsive.test.tsx index a7c4006281291..6be8266691089 100644 --- a/src/plugins/discover/public/application/main/components/sidebar/discover_sidebar_responsive.test.tsx +++ b/src/plugins/discover/public/application/main/components/sidebar/discover_sidebar_responsive.test.tsx @@ -33,8 +33,8 @@ import * as ExistingFieldsServiceApi from '@kbn/unified-field-list/src/services/ import { resetExistingFieldsCache } from '@kbn/unified-field-list/src/hooks/use_existing_fields'; import { createDiscoverServicesMock } from '../../../../__mocks__/services'; import type { AggregateQuery, Query } from '@kbn/es-query'; -import { buildDataTableRecord } from '../../../../utils/build_data_record'; -import { type DataTableRecord } from '../../../../types'; +import { buildDataTableRecord } from '@kbn/discover-utils'; +import type { DataTableRecord } from '@kbn/discover-utils/types'; import type { DiscoverCustomizationId } from '../../../../customizations/customization_service'; import type { SearchBarCustomization } from '../../../../customizations'; diff --git a/src/plugins/discover/public/application/main/components/top_nav/discover_topnav.test.tsx b/src/plugins/discover/public/application/main/components/top_nav/discover_topnav.test.tsx index 19e2798b348e4..ada23ff7f8f55 100644 --- a/src/plugins/discover/public/application/main/components/top_nav/discover_topnav.test.tsx +++ b/src/plugins/discover/public/application/main/components/top_nav/discover_topnav.test.tsx @@ -8,7 +8,7 @@ import React, { ReactElement } from 'react'; import { mountWithIntl } from '@kbn/test-jest-helpers'; -import { dataViewMock } from '../../../../__mocks__/data_view'; +import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; import { DiscoverTopNav, DiscoverTopNavProps } from './discover_topnav'; import { TopNavMenu, TopNavMenuData } from '@kbn/navigation-plugin/public'; import { Query } from '@kbn/es-query'; diff --git a/src/plugins/discover/public/application/main/components/top_nav/get_top_nav_links.test.ts b/src/plugins/discover/public/application/main/components/top_nav/get_top_nav_links.test.ts index 321d23ca98f5c..44cf4c503be30 100644 --- a/src/plugins/discover/public/application/main/components/top_nav/get_top_nav_links.test.ts +++ b/src/plugins/discover/public/application/main/components/top_nav/get_top_nav_links.test.ts @@ -7,7 +7,7 @@ */ import { getTopNavLinks } from './get_top_nav_links'; -import { dataViewMock } from '../../../../__mocks__/data_view'; +import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; import { DiscoverServices } from '../../../../build_services'; import { DiscoverStateContainer } from '../../services/discover_state'; diff --git a/src/plugins/discover/public/application/main/components/top_nav/on_save_search.test.tsx b/src/plugins/discover/public/application/main/components/top_nav/on_save_search.test.tsx index ec031be5f583d..5506010528e05 100644 --- a/src/plugins/discover/public/application/main/components/top_nav/on_save_search.test.tsx +++ b/src/plugins/discover/public/application/main/components/top_nav/on_save_search.test.tsx @@ -9,7 +9,7 @@ import * as savedObjectsPlugin from '@kbn/saved-objects-plugin/public'; jest.mock('@kbn/saved-objects-plugin/public'); import type { DataView } from '@kbn/data-views-plugin/common'; -import { dataViewMock } from '../../../../__mocks__/data_view'; +import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; import { dataViewWithTimefieldMock } from '../../../../__mocks__/data_view_with_timefield'; import { onSaveSearch } from './on_save_search'; import { savedSearchMock } from '../../../../__mocks__/saved_search'; diff --git a/src/plugins/discover/public/application/main/components/top_nav/open_alerts_popover.test.tsx b/src/plugins/discover/public/application/main/components/top_nav/open_alerts_popover.test.tsx index 7a434a4673fa1..60290869f3a05 100644 --- a/src/plugins/discover/public/application/main/components/top_nav/open_alerts_popover.test.tsx +++ b/src/plugins/discover/public/application/main/components/top_nav/open_alerts_popover.test.tsx @@ -13,7 +13,7 @@ import { KibanaContextProvider } from '@kbn/kibana-react-plugin/public'; import { AlertsPopover } from './open_alerts_popover'; import { discoverServiceMock } from '../../../../__mocks__/services'; import { dataViewWithTimefieldMock } from '../../../../__mocks__/data_view_with_timefield'; -import { dataViewMock } from '../../../../__mocks__/data_view'; +import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; import { getDiscoverStateMock } from '../../../../__mocks__/discover_state.mock'; const Context = ({ children }: { children: ReactNode }) => <>{children}; diff --git a/src/plugins/discover/public/application/main/discover_main_app.test.tsx b/src/plugins/discover/public/application/main/discover_main_app.test.tsx index d4efea85f8d3b..170f38e6fda30 100644 --- a/src/plugins/discover/public/application/main/discover_main_app.test.tsx +++ b/src/plugins/discover/public/application/main/discover_main_app.test.tsx @@ -9,7 +9,7 @@ import React from 'react'; import { act } from 'react-dom/test-utils'; import { mountWithIntl } from '@kbn/test-jest-helpers'; import { DataViewListItem } from '@kbn/data-views-plugin/public'; -import { dataViewMock } from '../../__mocks__/data_view'; +import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; import { DiscoverMainApp } from './discover_main_app'; import { DiscoverTopNav } from './components/top_nav/discover_topnav'; import { setHeaderActionMenuMounter, setUrlTracker } from '../../kibana_services'; diff --git a/src/plugins/discover/public/application/main/hooks/use_inspector.test.ts b/src/plugins/discover/public/application/main/hooks/use_inspector.test.ts index 57e94aa7a0db1..0667bc4d2ce54 100644 --- a/src/plugins/discover/public/application/main/hooks/use_inspector.test.ts +++ b/src/plugins/discover/public/application/main/hooks/use_inspector.test.ts @@ -13,7 +13,7 @@ import { Adapters, RequestAdapter } from '@kbn/inspector-plugin/common'; import { OverlayRef } from '@kbn/core/public'; import { AggregateRequestAdapter } from '../utils/aggregate_request_adapter'; import { getDiscoverStateMock } from '../../../__mocks__/discover_state.mock'; -import { DataTableRecord } from '../../../types'; +import type { DataTableRecord } from '@kbn/discover-utils/types'; describe('test useInspector', () => { test('inspector open function is executed, expanded doc is closed', async () => { diff --git a/src/plugins/discover/public/application/main/hooks/use_test_based_query_language.test.tsx b/src/plugins/discover/public/application/main/hooks/use_test_based_query_language.test.tsx index 878b22de26218..125d47c087640 100644 --- a/src/plugins/discover/public/application/main/hooks/use_test_based_query_language.test.tsx +++ b/src/plugins/discover/public/application/main/hooks/use_test_based_query_language.test.tsx @@ -13,9 +13,9 @@ import { discoverServiceMock } from '../../../__mocks__/services'; import { useTextBasedQueryLanguage } from './use_text_based_query_language'; import { FetchStatus } from '../../types'; import { RecordRawType } from '../services/discover_data_state_container'; -import { DataTableRecord } from '../../../types'; +import type { DataTableRecord } from '@kbn/discover-utils/types'; import { AggregateQuery, Query } from '@kbn/es-query'; -import { dataViewMock } from '../../../__mocks__/data_view'; +import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; import { DataViewListItem } from '@kbn/data-views-plugin/common'; import { savedSearchMock } from '../../../__mocks__/saved_search'; import { getDiscoverStateMock } from '../../../__mocks__/discover_state.mock'; diff --git a/src/plugins/discover/public/application/main/services/discover_data_state_container.ts b/src/plugins/discover/public/application/main/services/discover_data_state_container.ts index 1645745f79b6f..1e45a6f81b0d7 100644 --- a/src/plugins/discover/public/application/main/services/discover_data_state_container.ts +++ b/src/plugins/discover/public/application/main/services/discover_data_state_container.ts @@ -14,6 +14,7 @@ import { AggregateQuery, Query } from '@kbn/es-query'; import type { SearchResponse } from '@elastic/elasticsearch/lib/api/types'; import { DataView } from '@kbn/data-views-plugin/common'; import { reportPerformanceMetricEvent } from '@kbn/ebt-tools'; +import type { DataTableRecord } from '@kbn/discover-utils/types'; import { getDataViewByTextBasedQueryLang } from '../utils/get_data_view_by_text_based_query_lang'; import { isTextBasedQuery } from '../utils/is_text_based_query'; import { getRawRecordType } from '../utils/get_raw_record_type'; @@ -26,7 +27,6 @@ import { validateTimeRange } from '../utils/validate_time_range'; import { fetchAll } from '../utils/fetch_all'; import { sendResetMsg } from '../hooks/use_saved_search_messages'; import { getFetch$ } from '../utils/get_fetch_observable'; -import { DataTableRecord } from '../../../types'; export interface SavedSearchData { main$: DataMain$; diff --git a/src/plugins/discover/public/application/main/services/discover_internal_state_container.ts b/src/plugins/discover/public/application/main/services/discover_internal_state_container.ts index e93a33ca6496b..6ef73f1ad7ac5 100644 --- a/src/plugins/discover/public/application/main/services/discover_internal_state_container.ts +++ b/src/plugins/discover/public/application/main/services/discover_internal_state_container.ts @@ -12,7 +12,7 @@ import { ReduxLikeStateContainer, } from '@kbn/kibana-utils-plugin/common'; import { DataView, DataViewListItem } from '@kbn/data-views-plugin/common'; -import { DataTableRecord } from '../../../types'; +import type { DataTableRecord } from '@kbn/discover-utils/types'; export interface InternalState { dataView: DataView | undefined; diff --git a/src/plugins/discover/public/application/main/services/discover_saved_search_container.test.ts b/src/plugins/discover/public/application/main/services/discover_saved_search_container.test.ts index fe575f9c6dfc8..3ce4c969bbd3f 100644 --- a/src/plugins/discover/public/application/main/services/discover_saved_search_container.test.ts +++ b/src/plugins/discover/public/application/main/services/discover_saved_search_container.test.ts @@ -10,7 +10,7 @@ import { getSavedSearchContainer, isEqualSavedSearch } from './discover_saved_se import type { SavedSearch } from '@kbn/saved-search-plugin/public'; import { discoverServiceMock } from '../../../__mocks__/services'; import { savedSearchMock, savedSearchMockWithTimeField } from '../../../__mocks__/saved_search'; -import { dataViewMock } from '../../../__mocks__/data_view'; +import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; import { dataViewComplexMock } from '../../../__mocks__/data_view_complex'; import { getDiscoverGlobalStateContainer } from './discover_global_state_container'; import { createKbnUrlStateStorage } from '@kbn/kibana-utils-plugin/public'; diff --git a/src/plugins/discover/public/application/main/services/discover_state.test.ts b/src/plugins/discover/public/application/main/services/discover_state.test.ts index 2db6248e12d1a..a824fcfc08e21 100644 --- a/src/plugins/discover/public/application/main/services/discover_state.test.ts +++ b/src/plugins/discover/public/application/main/services/discover_state.test.ts @@ -21,7 +21,7 @@ import { savedSearchMockWithTimeFieldNew, } from '../../../__mocks__/saved_search'; import { discoverServiceMock } from '../../../__mocks__/services'; -import { dataViewMock } from '../../../__mocks__/data_view'; +import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; import { DiscoverAppStateContainer } from './discover_app_state_container'; import { waitFor } from '@testing-library/react'; import { FetchStatus } from '../../types'; diff --git a/src/plugins/discover/public/application/main/utils/calc_field_counts.test.ts b/src/plugins/discover/public/application/main/utils/calc_field_counts.test.ts index 0aace63eb7754..c1740cf3a4fd4 100644 --- a/src/plugins/discover/public/application/main/utils/calc_field_counts.test.ts +++ b/src/plugins/discover/public/application/main/utils/calc_field_counts.test.ts @@ -7,7 +7,7 @@ */ import { calcFieldCounts } from './calc_field_counts'; -import { buildDataTableRecord } from '../../../utils/build_data_record'; +import { buildDataTableRecord } from '@kbn/discover-utils'; describe('calcFieldCounts', () => { test('returns valid field count data', async () => { diff --git a/src/plugins/discover/public/application/main/utils/calc_field_counts.ts b/src/plugins/discover/public/application/main/utils/calc_field_counts.ts index 2fd089816f9fb..8f4fe80762795 100644 --- a/src/plugins/discover/public/application/main/utils/calc_field_counts.ts +++ b/src/plugins/discover/public/application/main/utils/calc_field_counts.ts @@ -5,7 +5,7 @@ * in compliance with, at your election, the Elastic License 2.0 or the Server * Side Public License, v 1. */ -import { DataTableRecord } from '../../../types'; +import type { DataTableRecord } from '@kbn/discover-utils/types'; /** * This function is calculating stats of the available fields, for usage in sidebar and sharing diff --git a/src/plugins/discover/public/application/main/utils/fetch_all.test.ts b/src/plugins/discover/public/application/main/utils/fetch_all.test.ts index df3c05a5ce2e1..465720f2dca3f 100644 --- a/src/plugins/discover/public/application/main/utils/fetch_all.test.ts +++ b/src/plugins/discover/public/application/main/utils/fetch_all.test.ts @@ -23,8 +23,8 @@ import { } from '../services/discover_data_state_container'; import { fetchDocuments } from './fetch_documents'; import { fetchSql } from './fetch_sql'; -import { buildDataTableRecord } from '../../../utils/build_data_record'; -import { dataViewMock } from '../../../__mocks__/data_view'; +import { buildDataTableRecord } from '@kbn/discover-utils'; +import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; jest.mock('./fetch_documents', () => ({ fetchDocuments: jest.fn().mockResolvedValue([]), })); diff --git a/src/plugins/discover/public/application/main/utils/fetch_documents.test.ts b/src/plugins/discover/public/application/main/utils/fetch_documents.test.ts index 22415aa782194..e8ae34aacd917 100644 --- a/src/plugins/discover/public/application/main/utils/fetch_documents.test.ts +++ b/src/plugins/discover/public/application/main/utils/fetch_documents.test.ts @@ -13,9 +13,9 @@ import { discoverServiceMock } from '../../../__mocks__/services'; import { IKibanaSearchResponse } from '@kbn/data-plugin/public'; import { SearchResponse } from '@elastic/elasticsearch/lib/api/types'; import { FetchDeps } from './fetch_all'; -import type { EsHitRecord } from '../../../types'; -import { buildDataTableRecord } from '../../../utils/build_data_record'; -import { dataViewMock } from '../../../__mocks__/data_view'; +import type { EsHitRecord } from '@kbn/discover-utils/types'; +import { buildDataTableRecord } from '@kbn/discover-utils'; +import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; const getDeps = () => ({ diff --git a/src/plugins/discover/public/application/main/utils/fetch_documents.ts b/src/plugins/discover/public/application/main/utils/fetch_documents.ts index db092cb449057..97a0661f40ded 100644 --- a/src/plugins/discover/public/application/main/utils/fetch_documents.ts +++ b/src/plugins/discover/public/application/main/utils/fetch_documents.ts @@ -9,8 +9,9 @@ import { i18n } from '@kbn/i18n'; import { filter, map } from 'rxjs/operators'; import { lastValueFrom } from 'rxjs'; import { isCompleteResponse, ISearchSource } from '@kbn/data-plugin/public'; -import type { RecordsFetchResponse, EsHitRecord } from '../../../types'; -import { buildDataTableRecordList } from '../../../utils/build_data_record'; +import { buildDataTableRecordList } from '@kbn/discover-utils'; +import type { EsHitRecord } from '@kbn/discover-utils/types'; +import type { RecordsFetchResponse } from '../../../types'; import { SAMPLE_SIZE_SETTING } from '../../../../common'; import { FetchDeps } from './fetch_all'; diff --git a/src/plugins/discover/public/application/main/utils/fetch_sql.ts b/src/plugins/discover/public/application/main/utils/fetch_sql.ts index 60a0831e0d6c9..73c716e8f9351 100644 --- a/src/plugins/discover/public/application/main/utils/fetch_sql.ts +++ b/src/plugins/discover/public/application/main/utils/fetch_sql.ts @@ -14,7 +14,8 @@ import type { ExpressionsStart } from '@kbn/expressions-plugin/public'; import type { Datatable } from '@kbn/expressions-plugin/public'; import type { DataView } from '@kbn/data-views-plugin/common'; import { textBasedQueryStateToAstWithValidation } from '@kbn/data-plugin/common'; -import type { RecordsFetchResponse, DataTableRecord } from '../../../types'; +import type { DataTableRecord } from '@kbn/discover-utils/types'; +import { RecordsFetchResponse } from '../../../types'; interface SQLErrorResponse { error: { diff --git a/src/plugins/discover/public/application/main/utils/get_data_view_by_text_based_query_lang.test.ts b/src/plugins/discover/public/application/main/utils/get_data_view_by_text_based_query_lang.test.ts index 3d12a3421e6c4..0b81061ab68ff 100644 --- a/src/plugins/discover/public/application/main/utils/get_data_view_by_text_based_query_lang.test.ts +++ b/src/plugins/discover/public/application/main/utils/get_data_view_by_text_based_query_lang.test.ts @@ -8,7 +8,7 @@ import { getDataViewByTextBasedQueryLang } from './get_data_view_by_text_based_query_lang'; import { dataViewAdHoc } from '../../../__mocks__/data_view_complex'; -import { dataViewMock } from '../../../__mocks__/data_view'; +import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; import { discoverServiceMock } from '../../../__mocks__/services'; describe('getDataViewByTextBasedQueryLang', () => { diff --git a/src/plugins/discover/public/application/main/utils/get_state_defaults.test.ts b/src/plugins/discover/public/application/main/utils/get_state_defaults.test.ts index a994adc340f21..103520c71998b 100644 --- a/src/plugins/discover/public/application/main/utils/get_state_defaults.test.ts +++ b/src/plugins/discover/public/application/main/utils/get_state_defaults.test.ts @@ -11,7 +11,7 @@ import { createSearchSourceMock } from '@kbn/data-plugin/public/mocks'; import { VIEW_MODE } from '@kbn/saved-search-plugin/common'; import { dataViewWithTimefieldMock } from '../../../__mocks__/data_view_with_timefield'; import { savedSearchMock, savedSearchMockWithSQL } from '../../../__mocks__/saved_search'; -import { dataViewMock } from '../../../__mocks__/data_view'; +import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; import { discoverServiceMock } from '../../../__mocks__/services'; describe('getStateDefaults', () => { diff --git a/src/plugins/discover/public/application/main/utils/resolve_data_view.test.ts b/src/plugins/discover/public/application/main/utils/resolve_data_view.test.ts index 10e1780d233b8..e321dc51ba3ab 100644 --- a/src/plugins/discover/public/application/main/utils/resolve_data_view.test.ts +++ b/src/plugins/discover/public/application/main/utils/resolve_data_view.test.ts @@ -7,7 +7,7 @@ */ import { loadDataView } from './resolve_data_view'; -import { dataViewMock } from '../../../__mocks__/data_view'; +import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; import { discoverServiceMock as services } from '../../../__mocks__/services'; describe('Resolve data view tests', () => { diff --git a/src/plugins/discover/public/application/main/utils/update_search_source.test.ts b/src/plugins/discover/public/application/main/utils/update_search_source.test.ts index cc09732161890..a46cc1dec484a 100644 --- a/src/plugins/discover/public/application/main/utils/update_search_source.test.ts +++ b/src/plugins/discover/public/application/main/utils/update_search_source.test.ts @@ -8,7 +8,7 @@ import { updateVolatileSearchSource } from './update_search_source'; import { createSearchSourceMock } from '@kbn/data-plugin/common/search/search_source/mocks'; -import { dataViewMock } from '../../../__mocks__/data_view'; +import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; import type { SortOrder } from '@kbn/saved-search-plugin/public'; import { discoverServiceMock } from '../../../__mocks__/services'; import { IUiSettingsClient } from '@kbn/core-ui-settings-browser'; diff --git a/src/plugins/discover/public/components/discover_grid/build_edit_field_button.test.tsx b/src/plugins/discover/public/components/discover_grid/build_edit_field_button.test.tsx index dc85179906384..c78918976e88d 100644 --- a/src/plugins/discover/public/components/discover_grid/build_edit_field_button.test.tsx +++ b/src/plugins/discover/public/components/discover_grid/build_edit_field_button.test.tsx @@ -10,7 +10,7 @@ import { EuiListGroupItem, EuiListGroupItemProps } from '@elastic/eui'; import { DataView, DataViewField } from '@kbn/data-views-plugin/common'; import { mountWithIntl } from '@kbn/test-jest-helpers'; import React from 'react'; -import { buildDataViewMock } from '../../__mocks__/data_view'; +import { buildDataViewMock } from '@kbn/discover-utils/src/__mocks__'; import { discoverServiceMock } from '../../__mocks__/services'; import { buildEditFieldButton } from './build_edit_field_button'; diff --git a/src/plugins/discover/public/components/discover_grid/discover_grid.test.tsx b/src/plugins/discover/public/components/discover_grid/discover_grid.test.tsx index 76694ad53ec17..78b42f7ef4133 100644 --- a/src/plugins/discover/public/components/discover_grid/discover_grid.test.tsx +++ b/src/plugins/discover/public/components/discover_grid/discover_grid.test.tsx @@ -10,15 +10,13 @@ import { ReactWrapper } from 'enzyme'; import { EuiCopy } from '@elastic/eui'; import { act } from 'react-dom/test-utils'; import { findTestSubject } from '@elastic/eui/lib/test'; -import { esHits } from '../../__mocks__/es_hits'; -import { buildDataViewMock, deepMockedFields } from '../../__mocks__/data_view'; +import { buildDataViewMock, deepMockedFields, esHitsMock } from '@kbn/discover-utils/src/__mocks__'; import { mountWithIntl } from '@kbn/test-jest-helpers'; import { DiscoverGrid, DiscoverGridProps } from './discover_grid'; import { KibanaContextProvider } from '@kbn/kibana-react-plugin/public'; import { discoverServiceMock } from '../../__mocks__/services'; -import { buildDataTableRecord } from '../../utils/build_data_record'; -import { getDocId } from '../../utils/get_doc_id'; -import { EsHitRecord } from '../../types'; +import { buildDataTableRecord, getDocId } from '@kbn/discover-utils'; +import type { EsHitRecord } from '@kbn/discover-utils/types'; const mockUseDataGridColumnsCellActions = jest.fn((prop: unknown) => []); jest.mock('@kbn/cell-actions', () => ({ @@ -48,7 +46,7 @@ function getProps() { onResize: jest.fn(), onSetColumns: jest.fn(), onSort: jest.fn(), - rows: esHits.map((hit) => buildDataTableRecord(hit, dataViewMock)), + rows: esHitsMock.map((hit) => buildDataTableRecord(hit, dataViewMock)), sampleSize: 30, searchDescription: '', searchTitle: '', @@ -122,17 +120,17 @@ describe('DiscoverGrid', () => { }); test('Allows selection/deselection of multiple documents', async () => { - await toggleDocSelection(component, esHits[0]); + await toggleDocSelection(component, esHitsMock[0]); expect(getSelectedDocNr(component)).toBe(1); - await toggleDocSelection(component, esHits[1]); + await toggleDocSelection(component, esHitsMock[1]); expect(getSelectedDocNr(component)).toBe(2); - await toggleDocSelection(component, esHits[1]); + await toggleDocSelection(component, esHitsMock[1]); expect(getSelectedDocNr(component)).toBe(1); }); test('deselection of all selected documents', async () => { - await toggleDocSelection(component, esHits[0]); - await toggleDocSelection(component, esHits[1]); + await toggleDocSelection(component, esHitsMock[0]); + await toggleDocSelection(component, esHitsMock[1]); expect(getSelectedDocNr(component)).toBe(2); findTestSubject(component, 'dscGridSelectionBtn').simulate('click'); findTestSubject(component, 'dscGridClearSelectedDocuments').simulate('click'); @@ -140,8 +138,8 @@ describe('DiscoverGrid', () => { }); test('showing only selected documents and undo selection', async () => { - await toggleDocSelection(component, esHits[0]); - await toggleDocSelection(component, esHits[1]); + await toggleDocSelection(component, esHitsMock[0]); + await toggleDocSelection(component, esHitsMock[1]); expect(getSelectedDocNr(component)).toBe(2); findTestSubject(component, 'dscGridSelectionBtn').simulate('click'); findTestSubject(component, 'dscGridShowSelectedDocuments').simulate('click'); @@ -153,8 +151,8 @@ describe('DiscoverGrid', () => { }); test('showing selected documents, underlying data changes, all documents are displayed, selection is gone', async () => { - await toggleDocSelection(component, esHits[0]); - await toggleDocSelection(component, esHits[1]); + await toggleDocSelection(component, esHitsMock[0]); + await toggleDocSelection(component, esHitsMock[1]); expect(getSelectedDocNr(component)).toBe(2); findTestSubject(component, 'dscGridSelectionBtn').simulate('click'); findTestSubject(component, 'dscGridShowSelectedDocuments').simulate('click'); @@ -179,18 +177,18 @@ describe('DiscoverGrid', () => { }); test('showing only selected documents and remove filter deselecting each doc manually', async () => { - await toggleDocSelection(component, esHits[0]); + await toggleDocSelection(component, esHitsMock[0]); findTestSubject(component, 'dscGridSelectionBtn').simulate('click'); findTestSubject(component, 'dscGridShowSelectedDocuments').simulate('click'); expect(getDisplayedDocNr(component)).toBe(1); - await toggleDocSelection(component, esHits[0]); + await toggleDocSelection(component, esHitsMock[0]); expect(getDisplayedDocNr(component)).toBe(5); - await toggleDocSelection(component, esHits[0]); + await toggleDocSelection(component, esHitsMock[0]); expect(getDisplayedDocNr(component)).toBe(5); }); test('copying selected documents to clipboard', async () => { - await toggleDocSelection(component, esHits[0]); + await toggleDocSelection(component, esHitsMock[0]); findTestSubject(component, 'dscGridSelectionBtn').simulate('click'); expect(component.find(EuiCopy).prop('textToCopy')).toMatchInlineSnapshot( `"[{\\"_index\\":\\"i\\",\\"_id\\":\\"1\\",\\"_score\\":1,\\"_type\\":\\"_doc\\",\\"_source\\":{\\"date\\":\\"2020-20-01T12:12:12.123\\",\\"message\\":\\"test1\\",\\"bytes\\":20}}]"` diff --git a/src/plugins/discover/public/components/discover_grid/discover_grid.tsx b/src/plugins/discover/public/components/discover_grid/discover_grid.tsx index e05f4c9d704fa..4922f8db3fe8f 100644 --- a/src/plugins/discover/public/components/discover_grid/discover_grid.tsx +++ b/src/plugins/discover/public/components/discover_grid/discover_grid.tsx @@ -35,6 +35,7 @@ import { FieldFormatsStart } from '@kbn/field-formats-plugin/public'; import type { ToastsStart, IUiSettingsClient, HttpStart, CoreStart } from '@kbn/core/public'; import { DataViewFieldEditorStart } from '@kbn/data-view-field-editor-plugin/public'; import { Serializable } from '@kbn/utility-types'; +import type { DataTableRecord } from '@kbn/discover-utils/types'; import { DocViewFilterFn } from '../../services/doc_views/doc_views_types'; import { getSchemaDetectors } from './discover_grid_schema'; import { DiscoverGridFlyout } from './discover_grid_flyout'; @@ -55,7 +56,7 @@ import { } from '../../../common'; import { DiscoverGridDocumentToolbarBtn } from './discover_grid_document_selection'; import { getShouldShowFieldHandler } from '../../utils/get_should_show_field_handler'; -import type { DataTableRecord, ValueToStringConverter } from '../../types'; +import type { ValueToStringConverter } from '../../types'; import { useRowHeightsOptions } from '../../hooks/use_row_heights_options'; import { convertValueToString } from '../../utils/convert_value_to_string'; import { getRowsPerPageOptions, getDefaultRowsPerPage } from '../../utils/rows_per_page'; diff --git a/src/plugins/discover/public/components/discover_grid/discover_grid_columns.test.tsx b/src/plugins/discover/public/components/discover_grid/discover_grid_columns.test.tsx index ea22d8b130835..cea7f6c3505c9 100644 --- a/src/plugins/discover/public/components/discover_grid/discover_grid_columns.test.tsx +++ b/src/plugins/discover/public/components/discover_grid/discover_grid_columns.test.tsx @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -import { dataViewMock } from '../../__mocks__/data_view'; +import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; import { getEuiGridColumns, getVisibleColumns } from './discover_grid_columns'; import { dataViewWithTimefieldMock } from '../../__mocks__/data_view_with_timefield'; import { discoverGridContextMock } from '../../__mocks__/grid_context'; @@ -40,99 +40,99 @@ describe('Discover grid columns', function () { onFilter: () => {}, }); expect(actual).toMatchInlineSnapshot(` - Array [ - Object { - "actions": Object { - "additional": Array [ - Object { - "data-test-subj": "gridCopyColumnNameToClipBoardButton", - "iconProps": Object { - "size": "m", + Array [ + Object { + "actions": Object { + "additional": Array [ + Object { + "data-test-subj": "gridCopyColumnNameToClipBoardButton", + "iconProps": Object { + "size": "m", + }, + "iconType": "copyClipboard", + "label": , + "onClick": [Function], + "size": "xs", + }, + Object { + "data-test-subj": "gridCopyColumnValuesToClipBoardButton", + "iconProps": Object { + "size": "m", + }, + "iconType": "copyClipboard", + "label": , + "onClick": [Function], + "size": "xs", + }, + ], + "showHide": false, + "showMoveLeft": false, + "showMoveRight": false, + }, + "cellActions": Array [ + [Function], + [Function], + [Function], + ], + "displayAsText": "extension", + "id": "extension", + "isSortable": false, + "schema": "string", }, - "iconType": "copyClipboard", - "label": , - "onClick": [Function], - "size": "xs", - }, - Object { - "data-test-subj": "gridCopyColumnValuesToClipBoardButton", - "iconProps": Object { - "size": "m", - }, - "iconType": "copyClipboard", - "label": , - "onClick": [Function], - "size": "xs", - }, - ], - "showHide": false, - "showMoveLeft": false, - "showMoveRight": false, - }, - "cellActions": Array [ - [Function], - [Function], - [Function], - ], - "displayAsText": "extension", - "id": "extension", - "isSortable": false, - "schema": "string", - }, - Object { - "actions": Object { - "additional": Array [ - Object { - "data-test-subj": "gridCopyColumnNameToClipBoardButton", - "iconProps": Object { - "size": "m", - }, - "iconType": "copyClipboard", - "label": , - "onClick": [Function], - "size": "xs", - }, - Object { - "data-test-subj": "gridCopyColumnValuesToClipBoardButton", - "iconProps": Object { - "size": "m", + Object { + "actions": Object { + "additional": Array [ + Object { + "data-test-subj": "gridCopyColumnNameToClipBoardButton", + "iconProps": Object { + "size": "m", + }, + "iconType": "copyClipboard", + "label": , + "onClick": [Function], + "size": "xs", + }, + Object { + "data-test-subj": "gridCopyColumnValuesToClipBoardButton", + "iconProps": Object { + "size": "m", + }, + "iconType": "copyClipboard", + "label": , + "onClick": [Function], + "size": "xs", + }, + ], + "showHide": false, + "showMoveLeft": false, + "showMoveRight": false, + }, + "cellActions": Array [ + [Function], + ], + "displayAsText": "message", + "id": "message", + "isSortable": false, + "schema": "string", }, - "iconType": "copyClipboard", - "label": , - "onClick": [Function], - "size": "xs", - }, - ], - "showHide": false, - "showMoveLeft": false, - "showMoveRight": false, - }, - "cellActions": Array [ - [Function], - ], - "displayAsText": "message", - "id": "message", - "isSortable": false, - "schema": "string", - }, - ] - `); + ] + `); }); it('returns eui grid columns with time column', async () => { @@ -154,170 +154,170 @@ describe('Discover grid columns', function () { onFilter: () => {}, }); expect(actual).toMatchInlineSnapshot(` - Array [ - Object { - "actions": Object { - "additional": Array [ - Object { - "data-test-subj": "gridCopyColumnNameToClipBoardButton", - "iconProps": Object { - "size": "m", + Array [ + Object { + "actions": Object { + "additional": Array [ + Object { + "data-test-subj": "gridCopyColumnNameToClipBoardButton", + "iconProps": Object { + "size": "m", + }, + "iconType": "copyClipboard", + "label": , + "onClick": [Function], + "size": "xs", }, - "iconType": "copyClipboard", - "label": , - "onClick": [Function], - "size": "xs", - }, - Object { - "data-test-subj": "gridCopyColumnValuesToClipBoardButton", - "iconProps": Object { - "size": "m", + Object { + "data-test-subj": "gridCopyColumnValuesToClipBoardButton", + "iconProps": Object { + "size": "m", + }, + "iconType": "copyClipboard", + "label": , + "onClick": [Function], + "size": "xs", }, - "iconType": "copyClipboard", - "label": , - "onClick": [Function], - "size": "xs", - }, + ], + "showHide": false, + "showMoveLeft": true, + "showMoveRight": true, + }, + "cellActions": Array [ + [Function], + [Function], + [Function], ], - "showHide": false, - "showMoveLeft": true, - "showMoveRight": true, - }, - "cellActions": Array [ - [Function], - [Function], - [Function], - ], - "display":
- - - timestamp - - - - -
, - "displayAsText": "timestamp", - "id": "timestamp", - "initialWidth": 210, - "isSortable": true, - "schema": "datetime", - }, - Object { - "actions": Object { - "additional": Array [ - Object { - "data-test-subj": "gridCopyColumnNameToClipBoardButton", - "iconProps": Object { - "size": "m", + + + timestamp + + + + + , + "displayAsText": "timestamp", + "id": "timestamp", + "initialWidth": 210, + "isSortable": true, + "schema": "datetime", + }, + Object { + "actions": Object { + "additional": Array [ + Object { + "data-test-subj": "gridCopyColumnNameToClipBoardButton", + "iconProps": Object { + "size": "m", + }, + "iconType": "copyClipboard", + "label": , + "onClick": [Function], + "size": "xs", }, - "iconType": "copyClipboard", - "label": , - "onClick": [Function], - "size": "xs", - }, - Object { - "data-test-subj": "gridCopyColumnValuesToClipBoardButton", - "iconProps": Object { - "size": "m", + Object { + "data-test-subj": "gridCopyColumnValuesToClipBoardButton", + "iconProps": Object { + "size": "m", + }, + "iconType": "copyClipboard", + "label": , + "onClick": [Function], + "size": "xs", }, - "iconType": "copyClipboard", - "label": , - "onClick": [Function], - "size": "xs", + ], + "showHide": Object { + "iconType": "cross", + "label": "Remove column", }, - ], - "showHide": Object { - "iconType": "cross", - "label": "Remove column", + "showMoveLeft": true, + "showMoveRight": true, }, - "showMoveLeft": true, - "showMoveRight": true, + "cellActions": Array [ + [Function], + [Function], + [Function], + ], + "displayAsText": "extension", + "id": "extension", + "isSortable": false, + "schema": "string", }, - "cellActions": Array [ - [Function], - [Function], - [Function], - ], - "displayAsText": "extension", - "id": "extension", - "isSortable": false, - "schema": "string", - }, - Object { - "actions": Object { - "additional": Array [ - Object { - "data-test-subj": "gridCopyColumnNameToClipBoardButton", - "iconProps": Object { - "size": "m", + Object { + "actions": Object { + "additional": Array [ + Object { + "data-test-subj": "gridCopyColumnNameToClipBoardButton", + "iconProps": Object { + "size": "m", + }, + "iconType": "copyClipboard", + "label": , + "onClick": [Function], + "size": "xs", }, - "iconType": "copyClipboard", - "label": , - "onClick": [Function], - "size": "xs", - }, - Object { - "data-test-subj": "gridCopyColumnValuesToClipBoardButton", - "iconProps": Object { - "size": "m", + Object { + "data-test-subj": "gridCopyColumnValuesToClipBoardButton", + "iconProps": Object { + "size": "m", + }, + "iconType": "copyClipboard", + "label": , + "onClick": [Function], + "size": "xs", }, - "iconType": "copyClipboard", - "label": , - "onClick": [Function], - "size": "xs", + ], + "showHide": Object { + "iconType": "cross", + "label": "Remove column", }, - ], - "showHide": Object { - "iconType": "cross", - "label": "Remove column", + "showMoveLeft": true, + "showMoveRight": true, }, - "showMoveLeft": true, - "showMoveRight": true, + "cellActions": Array [ + [Function], + ], + "displayAsText": "message", + "id": "message", + "isSortable": false, + "schema": "string", }, - "cellActions": Array [ - [Function], - ], - "displayAsText": "message", - "id": "message", - "isSortable": false, - "schema": "string", - }, - ] - `); + ] + `); }); it('returns eui grid with in memory sorting', async () => { @@ -339,170 +339,170 @@ describe('Discover grid columns', function () { onFilter: () => {}, }); expect(actual).toMatchInlineSnapshot(` - Array [ - Object { - "actions": Object { - "additional": Array [ - Object { - "data-test-subj": "gridCopyColumnNameToClipBoardButton", - "iconProps": Object { - "size": "m", + Array [ + Object { + "actions": Object { + "additional": Array [ + Object { + "data-test-subj": "gridCopyColumnNameToClipBoardButton", + "iconProps": Object { + "size": "m", + }, + "iconType": "copyClipboard", + "label": , + "onClick": [Function], + "size": "xs", }, - "iconType": "copyClipboard", - "label": , - "onClick": [Function], - "size": "xs", - }, - Object { - "data-test-subj": "gridCopyColumnValuesToClipBoardButton", - "iconProps": Object { - "size": "m", + Object { + "data-test-subj": "gridCopyColumnValuesToClipBoardButton", + "iconProps": Object { + "size": "m", + }, + "iconType": "copyClipboard", + "label": , + "onClick": [Function], + "size": "xs", }, - "iconType": "copyClipboard", - "label": , - "onClick": [Function], - "size": "xs", - }, + ], + "showHide": false, + "showMoveLeft": true, + "showMoveRight": true, + }, + "cellActions": Array [ + [Function], + [Function], + [Function], ], - "showHide": false, - "showMoveLeft": true, - "showMoveRight": true, - }, - "cellActions": Array [ - [Function], - [Function], - [Function], - ], - "display":
- - - timestamp - - - - -
, - "displayAsText": "timestamp", - "id": "timestamp", - "initialWidth": 210, - "isSortable": true, - "schema": "datetime", - }, - Object { - "actions": Object { - "additional": Array [ - Object { - "data-test-subj": "gridCopyColumnNameToClipBoardButton", - "iconProps": Object { - "size": "m", + + + timestamp + + + + + , + "displayAsText": "timestamp", + "id": "timestamp", + "initialWidth": 210, + "isSortable": true, + "schema": "datetime", + }, + Object { + "actions": Object { + "additional": Array [ + Object { + "data-test-subj": "gridCopyColumnNameToClipBoardButton", + "iconProps": Object { + "size": "m", + }, + "iconType": "copyClipboard", + "label": , + "onClick": [Function], + "size": "xs", }, - "iconType": "copyClipboard", - "label": , - "onClick": [Function], - "size": "xs", - }, - Object { - "data-test-subj": "gridCopyColumnValuesToClipBoardButton", - "iconProps": Object { - "size": "m", + Object { + "data-test-subj": "gridCopyColumnValuesToClipBoardButton", + "iconProps": Object { + "size": "m", + }, + "iconType": "copyClipboard", + "label": , + "onClick": [Function], + "size": "xs", }, - "iconType": "copyClipboard", - "label": , - "onClick": [Function], - "size": "xs", + ], + "showHide": Object { + "iconType": "cross", + "label": "Remove column", }, - ], - "showHide": Object { - "iconType": "cross", - "label": "Remove column", + "showMoveLeft": true, + "showMoveRight": true, }, - "showMoveLeft": true, - "showMoveRight": true, + "cellActions": Array [ + [Function], + [Function], + [Function], + ], + "displayAsText": "extension", + "id": "extension", + "isSortable": true, + "schema": "string", }, - "cellActions": Array [ - [Function], - [Function], - [Function], - ], - "displayAsText": "extension", - "id": "extension", - "isSortable": true, - "schema": "string", - }, - Object { - "actions": Object { - "additional": Array [ - Object { - "data-test-subj": "gridCopyColumnNameToClipBoardButton", - "iconProps": Object { - "size": "m", + Object { + "actions": Object { + "additional": Array [ + Object { + "data-test-subj": "gridCopyColumnNameToClipBoardButton", + "iconProps": Object { + "size": "m", + }, + "iconType": "copyClipboard", + "label": , + "onClick": [Function], + "size": "xs", }, - "iconType": "copyClipboard", - "label": , - "onClick": [Function], - "size": "xs", - }, - Object { - "data-test-subj": "gridCopyColumnValuesToClipBoardButton", - "iconProps": Object { - "size": "m", + Object { + "data-test-subj": "gridCopyColumnValuesToClipBoardButton", + "iconProps": Object { + "size": "m", + }, + "iconType": "copyClipboard", + "label": , + "onClick": [Function], + "size": "xs", }, - "iconType": "copyClipboard", - "label": , - "onClick": [Function], - "size": "xs", + ], + "showHide": Object { + "iconType": "cross", + "label": "Remove column", }, - ], - "showHide": Object { - "iconType": "cross", - "label": "Remove column", + "showMoveLeft": true, + "showMoveRight": true, }, - "showMoveLeft": true, - "showMoveRight": true, + "cellActions": Array [ + [Function], + ], + "displayAsText": "message", + "id": "message", + "isSortable": true, + "schema": "string", }, - "cellActions": Array [ - [Function], - ], - "displayAsText": "message", - "id": "message", - "isSortable": true, - "schema": "string", - }, - ] - `); + ] + `); }); }); diff --git a/src/plugins/discover/public/components/discover_grid/discover_grid_context.tsx b/src/plugins/discover/public/components/discover_grid/discover_grid_context.tsx index d17c20b858b5d..8ec4689a00178 100644 --- a/src/plugins/discover/public/components/discover_grid/discover_grid_context.tsx +++ b/src/plugins/discover/public/components/discover_grid/discover_grid_context.tsx @@ -8,8 +8,9 @@ import React from 'react'; import type { DataView } from '@kbn/data-views-plugin/public'; +import type { DataTableRecord } from '@kbn/discover-utils/types'; import type { DocViewFilterFn } from '../../services/doc_views/doc_views_types'; -import type { DataTableRecord, ValueToStringConverter } from '../../types'; +import type { ValueToStringConverter } from '../../types'; export interface GridContext { expanded?: DataTableRecord | undefined; diff --git a/src/plugins/discover/public/components/discover_grid/discover_grid_document_selection.test.tsx b/src/plugins/discover/public/components/discover_grid/discover_grid_document_selection.test.tsx index 96bc9082d9e0f..7fda5b74ce550 100644 --- a/src/plugins/discover/public/components/discover_grid/discover_grid_document_selection.test.tsx +++ b/src/plugins/discover/public/components/discover_grid/discover_grid_document_selection.test.tsx @@ -11,7 +11,7 @@ import { findTestSubject } from '@elastic/eui/lib/test'; import { DiscoverGridDocumentToolbarBtn, SelectButton } from './discover_grid_document_selection'; import { discoverGridContextMock } from '../../__mocks__/grid_context'; import { DiscoverGridContext } from './discover_grid_context'; -import { getDocId } from '../../utils/get_doc_id'; +import { getDocId } from '@kbn/discover-utils'; describe('document selection', () => { describe('getDocId', () => { diff --git a/src/plugins/discover/public/components/discover_grid/discover_grid_document_selection.tsx b/src/plugins/discover/public/components/discover_grid/discover_grid_document_selection.tsx index c17ff66ac0806..f14ec323f8ca2 100644 --- a/src/plugins/discover/public/components/discover_grid/discover_grid_document_selection.tsx +++ b/src/plugins/discover/public/components/discover_grid/discover_grid_document_selection.tsx @@ -19,8 +19,8 @@ import { import { FormattedMessage } from '@kbn/i18n-react'; import { euiDarkVars as themeDark, euiLightVars as themeLight } from '@kbn/ui-theme'; import { i18n } from '@kbn/i18n'; +import type { DataTableRecord } from '@kbn/discover-utils/types'; import { DiscoverGridContext } from './discover_grid_context'; -import type { DataTableRecord } from '../../types'; export const SelectButton = ({ rowIndex, setCellProps }: EuiDataGridCellValueElementProps) => { const { selectedDocs, expanded, rows, isDarkMode, setSelectedDocs } = diff --git a/src/plugins/discover/public/components/discover_grid/discover_grid_flyout.test.tsx b/src/plugins/discover/public/components/discover_grid/discover_grid_flyout.test.tsx index 22ed742dd3f94..e42fae3eacd3b 100644 --- a/src/plugins/discover/public/components/discover_grid/discover_grid_flyout.test.tsx +++ b/src/plugins/discover/public/components/discover_grid/discover_grid_flyout.test.tsx @@ -11,17 +11,16 @@ import { findTestSubject } from '@elastic/eui/lib/test'; import { mountWithIntl } from '@kbn/test-jest-helpers'; import type { Query, AggregateQuery } from '@kbn/es-query'; import { DiscoverGridFlyout, DiscoverGridFlyoutProps } from './discover_grid_flyout'; -import { esHits } from '../../__mocks__/es_hits'; import { createFilterManagerMock } from '@kbn/data-plugin/public/query/filter_manager/filter_manager.mock'; -import { dataViewMock } from '../../__mocks__/data_view'; +import { dataViewMock, esHitsMock } from '@kbn/discover-utils/src/__mocks__'; import { DiscoverServices } from '../../build_services'; import { DocViewsRegistry } from '../../services/doc_views/doc_views_registry'; import { setDocViewsRegistry } from '../../kibana_services'; import { dataViewWithTimefieldMock } from '../../__mocks__/data_view_with_timefield'; import { KibanaContextProvider } from '@kbn/kibana-react-plugin/public'; import type { DataView } from '@kbn/data-views-plugin/public'; -import type { DataTableRecord, EsHitRecord } from '../../types'; -import { buildDataTableRecord } from '../../utils/build_data_record'; +import type { DataTableRecord, EsHitRecord } from '@kbn/discover-utils/types'; +import { buildDataTableRecord } from '@kbn/discover-utils'; import { act } from 'react-dom/test-utils'; import { ReactWrapper } from 'enzyme'; @@ -63,7 +62,7 @@ describe('Discover flyout', function () { } as unknown as DiscoverServices; const hit = buildDataTableRecord( - hitIndex ? esHits[hitIndex] : (esHits[0] as EsHitRecord), + hitIndex ? esHitsMock[hitIndex] : (esHitsMock[0] as EsHitRecord), dataViewMock ); @@ -73,7 +72,9 @@ describe('Discover flyout', function () { hit, hits: hits || - esHits.map((entry: EsHitRecord) => buildDataTableRecord(entry, dataView || dataViewMock)), + esHitsMock.map((entry: EsHitRecord) => + buildDataTableRecord(entry, dataView || dataViewMock) + ), query, onAddColumn: jest.fn(), onClose, @@ -166,14 +167,14 @@ describe('Discover flyout', function () { it('doesnt allow you to navigate to the next doc, if expanded doc is the last', async () => { // scenario: you've expanded a doc, and in the next request differed docs where fetched - const { component, props } = await mountComponent({ hitIndex: esHits.length - 1 }); + const { component, props } = await mountComponent({ hitIndex: esHitsMock.length - 1 }); findTestSubject(component, 'pagination-button-next').simulate('click'); expect(props.setExpandedDoc).toHaveBeenCalledTimes(0); }); it('allows you to navigate to the previous doc, if expanded doc is the last', async () => { // scenario: you've expanded a doc, and in the next request differed docs where fetched - const { component, props } = await mountComponent({ hitIndex: esHits.length - 1 }); + const { component, props } = await mountComponent({ hitIndex: esHitsMock.length - 1 }); findTestSubject(component, 'pagination-button-previous').simulate('click'); expect(props.setExpandedDoc).toHaveBeenCalledTimes(1); expect(props.setExpandedDoc.mock.calls[0][0].raw._id).toBe('4'); diff --git a/src/plugins/discover/public/components/discover_grid/discover_grid_flyout.tsx b/src/plugins/discover/public/components/discover_grid/discover_grid_flyout.tsx index b2ff52600793f..f277ad47200ff 100644 --- a/src/plugins/discover/public/components/discover_grid/discover_grid_flyout.tsx +++ b/src/plugins/discover/public/components/discover_grid/discover_grid_flyout.tsx @@ -26,12 +26,12 @@ import { keys, } from '@elastic/eui'; import type { Filter, Query, AggregateQuery } from '@kbn/es-query'; +import type { DataTableRecord } from '@kbn/discover-utils/types'; import { DocViewer } from '../../services/doc_views/components/doc_viewer/doc_viewer'; import { DocViewFilterFn } from '../../services/doc_views/doc_views_types'; import { useNavigationProps } from '../../hooks/use_navigation_props'; import { useDiscoverServices } from '../../hooks/use_discover_services'; import { isTextBasedQuery } from '../../application/main/utils/is_text_based_query'; -import type { DataTableRecord } from '../../types'; export interface DiscoverGridFlyoutProps { savedSearchId?: string; diff --git a/src/plugins/discover/public/components/discover_grid/get_render_cell_value.test.tsx b/src/plugins/discover/public/components/discover_grid/get_render_cell_value.test.tsx index 192a8c80f4ed1..229c730ea9dbd 100644 --- a/src/plugins/discover/public/components/discover_grid/get_render_cell_value.test.tsx +++ b/src/plugins/discover/public/components/discover_grid/get_render_cell_value.test.tsx @@ -12,10 +12,10 @@ import { shallow } from 'enzyme'; import { findTestSubject } from '@elastic/eui/lib/test'; import { mountWithIntl } from '@kbn/test-jest-helpers'; import { getRenderCellValueFn } from './get_render_cell_value'; -import { dataViewMock } from '../../__mocks__/data_view'; +import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; import { KibanaContextProvider } from '@kbn/kibana-react-plugin/public'; -import { buildDataTableRecord } from '../../utils/build_data_record'; -import { EsHitRecord } from '../../types'; +import { buildDataTableRecord } from '@kbn/discover-utils'; +import type { EsHitRecord } from '@kbn/discover-utils/types'; const mockServices = { settings: { diff --git a/src/plugins/discover/public/components/discover_grid/get_render_cell_value.tsx b/src/plugins/discover/public/components/discover_grid/get_render_cell_value.tsx index bfea84e45dd6b..4478ee868ee3a 100644 --- a/src/plugins/discover/public/components/discover_grid/get_render_cell_value.tsx +++ b/src/plugins/discover/public/components/discover_grid/get_render_cell_value.tsx @@ -21,12 +21,12 @@ import { EuiFlexItem, } from '@elastic/eui'; import { FieldFormatsStart } from '@kbn/field-formats-plugin/public'; +import type { DataTableRecord, EsHitRecord } from '@kbn/discover-utils/types'; import { DiscoverGridContext } from './discover_grid_context'; import { JsonCodeEditor } from '../json_code_editor/json_code_editor'; import { defaultMonacoEditorWidth } from './constants'; import { formatFieldValue } from '../../utils/format_value'; import { formatHit } from '../../utils/format_hit'; -import { DataTableRecord, EsHitRecord } from '../../types'; import { useDiscoverServices } from '../../hooks/use_discover_services'; import { MAX_DOC_FIELDS_DISPLAYED } from '../../../common'; import { type ShouldShowFieldInTableHandler } from '../../utils/get_should_show_field_handler'; diff --git a/src/plugins/discover/public/components/doc_table/actions/columns.test.ts b/src/plugins/discover/public/components/doc_table/actions/columns.test.ts index cf7d681f39c26..c95ff0d8d7252 100644 --- a/src/plugins/discover/public/components/doc_table/actions/columns.test.ts +++ b/src/plugins/discover/public/components/doc_table/actions/columns.test.ts @@ -8,7 +8,7 @@ import { getStateColumnActions } from './columns'; import { configMock } from '../../../__mocks__/config'; -import { dataViewMock } from '../../../__mocks__/data_view'; +import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; import { dataViewsMock } from '../../../__mocks__/data_views'; import { Capabilities } from '@kbn/core/types'; import { DiscoverAppState } from '../../../application/main/services/discover_app_state_container'; diff --git a/src/plugins/discover/public/components/doc_table/components/table_row.test.tsx b/src/plugins/discover/public/components/doc_table/components/table_row.test.tsx index d6a94a5e766f0..b82166494538c 100644 --- a/src/plugins/discover/public/components/doc_table/components/table_row.test.tsx +++ b/src/plugins/discover/public/components/doc_table/components/table_row.test.tsx @@ -18,8 +18,8 @@ import { discoverServiceMock } from '../../../__mocks__/services'; import { DocViewer } from '../../../services/doc_views/components/doc_viewer'; import { DOC_HIDE_TIME_COLUMN_SETTING, MAX_DOC_FIELDS_DISPLAYED } from '../../../../common'; -import { buildDataTableRecord } from '../../../utils/build_data_record'; -import { EsHitRecord } from '../../../types'; +import { buildDataTableRecord } from '@kbn/discover-utils'; +import type { EsHitRecord } from '@kbn/discover-utils/types'; jest.mock('../utils/row_formatter', () => { const originalModule = jest.requireActual('../utils/row_formatter'); diff --git a/src/plugins/discover/public/components/doc_table/components/table_row.tsx b/src/plugins/discover/public/components/doc_table/components/table_row.tsx index fe1dd59e825b5..5c42130e39647 100644 --- a/src/plugins/discover/public/components/doc_table/components/table_row.tsx +++ b/src/plugins/discover/public/components/doc_table/components/table_row.tsx @@ -12,12 +12,12 @@ import { i18n } from '@kbn/i18n'; import { EuiButtonEmpty, EuiIcon } from '@elastic/eui'; import { DataView } from '@kbn/data-views-plugin/public'; import { Filter } from '@kbn/es-query'; +import type { DataTableRecord, EsHitRecord } from '@kbn/discover-utils/types'; import { formatFieldValue } from '../../../utils/format_value'; import { DocViewRenderProps } from '../../../services/doc_views/doc_views_types'; import { TableCell } from './table_row/table_cell'; import { formatRow, formatTopLevelObject } from '../utils/row_formatter'; import { DocViewFilterFn } from '../../../services/doc_views/doc_views_types'; -import { DataTableRecord, EsHitRecord } from '../../../types'; import { TableRowDetails } from './table_row_details'; import { useDiscoverServices } from '../../../hooks/use_discover_services'; import { DOC_HIDE_TIME_COLUMN_SETTING, MAX_DOC_FIELDS_DISPLAYED } from '../../../../common'; diff --git a/src/plugins/discover/public/components/doc_table/doc_table_wrapper.test.tsx b/src/plugins/discover/public/components/doc_table/doc_table_wrapper.test.tsx index a111476fce9f5..2f05c0c2b357d 100644 --- a/src/plugins/discover/public/components/doc_table/doc_table_wrapper.test.tsx +++ b/src/plugins/discover/public/components/doc_table/doc_table_wrapper.test.tsx @@ -9,12 +9,12 @@ import React from 'react'; import { EuiIcon, EuiLoadingSpinner } from '@elastic/eui'; import { findTestSubject, mountWithIntl } from '@kbn/test-jest-helpers'; -import { dataViewMock } from '../../__mocks__/data_view'; +import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; import { DocTableWrapper, DocTableWrapperProps } from './doc_table_wrapper'; import { discoverServiceMock } from '../../__mocks__/services'; import { KibanaContextProvider } from '@kbn/kibana-react-plugin/public'; -import { buildDataTableRecord } from '../../utils/build_data_record'; -import { EsHitRecord } from '../../types'; +import { buildDataTableRecord } from '@kbn/discover-utils'; +import type { EsHitRecord } from '@kbn/discover-utils/types'; import { DocViewer } from '../../services/doc_views/components/doc_viewer'; describe('Doc table component', () => { diff --git a/src/plugins/discover/public/components/doc_table/doc_table_wrapper.tsx b/src/plugins/discover/public/components/doc_table/doc_table_wrapper.tsx index b824a70ceb862..bc4a2768028ee 100644 --- a/src/plugins/discover/public/components/doc_table/doc_table_wrapper.tsx +++ b/src/plugins/discover/public/components/doc_table/doc_table_wrapper.tsx @@ -12,13 +12,13 @@ import type { DataView, DataViewField } from '@kbn/data-views-plugin/public'; import type { SortOrder } from '@kbn/saved-search-plugin/public'; import { FormattedMessage } from '@kbn/i18n-react'; import { Filter } from '@kbn/es-query'; +import type { DataTableRecord } from '@kbn/discover-utils/types'; import { TableHeader } from './components/table_header/table_header'; import { SHOW_MULTIFIELDS } from '../../../common'; import { TableRow } from './components/table_row'; import { DocViewFilterFn, DocViewRenderProps } from '../../services/doc_views/doc_views_types'; import { getShouldShowFieldHandler } from '../../utils/get_should_show_field_handler'; import { useDiscoverServices } from '../../hooks/use_discover_services'; -import type { DataTableRecord } from '../../types'; export interface DocTableProps { /** diff --git a/src/plugins/discover/public/components/doc_table/utils/row_formatter.test.ts b/src/plugins/discover/public/components/doc_table/utils/row_formatter.test.ts index 51698ebb03f32..e1ff381ae7b29 100644 --- a/src/plugins/discover/public/components/doc_table/utils/row_formatter.test.ts +++ b/src/plugins/discover/public/components/doc_table/utils/row_formatter.test.ts @@ -12,7 +12,7 @@ import { DataView } from '@kbn/data-views-plugin/public'; import { fieldFormatsMock } from '@kbn/field-formats-plugin/common/mocks'; import { DiscoverServices } from '../../../build_services'; import { stubbedSavedObjectIndexPattern } from '@kbn/data-plugin/common/stubs'; -import { buildDataTableRecord } from '../../../utils/build_data_record'; +import { buildDataTableRecord } from '@kbn/discover-utils'; describe('Row formatter', () => { let services: DiscoverServices; diff --git a/src/plugins/discover/public/components/doc_table/utils/row_formatter.tsx b/src/plugins/discover/public/components/doc_table/utils/row_formatter.tsx index 8efbd895aa159..6131c4e3204fc 100644 --- a/src/plugins/discover/public/components/doc_table/utils/row_formatter.tsx +++ b/src/plugins/discover/public/components/doc_table/utils/row_formatter.tsx @@ -9,8 +9,8 @@ import React, { Fragment } from 'react'; import type { DataView } from '@kbn/data-views-plugin/public'; import { FieldFormatsStart } from '@kbn/field-formats-plugin/public'; +import type { DataTableRecord } from '@kbn/discover-utils/types'; import { formatHit } from '../../../utils/format_hit'; -import type { DataTableRecord } from '../../../types'; import './row_formatter.scss'; import { type ShouldShowFieldInTableHandler } from '../../../utils/get_should_show_field_handler'; diff --git a/src/plugins/discover/public/embeddable/saved_search_embeddable.test.ts b/src/plugins/discover/public/embeddable/saved_search_embeddable.test.ts index dd66cf80eb8b5..6f27a11e149ed 100644 --- a/src/plugins/discover/public/embeddable/saved_search_embeddable.test.ts +++ b/src/plugins/discover/public/embeddable/saved_search_embeddable.test.ts @@ -22,7 +22,7 @@ import { SHOW_FIELD_STATISTICS } from '../../common'; import { IUiSettingsClient } from '@kbn/core-ui-settings-browser'; import { SavedSearchEmbeddableComponent } from './saved_search_embeddable_component'; import { VIEW_MODE } from '../../common/constants'; -import { buildDataViewMock, deepMockedFields } from '../__mocks__/data_view'; +import { buildDataViewMock, deepMockedFields } from '@kbn/discover-utils/src/__mocks__'; let discoverComponent: ReactWrapper; diff --git a/src/plugins/discover/public/embeddable/saved_search_embeddable.tsx b/src/plugins/discover/public/embeddable/saved_search_embeddable.tsx index e0d80e05bc969..5f1a145eba243 100644 --- a/src/plugins/discover/public/embeddable/saved_search_embeddable.tsx +++ b/src/plugins/discover/public/embeddable/saved_search_embeddable.tsx @@ -36,10 +36,10 @@ import { KibanaContextProvider, KibanaThemeProvider } from '@kbn/kibana-react-pl import { SavedSearch } from '@kbn/saved-search-plugin/public'; import { METRIC_TYPE } from '@kbn/analytics'; import { CellActionsProvider } from '@kbn/cell-actions'; +import { buildDataTableRecord } from '@kbn/discover-utils'; +import type { DataTableRecord, EsHitRecord } from '@kbn/discover-utils/types'; import { VIEW_MODE } from '../../common/constants'; import { getSortForEmbeddable, SortPair } from '../utils/sorting'; -import { buildDataTableRecord } from '../utils/build_data_record'; -import { DataTableRecord, EsHitRecord } from '../types'; import { ISearchEmbeddable, SearchInput, SearchOutput } from './types'; import { SEARCH_EMBEDDABLE_TYPE, SEARCH_EMBEDDABLE_CELL_ACTIONS_TRIGGER_ID } from './constants'; import { DiscoverServices } from '../build_services'; diff --git a/src/plugins/discover/public/embeddable/saved_search_grid.tsx b/src/plugins/discover/public/embeddable/saved_search_grid.tsx index 8428d6a488fbc..075a3ca930235 100644 --- a/src/plugins/discover/public/embeddable/saved_search_grid.tsx +++ b/src/plugins/discover/public/embeddable/saved_search_grid.tsx @@ -6,7 +6,7 @@ * Side Public License, v 1. */ import React, { useState, memo } from 'react'; -import { DataTableRecord } from '../types'; +import type { DataTableRecord } from '@kbn/discover-utils/types'; import { DiscoverGrid, DiscoverGridProps } from '../components/discover_grid/discover_grid'; import './saved_search_grid.scss'; import { DiscoverGridFlyout } from '../components/discover_grid/discover_grid_flyout'; diff --git a/src/plugins/discover/public/embeddable/search_embeddable_factory.test.ts b/src/plugins/discover/public/embeddable/search_embeddable_factory.test.ts index 09d851e329767..54a2dad5607a7 100644 --- a/src/plugins/discover/public/embeddable/search_embeddable_factory.test.ts +++ b/src/plugins/discover/public/embeddable/search_embeddable_factory.test.ts @@ -9,7 +9,7 @@ import { discoverServiceMock } from '../__mocks__/services'; import { SearchEmbeddableFactory, type StartServices } from './search_embeddable_factory'; import { createSearchSourceMock } from '@kbn/data-plugin/public/mocks'; -import { dataViewMock } from '../__mocks__/data_view'; +import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; import { ErrorEmbeddable } from '@kbn/embeddable-plugin/public'; jest.mock('@kbn/embeddable-plugin/public', () => { diff --git a/src/plugins/discover/public/embeddable/utils/update_search_source.test.ts b/src/plugins/discover/public/embeddable/utils/update_search_source.test.ts index 779fcfffde778..a93aff8af091d 100644 --- a/src/plugins/discover/public/embeddable/utils/update_search_source.test.ts +++ b/src/plugins/discover/public/embeddable/utils/update_search_source.test.ts @@ -7,7 +7,7 @@ */ import { createSearchSourceMock } from '@kbn/data-plugin/common/search/search_source/mocks'; import { updateSearchSource } from './update_search_source'; -import { dataViewMock } from '../../__mocks__/data_view'; +import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; import type { SortOrder } from '@kbn/saved-search-plugin/public'; describe('updateSearchSource', () => { diff --git a/src/plugins/discover/public/hooks/use_data_grid_columns.test.tsx b/src/plugins/discover/public/hooks/use_data_grid_columns.test.tsx index 80e861ea99c42..4a1874ec8e940 100644 --- a/src/plugins/discover/public/hooks/use_data_grid_columns.test.tsx +++ b/src/plugins/discover/public/hooks/use_data_grid_columns.test.tsx @@ -8,7 +8,7 @@ import { renderHook } from '@testing-library/react-hooks'; import { useColumns } from './use_data_grid_columns'; -import { dataViewMock } from '../__mocks__/data_view'; +import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; import { configMock } from '../__mocks__/config'; import { dataViewsMock } from '../__mocks__/data_views'; import { Capabilities } from '@kbn/core/types'; diff --git a/src/plugins/discover/public/hooks/use_es_doc_search.test.tsx b/src/plugins/discover/public/hooks/use_es_doc_search.test.tsx index f095ae8bc3a24..60f2eed7acdca 100644 --- a/src/plugins/discover/public/hooks/use_es_doc_search.test.tsx +++ b/src/plugins/discover/public/hooks/use_es_doc_search.test.tsx @@ -15,7 +15,7 @@ import { ElasticRequestState } from '../application/doc/types'; import { SEARCH_FIELDS_FROM_SOURCE as mockSearchFieldsFromSource } from '../../common'; import { KibanaContextProvider } from '@kbn/kibana-react-plugin/public'; import React from 'react'; -import { buildDataTableRecord } from '../utils/build_data_record'; +import { buildDataTableRecord } from '@kbn/discover-utils'; const index = 'test-index'; const mockSearchResult = new Subject(); diff --git a/src/plugins/discover/public/hooks/use_es_doc_search.ts b/src/plugins/discover/public/hooks/use_es_doc_search.ts index d4d810a2f24e4..c78ee2cd0041f 100644 --- a/src/plugins/discover/public/hooks/use_es_doc_search.ts +++ b/src/plugins/discover/public/hooks/use_es_doc_search.ts @@ -11,8 +11,8 @@ import type * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; import { lastValueFrom } from 'rxjs'; import { DataView } from '@kbn/data-views-plugin/public'; import { reportPerformanceMetricEvent } from '@kbn/ebt-tools'; -import { buildDataTableRecord } from '../utils/build_data_record'; -import { DataTableRecord } from '../types'; +import { buildDataTableRecord } from '@kbn/discover-utils'; +import type { DataTableRecord } from '@kbn/discover-utils/types'; import { DocProps } from '../application/doc/components/doc'; import { ElasticRequestState } from '../application/doc/types'; import { SEARCH_FIELDS_FROM_SOURCE } from '../../common'; diff --git a/src/plugins/discover/public/services/doc_views/components/doc_viewer/doc_viewer.test.tsx b/src/plugins/discover/public/services/doc_views/components/doc_viewer/doc_viewer.test.tsx index 41d483cb667c8..c7c659c6f84d8 100644 --- a/src/plugins/discover/public/services/doc_views/components/doc_viewer/doc_viewer.test.tsx +++ b/src/plugins/discover/public/services/doc_views/components/doc_viewer/doc_viewer.test.tsx @@ -12,7 +12,7 @@ import { DocViewer } from './doc_viewer'; import { findTestSubject } from '@elastic/eui/lib/test'; import { getDocViewsRegistry } from '../../../../kibana_services'; import { DocViewRenderProps } from '../../doc_views_types'; -import { buildDataTableRecord } from '../../../../utils/build_data_record'; +import { buildDataTableRecord } from '@kbn/discover-utils'; jest.mock('../../../../kibana_services', () => { // eslint-disable-next-line @typescript-eslint/no-explicit-any diff --git a/src/plugins/discover/public/services/doc_views/components/doc_viewer/doc_viewer_tab.test.tsx b/src/plugins/discover/public/services/doc_views/components/doc_viewer/doc_viewer_tab.test.tsx index 3702bcd1b1669..f48487aa5d5d7 100644 --- a/src/plugins/discover/public/services/doc_views/components/doc_viewer/doc_viewer_tab.test.tsx +++ b/src/plugins/discover/public/services/doc_views/components/doc_viewer/doc_viewer_tab.test.tsx @@ -9,8 +9,8 @@ import React from 'react'; import { shallow } from 'enzyme'; import { DocViewerTab } from './doc_viewer_tab'; -import { dataViewMock } from '../../../../__mocks__/data_view'; -import { buildDataTableRecord } from '../../../../utils/build_data_record'; +import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; +import { buildDataTableRecord } from '@kbn/discover-utils'; describe('DocViewerTab', () => { test('changing columns triggers an update', () => { diff --git a/src/plugins/discover/public/services/doc_views/components/doc_viewer_source/source.test.tsx b/src/plugins/discover/public/services/doc_views/components/doc_viewer_source/source.test.tsx index c76392924e15a..03853ba6b8d9e 100644 --- a/src/plugins/discover/public/services/doc_views/components/doc_viewer_source/source.test.tsx +++ b/src/plugins/discover/public/services/doc_views/components/doc_viewer_source/source.test.tsx @@ -15,7 +15,7 @@ import * as useUiSettingHook from '@kbn/kibana-react-plugin/public/ui_settings/u import { EuiButton, EuiEmptyPrompt, EuiLoadingSpinner } from '@elastic/eui'; import { JsonCodeEditorCommon } from '../../../../components/json_code_editor/json_code_editor_common'; import { KibanaContextProvider } from '@kbn/kibana-react-plugin/public'; -import { buildDataTableRecord } from '../../../../utils/build_data_record'; +import { buildDataTableRecord } from '@kbn/discover-utils'; import { of } from 'rxjs'; const mockDataView = { diff --git a/src/plugins/discover/public/services/doc_views/components/doc_viewer_source/source.tsx b/src/plugins/discover/public/services/doc_views/components/doc_viewer_source/source.tsx index 7a28934dab424..4ea6a0ff1ace8 100644 --- a/src/plugins/discover/public/services/doc_views/components/doc_viewer_source/source.tsx +++ b/src/plugins/discover/public/services/doc_views/components/doc_viewer_source/source.tsx @@ -13,10 +13,10 @@ import { monaco } from '@kbn/monaco'; import { EuiButton, EuiEmptyPrompt, EuiLoadingSpinner, EuiSpacer, EuiText } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; import { DataView } from '@kbn/data-views-plugin/public'; +import type { DataTableRecord } from '@kbn/discover-utils/types'; import { useDiscoverServices } from '../../../../hooks/use_discover_services'; import { JSONCodeEditorCommonMemoized } from '../../../../components/json_code_editor/json_code_editor_common'; import { DOC_TABLE_LEGACY, SEARCH_FIELDS_FROM_SOURCE } from '../../../../../common'; -import type { DataTableRecord } from '../../../../types'; import { useEsDocSearch } from '../../../../hooks/use_es_doc_search'; import { ElasticRequestState } from '../../../../application/doc/types'; import { getHeight } from './get_height'; diff --git a/src/plugins/discover/public/services/doc_views/components/doc_viewer_table/legacy/table.test.tsx b/src/plugins/discover/public/services/doc_views/components/doc_viewer_table/legacy/table.test.tsx index 30792619f58c2..45dbe65ba8f81 100644 --- a/src/plugins/discover/public/services/doc_views/components/doc_viewer_table/legacy/table.test.tsx +++ b/src/plugins/discover/public/services/doc_views/components/doc_viewer_table/legacy/table.test.tsx @@ -14,7 +14,7 @@ import { DataView } from '@kbn/data-views-plugin/public'; import { DocViewRenderProps } from '../../../doc_views_types'; import { KibanaContextProvider } from '@kbn/kibana-react-plugin/public'; import { DiscoverServices } from '../../../../../build_services'; -import { buildDataTableRecord } from '../../../../../utils/build_data_record'; +import { buildDataTableRecord } from '@kbn/discover-utils'; const services = { uiSettings: { diff --git a/src/plugins/discover/public/services/doc_views/doc_views_registry.ts b/src/plugins/discover/public/services/doc_views/doc_views_registry.ts index d6bf89c5fef70..9b6f9d2490d80 100644 --- a/src/plugins/discover/public/services/doc_views/doc_views_registry.ts +++ b/src/plugins/discover/public/services/doc_views/doc_views_registry.ts @@ -6,8 +6,8 @@ * Side Public License, v 1. */ +import type { DataTableRecord } from '@kbn/discover-utils/types'; import { DocView, DocViewInput, DocViewInputFn } from './doc_views_types'; -import { DataTableRecord } from '../../types'; export class DocViewsRegistry { private docViews: DocView[] = []; diff --git a/src/plugins/discover/public/services/doc_views/doc_views_types.ts b/src/plugins/discover/public/services/doc_views/doc_views_types.ts index c91285e144b38..ca6678620f29a 100644 --- a/src/plugins/discover/public/services/doc_views/doc_views_types.ts +++ b/src/plugins/discover/public/services/doc_views/doc_views_types.ts @@ -8,7 +8,7 @@ import { DataView, DataViewField } from '@kbn/data-views-plugin/public'; import type { AggregateQuery, Query } from '@kbn/es-query'; -import { DataTableRecord } from '../../types'; +import type { DataTableRecord } from '@kbn/discover-utils/types'; import { IgnoredReason } from '../../utils/get_ignored_reason'; export interface FieldMapping { diff --git a/src/plugins/discover/public/types.ts b/src/plugins/discover/public/types.ts index a0fe48fcc574b..6f3faba1aa2a4 100644 --- a/src/plugins/discover/public/types.ts +++ b/src/plugins/discover/public/types.ts @@ -6,8 +6,8 @@ * Side Public License, v 1. */ -import * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; import { type DatatableColumn } from '@kbn/expressions-plugin/common'; +import type { DataTableRecord } from '@kbn/discover-utils/types'; export type ValueToStringConverter = ( rowIndex: number, @@ -15,31 +15,6 @@ export type ValueToStringConverter = ( options?: { compatibleWithCSV?: boolean } ) => { formattedString: string; withFormula: boolean }; -export interface EsHitRecord extends Omit { - _source?: Record; -} -/** - * This is the record/row of data provided to our Data Table - */ -export interface DataTableRecord { - /** - * A unique id generated by index, id and routing of a record - */ - id: string; - /** - * The document returned by Elasticsearch for search queries - */ - raw: EsHitRecord; - /** - * A flattened version of the ES doc or data provided by SQL, aggregations ... - */ - flattened: Record; - /** - * Determines that the given doc is the anchor doc when rendering view surrounding docs - */ - isAnchor?: boolean; -} - export interface RecordsFetchResponse { records: DataTableRecord[]; textBasedQueryColumns?: DatatableColumn[]; diff --git a/src/plugins/discover/public/utils/columns.test.ts b/src/plugins/discover/public/utils/columns.test.ts index 4ad021e89ed0b..5ef7d8fea450f 100644 --- a/src/plugins/discover/public/utils/columns.test.ts +++ b/src/plugins/discover/public/utils/columns.test.ts @@ -8,7 +8,7 @@ import { getDisplayedColumns } from './columns'; import { dataViewWithTimefieldMock } from '../__mocks__/data_view_with_timefield'; -import { dataViewMock } from '../__mocks__/data_view'; +import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; describe('getDisplayedColumns', () => { test('returns default columns given a data view without timefield', async () => { diff --git a/src/plugins/discover/public/utils/convert_value_to_string.ts b/src/plugins/discover/public/utils/convert_value_to_string.ts index f310ba35bf1c0..2a082a88047af 100644 --- a/src/plugins/discover/public/utils/convert_value_to_string.ts +++ b/src/plugins/discover/public/utils/convert_value_to_string.ts @@ -9,8 +9,8 @@ import { DataView } from '@kbn/data-views-plugin/public'; import { cellHasFormulas, createEscapeValue } from '@kbn/data-plugin/common'; import { FieldFormatsStart } from '@kbn/field-formats-plugin/public'; +import type { DataTableRecord } from '@kbn/discover-utils/types'; import { formatFieldValue } from './format_value'; -import { DataTableRecord } from '../types'; interface ConvertedResult { formattedString: string; diff --git a/src/plugins/discover/public/utils/format_hit.test.ts b/src/plugins/discover/public/utils/format_hit.test.ts index 244c312903e21..bccd80eedcd0f 100644 --- a/src/plugins/discover/public/utils/format_hit.test.ts +++ b/src/plugins/discover/public/utils/format_hit.test.ts @@ -6,11 +6,11 @@ * Side Public License, v 1. */ -import { dataViewMock as dataViewMock } from '../__mocks__/data_view'; +import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; import { formatHit } from './format_hit'; import { discoverServiceMock } from '../__mocks__/services'; -import { DataTableRecord, EsHitRecord } from '../types'; -import { buildDataTableRecord } from './build_data_record'; +import type { DataTableRecord, EsHitRecord } from '@kbn/discover-utils/types'; +import { buildDataTableRecord } from '@kbn/discover-utils'; describe('formatHit', () => { let row: DataTableRecord; diff --git a/src/plugins/discover/public/utils/format_hit.ts b/src/plugins/discover/public/utils/format_hit.ts index 4b4537d5cfc98..c60ac43b4293e 100644 --- a/src/plugins/discover/public/utils/format_hit.ts +++ b/src/plugins/discover/public/utils/format_hit.ts @@ -10,7 +10,7 @@ import type * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; import { i18n } from '@kbn/i18n'; import { FieldFormatsStart } from '@kbn/field-formats-plugin/public'; import { DataView } from '@kbn/data-views-plugin/public'; -import { DataTableRecord } from '../types'; +import type { DataTableRecord } from '@kbn/discover-utils/types'; import { formatFieldValue } from './format_value'; import { type ShouldShowFieldInTableHandler } from './get_should_show_field_handler'; diff --git a/src/plugins/discover/public/utils/format_value.test.ts b/src/plugins/discover/public/utils/format_value.test.ts index 3b139feb08c4e..d70f5f505b42a 100644 --- a/src/plugins/discover/public/utils/format_value.test.ts +++ b/src/plugins/discover/public/utils/format_value.test.ts @@ -8,7 +8,7 @@ import { FieldFormatsStart } from '@kbn/field-formats-plugin/public'; import type { FieldFormat } from '@kbn/field-formats-plugin/common'; -import { dataViewMock } from '../__mocks__/data_view'; +import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; import { formatFieldValue } from './format_value'; const services = { diff --git a/src/plugins/discover/public/utils/get_field_capabilities.test.ts b/src/plugins/discover/public/utils/get_field_capabilities.test.ts index c613b8045db1c..f839e98210d80 100644 --- a/src/plugins/discover/public/utils/get_field_capabilities.test.ts +++ b/src/plugins/discover/public/utils/get_field_capabilities.test.ts @@ -7,7 +7,7 @@ */ import { DataViewField } from '@kbn/data-views-plugin/common'; -import { buildDataViewMock } from '../__mocks__/data_view'; +import { buildDataViewMock } from '@kbn/discover-utils/src/__mocks__'; import { getFieldCapabilities } from './get_field_capabilities'; import { DataView } from '@kbn/data-views-plugin/public'; diff --git a/src/plugins/discover/public/utils/get_sharing_data.test.ts b/src/plugins/discover/public/utils/get_sharing_data.test.ts index ef707d70d9515..75d3204dfab5c 100644 --- a/src/plugins/discover/public/utils/get_sharing_data.test.ts +++ b/src/plugins/discover/public/utils/get_sharing_data.test.ts @@ -16,7 +16,7 @@ import { SORT_DEFAULT_ORDER_SETTING, SEARCH_FIELDS_FROM_SOURCE, } from '../../common'; -import { dataViewMock } from '../__mocks__/data_view'; +import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; import { getSharingData, showPublicUrlSwitch } from './get_sharing_data'; describe('getSharingData', () => { diff --git a/src/plugins/discover/tsconfig.json b/src/plugins/discover/tsconfig.json index 7bc42a8aeacd7..3b2903f686079 100644 --- a/src/plugins/discover/tsconfig.json +++ b/src/plugins/discover/tsconfig.json @@ -55,6 +55,7 @@ "@kbn/unified-field-list", "@kbn/core-saved-objects-api-server", "@kbn/cell-actions", + "@kbn/discover-utils", ], "exclude": [ "target/**/*", diff --git a/src/plugins/event_annotation/public/components/table_list.tsx b/src/plugins/event_annotation/public/components/table_list.tsx index afc94b11e8fc6..2e172c4a9daed 100644 --- a/src/plugins/event_annotation/public/components/table_list.tsx +++ b/src/plugins/event_annotation/public/components/table_list.tsx @@ -77,8 +77,8 @@ export const EventAnnotationGroupTableList = ({ const [refreshListBouncer, setRefreshListBouncer] = useState(false); const refreshList = useCallback(() => { - setRefreshListBouncer(!refreshListBouncer); - }, [refreshListBouncer]); + setRefreshListBouncer((prev) => !prev); + }, []); const fetchItems = useCallback( ( diff --git a/src/plugins/guided_onboarding/public/components/guide_panel.test.tsx b/src/plugins/guided_onboarding/public/components/guide_panel.test.tsx index 42440cd2587b2..04c6547fc8d9b 100644 --- a/src/plugins/guided_onboarding/public/components/guide_panel.test.tsx +++ b/src/plugins/guided_onboarding/public/components/guide_panel.test.tsx @@ -8,6 +8,8 @@ import { act } from 'react-dom/test-utils'; import React from 'react'; +import { BehaviorSubject } from 'rxjs'; +import { CoreTheme } from '@kbn/core/public'; import { applicationServiceMock } from '@kbn/core-application-browser-mocks'; import { notificationServiceMock } from '@kbn/core-notifications-browser-mocks'; @@ -31,15 +33,10 @@ import { mockPluginStateInProgress, } from '../services/api.mocks'; import { GuidePanel } from './guide_panel'; -import { IUiSettingsClient } from '@kbn/core/public'; const applicationMock = applicationServiceMock.createStartContract(); const notificationsMock = notificationServiceMock.createStartContract(); -const uiSettingsMock = { - get: jest.fn(), -} as unknown as IUiSettingsClient; - const mockGetResponse = (path: string, pluginState: PluginState) => { if (path === `${API_BASE_PATH}/configs/${testGuideId}`) { return Promise.resolve({ @@ -60,13 +57,14 @@ const setupComponentWithPluginStateMock = async ( }; const setupGuidePanelComponent = async (api: GuidedOnboardingApi) => { + const coreTheme$ = new BehaviorSubject({ darkMode: true }); let testBed: TestBed; const GuidePanelComponent = () => ( ); await act(async () => { diff --git a/src/plugins/guided_onboarding/public/components/guide_panel.tsx b/src/plugins/guided_onboarding/public/components/guide_panel.tsx index a87b006eb55eb..ca866056c9f7c 100644 --- a/src/plugins/guided_onboarding/public/components/guide_panel.tsx +++ b/src/plugins/guided_onboarding/public/components/guide_panel.tsx @@ -7,11 +7,14 @@ */ import React, { useState, useEffect, useCallback } from 'react'; +import useObservable from 'react-use/lib/useObservable'; +import type { Observable } from 'rxjs'; + import { useEuiTheme } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; -import { ApplicationStart, NotificationsStart, IUiSettingsClient } from '@kbn/core/public'; +import { ApplicationStart, CoreTheme, NotificationsStart } from '@kbn/core/public'; import type { GuideState, GuideStep as GuideStepStatus } from '@kbn/guided-onboarding'; import type { GuideId, GuideConfig, StepConfig } from '@kbn/guided-onboarding'; @@ -30,7 +33,7 @@ interface GuidePanelProps { api: GuidedOnboardingApi; application: ApplicationStart; notifications: NotificationsStart; - uiSettings: IUiSettingsClient; + theme$: Observable; } const getProgress = (state?: GuideState): number => { @@ -45,7 +48,7 @@ const getProgress = (state?: GuideState): number => { return 0; }; -export const GuidePanel = ({ api, application, notifications, uiSettings }: GuidePanelProps) => { +export const GuidePanel = ({ api, application, notifications, theme$ }: GuidePanelProps) => { const euiThemeContext = useEuiTheme(); const euiTheme = euiThemeContext.euiTheme; const [isGuideOpen, setIsGuideOpen] = useState(false); @@ -53,8 +56,8 @@ export const GuidePanel = ({ api, application, notifications, uiSettings }: Guid const [pluginState, setPluginState] = useState(undefined); const [guideConfig, setGuideConfig] = useState(undefined); const [isLoading, setIsLoading] = useState(false); + const { darkMode: isDarkTheme } = useObservable(theme$, { darkMode: false }); - const isDarkTheme = uiSettings.get('theme:darkMode'); const styles = getGuidePanelStyles({ euiThemeContext, isDarkTheme }); const toggleGuide = () => { diff --git a/src/plugins/guided_onboarding/public/plugin.tsx b/src/plugins/guided_onboarding/public/plugin.tsx index 8f37552ae53de..b91056b0041e1 100755 --- a/src/plugins/guided_onboarding/public/plugin.tsx +++ b/src/plugins/guided_onboarding/public/plugin.tsx @@ -17,7 +17,6 @@ import { CoreTheme, ApplicationStart, NotificationsStart, - IUiSettingsClient, } from '@kbn/core/public'; import { KibanaThemeProvider } from '@kbn/kibana-react-plugin/public'; @@ -43,7 +42,7 @@ export class GuidedOnboardingPlugin core: CoreStart, { cloud }: AppPluginStartDependencies ): GuidedOnboardingPluginStart { - const { chrome, http, theme, application, notifications, uiSettings } = core; + const { chrome, http, theme, application, notifications } = core; // Guided onboarding UI is only available on cloud and if the access to the Kibana feature is granted const isEnabled = !!(cloud?.isCloudEnabled && application.capabilities[PLUGIN_FEATURE].enabled); @@ -60,7 +59,6 @@ export class GuidedOnboardingPlugin api: apiService, application, notifications, - uiSettings, }), }); } @@ -79,14 +77,12 @@ export class GuidedOnboardingPlugin api, application, notifications, - uiSettings, }: { targetDomElement: HTMLElement; theme$: Rx.Observable; api: ApiService; application: ApplicationStart; notifications: NotificationsStart; - uiSettings: IUiSettingsClient; }) { ReactDOM.render( @@ -95,7 +91,7 @@ export class GuidedOnboardingPlugin api={api} application={application} notifications={notifications} - uiSettings={uiSettings} + theme$={theme$} /> , diff --git a/src/plugins/unified_search/public/query_string_input/query_bar_menu_panels.tsx b/src/plugins/unified_search/public/query_string_input/query_bar_menu_panels.tsx index 4479be2c9281b..b55377d618b3d 100644 --- a/src/plugins/unified_search/public/query_string_input/query_bar_menu_panels.tsx +++ b/src/plugins/unified_search/public/query_string_input/query_bar_menu_panels.tsx @@ -28,7 +28,11 @@ import { import { i18n } from '@kbn/i18n'; import { METRIC_TYPE } from '@kbn/analytics'; import { useKibana } from '@kbn/kibana-react-plugin/public'; -import { KIBANA_USER_QUERY_LANGUAGE_KEY, UI_SETTINGS } from '@kbn/data-plugin/common'; +import { + KIBANA_USER_QUERY_LANGUAGE_KEY, + KQL_TELEMETRY_ROUTE_LATEST_VERSION, + UI_SETTINGS, +} from '@kbn/data-plugin/common'; import type { SavedQueryService, SavedQuery } from '@kbn/data-plugin/public'; import type { IUnifiedSearchPluginServices } from '../types'; import { fromUser } from './from_user'; @@ -297,7 +301,8 @@ export function QueryBarMenuPanels({ }; const onSelectLanguage = (lang: string) => { - http.post('/api/kibana/kql_opt_in_stats', { + http.post('/internal/kql_opt_in_stats', { + version: KQL_TELEMETRY_ROUTE_LATEST_VERSION, body: JSON.stringify({ opt_in: lang === 'kuery' }), }); diff --git a/src/plugins/unified_search/public/query_string_input/query_string_input.tsx b/src/plugins/unified_search/public/query_string_input/query_string_input.tsx index 6e337de578fbe..386b5c4aa0bd0 100644 --- a/src/plugins/unified_search/public/query_string_input/query_string_input.tsx +++ b/src/plugins/unified_search/public/query_string_input/query_string_input.tsx @@ -32,7 +32,11 @@ import type { Query } from '@kbn/es-query'; import { DataPublicPluginStart, getQueryLog } from '@kbn/data-plugin/public'; import { type DataView, DataViewsPublicPluginStart } from '@kbn/data-views-plugin/public'; import type { PersistedLog } from '@kbn/data-plugin/public'; -import { getFieldSubtypeNested, KIBANA_USER_QUERY_LANGUAGE_KEY } from '@kbn/data-plugin/common'; +import { + getFieldSubtypeNested, + KIBANA_USER_QUERY_LANGUAGE_KEY, + KQL_TELEMETRY_ROUTE_LATEST_VERSION, +} from '@kbn/data-plugin/common'; import { toMountPoint } from '@kbn/kibana-react-plugin/public'; import type { IStorageWrapper } from '@kbn/kibana-utils-plugin/public'; import type { UsageCollectionStart } from '@kbn/usage-collection-plugin/public'; @@ -592,7 +596,8 @@ export default class QueryStringInputUI extends PureComponent { await supertest - .post('/api/kibana/kql_opt_in_stats') + .post('/internal/kql_opt_in_stats') .set('content-type', 'application/json') + .set(ELASTIC_HTTP_VERSION_HEADER, KQL_TELEMETRY_ROUTE_LATEST_VERSION) .send({ opt_in: true }) .expect(200); @@ -48,8 +51,9 @@ export default function ({ getService }: FtrProviderContext) { it('should increment the opt *out* counter in the .kibana_analytics/kql-telemetry document', async () => { await supertest - .post('/api/kibana/kql_opt_in_stats') + .post('/internal/kql_opt_in_stats') .set('content-type', 'application/json') + .set(ELASTIC_HTTP_VERSION_HEADER, KQL_TELEMETRY_ROUTE_LATEST_VERSION) .send({ opt_in: false }) .expect(200); @@ -66,8 +70,9 @@ export default function ({ getService }: FtrProviderContext) { it('should report success when opt *in* is incremented successfully', () => { return supertest - .post('/api/kibana/kql_opt_in_stats') + .post('/internal/kql_opt_in_stats') .set('content-type', 'application/json') + .set(ELASTIC_HTTP_VERSION_HEADER, KQL_TELEMETRY_ROUTE_LATEST_VERSION) .send({ opt_in: true }) .expect('Content-Type', /json/) .expect(200) @@ -78,8 +83,9 @@ export default function ({ getService }: FtrProviderContext) { it('should report success when opt *out* is incremented successfully', () => { return supertest - .post('/api/kibana/kql_opt_in_stats') + .post('/internal/kql_opt_in_stats') .set('content-type', 'application/json') + .set(ELASTIC_HTTP_VERSION_HEADER, KQL_TELEMETRY_ROUTE_LATEST_VERSION) .send({ opt_in: false }) .expect('Content-Type', /json/) .expect(200) @@ -91,28 +97,33 @@ export default function ({ getService }: FtrProviderContext) { it('should only accept literal boolean values for the opt_in POST body param', function () { return Promise.all([ supertest - .post('/api/kibana/kql_opt_in_stats') + .post('/internal/kql_opt_in_stats') .set('content-type', 'application/json') + .set(ELASTIC_HTTP_VERSION_HEADER, KQL_TELEMETRY_ROUTE_LATEST_VERSION) .send({ opt_in: 'notabool' }) .expect(400), supertest - .post('/api/kibana/kql_opt_in_stats') + .post('/internal/kql_opt_in_stats') .set('content-type', 'application/json') + .set(ELASTIC_HTTP_VERSION_HEADER, KQL_TELEMETRY_ROUTE_LATEST_VERSION) .send({ opt_in: 0 }) .expect(400), supertest - .post('/api/kibana/kql_opt_in_stats') + .post('/internal/kql_opt_in_stats') .set('content-type', 'application/json') + .set(ELASTIC_HTTP_VERSION_HEADER, KQL_TELEMETRY_ROUTE_LATEST_VERSION) .send({ opt_in: null }) .expect(400), supertest - .post('/api/kibana/kql_opt_in_stats') + .post('/internal/kql_opt_in_stats') .set('content-type', 'application/json') + .set(ELASTIC_HTTP_VERSION_HEADER, KQL_TELEMETRY_ROUTE_LATEST_VERSION) .send({ opt_in: undefined }) .expect(400), supertest - .post('/api/kibana/kql_opt_in_stats') + .post('/internal/kql_opt_in_stats') .set('content-type', 'application/json') + .set(ELASTIC_HTTP_VERSION_HEADER, KQL_TELEMETRY_ROUTE_LATEST_VERSION) .send({}) .expect(400), ]); diff --git a/test/api_integration/apis/scripts/languages.js b/test/api_integration/apis/scripts/languages.js index f37569aa4011c..78db98445bbb5 100644 --- a/test/api_integration/apis/scripts/languages.js +++ b/test/api_integration/apis/scripts/languages.js @@ -8,13 +8,17 @@ import expect from '@kbn/expect'; +import { ELASTIC_HTTP_VERSION_HEADER } from '@kbn/core-http-common'; +import { SCRIPT_LANGUAGES_ROUTE_LATEST_VERSION } from '@kbn/data-plugin/common/constants'; + export default function ({ getService }) { const supertest = getService('supertest'); describe('Script Languages API', function getLanguages() { it('should return 200 with an array of languages', () => supertest - .get('/api/kibana/scripts/languages') + .get('/internal/scripts/languages') + .set(ELASTIC_HTTP_VERSION_HEADER, SCRIPT_LANGUAGES_ROUTE_LATEST_VERSION) .expect(200) .then((response) => { expect(response.body).to.be.an('array'); @@ -23,7 +27,8 @@ export default function ({ getService }) { // eslint-disable-next-line jest/no-disabled-tests it.skip('should only return langs enabled for inline scripting', () => supertest - .get('/api/kibana/scripts/languages') + .get('/internal/scripts/languages') + .set(ELASTIC_HTTP_VERSION_HEADER, SCRIPT_LANGUAGES_ROUTE_LATEST_VERSION) .expect(200) .then((response) => { expect(response.body).to.contain('expression'); diff --git a/test/functional/apps/dashboard/group1/embeddable_rendering.ts b/test/functional/apps/dashboard/group1/embeddable_rendering.ts index 93b111f072443..d7addf89ac404 100644 --- a/test/functional/apps/dashboard/group1/embeddable_rendering.ts +++ b/test/functional/apps/dashboard/group1/embeddable_rendering.ts @@ -102,6 +102,8 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { // FLAKY: https://github.com/elastic/kibana/issues/158529 describe.skip('dashboard embeddable rendering', function describeIndexTests() { + const from = 'Jan 1, 2018 @ 00:00:00.000'; + const to = 'Apr 13, 2018 @ 00:00:00.000'; before(async () => { await security.testUser.setRoles(['kibana_admin', 'animals', 'test_logstash_reader']); await kibanaServer.savedObjects.cleanStandardList(); @@ -111,14 +113,11 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await kibanaServer.uiSettings.replace({ defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c', }); + await PageObjects.common.setTime({ from, to }); await PageObjects.common.navigateToApp('dashboard'); await PageObjects.dashboard.preserveCrossAppState(); await PageObjects.dashboard.clickNewDashboard(); await elasticChart.setNewChartUiDebugFlag(true); - - const fromTime = 'Jan 1, 2018 @ 00:00:00.000'; - const toTime = 'Apr 13, 2018 @ 00:00:00.000'; - await PageObjects.timePicker.setAbsoluteRange(fromTime, toTime); }); after(async () => { @@ -127,6 +126,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { const newUrl = currentUrl.replace(/\?.*$/, ''); await browser.get(newUrl, false); await security.testUser.restoreDefaults(); + await PageObjects.common.unsetTime(); await kibanaServer.savedObjects.cleanStandardList(); }); diff --git a/test/functional/apps/dashboard/group5/share.ts b/test/functional/apps/dashboard/group5/share.ts index b6a2e9811e51f..a6d9289313e62 100644 --- a/test/functional/apps/dashboard/group5/share.ts +++ b/test/functional/apps/dashboard/group5/share.ts @@ -106,19 +106,19 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await kibanaServer.uiSettings.replace({ defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c', }); + const from = 'Sep 19, 2017 @ 06:31:44.000'; + const to = 'Sep 23, 2018 @ 18:31:44.000'; + await PageObjects.common.setTime({ from, to }); await PageObjects.common.navigateToApp('dashboard'); await PageObjects.dashboard.preserveCrossAppState(); await PageObjects.dashboard.loadSavedDashboard('few panels'); - await PageObjects.dashboard.switchToEditMode(); - const from = 'Sep 19, 2017 @ 06:31:44.000'; - const to = 'Sep 23, 2018 @ 18:31:44.000'; - await PageObjects.timePicker.setAbsoluteRange(from, to); await PageObjects.dashboard.waitForRenderComplete(); }); after(async () => { await kibanaServer.savedObjects.cleanStandardList(); + await PageObjects.common.unsetTime(); }); describe('snapshot share', async () => { diff --git a/test/functional/apps/dashboard_elements/controls/common/range_slider.ts b/test/functional/apps/dashboard_elements/controls/common/range_slider.ts index d6cd7388987fe..9140c23573c3f 100644 --- a/test/functional/apps/dashboard_elements/controls/common/range_slider.ts +++ b/test/functional/apps/dashboard_elements/controls/common/range_slider.ts @@ -19,9 +19,8 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { const filterBar = getService('filterBar'); const testSubjects = getService('testSubjects'); const kibanaServer = getService('kibanaServer'); - const { dashboardControls, timePicker, common, dashboard, header } = getPageObjects([ + const { dashboardControls, common, dashboard, header } = getPageObjects([ 'dashboardControls', - 'timePicker', 'dashboard', 'common', 'header', @@ -46,16 +45,16 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await kibanaServer.uiSettings.replace({ defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c', }); + await common.setTime({ + from: 'Oct 22, 2018 @ 00:00:00.000', + to: 'Dec 3, 2018 @ 00:00:00.000', + }); await common.navigateToApp('dashboard'); await dashboardControls.enableControlsLab(); await common.navigateToApp('dashboard'); await dashboard.preserveCrossAppState(); await dashboard.gotoDashboardLandingPage(); await dashboard.clickNewDashboard(); - await timePicker.setAbsoluteRange( - 'Oct 22, 2018 @ 00:00:00.000', - 'Dec 3, 2018 @ 00:00:00.000' - ); await dashboard.saveDashboard(DASHBOARD_NAME, { exitFromEditMode: false }); }); @@ -66,6 +65,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { ); await esArchiver.unload('test/functional/fixtures/es_archiver/kibana_sample_data_flights'); await kibanaServer.uiSettings.unset('defaultIndex'); + await common.unsetTime(); await security.testUser.restoreDefaults(); }); diff --git a/test/functional/apps/discover/embeddable/_saved_search_embeddable.ts b/test/functional/apps/discover/embeddable/_saved_search_embeddable.ts index 1bfdc9143ad4c..8961af57a4ad2 100644 --- a/test/functional/apps/discover/embeddable/_saved_search_embeddable.ts +++ b/test/functional/apps/discover/embeddable/_saved_search_embeddable.ts @@ -32,10 +32,15 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await kibanaServer.uiSettings.replace({ defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c', }); + await PageObjects.common.setTime({ + from: 'Sep 22, 2015 @ 00:00:00.000', + to: 'Sep 23, 2015 @ 00:00:00.000', + }); }); after(async () => { await kibanaServer.savedObjects.cleanStandardList(); + await PageObjects.common.unsetTime(); }); beforeEach(async () => { @@ -43,10 +48,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await filterBar.ensureFieldEditorModalIsClosed(); await PageObjects.dashboard.gotoDashboardLandingPage(); await PageObjects.dashboard.clickNewDashboard(); - await PageObjects.timePicker.setAbsoluteRange( - 'Sep 22, 2015 @ 00:00:00.000', - 'Sep 23, 2015 @ 00:00:00.000' - ); }); const addSearchEmbeddableToDashboard = async () => { diff --git a/test/functional/apps/discover/group3/_request_counts.ts b/test/functional/apps/discover/group3/_request_counts.ts index c4f5676f357e5..c1224596d3e00 100644 --- a/test/functional/apps/discover/group3/_request_counts.ts +++ b/test/functional/apps/discover/group3/_request_counts.ts @@ -87,14 +87,12 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { query1, query2, setQuery, - skipSavedSearchTests, }: { type: 'ese' | 'sql'; savedSearch: string; query1: string; query2: string; setQuery: (query: string) => Promise; - skipSavedSearchTests?: boolean; }) => { it('should send 2 search requests (documents + chart) on page load', async () => { await browser.refresh(); @@ -137,37 +135,35 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { }); }); - if (!skipSavedSearchTests) { - it('should send 2 requests for saved search changes', async () => { - await setQuery(query1); - await queryBar.clickQuerySubmitButton(); - await PageObjects.timePicker.setAbsoluteRange( - 'Sep 21, 2015 @ 06:31:44.000', - 'Sep 23, 2015 @ 00:00:00.000' - ); - await waitForLoadingToFinish(); - // creating the saved search - await expectSearches(type, 2, async () => { - await PageObjects.discover.saveSearch(savedSearch); - }); - // resetting the saved search - await setQuery(query2); - await queryBar.clickQuerySubmitButton(); + it('should send 2 requests for saved search changes', async () => { + await setQuery(query1); + await queryBar.clickQuerySubmitButton(); + await PageObjects.timePicker.setAbsoluteRange( + 'Sep 21, 2015 @ 06:31:44.000', + 'Sep 23, 2015 @ 00:00:00.000' + ); + await waitForLoadingToFinish(); + // creating the saved search + await expectSearches(type, 2, async () => { + await PageObjects.discover.saveSearch(savedSearch); + }); + // resetting the saved search + await setQuery(query2); + await queryBar.clickQuerySubmitButton(); + await waitForLoadingToFinish(); + await expectSearches(type, 2, async () => { + await PageObjects.discover.clickResetSavedSearchButton(); + }); + // clearing the saved search + await expectSearches('ese', 2, async () => { + await testSubjects.click('discoverNewButton'); await waitForLoadingToFinish(); - await expectSearches(type, 2, async () => { - await PageObjects.discover.clickResetSavedSearchButton(); - }); - // clearing the saved search - await expectSearches(type, 2, async () => { - await testSubjects.click('discoverNewButton'); - await waitForLoadingToFinish(); - }); - // loading the saved search - await expectSearches(type, 2, async () => { - await PageObjects.discover.loadSavedSearch(savedSearch); - }); }); - } + // loading the saved search + await expectSearches(type, 2, async () => { + await PageObjects.discover.loadSavedSearch(savedSearch); + }); + }); }; describe('data view mode', () => { @@ -238,9 +234,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { query1: 'SELECT type, count(*) FROM "logstash-*" WHERE bytes > 1000 GROUP BY type', query2: 'SELECT type, count(*) FROM "logstash-*" WHERE bytes < 2000 GROUP BY type', setQuery: (query) => monacoEditor.setCodeEditorValue(query), - // TODO: We get 4 requests instead of 2 for the saved search test in SQL mode, - // so we're skipping them for now until we fix the issue. - skipSavedSearchTests: true, }); }); }); diff --git a/test/functional/apps/management/_files.ts b/test/functional/apps/management/_files.ts index 54b22028275d7..6a9a2c2597f5f 100644 --- a/test/functional/apps/management/_files.ts +++ b/test/functional/apps/management/_files.ts @@ -6,15 +6,14 @@ * Side Public License, v 1. */ -import expect from '@kbn/expect'; import { FtrProviderContext } from '../../ftr_provider_context'; export default function ({ getPageObjects, getService }: FtrProviderContext) { const PageObjects = getPageObjects(['common', 'filesManagement']); const testSubjects = getService('testSubjects'); + const retry = getService('retry'); - // FLAKY: https://github.com/elastic/kibana/issues/160178 - describe.skip('Files management', () => { + describe('Files management', () => { before(async () => { await PageObjects.filesManagement.navigateTo(); }); @@ -22,9 +21,10 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { it(`should render an empty prompt`, async () => { await testSubjects.existOrFail('filesManagementApp'); - const pageText = await (await testSubjects.find('filesManagementApp')).getVisibleText(); - - expect(pageText).to.contain('No files found'); + await retry.waitFor('Render empty files prompt', async () => { + const pageText = await (await testSubjects.find('filesManagementApp')).getVisibleText(); + return pageText.includes('No files found'); + }); }); }); } diff --git a/test/functional/apps/visualize/group3/_linked_saved_searches.ts b/test/functional/apps/visualize/group3/_linked_saved_searches.ts index c27d5725e50ac..f97a4c86e4560 100644 --- a/test/functional/apps/visualize/group3/_linked_saved_searches.ts +++ b/test/functional/apps/visualize/group3/_linked_saved_searches.ts @@ -31,19 +31,22 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { before(async () => { await PageObjects.visualize.initTests(); + await PageObjects.timePicker.setDefaultAbsoluteRangeViaUiSettings(); await PageObjects.common.navigateToApp('discover'); - await PageObjects.timePicker.setDefaultAbsoluteRange(); await filterBar.addFilter({ field: 'extension.raw', operation: 'is', value: 'jpg' }); await PageObjects.header.waitUntilLoadingHasFinished(); await PageObjects.discover.saveSearch(savedSearchName); discoverSavedSearchUrlPath = (await browser.getCurrentUrl()).split('?')[0]; }); + after(async () => { + await PageObjects.common.unsetTime(); + }); + it('should create a visualization from a saved search', async () => { await PageObjects.visualize.navigateToNewAggBasedVisualization(); await PageObjects.visualize.clickDataTable(); await PageObjects.visualize.clickSavedSearch(savedSearchName); - await PageObjects.timePicker.setDefaultAbsoluteRange(); await retry.waitFor('wait for count to equal 9,109', async () => { const data = await PageObjects.visChart.getTableVisContent(); return data[0][0] === '9,109'; diff --git a/test/functional/apps/visualize/group6/_tsvb_markdown.ts b/test/functional/apps/visualize/group6/_tsvb_markdown.ts index 9f259ff005364..f015a0a010748 100644 --- a/test/functional/apps/visualize/group6/_tsvb_markdown.ts +++ b/test/functional/apps/visualize/group6/_tsvb_markdown.ts @@ -11,9 +11,9 @@ import expect from '@kbn/expect'; import { FtrProviderContext } from '../../../ftr_provider_context'; export default function ({ getPageObjects, getService }: FtrProviderContext) { - const { visualBuilder, timePicker, visualize, visChart } = getPageObjects([ + const { visualBuilder, common, visualize, visChart } = getPageObjects([ 'visualBuilder', - 'timePicker', + 'common', 'visualize', 'visChart', ]); @@ -37,20 +37,24 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { describe('markdown', () => { before(async () => { await visualize.initTests(); + await common.setTime({ + to: 'Sep 22, 2015 @ 06:00:00.000', + from: 'Sep 22, 2015 @ 11:00:00.000', + }); await visualize.navigateToNewVisualization(); await visualize.clickVisualBuilder(); await visualBuilder.checkVisualBuilderIsPresent(); await visualBuilder.clickMarkdown(); - await timePicker.setAbsoluteRange( - 'Sep 22, 2015 @ 06:00:00.000', - 'Sep 22, 2015 @ 11:00:00.000' - ); await visualBuilder.markdownSwitchSubTab('options'); await visualBuilder.setMetricsDataTimerangeMode('Last value'); await visualBuilder.setDropLastBucket(true); await visualBuilder.markdownSwitchSubTab('markdown'); }); + after(async () => { + await common.unsetTime(); + }); + it('should render subtabs and table variables markdown components', async () => { const tabs = await visualBuilder.getSubTabs(); expect(tabs).to.have.length(3); diff --git a/test/plugin_functional/test_suites/core_plugins/rendering.ts b/test/plugin_functional/test_suites/core_plugins/rendering.ts index 9f57286daf9e2..2fa5c5767ce60 100644 --- a/test/plugin_functional/test_suites/core_plugins/rendering.ts +++ b/test/plugin_functional/test_suites/core_plugins/rendering.ts @@ -221,6 +221,8 @@ export default function ({ getService }: PluginFunctionalProviderContext) { 'xpack.cloud.organization_url (string)', 'xpack.cloud.billing_url (string)', 'xpack.cloud.profile_url (string)', + 'xpack.cloud.performance_url (string)', + 'xpack.cloud.users_and_roles_url (string)', // can't be used to infer urls or customer id from the outside 'xpack.cloud.serverless.project_id (string)', 'xpack.discoverEnhanced.actions.exploreDataInChart.enabled (boolean)', diff --git a/tsconfig.base.json b/tsconfig.base.json index d65e5ad3cb72d..c114d34233dc1 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -654,6 +654,8 @@ "@kbn/discover-log-explorer-plugin/*": ["x-pack/plugins/discover_log_explorer/*"], "@kbn/discover-plugin": ["src/plugins/discover"], "@kbn/discover-plugin/*": ["src/plugins/discover/*"], + "@kbn/discover-utils": ["packages/kbn-discover-utils"], + "@kbn/discover-utils/*": ["packages/kbn-discover-utils/*"], "@kbn/doc-links": ["packages/kbn-doc-links"], "@kbn/doc-links/*": ["packages/kbn-doc-links/*"], "@kbn/docs-utils": ["packages/kbn-docs-utils"], diff --git a/x-pack/plugins/apm/ftr_e2e/cypress/e2e/power_user/diagnostics/apm-diagnostics-8.8.0-1687436214804.json b/x-pack/plugins/apm/ftr_e2e/cypress/e2e/power_user/diagnostics/apm-diagnostics-8.8.0-1687436214804.json index f39600c247e20..460da7f7d374c 100644 --- a/x-pack/plugins/apm/ftr_e2e/cypress/e2e/power_user/diagnostics/apm-diagnostics-8.8.0-1687436214804.json +++ b/x-pack/plugins/apm/ftr_e2e/cypress/e2e/power_user/diagnostics/apm-diagnostics-8.8.0-1687436214804.json @@ -1,13 +1,46 @@ { "created_at": "2023-06-22T12:16:54.010Z", + "diagnosticsPrivileges": { + "index": { + "apm-*": { + "read": true + }, + "logs-apm*": { + "read": true + }, + "metrics-apm*": { + "read": true + }, + "remote_cluster:apm-*": { + "read": true + }, + "remote_cluster:logs-apm*": { + "read": true + }, + "remote_cluster:metrics-apm*": { + "read": true + }, + "remote_cluster:traces-apm*": { + "read": true + }, + "traces-apm*": { + "read": true + } + }, + "cluster": { + "read_pipeline": true, + "manage_index_templates": true, + "monitor": true + }, + "hasAllPrivileges": true + }, "elasticsearchVersion": "8.8.0", "esResponses": { "fieldCaps": { "fields": { "service.name": { "keyword": { - "type": "keyword", - "metadata_field": false, + "type": "keyword", "metadata_field": false, "searchable": true, "aggregatable": true } diff --git a/x-pack/plugins/apm/ftr_e2e/cypress/e2e/power_user/diagnostics/diagnostics.cy.ts b/x-pack/plugins/apm/ftr_e2e/cypress/e2e/power_user/diagnostics/diagnostics.cy.ts index 4b8da46571c03..938e6dd67c16f 100644 --- a/x-pack/plugins/apm/ftr_e2e/cypress/e2e/power_user/diagnostics/diagnostics.cy.ts +++ b/x-pack/plugins/apm/ftr_e2e/cypress/e2e/power_user/diagnostics/diagnostics.cy.ts @@ -6,119 +6,162 @@ */ describe('Diagnostics', () => { - describe('when no data is loaded', () => { + describe('when logging in as superuser', () => { beforeEach(() => { - cy.loginAs({ username: 'elastic', password: 'changeme' }); + cy.loginAsSuperUser(); }); - it('can display summary tab', () => { - cy.visitKibana('/app/apm/diagnostics'); - - // integration package - cy.get('[data-test-subj="integrationPackageStatus_Badge"]').should( - 'have.text', - 'OK' - ); - - // data stream - cy.get('[data-test-subj="dataStreamsStatus_Badge"]').should( - 'have.text', - 'OK' - ); - - // Index template - cy.get('[data-test-subj="indexTemplatesStatus_Badge"]').should( - 'have.text', - 'OK' - ); - - // Index template - cy.get('[data-test-subj="fieldMappingStatus_Badge"]').should( - 'have.text', - 'OK' - ); - }); - }); - - describe('when importing a file', () => { - beforeEach(() => { - cy.loginAs({ username: 'elastic', password: 'changeme' }); - cy.visitKibana('/app/apm/diagnostics/import-export'); - cy.get('#file-picker').selectFile( - './cypress/e2e/power_user/diagnostics/apm-diagnostics-8.8.0-1687436214804.json' - ); - }); - - it('shows the remove button', () => { - cy.get('[data-test-subj="apmImportCardRemoveReportButton"]').should( - 'exist' - ); + describe('when no data is loaded', () => { + it('can display summary tab for superuser', () => { + cy.visitKibana('/app/apm/diagnostics'); + + // integration package + cy.get('[data-test-subj="integrationPackageStatus_Badge"]').should( + 'have.text', + 'OK' + ); + + // data stream + cy.get('[data-test-subj="dataStreamsStatus_Badge"]').should( + 'have.text', + 'OK' + ); + + // Index template + cy.get('[data-test-subj="indexTemplatesStatus_Badge"]').should( + 'have.text', + 'OK' + ); + + // Index template + cy.get('[data-test-subj="fieldMappingStatus_Badge"]').should( + 'have.text', + 'OK' + ); + }); }); - it('can display summary tab', () => { - cy.get('[data-test-subj="summary-tab"]').click(); - - // integration package - cy.get('[data-test-subj="integrationPackageStatus_Badge"]').should( - 'have.text', - 'OK' - ); - - cy.get('[data-test-subj="integrationPackageStatus_Content"]').should( - 'have.text', - 'APM integration (8.8.0)' - ); - - // data stream - cy.get('[data-test-subj="dataStreamsStatus_Badge"]').should( - 'have.text', - 'OK' - ); - - // Index template - cy.get('[data-test-subj="indexTemplatesStatus_Badge"]').should( - 'have.text', - 'OK' - ); - - // Index template - cy.get('[data-test-subj="fieldMappingStatus_Badge"]').should( - 'have.text', - 'Warning' - ); + describe('when importing a file', () => { + it('shows the remove button', () => { + importBundle(); + cy.get('[data-test-subj="apmImportCardRemoveReportButton"]').should( + 'exist' + ); + clearBundle(); + cy.get('[data-test-subj="apmImportCardRemoveReportButton"]').should( + 'not.exist' + ); + }); + + it('can display summary tab', () => { + importBundle(); + cy.get('[data-test-subj="summary-tab"]').click(); + + // integration package + cy.get('[data-test-subj="integrationPackageStatus_Badge"]').should( + 'have.text', + 'OK' + ); + + cy.get('[data-test-subj="integrationPackageStatus_Content"]').should( + 'have.text', + 'APM integration (8.8.0)' + ); + + // data stream + cy.get('[data-test-subj="dataStreamsStatus_Badge"]').should( + 'have.text', + 'OK' + ); + + // Index template + cy.get('[data-test-subj="indexTemplatesStatus_Badge"]').should( + 'have.text', + 'OK' + ); + + // Index template + cy.get('[data-test-subj="fieldMappingStatus_Badge"]').should( + 'have.text', + 'Warning' + ); + }); + + it('can display index template tab', () => { + importBundle(); + cy.get('[data-test-subj="index-templates-tab"]').click(); + cy.get('.euiTableRow').should('have.length', 19); + }); + + it('can display data streams tab', () => { + importBundle(); + cy.get('[data-test-subj="data-streams-tab"]').click(); + cy.get('.euiTableRow').should('have.length', 8); + }); + + it('can display indices tab', () => { + importBundle(); + cy.get('[data-test-subj="indices-tab"]').click(); + + cy.get('[data-test-subj="indicedWithProblems"] .euiTableRow').should( + 'have.length', + 138 + ); + + cy.get('[data-test-subj="indicedWithoutProblems"] .euiTableRow').should( + 'have.length', + 27 + ); + }); }); + }); - it('can display index template tab', () => { - cy.get('[data-test-subj="index-templates-tab"]').click(); - cy.get('.euiTableRow').should('have.length', 19); + describe('when logging in as "viewer" user', () => { + beforeEach(() => { + cy.loginAsViewerUser(); }); - it('can display data streams tab', () => { - cy.get('[data-test-subj="data-streams-tab"]').click(); - cy.get('.euiTableRow').should('have.length', 8); - }); + describe('when no data is loaded', () => { + it('displays a warning on "summary" tab about missing privileges ', () => { + cy.visitKibana('/app/apm/diagnostics'); - it('can display indices tab', () => { - cy.get('[data-test-subj="indices-tab"]').click(); + cy.get('.euiPanel > .euiText').should( + 'contain.text', + 'Not all features are available due to missing privileges.' + ); + }); - cy.get('[data-test-subj="indicedWithProblems"] .euiTableRow').should( - 'have.length', - 138 - ); + it('hides the tabs that require cluster privileges', () => { + cy.visitKibana('/app/apm/diagnostics'); - cy.get('[data-test-subj="indicedWithoutProblems"] .euiTableRow').should( - 'have.length', - 27 - ); + const tabs = ['Summary', 'Documents', 'Import/Export']; + cy.get( + '[data-test-subj="apmDiagnosticsTemplate"] .euiTabs .euiTab' + ).each((tab, i) => cy.wrap(tab).should('have.text', tabs[i])); + }); }); - it('can display documents tab', () => { - cy.get('[data-test-subj="documents-tab"]').click(); + describe('when importing a file', () => { + it('displays documents tab for the imported bundle', () => { + importBundle(); + cy.get('[data-test-subj="documents-tab"]').click(); - cy.get('[data-test-subj="documents-table"] .euiTableRow').should( - 'have.length', - 10 - ); + cy.get('[data-test-subj="documents-table"] .euiTableRow').should( + 'have.length', + 10 + ); + }); }); }); }); + +function importBundle() { + cy.visitKibana('/app/apm/diagnostics/import-export'); + cy.get('#file-picker').selectFile( + './cypress/e2e/power_user/diagnostics/apm-diagnostics-8.8.0-1687436214804.json' + ); +} + +function clearBundle() { + cy.get('[data-test-subj="apmTemplateDescriptionClearBundleButton"]').click(); +} diff --git a/x-pack/plugins/apm/ftr_e2e/cypress/support/commands.ts b/x-pack/plugins/apm/ftr_e2e/cypress/support/commands.ts index c0b9f84797f87..e520dc5f92579 100644 --- a/x-pack/plugins/apm/ftr_e2e/cypress/support/commands.ts +++ b/x-pack/plugins/apm/ftr_e2e/cypress/support/commands.ts @@ -11,6 +11,10 @@ import moment from 'moment'; import { AXE_CONFIG, AXE_OPTIONS } from '@kbn/axe-config'; import { ApmUsername } from '../../../server/test_helpers/create_apm_users/authentication'; +Cypress.Commands.add('loginAsSuperUser', () => { + return cy.loginAs({ username: 'elastic', password: 'changeme' }); +}); + Cypress.Commands.add('loginAsViewerUser', () => { return cy.loginAs({ username: ApmUsername.viewerUser, password: 'changeme' }); }); diff --git a/x-pack/plugins/apm/ftr_e2e/cypress/support/types.d.ts b/x-pack/plugins/apm/ftr_e2e/cypress/support/types.d.ts index b4c1ef54ceb9b..fe9ac641c1ce0 100644 --- a/x-pack/plugins/apm/ftr_e2e/cypress/support/types.d.ts +++ b/x-pack/plugins/apm/ftr_e2e/cypress/support/types.d.ts @@ -7,6 +7,7 @@ declare namespace Cypress { interface Chainable { + loginAsSuperUser(): Cypress.Chainable>; loginAsViewerUser(): Cypress.Chainable>; loginAsEditorUser(): Cypress.Chainable>; loginAsMonitorUser(): Cypress.Chainable>; diff --git a/x-pack/plugins/apm/public/components/app/diagnostics/import_export_tab.tsx b/x-pack/plugins/apm/public/components/app/diagnostics/import_export_tab.tsx index 797f3fbcd5078..191c755213741 100644 --- a/x-pack/plugins/apm/public/components/app/diagnostics/import_export_tab.tsx +++ b/x-pack/plugins/apm/public/components/app/diagnostics/import_export_tab.tsx @@ -18,9 +18,9 @@ import { } from '@elastic/eui'; import { APIReturnType } from '../../../services/rest/create_call_apm_api'; import { useDiagnosticsContext } from './context/use_diagnostics'; -import { getIndexTemplateStatus } from './summary_tab/index_templates_status'; -import { getIndicesTabStatus } from './summary_tab/indicies_status'; -import { getDataStreamTabStatus } from './summary_tab/data_streams_status'; +import { getIsIndexTemplateOk } from './summary_tab/index_templates_status'; +import { getIsIndicesTabOk } from './summary_tab/indicies_status'; +import { getIsDataStreamTabOk } from './summary_tab/data_streams_status'; type DiagnosticsBundle = APIReturnType<'GET /internal/apm/diagnostics'>; @@ -82,7 +82,12 @@ function ExportCard() { function ImportCard() { const { setImportedDiagnosticsBundle, isImported } = useDiagnosticsContext(); - const [importError, setImportError] = useState(false); + const [importStatus, setImportStatus] = useState<{ + isValid: boolean; + errorMessage?: string; + }>({ + isValid: true, + }); return ( } @@ -104,10 +109,11 @@ function ImportCard() { ) : ( <> - {importError && ( + {!importStatus.isValid && ( <> - The uploaded file could not be parsed + The uploaded file could not be parsed:{' '} + {importStatus.errorMessage} @@ -117,7 +123,7 @@ function ImportCard() { id="file-picker" multiple onChange={(_files) => { - setImportError(false); + setImportStatus({ isValid: true }); if (_files && _files.length > 0) { const file = Array.from(_files)[0]; @@ -129,13 +135,14 @@ function ImportCard() { evt?.target?.result ) as DiagnosticsBundle; - if (isBundleValid(diagnosticsBundle)) { - setImportedDiagnosticsBundle(diagnosticsBundle); - } else { - setImportError(true); - } + validateBundle(diagnosticsBundle); + setImportedDiagnosticsBundle(diagnosticsBundle); } catch (e) { - setImportError(true); + setImportStatus({ + isValid: false, + errorMessage: e.message, + }); + console.error( `Could not parse file ${file.name}. ${e.message}` ); @@ -154,13 +161,13 @@ function ImportCard() { ); } -function isBundleValid(diagnosticsBundle: DiagnosticsBundle) { +function validateBundle(diagnosticsBundle: DiagnosticsBundle) { try { - getIndexTemplateStatus(diagnosticsBundle); - getIndicesTabStatus(diagnosticsBundle); - getDataStreamTabStatus(diagnosticsBundle); - return true; + getIsIndexTemplateOk(diagnosticsBundle); + getIsIndicesTabOk(diagnosticsBundle); + getIsDataStreamTabOk(diagnosticsBundle); } catch (e) { - return false; + console.error('Error parsing uploaded bundle', e); + throw e; } } diff --git a/x-pack/plugins/apm/public/components/app/diagnostics/index.tsx b/x-pack/plugins/apm/public/components/app/diagnostics/index.tsx index 62b93ccddab36..be1ecf398ab03 100644 --- a/x-pack/plugins/apm/public/components/app/diagnostics/index.tsx +++ b/x-pack/plugins/apm/public/components/app/diagnostics/index.tsx @@ -5,30 +5,37 @@ * 2.0. */ -import { i18n } from '@kbn/i18n'; import { Outlet } from '@kbn/typed-react-router-config'; import React from 'react'; import * as t from 'io-ts'; -import { EuiButton, EuiCallOut, EuiIcon } from '@elastic/eui'; +import { + EuiButton, + EuiCallOut, + EuiIcon, + EuiLoadingLogo, + EuiEmptyPrompt, +} from '@elastic/eui'; +import { i18n } from '@kbn/i18n'; import { useApmParams } from '../../../hooks/use_apm_params'; import { useApmRouter } from '../../../hooks/use_apm_router'; import { useApmRoutePath } from '../../../hooks/use_apm_route_path'; -import { DiagnosticsSummary } from './summary_tab'; +import { DiagnosticsSummary, getIsCrossCluster } from './summary_tab'; import { ApmMainTemplate } from '../../routing/templates/apm_main_template'; import { DiagnosticsIndexTemplates } from './index_templates_tab'; import { DiagnosticsIndices } from './indices_tab'; import { DiagnosticsDataStreams } from './data_stream_tab'; import { DiagnosticsIndexPatternSettings, - getIndexPatternTabStatus, + getIsIndexPatternTabOk, } from './index_pattern_settings_tab'; import { DiagnosticsImportExport } from './import_export_tab'; import { DiagnosticsContextProvider } from './context/diagnostics_context'; import { useDiagnosticsContext } from './context/use_diagnostics'; -import { getIndexTemplateStatus } from './summary_tab/index_templates_status'; -import { getDataStreamTabStatus } from './summary_tab/data_streams_status'; -import { getIndicesTabStatus } from './summary_tab/indicies_status'; +import { getIsIndexTemplateOk } from './summary_tab/index_templates_status'; +import { getIsDataStreamTabOk } from './summary_tab/data_streams_status'; +import { getIsIndicesTabOk } from './summary_tab/indicies_status'; import { DiagnosticsApmDocuments } from './apm_documents_tab'; +import { isPending } from '../../../hooks/use_fetcher'; const params = t.type({ query: t.intersection([ @@ -90,11 +97,110 @@ export const diagnosticsRoute = { function DiagnosticsTemplate({ children }: { children: React.ReactChild }) { const routePath = useApmRoutePath(); const router = useApmRouter(); - const { diagnosticsBundle } = useDiagnosticsContext(); + const { diagnosticsBundle, status } = useDiagnosticsContext(); const { query } = useApmParams('/diagnostics/*'); + const isCrossCluster = getIsCrossCluster(diagnosticsBundle); + const isLoading = isPending(status); + + if (isLoading) { + return ( + } + title={ +

+ {i18n.translate('xpack.apm.diagnostics.loading', { + defaultMessage: 'Loading diagnostics', + })} +

+ } + /> + ); + } + + const hasAllClusterPrivileges = + diagnosticsBundle?.diagnosticsPrivileges.hasAllClusterPrivileges ?? true; + + const tabs = [ + { + 'data-test-subj': 'summary-tab', + href: router.link('/diagnostics', { query }), + label: i18n.translate('xpack.apm.diagnostics.tab.summary', { + defaultMessage: 'Summary', + }), + isSelected: routePath === '/diagnostics', + }, + { + 'data-test-subj': 'index-pattern-tab', + prepend: !getIsIndexPatternTabOk(diagnosticsBundle) && ( + + ), + href: router.link('/diagnostics/index-pattern-settings', { query }), + label: i18n.translate( + 'xpack.apm.diagnostics.tab.index_pattern_settings', + { + defaultMessage: 'Index pattern settings', + } + ), + isSelected: routePath === '/diagnostics/index-pattern-settings', + isHidden: isCrossCluster || !hasAllClusterPrivileges, + }, + { + 'data-test-subj': 'index-templates-tab', + prepend: !getIsIndexTemplateOk(diagnosticsBundle) && ( + + ), + href: router.link('/diagnostics/index-templates', { query }), + label: i18n.translate('xpack.apm.diagnostics.tab.index_templates', { + defaultMessage: 'Index templates', + }), + isSelected: routePath === '/diagnostics/index-templates', + isHidden: isCrossCluster || !hasAllClusterPrivileges, + }, + { + 'data-test-subj': 'data-streams-tab', + prepend: !getIsDataStreamTabOk(diagnosticsBundle) && ( + + ), + href: router.link('/diagnostics/data-streams', { query }), + label: i18n.translate('xpack.apm.diagnostics.tab.datastreams', { + defaultMessage: 'Data streams', + }), + isSelected: routePath === '/diagnostics/data-streams', + isHidden: isCrossCluster || !hasAllClusterPrivileges, + }, + { + 'data-test-subj': 'indices-tab', + prepend: !getIsIndicesTabOk(diagnosticsBundle) && ( + + ), + href: router.link('/diagnostics/indices', { query }), + label: i18n.translate('xpack.apm.diagnostics.tab.indices', { + defaultMessage: 'Indices', + }), + isSelected: routePath === '/diagnostics/indices', + isHidden: isCrossCluster || !hasAllClusterPrivileges, + }, + { + 'data-test-subj': 'documents-tab', + href: router.link('/diagnostics/documents', { query }), + label: i18n.translate('xpack.apm.diagnostics.tab.apmEvents', { + defaultMessage: 'Documents', + }), + isSelected: routePath === '/diagnostics/documents', + }, + { + 'data-test-subj': 'import-export-tab', + href: router.link('/diagnostics/import-export', { query }), + label: i18n.translate('xpack.apm.diagnostics.tab.import_export', { + defaultMessage: 'Import/Export', + }), + isSelected: routePath === '/diagnostics/import-export', + }, + ].filter((tab) => !tab.isHidden); return ( ], description: , - tabs: [ - { - 'data-test-subj': 'summary-tab', - href: router.link('/diagnostics', { query }), - label: i18n.translate('xpack.apm.diagnostics.tab.summary', { - defaultMessage: 'Summary', - }), - isSelected: routePath === '/diagnostics', - }, - { - 'data-test-subj': 'index-pattern-tab', - prepend: !getIndexPatternTabStatus(diagnosticsBundle) && ( - - ), - href: router.link('/diagnostics/index-pattern-settings', { query }), - label: i18n.translate( - 'xpack.apm.diagnostics.tab.index_pattern_settings', - { - defaultMessage: 'Index pattern settings', - } - ), - isSelected: routePath === '/diagnostics/index-pattern-settings', - }, - { - 'data-test-subj': 'index-templates-tab', - prepend: !getIndexTemplateStatus(diagnosticsBundle) && ( - - ), - href: router.link('/diagnostics/index-templates', { query }), - label: i18n.translate('xpack.apm.diagnostics.tab.index_templates', { - defaultMessage: 'Index templates', - }), - isSelected: routePath === '/diagnostics/index-templates', - }, - { - 'data-test-subj': 'data-streams-tab', - prepend: !getDataStreamTabStatus(diagnosticsBundle) && ( - - ), - href: router.link('/diagnostics/data-streams', { query }), - label: i18n.translate('xpack.apm.diagnostics.tab.datastreams', { - defaultMessage: 'Data streams', - }), - isSelected: routePath === '/diagnostics/data-streams', - }, - { - 'data-test-subj': 'indices-tab', - prepend: !getIndicesTabStatus(diagnosticsBundle) && ( - - ), - href: router.link('/diagnostics/indices', { query }), - label: i18n.translate('xpack.apm.diagnostics.tab.indices', { - defaultMessage: 'Indices', - }), - isSelected: routePath === '/diagnostics/indices', - }, - { - 'data-test-subj': 'documents-tab', - href: router.link('/diagnostics/documents', { query }), - label: i18n.translate('xpack.apm.diagnostics.tab.apmEvents', { - defaultMessage: 'Documents', - }), - isSelected: routePath === '/diagnostics/documents', - }, - { - 'data-test-subj': 'import-export-tab', - href: router.link('/diagnostics/import-export', { query }), - label: i18n.translate('xpack.apm.diagnostics.tab.import_export', { - defaultMessage: 'Import/Export', - }), - isSelected: routePath === '/diagnostics/import-export', - }, - ], + tabs, }} > {children} @@ -184,13 +218,20 @@ function DiagnosticsTemplate({ children }: { children: React.ReactChild }) { } function TemplateDescription() { - const { isImported } = useDiagnosticsContext(); + const { isImported, setImportedDiagnosticsBundle } = useDiagnosticsContext(); if (isImported) { return ( + > + setImportedDiagnosticsBundle(undefined)} + > + Clear bundle + + ); } diff --git a/x-pack/plugins/apm/public/components/app/diagnostics/index_pattern_settings_tab.tsx b/x-pack/plugins/apm/public/components/app/diagnostics/index_pattern_settings_tab.tsx index 8d97a04316851..61a5d0a054833 100644 --- a/x-pack/plugins/apm/public/components/app/diagnostics/index_pattern_settings_tab.tsx +++ b/x-pack/plugins/apm/public/components/app/diagnostics/index_pattern_settings_tab.tsx @@ -102,9 +102,7 @@ export function DiagnosticsIndexPatternSettings() { ); } -export function getIndexPatternTabStatus( - diagnosticsBundle?: DiagnosticsBundle -) { +export function getIsIndexPatternTabOk(diagnosticsBundle?: DiagnosticsBundle) { if (!diagnosticsBundle) { return true; } diff --git a/x-pack/plugins/apm/public/components/app/diagnostics/summary_tab/data_streams_status.tsx b/x-pack/plugins/apm/public/components/app/diagnostics/summary_tab/data_streams_status.tsx index 60add5d3aebde..3cec9f37601fb 100644 --- a/x-pack/plugins/apm/public/components/app/diagnostics/summary_tab/data_streams_status.tsx +++ b/x-pack/plugins/apm/public/components/app/diagnostics/summary_tab/data_streams_status.tsx @@ -22,12 +22,12 @@ export function DataStreamsStatus() { const router = useApmRouter(); const { query } = useApmParams('/diagnostics/*'); const isLoading = status === FETCH_STATUS.LOADING; - const tabStatus = getDataStreamTabStatus(diagnosticsBundle); + const isOk = getIsDataStreamTabOk(diagnosticsBundle); return ( Data streams @@ -41,9 +41,9 @@ export function DataStreamsStatus() { ); } -export function getDataStreamTabStatus(diagnosticsBundle?: DiagnosticsBundle) { +export function getIsDataStreamTabOk(diagnosticsBundle?: DiagnosticsBundle) { if (!diagnosticsBundle) { - return false; + return true; } return diagnosticsBundle.dataStreams.every((ds) => { diff --git a/x-pack/plugins/apm/public/components/app/diagnostics/summary_tab/index.tsx b/x-pack/plugins/apm/public/components/app/diagnostics/summary_tab/index.tsx index d4aeadd9223a7..467416225e764 100644 --- a/x-pack/plugins/apm/public/components/app/diagnostics/summary_tab/index.tsx +++ b/x-pack/plugins/apm/public/components/app/diagnostics/summary_tab/index.tsx @@ -6,27 +6,41 @@ */ import React from 'react'; -import { EuiFlexGroup, EuiCallOut } from '@elastic/eui'; +import { + EuiFlexGroup, + EuiCallOut, + EuiDescriptionList, + EuiSpacer, +} from '@elastic/eui'; + +import { APIReturnType } from '../../../../services/rest/create_call_apm_api'; import { ApmIntegrationPackageStatus } from './apm_integration_package_status'; import { IndexTemplatesStatus } from './index_templates_status'; import { FieldMappingStatus } from './indicies_status'; import { DataStreamsStatus } from './data_streams_status'; import { useDiagnosticsContext } from '../context/use_diagnostics'; +type DiagnosticsBundle = APIReturnType<'GET /internal/apm/diagnostics'>; + export function DiagnosticsSummary() { const { diagnosticsBundle } = useDiagnosticsContext(); + const isCrossCluster = getIsCrossCluster(diagnosticsBundle); + const hasAllPrivileges = + diagnosticsBundle?.diagnosticsPrivileges.hasAllPrivileges ?? true; - const isCrossCluster = Object.values( - diagnosticsBundle?.apmIndices ?? {} - ).some((indicies) => indicies.includes(':')); - - if (isCrossCluster) { + if (isCrossCluster || !hasAllPrivileges) { return ( - - The APM index settings is targetting remote clusters. Please note: this - is not currently supported by the Diagnostics Tool and functionality - will therefore be limited. - + <> + {isCrossCluster && ( + <> + + + + )} + {diagnosticsBundle && !hasAllPrivileges && ( + + )} + ); } @@ -39,3 +53,68 @@ export function DiagnosticsSummary() { ); } + +function CrossClusterSearchCallout() { + return ( + + The APM index settings is targetting remote clusters. Please note that + this is not currently supported by the Diagnostics Tool and functionality + will therefore be limited. + + ); +} + +function PrivilegesCallout({ + diagnosticsBundle, +}: { + diagnosticsBundle: DiagnosticsBundle; +}) { + const missingClusterPrivileges = Object.entries( + diagnosticsBundle.diagnosticsPrivileges.cluster + ) + .filter(([privilegeName, hasPrivilege]) => !hasPrivilege) + .map(([privilegeName]) => privilegeName); + + const missingIndexPrivileges = Object.entries( + diagnosticsBundle.diagnosticsPrivileges.index + ) + .filter(([indexName, privObject]) => !privObject.read) + .map(([indexName, privObject]) => indexName); + + return ( + <> + + Not all features are available due to missing privileges. +
+
+ 0 + ? [ + { + title: 'Missing cluster privileges', + description: missingClusterPrivileges.join(', '), + }, + ] + : []), + + ...(missingIndexPrivileges.length > 0 + ? [ + { + title: 'Missing index privileges', + description: missingIndexPrivileges.join(', '), + }, + ] + : []), + ]} + /> +
+ + ); +} + +export function getIsCrossCluster(diagnosticsBundle?: DiagnosticsBundle) { + return Object.values(diagnosticsBundle?.apmIndices ?? {}).some((indicies) => + indicies.includes(':') + ); +} diff --git a/x-pack/plugins/apm/public/components/app/diagnostics/summary_tab/index_templates_status.tsx b/x-pack/plugins/apm/public/components/app/diagnostics/summary_tab/index_templates_status.tsx index 94fda44bf955c..be7624e083039 100644 --- a/x-pack/plugins/apm/public/components/app/diagnostics/summary_tab/index_templates_status.tsx +++ b/x-pack/plugins/apm/public/components/app/diagnostics/summary_tab/index_templates_status.tsx @@ -20,7 +20,7 @@ export function IndexTemplatesStatus() { const { query } = useApmParams('/diagnostics/*'); const { diagnosticsBundle, status } = useDiagnosticsContext(); const isLoading = status === FETCH_STATUS.LOADING; - const tabStatus = getIndexTemplateStatus(diagnosticsBundle); + const tabStatus = getIsIndexTemplateOk(diagnosticsBundle); return ( isNonStandard ); const isEveryExpectedApmIndexTemplateInstalled = - diagnosticsBundle?.apmIndexTemplates.every( + diagnosticsBundle.apmIndexTemplates.every( ({ exists, isNonStandard }) => isNonStandard || exists ); diff --git a/x-pack/plugins/apm/public/components/app/diagnostics/summary_tab/indicies_status.tsx b/x-pack/plugins/apm/public/components/app/diagnostics/summary_tab/indicies_status.tsx index 84c4958e23847..419c7797595aa 100644 --- a/x-pack/plugins/apm/public/components/app/diagnostics/summary_tab/indicies_status.tsx +++ b/x-pack/plugins/apm/public/components/app/diagnostics/summary_tab/indicies_status.tsx @@ -21,7 +21,7 @@ export function FieldMappingStatus() { const { query } = useApmParams('/diagnostics/*'); const { diagnosticsBundle, status } = useDiagnosticsContext(); const isLoading = status === FETCH_STATUS.LOADING; - const isOk = getIndicesTabStatus(diagnosticsBundle); + const isOk = getIsIndicesTabOk(diagnosticsBundle); return ( getSimulatedIndexTemplateForIndexPattern({ indexPattern, esClient }) ) - ); - } catch (e) { - console.error(e); - return []; - } + ) + ); } async function getSimulatedIndexTemplateForIndexPattern({ @@ -95,3 +93,23 @@ function getIsNonStandardIndexTemplate(templateName: string) { return isNonStandard; } + +async function handleInvalidIndexTemplateException(promise: Promise) { + try { + return await promise; + } catch (error) { + if ( + error instanceof errors.ResponseError && + error.meta.statusCode === 400 && + // @ts-expect-error + error.meta.body.error.type === 'invalid_index_template_exception' + ) { + console.error( + `Suppressed exception caused by cross cluster search: ${error.message}}` + ); + return []; + } + + throw error; + } +} diff --git a/x-pack/plugins/apm/server/routes/diagnostics/bundle/get_indices_states.ts b/x-pack/plugins/apm/server/routes/diagnostics/bundle/get_indices_states.ts index e348074360736..4aeaee5db5349 100644 --- a/x-pack/plugins/apm/server/routes/diagnostics/bundle/get_indices_states.ts +++ b/x-pack/plugins/apm/server/routes/diagnostics/bundle/get_indices_states.ts @@ -5,29 +5,33 @@ * 2.0. */ -import { - FieldCapsResponse, - IndicesGetResponse, - IngestGetPipelineResponse, -} from '@elastic/elasticsearch/lib/api/types'; +import { ElasticsearchClient } from '@kbn/core-elasticsearch-server'; +import { ApmIndicesConfig } from '@kbn/observability-plugin/common/typings'; import { SERVICE_NAME } from '../../../../common/es_fields/apm'; import { getApmIndexTemplateNames } from '../helpers/get_apm_index_template_names'; +import { getFieldCaps } from './get_field_caps'; +import { getIndicesAndIngestPipelines } from './get_indices'; -export function getIndicesStates({ - indices, - fieldCaps, - ingestPipelines, +export async function getIndicesStates({ + esClient, + apmIndices, }: { - indices: IndicesGetResponse; - fieldCaps: FieldCapsResponse; - ingestPipelines: IngestGetPipelineResponse; + esClient: ElasticsearchClient; + apmIndices: ApmIndicesConfig; }) { + const { indices, ingestPipelines } = await getIndicesAndIngestPipelines({ + esClient, + apmIndices, + }); + const indicesWithPipelineId = Object.entries(indices).map(([key, value]) => ({ index: key, dataStream: value.data_stream, pipelineId: value.settings?.index?.default_pipeline, })); + const fieldCaps = await getFieldCaps({ esClient, apmIndices }); + const invalidFieldMappings = Object.values( fieldCaps.fields[SERVICE_NAME] ?? {} ).filter(({ type }): boolean => type !== 'keyword'); @@ -72,7 +76,7 @@ export function getIndicesStates({ const invalidIndices = items.filter((item) => !item.isValid); const validIndices = items.filter((item) => item.isValid); - return { invalidIndices, validIndices }; + return { invalidIndices, validIndices, indices, ingestPipelines, fieldCaps }; } export function validateIngestPipelineName( diff --git a/x-pack/plugins/apm/server/routes/diagnostics/get_diagnostics_bundle.ts b/x-pack/plugins/apm/server/routes/diagnostics/get_diagnostics_bundle.ts index 51a71167c4ec7..a3b28aeba9dd8 100644 --- a/x-pack/plugins/apm/server/routes/diagnostics/get_diagnostics_bundle.ts +++ b/x-pack/plugins/apm/server/routes/diagnostics/get_diagnostics_bundle.ts @@ -12,11 +12,11 @@ import { getNonDataStreamIndices } from './bundle/get_non_data_stream_indices'; import { getElasticsearchVersion } from './get_elasticsearch_version'; import { getIndexTemplatesByIndexPattern } from './bundle/get_index_templates_by_index_pattern'; import { getExistingApmIndexTemplates } from './bundle/get_existing_index_templates'; -import { getFieldCaps } from './bundle/get_field_caps'; -import { getIndicesAndIngestPipelines } from './bundle/get_indices'; import { getIndicesStates } from './bundle/get_indices_states'; import { getApmEvents } from './bundle/get_apm_events'; import { getApmIndexTemplates } from './helpers/get_apm_index_template_names'; +import { handle403Exception } from './helpers/handle_403_exception'; +import { getDiagnosticsPrivileges } from './helpers/get_diagnostic_privileges'; const DEFEAULT_START = Date.now() - 60 * 5 * 1000; // 5 minutes const DEFAULT_END = Date.now(); @@ -34,45 +34,73 @@ export async function getDiagnosticsBundle({ end: number | undefined; kuery: string | undefined; }) { - const { indices, ingestPipelines } = await getIndicesAndIngestPipelines({ + const diagnosticsPrivileges = await getDiagnosticsPrivileges({ esClient, apmIndices, }); - const indexTemplatesByIndexPattern = await getIndexTemplatesByIndexPattern({ - esClient, - apmIndices, - }); + const indexTemplatesByIndexPattern = await handle403Exception( + getIndexTemplatesByIndexPattern({ + esClient, + apmIndices, + }), + [] + ); - const existingIndexTemplates = await getExistingApmIndexTemplates({ - esClient, - }); + const existingIndexTemplates = await handle403Exception( + getExistingApmIndexTemplates({ + esClient, + }), + [] + ); - const fieldCaps = await getFieldCaps({ esClient, apmIndices }); - const dataStreams = await getDataStreams({ esClient, apmIndices }); - const nonDataStreamIndices = await getNonDataStreamIndices({ - esClient, - apmIndices, - }); + const dataStreams = await handle403Exception( + getDataStreams({ esClient, apmIndices }), + [] + ); + const nonDataStreamIndices = await handle403Exception( + getNonDataStreamIndices({ + esClient, + apmIndices, + }), + [] + ); - const { invalidIndices, validIndices } = getIndicesStates({ - fieldCaps, - indices, - ingestPipelines, - }); + const { invalidIndices, validIndices, indices, ingestPipelines, fieldCaps } = + await handle403Exception( + getIndicesStates({ + esClient, + apmIndices, + }), + { + invalidIndices: [], + validIndices: [], + indices: [], + ingestPipelines: [], + fieldCaps: {}, + } + ); - const apmEvents = await getApmEvents({ - esClient, - apmIndices, - start, - end, - kuery, - }); + const apmEvents = await handle403Exception( + getApmEvents({ + esClient, + apmIndices, + start, + end, + kuery, + }), + [] + ); + const elasticsearchVersion = await handle403Exception( + getElasticsearchVersion(esClient), + 'N/A' + ); return { created_at: new Date().toISOString(), + diagnosticsPrivileges, apmIndices, - elasticsearchVersion: await getElasticsearchVersion(esClient), + elasticsearchVersion, esResponses: { fieldCaps, indices, diff --git a/x-pack/plugins/apm/server/routes/diagnostics/get_fleet_package_info.ts b/x-pack/plugins/apm/server/routes/diagnostics/get_fleet_package_info.ts index 54021727e7355..15d0dcb76a101 100644 --- a/x-pack/plugins/apm/server/routes/diagnostics/get_fleet_package_info.ts +++ b/x-pack/plugins/apm/server/routes/diagnostics/get_fleet_package_info.ts @@ -5,16 +5,29 @@ * 2.0. */ +import { FleetUnauthorizedError } from '@kbn/fleet-plugin/server/errors'; import { APMRouteHandlerResources } from '../typings'; export async function getFleetPackageInfo(resources: APMRouteHandlerResources) { const fleetPluginStart = await resources.plugins.fleet?.start(); - const packageInfo = await fleetPluginStart?.packageService - .asScoped(resources.request) - .getInstallation('apm'); - return { - isInstalled: packageInfo?.install_status === 'installed', - version: packageInfo?.version, - }; + try { + const packageInfo = await fleetPluginStart?.packageService + .asScoped(resources.request) + .getInstallation('apm'); + + return { + isInstalled: packageInfo?.install_status === 'installed', + version: packageInfo?.version, + }; + } catch (e) { + if (e instanceof FleetUnauthorizedError) { + console.error('Insufficient permissions to access fleet package info'); + return { + isInstalled: false, + version: 'N/A', + }; + } + throw e; + } } diff --git a/x-pack/plugins/apm/server/routes/diagnostics/helpers/get_diagnostic_privileges.ts b/x-pack/plugins/apm/server/routes/diagnostics/helpers/get_diagnostic_privileges.ts new file mode 100644 index 0000000000000..9531d3dfde3a6 --- /dev/null +++ b/x-pack/plugins/apm/server/routes/diagnostics/helpers/get_diagnostic_privileges.ts @@ -0,0 +1,56 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { ElasticsearchClient } from '@kbn/core-elasticsearch-server'; +import { ApmIndicesConfig } from '../../settings/apm_indices/get_apm_indices'; +import { getApmIndexPatterns } from '../bundle/get_indices'; + +export async function getDiagnosticsPrivileges({ + esClient, + apmIndices, +}: { + esClient: ElasticsearchClient; + apmIndices: ApmIndicesConfig; +}) { + const indexPatterns = getApmIndexPatterns([ + apmIndices.error, + apmIndices.metric, + apmIndices.span, + apmIndices.transaction, + ]); + + const clusterPrivileges = [ + 'manage_index_templates', + 'monitor', + 'read_pipeline', + ]; + const { index, cluster } = await esClient.security.hasPrivileges({ + body: { + index: [ + { + names: indexPatterns, + privileges: ['read'], + }, + ], + cluster: clusterPrivileges, + }, + }); + + const hasAllIndexPrivileges = Object.values(index).every((indexPrivs) => + Object.values(indexPrivs).every((priv) => priv) + ); + + const hasAllClusterPrivileges = Object.values(cluster).every((priv) => priv); + + return { + index, + cluster, + hasAllIndexPrivileges, + hasAllClusterPrivileges, + hasAllPrivileges: hasAllIndexPrivileges && hasAllClusterPrivileges, + }; +} diff --git a/x-pack/plugins/apm/server/routes/diagnostics/helpers/handle_403_exception.ts b/x-pack/plugins/apm/server/routes/diagnostics/helpers/handle_403_exception.ts new file mode 100644 index 0000000000000..f201137643716 --- /dev/null +++ b/x-pack/plugins/apm/server/routes/diagnostics/helpers/handle_403_exception.ts @@ -0,0 +1,30 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import { errors } from '@elastic/elasticsearch'; + +export async function handle403Exception( + promise: Promise, + defaultValue: unknown +) { + try { + return await promise; + } catch (error) { + if ( + error instanceof errors.ResponseError && + error.meta.statusCode === 403 + ) { + console.error(`Suppressed insufficient access error: ${error.message}}`); + return defaultValue as T; + } + + console.error( + `Unhandled error: ${error.message} ${JSON.stringify(error)}}` + ); + + throw error; + } +} diff --git a/x-pack/plugins/apm/server/routes/diagnostics/route.ts b/x-pack/plugins/apm/server/routes/diagnostics/route.ts index f4698a913db58..3cde05ada9111 100644 --- a/x-pack/plugins/apm/server/routes/diagnostics/route.ts +++ b/x-pack/plugins/apm/server/routes/diagnostics/route.ts @@ -11,6 +11,7 @@ import { IndicesGetIndexTemplateIndexTemplateItem, IndicesGetResponse, IngestGetPipelineResponse, + SecurityHasPrivilegesPrivileges, } from '@elastic/elasticsearch/lib/api/types'; import * as t from 'io-ts'; import { isoToEpochRt } from '@kbn/io-ts-utils'; @@ -56,6 +57,13 @@ const getDiagnosticsRoute = createApmServerRoute({ indices: IndicesGetResponse; ingestPipelines: IngestGetPipelineResponse; }; + diagnosticsPrivileges: { + index: Record; + cluster: Record; + hasAllClusterPrivileges: boolean; + hasAllIndexPrivileges: boolean; + hasAllPrivileges: boolean; + }; apmIndices: ApmIndicesConfig; apmIndexTemplates: Array<{ name: string; diff --git a/x-pack/plugins/cloud/public/plugin.tsx b/x-pack/plugins/cloud/public/plugin.tsx index 11052f48de7a3..a12d090b0c9c4 100644 --- a/x-pack/plugins/cloud/public/plugin.tsx +++ b/x-pack/plugins/cloud/public/plugin.tsx @@ -24,6 +24,8 @@ export interface CloudConfigType { deployment_url?: string; billing_url?: string; organization_url?: string; + users_and_roles_url?: string; + performance_url?: string; trial_end_date?: string; is_elastic_staff_owned?: boolean; serverless?: { @@ -37,6 +39,8 @@ interface CloudUrls { billingUrl?: string; organizationUrl?: string; snapshotsUrl?: string; + performanceUrl?: string; + usersAndRolesUrl?: string; } export class CloudPlugin implements Plugin { @@ -110,7 +114,14 @@ export class CloudPlugin implements Plugin { ); }; - const { deploymentUrl, profileUrl, billingUrl, organizationUrl } = this.getCloudUrls(); + const { + deploymentUrl, + profileUrl, + billingUrl, + organizationUrl, + performanceUrl, + usersAndRolesUrl, + } = this.getCloudUrls(); let decodedId: DecodedCloudId | undefined; if (this.config.id) { @@ -131,6 +142,8 @@ export class CloudPlugin implements Plugin { serverless: { projectId: this.config.serverless?.project_id, }, + performanceUrl, + usersAndRolesUrl, }; } @@ -143,12 +156,16 @@ export class CloudPlugin implements Plugin { organization_url: organizationUrl, deployment_url: deploymentUrl, base_url: baseUrl, + performance_url: performanceUrl, + users_and_roles_url: usersAndRolesUrl, } = this.config; const fullCloudDeploymentUrl = getFullCloudUrl(baseUrl, deploymentUrl); const fullCloudProfileUrl = getFullCloudUrl(baseUrl, profileUrl); const fullCloudBillingUrl = getFullCloudUrl(baseUrl, billingUrl); const fullCloudOrganizationUrl = getFullCloudUrl(baseUrl, organizationUrl); + const fullCloudPerformanceUrl = getFullCloudUrl(baseUrl, performanceUrl); + const fullCloudUsersAndRolesUrl = getFullCloudUrl(baseUrl, usersAndRolesUrl); const fullCloudSnapshotsUrl = `${fullCloudDeploymentUrl}/${CLOUD_SNAPSHOTS_PATH}`; return { @@ -157,6 +174,8 @@ export class CloudPlugin implements Plugin { billingUrl: fullCloudBillingUrl, organizationUrl: fullCloudOrganizationUrl, snapshotsUrl: fullCloudSnapshotsUrl, + performanceUrl: fullCloudPerformanceUrl, + usersAndRolesUrl: fullCloudUsersAndRolesUrl, }; } } diff --git a/x-pack/plugins/cloud/public/types.ts b/x-pack/plugins/cloud/public/types.ts index 0224e0620c983..df4512f185ea1 100644 --- a/x-pack/plugins/cloud/public/types.ts +++ b/x-pack/plugins/cloud/public/types.ts @@ -36,6 +36,14 @@ export interface CloudStart { * The full URL to the organization management page on Elastic Cloud. Undefined if not running on Cloud. */ organizationUrl?: string; + /** + * The full URL to the performance page on Elastic Cloud. Undefined if not running on Cloud. + */ + performanceUrl?: string; + /** + * The full URL to the users and roles page on Elastic Cloud. Undefined if not running on Cloud. + */ + usersAndRolesUrl?: string; /** * The full URL to the elasticsearch cluster. */ diff --git a/x-pack/plugins/cloud/server/config.ts b/x-pack/plugins/cloud/server/config.ts index 66cd1f3a47411..c13c0b255e7f2 100644 --- a/x-pack/plugins/cloud/server/config.ts +++ b/x-pack/plugins/cloud/server/config.ts @@ -25,6 +25,8 @@ const configSchema = schema.object({ deployment_url: schema.maybe(schema.string()), id: schema.maybe(schema.string()), billing_url: schema.maybe(schema.string()), + performance_url: schema.maybe(schema.string()), + users_and_roles_url: schema.maybe(schema.string()), organization_url: schema.maybe(schema.string()), profile_url: schema.maybe(schema.string()), trial_end_date: schema.maybe(schema.string()), @@ -45,6 +47,8 @@ export const config: PluginConfigDescriptor = { deployment_url: true, id: true, billing_url: true, + users_and_roles_url: true, + performance_url: true, organization_url: true, profile_url: true, trial_end_date: true, diff --git a/x-pack/plugins/cloud_integrations/cloud_data_migration/server/config.ts b/x-pack/plugins/cloud_integrations/cloud_data_migration/server/config.ts index d1b9842857d47..e6a7fce2541f2 100644 --- a/x-pack/plugins/cloud_integrations/cloud_data_migration/server/config.ts +++ b/x-pack/plugins/cloud_integrations/cloud_data_migration/server/config.ts @@ -9,7 +9,14 @@ import { schema, TypeOf } from '@kbn/config-schema'; import { PluginConfigDescriptor } from '@kbn/core-plugins-server'; const configSchema = schema.object({ - enabled: schema.boolean({ defaultValue: true }), + enabled: schema.conditional( + schema.contextRef('serverless'), + true, + // cloud_data_migration is disabled in serverless; refer to the serverless.yml file as the source of truth + // We take this approach in order to have a central place (serverless.yml) to view disabled plugins across Kibana + schema.boolean({ defaultValue: true }), + schema.never() + ), }); export type CloudDataMigrationConfig = TypeOf; diff --git a/x-pack/plugins/cross_cluster_replication/server/config.ts b/x-pack/plugins/cross_cluster_replication/server/config.ts index 4cba6d0707abb..1d83f53920576 100644 --- a/x-pack/plugins/cross_cluster_replication/server/config.ts +++ b/x-pack/plugins/cross_cluster_replication/server/config.ts @@ -26,7 +26,14 @@ const schemaLatest = schema.object( * Disables the plugin. * Added back in 8.8. */ - enabled: schema.boolean({ defaultValue: true }), + enabled: schema.conditional( + schema.contextRef('serverless'), + true, + // CCR is disabled in serverless; refer to the serverless.yml file as the source of truth + // We take this approach in order to have a central place (serverless.yml) to view disabled plugins across Kibana + schema.boolean({ defaultValue: true }), + schema.never() + ), }, { defaultValue: undefined } ); diff --git a/x-pack/plugins/discover_log_explorer/common/datasets/models/dataset.ts b/x-pack/plugins/discover_log_explorer/common/datasets/models/dataset.ts index 9db74da31543f..68119fb6015b1 100644 --- a/x-pack/plugins/discover_log_explorer/common/datasets/models/dataset.ts +++ b/x-pack/plugins/discover_log_explorer/common/datasets/models/dataset.ts @@ -11,6 +11,7 @@ import { IndexPattern } from '@kbn/io-ts-utils'; import { DatasetId, DatasetType, IntegrationType } from '../types'; type IntegrationBase = Pick; + interface DatasetDeps extends DatasetType { iconType?: IconType; } @@ -41,6 +42,12 @@ export class Dataset { : this.title; } + getDatasetWildcard(): IndexPattern { + const [type, dataset, _namespace] = this.name.split('-'); + + return `${type}-${dataset}-*` as IndexPattern; + } + toDataviewSpec(): DataViewSpec { // Invert the property because the API returns the index pattern as `name` and a readable name as `title` return { @@ -68,4 +75,15 @@ export class Dataset { iconType: 'editorChecklist', }); } + + public static createWildcardDatasetsFrom(datasets: Dataset[]) { + // Gather unique list of wildcards + const wildcards = datasets.reduce( + (list, dataset) => list.add(dataset.getDatasetWildcard()), + new Set() + ); + + // Create new datasets for the retrieved wildcards + return Array.from(wildcards).map((wildcard) => Dataset.create({ name: wildcard })); + } } diff --git a/x-pack/plugins/discover_log_explorer/public/state_machines/datasets/src/state_machine.ts b/x-pack/plugins/discover_log_explorer/public/state_machines/datasets/src/state_machine.ts index f12bba3414ef3..005f41b18beaf 100644 --- a/x-pack/plugins/discover_log_explorer/public/state_machines/datasets/src/state_machine.ts +++ b/x-pack/plugins/discover_log_explorer/public/state_machines/datasets/src/state_machine.ts @@ -7,6 +7,7 @@ import { isEmpty, isError, omitBy } from 'lodash'; import { assign, createMachine } from 'xstate'; +import { Dataset } from '../../../../common/datasets'; import { IDatasetsClient } from '../../../services/datasets'; import { DEFAULT_CONTEXT } from './defaults'; import type { @@ -39,7 +40,7 @@ export const createPureDatasetsStateMachine = ( src: 'loadDatasets', onDone: { target: 'loaded', - actions: ['storeInCache', 'storeDatasets', 'storeSearch'], + actions: ['storeInCache', 'aggregateAndStoreDatasets', 'storeSearch'], }, onError: 'loadingFailed', }, @@ -77,8 +78,10 @@ export const createPureDatasetsStateMachine = ( // Store search from search event ...('search' in event && { search: event.search }), })), - storeDatasets: assign((_context, event) => - 'data' in event && !isError(event.data) ? { datasets: event.data.items } : {} + aggregateAndStoreDatasets: assign((_context, event) => + 'data' in event && !isError(event.data) + ? { datasets: Dataset.createWildcardDatasetsFrom(event.data.items) } + : {} ), storeInCache: (context, event) => { if ('data' in event && !isError(event.data)) { diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_overview/components/product_selector/lock_light.svg b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_overview/components/product_selector/lock_light.svg deleted file mode 100644 index 2a93dbdde2efe..0000000000000 --- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_overview/components/product_selector/lock_light.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_overview/components/product_selector/product_selector.test.tsx b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_overview/components/product_selector/product_selector.test.tsx index fb19ce8ae7ed2..1e4ec5ef456a0 100644 --- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_overview/components/product_selector/product_selector.test.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_overview/components/product_selector/product_selector.test.tsx @@ -11,9 +11,9 @@ import React from 'react'; import { shallow } from 'enzyme'; -import { EuiEmptyPrompt } from '@elastic/eui'; - import { WORKPLACE_SEARCH_PLUGIN } from '../../../../../common/constants'; +import { AddContentEmptyPrompt } from '../../../shared/add_content_empty_prompt'; +import { ErrorStateCallout } from '../../../shared/error_state'; import { ProductCard } from '../product_card'; import { SetupGuideCta } from '../setup_guide'; @@ -51,6 +51,40 @@ describe('ProductSelector', () => { ); }); + it('does not render connection error callout without an error', () => { + setMockValues({ config: { canDeployEntSearch: true, host: 'localhost' } }); + const wrapper = shallow(); + + expect(wrapper.find(ErrorStateCallout)).toHaveLength(0); + }); + + it('does render connection error callout with an error', () => { + setMockValues({ + config: { canDeployEntSearch: true, host: 'localhost' }, + errorConnectingMessage: '502 Bad Gateway', + }); + const wrapper = shallow(); + + expect(wrapper.find(ErrorStateCallout)).toHaveLength(1); + }); + + it('renders add content', () => { + setMockValues({ config: { canDeployEntSearch: true, host: 'localhost' } }); + const wrapper = shallow(); + + expect(wrapper.find(AddContentEmptyPrompt)).toHaveLength(1); + }); + + it('does not render add content when theres a connection error', () => { + setMockValues({ + config: { canDeployEntSearch: true, host: 'localhost' }, + errorConnectingMessage: '502 Bad Gateway', + }); + const wrapper = shallow(); + + expect(wrapper.find(AddContentEmptyPrompt)).toHaveLength(0); + }); + describe('access checks when host is set', () => { beforeEach(() => { setMockValues({ config: { canDeployEntSearch: true, host: 'localhost' } }); @@ -82,11 +116,11 @@ describe('ProductSelector', () => { expect(wrapper.find('[data-test-subj="productCard-elasticsearch"]')).toHaveLength(1); }); - it('renders empty prompt and no cards or license callout if the user does not have access', () => { + it('renders elasticsearch card if the user does not have access app search & workplace search', () => { const wrapper = shallow(); - expect(wrapper.find(EuiEmptyPrompt)).toHaveLength(1); - expect(wrapper.find(ProductCard)).toHaveLength(0); + expect(wrapper.find(ProductCard)).toHaveLength(1); + expect(wrapper.find('[data-test-subj="productCard-elasticsearch"]')).toHaveLength(1); }); }); }); diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_overview/components/product_selector/product_selector.tsx b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_overview/components/product_selector/product_selector.tsx index d1a205a4ddf72..bda23bbc0ac35 100644 --- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_overview/components/product_selector/product_selector.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_overview/components/product_selector/product_selector.tsx @@ -9,16 +9,7 @@ import React from 'react'; import { useValues } from 'kea'; -import { - EuiButton, - EuiEmptyPrompt, - EuiFlexGroup, - EuiFlexItem, - EuiImage, - EuiLink, - EuiSpacer, - EuiTitle, -} from '@elastic/eui'; +import { EuiFlexGroup, EuiFlexItem, EuiSpacer, EuiTitle } from '@elastic/eui'; import { Chat } from '@kbn/cloud-chat-plugin/public'; import { i18n } from '@kbn/i18n'; @@ -29,6 +20,8 @@ import { } from '../../../../../common/constants'; import { AddContentEmptyPrompt } from '../../../shared/add_content_empty_prompt'; import { docLinks } from '../../../shared/doc_links'; +import { ErrorStateCallout } from '../../../shared/error_state'; +import { HttpLogic } from '../../../shared/http'; import { KibanaLogic } from '../../../shared/kibana'; import { SetSearchChrome as SetPageChrome } from '../../../shared/kibana_chrome'; import { SendEnterpriseSearchTelemetry as SendTelemetry } from '../../../shared/telemetry'; @@ -38,8 +31,6 @@ import { ProductCard } from '../product_card'; import { SetupGuideCta } from '../setup_guide'; import { TrialCallout } from '../trial_callout'; -import illustration from './lock_light.svg'; - interface ProductSelectorProps { access: { hasAppSearchAccess?: boolean; @@ -54,32 +45,53 @@ export const ProductSelector: React.FC = ({ }) => { const { hasAppSearchAccess, hasWorkplaceSearchAccess } = access; const { config } = useValues(KibanaLogic); + const { errorConnectingMessage } = useValues(HttpLogic); + + const showErrorConnecting = !!(config.host && errorConnectingMessage); + // The create index flow does not work without ent-search, when content is updated + // to no longer rely on ent-search we can always show the Add Content component + const showAddContent = config.host && !errorConnectingMessage; // If Enterprise Search hasn't been set up yet, show all products. Otherwise, only show products the user has access to const shouldShowAppSearchCard = (!config.host && config.canDeployEntSearch) || hasAppSearchAccess; const shouldShowWorkplaceSearchCard = (!config.host && config.canDeployEntSearch) || hasWorkplaceSearchAccess; - // If Enterprise Search has been set up and the user does not have access to either product, show a message saying they - // need to contact an administrator to get access to one of the products. - const shouldShowEnterpriseSearchCards = - shouldShowAppSearchCard || shouldShowWorkplaceSearchCard || !config.canDeployEntSearch; - const WORKPLACE_SEARCH_URL = isWorkplaceSearchAdmin ? WORKPLACE_SEARCH_PLUGIN.URL : WORKPLACE_SEARCH_PLUGIN.NON_ADMIN_URL; - const productCards = ( - <> - - + return ( + + + + + {showAddContent && ( + <> + + + + )} + {showErrorConnecting && ( + <> + + + + )}

@@ -305,72 +317,6 @@ export const ProductSelector: React.FC = ({ )} - - ); - - const insufficientAccessMessage = ( - } - title={ -

- {i18n.translate('xpack.enterpriseSearch.overview.insufficientPermissionsTitle', { - defaultMessage: 'Insufficient permissions', - })} -

- } - layout="horizontal" - color="plain" - body={ - <> -

- {i18n.translate('xpack.enterpriseSearch.overview.insufficientPermissionsBody', { - defaultMessage: - 'You don’t have access to view this page. If you feel this may be an error, please contact your administrator.', - })} -

- - } - actions={ - - {i18n.translate('xpack.enterpriseSearch.overview.insufficientPermissionsButtonLabel', { - defaultMessage: 'Go to the Kibana dashboard', - })} - - } - footer={ - <> - - - {i18n.translate('xpack.enterpriseSearch.overview.insufficientPermissionsFooterBody', { - defaultMessage: 'Go to the Kibana dashboard', - })} - - {' '} - - {i18n.translate( - 'xpack.enterpriseSearch.overview.insufficientPermissionsFooterLinkLabel', - { - defaultMessage: 'Read documentation', - } - )} - - - } - /> - ); - return ( - - - - - {shouldShowEnterpriseSearchCards ? productCards : insufficientAccessMessage} ); diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_overview/index.test.tsx b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_overview/index.test.tsx index 50bec925e1ce8..6742de0816f81 100644 --- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_overview/index.test.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_overview/index.test.tsx @@ -12,9 +12,7 @@ import React from 'react'; import { shallow } from 'enzyme'; import { VersionMismatchPage } from '../shared/version_mismatch'; -import { rerender } from '../test_helpers'; -import { ErrorConnecting } from './components/error_connecting'; import { ProductSelector } from './components/product_selector'; import { SetupGuide } from './components/setup_guide'; @@ -32,29 +30,6 @@ describe('EnterpriseSearchOverview', () => { expect(wrapper.find(ProductSelector)).toHaveLength(1); }); - it('renders the error connecting prompt only if host is configured', () => { - setMockValues({ - errorConnectingMessage: '502 Bad Gateway', - config: { host: 'localhost' }, - }); - const wrapper = shallow(); - - expect(wrapper.find(VersionMismatchPage)).toHaveLength(0); - const errorConnecting = wrapper.find(ErrorConnecting); - expect(errorConnecting).toHaveLength(1); - expect(wrapper.find(ProductSelector)).toHaveLength(0); - - setMockValues({ - errorConnectingMessage: '502 Bad Gateway', - config: { host: '' }, - }); - rerender(wrapper); - - expect(wrapper.find(VersionMismatchPage)).toHaveLength(0); - expect(wrapper.find(ErrorConnecting)).toHaveLength(0); - expect(wrapper.find(ProductSelector)).toHaveLength(1); - }); - it('renders the version error message if versions mismatch and the host is configured', () => { setMockValues({ errorConnectingMessage: '', @@ -65,7 +40,6 @@ describe('EnterpriseSearchOverview', () => { ); expect(wrapper.find(VersionMismatchPage)).toHaveLength(1); - expect(wrapper.find(ErrorConnecting)).toHaveLength(0); expect(wrapper.find(ProductSelector)).toHaveLength(0); }); }); diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_overview/index.tsx b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_overview/index.tsx index 6fd4646e09923..5b8e595d6e88e 100644 --- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_overview/index.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_overview/index.tsx @@ -13,11 +13,9 @@ import { Routes, Route } from '@kbn/shared-ux-router'; import { isVersionMismatch } from '../../../common/is_version_mismatch'; import { InitialAppData } from '../../../common/types'; -import { HttpLogic } from '../shared/http'; import { KibanaLogic } from '../shared/kibana'; import { VersionMismatchPage } from '../shared/version_mismatch'; -import { ErrorConnecting } from './components/error_connecting'; import { ProductSelector } from './components/product_selector'; import { SetupGuide } from './components/setup_guide'; import { ROOT_PATH, SETUP_GUIDE_PATH } from './routes'; @@ -28,10 +26,8 @@ export const EnterpriseSearchOverview: React.FC = ({ enterpriseSearchVersion, kibanaVersion, }) => { - const { errorConnectingMessage } = useValues(HttpLogic); const { config } = useValues(KibanaLogic); - const showErrorConnecting = !!(config.host && errorConnectingMessage); const incompatibleVersions = !!( config.host && isVersionMismatch(enterpriseSearchVersion, kibanaVersion) ); @@ -45,8 +41,6 @@ export const EnterpriseSearchOverview: React.FC = ({ kibanaVersion={kibanaVersion} /> ); - } else if (showErrorConnecting) { - return ; } return ; diff --git a/x-pack/plugins/enterprise_search/public/applications/shared/error_state/error_state_prompt.tsx b/x-pack/plugins/enterprise_search/public/applications/shared/error_state/error_state_prompt.tsx index 43ed4c1e01533..2776b5292e756 100644 --- a/x-pack/plugins/enterprise_search/public/applications/shared/error_state/error_state_prompt.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/shared/error_state/error_state_prompt.tsx @@ -9,7 +9,7 @@ import React, { useEffect } from 'react'; import { useValues } from 'kea'; -import { EuiEmptyPrompt, EuiCode, EuiLink, EuiCodeBlock } from '@elastic/eui'; +import { EuiEmptyPrompt, EuiCode, EuiLink, EuiCodeBlock, EuiCallOut } from '@elastic/eui'; import { CloudSetup } from '@kbn/cloud-plugin/public'; import { i18n } from '@kbn/i18n'; import { FormattedMessage } from '@kbn/i18n-react'; @@ -27,9 +27,7 @@ import './error_state_prompt.scss'; const WORKPLACE_SEARCH_PERSONAL_DASHBOARD_PATH = '/p/'; export const ErrorStatePrompt: React.FC = () => { - const { errorConnectingMessage } = useValues(HttpLogic); - const { config, cloud, setChromeIsVisible, history } = useValues(KibanaLogic); - const isCloudEnabled = cloud.isCloudEnabled; + const { setChromeIsVisible, history } = useValues(KibanaLogic); const isWorkplaceSearchPersonalDashboardRoute = history.location.pathname.includes( WORKPLACE_SEARCH_PERSONAL_DASHBOARD_PATH ); @@ -55,25 +53,7 @@ export const ErrorStatePrompt: React.FC = () => {

} titleSize="l" - body={ - <> -

- - {config.host} - - ), - }} - /> -

- {errorConnectingMessage} - {isCloudEnabled ? cloudError(cloud) : nonCloudError()} - - } + body={} actions={[ { ); }; +export const ErrorStateCallout: React.FC = () => { + return ( + + + + + + + ); +}; + +const ErrorBody: React.FC = () => { + const { errorConnectingMessage } = useValues(HttpLogic); + const { config, cloud } = useValues(KibanaLogic); + const isCloudEnabled = cloud.isCloudEnabled; + return ( + <> +

+ + {config.host} + + ), + }} + /> +

+ {errorConnectingMessage} + {isCloudEnabled ? cloudError(cloud) : nonCloudError()} + + ); +}; + const cloudError = (cloud: Partial) => { const deploymentUrl = cloud?.deploymentUrl; return ( diff --git a/x-pack/plugins/enterprise_search/public/applications/shared/error_state/index.ts b/x-pack/plugins/enterprise_search/public/applications/shared/error_state/index.ts index 5f7ded8fa5190..b8e1783dbe901 100644 --- a/x-pack/plugins/enterprise_search/public/applications/shared/error_state/index.ts +++ b/x-pack/plugins/enterprise_search/public/applications/shared/error_state/index.ts @@ -5,4 +5,4 @@ * 2.0. */ -export { ErrorStatePrompt } from './error_state_prompt'; +export { ErrorStatePrompt, ErrorStateCallout } from './error_state_prompt'; diff --git a/x-pack/plugins/exploratory_view/common/field_names/infra_logs.ts b/x-pack/plugins/exploratory_view/common/field_names/infra_logs.ts deleted file mode 100644 index 4e81264fd7fbd..0000000000000 --- a/x-pack/plugins/exploratory_view/common/field_names/infra_logs.ts +++ /dev/null @@ -1,10 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { DOCUMENT_FIELD_NAME } from '@kbn/lens-plugin/common'; - -export const LOG_RATE = DOCUMENT_FIELD_NAME; diff --git a/x-pack/plugins/exploratory_view/common/field_names/infra_metrics.ts b/x-pack/plugins/exploratory_view/common/field_names/infra_metrics.ts deleted file mode 100644 index 26683dd2a206e..0000000000000 --- a/x-pack/plugins/exploratory_view/common/field_names/infra_metrics.ts +++ /dev/null @@ -1,11 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -export const SYSTEM_CPU_PERCENTAGE_FIELD = 'system.cpu.total.norm.pct'; -export const SYSTEM_MEMORY_PERCENTAGE_FIELD = 'system.memory.used.pct'; -export const DOCKER_CPU_PERCENTAGE_FIELD = 'docker.cpu.total.pct'; -export const K8S_POD_CPU_PERCENTAGE_FIELD = 'kubernetes.pod.cpu.usage.node.pct'; diff --git a/x-pack/plugins/exploratory_view/common/index.ts b/x-pack/plugins/exploratory_view/common/index.ts index 8beb22b04239e..fc4b993eaeef7 100644 --- a/x-pack/plugins/exploratory_view/common/index.ts +++ b/x-pack/plugins/exploratory_view/common/index.ts @@ -5,15 +5,4 @@ * 2.0. */ -export { - NETWORK_TIMINGS_FIELDS, - SYNTHETICS_BLOCKED_TIMINGS, - SYNTHETICS_CONNECT_TIMINGS, - SYNTHETICS_DNS_TIMINGS, - SYNTHETICS_RECEIVE_TIMINGS, - SYNTHETICS_SEND_TIMINGS, - SYNTHETICS_SSL_TIMINGS, - SYNTHETICS_STEP_DURATION, - SYNTHETICS_TOTAL_TIMINGS, - SYNTHETICS_WAIT_TIMINGS, -} from './field_names/synthetics'; +export {}; diff --git a/x-pack/plugins/exploratory_view/tsconfig.json b/x-pack/plugins/exploratory_view/tsconfig.json index e4bf5281d9a49..18a9e70d007d7 100644 --- a/x-pack/plugins/exploratory_view/tsconfig.json +++ b/x-pack/plugins/exploratory_view/tsconfig.json @@ -3,12 +3,7 @@ "compilerOptions": { "outDir": "target/types" }, - "include": [ - "common/**/*", - "public/**/*", - "public/**/*.json", - "../../../typings/**/*" - ], + "include": ["common/**/*", "public/**/*", "public/**/*.json", "../../../typings/**/*"], "kbn_references": [ "@kbn/core", "@kbn/data-plugin", diff --git a/x-pack/plugins/fleet/common/services/agent_policies_helpers.ts b/x-pack/plugins/fleet/common/services/agent_policies_helpers.ts index 9db799997fad3..52ce24634886e 100644 --- a/x-pack/plugins/fleet/common/services/agent_policies_helpers.ts +++ b/x-pack/plugins/fleet/common/services/agent_policies_helpers.ts @@ -6,7 +6,7 @@ */ import type { AgentPolicy } from '../types'; -import { FLEET_SERVER_PACKAGE, FLEET_APM_PACKAGE } from '../constants'; +import { FLEET_SERVER_PACKAGE, FLEET_APM_PACKAGE, FLEET_SYNTHETICS_PACKAGE } from '../constants'; export function policyHasFleetServer(agentPolicy: AgentPolicy) { if (!agentPolicy.package_policies) { @@ -19,8 +19,17 @@ export function policyHasFleetServer(agentPolicy: AgentPolicy) { } export function policyHasAPMIntegration(agentPolicy: AgentPolicy) { + return policyHasIntegration(agentPolicy, FLEET_APM_PACKAGE); +} + +export function policyHasSyntheticsIntegration(agentPolicy: AgentPolicy) { + return policyHasIntegration(agentPolicy, FLEET_SYNTHETICS_PACKAGE); +} + +function policyHasIntegration(agentPolicy: AgentPolicy, packageName: string) { if (!agentPolicy.package_policies) { return false; } - return agentPolicy.package_policies?.some((p) => p.package?.name === FLEET_APM_PACKAGE); + + return agentPolicy.package_policies?.some((p) => p.package?.name === packageName); } diff --git a/x-pack/plugins/fleet/common/services/index.ts b/x-pack/plugins/fleet/common/services/index.ts index 6b392f506b4c6..abf06ac54b07c 100644 --- a/x-pack/plugins/fleet/common/services/index.ts +++ b/x-pack/plugins/fleet/common/services/index.ts @@ -63,7 +63,11 @@ export { export { getAllowedOutputTypeForPolicy } from './output_helpers'; export { agentStatusesToSummary } from './agent_statuses_to_summary'; -export { policyHasFleetServer, policyHasAPMIntegration } from './agent_policies_helpers'; +export { + policyHasFleetServer, + policyHasAPMIntegration, + policyHasSyntheticsIntegration, +} from './agent_policies_helpers'; export { generateNewAgentPolicyWithDefaults, diff --git a/x-pack/plugins/fleet/common/services/output_helpers.ts b/x-pack/plugins/fleet/common/services/output_helpers.ts index d0d8c826878fd..00b480c378b61 100644 --- a/x-pack/plugins/fleet/common/services/output_helpers.ts +++ b/x-pack/plugins/fleet/common/services/output_helpers.ts @@ -6,7 +6,12 @@ */ import type { AgentPolicy } from '../types'; -import { FLEET_APM_PACKAGE, FLEET_SERVER_PACKAGE, outputType } from '../constants'; +import { + FLEET_APM_PACKAGE, + FLEET_SERVER_PACKAGE, + FLEET_SYNTHETICS_PACKAGE, + outputType, +} from '../constants'; /** * Return allowed output type for a given agent policy, @@ -16,7 +21,10 @@ export function getAllowedOutputTypeForPolicy(agentPolicy: AgentPolicy) { const isRestrictedToSameClusterES = agentPolicy.package_policies && agentPolicy.package_policies.some( - (p) => p.package?.name === FLEET_APM_PACKAGE || p.package?.name === FLEET_SERVER_PACKAGE + (p) => + p.package?.name === FLEET_APM_PACKAGE || + p.package?.name === FLEET_SERVER_PACKAGE || + p.package?.name === FLEET_SYNTHETICS_PACKAGE ); if (isRestrictedToSameClusterES) { diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/components/agent_policy_advanced_fields/hooks.test.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/components/agent_policy_advanced_fields/hooks.test.tsx index 1a415e51e23a6..2d7eef6b864bf 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/components/agent_policy_advanced_fields/hooks.test.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/components/agent_policy_advanced_fields/hooks.test.tsx @@ -130,7 +130,7 @@ describe('useOutputOptions', () => { size="s" > { size="s" > { size="s" > { size="s" > { size="s" > { size="s" > { size="s" > { size="s" > getAllowedOutputTypeForPolicy(agentPolicy as AgentPolicy), [agentPolicy] @@ -89,7 +90,7 @@ export function useOutputOptions(agentPolicy: Partial ) : undefined ), - disabled: !isLicenceAllowingPolicyPerOutput || isOutputTypeUnsupported, + disabled: !isPolicyPerOutputAllowed || isOutputTypeUnsupported, }; }), ]; - }, [outputsRequest, isLicenceAllowingPolicyPerOutput, allowedOutputTypes]); + }, [outputsRequest, isPolicyPerOutputAllowed, allowedOutputTypes]); const monitoringOutputOptions = useMemo(() => { if (outputsRequest.isLoading || !outputsRequest.data) { @@ -135,11 +136,11 @@ export function useOutputOptions(agentPolicy: Partial ({ diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_output_flyout/confirm_update.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_output_flyout/confirm_update.tsx index 8d96c5f314547..4157c6964f79a 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_output_flyout/confirm_update.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_output_flyout/confirm_update.tsx @@ -73,13 +73,13 @@ const ConfirmDescription: React.FunctionComponent = ({ title={ } > {' '} diff --git a/x-pack/plugins/fleet/server/collectors/agent_logs_top_errors.test.ts b/x-pack/plugins/fleet/server/collectors/agent_logs_top_errors.test.ts new file mode 100644 index 0000000000000..c0a6f451446c2 --- /dev/null +++ b/x-pack/plugins/fleet/server/collectors/agent_logs_top_errors.test.ts @@ -0,0 +1,84 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import type { ElasticsearchClient } from '@kbn/core-elasticsearch-server'; + +import { getAgentLogsTopErrors } from './agent_logs_top_errors'; + +describe('getAgentLogsTopErrors', () => { + it('should return top 3 errors from 100 hits', async () => { + const esClientMock = { + search: jest.fn().mockImplementation((params) => { + if (params.index === 'logs-elastic_agent-*') + return { + hits: { + hits: [ + { + _source: { + message: 'error 2', + }, + }, + { + _source: { + message: 'error 2', + }, + }, + { + _source: { + message: 'error 3', + }, + }, + { + _source: { + message: 'error 3', + }, + }, + { + _source: { + message: 'error 3', + }, + }, + { + _source: { + message: 'error 1', + }, + }, + ], + }, + }; + else + return { + hits: { + hits: [ + { + _source: { + message: 'fleet server error 2', + }, + }, + { + _source: { + message: 'fleet server error 2', + }, + }, + { + _source: { + message: 'fleet server error 1', + }, + }, + ], + }, + }; + }), + } as unknown as ElasticsearchClient; + + const topErrors = await getAgentLogsTopErrors(esClientMock); + expect(topErrors).toEqual({ + agent_logs_top_errors: ['error 3', 'error 2', 'error 1'], + fleet_server_logs_top_errors: ['fleet server error 2', 'fleet server error 1'], + }); + }); +}); diff --git a/x-pack/plugins/fleet/server/collectors/agent_logs_top_errors.ts b/x-pack/plugins/fleet/server/collectors/agent_logs_top_errors.ts index 562a217c2bd19..34a279ffc6f7e 100644 --- a/x-pack/plugins/fleet/server/collectors/agent_logs_top_errors.ts +++ b/x-pack/plugins/fleet/server/collectors/agent_logs_top_errors.ts @@ -7,6 +7,10 @@ import type { ElasticsearchClient } from '@kbn/core-elasticsearch-server'; +import { sortBy } from 'lodash'; + +import { DATA_TIERS } from '../../common/constants'; + import { appContextService } from '../services'; export interface AgentLogsData { @@ -29,10 +33,16 @@ export async function getAgentLogsTopErrors( const queryTopMessages = (index: string) => esClient.search({ index, - size: 0, + size: 100, + _source: ['message'], query: { bool: { filter: [ + { + terms: { + _tier: DATA_TIERS, + }, + }, { term: { 'log.level': 'error', @@ -48,35 +58,32 @@ export async function getAgentLogsTopErrors( ], }, }, - aggs: { - message_sample: { - sampler: { - shard_size: 200, - }, - aggs: { - categories: { - categorize_text: { - field: 'message', - size: 10, - }, - }, - }, - }, - }, }); - const transformBuckets = (resp: any) => - ((resp?.aggregations?.message_sample as any)?.categories?.buckets ?? []) + const getTopErrors = (resp: any) => { + const counts = (resp?.hits.hits ?? []).reduce((acc: any, curr: any) => { + if (!acc[curr._source.message]) { + acc[curr._source.message] = 0; + } + acc[curr._source.message]++; + return acc; + }, {}); + const top3 = sortBy( + Object.entries(counts).map(([key, value]) => ({ key, value })), + 'value' + ) .slice(0, 3) - .map((bucket: any) => bucket.key); + .reverse(); + return top3.map(({ key, value }) => key); + }; const agentResponse = await queryTopMessages('logs-elastic_agent-*'); const fleetServerResponse = await queryTopMessages('logs-elastic_agent.fleet_server-*'); return { - agent_logs_top_errors: transformBuckets(agentResponse), - fleet_server_logs_top_errors: transformBuckets(fleetServerResponse), + agent_logs_top_errors: getTopErrors(agentResponse), + fleet_server_logs_top_errors: getTopErrors(fleetServerResponse), }; } catch (error) { if (error.statusCode === 404) { diff --git a/x-pack/plugins/fleet/server/collectors/register.ts b/x-pack/plugins/fleet/server/collectors/register.ts index 901a049df8d73..c9922f78b70ce 100644 --- a/x-pack/plugins/fleet/server/collectors/register.ts +++ b/x-pack/plugins/fleet/server/collectors/register.ts @@ -21,6 +21,7 @@ import type { FleetServerUsage } from './fleet_server_collector'; import { getAgentPoliciesUsage } from './agent_policies'; import type { AgentPanicLogsData } from './agent_logs_panics'; import { getPanicLogsLastHour } from './agent_logs_panics'; +import { getAgentLogsTopErrors } from './agent_logs_top_errors'; export interface Usage { agents_enabled: boolean; @@ -64,8 +65,7 @@ export const fetchFleetUsage = async ( fleet_server_config: await getFleetServerConfig(soClient), agent_policies: await getAgentPoliciesUsage(soClient), ...(await getPanicLogsLastHour(esClient)), - // TODO removed top errors telemetry as it causes this issue: https://github.com/elastic/kibana/issues/148976 - // ...(await getAgentLogsTopErrors(esClient)), + ...(await getAgentLogsTopErrors(esClient)), }; return usage; }; diff --git a/x-pack/plugins/fleet/server/integration_tests/__snapshots__/cloud_preconfiguration.test.ts.snap b/x-pack/plugins/fleet/server/integration_tests/__snapshots__/cloud_preconfiguration.test.ts.snap deleted file mode 100644 index 6a9de18956e43..0000000000000 --- a/x-pack/plugins/fleet/server/integration_tests/__snapshots__/cloud_preconfiguration.test.ts.snap +++ /dev/null @@ -1,258 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`Fleet preconfiguration reset Preconfigured cloud policy With a full preconfigured cloud policy Create correct .fleet-policies 1`] = ` -Object { - "agent": Object { - "download": Object { - "sourceURI": "https://artifacts.elastic.co/downloads/", - }, - "features": Object {}, - "monitoring": Object { - "enabled": false, - "logs": false, - "metrics": false, - }, - "protection": Object { - "enabled": false, - "signing_key": "", - "uninstall_token_hash": "", - }, - }, - "id": "policy-elastic-agent-on-cloud", - "inputs": Array [ - Object { - "data_stream": Object { - "namespace": "default", - }, - "id": "fleet-server-fleet_server-elastic-cloud-fleet-server", - "meta": Object { - "package": Object { - "name": "fleet_server", - }, - }, - "name": "Fleet Server", - "package_policy_id": "elastic-cloud-fleet-server", - "revision": 1, - "server.runtime": Object { - "gc_percent": 20, - }, - "type": "fleet-server", - "unused_key": "not_used", - "use_output": "es-containerhost", - }, - Object { - "apm-server": Object { - "agent": Object { - "config": Object { - "elasticsearch": Object { - "api_key": "", - }, - }, - }, - "agent_config": Array [], - "auth": Object { - "anonymous": Object { - "allow_agent": Array [ - "rum-js", - "js-base", - "iOS/swift", - ], - "allow_service": null, - "enabled": true, - "rate_limit": Object { - "event_limit": 300, - "ip_limit": 1000, - }, - }, - "api_key": Object { - "enabled": true, - "limit": 100, - }, - "secret_token": "CLOUD_SECRET_TOKEN", - }, - "capture_personal_data": true, - "default_service_environment": null, - "expvar.enabled": false, - "host": "0.0.0.0:8200", - "idle_timeout": "45s", - "java_attacher": Object { - "discovery-rules": null, - "download-agent-version": null, - "enabled": false, - }, - "max_connections": 0, - "max_event_size": 307200, - "max_header_size": 1048576, - "pprof.enabled": false, - "read_timeout": "3600s", - "response_headers": null, - "rum": Object { - "allow_headers": null, - "allow_origins": Array [ - "*", - ], - "enabled": true, - "exclude_from_grouping": "^/webpack", - "library_pattern": "node_modules|bower_components|~", - "response_headers": null, - "source_mapping": Object { - "elasticsearch": Object { - "api_key": "", - }, - "metadata": Array [], - }, - }, - "sampling": Object { - "tail": Object { - "enabled": false, - "interval": "1m", - "policies": Array [ - Object { - "sample_rate": 0.1, - }, - ], - "storage_limit": "3GB", - }, - }, - "shutdown_timeout": "30s", - "ssl": Object { - "certificate": "/app/config/certs/node.crt", - "cipher_suites": null, - "curve_types": null, - "enabled": true, - "key": "/app/config/certs/node.key", - "key_passphrase": null, - "supported_protocols": Array [ - "TLSv1.1", - "TLSv1.2", - "TLSv1.3", - ], - }, - "write_timeout": "30s", - }, - "data_stream": Object { - "namespace": "default", - }, - "id": "elastic-cloud-apm", - "meta": Object { - "package": Object { - "name": "apm", - }, - }, - "name": "Elastic APM", - "package_policy_id": "elastic-cloud-apm", - "revision": 2, - "type": "apm", - "use_output": "es-containerhost", - }, - ], - "output_permissions": Object { - "es-containerhost": Object { - "_elastic_agent_checks": Object { - "cluster": Array [ - "monitor", - ], - }, - "_elastic_agent_monitoring": Object { - "indices": Array [], - }, - "elastic-cloud-apm": Object { - "cluster": Array [ - "cluster:monitor/main", - ], - "indices": Array [ - Object { - "names": Array [ - "logs-apm.app-default", - ], - "privileges": Array [ - "auto_configure", - "create_doc", - ], - }, - Object { - "names": Array [ - "metrics-apm.app.*-default", - ], - "privileges": Array [ - "auto_configure", - "create_doc", - ], - }, - Object { - "names": Array [ - "logs-apm.error-default", - ], - "privileges": Array [ - "auto_configure", - "create_doc", - ], - }, - Object { - "names": Array [ - "metrics-apm.internal-default", - ], - "privileges": Array [ - "auto_configure", - "create_doc", - ], - }, - Object { - "names": Array [ - "metrics-apm.profiling-default", - ], - "privileges": Array [ - "auto_configure", - "create_doc", - ], - }, - Object { - "names": Array [ - "traces-apm.rum-default", - ], - "privileges": Array [ - "auto_configure", - "create_doc", - ], - }, - Object { - "names": Array [ - "traces-apm.sampled-default", - ], - "privileges": Array [ - "auto_configure", - "create_doc", - "maintenance", - "monitor", - "read", - ], - }, - Object { - "names": Array [ - "traces-apm-default", - ], - "privileges": Array [ - "auto_configure", - "create_doc", - ], - }, - ], - }, - }, - }, - "outputs": Object { - "es-containerhost": Object { - "hosts": Array [ - "https://cloudinternales:9200", - ], - "type": "elasticsearch", - }, - }, - "revision": 5, - "secret_references": Array [], - "signed": Object { - "data": "", - "signature": "", - }, -} -`; diff --git a/x-pack/plugins/fleet/server/integration_tests/cloud_preconfiguration.test.ts b/x-pack/plugins/fleet/server/integration_tests/cloud_preconfiguration.test.ts index 7c18ef95997f6..7da8edb68f9f7 100644 --- a/x-pack/plugins/fleet/server/integration_tests/cloud_preconfiguration.test.ts +++ b/x-pack/plugins/fleet/server/integration_tests/cloud_preconfiguration.test.ts @@ -164,7 +164,201 @@ describe('Fleet preconfiguration reset', () => { data.signed.data = ''; data.signed.signature = ''; - expect(data).toMatchSnapshot(); + expect(data).toEqual({ + agent: { + download: { + sourceURI: 'https://artifacts.elastic.co/downloads/', + }, + features: {}, + monitoring: { + enabled: false, + logs: false, + metrics: false, + }, + protection: { + enabled: false, + signing_key: '', + uninstall_token_hash: '', + }, + }, + id: 'policy-elastic-agent-on-cloud', + inputs: [ + { + data_stream: { + namespace: 'default', + }, + id: 'fleet-server-fleet_server-elastic-cloud-fleet-server', + meta: { + package: { + name: 'fleet_server', + }, + }, + name: 'Fleet Server', + package_policy_id: 'elastic-cloud-fleet-server', + revision: 1, + 'server.runtime': { + gc_percent: 20, + }, + type: 'fleet-server', + unused_key: 'not_used', + use_output: 'es-containerhost', + }, + { + 'apm-server': { + agent: { + config: { + elasticsearch: { + api_key: '', + }, + }, + }, + agent_config: [], + auth: { + anonymous: { + allow_agent: ['rum-js', 'js-base', 'iOS/swift'], + allow_service: null, + enabled: true, + rate_limit: { + event_limit: 300, + ip_limit: 1000, + }, + }, + api_key: { + enabled: true, + limit: 100, + }, + secret_token: 'CLOUD_SECRET_TOKEN', + }, + capture_personal_data: true, + default_service_environment: null, + 'expvar.enabled': false, + host: '0.0.0.0:8200', + idle_timeout: '45s', + java_attacher: { + 'discovery-rules': null, + 'download-agent-version': null, + enabled: false, + }, + max_connections: 0, + max_event_size: 307200, + max_header_size: 1048576, + 'pprof.enabled': false, + read_timeout: '3600s', + response_headers: null, + rum: { + allow_headers: null, + allow_origins: ['*'], + enabled: true, + exclude_from_grouping: '^/webpack', + library_pattern: 'node_modules|bower_components|~', + response_headers: null, + source_mapping: { + elasticsearch: { + api_key: '', + }, + metadata: [], + }, + }, + sampling: { + tail: { + enabled: false, + interval: '1m', + policies: [ + { + sample_rate: 0.1, + }, + ], + storage_limit: '3GB', + }, + }, + shutdown_timeout: '30s', + ssl: { + certificate: '/app/config/certs/node.crt', + cipher_suites: null, + curve_types: null, + enabled: true, + key: '/app/config/certs/node.key', + key_passphrase: null, + supported_protocols: ['TLSv1.1', 'TLSv1.2', 'TLSv1.3'], + }, + write_timeout: '30s', + }, + data_stream: { + namespace: 'default', + }, + id: 'elastic-cloud-apm', + meta: { + package: { + name: 'apm', + }, + }, + name: 'Elastic APM', + package_policy_id: 'elastic-cloud-apm', + revision: 2, + type: 'apm', + use_output: 'es-containerhost', + }, + ], + output_permissions: { + 'es-containerhost': { + _elastic_agent_checks: { + cluster: ['monitor'], + }, + _elastic_agent_monitoring: { + indices: [], + }, + 'elastic-cloud-apm': { + cluster: ['cluster:monitor/main'], + indices: [ + { + names: ['logs-apm.app-default'], + privileges: ['auto_configure', 'create_doc'], + }, + { + names: ['metrics-apm.app.*-default'], + privileges: ['auto_configure', 'create_doc'], + }, + { + names: ['logs-apm.error-default'], + privileges: ['auto_configure', 'create_doc'], + }, + { + names: ['metrics-apm.internal-default'], + privileges: ['auto_configure', 'create_doc'], + }, + { + names: ['metrics-apm.profiling-default'], + privileges: ['auto_configure', 'create_doc'], + }, + { + names: ['traces-apm.rum-default'], + privileges: ['auto_configure', 'create_doc'], + }, + { + names: ['traces-apm.sampled-default'], + privileges: ['auto_configure', 'create_doc', 'maintenance', 'monitor', 'read'], + }, + { + names: ['traces-apm-default'], + privileges: ['auto_configure', 'create_doc'], + }, + ], + }, + }, + }, + outputs: { + 'es-containerhost': { + hosts: ['https://cloudinternales:9200'], + type: 'elasticsearch', + }, + }, + revision: 5, + secret_references: [], + signed: { + data: '', + signature: '', + }, + }); }); it('Create correct package policies', async () => { diff --git a/x-pack/plugins/fleet/server/integration_tests/fleet_usage_telemetry.test.ts b/x-pack/plugins/fleet/server/integration_tests/fleet_usage_telemetry.test.ts index e95a6fce722a0..0589f567b971f 100644 --- a/x-pack/plugins/fleet/server/integration_tests/fleet_usage_telemetry.test.ts +++ b/x-pack/plugins/fleet/server/integration_tests/fleet_usage_telemetry.test.ts @@ -400,8 +400,12 @@ describe('fleet usage telemetry', () => { message: 'stderr panic some other panic', }, ], - // agent_logs_top_errors: ['stderr panic close of closed channel'], - // fleet_server_logs_top_errors: ['failed to unenroll offline agents'], + agent_logs_top_errors: [ + 'stderr panic some other panic', + 'stderr panic close of closed channel', + 'this should not be included in metrics', + ], + fleet_server_logs_top_errors: ['failed to unenroll offline agents'], }) ); }); diff --git a/x-pack/plugins/fleet/server/services/agent_policies/output_helpers.test.ts b/x-pack/plugins/fleet/server/services/agent_policies/output_helpers.test.ts index 29d48d5d595ef..e43bc275a9c4d 100644 --- a/x-pack/plugins/fleet/server/services/agent_policies/output_helpers.test.ts +++ b/x-pack/plugins/fleet/server/services/agent_policies/output_helpers.test.ts @@ -196,7 +196,7 @@ describe('validateOutputForPolicy', () => { ); }); - it('should not allow logstash output to be used with a policy using fleet server or APM', async () => { + it('should not allow logstash output to be used with a policy using fleet server, synthetics or APM', async () => { mockHasLicence(true); mockedOutputService.get.mockResolvedValue({ type: 'logstash', @@ -217,7 +217,7 @@ describe('validateOutputForPolicy', () => { ); }); - it('should allow elasticsearch output to be used with a policy using fleet server or APM', async () => { + it('should allow elasticsearch output to be used with a policy using fleet server, synthetics or APM', async () => { mockHasLicence(true); mockedOutputService.get.mockResolvedValue({ type: 'elasticsearch', diff --git a/x-pack/plugins/fleet/server/services/agent_policies/outputs_helpers.ts b/x-pack/plugins/fleet/server/services/agent_policies/outputs_helpers.ts index d93bb965295ef..bbe00c49b414f 100644 --- a/x-pack/plugins/fleet/server/services/agent_policies/outputs_helpers.ts +++ b/x-pack/plugins/fleet/server/services/agent_policies/outputs_helpers.ts @@ -9,7 +9,7 @@ import type { SavedObjectsClientContract } from '@kbn/core/server'; import type { AgentPolicySOAttributes, AgentPolicy } from '../../types'; import { LICENCE_FOR_PER_POLICY_OUTPUT, outputType } from '../../../common/constants'; -import { policyHasFleetServer } from '../../../common/services'; +import { policyHasFleetServer, policyHasSyntheticsIntegration } from '../../../common/services'; import { appContextService } from '..'; import { outputService } from '../output'; import { OutputInvalidError, OutputLicenceError } from '../../errors'; @@ -80,6 +80,9 @@ export async function validateOutputForPolicy( // Validate output when the policy has fleet server if (policyHasFleetServer(data as AgentPolicy)) return; + // Validate output when the policy has synthetics integration + if (policyHasSyntheticsIntegration(data as AgentPolicy)) return; + const hasLicence = appContextService .getSecurityLicense() .hasAtLeast(LICENCE_FOR_PER_POLICY_OUTPUT); diff --git a/x-pack/plugins/fleet/server/services/agent_policy.ts b/x-pack/plugins/fleet/server/services/agent_policy.ts index d32737e0eb5c1..6958ea80c00d6 100644 --- a/x-pack/plugins/fleet/server/services/agent_policy.ts +++ b/x-pack/plugins/fleet/server/services/agent_policy.ts @@ -48,6 +48,7 @@ import { packageToPackagePolicy, policyHasFleetServer, policyHasAPMIntegration, + policyHasSyntheticsIntegration, } from '../../common/services'; import { agentPolicyStatuses, @@ -211,6 +212,10 @@ class AgentPolicyService { return policyHasFleetServer(agentPolicy); } + public hasSyntheticsIntegration(agentPolicy: AgentPolicy) { + return policyHasSyntheticsIntegration(agentPolicy); + } + public async create( soClient: SavedObjectsClientContract, esClient: ElasticsearchClient, diff --git a/x-pack/plugins/fleet/server/services/output.test.ts b/x-pack/plugins/fleet/server/services/output.test.ts index 7c0076abfc653..5ecd3a4a29a40 100644 --- a/x-pack/plugins/fleet/server/services/output.test.ts +++ b/x-pack/plugins/fleet/server/services/output.test.ts @@ -201,7 +201,7 @@ function getMockedSoClient( describe('Output Service', () => { const esClientMock = elasticsearchServiceMock.createElasticsearchClient(); - const mockedAgentPolicyResolvedValue = { + const mockedAgentPolicyWithFleetServerResolvedValue = { items: [ { name: 'fleet server policy', @@ -232,18 +232,50 @@ describe('Output Service', () => { ], } as unknown as ReturnType; + const mockedAgentPolicyWithSyntheticsResolvedValue = { + items: [ + { + name: 'synthetics policy', + id: 'synthetics_policy', + package_policies: [ + { + name: 'synthetics-123', + package: { + name: 'synthetics', + }, + }, + ], + }, + { + name: 'agent policy 1', + id: 'agent_policy_1', + is_managed: false, + package_policies: [ + { + name: 'nginx', + package: { + name: 'nginx', + }, + }, + ], + }, + ], + } as unknown as ReturnType; + beforeEach(() => { mockedAgentPolicyService.list.mockClear(); mockedAgentPolicyService.hasAPMIntegration.mockClear(); mockedAgentPolicyService.hasFleetServerIntegration.mockClear(); + mockedAgentPolicyService.hasSyntheticsIntegration.mockClear(); mockedAgentPolicyService.removeOutputFromAll.mockReset(); mockedAppContextService.getInternalUserSOClient.mockReset(); mockedAppContextService.getEncryptedSavedObjectsSetup.mockReset(); mockedAuditLoggingService.writeCustomSoAuditLog.mockReset(); mockedAgentPolicyService.update.mockReset(); }); + describe('create', () => { - it('work with a predefined id', async () => { + it('works with a predefined id', async () => { const soClient = getMockedSoClient(); await outputService.create( @@ -446,7 +478,9 @@ describe('Output Service', () => { mockedAppContextService.getEncryptedSavedObjectsSetup.mockReturnValue({ canEncrypt: true, } as any); - mockedAgentPolicyService.list.mockResolvedValue(mockedAgentPolicyResolvedValue); + mockedAgentPolicyService.list.mockResolvedValue( + mockedAgentPolicyWithFleetServerResolvedValue + ); mockedAgentPolicyService.hasFleetServerIntegration.mockReturnValue(true); await outputService.create( @@ -470,6 +504,37 @@ describe('Output Service', () => { ); }); + it('should update synthetics policies with data_output_id=default_output_id if a new default logstash output is created', async () => { + const soClient = getMockedSoClient({ + defaultOutputId: 'output-test', + }); + mockedAppContextService.getEncryptedSavedObjectsSetup.mockReturnValue({ + canEncrypt: true, + } as any); + mockedAgentPolicyService.list.mockResolvedValue(mockedAgentPolicyWithSyntheticsResolvedValue); + mockedAgentPolicyService.hasSyntheticsIntegration.mockReturnValue(true); + + await outputService.create( + soClient, + esClientMock, + { + is_default: true, + is_default_monitoring: false, + name: 'Test', + type: 'logstash', + }, + { id: 'output-1' } + ); + + expect(mockedAgentPolicyService.update).toBeCalledWith( + expect.anything(), + expect.anything(), + 'synthetics_policy', + { data_output_id: 'output-test' }, + { force: false } + ); + }); + it('Should allow to create a new logstash output with no errors if is not set as default', async () => { const soClient = getMockedSoClient({ defaultOutputId: 'output-test', @@ -477,7 +542,9 @@ describe('Output Service', () => { mockedAppContextService.getEncryptedSavedObjectsSetup.mockReturnValue({ canEncrypt: true, } as any); - mockedAgentPolicyService.list.mockResolvedValue(mockedAgentPolicyResolvedValue); + mockedAgentPolicyService.list.mockResolvedValue( + mockedAgentPolicyWithFleetServerResolvedValue + ); mockedAgentPolicyService.hasFleetServerIntegration.mockReturnValue(true); await outputService.create( @@ -523,7 +590,9 @@ describe('Output Service', () => { mockedAppContextService.getEncryptedSavedObjectsSetup.mockReturnValue({ canEncrypt: true, } as any); - mockedAgentPolicyService.list.mockResolvedValue(mockedAgentPolicyResolvedValue); + mockedAgentPolicyService.list.mockResolvedValue( + mockedAgentPolicyWithFleetServerResolvedValue + ); mockedAgentPolicyService.hasFleetServerIntegration.mockReturnValue(true); await outputService.create( @@ -547,6 +616,37 @@ describe('Output Service', () => { ); }); + it('Should update synthetics policies with data_output_id=default_output_id if a new default kafka output is created', async () => { + const soClient = getMockedSoClient({ + defaultOutputId: 'output-test', + }); + mockedAppContextService.getEncryptedSavedObjectsSetup.mockReturnValue({ + canEncrypt: true, + } as any); + mockedAgentPolicyService.list.mockResolvedValue(mockedAgentPolicyWithSyntheticsResolvedValue); + mockedAgentPolicyService.hasSyntheticsIntegration.mockReturnValue(true); + + await outputService.create( + soClient, + esClientMock, + { + is_default: true, + is_default_monitoring: false, + name: 'Test', + type: 'kafka', + }, + { id: 'output-1' } + ); + + expect(mockedAgentPolicyService.update).toBeCalledWith( + expect.anything(), + expect.anything(), + 'synthetics_policy', + { data_output_id: 'output-test' }, + { force: false } + ); + }); + it('Should allow to create a new kafka output with no errors if is not set as default', async () => { const soClient = getMockedSoClient({ defaultOutputId: 'output-test', @@ -554,7 +654,9 @@ describe('Output Service', () => { mockedAppContextService.getEncryptedSavedObjectsSetup.mockReturnValue({ canEncrypt: true, } as any); - mockedAgentPolicyService.list.mockResolvedValue(mockedAgentPolicyResolvedValue); + mockedAgentPolicyService.list.mockResolvedValue( + mockedAgentPolicyWithFleetServerResolvedValue + ); mockedAgentPolicyService.hasFleetServerIntegration.mockReturnValue(true); await outputService.create( @@ -878,6 +980,7 @@ describe('Output Service', () => { } as unknown as ReturnType); mockedAgentPolicyService.hasAPMIntegration.mockReturnValue(false); mockedAgentPolicyService.hasFleetServerIntegration.mockReturnValue(false); + mockedAgentPolicyService.hasSyntheticsIntegration.mockReturnValue(false); await outputService.update(soClient, esClientMock, 'existing-es-output', { type: 'logstash', @@ -936,36 +1039,9 @@ describe('Output Service', () => { const soClient = getMockedSoClient({ defaultOutputId: 'output-test', }); - mockedAgentPolicyService.list.mockResolvedValue({ - items: [ - { - name: 'fleet server policy', - id: 'fleet_server_policy', - is_default_fleet_server: true, - package_policies: [ - { - name: 'fleet-server-123', - package: { - name: 'fleet_server', - }, - }, - ], - }, - { - name: 'agent policy 1', - id: 'agent_policy_1', - is_managed: false, - package_policies: [ - { - name: 'nginx', - package: { - name: 'nginx', - }, - }, - ], - }, - ], - } as unknown as ReturnType); + mockedAgentPolicyService.list.mockResolvedValue( + mockedAgentPolicyWithFleetServerResolvedValue + ); mockedAgentPolicyService.hasFleetServerIntegration.mockReturnValue(true); await outputService.update(soClient, esClientMock, 'output-test', { @@ -994,36 +1070,9 @@ describe('Output Service', () => { const soClient = getMockedSoClient({ defaultOutputId: 'output-test', }); - mockedAgentPolicyService.list.mockResolvedValue({ - items: [ - { - name: 'fleet server policy', - id: 'fleet_server_policy', - is_default_fleet_server: true, - package_policies: [ - { - name: 'fleet-server-123', - package: { - name: 'fleet_server', - }, - }, - ], - }, - { - name: 'agent policy 1', - id: 'agent_policy_1', - is_managed: false, - package_policies: [ - { - name: 'nginx', - package: { - name: 'nginx', - }, - }, - ], - }, - ], - } as unknown as ReturnType); + mockedAgentPolicyService.list.mockResolvedValue( + mockedAgentPolicyWithFleetServerResolvedValue + ); mockedAgentPolicyService.hasFleetServerIntegration.mockReturnValue(true); await outputService.update( @@ -1056,38 +1105,77 @@ describe('Output Service', () => { ); }); + it('should update synthetics policies with data_output_id=default_output_id if a default ES output is changed to logstash', async () => { + const soClient = getMockedSoClient({ + defaultOutputId: 'output-test', + }); + mockedAgentPolicyService.list.mockResolvedValue(mockedAgentPolicyWithSyntheticsResolvedValue); + mockedAgentPolicyService.hasSyntheticsIntegration.mockReturnValue(true); + + await outputService.update(soClient, esClientMock, 'output-test', { + type: 'logstash', + hosts: ['test:4343'], + is_default: true, + }); + + expect(soClient.update).toBeCalledWith(expect.anything(), expect.anything(), { + type: 'logstash', + hosts: ['test:4343'], + is_default: true, + ca_sha256: null, + ca_trusted_fingerprint: null, + }); + expect(mockedAgentPolicyService.update).toBeCalledWith( + expect.anything(), + expect.anything(), + 'synthetics_policy', + { data_output_id: 'output-test' }, + { force: false } + ); + }); + + it('should update synthetics policies with data_output_id=default_output_id and force=true if a default ES output is changed to logstash, from preconfiguration', async () => { + const soClient = getMockedSoClient({ + defaultOutputId: 'output-test', + }); + mockedAgentPolicyService.list.mockResolvedValue(mockedAgentPolicyWithSyntheticsResolvedValue); + mockedAgentPolicyService.hasSyntheticsIntegration.mockReturnValue(true); + + await outputService.update( + soClient, + esClientMock, + 'output-test', + { + type: 'logstash', + hosts: ['test:4343'], + is_default: true, + }, + { + fromPreconfiguration: true, + } + ); + + expect(soClient.update).toBeCalledWith(expect.anything(), expect.anything(), { + type: 'logstash', + hosts: ['test:4343'], + is_default: true, + ca_sha256: null, + ca_trusted_fingerprint: null, + }); + expect(mockedAgentPolicyService.update).toBeCalledWith( + expect.anything(), + expect.anything(), + 'synthetics_policy', + { data_output_id: 'output-test' }, + { force: true } + ); + }); + it('Should return an error if trying to change the output to logstash for fleet server policy', async () => { const soClient = getMockedSoClient({}); - mockedAgentPolicyService.list.mockResolvedValue({ - items: [ - { - name: 'fleet server policy', - id: 'fleet_server_policy', - is_default_fleet_server: true, - package_policies: [ - { - name: 'fleet-server-123', - package: { - name: 'fleet_server', - }, - }, - ], - }, - { - name: 'agent policy 1', - id: 'agent_policy_1', - is_managed: false, - package_policies: [ - { - name: 'nginx', - package: { - name: 'nginx', - }, - }, - ], - }, - ], - } as unknown as ReturnType); + mockedAgentPolicyService.list.mockResolvedValue( + mockedAgentPolicyWithFleetServerResolvedValue + ); mockedAgentPolicyService.hasFleetServerIntegration.mockReturnValue(true); await expect( @@ -1100,6 +1188,22 @@ describe('Output Service', () => { ); }); + it('Should return an error if trying to change the output to logstash for synthetics policy', async () => { + const soClient = getMockedSoClient({}); + mockedAgentPolicyService.list.mockResolvedValue(mockedAgentPolicyWithSyntheticsResolvedValue); + mockedAgentPolicyService.hasFleetServerIntegration.mockReturnValue(false); + mockedAgentPolicyService.hasSyntheticsIntegration.mockReturnValue(true); + + await expect( + outputService.update(soClient, esClientMock, 'existing-es-output', { + type: 'logstash', + hosts: ['test:4343'], + }) + ).rejects.toThrowError( + 'Logstash output cannot be used with Synthetics integration in synthetics policy. Please create a new ElasticSearch output.' + ); + }); + it('should call audit logger', async () => { const soClient = getMockedSoClient({ defaultOutputId: 'existing-es-output' }); @@ -1115,7 +1219,6 @@ describe('Output Service', () => { }); // With Kafka output - it('Should delete ES specific fields if the output type changes to kafka', async () => { const soClient = getMockedSoClient({}); mockedAgentPolicyService.list.mockResolvedValue({ @@ -1123,6 +1226,7 @@ describe('Output Service', () => { } as unknown as ReturnType); mockedAgentPolicyService.hasAPMIntegration.mockReturnValue(false); mockedAgentPolicyService.hasFleetServerIntegration.mockReturnValue(false); + mockedAgentPolicyService.hasSyntheticsIntegration.mockReturnValue(false); await outputService.update(soClient, esClientMock, 'existing-es-output', { type: 'kafka', @@ -1180,7 +1284,9 @@ describe('Output Service', () => { const soClient = getMockedSoClient({ defaultOutputId: 'output-test', }); - mockedAgentPolicyService.list.mockResolvedValue(mockedAgentPolicyResolvedValue); + mockedAgentPolicyService.list.mockResolvedValue( + mockedAgentPolicyWithFleetServerResolvedValue + ); mockedAgentPolicyService.hasFleetServerIntegration.mockReturnValue(true); await outputService.update(soClient, esClientMock, 'output-test', { @@ -1218,7 +1324,9 @@ describe('Output Service', () => { const soClient = getMockedSoClient({ defaultOutputId: 'output-test', }); - mockedAgentPolicyService.list.mockResolvedValue(mockedAgentPolicyResolvedValue); + mockedAgentPolicyService.list.mockResolvedValue( + mockedAgentPolicyWithFleetServerResolvedValue + ); mockedAgentPolicyService.hasFleetServerIntegration.mockReturnValue(true); await outputService.update( @@ -1259,6 +1367,90 @@ describe('Output Service', () => { { force: true } ); }); + + it('should update synthetics policies with data_output_id=default_output_id if a default ES output is changed to kafka', async () => { + const soClient = getMockedSoClient({ + defaultOutputId: 'output-test', + }); + mockedAgentPolicyService.list.mockResolvedValue(mockedAgentPolicyWithSyntheticsResolvedValue); + mockedAgentPolicyService.hasSyntheticsIntegration.mockReturnValue(true); + + await outputService.update(soClient, esClientMock, 'output-test', { + type: 'kafka', + hosts: ['http://test:4343'], + is_default: true, + }); + + expect(soClient.update).toBeCalledWith(expect.anything(), expect.anything(), { + type: 'kafka', + hosts: ['http://test:4343'], + is_default: true, + ca_sha256: null, + ca_trusted_fingerprint: null, + client_id: 'Elastic Agent', + compression: 'gzip', + compression_level: 4, + partition: 'hash', + timeout: 30, + version: '1.0.0', + broker_timeout: 10, + broker_ack_reliability: 'Wait for local commit', + broker_buffer_size: 256, + }); + expect(mockedAgentPolicyService.update).toBeCalledWith( + expect.anything(), + expect.anything(), + 'synthetics_policy', + { data_output_id: 'output-test' }, + { force: false } + ); + }); + + it('should update synthetics policies with data_output_id=default_output_id and force=true if a default ES output is changed to kafka, from preconfiguration', async () => { + const soClient = getMockedSoClient({ + defaultOutputId: 'output-test', + }); + mockedAgentPolicyService.list.mockResolvedValue(mockedAgentPolicyWithSyntheticsResolvedValue); + mockedAgentPolicyService.hasSyntheticsIntegration.mockReturnValue(true); + + await outputService.update( + soClient, + esClientMock, + 'output-test', + { + type: 'kafka', + hosts: ['http://test:4343'], + is_default: true, + }, + { + fromPreconfiguration: true, + } + ); + + expect(soClient.update).toBeCalledWith(expect.anything(), expect.anything(), { + type: 'kafka', + hosts: ['http://test:4343'], + is_default: true, + ca_sha256: null, + ca_trusted_fingerprint: null, + client_id: 'Elastic Agent', + compression: 'gzip', + compression_level: 4, + partition: 'hash', + timeout: 30, + version: '1.0.0', + broker_timeout: 10, + broker_ack_reliability: 'Wait for local commit', + broker_buffer_size: 256, + }); + expect(mockedAgentPolicyService.update).toBeCalledWith( + expect.anything(), + expect.anything(), + 'synthetics_policy', + { data_output_id: 'output-test' }, + { force: true } + ); + }); }); describe('delete', () => { diff --git a/x-pack/plugins/fleet/server/services/output.ts b/x-pack/plugins/fleet/server/services/output.ts index a9e546d878fb5..ec5f63cbe3566 100644 --- a/x-pack/plugins/fleet/server/services/output.ts +++ b/x-pack/plugins/fleet/server/services/output.ts @@ -148,7 +148,7 @@ async function validateLogstashOutputNotUsedInAPMPolicy( } } -async function findPoliciesWithFleetServer( +async function findPoliciesWithFleetServerOrSynthetics( soClient: SavedObjectsClientContract, outputId?: string, isDefault?: boolean @@ -159,23 +159,24 @@ async function findPoliciesWithFleetServer( ? await getAgentPoliciesPerOutput(soClient, outputId, isDefault) : (await agentPolicyService.list(soClient, { withPackagePolicies: true }))?.items; - if (agentPolicies) { - const policiesWithFleetServer = agentPolicies.filter((policy) => - agentPolicyService.hasFleetServerIntegration(policy) - ); - return policiesWithFleetServer; - } - return []; + const policiesWithFleetServer = + agentPolicies?.filter((policy) => agentPolicyService.hasFleetServerIntegration(policy)) || []; + const policiesWithSynthetics = + agentPolicies?.filter((policy) => agentPolicyService.hasSyntheticsIntegration(policy)) || []; + return { policiesWithFleetServer, policiesWithSynthetics }; } -function validateOutputNotUsedInFleetServerPolicy( +function validateOutputNotUsedInPolicy( agentPolicies: AgentPolicy[], - dataOutputType: OutputType['Logstash'] | OutputType['Kafka'] + dataOutputType: OutputType['Logstash'] | OutputType['Kafka'], + integrationName: string ) { - // Validate no policy with fleet server use that policy + // Validate no policy with this integration uses that output for (const agentPolicy of agentPolicies) { throw new OutputInvalidError( - `${_.capitalize(dataOutputType)} output cannot be used with Fleet Server integration in ${ + `${_.capitalize( + dataOutputType + )} output cannot be used with ${integrationName} integration in ${ agentPolicy.name }. Please create a new ElasticSearch output.` ); @@ -192,44 +193,46 @@ async function validateTypeChanges( fromPreconfiguration: boolean ) { const mergedIsDefault = data.is_default ?? originalOutput.is_default; - const fleetServerPolicies = await findPoliciesWithFleetServer(soClient, id, mergedIsDefault); + const { policiesWithFleetServer, policiesWithSynthetics } = + await findPoliciesWithFleetServerOrSynthetics(soClient, id, mergedIsDefault); if (data.type === outputType.Logstash || originalOutput.type === outputType.Logstash) { await validateLogstashOutputNotUsedInAPMPolicy(soClient, id, mergedIsDefault); } - // prevent changing an ES output to logstash or kafka if it's used by fleet server policies + // prevent changing an ES output to logstash or kafka if it's used by fleet server or synthetics policies if ( originalOutput.type === outputType.Elasticsearch && (data?.type === outputType.Logstash || data?.type === outputType.Kafka) ) { // Validate no policy with fleet server use that policy - validateOutputNotUsedInFleetServerPolicy(fleetServerPolicies, data.type); + validateOutputNotUsedInPolicy(policiesWithFleetServer, data.type, 'Fleet Server'); + validateOutputNotUsedInPolicy(policiesWithSynthetics, data.type, 'Synthetics'); } - await updateFleetServerPoliciesDataOutputId( + await updateAgentPoliciesDataOutputId( soClient, esClient, data, mergedIsDefault, defaultDataOutputId, - fleetServerPolicies, + _.uniq([...policiesWithFleetServer, ...policiesWithSynthetics]), fromPreconfiguration ); } -async function updateFleetServerPoliciesDataOutputId( +async function updateAgentPoliciesDataOutputId( soClient: SavedObjectsClientContract, esClient: ElasticsearchClient, data: Nullable>, isDefault: boolean, defaultDataOutputId: string | null, - fleetServerPolicies: AgentPolicy[], + agentPolicies: AgentPolicy[], fromPreconfiguration: boolean ) { // if a logstash output is updated to become default // if fleet server policies don't have data_output_id // update them to use the default output if ((data?.type === outputType.Logstash || data?.type === outputType.Kafka) && isDefault) { - for (const policy of fleetServerPolicies) { + for (const policy of agentPolicies) { if (!policy.data_output_id) { await agentPolicyService.update( soClient, @@ -415,14 +418,15 @@ class OutputService { ); } } - const fleetServerPolicies = await findPoliciesWithFleetServer(soClient); - await updateFleetServerPoliciesDataOutputId( + const { policiesWithFleetServer, policiesWithSynthetics } = + await findPoliciesWithFleetServerOrSynthetics(soClient); + await updateAgentPoliciesDataOutputId( soClient, esClient, data, data.is_default, defaultDataOutputId, - fleetServerPolicies, + _.uniq([...policiesWithFleetServer, ...policiesWithSynthetics]), options?.fromPreconfiguration ?? false ); diff --git a/x-pack/plugins/fleet/server/services/telemetry/fleet_usages_schema.ts b/x-pack/plugins/fleet/server/services/telemetry/fleet_usages_schema.ts index faf963798768b..f1172786c0b2b 100644 --- a/x-pack/plugins/fleet/server/services/telemetry/fleet_usages_schema.ts +++ b/x-pack/plugins/fleet/server/services/telemetry/fleet_usages_schema.ts @@ -247,4 +247,18 @@ export const fleetUsagesSchema: RootSchema = { }, }, }, + agent_logs_top_errors: { + type: 'array', + items: { + type: 'text', + _meta: { description: 'Top messages from agent error logs' }, + }, + }, + fleet_server_logs_top_errors: { + type: 'array', + items: { + type: 'text', + _meta: { description: 'Top messages from fleet server error logs' }, + }, + }, }; diff --git a/x-pack/plugins/index_lifecycle_management/server/config.ts b/x-pack/plugins/index_lifecycle_management/server/config.ts index 7fdec20bbb050..5a02e404ad2b7 100644 --- a/x-pack/plugins/index_lifecycle_management/server/config.ts +++ b/x-pack/plugins/index_lifecycle_management/server/config.ts @@ -28,7 +28,14 @@ const schemaLatest = schema.object( * Disables the plugin. * Added back in 8.8. */ - enabled: schema.boolean({ defaultValue: true }), + enabled: schema.conditional( + schema.contextRef('serverless'), + true, + // ILM is disabled in serverless; refer to the serverless.yml file as the source of truth + // We take this approach in order to have a central place (serverless.yml) to view disabled plugins across Kibana + schema.boolean({ defaultValue: true }), + schema.never() + ), }, { defaultValue: undefined } ); diff --git a/x-pack/plugins/infra/common/plugin_config_types.ts b/x-pack/plugins/infra/common/plugin_config_types.ts index 2c3a3bd2efeb7..52803a09ae499 100644 --- a/x-pack/plugins/infra/common/plugin_config_types.ts +++ b/x-pack/plugins/infra/common/plugin_config_types.ts @@ -14,6 +14,7 @@ export interface InfraConfig { group_by_page_size: number; }; }; + enabled: boolean; inventory: { compositeSize: number; }; diff --git a/x-pack/plugins/infra/public/alerting/inventory/components/alert_flyout.tsx b/x-pack/plugins/infra/public/alerting/inventory/components/alert_flyout.tsx index b57cf4c68ce1c..0c9dfb731df86 100644 --- a/x-pack/plugins/infra/public/alerting/inventory/components/alert_flyout.tsx +++ b/x-pack/plugins/infra/public/alerting/inventory/components/alert_flyout.tsx @@ -25,7 +25,7 @@ export const AlertFlyout = ({ options, nodeType, filter, visible, setVisible }: const { triggersActionsUI } = useContext(TriggerActionsContext); const { inventoryPrefill } = useAlertPrefillContext(); - const { customMetrics } = inventoryPrefill; + const { customMetrics = [] } = inventoryPrefill ?? {}; const onCloseFlyout = useCallback(() => setVisible(false), [setVisible]); const AddAlertFlyout = useMemo( () => diff --git a/x-pack/plugins/infra/public/common/alerts/constants.ts b/x-pack/plugins/infra/public/common/alerts/constants.ts new file mode 100644 index 0000000000000..8c71ba66e86e8 --- /dev/null +++ b/x-pack/plugins/infra/public/common/alerts/constants.ts @@ -0,0 +1,57 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { i18n } from '@kbn/i18n'; +import { ALERT_STATUS, ALERT_STATUS_ACTIVE, ALERT_STATUS_RECOVERED } from '@kbn/rule-data-utils'; +import type { AlertStatusFilter } from './types'; + +export const ALERT_STATUS_ALL = 'all'; + +export const ALL_ALERTS: AlertStatusFilter = { + status: ALERT_STATUS_ALL, + label: i18n.translate('xpack.infra.hostsViewPage.tabs.alerts.alertStatusFilter.showAll', { + defaultMessage: 'Show all', + }), +}; + +export const ACTIVE_ALERTS: AlertStatusFilter = { + status: ALERT_STATUS_ACTIVE, + query: { + term: { + [ALERT_STATUS]: { + value: ALERT_STATUS_ACTIVE, + }, + }, + }, + label: i18n.translate('xpack.infra.hostsViewPage.tabs.alerts.alertStatusFilter.active', { + defaultMessage: 'Active', + }), +}; + +export const RECOVERED_ALERTS: AlertStatusFilter = { + status: ALERT_STATUS_RECOVERED, + query: { + term: { + [ALERT_STATUS]: { + value: ALERT_STATUS_RECOVERED, + }, + }, + }, + label: i18n.translate('xpack.infra.hostsViewPage.tabs.alerts.alertStatusFilter.recovered', { + defaultMessage: 'Recovered', + }), +}; + +export const ALERT_STATUS_QUERY = { + [ACTIVE_ALERTS.status]: ACTIVE_ALERTS.query, + [RECOVERED_ALERTS.status]: RECOVERED_ALERTS.query, +}; + +export const ALERTS_DOC_HREF = + 'https://www.elastic.co/guide/en/observability/current/create-alerts.html'; + +export const ALERTS_PATH = '/app/observability/alerts'; diff --git a/x-pack/plugins/infra/public/common/alerts/create_alerts_es_query.ts b/x-pack/plugins/infra/public/common/alerts/create_alerts_es_query.ts new file mode 100644 index 0000000000000..3fddf57a23695 --- /dev/null +++ b/x-pack/plugins/infra/public/common/alerts/create_alerts_es_query.ts @@ -0,0 +1,41 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import { getTime } from '@kbn/data-plugin/common'; +import { ALERT_TIME_RANGE } from '@kbn/rule-data-utils'; +import { buildEsQuery, Filter, type TimeRange } from '@kbn/es-query'; +import type { AlertStatus } from '@kbn/observability-plugin/common/typings'; +import { ALERT_STATUS_QUERY } from './constants'; +import { buildCombinedHostsFilter } from '../../utils/filters/build'; +import type { AlertsEsQuery } from './types'; + +export const createAlertsEsQuery = ({ + dateRange, + hostNodeNames, + status, +}: { + dateRange: TimeRange; + hostNodeNames: string[]; + status?: AlertStatus; +}): AlertsEsQuery => { + const alertStatusFilter = createAlertStatusFilter(status); + + const dateFilter = createDateFilter(dateRange); + const hostsFilter = buildCombinedHostsFilter({ + field: 'host.name', + values: hostNodeNames, + }); + + const filters = [alertStatusFilter, dateFilter, hostsFilter].filter(Boolean) as Filter[]; + + return buildEsQuery(undefined, [], filters); +}; + +const createDateFilter = (date: TimeRange) => + getTime(undefined, date, { fieldName: ALERT_TIME_RANGE }); + +const createAlertStatusFilter = (status: AlertStatus = 'all'): Filter | null => + ALERT_STATUS_QUERY[status] ? { query: ALERT_STATUS_QUERY[status], meta: {} } : null; diff --git a/x-pack/plugins/infra/public/common/alerts/types.ts b/x-pack/plugins/infra/public/common/alerts/types.ts new file mode 100644 index 0000000000000..435b0c17fe61d --- /dev/null +++ b/x-pack/plugins/infra/public/common/alerts/types.ts @@ -0,0 +1,18 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import type { BoolQuery, Filter } from '@kbn/es-query'; +import type { AlertStatus } from '@kbn/observability-plugin/common/typings'; +export interface AlertStatusFilter { + status: AlertStatus; + query?: Filter['query']; + label: string; +} + +export interface AlertsEsQuery { + bool: BoolQuery; +} diff --git a/x-pack/plugins/infra/public/components/asset_details/__stories__/context/fixtures/alerts.ts b/x-pack/plugins/infra/public/components/asset_details/__stories__/context/fixtures/alerts.ts new file mode 100644 index 0000000000000..1fbe684a37ab9 --- /dev/null +++ b/x-pack/plugins/infra/public/components/asset_details/__stories__/context/fixtures/alerts.ts @@ -0,0 +1,41 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +const summaryResponse = { + activeAlertCount: 3, + recoveredAlertCount: 3, + activeAlerts: [ + { + key_as_string: '1689172920000', + key: 1689172920000, + doc_count: 3, + }, + { + key_as_string: '1689172980000', + key: 1689172980000, + doc_count: 3, + }, + ], + recoveredAlerts: [ + { + key_as_string: '2023-07-12T14:42:00.000Z', + key: 1689172920000, + doc_count: 3, + }, + { + key_as_string: '2023-07-12T14:43:00.000Z', + key: 1689172980000, + doc_count: 3, + }, + ], +}; + +export const alertsSummaryHttpResponse = { + default: () => Promise.resolve({ ...summaryResponse }), +}; + +export type AlertsSummaryHttpMocks = keyof typeof alertsSummaryHttpResponse; diff --git a/x-pack/plugins/infra/public/components/asset_details/__stories__/context/fixtures/index.ts b/x-pack/plugins/infra/public/components/asset_details/__stories__/context/fixtures/index.ts index b194bb9e02ac0..051fdb73a9e95 100644 --- a/x-pack/plugins/infra/public/components/asset_details/__stories__/context/fixtures/index.ts +++ b/x-pack/plugins/infra/public/components/asset_details/__stories__/context/fixtures/index.ts @@ -11,6 +11,7 @@ export { processesChartHttpResponse, type ProcessesHttpMocks, } from './processes'; +export { alertsSummaryHttpResponse, type AlertsSummaryHttpMocks } from './alerts'; export { anomaliesHttpResponse, type AnomaliesHttpMocks } from './anomalies'; export { snapshotAPItHttpResponse, type SnapshotAPIHttpMocks } from './snapshot_api'; export { getLogEntries } from './log_entries'; diff --git a/x-pack/plugins/infra/public/components/asset_details/__stories__/context/http.ts b/x-pack/plugins/infra/public/components/asset_details/__stories__/context/http.ts index a8d72239aa7d7..3d9e13bf52667 100644 --- a/x-pack/plugins/infra/public/components/asset_details/__stories__/context/http.ts +++ b/x-pack/plugins/infra/public/components/asset_details/__stories__/context/http.ts @@ -9,11 +9,13 @@ import type { HttpStart, HttpHandler } from '@kbn/core/public'; import type { Parameters } from '@storybook/react'; import { INFA_ML_GET_METRICS_HOSTS_ANOMALIES_PATH } from '../../../../../common/http_api/infra_ml'; import { + alertsSummaryHttpResponse, anomaliesHttpResponse, metadataHttpResponse, processesChartHttpResponse, processesHttpResponse, snapshotAPItHttpResponse, + type AlertsSummaryHttpMocks, type AnomaliesHttpMocks, type MetadataResponseMocks, type ProcessesHttpMocks, @@ -43,6 +45,14 @@ export const getHttp = (params: Parameters): HttpStart => { return Promise.resolve({}); } }) as HttpHandler, + post: (async (path: string) => { + switch (path) { + case '/internal/rac/alerts/_alert_summary': + return alertsSummaryHttpResponse[params.mock as AlertsSummaryHttpMocks](); + default: + return Promise.resolve({}); + } + }) as HttpHandler, } as unknown as HttpStart; return http; diff --git a/x-pack/plugins/infra/public/components/asset_details/__stories__/decorator.tsx b/x-pack/plugins/infra/public/components/asset_details/__stories__/decorator.tsx index 4a4eaa740230f..542bdc33d7431 100644 --- a/x-pack/plugins/infra/public/components/asset_details/__stories__/decorator.tsx +++ b/x-pack/plugins/infra/public/components/asset_details/__stories__/decorator.tsx @@ -5,7 +5,7 @@ * 2.0. */ -import React from 'react'; +import React, { JSXElementConstructor, ReactElement } from 'react'; import { I18nProvider } from '@kbn/i18n-react'; import { KibanaContextProvider, @@ -18,6 +18,9 @@ import { useParameter } from '@storybook/addons'; import type { DeepPartial } from 'utility-types'; import type { LocatorPublic } from '@kbn/share-plugin/public'; import type { IKibanaSearchRequest, ISearchOptions } from '@kbn/data-plugin/public'; +import { AlertSummaryWidget } from '@kbn/triggers-actions-ui-plugin/public/application/sections/alert_summary_widget/alert_summary_widget'; +import type { Theme } from '@elastic/charts/dist/utils/themes/theme'; +import type { AlertSummaryWidgetProps } from '@kbn/triggers-actions-ui-plugin/public/application/sections/alert_summary_widget'; import type { PluginKibanaContextValue } from '../../../hooks/use_kibana'; import { SourceProvider } from '../../../containers/metrics_source'; import { getHttp } from './context/http'; @@ -66,6 +69,20 @@ export const DecorateWithKibanaContext: DecoratorFn = (story) => { return Promise.resolve([]); }, }, + uiSettings: { + get: () => ({ key: 'mock', defaultOverride: undefined } as any), + }, + triggersActionsUi: { + getAlertSummaryWidget: AlertSummaryWidget as ( + props: AlertSummaryWidgetProps + ) => ReactElement>, + }, + charts: { + theme: { + useChartsTheme: () => ({} as Theme), + useChartsBaseTheme: () => ({} as Theme), + }, + }, settings: { client: { get$: (key: string) => of(getSettings(key)), diff --git a/x-pack/plugins/infra/public/components/asset_details/components/alerts_tooltip_content.tsx b/x-pack/plugins/infra/public/components/asset_details/components/alerts_tooltip_content.tsx new file mode 100644 index 0000000000000..3ad149ce6c78f --- /dev/null +++ b/x-pack/plugins/infra/public/components/asset_details/components/alerts_tooltip_content.tsx @@ -0,0 +1,52 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import React from 'react'; +import { EuiText, EuiLink } from '@elastic/eui'; +import { FormattedMessage } from '@kbn/i18n-react'; +import { ALERTS_DOC_HREF } from '../../../common/alerts/constants'; +import { LinkToAlertsHomePage } from '../links/link_to_alerts_page'; + +export const AlertsTooltipContent = React.memo(() => { + const onClick = (e: React.MouseEvent) => { + e.stopPropagation(); + }; + + return ( + +

+ , + }} + /> +

+

+ + + + ), + }} + /> +

+
+ ); +}); diff --git a/x-pack/plugins/infra/public/components/asset_details/links/link_to_alerts.tsx b/x-pack/plugins/infra/public/components/asset_details/links/link_to_alerts.tsx index 17f3f7a30d861..47d7075cb60dc 100644 --- a/x-pack/plugins/infra/public/components/asset_details/links/link_to_alerts.tsx +++ b/x-pack/plugins/infra/public/components/asset_details/links/link_to_alerts.tsx @@ -8,11 +8,11 @@ import React from 'react'; import { FormattedMessage } from '@kbn/i18n-react'; import { EuiButtonEmpty } from '@elastic/eui'; -export interface LinkToAlertsRule { +export interface LinkToAlertsRuleProps { onClick?: () => void; } -export const LinkToAlertsRule = ({ onClick }: LinkToAlertsRule) => { +export const LinkToAlertsRule = ({ onClick }: LinkToAlertsRuleProps) => { return ( { iconType="bell" > ); diff --git a/x-pack/plugins/infra/public/components/asset_details/links/link_to_alerts_page.tsx b/x-pack/plugins/infra/public/components/asset_details/links/link_to_alerts_page.tsx new file mode 100644 index 0000000000000..ce8c0bf08e657 --- /dev/null +++ b/x-pack/plugins/infra/public/components/asset_details/links/link_to_alerts_page.tsx @@ -0,0 +1,70 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import React from 'react'; +import { encode } from '@kbn/rison'; +import { RedirectAppLinks } from '@kbn/shared-ux-link-redirect-app'; +import { FormattedMessage } from '@kbn/i18n-react'; +import { EuiButtonEmpty, EuiLink } from '@elastic/eui'; +import type { TimeRange } from '@kbn/es-query'; +import { ALERTS_PATH } from '../../../common/alerts/constants'; +import { useKibanaContextForPlugin } from '../../../hooks/use_kibana'; + +export interface LinkToAlertsPageProps { + nodeName: string; + queryField: string; + dateRange: TimeRange; +} + +export const LinkToAlertsPage = ({ nodeName, queryField, dateRange }: LinkToAlertsPageProps) => { + const { services } = useKibanaContextForPlugin(); + const { http } = services; + + const linkToAlertsPage = http.basePath.prepend( + `${ALERTS_PATH}?_a=${encode({ + kuery: `${queryField}:"${nodeName}"`, + rangeFrom: dateRange.from, + rangeTo: dateRange.to, + status: 'all', + })}` + ); + + return ( + + + + + + ); +}; + +export const LinkToAlertsHomePage = () => { + const { services } = useKibanaContextForPlugin(); + const { http } = services; + + const linkToAlertsPage = http.basePath.prepend(ALERTS_PATH); + + return ( + + + + + + ); +}; diff --git a/x-pack/plugins/infra/public/components/asset_details/tabs/overview/alerts.tsx b/x-pack/plugins/infra/public/components/asset_details/tabs/overview/alerts.tsx new file mode 100644 index 0000000000000..87ebaae1f5f20 --- /dev/null +++ b/x-pack/plugins/infra/public/components/asset_details/tabs/overview/alerts.tsx @@ -0,0 +1,143 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import React, { useMemo } from 'react'; + +import { EuiFlexGroup, EuiFlexItem, EuiTitle, EuiPopover, EuiIcon, EuiSpacer } from '@elastic/eui'; +import { FormattedMessage } from '@kbn/i18n-react'; +import { useSummaryTimeRange } from '@kbn/observability-plugin/public'; +import type { TimeRange } from '@kbn/es-query'; +import type { AlertsEsQuery } from '../../../../common/alerts/types'; +import { AlertsTooltipContent } from '../../components/alerts_tooltip_content'; +import type { InventoryItemType } from '../../../../../common/inventory_models/types'; +import { findInventoryFields } from '../../../../../common/inventory_models'; +import { createAlertsEsQuery } from '../../../../common/alerts/create_alerts_es_query'; +import { infraAlertFeatureIds } from '../../../../pages/metrics/hosts/components/tabs/config'; + +import { useKibanaContextForPlugin } from '../../../../hooks/use_kibana'; +import { LinkToAlertsRule } from '../../links/link_to_alerts'; +import { LinkToAlertsPage } from '../../links/link_to_alerts_page'; +import { AlertFlyout } from '../../../../alerting/inventory/components/alert_flyout'; +import { useBoolean } from '../../../../hooks/use_boolean'; +import { ALERT_STATUS_ALL } from '../../../../common/alerts/constants'; + +export const AlertsSummaryContent = ({ + nodeName, + nodeType, + dateRange, +}: { + nodeName: string; + nodeType: InventoryItemType; + dateRange: TimeRange; +}) => { + const [isAlertFlyoutVisible, { toggle: toggleAlertFlyout }] = useBoolean(false); + + const alertsEsQueryByStatus = useMemo( + () => + createAlertsEsQuery({ + dateRange, + hostNodeNames: [nodeName], + status: ALERT_STATUS_ALL, + }), + [nodeName, dateRange] + ); + + return ( + <> + + + + + + + + + + + + + + + + ); +}; + +interface MemoAlertSummaryWidgetProps { + alertsQuery: AlertsEsQuery; + dateRange: TimeRange; +} + +const MemoAlertSummaryWidget = React.memo( + ({ alertsQuery, dateRange }: MemoAlertSummaryWidgetProps) => { + const { services } = useKibanaContextForPlugin(); + + const summaryTimeRange = useSummaryTimeRange(dateRange); + + const { charts, triggersActionsUi } = services; + const { getAlertSummaryWidget: AlertSummaryWidget } = triggersActionsUi; + + const chartProps = { + theme: charts.theme.useChartsTheme(), + baseTheme: charts.theme.useChartsBaseTheme(), + }; + + return ( + + ); + } +); + +const AlertsSectionTitle = () => { + const [isPopoverOpen, { off: closePopover, toggle: togglePopover }] = useBoolean(false); + + return ( + + + +
+ +
+
+
+ + + } + isOpen={isPopoverOpen} + closePopover={closePopover} + repositionOnScroll + anchorPosition="upCenter" + > + + + +
+ ); +}; diff --git a/x-pack/plugins/infra/public/components/asset_details/tabs/overview/metadata_summary.tsx b/x-pack/plugins/infra/public/components/asset_details/tabs/overview/metadata_summary.tsx index 1ab7cd8fb5361..c8be7c111e603 100644 --- a/x-pack/plugins/infra/public/components/asset_details/tabs/overview/metadata_summary.tsx +++ b/x-pack/plugins/infra/public/components/asset_details/tabs/overview/metadata_summary.tsx @@ -12,12 +12,16 @@ import { EuiFlexItem, EuiDescriptionList, EuiDescriptionListDescription, + EuiIcon, + EuiLink, EuiLoadingSpinner, + EuiPopover, } from '@elastic/eui'; import { css } from '@emotion/react'; import { i18n } from '@kbn/i18n'; import React from 'react'; import { FormattedMessage } from '@kbn/i18n-react'; +import { useBoolean } from '../../../../hooks/use_boolean'; import type { InfraMetadata } from '../../../../../common/http_api'; import { NOT_AVAILABLE_LABEL } from '../../translations'; import { useTabSwitcherContext } from '../../hooks/use_tab_switcher'; @@ -42,6 +46,8 @@ const metadataData = (metadataInfo: InfraMetadata['info']) => [ { field: 'hostIp', value: metadataInfo?.host?.ip, + tooltipLinkLabel: 'host.ip', + tooltipLink: 'https://www.elastic.co/guide/en/ecs/current/ecs-host.html#field-host-ip', }, { field: 'hostOsVersion', @@ -55,6 +61,7 @@ interface MetadataSummaryProps { } export const MetadataSummary = ({ metadata, metadataLoading }: MetadataSummaryProps) => { + const [isPopoverOpen, { off: closePopover, toggle: togglePopover }] = useBoolean(false); const { showTab } = useTabSwitcherContext(); const onClick = () => { @@ -62,46 +69,81 @@ export const MetadataSummary = ({ metadata, metadataLoading }: MetadataSummaryPr }; return ( - <> - - - {metadataData(metadata?.info).map((metadataValue) => ( - - - - {columnTitles[metadataValue.field as MetadataFields]} - - - {metadataLoading ? ( - - ) : ( - - )} - - - - ))} - - - - - - + + + {metadataData(metadata?.info).map((metadataValue) => ( + + + + + + {columnTitles[metadataValue.field as MetadataFields]} + + + {metadataValue.tooltipLink && ( + + } + isOpen={isPopoverOpen} + closePopover={closePopover} + repositionOnScroll + anchorPosition="upCenter" + > + + {metadataValue.tooltipLinkLabel} + + ), + }} + /> + + )} + + + + + {metadataLoading ? ( + + ) : ( + + )} + + + + ))} - + + + + + + ); }; diff --git a/x-pack/plugins/infra/public/components/asset_details/tabs/overview/overview.tsx b/x-pack/plugins/infra/public/components/asset_details/tabs/overview/overview.tsx index c86d9814ef62e..e85a2c65fe2a9 100644 --- a/x-pack/plugins/infra/public/components/asset_details/tabs/overview/overview.tsx +++ b/x-pack/plugins/infra/public/components/asset_details/tabs/overview/overview.tsx @@ -7,7 +7,7 @@ import React from 'react'; import { i18n } from '@kbn/i18n'; -import { EuiCallOut, EuiFlexGroup, EuiFlexItem, EuiLink, EuiHorizontalRule } from '@elastic/eui'; +import { EuiCallOut, EuiFlexGroup, EuiFlexItem, EuiHorizontalRule, EuiLink } from '@elastic/eui'; import { FormattedMessage } from '@kbn/i18n-react'; import type { TimeRange } from '@kbn/es-query'; import type { DataView } from '@kbn/data-views-plugin/public'; @@ -17,6 +17,7 @@ import { findInventoryModel } from '../../../../../common/inventory_models'; import { useMetadata } from '../../hooks/use_metadata'; import { useSourceContext } from '../../../../containers/metrics_source'; import { MetadataSummary } from './metadata_summary'; +import { AlertsSummaryContent } from './alerts'; import { KPIGrid } from './kpis/kpi_grid'; import { MetricsGrid } from './metrics/metrics_grid'; import { toTimestampRange } from '../../utils'; @@ -92,6 +93,10 @@ export const Overview = ({ )} + + + + void; diff --git a/x-pack/plugins/infra/public/pages/metrics/hosts/components/tabs/alerts/alerts_tab_content.tsx b/x-pack/plugins/infra/public/pages/metrics/hosts/components/tabs/alerts/alerts_tab_content.tsx index 53e19d73fb4a8..9913f11b20cc9 100644 --- a/x-pack/plugins/infra/public/pages/metrics/hosts/components/tabs/alerts/alerts_tab_content.tsx +++ b/x-pack/plugins/infra/public/pages/metrics/hosts/components/tabs/alerts/alerts_tab_content.tsx @@ -4,29 +4,18 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ -import React, { useMemo } from 'react'; +import React from 'react'; import { EuiFlexGroup, EuiFlexItem } from '@elastic/eui'; -import { - calculateTimeRangeBucketSize, - getAlertSummaryTimeRange, - useTimeBuckets, -} from '@kbn/observability-plugin/public'; import { AlertConsumers } from '@kbn/rule-data-utils'; -import { TimeRange } from '@kbn/es-query'; -import { BrushEndListener, XYBrushEvent } from '@elastic/charts'; +import { BrushEndListener, type XYBrushEvent } from '@elastic/charts'; +import { useSummaryTimeRange } from '@kbn/observability-plugin/public'; +import type { AlertsEsQuery } from '../../../../../../common/alerts/types'; import { useKibanaContextForPlugin } from '../../../../../../hooks/use_kibana'; import { HeightRetainer } from '../../../../../../components/height_retainer'; import { useUnifiedSearchContext } from '../../../hooks/use_unified_search'; - -import { - ALERTS_PER_PAGE, - ALERTS_TABLE_ID, - DEFAULT_DATE_FORMAT, - DEFAULT_INTERVAL, - infraAlertFeatureIds, -} from '../config'; -import { AlertsEsQuery, useAlertsQuery } from '../../../hooks/use_alerts_query'; +import { useAlertsQuery } from '../../../hooks/use_alerts_query'; import AlertsStatusFilter from './alerts_status_filter'; +import { ALERTS_PER_PAGE, ALERTS_TABLE_ID, infraAlertFeatureIds } from '../config'; import { HostsState, HostsStateUpdater } from '../../../hooks/use_unified_search_url_state'; export const AlertsTabContent = () => { @@ -120,18 +109,3 @@ const MemoAlertSummaryWidget = React.memo( ); } ); - -const useSummaryTimeRange = (unifiedSearchDateRange: TimeRange) => { - const timeBuckets = useTimeBuckets(); - - const bucketSize = useMemo( - () => calculateTimeRangeBucketSize(unifiedSearchDateRange, timeBuckets), - [unifiedSearchDateRange, timeBuckets] - ); - - return getAlertSummaryTimeRange( - unifiedSearchDateRange, - bucketSize?.intervalString || DEFAULT_INTERVAL, - bucketSize?.dateFormat || DEFAULT_DATE_FORMAT - ); -}; diff --git a/x-pack/plugins/infra/public/pages/metrics/hosts/components/tabs/config.ts b/x-pack/plugins/infra/public/pages/metrics/hosts/components/tabs/config.ts index 28ba329e6a264..cf4374cae94fa 100644 --- a/x-pack/plugins/infra/public/pages/metrics/hosts/components/tabs/config.ts +++ b/x-pack/plugins/infra/public/pages/metrics/hosts/components/tabs/config.ts @@ -13,6 +13,3 @@ export const ALERTS_TABLE_ID = 'xpack.infra.hosts.alerts.table'; export const INFRA_ALERT_FEATURE_ID = 'infrastructure'; export const infraAlertFeatureIds: ValidFeatureId[] = [AlertConsumers.INFRASTRUCTURE]; - -export const DEFAULT_INTERVAL = '60s'; -export const DEFAULT_DATE_FORMAT = 'YYYY-MM-DD HH:mm'; diff --git a/x-pack/plugins/infra/public/pages/metrics/hosts/constants.ts b/x-pack/plugins/infra/public/pages/metrics/hosts/constants.ts index ca39287f27044..e8f3d2714127e 100644 --- a/x-pack/plugins/infra/public/pages/metrics/hosts/constants.ts +++ b/x-pack/plugins/infra/public/pages/metrics/hosts/constants.ts @@ -5,11 +5,8 @@ * 2.0. */ -import { i18n } from '@kbn/i18n'; -import { ALERT_STATUS, ALERT_STATUS_ACTIVE, ALERT_STATUS_RECOVERED } from '@kbn/rule-data-utils'; -import { AlertStatusFilter, HostLimitOptions } from './types'; +import { HostLimitOptions } from './types'; -export const ALERT_STATUS_ALL = 'all'; export const TIMESTAMP_FIELD = '@timestamp'; export const DATA_VIEW_PREFIX = 'infra_metrics'; @@ -21,45 +18,5 @@ export const LOCAL_STORAGE_PAGE_SIZE_KEY = 'hostsView:pageSizeSelection'; export const KPI_CHART_MIN_HEIGHT = 150; export const METRIC_CHART_MIN_HEIGHT = 300; -export const ALL_ALERTS: AlertStatusFilter = { - status: ALERT_STATUS_ALL, - label: i18n.translate('xpack.infra.hostsViewPage.tabs.alerts.alertStatusFilter.showAll', { - defaultMessage: 'Show all', - }), -}; - -export const ACTIVE_ALERTS: AlertStatusFilter = { - status: ALERT_STATUS_ACTIVE, - query: { - term: { - [ALERT_STATUS]: { - value: ALERT_STATUS_ACTIVE, - }, - }, - }, - label: i18n.translate('xpack.infra.hostsViewPage.tabs.alerts.alertStatusFilter.active', { - defaultMessage: 'Active', - }), -}; - -export const RECOVERED_ALERTS: AlertStatusFilter = { - status: ALERT_STATUS_RECOVERED, - query: { - term: { - [ALERT_STATUS]: { - value: ALERT_STATUS_RECOVERED, - }, - }, - }, - label: i18n.translate('xpack.infra.hostsViewPage.tabs.alerts.alertStatusFilter.recovered', { - defaultMessage: 'Recovered', - }), -}; - -export const ALERT_STATUS_QUERY = { - [ACTIVE_ALERTS.status]: ACTIVE_ALERTS.query, - [RECOVERED_ALERTS.status]: RECOVERED_ALERTS.query, -}; - export const HOST_LIMIT_OPTIONS = [10, 20, 50, 100, 500] as const; export const HOST_METRICS_DOC_HREF = 'https://ela.st/docs-infra-host-metrics'; diff --git a/x-pack/plugins/infra/public/pages/metrics/hosts/hooks/use_alerts_query.ts b/x-pack/plugins/infra/public/pages/metrics/hosts/hooks/use_alerts_query.ts index 46ef8c62d3ed7..2cb557e902efc 100644 --- a/x-pack/plugins/infra/public/pages/metrics/hosts/hooks/use_alerts_query.ts +++ b/x-pack/plugins/infra/public/pages/metrics/hosts/hooks/use_alerts_query.ts @@ -6,20 +6,10 @@ */ import { useCallback, useMemo, useState } from 'react'; import createContainer from 'constate'; -import { getTime } from '@kbn/data-plugin/common'; -import { ALERT_TIME_RANGE } from '@kbn/rule-data-utils'; -import { BoolQuery, buildEsQuery, Filter } from '@kbn/es-query'; -import { InfraAssetMetricsItem } from '../../../../../common/http_api'; +import type { AlertStatus } from '@kbn/observability-plugin/common/typings'; +import { createAlertsEsQuery } from '../../../../common/alerts/create_alerts_es_query'; import { useUnifiedSearchContext } from './use_unified_search'; -import { HostsState } from './use_unified_search_url_state'; import { useHostsViewContext } from './use_hosts_view'; -import { AlertStatus } from '../types'; -import { ALERT_STATUS_QUERY } from '../constants'; -import { buildCombinedHostsFilter } from '../../../../utils/filters/build'; - -export interface AlertsEsQuery { - bool: BoolQuery; -} export const useAlertsQueryImpl = () => { const { hostNodes } = useHostsViewContext(); @@ -28,10 +18,12 @@ export const useAlertsQueryImpl = () => { const [alertStatus, setAlertStatus] = useState('all'); + const hostNodeNames = useMemo(() => hostNodes.map((n) => n.name), [hostNodes]); + const getAlertsEsQuery = useCallback( (status?: AlertStatus) => - createAlertsEsQuery({ dateRange: searchCriteria.dateRange, hostNodes, status }), - [hostNodes, searchCriteria.dateRange] + createAlertsEsQuery({ dateRange: searchCriteria.dateRange, hostNodeNames, status }), + [hostNodeNames, searchCriteria.dateRange] ); // Regenerate the query when status change even if is not used. @@ -53,34 +45,3 @@ export const useAlertsQueryImpl = () => { export const AlertsQueryContainer = createContainer(useAlertsQueryImpl); export const [AlertsQueryProvider, useAlertsQuery] = AlertsQueryContainer; - -/** - * Helpers - */ -const createAlertsEsQuery = ({ - dateRange, - hostNodes, - status, -}: { - dateRange: HostsState['dateRange']; - hostNodes: InfraAssetMetricsItem[]; - status?: AlertStatus; -}): AlertsEsQuery => { - const alertStatusFilter = createAlertStatusFilter(status); - - const dateFilter = createDateFilter(dateRange); - const hostsFilter = buildCombinedHostsFilter({ - field: 'host.name', - values: hostNodes.map((p) => p.name), - }); - - const filters = [alertStatusFilter, dateFilter, hostsFilter].filter(Boolean) as Filter[]; - - return buildEsQuery(undefined, [], filters); -}; - -const createDateFilter = (date: HostsState['dateRange']) => - getTime(undefined, date, { fieldName: ALERT_TIME_RANGE }); - -const createAlertStatusFilter = (status: AlertStatus = 'all'): Filter | null => - ALERT_STATUS_QUERY[status] ? { query: ALERT_STATUS_QUERY[status], meta: {} } : null; diff --git a/x-pack/plugins/infra/public/pages/metrics/hosts/types.ts b/x-pack/plugins/infra/public/pages/metrics/hosts/types.ts index 080b47f54d4da..6d6b6214e00bd 100644 --- a/x-pack/plugins/infra/public/pages/metrics/hosts/types.ts +++ b/x-pack/plugins/infra/public/pages/metrics/hosts/types.ts @@ -4,20 +4,6 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ - -import { Filter } from '@kbn/es-query'; -import { ALERT_STATUS_ACTIVE, ALERT_STATUS_RECOVERED } from '@kbn/rule-data-utils'; -import { ALERT_STATUS_ALL, HOST_LIMIT_OPTIONS } from './constants'; - -export type AlertStatus = - | typeof ALERT_STATUS_ACTIVE - | typeof ALERT_STATUS_RECOVERED - | typeof ALERT_STATUS_ALL; - -export interface AlertStatusFilter { - status: AlertStatus; - query?: Filter['query']; - label: string; -} +import { HOST_LIMIT_OPTIONS } from './constants'; export type HostLimitOptions = typeof HOST_LIMIT_OPTIONS[number]; diff --git a/x-pack/plugins/infra/server/lib/alerting/metric_threshold/metric_threshold_executor.test.ts b/x-pack/plugins/infra/server/lib/alerting/metric_threshold/metric_threshold_executor.test.ts index 0f3559be27c68..1a72feeba0913 100644 --- a/x-pack/plugins/infra/server/lib/alerting/metric_threshold/metric_threshold_executor.test.ts +++ b/x-pack/plugins/infra/server/lib/alerting/metric_threshold/metric_threshold_executor.test.ts @@ -1901,6 +1901,7 @@ const createMockStaticConfiguration = (sources: any): InfraConfig => ({ logs: { app_target: 'logs-ui', }, + enabled: true, sources, }); diff --git a/x-pack/plugins/infra/server/lib/sources/sources.test.ts b/x-pack/plugins/infra/server/lib/sources/sources.test.ts index a8d78d1ba09f1..9f7d5e9bd1be1 100644 --- a/x-pack/plugins/infra/server/lib/sources/sources.test.ts +++ b/x-pack/plugins/infra/server/lib/sources/sources.test.ts @@ -125,6 +125,7 @@ const createMockStaticConfiguration = (sources: any): InfraConfig => ({ app_target: 'logs-ui', }, sources, + enabled: true, }); const createRequestContext = (savedObject?: SavedObject) => { diff --git a/x-pack/plugins/infra/server/plugin.ts b/x-pack/plugins/infra/server/plugin.ts index 07bafb4781e70..3655a65f706d3 100644 --- a/x-pack/plugins/infra/server/plugin.ts +++ b/x-pack/plugins/infra/server/plugin.ts @@ -60,6 +60,7 @@ import { mapSourceToLogView } from './utils/map_source_to_log_view'; export const config: PluginConfigDescriptor = { schema: schema.object({ + enabled: schema.boolean({ defaultValue: true }), // Setting variants only allowed in the Serverless offering, otherwise always default `logs-ui` value logs: schema.conditional( schema.contextRef('serverless'), diff --git a/x-pack/plugins/lens/common/content_management/v1/cm_services.ts b/x-pack/plugins/lens/common/content_management/v1/cm_services.ts index c0e09f5041110..22e1af6272978 100644 --- a/x-pack/plugins/lens/common/content_management/v1/cm_services.ts +++ b/x-pack/plugins/lens/common/content_management/v1/cm_services.ts @@ -28,7 +28,7 @@ const referencesSchema = schema.arrayOf(referenceSchema); const lensAttributesSchema = schema.object( { title: schema.string(), - description: schema.maybe(schema.string()), + description: schema.maybe(schema.nullable(schema.string())), visualizationType: schema.maybe(schema.string()), state: schema.maybe(schema.any()), uiStateJSON: schema.maybe(schema.string()), diff --git a/x-pack/plugins/license_management/server/config.ts b/x-pack/plugins/license_management/server/config.ts index 23449bc19e793..f413335cc23ef 100644 --- a/x-pack/plugins/license_management/server/config.ts +++ b/x-pack/plugins/license_management/server/config.ts @@ -26,7 +26,14 @@ const schemaLatest = schema.object( * Disables the plugin. * Added back in 8.8. */ - enabled: schema.boolean({ defaultValue: true }), + enabled: schema.conditional( + schema.contextRef('serverless'), + true, + // License Management is disabled in serverless; refer to the serverless.yml file as the source of truth + // We take this approach in order to have a central place (serverless.yml) to view disabled plugins across Kibana + schema.boolean({ defaultValue: true }), + schema.never() + ), }, { defaultValue: undefined } ); diff --git a/x-pack/plugins/maps/common/content_management/v1/cm_services.ts b/x-pack/plugins/maps/common/content_management/v1/cm_services.ts index 65d2e3082da7d..ba849479776d5 100644 --- a/x-pack/plugins/maps/common/content_management/v1/cm_services.ts +++ b/x-pack/plugins/maps/common/content_management/v1/cm_services.ts @@ -16,7 +16,7 @@ import { const mapAttributesSchema = schema.object( { title: schema.string(), - description: schema.maybe(schema.string()), + description: schema.maybe(schema.nullable(schema.string())), mapStateJSON: schema.maybe(schema.string()), layerListJSON: schema.maybe(schema.string()), uiStateJSON: schema.maybe(schema.string()), diff --git a/x-pack/plugins/maps/public/connected_components/add_layer_panel/index.ts b/x-pack/plugins/maps/public/connected_components/add_layer_panel/index.ts index 2bb6eaeadf156..5df89b9d40d9f 100644 --- a/x-pack/plugins/maps/public/connected_components/add_layer_panel/index.ts +++ b/x-pack/plugins/maps/public/connected_components/add_layer_panel/index.ts @@ -22,14 +22,13 @@ import { } from '../../actions'; import { MapStoreState } from '../../reducers/store'; import { LayerDescriptor } from '../../../common/descriptor_types'; -import { hasPreviewLayers, isLoadingPreviewLayers } from '../../selectors/map_selectors'; +import { hasPreviewLayers } from '../../selectors/map_selectors'; import { DRAW_MODE } from '../../../common/constants'; import { getAutoOpenLayerWizardId } from '../../selectors/ui_selectors'; function mapStateToProps(state: MapStoreState) { return { hasPreviewLayers: hasPreviewLayers(state), - isLoadingPreviewLayers: isLoadingPreviewLayers(state), autoOpenLayerWizardId: getAutoOpenLayerWizardId(state), }; } diff --git a/x-pack/plugins/maps/public/connected_components/add_layer_panel/view.tsx b/x-pack/plugins/maps/public/connected_components/add_layer_panel/view.tsx index 3e327602dc54d..4a870da997b71 100644 --- a/x-pack/plugins/maps/public/connected_components/add_layer_panel/view.tsx +++ b/x-pack/plugins/maps/public/connected_components/add_layer_panel/view.tsx @@ -47,7 +47,6 @@ export interface Props { addPreviewLayers: (layerDescriptors: LayerDescriptor[]) => void; closeFlyout: () => void; hasPreviewLayers: boolean; - isLoadingPreviewLayers: boolean; addLayersAndClose: () => void; addLayersAndContinue: () => void; enableEditMode: () => void; @@ -179,22 +178,17 @@ export class AddLayerPanel extends Component { return null; } - let isDisabled = !this.state.isNextStepBtnEnabled; - let isLoading = this.state.isStepLoading; - if (this.state.currentStep.id === ADD_LAYER_STEP_ID) { - isDisabled = !this.props.hasPreviewLayers; - isLoading = this.props.isLoadingPreviewLayers; - } else { - isDisabled = !this.state.isNextStepBtnEnabled; - isLoading = this.state.isStepLoading; - } + const isDisabled = + this.state.currentStep.id === ADD_LAYER_STEP_ID + ? !this.props.hasPreviewLayers + : !this.state.isNextStepBtnEnabled; const nextButton = ( { {this.state.currentStep.renderSecondaryActionButton({ isDisabled, - isLoading, + isLoading: this.state.isStepLoading, addLayersAndClose: this.props.addLayersAndClose, })} diff --git a/x-pack/plugins/maps/public/selectors/map_selectors.ts b/x-pack/plugins/maps/public/selectors/map_selectors.ts index 4c49ba38eb707..ece75684ce7b9 100644 --- a/x-pack/plugins/maps/public/selectors/map_selectors.ts +++ b/x-pack/plugins/maps/public/selectors/map_selectors.ts @@ -386,16 +386,6 @@ export const hasPreviewLayers = createSelector(getLayerList, (layerList) => { }); }); -export const isLoadingPreviewLayers = createSelector( - getLayerList, - getMapZoom, - (layerList, zoom) => { - return layerList.some((layer) => { - return layer.isPreviewLayer() && layer.isLayerLoading(zoom); - }); - } -); - export const getMapColors = createSelector(getLayerListRaw, (layerList) => layerList .filter((layerDescriptor) => { diff --git a/x-pack/plugins/observability/common/field_names/infra_metrics.ts b/x-pack/plugins/observability/common/field_names/infra_metrics.ts deleted file mode 100644 index 52d6d5d72f151..0000000000000 --- a/x-pack/plugins/observability/common/field_names/infra_metrics.ts +++ /dev/null @@ -1,14 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -export const SYSTEM_CPU_PERCENTAGE_FIELD = 'system.cpu.total.norm.pct'; -export const SYSTEM_MEMORY_PERCENTAGE_FIELD = 'system.memory.used.pct'; -export const DOCKER_CPU_PERCENTAGE_FIELD = 'docker.cpu.total.pct'; -export const K8S_POD_CPU_PERCENTAGE_FIELD = 'kubernetes.pod.cpu.usage.node.pct'; - -export const SLO_ID_FIELD = 'slo.id'; -export const SLO_REVISION_FIELD = 'slo.revision'; diff --git a/x-pack/plugins/observability/common/field_names/infra_logs.ts b/x-pack/plugins/observability/common/field_names/slo.ts similarity index 69% rename from x-pack/plugins/observability/common/field_names/infra_logs.ts rename to x-pack/plugins/observability/common/field_names/slo.ts index 4e81264fd7fbd..24e94f5db91c8 100644 --- a/x-pack/plugins/observability/common/field_names/infra_logs.ts +++ b/x-pack/plugins/observability/common/field_names/slo.ts @@ -5,6 +5,5 @@ * 2.0. */ -import { DOCUMENT_FIELD_NAME } from '@kbn/lens-plugin/common'; - -export const LOG_RATE = DOCUMENT_FIELD_NAME; +export const SLO_ID_FIELD = 'slo.id'; +export const SLO_REVISION_FIELD = 'slo.revision'; diff --git a/x-pack/plugins/observability/common/field_names/synthetics.ts b/x-pack/plugins/observability/common/field_names/synthetics.ts deleted file mode 100644 index 003be106ffaaa..0000000000000 --- a/x-pack/plugins/observability/common/field_names/synthetics.ts +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -export const MONITOR_DURATION_US = 'monitor.duration.us'; -export const SYNTHETICS_CLS = 'browser.experience.cls'; -export const SYNTHETICS_LCP = 'browser.experience.lcp.us'; -export const SYNTHETICS_FCP = 'browser.experience.fcp.us'; -export const SYNTHETICS_DOCUMENT_ONLOAD = 'browser.experience.load.us'; -export const SYNTHETICS_DCL = 'browser.experience.dcl.us'; -export const SYNTHETICS_STEP_NAME = 'synthetics.step.name.keyword'; -export const SYNTHETICS_STEP_DURATION = 'synthetics.step.duration.us'; - -export const SYNTHETICS_DNS_TIMINGS = 'synthetics.payload.timings.dns'; -export const SYNTHETICS_SSL_TIMINGS = 'synthetics.payload.timings.ssl'; -export const SYNTHETICS_BLOCKED_TIMINGS = 'synthetics.payload.timings.blocked'; -export const SYNTHETICS_CONNECT_TIMINGS = 'synthetics.payload.timings.connect'; -export const SYNTHETICS_RECEIVE_TIMINGS = 'synthetics.payload.timings.receive'; -export const SYNTHETICS_SEND_TIMINGS = 'synthetics.payload.timings.send'; -export const SYNTHETICS_WAIT_TIMINGS = 'synthetics.payload.timings.wait'; -export const SYNTHETICS_TOTAL_TIMINGS = 'synthetics.payload.timings.total'; - -export const NETWORK_TIMINGS_FIELDS = [ - SYNTHETICS_DNS_TIMINGS, - SYNTHETICS_SSL_TIMINGS, - SYNTHETICS_BLOCKED_TIMINGS, - SYNTHETICS_CONNECT_TIMINGS, - SYNTHETICS_RECEIVE_TIMINGS, - SYNTHETICS_SEND_TIMINGS, - SYNTHETICS_WAIT_TIMINGS, - SYNTHETICS_TOTAL_TIMINGS, -]; diff --git a/x-pack/plugins/observability/common/index.ts b/x-pack/plugins/observability/common/index.ts index ab921a8c0c544..d71b292803996 100644 --- a/x-pack/plugins/observability/common/index.ts +++ b/x-pack/plugins/observability/common/index.ts @@ -69,17 +69,4 @@ export const sloEditLocatorID = 'SLO_EDIT_LOCATOR'; export type { AlertsLocatorParams } from './locators/alerts'; -export { - NETWORK_TIMINGS_FIELDS, - SYNTHETICS_BLOCKED_TIMINGS, - SYNTHETICS_CONNECT_TIMINGS, - SYNTHETICS_DNS_TIMINGS, - SYNTHETICS_RECEIVE_TIMINGS, - SYNTHETICS_SEND_TIMINGS, - SYNTHETICS_SSL_TIMINGS, - SYNTHETICS_STEP_DURATION, - SYNTHETICS_TOTAL_TIMINGS, - SYNTHETICS_WAIT_TIMINGS, -} from './field_names/synthetics'; - export { CoPilotPromptId, loadCoPilotPrompts } from './co_pilot'; diff --git a/x-pack/plugins/observability/public/hooks/use_summary_time_range.tsx b/x-pack/plugins/observability/public/hooks/use_summary_time_range.tsx new file mode 100644 index 0000000000000..b5edd968f52c8 --- /dev/null +++ b/x-pack/plugins/observability/public/hooks/use_summary_time_range.tsx @@ -0,0 +1,28 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { useMemo } from 'react'; +import type { TimeRange } from '@kbn/es-query'; +import { useUiSetting } from '@kbn/kibana-react-plugin/public'; +import { calculateTimeRangeBucketSize, getAlertSummaryTimeRange, useTimeBuckets } from '..'; +import { DEFAULT_INTERVAL, DEFAULT_DATE_FORMAT } from '../constants'; + +export const useSummaryTimeRange = (unifiedSearchDateRange: TimeRange) => { + const timeBuckets = useTimeBuckets(); + const dateFormat = useUiSetting('dateFormat'); + + const bucketSize = useMemo( + () => calculateTimeRangeBucketSize(unifiedSearchDateRange, timeBuckets), + [unifiedSearchDateRange, timeBuckets] + ); + + return getAlertSummaryTimeRange( + unifiedSearchDateRange, + bucketSize?.intervalString ?? DEFAULT_INTERVAL, + bucketSize?.dateFormat ?? dateFormat ?? DEFAULT_DATE_FORMAT + ); +}; diff --git a/x-pack/plugins/observability/public/index.ts b/x-pack/plugins/observability/public/index.ts index 50b67fc5d0bb0..fabc5914087ff 100644 --- a/x-pack/plugins/observability/public/index.ts +++ b/x-pack/plugins/observability/public/index.ts @@ -70,6 +70,7 @@ export { observabilityFeatureId, observabilityAppId } from '../common'; export { useTimeBuckets } from './hooks/use_time_buckets'; export { createUseRulesLink } from './hooks/create_use_rules_link'; +export { useSummaryTimeRange } from './hooks/use_summary_time_range'; export { getApmTraceUrl } from './utils/get_apm_trace_url'; diff --git a/x-pack/plugins/observability/public/rules/register_observability_rule_types.ts b/x-pack/plugins/observability/public/rules/register_observability_rule_types.ts index b5a2b9c9a0c42..18d2ae5aa998b 100644 --- a/x-pack/plugins/observability/public/rules/register_observability_rule_types.ts +++ b/x-pack/plugins/observability/public/rules/register_observability_rule_types.ts @@ -9,7 +9,7 @@ import { lazy } from 'react'; import { i18n } from '@kbn/i18n'; import { ALERT_REASON } from '@kbn/rule-data-utils'; -import { SLO_ID_FIELD } from '../../common/field_names/infra_metrics'; +import { SLO_ID_FIELD } from '../../common/field_names/slo'; import { ConfigSchema } from '../plugin'; import { ObservabilityRuleTypeRegistry } from './create_observability_rule_type_registry'; import { diff --git a/x-pack/plugins/observability/server/lib/rules/slo_burn_rate/executor.test.ts b/x-pack/plugins/observability/server/lib/rules/slo_burn_rate/executor.test.ts index 6a61c40bfe0a8..745734ca42a6e 100644 --- a/x-pack/plugins/observability/server/lib/rules/slo_burn_rate/executor.test.ts +++ b/x-pack/plugins/observability/server/lib/rules/slo_burn_rate/executor.test.ts @@ -44,7 +44,7 @@ import { BurnRateRuleParams, AlertStates, } from './types'; -import { SLO_ID_FIELD, SLO_REVISION_FIELD } from '../../../../common/field_names/infra_metrics'; +import { SLO_ID_FIELD, SLO_REVISION_FIELD } from '../../../../common/field_names/slo'; import { SLONotFound } from '../../../errors'; import { SO_SLO_TYPE } from '../../../saved_objects'; import { sloSchema } from '@kbn/slo-schema'; diff --git a/x-pack/plugins/observability/server/lib/rules/slo_burn_rate/executor.ts b/x-pack/plugins/observability/server/lib/rules/slo_burn_rate/executor.ts index 89dc0fbcf99e8..63e3a4e727598 100644 --- a/x-pack/plugins/observability/server/lib/rules/slo_burn_rate/executor.ts +++ b/x-pack/plugins/observability/server/lib/rules/slo_burn_rate/executor.ts @@ -20,7 +20,7 @@ import { LocatorPublic } from '@kbn/share-plugin/common'; import { memoize, last, upperCase } from 'lodash'; import { addSpaceIdToPath } from '@kbn/spaces-plugin/server'; import { AlertsLocatorParams, getAlertUrl } from '../../../../common'; -import { SLO_ID_FIELD, SLO_REVISION_FIELD } from '../../../../common/field_names/infra_metrics'; +import { SLO_ID_FIELD, SLO_REVISION_FIELD } from '../../../../common/field_names/slo'; import { Duration, SLO, toDurationUnit } from '../../../domain/models'; import { DefaultSLIClient, KibanaSavedObjectsSLORepository } from '../../../services/slo'; import { computeBurnRate } from '../../../domain/services'; diff --git a/x-pack/plugins/observability/server/lib/rules/slo_burn_rate/field_map.ts b/x-pack/plugins/observability/server/lib/rules/slo_burn_rate/field_map.ts index eaff284654155..d62cf74c0a356 100644 --- a/x-pack/plugins/observability/server/lib/rules/slo_burn_rate/field_map.ts +++ b/x-pack/plugins/observability/server/lib/rules/slo_burn_rate/field_map.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { SLO_ID_FIELD, SLO_REVISION_FIELD } from '../../../../common/field_names/infra_metrics'; +import { SLO_ID_FIELD, SLO_REVISION_FIELD } from '../../../../common/field_names/slo'; export const sloRuleFieldMap = { [SLO_ID_FIELD]: { diff --git a/x-pack/plugins/observability/server/routes/copilot/route.ts b/x-pack/plugins/observability/server/routes/copilot/route.ts index 13606616bdc96..d3e6c0213162c 100644 --- a/x-pack/plugins/observability/server/routes/copilot/route.ts +++ b/x-pack/plugins/observability/server/routes/copilot/route.ts @@ -92,7 +92,11 @@ const trackRoute = createObservabilityServerRoute({ handler: async (resources): Promise => { const { params, config } = resources; - if (!config.aiAssistant?.enabled) { + if ( + !config.aiAssistant?.enabled || + !config.aiAssistant.feedback.enabled || + !config.aiAssistant.feedback.url + ) { throw Boom.notImplemented(); } diff --git a/x-pack/plugins/observability/server/services/openai/config.ts b/x-pack/plugins/observability/server/services/openai/config.ts index 88a9060b71386..a54f61cb9f46f 100644 --- a/x-pack/plugins/observability/server/services/openai/config.ts +++ b/x-pack/plugins/observability/server/services/openai/config.ts @@ -26,9 +26,7 @@ export const observabilityCoPilotConfig = schema.object({ enabled: schema.boolean({ defaultValue: false }), feedback: schema.object({ enabled: schema.boolean({ defaultValue: false }), - url: schema.string({ - defaultValue: `https://0d0uj24psl.execute-api.us-east-1.amazonaws.com/gaifeedback`, - }), + url: schema.maybe(schema.string()), }), provider: schema.oneOf([openAIConfig, azureOpenAIConfig]), }); diff --git a/x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts b/x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts similarity index 100% rename from x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts rename to x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts diff --git a/x-pack/plugins/exploratory_view/common/field_names/synthetics.ts b/x-pack/plugins/observability_shared/common/field_names/synthetics.ts similarity index 100% rename from x-pack/plugins/exploratory_view/common/field_names/synthetics.ts rename to x-pack/plugins/observability_shared/common/field_names/synthetics.ts diff --git a/x-pack/plugins/observability_shared/common/index.ts b/x-pack/plugins/observability_shared/common/index.ts index 770ce4996bc0d..7ecf64366dbca 100644 --- a/x-pack/plugins/observability_shared/common/index.ts +++ b/x-pack/plugins/observability_shared/common/index.ts @@ -121,7 +121,19 @@ export { PROFILE_ALLOC_SPACE, PROFILE_INUSE_OBJECTS, PROFILE_INUSE_SPACE, -} from './elasticsearch_fieldnames'; +} from './field_names/elasticsearch'; + +export { + NETWORK_TIMINGS_FIELDS, + SYNTHETICS_BLOCKED_TIMINGS, + SYNTHETICS_CONNECT_TIMINGS, + SYNTHETICS_DNS_TIMINGS, + SYNTHETICS_RECEIVE_TIMINGS, + SYNTHETICS_SEND_TIMINGS, + SYNTHETICS_SSL_TIMINGS, + SYNTHETICS_TOTAL_TIMINGS, + SYNTHETICS_WAIT_TIMINGS, +} from './field_names/synthetics'; export { ObservabilityTriggerId } from './trigger_ids'; export { getInspectResponse } from './utils/get_inspect_response'; diff --git a/x-pack/plugins/osquery/server/search_strategy/osquery/index.ts b/x-pack/plugins/osquery/server/search_strategy/osquery/index.ts index 3083e8c191786..bf7220026f59b 100644 --- a/x-pack/plugins/osquery/server/search_strategy/osquery/index.ts +++ b/x-pack/plugins/osquery/server/search_strategy/osquery/index.ts @@ -39,7 +39,20 @@ export const osquerySearchStrategyProvider = ( }) ).pipe( mergeMap((exists) => { - const dsl = queryFactory.buildDsl({ ...request, componentTemplateExists: exists }); + const strictRequest = { + factoryQueryType: request.factoryQueryType, + filterQuery: request.filterQuery, + ...('aggregations' in request ? { aggregations: request.aggregations } : {}), + ...('pagination' in request ? { pagination: request.pagination } : {}), + ...('sort' in request ? { sort: request.sort } : {}), + ...('actionId' in request ? { actionId: request.actionId } : {}), + ...('agentId' in request ? { agentId: request.agentId } : {}), + }; + + const dsl = queryFactory.buildDsl({ + ...strictRequest, + componentTemplateExists: exists, + } as StrategyRequestType); // use internal user for searching .fleet* indices es = dsl.index?.includes('fleet') || dsl.index?.includes('logs-osquery_manager.action') @@ -48,7 +61,7 @@ export const osquerySearchStrategyProvider = ( return es.search( { - ...request, + ...strictRequest, params: dsl, }, options, diff --git a/x-pack/plugins/remote_clusters/server/config.ts b/x-pack/plugins/remote_clusters/server/config.ts index 4f6c56191cd89..12275985a3aa9 100644 --- a/x-pack/plugins/remote_clusters/server/config.ts +++ b/x-pack/plugins/remote_clusters/server/config.ts @@ -26,7 +26,14 @@ const schemaLatest = schema.object( * Disables the plugin. * Added back in 8.8. */ - enabled: schema.boolean({ defaultValue: true }), + enabled: schema.conditional( + schema.contextRef('serverless'), + true, + // Remote Clusters is disabled in serverless; refer to the serverless.yml file as the source of truth + // We take this approach in order to have a central place (serverless.yml) to view disabled plugins across Kibana + schema.boolean({ defaultValue: true }), + schema.never() + ), }, { defaultValue: undefined } ); diff --git a/x-pack/plugins/rollup/server/config.ts b/x-pack/plugins/rollup/server/config.ts index 953cd4b283f97..c0d5c1fbe92ee 100644 --- a/x-pack/plugins/rollup/server/config.ts +++ b/x-pack/plugins/rollup/server/config.ts @@ -26,7 +26,14 @@ const schemaLatest = schema.object( * Disables the plugin. * Added back in 8.8. */ - enabled: schema.boolean({ defaultValue: true }), + enabled: schema.conditional( + schema.contextRef('serverless'), + true, + // Rollups is disabled in serverless; refer to the serverless.yml file as the source of truth + // We take this approach in order to have a central place (serverless.yml) to view disabled plugins across Kibana + schema.boolean({ defaultValue: true }), + schema.never() + ), }, { defaultValue: undefined } ); diff --git a/x-pack/plugins/security_solution/cypress/e2e/explore/dashboards/entity_analytics.cy.ts b/x-pack/plugins/security_solution/cypress/e2e/explore/dashboards/entity_analytics.cy.ts index a8d2146e4433b..4829a8d939331 100644 --- a/x-pack/plugins/security_solution/cypress/e2e/explore/dashboards/entity_analytics.cy.ts +++ b/x-pack/plugins/security_solution/cypress/e2e/explore/dashboards/entity_analytics.cy.ts @@ -10,7 +10,12 @@ import { login, visit } from '../../../tasks/login'; import { ALERTS_URL, ENTITY_ANALYTICS_URL } from '../../../urls/navigation'; import { esArchiverLoad, esArchiverUnload } from '../../../tasks/es_archiver'; -import { cleanKibana, deleteAlertsAndRules } from '../../../tasks/common'; +import { + cleanKibana, + deleteAlertsAndRules, + waitForPageToBeLoaded, + waitForTableToLoad, +} from '../../../tasks/common'; import { ANOMALIES_TABLE, ANOMALIES_TABLE_ROWS, @@ -313,11 +318,15 @@ describe('Entity Analytics Dashboard', () => { beforeEach(() => { login(); visit(ENTITY_ANALYTICS_URL); + waitForPageToBeLoaded(); }); it('renders table with pagination', () => { cy.get(ANOMALIES_TABLE).should('be.visible'); - cy.get(ANOMALIES_TABLE_ROWS).should('have.length', 10); + waitForTableToLoad(); + + // Increase default timeout because anomalies table takes a while to load + cy.get(ANOMALIES_TABLE_ROWS, { timeout: 20000 }).should('have.length', 10); // navigates to next page cy.get(ANOMALIES_TABLE_NEXT_PAGE_BUTTON).click(); diff --git a/x-pack/plugins/security_solution/cypress/e2e/explore/host_details/risk_tab.cy.ts b/x-pack/plugins/security_solution/cypress/e2e/explore/host_details/risk_tab.cy.ts index 6bcb5cd9532ee..a57d49a602c53 100644 --- a/x-pack/plugins/security_solution/cypress/e2e/explore/host_details/risk_tab.cy.ts +++ b/x-pack/plugins/security_solution/cypress/e2e/explore/host_details/risk_tab.cy.ts @@ -7,7 +7,7 @@ import { login, visitHostDetailsPage } from '../../../tasks/login'; -import { cleanKibana } from '../../../tasks/common'; +import { cleanKibana, waitForTableToLoad } from '../../../tasks/common'; import { esArchiverLoad, esArchiverUnload } from '../../../tasks/es_archiver'; import { TABLE_CELL, TABLE_ROWS } from '../../../screens/alerts_details'; @@ -49,8 +49,3 @@ describe('risk tab', () => { ); }); }); - -export const waitForTableToLoad = () => { - cy.get('.euiBasicTable-loading').should('exist'); - cy.get('.euiBasicTable-loading').should('not.exist'); -}; diff --git a/x-pack/plugins/security_solution/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_right_panel.cy.ts b/x-pack/plugins/security_solution/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_right_panel.cy.ts index fb21d9d5a445d..44a2326aebc8e 100644 --- a/x-pack/plugins/security_solution/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_right_panel.cy.ts +++ b/x-pack/plugins/security_solution/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_right_panel.cy.ts @@ -43,6 +43,7 @@ import { DOCUMENT_DETAILS_FLYOUT_HEADER_RISK_SCORE_VALUE, DOCUMENT_DETAILS_FLYOUT_HEADER_SEVERITY, DOCUMENT_DETAILS_FLYOUT_HEADER_SEVERITY_VALUE, + DOCUMENT_DETAILS_FLYOUT_HEADER_STATUS, DOCUMENT_DETAILS_FLYOUT_HEADER_TITLE, DOCUMENT_DETAILS_FLYOUT_JSON_TAB, DOCUMENT_DETAILS_FLYOUT_OVERVIEW_TAB, @@ -85,6 +86,8 @@ describe( cy.get(DOCUMENT_DETAILS_FLYOUT_HEADER_CHAT_BUTTON).should('be.visible'); + cy.get(DOCUMENT_DETAILS_FLYOUT_HEADER_STATUS).should('be.visible'); + cy.get(DOCUMENT_DETAILS_FLYOUT_HEADER_RISK_SCORE).should('be.visible'); cy.get(DOCUMENT_DETAILS_FLYOUT_HEADER_RISK_SCORE_VALUE) .should('be.visible') diff --git a/x-pack/plugins/security_solution/cypress/screens/expandable_flyout/alert_details_right_panel.ts b/x-pack/plugins/security_solution/cypress/screens/expandable_flyout/alert_details_right_panel.ts index 50de0eb348264..60ebbe7fdd071 100644 --- a/x-pack/plugins/security_solution/cypress/screens/expandable_flyout/alert_details_right_panel.ts +++ b/x-pack/plugins/security_solution/cypress/screens/expandable_flyout/alert_details_right_panel.ts @@ -20,6 +20,7 @@ import { FLYOUT_HEADER_RISK_SCORE_VALUE_TEST_ID, FLYOUT_HEADER_SEVERITY_TITLE_TEST_ID, FLYOUT_HEADER_SEVERITY_VALUE_TEST_ID, + FLYOUT_HEADER_STATUS_BUTTON_TEST_ID, FLYOUT_HEADER_TITLE_TEST_ID, } from '../../../public/flyout/right/components/test_ids'; @@ -42,6 +43,9 @@ export const DOCUMENT_DETAILS_FLYOUT_OVERVIEW_TAB = getDataTestSubjectSelector(OVERVIEW_TAB_TEST_ID); export const DOCUMENT_DETAILS_FLYOUT_TABLE_TAB = getDataTestSubjectSelector(TABLE_TAB_TEST_ID); export const DOCUMENT_DETAILS_FLYOUT_JSON_TAB = getDataTestSubjectSelector(JSON_TAB_TEST_ID); +export const DOCUMENT_DETAILS_FLYOUT_HEADER_STATUS = getDataTestSubjectSelector( + FLYOUT_HEADER_STATUS_BUTTON_TEST_ID +); export const DOCUMENT_DETAILS_FLYOUT_HEADER_RISK_SCORE = getDataTestSubjectSelector( FLYOUT_HEADER_RISK_SCORE_TITLE_TEST_ID ); diff --git a/x-pack/plugins/security_solution/cypress/tasks/common.ts b/x-pack/plugins/security_solution/cypress/tasks/common.ts index 1767b70fe33fe..fc6a7096e1814 100644 --- a/x-pack/plugins/security_solution/cypress/tasks/common.ts +++ b/x-pack/plugins/security_solution/cypress/tasks/common.ts @@ -12,6 +12,7 @@ import { LOADING_INDICATOR, LOADING_INDICATOR_HIDDEN, } from '../screens/security_header'; +import { EUI_BASIC_TABLE_LOADING } from '../screens/common/controls'; const primaryButton = 0; @@ -280,3 +281,8 @@ export const waitForWelcomePanelToBeLoaded = () => { cy.get(KIBANA_LOADING_ICON).should('exist'); cy.get(KIBANA_LOADING_ICON).should('not.exist'); }; + +export const waitForTableToLoad = () => { + cy.get(EUI_BASIC_TABLE_LOADING).should('exist'); + cy.get(EUI_BASIC_TABLE_LOADING).should('not.exist'); +}; diff --git a/x-pack/plugins/security_solution/public/common/components/event_details/overview/__snapshots__/index.test.tsx.snap b/x-pack/plugins/security_solution/public/common/components/event_details/overview/__snapshots__/index.test.tsx.snap index 6ee4557d2ee22..c676809c3c2a5 100644 --- a/x-pack/plugins/security_solution/public/common/components/event_details/overview/__snapshots__/index.test.tsx.snap +++ b/x-pack/plugins/security_solution/public/common/components/event_details/overview/__snapshots__/index.test.tsx.snap @@ -91,6 +91,7 @@ exports[`Event Details Overview Cards renders rows and spacers correctly 1`] = `